wevu 7.0.3 → 7.1.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 (731) hide show
  1. package/README.md +20 -4
  2. package/dist/alipay/jsx-runtime.d.mts +13 -0
  3. package/dist/alipay/jsx-runtime.mjs +1 -0
  4. package/dist/alipayIntrinsicElements/base.d.mts +4 -0
  5. package/dist/alipayIntrinsicElements/elements/button.d.mts +29 -0
  6. package/dist/alipayIntrinsicElements/elements/camera.d.mts +18 -0
  7. package/dist/alipayIntrinsicElements/elements/canvas.d.mts +20 -0
  8. package/dist/alipayIntrinsicElements/elements/checkbox-group.d.mts +11 -0
  9. package/dist/alipayIntrinsicElements/elements/checkbox.d.mts +14 -0
  10. package/dist/alipayIntrinsicElements/elements/contact-button.d.mts +15 -0
  11. package/dist/alipayIntrinsicElements/elements/cover-image.d.mts +11 -0
  12. package/dist/alipayIntrinsicElements/elements/cover-view.d.mts +11 -0
  13. package/dist/alipayIntrinsicElements/elements/error-view.d.mts +14 -0
  14. package/dist/alipayIntrinsicElements/elements/form.d.mts +12 -0
  15. package/dist/alipayIntrinsicElements/elements/icon.d.mts +11 -0
  16. package/dist/alipayIntrinsicElements/elements/image.d.mts +17 -0
  17. package/dist/alipayIntrinsicElements/elements/input.d.mts +31 -0
  18. package/dist/alipayIntrinsicElements/elements/join-group-chat.d.mts +9 -0
  19. package/dist/alipayIntrinsicElements/elements/label.d.mts +9 -0
  20. package/dist/alipayIntrinsicElements/elements/lifestyle.d.mts +11 -0
  21. package/dist/alipayIntrinsicElements/elements/lottie.d.mts +25 -0
  22. package/dist/alipayIntrinsicElements/elements/map.d.mts +44 -0
  23. package/dist/alipayIntrinsicElements/elements/match-media.d.mts +15 -0
  24. package/dist/alipayIntrinsicElements/elements/movable-area.d.mts +9 -0
  25. package/dist/alipayIntrinsicElements/elements/movable-view.d.mts +32 -0
  26. package/dist/alipayIntrinsicElements/elements/navigator.d.mts +13 -0
  27. package/dist/alipayIntrinsicElements/elements/page-container.d.mts +27 -0
  28. package/dist/alipayIntrinsicElements/elements/page-meta.d.mts +19 -0
  29. package/dist/alipayIntrinsicElements/elements/picker-view-column.d.mts +7 -0
  30. package/dist/alipayIntrinsicElements/elements/picker-view.d.mts +18 -0
  31. package/dist/alipayIntrinsicElements/elements/picker.d.mts +15 -0
  32. package/dist/alipayIntrinsicElements/elements/progress.d.mts +14 -0
  33. package/dist/alipayIntrinsicElements/elements/radio-group.d.mts +11 -0
  34. package/dist/alipayIntrinsicElements/elements/radio.d.mts +12 -0
  35. package/dist/alipayIntrinsicElements/elements/rich-text.d.mts +17 -0
  36. package/dist/alipayIntrinsicElements/elements/root-portal.d.mts +9 -0
  37. package/dist/alipayIntrinsicElements/elements/scroll-view.d.mts +29 -0
  38. package/dist/alipayIntrinsicElements/elements/share-element.d.mts +12 -0
  39. package/dist/alipayIntrinsicElements/elements/slider.d.mts +23 -0
  40. package/dist/alipayIntrinsicElements/elements/subscribe-message.d.mts +11 -0
  41. package/dist/alipayIntrinsicElements/elements/swiper-item.d.mts +7 -0
  42. package/dist/alipayIntrinsicElements/elements/swiper.d.mts +36 -0
  43. package/dist/alipayIntrinsicElements/elements/switch.d.mts +15 -0
  44. package/dist/alipayIntrinsicElements/elements/text.d.mts +12 -0
  45. package/dist/alipayIntrinsicElements/elements/textarea.d.mts +24 -0
  46. package/dist/alipayIntrinsicElements/elements/video.d.mts +39 -0
  47. package/dist/alipayIntrinsicElements/elements/view.d.mts +29 -0
  48. package/dist/alipayIntrinsicElements/elements/web-view.d.mts +13 -0
  49. package/dist/alipayIntrinsicElements.d.mts +94 -0
  50. package/dist/dev/_virtual/{_@oxc-project_runtime@0.148.0 → _@oxc-project_runtime@0.149.0}/helpers/esm/defineProperty.mjs +1 -1
  51. package/dist/dev/_virtual/{_@oxc-project_runtime@0.148.0 → _@oxc-project_runtime@0.149.0}/helpers/esm/toPrimitive.mjs +1 -1
  52. package/dist/dev/_virtual/{_@oxc-project_runtime@0.148.0 → _@oxc-project_runtime@0.149.0}/helpers/esm/toPropertyKey.mjs +1 -1
  53. package/dist/dev/_virtual/{_@oxc-project_runtime@0.148.0 → _@oxc-project_runtime@0.149.0}/helpers/esm/typeof.mjs +1 -1
  54. package/dist/dev/alipayIntrinsicElements/base.d.mts +5 -0
  55. package/dist/dev/alipayIntrinsicElements/elements/button.d.mts +30 -0
  56. package/dist/dev/alipayIntrinsicElements/elements/camera.d.mts +19 -0
  57. package/dist/dev/alipayIntrinsicElements/elements/canvas.d.mts +21 -0
  58. package/dist/dev/alipayIntrinsicElements/elements/checkbox-group.d.mts +12 -0
  59. package/dist/dev/alipayIntrinsicElements/elements/checkbox.d.mts +15 -0
  60. package/dist/dev/alipayIntrinsicElements/elements/contact-button.d.mts +16 -0
  61. package/dist/dev/alipayIntrinsicElements/elements/cover-image.d.mts +12 -0
  62. package/dist/dev/alipayIntrinsicElements/elements/cover-view.d.mts +12 -0
  63. package/dist/dev/alipayIntrinsicElements/elements/error-view.d.mts +15 -0
  64. package/dist/dev/alipayIntrinsicElements/elements/form.d.mts +13 -0
  65. package/dist/dev/alipayIntrinsicElements/elements/icon.d.mts +12 -0
  66. package/dist/dev/alipayIntrinsicElements/elements/image.d.mts +18 -0
  67. package/dist/dev/alipayIntrinsicElements/elements/input.d.mts +32 -0
  68. package/dist/dev/alipayIntrinsicElements/elements/join-group-chat.d.mts +10 -0
  69. package/dist/dev/alipayIntrinsicElements/elements/label.d.mts +10 -0
  70. package/dist/dev/alipayIntrinsicElements/elements/lifestyle.d.mts +12 -0
  71. package/dist/dev/alipayIntrinsicElements/elements/lottie.d.mts +26 -0
  72. package/dist/dev/alipayIntrinsicElements/elements/map.d.mts +45 -0
  73. package/dist/dev/alipayIntrinsicElements/elements/match-media.d.mts +16 -0
  74. package/dist/dev/alipayIntrinsicElements/elements/movable-area.d.mts +10 -0
  75. package/dist/dev/alipayIntrinsicElements/elements/movable-view.d.mts +33 -0
  76. package/dist/dev/alipayIntrinsicElements/elements/navigator.d.mts +14 -0
  77. package/dist/dev/alipayIntrinsicElements/elements/page-container.d.mts +28 -0
  78. package/dist/dev/alipayIntrinsicElements/elements/page-meta.d.mts +20 -0
  79. package/dist/dev/alipayIntrinsicElements/elements/picker-view-column.d.mts +8 -0
  80. package/dist/dev/alipayIntrinsicElements/elements/picker-view.d.mts +19 -0
  81. package/dist/dev/alipayIntrinsicElements/elements/picker.d.mts +16 -0
  82. package/dist/dev/alipayIntrinsicElements/elements/progress.d.mts +15 -0
  83. package/dist/dev/alipayIntrinsicElements/elements/radio-group.d.mts +12 -0
  84. package/dist/dev/alipayIntrinsicElements/elements/radio.d.mts +13 -0
  85. package/dist/dev/alipayIntrinsicElements/elements/rich-text.d.mts +18 -0
  86. package/dist/dev/alipayIntrinsicElements/elements/root-portal.d.mts +10 -0
  87. package/dist/dev/alipayIntrinsicElements/elements/scroll-view.d.mts +30 -0
  88. package/dist/dev/alipayIntrinsicElements/elements/share-element.d.mts +13 -0
  89. package/dist/dev/alipayIntrinsicElements/elements/slider.d.mts +24 -0
  90. package/dist/dev/alipayIntrinsicElements/elements/subscribe-message.d.mts +12 -0
  91. package/dist/dev/alipayIntrinsicElements/elements/swiper-item.d.mts +8 -0
  92. package/dist/dev/alipayIntrinsicElements/elements/swiper.d.mts +37 -0
  93. package/dist/dev/alipayIntrinsicElements/elements/switch.d.mts +16 -0
  94. package/dist/dev/alipayIntrinsicElements/elements/text.d.mts +13 -0
  95. package/dist/dev/alipayIntrinsicElements/elements/textarea.d.mts +25 -0
  96. package/dist/dev/alipayIntrinsicElements/elements/video.d.mts +40 -0
  97. package/dist/dev/alipayIntrinsicElements/elements/view.d.mts +30 -0
  98. package/dist/dev/alipayIntrinsicElements/elements/web-view.d.mts +14 -0
  99. package/dist/dev/alipayIntrinsicElements.d.mts +94 -0
  100. package/dist/dev/api/vitest/setup.d.mts +1 -0
  101. package/dist/dev/api/vitest.d.mts +1 -0
  102. package/dist/dev/api.d.mts +1 -0
  103. package/dist/dev/compiler.d.mts +1 -0
  104. package/dist/dev/fetch.d.mts +9 -0
  105. package/dist/dev/index.d.mts +72 -0
  106. package/dist/dev/index.mjs +12 -15
  107. package/dist/dev/internal-reactivity.d.mts +18 -0
  108. package/dist/dev/internal-reactivity.mjs +3 -2
  109. package/dist/dev/internal-runtime.d.mts +44 -0
  110. package/dist/dev/internal-runtime.mjs +19 -14
  111. package/dist/dev/internal-template.d.mts +2 -0
  112. package/dist/dev/jsx-runtime.d.mts +44 -0
  113. package/dist/dev/jsxTypes.d.mts +9 -0
  114. package/dist/dev/macros/shared.d.mts +81 -0
  115. package/dist/dev/macros.d.mts +71 -0
  116. package/dist/dev/package.mjs +1 -1
  117. package/dist/dev/reactivity/asyncDerivation.d.mts +41 -0
  118. package/dist/dev/reactivity/asyncDerivation.mjs +130 -0
  119. package/dist/dev/reactivity/asyncDerivation.mjs.map +1 -0
  120. package/dist/dev/reactivity/computed.d.mts +21 -0
  121. package/dist/dev/reactivity/computed.mjs +2 -2
  122. package/dist/dev/reactivity/computed.mjs.map +1 -1
  123. package/dist/dev/reactivity/core.d.mts +35 -0
  124. package/dist/dev/reactivity/core.mjs +156 -32
  125. package/dist/dev/reactivity/core.mjs.map +1 -1
  126. package/dist/dev/reactivity/index.d.mts +16 -0
  127. package/dist/dev/reactivity/reactive/mutation.d.mts +21 -0
  128. package/dist/dev/reactivity/reactive/patch.d.mts +18 -0
  129. package/dist/dev/reactivity/reactive/shallow.d.mts +22 -0
  130. package/dist/dev/reactivity/reactive/shared.d.mts +4 -0
  131. package/dist/dev/reactivity/reactive.d.mts +42 -0
  132. package/dist/dev/reactivity/readonly.d.mts +27 -0
  133. package/dist/dev/reactivity/readonly.mjs.map +1 -1
  134. package/dist/dev/reactivity/ref.d.mts +27 -0
  135. package/dist/dev/reactivity/ref.mjs +1 -1
  136. package/dist/dev/reactivity/shallowRef.d.mts +19 -0
  137. package/dist/dev/reactivity/toRefs.d.mts +43 -0
  138. package/dist/dev/reactivity/traverse.d.mts +8 -0
  139. package/dist/dev/reactivity/watch/types.d.mts +43 -0
  140. package/dist/dev/reactivity/watch.d.mts +22 -0
  141. package/dist/dev/router/createRouter.d.mts +8 -0
  142. package/dist/dev/router/navigationCore.d.mts +6 -0
  143. package/dist/dev/router/resolve.d.mts +6 -0
  144. package/dist/dev/router/routeSync.d.mts +1 -0
  145. package/dist/dev/router/routeSync.mjs +8 -2
  146. package/dist/dev/router/routeSync.mjs.map +1 -1
  147. package/dist/dev/router/types.d.mts +172 -0
  148. package/dist/dev/router/useRoute.d.mts +19 -0
  149. package/dist/dev/router/useRoute.mjs +14 -7
  150. package/dist/dev/router/useRoute.mjs.map +1 -1
  151. package/dist/dev/router/useRouter.d.mts +8 -0
  152. package/dist/dev/router.d.mts +10 -0
  153. package/dist/dev/routerInternal/query.d.mts +7 -0
  154. package/dist/dev/routerInternal/types.d.mts +9 -0
  155. package/dist/dev/runtime/app/computed.mjs +2 -2
  156. package/dist/dev/runtime/app/computed.mjs.map +1 -1
  157. package/dist/dev/runtime/app/context.mjs +8 -2
  158. package/dist/dev/runtime/app/context.mjs.map +1 -1
  159. package/dist/dev/runtime/app/diagnostics.mjs +12 -0
  160. package/dist/dev/runtime/app/diagnostics.mjs.map +1 -1
  161. package/dist/dev/runtime/app/mount.mjs +31 -28
  162. package/dist/dev/runtime/app/mount.mjs.map +1 -1
  163. package/dist/dev/runtime/app/pending.d.mts +10 -0
  164. package/dist/dev/runtime/app/setData/commitTracker.d.mts +13 -0
  165. package/dist/dev/runtime/app/setData/commitTracker.mjs +265 -0
  166. package/dist/dev/runtime/app/setData/commitTracker.mjs.map +1 -0
  167. package/dist/dev/runtime/app/setData/patchScheduler.mjs +47 -51
  168. package/dist/dev/runtime/app/setData/patchScheduler.mjs.map +1 -1
  169. package/dist/dev/runtime/app/setData/scheduler.d.mts +51 -0
  170. package/dist/dev/runtime/app/setData/scheduler.mjs +98 -111
  171. package/dist/dev/runtime/app/setData/scheduler.mjs.map +1 -1
  172. package/dist/dev/runtime/app/setData/snapshot.mjs +11 -1
  173. package/dist/dev/runtime/app/setData/snapshot.mjs.map +1 -1
  174. package/dist/dev/runtime/app.d.mts +8 -0
  175. package/dist/dev/runtime/app.mjs +18 -6
  176. package/dist/dev/runtime/app.mjs.map +1 -1
  177. package/dist/dev/runtime/bindingManifest.mjs +105 -0
  178. package/dist/dev/runtime/bindingManifest.mjs.map +1 -0
  179. package/dist/dev/runtime/capabilities.d.mts +75 -0
  180. package/dist/dev/runtime/capabilities.mjs +40 -0
  181. package/dist/dev/runtime/capabilities.mjs.map +1 -0
  182. package/dist/dev/runtime/css.d.mts +14 -0
  183. package/dist/dev/runtime/defaults.d.mts +12 -0
  184. package/dist/dev/runtime/define/componentDefinition.mjs +3 -0
  185. package/dist/dev/runtime/define/componentDefinition.mjs.map +1 -1
  186. package/dist/dev/runtime/define/optionsApi.mjs +1 -1
  187. package/dist/dev/runtime/define/props.mjs +30 -60
  188. package/dist/dev/runtime/define/props.mjs.map +1 -1
  189. package/dist/dev/runtime/define/scopedSlotOptions.mjs +37 -21
  190. package/dist/dev/runtime/define/scopedSlotOptions.mjs.map +1 -1
  191. package/dist/dev/runtime/define.d.mts +118 -0
  192. package/dist/dev/runtime/define.mjs +32 -44
  193. package/dist/dev/runtime/define.mjs.map +1 -1
  194. package/dist/dev/runtime/diff.mjs +1 -1
  195. package/dist/dev/runtime/disposables.d.mts +31 -0
  196. package/dist/dev/runtime/elementIntersectionObserver.d.mts +26 -0
  197. package/dist/dev/runtime/features/inlineEvents.d.mts +7 -0
  198. package/dist/dev/runtime/features/inlineEvents.mjs +25 -0
  199. package/dist/dev/runtime/features/inlineEvents.mjs.map +1 -0
  200. package/dist/dev/runtime/features/layout.d.mts +7 -0
  201. package/dist/dev/runtime/features/layout.mjs +44 -0
  202. package/dist/dev/runtime/features/layout.mjs.map +1 -0
  203. package/dist/dev/runtime/features/patchStrategy.d.mts +7 -0
  204. package/dist/dev/runtime/features/patchStrategy.mjs +129 -0
  205. package/dist/dev/runtime/features/patchStrategy.mjs.map +1 -0
  206. package/dist/dev/runtime/features/publicLayout.d.mts +24 -0
  207. package/dist/dev/runtime/features/publicLayout.mjs +81 -0
  208. package/dist/dev/runtime/features/publicLayout.mjs.map +1 -0
  209. package/dist/dev/runtime/features/scopedSlots.d.mts +23 -0
  210. package/dist/dev/runtime/features/scopedSlots.mjs +88 -0
  211. package/dist/dev/runtime/features/scopedSlots.mjs.map +1 -0
  212. package/dist/dev/runtime/features/setDataHighFrequencyWarning.d.mts +7 -0
  213. package/dist/dev/runtime/features/setDataHighFrequencyWarning.mjs +15 -0
  214. package/dist/dev/runtime/features/setDataHighFrequencyWarning.mjs.map +1 -0
  215. package/dist/dev/runtime/features/templateRefs.d.mts +7 -0
  216. package/dist/dev/runtime/features/templateRefs.mjs +39 -0
  217. package/dist/dev/runtime/features/templateRefs.mjs.map +1 -0
  218. package/dist/dev/runtime/hooks/base.d.mts +27 -0
  219. package/dist/dev/runtime/hooks/register.d.mts +30 -0
  220. package/dist/dev/runtime/hooks/vue.d.mts +52 -0
  221. package/dist/dev/runtime/hooks/vue.mjs +3 -5
  222. package/dist/dev/runtime/hooks/vue.mjs.map +1 -1
  223. package/dist/dev/runtime/hooks.d.mts +4 -0
  224. package/dist/dev/runtime/index.d.mts +46 -0
  225. package/dist/dev/runtime/inlineDataset.mjs +75 -0
  226. package/dist/dev/runtime/inlineDataset.mjs.map +1 -0
  227. package/dist/dev/runtime/intersectionObserver.d.mts +14 -0
  228. package/dist/dev/runtime/jsxIsland.d.mts +37 -0
  229. package/dist/dev/runtime/jsxIsland.mjs.map +1 -1
  230. package/dist/dev/runtime/layoutBridge.d.mts +55 -0
  231. package/dist/dev/runtime/layoutBridge.mjs.map +1 -1
  232. package/dist/dev/runtime/noSetData.d.mts +5 -0
  233. package/dist/dev/runtime/pageEnvironment.d.mts +50 -0
  234. package/dist/dev/runtime/pageLayout.d.mts +25 -0
  235. package/dist/dev/runtime/pageLayout.mjs.map +1 -1
  236. package/dist/dev/runtime/pageScroll.d.mts +29 -0
  237. package/dist/dev/runtime/provide.d.mts +60 -0
  238. package/dist/dev/runtime/provideStore.d.mts +7 -0
  239. package/dist/dev/runtime/publicRuntime.d.mts +22 -0
  240. package/dist/dev/runtime/publicRuntime.mjs +91 -0
  241. package/dist/dev/runtime/publicRuntime.mjs.map +1 -0
  242. package/dist/dev/runtime/pullDownRefresh.d.mts +12 -0
  243. package/dist/dev/runtime/register/app.d.mts +14 -0
  244. package/dist/dev/runtime/register/app.mjs +7 -10
  245. package/dist/dev/runtime/register/app.mjs.map +1 -1
  246. package/dist/dev/runtime/register/component/lifecycle.mjs +22 -6
  247. package/dist/dev/runtime/register/component/lifecycle.mjs.map +1 -1
  248. package/dist/dev/runtime/register/component/methods.mjs +7 -10
  249. package/dist/dev/runtime/register/component/methods.mjs.map +1 -1
  250. package/dist/dev/runtime/register/component/options.mjs.map +1 -1
  251. package/dist/dev/runtime/register/component/registerDefinition.mjs +64 -69
  252. package/dist/dev/runtime/register/component/registerDefinition.mjs.map +1 -1
  253. package/dist/dev/runtime/register/component.d.mts +17 -0
  254. package/dist/dev/runtime/register/inline.d.mts +15 -0
  255. package/dist/dev/runtime/register/inline.mjs +4 -64
  256. package/dist/dev/runtime/register/inline.mjs.map +1 -1
  257. package/dist/dev/runtime/register/runtimeInstance/setupContext.mjs +16 -2
  258. package/dist/dev/runtime/register/runtimeInstance/setupContext.mjs.map +1 -1
  259. package/dist/dev/runtime/register/runtimeInstance/setupPhase.mjs +0 -4
  260. package/dist/dev/runtime/register/runtimeInstance/setupPhase.mjs.map +1 -1
  261. package/dist/dev/runtime/register/runtimeInstance/setupSnapshot.mjs +26 -0
  262. package/dist/dev/runtime/register/runtimeInstance/setupSnapshot.mjs.map +1 -0
  263. package/dist/dev/runtime/register/runtimeInstance/utils.mjs.map +1 -1
  264. package/dist/dev/runtime/register/runtimeInstance.d.mts +26 -0
  265. package/dist/dev/runtime/register/runtimeInstance.mjs +402 -160
  266. package/dist/dev/runtime/register/runtimeInstance.mjs.map +1 -1
  267. package/dist/dev/runtime/register/setDataFrequencyWarning.mjs.map +1 -1
  268. package/dist/dev/runtime/register/setup.d.mts +11 -0
  269. package/dist/dev/runtime/register/snapshot.mjs +6 -10
  270. package/dist/dev/runtime/register/snapshot.mjs.map +1 -1
  271. package/dist/dev/runtime/register/watch.d.mts +12 -0
  272. package/dist/dev/runtime/register.d.mts +5 -0
  273. package/dist/dev/runtime/scopedSlots.mjs +1 -1
  274. package/dist/dev/runtime/scopedSlots.mjs.map +1 -1
  275. package/dist/dev/runtime/selectorQuery.d.mts +54 -0
  276. package/dist/dev/runtime/selectorQuery.mjs +5 -0
  277. package/dist/dev/runtime/selectorQuery.mjs.map +1 -1
  278. package/dist/dev/runtime/teardown.mjs +18 -0
  279. package/dist/dev/runtime/teardown.mjs.map +1 -0
  280. package/dist/dev/runtime/template.d.mts +6 -0
  281. package/dist/dev/runtime/templateRefTypes.d.mts +12 -0
  282. package/dist/dev/runtime/templateRefs/helpers.mjs.map +1 -1
  283. package/dist/dev/runtime/templateRefs.mjs +187 -118
  284. package/dist/dev/runtime/templateRefs.mjs.map +1 -1
  285. package/dist/dev/runtime/types/core.d.mts +35 -0
  286. package/dist/dev/runtime/types/miniprogram.d.mts +84 -0
  287. package/dist/dev/runtime/types/miniprogramHost.d.mts +45 -0
  288. package/dist/dev/runtime/types/miniprogramHostSources.d.mts +112 -0
  289. package/dist/dev/runtime/types/options.d.mts +136 -0
  290. package/dist/dev/runtime/types/props/propTypes.d.mts +79 -0
  291. package/dist/dev/runtime/types/props/router.d.mts +51 -0
  292. package/dist/dev/runtime/types/props/setup.d.mts +96 -0
  293. package/dist/dev/runtime/types/props.d.mts +4 -0
  294. package/dist/dev/runtime/types/runtime.d.mts +59 -0
  295. package/dist/dev/runtime/types/setData.d.mts +237 -0
  296. package/dist/dev/runtime/types.d.mts +29 -0
  297. package/dist/dev/runtime/uniAppHost.d.mts +8 -0
  298. package/dist/dev/runtime/updatePerformance.d.mts +13 -0
  299. package/dist/dev/runtime/use.d.mts +13 -0
  300. package/dist/dev/runtime/vueCompat/context.d.mts +8 -0
  301. package/dist/dev/runtime/vueCompat/model.d.mts +30 -0
  302. package/dist/dev/runtime/vueCompat/router.d.mts +28 -0
  303. package/dist/dev/runtime/vueCompat/templateRef.d.mts +9 -0
  304. package/dist/dev/runtime/vueCompat/templateRef.mjs +2 -0
  305. package/dist/dev/runtime/vueCompat/templateRef.mjs.map +1 -1
  306. package/dist/dev/runtime/vueCompat.d.mts +5 -0
  307. package/dist/dev/scheduler.d.mts +4 -0
  308. package/dist/dev/store/base.mjs +12 -18
  309. package/dist/dev/store/base.mjs.map +1 -1
  310. package/dist/dev/store/define/optionsStyle.mjs +13 -23
  311. package/dist/dev/store/define/optionsStyle.mjs.map +1 -1
  312. package/dist/dev/store/define/setupStyle.mjs +14 -24
  313. package/dist/dev/store/define/setupStyle.mjs.map +1 -1
  314. package/dist/dev/store/define/shared.mjs +44 -1
  315. package/dist/dev/store/define/shared.mjs.map +1 -1
  316. package/dist/dev/store/define.d.mts +28 -0
  317. package/dist/dev/store/define.mjs.map +1 -1
  318. package/dist/dev/store/manager.d.mts +8 -0
  319. package/dist/dev/store/storeToRefs.d.mts +13 -0
  320. package/dist/dev/store/types.d.mts +70 -0
  321. package/dist/dev/store.d.mts +5 -0
  322. package/dist/dev/ttIntrinsicElements/base.d.mts +5 -0
  323. package/dist/dev/ttIntrinsicElements/elements/ad.d.mts +8 -0
  324. package/dist/dev/ttIntrinsicElements/elements/aweme-data.d.mts +15 -0
  325. package/dist/dev/ttIntrinsicElements/elements/aweme-user-card.d.mts +16 -0
  326. package/dist/dev/ttIntrinsicElements/elements/button.d.mts +23 -0
  327. package/dist/dev/ttIntrinsicElements/elements/camera.d.mts +19 -0
  328. package/dist/dev/ttIntrinsicElements/elements/canvas.d.mts +16 -0
  329. package/dist/dev/ttIntrinsicElements/elements/checkbox-group.d.mts +12 -0
  330. package/dist/dev/ttIntrinsicElements/elements/checkbox.d.mts +12 -0
  331. package/dist/dev/ttIntrinsicElements/elements/draw-ad.d.mts +16 -0
  332. package/dist/dev/ttIntrinsicElements/elements/form.d.mts +14 -0
  333. package/dist/dev/ttIntrinsicElements/elements/icon.d.mts +11 -0
  334. package/dist/dev/ttIntrinsicElements/elements/image.d.mts +16 -0
  335. package/dist/dev/ttIntrinsicElements/elements/input.d.mts +32 -0
  336. package/dist/dev/ttIntrinsicElements/elements/label.d.mts +10 -0
  337. package/dist/dev/ttIntrinsicElements/elements/live-player.d.mts +19 -0
  338. package/dist/dev/ttIntrinsicElements/elements/live-preview.d.mts +13 -0
  339. package/dist/dev/ttIntrinsicElements/elements/map.d.mts +36 -0
  340. package/dist/dev/ttIntrinsicElements/elements/mask.d.mts +8 -0
  341. package/dist/dev/ttIntrinsicElements/elements/match-media.d.mts +16 -0
  342. package/dist/dev/ttIntrinsicElements/elements/movable-area.d.mts +10 -0
  343. package/dist/dev/ttIntrinsicElements/elements/movable-view.d.mts +27 -0
  344. package/dist/dev/ttIntrinsicElements/elements/navigator.d.mts +16 -0
  345. package/dist/dev/ttIntrinsicElements/elements/open-data.d.mts +15 -0
  346. package/dist/dev/ttIntrinsicElements/elements/picker-view-column.d.mts +8 -0
  347. package/dist/dev/ttIntrinsicElements/elements/picker-view.d.mts +19 -0
  348. package/dist/dev/ttIntrinsicElements/elements/picker.d.mts +22 -0
  349. package/dist/dev/ttIntrinsicElements/elements/progress.d.mts +16 -0
  350. package/dist/dev/ttIntrinsicElements/elements/radio-group.d.mts +12 -0
  351. package/dist/dev/ttIntrinsicElements/elements/radio.d.mts +12 -0
  352. package/dist/dev/ttIntrinsicElements/elements/rich-text.d.mts +10 -0
  353. package/dist/dev/ttIntrinsicElements/elements/rtc-room.d.mts +13 -0
  354. package/dist/dev/ttIntrinsicElements/elements/scroll-view.d.mts +32 -0
  355. package/dist/dev/ttIntrinsicElements/elements/slider.d.mts +19 -0
  356. package/dist/dev/ttIntrinsicElements/elements/swiper-item.d.mts +10 -0
  357. package/dist/dev/ttIntrinsicElements/elements/swiper.d.mts +27 -0
  358. package/dist/dev/ttIntrinsicElements/elements/switch.d.mts +14 -0
  359. package/dist/dev/ttIntrinsicElements/elements/text.d.mts +12 -0
  360. package/dist/dev/ttIntrinsicElements/elements/textarea.d.mts +34 -0
  361. package/dist/dev/ttIntrinsicElements/elements/video.d.mts +58 -0
  362. package/dist/dev/ttIntrinsicElements/elements/view.d.mts +15 -0
  363. package/dist/dev/ttIntrinsicElements/elements/web-view.d.mts +15 -0
  364. package/dist/dev/ttIntrinsicElements.d.mts +88 -0
  365. package/dist/dev/version.d.mts +4 -0
  366. package/dist/dev/vue-augment.d.mts +8 -0
  367. package/dist/dev/vue-demi.d.mts +87 -0
  368. package/dist/dev/vue-demi.mjs +12 -15
  369. package/dist/dev/vue-demi.mjs.map +1 -1
  370. package/dist/dev/vue-types.d.mts +19 -0
  371. package/dist/dev/weappIntrinsicElements/base.d.mts +5 -0
  372. package/dist/dev/weappIntrinsicElements/elements/ad-custom.d.mts +14 -0
  373. package/dist/dev/weappIntrinsicElements/elements/ad.d.mts +17 -0
  374. package/dist/dev/weappIntrinsicElements/elements/audio.d.mts +21 -0
  375. package/dist/dev/weappIntrinsicElements/elements/block.d.mts +8 -0
  376. package/dist/dev/weappIntrinsicElements/elements/button.d.mts +42 -0
  377. package/dist/dev/weappIntrinsicElements/elements/camera.d.mts +19 -0
  378. package/dist/dev/weappIntrinsicElements/elements/canvas.d.mts +19 -0
  379. package/dist/dev/weappIntrinsicElements/elements/checkbox-group.d.mts +11 -0
  380. package/dist/dev/weappIntrinsicElements/elements/checkbox.d.mts +13 -0
  381. package/dist/dev/weappIntrinsicElements/elements/cover-image.d.mts +14 -0
  382. package/dist/dev/weappIntrinsicElements/elements/cover-view.d.mts +10 -0
  383. package/dist/dev/weappIntrinsicElements/elements/editor.d.mts +23 -0
  384. package/dist/dev/weappIntrinsicElements/elements/form.d.mts +17 -0
  385. package/dist/dev/weappIntrinsicElements/elements/functional-page-navigator.d.mts +16 -0
  386. package/dist/dev/weappIntrinsicElements/elements/icon.d.mts +12 -0
  387. package/dist/dev/weappIntrinsicElements/elements/image.d.mts +19 -0
  388. package/dist/dev/weappIntrinsicElements/elements/import.d.mts +10 -0
  389. package/dist/dev/weappIntrinsicElements/elements/include.d.mts +10 -0
  390. package/dist/dev/weappIntrinsicElements/elements/input.d.mts +47 -0
  391. package/dist/dev/weappIntrinsicElements/elements/keyboard-accessory.d.mts +8 -0
  392. package/dist/dev/weappIntrinsicElements/elements/label.d.mts +10 -0
  393. package/dist/dev/weappIntrinsicElements/elements/live-player.d.mts +36 -0
  394. package/dist/dev/weappIntrinsicElements/elements/live-pusher.d.mts +58 -0
  395. package/dist/dev/weappIntrinsicElements/elements/map.d.mts +106 -0
  396. package/dist/dev/weappIntrinsicElements/elements/match-media.d.mts +16 -0
  397. package/dist/dev/weappIntrinsicElements/elements/movable-area.d.mts +27 -0
  398. package/dist/dev/weappIntrinsicElements/elements/movable-view.d.mts +27 -0
  399. package/dist/dev/weappIntrinsicElements/elements/navigation-bar.d.mts +15 -0
  400. package/dist/dev/weappIntrinsicElements/elements/navigator.d.mts +26 -0
  401. package/dist/dev/weappIntrinsicElements/elements/official-account.d.mts +14 -0
  402. package/dist/dev/weappIntrinsicElements/elements/open-data.d.mts +16 -0
  403. package/dist/dev/weappIntrinsicElements/elements/page-container.d.mts +26 -0
  404. package/dist/dev/weappIntrinsicElements/elements/page-meta.d.mts +24 -0
  405. package/dist/dev/weappIntrinsicElements/elements/picker-view-column.d.mts +19 -0
  406. package/dist/dev/weappIntrinsicElements/elements/picker-view.d.mts +19 -0
  407. package/dist/dev/weappIntrinsicElements/elements/picker.d.mts +24 -0
  408. package/dist/dev/weappIntrinsicElements/elements/progress.d.mts +22 -0
  409. package/dist/dev/weappIntrinsicElements/elements/radio-group.d.mts +11 -0
  410. package/dist/dev/weappIntrinsicElements/elements/radio.d.mts +13 -0
  411. package/dist/dev/weappIntrinsicElements/elements/rich-text.d.mts +17 -0
  412. package/dist/dev/weappIntrinsicElements/elements/scroll-view.d.mts +64 -0
  413. package/dist/dev/weappIntrinsicElements/elements/share-element.d.mts +17 -0
  414. package/dist/dev/weappIntrinsicElements/elements/slider.d.mts +24 -0
  415. package/dist/dev/weappIntrinsicElements/elements/slot.d.mts +10 -0
  416. package/dist/dev/weappIntrinsicElements/elements/swiper-item.d.mts +11 -0
  417. package/dist/dev/weappIntrinsicElements/elements/swiper.d.mts +40 -0
  418. package/dist/dev/weappIntrinsicElements/elements/switch.d.mts +15 -0
  419. package/dist/dev/weappIntrinsicElements/elements/template.d.mts +12 -0
  420. package/dist/dev/weappIntrinsicElements/elements/text.d.mts +15 -0
  421. package/dist/dev/weappIntrinsicElements/elements/textarea.d.mts +41 -0
  422. package/dist/dev/weappIntrinsicElements/elements/video.d.mts +72 -0
  423. package/dist/dev/weappIntrinsicElements/elements/view.d.mts +15 -0
  424. package/dist/dev/weappIntrinsicElements/elements/voip-room.d.mts +15 -0
  425. package/dist/dev/weappIntrinsicElements/elements/web-view.d.mts +14 -0
  426. package/dist/dev/weappIntrinsicElements.d.mts +114 -0
  427. package/dist/dev/web-apis.d.mts +3 -0
  428. package/dist/fetch.d.mts +4 -4
  429. package/dist/index.d.mts +13 -14
  430. package/dist/index.mjs +1 -1
  431. package/dist/internal-reactivity.d.mts +2 -1
  432. package/dist/internal-reactivity.mjs +1 -1
  433. package/dist/internal-runtime.d.mts +13 -6
  434. package/dist/internal-runtime.mjs +1 -1
  435. package/dist/jsx-runtime.d.mts +51 -14
  436. package/dist/jsxTypes.d.mts +8 -0
  437. package/dist/macros/shared.d.mts +14 -15
  438. package/dist/macros.d.mts +22 -22
  439. package/dist/miniprogram/jsx-runtime.d.mts +13 -0
  440. package/dist/miniprogram/jsx-runtime.mjs +1 -0
  441. package/dist/miniprogramIntrinsicElements/base.d.mts +4 -0
  442. package/dist/miniprogramIntrinsicElements/elements/button.d.mts +23 -0
  443. package/dist/miniprogramIntrinsicElements/elements/camera.d.mts +18 -0
  444. package/dist/miniprogramIntrinsicElements/elements/canvas.d.mts +16 -0
  445. package/dist/miniprogramIntrinsicElements/elements/checkbox-group.d.mts +12 -0
  446. package/dist/miniprogramIntrinsicElements/elements/checkbox.d.mts +13 -0
  447. package/dist/miniprogramIntrinsicElements/elements/form.d.mts +13 -0
  448. package/dist/miniprogramIntrinsicElements/elements/icon.d.mts +12 -0
  449. package/dist/miniprogramIntrinsicElements/elements/image.d.mts +16 -0
  450. package/dist/miniprogramIntrinsicElements/elements/input.d.mts +29 -0
  451. package/dist/miniprogramIntrinsicElements/elements/label.d.mts +11 -0
  452. package/dist/miniprogramIntrinsicElements/elements/map.d.mts +31 -0
  453. package/dist/miniprogramIntrinsicElements/elements/match-media.d.mts +13 -0
  454. package/dist/miniprogramIntrinsicElements/elements/movable-area.d.mts +9 -0
  455. package/dist/miniprogramIntrinsicElements/elements/movable-view.d.mts +26 -0
  456. package/dist/miniprogramIntrinsicElements/elements/navigator.d.mts +15 -0
  457. package/dist/miniprogramIntrinsicElements/elements/picker-view-column.d.mts +9 -0
  458. package/dist/miniprogramIntrinsicElements/elements/picker-view.d.mts +20 -0
  459. package/dist/miniprogramIntrinsicElements/elements/picker.d.mts +14 -0
  460. package/dist/miniprogramIntrinsicElements/elements/progress.d.mts +12 -0
  461. package/dist/miniprogramIntrinsicElements/elements/radio-group.d.mts +12 -0
  462. package/dist/miniprogramIntrinsicElements/elements/radio.d.mts +13 -0
  463. package/dist/miniprogramIntrinsicElements/elements/rich-text.d.mts +11 -0
  464. package/dist/miniprogramIntrinsicElements/elements/scroll-view.d.mts +22 -0
  465. package/dist/miniprogramIntrinsicElements/elements/slider.d.mts +19 -0
  466. package/dist/miniprogramIntrinsicElements/elements/swiper-item.d.mts +9 -0
  467. package/dist/miniprogramIntrinsicElements/elements/swiper.d.mts +24 -0
  468. package/dist/miniprogramIntrinsicElements/elements/switch.d.mts +14 -0
  469. package/dist/miniprogramIntrinsicElements/elements/text.d.mts +13 -0
  470. package/dist/miniprogramIntrinsicElements/elements/textarea.d.mts +23 -0
  471. package/dist/miniprogramIntrinsicElements/elements/video.d.mts +29 -0
  472. package/dist/miniprogramIntrinsicElements/elements/view.d.mts +16 -0
  473. package/dist/miniprogramIntrinsicElements/elements/web-view.d.mts +15 -0
  474. package/dist/miniprogramIntrinsicElements.d.mts +70 -0
  475. package/dist/package.mjs +1 -1
  476. package/dist/reactivity/asyncDerivation.d.mts +40 -0
  477. package/dist/reactivity/asyncDerivation.mjs +1 -0
  478. package/dist/reactivity/computed.d.mts +8 -9
  479. package/dist/reactivity/computed.mjs +1 -1
  480. package/dist/reactivity/core.d.mts +15 -15
  481. package/dist/reactivity/core.mjs +1 -1
  482. package/dist/reactivity/index.d.mts +2 -1
  483. package/dist/reactivity/reactive/mutation.d.mts +6 -7
  484. package/dist/reactivity/reactive/patch.d.mts +4 -5
  485. package/dist/reactivity/reactive/shallow.d.mts +3 -4
  486. package/dist/reactivity/reactive/shared.d.mts +2 -3
  487. package/dist/reactivity/reactive.d.mts +6 -6
  488. package/dist/reactivity/readonly.d.mts +7 -8
  489. package/dist/reactivity/ref.d.mts +14 -15
  490. package/dist/reactivity/ref.mjs +1 -1
  491. package/dist/reactivity/shallowRef.d.mts +5 -6
  492. package/dist/reactivity/toRefs.d.mts +5 -6
  493. package/dist/reactivity/traverse.d.mts +2 -3
  494. package/dist/reactivity/watch/types.d.mts +18 -19
  495. package/dist/reactivity/watch.d.mts +8 -8
  496. package/dist/router/createRouter.d.mts +2 -3
  497. package/dist/router/navigationCore.d.mts +3 -4
  498. package/dist/router/resolve.d.mts +2 -3
  499. package/dist/router/routeSync.mjs +1 -1
  500. package/dist/router/types.d.mts +38 -39
  501. package/dist/router/useRoute.d.mts +5 -6
  502. package/dist/router/useRoute.mjs +1 -1
  503. package/dist/router/useRouter.d.mts +2 -3
  504. package/dist/routerInternal/query.d.mts +3 -4
  505. package/dist/routerInternal/types.d.mts +2 -3
  506. package/dist/runtime/app/computed.mjs +1 -1
  507. package/dist/runtime/app/context.mjs +1 -1
  508. package/dist/runtime/app/diagnostics.mjs +1 -1
  509. package/dist/runtime/app/mount.mjs +1 -1
  510. package/dist/runtime/app/pending.d.mts +3 -4
  511. package/dist/runtime/app/setData/commitTracker.d.mts +12 -0
  512. package/dist/runtime/app/setData/commitTracker.mjs +1 -0
  513. package/dist/runtime/app/setData/patchScheduler.mjs +1 -1
  514. package/dist/runtime/app/setData/scheduler.d.mts +50 -0
  515. package/dist/runtime/app/setData/scheduler.mjs +1 -1
  516. package/dist/runtime/app/setData/snapshot.mjs +1 -1
  517. package/dist/runtime/app.d.mts +2 -3
  518. package/dist/runtime/app.mjs +1 -1
  519. package/dist/runtime/bindingManifest.mjs +1 -0
  520. package/dist/runtime/capabilities.d.mts +74 -0
  521. package/dist/runtime/capabilities.mjs +1 -0
  522. package/dist/runtime/css.d.mts +3 -4
  523. package/dist/runtime/defaults.d.mts +5 -6
  524. package/dist/runtime/define/componentDefinition.mjs +1 -1
  525. package/dist/runtime/define/optionsApi.mjs +1 -1
  526. package/dist/runtime/define/props.mjs +1 -1
  527. package/dist/runtime/define/scopedSlotOptions.mjs +1 -1
  528. package/dist/runtime/define.d.mts +18 -27
  529. package/dist/runtime/define.mjs +1 -1
  530. package/dist/runtime/diff.mjs +1 -1
  531. package/dist/runtime/disposables.d.mts +6 -7
  532. package/dist/runtime/elementIntersectionObserver.d.mts +5 -6
  533. package/dist/runtime/features/inlineEvents.d.mts +6 -0
  534. package/dist/runtime/features/inlineEvents.mjs +1 -0
  535. package/dist/runtime/features/layout.d.mts +6 -0
  536. package/dist/runtime/features/layout.mjs +1 -0
  537. package/dist/runtime/features/patchStrategy.d.mts +6 -0
  538. package/dist/runtime/features/patchStrategy.mjs +1 -0
  539. package/dist/runtime/features/publicLayout.d.mts +23 -0
  540. package/dist/runtime/features/publicLayout.mjs +1 -0
  541. package/dist/runtime/features/scopedSlots.d.mts +22 -0
  542. package/dist/runtime/features/scopedSlots.mjs +1 -0
  543. package/dist/runtime/features/setDataHighFrequencyWarning.d.mts +6 -0
  544. package/dist/runtime/features/setDataHighFrequencyWarning.mjs +1 -0
  545. package/dist/runtime/features/templateRefs.d.mts +6 -0
  546. package/dist/runtime/features/templateRefs.mjs +1 -0
  547. package/dist/runtime/hooks/base.d.mts +7 -8
  548. package/dist/runtime/hooks/register.d.mts +26 -27
  549. package/dist/runtime/hooks/vue.d.mts +13 -15
  550. package/dist/runtime/hooks/vue.mjs +1 -1
  551. package/dist/runtime/index.d.mts +12 -14
  552. package/dist/runtime/inlineDataset.mjs +1 -0
  553. package/dist/runtime/intersectionObserver.d.mts +4 -5
  554. package/dist/runtime/jsxIsland.d.mts +20 -25
  555. package/dist/runtime/layoutBridge.d.mts +12 -17
  556. package/dist/runtime/noSetData.d.mts +3 -4
  557. package/dist/runtime/pageEnvironment.d.mts +9 -10
  558. package/dist/runtime/pageLayout.d.mts +9 -11
  559. package/dist/runtime/pageScroll.d.mts +4 -5
  560. package/dist/runtime/provide.d.mts +7 -7
  561. package/dist/runtime/provideStore.d.mts +2 -3
  562. package/dist/runtime/publicRuntime.d.mts +21 -0
  563. package/dist/runtime/publicRuntime.mjs +1 -0
  564. package/dist/runtime/pullDownRefresh.d.mts +4 -5
  565. package/dist/runtime/register/app.d.mts +2 -3
  566. package/dist/runtime/register/app.mjs +1 -1
  567. package/dist/runtime/register/component/lifecycle.mjs +1 -1
  568. package/dist/runtime/register/component/methods.mjs +1 -1
  569. package/dist/runtime/register/component/registerDefinition.mjs +1 -1
  570. package/dist/runtime/register/component.d.mts +2 -3
  571. package/dist/runtime/register/inline.d.mts +3 -4
  572. package/dist/runtime/register/inline.mjs +1 -1
  573. package/dist/runtime/register/runtimeInstance/setupContext.mjs +1 -1
  574. package/dist/runtime/register/runtimeInstance/setupPhase.mjs +1 -1
  575. package/dist/runtime/register/runtimeInstance/setupSnapshot.mjs +1 -0
  576. package/dist/runtime/register/runtimeInstance.d.mts +4 -5
  577. package/dist/runtime/register/runtimeInstance.mjs +1 -1
  578. package/dist/runtime/register/setup.d.mts +2 -3
  579. package/dist/runtime/register/snapshot.mjs +1 -1
  580. package/dist/runtime/register/watch.d.mts +3 -4
  581. package/dist/runtime/scopedSlots.mjs +1 -1
  582. package/dist/runtime/selectorQuery.d.mts +15 -16
  583. package/dist/runtime/selectorQuery.mjs +1 -1
  584. package/dist/runtime/teardown.mjs +1 -0
  585. package/dist/runtime/template.d.mts +4 -5
  586. package/dist/runtime/templateRefTypes.d.mts +7 -3
  587. package/dist/runtime/templateRefs.mjs +1 -1
  588. package/dist/runtime/types/core.d.mts +9 -10
  589. package/dist/runtime/types/miniprogram.d.mts +13 -10
  590. package/dist/runtime/types/miniprogramHost.d.mts +41 -41
  591. package/dist/runtime/types/miniprogramHostSources.d.mts +21 -22
  592. package/dist/runtime/types/options.d.mts +8 -9
  593. package/dist/runtime/types/props/propTypes.d.mts +16 -17
  594. package/dist/runtime/types/props/router.d.mts +13 -14
  595. package/dist/runtime/types/props/setup.d.mts +7 -8
  596. package/dist/runtime/types/props.d.mts +1 -1
  597. package/dist/runtime/types/runtime.d.mts +7 -8
  598. package/dist/runtime/types/setData.d.mts +21 -5
  599. package/dist/runtime/types.d.mts +10 -10
  600. package/dist/runtime/uniAppHost.d.mts +2 -3
  601. package/dist/runtime/updatePerformance.d.mts +5 -6
  602. package/dist/runtime/use.d.mts +3 -4
  603. package/dist/runtime/vueCompat/context.d.mts +4 -5
  604. package/dist/runtime/vueCompat/model.d.mts +9 -10
  605. package/dist/runtime/vueCompat/router.d.mts +3 -4
  606. package/dist/runtime/vueCompat/templateRef.d.mts +4 -5
  607. package/dist/runtime/vueCompat/templateRef.mjs +1 -1
  608. package/dist/scheduler.d.mts +2 -3
  609. package/dist/store/base.mjs +1 -1
  610. package/dist/store/define/optionsStyle.mjs +1 -1
  611. package/dist/store/define/setupStyle.mjs +1 -1
  612. package/dist/store/define/shared.mjs +1 -1
  613. package/dist/store/define.d.mts +12 -11
  614. package/dist/store/manager.d.mts +2 -3
  615. package/dist/store/storeToRefs.d.mts +3 -4
  616. package/dist/store/types.d.mts +12 -13
  617. package/dist/tt/jsx-runtime.d.mts +13 -0
  618. package/dist/tt/jsx-runtime.mjs +1 -0
  619. package/dist/ttIntrinsicElements/base.d.mts +4 -0
  620. package/dist/ttIntrinsicElements/elements/ad.d.mts +7 -0
  621. package/dist/ttIntrinsicElements/elements/aweme-data.d.mts +14 -0
  622. package/dist/ttIntrinsicElements/elements/aweme-user-card.d.mts +15 -0
  623. package/dist/ttIntrinsicElements/elements/button.d.mts +22 -0
  624. package/dist/ttIntrinsicElements/elements/camera.d.mts +18 -0
  625. package/dist/ttIntrinsicElements/elements/canvas.d.mts +15 -0
  626. package/dist/ttIntrinsicElements/elements/checkbox-group.d.mts +11 -0
  627. package/dist/ttIntrinsicElements/elements/checkbox.d.mts +11 -0
  628. package/dist/ttIntrinsicElements/elements/draw-ad.d.mts +15 -0
  629. package/dist/ttIntrinsicElements/elements/form.d.mts +13 -0
  630. package/dist/ttIntrinsicElements/elements/icon.d.mts +10 -0
  631. package/dist/ttIntrinsicElements/elements/image.d.mts +15 -0
  632. package/dist/ttIntrinsicElements/elements/input.d.mts +31 -0
  633. package/dist/ttIntrinsicElements/elements/label.d.mts +9 -0
  634. package/dist/ttIntrinsicElements/elements/live-player.d.mts +18 -0
  635. package/dist/ttIntrinsicElements/elements/live-preview.d.mts +12 -0
  636. package/dist/ttIntrinsicElements/elements/map.d.mts +35 -0
  637. package/dist/ttIntrinsicElements/elements/mask.d.mts +7 -0
  638. package/dist/ttIntrinsicElements/elements/match-media.d.mts +15 -0
  639. package/dist/ttIntrinsicElements/elements/movable-area.d.mts +9 -0
  640. package/dist/ttIntrinsicElements/elements/movable-view.d.mts +26 -0
  641. package/dist/ttIntrinsicElements/elements/navigator.d.mts +15 -0
  642. package/dist/ttIntrinsicElements/elements/open-data.d.mts +14 -0
  643. package/dist/ttIntrinsicElements/elements/picker-view-column.d.mts +7 -0
  644. package/dist/ttIntrinsicElements/elements/picker-view.d.mts +18 -0
  645. package/dist/ttIntrinsicElements/elements/picker.d.mts +21 -0
  646. package/dist/ttIntrinsicElements/elements/progress.d.mts +15 -0
  647. package/dist/ttIntrinsicElements/elements/radio-group.d.mts +11 -0
  648. package/dist/ttIntrinsicElements/elements/radio.d.mts +11 -0
  649. package/dist/ttIntrinsicElements/elements/rich-text.d.mts +9 -0
  650. package/dist/ttIntrinsicElements/elements/rtc-room.d.mts +12 -0
  651. package/dist/ttIntrinsicElements/elements/scroll-view.d.mts +31 -0
  652. package/dist/ttIntrinsicElements/elements/slider.d.mts +18 -0
  653. package/dist/ttIntrinsicElements/elements/swiper-item.d.mts +9 -0
  654. package/dist/ttIntrinsicElements/elements/swiper.d.mts +26 -0
  655. package/dist/ttIntrinsicElements/elements/switch.d.mts +13 -0
  656. package/dist/ttIntrinsicElements/elements/text.d.mts +11 -0
  657. package/dist/ttIntrinsicElements/elements/textarea.d.mts +33 -0
  658. package/dist/ttIntrinsicElements/elements/video.d.mts +57 -0
  659. package/dist/ttIntrinsicElements/elements/view.d.mts +14 -0
  660. package/dist/ttIntrinsicElements/elements/web-view.d.mts +14 -0
  661. package/dist/ttIntrinsicElements.d.mts +88 -0
  662. package/dist/version.d.mts +2 -3
  663. package/dist/vue-augment.d.mts +2 -1
  664. package/dist/vue-demi.d.mts +17 -18
  665. package/dist/vue-demi.mjs +1 -1
  666. package/dist/vue-types.d.mts +2 -2
  667. package/dist/weapp/jsx-runtime.d.mts +13 -0
  668. package/dist/weapp/jsx-runtime.mjs +1 -0
  669. package/dist/weappIntrinsicElements/base.d.mts +3 -21
  670. package/dist/weappIntrinsicElements/elements/ad-custom.d.mts +6 -6
  671. package/dist/weappIntrinsicElements/elements/ad.d.mts +7 -7
  672. package/dist/weappIntrinsicElements/elements/audio.d.mts +9 -9
  673. package/dist/weappIntrinsicElements/elements/block.d.mts +3 -4
  674. package/dist/weappIntrinsicElements/elements/button.d.mts +18 -17
  675. package/dist/weappIntrinsicElements/elements/camera.d.mts +12 -12
  676. package/dist/weappIntrinsicElements/elements/canvas.d.mts +10 -10
  677. package/dist/weappIntrinsicElements/elements/checkbox-group.d.mts +6 -9
  678. package/dist/weappIntrinsicElements/elements/checkbox.d.mts +3 -4
  679. package/dist/weappIntrinsicElements/elements/cover-image.d.mts +9 -6
  680. package/dist/weappIntrinsicElements/elements/cover-view.d.mts +3 -4
  681. package/dist/weappIntrinsicElements/elements/editor.d.mts +9 -9
  682. package/dist/weappIntrinsicElements/elements/form.d.mts +7 -7
  683. package/dist/weappIntrinsicElements/elements/functional-page-navigator.d.mts +9 -9
  684. package/dist/weappIntrinsicElements/elements/icon.d.mts +3 -4
  685. package/dist/weappIntrinsicElements/elements/image.d.mts +7 -7
  686. package/dist/weappIntrinsicElements/elements/import.d.mts +3 -4
  687. package/dist/weappIntrinsicElements/elements/include.d.mts +3 -4
  688. package/dist/weappIntrinsicElements/elements/input.d.mts +17 -18
  689. package/dist/weappIntrinsicElements/elements/keyboard-accessory.d.mts +3 -4
  690. package/dist/weappIntrinsicElements/elements/label.d.mts +3 -4
  691. package/dist/weappIntrinsicElements/elements/live-player.d.mts +18 -18
  692. package/dist/weappIntrinsicElements/elements/live-pusher.d.mts +19 -19
  693. package/dist/weappIntrinsicElements/elements/map.d.mts +18 -18
  694. package/dist/weappIntrinsicElements/elements/match-media.d.mts +3 -4
  695. package/dist/weappIntrinsicElements/elements/movable-area.d.mts +8 -8
  696. package/dist/weappIntrinsicElements/elements/movable-view.d.mts +8 -8
  697. package/dist/weappIntrinsicElements/elements/navigation-bar.d.mts +3 -4
  698. package/dist/weappIntrinsicElements/elements/navigator.d.mts +10 -10
  699. package/dist/weappIntrinsicElements/elements/official-account.d.mts +6 -6
  700. package/dist/weappIntrinsicElements/elements/open-data.d.mts +5 -5
  701. package/dist/weappIntrinsicElements/elements/page-container.d.mts +11 -11
  702. package/dist/weappIntrinsicElements/elements/page-meta.d.mts +7 -7
  703. package/dist/weappIntrinsicElements/elements/picker-view-column.d.mts +7 -7
  704. package/dist/weappIntrinsicElements/elements/picker-view.d.mts +7 -7
  705. package/dist/weappIntrinsicElements/elements/picker.d.mts +9 -9
  706. package/dist/weappIntrinsicElements/elements/progress.d.mts +5 -5
  707. package/dist/weappIntrinsicElements/elements/radio-group.d.mts +6 -9
  708. package/dist/weappIntrinsicElements/elements/radio.d.mts +3 -4
  709. package/dist/weappIntrinsicElements/elements/rich-text.d.mts +6 -7
  710. package/dist/weappIntrinsicElements/elements/scroll-view.d.mts +20 -25
  711. package/dist/weappIntrinsicElements/elements/share-element.d.mts +5 -7
  712. package/dist/weappIntrinsicElements/elements/slider.d.mts +6 -6
  713. package/dist/weappIntrinsicElements/elements/slot.d.mts +3 -4
  714. package/dist/weappIntrinsicElements/elements/swiper-item.d.mts +6 -38
  715. package/dist/weappIntrinsicElements/elements/swiper.d.mts +11 -14
  716. package/dist/weappIntrinsicElements/elements/switch.d.mts +5 -5
  717. package/dist/weappIntrinsicElements/elements/template.d.mts +3 -4
  718. package/dist/weappIntrinsicElements/elements/text.d.mts +5 -6
  719. package/dist/weappIntrinsicElements/elements/textarea.d.mts +16 -16
  720. package/dist/weappIntrinsicElements/elements/video.d.mts +24 -24
  721. package/dist/weappIntrinsicElements/elements/view.d.mts +5 -4
  722. package/dist/weappIntrinsicElements/elements/voip-room.d.mts +7 -7
  723. package/dist/weappIntrinsicElements/elements/web-view.d.mts +7 -7
  724. package/dist/weappIntrinsicElements.d.mts +111 -150
  725. package/package.json +19 -19
  726. package/dist/dev/jsx-runtime.mjs +0 -1
  727. package/dist/runtime/templateRefs.d.mts +0 -11
  728. /package/dist/_virtual/{_@oxc-project_runtime@0.148.0 → _@oxc-project_runtime@0.149.0}/helpers/esm/defineProperty.mjs +0 -0
  729. /package/dist/_virtual/{_@oxc-project_runtime@0.148.0 → _@oxc-project_runtime@0.149.0}/helpers/esm/toPrimitive.mjs +0 -0
  730. /package/dist/_virtual/{_@oxc-project_runtime@0.148.0 → _@oxc-project_runtime@0.149.0}/helpers/esm/toPropertyKey.mjs +0 -0
  731. /package/dist/_virtual/{_@oxc-project_runtime@0.148.0 → _@oxc-project_runtime@0.149.0}/helpers/esm/typeof.mjs +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.mjs","names":[],"sources":["../../../../src/runtime/templateRefs/helpers.ts"],"sourcesContent":["import type { Ref } from '../../reactivity'\nimport type { TemplateRefBinding } from '../templateRefs'\nimport type {\n InternalRuntimeState,\n MiniProgramNodesRef,\n MiniProgramNodesRefFields,\n MiniProgramSelectorQuery,\n} from '../types'\nimport {\n WEVU_EXPOSED_KEY,\n WEVU_PUBLIC_RUNTIME_KEY,\n WEVU_READY_CALLED_KEY,\n WEVU_TEMPLATE_REF_MAP_KEY,\n} from '@weapp-core/constants'\nimport { isRef, markRaw } from '../../reactivity'\nimport { ReactiveFlags } from '../../reactivity/reactive'\nimport { markNoSetData } from '../noSetData'\nimport { getCurrentMiniProgramRuntimeCapabilities, getMiniProgramGlobalObject, supportsCurrentMiniProgramRuntimeCapability } from '../platform'\n\ntype TemplateRefTarget\n = | { type: 'function', fn: (value: any) => void }\n | { type: 'ref', ref: Ref<any> }\n | { type: 'name', name: string }\n | { type: 'skip' }\n\nexport type TemplateRefMap = Map<string, Ref<any>>\n\nexport function isComponentRef(binding: TemplateRefBinding) {\n return binding.kind === 'component'\n}\n\nfunction proxyRefs<T extends Record<string, any>>(target: T): T {\n return new Proxy(target, {\n get(obj, key, receiver) {\n const value = Reflect.get(obj, key, receiver) as unknown\n return isRef(value) ? value.value : value\n },\n set(obj, key, value, receiver) {\n const current = (obj as any)[key]\n if (isRef(current) && !isRef(value)) {\n current.value = value\n return true\n }\n return Reflect.set(obj, key, value, receiver)\n },\n })\n}\n\nfunction getExposeProxy(target: any, exposed: Record<string, any>) {\n const existing = target.__wevuExposeProxy\n if (existing && target.__wevuExposeRaw === exposed) {\n return existing\n }\n const proxy = proxyRefs(exposed)\n try {\n Object.defineProperty(target, '__wevuExposeProxy', {\n value: proxy,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n Object.defineProperty(target, '__wevuExposeRaw', {\n value: exposed,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n }\n catch {\n target.__wevuExposeProxy = proxy\n target.__wevuExposeRaw = exposed\n }\n return proxy\n}\n\nfunction mergeComponentRefValue(\n wrapper: Record<string, any>,\n exposed: unknown,\n resolveCurrent?: () => unknown,\n) {\n if ((!exposed || typeof exposed !== 'object') && !resolveCurrent) {\n return wrapper\n }\n const source = exposed && typeof exposed === 'object'\n ? exposed as Record<string, any>\n : Object.create(null) as Record<string, any>\n const getSource = () => {\n const current = resolveCurrent?.()\n return current && typeof current === 'object'\n ? current as Record<string, any>\n : source\n }\n markRaw(wrapper)\n const merged = new Proxy(wrapper, {\n get(target, key, receiver) {\n if (key === ReactiveFlags.RAW) {\n return target\n }\n if (key === ReactiveFlags.IS_REACTIVE || key === ReactiveFlags.IS_READONLY) {\n return false\n }\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key, receiver)\n }\n const currentSource = getSource()\n const value = currentSource[key as keyof typeof currentSource]\n if (typeof value === 'function') {\n return value.bind(currentSource)\n }\n return value\n },\n set(target, key, value, receiver) {\n if (Reflect.has(target, key)) {\n return Reflect.set(target, key, value, receiver)\n }\n const currentSource = getSource()\n if (key in currentSource) {\n currentSource[key as keyof typeof currentSource] = value\n return true\n }\n currentSource[key as keyof typeof currentSource] = value\n return true\n },\n has(target, key) {\n return Reflect.has(target, key) || key in getSource()\n },\n ownKeys(target) {\n return [...new Set([...Reflect.ownKeys(target), ...Reflect.ownKeys(getSource())])]\n },\n getOwnPropertyDescriptor(target, key) {\n if (Reflect.has(target, key)) {\n return Object.getOwnPropertyDescriptor(target, key)\n }\n const descriptor = Object.getOwnPropertyDescriptor(getSource(), key)\n if (!descriptor) {\n return descriptor\n }\n return {\n ...descriptor,\n configurable: true,\n }\n },\n })\n return markNoSetData(merged)\n}\n\nfunction resolveComponentPublicInstance(value: any) {\n if (!value || typeof value !== 'object') {\n return value ?? null\n }\n const instance = value as any\n if (instance.__wevu && !instance[WEVU_READY_CALLED_KEY]) {\n return null\n }\n const exposed = instance[WEVU_EXPOSED_KEY]\n if (exposed && typeof exposed === 'object') {\n return getExposeProxy(instance, exposed as Record<string, any>)\n }\n if (instance[WEVU_PUBLIC_RUNTIME_KEY]?.proxy) {\n return instance[WEVU_PUBLIC_RUNTIME_KEY].proxy\n }\n return value\n}\n\nexport function getTemplateRefMap(target: InternalRuntimeState): TemplateRefMap | undefined {\n return (target as any)[WEVU_TEMPLATE_REF_MAP_KEY] as TemplateRefMap | undefined\n}\n\nexport function updateTemplateRefMapValue(\n refMap: TemplateRefMap | undefined,\n name: string,\n value: any,\n) {\n if (!refMap) {\n return\n }\n const entry = refMap.get(name)\n if (entry) {\n entry.value = value\n }\n}\n\nexport function resolveTemplateRefTarget(\n target: InternalRuntimeState,\n binding: TemplateRefBinding,\n evaluationTarget: InternalRuntimeState = target,\n): TemplateRefTarget {\n const proxy = evaluationTarget.__wevu?.proxy ?? evaluationTarget\n let resolved: unknown\n if (binding.get) {\n try {\n resolved = binding.get.call(proxy)\n }\n catch {\n resolved = undefined\n }\n }\n if (resolved == null && binding.name) {\n const setupBinding = target.__wevu?.setupState?.[binding.name]\n if (isRef(setupBinding) || typeof setupBinding === 'function') {\n resolved = setupBinding\n }\n }\n if (resolved == null && binding.name) {\n resolved = binding.name\n }\n if (typeof resolved === 'function') {\n return { type: 'function', fn: resolved as (value: any) => void }\n }\n if (isRef(resolved)) {\n return { type: 'ref', ref: resolved as Ref<any> }\n }\n if (typeof resolved === 'string' && resolved) {\n return { type: 'name', name: resolved }\n }\n if (binding.name) {\n return { type: 'name', name: binding.name }\n }\n return { type: 'skip' }\n}\n\nexport function ensureRefsContainer(target: InternalRuntimeState): Record<string, any> {\n const runtimeState = (target.__wevu?.state ?? target) as Record<string, any>\n const existing = runtimeState.$refs\n if (existing && typeof existing === 'object') {\n return existing as Record<string, any>\n }\n const refs = markNoSetData(Object.create(null))\n Object.defineProperty(runtimeState, '$refs', {\n value: refs,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n return refs\n}\n\nexport function createSelectorQuery(target: InternalRuntimeState): MiniProgramSelectorQuery | null {\n const instance = target as any\n if (instance && typeof instance.createSelectorQuery === 'function') {\n return instance.createSelectorQuery()\n }\n if (!supportsCurrentMiniProgramRuntimeCapability('globalCreateSelectorQuery')) {\n return null\n }\n const miniProgramGlobal = getMiniProgramGlobalObject()\n if (miniProgramGlobal && typeof miniProgramGlobal.createSelectorQuery === 'function') {\n const query = miniProgramGlobal.createSelectorQuery()\n if (!query) {\n return null\n }\n if (getCurrentMiniProgramRuntimeCapabilities().selectorQueryScopeByIn && typeof (query as any).in === 'function') {\n return (query as any).in(instance)\n }\n return query\n }\n return null\n}\n\nfunction runQuery<T>(\n target: InternalRuntimeState,\n selector: string,\n options: { multiple: boolean, index?: number },\n apply: (nodesRef: MiniProgramNodesRef) => void,\n cb?: (value: T | null) => void,\n): Promise<T | null> {\n const query = createSelectorQuery(target)\n if (!query) {\n const fallback = null\n if (cb) {\n cb(fallback)\n }\n return Promise.resolve(fallback)\n }\n const nodesRef = options.multiple ? query.selectAll(selector) : query.select(selector)\n apply(nodesRef)\n return new Promise((resolve) => {\n query.exec((res) => {\n let result: any = Array.isArray(res) ? res[0] : null\n if (options.index != null && Array.isArray(result)) {\n result = result[options.index] ?? null\n }\n if (cb) {\n cb(result ?? null)\n }\n resolve(result ?? null)\n })\n })\n}\n\nfunction createTemplateRefWrapper(\n target: InternalRuntimeState,\n selector: string,\n options: { multiple: boolean, index?: number },\n) {\n const wrapper = {\n selector,\n boundingClientRect: (cb?: (value: any) => void) => {\n return runQuery(target, selector, options, ref => ref.boundingClientRect(), cb)\n },\n scrollOffset: (cb?: (value: any) => void) => {\n return runQuery(target, selector, options, ref => ref.scrollOffset(), cb)\n },\n fields: (fields: MiniProgramNodesRefFields, cb?: (value: any) => void) => {\n return runQuery(target, selector, options, ref => ref.fields(fields as any), cb)\n },\n node: (cb?: (value: any) => void) => {\n return runQuery(target, selector, options, ref => ref.node(), cb)\n },\n }\n return markNoSetData(wrapper)\n}\n\nexport function resolveComponentRefValue(\n target: InternalRuntimeState,\n binding: TemplateRefBinding,\n) {\n const instance = target as any\n if (!instance) {\n return binding.inFor ? markNoSetData([]) : null\n }\n if (binding.inFor) {\n if (typeof instance.selectAllComponents === 'function') {\n const result = instance.selectAllComponents(binding.selector)\n const items = Array.isArray(result) ? result : []\n const merged = items.map((item, index) => {\n const wrapper = createTemplateRefWrapper(target, binding.selector, { multiple: true, index })\n const resolveCurrent = () => {\n const current = instance.selectAllComponents(binding.selector)\n return resolveComponentPublicInstance(Array.isArray(current) ? current[index] : null)\n }\n return mergeComponentRefValue(wrapper as Record<string, any>, resolveComponentPublicInstance(item), resolveCurrent)\n })\n return markNoSetData(merged)\n }\n return markNoSetData([])\n }\n const wrapper = createTemplateRefWrapper(target, binding.selector, { multiple: false })\n if (typeof instance.selectComponent !== 'function') {\n return wrapper\n }\n const result = instance.selectComponent(binding.selector)\n if (!result) {\n return null\n }\n const publicInstance = resolveComponentPublicInstance(result)\n if (!publicInstance) {\n return null\n }\n const resolveCurrent = () => resolveComponentPublicInstance(instance.selectComponent(binding.selector))\n return mergeComponentRefValue(wrapper as Record<string, any>, publicInstance, resolveCurrent)\n}\n\nexport function buildTemplateRefValue(\n target: InternalRuntimeState,\n binding: TemplateRefBinding,\n result: unknown,\n) {\n if (binding.inFor) {\n const items = Array.isArray(result) ? result : []\n const wrappers = items.map((_, index) => createTemplateRefWrapper(target, binding.selector, { multiple: true, index }))\n return markNoSetData(wrappers)\n }\n if (!result) {\n return null\n }\n return createTemplateRefWrapper(target, binding.selector, { multiple: false })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.mjs","names":[],"sources":["../../../../src/runtime/templateRefs/helpers.ts"],"sourcesContent":["import type { Ref } from '../../reactivity'\nimport type { TemplateRefBinding } from '../capabilities'\nimport type {\n InternalRuntimeState,\n MiniProgramNodesRef,\n MiniProgramNodesRefFields,\n MiniProgramSelectorQuery,\n} from '../types'\nimport {\n WEVU_EXPOSED_KEY,\n WEVU_PUBLIC_RUNTIME_KEY,\n WEVU_READY_CALLED_KEY,\n WEVU_TEMPLATE_REF_MAP_KEY,\n} from '@weapp-core/constants'\nimport { isRef, markRaw } from '../../reactivity'\nimport { ReactiveFlags } from '../../reactivity/reactive'\nimport { markNoSetData } from '../noSetData'\nimport { getCurrentMiniProgramRuntimeCapabilities, getMiniProgramGlobalObject, supportsCurrentMiniProgramRuntimeCapability } from '../platform'\n\ntype TemplateRefTarget\n = | { type: 'function', fn: (value: any) => void }\n | { type: 'ref', ref: Ref<any> }\n | { type: 'name', name: string }\n | { type: 'skip' }\n\nexport type TemplateRefMap = Map<string, Ref<any>>\n\nexport function isComponentRef(binding: TemplateRefBinding) {\n return binding.kind === 'component'\n}\n\nfunction proxyRefs<T extends Record<string, any>>(target: T): T {\n return new Proxy(target, {\n get(obj, key, receiver) {\n const value = Reflect.get(obj, key, receiver) as unknown\n return isRef(value) ? value.value : value\n },\n set(obj, key, value, receiver) {\n const current = (obj as any)[key]\n if (isRef(current) && !isRef(value)) {\n current.value = value\n return true\n }\n return Reflect.set(obj, key, value, receiver)\n },\n })\n}\n\nfunction getExposeProxy(target: any, exposed: Record<string, any>) {\n const existing = target.__wevuExposeProxy\n if (existing && target.__wevuExposeRaw === exposed) {\n return existing\n }\n const proxy = proxyRefs(exposed)\n try {\n Object.defineProperty(target, '__wevuExposeProxy', {\n value: proxy,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n Object.defineProperty(target, '__wevuExposeRaw', {\n value: exposed,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n }\n catch {\n target.__wevuExposeProxy = proxy\n target.__wevuExposeRaw = exposed\n }\n return proxy\n}\n\nfunction mergeComponentRefValue(\n wrapper: Record<string, any>,\n exposed: unknown,\n resolveCurrent?: () => unknown,\n) {\n if ((!exposed || typeof exposed !== 'object') && !resolveCurrent) {\n return wrapper\n }\n const source = exposed && typeof exposed === 'object'\n ? exposed as Record<string, any>\n : Object.create(null) as Record<string, any>\n const getSource = () => {\n const current = resolveCurrent?.()\n return current && typeof current === 'object'\n ? current as Record<string, any>\n : source\n }\n markRaw(wrapper)\n const merged = new Proxy(wrapper, {\n get(target, key, receiver) {\n if (key === ReactiveFlags.RAW) {\n return target\n }\n if (key === ReactiveFlags.IS_REACTIVE || key === ReactiveFlags.IS_READONLY) {\n return false\n }\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key, receiver)\n }\n const currentSource = getSource()\n const value = currentSource[key as keyof typeof currentSource]\n if (typeof value === 'function') {\n return value.bind(currentSource)\n }\n return value\n },\n set(target, key, value, receiver) {\n if (Reflect.has(target, key)) {\n return Reflect.set(target, key, value, receiver)\n }\n const currentSource = getSource()\n if (key in currentSource) {\n currentSource[key as keyof typeof currentSource] = value\n return true\n }\n currentSource[key as keyof typeof currentSource] = value\n return true\n },\n has(target, key) {\n return Reflect.has(target, key) || key in getSource()\n },\n ownKeys(target) {\n return [...new Set([...Reflect.ownKeys(target), ...Reflect.ownKeys(getSource())])]\n },\n getOwnPropertyDescriptor(target, key) {\n if (Reflect.has(target, key)) {\n return Object.getOwnPropertyDescriptor(target, key)\n }\n const descriptor = Object.getOwnPropertyDescriptor(getSource(), key)\n if (!descriptor) {\n return descriptor\n }\n return {\n ...descriptor,\n configurable: true,\n }\n },\n })\n return markNoSetData(merged)\n}\n\nfunction resolveComponentPublicInstance(value: any) {\n if (!value || typeof value !== 'object') {\n return value ?? null\n }\n const instance = value as any\n if (instance.__wevu && !instance[WEVU_READY_CALLED_KEY]) {\n return null\n }\n const exposed = instance[WEVU_EXPOSED_KEY]\n if (exposed && typeof exposed === 'object') {\n return getExposeProxy(instance, exposed as Record<string, any>)\n }\n if (instance[WEVU_PUBLIC_RUNTIME_KEY]?.proxy) {\n return instance[WEVU_PUBLIC_RUNTIME_KEY].proxy\n }\n return value\n}\n\nexport function getTemplateRefMap(target: InternalRuntimeState): TemplateRefMap | undefined {\n return (target as any)[WEVU_TEMPLATE_REF_MAP_KEY] as TemplateRefMap | undefined\n}\n\nexport function updateTemplateRefMapValue(\n refMap: TemplateRefMap | undefined,\n name: string,\n value: any,\n) {\n if (!refMap) {\n return\n }\n const entry = refMap.get(name)\n if (entry) {\n entry.value = value\n }\n}\n\nexport function resolveTemplateRefTarget(\n target: InternalRuntimeState,\n binding: TemplateRefBinding,\n evaluationTarget: InternalRuntimeState = target,\n): TemplateRefTarget {\n const proxy = evaluationTarget.__wevu?.proxy ?? evaluationTarget\n let resolved: unknown\n if (binding.get) {\n try {\n resolved = binding.get.call(proxy)\n }\n catch {\n resolved = undefined\n }\n }\n if (resolved == null && binding.name) {\n const setupBinding = target.__wevu?.setupState?.[binding.name]\n if (isRef(setupBinding) || typeof setupBinding === 'function') {\n resolved = setupBinding\n }\n }\n if (resolved == null && binding.name) {\n resolved = binding.name\n }\n if (typeof resolved === 'function') {\n return { type: 'function', fn: resolved as (value: any) => void }\n }\n if (isRef(resolved)) {\n return { type: 'ref', ref: resolved as Ref<any> }\n }\n if (typeof resolved === 'string' && resolved) {\n return { type: 'name', name: resolved }\n }\n if (binding.name) {\n return { type: 'name', name: binding.name }\n }\n return { type: 'skip' }\n}\n\nexport function ensureRefsContainer(target: InternalRuntimeState): Record<string, any> {\n const runtimeState = (target.__wevu?.state ?? target) as Record<string, any>\n const existing = runtimeState.$refs\n if (existing && typeof existing === 'object') {\n return existing as Record<string, any>\n }\n const refs = markNoSetData(Object.create(null))\n Object.defineProperty(runtimeState, '$refs', {\n value: refs,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n return refs\n}\n\nexport function createSelectorQuery(target: InternalRuntimeState): MiniProgramSelectorQuery | null {\n const instance = target as any\n if (instance && typeof instance.createSelectorQuery === 'function') {\n return instance.createSelectorQuery()\n }\n if (!supportsCurrentMiniProgramRuntimeCapability('globalCreateSelectorQuery')) {\n return null\n }\n const miniProgramGlobal = getMiniProgramGlobalObject()\n if (miniProgramGlobal && typeof miniProgramGlobal.createSelectorQuery === 'function') {\n const query = miniProgramGlobal.createSelectorQuery()\n if (!query) {\n return null\n }\n if (getCurrentMiniProgramRuntimeCapabilities().selectorQueryScopeByIn && typeof (query as any).in === 'function') {\n return (query as any).in(instance)\n }\n return query\n }\n return null\n}\n\nfunction runQuery<T>(\n target: InternalRuntimeState,\n selector: string,\n options: { multiple: boolean, index?: number },\n apply: (nodesRef: MiniProgramNodesRef) => void,\n cb?: (value: T | null) => void,\n): Promise<T | null> {\n const query = createSelectorQuery(target)\n if (!query) {\n const fallback = null\n if (cb) {\n cb(fallback)\n }\n return Promise.resolve(fallback)\n }\n const nodesRef = options.multiple ? query.selectAll(selector) : query.select(selector)\n apply(nodesRef)\n return new Promise((resolve) => {\n query.exec((res) => {\n let result: any = Array.isArray(res) ? res[0] : null\n if (options.index != null && Array.isArray(result)) {\n result = result[options.index] ?? null\n }\n if (cb) {\n cb(result ?? null)\n }\n resolve(result ?? null)\n })\n })\n}\n\nfunction createTemplateRefWrapper(\n target: InternalRuntimeState,\n selector: string,\n options: { multiple: boolean, index?: number },\n) {\n const wrapper = {\n selector,\n boundingClientRect: (cb?: (value: any) => void) => {\n return runQuery(target, selector, options, ref => ref.boundingClientRect(), cb)\n },\n scrollOffset: (cb?: (value: any) => void) => {\n return runQuery(target, selector, options, ref => ref.scrollOffset(), cb)\n },\n fields: (fields: MiniProgramNodesRefFields, cb?: (value: any) => void) => {\n return runQuery(target, selector, options, ref => ref.fields(fields as any), cb)\n },\n node: (cb?: (value: any) => void) => {\n return runQuery(target, selector, options, ref => ref.node(), cb)\n },\n }\n return markNoSetData(wrapper)\n}\n\nexport function resolveComponentRefValue(\n target: InternalRuntimeState,\n binding: TemplateRefBinding,\n) {\n const instance = target as any\n if (!instance) {\n return binding.inFor ? markNoSetData([]) : null\n }\n if (binding.inFor) {\n if (typeof instance.selectAllComponents === 'function') {\n const result = instance.selectAllComponents(binding.selector)\n const items = Array.isArray(result) ? result : []\n const merged = items.map((item, index) => {\n const wrapper = createTemplateRefWrapper(target, binding.selector, { multiple: true, index })\n const resolveCurrent = () => {\n const current = instance.selectAllComponents(binding.selector)\n return resolveComponentPublicInstance(Array.isArray(current) ? current[index] : null)\n }\n return mergeComponentRefValue(wrapper as Record<string, any>, resolveComponentPublicInstance(item), resolveCurrent)\n })\n return markNoSetData(merged)\n }\n return markNoSetData([])\n }\n const wrapper = createTemplateRefWrapper(target, binding.selector, { multiple: false })\n if (typeof instance.selectComponent !== 'function') {\n return wrapper\n }\n const result = instance.selectComponent(binding.selector)\n if (!result) {\n return null\n }\n const publicInstance = resolveComponentPublicInstance(result)\n if (!publicInstance) {\n return null\n }\n const resolveCurrent = () => resolveComponentPublicInstance(instance.selectComponent(binding.selector))\n return mergeComponentRefValue(wrapper as Record<string, any>, publicInstance, resolveCurrent)\n}\n\nexport function buildTemplateRefValue(\n target: InternalRuntimeState,\n binding: TemplateRefBinding,\n result: unknown,\n) {\n if (binding.inFor) {\n const items = Array.isArray(result) ? result : []\n const wrappers = items.map((_, index) => createTemplateRefWrapper(target, binding.selector, { multiple: true, index }))\n return markNoSetData(wrappers)\n }\n if (!result) {\n return null\n }\n return createTemplateRefWrapper(target, binding.selector, { multiple: false })\n}\n"],"mappings":"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"}
@@ -1,163 +1,232 @@
1
1
  import { nextTick } from "../scheduler.mjs";
2
2
  import { markNoSetData } from "./noSetData.mjs";
3
3
  import { buildTemplateRefValue, createSelectorQuery, ensureRefsContainer, getTemplateRefMap, isComponentRef, resolveComponentRefValue, resolveTemplateRefTarget, updateTemplateRefMapValue } from "./templateRefs/helpers.mjs";
4
- import { WEVU_READY_CALLED_KEY, WEVU_TEMPLATE_REFS_CALLBACKS_KEY, WEVU_TEMPLATE_REFS_KEY, WEVU_TEMPLATE_REFS_PENDING_KEY } from "@weapp-core/constants";
4
+ import { runTeardownSteps } from "./teardown.mjs";
5
+ import { WEVU_READY_CALLED_KEY, WEVU_TEMPLATE_REFS_KEY, WEVU_TEMPLATE_REFS_PENDING_KEY } from "@weapp-core/constants";
5
6
 
6
7
  //#region src/runtime/templateRefs.ts
7
- function updateTemplateRefs(target, onResolved, assignmentTarget = target) {
8
- const bindings = target[WEVU_TEMPLATE_REFS_KEY];
9
- if (!bindings || !bindings.length) {
10
- onResolved === null || onResolved === void 0 || onResolved();
11
- return;
8
+ const templateRefOwners = /* @__PURE__ */ new WeakMap();
9
+ function getTemplateRefOwner(target) {
10
+ let owner = templateRefOwners.get(target);
11
+ if (!owner) {
12
+ owner = { generation: 0 };
13
+ templateRefOwners.set(target, owner);
12
14
  }
13
- if (!target[WEVU_READY_CALLED_KEY]) {
14
- onResolved === null || onResolved === void 0 || onResolved();
15
- return;
16
- }
17
- if (!target.__wevu) {
18
- onResolved === null || onResolved === void 0 || onResolved();
19
- return;
15
+ return owner;
16
+ }
17
+ function createTemplateRefBatch(target, assignmentTarget) {
18
+ const owner = getTemplateRefOwner(target);
19
+ const assignmentOwner = getTemplateRefOwner(assignmentTarget);
20
+ const batch = {
21
+ target,
22
+ assignmentTarget,
23
+ runtime: target.__wevu,
24
+ assignmentRuntime: assignmentTarget.__wevu,
25
+ owner,
26
+ assignmentOwner,
27
+ assignmentGeneration: assignmentOwner.generation,
28
+ completions: [],
29
+ settled: false
30
+ };
31
+ owner.current = batch;
32
+ return batch;
33
+ }
34
+ function ownsTemplateRefAssignment(batch) {
35
+ return !batch.settled && batch.owner.current === batch && batch.target.__wevu === batch.runtime && batch.assignmentTarget.__wevu === batch.assignmentRuntime && batch.assignmentOwner.generation === batch.assignmentGeneration;
36
+ }
37
+ function settleTemplateRefBatch(batch, failed = false, cause) {
38
+ if (batch.settled) return;
39
+ batch.settled = true;
40
+ if (batch.owner.current === batch) batch.owner.current = void 0;
41
+ let hasError = failed && !batch.completions.length;
42
+ let firstError = cause;
43
+ for (const completion of batch.completions) try {
44
+ if (failed) {
45
+ if (completion.onRejected) completion.onRejected(cause);
46
+ else if (!hasError) {
47
+ hasError = true;
48
+ firstError = cause;
49
+ }
50
+ } else {
51
+ var _completion$onResolve;
52
+ (_completion$onResolve = completion.onResolved) === null || _completion$onResolve === void 0 || _completion$onResolve.call(completion);
53
+ }
54
+ } catch (error) {
55
+ if (!hasError) {
56
+ hasError = true;
57
+ firstError = error;
58
+ }
20
59
  }
21
- const templateRefMap = getTemplateRefMap(assignmentTarget);
22
- const nodeBindings = bindings.filter((binding) => !isComponentRef(binding));
23
- const componentEntries = bindings.filter((binding) => isComponentRef(binding)).map((binding) => ({
24
- binding,
25
- value: resolveComponentRefValue(target, binding)
26
- }));
27
- const applyEntries = (entries) => {
28
- var _target$__wevu$proxy, _target$__wevu;
29
- const refsContainer = ensureRefsContainer(assignmentTarget);
30
- const nameEntries = /* @__PURE__ */ new Map();
31
- const nextNames = /* @__PURE__ */ new Set();
32
- const proxy = (_target$__wevu$proxy = (_target$__wevu = target.__wevu) === null || _target$__wevu === void 0 ? void 0 : _target$__wevu.proxy) !== null && _target$__wevu$proxy !== void 0 ? _target$__wevu$proxy : target;
33
- entries.forEach((entry) => {
34
- const binding = entry.binding;
35
- const value = entry.value;
36
- const resolved = resolveTemplateRefTarget(assignmentTarget, binding, target);
37
- if (resolved.type === "function") {
38
- if (binding.inFor && Array.isArray(value)) {
39
- if (value.length) value.forEach((item) => resolved.fn.call(proxy, item));
40
- else resolved.fn.call(proxy, null);
41
- } else resolved.fn.call(proxy, value !== null && value !== void 0 ? value : null);
42
- return;
60
+ batch.completions.length = 0;
61
+ if (hasError) throw firstError;
62
+ }
63
+ function runTemplateRefBatch(batch) {
64
+ const { target, assignmentTarget } = batch;
65
+ try {
66
+ const bindings = target[WEVU_TEMPLATE_REFS_KEY];
67
+ if (!ownsTemplateRefAssignment(batch) || !(bindings === null || bindings === void 0 ? void 0 : bindings.length) || !target[WEVU_READY_CALLED_KEY] || !target.__wevu) {
68
+ settleTemplateRefBatch(batch);
69
+ return;
70
+ }
71
+ const templateRefMap = getTemplateRefMap(assignmentTarget);
72
+ const nodeBindings = bindings.filter((binding) => !isComponentRef(binding));
73
+ const componentEntries = bindings.filter((binding) => isComponentRef(binding)).map((binding) => ({
74
+ binding,
75
+ value: resolveComponentRefValue(target, binding)
76
+ }));
77
+ const applyEntries = (entries) => {
78
+ var _batch$runtime$proxy, _batch$runtime;
79
+ if (!ownsTemplateRefAssignment(batch)) return;
80
+ const refsContainer = ensureRefsContainer(assignmentTarget);
81
+ const nameEntries = /* @__PURE__ */ new Map();
82
+ const nextNames = /* @__PURE__ */ new Set();
83
+ const proxy = (_batch$runtime$proxy = (_batch$runtime = batch.runtime) === null || _batch$runtime === void 0 ? void 0 : _batch$runtime.proxy) !== null && _batch$runtime$proxy !== void 0 ? _batch$runtime$proxy : target;
84
+ for (const { binding, value } of entries) {
85
+ if (!ownsTemplateRefAssignment(batch)) return;
86
+ const resolved = resolveTemplateRefTarget(assignmentTarget, binding, target);
87
+ if (!ownsTemplateRefAssignment(batch)) return;
88
+ if (resolved.type === "function") {
89
+ if (binding.inFor && Array.isArray(value) && value.length) for (const item of value) {
90
+ if (!ownsTemplateRefAssignment(batch)) return;
91
+ resolved.fn.call(proxy, item);
92
+ }
93
+ else resolved.fn.call(proxy, binding.inFor && Array.isArray(value) ? null : value !== null && value !== void 0 ? value : null);
94
+ continue;
95
+ }
96
+ if (resolved.type === "ref") {
97
+ resolved.ref.value = value;
98
+ continue;
99
+ }
100
+ if (resolved.type === "name") {
101
+ var _nameEntries$get;
102
+ nextNames.add(resolved.name);
103
+ const entry = (_nameEntries$get = nameEntries.get(resolved.name)) !== null && _nameEntries$get !== void 0 ? _nameEntries$get : {
104
+ values: [],
105
+ count: 0,
106
+ hasFor: false
107
+ };
108
+ entry.count += 1;
109
+ entry.hasFor = entry.hasFor || binding.inFor;
110
+ if (binding.inFor) {
111
+ if (Array.isArray(value)) entry.values.push(...value);
112
+ } else if (value != null) entry.values.push(value);
113
+ nameEntries.set(resolved.name, entry);
114
+ }
43
115
  }
44
- if (resolved.type === "ref") {
45
- resolved.ref.value = value;
46
- return;
116
+ for (const [name, entry] of nameEntries) {
117
+ if (!ownsTemplateRefAssignment(batch)) return;
118
+ let nextValue;
119
+ if (!entry.values.length) nextValue = entry.hasFor ? markNoSetData([]) : null;
120
+ else if (entry.hasFor || entry.values.length > 1 || entry.count > 1) nextValue = markNoSetData(entry.values);
121
+ else nextValue = entry.values[0];
122
+ refsContainer[name] = nextValue;
123
+ if (!ownsTemplateRefAssignment(batch)) return;
124
+ updateTemplateRefMapValue(templateRefMap, name, nextValue);
47
125
  }
48
- if (resolved.type === "name") {
49
- var _nameEntries$get;
50
- nextNames.add(resolved.name);
51
- const entry = (_nameEntries$get = nameEntries.get(resolved.name)) !== null && _nameEntries$get !== void 0 ? _nameEntries$get : {
52
- values: [],
53
- count: 0,
54
- hasFor: false
55
- };
56
- entry.count += 1;
57
- entry.hasFor = entry.hasFor || binding.inFor;
58
- if (binding.inFor) {
59
- if (Array.isArray(value)) entry.values.push(...value);
60
- } else if (value != null) entry.values.push(value);
61
- nameEntries.set(resolved.name, entry);
126
+ for (const key of Object.keys(refsContainer)) {
127
+ if (!ownsTemplateRefAssignment(batch)) return;
128
+ if (!nextNames.has(key)) delete refsContainer[key];
62
129
  }
63
- });
64
- for (const [name, entry] of nameEntries) {
65
- let nextValue;
66
- if (!entry.values.length) nextValue = entry.hasFor ? markNoSetData([]) : null;
67
- else if (entry.hasFor || entry.values.length > 1 || entry.count > 1) nextValue = markNoSetData(entry.values);
68
- else nextValue = entry.values[0];
69
- refsContainer[name] = nextValue;
70
- updateTemplateRefMapValue(templateRefMap, name, nextValue);
130
+ };
131
+ const query = nodeBindings.length ? createSelectorQuery(target) : null;
132
+ if (!query) {
133
+ applyEntries(componentEntries);
134
+ settleTemplateRefBatch(batch);
135
+ return;
71
136
  }
72
- for (const key of Object.keys(refsContainer)) if (!nextNames.has(key)) delete refsContainer[key];
73
- onResolved === null || onResolved === void 0 || onResolved();
74
- };
75
- if (!nodeBindings.length) {
76
- applyEntries(componentEntries);
77
- return;
78
- }
79
- const query = createSelectorQuery(target);
80
- if (!query) {
81
- applyEntries(componentEntries);
82
- return;
83
- }
84
- const nodeEntries = [];
85
- for (const binding of nodeBindings) {
86
- (binding.inFor ? query.selectAll(binding.selector) : query.select(binding.selector)).boundingClientRect();
87
- nodeEntries.push({ binding });
88
- }
89
- query.exec((res) => {
90
- const entries = nodeEntries.map((entry, index) => {
91
- const rawResult = Array.isArray(res) ? res[index] : null;
92
- return {
93
- binding: entry.binding,
94
- value: buildTemplateRefValue(target, entry.binding, rawResult)
95
- };
137
+ for (const binding of nodeBindings) (binding.inFor ? query.selectAll(binding.selector) : query.select(binding.selector)).boundingClientRect();
138
+ query.exec((res) => {
139
+ if (batch.settled) return;
140
+ try {
141
+ if (ownsTemplateRefAssignment(batch)) {
142
+ const entries = nodeBindings.map((binding, index) => ({
143
+ binding,
144
+ value: buildTemplateRefValue(target, binding, Array.isArray(res) ? res[index] : null)
145
+ }));
146
+ applyEntries([...componentEntries, ...entries]);
147
+ }
148
+ } catch (cause) {
149
+ settleTemplateRefBatch(batch, true, cause);
150
+ return;
151
+ }
152
+ settleTemplateRefBatch(batch);
96
153
  });
97
- applyEntries([...componentEntries, ...entries]);
98
- });
154
+ } catch (cause) {
155
+ if (batch.settled) throw cause;
156
+ settleTemplateRefBatch(batch, true, cause);
157
+ }
99
158
  }
100
- function scheduleTemplateRefUpdate(target, onResolved, assignmentTarget = target) {
159
+ function completeEmptyTemplateRefs(target, onResolved) {
160
+ const owner = templateRefOwners.get(target);
161
+ if (owner) owner.current = void 0;
162
+ onResolved === null || onResolved === void 0 || onResolved();
163
+ }
164
+ function scheduleTemplateRefUpdate(target, onResolved, assignmentTarget = target, onRejected) {
101
165
  const bindings = target[WEVU_TEMPLATE_REFS_KEY];
102
- if (!bindings || !bindings.length) {
103
- onResolved === null || onResolved === void 0 || onResolved();
166
+ if (!(bindings === null || bindings === void 0 ? void 0 : bindings.length)) {
167
+ completeEmptyTemplateRefs(target, onResolved);
104
168
  return;
105
169
  }
106
- if (onResolved) {
107
- var _WEVU_TEMPLATE_REFS_C;
108
- const callbacks = (_WEVU_TEMPLATE_REFS_C = target[WEVU_TEMPLATE_REFS_CALLBACKS_KEY]) !== null && _WEVU_TEMPLATE_REFS_C !== void 0 ? _WEVU_TEMPLATE_REFS_C : [];
109
- callbacks.push(onResolved);
110
- if (!target[WEVU_TEMPLATE_REFS_CALLBACKS_KEY]) Object.defineProperty(target, WEVU_TEMPLATE_REFS_CALLBACKS_KEY, {
111
- value: callbacks,
112
- configurable: true,
113
- enumerable: false,
114
- writable: true
170
+ const owner = getTemplateRefOwner(target);
171
+ const pending = owner.pending;
172
+ if (pending && pending.assignmentTarget === assignmentTarget && ownsTemplateRefAssignment(pending)) {
173
+ if (onResolved || onRejected) pending.completions.push({
174
+ onResolved,
175
+ onRejected
115
176
  });
177
+ return;
116
178
  }
117
- if (target[WEVU_TEMPLATE_REFS_PENDING_KEY]) return;
179
+ const batch = createTemplateRefBatch(target, assignmentTarget);
180
+ if (onResolved || onRejected) batch.completions.push({
181
+ onResolved,
182
+ onRejected
183
+ });
184
+ owner.pending = batch;
118
185
  target[WEVU_TEMPLATE_REFS_PENDING_KEY] = true;
119
186
  nextTick(() => {
120
- target[WEVU_TEMPLATE_REFS_PENDING_KEY] = false;
121
- const flushCallbacks = () => {
122
- const callbacks = target[WEVU_TEMPLATE_REFS_CALLBACKS_KEY];
123
- if (!callbacks || !callbacks.length) return;
124
- callbacks.splice(0).forEach((cb) => {
125
- try {
126
- cb();
127
- } catch (_unused) {}
128
- });
129
- };
130
- updateTemplateRefs(target, flushCallbacks, assignmentTarget);
187
+ if (owner.pending === batch) {
188
+ owner.pending = void 0;
189
+ target[WEVU_TEMPLATE_REFS_PENDING_KEY] = false;
190
+ }
191
+ runTemplateRefBatch(batch);
131
192
  });
132
193
  }
133
194
  function clearTemplateRefs(target, assignmentTarget = target) {
134
- var _target$__wevu$proxy2, _target$__wevu2;
195
+ var _target$__wevu$proxy, _target$__wevu;
196
+ const owner = templateRefOwners.get(target);
197
+ if (owner) {
198
+ owner.generation += 1;
199
+ owner.current = void 0;
200
+ owner.pending = void 0;
201
+ target[WEVU_TEMPLATE_REFS_PENDING_KEY] = false;
202
+ }
135
203
  const bindings = target[WEVU_TEMPLATE_REFS_KEY];
136
204
  if (!bindings || !bindings.length) return;
137
205
  const refsContainer = ensureRefsContainer(assignmentTarget);
138
- const proxy = (_target$__wevu$proxy2 = (_target$__wevu2 = target.__wevu) === null || _target$__wevu2 === void 0 ? void 0 : _target$__wevu2.proxy) !== null && _target$__wevu$proxy2 !== void 0 ? _target$__wevu$proxy2 : target;
206
+ const proxy = (_target$__wevu$proxy = (_target$__wevu = target.__wevu) === null || _target$__wevu === void 0 ? void 0 : _target$__wevu.proxy) !== null && _target$__wevu$proxy !== void 0 ? _target$__wevu$proxy : target;
139
207
  const nextNames = /* @__PURE__ */ new Set();
140
208
  const templateRefMap = getTemplateRefMap(assignmentTarget);
141
- for (const binding of bindings) {
209
+ runTeardownSteps([...bindings.map((binding) => () => {
142
210
  const resolved = resolveTemplateRefTarget(assignmentTarget, binding, target);
143
211
  const emptyValue = binding.inFor ? markNoSetData([]) : null;
144
212
  if (resolved.type === "function") {
145
213
  resolved.fn.call(proxy, null);
146
- continue;
214
+ return;
147
215
  }
148
216
  if (resolved.type === "ref") {
149
217
  resolved.ref.value = emptyValue;
150
- continue;
218
+ return;
151
219
  }
152
220
  if (resolved.type === "name") {
153
221
  nextNames.add(resolved.name);
154
222
  refsContainer[resolved.name] = emptyValue;
155
223
  updateTemplateRefMapValue(templateRefMap, resolved.name, emptyValue);
156
224
  }
157
- }
158
- for (const key of Object.keys(refsContainer)) if (!nextNames.has(key)) delete refsContainer[key];
225
+ }), () => {
226
+ for (const key of Object.keys(refsContainer)) if (!nextNames.has(key)) delete refsContainer[key];
227
+ }]);
159
228
  }
160
229
 
161
230
  //#endregion
162
- export { clearTemplateRefs, scheduleTemplateRefUpdate, updateTemplateRefs };
231
+ export { clearTemplateRefs, scheduleTemplateRefUpdate };
163
232
  //# sourceMappingURL=templateRefs.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"templateRefs.mjs","names":[],"sources":["../../../src/runtime/templateRefs.ts"],"sourcesContent":["import type { InternalRuntimeState } from './types'\nimport {\n WEVU_READY_CALLED_KEY,\n WEVU_TEMPLATE_REFS_CALLBACKS_KEY,\n WEVU_TEMPLATE_REFS_KEY,\n WEVU_TEMPLATE_REFS_PENDING_KEY,\n} from '@weapp-core/constants'\nimport { nextTick } from '../scheduler'\nimport { markNoSetData } from './noSetData'\nimport {\n buildTemplateRefValue,\n createSelectorQuery,\n ensureRefsContainer,\n getTemplateRefMap,\n isComponentRef,\n resolveComponentRefValue,\n resolveTemplateRefTarget,\n updateTemplateRefMapValue,\n} from './templateRefs/helpers'\n\nexport interface TemplateRefBinding {\n selector: string\n inFor: boolean\n name?: string\n get?: () => unknown\n kind?: 'component' | 'element'\n}\n\ntype TemplateRefUpdateCallback = () => void\n\nexport function updateTemplateRefs(\n target: InternalRuntimeState,\n onResolved?: TemplateRefUpdateCallback,\n assignmentTarget: InternalRuntimeState = target,\n) {\n const bindings = (target as any)[WEVU_TEMPLATE_REFS_KEY] as TemplateRefBinding[] | undefined\n if (!bindings || !bindings.length) {\n onResolved?.()\n return\n }\n if (!(target as any)[WEVU_READY_CALLED_KEY]) {\n onResolved?.()\n return\n }\n if (!target.__wevu) {\n onResolved?.()\n return\n }\n const templateRefMap = getTemplateRefMap(assignmentTarget)\n const nodeBindings = bindings.filter(binding => !isComponentRef(binding))\n const componentEntries = bindings\n .filter(binding => isComponentRef(binding))\n .map(binding => ({\n binding,\n value: resolveComponentRefValue(target, binding),\n }))\n\n const applyEntries = (entries: Array<{ binding: TemplateRefBinding, value: any }>) => {\n const refsContainer = ensureRefsContainer(assignmentTarget)\n const nameEntries = new Map<string, { values: any[], count: number, hasFor: boolean }>()\n const nextNames = new Set<string>()\n const proxy = target.__wevu?.proxy ?? target\n entries.forEach((entry) => {\n const binding = entry.binding\n const value = entry.value\n const resolved = resolveTemplateRefTarget(assignmentTarget, binding, target)\n\n if (resolved.type === 'function') {\n if (binding.inFor && Array.isArray(value)) {\n if (value.length) {\n value.forEach(item => resolved.fn.call(proxy, item))\n }\n else {\n resolved.fn.call(proxy, null)\n }\n }\n else {\n resolved.fn.call(proxy, value ?? null)\n }\n return\n }\n\n if (resolved.type === 'ref') {\n resolved.ref.value = value\n return\n }\n\n if (resolved.type === 'name') {\n nextNames.add(resolved.name)\n const entry = nameEntries.get(resolved.name) ?? { values: [], count: 0, hasFor: false }\n entry.count += 1\n entry.hasFor = entry.hasFor || binding.inFor\n if (binding.inFor) {\n if (Array.isArray(value)) {\n entry.values.push(...value)\n }\n }\n else if (value != null) {\n entry.values.push(value)\n }\n nameEntries.set(resolved.name, entry)\n }\n })\n\n for (const [name, entry] of nameEntries) {\n let nextValue: any\n if (!entry.values.length) {\n nextValue = entry.hasFor ? markNoSetData([]) : null\n }\n else if (entry.hasFor || entry.values.length > 1 || entry.count > 1) {\n nextValue = markNoSetData(entry.values)\n }\n else {\n nextValue = entry.values[0]\n }\n refsContainer[name] = nextValue\n updateTemplateRefMapValue(templateRefMap, name, nextValue)\n }\n\n for (const key of Object.keys(refsContainer)) {\n if (!nextNames.has(key)) {\n delete refsContainer[key]\n }\n }\n\n onResolved?.()\n }\n\n if (!nodeBindings.length) {\n applyEntries(componentEntries)\n return\n }\n\n const query = createSelectorQuery(target)\n if (!query) {\n applyEntries(componentEntries)\n return\n }\n\n const nodeEntries: Array<{ binding: TemplateRefBinding }> = []\n for (const binding of nodeBindings) {\n const nodesRef = binding.inFor ? query.selectAll(binding.selector) : query.select(binding.selector)\n nodesRef.boundingClientRect()\n nodeEntries.push({ binding })\n }\n\n query.exec((res) => {\n const entries = nodeEntries.map((entry, index) => {\n const rawResult = Array.isArray(res) ? res[index] : null\n return {\n binding: entry.binding,\n value: buildTemplateRefValue(target, entry.binding, rawResult),\n }\n })\n applyEntries([...componentEntries, ...entries])\n })\n}\n\nexport function scheduleTemplateRefUpdate(\n target: InternalRuntimeState,\n onResolved?: TemplateRefUpdateCallback,\n assignmentTarget: InternalRuntimeState = target,\n) {\n const bindings = (target as any)[WEVU_TEMPLATE_REFS_KEY] as TemplateRefBinding[] | undefined\n if (!bindings || !bindings.length) {\n onResolved?.()\n return\n }\n if (onResolved) {\n const callbacks = ((target as any)[WEVU_TEMPLATE_REFS_CALLBACKS_KEY] ?? []) as TemplateRefUpdateCallback[]\n callbacks.push(onResolved)\n if (!(target as any)[WEVU_TEMPLATE_REFS_CALLBACKS_KEY]) {\n Object.defineProperty(target, WEVU_TEMPLATE_REFS_CALLBACKS_KEY, {\n value: callbacks,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n }\n if ((target as any)[WEVU_TEMPLATE_REFS_PENDING_KEY]) {\n return\n }\n ;(target as any)[WEVU_TEMPLATE_REFS_PENDING_KEY] = true\n nextTick(() => {\n ;(target as any)[WEVU_TEMPLATE_REFS_PENDING_KEY] = false\n const flushCallbacks = () => {\n const callbacks = (target as any)[WEVU_TEMPLATE_REFS_CALLBACKS_KEY] as TemplateRefUpdateCallback[] | undefined\n if (!callbacks || !callbacks.length) {\n return\n }\n callbacks.splice(0).forEach((cb) => {\n try {\n cb()\n }\n catch {\n // 忽略回调中的异常,避免影响后续更新\n }\n })\n }\n updateTemplateRefs(target, flushCallbacks, assignmentTarget)\n })\n}\n\nexport function clearTemplateRefs(\n target: InternalRuntimeState,\n assignmentTarget: InternalRuntimeState = target,\n) {\n const bindings = (target as any)[WEVU_TEMPLATE_REFS_KEY] as TemplateRefBinding[] | undefined\n if (!bindings || !bindings.length) {\n return\n }\n const refsContainer = ensureRefsContainer(assignmentTarget)\n const proxy = target.__wevu?.proxy ?? target\n const nextNames = new Set<string>()\n const templateRefMap = getTemplateRefMap(assignmentTarget)\n\n for (const binding of bindings) {\n const resolved = resolveTemplateRefTarget(assignmentTarget, binding, target)\n const emptyValue = binding.inFor ? markNoSetData([]) : null\n if (resolved.type === 'function') {\n resolved.fn.call(proxy, null)\n continue\n }\n if (resolved.type === 'ref') {\n resolved.ref.value = emptyValue\n continue\n }\n if (resolved.type === 'name') {\n nextNames.add(resolved.name)\n refsContainer[resolved.name] = emptyValue\n updateTemplateRefMapValue(templateRefMap, resolved.name, emptyValue)\n }\n }\n\n for (const key of Object.keys(refsContainer)) {\n if (!nextNames.has(key)) {\n delete refsContainer[key]\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"templateRefs.mjs","names":[],"sources":["../../../src/runtime/templateRefs.ts"],"sourcesContent":["import type { TemplateRefBinding } from './capabilities'\nimport type { InternalRuntimeState } from './types'\nimport {\n WEVU_READY_CALLED_KEY,\n WEVU_TEMPLATE_REFS_KEY,\n WEVU_TEMPLATE_REFS_PENDING_KEY,\n} from '@weapp-core/constants'\nimport { nextTick } from '../scheduler'\nimport { markNoSetData } from './noSetData'\nimport { runTeardownSteps } from './teardown'\nimport {\n buildTemplateRefValue,\n createSelectorQuery,\n ensureRefsContainer,\n getTemplateRefMap,\n isComponentRef,\n resolveComponentRefValue,\n resolveTemplateRefTarget,\n updateTemplateRefMapValue,\n} from './templateRefs/helpers'\n\nexport type { TemplateRefBinding } from './capabilities'\n\ntype TemplateRefUpdateCallback = () => void\ntype TemplateRefUpdateRejection = (cause: unknown) => void\n\ninterface TemplateRefCompletion {\n onResolved?: TemplateRefUpdateCallback\n onRejected?: TemplateRefUpdateRejection\n}\n\ninterface TemplateRefOwner {\n generation: number\n current?: TemplateRefBatch\n pending?: TemplateRefBatch\n}\n\ninterface TemplateRefBatch {\n target: InternalRuntimeState\n assignmentTarget: InternalRuntimeState\n runtime: InternalRuntimeState['__wevu']\n assignmentRuntime: InternalRuntimeState['__wevu']\n owner: TemplateRefOwner\n assignmentOwner: TemplateRefOwner\n assignmentGeneration: number\n completions: TemplateRefCompletion[]\n settled: boolean\n}\n\nconst templateRefOwners = new WeakMap<InternalRuntimeState, TemplateRefOwner>()\n\nfunction getTemplateRefOwner(target: InternalRuntimeState) {\n let owner = templateRefOwners.get(target)\n if (!owner) {\n owner = { generation: 0 }\n templateRefOwners.set(target, owner)\n }\n return owner\n}\n\nfunction createTemplateRefBatch(target: InternalRuntimeState, assignmentTarget: InternalRuntimeState) {\n const owner = getTemplateRefOwner(target)\n const assignmentOwner = getTemplateRefOwner(assignmentTarget)\n const batch: TemplateRefBatch = {\n target,\n assignmentTarget,\n runtime: target.__wevu,\n assignmentRuntime: assignmentTarget.__wevu,\n owner,\n assignmentOwner,\n assignmentGeneration: assignmentOwner.generation,\n completions: [],\n settled: false,\n }\n owner.current = batch\n return batch\n}\n\nfunction ownsTemplateRefAssignment(batch: TemplateRefBatch) {\n return !batch.settled\n && batch.owner.current === batch\n && batch.target.__wevu === batch.runtime\n && batch.assignmentTarget.__wevu === batch.assignmentRuntime\n && batch.assignmentOwner.generation === batch.assignmentGeneration\n}\n\nfunction settleTemplateRefBatch(batch: TemplateRefBatch, failed = false, cause?: unknown) {\n if (batch.settled) {\n return\n }\n batch.settled = true\n if (batch.owner.current === batch) {\n batch.owner.current = undefined\n }\n let hasError = failed && !batch.completions.length\n let firstError = cause\n for (const completion of batch.completions) {\n try {\n if (failed) {\n if (completion.onRejected) {\n completion.onRejected(cause)\n }\n else if (!hasError) {\n hasError = true\n firstError = cause\n }\n }\n else {\n completion.onResolved?.()\n }\n }\n catch (error) {\n if (!hasError) {\n hasError = true\n firstError = error\n }\n }\n }\n batch.completions.length = 0\n if (hasError) {\n throw firstError\n }\n}\n\nfunction runTemplateRefBatch(batch: TemplateRefBatch) {\n const { target, assignmentTarget } = batch\n try {\n const bindings = target[WEVU_TEMPLATE_REFS_KEY] as TemplateRefBinding[] | undefined\n if (!ownsTemplateRefAssignment(batch) || !bindings?.length || !target[WEVU_READY_CALLED_KEY] || !target.__wevu) {\n settleTemplateRefBatch(batch)\n return\n }\n const templateRefMap = getTemplateRefMap(assignmentTarget)\n const nodeBindings = bindings.filter(binding => !isComponentRef(binding))\n const componentEntries = bindings\n .filter(binding => isComponentRef(binding))\n .map(binding => ({\n binding,\n value: resolveComponentRefValue(target, binding),\n }))\n\n const applyEntries = (entries: Array<{ binding: TemplateRefBinding, value: unknown }>) => {\n if (!ownsTemplateRefAssignment(batch)) {\n return\n }\n const refsContainer = ensureRefsContainer(assignmentTarget)\n const nameEntries = new Map<string, { values: unknown[], count: number, hasFor: boolean }>()\n const nextNames = new Set<string>()\n const proxy = batch.runtime?.proxy ?? target\n for (const { binding, value } of entries) {\n if (!ownsTemplateRefAssignment(batch)) {\n return\n }\n const resolved = resolveTemplateRefTarget(assignmentTarget, binding, target)\n if (!ownsTemplateRefAssignment(batch)) {\n return\n }\n\n if (resolved.type === 'function') {\n if (binding.inFor && Array.isArray(value) && value.length) {\n for (const item of value) {\n if (!ownsTemplateRefAssignment(batch)) {\n return\n }\n resolved.fn.call(proxy, item)\n }\n }\n else {\n resolved.fn.call(proxy, binding.inFor && Array.isArray(value) ? null : value ?? null)\n }\n continue\n }\n\n if (resolved.type === 'ref') {\n resolved.ref.value = value\n continue\n }\n\n if (resolved.type === 'name') {\n nextNames.add(resolved.name)\n const entry = nameEntries.get(resolved.name) ?? { values: [], count: 0, hasFor: false }\n entry.count += 1\n entry.hasFor = entry.hasFor || binding.inFor\n if (binding.inFor) {\n if (Array.isArray(value)) {\n entry.values.push(...value)\n }\n }\n else if (value != null) {\n entry.values.push(value)\n }\n nameEntries.set(resolved.name, entry)\n }\n }\n\n for (const [name, entry] of nameEntries) {\n if (!ownsTemplateRefAssignment(batch)) {\n return\n }\n let nextValue: unknown\n if (!entry.values.length) {\n nextValue = entry.hasFor ? markNoSetData([]) : null\n }\n else if (entry.hasFor || entry.values.length > 1 || entry.count > 1) {\n nextValue = markNoSetData(entry.values)\n }\n else {\n nextValue = entry.values[0]\n }\n refsContainer[name] = nextValue\n if (!ownsTemplateRefAssignment(batch)) {\n return\n }\n updateTemplateRefMapValue(templateRefMap, name, nextValue)\n }\n\n for (const key of Object.keys(refsContainer)) {\n if (!ownsTemplateRefAssignment(batch)) {\n return\n }\n if (!nextNames.has(key)) {\n delete refsContainer[key]\n }\n }\n }\n\n const query = nodeBindings.length ? createSelectorQuery(target) : null\n if (!query) {\n applyEntries(componentEntries)\n settleTemplateRefBatch(batch)\n return\n }\n\n for (const binding of nodeBindings) {\n const nodesRef = binding.inFor ? query.selectAll(binding.selector) : query.select(binding.selector)\n nodesRef.boundingClientRect()\n }\n\n query.exec((res) => {\n if (batch.settled) {\n return\n }\n try {\n // 过期查询仍释放自己的完成通知,但不能向新一代 runtime 或 slot owner 回写。\n if (ownsTemplateRefAssignment(batch)) {\n const entries = nodeBindings.map((binding, index) => ({\n binding,\n value: buildTemplateRefValue(target, binding, Array.isArray(res) ? res[index] : null),\n }))\n applyEntries([...componentEntries, ...entries])\n }\n }\n catch (cause) {\n settleTemplateRefBatch(batch, true, cause)\n return\n }\n settleTemplateRefBatch(batch)\n })\n }\n catch (cause) {\n // 完成通知本身抛错时不能再次结算,也不能吞掉用户回调错误。\n if (batch.settled) {\n throw cause\n }\n settleTemplateRefBatch(batch, true, cause)\n }\n}\n\nfunction completeEmptyTemplateRefs(target: InternalRuntimeState, onResolved?: TemplateRefUpdateCallback) {\n const owner = templateRefOwners.get(target)\n if (owner) {\n owner.current = undefined\n }\n onResolved?.()\n}\n\nexport function updateTemplateRefs(\n target: InternalRuntimeState,\n onResolved?: TemplateRefUpdateCallback,\n assignmentTarget: InternalRuntimeState = target,\n onRejected?: TemplateRefUpdateRejection,\n) {\n const bindings = target[WEVU_TEMPLATE_REFS_KEY] as TemplateRefBinding[] | undefined\n if (!bindings?.length) {\n completeEmptyTemplateRefs(target, onResolved)\n return\n }\n const batch = createTemplateRefBatch(target, assignmentTarget)\n if (onResolved || onRejected) {\n batch.completions.push({ onResolved, onRejected })\n }\n runTemplateRefBatch(batch)\n}\n\nexport function scheduleTemplateRefUpdate(\n target: InternalRuntimeState,\n onResolved?: TemplateRefUpdateCallback,\n assignmentTarget: InternalRuntimeState = target,\n onRejected?: TemplateRefUpdateRejection,\n) {\n const bindings = target[WEVU_TEMPLATE_REFS_KEY] as TemplateRefBinding[] | undefined\n if (!bindings?.length) {\n completeEmptyTemplateRefs(target, onResolved)\n return\n }\n const owner = getTemplateRefOwner(target)\n const pending = owner.pending\n if (pending && pending.assignmentTarget === assignmentTarget && ownsTemplateRefAssignment(pending)) {\n if (onResolved || onRejected) {\n pending.completions.push({ onResolved, onRejected })\n }\n return\n }\n const batch = createTemplateRefBatch(target, assignmentTarget)\n if (onResolved || onRejected) {\n batch.completions.push({ onResolved, onRejected })\n }\n owner.pending = batch\n target[WEVU_TEMPLATE_REFS_PENDING_KEY] = true\n nextTick(() => {\n if (owner.pending === batch) {\n owner.pending = undefined\n target[WEVU_TEMPLATE_REFS_PENDING_KEY] = false\n }\n runTemplateRefBatch(batch)\n })\n}\n\nexport function clearTemplateRefs(\n target: InternalRuntimeState,\n assignmentTarget: InternalRuntimeState = target,\n) {\n const owner = templateRefOwners.get(target)\n if (owner) {\n owner.generation += 1\n owner.current = undefined\n owner.pending = undefined\n target[WEVU_TEMPLATE_REFS_PENDING_KEY] = false\n }\n const bindings = target[WEVU_TEMPLATE_REFS_KEY] as TemplateRefBinding[] | undefined\n if (!bindings || !bindings.length) {\n return\n }\n const refsContainer = ensureRefsContainer(assignmentTarget)\n const proxy = target.__wevu?.proxy ?? target\n const nextNames = new Set<string>()\n const templateRefMap = getTemplateRefMap(assignmentTarget)\n\n runTeardownSteps([\n ...bindings.map(binding => () => {\n const resolved = resolveTemplateRefTarget(assignmentTarget, binding, target)\n const emptyValue = binding.inFor ? markNoSetData([]) : null\n if (resolved.type === 'function') {\n resolved.fn.call(proxy, null)\n return\n }\n if (resolved.type === 'ref') {\n resolved.ref.value = emptyValue\n return\n }\n if (resolved.type === 'name') {\n nextNames.add(resolved.name)\n refsContainer[resolved.name] = emptyValue\n updateTemplateRefMapValue(templateRefMap, resolved.name, emptyValue)\n }\n }),\n () => {\n for (const key of Object.keys(refsContainer)) {\n if (!nextNames.has(key)) {\n delete refsContainer[key]\n }\n }\n },\n ])\n}\n"],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { ComputedGetter, WritableComputedOptions } from "../../reactivity/computed.mjs";
2
+ import "../../reactivity/index.mjs";
3
+ //#region src/runtime/types/core.d.ts
4
+ export type ComputedDefinitions = Record<string, ComputedGetter<any> | WritableComputedOptions<any>>;
5
+ export type MethodDefinitions = Record<string, (...args: any[]) => any>;
6
+ export type ExtractComputed<C extends ComputedDefinitions> = { [K in keyof C]: C[K] extends ComputedGetter<infer R> ? R : C[K] extends WritableComputedOptions<infer R> ? R : never; };
7
+ export type ExtractMethods<M extends MethodDefinitions> = { [K in keyof M]: M[K] extends ((...args: infer P) => infer R) ? (...args: P) => R : never; };
8
+ export type ComponentPublicInstance<D extends object = Record<string, any>, C extends ComputedDefinitions = ComputedDefinitions, M extends MethodDefinitions = MethodDefinitions, P = Record<string, any>, S = Record<string, any>> = D & ExtractComputed<C> & ExtractMethods<M> & {
9
+ $attrs: Record<string, any>;
10
+ $props: P;
11
+ $refs: Record<string, any>;
12
+ $slots: S;
13
+ $set: <T extends object, K extends PropertyKey>(object: T, property: K, value: any) => any;
14
+ $delete: (object: object, property: PropertyKey) => boolean;
15
+ $emit: (event: string, ...args: any[]) => void;
16
+ $nextTick: <T = void>(fn?: (this: ComponentPublicInstance<D, C, M, P, S>) => T) => Promise<T>;
17
+ $options: {
18
+ name?: string;
19
+ };
20
+ $parent?: ComponentPublicInstance;
21
+ };
22
+ export interface ModelBindingOptions<T = any, Event extends string = string, ValueProp extends string = string, Formatted = T> {
23
+ event?: Event;
24
+ valueProp?: ValueProp;
25
+ parser?: (payload: any) => T;
26
+ formatter?: (value: T) => Formatted;
27
+ }
28
+ export type ModelBindingPayload<T = any, Event extends string = 'input', ValueProp extends string = 'value', Formatted = T> = { [K in ValueProp]: Formatted; } & { [K in `on${Capitalize<Event>}`]: (event: any) => void; };
29
+ export interface ModelBinding<T = any> {
30
+ value: T;
31
+ update: (value: T) => void;
32
+ model: <Event extends string = 'input', ValueProp extends string = 'value', Formatted = T>(options?: ModelBindingOptions<T, Event, ValueProp, Formatted>) => ModelBindingPayload<T, Event, ValueProp, Formatted>;
33
+ }
34
+ //#endregion
35
+ //# sourceMappingURL=core.d.mts.map
@@ -0,0 +1,84 @@
1
+ import { HostMiniProgramAddToFavoritesOption, HostMiniProgramAppOptions, HostMiniProgramAppTrivialInstance, HostMiniProgramBehaviorIdentifier, HostMiniProgramBoundingClientRectResult, HostMiniProgramComponentAllFullProperty, HostMiniProgramComponentAllProperty, HostMiniProgramComponentBehaviorOptions, HostMiniProgramComponentEmptyArray, HostMiniProgramComponentInstance, HostMiniProgramComponentMethodOption, HostMiniProgramComponentPropertyOption, HostMiniProgramComponentPropertyValue, HostMiniProgramComponentShortProperty, HostMiniProgramComponentTrivialInstance, HostMiniProgramComponentTrivialOption, HostMiniProgramIntersectionObserver, HostMiniProgramIntersectionObserverOptions, HostMiniProgramLaunchOptions, HostMiniProgramMemoryWarningResult, HostMiniProgramNavigateToOption, HostMiniProgramNodesRef, HostMiniProgramNodesRefFields, HostMiniProgramPageLifetime, HostMiniProgramPageNotFoundOptions, HostMiniProgramPageResizeOption, HostMiniProgramPageScrollOption, HostMiniProgramPageTrivialInstance, HostMiniProgramReLaunchOption, HostMiniProgramRedirectToOption, HostMiniProgramRouter, HostMiniProgramSaveExitState, HostMiniProgramScrollOffsetResult, HostMiniProgramSelectorQuery, HostMiniProgramShareAppMessageOption, HostMiniProgramSwitchTabOption, HostMiniProgramTabItemTapOption, HostMiniProgramThemeChangeResult, HostMiniProgramTriggerEventOptions, HostMiniProgramUnhandledRejectionResult } from "./miniprogramHost.mjs";
2
+ //#region src/runtime/types/miniprogram.d.ts
3
+ export interface MiniProgramAdapter {
4
+ /**
5
+ * 下发视图数据。返回 `void` 表示同步完成;异步适配器必须返回在宿主提交后兑现的 Promise。
6
+ */
7
+ setData?: (payload: Record<string, any>) => void | Promise<void>;
8
+ }
9
+ type MpComponentOptions = HostMiniProgramComponentTrivialOption;
10
+ export type MiniProgramBehaviorIdentifier = HostMiniProgramBehaviorIdentifier | string;
11
+ export type MiniProgramComponentPropertyValue<TProperty extends HostMiniProgramComponentAllFullProperty> = HostMiniProgramComponentPropertyValue<TProperty>;
12
+ export type MiniProgramComponentInstance<D extends object, P extends HostMiniProgramComponentPropertyOption, M extends HostMiniProgramComponentMethodOption, B extends HostMiniProgramComponentEmptyArray = HostMiniProgramComponentEmptyArray> = HostMiniProgramComponentInstance<D, P, M, B>;
13
+ export interface MiniProgramComponentOptions {
14
+ /**
15
+ * 类似于 mixins/traits 的组件间代码复用机制(behaviors)。
16
+ */
17
+ behaviors?: MiniProgramBehaviorIdentifier[];
18
+ /**
19
+ * 组件接受的外部样式类。
20
+ */
21
+ externalClasses?: MpComponentOptions['externalClasses'];
22
+ /**
23
+ * 组件间关系定义。
24
+ */
25
+ relations?: MpComponentOptions['relations'];
26
+ /**
27
+ * 组件数据字段监听器,用于监听 properties 和 data 的变化。
28
+ */
29
+ observers?: MpComponentOptions['observers'];
30
+ /**
31
+ * 组件生命周期声明对象:
32
+ * `created`/`attached`/`ready`/`moved`/`detached`/`error`。
33
+ *
34
+ * 注意:wevu 会在 `attached/ready/detached/moved/error` 阶段做桥接与包装。
35
+ * setup 默认在 `attached` 执行,可通过 `setupLifecycle = "created"` 切换回旧行为。
36
+ */
37
+ lifetimes?: MpComponentOptions['lifetimes'];
38
+ /**
39
+ * 组件所在页面的生命周期声明对象:`show`/`hide`/`resize`/`routeDone`。
40
+ */
41
+ pageLifetimes?: MpComponentOptions['pageLifetimes'];
42
+ /**
43
+ * 组件选项(multipleSlots/styleIsolation/pureDataPattern/virtualHost 等)。
44
+ */
45
+ options?: MpComponentOptions['options'];
46
+ /**
47
+ * 定义段过滤器,用于自定义组件扩展。
48
+ */
49
+ definitionFilter?: MpComponentOptions['definitionFilter'];
50
+ /**
51
+ * 组件自定义导出:当使用组件导出 behavior(例如微信中的 `wx://component-export`)时,
52
+ * 可用于指定组件被 selectComponent 调用时的返回值。
53
+ *
54
+ * wevu 默认会将 setup() 中通过 `expose()` 写入的内容作为 export() 返回值,
55
+ * 因此大多数情况下无需手动编写 export();若同时提供 export(),则会与 expose() 结果浅合并。
56
+ */
57
+ export?: MpComponentOptions['export'];
58
+ /**
59
+ * 原生 properties(与 wevu 的 props 不同)。
60
+ *
61
+ * - 推荐:使用 wevu 的 `props` 选项,让运行时规范化为小程序 `properties`。
62
+ * - 兼容:也可以直接传入小程序 `properties`。
63
+ */
64
+ properties?: MpComponentOptions['properties'];
65
+ /**
66
+ * 旧式生命周期(基础库 `2.2.3` 起推荐使用 `lifetimes` 字段)。
67
+ * 保留以增强类型提示与兼容性。
68
+ */
69
+ created?: MpComponentOptions['created'];
70
+ attached?: MpComponentOptions['attached'];
71
+ ready?: MpComponentOptions['ready'];
72
+ moved?: MpComponentOptions['moved'];
73
+ detached?: MpComponentOptions['detached'];
74
+ error?: MpComponentOptions['error'];
75
+ }
76
+ export type MiniProgramAppOptions<T extends Record<string, any> = Record<string, any>> = HostMiniProgramAppOptions<T>;
77
+ export type MiniProgramInstance = HostMiniProgramComponentTrivialInstance | HostMiniProgramPageTrivialInstance | HostMiniProgramAppTrivialInstance;
78
+ export type MiniProgramPageLifetimes = Partial<HostMiniProgramPageLifetime>;
79
+ export type MiniProgramComponentRawOptions = Omit<HostMiniProgramComponentTrivialOption, 'behaviors'> & {
80
+ behaviors?: MiniProgramBehaviorIdentifier[];
81
+ } & MiniProgramPageLifetimes & Record<string, any>;
82
+ //#endregion
83
+ export type { HostMiniProgramAddToFavoritesOption as MiniProgramAddToFavoritesOption, HostMiniProgramBoundingClientRectResult as MiniProgramBoundingClientRectResult, HostMiniProgramComponentAllFullProperty as MiniProgramComponentAllFullProperty, HostMiniProgramComponentAllProperty as MiniProgramComponentAllProperty, HostMiniProgramComponentBehaviorOptions as MiniProgramComponentBehaviorOptions, HostMiniProgramComponentEmptyArray as MiniProgramComponentEmptyArray, HostMiniProgramComponentMethodOption as MiniProgramComponentMethodOption, HostMiniProgramComponentPropertyOption as MiniProgramComponentPropertyOption, HostMiniProgramComponentShortProperty as MiniProgramComponentShortProperty, HostMiniProgramIntersectionObserver as MiniProgramIntersectionObserver, HostMiniProgramIntersectionObserverOptions as MiniProgramIntersectionObserverOptions, HostMiniProgramLaunchOptions as MiniProgramLaunchOptions, HostMiniProgramMemoryWarningResult as MiniProgramMemoryWarningResult, HostMiniProgramNavigateToOption as MiniProgramNavigateToOption, HostMiniProgramNodesRef as MiniProgramNodesRef, HostMiniProgramNodesRefFields as MiniProgramNodesRefFields, HostMiniProgramPageLifetime as MiniProgramPageLifetime, HostMiniProgramPageNotFoundOptions as MiniProgramPageNotFoundOptions, HostMiniProgramPageResizeOption as MiniProgramPageResizeOption, HostMiniProgramPageScrollOption as MiniProgramPageScrollOption, HostMiniProgramReLaunchOption as MiniProgramReLaunchOption, HostMiniProgramRedirectToOption as MiniProgramRedirectToOption, HostMiniProgramRouter as MiniProgramRouter, HostMiniProgramSaveExitState as MiniProgramSaveExitState, HostMiniProgramScrollOffsetResult as MiniProgramScrollOffsetResult, HostMiniProgramSelectorQuery as MiniProgramSelectorQuery, HostMiniProgramShareAppMessageOption as MiniProgramShareAppMessageOption, HostMiniProgramSwitchTabOption as MiniProgramSwitchTabOption, HostMiniProgramTabItemTapOption as MiniProgramTabItemTapOption, HostMiniProgramThemeChangeResult as MiniProgramThemeChangeResult, HostMiniProgramUnhandledRejectionResult as MiniProgramUnhandledRejectionResult, HostMiniProgramTriggerEventOptions as TriggerEventOptions };
84
+ //# sourceMappingURL=miniprogram.d.mts.map