@prismicio/vue 5.3.0-canary.5d9ea4c → 5.3.0-canary.aa89de6

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 (157) hide show
  1. package/dist/PrismicImage.vue.d.cts.map +1 -1
  2. package/dist/PrismicLink.vue.d.cts +24 -104
  3. package/dist/PrismicLink.vue.d.cts.map +1 -1
  4. package/dist/PrismicRichText/PrismicRichText.vue.d.cts +31 -36
  5. package/dist/PrismicRichText/PrismicRichText.vue.d.cts.map +1 -1
  6. package/dist/PrismicRichText/types.d.cts +15 -2
  7. package/dist/PrismicRichText/types.d.cts.map +1 -1
  8. package/dist/PrismicTable/PrismicTable.vue.d.cts +8 -8
  9. package/dist/PrismicTable/PrismicTable.vue.d.cts.map +1 -1
  10. package/dist/PrismicTable/types.d.cts +7 -6
  11. package/dist/PrismicTable/types.d.cts.map +1 -1
  12. package/dist/PrismicText.vue.d.cts +2 -10
  13. package/dist/PrismicText.vue.d.cts.map +1 -1
  14. package/dist/SliceZone/SliceZone.vue.d.cts +2 -10
  15. package/dist/SliceZone/SliceZone.vue.d.cts.map +1 -1
  16. package/dist/index.cjs +3 -10
  17. package/dist/index.d.cts +9 -13
  18. package/dist/index.d.ts +11 -15
  19. package/dist/index.js +3 -6
  20. package/dist/package.cjs +1 -1
  21. package/dist/package.cjs.map +1 -1
  22. package/dist/package.js +1 -1
  23. package/dist/package.js.map +1 -1
  24. package/dist/src/PrismicImage.cjs.map +1 -1
  25. package/dist/src/PrismicImage.js.map +1 -1
  26. package/dist/src/PrismicImage.vue.d.ts +4 -4
  27. package/dist/src/PrismicImage.vue.d.ts.map +1 -1
  28. package/dist/src/PrismicImage.vue_vue_type_script_setup_true_lang.cjs +2 -4
  29. package/dist/src/PrismicImage.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
  30. package/dist/src/PrismicImage.vue_vue_type_script_setup_true_lang.js +2 -4
  31. package/dist/src/PrismicImage.vue_vue_type_script_setup_true_lang.js.map +1 -1
  32. package/dist/src/PrismicLink.cjs.map +1 -1
  33. package/dist/src/PrismicLink.js.map +1 -1
  34. package/dist/src/PrismicLink.vue.d.ts +24 -104
  35. package/dist/src/PrismicLink.vue.d.ts.map +1 -1
  36. package/dist/src/PrismicLink.vue_vue_type_script_setup_true_lang.cjs +3 -6
  37. package/dist/src/PrismicLink.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
  38. package/dist/src/PrismicLink.vue_vue_type_script_setup_true_lang.js +3 -6
  39. package/dist/src/PrismicLink.vue_vue_type_script_setup_true_lang.js.map +1 -1
  40. package/dist/src/PrismicRichText/PrismicRichText.cjs.map +1 -1
  41. package/dist/src/PrismicRichText/PrismicRichText.js.map +1 -1
  42. package/dist/src/PrismicRichText/PrismicRichText.vue.d.ts +31 -36
  43. package/dist/src/PrismicRichText/PrismicRichText.vue.d.ts.map +1 -1
  44. package/dist/src/PrismicRichText/PrismicRichText.vue_vue_type_script_setup_true_lang.cjs +19 -52
  45. package/dist/src/PrismicRichText/PrismicRichText.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
  46. package/dist/src/PrismicRichText/PrismicRichText.vue_vue_type_script_setup_true_lang.js +20 -53
  47. package/dist/src/PrismicRichText/PrismicRichText.vue_vue_type_script_setup_true_lang.js.map +1 -1
  48. package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.cjs.map +1 -1
  49. package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.js.map +1 -1
  50. package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.vue_vue_type_script_setup_true_lang.cjs +75 -35
  51. package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
  52. package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.vue_vue_type_script_setup_true_lang.js +76 -36
  53. package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  54. package/dist/src/PrismicRichText/PrismicRichTextSerialize.cjs.map +1 -1
  55. package/dist/src/PrismicRichText/PrismicRichTextSerialize.js.map +1 -1
  56. package/dist/src/PrismicRichText/PrismicRichTextSerialize.vue_vue_type_script_setup_true_lang.cjs +29 -8
  57. package/dist/src/PrismicRichText/PrismicRichTextSerialize.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
  58. package/dist/src/PrismicRichText/PrismicRichTextSerialize.vue_vue_type_script_setup_true_lang.js +30 -9
  59. package/dist/src/PrismicRichText/PrismicRichTextSerialize.vue_vue_type_script_setup_true_lang.js.map +1 -1
  60. package/dist/src/PrismicRichText/types.d.ts +15 -2
  61. package/dist/src/PrismicRichText/types.d.ts.map +1 -1
  62. package/dist/src/PrismicTable/PrismicTable.cjs.map +1 -1
  63. package/dist/src/PrismicTable/PrismicTable.js.map +1 -1
  64. package/dist/src/PrismicTable/PrismicTable.vue.d.ts +7 -7
  65. package/dist/src/PrismicTable/PrismicTable.vue.d.ts.map +1 -1
  66. package/dist/src/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.cjs +5 -5
  67. package/dist/src/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
  68. package/dist/src/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.js +5 -5
  69. package/dist/src/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  70. package/dist/src/PrismicTable/PrismicTableDefaultComponents.cjs +36 -18
  71. package/dist/src/PrismicTable/PrismicTableDefaultComponents.cjs.map +1 -1
  72. package/dist/src/PrismicTable/PrismicTableDefaultComponents.js +36 -18
  73. package/dist/src/PrismicTable/PrismicTableDefaultComponents.js.map +1 -1
  74. package/dist/src/PrismicTable/types.d.ts +7 -6
  75. package/dist/src/PrismicTable/types.d.ts.map +1 -1
  76. package/dist/src/PrismicText.cjs.map +1 -1
  77. package/dist/src/PrismicText.js.map +1 -1
  78. package/dist/src/PrismicText.vue.d.ts +2 -10
  79. package/dist/src/PrismicText.vue.d.ts.map +1 -1
  80. package/dist/src/PrismicText.vue_vue_type_script_setup_true_lang.cjs +1 -12
  81. package/dist/src/PrismicText.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
  82. package/dist/src/PrismicText.vue_vue_type_script_setup_true_lang.js +3 -14
  83. package/dist/src/PrismicText.vue_vue_type_script_setup_true_lang.js.map +1 -1
  84. package/dist/src/SliceZone/SliceZone.cjs.map +1 -1
  85. package/dist/src/SliceZone/SliceZone.js.map +1 -1
  86. package/dist/src/SliceZone/SliceZone.vue.d.ts +2 -10
  87. package/dist/src/SliceZone/SliceZone.vue.d.ts.map +1 -1
  88. package/dist/src/SliceZone/SliceZone.vue_vue_type_script_setup_true_lang.cjs +5 -17
  89. package/dist/src/SliceZone/SliceZone.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
  90. package/dist/src/SliceZone/SliceZone.vue_vue_type_script_setup_true_lang.js +6 -18
  91. package/dist/src/SliceZone/SliceZone.vue_vue_type_script_setup_true_lang.js.map +1 -1
  92. package/dist/src/types.d.ts +2 -352
  93. package/dist/src/types.d.ts.map +1 -1
  94. package/dist/types.d.cts +2 -352
  95. package/dist/types.d.cts.map +1 -1
  96. package/package.json +6 -5
  97. package/src/PrismicImage.vue +2 -11
  98. package/src/PrismicLink.vue +9 -34
  99. package/src/PrismicRichText/PrismicRichText.vue +31 -101
  100. package/src/PrismicRichText/PrismicRichTextDefaultComponent.vue +46 -20
  101. package/src/PrismicRichText/PrismicRichTextSerialize.vue +31 -10
  102. package/src/PrismicRichText/types.ts +16 -1
  103. package/src/PrismicTable/PrismicTable.vue +7 -7
  104. package/src/PrismicTable/PrismicTableDefaultComponents.ts +39 -20
  105. package/src/PrismicTable/types.ts +16 -6
  106. package/src/PrismicText.vue +2 -15
  107. package/src/SliceZone/SliceZone.vue +9 -27
  108. package/src/index.ts +13 -21
  109. package/src/types.ts +1 -439
  110. package/dist/PrismicEmbed.vue.d.cts +0 -25
  111. package/dist/PrismicEmbed.vue.d.cts.map +0 -1
  112. package/dist/createPrismic.d.cts +0 -29
  113. package/dist/createPrismic.d.cts.map +0 -1
  114. package/dist/src/PrismicEmbed.cjs +0 -8
  115. package/dist/src/PrismicEmbed.cjs.map +0 -1
  116. package/dist/src/PrismicEmbed.js +0 -8
  117. package/dist/src/PrismicEmbed.js.map +0 -1
  118. package/dist/src/PrismicEmbed.vue.d.ts +0 -25
  119. package/dist/src/PrismicEmbed.vue.d.ts.map +0 -1
  120. package/dist/src/PrismicEmbed.vue_vue_type_script_setup_true_lang.cjs +0 -42
  121. package/dist/src/PrismicEmbed.vue_vue_type_script_setup_true_lang.cjs.map +0 -1
  122. package/dist/src/PrismicEmbed.vue_vue_type_script_setup_true_lang.js +0 -42
  123. package/dist/src/PrismicEmbed.vue_vue_type_script_setup_true_lang.js.map +0 -1
  124. package/dist/src/PrismicRichText/DeprecatedPrismicRichText.cjs +0 -8
  125. package/dist/src/PrismicRichText/DeprecatedPrismicRichText.cjs.map +0 -1
  126. package/dist/src/PrismicRichText/DeprecatedPrismicRichText.js +0 -8
  127. package/dist/src/PrismicRichText/DeprecatedPrismicRichText.js.map +0 -1
  128. package/dist/src/PrismicRichText/DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.cjs +0 -92
  129. package/dist/src/PrismicRichText/DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.cjs.map +0 -1
  130. package/dist/src/PrismicRichText/DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.js +0 -92
  131. package/dist/src/PrismicRichText/DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.js.map +0 -1
  132. package/dist/src/createPrismic.cjs +0 -85
  133. package/dist/src/createPrismic.cjs.map +0 -1
  134. package/dist/src/createPrismic.d.ts +0 -29
  135. package/dist/src/createPrismic.d.ts.map +0 -1
  136. package/dist/src/createPrismic.js +0 -85
  137. package/dist/src/createPrismic.js.map +0 -1
  138. package/dist/src/lib/Wrapper.cjs +0 -8
  139. package/dist/src/lib/Wrapper.cjs.map +0 -1
  140. package/dist/src/lib/Wrapper.js +0 -8
  141. package/dist/src/lib/Wrapper.js.map +0 -1
  142. package/dist/src/lib/Wrapper.vue_vue_type_script_setup_true_lang.cjs +0 -22
  143. package/dist/src/lib/Wrapper.vue_vue_type_script_setup_true_lang.cjs.map +0 -1
  144. package/dist/src/lib/Wrapper.vue_vue_type_script_setup_true_lang.js +0 -22
  145. package/dist/src/lib/Wrapper.vue_vue_type_script_setup_true_lang.js.map +0 -1
  146. package/dist/src/usePrismic.cjs +0 -38
  147. package/dist/src/usePrismic.cjs.map +0 -1
  148. package/dist/src/usePrismic.d.ts +0 -36
  149. package/dist/src/usePrismic.d.ts.map +0 -1
  150. package/dist/src/usePrismic.js +0 -37
  151. package/dist/src/usePrismic.js.map +0 -1
  152. package/dist/usePrismic.d.cts +0 -36
  153. package/dist/usePrismic.d.cts.map +0 -1
  154. package/src/PrismicEmbed.vue +0 -42
  155. package/src/PrismicRichText/DeprecatedPrismicRichText.vue +0 -146
  156. package/src/createPrismic.ts +0 -154
  157. package/src/usePrismic.ts +0 -36
package/dist/types.d.cts CHANGED
@@ -1,357 +1,7 @@
1
- import { VueRichTextSerializer } from "./PrismicRichText/types.cjs";
2
- import { SliceComponentType } from "./SliceZone/types.cjs";
3
- import { App, ConcreteComponent, DefineComponent, Raw } from "vue";
4
- import { AsLinkAttrsConfig, ClientConfig, CreateClient, HTMLRichTextFunctionSerializer, HTMLRichTextMapSerializer, LinkResolverFunction, asDate, asHTML, asImagePixelDensitySrcSet, asImageSrc, asImageWidthSrcSet, asLink, asLinkAttrs, asText, cookie, documentToLinkField, filter, isFilled } from "@prismicio/client";
1
+ import { ConcreteComponent, DefineComponent, Raw } from "vue";
5
2
 
6
3
  //#region src/types.d.ts
7
-
8
- /**
9
- * Options used by `@prismicio/vue` components.
10
- */
11
- type PrismicPluginComponentsOptions = {
12
- /**
13
- * The `rel` attribute to apply on links. This prop can be provided a function
14
- * to use the link's metadata to determine the `rel` value.
15
- *
16
- * @defaultValue `"noreferrer"` for external links.
17
- */
18
- linkRel?: AsLinkAttrsConfig["rel"];
19
- /**
20
- * An HTML tag name or a component used to render internal links.
21
- *
22
- * @remarks
23
- * HTML tag names will be rendered using the anchor tag interface (`href`,
24
- * `target`, and `rel` attributes).
25
- * @remarks
26
- * Components will be rendered using Vue Router {@link RouterLink} interface
27
- * (`to` props).
28
- *
29
- * @defaultValue {@link RouterLink}
30
- */
31
- linkInternalComponent?: ComponentOrTagName;
32
- /**
33
- * An HTML tag name or a component used to render external links.
34
- *
35
- * @remarks
36
- * HTML tag names will be rendered using the anchor tag interface (`href`,
37
- * `target`, and `rel` attributes).
38
- * @remarks
39
- * Components will be rendered using Vue Router {@link RouterLink} interface
40
- * (`to` props).
41
- *
42
- * @defaultValue `"a"`
43
- */
44
- linkExternalComponent?: ComponentOrTagName;
45
- /**
46
- * Default widths to use when rendering an image with `widths="defaults"`
47
- *
48
- * @remarks
49
- * Consider configuring image widths within your content type definition and
50
- * using `widths="auto"` instead to give content writers the ability to crop
51
- * images in the editor.
52
- *
53
- * @defaultValue `@prismicio/client` defaults
54
- */
55
- imageWidthSrcSetDefaults?: number[];
56
- /**
57
- * Default pixel densities to use when rendering an image with
58
- * `pixel-densities="defaults"`
59
- *
60
- * @defaultValue `@prismicio/client` defaults
61
- */
62
- imagePixelDensitySrcSetDefaults?: number[];
63
- /**
64
- * An optional map of Rich Text block types to Vue Components. It is used to
65
- * render rich text or title fields.
66
- *
67
- * @see Templating Rich Text and title fields from Prismic {@link https://prismic.io/docs/rich-text}
68
- */
69
- richTextComponents?: VueRichTextSerializer;
70
- /**
71
- * A component or a functional component rendered if a component mapping from
72
- * the `components` prop cannot be found.
73
- *
74
- * @remarks
75
- * Components will be rendered using the {@link SliceComponentProps} interface.
76
- *
77
- * @defaultValue `null` when `process.env.NODE_ENV === "production"` else {@link TODOSliceComponent}
78
- */
79
- sliceZoneDefaultComponent?: SliceComponentType;
80
- };
81
- /**
82
- * Common options supported by `@prismicio/vue` plugin.
83
- */
84
- type PrismicPluginOptionsBase = {
85
- /**
86
- * An optional link resolver function used to resolve links to Prismic
87
- * documents when not using the route resolver parameter with
88
- * `@prismicio/client`.
89
- *
90
- * @see Link resolver documentation {@link https://prismic.io/docs/core-concepts/link-resolver-route-resolver#link-resolver}
91
- */
92
- linkResolver?: LinkResolverFunction;
93
- /**
94
- * An optional HTML serializer to customize the way rich text fields are
95
- * rendered.
96
- *
97
- * @remarks
98
- * To provide global components for the `<PrismicRichText />` component, use
99
- * the `components.richTextComponents` option instead.
100
- *
101
- * @deprecated Use `components.richTextComponents` instead.
102
- *
103
- * @see HTML serializer documentation {@link https://prismic.io/docs/core-concepts/html-serializer}
104
- */
105
- richTextSerializer?: HTMLRichTextFunctionSerializer | HTMLRichTextMapSerializer;
106
- /**
107
- * Whether or not to inject components globally.
108
- *
109
- * @defaultValue `true`
110
- */
111
- injectComponents?: boolean;
112
- /**
113
- * Options used by Prismic Vue components.
114
- *
115
- * @see Components options {@link PrismicPluginComponentsOptions}
116
- */
117
- components?: PrismicPluginComponentsOptions;
118
- };
119
- /**
120
- * Options to init `@prismicio/vue` plugin with a client instance.
121
- *
122
- * @see {@link PrismicPluginOptionsBase} for shared options
123
- */
124
- type PrismicPluginOptionsWithClient = PrismicPluginOptionsBase & {
125
- /**
126
- * A `@prismicio/client` instance used to fetch content from a Prismic
127
- * repository to configure the plugin with.
128
- *
129
- * @remarks
130
- * The client will be used by `@prismicio/vue` composables, such as
131
- * {@link usePrismicDocuments} and exposed through `this.$prismic.client` and
132
- * `usePrismic().client`.
133
- *
134
- * @see Prismic client documentation {@link https://prismic.io/docs/technologies/javascript}
135
- */
136
- client: ReturnType<CreateClient>;
137
- /**
138
- * Ensures type union is a strict or.
139
- *
140
- * @internal
141
- */
142
- endpoint?: never;
143
- /**
144
- * Ensures type union is a strict or.
145
- *
146
- * @internal
147
- */
148
- clientConfig?: never;
149
- };
150
- /**
151
- * Options to init `@prismicio/vue` plugin with a repository ID or API endpoint.
152
- *
153
- * @see {@link PrismicPluginOptionsBase} for shared options
154
- */
155
- type PrismicPluginOptionsWithEndpoint = PrismicPluginOptionsBase & {
156
- /**
157
- * A Prismic repository endpoint to init the plugin's `@prismicio/client`
158
- * instance used to fetch content from a Prismic repository with.
159
- *
160
- * @remarks
161
- * Said client will be used by `@prismicio/vue` composables, such as
162
- * {@link usePrismicDocuments} and exposed through `this.$prismic.client` and
163
- * `usePrismic().client`.
164
- *
165
- * @example
166
- *
167
- * ```javascript
168
- * // A repository ID
169
- * "my-repo"
170
- *
171
- * //A full repository endpoint
172
- * "https://my-repo.cdn.prismic.io/api/v2"
173
- * ```
174
- *
175
- * @see Prismic client documentation {@link https://prismic.io/docs/technologies/javascript}
176
- */
177
- endpoint: string;
178
- /**
179
- * An optional object to configure `@prismicio/client` instance further.
180
- *
181
- * @example
182
- *
183
- * ```javascript
184
- * // Accessing a private private repository
185
- * {
186
- * "accessToken": "abc"
187
- * }
188
- * ```
189
- *
190
- * @example
191
- *
192
- * ```javascript
193
- * // Using a route resolver
194
- * {
195
- * "defaultParams": {
196
- * "routes": [
197
- * {
198
- * "type": "page",
199
- * "path": "/:uid"
200
- * },
201
- * {
202
- * "type": "post",
203
- * "path": "/blog/:uid"
204
- * }
205
- * ]
206
- * }
207
- * }
208
- * ```
209
- *
210
- * @see Prismic client documentation {@link https://prismic.io/docs/technologies/javascript}
211
- * @see Route resolver documentation {@link https://prismic.io/docs/core-concepts/link-resolver-route-resolver#route-resolver}
212
- */
213
- clientConfig?: ClientConfig;
214
- /**
215
- * Ensures type union is a strict or.
216
- *
217
- * @internal
218
- */
219
- client?: never;
220
- };
221
- /**
222
- * `@prismicio/vue` plugin options.
223
- *
224
- * @see Prismic Official Vue.js documentation: {@link https://prismic.io/docs/technologies/vuejs}
225
- * @see Plugin repository: {@link https://github.com/prismicio/prismic-vue}
226
- */
227
- type PrismicPluginOptions = PrismicPluginOptionsWithClient | PrismicPluginOptionsWithEndpoint;
228
- /**
229
- * `@prismicio/client` related methods and properties exposed by
230
- * `@prismicio/vue` plugin and accessible through `this.$prismic` and
231
- * `usePrismic()`.
232
- */
233
- type PrismicPluginClient = {
234
- /**
235
- * A `@prismicio/client` instance.
236
- */
237
- client: ReturnType<CreateClient>;
238
- /**
239
- * Query filters from `@prismicio/client`.
240
- */
241
- filter: typeof filter;
242
- /**
243
- * Prismic cookies from `@prismicio/client`.
244
- */
245
- cookie: typeof cookie;
246
- };
247
- /**
248
- * `@prismicio/client` related methods exposed by `@prismicio/vue` plugin and
249
- * accessible through `this.$prismic` and `usePrismic()`.
250
- */
251
- type PrismicPluginHelpers = {
252
- /**
253
- * Serializes a rich text or title field to a plain text string. This is
254
- * `@prismicio/client` {@link asText} function.
255
- *
256
- * @see Templating rich text and title fields {@link https://prismic.io/docs/technologies/vue-template-content#rich-text-and-titles}
257
- */
258
- asText: typeof asText;
259
- /**
260
- * Serializes a rich text or title field to an HTML string. This is
261
- * `@prismicio/client` {@link asHTML} function.
262
- *
263
- * @remarks
264
- * If no `linkResolver` is provided the function will use the one provided to
265
- * the plugin at {@link PrismicPluginOptions.linkResolver} if available.
266
- * @remarks
267
- * If no `htmlSerializer` is provided the function will use the one provided
268
- * to the plugin at {@link PrismicPluginOptions.htmlSerializer} if available.
269
- *
270
- * @see Templating rich text and title fields {@link https://prismic.io/docs/technologies/vue-template-content#rich-text-and-titles}
271
- */
272
- asHTML: typeof asHTML;
273
- /**
274
- * Resolves any type of link field or document to a URL. This is
275
- * `@prismicio/client` {@link asLink} function.
276
- *
277
- * @remarks
278
- * If no `linkResolver` is provided the function will use the one provided to
279
- * the plugin at {@link PrismicPluginOptions.linkResolver} if available.
280
- *
281
- * @see Templating link fields {@link https://prismic.io/docs/technologies/vue-template-content#links-and-content-relationships}
282
- */
283
- asLink: typeof asLink;
284
- /**
285
- * Resolves any type of link field or document to a set of link attributes.
286
- * This is `@prismicio/client` {@link asLinkAttrs} function.
287
- *
288
- * @remarks
289
- * If no `linkResolver` is provided the function will use the one provided to
290
- * the plugin at {@link PrismicPluginOptions.linkResolver} if available.
291
- *
292
- * @see Templating link fields {@link https://prismic.io/docs/technologies/vue-template-content#links-and-content-relationships}
293
- */
294
- asLinkAttrs: typeof asLinkAttrs;
295
- /**
296
- * Transforms a date or timestamp field into a JavaScript Date object. This is
297
- * `@prismicio/client` {@link asDate} function.
298
- */
299
- asDate: typeof asDate;
300
- /**
301
- * Returns the URL of an image field with optional image transformations (via
302
- * Imgix URL parameters). This is `@prismicio/client` {@link asImageSrc}
303
- * function.
304
- */
305
- asImageSrc: typeof asImageSrc;
306
- /**
307
- * Creates a width-based `srcset` from an image field with optional image
308
- * transformations (via Imgix URL parameters). This is `@prismicio/client`
309
- * {@link asImageWidthSrcSet} function.
310
- */
311
- asImageWidthSrcSet: typeof asImageWidthSrcSet;
312
- /**
313
- * Creates a pixel-density-based `srcset` from an image field with optional
314
- * image transformations (via Imgix URL parameters). This is
315
- * `@prismicio/client` {@link asImagePixelDensitySrcSet} function.
316
- */
317
- asImagePixelDensitySrcSet: typeof asImagePixelDensitySrcSet;
318
- /**
319
- * Helpers to determine if a field is filled. This is `@prismicio/client`
320
- * {@link isFilled} object.
321
- */
322
- isFilled: typeof isFilled;
323
- /**
324
- * Converts a document into a link field. This is `@prismicio/client`
325
- * {@link documentToLinkField} function.
326
- *
327
- * @internal
328
- */
329
- documentToLinkField: typeof documentToLinkField;
330
- };
331
- /**
332
- * Methods and properties exposed by `@prismicio/vue` plugin and accessible
333
- * through `this.$prismic` and `usePrismic()`.
334
- */
335
- type PrismicPlugin = {
336
- /**
337
- * Options uses to initialize the plugin.
338
- *
339
- * @see `@prismicio/vue` plugin options {@link PrismicPluginOptions}
340
- */
341
- readonly options: PrismicPluginOptions;
342
- /**
343
- * `@prismicio/vue` plugin install function used by Vue.
344
- *
345
- * @internal
346
- */
347
- install: (app: App) => void;
348
- } & PrismicPluginClient & PrismicPluginHelpers;
349
- /**
350
- * A component or a tag name to be used as props.
351
- *
352
- * @internal
353
- */
354
4
  type ComponentOrTagName = string | ConcreteComponent | Raw<DefineComponent>;
355
5
  //#endregion
356
- export { ComponentOrTagName, PrismicPlugin, PrismicPluginOptions };
6
+ export { ComponentOrTagName };
357
7
  //# sourceMappingURL=types.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.cts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AA+BoB;KAOf,8BAAA,GAOM;EAcc;;;;;AAqDsB;EAc/B,OAAA,CAAA,EAjFL,iBAiFK,CAAA,KAAA,CAAA;EAeZ;;;;AAewC;;;;;AAoBzB;AAiGnB;AASA;EAIoB,qBAAA,CAAA,EAnOK,kBAmOL;EAAX;;;;AAiBT;;;;;;;;EAyEmC,qBAAA,CAAA,EA/SV,kBA+SU;EAMjB;;;AAelB;;;;;;AA2CA;EAEG,wBAAA,CAAA,EAAA,MAAA,EAAA;EACI;;;;;;;;;;;;;uBAtVe;;;;;;;;;;8BAWO;;;;;KAMxB,wBAAA;;;;;;;;iBAQW;;;;;;;;;;;;;uBAeZ,iCACA;;;;;;;;;;;;eAcU;;;;;;;KAQT,8BAAA,GAAiC;;;;;;;;;;;;UAY7B,WAAW;;;;;;;;;;;;;;;;;;;KAsBf,gCAAA,GAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2DxB;;;;;;;;;;;;;;KAgBJ,oBAAA,GACT,iCACA;;;;;;KAOS,mBAAA;;;;UAIH,WAAW;;;;iBAKJ;;;;iBAKA;;;;;;KAOJ,oBAAA;;;;;;;iBAOI;;;;;;;;;;;;;;iBAeA;;;;;;;;;;;iBAYA;;;;;;;;;;;sBAYK;;;;;iBAML;;;;;;qBAOI;;;;;;6BAOQ;;;;;;oCAOO;;;;;mBAMjB;;;;;;;8BAQW;;;;;;KAOjB,aAAA;;;;;;oBAMO;;;;;;iBAOH;IACZ,sBACH;;;;;;KA4BW,kBAAA,YAET,oBACA,IAAI"}
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":";;;KAEY,kBAAA,YAET,oBACA,IAAI"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prismicio/vue",
3
- "version": "5.3.0-canary.5d9ea4c",
3
+ "version": "5.3.0-canary.aa89de6",
4
4
  "description": "Vue plugin, components, and composables to fetch and present Prismic content",
5
5
  "keywords": [
6
6
  "typescript",
@@ -44,11 +44,10 @@
44
44
  "test": "npm run lint && npm run types && npm run unit && npm run build"
45
45
  },
46
46
  "dependencies": {
47
- "@prismicio/client": "^7.21.0",
48
- "esm-env": "^1.2.2",
49
- "vue-router": "^4.6.3"
47
+ "esm-env": "^1.2.2"
50
48
  },
51
49
  "devDependencies": {
50
+ "@prismicio/client": "^7.21.0",
52
51
  "@prismicio/mock": "^0.7.1",
53
52
  "@trivago/prettier-plugin-sort-imports": "^6.0.0",
54
53
  "@types/jsdom-global": "^3.0.7",
@@ -65,10 +64,12 @@
65
64
  "vite": "^7.2.7",
66
65
  "vitest": "^4.0.15",
67
66
  "vue": "^3.5.25",
67
+ "vue-router": "^4.6.3",
68
68
  "vue-tsc": "^3.1.8"
69
69
  },
70
70
  "peerDependencies": {
71
- "vue": "^3.0.0"
71
+ "@prismicio/client": "^7",
72
+ "vue": "^3"
72
73
  },
73
74
  "engines": {
74
75
  "node": ">=20"
@@ -10,8 +10,6 @@ import { computed, watchEffect } from "vue"
10
10
 
11
11
  import { devMsg } from "./lib/devMsg"
12
12
 
13
- import { usePrismic } from "./usePrismic"
14
-
15
13
  /**
16
14
  * Props for `<PrismicImage />`.
17
15
  */
@@ -104,8 +102,6 @@ export type PrismicImageProps = {
104
102
  const props = defineProps<PrismicImageProps>()
105
103
  defineOptions({ name: "PrismicImage" })
106
104
 
107
- const { options } = usePrismic()
108
-
109
105
  if (DEV) {
110
106
  watchEffect(() => {
111
107
  if (typeof props.alt === "string" && props.alt !== "") {
@@ -156,10 +152,7 @@ const image = computed(() => {
156
152
  if (props.widths || !props.pixelDensities) {
157
153
  const res = asImageWidthSrcSet(props.field, {
158
154
  ...props.imgixParams,
159
- widths:
160
- props.widths === "defaults"
161
- ? options.components?.imageWidthSrcSetDefaults
162
- : props.widths,
155
+ widths: props.widths === "defaults" ? undefined : props.widths,
163
156
  })
164
157
 
165
158
  src = res.src
@@ -168,9 +161,7 @@ const image = computed(() => {
168
161
  const res = asImagePixelDensitySrcSet(props.field, {
169
162
  ...props.imgixParams,
170
163
  pixelDensities:
171
- props.pixelDensities === "defaults"
172
- ? options.components?.imagePixelDensitySrcSetDefaults
173
- : props.pixelDensities,
164
+ props.pixelDensities === "defaults" ? undefined : props.pixelDensities,
174
165
  })
175
166
 
176
167
  src = res.src
@@ -12,8 +12,6 @@ import { isInternalURL } from "./lib/isInternalURL"
12
12
 
13
13
  import type { ComponentOrTagName } from "./types"
14
14
 
15
- import { usePrismic } from "./usePrismic"
16
-
17
15
  /**
18
16
  * The default component rendered for internal URLs.
19
17
  */
@@ -47,36 +45,20 @@ export type PrismicLinkProps = {
47
45
  * The `rel` attribute for the link. By default, `"noreferrer"` is provided if
48
46
  * the link's URL is external. This prop can be provided a function to use the
49
47
  * link's metadata to determine the `rel` value.
50
- *
51
- * @defaultValue The one provided to `@prismicio/vue` plugin if configured.
52
48
  */
53
49
  rel?: string | AsLinkAttrsConfig["rel"]
54
50
 
55
51
  /**
56
- * An HTML tag name or a component used to render internal links.
57
- *
58
- * @remarks
59
- * HTML tag names will be rendered using the anchor tag interface (`href`,
60
- * `target`, and `rel` attributes).
61
- * @remarks
62
- * Components will be rendered using Vue Router {@link RouterLink} interface
63
- * (`to` props).
52
+ * The Vue component rendered for links when the URL is internal.
64
53
  *
65
- * @defaultValue The one provided to `@prismicio/vue` plugin if configured, {@link RouterLink} otherwise.
54
+ * @defaultValue `<RouterLink>`
66
55
  */
67
56
  internalComponent?: ComponentOrTagName
68
57
 
69
58
  /**
70
- * An HTML tag name or a component used to render external links.
59
+ * The Vue component rendered for links when the URL is external.
71
60
  *
72
- * @remarks
73
- * HTML tag names will be rendered using the anchor tag interface (`href`,
74
- * `target`, and `rel` attributes).
75
- * @remarks
76
- * Components will be rendered using Vue Router {@link RouterLink} interface
77
- * (`to` props).
78
- *
79
- * @defaultValue The one provided to `@prismicio/vue` plugin if configured, `"a"` otherwise.
61
+ * @defaultValue `<a>`
80
62
  */
81
63
  externalComponent?: ComponentOrTagName
82
64
  } & (
@@ -99,15 +81,12 @@ export type PrismicLinkProps = {
99
81
  const props = defineProps<PrismicLinkProps>()
100
82
  defineOptions({ name: "PrismicLink" })
101
83
 
102
- const { options } = usePrismic()
103
-
104
84
  const rawAttrs = computed(() => {
105
85
  return asLinkAttrs(props.field || props.document, {
106
- linkResolver: props.linkResolver || options.linkResolver,
86
+ linkResolver: props.linkResolver,
107
87
  rel(args) {
108
- const maybeRel = props.rel || options.components?.linkRel
109
- if (maybeRel) {
110
- return typeof maybeRel === "function" ? maybeRel(args) : maybeRel
88
+ if (props.rel) {
89
+ return typeof props.rel === "function" ? props.rel(args) : props.rel
111
90
  }
112
91
 
113
92
  return args.isExternal ? defaultExternalRelAttribute : undefined
@@ -117,12 +96,8 @@ const rawAttrs = computed(() => {
117
96
 
118
97
  const component = computed(() => {
119
98
  return isInternalURL(rawAttrs.value.href || "")
120
- ? props.internalComponent ||
121
- options.components?.linkInternalComponent ||
122
- defaultInternalComponent
123
- : props.externalComponent ||
124
- options.components?.linkExternalComponent ||
125
- defaultExternalComponent
99
+ ? props.internalComponent || defaultInternalComponent
100
+ : props.externalComponent || defaultExternalComponent
126
101
  })
127
102
 
128
103
  // Match Vue Router's `<RouterLink />` interface unless the component is an anchor tag.