@ui5/webcomponents-base 0.0.0-07d38e78e → 0.0.0-093de5dd1

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 (661) hide show
  1. package/CHANGELOG.md +1187 -0
  2. package/LICENSE.txt +201 -0
  3. package/README.md +7 -10
  4. package/cypress.config.js +3 -0
  5. package/dist/.tsbuildinfobuild +1 -0
  6. package/dist/Assets-fetch.d.ts +1 -0
  7. package/dist/Assets-fetch.js +3 -0
  8. package/dist/Assets-fetch.js.map +1 -0
  9. package/dist/Assets-node.d.ts +12 -0
  10. package/dist/Assets-node.js +14 -0
  11. package/dist/Assets-node.js.map +1 -0
  12. package/dist/Assets.d.ts +1 -0
  13. package/dist/Assets.js +3 -0
  14. package/dist/Assets.js.map +1 -0
  15. package/dist/Boot.js +5 -1
  16. package/dist/Boot.js.map +1 -1
  17. package/dist/CustomElementsRegistry.d.ts +2 -1
  18. package/dist/CustomElementsRegistry.js +5 -2
  19. package/dist/CustomElementsRegistry.js.map +1 -1
  20. package/dist/CustomElementsScopeUtils.d.ts +4 -2
  21. package/dist/CustomElementsScopeUtils.js +8 -1
  22. package/dist/CustomElementsScopeUtils.js.map +1 -1
  23. package/dist/DOMObserver.js.map +1 -1
  24. package/dist/Device.d.ts +16 -1
  25. package/dist/Device.js +6 -3
  26. package/dist/Device.js.map +1 -1
  27. package/dist/DragAndDrop.d.ts +2 -0
  28. package/dist/DragAndDrop.js +5 -0
  29. package/dist/DragAndDrop.js.map +1 -0
  30. package/dist/EventProvider.js.map +1 -1
  31. package/dist/FontFace.js +6 -9
  32. package/dist/FontFace.js.map +1 -1
  33. package/dist/IgnoreCustomElements.js.map +1 -1
  34. package/dist/InitialConfiguration.d.ts +9 -2
  35. package/dist/InitialConfiguration.js +33 -4
  36. package/dist/InitialConfiguration.js.map +1 -1
  37. package/dist/Keys.d.ts +5 -1
  38. package/dist/Keys.js +5 -1
  39. package/dist/Keys.js.map +1 -1
  40. package/dist/Location.d.ts +11 -0
  41. package/dist/Location.js +49 -0
  42. package/dist/Location.js.map +1 -0
  43. package/dist/ManagedStyles.d.ts +4 -6
  44. package/dist/ManagedStyles.js +6 -16
  45. package/dist/ManagedStyles.js.map +1 -1
  46. package/dist/MediaRange.js.map +1 -1
  47. package/dist/PropertiesFileFormat.js.map +1 -1
  48. package/dist/Render.js.map +1 -1
  49. package/dist/RenderQueue.js.map +1 -1
  50. package/dist/Runtimes.js +11 -0
  51. package/dist/Runtimes.js.map +1 -1
  52. package/dist/ScrollbarStyles.d.ts +2 -0
  53. package/dist/ScrollbarStyles.js +9 -0
  54. package/dist/ScrollbarStyles.js.map +1 -0
  55. package/dist/SystemCSSVars.js.map +1 -1
  56. package/dist/UI5Element.d.ts +94 -36
  57. package/dist/UI5Element.js +272 -160
  58. package/dist/UI5Element.js.map +1 -1
  59. package/dist/UI5ElementMetadata.d.ts +25 -16
  60. package/dist/UI5ElementMetadata.js +15 -71
  61. package/dist/UI5ElementMetadata.js.map +1 -1
  62. package/dist/animations/AnimationQueue.js.map +1 -1
  63. package/dist/animations/animate.js.map +1 -1
  64. package/dist/animations/slideUp.js.map +1 -1
  65. package/dist/asset-registries/Icons.d.ts +43 -9
  66. package/dist/asset-registries/Icons.js +51 -8
  67. package/dist/asset-registries/Icons.js.map +1 -1
  68. package/dist/asset-registries/Illustrations.d.ts +133 -8
  69. package/dist/asset-registries/Illustrations.js +82 -1
  70. package/dist/asset-registries/Illustrations.js.map +1 -1
  71. package/dist/asset-registries/LocaleData.js +2 -1
  72. package/dist/asset-registries/LocaleData.js.map +1 -1
  73. package/dist/asset-registries/Themes.d.ts +3 -6
  74. package/dist/asset-registries/Themes.js +1 -2
  75. package/dist/asset-registries/Themes.js.map +1 -1
  76. package/dist/asset-registries/i18n.js.map +1 -1
  77. package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -1
  78. package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -1
  79. package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -1
  80. package/dist/config/AnimationMode.js +4 -0
  81. package/dist/config/AnimationMode.js.map +1 -1
  82. package/dist/config/CalendarType.js +5 -0
  83. package/dist/config/CalendarType.js.map +1 -1
  84. package/dist/config/ConfigurationReset.d.ts +4 -0
  85. package/dist/config/ConfigurationReset.js +11 -0
  86. package/dist/config/ConfigurationReset.js.map +1 -0
  87. package/dist/config/Fonts.d.ts +16 -0
  88. package/dist/config/Fonts.js +30 -0
  89. package/dist/config/Fonts.js.map +1 -0
  90. package/dist/config/FormatSettings.js +4 -0
  91. package/dist/config/FormatSettings.js.map +1 -1
  92. package/dist/config/Language.d.ts +2 -1
  93. package/dist/config/Language.js +19 -3
  94. package/dist/config/Language.js.map +1 -1
  95. package/dist/config/NoConflict.js +4 -0
  96. package/dist/config/NoConflict.js.map +1 -1
  97. package/dist/config/Theme.js +5 -2
  98. package/dist/config/Theme.js.map +1 -1
  99. package/dist/config/ThemeRoot.d.ts +3 -1
  100. package/dist/config/ThemeRoot.js +7 -1
  101. package/dist/config/ThemeRoot.js.map +1 -1
  102. package/dist/config/Timezone.js +4 -0
  103. package/dist/config/Timezone.js.map +1 -1
  104. package/dist/config/Tooltips.d.ts +19 -0
  105. package/dist/config/Tooltips.js +29 -0
  106. package/dist/config/Tooltips.js.map +1 -0
  107. package/dist/connectToComponent.js.map +1 -1
  108. package/dist/converters/DOMReference.d.ts +5 -0
  109. package/dist/converters/DOMReference.js +13 -0
  110. package/dist/converters/DOMReference.js.map +1 -0
  111. package/dist/css/MultipleDragGhost.css +17 -0
  112. package/dist/css/OpenUI5PopupStyles.css +10 -0
  113. package/dist/css/ScrollbarStyles.css +3 -0
  114. package/dist/custom-elements-internal.json +1882 -1950
  115. package/dist/custom-elements.json +1315 -1317
  116. package/dist/decorators/bound.d.ts +1 -0
  117. package/dist/decorators/bound.js +34 -0
  118. package/dist/decorators/bound.js.map +1 -0
  119. package/dist/decorators/customElement.d.ts +40 -0
  120. package/dist/decorators/customElement.js +4 -1
  121. package/dist/decorators/customElement.js.map +1 -1
  122. package/dist/decorators/event-strict.d.ts +15 -0
  123. package/dist/decorators/event-strict.js +26 -0
  124. package/dist/decorators/event-strict.js.map +1 -0
  125. package/dist/decorators/event.d.ts +4 -1
  126. package/dist/decorators/event.js +3 -0
  127. package/dist/decorators/event.js.map +1 -1
  128. package/dist/decorators/i18n.d.ts +17 -0
  129. package/dist/decorators/i18n.js +32 -0
  130. package/dist/decorators/i18n.js.map +1 -0
  131. package/dist/decorators/property.d.ts +1 -1
  132. package/dist/decorators/property.js +1 -1
  133. package/dist/decorators/property.js.map +1 -1
  134. package/dist/decorators/query.d.ts +25 -0
  135. package/dist/decorators/query.js +32 -0
  136. package/dist/decorators/query.js.map +1 -0
  137. package/dist/decorators/queryAll.d.ts +27 -0
  138. package/dist/decorators/queryAll.js +34 -0
  139. package/dist/decorators/queryAll.js.map +1 -0
  140. package/dist/decorators/slot.d.ts +1 -1
  141. package/dist/decorators/slot.js.map +1 -1
  142. package/dist/decorators.d.ts +4 -1
  143. package/dist/decorators.js +4 -1
  144. package/dist/decorators.js.map +1 -1
  145. package/dist/delegate/ItemNavigation.d.ts +1 -1
  146. package/dist/delegate/ItemNavigation.js.map +1 -1
  147. package/dist/delegate/ResizeHandler.js.map +1 -1
  148. package/dist/delegate/ScrollEnablement.js.map +1 -1
  149. package/dist/features/F6Navigation.d.ts +4 -3
  150. package/dist/features/F6Navigation.js +62 -19
  151. package/dist/features/F6Navigation.js.map +1 -1
  152. package/dist/features/InputElementsFormSupport.d.ts +7 -10
  153. package/dist/features/InputElementsFormSupport.js +2 -3
  154. package/dist/features/InputElementsFormSupport.js.map +1 -1
  155. package/dist/features/LegacyDateFormats.js.map +1 -1
  156. package/dist/features/OpenUI5Enablement.d.ts +2 -2
  157. package/dist/features/OpenUI5Enablement.js.map +1 -1
  158. package/dist/features/OpenUI5Support.d.ts +8 -3
  159. package/dist/features/OpenUI5Support.js +47 -31
  160. package/dist/features/OpenUI5Support.js.map +1 -1
  161. package/dist/features/insertOpenUI5PopupStyles.d.ts +2 -0
  162. package/dist/features/insertOpenUI5PopupStyles.js +9 -0
  163. package/dist/features/insertOpenUI5PopupStyles.js.map +1 -0
  164. package/dist/features/patchPatcher.d.ts +7 -6
  165. package/dist/features/patchPatcher.js +14 -4
  166. package/dist/features/patchPatcher.js.map +1 -1
  167. package/dist/features/patchPopup.d.ts +27 -8
  168. package/dist/features/patchPopup.js +132 -19
  169. package/dist/features/patchPopup.js.map +1 -1
  170. package/dist/generated/AssetParameters.js +1 -1
  171. package/dist/generated/AssetParameters.js.map +1 -1
  172. package/dist/generated/VersionInfo.js +4 -4
  173. package/dist/generated/VersionInfo.js.map +1 -1
  174. package/dist/generated/assets/i18n/messagebundle_en.json +1 -0
  175. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  176. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  177. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  178. package/dist/generated/css/BusyIndicator.css.d.ts +2 -3
  179. package/dist/generated/css/BusyIndicator.css.js +1 -6
  180. package/dist/generated/css/BusyIndicator.css.js.map +1 -1
  181. package/dist/generated/css/FontFace.css.d.ts +2 -3
  182. package/dist/generated/css/FontFace.css.js +36 -6
  183. package/dist/generated/css/FontFace.css.js.map +1 -1
  184. package/dist/generated/css/MultipleDragGhost.css.d.ts +2 -0
  185. package/dist/generated/css/MultipleDragGhost.css.js +2 -0
  186. package/dist/generated/css/MultipleDragGhost.css.js.map +1 -0
  187. package/dist/generated/css/OpenUI5PopupStyles.css.d.ts +2 -0
  188. package/dist/generated/css/OpenUI5PopupStyles.css.js +2 -0
  189. package/dist/generated/css/OpenUI5PopupStyles.css.js.map +1 -0
  190. package/dist/generated/css/ScrollbarStyles.css.d.ts +2 -0
  191. package/dist/generated/css/ScrollbarStyles.css.js +2 -0
  192. package/dist/generated/css/ScrollbarStyles.css.js.map +1 -0
  193. package/dist/generated/css/SystemCSSVars.css.d.ts +2 -3
  194. package/dist/generated/css/SystemCSSVars.css.js +1 -6
  195. package/dist/generated/css/SystemCSSVars.css.js.map +1 -1
  196. package/dist/generated/i18n/i18n-defaults.d.ts +3 -0
  197. package/dist/generated/i18n/i18n-defaults.js +3 -0
  198. package/dist/generated/i18n/i18n-defaults.js.map +1 -0
  199. package/dist/generated/json-imports/i18n-fetch.d.ts +1 -0
  200. package/dist/generated/json-imports/i18n-fetch.js +2 -0
  201. package/dist/generated/json-imports/i18n-fetch.js.map +1 -0
  202. package/dist/generated/json-imports/i18n-node.d.ts +1 -0
  203. package/dist/generated/json-imports/i18n-node.js +2 -0
  204. package/dist/generated/json-imports/i18n-node.js.map +1 -0
  205. package/dist/generated/json-imports/i18n.d.ts +1 -0
  206. package/dist/generated/json-imports/i18n.js +2 -0
  207. package/dist/generated/json-imports/i18n.js.map +1 -0
  208. package/dist/getSharedResource.js.map +1 -1
  209. package/dist/i18nBundle.js.map +1 -1
  210. package/dist/index.d.ts +49 -0
  211. package/dist/index.js +91 -0
  212. package/dist/index.js.map +1 -0
  213. package/dist/jsx-dev-runtime.d.ts +4 -0
  214. package/dist/jsx-dev-runtime.js +43 -0
  215. package/dist/jsx-dev-runtime.js.map +1 -0
  216. package/dist/jsx-runtime.d.ts +51 -0
  217. package/dist/jsx-runtime.js +27 -0
  218. package/dist/jsx-runtime.js.map +1 -0
  219. package/dist/jsx-utils.d.ts +3 -0
  220. package/dist/jsx-utils.js +48 -0
  221. package/dist/jsx-utils.js.map +1 -0
  222. package/dist/locale/Locale.js.map +1 -1
  223. package/dist/locale/getEffectiveDir.js.map +1 -1
  224. package/dist/locale/getLocale.js.map +1 -1
  225. package/dist/locale/nextFallbackLocale.js +6 -2
  226. package/dist/locale/nextFallbackLocale.js.map +1 -1
  227. package/dist/locale/normalizeLocale.js.map +1 -1
  228. package/dist/prod/Assets-fetch.js +2 -0
  229. package/dist/prod/Assets-fetch.js.map +7 -0
  230. package/dist/prod/Assets-node.js +2 -0
  231. package/dist/prod/Assets-node.js.map +7 -0
  232. package/dist/prod/Assets.js +2 -0
  233. package/dist/prod/Assets.js.map +7 -0
  234. package/dist/prod/Boot.js +1 -1
  235. package/dist/prod/Boot.js.map +3 -3
  236. package/dist/prod/CustomElementsRegistry.js +5 -5
  237. package/dist/prod/CustomElementsRegistry.js.map +3 -3
  238. package/dist/prod/CustomElementsScopeUtils.js +1 -1
  239. package/dist/prod/CustomElementsScopeUtils.js.map +3 -3
  240. package/dist/prod/Device.js +1 -1
  241. package/dist/prod/Device.js.map +3 -3
  242. package/dist/prod/DragAndDrop.js +2 -0
  243. package/dist/prod/DragAndDrop.js.map +7 -0
  244. package/dist/prod/FontFace.js +1 -1
  245. package/dist/prod/FontFace.js.map +3 -3
  246. package/dist/prod/InitialConfiguration.js +1 -1
  247. package/dist/prod/InitialConfiguration.js.map +3 -3
  248. package/dist/prod/Keys.js +1 -1
  249. package/dist/prod/Keys.js.map +3 -3
  250. package/dist/prod/Location.js +2 -0
  251. package/dist/prod/Location.js.map +7 -0
  252. package/dist/prod/ManagedStyles.js +1 -1
  253. package/dist/prod/ManagedStyles.js.map +3 -3
  254. package/dist/prod/Render.js +1 -1
  255. package/dist/prod/Render.js.map +1 -1
  256. package/dist/prod/Runtimes.js +1 -1
  257. package/dist/prod/Runtimes.js.map +3 -3
  258. package/dist/prod/ScrollbarStyles.js +2 -0
  259. package/dist/prod/ScrollbarStyles.js.map +7 -0
  260. package/dist/prod/UI5Element.js +1 -1
  261. package/dist/prod/UI5Element.js.map +3 -3
  262. package/dist/prod/UI5ElementMetadata.js +1 -1
  263. package/dist/prod/UI5ElementMetadata.js.map +3 -3
  264. package/dist/prod/asset-registries/Icons.js +1 -1
  265. package/dist/prod/asset-registries/Icons.js.map +3 -3
  266. package/dist/prod/asset-registries/Illustrations.js +1 -1
  267. package/dist/prod/asset-registries/Illustrations.js.map +3 -3
  268. package/dist/prod/asset-registries/LocaleData.js +1 -1
  269. package/dist/prod/asset-registries/LocaleData.js.map +2 -2
  270. package/dist/prod/asset-registries/Themes.js +1 -1
  271. package/dist/prod/asset-registries/Themes.js.map +2 -2
  272. package/dist/prod/config/AnimationMode.js +1 -1
  273. package/dist/prod/config/AnimationMode.js.map +3 -3
  274. package/dist/prod/config/CalendarType.js +1 -1
  275. package/dist/prod/config/CalendarType.js.map +3 -3
  276. package/dist/prod/config/ConfigurationReset.js +2 -0
  277. package/dist/prod/config/ConfigurationReset.js.map +7 -0
  278. package/dist/prod/config/Fonts.js +2 -0
  279. package/dist/prod/config/Fonts.js.map +7 -0
  280. package/dist/prod/config/FormatSettings.js +1 -1
  281. package/dist/prod/config/FormatSettings.js.map +3 -3
  282. package/dist/prod/config/Language.js +1 -1
  283. package/dist/prod/config/Language.js.map +3 -3
  284. package/dist/prod/config/NoConflict.js +1 -1
  285. package/dist/prod/config/NoConflict.js.map +3 -3
  286. package/dist/prod/config/Theme.js +1 -1
  287. package/dist/prod/config/Theme.js.map +3 -3
  288. package/dist/prod/config/ThemeRoot.js +1 -1
  289. package/dist/prod/config/ThemeRoot.js.map +3 -3
  290. package/dist/prod/config/Timezone.js +1 -1
  291. package/dist/prod/config/Timezone.js.map +3 -3
  292. package/dist/prod/config/Tooltips.js +2 -0
  293. package/dist/prod/config/Tooltips.js.map +7 -0
  294. package/dist/prod/connectToComponent.js +1 -1
  295. package/dist/prod/connectToComponent.js.map +1 -1
  296. package/dist/prod/converters/DOMReference.js +2 -0
  297. package/dist/prod/converters/DOMReference.js.map +7 -0
  298. package/dist/prod/decorators/bound.js +2 -0
  299. package/dist/prod/decorators/bound.js.map +7 -0
  300. package/dist/prod/decorators/customElement.js +1 -1
  301. package/dist/prod/decorators/customElement.js.map +3 -3
  302. package/dist/prod/decorators/event-strict.js +2 -0
  303. package/dist/prod/decorators/event-strict.js.map +7 -0
  304. package/dist/prod/decorators/event.js +1 -1
  305. package/dist/prod/decorators/event.js.map +2 -2
  306. package/dist/prod/decorators/i18n.js +2 -0
  307. package/dist/prod/decorators/i18n.js.map +7 -0
  308. package/dist/prod/decorators/property.js +1 -1
  309. package/dist/prod/decorators/property.js.map +2 -2
  310. package/dist/prod/decorators/query.js +2 -0
  311. package/dist/prod/decorators/query.js.map +7 -0
  312. package/dist/prod/decorators/queryAll.js +2 -0
  313. package/dist/prod/decorators/queryAll.js.map +7 -0
  314. package/dist/prod/decorators/slot.js +1 -1
  315. package/dist/prod/decorators/slot.js.map +1 -1
  316. package/dist/prod/decorators.js +1 -1
  317. package/dist/prod/decorators.js.map +3 -3
  318. package/dist/prod/delegate/ItemNavigation.js.map +1 -1
  319. package/dist/prod/features/F6Navigation.js +1 -1
  320. package/dist/prod/features/F6Navigation.js.map +3 -3
  321. package/dist/prod/features/InputElementsFormSupport.js +1 -1
  322. package/dist/prod/features/InputElementsFormSupport.js.map +3 -3
  323. package/dist/prod/features/OpenUI5Enablement.js.map +1 -1
  324. package/dist/prod/features/OpenUI5Support.js +1 -1
  325. package/dist/prod/features/OpenUI5Support.js.map +3 -3
  326. package/dist/prod/features/insertOpenUI5PopupStyles.js +2 -0
  327. package/dist/prod/features/insertOpenUI5PopupStyles.js.map +7 -0
  328. package/dist/prod/features/patchPatcher.js +1 -1
  329. package/dist/prod/features/patchPatcher.js.map +3 -3
  330. package/dist/prod/features/patchPopup.js +1 -1
  331. package/dist/prod/features/patchPopup.js.map +3 -3
  332. package/dist/prod/generated/AssetParameters.js +1 -1
  333. package/dist/prod/generated/AssetParameters.js.map +2 -2
  334. package/dist/prod/generated/VersionInfo.js +1 -1
  335. package/dist/prod/generated/VersionInfo.js.map +2 -2
  336. package/dist/prod/generated/assets/i18n/messagebundle_en.json +1 -0
  337. package/dist/prod/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  338. package/dist/prod/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  339. package/dist/prod/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  340. package/dist/prod/generated/css/BusyIndicator.css.js +1 -1
  341. package/dist/prod/generated/css/BusyIndicator.css.js.map +3 -3
  342. package/dist/prod/generated/css/FontFace.css.js +36 -1
  343. package/dist/prod/generated/css/FontFace.css.js.map +3 -3
  344. package/dist/prod/generated/css/MultipleDragGhost.css.js +2 -0
  345. package/dist/prod/generated/css/MultipleDragGhost.css.js.map +7 -0
  346. package/dist/prod/generated/css/OpenUI5PopupStyles.css.js +2 -0
  347. package/dist/prod/generated/css/OpenUI5PopupStyles.css.js.map +7 -0
  348. package/dist/prod/generated/css/ScrollbarStyles.css.js +2 -0
  349. package/dist/prod/generated/css/ScrollbarStyles.css.js.map +7 -0
  350. package/dist/prod/generated/css/SystemCSSVars.css.js +1 -1
  351. package/dist/prod/generated/css/SystemCSSVars.css.js.map +3 -3
  352. package/dist/prod/generated/i18n/i18n-defaults.js +2 -0
  353. package/dist/prod/generated/i18n/i18n-defaults.js.map +7 -0
  354. package/dist/prod/generated/json-imports/i18n-fetch.js +2 -0
  355. package/dist/prod/generated/json-imports/i18n-fetch.js.map +7 -0
  356. package/dist/prod/generated/json-imports/i18n-node.js +2 -0
  357. package/dist/prod/generated/json-imports/i18n-node.js.map +7 -0
  358. package/dist/prod/generated/json-imports/i18n.js +2 -0
  359. package/dist/prod/generated/json-imports/i18n.js.map +7 -0
  360. package/dist/prod/index.js +2 -0
  361. package/dist/prod/index.js.map +7 -0
  362. package/dist/prod/jsx-dev-runtime.js +2 -0
  363. package/dist/prod/jsx-dev-runtime.js.map +7 -0
  364. package/dist/prod/jsx-runtime.js +2 -0
  365. package/dist/prod/jsx-runtime.js.map +7 -0
  366. package/dist/prod/jsx-utils.js +2 -0
  367. package/dist/prod/jsx-utils.js.map +7 -0
  368. package/dist/prod/locale/nextFallbackLocale.js +1 -1
  369. package/dist/prod/locale/nextFallbackLocale.js.map +3 -3
  370. package/dist/prod/renderer/JsxRenderer.js +2 -0
  371. package/dist/prod/renderer/JsxRenderer.js.map +7 -0
  372. package/dist/prod/renderer/LitRenderer.js +1 -1
  373. package/dist/prod/renderer/LitRenderer.js.map +3 -3
  374. package/dist/prod/renderer/executeTemplate.js +1 -1
  375. package/dist/prod/renderer/executeTemplate.js.map +3 -3
  376. package/dist/prod/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  377. package/dist/prod/ssr-dom-shim.js +1 -1
  378. package/dist/prod/ssr-dom-shim.js.map +3 -3
  379. package/dist/prod/theming/applyTheme.js +1 -1
  380. package/dist/prod/theming/applyTheme.js.map +2 -2
  381. package/dist/prod/theming/getConstructableStyle.js +1 -1
  382. package/dist/prod/theming/getConstructableStyle.js.map +1 -1
  383. package/dist/prod/theming/getEffectiveStyle.js +1 -1
  384. package/dist/prod/theming/getEffectiveStyle.js.map +1 -1
  385. package/dist/prod/theming/getStylesString.js +1 -1
  386. package/dist/prod/theming/getStylesString.js.map +2 -2
  387. package/dist/prod/theming/getThemeDesignerTheme.js +1 -1
  388. package/dist/prod/theming/getThemeDesignerTheme.js.map +3 -3
  389. package/dist/prod/thirdparty/preact/jsx.d.js +2 -0
  390. package/dist/prod/thirdparty/preact/jsx.d.js.map +7 -0
  391. package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js +2 -0
  392. package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js.map +7 -0
  393. package/dist/prod/thirdparty/preact/jsxRuntime.module.js +1 -0
  394. package/dist/prod/thirdparty/preact/preact.module.d.js +2 -0
  395. package/dist/prod/thirdparty/preact/preact.module.d.js.map +7 -0
  396. package/dist/prod/thirdparty/preact/preact.module.js +1 -0
  397. package/dist/prod/types/SortOrder.js +2 -0
  398. package/dist/prod/types/SortOrder.js.map +7 -0
  399. package/dist/prod/updateShadowRoot.js +1 -1
  400. package/dist/prod/updateShadowRoot.js.map +3 -3
  401. package/dist/prod/util/AccessibilityTextsHelper.js +2 -0
  402. package/dist/prod/util/AccessibilityTextsHelper.js.map +7 -0
  403. package/dist/prod/util/ColorConversion.js +1 -1
  404. package/dist/prod/util/ColorConversion.js.map +3 -3
  405. package/dist/prod/util/FocusableElements.js +1 -1
  406. package/dist/prod/util/FocusableElements.js.map +3 -3
  407. package/dist/prod/util/HTMLSanitizer.js.map +1 -1
  408. package/dist/prod/util/SelectionAssistant.js +2 -0
  409. package/dist/prod/util/SelectionAssistant.js.map +7 -0
  410. package/dist/prod/util/StringHelper.js +1 -1
  411. package/dist/prod/util/StringHelper.js.map +3 -3
  412. package/dist/prod/util/TabbableElements.js +1 -1
  413. package/dist/prod/util/TabbableElements.js.map +3 -3
  414. package/dist/prod/util/debounce.js +1 -1
  415. package/dist/prod/util/debounce.js.map +1 -1
  416. package/dist/prod/util/dragAndDrop/DragRegistry.js +1 -1
  417. package/dist/prod/util/dragAndDrop/DragRegistry.js.map +3 -3
  418. package/dist/prod/util/dragAndDrop/findClosestPosition.js +1 -1
  419. package/dist/prod/util/dragAndDrop/findClosestPosition.js.map +3 -3
  420. package/dist/prod/util/dragAndDrop/handleDragOver.js +2 -0
  421. package/dist/prod/util/dragAndDrop/handleDragOver.js.map +7 -0
  422. package/dist/prod/util/dragAndDrop/handleDrop.js +2 -0
  423. package/dist/prod/util/dragAndDrop/handleDrop.js.map +7 -0
  424. package/dist/prod/util/fixSafariActiveState.js +2 -0
  425. package/dist/prod/util/fixSafariActiveState.js.map +7 -0
  426. package/dist/prod/util/getFastNavigationGroups.js +1 -1
  427. package/dist/prod/util/getFastNavigationGroups.js.map +2 -2
  428. package/dist/prod/util/getParentElement.js +1 -1
  429. package/dist/prod/util/getParentElement.js.map +3 -3
  430. package/dist/prod/util/hash2str.js +2 -0
  431. package/dist/prod/util/hash2str.js.map +7 -0
  432. package/dist/prod/util/isElementHidden.js +1 -1
  433. package/dist/prod/util/isElementHidden.js.map +3 -3
  434. package/dist/prod/util/isElementTabbable.js +1 -1
  435. package/dist/prod/util/isElementTabbable.js.map +3 -3
  436. package/dist/prod/util/isEventMarked.js +2 -0
  437. package/dist/prod/util/isEventMarked.js.map +7 -0
  438. package/dist/prod/util/throttle.js +2 -0
  439. package/dist/prod/util/throttle.js.map +7 -0
  440. package/dist/prod/util/toLowercaseEnumValue.js +2 -0
  441. package/dist/prod/util/toLowercaseEnumValue.js.map +7 -0
  442. package/dist/prod/util/valueStateNavigation.js +2 -0
  443. package/dist/prod/util/valueStateNavigation.js.map +7 -0
  444. package/dist/prod/validateThemeRoot.js +1 -1
  445. package/dist/prod/validateThemeRoot.js.map +3 -3
  446. package/dist/renderer/JsxRenderer.d.ts +3 -0
  447. package/dist/renderer/JsxRenderer.js +26 -0
  448. package/dist/renderer/JsxRenderer.js.map +1 -0
  449. package/dist/renderer/LitRenderer.d.ts +1 -1
  450. package/dist/renderer/LitRenderer.js +4 -3
  451. package/dist/renderer/LitRenderer.js.map +1 -1
  452. package/dist/renderer/directives/style-map.js.map +1 -1
  453. package/dist/renderer/executeTemplate.d.ts +3 -12
  454. package/dist/renderer/executeTemplate.js +1 -20
  455. package/dist/renderer/executeTemplate.js.map +1 -1
  456. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  457. package/dist/ssr-dom-shim.js +52 -1
  458. package/dist/ssr-dom-shim.js.map +1 -1
  459. package/dist/ssr-dom.d.ts +1 -0
  460. package/dist/ssr-dom.js +3 -0
  461. package/dist/ssr-dom.js.map +1 -0
  462. package/dist/theming/CustomStyle.js.map +1 -1
  463. package/dist/theming/applyTheme.d.ts +2 -0
  464. package/dist/theming/applyTheme.js +7 -2
  465. package/dist/theming/applyTheme.js.map +1 -1
  466. package/dist/theming/getConstructableStyle.d.ts +1 -1
  467. package/dist/theming/getConstructableStyle.js.map +1 -1
  468. package/dist/theming/getEffectiveStyle.js.map +1 -1
  469. package/dist/theming/getStylesString.js +2 -4
  470. package/dist/theming/getStylesString.js.map +1 -1
  471. package/dist/theming/getThemeDesignerTheme.js +2 -1
  472. package/dist/theming/getThemeDesignerTheme.js.map +1 -1
  473. package/dist/thirdparty/_merge.js.map +1 -1
  474. package/dist/thirdparty/isPlainObject.js.map +1 -1
  475. package/dist/thirdparty/preact/jsx.d.ts +2616 -0
  476. package/dist/thirdparty/preact/jsxRuntime.module.d.ts +62 -0
  477. package/dist/thirdparty/preact/jsxRuntime.module.js +1 -0
  478. package/dist/thirdparty/preact/preact.module.d.ts +398 -0
  479. package/dist/thirdparty/preact/preact.module.js +1 -0
  480. package/dist/types/SortOrder.d.ts +24 -0
  481. package/dist/types/SortOrder.js +26 -0
  482. package/dist/types/SortOrder.js.map +1 -0
  483. package/dist/types.d.ts +32 -26
  484. package/dist/types.js.map +1 -1
  485. package/dist/updateShadowRoot.js +1 -2
  486. package/dist/updateShadowRoot.js.map +1 -1
  487. package/dist/util/{AriaLabelHelper.d.ts → AccessibilityTextsHelper.d.ts} +4 -2
  488. package/dist/util/{AriaLabelHelper.js → AccessibilityTextsHelper.js} +36 -8
  489. package/dist/util/AccessibilityTextsHelper.js.map +1 -0
  490. package/dist/util/Caret.js.map +1 -1
  491. package/dist/util/ColorConversion.d.ts +2 -1
  492. package/dist/util/ColorConversion.js +35 -23
  493. package/dist/util/ColorConversion.js.map +1 -1
  494. package/dist/util/FetchHelper.js.map +1 -1
  495. package/dist/util/FocusableElements.js +43 -15
  496. package/dist/util/FocusableElements.js.map +1 -1
  497. package/dist/util/HTMLSanitizer.d.ts +2 -0
  498. package/dist/util/HTMLSanitizer.js +2 -2
  499. package/dist/util/HTMLSanitizer.js.map +1 -1
  500. package/dist/util/InvisibleMessage.js.map +1 -1
  501. package/dist/util/PopupUtils.js.map +1 -1
  502. package/dist/util/SelectionAssistant.d.ts +12 -0
  503. package/dist/util/SelectionAssistant.js +71 -0
  504. package/dist/util/SelectionAssistant.js.map +1 -0
  505. package/dist/util/SlotsHelper.js.map +1 -1
  506. package/dist/util/StringHelper.d.ts +3 -1
  507. package/dist/util/StringHelper.js +15 -1
  508. package/dist/util/StringHelper.js.map +1 -1
  509. package/dist/util/TabbableElements.js +5 -12
  510. package/dist/util/TabbableElements.js.map +1 -1
  511. package/dist/util/arraysAreEqual.js.map +1 -1
  512. package/dist/util/createLinkInHead.js.map +1 -1
  513. package/dist/util/debounce.js.map +1 -1
  514. package/dist/util/detectNavigatorLanguage.js.map +1 -1
  515. package/dist/util/dragAndDrop/DragRegistry.d.ts +35 -8
  516. package/dist/util/dragAndDrop/DragRegistry.js +42 -52
  517. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -1
  518. package/dist/util/dragAndDrop/findClosestPosition.d.ts +6 -1
  519. package/dist/util/dragAndDrop/findClosestPosition.js +48 -1
  520. package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -1
  521. package/dist/util/dragAndDrop/handleDragOver.d.ts +16 -0
  522. package/dist/util/dragAndDrop/handleDragOver.js +42 -0
  523. package/dist/util/dragAndDrop/handleDragOver.js.map +1 -0
  524. package/dist/util/dragAndDrop/handleDrop.d.ts +5 -0
  525. package/dist/util/dragAndDrop/handleDrop.js +22 -0
  526. package/dist/util/dragAndDrop/handleDrop.js.map +1 -0
  527. package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -1
  528. package/dist/util/fixSafariActiveState.d.ts +2 -0
  529. package/dist/util/fixSafariActiveState.js +11 -0
  530. package/dist/util/fixSafariActiveState.js.map +1 -0
  531. package/dist/util/formatMessage.js.map +1 -1
  532. package/dist/util/generateHighlightedMarkup.js.map +1 -1
  533. package/dist/util/getActiveElement.js.map +1 -1
  534. package/dist/util/getClassCopy.d.ts +107 -86
  535. package/dist/util/getFastNavigationGroups.js +6 -1
  536. package/dist/util/getFastNavigationGroups.js.map +1 -1
  537. package/dist/util/getFileExtension.js.map +1 -1
  538. package/dist/util/getNormalizedTarget.js.map +1 -1
  539. package/dist/util/getParentElement.d.ts +1 -1
  540. package/dist/util/getParentElement.js +2 -2
  541. package/dist/util/getParentElement.js.map +1 -1
  542. package/dist/util/getSingletonElementInstance.js.map +1 -1
  543. package/dist/util/hash2str.d.ts +1 -0
  544. package/dist/util/hash2str.js +14 -0
  545. package/dist/util/hash2str.js.map +1 -0
  546. package/dist/util/isElementClickable.js.map +1 -1
  547. package/dist/util/isElementHidden.js +2 -1
  548. package/dist/util/isElementHidden.js.map +1 -1
  549. package/dist/util/isElementTabbable.js +2 -2
  550. package/dist/util/isElementTabbable.js.map +1 -1
  551. package/dist/util/isEventMarked.d.ts +2 -0
  552. package/dist/util/isEventMarked.js +6 -0
  553. package/dist/util/isEventMarked.js.map +1 -0
  554. package/dist/util/isValidPropertyName.js.map +1 -1
  555. package/dist/util/throttle.d.ts +2 -0
  556. package/dist/util/throttle.js +20 -0
  557. package/dist/util/throttle.js.map +1 -0
  558. package/dist/util/toLowercaseEnumValue.d.ts +3 -0
  559. package/dist/util/toLowercaseEnumValue.js +4 -0
  560. package/dist/util/toLowercaseEnumValue.js.map +1 -0
  561. package/dist/util/valueStateNavigation.d.ts +8 -0
  562. package/dist/util/valueStateNavigation.js +40 -0
  563. package/dist/util/valueStateNavigation.js.map +1 -0
  564. package/dist/util/whenDOMReady.js.map +1 -1
  565. package/dist/validateThemeRoot.js +9 -4
  566. package/dist/validateThemeRoot.js.map +1 -1
  567. package/dist/vscode.html-custom-data.json +1 -1
  568. package/package-scripts.cjs +64 -33
  569. package/package.json +41 -25
  570. package/src/css/MultipleDragGhost.css +17 -0
  571. package/src/css/OpenUI5PopupStyles.css +10 -0
  572. package/src/css/ScrollbarStyles.css +3 -0
  573. package/src/i18n/messagebundle.properties +5 -0
  574. package/src/i18n/messagebundle_en.properties +2 -0
  575. package/src/i18n/messagebundle_en_US_sappsd.properties +2 -0
  576. package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
  577. package/src/i18n/messagebundle_en_US_saptrc.properties +2 -0
  578. package/src/thirdparty/preact/jsxRuntime.module.js +1 -0
  579. package/src/thirdparty/preact/preact.module.js +1 -0
  580. package/src/thirdparty/preact/version.txt +1 -0
  581. package/tsconfig.json +18 -19
  582. package/config/wdio.conf.cjs +0 -392
  583. package/dist/.tsbuildinfo +0 -1
  584. package/dist/MarkedEvents.d.ts +0 -9
  585. package/dist/MarkedEvents.js +0 -15
  586. package/dist/MarkedEvents.js.map +0 -1
  587. package/dist/css/FontFace.css +0 -96
  588. package/dist/css/OverrideFontFace.css +0 -32
  589. package/dist/generated/css/OverrideFontFace.css.d.ts +0 -3
  590. package/dist/generated/css/OverrideFontFace.css.js +0 -7
  591. package/dist/generated/css/OverrideFontFace.css.js.map +0 -1
  592. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +0 -4
  593. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +0 -9
  594. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +0 -1
  595. package/dist/prod/MarkedEvents.js +0 -2
  596. package/dist/prod/MarkedEvents.js.map +0 -7
  597. package/dist/prod/generated/css/OverrideFontFace.css.js +0 -2
  598. package/dist/prod/generated/css/OverrideFontFace.css.js.map +0 -7
  599. package/dist/prod/generated/templates/elements/WithComplexTemplateTemplate.lit.js +0 -2
  600. package/dist/prod/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +0 -7
  601. package/dist/prod/types/AriaHasPopup.js +0 -2
  602. package/dist/prod/types/AriaHasPopup.js.map +0 -7
  603. package/dist/prod/types/AriaLandmarkRole.js +0 -2
  604. package/dist/prod/types/AriaLandmarkRole.js.map +0 -7
  605. package/dist/prod/types/AriaRole.js +0 -2
  606. package/dist/prod/types/AriaRole.js.map +0 -7
  607. package/dist/prod/types/CSSColor.js +0 -2
  608. package/dist/prod/types/CSSColor.js.map +0 -7
  609. package/dist/prod/types/CSSSize.js +0 -2
  610. package/dist/prod/types/CSSSize.js.map +0 -7
  611. package/dist/prod/types/DOMReference.js +0 -2
  612. package/dist/prod/types/DOMReference.js.map +0 -7
  613. package/dist/prod/types/DataType.js +0 -2
  614. package/dist/prod/types/DataType.js.map +0 -7
  615. package/dist/prod/types/Float.js +0 -2
  616. package/dist/prod/types/Float.js.map +0 -7
  617. package/dist/prod/types/Integer.js +0 -2
  618. package/dist/prod/types/Integer.js.map +0 -7
  619. package/dist/prod/util/AriaLabelHelper.js +0 -2
  620. package/dist/prod/util/AriaLabelHelper.js.map +0 -7
  621. package/dist/prod/util/getEffectiveScrollbarStyle.js +0 -2
  622. package/dist/prod/util/getEffectiveScrollbarStyle.js.map +0 -7
  623. package/dist/prod/util/isElementContainingBlock.js +0 -2
  624. package/dist/prod/util/isElementContainingBlock.js.map +0 -7
  625. package/dist/types/AriaHasPopup.d.ts +0 -32
  626. package/dist/types/AriaHasPopup.js +0 -34
  627. package/dist/types/AriaHasPopup.js.map +0 -1
  628. package/dist/types/AriaLandmarkRole.d.ts +0 -79
  629. package/dist/types/AriaLandmarkRole.js +0 -81
  630. package/dist/types/AriaLandmarkRole.js.map +0 -1
  631. package/dist/types/AriaRole.d.ts +0 -27
  632. package/dist/types/AriaRole.js +0 -29
  633. package/dist/types/AriaRole.js.map +0 -1
  634. package/dist/types/CSSColor.d.ts +0 -11
  635. package/dist/types/CSSColor.js +0 -14
  636. package/dist/types/CSSColor.js.map +0 -1
  637. package/dist/types/CSSSize.d.ts +0 -11
  638. package/dist/types/CSSSize.js +0 -14
  639. package/dist/types/CSSSize.js.map +0 -1
  640. package/dist/types/DOMReference.d.ts +0 -13
  641. package/dist/types/DOMReference.js +0 -21
  642. package/dist/types/DOMReference.js.map +0 -1
  643. package/dist/types/DataType.d.ts +0 -20
  644. package/dist/types/DataType.js +0 -39
  645. package/dist/types/DataType.js.map +0 -1
  646. package/dist/types/Float.d.ts +0 -14
  647. package/dist/types/Float.js +0 -18
  648. package/dist/types/Float.js.map +0 -1
  649. package/dist/types/Integer.d.ts +0 -14
  650. package/dist/types/Integer.js +0 -18
  651. package/dist/types/Integer.js.map +0 -1
  652. package/dist/util/AriaLabelHelper.js.map +0 -1
  653. package/dist/util/getEffectiveScrollbarStyle.d.ts +0 -2
  654. package/dist/util/getEffectiveScrollbarStyle.js +0 -4
  655. package/dist/util/getEffectiveScrollbarStyle.js.map +0 -1
  656. package/dist/util/isElementContainingBlock.d.ts +0 -2
  657. package/dist/util/isElementContainingBlock.js +0 -11
  658. package/dist/util/isElementContainingBlock.js.map +0 -1
  659. package/index.js +0 -214
  660. package/src/css/FontFace.css +0 -96
  661. package/src/css/OverrideFontFace.css +0 -32
@@ -1,9 +1,12 @@
1
1
  import patchPatcher from "./patchPatcher.js";
2
- import patchPopup from "./patchPopup.js";
2
+ import { patchPopup, addOpenedPopup, removeOpenedPopup, getTopmostPopup, } from "./patchPopup.js";
3
3
  import { registerFeature } from "../FeaturesRegistry.js";
4
4
  import { setTheme } from "../config/Theme.js";
5
5
  class OpenUI5Support {
6
6
  static isAtLeastVersion116() {
7
+ if (!window.sap.ui.version) {
8
+ return true; // sap.ui.version will be removed in newer OpenUI5 versions
9
+ }
7
10
  const version = window.sap.ui.version;
8
11
  const parts = version.split(".");
9
12
  if (!parts || parts.length < 2) {
@@ -18,35 +21,38 @@ class OpenUI5Support {
18
21
  if (!OpenUI5Support.isOpenUI5Detected()) {
19
22
  return Promise.resolve();
20
23
  }
21
- return new Promise(resolve => {
22
- window.sap.ui.require(["sap/ui/core/Core"], async (Core) => {
23
- const callback = () => {
24
- let deps = ["sap/ui/core/Popup", "sap/ui/core/Patcher", "sap/ui/core/LocaleData"];
25
- if (OpenUI5Support.isAtLeastVersion116()) { // for versions since 1.116.0 and onward, use the modular core
26
- deps = [
27
- ...deps,
28
- "sap/base/i18n/Formatting",
29
- "sap/base/i18n/Localization",
30
- "sap/ui/core/ControlBehavior",
31
- "sap/ui/core/Theming",
32
- "sap/ui/core/date/CalendarUtils",
33
- ];
24
+ if (!OpenUI5Support.initPromise) {
25
+ OpenUI5Support.initPromise = new Promise(resolve => {
26
+ window.sap.ui.require(["sap/ui/core/Core"], async (Core) => {
27
+ const callback = () => {
28
+ let deps = ["sap/ui/core/Popup", "sap/m/Dialog", "sap/ui/core/Patcher", "sap/ui/core/LocaleData"];
29
+ if (OpenUI5Support.isAtLeastVersion116()) { // for versions since 1.116.0 and onward, use the modular core
30
+ deps = [
31
+ ...deps,
32
+ "sap/base/i18n/Formatting",
33
+ "sap/base/i18n/Localization",
34
+ "sap/ui/core/ControlBehavior",
35
+ "sap/ui/core/Theming",
36
+ "sap/ui/core/date/CalendarUtils",
37
+ ];
38
+ }
39
+ window.sap.ui.require(deps, (Popup, Dialog, Patcher) => {
40
+ patchPatcher(Patcher);
41
+ patchPopup(Popup, Dialog);
42
+ resolve();
43
+ });
44
+ };
45
+ if (OpenUI5Support.isAtLeastVersion116()) {
46
+ await Core.ready();
47
+ callback();
48
+ }
49
+ else {
50
+ Core.attachInit(callback);
34
51
  }
35
- window.sap.ui.require(deps, (Popup, Patcher) => {
36
- patchPatcher(Patcher);
37
- patchPopup(Popup);
38
- resolve();
39
- });
40
- };
41
- if (OpenUI5Support.isAtLeastVersion116()) {
42
- await Core.ready();
43
- callback();
44
- }
45
- else {
46
- Core.attachInit(callback);
47
- }
52
+ });
48
53
  });
49
- });
54
+ }
55
+ return OpenUI5Support.initPromise;
50
56
  }
51
57
  static getConfigurationSettingsObject() {
52
58
  if (!OpenUI5Support.isOpenUI5Detected()) {
@@ -80,9 +86,9 @@ class OpenUI5Support {
80
86
  animationMode: config.getAnimationMode(),
81
87
  language: config.getLanguage(),
82
88
  theme: config.getTheme(),
83
- themeRoot: config.getThemeRoot(),
89
+ themeRoot: typeof config.getThemeRoot === "function" ? config.getThemeRoot() : undefined,
84
90
  rtl: config.getRTL(),
85
- timezone: config.getTimezone(),
91
+ timezone: typeof config.getTimezone === "function" ? config.getTimezone() : undefined,
86
92
  calendarType: config.getCalendarType(),
87
93
  formatSettings: {
88
94
  firstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,
@@ -132,7 +138,17 @@ class OpenUI5Support {
132
138
  if (!link) {
133
139
  return false;
134
140
  }
135
- return !!link.href.match(/\/css(-|_)variables\.css/);
141
+ // The file name is "css_variables.css" until 1.127 and "library.css" from 1.127 onwards
142
+ return !!link.href.match(/\/css(-|_)variables\.css/) || !!link.href.match(/\/library\.css/);
143
+ }
144
+ static addOpenedPopup(popupInfo) {
145
+ addOpenedPopup(popupInfo);
146
+ }
147
+ static removeOpenedPopup(popup) {
148
+ removeOpenedPopup(popup);
149
+ }
150
+ static getTopmostPopup() {
151
+ return getTopmostPopup();
136
152
  }
137
153
  }
138
154
  registerFeature("OpenUI5Support", OpenUI5Support);
@@ -1 +1 @@
1
- {"version":3,"file":"OpenUI5Support.js","sourceRoot":"","sources":["../../src/features/OpenUI5Support.ts"],"names":[],"mappings":"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","sourcesContent":["import patchPatcher from \"./patchPatcher.js\";\nimport type { OpenUI5Patcher } from \"./patchPatcher.js\";\nimport patchPopup from \"./patchPopup.js\";\nimport type { OpenUI5Popup } from \"./patchPopup.js\";\nimport { registerFeature } from \"../FeaturesRegistry.js\";\nimport { setTheme } from \"../config/Theme.js\";\nimport { CLDRData } from \"../asset-registries/LocaleData.js\";\nimport type { LegacyDateCalendarCustomizing } from \"../features/LegacyDateFormats.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\nclass OpenUI5Support {\n\tstatic isAtLeastVersion116() {\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 init() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn Promise.resolve();\n\t\t}\n\n\t\treturn new Promise<void>(resolve => {\n\t\t\twindow.sap.ui.require([\"sap/ui/core/Core\"], async (Core: OpenUI5Core) => {\n\t\t\t\tconst callback = () => {\n\t\t\t\t\tlet deps: Array<string> = [\"sap/ui/core/Popup\", \"sap/ui/core/Patcher\", \"sap/ui/core/LocaleData\"];\n\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\tdeps = [\n\t\t\t\t\t\t\t...deps,\n\t\t\t\t\t\t\t\"sap/base/i18n/Formatting\",\n\t\t\t\t\t\t\t\"sap/base/i18n/Localization\",\n\t\t\t\t\t\t\t\"sap/ui/core/ControlBehavior\",\n\t\t\t\t\t\t\t\"sap/ui/core/Theming\",\n\t\t\t\t\t\t\t\"sap/ui/core/date/CalendarUtils\",\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\twindow.sap.ui.require(deps, (Popup: OpenUI5Popup, Patcher: OpenUI5Patcher) => {\n\t\t\t\t\t\tpatchPatcher(Patcher);\n\t\t\t\t\t\tpatchPopup(Popup);\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t\tif (OpenUI5Support.isAtLeastVersion116()) {\n\t\t\t\t\tawait Core.ready();\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\tCore.attachInit(callback);\n\t\t\t\t}\n\t\t\t});\n\t\t});\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\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: 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\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;\n\t\t}\n\n\t\tOpenUI5Support._listenForThemeChange();\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\treturn !!link.href.match(/\\/css(-|_)variables\\.css/);\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":"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","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\";\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\nclass OpenUI5Support {\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\tstatic init() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn Promise.resolve();\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\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;\n\t\t}\n\n\t\tOpenUI5Support._listenForThemeChange();\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"]}
@@ -1,11 +1,12 @@
1
- type OpenUI5Patcher = {
2
- prototype: {
3
- _mAttributes: {
4
- [key: string]: string;
5
- };
6
- openEnd: () => OpenUI5Patcher;
1
+ type PatcherTarget = {
2
+ _mAttributes: {
3
+ [key: string]: string;
7
4
  };
5
+ openEnd: () => OpenUI5Patcher;
8
6
  };
7
+ type OpenUI5Patcher = {
8
+ prototype: PatcherTarget;
9
+ } | PatcherTarget;
9
10
  declare const patchPatcher: (Patcher: OpenUI5Patcher) => void;
10
11
  export default patchPatcher;
11
12
  export type { OpenUI5Patcher };
@@ -1,11 +1,21 @@
1
- const patchPatcher = (Patcher) => {
2
- const origOpenEnd = Patcher.prototype.openEnd;
3
- Patcher.prototype.openEnd = function openEnd() {
4
- if (this._mAttributes.popover) {
1
+ const patchOpenEnd = (target) => {
2
+ const origOpenEnd = target.openEnd;
3
+ target.openEnd = function openEnd() {
4
+ if (this._mAttributes?.popover) {
5
5
  delete this._mAttributes.popover; // The "popover" attribute will be managed externally, don't let Patcher remove it
6
6
  }
7
7
  return origOpenEnd.apply(this);
8
8
  };
9
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
+ };
10
20
  export default patchPatcher;
11
21
  //# sourceMappingURL=patchPatcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"patchPatcher.js","sourceRoot":"","sources":["../../src/features/patchPatcher.ts"],"names":[],"mappings":"AAOA,MAAM,YAAY,GAAG,CAAC,OAAuB,EAAE,EAAE;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IAC9C,OAAO,CAAC,SAAS,CAAC,OAAO,GAAG,SAAS,OAAO;QAC3C,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,kFAAkF;SACpH;QACD,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["type OpenUI5Patcher = {\n\tprototype: {\n\t\t_mAttributes: { [key: string]: string },\n\t\topenEnd: () => OpenUI5Patcher,\n\t}\n};\n\nconst patchPatcher = (Patcher: OpenUI5Patcher) => {\n\tconst origOpenEnd = Patcher.prototype.openEnd;\n\tPatcher.prototype.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\nexport default patchPatcher;\nexport type { OpenUI5Patcher };\n"]}
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"]}
@@ -1,14 +1,33 @@
1
- type Element = {
1
+ type Control = {
2
2
  getDomRef: () => HTMLElement | null;
3
3
  };
4
4
  type OpenUI5Popup = {
5
+ open: (...args: any[]) => void;
6
+ _closed: (...args: any[]) => void;
7
+ getOpenState: () => "CLOSED" | "CLOSING" | "OPEN" | "OPENING";
8
+ getContent: () => Control | HTMLElement | null;
9
+ onFocusEvent: (...args: any[]) => void;
10
+ getModal: () => boolean;
11
+ };
12
+ type OpenUI5PopupClass = {
13
+ prototype: OpenUI5Popup;
14
+ };
15
+ type OpenUI5DialogClass = {
5
16
  prototype: {
6
- open: (...args: any[]) => void;
7
- _closed: (...args: any[]) => void;
8
- getOpenState: () => "CLOSED" | "CLOSING" | "OPEN" | "OPENING";
9
- getContent: () => Element;
17
+ onsapescape: (...args: any[]) => void;
18
+ oPopup: OpenUI5Popup;
10
19
  };
11
20
  };
12
- declare const patchPopup: (Popup: OpenUI5Popup) => void;
13
- export default patchPopup;
14
- export type { OpenUI5Popup };
21
+ type PopupInfo = {
22
+ type: "WebComponent";
23
+ instance: object;
24
+ } | {
25
+ type: "OpenUI5";
26
+ instance: OpenUI5Popup;
27
+ };
28
+ declare const addOpenedPopup: (popupInfo: PopupInfo) => void;
29
+ declare const removeOpenedPopup: (popup: object) => void;
30
+ declare const getTopmostPopup: () => object | null;
31
+ declare const patchPopup: (Popup: OpenUI5PopupClass, Dialog: OpenUI5DialogClass) => void;
32
+ export { patchPopup, addOpenedPopup, removeOpenedPopup, getTopmostPopup, };
33
+ export type { OpenUI5PopupClass, OpenUI5DialogClass, PopupInfo };
@@ -1,38 +1,148 @@
1
- const openNativePopover = (domRef) => {
1
+ // OpenUI5's Control.js subset
2
+ import getSharedResource from "../getSharedResource.js";
3
+ import insertOpenUI5PopupStyles from "./insertOpenUI5PopupStyles.js";
4
+ // contains all OpenUI5 and Web Component popups that are currently opened
5
+ const AllOpenedPopupsRegistry = getSharedResource("AllOpenedPopupsRegistry", { openedRegistry: [] });
6
+ const addOpenedPopup = (popupInfo) => {
7
+ AllOpenedPopupsRegistry.openedRegistry.push(popupInfo);
8
+ };
9
+ const removeOpenedPopup = (popup) => {
10
+ const index = AllOpenedPopupsRegistry.openedRegistry.findIndex(el => el.instance === popup);
11
+ if (index === AllOpenedPopupsRegistry.openedRegistry.length - 1) {
12
+ fixTopmostOpenUI5Popup();
13
+ }
14
+ if (index > -1) {
15
+ AllOpenedPopupsRegistry.openedRegistry.splice(index, 1);
16
+ }
17
+ };
18
+ const getTopmostPopup = () => {
19
+ if (AllOpenedPopupsRegistry.openedRegistry.length === 0) {
20
+ return null;
21
+ }
22
+ return AllOpenedPopupsRegistry.openedRegistry[AllOpenedPopupsRegistry.openedRegistry.length - 1].instance;
23
+ };
24
+ /**
25
+ * Determines whether there is a Web Component popup opened above (a specified popup).
26
+ *
27
+ * @param {object} popup The popup instance to check against.
28
+ * @returns {boolean} `true` if a Web Component popup is opened above (the given popup instance); otherwise `false`.
29
+ */
30
+ const hasWebComponentPopupAbove = (popup) => {
31
+ for (let i = AllOpenedPopupsRegistry.openedRegistry.length - 1; i >= 0; i--) {
32
+ const popupInfo = AllOpenedPopupsRegistry.openedRegistry[i];
33
+ if (popupInfo.type === "WebComponent") {
34
+ return true;
35
+ }
36
+ if (popupInfo.instance === popup) {
37
+ break;
38
+ }
39
+ }
40
+ return false;
41
+ };
42
+ const getPopupContentElement = (popup) => {
43
+ const content = popup.getContent();
44
+ return content instanceof HTMLElement ? content : content?.getDomRef() || null;
45
+ };
46
+ const openNativePopoverForOpenUI5 = (popup) => {
47
+ const openingInitiated = ["OPENING", "OPEN"].includes(popup.getOpenState());
48
+ if (!openingInitiated || !isNativePopoverOpen()) {
49
+ return;
50
+ }
51
+ const domRef = getPopupContentElement(popup);
52
+ if (!domRef) {
53
+ return;
54
+ }
55
+ const openUI5BlockLayer = document.getElementById("sap-ui-blocklayer-popup");
56
+ if (popup.getModal() && openUI5BlockLayer) {
57
+ openUI5BlockLayer.setAttribute("popover", "manual");
58
+ openUI5BlockLayer.hidePopover();
59
+ openUI5BlockLayer.showPopover();
60
+ }
2
61
  domRef.setAttribute("popover", "manual");
3
62
  domRef.showPopover();
4
63
  };
5
- const closeNativePopover = (domRef) => {
64
+ const closeNativePopoverForOpenUI5 = (popup) => {
65
+ const domRef = getPopupContentElement(popup);
66
+ if (!domRef) {
67
+ return;
68
+ }
6
69
  if (domRef.hasAttribute("popover")) {
7
70
  domRef.hidePopover();
8
71
  domRef.removeAttribute("popover");
9
72
  }
73
+ if (getTopmostPopup() !== popup) {
74
+ return;
75
+ }
76
+ // The OpenUI5 block layer is only one for all modal OpenUI5 popups,
77
+ // and it is displayed above all opened pupups - OpenUI5 and Web Components,
78
+ // as a result, we need to hide this block layer.
79
+ // If the underlying popup is a Web Component - it is displayed like a native popover, and we don't need to do anything
80
+ // If the underlying popup is an OpenUI5 popup, it will be fixed in fixTopmostOpenUI5Popup method.
81
+ if (popup.getModal()) {
82
+ const openUI5BlockLayer = document.getElementById("sap-ui-blocklayer-popup");
83
+ if (openUI5BlockLayer && openUI5BlockLayer.hasAttribute("popover")) {
84
+ openUI5BlockLayer.hidePopover();
85
+ }
86
+ }
87
+ };
88
+ const fixTopmostOpenUI5Popup = () => {
89
+ if (!isNativePopoverOpen()) {
90
+ return;
91
+ }
92
+ const prevPopup = AllOpenedPopupsRegistry.openedRegistry[AllOpenedPopupsRegistry.openedRegistry.length - 2];
93
+ if (!prevPopup
94
+ || prevPopup.type !== "OpenUI5"
95
+ || !prevPopup.instance.getModal()) {
96
+ return;
97
+ }
98
+ const content = getPopupContentElement(prevPopup.instance);
99
+ const openUI5BlockLayer = document.getElementById("sap-ui-blocklayer-popup");
100
+ content?.hidePopover();
101
+ openUI5BlockLayer?.showPopover();
102
+ content?.showPopover();
103
+ };
104
+ const isNativePopoverOpen = (root = document) => {
105
+ if (root.querySelector(":popover-open")) {
106
+ return true;
107
+ }
108
+ return Array.from(root.querySelectorAll("*")).some(element => {
109
+ const shadowRoot = element.shadowRoot;
110
+ return shadowRoot && isNativePopoverOpen(shadowRoot);
111
+ });
112
+ };
113
+ const patchDialog = (Dialog) => {
114
+ const origOnsapescape = Dialog.prototype.onsapescape;
115
+ Dialog.prototype.onsapescape = function onsapescape(...args) {
116
+ if (hasWebComponentPopupAbove(this.oPopup)) {
117
+ return;
118
+ }
119
+ origOnsapescape.apply(this, args);
120
+ };
10
121
  };
11
122
  const patchOpen = (Popup) => {
12
123
  const origOpen = Popup.prototype.open;
13
124
  Popup.prototype.open = function open(...args) {
14
125
  origOpen.apply(this, args); // call open first to initiate opening
15
- const topLayerAlreadyInUse = !!document.body.querySelector(":popover-open"); // check if there is already something in the top layer
16
- const openingInitiated = ["OPENING", "OPEN"].includes(this.getOpenState());
17
- if (openingInitiated && topLayerAlreadyInUse) {
18
- const element = this.getContent();
19
- if (element) {
20
- const domRef = element.getDomRef();
21
- if (domRef) {
22
- openNativePopover(domRef);
23
- }
24
- }
25
- }
126
+ openNativePopoverForOpenUI5(this);
127
+ addOpenedPopup({
128
+ type: "OpenUI5",
129
+ instance: this,
130
+ });
26
131
  };
27
132
  };
28
133
  const patchClosed = (Popup) => {
29
134
  const _origClosed = Popup.prototype._closed;
30
135
  Popup.prototype._closed = function _closed(...args) {
31
- const element = this.getContent();
32
- const domRef = element.getDomRef();
136
+ closeNativePopoverForOpenUI5(this);
33
137
  _origClosed.apply(this, args); // only then call _close
34
- if (domRef) {
35
- closeNativePopover(domRef); // unset the popover attribute and close the native popover, but only if still in DOM
138
+ removeOpenedPopup(this);
139
+ };
140
+ };
141
+ const patchFocusEvent = (Popup) => {
142
+ const origFocusEvent = Popup.prototype.onFocusEvent;
143
+ Popup.prototype.onFocusEvent = function onFocusEvent(...args) {
144
+ if (!hasWebComponentPopupAbove(this)) {
145
+ origFocusEvent.apply(this, args);
36
146
  }
37
147
  };
38
148
  };
@@ -41,10 +151,13 @@ const createGlobalStyles = () => {
41
151
  stylesheet.replaceSync(`.sapMPopup-CTX:popover-open { inset: unset; }`);
42
152
  document.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];
43
153
  };
44
- const patchPopup = (Popup) => {
154
+ const patchPopup = (Popup, Dialog) => {
155
+ insertOpenUI5PopupStyles();
45
156
  patchOpen(Popup); // Popup.prototype.open
46
157
  patchClosed(Popup); // Popup.prototype._closed
47
158
  createGlobalStyles(); // Ensures correct popover positioning by OpenUI5 (otherwise 0,0 is the center of the screen)
159
+ patchFocusEvent(Popup); // Popup.prototype.onFocusEvent
160
+ patchDialog(Dialog); // Dialog.prototype.onsapescape
48
161
  };
49
- export default patchPopup;
162
+ export { patchPopup, addOpenedPopup, removeOpenedPopup, getTopmostPopup, };
50
163
  //# sourceMappingURL=patchPopup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"patchPopup.js","sourceRoot":"","sources":["../../src/features/patchPopup.ts"],"names":[],"mappings":"AAeA,MAAM,iBAAiB,GAAG,CAAC,MAAmB,EAAE,EAAE;IACjD,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzC,MAAM,CAAC,WAAW,EAAE,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,MAAmB,EAAE,EAAE;IAClD,IAAI,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;QACnC,MAAM,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;KAClC;AACF,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,KAAmB,EAAE,EAAE;IACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;IACtC,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,SAAS,IAAI,CAAC,GAAG,IAAW;QAClD,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,sCAAsC;QAClE,MAAM,oBAAoB,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,uDAAuD;QACpI,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3E,IAAI,gBAAgB,IAAI,oBAAoB,EAAE;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,OAAO,EAAE;gBACZ,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBACnC,IAAI,MAAM,EAAE;oBACX,iBAAiB,CAAC,MAAM,CAAC,CAAC;iBAC1B;aACD;SACD;IACF,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAE,EAAE;IAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;IAC5C,KAAK,CAAC,SAAS,CAAC,OAAO,GAAG,SAAS,OAAO,CAAC,GAAG,IAAW;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QACnC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,wBAAwB;QACvD,IAAI,MAAM,EAAE;YACX,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,qFAAqF;SACjH;IACF,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC/B,MAAM,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC;IACvC,UAAU,CAAC,WAAW,CAAC,+CAA+C,CAAC,CAAC;IACxE,QAAQ,CAAC,kBAAkB,GAAG,CAAC,GAAG,QAAQ,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,KAAmB,EAAE,EAAE;IAC1C,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB;IACzC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,0BAA0B;IAC9C,kBAAkB,EAAE,CAAC,CAAC,6FAA6F;AACpH,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC","sourcesContent":["// OpenUI5's Element.js subset\ntype Element = {\n\tgetDomRef: () => HTMLElement | null,\n}\n\n// The lifecycle of Popup.js is open -> _opened -> close -> _closed, we're interested in the first (open) and last (_closed)\ntype OpenUI5Popup = {\n\tprototype: {\n\t\topen: (...args: any[]) => void,\n\t\t_closed: (...args: any[]) => void,\n\t\tgetOpenState: () => \"CLOSED\" | \"CLOSING\" | \"OPEN\" | \"OPENING\",\n\t\tgetContent: () => Element, // this is the OpenUI5 Element/Control instance that opens the Popup (usually sap.m.Popover/sap.m.Dialog)\n\t}\n};\n\nconst openNativePopover = (domRef: HTMLElement) => {\n\tdomRef.setAttribute(\"popover\", \"manual\");\n\tdomRef.showPopover();\n};\n\nconst closeNativePopover = (domRef: HTMLElement) => {\n\tif (domRef.hasAttribute(\"popover\")) {\n\t\tdomRef.hidePopover();\n\t\tdomRef.removeAttribute(\"popover\");\n\t}\n};\n\nconst patchOpen = (Popup: OpenUI5Popup) => {\n\tconst origOpen = Popup.prototype.open;\n\tPopup.prototype.open = function open(...args: any[]) {\n\t\torigOpen.apply(this, args); // call open first to initiate opening\n\t\tconst topLayerAlreadyInUse = !!document.body.querySelector(\":popover-open\"); // check if there is already something in the top layer\n\t\tconst openingInitiated = [\"OPENING\", \"OPEN\"].includes(this.getOpenState());\n\t\tif (openingInitiated && topLayerAlreadyInUse) {\n\t\t\tconst element = this.getContent();\n\t\t\tif (element) {\n\t\t\t\tconst domRef = element.getDomRef();\n\t\t\t\tif (domRef) {\n\t\t\t\t\topenNativePopover(domRef);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n};\n\nconst patchClosed = (Popup: OpenUI5Popup) => {\n\tconst _origClosed = Popup.prototype._closed;\n\tPopup.prototype._closed = function _closed(...args: any[]) {\n\t\tconst element = this.getContent();\n\t\tconst domRef = element.getDomRef();\n\t\t_origClosed.apply(this, args); // only then call _close\n\t\tif (domRef) {\n\t\t\tcloseNativePopover(domRef); // unset the popover attribute and close the native popover, but only if still in DOM\n\t\t}\n\t};\n};\n\nconst createGlobalStyles = () => {\n\tconst stylesheet = new CSSStyleSheet();\n\tstylesheet.replaceSync(`.sapMPopup-CTX:popover-open { inset: unset; }`);\n\tdocument.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];\n};\n\nconst patchPopup = (Popup: OpenUI5Popup) => {\n\tpatchOpen(Popup); // Popup.prototype.open\n\tpatchClosed(Popup); // Popup.prototype._closed\n\tcreateGlobalStyles(); // Ensures correct popover positioning by OpenUI5 (otherwise 0,0 is the center of the screen)\n};\n\nexport default patchPopup;\nexport type { OpenUI5Popup };\n"]}
1
+ {"version":3,"file":"patchPopup.js","sourceRoot":"","sources":["../../src/features/patchPopup.ts"],"names":[],"mappings":"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","sourcesContent":["// OpenUI5's Control.js subset\nimport getSharedResource from \"../getSharedResource.js\";\nimport insertOpenUI5PopupStyles from \"./insertOpenUI5PopupStyles.js\";\n\ntype Control = {\n\tgetDomRef: () => HTMLElement | null,\n}\n\n// The lifecycle of Popup.js is open -> _opened -> close -> _closed, we're interested in the first (open) and last (_closed)\ntype OpenUI5Popup = {\n\topen: (...args: any[]) => void,\n\t_closed: (...args: any[]) => void,\n\tgetOpenState: () => \"CLOSED\" | \"CLOSING\" | \"OPEN\" | \"OPENING\",\n\tgetContent: () => Control | HTMLElement | null, // this is the OpenUI5 Element/Control instance that opens the Popup (usually sap.m.Popover/sap.m.Dialog)\n\tonFocusEvent: (...args: any[]) => void,\n\tgetModal: () => boolean\n};\n\ntype OpenUI5PopupClass = {\n\tprototype: OpenUI5Popup\n};\n\ntype OpenUI5DialogClass = {\n\tprototype: {\n\t\tonsapescape: (...args: any[]) => void,\n\t\toPopup: OpenUI5Popup,\n\t}\n};\n\ntype PopupInfo = {\n\ttype: \"WebComponent\";\n\tinstance: object;\n} | {\n\ttype: \"OpenUI5\";\n\tinstance: OpenUI5Popup;\n};\n\n// contains all OpenUI5 and Web Component popups that are currently opened\nconst AllOpenedPopupsRegistry = getSharedResource<{ openedRegistry: Array<PopupInfo> }>(\"AllOpenedPopupsRegistry\", { openedRegistry: [] });\n\nconst addOpenedPopup = (popupInfo: PopupInfo) => {\n\tAllOpenedPopupsRegistry.openedRegistry.push(popupInfo);\n};\n\nconst removeOpenedPopup = (popup: object) => {\n\tconst index = AllOpenedPopupsRegistry.openedRegistry.findIndex(el => el.instance === popup);\n\n\tif (index === AllOpenedPopupsRegistry.openedRegistry.length - 1) {\n\t\tfixTopmostOpenUI5Popup();\n\t}\n\n\tif (index > -1) {\n\t\tAllOpenedPopupsRegistry.openedRegistry.splice(index, 1);\n\t}\n};\n\nconst getTopmostPopup = () => {\n\tif (AllOpenedPopupsRegistry.openedRegistry.length === 0) {\n\t\treturn null;\n\t}\n\treturn AllOpenedPopupsRegistry.openedRegistry[AllOpenedPopupsRegistry.openedRegistry.length - 1].instance;\n};\n\n/**\n * Determines whether there is a Web Component popup opened above (a specified popup).\n *\n * @param {object} popup The popup instance to check against.\n * @returns {boolean} `true` if a Web Component popup is opened above (the given popup instance); otherwise `false`.\n */\nconst hasWebComponentPopupAbove = (popup: object) => {\n\tfor (let i = AllOpenedPopupsRegistry.openedRegistry.length - 1; i >= 0; i--) {\n\t\tconst popupInfo = AllOpenedPopupsRegistry.openedRegistry[i];\n\t\tif (popupInfo.type === \"WebComponent\") {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (popupInfo.instance === popup) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn false;\n};\n\nconst getPopupContentElement = (popup: OpenUI5Popup): HTMLElement | null => {\n\tconst content = popup.getContent();\n\treturn content instanceof HTMLElement ? content : content?.getDomRef() || null;\n};\n\nconst openNativePopoverForOpenUI5 = (popup: OpenUI5Popup) => {\n\tconst openingInitiated = [\"OPENING\", \"OPEN\"].includes(popup.getOpenState());\n\tif (!openingInitiated || !isNativePopoverOpen()) {\n\t\treturn;\n\t}\n\n\tconst domRef = getPopupContentElement(popup);\n\n\tif (!domRef) {\n\t\treturn;\n\t}\n\n\tconst openUI5BlockLayer = document.getElementById(\"sap-ui-blocklayer-popup\");\n\n\tif (popup.getModal() && openUI5BlockLayer) {\n\t\topenUI5BlockLayer.setAttribute(\"popover\", \"manual\");\n\t\topenUI5BlockLayer.hidePopover();\n\t\topenUI5BlockLayer.showPopover();\n\t}\n\n\tdomRef.setAttribute(\"popover\", \"manual\");\n\tdomRef.showPopover();\n};\n\nconst closeNativePopoverForOpenUI5 = (popup: OpenUI5Popup) => {\n\tconst domRef = getPopupContentElement(popup);\n\n\tif (!domRef) {\n\t\treturn;\n\t}\n\n\tif (domRef.hasAttribute(\"popover\")) {\n\t\tdomRef.hidePopover();\n\t\tdomRef.removeAttribute(\"popover\");\n\t}\n\n\tif (getTopmostPopup() !== popup) {\n\t\treturn;\n\t}\n\n\t// The OpenUI5 block layer is only one for all modal OpenUI5 popups,\n\t// and it is displayed above all opened pupups - OpenUI5 and Web Components,\n\t// as a result, we need to hide this block layer.\n\t// If the underlying popup is a Web Component - it is displayed like a native popover, and we don't need to do anything\n\t// If the underlying popup is an OpenUI5 popup, it will be fixed in fixTopmostOpenUI5Popup method.\n\tif (popup.getModal()) {\n\t\tconst openUI5BlockLayer = document.getElementById(\"sap-ui-blocklayer-popup\");\n\t\tif (openUI5BlockLayer && openUI5BlockLayer.hasAttribute(\"popover\")) {\n\t\t\topenUI5BlockLayer.hidePopover();\n\t\t}\n\t}\n};\n\nconst fixTopmostOpenUI5Popup = () => {\n\tif (!isNativePopoverOpen()) {\n\t\treturn;\n\t}\n\n\tconst prevPopup = AllOpenedPopupsRegistry.openedRegistry[AllOpenedPopupsRegistry.openedRegistry.length - 2];\n\tif (!prevPopup\n\t\t|| prevPopup.type !== \"OpenUI5\"\n\t\t|| !prevPopup.instance.getModal()) {\n\t\treturn;\n\t}\n\n\tconst content = getPopupContentElement(prevPopup.instance);\n\tconst openUI5BlockLayer = document.getElementById(\"sap-ui-blocklayer-popup\");\n\n\tcontent?.hidePopover();\n\topenUI5BlockLayer?.showPopover();\n\n\tcontent?.showPopover();\n};\n\nconst isNativePopoverOpen = (root: Document | ShadowRoot = document): boolean => {\n\tif (root.querySelector(\":popover-open\")) {\n\t\treturn true;\n\t}\n\n\treturn Array.from(root.querySelectorAll(\"*\")).some(element => {\n\t\tconst shadowRoot = element.shadowRoot;\n\t\treturn shadowRoot && isNativePopoverOpen(shadowRoot);\n\t});\n};\n\nconst patchDialog = (Dialog: OpenUI5DialogClass) => {\n\tconst origOnsapescape = Dialog.prototype.onsapescape;\n\tDialog.prototype.onsapescape = function onsapescape(...args: any[]) {\n\t\tif (hasWebComponentPopupAbove(this.oPopup)) {\n\t\t\treturn;\n\t\t}\n\n\t\torigOnsapescape.apply(this, args);\n\t};\n};\n\nconst patchOpen = (Popup: OpenUI5PopupClass) => {\n\tconst origOpen = Popup.prototype.open;\n\tPopup.prototype.open = function open(...args: any[]) {\n\t\torigOpen.apply(this, args); // call open first to initiate opening\n\t\topenNativePopoverForOpenUI5(this);\n\n\t\taddOpenedPopup({\n\t\t\ttype: \"OpenUI5\",\n\t\t\tinstance: this,\n\t\t});\n\t};\n};\n\nconst patchClosed = (Popup: OpenUI5PopupClass) => {\n\tconst _origClosed = Popup.prototype._closed;\n\tPopup.prototype._closed = function _closed(...args: any[]) {\n\t\tcloseNativePopoverForOpenUI5(this);\n\t\t_origClosed.apply(this, args); // only then call _close\n\t\tremoveOpenedPopup(this);\n\t};\n};\n\nconst patchFocusEvent = (Popup: OpenUI5PopupClass) => {\n\tconst origFocusEvent = Popup.prototype.onFocusEvent;\n\tPopup.prototype.onFocusEvent = function onFocusEvent(...args: any[]) {\n\t\tif (!hasWebComponentPopupAbove(this)) {\n\t\t\torigFocusEvent.apply(this, args);\n\t\t}\n\t};\n};\n\nconst createGlobalStyles = () => {\n\tconst stylesheet = new CSSStyleSheet();\n\tstylesheet.replaceSync(`.sapMPopup-CTX:popover-open { inset: unset; }`);\n\tdocument.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];\n};\n\nconst patchPopup = (Popup: OpenUI5PopupClass, Dialog: OpenUI5DialogClass) => {\n\tinsertOpenUI5PopupStyles();\n\tpatchOpen(Popup); // Popup.prototype.open\n\tpatchClosed(Popup); // Popup.prototype._closed\n\tcreateGlobalStyles(); // Ensures correct popover positioning by OpenUI5 (otherwise 0,0 is the center of the screen)\n\tpatchFocusEvent(Popup);// Popup.prototype.onFocusEvent\n\tpatchDialog(Dialog); // Dialog.prototype.onsapescape\n};\n\nexport {\n\tpatchPopup,\n\taddOpenedPopup,\n\tremoveOpenedPopup,\n\tgetTopmostPopup,\n};\n\nexport type { OpenUI5PopupClass, OpenUI5DialogClass, PopupInfo };\n"]}
@@ -1,4 +1,4 @@
1
- const assetParameters = { "themes": { "default": "sap_horizon", "all": ["sap_fiori_3", "sap_fiori_3_dark", "sap_fiori_3_hcb", "sap_fiori_3_hcw", "sap_horizon", "sap_horizon_dark", "sap_horizon_hcb", "sap_horizon_hcw", "sap_horizon_exp", "sap_horizon_dark_exp", "sap_horizon_hcb_exp", "sap_horizon_hcw_exp"] }, "languages": { "default": "en", "all": ["ar", "bg", "ca", "cnr", "cs", "cy", "da", "de", "el", "en", "en_GB", "en_US_sappsd", "en_US_saprigi", "en_US_saptrc", "es", "es_MX", "et", "fi", "fr", "fr_CA", "hi", "hr", "hu", "in", "it", "iw", "ja", "kk", "ko", "lt", "lv", "mk", "ms", "nl", "no", "pl", "pt_PT", "pt", "ro", "ru", "sh", "sk", "sl", "sr", "sv", "th", "tr", "uk", "vi", "zh_CN", "zh_TW"] }, "locales": { "default": "en", "all": ["ar", "ar_EG", "ar_SA", "bg", "ca", "cnr", "cs", "da", "de", "de_AT", "de_CH", "el", "el_CY", "en", "en_AU", "en_GB", "en_HK", "en_IE", "en_IN", "en_NZ", "en_PG", "en_SG", "en_ZA", "es", "es_AR", "es_BO", "es_CL", "es_CO", "es_MX", "es_PE", "es_UY", "es_VE", "et", "fa", "fi", "fr", "fr_BE", "fr_CA", "fr_CH", "fr_LU", "he", "hi", "hr", "hu", "id", "it", "it_CH", "ja", "kk", "ko", "lt", "lv", "ms", "mk", "nb", "nl", "nl_BE", "pl", "pt", "pt_PT", "ro", "ru", "ru_UA", "sk", "sl", "sr", "sr_Latn", "sv", "th", "tr", "uk", "vi", "zh_CN", "zh_HK", "zh_SG", "zh_TW"] } };
1
+ const assetParameters = { "themes": { "default": "sap_horizon", "all": ["sap_fiori_3", "sap_fiori_3_dark", "sap_fiori_3_hcb", "sap_fiori_3_hcw", "sap_horizon", "sap_horizon_dark", "sap_horizon_hcb", "sap_horizon_hcw"] }, "languages": { "default": "en", "all": ["ar", "bg", "ca", "cnr", "cs", "cy", "da", "de", "el", "en", "en_GB", "en_US_sappsd", "en_US_saprigi", "en_US_saptrc", "es", "es_MX", "et", "fi", "fr", "fr_CA", "hi", "hr", "hu", "id", "it", "iw", "ja", "kk", "ko", "lt", "lv", "mk", "ms", "nl", "no", "pl", "pt_PT", "pt", "ro", "ru", "sh", "sk", "sl", "sr", "sv", "th", "tr", "uk", "vi", "zh_CN", "zh_TW"] }, "locales": { "default": "en", "all": ["ar", "ar_EG", "ar_SA", "bg", "ca", "cnr", "cs", "da", "de", "de_AT", "de_CH", "el", "el_CY", "en", "en_AU", "en_GB", "en_HK", "en_IE", "en_IN", "en_NZ", "en_PG", "en_SG", "en_ZA", "es", "es_AR", "es_BO", "es_CL", "es_CO", "es_MX", "es_PE", "es_UY", "es_VE", "et", "fa", "fi", "fr", "fr_BE", "fr_CA", "fr_CH", "fr_LU", "he", "hi", "hr", "hu", "id", "it", "it_CH", "ja", "kk", "ko", "lt", "lv", "ms", "mk", "nb", "nl", "nl_BE", "pl", "pt", "pt_PT", "ro", "ru", "ru_UA", "sk", "sl", "sr", "sr_Latn", "sv", "th", "tr", "uk", "vi", "zh_CN", "zh_HK", "zh_SG", "zh_TW"] } };
2
2
  const DEFAULT_THEME = assetParameters.themes.default;
3
3
  const SUPPORTED_THEMES = assetParameters.themes.all;
4
4
  const DEFAULT_LANGUAGE = assetParameters.languages.default;
@@ -1 +1 @@
1
- {"version":3,"file":"AssetParameters.js","sourceRoot":"","sources":["../../src/generated/AssetParameters.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,EAAC,QAAQ,EAAC,EAAC,SAAS,EAAC,aAAa,EAAC,KAAK,EAAC,CAAC,aAAa,EAAC,kBAAkB,EAAC,iBAAiB,EAAC,iBAAiB,EAAC,aAAa,EAAC,kBAAkB,EAAC,iBAAiB,EAAC,iBAAiB,EAAC,iBAAiB,EAAC,sBAAsB,EAAC,qBAAqB,EAAC,qBAAqB,CAAC,EAAC,EAAC,WAAW,EAAC,EAAC,SAAS,EAAC,IAAI,EAAC,KAAK,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,cAAc,EAAC,eAAe,EAAC,cAAc,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,CAAC,EAAC,EAAC,SAAS,EAAC,EAAC,SAAS,EAAC,IAAI,EAAC,KAAK,EAAC,CAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,CAAC,EAAC,EAAC,CAAC;AAEroC,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC;AACrD,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC;AACpD,MAAM,gBAAgB,GAAG,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC;AAC3D,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC;AACvD,MAAM,iBAAiB,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC;AAEtD,OAAO,EACN,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,GACjB,CAAC","sourcesContent":["const assetParameters = {\"themes\":{\"default\":\"sap_horizon\",\"all\":[\"sap_fiori_3\",\"sap_fiori_3_dark\",\"sap_fiori_3_hcb\",\"sap_fiori_3_hcw\",\"sap_horizon\",\"sap_horizon_dark\",\"sap_horizon_hcb\",\"sap_horizon_hcw\",\"sap_horizon_exp\",\"sap_horizon_dark_exp\",\"sap_horizon_hcb_exp\",\"sap_horizon_hcw_exp\"]},\"languages\":{\"default\":\"en\",\"all\":[\"ar\",\"bg\",\"ca\",\"cnr\",\"cs\",\"cy\",\"da\",\"de\",\"el\",\"en\",\"en_GB\",\"en_US_sappsd\",\"en_US_saprigi\",\"en_US_saptrc\",\"es\",\"es_MX\",\"et\",\"fi\",\"fr\",\"fr_CA\",\"hi\",\"hr\",\"hu\",\"in\",\"it\",\"iw\",\"ja\",\"kk\",\"ko\",\"lt\",\"lv\",\"mk\",\"ms\",\"nl\",\"no\",\"pl\",\"pt_PT\",\"pt\",\"ro\",\"ru\",\"sh\",\"sk\",\"sl\",\"sr\",\"sv\",\"th\",\"tr\",\"uk\",\"vi\",\"zh_CN\",\"zh_TW\"]},\"locales\":{\"default\":\"en\",\"all\":[\"ar\",\"ar_EG\",\"ar_SA\",\"bg\",\"ca\",\"cnr\",\"cs\",\"da\",\"de\",\"de_AT\",\"de_CH\",\"el\",\"el_CY\",\"en\",\"en_AU\",\"en_GB\",\"en_HK\",\"en_IE\",\"en_IN\",\"en_NZ\",\"en_PG\",\"en_SG\",\"en_ZA\",\"es\",\"es_AR\",\"es_BO\",\"es_CL\",\"es_CO\",\"es_MX\",\"es_PE\",\"es_UY\",\"es_VE\",\"et\",\"fa\",\"fi\",\"fr\",\"fr_BE\",\"fr_CA\",\"fr_CH\",\"fr_LU\",\"he\",\"hi\",\"hr\",\"hu\",\"id\",\"it\",\"it_CH\",\"ja\",\"kk\",\"ko\",\"lt\",\"lv\",\"ms\",\"mk\",\"nb\",\"nl\",\"nl_BE\",\"pl\",\"pt\",\"pt_PT\",\"ro\",\"ru\",\"ru_UA\",\"sk\",\"sl\",\"sr\",\"sr_Latn\",\"sv\",\"th\",\"tr\",\"uk\",\"vi\",\"zh_CN\",\"zh_HK\",\"zh_SG\",\"zh_TW\"]}};\n\nconst DEFAULT_THEME = assetParameters.themes.default;\nconst SUPPORTED_THEMES = assetParameters.themes.all;\nconst DEFAULT_LANGUAGE = assetParameters.languages.default;\nconst DEFAULT_LOCALE = assetParameters.locales.default;\nconst SUPPORTED_LOCALES = assetParameters.locales.all;\n\nexport {\n\tDEFAULT_THEME,\n\tSUPPORTED_THEMES,\n\tDEFAULT_LANGUAGE,\n\tDEFAULT_LOCALE,\n\tSUPPORTED_LOCALES,\n};"]}
1
+ {"version":3,"file":"AssetParameters.js","sourceRoot":"","sources":["../../src/generated/AssetParameters.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,EAAC,QAAQ,EAAC,EAAC,SAAS,EAAC,aAAa,EAAC,KAAK,EAAC,CAAC,aAAa,EAAC,kBAAkB,EAAC,iBAAiB,EAAC,iBAAiB,EAAC,aAAa,EAAC,kBAAkB,EAAC,iBAAiB,EAAC,iBAAiB,CAAC,EAAC,EAAC,WAAW,EAAC,EAAC,SAAS,EAAC,IAAI,EAAC,KAAK,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,cAAc,EAAC,eAAe,EAAC,cAAc,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,CAAC,EAAC,EAAC,SAAS,EAAC,EAAC,SAAS,EAAC,IAAI,EAAC,KAAK,EAAC,CAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,CAAC,EAAC,EAAC,CAAC;AAEhjC,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC;AACrD,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC;AACpD,MAAM,gBAAgB,GAAG,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC;AAC3D,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC;AACvD,MAAM,iBAAiB,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC;AAEtD,OAAO,EACN,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,GACjB,CAAC","sourcesContent":["const assetParameters = {\"themes\":{\"default\":\"sap_horizon\",\"all\":[\"sap_fiori_3\",\"sap_fiori_3_dark\",\"sap_fiori_3_hcb\",\"sap_fiori_3_hcw\",\"sap_horizon\",\"sap_horizon_dark\",\"sap_horizon_hcb\",\"sap_horizon_hcw\"]},\"languages\":{\"default\":\"en\",\"all\":[\"ar\",\"bg\",\"ca\",\"cnr\",\"cs\",\"cy\",\"da\",\"de\",\"el\",\"en\",\"en_GB\",\"en_US_sappsd\",\"en_US_saprigi\",\"en_US_saptrc\",\"es\",\"es_MX\",\"et\",\"fi\",\"fr\",\"fr_CA\",\"hi\",\"hr\",\"hu\",\"id\",\"it\",\"iw\",\"ja\",\"kk\",\"ko\",\"lt\",\"lv\",\"mk\",\"ms\",\"nl\",\"no\",\"pl\",\"pt_PT\",\"pt\",\"ro\",\"ru\",\"sh\",\"sk\",\"sl\",\"sr\",\"sv\",\"th\",\"tr\",\"uk\",\"vi\",\"zh_CN\",\"zh_TW\"]},\"locales\":{\"default\":\"en\",\"all\":[\"ar\",\"ar_EG\",\"ar_SA\",\"bg\",\"ca\",\"cnr\",\"cs\",\"da\",\"de\",\"de_AT\",\"de_CH\",\"el\",\"el_CY\",\"en\",\"en_AU\",\"en_GB\",\"en_HK\",\"en_IE\",\"en_IN\",\"en_NZ\",\"en_PG\",\"en_SG\",\"en_ZA\",\"es\",\"es_AR\",\"es_BO\",\"es_CL\",\"es_CO\",\"es_MX\",\"es_PE\",\"es_UY\",\"es_VE\",\"et\",\"fa\",\"fi\",\"fr\",\"fr_BE\",\"fr_CA\",\"fr_CH\",\"fr_LU\",\"he\",\"hi\",\"hr\",\"hu\",\"id\",\"it\",\"it_CH\",\"ja\",\"kk\",\"ko\",\"lt\",\"lv\",\"ms\",\"mk\",\"nb\",\"nl\",\"nl_BE\",\"pl\",\"pt\",\"pt_PT\",\"ro\",\"ru\",\"ru_UA\",\"sk\",\"sl\",\"sr\",\"sr_Latn\",\"sv\",\"th\",\"tr\",\"uk\",\"vi\",\"zh_CN\",\"zh_HK\",\"zh_SG\",\"zh_TW\"]}};\n\nconst DEFAULT_THEME = assetParameters.themes.default;\nconst SUPPORTED_THEMES = assetParameters.themes.all;\nconst DEFAULT_LANGUAGE = assetParameters.languages.default;\nconst DEFAULT_LOCALE = assetParameters.locales.default;\nconst SUPPORTED_LOCALES = assetParameters.locales.all;\n\nexport {\n\tDEFAULT_THEME,\n\tSUPPORTED_THEMES,\n\tDEFAULT_LANGUAGE,\n\tDEFAULT_LOCALE,\n\tSUPPORTED_LOCALES,\n};"]}
@@ -1,11 +1,11 @@
1
1
  const VersionInfo = {
2
- version: "2.0.0-rc.3",
2
+ version: "2.18.0",
3
3
  major: 2,
4
- minor: 0,
4
+ minor: 18,
5
5
  patch: 0,
6
- suffix: "-rc.3",
6
+ suffix: "",
7
7
  isNext: false,
8
- buildTime: 1716642501,
8
+ buildTime: 1767791299,
9
9
  };
10
10
  export default VersionInfo;
11
11
  //# sourceMappingURL=VersionInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VersionInfo.js","sourceRoot":"","sources":["../../src/generated/VersionInfo.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IACnB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,UAAU;CACrB,CAAC;AACF,eAAe,WAAW,CAAC","sourcesContent":["const VersionInfo = {\n\tversion: \"2.0.0-rc.3\",\n\tmajor: 2,\n\tminor: 0,\n\tpatch: 0,\n\tsuffix: \"-rc.3\",\n\tisNext: false,\n\tbuildTime: 1716642501,\n};\nexport default VersionInfo;"]}
1
+ {"version":3,"file":"VersionInfo.js","sourceRoot":"","sources":["../../src/generated/VersionInfo.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IACnB,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,UAAU;CACrB,CAAC;AACF,eAAe,WAAW,CAAC","sourcesContent":["const VersionInfo = {\n\tversion: \"2.18.0\",\n\tmajor: 2,\n\tminor: 18,\n\tpatch: 0,\n\tsuffix: \"\",\n\tisNext: false,\n\tbuildTime: 1767791299,\n};\nexport default VersionInfo;"]}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} items"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"[[[{0} įţēɱş]]]"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"‌​​‍​‍‍​‍‍‍‌‍‌‌‍‍​‍‌‍‍‌‌​‌​‌‍‌​​‍​‌​​​​​​​{0}‌‌‌ items"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"4r96ZyyeFuBw3vy23me9QQ_{0} items"}
@@ -1,3 +1,2 @@
1
- import type { StyleData } from "../../types.js";
2
- declare const styleData: StyleData;
3
- export default styleData;
1
+ declare const _default: ".busy-indicator-wrapper{position:relative;height:100%;width:100%}.busy-indicator-overlay{display:var(--ui5_web_components_busy_indicator_display);position:absolute;inset:0;background:var(--ui5_web_components_busy_indicator_background-color);z-index:99}.busy-indicator-busy-area{display:var(--ui5_web_components_busy_indicator_display);position:absolute;z-index:99;inset:0;justify-content:center;align-items:center;background-color:inherit;flex-direction:column;color:var(--_ui5_busy_indicator_color)}:host([__is-busy]) .busy-indicator-wrapper>:not(.busy-indicator-busy-area):not(.busy-indicator-overlay):not([busy-indicator-before-span]){--ui5_web_components_busy_indicator_display:none}.busy-indicator-busy-area:focus{outline:var(--_ui5_busy_indicator_focus_outline);outline-offset:-.125rem}.busy-indicator-circle{width:1rem;height:1rem;display:inline-block;background-color:currentColor;border-radius:50%}.circle-animation-0{animation:grow 1.6s infinite cubic-bezier(.32,.06,.85,1.11)}.circle-animation-1{animation:grow 1.6s infinite cubic-bezier(.32,.06,.85,1.11);animation-delay:.2s}.circle-animation-2{animation:grow 1.6s infinite cubic-bezier(.32,.06,.85,1.11);animation-delay:.4s}.sapUiLocalBusy{--ui5_web_components_busy_indicator_display:none}.busy-indicator-wrapper [ui5-busy-indicator]{display:none}@keyframes grow{0%,100%,50%{-webkit-transform:scale(.5);-moz-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}25%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}";
2
+ export default _default;