@prismicio/vue 4.2.3 → 5.0.0-alpha.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 -4
- package/dist/PrismicEmbed.vue.cjs +25 -0
- package/dist/PrismicEmbed.vue.cjs.map +1 -0
- package/dist/PrismicEmbed.vue.d.ts +19 -0
- package/dist/PrismicEmbed.vue.js +26 -0
- package/dist/PrismicEmbed.vue.js.map +1 -0
- package/dist/PrismicEmbed.vue2.cjs +4 -0
- package/dist/PrismicEmbed.vue2.cjs.map +1 -0
- package/dist/PrismicEmbed.vue2.js +5 -0
- package/dist/PrismicEmbed.vue2.js.map +1 -0
- package/dist/PrismicImage.vue.cjs +84 -0
- package/dist/PrismicImage.vue.cjs.map +1 -0
- package/dist/PrismicImage.vue.d.ts +224 -0
- package/dist/PrismicImage.vue.js +85 -0
- package/dist/PrismicImage.vue.js.map +1 -0
- package/dist/PrismicImage.vue2.cjs +4 -0
- package/dist/PrismicImage.vue2.cjs.map +1 -0
- package/dist/PrismicImage.vue2.js +5 -0
- package/dist/PrismicImage.vue2.js.map +1 -0
- package/dist/PrismicLink.vue.cjs +100 -0
- package/dist/PrismicLink.vue.cjs.map +1 -0
- package/dist/PrismicLink.vue.d.ts +278 -0
- package/dist/PrismicLink.vue.js +101 -0
- package/dist/PrismicLink.vue.js.map +1 -0
- package/dist/PrismicLink.vue2.cjs +4 -0
- package/dist/PrismicLink.vue2.cjs.map +1 -0
- package/dist/PrismicLink.vue2.js +5 -0
- package/dist/PrismicLink.vue2.js.map +1 -0
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue.cjs +90 -0
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue.cjs.map +1 -0
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue.d.ts +7 -0
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue.js +91 -0
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue.js.map +1 -0
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue2.cjs +4 -0
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue2.cjs.map +1 -0
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue2.js +5 -0
- package/dist/PrismicRichText/DeprecatedPrismicRichText.vue2.js.map +1 -0
- package/dist/PrismicRichText/PrismicRichText.vue.cjs +85 -0
- package/dist/PrismicRichText/PrismicRichText.vue.cjs.map +1 -0
- package/dist/PrismicRichText/PrismicRichText.vue.d.ts +57 -0
- package/dist/PrismicRichText/PrismicRichText.vue.js +86 -0
- package/dist/PrismicRichText/PrismicRichText.vue.js.map +1 -0
- package/dist/PrismicRichText/PrismicRichText.vue2.cjs +4 -0
- package/dist/PrismicRichText/PrismicRichText.vue2.cjs.map +1 -0
- package/dist/PrismicRichText/PrismicRichText.vue2.js +5 -0
- package/dist/PrismicRichText/PrismicRichText.vue2.js.map +1 -0
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue.cjs +133 -0
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue.cjs.map +1 -0
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue.d.ts +37 -0
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue.js +134 -0
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue.js.map +1 -0
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue2.cjs +4 -0
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue2.cjs.map +1 -0
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue2.js +5 -0
- package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue2.js.map +1 -0
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue.cjs +47 -0
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue.cjs.map +1 -0
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue.d.ts +10 -0
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue.js +48 -0
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue.js.map +1 -0
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue2.cjs +4 -0
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue2.cjs.map +1 -0
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue2.js +5 -0
- package/dist/PrismicRichText/PrismicRichTextSerialize.vue2.js.map +1 -0
- package/dist/PrismicRichText/getRichTextComponentProps.cjs +10 -0
- package/dist/PrismicRichText/getRichTextComponentProps.cjs.map +1 -0
- package/dist/PrismicRichText/getRichTextComponentProps.d.ts +49 -0
- package/dist/PrismicRichText/getRichTextComponentProps.js +10 -0
- package/dist/PrismicRichText/getRichTextComponentProps.js.map +1 -0
- package/dist/PrismicRichText/index.d.ts +2 -0
- package/dist/PrismicRichText/types.d.ts +22 -0
- package/dist/PrismicText.vue.cjs +43 -0
- package/dist/PrismicText.vue.cjs.map +1 -0
- package/dist/PrismicText.vue.d.ts +31 -0
- package/dist/PrismicText.vue.js +44 -0
- package/dist/PrismicText.vue.js.map +1 -0
- package/dist/PrismicText.vue2.cjs +4 -0
- package/dist/PrismicText.vue2.cjs.map +1 -0
- package/dist/PrismicText.vue2.js +5 -0
- package/dist/PrismicText.vue2.js.map +1 -0
- package/dist/SliceZone/SliceZone.vue.cjs +63 -0
- package/dist/SliceZone/SliceZone.vue.cjs.map +1 -0
- package/dist/SliceZone/SliceZone.vue.d.ts +40 -0
- package/dist/SliceZone/SliceZone.vue.js +64 -0
- package/dist/SliceZone/SliceZone.vue.js.map +1 -0
- package/dist/SliceZone/SliceZone.vue2.cjs +4 -0
- package/dist/SliceZone/SliceZone.vue2.cjs.map +1 -0
- package/dist/SliceZone/SliceZone.vue2.js +5 -0
- package/dist/SliceZone/SliceZone.vue2.js.map +1 -0
- package/dist/SliceZone/TODOSliceComponent.cjs +29 -0
- package/dist/SliceZone/TODOSliceComponent.cjs.map +1 -0
- package/dist/SliceZone/TODOSliceComponent.d.ts +9 -0
- package/dist/SliceZone/TODOSliceComponent.js +29 -0
- package/dist/SliceZone/TODOSliceComponent.js.map +1 -0
- package/dist/SliceZone/defineSliceZoneComponents.cjs +14 -0
- package/dist/SliceZone/defineSliceZoneComponents.cjs.map +1 -0
- package/dist/SliceZone/defineSliceZoneComponents.d.ts +36 -0
- package/dist/SliceZone/defineSliceZoneComponents.js +14 -0
- package/dist/SliceZone/defineSliceZoneComponents.js.map +1 -0
- package/dist/SliceZone/getSliceComponentProps.cjs +22 -0
- package/dist/SliceZone/getSliceComponentProps.cjs.map +1 -0
- package/dist/SliceZone/getSliceComponentProps.d.ts +66 -0
- package/dist/SliceZone/getSliceComponentProps.js +22 -0
- package/dist/SliceZone/getSliceComponentProps.js.map +1 -0
- package/dist/SliceZone/index.d.ts +4 -0
- package/dist/SliceZone/types.d.ts +97 -0
- package/dist/createPrismic.cjs +17 -50
- package/dist/createPrismic.cjs.map +1 -1
- package/dist/createPrismic.d.ts +10 -0
- package/dist/createPrismic.js +16 -27
- package/dist/createPrismic.js.map +1 -1
- package/dist/index.cjs +21 -40
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +19 -9
- package/dist/index.js +19 -38
- package/dist/index.js.map +1 -1
- package/dist/lib/Wrapper.vue.cjs +20 -0
- package/dist/lib/Wrapper.vue.cjs.map +1 -0
- package/dist/lib/Wrapper.vue.d.ts +34 -0
- package/dist/lib/Wrapper.vue.js +21 -0
- package/dist/lib/Wrapper.vue.js.map +1 -0
- package/dist/lib/Wrapper.vue2.cjs +4 -0
- package/dist/lib/Wrapper.vue2.cjs.map +1 -0
- package/dist/lib/Wrapper.vue2.js +5 -0
- package/dist/lib/Wrapper.vue2.js.map +1 -0
- package/dist/lib/devMsg.cjs +8 -0
- package/dist/lib/devMsg.cjs.map +1 -0
- package/dist/lib/devMsg.d.ts +16 -0
- package/dist/lib/devMsg.js +8 -0
- package/dist/lib/devMsg.js.map +1 -0
- package/dist/lib/isInternalURL.cjs.map +1 -1
- package/dist/lib/isInternalURL.js.map +1 -1
- package/dist/package.json.cjs +5 -0
- package/dist/package.json.cjs.map +1 -0
- package/dist/package.json.js +5 -0
- package/dist/package.json.js.map +1 -0
- package/dist/types.d.ts +42 -58
- package/dist/usePrismic.cjs +3 -2
- package/dist/usePrismic.cjs.map +1 -1
- package/dist/usePrismic.d.ts +13 -5
- package/dist/usePrismic.js +2 -1
- package/dist/usePrismic.js.map +1 -1
- package/package.json +33 -36
- package/src/PrismicEmbed.vue +42 -0
- package/src/PrismicImage.vue +160 -0
- package/src/PrismicLink.vue +191 -0
- package/src/PrismicRichText/DeprecatedPrismicRichText.vue +130 -0
- package/src/PrismicRichText/PrismicRichText.vue +157 -0
- package/src/PrismicRichText/PrismicRichTextDefaultComponent.vue +63 -0
- package/src/PrismicRichText/PrismicRichTextSerialize.vue +52 -0
- package/src/PrismicRichText/getRichTextComponentProps.ts +63 -0
- package/src/PrismicRichText/index.ts +3 -0
- package/src/PrismicRichText/types.ts +37 -0
- package/src/PrismicText.vue +63 -0
- package/src/SliceZone/SliceZone.vue +113 -0
- package/src/SliceZone/TODOSliceComponent.ts +49 -0
- package/src/SliceZone/defineSliceZoneComponents.ts +67 -0
- package/src/SliceZone/getSliceComponentProps.ts +98 -0
- package/src/SliceZone/index.ts +13 -0
- package/src/SliceZone/types.ts +163 -0
- package/src/createPrismic.ts +54 -53
- package/src/index.ts +33 -58
- package/src/lib/Wrapper.vue +22 -0
- package/src/lib/devMsg.ts +20 -0
- package/src/lib/isInternalURL.ts +4 -4
- package/src/types.ts +91 -109
- package/src/usePrismic.ts +16 -9
- package/dist/components/PrismicEmbed.cjs +0 -36
- package/dist/components/PrismicEmbed.cjs.map +0 -1
- package/dist/components/PrismicEmbed.d.ts +0 -59
- package/dist/components/PrismicEmbed.js +0 -36
- package/dist/components/PrismicEmbed.js.map +0 -1
- package/dist/components/PrismicImage.cjs +0 -122
- package/dist/components/PrismicImage.cjs.map +0 -1
- package/dist/components/PrismicImage.d.ts +0 -163
- package/dist/components/PrismicImage.js +0 -122
- package/dist/components/PrismicImage.js.map +0 -1
- package/dist/components/PrismicLink.cjs +0 -115
- package/dist/components/PrismicLink.cjs.map +0 -1
- package/dist/components/PrismicLink.d.ts +0 -192
- package/dist/components/PrismicLink.js +0 -115
- package/dist/components/PrismicLink.js.map +0 -1
- package/dist/components/PrismicRichText.cjs +0 -108
- package/dist/components/PrismicRichText.cjs.map +0 -1
- package/dist/components/PrismicRichText.d.ts +0 -161
- package/dist/components/PrismicRichText.js +0 -108
- package/dist/components/PrismicRichText.js.map +0 -1
- package/dist/components/PrismicText.cjs +0 -57
- package/dist/components/PrismicText.cjs.map +0 -1
- package/dist/components/PrismicText.d.ts +0 -119
- package/dist/components/PrismicText.js +0 -57
- package/dist/components/PrismicText.js.map +0 -1
- package/dist/components/SliceZone.cjs +0 -156
- package/dist/components/SliceZone.cjs.map +0 -1
- package/dist/components/SliceZone.d.ts +0 -375
- package/dist/components/SliceZone.js +0 -156
- package/dist/components/SliceZone.js.map +0 -1
- package/dist/components/index.d.ts +0 -12
- package/dist/composables.cjs +0 -40
- package/dist/composables.cjs.map +0 -1
- package/dist/composables.d.ts +0 -384
- package/dist/composables.js +0 -40
- package/dist/composables.js.map +0 -1
- package/dist/globalExtensions.d.ts +0 -11
- package/dist/injectionSymbols.cjs +0 -5
- package/dist/injectionSymbols.cjs.map +0 -1
- package/dist/injectionSymbols.d.ts +0 -9
- package/dist/injectionSymbols.js +0 -5
- package/dist/injectionSymbols.js.map +0 -1
- package/dist/lib/__PRODUCTION__.cjs +0 -8
- package/dist/lib/__PRODUCTION__.cjs.map +0 -1
- package/dist/lib/__PRODUCTION__.d.ts +0 -7
- package/dist/lib/__PRODUCTION__.js +0 -8
- package/dist/lib/__PRODUCTION__.js.map +0 -1
- package/dist/lib/getSlots.cjs +0 -19
- package/dist/lib/getSlots.cjs.map +0 -1
- package/dist/lib/getSlots.d.ts +0 -14
- package/dist/lib/getSlots.js +0 -19
- package/dist/lib/getSlots.js.map +0 -1
- package/dist/lib/simplyResolveComponent.cjs +0 -8
- package/dist/lib/simplyResolveComponent.cjs.map +0 -1
- package/dist/lib/simplyResolveComponent.d.ts +0 -12
- package/dist/lib/simplyResolveComponent.js +0 -8
- package/dist/lib/simplyResolveComponent.js.map +0 -1
- package/dist/useStatefulPrismicClientMethod.cjs +0 -39
- package/dist/useStatefulPrismicClientMethod.cjs.map +0 -1
- package/dist/useStatefulPrismicClientMethod.d.ts +0 -64
- package/dist/useStatefulPrismicClientMethod.js +0 -39
- package/dist/useStatefulPrismicClientMethod.js.map +0 -1
- package/src/components/PrismicEmbed.ts +0 -91
- package/src/components/PrismicImage.ts +0 -309
- package/src/components/PrismicLink.ts +0 -313
- package/src/components/PrismicRichText.ts +0 -282
- package/src/components/PrismicText.ts +0 -167
- package/src/components/SliceZone.ts +0 -619
- package/src/components/index.ts +0 -46
- package/src/composables.ts +0 -474
- package/src/globalExtensions.ts +0 -12
- package/src/injectionSymbols.ts +0 -17
- package/src/lib/__PRODUCTION__.ts +0 -12
- package/src/lib/getSlots.ts +0 -34
- package/src/lib/simplyResolveComponent.ts +0 -23
- package/src/useStatefulPrismicClientMethod.ts +0 -156
- package/vetur/attributes.json +0 -113
- package/vetur/tags.json +0 -60
package/src/createPrismic.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type {
|
|
2
2
|
Client,
|
|
3
|
-
|
|
3
|
+
HTMLRichTextFunctionSerializer,
|
|
4
|
+
HTMLRichTextMapSerializer,
|
|
4
5
|
LinkResolverFunction,
|
|
6
|
+
} from "@prismicio/client"
|
|
7
|
+
import {
|
|
5
8
|
asDate,
|
|
6
9
|
asHTML,
|
|
7
10
|
asImagePixelDensitySrcSet,
|
|
@@ -15,25 +18,24 @@ import {
|
|
|
15
18
|
documentToLinkField,
|
|
16
19
|
filter,
|
|
17
20
|
isFilled,
|
|
18
|
-
} from "@prismicio/client"
|
|
19
|
-
import { App } from "vue"
|
|
21
|
+
} from "@prismicio/client"
|
|
22
|
+
import type { App } from "vue"
|
|
20
23
|
|
|
21
24
|
import type {
|
|
22
25
|
PrismicPlugin,
|
|
23
26
|
PrismicPluginClient,
|
|
24
27
|
PrismicPluginHelpers,
|
|
25
28
|
PrismicPluginOptions,
|
|
26
|
-
} from "./types"
|
|
29
|
+
} from "./types"
|
|
27
30
|
|
|
28
|
-
import
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
} from "./
|
|
36
|
-
import { prismicKey } from "./injectionSymbols";
|
|
31
|
+
import PrismicRichText from "./PrismicRichText/PrismicRichText.vue"
|
|
32
|
+
import SliceZone from "./SliceZone/SliceZone.vue"
|
|
33
|
+
|
|
34
|
+
import PrismicEmbed from "./PrismicEmbed.vue"
|
|
35
|
+
import PrismicImage from "./PrismicImage.vue"
|
|
36
|
+
import PrismicLink from "./PrismicLink.vue"
|
|
37
|
+
import PrismicText from "./PrismicText.vue"
|
|
38
|
+
import { prismicKey } from "./usePrismic"
|
|
37
39
|
|
|
38
40
|
/**
|
|
39
41
|
* Creates a `@prismicio/vue` plugin instance that can be used by a Vue app.
|
|
@@ -47,36 +49,24 @@ import { prismicKey } from "./injectionSymbols";
|
|
|
47
49
|
*/
|
|
48
50
|
export const createPrismic = (options: PrismicPluginOptions): PrismicPlugin => {
|
|
49
51
|
// Create plugin client
|
|
50
|
-
let client: Client
|
|
52
|
+
let client: Client
|
|
51
53
|
if (options.client) {
|
|
52
|
-
client = options.client
|
|
54
|
+
client = options.client
|
|
53
55
|
} else {
|
|
54
|
-
client = createClient(options.endpoint,
|
|
55
|
-
fetch: async (endpoint, options) => {
|
|
56
|
-
let fetchFunction: FetchLike;
|
|
57
|
-
if (typeof globalThis.fetch === "function") {
|
|
58
|
-
fetchFunction = globalThis.fetch;
|
|
59
|
-
} else {
|
|
60
|
-
fetchFunction = (await import("isomorphic-unfetch")).default;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return await fetchFunction(endpoint, options);
|
|
64
|
-
},
|
|
65
|
-
...options.clientConfig,
|
|
66
|
-
});
|
|
56
|
+
client = createClient(options.endpoint, options.clientConfig)
|
|
67
57
|
}
|
|
68
58
|
|
|
69
59
|
const prismicClient: PrismicPluginClient = {
|
|
70
60
|
client,
|
|
71
61
|
filter,
|
|
72
62
|
cookie,
|
|
73
|
-
}
|
|
63
|
+
}
|
|
74
64
|
|
|
75
65
|
// Create plugin helpers
|
|
76
66
|
const prismicHelpers: PrismicPluginHelpers = {
|
|
77
67
|
asText,
|
|
78
68
|
asHTML: (richTextField, ...config) => {
|
|
79
|
-
const [configOrLinkResolver, maybeHTMLSerializer] = config
|
|
69
|
+
const [configOrLinkResolver, maybeHTMLSerializer] = config
|
|
80
70
|
|
|
81
71
|
return asHTML(
|
|
82
72
|
richTextField,
|
|
@@ -85,16 +75,16 @@ export const createPrismic = (options: PrismicPluginOptions): PrismicPlugin => {
|
|
|
85
75
|
? {
|
|
86
76
|
linkResolver: configOrLinkResolver || options.linkResolver,
|
|
87
77
|
serializer:
|
|
88
|
-
maybeHTMLSerializer
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
78
|
+
(maybeHTMLSerializer as
|
|
79
|
+
| HTMLRichTextFunctionSerializer
|
|
80
|
+
| HTMLRichTextMapSerializer) || options.richTextSerializer,
|
|
81
|
+
}
|
|
92
82
|
: {
|
|
93
83
|
linkResolver: options.linkResolver,
|
|
94
|
-
serializer: options.richTextSerializer
|
|
84
|
+
serializer: options.richTextSerializer,
|
|
95
85
|
...configOrLinkResolver,
|
|
96
|
-
|
|
97
|
-
)
|
|
86
|
+
},
|
|
87
|
+
)
|
|
98
88
|
},
|
|
99
89
|
asLink: (linkField, config) => {
|
|
100
90
|
return asLink(
|
|
@@ -106,8 +96,8 @@ export const createPrismic = (options: PrismicPluginOptions): PrismicPlugin => {
|
|
|
106
96
|
// TODO: For some reasons, TypeScript narrows the type to "unknown" where it's supposed to be a union
|
|
107
97
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
108
98
|
...(config as any),
|
|
109
|
-
|
|
110
|
-
)
|
|
99
|
+
},
|
|
100
|
+
)
|
|
111
101
|
},
|
|
112
102
|
asLinkAttrs: (linkField, config) => {
|
|
113
103
|
return asLinkAttrs(linkField, {
|
|
@@ -115,7 +105,7 @@ export const createPrismic = (options: PrismicPluginOptions): PrismicPlugin => {
|
|
|
115
105
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
116
106
|
linkResolver: options.linkResolver as LinkResolverFunction<any>,
|
|
117
107
|
...config,
|
|
118
|
-
})
|
|
108
|
+
})
|
|
119
109
|
},
|
|
120
110
|
asDate,
|
|
121
111
|
asImageSrc,
|
|
@@ -123,7 +113,7 @@ export const createPrismic = (options: PrismicPluginOptions): PrismicPlugin => {
|
|
|
123
113
|
asImagePixelDensitySrcSet,
|
|
124
114
|
isFilled,
|
|
125
115
|
documentToLinkField,
|
|
126
|
-
}
|
|
116
|
+
}
|
|
127
117
|
|
|
128
118
|
// Create plugin interface
|
|
129
119
|
const prismic: PrismicPlugin = {
|
|
@@ -133,19 +123,30 @@ export const createPrismic = (options: PrismicPluginOptions): PrismicPlugin => {
|
|
|
133
123
|
...prismicHelpers,
|
|
134
124
|
|
|
135
125
|
install(app: App): void {
|
|
136
|
-
app.provide(prismicKey, this)
|
|
137
|
-
app.config.globalProperties.$prismic = this
|
|
126
|
+
app.provide(prismicKey, this)
|
|
127
|
+
app.config.globalProperties.$prismic = this
|
|
138
128
|
|
|
139
129
|
if (options.injectComponents !== false) {
|
|
140
|
-
app.component(PrismicLink.name
|
|
141
|
-
app.component(PrismicEmbed.name
|
|
142
|
-
app.component(PrismicImage.name
|
|
143
|
-
app.component(PrismicText.name
|
|
144
|
-
app.component(PrismicRichText.name
|
|
145
|
-
app.component(SliceZone.name
|
|
130
|
+
app.component(PrismicLink.name!, PrismicLink)
|
|
131
|
+
app.component(PrismicEmbed.name!, PrismicEmbed)
|
|
132
|
+
app.component(PrismicImage.name!, PrismicImage)
|
|
133
|
+
app.component(PrismicText.name!, PrismicText)
|
|
134
|
+
app.component(PrismicRichText.name!, PrismicRichText)
|
|
135
|
+
app.component(SliceZone.name!, SliceZone)
|
|
146
136
|
}
|
|
147
137
|
},
|
|
148
|
-
}
|
|
138
|
+
}
|
|
149
139
|
|
|
150
|
-
return prismic
|
|
151
|
-
}
|
|
140
|
+
return prismic
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
declare module "vue" {
|
|
144
|
+
export interface ComponentCustomProperties {
|
|
145
|
+
/**
|
|
146
|
+
* `@prismicio/vue` plugin interface exposed on `this`.
|
|
147
|
+
*
|
|
148
|
+
* @see `@prismicio/vue` plugin interface {@link PrismicPlugin}
|
|
149
|
+
*/
|
|
150
|
+
$prismic: PrismicPlugin
|
|
151
|
+
}
|
|
152
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,75 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import PrismicRichText from "./PrismicRichText/PrismicRichText.vue"
|
|
2
|
+
import SliceZone from "./SliceZone/SliceZone.vue"
|
|
3
|
+
|
|
4
|
+
import PrismicEmbed from "./PrismicEmbed.vue"
|
|
5
|
+
import PrismicImage from "./PrismicImage.vue"
|
|
6
|
+
import PrismicLink from "./PrismicLink.vue"
|
|
7
|
+
import PrismicText from "./PrismicText.vue"
|
|
8
|
+
|
|
9
|
+
export type { SliceZoneProps } from "./SliceZone/SliceZone.vue"
|
|
10
|
+
export type { PrismicRichTextProps } from "./PrismicRichText/PrismicRichText.vue"
|
|
11
|
+
|
|
12
|
+
export type { PrismicEmbedProps } from "./PrismicEmbed.vue"
|
|
13
|
+
export type { PrismicImageProps } from "./PrismicImage.vue"
|
|
14
|
+
export type { PrismicLinkProps } from "./PrismicLink.vue"
|
|
15
|
+
export type { PrismicTextProps } from "./PrismicText.vue"
|
|
3
16
|
|
|
4
17
|
export {
|
|
5
|
-
|
|
6
|
-
usePrismicImage,
|
|
7
|
-
usePrismicLink,
|
|
8
|
-
usePrismicText,
|
|
9
|
-
usePrismicRichText,
|
|
10
|
-
// Components
|
|
18
|
+
SliceZone,
|
|
11
19
|
PrismicEmbed,
|
|
12
20
|
PrismicImage,
|
|
13
21
|
PrismicLink,
|
|
14
22
|
PrismicText,
|
|
15
23
|
PrismicRichText,
|
|
16
|
-
|
|
17
|
-
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { getRichTextComponentProps } from "./PrismicRichText"
|
|
27
|
+
export type {
|
|
28
|
+
VueRichTextSerializer,
|
|
29
|
+
RichTextComponentProps,
|
|
30
|
+
} from "./PrismicRichText"
|
|
31
|
+
|
|
32
|
+
export {
|
|
18
33
|
TODOSliceComponent,
|
|
19
34
|
defineSliceZoneComponents,
|
|
20
|
-
|
|
21
|
-
} from "./
|
|
35
|
+
getSliceComponentProps,
|
|
36
|
+
} from "./SliceZone"
|
|
22
37
|
export type {
|
|
23
|
-
// Composables
|
|
24
|
-
UsePrismicImageOptions,
|
|
25
|
-
UsePrismicLinkOptions,
|
|
26
|
-
UsePrismicTextOptions,
|
|
27
|
-
UsePrismicRichTextOptions,
|
|
28
|
-
// Components
|
|
29
|
-
PrismicEmbedProps,
|
|
30
|
-
PrismicImageProps,
|
|
31
|
-
PrismicLinkProps,
|
|
32
|
-
PrismicTextProps,
|
|
33
|
-
PrismicRichTextProps,
|
|
34
|
-
// Slice Zone
|
|
35
|
-
DefineComponentSliceComponentProps,
|
|
36
38
|
SliceComponentProps,
|
|
37
39
|
SliceComponentType,
|
|
38
|
-
SliceLikeRestV2,
|
|
39
|
-
SliceLikeGraphQL,
|
|
40
40
|
SliceLike,
|
|
41
|
+
SliceLikeGraphQL,
|
|
42
|
+
SliceLikeRestV2,
|
|
41
43
|
SliceZoneComponents,
|
|
42
|
-
SliceZoneResolver,
|
|
43
44
|
SliceZoneLike,
|
|
44
|
-
|
|
45
|
-
} from "./components";
|
|
46
|
-
|
|
47
|
-
export {
|
|
48
|
-
useAllPrismicDocumentsByIDs,
|
|
49
|
-
useAllPrismicDocumentsByUIDs,
|
|
50
|
-
useAllPrismicDocumentsByTag,
|
|
51
|
-
useAllPrismicDocumentsByEveryTag,
|
|
52
|
-
useAllPrismicDocumentsBySomeTags,
|
|
53
|
-
useAllPrismicDocumentsByType,
|
|
54
|
-
useFirstPrismicDocument,
|
|
55
|
-
usePrismicDocumentByID,
|
|
56
|
-
usePrismicDocumentByUID,
|
|
57
|
-
usePrismicDocuments,
|
|
58
|
-
usePrismicDocumentsByIDs,
|
|
59
|
-
usePrismicDocumentsByUIDs,
|
|
60
|
-
usePrismicDocumentsByTag,
|
|
61
|
-
usePrismicDocumentsByEveryTag,
|
|
62
|
-
usePrismicDocumentsBySomeTags,
|
|
63
|
-
usePrismicDocumentsByType,
|
|
64
|
-
useSinglePrismicDocument,
|
|
65
|
-
dangerouslyUseAllPrismicDocuments,
|
|
66
|
-
} from "./composables";
|
|
67
|
-
|
|
68
|
-
export type { ClientComposableReturnType } from "./useStatefulPrismicClientMethod";
|
|
69
|
-
|
|
70
|
-
export { PrismicClientComposableState } from "./types";
|
|
71
|
-
export type { PrismicPluginOptions, PrismicPlugin } from "./types";
|
|
45
|
+
} from "./SliceZone"
|
|
72
46
|
|
|
73
|
-
export {
|
|
47
|
+
export type { PrismicPluginOptions, PrismicPlugin } from "./types"
|
|
74
48
|
|
|
75
|
-
export
|
|
49
|
+
export { createPrismic } from "./createPrismic"
|
|
50
|
+
export { usePrismic, prismicKey } from "./usePrismic"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<script lang="ts" setup>
|
|
2
|
+
import type { ComponentOrTagName } from "../types"
|
|
3
|
+
|
|
4
|
+
defineProps<{
|
|
5
|
+
/**
|
|
6
|
+
* An HTML tag name or a component used to wrap the output. Output is not
|
|
7
|
+
* wrapped by default.
|
|
8
|
+
*
|
|
9
|
+
* @defaultValue `"template"` (no wrapper)
|
|
10
|
+
*/
|
|
11
|
+
wrapper?: ComponentOrTagName
|
|
12
|
+
}>()
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<template>
|
|
16
|
+
<component v-if="wrapper" :is="wrapper" v-bind="$attrs">
|
|
17
|
+
<slot />
|
|
18
|
+
</component>
|
|
19
|
+
<template v-else>
|
|
20
|
+
<slot />
|
|
21
|
+
</template>
|
|
22
|
+
</template>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { version } from "../../package.json"
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Returns a `prismic.dev/msg` URL for a given message slug.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* devMsg("missing-param")
|
|
10
|
+
* // => "https://prismic.dev/msg/svelte/v1.2.3/missing-param.md"
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @param slug - Slug for the message. This corresponds to a Markdown file in
|
|
14
|
+
* the Git repository's `/messages` directory.
|
|
15
|
+
*
|
|
16
|
+
* @returns The `prismic.dev/msg` URL for the given slug.
|
|
17
|
+
*/
|
|
18
|
+
export const devMsg = (slug: string): string => {
|
|
19
|
+
return `https://prismic.dev/msg/vue/v${version}/${slug}`
|
|
20
|
+
}
|
package/src/lib/isInternalURL.ts
CHANGED
|
@@ -10,11 +10,11 @@ export const isInternalURL = (url: string): boolean => {
|
|
|
10
10
|
/**
|
|
11
11
|
* @see Regex101 expression: {@link https://regex101.com/r/1y7iod/1}
|
|
12
12
|
*/
|
|
13
|
-
const isInternal = /^\/(?!\/)/.test(url)
|
|
13
|
+
const isInternal = /^\/(?!\/)/.test(url)
|
|
14
14
|
/**
|
|
15
15
|
* @see Regex101 expression: {@link https://regex101.com/r/RnUseS/1}
|
|
16
16
|
*/
|
|
17
|
-
const isSpecialLink = !isInternal && !/^https?:\/\//i.test(url)
|
|
17
|
+
const isSpecialLink = !isInternal && !/^https?:\/\//i.test(url)
|
|
18
18
|
|
|
19
|
-
return isInternal && !isSpecialLink
|
|
20
|
-
}
|
|
19
|
+
return isInternal && !isSpecialLink
|
|
20
|
+
}
|