@nuxt/scripts 1.0.0-beta.2 → 1.0.0-beta.20
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 +3 -3
- package/dist/client/200.html +1 -1
- package/dist/client/404.html +1 -1
- package/dist/client/_nuxt/{B66N9HCo.js → 9LJPrOyI.js} +1 -1
- package/dist/client/_nuxt/DFEfk2pB.js +162 -0
- package/dist/client/_nuxt/{DvH517bE.js → DMlY-BNa.js} +1 -1
- package/dist/client/_nuxt/{DfLgoB--.js → __ZZTkMj.js} +1 -1
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/8212d4fa-7985-421b-815a-03a886e667d4.json +1 -0
- package/dist/client/_nuxt/entry.CACgbLJl.css +1 -0
- package/dist/client/_nuxt/error-404.CHeaW3dp.css +1 -0
- package/dist/client/_nuxt/error-500.DvOvWme_.css +1 -0
- package/dist/client/index.html +1 -1
- package/dist/module.d.mts +27 -18
- package/dist/module.d.ts +178 -0
- package/dist/module.json +1 -1
- package/dist/module.mjs +747 -527
- package/dist/registry.d.ts +6 -0
- package/dist/registry.mjs +74 -21
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.d.vue.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +7 -7
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue.d.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue +6 -6
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue +7 -7
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue +6 -6
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue +12 -12
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue +6 -6
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.d.vue.ts +1 -1
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue +6 -6
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue.d.ts +1 -1
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue +5 -5
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue +7 -7
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue +7 -7
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue +7 -7
- package/dist/runtime/components/ScriptCrisp.vue +1 -1
- package/dist/runtime/components/ScriptGoogleAdsense.vue +1 -1
- package/dist/runtime/components/ScriptGravatar.d.vue.ts +22 -0
- package/dist/runtime/components/ScriptGravatar.vue +46 -0
- package/dist/runtime/components/ScriptGravatar.vue.d.ts +22 -0
- package/dist/runtime/components/ScriptInstagramEmbed.vue +1 -1
- package/dist/runtime/components/ScriptIntercom.vue +4 -3
- package/dist/runtime/components/ScriptPayPalButtons.d.vue.ts +43 -32
- package/dist/runtime/components/ScriptPayPalButtons.vue +48 -79
- package/dist/runtime/components/ScriptPayPalButtons.vue.d.ts +43 -32
- package/dist/runtime/components/ScriptPayPalMessages.d.vue.ts +37 -23
- package/dist/runtime/components/ScriptPayPalMessages.vue +46 -50
- package/dist/runtime/components/ScriptPayPalMessages.vue.d.ts +37 -23
- package/dist/runtime/components/ScriptStripePricingTable.vue +2 -2
- package/dist/runtime/components/ScriptVimeoPlayer.d.vue.ts +9 -0
- package/dist/runtime/components/ScriptVimeoPlayer.vue +13 -10
- package/dist/runtime/components/ScriptVimeoPlayer.vue.d.ts +9 -0
- package/dist/runtime/components/ScriptXEmbed.d.vue.ts +1 -1
- package/dist/runtime/components/ScriptXEmbed.vue +1 -1
- package/dist/runtime/components/ScriptXEmbed.vue.d.ts +1 -1
- package/dist/runtime/components/ScriptYouTubePlayer.d.vue.ts +2 -2
- package/dist/runtime/components/ScriptYouTubePlayer.vue +11 -5
- package/dist/runtime/components/ScriptYouTubePlayer.vue.d.ts +2 -2
- package/dist/runtime/composables/useScript.js +11 -6
- package/dist/runtime/composables/useScriptEventPage.js +2 -2
- package/dist/runtime/composables/useScriptTriggerConsent.js +1 -1
- package/dist/runtime/composables/useScriptTriggerElement.js +1 -1
- package/dist/runtime/composables/useScriptTriggerIdleTimeout.js +1 -1
- package/dist/runtime/registry/clarity.d.ts +10 -15
- package/dist/runtime/registry/clarity.js +22 -31
- package/dist/runtime/registry/cloudflare-web-analytics.d.ts +2 -13
- package/dist/runtime/registry/cloudflare-web-analytics.js +2 -14
- package/dist/runtime/registry/crisp.d.ts +9 -39
- package/dist/runtime/registry/crisp.js +2 -33
- package/dist/runtime/registry/databuddy-analytics.d.ts +2 -35
- package/dist/runtime/registry/databuddy-analytics.js +20 -45
- package/dist/runtime/registry/fathom-analytics.d.ts +6 -25
- package/dist/runtime/registry/fathom-analytics.js +2 -24
- package/dist/runtime/registry/google-adsense.d.ts +2 -10
- package/dist/runtime/registry/google-adsense.js +2 -11
- package/dist/runtime/registry/google-analytics.d.ts +3 -5
- package/dist/runtime/registry/google-analytics.js +3 -8
- package/dist/runtime/registry/google-maps.d.ts +3 -9
- package/dist/runtime/registry/google-maps.js +2 -8
- package/dist/runtime/registry/google-recaptcha.d.ts +2 -6
- package/dist/runtime/registry/google-recaptcha.js +4 -12
- package/dist/runtime/registry/google-sign-in.d.ts +2 -13
- package/dist/runtime/registry/google-sign-in.js +2 -22
- package/dist/runtime/registry/google-tag-manager.d.ts +3 -28
- package/dist/runtime/registry/google-tag-manager.js +4 -27
- package/dist/runtime/registry/gravatar.d.ts +25 -0
- package/dist/runtime/registry/gravatar.js +32 -0
- package/dist/runtime/registry/hotjar.d.ts +3 -5
- package/dist/runtime/registry/hotjar.js +2 -5
- package/dist/runtime/registry/instagram-embed.d.ts +2 -17
- package/dist/runtime/registry/instagram-embed.js +4 -19
- package/dist/runtime/registry/intercom.d.ts +3 -11
- package/dist/runtime/registry/intercom.js +2 -12
- package/dist/runtime/registry/matomo-analytics.d.ts +2 -11
- package/dist/runtime/registry/matomo-analytics.js +3 -12
- package/dist/runtime/registry/meta-pixel.d.ts +3 -5
- package/dist/runtime/registry/meta-pixel.js +2 -4
- package/dist/runtime/registry/npm.d.ts +2 -6
- package/dist/runtime/registry/npm.js +2 -9
- package/dist/runtime/registry/paypal.d.ts +4 -25
- package/dist/runtime/registry/paypal.js +3 -66
- package/dist/runtime/registry/plausible-analytics.js +18 -13
- package/dist/runtime/registry/posthog.d.ts +10 -11
- package/dist/runtime/registry/posthog.js +7 -20
- package/dist/runtime/registry/reddit-pixel.d.ts +4 -5
- package/dist/runtime/registry/reddit-pixel.js +2 -4
- package/dist/runtime/registry/rybbit-analytics.d.ts +2 -14
- package/dist/runtime/registry/rybbit-analytics.js +7 -19
- package/dist/runtime/registry/schemas.d.ts +946 -0
- package/dist/runtime/registry/schemas.js +901 -0
- package/dist/runtime/registry/segment.d.ts +2 -5
- package/dist/runtime/registry/segment.js +2 -5
- package/dist/runtime/registry/snapchat-pixel.d.ts +3 -32
- package/dist/runtime/registry/snapchat-pixel.js +2 -20
- package/dist/runtime/registry/stripe.d.ts +3 -4
- package/dist/runtime/registry/stripe.js +2 -4
- package/dist/runtime/registry/tiktok-pixel.d.ts +3 -6
- package/dist/runtime/registry/tiktok-pixel.js +2 -6
- package/dist/runtime/registry/umami-analytics.d.ts +2 -31
- package/dist/runtime/registry/umami-analytics.js +2 -36
- package/dist/runtime/registry/vercel-analytics.d.ts +29 -0
- package/dist/runtime/registry/vercel-analytics.js +84 -0
- package/dist/runtime/registry/vimeo-player.d.ts +2 -2
- package/dist/runtime/registry/vimeo-player.js +1 -1
- package/dist/runtime/registry/x-embed.d.ts +2 -16
- package/dist/runtime/registry/x-embed.js +2 -17
- package/dist/runtime/registry/x-pixel.d.ts +3 -6
- package/dist/runtime/registry/x-pixel.js +2 -5
- package/dist/runtime/registry/youtube-player.d.ts +7 -7
- package/dist/runtime/registry/youtube-player.js +1 -1
- package/dist/runtime/server/google-static-maps-proxy.js +1 -1
- package/dist/runtime/server/{sw-handler.d.ts → gravatar-proxy.d.ts} +1 -1
- package/dist/runtime/server/gravatar-proxy.js +62 -0
- package/dist/runtime/server/instagram-embed-asset.js +2 -1
- package/dist/runtime/server/instagram-embed-image.js +2 -1
- package/dist/runtime/server/instagram-embed.js +22 -13
- package/dist/runtime/server/proxy-handler.js +161 -117
- package/dist/runtime/server/utils/privacy.d.ts +45 -1
- package/dist/runtime/server/utils/privacy.js +103 -40
- package/dist/runtime/server/x-embed.js +3 -2
- package/dist/runtime/types.d.ts +30 -24
- package/dist/runtime/utils/pure.d.ts +0 -4
- package/dist/runtime/utils/pure.js +0 -67
- package/dist/runtime/utils.d.ts +3 -3
- package/dist/runtime/utils.js +12 -7
- package/dist/shared/scripts.Crpn87WB.mjs +318 -0
- package/dist/stats.d.mts +39 -0
- package/dist/stats.d.ts +39 -0
- package/dist/stats.mjs +772 -0
- package/dist/types-source.d.mts +19 -0
- package/dist/types-source.d.ts +19 -0
- package/dist/types-source.mjs +975 -0
- package/package.json +42 -31
- package/dist/client/_nuxt/B8XOar-X.js +0 -162
- package/dist/client/_nuxt/builds/meta/133a46c5-a5c1-4a63-87d1-037947a5bcdb.json +0 -1
- package/dist/client/_nuxt/entry.D45OuV0w.css +0 -1
- package/dist/client/_nuxt/error-404.B57D-jUQ.css +0 -1
- package/dist/client/_nuxt/error-500.DTHUW7BI.css +0 -1
- package/dist/runtime/components/ScriptPayPalMarks.d.vue.ts +0 -52
- package/dist/runtime/components/ScriptPayPalMarks.vue +0 -69
- package/dist/runtime/components/ScriptPayPalMarks.vue.d.ts +0 -52
- package/dist/runtime/plugins/sw-register.client.d.ts +0 -2
- package/dist/runtime/plugins/sw-register.client.js +0 -12
- package/dist/runtime/server/sw-handler.js +0 -25
- package/dist/runtime/sw/proxy-sw.template.d.ts +0 -1
- package/dist/runtime/sw/proxy-sw.template.js +0 -54
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<slot v-if="markerClusterer" />
|
|
3
|
-
</template>
|
|
4
|
-
|
|
5
1
|
<script>
|
|
6
|
-
import { inject, onUnmounted, provide, shallowRef } from "vue";
|
|
7
2
|
import { whenever } from "@vueuse/core";
|
|
3
|
+
import { inject, onUnmounted, provide, shallowRef } from "vue";
|
|
8
4
|
import { MAP_INJECTION_KEY } from "./ScriptGoogleMaps.vue";
|
|
9
5
|
export const MARKER_CLUSTERER_INJECTION_KEY = /* @__PURE__ */ Symbol("marker-clusterer");
|
|
10
6
|
</script>
|
|
@@ -13,12 +9,12 @@ export const MARKER_CLUSTERER_INJECTION_KEY = /* @__PURE__ */ Symbol("marker-clu
|
|
|
13
9
|
const props = defineProps({
|
|
14
10
|
options: { type: Object, required: false }
|
|
15
11
|
});
|
|
12
|
+
const emit = defineEmits([]);
|
|
16
13
|
const markerClustererEvents = [
|
|
17
14
|
"click",
|
|
18
15
|
"clusteringbegin",
|
|
19
16
|
"clusteringend"
|
|
20
17
|
];
|
|
21
|
-
const emit = defineEmits([]);
|
|
22
18
|
const mapContext = inject(MAP_INJECTION_KEY, void 0);
|
|
23
19
|
const markerClusterer = shallowRef(void 0);
|
|
24
20
|
whenever(() => mapContext?.map.value, async (map) => {
|
|
@@ -60,3 +56,7 @@ function setupMarkerClustererEventListeners(clusterer) {
|
|
|
60
56
|
});
|
|
61
57
|
}
|
|
62
58
|
</script>
|
|
59
|
+
|
|
60
|
+
<template>
|
|
61
|
+
<slot v-if="markerClusterer" />
|
|
62
|
+
</template>
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
|
|
3
|
-
</template>
|
|
4
|
-
|
|
5
1
|
<script setup>
|
|
6
|
-
import { inject, onUnmounted, shallowRef } from "vue";
|
|
7
2
|
import { whenever } from "@vueuse/core";
|
|
3
|
+
import { inject, onUnmounted, shallowRef } from "vue";
|
|
8
4
|
import { MAP_INJECTION_KEY } from "./ScriptGoogleMaps.vue";
|
|
9
5
|
import { ADVANCED_MARKER_ELEMENT_INJECTION_KEY } from "./ScriptGoogleMapsAdvancedMarkerElement.vue";
|
|
10
6
|
const props = defineProps({
|
|
@@ -41,3 +37,7 @@ onUnmounted(() => {
|
|
|
41
37
|
pinElement.value = void 0;
|
|
42
38
|
});
|
|
43
39
|
</script>
|
|
40
|
+
|
|
41
|
+
<template>
|
|
42
|
+
|
|
43
|
+
</template>
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
|
|
3
|
-
</template>
|
|
4
|
-
|
|
5
1
|
<script setup>
|
|
6
|
-
import { inject, onUnmounted } from "vue";
|
|
7
2
|
import { whenever } from "@vueuse/core";
|
|
3
|
+
import { inject, onUnmounted } from "vue";
|
|
8
4
|
import { MAP_INJECTION_KEY } from "./ScriptGoogleMaps.vue";
|
|
9
5
|
const props = defineProps({
|
|
10
6
|
options: { type: Object, required: false }
|
|
11
7
|
});
|
|
8
|
+
const emit = defineEmits([]);
|
|
12
9
|
const eventsWithPolyMouseEventPayload = [
|
|
13
10
|
"click",
|
|
14
11
|
"contextmenu",
|
|
@@ -24,9 +21,8 @@ const eventsWithMapMouseEventPayload = [
|
|
|
24
21
|
"dragend",
|
|
25
22
|
"dragstart"
|
|
26
23
|
];
|
|
27
|
-
const emit = defineEmits([]);
|
|
28
24
|
const mapContext = inject(MAP_INJECTION_KEY, void 0);
|
|
29
|
-
let polygon
|
|
25
|
+
let polygon;
|
|
30
26
|
whenever(() => mapContext?.map.value && mapContext.mapsApi.value, () => {
|
|
31
27
|
polygon = new mapContext.mapsApi.value.Polygon({
|
|
32
28
|
map: mapContext.map.value,
|
|
@@ -58,3 +54,7 @@ function setupPolygonEventListeners(polygon2) {
|
|
|
58
54
|
});
|
|
59
55
|
}
|
|
60
56
|
</script>
|
|
57
|
+
|
|
58
|
+
<template>
|
|
59
|
+
|
|
60
|
+
</template>
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
|
|
3
|
-
</template>
|
|
4
|
-
|
|
5
1
|
<script setup>
|
|
6
|
-
import { inject, onUnmounted } from "vue";
|
|
7
2
|
import { whenever } from "@vueuse/core";
|
|
3
|
+
import { inject, onUnmounted } from "vue";
|
|
8
4
|
import { MAP_INJECTION_KEY } from "./ScriptGoogleMaps.vue";
|
|
9
5
|
const props = defineProps({
|
|
10
6
|
options: { type: Object, required: false }
|
|
11
7
|
});
|
|
8
|
+
const emit = defineEmits([]);
|
|
12
9
|
const eventsWithPolyMouseEventPayload = [
|
|
13
10
|
"click",
|
|
14
11
|
"contextmenu",
|
|
@@ -24,9 +21,8 @@ const eventsWithMapMouseEventPayload = [
|
|
|
24
21
|
"dragend",
|
|
25
22
|
"dragstart"
|
|
26
23
|
];
|
|
27
|
-
const emit = defineEmits([]);
|
|
28
24
|
const mapContext = inject(MAP_INJECTION_KEY, void 0);
|
|
29
|
-
let polyline
|
|
25
|
+
let polyline;
|
|
30
26
|
whenever(() => mapContext?.map.value && mapContext.mapsApi.value, () => {
|
|
31
27
|
polyline = new mapContext.mapsApi.value.Polyline({
|
|
32
28
|
map: mapContext.map.value,
|
|
@@ -58,3 +54,7 @@ function setupPolylineEventListeners(polyline2) {
|
|
|
58
54
|
});
|
|
59
55
|
}
|
|
60
56
|
</script>
|
|
57
|
+
|
|
58
|
+
<template>
|
|
59
|
+
|
|
60
|
+
</template>
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
|
|
3
|
-
</template>
|
|
4
|
-
|
|
5
1
|
<script setup>
|
|
6
|
-
import { inject, onUnmounted } from "vue";
|
|
7
2
|
import { whenever } from "@vueuse/core";
|
|
3
|
+
import { inject, onUnmounted } from "vue";
|
|
8
4
|
import { MAP_INJECTION_KEY } from "./ScriptGoogleMaps.vue";
|
|
9
5
|
const props = defineProps({
|
|
10
6
|
options: { type: Object, required: false }
|
|
11
7
|
});
|
|
8
|
+
const emit = defineEmits([]);
|
|
12
9
|
const eventsWithoutPayload = [
|
|
13
10
|
"bounds_changed"
|
|
14
11
|
];
|
|
@@ -25,9 +22,8 @@ const eventsWithMapMouseEventPayload = [
|
|
|
25
22
|
"mouseover",
|
|
26
23
|
"mouseup"
|
|
27
24
|
];
|
|
28
|
-
const emit = defineEmits([]);
|
|
29
25
|
const mapContext = inject(MAP_INJECTION_KEY, void 0);
|
|
30
|
-
let rectangle
|
|
26
|
+
let rectangle;
|
|
31
27
|
whenever(() => mapContext?.map.value && mapContext.mapsApi.value, () => {
|
|
32
28
|
rectangle = new mapContext.mapsApi.value.Rectangle({
|
|
33
29
|
map: mapContext.map.value,
|
|
@@ -59,3 +55,7 @@ function setupRectangleEventListeners(rectangle2) {
|
|
|
59
55
|
});
|
|
60
56
|
}
|
|
61
57
|
</script>
|
|
58
|
+
|
|
59
|
+
<template>
|
|
60
|
+
|
|
61
|
+
</template>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import {
|
|
2
|
+
import { computed, onBeforeUnmount, onMounted, ref, watch } from "vue";
|
|
3
3
|
import { useScriptTriggerElement } from "../composables/useScriptTriggerElement";
|
|
4
4
|
import { useScriptCrisp } from "../registry/crisp";
|
|
5
5
|
const props = defineProps({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import { computed, onMounted, ref, watch } from "vue";
|
|
3
2
|
import { callOnce } from "nuxt/app";
|
|
3
|
+
import { computed, onMounted, ref, watch } from "vue";
|
|
4
4
|
import { useScriptTriggerElement } from "../composables/useScriptTriggerElement";
|
|
5
5
|
import { useScriptGoogleAdsense } from "../registry/google-adsense";
|
|
6
6
|
import { scriptRuntimeConfig } from "../utils";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/** Email address — sent to your server proxy for hashing, not sent to Gravatar */
|
|
3
|
+
email?: string;
|
|
4
|
+
/** Pre-computed SHA256 hash of the email */
|
|
5
|
+
hash?: string;
|
|
6
|
+
/** Avatar size in pixels */
|
|
7
|
+
size?: number;
|
|
8
|
+
/** Default avatar style when no Gravatar exists */
|
|
9
|
+
default?: string;
|
|
10
|
+
/** Content rating filter */
|
|
11
|
+
rating?: string;
|
|
12
|
+
/** Enable hovercards on hover */
|
|
13
|
+
hovercards?: boolean;
|
|
14
|
+
};
|
|
15
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
16
|
+
default: string;
|
|
17
|
+
size: number;
|
|
18
|
+
rating: string;
|
|
19
|
+
hovercards: boolean;
|
|
20
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
21
|
+
declare const _default: typeof __VLS_export;
|
|
22
|
+
export default _default;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed, onMounted, ref, useAttrs } from "vue";
|
|
3
|
+
import { useScriptGravatar } from "../registry/gravatar";
|
|
4
|
+
const props = defineProps({
|
|
5
|
+
email: { type: String, required: false },
|
|
6
|
+
hash: { type: String, required: false },
|
|
7
|
+
size: { type: Number, required: false, default: 80 },
|
|
8
|
+
default: { type: String, required: false, default: "mp" },
|
|
9
|
+
rating: { type: String, required: false, default: "g" },
|
|
10
|
+
hovercards: { type: Boolean, required: false, default: false }
|
|
11
|
+
});
|
|
12
|
+
const attrs = useAttrs();
|
|
13
|
+
const imgSrc = ref("");
|
|
14
|
+
const { onLoaded } = useScriptGravatar();
|
|
15
|
+
const queryOverrides = computed(() => ({
|
|
16
|
+
size: props.size,
|
|
17
|
+
default: props.default,
|
|
18
|
+
rating: props.rating
|
|
19
|
+
}));
|
|
20
|
+
onMounted(() => {
|
|
21
|
+
onLoaded((api) => {
|
|
22
|
+
if (props.email) {
|
|
23
|
+
imgSrc.value = api.getAvatarUrlFromEmail(props.email, queryOverrides.value);
|
|
24
|
+
} else if (props.hash) {
|
|
25
|
+
imgSrc.value = api.getAvatarUrl(props.hash, queryOverrides.value);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
<template>
|
|
32
|
+
<img
|
|
33
|
+
v-if="imgSrc"
|
|
34
|
+
:src="imgSrc"
|
|
35
|
+
:width="size"
|
|
36
|
+
:height="size"
|
|
37
|
+
:class="{ hovercard: hovercards }"
|
|
38
|
+
v-bind="attrs"
|
|
39
|
+
:alt="attrs.alt || 'Gravatar avatar'"
|
|
40
|
+
loading="lazy"
|
|
41
|
+
>
|
|
42
|
+
<span
|
|
43
|
+
v-else
|
|
44
|
+
:style="{ display: 'inline-block', width: `${size}px`, height: `${size}px`, borderRadius: '50%', background: '#e0e0e0' }"
|
|
45
|
+
/>
|
|
46
|
+
</template>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/** Email address — sent to your server proxy for hashing, not sent to Gravatar */
|
|
3
|
+
email?: string;
|
|
4
|
+
/** Pre-computed SHA256 hash of the email */
|
|
5
|
+
hash?: string;
|
|
6
|
+
/** Avatar size in pixels */
|
|
7
|
+
size?: number;
|
|
8
|
+
/** Default avatar style when no Gravatar exists */
|
|
9
|
+
default?: string;
|
|
10
|
+
/** Content rating filter */
|
|
11
|
+
rating?: string;
|
|
12
|
+
/** Enable hovercards on hover */
|
|
13
|
+
hovercards?: boolean;
|
|
14
|
+
};
|
|
15
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
16
|
+
default: string;
|
|
17
|
+
size: number;
|
|
18
|
+
rating: string;
|
|
19
|
+
hovercards: boolean;
|
|
20
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
21
|
+
declare const _default: typeof __VLS_export;
|
|
22
|
+
export default _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import { computed } from "vue";
|
|
3
2
|
import { useAsyncData } from "nuxt/app";
|
|
3
|
+
import { computed } from "vue";
|
|
4
4
|
import { extractInstagramShortcode } from "../registry/instagram-embed";
|
|
5
5
|
const props = defineProps({
|
|
6
6
|
postUrl: { type: String, required: true },
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import {
|
|
3
|
-
import { useScriptIntercom } from "../registry/intercom";
|
|
2
|
+
import { computed, onBeforeUnmount, onMounted, ref, watch } from "vue";
|
|
4
3
|
import { useScriptTriggerElement } from "../composables/useScriptTriggerElement";
|
|
4
|
+
import { useScriptIntercom } from "../registry/intercom";
|
|
5
5
|
const props = defineProps({
|
|
6
6
|
appId: { type: String, required: true },
|
|
7
7
|
apiBase: { type: String, required: false },
|
|
@@ -52,8 +52,9 @@ onMounted(() => {
|
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
54
|
observer.observe(document.body, { childList: true, subtree: true });
|
|
55
|
-
} else if (status2 === "error")
|
|
55
|
+
} else if (status2 === "error") {
|
|
56
56
|
emits("error");
|
|
57
|
+
}
|
|
57
58
|
});
|
|
58
59
|
});
|
|
59
60
|
onBeforeUnmount(() => {
|
|
@@ -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,66 @@ type __VLS_Props = {
|
|
|
12
12
|
*/
|
|
13
13
|
trigger?: ElementScriptTrigger;
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* Client ID or client token for PayPal SDK v6 authentication.
|
|
16
16
|
*/
|
|
17
17
|
clientId?: string;
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* Server-generated client token for SDK v6.
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
clientToken?: string;
|
|
22
22
|
/**
|
|
23
|
-
* The
|
|
23
|
+
* The v6 SDK components to load.
|
|
24
|
+
* @default ['paypal-payments']
|
|
24
25
|
*/
|
|
25
|
-
|
|
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
|
-
*
|
|
36
|
+
* The merchant ID(s).
|
|
28
37
|
*/
|
|
29
|
-
|
|
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: {
|
|
48
|
+
declare var __VLS_1: {
|
|
49
|
+
sdkInstance: SdkInstance<Components[]> | undefined;
|
|
50
|
+
}, __VLS_3: {}, __VLS_5: {}, __VLS_12: {}, __VLS_14: {};
|
|
32
51
|
type __VLS_Slots = {} & {
|
|
33
|
-
|
|
52
|
+
default?: (props: typeof __VLS_1) => any;
|
|
34
53
|
} & {
|
|
35
|
-
|
|
54
|
+
placeholder?: (props: typeof __VLS_3) => any;
|
|
36
55
|
} & {
|
|
37
|
-
|
|
56
|
+
loading?: (props: typeof __VLS_5) => any;
|
|
38
57
|
} & {
|
|
39
|
-
|
|
58
|
+
awaitingLoad?: (props: typeof __VLS_12) => any;
|
|
40
59
|
} & {
|
|
41
|
-
|
|
60
|
+
error?: (props: typeof __VLS_14) => any;
|
|
42
61
|
};
|
|
43
|
-
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
shippingOptionsChange: (data: OnShippingOptionsChangeData, actions: OnShippingOptionsChangeActions) => any;
|
|
50
|
-
shippingAddressChange: (data: OnShippingAddressChangeData, actions: OnShippingAddressChangeActions) => any;
|
|
62
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
|
|
63
|
+
/** The PayPal SDK v6 instance for creating payment sessions, checking eligibility, etc. */
|
|
64
|
+
sdkInstance: import("vue").ShallowRef<SdkInstance<Components[]> | undefined, SdkInstance<Components[]> | undefined>;
|
|
65
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
66
|
+
error: (error: unknown) => any;
|
|
67
|
+
ready: (instance: SdkInstance<Components[]>) => any;
|
|
51
68
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
52
|
-
onError?: ((error:
|
|
53
|
-
|
|
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;
|
|
69
|
+
onError?: ((error: unknown) => any) | undefined;
|
|
70
|
+
onReady?: ((instance: SdkInstance<Components[]>) => any) | undefined;
|
|
59
71
|
}>, {
|
|
60
72
|
trigger: ElementScriptTrigger;
|
|
61
|
-
disabled: boolean;
|
|
62
73
|
clientId: string;
|
|
63
|
-
|
|
74
|
+
components: Components[];
|
|
64
75
|
paypalScriptOptions: Partial<PayPalInput>;
|
|
65
76
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
66
77
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -1,98 +1,66 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import { computed, onMounted, ref, shallowRef, watch } from "vue";
|
|
3
2
|
import { defu } from "defu";
|
|
4
|
-
import {
|
|
3
|
+
import { computed, onBeforeUnmount, onMounted, ref, resolveComponent, shallowRef } from "vue";
|
|
5
4
|
import { useScriptTriggerElement } from "../composables/useScriptTriggerElement";
|
|
6
|
-
import {
|
|
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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
+
const el = ref(null);
|
|
20
|
+
const rootEl = ref(null);
|
|
17
21
|
const ready = ref(false);
|
|
22
|
+
const failed = ref(false);
|
|
23
|
+
const sdkInstance = shallowRef();
|
|
18
24
|
const { onLoaded, status } = useScriptPayPal({
|
|
19
|
-
clientId: props.clientId,
|
|
25
|
+
...props.clientToken ? { clientToken: props.clientToken } : { clientId: props.clientId },
|
|
20
26
|
...props.paypalScriptOptions
|
|
21
27
|
});
|
|
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
28
|
onMounted(() => {
|
|
71
29
|
onLoaded(async ({ paypal }) => {
|
|
72
|
-
if (!el.value)
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
30
|
+
if (!el.value)
|
|
31
|
+
return;
|
|
32
|
+
const instanceOptions = {
|
|
33
|
+
...props.clientToken ? { clientToken: props.clientToken } : { clientId: props.clientId },
|
|
34
|
+
components: props.components,
|
|
35
|
+
...props.pageType && { pageType: props.pageType },
|
|
36
|
+
...props.locale && { locale: props.locale },
|
|
37
|
+
...props.merchantId && { merchantId: props.merchantId },
|
|
38
|
+
...props.partnerAttributionId && { partnerAttributionId: props.partnerAttributionId }
|
|
39
|
+
};
|
|
40
|
+
try {
|
|
41
|
+
sdkInstance.value = await paypal.createInstance(instanceOptions);
|
|
42
|
+
ready.value = true;
|
|
43
|
+
emit("ready", sdkInstance.value);
|
|
44
|
+
} catch (err) {
|
|
45
|
+
sdkInstance.value = void 0;
|
|
46
|
+
failed.value = true;
|
|
47
|
+
emit("error", err);
|
|
48
|
+
}
|
|
80
49
|
});
|
|
81
50
|
});
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
await destroy();
|
|
51
|
+
onBeforeUnmount(() => {
|
|
52
|
+
sdkInstance.value = void 0;
|
|
53
|
+
});
|
|
54
|
+
defineExpose({
|
|
55
|
+
/** The PayPal SDK v6 instance for creating payment sessions, checking eligibility, etc. */
|
|
56
|
+
sdkInstance
|
|
89
57
|
});
|
|
90
58
|
const ScriptLoadingIndicator = resolveComponent("ScriptLoadingIndicator");
|
|
91
59
|
const trigger = useScriptTriggerElement({ trigger: props.trigger, el: rootEl });
|
|
92
60
|
const rootAttrs = computed(() => {
|
|
93
61
|
return defu(props.rootAttrs, {
|
|
94
62
|
"aria-busy": status.value === "loading",
|
|
95
|
-
"aria-label": status.value === "awaitingLoad" ? "PayPal Script Placeholder" : status.value === "loading" ? "PayPal
|
|
63
|
+
"aria-label": status.value === "awaitingLoad" ? "PayPal Script Placeholder" : status.value === "loading" ? "PayPal Loading" : "PayPal",
|
|
96
64
|
"aria-live": "polite",
|
|
97
65
|
"role": "application",
|
|
98
66
|
...trigger instanceof Promise ? trigger.ssrAttrs || {} : {}
|
|
@@ -101,16 +69,17 @@ const rootAttrs = computed(() => {
|
|
|
101
69
|
</script>
|
|
102
70
|
|
|
103
71
|
<template>
|
|
104
|
-
<div v-bind="rootAttrs"
|
|
105
|
-
<div
|
|
106
|
-
|
|
72
|
+
<div ref="rootEl" v-bind="rootAttrs">
|
|
73
|
+
<div ref="el">
|
|
74
|
+
<slot v-if="ready" name="default" :sdk-instance="sdkInstance" />
|
|
75
|
+
</div>
|
|
76
|
+
<slot v-if="status !== 'error' && !ready && !failed" name="placeholder">
|
|
107
77
|
placeholder
|
|
108
78
|
</slot>
|
|
109
|
-
<slot v-if="status !== 'awaitingLoad' && !ready" name="loading">
|
|
79
|
+
<slot v-if="status !== 'awaitingLoad' && status !== 'error' && !ready && !failed" name="loading">
|
|
110
80
|
<ScriptLoadingIndicator color="black" />
|
|
111
81
|
</slot>
|
|
112
82
|
<slot v-if="status === 'awaitingLoad'" name="awaitingLoad" />
|
|
113
|
-
<slot v-else-if="status === 'error'" name="error" />
|
|
114
|
-
<slot />
|
|
83
|
+
<slot v-else-if="status === 'error' || failed" name="error" />
|
|
115
84
|
</div>
|
|
116
85
|
</template>
|