@nuxt/scripts 1.0.0-beta.7 → 1.0.0-rc.10

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 (300) hide show
  1. package/bin/cli.mjs +2 -0
  2. package/dist/cli.d.mts +2 -0
  3. package/dist/cli.d.ts +2 -0
  4. package/dist/cli.mjs +50 -0
  5. package/dist/devtools-client/200.html +1 -0
  6. package/dist/devtools-client/404.html +1 -0
  7. package/dist/devtools-client/_fonts/4ppnHhMi-pBsWSPo7mY0avYxlDoAg1N3PTzCwXLZ5rA-d9oibkGnTd1JL3tc_xnaVgBLYmOB8kjrK2cvZaqwj9s.woff2 +0 -0
  8. package/dist/devtools-client/_fonts/4qBuU9MRVUlPZNPSF7Xom_sK8RBEnfYu-9VXFrdq8A8-8TDwLE1HAj1sQn7XxVWtM_7sIaPM-DTdO3Pf8U2DF1U.woff2 +0 -0
  9. package/dist/devtools-client/_fonts/6dYsbWUd_BpKJ7mdDihgOcya1gHXLpJBuMYXux3WMjE-q3fYNS8YbW5n7ZeXI2vSNgkRWW5VDPKAl51SNTjG2qk.woff2 +0 -0
  10. package/dist/devtools-client/_fonts/Lr-hqqZZsYmCt0ITUlr1CUrWim9fsKvoDFZliMxgNHY-iTa_Yt_PzhOY9TX7ZXdSlEPim6iRt92xhECwaxWxd5w.woff2 +0 -0
  11. package/dist/devtools-client/_fonts/OknHvWI6KtYn1JQBzX7eSpNDBQ8520F9TvSUJYkVf6A-xeZn9253svK_8Q2LD0XEruY_MnEsuCRO5LenPoggC0Y.woff2 +0 -0
  12. package/dist/devtools-client/_fonts/PV2hrQG6wq5BlIPDjdL1IcOflycaghyt5MHzlBqZtlo-lb_WexLz3VZqfTN0oi554iBH5tT2j2UFEV-XErCAS3E.woff2 +0 -0
  13. package/dist/devtools-client/_fonts/UA7OtwYHwGN_HjcVGTdmiQxUit7FlqkCwxVUWSeXVnQ-B4OXCFOL_tWrYODpQTc07aMaj0c2cewTOmBRWR9tD-A.woff2 +0 -0
  14. package/dist/devtools-client/_fonts/VE4cDVCv5MxbFM7ZLoLCGbIpNd71zhp7MDI9lmN5Y7I-xZyDYCUVrd6LV8eVGF3Um3UZjBFuUtDGtvdyTBBRYBo.woff2 +0 -0
  15. package/dist/devtools-client/_fonts/fVoGbnMbBFd5L9BBp9fUPavUSkZ_EmsQNSyadkT-108-U4T0khaeLQSIhtt9eVvaCEKJjtWJ4ioRJOf8hvqkWY0.woff2 +0 -0
  16. package/dist/devtools-client/_fonts/lQAxeCEs1R0Lw-H9XRU1RlOARQN8J6npRsPjyEDMe5s-_DUSLEkO3tKTuun_gSnDLoQPVEnpOnyqZMOw0ByZ6PA.woff2 +0 -0
  17. package/dist/devtools-client/_fonts/lntlqNHKLV2n82yTwMde70QqOjcfLE2XJ5oKZ3vRPWc-z6TxpIZQdWXztWLr9_OFWqt_WJJoeGtuK_-XQMZGQwE.woff2 +0 -0
  18. package/dist/devtools-client/_fonts/qxAYvKsXWeYv731eb-h5TRurcdIP_W44mpNdX-HABAk-zUDeMEFlNtNbrwvT9JxLEBg0TphGy70O6RfIoIX_ZwU.woff2 +0 -0
  19. package/dist/devtools-client/_nuxt/B8PEiB0p.js +1 -0
  20. package/dist/devtools-client/_nuxt/BgPDxVUn.js +1 -0
  21. package/dist/devtools-client/_nuxt/BmlapxLP.js +1 -0
  22. package/dist/devtools-client/_nuxt/CM2vefXI.js +188 -0
  23. package/dist/devtools-client/_nuxt/DAF5Qk9P.js +1 -0
  24. package/dist/devtools-client/_nuxt/Dx6HhVmj.js +1 -0
  25. package/dist/devtools-client/_nuxt/S8LiR9M1.js +1 -0
  26. package/dist/devtools-client/_nuxt/builds/latest.json +1 -0
  27. package/dist/devtools-client/_nuxt/builds/meta/5458a3f2-af35-479c-8852-bf6f92fed611.json +1 -0
  28. package/dist/devtools-client/_nuxt/entry.BKkVrcJj.css +1 -0
  29. package/dist/devtools-client/_nuxt/error-404.d44aGwWI.css +1 -0
  30. package/dist/devtools-client/_nuxt/error-500.NthMfIEt.css +1 -0
  31. package/dist/devtools-client/_nuxt/first-party.C8Ha4JLM.css +1 -0
  32. package/dist/devtools-client/_nuxt/index.DZD1lwyI.css +1 -0
  33. package/dist/devtools-client/_nuxt/registry.B9lnjF_b.css +1 -0
  34. package/dist/devtools-client/_nuxt/vBkR1GJq.js +1 -0
  35. package/dist/devtools-client/_nuxt/wDzz0qaB.js +1 -0
  36. package/dist/devtools-client/docs/index.html +1 -0
  37. package/dist/devtools-client/first-party/index.html +1 -0
  38. package/dist/devtools-client/index.html +1 -0
  39. package/dist/devtools-client/registry/index.html +1 -0
  40. package/dist/module.d.mts +89 -80
  41. package/dist/module.d.ts +185 -0
  42. package/dist/module.json +1 -1
  43. package/dist/module.mjs +1056 -756
  44. package/dist/registry.d.mts +92 -4
  45. package/dist/registry.d.ts +94 -0
  46. package/dist/registry.mjs +668 -326
  47. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.d.vue.ts +77 -165
  48. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +148 -227
  49. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue.d.ts +77 -165
  50. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.d.vue.ts +6 -55
  51. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue +12 -83
  52. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue.d.ts +6 -55
  53. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.d.vue.ts +5 -1
  54. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue +24 -38
  55. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue.d.ts +5 -1
  56. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.d.vue.ts +43 -0
  57. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue +60 -0
  58. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue.d.ts +43 -0
  59. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.d.vue.ts +4 -0
  60. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue +22 -26
  61. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue.d.ts +4 -0
  62. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.d.vue.ts +11 -8
  63. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue +57 -57
  64. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue.d.ts +11 -8
  65. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.d.vue.ts +24 -42
  66. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue +71 -74
  67. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue.d.ts +24 -42
  68. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.d.vue.ts +19 -20
  69. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue +85 -38
  70. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue.d.ts +19 -20
  71. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.d.vue.ts +98 -0
  72. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue +263 -0
  73. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue.d.ts +98 -0
  74. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.d.vue.ts +10 -3
  75. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue +9 -41
  76. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue.d.ts +10 -3
  77. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.d.vue.ts +7 -3
  78. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue +23 -38
  79. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue.d.ts +7 -3
  80. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.d.vue.ts +7 -3
  81. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue +23 -38
  82. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue.d.ts +7 -3
  83. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.d.vue.ts +7 -3
  84. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue +24 -38
  85. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue.d.ts +7 -3
  86. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.d.vue.ts +200 -0
  87. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.vue +170 -0
  88. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.vue.d.ts +200 -0
  89. package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.d.ts +13 -0
  90. package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.js +8 -0
  91. package/dist/runtime/components/GoogleMaps/injectionKeys.d.ts +10 -0
  92. package/dist/runtime/components/GoogleMaps/injectionKeys.js +2 -0
  93. package/dist/runtime/components/GoogleMaps/types.d.ts +42 -0
  94. package/dist/runtime/components/GoogleMaps/types.js +1 -0
  95. package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.d.ts +98 -0
  96. package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.js +126 -0
  97. package/dist/runtime/components/ScriptBlueskyEmbed.d.vue.ts +83 -0
  98. package/dist/runtime/components/ScriptBlueskyEmbed.vue +91 -0
  99. package/dist/runtime/components/ScriptBlueskyEmbed.vue.d.ts +83 -0
  100. package/dist/runtime/components/ScriptCarbonAds.d.vue.ts +4 -7
  101. package/dist/runtime/components/ScriptCarbonAds.vue +1 -0
  102. package/dist/runtime/components/ScriptCarbonAds.vue.d.ts +4 -7
  103. package/dist/runtime/components/ScriptCrisp.d.vue.ts +7 -11
  104. package/dist/runtime/components/ScriptCrisp.vue +2 -1
  105. package/dist/runtime/components/ScriptCrisp.vue.d.ts +7 -11
  106. package/dist/runtime/components/ScriptGoogleAdsense.d.vue.ts +4 -7
  107. package/dist/runtime/components/ScriptGoogleAdsense.vue +2 -1
  108. package/dist/runtime/components/ScriptGoogleAdsense.vue.d.ts +4 -7
  109. package/dist/runtime/components/ScriptGravatar.d.vue.ts +22 -0
  110. package/dist/runtime/components/ScriptGravatar.vue +46 -0
  111. package/dist/runtime/components/ScriptGravatar.vue.d.ts +22 -0
  112. package/dist/runtime/components/ScriptInstagramEmbed.d.vue.ts +12 -15
  113. package/dist/runtime/components/ScriptInstagramEmbed.vue +11 -3
  114. package/dist/runtime/components/ScriptInstagramEmbed.vue.d.ts +12 -15
  115. package/dist/runtime/components/ScriptIntercom.d.vue.ts +7 -11
  116. package/dist/runtime/components/ScriptIntercom.vue +5 -3
  117. package/dist/runtime/components/ScriptIntercom.vue.d.ts +7 -11
  118. package/dist/runtime/components/ScriptLemonSqueezy.d.vue.ts +2 -3
  119. package/dist/runtime/components/ScriptLemonSqueezy.vue +1 -0
  120. package/dist/runtime/components/ScriptLemonSqueezy.vue.d.ts +2 -3
  121. package/dist/runtime/components/ScriptPayPalButtons.d.vue.ts +43 -37
  122. package/dist/runtime/components/ScriptPayPalButtons.vue +49 -79
  123. package/dist/runtime/components/ScriptPayPalButtons.vue.d.ts +43 -37
  124. package/dist/runtime/components/ScriptPayPalMessages.d.vue.ts +37 -28
  125. package/dist/runtime/components/ScriptPayPalMessages.vue +47 -50
  126. package/dist/runtime/components/ScriptPayPalMessages.vue.d.ts +37 -28
  127. package/dist/runtime/components/ScriptStripePricingTable.d.vue.ts +5 -9
  128. package/dist/runtime/components/ScriptStripePricingTable.vue +3 -2
  129. package/dist/runtime/components/ScriptStripePricingTable.vue.d.ts +5 -9
  130. package/dist/runtime/components/ScriptVimeoPlayer.d.vue.ts +17 -11
  131. package/dist/runtime/components/ScriptVimeoPlayer.vue +14 -10
  132. package/dist/runtime/components/ScriptVimeoPlayer.vue.d.ts +17 -11
  133. package/dist/runtime/components/ScriptXEmbed.d.vue.ts +10 -14
  134. package/dist/runtime/components/ScriptXEmbed.vue +21 -12
  135. package/dist/runtime/components/ScriptXEmbed.vue.d.ts +10 -14
  136. package/dist/runtime/components/ScriptYouTubePlayer.d.vue.ts +10 -15
  137. package/dist/runtime/components/ScriptYouTubePlayer.vue +12 -5
  138. package/dist/runtime/components/ScriptYouTubePlayer.vue.d.ts +10 -15
  139. package/dist/runtime/composables/useScript.js +159 -8
  140. package/dist/runtime/composables/useScriptEventPage.js +2 -2
  141. package/dist/runtime/composables/useScriptProxyToken.d.ts +12 -0
  142. package/dist/runtime/composables/useScriptProxyToken.js +4 -0
  143. package/dist/runtime/composables/useScriptProxyUrl.d.ts +12 -0
  144. package/dist/runtime/composables/useScriptProxyUrl.js +27 -0
  145. package/dist/runtime/composables/useScriptTriggerConsent.d.ts +10 -0
  146. package/dist/runtime/composables/useScriptTriggerConsent.js +33 -20
  147. package/dist/runtime/composables/useScriptTriggerElement.js +1 -1
  148. package/dist/runtime/composables/useScriptTriggerIdleTimeout.js +1 -1
  149. package/dist/runtime/devtools-standalone-bridge.client.d.ts +8 -0
  150. package/dist/runtime/devtools-standalone-bridge.client.js +50 -0
  151. package/dist/runtime/plugins/proxy-token.server.d.ts +10 -0
  152. package/dist/runtime/plugins/proxy-token.server.js +17 -0
  153. package/dist/runtime/registry/bing-uet.d.ts +198 -0
  154. package/dist/runtime/registry/bing-uet.js +43 -0
  155. package/dist/runtime/registry/bluesky-embed.d.ts +112 -0
  156. package/dist/runtime/registry/bluesky-embed.js +68 -0
  157. package/dist/runtime/registry/clarity.d.ts +16 -17
  158. package/dist/runtime/registry/clarity.js +33 -31
  159. package/dist/runtime/registry/cloudflare-web-analytics.d.ts +2 -13
  160. package/dist/runtime/registry/cloudflare-web-analytics.js +2 -14
  161. package/dist/runtime/registry/crisp.d.ts +10 -40
  162. package/dist/runtime/registry/crisp.js +2 -33
  163. package/dist/runtime/registry/databuddy-analytics.d.ts +2 -35
  164. package/dist/runtime/registry/databuddy-analytics.js +20 -45
  165. package/dist/runtime/registry/fathom-analytics.d.ts +7 -26
  166. package/dist/runtime/registry/fathom-analytics.js +3 -25
  167. package/dist/runtime/registry/google-adsense.d.ts +3 -11
  168. package/dist/runtime/registry/google-adsense.js +2 -11
  169. package/dist/runtime/registry/google-analytics.d.ts +9 -7
  170. package/dist/runtime/registry/google-analytics.js +15 -9
  171. package/dist/runtime/registry/google-maps.d.ts +3 -9
  172. package/dist/runtime/registry/google-maps.js +2 -8
  173. package/dist/runtime/registry/google-recaptcha.d.ts +2 -6
  174. package/dist/runtime/registry/google-recaptcha.js +4 -12
  175. package/dist/runtime/registry/google-sign-in.d.ts +2 -13
  176. package/dist/runtime/registry/google-sign-in.js +2 -22
  177. package/dist/runtime/registry/google-tag-manager.d.ts +8 -29
  178. package/dist/runtime/registry/google-tag-manager.js +14 -28
  179. package/dist/runtime/registry/gravatar.d.ts +26 -0
  180. package/dist/runtime/registry/gravatar.js +33 -0
  181. package/dist/runtime/registry/hotjar.d.ts +4 -6
  182. package/dist/runtime/registry/hotjar.js +2 -5
  183. package/dist/runtime/registry/instagram-embed.d.ts +3 -18
  184. package/dist/runtime/registry/instagram-embed.js +4 -19
  185. package/dist/runtime/registry/intercom.d.ts +5 -13
  186. package/dist/runtime/registry/intercom.js +2 -12
  187. package/dist/runtime/registry/matomo-analytics.d.ts +12 -15
  188. package/dist/runtime/registry/matomo-analytics.js +31 -13
  189. package/dist/runtime/registry/meta-pixel.d.ts +12 -8
  190. package/dist/runtime/registry/meta-pixel.js +12 -5
  191. package/dist/runtime/registry/mixpanel-analytics.d.ts +32 -0
  192. package/dist/runtime/registry/mixpanel-analytics.js +58 -0
  193. package/dist/runtime/registry/npm.d.ts +3 -7
  194. package/dist/runtime/registry/npm.js +2 -9
  195. package/dist/runtime/registry/paypal.d.ts +4 -25
  196. package/dist/runtime/registry/paypal.js +3 -66
  197. package/dist/runtime/registry/plausible-analytics.js +19 -14
  198. package/dist/runtime/registry/posthog.d.ts +18 -14
  199. package/dist/runtime/registry/posthog.js +18 -16
  200. package/dist/runtime/registry/reddit-pixel.d.ts +5 -6
  201. package/dist/runtime/registry/reddit-pixel.js +2 -4
  202. package/dist/runtime/registry/rybbit-analytics.d.ts +2 -14
  203. package/dist/runtime/registry/rybbit-analytics.js +10 -20
  204. package/dist/runtime/registry/schemas.d.ts +1047 -0
  205. package/dist/runtime/registry/schemas.js +1004 -0
  206. package/dist/runtime/registry/segment.d.ts +2 -5
  207. package/dist/runtime/registry/segment.js +2 -5
  208. package/dist/runtime/registry/snapchat-pixel.d.ts +5 -34
  209. package/dist/runtime/registry/snapchat-pixel.js +2 -20
  210. package/dist/runtime/registry/stripe.d.ts +3 -4
  211. package/dist/runtime/registry/stripe.js +2 -4
  212. package/dist/runtime/registry/tiktok-pixel.d.ts +20 -9
  213. package/dist/runtime/registry/tiktok-pixel.js +24 -7
  214. package/dist/runtime/registry/umami-analytics.d.ts +2 -31
  215. package/dist/runtime/registry/umami-analytics.js +2 -36
  216. package/dist/runtime/registry/vercel-analytics.d.ts +29 -0
  217. package/dist/runtime/registry/vercel-analytics.js +84 -0
  218. package/dist/runtime/registry/vimeo-player.d.ts +2 -2
  219. package/dist/runtime/registry/vimeo-player.js +1 -1
  220. package/dist/runtime/registry/x-embed.d.ts +3 -21
  221. package/dist/runtime/registry/x-embed.js +2 -21
  222. package/dist/runtime/registry/x-pixel.d.ts +4 -7
  223. package/dist/runtime/registry/x-pixel.js +2 -5
  224. package/dist/runtime/registry/youtube-player.d.ts +7 -7
  225. package/dist/runtime/registry/youtube-player.js +1 -1
  226. package/dist/runtime/server/bluesky-embed-image.d.ts +2 -0
  227. package/dist/runtime/server/bluesky-embed-image.js +7 -0
  228. package/dist/runtime/server/bluesky-embed.d.ts +2 -0
  229. package/dist/runtime/server/bluesky-embed.js +78 -0
  230. package/dist/runtime/server/google-maps-geocode-proxy.d.ts +2 -0
  231. package/dist/runtime/server/google-maps-geocode-proxy.js +38 -0
  232. package/dist/runtime/server/google-static-maps-proxy.d.ts +1 -1
  233. package/dist/runtime/server/google-static-maps-proxy.js +18 -23
  234. package/dist/runtime/server/gravatar-proxy.d.ts +2 -0
  235. package/dist/runtime/server/gravatar-proxy.js +46 -0
  236. package/dist/runtime/server/instagram-embed-asset.d.ts +1 -1
  237. package/dist/runtime/server/instagram-embed-asset.js +8 -41
  238. package/dist/runtime/server/instagram-embed-image.d.ts +1 -1
  239. package/dist/runtime/server/instagram-embed-image.js +6 -53
  240. package/dist/runtime/server/instagram-embed.d.ts +1 -0
  241. package/dist/runtime/server/instagram-embed.js +82 -40
  242. package/dist/runtime/server/proxy-handler.js +102 -85
  243. package/dist/runtime/server/utils/cached-upstream.d.ts +55 -0
  244. package/dist/runtime/server/utils/cached-upstream.js +65 -0
  245. package/dist/runtime/server/utils/embed-rewriters.d.ts +19 -0
  246. package/dist/runtime/server/utils/embed-rewriters.js +41 -0
  247. package/dist/runtime/server/utils/image-proxy.d.ts +14 -0
  248. package/dist/runtime/server/utils/image-proxy.js +73 -0
  249. package/dist/runtime/server/utils/instagram-embed.d.ts +16 -0
  250. package/dist/runtime/server/utils/instagram-embed.js +153 -0
  251. package/dist/runtime/server/utils/privacy.d.ts +1 -10
  252. package/dist/runtime/server/utils/privacy.js +60 -40
  253. package/dist/runtime/server/utils/proxy-url.d.ts +9 -0
  254. package/dist/runtime/server/utils/proxy-url.js +21 -0
  255. package/dist/runtime/server/utils/sign-constants.d.ts +16 -0
  256. package/dist/runtime/server/utils/sign-constants.js +5 -0
  257. package/dist/runtime/server/utils/sign.d.ts +101 -0
  258. package/dist/runtime/server/utils/sign.js +91 -0
  259. package/dist/runtime/server/utils/withSigning.d.ts +23 -0
  260. package/dist/runtime/server/utils/withSigning.js +19 -0
  261. package/dist/runtime/server/x-embed-image.d.ts +1 -1
  262. package/dist/runtime/server/x-embed-image.js +5 -49
  263. package/dist/runtime/server/x-embed.js +26 -6
  264. package/dist/runtime/types.d.ts +311 -55
  265. package/dist/runtime/types.js +1 -2
  266. package/dist/runtime/utils/pure.d.ts +1 -1
  267. package/dist/runtime/utils.d.ts +6 -4
  268. package/dist/runtime/utils.js +31 -14
  269. package/dist/stats.d.mts +202 -0
  270. package/dist/stats.d.ts +202 -0
  271. package/dist/stats.mjs +3835 -0
  272. package/dist/types-source.d.mts +17 -0
  273. package/dist/types-source.d.ts +17 -0
  274. package/dist/types-source.mjs +3787 -0
  275. package/dist/types.d.mts +4 -2
  276. package/package.json +41 -63
  277. package/README.md +0 -86
  278. package/dist/client/200.html +0 -1
  279. package/dist/client/404.html +0 -1
  280. package/dist/client/_nuxt/BJa0m50V.js +0 -1
  281. package/dist/client/_nuxt/BPQ3VLAy.js +0 -1
  282. package/dist/client/_nuxt/Ci5iXYuB.js +0 -1
  283. package/dist/client/_nuxt/DaI2y8Uz.js +0 -162
  284. package/dist/client/_nuxt/builds/latest.json +0 -1
  285. package/dist/client/_nuxt/builds/meta/9b4fb16a-3c62-48b0-8295-126cb077b5d3.json +0 -1
  286. package/dist/client/_nuxt/entry.D45OuV0w.css +0 -1
  287. package/dist/client/_nuxt/error-404.B57D-jUQ.css +0 -1
  288. package/dist/client/_nuxt/error-500.DTHUW7BI.css +0 -1
  289. package/dist/client/_nuxt/vPLZfVXe.js +0 -1
  290. package/dist/client/index.html +0 -1
  291. package/dist/runtime/components/ScriptPayPalMarks.d.vue.ts +0 -52
  292. package/dist/runtime/components/ScriptPayPalMarks.vue +0 -69
  293. package/dist/runtime/components/ScriptPayPalMarks.vue.d.ts +0 -52
  294. package/dist/runtime/validation/mock.d.ts +0 -42
  295. package/dist/runtime/validation/mock.js +0 -21
  296. package/dist/runtime/validation/valibot.d.ts +0 -1
  297. package/dist/runtime/validation/valibot.js +0 -1
  298. /package/dist/{client → devtools-client}/_nuxt/CVO1_9PV.js +0 -0
  299. /package/dist/{client → devtools-client}/_nuxt/Cp-IABpG.js +0 -0
  300. /package/dist/{client → devtools-client}/_nuxt/D0r3Knsf.js +0 -0
@@ -1,6 +1,6 @@
1
- import { type HTMLAttributes, type ReservedProps } from 'vue';
2
- import type { OnApproveActions, OnApproveData, OnCancelledActions, OnClickActions, OnShippingAddressChangeActions, OnShippingAddressChangeData, OnShippingOptionsChangeActions, OnShippingOptionsChangeData, PayPalButtonsComponentOptions, OnInitActions } from '@paypal/paypal-js';
3
1
  import type { ElementScriptTrigger } from '#nuxt-scripts/types';
2
+ import type { Components, PageTypes, SdkInstance } from '@paypal/paypal-js/sdk-v6';
3
+ import type { HTMLAttributes, ReservedProps } from 'vue';
4
4
  import type { PayPalInput } from '../registry/paypal.js';
5
5
  type __VLS_Props = {
6
6
  /**
@@ -12,55 +12,61 @@ type __VLS_Props = {
12
12
  */
13
13
  trigger?: ElementScriptTrigger;
14
14
  /**
15
- * The client id for the paypal script.
15
+ * Client ID or client token for PayPal SDK v6 authentication.
16
16
  */
17
17
  clientId?: string;
18
18
  /**
19
- * The options for the paypal buttons.
19
+ * Server-generated client token for SDK v6.
20
20
  */
21
- buttonOptions?: PayPalButtonsComponentOptions;
21
+ clientToken?: string;
22
22
  /**
23
- * The paypal script options.
23
+ * The v6 SDK components to load.
24
+ * @default ['paypal-payments']
24
25
  */
25
- paypalScriptOptions?: Partial<PayPalInput>;
26
+ components?: Components[];
27
+ /**
28
+ * The page type context hint.
29
+ */
30
+ pageType?: PageTypes;
31
+ /**
32
+ * The locale for the SDK (BCP-47 code).
33
+ */
34
+ locale?: string;
26
35
  /**
27
- * Disables the paypal buttons.
36
+ * The merchant ID(s).
28
37
  */
29
- disabled?: boolean;
38
+ merchantId?: string | string[];
39
+ /**
40
+ * Partner attribution ID for revenue sharing.
41
+ */
42
+ partnerAttributionId?: string;
43
+ /**
44
+ * The paypal script options.
45
+ */
46
+ paypalScriptOptions?: Partial<PayPalInput>;
30
47
  };
31
- declare var __VLS_1: {}, __VLS_3: {}, __VLS_10: {}, __VLS_12: {}, __VLS_14: {};
32
- type __VLS_Slots = {} & {
33
- placeholder?: (props: typeof __VLS_1) => any;
34
- } & {
35
- loading?: (props: typeof __VLS_3) => any;
36
- } & {
37
- awaitingLoad?: (props: typeof __VLS_10) => any;
38
- } & {
39
- error?: (props: typeof __VLS_12) => any;
40
- } & {
41
- default?: (props: typeof __VLS_14) => any;
48
+ type __VLS_Slots = {
49
+ default?: (props: {
50
+ sdkInstance: SdkInstance<Components[]> | undefined;
51
+ }) => any;
52
+ placeholder?: () => any;
53
+ loading?: () => any;
54
+ awaitingLoad?: () => any;
55
+ error?: () => any;
42
56
  };
43
- declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
44
- error: (error: Record<string, unknown>) => any;
45
- init: (data: Record<string, unknown>, actions: OnInitActions) => any;
46
- cancel: (data: Record<string, unknown>, actions: OnCancelledActions) => any;
47
- approve: (data: OnApproveData, actions: OnApproveActions) => any;
48
- clickButtons: (data: Record<string, unknown>, actions: OnClickActions) => any;
49
- shippingOptionsChange: (data: OnShippingOptionsChangeData, actions: OnShippingOptionsChangeActions) => any;
50
- shippingAddressChange: (data: OnShippingAddressChangeData, actions: OnShippingAddressChangeActions) => any;
57
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
58
+ /** The PayPal SDK v6 instance for creating payment sessions, checking eligibility, etc. */
59
+ sdkInstance: import("vue").ShallowRef<SdkInstance<Components[]> | undefined, SdkInstance<Components[]> | undefined>;
60
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
61
+ error: (error: unknown) => any;
62
+ ready: (instance: SdkInstance<Components[]>) => any;
51
63
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
52
- onError?: ((error: Record<string, unknown>) => any) | undefined;
53
- onInit?: ((data: Record<string, unknown>, actions: OnInitActions) => any) | undefined;
54
- onCancel?: ((data: Record<string, unknown>, actions: OnCancelledActions) => any) | undefined;
55
- onApprove?: ((data: OnApproveData, actions: OnApproveActions) => any) | undefined;
56
- onClickButtons?: ((data: Record<string, unknown>, actions: OnClickActions) => any) | undefined;
57
- onShippingOptionsChange?: ((data: OnShippingOptionsChangeData, actions: OnShippingOptionsChangeActions) => any) | undefined;
58
- onShippingAddressChange?: ((data: OnShippingAddressChangeData, actions: OnShippingAddressChangeActions) => any) | undefined;
64
+ onError?: ((error: unknown) => any) | undefined;
65
+ onReady?: ((instance: SdkInstance<Components[]>) => any) | undefined;
59
66
  }>, {
60
67
  trigger: ElementScriptTrigger;
61
- disabled: boolean;
62
68
  clientId: string;
63
- buttonOptions: PayPalButtonsComponentOptions;
69
+ components: Components[];
64
70
  paypalScriptOptions: Partial<PayPalInput>;
65
71
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
66
72
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,98 +1,67 @@
1
1
  <script setup>
2
- import { computed, onMounted, ref, shallowRef, watch } from "vue";
3
2
  import { defu } from "defu";
4
- import { useScriptPayPal } from "../registry/paypal";
3
+ import { computed, onBeforeUnmount, onMounted, ref, resolveComponent, shallowRef } from "vue";
5
4
  import { useScriptTriggerElement } from "../composables/useScriptTriggerElement";
6
- import { onBeforeUnmount, resolveComponent } from "vue";
7
- const el = ref(null);
8
- const rootEl = ref(null);
5
+ import { useScriptPayPal } from "../registry/paypal";
9
6
  const props = defineProps({
10
7
  rootAttrs: { type: Object, required: false },
11
8
  trigger: { type: [String, Array, Boolean], required: false, default: "visible" },
12
9
  clientId: { type: String, required: false, default: "test" },
13
- buttonOptions: { type: Object, required: false, default: () => ({}) },
14
- paypalScriptOptions: { type: Object, required: false, default: () => ({}) },
15
- disabled: { type: Boolean, required: false, default: false }
10
+ clientToken: { type: String, required: false },
11
+ components: { type: Array, required: false, default: () => ["paypal-payments"] },
12
+ pageType: { type: String, required: false },
13
+ locale: { type: String, required: false },
14
+ merchantId: { type: [String, Array], required: false },
15
+ partnerAttributionId: { type: String, required: false },
16
+ paypalScriptOptions: { type: Object, required: false, default: () => ({}) }
16
17
  });
18
+ const emit = defineEmits(["ready", "error"]);
19
+ defineSlots();
20
+ const el = ref(null);
21
+ const rootEl = ref(null);
17
22
  const ready = ref(false);
23
+ const failed = ref(false);
24
+ const sdkInstance = shallowRef();
18
25
  const { onLoaded, status } = useScriptPayPal({
19
- clientId: props.clientId,
26
+ ...props.clientToken ? { clientToken: props.clientToken } : { clientId: props.clientId },
20
27
  ...props.paypalScriptOptions
21
28
  });
22
- const emit = defineEmits(["approve", "error", "cancel", "clickButtons", "shippingOptionsChange", "shippingAddressChange", "init"]);
23
- const initActions = shallowRef(null);
24
- const handleDisabled = () => {
25
- if (!initActions.value) return;
26
- if (props.disabled) {
27
- initActions.value.disable();
28
- } else {
29
- initActions.value.enable();
30
- }
31
- };
32
- const options = computed(() => {
33
- const _options = {
34
- onApprove: async (data, actions) => {
35
- emit("approve", data, actions);
36
- return props.buttonOptions?.onApprove?.(data, actions);
37
- },
38
- onError: (err) => {
39
- emit("error", err);
40
- return props.buttonOptions?.onError?.(err);
41
- },
42
- onCancel: (data, actions) => {
43
- emit("cancel", data, actions);
44
- return props.buttonOptions?.onCancel?.(data, actions);
45
- },
46
- onClick: (data, actions) => {
47
- emit("clickButtons", data, actions);
48
- return props.buttonOptions?.onClick?.(data, actions);
49
- },
50
- onShippingOptionsChange: async (data, actions) => {
51
- emit("shippingOptionsChange", data, actions);
52
- return props.buttonOptions?.onShippingOptionsChange?.(data, actions);
53
- },
54
- onShippingAddressChange: async (data, actions) => {
55
- emit("shippingAddressChange", data, actions);
56
- return props.buttonOptions?.onShippingAddressChange?.(data, actions);
57
- },
58
- onInit: (data, actions) => {
59
- initActions.value = actions;
60
- actions.disable();
61
- handleDisabled();
62
- emit("init", data, actions);
63
- return props.buttonOptions?.onInit?.(data, actions);
64
- }
65
- };
66
- return defu(_options, props.buttonOptions);
67
- });
68
- watch(() => props.disabled, handleDisabled);
69
- const buttonInst = shallowRef();
70
29
  onMounted(() => {
71
30
  onLoaded(async ({ paypal }) => {
72
- if (!el.value) return;
73
- buttonInst.value = paypal?.Buttons?.(options.value);
74
- await buttonInst.value?.render(el.value);
75
- ready.value = true;
76
- watch(() => options.value, async (_options) => {
77
- if (!el.value) return;
78
- await buttonInst.value?.updateProps(_options);
79
- });
31
+ if (!el.value)
32
+ return;
33
+ const instanceOptions = {
34
+ ...props.clientToken ? { clientToken: props.clientToken } : { clientId: props.clientId },
35
+ components: props.components,
36
+ ...props.pageType && { pageType: props.pageType },
37
+ ...props.locale && { locale: props.locale },
38
+ ...props.merchantId && { merchantId: props.merchantId },
39
+ ...props.partnerAttributionId && { partnerAttributionId: props.partnerAttributionId }
40
+ };
41
+ try {
42
+ sdkInstance.value = await paypal.createInstance(instanceOptions);
43
+ ready.value = true;
44
+ emit("ready", sdkInstance.value);
45
+ } catch (err) {
46
+ sdkInstance.value = void 0;
47
+ failed.value = true;
48
+ emit("error", err);
49
+ }
80
50
  });
81
51
  });
82
- async function destroy() {
83
- if (buttonInst.value) {
84
- await buttonInst.value?.close();
85
- }
86
- }
87
- onBeforeUnmount(async () => {
88
- await destroy();
52
+ onBeforeUnmount(() => {
53
+ sdkInstance.value = void 0;
54
+ });
55
+ defineExpose({
56
+ /** The PayPal SDK v6 instance for creating payment sessions, checking eligibility, etc. */
57
+ sdkInstance
89
58
  });
90
59
  const ScriptLoadingIndicator = resolveComponent("ScriptLoadingIndicator");
91
60
  const trigger = useScriptTriggerElement({ trigger: props.trigger, el: rootEl });
92
61
  const rootAttrs = computed(() => {
93
62
  return defu(props.rootAttrs, {
94
63
  "aria-busy": status.value === "loading",
95
- "aria-label": status.value === "awaitingLoad" ? "PayPal Script Placeholder" : status.value === "loading" ? "PayPal Buttons Loading" : "PayPal Buttons",
64
+ "aria-label": status.value === "awaitingLoad" ? "PayPal Script Placeholder" : status.value === "loading" ? "PayPal Loading" : "PayPal",
96
65
  "aria-live": "polite",
97
66
  "role": "application",
98
67
  ...trigger instanceof Promise ? trigger.ssrAttrs || {} : {}
@@ -101,16 +70,17 @@ const rootAttrs = computed(() => {
101
70
  </script>
102
71
 
103
72
  <template>
104
- <div v-bind="rootAttrs" id="test">
105
- <div v-show="ready" ref="el" />
106
- <slot v-if="!ready" name="placeholder">
73
+ <div ref="rootEl" v-bind="rootAttrs">
74
+ <div ref="el">
75
+ <slot v-if="ready" name="default" :sdk-instance="sdkInstance" />
76
+ </div>
77
+ <slot v-if="status !== 'error' && !ready && !failed" name="placeholder">
107
78
  placeholder
108
79
  </slot>
109
- <slot v-if="status !== 'awaitingLoad' && !ready" name="loading">
80
+ <slot v-if="status !== 'awaitingLoad' && status !== 'error' && !ready && !failed" name="loading">
110
81
  <ScriptLoadingIndicator color="black" />
111
82
  </slot>
112
83
  <slot v-if="status === 'awaitingLoad'" name="awaitingLoad" />
113
- <slot v-else-if="status === 'error'" name="error" />
114
- <slot />
84
+ <slot v-else-if="status === 'error' || failed" name="error" />
115
85
  </div>
116
86
  </template>
@@ -1,6 +1,6 @@
1
- import { type HTMLAttributes, type ReservedProps } from 'vue';
2
- import type { OnApproveActions, OnApproveData, OnCancelledActions, OnClickActions, OnShippingAddressChangeActions, OnShippingAddressChangeData, OnShippingOptionsChangeActions, OnShippingOptionsChangeData, PayPalButtonsComponentOptions, OnInitActions } from '@paypal/paypal-js';
3
1
  import type { ElementScriptTrigger } from '#nuxt-scripts/types';
2
+ import type { Components, PageTypes, SdkInstance } from '@paypal/paypal-js/sdk-v6';
3
+ import type { HTMLAttributes, ReservedProps } from 'vue';
4
4
  import type { PayPalInput } from '../registry/paypal.js';
5
5
  type __VLS_Props = {
6
6
  /**
@@ -12,55 +12,61 @@ type __VLS_Props = {
12
12
  */
13
13
  trigger?: ElementScriptTrigger;
14
14
  /**
15
- * The client id for the paypal script.
15
+ * Client ID or client token for PayPal SDK v6 authentication.
16
16
  */
17
17
  clientId?: string;
18
18
  /**
19
- * The options for the paypal buttons.
19
+ * Server-generated client token for SDK v6.
20
20
  */
21
- buttonOptions?: PayPalButtonsComponentOptions;
21
+ clientToken?: string;
22
22
  /**
23
- * The paypal script options.
23
+ * The v6 SDK components to load.
24
+ * @default ['paypal-payments']
24
25
  */
25
- paypalScriptOptions?: Partial<PayPalInput>;
26
+ components?: Components[];
27
+ /**
28
+ * The page type context hint.
29
+ */
30
+ pageType?: PageTypes;
31
+ /**
32
+ * The locale for the SDK (BCP-47 code).
33
+ */
34
+ locale?: string;
26
35
  /**
27
- * Disables the paypal buttons.
36
+ * The merchant ID(s).
28
37
  */
29
- disabled?: boolean;
38
+ merchantId?: string | string[];
39
+ /**
40
+ * Partner attribution ID for revenue sharing.
41
+ */
42
+ partnerAttributionId?: string;
43
+ /**
44
+ * The paypal script options.
45
+ */
46
+ paypalScriptOptions?: Partial<PayPalInput>;
30
47
  };
31
- declare var __VLS_1: {}, __VLS_3: {}, __VLS_10: {}, __VLS_12: {}, __VLS_14: {};
32
- type __VLS_Slots = {} & {
33
- placeholder?: (props: typeof __VLS_1) => any;
34
- } & {
35
- loading?: (props: typeof __VLS_3) => any;
36
- } & {
37
- awaitingLoad?: (props: typeof __VLS_10) => any;
38
- } & {
39
- error?: (props: typeof __VLS_12) => any;
40
- } & {
41
- default?: (props: typeof __VLS_14) => any;
48
+ type __VLS_Slots = {
49
+ default?: (props: {
50
+ sdkInstance: SdkInstance<Components[]> | undefined;
51
+ }) => any;
52
+ placeholder?: () => any;
53
+ loading?: () => any;
54
+ awaitingLoad?: () => any;
55
+ error?: () => any;
42
56
  };
43
- declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
44
- error: (error: Record<string, unknown>) => any;
45
- init: (data: Record<string, unknown>, actions: OnInitActions) => any;
46
- cancel: (data: Record<string, unknown>, actions: OnCancelledActions) => any;
47
- approve: (data: OnApproveData, actions: OnApproveActions) => any;
48
- clickButtons: (data: Record<string, unknown>, actions: OnClickActions) => any;
49
- shippingOptionsChange: (data: OnShippingOptionsChangeData, actions: OnShippingOptionsChangeActions) => any;
50
- shippingAddressChange: (data: OnShippingAddressChangeData, actions: OnShippingAddressChangeActions) => any;
57
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
58
+ /** The PayPal SDK v6 instance for creating payment sessions, checking eligibility, etc. */
59
+ sdkInstance: import("vue").ShallowRef<SdkInstance<Components[]> | undefined, SdkInstance<Components[]> | undefined>;
60
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
61
+ error: (error: unknown) => any;
62
+ ready: (instance: SdkInstance<Components[]>) => any;
51
63
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
52
- onError?: ((error: Record<string, unknown>) => any) | undefined;
53
- onInit?: ((data: Record<string, unknown>, actions: OnInitActions) => any) | undefined;
54
- onCancel?: ((data: Record<string, unknown>, actions: OnCancelledActions) => any) | undefined;
55
- onApprove?: ((data: OnApproveData, actions: OnApproveActions) => any) | undefined;
56
- onClickButtons?: ((data: Record<string, unknown>, actions: OnClickActions) => any) | undefined;
57
- onShippingOptionsChange?: ((data: OnShippingOptionsChangeData, actions: OnShippingOptionsChangeActions) => any) | undefined;
58
- onShippingAddressChange?: ((data: OnShippingAddressChangeData, actions: OnShippingAddressChangeActions) => any) | undefined;
64
+ onError?: ((error: unknown) => any) | undefined;
65
+ onReady?: ((instance: SdkInstance<Components[]>) => any) | undefined;
59
66
  }>, {
60
67
  trigger: ElementScriptTrigger;
61
- disabled: boolean;
62
68
  clientId: string;
63
- buttonOptions: PayPalButtonsComponentOptions;
69
+ components: Components[];
64
70
  paypalScriptOptions: Partial<PayPalInput>;
65
71
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
66
72
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,6 +1,6 @@
1
- import { type HTMLAttributes, type ReservedProps } from 'vue';
2
- import type { PayPalMessagesComponentOptions } from '@paypal/paypal-js';
3
1
  import type { ElementScriptTrigger } from '#nuxt-scripts/types';
2
+ import type { PageTypes, PayPalMessagesOptions, PayPalMessagesSession } from '@paypal/paypal-js/sdk-v6';
3
+ import type { HTMLAttributes, ReservedProps } from 'vue';
4
4
  import type { PayPalInput } from '../registry/paypal.js';
5
5
  type __VLS_Props = {
6
6
  /**
@@ -12,51 +12,60 @@ type __VLS_Props = {
12
12
  */
13
13
  trigger?: ElementScriptTrigger;
14
14
  /**
15
- * The client id for the paypal script.
15
+ * Client ID or client token for PayPal SDK v6 authentication.
16
16
  */
17
17
  clientId?: string;
18
18
  /**
19
- * The options for the paypal buttons.
19
+ * Server-generated client token for SDK v6.
20
20
  */
21
- messagesOptions?: PayPalMessagesComponentOptions;
21
+ clientToken?: string;
22
22
  /**
23
- * The merchant id for the paypal script.
23
+ * The merchant ID for the paypal script.
24
24
  */
25
- merchantId?: string;
25
+ merchantId?: string | string[];
26
26
  /**
27
- * The partner attribution id for the paypal script.
27
+ * The partner attribution ID.
28
28
  */
29
29
  partnerAttributionId?: string;
30
30
  /**
31
- * The options for the paypal scipt.
31
+ * The page type context hint.
32
+ */
33
+ pageType?: PageTypes;
34
+ /**
35
+ * The locale for the SDK (BCP-47 code).
36
+ */
37
+ locale?: string;
38
+ /**
39
+ * Options for the PayPal Messages session.
40
+ */
41
+ messagesOptions?: PayPalMessagesOptions;
42
+ /**
43
+ * The paypal script options.
32
44
  */
33
45
  paypalScriptOptions?: Partial<PayPalInput>;
34
46
  };
35
- declare var __VLS_1: {}, __VLS_3: {}, __VLS_10: {}, __VLS_12: {}, __VLS_14: {};
36
- type __VLS_Slots = {} & {
37
- placeholder?: (props: typeof __VLS_1) => any;
38
- } & {
39
- loading?: (props: typeof __VLS_3) => any;
40
- } & {
41
- awaitingLoad?: (props: typeof __VLS_10) => any;
42
- } & {
43
- error?: (props: typeof __VLS_12) => any;
44
- } & {
45
- default?: (props: typeof __VLS_14) => any;
47
+ type __VLS_Slots = {
48
+ default?: (props: {
49
+ messagesSession: PayPalMessagesSession | undefined;
50
+ }) => any;
51
+ placeholder?: () => any;
52
+ loading?: () => any;
53
+ awaitingLoad?: () => any;
54
+ error?: () => any;
46
55
  };
47
- declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
48
- render: (data: Record<string, unknown>) => any;
49
- apply: (data: Record<string, unknown>) => any;
50
- clickMessages: (data: Record<string, unknown>) => any;
56
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
57
+ messagesSession: import("vue").ShallowRef<PayPalMessagesSession | undefined, PayPalMessagesSession | undefined>;
58
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
59
+ error: (error: unknown) => any;
60
+ ready: (session: PayPalMessagesSession) => any;
51
61
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
52
- onRender?: ((data: Record<string, unknown>) => any) | undefined;
53
- onApply?: ((data: Record<string, unknown>) => any) | undefined;
54
- onClickMessages?: ((data: Record<string, unknown>) => any) | undefined;
62
+ onError?: ((error: unknown) => any) | undefined;
63
+ onReady?: ((session: PayPalMessagesSession) => any) | undefined;
55
64
  }>, {
56
65
  trigger: ElementScriptTrigger;
57
66
  clientId: string;
58
67
  paypalScriptOptions: Partial<PayPalInput>;
59
- messagesOptions: PayPalMessagesComponentOptions;
68
+ messagesOptions: PayPalMessagesOptions;
60
69
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
61
70
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
62
71
  declare const _default: typeof __VLS_export;
@@ -1,72 +1,68 @@
1
1
  <script setup>
2
- import { computed, onMounted, ref, shallowRef, watch } from "vue";
3
2
  import { defu } from "defu";
4
- import { useScriptPayPal } from "../registry/paypal";
3
+ import { computed, onBeforeUnmount, onMounted, ref, resolveComponent, shallowRef } from "vue";
5
4
  import { useScriptTriggerElement } from "../composables/useScriptTriggerElement";
6
- import { onBeforeUnmount, resolveComponent } from "vue";
7
- const el = ref(null);
8
- const rootEl = ref(null);
5
+ import { useScriptPayPal } from "../registry/paypal";
9
6
  const props = defineProps({
10
7
  rootAttrs: { type: Object, required: false },
11
8
  trigger: { type: [String, Array, Boolean], required: false, default: "visible" },
12
9
  clientId: { type: String, required: false, default: "test" },
13
- messagesOptions: { type: Object, required: false, default: () => ({}) },
14
- merchantId: { type: String, required: false },
10
+ clientToken: { type: String, required: false },
11
+ merchantId: { type: [String, Array], required: false },
15
12
  partnerAttributionId: { type: String, required: false },
13
+ pageType: { type: String, required: false },
14
+ locale: { type: String, required: false },
15
+ messagesOptions: { type: Object, required: false, default: () => ({}) },
16
16
  paypalScriptOptions: { type: Object, required: false, default: () => ({}) }
17
17
  });
18
+ const emit = defineEmits(["ready", "error"]);
19
+ defineSlots();
20
+ const el = ref(null);
21
+ const rootEl = ref(null);
18
22
  const ready = ref(false);
23
+ const failed = ref(false);
24
+ const messagesSession = shallowRef();
19
25
  const { onLoaded, status } = useScriptPayPal({
20
- clientId: props.clientId,
21
- merchantId: props.merchantId,
22
- partnerAttributionId: props.partnerAttributionId,
26
+ ...props.clientToken ? { clientToken: props.clientToken } : { clientId: props.clientId },
23
27
  ...props.paypalScriptOptions
24
28
  });
25
- const emit = defineEmits(["apply", "clickMessages", "render"]);
26
- const options = computed(() => {
27
- const _options = {
28
- onApply: (data) => {
29
- emit("apply", data);
30
- return props.messagesOptions?.onApply?.(data);
31
- },
32
- onClick: (data) => {
33
- emit("clickMessages", data);
34
- return props.messagesOptions?.onClick?.(data);
35
- },
36
- onRender: (data) => {
37
- emit("render", data);
38
- return props.messagesOptions?.onRender?.(data);
39
- }
40
- };
41
- return defu(_options, props.messagesOptions);
42
- });
43
- const messageInst = shallowRef();
44
29
  onMounted(() => {
45
30
  onLoaded(async ({ paypal }) => {
46
- if (!el.value) return;
47
- messageInst.value = paypal?.Messages?.(options.value);
48
- await messageInst.value?.render(el.value);
49
- ready.value = true;
50
- watch(() => options.value, async (_options) => {
51
- if (!el.value) return;
52
- messageInst.value = paypal?.Messages?.(_options);
53
- await messageInst.value?.render(el.value);
54
- });
31
+ if (!el.value)
32
+ return;
33
+ const components = ["paypal-messages"];
34
+ const instanceOptions = {
35
+ ...props.clientToken ? { clientToken: props.clientToken } : { clientId: props.clientId },
36
+ components,
37
+ ...props.pageType && { pageType: props.pageType },
38
+ ...props.locale && { locale: props.locale },
39
+ ...props.merchantId && { merchantId: props.merchantId },
40
+ ...props.partnerAttributionId && { partnerAttributionId: props.partnerAttributionId }
41
+ };
42
+ try {
43
+ const instance = await paypal.createInstance(instanceOptions);
44
+ messagesSession.value = instance.createPayPalMessages(props.messagesOptions);
45
+ ready.value = true;
46
+ emit("ready", messagesSession.value);
47
+ } catch (err) {
48
+ messagesSession.value = void 0;
49
+ failed.value = true;
50
+ emit("error", err);
51
+ }
55
52
  });
56
53
  });
57
- function destroy() {
58
- if (!el.value) return;
59
- el.value?.replaceChildren();
60
- }
61
54
  onBeforeUnmount(() => {
62
- destroy();
55
+ messagesSession.value = void 0;
56
+ });
57
+ defineExpose({
58
+ messagesSession
63
59
  });
64
60
  const ScriptLoadingIndicator = resolveComponent("ScriptLoadingIndicator");
65
61
  const trigger = useScriptTriggerElement({ trigger: props.trigger, el: rootEl });
66
62
  const rootAttrs = computed(() => {
67
63
  return defu(props.rootAttrs, {
68
64
  "aria-busy": status.value === "loading",
69
- "aria-label": status.value === "awaitingLoad" ? "PayPal Script Placeholder" : status.value === "loading" ? "PayPal Buttons Loading" : "PayPal Buttons",
65
+ "aria-label": status.value === "awaitingLoad" ? "PayPal Script Placeholder" : status.value === "loading" ? "PayPal Messages Loading" : "PayPal Messages",
70
66
  "aria-live": "polite",
71
67
  "role": "application",
72
68
  ...trigger instanceof Promise ? trigger.ssrAttrs || {} : {}
@@ -75,16 +71,17 @@ const rootAttrs = computed(() => {
75
71
  </script>
76
72
 
77
73
  <template>
78
- <div v-bind="rootAttrs" id="test">
79
- <div v-show="ready" ref="el" />
80
- <slot v-if="!ready" name="placeholder">
74
+ <div ref="rootEl" v-bind="rootAttrs">
75
+ <div ref="el">
76
+ <slot v-if="ready" name="default" :messages-session="messagesSession" />
77
+ </div>
78
+ <slot v-if="status !== 'error' && !ready && !failed" name="placeholder">
81
79
  placeholder
82
80
  </slot>
83
- <slot v-if="status !== 'awaitingLoad' && !ready" name="loading">
81
+ <slot v-if="status !== 'awaitingLoad' && status !== 'error' && !ready && !failed" name="loading">
84
82
  <ScriptLoadingIndicator color="black" />
85
83
  </slot>
86
84
  <slot v-if="status === 'awaitingLoad'" name="awaitingLoad" />
87
- <slot v-else-if="status === 'error'" name="error" />
88
- <slot />
85
+ <slot v-else-if="status === 'error' || failed" name="error" />
89
86
  </div>
90
87
  </template>