@nuxt/scripts 0.9.5 → 0.10.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.
- package/README.md +4 -6
- package/dist/client/200.html +232 -224
- package/dist/client/404.html +232 -224
- package/dist/client/_nuxt/-71hrkjd.js +1 -0
- package/dist/client/_nuxt/0BrjI7ue.js +1 -0
- package/dist/client/_nuxt/2V0Ap-uE.js +1 -0
- package/dist/client/_nuxt/3xVqZejG.js +1 -0
- package/dist/client/_nuxt/{CrOfvjVs.js → 5LuOXUq_.js} +1 -1
- package/dist/client/_nuxt/727ZlQH0.js +1 -0
- package/dist/client/_nuxt/8jXJkYXT.js +1 -0
- package/dist/client/_nuxt/9C6ErRqt.js +1 -0
- package/dist/client/_nuxt/B-_AxZdj.js +1 -0
- package/dist/client/_nuxt/B0XVJmRM.js +1 -0
- package/dist/client/_nuxt/B14Poo8t.js +1 -0
- package/dist/client/_nuxt/B1bQXN8T.js +1 -0
- package/dist/client/_nuxt/B3ZDOciz.js +1 -0
- package/dist/client/_nuxt/B430Bg39.js +1 -0
- package/dist/client/_nuxt/B48N-Iqd.js +1 -0
- package/dist/client/_nuxt/B5lbUyaz.js +1 -0
- package/dist/client/_nuxt/B6U2uXNT.js +1 -0
- package/dist/client/_nuxt/B6W0miNI.js +1 -0
- package/dist/client/_nuxt/B7mTdjB0.js +1 -0
- package/dist/client/_nuxt/B9wLZaAG.js +1 -0
- package/dist/client/_nuxt/BAng5TT0.js +1 -0
- package/dist/client/_nuxt/BAxNRJcx.js +1 -0
- package/dist/client/_nuxt/BBT0u3iQ.js +1 -0
- package/dist/client/_nuxt/BCMa2Tx6.js +1 -0
- package/dist/client/_nuxt/BDiHrqA7.js +1 -0
- package/dist/client/_nuxt/{C8pgRvQH.js → BFOHcciG.js} +1 -1
- package/dist/client/_nuxt/BHyGnp0Z.js +1 -0
- package/dist/client/_nuxt/BLCLeV30.js +1 -0
- package/dist/client/_nuxt/BLmoVg8f.js +1 -0
- package/dist/client/_nuxt/{C0hdQUNN.js → BMR_PYu6.js} +1 -1
- package/dist/client/_nuxt/BMj5Y0dO.js +1 -0
- package/dist/client/_nuxt/BNioltXt.js +1 -0
- package/dist/client/_nuxt/BPhBrDlE.js +1 -0
- package/dist/client/_nuxt/BR4n0CG2.js +1 -0
- package/dist/client/_nuxt/BSxZ-RaX.js +1 -0
- package/dist/client/_nuxt/{B6NdQBKR.js → BWx0ALLs.js} +1 -1
- package/dist/client/_nuxt/{CMz7PuSU.js → BX77sIaO.js} +1 -1
- package/dist/client/_nuxt/BXW1EomU.js +1 -0
- package/dist/client/_nuxt/{CHcC_Ka1.js → BXZ5z1bG.js} +1 -1
- package/dist/client/_nuxt/BXl-Qilg.js +1 -0
- package/dist/client/_nuxt/BY-TUvya.js +1 -0
- package/dist/client/_nuxt/BZ4qjH1z.js +1 -0
- package/dist/client/_nuxt/B_7mSSNY.js +1 -0
- package/dist/client/_nuxt/{B9hcNGex.js → Ba6QCfRf.js} +1 -1
- package/dist/client/_nuxt/Bbt-fWo2.js +1 -0
- package/dist/client/_nuxt/BcOcwvcX.js +1 -0
- package/dist/client/_nuxt/{B66eQrDP.js → BceOnUsB.js} +1 -1
- package/dist/client/_nuxt/BekpkmYp.js +1 -0
- package/dist/client/_nuxt/{8zCoLDY8.js → BepIKhab.js} +1 -1
- package/dist/client/_nuxt/{CpRrwcwt.js → BfivnA6A.js} +1 -1
- package/dist/client/_nuxt/Bg-kzb6g.js +1 -0
- package/dist/client/_nuxt/Bi2Xjx-o.js +1 -0
- package/dist/client/_nuxt/Bid6LQhH.js +1 -0
- package/dist/client/_nuxt/BixDBq5F.js +1 -0
- package/dist/client/_nuxt/Bjjh7dxw.js +1 -0
- package/dist/client/_nuxt/BkR1g5rb.js +1 -0
- package/dist/client/_nuxt/{D-RymO5g.js → BknIz3MU.js} +1 -1
- package/dist/client/_nuxt/{D3CL8VSI.js → Bl1h29GH.js} +1 -1
- package/dist/client/_nuxt/Blx2zv3z.js +1 -0
- package/dist/client/_nuxt/BnLMxUhr.js +1 -0
- package/dist/client/_nuxt/BnZ6J9ez.js +1 -0
- package/dist/client/_nuxt/BoXegm-a.js +1 -0
- package/dist/client/_nuxt/BpWG_bgh.js +1 -0
- package/dist/client/_nuxt/{DNDvMORL.js → Bvotw-X0.js} +1 -1
- package/dist/client/_nuxt/Bw1r3vCz.js +1 -0
- package/dist/client/_nuxt/BxugDVxS.js +1 -0
- package/dist/client/_nuxt/BzEH12SI.js +1 -0
- package/dist/client/_nuxt/C-_shW-Y.js +1 -0
- package/dist/client/_nuxt/C1XDQQGZ.js +1 -0
- package/dist/client/_nuxt/C1YtDkjL.js +1 -0
- package/dist/client/_nuxt/{DymQr0nX.js → C1w2a3ep.js} +1 -1
- package/dist/client/_nuxt/C39BiMTA.js +1 -0
- package/dist/client/_nuxt/C3FkfJm5.js +1 -0
- package/dist/client/_nuxt/C3TFZlTA.js +1 -0
- package/dist/client/_nuxt/C3mMm8J8.js +1 -0
- package/dist/client/_nuxt/C3t2pwGQ.js +1 -0
- package/dist/client/_nuxt/C4-SGcC-.js +1 -0
- package/dist/client/_nuxt/C5AohmeQ.js +1 -0
- package/dist/client/_nuxt/C5wWYbrZ.js +1 -0
- package/dist/client/_nuxt/C7L56vO4.js +1 -0
- package/dist/client/_nuxt/C7gG9l05.js +1 -0
- package/dist/client/_nuxt/C8E1IXHE.js +1 -0
- package/dist/client/_nuxt/C9e09xm7.js +1 -0
- package/dist/client/_nuxt/CAQ2eGtk.js +1 -0
- package/dist/client/_nuxt/CCQEdssC.js +1 -0
- package/dist/client/_nuxt/CCbUEAxs.js +1 -0
- package/dist/client/_nuxt/CD_QflpE.js +1 -0
- package/dist/client/_nuxt/CGzGISHo.js +32 -0
- package/dist/client/_nuxt/CHVitPdg.js +1 -0
- package/dist/client/_nuxt/CJaU5se_.js +1 -0
- package/dist/client/_nuxt/CLEBXJYW.js +1 -0
- package/dist/client/_nuxt/{CmWLV2bY.js → CM8KxXT1.js} +1 -1
- package/dist/client/_nuxt/COJ4H7py.js +1 -0
- package/dist/client/_nuxt/COl1u60l.js +1 -0
- package/dist/client/_nuxt/{CbUnruJU.js → COyJrUc7.js} +1 -1
- package/dist/client/_nuxt/CQ5q8R2W.js +1 -0
- package/dist/client/_nuxt/CQPZbkWf.js +1 -0
- package/dist/client/_nuxt/CR_dl2Bk.js +1 -0
- package/dist/client/_nuxt/CSHBycmS.js +1 -0
- package/dist/client/_nuxt/CSHvh9SD.js +1 -0
- package/dist/client/_nuxt/CUnW07Te.js +1 -0
- package/dist/client/_nuxt/{CIiI48o2.js → CVw76BM1.js} +1 -1
- package/dist/client/_nuxt/CWGUrYGm.js +1 -0
- package/dist/client/_nuxt/CWgbWrzg.js +1 -0
- package/dist/client/_nuxt/CX-D33aM.js +1 -0
- package/dist/client/_nuxt/CXkZqcqC.js +1 -0
- package/dist/client/_nuxt/Cbu_jgUK.js +1 -0
- package/dist/client/_nuxt/Cc5clBb7.js +1 -0
- package/dist/client/_nuxt/{Bv-mwDEg.js → CdO5JTpU.js} +1 -1
- package/dist/client/_nuxt/CeaQPKDP.js +1 -0
- package/dist/client/_nuxt/CfQXZHmo.js +1 -0
- package/dist/client/_nuxt/Cg69lM4A.js +1 -0
- package/dist/client/_nuxt/{BTbGKmhu.js → CiNAsHKU.js} +1 -1
- package/dist/client/_nuxt/CjDtw9vr.js +1 -0
- package/dist/client/_nuxt/CjTSRSzG.js +1 -0
- package/dist/client/_nuxt/CkXjmgJE.js +1 -0
- package/dist/client/_nuxt/Cksrkzhi.js +1 -0
- package/dist/client/_nuxt/Cl11rDh_.js +1 -0
- package/dist/client/_nuxt/{IqKf4WGj.js → ClJifeiK.js} +1 -1
- package/dist/client/_nuxt/CmCqftbK.js +1 -0
- package/dist/client/_nuxt/CsSk9TLD.js +1 -0
- package/dist/client/_nuxt/CsiB4_CF.js +1 -0
- package/dist/client/_nuxt/CucaAMjX.js +1 -0
- package/dist/client/_nuxt/{Cqv5JV-q.js → CwjWoCRV.js} +1 -1
- package/dist/client/_nuxt/CyZx4btO.js +1 -0
- package/dist/client/_nuxt/CzouJOBO.js +1 -0
- package/dist/client/_nuxt/D08_rs9c.js +1 -0
- package/dist/client/_nuxt/D33VVPhb.js +1 -0
- package/dist/client/_nuxt/D3T736Ml.js +1 -0
- package/dist/client/_nuxt/{CQWsIgnU.js → D4h5O-jR.js} +1 -1
- package/dist/client/_nuxt/D8P4R8x9.js +1 -0
- package/dist/client/_nuxt/DBPt_AfP.js +1 -0
- package/dist/client/_nuxt/DBtIRQT_.js +1 -0
- package/dist/client/_nuxt/DCE3LsBG.js +1 -0
- package/dist/client/_nuxt/DDhM2Lry.js +1 -0
- package/dist/client/_nuxt/DEEqWFGm.js +1 -0
- package/dist/client/_nuxt/DERFIACx.js +1 -0
- package/dist/client/_nuxt/{D44NvAEk.js → DFAwn6Qs.js} +1 -1
- package/dist/client/_nuxt/DFERiEu9.js +1 -0
- package/dist/client/_nuxt/DHo0CJ0O.js +1 -0
- package/dist/client/_nuxt/{Dzwn3p-3.js → DJlmqQ1C.js} +1 -1
- package/dist/client/_nuxt/DKOGybHv.js +1 -0
- package/dist/client/_nuxt/DLdrzW0n.js +1 -0
- package/dist/client/_nuxt/DNTbO5Kf.js +1 -0
- package/dist/client/_nuxt/DPWDxuKt.js +1 -0
- package/dist/client/_nuxt/DPvbFsQx.js +1 -0
- package/dist/client/_nuxt/DRW-0cLl.js +1 -0
- package/dist/client/_nuxt/DSrUkfvF.js +1 -0
- package/dist/client/_nuxt/DTAJTTim.js +1 -0
- package/dist/client/_nuxt/DVMEJ2y_.js +1 -0
- package/dist/client/_nuxt/DWedfzmr.js +1 -0
- package/dist/client/_nuxt/{CmY0Y6Yh.js → DXbdFlpD.js} +1 -1
- package/dist/client/_nuxt/DYoNaHQp.js +1 -0
- package/dist/client/_nuxt/{yA8e6OR-.js → D_iqerNF.js} +1 -1
- package/dist/client/_nuxt/DaDNKYhP.js +1 -0
- package/dist/client/_nuxt/{CNRQ974Q.js → Dayu4EKP.js} +1 -1
- package/dist/client/_nuxt/DbcauaCG.js +1 -0
- package/dist/client/_nuxt/Dbxjm_CC.js +1 -0
- package/dist/client/_nuxt/Ddn3lr0y.js +1 -0
- package/dist/client/_nuxt/Dhn9LcZ4.js +1 -0
- package/dist/client/_nuxt/Dj6nwHGl.js +1 -0
- package/dist/client/_nuxt/DjCbjd0V.js +1 -0
- package/dist/client/_nuxt/DjP-tqRL.js +1 -0
- package/dist/client/_nuxt/DlaVQbPD.js +1 -0
- package/dist/client/_nuxt/DlqU7Mzb.js +1 -0
- package/dist/client/_nuxt/DnAB7knh.js +1 -0
- package/dist/client/_nuxt/Dp08fnRF.js +1 -0
- package/dist/client/_nuxt/DpGQfXhQ.js +1 -0
- package/dist/client/_nuxt/{s1PdnzAn.js → DqDt7uUl.js} +1 -1
- package/dist/client/_nuxt/Ds-gbosJ.js +1 -0
- package/dist/client/_nuxt/DsBKuouk.js +1 -0
- package/dist/client/_nuxt/DtFQj3wx.js +1 -0
- package/dist/client/_nuxt/Dtn5OO9k.js +1 -0
- package/dist/client/_nuxt/Du268qiB.js +1 -0
- package/dist/client/_nuxt/Du5NY7AG.js +1 -0
- package/dist/client/_nuxt/DxSadP1t.js +1 -0
- package/dist/client/_nuxt/{Da_8ueAw.js → DyGSH8sA.js} +1 -1
- package/dist/client/_nuxt/ISJeQQUc.js +1 -0
- package/dist/client/_nuxt/{Dtn98rcr.js → IuBKFhSY.js} +1 -1
- package/dist/client/_nuxt/{DZQMDcrx.js → L9t79GZl.js} +1 -1
- package/dist/client/_nuxt/LGGdnPYs.js +1 -0
- package/dist/client/_nuxt/MxEea5SM.js +1 -0
- package/dist/client/_nuxt/Olw6fvns.js +1 -0
- package/dist/client/_nuxt/R5DMG1SI.js +1 -0
- package/dist/client/_nuxt/RJ4jLoVH.js +1 -0
- package/dist/client/_nuxt/RvZl2ZSs.js +1 -0
- package/dist/client/_nuxt/{BSHf-0eb.js → SKMF96pI.js} +1 -1
- package/dist/client/_nuxt/SPD3sf1n.js +1 -0
- package/dist/client/_nuxt/{D9Bn7OQI.js → T-Tgc4AT.js} +1 -1
- package/dist/client/_nuxt/UP2u2qKn.js +1 -0
- package/dist/client/_nuxt/WlOKAcJ7.js +1 -0
- package/dist/client/_nuxt/XBlWyCtg.js +1 -0
- package/dist/client/_nuxt/{L9-HYnaW.js → YJb9dmdj.js} +1 -1
- package/dist/client/_nuxt/YSxxb8je.js +1 -0
- package/dist/client/_nuxt/a8RH-YUw.js +1 -0
- package/dist/client/_nuxt/aBZrgJR0.js +1 -0
- package/dist/client/_nuxt/{Bnbw1zOw.js → ahYVQIuB.js} +1 -1
- package/dist/client/_nuxt/{DJEtsjbi.js → ajMbGru0.js} +1 -1
- package/dist/client/_nuxt/{dZn0vQkf.js → bCA53EVm.js} +1 -1
- package/dist/client/_nuxt/bN70gL4F.js +1 -0
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/66990e06-bd43-4fcc-a366-b9ec546b2f39.json +1 -0
- package/dist/client/_nuxt/{CkqQx3Va.js → cPjAOO0u.js} +1 -1
- package/dist/client/_nuxt/eHy1PpK4.js +1 -0
- package/dist/client/_nuxt/{BINKOAKH.js → eg146-Ew.js} +1 -1
- package/dist/client/_nuxt/entry.8G-dVB4s.css +1 -0
- package/dist/client/_nuxt/error-404.BuAnUH8b.css +1 -0
- package/dist/client/_nuxt/error-500.DrCOIGHy.css +1 -0
- package/dist/client/_nuxt/fje9CFhw.js +1 -0
- package/dist/client/_nuxt/hegEt444.js +1 -0
- package/dist/client/_nuxt/ifBTmRxC.js +1 -0
- package/dist/client/_nuxt/jOnvO7K6.js +1 -0
- package/dist/client/_nuxt/jY9aw0fr.js +1 -0
- package/dist/client/_nuxt/{Bt50SWsh.js → kP2iUUCn.js} +1 -1
- package/dist/client/_nuxt/k_46elR7.js +1 -0
- package/dist/client/_nuxt/m4uW47V2.js +1 -0
- package/dist/client/_nuxt/mD5xMClh.js +1 -0
- package/dist/client/_nuxt/o8ODhS4a.js +1 -0
- package/dist/client/_nuxt/otdIdbsQ.js +1 -0
- package/dist/client/_nuxt/qVXJnTkO.js +1 -0
- package/dist/client/_nuxt/qmhIZ77x.js +1 -0
- package/dist/client/_nuxt/rAlqSFiP.js +1 -0
- package/dist/client/_nuxt/s0gpj0oJ.js +1 -0
- package/dist/client/_nuxt/sY1Cc3Se.js +1 -0
- package/dist/client/_nuxt/{DwFwdhDE.js → sdHcTMYB.js} +1 -1
- package/dist/client/_nuxt/tpHetfZQ.js +1 -0
- package/dist/client/_nuxt/ulE5f4OK.js +1 -0
- package/dist/client/_nuxt/xI-RfyKK.js +1 -0
- package/dist/client/_nuxt/{CpWBKVjh.js → xW4inM5L.js} +1 -1
- package/dist/client/_nuxt/ySlJ1b_l.js +1 -0
- package/dist/client/_nuxt/z307i-ZX.js +1 -0
- package/dist/client/_nuxt/{hdsyEllQ.js → zocC4JxJ.js} +1 -1
- package/dist/client/index.html +232 -224
- package/dist/module.d.mts +5 -0
- package/dist/module.d.ts +5 -0
- package/dist/module.json +1 -1
- package/dist/module.mjs +26 -21
- package/dist/registry.mjs +21 -11
- package/dist/runtime/components/ScriptAriaLoadingIndicator.vue +7 -0
- package/dist/runtime/components/ScriptCarbonAds.vue +12 -7
- package/dist/runtime/components/ScriptCrisp.vue +2 -2
- package/dist/runtime/components/ScriptGoogleAdsense.vue +15 -5
- package/dist/runtime/components/ScriptGoogleMaps.vue +3 -4
- package/dist/runtime/components/ScriptIntercom.vue +2 -2
- package/dist/runtime/components/ScriptLemonSqueezy.vue +1 -1
- package/dist/runtime/components/ScriptLoadingIndicator.vue +1 -1
- package/dist/runtime/components/ScriptStripePricingTable.vue +1 -2
- package/dist/runtime/components/ScriptVimeoPlayer.vue +5 -3
- package/dist/runtime/components/ScriptYouTubePlayer.vue +42 -7
- package/dist/runtime/composables/useScript.d.ts +1 -1
- package/dist/runtime/composables/useScript.js +3 -2
- package/dist/runtime/composables/useScriptEventPage.d.ts +1 -1
- package/dist/runtime/composables/useScriptEventPage.js +3 -1
- package/dist/runtime/composables/useScriptTriggerConsent.js +2 -1
- package/dist/runtime/registry/clarity.d.ts +2 -2
- package/dist/runtime/registry/cloudflare-web-analytics.d.ts +3 -3
- package/dist/runtime/registry/crisp.d.ts +7 -7
- package/dist/runtime/registry/fathom-analytics.d.ts +6 -6
- package/dist/runtime/registry/google-adsense.d.ts +7 -3
- package/dist/runtime/registry/google-adsense.js +21 -5
- package/dist/runtime/registry/google-analytics.d.ts +16 -6
- package/dist/runtime/registry/google-analytics.js +18 -20
- package/dist/runtime/registry/google-maps.d.ts +6 -6
- package/dist/runtime/registry/google-tag-manager.d.ts +28 -7
- package/dist/runtime/registry/google-tag-manager.js +7 -10
- package/dist/runtime/registry/hotjar.d.ts +3 -3
- package/dist/runtime/registry/intercom.d.ts +9 -9
- package/dist/runtime/registry/lemon-squeezy.d.ts +2 -2
- package/dist/runtime/registry/matomo-analytics.d.ts +9 -9
- package/dist/runtime/registry/meta-pixel.d.ts +2 -2
- package/dist/runtime/registry/npm.d.ts +5 -5
- package/dist/runtime/registry/npm.js +24 -8
- package/dist/runtime/registry/plausible-analytics.d.ts +3 -3
- package/dist/runtime/registry/segment.d.ts +3 -3
- package/dist/runtime/registry/snapchat-pixel.d.ts +71 -0
- package/dist/runtime/registry/snapchat-pixel.js +55 -0
- package/dist/runtime/registry/stripe.d.ts +3 -3
- package/dist/runtime/registry/umami-analytics.d.ts +37 -0
- package/dist/runtime/registry/umami-analytics.js +49 -0
- package/dist/runtime/registry/vimeo-player.d.ts +1 -1
- package/dist/runtime/registry/vimeo-player.js +1 -1
- package/dist/runtime/registry/x-pixel.d.ts +3 -3
- package/dist/runtime/registry/youtube-player.d.ts +1 -1
- package/dist/runtime/registry/youtube-player.js +1 -1
- package/dist/runtime/types.d.ts +4 -0
- package/dist/runtime/utils.d.ts +2 -2
- package/dist/runtime/utils.js +1 -1
- package/package.json +82 -72
- package/dist/client/_nuxt/-ALZ4IvE.js +0 -1
- package/dist/client/_nuxt/0e7srHXh.js +0 -1
- package/dist/client/_nuxt/2pWuV6-S.js +0 -1
- package/dist/client/_nuxt/35JD59R_.js +0 -1
- package/dist/client/_nuxt/4NJYcRSJ.js +0 -1
- package/dist/client/_nuxt/6UYsA25C.js +0 -32
- package/dist/client/_nuxt/8Uu6eIa-.js +0 -1
- package/dist/client/_nuxt/9xzcv9xf.js +0 -1
- package/dist/client/_nuxt/A13Lx_ye.js +0 -1
- package/dist/client/_nuxt/B-GI89LT.js +0 -1
- package/dist/client/_nuxt/B2bjgU-v.js +0 -1
- package/dist/client/_nuxt/B3Z_eaxm.js +0 -1
- package/dist/client/_nuxt/B4_rEpOs.js +0 -1
- package/dist/client/_nuxt/B5L7zzq-.js +0 -1
- package/dist/client/_nuxt/B74Y8nHz.js +0 -1
- package/dist/client/_nuxt/B8E-_56i.js +0 -1
- package/dist/client/_nuxt/B8E_5cfo.js +0 -1
- package/dist/client/_nuxt/B9Vj0mJK.js +0 -1
- package/dist/client/_nuxt/BDjtpMT8.js +0 -1
- package/dist/client/_nuxt/BFLt1xDp.js +0 -1
- package/dist/client/_nuxt/BGct0Hx7.js +0 -1
- package/dist/client/_nuxt/BGdveAQA.js +0 -1
- package/dist/client/_nuxt/BHpzmqOf.js +0 -1
- package/dist/client/_nuxt/BJNXdUBN.js +0 -1
- package/dist/client/_nuxt/BKbjiiqg.js +0 -1
- package/dist/client/_nuxt/BMwgFBEQ.js +0 -1
- package/dist/client/_nuxt/BN40hmum.js +0 -1
- package/dist/client/_nuxt/BNxDCkIA.js +0 -1
- package/dist/client/_nuxt/BSPpinrx.js +0 -1
- package/dist/client/_nuxt/BStEqDGx.js +0 -1
- package/dist/client/_nuxt/BT8b6B_-.js +0 -1
- package/dist/client/_nuxt/BTo9ix6S.js +0 -1
- package/dist/client/_nuxt/BVLG6Y-w.js +0 -1
- package/dist/client/_nuxt/BWgb8Pxw.js +0 -1
- package/dist/client/_nuxt/BWkuYGGO.js +0 -1
- package/dist/client/_nuxt/BWslPs4p.js +0 -1
- package/dist/client/_nuxt/BZRbnyjI.js +0 -1
- package/dist/client/_nuxt/B_R80ZlN.js +0 -1
- package/dist/client/_nuxt/BaLI2h1d.js +0 -1
- package/dist/client/_nuxt/BbccZ3y2.js +0 -1
- package/dist/client/_nuxt/BbzkbZ9e.js +0 -1
- package/dist/client/_nuxt/Bdprqoiu.js +0 -1
- package/dist/client/_nuxt/BeSffZBD.js +0 -1
- package/dist/client/_nuxt/Begb3drz.js +0 -1
- package/dist/client/_nuxt/Bexp5DGn.js +0 -1
- package/dist/client/_nuxt/BgqZeg96.js +0 -1
- package/dist/client/_nuxt/BhLNiG9c.js +0 -1
- package/dist/client/_nuxt/BhsLqr-4.js +0 -1
- package/dist/client/_nuxt/BjE2mIY4.js +0 -1
- package/dist/client/_nuxt/BjXeLqNd.js +0 -1
- package/dist/client/_nuxt/Bjs2cL5p.js +0 -1
- package/dist/client/_nuxt/BkG9CdHo.js +0 -1
- package/dist/client/_nuxt/Bpo8LMpD.js +0 -1
- package/dist/client/_nuxt/BrbOHqWv.js +0 -1
- package/dist/client/_nuxt/BwojPDJW.js +0 -1
- package/dist/client/_nuxt/BxJadH_W.js +0 -1
- package/dist/client/_nuxt/ByY1Guvr.js +0 -1
- package/dist/client/_nuxt/BzAMEn9Z.js +0 -1
- package/dist/client/_nuxt/BzaEo2Du.js +0 -1
- package/dist/client/_nuxt/BzwtH5UL.js +0 -1
- package/dist/client/_nuxt/C30t_gpS.js +0 -1
- package/dist/client/_nuxt/C3t61SNw.js +0 -1
- package/dist/client/_nuxt/C6J8XiCD.js +0 -1
- package/dist/client/_nuxt/CE0v8NN9.js +0 -1
- package/dist/client/_nuxt/CEjiMJLT.js +0 -1
- package/dist/client/_nuxt/CHZeBJpW.js +0 -1
- package/dist/client/_nuxt/CIxipgmy.js +0 -1
- package/dist/client/_nuxt/CJrM-UL-.js +0 -1
- package/dist/client/_nuxt/CJxt7p29.js +0 -1
- package/dist/client/_nuxt/CK56Z9cH.js +0 -1
- package/dist/client/_nuxt/CLmbwNS9.js +0 -1
- package/dist/client/_nuxt/CMOi41r9.js +0 -1
- package/dist/client/_nuxt/CN6rGqjK.js +0 -1
- package/dist/client/_nuxt/CNXuF1yM.js +0 -1
- package/dist/client/_nuxt/COtMjVi7.js +0 -1
- package/dist/client/_nuxt/CQO4gZEw.js +0 -1
- package/dist/client/_nuxt/CQzXS8_C.js +0 -1
- package/dist/client/_nuxt/CRR3mLlZ.js +0 -1
- package/dist/client/_nuxt/CSoQzgif.js +0 -1
- package/dist/client/_nuxt/CXmV_HiI.js +0 -1
- package/dist/client/_nuxt/CYyBA3kJ.js +0 -1
- package/dist/client/_nuxt/C_OO3DVV.js +0 -1
- package/dist/client/_nuxt/CcPoRNJz.js +0 -1
- package/dist/client/_nuxt/CcSEeikT.js +0 -1
- package/dist/client/_nuxt/ChDww4um.js +0 -1
- package/dist/client/_nuxt/ChEme8PX.js +0 -1
- package/dist/client/_nuxt/Ci-La1BS.js +0 -1
- package/dist/client/_nuxt/CiXlrwC7.js +0 -1
- package/dist/client/_nuxt/Ckz-YMxz.js +0 -1
- package/dist/client/_nuxt/Cn_j0ne6.js +0 -1
- package/dist/client/_nuxt/CwIbMU3B.js +0 -1
- package/dist/client/_nuxt/Cztwc-HH.js +0 -1
- package/dist/client/_nuxt/D0xWnrgR.js +0 -1
- package/dist/client/_nuxt/D0ybgVpa.js +0 -1
- package/dist/client/_nuxt/D2TqM893.js +0 -1
- package/dist/client/_nuxt/D4O64OTH.js +0 -1
- package/dist/client/_nuxt/D5gt1ch3.js +0 -1
- package/dist/client/_nuxt/D6HQHXJE.js +0 -1
- package/dist/client/_nuxt/D7v6OrNy.js +0 -1
- package/dist/client/_nuxt/D7z58M2W.js +0 -1
- package/dist/client/_nuxt/D8nBeWSR.js +0 -1
- package/dist/client/_nuxt/D9Icd2YK.js +0 -1
- package/dist/client/_nuxt/D9W_gRNE.js +0 -1
- package/dist/client/_nuxt/DA0ESIWO.js +0 -1
- package/dist/client/_nuxt/DBQeEorK.js +0 -1
- package/dist/client/_nuxt/DBxrVw_D.js +0 -1
- package/dist/client/_nuxt/DCRAZVCM.js +0 -1
- package/dist/client/_nuxt/DCcCncrU.js +0 -1
- package/dist/client/_nuxt/DDUKAZWS.js +0 -1
- package/dist/client/_nuxt/DES0gjzB.js +0 -1
- package/dist/client/_nuxt/DFIOpqzz.js +0 -1
- package/dist/client/_nuxt/DFW6HATB.js +0 -1
- package/dist/client/_nuxt/DH4N8IuU.js +0 -1
- package/dist/client/_nuxt/DIt9OTko.js +0 -1
- package/dist/client/_nuxt/DIvA8ll9.js +0 -1
- package/dist/client/_nuxt/DOAn35dn.js +0 -1
- package/dist/client/_nuxt/DPTZissz.js +0 -1
- package/dist/client/_nuxt/DQJjjPvk.js +0 -1
- package/dist/client/_nuxt/DQxx3LPD.js +0 -1
- package/dist/client/_nuxt/DVWcdiGS.js +0 -1
- package/dist/client/_nuxt/DWMP3yrW.js +0 -1
- package/dist/client/_nuxt/DWmkr0yC.js +0 -1
- package/dist/client/_nuxt/DWt6wkI-.js +0 -1
- package/dist/client/_nuxt/DZ4hUExO.js +0 -1
- package/dist/client/_nuxt/D_QQB6Yv.js +0 -1
- package/dist/client/_nuxt/DanlQboj.js +0 -1
- package/dist/client/_nuxt/DbXoA79R.js +0 -1
- package/dist/client/_nuxt/DfpIq38s.js +0 -1
- package/dist/client/_nuxt/Dk1rBueR.js +0 -1
- package/dist/client/_nuxt/DkpUthgY.js +0 -1
- package/dist/client/_nuxt/DlYXzDlu.js +0 -1
- package/dist/client/_nuxt/DmF4-xLG.js +0 -1
- package/dist/client/_nuxt/DmZ-uG0V.js +0 -1
- package/dist/client/_nuxt/Dnfm4U7b.js +0 -1
- package/dist/client/_nuxt/DnyWjya5.js +0 -1
- package/dist/client/_nuxt/DoiKbUTj.js +0 -1
- package/dist/client/_nuxt/DpVQgTom.js +0 -1
- package/dist/client/_nuxt/DsCg8CPl.js +0 -1
- package/dist/client/_nuxt/Dt1_zKdO.js +0 -1
- package/dist/client/_nuxt/DvQyZZSe.js +0 -1
- package/dist/client/_nuxt/DwU8c_yx.js +0 -1
- package/dist/client/_nuxt/Dwo6uFCY.js +0 -1
- package/dist/client/_nuxt/DzaHHFTY.js +0 -1
- package/dist/client/_nuxt/EZUUsui8.js +0 -1
- package/dist/client/_nuxt/F89DG-fP.js +0 -1
- package/dist/client/_nuxt/HNM5thJl.js +0 -1
- package/dist/client/_nuxt/I1uqSxRv.js +0 -1
- package/dist/client/_nuxt/IBB5Tl9j.js +0 -1
- package/dist/client/_nuxt/JbneklYT.js +0 -1
- package/dist/client/_nuxt/Jwd9j1ay.js +0 -1
- package/dist/client/_nuxt/Kxp7UmFj.js +0 -1
- package/dist/client/_nuxt/NKd-Y1zG.js +0 -1
- package/dist/client/_nuxt/NUI3YrRW.js +0 -1
- package/dist/client/_nuxt/NfFGm2lL.js +0 -1
- package/dist/client/_nuxt/NgWrSVUg.js +0 -1
- package/dist/client/_nuxt/OiuHoWY5.js +0 -1
- package/dist/client/_nuxt/S_yhxdK1.js +0 -1
- package/dist/client/_nuxt/Xse1gjxk.js +0 -1
- package/dist/client/_nuxt/ZJvK9Z2N.js +0 -1
- package/dist/client/_nuxt/aeT0-ak7.js +0 -1
- package/dist/client/_nuxt/bGS5FTDY.js +0 -1
- package/dist/client/_nuxt/builds/meta/fa3e7320-a292-4ebb-9b7b-648efbb081ed.json +0 -1
- package/dist/client/_nuxt/eCoydtrh.js +0 -1
- package/dist/client/_nuxt/entry.CZkCC1VG.css +0 -1
- package/dist/client/_nuxt/error-404.Cpz2uRRd.css +0 -1
- package/dist/client/_nuxt/error-500.fQnjp2ZY.css +0 -1
- package/dist/client/_nuxt/g_GSZ1hr.js +0 -1
- package/dist/client/_nuxt/i5HCB2tm.js +0 -1
- package/dist/client/_nuxt/j_FrBdja.js +0 -1
- package/dist/client/_nuxt/keK8bHwS.js +0 -1
- package/dist/client/_nuxt/mLcCfA0-.js +0 -1
- package/dist/client/_nuxt/nkNqggyT.js +0 -1
- package/dist/client/_nuxt/p-youoOz.js +0 -1
- package/dist/client/_nuxt/plSVBvJQ.js +0 -1
- package/dist/client/_nuxt/rAPcFIiw.js +0 -1
- package/dist/client/_nuxt/rf8nNrOk.js +0 -1
- package/dist/client/_nuxt/sH2JAGjN.js +0 -1
- package/dist/client/_nuxt/vFtNXPBc.js +0 -1
- package/dist/client/_nuxt/w1el_4yc.js +0 -1
- package/dist/client/_nuxt/yLioyJ2E.js +0 -1
package/dist/module.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as _nuxt_schema from '@nuxt/schema';
|
|
2
|
+
import { FetchOptions } from 'ofetch';
|
|
2
3
|
import { NuxtConfigScriptRegistry, NuxtUseScriptOptionsSerializable, NuxtUseScriptInput, RegistryScripts } from '../dist/runtime/types.js';
|
|
3
4
|
|
|
4
5
|
interface ModuleOptions {
|
|
@@ -33,6 +34,10 @@ interface ModuleOptions {
|
|
|
33
34
|
* @default false
|
|
34
35
|
*/
|
|
35
36
|
fallbackOnSrcOnBundleFail?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Configure the fetch options used for downloading scripts.
|
|
39
|
+
*/
|
|
40
|
+
fetchOptions?: FetchOptions;
|
|
36
41
|
};
|
|
37
42
|
/**
|
|
38
43
|
* Whether the module is enabled.
|
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { useNuxt, useLogger, addDevServerHandler, tryUseNuxt, createResolver, addTemplate, logger as logger$1, defineNuxtModule, addImportsDir, addComponentsDir, addImports, addPluginTemplate, addBuildPlugin, hasNuxtModule } from '@nuxt/kit';
|
|
1
|
+
import { useNuxt, useLogger, addDevServerHandler, tryUseNuxt, createResolver, addTemplate, logger as logger$1, defineNuxtModule, resolvePath, addImportsDir, addComponentsDir, addImports, addPluginTemplate, addBuildPlugin, hasNuxtModule } from '@nuxt/kit';
|
|
2
2
|
import { resolvePackageJSON, readPackageJSON } from 'pkg-types';
|
|
3
3
|
import { lt } from 'semver';
|
|
4
|
-
import { resolvePath } from 'mlly';
|
|
5
4
|
import { join, resolve, relative } from 'pathe';
|
|
6
5
|
import { existsSync } from 'node:fs';
|
|
7
6
|
import fsp from 'node:fs/promises';
|
|
@@ -11,15 +10,14 @@ import { asyncWalk, walk } from 'estree-walker';
|
|
|
11
10
|
import { joinURL, parseURL, parseQuery, hasProtocol } from 'ufo';
|
|
12
11
|
import { hash } from 'ohash';
|
|
13
12
|
import { colors } from 'consola/utils';
|
|
13
|
+
import { fetch, $fetch } from 'ofetch';
|
|
14
14
|
import { lazyEventHandler, eventHandler, createError } from 'h3';
|
|
15
|
-
import { fetch as fetch$1 } from 'ofetch';
|
|
16
15
|
import { defu } from 'defu';
|
|
17
16
|
import { createStorage } from 'unstorage';
|
|
18
17
|
import fsDriver from 'unstorage/drivers/fs-lite';
|
|
19
18
|
import { pathToFileURL } from 'node:url';
|
|
20
19
|
import { isCI, provider } from 'std-env';
|
|
21
20
|
import { registry } from './registry.mjs';
|
|
22
|
-
import 'third-party-capital';
|
|
23
21
|
|
|
24
22
|
const DEVTOOLS_UI_ROUTE = "/__nuxt-scripts";
|
|
25
23
|
const DEVTOOLS_UI_LOCAL_PORT = 3300;
|
|
@@ -91,7 +89,7 @@ function setupPublicAssetStrategy(options = {}) {
|
|
|
91
89
|
const key = `bundle:${filename}`;
|
|
92
90
|
let res = await storage.getItemRaw(key);
|
|
93
91
|
if (!res) {
|
|
94
|
-
res = await fetch
|
|
92
|
+
res = await fetch(scriptDescriptor.src).then((r) => r.arrayBuffer()).then((r) => Buffer.from(r));
|
|
95
93
|
await storage.setItemRaw(key, res);
|
|
96
94
|
}
|
|
97
95
|
return res;
|
|
@@ -164,7 +162,7 @@ function normalizeScriptData(src, assetsBaseURL = "/_scripts") {
|
|
|
164
162
|
}
|
|
165
163
|
return { url: src };
|
|
166
164
|
}
|
|
167
|
-
async function downloadScript(opts, renderedScript) {
|
|
165
|
+
async function downloadScript(opts, renderedScript, fetchOptions) {
|
|
168
166
|
const { src, url, filename } = opts;
|
|
169
167
|
if (src === url || !filename) {
|
|
170
168
|
return;
|
|
@@ -186,15 +184,15 @@ async function downloadScript(opts, renderedScript) {
|
|
|
186
184
|
}
|
|
187
185
|
let encoding;
|
|
188
186
|
let size = 0;
|
|
189
|
-
res = await fetch(src).then((r) => {
|
|
187
|
+
res = await $fetch.raw(src, { ...fetchOptions, responseType: "arrayBuffer" }).then(async (r) => {
|
|
190
188
|
if (!r.ok) {
|
|
191
189
|
throw new Error(`Failed to fetch ${src}`);
|
|
192
190
|
}
|
|
193
191
|
encoding = r.headers.get("content-encoding");
|
|
194
192
|
const contentLength = r.headers.get("content-length");
|
|
195
193
|
size = contentLength ? Number(contentLength) / 1024 : 0;
|
|
196
|
-
return r.arrayBuffer();
|
|
197
|
-
})
|
|
194
|
+
return Buffer.from(r._data || await r.arrayBuffer());
|
|
195
|
+
});
|
|
198
196
|
await storage.setItemRaw(`bundle:${filename}`, res);
|
|
199
197
|
size = size || res.length / 1024;
|
|
200
198
|
logger.info(`Downloading script ${colors.gray(`${src} \u2192 ${filename} (${size.toFixed(2)} kB ${encoding})`)}`);
|
|
@@ -325,7 +323,7 @@ function NuxtScriptBundleTransformer(options = {
|
|
|
325
323
|
const { url: _url, filename } = normalizeScriptData(src, options.assetsBaseURL);
|
|
326
324
|
let url = _url;
|
|
327
325
|
try {
|
|
328
|
-
await downloadScript({ src, url, filename }, renderedScript);
|
|
326
|
+
await downloadScript({ src, url, filename }, renderedScript, options.fetchOptions);
|
|
329
327
|
} catch (e) {
|
|
330
328
|
if (options.fallbackOnSrcOnBundleFail) {
|
|
331
329
|
logger.warn(`[Nuxt Scripts: Bundle Transformer] Failed to bundle ${src}. Fallback to remote loading.`);
|
|
@@ -336,9 +334,9 @@ function NuxtScriptBundleTransformer(options = {
|
|
|
336
334
|
}
|
|
337
335
|
if (src === url) {
|
|
338
336
|
if (src && src.startsWith("/"))
|
|
339
|
-
|
|
337
|
+
logger.warn(`[Nuxt Scripts: Bundle Transformer] Relative scripts are already bundled. Skipping bundling for \`${src}\`.`);
|
|
340
338
|
else
|
|
341
|
-
|
|
339
|
+
logger.warn(`[Nuxt Scripts: Bundle Transformer] Failed to bundle ${src}.`);
|
|
342
340
|
}
|
|
343
341
|
if (scriptSrcNode) {
|
|
344
342
|
s.overwrite(scriptSrcNode.start, scriptSrcNode.end, `'${url}'`);
|
|
@@ -546,6 +544,16 @@ const module = defineNuxtModule({
|
|
|
546
544
|
defaultScriptOptions: {
|
|
547
545
|
trigger: "onNuxtReady"
|
|
548
546
|
},
|
|
547
|
+
assets: {
|
|
548
|
+
fetchOptions: {
|
|
549
|
+
retry: 3,
|
|
550
|
+
// Specifies the number of retry attempts for failed fetches.
|
|
551
|
+
retryDelay: 2e3,
|
|
552
|
+
// Specifies the delay (in milliseconds) between retry attempts.
|
|
553
|
+
timeout: 15e3
|
|
554
|
+
// Configures the maximum time (in milliseconds) allowed for each fetch attempt.
|
|
555
|
+
}
|
|
556
|
+
},
|
|
549
557
|
enabled: true,
|
|
550
558
|
debug: false
|
|
551
559
|
},
|
|
@@ -553,8 +561,7 @@ const module = defineNuxtModule({
|
|
|
553
561
|
const { resolve } = createResolver(import.meta.url);
|
|
554
562
|
const { version, name } = await readPackageJSON(resolve("../package.json"));
|
|
555
563
|
nuxt.options.alias["#nuxt-scripts-validator"] = resolve(`./runtime/validation/${nuxt.options.dev || nuxt.options._prepare ? "valibot" : "mock"}`);
|
|
556
|
-
nuxt.options.alias["#nuxt-scripts"] = resolve("./runtime
|
|
557
|
-
nuxt.options.alias["#nuxt-scripts-utils"] = resolve("./runtime/utils");
|
|
564
|
+
nuxt.options.alias["#nuxt-scripts"] = resolve("./runtime");
|
|
558
565
|
logger.level = config.debug || nuxt.options.debug ? 4 : 3;
|
|
559
566
|
if (!config.enabled) {
|
|
560
567
|
logger.debug("The module is disabled, skipping setup.");
|
|
@@ -569,9 +576,6 @@ const module = defineNuxtModule({
|
|
|
569
576
|
logger.warn(`Nuxt Scripts recommends Unhead >= 1.11.5, you are using v${unheadVersion}. Please run \`nuxi upgrade --clean\` to upgrade...`);
|
|
570
577
|
}
|
|
571
578
|
}
|
|
572
|
-
nuxt.options.alias["#nuxt-scripts-validator"] = resolve(`./runtime/validation/${nuxt.options.dev || nuxt.options._prepare ? "valibot" : "mock"}`);
|
|
573
|
-
nuxt.options.alias["#nuxt-scripts"] = resolve("./runtime/types");
|
|
574
|
-
nuxt.options.alias["#nuxt-scripts-utils"] = resolve("./runtime/utils");
|
|
575
579
|
nuxt.options.runtimeConfig["nuxt-scripts"] = { version };
|
|
576
580
|
nuxt.options.runtimeConfig.public["nuxt-scripts"] = {
|
|
577
581
|
// expose for devtools
|
|
@@ -603,17 +607,17 @@ const module = defineNuxtModule({
|
|
|
603
607
|
let types = `
|
|
604
608
|
declare module '#app' {
|
|
605
609
|
interface NuxtApp {
|
|
606
|
-
$scripts: Record<${[...Object.keys(config.globals || {}), ...Object.keys(config.registry || {})].map((k) => `'${k}'`).concat(["string"]).join(" | ")},
|
|
607
|
-
_scripts: Record<string, (import('#nuxt-scripts').
|
|
610
|
+
$scripts: Record<${[...Object.keys(config.globals || {}), ...Object.keys(config.registry || {})].map((k) => `'${k}'`).concat(["string"]).join(" | ")}, (import('#nuxt-scripts/types').UseScriptContext<any>)>
|
|
611
|
+
_scripts: Record<string, (import('#nuxt-scripts/types').UseScriptContext<any>)>
|
|
608
612
|
}
|
|
609
613
|
interface RuntimeNuxtHooks {
|
|
610
|
-
'scripts:updated': (ctx: { scripts: Record<string, (import('#nuxt-scripts').
|
|
614
|
+
'scripts:updated': (ctx: { scripts: Record<string, (import('#nuxt-scripts/types').UseScriptContext<any>)> }) => void | Promise<void>
|
|
611
615
|
}
|
|
612
616
|
}
|
|
613
617
|
`;
|
|
614
618
|
if (newScripts.length) {
|
|
615
619
|
types = `${types}
|
|
616
|
-
declare module '#nuxt-scripts' {
|
|
620
|
+
declare module '#nuxt-scripts/types' {
|
|
617
621
|
type NuxtUseScriptOptions = Omit<import('${typesPath}').NuxtUseScriptOptions, 'use' | 'beforeInit'>
|
|
618
622
|
interface ScriptRegistry {
|
|
619
623
|
${newScripts.map((i) => {
|
|
@@ -649,6 +653,7 @@ ${newScripts.map((i) => {
|
|
|
649
653
|
},
|
|
650
654
|
assetsBaseURL: config.assets?.prefix,
|
|
651
655
|
fallbackOnSrcOnBundleFail: config.assets?.fallbackOnSrcOnBundleFail,
|
|
656
|
+
fetchOptions: config.assets?.fetchOptions,
|
|
652
657
|
renderedScript
|
|
653
658
|
}));
|
|
654
659
|
nuxt.hooks.hook("build:done", async () => {
|
package/dist/registry.mjs
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { joinURL, withQuery, withBase } from 'ufo';
|
|
2
|
-
import { GoogleTagManager, GoogleAnalytics } from 'third-party-capital';
|
|
3
2
|
|
|
4
3
|
const registry = (resolve) => {
|
|
5
4
|
resolve = resolve || ((s) => s);
|
|
@@ -84,6 +83,16 @@ const registry = (resolve) => {
|
|
|
84
83
|
from: resolve("./runtime/registry/x-pixel")
|
|
85
84
|
}
|
|
86
85
|
},
|
|
86
|
+
{
|
|
87
|
+
label: "Snapchat Pixel",
|
|
88
|
+
src: "https://sc-static.net/scevent.min.js",
|
|
89
|
+
category: "tracking",
|
|
90
|
+
logo: '<svg width="50" height="50" viewBox="147.353 39.286 514.631 514.631" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"><path style="fill:#FFFC00;" d="M147.553,423.021v0.023c0.308,11.424,0.403,22.914,2.33,34.268 c2.042,12.012,4.961,23.725,10.53,34.627c7.529,14.756,17.869,27.217,30.921,37.396c9.371,7.309,19.608,13.111,30.94,16.771 c16.524,5.33,33.571,7.373,50.867,7.473c10.791,0.068,21.575,0.338,32.37,0.293c78.395-0.33,156.792,0.566,235.189-0.484 c10.403-0.141,20.636-1.41,30.846-3.277c19.569-3.582,36.864-11.932,51.661-25.133c17.245-15.381,28.88-34.205,34.132-56.924 c3.437-14.85,4.297-29.916,4.444-45.035v-3.016c0-1.17-0.445-256.892-0.486-260.272c-0.115-9.285-0.799-18.5-2.54-27.636 c-2.117-11.133-5.108-21.981-10.439-32.053c-5.629-10.641-12.68-20.209-21.401-28.57c-13.359-12.81-28.775-21.869-46.722-26.661 c-16.21-4.327-32.747-5.285-49.405-5.27c-0.027-0.004-0.09-0.173-0.094-0.255H278.56c-0.005,0.086-0.008,0.172-0.014,0.255 c-9.454,0.173-18.922,0.102-28.328,1.268c-10.304,1.281-20.509,3.21-30.262,6.812c-15.362,5.682-28.709,14.532-40.11,26.347 c-12.917,13.386-22.022,28.867-26.853,46.894c-4.31,16.084-5.248,32.488-5.271,49.008"/><path style="fill:#FFFFFF;" d="M407.001,473.488c-1.068,0-2.087-0.039-2.862-0.076c-0.615,0.053-1.25,0.076-1.886,0.076 c-22.437,0-37.439-10.607-50.678-19.973c-9.489-6.703-18.438-13.031-28.922-14.775c-5.149-0.854-10.271-1.287-15.22-1.287 c-8.917,0-15.964,1.383-21.109,2.389c-3.166,0.617-5.896,1.148-8.006,1.148c-2.21,0-4.895-0.49-6.014-4.311 c-0.887-3.014-1.523-5.934-2.137-8.746c-1.536-7.027-2.65-11.316-5.281-11.723c-28.141-4.342-44.768-10.738-48.08-18.484 c-0.347-0.814-0.541-1.633-0.584-2.443c-0.129-2.309,1.501-4.334,3.777-4.711c22.348-3.68,42.219-15.492,59.064-35.119 c13.049-15.195,19.457-29.713,20.145-31.316c0.03-0.072,0.065-0.148,0.101-0.217c3.247-6.588,3.893-12.281,1.926-16.916 c-3.626-8.551-15.635-12.361-23.58-14.882c-1.976-0.625-3.845-1.217-5.334-1.808c-7.043-2.782-18.626-8.66-17.083-16.773 c1.124-5.916,8.949-10.036,15.273-10.036c1.756,0,3.312,0.308,4.622,0.923c7.146,3.348,13.575,5.045,19.104,5.045 c6.876,0,10.197-2.618,11-3.362c-0.198-3.668-0.44-7.546-0.674-11.214c0-0.004-0.005-0.048-0.005-0.048 c-1.614-25.675-3.627-57.627,4.546-75.95c24.462-54.847,76.339-59.112,91.651-59.112c0.408,0,6.674-0.062,6.674-0.062 c0.283-0.005,0.59-0.009,0.908-0.009c15.354,0,67.339,4.27,91.816,59.15c8.173,18.335,6.158,50.314,4.539,76.016l-0.076,1.23 c-0.222,3.49-0.427,6.793-0.6,9.995c0.756,0.696,3.795,3.096,9.978,3.339c5.271-0.202,11.328-1.891,17.998-5.014 c2.062-0.968,4.345-1.169,5.895-1.169c2.343,0,4.727,0.456,6.714,1.285l0.106,0.041c5.66,2.009,9.367,6.024,9.447,10.242 c0.071,3.932-2.851,9.809-17.223,15.485c-1.472,0.583-3.35,1.179-5.334,1.808c-7.952,2.524-19.951,6.332-23.577,14.878 c-1.97,4.635-1.322,10.326,1.926,16.912c0.036,0.072,0.067,0.145,0.102,0.221c1,2.344,25.205,57.535,79.209,66.432 c2.275,0.379,3.908,2.406,3.778,4.711c-0.048,0.828-0.248,1.656-0.598,2.465c-3.289,7.703-19.915,14.09-48.064,18.438 c-2.642,0.408-3.755,4.678-5.277,11.668c-0.63,2.887-1.271,5.717-2.146,8.691c-0.819,2.797-2.641,4.164-5.567,4.164h-0.441 c-1.905,0-4.604-0.346-8.008-1.012c-5.95-1.158-12.623-2.236-21.109-2.236c-4.948,0-10.069,0.434-15.224,1.287 c-10.473,1.744-19.421,8.062-28.893,14.758C444.443,462.88,429.436,473.488,407.001,473.488"/><path style="fill:#020202;" d="M408.336,124.235c14.455,0,64.231,3.883,87.688,56.472c7.724,17.317,5.744,48.686,4.156,73.885 c-0.248,3.999-0.494,7.875-0.694,11.576l-0.084,1.591l1.062,1.185c0.429,0.476,4.444,4.672,13.374,5.017l0.144,0.008l0.15-0.003 c5.904-0.225,12.554-2.059,19.776-5.442c1.064-0.498,2.48-0.741,3.978-0.741c1.707,0,3.521,0.321,5.017,0.951l0.226,0.09 c3.787,1.327,6.464,3.829,6.505,6.093c0.022,1.28-0.935,5.891-14.359,11.194c-1.312,0.518-3.039,1.069-5.041,1.7 c-8.736,2.774-21.934,6.96-26.376,17.427c-2.501,5.896-1.816,12.854,2.034,20.678c1.584,3.697,26.52,59.865,82.631,69.111 c-0.011,0.266-0.079,0.557-0.229,0.9c-0.951,2.24-6.996,9.979-44.612,15.783c-5.886,0.902-7.328,7.5-9,15.17 c-0.604,2.746-1.218,5.518-2.062,8.381c-0.258,0.865-0.306,0.914-1.233,0.914c-0.128,0-0.278,0-0.442,0 c-1.668,0-4.2-0.346-7.135-0.922c-5.345-1.041-12.647-2.318-21.982-2.318c-5.21,0-10.577,0.453-15.962,1.352 c-11.511,1.914-20.872,8.535-30.786,15.543c-13.314,9.408-27.075,19.143-48.071,19.143c-0.917,0-1.812-0.031-2.709-0.076 l-0.236-0.01l-0.237,0.018c-0.515,0.045-1.034,0.068-1.564,0.068c-20.993,0-34.76-9.732-48.068-19.143 c-9.916-7.008-19.282-13.629-30.791-15.543c-5.38-0.896-10.752-1.352-15.959-1.352c-9.333,0-16.644,1.428-21.978,2.471 c-2.935,0.574-5.476,1.066-7.139,1.066c-1.362,0-1.388-0.08-1.676-1.064c-0.844-2.865-1.461-5.703-2.062-8.445 c-1.676-7.678-3.119-14.312-9.002-15.215c-37.613-5.809-43.659-13.561-44.613-15.795c-0.149-0.352-0.216-0.652-0.231-0.918 c56.11-9.238,81.041-65.408,82.63-69.119c3.857-7.818,4.541-14.775,2.032-20.678c-4.442-10.461-17.638-14.653-26.368-17.422 c-2.007-0.635-3.735-1.187-5.048-1.705c-11.336-4.479-14.823-8.991-14.305-11.725c0.601-3.153,6.067-6.359,10.837-6.359 c1.072,0,2.012,0.173,2.707,0.498c7.747,3.631,14.819,5.472,21.022,5.472c9.751,0,14.091-4.537,14.557-5.055l1.057-1.182 l-0.085-1.583c-0.197-3.699-0.44-7.574-0.696-11.565c-1.583-25.205-3.563-56.553,4.158-73.871 c23.37-52.396,72.903-56.435,87.525-56.435c0.36,0,6.717-0.065,6.717-0.065C407.744,124.239,408.033,124.235,408.336,124.235 M408.336,115.197h-0.017c-0.333,0-0.646,0-0.944,0.004c-2.376,0.024-6.282,0.062-6.633,0.066c-8.566,0-25.705,1.21-44.115,9.336 c-10.526,4.643-19.994,10.921-28.14,18.66c-9.712,9.221-17.624,20.59-23.512,33.796c-8.623,19.336-6.576,51.905-4.932,78.078 l0.006,0.041c0.176,2.803,0.361,5.73,0.53,8.582c-1.265,0.581-3.316,1.194-6.339,1.194c-4.864,0-10.648-1.555-17.187-4.619 c-1.924-0.896-4.12-1.349-6.543-1.349c-3.893,0-7.997,1.146-11.557,3.239c-4.479,2.63-7.373,6.347-8.159,10.468 c-0.518,2.726-0.493,8.114,5.492,13.578c3.292,3.008,8.128,5.782,14.37,8.249c1.638,0.645,3.582,1.261,5.641,1.914 c7.145,2.271,17.959,5.702,20.779,12.339c1.429,3.365,0.814,7.793-1.823,13.145c-0.069,0.146-0.138,0.289-0.201,0.439 c-0.659,1.539-6.807,15.465-19.418,30.152c-7.166,8.352-15.059,15.332-23.447,20.752c-10.238,6.617-21.316,10.943-32.923,12.855 c-4.558,0.748-7.813,4.809-7.559,9.424c0.078,1.33,0.39,2.656,0.931,3.939c0.004,0.008,0.009,0.016,0.013,0.023 c1.843,4.311,6.116,7.973,13.063,11.203c8.489,3.943,21.185,7.26,37.732,9.855c0.836,1.59,1.704,5.586,2.305,8.322 c0.629,2.908,1.285,5.898,2.22,9.074c1.009,3.441,3.626,7.553,10.349,7.553c2.548,0,5.478-0.574,8.871-1.232 c4.969-0.975,11.764-2.305,20.245-2.305c4.702,0,9.575,0.414,14.48,1.229c9.455,1.574,17.606,7.332,27.037,14 c13.804,9.758,29.429,20.803,53.302,20.803c0.651,0,1.304-0.021,1.949-0.066c0.789,0.037,1.767,0.066,2.799,0.066 c23.88,0,39.501-11.049,53.29-20.799l0.022-0.02c9.433-6.66,17.575-12.41,27.027-13.984c4.903-0.814,9.775-1.229,14.479-1.229 c8.102,0,14.517,1.033,20.245,2.15c3.738,0.736,6.643,1.09,8.872,1.09l0.218,0.004h0.226c4.917,0,8.53-2.699,9.909-7.422 c0.916-3.109,1.57-6.029,2.215-8.986c0.562-2.564,1.46-6.674,2.296-8.281c16.558-2.6,29.249-5.91,37.739-9.852 c6.931-3.215,11.199-6.873,13.053-11.166c0.556-1.287,0.881-2.621,0.954-3.979c0.261-4.607-2.999-8.676-7.56-9.424 c-51.585-8.502-74.824-61.506-75.785-63.758c-0.062-0.148-0.132-0.295-0.205-0.438c-2.637-5.354-3.246-9.777-1.816-13.148 c2.814-6.631,13.621-10.062,20.771-12.332c2.07-0.652,4.021-1.272,5.646-1.914c7.039-2.78,12.07-5.796,15.389-9.221 c3.964-4.083,4.736-7.995,4.688-10.555c-0.121-6.194-4.856-11.698-12.388-14.393c-2.544-1.052-5.445-1.607-8.399-1.607 c-2.011,0-4.989,0.276-7.808,1.592c-6.035,2.824-11.441,4.368-16.082,4.588c-2.468-0.125-4.199-0.66-5.32-1.171 c0.141-2.416,0.297-4.898,0.458-7.486l0.067-1.108c1.653-26.19,3.707-58.784-4.92-78.134c-5.913-13.253-13.853-24.651-23.604-33.892 c-8.178-7.744-17.678-14.021-28.242-18.661C434.052,116.402,416.914,115.197,408.336,115.197"/><rect x="147.553" y="39.443" style="fill:none;" width="514.231" height="514.23"/></svg>',
|
|
91
|
+
import: {
|
|
92
|
+
name: "useScriptSnapchatPixel",
|
|
93
|
+
from: resolve("./runtime/registry/snapchat-pixel")
|
|
94
|
+
}
|
|
95
|
+
},
|
|
87
96
|
// ads
|
|
88
97
|
{
|
|
89
98
|
label: "Google Adsense",
|
|
@@ -230,11 +239,7 @@ const registry = (resolve) => {
|
|
|
230
239
|
},
|
|
231
240
|
logo: `<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 256 256"><path fill="#8AB4F8" d="m150.262 245.516l-44.437-43.331l95.433-97.454l46.007 45.091z"/><path fill="#4285F4" d="M150.45 53.938L106.176 8.731L9.36 104.629c-12.48 12.48-12.48 32.713 0 45.207l95.36 95.986l45.09-42.182l-72.654-76.407z"/><path fill="#8AB4F8" d="m246.625 105.37l-96-96c-12.494-12.494-32.756-12.494-45.25 0c-12.495 12.495-12.495 32.757 0 45.252l96 96c12.494 12.494 32.756 12.494 45.25 0c12.495-12.495 12.495-32.757 0-45.251"/><circle cx="127.265" cy="224.731" r="31.273" fill="#246FDB"/></svg>`,
|
|
232
241
|
scriptBundling(options) {
|
|
233
|
-
|
|
234
|
-
const mainScript = data.scripts?.find(({ key }) => key === "gtag");
|
|
235
|
-
if (mainScript && "url" in mainScript && mainScript.url)
|
|
236
|
-
return mainScript.url;
|
|
237
|
-
return false;
|
|
242
|
+
return withQuery("https://www.googletagmanager.com/gtag/js", { id: options?.id, l: options?.l });
|
|
238
243
|
}
|
|
239
244
|
},
|
|
240
245
|
{
|
|
@@ -246,11 +251,16 @@ const registry = (resolve) => {
|
|
|
246
251
|
},
|
|
247
252
|
logo: `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" width="192px" height="192px" viewBox="0 0 192 192" enable-background="new 0 0 192 192" xml:space="preserve"><rect x="0" y="0" fill="none" width="192" height="192"/><g><g><path fill="#F9AB00" d="M130,29v132c0,14.77,10.19,23,21,23c10,0,21-7,21-23V30c0-13.54-10-22-21-22S130,17.33,130,29z"/></g><g><path fill="#E37400" d="M75,96v65c0,14.77,10.19,23,21,23c10,0,21-7,21-23V97c0-13.54-10-22-21-22S75,84.33,75,96z"/></g><g><circle fill="#E37400" cx="41" cy="163" r="21"/></g></g></svg>`,
|
|
248
253
|
scriptBundling(options) {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
+
return withQuery("https://www.googletagmanager.com/gtag/js", { id: options?.id, l: options?.l });
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
label: "Umami Analytics",
|
|
259
|
+
category: "analytics",
|
|
260
|
+
logo: `<svg xmlns="http://www.w3.org/2000/svg" width="96" height="96" viewBox="0 0 24 24"><path fill="currentColor" d="M2.203 8.611H.857a.845.845 0 0 0-.841.841v.858a13 13 0 0 0-.016.6c0 6.627 5.373 12 12 12c6.527 0 11.837-5.212 11.996-11.701c0-.025.004-.05.004-.075V9.452a.845.845 0 0 0-.841-.841h-1.346c-1.159-4.329-5.112-7.521-9.805-7.521S3.363 4.282 2.203 8.611m18.444 0H3.37c1.127-3.702 4.57-6.399 8.638-6.399c4.069 0 7.512 2.697 8.639 6.399"/></svg>`,
|
|
261
|
+
import: {
|
|
262
|
+
name: "useScriptUmamiAnalytics",
|
|
263
|
+
from: resolve("./runtime/registry/umami-analytics")
|
|
254
264
|
}
|
|
255
265
|
}
|
|
256
266
|
];
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { withQuery } from 'ufo'
|
|
3
|
+
import { computed, onBeforeUnmount, onMounted, ref } from 'vue'
|
|
3
4
|
import { useScriptTriggerElement } from '../composables/useScriptTriggerElement'
|
|
4
|
-
import {
|
|
5
|
-
import type { ElementScriptTrigger } from '#nuxt-scripts'
|
|
5
|
+
import type { ElementScriptTrigger } from '#nuxt-scripts/types'
|
|
6
6
|
|
|
7
7
|
const props = defineProps<{
|
|
8
8
|
serve: string
|
|
9
9
|
placement: string
|
|
10
|
+
format: string
|
|
10
11
|
/**
|
|
11
12
|
* Defines the trigger event to load the script.
|
|
12
13
|
*/
|
|
@@ -29,19 +30,23 @@ function loadCarbon() {
|
|
|
29
30
|
}
|
|
30
31
|
status.value = 'loading'
|
|
31
32
|
const script = document.createElement('script')
|
|
32
|
-
script.setAttribute('type', 'text/javascript')
|
|
33
33
|
script.setAttribute('src', withQuery('https://cdn.carbonads.com/carbon.js', {
|
|
34
34
|
serve: props.serve,
|
|
35
35
|
placement: props.placement,
|
|
36
|
+
format: props.format,
|
|
36
37
|
}))
|
|
37
38
|
script.setAttribute('id', attrId)
|
|
38
39
|
script.onerror = (err) => {
|
|
39
|
-
status.value
|
|
40
|
-
|
|
40
|
+
if (status.value !== 'error') {
|
|
41
|
+
status.value = 'error'
|
|
42
|
+
emit('error', err)
|
|
43
|
+
}
|
|
41
44
|
}
|
|
42
45
|
script.onload = () => {
|
|
43
|
-
status.value
|
|
44
|
-
|
|
46
|
+
if (status.value !== 'loaded') {
|
|
47
|
+
status.value = 'loaded'
|
|
48
|
+
emit('ready', script)
|
|
49
|
+
}
|
|
45
50
|
}
|
|
46
51
|
carbonadsEl.value.appendChild(script)
|
|
47
52
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
+
import { ref, onMounted, onBeforeUnmount, watch, computed } from 'vue'
|
|
2
3
|
import { useScriptTriggerElement } from '../composables/useScriptTriggerElement'
|
|
3
4
|
import { useScriptCrisp } from '../registry/crisp'
|
|
4
|
-
import {
|
|
5
|
-
import type { ElementScriptTrigger } from '#nuxt-scripts'
|
|
5
|
+
import type { ElementScriptTrigger } from '#nuxt-scripts/types'
|
|
6
6
|
|
|
7
7
|
const props = withDefaults(defineProps<{
|
|
8
8
|
/**
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
+
import { computed, onMounted, ref, watch } from 'vue'
|
|
3
|
+
import { callOnce } from 'nuxt/app'
|
|
2
4
|
import { useScriptTriggerElement } from '../composables/useScriptTriggerElement'
|
|
3
5
|
import { useScriptGoogleAdsense } from '../registry/google-adsense'
|
|
4
|
-
import {
|
|
5
|
-
import type { ElementScriptTrigger } from '#nuxt-scripts'
|
|
6
|
+
import { scriptRuntimeConfig } from '../utils'
|
|
7
|
+
import type { ElementScriptTrigger } from '#nuxt-scripts/types'
|
|
6
8
|
|
|
7
9
|
const props = withDefaults(defineProps<{
|
|
8
10
|
dataAdClient: string
|
|
9
11
|
dataAdSlot: string
|
|
10
|
-
dataAdFormat?: 'auto'
|
|
12
|
+
dataAdFormat?: 'auto' | 'rectangle' | 'vertical' | 'horizontal' | 'fluid' | 'autorelaxed'
|
|
13
|
+
dataAdLayout?: 'in-article' | 'in-feed' | 'fixed'
|
|
11
14
|
dataFullWidthResponsive?: boolean
|
|
12
15
|
/**
|
|
13
16
|
* Defines the trigger event to load the script.
|
|
@@ -15,6 +18,7 @@ const props = withDefaults(defineProps<{
|
|
|
15
18
|
trigger?: ElementScriptTrigger
|
|
16
19
|
}>(), {
|
|
17
20
|
dataFullWidthResponsive: true,
|
|
21
|
+
dataAdFormat: undefined, // Preserve previous behavior
|
|
18
22
|
})
|
|
19
23
|
|
|
20
24
|
const emits = defineEmits<{
|
|
@@ -26,8 +30,13 @@ const emits = defineEmits<{
|
|
|
26
30
|
const rootEl = ref(null)
|
|
27
31
|
const trigger = useScriptTriggerElement({ trigger: props.trigger, el: rootEl })
|
|
28
32
|
|
|
33
|
+
const scriptConfig = scriptRuntimeConfig('googleAdsense')
|
|
34
|
+
const addClient = computed(() => {
|
|
35
|
+
return props.dataAdClient || scriptConfig?.client
|
|
36
|
+
})
|
|
37
|
+
|
|
29
38
|
const instance = useScriptGoogleAdsense({
|
|
30
|
-
client:
|
|
39
|
+
client: addClient.value,
|
|
31
40
|
scriptOptions: {
|
|
32
41
|
trigger,
|
|
33
42
|
},
|
|
@@ -69,9 +78,10 @@ const rootAttrs = computed(() => {
|
|
|
69
78
|
ref="rootEl"
|
|
70
79
|
class="adsbygoogle"
|
|
71
80
|
style="display: block;"
|
|
72
|
-
:data-ad-client="
|
|
81
|
+
:data-ad-client="addClient"
|
|
73
82
|
:data-ad-slot="dataAdSlot"
|
|
74
83
|
:data-ad-format="dataAdFormat"
|
|
84
|
+
:data-ad-layout="dataAdLayout"
|
|
75
85
|
:data-full-width-responsive="dataFullWidthResponsive"
|
|
76
86
|
v-bind="rootAttrs"
|
|
77
87
|
>
|
|
@@ -6,11 +6,12 @@ import { withQuery } from 'ufo'
|
|
|
6
6
|
import type { QueryObject } from 'ufo'
|
|
7
7
|
import { defu } from 'defu'
|
|
8
8
|
import { hash } from 'ohash'
|
|
9
|
+
import { useHead } from '@unhead/vue'
|
|
9
10
|
import type { ElementScriptTrigger } from '../types'
|
|
10
11
|
import { scriptRuntimeConfig } from '../utils'
|
|
11
12
|
import { useScriptTriggerElement } from '../composables/useScriptTriggerElement'
|
|
12
13
|
import { useScriptGoogleMaps } from '../registry/google-maps'
|
|
13
|
-
import
|
|
14
|
+
import ScriptAriaLoadingIndicator from './ScriptAriaLoadingIndicator.vue'
|
|
14
15
|
|
|
15
16
|
interface PlaceholderOptions {
|
|
16
17
|
width?: string | number
|
|
@@ -440,8 +441,6 @@ const rootAttrs = computed(() => {
|
|
|
440
441
|
}) as HTMLAttributes
|
|
441
442
|
})
|
|
442
443
|
|
|
443
|
-
const ScriptLoadingIndicator = resolveComponent('ScriptLoadingIndicator')
|
|
444
|
-
|
|
445
444
|
onBeforeUnmount(async () => {
|
|
446
445
|
await Promise.all([...mapMarkers.value.entries()].map(([,marker]) => resetMapMarkerMap(marker)))
|
|
447
446
|
mapMarkers.value.clear()
|
|
@@ -458,7 +457,7 @@ onBeforeUnmount(async () => {
|
|
|
458
457
|
<img v-bind="placeholderAttrs">
|
|
459
458
|
</slot>
|
|
460
459
|
<slot v-if="status !== 'awaitingLoad' && !ready" name="loading">
|
|
461
|
-
<
|
|
460
|
+
<ScriptAriaLoadingIndicator />
|
|
462
461
|
</slot>
|
|
463
462
|
<slot v-if="status === 'awaitingLoad'" name="awaitingLoad" />
|
|
464
463
|
<slot v-else-if="status === 'error'" name="error" />
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
+
import { ref, onMounted, watch, onBeforeUnmount, computed } from 'vue'
|
|
2
3
|
import { useScriptIntercom } from '../registry/intercom'
|
|
3
4
|
import { useScriptTriggerElement } from '../composables/useScriptTriggerElement'
|
|
4
|
-
import {
|
|
5
|
-
import type { ElementScriptTrigger } from '#nuxt-scripts'
|
|
5
|
+
import type { ElementScriptTrigger } from '#nuxt-scripts/types'
|
|
6
6
|
|
|
7
7
|
const props = withDefaults(defineProps<{
|
|
8
8
|
appId: string
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
+
import { computed, onMounted, ref } from 'vue'
|
|
2
3
|
import type { ElementScriptTrigger } from '../types'
|
|
3
4
|
import { useScriptTriggerElement } from '../composables/useScriptTriggerElement'
|
|
4
5
|
import { useScriptLemonSqueezy } from '../registry/lemon-squeezy'
|
|
5
6
|
import type { LemonSqueezyEventPayload } from '../registry/lemon-squeezy'
|
|
6
|
-
import { computed, onMounted, ref } from '#imports'
|
|
7
7
|
|
|
8
8
|
const props = withDefaults(defineProps<{
|
|
9
9
|
trigger?: ElementScriptTrigger
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { ref } from 'vue'
|
|
2
|
+
import { ref, computed, onBeforeUnmount, onMounted, watch } from 'vue'
|
|
3
3
|
import type { ElementScriptTrigger } from '../types'
|
|
4
4
|
import { useScriptTriggerElement } from '../composables/useScriptTriggerElement'
|
|
5
5
|
import { useScript } from '../composables/useScript'
|
|
6
|
-
import { computed, onBeforeUnmount, onMounted, watch } from '#imports'
|
|
7
6
|
|
|
8
7
|
const props = withDefaults(defineProps<{
|
|
9
8
|
trigger?: ElementScriptTrigger
|
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
import { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue'
|
|
4
4
|
import type { HTMLAttributes, ImgHTMLAttributes } from 'vue'
|
|
5
5
|
import { defu } from 'defu'
|
|
6
|
+
import { useAsyncData } from 'nuxt/app'
|
|
7
|
+
import { useHead } from '@unhead/vue'
|
|
6
8
|
import type { ElementScriptTrigger } from '../types'
|
|
7
9
|
import { useScriptTriggerElement } from '../composables/useScriptTriggerElement'
|
|
8
10
|
import { useScriptVimeoPlayer } from '../registry/vimeo-player'
|
|
9
|
-
import
|
|
11
|
+
import ScriptAriaLoadingIndicator from './ScriptAriaLoadingIndicator.vue'
|
|
10
12
|
|
|
11
13
|
interface VimeoOptions {
|
|
12
14
|
// copied from @types/vimeo__player
|
|
@@ -237,7 +239,7 @@ const rootAttrs = computed(() => {
|
|
|
237
239
|
'role': 'application',
|
|
238
240
|
'style': {
|
|
239
241
|
maxWidth: '100%',
|
|
240
|
-
width:
|
|
242
|
+
width: `auto`,
|
|
241
243
|
height: 'auto',
|
|
242
244
|
aspectRatio: `16/9`,
|
|
243
245
|
position: 'relative',
|
|
@@ -273,7 +275,7 @@ onBeforeUnmount(() => player?.unload())
|
|
|
273
275
|
<img v-if="placeholder" v-bind="placeholderAttrs">
|
|
274
276
|
</slot>
|
|
275
277
|
<slot v-if="status === 'loading'" name="loading">
|
|
276
|
-
<
|
|
278
|
+
<ScriptAriaLoadingIndicator color="white" />
|
|
277
279
|
</slot>
|
|
278
280
|
<slot v-if="status === 'awaitingLoad'" name="awaitingLoad" />
|
|
279
281
|
<slot v-else-if="status === 'error'" name="error" />
|
|
@@ -3,10 +3,25 @@
|
|
|
3
3
|
import { computed, onMounted, ref, watch } from 'vue'
|
|
4
4
|
import type { HTMLAttributes, ImgHTMLAttributes, Ref } from 'vue'
|
|
5
5
|
import { defu } from 'defu'
|
|
6
|
+
import { useHead } from '@unhead/vue'
|
|
6
7
|
import type { ElementScriptTrigger } from '../types'
|
|
7
8
|
import { useScriptTriggerElement } from '../composables/useScriptTriggerElement'
|
|
8
9
|
import { useScriptYouTubePlayer } from '../registry/youtube-player'
|
|
9
|
-
import
|
|
10
|
+
import ScriptAriaLoadingIndicator from './ScriptAriaLoadingIndicator.vue'
|
|
11
|
+
|
|
12
|
+
export type YoutubeThumbnailSize =
|
|
13
|
+
// 120x90
|
|
14
|
+
'1' | '2' | '3' | 'default' |
|
|
15
|
+
// 320x180
|
|
16
|
+
'mq1' | 'mq2' | 'mq3' | 'mqdefault' |
|
|
17
|
+
// 480x360
|
|
18
|
+
'0' | 'hq1' | 'hq2' | 'hq3' | 'hqdefault' |
|
|
19
|
+
// 640x480
|
|
20
|
+
'sd1' | 'sd2' | 'sd3' | 'sddefault' |
|
|
21
|
+
// 1280x720
|
|
22
|
+
'hq720' |
|
|
23
|
+
// 1920x1080
|
|
24
|
+
'maxresdefault'
|
|
10
25
|
|
|
11
26
|
const props = withDefaults(defineProps<{
|
|
12
27
|
placeholderAttrs?: ImgHTMLAttributes
|
|
@@ -17,12 +32,24 @@ const props = withDefaults(defineProps<{
|
|
|
17
32
|
playerVars?: YT.PlayerVars
|
|
18
33
|
width?: number
|
|
19
34
|
height?: number
|
|
35
|
+
/**
|
|
36
|
+
* Whether to use youtube-nocookie.com for embedding.
|
|
37
|
+
*
|
|
38
|
+
* @default false
|
|
39
|
+
*/
|
|
40
|
+
cookies?: boolean
|
|
41
|
+
playerOptions?: YT.PlayerOptions
|
|
42
|
+
thumbnailSize?: YoutubeThumbnailSize
|
|
43
|
+
webp?: boolean
|
|
20
44
|
}>(), {
|
|
45
|
+
cookies: false,
|
|
21
46
|
trigger: 'mousedown',
|
|
47
|
+
thumbnailSize: 'hq720',
|
|
48
|
+
webp: true,
|
|
22
49
|
// @ts-expect-error untyped
|
|
23
50
|
playerVars: { autoplay: 0, playsinline: 1 },
|
|
24
51
|
width: 640,
|
|
25
|
-
height:
|
|
52
|
+
height: 360,
|
|
26
53
|
})
|
|
27
54
|
|
|
28
55
|
const emits = defineEmits<{
|
|
@@ -70,7 +97,9 @@ onMounted(() => {
|
|
|
70
97
|
resolve()
|
|
71
98
|
})
|
|
72
99
|
player.value = new YT.Player(youtubeEl.value, {
|
|
100
|
+
host: !props.cookies ? 'https://www.youtube-nocookie.com' : 'https://www.youtube.com',
|
|
73
101
|
...props,
|
|
102
|
+
...props.playerOptions,
|
|
74
103
|
events: Object.fromEntries(events.map(event => [event, (e: any) => {
|
|
75
104
|
const emitEventName = event.replace(/([A-Z])/g, '-$1').replace('on-', '').toLowerCase()
|
|
76
105
|
// @ts-expect-error untyped
|
|
@@ -115,15 +144,15 @@ const rootAttrs = computed(() => {
|
|
|
115
144
|
position: 'relative',
|
|
116
145
|
backgroundColor: 'black',
|
|
117
146
|
maxWidth: '100%',
|
|
118
|
-
width: `${props.width}px`,
|
|
119
|
-
height: 'auto',
|
|
120
147
|
aspectRatio: `${props.width}/${props.height}`,
|
|
121
148
|
},
|
|
122
149
|
...(trigger instanceof Promise ? trigger.ssrAttrs || {} : {}),
|
|
123
150
|
}) as HTMLAttributes
|
|
124
151
|
})
|
|
125
152
|
|
|
126
|
-
const
|
|
153
|
+
const fallbackPlaceHolder = computed(() => `https://i.ytimg.com/vi/${props.videoId}/hqdefault.jpg`)
|
|
154
|
+
const placeholder = computed(() => `https://i.ytimg.com/${props.webp ? 'vi_webp' : 'vi'}/${props.videoId}/${props.thumbnailSize}.${props.webp ? 'webp' : 'jpg'}`)
|
|
155
|
+
const isFallbackPlaceHolder = ref(false)
|
|
127
156
|
|
|
128
157
|
if (import.meta.server) {
|
|
129
158
|
// dns-prefetch https://i.vimeocdn.com
|
|
@@ -149,7 +178,7 @@ if (import.meta.server) {
|
|
|
149
178
|
|
|
150
179
|
const placeholderAttrs = computed(() => {
|
|
151
180
|
return defu(props.placeholderAttrs, {
|
|
152
|
-
src: placeholder.value,
|
|
181
|
+
src: isFallbackPlaceHolder.value ? fallbackPlaceHolder.value : placeholder.value,
|
|
153
182
|
alt: '',
|
|
154
183
|
loading: props.aboveTheFold ? 'eager' : 'lazy',
|
|
155
184
|
style: {
|
|
@@ -157,6 +186,12 @@ const placeholderAttrs = computed(() => {
|
|
|
157
186
|
objectFit: 'contain',
|
|
158
187
|
height: '100%',
|
|
159
188
|
},
|
|
189
|
+
onLoad(payload) {
|
|
190
|
+
const img = payload.target as HTMLImageElement
|
|
191
|
+
if (img.naturalWidth === 120 && img.naturalHeight === 90) {
|
|
192
|
+
isFallbackPlaceHolder.value = true
|
|
193
|
+
}
|
|
194
|
+
},
|
|
160
195
|
} satisfies ImgHTMLAttributes)
|
|
161
196
|
})
|
|
162
197
|
</script>
|
|
@@ -168,7 +203,7 @@ const placeholderAttrs = computed(() => {
|
|
|
168
203
|
<img v-bind="placeholderAttrs">
|
|
169
204
|
</slot>
|
|
170
205
|
<slot v-if="status === 'loading'" name="loading">
|
|
171
|
-
<
|
|
206
|
+
<ScriptAriaLoadingIndicator />
|
|
172
207
|
</slot>
|
|
173
208
|
<slot v-if="status === 'awaitingLoad'" name="awaitingLoad" />
|
|
174
209
|
<slot v-else-if="status === 'error'" name="error" />
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { UseScriptInput } from '@unhead/vue';
|
|
2
2
|
import type { UseFunctionType } from '@unhead/schema';
|
|
3
|
-
import type { NuxtUseScriptOptions, UseScriptContext } from '#nuxt-scripts';
|
|
3
|
+
import type { NuxtUseScriptOptions, UseScriptContext } from '#nuxt-scripts/types';
|
|
4
4
|
export declare function useScript<T extends Record<symbol | string, any> = Record<symbol | string, any>, U = Record<symbol | string, any>>(input: UseScriptInput, options?: NuxtUseScriptOptions<T, U>): UseScriptContext<UseFunctionType<NuxtUseScriptOptions<T, U>, T>>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { resolveScriptKey } from "unhead";
|
|
2
2
|
import { defu } from "defu";
|
|
3
|
-
import { useScript as _useScript } from "@unhead/vue";
|
|
3
|
+
import { useScript as _useScript, injectHead } from "@unhead/vue";
|
|
4
4
|
import { parseURL } from "ufo";
|
|
5
|
+
import { onNuxtReady, useHead, useNuxtApp, useRuntimeConfig } from "nuxt/app";
|
|
6
|
+
import { reactive } from "vue";
|
|
5
7
|
import { pick } from "../utils.js";
|
|
6
|
-
import { injectHead, onNuxtReady, useHead, useNuxtApp, useRuntimeConfig, reactive } from "#imports";
|
|
7
8
|
function useNuxtScriptRuntimeConfig() {
|
|
8
9
|
return useRuntimeConfig().public["nuxt-scripts"];
|
|
9
10
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { injectHead
|
|
1
|
+
import { injectHead } from "@unhead/vue";
|
|
2
|
+
import { useNuxtApp, useRoute } from "nuxt/app";
|
|
3
|
+
import { ref } from "vue";
|
|
2
4
|
export function useScriptEventPage(onChange) {
|
|
3
5
|
const nuxt = useNuxtApp();
|
|
4
6
|
const route = useRoute();
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { isRef,
|
|
1
|
+
import { isRef, ref, toValue, watch } from "vue";
|
|
2
|
+
import { tryUseNuxtApp, onNuxtReady, requestIdleCallback } from "nuxt/app";
|
|
2
3
|
export function useScriptTriggerConsent(options) {
|
|
3
4
|
if (import.meta.server)
|
|
4
5
|
return new Promise(() => {
|