@slicemachine/adapter-next 0.3.18-dev-next-release.2 → 0.3.18-dev-next-release.4

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 (44) 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/plugin.cjs +18 -2
  10. package/dist/plugin.cjs.map +1 -1
  11. package/dist/plugin.js +19 -3
  12. package/dist/plugin.js.map +1 -1
  13. package/dist/sliceTemplates/AlternateGrid/index.cjs +4 -505
  14. package/dist/sliceTemplates/AlternateGrid/index.cjs.map +1 -1
  15. package/dist/sliceTemplates/AlternateGrid/index.d.ts +2 -3
  16. package/dist/sliceTemplates/AlternateGrid/index.js +4 -505
  17. package/dist/sliceTemplates/AlternateGrid/index.js.map +1 -1
  18. package/dist/sliceTemplates/CallToAction/index.cjs +4 -291
  19. package/dist/sliceTemplates/CallToAction/index.cjs.map +1 -1
  20. package/dist/sliceTemplates/CallToAction/index.d.ts +2 -3
  21. package/dist/sliceTemplates/CallToAction/index.js +4 -291
  22. package/dist/sliceTemplates/CallToAction/index.js.map +1 -1
  23. package/dist/sliceTemplates/CustomerLogos/index.cjs +3 -275
  24. package/dist/sliceTemplates/CustomerLogos/index.cjs.map +1 -1
  25. package/dist/sliceTemplates/CustomerLogos/index.d.ts +2 -3
  26. package/dist/sliceTemplates/CustomerLogos/index.js +3 -275
  27. package/dist/sliceTemplates/CustomerLogos/index.js.map +1 -1
  28. package/dist/sliceTemplates/Hero/index.cjs +4 -517
  29. package/dist/sliceTemplates/Hero/index.cjs.map +1 -1
  30. package/dist/sliceTemplates/Hero/index.d.ts +2 -3
  31. package/dist/sliceTemplates/Hero/index.js +4 -517
  32. package/dist/sliceTemplates/Hero/index.js.map +1 -1
  33. package/package.json +3 -3
  34. package/src/plugin.ts +22 -2
  35. package/src/sliceTemplates/AlternateGrid/index.ts +5 -510
  36. package/src/sliceTemplates/CallToAction/index.ts +4 -298
  37. package/src/sliceTemplates/CustomerLogos/index.ts +3 -282
  38. package/src/sliceTemplates/Hero/index.ts +4 -524
  39. package/dist/hooks/sliceTemplateLibrary-read.cjs +0 -39
  40. package/dist/hooks/sliceTemplateLibrary-read.cjs.map +0 -1
  41. package/dist/hooks/sliceTemplateLibrary-read.d.ts +0 -3
  42. package/dist/hooks/sliceTemplateLibrary-read.js +0 -39
  43. package/dist/hooks/sliceTemplateLibrary-read.js.map +0 -1
  44. package/src/hooks/sliceTemplateLibrary-read.ts +0 -59
@@ -0,0 +1,137 @@
1
+ import { Content, isFilled } from "@prismicio/client";
2
+ import { PrismicNextLink, PrismicNextImage } from "@prismicio/next";
3
+ import {
4
+ PrismicRichText,
5
+ PrismicText,
6
+ SliceComponentProps,
7
+ } from "@prismicio/react";
8
+
9
+ export type PascalNameToReplaceProps =
10
+ SliceComponentProps<Content.PascalNameToReplaceSlice>;
11
+
12
+ const PascalNameToReplace = ({
13
+ slice,
14
+ }: PascalNameToReplaceProps): JSX.Element => {
15
+ const alignment = slice.variation === "alignLeft" ? "left" : "center";
16
+
17
+ return (
18
+ <section
19
+ data-slice-type={slice.slice_type}
20
+ data-slice-variation={slice.variation}
21
+ className="es-bounded es-call-to-action"
22
+ >
23
+ <div className="es-bounded__content es-call-to-action__content">
24
+ {isFilled.image(slice.primary.image) && (
25
+ <PrismicNextImage
26
+ className="es-call-to-action__image"
27
+ field={slice.primary.image}
28
+ />
29
+ )}
30
+ <div className="es-call-to-action__content">
31
+ {isFilled.richText(slice.primary.title) && (
32
+ <h2 className="es-call-to-action__content__heading">
33
+ <PrismicText field={slice.primary.title} />
34
+ </h2>
35
+ )}
36
+ {isFilled.richText(slice.primary.paragraph) && (
37
+ <div className="es-call-to-action__content__paragraph">
38
+ <PrismicRichText field={slice.primary.paragraph} />
39
+ </div>
40
+ )}
41
+ </div>
42
+ {isFilled.link(slice.primary.buttonLink) && (
43
+ <PrismicNextLink
44
+ className="es-call-to-action__button"
45
+ field={slice.primary.buttonLink}
46
+ >
47
+ {slice.primary.buttonLabel || "Learn more…"}
48
+ </PrismicNextLink>
49
+ )}
50
+ </div>
51
+ <style>
52
+ {`
53
+ .es-bounded {
54
+ padding: 8vw 2rem;
55
+ }
56
+
57
+ .es-bounded__content {
58
+ margin-left: auto;
59
+ margin-right: auto;
60
+ }
61
+
62
+ @media screen and (min-width: 640px) {
63
+ .es-bounded__content {
64
+ max-width: 90%;
65
+ }
66
+ }
67
+
68
+ @media screen and (min-width: 896px) {
69
+ .es-bounded__content {
70
+ max-width: 80%;
71
+ }
72
+ }
73
+
74
+ @media screen and (min-width: 1280px) {
75
+ .es-bounded__content {
76
+ max-width: 75%;
77
+ }
78
+ }
79
+
80
+ .es-call-to-action {
81
+ background-color: #fff;
82
+ color: #333;
83
+ }
84
+
85
+ .es-call-to-action__content {
86
+ display: grid;
87
+ gap: 2rem;
88
+ }
89
+
90
+ .es-call-to-action__image {
91
+ max-width: 14rem;
92
+ height: auto;
93
+ width: auto;
94
+ justify-self: ${alignment};
95
+ }
96
+
97
+ .es-call-to-action__content {
98
+ display: grid;
99
+ gap: 1rem;
100
+ justify-items: ${alignment};
101
+ }
102
+
103
+ .es-call-to-action__content__heading {
104
+ font-size: 2rem;
105
+ font-weight: 700;
106
+ text-align: ${alignment};
107
+ }
108
+
109
+ .es-call-to-action__content__paragraph {
110
+ font-size: 1.15rem;
111
+ max-width: 38rem;
112
+ text-align: ${alignment};
113
+ }
114
+
115
+ .es-call-to-action__button {
116
+ justify-self: ${alignment};
117
+ border-radius: 0.25rem;
118
+ display: inline-block;
119
+ font-size: 0.875rem;
120
+ line-height: 1.3;
121
+ padding: 1rem 2.625rem;
122
+ text-align: ${alignment};
123
+ transition: background-color 100ms linear;
124
+ background-color: #16745f;
125
+ color: #fff;
126
+ }
127
+
128
+ .es-call-to-action__button:hover {
129
+ background-color: #0d5e4c;
130
+ }
131
+ `}
132
+ </style>
133
+ </section>
134
+ );
135
+ };
136
+
137
+ export default PascalNameToReplace;
@@ -0,0 +1,129 @@
1
+ import { isFilled, asText } from "@prismicio/client";
2
+ import { PrismicNextLink, PrismicNextImage } from "@prismicio/next";
3
+
4
+ /**
5
+ * @typedef {import("@prismicio/client").Content.PascalNameToReplaceSlice} PascalNameToReplaceSlice
6
+ *
7
+ * @typedef {import("@prismicio/react").SliceComponentProps<PascalNameToReplaceSlice>} PascalNameToReplaceProps
8
+ *
9
+ * @param {PascalNameToReplaceProps}
10
+ */
11
+ const PascalNameToReplace = ({ slice }) => {
12
+ return (
13
+ <section
14
+ data-slice-type={slice.slice_type}
15
+ data-slice-variation={slice.variation}
16
+ className="es-bounded es-customer-logos"
17
+ >
18
+ <div className="es-bounded-content es-customer-logos__content">
19
+ {isFilled.richText(slice.primary.eyebrowHeadline) && (
20
+ <h2 className="es-customer-logos__heading">
21
+ {asText(slice.primary.eyebrowHeadline)}
22
+ </h2>
23
+ )}
24
+ {slice.items.length > 0 && (
25
+ <ul className="es-customer-logos__logos">
26
+ {slice.items.map(
27
+ (item) =>
28
+ isFilled.image(item.image) && (
29
+ <li key={item.image.url} className="es-customer-logos__logo">
30
+ <PrismicNextLink
31
+ field={item.link}
32
+ className="es-customer-logos__link"
33
+ >
34
+ <PrismicNextImage
35
+ field={item.image}
36
+ height={26}
37
+ width={160}
38
+ className="es-customer-logos__logo__link__image"
39
+ />
40
+ </PrismicNextLink>
41
+ </li>
42
+ ),
43
+ )}
44
+ </ul>
45
+ )}
46
+ <PrismicNextLink
47
+ field={slice.primary.callToActionLink}
48
+ className="es-customer-logos__button"
49
+ >
50
+ {slice.primary.callToActionLabel || "Learn more..."}
51
+ </PrismicNextLink>
52
+ </div>
53
+ <style>
54
+ {`
55
+ .es-bounded {
56
+ margin: 0px;
57
+ min-width: 0px;
58
+ position: relative;
59
+ padding: 8vw 1.25rem;
60
+ }
61
+
62
+ .es-bounded-content {
63
+ min-width: 0px;
64
+ max-width: 90%;
65
+ margin: 0px auto;
66
+ font-family: system-ui, sans-serif;
67
+ }
68
+
69
+ .es-customer-logos {
70
+ background-color: #f4f0ec;
71
+ color: #333;
72
+ }
73
+
74
+ .es-customer-logos__content {
75
+ display: grid;
76
+ gap: 2rem;
77
+ justify-items: center;
78
+ }
79
+
80
+ .es-customer-logos__heading {
81
+ color: #8592e0;
82
+ font-size: 1.5rem;
83
+ font-weight: 500;
84
+ text-align: center;
85
+ }
86
+
87
+ .es-customer-logos__logos {
88
+ display: grid;
89
+ grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
90
+ grid-column-gap: 1.25rem;
91
+ grid-row-gap: 2rem;
92
+ align-items: center;
93
+ list-style-type: none;
94
+ width: 100%;
95
+ }
96
+
97
+ @media (min-width: 1200px) {
98
+ .es-customer-logos__logos {
99
+ margin-left: -3rem;
100
+ }
101
+ }
102
+
103
+ .es-customer-logos__logo {
104
+ margin: 0;
105
+ display: flex;
106
+ justify-content: center;
107
+ }
108
+
109
+ @media (min-width: 1200px) {
110
+ .es-customer-logos__logo {
111
+ margin-left: 3rem;
112
+ }
113
+ }
114
+
115
+ .es-customer-logos__logo__link__image {
116
+ max-width: 10rem;
117
+ }
118
+
119
+ .es-customer-logos__button {
120
+ justify-self: center;
121
+ text-decoration: underline;
122
+ }
123
+ `}
124
+ </style>
125
+ </section>
126
+ );
127
+ };
128
+
129
+ export default PascalNameToReplace;
@@ -0,0 +1,128 @@
1
+ import { Content, isFilled, asText } from "@prismicio/client";
2
+ import { PrismicNextLink, PrismicNextImage } from "@prismicio/next";
3
+ import { SliceComponentProps } 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-customer-logos"
16
+ >
17
+ <div className="es-bounded-content es-customer-logos__content">
18
+ {isFilled.richText(slice.primary.eyebrowHeadline) && (
19
+ <h2 className="es-customer-logos__heading">
20
+ {asText(slice.primary.eyebrowHeadline)}
21
+ </h2>
22
+ )}
23
+ {slice.items.length > 0 && (
24
+ <ul className="es-customer-logos__logos">
25
+ {slice.items.map(
26
+ (item) =>
27
+ isFilled.image(item.image) && (
28
+ <li key={item.image.url} className="es-customer-logos__logo">
29
+ <PrismicNextLink
30
+ field={item.link}
31
+ className="es-customer-logos__link"
32
+ >
33
+ <PrismicNextImage
34
+ field={item.image}
35
+ height={26}
36
+ width={160}
37
+ className="es-customer-logos__logo__link__image"
38
+ />
39
+ </PrismicNextLink>
40
+ </li>
41
+ ),
42
+ )}
43
+ </ul>
44
+ )}
45
+ <PrismicNextLink
46
+ field={slice.primary.callToActionLink}
47
+ className="es-customer-logos__button"
48
+ >
49
+ {slice.primary.callToActionLabel || "Learn more..."}
50
+ </PrismicNextLink>
51
+ </div>
52
+ <style>
53
+ {`
54
+ .es-bounded {
55
+ margin: 0px;
56
+ min-width: 0px;
57
+ position: relative;
58
+ padding: 8vw 1.25rem;
59
+ }
60
+
61
+ .es-bounded-content {
62
+ min-width: 0px;
63
+ max-width: 90%;
64
+ margin: 0px auto;
65
+ font-family: system-ui, sans-serif;
66
+ }
67
+
68
+ .es-customer-logos {
69
+ background-color: #f4f0ec;
70
+ color: #333;
71
+ }
72
+
73
+ .es-customer-logos__content {
74
+ display: grid;
75
+ gap: 2rem;
76
+ justify-items: center;
77
+ }
78
+
79
+ .es-customer-logos__heading {
80
+ color: #8592e0;
81
+ font-size: 1.5rem;
82
+ font-weight: 500;
83
+ text-align: center;
84
+ }
85
+
86
+ .es-customer-logos__logos {
87
+ display: grid;
88
+ grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
89
+ grid-column-gap: 1.25rem;
90
+ grid-row-gap: 2rem;
91
+ align-items: center;
92
+ list-style-type: none;
93
+ width: 100%;
94
+ }
95
+
96
+ @media (min-width: 1200px) {
97
+ .es-customer-logos__logos {
98
+ margin-left: -3rem;
99
+ }
100
+ }
101
+
102
+ .es-customer-logos__logo {
103
+ margin: 0;
104
+ display: flex;
105
+ justify-content: center;
106
+ }
107
+
108
+ @media (min-width: 1200px) {
109
+ .es-customer-logos__logo {
110
+ margin-left: 3rem;
111
+ }
112
+ }
113
+
114
+ .es-customer-logos__logo__link__image {
115
+ max-width: 10rem;
116
+ }
117
+
118
+ .es-customer-logos__button {
119
+ justify-self: center;
120
+ text-decoration: underline;
121
+ }
122
+ `}
123
+ </style>
124
+ </section>
125
+ );
126
+ };
127
+
128
+ export default PascalNameToReplace;
@@ -0,0 +1,207 @@
1
+ import { isFilled } from "@prismicio/client";
2
+ import { PrismicNextLink, 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-fullpage-hero"
19
+ >
20
+ <div
21
+ className={`
22
+ es-bounded__content
23
+ es-fullpage-hero__content
24
+ ${
25
+ slice.variation === "imageRight"
26
+ ? "es-fullpage-hero__image--right"
27
+ : "es-fullpage-hero__image--left"
28
+ }
29
+ `}
30
+ >
31
+ <div>
32
+ {isFilled.image(slice.primary.image) && (
33
+ <PrismicNextImage
34
+ field={slice.primary.image}
35
+ className="es-fullpage-hero__image"
36
+ />
37
+ )}
38
+ </div>
39
+
40
+ <div className="es-fullpage-hero__content-right">
41
+ <div className="es-fullpage-hero__content__intro">
42
+ {isFilled.keyText(slice.primary.eyebrowHeadline) && (
43
+ <p className="es-fullpage-hero__content__intro__eyebrow">
44
+ {slice.primary.eyebrowHeadline}
45
+ </p>
46
+ )}
47
+ {isFilled.richText(slice.primary.title) && (
48
+ <div className="es-fullpage-hero__content__intro__headline">
49
+ <PrismicRichText field={slice.primary.title} />
50
+ </div>
51
+ )}
52
+ {isFilled.richText(slice.primary.description) && (
53
+ <div className="es-fullpage-hero__content__intro__description">
54
+ <PrismicRichText field={slice.primary.description} />
55
+ </div>
56
+ )}
57
+ {isFilled.link(slice.primary.callToActionLink) && (
58
+ <PrismicNextLink
59
+ className="es-call-to-action__link"
60
+ field={slice.primary.callToActionLink}
61
+ >
62
+ {slice.primary.callToActionLabel || "Learn more…"}
63
+ </PrismicNextLink>
64
+ )}
65
+ </div>
66
+ </div>
67
+ </div>
68
+ <style>
69
+ {`
70
+ .es-bounded {
71
+ margin: 0px;
72
+ min-width: 0px;
73
+ position: relative;
74
+ }
75
+
76
+ .es-bounded-content {
77
+ min-width: 0px;
78
+ max-width: 90%;
79
+ margin: 0px auto;
80
+ }
81
+
82
+ .es-fullpage-hero {
83
+ font-family: system-ui, sans-serif;
84
+ background-color: #fff;
85
+ color: #333;
86
+ }
87
+
88
+ .es-fullpage-hero__image {
89
+ max-width: 100%;
90
+ height: auto;
91
+ align-self: center;
92
+ }
93
+
94
+ .es-fullpage-hero__image--left > div:first-child {
95
+ order: 1;
96
+ }
97
+
98
+ .es-fullpage-hero__image--left > div:nth-child(2) {
99
+ order: 2;
100
+ }
101
+
102
+ .es-fullpage-hero__image--right > div:first-child {
103
+ order: 2;
104
+ }
105
+
106
+ .es-fullpage-hero__image--right > div:nth-child(2) {
107
+ order: 1;
108
+ }
109
+
110
+ .es-fullpage-hero__content {
111
+ display: flex;
112
+ flex-direction: column;
113
+ gap: 2rem;
114
+ }
115
+
116
+ .es-fullpage-hero__content-right {
117
+ display: flex;
118
+ flex-direction: column;
119
+ justify-content: space-around;
120
+ padding: 1.5rem;
121
+ }
122
+
123
+ @media (min-width: 1080px) {
124
+ .es-fullpage-hero__content {
125
+ flex-direction: row;
126
+ }
127
+
128
+ .es-fullpage-hero__content > div {
129
+ width: 50%;
130
+ }
131
+ }
132
+
133
+ .es-fullpage-hero__content__intro {
134
+ display: grid;
135
+ gap: 1rem;
136
+ }
137
+
138
+ .es-fullpage-hero__content__intro__eyebrow {
139
+ color: #47C1AF;
140
+ font-size: 1.15rem;
141
+ font-weight: 500;
142
+ margin: 0;
143
+ }
144
+
145
+ .es-fullpage-hero__content__intro__headline {
146
+ font-size: 1.625rem;
147
+ font-weight: 700;
148
+ }
149
+
150
+ .es-fullpage-hero__content__intro__headline > * {
151
+ margin: 0;
152
+ }
153
+
154
+ @media (min-width: 640px) {
155
+ .es-fullpage-hero__content__intro__headline {
156
+ font-size: 2rem;
157
+ }
158
+ }
159
+
160
+ @media (min-width: 1024px) {
161
+ .es-fullpage-hero__content__intro__headline {
162
+ font-size: 2.5rem;
163
+ }
164
+ }
165
+
166
+ @media (min-width: 1200px) {
167
+ .es-fullpage-hero__content__intro__headline {
168
+ font-size: 2.75rem;
169
+ }
170
+ }
171
+
172
+ .es-fullpage-hero__content__intro__description {
173
+ font-size: 1.15rem;
174
+ max-width: 38rem;
175
+ }
176
+
177
+ .es-fullpage-hero__content__intro__description > p {
178
+ margin: 0;
179
+ }
180
+
181
+ @media (min-width: 1200px) {
182
+ .es-fullpage-hero__content__intro__description {
183
+ font-size: 1.4rem;
184
+ }
185
+ }
186
+
187
+ .es-call-to-action__link {
188
+ justify-self: flex-start;
189
+ border-radius: 0.25rem;
190
+ font-size: 0.875rem;
191
+ line-height: 1.3;
192
+ padding: 1rem 2.625rem;
193
+ transition: background-color 100ms linear;
194
+ background-color: #16745f;
195
+ color: #fff;
196
+ }
197
+
198
+ .es-call-to-action__link:hover {
199
+ background-color: #0d5e4c;
200
+ }
201
+ `}
202
+ </style>
203
+ </section>
204
+ );
205
+ };
206
+
207
+ export default PascalNameToReplace;