@nativescript/core 9.1.0-dev.0 → 9.1.0-next.0

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 (551) hide show
  1. package/accessibility/accessibility-common.d.ts +8 -0
  2. package/accessibility/accessibility-common.js +28 -0
  3. package/accessibility/accessibility-common.js.map +1 -1
  4. package/application/application-common.d.ts +188 -6
  5. package/application/application-common.js +402 -98
  6. package/application/application-common.js.map +1 -1
  7. package/application/application-interfaces.d.ts +59 -1
  8. package/application/application.android.d.ts +38 -1
  9. package/application/application.android.js +195 -12
  10. package/application/application.android.js.map +1 -1
  11. package/application/application.d.ts +121 -75
  12. package/application/application.ios.d.ts +106 -28
  13. package/application/application.ios.js +619 -343
  14. package/application/application.ios.js.map +1 -1
  15. package/application/helpers-common.d.ts +5 -0
  16. package/application/helpers-common.js +23 -1
  17. package/application/helpers-common.js.map +1 -1
  18. package/application/scene-delegate-bridge.d.ts +55 -0
  19. package/application/scene-delegate-bridge.js +122 -0
  20. package/application/scene-delegate-bridge.js.map +1 -0
  21. package/color/index.d.ts +0 -5
  22. package/config/config.interface.d.ts +44 -2
  23. package/core-types/index.d.ts +9 -2
  24. package/core-types/index.js +7 -0
  25. package/core-types/index.js.map +1 -1
  26. package/css/CSS3Parser.js +3 -2
  27. package/css/CSS3Parser.js.map +1 -1
  28. package/css/system-classes.d.ts +9 -0
  29. package/css/system-classes.js +23 -0
  30. package/css/system-classes.js.map +1 -1
  31. package/data/observable/index.d.ts +5 -0
  32. package/data/observable/index.js +46 -9
  33. package/data/observable/index.js.map +1 -1
  34. package/debugger/dom-types.js +31 -1
  35. package/debugger/dom-types.js.map +1 -1
  36. package/fetch/index.mjs +2 -2
  37. package/file-system/file-system-access.ios.js +18 -10
  38. package/file-system/file-system-access.ios.js.map +1 -1
  39. package/file-system/index.d.ts +3 -3
  40. package/global-types.d.ts +39 -34
  41. package/globals/global-utils.d.ts +6 -1
  42. package/globals/global-utils.js +10 -5
  43. package/globals/global-utils.js.map +1 -1
  44. package/globals/index.js +18 -5
  45. package/globals/index.js.map +1 -1
  46. package/globals/polyfills/utils.js +2 -0
  47. package/globals/polyfills/utils.js.map +1 -1
  48. package/http/http-request/index.android.js.map +1 -1
  49. package/http/http-request/index.ios.js.map +1 -1
  50. package/http/http-request-internal/index.android.d.ts +7 -1
  51. package/http/http-request-internal/index.android.js.map +1 -1
  52. package/http/http-request-internal/index.ios.d.ts +7 -1
  53. package/http/http-request-internal/index.ios.js.map +1 -1
  54. package/image-source/index.android.d.ts +0 -1
  55. package/image-source/index.android.js.map +1 -1
  56. package/image-source/index.d.ts +0 -5
  57. package/image-source/index.ios.d.ts +0 -1
  58. package/image-source/index.ios.js.map +1 -1
  59. package/index.d.ts +2 -0
  60. package/index.js +1 -0
  61. package/index.js.map +1 -1
  62. package/inspector_modules.js +1 -1
  63. package/inspector_modules.js.map +1 -1
  64. package/native-window/index.d.ts +426 -0
  65. package/native-window/index.js +4 -0
  66. package/native-window/index.js.map +1 -0
  67. package/native-window/native-window-common.d.ts +153 -0
  68. package/native-window/native-window-common.js +340 -0
  69. package/native-window/native-window-common.js.map +1 -0
  70. package/native-window/native-window-interfaces.d.ts +186 -0
  71. package/native-window/native-window-interfaces.js +90 -0
  72. package/native-window/native-window-interfaces.js.map +1 -0
  73. package/native-window/native-window.android.d.ts +59 -0
  74. package/native-window/native-window.android.js +175 -0
  75. package/native-window/native-window.android.js.map +1 -0
  76. package/native-window/native-window.ios.d.ts +57 -0
  77. package/native-window/native-window.ios.js +208 -0
  78. package/native-window/native-window.ios.js.map +1 -0
  79. package/native-window/window-base.d.ts +103 -0
  80. package/native-window/window-base.js +78 -0
  81. package/native-window/window-base.js.map +1 -0
  82. package/package.json +4 -6
  83. package/platform/common.d.ts +0 -2
  84. package/platform/common.js +0 -2
  85. package/platform/common.js.map +1 -1
  86. package/platforms/android/widgets-release.aar +0 -0
  87. package/platforms/ios/TNSWidgets.xcframework/Info.plist +14 -14
  88. package/platforms/ios/TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/Info.plist +0 -0
  89. package/platforms/ios/TNSWidgets.xcframework/ios-arm64/TNSWidgets.framework/TNSWidgets +0 -0
  90. package/platforms/ios/TNSWidgets.xcframework/ios-arm64/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets +0 -0
  91. package/platforms/ios/TNSWidgets.xcframework/ios-arm64/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/Relocations/aarch64/TNSWidgets.yml +78 -78
  92. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Resources/Info.plist +7 -7
  93. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/Resources/Info.plist +7 -7
  94. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/A/TNSWidgets +0 -0
  95. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current/Resources/Info.plist +7 -7
  96. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/TNSWidgets.framework/Versions/Current/TNSWidgets +0 -0
  97. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets +0 -0
  98. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/Relocations/aarch64/TNSWidgets.yml +78 -78
  99. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-maccatalyst/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/Relocations/x86_64/TNSWidgets.yml +78 -78
  100. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/Info.plist +0 -0
  101. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/TNSWidgets +0 -0
  102. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/TNSWidgets.framework/_CodeSignature/CodeResources +1 -1
  103. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets +0 -0
  104. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/Relocations/aarch64/TNSWidgets.yml +78 -78
  105. package/platforms/ios/TNSWidgets.xcframework/ios-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/Relocations/x86_64/TNSWidgets.yml +78 -78
  106. package/platforms/ios/TNSWidgets.xcframework/xros-arm64/TNSWidgets.framework/Info.plist +0 -0
  107. package/platforms/ios/TNSWidgets.xcframework/xros-arm64/TNSWidgets.framework/TNSWidgets +0 -0
  108. package/platforms/ios/TNSWidgets.xcframework/xros-arm64/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets +0 -0
  109. package/platforms/ios/TNSWidgets.xcframework/xros-arm64/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/Relocations/aarch64/TNSWidgets.yml +78 -78
  110. package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/Info.plist +0 -0
  111. package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/TNSWidgets +0 -0
  112. package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/TNSWidgets.framework/_CodeSignature/CodeResources +1 -1
  113. package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/DWARF/TNSWidgets +0 -0
  114. package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/Relocations/aarch64/TNSWidgets.yml +78 -78
  115. package/platforms/ios/TNSWidgets.xcframework/xros-arm64_x86_64-simulator/dSYMs/TNSWidgets.framework.dSYM/Contents/Resources/Relocations/x86_64/TNSWidgets.yml +78 -78
  116. package/platforms/ios/src/NativeScriptMainWindow.swift +72 -39
  117. package/references.d.ts +0 -4
  118. package/trace/index.d.ts +2 -2
  119. package/ui/action-bar/action-bar-common.js +0 -1
  120. package/ui/action-bar/action-bar-common.js.map +1 -1
  121. package/ui/action-bar/index.ios.js +0 -1
  122. package/ui/action-bar/index.ios.js.map +1 -1
  123. package/ui/animation/keyframe-animation.d.ts +1 -1
  124. package/ui/builder/index.d.ts +0 -1
  125. package/ui/builder/index.js +10 -3
  126. package/ui/builder/index.js.map +1 -1
  127. package/ui/button/index.android.d.ts +2 -9
  128. package/ui/button/index.android.js +7 -24
  129. package/ui/button/index.android.js.map +1 -1
  130. package/ui/button/index.ios.d.ts +2 -9
  131. package/ui/button/index.ios.js +17 -72
  132. package/ui/button/index.ios.js.map +1 -1
  133. package/ui/core/bindable/index.js +2 -1
  134. package/ui/core/bindable/index.js.map +1 -1
  135. package/ui/core/properties/index.d.ts +24 -1
  136. package/ui/core/properties/index.js +96 -10
  137. package/ui/core/properties/index.js.map +1 -1
  138. package/ui/core/properties/property-shared.js +11 -2
  139. package/ui/core/properties/property-shared.js.map +1 -1
  140. package/ui/core/view/index.android.d.ts +1 -0
  141. package/ui/core/view/index.android.js +42 -11
  142. package/ui/core/view/index.android.js.map +1 -1
  143. package/ui/core/view/index.d.ts +58 -1
  144. package/ui/core/view/index.ios.d.ts +1 -0
  145. package/ui/core/view/index.ios.js +28 -6
  146. package/ui/core/view/index.ios.js.map +1 -1
  147. package/ui/core/view/view-common.d.ts +37 -2
  148. package/ui/core/view/view-common.js +82 -6
  149. package/ui/core/view/view-common.js.map +1 -1
  150. package/ui/core/view/view-helper/index.d.ts +1 -0
  151. package/ui/core/view/view-helper/index.ios.d.ts +10 -0
  152. package/ui/core/view/view-helper/index.ios.js +33 -5
  153. package/ui/core/view/view-helper/index.ios.js.map +1 -1
  154. package/ui/core/view/view-helper/view-helper-common.js +21 -3
  155. package/ui/core/view/view-helper/view-helper-common.js.map +1 -1
  156. package/ui/core/view-base/index.d.ts +37 -18
  157. package/ui/core/view-base/index.js +104 -65
  158. package/ui/core/view-base/index.js.map +1 -1
  159. package/ui/frame/fragment.transitions.android.d.ts +13 -13
  160. package/ui/frame/fragment.transitions.android.js.map +1 -1
  161. package/ui/frame/frame-common.d.ts +16 -3
  162. package/ui/frame/frame-common.js +19 -7
  163. package/ui/frame/frame-common.js.map +1 -1
  164. package/ui/frame/frame-constants.d.ts +9 -0
  165. package/ui/frame/frame-constants.js +10 -0
  166. package/ui/frame/frame-constants.js.map +1 -0
  167. package/ui/frame/frame-helper-for-android.d.ts +6 -6
  168. package/ui/frame/frame-helper-for-android.js +31 -13
  169. package/ui/frame/frame-helper-for-android.js.map +1 -1
  170. package/ui/frame/frame-interfaces.d.ts +1 -1
  171. package/ui/frame/frame-stack.d.ts +17 -1
  172. package/ui/frame/frame-stack.js +32 -5
  173. package/ui/frame/frame-stack.js.map +1 -1
  174. package/ui/frame/index.android.d.ts +7 -12
  175. package/ui/frame/index.android.js +157 -97
  176. package/ui/frame/index.android.js.map +1 -1
  177. package/ui/frame/index.d.ts +27 -26
  178. package/ui/frame/index.ios.d.ts +2 -2
  179. package/ui/frame/index.ios.js.map +1 -1
  180. package/ui/image/image-common.js +1 -1
  181. package/ui/image/image-common.js.map +1 -1
  182. package/ui/image/index.android.js +13 -1
  183. package/ui/image/index.android.js.map +1 -1
  184. package/ui/label/index.ios.d.ts +2 -5
  185. package/ui/label/index.ios.js +12 -44
  186. package/ui/label/index.ios.js.map +1 -1
  187. package/ui/layouts/absolute-layout/index.ios.js +3 -0
  188. package/ui/layouts/absolute-layout/index.ios.js.map +1 -1
  189. package/ui/layouts/dock-layout/index.ios.js +3 -0
  190. package/ui/layouts/dock-layout/index.ios.js.map +1 -1
  191. package/ui/layouts/flexbox-layout/flexbox-layout-common.d.ts +9 -17
  192. package/ui/layouts/flexbox-layout/flexbox-layout-common.js +11 -64
  193. package/ui/layouts/flexbox-layout/flexbox-layout-common.js.map +1 -1
  194. package/ui/layouts/flexbox-layout/index.android.d.ts +5 -0
  195. package/ui/layouts/flexbox-layout/index.android.js +15 -0
  196. package/ui/layouts/flexbox-layout/index.android.js.map +1 -1
  197. package/ui/layouts/flexbox-layout/index.d.ts +19 -1
  198. package/ui/layouts/flexbox-layout/index.ios.d.ts +2 -0
  199. package/ui/layouts/flexbox-layout/index.ios.js +244 -193
  200. package/ui/layouts/flexbox-layout/index.ios.js.map +1 -1
  201. package/ui/layouts/grid-layout/index.ios.js +3 -0
  202. package/ui/layouts/grid-layout/index.ios.js.map +1 -1
  203. package/ui/layouts/layout-base-common.d.ts +1 -0
  204. package/ui/layouts/layout-base-common.js +21 -0
  205. package/ui/layouts/layout-base-common.js.map +1 -1
  206. package/ui/layouts/layout-base.android.d.ts +3 -10
  207. package/ui/layouts/layout-base.android.js +7 -24
  208. package/ui/layouts/layout-base.android.js.map +1 -1
  209. package/ui/layouts/layout-base.ios.js.map +1 -1
  210. package/ui/layouts/stack-layout/index.ios.js +3 -0
  211. package/ui/layouts/stack-layout/index.ios.js.map +1 -1
  212. package/ui/layouts/wrap-layout/index.ios.js +3 -0
  213. package/ui/layouts/wrap-layout/index.ios.js.map +1 -1
  214. package/ui/list-view/index.android.js +3 -2
  215. package/ui/list-view/index.android.js.map +1 -1
  216. package/ui/list-view/index.d.ts +13 -1
  217. package/ui/list-view/index.ios.d.ts +5 -3
  218. package/ui/list-view/index.ios.js +63 -27
  219. package/ui/list-view/index.ios.js.map +1 -1
  220. package/ui/list-view/list-view-common.d.ts +15 -0
  221. package/ui/list-view/list-view-common.js +19 -0
  222. package/ui/list-view/list-view-common.js.map +1 -1
  223. package/ui/page/index.android.d.ts +1 -0
  224. package/ui/page/index.android.js +4 -0
  225. package/ui/page/index.android.js.map +1 -1
  226. package/ui/page/index.d.ts +1 -1
  227. package/ui/page/index.ios.d.ts +3 -1
  228. package/ui/page/index.ios.js +23 -6
  229. package/ui/page/index.ios.js.map +1 -1
  230. package/ui/page/page-common.d.ts +5 -2
  231. package/ui/page/page-common.js.map +1 -1
  232. package/ui/repeater/index.d.ts +2 -1
  233. package/ui/repeater/index.js.map +1 -1
  234. package/ui/scroll-view/index.d.ts +11 -0
  235. package/ui/scroll-view/index.ios.d.ts +3 -1
  236. package/ui/scroll-view/index.ios.js +28 -8
  237. package/ui/scroll-view/index.ios.js.map +1 -1
  238. package/ui/scroll-view/scroll-view-common.d.ts +6 -0
  239. package/ui/scroll-view/scroll-view-common.js +8 -0
  240. package/ui/scroll-view/scroll-view-common.js.map +1 -1
  241. package/ui/segmented-bar/segmented-bar-common.d.ts +5 -1
  242. package/ui/segmented-bar/segmented-bar-common.js +6 -1
  243. package/ui/segmented-bar/segmented-bar-common.js.map +1 -1
  244. package/ui/styling/background-common.d.ts +2 -0
  245. package/ui/styling/background-common.js +9 -0
  246. package/ui/styling/background-common.js.map +1 -1
  247. package/ui/styling/background.ios.js +2 -0
  248. package/ui/styling/background.ios.js.map +1 -1
  249. package/ui/styling/css-selector.d.ts +57 -13
  250. package/ui/styling/css-selector.js +280 -51
  251. package/ui/styling/css-selector.js.map +1 -1
  252. package/ui/styling/css-utils.d.ts +16 -0
  253. package/ui/styling/css-utils.js +121 -7
  254. package/ui/styling/css-utils.js.map +1 -1
  255. package/ui/styling/font.d.ts +0 -4
  256. package/ui/styling/style/index.d.ts +12 -0
  257. package/ui/styling/style/index.js.map +1 -1
  258. package/ui/styling/style-properties.d.ts +6 -0
  259. package/ui/styling/style-properties.js +175 -106
  260. package/ui/styling/style-properties.js.map +1 -1
  261. package/ui/styling/style-scope.d.ts +15 -3
  262. package/ui/styling/style-scope.js +300 -65
  263. package/ui/styling/style-scope.js.map +1 -1
  264. package/ui/switch/index.ios.js +2 -1
  265. package/ui/switch/index.ios.js.map +1 -1
  266. package/ui/tab-view/index.android.d.ts +3 -1
  267. package/ui/tab-view/index.android.js +56 -46
  268. package/ui/tab-view/index.android.js.map +1 -1
  269. package/ui/tab-view/index.ios.d.ts +10 -1
  270. package/ui/tab-view/index.ios.js +22 -4
  271. package/ui/tab-view/index.ios.js.map +1 -1
  272. package/ui/tab-view/tab-view-common.d.ts +6 -1
  273. package/ui/tab-view/tab-view-common.js +16 -3
  274. package/ui/tab-view/tab-view-common.js.map +1 -1
  275. package/ui/text-base/index.android.d.ts +3 -10
  276. package/ui/text-base/index.android.js +15 -32
  277. package/ui/text-base/index.android.js.map +1 -1
  278. package/ui/text-base/index.ios.js +5 -3
  279. package/ui/text-base/index.ios.js.map +1 -1
  280. package/ui/text-field/index.ios.d.ts +2 -9
  281. package/ui/text-field/index.ios.js +2 -23
  282. package/ui/text-field/index.ios.js.map +1 -1
  283. package/ui/text-view/index.ios.d.ts +2 -9
  284. package/ui/text-view/index.ios.js +20 -72
  285. package/ui/text-view/index.ios.js.map +1 -1
  286. package/ui/transition/index.d.ts +2 -1
  287. package/ui/transition/modal-transition.ios.js +33 -5
  288. package/ui/transition/modal-transition.ios.js.map +1 -1
  289. package/ui/transition/page-transition.ios.d.ts +5 -0
  290. package/ui/transition/page-transition.ios.js +296 -33
  291. package/ui/transition/page-transition.ios.js.map +1 -1
  292. package/ui/transition/shared-transition-helper.android.d.ts +3 -0
  293. package/ui/transition/shared-transition-helper.android.js +9 -0
  294. package/ui/transition/shared-transition-helper.android.js.map +1 -1
  295. package/ui/transition/shared-transition-helper.d.ts +7 -0
  296. package/ui/transition/shared-transition-helper.ios.d.ts +36 -0
  297. package/ui/transition/shared-transition-helper.ios.js +765 -89
  298. package/ui/transition/shared-transition-helper.ios.js.map +1 -1
  299. package/ui/transition/shared-transition.d.ts +67 -0
  300. package/ui/transition/shared-transition.js +62 -2
  301. package/ui/transition/shared-transition.js.map +1 -1
  302. package/utils/debug-source.js +0 -3
  303. package/utils/debug-source.js.map +1 -1
  304. package/utils/layout-helper/index.ios.js +11 -3
  305. package/utils/layout-helper/index.ios.js.map +1 -1
  306. package/utils/native-helper.android.d.ts +66 -2
  307. package/utils/native-helper.android.js.map +1 -1
  308. package/utils/native-helper.d.ts +2 -2
  309. package/utils/native-helper.ios.d.ts +105 -2
  310. package/utils/native-helper.ios.js +15 -4
  311. package/utils/native-helper.ios.js.map +1 -1
  312. package/utils/native-helper.types.d.ts +2 -0
  313. package/utils/platform-check.d.ts +1 -1
  314. package/utils/platform-check.js.map +1 -1
  315. package/animation-frame/animation-native.windows.d.ts +0 -1
  316. package/animation-frame/animation-native.windows.js +0 -4
  317. package/animation-frame/animation-native.windows.js.map +0 -1
  318. package/application/application.windows.d.ts +0 -27
  319. package/application/application.windows.js +0 -331
  320. package/application/application.windows.js.map +0 -1
  321. package/application/helpers.windows.d.ts +0 -8
  322. package/application/helpers.windows.js +0 -12
  323. package/application/helpers.windows.js.map +0 -1
  324. package/application/index.windows.d.ts +0 -2
  325. package/application/index.windows.js +0 -3
  326. package/application/index.windows.js.map +0 -1
  327. package/application/window-helper.windows.d.ts +0 -29
  328. package/application/window-helper.windows.js +0 -159
  329. package/application/window-helper.windows.js.map +0 -1
  330. package/application-settings/index.windows.d.ts +0 -11
  331. package/application-settings/index.windows.js +0 -93
  332. package/application-settings/index.windows.js.map +0 -1
  333. package/color/index.windows.d.ts +0 -8
  334. package/color/index.windows.js +0 -19
  335. package/color/index.windows.js.map +0 -1
  336. package/connectivity/index.windows.d.ts +0 -11
  337. package/connectivity/index.windows.js +0 -50
  338. package/connectivity/index.windows.js.map +0 -1
  339. package/debugger/webinspector-network.windows.d.ts +0 -79
  340. package/debugger/webinspector-network.windows.js +0 -307
  341. package/debugger/webinspector-network.windows.js.map +0 -1
  342. package/file-system/file-system-access.windows.d.ts +0 -76
  343. package/file-system/file-system-access.windows.js +0 -476
  344. package/file-system/file-system-access.windows.js.map +0 -1
  345. package/fps-meter/fps-native.windows.d.ts +0 -8
  346. package/fps-meter/fps-native.windows.js +0 -40
  347. package/fps-meter/fps-native.windows.js.map +0 -1
  348. package/http/http-request/index.windows.d.ts +0 -2
  349. package/http/http-request/index.windows.js +0 -41
  350. package/http/http-request/index.windows.js.map +0 -1
  351. package/http/http-request-internal/index.windows.d.ts +0 -4
  352. package/http/http-request-internal/index.windows.js +0 -134
  353. package/http/http-request-internal/index.windows.js.map +0 -1
  354. package/image-asset/index.windows.d.ts +0 -9
  355. package/image-asset/index.windows.js +0 -34
  356. package/image-asset/index.windows.js.map +0 -1
  357. package/image-source/index.windows.d.ts +0 -52
  358. package/image-source/index.windows.js +0 -498
  359. package/image-source/index.windows.js.map +0 -1
  360. package/platform/device/index.windows.d.ts +0 -18
  361. package/platform/device/index.windows.js +0 -94
  362. package/platform/device/index.windows.js.map +0 -1
  363. package/platform/screen/index.windows.d.ts +0 -13
  364. package/platform/screen/index.windows.js +0 -25
  365. package/platform/screen/index.windows.js.map +0 -1
  366. package/platforms/windows/arm64/NativeScript.Widgets.dll +0 -0
  367. package/platforms/windows/arm64/NativeScript.Widgets.winmd +0 -0
  368. package/platforms/windows/x64/NativeScript.Widgets.dll +0 -0
  369. package/platforms/windows/x64/NativeScript.Widgets.winmd +0 -0
  370. package/plugin.props +0 -12
  371. package/plugin.targets +0 -71
  372. package/text/index.windows.d.ts +0 -9
  373. package/text/index.windows.js +0 -12
  374. package/text/index.windows.js.map +0 -1
  375. package/timer/index.windows.d.ts +0 -4
  376. package/timer/index.windows.js +0 -14
  377. package/timer/index.windows.js.map +0 -1
  378. package/ui/action-bar/index.windows.d.ts +0 -12
  379. package/ui/action-bar/index.windows.js +0 -36
  380. package/ui/action-bar/index.windows.js.map +0 -1
  381. package/ui/activity-indicator/index.windows.d.ts +0 -15
  382. package/ui/activity-indicator/index.windows.js +0 -65
  383. package/ui/activity-indicator/index.windows.js.map +0 -1
  384. package/ui/animation/index.windows.d.ts +0 -19
  385. package/ui/animation/index.windows.js +0 -603
  386. package/ui/animation/index.windows.js.map +0 -1
  387. package/ui/button/index.windows.d.ts +0 -13
  388. package/ui/button/index.windows.js +0 -73
  389. package/ui/button/index.windows.js.map +0 -1
  390. package/ui/core/control-state-change/index.windows.d.ts +0 -4
  391. package/ui/core/control-state-change/index.windows.js +0 -6
  392. package/ui/core/control-state-change/index.windows.js.map +0 -1
  393. package/ui/core/view/index.windows.d.ts +0 -120
  394. package/ui/core/view/index.windows.js +0 -2178
  395. package/ui/core/view/index.windows.js.map +0 -1
  396. package/ui/core/view/view-helper/index.windows.d.ts +0 -3
  397. package/ui/core/view/view-helper/index.windows.js +0 -4
  398. package/ui/core/view/view-helper/index.windows.js.map +0 -1
  399. package/ui/date-picker/index.windows.d.ts +0 -22
  400. package/ui/date-picker/index.windows.js +0 -97
  401. package/ui/date-picker/index.windows.js.map +0 -1
  402. package/ui/dialogs/index.windows.d.ts +0 -17
  403. package/ui/dialogs/index.windows.js +0 -471
  404. package/ui/dialogs/index.windows.js.map +0 -1
  405. package/ui/editable-text-base/index.windows.d.ts +0 -27
  406. package/ui/editable-text-base/index.windows.js +0 -165
  407. package/ui/editable-text-base/index.windows.js.map +0 -1
  408. package/ui/embedding/index.windows.d.ts +0 -1
  409. package/ui/embedding/index.windows.js +0 -4
  410. package/ui/embedding/index.windows.js.map +0 -1
  411. package/ui/frame/index.windows.d.ts +0 -52
  412. package/ui/frame/index.windows.js +0 -778
  413. package/ui/frame/index.windows.js.map +0 -1
  414. package/ui/gestures/index.windows.d.ts +0 -35
  415. package/ui/gestures/index.windows.js +0 -483
  416. package/ui/gestures/index.windows.js.map +0 -1
  417. package/ui/html-view/index.windows.d.ts +0 -18
  418. package/ui/html-view/index.windows.js +0 -191
  419. package/ui/html-view/index.windows.js.map +0 -1
  420. package/ui/image/index.windows.d.ts +0 -17
  421. package/ui/image/index.windows.js +0 -132
  422. package/ui/image/index.windows.js.map +0 -1
  423. package/ui/image/symbol-effects.windows.d.ts +0 -5
  424. package/ui/image/symbol-effects.windows.js +0 -8
  425. package/ui/image/symbol-effects.windows.js.map +0 -1
  426. package/ui/image-cache/index.windows.d.ts +0 -11
  427. package/ui/image-cache/index.windows.js +0 -48
  428. package/ui/image-cache/index.windows.js.map +0 -1
  429. package/ui/label/index.windows.d.ts +0 -15
  430. package/ui/label/index.windows.js +0 -66
  431. package/ui/label/index.windows.js.map +0 -1
  432. package/ui/layouts/absolute-layout/index.windows.d.ts +0 -8
  433. package/ui/layouts/absolute-layout/index.windows.js +0 -47
  434. package/ui/layouts/absolute-layout/index.windows.js.map +0 -1
  435. package/ui/layouts/dock-layout/index.windows.d.ts +0 -19
  436. package/ui/layouts/dock-layout/index.windows.js +0 -202
  437. package/ui/layouts/dock-layout/index.windows.js.map +0 -1
  438. package/ui/layouts/flexbox-layout/index.windows.d.ts +0 -27
  439. package/ui/layouts/flexbox-layout/index.windows.js +0 -188
  440. package/ui/layouts/flexbox-layout/index.windows.js.map +0 -1
  441. package/ui/layouts/grid-layout/index.windows.d.ts +0 -20
  442. package/ui/layouts/grid-layout/index.windows.js +0 -130
  443. package/ui/layouts/grid-layout/index.windows.js.map +0 -1
  444. package/ui/layouts/layout-base.windows.d.ts +0 -4
  445. package/ui/layouts/layout-base.windows.js +0 -5
  446. package/ui/layouts/layout-base.windows.js.map +0 -1
  447. package/ui/layouts/liquid-glass/index.windows.d.ts +0 -4
  448. package/ui/layouts/liquid-glass/index.windows.js +0 -5
  449. package/ui/layouts/liquid-glass/index.windows.js.map +0 -1
  450. package/ui/layouts/liquid-glass-container/index.windows.d.ts +0 -4
  451. package/ui/layouts/liquid-glass-container/index.windows.js +0 -5
  452. package/ui/layouts/liquid-glass-container/index.windows.js.map +0 -1
  453. package/ui/layouts/root-layout/index.windows.d.ts +0 -13
  454. package/ui/layouts/root-layout/index.windows.js +0 -160
  455. package/ui/layouts/root-layout/index.windows.js.map +0 -1
  456. package/ui/layouts/stack-layout/index.windows.d.ts +0 -13
  457. package/ui/layouts/stack-layout/index.windows.js +0 -63
  458. package/ui/layouts/stack-layout/index.windows.js.map +0 -1
  459. package/ui/layouts/wrap-layout/index.windows.d.ts +0 -20
  460. package/ui/layouts/wrap-layout/index.windows.js +0 -182
  461. package/ui/layouts/wrap-layout/index.windows.js.map +0 -1
  462. package/ui/list-picker/index.windows.d.ts +0 -19
  463. package/ui/list-picker/index.windows.js +0 -75
  464. package/ui/list-picker/index.windows.js.map +0 -1
  465. package/ui/list-view/index.windows.d.ts +0 -60
  466. package/ui/list-view/index.windows.js +0 -842
  467. package/ui/list-view/index.windows.js.map +0 -1
  468. package/ui/page/index.windows.d.ts +0 -12
  469. package/ui/page/index.windows.js +0 -42
  470. package/ui/page/index.windows.js.map +0 -1
  471. package/ui/progress/index.windows.d.ts +0 -20
  472. package/ui/progress/index.windows.js +0 -65
  473. package/ui/progress/index.windows.js.map +0 -1
  474. package/ui/scroll-view/index.windows.d.ts +0 -29
  475. package/ui/scroll-view/index.windows.js +0 -192
  476. package/ui/scroll-view/index.windows.js.map +0 -1
  477. package/ui/search-bar/index.windows.d.ts +0 -19
  478. package/ui/search-bar/index.windows.js +0 -91
  479. package/ui/search-bar/index.windows.js.map +0 -1
  480. package/ui/segmented-bar/index.windows.d.ts +0 -23
  481. package/ui/segmented-bar/index.windows.js +0 -117
  482. package/ui/segmented-bar/index.windows.js.map +0 -1
  483. package/ui/slider/index.windows.d.ts +0 -25
  484. package/ui/slider/index.windows.js +0 -134
  485. package/ui/slider/index.windows.js.map +0 -1
  486. package/ui/split-view/index.windows.d.ts +0 -49
  487. package/ui/split-view/index.windows.js +0 -549
  488. package/ui/split-view/index.windows.js.map +0 -1
  489. package/ui/styling/background.windows.d.ts +0 -2
  490. package/ui/styling/background.windows.js +0 -2
  491. package/ui/styling/background.windows.js.map +0 -1
  492. package/ui/styling/font.windows.d.ts +0 -25
  493. package/ui/styling/font.windows.js +0 -213
  494. package/ui/styling/font.windows.js.map +0 -1
  495. package/ui/switch/index.windows.d.ts +0 -20
  496. package/ui/switch/index.windows.js +0 -97
  497. package/ui/switch/index.windows.js.map +0 -1
  498. package/ui/tab-view/index.windows.d.ts +0 -29
  499. package/ui/tab-view/index.windows.js +0 -268
  500. package/ui/tab-view/index.windows.js.map +0 -1
  501. package/ui/text-base/index.windows.d.ts +0 -47
  502. package/ui/text-base/index.windows.js +0 -639
  503. package/ui/text-base/index.windows.js.map +0 -1
  504. package/ui/text-field/index.windows.d.ts +0 -23
  505. package/ui/text-field/index.windows.js +0 -186
  506. package/ui/text-field/index.windows.js.map +0 -1
  507. package/ui/text-view/index.windows.d.ts +0 -12
  508. package/ui/text-view/index.windows.js +0 -47
  509. package/ui/text-view/index.windows.js.map +0 -1
  510. package/ui/time-picker/index.windows.d.ts +0 -18
  511. package/ui/time-picker/index.windows.js +0 -77
  512. package/ui/time-picker/index.windows.js.map +0 -1
  513. package/ui/transition/fade-transition.windows.d.ts +0 -3
  514. package/ui/transition/fade-transition.windows.js +0 -4
  515. package/ui/transition/fade-transition.windows.js.map +0 -1
  516. package/ui/transition/index.windows.d.ts +0 -20
  517. package/ui/transition/index.windows.js +0 -30
  518. package/ui/transition/index.windows.js.map +0 -1
  519. package/ui/transition/modal-transition.windows.d.ts +0 -3
  520. package/ui/transition/modal-transition.windows.js +0 -4
  521. package/ui/transition/modal-transition.windows.js.map +0 -1
  522. package/ui/transition/page-transition.windows.d.ts +0 -3
  523. package/ui/transition/page-transition.windows.js +0 -4
  524. package/ui/transition/page-transition.windows.js.map +0 -1
  525. package/ui/transition/shared-transition-helper.windows.d.ts +0 -30
  526. package/ui/transition/shared-transition-helper.windows.js +0 -155
  527. package/ui/transition/shared-transition-helper.windows.js.map +0 -1
  528. package/ui/transition/slide-transition.windows.d.ts +0 -3
  529. package/ui/transition/slide-transition.windows.js +0 -4
  530. package/ui/transition/slide-transition.windows.js.map +0 -1
  531. package/ui/utils.windows.d.ts +0 -9
  532. package/ui/utils.windows.js +0 -21
  533. package/ui/utils.windows.js.map +0 -1
  534. package/ui/web-view/index.windows.d.ts +0 -23
  535. package/ui/web-view/index.windows.js +0 -115
  536. package/ui/web-view/index.windows.js.map +0 -1
  537. package/utils/constants.windows.d.ts +0 -2
  538. package/utils/constants.windows.js +0 -5
  539. package/utils/constants.windows.js.map +0 -1
  540. package/utils/index.windows.d.ts +0 -20
  541. package/utils/index.windows.js +0 -94
  542. package/utils/index.windows.js.map +0 -1
  543. package/utils/layout-helper/index.windows.d.ts +0 -25
  544. package/utils/layout-helper/index.windows.js +0 -74
  545. package/utils/layout-helper/index.windows.js.map +0 -1
  546. package/utils/mainthread-helper.windows.d.ts +0 -3
  547. package/utils/mainthread-helper.windows.js +0 -18
  548. package/utils/mainthread-helper.windows.js.map +0 -1
  549. package/utils/native-helper.windows.d.ts +0 -8
  550. package/utils/native-helper.windows.js +0 -101
  551. package/utils/native-helper.windows.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import type { AndroidActivityCallbacks, AndroidFrame as AndroidFrameDefinition, NavigationTransition } from '.';
1
+ import type { AndroidActivityCallbacks, Frame as FrameDefinition, AndroidFrame as AndroidFrameDefinition, NavigationTransition } from '.';
2
2
  import type { BackstackEntry } from './frame-interfaces';
3
3
  import type { Page } from '../page';
4
4
  import { Observable } from '../../data/observable';
@@ -21,7 +21,6 @@ export declare class Frame extends FrameBase {
21
21
  */
22
22
  private _isReset;
23
23
  private _cachedTransitionState;
24
- private _frameCreateTimeout;
25
24
  constructor();
26
25
  static reloadPage(context?: ModuleContext): void;
27
26
  static get defaultAnimatedNavigation(): boolean;
@@ -37,11 +36,6 @@ export declare class Frame extends FrameBase {
37
36
  _getChildFragmentManager(): any;
38
37
  _onRootViewReset(): void;
39
38
  onLoaded(): void;
40
- onUnloaded(): void;
41
- /**
42
- * TODO: Check if this fragment precaution is still needed
43
- */
44
- private _ensureEntryFragment;
45
39
  private disposeCurrentFragment;
46
40
  private createFragment;
47
41
  setCurrent(entry: BackstackEntry, navigationType: NavigationType): void;
@@ -55,21 +49,22 @@ export declare class Frame extends FrameBase {
55
49
  disposeNativeView(): void;
56
50
  _popFromFrameStack(): void;
57
51
  _getNavBarVisible(page: Page): boolean;
52
+ _restoreTransitionState(): void;
58
53
  _saveFragmentsState(): void;
59
54
  }
60
55
  export declare function reloadPage(context?: ModuleContext): void;
61
56
  declare class AndroidFrame extends Observable implements AndroidFrameDefinition {
62
57
  rootViewGroup: android.view.ViewGroup;
63
- frameId: any;
58
+ readonly frameId: number;
64
59
  private _showActionBar;
65
- private _owner;
66
- constructor(owner: Frame);
60
+ private readonly _owner;
61
+ constructor(owner: FrameDefinition);
67
62
  get showActionBar(): boolean;
68
63
  set showActionBar(value: boolean);
69
64
  get activity(): androidx.appcompat.app.AppCompatActivity;
70
65
  get actionBar(): android.app.ActionBar;
71
66
  get currentActivity(): androidx.appcompat.app.AppCompatActivity;
72
- get owner(): Frame;
67
+ get owner(): FrameDefinition;
73
68
  canGoBack(): boolean;
74
69
  fragmentForPage(entry: BackstackEntry): any;
75
70
  }
@@ -87,7 +82,7 @@ export declare class ActivityCallbacksImplementation implements AndroidActivityC
87
82
  onBackPressed(activity: any, superFunc: Function): void;
88
83
  onRequestPermissionsResult(activity: any, requestCode: number, permissions: Array<string>, grantResults: Array<number>, superFunc: Function): void;
89
84
  onActivityResult(activity: any, requestCode: number, resultCode: number, data: android.content.Intent, superFunc: Function): void;
90
- resetActivityContent(activity: androidx.appcompat.app.AppCompatActivity): void;
85
+ resetActivityContent(activity: androidx.appcompat.app.AppCompatActivity, view?: View): void;
91
86
  private setActivityContent;
92
87
  }
93
88
  export declare function setActivityCallbacks(activity: androidx.appcompat.app.AppCompatActivity): void;
@@ -3,10 +3,12 @@ import { Trace } from '../../trace';
3
3
  import { _stack, FrameBase, NavigationType } from './frame-common';
4
4
  import { _clearEntry, _clearFragment, _getAnimatedEntries, _getTransitionState, _restoreTransitionState, _reverseTransitions, _setAndroidFragmentTransitions, _updateTransitions } from './fragment.transitions';
5
5
  import { profile } from '../../profiling';
6
- import { android as androidUtils } from '../../utils/native-helper';
6
+ import { android as androidUtils, dataDeserialize } from '../../utils/native-helper';
7
7
  import { ensureFragmentClass, fragmentClass } from './fragment';
8
8
  import { getAppMainEntry } from '../../application/helpers-common';
9
9
  import { Application } from '../../application/application';
10
+ import { NativeWindowEvents } from '../../native-window/native-window-interfaces';
11
+ import { AndroidNativeWindow } from '../../native-window/native-window.android';
10
12
  import { isEmbedded, setEmbeddedView } from '../embedding';
11
13
  import { CALLBACKS, FRAMEID, framesCache, setFragmentCallbacks } from './frame-helper-for-android';
12
14
  import { SDK_VERSION } from '../../utils';
@@ -14,7 +16,6 @@ export * from './frame-common';
14
16
  export { setFragmentClass } from './fragment';
15
17
  const INTENT_EXTRA = 'com.tns.activity';
16
18
  const ownerSymbol = Symbol('_owner');
17
- const isPendingDetachSymbol = Symbol('_isPendingDetach');
18
19
  let navDepth = -1;
19
20
  let fragmentId = -1;
20
21
  export let attachStateChangeListener;
@@ -40,11 +41,6 @@ function getAttachListener() {
40
41
  if (owner) {
41
42
  owner._onDetachedFromWindow();
42
43
  }
43
- if (view[isPendingDetachSymbol]) {
44
- delete view[isPendingDetachSymbol];
45
- view.removeOnAttachStateChangeListener(this);
46
- view[ownerSymbol] = null;
47
- }
48
44
  },
49
45
  });
50
46
  attachStateChangeListener = new AttachListener();
@@ -119,7 +115,6 @@ export class Frame extends FrameBase {
119
115
  this._attachedToWindow = true;
120
116
  this._isReset = false;
121
117
  this._processNextNavigationEntry();
122
- this._ensureEntryFragment();
123
118
  }
124
119
  _onDetachedFromWindow() {
125
120
  super._onDetachedFromWindow();
@@ -167,7 +162,7 @@ export class Frame extends FrameBase {
167
162
  if (cachedTransitionState) {
168
163
  this._cachedTransitionState = cachedTransitionState;
169
164
  this._currentEntry = null;
170
- // NavigateCore will eventually call _processNextNavigationEntry again.
165
+ // NavigateCore will eventually call _processNextNavigationEntry again
171
166
  this._navigateCore(entry);
172
167
  this._currentEntry = entry;
173
168
  }
@@ -207,45 +202,8 @@ export class Frame extends FrameBase {
207
202
  this.backgroundColor = this._originalBackground;
208
203
  this._originalBackground = null;
209
204
  }
210
- this._ensureEntryFragment();
211
205
  super.onLoaded();
212
206
  }
213
- onUnloaded() {
214
- super.onUnloaded();
215
- if (typeof this._frameCreateTimeout === 'number') {
216
- clearTimeout(this._frameCreateTimeout);
217
- this._frameCreateTimeout = null;
218
- }
219
- }
220
- /**
221
- * TODO: Check if this fragment precaution is still needed
222
- */
223
- _ensureEntryFragment() {
224
- // in case the activity is "reset" using resetRootView or disposed we must wait for
225
- // the attachedToWindow event to make the first navigation or it will crash
226
- // https://github.com/NativeScript/NativeScript/commit/9dd3e1a8076e5022e411f2f2eeba34aabc68d112
227
- // though we should not do it on app "start"
228
- // or it will create a "flash" to activity background color
229
- if (this._isReset && !this._attachedToWindow) {
230
- return;
231
- }
232
- this._frameCreateTimeout = setTimeout(() => {
233
- // there's a bug with nested frames where sometimes the nested fragment is not recreated at all
234
- // so we manually check on loaded event if the fragment is not recreated and recreate it
235
- const currentEntry = this._currentEntry || this._executingContext?.entry;
236
- if (currentEntry) {
237
- if (!currentEntry.fragment) {
238
- const manager = this._getFragmentManager();
239
- const transaction = manager.beginTransaction();
240
- currentEntry.fragment = this.createFragment(currentEntry, currentEntry.fragmentTag);
241
- _updateTransitions(currentEntry);
242
- transaction.replace(this.containerViewId, currentEntry.fragment, currentEntry.fragmentTag);
243
- transaction.commitAllowingStateLoss();
244
- }
245
- }
246
- this._frameCreateTimeout = null;
247
- }, 0);
248
- }
249
207
  disposeCurrentFragment() {
250
208
  if (!this._currentEntry || !this._currentEntry.fragment || !this._currentEntry.fragment.isAdded()) {
251
209
  return;
@@ -313,11 +271,8 @@ export class Frame extends FrameBase {
313
271
  // Continue with next item in the queue.
314
272
  this._processNextNavigationEntry();
315
273
  }
316
- // restore cached animation settings if we just completed simulated first navigation (no animation)
317
- if (this._cachedTransitionState) {
318
- _restoreTransitionState(this._cachedTransitionState);
319
- this._cachedTransitionState = null;
320
- }
274
+ // Restore cached animation settings if we just completed simulated first navigation (no animation)
275
+ this._restoreTransitionState();
321
276
  // restore original fragment transitions if we just completed replace navigation (hmr)
322
277
  if (navigationType === NavigationType.replace) {
323
278
  _clearEntry(entry);
@@ -382,7 +337,7 @@ export class Frame extends FrameBase {
382
337
  // layout pass so we will wait forever for transitionCompleted handler...
383
338
  // https://github.com/NativeScript/NativeScript/issues/4895
384
339
  let navigationTransition;
385
- if (this._currentEntry) {
340
+ if (currentEntry) {
386
341
  navigationTransition = this._getNavigationTransition(newEntry.entry);
387
342
  }
388
343
  else {
@@ -456,14 +411,12 @@ export class Frame extends FrameBase {
456
411
  disposeNativeView() {
457
412
  const nativeView = this.nativeViewProtected;
458
413
  const listener = getAttachListener();
459
- // There are cases like root view when detach listener is not called upon removing view from view-tree
460
- // so mark those views as pending and remove listener once the view is detached
461
- if (nativeView.isAttachedToWindow()) {
462
- nativeView[isPendingDetachSymbol] = true;
463
- }
464
- else {
465
- nativeView.removeOnAttachStateChangeListener(listener);
466
- nativeView[ownerSymbol] = null;
414
+ nativeView.removeOnAttachStateChangeListener(listener);
415
+ nativeView[ownerSymbol] = null;
416
+ // There are cases like root view when detach listener is not called before the native view gets disposed
417
+ // so call detach method directly for these views
418
+ if (this._attachedToWindow) {
419
+ this._onDetachedFromWindow();
467
420
  }
468
421
  this._tearDownPending = !!this._executingContext;
469
422
  const current = this._currentEntry;
@@ -508,6 +461,12 @@ export class Frame extends FrameBase {
508
461
  return true;
509
462
  }
510
463
  }
464
+ _restoreTransitionState() {
465
+ if (this._cachedTransitionState) {
466
+ _restoreTransitionState(this._cachedTransitionState);
467
+ this._cachedTransitionState = null;
468
+ }
469
+ }
511
470
  _saveFragmentsState() {
512
471
  // We save only fragments in backstack.
513
472
  // Current fragment is saved by FragmentManager.
@@ -634,13 +593,22 @@ if (SDK_VERSION >= 33) {
634
593
  this.setEnabled(false);
635
594
  return;
636
595
  }
596
+ const nativeWindow = Application.android._getWindowForActivity(activity);
637
597
  const args = {
638
- eventName: 'activityBackPressed',
598
+ eventName: NativeWindowEvents.activityBackPressed,
639
599
  object: Application,
640
600
  android: Application.android,
601
+ window: nativeWindow,
641
602
  activity: activity,
642
603
  cancel: false,
643
604
  };
605
+ // Emit on NativeWindow first
606
+ if (nativeWindow) {
607
+ nativeWindow.notify({
608
+ ...args,
609
+ object: nativeWindow,
610
+ });
611
+ }
644
612
  Application.android.notify(args);
645
613
  if (args.cancel) {
646
614
  return;
@@ -651,7 +619,7 @@ if (SDK_VERSION >= 33) {
651
619
  const view = callbacks.getRootView();
652
620
  if (view) {
653
621
  const viewArgs = {
654
- eventName: 'activityBackPressed',
622
+ eventName: NativeWindowEvents.activityBackPressed,
655
623
  object: view,
656
624
  activity: activity,
657
625
  cancel: false,
@@ -659,7 +627,7 @@ if (SDK_VERSION >= 33) {
659
627
  view.notify(viewArgs);
660
628
  // In the case of Frame, use this callback only if it was overridden, since the original will cause navigation issues
661
629
  if (!viewArgs.cancel && (view.onBackPressed === Frame.prototype.onBackPressed || !view.onBackPressed())) {
662
- callSuper = view instanceof Frame ? !Frame.goBack() : true;
630
+ callSuper = view instanceof Frame ? !Frame.goBack(view) : true;
663
631
  }
664
632
  }
665
633
  }
@@ -694,6 +662,34 @@ export class ActivityCallbacksImplementation {
694
662
  // When we add support for application save/load state - revise this logic.
695
663
  const isRestart = !!savedInstanceState && moduleLoaded;
696
664
  superFunc.call(activity, isRestart ? savedInstanceState : null);
665
+ if (isRestart && activity.getSupportFragmentManager) {
666
+ // Remove restored fragments that NativeScript will recreate via _setupUI/createNativeView.
667
+ // NativeScript tears down and rebuilds the entire view tree on activity recreation,
668
+ // so restored fragments (especially from ViewPager2/tabs) become orphaned without views.
669
+ // NativeScript core's own fragments use tags like "fragment{id}[{depth}]" and are
670
+ // handled by _processNextNavigationEntry. We remove all non-NativeScript fragments.
671
+ const fm = activity.getSupportFragmentManager();
672
+ const fragments = fm.getFragments();
673
+ const size = fragments?.size?.() ?? 0;
674
+ if (size > 0) {
675
+ const ft = fm.beginTransaction();
676
+ let removed = false;
677
+ for (let i = size - 1; i >= 0; i--) {
678
+ const f = fragments.get(i);
679
+ if (!f)
680
+ continue;
681
+ const tag = f.getTag();
682
+ if (tag && tag.startsWith('fragment')) {
683
+ continue;
684
+ }
685
+ ft.remove(f);
686
+ removed = true;
687
+ }
688
+ if (removed) {
689
+ ft.commitNowAllowingStateLoss();
690
+ }
691
+ }
692
+ }
697
693
  // Try to get the rootViewId form the saved state in case the activity
698
694
  // was destroyed and we are now recreating it.
699
695
  if (savedInstanceState) {
@@ -703,12 +699,22 @@ export class ActivityCallbacksImplementation {
703
699
  }
704
700
  }
705
701
  if (intent && intent.getAction()) {
706
- Application.android.notify({
707
- eventName: Application.AndroidApplication.activityNewIntentEvent,
702
+ const nativeWindow = Application.android._getWindowForActivity(activity);
703
+ const newIntentArgs = {
704
+ eventName: NativeWindowEvents.activityNewIntent,
708
705
  object: Application.android,
706
+ window: nativeWindow,
709
707
  activity,
710
708
  intent,
711
- });
709
+ };
710
+ // Emit on NativeWindow first
711
+ if (nativeWindow) {
712
+ nativeWindow.notify({
713
+ ...newIntentArgs,
714
+ object: nativeWindow,
715
+ });
716
+ }
717
+ Application.android.notify(newIntentArgs);
712
718
  }
713
719
  this.setActivityContent(activity, savedInstanceState, true);
714
720
  moduleLoaded = true;
@@ -727,12 +733,22 @@ export class ActivityCallbacksImplementation {
727
733
  onNewIntent(activity, intent, superSetIntentFunc, superFunc) {
728
734
  superFunc.call(activity, intent);
729
735
  superSetIntentFunc.call(activity, intent);
730
- Application.android.notify({
731
- eventName: Application.AndroidApplication.activityNewIntentEvent,
736
+ const nativeWindow = Application.android._getWindowForActivity(activity);
737
+ const newIntentArgs = {
738
+ eventName: NativeWindowEvents.activityNewIntent,
732
739
  object: Application.android,
740
+ window: nativeWindow,
733
741
  activity,
734
742
  intent,
735
- });
743
+ };
744
+ // Emit on NativeWindow first
745
+ if (nativeWindow) {
746
+ nativeWindow.notify({
747
+ ...newIntentArgs,
748
+ object: nativeWindow,
749
+ });
750
+ }
751
+ Application.android.notify(newIntentArgs);
736
752
  }
737
753
  onStart(activity, superFunc) {
738
754
  superFunc.call(activity);
@@ -781,18 +797,6 @@ export class ActivityCallbacksImplementation {
781
797
  if (rootView) {
782
798
  rootView._tearDownUI(true);
783
799
  }
784
- // this may happen when the user changes the system theme
785
- // In such case, isFinishing() is false (and isChangingConfigurations is true), and the app will start again (onCreate) with a savedInstanceState
786
- // as a result, launchEvent will never be called
787
- // possible alternative: always fire launchEvent and exitEvent, but pass extra flags to make it clear what kind of launch/destroy is happening
788
- if (activity.isFinishing()) {
789
- const exitArgs = {
790
- eventName: Application.exitEvent,
791
- object: Application.android,
792
- android: activity,
793
- };
794
- Application.notify(exitArgs);
795
- }
796
800
  }
797
801
  finally {
798
802
  superFunc.call(activity);
@@ -802,13 +806,22 @@ export class ActivityCallbacksImplementation {
802
806
  if (Trace.isEnabled()) {
803
807
  Trace.write('NativeScriptActivity.onBackPressed;', Trace.categories.NativeLifecycle);
804
808
  }
809
+ const nativeWindow = Application.android._getWindowForActivity(activity);
805
810
  const args = {
806
- eventName: 'activityBackPressed',
811
+ eventName: NativeWindowEvents.activityBackPressed,
807
812
  object: Application,
808
813
  android: Application.android,
814
+ window: nativeWindow,
809
815
  activity: activity,
810
816
  cancel: false,
811
817
  };
818
+ // Emit on NativeWindow first
819
+ if (nativeWindow) {
820
+ nativeWindow.notify({
821
+ ...args,
822
+ object: nativeWindow,
823
+ });
824
+ }
812
825
  Application.android.notify(args);
813
826
  if (args.cancel) {
814
827
  return;
@@ -816,7 +829,7 @@ export class ActivityCallbacksImplementation {
816
829
  const view = this._rootView;
817
830
  let callSuper = false;
818
831
  const viewArgs = {
819
- eventName: 'activityBackPressed',
832
+ eventName: NativeWindowEvents.activityBackPressed,
820
833
  object: view,
821
834
  activity: activity,
822
835
  cancel: false,
@@ -824,7 +837,7 @@ export class ActivityCallbacksImplementation {
824
837
  view.notify(viewArgs);
825
838
  // In the case of Frame, use this callback only if it was overridden, since the original will cause navigation issues
826
839
  if (!viewArgs.cancel && (view.onBackPressed === Frame.prototype.onBackPressed || !view.onBackPressed())) {
827
- callSuper = view instanceof Frame ? !Frame.goBack() : true;
840
+ callSuper = view instanceof Frame ? !Frame.goBack(view) : true;
828
841
  }
829
842
  if (callSuper) {
830
843
  superFunc.call(activity);
@@ -834,40 +847,62 @@ export class ActivityCallbacksImplementation {
834
847
  if (Trace.isEnabled()) {
835
848
  Trace.write('NativeScriptActivity.onRequestPermissionsResult;', Trace.categories.NativeLifecycle);
836
849
  }
837
- Application.android.notify({
838
- eventName: 'activityRequestPermissions',
850
+ const nativeWindow = Application.android._getWindowForActivity(activity);
851
+ const permArgs = {
852
+ eventName: NativeWindowEvents.activityRequestPermissions,
839
853
  object: Application,
840
854
  android: Application.android,
855
+ window: nativeWindow,
841
856
  activity: activity,
842
857
  requestCode: requestCode,
843
858
  permissions: permissions,
844
859
  grantResults: grantResults,
845
- });
860
+ };
861
+ // Emit on NativeWindow first
862
+ if (nativeWindow) {
863
+ nativeWindow.notify({
864
+ ...permArgs,
865
+ object: nativeWindow,
866
+ });
867
+ }
868
+ Application.android.notify(permArgs);
846
869
  }
847
870
  onActivityResult(activity, requestCode, resultCode, data, superFunc) {
848
871
  superFunc.call(activity, requestCode, resultCode, data);
849
872
  if (Trace.isEnabled()) {
850
873
  Trace.write(`NativeScriptActivity.onActivityResult(${requestCode}, ${resultCode}, ${data})`, Trace.categories.NativeLifecycle);
851
874
  }
852
- Application.android.notify({
853
- eventName: 'activityResult',
875
+ const nativeWindow = Application.android._getWindowForActivity(activity);
876
+ const resultArgs = {
877
+ eventName: NativeWindowEvents.activityResult,
854
878
  object: Application,
855
879
  android: Application.android,
880
+ window: nativeWindow,
856
881
  activity: activity,
857
882
  requestCode: requestCode,
858
883
  resultCode: resultCode,
859
884
  intent: data,
860
- });
885
+ };
886
+ // Emit on NativeWindow first
887
+ if (nativeWindow) {
888
+ nativeWindow.notify({
889
+ ...resultArgs,
890
+ object: nativeWindow,
891
+ });
892
+ }
893
+ Application.android.notify(resultArgs);
861
894
  }
862
- resetActivityContent(activity) {
895
+ resetActivityContent(activity, view) {
863
896
  if (this._rootView) {
864
897
  const manager = this._rootView._getFragmentManager();
865
898
  manager.executePendingTransactions();
899
+ // Some flavors reuse the same root view, so unload the view in order to load it successfully when needed
900
+ this._rootView.callUnloaded();
866
901
  this._rootView._onRootViewReset();
867
902
  }
868
903
  // Delete previously cached root view in order to recreate it.
869
904
  this._rootView = null;
870
- this.setActivityContent(activity, null, false);
905
+ this.setActivityContent(activity, null, false, view);
871
906
  this._rootView.callLoaded();
872
907
  }
873
908
  // Paths that go trough this method:
@@ -875,18 +910,42 @@ export class ActivityCallbacksImplementation {
875
910
  // 2. Application revived after Activity is destroyed. this._rootView should have been restored by id in onCreate.
876
911
  // 3. Livesync if rootView has no custom _onLivesync. this._rootView should have been cleared upfront. Launch event should not fired
877
912
  // 4. resetRootView method. this._rootView should have been cleared upfront. Launch event should not fired
878
- setActivityContent(activity, savedInstanceState, fireLaunchEvent) {
879
- let rootView = this._rootView;
913
+ // 5. NativeWindow.setContent - the caller supplies the view, so nothing is resolved from the main entry.
914
+ setActivityContent(activity, savedInstanceState, fireLaunchEvent, view) {
915
+ let rootView = view ?? this._rootView;
880
916
  if (Trace.isEnabled()) {
881
917
  Trace.write(`Frame.setActivityContent rootView: ${rootView} shouldCreateRootFrame: false fireLaunchEvent: ${fireLaunchEvent}`, Trace.categories.NativeLifecycle);
882
918
  }
883
919
  const intent = activity.getIntent();
884
- rootView = Application.createRootView(rootView, fireLaunchEvent, {
920
+ const launchData = {
885
921
  // todo: deprecate in favor of args.intent?
886
922
  android: intent,
887
923
  intent,
888
924
  savedInstanceState,
889
- });
925
+ };
926
+ let nativeWindow = Application.android._getWindowForActivity(activity);
927
+ if (!nativeWindow && isEmbedded()) {
928
+ // When embedded, the host owns the activity and may never install our lifecycle
929
+ // callbacks, so this is the only place the window can come into existence.
930
+ const embeddedWindow = new AndroidNativeWindow(activity, AndroidNativeWindow.newWindowId(), Application.android._getWindows().length === 0, 'embedded');
931
+ Application.android._registerWindow(embeddedWindow);
932
+ embeddedWindow._registerConfigurationCallbacks();
933
+ nativeWindow = embeddedWindow;
934
+ }
935
+ if (!rootView && fireLaunchEvent && nativeWindow) {
936
+ // This method installs the root view on the activity itself, so the resolved view is
937
+ // handed back rather than applied through NativeWindow.setContent(), which would
938
+ // re-enter here through resetActivityContent().
939
+ rootView = Application._resolveWindowContent(nativeWindow, {
940
+ window: nativeWindow,
941
+ isPrimary: nativeWindow.isPrimary,
942
+ data: dataDeserialize(intent?.getExtras()) ?? undefined,
943
+ android: { intent, savedInstanceState },
944
+ }, { install: false, launchData });
945
+ }
946
+ else {
947
+ rootView = Application.createRootView(rootView, fireLaunchEvent, launchData);
948
+ }
890
949
  if (!rootView) {
891
950
  // no root view created
892
951
  return;
@@ -902,7 +961,8 @@ export class ActivityCallbacksImplementation {
902
961
  }
903
962
  this._rootView = rootView;
904
963
  // sets root classes once rootView is ready...
905
- Application.initRootView(rootView);
964
+ Application.initRootView(rootView, nativeWindow);
965
+ nativeWindow?._adoptRootView(rootView);
906
966
  }
907
967
  }
908
968
  __decorate([