@ui5/webcomponents-base 0.0.0-cb061e041 → 0.0.0-ccb0705ac

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 (943) hide show
  1. package/CHANGELOG.md +2330 -0
  2. package/LICENSE.txt +201 -0
  3. package/README.md +10 -16
  4. package/cypress.config.js +3 -0
  5. package/dist/.tsbuildinfobuild +1 -0
  6. package/dist/AssetRegistry.d.ts +2 -2
  7. package/dist/AssetRegistry.js +2 -2
  8. package/dist/AssetRegistry.js.map +1 -1
  9. package/dist/Assets-fetch.d.ts +1 -0
  10. package/dist/Assets-fetch.js +3 -0
  11. package/dist/Assets-fetch.js.map +1 -0
  12. package/dist/Assets-node.d.ts +12 -0
  13. package/dist/Assets-node.js +14 -0
  14. package/dist/Assets-node.js.map +1 -0
  15. package/dist/Assets.d.ts +1 -0
  16. package/dist/Assets.js +3 -0
  17. package/dist/Assets.js.map +1 -0
  18. package/dist/Boot.d.ts +4 -2
  19. package/dist/Boot.js +50 -16
  20. package/dist/Boot.js.map +1 -1
  21. package/dist/CustomElementsRegistry.d.ts +2 -1
  22. package/dist/CustomElementsRegistry.js +5 -2
  23. package/dist/CustomElementsRegistry.js.map +1 -1
  24. package/dist/CustomElementsScope.d.ts +4 -4
  25. package/dist/CustomElementsScope.js +2 -2
  26. package/dist/CustomElementsScope.js.map +1 -1
  27. package/dist/CustomElementsScopeUtils.d.ts +12 -3
  28. package/dist/CustomElementsScopeUtils.js +21 -2
  29. package/dist/CustomElementsScopeUtils.js.map +1 -1
  30. package/dist/DOMObserver.js.map +1 -1
  31. package/dist/Device.d.ts +17 -2
  32. package/dist/Device.js +19 -14
  33. package/dist/Device.js.map +1 -1
  34. package/dist/DragAndDrop.d.ts +2 -0
  35. package/dist/DragAndDrop.js +5 -0
  36. package/dist/DragAndDrop.js.map +1 -0
  37. package/dist/EventProvider.js +1 -1
  38. package/dist/EventProvider.js.map +1 -1
  39. package/dist/FontFace.js +6 -9
  40. package/dist/FontFace.js.map +1 -1
  41. package/dist/IgnoreCustomElements.d.ts +25 -0
  42. package/dist/IgnoreCustomElements.js +37 -0
  43. package/dist/IgnoreCustomElements.js.map +1 -0
  44. package/dist/InitialConfiguration.d.ts +10 -3
  45. package/dist/InitialConfiguration.js +39 -9
  46. package/dist/InitialConfiguration.js.map +1 -1
  47. package/dist/Keys.d.ts +11 -1
  48. package/dist/Keys.js +117 -106
  49. package/dist/Keys.js.map +1 -1
  50. package/dist/Location.d.ts +11 -0
  51. package/dist/Location.js +49 -0
  52. package/dist/Location.js.map +1 -0
  53. package/dist/ManagedStyles.d.ts +5 -6
  54. package/dist/ManagedStyles.js +45 -53
  55. package/dist/ManagedStyles.js.map +1 -1
  56. package/dist/MediaRange.d.ts +6 -12
  57. package/dist/MediaRange.js +21 -31
  58. package/dist/MediaRange.js.map +1 -1
  59. package/dist/PropertiesFileFormat.js.map +1 -1
  60. package/dist/Render.js.map +1 -1
  61. package/dist/RenderQueue.js.map +1 -1
  62. package/dist/Runtimes.js +11 -0
  63. package/dist/Runtimes.js.map +1 -1
  64. package/dist/ScrollbarStyles.d.ts +2 -0
  65. package/dist/ScrollbarStyles.js +9 -0
  66. package/dist/ScrollbarStyles.js.map +1 -0
  67. package/dist/SystemCSSVars.js.map +1 -1
  68. package/dist/UI5Element.d.ts +151 -80
  69. package/dist/UI5Element.js +451 -253
  70. package/dist/UI5Element.js.map +1 -1
  71. package/dist/UI5ElementMetadata.d.ts +36 -27
  72. package/dist/UI5ElementMetadata.js +27 -72
  73. package/dist/UI5ElementMetadata.js.map +1 -1
  74. package/dist/animations/AnimationQueue.js.map +1 -1
  75. package/dist/animations/animate.js.map +1 -1
  76. package/dist/animations/slideUp.js.map +1 -1
  77. package/dist/asset-registries/Icons.d.ts +45 -10
  78. package/dist/asset-registries/Icons.js +79 -25
  79. package/dist/asset-registries/Icons.js.map +1 -1
  80. package/dist/asset-registries/Illustrations.d.ts +134 -7
  81. package/dist/asset-registries/Illustrations.js +133 -21
  82. package/dist/asset-registries/Illustrations.js.map +1 -1
  83. package/dist/asset-registries/LocaleData.js +2 -1
  84. package/dist/asset-registries/LocaleData.js.map +1 -1
  85. package/dist/asset-registries/Themes.d.ts +10 -9
  86. package/dist/asset-registries/Themes.js +30 -15
  87. package/dist/asset-registries/Themes.js.map +1 -1
  88. package/dist/asset-registries/i18n.d.ts +2 -2
  89. package/dist/asset-registries/i18n.js +4 -3
  90. package/dist/asset-registries/i18n.js.map +1 -1
  91. package/dist/{assets-meta → asset-registries/util}/IconCollectionsAlias.d.ts +1 -2
  92. package/dist/{assets-meta → asset-registries/util}/IconCollectionsAlias.js +1 -2
  93. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
  94. package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
  95. package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
  96. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
  97. package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
  98. package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
  99. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
  100. package/dist/config/AnimationMode.d.ts +2 -2
  101. package/dist/config/AnimationMode.js +6 -1
  102. package/dist/config/AnimationMode.js.map +1 -1
  103. package/dist/config/CalendarType.d.ts +8 -1
  104. package/dist/config/CalendarType.js +23 -2
  105. package/dist/config/CalendarType.js.map +1 -1
  106. package/dist/config/ConfigurationReset.d.ts +4 -0
  107. package/dist/config/ConfigurationReset.js +11 -0
  108. package/dist/config/ConfigurationReset.js.map +1 -0
  109. package/dist/config/Fonts.d.ts +16 -0
  110. package/dist/config/Fonts.js +30 -0
  111. package/dist/config/Fonts.js.map +1 -0
  112. package/dist/config/FormatSettings.js +4 -0
  113. package/dist/config/FormatSettings.js.map +1 -1
  114. package/dist/config/Icons.d.ts +9 -24
  115. package/dist/config/Icons.js +8 -67
  116. package/dist/config/Icons.js.map +1 -1
  117. package/dist/config/Language.d.ts +3 -2
  118. package/dist/config/Language.js +23 -4
  119. package/dist/config/Language.js.map +1 -1
  120. package/dist/config/NoConflict.js +4 -0
  121. package/dist/config/NoConflict.js.map +1 -1
  122. package/dist/config/Theme.d.ts +16 -3
  123. package/dist/config/Theme.js +35 -8
  124. package/dist/config/Theme.js.map +1 -1
  125. package/dist/config/ThemeRoot.d.ts +29 -0
  126. package/dist/config/ThemeRoot.js +63 -0
  127. package/dist/config/ThemeRoot.js.map +1 -0
  128. package/dist/config/Timezone.d.ts +1 -1
  129. package/dist/config/Timezone.js +5 -1
  130. package/dist/config/Timezone.js.map +1 -1
  131. package/dist/config/Tooltips.d.ts +19 -0
  132. package/dist/config/Tooltips.js +29 -0
  133. package/dist/config/Tooltips.js.map +1 -0
  134. package/dist/connectToComponent.d.ts +9 -0
  135. package/dist/connectToComponent.js +59 -0
  136. package/dist/connectToComponent.js.map +1 -0
  137. package/dist/converters/DOMReference.d.ts +5 -0
  138. package/dist/converters/DOMReference.js +13 -0
  139. package/dist/converters/DOMReference.js.map +1 -0
  140. package/dist/css/MultipleDragGhost.css +17 -0
  141. package/dist/css/OpenUI5PopupStyles.css +10 -0
  142. package/dist/css/ScrollbarStyles.css +3 -0
  143. package/dist/css/SystemCSSVars.css +27 -10
  144. package/dist/custom-elements-internal.json +2920 -0
  145. package/dist/custom-elements.json +2617 -0
  146. package/dist/decorators/bound.d.ts +1 -0
  147. package/dist/decorators/bound.js +34 -0
  148. package/dist/decorators/bound.js.map +1 -0
  149. package/dist/decorators/customElement.d.ts +43 -3
  150. package/dist/decorators/customElement.js +14 -6
  151. package/dist/decorators/customElement.js.map +1 -1
  152. package/dist/decorators/event-strict.d.ts +15 -0
  153. package/dist/decorators/event-strict.js +26 -0
  154. package/dist/decorators/event-strict.js.map +1 -0
  155. package/dist/decorators/event.d.ts +8 -2
  156. package/dist/decorators/event.js +3 -0
  157. package/dist/decorators/event.js.map +1 -1
  158. package/dist/decorators/i18n.d.ts +17 -0
  159. package/dist/decorators/i18n.js +32 -0
  160. package/dist/decorators/i18n.js.map +1 -0
  161. package/dist/decorators/property.d.ts +1 -1
  162. package/dist/decorators/property.js +1 -1
  163. package/dist/decorators/property.js.map +1 -1
  164. package/dist/decorators/query.d.ts +25 -0
  165. package/dist/decorators/query.js +32 -0
  166. package/dist/decorators/query.js.map +1 -0
  167. package/dist/decorators/queryAll.d.ts +27 -0
  168. package/dist/decorators/queryAll.js +34 -0
  169. package/dist/decorators/queryAll.js.map +1 -0
  170. package/dist/decorators/slot-strict.d.ts +4 -0
  171. package/dist/decorators/slot-strict.js +31 -0
  172. package/dist/decorators/slot-strict.js.map +1 -0
  173. package/dist/decorators/slot.d.ts +1 -1
  174. package/dist/decorators/slot.js.map +1 -1
  175. package/dist/decorators.d.ts +9 -0
  176. package/dist/decorators.js +10 -0
  177. package/dist/decorators.js.map +1 -0
  178. package/dist/delegate/ItemNavigation.d.ts +9 -8
  179. package/dist/delegate/ItemNavigation.js +13 -14
  180. package/dist/delegate/ItemNavigation.js.map +1 -1
  181. package/dist/delegate/ResizeHandler.d.ts +4 -6
  182. package/dist/delegate/ResizeHandler.js +4 -6
  183. package/dist/delegate/ResizeHandler.js.map +1 -1
  184. package/dist/delegate/ScrollEnablement.js +2 -2
  185. package/dist/delegate/ScrollEnablement.js.map +1 -1
  186. package/dist/features/F6Navigation.d.ts +5 -3
  187. package/dist/features/F6Navigation.js +66 -19
  188. package/dist/features/F6Navigation.js.map +1 -1
  189. package/dist/features/InputElementsFormSupport.d.ts +15 -0
  190. package/dist/features/InputElementsFormSupport.js +43 -0
  191. package/dist/features/InputElementsFormSupport.js.map +1 -0
  192. package/dist/features/LegacyDateFormats.js.map +1 -1
  193. package/dist/features/OpenUI5Enablement.d.ts +3 -3
  194. package/dist/features/OpenUI5Enablement.js.map +1 -1
  195. package/dist/features/OpenUI5Support.d.ts +29 -10
  196. package/dist/features/OpenUI5Support.js +136 -51
  197. package/dist/features/OpenUI5Support.js.map +1 -1
  198. package/dist/features/insertOpenUI5PopupStyles.d.ts +2 -0
  199. package/dist/features/insertOpenUI5PopupStyles.js +9 -0
  200. package/dist/features/insertOpenUI5PopupStyles.js.map +1 -0
  201. package/dist/features/patchPatcher.d.ts +12 -0
  202. package/dist/features/patchPatcher.js +21 -0
  203. package/dist/features/patchPatcher.js.map +1 -0
  204. package/dist/features/patchPopup.d.ts +33 -0
  205. package/dist/features/patchPopup.js +163 -0
  206. package/dist/features/patchPopup.js.map +1 -0
  207. package/dist/generated/AssetParameters.d.ts +6 -0
  208. package/dist/generated/AssetParameters.js +3 -10
  209. package/dist/generated/AssetParameters.js.map +1 -0
  210. package/dist/generated/VersionInfo.d.ts +10 -0
  211. package/dist/generated/VersionInfo.js +9 -8
  212. package/dist/generated/VersionInfo.js.map +1 -0
  213. package/dist/generated/assets/i18n/messagebundle_en.json +1 -0
  214. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  215. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  216. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  217. package/dist/generated/css/BusyIndicator.css.d.ts +2 -3
  218. package/dist/generated/css/BusyIndicator.css.js +1 -6
  219. package/dist/generated/css/BusyIndicator.css.js.map +1 -1
  220. package/dist/generated/css/FontFace.css.d.ts +2 -3
  221. package/dist/generated/css/FontFace.css.js +36 -6
  222. package/dist/generated/css/FontFace.css.js.map +1 -1
  223. package/dist/generated/css/MultipleDragGhost.css.d.ts +2 -0
  224. package/dist/generated/css/MultipleDragGhost.css.js +2 -0
  225. package/dist/generated/css/MultipleDragGhost.css.js.map +1 -0
  226. package/dist/generated/css/OpenUI5PopupStyles.css.d.ts +2 -0
  227. package/dist/generated/css/OpenUI5PopupStyles.css.js +2 -0
  228. package/dist/generated/css/OpenUI5PopupStyles.css.js.map +1 -0
  229. package/dist/generated/css/ScrollbarStyles.css.d.ts +2 -0
  230. package/dist/generated/css/ScrollbarStyles.css.js +2 -0
  231. package/dist/generated/css/ScrollbarStyles.css.js.map +1 -0
  232. package/dist/generated/css/SystemCSSVars.css.d.ts +2 -3
  233. package/dist/generated/css/SystemCSSVars.css.js +1 -6
  234. package/dist/generated/css/SystemCSSVars.css.js.map +1 -1
  235. package/dist/generated/i18n/i18n-defaults.d.ts +3 -0
  236. package/dist/generated/i18n/i18n-defaults.js +3 -0
  237. package/dist/generated/i18n/i18n-defaults.js.map +1 -0
  238. package/dist/generated/json-imports/i18n-fetch.d.ts +1 -0
  239. package/dist/generated/json-imports/i18n-fetch.js +2 -0
  240. package/dist/generated/json-imports/i18n-fetch.js.map +1 -0
  241. package/dist/generated/json-imports/i18n-node.d.ts +1 -0
  242. package/dist/generated/json-imports/i18n-node.js +2 -0
  243. package/dist/generated/json-imports/i18n-node.js.map +1 -0
  244. package/dist/generated/json-imports/i18n.d.ts +1 -0
  245. package/dist/generated/json-imports/i18n.js +2 -0
  246. package/dist/generated/json-imports/i18n.js.map +1 -0
  247. package/dist/getSharedResource.js +7 -1
  248. package/dist/getSharedResource.js.map +1 -1
  249. package/dist/i18nBundle.d.ts +2 -4
  250. package/dist/i18nBundle.js +3 -5
  251. package/dist/i18nBundle.js.map +1 -1
  252. package/dist/index.d.ts +50 -0
  253. package/dist/index.js +92 -0
  254. package/dist/index.js.map +1 -0
  255. package/dist/jsx-dev-runtime.d.ts +4 -0
  256. package/dist/jsx-dev-runtime.js +43 -0
  257. package/dist/jsx-dev-runtime.js.map +1 -0
  258. package/dist/jsx-runtime.d.ts +51 -0
  259. package/dist/jsx-runtime.js +27 -0
  260. package/dist/jsx-runtime.js.map +1 -0
  261. package/dist/jsx-utils.d.ts +3 -0
  262. package/dist/jsx-utils.js +48 -0
  263. package/dist/jsx-utils.js.map +1 -0
  264. package/dist/locale/Locale.js.map +1 -1
  265. package/dist/locale/applyDirection.d.ts +3 -2
  266. package/dist/locale/applyDirection.js +3 -2
  267. package/dist/locale/applyDirection.js.map +1 -1
  268. package/dist/locale/getEffectiveDir.d.ts +1 -1
  269. package/dist/locale/getEffectiveDir.js +3 -19
  270. package/dist/locale/getEffectiveDir.js.map +1 -1
  271. package/dist/locale/getLocale.js.map +1 -1
  272. package/dist/locale/nextFallbackLocale.js +6 -2
  273. package/dist/locale/nextFallbackLocale.js.map +1 -1
  274. package/dist/locale/normalizeLocale.js.map +1 -1
  275. package/dist/prod/AssetRegistry.js +2 -0
  276. package/dist/prod/AssetRegistry.js.map +7 -0
  277. package/dist/prod/Assets-fetch.js +2 -0
  278. package/dist/prod/Assets-fetch.js.map +7 -0
  279. package/dist/prod/Assets-node.js +2 -0
  280. package/dist/prod/Assets-node.js.map +7 -0
  281. package/dist/prod/Assets.js +2 -0
  282. package/dist/prod/Assets.js.map +7 -0
  283. package/dist/prod/Boot.js +2 -0
  284. package/dist/prod/Boot.js.map +7 -0
  285. package/dist/prod/CustomElementsRegistry.js +10 -0
  286. package/dist/prod/CustomElementsRegistry.js.map +7 -0
  287. package/dist/prod/CustomElementsScope.js +2 -0
  288. package/dist/prod/CustomElementsScope.js.map +7 -0
  289. package/dist/prod/CustomElementsScopeUtils.js +2 -0
  290. package/dist/prod/CustomElementsScopeUtils.js.map +7 -0
  291. package/dist/prod/DOMObserver.js +2 -0
  292. package/dist/prod/DOMObserver.js.map +7 -0
  293. package/dist/prod/Device.js +2 -0
  294. package/dist/prod/Device.js.map +7 -0
  295. package/dist/prod/DragAndDrop.js +2 -0
  296. package/dist/prod/DragAndDrop.js.map +7 -0
  297. package/dist/prod/EventProvider.js +2 -0
  298. package/dist/prod/EventProvider.js.map +7 -0
  299. package/dist/prod/FeaturesRegistry.js +2 -0
  300. package/dist/prod/FeaturesRegistry.js.map +7 -0
  301. package/dist/prod/FontFace.js +2 -0
  302. package/dist/prod/FontFace.js.map +7 -0
  303. package/dist/prod/IgnoreCustomElements.js +2 -0
  304. package/dist/prod/IgnoreCustomElements.js.map +7 -0
  305. package/dist/prod/InitialConfiguration.js +2 -0
  306. package/dist/prod/InitialConfiguration.js.map +7 -0
  307. package/dist/prod/Keys.js +2 -0
  308. package/dist/prod/Keys.js.map +7 -0
  309. package/dist/prod/Location.js +2 -0
  310. package/dist/prod/Location.js.map +7 -0
  311. package/dist/prod/ManagedStyles.js +2 -0
  312. package/dist/prod/ManagedStyles.js.map +7 -0
  313. package/dist/prod/MediaRange.js +2 -0
  314. package/dist/prod/MediaRange.js.map +7 -0
  315. package/dist/prod/PropertiesFileFormat.js +3 -0
  316. package/dist/prod/PropertiesFileFormat.js.map +7 -0
  317. package/dist/prod/Render.js +2 -0
  318. package/dist/prod/Render.js.map +7 -0
  319. package/dist/prod/RenderQueue.js +2 -0
  320. package/dist/prod/RenderQueue.js.map +7 -0
  321. package/dist/prod/Runtimes.js +2 -0
  322. package/dist/prod/Runtimes.js.map +7 -0
  323. package/dist/prod/ScrollbarStyles.js +2 -0
  324. package/dist/prod/ScrollbarStyles.js.map +7 -0
  325. package/dist/prod/SystemCSSVars.js +2 -0
  326. package/dist/prod/SystemCSSVars.js.map +7 -0
  327. package/dist/prod/Theming.js +2 -0
  328. package/dist/prod/Theming.js.map +7 -0
  329. package/dist/prod/UI5Element.js +2 -0
  330. package/dist/prod/UI5Element.js.map +7 -0
  331. package/dist/prod/UI5ElementMetadata.js +2 -0
  332. package/dist/prod/UI5ElementMetadata.js.map +7 -0
  333. package/dist/prod/animations/AnimationQueue.js +2 -0
  334. package/dist/prod/animations/AnimationQueue.js.map +7 -0
  335. package/dist/prod/animations/animate.js +2 -0
  336. package/dist/prod/animations/animate.js.map +7 -0
  337. package/dist/prod/animations/scroll.js +2 -0
  338. package/dist/prod/animations/scroll.js.map +7 -0
  339. package/dist/prod/animations/slideDown.js +2 -0
  340. package/dist/prod/animations/slideDown.js.map +7 -0
  341. package/dist/prod/animations/slideUp.js +2 -0
  342. package/dist/prod/animations/slideUp.js.map +7 -0
  343. package/dist/prod/asset-registries/Icons.js +2 -0
  344. package/dist/prod/asset-registries/Icons.js.map +7 -0
  345. package/dist/prod/asset-registries/Illustrations.js +2 -0
  346. package/dist/prod/asset-registries/Illustrations.js.map +7 -0
  347. package/dist/prod/asset-registries/LocaleData.js +2 -0
  348. package/dist/prod/asset-registries/LocaleData.js.map +7 -0
  349. package/dist/prod/asset-registries/Themes.js +2 -0
  350. package/dist/prod/asset-registries/Themes.js.map +7 -0
  351. package/dist/prod/asset-registries/i18n.js +2 -0
  352. package/dist/prod/asset-registries/i18n.js.map +7 -0
  353. package/dist/prod/asset-registries/util/IconCollectionsAlias.js +2 -0
  354. package/dist/prod/asset-registries/util/IconCollectionsAlias.js.map +7 -0
  355. package/dist/prod/asset-registries/util/IconCollectionsByTheme.js +2 -0
  356. package/dist/prod/asset-registries/util/IconCollectionsByTheme.js.map +7 -0
  357. package/dist/prod/asset-registries/util/getIconCollectionByTheme.js +2 -0
  358. package/dist/prod/asset-registries/util/getIconCollectionByTheme.js.map +7 -0
  359. package/dist/prod/config/AnimationMode.js +2 -0
  360. package/dist/prod/config/AnimationMode.js.map +7 -0
  361. package/dist/prod/config/CalendarType.js +2 -0
  362. package/dist/prod/config/CalendarType.js.map +7 -0
  363. package/dist/prod/config/ConfigurationReset.js +2 -0
  364. package/dist/prod/config/ConfigurationReset.js.map +7 -0
  365. package/dist/prod/config/Fonts.js +2 -0
  366. package/dist/prod/config/Fonts.js.map +7 -0
  367. package/dist/prod/config/FormatSettings.js +2 -0
  368. package/dist/prod/config/FormatSettings.js.map +7 -0
  369. package/dist/prod/config/Icons.js +2 -0
  370. package/dist/prod/config/Icons.js.map +7 -0
  371. package/dist/prod/config/Language.js +2 -0
  372. package/dist/prod/config/Language.js.map +7 -0
  373. package/dist/prod/config/NoConflict.js +2 -0
  374. package/dist/prod/config/NoConflict.js.map +7 -0
  375. package/dist/prod/config/Theme.js +2 -0
  376. package/dist/prod/config/Theme.js.map +7 -0
  377. package/dist/prod/config/ThemeRoot.js +2 -0
  378. package/dist/prod/config/ThemeRoot.js.map +7 -0
  379. package/dist/prod/config/Timezone.js +2 -0
  380. package/dist/prod/config/Timezone.js.map +7 -0
  381. package/dist/prod/config/Tooltips.js +2 -0
  382. package/dist/prod/config/Tooltips.js.map +7 -0
  383. package/dist/prod/connectToComponent.js +2 -0
  384. package/dist/prod/connectToComponent.js.map +7 -0
  385. package/dist/prod/converters/DOMReference.js +2 -0
  386. package/dist/prod/converters/DOMReference.js.map +7 -0
  387. package/dist/prod/decorators/bound.js +2 -0
  388. package/dist/prod/decorators/bound.js.map +7 -0
  389. package/dist/prod/decorators/customElement.js +2 -0
  390. package/dist/prod/decorators/customElement.js.map +7 -0
  391. package/dist/prod/decorators/event-strict.js +2 -0
  392. package/dist/prod/decorators/event-strict.js.map +7 -0
  393. package/dist/prod/decorators/event.js +2 -0
  394. package/dist/prod/decorators/event.js.map +7 -0
  395. package/dist/prod/decorators/i18n.js +2 -0
  396. package/dist/prod/decorators/i18n.js.map +7 -0
  397. package/dist/prod/decorators/property.js +2 -0
  398. package/dist/prod/decorators/property.js.map +7 -0
  399. package/dist/prod/decorators/query.js +2 -0
  400. package/dist/prod/decorators/query.js.map +7 -0
  401. package/dist/prod/decorators/queryAll.js +2 -0
  402. package/dist/prod/decorators/queryAll.js.map +7 -0
  403. package/dist/prod/decorators/slot-strict.js +2 -0
  404. package/dist/prod/decorators/slot-strict.js.map +7 -0
  405. package/dist/prod/decorators/slot.js +2 -0
  406. package/dist/prod/decorators/slot.js.map +7 -0
  407. package/dist/prod/decorators.js +2 -0
  408. package/dist/prod/decorators.js.map +7 -0
  409. package/dist/prod/delegate/ItemNavigation.js +2 -0
  410. package/dist/prod/delegate/ItemNavigation.js.map +7 -0
  411. package/dist/prod/delegate/ResizeHandler.js +2 -0
  412. package/dist/prod/delegate/ResizeHandler.js.map +7 -0
  413. package/dist/prod/delegate/ScrollEnablement.js +2 -0
  414. package/dist/prod/delegate/ScrollEnablement.js.map +7 -0
  415. package/dist/prod/features/F6Navigation.js +2 -0
  416. package/dist/prod/features/F6Navigation.js.map +7 -0
  417. package/dist/prod/features/InputElementsFormSupport.js +2 -0
  418. package/dist/prod/features/InputElementsFormSupport.js.map +7 -0
  419. package/dist/prod/features/LegacyDateFormats.js +2 -0
  420. package/dist/prod/features/LegacyDateFormats.js.map +7 -0
  421. package/dist/prod/features/OpenUI5Element.js +2 -0
  422. package/dist/prod/features/OpenUI5Element.js.map +7 -0
  423. package/dist/prod/features/OpenUI5Enablement.js +21 -0
  424. package/dist/prod/features/OpenUI5Enablement.js.map +7 -0
  425. package/dist/prod/features/OpenUI5Support.js +2 -0
  426. package/dist/prod/features/OpenUI5Support.js.map +7 -0
  427. package/dist/prod/features/insertOpenUI5PopupStyles.js +2 -0
  428. package/dist/prod/features/insertOpenUI5PopupStyles.js.map +7 -0
  429. package/dist/prod/features/patchPatcher.js +2 -0
  430. package/dist/prod/features/patchPatcher.js.map +7 -0
  431. package/dist/prod/features/patchPopup.js +2 -0
  432. package/dist/prod/features/patchPopup.js.map +7 -0
  433. package/dist/prod/generated/AssetParameters.js +2 -0
  434. package/dist/prod/generated/AssetParameters.js.map +7 -0
  435. package/dist/prod/generated/VersionInfo.js +2 -0
  436. package/dist/prod/generated/VersionInfo.js.map +7 -0
  437. package/dist/prod/generated/assets/i18n/messagebundle_en.json +1 -0
  438. package/dist/prod/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  439. package/dist/prod/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  440. package/dist/prod/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  441. package/dist/prod/generated/css/BusyIndicator.css.js +2 -0
  442. package/dist/prod/generated/css/BusyIndicator.css.js.map +7 -0
  443. package/dist/prod/generated/css/FontFace.css.js +37 -0
  444. package/dist/prod/generated/css/FontFace.css.js.map +7 -0
  445. package/dist/prod/generated/css/MultipleDragGhost.css.js +2 -0
  446. package/dist/prod/generated/css/MultipleDragGhost.css.js.map +7 -0
  447. package/dist/prod/generated/css/OpenUI5PopupStyles.css.js +2 -0
  448. package/dist/prod/generated/css/OpenUI5PopupStyles.css.js.map +7 -0
  449. package/dist/prod/generated/css/ScrollbarStyles.css.js +2 -0
  450. package/dist/prod/generated/css/ScrollbarStyles.css.js.map +7 -0
  451. package/dist/prod/generated/css/SystemCSSVars.css.js +2 -0
  452. package/dist/prod/generated/css/SystemCSSVars.css.js.map +7 -0
  453. package/dist/prod/generated/i18n/i18n-defaults.js +2 -0
  454. package/dist/prod/generated/i18n/i18n-defaults.js.map +7 -0
  455. package/dist/prod/generated/json-imports/i18n-fetch.js +2 -0
  456. package/dist/prod/generated/json-imports/i18n-fetch.js.map +7 -0
  457. package/dist/prod/generated/json-imports/i18n-node.js +2 -0
  458. package/dist/prod/generated/json-imports/i18n-node.js.map +7 -0
  459. package/dist/prod/generated/json-imports/i18n.js +2 -0
  460. package/dist/prod/generated/json-imports/i18n.js.map +7 -0
  461. package/dist/prod/getSharedResource.js +2 -0
  462. package/dist/prod/getSharedResource.js.map +7 -0
  463. package/dist/prod/global.d.js +2 -0
  464. package/dist/prod/global.d.js.map +7 -0
  465. package/dist/prod/i18nBundle.js +2 -0
  466. package/dist/prod/i18nBundle.js.map +7 -0
  467. package/dist/prod/index.js +2 -0
  468. package/dist/prod/index.js.map +7 -0
  469. package/dist/prod/jsx-dev-runtime.js +2 -0
  470. package/dist/prod/jsx-dev-runtime.js.map +7 -0
  471. package/dist/prod/jsx-runtime.js +2 -0
  472. package/dist/prod/jsx-runtime.js.map +7 -0
  473. package/dist/prod/jsx-utils.js +2 -0
  474. package/dist/prod/jsx-utils.js.map +7 -0
  475. package/dist/prod/locale/Locale.js +2 -0
  476. package/dist/prod/locale/Locale.js.map +7 -0
  477. package/dist/prod/locale/RTLAwareRegistry.js +2 -0
  478. package/dist/prod/locale/RTLAwareRegistry.js.map +7 -0
  479. package/dist/prod/locale/applyDirection.js +2 -0
  480. package/dist/prod/locale/applyDirection.js.map +7 -0
  481. package/dist/prod/locale/directionChange.js +2 -0
  482. package/dist/prod/locale/directionChange.js.map +7 -0
  483. package/dist/prod/locale/getEffectiveDir.js +2 -0
  484. package/dist/prod/locale/getEffectiveDir.js.map +7 -0
  485. package/dist/prod/locale/getLocale.js +2 -0
  486. package/dist/prod/locale/getLocale.js.map +7 -0
  487. package/dist/prod/locale/languageChange.js +2 -0
  488. package/dist/prod/locale/languageChange.js.map +7 -0
  489. package/dist/prod/locale/nextFallbackLocale.js +2 -0
  490. package/dist/prod/locale/nextFallbackLocale.js.map +7 -0
  491. package/dist/prod/locale/normalizeLocale.js +2 -0
  492. package/dist/prod/locale/normalizeLocale.js.map +7 -0
  493. package/dist/prod/renderer/JsxRenderer.js +2 -0
  494. package/dist/prod/renderer/JsxRenderer.js.map +7 -0
  495. package/dist/prod/renderer/LitRenderer.js +2 -0
  496. package/dist/prod/renderer/LitRenderer.js.map +7 -0
  497. package/dist/prod/renderer/directives/style-map.js +6 -0
  498. package/dist/prod/renderer/directives/style-map.js.map +7 -0
  499. package/dist/prod/renderer/executeTemplate.js +2 -0
  500. package/dist/prod/renderer/executeTemplate.js.map +7 -0
  501. package/dist/prod/sap/base/Log.js +750 -0
  502. package/dist/prod/sap/base/assert.js +34 -0
  503. package/dist/prod/sap/base/config/MemoryConfigurationProvider.js +20 -0
  504. package/dist/prod/sap/base/security/URLListValidator.js +406 -0
  505. package/dist/prod/sap/base/security/encodeCSS.js +40 -0
  506. package/dist/prod/sap/base/security/encodeXML.js +53 -0
  507. package/dist/prod/sap/base/security/sanitizeHTML.js +38 -0
  508. package/dist/prod/sap/base/strings/toHex.js +33 -0
  509. package/dist/prod/sap/base/util/now.js +28 -0
  510. package/dist/prod/sap/base/util/uid.js +27 -0
  511. package/dist/prod/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
  512. package/dist/prod/ssr-dom-shim.js +2 -0
  513. package/dist/prod/ssr-dom-shim.js.map +7 -0
  514. package/dist/prod/ssr-dom.js +2 -0
  515. package/dist/prod/ssr-dom.js.map +7 -0
  516. package/dist/prod/theming/CustomStyle.js +2 -0
  517. package/dist/prod/theming/CustomStyle.js.map +7 -0
  518. package/dist/prod/theming/ThemeLoaded.js +2 -0
  519. package/dist/prod/theming/ThemeLoaded.js.map +7 -0
  520. package/dist/prod/theming/ThemeRegistered.js +2 -0
  521. package/dist/prod/theming/ThemeRegistered.js.map +7 -0
  522. package/dist/prod/theming/applyTheme.js +2 -0
  523. package/dist/prod/theming/applyTheme.js.map +7 -0
  524. package/dist/prod/theming/componentStyles.js +3 -0
  525. package/dist/prod/theming/componentStyles.js.map +7 -0
  526. package/dist/prod/theming/getConstructableStyle.js +2 -0
  527. package/dist/prod/theming/getConstructableStyle.js.map +7 -0
  528. package/dist/prod/theming/getEffectiveStyle.js +2 -0
  529. package/dist/prod/theming/getEffectiveStyle.js.map +7 -0
  530. package/dist/prod/theming/getStylesString.js +2 -0
  531. package/dist/prod/theming/getStylesString.js.map +7 -0
  532. package/dist/prod/theming/getThemeDesignerTheme.js +2 -0
  533. package/dist/prod/theming/getThemeDesignerTheme.js.map +7 -0
  534. package/dist/prod/thirdparty/_merge.js +2 -0
  535. package/dist/prod/thirdparty/_merge.js.map +7 -0
  536. package/dist/prod/thirdparty/isPlainObject.js +2 -0
  537. package/dist/prod/thirdparty/isPlainObject.js.map +7 -0
  538. package/dist/prod/thirdparty/merge.js +2 -0
  539. package/dist/prod/thirdparty/merge.js.map +7 -0
  540. package/dist/prod/thirdparty/preact/jsx.d.js +2 -0
  541. package/dist/prod/thirdparty/preact/jsx.d.js.map +7 -0
  542. package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js +2 -0
  543. package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js.map +7 -0
  544. package/dist/prod/thirdparty/preact/jsxRuntime.module.js +1 -0
  545. package/dist/prod/thirdparty/preact/preact.module.d.js +2 -0
  546. package/dist/prod/thirdparty/preact/preact.module.d.js.map +7 -0
  547. package/dist/prod/thirdparty/preact/preact.module.js +1 -0
  548. package/dist/prod/types/AnimationMode.js +2 -0
  549. package/dist/prod/types/AnimationMode.js.map +7 -0
  550. package/dist/prod/types/CalendarType.js +2 -0
  551. package/dist/prod/types/CalendarType.js.map +7 -0
  552. package/dist/prod/types/InvisibleMessageMode.js +2 -0
  553. package/dist/prod/types/InvisibleMessageMode.js.map +7 -0
  554. package/dist/prod/types/ItemNavigationBehavior.js +2 -0
  555. package/dist/prod/types/ItemNavigationBehavior.js.map +7 -0
  556. package/dist/prod/types/MovePlacement.js +2 -0
  557. package/dist/prod/types/MovePlacement.js.map +7 -0
  558. package/dist/prod/types/NavigationMode.js +2 -0
  559. package/dist/prod/types/NavigationMode.js.map +7 -0
  560. package/dist/prod/types/Orientation.js +2 -0
  561. package/dist/prod/types/Orientation.js.map +7 -0
  562. package/dist/prod/types/SortOrder.js +2 -0
  563. package/dist/prod/types/SortOrder.js.map +7 -0
  564. package/dist/prod/types/ValueState.js +2 -0
  565. package/dist/prod/types/ValueState.js.map +7 -0
  566. package/dist/prod/types.js +2 -0
  567. package/dist/prod/types.js.map +7 -0
  568. package/dist/prod/updateShadowRoot.js +2 -0
  569. package/dist/prod/updateShadowRoot.js.map +7 -0
  570. package/dist/prod/util/AccessibilityTextsHelper.js +2 -0
  571. package/dist/prod/util/AccessibilityTextsHelper.js.map +7 -0
  572. package/dist/prod/util/Caret.js +2 -0
  573. package/dist/prod/util/Caret.js.map +7 -0
  574. package/dist/prod/util/ColorConversion.js +2 -0
  575. package/dist/prod/util/ColorConversion.js.map +7 -0
  576. package/dist/prod/util/FetchHelper.js +2 -0
  577. package/dist/prod/util/FetchHelper.js.map +7 -0
  578. package/dist/prod/util/FocusableElements.js +2 -0
  579. package/dist/prod/util/FocusableElements.js.map +7 -0
  580. package/dist/prod/util/HTMLSanitizer.js +2 -0
  581. package/dist/prod/util/HTMLSanitizer.js.map +7 -0
  582. package/dist/prod/util/InvisibleMessage.js +2 -0
  583. package/dist/prod/util/InvisibleMessage.js.map +7 -0
  584. package/dist/prod/util/PopupUtils.js +2 -0
  585. package/dist/prod/util/PopupUtils.js.map +7 -0
  586. package/dist/prod/util/SelectionAssistant.js +2 -0
  587. package/dist/prod/util/SelectionAssistant.js.map +7 -0
  588. package/dist/prod/util/SlotsHelper.js +2 -0
  589. package/dist/prod/util/SlotsHelper.js.map +7 -0
  590. package/dist/prod/util/StringHelper.js +2 -0
  591. package/dist/prod/util/StringHelper.js.map +7 -0
  592. package/dist/prod/util/TabbableElements.js +2 -0
  593. package/dist/prod/util/TabbableElements.js.map +7 -0
  594. package/dist/prod/util/arraysAreEqual.js +2 -0
  595. package/dist/prod/util/arraysAreEqual.js.map +7 -0
  596. package/dist/prod/util/clamp.js +2 -0
  597. package/dist/prod/util/clamp.js.map +7 -0
  598. package/dist/prod/util/createInstanceChecker.js +2 -0
  599. package/dist/prod/util/createInstanceChecker.js.map +7 -0
  600. package/dist/prod/util/createLinkInHead.js +2 -0
  601. package/dist/prod/util/createLinkInHead.js.map +7 -0
  602. package/dist/prod/util/createMultiInstanceChecker.js +2 -0
  603. package/dist/prod/util/createMultiInstanceChecker.js.map +7 -0
  604. package/dist/prod/util/debounce.js +2 -0
  605. package/dist/prod/util/debounce.js.map +7 -0
  606. package/dist/prod/util/detectNavigatorLanguage.js +2 -0
  607. package/dist/prod/util/detectNavigatorLanguage.js.map +7 -0
  608. package/dist/prod/util/dragAndDrop/DragRegistry.js +2 -0
  609. package/dist/prod/util/dragAndDrop/DragRegistry.js.map +7 -0
  610. package/dist/prod/util/dragAndDrop/findClosestPosition.js +2 -0
  611. package/dist/prod/util/dragAndDrop/findClosestPosition.js.map +7 -0
  612. package/dist/prod/util/dragAndDrop/handleDragOver.js +2 -0
  613. package/dist/prod/util/dragAndDrop/handleDragOver.js.map +7 -0
  614. package/dist/prod/util/dragAndDrop/handleDrop.js +2 -0
  615. package/dist/prod/util/dragAndDrop/handleDrop.js.map +7 -0
  616. package/dist/prod/util/dragAndDrop/longDragOverHandler.js +2 -0
  617. package/dist/prod/util/dragAndDrop/longDragOverHandler.js.map +7 -0
  618. package/dist/prod/util/escapeRegex.js +2 -0
  619. package/dist/prod/util/escapeRegex.js.map +7 -0
  620. package/dist/prod/util/fixSafariActiveState.js +2 -0
  621. package/dist/prod/util/fixSafariActiveState.js.map +7 -0
  622. package/dist/prod/util/formatMessage.js +2 -0
  623. package/dist/prod/util/formatMessage.js.map +7 -0
  624. package/dist/prod/util/generateHighlightedMarkup.js +2 -0
  625. package/dist/prod/util/generateHighlightedMarkup.js.map +7 -0
  626. package/dist/prod/util/getActiveElement.js +2 -0
  627. package/dist/prod/util/getActiveElement.js.map +7 -0
  628. package/dist/prod/util/getClassCopy.js +2 -0
  629. package/dist/prod/util/getClassCopy.js.map +7 -0
  630. package/dist/prod/util/getDesigntimePropertyAsArray.js +2 -0
  631. package/dist/prod/util/getDesigntimePropertyAsArray.js.map +7 -0
  632. package/dist/prod/util/getEffectiveContentDensity.js +2 -0
  633. package/dist/prod/util/getEffectiveContentDensity.js.map +7 -0
  634. package/dist/prod/util/getFastNavigationGroups.js +2 -0
  635. package/dist/prod/util/getFastNavigationGroups.js.map +7 -0
  636. package/dist/prod/util/getFileExtension.js +2 -0
  637. package/dist/prod/util/getFileExtension.js.map +7 -0
  638. package/dist/prod/util/getNormalizedTarget.js +2 -0
  639. package/dist/prod/util/getNormalizedTarget.js.map +7 -0
  640. package/dist/prod/util/getParentElement.js +2 -0
  641. package/dist/prod/util/getParentElement.js.map +7 -0
  642. package/dist/prod/util/getSingletonElementInstance.js +2 -0
  643. package/dist/prod/util/getSingletonElementInstance.js.map +7 -0
  644. package/dist/prod/util/hash2str.js +2 -0
  645. package/dist/prod/util/hash2str.js.map +7 -0
  646. package/dist/prod/util/isElementClickable.js +2 -0
  647. package/dist/prod/util/isElementClickable.js.map +7 -0
  648. package/dist/prod/util/isElementHidden.js +2 -0
  649. package/dist/prod/util/isElementHidden.js.map +7 -0
  650. package/dist/prod/util/isElementInView.js +2 -0
  651. package/dist/prod/util/isElementInView.js.map +7 -0
  652. package/dist/prod/util/isElementTabbable.js +2 -0
  653. package/dist/prod/util/isElementTabbable.js.map +7 -0
  654. package/dist/prod/util/isEventMarked.js +2 -0
  655. package/dist/prod/util/isEventMarked.js.map +7 -0
  656. package/dist/prod/util/isValidPropertyName.js +2 -0
  657. package/dist/prod/util/isValidPropertyName.js.map +7 -0
  658. package/dist/prod/util/throttle.js +2 -0
  659. package/dist/prod/util/throttle.js.map +7 -0
  660. package/dist/prod/util/toLowercaseEnumValue.js +2 -0
  661. package/dist/prod/util/toLowercaseEnumValue.js.map +7 -0
  662. package/dist/prod/util/valueStateNavigation.js +2 -0
  663. package/dist/prod/util/valueStateNavigation.js.map +7 -0
  664. package/dist/prod/util/whenDOMReady.js +2 -0
  665. package/dist/prod/util/whenDOMReady.js.map +7 -0
  666. package/dist/prod/util/willShowContent.js +2 -0
  667. package/dist/prod/util/willShowContent.js.map +7 -0
  668. package/dist/prod/validateThemeRoot.js +2 -0
  669. package/dist/prod/validateThemeRoot.js.map +7 -0
  670. package/dist/renderer/JsxRenderer.d.ts +3 -0
  671. package/dist/renderer/JsxRenderer.js +26 -0
  672. package/dist/renderer/JsxRenderer.js.map +1 -0
  673. package/dist/renderer/LitRenderer.d.ts +3 -3
  674. package/dist/renderer/LitRenderer.js +5 -10
  675. package/dist/renderer/LitRenderer.js.map +1 -1
  676. package/dist/renderer/directives/style-map.d.ts +13 -0
  677. package/dist/renderer/directives/style-map.js +59 -59
  678. package/dist/renderer/directives/style-map.js.map +1 -0
  679. package/dist/renderer/executeTemplate.d.ts +3 -4
  680. package/dist/renderer/executeTemplate.js +1 -19
  681. package/dist/renderer/executeTemplate.js.map +1 -1
  682. package/dist/sap/base/Log.js +698 -188
  683. package/dist/sap/base/assert.js +28 -1
  684. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  685. package/dist/sap/base/security/URLListValidator.js +253 -6
  686. package/dist/sap/base/security/encodeCSS.js +34 -8
  687. package/dist/sap/base/security/encodeXML.js +47 -17
  688. package/dist/sap/base/security/sanitizeHTML.js +35 -13
  689. package/dist/sap/base/strings/toHex.js +27 -2
  690. package/dist/sap/base/util/now.js +24 -3
  691. package/dist/sap/base/util/uid.js +27 -0
  692. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +113 -98
  693. package/dist/ssr-dom-shim.d.ts +1 -0
  694. package/dist/ssr-dom-shim.js +63 -0
  695. package/dist/ssr-dom-shim.js.map +1 -0
  696. package/dist/ssr-dom.d.ts +1 -0
  697. package/dist/ssr-dom.js +3 -0
  698. package/dist/ssr-dom.js.map +1 -0
  699. package/dist/theming/CustomStyle.js.map +1 -1
  700. package/dist/theming/applyTheme.d.ts +2 -0
  701. package/dist/theming/applyTheme.js +27 -11
  702. package/dist/theming/applyTheme.js.map +1 -1
  703. package/dist/theming/componentStyles.d.ts +3 -0
  704. package/dist/theming/componentStyles.js +15 -0
  705. package/dist/theming/componentStyles.js.map +1 -0
  706. package/dist/theming/getConstructableStyle.d.ts +2 -2
  707. package/dist/theming/getConstructableStyle.js +3 -3
  708. package/dist/theming/getConstructableStyle.js.map +1 -1
  709. package/dist/theming/getEffectiveStyle.d.ts +1 -1
  710. package/dist/theming/getEffectiveStyle.js +5 -12
  711. package/dist/theming/getEffectiveStyle.js.map +1 -1
  712. package/dist/theming/getStylesString.js +2 -4
  713. package/dist/theming/getStylesString.js.map +1 -1
  714. package/dist/theming/getThemeDesignerTheme.js +2 -1
  715. package/dist/theming/getThemeDesignerTheme.js.map +1 -1
  716. package/dist/thirdparty/_merge.js.map +1 -1
  717. package/dist/thirdparty/isPlainObject.js.map +1 -1
  718. package/dist/thirdparty/preact/jsx.d.ts +2616 -0
  719. package/dist/thirdparty/preact/jsxRuntime.module.d.ts +62 -0
  720. package/dist/thirdparty/preact/jsxRuntime.module.js +1 -0
  721. package/dist/thirdparty/preact/preact.module.d.ts +398 -0
  722. package/dist/thirdparty/preact/preact.module.js +1 -0
  723. package/dist/types/AnimationMode.d.ts +0 -8
  724. package/dist/types/AnimationMode.js +0 -8
  725. package/dist/types/AnimationMode.js.map +1 -1
  726. package/dist/types/CalendarType.d.ts +0 -9
  727. package/dist/types/CalendarType.js +0 -9
  728. package/dist/types/CalendarType.js.map +1 -1
  729. package/dist/types/InvisibleMessageMode.d.ts +5 -10
  730. package/dist/types/InvisibleMessageMode.js +4 -11
  731. package/dist/types/InvisibleMessageMode.js.map +1 -1
  732. package/dist/types/ItemNavigationBehavior.d.ts +0 -6
  733. package/dist/types/ItemNavigationBehavior.js +0 -6
  734. package/dist/types/ItemNavigationBehavior.js.map +1 -1
  735. package/dist/types/MovePlacement.d.ts +20 -0
  736. package/dist/types/MovePlacement.js +22 -0
  737. package/dist/types/MovePlacement.js.map +1 -0
  738. package/dist/types/NavigationMode.d.ts +0 -8
  739. package/dist/types/NavigationMode.js +0 -8
  740. package/dist/types/NavigationMode.js.map +1 -1
  741. package/dist/types/Orientation.d.ts +16 -0
  742. package/dist/types/Orientation.js +18 -0
  743. package/dist/types/Orientation.js.map +1 -0
  744. package/dist/types/SortOrder.d.ts +24 -0
  745. package/dist/types/SortOrder.js +26 -0
  746. package/dist/types/SortOrder.js.map +1 -0
  747. package/dist/types/ValueState.d.ts +3 -17
  748. package/dist/types/ValueState.js +3 -17
  749. package/dist/types/ValueState.js.map +1 -1
  750. package/dist/types.d.ts +45 -14
  751. package/dist/types.js.map +1 -1
  752. package/dist/updateShadowRoot.d.ts +1 -2
  753. package/dist/updateShadowRoot.js +5 -28
  754. package/dist/updateShadowRoot.js.map +1 -1
  755. package/dist/util/{AriaLabelHelper.d.ts → AccessibilityTextsHelper.d.ts} +4 -2
  756. package/dist/util/{AriaLabelHelper.js → AccessibilityTextsHelper.js} +36 -8
  757. package/dist/util/AccessibilityTextsHelper.js.map +1 -0
  758. package/dist/util/Caret.js.map +1 -1
  759. package/dist/util/ColorConversion.d.ts +2 -1
  760. package/dist/util/ColorConversion.js +233 -216
  761. package/dist/util/ColorConversion.js.map +1 -1
  762. package/dist/util/FetchHelper.js.map +1 -1
  763. package/dist/util/FocusableElements.js +43 -15
  764. package/dist/util/FocusableElements.js.map +1 -1
  765. package/dist/util/HTMLSanitizer.d.ts +2 -0
  766. package/dist/util/HTMLSanitizer.js +2 -2
  767. package/dist/util/HTMLSanitizer.js.map +1 -1
  768. package/dist/util/InvisibleMessage.js +2 -2
  769. package/dist/util/InvisibleMessage.js.map +1 -1
  770. package/dist/util/PopupUtils.d.ts +1 -3
  771. package/dist/util/PopupUtils.js +1 -15
  772. package/dist/util/PopupUtils.js.map +1 -1
  773. package/dist/util/SelectionAssistant.d.ts +12 -0
  774. package/dist/util/SelectionAssistant.js +71 -0
  775. package/dist/util/SelectionAssistant.js.map +1 -0
  776. package/dist/util/SlotsHelper.js.map +1 -1
  777. package/dist/util/StringHelper.d.ts +3 -1
  778. package/dist/util/StringHelper.js +15 -1
  779. package/dist/util/StringHelper.js.map +1 -1
  780. package/dist/util/TabbableElements.js +5 -12
  781. package/dist/util/TabbableElements.js.map +1 -1
  782. package/dist/util/arraysAreEqual.js.map +1 -1
  783. package/dist/util/clamp.js +2 -1
  784. package/dist/util/clamp.js.map +1 -1
  785. package/dist/util/createInstanceChecker.d.ts +2 -0
  786. package/dist/util/createInstanceChecker.js +8 -0
  787. package/dist/util/createInstanceChecker.js.map +1 -0
  788. package/dist/util/createLinkInHead.d.ts +1 -1
  789. package/dist/util/createLinkInHead.js +1 -1
  790. package/dist/util/createLinkInHead.js.map +1 -1
  791. package/dist/util/createMultiInstanceChecker.d.ts +2 -0
  792. package/dist/util/createMultiInstanceChecker.js +19 -0
  793. package/dist/util/createMultiInstanceChecker.js.map +1 -0
  794. package/dist/util/debounce.js.map +1 -1
  795. package/dist/util/detectNavigatorLanguage.d.ts +2 -2
  796. package/dist/util/detectNavigatorLanguage.js +6 -1
  797. package/dist/util/detectNavigatorLanguage.js.map +1 -1
  798. package/dist/util/dragAndDrop/DragRegistry.d.ts +39 -0
  799. package/dist/util/dragAndDrop/DragRegistry.js +58 -0
  800. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
  801. package/dist/util/dragAndDrop/findClosestPosition.d.ts +12 -0
  802. package/dist/util/dragAndDrop/findClosestPosition.js +106 -0
  803. package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
  804. package/dist/util/dragAndDrop/handleDragOver.d.ts +16 -0
  805. package/dist/util/dragAndDrop/handleDragOver.js +42 -0
  806. package/dist/util/dragAndDrop/handleDragOver.js.map +1 -0
  807. package/dist/util/dragAndDrop/handleDrop.d.ts +5 -0
  808. package/dist/util/dragAndDrop/handleDrop.js +22 -0
  809. package/dist/util/dragAndDrop/handleDrop.js.map +1 -0
  810. package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
  811. package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
  812. package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
  813. package/dist/util/fixSafariActiveState.d.ts +2 -0
  814. package/dist/util/fixSafariActiveState.js +11 -0
  815. package/dist/util/fixSafariActiveState.js.map +1 -0
  816. package/dist/util/formatMessage.js.map +1 -1
  817. package/dist/util/generateHighlightedMarkup.js.map +1 -1
  818. package/dist/util/getActiveElement.js.map +1 -1
  819. package/dist/util/getClassCopy.d.ts +146 -103
  820. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -2
  821. package/dist/util/getDesigntimePropertyAsArray.js +2 -1
  822. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -1
  823. package/dist/util/getFastNavigationGroups.js +6 -1
  824. package/dist/util/getFastNavigationGroups.js.map +1 -1
  825. package/dist/util/getFileExtension.js.map +1 -1
  826. package/dist/util/getNormalizedTarget.js.map +1 -1
  827. package/dist/util/getParentElement.d.ts +2 -0
  828. package/dist/util/getParentElement.js +5 -0
  829. package/dist/util/getParentElement.js.map +1 -0
  830. package/dist/util/getSingletonElementInstance.d.ts +10 -1
  831. package/dist/util/getSingletonElementInstance.js +11 -2
  832. package/dist/util/getSingletonElementInstance.js.map +1 -1
  833. package/dist/util/hash2str.d.ts +1 -0
  834. package/dist/util/hash2str.js +14 -0
  835. package/dist/util/hash2str.js.map +1 -0
  836. package/dist/util/isElementClickable.js.map +1 -1
  837. package/dist/util/isElementHidden.js +2 -1
  838. package/dist/util/isElementHidden.js.map +1 -1
  839. package/dist/util/isElementTabbable.js +2 -2
  840. package/dist/util/isElementTabbable.js.map +1 -1
  841. package/dist/util/isEventMarked.d.ts +2 -0
  842. package/dist/util/isEventMarked.js +6 -0
  843. package/dist/util/isEventMarked.js.map +1 -0
  844. package/dist/util/isValidPropertyName.js.map +1 -1
  845. package/dist/util/throttle.d.ts +2 -0
  846. package/dist/util/throttle.js +20 -0
  847. package/dist/util/throttle.js.map +1 -0
  848. package/dist/util/toLowercaseEnumValue.d.ts +3 -0
  849. package/dist/util/toLowercaseEnumValue.js +4 -0
  850. package/dist/util/toLowercaseEnumValue.js.map +1 -0
  851. package/dist/util/valueStateNavigation.d.ts +8 -0
  852. package/dist/util/valueStateNavigation.js +40 -0
  853. package/dist/util/valueStateNavigation.js.map +1 -0
  854. package/dist/util/whenDOMReady.js.map +1 -1
  855. package/dist/validateThemeRoot.js +9 -4
  856. package/dist/validateThemeRoot.js.map +1 -1
  857. package/dist/vscode.html-custom-data.json +22 -0
  858. package/package-scripts.cjs +69 -35
  859. package/package.json +52 -23
  860. package/src/css/MultipleDragGhost.css +17 -0
  861. package/src/css/OpenUI5PopupStyles.css +10 -0
  862. package/src/css/ScrollbarStyles.css +3 -0
  863. package/src/css/SystemCSSVars.css +27 -10
  864. package/src/i18n/messagebundle.properties +5 -0
  865. package/src/i18n/messagebundle_en.properties +2 -0
  866. package/src/i18n/messagebundle_en_US_sappsd.properties +2 -0
  867. package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
  868. package/src/i18n/messagebundle_en_US_saptrc.properties +2 -0
  869. package/src/thirdparty/preact/jsxRuntime.module.js +1 -0
  870. package/src/thirdparty/preact/preact.module.js +1 -0
  871. package/src/thirdparty/preact/version.txt +1 -0
  872. package/tsconfig.json +18 -14
  873. package/.eslintignore +0 -16
  874. package/.eslintrc.cjs +0 -3
  875. package/bundle.esm.js +0 -64
  876. package/config/wdio.conf.cjs +0 -400
  877. package/dist/CSP.d.ts +0 -30
  878. package/dist/CSP.js +0 -51
  879. package/dist/CSP.js.map +0 -1
  880. package/dist/MarkedEvents.d.ts +0 -9
  881. package/dist/MarkedEvents.js +0 -15
  882. package/dist/MarkedEvents.js.map +0 -1
  883. package/dist/StaticArea.d.ts +0 -3
  884. package/dist/StaticArea.js +0 -7
  885. package/dist/StaticArea.js.map +0 -1
  886. package/dist/StaticAreaItem.d.ts +0 -36
  887. package/dist/StaticAreaItem.js +0 -99
  888. package/dist/StaticAreaItem.js.map +0 -1
  889. package/dist/api.json +0 -1
  890. package/dist/assets/Boot.34b7cea0.css +0 -1
  891. package/dist/assets/Boot.cd4c1287.js +0 -9
  892. package/dist/assets/bundle.esm.50629814.js +0 -50
  893. package/dist/assets-meta/IconCollectionsAlias.js.map +0 -1
  894. package/dist/config/RTL.d.ts +0 -7
  895. package/dist/config/RTL.js +0 -37
  896. package/dist/config/RTL.js.map +0 -1
  897. package/dist/config/ThemeRoots.d.ts +0 -4
  898. package/dist/config/ThemeRoots.js +0 -28
  899. package/dist/config/ThemeRoots.js.map +0 -1
  900. package/dist/css/FontFace.css +0 -66
  901. package/dist/css/OverrideFontFace.css +0 -32
  902. package/dist/generated/css/OverrideFontFace.css.d.ts +0 -3
  903. package/dist/generated/css/OverrideFontFace.css.js +0 -7
  904. package/dist/generated/css/OverrideFontFace.css.js.map +0 -1
  905. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +0 -4
  906. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +0 -9
  907. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +0 -1
  908. package/dist/theming/getEffectiveLinksHrefs.d.ts +0 -3
  909. package/dist/theming/getEffectiveLinksHrefs.js +0 -17
  910. package/dist/theming/getEffectiveLinksHrefs.js.map +0 -1
  911. package/dist/theming/preloadLinks.d.ts +0 -3
  912. package/dist/theming/preloadLinks.js +0 -19
  913. package/dist/theming/preloadLinks.js.map +0 -1
  914. package/dist/types/CSSColor.d.ts +0 -15
  915. package/dist/types/CSSColor.js +0 -18
  916. package/dist/types/CSSColor.js.map +0 -1
  917. package/dist/types/DOMReference.d.ts +0 -17
  918. package/dist/types/DOMReference.js +0 -25
  919. package/dist/types/DOMReference.js.map +0 -1
  920. package/dist/types/DataType.d.ts +0 -25
  921. package/dist/types/DataType.js +0 -44
  922. package/dist/types/DataType.js.map +0 -1
  923. package/dist/types/Float.d.ts +0 -17
  924. package/dist/types/Float.js +0 -21
  925. package/dist/types/Float.js.map +0 -1
  926. package/dist/types/Integer.d.ts +0 -17
  927. package/dist/types/Integer.js +0 -21
  928. package/dist/types/Integer.js.map +0 -1
  929. package/dist/util/AriaLabelHelper.js.map +0 -1
  930. package/dist/util/createStyleInHead.d.ts +0 -8
  931. package/dist/util/createStyleInHead.js +0 -18
  932. package/dist/util/createStyleInHead.js.map +0 -1
  933. package/dist/util/getEffectiveScrollbarStyle.d.ts +0 -2
  934. package/dist/util/getEffectiveScrollbarStyle.js +0 -4
  935. package/dist/util/getEffectiveScrollbarStyle.js.map +0 -1
  936. package/index.js +0 -230
  937. package/lib/generate-asset-parameters/index.js +0 -27
  938. package/lib/generate-styles/index.js +0 -31
  939. package/lib/generate-version-info/index.js +0 -32
  940. package/src/css/FontFace.css +0 -66
  941. package/src/css/OverrideFontFace.css +0 -32
  942. package/src/renderer/directives/style-map.js +0 -72
  943. package/used-modules.txt +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"F6Navigation.js","sourceRoot":"","sources":["../../src/features/F6Navigation.ts"],"names":[],"mappings":"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","sourcesContent":["import { registerFeature } from \"../FeaturesRegistry.js\";\nimport { isF6Next, isF6Previous } from \"../Keys.js\";\nimport { instanceOfUI5Element } from \"../UI5Element.js\";\nimport { getFirstFocusableElement } from \"../util/FocusableElements.js\";\nimport getFastNavigationGroups from \"../util/getFastNavigationGroups.js\";\nimport isElementClickable from \"../util/isElementClickable.js\";\n\nclass F6Navigation {\n\tstatic _instance: F6Navigation;\n\tkeydownHandler: (event: KeyboardEvent) => void;\n\tselectedGroup: HTMLElement | null = null;\n\tgroups: Array<HTMLElement> = [];\n\n\tconstructor() {\n\t\tthis.keydownHandler = this._keydownHandler.bind(this) as (event: KeyboardEvent) => void;\n\t\tthis.attachEventListeners();\n\t}\n\n\tattachEventListeners() {\n\t\tdocument.addEventListener(\"keydown\", this.keydownHandler);\n\t}\n\n\tasync groupElementToFocus(nextElement: HTMLElement) {\n\t\tconst nextElementDomRef = instanceOfUI5Element(nextElement) ? nextElement.getDomRef() : nextElement;\n\n\t\tif (nextElementDomRef) {\n\t\t\tif (isElementClickable(nextElementDomRef)) {\n\t\t\t\treturn nextElementDomRef;\n\t\t\t}\n\n\t\t\tconst elementToFocus = await getFirstFocusableElement(nextElementDomRef);\n\n\t\t\tif (elementToFocus) {\n\t\t\t\treturn elementToFocus;\n\t\t\t}\n\t\t}\n\t}\n\n\tasync findNextFocusableGroupElement(currentIndex: number) {\n\t\tlet elementToFocus;\n\n\t\t/* eslint-disable no-await-in-loop */\n\t\tfor (let index = 0; index < this.groups.length; index++) {\n\t\t\tlet nextElement;\n\n\t\t\tif (currentIndex > -1) {\n\t\t\t\tif (currentIndex + 1 >= this.groups.length) {\n\t\t\t\t\tcurrentIndex = 0;\n\t\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t\t} else {\n\t\t\t\t\tcurrentIndex += 1;\n\t\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcurrentIndex = 0;\n\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t}\n\n\t\t\telementToFocus = await this.groupElementToFocus(nextElement);\n\n\t\t\tif (elementToFocus) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-await-in-loop */\n\n\t\treturn elementToFocus;\n\t}\n\n\tasync findPreviousFocusableGroupElement(currentIndex: number) {\n\t\tlet elementToFocus;\n\n\t\t/* eslint-disable no-await-in-loop */\n\t\tfor (let index = 0; index < this.groups.length; index++) {\n\t\t\tlet nextElement;\n\n\t\t\tif (currentIndex > 0) {\n\t\t\t\t// Handle the situation where the first focusable element of two neighbor groups is the same\n\t\t\t\t// For example:\n\t\t\t\t// <ui5-flexible-column-layout>\n\t\t\t\t// <ui5-list>\n\t\t\t\t// <ui5-li>List Item</ui5-li>\n\t\t\t\t// </ui5-list>\n\t\t\t\t// </ui5-flexible-column-layout>\n\t\t\t\t// Here for both FCL & List the firstFoccusableElement is the same (the ui5-li)\n\t\t\t\tconst firstFocusable = await this.groupElementToFocus(this.groups[currentIndex - 1]);\n\t\t\t\tconst shouldSkipParent = firstFocusable === await this.groupElementToFocus(this.groups[currentIndex]);\n\n\t\t\t\tcurrentIndex = shouldSkipParent ? currentIndex - 2 : currentIndex - 1;\n\n\t\t\t\tif (currentIndex < 0) {\n\t\t\t\t\tcurrentIndex = this.groups.length - 1;\n\t\t\t\t}\n\n\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t} else {\n\t\t\t\tcurrentIndex = this.groups.length - 1;\n\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t}\n\n\t\t\telementToFocus = await this.groupElementToFocus(nextElement);\n\n\t\t\tif (elementToFocus) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-await-in-loop */\n\n\t\treturn elementToFocus;\n\t}\n\n\tasync _keydownHandler(event: KeyboardEvent) {\n\t\tconst forward = isF6Next(event);\n\t\tconst backward = isF6Previous(event);\n\t\tif (!(forward || backward)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.updateGroups();\n\n\t\tif (this.groups.length < 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tlet elementToFocus;\n\n\t\tif (this.groups.length === 0) {\n\t\t\telementToFocus = await this.groupElementToFocus(this.groups[0]);\n\n\t\t\treturn elementToFocus?.focus();\n\t\t}\n\n\t\tlet currentIndex = -1;\n\n\t\tif (this.selectedGroup) {\n\t\t\tcurrentIndex = this.groups.indexOf(this.selectedGroup);\n\t\t}\n\n\t\tif (forward) {\n\t\t\telementToFocus = await this.findNextFocusableGroupElement(currentIndex);\n\t\t}\n\n\t\tif (backward) {\n\t\t\telementToFocus = await this.findPreviousFocusableGroupElement(currentIndex);\n\t\t}\n\n\t\telementToFocus?.focus();\n\t}\n\n\tremoveEventListeners() {\n\t\tdocument.removeEventListener(\"keydown\", this.keydownHandler);\n\t}\n\n\tupdateGroups() {\n\t\tthis.setSelectedGroup();\n\t\tthis.groups = getFastNavigationGroups(document.body);\n\t}\n\n\tsetSelectedGroup(root: DocumentOrShadowRoot = window.document) {\n\t\tconst htmlElement = window.document.querySelector(\"html\");\n\t\tlet element: Element | null | ParentNode = this.deepActive(root);\n\n\t\twhile (element && (element as Element).getAttribute(\"data-sap-ui-fastnavgroup\") !== \"true\" && element !== htmlElement) {\n\t\t\telement = element.parentElement ? element.parentNode : (element.parentNode as ShadowRoot).host;\n\t\t}\n\n\t\tthis.selectedGroup = element as HTMLElement;\n\t}\n\n\tdeepActive(root: DocumentOrShadowRoot): Element | null {\n\t\tif (root.activeElement && root.activeElement.shadowRoot) {\n\t\t\treturn this.deepActive(root.activeElement.shadowRoot);\n\t\t}\n\n\t\treturn root.activeElement;\n\t}\n\n\tdestroy() {\n\t\tthis.removeEventListeners();\n\t}\n\n\tstatic init() {\n\t\tif (!this._instance) {\n\t\t\tthis._instance = new F6Navigation();\n\t\t}\n\n\t\treturn this._instance;\n\t}\n}\n\nregisterFeature(\"F6Navigation\", F6Navigation);\n\nexport default F6Navigation;\n"]}
1
+ {"version":3,"file":"F6Navigation.js","sourceRoot":"","sources":["../../src/features/F6Navigation.ts"],"names":[],"mappings":"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","sourcesContent":["import { getFeature, registerFeature } from \"../FeaturesRegistry.js\";\nimport { isF6Next, isF6Previous } from \"../Keys.js\";\nimport { getFirstFocusableElement } from \"../util/FocusableElements.js\";\nimport getFastNavigationGroups from \"../util/getFastNavigationGroups.js\";\nimport isElementClickable from \"../util/isElementClickable.js\";\nimport { getCurrentRuntimeIndex, compareRuntimes } from \"../Runtimes.js\";\nimport getSharedResource from \"../getSharedResource.js\";\nimport type OpenUI5Support from \"./OpenUI5Support.js\";\nimport getParentElement from \"../util/getParentElement.js\";\n\ntype F6Registry = {\n\tinstance?: F6Navigation,\n}\n\nconst currentRuntimeINdex = getCurrentRuntimeIndex();\n\nconst shouldUpdate = (runtimeIndex: number | undefined) => {\n\tif (runtimeIndex === undefined) {\n\t\treturn true;\n\t}\n\treturn compareRuntimes(currentRuntimeINdex, runtimeIndex) === 1; // 1 means the current is newer, 0 means the same, -1 means the resource's runtime is newer\n};\n\nclass F6Navigation {\n\tkeydownHandler: (event: KeyboardEvent) => void;\n\tselectedGroup: HTMLElement | null = null;\n\tgroups: Array<HTMLElement> = [];\n\n\tconstructor() {\n\t\tthis.keydownHandler = this._keydownHandler.bind(this) as (event: KeyboardEvent) => void;\n\t\tthis.attachEventListeners();\n\t}\n\n\tattachEventListeners() {\n\t\tdocument.addEventListener(\"keydown\", this.keydownHandler);\n\t}\n\n\tremoveEventListeners() {\n\t\tdocument.removeEventListener(\"keydown\", this.keydownHandler);\n\t}\n\n\tasync groupElementToFocus(nextElement: HTMLElement) {\n\t\tif (nextElement) {\n\t\t\tif (isElementClickable(nextElement)) {\n\t\t\t\treturn nextElement;\n\t\t\t}\n\n\t\t\tconst elementToFocus = await getFirstFocusableElement(nextElement);\n\n\t\t\tif (elementToFocus) {\n\t\t\t\treturn elementToFocus;\n\t\t\t}\n\t\t}\n\t}\n\n\tasync findNextFocusableGroupElement(currentIndex: number) {\n\t\tlet elementToFocus;\n\n\t\t/* eslint-disable no-await-in-loop */\n\t\tfor (let index = 0; index < this.groups.length; index++) {\n\t\t\tlet nextElement;\n\n\t\t\tif (currentIndex > -1) {\n\t\t\t\tif (currentIndex + 1 >= this.groups.length) {\n\t\t\t\t\tcurrentIndex = 0;\n\t\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t\t} else {\n\t\t\t\t\tcurrentIndex += 1;\n\t\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcurrentIndex = 0;\n\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t}\n\n\t\t\telementToFocus = await this.groupElementToFocus(nextElement);\n\n\t\t\tif (elementToFocus) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-await-in-loop */\n\n\t\treturn elementToFocus;\n\t}\n\n\tasync findPreviousFocusableGroupElement(currentIndex: number) {\n\t\tlet elementToFocus;\n\n\t\t/* eslint-disable no-await-in-loop */\n\t\tfor (let index = 0; index < this.groups.length; index++) {\n\t\t\tlet nextElement;\n\n\t\t\tif (currentIndex > 0) {\n\t\t\t\t// Handle the situation where the first focusable element of two neighbor groups is the same\n\t\t\t\t// For example:\n\t\t\t\t// <ui5-flexible-column-layout>\n\t\t\t\t// <ui5-list>\n\t\t\t\t// <ui5-li>List Item</ui5-li>\n\t\t\t\t// </ui5-list>\n\t\t\t\t// </ui5-flexible-column-layout>\n\t\t\t\t// Here for both FCL & List the firstFoccusableElement is the same (the ui5-li)\n\t\t\t\tconst currentGroupFocusable = await this.groupElementToFocus(this.groups[currentIndex]);\n\t\t\t\tlet distanceToNextGroup = 1;\n\n\t\t\t\tfor (let distanceIndex = 1; distanceIndex < this.groups.length; distanceIndex++) {\n\t\t\t\t\tconst firstFocusable = await this.groupElementToFocus(this.groups[currentIndex - distanceIndex]);\n\n\t\t\t\t\tif (firstFocusable === currentGroupFocusable) {\n\t\t\t\t\t\tdistanceToNextGroup++;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcurrentIndex -= distanceToNextGroup;\n\n\t\t\t\tif (currentIndex < 0) {\n\t\t\t\t\tcurrentIndex = this.groups.length - 1;\n\t\t\t\t}\n\n\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t} else {\n\t\t\t\tcurrentIndex = this.groups.length - 1;\n\t\t\t\tnextElement = this.groups[currentIndex];\n\t\t\t}\n\n\t\t\telementToFocus = await this.groupElementToFocus(nextElement);\n\n\t\t\tif (elementToFocus) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-await-in-loop */\n\n\t\treturn elementToFocus;\n\t}\n\n\tasync _keydownHandler(event: KeyboardEvent) {\n\t\tconst openUI5Support = getFeature<typeof OpenUI5Support>(\"OpenUI5Support\");\n\t\tconst isOpenUI5Detected = openUI5Support && openUI5Support.isOpenUI5Detected();\n\n\t\tif (isOpenUI5Detected) {\n\t\t\tthis.destroy();\n\t\t\treturn;\n\t\t}\n\n\t\tconst forward = isF6Next(event);\n\t\tconst backward = isF6Previous(event);\n\t\tif (!(forward || backward)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.updateGroups();\n\n\t\tif (this.groups.length < 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tlet elementToFocus;\n\n\t\tif (this.groups.length === 0) {\n\t\t\telementToFocus = await this.groupElementToFocus(this.groups[0]);\n\n\t\t\treturn elementToFocus?.focus();\n\t\t}\n\n\t\tlet currentIndex = -1;\n\n\t\tif (this.selectedGroup) {\n\t\t\tcurrentIndex = this.groups.indexOf(this.selectedGroup);\n\t\t}\n\n\t\tif (forward) {\n\t\t\telementToFocus = await this.findNextFocusableGroupElement(currentIndex);\n\t\t}\n\n\t\tif (backward) {\n\t\t\telementToFocus = await this.findPreviousFocusableGroupElement(currentIndex);\n\t\t}\n\n\t\telementToFocus?.focus();\n\t}\n\n\tupdateGroups() {\n\t\tconst container = this.findContainer();\n\n\t\tthis.setSelectedGroup();\n\t\tthis.groups = getFastNavigationGroups(container);\n\t}\n\n\tfindContainer() {\n\t\tconst htmlElement = window.document.querySelector(\"html\");\n\t\tlet element = this.deepActive(window.document);\n\n\t\twhile (element && element !== htmlElement) {\n\t\t\tconst closestScopeEl = element.closest<HTMLElement>(\"[data-sap-ui-fastnavgroup-container='true']\");\n\n\t\t\tif (closestScopeEl) {\n\t\t\t\treturn closestScopeEl;\n\t\t\t}\n\n\t\t\telement = getParentElement(element);\n\t\t}\n\n\t\treturn document.body;\n\t}\n\n\tsetSelectedGroup(root: DocumentOrShadowRoot = window.document) {\n\t\tconst htmlElement = window.document.querySelector(\"html\");\n\t\tlet element: Element | null = this.deepActive(root);\n\n\t\twhile (element && element.getAttribute(\"data-sap-ui-fastnavgroup\") !== \"true\" && element !== htmlElement) {\n\t\t\telement = getParentElement(element);\n\t\t}\n\n\t\tthis.selectedGroup = element as HTMLElement;\n\t}\n\n\tdeepActive(root: DocumentOrShadowRoot): Element | null {\n\t\tif (root?.activeElement?.shadowRoot?.activeElement) {\n\t\t\treturn this.deepActive(root.activeElement.shadowRoot);\n\t\t}\n\n\t\treturn root.activeElement;\n\t}\n\n\tdestroy() {\n\t\tthis.removeEventListeners();\n\t}\n\n\tget _ui5RuntimeIndex() {\n\t\treturn currentRuntimeINdex;\n\t}\n\n\tstatic init() {\n\t\tconst f6Registry = getSharedResource<F6Registry>(\"F6Registry\", {});\n\n\t\tif (!f6Registry.instance) {\n\t\t\tf6Registry.instance = new F6Navigation();\n\t\t} else if (shouldUpdate(f6Registry.instance?._ui5RuntimeIndex)) {\n\t\t\tf6Registry.instance?.destroy();\n\t\t\tf6Registry.instance = new F6Navigation();\n\t\t}\n\t}\n\n\tstatic destroy() {\n\t\tconst f6Registry = getSharedResource<F6Registry>(\"F6Registry\", {});\n\t\tf6Registry.instance?.destroy();\n\t}\n}\n\nregisterFeature(\"F6Navigation\", F6Navigation);\n\nexport default F6Navigation;\n"]}
@@ -0,0 +1,15 @@
1
+ import type UI5Element from "../UI5Element.js";
2
+ interface IFormInputElement extends UI5Element {
3
+ name?: string;
4
+ formFormattedValue: FormData | string | null;
5
+ formValidityMessage?: string;
6
+ formValidity?: ValidityStateFlags;
7
+ formElementAnchor?: () => HTMLElement | undefined | Promise<HTMLElement | undefined>;
8
+ }
9
+ declare const updateFormValue: (element: IFormInputElement | UI5Element) => void;
10
+ declare const setFormValue: (element: IFormInputElement) => void;
11
+ declare const setFormValidity: (element: IFormInputElement) => Promise<void>;
12
+ declare const submitForm: (element: UI5Element) => Promise<void>;
13
+ declare const resetForm: (element: UI5Element) => void;
14
+ export { updateFormValue, setFormValue, setFormValidity, submitForm, resetForm, };
15
+ export type { IFormInputElement, };
@@ -0,0 +1,43 @@
1
+ const updateFormValue = (element) => {
2
+ if (isInputElement(element)) {
3
+ setFormValue(element);
4
+ }
5
+ };
6
+ const setFormValue = (element) => {
7
+ if (!element._internals?.form) {
8
+ return;
9
+ }
10
+ setFormValidity(element);
11
+ if (!element.name) {
12
+ element._internals?.setFormValue(null);
13
+ return;
14
+ }
15
+ element._internals.setFormValue(element.formFormattedValue);
16
+ };
17
+ const setFormValidity = async (element) => {
18
+ if (!element.isUI5Element || !element._internals?.form) {
19
+ return;
20
+ }
21
+ element._internals.setValidity({ customError: true }, " "); // treat the form as invalid until CLDR and message bundles are loaded
22
+ await element.definePromise;
23
+ if (element.formValidity && Object.keys(element.formValidity).some(key => key)) {
24
+ const focusRef = await element.formElementAnchor?.();
25
+ element._internals.setValidity(element.formValidity, element.formValidityMessage, focusRef);
26
+ }
27
+ else {
28
+ element._internals.setValidity({});
29
+ }
30
+ };
31
+ const submitForm = async (element) => {
32
+ const elements = [...(element._internals?.form?.elements ?? [])];
33
+ await Promise.all(elements.map(el => { return isInputElement(el) ? setFormValidity(el) : Promise.resolve(); }));
34
+ element._internals?.form?.requestSubmit();
35
+ };
36
+ const resetForm = (element) => {
37
+ element._internals?.form?.reset();
38
+ };
39
+ const isInputElement = (element) => {
40
+ return "formFormattedValue" in element && "name" in element;
41
+ };
42
+ export { updateFormValue, setFormValue, setFormValidity, submitForm, resetForm, };
43
+ //# sourceMappingURL=InputElementsFormSupport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputElementsFormSupport.js","sourceRoot":"","sources":["../../src/features/InputElementsFormSupport.ts"],"names":[],"mappings":"AAUA,MAAM,eAAe,GAAG,CAAC,OAAuC,EAAE,EAAE;IACnE,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,YAAY,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,OAA0B,EAAE,EAAE;IACnD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;QAC/B,OAAO;IACR,CAAC;IAED,eAAe,CAAC,OAAO,CAAC,CAAC;IAEzB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO;IACR,CAAC;IAED,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,KAAK,EAAE,OAA0B,EAAE,EAAE;IAC5D,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;QACxD,OAAO;IACR,CAAC;IAED,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,sEAAsE;IAClI,MAAM,OAAO,CAAC,aAAa,CAAC;IAE5B,IAAI,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QAChF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACrD,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAC7F,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,KAAK,EAAE,OAAmB,EAAE,EAAE;IAChD,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC,CAA0C,CAAC;IAE1G,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhH,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,OAAmB,EAAE,EAAE;IACzC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,OAAuC,EAAgC,EAAE;IAChG,OAAO,oBAAoB,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,CAAC;AAC7D,CAAC,CAAC;AAEF,OAAO,EACN,eAAe,EACf,YAAY,EACZ,eAAe,EACf,UAAU,EACV,SAAS,GACT,CAAC","sourcesContent":["import type UI5Element from \"../UI5Element.js\";\n\ninterface IFormInputElement extends UI5Element {\n\tname?: string;\n\tformFormattedValue: FormData | string | null;\n\tformValidityMessage?: string;\n\tformValidity?: ValidityStateFlags;\n\tformElementAnchor?: () => HTMLElement | undefined | Promise<HTMLElement | undefined>;\n}\n\nconst updateFormValue = (element: IFormInputElement | UI5Element) => {\n\tif (isInputElement(element)) {\n\t\tsetFormValue(element);\n\t}\n};\n\nconst setFormValue = (element: IFormInputElement) => {\n\tif (!element._internals?.form) {\n\t\treturn;\n\t}\n\n\tsetFormValidity(element);\n\n\tif (!element.name) {\n\t\telement._internals?.setFormValue(null);\n\t\treturn;\n\t}\n\n\telement._internals.setFormValue(element.formFormattedValue);\n};\n\nconst setFormValidity = async (element: IFormInputElement) => {\n\tif (!element.isUI5Element || !element._internals?.form) {\n\t\treturn;\n\t}\n\n\telement._internals.setValidity({ customError: true }, \" \"); // treat the form as invalid until CLDR and message bundles are loaded\n\tawait element.definePromise;\n\n\tif (element.formValidity && Object.keys(element.formValidity).some(key => key)) {\n\t\tconst focusRef = await element.formElementAnchor?.();\n\t\telement._internals.setValidity(element.formValidity, element.formValidityMessage, focusRef);\n\t} else {\n\t\telement._internals.setValidity({});\n\t}\n};\n\nconst submitForm = async (element: UI5Element) => {\n\tconst elements = [...(element._internals?.form?.elements ?? [])] as Array<IFormInputElement | UI5Element>;\n\n\tawait Promise.all(elements.map(el => { return isInputElement(el) ? setFormValidity(el) : Promise.resolve(); }));\n\n\telement._internals?.form?.requestSubmit();\n};\n\nconst resetForm = (element: UI5Element) => {\n\telement._internals?.form?.reset();\n};\n\nconst isInputElement = (element: IFormInputElement | UI5Element): element is IFormInputElement => {\n\treturn \"formFormattedValue\" in element && \"name\" in element;\n};\n\nexport {\n\tupdateFormValue,\n\tsetFormValue,\n\tsetFormValidity,\n\tsubmitForm,\n\tresetForm,\n};\n\nexport type {\n\tIFormInputElement,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"LegacyDateFormats.js","sourceRoot":"","sources":["../../src/features/LegacyDateFormats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAazD,IAAI,cAA8B,CAAC;AAEnC,MAAM,iBAAiB;IACtB;;;;;OAKG;IACH,MAAM,CAAC,gCAAgC;QACtC,IAAI,cAAc,KAAK,SAAS,EAAE;YACjC,cAAc,GAAG,iBAAiB,EAAE,CAAC;SACrC;QAED,OAAO,cAAc,CAAC,6BAA6B,IAAI,EAAE,CAAC;IAC3D,CAAC;CACD;AAED,eAAe,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;AAExD,eAAe,iBAAiB,CAAC","sourcesContent":["import { getFormatSettings } from \"../InitialConfiguration.js\";\nimport type { FormatSettings } from \"../config/FormatSettings.js\";\nimport { registerFeature } from \"../FeaturesRegistry.js\";\n\n// Allows specifying the customizing data for Islamic calendar support\n// dateFormat - The date format\n// islamicMonthStart - The Islamic date in string format // 14360101\n// gregDate - Corresponding Gregorian date to the Islamic one in string format // 20141024\ntype IslamicToGregorianMapping = {\n\tdateFormat: string,\n\tislamicMonthStart: string,\n\tgregDate: string,\n};\ntype LegacyDateCalendarCustomizing = Array<IslamicToGregorianMapping>;\n\nlet formatSettings: FormatSettings;\n\nclass LegacyDateFormats {\n\t/**\n\t * Returns the currently set customizing data for Islamic calendar support\n\t *\n\t * @return {object[]} Returns an array that contains the customizing data.\n\t * @public\n\t */\n\tstatic getLegacyDateCalendarCustomizing(this: void): LegacyDateCalendarCustomizing {\n\t\tif (formatSettings === undefined) {\n\t\t\tformatSettings = getFormatSettings();\n\t\t}\n\n\t\treturn formatSettings.legacyDateCalendarCustomizing || [];\n\t}\n}\n\nregisterFeature(\"LegacyDateFormats\", LegacyDateFormats);\n\nexport default LegacyDateFormats;\nexport type {\n\tFormatSettings,\n\tLegacyDateCalendarCustomizing,\n};\n"]}
1
+ {"version":3,"file":"LegacyDateFormats.js","sourceRoot":"","sources":["../../src/features/LegacyDateFormats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAazD,IAAI,cAA8B,CAAC;AAEnC,MAAM,iBAAiB;IACtB;;;;;OAKG;IACH,MAAM,CAAC,gCAAgC;QACtC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAClC,cAAc,GAAG,iBAAiB,EAAE,CAAC;QACtC,CAAC;QAED,OAAO,cAAc,CAAC,6BAA6B,IAAI,EAAE,CAAC;IAC3D,CAAC;CACD;AAED,eAAe,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;AAExD,eAAe,iBAAiB,CAAC","sourcesContent":["import { getFormatSettings } from \"../InitialConfiguration.js\";\nimport type { FormatSettings } from \"../config/FormatSettings.js\";\nimport { registerFeature } from \"../FeaturesRegistry.js\";\n\n// Allows specifying the customizing data for Islamic calendar support\n// dateFormat - The date format\n// islamicMonthStart - The Islamic date in string format // 14360101\n// gregDate - Corresponding Gregorian date to the Islamic one in string format // 20141024\ntype IslamicToGregorianMapping = {\n\tdateFormat: string,\n\tislamicMonthStart: string,\n\tgregDate: string,\n};\ntype LegacyDateCalendarCustomizing = Array<IslamicToGregorianMapping>;\n\nlet formatSettings: FormatSettings;\n\nclass LegacyDateFormats {\n\t/**\n\t * Returns the currently set customizing data for Islamic calendar support\n\t *\n\t * @return {object[]} Returns an array that contains the customizing data.\n\t * @public\n\t */\n\tstatic getLegacyDateCalendarCustomizing(this: void): LegacyDateCalendarCustomizing {\n\t\tif (formatSettings === undefined) {\n\t\t\tformatSettings = getFormatSettings();\n\t\t}\n\n\t\treturn formatSettings.legacyDateCalendarCustomizing || [];\n\t}\n}\n\nregisterFeature(\"LegacyDateFormats\", LegacyDateFormats);\n\nexport default LegacyDateFormats;\nexport type {\n\tFormatSettings,\n\tLegacyDateCalendarCustomizing,\n};\n"]}
@@ -1,11 +1,11 @@
1
- import { TemplateResult } from "lit-html";
1
+ import type { TemplateResult } from "lit-html";
2
2
  import type UI5Element from "../UI5Element.js";
3
3
  import type OpenUI5Element from "./OpenUI5Element.js";
4
4
  declare class OpenUI5Enablement {
5
- static wrapTemplateResultInBusyMarkup(html: (strings: TemplateStringsArray, ...values: Array<unknown>) => TemplateResult, host: OpenUI5Element, templateResult: TemplateResult): TemplateResult<1 | 2>;
5
+ static wrapTemplateResultInBusyMarkup(html: (strings: TemplateStringsArray, ...values: Array<unknown>) => TemplateResult, host: OpenUI5Element, templateResult: TemplateResult): TemplateResult;
6
6
  static enrichBusyIndicatorSettings(klass: typeof UI5Element): void;
7
7
  static enrichBusyIndicatorMetadata(klass: typeof UI5Element): void;
8
8
  static enrichBusyIndicatorMethods(UI5ElementPrototype: typeof OpenUI5Element.prototype): void;
9
- static getBusyIndicatorStyles(): import("../types.js").StyleData;
9
+ static getBusyIndicatorStyles(): string;
10
10
  }
11
11
  export default OpenUI5Enablement;
@@ -1 +1 @@
1
- {"version":3,"file":"OpenUI5Enablement.js","sourceRoot":"","sources":["../../src/features/OpenUI5Enablement.ts"],"names":[],"mappings":"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","sourcesContent":["import { TemplateResult } from \"lit-html\";\nimport { registerFeature } from \"../FeaturesRegistry.js\";\nimport BusyIndicatorStyles from \"../generated/css/BusyIndicator.css.js\";\nimport merge from \"../thirdparty/merge.js\";\nimport {\n\tisTabPrevious,\n} from \"../Keys.js\";\n\nimport type UI5Element from \"../UI5Element.js\";\nimport type OpenUI5Element from \"./OpenUI5Element.js\";\n\nconst busyIndicatorMetadata = {\n\tproperties: {\n\t\t__isBusy: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n};\n\nclass OpenUI5Enablement {\n\tstatic wrapTemplateResultInBusyMarkup(html: (strings: TemplateStringsArray, ...values: Array<unknown>) => TemplateResult, host: OpenUI5Element, templateResult: TemplateResult) {\n\t\tif (host.isOpenUI5Component && host.__isBusy) {\n\t\t\ttemplateResult = html`\n\t\t\t<div class=\"busy-indicator-wrapper\">\n\t\t\t\t<span tabindex=\"0\" busy-indicator-before-span @focusin=${host.__suppressFocusIn}></span>\n\t\t\t\t${templateResult}\n\t\t\t\t<div class=\"busy-indicator-overlay\"></div>\n\t\t\t\t<div busy-indicator\n\t\t\t\t\tclass=\"busy-indicator-busy-area\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\trole=\"progressbar\"\n\t\t\t\t\t@keydown=${host.__suppressFocusBack}\n\t\t\t\t\taria-valuemin=\"0\"\n\t\t\t\t\taria-valuemax=\"100\"\n\t\t\t\t\taria-valuetext=\"Busy\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"busy-indicator-circle circle-animation-0\"></div>\n\t\t\t\t\t\t<div class=\"busy-indicator-circle circle-animation-1\"></div>\n\t\t\t\t\t\t<div class=\"busy-indicator-circle circle-animation-2\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>`;\n\t\t}\n\n\t\treturn templateResult;\n\t}\n\n\tstatic enrichBusyIndicatorSettings(klass: typeof UI5Element) {\n\t\tOpenUI5Enablement.enrichBusyIndicatorMetadata(klass);\n\t\tOpenUI5Enablement.enrichBusyIndicatorMethods(klass.prototype);\n\t}\n\n\tstatic enrichBusyIndicatorMetadata(klass: typeof UI5Element) {\n\t\tklass.metadata = merge(klass.metadata, busyIndicatorMetadata);\n\t}\n\n\tstatic enrichBusyIndicatorMethods(UI5ElementPrototype: typeof OpenUI5Element.prototype) {\n\t\tObject.defineProperties(UI5ElementPrototype, {\n\t\t\t\"__redirectFocus\": { value: true, writable: true },\n\t\t\t\"__suppressFocusBack\": {\n\t\t\t\tget() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\thandleEvent: (e: KeyboardEvent) => {\n\t\t\t\t\t\t\tif (isTabPrevious(e)) {\n\t\t\t\t\t\t\t\tconst beforeElem = this.shadowRoot.querySelector(\"[busy-indicator-before-span]\");\n\t\t\t\t\t\t\t\tthis.__redirectFocus = false;\n\t\t\t\t\t\t\t\tbeforeElem.focus();\n\t\t\t\t\t\t\t\tthis.__redirectFocus = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcapture: true,\n\t\t\t\t\t\tpassive: false,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"isOpenUI5Component\": { get: () => { return true; } },\n\t\t});\n\n\t\tUI5ElementPrototype.__suppressFocusIn = function handleFocusIn() {\n\t\t\tconst busyIndicator = this.shadowRoot?.querySelector(\"[busy-indicator]\") as HTMLElement;\n\t\t\tif (busyIndicator && this.__redirectFocus) {\n\t\t\t\tbusyIndicator.focus();\n\t\t\t}\n\t\t};\n\n\t\tUI5ElementPrototype.getDomRef = function getDomRef() {\n\t\t\t// If a component set _getRealDomRef to its children, use the return value of this function\n\t\t\tif (typeof this._getRealDomRef === \"function\") {\n\t\t\t\treturn this._getRealDomRef();\n\t\t\t}\n\n\t\t\tif (!this.shadowRoot || this.shadowRoot.children.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst children = [...this.shadowRoot.children].filter(child => ![\"link\", \"style\"].includes(child.localName));\n\n\t\t\tif (children.length !== 1) {\n\t\t\t\tconsole.warn(`The shadow DOM for ${(this.constructor as typeof UI5Element).getMetadata().getTag()} does not have a top level element, the getDomRef() method might not work as expected`); // eslint-disable-line\n\t\t\t}\n\n\t\t\tif (this.__isBusy) {\n\t\t\t\treturn children[0].querySelector(\".busy-indicator-wrapper > :not([busy-indicator-before-span]):not(.busy-indicator-overlay):not(.busy-indicator-busy-area)\") as HTMLElement;\n\t\t\t}\n\n\t\t\treturn children[0] as HTMLElement;\n\t\t};\n\t}\n\n\tstatic getBusyIndicatorStyles() {\n\t\treturn BusyIndicatorStyles;\n\t}\n}\n\nregisterFeature(\"OpenUI5Enablement\", OpenUI5Enablement);\n\nexport default OpenUI5Enablement;\n"]}
1
+ {"version":3,"file":"OpenUI5Enablement.js","sourceRoot":"","sources":["../../src/features/OpenUI5Enablement.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TemplateResult } from \"lit-html\";\nimport { registerFeature } from \"../FeaturesRegistry.js\";\nimport BusyIndicatorStyles from \"../generated/css/BusyIndicator.css.js\";\nimport merge from \"../thirdparty/merge.js\";\nimport {\n\tisTabPrevious,\n} from \"../Keys.js\";\n\nimport type UI5Element from \"../UI5Element.js\";\nimport type OpenUI5Element from \"./OpenUI5Element.js\";\n\nconst busyIndicatorMetadata = {\n\tproperties: {\n\t\t__isBusy: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n};\n\nclass OpenUI5Enablement {\n\tstatic wrapTemplateResultInBusyMarkup(html: (strings: TemplateStringsArray, ...values: Array<unknown>) => TemplateResult, host: OpenUI5Element, templateResult: TemplateResult) {\n\t\tif (host.isOpenUI5Component && host.__isBusy) {\n\t\t\ttemplateResult = html`\n\t\t\t<div class=\"busy-indicator-wrapper\">\n\t\t\t\t<span tabindex=\"0\" busy-indicator-before-span @focusin=${host.__suppressFocusIn}></span>\n\t\t\t\t${templateResult}\n\t\t\t\t<div class=\"busy-indicator-overlay\"></div>\n\t\t\t\t<div busy-indicator\n\t\t\t\t\tclass=\"busy-indicator-busy-area\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\trole=\"progressbar\"\n\t\t\t\t\t@keydown=${host.__suppressFocusBack}\n\t\t\t\t\taria-valuemin=\"0\"\n\t\t\t\t\taria-valuemax=\"100\"\n\t\t\t\t\taria-valuetext=\"Busy\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"busy-indicator-circle circle-animation-0\"></div>\n\t\t\t\t\t\t<div class=\"busy-indicator-circle circle-animation-1\"></div>\n\t\t\t\t\t\t<div class=\"busy-indicator-circle circle-animation-2\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>`;\n\t\t}\n\n\t\treturn templateResult;\n\t}\n\n\tstatic enrichBusyIndicatorSettings(klass: typeof UI5Element) {\n\t\tOpenUI5Enablement.enrichBusyIndicatorMetadata(klass);\n\t\tOpenUI5Enablement.enrichBusyIndicatorMethods(klass.prototype);\n\t}\n\n\tstatic enrichBusyIndicatorMetadata(klass: typeof UI5Element) {\n\t\tklass.metadata = merge(klass.metadata, busyIndicatorMetadata);\n\t}\n\n\tstatic enrichBusyIndicatorMethods(UI5ElementPrototype: typeof OpenUI5Element.prototype) {\n\t\tObject.defineProperties(UI5ElementPrototype, {\n\t\t\t\"__redirectFocus\": { value: true, writable: true },\n\t\t\t\"__suppressFocusBack\": {\n\t\t\t\tget() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\thandleEvent: (e: KeyboardEvent) => {\n\t\t\t\t\t\t\tif (isTabPrevious(e)) {\n\t\t\t\t\t\t\t\tconst beforeElem = this.shadowRoot.querySelector(\"[busy-indicator-before-span]\");\n\t\t\t\t\t\t\t\tthis.__redirectFocus = false;\n\t\t\t\t\t\t\t\tbeforeElem.focus();\n\t\t\t\t\t\t\t\tthis.__redirectFocus = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcapture: true,\n\t\t\t\t\t\tpassive: false,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"isOpenUI5Component\": { get: () => { return true; } },\n\t\t});\n\n\t\tUI5ElementPrototype.__suppressFocusIn = function handleFocusIn() {\n\t\t\tconst busyIndicator = this.shadowRoot?.querySelector(\"[busy-indicator]\") as HTMLElement;\n\t\t\tif (busyIndicator && this.__redirectFocus) {\n\t\t\t\tbusyIndicator.focus();\n\t\t\t}\n\t\t};\n\n\t\tUI5ElementPrototype.getDomRef = function getDomRef() {\n\t\t\t// If a component set _getRealDomRef to its children, use the return value of this function\n\t\t\tif (typeof this._getRealDomRef === \"function\") {\n\t\t\t\treturn this._getRealDomRef();\n\t\t\t}\n\n\t\t\tif (!this.shadowRoot || this.shadowRoot.children.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst children = [...this.shadowRoot.children].filter(child => ![\"link\", \"style\"].includes(child.localName));\n\n\t\t\tif (children.length !== 1) {\n\t\t\t\tconsole.warn(`The shadow DOM for ${(this.constructor as typeof UI5Element).getMetadata().getTag()} does not have a top level element, the getDomRef() method might not work as expected`); // eslint-disable-line\n\t\t\t}\n\n\t\t\tif (this.__isBusy) {\n\t\t\t\treturn children[0].querySelector(\".busy-indicator-wrapper > :not([busy-indicator-before-span]):not(.busy-indicator-overlay):not(.busy-indicator-busy-area)\") as HTMLElement;\n\t\t\t}\n\n\t\t\treturn children[0] as HTMLElement;\n\t\t};\n\t}\n\n\tstatic getBusyIndicatorStyles() {\n\t\treturn BusyIndicatorStyles;\n\t}\n}\n\nregisterFeature(\"OpenUI5Enablement\", OpenUI5Enablement);\n\nexport default OpenUI5Enablement;\n"]}
@@ -1,26 +1,45 @@
1
- import { CLDRData } from "../asset-registries/LocaleData.js";
1
+ import type { PopupInfo } from "./patchPopup.js";
2
+ import type { CLDRData } from "../asset-registries/LocaleData.js";
2
3
  import type { LegacyDateCalendarCustomizing } from "../features/LegacyDateFormats.js";
3
4
  declare class OpenUI5Support {
4
- static isLoaded(): boolean;
5
- static init(): Promise<void>;
5
+ static enablePolling: boolean;
6
+ static isAtLeastVersion116(): boolean;
7
+ static isOpenUI5Detected(): boolean;
8
+ static initPromise?: Promise<void>;
9
+ /**
10
+ * Important - if OpenUI5 is loaded after UI5 Web Components, configuration is not synchronized and it's up to the app to initialize OpenUI5 with the same settings as UI5 Web Components for consistency.
11
+ */
12
+ static OpenUI5DelayedInit: () => Promise<void>;
13
+ static awaitForOpenUI5(): void;
14
+ static init(): void | Promise<void>;
6
15
  static getConfigurationSettingsObject(): {
16
+ animationMode?: undefined;
17
+ language?: undefined;
18
+ theme?: undefined;
19
+ themeRoot?: undefined;
20
+ rtl?: undefined;
21
+ timezone?: undefined;
22
+ calendarType?: undefined;
23
+ formatSettings?: undefined;
24
+ } | {
7
25
  animationMode: string;
8
26
  language: string;
9
27
  theme: string;
10
- themeRoot: string;
28
+ themeRoot: string | undefined;
11
29
  rtl: string;
12
- timezone: string;
30
+ timezone: string | undefined;
13
31
  calendarType: string;
14
32
  formatSettings: {
15
- firstDayOfWeek: any;
33
+ firstDayOfWeek: number | undefined;
16
34
  legacyDateCalendarCustomizing: LegacyDateCalendarCustomizing;
17
35
  };
18
- } | undefined;
36
+ };
19
37
  static getLocaleDataObject(): CLDRData | undefined;
20
38
  static _listenForThemeChange(): void;
21
- static attachListeners(): void;
39
+ static attachListeners(): boolean;
22
40
  static cssVariablesLoaded(): boolean | undefined;
23
- static getNextZIndex(): number | undefined;
24
- static setInitialZIndex(): void;
41
+ static addOpenedPopup(popupInfo: PopupInfo): void;
42
+ static removeOpenedPopup(popup: object): void;
43
+ static getTopmostPopup(): object | null;
25
44
  }
26
45
  export default OpenUI5Support;
@@ -1,41 +1,112 @@
1
+ var _a;
2
+ import patchPatcher from "./patchPatcher.js";
3
+ import { patchPopup, addOpenedPopup, removeOpenedPopup, getTopmostPopup, } from "./patchPopup.js";
1
4
  import { registerFeature } from "../FeaturesRegistry.js";
2
5
  import { setTheme } from "../config/Theme.js";
3
- import { getCurrentZIndex } from "../util/PopupUtils.js";
4
- const getCore = () => {
5
- return window.sap?.ui?.getCore?.();
6
- };
6
+ import { secondaryBoot } from "../Boot.js";
7
+ const OPENUI5_POLLING_INTERVAL = 100;
7
8
  class OpenUI5Support {
8
- static isLoaded() {
9
- return !!getCore();
9
+ static isAtLeastVersion116() {
10
+ if (!window.sap.ui.version) {
11
+ return true; // sap.ui.version will be removed in newer OpenUI5 versions
12
+ }
13
+ const version = window.sap.ui.version;
14
+ const parts = version.split(".");
15
+ if (!parts || parts.length < 2) {
16
+ return false;
17
+ }
18
+ return parseInt(parts[0]) > 1 || parseInt(parts[1]) >= 116;
19
+ }
20
+ static isOpenUI5Detected() {
21
+ return typeof window.sap?.ui?.require === "function";
22
+ }
23
+ static awaitForOpenUI5() {
24
+ if (_a.enablePolling) {
25
+ const interval = setInterval(() => {
26
+ if (_a.isOpenUI5Detected()) {
27
+ clearInterval(interval);
28
+ _a.OpenUI5DelayedInit();
29
+ }
30
+ }, OPENUI5_POLLING_INTERVAL);
31
+ }
32
+ else {
33
+ document.addEventListener("sap-ui-core-ready", () => {
34
+ _a.OpenUI5DelayedInit();
35
+ });
36
+ }
10
37
  }
11
38
  static init() {
12
- const core = getCore();
13
- if (!core) {
14
- return Promise.resolve();
39
+ if (!_a.isOpenUI5Detected()) {
40
+ return _a.awaitForOpenUI5();
15
41
  }
16
- return new Promise(resolve => {
17
- core.attachInit(() => {
18
- window.sap.ui.require(["sap/ui/core/LocaleData", "sap/ui/core/Popup"], (LocaleData, Popup) => {
19
- Popup.setInitialZIndex(getCurrentZIndex());
20
- resolve();
42
+ if (!_a.initPromise) {
43
+ _a.initPromise = new Promise(resolve => {
44
+ window.sap.ui.require(["sap/ui/core/Core"], async (Core) => {
45
+ const callback = () => {
46
+ let deps = ["sap/ui/core/Popup", "sap/m/Dialog", "sap/ui/core/Patcher", "sap/ui/core/LocaleData"];
47
+ if (_a.isAtLeastVersion116()) { // for versions since 1.116.0 and onward, use the modular core
48
+ deps = [
49
+ ...deps,
50
+ "sap/base/i18n/Formatting",
51
+ "sap/base/i18n/Localization",
52
+ "sap/ui/core/ControlBehavior",
53
+ "sap/ui/core/Theming",
54
+ "sap/ui/core/date/CalendarUtils",
55
+ ];
56
+ }
57
+ window.sap.ui.require(deps, (Popup, Dialog, Patcher) => {
58
+ patchPatcher(Patcher);
59
+ patchPopup(Popup, Dialog);
60
+ resolve();
61
+ });
62
+ };
63
+ if (_a.isAtLeastVersion116()) {
64
+ await Core.ready();
65
+ callback();
66
+ }
67
+ else {
68
+ Core.attachInit(callback);
69
+ }
21
70
  });
22
71
  });
23
- });
72
+ }
73
+ return _a.initPromise;
24
74
  }
25
75
  static getConfigurationSettingsObject() {
26
- const core = getCore();
27
- if (!core) {
28
- return;
76
+ if (!_a.isOpenUI5Detected()) {
77
+ return {};
78
+ }
79
+ if (_a.isAtLeastVersion116()) {
80
+ const ControlBehavior = window.sap.ui.require("sap/ui/core/ControlBehavior");
81
+ const Localization = window.sap.ui.require("sap/base/i18n/Localization");
82
+ const Theming = window.sap.ui.require("sap/ui/core/Theming");
83
+ const Formatting = window.sap.ui.require("sap/base/i18n/Formatting");
84
+ const CalendarUtils = window.sap.ui.require("sap/ui/core/date/CalendarUtils");
85
+ return {
86
+ animationMode: ControlBehavior.getAnimationMode(),
87
+ language: Localization.getLanguage(),
88
+ theme: Theming.getTheme(),
89
+ themeRoot: Theming.getThemeRoot(),
90
+ rtl: Localization.getRTL(),
91
+ timezone: Localization.getTimezone(),
92
+ calendarType: Formatting.getCalendarType(),
93
+ formatSettings: {
94
+ firstDayOfWeek: CalendarUtils.getWeekConfigurationValues().firstDayOfWeek,
95
+ legacyDateCalendarCustomizing: Formatting.getCustomIslamicCalendarData?.()
96
+ ?? Formatting.getLegacyDateCalendarCustomizing?.(),
97
+ },
98
+ };
29
99
  }
30
- const config = core.getConfiguration();
100
+ const Core = window.sap.ui.require("sap/ui/core/Core");
101
+ const config = Core.getConfiguration();
31
102
  const LocaleData = window.sap.ui.require("sap/ui/core/LocaleData");
32
103
  return {
33
104
  animationMode: config.getAnimationMode(),
34
105
  language: config.getLanguage(),
35
106
  theme: config.getTheme(),
36
- themeRoot: config.getThemeRoot(),
107
+ themeRoot: typeof config.getThemeRoot === "function" ? config.getThemeRoot() : undefined,
37
108
  rtl: config.getRTL(),
38
- timezone: config.getTimezone(),
109
+ timezone: typeof config.getTimezone === "function" ? config.getTimezone() : undefined,
39
110
  calendarType: config.getCalendarType(),
40
111
  formatSettings: {
41
112
  firstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,
@@ -44,56 +115,70 @@ class OpenUI5Support {
44
115
  };
45
116
  }
46
117
  static getLocaleDataObject() {
47
- const core = getCore();
48
- if (!core) {
118
+ if (!_a.isOpenUI5Detected()) {
49
119
  return;
50
120
  }
51
- const config = core.getConfiguration();
52
121
  const LocaleData = window.sap.ui.require("sap/ui/core/LocaleData");
122
+ if (_a.isAtLeastVersion116()) {
123
+ const Localization = window.sap.ui.require("sap/base/i18n/Localization");
124
+ return LocaleData.getInstance(Localization.getLanguageTag())._get();
125
+ }
126
+ const Core = window.sap.ui.require("sap/ui/core/Core");
127
+ const config = Core.getConfiguration();
53
128
  return LocaleData.getInstance(config.getLocale())._get();
54
129
  }
55
130
  static _listenForThemeChange() {
56
- const core = getCore();
57
- const config = core.getConfiguration();
58
- core.attachThemeChanged(async () => {
59
- await setTheme(config.getTheme());
60
- });
131
+ if (_a.isAtLeastVersion116()) {
132
+ const Theming = window.sap.ui.require("sap/ui/core/Theming");
133
+ Theming.attachApplied(() => {
134
+ setTheme(Theming.getTheme());
135
+ });
136
+ }
137
+ else {
138
+ const Core = window.sap.ui.require("sap/ui/core/Core");
139
+ const config = Core.getConfiguration();
140
+ Core.attachThemeChanged(() => {
141
+ setTheme(config.getTheme());
142
+ });
143
+ }
61
144
  }
62
145
  static attachListeners() {
63
- const core = getCore();
64
- if (!core) {
65
- return;
146
+ if (!_a.isOpenUI5Detected()) {
147
+ return false;
66
148
  }
67
- OpenUI5Support._listenForThemeChange();
149
+ _a._listenForThemeChange();
150
+ return true;
68
151
  }
69
152
  static cssVariablesLoaded() {
70
- const core = getCore();
71
- if (!core) {
153
+ if (!_a.isOpenUI5Detected()) {
72
154
  return;
73
155
  }
74
156
  const link = [...document.head.children].find(el => el.id === "sap-ui-theme-sap.ui.core"); // more reliable than querySelector early
75
157
  if (!link) {
76
- return;
158
+ return false;
77
159
  }
78
- return !!link.href.match(/\/css(-|_)variables\.css/);
160
+ // The file name is "css_variables.css" until 1.127 and "library.css" from 1.127 onwards
161
+ return !!link.href.match(/\/css(-|_)variables\.css/) || !!link.href.match(/\/library\.css/);
79
162
  }
80
- static getNextZIndex() {
81
- const core = getCore();
82
- if (!core) {
83
- return;
84
- }
85
- const Popup = window.sap.ui.require("sap/ui/core/Popup");
86
- return Popup.getNextZIndex();
163
+ static addOpenedPopup(popupInfo) {
164
+ addOpenedPopup(popupInfo);
87
165
  }
88
- static setInitialZIndex() {
89
- const core = getCore();
90
- if (!core) {
91
- return;
92
- }
93
- const Popup = window.sap.ui.require("sap/ui/core/Popup");
94
- Popup.setInitialZIndex(getCurrentZIndex());
166
+ static removeOpenedPopup(popup) {
167
+ removeOpenedPopup(popup);
168
+ }
169
+ static getTopmostPopup() {
170
+ return getTopmostPopup();
95
171
  }
96
172
  }
173
+ _a = OpenUI5Support;
174
+ OpenUI5Support.enablePolling = false; // set to true for old OpenUI5 versions
175
+ /**
176
+ * Important - if OpenUI5 is loaded after UI5 Web Components, configuration is not synchronized and it's up to the app to initialize OpenUI5 with the same settings as UI5 Web Components for consistency.
177
+ */
178
+ OpenUI5Support.OpenUI5DelayedInit = async () => {
179
+ _a.init(); // This ensures patchPopover and patchPatcher are called; and from this point OpenUI5 CSS vars start being detected
180
+ await secondaryBoot(); // Re-run the parts of boot that were skipped due to OpenUI5 not having been loaded
181
+ };
97
182
  registerFeature("OpenUI5Support", OpenUI5Support);
98
183
  export default OpenUI5Support;
99
184
  //# sourceMappingURL=OpenUI5Support.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenUI5Support.js","sourceRoot":"","sources":["../../src/features/OpenUI5Support.ts"],"names":[],"mappings":"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","sourcesContent":["import { registerFeature } from \"../FeaturesRegistry.js\";\nimport { setTheme } from \"../config/Theme.js\";\nimport { getCurrentZIndex } from \"../util/PopupUtils.js\";\nimport { CLDRData } from \"../asset-registries/LocaleData.js\";\nimport type { LegacyDateCalendarCustomizing } from \"../features/LegacyDateFormats.js\";\n\ntype OpenUI5Popup = {\n\tsetInitialZIndex: (zIndex: number) => void,\n\tgetNextZIndex: () => number,\n};\n\ntype OpenUI5Core = {\n\tattachInit: (callback: () => void) => void,\n\tattachThemeChanged: (callback: () => Promise<void>) => void,\n\tgetConfiguration: () => OpenUI5CoreConfiguration,\n};\n\ntype OpenUI5CoreConfiguration = {\n\tgetAnimationMode: () => string,\n\tgetLanguage: () => string,\n\tgetTheme: () => string,\n\tgetThemeRoot: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n\tgetCalendarType: () => string,\n\tgetLocale: () => string,\n\tgetFormatSettings: () => {\n\t\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing;\n\t}\n};\n\ntype LocaleData = {\n\tgetInstance: (locale: string) => Locale,\n}\n\ntype Locale = {\n\tgetFirstDayOfWeek: () => number,\n\t_get: () => CLDRData,\n};\n\nconst getCore = () => {\n\treturn window.sap?.ui?.getCore?.() as OpenUI5Core;\n};\n\nclass OpenUI5Support {\n\tstatic isLoaded() {\n\t\treturn !!getCore();\n\t}\n\n\tstatic init() {\n\t\tconst core = getCore();\n\t\tif (!core) {\n\t\t\treturn Promise.resolve();\n\t\t}\n\n\t\treturn new Promise<void>(resolve => {\n\t\t\tcore.attachInit(() => {\n\t\t\t\twindow.sap.ui.require([\"sap/ui/core/LocaleData\", \"sap/ui/core/Popup\"], (LocaleData: LocaleData, Popup: OpenUI5Popup) => {\n\t\t\t\t\tPopup.setInitialZIndex(getCurrentZIndex());\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\tstatic getConfigurationSettingsObject() {\n\t\tconst core = getCore();\n\t\tif (!core) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst config = core.getConfiguration();\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\");\n\n\t\treturn {\n\t\t\tanimationMode: config.getAnimationMode(),\n\t\t\tlanguage: config.getLanguage(),\n\t\t\ttheme: config.getTheme(),\n\t\t\tthemeRoot: config.getThemeRoot(),\n\t\t\trtl: config.getRTL(),\n\t\t\ttimezone: config.getTimezone(),\n\t\t\tcalendarType: config.getCalendarType(),\n\t\t\tformatSettings: {\n\t\t\t\tfirstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,\n\t\t\t\tlegacyDateCalendarCustomizing: config.getFormatSettings().getLegacyDateCalendarCustomizing(),\n\t\t\t},\n\t\t};\n\t}\n\n\tstatic getLocaleDataObject() {\n\t\tconst core = getCore();\n\t\tif (!core) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst config = core.getConfiguration();\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\t\treturn LocaleData.getInstance(config.getLocale())._get();\n\t}\n\n\tstatic _listenForThemeChange() {\n\t\tconst core = getCore();\n\t\tconst config = core.getConfiguration();\n\t\tcore.attachThemeChanged(async () => {\n\t\t\tawait setTheme(config.getTheme());\n\t\t});\n\t}\n\n\tstatic attachListeners() {\n\t\tconst core = getCore();\n\t\tif (!core) {\n\t\t\treturn;\n\t\t}\n\n\t\tOpenUI5Support._listenForThemeChange();\n\t}\n\n\tstatic cssVariablesLoaded() {\n\t\tconst core = getCore();\n\t\tif (!core) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst link = [...document.head.children].find(el => el.id === \"sap-ui-theme-sap.ui.core\") as HTMLLinkElement; // more reliable than querySelector early\n\t\tif (!link) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn !!link.href.match(/\\/css(-|_)variables\\.css/);\n\t}\n\n\tstatic getNextZIndex() {\n\t\tconst core = getCore();\n\t\tif (!core) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst Popup = window.sap.ui.require(\"sap/ui/core/Popup\") as OpenUI5Popup;\n\t\treturn Popup.getNextZIndex();\n\t}\n\n\tstatic setInitialZIndex() {\n\t\tconst core = getCore();\n\t\tif (!core) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst Popup = window.sap.ui.require(\"sap/ui/core/Popup\") as OpenUI5Popup;\n\t\tPopup.setInitialZIndex(getCurrentZIndex());\n\t}\n}\n\nregisterFeature(\"OpenUI5Support\", OpenUI5Support);\n\nexport default OpenUI5Support;\n"]}
1
+ {"version":3,"file":"OpenUI5Support.js","sourceRoot":"","sources":["../../src/features/OpenUI5Support.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EACN,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,eAAe,GACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA6D3C,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAErC,MAAM,cAAc;IAGnB,MAAM,CAAC,mBAAmB;QACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAG,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,CAAC,2DAA2D;QACzE,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,EAAG,CAAC,OAAiB,CAAC;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACd,CAAC;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,iBAAiB;QACvB,OAAO,OAAO,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,KAAK,UAAU,CAAC;IACtD,CAAC;IAYD,MAAM,CAAC,eAAe;QACrB,IAAI,EAAc,CAAC,aAAa,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;gBACjC,IAAI,EAAc,CAAC,iBAAiB,EAAE,EAAE,CAAC;oBACxC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,EAAc,CAAC,kBAAkB,EAAE,CAAC;gBACrC,CAAC;YACF,CAAC,EAAE,wBAAwB,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,GAAG,EAAE;gBACnD,EAAc,CAAC,kBAAkB,EAAE,CAAC;YACrC,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,MAAM,CAAC,IAAI;QACV,IAAI,CAAC,EAAc,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACzC,OAAO,EAAc,CAAC,eAAe,EAAE,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,EAAc,CAAC,WAAW,EAAE,CAAC;YACjC,EAAc,CAAC,WAAW,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;gBACxD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAiB,EAAE,EAAE;oBACvE,MAAM,QAAQ,GAAG,GAAG,EAAE;wBACrB,IAAI,IAAI,GAAkB,CAAC,mBAAmB,EAAE,cAAc,EAAE,qBAAqB,EAAE,wBAAwB,CAAC,CAAC;wBACjH,IAAI,EAAc,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,8DAA8D;4BACzG,IAAI,GAAG;gCACN,GAAG,IAAI;gCACP,0BAA0B;gCAC1B,4BAA4B;gCAC5B,6BAA6B;gCAC7B,qBAAqB;gCACrB,gCAAgC;6BAChC,CAAC;wBACH,CAAC;wBACD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAwB,EAAE,MAA0B,EAAE,OAAuB,EAAE,EAAE;4BAC7G,YAAY,CAAC,OAAO,CAAC,CAAC;4BACtB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;4BAC1B,OAAO,EAAE,CAAC;wBACX,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC;oBACF,IAAI,EAAc,CAAC,mBAAmB,EAAE,EAAE,CAAC;wBAC1C,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;wBACnB,QAAQ,EAAE,CAAC;oBACZ,CAAC;yBAAM,CAAC;wBACP,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBAC3B,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,EAAc,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,8BAA8B;QACpC,IAAI,CAAC,EAAc,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACzC,OAAO,EAAE,CAAC;QACX,CAAC;QAED,IAAI,EAAc,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAC1C,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAoB,CAAC;YAChG,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAiB,CAAC;YACzF,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAY,CAAC;YACxE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAe,CAAC;YACnF,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAkB,CAAC;YAE/F,OAAO;gBACN,aAAa,EAAE,eAAe,CAAC,gBAAgB,EAAE;gBACjD,QAAQ,EAAE,YAAY,CAAC,WAAW,EAAE;gBACpC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE;gBACzB,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;gBACjC,GAAG,EAAE,YAAY,CAAC,MAAM,EAAE;gBAC1B,QAAQ,EAAE,YAAY,CAAC,WAAW,EAAE;gBACpC,YAAY,EAAE,UAAU,CAAC,eAAe,EAAE;gBAC1C,cAAc,EAAE;oBACf,cAAc,EAAE,aAAa,CAAC,0BAA0B,EAAE,CAAC,cAAc;oBACzE,6BAA6B,EAAE,UAAU,CAAC,4BAA4B,EAAE,EAAE;2BACtE,UAAU,CAAC,gCAAgC,EAAE,EAAE;iBACnD;aACD,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAgB,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAe,CAAC;QAEjF,OAAO;YACN,aAAa,EAAE,MAAM,CAAC,gBAAgB,EAAE;YACxC,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE;YAC9B,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE;YACxB,SAAS,EAAE,OAAO,MAAM,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS;YACxF,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE;YACpB,QAAQ,EAAE,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;YACrF,YAAY,EAAE,MAAM,CAAC,eAAe,EAAE;YACtC,cAAc,EAAE;gBACf,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS;gBACvG,6BAA6B,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,gCAAgC,EAAE;aAC5F;SACD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,mBAAmB;QACzB,IAAI,CAAC,EAAc,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACzC,OAAO;QACR,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAe,CAAC;QAEjF,IAAI,EAAc,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAiB,CAAC;YACzF,OAAO,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAgB,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,OAAO,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC3B,IAAI,EAAc,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAY,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YACtE,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE;gBAC1B,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAgB,CAAC;YACtE,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBAC5B,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,MAAM,CAAC,eAAe;QACrB,IAAI,CAAC,EAAc,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC;QACd,CAAC;QAED,EAAc,CAAC,qBAAqB,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,CAAC,kBAAkB;QACxB,IAAI,CAAC,EAAc,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACzC,OAAO;QACR,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,0BAA0B,CAAoB,CAAC,CAAC,yCAAyC;QACvJ,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACd,CAAC;QAED,wFAAwF;QACxF,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,SAAoB;QACzC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,KAAa;QACrC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,eAAe;QACrB,OAAO,eAAe,EAAE,CAAC;IAC1B,CAAC;;;AAlMM,4BAAa,GAAG,KAAK,AAAR,CAAS,CAAC,uCAAuC;AAoBrE;;GAEG;AACI,iCAAkB,GAAG,KAAK,IAAI,EAAE;IACtC,EAAc,CAAC,IAAI,EAAE,CAAC,CAAC,mHAAmH;IAC1I,MAAM,aAAa,EAAE,CAAC,CAAC,mFAAmF;AAC3G,CAAC,AAHwB,CAGxB;AA2KF,eAAe,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;AAElD,eAAe,cAAc,CAAC","sourcesContent":["import patchPatcher from \"./patchPatcher.js\";\nimport type { OpenUI5Patcher } from \"./patchPatcher.js\";\nimport {\n\tpatchPopup,\n\taddOpenedPopup,\n\tremoveOpenedPopup,\n\tgetTopmostPopup,\n} from \"./patchPopup.js\";\nimport type { OpenUI5PopupClass, OpenUI5DialogClass, PopupInfo } from \"./patchPopup.js\";\nimport { registerFeature } from \"../FeaturesRegistry.js\";\nimport { setTheme } from \"../config/Theme.js\";\nimport type { CLDRData } from \"../asset-registries/LocaleData.js\";\nimport type { LegacyDateCalendarCustomizing } from \"../features/LegacyDateFormats.js\";\nimport { secondaryBoot } from \"../Boot.js\";\n\ntype OpenUI5Core = {\n\tattachInit: (callback: () => void) => void,\n\tready: () => Promise<void>,\n\tattachThemeChanged: (callback: () => void) => void,\n\tgetConfiguration: () => OpenUI5CoreConfiguration,\n};\n\ntype OpenUI5CoreConfiguration = {\n\tgetAnimationMode: () => string,\n\tgetLanguage: () => string,\n\tgetTheme: () => string,\n\tgetThemeRoot: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n\tgetCalendarType: () => string,\n\tgetLocale: () => string,\n\tgetFormatSettings: () => {\n\t\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing;\n\t}\n};\n\ntype ControlBehavior = {\n\tgetAnimationMode: () => string,\n}\n\ntype Localization = {\n\tgetLanguage: () => string,\n\tgetLanguageTag: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n}\n\ntype LocaleData = {\n\tgetInstance: (locale: string) => Locale,\n}\n\ntype Theming = {\n\tgetThemeRoot: () => string,\n\tgetTheme: () => string,\n\tattachApplied: (callback: () => void) => void,\n}\n\ntype Formatting = {\n\tgetCalendarType: () => string,\n\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing,\n\tgetCustomIslamicCalendarData?: () => LegacyDateCalendarCustomizing,\n}\n\ntype CalendarUtils = {\n\tgetWeekConfigurationValues: () => {\n\t\tfirstDayOfWeek: number | undefined,\n\t},\n}\n\ntype Locale = {\n\tgetFirstDayOfWeek: () => number,\n\t_get: () => CLDRData,\n};\n\nconst OPENUI5_POLLING_INTERVAL = 100;\n\nclass OpenUI5Support {\n\tstatic enablePolling = false; // set to true for old OpenUI5 versions\n\n\tstatic isAtLeastVersion116() {\n\t\tif (!window.sap.ui!.version) {\n\t\t\treturn true; // sap.ui.version will be removed in newer OpenUI5 versions\n\t\t}\n\t\tconst version = window.sap.ui!.version as string;\n\t\tconst parts = version.split(\".\");\n\t\tif (!parts || parts.length < 2) {\n\t\t\treturn false;\n\t\t}\n\t\treturn parseInt(parts[0]) > 1 || parseInt(parts[1]) >= 116;\n\t}\n\n\tstatic isOpenUI5Detected() {\n\t\treturn typeof window.sap?.ui?.require === \"function\";\n\t}\n\n\tstatic initPromise?: Promise<void>;\n\n\t/**\n\t * Important - if OpenUI5 is loaded after UI5 Web Components, configuration is not synchronized and it's up to the app to initialize OpenUI5 with the same settings as UI5 Web Components for consistency.\n\t */\n\tstatic OpenUI5DelayedInit = async () => {\n\t\tOpenUI5Support.init(); // This ensures patchPopover and patchPatcher are called; and from this point OpenUI5 CSS vars start being detected\n\t\tawait secondaryBoot(); // Re-run the parts of boot that were skipped due to OpenUI5 not having been loaded\n\t}\n\n\tstatic awaitForOpenUI5() {\n\t\tif (OpenUI5Support.enablePolling) {\n\t\t\tconst interval = setInterval(() => {\n\t\t\t\tif (OpenUI5Support.isOpenUI5Detected()) {\n\t\t\t\t\tclearInterval(interval);\n\t\t\t\t\tOpenUI5Support.OpenUI5DelayedInit();\n\t\t\t\t}\n\t\t\t}, OPENUI5_POLLING_INTERVAL);\n\t\t} else {\n\t\t\tdocument.addEventListener(\"sap-ui-core-ready\", () => {\n\t\t\t\tOpenUI5Support.OpenUI5DelayedInit();\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic init() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn OpenUI5Support.awaitForOpenUI5();\n\t\t}\n\n\t\tif (!OpenUI5Support.initPromise) {\n\t\t\tOpenUI5Support.initPromise = new Promise<void>(resolve => {\n\t\t\t\twindow.sap.ui.require([\"sap/ui/core/Core\"], async (Core: OpenUI5Core) => {\n\t\t\t\t\tconst callback = () => {\n\t\t\t\t\t\tlet deps: Array<string> = [\"sap/ui/core/Popup\", \"sap/m/Dialog\", \"sap/ui/core/Patcher\", \"sap/ui/core/LocaleData\"];\n\t\t\t\t\t\tif (OpenUI5Support.isAtLeastVersion116()) { // for versions since 1.116.0 and onward, use the modular core\n\t\t\t\t\t\t\tdeps = [\n\t\t\t\t\t\t\t\t...deps,\n\t\t\t\t\t\t\t\t\"sap/base/i18n/Formatting\",\n\t\t\t\t\t\t\t\t\"sap/base/i18n/Localization\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/ControlBehavior\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/Theming\",\n\t\t\t\t\t\t\t\t\"sap/ui/core/date/CalendarUtils\",\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\t\t\t\t\t\twindow.sap.ui.require(deps, (Popup: OpenUI5PopupClass, Dialog: OpenUI5DialogClass, Patcher: OpenUI5Patcher) => {\n\t\t\t\t\t\t\tpatchPatcher(Patcher);\n\t\t\t\t\t\t\tpatchPopup(Popup, Dialog);\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t});\n\t\t\t\t\t};\n\t\t\t\t\tif (OpenUI5Support.isAtLeastVersion116()) {\n\t\t\t\t\t\tawait Core.ready();\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tCore.attachInit(callback);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treturn OpenUI5Support.initPromise;\n\t}\n\n\tstatic getConfigurationSettingsObject() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif (OpenUI5Support.isAtLeastVersion116()) {\n\t\t\tconst ControlBehavior = window.sap.ui.require(\"sap/ui/core/ControlBehavior\") as ControlBehavior;\n\t\t\tconst Localization = window.sap.ui.require(\"sap/base/i18n/Localization\") as Localization;\n\t\t\tconst Theming = window.sap.ui.require(\"sap/ui/core/Theming\") as Theming;\n\t\t\tconst Formatting = window.sap.ui.require(\"sap/base/i18n/Formatting\") as Formatting;\n\t\t\tconst CalendarUtils = window.sap.ui.require(\"sap/ui/core/date/CalendarUtils\") as CalendarUtils;\n\n\t\t\treturn {\n\t\t\t\tanimationMode: ControlBehavior.getAnimationMode(),\n\t\t\t\tlanguage: Localization.getLanguage(),\n\t\t\t\ttheme: Theming.getTheme(),\n\t\t\t\tthemeRoot: Theming.getThemeRoot(),\n\t\t\t\trtl: Localization.getRTL(),\n\t\t\t\ttimezone: Localization.getTimezone(),\n\t\t\t\tcalendarType: Formatting.getCalendarType(),\n\t\t\t\tformatSettings: {\n\t\t\t\t\tfirstDayOfWeek: CalendarUtils.getWeekConfigurationValues().firstDayOfWeek,\n\t\t\t\t\tlegacyDateCalendarCustomizing: Formatting.getCustomIslamicCalendarData?.()\n\t\t\t\t\t\t?? Formatting.getLegacyDateCalendarCustomizing?.(),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\tconst config = Core.getConfiguration();\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\n\t\treturn {\n\t\t\tanimationMode: config.getAnimationMode(),\n\t\t\tlanguage: config.getLanguage(),\n\t\t\ttheme: config.getTheme(),\n\t\t\tthemeRoot: typeof config.getThemeRoot === \"function\" ? config.getThemeRoot() : undefined,\n\t\t\trtl: config.getRTL(),\n\t\t\ttimezone: typeof config.getTimezone === \"function\" ? config.getTimezone() : undefined,\n\t\t\tcalendarType: config.getCalendarType(),\n\t\t\tformatSettings: {\n\t\t\t\tfirstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,\n\t\t\t\tlegacyDateCalendarCustomizing: config.getFormatSettings().getLegacyDateCalendarCustomizing(),\n\t\t\t},\n\t\t};\n\t}\n\n\tstatic getLocaleDataObject() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\n\t\tif (OpenUI5Support.isAtLeastVersion116()) {\n\t\t\tconst Localization = window.sap.ui.require(\"sap/base/i18n/Localization\") as Localization;\n\t\t\treturn LocaleData.getInstance(Localization.getLanguageTag())._get();\n\t\t}\n\n\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\tconst config = Core.getConfiguration();\n\t\treturn LocaleData.getInstance(config.getLocale())._get();\n\t}\n\n\tstatic _listenForThemeChange() {\n\t\tif (OpenUI5Support.isAtLeastVersion116()) {\n\t\t\tconst Theming: Theming = window.sap.ui.require(\"sap/ui/core/Theming\");\n\t\t\tTheming.attachApplied(() => {\n\t\t\t\tsetTheme(Theming.getTheme());\n\t\t\t});\n\t\t} else {\n\t\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\t\tconst config = Core.getConfiguration();\n\t\t\tCore.attachThemeChanged(() => {\n\t\t\t\tsetTheme(config.getTheme());\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic attachListeners() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tOpenUI5Support._listenForThemeChange();\n\t\treturn true;\n\t}\n\n\tstatic cssVariablesLoaded() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst link = [...document.head.children].find(el => el.id === \"sap-ui-theme-sap.ui.core\") as HTMLLinkElement; // more reliable than querySelector early\n\t\tif (!link) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// The file name is \"css_variables.css\" until 1.127 and \"library.css\" from 1.127 onwards\n\t\treturn !!link.href.match(/\\/css(-|_)variables\\.css/) || !!link.href.match(/\\/library\\.css/);\n\t}\n\n\tstatic addOpenedPopup(popupInfo: PopupInfo) {\n\t\taddOpenedPopup(popupInfo);\n\t}\n\n\tstatic removeOpenedPopup(popup: object) {\n\t\tremoveOpenedPopup(popup);\n\t}\n\n\tstatic getTopmostPopup() {\n\t\treturn getTopmostPopup();\n\t}\n}\n\nregisterFeature(\"OpenUI5Support\", OpenUI5Support);\n\nexport default OpenUI5Support;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const insertOpenUI5PopupStyles: () => void;
2
+ export default insertOpenUI5PopupStyles;
@@ -0,0 +1,9 @@
1
+ import { hasStyle, createStyle } from "../ManagedStyles.js";
2
+ import openUI5PopupStyles from "../generated/css/OpenUI5PopupStyles.css.js";
3
+ const insertOpenUI5PopupStyles = () => {
4
+ if (!hasStyle("data-ui5-popup-styles")) {
5
+ createStyle(openUI5PopupStyles, "data-ui5-popup-styles");
6
+ }
7
+ };
8
+ export default insertOpenUI5PopupStyles;
9
+ //# sourceMappingURL=insertOpenUI5PopupStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insertOpenUI5PopupStyles.js","sourceRoot":"","sources":["../../src/features/insertOpenUI5PopupStyles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,kBAAkB,MAAM,4CAA4C,CAAC;AAE5E,MAAM,wBAAwB,GAAG,GAAG,EAAE;IACrC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACxC,WAAW,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;IAC1D,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,wBAAwB,CAAC","sourcesContent":["import { hasStyle, createStyle } from \"../ManagedStyles.js\";\nimport openUI5PopupStyles from \"../generated/css/OpenUI5PopupStyles.css.js\";\n\nconst insertOpenUI5PopupStyles = () => {\n\tif (!hasStyle(\"data-ui5-popup-styles\")) {\n\t\tcreateStyle(openUI5PopupStyles, \"data-ui5-popup-styles\");\n\t}\n};\n\nexport default insertOpenUI5PopupStyles;\n"]}
@@ -0,0 +1,12 @@
1
+ type PatcherTarget = {
2
+ _mAttributes: {
3
+ [key: string]: string;
4
+ };
5
+ openEnd: () => OpenUI5Patcher;
6
+ };
7
+ type OpenUI5Patcher = {
8
+ prototype: PatcherTarget;
9
+ } | PatcherTarget;
10
+ declare const patchPatcher: (Patcher: OpenUI5Patcher) => void;
11
+ export default patchPatcher;
12
+ export type { OpenUI5Patcher };
@@ -0,0 +1,21 @@
1
+ const patchOpenEnd = (target) => {
2
+ const origOpenEnd = target.openEnd;
3
+ target.openEnd = function openEnd() {
4
+ if (this._mAttributes?.popover) {
5
+ delete this._mAttributes.popover; // The "popover" attribute will be managed externally, don't let Patcher remove it
6
+ }
7
+ return origOpenEnd.apply(this);
8
+ };
9
+ };
10
+ const patchPatcher = (Patcher) => {
11
+ // Newer version: properties are on prototype
12
+ if ("prototype" in Patcher && "openEnd" in Patcher.prototype) {
13
+ patchOpenEnd(Patcher.prototype);
14
+ }
15
+ else if ("openEnd" in Patcher) {
16
+ // Older version: properties are on constructor directly
17
+ patchOpenEnd(Patcher);
18
+ }
19
+ };
20
+ export default patchPatcher;
21
+ //# sourceMappingURL=patchPatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patchPatcher.js","sourceRoot":"","sources":["../../src/features/patchPatcher.ts"],"names":[],"mappings":"AAQA,MAAM,YAAY,GAAG,CAAC,MAAqB,EAAE,EAAE;IAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;IACnC,MAAM,CAAC,OAAO,GAAG,SAAS,OAAO;QAChC,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,kFAAkF;QACrH,CAAC;QACD,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,OAAuB,EAAE,EAAE;IAChD,6CAA6C;IAC7C,IAAI,WAAW,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAC9D,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;SAAM,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACjC,wDAAwD;QACxD,YAAY,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["type PatcherTarget = {\n\t_mAttributes: { [key: string]: string },\n\topenEnd: () => OpenUI5Patcher,\n};\n\ntype OpenUI5Patcher = { prototype: PatcherTarget } // newer versions (on prototype)\n\t| PatcherTarget; // older versions (on constructor directly)\n\nconst patchOpenEnd = (target: PatcherTarget) => {\n\tconst origOpenEnd = target.openEnd;\n\ttarget.openEnd = function openEnd() {\n\t\tif (this._mAttributes?.popover) {\n\t\t\tdelete this._mAttributes.popover; // The \"popover\" attribute will be managed externally, don't let Patcher remove it\n\t\t}\n\t\treturn origOpenEnd.apply(this);\n\t};\n};\n\nconst patchPatcher = (Patcher: OpenUI5Patcher) => {\n\t// Newer version: properties are on prototype\n\tif (\"prototype\" in Patcher && \"openEnd\" in Patcher.prototype) {\n\t\tpatchOpenEnd(Patcher.prototype);\n\t} else if (\"openEnd\" in Patcher) {\n\t\t// Older version: properties are on constructor directly\n\t\tpatchOpenEnd(Patcher);\n\t}\n};\n\nexport default patchPatcher;\nexport type { OpenUI5Patcher };\n"]}