@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,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "testimonials-medvi",
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"category": "social-proof",
|
|
5
|
+
"source": "medvi",
|
|
6
|
+
"base": "testimonials",
|
|
7
|
+
"qualifier": null,
|
|
8
|
+
"description": "Two horizontal marquee rows of testimonial cards. Cards are landscape (16:9), ~400px wide. Photos and quote cards are auto-split across two rows; row 2 scrolls in reverse for visual rhythm. Pauses on hover or focus; stops on prefers-reduced-motion.",
|
|
9
|
+
"replaces": null,
|
|
10
|
+
"files": {
|
|
11
|
+
"sections": [
|
|
12
|
+
"sections/runwell-testimonials-medvi.liquid"
|
|
13
|
+
],
|
|
14
|
+
"snippets": [],
|
|
15
|
+
"assets": [
|
|
16
|
+
"assets/runwell-testimonials-medvi.css"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
"config": {
|
|
20
|
+
"schema": {
|
|
21
|
+
"section_eyebrow": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"default": "THOSE WHO CHOSE US",
|
|
24
|
+
"label": "Section eyebrow"
|
|
25
|
+
},
|
|
26
|
+
"headline_pre": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"default": "There's a reason people are",
|
|
29
|
+
"label": "Headline first part"
|
|
30
|
+
},
|
|
31
|
+
"headline_post": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"default": "raving about us.",
|
|
34
|
+
"label": "Headline accent part"
|
|
35
|
+
},
|
|
36
|
+
"headline_accent_color": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"default": "{{brand.primary}}",
|
|
39
|
+
"label": "Accent color for headline post"
|
|
40
|
+
},
|
|
41
|
+
"lede": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"default": "Join the multitude of people who have trusted us to help change their lives.",
|
|
44
|
+
"label": "Centered lede paragraph"
|
|
45
|
+
},
|
|
46
|
+
"card_bg": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"default": "{{brand.oat}}",
|
|
49
|
+
"label": "Quote card background"
|
|
50
|
+
},
|
|
51
|
+
"star_color": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"default": "{{brand.primary}}",
|
|
54
|
+
"label": "Star rating color"
|
|
55
|
+
},
|
|
56
|
+
"bg_band": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"default": "white",
|
|
59
|
+
"label": "Background band: white, oat, celadon-tint"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"lineage": {
|
|
64
|
+
"extracted_from": "https://home.medvi.org/",
|
|
65
|
+
"scrape_path": "_clients/capital-v/lushi/research/medvi-reference/site-scrape/",
|
|
66
|
+
"framer_label": "What Our Clients Say Parallax Scroll Section"
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
{%- comment -%}
|
|
2
|
+
Runwell testimonials-medvi.
|
|
3
|
+
|
|
4
|
+
Two horizontal marquee rows of testimonial cards. Each row scrolls
|
|
5
|
+
continuously; row 2 reverses direction by default for visual rhythm.
|
|
6
|
+
Cards alternate photo and quote naturally based on block ordering;
|
|
7
|
+
the designer arranges blocks once, the marquee handles the rest.
|
|
8
|
+
|
|
9
|
+
Card aspect: ~16:9 landscape. Photos fill the full card with object-fit
|
|
10
|
+
cover. Quote cards have a tinted background, padded interior with author
|
|
11
|
+
+ star rating row at top, quote body below.
|
|
12
|
+
|
|
13
|
+
Loop technique: each row's content is rendered twice in DOM. CSS
|
|
14
|
+
animation translates by -50% (one full set width) over the configured
|
|
15
|
+
duration. When the first set leaves viewport, the second set has already
|
|
16
|
+
taken its place; loop is seamless.
|
|
17
|
+
|
|
18
|
+
Lineage: extracted from home.medvi.org (Framer label "Testimonials"
|
|
19
|
+
with id "testimonials"). Medvi uses 2 ul[role="group"] tickers with
|
|
20
|
+
9 items each, 20px gap, ~400px card width, JS-driven translateX.
|
|
21
|
+
We use CSS @keyframes equivalent for portability.
|
|
22
|
+
{%- endcomment -%}
|
|
23
|
+
|
|
24
|
+
{{ 'runwell-testimonials-medvi.css' | asset_url | stylesheet_tag }}
|
|
25
|
+
|
|
26
|
+
{%- liquid
|
|
27
|
+
assign bg_band = section.settings.bg_band | default: 'white'
|
|
28
|
+
assign accent_color = section.settings.headline_accent_color | default: 'var(--runwell-primary)'
|
|
29
|
+
assign card_bg = section.settings.card_bg | default: 'var(--runwell-oat)'
|
|
30
|
+
assign star_color = section.settings.star_color | default: 'var(--runwell-primary)'
|
|
31
|
+
assign duration = section.settings.marquee_duration | default: 60
|
|
32
|
+
assign card_width = section.settings.card_width | default: 380
|
|
33
|
+
assign row2_dir = section.settings.marquee_row2_direction | default: 'same'
|
|
34
|
+
assign quote_aspect = section.settings.quote_aspect | default: '5-3'
|
|
35
|
+
assign photo_aspect = section.settings.photo_aspect | default: '16-9'
|
|
36
|
+
|
|
37
|
+
assign all_blocks = section.blocks
|
|
38
|
+
assign block_count = all_blocks.size
|
|
39
|
+
assign half = block_count | divided_by: 2
|
|
40
|
+
assign row1_blocks = all_blocks | slice: 0, half
|
|
41
|
+
assign remaining = block_count | minus: half
|
|
42
|
+
assign row2_blocks = all_blocks | slice: half, remaining
|
|
43
|
+
-%}
|
|
44
|
+
|
|
45
|
+
<section class="runwell-testimonials-medvi runwell-testimonials-medvi--bg-{{ bg_band }}">
|
|
46
|
+
|
|
47
|
+
<header class="runwell-testimonials-medvi__header">
|
|
48
|
+
{%- if section.settings.section_eyebrow != blank -%}
|
|
49
|
+
<p class="runwell-testimonials-medvi__eyebrow">{{ section.settings.section_eyebrow }}</p>
|
|
50
|
+
{%- endif -%}
|
|
51
|
+
|
|
52
|
+
{%- if section.settings.headline_pre != blank or section.settings.headline_post != blank -%}
|
|
53
|
+
<h2 class="runwell-testimonials-medvi__headline">
|
|
54
|
+
{%- if section.settings.headline_pre != blank -%}
|
|
55
|
+
<span class="runwell-testimonials-medvi__headline-pre">{{ section.settings.headline_pre }}</span>
|
|
56
|
+
{%- endif -%}
|
|
57
|
+
{%- if section.settings.headline_post != blank -%}
|
|
58
|
+
{{ ' ' }}<span class="runwell-testimonials-medvi__headline-post" style="color: {{ accent_color }};">{{ section.settings.headline_post }}</span>
|
|
59
|
+
{%- endif -%}
|
|
60
|
+
</h2>
|
|
61
|
+
{%- endif -%}
|
|
62
|
+
|
|
63
|
+
{%- if section.settings.lede != blank -%}
|
|
64
|
+
<p class="runwell-testimonials-medvi__lede">{{ section.settings.lede }}</p>
|
|
65
|
+
{%- endif -%}
|
|
66
|
+
</header>
|
|
67
|
+
|
|
68
|
+
{%- if block_count > 0 -%}
|
|
69
|
+
<div
|
|
70
|
+
class="runwell-testimonials-medvi__rows runwell-testimonials-medvi__rows--row2-{{ row2_dir }} runwell-testimonials-medvi__rows--quote-aspect-{{ quote_aspect }} runwell-testimonials-medvi__rows--photo-aspect-{{ photo_aspect }}"
|
|
71
|
+
style="--rw-tm-duration: {{ duration }}s; --rw-tm-card-w: {{ card_width }}px;"
|
|
72
|
+
>
|
|
73
|
+
|
|
74
|
+
{%- for row_blocks in (1..2) -%}
|
|
75
|
+
{%- if forloop.first -%}
|
|
76
|
+
{%- assign blocks = row1_blocks -%}
|
|
77
|
+
{%- assign row_class = 'runwell-testimonials-medvi__row runwell-testimonials-medvi__row--1' -%}
|
|
78
|
+
{%- else -%}
|
|
79
|
+
{%- assign blocks = row2_blocks -%}
|
|
80
|
+
{%- assign row_class = 'runwell-testimonials-medvi__row runwell-testimonials-medvi__row--2' -%}
|
|
81
|
+
{%- endif -%}
|
|
82
|
+
|
|
83
|
+
{%- if blocks.size > 0 -%}
|
|
84
|
+
<div class="{{ row_class }}">
|
|
85
|
+
<ul class="runwell-testimonials-medvi__track" role="group">
|
|
86
|
+
{%- for cycle in (1..2) -%}
|
|
87
|
+
{%- for block in blocks -%}
|
|
88
|
+
{%- assign aria_hidden = false -%}
|
|
89
|
+
{%- if forloop.parentloop.first == false -%}{%- assign aria_hidden = true -%}{%- endif -%}
|
|
90
|
+
|
|
91
|
+
{%- case block.type -%}
|
|
92
|
+
|
|
93
|
+
{%- when 'quote' -%}
|
|
94
|
+
<li
|
|
95
|
+
class="runwell-testimonials-medvi__item runwell-testimonials-medvi__item--quote"
|
|
96
|
+
{% if aria_hidden %}aria-hidden="true"{% endif %}
|
|
97
|
+
{{ block.shopify_attributes }}
|
|
98
|
+
>
|
|
99
|
+
<article class="runwell-testimonials-medvi__card runwell-testimonials-medvi__card--quote" style="background: {{ card_bg }};">
|
|
100
|
+
<header class="runwell-testimonials-medvi__card-head">
|
|
101
|
+
{%- if block.settings.author != blank -%}
|
|
102
|
+
<p class="runwell-testimonials-medvi__card-author">{{ block.settings.author }}</p>
|
|
103
|
+
{%- endif -%}
|
|
104
|
+
{%- if block.settings.rating > 0 -%}
|
|
105
|
+
<div class="runwell-testimonials-medvi__card-rating" aria-label="{{ block.settings.rating }} out of 5 stars">
|
|
106
|
+
{%- for i in (1..block.settings.rating) -%}
|
|
107
|
+
<span class="runwell-testimonials-medvi__star" style="color: {{ star_color }};">★</span>
|
|
108
|
+
{%- endfor -%}
|
|
109
|
+
</div>
|
|
110
|
+
{%- endif -%}
|
|
111
|
+
</header>
|
|
112
|
+
{%- if block.settings.quote != blank -%}
|
|
113
|
+
<div class="runwell-testimonials-medvi__card-quote">{{ block.settings.quote }}</div>
|
|
114
|
+
{%- endif -%}
|
|
115
|
+
</article>
|
|
116
|
+
</li>
|
|
117
|
+
|
|
118
|
+
{%- when 'photo' -%}
|
|
119
|
+
<li
|
|
120
|
+
class="runwell-testimonials-medvi__item runwell-testimonials-medvi__item--photo"
|
|
121
|
+
{% if aria_hidden %}aria-hidden="true"{% endif %}
|
|
122
|
+
{{ block.shopify_attributes }}
|
|
123
|
+
>
|
|
124
|
+
<figure class="runwell-testimonials-medvi__card runwell-testimonials-medvi__card--photo runwell-testimonials-medvi__card--photo-focal-{{ block.settings.image_focal | default: 'center' }}">
|
|
125
|
+
{%- if block.settings.image != blank -%}
|
|
126
|
+
<img
|
|
127
|
+
src="{{ block.settings.image | image_url: width: 1200 }}"
|
|
128
|
+
alt="{{ block.settings.image.alt | default: '' | escape }}"
|
|
129
|
+
width="{{ block.settings.image.width }}"
|
|
130
|
+
height="{{ block.settings.image.height }}"
|
|
131
|
+
loading="lazy"
|
|
132
|
+
>
|
|
133
|
+
{%- elsif block.settings.image_asset != blank -%}
|
|
134
|
+
<img
|
|
135
|
+
src="{{ block.settings.image_asset | asset_url }}"
|
|
136
|
+
alt=""
|
|
137
|
+
width="1200"
|
|
138
|
+
height="675"
|
|
139
|
+
loading="lazy"
|
|
140
|
+
>
|
|
141
|
+
{%- endif -%}
|
|
142
|
+
</figure>
|
|
143
|
+
</li>
|
|
144
|
+
|
|
145
|
+
{%- endcase -%}
|
|
146
|
+
{%- endfor -%}
|
|
147
|
+
{%- endfor -%}
|
|
148
|
+
</ul>
|
|
149
|
+
</div>
|
|
150
|
+
{%- endif -%}
|
|
151
|
+
|
|
152
|
+
{%- endfor -%}
|
|
153
|
+
|
|
154
|
+
</div>
|
|
155
|
+
{%- endif -%}
|
|
156
|
+
|
|
157
|
+
</section>
|
|
158
|
+
|
|
159
|
+
{% schema %}
|
|
160
|
+
{
|
|
161
|
+
"name": "Testimonials (medvi)",
|
|
162
|
+
"tag": "section",
|
|
163
|
+
"class": "section-runwell-testimonials-medvi",
|
|
164
|
+
"max_blocks": 24,
|
|
165
|
+
"settings": [
|
|
166
|
+
{
|
|
167
|
+
"type": "header",
|
|
168
|
+
"content": "Header"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"type": "text",
|
|
172
|
+
"id": "section_eyebrow",
|
|
173
|
+
"label": "Eyebrow",
|
|
174
|
+
"default": "THOSE WHO CHOSE US"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"type": "text",
|
|
178
|
+
"id": "headline_pre",
|
|
179
|
+
"label": "Headline (first part)",
|
|
180
|
+
"default": "There's a reason people are"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"type": "text",
|
|
184
|
+
"id": "headline_post",
|
|
185
|
+
"label": "Headline (accent part)",
|
|
186
|
+
"default": "raving about us."
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"type": "color",
|
|
190
|
+
"id": "headline_accent_color",
|
|
191
|
+
"label": "Headline accent color",
|
|
192
|
+
"default": "#0B3D38"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"type": "textarea",
|
|
196
|
+
"id": "lede",
|
|
197
|
+
"label": "Centered lede",
|
|
198
|
+
"default": "Join the multitude of people who have trusted us to help change their lives."
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"type": "header",
|
|
202
|
+
"content": "Cards + marquee"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"type": "color",
|
|
206
|
+
"id": "card_bg",
|
|
207
|
+
"label": "Quote card background",
|
|
208
|
+
"default": "#F5F0EE"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"type": "color",
|
|
212
|
+
"id": "star_color",
|
|
213
|
+
"label": "Star color",
|
|
214
|
+
"default": "#0B3D38"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"type": "range",
|
|
218
|
+
"id": "card_width",
|
|
219
|
+
"label": "Card width (px)",
|
|
220
|
+
"min": 280,
|
|
221
|
+
"max": 520,
|
|
222
|
+
"step": 20,
|
|
223
|
+
"default": 380
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"type": "range",
|
|
227
|
+
"id": "marquee_duration",
|
|
228
|
+
"label": "Scroll duration (seconds per loop)",
|
|
229
|
+
"info": "Longer is slower. Both rows share this duration.",
|
|
230
|
+
"min": 30,
|
|
231
|
+
"max": 180,
|
|
232
|
+
"step": 5,
|
|
233
|
+
"default": 60
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"type": "select",
|
|
237
|
+
"id": "marquee_row2_direction",
|
|
238
|
+
"label": "Row 2 scroll direction",
|
|
239
|
+
"info": "`same`: both rows scroll left (medvi-faithful). `reverse`: row 2 scrolls right for visual rhythm.",
|
|
240
|
+
"options": [
|
|
241
|
+
{ "value": "same", "label": "Same direction (medvi)" },
|
|
242
|
+
{ "value": "reverse", "label": "Reverse" }
|
|
243
|
+
],
|
|
244
|
+
"default": "same"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"type": "select",
|
|
248
|
+
"id": "quote_aspect",
|
|
249
|
+
"label": "Quote card aspect",
|
|
250
|
+
"options": [
|
|
251
|
+
{ "value": "16-9", "label": "16:9 (wide)" },
|
|
252
|
+
{ "value": "5-3", "label": "5:3 (medvi-faithful)" },
|
|
253
|
+
{ "value": "4-3", "label": "4:3" },
|
|
254
|
+
{ "value": "1-1", "label": "1:1 (square)" }
|
|
255
|
+
],
|
|
256
|
+
"default": "5-3"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"type": "select",
|
|
260
|
+
"id": "photo_aspect",
|
|
261
|
+
"label": "Photo card aspect",
|
|
262
|
+
"info": "Photos can keep their native landscape (16:9) while quotes use a different aspect. Items center-align in the row when aspects differ.",
|
|
263
|
+
"options": [
|
|
264
|
+
{ "value": "16-9", "label": "16:9 (medvi-faithful)" },
|
|
265
|
+
{ "value": "5-3", "label": "5:3 (match quote default)" },
|
|
266
|
+
{ "value": "4-3", "label": "4:3" },
|
|
267
|
+
{ "value": "1-1", "label": "1:1 (square)" }
|
|
268
|
+
],
|
|
269
|
+
"default": "16-9"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"type": "select",
|
|
273
|
+
"id": "bg_band",
|
|
274
|
+
"label": "Background band",
|
|
275
|
+
"options": [
|
|
276
|
+
{ "value": "white", "label": "White" },
|
|
277
|
+
{ "value": "oat", "label": "Oat" },
|
|
278
|
+
{ "value": "celadon-tint", "label": "Celadon tint" }
|
|
279
|
+
],
|
|
280
|
+
"default": "white"
|
|
281
|
+
}
|
|
282
|
+
],
|
|
283
|
+
"blocks": [
|
|
284
|
+
{
|
|
285
|
+
"type": "quote",
|
|
286
|
+
"name": "Quote card",
|
|
287
|
+
"settings": [
|
|
288
|
+
{
|
|
289
|
+
"type": "text",
|
|
290
|
+
"id": "author",
|
|
291
|
+
"label": "Author"
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"type": "range",
|
|
295
|
+
"id": "rating",
|
|
296
|
+
"label": "Rating",
|
|
297
|
+
"min": 0,
|
|
298
|
+
"max": 5,
|
|
299
|
+
"step": 1,
|
|
300
|
+
"default": 5
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"type": "richtext",
|
|
304
|
+
"id": "quote",
|
|
305
|
+
"label": "Quote"
|
|
306
|
+
}
|
|
307
|
+
]
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"type": "photo",
|
|
311
|
+
"name": "Photo card",
|
|
312
|
+
"settings": [
|
|
313
|
+
{
|
|
314
|
+
"type": "image_picker",
|
|
315
|
+
"id": "image",
|
|
316
|
+
"label": "Image",
|
|
317
|
+
"info": "16:9 landscape recommended."
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"type": "text",
|
|
321
|
+
"id": "image_asset",
|
|
322
|
+
"label": "Image (asset filename fallback)"
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"type": "select",
|
|
326
|
+
"id": "image_focal",
|
|
327
|
+
"label": "Focal point",
|
|
328
|
+
"options": [
|
|
329
|
+
{ "value": "center", "label": "Center" },
|
|
330
|
+
{ "value": "top", "label": "Top (faces, headshots)" },
|
|
331
|
+
{ "value": "bottom", "label": "Bottom" }
|
|
332
|
+
],
|
|
333
|
+
"default": "center"
|
|
334
|
+
}
|
|
335
|
+
]
|
|
336
|
+
}
|
|
337
|
+
],
|
|
338
|
+
"presets": [
|
|
339
|
+
{
|
|
340
|
+
"name": "Testimonials (medvi)",
|
|
341
|
+
"blocks": [
|
|
342
|
+
{ "type": "photo" },
|
|
343
|
+
{ "type": "quote", "settings": { "author": "Jamie", "rating": 5, "quote": "<p>The questions are to the point and easy to navigate. I'm able to voice my concerns if needed.</p>" } },
|
|
344
|
+
{ "type": "quote", "settings": { "author": "Jacqueline", "rating": 5, "quote": "<p>My experience is very positive. I am doing very well. Slowly and surely reaching my goals.</p>" } },
|
|
345
|
+
{ "type": "quote", "settings": { "author": "Diana", "rating": 5, "quote": "<p>The staff has been so friendly and caring. If I call, I get an immediate answer from a real person.</p>" } },
|
|
346
|
+
{ "type": "photo" },
|
|
347
|
+
{ "type": "quote", "settings": { "author": "Alexandra", "rating": 5, "quote": "<p>Everything was quick and concise. I was treated professionally and given the opportunity to ask questions.</p>" } },
|
|
348
|
+
{ "type": "quote", "settings": { "author": "Greg", "rating": 5, "quote": "<p>I was ready to give up. Wow. I would pay 10x as much if I had to. Thanks, game changer.</p>" } },
|
|
349
|
+
{ "type": "photo" },
|
|
350
|
+
{ "type": "quote", "settings": { "author": "Lou-Ann", "rating": 5, "quote": "<p>Doctors and staff have been very professional and prompt with any questions I have.</p>" } }
|
|
351
|
+
]
|
|
352
|
+
}
|
|
353
|
+
]
|
|
354
|
+
}
|
|
355
|
+
{% endschema %}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runwell/shopify-toolkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.0",
|
|
4
4
|
"description": "Reusable Shopify theme modules from Runwell. Replaces typically app-driven features (reviews, wishlist, urgency, FAQ, post-purchase upsell, exit popups, free-ship progress, sticky ATC, testimonials, badges, bundles) with native Liquid + JS + CSS that ship across multiple client themes via a config-driven sync CLI.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -42,4 +42,4 @@
|
|
|
42
42
|
"type": "git",
|
|
43
43
|
"url": "https://github.com/louayelbiche/runwell-shopify-toolkit.git"
|
|
44
44
|
}
|
|
45
|
-
}
|
|
45
|
+
}
|