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,9 +1,10 @@
1
+ import { requireRuntimeCapability, runtimeCapabilityRegistry } from "../capabilities.mjs";
2
+ import { runTeardownSteps } from "../teardown.mjs";
1
3
  import { hasOwn } from "../../utils.mjs";
2
4
  import { cloneSnapshotValue, isDeepEqualValue } from "../app/setData/snapshot.mjs";
3
- import { resolveDatasetEventValue, runInlineExpression } from "../register/inline.mjs";
5
+ import { decodeWxmlEntities, resolveDatasetEventValue } from "../inlineDataset.mjs";
4
6
  import { getOwnerProxy, getOwnerSnapshot, getOwnerTarget, subscribeOwner } from "../scopedSlots.mjs";
5
- import { clearTemplateRefs, scheduleTemplateRefUpdate } from "../templateRefs.mjs";
6
- import { WEVU_INLINE_HANDLER, WEVU_INLINE_MAP_KEY, WEVU_OWNER_HANDLER, WEVU_PROPS_DERIVED_KEYS_KEY, WEVU_PUBLIC_RUNTIME_KEY, WEVU_SLOT_FUNCTION_TOKEN, WEVU_SLOT_OWNER_ID_KEY, WEVU_SLOT_OWNER_ID_PROP, WEVU_SLOT_OWNER_KEY, WEVU_SLOT_OWNER_PROXY_KEY, WEVU_SLOT_PROPS_DATA_KEY, WEVU_SLOT_PROPS_KEY, WEVU_SLOT_SCOPE_KEY, WEVU_TEMPLATE_REFS_KEY } from "@weapp-core/constants";
7
+ import { WEVU_BINDING_MANIFEST_KEY, WEVU_INLINE_HANDLER, WEVU_INLINE_MAP_KEY, WEVU_LAYOUT_HOSTS_KEY, WEVU_OWNER_HANDLER, WEVU_PROPS_DERIVED_KEYS_KEY, WEVU_PUBLIC_RUNTIME_KEY, WEVU_SCOPED_SLOT_OWNER_REQUIRED_KEY, WEVU_SLOT_FUNCTION_TOKEN, WEVU_SLOT_OWNER_ID_KEY, WEVU_SLOT_OWNER_ID_PROP, WEVU_SLOT_OWNER_KEY, WEVU_SLOT_OWNER_PROXY_KEY, WEVU_SLOT_PROPS_DATA_KEY, WEVU_SLOT_PROPS_KEY, WEVU_SLOT_SCOPE_KEY, WEVU_TEMPLATE_REFS_KEY } from "@weapp-core/constants";
7
8
 
8
9
  //#region src/runtime/define/scopedSlotOptions.ts
9
10
  const SCOPED_SLOT_SNAPSHOT_OMIT_KEYS = [
@@ -15,16 +16,6 @@ const SCOPED_SLOT_SNAPSHOT_OMIT_KEYS = [
15
16
  WEVU_SLOT_PROPS_KEY,
16
17
  WEVU_SLOT_SCOPE_KEY
17
18
  ];
18
- const AMP_RE = /&/g;
19
- const QUOT_RE = /"/g;
20
- const NUM_QUOT_RE = /"/g;
21
- const APOS_RE = /'/g;
22
- const NUM_APOS_RE = /'/g;
23
- const LT_RE = /</g;
24
- const GT_RE = />/g;
25
- function decodeWxmlEntities(value) {
26
- return value.replace(AMP_RE, "&").replace(QUOT_RE, "\"").replace(NUM_QUOT_RE, "\"").replace(APOS_RE, "'").replace(NUM_APOS_RE, "'").replace(LT_RE, "<").replace(GT_RE, ">");
27
- }
28
19
  function parseInlineArgs(event) {
29
20
  var _ref, _event$currentTarget$, _event$currentTarget, _event$target;
30
21
  const dataset = (_ref = (_event$currentTarget$ = event === null || event === void 0 || (_event$currentTarget = event.currentTarget) === null || _event$currentTarget === void 0 ? void 0 : _event$currentTarget.dataset) !== null && _event$currentTarget$ !== void 0 ? _event$currentTarget$ : event === null || event === void 0 || (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.dataset) !== null && _ref !== void 0 ? _ref : {};
@@ -279,12 +270,18 @@ function createScopedSlotData() {
279
270
  }
280
271
  function createScopedSlotOptions(overrides) {
281
272
  const scopedSlotComputed = overrides === null || overrides === void 0 ? void 0 : overrides.computed;
273
+ const layoutHosts = overrides === null || overrides === void 0 ? void 0 : overrides.layoutHosts;
282
274
  const templateRefs = overrides === null || overrides === void 0 ? void 0 : overrides.templateRefs;
275
+ if (templateRefs === null || templateRefs === void 0 ? void 0 : templateRefs.length) requireRuntimeCapability("templateRefs", "createWevuScopedSlotComponent(templateRefs)");
276
+ const hasInlineMap = Boolean((overrides === null || overrides === void 0 ? void 0 : overrides.inlineMap) && Object.keys(overrides.inlineMap).length);
277
+ if (hasInlineMap) requireRuntimeCapability("inlineEvents", "createWevuScopedSlotComponent(inlineMap)");
278
+ if (layoutHosts === null || layoutHosts === void 0 ? void 0 : layoutHosts.length) requireRuntimeCapability("layout", "createWevuScopedSlotComponent(layoutHosts)");
283
279
  const resolveTemplateRefOwner = (instance) => {
284
280
  const ownerId = resolveBoundOwnerId(instance);
285
281
  return ownerId ? getOwnerTarget(ownerId) : void 0;
286
282
  };
287
283
  const baseOptions = {
284
+ [WEVU_SCOPED_SLOT_OWNER_REQUIRED_KEY]: true,
288
285
  options: { virtualHost: true },
289
286
  setData: { omit: SCOPED_SLOT_SNAPSHOT_OMIT_KEYS },
290
287
  [WEVU_PROPS_DERIVED_KEYS_KEY]: SCOPED_SLOT_SNAPSHOT_OMIT_KEYS,
@@ -327,23 +324,40 @@ function createScopedSlotOptions(overrides) {
327
324
  syncScopedSlotBindings(this, scopedSlotComputed);
328
325
  flushScopedSlotComputedBindings(this, scopedSlotComputed, { force: true });
329
326
  const owner = resolveTemplateRefOwner(this);
330
- if (owner) scheduleTemplateRefUpdate(this, void 0, owner);
327
+ if (owner && (templateRefs === null || templateRefs === void 0 ? void 0 : templateRefs.length)) {
328
+ var _runtimeCapabilityReg;
329
+ (_runtimeCapabilityReg = runtimeCapabilityRegistry.templateRefs) === null || _runtimeCapabilityReg === void 0 || _runtimeCapabilityReg.schedule(this, void 0, owner);
330
+ }
331
331
  },
332
332
  detached() {
333
333
  const owner = resolveTemplateRefOwner(this);
334
- if (owner) clearTemplateRefs(this, owner);
335
- if (typeof this.__wvOwnerUnsub === "function") this.__wvOwnerUnsub();
336
- this.__wvOwnerUnsub = void 0;
337
- this.__wvOwnerBoundId = "";
338
- setOwnerProxy(this, void 0);
334
+ runTeardownSteps([
335
+ () => {
336
+ if (owner && (templateRefs === null || templateRefs === void 0 ? void 0 : templateRefs.length)) {
337
+ var _runtimeCapabilityReg2;
338
+ (_runtimeCapabilityReg2 = runtimeCapabilityRegistry.templateRefs) === null || _runtimeCapabilityReg2 === void 0 || _runtimeCapabilityReg2.clear(this, owner);
339
+ }
340
+ },
341
+ () => {
342
+ if (typeof this.__wvOwnerUnsub === "function") this.__wvOwnerUnsub();
343
+ },
344
+ () => {
345
+ this.__wvOwnerUnsub = void 0;
346
+ this.__wvOwnerBoundId = "";
347
+ },
348
+ () => setOwnerProxy(this, void 0)
349
+ ]);
339
350
  }
340
351
  },
341
352
  methods: { [WEVU_OWNER_HANDLER](event) {
342
353
  var _wevu, _ref4, _event$currentTarget$2, _event$currentTarget2, _event$target2;
343
354
  const owner = this[WEVU_SLOT_OWNER_PROXY_KEY];
344
355
  const inlineMap = (_wevu = this.__wevu) === null || _wevu === void 0 || (_wevu = _wevu.methods) === null || _wevu === void 0 ? void 0 : _wevu[WEVU_INLINE_MAP_KEY];
345
- const result = runInlineExpression(owner, void 0, event, inlineMap);
346
- if (result !== void 0) return result;
356
+ if (hasInlineMap) {
357
+ var _runtimeCapabilityReg3;
358
+ const result = (_runtimeCapabilityReg3 = runtimeCapabilityRegistry.inlineEvents) === null || _runtimeCapabilityReg3 === void 0 ? void 0 : _runtimeCapabilityReg3.run(owner, void 0, event, inlineMap);
359
+ if (result !== void 0) return result;
360
+ }
347
361
  if (!owner) return;
348
362
  const dataset = (_ref4 = (_event$currentTarget$2 = event === null || event === void 0 || (_event$currentTarget2 = event.currentTarget) === null || _event$currentTarget2 === void 0 ? void 0 : _event$currentTarget2.dataset) !== null && _event$currentTarget$2 !== void 0 ? _event$currentTarget$2 : event === null || event === void 0 || (_event$target2 = event.target) === null || _event$target2 === void 0 ? void 0 : _event$target2.dataset) !== null && _ref4 !== void 0 ? _ref4 : {};
349
363
  const handlerName = resolveDatasetEventValue(dataset, "wvHandler", event);
@@ -360,6 +374,8 @@ function createScopedSlotOptions(overrides) {
360
374
  [WEVU_INLINE_MAP_KEY]: overrides.inlineMap
361
375
  };
362
376
  if (templateRefs === null || templateRefs === void 0 ? void 0 : templateRefs.length) baseOptions[WEVU_TEMPLATE_REFS_KEY] = templateRefs;
377
+ if (layoutHosts === null || layoutHosts === void 0 ? void 0 : layoutHosts.length) baseOptions[WEVU_LAYOUT_HOSTS_KEY] = layoutHosts;
378
+ if (overrides === null || overrides === void 0 ? void 0 : overrides[WEVU_BINDING_MANIFEST_KEY]) baseOptions[WEVU_BINDING_MANIFEST_KEY] = overrides[WEVU_BINDING_MANIFEST_KEY];
363
379
  return baseOptions;
364
380
  }
365
381
 
@@ -1 +1 @@
1
- {"version":3,"file":"scopedSlotOptions.mjs","names":[],"sources":["../../../../src/runtime/define/scopedSlotOptions.ts"],"sourcesContent":["import type { InlineExpressionMap } from '../register/inline'\nimport type { TemplateRefBinding } from '../templateRefs'\nimport type { ComputedDefinitions } from '../types'\nimport {\n WEVU_INLINE_HANDLER,\n WEVU_INLINE_MAP_KEY,\n WEVU_OWNER_HANDLER,\n WEVU_PROPS_DERIVED_KEYS_KEY,\n WEVU_PUBLIC_RUNTIME_KEY,\n WEVU_SLOT_FUNCTION_TOKEN,\n WEVU_SLOT_OWNER_ID_KEY,\n WEVU_SLOT_OWNER_ID_PROP,\n WEVU_SLOT_OWNER_KEY,\n WEVU_SLOT_OWNER_PROXY_KEY,\n WEVU_SLOT_PROPS_DATA_KEY,\n WEVU_SLOT_PROPS_KEY,\n WEVU_SLOT_SCOPE_KEY,\n WEVU_TEMPLATE_REFS_KEY,\n} from '@weapp-core/constants'\nimport { hasOwn } from '../../utils'\nimport { cloneSnapshotValue, isDeepEqualValue } from '../app/setData/snapshot'\nimport { resolveDatasetEventValue, runInlineExpression } from '../register/inline'\nimport { getOwnerProxy, getOwnerSnapshot, getOwnerTarget, subscribeOwner } from '../scopedSlots'\nimport { clearTemplateRefs, scheduleTemplateRefUpdate } from '../templateRefs'\n\nconst SCOPED_SLOT_SNAPSHOT_OMIT_KEYS = [\n WEVU_SLOT_OWNER_ID_KEY,\n WEVU_SLOT_OWNER_ID_PROP,\n WEVU_SLOT_OWNER_PROXY_KEY,\n WEVU_SLOT_OWNER_KEY,\n WEVU_SLOT_PROPS_DATA_KEY,\n WEVU_SLOT_PROPS_KEY,\n WEVU_SLOT_SCOPE_KEY,\n]\n\nconst AMP_RE = /&amp;/g\nconst QUOT_RE = /&quot;/g\nconst NUM_QUOT_RE = /&#34;/g\nconst APOS_RE = /&apos;/g\nconst NUM_APOS_RE = /&#39;/g\nconst LT_RE = /&lt;/g\nconst GT_RE = /&gt;/g\n\nfunction decodeWxmlEntities(value: string) {\n return value\n .replace(AMP_RE, '&')\n .replace(QUOT_RE, '\"')\n .replace(NUM_QUOT_RE, '\"')\n .replace(APOS_RE, '\\'')\n .replace(NUM_APOS_RE, '\\'')\n .replace(LT_RE, '<')\n .replace(GT_RE, '>')\n}\n\nfunction parseInlineArgs(event: any) {\n const dataset = event?.currentTarget?.dataset ?? event?.target?.dataset ?? {}\n const argsRaw = resolveDatasetEventValue(dataset, 'wvArgs', event)\n let args: any[] = []\n if (Array.isArray(argsRaw)) {\n args = argsRaw\n }\n else if (typeof argsRaw === 'string') {\n try {\n args = JSON.parse(argsRaw)\n }\n catch {\n try {\n args = JSON.parse(decodeWxmlEntities(argsRaw))\n }\n catch {\n args = []\n }\n }\n }\n if (!Array.isArray(args)) {\n args = []\n }\n return args.map((item: any) => item === '$event' ? event : item)\n}\n\nfunction normalizeSlotBindings(value: unknown): Record<string, any> {\n if (!value || typeof value !== 'object') {\n return {}\n }\n if (Array.isArray(value)) {\n const result: Record<string, any> = {}\n for (let i = 0; i < value.length; i += 2) {\n const key = value[i]\n if (typeof key === 'string' && key) {\n result[key] = value[i + 1]\n }\n }\n return result\n }\n return value as Record<string, any>\n}\n\nfunction isSlotFunctionDescriptor(value: unknown): value is [string, string, unknown[], unknown[]] {\n return Array.isArray(value)\n && value[0] === WEVU_SLOT_FUNCTION_TOKEN\n && typeof value[1] === 'string'\n}\n\nfunction createSlotFunctionProxy(instance: any, descriptor: [string, string, unknown[], unknown[]]) {\n return (...args: unknown[]) => {\n const owner = instance?.selectOwnerComponent?.()\n const handler = owner?.[WEVU_INLINE_HANDLER]\n if (typeof handler !== 'function') {\n return undefined\n }\n const dataset: Record<string, unknown> = {\n wd: 1,\n wi: descriptor[1],\n }\n const scopeBindings = Array.isArray(descriptor[2]) ? descriptor[2] : []\n const indexBindings = Array.isArray(descriptor[3]) ? descriptor[3] : []\n scopeBindings.forEach((value, index) => dataset[`wvS${index}`] = value)\n indexBindings.forEach((value, index) => dataset[`wvI${index}`] = value)\n const event = {\n type: 'wv-slot-function',\n detail: args,\n currentTarget: { dataset },\n target: { dataset },\n }\n return handler.call(owner, event)\n }\n}\n\nfunction resolveRuntimeSlotBindings(instance: any, bindings: Record<string, any>) {\n const resolved: Record<string, any> = {}\n for (const [key, value] of Object.entries(bindings)) {\n resolved[key] = isSlotFunctionDescriptor(value) ? createSlotFunctionProxy(instance, value) : value\n }\n return resolved\n}\n\nfunction resolveComputedContext(instance: any) {\n return instance?.__wevu?.proxy\n ?? instance?.[WEVU_PUBLIC_RUNTIME_KEY]?.proxy\n ?? instance\n}\n\nfunction collectComputedPayload(instance: any, computed?: ComputedDefinitions) {\n if (!computed || Object.keys(computed).length === 0) {\n return undefined\n }\n\n const context = resolveComputedContext(instance)\n const payload: Record<string, any> = {}\n for (const [key, definition] of Object.entries(computed)) {\n try {\n let value: any\n if (typeof definition === 'function') {\n value = definition.call(context)\n }\n else if (typeof (definition as any)?.get === 'function') {\n value = (definition as any).get.call(context)\n }\n if (value !== undefined) {\n payload[key] = value\n }\n }\n catch {\n }\n }\n return payload\n}\n\nfunction flushOwnerProxyBindings(instance: any) {\n instance?.__wevu?.__wevu_flushSetupSnapshotSync?.()\n}\n\nfunction flushScopedSlotComputedBindings(\n instance: any,\n computed?: ComputedDefinitions,\n options?: { force?: boolean },\n) {\n flushOwnerProxyBindings(instance)\n const payload = collectComputedPayload(instance, computed)\n if (!payload || typeof instance?.setData !== 'function') {\n return\n }\n const hasPrevious = hasOwn(instance, '__wvScopedSlotComputedSnapshot')\n const previous = instance.__wvScopedSlotComputedSnapshot ?? {}\n const next: Record<string, any> = {}\n const changed: Record<string, any> = {}\n for (const [key, value] of Object.entries(payload)) {\n next[key] = cloneSnapshotValue(value)\n if (options?.force || !hasPrevious || !hasOwn(previous, key) || !isDeepEqualValue(previous[key], value, 20, { keys: 10_000 })) {\n changed[key] = value\n }\n }\n for (const key of Object.keys(previous)) {\n if (!hasOwn(payload, key)) {\n changed[key] = null\n }\n }\n instance.__wvScopedSlotComputedSnapshot = next\n if (Object.keys(changed).length > 0) {\n instance.setData(changed)\n }\n}\n\nfunction syncSlotPropsData(\n instance: any,\n override?: { [WEVU_SLOT_SCOPE_KEY]?: unknown, [WEVU_SLOT_PROPS_KEY]?: unknown },\n) {\n const scopeSource = hasOwn(override ?? {}, WEVU_SLOT_SCOPE_KEY)\n ? (override as any)[WEVU_SLOT_SCOPE_KEY]\n : instance?.properties?.[WEVU_SLOT_SCOPE_KEY]\n const propsSource = hasOwn(override ?? {}, WEVU_SLOT_PROPS_KEY)\n ? (override as any)[WEVU_SLOT_PROPS_KEY]\n : instance?.properties?.[WEVU_SLOT_PROPS_KEY]\n const scope = normalizeSlotBindings(scopeSource)\n const slotProps = normalizeSlotBindings(propsSource)\n const snapshot = { ...scope, ...slotProps }\n const snapshotChanged = !hasOwn(instance, '__wvSlotPropsSnapshot')\n || !isDeepEqualValue(\n instance.__wvSlotPropsSnapshot ?? {},\n snapshot,\n 20,\n { keys: 10_000 },\n )\n const merged = snapshotChanged || !instance[WEVU_SLOT_PROPS_DATA_KEY]\n ? resolveRuntimeSlotBindings(instance, snapshot)\n : instance[WEVU_SLOT_PROPS_DATA_KEY]\n if (snapshotChanged) {\n instance.__wvSlotPropsSnapshot = cloneSnapshotValue(snapshot)\n }\n instance[WEVU_SLOT_PROPS_DATA_KEY] = merged\n const runtimeState = instance?.__wevu?.state\n const runtimeSnapshotChanged = Boolean(\n runtimeState\n && typeof runtimeState === 'object'\n && (\n !hasOwn(runtimeState, WEVU_SLOT_PROPS_DATA_KEY)\n || !isDeepEqualValue(\n runtimeState[WEVU_SLOT_PROPS_DATA_KEY] ?? {},\n snapshot,\n 20,\n { keys: 10_000 },\n )\n ),\n )\n if (runtimeState && typeof runtimeState === 'object') {\n runtimeState[WEVU_SLOT_PROPS_DATA_KEY] = merged\n }\n return { merged, runtimeSnapshotChanged, snapshot, snapshotChanged }\n}\n\nfunction mergeSlotProps(\n instance: any,\n computed?: ComputedDefinitions,\n override?: { [WEVU_SLOT_SCOPE_KEY]?: unknown, [WEVU_SLOT_PROPS_KEY]?: unknown },\n) {\n const { runtimeSnapshotChanged, snapshot, snapshotChanged } = syncSlotPropsData(instance, override)\n if ((snapshotChanged || runtimeSnapshotChanged) && typeof instance?.setData === 'function') {\n instance.setData({ [WEVU_SLOT_PROPS_DATA_KEY]: snapshot })\n }\n if (snapshotChanged) {\n flushScopedSlotComputedBindings(instance, computed)\n }\n}\n\nfunction setOwnerProxy(instance: any, proxy: any) {\n let changed = false\n if (instance[WEVU_SLOT_OWNER_PROXY_KEY] !== proxy) {\n instance[WEVU_SLOT_OWNER_PROXY_KEY] = proxy\n changed = true\n }\n const data = instance?.data\n if (data && typeof data === 'object' && data[WEVU_SLOT_OWNER_PROXY_KEY] !== proxy) {\n try {\n Object.defineProperty(data, WEVU_SLOT_OWNER_PROXY_KEY, {\n value: proxy,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n data[WEVU_SLOT_OWNER_PROXY_KEY] = proxy\n }\n changed = true\n }\n const runtimeState = instance?.__wevu?.state\n if (\n runtimeState\n && typeof runtimeState === 'object'\n && runtimeState[WEVU_SLOT_OWNER_PROXY_KEY] !== proxy\n ) {\n runtimeState[WEVU_SLOT_OWNER_PROXY_KEY] = proxy\n changed = true\n }\n return changed\n}\n\nfunction isSnapshotObject(value: unknown): value is Record<string, any> {\n if (!value || typeof value !== 'object') {\n return false\n }\n const prototype = Object.getPrototypeOf(value)\n return prototype === Object.prototype || prototype === null\n}\n\nfunction splitOwnerSnapshotFunctions(\n value: any,\n path: string,\n functionPayload: Record<string, any>,\n visiting: WeakSet<object>,\n): any {\n if (typeof value === 'function') {\n functionPayload[path] = value\n return undefined\n }\n if (value == null || typeof value !== 'object') {\n return value\n }\n if (visiting.has(value)) {\n return undefined\n }\n if (Array.isArray(value)) {\n visiting.add(value)\n const output = value.map((item, index) => {\n const next = splitOwnerSnapshotFunctions(item, `${path}.${index}`, functionPayload, visiting)\n return next === undefined ? null : next\n })\n visiting.delete(value)\n return output\n }\n if (!isSnapshotObject(value)) {\n return cloneSnapshotValue(value)\n }\n visiting.add(value)\n const output: Record<string, any> = {}\n for (const [key, child] of Object.entries(value)) {\n const next = splitOwnerSnapshotFunctions(child, `${path}.${key}`, functionPayload, visiting)\n if (next !== undefined) {\n output[key] = next\n }\n }\n visiting.delete(value)\n return output\n}\n\nfunction createOwnerSetDataPayload(snapshot: Record<string, any>) {\n const functionPayload: Record<string, any> = {}\n const ownerSnapshot = splitOwnerSnapshotFunctions(\n snapshot,\n WEVU_SLOT_OWNER_KEY,\n functionPayload,\n new WeakSet(),\n )\n return {\n [WEVU_SLOT_OWNER_KEY]: ownerSnapshot,\n ...functionPayload,\n }\n}\n\nfunction updateOwnerBindings(instance: any, snapshot: Record<string, any>, proxy: any, computed?: ComputedDefinitions) {\n const proxyChanged = setOwnerProxy(instance, proxy)\n const { snapshotChanged: slotPropsChanged } = syncSlotPropsData(instance)\n const nextOwnerSnapshot = snapshot || {}\n const ownerChanged = !hasOwn(instance, '__wvOwnerSnapshot')\n || !isDeepEqualValue(\n instance.__wvOwnerSnapshot ?? {},\n nextOwnerSnapshot,\n 20,\n { keys: 10_000 },\n )\n if (ownerChanged) {\n instance.__wvOwnerSnapshot = cloneSnapshotValue(nextOwnerSnapshot)\n instance[WEVU_SLOT_OWNER_KEY] = nextOwnerSnapshot\n const runtimeState = instance?.__wevu?.state\n if (runtimeState && typeof runtimeState === 'object') {\n runtimeState[WEVU_SLOT_OWNER_KEY] = nextOwnerSnapshot\n }\n }\n if (ownerChanged && typeof instance?.setData === 'function') {\n instance.setData(createOwnerSetDataPayload(nextOwnerSnapshot))\n }\n if (ownerChanged || proxyChanged || slotPropsChanged) {\n flushScopedSlotComputedBindings(instance, computed)\n }\n}\n\nfunction bindOwner(instance: any, ownerId: string, computed?: ComputedDefinitions) {\n if (!ownerId) {\n if (typeof instance?.__wvOwnerUnsub === 'function') {\n instance.__wvOwnerUnsub()\n }\n instance.__wvOwnerUnsub = undefined\n instance.__wvOwnerBoundId = ''\n setOwnerProxy(instance, undefined)\n return\n }\n\n const updateOwner = (snapshot: Record<string, any>, proxy: any) => {\n updateOwnerBindings(instance, snapshot, proxy, computed)\n }\n if (instance.__wvOwnerBoundId !== ownerId) {\n if (typeof instance.__wvOwnerUnsub === 'function') {\n instance.__wvOwnerUnsub()\n }\n instance.__wvOwnerBoundId = ownerId\n instance.__wvOwnerUnsub = subscribeOwner(ownerId, updateOwner)\n }\n const snapshot = getOwnerSnapshot(ownerId)\n if (snapshot) {\n updateOwner(snapshot, getOwnerProxy(ownerId))\n }\n}\n\nfunction resolveBoundOwnerId(instance: any) {\n return instance?.properties?.[WEVU_SLOT_OWNER_ID_PROP]\n ?? instance?.properties?.[WEVU_SLOT_OWNER_ID_KEY]\n ?? ''\n}\n\nfunction syncScopedSlotBindings(instance: any, computed?: ComputedDefinitions) {\n mergeSlotProps(instance, computed)\n const ownerId = resolveBoundOwnerId(instance)\n if (!ownerId) {\n return\n }\n bindOwner(instance, ownerId, computed)\n}\n\nfunction createScopedSlotData() {\n const data = {\n [WEVU_SLOT_OWNER_KEY]: {},\n [WEVU_SLOT_PROPS_DATA_KEY]: {},\n }\n Object.defineProperty(data, WEVU_SLOT_OWNER_PROXY_KEY, {\n value: undefined,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n return data\n}\n\nexport function createScopedSlotOptions(\n overrides?: {\n computed?: ComputedDefinitions\n inlineMap?: InlineExpressionMap\n templateRefs?: TemplateRefBinding[]\n },\n) {\n const scopedSlotComputed = overrides?.computed\n const templateRefs = overrides?.templateRefs\n const resolveTemplateRefOwner = (instance: any) => {\n const ownerId = resolveBoundOwnerId(instance)\n return ownerId ? getOwnerTarget(ownerId) : undefined\n }\n const baseOptions = {\n options: {\n virtualHost: true,\n },\n setData: {\n omit: SCOPED_SLOT_SNAPSHOT_OMIT_KEYS,\n },\n [WEVU_PROPS_DERIVED_KEYS_KEY]: SCOPED_SLOT_SNAPSHOT_OMIT_KEYS,\n properties: {\n [WEVU_SLOT_OWNER_ID_PROP]: {\n type: String,\n value: '',\n observer(this: any, next: string) {\n bindOwner(this, next || '', scopedSlotComputed)\n },\n },\n [WEVU_SLOT_OWNER_ID_KEY]: {\n type: String,\n value: '',\n observer(this: any, next: string) {\n bindOwner(this, next || '', scopedSlotComputed)\n },\n },\n [WEVU_SLOT_PROPS_KEY]: {\n type: null,\n value: null,\n observer(this: any, next: unknown) {\n mergeSlotProps(this, scopedSlotComputed, { [WEVU_SLOT_PROPS_KEY]: next })\n },\n },\n [WEVU_SLOT_SCOPE_KEY]: {\n type: null,\n value: null,\n observer(this: any, next: unknown) {\n mergeSlotProps(this, scopedSlotComputed, { [WEVU_SLOT_SCOPE_KEY]: next })\n },\n },\n },\n data: createScopedSlotData,\n lifetimes: {\n attached(this: any) {\n syncScopedSlotBindings(this, scopedSlotComputed)\n },\n ready(this: any) {\n syncScopedSlotBindings(this, scopedSlotComputed)\n flushScopedSlotComputedBindings(this, scopedSlotComputed, { force: true })\n const owner = resolveTemplateRefOwner(this)\n if (owner) {\n scheduleTemplateRefUpdate(this, undefined, owner)\n }\n },\n detached(this: any) {\n const owner = resolveTemplateRefOwner(this)\n if (owner) {\n clearTemplateRefs(this, owner)\n }\n if (typeof this.__wvOwnerUnsub === 'function') {\n this.__wvOwnerUnsub()\n }\n this.__wvOwnerUnsub = undefined\n this.__wvOwnerBoundId = ''\n setOwnerProxy(this, undefined)\n },\n },\n methods: {\n [WEVU_OWNER_HANDLER](this: any, event: any) {\n const owner = this[WEVU_SLOT_OWNER_PROXY_KEY]\n const inlineMap = (this as any).__wevu?.methods?.[WEVU_INLINE_MAP_KEY]\n const result = runInlineExpression(owner, undefined, event, inlineMap)\n if (result !== undefined) {\n return result\n }\n if (!owner) {\n return undefined\n }\n const dataset = event?.currentTarget?.dataset ?? event?.target?.dataset ?? {}\n const handlerName = resolveDatasetEventValue(dataset, 'wvHandler', event)\n if (typeof handlerName !== 'string' || !handlerName) {\n return undefined\n }\n const handler = owner?.[handlerName]\n if (typeof handler !== 'function') {\n return undefined\n }\n const args = parseInlineArgs(event)\n return handler.apply(owner, args)\n },\n },\n }\n\n if (overrides?.computed && Object.keys(overrides.computed).length > 0) {\n ;(baseOptions as any).computed = overrides.computed\n }\n if (overrides?.inlineMap && Object.keys(overrides.inlineMap).length > 0) {\n ;(baseOptions as any).methods = {\n ...(baseOptions as any).methods,\n [WEVU_INLINE_MAP_KEY]: overrides.inlineMap,\n }\n }\n if (templateRefs?.length) {\n ;(baseOptions as any)[WEVU_TEMPLATE_REFS_KEY] = templateRefs\n }\n\n return baseOptions\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"scopedSlotOptions.mjs","names":[],"sources":["../../../../src/runtime/define/scopedSlotOptions.ts"],"sourcesContent":["import type { WevuRuntimeBindingManifestV1 } from '@weapp-core/constants'\nimport type { LayoutHostBinding, TemplateRefBinding } from '../capabilities'\nimport type { InlineExpressionMap } from '../register/inline'\nimport type { ComputedDefinitions } from '../types'\nimport {\n WEVU_BINDING_MANIFEST_KEY,\n WEVU_INLINE_HANDLER,\n WEVU_INLINE_MAP_KEY,\n WEVU_LAYOUT_HOSTS_KEY,\n WEVU_OWNER_HANDLER,\n WEVU_PROPS_DERIVED_KEYS_KEY,\n WEVU_PUBLIC_RUNTIME_KEY,\n WEVU_SCOPED_SLOT_OWNER_REQUIRED_KEY,\n WEVU_SLOT_FUNCTION_TOKEN,\n WEVU_SLOT_OWNER_ID_KEY,\n WEVU_SLOT_OWNER_ID_PROP,\n WEVU_SLOT_OWNER_KEY,\n WEVU_SLOT_OWNER_PROXY_KEY,\n WEVU_SLOT_PROPS_DATA_KEY,\n WEVU_SLOT_PROPS_KEY,\n WEVU_SLOT_SCOPE_KEY,\n WEVU_TEMPLATE_REFS_KEY,\n} from '@weapp-core/constants'\nimport { hasOwn } from '../../utils'\nimport { cloneSnapshotValue, isDeepEqualValue } from '../app/setData/snapshot'\nimport { requireRuntimeCapability, runtimeCapabilityRegistry } from '../capabilities'\nimport { decodeWxmlEntities, resolveDatasetEventValue } from '../inlineDataset'\nimport { getOwnerProxy, getOwnerSnapshot, getOwnerTarget, subscribeOwner } from '../scopedSlots'\nimport { runTeardownSteps } from '../teardown'\n\nconst SCOPED_SLOT_SNAPSHOT_OMIT_KEYS = [\n WEVU_SLOT_OWNER_ID_KEY,\n WEVU_SLOT_OWNER_ID_PROP,\n WEVU_SLOT_OWNER_PROXY_KEY,\n WEVU_SLOT_OWNER_KEY,\n WEVU_SLOT_PROPS_DATA_KEY,\n WEVU_SLOT_PROPS_KEY,\n WEVU_SLOT_SCOPE_KEY,\n]\n\nfunction parseInlineArgs(event: any) {\n const dataset = event?.currentTarget?.dataset ?? event?.target?.dataset ?? {}\n const argsRaw = resolveDatasetEventValue(dataset, 'wvArgs', event)\n let args: any[] = []\n if (Array.isArray(argsRaw)) {\n args = argsRaw\n }\n else if (typeof argsRaw === 'string') {\n try {\n args = JSON.parse(argsRaw)\n }\n catch {\n try {\n args = JSON.parse(decodeWxmlEntities(argsRaw))\n }\n catch {\n args = []\n }\n }\n }\n if (!Array.isArray(args)) {\n args = []\n }\n return args.map((item: any) => item === '$event' ? event : item)\n}\n\nfunction normalizeSlotBindings(value: unknown): Record<string, any> {\n if (!value || typeof value !== 'object') {\n return {}\n }\n if (Array.isArray(value)) {\n const result: Record<string, any> = {}\n for (let i = 0; i < value.length; i += 2) {\n const key = value[i]\n if (typeof key === 'string' && key) {\n result[key] = value[i + 1]\n }\n }\n return result\n }\n return value as Record<string, any>\n}\n\nfunction isSlotFunctionDescriptor(value: unknown): value is [string, string, unknown[], unknown[]] {\n return Array.isArray(value)\n && value[0] === WEVU_SLOT_FUNCTION_TOKEN\n && typeof value[1] === 'string'\n}\n\nfunction createSlotFunctionProxy(instance: any, descriptor: [string, string, unknown[], unknown[]]) {\n return (...args: unknown[]) => {\n const owner = instance?.selectOwnerComponent?.()\n const handler = owner?.[WEVU_INLINE_HANDLER]\n if (typeof handler !== 'function') {\n return undefined\n }\n const dataset: Record<string, unknown> = {\n wd: 1,\n wi: descriptor[1],\n }\n const scopeBindings = Array.isArray(descriptor[2]) ? descriptor[2] : []\n const indexBindings = Array.isArray(descriptor[3]) ? descriptor[3] : []\n scopeBindings.forEach((value, index) => dataset[`wvS${index}`] = value)\n indexBindings.forEach((value, index) => dataset[`wvI${index}`] = value)\n const event = {\n type: 'wv-slot-function',\n detail: args,\n currentTarget: { dataset },\n target: { dataset },\n }\n return handler.call(owner, event)\n }\n}\n\nfunction resolveRuntimeSlotBindings(instance: any, bindings: Record<string, any>) {\n const resolved: Record<string, any> = {}\n for (const [key, value] of Object.entries(bindings)) {\n resolved[key] = isSlotFunctionDescriptor(value) ? createSlotFunctionProxy(instance, value) : value\n }\n return resolved\n}\n\nfunction resolveComputedContext(instance: any) {\n return instance?.__wevu?.proxy\n ?? instance?.[WEVU_PUBLIC_RUNTIME_KEY]?.proxy\n ?? instance\n}\n\nfunction collectComputedPayload(instance: any, computed?: ComputedDefinitions) {\n if (!computed || Object.keys(computed).length === 0) {\n return undefined\n }\n\n const context = resolveComputedContext(instance)\n const payload: Record<string, any> = {}\n for (const [key, definition] of Object.entries(computed)) {\n try {\n let value: any\n if (typeof definition === 'function') {\n value = definition.call(context)\n }\n else if (typeof (definition as any)?.get === 'function') {\n value = (definition as any).get.call(context)\n }\n if (value !== undefined) {\n payload[key] = value\n }\n }\n catch {\n }\n }\n return payload\n}\n\nfunction flushOwnerProxyBindings(instance: any) {\n instance?.__wevu?.__wevu_flushSetupSnapshotSync?.()\n}\n\nfunction flushScopedSlotComputedBindings(\n instance: any,\n computed?: ComputedDefinitions,\n options?: { force?: boolean },\n) {\n flushOwnerProxyBindings(instance)\n const payload = collectComputedPayload(instance, computed)\n if (!payload || typeof instance?.setData !== 'function') {\n return\n }\n const hasPrevious = hasOwn(instance, '__wvScopedSlotComputedSnapshot')\n const previous = instance.__wvScopedSlotComputedSnapshot ?? {}\n const next: Record<string, any> = {}\n const changed: Record<string, any> = {}\n for (const [key, value] of Object.entries(payload)) {\n next[key] = cloneSnapshotValue(value)\n if (options?.force || !hasPrevious || !hasOwn(previous, key) || !isDeepEqualValue(previous[key], value, 20, { keys: 10_000 })) {\n changed[key] = value\n }\n }\n for (const key of Object.keys(previous)) {\n if (!hasOwn(payload, key)) {\n changed[key] = null\n }\n }\n instance.__wvScopedSlotComputedSnapshot = next\n if (Object.keys(changed).length > 0) {\n instance.setData(changed)\n }\n}\n\nfunction syncSlotPropsData(\n instance: any,\n override?: { [WEVU_SLOT_SCOPE_KEY]?: unknown, [WEVU_SLOT_PROPS_KEY]?: unknown },\n) {\n const scopeSource = hasOwn(override ?? {}, WEVU_SLOT_SCOPE_KEY)\n ? (override as any)[WEVU_SLOT_SCOPE_KEY]\n : instance?.properties?.[WEVU_SLOT_SCOPE_KEY]\n const propsSource = hasOwn(override ?? {}, WEVU_SLOT_PROPS_KEY)\n ? (override as any)[WEVU_SLOT_PROPS_KEY]\n : instance?.properties?.[WEVU_SLOT_PROPS_KEY]\n const scope = normalizeSlotBindings(scopeSource)\n const slotProps = normalizeSlotBindings(propsSource)\n const snapshot = { ...scope, ...slotProps }\n const snapshotChanged = !hasOwn(instance, '__wvSlotPropsSnapshot')\n || !isDeepEqualValue(\n instance.__wvSlotPropsSnapshot ?? {},\n snapshot,\n 20,\n { keys: 10_000 },\n )\n const merged = snapshotChanged || !instance[WEVU_SLOT_PROPS_DATA_KEY]\n ? resolveRuntimeSlotBindings(instance, snapshot)\n : instance[WEVU_SLOT_PROPS_DATA_KEY]\n if (snapshotChanged) {\n instance.__wvSlotPropsSnapshot = cloneSnapshotValue(snapshot)\n }\n instance[WEVU_SLOT_PROPS_DATA_KEY] = merged\n const runtimeState = instance?.__wevu?.state\n const runtimeSnapshotChanged = Boolean(\n runtimeState\n && typeof runtimeState === 'object'\n && (\n !hasOwn(runtimeState, WEVU_SLOT_PROPS_DATA_KEY)\n || !isDeepEqualValue(\n runtimeState[WEVU_SLOT_PROPS_DATA_KEY] ?? {},\n snapshot,\n 20,\n { keys: 10_000 },\n )\n ),\n )\n if (runtimeState && typeof runtimeState === 'object') {\n runtimeState[WEVU_SLOT_PROPS_DATA_KEY] = merged\n }\n return { merged, runtimeSnapshotChanged, snapshot, snapshotChanged }\n}\n\nfunction mergeSlotProps(\n instance: any,\n computed?: ComputedDefinitions,\n override?: { [WEVU_SLOT_SCOPE_KEY]?: unknown, [WEVU_SLOT_PROPS_KEY]?: unknown },\n) {\n const { runtimeSnapshotChanged, snapshot, snapshotChanged } = syncSlotPropsData(instance, override)\n if ((snapshotChanged || runtimeSnapshotChanged) && typeof instance?.setData === 'function') {\n instance.setData({ [WEVU_SLOT_PROPS_DATA_KEY]: snapshot })\n }\n if (snapshotChanged) {\n flushScopedSlotComputedBindings(instance, computed)\n }\n}\n\nfunction setOwnerProxy(instance: any, proxy: any) {\n let changed = false\n if (instance[WEVU_SLOT_OWNER_PROXY_KEY] !== proxy) {\n instance[WEVU_SLOT_OWNER_PROXY_KEY] = proxy\n changed = true\n }\n const data = instance?.data\n if (data && typeof data === 'object' && data[WEVU_SLOT_OWNER_PROXY_KEY] !== proxy) {\n try {\n Object.defineProperty(data, WEVU_SLOT_OWNER_PROXY_KEY, {\n value: proxy,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n data[WEVU_SLOT_OWNER_PROXY_KEY] = proxy\n }\n changed = true\n }\n const runtimeState = instance?.__wevu?.state\n if (\n runtimeState\n && typeof runtimeState === 'object'\n && runtimeState[WEVU_SLOT_OWNER_PROXY_KEY] !== proxy\n ) {\n runtimeState[WEVU_SLOT_OWNER_PROXY_KEY] = proxy\n changed = true\n }\n return changed\n}\n\nfunction isSnapshotObject(value: unknown): value is Record<string, any> {\n if (!value || typeof value !== 'object') {\n return false\n }\n const prototype = Object.getPrototypeOf(value)\n return prototype === Object.prototype || prototype === null\n}\n\nfunction splitOwnerSnapshotFunctions(\n value: any,\n path: string,\n functionPayload: Record<string, any>,\n visiting: WeakSet<object>,\n): any {\n if (typeof value === 'function') {\n functionPayload[path] = value\n return undefined\n }\n if (value == null || typeof value !== 'object') {\n return value\n }\n if (visiting.has(value)) {\n return undefined\n }\n if (Array.isArray(value)) {\n visiting.add(value)\n const output = value.map((item, index) => {\n const next = splitOwnerSnapshotFunctions(item, `${path}.${index}`, functionPayload, visiting)\n return next === undefined ? null : next\n })\n visiting.delete(value)\n return output\n }\n if (!isSnapshotObject(value)) {\n return cloneSnapshotValue(value)\n }\n visiting.add(value)\n const output: Record<string, any> = {}\n for (const [key, child] of Object.entries(value)) {\n const next = splitOwnerSnapshotFunctions(child, `${path}.${key}`, functionPayload, visiting)\n if (next !== undefined) {\n output[key] = next\n }\n }\n visiting.delete(value)\n return output\n}\n\nfunction createOwnerSetDataPayload(snapshot: Record<string, any>) {\n const functionPayload: Record<string, any> = {}\n const ownerSnapshot = splitOwnerSnapshotFunctions(\n snapshot,\n WEVU_SLOT_OWNER_KEY,\n functionPayload,\n new WeakSet(),\n )\n return {\n [WEVU_SLOT_OWNER_KEY]: ownerSnapshot,\n ...functionPayload,\n }\n}\n\nfunction updateOwnerBindings(instance: any, snapshot: Record<string, any>, proxy: any, computed?: ComputedDefinitions) {\n const proxyChanged = setOwnerProxy(instance, proxy)\n const { snapshotChanged: slotPropsChanged } = syncSlotPropsData(instance)\n const nextOwnerSnapshot = snapshot || {}\n const ownerChanged = !hasOwn(instance, '__wvOwnerSnapshot')\n || !isDeepEqualValue(\n instance.__wvOwnerSnapshot ?? {},\n nextOwnerSnapshot,\n 20,\n { keys: 10_000 },\n )\n if (ownerChanged) {\n instance.__wvOwnerSnapshot = cloneSnapshotValue(nextOwnerSnapshot)\n instance[WEVU_SLOT_OWNER_KEY] = nextOwnerSnapshot\n const runtimeState = instance?.__wevu?.state\n if (runtimeState && typeof runtimeState === 'object') {\n runtimeState[WEVU_SLOT_OWNER_KEY] = nextOwnerSnapshot\n }\n }\n if (ownerChanged && typeof instance?.setData === 'function') {\n instance.setData(createOwnerSetDataPayload(nextOwnerSnapshot))\n }\n if (ownerChanged || proxyChanged || slotPropsChanged) {\n flushScopedSlotComputedBindings(instance, computed)\n }\n}\n\nfunction bindOwner(instance: any, ownerId: string, computed?: ComputedDefinitions) {\n if (!ownerId) {\n if (typeof instance?.__wvOwnerUnsub === 'function') {\n instance.__wvOwnerUnsub()\n }\n instance.__wvOwnerUnsub = undefined\n instance.__wvOwnerBoundId = ''\n setOwnerProxy(instance, undefined)\n return\n }\n\n const updateOwner = (snapshot: Record<string, any>, proxy: any) => {\n updateOwnerBindings(instance, snapshot, proxy, computed)\n }\n if (instance.__wvOwnerBoundId !== ownerId) {\n if (typeof instance.__wvOwnerUnsub === 'function') {\n instance.__wvOwnerUnsub()\n }\n instance.__wvOwnerBoundId = ownerId\n instance.__wvOwnerUnsub = subscribeOwner(ownerId, updateOwner)\n }\n const snapshot = getOwnerSnapshot(ownerId)\n if (snapshot) {\n updateOwner(snapshot, getOwnerProxy(ownerId))\n }\n}\n\nfunction resolveBoundOwnerId(instance: any) {\n return instance?.properties?.[WEVU_SLOT_OWNER_ID_PROP]\n ?? instance?.properties?.[WEVU_SLOT_OWNER_ID_KEY]\n ?? ''\n}\n\nfunction syncScopedSlotBindings(instance: any, computed?: ComputedDefinitions) {\n mergeSlotProps(instance, computed)\n const ownerId = resolveBoundOwnerId(instance)\n if (!ownerId) {\n return\n }\n bindOwner(instance, ownerId, computed)\n}\n\nfunction createScopedSlotData() {\n const data = {\n [WEVU_SLOT_OWNER_KEY]: {},\n [WEVU_SLOT_PROPS_DATA_KEY]: {},\n }\n Object.defineProperty(data, WEVU_SLOT_OWNER_PROXY_KEY, {\n value: undefined,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n return data\n}\n\nexport function createScopedSlotOptions(\n overrides?: {\n computed?: ComputedDefinitions\n inlineMap?: InlineExpressionMap\n layoutHosts?: LayoutHostBinding[]\n templateRefs?: TemplateRefBinding[]\n [WEVU_BINDING_MANIFEST_KEY]?: WevuRuntimeBindingManifestV1\n },\n) {\n const scopedSlotComputed = overrides?.computed\n const layoutHosts = overrides?.layoutHosts\n const templateRefs = overrides?.templateRefs\n if (templateRefs?.length) {\n requireRuntimeCapability('templateRefs', 'createWevuScopedSlotComponent(templateRefs)')\n }\n const hasInlineMap = Boolean(overrides?.inlineMap && Object.keys(overrides.inlineMap).length)\n if (hasInlineMap) {\n requireRuntimeCapability('inlineEvents', 'createWevuScopedSlotComponent(inlineMap)')\n }\n if (layoutHosts?.length) {\n requireRuntimeCapability('layout', 'createWevuScopedSlotComponent(layoutHosts)')\n }\n const resolveTemplateRefOwner = (instance: any) => {\n const ownerId = resolveBoundOwnerId(instance)\n return ownerId ? getOwnerTarget(ownerId) : undefined\n }\n const baseOptions = {\n [WEVU_SCOPED_SLOT_OWNER_REQUIRED_KEY]: true,\n options: {\n virtualHost: true,\n },\n setData: {\n omit: SCOPED_SLOT_SNAPSHOT_OMIT_KEYS,\n },\n [WEVU_PROPS_DERIVED_KEYS_KEY]: SCOPED_SLOT_SNAPSHOT_OMIT_KEYS,\n properties: {\n [WEVU_SLOT_OWNER_ID_PROP]: {\n type: String,\n value: '',\n observer(this: any, next: string) {\n bindOwner(this, next || '', scopedSlotComputed)\n },\n },\n [WEVU_SLOT_OWNER_ID_KEY]: {\n type: String,\n value: '',\n observer(this: any, next: string) {\n bindOwner(this, next || '', scopedSlotComputed)\n },\n },\n [WEVU_SLOT_PROPS_KEY]: {\n type: null,\n value: null,\n observer(this: any, next: unknown) {\n mergeSlotProps(this, scopedSlotComputed, { [WEVU_SLOT_PROPS_KEY]: next })\n },\n },\n [WEVU_SLOT_SCOPE_KEY]: {\n type: null,\n value: null,\n observer(this: any, next: unknown) {\n mergeSlotProps(this, scopedSlotComputed, { [WEVU_SLOT_SCOPE_KEY]: next })\n },\n },\n },\n data: createScopedSlotData,\n lifetimes: {\n attached(this: any) {\n syncScopedSlotBindings(this, scopedSlotComputed)\n },\n ready(this: any) {\n syncScopedSlotBindings(this, scopedSlotComputed)\n flushScopedSlotComputedBindings(this, scopedSlotComputed, { force: true })\n const owner = resolveTemplateRefOwner(this)\n if (owner && templateRefs?.length) {\n runtimeCapabilityRegistry.templateRefs?.schedule(this, undefined, owner)\n }\n },\n detached(this: any) {\n const owner = resolveTemplateRefOwner(this)\n runTeardownSteps([\n () => {\n if (owner && templateRefs?.length) {\n runtimeCapabilityRegistry.templateRefs?.clear(this, owner)\n }\n },\n () => {\n if (typeof this.__wvOwnerUnsub === 'function') {\n this.__wvOwnerUnsub()\n }\n },\n () => {\n this.__wvOwnerUnsub = undefined\n this.__wvOwnerBoundId = ''\n },\n () => setOwnerProxy(this, undefined),\n ])\n },\n },\n methods: {\n [WEVU_OWNER_HANDLER](this: any, event: any) {\n const owner = this[WEVU_SLOT_OWNER_PROXY_KEY]\n const inlineMap = (this as any).__wevu?.methods?.[WEVU_INLINE_MAP_KEY]\n if (hasInlineMap) {\n const result = runtimeCapabilityRegistry.inlineEvents?.run(owner, undefined, event, inlineMap)\n if (result !== undefined) {\n return result\n }\n }\n if (!owner) {\n return undefined\n }\n const dataset = event?.currentTarget?.dataset ?? event?.target?.dataset ?? {}\n const handlerName = resolveDatasetEventValue(dataset, 'wvHandler', event)\n if (typeof handlerName !== 'string' || !handlerName) {\n return undefined\n }\n const handler = owner?.[handlerName]\n if (typeof handler !== 'function') {\n return undefined\n }\n const args = parseInlineArgs(event)\n return handler.apply(owner, args)\n },\n },\n }\n\n if (overrides?.computed && Object.keys(overrides.computed).length > 0) {\n ;(baseOptions as any).computed = overrides.computed\n }\n if (overrides?.inlineMap && Object.keys(overrides.inlineMap).length > 0) {\n ;(baseOptions as any).methods = {\n ...(baseOptions as any).methods,\n [WEVU_INLINE_MAP_KEY]: overrides.inlineMap,\n }\n }\n if (templateRefs?.length) {\n ;(baseOptions as any)[WEVU_TEMPLATE_REFS_KEY] = templateRefs\n }\n if (layoutHosts?.length) {\n ;(baseOptions as Record<string, unknown>)[WEVU_LAYOUT_HOSTS_KEY] = layoutHosts\n }\n if (overrides?.[WEVU_BINDING_MANIFEST_KEY]) {\n ;(baseOptions as Record<string, unknown>)[WEVU_BINDING_MANIFEST_KEY] = overrides[WEVU_BINDING_MANIFEST_KEY]\n }\n\n return baseOptions\n}\n"],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ import { HostMiniProgramComponentPropertyOption } from "./types/miniprogramHost.mjs";
2
+ import { MiniProgramComponentRawOptions } from "./types/miniprogram.mjs";
3
+ import { ComponentPropsOptions, InferProps } from "./types/props/propTypes.mjs";
4
+ import { ComponentPublicInstance, ComputedDefinitions, MethodDefinitions } from "./types/core.mjs";
5
+ import { RuntimeApp } from "./types/runtime.mjs";
6
+ import { DefineComponent, ShallowUnwrapRef } from "../vue-types.mjs";
7
+ import { SetDataSnapshotOptions } from "./types/setData.mjs";
8
+ import { DefineComponentOptions } from "./types/options.mjs";
9
+ import "./types.mjs";
10
+ import { WevuRuntimeBindingManifestV1 } from "@weapp-core/constants";
11
+ //#region src/runtime/define.d.ts
12
+ /**
13
+ * defineComponent 返回的组件定义描述,用于手动注册或高级用法。
14
+ */
15
+ export interface ComponentDefinition<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions> {
16
+ /**
17
+ * 内部 runtime app(高级能力使用),不对外暴露正式 API。
18
+ * @internal
19
+ */
20
+ __wevu_runtime: RuntimeApp<D, C, M>;
21
+ /**
22
+ * 内部选项快照(高级能力使用),包含 data/computed/methods 等。
23
+ * @internal
24
+ */
25
+ __wevu_options: {
26
+ scopedSlotOwnerRequired: boolean;
27
+ data: () => D;
28
+ computed: C;
29
+ methods: M;
30
+ setData: SetDataSnapshotOptions | undefined;
31
+ bindingManifest?: WevuRuntimeBindingManifestV1;
32
+ watch: Record<string, any> | undefined;
33
+ setup: ((props: any, ctx: any) => any) | undefined;
34
+ mpOptions: MiniProgramComponentRawOptions;
35
+ };
36
+ }
37
+ type SetupBindings<S> = Exclude<S, void> extends never ? Record<never, never> : Exclude<S, void>;
38
+ type ResolveProps<P> = P extends ComponentPropsOptions ? InferProps<P> : P;
39
+ export interface WevuComponentConstructor<Props, RawBindings, D extends object, C extends ComputedDefinitions, M extends MethodDefinitions> {
40
+ new (): ComponentPublicInstance<D, C, M, Props> & ShallowUnwrapRef<RawBindings>;
41
+ }
42
+ export type WevuDefinedComponent<PropsOrPropOptions, RawBindings, D extends object, C extends ComputedDefinitions, M extends MethodDefinitions> = DefineComponent<PropsOrPropOptions, RawBindings, D, C, M> & ComponentDefinition<D, C, M>;
43
+ export interface SetupContextWithTypeProps<TypeProps> {
44
+ props: TypeProps;
45
+ [key: string]: any;
46
+ }
47
+ export type SetupFunctionWithTypeProps<TypeProps> = (props: TypeProps, ctx: SetupContextWithTypeProps<TypeProps>) => Record<string, any> | void;
48
+ export interface DefineComponentTypePropsOptions<TypeProps> {
49
+ __typeProps: TypeProps;
50
+ setup?: SetupFunctionWithTypeProps<TypeProps>;
51
+ [key: string]: any;
52
+ }
53
+ export interface DefineComponentWithTypeProps<TypeProps> {
54
+ new (): {
55
+ $props: TypeProps;
56
+ } & Record<string, any>;
57
+ }
58
+ /**
59
+ * 按 Vue 3 风格定义一个小程序组件/页面。
60
+ *
61
+ * - 统一注册为 `Component()`
62
+ *
63
+ * @param options 组件定义项
64
+ * @returns 可手动注册的组件定义
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * defineComponent({
69
+ * data: () => ({ count: 0 }),
70
+ * setup() {
71
+ * onMounted(() => console.log('已挂载'))
72
+ * }
73
+ * })
74
+ * ```
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * defineComponent({
79
+ * setup() {
80
+ * onPageScroll(() => {})
81
+ * }
82
+ * })
83
+ * ```
84
+ */
85
+ export declare function defineComponent<TypeProps = any>(options: DefineComponentTypePropsOptions<TypeProps>): DefineComponentWithTypeProps<TypeProps>;
86
+ export declare function defineComponent<P extends ComponentPropsOptions = Record<never, never>, D extends object = Record<never, never>, C extends ComputedDefinitions = Record<never, never>, M extends MethodDefinitions = Record<never, never>, S extends Record<string, any> | void = void>(options: DefineComponentOptions<P, D, C, M, S>): WevuComponentConstructor<ResolveProps<P>, SetupBindings<S>, D, C, M> & ComponentDefinition<D, C, M>;
87
+ /**
88
+ * 创建不触发宿主全局注册的 Wevu 组件定义。
89
+ *
90
+ * @param options 组件选项
91
+ * @internal
92
+ */
93
+ export declare function createWevuComponentDefinition(options: DefineComponentOptions<any, any, any, any, any>): WevuComponentConstructor<InferProps<ComponentPropsOptions>, Record<string, any>, Record<string, any>, ComputedDefinitions, MethodDefinitions> & ComponentDefinition<any, any, any>;
94
+ /**
95
+ * 从现有组件定义派生拥有独立应用上下文的组件定义。
96
+ *
97
+ * @param definition 已解析的 Wevu 组件定义
98
+ * @internal
99
+ */
100
+ export declare function createIsolatedWevuComponentDefinition(definition: object): ComponentDefinition<any, any, any>;
101
+ /**
102
+ * 获取组件定义对应的宿主生命周期定义。
103
+ *
104
+ * @param definition Wevu 组件定义
105
+ * @internal
106
+ */
107
+ export declare function getWevuComponentLifecycleDefinition(definition: object): Record<string, any> | undefined;
108
+ /**
109
+ * 从 Vue SFC 选项创建 wevu 组件,供 weapp-vite 编译产物直接调用的兼容入口。
110
+ *
111
+ * @param options 组件选项,可能包含小程序特有的 properties
112
+ * @internal
113
+ */
114
+ export declare function createWevuComponent<P extends ComponentPropsOptions = ComponentPropsOptions, D extends object = Record<string, any>, C extends ComputedDefinitions = ComputedDefinitions, M extends MethodDefinitions = MethodDefinitions>(options: DefineComponentOptions<P, D, C, M> & {
115
+ properties?: HostMiniProgramComponentPropertyOption;
116
+ }): void;
117
+ //#endregion
118
+ //# sourceMappingURL=define.d.mts.map
@@ -1,37 +1,30 @@
1
- import { getScopedSlotHostGlobalObject } from "./platform.mjs";
2
- import { hasOwn } from "../utils.mjs";
3
1
  import { applyWevuComponentDefaults } from "./defaults.mjs";
4
- import { allocateOwnerId } from "./scopedSlots.mjs";
2
+ import { requireRuntimeCapability } from "./capabilities.mjs";
3
+ import { hasOwn } from "../utils.mjs";
4
+ import { hasBindingOutputPath, resolveBindingManifest } from "./bindingManifest.mjs";
5
5
  import { runSetupFunction } from "./register/setup.mjs";
6
6
  import { createRuntimeComponentDefinition } from "./define/componentDefinition.mjs";
7
7
  import { resolveNativeInitialData } from "./define/initialComputed.mjs";
8
8
  import { resolveVueComponentOptions } from "./define/options.mjs";
9
9
  import { applyOptionsApiProvide, resolveOptionsApiInjections } from "./define/optionsApi.mjs";
10
10
  import { normalizeProps } from "./define/props.mjs";
11
- import { createScopedSlotOptions } from "./define/scopedSlotOptions.mjs";
12
11
  import { applySetupResult } from "./define/setupResult.mjs";
13
- import { WEVU_CSS_MODULES_KEY, WEVU_FUNCTION_PROP_PATHS_KEY, WEVU_SCOPED_SLOT_CREATOR_KEY, WEVU_SLOT_OWNER_ID_KEY, WEVU_SLOT_OWNER_ID_PROP, WEVU_SLOT_SCOPE_KEY } from "@weapp-core/constants";
12
+ import { WEVU_BINDING_MANIFEST_KEY, WEVU_CSS_MODULES_KEY, WEVU_FUNCTION_PROP_PATHS_KEY, WEVU_SCOPED_SLOT_OWNER_REQUIRED_KEY, WEVU_SLOT_OWNER_ID_KEY, WEVU_SLOT_OWNER_ID_PROP, WEVU_SLOT_SCOPE_KEY } from "@weapp-core/constants";
14
13
 
15
14
  //#region src/runtime/define.ts
16
- let scopedSlotCreator;
17
15
  const componentLifecycleDefinitions = /* @__PURE__ */ new WeakMap();
18
- function ensureScopedSlotComponentGlobal() {
19
- const globalObject = getScopedSlotHostGlobalObject();
20
- if (!globalObject) return;
21
- const globalRecord = globalObject;
22
- if (scopedSlotCreator && globalRecord[WEVU_SCOPED_SLOT_CREATOR_KEY] !== scopedSlotCreator) globalRecord[WEVU_SCOPED_SLOT_CREATOR_KEY] = scopedSlotCreator;
23
- }
24
16
  function resolveInitialDataContext(properties, methods) {
25
17
  const context = { ...methods !== null && methods !== void 0 ? methods : {} };
26
18
  if (!properties || typeof properties !== "object") return context;
27
19
  for (const [name, definition] of Object.entries(properties)) if (definition && typeof definition === "object" && hasOwn(definition, "value")) context[name] = definition.value;
28
20
  return context;
29
21
  }
30
- function shouldSeedNativeSlotOwnerId(mpOptions, setData) {
31
- return Boolean(mpOptions.__wevu_isPage) && Array.isArray(setData === null || setData === void 0 ? void 0 : setData.pick) && setData.pick.includes(WEVU_SLOT_OWNER_ID_KEY);
22
+ function shouldDeclareNativeSlotOwnerId(setData, bindingManifest) {
23
+ var _bindingManifest$feat;
24
+ return Array.isArray(setData === null || setData === void 0 ? void 0 : setData.pick) && setData.pick.includes(WEVU_SLOT_OWNER_ID_KEY) || (bindingManifest === null || bindingManifest === void 0 || (_bindingManifest$feat = bindingManifest.features) === null || _bindingManifest$feat === void 0 ? void 0 : _bindingManifest$feat.scopedSlots) === true && hasBindingOutputPath(bindingManifest, WEVU_SLOT_OWNER_ID_KEY);
32
25
  }
33
- function shouldDeclareNativeSlotOwnerId(setData) {
34
- return Array.isArray(setData === null || setData === void 0 ? void 0 : setData.pick) && setData.pick.includes(WEVU_SLOT_OWNER_ID_KEY);
26
+ function shouldSeedNativeSlotOwnerId(mpOptions) {
27
+ return Boolean(mpOptions.__wevu_isPage);
35
28
  }
36
29
  function hasScopedSlotHostProperties(mpOptions) {
37
30
  const properties = mpOptions.properties;
@@ -57,8 +50,8 @@ function defineComponent(options) {
57
50
  return createComponentDefinition(options, true);
58
51
  }
59
52
  function createComponentDefinition(options, registerNative) {
60
- if (registerNative) ensureScopedSlotComponentGlobal();
61
- const { __typeProps: _typeProps, data, computed, methods, setData, watch, setup, props, inject: injectOptions, provide: provideOptions, allowFunctionProps, [WEVU_CSS_MODULES_KEY]: cssModules, ...mpOptions } = resolveVueComponentOptions(applyWevuComponentDefaults(options));
53
+ const { __typeProps: _typeProps, [WEVU_SCOPED_SLOT_OWNER_REQUIRED_KEY]: scopedSlotOwnerRequired, data, computed, methods, setData, watch, setup, props, inject: injectOptions, provide: provideOptions, allowFunctionProps, [WEVU_BINDING_MANIFEST_KEY]: rawBindingManifest, [WEVU_CSS_MODULES_KEY]: cssModules, ...mpOptions } = resolveVueComponentOptions(applyWevuComponentDefaults(options));
54
+ const bindingManifest = resolveBindingManifest(rawBindingManifest);
62
55
  const rawFunctionPropPaths = mpOptions[WEVU_FUNCTION_PROP_PATHS_KEY];
63
56
  const functionPropPaths = Array.isArray(rawFunctionPropPaths) ? [...new Set(rawFunctionPropPaths.filter((path) => typeof path === "string" && path.length > 0))] : [];
64
57
  delete mpOptions[WEVU_FUNCTION_PROP_PATHS_KEY];
@@ -71,7 +64,7 @@ function createComponentDefinition(options, registerNative) {
71
64
  functionPaths: functionPropPaths
72
65
  } : setData);
73
66
  const setupFunctionPropKeys = new Set(functionPropPaths.filter((path) => !path.includes(".")));
74
- const normalizedMpOptions = normalizeProps(mpOptions, props);
67
+ const normalizedMpOptions = normalizeProps(mpOptions, props, mpOptions.properties);
75
68
  const initialDataContext = resolveInitialDataContext(normalizedMpOptions.properties, methods);
76
69
  const resolvedData = typeof data === "function" ? () => data.call(initialDataContext) : data;
77
70
  const setupWrapper = typeof setup === "function" || injectOptions != null || provideOptions != null || cssModules ? ((props, ctx) => {
@@ -93,22 +86,28 @@ function createComponentDefinition(options, registerNative) {
93
86
  return result;
94
87
  }) : void 0;
95
88
  const nativeData = typeof resolvedData === "function" ? resolvedData() : resolvedData;
96
- const seededNativeData = shouldDeclareNativeSlotOwnerId(resolvedSetData) ? {
89
+ const nativeOwnerId = nativeData && typeof nativeData === "object" ? Reflect.get(nativeData, WEVU_SLOT_OWNER_ID_KEY) : void 0;
90
+ const shouldDeclareOwnerId = shouldDeclareNativeSlotOwnerId(resolvedSetData, bindingManifest);
91
+ const scopedSlotHooks = shouldDeclareOwnerId ? requireRuntimeCapability("scopedSlots", "defineComponent(scoped-slot owner metadata)") : void 0;
92
+ const seededNativeData = shouldDeclareOwnerId ? {
97
93
  ...nativeData && typeof nativeData === "object" ? nativeData : {},
98
- [WEVU_SLOT_OWNER_ID_KEY]: shouldSeedNativeSlotOwnerId(mpOptions, resolvedSetData) ? (nativeData === null || nativeData === void 0 ? void 0 : nativeData[WEVU_SLOT_OWNER_ID_KEY]) || allocateOwnerId() : (nativeData === null || nativeData === void 0 ? void 0 : nativeData[WEVU_SLOT_OWNER_ID_KEY]) || ""
94
+ [WEVU_SLOT_OWNER_ID_KEY]: shouldSeedNativeSlotOwnerId(mpOptions) ? nativeOwnerId || (scopedSlotHooks === null || scopedSlotHooks === void 0 ? void 0 : scopedSlotHooks.allocateOwnerId()) : nativeOwnerId || ""
99
95
  } : nativeData;
100
96
  const nativeInitialData = resolveNativeInitialData(seededNativeData, computed, resolvedSetData, methods);
97
+ const mpOptionsWithProps = nativeInitialData !== void 0 ? {
98
+ ...normalizedMpOptions,
99
+ data: nativeInitialData
100
+ } : normalizedMpOptions;
101
101
  return materializeComponentDefinition({
102
+ scopedSlotOwnerRequired: scopedSlotOwnerRequired === true,
102
103
  data: resolvedData,
103
104
  computed,
104
105
  methods,
105
106
  setData: resolvedSetData,
107
+ bindingManifest,
106
108
  watch,
107
109
  setup: setupWrapper,
108
- mpOptions: nativeInitialData !== void 0 ? {
109
- ...normalizedMpOptions,
110
- data: nativeInitialData
111
- } : normalizedMpOptions
110
+ mpOptions: mpOptionsWithProps
112
111
  }, registerNative);
113
112
  }
114
113
  /**
@@ -147,26 +146,15 @@ function getWevuComponentLifecycleDefinition(definition) {
147
146
  * @internal
148
147
  */
149
148
  function createWevuComponent(options) {
150
- var _allowNullPropInput;
151
- ensureScopedSlotComponentGlobal();
152
- const { properties, props, ...restOptions } = options;
153
- const baseOptions = {
154
- ...restOptions,
155
- allowNullPropInput: (_allowNullPropInput = restOptions.allowNullPropInput) !== null && _allowNullPropInput !== void 0 ? _allowNullPropInput : true,
156
- __wevu_allowNullPropInput: true
157
- };
158
- defineComponent(normalizeProps(baseOptions, props, properties));
159
- }
160
- /**
161
- * scoped slot 兼容组件入口(编译产物内部使用)。
162
- * @internal
163
- */
164
- function createWevuScopedSlotComponent(overrides) {
165
- createWevuComponent(createScopedSlotOptions(overrides));
149
+ var _options$allowNullPro;
150
+ const allowNullPropInput = (_options$allowNullPro = options.allowNullPropInput) !== null && _options$allowNullPro !== void 0 ? _options$allowNullPro : true;
151
+ defineComponent({
152
+ ...options,
153
+ allowNullPropInput,
154
+ __wevu_allowNullPropInput: allowNullPropInput
155
+ });
166
156
  }
167
- scopedSlotCreator = createWevuScopedSlotComponent;
168
- ensureScopedSlotComponentGlobal();
169
157
 
170
158
  //#endregion
171
- export { createIsolatedWevuComponentDefinition, createWevuComponent, createWevuComponentDefinition, createWevuScopedSlotComponent, defineComponent, getWevuComponentLifecycleDefinition };
159
+ export { createIsolatedWevuComponentDefinition, createWevuComponent, createWevuComponentDefinition, defineComponent, getWevuComponentLifecycleDefinition };
172
160
  //# sourceMappingURL=define.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"define.mjs","names":[],"sources":["../../../src/runtime/define.ts"],"sourcesContent":["import type { RuntimeComponentDefinitionOptions } from './define/componentDefinition'\nimport type { InlineExpressionMap } from './register/inline'\nimport type { TemplateRefBinding } from './templateRefs'\nimport type {\n ComponentPropsOptions,\n ComponentPublicInstance,\n ComputedDefinitions,\n DefineComponent,\n DefineComponentOptions,\n InferProps,\n MethodDefinitions,\n MiniProgramComponentPropertyOption,\n MiniProgramComponentRawOptions,\n ShallowUnwrapRef,\n} from './types'\nimport {\n WEVU_CSS_MODULES_KEY,\n WEVU_FUNCTION_PROP_PATHS_KEY,\n WEVU_SCOPED_SLOT_CREATOR_KEY,\n WEVU_SLOT_OWNER_ID_KEY,\n WEVU_SLOT_OWNER_ID_PROP,\n WEVU_SLOT_SCOPE_KEY,\n} from '@weapp-core/constants'\nimport { hasOwn } from '../utils'\nimport { applyWevuComponentDefaults } from './defaults'\nimport {\n createRuntimeComponentDefinition,\n} from './define/componentDefinition'\nimport { resolveNativeInitialData } from './define/initialComputed'\nimport { resolveVueComponentOptions } from './define/options'\nimport { applyOptionsApiProvide, resolveOptionsApiInjections } from './define/optionsApi'\nimport { normalizeProps } from './define/props'\nimport { createScopedSlotOptions } from './define/scopedSlotOptions'\nimport { applySetupResult } from './define/setupResult'\nimport { getScopedSlotHostGlobalObject } from './platform'\nimport { runSetupFunction } from './register'\nimport { allocateOwnerId } from './scopedSlots'\n\nlet scopedSlotCreator: (() => void) | undefined\nconst componentLifecycleDefinitions = new WeakMap<object, Record<string, any>>()\n\nfunction ensureScopedSlotComponentGlobal() {\n const globalObject = getScopedSlotHostGlobalObject()\n if (!globalObject) {\n return\n }\n const globalRecord = globalObject as Record<string, any>\n if (scopedSlotCreator && globalRecord[WEVU_SCOPED_SLOT_CREATOR_KEY] !== scopedSlotCreator) {\n globalRecord[WEVU_SCOPED_SLOT_CREATOR_KEY] = scopedSlotCreator\n }\n}\n\nfunction resolveInitialDataContext(properties: unknown, methods: MethodDefinitions | undefined) {\n const context: Record<string, unknown> = { ...(methods ?? {}) }\n if (!properties || typeof properties !== 'object') {\n return context\n }\n for (const [name, definition] of Object.entries(properties)) {\n if (definition && typeof definition === 'object' && hasOwn(definition, 'value')) {\n context[name] = (definition as Record<string, unknown>).value\n }\n }\n return context\n}\n\nfunction shouldSeedNativeSlotOwnerId(\n mpOptions: Record<string, any>,\n setData: DefineComponentOptions<any, any, any, any, any>['setData'],\n) {\n return Boolean((mpOptions as any).__wevu_isPage)\n && Array.isArray(setData?.pick)\n && setData.pick.includes(WEVU_SLOT_OWNER_ID_KEY)\n}\n\nfunction shouldDeclareNativeSlotOwnerId(\n setData: DefineComponentOptions<any, any, any, any, any>['setData'],\n) {\n return Array.isArray(setData?.pick)\n && setData.pick.includes(WEVU_SLOT_OWNER_ID_KEY)\n}\n\nfunction hasScopedSlotHostProperties(mpOptions: Record<string, any>) {\n const properties = mpOptions.properties\n return Boolean(\n properties\n && typeof properties === 'object'\n && (\n WEVU_SLOT_OWNER_ID_PROP in properties\n || WEVU_SLOT_SCOPE_KEY in properties\n ),\n )\n}\n\nfunction resolveScopedSlotHostSetData(\n mpOptions: Record<string, any>,\n setData: DefineComponentOptions<any, any, any, any, any>['setData'],\n) {\n if (setData?.strategy !== 'patch' || !hasScopedSlotHostProperties(mpOptions)) {\n return setData\n }\n return {\n ...setData,\n strategy: 'diff' as const,\n }\n}\n\n/**\n * defineComponent 返回的组件定义描述,用于手动注册或高级用法。\n */\nexport interface ComponentDefinition<\n D extends object,\n C extends ComputedDefinitions,\n M extends MethodDefinitions,\n> {\n /**\n * 内部 runtime app(高级能力使用),不对外暴露正式 API。\n * @internal\n */\n __wevu_runtime: import('./types').RuntimeApp<D, C, M>\n\n /**\n * 内部选项快照(高级能力使用),包含 data/computed/methods 等。\n * @internal\n */\n __wevu_options: {\n data: () => D\n computed: C\n methods: M\n setData: import('./types').SetDataSnapshotOptions | undefined\n watch: Record<string, any> | undefined\n setup: ((props: any, ctx: any) => any) | undefined\n mpOptions: MiniProgramComponentRawOptions\n }\n}\n\nfunction materializeComponentDefinition(\n componentOptions: RuntimeComponentDefinitionOptions,\n registerNative = false,\n) {\n const { lifecycleDefinition, runtimeApp } = createRuntimeComponentDefinition(componentOptions, registerNative)\n const definition: ComponentDefinition<any, any, any> = {\n __wevu_runtime: runtimeApp as any,\n __wevu_options: componentOptions as ComponentDefinition<any, any, any>['__wevu_options'],\n }\n componentLifecycleDefinitions.set(definition, lifecycleDefinition)\n return definition\n}\n\ntype SetupBindings<S> = Exclude<S, void> extends never ? Record<string, never> : Exclude<S, void>\ntype ResolveProps<P> = P extends ComponentPropsOptions ? InferProps<P> : P\n\nexport interface WevuComponentConstructor<\n Props,\n RawBindings,\n D extends object,\n C extends ComputedDefinitions,\n M extends MethodDefinitions,\n> {\n new (): ComponentPublicInstance<D, C, M, Props> & ShallowUnwrapRef<RawBindings>\n}\n\nexport type WevuDefinedComponent<\n PropsOrPropOptions,\n RawBindings,\n D extends object,\n C extends ComputedDefinitions,\n M extends MethodDefinitions,\n> = DefineComponent<PropsOrPropOptions, RawBindings, D, C, M> & ComponentDefinition<D, C, M>\nexport interface SetupContextWithTypeProps<TypeProps> {\n props: TypeProps\n [key: string]: any\n}\nexport type SetupFunctionWithTypeProps<\n TypeProps,\n> = (\n props: TypeProps,\n ctx: SetupContextWithTypeProps<TypeProps>,\n) => Record<string, any> | void\nexport interface DefineComponentTypePropsOptions<TypeProps> {\n __typeProps: TypeProps\n setup?: SetupFunctionWithTypeProps<TypeProps>\n [key: string]: any\n}\nexport interface DefineComponentWithTypeProps<TypeProps> {\n new (): { $props: TypeProps } & Record<string, any>\n}\n\n/**\n * 按 Vue 3 风格定义一个小程序组件/页面。\n *\n * - 统一注册为 `Component()`\n *\n * @param options 组件定义项\n * @returns 可手动注册的组件定义\n *\n * @example\n * ```ts\n * defineComponent({\n * data: () => ({ count: 0 }),\n * setup() {\n * onMounted(() => console.log('已挂载'))\n * }\n * })\n * ```\n *\n * @example\n * ```ts\n * defineComponent({\n * setup() {\n * onPageScroll(() => {})\n * }\n * })\n * ```\n */\n// @ts-expect-error -- TS2589:__typeProps 签名的重载实例化深度过高。\nexport function defineComponent<\n TypeProps = any,\n>(\n options: DefineComponentTypePropsOptions<TypeProps>,\n): DefineComponentWithTypeProps<TypeProps>\nexport function defineComponent<\n P extends ComponentPropsOptions = ComponentPropsOptions,\n D extends object = Record<string, any>,\n C extends ComputedDefinitions = ComputedDefinitions,\n M extends MethodDefinitions = MethodDefinitions,\n S extends Record<string, any> | void = Record<string, any> | void,\n>(\n options: DefineComponentOptions<P, D, C, M, S>,\n): WevuComponentConstructor<ResolveProps<P>, SetupBindings<S>, D, C, M> & ComponentDefinition<D, C, M>\nexport function defineComponent(\n options: DefineComponentOptions<any, any, any, any, any>,\n): WevuComponentConstructor<Record<string, any>, Record<string, any>, Record<string, any>, ComputedDefinitions, MethodDefinitions>\n & ComponentDefinition<any, any, any> {\n // eslint-disable-next-line ts/no-use-before-define -- 重载实现需保持在内部共享工厂之前。\n return createComponentDefinition(options, true) as any\n}\n\nfunction createComponentDefinition(\n options: DefineComponentOptions<any, any, any, any, any>,\n registerNative: boolean,\n) {\n if (registerNative) {\n ensureScopedSlotComponentGlobal()\n }\n const resolvedOptions = resolveVueComponentOptions(applyWevuComponentDefaults(options))\n const {\n __typeProps: _typeProps,\n data,\n computed,\n methods,\n setData,\n watch,\n setup,\n props,\n inject: injectOptions,\n provide: provideOptions,\n allowFunctionProps,\n [WEVU_CSS_MODULES_KEY]: cssModules,\n ...mpOptions\n } = resolvedOptions\n\n const rawFunctionPropPaths = (mpOptions as any)[WEVU_FUNCTION_PROP_PATHS_KEY]\n const functionPropPaths: string[] = Array.isArray(rawFunctionPropPaths)\n ? [...new Set(rawFunctionPropPaths.filter((path: unknown): path is string => typeof path === 'string' && path.length > 0))]\n : []\n delete (mpOptions as any)[WEVU_FUNCTION_PROP_PATHS_KEY]\n\n const rawResolvedSetData = allowFunctionProps === true\n ? {\n ...(setData ?? {}),\n includeFunctions: true,\n functionPaths: functionPropPaths,\n }\n : allowFunctionProps === false\n ? setData\n : functionPropPaths.length\n ? {\n ...(setData ?? {}),\n functionPaths: functionPropPaths,\n }\n : setData\n const resolvedSetData = resolveScopedSlotHostSetData(mpOptions, rawResolvedSetData)\n const setupFunctionPropKeys = new Set(\n functionPropPaths\n .filter(path => !path.includes('.')),\n )\n\n const normalizedMpOptions = normalizeProps(mpOptions, props)\n const initialDataContext = resolveInitialDataContext(normalizedMpOptions.properties, methods)\n const resolvedData = typeof data === 'function'\n ? () => data.call(initialDataContext)\n : data\n\n const hasOptionsApiContext = injectOptions != null || provideOptions != null\n const setupWrapper = typeof setup === 'function' || hasOptionsApiContext || cssModules\n ? ((props, ctx) => {\n if (cssModules && typeof cssModules === 'object') {\n ;((ctx as any).instance as Record<string, any>)[WEVU_CSS_MODULES_KEY] = cssModules\n }\n const publicInstance = (ctx as any)?.proxy ?? (ctx as any)?.instance ?? Object.create(null)\n const injected = resolveOptionsApiInjections(injectOptions, publicInstance)\n if (provideOptions != null) {\n applyOptionsApiProvide(provideOptions, publicInstance)\n }\n const setupResult = typeof setup === 'function'\n ? runSetupFunction(setup as any, props as Record<string, any>, ctx as any) as Record<string, any> | void\n : undefined\n const result = {\n ...injected,\n ...(cssModules ?? {}),\n ...(setupResult ?? {}),\n }\n if (ctx && Object.keys(result).length) {\n applySetupResult((ctx as any).runtime, (ctx as any).instance, result, {\n includeFunctionsInState: allowFunctionProps === true,\n functionPropPaths: allowFunctionProps === false ? undefined : setupFunctionPropKeys,\n })\n }\n return result\n }) satisfies DefineComponentOptions<ComponentPropsOptions, any, any, any, any>['setup']\n : undefined\n\n const nativeData = typeof resolvedData === 'function'\n ? resolvedData()\n : resolvedData\n const shouldDeclareOwnerId = shouldDeclareNativeSlotOwnerId(resolvedSetData)\n const seededNativeData = shouldDeclareOwnerId\n ? {\n ...(nativeData && typeof nativeData === 'object' ? nativeData : {}),\n [WEVU_SLOT_OWNER_ID_KEY]: shouldSeedNativeSlotOwnerId(mpOptions, resolvedSetData)\n ? (nativeData as any)?.[WEVU_SLOT_OWNER_ID_KEY] || allocateOwnerId()\n : (nativeData as any)?.[WEVU_SLOT_OWNER_ID_KEY] || '',\n }\n : nativeData\n const nativeInitialData = resolveNativeInitialData(seededNativeData, computed as ComputedDefinitions, resolvedSetData, methods as Record<string, any> | undefined)\n const mpOptionsWithProps = nativeInitialData !== undefined\n ? {\n ...normalizedMpOptions,\n data: nativeInitialData,\n }\n : normalizedMpOptions\n\n const componentOptions: RuntimeComponentDefinitionOptions = {\n data: resolvedData as () => Record<string, any>,\n computed: computed as ComputedDefinitions,\n methods: methods as MethodDefinitions,\n setData: resolvedSetData,\n watch,\n setup: setupWrapper,\n mpOptions: mpOptionsWithProps as MiniProgramComponentRawOptions,\n }\n\n const definition = materializeComponentDefinition(componentOptions, registerNative)\n\n return definition as unknown as WevuComponentConstructor<\n ResolveProps<ComponentPropsOptions>,\n Record<string, any>,\n Record<string, any>,\n ComputedDefinitions,\n MethodDefinitions\n > & ComponentDefinition<any, any, any>\n}\n\n/**\n * 创建不触发宿主全局注册的 Wevu 组件定义。\n *\n * @param options 组件选项\n * @internal\n */\nexport function createWevuComponentDefinition(\n options: DefineComponentOptions<any, any, any, any, any>,\n) {\n return createComponentDefinition(options, false)\n}\n\n/**\n * 从现有组件定义派生拥有独立应用上下文的组件定义。\n *\n * @param definition 已解析的 Wevu 组件定义\n * @internal\n */\nexport function createIsolatedWevuComponentDefinition(definition: object) {\n const componentOptions = (definition as ComponentDefinition<any, any, any>).__wevu_options\n if (!componentOptions) {\n throw new TypeError('无法从非 Wevu 组件定义创建独立运行时')\n }\n return materializeComponentDefinition(componentOptions)\n}\n\n/**\n * 获取组件定义对应的宿主生命周期定义。\n *\n * @param definition Wevu 组件定义\n * @internal\n */\nexport function getWevuComponentLifecycleDefinition(definition: object) {\n return componentLifecycleDefinitions.get(definition)\n}\n\n/**\n * 从 Vue SFC 选项创建 wevu 组件,供 weapp-vite 编译产物直接调用的兼容入口。\n *\n * @param options 组件选项,可能包含小程序特有的 properties\n * @internal\n */\nexport function createWevuComponent<\n P extends ComponentPropsOptions = ComponentPropsOptions,\n D extends object = Record<string, any>,\n C extends ComputedDefinitions = ComputedDefinitions,\n M extends MethodDefinitions = MethodDefinitions,\n>(\n options: DefineComponentOptions<P, D, C, M> & { properties?: MiniProgramComponentPropertyOption },\n): void {\n ensureScopedSlotComponentGlobal()\n const {\n properties,\n props,\n ...restOptions\n } = options\n\n const baseOptions = {\n ...restOptions,\n allowNullPropInput: (restOptions as any).allowNullPropInput ?? true,\n __wevu_allowNullPropInput: true,\n }\n\n // 将 properties 合并到 mpOptions,保持小程序属性定义\n const finalOptions = normalizeProps(baseOptions, props, properties)\n\n defineComponent(finalOptions)\n}\n\n/**\n * scoped slot 兼容组件入口(编译产物内部使用)。\n * @internal\n */\nexport function createWevuScopedSlotComponent(\n overrides?: {\n computed?: ComputedDefinitions\n inlineMap?: InlineExpressionMap\n templateRefs?: TemplateRefBinding[]\n },\n): void {\n const baseOptions = createScopedSlotOptions(overrides)\n createWevuComponent(baseOptions as any)\n}\n\nscopedSlotCreator = createWevuScopedSlotComponent\nensureScopedSlotComponentGlobal()\n"],"mappings":"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"}
1
+ {"version":3,"file":"define.mjs","names":[],"sources":["../../../src/runtime/define.ts"],"sourcesContent":["import type { WevuRuntimeBindingManifestV1 } from '@weapp-core/constants'\nimport type { RuntimeComponentDefinitionOptions } from './define/componentDefinition'\nimport type {\n ComponentPropsOptions,\n ComponentPublicInstance,\n ComputedDefinitions,\n DefineComponent,\n DefineComponentOptions,\n InferProps,\n MethodDefinitions,\n MiniProgramComponentPropertyOption,\n MiniProgramComponentRawOptions,\n SetDataSnapshotOptions,\n ShallowUnwrapRef,\n} from './types'\nimport {\n WEVU_BINDING_MANIFEST_KEY,\n WEVU_CSS_MODULES_KEY,\n WEVU_FUNCTION_PROP_PATHS_KEY,\n WEVU_SCOPED_SLOT_OWNER_REQUIRED_KEY,\n WEVU_SLOT_OWNER_ID_KEY,\n WEVU_SLOT_OWNER_ID_PROP,\n WEVU_SLOT_SCOPE_KEY,\n} from '@weapp-core/constants'\nimport { hasOwn } from '../utils'\nimport { hasBindingOutputPath, resolveBindingManifest } from './bindingManifest'\nimport { requireRuntimeCapability } from './capabilities'\nimport { applyWevuComponentDefaults } from './defaults'\nimport {\n createRuntimeComponentDefinition,\n} from './define/componentDefinition'\nimport { resolveNativeInitialData } from './define/initialComputed'\nimport { resolveVueComponentOptions } from './define/options'\nimport { applyOptionsApiProvide, resolveOptionsApiInjections } from './define/optionsApi'\nimport { normalizeProps } from './define/props'\nimport { applySetupResult } from './define/setupResult'\nimport { runSetupFunction } from './register'\n\nconst componentLifecycleDefinitions = new WeakMap<object, Record<string, any>>()\n\nfunction resolveInitialDataContext(properties: unknown, methods: MethodDefinitions | undefined) {\n const context: Record<string, unknown> = { ...(methods ?? {}) }\n if (!properties || typeof properties !== 'object') {\n return context\n }\n for (const [name, definition] of Object.entries(properties)) {\n if (definition && typeof definition === 'object' && hasOwn(definition, 'value')) {\n context[name] = (definition as Record<string, unknown>).value\n }\n }\n return context\n}\n\nfunction shouldDeclareNativeSlotOwnerId(\n setData: SetDataSnapshotOptions | undefined,\n bindingManifest: WevuRuntimeBindingManifestV1 | undefined,\n) {\n return (\n Array.isArray(setData?.pick)\n && setData.pick.includes(WEVU_SLOT_OWNER_ID_KEY)\n ) || (\n bindingManifest?.features?.scopedSlots === true\n && hasBindingOutputPath(bindingManifest, WEVU_SLOT_OWNER_ID_KEY)\n )\n}\n\nfunction shouldSeedNativeSlotOwnerId(mpOptions: Record<string, unknown>) {\n return Boolean(mpOptions.__wevu_isPage)\n}\n\nfunction hasScopedSlotHostProperties(mpOptions: Record<string, any>) {\n const properties = mpOptions.properties\n return Boolean(\n properties\n && typeof properties === 'object'\n && (\n WEVU_SLOT_OWNER_ID_PROP in properties\n || WEVU_SLOT_SCOPE_KEY in properties\n ),\n )\n}\n\nfunction resolveScopedSlotHostSetData(\n mpOptions: Record<string, any>,\n setData: DefineComponentOptions<any, any, any, any, any>['setData'],\n) {\n if (setData?.strategy !== 'patch' || !hasScopedSlotHostProperties(mpOptions)) {\n return setData\n }\n return {\n ...setData,\n strategy: 'diff' as const,\n }\n}\n\n/**\n * defineComponent 返回的组件定义描述,用于手动注册或高级用法。\n */\nexport interface ComponentDefinition<\n D extends object,\n C extends ComputedDefinitions,\n M extends MethodDefinitions,\n> {\n /**\n * 内部 runtime app(高级能力使用),不对外暴露正式 API。\n * @internal\n */\n __wevu_runtime: import('./types').RuntimeApp<D, C, M>\n\n /**\n * 内部选项快照(高级能力使用),包含 data/computed/methods 等。\n * @internal\n */\n __wevu_options: {\n scopedSlotOwnerRequired: boolean\n data: () => D\n computed: C\n methods: M\n setData: import('./types').SetDataSnapshotOptions | undefined\n bindingManifest?: WevuRuntimeBindingManifestV1\n watch: Record<string, any> | undefined\n setup: ((props: any, ctx: any) => any) | undefined\n mpOptions: MiniProgramComponentRawOptions\n }\n}\n\nfunction materializeComponentDefinition(\n componentOptions: RuntimeComponentDefinitionOptions,\n registerNative = false,\n) {\n const { lifecycleDefinition, runtimeApp } = createRuntimeComponentDefinition(componentOptions, registerNative)\n const definition: ComponentDefinition<any, any, any> = {\n __wevu_runtime: runtimeApp as any,\n __wevu_options: componentOptions as ComponentDefinition<any, any, any>['__wevu_options'],\n }\n componentLifecycleDefinitions.set(definition, lifecycleDefinition)\n return definition\n}\n\ntype SetupBindings<S> = Exclude<S, void> extends never ? Record<never, never> : Exclude<S, void>\ntype ResolveProps<P> = P extends ComponentPropsOptions ? InferProps<P> : P\n\nexport interface WevuComponentConstructor<\n Props,\n RawBindings,\n D extends object,\n C extends ComputedDefinitions,\n M extends MethodDefinitions,\n> {\n new (): ComponentPublicInstance<D, C, M, Props> & ShallowUnwrapRef<RawBindings>\n}\n\nexport type WevuDefinedComponent<\n PropsOrPropOptions,\n RawBindings,\n D extends object,\n C extends ComputedDefinitions,\n M extends MethodDefinitions,\n> = DefineComponent<PropsOrPropOptions, RawBindings, D, C, M> & ComponentDefinition<D, C, M>\nexport interface SetupContextWithTypeProps<TypeProps> {\n props: TypeProps\n [key: string]: any\n}\nexport type SetupFunctionWithTypeProps<\n TypeProps,\n> = (\n props: TypeProps,\n ctx: SetupContextWithTypeProps<TypeProps>,\n) => Record<string, any> | void\nexport interface DefineComponentTypePropsOptions<TypeProps> {\n __typeProps: TypeProps\n setup?: SetupFunctionWithTypeProps<TypeProps>\n [key: string]: any\n}\nexport interface DefineComponentWithTypeProps<TypeProps> {\n new (): { $props: TypeProps } & Record<string, any>\n}\n\n/**\n * 按 Vue 3 风格定义一个小程序组件/页面。\n *\n * - 统一注册为 `Component()`\n *\n * @param options 组件定义项\n * @returns 可手动注册的组件定义\n *\n * @example\n * ```ts\n * defineComponent({\n * data: () => ({ count: 0 }),\n * setup() {\n * onMounted(() => console.log('已挂载'))\n * }\n * })\n * ```\n *\n * @example\n * ```ts\n * defineComponent({\n * setup() {\n * onPageScroll(() => {})\n * }\n * })\n * ```\n */\n// @ts-expect-error -- TS2589:__typeProps 签名的重载实例化深度过高。\nexport function defineComponent<\n TypeProps = any,\n>(\n options: DefineComponentTypePropsOptions<TypeProps>,\n): DefineComponentWithTypeProps<TypeProps>\nexport function defineComponent<\n P extends ComponentPropsOptions = Record<never, never>,\n D extends object = Record<never, never>,\n C extends ComputedDefinitions = Record<never, never>,\n M extends MethodDefinitions = Record<never, never>,\n S extends Record<string, any> | void = void,\n>(\n options: DefineComponentOptions<P, D, C, M, S>,\n): WevuComponentConstructor<ResolveProps<P>, SetupBindings<S>, D, C, M> & ComponentDefinition<D, C, M>\nexport function defineComponent(\n options: DefineComponentOptions<any, any, any, any, any>,\n): WevuComponentConstructor<Record<string, any>, Record<string, any>, Record<string, any>, ComputedDefinitions, MethodDefinitions>\n & ComponentDefinition<any, any, any> {\n // eslint-disable-next-line ts/no-use-before-define -- 重载实现需保持在内部共享工厂之前。\n return createComponentDefinition(options, true) as any\n}\n\nfunction createComponentDefinition(\n options: DefineComponentOptions<any, any, any, any, any>,\n registerNative: boolean,\n) {\n const resolvedOptions = resolveVueComponentOptions(applyWevuComponentDefaults(options))\n const {\n __typeProps: _typeProps,\n [WEVU_SCOPED_SLOT_OWNER_REQUIRED_KEY]: scopedSlotOwnerRequired,\n data,\n computed,\n methods,\n setData,\n watch,\n setup,\n props,\n inject: injectOptions,\n provide: provideOptions,\n allowFunctionProps,\n [WEVU_BINDING_MANIFEST_KEY]: rawBindingManifest,\n [WEVU_CSS_MODULES_KEY]: cssModules,\n ...mpOptions\n } = resolvedOptions as typeof resolvedOptions & { [WEVU_SCOPED_SLOT_OWNER_REQUIRED_KEY]?: boolean }\n const bindingManifest = resolveBindingManifest(rawBindingManifest)\n\n const rawFunctionPropPaths = (mpOptions as any)[WEVU_FUNCTION_PROP_PATHS_KEY]\n const functionPropPaths: string[] = Array.isArray(rawFunctionPropPaths)\n ? [...new Set(rawFunctionPropPaths.filter((path: unknown): path is string => typeof path === 'string' && path.length > 0))]\n : []\n delete (mpOptions as any)[WEVU_FUNCTION_PROP_PATHS_KEY]\n\n const rawResolvedSetData = allowFunctionProps === true\n ? {\n ...(setData ?? {}),\n includeFunctions: true,\n functionPaths: functionPropPaths,\n }\n : allowFunctionProps === false\n ? setData\n : functionPropPaths.length\n ? {\n ...(setData ?? {}),\n functionPaths: functionPropPaths,\n }\n : setData\n const resolvedSetData = resolveScopedSlotHostSetData(mpOptions, rawResolvedSetData)\n const setupFunctionPropKeys = new Set(\n functionPropPaths\n .filter(path => !path.includes('.')),\n )\n\n const normalizedMpOptions = normalizeProps(mpOptions, props, mpOptions.properties)\n const initialDataContext = resolveInitialDataContext(normalizedMpOptions.properties, methods)\n const resolvedData = typeof data === 'function'\n ? () => data.call(initialDataContext)\n : data\n\n const hasOptionsApiContext = injectOptions != null || provideOptions != null\n const setupWrapper = typeof setup === 'function' || hasOptionsApiContext || cssModules\n ? ((props, ctx) => {\n if (cssModules && typeof cssModules === 'object') {\n ;((ctx as any).instance as Record<string, any>)[WEVU_CSS_MODULES_KEY] = cssModules\n }\n const publicInstance = (ctx as any)?.proxy ?? (ctx as any)?.instance ?? Object.create(null)\n const injected = resolveOptionsApiInjections(injectOptions, publicInstance)\n if (provideOptions != null) {\n applyOptionsApiProvide(provideOptions, publicInstance)\n }\n const setupResult = typeof setup === 'function'\n ? runSetupFunction(setup as any, props as Record<string, any>, ctx as any) as Record<string, any> | void\n : undefined\n const result = {\n ...injected,\n ...(cssModules ?? {}),\n ...(setupResult ?? {}),\n }\n if (ctx && Object.keys(result).length) {\n applySetupResult((ctx as any).runtime, (ctx as any).instance, result, {\n includeFunctionsInState: allowFunctionProps === true,\n functionPropPaths: allowFunctionProps === false ? undefined : setupFunctionPropKeys,\n })\n }\n return result\n }) satisfies DefineComponentOptions<ComponentPropsOptions, any, any, any, any>['setup']\n : undefined\n\n const nativeData = typeof resolvedData === 'function'\n ? resolvedData()\n : resolvedData\n const nativeOwnerId = nativeData && typeof nativeData === 'object'\n ? Reflect.get(nativeData, WEVU_SLOT_OWNER_ID_KEY)\n : undefined\n const shouldDeclareOwnerId = shouldDeclareNativeSlotOwnerId(resolvedSetData, bindingManifest)\n const scopedSlotHooks = shouldDeclareOwnerId\n ? requireRuntimeCapability('scopedSlots', 'defineComponent(scoped-slot owner metadata)')\n : undefined\n const seededNativeData = shouldDeclareOwnerId\n ? {\n ...(nativeData && typeof nativeData === 'object' ? nativeData : {}),\n [WEVU_SLOT_OWNER_ID_KEY]: shouldSeedNativeSlotOwnerId(mpOptions)\n ? nativeOwnerId || scopedSlotHooks?.allocateOwnerId()\n : nativeOwnerId || '',\n }\n : nativeData\n const nativeInitialData = resolveNativeInitialData(seededNativeData, computed as ComputedDefinitions, resolvedSetData, methods as Record<string, any> | undefined)\n const mpOptionsWithProps = nativeInitialData !== undefined\n ? {\n ...normalizedMpOptions,\n data: nativeInitialData,\n }\n : normalizedMpOptions\n\n const componentOptions: RuntimeComponentDefinitionOptions = {\n scopedSlotOwnerRequired: scopedSlotOwnerRequired === true,\n data: resolvedData as () => Record<string, any>,\n computed: computed as ComputedDefinitions,\n methods: methods as MethodDefinitions,\n setData: resolvedSetData,\n bindingManifest,\n watch,\n setup: setupWrapper,\n mpOptions: mpOptionsWithProps as MiniProgramComponentRawOptions,\n }\n\n const definition = materializeComponentDefinition(componentOptions, registerNative)\n\n return definition as unknown as WevuComponentConstructor<\n ResolveProps<ComponentPropsOptions>,\n Record<string, any>,\n Record<string, any>,\n ComputedDefinitions,\n MethodDefinitions\n > & ComponentDefinition<any, any, any>\n}\n\n/**\n * 创建不触发宿主全局注册的 Wevu 组件定义。\n *\n * @param options 组件选项\n * @internal\n */\nexport function createWevuComponentDefinition(\n options: DefineComponentOptions<any, any, any, any, any>,\n) {\n return createComponentDefinition(options, false)\n}\n\n/**\n * 从现有组件定义派生拥有独立应用上下文的组件定义。\n *\n * @param definition 已解析的 Wevu 组件定义\n * @internal\n */\nexport function createIsolatedWevuComponentDefinition(definition: object) {\n const componentOptions = (definition as ComponentDefinition<any, any, any>).__wevu_options\n if (!componentOptions) {\n throw new TypeError('无法从非 Wevu 组件定义创建独立运行时')\n }\n return materializeComponentDefinition(componentOptions)\n}\n\n/**\n * 获取组件定义对应的宿主生命周期定义。\n *\n * @param definition Wevu 组件定义\n * @internal\n */\nexport function getWevuComponentLifecycleDefinition(definition: object) {\n return componentLifecycleDefinitions.get(definition)\n}\n\n/**\n * 从 Vue SFC 选项创建 wevu 组件,供 weapp-vite 编译产物直接调用的兼容入口。\n *\n * @param options 组件选项,可能包含小程序特有的 properties\n * @internal\n */\nexport function createWevuComponent<\n P extends ComponentPropsOptions = ComponentPropsOptions,\n D extends object = Record<string, any>,\n C extends ComputedDefinitions = ComputedDefinitions,\n M extends MethodDefinitions = MethodDefinitions,\n>(\n options: DefineComponentOptions<P, D, C, M> & { properties?: MiniProgramComponentPropertyOption },\n): void {\n const allowNullPropInput = options.allowNullPropInput ?? true\n defineComponent({\n ...options,\n allowNullPropInput,\n __wevu_allowNullPropInput: allowNullPropInput,\n })\n}\n"],"mappings":";;;;;;;;;;;;;;AAsCA,MAAM,gDAAgC,IAAI,QAAqC;AAE/E,SAAS,0BAA0B,YAAqB,SAAwC;CAC9F,MAAM,UAAmC,EAAE,GAAI,mDAAW,CAAC,EAAG;CAC9D,IAAI,CAAC,cAAc,OAAO,eAAe,UACvC,OAAO;CAET,KAAK,MAAM,CAAC,MAAM,eAAe,OAAO,QAAQ,UAAU,GACxD,IAAI,cAAc,OAAO,eAAe,YAAY,OAAO,YAAY,OAAO,GAC5E,QAAQ,QAAS,WAAuC;CAG5D,OAAO;AACT;AAEA,SAAS,+BACP,SACA,iBACA;;CACA,OACE,MAAM,0DAAQ,QAAS,IAAI,KACxB,QAAQ,KAAK,SAAS,sBAAsB,yFAE/C,gBAAiB,wFAAU,iBAAgB,QACxC,qBAAqB,iBAAiB,sBAAsB;AAEnE;AAEA,SAAS,4BAA4B,WAAoC;CACvE,OAAO,QAAQ,UAAU,aAAa;AACxC;AAEA,SAAS,4BAA4B,WAAgC;CACnE,MAAM,aAAa,UAAU;CAC7B,OAAO,QACL,cACG,OAAO,eAAe,aAEvB,2BAA2B,cACxB,uBAAuB,WAE9B;AACF;AAEA,SAAS,6BACP,WACA,SACA;CACA,uDAAI,QAAS,cAAa,WAAW,CAAC,4BAA4B,SAAS,GACzE,OAAO;CAET,OAAO;EACL,GAAG;EACH,UAAU;CACZ;AACF;AAiCA,SAAS,+BACP,kBACA,iBAAiB,OACjB;CACA,MAAM,EAAE,qBAAqB,eAAe,iCAAiC,kBAAkB,cAAc;CAC7G,MAAM,aAAiD;EACrD,gBAAgB;EAChB,gBAAgB;CAClB;CACA,8BAA8B,IAAI,YAAY,mBAAmB;CACjE,OAAO;AACT;AAmFA,SAAgB,gBACd,SAEqC;CAErC,OAAO,0BAA0B,SAAS,IAAI;AAChD;AAEA,SAAS,0BACP,SACA,gBACA;CAEA,MAAM,EACJ,aAAa,aACZ,sCAAsC,yBACvC,MACA,UACA,SACA,SACA,OACA,OACA,OACA,QAAQ,eACR,SAAS,gBACT,qBACC,4BAA4B,qBAC5B,uBAAuB,YACxB,GAAG,cAhBmB,2BAA2B,2BAA2B,OAAO,CAiBnE;CAClB,MAAM,kBAAkB,uBAAuB,kBAAkB;CAEjE,MAAM,uBAAwB,UAAkB;CAChD,MAAM,oBAA8B,MAAM,QAAQ,oBAAoB,IAClE,CAAC,GAAG,IAAI,IAAI,qBAAqB,QAAQ,SAAkC,OAAO,SAAS,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IACxH,CAAC;CACL,OAAQ,UAAkB;CAgB1B,MAAM,kBAAkB,6BAA6B,WAd1B,uBAAuB,OAC9C;EACE,GAAI,mDAAW,CAAC;EAChB,kBAAkB;EAClB,eAAe;CACjB,IACA,uBAAuB,QACrB,UACA,kBAAkB,SAChB;EACE,GAAI,mDAAW,CAAC;EAChB,eAAe;CACjB,IACA,OAC0E;CAClF,MAAM,wBAAwB,IAAI,IAChC,kBACG,QAAO,SAAQ,CAAC,KAAK,SAAS,GAAG,CAAC,CACvC;CAEA,MAAM,sBAAsB,eAAe,WAAW,OAAO,UAAU,UAAU;CACjF,MAAM,qBAAqB,0BAA0B,oBAAoB,YAAY,OAAO;CAC5F,MAAM,eAAe,OAAO,SAAS,mBAC3B,KAAK,KAAK,kBAAkB,IAClC;CAGJ,MAAM,eAAe,OAAO,UAAU,cADT,iBAAiB,QAAQ,kBAAkB,QACI,eACtE,OAAO,QAAQ;;EACjB,IAAI,cAAc,OAAO,eAAe,UACrC,AAAE,IAAY,SAAiC,wBAAwB;EAE1E,MAAM,6EAAkB,IAAa,0FAAU,IAAa,+CAAY,OAAO,OAAO,IAAI;EAC1F,MAAM,WAAW,4BAA4B,eAAe,cAAc;EAC1E,IAAI,kBAAkB,MACpB,uBAAuB,gBAAgB,cAAc;EAEvD,MAAM,cAAc,OAAO,UAAU,aACjC,iBAAiB,OAAc,OAA8B,GAAU,IACvE;EACJ,MAAM,SAAS;GACb,GAAG;GACH,GAAI,4DAAc,CAAC;GACnB,GAAI,+DAAe,CAAC;EACtB;EACA,IAAI,OAAO,OAAO,KAAK,MAAM,CAAC,CAAC,QAC7B,iBAAkB,IAAY,SAAU,IAAY,UAAU,QAAQ;GACpE,yBAAyB,uBAAuB;GAChD,mBAAmB,uBAAuB,QAAQ,SAAY;EAChE,CAAC;EAEH,OAAO;CACT,KACE;CAEJ,MAAM,aAAa,OAAO,iBAAiB,aACvC,aAAa,IACb;CACJ,MAAM,gBAAgB,cAAc,OAAO,eAAe,WACtD,QAAQ,IAAI,YAAY,sBAAsB,IAC9C;CACJ,MAAM,uBAAuB,+BAA+B,iBAAiB,eAAe;CAC5F,MAAM,kBAAkB,uBACpB,yBAAyB,eAAe,6CAA6C,IACrF;CACJ,MAAM,mBAAmB,uBACrB;EACE,GAAI,cAAc,OAAO,eAAe,WAAW,aAAa,CAAC;GAChE,yBAAyB,4BAA4B,SAAS,IAC3D,oFAAiB,gBAAiB,gBAAgB,KAClD,iBAAiB;CACvB,IACA;CACJ,MAAM,oBAAoB,yBAAyB,kBAAkB,UAAiC,iBAAiB,OAA0C;CACjK,MAAM,qBAAqB,sBAAsB,SAC7C;EACE,GAAG;EACH,MAAM;CACR,IACA;CAgBJ,OAFmB,+BAA+B;EAXhD,yBAAyB,4BAA4B;EACrD,MAAM;EACI;EACD;EACT,SAAS;EACT;EACA;EACA,OAAO;EACP,WAAW;CAGoD,GAAG,cAEpD;AAOlB;;;;;;;AAQA,SAAgB,8BACd,SACA;CACA,OAAO,0BAA0B,SAAS,KAAK;AACjD;;;;;;;AAQA,SAAgB,sCAAsC,YAAoB;CACxE,MAAM,mBAAoB,WAAkD;CAC5E,IAAI,CAAC,kBACH,MAAM,IAAI,UAAU,uBAAuB;CAE7C,OAAO,+BAA+B,gBAAgB;AACxD;;;;;;;AAQA,SAAgB,oCAAoC,YAAoB;CACtE,OAAO,8BAA8B,IAAI,UAAU;AACrD;;;;;;;AAQA,SAAgB,oBAMd,SACM;;CACN,MAAM,8CAAqB,QAAQ,2FAAsB;CACzD,gBAAgB;EACd,GAAG;EACH;EACA,2BAA2B;CAC7B,CAAC;AACH"}
@@ -1,9 +1,9 @@
1
1
  import { toRaw } from "../reactivity/reactive/shared.mjs";
2
2
  import { getReactiveVersion, isReactive } from "../reactivity/reactive.mjs";
3
3
  import { unref } from "../reactivity/ref.mjs";
4
+ import { isNoSetData } from "./noSetData.mjs";
4
5
  import { hasOwn } from "../utils.mjs";
5
6
  import { hasTrackableSetupBinding } from "./setupTracking.mjs";
6
- import { isNoSetData } from "./noSetData.mjs";
7
7
 
8
8
  //#region src/runtime/diff.ts
9
9
  function isPlainObject(value) {