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.
@@ -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
+ }