@runwell/shopify-toolkit 0.17.4 → 0.18.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.
- package/bin/runwell-shopify +4 -1
- package/lib/list.js +120 -0
- package/modules/INDEX.md +52 -19
- package/modules/_shared/css-tokens/assets/runwell-tokens.css +24 -4
- package/modules/_shared/css-tokens/module.json +2 -2
- package/modules/_shared/css-typography/assets/runwell-typography.css +14 -6
- package/modules/_shared/css-typography/module.json +2 -2
- package/modules/care-coaching-medvi/README.md +46 -0
- package/modules/care-coaching-medvi/assets/runwell-care-coaching-medvi.css +241 -0
- package/modules/care-coaching-medvi/module.json +80 -0
- package/modules/care-coaching-medvi/sections/runwell-care-coaching-medvi.liquid +274 -0
- package/modules/care-coaching-medvi/snippets/runwell-care-coaching-medvi-circular-text.liquid +25 -0
- package/modules/collection-block-medvi/README.md +50 -0
- package/modules/collection-block-medvi/assets/runwell-collection-block-medvi.css +242 -0
- package/modules/collection-block-medvi/module.json +83 -0
- package/modules/collection-block-medvi/sections/runwell-collection-block-medvi.liquid +355 -0
- package/modules/product-trio-medvi/README.md +35 -0
- package/modules/product-trio-medvi/assets/runwell-product-trio-medvi.css +119 -0
- package/modules/product-trio-medvi/module.json +48 -0
- package/modules/product-trio-medvi/sections/runwell-product-trio-medvi.liquid +188 -0
- package/modules/testimonials-medvi/README.md +44 -0
- package/modules/testimonials-medvi/assets/runwell-testimonials-medvi.css +239 -0
- package/modules/testimonials-medvi/module.json +68 -0
- package/modules/testimonials-medvi/sections/runwell-testimonials-medvi.liquid +355 -0
- package/package.json +2 -2
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
/* Runwell collection-block-medvi.
|
|
2
|
+
|
|
3
|
+
Duplex category section. Product side on one side; copy + photos
|
|
4
|
+
on the other. Sides flip via .runwell-collection-block-medvi--image-right.
|
|
5
|
+
|
|
6
|
+
Brand tokens: --runwell-primary, --runwell-oat, --runwell-celadon, etc.
|
|
7
|
+
Design tokens: --runwell-radius-lg/xl, --runwell-shadow-card.
|
|
8
|
+
Typography: --runwell-eyebrow-size, --runwell-h2-size, etc.
|
|
9
|
+
|
|
10
|
+
Mobile-first: stack vertical below 768px, side-by-side above.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
.runwell-collection-block-medvi {
|
|
14
|
+
padding: clamp(3rem, 8vw, 7rem) clamp(1.5rem, 4vw, 4rem);
|
|
15
|
+
font-family: var(--font-body-family, inherit);
|
|
16
|
+
color: var(--runwell-tertiary, #0B3D38);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.runwell-collection-block-medvi--bg-white {
|
|
20
|
+
background: #ffffff;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.runwell-collection-block-medvi--bg-oat {
|
|
24
|
+
background: var(--runwell-oat, #F5F0EE);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.runwell-collection-block-medvi--bg-celadon-tint {
|
|
28
|
+
background: color-mix(in srgb, var(--runwell-celadon, #ADDDBD) 18%, white);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.runwell-collection-block-medvi__inner {
|
|
32
|
+
display: grid;
|
|
33
|
+
grid-template-columns: 1fr;
|
|
34
|
+
gap: clamp(2rem, 4vw, 4rem);
|
|
35
|
+
max-width: 1280px;
|
|
36
|
+
margin: 0 auto;
|
|
37
|
+
align-items: start;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@media (min-width: 768px) {
|
|
41
|
+
.runwell-collection-block-medvi__inner {
|
|
42
|
+
grid-template-columns: 1fr 1fr;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.runwell-collection-block-medvi--image-right .runwell-collection-block-medvi__inner {
|
|
46
|
+
direction: rtl;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.runwell-collection-block-medvi--image-right .runwell-collection-block-medvi__inner > * {
|
|
50
|
+
direction: ltr;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* ----- Product side ----- */
|
|
55
|
+
|
|
56
|
+
.runwell-collection-block-medvi__product-side {
|
|
57
|
+
display: flex;
|
|
58
|
+
flex-direction: column;
|
|
59
|
+
gap: clamp(1.5rem, 3vw, 2.5rem);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.runwell-collection-block-medvi__product-card {
|
|
63
|
+
display: flex;
|
|
64
|
+
align-items: center;
|
|
65
|
+
justify-content: center;
|
|
66
|
+
border-radius: var(--runwell-radius-xl, 32px);
|
|
67
|
+
padding: clamp(1.5rem, 4vw, 3rem);
|
|
68
|
+
box-shadow: var(--runwell-shadow-card, 0 2px 8px rgba(0,0,0,0.04));
|
|
69
|
+
aspect-ratio: 4 / 3;
|
|
70
|
+
overflow: hidden;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.runwell-collection-block-medvi__product-image {
|
|
74
|
+
max-width: 90%;
|
|
75
|
+
max-height: 100%;
|
|
76
|
+
height: auto;
|
|
77
|
+
object-fit: contain;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/* ----- Benefits list ----- */
|
|
81
|
+
|
|
82
|
+
.runwell-collection-block-medvi__benefits {
|
|
83
|
+
display: flex;
|
|
84
|
+
flex-direction: column;
|
|
85
|
+
gap: 1rem;
|
|
86
|
+
padding: 0 clamp(0.5rem, 2vw, 1.5rem);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.runwell-collection-block-medvi__benefits-heading {
|
|
90
|
+
font-family: var(--font-heading-family, inherit);
|
|
91
|
+
font-size: var(--runwell-h4-size, 1.7rem);
|
|
92
|
+
font-weight: 600;
|
|
93
|
+
margin: 0;
|
|
94
|
+
line-height: 1.3;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.runwell-collection-block-medvi__benefits-list {
|
|
98
|
+
list-style: none;
|
|
99
|
+
margin: 0;
|
|
100
|
+
padding: 0;
|
|
101
|
+
display: flex;
|
|
102
|
+
flex-direction: column;
|
|
103
|
+
gap: 0.75rem;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.runwell-collection-block-medvi__benefit {
|
|
107
|
+
display: flex;
|
|
108
|
+
align-items: center;
|
|
109
|
+
gap: 0.85rem;
|
|
110
|
+
font-size: var(--runwell-body-size, 1.6rem);
|
|
111
|
+
line-height: 1.5;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.runwell-collection-block-medvi__check {
|
|
115
|
+
display: inline-flex;
|
|
116
|
+
align-items: center;
|
|
117
|
+
justify-content: center;
|
|
118
|
+
flex: 0 0 auto;
|
|
119
|
+
width: 1.6em;
|
|
120
|
+
height: 1.6em;
|
|
121
|
+
border-radius: 50%;
|
|
122
|
+
background: var(--runwell-primary, #0B3D38);
|
|
123
|
+
color: #ffffff;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.runwell-collection-block-medvi__check svg {
|
|
127
|
+
display: block;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.runwell-collection-block-medvi__benefit-text {
|
|
131
|
+
flex: 1 1 auto;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/* ----- Copy side ----- */
|
|
135
|
+
|
|
136
|
+
.runwell-collection-block-medvi__copy-side {
|
|
137
|
+
display: flex;
|
|
138
|
+
flex-direction: column;
|
|
139
|
+
gap: clamp(1rem, 2vw, 1.5rem);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.runwell-collection-block-medvi__eyebrow {
|
|
143
|
+
font-size: var(--runwell-eyebrow-size, 0.78rem);
|
|
144
|
+
letter-spacing: 0.12em;
|
|
145
|
+
text-transform: uppercase;
|
|
146
|
+
font-weight: 600;
|
|
147
|
+
margin: 0;
|
|
148
|
+
color: var(--runwell-primary, #0B3D38);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.runwell-collection-block-medvi__headline {
|
|
152
|
+
font-family: var(--font-heading-family, inherit);
|
|
153
|
+
font-size: var(--runwell-h2-size, clamp(3rem, 5vw, 4.8rem));
|
|
154
|
+
font-weight: 700;
|
|
155
|
+
line-height: 1.05;
|
|
156
|
+
margin: 0;
|
|
157
|
+
letter-spacing: -0.01em;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.runwell-collection-block-medvi__headline-part {
|
|
161
|
+
display: inline;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.runwell-collection-block-medvi__headline-accent {
|
|
165
|
+
/* color set inline via section settings (per-instance accent) */
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.runwell-collection-block-medvi__photos {
|
|
169
|
+
display: grid;
|
|
170
|
+
grid-template-columns: 1fr 1fr;
|
|
171
|
+
gap: clamp(0.75rem, 2vw, 1.25rem);
|
|
172
|
+
margin: clamp(0.5rem, 1.5vw, 1rem) 0;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.runwell-collection-block-medvi__photo {
|
|
176
|
+
margin: 0;
|
|
177
|
+
border-radius: var(--runwell-radius-lg, 20px);
|
|
178
|
+
overflow: hidden;
|
|
179
|
+
aspect-ratio: 3 / 4;
|
|
180
|
+
background: var(--runwell-oat, #F5F0EE);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.runwell-collection-block-medvi__photo img {
|
|
184
|
+
display: block;
|
|
185
|
+
width: 100%;
|
|
186
|
+
height: 100%;
|
|
187
|
+
object-fit: cover;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.runwell-collection-block-medvi__subhead {
|
|
191
|
+
font-family: var(--font-heading-family, inherit);
|
|
192
|
+
font-size: var(--runwell-h4-size, 1.7rem);
|
|
193
|
+
font-weight: 600;
|
|
194
|
+
line-height: 1.3;
|
|
195
|
+
margin: 0;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.runwell-collection-block-medvi__body {
|
|
199
|
+
font-size: var(--runwell-body-size, 1.6rem);
|
|
200
|
+
line-height: 1.6;
|
|
201
|
+
opacity: 0.85;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.runwell-collection-block-medvi__body p {
|
|
205
|
+
margin: 0 0 0.5em;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.runwell-collection-block-medvi__body p:last-child {
|
|
209
|
+
margin-bottom: 0;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.runwell-collection-block-medvi__cta {
|
|
213
|
+
display: inline-flex;
|
|
214
|
+
align-items: center;
|
|
215
|
+
justify-content: center;
|
|
216
|
+
align-self: flex-start;
|
|
217
|
+
margin-top: 0.5rem;
|
|
218
|
+
padding: 0.85em 1.6em;
|
|
219
|
+
border-radius: 999px;
|
|
220
|
+
background: var(--runwell-primary, #0B3D38);
|
|
221
|
+
color: #ffffff;
|
|
222
|
+
font-size: var(--runwell-cta-size, 1.15rem);
|
|
223
|
+
font-weight: 600;
|
|
224
|
+
text-decoration: none;
|
|
225
|
+
transition: opacity 200ms ease, transform 200ms ease;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
.runwell-collection-block-medvi__cta:hover,
|
|
229
|
+
.runwell-collection-block-medvi__cta:focus {
|
|
230
|
+
opacity: 0.9;
|
|
231
|
+
transform: translateY(-1px);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
@media (prefers-reduced-motion: reduce) {
|
|
235
|
+
.runwell-collection-block-medvi__cta {
|
|
236
|
+
transition: none;
|
|
237
|
+
}
|
|
238
|
+
.runwell-collection-block-medvi__cta:hover,
|
|
239
|
+
.runwell-collection-block-medvi__cta:focus {
|
|
240
|
+
transform: none;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "collection-block-medvi",
|
|
3
|
+
"version": "0.1.4",
|
|
4
|
+
"category": "storefront",
|
|
5
|
+
"source": "medvi",
|
|
6
|
+
"base": "collection-block",
|
|
7
|
+
"qualifier": null,
|
|
8
|
+
"description": "Duplex category section: product hero card on one side; eyebrow + split-color headline + benefits checklist + 2 lifestyle photos + CTA on the other. Sides flip per instance.",
|
|
9
|
+
"replaces": null,
|
|
10
|
+
"files": {
|
|
11
|
+
"sections": [
|
|
12
|
+
"sections/runwell-collection-block-medvi.liquid"
|
|
13
|
+
],
|
|
14
|
+
"snippets": [],
|
|
15
|
+
"assets": [
|
|
16
|
+
"assets/runwell-collection-block-medvi.css"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
"config": {
|
|
20
|
+
"schema": {
|
|
21
|
+
"eyebrow": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"default": "PURPOSE-DRIVEN SUPPLEMENTATION",
|
|
24
|
+
"label": "Eyebrow (small caps tracked)"
|
|
25
|
+
},
|
|
26
|
+
"headline_pre": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"default": "Supplements with the",
|
|
29
|
+
"label": "Headline (first half)"
|
|
30
|
+
},
|
|
31
|
+
"headline_post": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"default": "power to boost real results",
|
|
34
|
+
"label": "Headline (accent half)"
|
|
35
|
+
},
|
|
36
|
+
"headline_accent_color": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"default": "{{brand.primary}}",
|
|
39
|
+
"label": "Accent color for headline_post"
|
|
40
|
+
},
|
|
41
|
+
"show_product_card": {
|
|
42
|
+
"type": "boolean",
|
|
43
|
+
"default": true,
|
|
44
|
+
"label": "Show product hero card"
|
|
45
|
+
},
|
|
46
|
+
"product_card_bg": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"default": "{{brand.celadon}}",
|
|
49
|
+
"label": "Product card background tint"
|
|
50
|
+
},
|
|
51
|
+
"benefits_heading": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"default": "What better support looks like",
|
|
54
|
+
"label": "Benefits heading"
|
|
55
|
+
},
|
|
56
|
+
"subhead": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"default": "Support that helps you feel better over time",
|
|
59
|
+
"label": "Sub-headline"
|
|
60
|
+
},
|
|
61
|
+
"cta_label": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"default": "Shop the collection",
|
|
64
|
+
"label": "CTA button label"
|
|
65
|
+
},
|
|
66
|
+
"layout": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"default": "image-left",
|
|
69
|
+
"label": "Layout: image-left or image-right"
|
|
70
|
+
},
|
|
71
|
+
"bg_band": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"default": "white",
|
|
74
|
+
"label": "Background band: white, oat, celadon-tint"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
"lineage": {
|
|
79
|
+
"extracted_from": "https://home.medvi.org/",
|
|
80
|
+
"scrape_path": "_clients/capital-v/lushi/research/medvi-reference/site-scrape/",
|
|
81
|
+
"framer_label": "Cards & Copy"
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
{%- comment -%}
|
|
2
|
+
Runwell collection-block-medvi.
|
|
3
|
+
|
|
4
|
+
Duplex category section adapted from medvi.org. One side: product hero
|
|
5
|
+
card on a tinted background, with a benefits checklist below. Other side:
|
|
6
|
+
eyebrow + split-color headline + 2 lifestyle photos + sub + body + CTA.
|
|
7
|
+
Sides flip per instance via the `layout` setting.
|
|
8
|
+
|
|
9
|
+
Lineage: extracted from home.medvi.org (Framer label "Cards & Copy"),
|
|
10
|
+
generalised to Runwell brand tokens. See module README for details.
|
|
11
|
+
{%- endcomment -%}
|
|
12
|
+
|
|
13
|
+
{{ 'runwell-collection-block-medvi.css' | asset_url | stylesheet_tag }}
|
|
14
|
+
|
|
15
|
+
{%- liquid
|
|
16
|
+
assign layout = section.settings.layout | default: 'image-left'
|
|
17
|
+
assign bg_band = section.settings.bg_band | default: 'white'
|
|
18
|
+
assign accent_color = section.settings.headline_accent_color | default: 'var(--runwell-primary)'
|
|
19
|
+
assign product_card_bg = section.settings.product_card_bg | default: 'var(--runwell-celadon)'
|
|
20
|
+
-%}
|
|
21
|
+
|
|
22
|
+
<section
|
|
23
|
+
class="runwell-collection-block-medvi runwell-collection-block-medvi--{{ layout }} runwell-collection-block-medvi--bg-{{ bg_band }}"
|
|
24
|
+
>
|
|
25
|
+
<div class="runwell-collection-block-medvi__inner">
|
|
26
|
+
|
|
27
|
+
<div class="runwell-collection-block-medvi__product-side">
|
|
28
|
+
{%- if section.settings.show_product_card -%}
|
|
29
|
+
<div
|
|
30
|
+
class="runwell-collection-block-medvi__product-card"
|
|
31
|
+
style="background: {{ product_card_bg }};"
|
|
32
|
+
>
|
|
33
|
+
{%- if section.settings.product_image != blank -%}
|
|
34
|
+
<img
|
|
35
|
+
src="{{ section.settings.product_image | image_url: width: 800 }}"
|
|
36
|
+
alt="{{ section.settings.product_image.alt | default: section.settings.headline_pre | escape }}"
|
|
37
|
+
width="{{ section.settings.product_image.width }}"
|
|
38
|
+
height="{{ section.settings.product_image.height }}"
|
|
39
|
+
loading="lazy"
|
|
40
|
+
class="runwell-collection-block-medvi__product-image"
|
|
41
|
+
>
|
|
42
|
+
{%- elsif section.settings.product_image_asset != blank -%}
|
|
43
|
+
<img
|
|
44
|
+
src="{{ section.settings.product_image_asset | asset_url }}"
|
|
45
|
+
alt="{{ section.settings.headline_pre | escape }}"
|
|
46
|
+
width="800"
|
|
47
|
+
height="600"
|
|
48
|
+
loading="lazy"
|
|
49
|
+
class="runwell-collection-block-medvi__product-image"
|
|
50
|
+
>
|
|
51
|
+
{%- endif -%}
|
|
52
|
+
</div>
|
|
53
|
+
{%- endif -%}
|
|
54
|
+
|
|
55
|
+
{%- assign benefits_blocks = section.blocks | where: 'type', 'benefit' -%}
|
|
56
|
+
{%- if benefits_blocks.size > 0 -%}
|
|
57
|
+
<div class="runwell-collection-block-medvi__benefits">
|
|
58
|
+
{%- if section.settings.benefits_heading != blank -%}
|
|
59
|
+
<p class="runwell-collection-block-medvi__benefits-heading">
|
|
60
|
+
{{ section.settings.benefits_heading }}
|
|
61
|
+
</p>
|
|
62
|
+
{%- endif -%}
|
|
63
|
+
<ul class="runwell-collection-block-medvi__benefits-list">
|
|
64
|
+
{%- for block in benefits_blocks -%}
|
|
65
|
+
<li class="runwell-collection-block-medvi__benefit" {{ block.shopify_attributes }}>
|
|
66
|
+
<span class="runwell-collection-block-medvi__check" aria-hidden="true">
|
|
67
|
+
<svg viewBox="0 0 24 24" width="14" height="14" fill="none">
|
|
68
|
+
<path d="M5 12.5l4.5 4.5L19 7" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
69
|
+
</svg>
|
|
70
|
+
</span>
|
|
71
|
+
<span class="runwell-collection-block-medvi__benefit-text">{{ block.settings.text }}</span>
|
|
72
|
+
</li>
|
|
73
|
+
{%- endfor -%}
|
|
74
|
+
</ul>
|
|
75
|
+
</div>
|
|
76
|
+
{%- endif -%}
|
|
77
|
+
</div>
|
|
78
|
+
|
|
79
|
+
<div class="runwell-collection-block-medvi__copy-side">
|
|
80
|
+
{%- if section.settings.eyebrow != blank -%}
|
|
81
|
+
<p class="runwell-collection-block-medvi__eyebrow">{{ section.settings.eyebrow }}</p>
|
|
82
|
+
{%- endif -%}
|
|
83
|
+
|
|
84
|
+
{%- liquid
|
|
85
|
+
assign h_pre = section.settings.headline_pre
|
|
86
|
+
assign h_mid = section.settings.headline_mid
|
|
87
|
+
assign h_post = section.settings.headline_post
|
|
88
|
+
assign has_mid = false
|
|
89
|
+
if h_mid != blank
|
|
90
|
+
assign has_mid = true
|
|
91
|
+
endif
|
|
92
|
+
-%}
|
|
93
|
+
{%- if h_pre != blank or h_mid != blank or h_post != blank -%}
|
|
94
|
+
<h2 class="runwell-collection-block-medvi__headline">
|
|
95
|
+
{%- if h_pre != blank -%}
|
|
96
|
+
<span class="runwell-collection-block-medvi__headline-part runwell-collection-block-medvi__headline-pre">{{ h_pre }}</span>
|
|
97
|
+
{%- if h_mid != blank or h_post != blank -%}{{ ' ' }}{%- endif -%}
|
|
98
|
+
{%- endif -%}
|
|
99
|
+
{%- if has_mid -%}
|
|
100
|
+
<span class="runwell-collection-block-medvi__headline-part runwell-collection-block-medvi__headline-accent" style="color: {{ accent_color }};">{{ h_mid }}</span>
|
|
101
|
+
{%- if h_post != blank -%}{{ ' ' }}<span class="runwell-collection-block-medvi__headline-part runwell-collection-block-medvi__headline-post">{{ h_post }}</span>{%- endif -%}
|
|
102
|
+
{%- elsif h_post != blank -%}
|
|
103
|
+
<span class="runwell-collection-block-medvi__headline-part runwell-collection-block-medvi__headline-accent" style="color: {{ accent_color }};">{{ h_post }}</span>
|
|
104
|
+
{%- endif -%}
|
|
105
|
+
</h2>
|
|
106
|
+
{%- endif -%}
|
|
107
|
+
|
|
108
|
+
<div class="runwell-collection-block-medvi__photos">
|
|
109
|
+
{%- if section.settings.lifestyle_image_1 != blank -%}
|
|
110
|
+
<figure class="runwell-collection-block-medvi__photo">
|
|
111
|
+
<img
|
|
112
|
+
src="{{ section.settings.lifestyle_image_1 | image_url: width: 800 }}"
|
|
113
|
+
alt="{{ section.settings.lifestyle_image_1.alt | default: '' | escape }}"
|
|
114
|
+
width="{{ section.settings.lifestyle_image_1.width }}"
|
|
115
|
+
height="{{ section.settings.lifestyle_image_1.height }}"
|
|
116
|
+
loading="lazy"
|
|
117
|
+
>
|
|
118
|
+
</figure>
|
|
119
|
+
{%- elsif section.settings.lifestyle_image_1_asset != blank -%}
|
|
120
|
+
<figure class="runwell-collection-block-medvi__photo">
|
|
121
|
+
<img
|
|
122
|
+
src="{{ section.settings.lifestyle_image_1_asset | asset_url }}"
|
|
123
|
+
alt=""
|
|
124
|
+
width="800"
|
|
125
|
+
height="1000"
|
|
126
|
+
loading="lazy"
|
|
127
|
+
>
|
|
128
|
+
</figure>
|
|
129
|
+
{%- endif -%}
|
|
130
|
+
{%- if section.settings.lifestyle_image_2 != blank -%}
|
|
131
|
+
<figure class="runwell-collection-block-medvi__photo">
|
|
132
|
+
<img
|
|
133
|
+
src="{{ section.settings.lifestyle_image_2 | image_url: width: 800 }}"
|
|
134
|
+
alt="{{ section.settings.lifestyle_image_2.alt | default: '' | escape }}"
|
|
135
|
+
width="{{ section.settings.lifestyle_image_2.width }}"
|
|
136
|
+
height="{{ section.settings.lifestyle_image_2.height }}"
|
|
137
|
+
loading="lazy"
|
|
138
|
+
>
|
|
139
|
+
</figure>
|
|
140
|
+
{%- elsif section.settings.lifestyle_image_2_asset != blank -%}
|
|
141
|
+
<figure class="runwell-collection-block-medvi__photo">
|
|
142
|
+
<img
|
|
143
|
+
src="{{ section.settings.lifestyle_image_2_asset | asset_url }}"
|
|
144
|
+
alt=""
|
|
145
|
+
width="800"
|
|
146
|
+
height="1000"
|
|
147
|
+
loading="lazy"
|
|
148
|
+
>
|
|
149
|
+
</figure>
|
|
150
|
+
{%- endif -%}
|
|
151
|
+
</div>
|
|
152
|
+
|
|
153
|
+
{%- if section.settings.subhead != blank -%}
|
|
154
|
+
<p class="runwell-collection-block-medvi__subhead">{{ section.settings.subhead }}</p>
|
|
155
|
+
{%- endif -%}
|
|
156
|
+
|
|
157
|
+
{%- if section.settings.body != blank -%}
|
|
158
|
+
<div class="runwell-collection-block-medvi__body">{{ section.settings.body }}</div>
|
|
159
|
+
{%- endif -%}
|
|
160
|
+
|
|
161
|
+
{%- if section.settings.cta_label != blank -%}
|
|
162
|
+
<a
|
|
163
|
+
href="{{ section.settings.cta_link | default: '#' }}"
|
|
164
|
+
class="runwell-collection-block-medvi__cta"
|
|
165
|
+
>
|
|
166
|
+
{{ section.settings.cta_label }}
|
|
167
|
+
</a>
|
|
168
|
+
{%- endif -%}
|
|
169
|
+
</div>
|
|
170
|
+
|
|
171
|
+
</div>
|
|
172
|
+
</section>
|
|
173
|
+
|
|
174
|
+
{% schema %}
|
|
175
|
+
{
|
|
176
|
+
"name": "Collection block (medvi)",
|
|
177
|
+
"tag": "section",
|
|
178
|
+
"class": "section-runwell-collection-block-medvi",
|
|
179
|
+
"settings": [
|
|
180
|
+
{
|
|
181
|
+
"type": "header",
|
|
182
|
+
"content": "Headline"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"type": "text",
|
|
186
|
+
"id": "eyebrow",
|
|
187
|
+
"label": "Eyebrow (tracked small caps)",
|
|
188
|
+
"default": "PURPOSE-DRIVEN SUPPLEMENTATION"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"type": "text",
|
|
192
|
+
"id": "headline_pre",
|
|
193
|
+
"label": "Headline (first part, plain)",
|
|
194
|
+
"default": "Supplements with the"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"type": "text",
|
|
198
|
+
"id": "headline_mid",
|
|
199
|
+
"label": "Headline (middle part, accent)",
|
|
200
|
+
"info": "Optional. When set, this is the accent-colored part and `headline_post` renders plain after it. Leave blank for a 2-part split (pre + post-accent)."
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"type": "text",
|
|
204
|
+
"id": "headline_post",
|
|
205
|
+
"label": "Headline (third part)",
|
|
206
|
+
"info": "Plain when middle is set; accent when middle is blank.",
|
|
207
|
+
"default": "real results"
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"type": "color",
|
|
211
|
+
"id": "headline_accent_color",
|
|
212
|
+
"label": "Headline accent color",
|
|
213
|
+
"default": "#0B3D38"
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"type": "header",
|
|
217
|
+
"content": "Product hero card"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"type": "checkbox",
|
|
221
|
+
"id": "show_product_card",
|
|
222
|
+
"label": "Show product hero card",
|
|
223
|
+
"default": true
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"type": "image_picker",
|
|
227
|
+
"id": "product_image",
|
|
228
|
+
"label": "Product image (uploaded)",
|
|
229
|
+
"info": "PNG with transparent background recommended. Falls through to bundled asset filename below."
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"type": "text",
|
|
233
|
+
"id": "product_image_asset",
|
|
234
|
+
"label": "Product image (bundled asset filename)",
|
|
235
|
+
"info": "e.g. runwell-jar-hero.png"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"type": "color",
|
|
239
|
+
"id": "product_card_bg",
|
|
240
|
+
"label": "Product card background",
|
|
241
|
+
"default": "#ADDDBD"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"type": "text",
|
|
245
|
+
"id": "benefits_heading",
|
|
246
|
+
"label": "Benefits heading",
|
|
247
|
+
"default": "What better support looks like"
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"type": "header",
|
|
251
|
+
"content": "Lifestyle photos"
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"type": "image_picker",
|
|
255
|
+
"id": "lifestyle_image_1",
|
|
256
|
+
"label": "Lifestyle photo 1",
|
|
257
|
+
"info": "3:4 portrait crop recommended. Falls through to bundled asset filename below."
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"type": "text",
|
|
261
|
+
"id": "lifestyle_image_1_asset",
|
|
262
|
+
"label": "Lifestyle photo 1 (asset filename fallback)"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"type": "image_picker",
|
|
266
|
+
"id": "lifestyle_image_2",
|
|
267
|
+
"label": "Lifestyle photo 2"
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"type": "text",
|
|
271
|
+
"id": "lifestyle_image_2_asset",
|
|
272
|
+
"label": "Lifestyle photo 2 (asset filename fallback)"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"type": "header",
|
|
276
|
+
"content": "Body copy"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"type": "text",
|
|
280
|
+
"id": "subhead",
|
|
281
|
+
"label": "Sub-headline",
|
|
282
|
+
"default": "Support that helps you feel better over time"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"type": "richtext",
|
|
286
|
+
"id": "body",
|
|
287
|
+
"label": "Body",
|
|
288
|
+
"default": "<p>Doctor-designed formulas made with quality ingredients and evidence-based dosing to support your body day after day.</p>"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"type": "text",
|
|
292
|
+
"id": "cta_label",
|
|
293
|
+
"label": "CTA label",
|
|
294
|
+
"default": "Shop the collection"
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"type": "url",
|
|
298
|
+
"id": "cta_link",
|
|
299
|
+
"label": "CTA link"
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"type": "header",
|
|
303
|
+
"content": "Layout"
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"type": "select",
|
|
307
|
+
"id": "layout",
|
|
308
|
+
"label": "Layout",
|
|
309
|
+
"options": [
|
|
310
|
+
{ "value": "image-left", "label": "Product side on left" },
|
|
311
|
+
{ "value": "image-right", "label": "Product side on right" }
|
|
312
|
+
],
|
|
313
|
+
"default": "image-left"
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"type": "select",
|
|
317
|
+
"id": "bg_band",
|
|
318
|
+
"label": "Background band",
|
|
319
|
+
"options": [
|
|
320
|
+
{ "value": "white", "label": "White" },
|
|
321
|
+
{ "value": "oat", "label": "Oat" },
|
|
322
|
+
{ "value": "celadon-tint", "label": "Celadon tint" }
|
|
323
|
+
],
|
|
324
|
+
"default": "white"
|
|
325
|
+
}
|
|
326
|
+
],
|
|
327
|
+
"blocks": [
|
|
328
|
+
{
|
|
329
|
+
"type": "benefit",
|
|
330
|
+
"name": "Benefit",
|
|
331
|
+
"limit": 5,
|
|
332
|
+
"settings": [
|
|
333
|
+
{
|
|
334
|
+
"type": "text",
|
|
335
|
+
"id": "text",
|
|
336
|
+
"label": "Benefit text",
|
|
337
|
+
"default": "Clean, transparent ingredients"
|
|
338
|
+
}
|
|
339
|
+
]
|
|
340
|
+
}
|
|
341
|
+
],
|
|
342
|
+
"presets": [
|
|
343
|
+
{
|
|
344
|
+
"name": "Runwell collection-block-medvi",
|
|
345
|
+
"blocks": [
|
|
346
|
+
{ "type": "benefit", "settings": { "text": "Clean, transparent ingredients" } },
|
|
347
|
+
{ "type": "benefit", "settings": { "text": "Built to support daily health" } },
|
|
348
|
+
{ "type": "benefit", "settings": { "text": "Evidence-based dosing" } },
|
|
349
|
+
{ "type": "benefit", "settings": { "text": "Doctor-formulated blends" } },
|
|
350
|
+
{ "type": "benefit", "settings": { "text": "High-quality sourcing" } }
|
|
351
|
+
]
|
|
352
|
+
}
|
|
353
|
+
]
|
|
354
|
+
}
|
|
355
|
+
{% endschema %}
|