@ui5/webcomponents-base 0.0.0-a8e886a07 → 0.0.0-acc6fea96

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 (647) hide show
  1. package/.npsrc.json +3 -0
  2. package/CHANGELOG.md +1812 -0
  3. package/README.md +6 -12
  4. package/cypress/specs/Accessor.cy.ts +79 -0
  5. package/cypress/specs/Boot.cy.ts +19 -0
  6. package/cypress/specs/ConfigurationChange.cy.ts +41 -0
  7. package/cypress/specs/ConfigurationScript.cy.ts +116 -0
  8. package/cypress/specs/ConfigurationURL.cy.ts +182 -0
  9. package/cypress/specs/CustomMount.cy.ts +34 -0
  10. package/cypress/specs/CustomTheme.cy.ts +36 -0
  11. package/cypress/specs/EventProvider.cy.ts +59 -0
  12. package/cypress/specs/SystemDOMElements.cy.ts +8 -0
  13. package/cypress/specs/Theming.cy.ts +74 -0
  14. package/cypress/specs/UI5ElementInvalidation.cy.ts +207 -0
  15. package/cypress/specs/UI5ElementLifecycle.cy.ts +82 -0
  16. package/cypress/specs/UI5ElementListenForChildPropChanges.cy.ts +62 -0
  17. package/cypress/specs/UI5ElementMetadataExt.cy.ts +42 -0
  18. package/cypress/specs/UI5ElementPropertyValidation.cy.ts +16 -0
  19. package/cypress/specs/UI5ElementPropsAndAttrs.cy.ts +113 -0
  20. package/cypress/specs/UI5ElementShadowDOM.cy.ts +30 -0
  21. package/cypress/specs/UI5ElementSlots.cy.ts +116 -0
  22. package/cypress/specs/WithComplexTemplate.cy.ts +32 -0
  23. package/cypress/tsconfig.json +20 -0
  24. package/cypress.config.js +3 -0
  25. package/dist/.tsbuildinfobuild +1 -0
  26. package/dist/AssetRegistry.d.ts +2 -2
  27. package/dist/AssetRegistry.js +2 -2
  28. package/dist/AssetRegistry.js.map +1 -1
  29. package/dist/Boot.d.ts +6 -4
  30. package/dist/Boot.js +37 -6
  31. package/dist/Boot.js.map +1 -1
  32. package/dist/CustomElementsRegistry.js +1 -1
  33. package/dist/CustomElementsRegistry.js.map +1 -1
  34. package/dist/CustomElementsScope.d.ts +4 -4
  35. package/dist/CustomElementsScope.js +2 -2
  36. package/dist/CustomElementsScope.js.map +1 -1
  37. package/dist/CustomElementsScopeUtils.d.ts +8 -1
  38. package/dist/CustomElementsScopeUtils.js +13 -1
  39. package/dist/CustomElementsScopeUtils.js.map +1 -1
  40. package/dist/DOMObserver.js.map +1 -1
  41. package/dist/Device.d.ts +17 -2
  42. package/dist/Device.js +116 -36
  43. package/dist/Device.js.map +1 -1
  44. package/dist/EventProvider.js +1 -1
  45. package/dist/EventProvider.js.map +1 -1
  46. package/dist/FeaturesRegistry.d.ts +16 -1
  47. package/dist/FeaturesRegistry.js +37 -1
  48. package/dist/FeaturesRegistry.js.map +1 -1
  49. package/dist/FontFace.js +6 -1
  50. package/dist/FontFace.js.map +1 -1
  51. package/dist/IgnoreCustomElements.d.ts +25 -0
  52. package/dist/IgnoreCustomElements.js +37 -0
  53. package/dist/IgnoreCustomElements.js.map +1 -0
  54. package/dist/InitialConfiguration.d.ts +15 -3
  55. package/dist/InitialConfiguration.js +42 -10
  56. package/dist/InitialConfiguration.js.map +1 -1
  57. package/dist/Keys.d.ts +8 -1
  58. package/dist/Keys.js +114 -106
  59. package/dist/Keys.js.map +1 -1
  60. package/dist/Location.d.ts +11 -0
  61. package/dist/Location.js +49 -0
  62. package/dist/Location.js.map +1 -0
  63. package/dist/ManagedStyles.d.ts +5 -6
  64. package/dist/ManagedStyles.js +45 -53
  65. package/dist/ManagedStyles.js.map +1 -1
  66. package/dist/MediaRange.d.ts +6 -12
  67. package/dist/MediaRange.js +21 -31
  68. package/dist/MediaRange.js.map +1 -1
  69. package/dist/PropertiesFileFormat.js.map +1 -1
  70. package/dist/Render.js.map +1 -1
  71. package/dist/RenderQueue.js.map +1 -1
  72. package/dist/Runtimes.js +11 -0
  73. package/dist/Runtimes.js.map +1 -1
  74. package/dist/SystemCSSVars.js.map +1 -1
  75. package/dist/Theming.js.map +1 -1
  76. package/dist/UI5Element.d.ts +114 -73
  77. package/dist/UI5Element.js +404 -251
  78. package/dist/UI5Element.js.map +1 -1
  79. package/dist/UI5ElementMetadata.d.ts +41 -27
  80. package/dist/UI5ElementMetadata.js +34 -72
  81. package/dist/UI5ElementMetadata.js.map +1 -1
  82. package/dist/animations/AnimationQueue.js.map +1 -1
  83. package/dist/animations/animate.js.map +1 -1
  84. package/dist/animations/scroll.js.map +1 -1
  85. package/dist/animations/slideDown.js.map +1 -1
  86. package/dist/animations/slideUp.js.map +1 -1
  87. package/dist/asset-registries/Icons.d.ts +22 -13
  88. package/dist/asset-registries/Icons.js +63 -31
  89. package/dist/asset-registries/Icons.js.map +1 -1
  90. package/dist/asset-registries/Illustrations.d.ts +3 -1
  91. package/dist/asset-registries/Illustrations.js +51 -20
  92. package/dist/asset-registries/Illustrations.js.map +1 -1
  93. package/dist/asset-registries/LocaleData.js +1 -1
  94. package/dist/asset-registries/LocaleData.js.map +1 -1
  95. package/dist/asset-registries/Themes.d.ts +6 -7
  96. package/dist/asset-registries/Themes.js +29 -12
  97. package/dist/asset-registries/Themes.js.map +1 -1
  98. package/dist/asset-registries/i18n.d.ts +2 -2
  99. package/dist/asset-registries/i18n.js +12 -5
  100. package/dist/asset-registries/i18n.js.map +1 -1
  101. package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
  102. package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
  103. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  104. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  105. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  106. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  107. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  108. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  109. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  110. package/dist/config/AnimationMode.d.ts +2 -2
  111. package/dist/config/AnimationMode.js +6 -1
  112. package/dist/config/AnimationMode.js.map +1 -1
  113. package/dist/config/CalendarType.d.ts +8 -1
  114. package/dist/config/CalendarType.js +23 -2
  115. package/dist/config/CalendarType.js.map +1 -1
  116. package/dist/config/ConfigurationReset.d.ts +4 -0
  117. package/dist/config/ConfigurationReset.js +11 -0
  118. package/dist/config/ConfigurationReset.js.map +1 -0
  119. package/dist/config/Fonts.d.ts +16 -0
  120. package/dist/config/Fonts.js +30 -0
  121. package/dist/config/Fonts.js.map +1 -0
  122. package/dist/config/FormatSettings.d.ts +5 -1
  123. package/dist/config/FormatSettings.js +9 -1
  124. package/dist/config/FormatSettings.js.map +1 -1
  125. package/dist/config/Icons.d.ts +31 -21
  126. package/dist/config/Icons.js +28 -32
  127. package/dist/config/Icons.js.map +1 -1
  128. package/dist/config/Language.d.ts +11 -2
  129. package/dist/config/Language.js +24 -4
  130. package/dist/config/Language.js.map +1 -1
  131. package/dist/config/NoConflict.js +5 -0
  132. package/dist/config/NoConflict.js.map +1 -1
  133. package/dist/config/Theme.d.ts +16 -5
  134. package/dist/config/Theme.js +39 -9
  135. package/dist/config/Theme.js.map +1 -1
  136. package/dist/config/ThemeRoot.d.ts +27 -0
  137. package/dist/config/ThemeRoot.js +61 -0
  138. package/dist/config/ThemeRoot.js.map +1 -0
  139. package/dist/config/Timezone.d.ts +17 -0
  140. package/dist/config/Timezone.js +34 -0
  141. package/dist/config/Timezone.js.map +1 -0
  142. package/dist/config/Tooltips.d.ts +19 -0
  143. package/dist/config/Tooltips.js +29 -0
  144. package/dist/config/Tooltips.js.map +1 -0
  145. package/dist/connectToComponent.d.ts +9 -0
  146. package/dist/connectToComponent.js +59 -0
  147. package/dist/connectToComponent.js.map +1 -0
  148. package/dist/converters/DOMReference.d.ts +5 -0
  149. package/dist/converters/DOMReference.js +13 -0
  150. package/dist/converters/DOMReference.js.map +1 -0
  151. package/dist/css/FontFace.css +47 -17
  152. package/dist/css/SystemCSSVars.css +0 -8
  153. package/dist/decorators/bound.d.ts +1 -0
  154. package/dist/decorators/bound.js +34 -0
  155. package/dist/decorators/bound.js.map +1 -0
  156. package/dist/decorators/customElement.d.ts +56 -2
  157. package/dist/decorators/customElement.js +37 -5
  158. package/dist/decorators/customElement.js.map +1 -1
  159. package/dist/decorators/event-strict.d.ts +15 -0
  160. package/dist/decorators/event-strict.js +26 -0
  161. package/dist/decorators/event-strict.js.map +1 -0
  162. package/dist/decorators/event.d.ts +8 -2
  163. package/dist/decorators/event.js +9 -6
  164. package/dist/decorators/event.js.map +1 -1
  165. package/dist/decorators/i18n.d.ts +17 -0
  166. package/dist/decorators/i18n.js +26 -0
  167. package/dist/decorators/i18n.js.map +1 -0
  168. package/dist/decorators/property.d.ts +1 -1
  169. package/dist/decorators/property.js +7 -7
  170. package/dist/decorators/property.js.map +1 -1
  171. package/dist/decorators/query.d.ts +25 -0
  172. package/dist/decorators/query.js +32 -0
  173. package/dist/decorators/query.js.map +1 -0
  174. package/dist/decorators/queryAll.d.ts +27 -0
  175. package/dist/decorators/queryAll.js +34 -0
  176. package/dist/decorators/queryAll.js.map +1 -0
  177. package/dist/decorators/slot.d.ts +1 -1
  178. package/dist/decorators/slot.js +9 -9
  179. package/dist/decorators/slot.js.map +1 -1
  180. package/dist/decorators.d.ts +8 -0
  181. package/dist/decorators.js +9 -0
  182. package/dist/decorators.js.map +1 -0
  183. package/dist/delegate/ItemNavigation.d.ts +9 -8
  184. package/dist/delegate/ItemNavigation.js +13 -14
  185. package/dist/delegate/ItemNavigation.js.map +1 -1
  186. package/dist/delegate/ResizeHandler.d.ts +6 -7
  187. package/dist/delegate/ResizeHandler.js +11 -9
  188. package/dist/delegate/ResizeHandler.js.map +1 -1
  189. package/dist/delegate/ScrollEnablement.d.ts +4 -3
  190. package/dist/delegate/ScrollEnablement.js +2 -2
  191. package/dist/delegate/ScrollEnablement.js.map +1 -1
  192. package/dist/features/F6Navigation.d.ts +6 -3
  193. package/dist/features/F6Navigation.js +102 -44
  194. package/dist/features/F6Navigation.js.map +1 -1
  195. package/dist/features/InputElementsFormSupport.d.ts +15 -0
  196. package/dist/features/InputElementsFormSupport.js +39 -0
  197. package/dist/features/InputElementsFormSupport.js.map +1 -0
  198. package/dist/features/LegacyDateFormats.d.ts +18 -0
  199. package/dist/features/LegacyDateFormats.js +20 -0
  200. package/dist/features/LegacyDateFormats.js.map +1 -0
  201. package/dist/features/OpenUI5Element.js.map +1 -1
  202. package/dist/features/OpenUI5Enablement.d.ts +3 -3
  203. package/dist/features/OpenUI5Enablement.js.map +1 -1
  204. package/dist/features/OpenUI5Support.d.ts +17 -6
  205. package/dist/features/OpenUI5Support.js +92 -46
  206. package/dist/features/OpenUI5Support.js.map +1 -1
  207. package/dist/features/patchPatcher.d.ts +11 -0
  208. package/dist/features/patchPatcher.js +11 -0
  209. package/dist/features/patchPatcher.js.map +1 -0
  210. package/dist/features/patchPopup.d.ts +15 -0
  211. package/dist/features/patchPopup.js +61 -0
  212. package/dist/features/patchPopup.js.map +1 -0
  213. package/dist/generated/AssetParameters.d.ts +6 -0
  214. package/dist/generated/AssetParameters.js +4 -9
  215. package/dist/generated/AssetParameters.js.map +1 -0
  216. package/dist/generated/VersionInfo.d.ts +10 -0
  217. package/dist/generated/VersionInfo.js +9 -8
  218. package/dist/generated/VersionInfo.js.map +1 -0
  219. package/dist/generated/css/BusyIndicator.css.d.ts +2 -0
  220. package/dist/generated/css/BusyIndicator.css.js +2 -5
  221. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  222. package/dist/generated/css/FontFace.css.d.ts +2 -0
  223. package/dist/generated/css/FontFace.css.js +2 -5
  224. package/dist/generated/css/FontFace.css.js.map +1 -0
  225. package/dist/generated/css/OverrideFontFace.css.d.ts +2 -0
  226. package/dist/generated/css/OverrideFontFace.css.js +2 -5
  227. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  228. package/dist/generated/css/SystemCSSVars.css.d.ts +2 -0
  229. package/dist/generated/css/SystemCSSVars.css.js +2 -5
  230. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  231. package/dist/getSharedResource.d.ts +1 -1
  232. package/dist/getSharedResource.js +16 -2
  233. package/dist/getSharedResource.js.map +1 -1
  234. package/{global.d.ts → dist/global.d.ts} +2 -6
  235. package/dist/i18nBundle.d.ts +2 -4
  236. package/dist/i18nBundle.js +3 -5
  237. package/dist/i18nBundle.js.map +1 -1
  238. package/dist/index.d.ts +8 -0
  239. package/dist/jsx-dev-runtime.d.ts +4 -0
  240. package/dist/jsx-dev-runtime.js +43 -0
  241. package/dist/jsx-dev-runtime.js.map +1 -0
  242. package/dist/jsx-runtime.d.ts +50 -0
  243. package/dist/jsx-runtime.js +27 -0
  244. package/dist/jsx-runtime.js.map +1 -0
  245. package/dist/jsx-utils.d.ts +3 -0
  246. package/dist/jsx-utils.js +39 -0
  247. package/dist/jsx-utils.js.map +1 -0
  248. package/dist/locale/Locale.js.map +1 -1
  249. package/dist/locale/RTLAwareRegistry.d.ts +1 -1
  250. package/dist/locale/RTLAwareRegistry.js.map +1 -1
  251. package/dist/locale/applyDirection.d.ts +3 -2
  252. package/dist/locale/applyDirection.js +3 -2
  253. package/dist/locale/applyDirection.js.map +1 -1
  254. package/dist/locale/directionChange.js.map +1 -1
  255. package/dist/locale/getEffectiveDir.d.ts +1 -1
  256. package/dist/locale/getEffectiveDir.js +3 -19
  257. package/dist/locale/getEffectiveDir.js.map +1 -1
  258. package/dist/locale/getLocale.js.map +1 -1
  259. package/dist/locale/languageChange.js.map +1 -1
  260. package/dist/locale/nextFallbackLocale.js.map +1 -1
  261. package/dist/locale/normalizeLocale.js.map +1 -1
  262. package/dist/renderer/JsxRenderer.d.ts +3 -0
  263. package/dist/renderer/JsxRenderer.js +16 -0
  264. package/dist/renderer/JsxRenderer.js.map +1 -0
  265. package/dist/renderer/LitRenderer.d.ts +5 -5
  266. package/dist/renderer/LitRenderer.js +5 -10
  267. package/dist/renderer/LitRenderer.js.map +1 -1
  268. package/dist/renderer/directives/style-map.d.ts +13 -0
  269. package/dist/renderer/directives/style-map.js +59 -59
  270. package/dist/renderer/directives/style-map.js.map +1 -0
  271. package/dist/renderer/executeTemplate.d.ts +3 -4
  272. package/dist/renderer/executeTemplate.js +1 -19
  273. package/dist/renderer/executeTemplate.js.map +1 -1
  274. package/dist/sap/base/Log.js +698 -188
  275. package/dist/sap/base/assert.js +28 -1
  276. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  277. package/dist/sap/base/security/URLListValidator.js +253 -6
  278. package/dist/sap/base/security/encodeCSS.js +34 -8
  279. package/dist/sap/base/security/encodeXML.js +47 -17
  280. package/dist/sap/base/security/sanitizeHTML.js +35 -13
  281. package/dist/sap/base/strings/toHex.js +27 -2
  282. package/dist/sap/base/util/now.js +24 -3
  283. package/dist/sap/base/util/uid.js +27 -0
  284. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +113 -98
  285. package/dist/ssr-dom-shim.d.ts +1 -0
  286. package/dist/ssr-dom-shim.js +12 -0
  287. package/dist/ssr-dom-shim.js.map +1 -0
  288. package/dist/ssr-dom.d.ts +1 -0
  289. package/dist/ssr-dom.js +3 -0
  290. package/dist/ssr-dom.js.map +1 -0
  291. package/dist/theming/CustomStyle.js +7 -5
  292. package/dist/theming/CustomStyle.js.map +1 -1
  293. package/dist/theming/ThemeLoaded.js.map +1 -1
  294. package/dist/theming/ThemeRegistered.d.ts +4 -0
  295. package/dist/theming/ThemeRegistered.js +11 -0
  296. package/dist/theming/ThemeRegistered.js.map +1 -0
  297. package/dist/theming/applyTheme.js +9 -8
  298. package/dist/theming/applyTheme.js.map +1 -1
  299. package/dist/theming/getConstructableStyle.d.ts +2 -2
  300. package/dist/theming/getConstructableStyle.js +3 -3
  301. package/dist/theming/getConstructableStyle.js.map +1 -1
  302. package/dist/theming/getEffectiveStyle.d.ts +1 -1
  303. package/dist/theming/getEffectiveStyle.js +5 -12
  304. package/dist/theming/getEffectiveStyle.js.map +1 -1
  305. package/dist/theming/getStylesString.d.ts +1 -1
  306. package/dist/theming/getStylesString.js +2 -4
  307. package/dist/theming/getStylesString.js.map +1 -1
  308. package/dist/theming/getThemeDesignerTheme.js +2 -1
  309. package/dist/theming/getThemeDesignerTheme.js.map +1 -1
  310. package/dist/thirdparty/_merge.js.map +1 -1
  311. package/dist/thirdparty/isPlainObject.js.map +1 -1
  312. package/dist/thirdparty/merge.js.map +1 -1
  313. package/dist/thirdparty/preact/jsx.d.ts +2616 -0
  314. package/dist/thirdparty/preact/jsxRuntime.module.d.ts +62 -0
  315. package/dist/thirdparty/preact/jsxRuntime.module.js +2 -0
  316. package/dist/thirdparty/preact/preact.module.d.ts +398 -0
  317. package/dist/thirdparty/preact/preact.module.js +2 -0
  318. package/dist/types/AnimationMode.d.ts +0 -8
  319. package/dist/types/AnimationMode.js +0 -8
  320. package/dist/types/AnimationMode.js.map +1 -1
  321. package/dist/types/CalendarType.d.ts +0 -9
  322. package/dist/types/CalendarType.js +0 -9
  323. package/dist/types/CalendarType.js.map +1 -1
  324. package/dist/types/InvisibleMessageMode.d.ts +5 -10
  325. package/dist/types/InvisibleMessageMode.js +4 -11
  326. package/dist/types/InvisibleMessageMode.js.map +1 -1
  327. package/dist/types/ItemNavigationBehavior.d.ts +0 -6
  328. package/dist/types/ItemNavigationBehavior.js +0 -6
  329. package/dist/types/ItemNavigationBehavior.js.map +1 -1
  330. package/dist/types/MovePlacement.d.ts +20 -0
  331. package/dist/types/MovePlacement.js +22 -0
  332. package/dist/types/MovePlacement.js.map +1 -0
  333. package/dist/types/NavigationMode.d.ts +0 -8
  334. package/dist/types/NavigationMode.js +0 -8
  335. package/dist/types/NavigationMode.js.map +1 -1
  336. package/dist/types/Orientation.d.ts +16 -0
  337. package/dist/types/Orientation.js +18 -0
  338. package/dist/types/Orientation.js.map +1 -0
  339. package/dist/types/ValueState.d.ts +3 -17
  340. package/dist/types/ValueState.js +3 -17
  341. package/dist/types/ValueState.js.map +1 -1
  342. package/dist/types.d.ts +37 -14
  343. package/dist/types.js.map +1 -1
  344. package/dist/updateShadowRoot.d.ts +1 -2
  345. package/dist/updateShadowRoot.js +4 -21
  346. package/dist/updateShadowRoot.js.map +1 -1
  347. package/dist/util/AccessibilityTextsHelper.d.ts +17 -0
  348. package/dist/util/AccessibilityTextsHelper.js +199 -0
  349. package/dist/util/AccessibilityTextsHelper.js.map +1 -0
  350. package/dist/util/Caret.js.map +1 -1
  351. package/dist/util/ColorConversion.d.ts +2 -1
  352. package/dist/util/ColorConversion.js +212 -197
  353. package/dist/util/ColorConversion.js.map +1 -1
  354. package/dist/util/FetchHelper.js.map +1 -1
  355. package/dist/util/FocusableElements.js +26 -14
  356. package/dist/util/FocusableElements.js.map +1 -1
  357. package/dist/util/HTMLSanitizer.js.map +1 -1
  358. package/dist/util/InvisibleMessage.js +2 -2
  359. package/dist/util/InvisibleMessage.js.map +1 -1
  360. package/dist/util/PopupUtils.d.ts +1 -3
  361. package/dist/util/PopupUtils.js +1 -15
  362. package/dist/util/PopupUtils.js.map +1 -1
  363. package/dist/util/SelectionAssistant.d.ts +12 -0
  364. package/dist/util/SelectionAssistant.js +79 -0
  365. package/dist/util/SelectionAssistant.js.map +1 -0
  366. package/dist/util/SlotsHelper.js.map +1 -1
  367. package/dist/util/StringHelper.d.ts +3 -1
  368. package/dist/util/StringHelper.js +15 -1
  369. package/dist/util/StringHelper.js.map +1 -1
  370. package/dist/util/TabbableElements.js +3 -10
  371. package/dist/util/TabbableElements.js.map +1 -1
  372. package/dist/util/arraysAreEqual.js.map +1 -1
  373. package/dist/util/clamp.js +2 -1
  374. package/dist/util/clamp.js.map +1 -1
  375. package/dist/util/createLinkInHead.d.ts +1 -1
  376. package/dist/util/createLinkInHead.js +1 -1
  377. package/dist/util/createLinkInHead.js.map +1 -1
  378. package/dist/util/debounce.js.map +1 -1
  379. package/dist/util/detectNavigatorLanguage.d.ts +2 -2
  380. package/dist/util/detectNavigatorLanguage.js +6 -1
  381. package/dist/util/detectNavigatorLanguage.js.map +1 -1
  382. package/dist/util/dragAndDrop/DragRegistry.d.ts +33 -0
  383. package/dist/util/dragAndDrop/DragRegistry.js +66 -0
  384. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
  385. package/dist/util/dragAndDrop/findClosestPosition.d.ts +11 -0
  386. package/dist/util/dragAndDrop/findClosestPosition.js +102 -0
  387. package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
  388. package/dist/util/dragAndDrop/handleDragOver.d.ts +16 -0
  389. package/dist/util/dragAndDrop/handleDragOver.js +42 -0
  390. package/dist/util/dragAndDrop/handleDragOver.js.map +1 -0
  391. package/dist/util/dragAndDrop/handleDrop.d.ts +5 -0
  392. package/dist/util/dragAndDrop/handleDrop.js +22 -0
  393. package/dist/util/dragAndDrop/handleDrop.js.map +1 -0
  394. package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
  395. package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
  396. package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
  397. package/dist/util/escapeRegex.js.map +1 -1
  398. package/dist/util/fixSafariActiveState.d.ts +2 -0
  399. package/dist/util/fixSafariActiveState.js +11 -0
  400. package/dist/util/fixSafariActiveState.js.map +1 -0
  401. package/dist/util/formatMessage.js.map +1 -1
  402. package/dist/util/generateHighlightedMarkup.js.map +1 -1
  403. package/dist/util/getActiveElement.js.map +1 -1
  404. package/dist/util/getClassCopy.d.ts +142 -104
  405. package/dist/util/getClassCopy.js.map +1 -1
  406. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -2
  407. package/dist/util/getDesigntimePropertyAsArray.js +2 -1
  408. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -1
  409. package/dist/util/getEffectiveContentDensity.js.map +1 -1
  410. package/dist/util/getEffectiveScrollbarStyle.d.ts +1 -1
  411. package/dist/util/getEffectiveScrollbarStyle.js +31 -1
  412. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -1
  413. package/dist/util/getFastNavigationGroups.js.map +1 -1
  414. package/dist/util/getFileExtension.js.map +1 -1
  415. package/dist/util/getNormalizedTarget.js.map +1 -1
  416. package/dist/util/getSingletonElementInstance.d.ts +10 -1
  417. package/dist/util/getSingletonElementInstance.js +11 -2
  418. package/dist/util/getSingletonElementInstance.js.map +1 -1
  419. package/dist/util/hash2str.d.ts +1 -0
  420. package/dist/util/hash2str.js +14 -0
  421. package/dist/util/hash2str.js.map +1 -0
  422. package/dist/util/isElementClickable.js.map +1 -1
  423. package/dist/util/isElementHidden.js.map +1 -1
  424. package/dist/util/isElementInView.js.map +1 -1
  425. package/dist/util/isElementTabbable.js +2 -2
  426. package/dist/util/isElementTabbable.js.map +1 -1
  427. package/dist/util/isValidPropertyName.js.map +1 -1
  428. package/dist/util/toLowercaseEnumValue.d.ts +3 -0
  429. package/dist/util/toLowercaseEnumValue.js +4 -0
  430. package/dist/util/toLowercaseEnumValue.js.map +1 -0
  431. package/dist/util/whenDOMReady.js.map +1 -1
  432. package/dist/util/willShowContent.js.map +1 -1
  433. package/dist/validateThemeRoot.js +15 -13
  434. package/dist/validateThemeRoot.js.map +1 -1
  435. package/index.js +205 -1
  436. package/package-scripts.cjs +74 -0
  437. package/package.json +31 -9
  438. package/src/css/FontFace.css +47 -17
  439. package/src/css/SystemCSSVars.css +0 -8
  440. package/src/thirdparty/preact/jsxRuntime.module.js +2 -0
  441. package/src/thirdparty/preact/preact.module.js +2 -0
  442. package/src/thirdparty/preact/version.txt +1 -0
  443. package/tsconfig.json +19 -12
  444. package/.eslintignore +0 -15
  445. package/bundle.esm.js +0 -60
  446. package/config/wdio.conf.js +0 -1
  447. package/dist/CSP.d.ts +0 -30
  448. package/dist/CSP.js +0 -51
  449. package/dist/CSP.js.map +0 -1
  450. package/dist/MarkedEvents.d.ts +0 -9
  451. package/dist/MarkedEvents.js +0 -15
  452. package/dist/MarkedEvents.js.map +0 -1
  453. package/dist/StaticArea.d.ts +0 -0
  454. package/dist/StaticArea.js +0 -6
  455. package/dist/StaticArea.js.map +0 -1
  456. package/dist/StaticAreaItem.d.ts +0 -36
  457. package/dist/StaticAreaItem.js +0 -99
  458. package/dist/StaticAreaItem.js.map +0 -1
  459. package/dist/api.json +0 -1
  460. package/dist/assets/bundle.esm.07cba5ff.js +0 -56
  461. package/dist/assets-meta/IconCollectionsAlias.d.ts +0 -17
  462. package/dist/assets-meta/IconCollectionsAlias.js +0 -18
  463. package/dist/assets-meta/IconCollectionsAlias.js.map +0 -1
  464. package/dist/config/RTL.d.ts +0 -7
  465. package/dist/config/RTL.js +0 -34
  466. package/dist/config/RTL.js.map +0 -1
  467. package/dist/config/ThemeRoots.d.ts +0 -4
  468. package/dist/config/ThemeRoots.js +0 -28
  469. package/dist/config/ThemeRoots.js.map +0 -1
  470. package/dist/decorators/fastNavigation.d.ts +0 -7
  471. package/dist/decorators/fastNavigation.js +0 -13
  472. package/dist/decorators/fastNavigation.js.map +0 -1
  473. package/dist/decorators/languageAware.d.ts +0 -7
  474. package/dist/decorators/languageAware.js +0 -13
  475. package/dist/decorators/languageAware.js.map +0 -1
  476. package/dist/decorators/themeAware.d.ts +0 -7
  477. package/dist/decorators/themeAware.js +0 -13
  478. package/dist/decorators/themeAware.js.map +0 -1
  479. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +0 -11
  480. package/dist/theming/getEffectiveLinksHrefs.d.ts +0 -3
  481. package/dist/theming/getEffectiveLinksHrefs.js +0 -17
  482. package/dist/theming/getEffectiveLinksHrefs.js.map +0 -1
  483. package/dist/theming/preloadLinks.d.ts +0 -3
  484. package/dist/theming/preloadLinks.js +0 -19
  485. package/dist/theming/preloadLinks.js.map +0 -1
  486. package/dist/types/CSSColor.d.ts +0 -16
  487. package/dist/types/CSSColor.js +0 -19
  488. package/dist/types/CSSColor.js.map +0 -1
  489. package/dist/types/DOMReference.d.ts +0 -17
  490. package/dist/types/DOMReference.js +0 -25
  491. package/dist/types/DOMReference.js.map +0 -1
  492. package/dist/types/DataType.d.ts +0 -25
  493. package/dist/types/DataType.js +0 -44
  494. package/dist/types/DataType.js.map +0 -1
  495. package/dist/types/Float.d.ts +0 -18
  496. package/dist/types/Float.js +0 -22
  497. package/dist/types/Float.js.map +0 -1
  498. package/dist/types/Integer.d.ts +0 -18
  499. package/dist/types/Integer.js +0 -22
  500. package/dist/types/Integer.js.map +0 -1
  501. package/dist/util/AriaLabelHelper.d.ts +0 -6
  502. package/dist/util/AriaLabelHelper.js +0 -44
  503. package/dist/util/AriaLabelHelper.js.map +0 -1
  504. package/dist/util/createStyleInHead.d.ts +0 -8
  505. package/dist/util/createStyleInHead.js +0 -18
  506. package/dist/util/createStyleInHead.js.map +0 -1
  507. package/lib/generate-asset-parameters/index.js +0 -25
  508. package/lib/generate-styles/index.js +0 -26
  509. package/lib/generate-version-info/index.js +0 -32
  510. package/package-scripts.js +0 -67
  511. package/src/AssetRegistry.ts +0 -11
  512. package/src/Boot.ts +0 -61
  513. package/src/CSP.ts +0 -66
  514. package/src/CustomElementsRegistry.ts +0 -98
  515. package/src/CustomElementsScope.ts +0 -33
  516. package/src/CustomElementsScopeUtils.ts +0 -115
  517. package/src/DOMObserver.ts +0 -28
  518. package/src/Device.ts +0 -124
  519. package/src/EventProvider.ts +0 -87
  520. package/src/FeaturesRegistry.ts +0 -14
  521. package/src/FontFace.ts +0 -31
  522. package/src/InitialConfiguration.ts +0 -207
  523. package/src/Keys.ts +0 -295
  524. package/src/ManagedStyles.ts +0 -92
  525. package/src/MarkedEvents.ts +0 -20
  526. package/src/MediaRange.ts +0 -110
  527. package/src/PropertiesFileFormat.ts +0 -95
  528. package/src/Render.ts +0 -180
  529. package/src/RenderQueue.ts +0 -71
  530. package/src/Runtimes.ts +0 -114
  531. package/src/StaticArea.ts +0 -3
  532. package/src/StaticAreaItem.ts +0 -113
  533. package/src/SystemCSSVars.ts +0 -10
  534. package/src/Theming.ts +0 -4
  535. package/src/UI5Element.ts +0 -1155
  536. package/src/UI5ElementMetadata.ts +0 -389
  537. package/src/animations/AnimationQueue.ts +0 -43
  538. package/src/animations/animate.ts +0 -64
  539. package/src/animations/scroll.ts +0 -21
  540. package/src/animations/slideDown.ts +0 -72
  541. package/src/animations/slideUp.ts +0 -67
  542. package/src/asset-registries/Icons.ts +0 -162
  543. package/src/asset-registries/Illustrations.ts +0 -75
  544. package/src/asset-registries/LocaleData.ts +0 -172
  545. package/src/asset-registries/Themes.ts +0 -67
  546. package/src/asset-registries/i18n.ts +0 -118
  547. package/src/assets-meta/IconCollectionsAlias.ts +0 -18
  548. package/src/config/AnimationMode.ts +0 -33
  549. package/src/config/CalendarType.ts +0 -23
  550. package/src/config/FormatSettings.ts +0 -21
  551. package/src/config/Icons.ts +0 -59
  552. package/src/config/Language.ts +0 -72
  553. package/src/config/NoConflict.ts +0 -67
  554. package/src/config/RTL.ts +0 -41
  555. package/src/config/Theme.ts +0 -64
  556. package/src/config/ThemeRoots.ts +0 -41
  557. package/src/decorators/customElement.ts +0 -17
  558. package/src/decorators/event.ts +0 -28
  559. package/src/decorators/fastNavigation.ts +0 -14
  560. package/src/decorators/languageAware.ts +0 -14
  561. package/src/decorators/property.ts +0 -30
  562. package/src/decorators/slot.ts +0 -49
  563. package/src/decorators/themeAware.ts +0 -14
  564. package/src/delegate/ItemNavigation.ts +0 -393
  565. package/src/delegate/ResizeHandler.ts +0 -95
  566. package/src/delegate/ScrollEnablement.ts +0 -221
  567. package/src/features/F6Navigation.ts +0 -141
  568. package/src/features/OpenUI5Element.ts +0 -11
  569. package/src/features/OpenUI5Enablement.ts +0 -117
  570. package/src/features/OpenUI5Support.ts +0 -148
  571. package/src/getSharedResource.ts +0 -30
  572. package/src/i18nBundle.ts +0 -108
  573. package/src/locale/Locale.ts +0 -101
  574. package/src/locale/RTLAwareRegistry.ts +0 -16
  575. package/src/locale/applyDirection.ts +0 -18
  576. package/src/locale/directionChange.ts +0 -34
  577. package/src/locale/getEffectiveDir.ts +0 -28
  578. package/src/locale/getLocale.ts +0 -46
  579. package/src/locale/languageChange.ts +0 -24
  580. package/src/locale/nextFallbackLocale.ts +0 -28
  581. package/src/locale/normalizeLocale.ts +0 -56
  582. package/src/renderer/LitRenderer.ts +0 -60
  583. package/src/renderer/directives/style-map.js +0 -72
  584. package/src/renderer/executeTemplate.ts +0 -40
  585. package/src/theming/CustomStyle.ts +0 -62
  586. package/src/theming/ThemeLoaded.ts +0 -24
  587. package/src/theming/applyTheme.ts +0 -90
  588. package/src/theming/getConstructableStyle.ts +0 -31
  589. package/src/theming/getEffectiveLinksHrefs.ts +0 -26
  590. package/src/theming/getEffectiveStyle.ts +0 -41
  591. package/src/theming/getStylesString.ts +0 -15
  592. package/src/theming/getThemeDesignerTheme.ts +0 -101
  593. package/src/theming/preloadLinks.ts +0 -24
  594. package/src/thirdparty/_merge.ts +0 -32
  595. package/src/thirdparty/isPlainObject.ts +0 -18
  596. package/src/thirdparty/merge.ts +0 -5
  597. package/src/types/AnimationMode.ts +0 -33
  598. package/src/types/CSSColor.ts +0 -20
  599. package/src/types/CalendarType.ts +0 -38
  600. package/src/types/DOMReference.ts +0 -28
  601. package/src/types/DataType.ts +0 -51
  602. package/src/types/Float.ts +0 -25
  603. package/src/types/Integer.ts +0 -25
  604. package/src/types/InvisibleMessageMode.ts +0 -27
  605. package/src/types/ItemNavigationBehavior.ts +0 -26
  606. package/src/types/NavigationMode.ts +0 -33
  607. package/src/types/ValueState.ts +0 -47
  608. package/src/types.ts +0 -30
  609. package/src/updateShadowRoot.ts +0 -37
  610. package/src/util/AriaLabelHelper.ts +0 -63
  611. package/src/util/Caret.ts +0 -28
  612. package/src/util/ColorConversion.ts +0 -399
  613. package/src/util/FetchHelper.ts +0 -31
  614. package/src/util/FocusableElements.ts +0 -82
  615. package/src/util/HTMLSanitizer.ts +0 -9
  616. package/src/util/InvisibleMessage.ts +0 -69
  617. package/src/util/PopupUtils.ts +0 -112
  618. package/src/util/SlotsHelper.ts +0 -39
  619. package/src/util/StringHelper.ts +0 -26
  620. package/src/util/TabbableElements.ts +0 -70
  621. package/src/util/arraysAreEqual.ts +0 -15
  622. package/src/util/clamp.ts +0 -12
  623. package/src/util/createLinkInHead.ts +0 -25
  624. package/src/util/createStyleInHead.ts +0 -20
  625. package/src/util/debounce.ts +0 -18
  626. package/src/util/detectNavigatorLanguage.ts +0 -13
  627. package/src/util/escapeRegex.ts +0 -11
  628. package/src/util/formatMessage.ts +0 -24
  629. package/src/util/generateHighlightedMarkup.ts +0 -43
  630. package/src/util/getActiveElement.ts +0 -11
  631. package/src/util/getClassCopy.ts +0 -12
  632. package/src/util/getDesigntimePropertyAsArray.ts +0 -4
  633. package/src/util/getEffectiveContentDensity.ts +0 -5
  634. package/src/util/getEffectiveScrollbarStyle.ts +0 -5
  635. package/src/util/getFastNavigationGroups.ts +0 -63
  636. package/src/util/getFileExtension.ts +0 -21
  637. package/src/util/getNormalizedTarget.ts +0 -16
  638. package/src/util/getSingletonElementInstance.ts +0 -13
  639. package/src/util/isElementClickable.ts +0 -19
  640. package/src/util/isElementHidden.ts +0 -9
  641. package/src/util/isElementInView.ts +0 -15
  642. package/src/util/isElementTabbable.ts +0 -37
  643. package/src/util/isValidPropertyName.ts +0 -29
  644. package/src/util/whenDOMReady.ts +0 -13
  645. package/src/util/willShowContent.ts +0 -7
  646. package/src/validateThemeRoot.ts +0 -58
  647. package/used-modules.txt +0 -10
@@ -1,141 +0,0 @@
1
- import { registerFeature } from "../FeaturesRegistry.js";
2
- import { isF6Next, isF6Previous } from "../Keys.js";
3
- import { instanceOfUI5Element } from "../UI5Element.js";
4
- import { getFirstFocusableElement } from "../util/FocusableElements.js";
5
- import getFastNavigationGroups from "../util/getFastNavigationGroups.js";
6
-
7
- class F6Navigation {
8
- static _instance: F6Navigation;
9
- keydownHandler: (event: KeyboardEvent) => void;
10
- selectedGroup: HTMLElement | null = null;
11
- groups: Array<HTMLElement> = [];
12
-
13
- constructor() {
14
- this.keydownHandler = this._keydownHandler.bind(this) as (event: KeyboardEvent) => void;
15
- this.attachEventListeners();
16
- }
17
-
18
- attachEventListeners() {
19
- document.addEventListener("keydown", this.keydownHandler);
20
- }
21
-
22
- async _keydownHandler(event: KeyboardEvent) {
23
- if (isF6Next(event)) {
24
- this.updateGroups();
25
-
26
- if (this.groups.length < 1) {
27
- return;
28
- }
29
-
30
- event.preventDefault();
31
-
32
- let nextIndex = -1;
33
- let nextElement;
34
- if (this.selectedGroup) {
35
- nextIndex = this.groups.indexOf(this.selectedGroup);
36
- }
37
-
38
- if (nextIndex > -1) {
39
- if (nextIndex + 1 >= this.groups.length) {
40
- nextElement = this.groups[0];
41
- } else {
42
- nextElement = this.groups[nextIndex + 1];
43
- }
44
- } else {
45
- nextElement = this.groups[0];
46
- }
47
-
48
- const nextElementDomRef = instanceOfUI5Element(nextElement) ? nextElement.getDomRef() : nextElement;
49
-
50
- if (nextElementDomRef) {
51
- const elementToFocus = await getFirstFocusableElement(nextElementDomRef, true);
52
- elementToFocus?.focus();
53
- }
54
- }
55
-
56
- if (isF6Previous(event)) {
57
- this.updateGroups();
58
-
59
- if (this.groups.length < 1) {
60
- return;
61
- }
62
-
63
- event.preventDefault();
64
-
65
- let nextIndex = -1;
66
- let nextElement;
67
- if (this.selectedGroup) {
68
- nextIndex = this.groups.indexOf(this.selectedGroup);
69
- }
70
-
71
- if (nextIndex > 0) {
72
- // Handle the situation where the first focusable element of two neighbor groups is the same
73
- // For example:
74
- // <ui5-flexible-column-layout>
75
- // <ui5-list>
76
- // <ui5-li>List Item</ui5-li>
77
- // </ui5-list>
78
- // </ui5-flexible-column-layout>
79
- // Here for both FCL & List the firstFoccusableElement is the same (the ui5-li)
80
-
81
- const firstFocusable = await getFirstFocusableElement(this.groups[nextIndex - 1], true);
82
- const shouldSkipParent = firstFocusable === await getFirstFocusableElement(this.groups[nextIndex], true);
83
-
84
- nextElement = this.groups[shouldSkipParent ? nextIndex - 2 : nextIndex - 1];
85
- } else {
86
- nextElement = this.groups[this.groups.length - 1];
87
- }
88
-
89
- const nextElementDomRef = instanceOfUI5Element(nextElement) ? nextElement.getDomRef() : nextElement;
90
-
91
- if (nextElementDomRef) {
92
- const elementToFocus = await getFirstFocusableElement(nextElementDomRef, true);
93
- elementToFocus?.focus();
94
- }
95
- }
96
- }
97
-
98
- removeEventListeners() {
99
- document.removeEventListener("keydown", this.keydownHandler);
100
- }
101
-
102
- updateGroups() {
103
- this.setSelectedGroup();
104
- this.groups = getFastNavigationGroups(document.body);
105
- }
106
-
107
- setSelectedGroup(root: DocumentOrShadowRoot = window.document) {
108
- const htmlElement = window.document.querySelector("html");
109
- let element: Element | null | ParentNode = this.deepActive(root);
110
-
111
- while (element && (element as Element).getAttribute("data-sap-ui-fastnavgroup") !== "true" && element !== htmlElement) {
112
- element = element.parentElement ? element.parentNode : (element.parentNode as ShadowRoot).host;
113
- }
114
-
115
- this.selectedGroup = element as HTMLElement;
116
- }
117
-
118
- deepActive(root: DocumentOrShadowRoot): Element | null {
119
- if (root.activeElement && root.activeElement.shadowRoot) {
120
- return this.deepActive(root.activeElement.shadowRoot);
121
- }
122
-
123
- return root.activeElement;
124
- }
125
-
126
- destroy() {
127
- this.removeEventListeners();
128
- }
129
-
130
- static init() {
131
- if (!this._instance) {
132
- this._instance = new F6Navigation();
133
- }
134
-
135
- return this._instance;
136
- }
137
- }
138
-
139
- registerFeature("F6Navigation", F6Navigation);
140
-
141
- export default F6Navigation;
@@ -1,11 +0,0 @@
1
- import UI5Element from "../UI5Element.js";
2
-
3
- class OpenUI5Element extends UI5Element {
4
- __isBusy?: boolean;
5
- isOpenUI5Component?: boolean;
6
- __suppressFocusIn?: () => void;
7
- __suppressFocusBack?: (e: KeyboardEvent) => void;
8
- __redirectFocus?: boolean;
9
- }
10
-
11
- export default OpenUI5Element;
@@ -1,117 +0,0 @@
1
- import { TemplateResult } from "lit-html";
2
- import { registerFeature } from "../FeaturesRegistry.js";
3
- import BusyIndicatorStyles from "../generated/css/BusyIndicator.css.js";
4
- import merge from "../thirdparty/merge.js";
5
- import {
6
- isTabPrevious,
7
- } from "../Keys.js";
8
-
9
- import type UI5Element from "../UI5Element.js";
10
- import type OpenUI5Element from "./OpenUI5Element.js";
11
-
12
- const busyIndicatorMetadata = {
13
- properties: {
14
- __isBusy: {
15
- type: Boolean,
16
- },
17
- },
18
- };
19
-
20
- class OpenUI5Enablement {
21
- static wrapTemplateResultInBusyMarkup(html: (strings: TemplateStringsArray, ...values: Array<unknown>) => TemplateResult, host: OpenUI5Element, templateResult: TemplateResult) {
22
- if (host.isOpenUI5Component && host.__isBusy) {
23
- templateResult = html`
24
- <div class="busy-indicator-wrapper">
25
- <span tabindex="0" busy-indicator-before-span @focusin=${host.__suppressFocusIn}></span>
26
- ${templateResult}
27
- <div class="busy-indicator-overlay"></div>
28
- <div busy-indicator
29
- class="busy-indicator-busy-area"
30
- tabindex="0"
31
- role="progressbar"
32
- @keydown=${host.__suppressFocusBack}
33
- aria-valuemin="0"
34
- aria-valuemax="100"
35
- aria-valuetext="Busy">
36
- <div>
37
- <div class="busy-indicator-circle circle-animation-0"></div>
38
- <div class="busy-indicator-circle circle-animation-1"></div>
39
- <div class="busy-indicator-circle circle-animation-2"></div>
40
- </div>
41
- </div>
42
- </div>`;
43
- }
44
-
45
- return templateResult;
46
- }
47
-
48
- static enrichBusyIndicatorSettings(klass: typeof UI5Element) {
49
- OpenUI5Enablement.enrichBusyIndicatorMetadata(klass);
50
- OpenUI5Enablement.enrichBusyIndicatorMethods(klass.prototype);
51
- }
52
-
53
- static enrichBusyIndicatorMetadata(klass: typeof UI5Element) {
54
- klass.metadata = merge(klass.metadata, busyIndicatorMetadata);
55
- }
56
-
57
- static enrichBusyIndicatorMethods(UI5ElementPrototype: typeof OpenUI5Element.prototype) {
58
- Object.defineProperties(UI5ElementPrototype, {
59
- "__redirectFocus": { value: true, writable: true },
60
- "__suppressFocusBack": {
61
- get() {
62
- return {
63
- handleEvent: (e: KeyboardEvent) => {
64
- if (isTabPrevious(e)) {
65
- const beforeElem = this.shadowRoot.querySelector("[busy-indicator-before-span]");
66
- this.__redirectFocus = false;
67
- beforeElem.focus();
68
- this.__redirectFocus = true;
69
- }
70
- },
71
- capture: true,
72
- passive: false,
73
- };
74
- },
75
- },
76
- "isOpenUI5Component": { get: () => { return true; } },
77
- });
78
-
79
- UI5ElementPrototype.__suppressFocusIn = function handleFocusIn() {
80
- const busyIndicator = this.shadowRoot?.querySelector("[busy-indicator]") as HTMLElement;
81
- if (busyIndicator && this.__redirectFocus) {
82
- busyIndicator.focus();
83
- }
84
- };
85
-
86
- UI5ElementPrototype.getDomRef = function getDomRef() {
87
- // If a component set _getRealDomRef to its children, use the return value of this function
88
- if (typeof this._getRealDomRef === "function") {
89
- return this._getRealDomRef();
90
- }
91
-
92
- if (!this.shadowRoot || this.shadowRoot.children.length === 0) {
93
- return;
94
- }
95
-
96
- const children = [...this.shadowRoot.children].filter(child => !["link", "style"].includes(child.localName));
97
-
98
- if (children.length !== 1) {
99
- console.warn(`The shadow DOM for ${(this.constructor as typeof UI5Element).getMetadata().getTag()} does not have a top level element, the getDomRef() method might not work as expected`); // eslint-disable-line
100
- }
101
-
102
- if (this.__isBusy) {
103
- return children[0].querySelector(".busy-indicator-wrapper > :not([busy-indicator-before-span]):not(.busy-indicator-overlay):not(.busy-indicator-busy-area)") as HTMLElement;
104
- }
105
-
106
- return children[0] as HTMLElement;
107
- };
108
- }
109
-
110
- static getBusyIndicatorStyles() {
111
- return BusyIndicatorStyles;
112
- }
113
- }
114
-
115
- registerFeature("OpenUI5Enablement", OpenUI5Enablement);
116
-
117
- export default OpenUI5Enablement;
@@ -1,148 +0,0 @@
1
- import { registerFeature } from "../FeaturesRegistry.js";
2
- import { setTheme } from "../config/Theme.js";
3
- import { getCurrentZIndex } from "../util/PopupUtils.js";
4
- import { CLDRData } from "../asset-registries/LocaleData.js";
5
-
6
- type OpenUI5Popup = {
7
- setInitialZIndex: (zIndex: number) => void,
8
- getNextZIndex: () => number,
9
- };
10
-
11
- type OpenUI5Core = {
12
- attachInit: (callback: () => void) => void,
13
- attachThemeChanged: (callback: () => Promise<void>) => void,
14
- getConfiguration: () => OpenUI5CoreConfiguration,
15
- };
16
-
17
- type OpenUI5CoreConfiguration = {
18
- getAnimationMode: () => string,
19
- getLanguage: () => string,
20
- getTheme: () => string,
21
- getThemeRoot: () => string,
22
- getRTL: () => string,
23
- getCalendarType: () => string,
24
- getLocale: () => string,
25
- };
26
-
27
- type LocaleData = {
28
- getInstance: (locale: string) => Locale,
29
- }
30
-
31
- type Locale = {
32
- getFirstDayOfWeek: () => number,
33
- _get: () => CLDRData,
34
- };
35
-
36
- const getCore = () => {
37
- return window.sap?.ui?.getCore?.() as OpenUI5Core;
38
- };
39
-
40
- class OpenUI5Support {
41
- static isLoaded() {
42
- return !!getCore();
43
- }
44
-
45
- static init() {
46
- const core = getCore();
47
- if (!core) {
48
- return Promise.resolve();
49
- }
50
-
51
- return new Promise<void>(resolve => {
52
- core.attachInit(() => {
53
- window.sap.ui.require(["sap/ui/core/LocaleData", "sap/ui/core/Popup"], (LocaleData: LocaleData, Popup: OpenUI5Popup) => {
54
- Popup.setInitialZIndex(getCurrentZIndex());
55
- resolve();
56
- });
57
- });
58
- });
59
- }
60
-
61
- static getConfigurationSettingsObject() {
62
- const core = getCore();
63
- if (!core) {
64
- return;
65
- }
66
-
67
- const config = core.getConfiguration();
68
- const LocaleData = window.sap.ui.require("sap/ui/core/LocaleData");
69
-
70
- return {
71
- animationMode: config.getAnimationMode(),
72
- language: config.getLanguage(),
73
- theme: config.getTheme(),
74
- themeRoot: config.getThemeRoot(),
75
- rtl: config.getRTL(),
76
- calendarType: config.getCalendarType(),
77
- formatSettings: {
78
- firstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,
79
- },
80
- };
81
- }
82
-
83
- static getLocaleDataObject() {
84
- const core = getCore();
85
- if (!core) {
86
- return;
87
- }
88
-
89
- const config = core.getConfiguration();
90
- const LocaleData = window.sap.ui.require("sap/ui/core/LocaleData") as LocaleData;
91
- return LocaleData.getInstance(config.getLocale())._get();
92
- }
93
-
94
- static _listenForThemeChange() {
95
- const core = getCore();
96
- const config = core.getConfiguration();
97
- core.attachThemeChanged(async () => {
98
- await setTheme(config.getTheme());
99
- });
100
- }
101
-
102
- static attachListeners() {
103
- const core = getCore();
104
- if (!core) {
105
- return;
106
- }
107
-
108
- OpenUI5Support._listenForThemeChange();
109
- }
110
-
111
- static cssVariablesLoaded() {
112
- const core = getCore();
113
- if (!core) {
114
- return;
115
- }
116
-
117
- const link = [...document.head.children].find(el => el.id === "sap-ui-theme-sap.ui.core") as HTMLLinkElement; // more reliable than querySelector early
118
- if (!link) {
119
- return;
120
- }
121
-
122
- return !!link.href.match(/\/css(-|_)variables\.css/);
123
- }
124
-
125
- static getNextZIndex() {
126
- const core = getCore();
127
- if (!core) {
128
- return;
129
- }
130
-
131
- const Popup = window.sap.ui.require("sap/ui/core/Popup") as OpenUI5Popup;
132
- return Popup.getNextZIndex();
133
- }
134
-
135
- static setInitialZIndex() {
136
- const core = getCore();
137
- if (!core) {
138
- return;
139
- }
140
-
141
- const Popup = window.sap.ui.require("sap/ui/core/Popup") as OpenUI5Popup;
142
- Popup.setInitialZIndex(getCurrentZIndex());
143
- }
144
- }
145
-
146
- registerFeature("OpenUI5Support", OpenUI5Support);
147
-
148
- export default OpenUI5Support;
@@ -1,30 +0,0 @@
1
- import getSingletonElementInstance from "./util/getSingletonElementInstance.js";
2
-
3
- const getSharedResourcesInstance = () => getSingletonElementInstance("ui5-shared-resources", document.head);
4
-
5
- /**
6
- * Use this method to initialize/get resources that you would like to be shared among UI5 Web Components runtime instances.
7
- * The data will be accessed via a singleton "ui5-shared-resources" HTML element in the "head" element of the page.
8
- *
9
- * @public
10
- * @param namespace Unique ID of the resource, may contain "." to denote hierarchy
11
- * @param initialValue Object or primitive that will be used as an initial value if the resource does not exist
12
- * @returns {*}
13
- */
14
- const getSharedResource = <T>(namespace: string, initialValue: T): T => {
15
- const parts = namespace.split(".");
16
- let current = getSharedResourcesInstance() as Record<string, any>;
17
-
18
- for (let i = 0; i < parts.length; i++) {
19
- const part = parts[i];
20
- const lastPart = i === parts.length - 1;
21
- if (!Object.prototype.hasOwnProperty.call(current, part)) {
22
- current[part] = lastPart ? initialValue : {};
23
- }
24
- current = current[part];
25
- }
26
-
27
- return current as T;
28
- };
29
-
30
- export default getSharedResource;
package/src/i18nBundle.ts DELETED
@@ -1,108 +0,0 @@
1
- import { registerI18nLoader, fetchI18nBundle, getI18nBundleData } from "./asset-registries/i18n.js";
2
- import formatMessage from "./util/formatMessage.js";
3
-
4
- const I18nBundleInstances = new Map<string, I18nBundle>();
5
-
6
- let customGetI18nBundle: I18nBundleGetter;
7
-
8
- type I18nText = {
9
- key: string,
10
- defaultText: string,
11
- };
12
-
13
- type I18nBundleGetter = (packageName: string) => Promise<I18nBundle>;
14
-
15
- /**
16
- * @class
17
- * @public
18
- */
19
- class I18nBundle {
20
- packageName: string;
21
-
22
- constructor(packageName: string) {
23
- this.packageName = packageName;
24
- }
25
-
26
- /**
27
- * Returns a text in the currently loaded language
28
- *
29
- * @public
30
- * @param {Object|String} textObj key/defaultText pair or just the key
31
- * @param params Values for the placeholders
32
- * @returns {string}
33
- */
34
- getText(textObj: I18nText, ...params: Array<number | string>): string {
35
- if (typeof textObj === "string") {
36
- textObj = { key: textObj, defaultText: textObj };
37
- }
38
-
39
- if (!textObj || !textObj.key) {
40
- return "";
41
- }
42
-
43
- const bundle = getI18nBundleData(this.packageName);
44
- if (bundle && !bundle[textObj.key]) {
45
- console.warn(`Key ${textObj.key} not found in the i18n bundle, the default text will be used`); // eslint-disable-line
46
- }
47
- const messageText = bundle && bundle[textObj.key] ? bundle[textObj.key] : (textObj.defaultText || textObj.key);
48
-
49
- return formatMessage(messageText, params);
50
- }
51
- }
52
-
53
- /**
54
- * Returns the I18nBundle instance for the given package synchronously.
55
- *
56
- * @public
57
- * @param packageName
58
- * @returns { I18nBundle }
59
- */
60
- const getI18nBundleSync = (packageName: string): I18nBundle => {
61
- if (I18nBundleInstances.has(packageName)) {
62
- return I18nBundleInstances.get(packageName)!;
63
- }
64
-
65
- const i18nBundle = new I18nBundle(packageName);
66
- I18nBundleInstances.set(packageName, i18nBundle);
67
- return i18nBundle;
68
- };
69
-
70
- /**
71
- * Fetches and returns the I18nBundle instance for the given package.
72
- *
73
- * @public
74
- * @param packageName
75
- * @returns { Promise<I18nBundle> }
76
- */
77
- const getI18nBundle = async (packageName: string): Promise<I18nBundle> => {
78
- if (customGetI18nBundle) {
79
- return customGetI18nBundle(packageName);
80
- }
81
-
82
- await fetchI18nBundle(packageName);
83
- return getI18nBundleSync(packageName);
84
- };
85
-
86
- /**
87
- * Allows developers to provide a custom getI18nBundle implementation
88
- * If this function is called, the custom implementation will be used for all components and will completely
89
- * replace the default implementation.
90
- *
91
- * @public
92
- * @param customGet the function to use instead of the standard getI18nBundle implementation
93
- */
94
- const registerCustomI18nBundleGetter = (customGet: I18nBundleGetter) => {
95
- customGetI18nBundle = customGet;
96
- };
97
-
98
- export default I18nBundle;
99
-
100
- export {
101
- registerI18nLoader,
102
- getI18nBundle,
103
- registerCustomI18nBundleGetter,
104
- };
105
-
106
- export type {
107
- I18nText,
108
- };
@@ -1,101 +0,0 @@
1
- import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
2
-
3
- const rLocale = /^((?:[A-Z]{2,3}(?:-[A-Z]{3}){0,3})|[A-Z]{4}|[A-Z]{5,8})(?:-([A-Z]{4}))?(?:-([A-Z]{2}|[0-9]{3}))?((?:-[0-9A-Z]{5,8}|-[0-9][0-9A-Z]{3})*)((?:-[0-9A-WYZ](?:-[0-9A-Z]{2,8})+)*)(?:-(X(?:-[0-9A-Z]{1,8})+))?$/i;
4
-
5
- class Locale {
6
- sLocaleId: string;
7
- sLanguage: string;
8
- sScript: string;
9
- sRegion: string;
10
- sVariant: string | null;
11
- sExtension: string | null;
12
- sPrivateUse: string | null;
13
-
14
- constructor(sLocaleId: string) {
15
- const aResult = rLocale.exec(sLocaleId.replace(/_/g, "-"));
16
- if (aResult === null) {
17
- throw new Error(`The given language ${sLocaleId} does not adhere to BCP-47.`);
18
- }
19
- this.sLocaleId = sLocaleId;
20
- this.sLanguage = aResult[1] || DEFAULT_LANGUAGE;
21
- this.sScript = aResult[2] || "";
22
- this.sRegion = aResult[3] || "";
23
- this.sVariant = (aResult[4] && aResult[4].slice(1)) || null;
24
- this.sExtension = (aResult[5] && aResult[5].slice(1)) || null;
25
- this.sPrivateUse = aResult[6] || null;
26
- if (this.sLanguage) {
27
- this.sLanguage = this.sLanguage.toLowerCase();
28
- }
29
- if (this.sScript) {
30
- this.sScript = this.sScript.toLowerCase().replace(/^[a-z]/, s => {
31
- return s.toUpperCase();
32
- });
33
- }
34
- if (this.sRegion) {
35
- this.sRegion = this.sRegion.toUpperCase();
36
- }
37
- }
38
-
39
- getLanguage() {
40
- return this.sLanguage;
41
- }
42
-
43
- getScript() {
44
- return this.sScript;
45
- }
46
-
47
- getRegion() {
48
- return this.sRegion;
49
- }
50
-
51
- getVariant() {
52
- return this.sVariant;
53
- }
54
-
55
- getVariantSubtags() {
56
- return this.sVariant ? this.sVariant.split("-") : [];
57
- }
58
-
59
- getExtension() {
60
- return this.sExtension;
61
- }
62
-
63
- getExtensionSubtags() {
64
- return this.sExtension ? this.sExtension.slice(2).split("-") : [];
65
- }
66
-
67
- getPrivateUse() {
68
- return this.sPrivateUse;
69
- }
70
-
71
- getPrivateUseSubtags() {
72
- return this.sPrivateUse ? this.sPrivateUse.slice(2).split("-") : [];
73
- }
74
-
75
- hasPrivateUseSubtag(sSubtag: string) {
76
- return this.getPrivateUseSubtags().indexOf(sSubtag) >= 0;
77
- }
78
-
79
- toString() {
80
- const r = [this.sLanguage];
81
-
82
- if (this.sScript) {
83
- r.push(this.sScript);
84
- }
85
- if (this.sRegion) {
86
- r.push(this.sRegion);
87
- }
88
- if (this.sVariant) {
89
- r.push(this.sVariant);
90
- }
91
- if (this.sExtension) {
92
- r.push(this.sExtension);
93
- }
94
- if (this.sPrivateUse) {
95
- r.push(this.sPrivateUse);
96
- }
97
- return r.join("-");
98
- }
99
- }
100
-
101
- export default Locale;
@@ -1,16 +0,0 @@
1
- import type UI5Element from "../UI5Element";
2
-
3
- const rtlAwareSet = new Set<typeof UI5Element>();
4
-
5
- const markAsRtlAware = (klass: typeof UI5Element) => {
6
- rtlAwareSet.add(klass);
7
- };
8
-
9
- const isRtlAware = (klass: typeof UI5Element) => {
10
- return rtlAwareSet.has(klass);
11
- };
12
-
13
- export {
14
- markAsRtlAware,
15
- isRtlAware,
16
- };
@@ -1,18 +0,0 @@
1
- import { reRenderAllUI5Elements } from "../Render.js";
2
- import { fireDirectionChange } from "./directionChange.js";
3
-
4
- /**
5
- * Re-renders all RTL-aware UI5 Elements.
6
- *
7
- * <b>Note:</b> Call this method whenever you change the "dir" property anywhere in your HTML page.
8
- * <b>Example:</b> <code>document.body.dir = "rtl"; applyDirection();</code>
9
- * @public
10
- * @returns {Promise<void>}
11
- */
12
- const applyDirection = async (): Promise<void> => {
13
- const listenersResults = fireDirectionChange();
14
- await Promise.all(listenersResults);
15
- await reRenderAllUI5Elements({ rtlAware: true });
16
- };
17
-
18
- export default applyDirection;