@nuxtjs/prismic 3.2.0 → 3.3.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/LICENSE +1 -1
- package/README.md +7 -7
- package/dist/client/200.html +11 -11
- package/dist/client/404.html +11 -11
- package/dist/client/_nuxt/{BFN9l5Uh.js → B4G-IZst.js} +1 -1
- package/dist/client/_nuxt/BXaKOz4R.js +2 -0
- package/dist/client/_nuxt/Bn9u41Uw.js +1 -0
- package/dist/client/_nuxt/CpxYXSTt.js +1 -0
- package/dist/client/_nuxt/D2P5wF0N.js +1 -0
- package/dist/client/_nuxt/DCUMl-h9.js +24 -0
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/b4ff1650-3078-42bf-9480-8e22df1ac51e.json +1 -0
- package/dist/client/_nuxt/entry.CtO0E-QA.css +1 -0
- package/dist/client/_nuxt/error-404.luvduoeL.css +1 -0
- package/dist/client/_nuxt/error-500.C5gpBh_R.css +1 -0
- package/dist/client/_nuxt/index.14_QEbrK.css +1 -0
- package/dist/client/index.html +11 -11
- package/dist/module.json +6 -2
- package/dist/module.mjs +55 -18
- package/{src/runtime/preview.vue → dist/runtime/PrismicPreview.vue} +4 -22
- package/dist/runtime/plugin.client.d.ts +0 -2
- package/dist/runtime/{plugin.client.mjs → plugin.client.js} +1 -1
- package/dist/runtime/plugin.d.ts +0 -2
- package/dist/types.d.mts +40 -0
- package/dist/types.d.ts +40 -0
- package/package.json +34 -37
- package/src/devtools/index.ts +16 -14
- package/src/devtools/types.ts +6 -6
- package/src/lib/fileExists.ts +2 -1
- package/src/module.ts +87 -28
- package/{dist/runtime/preview.vue → src/runtime/PrismicPreview.vue} +3 -2
- package/src/runtime/plugin.client.ts +1 -1
- package/src/runtime/plugin.ts +15 -14
- package/src/runtime/usePrismicPreview.ts +1 -1
- package/src/types.ts +9 -9
- package/dist/client/_nuxt/C28ItRAc.js +0 -1
- package/dist/client/_nuxt/C2Zksehh.js +0 -1
- package/dist/client/_nuxt/Cc-k9tLd.js +0 -1
- package/dist/client/_nuxt/DWOr2Aml.js +0 -29
- package/dist/client/_nuxt/DiRqOYkY.js +0 -2
- package/dist/client/_nuxt/builds/meta/ad9d6ff8-05cb-4470-a389-47d551f276c8.json +0 -1
- package/dist/client/_nuxt/builds/meta/dev.json +0 -1
- package/dist/client/_nuxt/entry.CDGvsxww.css +0 -1
- package/dist/client/_nuxt/error-404.CA6XZ6nY.css +0 -1
- package/dist/client/_nuxt/error-500.DPwYA3kH.css +0 -1
- package/dist/client/_nuxt/index.ofkS6DTB.css +0 -1
- /package/dist/runtime/{plugin.mjs → plugin.js} +0 -0
- /package/dist/runtime/{usePrismicPreview.mjs → usePrismicPreview.js} +0 -0
package/src/module.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { join } from 'node:path'
|
|
2
|
+
import { readFile } from 'node:fs/promises'
|
|
3
|
+
import { existsSync } from 'node:fs'
|
|
2
4
|
|
|
3
5
|
import { defu } from 'defu'
|
|
4
6
|
import {
|
|
@@ -8,7 +10,8 @@ import {
|
|
|
8
10
|
addPlugin,
|
|
9
11
|
addImports,
|
|
10
12
|
addComponent,
|
|
11
|
-
extendPages
|
|
13
|
+
extendPages,
|
|
14
|
+
getNuxtVersion,
|
|
12
15
|
} from '@nuxt/kit'
|
|
13
16
|
|
|
14
17
|
import * as prismicVue from '@prismicio/vue'
|
|
@@ -37,23 +40,41 @@ export default defineNuxtModule<PrismicModuleOptions>({
|
|
|
37
40
|
meta: {
|
|
38
41
|
name: '@nuxtjs/prismic',
|
|
39
42
|
configKey: 'prismic',
|
|
40
|
-
compatibility: { nuxt: '
|
|
43
|
+
compatibility: { nuxt: '>=3.7.0' },
|
|
44
|
+
},
|
|
45
|
+
defaults: (nuxt) => {
|
|
46
|
+
let prismicFiles = {
|
|
47
|
+
client: '~/app/prismic/client',
|
|
48
|
+
linkResolver: '~/app/prismic/linkResolver',
|
|
49
|
+
richTextSerializer: '~/app/prismic/richTextSerializer',
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Nuxt 4 sets `app` as its `srcDir`, so we're just using the `prismic` folder there.
|
|
53
|
+
if (
|
|
54
|
+
nuxt.options?.future?.compatibilityVersion === 4
|
|
55
|
+
|| getNuxtVersion(nuxt).startsWith('4')
|
|
56
|
+
) {
|
|
57
|
+
prismicFiles = {
|
|
58
|
+
client: '~/prismic/client',
|
|
59
|
+
linkResolver: '~/prismic/linkResolver',
|
|
60
|
+
richTextSerializer: '~/prismic/richTextSerializer',
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return {
|
|
65
|
+
endpoint: '',
|
|
66
|
+
environment: '',
|
|
67
|
+
clientConfig: {},
|
|
68
|
+
...prismicFiles,
|
|
69
|
+
injectComponents: true,
|
|
70
|
+
components: {},
|
|
71
|
+
preview: '/preview',
|
|
72
|
+
toolbar: true,
|
|
73
|
+
devtools: true,
|
|
74
|
+
}
|
|
41
75
|
},
|
|
42
|
-
defaults: _nuxt => ({
|
|
43
|
-
endpoint: '',
|
|
44
|
-
environment: '',
|
|
45
|
-
clientConfig: {},
|
|
46
|
-
client: '~/app/prismic/client',
|
|
47
|
-
linkResolver: '~/app/prismic/linkResolver',
|
|
48
|
-
richTextSerializer: '~/app/prismic/richTextSerializer',
|
|
49
|
-
injectComponents: true,
|
|
50
|
-
components: {},
|
|
51
|
-
preview: '/preview',
|
|
52
|
-
toolbar: true,
|
|
53
|
-
devtools: true
|
|
54
|
-
}),
|
|
55
76
|
hooks: {},
|
|
56
|
-
setup
|
|
77
|
+
setup(options, nuxt) {
|
|
57
78
|
// Expose options through public runtime config
|
|
58
79
|
nuxt.options.runtimeConfig.public ||= {} as typeof nuxt.options.runtimeConfig.public
|
|
59
80
|
const moduleOptions: PrismicModuleOptions = defu(nuxt.options.runtimeConfig.public.prismic, options)
|
|
@@ -66,8 +87,8 @@ export default defineNuxtModule<PrismicModuleOptions>({
|
|
|
66
87
|
}
|
|
67
88
|
|
|
68
89
|
// Add runtime user code
|
|
69
|
-
const proxyUserFileWithUndefinedFallback
|
|
70
|
-
(filename: string, path: string, extensions = ['js', 'mjs', 'ts']): boolean => {
|
|
90
|
+
const proxyUserFileWithUndefinedFallback
|
|
91
|
+
= (filename: string, path: string, extensions = ['js', 'mjs', 'ts']): boolean => {
|
|
71
92
|
const resolvedFilename = `prismic/proxy/${filename}.ts`
|
|
72
93
|
const resolvedPath = path.replace(/^(~~|@@)/, nuxt.options.rootDir).replace(/^(~|@)/, nuxt.options.srcDir)
|
|
73
94
|
const maybeUserFile = fileExists(resolvedPath, extensions)
|
|
@@ -78,15 +99,16 @@ export default defineNuxtModule<PrismicModuleOptions>({
|
|
|
78
99
|
|
|
79
100
|
addTemplate({
|
|
80
101
|
filename: resolvedFilename,
|
|
81
|
-
getContents: () => `export { default } from '${path}'
|
|
102
|
+
getContents: () => `export { default } from '${path}'`,
|
|
82
103
|
})
|
|
83
104
|
|
|
84
105
|
return true
|
|
85
|
-
}
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
86
108
|
// Else provide `undefined` fallback
|
|
87
109
|
addTemplate({
|
|
88
110
|
filename: resolvedFilename,
|
|
89
|
-
getContents: () => 'export default undefined'
|
|
111
|
+
getContents: () => 'export default undefined',
|
|
90
112
|
})
|
|
91
113
|
|
|
92
114
|
return false
|
|
@@ -118,12 +140,12 @@ export default defineNuxtModule<PrismicModuleOptions>({
|
|
|
118
140
|
'PrismicLink',
|
|
119
141
|
'PrismicText',
|
|
120
142
|
'PrismicRichText',
|
|
121
|
-
'SliceZone'
|
|
143
|
+
'SliceZone',
|
|
122
144
|
].forEach((component) => {
|
|
123
145
|
addComponent({
|
|
124
146
|
name: component,
|
|
125
147
|
export: component,
|
|
126
|
-
filePath: '@prismicio/vue'
|
|
148
|
+
filePath: '@prismicio/vue',
|
|
127
149
|
})
|
|
128
150
|
})
|
|
129
151
|
}
|
|
@@ -137,14 +159,14 @@ export default defineNuxtModule<PrismicModuleOptions>({
|
|
|
137
159
|
return {
|
|
138
160
|
name: key,
|
|
139
161
|
as: key,
|
|
140
|
-
from: '@prismicio/vue'
|
|
162
|
+
from: '@prismicio/vue',
|
|
141
163
|
}
|
|
142
164
|
})
|
|
143
165
|
addImports(prismicVueAutoImports)
|
|
144
166
|
addImports({
|
|
145
167
|
name: 'usePrismicPreview',
|
|
146
168
|
as: 'usePrismicPreview',
|
|
147
|
-
from: resolver.resolve('runtime/usePrismicPreview')
|
|
169
|
+
from: resolver.resolve('runtime/usePrismicPreview'),
|
|
148
170
|
})
|
|
149
171
|
|
|
150
172
|
// Add preview route
|
|
@@ -154,14 +176,15 @@ export default defineNuxtModule<PrismicModuleOptions>({
|
|
|
154
176
|
if (maybeUserPreviewPage) {
|
|
155
177
|
logger.info(`Using user-defined preview page at \`${maybeUserPreviewPage.replace(join(nuxt.options.srcDir), '~').replace(nuxt.options.rootDir, '~~').replace(/\\/g, '/')
|
|
156
178
|
}\`, available at \`${moduleOptions.preview}\``)
|
|
157
|
-
}
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
158
181
|
logger.info(`Using default preview page, available at \`${moduleOptions.preview}\``)
|
|
159
182
|
|
|
160
183
|
extendPages((pages) => {
|
|
161
184
|
pages.unshift({
|
|
162
185
|
name: 'prismic-preview',
|
|
163
186
|
path: moduleOptions.preview as string, // Checked before
|
|
164
|
-
file: resolver.resolve('runtime/
|
|
187
|
+
file: resolver.resolve('runtime/PrismicPreview.vue'),
|
|
165
188
|
})
|
|
166
189
|
})
|
|
167
190
|
}
|
|
@@ -170,5 +193,41 @@ export default defineNuxtModule<PrismicModuleOptions>({
|
|
|
170
193
|
logger.warn('`toolbar` option is disabled but `preview` is enabled. Previews won\'t work unless you manually load the toolbar.')
|
|
171
194
|
}
|
|
172
195
|
}
|
|
173
|
-
|
|
196
|
+
|
|
197
|
+
// Integrate with @nuxt/eslint
|
|
198
|
+
// @ts-expect-error 3rd party hook
|
|
199
|
+
nuxt.hook('eslint:config:addons', (addons: {
|
|
200
|
+
name: string
|
|
201
|
+
getConfigs: () => Promise<{ configs: string[] }>
|
|
202
|
+
}[]) => {
|
|
203
|
+
addons.push({
|
|
204
|
+
name: '@nuxtjs/prismic',
|
|
205
|
+
async getConfigs() {
|
|
206
|
+
const configPath = resolver.resolve(nuxt.options.rootDir, 'slicemachine.config.json')
|
|
207
|
+
|
|
208
|
+
const configs: string[] = []
|
|
209
|
+
|
|
210
|
+
try {
|
|
211
|
+
if (existsSync(configPath)) {
|
|
212
|
+
const config = JSON.parse(await readFile(configPath, 'utf-8'))
|
|
213
|
+
|
|
214
|
+
if (config && 'slices' in config && Array.isArray(config.slices)) {
|
|
215
|
+
configs.push(JSON.stringify({
|
|
216
|
+
files: config.slices.map((slice: string) => `${slice.replace('./', '')}/**/index.vue`),
|
|
217
|
+
rules: {
|
|
218
|
+
'vue/multi-word-component-names': 'off',
|
|
219
|
+
},
|
|
220
|
+
}))
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
// noop
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
return { configs }
|
|
229
|
+
},
|
|
230
|
+
})
|
|
231
|
+
})
|
|
232
|
+
},
|
|
174
233
|
})
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
<figure>
|
|
4
4
|
<img
|
|
5
5
|
src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNDAiIGhlaWdodD0iMzYiPgogIDxwYXRoIGZpbGw9IiMyMTI3MzUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTM1LjUzOCAxOC43NGwtMi42NTUtMi42NmExLjEyNiAxLjEyNiAwIDAgMS0uMzI5LS43OTZ2LTMuMjU2YzAtMy4wMDktLjMxMy00LjEtLjktNS4yYTYuMTI3IDYuMTI3IDAgMCAwLTIuNTQ2LTIuNTUxYy0xLjA5Ny0uNTg5LTIuMTg2LS45MDItNS4xODgtLjkwMmgtNC4yOTVhLjIyNS4yMjUgMCAwIDEtLjE1OC0uMzg0TDIyLjEyMi4zM2MuMjEtLjIxMS40OTYtLjMzLjc5NC0uMzNoMS40OTNjNC4wMDMgMCA1LjQ1NS40MTggNi45MTkgMS4yMDJhOC4xNjkgOC4xNjkgMCAwIDEgMy4zOTQgMy40MDJjLjc4MyAxLjQ2NyAxLjIgMi45MjIgMS4yIDYuOTMzdjcuMDQ1YS4yMjUuMjI1IDAgMCAxLS4zODQuMTU5ek0xNy4yMjIgMzUuNjE3bDIuNjU1LTIuNjYxYy4yMS0uMjExLjQ5Ni0uMzMuNzk0LS4zM2gzLjI0OWMzLjAwMiAwIDQuMDktLjMxMyA1LjE4OC0uOTAyYTYuMTI3IDYuMTI3IDAgMCAwIDIuNTQ2LTIuNTUxYy41ODctMS4xLjktMi4xOTEuOS01LjJ2LTQuMzA0YS4yMjUuMjI1IDAgMCAxIC4zODMtLjE1OWwyLjY1NiAyLjY2MWMuMjEuMjExLjMyOS40OTguMzI5Ljc5NnYxLjQ5N2MwIDQuMDExLS40MTcgNS40NjYtMS4yIDYuOTMzYTguMTY5IDguMTY5IDAgMCAxLTMuMzk0IDMuNDAyQzI5Ljg2NCAzNS41ODIgMjguNDEyIDM2IDI0LjQwOSAzNkgxNy4zOGEuMjI1LjIyNSAwIDAgMS0uMTU4LS4zODR6TS4zODMgMTcuMjU5TDMuMDQgMTkuOTJjLjIxLjIxMS4zMjkuNDk4LjMyOS43OTZ2My4yNTZjMCAzLjAwOS4zMTIgNC4xLjkgNS4yYTYuMTI3IDYuMTI3IDAgMCAwIDIuNTQ1IDIuNTUxYzEuMDk4LjU4OSAyLjE4Ny45MDIgNS4xODkuOTAyaDQuMjk0YS4yMjUuMjI1IDAgMCAxIC4xNi4zODRsLTIuNjU3IDIuNjYxYy0uMjEuMjExLS40OTYuMzMtLjc5My4zM2gtMS40OTRjLTQuMDAzIDAtNS40NTQtLjQxOC02LjkxOC0xLjIwMkE4LjE2OSA4LjE2OSAwIDAgMSAxLjIgMzEuMzk2Qy40MTcgMjkuOTI5IDAgMjguNDc0IDAgMjQuNDYzdi03LjA0NWEuMjI1LjIyNSAwIDAgMSAuMzgzLS4xNTl6TTE2LjA0NSAzLjA0NWMtLjIxMS4yMTEtLjQ5Ni4zMy0uNzk0LjMzaC0zLjI0OWMtMy4wMDIgMC00LjA5MS4zMTMtNS4xODkuOTAyYTYuMTI3IDYuMTI3IDAgMCAwLTIuNTQ2IDIuNTUxYy0uNTg3IDEuMS0uOSAyLjE5MS0uOSA1LjJ2NC4zMDRhLjIyNS4yMjUgMCAwIDEtLjM4My4xNTlMLjMzIDEzLjgzQTEuMTI2IDEuMTI2IDAgMCAxIDAgMTMuMDM0di0xLjQ5N2MwLTQuMDExLjQxNy01LjQ2NiAxLjItNi45MzNhOC4xNjkgOC4xNjkgMCAwIDEgMy4zOTQtMy40MDJDNi4wNTguNDE4IDcuNTEgMCAxMS41MTIgMGg3LjAzYS4yMjUuMjI1IDAgMCAxIC4xNTguMzg0bC0yLjY1NSAyLjY2MXptMTMuODg0IDEwLjA5MWwtMy42Mi0zLjQ2OGMtLjI0LS4yNC0uNTItLjQxNC0uODE5LS41MjNBMi4yMzYgMi4yMzYgMCAwIDAgMjQuNjk2IDlIMTQuMDFhLjIyNS4yMjUgMCAwIDEtLjE1OS0uMzg0bDIuNjU5LTIuNjYyYy4yMS0uMjEuNDk1LS4zMjkuNzkzLS4zMjloOC41MTZjMi40OCAwIDQuNDkgMi4wMTUgNC40OSA0LjV2Mi44NDlhLjIyNS4yMjUgMCAwIDEtLjM4LjE2MnptLTcuMTE1IDE2Ljg2MWwzLjQ2LTMuNjI5Yy4yNC0uMjQuNDE0LS41Mi41MjMtLjgyYTIuMjUgMi4yNSAwIDAgMCAuMTQ0LS43OTV2LTEwLjcxYS4yMjUuMjI1IDAgMCAxIC4zODQtLjE1OWwyLjY1NiAyLjY2NGMuMjEuMjExLjMyOC40OTcuMzI4Ljc5NnY4LjUzNGMwIDIuNDg1LTIuMDEgNC41LTQuNDkgNC41aC0yLjg0M2EuMjI1LjIyNSAwIDAgMS0uMTYyLS4zOHpNNS45OTIgMjIuODY0bDMuNjIyIDMuNDY4Yy4yMzkuMjQuNTIuNDE0LjgxOC41MjMuMjQ2LjA5NC41MTQuMTQ1Ljc5NC4xNDVoMTAuNjg2YS4yMjUuMjI1IDAgMCAxIC4xNTguMzg0bC0yLjY1OCAyLjY2MmMtLjIxLjIxLS40OTYuMzI5LS43OTMuMzI5aC04LjUxNmE0LjQ5NSA0LjQ5NSAwIDAgMS00LjQ5LTQuNXYtMi44NDlhLjIyNS4yMjUgMCAwIDEgLjM4LS4xNjJ6bTcuMTE2LTE2Ljg1OWwtMy40NjEgMy42M2MtLjI0LjI0LS40MTMuNTItLjUyMi44MmEyLjI1IDIuMjUgMCAwIDAtLjE0NS43OTV2MTAuNzFhLjIyNS4yMjUgMCAwIDEtLjM4My4xNThsLTIuNjU2LTIuNjY0YTEuMTI2IDEuMTI2IDAgMCAxLS4zMjgtLjc5NXYtOC41MzRjMC0yLjQ4NSAyLjAxLTQuNSA0LjQ5LTQuNWgyLjg0M2EuMjI1LjIyNSAwIDAgMSAuMTYyLjM4em0zMy4xMDUgNC4zNzloLjg2OGMuNTkzIDAgMS4wNzQuNDggMS4wNzQgMS4wNzR2MS4wMTZjMCAuMDMyLjAyNi4wNTcuMDU3LjA1Ny40OTUtLjg3NSAxLjE2LTEuNTEgMS45OTgtMS45MDlhNi4yMzYgNi4yMzYgMCAwIDEgMi43MS0uNTk2YzEuMDQ3IDAgMS45ODkuMTk0IDIuODI2LjU4Mi44MzcuMzg3IDEuNTUuOTIgMi4xNCAxLjU5NWE2Ljg5NiA2Ljg5NiAwIDAgMSAxLjM0IDIuMzg2Yy4zMDUuOTE1LjQ1NyAxLjkuNDU3IDIuOTUzYTguNzk1IDguNzk1IDAgMCAxLS40ODUgMi45NTMgNy40MTggNy40MTggMCAwIDEtMS4zNTUgMi4zODYgNi4yNjkgNi4yNjkgMCAwIDEtMi4wOTcgMS41OTUgNi4xODIgNi4xODIgMCAwIDEtMi42ODMuNTgyYy0uNjQ3IDAtMS4yMTctLjA3LTEuNzEyLS4yMDlhNS43NTEgNS43NTEgMCAwIDEtMS4zMTItLjUzNyA1LjI1MiA1LjI1MiAwIDAgMS0uOTctLjcgNS4wMTIgNS4wMTIgMCAwIDEtLjY1Ny0uNzMxLjA4Ni4wODYgMCAwIDAtLjA4Ni4wODV2Ny4yMjRhMS4zMSAxLjMxIDAgMCAxLTEuMzEgMS4zMWgtLjgwM2ExLjMxIDEuMzEgMCAwIDEtMS4zMS0xLjMxVjExLjY5NGMwLS43MjMuNTg2LTEuMzEgMS4zMS0xLjMxem0xMC4wNDYgNy4xNThjMC0uNTU3LS4wOS0xLjA5NC0uMjctMS42MWE0LjA3OCA0LjA3OCAwIDAgMC0uOC0xLjM3MyAzLjk5IDMuOTkgMCAwIDAtMS4yNy0uOTU0Yy0uNDk0LS4yMzktMS4wNTUtLjM1OC0xLjY4My0uMzU4LS42MjggMC0xLjE5LjEyLTEuNjg0LjM1OGEzLjk5IDMuOTkgMCAwIDAtMS4yNy45NTQgNC4wNzggNC4wNzggMCAwIDAtLjc5OSAxLjM3MiA0Ljg0NSA0Ljg0NSAwIDAgMC0uMjcgMS42MWMwIC41NTguMDkgMS4wOTQuMjcgMS42MTEuMTgxLjUxNy40NDcuOTc1LjggMS4zNzJhMy45OSAzLjk5IDAgMCAwIDEuMjcuOTU1Yy40OTQuMjM4IDEuMDU1LjM1OCAxLjY4My4zNTguNjI4IDAgMS4xODktLjEyIDEuNjgzLS4zNThhMy45OSAzLjk5IDAgMCAwIDEuMjctLjk1NWMuMzUyLS4zOTcuNjE4LS44NTUuOC0xLjM3Mi4xOC0uNTE3LjI3LTEuMDUzLjI3LTEuNjF6bTguMzU5LTcuMTU4aC45OGMuNjI2IDAgMS4xMzQuNTA3IDEuMTM0IDEuMTMzdjEuMDc3YzAgLjAzMS4wMjUuMDU3LjA1Ny4wNTcuMzgtLjgzNi45MjItMS40ODIgMS42MjYtMS45MzkuNzA0LS40NTcgMS41MTMtLjY4NiAyLjQyNi0uNjg2LjIwOSAwIC40MTQuMDIuNjEzLjA2YS43NjIuNzYyIDAgMCAxIC42MTQuNzQ3djEuOTY0YS43MTUuNzE1IDAgMCAxLS44NDIuNzA0IDQuNTggNC41OCAwIDAgMC0uODEzLS4wNzVjLS44IDAtMS40NDEuMTU0LTEuOTI2LjQ2Mi0uNDg1LjMwOS0uODU2LjY2MS0xLjExMyAxLjA2YTMuNiAzLjYgMCAwIDAtLjUxNCAxLjE5MmMtLjA4Ni4zOTgtLjEyOC42OTYtLjEyOC44OTV2Ni4zNTVhMS4zMSAxLjMxIDAgMCAxLTEuMzEgMS4zMWgtLjgwNGExLjMxIDEuMzEgMCAwIDEtMS4zMS0xLjMxVjExLjY5NGMwLS43MjMuNTg2LTEuMzEgMS4zMS0xLjMxem0xMS41ODUgMGguODA0Yy43MjMgMCAxLjMxLjU4NyAxLjMxIDEuMzFWMjMuMzlhMS4zMSAxLjMxIDAgMCAxLTEuMzEgMS4zMWgtLjgwNGExLjMxIDEuMzEgMCAwIDEtMS4zMS0xLjMxVjExLjY5NGMwLS43MjMuNTg2LTEuMzEgMS4zMS0xLjMxem0tMS43OTUtNC44NjJjMC0uNTc2LjIwNC0xLjA3OC42MTMtMS41MDYuNDEtLjQyNy45MjgtLjY0MSAxLjU1NS0uNjQxLjYyOCAwIDEuMTU2LjIwNCAxLjU4NC42MTEuNDI4LjQwOC42NDIuOTIuNjQyIDEuNTM2IDAgLjYxNy0uMjE0IDEuMTI5LS42NDIgMS41MzYtLjQyOC40MDgtLjk1Ni42MTItMS41ODQuNjEyLS42MjcgMC0xLjE0Ni0uMjE0LTEuNTU1LS42NDFhMi4xMDggMi4xMDggMCAwIDEtLjYxMy0xLjUwN3ptMTQuNzUzIDguMTMzYy0uNjk1LS41MS0xLjMxNC0uNzY2LTEuODU1LS43NjYtLjQ1NyAwLS45MDQuMTItMS4zNDIuMzU4LS40MzcuMjM5LS42NTYuNjI2LS42NTYgMS4xNjMgMCAuNDM4LjE4Ljc1Ni41NDIuOTU1LjM2Mi4xOTguODE4LjM2OCAxLjM3LjUwNy41NTIuMTM5IDEuMTQ2LjI4MyAxLjc4My40MzIuNjM4LjE1IDEuMjMyLjM3OCAxLjc4NC42ODYuNTUyLjMwOCAxLjAwOC43MyAxLjM3IDEuMjY4LjM2MS41MzcuNTQyIDEuMjcyLjU0MiAyLjIwNyAwIC44NTUtLjE3NiAxLjU3NS0uNTI4IDIuMTYyYTQuMjQxIDQuMjQxIDAgMCAxLTEuMzcgMS40MTcgNS45MjcgNS45MjcgMCAwIDEtMS44OTcuNzc1IDkuNTUzIDkuNTUzIDAgMCAxLTIuMTEyLjIzOWMtMS4wNjUgMC0yLjA0NS0uMTYtMi45NC0uNDc3LS4zNS0uMTI1LS43Ny0uMzc1LTEuMjYtLjc1MWExLjMxIDEuMzEgMCAwIDEtLjExOS0xLjk3NmwuMzU1LS4zNDhhMS4zMSAxLjMxIDAgMCAxIDEuNzgzLS4wNDhjLjIwOC4xODMuMzg4LjMyNC41NC40MjMuNTA0LjMyOSAxLjExOC40OTMgMS44NC40OTMuMjQ4IDAgLjUwNS0uMDMuNzcxLS4wOS4yNjctLjA2LjUxNC0uMTU5Ljc0Mi0uMjk4LjIyOC0uMTQuNDE0LS4zMTMuNTU3LS41MjIuMTQyLS4yMDkuMjE0LS40NTIuMjE0LS43MyAwLS40OTgtLjE4MS0uODY2LS41NDMtMS4xMDQtLjM2MS0uMjM5LS44MTgtLjQzMy0xLjM3LS41ODJhMjguNzQ2IDI4Ljc0NiAwIDAgMC0xLjc4My0uNDE3IDYuNzA3IDYuNzA3IDAgMCAxLTEuNzgzLS42MjcgMy43OTUgMy43OTUgMCAwIDEtMS4zNy0xLjIwOGMtLjM2MS0uNTE3LS41NDItMS4yMzMtLjU0Mi0yLjE0NyAwLS43OTUuMTU3LTEuNDg2LjQ3LTIuMDczYTQuMjY1IDQuMjY1IDAgMCAxIDEuMjQyLTEuNDQ2IDUuMjU2IDUuMjU2IDAgMCAxIDEuNzctLjgzNiA3Ljc3MyA3Ljc3MyAwIDAgMSAyLjAyNS0uMjY4Yy45MTMgMCAxLjgxNy4xNjQgMi43MTEuNDkyLjMyNC4xMTkuNjg1LjMzOSAxLjA4NC42NmExLjMxIDEuMzEgMCAwIDEgLjA3NSAxLjk3NWwtLjQyNi40MDFhMS4zMSAxLjMxIDAgMCAxLTEuNjc0LjEwMXptNy43ODctMy4yNzFoLjYzM2MuNzIzIDAgMS4zMS41ODcgMS4zMSAxLjMxdi45MjdhNS42MDIgNS42MDIgMCAwIDEgMS41MjctMS44MDVjLjY3NS0uNTI3IDEuNTgzLS43OSAyLjcyNS0uNzkgMi4xNSAwIDMuNTc2Ljg4NSA0LjI4IDIuNjU0LjQ5NS0uOTE0IDEuMTEzLTEuNTg1IDEuODU1LTIuMDEzLjc0Mi0uNDI3IDEuNjI2LS42NDEgMi42NTQtLjY0MS45MTMgMCAxLjY4My4xNTkgMi4zMTEuNDc3YTQuMDg0IDQuMDg0IDAgMCAxIDEuNTI3IDEuMzEyYy4zOS41NTcuNjcgMS4yMDguODQxIDEuOTU0LjE3Mi43NDYuMjU3IDEuNTQ2LjI1NyAyLjR2Ny4yMmExLjMxIDEuMzEgMCAwIDEtMS4zMSAxLjMxaC0uODA0YTEuMzEgMS4zMSAwIDAgMS0xLjMxLTEuMzF2LTYuODAyYzAtLjQzNy0uMDM4LS44Ni0uMTE0LTEuMjY3YTMuMTExIDMuMTExIDAgMCAwLS40LTEuMDc0IDIuMDYyIDIuMDYyIDAgMCAwLS43Ny0uNzNjLS4zMjQtLjE4LS43NDItLjI2OS0xLjI1Ni0uMjY5LS41MzIgMC0uOTg0LjEwNC0xLjM1NS4zMTNhMi42ODYgMi42ODYgMCAwIDAtLjkxMy44MzUgMy41MDggMy41MDggMCAwIDAtLjUxNCAxLjE5MyA1Ljk0IDUuOTQgMCAwIDAtLjE1NyAxLjM1N3Y2LjQ0NWExLjMxIDEuMzEgMCAwIDEtMS4zMSAxLjMxaC0uODA0YTEuMzEgMS4zMSAwIDAgMS0xLjMxLTEuMzF2LTcuMjJjMC0uODk1LS4xOC0xLjYwNi0uNTQyLTIuMTMzLS4zNjItLjUyNi0uOTYtLjc5LTEuNzk4LS43OS0uNTcgMC0xLjA1MS4xLTEuNDQxLjI5OC0uMzkuMi0uNzEzLjQ2OC0uOTcuODA2YTMuMjYgMy4yNiAwIDAgMC0uNTU3IDEuMTYzIDUuNDEzIDUuNDEzIDAgMCAwLS4xNyAxLjM3MnY2LjUwNGExLjMxIDEuMzEgMCAwIDEtMS4zMTEgMS4zMWgtLjgwNGExLjMxIDEuMzEgMCAwIDEtMS4zMS0xLjMxVjExLjY5NGMwLS43MjMuNTg3LTEuMzEgMS4zMS0xLjMxem0yNS40NTQgMGguODAzYy43MjQgMCAxLjMxLjU4NyAxLjMxIDEuMzFWMjMuMzlhMS4zMSAxLjMxIDAgMCAxLTEuMzEgMS4zMWgtLjgwM2ExLjMxIDEuMzEgMCAwIDEtMS4zMS0xLjMxVjExLjY5NGMwLS43MjMuNTg2LTEuMzEgMS4zMS0xLjMxem0tMS43OTYtNC44NjJjMC0uNTc2LjIwNS0xLjA3OC42MTQtMS41MDYuNDA5LS40MjcuOTI3LS42NDEgMS41NTUtLjY0MS42MjggMCAxLjE1Ni4yMDQgMS41ODQuNjExLjQyOC40MDguNjQyLjkyLjY0MiAxLjUzNiAwIC42MTctLjIxNCAxLjEyOS0uNjQyIDEuNTM2LS40MjguNDA4LS45NTYuNjEyLTEuNTg0LjYxMi0uNjI4IDAtMS4xNDYtLjIxNC0xLjU1NS0uNjQxYTIuMTA4IDIuMTA4IDAgMCAxLS42MTQtMS41MDd6bTE2Ljc1MSA4LjM3M2EzLjU2NCAzLjU2NCAwIDAgMC0uMzcxLS4yNiAyLjYwNyAyLjYwNyAwIDAgMC0xLjM0Mi0uMzg4Yy0uNjI3IDAtMS4xODkuMTItMS42ODMuMzU4YTMuOTkgMy45OSAwIDAgMC0xLjI3Ljk1NCA0LjA3OCA0LjA3OCAwIDAgMC0uNzk5IDEuMzcyIDQuODQ1IDQuODQ1IDAgMCAwLS4yNzEgMS42MWMwIC41NTguMDkgMS4wOTQuMjcxIDEuNjExLjE4LjUxNy40NDcuOTc1LjggMS4zNzJhMy45OSAzLjk5IDAgMCAwIDEuMjY5Ljk1NWMuNDk0LjIzOCAxLjA1Ni4zNTggMS42ODMuMzU4LjUzMyAwIDEuMDI4LS4xMTUgMS40ODQtLjM0My4wOTMtLjA0Ny4xOTMtLjExLjMtLjE4OWExLjMxIDEuMzEgMCAwIDEgMS43NTYuMTg1bC41Mi41ODRhMS4yNDggMS4yNDggMCAwIDEtLjMwNyAxLjkxIDcuOTggNy45OCAwIDAgMS0yLjY2OC45N2MtLjQxOS4wNjktLjc4LjEwNC0xLjA4NS4xMDRhNy45MDQgNy45MDQgMCAwIDEtMi45MS0uNTM3QTYuOTM4IDYuOTM4IDAgMCAxIDEzMC4zNjUgMjNhNy4yMyA3LjIzIDAgMCAxLTEuNTgzLTIuMzcxYy0uMzktLjkyNS0uNTg1LTEuOTU0LS41ODUtMy4wODcgMC0xLjEzMy4xOTUtMi4xNjIuNTg1LTMuMDg3YTcuMjMgNy4yMyAwIDAgMSAxLjU4My0yLjM3MSA2LjkzOCA2LjkzOCAwIDAgMSAyLjM2OS0xLjUyMSA3LjkwNCA3LjkwNCAwIDAgMSAyLjkxLS41MzdjLjg3NiAwIDEuNzU1LjE3NCAyLjY0LjUyMi4zMzcuMTMzLjczNS4zNyAxLjE5My43MTFhMS4zMSAxLjMxIDAgMCAxIC4xNjQgMS45NTdsLS41My41NTNhMS4zMSAxLjMxIDAgMCAxLTEuNzU0LjEyNnoiLz4KPC9zdmc+"
|
|
6
|
-
alt="Prismic"
|
|
6
|
+
alt="Prismic"
|
|
7
|
+
>
|
|
7
8
|
<figcaption>
|
|
8
9
|
Loading preview...
|
|
9
10
|
</figcaption>
|
|
@@ -15,7 +16,7 @@
|
|
|
15
16
|
import { useHead, usePrismicPreview } from '#imports'
|
|
16
17
|
|
|
17
18
|
useHead({
|
|
18
|
-
title: 'Prismic Preview - Loading'
|
|
19
|
+
title: 'Prismic Preview - Loading',
|
|
19
20
|
})
|
|
20
21
|
|
|
21
22
|
usePrismicPreview()
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { PrismicModuleOptions } from '../types'
|
|
2
2
|
import { defineNuxtPlugin, refreshNuxtData, useRuntimeConfig } from '#imports'
|
|
3
3
|
|
|
4
|
-
export default defineNuxtPlugin((
|
|
4
|
+
export default defineNuxtPlugin((_nuxtApp) => {
|
|
5
5
|
const options: PrismicModuleOptions = useRuntimeConfig().public.prismic
|
|
6
6
|
|
|
7
7
|
// Hot reload preview updates
|
package/src/runtime/plugin.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { isRepositoryEndpoint, getRepositoryName, type Client } from '@prismicio/client'
|
|
2
2
|
import { createPrismic } from '@prismicio/vue'
|
|
3
3
|
|
|
4
|
-
import NuxtLink from '#app/components/nuxt-link'
|
|
5
4
|
import type { PrismicModuleOptions } from '../types'
|
|
5
|
+
import NuxtLink from '#app/components/nuxt-link'
|
|
6
6
|
import { defineNuxtPlugin, useCookie, useRequestEvent, onNuxtReady, refreshNuxtData, useHead, useRuntimeConfig, useRouter } from '#imports'
|
|
7
7
|
|
|
8
8
|
// @ts-expect-error vfs cannot be resolved here
|
|
@@ -26,8 +26,8 @@ export default defineNuxtPlugin((nuxtApp) => {
|
|
|
26
26
|
components: {
|
|
27
27
|
linkInternalComponent: NuxtLink,
|
|
28
28
|
linkExternalComponent: NuxtLink,
|
|
29
|
-
...options.components
|
|
30
|
-
}
|
|
29
|
+
...options.components,
|
|
30
|
+
},
|
|
31
31
|
})
|
|
32
32
|
|
|
33
33
|
nuxtApp.vueApp.use(prismicPlugin)
|
|
@@ -48,11 +48,11 @@ export default defineNuxtPlugin((nuxtApp) => {
|
|
|
48
48
|
const session = typeof previewCookie === 'string' ? JSON.parse(decodeURIComponent(previewCookie)) : previewCookie
|
|
49
49
|
|
|
50
50
|
if (Object.keys(session).some(key =>
|
|
51
|
-
key in session
|
|
52
|
-
typeof session[key] === 'object'
|
|
53
|
-
session[key] !== null
|
|
54
|
-
'preview' in session[key]
|
|
55
|
-
session[key].preview)
|
|
51
|
+
key in session
|
|
52
|
+
&& typeof session[key] === 'object'
|
|
53
|
+
&& session[key] !== null
|
|
54
|
+
&& 'preview' in session[key]
|
|
55
|
+
&& session[key].preview)
|
|
56
56
|
) {
|
|
57
57
|
let afterEachCalled = false
|
|
58
58
|
onNuxtReady(() => {
|
|
@@ -65,8 +65,8 @@ export default defineNuxtPlugin((nuxtApp) => {
|
|
|
65
65
|
refreshNuxtData()
|
|
66
66
|
})
|
|
67
67
|
}
|
|
68
|
-
}
|
|
69
|
-
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
70
|
console.warn('Failed to parse Prismic preview cookie', error)
|
|
71
71
|
}
|
|
72
72
|
}
|
|
@@ -84,15 +84,16 @@ export default defineNuxtPlugin((nuxtApp) => {
|
|
|
84
84
|
src: `https://static.cdn.prismic.io/prismic.min.js?repo=${repositoryName}&new=true`,
|
|
85
85
|
async: true,
|
|
86
86
|
defer: true,
|
|
87
|
-
crossorigin: 'anonymous'
|
|
88
|
-
}]
|
|
87
|
+
crossorigin: 'anonymous',
|
|
88
|
+
}],
|
|
89
89
|
})
|
|
90
|
-
}
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
91
92
|
// TODO: We might want to let user disable this behavior because it might have unexpected side effects
|
|
92
93
|
useCookie('io.prismic.preview').value = null
|
|
93
94
|
}
|
|
94
95
|
|
|
95
96
|
return {
|
|
96
|
-
provide: { prismic: prismicPlugin }
|
|
97
|
+
provide: { prismic: prismicPlugin },
|
|
97
98
|
}
|
|
98
99
|
})
|
package/src/types.ts
CHANGED
|
@@ -26,7 +26,7 @@ export type PrismicModuleOptions = Omit<PrismicPluginOptions, 'endpoint' | 'clie
|
|
|
26
26
|
*
|
|
27
27
|
* @see Prismic client documentation {@link https://prismic.io/docs/technical-reference/prismicio-client}
|
|
28
28
|
*/
|
|
29
|
-
endpoint?: string
|
|
29
|
+
endpoint?: string
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* The Prismic environment in use by Slice Machine configured through
|
|
@@ -36,7 +36,7 @@ export type PrismicModuleOptions = Omit<PrismicPluginOptions, 'endpoint' | 'clie
|
|
|
36
36
|
*
|
|
37
37
|
* @internal
|
|
38
38
|
*/
|
|
39
|
-
environment?: string
|
|
39
|
+
environment?: string
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
42
|
* An optional path to a file exporting a `@prismicio/client` instance used
|
|
@@ -47,7 +47,7 @@ export type PrismicModuleOptions = Omit<PrismicPluginOptions, 'endpoint' | 'clie
|
|
|
47
47
|
* `usePrismic().client`.
|
|
48
48
|
* @see Prismic client documentation {@link https://prismic.io/docs/technical-reference/prismicio-client}
|
|
49
49
|
*/
|
|
50
|
-
client?: string
|
|
50
|
+
client?: string
|
|
51
51
|
|
|
52
52
|
/**
|
|
53
53
|
* An optional path to a file exporting a link resolver function used to
|
|
@@ -56,7 +56,7 @@ export type PrismicModuleOptions = Omit<PrismicPluginOptions, 'endpoint' | 'clie
|
|
|
56
56
|
*
|
|
57
57
|
* @see Link resolver documentation {@link https://prismic.io/docs/route-resolver#link-resolver}
|
|
58
58
|
*/
|
|
59
|
-
linkResolver?: string
|
|
59
|
+
linkResolver?: string
|
|
60
60
|
|
|
61
61
|
/**
|
|
62
62
|
* An optional path to a file exporting an HTML serializer to customize
|
|
@@ -64,7 +64,7 @@ export type PrismicModuleOptions = Omit<PrismicPluginOptions, 'endpoint' | 'clie
|
|
|
64
64
|
*
|
|
65
65
|
* @see HTML serializer documentation {@link https://prismic.io/docs/rich-text}
|
|
66
66
|
*/
|
|
67
|
-
richTextSerializer?: string
|
|
67
|
+
richTextSerializer?: string
|
|
68
68
|
|
|
69
69
|
/**
|
|
70
70
|
* Desired path of the preview page used by Prismic to enter preview
|
|
@@ -75,7 +75,7 @@ export type PrismicModuleOptions = Omit<PrismicPluginOptions, 'endpoint' | 'clie
|
|
|
75
75
|
*
|
|
76
76
|
* @defaultValue `"/preview"`
|
|
77
77
|
*/
|
|
78
|
-
preview?: string | false
|
|
78
|
+
preview?: string | false
|
|
79
79
|
|
|
80
80
|
/**
|
|
81
81
|
* Whether or not to inject Prismic toolbar script.
|
|
@@ -85,12 +85,12 @@ export type PrismicModuleOptions = Omit<PrismicPluginOptions, 'endpoint' | 'clie
|
|
|
85
85
|
*
|
|
86
86
|
* @defaultValue `true`
|
|
87
87
|
*/
|
|
88
|
-
toolbar?: boolean
|
|
88
|
+
toolbar?: boolean
|
|
89
89
|
|
|
90
90
|
/**
|
|
91
91
|
* Whether or not to enable the devtools UI.
|
|
92
92
|
*
|
|
93
93
|
* @defaultValue `true`
|
|
94
94
|
*/
|
|
95
|
-
devtools?: boolean
|
|
96
|
-
}
|
|
95
|
+
devtools?: boolean
|
|
96
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{u as i}from"./BFN9l5Uh.js";import{_ as a}from"./DlAUqK2U.js";import{o as r,c as n,a as e,t as s,p as l,e as d}from"./DWOr2Aml.js";const c=t=>(l("data-v-5741bfc2"),t=t(),d(),t),p={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},f=c(()=>e("div",{class:"fixed -bottom-1/2 left-0 right-0 h-1/2 spotlight"},null,-1)),h={class:"max-w-520px text-center"},m=["textContent"],g=["textContent"],b={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const o=t;return i({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(x,u)=>(r(),n("div",p,[f,e("div",h,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,m),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,g)])]))}},S=a(b,[["__scopeId","data-v-5741bfc2"]]);export{S as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{J as _,n as B,x as b,r as P,K as L,L as N,M as w,h as T,N as U,O as C,P as O,Q as V,R as j,S as I,T as D,U as E,V as q,W as R,X as F,Y as H,Z as M}from"./DWOr2Aml.js";async function k(t,r=_()){const{path:s,matched:e}=r.resolve(t);if(!e.length||(r._routePreloaded||(r._routePreloaded=new Set),r._routePreloaded.has(s)))return;const n=r._preloadPromises=r._preloadPromises||[];if(n.length>4)return Promise.all(n).then(()=>k(t,r));r._routePreloaded.add(s);const i=e.map(u=>{var a;return(a=u.components)==null?void 0:a.default}).filter(u=>typeof u=="function");for(const u of i){const a=Promise.resolve(u()).catch(()=>{}).finally(()=>n.splice(n.indexOf(a)));n.push(a)}await Promise.all(n)}const z=(...t)=>t.find(r=>r!==void 0);function Q(t){const r=t.componentName||"NuxtLink";function s(e,n){if(!e||t.trailingSlash!=="append"&&t.trailingSlash!=="remove")return e;if(typeof e=="string")return S(e,t.trailingSlash);const i="path"in e&&e.path!==void 0?e.path:n(e).path;return{...e,name:void 0,path:S(i,t.trailingSlash)}}return B({name:r,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},setup(e,{slots:n}){const i=_(),u=E(),a=b(()=>{const l=e.to||e.href||"";return s(l,i.resolve)}),f=b(()=>typeof a.value=="string"&&q(a.value,{acceptRelative:!0})),g=b(()=>e.target&&e.target!=="_self"),p=b(()=>e.external||g.value?!0:typeof a.value=="object"?!1:a.value===""||f.value),x=P(!1),v=P(null),A=l=>{var d;v.value=e.custom?(d=l==null?void 0:l.$el)==null?void 0:d.nextElementSibling:l==null?void 0:l.$el};if(e.prefetch!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!$()){const d=R();let h,o=null;L(()=>{const y=W();N(()=>{h=w(()=>{var c;(c=v==null?void 0:v.value)!=null&&c.tagName&&(o=y.observe(v.value,async()=>{o==null||o(),o=null;const m=typeof a.value=="string"?a.value:i.resolve(a.value).fullPath;await Promise.all([d.hooks.callHook("link:prefetch",m).catch(()=>{}),!p.value&&k(a.value,i).catch(()=>{})]),x.value=!0}))})})}),T(()=>{h&&U(h),o==null||o(),o=null})}return()=>{var o,y;if(!p.value){const c={ref:A,to:a.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(x.value&&(c.class=e.prefetchedClass||t.prefetchedClass),c.rel=e.rel||void 0),C(O("RouterLink"),c,n.default)}const l=typeof a.value=="object"?((o=i.resolve(a.value))==null?void 0:o.href)??null:a.value&&!e.external&&!f.value?s(V(u.app.baseURL,a.value),i.resolve):a.value||null,d=e.target||null,h=z(e.noRel?"":e.rel,t.externalRelAttribute,f.value||g.value?"noopener noreferrer":"")||null;if(e.custom){if(!n.default)return null;const c=()=>F(l,{replace:e.replace,external:e.external});return n.default({href:l,navigate:c,get route(){if(!l)return;const m=j(l);return{path:m.pathname,fullPath:m.pathname,get query(){return I(m.search)},hash:m.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:l}},rel:h,target:d,isExternal:p.value,isActive:!1,isExactActive:!1})}return C("a",{ref:v,href:l,rel:h,target:d},(y=n.default)==null?void 0:y.call(n))}}})}const K=Q(D);function S(t,r){const s=r==="append"?H:M;return q(t)&&!t.startsWith("http")?t:s(t,!0)}function W(){const t=R();if(t._observer)return t._observer;let r=null;const s=new Map,e=(i,u)=>(r||(r=new IntersectionObserver(a=>{for(const f of a){const g=s.get(f.target);(f.isIntersecting||f.intersectionRatio>0)&&g&&g()}})),s.set(i,u),r.observe(i),()=>{s.delete(i),r.unobserve(i),s.size===0&&(r.disconnect(),r=null)});return t._observer={observe:e}}function $(){const t=navigator.connection;return!!(t&&(t.saveData||/2g/.test(t.effectiveType)))}export{K as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as a}from"./C2Zksehh.js";import{u as r}from"./BFN9l5Uh.js";import{_ as n}from"./DlAUqK2U.js";import{o as l,c as d,a as e,t as s,b as c,w as p,d as m,p as f,e as h}from"./DWOr2Aml.js";const x=t=>(f("data-v-8e38b8ef"),t=t(),h(),t),u={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},g=x(()=>e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),b={class:"max-w-520px text-center z-20"},_=["textContent"],w=["textContent"],y={class:"w-full flex items-center justify-center"},S={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const o=t;return r({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(k,N)=>{const i=a;return l(),d("div",u,[g,e("div",b,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,_),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,w),e("div",y,[c(i,{to:"/",class:"gradient-border text-md sm:text-xl py-2 px-4 sm:py-3 sm:px-6 cursor-pointer"},{default:p(()=>[m(s(t.backHome),1)]),_:1})])])])}}},j=n(S,[["__scopeId","data-v-8e38b8ef"]]);export{j as default};
|