easyorders 0.1.8 → 0.1.9
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/dist/bin/cli.js +28 -7
- package/dist/server/index.js +22 -0
- package/dist/template/theme/home-sections/category-mosaic/config.json +66 -0
- package/dist/template/theme/home-sections/category-mosaic/template.liquid +151 -0
- package/dist/template/theme/home-sections/editorial-feature/config.json +68 -0
- package/dist/template/theme/home-sections/editorial-feature/template.liquid +145 -0
- package/dist/template/theme/home-sections/newsletter-luxe/config.json +66 -0
- package/dist/template/theme/home-sections/newsletter-luxe/template.liquid +120 -0
- package/dist/template/theme/home-sections/runway-hero/config.json +93 -0
- package/dist/template/theme/home-sections/runway-hero/template.liquid +143 -0
- package/dist/template/theme/home-sections/shop-the-look/config.json +101 -0
- package/dist/template/theme/home-sections/shop-the-look/template.liquid +284 -0
- package/dist/template/theme/home-sections/trust-promise/config.json +47 -0
- package/dist/template/theme/home-sections/trust-promise/template.liquid +96 -0
- package/package.json +1 -1
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
<section
|
|
2
|
+
class="newsletter-luxe"
|
|
3
|
+
style="
|
|
4
|
+
background: {{ section_data.bg_color | default: '#1A1814' }};
|
|
5
|
+
color: {{ section_data.text_color | default: '#F4EEE6' }};
|
|
6
|
+
--nl-btn: {{ section_data.button_color | default: '#C9A962' }};
|
|
7
|
+
"
|
|
8
|
+
>
|
|
9
|
+
<div class="newsletter-luxe__inner">
|
|
10
|
+
{% if section_data.headline != blank %}
|
|
11
|
+
<h2 class="newsletter-luxe__title">{{ section_data.headline }}</h2>
|
|
12
|
+
{% endif %}
|
|
13
|
+
{% if section_data.body != blank %}
|
|
14
|
+
<p class="newsletter-luxe__body">{{ section_data.body }}</p>
|
|
15
|
+
{% endif %}
|
|
16
|
+
|
|
17
|
+
<form class="newsletter-luxe__form" action="{{ section_data.form_action | default: '/pages/contact' }}" method="get">
|
|
18
|
+
<input
|
|
19
|
+
class="newsletter-luxe__input"
|
|
20
|
+
type="email"
|
|
21
|
+
name="email"
|
|
22
|
+
autocomplete="email"
|
|
23
|
+
aria-label="{{ section_data.placeholder | default: 'Email address' }}"
|
|
24
|
+
placeholder="{{ section_data.placeholder | default: 'Email address' }}"
|
|
25
|
+
required
|
|
26
|
+
/>
|
|
27
|
+
<button class="newsletter-luxe__submit" type="submit">
|
|
28
|
+
{{ section_data.button_label | default: 'Join the list' }}
|
|
29
|
+
</button>
|
|
30
|
+
</form>
|
|
31
|
+
|
|
32
|
+
{% if section_data.show_footnote and section_data.footnote != blank %}
|
|
33
|
+
<p class="newsletter-luxe__fine">{{ section_data.footnote }}</p>
|
|
34
|
+
{% endif %}
|
|
35
|
+
</div>
|
|
36
|
+
</section>
|
|
37
|
+
|
|
38
|
+
<style>
|
|
39
|
+
.newsletter-luxe {
|
|
40
|
+
padding: clamp(2.75rem, 6vw, 4rem) 1.25rem;
|
|
41
|
+
}
|
|
42
|
+
.newsletter-luxe__inner {
|
|
43
|
+
max-width: 520px;
|
|
44
|
+
margin: 0 auto;
|
|
45
|
+
text-align: center;
|
|
46
|
+
display: flex;
|
|
47
|
+
flex-direction: column;
|
|
48
|
+
gap: 1.25rem;
|
|
49
|
+
}
|
|
50
|
+
.newsletter-luxe__title {
|
|
51
|
+
margin: 0;
|
|
52
|
+
font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
|
|
53
|
+
font-weight: 500;
|
|
54
|
+
font-size: clamp(1.65rem, 4vw, 2.1rem);
|
|
55
|
+
line-height: 1.2;
|
|
56
|
+
}
|
|
57
|
+
.newsletter-luxe__body {
|
|
58
|
+
margin: 0;
|
|
59
|
+
font-size: 1rem;
|
|
60
|
+
line-height: 1.65;
|
|
61
|
+
opacity: 0.88;
|
|
62
|
+
}
|
|
63
|
+
.newsletter-luxe__form {
|
|
64
|
+
display: flex;
|
|
65
|
+
flex-wrap: wrap;
|
|
66
|
+
gap: 0.6rem;
|
|
67
|
+
justify-content: center;
|
|
68
|
+
margin-top: 0.25rem;
|
|
69
|
+
}
|
|
70
|
+
@media (min-width: 520px) {
|
|
71
|
+
.newsletter-luxe__form {
|
|
72
|
+
flex-wrap: nowrap;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
.newsletter-luxe__input {
|
|
76
|
+
flex: 1 1 200px;
|
|
77
|
+
min-width: 0;
|
|
78
|
+
padding: 0.9rem 1.1rem;
|
|
79
|
+
border-radius: 999px;
|
|
80
|
+
border: 1px solid rgba(255, 255, 255, 0.18);
|
|
81
|
+
background: rgba(255, 255, 255, 0.06);
|
|
82
|
+
color: inherit;
|
|
83
|
+
font-size: 0.95rem;
|
|
84
|
+
outline: none;
|
|
85
|
+
transition: border-color 0.2s ease, background 0.2s ease;
|
|
86
|
+
}
|
|
87
|
+
.newsletter-luxe__input::placeholder {
|
|
88
|
+
color: rgba(244, 238, 230, 0.45);
|
|
89
|
+
}
|
|
90
|
+
.newsletter-luxe__input:focus {
|
|
91
|
+
border-color: var(--nl-btn, #c9a962);
|
|
92
|
+
background: rgba(255, 255, 255, 0.09);
|
|
93
|
+
}
|
|
94
|
+
.newsletter-luxe__submit {
|
|
95
|
+
flex-shrink: 0;
|
|
96
|
+
padding: 0.9rem 1.5rem;
|
|
97
|
+
border-radius: 999px;
|
|
98
|
+
border: none;
|
|
99
|
+
cursor: pointer;
|
|
100
|
+
font-size: 0.78rem;
|
|
101
|
+
font-weight: 700;
|
|
102
|
+
letter-spacing: 0.14em;
|
|
103
|
+
text-transform: uppercase;
|
|
104
|
+
background: var(--nl-btn, #c9a962);
|
|
105
|
+
color: #141218;
|
|
106
|
+
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
|
107
|
+
}
|
|
108
|
+
.newsletter-luxe__submit:hover {
|
|
109
|
+
transform: translateY(-1px);
|
|
110
|
+
box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
|
|
111
|
+
}
|
|
112
|
+
.newsletter-luxe__fine {
|
|
113
|
+
margin: 0;
|
|
114
|
+
font-size: 0.72rem;
|
|
115
|
+
line-height: 1.5;
|
|
116
|
+
opacity: 0.55;
|
|
117
|
+
max-width: 36rem;
|
|
118
|
+
margin-inline: auto;
|
|
119
|
+
}
|
|
120
|
+
</style>
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"icon": "https://api.iconify.design/lucide:sparkles.svg",
|
|
3
|
+
"label": "Runway hero",
|
|
4
|
+
"section_schema": [
|
|
5
|
+
{
|
|
6
|
+
"name": "image",
|
|
7
|
+
"type": "string",
|
|
8
|
+
"default": "",
|
|
9
|
+
"description": "Full-width background image URL"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name": "kicker",
|
|
13
|
+
"type": "string",
|
|
14
|
+
"default": "New season",
|
|
15
|
+
"description": "Small line above the headline"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "headline",
|
|
19
|
+
"type": "string",
|
|
20
|
+
"default": "The spring edit",
|
|
21
|
+
"description": "Main headline"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"name": "subheadline",
|
|
25
|
+
"type": "string",
|
|
26
|
+
"default": "Silhouettes, textures, and tones curated for everyday luxury.",
|
|
27
|
+
"description": "Supporting line under the headline"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"name": "primary_label",
|
|
31
|
+
"type": "string",
|
|
32
|
+
"default": "Shop collection",
|
|
33
|
+
"description": "Primary button label"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "primary_url",
|
|
37
|
+
"type": "string",
|
|
38
|
+
"default": "/products",
|
|
39
|
+
"description": "Primary button URL"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "secondary_label",
|
|
43
|
+
"type": "string",
|
|
44
|
+
"default": "Lookbook",
|
|
45
|
+
"description": "Secondary button label (hidden if empty)"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "secondary_url",
|
|
49
|
+
"type": "string",
|
|
50
|
+
"default": "/pages/lookbook",
|
|
51
|
+
"description": "Secondary button URL"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "overlay_strength",
|
|
55
|
+
"type": "number",
|
|
56
|
+
"default": 42,
|
|
57
|
+
"description": "Dark overlay strength (0–100)"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "accent_color",
|
|
61
|
+
"type": "color",
|
|
62
|
+
"default": "#C9A962",
|
|
63
|
+
"description": "Accent for buttons and kicker when no image"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "text_color",
|
|
67
|
+
"type": "color",
|
|
68
|
+
"default": "#FAF7F2",
|
|
69
|
+
"description": "Hero text color"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "alignment",
|
|
73
|
+
"type": "select",
|
|
74
|
+
"default": "center",
|
|
75
|
+
"description": "Content alignment",
|
|
76
|
+
"options": [
|
|
77
|
+
{ "label": "Center", "value": "center" },
|
|
78
|
+
{ "label": "Left", "value": "left" }
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "min_height",
|
|
83
|
+
"type": "select",
|
|
84
|
+
"default": "tall",
|
|
85
|
+
"description": "Minimum height",
|
|
86
|
+
"options": [
|
|
87
|
+
{ "label": "Compact", "value": "compact" },
|
|
88
|
+
{ "label": "Tall", "value": "tall" },
|
|
89
|
+
{ "label": "Near full screen", "value": "screen" }
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
<section
|
|
2
|
+
class="runway-hero runway-hero--{{ section_data.alignment | default: 'center' }}"
|
|
3
|
+
style="
|
|
4
|
+
--runway-text: {{ section_data.text_color | default: '#FAF7F2' }};
|
|
5
|
+
--runway-accent: {{ section_data.accent_color | default: '#C9A962' }};
|
|
6
|
+
--runway-overlay: {{ section_data.overlay_strength | default: 42 | divided_by: 100.0 }};
|
|
7
|
+
--runway-min-h: {% if section_data.min_height == 'compact' %}52vh{% elsif section_data.min_height == 'screen' %}92vh{% else %}72vh{% endif %};
|
|
8
|
+
{% if section_data.image != blank %}background-image: url('{{ section_data.image }}');{% endif %}
|
|
9
|
+
"
|
|
10
|
+
>
|
|
11
|
+
<div class="runway-hero__overlay" aria-hidden="true"></div>
|
|
12
|
+
<div class="runway-hero__inner">
|
|
13
|
+
{% if section_data.kicker != blank %}
|
|
14
|
+
<p class="runway-hero__kicker">{{ section_data.kicker }}</p>
|
|
15
|
+
{% endif %}
|
|
16
|
+
{% if section_data.headline != blank %}
|
|
17
|
+
<h1 class="runway-hero__title">{{ section_data.headline }}</h1>
|
|
18
|
+
{% endif %}
|
|
19
|
+
{% if section_data.subheadline != blank %}
|
|
20
|
+
<p class="runway-hero__lede">{{ section_data.subheadline }}</p>
|
|
21
|
+
{% endif %}
|
|
22
|
+
<div class="runway-hero__actions">
|
|
23
|
+
{% if section_data.primary_label != blank %}
|
|
24
|
+
<a class="runway-hero__btn runway-hero__btn--primary" href="{{ section_data.primary_url | default: '/products' }}">
|
|
25
|
+
{{ section_data.primary_label }}
|
|
26
|
+
</a>
|
|
27
|
+
{% endif %}
|
|
28
|
+
{% if section_data.secondary_label != blank %}
|
|
29
|
+
<a class="runway-hero__btn runway-hero__btn--ghost" href="{{ section_data.secondary_url | default: '#' }}">
|
|
30
|
+
{{ section_data.secondary_label }}
|
|
31
|
+
</a>
|
|
32
|
+
{% endif %}
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
</section>
|
|
36
|
+
|
|
37
|
+
<style>
|
|
38
|
+
.runway-hero {
|
|
39
|
+
position: relative;
|
|
40
|
+
isolation: isolate;
|
|
41
|
+
min-height: var(--runway-min-h, 72vh);
|
|
42
|
+
display: flex;
|
|
43
|
+
align-items: center;
|
|
44
|
+
justify-content: center;
|
|
45
|
+
padding: clamp(2rem, 6vw, 5rem) 1.5rem;
|
|
46
|
+
background-color: #141218;
|
|
47
|
+
background-size: cover;
|
|
48
|
+
background-position: center;
|
|
49
|
+
color: var(--runway-text, #faf7f2);
|
|
50
|
+
text-align: center;
|
|
51
|
+
}
|
|
52
|
+
.runway-hero--left {
|
|
53
|
+
text-align: left;
|
|
54
|
+
justify-content: flex-start;
|
|
55
|
+
}
|
|
56
|
+
.runway-hero__overlay {
|
|
57
|
+
position: absolute;
|
|
58
|
+
inset: 0;
|
|
59
|
+
z-index: 0;
|
|
60
|
+
background: linear-gradient(
|
|
61
|
+
105deg,
|
|
62
|
+
rgba(8, 6, 10, calc(var(--runway-overlay, 0.45) + 0.12)) 0%,
|
|
63
|
+
rgba(8, 6, 10, var(--runway-overlay, 0.45)) 45%,
|
|
64
|
+
rgba(8, 6, 10, calc(var(--runway-overlay, 0.45) * 0.55)) 100%
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
.runway-hero__inner {
|
|
68
|
+
position: relative;
|
|
69
|
+
z-index: 1;
|
|
70
|
+
max-width: 40rem;
|
|
71
|
+
display: flex;
|
|
72
|
+
flex-direction: column;
|
|
73
|
+
gap: 1rem;
|
|
74
|
+
}
|
|
75
|
+
.runway-hero--left .runway-hero__inner {
|
|
76
|
+
margin-right: auto;
|
|
77
|
+
}
|
|
78
|
+
.runway-hero__kicker {
|
|
79
|
+
margin: 0;
|
|
80
|
+
font-size: 0.75rem;
|
|
81
|
+
letter-spacing: 0.35em;
|
|
82
|
+
text-transform: uppercase;
|
|
83
|
+
color: var(--runway-accent, #c9a962);
|
|
84
|
+
font-weight: 600;
|
|
85
|
+
}
|
|
86
|
+
.runway-hero__title {
|
|
87
|
+
margin: 0;
|
|
88
|
+
font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
|
|
89
|
+
font-weight: 500;
|
|
90
|
+
font-size: clamp(2.25rem, 6vw, 3.75rem);
|
|
91
|
+
line-height: 1.05;
|
|
92
|
+
}
|
|
93
|
+
.runway-hero__lede {
|
|
94
|
+
margin: 0;
|
|
95
|
+
font-size: clamp(1rem, 2.2vw, 1.2rem);
|
|
96
|
+
line-height: 1.65;
|
|
97
|
+
opacity: 0.92;
|
|
98
|
+
max-width: 36rem;
|
|
99
|
+
}
|
|
100
|
+
.runway-hero--left .runway-hero__lede {
|
|
101
|
+
margin-left: 0;
|
|
102
|
+
}
|
|
103
|
+
.runway-hero__actions {
|
|
104
|
+
display: flex;
|
|
105
|
+
flex-wrap: wrap;
|
|
106
|
+
gap: 0.75rem;
|
|
107
|
+
margin-top: 0.5rem;
|
|
108
|
+
justify-content: center;
|
|
109
|
+
}
|
|
110
|
+
.runway-hero--left .runway-hero__actions {
|
|
111
|
+
justify-content: flex-start;
|
|
112
|
+
}
|
|
113
|
+
.runway-hero__btn {
|
|
114
|
+
display: inline-flex;
|
|
115
|
+
align-items: center;
|
|
116
|
+
justify-content: center;
|
|
117
|
+
padding: 0.85rem 1.75rem;
|
|
118
|
+
font-size: 0.8rem;
|
|
119
|
+
font-weight: 600;
|
|
120
|
+
letter-spacing: 0.12em;
|
|
121
|
+
text-transform: uppercase;
|
|
122
|
+
text-decoration: none;
|
|
123
|
+
border-radius: 999px;
|
|
124
|
+
transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
|
|
125
|
+
}
|
|
126
|
+
.runway-hero__btn--primary {
|
|
127
|
+
background: var(--runway-accent, #c9a962);
|
|
128
|
+
color: #141218;
|
|
129
|
+
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
|
|
130
|
+
}
|
|
131
|
+
.runway-hero__btn--primary:hover {
|
|
132
|
+
transform: translateY(-1px);
|
|
133
|
+
box-shadow: 0 16px 48px rgba(0, 0, 0, 0.3);
|
|
134
|
+
}
|
|
135
|
+
.runway-hero__btn--ghost {
|
|
136
|
+
border: 1px solid rgba(255, 255, 255, 0.45);
|
|
137
|
+
color: inherit;
|
|
138
|
+
background: rgba(255, 255, 255, 0.04);
|
|
139
|
+
}
|
|
140
|
+
.runway-hero__btn--ghost:hover {
|
|
141
|
+
background: rgba(255, 255, 255, 0.1);
|
|
142
|
+
}
|
|
143
|
+
</style>
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
{
|
|
2
|
+
"icon": "https://api.iconify.design/lucide:shirt.svg",
|
|
3
|
+
"label": "Shop the look",
|
|
4
|
+
"section_schema": [
|
|
5
|
+
{
|
|
6
|
+
"name": "eyebrow",
|
|
7
|
+
"type": "string",
|
|
8
|
+
"default": "Styling room",
|
|
9
|
+
"description": "Label above the section title"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name": "title",
|
|
13
|
+
"type": "string",
|
|
14
|
+
"default": "Shop the look",
|
|
15
|
+
"description": "Section heading"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "subtitle",
|
|
19
|
+
"type": "string",
|
|
20
|
+
"default": "One outfit, every piece linked—build yours in a single pass.",
|
|
21
|
+
"description": "Intro line beside the hero look"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"name": "look_image",
|
|
25
|
+
"type": "string",
|
|
26
|
+
"default": "",
|
|
27
|
+
"description": "Main outfit or editorial image URL"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"name": "look_title",
|
|
31
|
+
"type": "string",
|
|
32
|
+
"default": "City nights",
|
|
33
|
+
"description": "Title on the hero card"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "look_caption",
|
|
37
|
+
"type": "string",
|
|
38
|
+
"default": "Layered wool, soft leather, and a hint of shine.",
|
|
39
|
+
"description": "Short caption under the title"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "look_url",
|
|
43
|
+
"type": "string",
|
|
44
|
+
"default": "/products",
|
|
45
|
+
"description": "Link for the full look CTA"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "look_cta_label",
|
|
49
|
+
"type": "string",
|
|
50
|
+
"default": "Shop full look",
|
|
51
|
+
"description": "Hero card button label"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "accent_color",
|
|
55
|
+
"type": "color",
|
|
56
|
+
"default": "#C9A962",
|
|
57
|
+
"description": "Accent for labels and buttons"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "surface",
|
|
61
|
+
"type": "select",
|
|
62
|
+
"default": "cream",
|
|
63
|
+
"description": "Background style",
|
|
64
|
+
"options": [
|
|
65
|
+
{ "label": "Warm cream", "value": "cream" },
|
|
66
|
+
{ "label": "Soft charcoal", "value": "charcoal" }
|
|
67
|
+
]
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "picks",
|
|
71
|
+
"type": "object_array",
|
|
72
|
+
"description": "Products or pieces to pair with the look",
|
|
73
|
+
"fields": [
|
|
74
|
+
{
|
|
75
|
+
"name": "image",
|
|
76
|
+
"type": "string",
|
|
77
|
+
"default": "",
|
|
78
|
+
"description": "Product image URL"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "title",
|
|
82
|
+
"type": "string",
|
|
83
|
+
"default": "Merino crewneck",
|
|
84
|
+
"description": "Product name"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"name": "price",
|
|
88
|
+
"type": "string",
|
|
89
|
+
"default": "1,290 MAD",
|
|
90
|
+
"description": "Price as shown to shoppers"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": "url",
|
|
94
|
+
"type": "string",
|
|
95
|
+
"default": "/products",
|
|
96
|
+
"description": "Product or collection URL"
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
}
|