@ui5/webcomponents-base 0.0.0-7d5f73b20 → 0.0.0-81513ce21

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 (392) hide show
  1. package/.eslintignore +4 -4
  2. package/.eslintrc.cjs +3 -0
  3. package/.npsrc.json +3 -0
  4. package/CHANGELOG.md +185 -0
  5. package/bundle.esm.js +5 -1
  6. package/config/wdio.conf.cjs +400 -0
  7. package/dist/AssetRegistry.js.map +1 -1
  8. package/dist/Boot.d.ts +4 -3
  9. package/dist/Boot.js +31 -4
  10. package/dist/Boot.js.map +1 -1
  11. package/dist/CSP.js.map +1 -1
  12. package/dist/CustomElementsRegistry.js.map +1 -1
  13. package/dist/CustomElementsScope.js.map +1 -1
  14. package/dist/CustomElementsScopeUtils.js.map +1 -1
  15. package/dist/DOMObserver.js.map +1 -1
  16. package/dist/Device.js +109 -34
  17. package/dist/Device.js.map +1 -1
  18. package/dist/EventProvider.js +1 -1
  19. package/dist/EventProvider.js.map +1 -1
  20. package/dist/FeaturesRegistry.js.map +1 -1
  21. package/dist/FontFace.js.map +1 -1
  22. package/dist/InitialConfiguration.d.ts +6 -1
  23. package/dist/InitialConfiguration.js +11 -2
  24. package/dist/InitialConfiguration.js.map +1 -1
  25. package/dist/Keys.js.map +1 -1
  26. package/dist/ManagedStyles.js.map +1 -1
  27. package/dist/MarkedEvents.js.map +1 -1
  28. package/dist/MediaRange.js.map +1 -1
  29. package/dist/PropertiesFileFormat.js.map +1 -1
  30. package/dist/Render.js.map +1 -1
  31. package/dist/RenderQueue.js.map +1 -1
  32. package/dist/Runtimes.js.map +1 -1
  33. package/dist/StaticArea.d.ts +3 -0
  34. package/dist/StaticArea.js +4 -3
  35. package/dist/StaticArea.js.map +1 -1
  36. package/dist/StaticAreaItem.js.map +1 -1
  37. package/dist/SystemCSSVars.js.map +1 -1
  38. package/dist/Theming.js.map +1 -1
  39. package/dist/UI5Element.d.ts +20 -14
  40. package/dist/UI5Element.js +18 -22
  41. package/dist/UI5Element.js.map +1 -1
  42. package/dist/UI5ElementMetadata.js.map +1 -1
  43. package/dist/animations/AnimationQueue.js.map +1 -1
  44. package/dist/animations/animate.js.map +1 -1
  45. package/dist/animations/scroll.js.map +1 -1
  46. package/dist/animations/slideDown.js.map +1 -1
  47. package/dist/animations/slideUp.js.map +1 -1
  48. package/dist/api.json +1 -1
  49. package/dist/asset-registries/Icons.d.ts +18 -10
  50. package/dist/asset-registries/Icons.js +44 -23
  51. package/dist/asset-registries/Icons.js.map +1 -1
  52. package/dist/asset-registries/Illustrations.d.ts +1 -1
  53. package/dist/asset-registries/Illustrations.js.map +1 -1
  54. package/dist/asset-registries/LocaleData.js.map +1 -1
  55. package/dist/asset-registries/Themes.d.ts +1 -0
  56. package/dist/asset-registries/Themes.js +2 -0
  57. package/dist/asset-registries/Themes.js.map +1 -1
  58. package/dist/asset-registries/i18n.js +9 -3
  59. package/dist/asset-registries/i18n.js.map +1 -1
  60. package/dist/assets/Boot.34b7cea0.css +1 -0
  61. package/dist/assets/Boot.de8032fc.js +9 -0
  62. package/dist/assets/bundle.esm.6ca2666f.js +50 -0
  63. package/dist/assets-meta/IconCollectionsAlias.d.ts +24 -10
  64. package/dist/assets-meta/IconCollectionsAlias.js +29 -9
  65. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -1
  66. package/dist/config/AnimationMode.js.map +1 -1
  67. package/dist/config/CalendarType.js.map +1 -1
  68. package/dist/config/FormatSettings.d.ts +5 -1
  69. package/dist/config/FormatSettings.js +5 -1
  70. package/dist/config/FormatSettings.js.map +1 -1
  71. package/dist/config/Icons.d.ts +43 -18
  72. package/dist/config/Icons.js +81 -26
  73. package/dist/config/Icons.js.map +1 -1
  74. package/dist/config/Language.d.ts +10 -1
  75. package/dist/config/Language.js +13 -1
  76. package/dist/config/Language.js.map +1 -1
  77. package/dist/config/NoConflict.js +1 -0
  78. package/dist/config/NoConflict.js.map +1 -1
  79. package/dist/config/RTL.js +3 -0
  80. package/dist/config/RTL.js.map +1 -1
  81. package/dist/config/Theme.d.ts +15 -5
  82. package/dist/config/Theme.js +25 -6
  83. package/dist/config/Theme.js.map +1 -1
  84. package/dist/config/ThemeRoots.js.map +1 -1
  85. package/dist/config/Timezone.d.ts +17 -0
  86. package/dist/config/Timezone.js +30 -0
  87. package/dist/config/Timezone.js.map +1 -0
  88. package/dist/decorators/customElement.d.ts +17 -2
  89. package/dist/decorators/customElement.js +26 -5
  90. package/dist/decorators/customElement.js.map +1 -1
  91. package/dist/decorators/event.js +6 -6
  92. package/dist/decorators/event.js.map +1 -1
  93. package/dist/decorators/property.js +6 -6
  94. package/dist/decorators/property.js.map +1 -1
  95. package/dist/decorators/slot.js +9 -9
  96. package/dist/decorators/slot.js.map +1 -1
  97. package/dist/delegate/ItemNavigation.js.map +1 -1
  98. package/dist/delegate/ResizeHandler.d.ts +2 -1
  99. package/dist/delegate/ResizeHandler.js +7 -3
  100. package/dist/delegate/ResizeHandler.js.map +1 -1
  101. package/dist/delegate/ScrollEnablement.js.map +1 -1
  102. package/dist/features/F6Navigation.d.ts +3 -0
  103. package/dist/features/F6Navigation.js +77 -38
  104. package/dist/features/F6Navigation.js.map +1 -1
  105. package/dist/features/LegacyDateFormats.d.ts +18 -0
  106. package/dist/features/LegacyDateFormats.js +20 -0
  107. package/dist/features/LegacyDateFormats.js.map +1 -0
  108. package/dist/features/OpenUI5Element.js.map +1 -1
  109. package/dist/features/OpenUI5Enablement.js.map +1 -1
  110. package/dist/features/OpenUI5Support.d.ts +3 -0
  111. package/dist/features/OpenUI5Support.js +2 -0
  112. package/dist/features/OpenUI5Support.js.map +1 -1
  113. package/dist/generated/AssetParameters.js +2 -0
  114. package/dist/generated/VersionInfo.js +3 -3
  115. package/dist/generated/css/BusyIndicator.css.js.map +1 -1
  116. package/dist/generated/css/FontFace.css.js.map +1 -1
  117. package/dist/generated/css/OverrideFontFace.css.js.map +1 -1
  118. package/dist/generated/css/SystemCSSVars.css.js.map +1 -1
  119. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
  120. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +8 -10
  121. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
  122. package/dist/getSharedResource.d.ts +1 -1
  123. package/dist/getSharedResource.js +10 -2
  124. package/dist/getSharedResource.js.map +1 -1
  125. package/dist/global.d.ts +2 -0
  126. package/dist/i18nBundle.js +2 -1
  127. package/dist/i18nBundle.js.map +1 -1
  128. package/dist/locale/Locale.js.map +1 -1
  129. package/dist/locale/RTLAwareRegistry.d.ts +1 -1
  130. package/dist/locale/RTLAwareRegistry.js.map +1 -1
  131. package/dist/locale/applyDirection.js.map +1 -1
  132. package/dist/locale/directionChange.js.map +1 -1
  133. package/dist/locale/getEffectiveDir.js.map +1 -1
  134. package/dist/locale/getLocale.js.map +1 -1
  135. package/dist/locale/languageChange.js.map +1 -1
  136. package/dist/locale/nextFallbackLocale.js.map +1 -1
  137. package/dist/locale/normalizeLocale.js.map +1 -1
  138. package/dist/renderer/LitRenderer.d.ts +3 -3
  139. package/dist/renderer/LitRenderer.js.map +1 -1
  140. package/dist/renderer/executeTemplate.js +1 -1
  141. package/dist/renderer/executeTemplate.js.map +1 -1
  142. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  143. package/dist/theming/CustomStyle.js +7 -5
  144. package/dist/theming/CustomStyle.js.map +1 -1
  145. package/dist/theming/ThemeLoaded.js.map +1 -1
  146. package/dist/theming/ThemeRegistered.d.ts +4 -0
  147. package/dist/theming/ThemeRegistered.js +11 -0
  148. package/dist/theming/ThemeRegistered.js.map +1 -0
  149. package/dist/theming/applyTheme.js.map +1 -1
  150. package/dist/theming/getConstructableStyle.js.map +1 -1
  151. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -1
  152. package/dist/theming/getEffectiveStyle.js.map +1 -1
  153. package/dist/theming/getStylesString.d.ts +1 -1
  154. package/dist/theming/getStylesString.js.map +1 -1
  155. package/dist/theming/getThemeDesignerTheme.js.map +1 -1
  156. package/dist/theming/preloadLinks.js.map +1 -1
  157. package/dist/thirdparty/_merge.js.map +1 -1
  158. package/dist/thirdparty/isPlainObject.js.map +1 -1
  159. package/dist/thirdparty/merge.js.map +1 -1
  160. package/dist/types/AnimationMode.d.ts +1 -1
  161. package/dist/types/AnimationMode.js +1 -1
  162. package/dist/types/AnimationMode.js.map +1 -1
  163. package/dist/types/CSSColor.d.ts +0 -1
  164. package/dist/types/CSSColor.js +0 -1
  165. package/dist/types/CSSColor.js.map +1 -1
  166. package/dist/types/CalendarType.d.ts +1 -1
  167. package/dist/types/CalendarType.js +1 -1
  168. package/dist/types/CalendarType.js.map +1 -1
  169. package/dist/types/DOMReference.js.map +1 -1
  170. package/dist/types/DataType.js.map +1 -1
  171. package/dist/types/Float.d.ts +0 -1
  172. package/dist/types/Float.js +0 -1
  173. package/dist/types/Float.js.map +1 -1
  174. package/dist/types/Integer.d.ts +0 -1
  175. package/dist/types/Integer.js +0 -1
  176. package/dist/types/Integer.js.map +1 -1
  177. package/dist/types/InvisibleMessageMode.d.ts +1 -1
  178. package/dist/types/InvisibleMessageMode.js +1 -1
  179. package/dist/types/InvisibleMessageMode.js.map +1 -1
  180. package/dist/types/ItemNavigationBehavior.d.ts +1 -1
  181. package/dist/types/ItemNavigationBehavior.js +1 -1
  182. package/dist/types/ItemNavigationBehavior.js.map +1 -1
  183. package/dist/types/NavigationMode.d.ts +1 -1
  184. package/dist/types/NavigationMode.js +1 -1
  185. package/dist/types/NavigationMode.js.map +1 -1
  186. package/dist/types/ValueState.d.ts +1 -1
  187. package/dist/types/ValueState.js +1 -1
  188. package/dist/types/ValueState.js.map +1 -1
  189. package/dist/types.d.ts +1 -1
  190. package/dist/types.js.map +1 -1
  191. package/dist/updateShadowRoot.js +11 -4
  192. package/dist/updateShadowRoot.js.map +1 -1
  193. package/dist/util/AriaLabelHelper.d.ts +10 -1
  194. package/dist/util/AriaLabelHelper.js +135 -8
  195. package/dist/util/AriaLabelHelper.js.map +1 -1
  196. package/dist/util/Caret.js.map +1 -1
  197. package/dist/util/ColorConversion.js.map +1 -1
  198. package/dist/util/FetchHelper.js.map +1 -1
  199. package/dist/util/FocusableElements.js +4 -3
  200. package/dist/util/FocusableElements.js.map +1 -1
  201. package/dist/util/HTMLSanitizer.js.map +1 -1
  202. package/dist/util/InvisibleMessage.js.map +1 -1
  203. package/dist/util/PopupUtils.js.map +1 -1
  204. package/dist/util/SlotsHelper.js.map +1 -1
  205. package/dist/util/StringHelper.js.map +1 -1
  206. package/dist/util/TabbableElements.js.map +1 -1
  207. package/dist/util/arraysAreEqual.js.map +1 -1
  208. package/dist/util/clamp.js.map +1 -1
  209. package/dist/util/createLinkInHead.js.map +1 -1
  210. package/dist/util/createStyleInHead.js.map +1 -1
  211. package/dist/util/debounce.js.map +1 -1
  212. package/dist/util/detectNavigatorLanguage.js.map +1 -1
  213. package/dist/util/escapeRegex.js.map +1 -1
  214. package/dist/util/formatMessage.js.map +1 -1
  215. package/dist/util/generateHighlightedMarkup.js.map +1 -1
  216. package/dist/util/getActiveElement.js.map +1 -1
  217. package/dist/util/getClassCopy.d.ts +9 -9
  218. package/dist/util/getClassCopy.js.map +1 -1
  219. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -1
  220. package/dist/util/getEffectiveContentDensity.js.map +1 -1
  221. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -1
  222. package/dist/util/getFastNavigationGroups.js.map +1 -1
  223. package/dist/util/getFileExtension.js.map +1 -1
  224. package/dist/util/getNormalizedTarget.js.map +1 -1
  225. package/dist/util/getSingletonElementInstance.js.map +1 -1
  226. package/dist/util/isElementClickable.js.map +1 -1
  227. package/dist/util/isElementHidden.js.map +1 -1
  228. package/dist/util/isElementInView.js.map +1 -1
  229. package/dist/util/isElementTabbable.js.map +1 -1
  230. package/dist/util/isValidPropertyName.js.map +1 -1
  231. package/dist/util/whenDOMReady.js.map +1 -1
  232. package/dist/util/willShowContent.js.map +1 -1
  233. package/dist/validateThemeRoot.js +14 -13
  234. package/dist/validateThemeRoot.js.map +1 -1
  235. package/index.js +227 -1
  236. package/lib/generate-asset-parameters/index.js +4 -2
  237. package/lib/generate-styles/index.js +3 -3
  238. package/lib/generate-version-info/index.js +1 -1
  239. package/{package-scripts.js → package-scripts.cjs} +9 -5
  240. package/package.json +5 -4
  241. package/tsconfig.json +3 -1
  242. package/config/wdio.conf.js +0 -1
  243. package/dist/assets/bundle.esm.5c683084.js +0 -56
  244. package/dist/decorators/fastNavigation.d.ts +0 -7
  245. package/dist/decorators/fastNavigation.js +0 -13
  246. package/dist/decorators/fastNavigation.js.map +0 -1
  247. package/dist/decorators/languageAware.d.ts +0 -7
  248. package/dist/decorators/languageAware.js +0 -13
  249. package/dist/decorators/languageAware.js.map +0 -1
  250. package/dist/decorators/themeAware.d.ts +0 -7
  251. package/dist/decorators/themeAware.js +0 -13
  252. package/dist/decorators/themeAware.js.map +0 -1
  253. package/src/AssetRegistry.ts +0 -11
  254. package/src/Boot.ts +0 -61
  255. package/src/CSP.ts +0 -66
  256. package/src/CustomElementsRegistry.ts +0 -98
  257. package/src/CustomElementsScope.ts +0 -33
  258. package/src/CustomElementsScopeUtils.ts +0 -115
  259. package/src/DOMObserver.ts +0 -28
  260. package/src/Device.ts +0 -124
  261. package/src/EventProvider.ts +0 -87
  262. package/src/FeaturesRegistry.ts +0 -14
  263. package/src/FontFace.ts +0 -31
  264. package/src/InitialConfiguration.ts +0 -207
  265. package/src/Keys.ts +0 -295
  266. package/src/ManagedStyles.ts +0 -92
  267. package/src/MarkedEvents.ts +0 -20
  268. package/src/MediaRange.ts +0 -110
  269. package/src/PropertiesFileFormat.ts +0 -95
  270. package/src/Render.ts +0 -180
  271. package/src/RenderQueue.ts +0 -71
  272. package/src/Runtimes.ts +0 -114
  273. package/src/StaticArea.ts +0 -3
  274. package/src/StaticAreaItem.ts +0 -113
  275. package/src/SystemCSSVars.ts +0 -10
  276. package/src/Theming.ts +0 -4
  277. package/src/UI5Element.ts +0 -1156
  278. package/src/UI5ElementMetadata.ts +0 -389
  279. package/src/animations/AnimationQueue.ts +0 -43
  280. package/src/animations/animate.ts +0 -64
  281. package/src/animations/scroll.ts +0 -21
  282. package/src/animations/slideDown.ts +0 -72
  283. package/src/animations/slideUp.ts +0 -67
  284. package/src/asset-registries/Icons.ts +0 -162
  285. package/src/asset-registries/Illustrations.ts +0 -75
  286. package/src/asset-registries/LocaleData.ts +0 -172
  287. package/src/asset-registries/Themes.ts +0 -67
  288. package/src/asset-registries/i18n.ts +0 -118
  289. package/src/assets-meta/IconCollectionsAlias.ts +0 -18
  290. package/src/config/AnimationMode.ts +0 -33
  291. package/src/config/CalendarType.ts +0 -23
  292. package/src/config/FormatSettings.ts +0 -21
  293. package/src/config/Icons.ts +0 -59
  294. package/src/config/Language.ts +0 -72
  295. package/src/config/NoConflict.ts +0 -67
  296. package/src/config/RTL.ts +0 -41
  297. package/src/config/Theme.ts +0 -64
  298. package/src/config/ThemeRoots.ts +0 -41
  299. package/src/decorators/customElement.ts +0 -17
  300. package/src/decorators/event.ts +0 -28
  301. package/src/decorators/fastNavigation.ts +0 -14
  302. package/src/decorators/languageAware.ts +0 -14
  303. package/src/decorators/property.ts +0 -30
  304. package/src/decorators/slot.ts +0 -49
  305. package/src/decorators/themeAware.ts +0 -14
  306. package/src/delegate/ItemNavigation.ts +0 -393
  307. package/src/delegate/ResizeHandler.ts +0 -95
  308. package/src/delegate/ScrollEnablement.ts +0 -224
  309. package/src/features/F6Navigation.ts +0 -141
  310. package/src/features/OpenUI5Element.ts +0 -11
  311. package/src/features/OpenUI5Enablement.ts +0 -117
  312. package/src/features/OpenUI5Support.ts +0 -148
  313. package/src/generated/css/BusyIndicator.css.ts +0 -9
  314. package/src/generated/css/FontFace.css.ts +0 -9
  315. package/src/generated/css/OverrideFontFace.css.ts +0 -9
  316. package/src/generated/css/SystemCSSVars.css.ts +0 -9
  317. package/src/getSharedResource.ts +0 -30
  318. package/src/global.d.ts +0 -38
  319. package/src/i18nBundle.ts +0 -108
  320. package/src/locale/Locale.ts +0 -101
  321. package/src/locale/RTLAwareRegistry.ts +0 -16
  322. package/src/locale/applyDirection.ts +0 -18
  323. package/src/locale/directionChange.ts +0 -34
  324. package/src/locale/getEffectiveDir.ts +0 -28
  325. package/src/locale/getLocale.ts +0 -46
  326. package/src/locale/languageChange.ts +0 -24
  327. package/src/locale/nextFallbackLocale.ts +0 -28
  328. package/src/locale/normalizeLocale.ts +0 -56
  329. package/src/renderer/LitRenderer.ts +0 -60
  330. package/src/renderer/executeTemplate.ts +0 -40
  331. package/src/theming/CustomStyle.ts +0 -62
  332. package/src/theming/ThemeLoaded.ts +0 -24
  333. package/src/theming/applyTheme.ts +0 -90
  334. package/src/theming/getConstructableStyle.ts +0 -31
  335. package/src/theming/getEffectiveLinksHrefs.ts +0 -26
  336. package/src/theming/getEffectiveStyle.ts +0 -41
  337. package/src/theming/getStylesString.ts +0 -15
  338. package/src/theming/getThemeDesignerTheme.ts +0 -101
  339. package/src/theming/preloadLinks.ts +0 -24
  340. package/src/thirdparty/_merge.ts +0 -32
  341. package/src/thirdparty/isPlainObject.ts +0 -18
  342. package/src/thirdparty/merge.ts +0 -5
  343. package/src/types/AnimationMode.ts +0 -33
  344. package/src/types/CSSColor.ts +0 -20
  345. package/src/types/CalendarType.ts +0 -38
  346. package/src/types/DOMReference.ts +0 -28
  347. package/src/types/DataType.ts +0 -51
  348. package/src/types/Float.ts +0 -25
  349. package/src/types/Integer.ts +0 -25
  350. package/src/types/InvisibleMessageMode.ts +0 -27
  351. package/src/types/ItemNavigationBehavior.ts +0 -26
  352. package/src/types/NavigationMode.ts +0 -33
  353. package/src/types/ValueState.ts +0 -47
  354. package/src/types.ts +0 -30
  355. package/src/updateShadowRoot.ts +0 -37
  356. package/src/util/AriaLabelHelper.ts +0 -63
  357. package/src/util/Caret.ts +0 -28
  358. package/src/util/ColorConversion.ts +0 -399
  359. package/src/util/FetchHelper.ts +0 -31
  360. package/src/util/FocusableElements.ts +0 -92
  361. package/src/util/HTMLSanitizer.ts +0 -9
  362. package/src/util/InvisibleMessage.ts +0 -69
  363. package/src/util/PopupUtils.ts +0 -112
  364. package/src/util/SlotsHelper.ts +0 -39
  365. package/src/util/StringHelper.ts +0 -26
  366. package/src/util/TabbableElements.ts +0 -70
  367. package/src/util/arraysAreEqual.ts +0 -15
  368. package/src/util/clamp.ts +0 -12
  369. package/src/util/createLinkInHead.ts +0 -25
  370. package/src/util/createStyleInHead.ts +0 -20
  371. package/src/util/debounce.ts +0 -18
  372. package/src/util/detectNavigatorLanguage.ts +0 -13
  373. package/src/util/escapeRegex.ts +0 -11
  374. package/src/util/formatMessage.ts +0 -24
  375. package/src/util/generateHighlightedMarkup.ts +0 -43
  376. package/src/util/getActiveElement.ts +0 -11
  377. package/src/util/getClassCopy.ts +0 -12
  378. package/src/util/getDesigntimePropertyAsArray.ts +0 -4
  379. package/src/util/getEffectiveContentDensity.ts +0 -5
  380. package/src/util/getEffectiveScrollbarStyle.ts +0 -5
  381. package/src/util/getFastNavigationGroups.ts +0 -63
  382. package/src/util/getFileExtension.ts +0 -21
  383. package/src/util/getNormalizedTarget.ts +0 -16
  384. package/src/util/getSingletonElementInstance.ts +0 -13
  385. package/src/util/isElementClickable.ts +0 -19
  386. package/src/util/isElementHidden.ts +0 -9
  387. package/src/util/isElementInView.ts +0 -15
  388. package/src/util/isElementTabbable.ts +0 -37
  389. package/src/util/isValidPropertyName.ts +0 -29
  390. package/src/util/whenDOMReady.ts +0 -13
  391. package/src/util/willShowContent.ts +0 -7
  392. package/src/validateThemeRoot.ts +0 -58
@@ -1,58 +0,0 @@
1
- const getMetaTagValue = (metaTagName: string) => {
2
- const metaTag = document.querySelector(`META[name="${metaTagName}"]`),
3
- metaTagContent = metaTag && metaTag.getAttribute("content");
4
-
5
- return metaTagContent;
6
- };
7
-
8
- const validateThemeOrigin = (origin: string) => {
9
- const allowedOrigins = getMetaTagValue("sap-allowedThemeOrigins");
10
-
11
- return allowedOrigins && allowedOrigins.split(",").some(allowedOrigin => {
12
- return allowedOrigin === "*" || origin === allowedOrigin.trim();
13
- });
14
- };
15
-
16
- const buildCorrectUrl = (oldUrl: string, newOrigin: string) => {
17
- const oldUrlPath = new URL(oldUrl).pathname;
18
-
19
- return new URL(oldUrlPath, newOrigin).toString();
20
- };
21
-
22
- const validateThemeRoot = (themeRoot: string) => {
23
- let themeRootURL,
24
- resultUrl;
25
-
26
- try {
27
- themeRootURL = new URL(themeRoot);
28
-
29
- const origin = themeRootURL.origin;
30
-
31
- themeRootURL = themeRootURL.toString();
32
-
33
- if (themeRootURL.startsWith(".") || themeRootURL.startsWith("/")) {
34
- // Handle relative url
35
- // new URL("/newExmPath", "http://example.com/exmPath") => http://example.com/newExmPath
36
- // new URL("./newExmPath", "http://example.com/exmPath") => http://example.com/exmPath/newExmPath
37
- // new URL("../newExmPath", "http://example.com/exmPath") => http://example.com/newExmPath
38
- resultUrl = new URL(themeRootURL, window.location.href).toString();
39
- } else if (origin && validateThemeOrigin(origin)) {
40
- // If origin is allowed, use it
41
- resultUrl = themeRootURL.toString();
42
- } else {
43
- // If origin is not allow and the URL is not relative, we have to replace the origin
44
- // with current location
45
- resultUrl = buildCorrectUrl(themeRootURL, window.location.href);
46
- }
47
-
48
- if (!resultUrl.endsWith("/")) {
49
- resultUrl = `${resultUrl}/`;
50
- }
51
-
52
- return `${resultUrl}UI5/`;
53
- } catch (e) {
54
- // Catch if URL is not correct
55
- }
56
- };
57
-
58
- export default validateThemeRoot;