@ui5/webcomponents-base 0.0.0-e818f286e → 0.0.0-ebd9a4db3

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 (1073) hide show
  1. package/.npsrc.json +3 -0
  2. package/CHANGELOG.md +2143 -0
  3. package/README.md +6 -12
  4. package/cypress/specs/Accessor.cy.tsx +79 -0
  5. package/cypress/specs/Boot.cy.tsx +19 -0
  6. package/cypress/specs/ConfigurationChange.cy.tsx +41 -0
  7. package/cypress/specs/ConfigurationScript.cy.tsx +133 -0
  8. package/cypress/specs/ConfigurationURL.cy.tsx +201 -0
  9. package/cypress/specs/CustomMount.cy.tsx +9 -0
  10. package/cypress/specs/CustomTheme.cy.tsx +36 -0
  11. package/cypress/specs/EventProvider.cy.tsx +59 -0
  12. package/cypress/specs/Events.cy.tsx +28 -0
  13. package/cypress/specs/SystemDOMElements.cy.tsx +8 -0
  14. package/cypress/specs/Theming.cy.tsx +74 -0
  15. package/cypress/specs/UI5ElementInvalidation.cy.tsx +252 -0
  16. package/cypress/specs/UI5ElementLifecycle.cy.tsx +82 -0
  17. package/cypress/specs/UI5ElementListenForChildPropChanges.cy.tsx +83 -0
  18. package/cypress/specs/UI5ElementMetadataExt.cy.tsx +42 -0
  19. package/cypress/specs/UI5ElementPropertyValidation.cy.tsx +16 -0
  20. package/cypress/specs/UI5ElementPropsAndAttrs.cy.tsx +113 -0
  21. package/cypress/specs/UI5ElementShadowDOM.cy.tsx +30 -0
  22. package/cypress/specs/UI5ElementSlots.cy.tsx +136 -0
  23. package/cypress/specs/WithComplexTemplate.cy.tsx +32 -0
  24. package/cypress/specs/i18n_texts.cy.tsx +129 -0
  25. package/cypress/specs/util/FocusableElements.cy.tsx +48 -0
  26. package/cypress/support/commands.ts +39 -0
  27. package/cypress/support/component-index.html +12 -0
  28. package/cypress/support/component.ts +17 -0
  29. package/cypress/tsconfig.json +21 -0
  30. package/cypress.config.js +3 -0
  31. package/dist/.tsbuildinfobuild +1 -0
  32. package/dist/AssetRegistry.d.ts +5 -0
  33. package/dist/AssetRegistry.js +3 -8
  34. package/dist/AssetRegistry.js.map +1 -0
  35. package/dist/Boot.d.ts +10 -0
  36. package/dist/Boot.js +60 -44
  37. package/dist/Boot.js.map +1 -0
  38. package/dist/CustomElementsRegistry.d.ts +6 -0
  39. package/dist/CustomElementsRegistry.js +69 -83
  40. package/dist/CustomElementsRegistry.js.map +1 -0
  41. package/dist/CustomElementsScope.d.ts +7 -0
  42. package/dist/CustomElementsScope.js +10 -29
  43. package/dist/CustomElementsScope.js.map +1 -0
  44. package/dist/CustomElementsScopeUtils.d.ts +64 -0
  45. package/dist/CustomElementsScopeUtils.js +53 -52
  46. package/dist/CustomElementsScopeUtils.js.map +1 -0
  47. package/dist/DOMObserver.d.ts +11 -0
  48. package/dist/DOMObserver.js +12 -54
  49. package/dist/DOMObserver.js.map +1 -0
  50. package/dist/Device.d.ts +27 -0
  51. package/dist/Device.js +150 -100
  52. package/dist/Device.js.map +1 -0
  53. package/dist/EventProvider.d.ts +25 -0
  54. package/dist/EventProvider.js +67 -82
  55. package/dist/EventProvider.js.map +1 -0
  56. package/dist/FeaturesRegistry.d.ts +3 -0
  57. package/dist/FeaturesRegistry.js +5 -10
  58. package/dist/FeaturesRegistry.js.map +1 -0
  59. package/dist/FontFace.d.ts +2 -0
  60. package/dist/FontFace.js +19 -19
  61. package/dist/FontFace.js.map +1 -0
  62. package/dist/IgnoreCustomElements.d.ts +25 -0
  63. package/dist/IgnoreCustomElements.js +37 -0
  64. package/dist/IgnoreCustomElements.js.map +1 -0
  65. package/dist/InitialConfiguration.d.ts +34 -0
  66. package/dist/InitialConfiguration.js +144 -131
  67. package/dist/InitialConfiguration.js.map +1 -0
  68. package/dist/Keys.d.ts +64 -0
  69. package/dist/Keys.js +180 -289
  70. package/dist/Keys.js.map +1 -0
  71. package/dist/Location.d.ts +11 -0
  72. package/dist/Location.js +49 -0
  73. package/dist/Location.js.map +1 -0
  74. package/dist/ManagedStyles.d.ts +7 -0
  75. package/dist/ManagedStyles.js +59 -73
  76. package/dist/ManagedStyles.js.map +1 -0
  77. package/dist/MediaRange.d.ts +31 -0
  78. package/dist/MediaRange.js +62 -83
  79. package/dist/MediaRange.js.map +1 -0
  80. package/dist/PropertiesFileFormat.d.ts +8 -0
  81. package/dist/PropertiesFileFormat.js +72 -82
  82. package/dist/PropertiesFileFormat.js.map +1 -0
  83. package/dist/Render.d.ts +47 -0
  84. package/dist/Render.js +81 -113
  85. package/dist/Render.js.map +1 -0
  86. package/dist/RenderQueue.d.ts +19 -0
  87. package/dist/RenderQueue.js +52 -62
  88. package/dist/RenderQueue.js.map +1 -0
  89. package/dist/Runtimes.d.ts +27 -0
  90. package/dist/Runtimes.js +60 -70
  91. package/dist/Runtimes.js.map +1 -0
  92. package/dist/SystemCSSVars.d.ts +2 -0
  93. package/dist/SystemCSSVars.js +4 -5
  94. package/dist/SystemCSSVars.js.map +1 -0
  95. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  96. package/dist/Theming.js +1 -1
  97. package/dist/Theming.js.map +1 -0
  98. package/dist/UI5Element.d.ts +425 -0
  99. package/dist/UI5Element.js +1100 -1003
  100. package/dist/UI5Element.js.map +1 -0
  101. package/dist/UI5ElementMetadata.d.ts +159 -0
  102. package/dist/UI5ElementMetadata.js +236 -317
  103. package/dist/UI5ElementMetadata.js.map +1 -0
  104. package/dist/animations/AnimationQueue.d.ts +8 -0
  105. package/dist/animations/AnimationQueue.js +31 -38
  106. package/dist/animations/AnimationQueue.js.map +1 -0
  107. package/dist/animations/animate.d.ts +14 -0
  108. package/dist/animations/animate.js +46 -51
  109. package/dist/animations/animate.js.map +1 -0
  110. package/dist/animations/scroll.d.ts +5 -0
  111. package/dist/animations/scroll.js +18 -27
  112. package/dist/animations/scroll.js.map +1 -0
  113. package/dist/animations/slideDown.d.ts +5 -0
  114. package/dist/animations/slideDown.js +53 -78
  115. package/dist/animations/slideDown.js.map +1 -0
  116. package/dist/animations/slideUp.d.ts +5 -0
  117. package/dist/animations/slideUp.js +49 -70
  118. package/dist/animations/slideUp.js.map +1 -0
  119. package/dist/asset-registries/Icons.d.ts +39 -0
  120. package/dist/asset-registries/Icons.js +120 -119
  121. package/dist/asset-registries/Icons.js.map +1 -0
  122. package/dist/asset-registries/Illustrations.d.ts +19 -0
  123. package/dist/asset-registries/Illustrations.js +72 -25
  124. package/dist/asset-registries/Illustrations.js.map +1 -0
  125. package/dist/asset-registries/LocaleData.d.ts +7 -0
  126. package/dist/asset-registries/LocaleData.js +104 -132
  127. package/dist/asset-registries/LocaleData.js.map +1 -0
  128. package/dist/asset-registries/Themes.d.ts +9 -0
  129. package/dist/asset-registries/Themes.js +55 -70
  130. package/dist/asset-registries/Themes.js.map +1 -0
  131. package/dist/asset-registries/i18n.d.ts +23 -0
  132. package/dist/asset-registries/i18n.js +61 -82
  133. package/dist/asset-registries/i18n.js.map +1 -0
  134. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  135. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  136. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  137. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  138. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  139. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  140. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  141. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  142. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  143. package/dist/config/AnimationMode.d.ts +14 -0
  144. package/dist/config/AnimationMode.js +26 -18
  145. package/dist/config/AnimationMode.js.map +1 -0
  146. package/dist/config/CalendarType.d.ts +15 -0
  147. package/dist/config/CalendarType.js +36 -14
  148. package/dist/config/CalendarType.js.map +1 -0
  149. package/dist/config/ConfigurationReset.d.ts +4 -0
  150. package/dist/config/ConfigurationReset.js +11 -0
  151. package/dist/config/ConfigurationReset.js.map +1 -0
  152. package/dist/config/Fonts.d.ts +16 -0
  153. package/dist/config/Fonts.js +30 -0
  154. package/dist/config/Fonts.js.map +1 -0
  155. package/dist/config/FormatSettings.d.ts +15 -0
  156. package/dist/config/FormatSettings.js +19 -9
  157. package/dist/config/FormatSettings.js.map +1 -0
  158. package/dist/config/Icons.d.ts +40 -0
  159. package/dist/config/Icons.js +34 -42
  160. package/dist/config/Icons.js.map +1 -0
  161. package/dist/config/Language.d.ts +40 -0
  162. package/dist/config/Language.js +52 -44
  163. package/dist/config/Language.js.map +1 -0
  164. package/dist/config/NoConflict.d.ts +20 -0
  165. package/dist/config/NoConflict.js +45 -41
  166. package/dist/config/NoConflict.js.map +1 -0
  167. package/dist/config/Theme.d.ts +39 -0
  168. package/dist/config/Theme.js +63 -36
  169. package/dist/config/Theme.js.map +1 -0
  170. package/dist/config/ThemeRoot.d.ts +27 -0
  171. package/dist/config/ThemeRoot.js +61 -0
  172. package/dist/config/ThemeRoot.js.map +1 -0
  173. package/dist/config/Timezone.d.ts +17 -0
  174. package/dist/config/Timezone.js +34 -0
  175. package/dist/config/Timezone.js.map +1 -0
  176. package/dist/config/Tooltips.d.ts +19 -0
  177. package/dist/config/Tooltips.js +29 -0
  178. package/dist/config/Tooltips.js.map +1 -0
  179. package/dist/connectToComponent.d.ts +9 -0
  180. package/dist/connectToComponent.js +59 -0
  181. package/dist/connectToComponent.js.map +1 -0
  182. package/dist/converters/DOMReference.d.ts +5 -0
  183. package/dist/converters/DOMReference.js +13 -0
  184. package/dist/converters/DOMReference.js.map +1 -0
  185. package/dist/css/FontFace.css +47 -26
  186. package/dist/css/SystemCSSVars.css +0 -8
  187. package/dist/custom-elements-internal.json +2803 -0
  188. package/dist/custom-elements.json +2500 -0
  189. package/dist/decorators/bound.d.ts +1 -0
  190. package/dist/decorators/bound.js +34 -0
  191. package/dist/decorators/bound.js.map +1 -0
  192. package/dist/decorators/customElement.d.ts +63 -0
  193. package/dist/decorators/customElement.js +45 -0
  194. package/dist/decorators/customElement.js.map +1 -0
  195. package/dist/decorators/event-strict.d.ts +15 -0
  196. package/dist/decorators/event-strict.js +26 -0
  197. package/dist/decorators/event-strict.js.map +1 -0
  198. package/dist/decorators/event.d.ts +16 -0
  199. package/dist/decorators/event.js +27 -0
  200. package/dist/decorators/event.js.map +1 -0
  201. package/dist/decorators/i18n.d.ts +17 -0
  202. package/dist/decorators/i18n.js +32 -0
  203. package/dist/decorators/i18n.js.map +1 -0
  204. package/dist/decorators/property.d.ts +9 -0
  205. package/dist/decorators/property.js +24 -0
  206. package/dist/decorators/property.js.map +1 -0
  207. package/dist/decorators/query.d.ts +25 -0
  208. package/dist/decorators/query.js +32 -0
  209. package/dist/decorators/query.js.map +1 -0
  210. package/dist/decorators/queryAll.d.ts +27 -0
  211. package/dist/decorators/queryAll.js +34 -0
  212. package/dist/decorators/queryAll.js.map +1 -0
  213. package/dist/decorators/slot.d.ts +9 -0
  214. package/dist/decorators/slot.js +37 -0
  215. package/dist/decorators/slot.js.map +1 -0
  216. package/dist/decorators.d.ts +8 -0
  217. package/dist/decorators.js +9 -0
  218. package/dist/decorators.js.map +1 -0
  219. package/dist/delegate/ItemNavigation.d.ts +114 -0
  220. package/dist/delegate/ItemNavigation.js +283 -324
  221. package/dist/delegate/ItemNavigation.js.map +1 -0
  222. package/dist/delegate/ResizeHandler.d.ts +23 -0
  223. package/dist/delegate/ResizeHandler.js +70 -91
  224. package/dist/delegate/ResizeHandler.js.map +1 -0
  225. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  226. package/dist/delegate/ScrollEnablement.js +157 -180
  227. package/dist/delegate/ScrollEnablement.js.map +1 -0
  228. package/dist/features/F6Navigation.d.ts +20 -0
  229. package/dist/features/F6Navigation.js +184 -105
  230. package/dist/features/F6Navigation.js.map +1 -0
  231. package/dist/features/InputElementsFormSupport.d.ts +15 -0
  232. package/dist/features/InputElementsFormSupport.js +39 -0
  233. package/dist/features/InputElementsFormSupport.js.map +1 -0
  234. package/dist/features/LegacyDateFormats.d.ts +18 -0
  235. package/dist/features/LegacyDateFormats.js +20 -0
  236. package/dist/features/LegacyDateFormats.js.map +1 -0
  237. package/dist/features/OpenUI5Element.d.ts +9 -0
  238. package/dist/features/OpenUI5Element.js +5 -0
  239. package/dist/features/OpenUI5Element.js.map +1 -0
  240. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  241. package/dist/features/OpenUI5Enablement.js +89 -112
  242. package/dist/features/OpenUI5Enablement.js.map +1 -0
  243. package/dist/features/OpenUI5Support.d.ts +34 -0
  244. package/dist/features/OpenUI5Support.js +140 -122
  245. package/dist/features/OpenUI5Support.js.map +1 -0
  246. package/dist/features/patchPatcher.d.ts +11 -0
  247. package/dist/features/patchPatcher.js +11 -0
  248. package/dist/features/patchPatcher.js.map +1 -0
  249. package/dist/features/patchPopup.d.ts +15 -0
  250. package/dist/features/patchPopup.js +70 -0
  251. package/dist/features/patchPopup.js.map +1 -0
  252. package/dist/generated/AssetParameters.d.ts +6 -0
  253. package/dist/generated/AssetParameters.js +4 -9
  254. package/dist/generated/AssetParameters.js.map +1 -0
  255. package/dist/generated/VersionInfo.d.ts +10 -0
  256. package/dist/generated/VersionInfo.js +9 -8
  257. package/dist/generated/VersionInfo.js.map +1 -0
  258. package/dist/generated/css/BusyIndicator.css.d.ts +2 -0
  259. package/dist/generated/css/BusyIndicator.css.js +2 -5
  260. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  261. package/dist/generated/css/FontFace.css.d.ts +2 -0
  262. package/dist/generated/css/FontFace.css.js +2 -5
  263. package/dist/generated/css/FontFace.css.js.map +1 -0
  264. package/dist/generated/css/OverrideFontFace.css.d.ts +2 -0
  265. package/dist/generated/css/OverrideFontFace.css.js +2 -5
  266. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  267. package/dist/generated/css/SystemCSSVars.css.d.ts +2 -0
  268. package/dist/generated/css/SystemCSSVars.css.js +2 -5
  269. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  270. package/dist/getSharedResource.d.ts +11 -0
  271. package/dist/getSharedResource.js +28 -18
  272. package/dist/getSharedResource.js.map +1 -0
  273. package/dist/global.d.ts +40 -0
  274. package/dist/i18nBundle.d.ts +41 -0
  275. package/dist/i18nBundle.js +54 -64
  276. package/dist/i18nBundle.js.map +1 -0
  277. package/dist/index.d.ts +48 -0
  278. package/dist/index.js +88 -0
  279. package/dist/index.js.map +1 -0
  280. package/dist/jsx-dev-runtime.d.ts +4 -0
  281. package/dist/jsx-dev-runtime.js +43 -0
  282. package/dist/jsx-dev-runtime.js.map +1 -0
  283. package/dist/jsx-runtime.d.ts +50 -0
  284. package/dist/jsx-runtime.js +27 -0
  285. package/dist/jsx-runtime.js.map +1 -0
  286. package/dist/jsx-utils.d.ts +3 -0
  287. package/dist/jsx-utils.js +48 -0
  288. package/dist/jsx-utils.js.map +1 -0
  289. package/dist/locale/Locale.d.ts +22 -0
  290. package/dist/locale/Locale.js +75 -87
  291. package/dist/locale/Locale.js.map +1 -0
  292. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  293. package/dist/locale/RTLAwareRegistry.js +6 -11
  294. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  295. package/dist/locale/applyDirection.d.ts +11 -0
  296. package/dist/locale/applyDirection.js +8 -7
  297. package/dist/locale/applyDirection.js.map +1 -0
  298. package/dist/locale/directionChange.d.ts +15 -0
  299. package/dist/locale/directionChange.js +7 -15
  300. package/dist/locale/directionChange.js.map +1 -0
  301. package/dist/locale/getEffectiveDir.d.ts +2 -0
  302. package/dist/locale/getEffectiveDir.js +6 -26
  303. package/dist/locale/getEffectiveDir.js.map +1 -0
  304. package/dist/locale/getLocale.d.ts +7 -0
  305. package/dist/locale/getLocale.js +26 -29
  306. package/dist/locale/getLocale.js.map +1 -0
  307. package/dist/locale/languageChange.d.ts +5 -0
  308. package/dist/locale/languageChange.js +8 -16
  309. package/dist/locale/languageChange.js.map +1 -0
  310. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  311. package/dist/locale/nextFallbackLocale.js +19 -19
  312. package/dist/locale/nextFallbackLocale.js.map +1 -0
  313. package/dist/locale/normalizeLocale.d.ts +7 -0
  314. package/dist/locale/normalizeLocale.js +34 -41
  315. package/dist/locale/normalizeLocale.js.map +1 -0
  316. package/dist/prod/AssetRegistry.js +2 -0
  317. package/dist/prod/AssetRegistry.js.map +7 -0
  318. package/dist/prod/Boot.js +2 -0
  319. package/dist/prod/Boot.js.map +7 -0
  320. package/dist/prod/CustomElementsRegistry.js +10 -0
  321. package/dist/prod/CustomElementsRegistry.js.map +7 -0
  322. package/dist/prod/CustomElementsScope.js +2 -0
  323. package/dist/prod/CustomElementsScope.js.map +7 -0
  324. package/dist/prod/CustomElementsScopeUtils.js +2 -0
  325. package/dist/prod/CustomElementsScopeUtils.js.map +7 -0
  326. package/dist/prod/DOMObserver.js +2 -0
  327. package/dist/prod/DOMObserver.js.map +7 -0
  328. package/dist/prod/Device.js +2 -0
  329. package/dist/prod/Device.js.map +7 -0
  330. package/dist/prod/EventProvider.js +2 -0
  331. package/dist/prod/EventProvider.js.map +7 -0
  332. package/dist/prod/FeaturesRegistry.js +2 -0
  333. package/dist/prod/FeaturesRegistry.js.map +7 -0
  334. package/dist/prod/FontFace.js +2 -0
  335. package/dist/prod/FontFace.js.map +7 -0
  336. package/dist/prod/IgnoreCustomElements.js +2 -0
  337. package/dist/prod/IgnoreCustomElements.js.map +7 -0
  338. package/dist/prod/InitialConfiguration.js +2 -0
  339. package/dist/prod/InitialConfiguration.js.map +7 -0
  340. package/dist/prod/Keys.js +2 -0
  341. package/dist/prod/Keys.js.map +7 -0
  342. package/dist/prod/Location.js +2 -0
  343. package/dist/prod/Location.js.map +7 -0
  344. package/dist/prod/ManagedStyles.js +2 -0
  345. package/dist/prod/ManagedStyles.js.map +7 -0
  346. package/dist/prod/MediaRange.js +2 -0
  347. package/dist/prod/MediaRange.js.map +7 -0
  348. package/dist/prod/PropertiesFileFormat.js +3 -0
  349. package/dist/prod/PropertiesFileFormat.js.map +7 -0
  350. package/dist/prod/Render.js +2 -0
  351. package/dist/prod/Render.js.map +7 -0
  352. package/dist/prod/RenderQueue.js +2 -0
  353. package/dist/prod/RenderQueue.js.map +7 -0
  354. package/dist/prod/Runtimes.js +2 -0
  355. package/dist/prod/Runtimes.js.map +7 -0
  356. package/dist/prod/SystemCSSVars.js +2 -0
  357. package/dist/prod/SystemCSSVars.js.map +7 -0
  358. package/dist/prod/Theming.js +2 -0
  359. package/dist/prod/Theming.js.map +7 -0
  360. package/dist/prod/UI5Element.js +2 -0
  361. package/dist/prod/UI5Element.js.map +7 -0
  362. package/dist/prod/UI5ElementMetadata.js +2 -0
  363. package/dist/prod/UI5ElementMetadata.js.map +7 -0
  364. package/dist/prod/animations/AnimationQueue.js +2 -0
  365. package/dist/prod/animations/AnimationQueue.js.map +7 -0
  366. package/dist/prod/animations/animate.js +2 -0
  367. package/dist/prod/animations/animate.js.map +7 -0
  368. package/dist/prod/animations/scroll.js +2 -0
  369. package/dist/prod/animations/scroll.js.map +7 -0
  370. package/dist/prod/animations/slideDown.js +2 -0
  371. package/dist/prod/animations/slideDown.js.map +7 -0
  372. package/dist/prod/animations/slideUp.js +2 -0
  373. package/dist/prod/animations/slideUp.js.map +7 -0
  374. package/dist/prod/asset-registries/Icons.js +2 -0
  375. package/dist/prod/asset-registries/Icons.js.map +7 -0
  376. package/dist/prod/asset-registries/Illustrations.js +2 -0
  377. package/dist/prod/asset-registries/Illustrations.js.map +7 -0
  378. package/dist/prod/asset-registries/LocaleData.js +2 -0
  379. package/dist/prod/asset-registries/LocaleData.js.map +7 -0
  380. package/dist/prod/asset-registries/Themes.js +2 -0
  381. package/dist/prod/asset-registries/Themes.js.map +7 -0
  382. package/dist/prod/asset-registries/i18n.js +2 -0
  383. package/dist/prod/asset-registries/i18n.js.map +7 -0
  384. package/dist/prod/asset-registries/util/IconCollectionsAlias.js +2 -0
  385. package/dist/prod/asset-registries/util/IconCollectionsAlias.js.map +7 -0
  386. package/dist/prod/asset-registries/util/IconCollectionsByTheme.js +2 -0
  387. package/dist/prod/asset-registries/util/IconCollectionsByTheme.js.map +7 -0
  388. package/dist/prod/asset-registries/util/getIconCollectionByTheme.js +2 -0
  389. package/dist/prod/asset-registries/util/getIconCollectionByTheme.js.map +7 -0
  390. package/dist/prod/config/AnimationMode.js +2 -0
  391. package/dist/prod/config/AnimationMode.js.map +7 -0
  392. package/dist/prod/config/CalendarType.js +2 -0
  393. package/dist/prod/config/CalendarType.js.map +7 -0
  394. package/dist/prod/config/ConfigurationReset.js +2 -0
  395. package/dist/prod/config/ConfigurationReset.js.map +7 -0
  396. package/dist/prod/config/Fonts.js +2 -0
  397. package/dist/prod/config/Fonts.js.map +7 -0
  398. package/dist/prod/config/FormatSettings.js +2 -0
  399. package/dist/prod/config/FormatSettings.js.map +7 -0
  400. package/dist/prod/config/Icons.js +2 -0
  401. package/dist/prod/config/Icons.js.map +7 -0
  402. package/dist/prod/config/Language.js +2 -0
  403. package/dist/prod/config/Language.js.map +7 -0
  404. package/dist/prod/config/NoConflict.js +2 -0
  405. package/dist/prod/config/NoConflict.js.map +7 -0
  406. package/dist/prod/config/Theme.js +2 -0
  407. package/dist/prod/config/Theme.js.map +7 -0
  408. package/dist/prod/config/ThemeRoot.js +2 -0
  409. package/dist/prod/config/ThemeRoot.js.map +7 -0
  410. package/dist/prod/config/Timezone.js +2 -0
  411. package/dist/prod/config/Timezone.js.map +7 -0
  412. package/dist/prod/config/Tooltips.js +2 -0
  413. package/dist/prod/config/Tooltips.js.map +7 -0
  414. package/dist/prod/connectToComponent.js +2 -0
  415. package/dist/prod/connectToComponent.js.map +7 -0
  416. package/dist/prod/converters/DOMReference.js +2 -0
  417. package/dist/prod/converters/DOMReference.js.map +7 -0
  418. package/dist/prod/decorators/bound.js +2 -0
  419. package/dist/prod/decorators/bound.js.map +7 -0
  420. package/dist/prod/decorators/customElement.js +2 -0
  421. package/dist/prod/decorators/customElement.js.map +7 -0
  422. package/dist/prod/decorators/event-strict.js +2 -0
  423. package/dist/prod/decorators/event-strict.js.map +7 -0
  424. package/dist/prod/decorators/event.js +2 -0
  425. package/dist/prod/decorators/event.js.map +7 -0
  426. package/dist/prod/decorators/i18n.js +2 -0
  427. package/dist/prod/decorators/i18n.js.map +7 -0
  428. package/dist/prod/decorators/property.js +2 -0
  429. package/dist/prod/decorators/property.js.map +7 -0
  430. package/dist/prod/decorators/query.js +2 -0
  431. package/dist/prod/decorators/query.js.map +7 -0
  432. package/dist/prod/decorators/queryAll.js +2 -0
  433. package/dist/prod/decorators/queryAll.js.map +7 -0
  434. package/dist/prod/decorators/slot.js +2 -0
  435. package/dist/prod/decorators/slot.js.map +7 -0
  436. package/dist/prod/decorators.js +2 -0
  437. package/dist/prod/decorators.js.map +7 -0
  438. package/dist/prod/delegate/ItemNavigation.js +2 -0
  439. package/dist/prod/delegate/ItemNavigation.js.map +7 -0
  440. package/dist/prod/delegate/ResizeHandler.js +2 -0
  441. package/dist/prod/delegate/ResizeHandler.js.map +7 -0
  442. package/dist/prod/delegate/ScrollEnablement.js +2 -0
  443. package/dist/prod/delegate/ScrollEnablement.js.map +7 -0
  444. package/dist/prod/features/F6Navigation.js +2 -0
  445. package/dist/prod/features/F6Navigation.js.map +7 -0
  446. package/dist/prod/features/InputElementsFormSupport.js +2 -0
  447. package/dist/prod/features/InputElementsFormSupport.js.map +7 -0
  448. package/dist/prod/features/LegacyDateFormats.js +2 -0
  449. package/dist/prod/features/LegacyDateFormats.js.map +7 -0
  450. package/dist/prod/features/OpenUI5Element.js +2 -0
  451. package/dist/prod/features/OpenUI5Element.js.map +7 -0
  452. package/dist/prod/features/OpenUI5Enablement.js +21 -0
  453. package/dist/prod/features/OpenUI5Enablement.js.map +7 -0
  454. package/dist/prod/features/OpenUI5Support.js +2 -0
  455. package/dist/prod/features/OpenUI5Support.js.map +7 -0
  456. package/dist/prod/features/patchPatcher.js +2 -0
  457. package/dist/prod/features/patchPatcher.js.map +7 -0
  458. package/dist/prod/features/patchPopup.js +2 -0
  459. package/dist/prod/features/patchPopup.js.map +7 -0
  460. package/dist/prod/generated/AssetParameters.js +2 -0
  461. package/dist/prod/generated/AssetParameters.js.map +7 -0
  462. package/dist/prod/generated/VersionInfo.js +2 -0
  463. package/dist/prod/generated/VersionInfo.js.map +7 -0
  464. package/dist/prod/generated/css/BusyIndicator.css.js +2 -0
  465. package/dist/prod/generated/css/BusyIndicator.css.js.map +7 -0
  466. package/dist/prod/generated/css/FontFace.css.js +2 -0
  467. package/dist/prod/generated/css/FontFace.css.js.map +7 -0
  468. package/dist/prod/generated/css/OverrideFontFace.css.js +2 -0
  469. package/dist/prod/generated/css/OverrideFontFace.css.js.map +7 -0
  470. package/dist/prod/generated/css/SystemCSSVars.css.js +2 -0
  471. package/dist/prod/generated/css/SystemCSSVars.css.js.map +7 -0
  472. package/dist/prod/getSharedResource.js +2 -0
  473. package/dist/prod/getSharedResource.js.map +7 -0
  474. package/dist/prod/global.d.js +2 -0
  475. package/dist/prod/global.d.js.map +7 -0
  476. package/dist/prod/i18nBundle.js +2 -0
  477. package/dist/prod/i18nBundle.js.map +7 -0
  478. package/dist/prod/index.js +2 -0
  479. package/dist/prod/index.js.map +7 -0
  480. package/dist/prod/jsx-dev-runtime.js +2 -0
  481. package/dist/prod/jsx-dev-runtime.js.map +7 -0
  482. package/dist/prod/jsx-runtime.js +2 -0
  483. package/dist/prod/jsx-runtime.js.map +7 -0
  484. package/dist/prod/jsx-utils.js +2 -0
  485. package/dist/prod/jsx-utils.js.map +7 -0
  486. package/dist/prod/locale/Locale.js +2 -0
  487. package/dist/prod/locale/Locale.js.map +7 -0
  488. package/dist/prod/locale/RTLAwareRegistry.js +2 -0
  489. package/dist/prod/locale/RTLAwareRegistry.js.map +7 -0
  490. package/dist/prod/locale/applyDirection.js +2 -0
  491. package/dist/prod/locale/applyDirection.js.map +7 -0
  492. package/dist/prod/locale/directionChange.js +2 -0
  493. package/dist/prod/locale/directionChange.js.map +7 -0
  494. package/dist/prod/locale/getEffectiveDir.js +2 -0
  495. package/dist/prod/locale/getEffectiveDir.js.map +7 -0
  496. package/dist/prod/locale/getLocale.js +2 -0
  497. package/dist/prod/locale/getLocale.js.map +7 -0
  498. package/dist/prod/locale/languageChange.js +2 -0
  499. package/dist/prod/locale/languageChange.js.map +7 -0
  500. package/dist/prod/locale/nextFallbackLocale.js +2 -0
  501. package/dist/prod/locale/nextFallbackLocale.js.map +7 -0
  502. package/dist/prod/locale/normalizeLocale.js +2 -0
  503. package/dist/prod/locale/normalizeLocale.js.map +7 -0
  504. package/dist/prod/renderer/JsxRenderer.js +2 -0
  505. package/dist/prod/renderer/JsxRenderer.js.map +7 -0
  506. package/dist/prod/renderer/LitRenderer.js +2 -0
  507. package/dist/prod/renderer/LitRenderer.js.map +7 -0
  508. package/dist/prod/renderer/directives/style-map.js +6 -0
  509. package/dist/prod/renderer/directives/style-map.js.map +7 -0
  510. package/dist/prod/renderer/executeTemplate.js +2 -0
  511. package/dist/prod/renderer/executeTemplate.js.map +7 -0
  512. package/dist/prod/sap/base/Log.js +750 -0
  513. package/dist/prod/sap/base/assert.js +34 -0
  514. package/dist/prod/sap/base/config/MemoryConfigurationProvider.js +20 -0
  515. package/dist/prod/sap/base/security/URLListValidator.js +406 -0
  516. package/dist/prod/sap/base/security/encodeCSS.js +40 -0
  517. package/dist/prod/sap/base/security/encodeXML.js +53 -0
  518. package/dist/prod/sap/base/security/sanitizeHTML.js +38 -0
  519. package/dist/prod/sap/base/strings/toHex.js +33 -0
  520. package/dist/prod/sap/base/util/now.js +28 -0
  521. package/dist/prod/sap/base/util/uid.js +27 -0
  522. package/dist/prod/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
  523. package/dist/prod/ssr-dom-shim.js +2 -0
  524. package/dist/prod/ssr-dom-shim.js.map +7 -0
  525. package/dist/prod/ssr-dom.js +2 -0
  526. package/dist/prod/ssr-dom.js.map +7 -0
  527. package/dist/prod/theming/CustomStyle.js +2 -0
  528. package/dist/prod/theming/CustomStyle.js.map +7 -0
  529. package/dist/prod/theming/ThemeLoaded.js +2 -0
  530. package/dist/prod/theming/ThemeLoaded.js.map +7 -0
  531. package/dist/prod/theming/ThemeRegistered.js +2 -0
  532. package/dist/prod/theming/ThemeRegistered.js.map +7 -0
  533. package/dist/prod/theming/applyTheme.js +2 -0
  534. package/dist/prod/theming/applyTheme.js.map +7 -0
  535. package/dist/prod/theming/getConstructableStyle.js +2 -0
  536. package/dist/prod/theming/getConstructableStyle.js.map +7 -0
  537. package/dist/prod/theming/getEffectiveStyle.js +2 -0
  538. package/dist/prod/theming/getEffectiveStyle.js.map +7 -0
  539. package/dist/prod/theming/getStylesString.js +2 -0
  540. package/dist/prod/theming/getStylesString.js.map +7 -0
  541. package/dist/prod/theming/getThemeDesignerTheme.js +2 -0
  542. package/dist/prod/theming/getThemeDesignerTheme.js.map +7 -0
  543. package/dist/prod/thirdparty/_merge.js +2 -0
  544. package/dist/prod/thirdparty/_merge.js.map +7 -0
  545. package/dist/prod/thirdparty/isPlainObject.js +2 -0
  546. package/dist/prod/thirdparty/isPlainObject.js.map +7 -0
  547. package/dist/prod/thirdparty/merge.js +2 -0
  548. package/dist/prod/thirdparty/merge.js.map +7 -0
  549. package/dist/prod/thirdparty/preact/jsx.d.js +2 -0
  550. package/dist/prod/thirdparty/preact/jsx.d.js.map +7 -0
  551. package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js +2 -0
  552. package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js.map +7 -0
  553. package/dist/prod/thirdparty/preact/jsxRuntime.module.js +1 -0
  554. package/dist/prod/thirdparty/preact/preact.module.d.js +2 -0
  555. package/dist/prod/thirdparty/preact/preact.module.d.js.map +7 -0
  556. package/dist/prod/thirdparty/preact/preact.module.js +1 -0
  557. package/dist/prod/types/AnimationMode.js +2 -0
  558. package/dist/prod/types/AnimationMode.js.map +7 -0
  559. package/dist/prod/types/CalendarType.js +2 -0
  560. package/dist/prod/types/CalendarType.js.map +7 -0
  561. package/dist/prod/types/InvisibleMessageMode.js +2 -0
  562. package/dist/prod/types/InvisibleMessageMode.js.map +7 -0
  563. package/dist/prod/types/ItemNavigationBehavior.js +2 -0
  564. package/dist/prod/types/ItemNavigationBehavior.js.map +7 -0
  565. package/dist/prod/types/MovePlacement.js +2 -0
  566. package/dist/prod/types/MovePlacement.js.map +7 -0
  567. package/dist/prod/types/NavigationMode.js +2 -0
  568. package/dist/prod/types/NavigationMode.js.map +7 -0
  569. package/dist/prod/types/Orientation.js +2 -0
  570. package/dist/prod/types/Orientation.js.map +7 -0
  571. package/dist/prod/types/SortOrder.js +2 -0
  572. package/dist/prod/types/SortOrder.js.map +7 -0
  573. package/dist/prod/types/ValueState.js +2 -0
  574. package/dist/prod/types/ValueState.js.map +7 -0
  575. package/dist/prod/types.js +2 -0
  576. package/dist/prod/types.js.map +7 -0
  577. package/dist/prod/updateShadowRoot.js +2 -0
  578. package/dist/prod/updateShadowRoot.js.map +7 -0
  579. package/dist/prod/util/AccessibilityTextsHelper.js +2 -0
  580. package/dist/prod/util/AccessibilityTextsHelper.js.map +7 -0
  581. package/dist/prod/util/Caret.js +2 -0
  582. package/dist/prod/util/Caret.js.map +7 -0
  583. package/dist/prod/util/ColorConversion.js +2 -0
  584. package/dist/prod/util/ColorConversion.js.map +7 -0
  585. package/dist/prod/util/FetchHelper.js +2 -0
  586. package/dist/prod/util/FetchHelper.js.map +7 -0
  587. package/dist/prod/util/FocusableElements.js +2 -0
  588. package/dist/prod/util/FocusableElements.js.map +7 -0
  589. package/dist/prod/util/HTMLSanitizer.js +2 -0
  590. package/dist/prod/util/HTMLSanitizer.js.map +7 -0
  591. package/dist/prod/util/InvisibleMessage.js +2 -0
  592. package/dist/prod/util/InvisibleMessage.js.map +7 -0
  593. package/dist/prod/util/PopupUtils.js +2 -0
  594. package/dist/prod/util/PopupUtils.js.map +7 -0
  595. package/dist/prod/util/SelectionAssistant.js +2 -0
  596. package/dist/prod/util/SelectionAssistant.js.map +7 -0
  597. package/dist/prod/util/SlotsHelper.js +2 -0
  598. package/dist/prod/util/SlotsHelper.js.map +7 -0
  599. package/dist/prod/util/StringHelper.js +2 -0
  600. package/dist/prod/util/StringHelper.js.map +7 -0
  601. package/dist/prod/util/TabbableElements.js +2 -0
  602. package/dist/prod/util/TabbableElements.js.map +7 -0
  603. package/dist/prod/util/arraysAreEqual.js +2 -0
  604. package/dist/prod/util/arraysAreEqual.js.map +7 -0
  605. package/dist/prod/util/clamp.js +2 -0
  606. package/dist/prod/util/clamp.js.map +7 -0
  607. package/dist/prod/util/createLinkInHead.js +2 -0
  608. package/dist/prod/util/createLinkInHead.js.map +7 -0
  609. package/dist/prod/util/debounce.js +2 -0
  610. package/dist/prod/util/debounce.js.map +7 -0
  611. package/dist/prod/util/detectNavigatorLanguage.js +2 -0
  612. package/dist/prod/util/detectNavigatorLanguage.js.map +7 -0
  613. package/dist/prod/util/dragAndDrop/DragRegistry.js +2 -0
  614. package/dist/prod/util/dragAndDrop/DragRegistry.js.map +7 -0
  615. package/dist/prod/util/dragAndDrop/findClosestPosition.js +2 -0
  616. package/dist/prod/util/dragAndDrop/findClosestPosition.js.map +7 -0
  617. package/dist/prod/util/dragAndDrop/handleDragOver.js +2 -0
  618. package/dist/prod/util/dragAndDrop/handleDragOver.js.map +7 -0
  619. package/dist/prod/util/dragAndDrop/handleDrop.js +2 -0
  620. package/dist/prod/util/dragAndDrop/handleDrop.js.map +7 -0
  621. package/dist/prod/util/dragAndDrop/longDragOverHandler.js +2 -0
  622. package/dist/prod/util/dragAndDrop/longDragOverHandler.js.map +7 -0
  623. package/dist/prod/util/escapeRegex.js +2 -0
  624. package/dist/prod/util/escapeRegex.js.map +7 -0
  625. package/dist/prod/util/fixSafariActiveState.js +2 -0
  626. package/dist/prod/util/fixSafariActiveState.js.map +7 -0
  627. package/dist/prod/util/formatMessage.js +2 -0
  628. package/dist/prod/util/formatMessage.js.map +7 -0
  629. package/dist/prod/util/generateHighlightedMarkup.js +2 -0
  630. package/dist/prod/util/generateHighlightedMarkup.js.map +7 -0
  631. package/dist/prod/util/getActiveElement.js +2 -0
  632. package/dist/prod/util/getActiveElement.js.map +7 -0
  633. package/dist/prod/util/getClassCopy.js +2 -0
  634. package/dist/prod/util/getClassCopy.js.map +7 -0
  635. package/dist/prod/util/getDesigntimePropertyAsArray.js +2 -0
  636. package/dist/prod/util/getDesigntimePropertyAsArray.js.map +7 -0
  637. package/dist/prod/util/getEffectiveContentDensity.js +2 -0
  638. package/dist/prod/util/getEffectiveContentDensity.js.map +7 -0
  639. package/dist/prod/util/getEffectiveScrollbarStyle.js +28 -0
  640. package/dist/prod/util/getEffectiveScrollbarStyle.js.map +7 -0
  641. package/dist/prod/util/getFastNavigationGroups.js +2 -0
  642. package/dist/prod/util/getFastNavigationGroups.js.map +7 -0
  643. package/dist/prod/util/getFileExtension.js +2 -0
  644. package/dist/prod/util/getFileExtension.js.map +7 -0
  645. package/dist/prod/util/getNormalizedTarget.js +2 -0
  646. package/dist/prod/util/getNormalizedTarget.js.map +7 -0
  647. package/dist/prod/util/getSingletonElementInstance.js +2 -0
  648. package/dist/prod/util/getSingletonElementInstance.js.map +7 -0
  649. package/dist/prod/util/hash2str.js +2 -0
  650. package/dist/prod/util/hash2str.js.map +7 -0
  651. package/dist/prod/util/isElementClickable.js +2 -0
  652. package/dist/prod/util/isElementClickable.js.map +7 -0
  653. package/dist/prod/util/isElementHidden.js +2 -0
  654. package/dist/prod/util/isElementHidden.js.map +7 -0
  655. package/dist/prod/util/isElementInView.js +2 -0
  656. package/dist/prod/util/isElementInView.js.map +7 -0
  657. package/dist/prod/util/isElementTabbable.js +2 -0
  658. package/dist/prod/util/isElementTabbable.js.map +7 -0
  659. package/dist/prod/util/isValidPropertyName.js +2 -0
  660. package/dist/prod/util/isValidPropertyName.js.map +7 -0
  661. package/dist/prod/util/throttle.js +2 -0
  662. package/dist/prod/util/throttle.js.map +7 -0
  663. package/dist/prod/util/toLowercaseEnumValue.js +2 -0
  664. package/dist/prod/util/toLowercaseEnumValue.js.map +7 -0
  665. package/dist/prod/util/whenDOMReady.js +2 -0
  666. package/dist/prod/util/whenDOMReady.js.map +7 -0
  667. package/dist/prod/util/willShowContent.js +2 -0
  668. package/dist/prod/util/willShowContent.js.map +7 -0
  669. package/dist/prod/validateThemeRoot.js +2 -0
  670. package/dist/prod/validateThemeRoot.js.map +7 -0
  671. package/dist/renderer/JsxRenderer.d.ts +3 -0
  672. package/dist/renderer/JsxRenderer.js +26 -0
  673. package/dist/renderer/JsxRenderer.js.map +1 -0
  674. package/dist/renderer/LitRenderer.d.ts +14 -0
  675. package/dist/renderer/LitRenderer.js +23 -39
  676. package/dist/renderer/LitRenderer.js.map +1 -0
  677. package/dist/renderer/directives/style-map.d.ts +13 -0
  678. package/dist/renderer/directives/style-map.js +59 -59
  679. package/dist/renderer/directives/style-map.js.map +1 -0
  680. package/dist/renderer/executeTemplate.d.ts +12 -0
  681. package/dist/renderer/executeTemplate.js +2 -24
  682. package/dist/renderer/executeTemplate.js.map +1 -0
  683. package/dist/sap/base/Log.js +705 -196
  684. package/dist/sap/base/assert.js +31 -5
  685. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  686. package/dist/sap/base/security/URLListValidator.js +265 -7
  687. package/dist/sap/base/security/encodeCSS.js +34 -8
  688. package/dist/sap/base/security/encodeXML.js +47 -17
  689. package/dist/sap/base/security/sanitizeHTML.js +35 -13
  690. package/dist/sap/base/strings/toHex.js +27 -2
  691. package/dist/sap/base/util/now.js +24 -3
  692. package/dist/sap/base/util/uid.js +27 -0
  693. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +113 -98
  694. package/dist/ssr-dom-shim.d.ts +1 -0
  695. package/dist/ssr-dom-shim.js +62 -0
  696. package/dist/ssr-dom-shim.js.map +1 -0
  697. package/dist/ssr-dom.d.ts +1 -0
  698. package/dist/ssr-dom.js +3 -0
  699. package/dist/ssr-dom.js.map +1 -0
  700. package/dist/theming/CustomStyle.d.ts +6 -0
  701. package/dist/theming/CustomStyle.js +33 -45
  702. package/dist/theming/CustomStyle.js.map +1 -0
  703. package/dist/theming/ThemeLoaded.d.ts +5 -0
  704. package/dist/theming/ThemeLoaded.js +8 -16
  705. package/dist/theming/ThemeLoaded.js.map +1 -0
  706. package/dist/theming/ThemeRegistered.d.ts +4 -0
  707. package/dist/theming/ThemeRegistered.js +11 -0
  708. package/dist/theming/ThemeRegistered.js.map +1 -0
  709. package/dist/theming/applyTheme.d.ts +2 -0
  710. package/dist/theming/applyTheme.js +61 -64
  711. package/dist/theming/applyTheme.js.map +1 -0
  712. package/dist/theming/getConstructableStyle.d.ts +9 -0
  713. package/dist/theming/getConstructableStyle.js +13 -18
  714. package/dist/theming/getConstructableStyle.js.map +1 -0
  715. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  716. package/dist/theming/getEffectiveStyle.js +18 -32
  717. package/dist/theming/getEffectiveStyle.js.map +1 -0
  718. package/dist/theming/getStylesString.d.ts +3 -0
  719. package/dist/theming/getStylesString.js +7 -13
  720. package/dist/theming/getStylesString.js.map +1 -0
  721. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  722. package/dist/theming/getThemeDesignerTheme.js +73 -79
  723. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  724. package/dist/thirdparty/_merge.d.ts +2 -0
  725. package/dist/thirdparty/_merge.js +7 -4
  726. package/dist/thirdparty/_merge.js.map +1 -0
  727. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  728. package/dist/thirdparty/isPlainObject.js +11 -10
  729. package/dist/thirdparty/isPlainObject.js.map +1 -0
  730. package/dist/thirdparty/merge.d.ts +2 -0
  731. package/dist/thirdparty/merge.js +4 -8
  732. package/dist/thirdparty/merge.js.map +1 -0
  733. package/dist/thirdparty/preact/jsx.d.ts +2616 -0
  734. package/dist/thirdparty/preact/jsxRuntime.module.d.ts +62 -0
  735. package/dist/thirdparty/preact/jsxRuntime.module.js +1 -0
  736. package/dist/thirdparty/preact/preact.module.d.ts +398 -0
  737. package/dist/thirdparty/preact/preact.module.js +1 -0
  738. package/dist/types/AnimationMode.d.ts +24 -0
  739. package/dist/types/AnimationMode.js +25 -6
  740. package/dist/types/AnimationMode.js.map +1 -0
  741. package/dist/types/CalendarType.d.ts +28 -0
  742. package/dist/types/CalendarType.js +26 -18
  743. package/dist/types/CalendarType.js.map +1 -0
  744. package/dist/types/InvisibleMessageMode.d.ts +20 -0
  745. package/dist/types/InvisibleMessageMode.js +12 -22
  746. package/dist/types/InvisibleMessageMode.js.map +1 -0
  747. package/dist/types/ItemNavigationBehavior.d.ts +18 -0
  748. package/dist/types/ItemNavigationBehavior.js +16 -12
  749. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  750. package/dist/types/MovePlacement.d.ts +20 -0
  751. package/dist/types/MovePlacement.js +22 -0
  752. package/dist/types/MovePlacement.js.map +1 -0
  753. package/dist/types/NavigationMode.d.ts +24 -0
  754. package/dist/types/NavigationMode.js +25 -6
  755. package/dist/types/NavigationMode.js.map +1 -0
  756. package/dist/types/Orientation.d.ts +16 -0
  757. package/dist/types/Orientation.js +18 -0
  758. package/dist/types/Orientation.js.map +1 -0
  759. package/dist/types/SortOrder.d.ts +24 -0
  760. package/dist/types/SortOrder.js +26 -0
  761. package/dist/types/SortOrder.js.map +1 -0
  762. package/dist/types/ValueState.d.ts +28 -0
  763. package/dist/types/ValueState.js +27 -19
  764. package/dist/types/ValueState.js.map +1 -0
  765. package/dist/types.d.ts +41 -0
  766. package/dist/types.js +2 -0
  767. package/dist/types.js.map +1 -0
  768. package/dist/updateShadowRoot.d.ts +7 -0
  769. package/dist/updateShadowRoot.js +10 -22
  770. package/dist/updateShadowRoot.js.map +1 -0
  771. package/dist/util/AccessibilityTextsHelper.d.ts +17 -0
  772. package/dist/util/AccessibilityTextsHelper.js +199 -0
  773. package/dist/util/AccessibilityTextsHelper.js.map +1 -0
  774. package/dist/util/Caret.d.ts +7 -0
  775. package/dist/util/Caret.js +16 -25
  776. package/dist/util/Caret.js.map +1 -0
  777. package/dist/util/ColorConversion.d.ts +31 -0
  778. package/dist/util/ColorConversion.js +327 -371
  779. package/dist/util/ColorConversion.js.map +1 -0
  780. package/dist/util/FetchHelper.d.ts +3 -0
  781. package/dist/util/FetchHelper.js +19 -25
  782. package/dist/util/FetchHelper.js.map +1 -0
  783. package/dist/util/FocusableElements.d.ts +4 -0
  784. package/dist/util/FocusableElements.js +92 -71
  785. package/dist/util/FocusableElements.js.map +1 -0
  786. package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +3 -5
  787. package/dist/util/HTMLSanitizer.js +4 -5
  788. package/dist/util/HTMLSanitizer.js.map +1 -0
  789. package/dist/util/InvisibleMessage.d.ts +10 -0
  790. package/dist/util/InvisibleMessage.js +40 -53
  791. package/dist/util/InvisibleMessage.js.map +1 -0
  792. package/dist/util/PopupUtils.d.ts +5 -0
  793. package/dist/util/PopupUtils.js +53 -86
  794. package/dist/util/PopupUtils.js.map +1 -0
  795. package/dist/util/SelectionAssistant.d.ts +12 -0
  796. package/dist/util/SelectionAssistant.js +79 -0
  797. package/dist/util/SelectionAssistant.js.map +1 -0
  798. package/dist/util/SlotsHelper.d.ts +9 -0
  799. package/dist/util/SlotsHelper.js +22 -35
  800. package/dist/util/SlotsHelper.js.map +1 -0
  801. package/dist/util/StringHelper.d.ts +5 -0
  802. package/dist/util/StringHelper.js +32 -21
  803. package/dist/util/StringHelper.js.map +1 -0
  804. package/dist/util/TabbableElements.d.ts +17 -0
  805. package/dist/util/TabbableElements.js +46 -47
  806. package/dist/util/TabbableElements.js.map +1 -0
  807. package/dist/util/arraysAreEqual.d.ts +2 -0
  808. package/dist/util/arraysAreEqual.js +10 -12
  809. package/dist/util/arraysAreEqual.js.map +1 -0
  810. package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
  811. package/dist/util/clamp.js +3 -2
  812. package/dist/util/clamp.js.map +1 -0
  813. package/dist/util/createLinkInHead.d.ts +7 -0
  814. package/dist/util/createLinkInHead.js +15 -13
  815. package/dist/util/createLinkInHead.js.map +1 -0
  816. package/dist/util/debounce.d.ts +2 -0
  817. package/dist/util/debounce.js +6 -8
  818. package/dist/util/debounce.js.map +1 -0
  819. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  820. package/dist/util/detectNavigatorLanguage.js +13 -11
  821. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  822. package/dist/util/dragAndDrop/DragRegistry.d.ts +33 -0
  823. package/dist/util/dragAndDrop/DragRegistry.js +66 -0
  824. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
  825. package/dist/util/dragAndDrop/findClosestPosition.d.ts +12 -0
  826. package/dist/util/dragAndDrop/findClosestPosition.js +106 -0
  827. package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
  828. package/dist/util/dragAndDrop/handleDragOver.d.ts +16 -0
  829. package/dist/util/dragAndDrop/handleDragOver.js +42 -0
  830. package/dist/util/dragAndDrop/handleDragOver.js.map +1 -0
  831. package/dist/util/dragAndDrop/handleDrop.d.ts +5 -0
  832. package/dist/util/dragAndDrop/handleDrop.js +22 -0
  833. package/dist/util/dragAndDrop/handleDrop.js.map +1 -0
  834. package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
  835. package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
  836. package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
  837. package/dist/util/escapeRegex.d.ts +8 -0
  838. package/dist/util/escapeRegex.js +8 -7
  839. package/dist/util/escapeRegex.js.map +1 -0
  840. package/dist/util/fixSafariActiveState.d.ts +2 -0
  841. package/dist/util/fixSafariActiveState.js +11 -0
  842. package/dist/util/fixSafariActiveState.js.map +1 -0
  843. package/dist/util/formatMessage.d.ts +2 -0
  844. package/dist/util/formatMessage.js +15 -19
  845. package/dist/util/formatMessage.js.map +1 -0
  846. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  847. package/dist/util/generateHighlightedMarkup.js +26 -27
  848. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  849. package/dist/util/getActiveElement.d.ts +2 -0
  850. package/dist/util/getActiveElement.js +6 -8
  851. package/dist/util/getActiveElement.js.map +1 -0
  852. package/dist/util/getClassCopy.d.ts +442 -0
  853. package/dist/util/getClassCopy.js +7 -7
  854. package/dist/util/getClassCopy.js.map +1 -0
  855. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  856. package/dist/util/getDesigntimePropertyAsArray.js +5 -3
  857. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  858. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  859. package/dist/util/getEffectiveContentDensity.js +2 -3
  860. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  861. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  862. package/dist/util/getEffectiveScrollbarStyle.js +36 -0
  863. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  864. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  865. package/dist/util/getFastNavigationGroups.js +56 -0
  866. package/dist/util/getFastNavigationGroups.js.map +1 -0
  867. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  868. package/dist/util/getFileExtension.js +9 -11
  869. package/dist/util/getFileExtension.js.map +1 -0
  870. package/{src/util/getNormalizedTarget.js → dist/util/getNormalizedTarget.d.ts} +1 -10
  871. package/dist/util/getNormalizedTarget.js +7 -9
  872. package/dist/util/getNormalizedTarget.js.map +1 -0
  873. package/dist/util/getSingletonElementInstance.d.ts +11 -0
  874. package/dist/util/getSingletonElementInstance.js +17 -11
  875. package/dist/util/getSingletonElementInstance.js.map +1 -0
  876. package/dist/util/hash2str.d.ts +1 -0
  877. package/dist/util/hash2str.js +14 -0
  878. package/dist/util/hash2str.js.map +1 -0
  879. package/dist/util/isElementClickable.d.ts +2 -0
  880. package/dist/util/isElementClickable.js +16 -0
  881. package/dist/util/isElementClickable.js.map +1 -0
  882. package/dist/util/isElementHidden.d.ts +2 -0
  883. package/dist/util/isElementHidden.js +8 -0
  884. package/dist/util/isElementHidden.js.map +1 -0
  885. package/dist/util/isElementInView.d.ts +6 -0
  886. package/dist/util/isElementInView.js +6 -9
  887. package/dist/util/isElementInView.js.map +1 -0
  888. package/dist/util/isElementTabbable.d.ts +9 -0
  889. package/dist/util/isElementTabbable.js +30 -0
  890. package/dist/util/isElementTabbable.js.map +1 -0
  891. package/dist/util/isValidPropertyName.d.ts +8 -0
  892. package/dist/util/isValidPropertyName.js +16 -17
  893. package/dist/util/isValidPropertyName.js.map +1 -0
  894. package/dist/util/throttle.d.ts +2 -0
  895. package/dist/util/throttle.js +20 -0
  896. package/dist/util/throttle.js.map +1 -0
  897. package/dist/util/toLowercaseEnumValue.d.ts +3 -0
  898. package/dist/util/toLowercaseEnumValue.js +4 -0
  899. package/dist/util/toLowercaseEnumValue.js.map +1 -0
  900. package/dist/util/whenDOMReady.d.ts +2 -0
  901. package/dist/util/whenDOMReady.js +11 -10
  902. package/dist/util/whenDOMReady.js.map +1 -0
  903. package/dist/util/willShowContent.d.ts +2 -0
  904. package/dist/util/willShowContent.js +7 -0
  905. package/dist/util/willShowContent.js.map +1 -0
  906. package/dist/validateThemeRoot.d.ts +2 -0
  907. package/dist/validateThemeRoot.js +49 -0
  908. package/dist/validateThemeRoot.js.map +1 -0
  909. package/dist/vscode.html-custom-data.json +22 -0
  910. package/package-scripts.cjs +74 -0
  911. package/package.json +38 -11
  912. package/src/css/FontFace.css +47 -26
  913. package/src/css/SystemCSSVars.css +0 -8
  914. package/src/thirdparty/preact/jsxRuntime.module.js +1 -0
  915. package/src/thirdparty/preact/preact.module.js +1 -0
  916. package/src/thirdparty/preact/version.txt +1 -0
  917. package/tsconfig.json +19 -0
  918. package/.eslintignore +0 -14
  919. package/bundle.esm.js +0 -56
  920. package/config/wdio.conf.js +0 -1
  921. package/dist/CSP.js +0 -59
  922. package/dist/RenderScheduler.js +0 -44
  923. package/dist/StaticArea.js +0 -3
  924. package/dist/StaticAreaItem.js +0 -101
  925. package/dist/animations/config.js +0 -5
  926. package/dist/assets/bundle.esm.81ba431e.js +0 -43
  927. package/dist/assets-meta/IconCollectionsAlias.js +0 -18
  928. package/dist/config/RTL.js +0 -31
  929. package/dist/theming/getEffectiveLinksHrefs.js +0 -27
  930. package/dist/theming/preloadLinks.js +0 -23
  931. package/dist/types/CSSColor.js +0 -9
  932. package/dist/types/CSSSize.js +0 -9
  933. package/dist/types/DataType.js +0 -37
  934. package/dist/types/Float.js +0 -14
  935. package/dist/types/Integer.js +0 -13
  936. package/dist/types/PopupState.js +0 -37
  937. package/dist/util/AriaLabelHelper.js +0 -39
  938. package/dist/util/createStyleInHead.js +0 -18
  939. package/dist/util/isDefaultSlotProvided.js +0 -11
  940. package/dist/util/isDescendantOf.js +0 -15
  941. package/dist/util/isNodeClickable.js +0 -19
  942. package/dist/util/isNodeHidden.js +0 -9
  943. package/dist/util/isNodeTabbable.js +0 -28
  944. package/dist/util/setToArray.js +0 -10
  945. package/hash.txt +0 -1
  946. package/index.js +0 -4
  947. package/lib/generate-asset-parameters/index.js +0 -25
  948. package/lib/generate-styles/index.js +0 -26
  949. package/lib/generate-version-info/index.js +0 -32
  950. package/package-scripts.js +0 -56
  951. package/src/AssetRegistry.js +0 -11
  952. package/src/Boot.js +0 -59
  953. package/src/CSP.js +0 -59
  954. package/src/CustomElementsRegistry.js +0 -95
  955. package/src/CustomElementsScope.js +0 -30
  956. package/src/CustomElementsScopeUtils.js +0 -108
  957. package/src/DOMObserver.js +0 -65
  958. package/src/Device.js +0 -121
  959. package/src/EventProvider.js +0 -85
  960. package/src/FeaturesRegistry.js +0 -14
  961. package/src/FontFace.js +0 -30
  962. package/src/InitialConfiguration.js +0 -166
  963. package/src/Keys.js +0 -295
  964. package/src/ManagedStyles.js +0 -83
  965. package/src/MediaRange.js +0 -109
  966. package/src/PropertiesFileFormat.js +0 -95
  967. package/src/Render.js +0 -175
  968. package/src/RenderQueue.js +0 -66
  969. package/src/RenderScheduler.js +0 -44
  970. package/src/Runtimes.js +0 -107
  971. package/src/StaticArea.js +0 -3
  972. package/src/StaticAreaItem.js +0 -101
  973. package/src/SystemCSSVars.js +0 -10
  974. package/src/UI5Element.js +0 -1033
  975. package/src/UI5ElementMetadata.js +0 -327
  976. package/src/animations/AnimationQueue.js +0 -42
  977. package/src/animations/animate.js +0 -53
  978. package/src/animations/config.js +0 -5
  979. package/src/animations/scroll.js +0 -28
  980. package/src/animations/slideDown.js +0 -79
  981. package/src/animations/slideUp.js +0 -71
  982. package/src/asset-registries/Icons.js +0 -135
  983. package/src/asset-registries/Illustrations.js +0 -30
  984. package/src/asset-registries/LocaleData.js +0 -164
  985. package/src/asset-registries/Themes.js +0 -82
  986. package/src/asset-registries/i18n.js +0 -123
  987. package/src/assets-meta/IconCollectionsAlias.js +0 -18
  988. package/src/config/AnimationMode.js +0 -23
  989. package/src/config/CalendarType.js +0 -18
  990. package/src/config/FormatSettings.js +0 -13
  991. package/src/config/Icons.js +0 -52
  992. package/src/config/Language.js +0 -68
  993. package/src/config/NoConflict.js +0 -51
  994. package/src/config/RTL.js +0 -31
  995. package/src/config/Theme.js +0 -53
  996. package/src/delegate/ItemNavigation.js +0 -356
  997. package/src/delegate/ResizeHandler.js +0 -106
  998. package/src/delegate/ScrollEnablement.js +0 -188
  999. package/src/features/F6Navigation.js +0 -110
  1000. package/src/features/OpenUI5Enablement.js +0 -119
  1001. package/src/features/OpenUI5Support.js +0 -125
  1002. package/src/getSharedResource.js +0 -30
  1003. package/src/i18nBundle.js +0 -86
  1004. package/src/locale/Locale.js +0 -91
  1005. package/src/locale/RTLAwareRegistry.js +0 -14
  1006. package/src/locale/applyDirection.js +0 -17
  1007. package/src/locale/directionChange.js +0 -32
  1008. package/src/locale/getEffectiveDir.js +0 -28
  1009. package/src/locale/getLocale.js +0 -41
  1010. package/src/locale/languageChange.js +0 -22
  1011. package/src/locale/nextFallbackLocale.js +0 -28
  1012. package/src/locale/normalizeLocale.js +0 -54
  1013. package/src/renderer/LitRenderer.js +0 -52
  1014. package/src/renderer/directives/style-map.js +0 -72
  1015. package/src/renderer/executeTemplate.js +0 -34
  1016. package/src/theming/CustomStyle.js +0 -60
  1017. package/src/theming/ThemeLoaded.js +0 -22
  1018. package/src/theming/applyTheme.js +0 -79
  1019. package/src/theming/getConstructableStyle.js +0 -30
  1020. package/src/theming/getEffectiveLinksHrefs.js +0 -27
  1021. package/src/theming/getEffectiveStyle.js +0 -39
  1022. package/src/theming/getStylesString.js +0 -15
  1023. package/src/theming/getThemeDesignerTheme.js +0 -87
  1024. package/src/theming/preloadLinks.js +0 -23
  1025. package/src/thirdparty/_merge.js +0 -32
  1026. package/src/thirdparty/isPlainObject.js +0 -18
  1027. package/src/thirdparty/merge.js +0 -10
  1028. package/src/types/AnimationMode.js +0 -7
  1029. package/src/types/CSSColor.js +0 -9
  1030. package/src/types/CSSSize.js +0 -9
  1031. package/src/types/CalendarType.js +0 -22
  1032. package/src/types/DataType.js +0 -37
  1033. package/src/types/Float.js +0 -14
  1034. package/src/types/Integer.js +0 -13
  1035. package/src/types/InvisibleMessageMode.js +0 -30
  1036. package/src/types/ItemNavigationBehavior.js +0 -16
  1037. package/src/types/NavigationMode.js +0 -7
  1038. package/src/types/PopupState.js +0 -37
  1039. package/src/types/ValueState.js +0 -22
  1040. package/src/updateShadowRoot.js +0 -29
  1041. package/src/util/AriaLabelHelper.js +0 -39
  1042. package/src/util/Caret.js +0 -32
  1043. package/src/util/ColorConversion.js +0 -398
  1044. package/src/util/FetchHelper.js +0 -31
  1045. package/src/util/FocusableElements.js +0 -79
  1046. package/src/util/InvisibleMessage.js +0 -69
  1047. package/src/util/PopupUtils.js +0 -93
  1048. package/src/util/SlotsHelper.js +0 -43
  1049. package/src/util/StringHelper.js +0 -26
  1050. package/src/util/TabbableElements.js +0 -51
  1051. package/src/util/arraysAreEqual.js +0 -15
  1052. package/src/util/createLinkInHead.js +0 -19
  1053. package/src/util/createStyleInHead.js +0 -18
  1054. package/src/util/debounce.js +0 -17
  1055. package/src/util/detectNavigatorLanguage.js +0 -13
  1056. package/src/util/escapeRegex.js +0 -10
  1057. package/src/util/formatMessage.js +0 -23
  1058. package/src/util/generateHighlightedMarkup.js +0 -42
  1059. package/src/util/getActiveElement.js +0 -11
  1060. package/src/util/getClassCopy.js +0 -10
  1061. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  1062. package/src/util/getEffectiveContentDensity.js +0 -5
  1063. package/src/util/getSingletonElementInstance.js +0 -13
  1064. package/src/util/isDefaultSlotProvided.js +0 -11
  1065. package/src/util/isDescendantOf.js +0 -15
  1066. package/src/util/isElementInView.js +0 -15
  1067. package/src/util/isNodeClickable.js +0 -19
  1068. package/src/util/isNodeHidden.js +0 -9
  1069. package/src/util/isNodeTabbable.js +0 -28
  1070. package/src/util/isValidPropertyName.js +0 -29
  1071. package/src/util/setToArray.js +0 -10
  1072. package/src/util/whenDOMReady.js +0 -13
  1073. package/used-modules.txt +0 -10
@@ -1,8 +1,34 @@
1
- import Log from './Log.js';
1
+ // TODO-evo:assert on node throws an error if the assertion is violated
2
+
3
+ /**
4
+ * A simple assertion mechanism that logs a message when a given condition is not met.
5
+ *
6
+ * <b>Note:</b> Calls to this method might be removed when the JavaScript code
7
+ * is optimized during build. Therefore, callers should not rely on any side effects
8
+ * of this method.
9
+ *
10
+ * @function
11
+ * @since 1.58
12
+ * @alias module:sap/base/assert
13
+ * @param {boolean} bResult Result of the checked assertion
14
+ * @param {string|function():any} vMessage Message that will be logged when the result is <code>false</code>.
15
+ * In case this is a function, the return value of the function will be displayed. This can be used to execute
16
+ * complex code only if the assertion fails.
17
+ * @public
18
+ * @SecSink {1|SECRET} Could expose secret data in logs
19
+ *
20
+ */ /*!
21
+ * OpenUI5
22
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
23
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
24
+ */
25
+
2
26
  var fnAssert = function (bResult, vMessage) {
3
- if (!bResult) {
4
- var sMessage = typeof vMessage === 'function' ? vMessage() : vMessage;
5
- console.assert(bResult, sMessage);
6
- }
27
+ if (!bResult) {
28
+ var sMessage = typeof vMessage === "function" ? vMessage() : vMessage;
29
+ /*eslint-disable no-console */
30
+ console.assert(bResult, sMessage);
31
+ /*eslint-enable no-console */
32
+ }
7
33
  };
8
34
  export default fnAssert;
@@ -0,0 +1,20 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ import uid from "../util/uid.js";
7
+ var MemoryConfigurationProvider = function () {
8
+ this.oConfig = Object.create(null);
9
+ this.id = uid();
10
+ };
11
+ MemoryConfigurationProvider.prototype.getId = function () {
12
+ return this.id;
13
+ };
14
+ MemoryConfigurationProvider.prototype.get = function (sName) {
15
+ return this.oConfig[sName];
16
+ };
17
+ MemoryConfigurationProvider.prototype.set = function (sName, vValue) {
18
+ this.oConfig[sName] = vValue;
19
+ };
20
+ export default MemoryConfigurationProvider;
@@ -1,4 +1,11 @@
1
- var rBasicUrl = /^(?:([^:\/?#]+):)?((?:\/\/((?:\[[^\]]+\]|[^\/?#:]+))(?::([0-9]+))?)?([^?#]*))(?:\?([^#]*))?(?:#(.*))?$/;
1
+ // validation regexes
2
+ /*!
3
+ * OpenUI5
4
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
5
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
6
+ */
7
+
8
+ var rBasicUrl = /^(?:([^:\/?#]+):)?((?:[\/\\]{2,}((?:\[[^\]]+\]|[^\/?#:]+))(?::([0-9]+))?)?([^?#]*))(?:\?([^#]*))?(?:#(.*))?$/;
2
9
  var rCheckPath = /^([a-z0-9-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*$/i;
3
10
  var rCheckQuery = /^([a-z0-9-._~!$&'()*+,;=:@\/?]|%[0-9a-f]{2})*$/i;
4
11
  var rCheckFragment = rCheckQuery;
@@ -8,10 +15,45 @@ var rCheckValidIPv4 = /^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3
8
15
  var rCheckIPv6 = /^\[[^\]]+\]$/;
9
16
  var rCheckValidIPv6 = /^\[(((([0-9a-f]{1,4}:){6}|(::([0-9a-f]{1,4}:){5})|(([0-9a-f]{1,4})?::([0-9a-f]{1,4}:){4})|((([0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::([0-9a-f]{1,4}:){3})|((([0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::([0-9a-f]{1,4}:){2})|((([0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:)|((([0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::))(([0-9a-f]{1,4}:[0-9a-f]{1,4})|(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])))|((([0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4})|((([0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::))\]$/i;
10
17
  var rCheckHostName = /^([a-z0-9]([a-z0-9\-]*[a-z0-9])?\.)*[a-z0-9]([a-z0-9\-]*[a-z0-9])?$/i;
18
+ var rSpecialSchemeURLs = /^((?:ftp|https?|wss?):)([\s\S]+)$/;
19
+
20
+ /* eslint-disable no-control-regex */
21
+ var rCheckWhitespaces = /[\u0009\u000A\u000D]/;
22
+
23
+ /**
24
+ * Registry to manage allowed URLs and validate against them.
25
+ *
26
+ * @namespace
27
+ * @since 1.85
28
+ * @alias module:sap/base/security/URLListValidator
29
+ * @public
30
+ */
11
31
  var oURLListValidator = {};
32
+
33
+ /**
34
+ * Creates a new URLListValidator.Entry object
35
+ *
36
+ * @param {string} [protocol] The protocol of the URL, can be falsy to allow all protocols for an entry e.g. "", "http", "mailto"
37
+ * @param {string} [host] The host of the URL, can be falsy to allow all hosts. A wildcard asterisk can be set at the beginning, e.g. "examples.com", "*.example.com"
38
+ * @param {string} [port] The port of the URL, can be falsy to allow all ports, e.g. "", "8080"
39
+ * @param {string} [path] the path of the URL, path of the url, can be falsy to allow all paths. A wildcard asterisk can be set at the end, e.g. "/my-example*", "/my-news"
40
+ * @returns {module:sap/base/security/URLListValidator.Entry|object}
41
+ * @private
42
+ */
12
43
  oURLListValidator._createEntry = function (protocol, host, port, path) {
13
44
  return new URLListValidatorEntry(protocol, host, port, path);
14
45
  };
46
+
47
+ /**
48
+ * Entry object of the URLListValidator.
49
+ *
50
+ * @public
51
+ * @typedef {object} module:sap/base/security/URLListValidator.Entry
52
+ * @property {string} [protocol] The protocol of the URL, can be falsy to allow all protocols for an entry e.g. "", "http", "mailto"
53
+ * @property {string} [host] The host of the URL, can be falsy to allow all hosts. A wildcard asterisk can be set at the beginning, e.g. "examples.com", "*.example.com"
54
+ * @property {string} [port] The port of the URL, can be falsy to allow all ports, e.g. "", "8080"
55
+ * @property {string} [path] the path of the URL, path of the url, can be falsy to allow all paths. A wildcard asterisk can be set at the end, e.g. "/my-example*", "/my-news"
56
+ */
15
57
  function URLListValidatorEntry(protocol, host, port, path) {
16
58
  Object.defineProperties(this, {
17
59
  protocol: {
@@ -32,53 +74,254 @@ function URLListValidatorEntry(protocol, host, port, path) {
32
74
  }
33
75
  });
34
76
  }
77
+
78
+ /**
79
+ * The internally managed allowed entries.
80
+ * @private
81
+ */
35
82
  var aAllowedEntries = [];
83
+
84
+ /**
85
+ * Clears the allowed entries for URL validation.
86
+ * This makes all URLs allowed.
87
+ *
88
+ * @public
89
+ */
36
90
  oURLListValidator.clear = function () {
37
91
  aAllowedEntries = [];
38
92
  };
93
+
94
+ /**
95
+ * Adds an allowed entry.
96
+ *
97
+ * Note:
98
+ * Adding the first entry to the list of allowed entries will disallow all URLs but the ones matching the newly added entry.
99
+ *
100
+ * <b>Note</b>:
101
+ * It is strongly recommended to set a path only in combination with an origin (never set a path alone).
102
+ * There's almost no case where checking only the path of a URL would allow to ensure its validity.
103
+ *
104
+ * @param {string} [protocol] The protocol of the URL, can be falsy to allow all protocols for an entry e.g. "", "http", "mailto"
105
+ * @param {string} [host] The host of the URL, can be falsy to allow all hosts. A wildcard asterisk can be set at the beginning, e.g. "examples.com", "*.example.com"
106
+ * @param {string} [port] The port of the URL, can be falsy to allow all ports, e.g. "", "8080"
107
+ * @param {string} [path] the path of the URL, path of the url, can be falsy to allow all paths. A wildcard asterisk can be set at the end, e.g. "/my-example*", "/my-news"
108
+ * @public
109
+ */
39
110
  oURLListValidator.add = function (protocol, host, port, path) {
40
111
  var oEntry = this._createEntry(protocol, host, port, path);
41
112
  aAllowedEntries.push(oEntry);
42
113
  };
114
+
115
+ /**
116
+ * Deletes an entry from the allowed entries.
117
+ *
118
+ * Note:
119
+ * Deleting the last entry from the list of allowed entries will allow all URLs.
120
+ *
121
+ * @param {module:sap/base/security/URLListValidator.Entry} oEntry The entry to be deleted
122
+ * @private
123
+ */
43
124
  oURLListValidator._delete = function (oEntry) {
44
125
  aAllowedEntries.splice(aAllowedEntries.indexOf(oEntry), 1);
45
126
  };
127
+
128
+ /**
129
+ * Gets the list of allowed entries.
130
+ *
131
+ * @returns {module:sap/base/security/URLListValidator.Entry[]} The allowed entries
132
+ * @public
133
+ */
46
134
  oURLListValidator.entries = function () {
47
135
  return aAllowedEntries.slice();
48
136
  };
137
+
138
+ /**
139
+ * Validates a URL. Check if it's not a script or other security issue.
140
+ *
141
+ * <b>Note</b>:
142
+ * It is strongly recommended to validate only absolute URLs. There's almost no case
143
+ * where checking only the path of a URL would allow to ensure its validity.
144
+ * For compatibility reasons, this API cannot automatically resolve URLs relative to
145
+ * <code>document.baseURI</code>, but callers should do so. In that case, and when the
146
+ * allow list is not empty, an entry for the origin of <code>document.baseURI</code>
147
+ * must be added to the allow list.
148
+ *
149
+ * <h3>Details</h3>
150
+ * Splits the given URL into components and checks for allowed characters according to RFC 3986:
151
+ *
152
+ * <pre>
153
+ * authority = [ userinfo "@" ] host [ ":" port ]
154
+ * userinfo = *( unreserved / pct-encoded / sub-delims / ":" )
155
+ * host = IP-literal / IPv4address / reg-name
156
+ *
157
+ * IP-literal = "[" ( IPv6address / IPvFuture ) "]"
158
+ * IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" )
159
+ * IPv6address = 6( h16 ":" ) ls32
160
+ * / "::" 5( h16 ":" ) ls32
161
+ * / [ h16 ] "::" 4( h16 ":" ) ls32
162
+ * / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32
163
+ * / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32
164
+ * / [ *3( h16 ":" ) h16 ] "::" h16 ":" ls32
165
+ * / [ *4( h16 ":" ) h16 ] "::" ls32
166
+ * / [ *5( h16 ":" ) h16 ] "::" h16
167
+ * / [ *6( h16 ":" ) h16 ] "::"
168
+ * ls32 = ( h16 ":" h16 ) / IPv4address
169
+ * ; least-significant 32 bits of address
170
+ * h16 = 1*4HEXDIG
171
+ * ; 16 bits of address represented in hexadecimal
172
+ *
173
+ * IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet
174
+ * dec-octet = DIGIT ; 0-9
175
+ * / %x31-39 DIGIT ; 10-99
176
+ * / "1" 2DIGIT ; 100-199
177
+ * / "2" %x30-34 DIGIT ; 200-249
178
+ * / "25" %x30-35 ; 250-255
179
+ *
180
+ * reg-name = *( unreserved / pct-encoded / sub-delims )
181
+ *
182
+ * pct-encoded = "%" HEXDIG HEXDIG
183
+ * reserved = gen-delims / sub-delims
184
+ * gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"
185
+ * sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
186
+ * / "*" / "+" / "," / ";" / "="
187
+ * unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
188
+ * pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
189
+ *
190
+ * path = path-abempty ; begins with "/" or is empty
191
+ * / path-absolute ; begins with "/" but not "//"
192
+ * / path-noscheme ; begins with a non-colon segment
193
+ * / path-rootless ; begins with a segment
194
+ * / path-empty ; zero characters
195
+ *
196
+ * path-abempty = *( "/" segment )
197
+ * path-absolute = "/" [ segment-nz *( "/" segment ) ]
198
+ * path-noscheme = segment-nz-nc *( "/" segment )
199
+ * path-rootless = segment-nz *( "/" segment )
200
+ * path-empty = 0<pchar>
201
+ * segment = *pchar
202
+ * segment-nz = 1*pchar
203
+ * segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" )
204
+ * ; non-zero-length segment without any colon ":"
205
+ *
206
+ * query = *( pchar / "/" / "?" )
207
+ *
208
+ * fragment = *( pchar / "/" / "?" )
209
+ * </pre>
210
+ *
211
+ * For the hostname component, we are checking for valid DNS hostnames according to RFC 952 / RFC 1123:
212
+ *
213
+ * <pre>
214
+ * hname = name *("." name)
215
+ * name = let-or-digit ( *( let-or-digit-or-hyphen ) let-or-digit )
216
+ * </pre>
217
+ *
218
+ *
219
+ * When the URI uses the protocol 'mailto:', the address part is additionally checked
220
+ * against the most commonly used parts of RFC 6068:
221
+ *
222
+ * <pre>
223
+ * mailtoURI = "mailto:" [ to ] [ hfields ]
224
+ * to = addr-spec *("," addr-spec )
225
+ * hfields = "?" hfield *( "&" hfield )
226
+ * hfield = hfname "=" hfvalue
227
+ * hfname = *qchar
228
+ * hfvalue = *qchar
229
+ * addr-spec = local-part "@" domain
230
+ * local-part = dot-atom-text // not accepted: quoted-string
231
+ * domain = dot-atom-text // not accepted: "[" *dtext-no-obs "]"
232
+ * dtext-no-obs = %d33-90 / ; Printable US-ASCII
233
+ * %d94-126 ; characters not including
234
+ * ; "[", "]", or "\"
235
+ * qchar = unreserved / pct-encoded / some-delims
236
+ * some-delims = "!" / "$" / "'" / "(" / ")" / "*"
237
+ * / "+" / "," / ";" / ":" / "@"
238
+ *
239
+ * Note:
240
+ * A number of characters that can appear in &lt;addr-spec> MUST be
241
+ * percent-encoded. These are the characters that cannot appear in
242
+ * a URI according to [STD66] as well as "%" (because it is used for
243
+ * percent-encoding) and all the characters in gen-delims except "@"
244
+ * and ":" (i.e., "/", "?", "#", "[", and "]"). Of the characters
245
+ * in sub-delims, at least the following also have to be percent-
246
+ * encoded: "&", ";", and "=". Care has to be taken both when
247
+ * encoding as well as when decoding to make sure these operations
248
+ * are applied only once.
249
+ *
250
+ * </pre>
251
+ *
252
+ * When a list of allowed entries has been configured using {@link #add},
253
+ * any URL that passes the syntactic checks above, additionally will be tested against
254
+ * the content of this list.
255
+ *
256
+ * @param {string} sUrl URL to be validated
257
+ * @return {boolean} true if valid, false if not valid
258
+ * @public
259
+ */
49
260
  oURLListValidator.validate = function (sUrl) {
50
- var result = rBasicUrl.exec(sUrl);
261
+ // Test for not allowed whitespaces
262
+ if (typeof sUrl === "string") {
263
+ if (rCheckWhitespaces.test(sUrl)) {
264
+ return false;
265
+ }
266
+ }
267
+
268
+ // for 'special' URLs without a given base URL, the whatwg spec allows any number of slashes.
269
+ // As the rBasicUrl regular expression cannot handle 'special' URLs, the URL is modified upfront,
270
+ // if it wouldn't be recognized by the regex.
271
+ // See https://url.spec.whatwg.org/#scheme-state (case 2.6.)
272
+ var result = rSpecialSchemeURLs.exec(sUrl);
273
+ if (result && !/^[\/\\]{2}/.test(result[2])) {
274
+ sUrl = result[1] + "//" + result[2];
275
+ }
276
+ result = rBasicUrl.exec(sUrl);
51
277
  if (!result) {
52
278
  return false;
53
279
  }
54
- var sProtocol = result[1], sBody = result[2], sHost = result[3], sPort = result[4], sPath = result[5], sQuery = result[6], sHash = result[7];
280
+ var sProtocol = result[1],
281
+ sBody = result[2],
282
+ sHost = result[3],
283
+ sPort = result[4],
284
+ sPath = result[5],
285
+ sQuery = result[6],
286
+ sHash = result[7];
287
+
288
+ // protocol
55
289
  if (sProtocol) {
56
290
  sProtocol = sProtocol.toUpperCase();
57
291
  if (aAllowedEntries.length <= 0) {
58
- if (!(/^(https?|ftp)/i).test(sProtocol)) {
292
+ // no allowed entries -> check for default protocols
293
+ if (!/^(https?|ftp)/i.test(sProtocol)) {
59
294
  return false;
60
295
  }
61
296
  }
62
297
  }
298
+
299
+ // Host -> validity check for IP address or hostname
63
300
  if (sHost) {
64
301
  if (rCheckIPv4.test(sHost)) {
65
302
  if (!rCheckValidIPv4.test(sHost)) {
303
+ //invalid ipv4 address
66
304
  return false;
67
305
  }
68
306
  } else if (rCheckIPv6.test(sHost)) {
69
307
  if (!rCheckValidIPv6.test(sHost)) {
308
+ //invalid ipv6 address
70
309
  return false;
71
310
  }
72
311
  } else if (!rCheckHostName.test(sHost)) {
312
+ // invalid host name
73
313
  return false;
74
314
  }
75
315
  sHost = sHost.toUpperCase();
76
316
  }
317
+
318
+ // Path -> split for "/" and check if forbidden characters exist
77
319
  if (sPath) {
78
320
  if (sProtocol === "MAILTO") {
79
321
  var aAddresses = sBody.split(",");
80
322
  for (var i = 0; i < aAddresses.length; i++) {
81
323
  if (!rCheckMail.test(aAddresses[i])) {
324
+ // forbidden character found
82
325
  return false;
83
326
  }
84
327
  }
@@ -86,27 +329,38 @@ oURLListValidator.validate = function (sUrl) {
86
329
  var aComponents = sPath.split("/");
87
330
  for (var i = 0; i < aComponents.length; i++) {
88
331
  if (!rCheckPath.test(aComponents[i])) {
332
+ // forbidden character found
89
333
  return false;
90
334
  }
91
335
  }
92
336
  }
93
337
  }
338
+
339
+ // query
94
340
  if (sQuery) {
95
341
  if (!rCheckQuery.test(sQuery)) {
342
+ // forbidden character found
96
343
  return false;
97
344
  }
98
345
  }
346
+
347
+ // hash
99
348
  if (sHash) {
100
349
  if (!rCheckFragment.test(sHash)) {
350
+ // forbidden character found
101
351
  return false;
102
352
  }
103
353
  }
354
+
355
+ //filter allowed entries
104
356
  if (aAllowedEntries.length > 0) {
105
357
  var bFound = false;
106
358
  for (var i = 0; i < aAllowedEntries.length; i++) {
107
359
  if (!sProtocol || !aAllowedEntries[i].protocol || sProtocol == aAllowedEntries[i].protocol) {
360
+ // protocol OK
108
361
  var bOk = false;
109
- if (sHost && aAllowedEntries[i].host && (/^\*/).test(aAllowedEntries[i].host)) {
362
+ if (sHost && aAllowedEntries[i].host && /^\*/.test(aAllowedEntries[i].host)) {
363
+ // check for wildcard search at begin
110
364
  if (!aAllowedEntries[i]._hostRegexp) {
111
365
  var sHostEscaped = aAllowedEntries[i].host.slice(1).replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
112
366
  aAllowedEntries[i]._hostRegexp = RegExp(sHostEscaped + "$");
@@ -119,8 +373,11 @@ oURLListValidator.validate = function (sUrl) {
119
373
  bOk = true;
120
374
  }
121
375
  if (bOk) {
376
+ // host OK
122
377
  if (!sHost && !sPort || !aAllowedEntries[i].port || sPort == aAllowedEntries[i].port) {
123
- if (aAllowedEntries[i].path && (/\*$/).test(aAllowedEntries[i].path)) {
378
+ // port OK
379
+ if (aAllowedEntries[i].path && /\*$/.test(aAllowedEntries[i].path)) {
380
+ // check for wildcard search at end
124
381
  if (!aAllowedEntries[i]._pathRegexp) {
125
382
  var sPathEscaped = aAllowedEntries[i].path.slice(0, -1).replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
126
383
  aAllowedEntries[i]._pathRegexp = RegExp("^" + sPathEscaped);
@@ -130,6 +387,7 @@ oURLListValidator.validate = function (sUrl) {
130
387
  bFound = true;
131
388
  }
132
389
  } else if (!aAllowedEntries[i].path || sPath == aAllowedEntries[i].path) {
390
+ // path OK
133
391
  bFound = true;
134
392
  }
135
393
  }
@@ -145,4 +403,4 @@ oURLListValidator.validate = function (sUrl) {
145
403
  }
146
404
  return true;
147
405
  };
148
- export default oURLListValidator;
406
+ export default oURLListValidator;
@@ -1,14 +1,40 @@
1
- import toHex from '../strings/toHex.js';
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ import toHex from "../strings/toHex.js";
7
+ /**
8
+ * RegExp and escape function for CSS escaping
9
+ */
10
+ // eslint-disable-next-line no-control-regex -- special characters are really needed here!
2
11
  var rCSS = /[\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xff\u2028\u2029][0-9A-Fa-f]?/g;
3
12
  var fnCSS = function (sChar) {
4
- var iChar = sChar.charCodeAt(0);
5
- if (sChar.length === 1) {
6
- return '\\' + toHex(iChar);
7
- } else {
8
- return '\\' + toHex(iChar) + ' ' + sChar.substr(1);
9
- }
13
+ var iChar = sChar.charCodeAt(0);
14
+ if (sChar.length === 1) {
15
+ return "\\" + toHex(iChar);
16
+ } else {
17
+ return "\\" + toHex(iChar) + " " + sChar.substr(1);
18
+ }
10
19
  };
20
+
21
+ /*
22
+ * Encoding according to the Secure Programming Guide
23
+ * <SAPWIKI>/wiki/display/NWCUIAMSIM/XSS+Secure+Programming+Guide
24
+ */
25
+
26
+ /**
27
+ * Encode the string for inclusion into CSS string literals or identifiers.
28
+ *
29
+ * @function
30
+ * @since 1.58
31
+ * @alias module:sap/base/security/encodeCSS
32
+ * @param {string} sString The string to be escaped
33
+ * @returns {string} The encoded string
34
+ * @SecValidate {0|return|XSS} validates the given string for a CSS context
35
+ * @public
36
+ */
11
37
  var fnEncodeCSS = function (sString) {
12
- return sString.replace(rCSS, fnCSS);
38
+ return sString.replace(rCSS, fnCSS);
13
39
  };
14
40
  export default fnEncodeCSS;
@@ -1,23 +1,53 @@
1
- import toHex from '../strings/toHex.js';
2
- var rHtml = /[\x00-\x2b\x2f\x3a-\x40\x5b-\x5e\x60\x7b-\xff\u2028\u2029]/g, rHtmlReplace = /[\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\x9f]/, mHtmlLookup = {
3
- '<': '&lt;',
4
- '>': '&gt;',
5
- '&': '&amp;',
6
- '"': '&quot;'
7
- };
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ import toHex from "../strings/toHex.js";
7
+ /* eslint-disable no-control-regex -- special characters are really needed here! */
8
+ /**
9
+ * RegExp and escape function for HTML escaping
10
+ */
11
+ var rHtml = /[\x00-\x2b\x2f\x3a-\x40\x5b-\x5e\x60\x7b-\xff\u2028\u2029]/g,
12
+ rHtmlReplace = /[\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\x9f]/,
13
+ mHtmlLookup = {
14
+ "<": "&lt;",
15
+ ">": "&gt;",
16
+ "&": "&amp;",
17
+ "\"": "&quot;"
18
+ };
19
+ /* eslint-enable no-control-regex */
20
+
8
21
  var fnHtml = function (sChar) {
9
- var sEncoded = mHtmlLookup[sChar];
10
- if (!sEncoded) {
11
- if (rHtmlReplace.test(sChar)) {
12
- sEncoded = '&#xfffd;';
13
- } else {
14
- sEncoded = '&#x' + toHex(sChar.charCodeAt(0)) + ';';
15
- }
16
- mHtmlLookup[sChar] = sEncoded;
22
+ var sEncoded = mHtmlLookup[sChar];
23
+ if (!sEncoded) {
24
+ if (rHtmlReplace.test(sChar)) {
25
+ sEncoded = "&#xfffd;";
26
+ } else {
27
+ sEncoded = "&#x" + toHex(sChar.charCodeAt(0)) + ";";
17
28
  }
18
- return sEncoded;
29
+ mHtmlLookup[sChar] = sEncoded;
30
+ }
31
+ return sEncoded;
19
32
  };
33
+
34
+ /*
35
+ * Encoding according to the Secure Programming Guide
36
+ * <SAPWIKI>/wiki/display/NWCUIAMSIM/XSS+Secure+Programming+Guide
37
+ */
38
+
39
+ /**
40
+ * Encode the string for inclusion into XML content/attribute.
41
+ *
42
+ * @function
43
+ * @since 1.58
44
+ * @alias module:sap/base/security/encodeXML
45
+ * @param {string} sString The string to be escaped
46
+ * @returns {string} The encoded string
47
+ * @SecValidate {0|return|XSS} validates the given string for XML contexts
48
+ * @public
49
+ */
20
50
  var fnEncodeXML = function (sString) {
21
- return sString.replace(rHtml, fnHtml);
51
+ return sString.replace(rHtml, fnHtml);
22
52
  };
23
53
  export default fnEncodeXML;
@@ -1,16 +1,38 @@
1
- import assert from '../assert.js';
2
- import URLListValidator from './URLListValidator.js';
3
- import '../../ui/thirdparty/caja-html-sanitizer.js';
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ /*
7
+ * IMPORTANT: This is a private module, its API must not be used and is subject to change.
8
+ * Code other than the OpenUI5 libraries must not introduce dependencies to this module.
9
+ */
10
+ import assert from "../assert.js";
11
+ import URLListValidator from "./URLListValidator.js";
12
+ import "../../ui/thirdparty/caja-html-sanitizer.js";
13
+ /**
14
+ * Strips unsafe tags and attributes from HTML.
15
+ *
16
+ * @function
17
+ * @since 1.58
18
+ * @alias module:sap/base/security/sanitizeHTML
19
+ * @param {string} sHTML the HTML to be sanitized.
20
+ * @param {object} [mOptions={}] options for the sanitizer
21
+ * @return {string} sanitized HTML
22
+ * @private
23
+ */
4
24
  var fnSanitizeHTML = function (sHTML, mOptions) {
5
- assert(window.html && window.html.sanitize, 'Sanitizer should have been loaded');
6
- mOptions = mOptions || {
7
- uriRewriter: function (sUrl) {
8
- if (URLListValidator.validate(sUrl)) {
9
- return sUrl;
10
- }
11
- }
12
- };
13
- var oTagPolicy = mOptions.tagPolicy || window.html.makeTagPolicy(mOptions.uriRewriter, mOptions.tokenPolicy);
14
- return window.html.sanitizeWithPolicy(sHTML, oTagPolicy);
25
+ assert(window.html && window.html.sanitize, "Sanitizer should have been loaded");
26
+ mOptions = mOptions || {
27
+ uriRewriter: function (sUrl) {
28
+ // by default, we use the URLListValidator to check the URLs
29
+
30
+ if (URLListValidator.validate(sUrl)) {
31
+ return sUrl;
32
+ }
33
+ }
34
+ };
35
+ var oTagPolicy = mOptions.tagPolicy || window.html.makeTagPolicy(mOptions.uriRewriter, mOptions.tokenPolicy);
36
+ return window.html.sanitizeWithPolicy(sHTML, oTagPolicy);
15
37
  };
16
38
  export default fnSanitizeHTML;
@@ -1,8 +1,33 @@
1
+ /**
2
+ * Create hex string and pad to length with zeros.
3
+ * @example
4
+ * sap.ui.require(["sap/base/strings/toHex"], function(toHex){
5
+ * toHex(10, 2); // "0a"
6
+ * toHex(16, 2); // "10"
7
+ * });
8
+ *
9
+ * @function
10
+ * @since 1.58
11
+ * @private
12
+ * @alias module:sap/base/strings/toHex
13
+ * @param {int} iChar UTF-16 character code
14
+ * @param {int} [iLength=0] number of padded zeros
15
+ * @returns {string} padded hex representation of the given character code
16
+ */ /*!
17
+ * OpenUI5
18
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
19
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
20
+ */
21
+ /*
22
+ * IMPORTANT: This is a private module, its API must not be used and is subject to change.
23
+ * Code other than the OpenUI5 libraries must not introduce dependencies to this module.
24
+ */
25
+
1
26
  var fnToHex = function (iChar, iLength) {
2
27
  var sHex = iChar.toString(16);
3
28
  if (iLength) {
4
- sHex = sHex.padStart(iLength, "0");
29
+ sHex = sHex.padStart(iLength, '0');
5
30
  }
6
31
  return sHex;
7
32
  };
8
- export default fnToHex;
33
+ export default fnToHex;