@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.
Files changed (245) hide show
  1. package/README.md +4 -4
  2. package/dist/PrismicEmbed.vue.cjs +25 -0
  3. package/dist/PrismicEmbed.vue.cjs.map +1 -0
  4. package/dist/PrismicEmbed.vue.d.ts +19 -0
  5. package/dist/PrismicEmbed.vue.js +26 -0
  6. package/dist/PrismicEmbed.vue.js.map +1 -0
  7. package/dist/PrismicEmbed.vue2.cjs +4 -0
  8. package/dist/PrismicEmbed.vue2.cjs.map +1 -0
  9. package/dist/PrismicEmbed.vue2.js +5 -0
  10. package/dist/PrismicEmbed.vue2.js.map +1 -0
  11. package/dist/PrismicImage.vue.cjs +84 -0
  12. package/dist/PrismicImage.vue.cjs.map +1 -0
  13. package/dist/PrismicImage.vue.d.ts +224 -0
  14. package/dist/PrismicImage.vue.js +85 -0
  15. package/dist/PrismicImage.vue.js.map +1 -0
  16. package/dist/PrismicImage.vue2.cjs +4 -0
  17. package/dist/PrismicImage.vue2.cjs.map +1 -0
  18. package/dist/PrismicImage.vue2.js +5 -0
  19. package/dist/PrismicImage.vue2.js.map +1 -0
  20. package/dist/PrismicLink.vue.cjs +100 -0
  21. package/dist/PrismicLink.vue.cjs.map +1 -0
  22. package/dist/PrismicLink.vue.d.ts +278 -0
  23. package/dist/PrismicLink.vue.js +101 -0
  24. package/dist/PrismicLink.vue.js.map +1 -0
  25. package/dist/PrismicLink.vue2.cjs +4 -0
  26. package/dist/PrismicLink.vue2.cjs.map +1 -0
  27. package/dist/PrismicLink.vue2.js +5 -0
  28. package/dist/PrismicLink.vue2.js.map +1 -0
  29. package/dist/PrismicRichText/DeprecatedPrismicRichText.vue.cjs +90 -0
  30. package/dist/PrismicRichText/DeprecatedPrismicRichText.vue.cjs.map +1 -0
  31. package/dist/PrismicRichText/DeprecatedPrismicRichText.vue.d.ts +7 -0
  32. package/dist/PrismicRichText/DeprecatedPrismicRichText.vue.js +91 -0
  33. package/dist/PrismicRichText/DeprecatedPrismicRichText.vue.js.map +1 -0
  34. package/dist/PrismicRichText/DeprecatedPrismicRichText.vue2.cjs +4 -0
  35. package/dist/PrismicRichText/DeprecatedPrismicRichText.vue2.cjs.map +1 -0
  36. package/dist/PrismicRichText/DeprecatedPrismicRichText.vue2.js +5 -0
  37. package/dist/PrismicRichText/DeprecatedPrismicRichText.vue2.js.map +1 -0
  38. package/dist/PrismicRichText/PrismicRichText.vue.cjs +85 -0
  39. package/dist/PrismicRichText/PrismicRichText.vue.cjs.map +1 -0
  40. package/dist/PrismicRichText/PrismicRichText.vue.d.ts +57 -0
  41. package/dist/PrismicRichText/PrismicRichText.vue.js +86 -0
  42. package/dist/PrismicRichText/PrismicRichText.vue.js.map +1 -0
  43. package/dist/PrismicRichText/PrismicRichText.vue2.cjs +4 -0
  44. package/dist/PrismicRichText/PrismicRichText.vue2.cjs.map +1 -0
  45. package/dist/PrismicRichText/PrismicRichText.vue2.js +5 -0
  46. package/dist/PrismicRichText/PrismicRichText.vue2.js.map +1 -0
  47. package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue.cjs +133 -0
  48. package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue.cjs.map +1 -0
  49. package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue.d.ts +37 -0
  50. package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue.js +134 -0
  51. package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue.js.map +1 -0
  52. package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue2.cjs +4 -0
  53. package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue2.cjs.map +1 -0
  54. package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue2.js +5 -0
  55. package/dist/PrismicRichText/PrismicRichTextDefaultComponent.vue2.js.map +1 -0
  56. package/dist/PrismicRichText/PrismicRichTextSerialize.vue.cjs +47 -0
  57. package/dist/PrismicRichText/PrismicRichTextSerialize.vue.cjs.map +1 -0
  58. package/dist/PrismicRichText/PrismicRichTextSerialize.vue.d.ts +10 -0
  59. package/dist/PrismicRichText/PrismicRichTextSerialize.vue.js +48 -0
  60. package/dist/PrismicRichText/PrismicRichTextSerialize.vue.js.map +1 -0
  61. package/dist/PrismicRichText/PrismicRichTextSerialize.vue2.cjs +4 -0
  62. package/dist/PrismicRichText/PrismicRichTextSerialize.vue2.cjs.map +1 -0
  63. package/dist/PrismicRichText/PrismicRichTextSerialize.vue2.js +5 -0
  64. package/dist/PrismicRichText/PrismicRichTextSerialize.vue2.js.map +1 -0
  65. package/dist/PrismicRichText/getRichTextComponentProps.cjs +10 -0
  66. package/dist/PrismicRichText/getRichTextComponentProps.cjs.map +1 -0
  67. package/dist/PrismicRichText/getRichTextComponentProps.d.ts +49 -0
  68. package/dist/PrismicRichText/getRichTextComponentProps.js +10 -0
  69. package/dist/PrismicRichText/getRichTextComponentProps.js.map +1 -0
  70. package/dist/PrismicRichText/index.d.ts +2 -0
  71. package/dist/PrismicRichText/types.d.ts +22 -0
  72. package/dist/PrismicText.vue.cjs +43 -0
  73. package/dist/PrismicText.vue.cjs.map +1 -0
  74. package/dist/PrismicText.vue.d.ts +31 -0
  75. package/dist/PrismicText.vue.js +44 -0
  76. package/dist/PrismicText.vue.js.map +1 -0
  77. package/dist/PrismicText.vue2.cjs +4 -0
  78. package/dist/PrismicText.vue2.cjs.map +1 -0
  79. package/dist/PrismicText.vue2.js +5 -0
  80. package/dist/PrismicText.vue2.js.map +1 -0
  81. package/dist/SliceZone/SliceZone.vue.cjs +63 -0
  82. package/dist/SliceZone/SliceZone.vue.cjs.map +1 -0
  83. package/dist/SliceZone/SliceZone.vue.d.ts +40 -0
  84. package/dist/SliceZone/SliceZone.vue.js +64 -0
  85. package/dist/SliceZone/SliceZone.vue.js.map +1 -0
  86. package/dist/SliceZone/SliceZone.vue2.cjs +4 -0
  87. package/dist/SliceZone/SliceZone.vue2.cjs.map +1 -0
  88. package/dist/SliceZone/SliceZone.vue2.js +5 -0
  89. package/dist/SliceZone/SliceZone.vue2.js.map +1 -0
  90. package/dist/SliceZone/TODOSliceComponent.cjs +29 -0
  91. package/dist/SliceZone/TODOSliceComponent.cjs.map +1 -0
  92. package/dist/SliceZone/TODOSliceComponent.d.ts +9 -0
  93. package/dist/SliceZone/TODOSliceComponent.js +29 -0
  94. package/dist/SliceZone/TODOSliceComponent.js.map +1 -0
  95. package/dist/SliceZone/defineSliceZoneComponents.cjs +14 -0
  96. package/dist/SliceZone/defineSliceZoneComponents.cjs.map +1 -0
  97. package/dist/SliceZone/defineSliceZoneComponents.d.ts +36 -0
  98. package/dist/SliceZone/defineSliceZoneComponents.js +14 -0
  99. package/dist/SliceZone/defineSliceZoneComponents.js.map +1 -0
  100. package/dist/SliceZone/getSliceComponentProps.cjs +22 -0
  101. package/dist/SliceZone/getSliceComponentProps.cjs.map +1 -0
  102. package/dist/SliceZone/getSliceComponentProps.d.ts +66 -0
  103. package/dist/SliceZone/getSliceComponentProps.js +22 -0
  104. package/dist/SliceZone/getSliceComponentProps.js.map +1 -0
  105. package/dist/SliceZone/index.d.ts +4 -0
  106. package/dist/SliceZone/types.d.ts +97 -0
  107. package/dist/createPrismic.cjs +17 -50
  108. package/dist/createPrismic.cjs.map +1 -1
  109. package/dist/createPrismic.d.ts +10 -0
  110. package/dist/createPrismic.js +16 -27
  111. package/dist/createPrismic.js.map +1 -1
  112. package/dist/index.cjs +21 -40
  113. package/dist/index.cjs.map +1 -1
  114. package/dist/index.d.ts +19 -9
  115. package/dist/index.js +19 -38
  116. package/dist/index.js.map +1 -1
  117. package/dist/lib/Wrapper.vue.cjs +20 -0
  118. package/dist/lib/Wrapper.vue.cjs.map +1 -0
  119. package/dist/lib/Wrapper.vue.d.ts +34 -0
  120. package/dist/lib/Wrapper.vue.js +21 -0
  121. package/dist/lib/Wrapper.vue.js.map +1 -0
  122. package/dist/lib/Wrapper.vue2.cjs +4 -0
  123. package/dist/lib/Wrapper.vue2.cjs.map +1 -0
  124. package/dist/lib/Wrapper.vue2.js +5 -0
  125. package/dist/lib/Wrapper.vue2.js.map +1 -0
  126. package/dist/lib/devMsg.cjs +8 -0
  127. package/dist/lib/devMsg.cjs.map +1 -0
  128. package/dist/lib/devMsg.d.ts +16 -0
  129. package/dist/lib/devMsg.js +8 -0
  130. package/dist/lib/devMsg.js.map +1 -0
  131. package/dist/lib/isInternalURL.cjs.map +1 -1
  132. package/dist/lib/isInternalURL.js.map +1 -1
  133. package/dist/package.json.cjs +5 -0
  134. package/dist/package.json.cjs.map +1 -0
  135. package/dist/package.json.js +5 -0
  136. package/dist/package.json.js.map +1 -0
  137. package/dist/types.d.ts +42 -58
  138. package/dist/usePrismic.cjs +3 -2
  139. package/dist/usePrismic.cjs.map +1 -1
  140. package/dist/usePrismic.d.ts +13 -5
  141. package/dist/usePrismic.js +2 -1
  142. package/dist/usePrismic.js.map +1 -1
  143. package/package.json +33 -36
  144. package/src/PrismicEmbed.vue +42 -0
  145. package/src/PrismicImage.vue +160 -0
  146. package/src/PrismicLink.vue +191 -0
  147. package/src/PrismicRichText/DeprecatedPrismicRichText.vue +130 -0
  148. package/src/PrismicRichText/PrismicRichText.vue +157 -0
  149. package/src/PrismicRichText/PrismicRichTextDefaultComponent.vue +63 -0
  150. package/src/PrismicRichText/PrismicRichTextSerialize.vue +52 -0
  151. package/src/PrismicRichText/getRichTextComponentProps.ts +63 -0
  152. package/src/PrismicRichText/index.ts +3 -0
  153. package/src/PrismicRichText/types.ts +37 -0
  154. package/src/PrismicText.vue +63 -0
  155. package/src/SliceZone/SliceZone.vue +113 -0
  156. package/src/SliceZone/TODOSliceComponent.ts +49 -0
  157. package/src/SliceZone/defineSliceZoneComponents.ts +67 -0
  158. package/src/SliceZone/getSliceComponentProps.ts +98 -0
  159. package/src/SliceZone/index.ts +13 -0
  160. package/src/SliceZone/types.ts +163 -0
  161. package/src/createPrismic.ts +54 -53
  162. package/src/index.ts +33 -58
  163. package/src/lib/Wrapper.vue +22 -0
  164. package/src/lib/devMsg.ts +20 -0
  165. package/src/lib/isInternalURL.ts +4 -4
  166. package/src/types.ts +91 -109
  167. package/src/usePrismic.ts +16 -9
  168. package/dist/components/PrismicEmbed.cjs +0 -36
  169. package/dist/components/PrismicEmbed.cjs.map +0 -1
  170. package/dist/components/PrismicEmbed.d.ts +0 -59
  171. package/dist/components/PrismicEmbed.js +0 -36
  172. package/dist/components/PrismicEmbed.js.map +0 -1
  173. package/dist/components/PrismicImage.cjs +0 -122
  174. package/dist/components/PrismicImage.cjs.map +0 -1
  175. package/dist/components/PrismicImage.d.ts +0 -163
  176. package/dist/components/PrismicImage.js +0 -122
  177. package/dist/components/PrismicImage.js.map +0 -1
  178. package/dist/components/PrismicLink.cjs +0 -115
  179. package/dist/components/PrismicLink.cjs.map +0 -1
  180. package/dist/components/PrismicLink.d.ts +0 -192
  181. package/dist/components/PrismicLink.js +0 -115
  182. package/dist/components/PrismicLink.js.map +0 -1
  183. package/dist/components/PrismicRichText.cjs +0 -108
  184. package/dist/components/PrismicRichText.cjs.map +0 -1
  185. package/dist/components/PrismicRichText.d.ts +0 -161
  186. package/dist/components/PrismicRichText.js +0 -108
  187. package/dist/components/PrismicRichText.js.map +0 -1
  188. package/dist/components/PrismicText.cjs +0 -57
  189. package/dist/components/PrismicText.cjs.map +0 -1
  190. package/dist/components/PrismicText.d.ts +0 -119
  191. package/dist/components/PrismicText.js +0 -57
  192. package/dist/components/PrismicText.js.map +0 -1
  193. package/dist/components/SliceZone.cjs +0 -156
  194. package/dist/components/SliceZone.cjs.map +0 -1
  195. package/dist/components/SliceZone.d.ts +0 -375
  196. package/dist/components/SliceZone.js +0 -156
  197. package/dist/components/SliceZone.js.map +0 -1
  198. package/dist/components/index.d.ts +0 -12
  199. package/dist/composables.cjs +0 -40
  200. package/dist/composables.cjs.map +0 -1
  201. package/dist/composables.d.ts +0 -384
  202. package/dist/composables.js +0 -40
  203. package/dist/composables.js.map +0 -1
  204. package/dist/globalExtensions.d.ts +0 -11
  205. package/dist/injectionSymbols.cjs +0 -5
  206. package/dist/injectionSymbols.cjs.map +0 -1
  207. package/dist/injectionSymbols.d.ts +0 -9
  208. package/dist/injectionSymbols.js +0 -5
  209. package/dist/injectionSymbols.js.map +0 -1
  210. package/dist/lib/__PRODUCTION__.cjs +0 -8
  211. package/dist/lib/__PRODUCTION__.cjs.map +0 -1
  212. package/dist/lib/__PRODUCTION__.d.ts +0 -7
  213. package/dist/lib/__PRODUCTION__.js +0 -8
  214. package/dist/lib/__PRODUCTION__.js.map +0 -1
  215. package/dist/lib/getSlots.cjs +0 -19
  216. package/dist/lib/getSlots.cjs.map +0 -1
  217. package/dist/lib/getSlots.d.ts +0 -14
  218. package/dist/lib/getSlots.js +0 -19
  219. package/dist/lib/getSlots.js.map +0 -1
  220. package/dist/lib/simplyResolveComponent.cjs +0 -8
  221. package/dist/lib/simplyResolveComponent.cjs.map +0 -1
  222. package/dist/lib/simplyResolveComponent.d.ts +0 -12
  223. package/dist/lib/simplyResolveComponent.js +0 -8
  224. package/dist/lib/simplyResolveComponent.js.map +0 -1
  225. package/dist/useStatefulPrismicClientMethod.cjs +0 -39
  226. package/dist/useStatefulPrismicClientMethod.cjs.map +0 -1
  227. package/dist/useStatefulPrismicClientMethod.d.ts +0 -64
  228. package/dist/useStatefulPrismicClientMethod.js +0 -39
  229. package/dist/useStatefulPrismicClientMethod.js.map +0 -1
  230. package/src/components/PrismicEmbed.ts +0 -91
  231. package/src/components/PrismicImage.ts +0 -309
  232. package/src/components/PrismicLink.ts +0 -313
  233. package/src/components/PrismicRichText.ts +0 -282
  234. package/src/components/PrismicText.ts +0 -167
  235. package/src/components/SliceZone.ts +0 -619
  236. package/src/components/index.ts +0 -46
  237. package/src/composables.ts +0 -474
  238. package/src/globalExtensions.ts +0 -12
  239. package/src/injectionSymbols.ts +0 -17
  240. package/src/lib/__PRODUCTION__.ts +0 -12
  241. package/src/lib/getSlots.ts +0 -34
  242. package/src/lib/simplyResolveComponent.ts +0 -23
  243. package/src/useStatefulPrismicClientMethod.ts +0 -156
  244. package/vetur/attributes.json +0 -113
  245. package/vetur/tags.json +0 -60
@@ -1,7 +1,10 @@
1
- import {
1
+ import type {
2
2
  Client,
3
- FetchLike,
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
- PrismicEmbed,
30
- PrismicImage,
31
- PrismicLink,
32
- PrismicRichText,
33
- PrismicText,
34
- SliceZone,
35
- } from "./components";
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
- options.richTextSerializer ||
90
- options.htmlSerializer,
91
- }
78
+ (maybeHTMLSerializer as
79
+ | HTMLRichTextFunctionSerializer
80
+ | HTMLRichTextMapSerializer) || options.richTextSerializer,
81
+ }
92
82
  : {
93
83
  linkResolver: options.linkResolver,
94
- serializer: options.richTextSerializer || options.htmlSerializer,
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, PrismicLink);
141
- app.component(PrismicEmbed.name, PrismicEmbed);
142
- app.component(PrismicImage.name, PrismicImage);
143
- app.component(PrismicText.name, PrismicText);
144
- app.component(PrismicRichText.name, PrismicRichText);
145
- app.component(SliceZone.name, SliceZone);
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
- export { createPrismic } from "./createPrismic";
2
- export { usePrismic } from "./usePrismic";
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
- // Composables
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
- // Slice Zone
17
- getSliceComponentProps,
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
- SliceZone,
21
- } from "./components";
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
- SliceZoneProps,
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 { prismicKey } from "./injectionSymbols";
47
+ export type { PrismicPluginOptions, PrismicPlugin } from "./types"
74
48
 
75
- export * from "./globalExtensions";
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
+ }
@@ -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
+ }