@prismicio/vue 5.3.0-canary.5d9ea4c → 5.3.0-canary.87748cc

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 (170) hide show
  1. package/dist/PrismicImage.vue.d.cts +30 -58
  2. package/dist/PrismicImage.vue.d.cts.map +1 -1
  3. package/dist/PrismicLink.vue.d.cts +65 -137
  4. package/dist/PrismicLink.vue.d.cts.map +1 -1
  5. package/dist/PrismicRichText/PrismicRichText.vue.d.cts +25 -53
  6. package/dist/PrismicRichText/PrismicRichText.vue.d.cts.map +1 -1
  7. package/dist/PrismicRichText/types.d.cts +18 -5
  8. package/dist/PrismicRichText/types.d.cts.map +1 -1
  9. package/dist/PrismicTable/PrismicTable.vue.d.cts +10 -10
  10. package/dist/PrismicTable/PrismicTable.vue.d.cts.map +1 -1
  11. package/dist/PrismicTable/types.d.cts +8 -8
  12. package/dist/PrismicTable/types.d.cts.map +1 -1
  13. package/dist/PrismicText.vue.d.cts +3 -13
  14. package/dist/PrismicText.vue.d.cts.map +1 -1
  15. package/dist/SliceZone/SliceZone.vue.d.cts +5 -24
  16. package/dist/SliceZone/SliceZone.vue.d.cts.map +1 -1
  17. package/dist/index.cjs +3 -10
  18. package/dist/index.d.cts +9 -13
  19. package/dist/index.d.ts +11 -15
  20. package/dist/index.js +3 -6
  21. package/dist/package.cjs +1 -1
  22. package/dist/package.cjs.map +1 -1
  23. package/dist/package.js +1 -1
  24. package/dist/package.js.map +1 -1
  25. package/dist/src/PrismicImage.cjs.map +1 -1
  26. package/dist/src/PrismicImage.js.map +1 -1
  27. package/dist/src/PrismicImage.vue.d.ts +26 -54
  28. package/dist/src/PrismicImage.vue.d.ts.map +1 -1
  29. package/dist/src/PrismicImage.vue_vue_type_script_setup_true_lang.cjs +2 -4
  30. package/dist/src/PrismicImage.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
  31. package/dist/src/PrismicImage.vue_vue_type_script_setup_true_lang.js +2 -4
  32. package/dist/src/PrismicImage.vue_vue_type_script_setup_true_lang.js.map +1 -1
  33. package/dist/src/PrismicLink.cjs.map +1 -1
  34. package/dist/src/PrismicLink.js.map +1 -1
  35. package/dist/src/PrismicLink.vue.d.ts +61 -133
  36. package/dist/src/PrismicLink.vue.d.ts.map +1 -1
  37. package/dist/src/PrismicLink.vue_vue_type_script_setup_true_lang.cjs +3 -6
  38. package/dist/src/PrismicLink.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
  39. package/dist/src/PrismicLink.vue_vue_type_script_setup_true_lang.js +3 -6
  40. package/dist/src/PrismicLink.vue_vue_type_script_setup_true_lang.js.map +1 -1
  41. package/dist/src/PrismicRichText/PrismicRichText.cjs.map +1 -1
  42. package/dist/src/PrismicRichText/PrismicRichText.js.map +1 -1
  43. package/dist/src/PrismicRichText/PrismicRichText.vue.d.ts +25 -53
  44. package/dist/src/PrismicRichText/PrismicRichText.vue.d.ts.map +1 -1
  45. package/dist/src/PrismicRichText/PrismicRichText.vue_vue_type_script_setup_true_lang.cjs +41 -57
  46. package/dist/src/PrismicRichText/PrismicRichText.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
  47. package/dist/src/PrismicRichText/PrismicRichText.vue_vue_type_script_setup_true_lang.js +42 -58
  48. package/dist/src/PrismicRichText/PrismicRichText.vue_vue_type_script_setup_true_lang.js.map +1 -1
  49. package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.cjs.map +1 -1
  50. package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.js.map +1 -1
  51. package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.vue_vue_type_script_setup_true_lang.cjs +53 -33
  52. package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
  53. package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.vue_vue_type_script_setup_true_lang.js +54 -34
  54. package/dist/src/PrismicRichText/PrismicRichTextDefaultComponent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  55. package/dist/src/PrismicRichText/PrismicRichTextSerialize.cjs.map +1 -1
  56. package/dist/src/PrismicRichText/PrismicRichTextSerialize.js.map +1 -1
  57. package/dist/src/PrismicRichText/PrismicRichTextSerialize.vue_vue_type_script_setup_true_lang.cjs +9 -29
  58. package/dist/src/PrismicRichText/PrismicRichTextSerialize.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
  59. package/dist/src/PrismicRichText/PrismicRichTextSerialize.vue_vue_type_script_setup_true_lang.js +10 -30
  60. package/dist/src/PrismicRichText/PrismicRichTextSerialize.vue_vue_type_script_setup_true_lang.js.map +1 -1
  61. package/dist/src/PrismicRichText/types.d.ts +18 -5
  62. package/dist/src/PrismicRichText/types.d.ts.map +1 -1
  63. package/dist/src/PrismicTable/PrismicTable.cjs.map +1 -1
  64. package/dist/src/PrismicTable/PrismicTable.js.map +1 -1
  65. package/dist/src/PrismicTable/PrismicTable.vue.d.ts +13 -13
  66. package/dist/src/PrismicTable/PrismicTable.vue.d.ts.map +1 -1
  67. package/dist/src/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.cjs +47 -19
  68. package/dist/src/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
  69. package/dist/src/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.js +48 -20
  70. package/dist/src/PrismicTable/PrismicTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  71. package/dist/src/PrismicTable/PrismicTableDefaultComponents.cjs +36 -18
  72. package/dist/src/PrismicTable/PrismicTableDefaultComponents.cjs.map +1 -1
  73. package/dist/src/PrismicTable/PrismicTableDefaultComponents.js +36 -18
  74. package/dist/src/PrismicTable/PrismicTableDefaultComponents.js.map +1 -1
  75. package/dist/src/PrismicTable/PrismicTableRow.cjs.map +1 -1
  76. package/dist/src/PrismicTable/PrismicTableRow.js.map +1 -1
  77. package/dist/src/PrismicTable/PrismicTableRow.vue_vue_type_script_setup_true_lang.cjs +13 -10
  78. package/dist/src/PrismicTable/PrismicTableRow.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
  79. package/dist/src/PrismicTable/PrismicTableRow.vue_vue_type_script_setup_true_lang.js +14 -11
  80. package/dist/src/PrismicTable/PrismicTableRow.vue_vue_type_script_setup_true_lang.js.map +1 -1
  81. package/dist/src/PrismicTable/types.d.ts +8 -8
  82. package/dist/src/PrismicTable/types.d.ts.map +1 -1
  83. package/dist/src/PrismicText.cjs.map +1 -1
  84. package/dist/src/PrismicText.js.map +1 -1
  85. package/dist/src/PrismicText.vue.d.ts +1 -11
  86. package/dist/src/PrismicText.vue.d.ts.map +1 -1
  87. package/dist/src/PrismicText.vue_vue_type_script_setup_true_lang.cjs +1 -12
  88. package/dist/src/PrismicText.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
  89. package/dist/src/PrismicText.vue_vue_type_script_setup_true_lang.js +3 -14
  90. package/dist/src/PrismicText.vue_vue_type_script_setup_true_lang.js.map +1 -1
  91. package/dist/src/SliceZone/SliceZone.cjs.map +1 -1
  92. package/dist/src/SliceZone/SliceZone.js.map +1 -1
  93. package/dist/src/SliceZone/SliceZone.vue.d.ts +5 -24
  94. package/dist/src/SliceZone/SliceZone.vue.d.ts.map +1 -1
  95. package/dist/src/SliceZone/SliceZone.vue_vue_type_script_setup_true_lang.cjs +5 -17
  96. package/dist/src/SliceZone/SliceZone.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
  97. package/dist/src/SliceZone/SliceZone.vue_vue_type_script_setup_true_lang.js +6 -18
  98. package/dist/src/SliceZone/SliceZone.vue_vue_type_script_setup_true_lang.js.map +1 -1
  99. package/dist/src/types.cjs +9 -0
  100. package/dist/src/types.cjs.map +1 -0
  101. package/dist/src/types.d.ts +3 -352
  102. package/dist/src/types.d.ts.map +1 -1
  103. package/dist/src/types.js +8 -0
  104. package/dist/src/types.js.map +1 -0
  105. package/dist/types.d.cts +3 -352
  106. package/dist/types.d.cts.map +1 -1
  107. package/package.json +6 -5
  108. package/src/PrismicImage.vue +10 -27
  109. package/src/PrismicLink.vue +18 -43
  110. package/src/PrismicRichText/PrismicRichText.vue +68 -118
  111. package/src/PrismicRichText/PrismicRichTextDefaultComponent.vue +61 -19
  112. package/src/PrismicRichText/PrismicRichTextSerialize.vue +5 -30
  113. package/src/PrismicRichText/types.ts +33 -14
  114. package/src/PrismicTable/PrismicTable.vue +50 -23
  115. package/src/PrismicTable/PrismicTableDefaultComponents.ts +45 -20
  116. package/src/PrismicTable/PrismicTableRow.vue +17 -24
  117. package/src/PrismicTable/types.ts +28 -15
  118. package/src/PrismicText.vue +3 -18
  119. package/src/SliceZone/SliceZone.vue +12 -41
  120. package/src/index.ts +13 -21
  121. package/src/types.ts +30 -438
  122. package/dist/PrismicEmbed.vue.d.cts +0 -25
  123. package/dist/PrismicEmbed.vue.d.cts.map +0 -1
  124. package/dist/createPrismic.d.cts +0 -29
  125. package/dist/createPrismic.d.cts.map +0 -1
  126. package/dist/src/PrismicEmbed.cjs +0 -8
  127. package/dist/src/PrismicEmbed.cjs.map +0 -1
  128. package/dist/src/PrismicEmbed.js +0 -8
  129. package/dist/src/PrismicEmbed.js.map +0 -1
  130. package/dist/src/PrismicEmbed.vue.d.ts +0 -25
  131. package/dist/src/PrismicEmbed.vue.d.ts.map +0 -1
  132. package/dist/src/PrismicEmbed.vue_vue_type_script_setup_true_lang.cjs +0 -42
  133. package/dist/src/PrismicEmbed.vue_vue_type_script_setup_true_lang.cjs.map +0 -1
  134. package/dist/src/PrismicEmbed.vue_vue_type_script_setup_true_lang.js +0 -42
  135. package/dist/src/PrismicEmbed.vue_vue_type_script_setup_true_lang.js.map +0 -1
  136. package/dist/src/PrismicRichText/DeprecatedPrismicRichText.cjs +0 -8
  137. package/dist/src/PrismicRichText/DeprecatedPrismicRichText.cjs.map +0 -1
  138. package/dist/src/PrismicRichText/DeprecatedPrismicRichText.js +0 -8
  139. package/dist/src/PrismicRichText/DeprecatedPrismicRichText.js.map +0 -1
  140. package/dist/src/PrismicRichText/DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.cjs +0 -92
  141. package/dist/src/PrismicRichText/DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.cjs.map +0 -1
  142. package/dist/src/PrismicRichText/DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.js +0 -92
  143. package/dist/src/PrismicRichText/DeprecatedPrismicRichText.vue_vue_type_script_setup_true_lang.js.map +0 -1
  144. package/dist/src/createPrismic.cjs +0 -85
  145. package/dist/src/createPrismic.cjs.map +0 -1
  146. package/dist/src/createPrismic.d.ts +0 -29
  147. package/dist/src/createPrismic.d.ts.map +0 -1
  148. package/dist/src/createPrismic.js +0 -85
  149. package/dist/src/createPrismic.js.map +0 -1
  150. package/dist/src/lib/Wrapper.cjs +0 -8
  151. package/dist/src/lib/Wrapper.cjs.map +0 -1
  152. package/dist/src/lib/Wrapper.js +0 -8
  153. package/dist/src/lib/Wrapper.js.map +0 -1
  154. package/dist/src/lib/Wrapper.vue_vue_type_script_setup_true_lang.cjs +0 -22
  155. package/dist/src/lib/Wrapper.vue_vue_type_script_setup_true_lang.cjs.map +0 -1
  156. package/dist/src/lib/Wrapper.vue_vue_type_script_setup_true_lang.js +0 -22
  157. package/dist/src/lib/Wrapper.vue_vue_type_script_setup_true_lang.js.map +0 -1
  158. package/dist/src/usePrismic.cjs +0 -38
  159. package/dist/src/usePrismic.cjs.map +0 -1
  160. package/dist/src/usePrismic.d.ts +0 -36
  161. package/dist/src/usePrismic.d.ts.map +0 -1
  162. package/dist/src/usePrismic.js +0 -37
  163. package/dist/src/usePrismic.js.map +0 -1
  164. package/dist/usePrismic.d.cts +0 -36
  165. package/dist/usePrismic.d.cts.map +0 -1
  166. package/src/PrismicEmbed.vue +0 -42
  167. package/src/PrismicRichText/DeprecatedPrismicRichText.vue +0 -146
  168. package/src/createPrismic.ts +0 -154
  169. package/src/lib/Wrapper.vue +0 -22
  170. package/src/usePrismic.ts +0 -36
@@ -1,357 +1,8 @@
1
- import { VueRichTextSerializer } from "./PrismicRichText/types.js";
2
- import { SliceComponentType } from "./SliceZone/types.js";
3
- import "./SliceZone/index.js";
4
- import { App, ConcreteComponent, DefineComponent, Raw } from "vue";
5
- 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, FunctionalComponent, Raw, defineAsyncComponent } from "vue";
6
2
 
7
3
  //#region src/types.d.ts
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>;
5
+ type VueComponent<TProps> = DefineComponent<{}, {}, any> | ReturnType<typeof defineAsyncComponent> | DefineComponent<TProps> | FunctionalComponent<TProps>;
355
6
  //#endregion
356
- export { ComponentOrTagName, PrismicPlugin, PrismicPluginOptions };
7
+ export { ComponentOrTagName, VueComponent };
357
8
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../src/types.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AA+BoB,KAOf,8BAAA,GAA8B;EAOxB;;;;;;EAyEN,OAAA,CAAA,EAzEM,iBAyEkB,CAAA,KAAA,CAAA;EAQb;;;;;AA8B4B;;;;;AAoBzB;AAiGnB;EASY,qBAAA,CAAmB,EA/NN,kBA+NM;EAIX;;;;;AAiBpB;;;;;;;EAkE4B,qBAAA,CAAA,EAxSH,kBAwSG;EAOO;;;;AAqBnC;;;;;;EA2CY,wBAAkB,CAAA,EAAA,MAAA,EAAA;EAE3B;;;;;;;;;;;;;uBArVmB;;;;;;;;;;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.ts","names":[],"sources":["../../src/types.ts"],"sourcesContent":[],"mappings":";;;KAQY,kBAAA,YAET,oBACA,IAAI;KAEK,uBAGT,+BAEA,kBAAkB,wBAClB,gBAAgB,UAChB,oBAAoB"}
@@ -0,0 +1,8 @@
1
+ //#region src/types.ts
2
+ const isVueComponent = (component) => {
3
+ return !!component && (typeof component === "function" || typeof component === "object" && ("render" in component && typeof component.render === "function" || "setup" in component && typeof component.setup === "function" || "__file" in component && !!component.__file || "__name" in component && !!component.__name || "props" in component && typeof component.props === "object"));
4
+ };
5
+
6
+ //#endregion
7
+ export { isVueComponent };
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../src/types.ts"],"sourcesContent":["import type {\n\tConcreteComponent,\n\tDefineComponent,\n\tFunctionalComponent,\n\tRaw,\n\tdefineAsyncComponent,\n} from \"vue\"\n\nexport type ComponentOrTagName =\n\t| string\n\t| ConcreteComponent\n\t| Raw<DefineComponent>\n\nexport type VueComponent<TProps> =\n\t// For reference within TypeScript files when `*.vue` type cannot be inferred\n\t// eslint-disable-next-line @typescript-eslint/no-empty-object-type, @typescript-eslint/no-explicit-any\n\t| DefineComponent<{}, {}, any>\n\t// Likewise, for reference with TypeScript files.\n\t| ReturnType<typeof defineAsyncComponent>\n\t| DefineComponent<TProps>\n\t| FunctionalComponent<TProps>\n\nexport const isVueComponent = <T>(\n\tcomponent: VueComponent<T> | unknown,\n): component is VueComponent<T> => {\n\treturn (\n\t\t!!component &&\n\t\t(typeof component === \"function\" ||\n\t\t\t(typeof component === \"object\" &&\n\t\t\t\t((\"render\" in component && typeof component.render === \"function\") ||\n\t\t\t\t\t(\"setup\" in component && typeof component.setup === \"function\") ||\n\t\t\t\t\t(\"__file\" in component && !!component.__file) ||\n\t\t\t\t\t(\"__name\" in component && !!component.__name) ||\n\t\t\t\t\t(\"props\" in component && typeof component.props === \"object\"))))\n\t)\n}\n"],"mappings":";AAsBA,MAAa,kBACZ,cACkC;AAClC,QACC,CAAC,CAAC,cACD,OAAO,cAAc,cACpB,OAAO,cAAc,aACnB,YAAY,aAAa,OAAO,UAAU,WAAW,cACrD,WAAW,aAAa,OAAO,UAAU,UAAU,cACnD,YAAY,aAAa,CAAC,CAAC,UAAU,UACrC,YAAY,aAAa,CAAC,CAAC,UAAU,UACrC,WAAW,aAAa,OAAO,UAAU,UAAU"}