@slicemachine/adapter-next 0.3.18-dev-next-release.1 → 0.3.18-dev-next-release.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/AlternateGrid/javascript.jsx +247 -0
  2. package/dist/AlternateGrid/typescript.tsx +244 -0
  3. package/dist/CallToAction/javascript.jsx +135 -0
  4. package/dist/CallToAction/typescript.tsx +137 -0
  5. package/dist/CustomerLogos/javascript.jsx +129 -0
  6. package/dist/CustomerLogos/typescript.tsx +128 -0
  7. package/dist/Hero/javascript.jsx +207 -0
  8. package/dist/Hero/typescript.tsx +204 -0
  9. package/dist/hooks/project-init.cjs +12 -12
  10. package/dist/hooks/project-init.cjs.map +1 -1
  11. package/dist/hooks/project-init.js +12 -12
  12. package/dist/hooks/project-init.js.map +1 -1
  13. package/dist/plugin.cjs +18 -2
  14. package/dist/plugin.cjs.map +1 -1
  15. package/dist/plugin.js +19 -3
  16. package/dist/plugin.js.map +1 -1
  17. package/dist/sliceTemplates/AlternateGrid/index.cjs +4 -505
  18. package/dist/sliceTemplates/AlternateGrid/index.cjs.map +1 -1
  19. package/dist/sliceTemplates/AlternateGrid/index.d.ts +2 -3
  20. package/dist/sliceTemplates/AlternateGrid/index.js +4 -505
  21. package/dist/sliceTemplates/AlternateGrid/index.js.map +1 -1
  22. package/dist/sliceTemplates/CallToAction/index.cjs +4 -291
  23. package/dist/sliceTemplates/CallToAction/index.cjs.map +1 -1
  24. package/dist/sliceTemplates/CallToAction/index.d.ts +2 -3
  25. package/dist/sliceTemplates/CallToAction/index.js +4 -291
  26. package/dist/sliceTemplates/CallToAction/index.js.map +1 -1
  27. package/dist/sliceTemplates/CustomerLogos/index.cjs +3 -275
  28. package/dist/sliceTemplates/CustomerLogos/index.cjs.map +1 -1
  29. package/dist/sliceTemplates/CustomerLogos/index.d.ts +2 -3
  30. package/dist/sliceTemplates/CustomerLogos/index.js +3 -275
  31. package/dist/sliceTemplates/CustomerLogos/index.js.map +1 -1
  32. package/dist/sliceTemplates/Hero/index.cjs +4 -517
  33. package/dist/sliceTemplates/Hero/index.cjs.map +1 -1
  34. package/dist/sliceTemplates/Hero/index.d.ts +2 -3
  35. package/dist/sliceTemplates/Hero/index.js +4 -517
  36. package/dist/sliceTemplates/Hero/index.js.map +1 -1
  37. package/package.json +3 -3
  38. package/src/hooks/project-init.ts +12 -12
  39. package/src/plugin.ts +22 -2
  40. package/src/sliceTemplates/AlternateGrid/index.ts +5 -510
  41. package/src/sliceTemplates/CallToAction/index.ts +4 -298
  42. package/src/sliceTemplates/CustomerLogos/index.ts +3 -282
  43. package/src/sliceTemplates/Hero/index.ts +4 -524
  44. package/dist/hooks/sliceTemplateLibrary-read.cjs +0 -39
  45. package/dist/hooks/sliceTemplateLibrary-read.cjs.map +0 -1
  46. package/dist/hooks/sliceTemplateLibrary-read.d.ts +0 -3
  47. package/dist/hooks/sliceTemplateLibrary-read.js +0 -39
  48. package/dist/hooks/sliceTemplateLibrary-read.js.map +0 -1
  49. package/src/hooks/sliceTemplateLibrary-read.ts +0 -59
@@ -0,0 +1,247 @@
1
+ import { isFilled } from "@prismicio/client";
2
+ import { PrismicNextImage } from "@prismicio/next";
3
+ import { PrismicRichText } from "@prismicio/react";
4
+
5
+ /**
6
+ * @typedef {import("@prismicio/client").Content.PascalNameToReplaceSlice} PascalNameToReplaceSlice
7
+ *
8
+ * @typedef {import("@prismicio/react").SliceComponentProps<PascalNameToReplaceSlice>} PascalNameToReplaceProps
9
+ *
10
+ * @param {PascalNameToReplaceProps}
11
+ */
12
+
13
+ const PascalNameToReplace = ({ slice }) => {
14
+ return (
15
+ <section
16
+ data-slice-type={slice.slice_type}
17
+ data-slice-variation={slice.variation}
18
+ className="es-bounded es-alternate-grid"
19
+ >
20
+ <div
21
+ className={`
22
+ es-bounded__content
23
+ es-alternate-grid__content
24
+ ${
25
+ isFilled.image(slice.primary.image)
26
+ ? "es-alternate-grid__content--with-image"
27
+ : ""
28
+ }
29
+ `}
30
+ >
31
+ {isFilled.image(slice.primary.image) && (
32
+ <PrismicNextImage
33
+ field={slice.primary.image}
34
+ className={`
35
+ es-alternate-grid__image
36
+ ${
37
+ slice.variation === "imageRight"
38
+ ? "es-alternate-grid__image--right"
39
+ : "es-alternate-grid__image--left"
40
+ }
41
+ `}
42
+ />
43
+ )}
44
+ <div className="es-alternate-grid__primary-content">
45
+ <div className="es-alternate-grid__primary-content__intro">
46
+ {isFilled.keyText(slice.primary.eyebrowHeadline) && (
47
+ <p className="es-alternate-grid__primary-content__intro__eyebrow">
48
+ {slice.primary.eyebrowHeadline}
49
+ </p>
50
+ )}
51
+ {isFilled.richText(slice.primary.title) && (
52
+ <div className="es-alternate-grid__primary-content__intro__headline">
53
+ <PrismicRichText field={slice.primary.title} />
54
+ </div>
55
+ )}
56
+ {isFilled.richText(slice.primary.description) && (
57
+ <div className="es-alternate-grid__primary-content__intro__description">
58
+ <PrismicRichText field={slice.primary.description} />
59
+ </div>
60
+ )}
61
+ </div>
62
+ {slice.items.length > 0 && (
63
+ <div className="es-alternate-grid__primary-content__items">
64
+ {slice.items.map((item, i) => (
65
+ <div key={`item-${i + 1}`} className="es-alternate-grid__item">
66
+ {isFilled.richText(item.title) && (
67
+ <div className="es-alternate-grid__item__heading">
68
+ <PrismicRichText field={item.title} />
69
+ </div>
70
+ )}
71
+ {isFilled.richText(item.description) && (
72
+ <div className="es-alternate-grid__item__description">
73
+ <PrismicRichText field={item.description} />
74
+ </div>
75
+ )}
76
+ </div>
77
+ ))}
78
+ </div>
79
+ )}
80
+ </div>
81
+ </div>
82
+ <style>
83
+ {`
84
+ .es-bounded {
85
+ margin: 0px;
86
+ min-width: 0px;
87
+ position: relative;
88
+ padding: 8vw 1.25rem;
89
+ }
90
+
91
+ .es-bounded-content {
92
+ min-width: 0px;
93
+ max-width: 90%;
94
+ margin: 0px auto;
95
+ }
96
+
97
+ .es-alternate-grid {
98
+ font-family: system-ui, sans-serif;
99
+ background-color: #fff;
100
+ color: #333;
101
+ }
102
+
103
+ .es-alternate-grid__content {
104
+ display: grid;
105
+ gap: 1.5rem;
106
+ grid-auto-flow: dense;
107
+ }
108
+
109
+ @media (min-width: 640px) {
110
+ .es-alternate-grid__content--with-image {
111
+ grid-template-columns: repeat(2, 1fr);
112
+ }
113
+ }
114
+
115
+ @media (min-width: 1200px) {
116
+ .es-alternate-grid__content--with-image {
117
+ grid-template-columns: repeat(2, 1fr);
118
+ }
119
+ }
120
+
121
+ .es-alternate-grid__image {
122
+ width: auto;
123
+ height: auto;
124
+ max-width: 100%;
125
+ align-self: center;
126
+ }
127
+
128
+ .es-alternate-grid__image--left {
129
+ order: 1;
130
+ }
131
+
132
+ .es-alternate-grid__image--left + div {
133
+ order: 2;
134
+ }
135
+
136
+ .es-alternate-grid__image--right{
137
+ order: 2;
138
+ }
139
+
140
+ .es-alternate-grid__image--right + div {
141
+ order: 1;
142
+ }
143
+
144
+ .es-alternate-grid__primary-content {
145
+ display: grid;
146
+ gap: 2rem;
147
+ }
148
+
149
+ .es-alternate-grid__primary-content__intro {
150
+ display: grid;
151
+ gap: 0.5rem;
152
+ }
153
+
154
+ .es-alternate-grid__primary-content__intro__eyebrow {
155
+ color: #8592e0;
156
+ font-size: 1.15rem;
157
+ font-weight: 500;
158
+ margin: 0;
159
+ }
160
+
161
+ .es-alternate-grid__primary-content__intro__headline {
162
+ font-size: 1.625rem;
163
+ font-weight: 700;
164
+ }
165
+
166
+ .es-alternate-grid__primary-content__intro__headline > * {
167
+ margin: 0;
168
+ }
169
+
170
+ @media (min-width: 640px) {
171
+ .es-alternate-grid__primary-content__intro__headline {
172
+ font-size: 2rem;
173
+ }
174
+ }
175
+
176
+ @media (min-width: 1024px) {
177
+ .es-alternate-grid__primary-content__intro__headline {
178
+ font-size: 2.5rem;
179
+ }
180
+ }
181
+
182
+ @media (min-width: 1200px) {
183
+ .es-alternate-grid__primary-content__intro__headline {
184
+ font-size: 2.75rem;
185
+ }
186
+ }
187
+
188
+ .es-alternate-grid__primary-content__intro__description {
189
+ font-size: 1.15rem;
190
+ max-width: 38rem;
191
+ }
192
+
193
+ .es-alternate-grid__primary-content__intro__description > p {
194
+ margin: 0;
195
+ }
196
+
197
+ @media (min-width: 1200px) {
198
+ .es-alternate-grid__primary-content__intro__description {
199
+ font-size: 1.4rem;
200
+ }
201
+ }
202
+
203
+ .es-alternate-grid__primary-content__items {
204
+ display: grid;
205
+ gap: 2rem;
206
+ }
207
+
208
+ @media (min-width: 640px) {
209
+ .es-alternate-grid__primary-content__items {
210
+ grid-template-columns: repeat(2, 1fr);
211
+ }
212
+ }
213
+
214
+ .es-alternate-grid__item {
215
+ display: grid;
216
+ align-content: start;
217
+ }
218
+
219
+ .es-alternate-grid__item__icon {
220
+ max-height: 3rem;
221
+ }
222
+
223
+ .es-alternate-grid__item__heading {
224
+ font-weight: 700;
225
+ font-size: 1.17rem;
226
+ margin-top: 0;
227
+ margin-bottom: .5rem;
228
+ }
229
+
230
+ .es-alternate-grid__item__heading > * {
231
+ margin: 0;
232
+ }
233
+
234
+ .es-alternate-grid__item__description {
235
+ font-size: 0.9rem;
236
+ }
237
+
238
+ .es-alternate-grid__item__description > * {
239
+ margin: 0;
240
+ }
241
+ `}
242
+ </style>
243
+ </section>
244
+ );
245
+ };
246
+
247
+ export default PascalNameToReplace;
@@ -0,0 +1,244 @@
1
+ import { PrismicNextImage } from "@prismicio/next";
2
+ import { Content, isFilled } from "@prismicio/client";
3
+ import { SliceComponentProps, PrismicRichText } from "@prismicio/react";
4
+
5
+ export type PascalNameToReplaceProps =
6
+ SliceComponentProps<Content.PascalNameToReplaceSlice>;
7
+
8
+ const PascalNameToReplace = ({
9
+ slice,
10
+ }: PascalNameToReplaceProps): JSX.Element => {
11
+ return (
12
+ <section
13
+ data-slice-type={slice.slice_type}
14
+ data-slice-variation={slice.variation}
15
+ className="es-bounded es-alternate-grid"
16
+ >
17
+ <div
18
+ className={`
19
+ es-bounded__content
20
+ es-alternate-grid__content
21
+ ${
22
+ isFilled.image(slice.primary.image)
23
+ ? "es-alternate-grid__content--with-image"
24
+ : ""
25
+ }
26
+ `}
27
+ >
28
+ {isFilled.image(slice.primary.image) && (
29
+ <PrismicNextImage
30
+ field={slice.primary.image}
31
+ className={`
32
+ es-alternate-grid__image
33
+ ${
34
+ slice.variation === "imageRight"
35
+ ? "es-alternate-grid__image--right"
36
+ : "es-alternate-grid__image--left"
37
+ }
38
+ `}
39
+ />
40
+ )}
41
+ <div className="es-alternate-grid__primary-content">
42
+ <div className="es-alternate-grid__primary-content__intro">
43
+ {isFilled.keyText(slice.primary.eyebrowHeadline) && (
44
+ <p className="es-alternate-grid__primary-content__intro__eyebrow">
45
+ {slice.primary.eyebrowHeadline}
46
+ </p>
47
+ )}
48
+ {isFilled.richText(slice.primary.title) && (
49
+ <div className="es-alternate-grid__primary-content__intro__headline">
50
+ <PrismicRichText field={slice.primary.title} />
51
+ </div>
52
+ )}
53
+ {isFilled.richText(slice.primary.description) && (
54
+ <div className="es-alternate-grid__primary-content__intro__description">
55
+ <PrismicRichText field={slice.primary.description} />
56
+ </div>
57
+ )}
58
+ </div>
59
+ {slice.items.length > 0 && (
60
+ <div className="es-alternate-grid__primary-content__items">
61
+ {slice.items.map((item, i) => (
62
+ <div key={`item-${i + 1}`} className="es-alternate-grid__item">
63
+ {isFilled.richText(item.title) && (
64
+ <div className="es-alternate-grid__item__heading">
65
+ <PrismicRichText field={item.title} />
66
+ </div>
67
+ )}
68
+ {isFilled.richText(item.description) && (
69
+ <div className="es-alternate-grid__item__description">
70
+ <PrismicRichText field={item.description} />
71
+ </div>
72
+ )}
73
+ </div>
74
+ ))}
75
+ </div>
76
+ )}
77
+ </div>
78
+ </div>
79
+ <style>
80
+ {`
81
+ .es-bounded {
82
+ margin: 0px;
83
+ min-width: 0px;
84
+ position: relative;
85
+ padding: 8vw 1.25rem;
86
+ }
87
+
88
+ .es-bounded-content {
89
+ min-width: 0px;
90
+ max-width: 90%;
91
+ margin: 0px auto;
92
+ }
93
+
94
+ .es-alternate-grid {
95
+ font-family: system-ui, sans-serif;
96
+ background-color: #fff;
97
+ color: #333;
98
+ }
99
+
100
+ .es-alternate-grid__content {
101
+ display: grid;
102
+ gap: 1.5rem;
103
+ grid-auto-flow: dense;
104
+ }
105
+
106
+ @media (min-width: 640px) {
107
+ .es-alternate-grid__content--with-image {
108
+ grid-template-columns: repeat(2, 1fr);
109
+ }
110
+ }
111
+
112
+ @media (min-width: 1200px) {
113
+ .es-alternate-grid__content--with-image {
114
+ grid-template-columns: repeat(2, 1fr);
115
+ }
116
+ }
117
+
118
+ .es-alternate-grid__image {
119
+ width: auto;
120
+ height: auto;
121
+ max-width: 100%;
122
+ align-self: center;
123
+ }
124
+
125
+ .es-alternate-grid__image--left {
126
+ order: 1;
127
+ }
128
+
129
+ .es-alternate-grid__image--left + div {
130
+ order: 2;
131
+ }
132
+
133
+ .es-alternate-grid__image--right{
134
+ order: 2;
135
+ }
136
+
137
+ .es-alternate-grid__image--right + div {
138
+ order: 1;
139
+ }
140
+
141
+ .es-alternate-grid__primary-content {
142
+ display: grid;
143
+ gap: 2rem;
144
+ }
145
+
146
+ .es-alternate-grid__primary-content__intro {
147
+ display: grid;
148
+ gap: 0.5rem;
149
+ }
150
+
151
+ .es-alternate-grid__primary-content__intro__eyebrow {
152
+ color: #8592e0;
153
+ font-size: 1.15rem;
154
+ font-weight: 500;
155
+ margin: 0;
156
+ }
157
+
158
+ .es-alternate-grid__primary-content__intro__headline {
159
+ font-size: 1.625rem;
160
+ font-weight: 700;
161
+ }
162
+
163
+ .es-alternate-grid__primary-content__intro__headline > * {
164
+ margin: 0;
165
+ }
166
+
167
+ @media (min-width: 640px) {
168
+ .es-alternate-grid__primary-content__intro__headline {
169
+ font-size: 2rem;
170
+ }
171
+ }
172
+
173
+ @media (min-width: 1024px) {
174
+ .es-alternate-grid__primary-content__intro__headline {
175
+ font-size: 2.5rem;
176
+ }
177
+ }
178
+
179
+ @media (min-width: 1200px) {
180
+ .es-alternate-grid__primary-content__intro__headline {
181
+ font-size: 2.75rem;
182
+ }
183
+ }
184
+
185
+ .es-alternate-grid__primary-content__intro__description {
186
+ font-size: 1.15rem;
187
+ max-width: 38rem;
188
+ }
189
+
190
+ .es-alternate-grid__primary-content__intro__description > p {
191
+ margin: 0;
192
+ }
193
+
194
+ @media (min-width: 1200px) {
195
+ .es-alternate-grid__primary-content__intro__description {
196
+ font-size: 1.4rem;
197
+ }
198
+ }
199
+
200
+ .es-alternate-grid__primary-content__items {
201
+ display: grid;
202
+ gap: 2rem;
203
+ }
204
+
205
+ @media (min-width: 640px) {
206
+ .es-alternate-grid__primary-content__items {
207
+ grid-template-columns: repeat(2, 1fr);
208
+ }
209
+ }
210
+
211
+ .es-alternate-grid__item {
212
+ display: grid;
213
+ align-content: start;
214
+ }
215
+
216
+ .es-alternate-grid__item__icon {
217
+ max-height: 3rem;
218
+ }
219
+
220
+ .es-alternate-grid__item__heading {
221
+ font-weight: 700;
222
+ font-size: 1.17rem;
223
+ margin-top: 0;
224
+ margin-bottom: .5rem;
225
+ }
226
+
227
+ .es-alternate-grid__item__heading > * {
228
+ margin: 0;
229
+ }
230
+
231
+ .es-alternate-grid__item__description {
232
+ font-size: 0.9rem;
233
+ }
234
+
235
+ .es-alternate-grid__item__description > * {
236
+ margin: 0;
237
+ }
238
+ `}
239
+ </style>
240
+ </section>
241
+ );
242
+ };
243
+
244
+ export default PascalNameToReplace;
@@ -0,0 +1,135 @@
1
+ import { isFilled } from "@prismicio/client";
2
+ import { PrismicNextLink, PrismicNextImage } from "@prismicio/next";
3
+ import { PrismicRichText, PrismicText } from "@prismicio/react";
4
+
5
+ /**
6
+ * @typedef {import("@prismicio/client").Content.PascalNameToReplaceSlice} PascalNameToReplaceSlice
7
+ *
8
+ * @typedef {import("@prismicio/react").SliceComponentProps<PascalNameToReplaceSlice>} PascalNameToReplaceProps
9
+ *
10
+ * @param {PascalNameToReplaceProps}
11
+ */
12
+ const PascalNameToReplace = ({ slice }) => {
13
+ const alignment = slice.variation === "alignLeft" ? "left" : "center";
14
+
15
+ return (
16
+ <section
17
+ data-slice-type={slice.slice_type}
18
+ data-slice-variation={slice.variation}
19
+ className="es-bounded es-call-to-action"
20
+ >
21
+ <div className="es-bounded__content es-call-to-action__content">
22
+ {isFilled.image(slice.primary.image) && (
23
+ <PrismicNextImage
24
+ className="es-call-to-action__image"
25
+ field={slice.primary.image}
26
+ />
27
+ )}
28
+ <div className="es-call-to-action__content">
29
+ {isFilled.richText(slice.primary.title) && (
30
+ <h2 className="es-call-to-action__content__heading">
31
+ <PrismicText field={slice.primary.title} />
32
+ </h2>
33
+ )}
34
+ {isFilled.richText(slice.primary.paragraph) && (
35
+ <div className="es-call-to-action__content__paragraph">
36
+ <PrismicRichText field={slice.primary.paragraph} />
37
+ </div>
38
+ )}
39
+ </div>
40
+ {isFilled.link(slice.primary.buttonLink) && (
41
+ <PrismicNextLink
42
+ className="es-call-to-action__button"
43
+ field={slice.primary.buttonLink}
44
+ >
45
+ {slice.primary.buttonLabel || "Learn more…"}
46
+ </PrismicNextLink>
47
+ )}
48
+ </div>
49
+ <style>
50
+ {`
51
+ .es-bounded {
52
+ padding: 8vw 2rem;
53
+ }
54
+
55
+ .es-bounded__content {
56
+ margin-left: auto;
57
+ margin-right: auto;
58
+ }
59
+
60
+ @media screen and (min-width: 640px) {
61
+ .es-bounded__content {
62
+ max-width: 90%;
63
+ }
64
+ }
65
+
66
+ @media screen and (min-width: 896px) {
67
+ .es-bounded__content {
68
+ max-width: 80%;
69
+ }
70
+ }
71
+
72
+ @media screen and (min-width: 1280px) {
73
+ .es-bounded__content {
74
+ max-width: 75%;
75
+ }
76
+ }
77
+
78
+ .es-call-to-action {
79
+ background-color: #fff;
80
+ color: #333;
81
+ }
82
+
83
+ .es-call-to-action__content {
84
+ display: grid;
85
+ gap: 2rem;
86
+ }
87
+
88
+ .es-call-to-action__image {
89
+ max-width: 14rem;
90
+ height: auto;
91
+ width: auto;
92
+ justify-self: ${alignment};
93
+ }
94
+
95
+ .es-call-to-action__content {
96
+ display: grid;
97
+ gap: 1rem;
98
+ justify-items: ${alignment};
99
+ }
100
+
101
+ .es-call-to-action__content__heading {
102
+ font-size: 2rem;
103
+ font-weight: 700;
104
+ text-align: ${alignment};
105
+ }
106
+
107
+ .es-call-to-action__content__paragraph {
108
+ font-size: 1.15rem;
109
+ max-width: 38rem;
110
+ text-align: ${alignment};
111
+ }
112
+
113
+ .es-call-to-action__button {
114
+ justify-self: ${alignment};
115
+ border-radius: 0.25rem;
116
+ display: inline-block;
117
+ font-size: 0.875rem;
118
+ line-height: 1.3;
119
+ padding: 1rem 2.625rem;
120
+ text-align: ${alignment};
121
+ transition: background-color 100ms linear;
122
+ background-color: #16745f;
123
+ color: #fff;
124
+ }
125
+
126
+ .es-call-to-action__button:hover {
127
+ background-color: #0d5e4c;
128
+ }
129
+ `}
130
+ </style>
131
+ </section>
132
+ );
133
+ };
134
+
135
+ export default PascalNameToReplace;