@nuxtjs/prismic 3.2.1 → 3.3.1
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/{Lz2p7R1y.js → B4G-IZst.js} +1 -1
- package/dist/client/_nuxt/BXaKOz4R.js +2 -0
- package/dist/client/_nuxt/{D54RSGlc.js → Bn9u41Uw.js} +1 -1
- package/dist/client/_nuxt/{ChHt1xqE.js → CpxYXSTt.js} +1 -1
- 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/90726dd4-ebfb-46c1-9125-67d088c2862d.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 +54 -18
- package/dist/runtime/{preview.vue → PrismicPreview.vue} +3 -2
- 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 +14 -13
- package/src/devtools/types.ts +6 -6
- package/src/lib/fileExists.ts +2 -1
- package/src/module.ts +87 -28
- package/src/runtime/{preview.vue → 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/C7iAG9wF.js +0 -1
- package/dist/client/_nuxt/CeI64nSh.js +0 -2
- package/dist/client/_nuxt/Cjy23aWT.js +0 -29
- package/dist/client/_nuxt/builds/meta/4cf6b9d4-082b-4191-a00f-b315b1452682.json +0 -1
- package/dist/client/_nuxt/entry.CDGvsxww.css +0 -1
- package/dist/client/_nuxt/error-404.Cp3iMWid.css +0 -1
- package/dist/client/_nuxt/error-500.OT9K-Srj.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 && 'libraries' in config && Array.isArray(config.libraries)) {
|
|
215
|
+
configs.push(JSON.stringify({
|
|
216
|
+
files: config.libraries.map((library: string) => `${library.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{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"./Cjy23aWT.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,2 +0,0 @@
|
|
|
1
|
-
import{n as h,o as s,c as i,q as m,s as d,u as b,v,a as l,x as E,w as g,d as N,t as $,y as r,z as R,A,B as P,F as V,C as W,D as G,r as q,g as j,m as U,b as S,E as K,G as Q,p as X,e as Y,H as Z,I as ee}from"./Cjy23aWT.js";import{_ as ne}from"./C7iAG9wF.js";import{_ as L}from"./DlAUqK2U.js";const F=h({__name:"NIcon",props:{icon:{}},setup(o){return(e,t)=>(s(),i("div",{class:m(["n-icon",e.icon])},null,2))}}),oe={class:"n-tip n-tip-base"},te=h({__name:"NTip",props:{icon:{}},setup(o){return(e,t)=>{const c=F;return s(),i("div",oe,[d(e.$slots,"icon",{},()=>[e.icon?(s(),b(c,{key:0,icon:e.icon,class:"n-tip-icon"},null,8,["icon"])):v("",!0)]),l("div",null,[d(e.$slots,"default")])])}}}),se={key:0,target:"_blank",href:"http://localhost:9999"},ae=h({__name:"SlicemachineStatusTip",props:{running:{type:Boolean}},setup(o){const e=o,t=E(()=>e.running?"Slicemachine has been started and available at":"Slicemachine has not been started yet");return(c,n)=>{const a=te;return s(),b(a,{n:c.running?"green":"yellow"},{default:g(()=>[N($(r(t))+" ",1),c.running?(s(),i("a",se,"http://localhost:9999")):v("",!0)]),_:1},8,["n"])}}}),le=h({__name:"NButton",props:{to:{},icon:{},border:{type:Boolean,default:!0},disabled:{type:Boolean},type:{default:"button"}},setup(o){return(e,t)=>{const c=F;return s(),b(A(e.to?r(ne):"button"),R({to:e.to},{...e.$attrs,...!e.to&&{type:e.type},...e.disabled?{disabled:!0}:{tabindex:0}},{class:[[{"n-button-base active:n-button-active focus-visible:n-focus-base hover:n-button-hover":e.border},{"n-icon-button":!e.$slots.default}],"n-button n-transition n-disabled:n-disabled"]}),{default:g(()=>[d(e.$slots,"icon",{},()=>[e.icon?(s(),b(c,{key:0,icon:e.icon,class:m({"n-button-icon":e.$slots.default})},null,8,["icon","class"])):v("",!0)]),d(e.$slots,"default")]),_:3},16,["to","class"])}}}),ie=P(),ce=["innerHTML"],re={class:"shiki"},de=["textContent"],ue=l("br",null,null,-1),pe=h({__name:"NCodeBlock",props:{code:{},lang:{},lines:{type:Boolean,default:!0},transformRendered:{}},emits:["loaded"],setup(o,{emit:e}){const t=o,c=e,n=E(()=>{var _;const a=t.lang==="text"?{code:t.code,supported:!1}:((_=ie.value)==null?void 0:_.devtools.renderCodeHighlight(t.code,t.lang))||{code:t.code,supported:!1};return a.supported&&t.transformRendered&&(a.code=t.transformRendered(a.code)),a.supported&&G(()=>c("loaded")),a});return(a,_)=>a.lang&&n.value.supported?(s(),i("pre",{key:0,class:m(["n-code-block",a.lines?"n-code-block-lines":""]),innerHTML:n.value.code},null,10,ce)):(s(),i("pre",{key:1,class:m(["n-code-block",a.lines?"n-code-block-lines":""])},[l("pre",re,[l("code",null,[(s(!0),i(V,null,W(a.code.split(`
|
|
2
|
-
`),(f,k)=>(s(),i(V,{key:k},[l("span",{class:"line",textContent:$(f)},null,8,de),ue],64))),128))])])],2))}}),_e={flex:"~ gap-3","items-center":""},fe=h({__name:"NIconTitle",props:{icon:{},text:{}},setup(o){return(e,t)=>(s(),i("div",_e,[e.icon?(s(),i("div",{key:0,class:m(e.icon)},null,2)):v("",!0),d(e.$slots,"default",{},()=>[l("div",null,$(e.text),1)])]))}});typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const me=o=>typeof o<"u";function he(o){return JSON.parse(JSON.stringify(o))}function ve(o,e,t,c={}){var n,a,_;const{clone:f=!1,passive:k=!1,eventName:C,deep:B=!1,defaultValue:D,shouldEmit:w}=c,u=U(),T=t||(u==null?void 0:u.emit)||((n=u==null?void 0:u.$emit)==null?void 0:n.bind(u))||((_=(a=u==null?void 0:u.proxy)==null?void 0:a.$emit)==null?void 0:_.bind(u==null?void 0:u.proxy));let y=C;e||(e="modelValue"),y=y||`update:${e.toString()}`;const H=p=>f?typeof f=="function"?f(p):he(p):p,J=()=>me(o[e])?H(o[e]):D,O=p=>{w?w(p)&&T(y,p):T(y,p)};if(k){const p=J(),z=q(p);let x=!1;return j(()=>o[e],I=>{x||(x=!0,z.value=H(I),G(()=>x=!1))}),j(z,I=>{!x&&(I!==o[e]||B)&&O(I)},{deep:B}),z}else return E({get(){return J()},set(p){O(p)}})}const M=o=>(X("data-v-041276db"),o=o(),Y(),o),ge=["open"],be={"text-base":""},$e={key:0,"text-sm":"",op50:""},ye=M(()=>l("div",{class:"flex-auto"},null,-1)),Se=M(()=>l("div",{class:"x-divider"},null,-1)),Ne=h({__name:"NSectionBlock",props:{icon:{},text:{},description:{},containerClass:{default:""},headerClass:{},collapse:{type:Boolean,default:!0},open:{type:Boolean,default:!0},padding:{type:[Boolean,String],default:!0}},setup(o){const t=ve(o,"open",void 0,{passive:!0});function c(n){t.value=n.target.open}return(n,a)=>{const _=F,f=fe;return s(),i(V,null,[l("details",{open:r(t),onToggle:c},[l("summary",{class:m(["cursor-pointer select-none hover:bg-active p4",n.collapse?"":"pointer-events-none"])},[S(f,{icon:n.icon,text:n.text,"text-xl":"",transition:"",class:m([r(t)?"op100":"op60",n.headerClass])},{default:g(()=>[l("div",null,[l("div",be,[d(n.$slots,"text",{},()=>[N($(n.text),1)],!0)]),n.description||n.$slots.description?(s(),i("div",$e,[d(n.$slots,"description",{},()=>[N($(n.description),1)],!0)])):v("",!0)]),ye,d(n.$slots,"actions",{},void 0,!0),n.collapse?(s(),b(_,{key:0,icon:"carbon-chevron-down",class:"chevron","cursor-pointer":"","place-self-start":"","text-base":"",op75:"",transition:"","duration-500":""})):v("",!0)]),_:3},8,["icon","text","class"])],2),a._lazyshow1||r(t)?(a._lazyshow1=!0,s(),i(V,null,[K(l("div",{class:m(["flex flex-col flex-gap2 pb6 pt2",typeof n.padding=="string"?n.padding:n.padding?"px4":""])},[d(n.$slots,"details",{},void 0,!0),l("div",{class:m([n.containerClass,"mt1"])},[d(n.$slots,"default",{},void 0,!0)],2),d(n.$slots,"footer",{},void 0,!0)],2),[[Q,r(t)]])],64)):v("v-show-if",!0)],40,ge),Se],64)}}}),ke=L(Ne,[["__scopeId","data-v-041276db"]]),Ce={},Be={class:"n-card n-card-base"};function we(o,e){return s(),i("div",Be,[d(o.$slots,"default")])}const Te=L(Ce,[["render",we]]),xe={class:"relative p-4 n-bg-base flex flex-col gap-4 h-screen"},Ie=l("h1",{class:"text-3xl font-bold"},[l("span",{class:"i-logos:prismic-icon"}),N(" @nuxtjs/prismic ")],-1),Ve=l("h2",{class:"px-4 mt-4 text-xl font-bold"}," Slicemachine ",-1),De={class:"flex gap-2 mt-4 px-4"},ze={key:1,class:"op-1/2"},Je=h({__name:"index",props:{rpc:{}},async setup(o){let e,t;const c=o,{status:n,start:a,stop:_,config:f}=([e,t]=Z(()=>ee(c.rpc)),e=await e,t(),e);return(k,C)=>{const B=ae,D=le,w=pe,u=ke,T=Te;return s(),i("div",xe,[Ie,S(T,{class:"grid gap-4"},{default:g(()=>[Ve,l("section",De,[S(B,{running:r(n).running,class:"flex-1"},null,8,["running"]),S(D,{onClick:C[0]||(C[0]=y=>r(n).running?r(_)():r(a)())},{default:g(()=>[N($(r(n).running?"Stop":"Start")+" Slicemachine ",1)]),_:1})]),S(u,{text:"Configuration",icon:"carbon:settings",open:!1,"header-class":"hover:op100"},{default:g(()=>[r(f)?(s(),b(w,{key:0,lines:!1,code:JSON.stringify(r(f),null,2),lang:"json"},null,8,["code"])):(s(),i("p",ze," Slicemachine configuration file not found! Please create one at the root of your project. "))]),_:1})]),_:1})])}}});export{Je as default};
|