@ui5/webcomponents-base 0.0.0-47cc17a26 → 0.0.0-49bade48d

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 (373) hide show
  1. package/AGENTS.md +195 -0
  2. package/CHANGELOG.md +362 -1
  3. package/CLAUDE.md +1 -0
  4. package/dist/.tsbuildinfobuild +1 -1
  5. package/dist/Boot.d.ts +2 -1
  6. package/dist/Boot.js +42 -14
  7. package/dist/Boot.js.map +1 -1
  8. package/dist/CustomElementsScopeUtils.d.ts +11 -4
  9. package/dist/CustomElementsScopeUtils.js +15 -5
  10. package/dist/CustomElementsScopeUtils.js.map +1 -1
  11. package/dist/FontFace.css +36 -0
  12. package/dist/InitialConfiguration.d.ts +2 -1
  13. package/dist/InitialConfiguration.js +10 -11
  14. package/dist/InitialConfiguration.js.map +1 -1
  15. package/dist/ManagedStyles.js +1 -1
  16. package/dist/ManagedStyles.js.map +1 -1
  17. package/dist/Render.d.ts +9 -1
  18. package/dist/Render.js +15 -3
  19. package/dist/Render.js.map +1 -1
  20. package/dist/Runtimes.d.ts +6 -1
  21. package/dist/Runtimes.js +25 -24
  22. package/dist/Runtimes.js.map +1 -1
  23. package/dist/SystemCSSVars.js +2 -4
  24. package/dist/SystemCSSVars.js.map +1 -1
  25. package/dist/UI5Element.d.ts +33 -7
  26. package/dist/UI5Element.js +73 -25
  27. package/dist/UI5Element.js.map +1 -1
  28. package/dist/UI5ElementMetadata.js +1 -1
  29. package/dist/UI5ElementMetadata.js.map +1 -1
  30. package/dist/asset-registries/Icons.d.ts +1 -0
  31. package/dist/asset-registries/Icons.js +1 -0
  32. package/dist/asset-registries/Icons.js.map +1 -1
  33. package/dist/asset-registries/Themes.d.ts +5 -2
  34. package/dist/asset-registries/Themes.js +3 -3
  35. package/dist/asset-registries/Themes.js.map +1 -1
  36. package/dist/config/ConfigurationSync.d.ts +16 -0
  37. package/dist/config/ConfigurationSync.js +42 -0
  38. package/dist/config/ConfigurationSync.js.map +1 -0
  39. package/dist/config/Language.js +13 -1
  40. package/dist/config/Language.js.map +1 -1
  41. package/dist/config/Theme.d.ts +13 -1
  42. package/dist/config/Theme.js +27 -2
  43. package/dist/config/Theme.js.map +1 -1
  44. package/dist/config/ThemeRoot.js +12 -7
  45. package/dist/config/ThemeRoot.js.map +1 -1
  46. package/dist/config/UrlParams.d.ts +20 -0
  47. package/dist/config/UrlParams.js +30 -0
  48. package/dist/config/UrlParams.js.map +1 -0
  49. package/dist/createReactComponent.d.ts +26 -0
  50. package/dist/createReactComponent.js +51 -0
  51. package/dist/createReactComponent.js.map +1 -0
  52. package/dist/css/OpenUI5PopupStyles.css +5 -0
  53. package/dist/css/SystemCSSVars.css +28 -3
  54. package/dist/custom-elements-internal.json +402 -309
  55. package/dist/custom-elements.json +346 -253
  56. package/dist/decorators/slot-strict.d.ts +27 -0
  57. package/dist/decorators/slot-strict.js +54 -0
  58. package/dist/decorators/slot-strict.js.map +1 -0
  59. package/dist/decorators/slot.d.ts +18 -0
  60. package/dist/decorators/slot.js +18 -0
  61. package/dist/decorators/slot.js.map +1 -1
  62. package/dist/decorators.d.ts +2 -1
  63. package/dist/decorators.js +2 -1
  64. package/dist/decorators.js.map +1 -1
  65. package/dist/features/F6Navigation.d.ts +1 -0
  66. package/dist/features/F6Navigation.js +4 -0
  67. package/dist/features/F6Navigation.js.map +1 -1
  68. package/dist/features/InputElementsFormSupport.d.ts +1 -1
  69. package/dist/features/InputElementsFormSupport.js +26 -4
  70. package/dist/features/InputElementsFormSupport.js.map +1 -1
  71. package/dist/features/OpenUI5Support.d.ts +12 -6
  72. package/dist/features/OpenUI5Support.js +55 -24
  73. package/dist/features/OpenUI5Support.js.map +1 -1
  74. package/dist/features/patchPatcher.d.ts +7 -6
  75. package/dist/features/patchPatcher.js +14 -4
  76. package/dist/features/patchPatcher.js.map +1 -1
  77. package/dist/features/patchPopup.d.ts +17 -12
  78. package/dist/features/patchPopup.js +99 -27
  79. package/dist/features/patchPopup.js.map +1 -1
  80. package/dist/generated/AssetParameters.js +1 -1
  81. package/dist/generated/AssetParameters.js.map +1 -1
  82. package/dist/generated/VersionInfo.js +3 -3
  83. package/dist/generated/VersionInfo.js.map +1 -1
  84. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -0
  85. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -0
  86. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -0
  87. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -0
  88. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -0
  89. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
  90. package/dist/generated/assets/i18n/messagebundle_da.json +1 -0
  91. package/dist/generated/assets/i18n/messagebundle_de.json +1 -0
  92. package/dist/generated/assets/i18n/messagebundle_el.json +1 -0
  93. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
  94. package/dist/generated/assets/i18n/messagebundle_es.json +1 -0
  95. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
  96. package/dist/generated/assets/i18n/messagebundle_et.json +1 -0
  97. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -0
  98. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -0
  99. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
  100. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -0
  101. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -0
  102. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -0
  103. package/dist/generated/assets/i18n/messagebundle_id.json +1 -0
  104. package/dist/generated/assets/i18n/messagebundle_it.json +1 -0
  105. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -0
  106. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -0
  107. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -0
  108. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -0
  109. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -0
  110. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -0
  111. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -0
  112. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -0
  113. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -0
  114. package/dist/generated/assets/i18n/messagebundle_no.json +1 -0
  115. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -0
  116. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -0
  117. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  118. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -0
  119. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -0
  120. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -0
  121. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -0
  122. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -0
  123. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -0
  124. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -0
  125. package/dist/generated/assets/i18n/messagebundle_th.json +1 -0
  126. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -0
  127. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -0
  128. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -0
  129. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -0
  130. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -0
  131. package/dist/generated/css/FontFace.css.d.ts +1 -1
  132. package/dist/generated/css/FontFace.css.js +36 -36
  133. package/dist/generated/css/FontFace.css.js.map +1 -1
  134. package/dist/generated/css/OpenUI5PopupStyles.css.d.ts +1 -1
  135. package/dist/generated/css/OpenUI5PopupStyles.css.js +1 -1
  136. package/dist/generated/css/OpenUI5PopupStyles.css.js.map +1 -1
  137. package/dist/generated/css/SystemCSSVars.css.d.ts +1 -1
  138. package/dist/generated/css/SystemCSSVars.css.js +1 -1
  139. package/dist/generated/css/SystemCSSVars.css.js.map +1 -1
  140. package/dist/index.d.ts +3 -1
  141. package/dist/index.js +4 -2
  142. package/dist/index.js.map +1 -1
  143. package/dist/prod/Boot.js +1 -1
  144. package/dist/prod/Boot.js.map +3 -3
  145. package/dist/prod/CustomElementsScopeUtils.js +1 -1
  146. package/dist/prod/CustomElementsScopeUtils.js.map +3 -3
  147. package/dist/prod/InitialConfiguration.js +1 -1
  148. package/dist/prod/InitialConfiguration.js.map +3 -3
  149. package/dist/prod/ManagedStyles.js +1 -1
  150. package/dist/prod/ManagedStyles.js.map +2 -2
  151. package/dist/prod/Render.js +1 -1
  152. package/dist/prod/Render.js.map +3 -3
  153. package/dist/prod/Runtimes.js +1 -1
  154. package/dist/prod/Runtimes.js.map +3 -3
  155. package/dist/prod/SystemCSSVars.js +1 -1
  156. package/dist/prod/SystemCSSVars.js.map +3 -3
  157. package/dist/prod/UI5Element.js +1 -1
  158. package/dist/prod/UI5Element.js.map +3 -3
  159. package/dist/prod/UI5ElementMetadata.js +1 -1
  160. package/dist/prod/UI5ElementMetadata.js.map +2 -2
  161. package/dist/prod/asset-registries/Icons.js +1 -1
  162. package/dist/prod/asset-registries/Icons.js.map +2 -2
  163. package/dist/prod/asset-registries/Themes.js +1 -1
  164. package/dist/prod/asset-registries/Themes.js.map +3 -3
  165. package/dist/prod/config/ConfigurationSync.js +2 -0
  166. package/dist/prod/config/ConfigurationSync.js.map +7 -0
  167. package/dist/prod/config/Language.js +1 -1
  168. package/dist/prod/config/Language.js.map +3 -3
  169. package/dist/prod/config/Theme.js +1 -1
  170. package/dist/prod/config/Theme.js.map +3 -3
  171. package/dist/prod/config/ThemeRoot.js +1 -1
  172. package/dist/prod/config/ThemeRoot.js.map +3 -3
  173. package/dist/prod/config/UrlParams.js +2 -0
  174. package/dist/prod/config/UrlParams.js.map +7 -0
  175. package/dist/prod/createReactComponent.js +2 -0
  176. package/dist/prod/createReactComponent.js.map +7 -0
  177. package/dist/prod/decorators/slot-strict.js +2 -0
  178. package/dist/prod/decorators/slot-strict.js.map +7 -0
  179. package/dist/prod/decorators/slot.js.map +2 -2
  180. package/dist/prod/decorators.js +1 -1
  181. package/dist/prod/decorators.js.map +3 -3
  182. package/dist/prod/features/F6Navigation.js +1 -1
  183. package/dist/prod/features/F6Navigation.js.map +2 -2
  184. package/dist/prod/features/InputElementsFormSupport.js +1 -1
  185. package/dist/prod/features/InputElementsFormSupport.js.map +3 -3
  186. package/dist/prod/features/OpenUI5Support.js +1 -1
  187. package/dist/prod/features/OpenUI5Support.js.map +3 -3
  188. package/dist/prod/features/patchPatcher.js +1 -1
  189. package/dist/prod/features/patchPatcher.js.map +3 -3
  190. package/dist/prod/features/patchPopup.js +1 -1
  191. package/dist/prod/features/patchPopup.js.map +3 -3
  192. package/dist/prod/generated/AssetParameters.js +1 -1
  193. package/dist/prod/generated/AssetParameters.js.map +2 -2
  194. package/dist/prod/generated/VersionInfo.js +1 -1
  195. package/dist/prod/generated/VersionInfo.js.map +1 -1
  196. package/dist/prod/generated/assets/i18n/messagebundle_ar.json +1 -0
  197. package/dist/prod/generated/assets/i18n/messagebundle_bg.json +1 -0
  198. package/dist/prod/generated/assets/i18n/messagebundle_ca.json +1 -0
  199. package/dist/prod/generated/assets/i18n/messagebundle_cnr.json +1 -0
  200. package/dist/prod/generated/assets/i18n/messagebundle_cs.json +1 -0
  201. package/dist/prod/generated/assets/i18n/messagebundle_cy.json +1 -0
  202. package/dist/prod/generated/assets/i18n/messagebundle_da.json +1 -0
  203. package/dist/prod/generated/assets/i18n/messagebundle_de.json +1 -0
  204. package/dist/prod/generated/assets/i18n/messagebundle_el.json +1 -0
  205. package/dist/prod/generated/assets/i18n/messagebundle_en_GB.json +1 -0
  206. package/dist/prod/generated/assets/i18n/messagebundle_es.json +1 -0
  207. package/dist/prod/generated/assets/i18n/messagebundle_es_MX.json +1 -0
  208. package/dist/prod/generated/assets/i18n/messagebundle_et.json +1 -0
  209. package/dist/prod/generated/assets/i18n/messagebundle_fi.json +1 -0
  210. package/dist/prod/generated/assets/i18n/messagebundle_fr.json +1 -0
  211. package/dist/prod/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
  212. package/dist/prod/generated/assets/i18n/messagebundle_hi.json +1 -0
  213. package/dist/prod/generated/assets/i18n/messagebundle_hr.json +1 -0
  214. package/dist/prod/generated/assets/i18n/messagebundle_hu.json +1 -0
  215. package/dist/prod/generated/assets/i18n/messagebundle_id.json +1 -0
  216. package/dist/prod/generated/assets/i18n/messagebundle_it.json +1 -0
  217. package/dist/prod/generated/assets/i18n/messagebundle_iw.json +1 -0
  218. package/dist/prod/generated/assets/i18n/messagebundle_ja.json +1 -0
  219. package/dist/prod/generated/assets/i18n/messagebundle_kk.json +1 -0
  220. package/dist/prod/generated/assets/i18n/messagebundle_ko.json +1 -0
  221. package/dist/prod/generated/assets/i18n/messagebundle_lt.json +1 -0
  222. package/dist/prod/generated/assets/i18n/messagebundle_lv.json +1 -0
  223. package/dist/prod/generated/assets/i18n/messagebundle_mk.json +1 -0
  224. package/dist/prod/generated/assets/i18n/messagebundle_ms.json +1 -0
  225. package/dist/prod/generated/assets/i18n/messagebundle_nl.json +1 -0
  226. package/dist/prod/generated/assets/i18n/messagebundle_no.json +1 -0
  227. package/dist/prod/generated/assets/i18n/messagebundle_pl.json +1 -0
  228. package/dist/prod/generated/assets/i18n/messagebundle_pt.json +1 -0
  229. package/dist/prod/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  230. package/dist/prod/generated/assets/i18n/messagebundle_ro.json +1 -0
  231. package/dist/prod/generated/assets/i18n/messagebundle_ru.json +1 -0
  232. package/dist/prod/generated/assets/i18n/messagebundle_sh.json +1 -0
  233. package/dist/prod/generated/assets/i18n/messagebundle_sk.json +1 -0
  234. package/dist/prod/generated/assets/i18n/messagebundle_sl.json +1 -0
  235. package/dist/prod/generated/assets/i18n/messagebundle_sr.json +1 -0
  236. package/dist/prod/generated/assets/i18n/messagebundle_sv.json +1 -0
  237. package/dist/prod/generated/assets/i18n/messagebundle_th.json +1 -0
  238. package/dist/prod/generated/assets/i18n/messagebundle_tr.json +1 -0
  239. package/dist/prod/generated/assets/i18n/messagebundle_uk.json +1 -0
  240. package/dist/prod/generated/assets/i18n/messagebundle_vi.json +1 -0
  241. package/dist/prod/generated/assets/i18n/messagebundle_zh_CN.json +1 -0
  242. package/dist/prod/generated/assets/i18n/messagebundle_zh_TW.json +1 -0
  243. package/dist/prod/generated/css/FontFace.css.js +36 -36
  244. package/dist/prod/generated/css/FontFace.css.js.map +1 -1
  245. package/dist/prod/generated/css/OpenUI5PopupStyles.css.js +1 -1
  246. package/dist/prod/generated/css/OpenUI5PopupStyles.css.js.map +1 -1
  247. package/dist/prod/generated/css/SystemCSSVars.css.js +1 -1
  248. package/dist/prod/generated/css/SystemCSSVars.css.js.map +1 -1
  249. package/dist/prod/index.js +1 -1
  250. package/dist/prod/index.js.map +3 -3
  251. package/dist/prod/sap/base/Log.js +15 -29
  252. package/dist/prod/sap/base/assert.js +1 -1
  253. package/dist/prod/sap/base/config/MemoryConfigurationProvider.js +1 -1
  254. package/dist/prod/sap/base/security/URLListValidator.js +9 -5
  255. package/dist/prod/sap/base/security/encodeCSS.js +1 -1
  256. package/dist/prod/sap/base/security/encodeXML.js +1 -1
  257. package/dist/prod/sap/base/security/sanitizeHTML.js +1 -1
  258. package/dist/prod/sap/base/strings/toHex.js +1 -1
  259. package/dist/prod/sap/base/util/now.js +7 -13
  260. package/dist/prod/sap/base/util/uid.js +1 -1
  261. package/dist/prod/sap/ui/thirdparty/caja-html-sanitizer.js +15 -3
  262. package/dist/prod/theming/applyTheme.js +1 -1
  263. package/dist/prod/theming/applyTheme.js.map +3 -3
  264. package/dist/prod/theming/componentStyles.js +3 -0
  265. package/dist/prod/theming/componentStyles.js.map +7 -0
  266. package/dist/prod/thirdparty/preact/preact.module.js +1 -1
  267. package/dist/prod/updateShadowRoot.js +1 -1
  268. package/dist/prod/updateShadowRoot.js.map +3 -3
  269. package/dist/prod/util/SelectionAssistant.js.map +1 -1
  270. package/dist/prod/util/createInstanceChecker.js +2 -0
  271. package/dist/prod/util/createInstanceChecker.js.map +7 -0
  272. package/dist/prod/util/createMultiInstanceChecker.js +2 -0
  273. package/dist/prod/util/createMultiInstanceChecker.js.map +7 -0
  274. package/dist/prod/util/dragAndDrop/DragRegistry.js +1 -1
  275. package/dist/prod/util/dragAndDrop/DragRegistry.js.map +3 -3
  276. package/dist/prod/util/generateHighlightedMarkupFirstMatch.js +2 -0
  277. package/dist/prod/util/generateHighlightedMarkupFirstMatch.js.map +7 -0
  278. package/dist/prod/validateThemeRoot.js +1 -1
  279. package/dist/prod/validateThemeRoot.js.map +3 -3
  280. package/dist/react18/createReactComponent.d.ts +38 -0
  281. package/dist/react18/createReactComponent.js +112 -0
  282. package/dist/react18/createReactComponent.js.map +1 -0
  283. package/dist/sap/base/Log.js +15 -29
  284. package/dist/sap/base/assert.js +1 -1
  285. package/dist/sap/base/config/MemoryConfigurationProvider.js +1 -1
  286. package/dist/sap/base/security/URLListValidator.js +9 -5
  287. package/dist/sap/base/security/encodeCSS.js +1 -1
  288. package/dist/sap/base/security/encodeXML.js +1 -1
  289. package/dist/sap/base/security/sanitizeHTML.js +1 -1
  290. package/dist/sap/base/strings/toHex.js +1 -1
  291. package/dist/sap/base/util/now.js +7 -13
  292. package/dist/sap/base/util/uid.js +1 -1
  293. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +15 -3
  294. package/dist/theming/applyTheme.js +14 -4
  295. package/dist/theming/applyTheme.js.map +1 -1
  296. package/dist/theming/componentStyles.d.ts +3 -0
  297. package/dist/theming/componentStyles.js +15 -0
  298. package/dist/theming/componentStyles.js.map +1 -0
  299. package/dist/thirdparty/preact/preact.module.js +1 -1
  300. package/dist/types.d.ts +3 -0
  301. package/dist/types.js.map +1 -1
  302. package/dist/updateShadowRoot.js +2 -1
  303. package/dist/updateShadowRoot.js.map +1 -1
  304. package/dist/util/SelectionAssistant.js.map +1 -1
  305. package/dist/util/createInstanceChecker.d.ts +2 -0
  306. package/dist/util/createInstanceChecker.js +8 -0
  307. package/dist/util/createInstanceChecker.js.map +1 -0
  308. package/dist/util/createMultiInstanceChecker.d.ts +2 -0
  309. package/dist/util/createMultiInstanceChecker.js +19 -0
  310. package/dist/util/createMultiInstanceChecker.js.map +1 -0
  311. package/dist/util/dragAndDrop/DragRegistry.d.ts +1 -1
  312. package/dist/util/dragAndDrop/DragRegistry.js +5 -1
  313. package/dist/util/dragAndDrop/DragRegistry.js.map +1 -1
  314. package/dist/util/generateHighlightedMarkupFirstMatch.d.ts +10 -0
  315. package/dist/util/generateHighlightedMarkupFirstMatch.js +36 -0
  316. package/dist/util/generateHighlightedMarkupFirstMatch.js.map +1 -0
  317. package/dist/util/getClassCopy.d.ts +2 -1
  318. package/dist/validateThemeRoot.js +18 -11
  319. package/dist/validateThemeRoot.js.map +1 -1
  320. package/dist/vscode.html-custom-data.json +1 -1
  321. package/package-scripts.cjs +6 -6
  322. package/package.json +17 -10
  323. package/src/css/OpenUI5PopupStyles.css +5 -0
  324. package/src/css/SystemCSSVars.css +28 -3
  325. package/src/i18n/messagebundle_ar.properties +2 -0
  326. package/src/i18n/messagebundle_bg.properties +2 -0
  327. package/src/i18n/messagebundle_ca.properties +2 -0
  328. package/src/i18n/messagebundle_cnr.properties +2 -0
  329. package/src/i18n/messagebundle_cs.properties +2 -0
  330. package/src/i18n/messagebundle_cy.properties +2 -0
  331. package/src/i18n/messagebundle_da.properties +2 -0
  332. package/src/i18n/messagebundle_de.properties +2 -0
  333. package/src/i18n/messagebundle_el.properties +2 -0
  334. package/src/i18n/messagebundle_en_GB.properties +2 -0
  335. package/src/i18n/messagebundle_es.properties +2 -0
  336. package/src/i18n/messagebundle_es_MX.properties +2 -0
  337. package/src/i18n/messagebundle_et.properties +2 -0
  338. package/src/i18n/messagebundle_fi.properties +2 -0
  339. package/src/i18n/messagebundle_fr.properties +2 -0
  340. package/src/i18n/messagebundle_fr_CA.properties +2 -0
  341. package/src/i18n/messagebundle_hi.properties +2 -0
  342. package/src/i18n/messagebundle_hr.properties +2 -0
  343. package/src/i18n/messagebundle_hu.properties +2 -0
  344. package/src/i18n/messagebundle_id.properties +2 -0
  345. package/src/i18n/messagebundle_it.properties +2 -0
  346. package/src/i18n/messagebundle_iw.properties +2 -0
  347. package/src/i18n/messagebundle_ja.properties +2 -0
  348. package/src/i18n/messagebundle_kk.properties +2 -0
  349. package/src/i18n/messagebundle_ko.properties +2 -0
  350. package/src/i18n/messagebundle_lt.properties +2 -0
  351. package/src/i18n/messagebundle_lv.properties +2 -0
  352. package/src/i18n/messagebundle_mk.properties +2 -0
  353. package/src/i18n/messagebundle_ms.properties +2 -0
  354. package/src/i18n/messagebundle_nl.properties +2 -0
  355. package/src/i18n/messagebundle_no.properties +2 -0
  356. package/src/i18n/messagebundle_pl.properties +2 -0
  357. package/src/i18n/messagebundle_pt.properties +2 -0
  358. package/src/i18n/messagebundle_pt_PT.properties +2 -0
  359. package/src/i18n/messagebundle_ro.properties +2 -0
  360. package/src/i18n/messagebundle_ru.properties +2 -0
  361. package/src/i18n/messagebundle_sh.properties +2 -0
  362. package/src/i18n/messagebundle_sk.properties +2 -0
  363. package/src/i18n/messagebundle_sl.properties +2 -0
  364. package/src/i18n/messagebundle_sr.properties +2 -0
  365. package/src/i18n/messagebundle_sv.properties +2 -0
  366. package/src/i18n/messagebundle_th.properties +2 -0
  367. package/src/i18n/messagebundle_tr.properties +2 -0
  368. package/src/i18n/messagebundle_uk.properties +2 -0
  369. package/src/i18n/messagebundle_vi.properties +2 -0
  370. package/src/i18n/messagebundle_zh_CN.properties +2 -0
  371. package/src/i18n/messagebundle_zh_TW.properties +2 -0
  372. package/src/react18/createReactComponent.tsx +140 -0
  373. package/src/thirdparty/preact/preact.module.js +1 -1
@@ -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 {\n\tpatchPopup,\n\taddOpenedPopup,\n\tremoveOpenedPopup,\n\tgetTopmostPopup,\n} from \"./patchPopup.js\";\nimport type { OpenUI5Popup, OpenUI5PopupBasedControl, 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/m/Popover\", \"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: OpenUI5Popup, Dialog: OpenUI5PopupBasedControl, Popover: OpenUI5PopupBasedControl, Patcher: OpenUI5Patcher) => {\n\t\t\t\t\t\t\tpatchPatcher(Patcher);\n\t\t\t\t\t\t\tpatchPopup(Popup, Dialog, Popover);\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: 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\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"]}
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\";\nimport { secondaryBoot } from \"../Boot.js\";\n\ntype OpenUI5Core = {\n\tattachInit: (callback: () => void) => void,\n\tready: () => Promise<void>,\n\tattachThemeChanged: (callback: () => void) => void,\n\tgetConfiguration: () => OpenUI5CoreConfiguration,\n};\n\ntype OpenUI5CoreConfiguration = {\n\tgetAnimationMode: () => string,\n\tgetLanguage: () => string,\n\tgetTheme: () => string,\n\tgetThemeRoot: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n\tgetCalendarType: () => string,\n\tgetLocale: () => string,\n\tgetFormatSettings: () => {\n\t\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing;\n\t}\n};\n\ntype ControlBehavior = {\n\tgetAnimationMode: () => string,\n}\n\ntype Localization = {\n\tgetLanguage: () => string,\n\tgetLanguageTag: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n}\n\ntype LocaleData = {\n\tgetInstance: (locale: string) => Locale,\n}\n\ntype Theming = {\n\tgetThemeRoot: () => string,\n\tgetTheme: () => string,\n\tattachApplied: (callback: () => void) => void,\n}\n\ntype Formatting = {\n\tgetCalendarType: () => string,\n\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing,\n\tgetCustomIslamicCalendarData?: () => LegacyDateCalendarCustomizing,\n}\n\ntype CalendarUtils = {\n\tgetWeekConfigurationValues: () => {\n\t\tfirstDayOfWeek: number | undefined,\n\t},\n}\n\ntype Locale = {\n\tgetFirstDayOfWeek: () => number,\n\t_get: () => CLDRData,\n};\n\nconst OPENUI5_POLLING_INTERVAL = 100;\n\nclass OpenUI5Support {\n\tstatic enablePolling = false; // set to true for old OpenUI5 versions\n\n\tstatic isAtLeastVersion(minor: number) {\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]) >= minor;\n\t}\n\n\tstatic isOpenUI5Detected() {\n\t\treturn typeof window.sap?.ui?.require === \"function\";\n\t}\n\n\tstatic initPromise?: Promise<void>;\n\n\t/**\n\t * Important - if OpenUI5 is loaded after UI5 Web Components, configuration is not synchronized and it's up to the app to initialize OpenUI5 with the same settings as UI5 Web Components for consistency.\n\t */\n\tstatic OpenUI5DelayedInit = async () => {\n\t\tOpenUI5Support.init(); // This ensures patchPopover and patchPatcher are called; and from this point OpenUI5 CSS vars start being detected\n\t\tawait secondaryBoot(); // Re-run the parts of boot that were skipped due to OpenUI5 not having been loaded\n\t}\n\n\tstatic awaitForOpenUI5() {\n\t\tif (OpenUI5Support.enablePolling) {\n\t\t\tconst interval = setInterval(() => {\n\t\t\t\tif (OpenUI5Support.isOpenUI5Detected()) {\n\t\t\t\t\tclearInterval(interval);\n\t\t\t\t\tOpenUI5Support.OpenUI5DelayedInit();\n\t\t\t\t}\n\t\t\t}, OPENUI5_POLLING_INTERVAL);\n\t\t} else {\n\t\t\tdocument.addEventListener(\"sap-ui-core-ready\", () => {\n\t\t\t\tOpenUI5Support.OpenUI5DelayedInit();\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic init() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn OpenUI5Support.awaitForOpenUI5();\n\t\t}\n\n\t\tif (!OpenUI5Support.initPromise) {\n\t\t\tOpenUI5Support.initPromise = new Promise<void>(resolve => {\n\t\t\t\twindow.sap.ui.require([\"sap/ui/core/Core\"], async (Core: OpenUI5Core) => {\n\t\t\t\t\tconst callback = () => {\n\t\t\t\t\t\tlet deps: Array<string> = [\"sap/ui/core/Popup\", \"sap/m/Dialog\", \"sap/ui/core/Patcher\", \"sap/ui/core/LocaleData\"];\n\t\t\t\t\t\tif (OpenUI5Support.isAtLeastVersion(116)) { // 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.isAtLeastVersion(116)) {\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.isAtLeastVersion(116)) {\n\t\t\tconst ControlBehavior = window.sap.ui.require(\"sap/ui/core/ControlBehavior\") as ControlBehavior;\n\t\t\tconst Localization = window.sap.ui.require(\"sap/base/i18n/Localization\") as Localization;\n\t\t\tconst Theming = window.sap.ui.require(\"sap/ui/core/Theming\") as Theming;\n\t\t\tconst Formatting = window.sap.ui.require(\"sap/base/i18n/Formatting\") as Formatting;\n\t\t\tconst CalendarUtils = window.sap.ui.require(\"sap/ui/core/date/CalendarUtils\") as CalendarUtils;\n\n\t\t\treturn {\n\t\t\t\tanimationMode: ControlBehavior.getAnimationMode(),\n\t\t\t\tlanguage: Localization.getLanguage(),\n\t\t\t\ttheme: Theming.getTheme(),\n\t\t\t\tthemeRoot: Theming.getThemeRoot(),\n\t\t\t\trtl: Localization.getRTL(),\n\t\t\t\ttimezone: Localization.getTimezone(),\n\t\t\t\tcalendarType: Formatting.getCalendarType(),\n\t\t\t\tformatSettings: {\n\t\t\t\t\tfirstDayOfWeek: CalendarUtils.getWeekConfigurationValues().firstDayOfWeek,\n\t\t\t\t\tlegacyDateCalendarCustomizing: Formatting.getCustomIslamicCalendarData?.()\n\t\t\t\t\t\t?? Formatting.getLegacyDateCalendarCustomizing?.(),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\tconst config = Core.getConfiguration();\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\n\t\treturn {\n\t\t\tanimationMode: config.getAnimationMode(),\n\t\t\tlanguage: config.getLanguage(),\n\t\t\ttheme: config.getTheme(),\n\t\t\tthemeRoot: typeof config.getThemeRoot === \"function\" ? config.getThemeRoot() : undefined,\n\t\t\trtl: config.getRTL(),\n\t\t\ttimezone: typeof config.getTimezone === \"function\" ? config.getTimezone() : undefined,\n\t\t\tcalendarType: config.getCalendarType(),\n\t\t\tformatSettings: {\n\t\t\t\tfirstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,\n\t\t\t\tlegacyDateCalendarCustomizing: config.getFormatSettings().getLegacyDateCalendarCustomizing(),\n\t\t\t},\n\t\t};\n\t}\n\n\tstatic getLocaleDataObject() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\n\t\tif (OpenUI5Support.isAtLeastVersion(116)) {\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.isAtLeastVersion(116)) {\n\t\t\tconst Theming: Theming = window.sap.ui.require(\"sap/ui/core/Theming\");\n\t\t\tTheming.attachApplied(() => {\n\t\t\t\tsetTheme(Theming.getTheme());\n\t\t\t});\n\t\t} else {\n\t\t\tconst Core = window.sap.ui.require(\"sap/ui/core/Core\") as OpenUI5Core;\n\t\t\tconst config = Core.getConfiguration();\n\t\t\tCore.attachThemeChanged(() => {\n\t\t\t\tsetTheme(config.getTheme());\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic attachListeners() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tOpenUI5Support._listenForThemeChange();\n\t\treturn true;\n\t}\n\n\tstatic cssVariablesLoaded() {\n\t\tif (!OpenUI5Support.isOpenUI5Detected()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst link = [...document.head.children].find(el => el.id === \"sap-ui-theme-sap.ui.core\") as HTMLLinkElement; // more reliable than querySelector early\n\t\tif (!link) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// The file name is \"css_variables.css\" until 1.127 and \"library.css\" from 1.127 onwards\n\t\tif (OpenUI5Support.isAtLeastVersion(127)) {\n\t\t\treturn !!link.href.match(/\\/css(-|_)variables\\.css/) || !!link.href.match(/\\/library\\.css/);\n\t\t}\n\n\t\treturn !!link.href.match(/\\/css(-|_)variables\\.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"]}
@@ -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,CAAC;YAC/B,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,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"]}
@@ -2,27 +2,32 @@ type Control = {
2
2
  getDomRef: () => HTMLElement | null;
3
3
  };
4
4
  type OpenUI5Popup = {
5
- prototype: {
6
- open: (...args: any[]) => void;
7
- _closed: (...args: any[]) => void;
8
- getOpenState: () => "CLOSED" | "CLOSING" | "OPEN" | "OPENING";
9
- getContent: () => Control | HTMLElement | null;
10
- onFocusEvent: (...args: any[]) => void;
11
- };
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;
12
14
  };
13
- type OpenUI5PopupBasedControl = {
15
+ type OpenUI5DialogClass = {
14
16
  prototype: {
15
17
  onsapescape: (...args: any[]) => void;
16
18
  oPopup: OpenUI5Popup;
17
19
  };
18
20
  };
19
21
  type PopupInfo = {
20
- type: "OpenUI5" | "WebComponent";
22
+ type: "WebComponent";
21
23
  instance: object;
24
+ } | {
25
+ type: "OpenUI5";
26
+ instance: OpenUI5Popup;
22
27
  };
23
28
  declare const addOpenedPopup: (popupInfo: PopupInfo) => void;
24
29
  declare const removeOpenedPopup: (popup: object) => void;
25
- declare const getTopmostPopup: () => object;
26
- declare const patchPopup: (Popup: OpenUI5Popup, Dialog: OpenUI5PopupBasedControl, Popover: OpenUI5PopupBasedControl) => void;
30
+ declare const getTopmostPopup: () => object | null;
31
+ declare const patchPopup: (Popup: OpenUI5PopupClass, Dialog: OpenUI5DialogClass) => void;
27
32
  export { patchPopup, addOpenedPopup, removeOpenedPopup, getTopmostPopup, };
28
- export type { OpenUI5Popup, OpenUI5PopupBasedControl, PopupInfo };
33
+ export type { OpenUI5PopupClass, OpenUI5DialogClass, PopupInfo };
@@ -1,6 +1,19 @@
1
1
  // OpenUI5's Control.js subset
2
2
  import getSharedResource from "../getSharedResource.js";
3
3
  import insertOpenUI5PopupStyles from "./insertOpenUI5PopupStyles.js";
4
+ import VersionInfo from "../generated/VersionInfo.js";
5
+ import { compareVersions } from "../Runtimes.js";
6
+ const PatchedFunctions = getSharedResource("PatchedFunctions", {});
7
+ const shouldRepatch = (key) => {
8
+ const existing = PatchedFunctions[key];
9
+ if (!existing) {
10
+ return true;
11
+ }
12
+ if (!existing.version) {
13
+ return true;
14
+ }
15
+ return compareVersions(VersionInfo, existing.version) > 0;
16
+ };
4
17
  // contains all OpenUI5 and Web Component popups that are currently opened
5
18
  const AllOpenedPopupsRegistry = getSharedResource("AllOpenedPopupsRegistry", { openedRegistry: [] });
6
19
  const addOpenedPopup = (popupInfo) => {
@@ -8,11 +21,17 @@ const addOpenedPopup = (popupInfo) => {
8
21
  };
9
22
  const removeOpenedPopup = (popup) => {
10
23
  const index = AllOpenedPopupsRegistry.openedRegistry.findIndex(el => el.instance === popup);
24
+ if (index === AllOpenedPopupsRegistry.openedRegistry.length - 1) {
25
+ fixTopmostOpenUI5Popup();
26
+ }
11
27
  if (index > -1) {
12
28
  AllOpenedPopupsRegistry.openedRegistry.splice(index, 1);
13
29
  }
14
30
  };
15
31
  const getTopmostPopup = () => {
32
+ if (AllOpenedPopupsRegistry.openedRegistry.length === 0) {
33
+ return null;
34
+ }
16
35
  return AllOpenedPopupsRegistry.openedRegistry[AllOpenedPopupsRegistry.openedRegistry.length - 1].instance;
17
36
  };
18
37
  /**
@@ -33,15 +52,67 @@ const hasWebComponentPopupAbove = (popup) => {
33
52
  }
34
53
  return false;
35
54
  };
36
- const openNativePopover = (domRef) => {
55
+ const getPopupContentElement = (popup) => {
56
+ const content = popup.getContent();
57
+ return content instanceof HTMLElement ? content : content?.getDomRef() || null;
58
+ };
59
+ const openNativePopoverForOpenUI5 = (popup) => {
60
+ const openingInitiated = ["OPENING", "OPEN"].includes(popup.getOpenState());
61
+ if (!openingInitiated || !isNativePopoverOpen()) {
62
+ return;
63
+ }
64
+ const domRef = getPopupContentElement(popup);
65
+ if (!domRef) {
66
+ return;
67
+ }
68
+ const openUI5BlockLayer = document.getElementById("sap-ui-blocklayer-popup");
69
+ if (popup.getModal() && openUI5BlockLayer) {
70
+ openUI5BlockLayer.setAttribute("popover", "manual");
71
+ openUI5BlockLayer.hidePopover();
72
+ openUI5BlockLayer.showPopover();
73
+ }
37
74
  domRef.setAttribute("popover", "manual");
38
75
  domRef.showPopover();
39
76
  };
40
- const closeNativePopover = (domRef) => {
77
+ const closeNativePopoverForOpenUI5 = (popup) => {
78
+ const domRef = getPopupContentElement(popup);
79
+ if (!domRef) {
80
+ return;
81
+ }
41
82
  if (domRef.hasAttribute("popover")) {
42
83
  domRef.hidePopover();
43
84
  domRef.removeAttribute("popover");
44
85
  }
86
+ if (getTopmostPopup() !== popup) {
87
+ return;
88
+ }
89
+ // The OpenUI5 block layer is only one for all modal OpenUI5 popups,
90
+ // and it is displayed above all opened pupups - OpenUI5 and Web Components,
91
+ // as a result, we need to hide this block layer.
92
+ // If the underlying popup is a Web Component - it is displayed like a native popover, and we don't need to do anything
93
+ // If the underlying popup is an OpenUI5 popup, it will be fixed in fixTopmostOpenUI5Popup method.
94
+ if (popup.getModal()) {
95
+ const openUI5BlockLayer = document.getElementById("sap-ui-blocklayer-popup");
96
+ if (openUI5BlockLayer && openUI5BlockLayer.hasAttribute("popover")) {
97
+ openUI5BlockLayer.hidePopover();
98
+ }
99
+ }
100
+ };
101
+ const fixTopmostOpenUI5Popup = () => {
102
+ if (!isNativePopoverOpen()) {
103
+ return;
104
+ }
105
+ const prevPopup = AllOpenedPopupsRegistry.openedRegistry[AllOpenedPopupsRegistry.openedRegistry.length - 2];
106
+ if (!prevPopup
107
+ || prevPopup.type !== "OpenUI5"
108
+ || !prevPopup.instance.getModal()) {
109
+ return;
110
+ }
111
+ const content = getPopupContentElement(prevPopup.instance);
112
+ const openUI5BlockLayer = document.getElementById("sap-ui-blocklayer-popup");
113
+ content?.hidePopover();
114
+ openUI5BlockLayer?.showPopover();
115
+ content?.showPopover();
45
116
  };
46
117
  const isNativePopoverOpen = (root = document) => {
47
118
  if (root.querySelector(":popover-open")) {
@@ -52,9 +123,13 @@ const isNativePopoverOpen = (root = document) => {
52
123
  return shadowRoot && isNativePopoverOpen(shadowRoot);
53
124
  });
54
125
  };
55
- const patchPopupBasedControl = (PopupBasedControl) => {
56
- const origOnsapescape = PopupBasedControl.prototype.onsapescape;
57
- PopupBasedControl.prototype.onsapescape = function onsapescape(...args) {
126
+ const patchDialog = (Dialog) => {
127
+ const key = "Dialog.prototype.onsapescape";
128
+ if (shouldRepatch(key)) {
129
+ PatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Dialog.prototype.onsapescape };
130
+ }
131
+ const origOnsapescape = PatchedFunctions[key].originalFn;
132
+ Dialog.prototype.onsapescape = function onsapescape(...args) {
58
133
  if (hasWebComponentPopupAbove(this.oPopup)) {
59
134
  return;
60
135
  }
@@ -62,20 +137,14 @@ const patchPopupBasedControl = (PopupBasedControl) => {
62
137
  };
63
138
  };
64
139
  const patchOpen = (Popup) => {
65
- const origOpen = Popup.prototype.open;
140
+ const key = "Popup.prototype.open";
141
+ if (shouldRepatch(key)) {
142
+ PatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype.open };
143
+ }
144
+ const origOpen = PatchedFunctions[key].originalFn;
66
145
  Popup.prototype.open = function open(...args) {
67
146
  origOpen.apply(this, args); // call open first to initiate opening
68
- const topLayerAlreadyInUse = isNativePopoverOpen();
69
- const openingInitiated = ["OPENING", "OPEN"].includes(this.getOpenState());
70
- if (openingInitiated && topLayerAlreadyInUse) {
71
- const element = this.getContent();
72
- if (element) {
73
- const domRef = element instanceof HTMLElement ? element : element?.getDomRef();
74
- if (domRef) {
75
- openNativePopover(domRef);
76
- }
77
- }
78
- }
147
+ openNativePopoverForOpenUI5(this);
79
148
  addOpenedPopup({
80
149
  type: "OpenUI5",
81
150
  instance: this,
@@ -83,19 +152,23 @@ const patchOpen = (Popup) => {
83
152
  };
84
153
  };
85
154
  const patchClosed = (Popup) => {
86
- const _origClosed = Popup.prototype._closed;
155
+ const key = "Popup.prototype._closed";
156
+ if (shouldRepatch(key)) {
157
+ PatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype._closed };
158
+ }
159
+ const _origClosed = PatchedFunctions[key].originalFn;
87
160
  Popup.prototype._closed = function _closed(...args) {
88
- const element = this.getContent();
89
- const domRef = element instanceof HTMLElement ? element : element?.getDomRef();
161
+ closeNativePopoverForOpenUI5(this);
90
162
  _origClosed.apply(this, args); // only then call _close
91
- if (domRef) {
92
- closeNativePopover(domRef); // unset the popover attribute and close the native popover, but only if still in DOM
93
- }
94
163
  removeOpenedPopup(this);
95
164
  };
96
165
  };
97
166
  const patchFocusEvent = (Popup) => {
98
- const origFocusEvent = Popup.prototype.onFocusEvent;
167
+ const key = "Popup.prototype.onFocusEvent";
168
+ if (shouldRepatch(key)) {
169
+ PatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype.onFocusEvent };
170
+ }
171
+ const origFocusEvent = PatchedFunctions[key].originalFn;
99
172
  Popup.prototype.onFocusEvent = function onFocusEvent(...args) {
100
173
  if (!hasWebComponentPopupAbove(this)) {
101
174
  origFocusEvent.apply(this, args);
@@ -107,14 +180,13 @@ const createGlobalStyles = () => {
107
180
  stylesheet.replaceSync(`.sapMPopup-CTX:popover-open { inset: unset; }`);
108
181
  document.adoptedStyleSheets = [...document.adoptedStyleSheets, stylesheet];
109
182
  };
110
- const patchPopup = (Popup, Dialog, Popover) => {
183
+ const patchPopup = (Popup, Dialog) => {
111
184
  insertOpenUI5PopupStyles();
112
185
  patchOpen(Popup); // Popup.prototype.open
113
186
  patchClosed(Popup); // Popup.prototype._closed
114
187
  createGlobalStyles(); // Ensures correct popover positioning by OpenUI5 (otherwise 0,0 is the center of the screen)
115
188
  patchFocusEvent(Popup); // Popup.prototype.onFocusEvent
116
- patchPopupBasedControl(Dialog); // Dialog.prototype.onsapescape
117
- patchPopupBasedControl(Popover); // Popover.prototype.onsapescape
189
+ patchDialog(Dialog); // Dialog.prototype.onsapescape
118
190
  };
119
191
  export { patchPopup, addOpenedPopup, removeOpenedPopup, getTopmostPopup, };
120
192
  //# sourceMappingURL=patchPopup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"patchPopup.js","sourceRoot":"","sources":["../../src/features/patchPopup.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AA6BrE,0EAA0E;AAC1E,MAAM,uBAAuB,GAAG,iBAAiB,CAAuC,yBAAyB,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;AAE3I,MAAM,cAAc,GAAG,CAAC,SAAoB,EAAE,EAAE;IAC/C,uBAAuB,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE;IAC3C,MAAM,KAAK,GAAG,uBAAuB,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;IAC5F,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;QAChB,uBAAuB,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,GAAG,EAAE;IAC5B,OAAO,uBAAuB,CAAC,cAAc,CAAC,uBAAuB,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC3G,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,yBAAyB,GAAG,CAAC,KAAa,EAAE,EAAE;IACnD,KAAK,IAAI,CAAC,GAAG,uBAAuB,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7E,MAAM,SAAS,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAClC,MAAM;QACP,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,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,CAAC;QACpC,MAAM,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,OAA8B,QAAQ,EAAW,EAAE;IAC/E,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,OAAO,UAAU,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,iBAA2C,EAAE,EAAE;IAC9E,MAAM,eAAe,GAAG,iBAAiB,CAAC,SAAS,CAAC,WAAW,CAAC;IAChE,iBAAiB,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,WAAW,CAAC,GAAG,IAAW;QAC5E,IAAI,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,OAAO;QACR,CAAC;QAED,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC;AACH,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,mBAAmB,EAAE,CAAC;QACnD,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3E,IAAI,gBAAgB,IAAI,oBAAoB,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,OAAO,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,OAAO,YAAY,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;gBAC/E,IAAI,MAAM,EAAE,CAAC;oBACZ,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC3B,CAAC;YACF,CAAC;QACF,CAAC;QAED,cAAc,CAAC;YACd,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;SACd,CAAC,CAAC;IACJ,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,YAAY,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;QAC/E,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,wBAAwB;QACvD,IAAI,MAAM,EAAE,CAAC;YACZ,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,qFAAqF;QAClH,CAAC;QAED,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAmB,EAAE,EAAE;IAC/C,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IACpD,KAAK,CAAC,SAAS,CAAC,YAAY,GAAG,SAAS,YAAY,CAAC,GAAG,IAAW;QAClE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;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,MAAgC,EAAE,OAAiC,EAAE,EAAE;IAC/G,wBAAwB,EAAE,CAAC;IAC3B,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB;IACzC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,0BAA0B;IAC9C,kBAAkB,EAAE,CAAC,CAAC,6FAA6F;IACnH,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA,+BAA+B;IACtD,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,+BAA+B;IAC/D,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAgC;AAClE,CAAC,CAAC;AAEF,OAAO,EACN,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,eAAe,GACf,CAAC","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\tprototype: {\n\t\topen: (...args: any[]) => void,\n\t\t_closed: (...args: any[]) => void,\n\t\tgetOpenState: () => \"CLOSED\" | \"CLOSING\" | \"OPEN\" | \"OPENING\",\n\t\tgetContent: () => Control | HTMLElement | null, // this is the OpenUI5 Element/Control instance that opens the Popup (usually sap.m.Popover/sap.m.Dialog)\n\t\tonFocusEvent: (...args: any[]) => void,\n\t}\n};\n\ntype OpenUI5PopupBasedControl = {\n\tprototype: {\n\t\tonsapescape: (...args: any[]) => void,\n\t\toPopup: OpenUI5Popup,\n\t}\n};\n\ntype PopupInfo = {\n\ttype: \"OpenUI5\" | \"WebComponent\";\n\tinstance: object;\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\tif (index > -1) {\n\t\tAllOpenedPopupsRegistry.openedRegistry.splice(index, 1);\n\t}\n};\n\nconst getTopmostPopup = () => {\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 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 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 patchPopupBasedControl = (PopupBasedControl: OpenUI5PopupBasedControl) => {\n\tconst origOnsapescape = PopupBasedControl.prototype.onsapescape;\n\tPopupBasedControl.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: 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 = isNativePopoverOpen();\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 instanceof HTMLElement ? element : 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\n\t\taddOpenedPopup({\n\t\t\ttype: \"OpenUI5\",\n\t\t\tinstance: this,\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 instanceof HTMLElement ? element : 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\n\t\tremoveOpenedPopup(this);\n\t};\n};\n\nconst patchFocusEvent = (Popup: OpenUI5Popup) => {\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: OpenUI5Popup, Dialog: OpenUI5PopupBasedControl, Popover: OpenUI5PopupBasedControl) => {\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\tpatchPopupBasedControl(Dialog); // Dialog.prototype.onsapescape\n\tpatchPopupBasedControl(Popover); // Popover.prototype.onsapescape\n};\n\nexport {\n\tpatchPopup,\n\taddOpenedPopup,\n\tremoveOpenedPopup,\n\tgetTopmostPopup,\n};\n\nexport type { OpenUI5Popup, OpenUI5PopupBasedControl, PopupInfo };\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\";\nimport VersionInfo from \"../generated/VersionInfo.js\";\nimport { compareVersions } from \"../Runtimes.js\";\n\ntype PatchedFunctionRecord = {\n\tversion: VersionInfo | undefined;\n\toriginalFn: (...args: any[]) => any;\n};\n\ntype PatchedFunctionsRegistry = Record<string, PatchedFunctionRecord>;\n\nconst PatchedFunctions = getSharedResource<PatchedFunctionsRegistry>(\"PatchedFunctions\", {});\n\nconst shouldRepatch = (key: string): boolean => {\n\tconst existing = PatchedFunctions[key];\n\tif (!existing) {\n\t\treturn true;\n\t}\n\n\tif (!existing.version) {\n\t\treturn true;\n\t}\n\treturn compareVersions(VersionInfo, existing.version) > 0;\n};\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 key = \"Dialog.prototype.onsapescape\";\n\tif (shouldRepatch(key)) {\n\t\tPatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Dialog.prototype.onsapescape };\n\t}\n\tconst origOnsapescape = PatchedFunctions[key].originalFn;\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 key = \"Popup.prototype.open\";\n\tif (shouldRepatch(key)) {\n\t\tPatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype.open };\n\t}\n\tconst origOpen = PatchedFunctions[key].originalFn;\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 key = \"Popup.prototype._closed\";\n\tif (shouldRepatch(key)) {\n\t\tPatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype._closed };\n\t}\n\tconst _origClosed = PatchedFunctions[key].originalFn;\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 key = \"Popup.prototype.onFocusEvent\";\n\tif (shouldRepatch(key)) {\n\t\tPatchedFunctions[key] = { version: VersionInfo, originalFn: PatchedFunctions[key]?.originalFn ?? Popup.prototype.onFocusEvent };\n\t}\n\tconst origFocusEvent = PatchedFunctions[key].originalFn;\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"] }, "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"] } };
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_auto", "sap_horizon_dark", "sap_horizon_hc_auto", "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,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
+ {"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,kBAAkB,EAAC,qBAAqB,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;AAEzlC,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_auto\",\"sap_horizon_dark\",\"sap_horizon_hc_auto\",\"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: "0.0.0-47cc17a26",
2
+ version: "0.0.0-49bade48d",
3
3
  major: 0,
4
4
  minor: 0,
5
5
  patch: 0,
6
- suffix: "-47cc17a26",
6
+ suffix: "-49bade48d",
7
7
  isNext: true,
8
- buildTime: 1762530929,
8
+ buildTime: 1780313267,
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,iBAAiB;IAC1B,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,UAAU;CACrB,CAAC;AACF,eAAe,WAAW,CAAC","sourcesContent":["const VersionInfo = {\n\tversion: \"0.0.0-47cc17a26\",\n\tmajor: 0,\n\tminor: 0,\n\tpatch: 0,\n\tsuffix: \"-47cc17a26\",\n\tisNext: true,\n\tbuildTime: 1762530929,\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,iBAAiB;IAC1B,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,UAAU;CACrB,CAAC;AACF,eAAe,WAAW,CAAC","sourcesContent":["const VersionInfo = {\n\tversion: \"0.0.0-49bade48d\",\n\tmajor: 0,\n\tminor: 0,\n\tpatch: 0,\n\tsuffix: \"-49bade48d\",\n\tisNext: true,\n\tbuildTime: 1780313267,\n};\nexport default VersionInfo;"]}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} من البنود"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} позиции"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} elements"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} stavke/i"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} položky"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} eitem"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} elementer"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} Elemente"}
@@ -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":"{0} elementos"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} elementos"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} üksust"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} elementtiä"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} éléments"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} éléments"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} आइटम"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"Broj stavki: {0}"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} elem"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} item"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} elementi"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} פריטים"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} 項目"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} тармақ"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0}개 항목"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"Elementų: {0}"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} elementi"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} ставки"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} item"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} elementen"}
@@ -0,0 +1 @@
1
+ {"DRAG_DROP_MULTIPLE_TEXT":"{0} elementer"}