@slicemachine/adapter-next 0.3.14-dev-slices-templates-feature.2 → 0.3.14-dev-next-release.5

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.
@@ -1,495 +0,0 @@
1
- import { pascalCase } from "../../lib/pascalCase.js";
2
- import { stripIndent } from "common-tags";
3
- const mocks = [
4
- {
5
- __TYPE__: "SharedSliceContent",
6
- variation: "default",
7
- primary: {
8
- title: {
9
- __TYPE__: "StructuredTextContent",
10
- value: [
11
- {
12
- type: "heading1",
13
- content: {
14
- text: "Collector Slices kit",
15
- spans: []
16
- },
17
- direction: "ltr"
18
- }
19
- ]
20
- },
21
- paragraph: {
22
- __TYPE__: "StructuredTextContent",
23
- value: [
24
- {
25
- type: "paragraph",
26
- content: {
27
- text: "It’s very easy to create stylish and beautiful prototypes for your future projects, both graphical and dynamic.",
28
- spans: []
29
- },
30
- direction: "ltr"
31
- }
32
- ]
33
- },
34
- buttonlink: {
35
- __TYPE__: "LinkContent",
36
- value: {
37
- __TYPE__: "ExternalLink",
38
- url: "https://twitter.com/prismicio"
39
- }
40
- },
41
- buttonlabel: {
42
- __TYPE__: "FieldContent",
43
- type: "Text",
44
- value: "Click here"
45
- },
46
- image: {
47
- origin: {
48
- id: "9aOswReDKPo",
49
- url: "https://images.unsplash.com/photo-1523049673857-eb18f1d7b578?crop=entropy&cs=srgb&fm=jpg&ixid=M3wzMzc0NjN8MHwxfHNlYXJjaHwxOXx8ZnJ1aXR8ZW58MHx8fHwxNjkzMjUxNTMxfDA&ixlib=rb-4.0.3&q=85",
50
- width: 8040,
51
- height: 6024
52
- },
53
- url: "https://images.unsplash.com/photo-1523049673857-eb18f1d7b578?crop=entropy&cs=srgb&fm=jpg&ixid=M3wzMzc0NjN8MHwxfHNlYXJjaHwxOXx8ZnJ1aXR8ZW58MHx8fHwxNjkzMjUxNTMxfDA&ixlib=rb-4.0.3&q=85",
54
- width: 8040,
55
- height: 6024,
56
- edit: {
57
- background: "transparent",
58
- zoom: 1,
59
- crop: {
60
- x: 0,
61
- y: 0
62
- }
63
- },
64
- credits: null,
65
- alt: null,
66
- __TYPE__: "ImageContent",
67
- thumbnails: {}
68
- },
69
- buttonLabel: {
70
- __TYPE__: "FieldContent",
71
- type: "Text",
72
- value: "Learn more"
73
- }
74
- },
75
- items: []
76
- },
77
- {
78
- __TYPE__: "SharedSliceContent",
79
- variation: "alignLeft",
80
- primary: {
81
- image: {
82
- origin: {
83
- id: "euqiHwS38Rw",
84
- url: "https://images.unsplash.com/photo-1595475207225-428b62bda831?crop=entropy&cs=srgb&fm=jpg&ixid=M3wzMzc0NjN8MHwxfHNlYXJjaHwyMHx8ZnJ1aXR8ZW58MHx8fHwxNjkzMjUxNTMxfDA&ixlib=rb-4.0.3&q=85",
85
- width: 2500,
86
- height: 2500
87
- },
88
- url: "https://images.unsplash.com/photo-1595475207225-428b62bda831?crop=entropy&cs=srgb&fm=jpg&ixid=M3wzMzc0NjN8MHwxfHNlYXJjaHwyMHx8ZnJ1aXR8ZW58MHx8fHwxNjkzMjUxNTMxfDA&ixlib=rb-4.0.3&q=85",
89
- width: 2500,
90
- height: 2500,
91
- edit: {
92
- background: "transparent",
93
- zoom: 1,
94
- crop: {
95
- x: 0,
96
- y: 0
97
- }
98
- },
99
- credits: null,
100
- alt: null,
101
- __TYPE__: "ImageContent",
102
- thumbnails: {}
103
- },
104
- title: {
105
- __TYPE__: "StructuredTextContent",
106
- value: [
107
- {
108
- type: "heading1",
109
- content: {
110
- text: "Collector Slices kit",
111
- spans: []
112
- },
113
- direction: "ltr"
114
- }
115
- ]
116
- },
117
- paragraph: {
118
- __TYPE__: "StructuredTextContent",
119
- value: [
120
- {
121
- type: "paragraph",
122
- content: {
123
- text: "It’s very easy to create stylish and beautiful prototypes for your future projects, both graphical and dynamic.",
124
- spans: []
125
- },
126
- direction: "ltr"
127
- }
128
- ]
129
- },
130
- buttonlink: {
131
- __TYPE__: "LinkContent",
132
- value: {
133
- __TYPE__: "ExternalLink",
134
- url: "https://prismic.io"
135
- }
136
- },
137
- buttonLabel: {
138
- __TYPE__: "FieldContent",
139
- type: "Text",
140
- value: "Learn more!"
141
- }
142
- },
143
- items: [
144
- {
145
- __TYPE__: "GroupItemContent",
146
- value: []
147
- }
148
- ]
149
- }
150
- ];
151
- const createComponentContents = (model2, isTypeScriptProject) => {
152
- const pascalName = pascalCase(model2.name);
153
- if (isTypeScriptProject) {
154
- return stripIndent`
155
- import Link from "next/link";
156
- import { Content, isFilled, asLink, asText } from "@prismicio/client";
157
- import { SliceComponentProps, PrismicRichText } from "@prismicio/react";
158
-
159
- /**
160
- * Props for \`${pascalName}\`.
161
- */
162
- export type ${pascalName}Props = SliceComponentProps<Content.${pascalName}Slice>;
163
-
164
- /**
165
- * Component for "${model2.name}" Slices.
166
- */
167
- const ${pascalName} = ({ slice }: ${pascalName}Props): JSX.Element => {
168
- const alignment = slice.variation === "alignLeft" ? "left" : "center";
169
-
170
- return (
171
- <section
172
- data-slice-type={slice.slice_type}
173
- data-slice-variation={slice.variation}
174
- className="es-bounded es-call-to-action"
175
- >
176
- <div className="es-bounded__content es-call-to-action__content">
177
- {slice.primary.image?.url && (
178
- <img
179
- height={600}
180
- width={800}
181
- src={slice.primary.image.url}
182
- alt={slice.primary.image.alt ?? undefined}
183
- className="es-call-to-action__image"
184
- />
185
- )}
186
- <div className="es-call-to-action__content">
187
- {isFilled.richText(slice.primary.title) && (
188
- <h2 className="es-call-to-action__content__heading">
189
- {asText(slice.primary.title)}
190
- </h2>
191
- )}
192
- {isFilled.richText(slice.primary.paragraph) && (
193
- <div className="es-call-to-action__content__paragraph">
194
- <PrismicRichText field={slice.primary.paragraph} />
195
- </div>
196
- )}
197
- </div>
198
- {isFilled.link(slice.primary.buttonLink) ? (
199
- <Link
200
- className="es-call-to-action__button"
201
- href={asLink(slice.primary.buttonLink)}
202
- >
203
- {slice.primary.buttonLabel || "Learn more…"}
204
- </Link>
205
- ) : null}
206
- </div>
207
- <style>
208
- {\`
209
- .es-call-to-action {
210
- background-color: #fff;
211
- color: #333;
212
- padding: 8vw 2rem;
213
- }
214
-
215
- .es-call-to-action__content {
216
- display: grid;
217
- gap: 2rem;
218
- }
219
-
220
- .es-call-to-action__image {
221
- max-width: 14rem;
222
- justify-self: \${alignment};
223
- }
224
-
225
- .es-call-to-action__content {
226
- display: grid;
227
- gap: 1rem;
228
- justify-items: \${alignment};
229
- }
230
-
231
- .es-call-to-action__content__heading {
232
- font-size: 2rem;
233
- font-weight: 700;
234
- text-align: \${alignment};
235
- }
236
-
237
- .es-call-to-action__content__paragraph {
238
- font-size: 1.15rem;
239
- max-width: 38rem;
240
- text-align: \${alignment};
241
- }
242
-
243
- .es-call-to-action__button {
244
- justify-self: \${alignment};
245
- border-radius: 0.25rem;
246
- display: inline-block;
247
- font-size: 0.875rem;
248
- line-height: 1.3;
249
- padding: 1rem 2.625rem;
250
- text-align: \${alignment};
251
- transition: background-color 100ms linear;
252
- background-color: #16745f;
253
- color: #fff;
254
- }
255
-
256
- .es-call-to-action__button:hover {
257
- background-color: #0d5e4c;
258
- }
259
- \`}
260
- </style>
261
- </section>
262
- );
263
- };
264
-
265
- export default ${pascalName};
266
- `;
267
- }
268
- return stripIndent`
269
- import Link from "next/link";
270
- import { PrismicRichText } from "@prismicio/react";
271
- import { isFilled, asLink, asText } from "@prismicio/client";
272
-
273
- /**
274
- * @typedef {import("@prismicio/client").Content.${pascalName}Slice} ${pascalName}Slice
275
- * @typedef {import("@prismicio/react").SliceComponentProps<${pascalName}Slice>} ${pascalName}Props
276
- * @param {${pascalName}Props}
277
- */
278
- const ${pascalName} = ({ slice }) => {
279
- const alignment = slice.variation === "alignLeft" ? "left" : "center";
280
-
281
- return (
282
- <section
283
- data-slice-type={slice.slice_type}
284
- data-slice-variation={slice.variation}
285
- className="es-bounded es-call-to-action"
286
- >
287
- <div className="es-bounded__content es-call-to-action__content">
288
- {slice.primary.image?.url && (
289
- <img
290
- height={600}
291
- width={800}
292
- src={slice.primary.image.url}
293
- alt={slice.primary.image.alt ?? undefined}
294
- className="es-call-to-action__image"
295
- />
296
- )}
297
- <div className="es-call-to-action__content">
298
- {isFilled.richText(slice.primary.title) && (
299
- <h2 className="es-call-to-action__content__heading">
300
- {asText(slice.primary.title)}
301
- </h2>
302
- )}
303
- {isFilled.richText(slice.primary.paragraph) && (
304
- <div className="es-call-to-action__content__paragraph">
305
- <PrismicRichText field={slice.primary.paragraph} />
306
- </div>
307
- )}
308
- </div>
309
- {isFilled.link(slice.primary.buttonLink) ? (
310
- <Link
311
- className="es-call-to-action__button"
312
- href={asLink(slice.primary.buttonLink)}
313
- >
314
- {slice.primary.buttonLabel || "Learn more…"}
315
- </Link>
316
- ) : null}
317
- </div>
318
- <style>
319
- {\`
320
- .es-call-to-action {
321
- background-color: #fff;
322
- color: #333;
323
- padding: 8vw 2rem;
324
- }
325
-
326
- .es-call-to-action__content {
327
- display: grid;
328
- gap: 2rem;
329
- }
330
-
331
- .es-call-to-action__image {
332
- max-width: 14rem;
333
- justify-self: \${alignment};
334
- }
335
-
336
- .es-call-to-action__content {
337
- display: grid;
338
- gap: 1rem;
339
- justify-items: \${alignment};
340
- }
341
-
342
- .es-call-to-action__content__heading {
343
- font-size: 2rem;
344
- font-weight: 700;
345
- text-align: \${alignment};
346
- }
347
-
348
- .es-call-to-action__content__paragraph {
349
- font-size: 1.15rem;
350
- max-width: 38rem;
351
- text-align: \${alignment};
352
- }
353
-
354
- .es-call-to-action__button {
355
- justify-self: \${alignment};
356
- border-radius: 0.25rem;
357
- display: inline-block;
358
- font-size: 0.875rem;
359
- line-height: 1.3;
360
- padding: 1rem 2.625rem;
361
- text-align: \${alignment};
362
- transition: background-color 100ms linear;
363
- background-color: #16745f;
364
- color: #fff;
365
- }
366
-
367
- .es-call-to-action__button:hover {
368
- background-color: #0d5e4c;
369
- }
370
- \`}
371
- </style>
372
- </section>
373
- );
374
- };
375
-
376
- export default ${pascalName};
377
- `;
378
- };
379
- const model = {
380
- id: "call_to_action",
381
- type: "SharedSlice",
382
- name: "CallToAction",
383
- description: "CallToAction",
384
- variations: [
385
- {
386
- id: "default",
387
- name: "Default",
388
- docURL: "...",
389
- version: "initial",
390
- description: "Default",
391
- imageUrl: "",
392
- primary: {
393
- image: {
394
- type: "Image",
395
- config: { label: "Image", constraint: {}, thumbnails: [] }
396
- },
397
- title: {
398
- type: "StructuredText",
399
- config: {
400
- label: "title",
401
- placeholder: "",
402
- allowTargetBlank: true,
403
- single: "heading1,heading2,heading3,heading4,heading5,heading6"
404
- }
405
- },
406
- paragraph: {
407
- type: "StructuredText",
408
- config: {
409
- label: "paragraph",
410
- placeholder: "",
411
- allowTargetBlank: true,
412
- single: "paragraph,preformatted,strong,em,hyperlink,image,embed,list-item,o-list-item,rtl"
413
- }
414
- },
415
- buttonlink: {
416
- type: "Link",
417
- config: {
418
- label: "buttonLink",
419
- placeholder: "Redirect URL for CTA button",
420
- allowTargetBlank: true,
421
- select: null
422
- }
423
- },
424
- buttonLabel: {
425
- type: "Text",
426
- config: {
427
- label: "buttonLabel",
428
- placeholder: "Label for CTA button"
429
- }
430
- }
431
- },
432
- items: {}
433
- },
434
- {
435
- id: "alignLeft",
436
- name: "AlignLeft",
437
- docURL: "...",
438
- version: "initial",
439
- description: "Default",
440
- imageUrl: "",
441
- primary: {
442
- image: {
443
- type: "Image",
444
- config: { label: "Image", constraint: {}, thumbnails: [] }
445
- },
446
- title: {
447
- type: "StructuredText",
448
- config: {
449
- label: "title",
450
- placeholder: "",
451
- allowTargetBlank: true,
452
- single: "heading1,heading2,heading3,heading4,heading5,heading6"
453
- }
454
- },
455
- paragraph: {
456
- type: "StructuredText",
457
- config: {
458
- label: "paragraph",
459
- placeholder: "",
460
- allowTargetBlank: true,
461
- single: "paragraph,preformatted,strong,em,hyperlink,image,embed,list-item,o-list-item,rtl"
462
- }
463
- },
464
- buttonlink: {
465
- type: "Link",
466
- config: {
467
- label: "buttonLink",
468
- placeholder: "Redirect URL for CTA button",
469
- allowTargetBlank: true,
470
- select: null
471
- }
472
- },
473
- buttonLabel: {
474
- type: "Text",
475
- config: {
476
- label: "buttonLabel",
477
- placeholder: "Label for CTA button"
478
- }
479
- }
480
- },
481
- items: {}
482
- }
483
- ]
484
- };
485
- const screenshotPaths = {
486
- default: "CallToAction/screenshot-default.png",
487
- alignLeft: "CallToAction/screenshot-alignLeft.png"
488
- };
489
- export {
490
- createComponentContents,
491
- mocks,
492
- model,
493
- screenshotPaths
494
- };
495
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/sliceTemplates/CallToAction/index.ts"],"sourcesContent":["import type { SharedSlice } from \"@prismicio/types-internal/lib/customtypes\";\nimport { SharedSliceContent } from \"@prismicio/types-internal/lib/content\";\n\nimport { pascalCase } from \"../../lib/pascalCase\";\n\nimport { stripIndent } from \"common-tags\";\n\nexport const mocks: SharedSliceContent[] = [\n\t{\n\t\t__TYPE__: \"SharedSliceContent\",\n\t\tvariation: \"default\",\n\t\tprimary: {\n\t\t\ttitle: {\n\t\t\t\t__TYPE__: \"StructuredTextContent\",\n\t\t\t\tvalue: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"heading1\",\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttext: \"Collector Slices kit\",\n\t\t\t\t\t\t\tspans: [],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdirection: \"ltr\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\tparagraph: {\n\t\t\t\t__TYPE__: \"StructuredTextContent\",\n\t\t\t\tvalue: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"paragraph\",\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttext: \"It’s very easy to create stylish and beautiful prototypes for your future projects, both graphical and dynamic.\",\n\t\t\t\t\t\t\tspans: [],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdirection: \"ltr\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\tbuttonlink: {\n\t\t\t\t__TYPE__: \"LinkContent\",\n\t\t\t\tvalue: {\n\t\t\t\t\t__TYPE__: \"ExternalLink\",\n\t\t\t\t\turl: \"https://twitter.com/prismicio\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tbuttonlabel: {\n\t\t\t\t__TYPE__: \"FieldContent\",\n\t\t\t\ttype: \"Text\",\n\t\t\t\tvalue: \"Click here\",\n\t\t\t},\n\t\t\timage: {\n\t\t\t\torigin: {\n\t\t\t\t\tid: \"9aOswReDKPo\",\n\t\t\t\t\turl: \"https://images.unsplash.com/photo-1523049673857-eb18f1d7b578?crop=entropy&cs=srgb&fm=jpg&ixid=M3wzMzc0NjN8MHwxfHNlYXJjaHwxOXx8ZnJ1aXR8ZW58MHx8fHwxNjkzMjUxNTMxfDA&ixlib=rb-4.0.3&q=85\",\n\t\t\t\t\twidth: 8040,\n\t\t\t\t\theight: 6024,\n\t\t\t\t},\n\t\t\t\turl: \"https://images.unsplash.com/photo-1523049673857-eb18f1d7b578?crop=entropy&cs=srgb&fm=jpg&ixid=M3wzMzc0NjN8MHwxfHNlYXJjaHwxOXx8ZnJ1aXR8ZW58MHx8fHwxNjkzMjUxNTMxfDA&ixlib=rb-4.0.3&q=85\",\n\t\t\t\twidth: 8040,\n\t\t\t\theight: 6024,\n\t\t\t\tedit: {\n\t\t\t\t\tbackground: \"transparent\",\n\t\t\t\t\tzoom: 1,\n\t\t\t\t\tcrop: {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcredits: null,\n\t\t\t\talt: null,\n\t\t\t\t__TYPE__: \"ImageContent\",\n\t\t\t\tthumbnails: {},\n\t\t\t},\n\t\t\tbuttonLabel: {\n\t\t\t\t__TYPE__: \"FieldContent\",\n\t\t\t\ttype: \"Text\",\n\t\t\t\tvalue: \"Learn more\",\n\t\t\t},\n\t\t},\n\t\titems: [],\n\t},\n\t{\n\t\t__TYPE__: \"SharedSliceContent\",\n\t\tvariation: \"alignLeft\",\n\t\tprimary: {\n\t\t\timage: {\n\t\t\t\torigin: {\n\t\t\t\t\tid: \"euqiHwS38Rw\",\n\t\t\t\t\turl: \"https://images.unsplash.com/photo-1595475207225-428b62bda831?crop=entropy&cs=srgb&fm=jpg&ixid=M3wzMzc0NjN8MHwxfHNlYXJjaHwyMHx8ZnJ1aXR8ZW58MHx8fHwxNjkzMjUxNTMxfDA&ixlib=rb-4.0.3&q=85\",\n\t\t\t\t\twidth: 2500,\n\t\t\t\t\theight: 2500,\n\t\t\t\t},\n\t\t\t\turl: \"https://images.unsplash.com/photo-1595475207225-428b62bda831?crop=entropy&cs=srgb&fm=jpg&ixid=M3wzMzc0NjN8MHwxfHNlYXJjaHwyMHx8ZnJ1aXR8ZW58MHx8fHwxNjkzMjUxNTMxfDA&ixlib=rb-4.0.3&q=85\",\n\t\t\t\twidth: 2500,\n\t\t\t\theight: 2500,\n\t\t\t\tedit: {\n\t\t\t\t\tbackground: \"transparent\",\n\t\t\t\t\tzoom: 1,\n\t\t\t\t\tcrop: {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcredits: null,\n\t\t\t\talt: null,\n\t\t\t\t__TYPE__: \"ImageContent\",\n\t\t\t\tthumbnails: {},\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\t__TYPE__: \"StructuredTextContent\",\n\t\t\t\tvalue: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"heading1\",\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttext: \"Collector Slices kit\",\n\t\t\t\t\t\t\tspans: [],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdirection: \"ltr\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\tparagraph: {\n\t\t\t\t__TYPE__: \"StructuredTextContent\",\n\t\t\t\tvalue: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"paragraph\",\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttext: \"It’s very easy to create stylish and beautiful prototypes for your future projects, both graphical and dynamic.\",\n\t\t\t\t\t\t\tspans: [],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdirection: \"ltr\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\tbuttonlink: {\n\t\t\t\t__TYPE__: \"LinkContent\",\n\t\t\t\tvalue: {\n\t\t\t\t\t__TYPE__: \"ExternalLink\",\n\t\t\t\t\turl: \"https://prismic.io\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tbuttonLabel: {\n\t\t\t\t__TYPE__: \"FieldContent\",\n\t\t\t\ttype: \"Text\",\n\t\t\t\tvalue: \"Learn more!\",\n\t\t\t},\n\t\t},\n\t\titems: [\n\t\t\t{\n\t\t\t\t__TYPE__: \"GroupItemContent\",\n\t\t\t\tvalue: [],\n\t\t\t},\n\t\t],\n\t},\n];\n\nexport const createComponentContents = (\n\tmodel: SharedSlice,\n\tisTypeScriptProject: boolean,\n): string => {\n\tconst pascalName = pascalCase(model.name);\n\n\tif (isTypeScriptProject) {\n\t\treturn stripIndent`\n\t\t\timport Link from \"next/link\";\n\t\t\timport { Content, isFilled, asLink, asText } from \"@prismicio/client\";\n\t\t\timport { SliceComponentProps, PrismicRichText } from \"@prismicio/react\";\n\t\t\t\n\t\t\t/**\n\t\t\t * Props for \\`${pascalName}\\`.\n\t\t\t */\n\t\t\texport type ${pascalName}Props = SliceComponentProps<Content.${pascalName}Slice>;\n\t\t\t\n\t\t\t/**\n\t\t\t * Component for \"${model.name}\" Slices.\n\t\t\t */\n\t\t\tconst ${pascalName} = ({ slice }: ${pascalName}Props): JSX.Element => {\n\t\t\t\tconst alignment = slice.variation === \"alignLeft\" ? \"left\" : \"center\";\n\t\t\t\n\t\t\t\treturn (\n\t\t\t\t\t<section\n\t\t\t\t\t\tdata-slice-type={slice.slice_type}\n\t\t\t\t\t\tdata-slice-variation={slice.variation}\n\t\t\t\t\t\tclassName=\"es-bounded es-call-to-action\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"es-bounded__content es-call-to-action__content\">\n\t\t\t\t\t\t\t{slice.primary.image?.url && (\n\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\theight={600}\n\t\t\t\t\t\t\t\t\twidth={800}\n\t\t\t\t\t\t\t\t\tsrc={slice.primary.image.url}\n\t\t\t\t\t\t\t\t\talt={slice.primary.image.alt ?? undefined}\n\t\t\t\t\t\t\t\t\tclassName=\"es-call-to-action__image\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<div className=\"es-call-to-action__content\">\n\t\t\t\t\t\t\t\t{isFilled.richText(slice.primary.title) && (\n\t\t\t\t\t\t\t\t\t<h2 className=\"es-call-to-action__content__heading\">\n\t\t\t\t\t\t\t\t\t\t{asText(slice.primary.title)}\n\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{isFilled.richText(slice.primary.paragraph) && (\n\t\t\t\t\t\t\t\t\t<div className=\"es-call-to-action__content__paragraph\">\n\t\t\t\t\t\t\t\t\t\t<PrismicRichText field={slice.primary.paragraph} />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{isFilled.link(slice.primary.buttonLink) ? (\n\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\tclassName=\"es-call-to-action__button\"\n\t\t\t\t\t\t\t\t\thref={asLink(slice.primary.buttonLink)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{slice.primary.buttonLabel || \"Learn more…\"}\n\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t{\\`\n\t\t\t\t\t\t.es-call-to-action {\n\t\t\t\t\t\t\tbackground-color: #fff;\n\t\t\t\t\t\t\tcolor: #333;\n\t\t\t\t\t\t\tpadding: 8vw 2rem;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t.es-call-to-action__content {\n\t\t\t\t\t\t\tdisplay: grid;\n\t\t\t\t\t\t\tgap: 2rem;\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\t.es-call-to-action__image {\n\t\t\t\t\t\t\tmax-width: 14rem;\n\t\t\t\t\t\t\tjustify-self: \\${alignment};\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t.es-call-to-action__content {\n\t\t\t\t\t\t\tdisplay: grid;\n\t\t\t\t\t\t\tgap: 1rem;\n\t\t\t\t\t\t\tjustify-items: \\${alignment};\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t.es-call-to-action__content__heading {\n\t\t\t\t\t\t\tfont-size: 2rem;\n\t\t\t\t\t\t\tfont-weight: 700;\n\t\t\t\t\t\t\ttext-align: \\${alignment};\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t.es-call-to-action__content__paragraph {\n\t\t\t\t\t\t\tfont-size: 1.15rem;\n\t\t\t\t\t\t\tmax-width: 38rem;\n\t\t\t\t\t\t\ttext-align: \\${alignment};\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t.es-call-to-action__button {\n\t\t\t\t\t\t\tjustify-self: \\${alignment};\n\t\t\t\t\t\t\tborder-radius: 0.25rem;\n\t\t\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\t\t\tfont-size: 0.875rem;\n\t\t\t\t\t\t\tline-height: 1.3;\n\t\t\t\t\t\t\tpadding: 1rem 2.625rem;\n\t\t\t\t\t\t\ttext-align: \\${alignment};\n\t\t\t\t\t\t\ttransition: background-color 100ms linear;\n\t\t\t\t\t\t\tbackground-color: #16745f;\n\t\t\t\t\t\t\tcolor: #fff;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\t.es-call-to-action__button:hover {\n\t\t\t\t\t\t\tbackground-color: #0d5e4c;\n\t\t\t\t\t\t}\n\t\t\t\t\t\\`}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t</section>\n\t\t\t\t);\n\t\t\t};\n\t\t\t\n\t\t\texport default ${pascalName};\n\t\t`;\n\t}\n\n\treturn stripIndent`\n\t\t\timport Link from \"next/link\";\n\t\t\timport { PrismicRichText } from \"@prismicio/react\";\n\t\t\timport { isFilled, asLink, asText } from \"@prismicio/client\";\n\t\t\t\n\t\t\t/**\n\t\t\t * @typedef {import(\"@prismicio/client\").Content.${pascalName}Slice} ${pascalName}Slice\n\t\t\t * @typedef {import(\"@prismicio/react\").SliceComponentProps<${pascalName}Slice>} ${pascalName}Props\n\t\t\t * @param {${pascalName}Props}\n\t\t\t */\n\t\t\tconst ${pascalName} = ({ slice }) => {\n\t\t\t\tconst alignment = slice.variation === \"alignLeft\" ? \"left\" : \"center\";\n\t\t\t\n\t\t\t\treturn (\n\t\t\t\t\t<section\n\t\t\t\t\t\tdata-slice-type={slice.slice_type}\n\t\t\t\t\t\tdata-slice-variation={slice.variation}\n\t\t\t\t\t\tclassName=\"es-bounded es-call-to-action\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"es-bounded__content es-call-to-action__content\">\n\t\t\t\t\t\t\t{slice.primary.image?.url && (\n\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\theight={600}\n\t\t\t\t\t\t\t\t\twidth={800}\n\t\t\t\t\t\t\t\t\tsrc={slice.primary.image.url}\n\t\t\t\t\t\t\t\t\talt={slice.primary.image.alt ?? undefined}\n\t\t\t\t\t\t\t\t\tclassName=\"es-call-to-action__image\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<div className=\"es-call-to-action__content\">\n\t\t\t\t\t\t\t\t{isFilled.richText(slice.primary.title) && (\n\t\t\t\t\t\t\t\t\t<h2 className=\"es-call-to-action__content__heading\">\n\t\t\t\t\t\t\t\t\t\t{asText(slice.primary.title)}\n\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{isFilled.richText(slice.primary.paragraph) && (\n\t\t\t\t\t\t\t\t\t<div className=\"es-call-to-action__content__paragraph\">\n\t\t\t\t\t\t\t\t\t\t<PrismicRichText field={slice.primary.paragraph} />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{isFilled.link(slice.primary.buttonLink) ? (\n\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\tclassName=\"es-call-to-action__button\"\n\t\t\t\t\t\t\t\t\thref={asLink(slice.primary.buttonLink)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{slice.primary.buttonLabel || \"Learn more…\"}\n\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t{\\`\n\t\t\t\t\t\t.es-call-to-action {\n\t\t\t\t\t\t\tbackground-color: #fff;\n\t\t\t\t\t\t\tcolor: #333;\n\t\t\t\t\t\t\tpadding: 8vw 2rem;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t.es-call-to-action__content {\n\t\t\t\t\t\t\tdisplay: grid;\n\t\t\t\t\t\t\tgap: 2rem;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t.es-call-to-action__image {\n\t\t\t\t\t\t\tmax-width: 14rem;\n\t\t\t\t\t\t\tjustify-self: \\${alignment};\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t.es-call-to-action__content {\n\t\t\t\t\t\t\tdisplay: grid;\n\t\t\t\t\t\t\tgap: 1rem;\n\t\t\t\t\t\t\tjustify-items: \\${alignment};\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t.es-call-to-action__content__heading {\n\t\t\t\t\t\t\tfont-size: 2rem;\n\t\t\t\t\t\t\tfont-weight: 700;\n\t\t\t\t\t\t\ttext-align: \\${alignment};\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t.es-call-to-action__content__paragraph {\n\t\t\t\t\t\t\tfont-size: 1.15rem;\n\t\t\t\t\t\t\tmax-width: 38rem;\n\t\t\t\t\t\t\ttext-align: \\${alignment};\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t.es-call-to-action__button {\n\t\t\t\t\t\t\tjustify-self: \\${alignment};\n\t\t\t\t\t\t\tborder-radius: 0.25rem;\n\t\t\t\t\t\t\tdisplay: inline-block;\n\t\t\t\t\t\t\tfont-size: 0.875rem;\n\t\t\t\t\t\t\tline-height: 1.3;\n\t\t\t\t\t\t\tpadding: 1rem 2.625rem;\n\t\t\t\t\t\t\ttext-align: \\${alignment};\n\t\t\t\t\t\t\ttransition: background-color 100ms linear;\n\t\t\t\t\t\t\tbackground-color: #16745f;\n\t\t\t\t\t\t\tcolor: #fff;\n\t\t\t\t\t\t}\n\t\t\t\n\t\t\t\t\t\t.es-call-to-action__button:hover {\n\t\t\t\t\t\t\tbackground-color: #0d5e4c;\n\t\t\t\t\t\t}\n\t\t\t\t\t\\`}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t</section>\n\t\t\t\t);\n\t\t\t};\n\t\t\t\n\t\t\texport default ${pascalName};\n\t\t`;\n};\n\nexport const model: SharedSlice = {\n\tid: \"call_to_action\",\n\ttype: \"SharedSlice\",\n\tname: \"CallToAction\",\n\tdescription: \"CallToAction\",\n\tvariations: [\n\t\t{\n\t\t\tid: \"default\",\n\t\t\tname: \"Default\",\n\t\t\tdocURL: \"...\",\n\t\t\tversion: \"initial\",\n\t\t\tdescription: \"Default\",\n\t\t\timageUrl: \"\",\n\t\t\tprimary: {\n\t\t\t\timage: {\n\t\t\t\t\ttype: \"Image\",\n\t\t\t\t\tconfig: { label: \"Image\", constraint: {}, thumbnails: [] },\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\ttype: \"StructuredText\",\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tlabel: \"title\",\n\t\t\t\t\t\tplaceholder: \"\",\n\t\t\t\t\t\tallowTargetBlank: true,\n\t\t\t\t\t\tsingle: \"heading1,heading2,heading3,heading4,heading5,heading6\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tparagraph: {\n\t\t\t\t\ttype: \"StructuredText\",\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tlabel: \"paragraph\",\n\t\t\t\t\t\tplaceholder: \"\",\n\t\t\t\t\t\tallowTargetBlank: true,\n\t\t\t\t\t\tsingle:\n\t\t\t\t\t\t\t\"paragraph,preformatted,strong,em,hyperlink,image,embed,list-item,o-list-item,rtl\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tbuttonlink: {\n\t\t\t\t\ttype: \"Link\",\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tlabel: \"buttonLink\",\n\t\t\t\t\t\tplaceholder: \"Redirect URL for CTA button\",\n\t\t\t\t\t\tallowTargetBlank: true,\n\t\t\t\t\t\tselect: null,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tbuttonLabel: {\n\t\t\t\t\ttype: \"Text\",\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tlabel: \"buttonLabel\",\n\t\t\t\t\t\tplaceholder: \"Label for CTA button\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\titems: {},\n\t\t},\n\t\t{\n\t\t\tid: \"alignLeft\",\n\t\t\tname: \"AlignLeft\",\n\t\t\tdocURL: \"...\",\n\t\t\tversion: \"initial\",\n\t\t\tdescription: \"Default\",\n\t\t\timageUrl: \"\",\n\t\t\tprimary: {\n\t\t\t\timage: {\n\t\t\t\t\ttype: \"Image\",\n\t\t\t\t\tconfig: { label: \"Image\", constraint: {}, thumbnails: [] },\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\ttype: \"StructuredText\",\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tlabel: \"title\",\n\t\t\t\t\t\tplaceholder: \"\",\n\t\t\t\t\t\tallowTargetBlank: true,\n\t\t\t\t\t\tsingle: \"heading1,heading2,heading3,heading4,heading5,heading6\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tparagraph: {\n\t\t\t\t\ttype: \"StructuredText\",\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tlabel: \"paragraph\",\n\t\t\t\t\t\tplaceholder: \"\",\n\t\t\t\t\t\tallowTargetBlank: true,\n\t\t\t\t\t\tsingle:\n\t\t\t\t\t\t\t\"paragraph,preformatted,strong,em,hyperlink,image,embed,list-item,o-list-item,rtl\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tbuttonlink: {\n\t\t\t\t\ttype: \"Link\",\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tlabel: \"buttonLink\",\n\t\t\t\t\t\tplaceholder: \"Redirect URL for CTA button\",\n\t\t\t\t\t\tallowTargetBlank: true,\n\t\t\t\t\t\tselect: null,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tbuttonLabel: {\n\t\t\t\t\ttype: \"Text\",\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tlabel: \"buttonLabel\",\n\t\t\t\t\t\tplaceholder: \"Label for CTA button\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\titems: {},\n\t\t},\n\t],\n};\n\nexport const screenshotPaths = {\n\tdefault: \"CallToAction/screenshot-default.png\",\n\talignLeft: \"CallToAction/screenshot-alignLeft.png\",\n};\n"],"names":["model"],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- import fs from "node:fs/promises";
2
- import path from "node:path";
3
- import { fileURLToPath } from "node:url";
4
-
5
- import { SharedSlice } from "@prismicio/types-internal/lib/customtypes";
6
- import type { SliceTemplateLibraryReadHook } from "@slicemachine/plugin-kit";
7
-
8
- import { checkIsTypeScriptProject } from "../lib/checkIsTypeScriptProject";
9
-
10
- import * as CallToAction from "../sliceTemplates/CallToAction";
11
- import type { PluginOptions } from "../types";
12
-
13
- const initialTemplates = [CallToAction];
14
-
15
- export const sliceTemplateLibraryRead: SliceTemplateLibraryReadHook<
16
- PluginOptions
17
- > = async ({ templateIDs }, { helpers, options }) => {
18
- const isTypeScriptProject = await checkIsTypeScriptProject({
19
- helpers,
20
- options,
21
- });
22
- const templates =
23
- templateIDs && templateIDs.length
24
- ? initialTemplates.filter((t) => templateIDs?.includes(t.model.id))
25
- : initialTemplates;
26
-
27
- const templatesPromises = templates.map(async (t) => {
28
- const { mocks, model, createComponentContents, screenshotPaths } = t;
29
-
30
- const screenshotEntries = Object.entries(screenshotPaths);
31
- const screenshotPromises = screenshotEntries.map(([key, filePath]) => {
32
- return fs
33
- .readFile(
34
- fileURLToPath(new URL(path.join("..", filePath), import.meta.url)),
35
- )
36
- .then((data) => [key, data]);
37
- });
38
- const readScreenshots = await Promise.all(screenshotPromises);
39
- const screenshots = Object.fromEntries(readScreenshots);
40
-
41
- return {
42
- mocks,
43
- model,
44
- createComponentContents: (model: SharedSlice) =>
45
- createComponentContents(model, isTypeScriptProject),
46
- screenshots,
47
- };
48
- });
49
-
50
- const resolvedTemplates = await Promise.all(templatesPromises);
51
-
52
- return {
53
- templates: resolvedTemplates,
54
- };
55
- };