@slicemachine/adapter-nuxt 0.3.18-dev-next-release.6 → 0.3.18-dev-slice-templates-svelte-nuxt.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/AlternateGrid/javascript.vue +228 -0
  2. package/dist/AlternateGrid/screenshot-default.png +0 -0
  3. package/dist/AlternateGrid/screenshot-imageRight.png +0 -0
  4. package/dist/AlternateGrid/typescript.vue +235 -0
  5. package/dist/CustomerLogos/javascript.vue +117 -0
  6. package/dist/CustomerLogos/screenshot-default.png +0 -0
  7. package/dist/CustomerLogos/typescript.vue +124 -0
  8. package/dist/plugin.cjs +4 -1
  9. package/dist/plugin.cjs.map +1 -1
  10. package/dist/plugin.js +4 -1
  11. package/dist/plugin.js.map +1 -1
  12. package/dist/sliceTemplates/AlternateGrid/index.cjs +436 -0
  13. package/dist/sliceTemplates/AlternateGrid/index.cjs.map +1 -0
  14. package/dist/sliceTemplates/AlternateGrid/index.d.ts +8 -0
  15. package/dist/sliceTemplates/AlternateGrid/index.js +436 -0
  16. package/dist/sliceTemplates/AlternateGrid/index.js.map +1 -0
  17. package/dist/sliceTemplates/CallToAction/index.cjs +264 -0
  18. package/dist/sliceTemplates/CallToAction/index.cjs.map +1 -0
  19. package/dist/sliceTemplates/CallToAction/index.d.ts +8 -0
  20. package/dist/sliceTemplates/CallToAction/index.js +264 -0
  21. package/dist/sliceTemplates/CallToAction/index.js.map +1 -0
  22. package/dist/sliceTemplates/CustomerLogos/index.cjs +314 -0
  23. package/dist/sliceTemplates/CustomerLogos/index.cjs.map +1 -0
  24. package/dist/sliceTemplates/CustomerLogos/index.d.ts +7 -0
  25. package/dist/sliceTemplates/CustomerLogos/index.js +314 -0
  26. package/dist/sliceTemplates/CustomerLogos/index.js.map +1 -0
  27. package/package.json +3 -3
  28. package/src/plugin.ts +4 -1
  29. package/src/sliceTemplates/AlternateGrid/index.ts +441 -0
  30. package/src/sliceTemplates/CallToAction/index.ts +265 -0
  31. package/src/sliceTemplates/CustomerLogos/index.ts +313 -0
@@ -0,0 +1,228 @@
1
+ <script setup>
2
+ import { isFilled } from "@prismicio/client";
3
+
4
+ defineProps(getSliceComponentProps(["slice", "index", "slices", "context"]));
5
+ </script>
6
+
7
+ <template>
8
+ <section
9
+ :data-slice-type="slice.slice_type"
10
+ :data-slice-variation="slice.variation"
11
+ class="es-bounded es-alternate-grid"
12
+ >
13
+ <div
14
+ :class="[
15
+ 'es-bounded__content',
16
+ 'es-alternate-grid__content',
17
+ isFilled.image(slice.primary.image)
18
+ ? 'es-alternate-grid__content--with-image'
19
+ : '',
20
+ ]"
21
+ >
22
+ <PrismicImage
23
+ v-if="isFilled.image(slice.primary.image)"
24
+ :field="slice.primary.image"
25
+ :class="imageClass"
26
+ />
27
+ <div class="es-alternate-grid__primary-content">
28
+ <div
29
+ v-if="isFilled.keyText(slice.primary.eyebrowHeadline)"
30
+ class="es-alternate-grid__primary-content__intro__eyebrow"
31
+ >
32
+ {{ slice.primary.eyebrowHeadline }}
33
+ </div>
34
+ <PrismicRichText
35
+ v-if="isFilled.richText(slice.primary.title)"
36
+ :field="slice.primary.title"
37
+ class="es-alternate-grid__primary-content__intro__headline"
38
+ />
39
+ <PrismicRichText
40
+ v-if="isFilled.richText(slice.primary.description)"
41
+ :field="slice.primary.description"
42
+ class="es-alternate-grid__primary-content__intro__description"
43
+ />
44
+ <div
45
+ v-if="slice.items && slice.items.length"
46
+ class="es-alternate-grid__primary-content__items"
47
+ >
48
+ <div
49
+ v-for="(item, i) in slice.items"
50
+ :key="i"
51
+ class="es-alternate-grid__item"
52
+ >
53
+ <PrismicRichText
54
+ v-if="isFilled.richText(item.title)"
55
+ :field="item.title"
56
+ class="es-alternate-grid__item__heading"
57
+ />
58
+ <PrismicRichText
59
+ v-if="isFilled.richText(item.description)"
60
+ :field="item.description"
61
+ class="es-alternate-grid__item__description"
62
+ />
63
+ </div>
64
+ </div>
65
+ </div>
66
+ </div>
67
+ </section>
68
+ </template>
69
+
70
+ <style>
71
+ .es-bounded {
72
+ margin: 0px;
73
+ min-width: 0px;
74
+ position: relative;
75
+ padding: 8vw 1.25rem;
76
+ }
77
+
78
+ .es-bounded__content {
79
+ min-width: 0px;
80
+ max-width: 90%;
81
+ margin: 0px auto;
82
+ }
83
+
84
+ .es-alternate-grid {
85
+ font-family: system-ui, sans-serif;
86
+ background-color: #fff;
87
+ color: #333;
88
+ }
89
+
90
+ .es-alternate-grid__content {
91
+ display: grid;
92
+ gap: 1.5rem;
93
+ grid-auto-flow: dense;
94
+ }
95
+
96
+ @media (min-width: 640px) {
97
+ .es-alternate-grid__content--with-image {
98
+ grid-template-columns: repeat(2, 1fr);
99
+ }
100
+ }
101
+
102
+ @media (min-width: 1200px) {
103
+ .es-alternate-grid__content--with-image {
104
+ grid-template-columns: repeat(2, 1fr);
105
+ }
106
+ }
107
+
108
+ .es-alternate-grid__image {
109
+ width: auto;
110
+ height: auto;
111
+ max-width: 100%;
112
+ align-self: center;
113
+ }
114
+
115
+ .es-alternate-grid__image--left {
116
+ order: 1;
117
+ }
118
+
119
+ .es-alternate-grid__image--left + div {
120
+ order: 2;
121
+ }
122
+
123
+ .es-alternate-grid__image--right {
124
+ order: 2;
125
+ }
126
+
127
+ .es-alternate-grid__image--right + div {
128
+ order: 1;
129
+ }
130
+
131
+ .es-alternate-grid__primary-content {
132
+ display: grid;
133
+ gap: 2rem;
134
+ }
135
+
136
+ .es-alternate-grid__primary-content__intro {
137
+ display: grid;
138
+ gap: 0.5rem;
139
+ }
140
+
141
+ .es-alternate-grid__primary-content__intro__eyebrow {
142
+ color: #8592e0;
143
+ font-size: 1.15rem;
144
+ font-weight: 500;
145
+ margin: 0;
146
+ }
147
+
148
+ .es-alternate-grid__primary-content__intro__headline {
149
+ font-size: 1.625rem;
150
+ font-weight: 700;
151
+ }
152
+
153
+ .es-alternate-grid__primary-content__intro__headline > * {
154
+ margin: 0;
155
+ }
156
+
157
+ @media (min-width: 640px) {
158
+ .es-alternate-grid__primary-content__intro__headline {
159
+ font-size: 2rem;
160
+ }
161
+ }
162
+
163
+ @media (min-width: 1024px) {
164
+ .es-alternate-grid__primary-content__intro__headline {
165
+ font-size: 2.5rem;
166
+ }
167
+ }
168
+
169
+ @media (min-width: 1200px) {
170
+ .es-alternate-grid__primary-content__intro__headline {
171
+ font-size: 2.75rem;
172
+ }
173
+ }
174
+
175
+ .es-alternate-grid__primary-content__intro__description {
176
+ font-size: 1.15rem;
177
+ max-width: 38rem;
178
+ }
179
+
180
+ .es-alternate-grid__primary-content__intro__description > p {
181
+ margin: 0;
182
+ }
183
+
184
+ @media (min-width: 1200px) {
185
+ .es-alternate-grid__primary-content__intro__description {
186
+ font-size: 1.4rem;
187
+ }
188
+ }
189
+
190
+ .es-alternate-grid__primary-content__items {
191
+ display: grid;
192
+ gap: 2rem;
193
+ }
194
+
195
+ @media (min-width: 640px) {
196
+ .es-alternate-grid__primary-content__items {
197
+ grid-template-columns: repeat(2, 1fr);
198
+ }
199
+ }
200
+
201
+ .es-alternate-grid__item {
202
+ display: grid;
203
+ align-content: start;
204
+ }
205
+
206
+ .es-alternate-grid__item__icon {
207
+ max-height: 3rem;
208
+ }
209
+
210
+ .es-alternate-grid__item__heading {
211
+ font-weight: 700;
212
+ font-size: 1.17rem;
213
+ margin-top: 0;
214
+ margin-bottom: 0.5rem;
215
+ }
216
+
217
+ .es-alternate-grid__item__heading > * {
218
+ margin: 0;
219
+ }
220
+
221
+ .es-alternate-grid__item__description {
222
+ font-size: 0.9rem;
223
+ }
224
+
225
+ .es-alternate-grid__item__description > * {
226
+ margin: 0;
227
+ }
228
+ </style>
@@ -0,0 +1,235 @@
1
+ <script setup lang="ts">
2
+ import { Content, isFilled } from "@prismicio/client";
3
+
4
+ defineProps(
5
+ getSliceComponentProps<Content.PascalNameToReplaceSlice>([
6
+ "slice",
7
+ "index",
8
+ "slices",
9
+ "context",
10
+ ]),
11
+ );
12
+ </script>
13
+
14
+ <template>
15
+ <section
16
+ :data-slice-type="slice.slice_type"
17
+ :data-slice-variation="slice.variation"
18
+ class="es-bounded es-alternate-grid"
19
+ >
20
+ <div
21
+ :class="[
22
+ 'es-bounded__content',
23
+ 'es-alternate-grid__content',
24
+ isFilled.image(slice.primary.image)
25
+ ? 'es-alternate-grid__content--with-image'
26
+ : '',
27
+ ]"
28
+ >
29
+ <PrismicImage
30
+ v-if="isFilled.image(slice.primary.image)"
31
+ :field="slice.primary.image"
32
+ :class="imageClass"
33
+ />
34
+ <div class="es-alternate-grid__primary-content">
35
+ <div
36
+ v-if="isFilled.keyText(slice.primary.eyebrowHeadline)"
37
+ class="es-alternate-grid__primary-content__intro__eyebrow"
38
+ >
39
+ {{ slice.primary.eyebrowHeadline }}
40
+ </div>
41
+ <PrismicRichText
42
+ v-if="isFilled.richText(slice.primary.title)"
43
+ :field="slice.primary.title"
44
+ class="es-alternate-grid__primary-content__intro__headline"
45
+ />
46
+ <PrismicRichText
47
+ v-if="isFilled.richText(slice.primary.description)"
48
+ :field="slice.primary.description"
49
+ class="es-alternate-grid__primary-content__intro__description"
50
+ />
51
+ <div
52
+ v-if="slice.items && slice.items.length"
53
+ class="es-alternate-grid__primary-content__items"
54
+ >
55
+ <div
56
+ v-for="(item, i) in slice.items"
57
+ :key="i"
58
+ class="es-alternate-grid__item"
59
+ >
60
+ <PrismicRichText
61
+ v-if="isFilled.richText(item.title)"
62
+ :field="item.title"
63
+ class="es-alternate-grid__item__heading"
64
+ />
65
+ <PrismicRichText
66
+ v-if="isFilled.richText(item.description)"
67
+ :field="item.description"
68
+ class="es-alternate-grid__item__description"
69
+ />
70
+ </div>
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </section>
75
+ </template>
76
+
77
+ <style>
78
+ .es-bounded {
79
+ margin: 0px;
80
+ min-width: 0px;
81
+ position: relative;
82
+ padding: 8vw 1.25rem;
83
+ }
84
+
85
+ .es-bounded__content {
86
+ min-width: 0px;
87
+ max-width: 90%;
88
+ margin: 0px auto;
89
+ }
90
+
91
+ .es-alternate-grid {
92
+ font-family: system-ui, sans-serif;
93
+ background-color: #fff;
94
+ color: #333;
95
+ }
96
+
97
+ .es-alternate-grid__content {
98
+ display: grid;
99
+ gap: 1.5rem;
100
+ grid-auto-flow: dense;
101
+ }
102
+
103
+ @media (min-width: 640px) {
104
+ .es-alternate-grid__content--with-image {
105
+ grid-template-columns: repeat(2, 1fr);
106
+ }
107
+ }
108
+
109
+ @media (min-width: 1200px) {
110
+ .es-alternate-grid__content--with-image {
111
+ grid-template-columns: repeat(2, 1fr);
112
+ }
113
+ }
114
+
115
+ .es-alternate-grid__image {
116
+ width: auto;
117
+ height: auto;
118
+ max-width: 100%;
119
+ align-self: center;
120
+ }
121
+
122
+ .es-alternate-grid__image--left {
123
+ order: 1;
124
+ }
125
+
126
+ .es-alternate-grid__image--left + div {
127
+ order: 2;
128
+ }
129
+
130
+ .es-alternate-grid__image--right {
131
+ order: 2;
132
+ }
133
+
134
+ .es-alternate-grid__image--right + div {
135
+ order: 1;
136
+ }
137
+
138
+ .es-alternate-grid__primary-content {
139
+ display: grid;
140
+ gap: 2rem;
141
+ }
142
+
143
+ .es-alternate-grid__primary-content__intro {
144
+ display: grid;
145
+ gap: 0.5rem;
146
+ }
147
+
148
+ .es-alternate-grid__primary-content__intro__eyebrow {
149
+ color: #8592e0;
150
+ font-size: 1.15rem;
151
+ font-weight: 500;
152
+ margin: 0;
153
+ }
154
+
155
+ .es-alternate-grid__primary-content__intro__headline {
156
+ font-size: 1.625rem;
157
+ font-weight: 700;
158
+ }
159
+
160
+ .es-alternate-grid__primary-content__intro__headline > * {
161
+ margin: 0;
162
+ }
163
+
164
+ @media (min-width: 640px) {
165
+ .es-alternate-grid__primary-content__intro__headline {
166
+ font-size: 2rem;
167
+ }
168
+ }
169
+
170
+ @media (min-width: 1024px) {
171
+ .es-alternate-grid__primary-content__intro__headline {
172
+ font-size: 2.5rem;
173
+ }
174
+ }
175
+
176
+ @media (min-width: 1200px) {
177
+ .es-alternate-grid__primary-content__intro__headline {
178
+ font-size: 2.75rem;
179
+ }
180
+ }
181
+
182
+ .es-alternate-grid__primary-content__intro__description {
183
+ font-size: 1.15rem;
184
+ max-width: 38rem;
185
+ }
186
+
187
+ .es-alternate-grid__primary-content__intro__description > p {
188
+ margin: 0;
189
+ }
190
+
191
+ @media (min-width: 1200px) {
192
+ .es-alternate-grid__primary-content__intro__description {
193
+ font-size: 1.4rem;
194
+ }
195
+ }
196
+
197
+ .es-alternate-grid__primary-content__items {
198
+ display: grid;
199
+ gap: 2rem;
200
+ }
201
+
202
+ @media (min-width: 640px) {
203
+ .es-alternate-grid__primary-content__items {
204
+ grid-template-columns: repeat(2, 1fr);
205
+ }
206
+ }
207
+
208
+ .es-alternate-grid__item {
209
+ display: grid;
210
+ align-content: start;
211
+ }
212
+
213
+ .es-alternate-grid__item__icon {
214
+ max-height: 3rem;
215
+ }
216
+
217
+ .es-alternate-grid__item__heading {
218
+ font-weight: 700;
219
+ font-size: 1.17rem;
220
+ margin-top: 0;
221
+ margin-bottom: 0.5rem;
222
+ }
223
+
224
+ .es-alternate-grid__item__heading > * {
225
+ margin: 0;
226
+ }
227
+
228
+ .es-alternate-grid__item__description {
229
+ font-size: 0.9rem;
230
+ }
231
+
232
+ .es-alternate-grid__item__description > * {
233
+ margin: 0;
234
+ }
235
+ </style>
@@ -0,0 +1,117 @@
1
+ <script setup lang="ts">
2
+ import { isFilled } from "@prismicio/client";
3
+
4
+ defineProps(getSliceComponentProps(["slice", "index", "slices", "context"]));
5
+ </script>
6
+
7
+ <template>
8
+ <section
9
+ :data-slice-type="slice.slice_type"
10
+ :data-slice-variation="slice.variation"
11
+ class="es-bounded es-customer-logos"
12
+ >
13
+ <div class="es-bounded__content es-customer-logos__content">
14
+ <h2
15
+ v-if="isFilled.richText(slice.primary.eyebrowHeadline)"
16
+ class="es-customer-logos__heading"
17
+ >
18
+ {{ slice.primary.eyebrowHeadline }}
19
+ </h2>
20
+ <ul v-if="slice.items.length > 0" class="es-customer-logos__logos">
21
+ <li
22
+ v-for="item in slice.items"
23
+ :key="item.image.url"
24
+ v-if="isFilled.image(item.image)"
25
+ class="es-customer-logos__logo"
26
+ >
27
+ <NuxtLink :to="item.link" class="es-customer-logos__link">
28
+ <img
29
+ :src="item.image.url"
30
+ :alt="item.image.alt"
31
+ :height="26"
32
+ :width="160"
33
+ class="es-customer-logos__logo__link__image"
34
+ />
35
+ </NuxtLink>
36
+ </li>
37
+ </ul>
38
+ <NuxtLink
39
+ :to="slice.primary.callToActionLink"
40
+ class="es-customer-logos__button"
41
+ >
42
+ {{ slice.primary.callToActionLabel || "Learn more..." }}
43
+ </NuxtLink>
44
+ </div>
45
+ </section>
46
+ </template>
47
+
48
+ <style scoped>
49
+ .es-bounded {
50
+ margin: 0px;
51
+ min-width: 0px;
52
+ position: relative;
53
+ padding: 8vw 1.25rem;
54
+ }
55
+
56
+ .es-bounded__content {
57
+ min-width: 0px;
58
+ max-width: 90%;
59
+ margin: 0px auto;
60
+ font-family: system-ui, sans-serif;
61
+ }
62
+
63
+ .es-customer-logos {
64
+ background-color: #f4f0ec;
65
+ color: #333;
66
+ }
67
+
68
+ .es-customer-logos__content {
69
+ display: grid;
70
+ gap: 2rem;
71
+ justify-items: center;
72
+ }
73
+
74
+ .es-customer-logos__heading {
75
+ color: #8592e0;
76
+ font-size: 1.5rem;
77
+ font-weight: 500;
78
+ text-align: center;
79
+ }
80
+
81
+ .es-customer-logos__logos {
82
+ display: grid;
83
+ grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
84
+ grid-column-gap: 1.25rem;
85
+ grid-row-gap: 2rem;
86
+ align-items: center;
87
+ list-style-type: none;
88
+ width: 100%;
89
+ }
90
+
91
+ @media (min-width: 1200px) {
92
+ .es-customer-logos__logos {
93
+ margin-left: -3rem;
94
+ }
95
+ }
96
+
97
+ .es-customer-logos__logo {
98
+ margin: 0;
99
+ display: flex;
100
+ justify-content: center;
101
+ }
102
+
103
+ @media (min-width: 1200px) {
104
+ .es-customer-logos__logo {
105
+ margin-left: 3rem;
106
+ }
107
+ }
108
+
109
+ .es-customer-logos__logo__link__image {
110
+ max-width: 10rem;
111
+ }
112
+
113
+ .es-customer-logos__button {
114
+ justify-self: center;
115
+ text-decoration: underline;
116
+ }
117
+ </style>
@@ -0,0 +1,124 @@
1
+ <script setup lang="ts">
2
+ import { Content, isFilled } from "@prismicio/client";
3
+
4
+ defineProps(
5
+ getSliceComponentProps<Content.PascalNameToReplaceSlice>([
6
+ "slice",
7
+ "index",
8
+ "slices",
9
+ "context",
10
+ ]),
11
+ );
12
+ </script>
13
+
14
+ <template>
15
+ <section
16
+ :data-slice-type="slice.slice_type"
17
+ :data-slice-variation="slice.variation"
18
+ class="es-bounded es-customer-logos"
19
+ >
20
+ <div class="es-bounded__content es-customer-logos__content">
21
+ <h2
22
+ v-if="isFilled.richText(slice.primary.eyebrowHeadline)"
23
+ class="es-customer-logos__heading"
24
+ >
25
+ {{ slice.primary.eyebrowHeadline }}
26
+ </h2>
27
+ <ul v-if="slice.items.length > 0" class="es-customer-logos__logos">
28
+ <li
29
+ v-for="item in slice.items"
30
+ :key="item.image.url"
31
+ v-if="isFilled.image(item.image)"
32
+ class="es-customer-logos__logo"
33
+ >
34
+ <NuxtLink :to="item.link" class="es-customer-logos__link">
35
+ <img
36
+ :src="item.image.url"
37
+ :alt="item.image.alt"
38
+ :height="26"
39
+ :width="160"
40
+ class="es-customer-logos__logo__link__image"
41
+ />
42
+ </NuxtLink>
43
+ </li>
44
+ </ul>
45
+ <NuxtLink
46
+ :to="slice.primary.callToActionLink"
47
+ class="es-customer-logos__button"
48
+ >
49
+ {{ slice.primary.callToActionLabel || "Learn more..." }}
50
+ </NuxtLink>
51
+ </div>
52
+ </section>
53
+ </template>
54
+
55
+ <style scoped>
56
+ .es-bounded {
57
+ margin: 0px;
58
+ min-width: 0px;
59
+ position: relative;
60
+ padding: 8vw 1.25rem;
61
+ }
62
+
63
+ .es-bounded__content {
64
+ min-width: 0px;
65
+ max-width: 90%;
66
+ margin: 0px auto;
67
+ font-family: system-ui, sans-serif;
68
+ }
69
+
70
+ .es-customer-logos {
71
+ background-color: #f4f0ec;
72
+ color: #333;
73
+ }
74
+
75
+ .es-customer-logos__content {
76
+ display: grid;
77
+ gap: 2rem;
78
+ justify-items: center;
79
+ }
80
+
81
+ .es-customer-logos__heading {
82
+ color: #8592e0;
83
+ font-size: 1.5rem;
84
+ font-weight: 500;
85
+ text-align: center;
86
+ }
87
+
88
+ .es-customer-logos__logos {
89
+ display: grid;
90
+ grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
91
+ grid-column-gap: 1.25rem;
92
+ grid-row-gap: 2rem;
93
+ align-items: center;
94
+ list-style-type: none;
95
+ width: 100%;
96
+ }
97
+
98
+ @media (min-width: 1200px) {
99
+ .es-customer-logos__logos {
100
+ margin-left: -3rem;
101
+ }
102
+ }
103
+
104
+ .es-customer-logos__logo {
105
+ margin: 0;
106
+ display: flex;
107
+ justify-content: center;
108
+ }
109
+
110
+ @media (min-width: 1200px) {
111
+ .es-customer-logos__logo {
112
+ margin-left: 3rem;
113
+ }
114
+ }
115
+
116
+ .es-customer-logos__logo__link__image {
117
+ max-width: 10rem;
118
+ }
119
+
120
+ .es-customer-logos__button {
121
+ justify-self: center;
122
+ text-decoration: underline;
123
+ }
124
+ </style>