easyorders 0.1.13 → 0.1.15
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/README.md +93 -93
- package/dist/bin/cli.js +12 -5
- package/dist/template/theme/config.json +95 -95
- package/dist/template/theme/home-sections/category-mosaic/config.json +40 -40
- package/dist/template/theme/home-sections/category-mosaic/template.liquid +155 -155
- package/dist/template/theme/home-sections/editorial-feature/config.json +67 -67
- package/dist/template/theme/home-sections/editorial-feature/template.liquid +153 -153
- package/dist/template/theme/home-sections/newsletter-luxe/config.json +60 -60
- package/dist/template/theme/home-sections/newsletter-luxe/template.liquid +144 -144
- package/dist/template/theme/home-sections/runway-hero/config.json +91 -91
- package/dist/template/theme/home-sections/runway-hero/template.liquid +159 -159
- package/dist/template/theme/home-sections/shop-the-look/config.json +75 -75
- package/dist/template/theme/home-sections/shop-the-look/template.liquid +304 -304
- package/dist/template/theme/home-sections/trust-promise/config.json +47 -47
- package/dist/template/theme/home-sections/trust-promise/template.liquid +96 -96
- package/dist/template/theme/schema.json +151 -151
- package/dist/template/theme/script.js +586 -586
- package/dist/template/theme/sections/breadcrumbs.liquid +17 -17
- package/dist/template/theme/sections/categories.liquid +9 -9
- package/dist/template/theme/sections/fake-counter.liquid +27 -27
- package/dist/template/theme/sections/fake-stock.liquid +6 -6
- package/dist/template/theme/sections/fake-visitor.liquid +6 -6
- package/dist/template/theme/sections/featured-products.liquid +110 -110
- package/dist/template/theme/sections/fixed-buy-button.liquid +46 -46
- package/dist/template/theme/sections/footer.liquid +128 -128
- package/dist/template/theme/sections/gallery.liquid +61 -61
- package/dist/template/theme/sections/header.liquid +152 -152
- package/dist/template/theme/sections/home-products-grid.liquid +109 -109
- package/dist/template/theme/sections/list-products.liquid +93 -93
- package/dist/template/theme/sections/order-invoice.liquid +154 -154
- package/dist/template/theme/sections/product-description.liquid +30 -30
- package/dist/template/theme/sections/product-details.liquid +63 -63
- package/dist/template/theme/sections/products-grid.liquid +86 -86
- package/dist/template/theme/sections/related-products.liquid +88 -88
- package/dist/template/theme/sections/reviews.liquid +55 -55
- package/dist/template/theme/sections/slider.liquid +43 -43
- package/dist/template/theme/sections/thanks.liquid +33 -33
- package/dist/template/theme/style.css +3923 -3923
- package/dist/template/theme/theme-data.json +9 -9
- package/package.json +40 -40
|
@@ -1,129 +1,129 @@
|
|
|
1
|
-
|
|
2
|
-
<footer class="ab-footer">
|
|
3
|
-
<div class="ab-footer-inner">
|
|
4
|
-
<div class="ab-footer-columns">
|
|
5
|
-
<div class="ab-footer-col ab-footer-brand">
|
|
6
|
-
<a href="/" class="ab-footer-logo">
|
|
7
|
-
{% if logo != "" %}
|
|
8
|
-
<img src="{{ logo }}" alt="{{ store_name }}" />
|
|
9
|
-
{% else %}
|
|
10
|
-
<span class="ab-footer-logo-text">{{ store_name }}</span>
|
|
11
|
-
{% endif %}
|
|
12
|
-
</a>
|
|
13
|
-
{% if has_contact %}
|
|
14
|
-
<address class="ab-footer-contact">
|
|
15
|
-
{% if phone != "" %}
|
|
16
|
-
<a href="tel:{{ phone }}" class="ab-footer-contact-item">
|
|
17
|
-
<span class="ab-footer-contact-icon ab-fci-phone" aria-hidden="true"></span>
|
|
18
|
-
<span dir="ltr">{{ phone }}</span>
|
|
19
|
-
</a>
|
|
20
|
-
{% endif %}
|
|
21
|
-
{% if email != "" %}
|
|
22
|
-
<a href="mailto:{{ email }}" class="ab-footer-contact-item">
|
|
23
|
-
<span class="ab-footer-contact-icon ab-fci-email" aria-hidden="true"></span>
|
|
24
|
-
{{ email }}
|
|
25
|
-
</a>
|
|
26
|
-
{% endif %}
|
|
27
|
-
{% if address != "" %}
|
|
28
|
-
<span class="ab-footer-contact-item">
|
|
29
|
-
<span class="ab-footer-contact-icon ab-fci-address" aria-hidden="true"></span>
|
|
30
|
-
{{ address }}
|
|
31
|
-
</span>
|
|
32
|
-
{% endif %}
|
|
33
|
-
</address>
|
|
34
|
-
{% endif %}
|
|
35
|
-
</div>
|
|
36
|
-
|
|
37
|
-
{% if categories.size > 0 %}
|
|
38
|
-
<div class="ab-footer-col">
|
|
39
|
-
<h4 class="ab-footer-heading">{{ shop_label }}</h4>
|
|
40
|
-
<ul class="ab-footer-links">
|
|
41
|
-
{% for cat in categories %}
|
|
42
|
-
<li><a href="/collections/{{ cat.slug }}">{{ cat.name }}</a></li>
|
|
43
|
-
{% endfor %}
|
|
44
|
-
</ul>
|
|
45
|
-
</div>
|
|
46
|
-
{% endif %}
|
|
47
|
-
|
|
48
|
-
{% if pages.size > 0 %}
|
|
49
|
-
<div class="ab-footer-col">
|
|
50
|
-
<h4 class="ab-footer-heading">{{ help_label }}</h4>
|
|
51
|
-
<ul class="ab-footer-links">
|
|
52
|
-
{% for page in pages %}
|
|
53
|
-
<li><a href="/pages/{{ page.slug }}">{{ page.title }}</a></li>
|
|
54
|
-
{% endfor %}
|
|
55
|
-
</ul>
|
|
56
|
-
</div>
|
|
57
|
-
{% endif %}
|
|
58
|
-
</div>
|
|
59
|
-
|
|
60
|
-
<div class="ab-footer-right">
|
|
61
|
-
<div class="ab-footer-subscribe">
|
|
62
|
-
<h4 class="ab-footer-heading">{{ subscribe_label }}</h4>
|
|
63
|
-
<form
|
|
64
|
-
class="ab-footer-subscribe-form"
|
|
65
|
-
novalidate
|
|
66
|
-
onsubmit="
|
|
67
|
-
event.preventDefault();
|
|
68
|
-
if (!this.checkValidity()) {
|
|
69
|
-
this.reportValidity();
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
var input = this.elements.email;
|
|
73
|
-
var email = input && input.value ? String(input.value).trim() : '';
|
|
74
|
-
this.dispatchEvent(
|
|
75
|
-
new CustomEvent('footer-subscribe', {
|
|
76
|
-
bubbles: true,
|
|
77
|
-
detail: { email: email }
|
|
78
|
-
})
|
|
79
|
-
);
|
|
80
|
-
this.reset()
|
|
81
|
-
"
|
|
82
|
-
>
|
|
83
|
-
<input
|
|
84
|
-
type="email"
|
|
85
|
-
name="email"
|
|
86
|
-
class="ab-footer-subscribe-input"
|
|
87
|
-
placeholder="{{ email_placeholder }}"
|
|
88
|
-
autocomplete="email"
|
|
89
|
-
inputmode="email"
|
|
90
|
-
maxlength="254"
|
|
91
|
-
pattern="[^@\s]+@[^@\s]+\.[^@\s]+"
|
|
92
|
-
title="{{ email_placeholder }}"
|
|
93
|
-
required
|
|
94
|
-
aria-required="true"
|
|
95
|
-
/>
|
|
96
|
-
<button type="submit" class="ab-footer-subscribe-btn" aria-label="Subscribe">
|
|
97
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
|
|
98
|
-
</button>
|
|
99
|
-
</form>
|
|
100
|
-
</div>
|
|
101
|
-
|
|
102
|
-
{% if social.size > 0 %}
|
|
103
|
-
<div class="ab-footer-social">
|
|
104
|
-
<p class="ab-footer-social-label">{{ follow_label }}</p>
|
|
105
|
-
<div class="ab-footer-social-icons">
|
|
106
|
-
{% for item in social %}
|
|
107
|
-
<a href="{{ item.url }}" target="_blank" rel="noreferrer" aria-label="{{ item.label }}">
|
|
108
|
-
<span class="ab-footer-social-img" style="-webkit-mask-image:url({{ item.icon }});mask-image:url({{ item.icon }})"></span>
|
|
109
|
-
</a>
|
|
110
|
-
{% endfor %}
|
|
111
|
-
</div>
|
|
112
|
-
</div>
|
|
113
|
-
{% endif %}
|
|
114
|
-
</div>
|
|
115
|
-
</div>
|
|
116
|
-
|
|
117
|
-
<div class="ab-footer-bottom">
|
|
118
|
-
{% if payment_img != "" %}
|
|
119
|
-
<div class="ab-footer-payment">
|
|
120
|
-
<img src="{{ payment_img }}" alt="Accepted payment methods" />
|
|
121
|
-
</div>
|
|
122
|
-
{% endif %}
|
|
123
|
-
|
|
124
|
-
<p class="ab-footer-copy">© {{ year }} {{ store_name }}. {{ rights_label }}</p>
|
|
125
|
-
{% if show_powered %}
|
|
126
|
-
<p class="ab-footer-powered">Powered by <a href="https://www.easy-orders.net" target="_blank" rel="noreferrer">easyorders</a></p>
|
|
127
|
-
{% endif %}
|
|
128
|
-
</div>
|
|
1
|
+
|
|
2
|
+
<footer class="ab-footer">
|
|
3
|
+
<div class="ab-footer-inner">
|
|
4
|
+
<div class="ab-footer-columns">
|
|
5
|
+
<div class="ab-footer-col ab-footer-brand">
|
|
6
|
+
<a href="/" class="ab-footer-logo">
|
|
7
|
+
{% if logo != "" %}
|
|
8
|
+
<img src="{{ logo }}" alt="{{ store_name }}" />
|
|
9
|
+
{% else %}
|
|
10
|
+
<span class="ab-footer-logo-text">{{ store_name }}</span>
|
|
11
|
+
{% endif %}
|
|
12
|
+
</a>
|
|
13
|
+
{% if has_contact %}
|
|
14
|
+
<address class="ab-footer-contact">
|
|
15
|
+
{% if phone != "" %}
|
|
16
|
+
<a href="tel:{{ phone }}" class="ab-footer-contact-item">
|
|
17
|
+
<span class="ab-footer-contact-icon ab-fci-phone" aria-hidden="true"></span>
|
|
18
|
+
<span dir="ltr">{{ phone }}</span>
|
|
19
|
+
</a>
|
|
20
|
+
{% endif %}
|
|
21
|
+
{% if email != "" %}
|
|
22
|
+
<a href="mailto:{{ email }}" class="ab-footer-contact-item">
|
|
23
|
+
<span class="ab-footer-contact-icon ab-fci-email" aria-hidden="true"></span>
|
|
24
|
+
{{ email }}
|
|
25
|
+
</a>
|
|
26
|
+
{% endif %}
|
|
27
|
+
{% if address != "" %}
|
|
28
|
+
<span class="ab-footer-contact-item">
|
|
29
|
+
<span class="ab-footer-contact-icon ab-fci-address" aria-hidden="true"></span>
|
|
30
|
+
{{ address }}
|
|
31
|
+
</span>
|
|
32
|
+
{% endif %}
|
|
33
|
+
</address>
|
|
34
|
+
{% endif %}
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
{% if categories.size > 0 %}
|
|
38
|
+
<div class="ab-footer-col">
|
|
39
|
+
<h4 class="ab-footer-heading">{{ shop_label }}</h4>
|
|
40
|
+
<ul class="ab-footer-links">
|
|
41
|
+
{% for cat in categories %}
|
|
42
|
+
<li><a href="/collections/{{ cat.slug }}">{{ cat.name }}</a></li>
|
|
43
|
+
{% endfor %}
|
|
44
|
+
</ul>
|
|
45
|
+
</div>
|
|
46
|
+
{% endif %}
|
|
47
|
+
|
|
48
|
+
{% if pages.size > 0 %}
|
|
49
|
+
<div class="ab-footer-col">
|
|
50
|
+
<h4 class="ab-footer-heading">{{ help_label }}</h4>
|
|
51
|
+
<ul class="ab-footer-links">
|
|
52
|
+
{% for page in pages %}
|
|
53
|
+
<li><a href="/pages/{{ page.slug }}">{{ page.title }}</a></li>
|
|
54
|
+
{% endfor %}
|
|
55
|
+
</ul>
|
|
56
|
+
</div>
|
|
57
|
+
{% endif %}
|
|
58
|
+
</div>
|
|
59
|
+
|
|
60
|
+
<div class="ab-footer-right">
|
|
61
|
+
<div class="ab-footer-subscribe">
|
|
62
|
+
<h4 class="ab-footer-heading">{{ subscribe_label }}</h4>
|
|
63
|
+
<form
|
|
64
|
+
class="ab-footer-subscribe-form"
|
|
65
|
+
novalidate
|
|
66
|
+
onsubmit="
|
|
67
|
+
event.preventDefault();
|
|
68
|
+
if (!this.checkValidity()) {
|
|
69
|
+
this.reportValidity();
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
var input = this.elements.email;
|
|
73
|
+
var email = input && input.value ? String(input.value).trim() : '';
|
|
74
|
+
this.dispatchEvent(
|
|
75
|
+
new CustomEvent('footer-subscribe', {
|
|
76
|
+
bubbles: true,
|
|
77
|
+
detail: { email: email }
|
|
78
|
+
})
|
|
79
|
+
);
|
|
80
|
+
this.reset()
|
|
81
|
+
"
|
|
82
|
+
>
|
|
83
|
+
<input
|
|
84
|
+
type="email"
|
|
85
|
+
name="email"
|
|
86
|
+
class="ab-footer-subscribe-input"
|
|
87
|
+
placeholder="{{ email_placeholder }}"
|
|
88
|
+
autocomplete="email"
|
|
89
|
+
inputmode="email"
|
|
90
|
+
maxlength="254"
|
|
91
|
+
pattern="[^@\s]+@[^@\s]+\.[^@\s]+"
|
|
92
|
+
title="{{ email_placeholder }}"
|
|
93
|
+
required
|
|
94
|
+
aria-required="true"
|
|
95
|
+
/>
|
|
96
|
+
<button type="submit" class="ab-footer-subscribe-btn" aria-label="Subscribe">
|
|
97
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
|
|
98
|
+
</button>
|
|
99
|
+
</form>
|
|
100
|
+
</div>
|
|
101
|
+
|
|
102
|
+
{% if social.size > 0 %}
|
|
103
|
+
<div class="ab-footer-social">
|
|
104
|
+
<p class="ab-footer-social-label">{{ follow_label }}</p>
|
|
105
|
+
<div class="ab-footer-social-icons">
|
|
106
|
+
{% for item in social %}
|
|
107
|
+
<a href="{{ item.url }}" target="_blank" rel="noreferrer" aria-label="{{ item.label }}">
|
|
108
|
+
<span class="ab-footer-social-img" style="-webkit-mask-image:url({{ item.icon }});mask-image:url({{ item.icon }})"></span>
|
|
109
|
+
</a>
|
|
110
|
+
{% endfor %}
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
{% endif %}
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
|
|
117
|
+
<div class="ab-footer-bottom">
|
|
118
|
+
{% if payment_img != "" %}
|
|
119
|
+
<div class="ab-footer-payment">
|
|
120
|
+
<img src="{{ payment_img }}" alt="Accepted payment methods" />
|
|
121
|
+
</div>
|
|
122
|
+
{% endif %}
|
|
123
|
+
|
|
124
|
+
<p class="ab-footer-copy">© {{ year }} {{ store_name }}. {{ rights_label }}</p>
|
|
125
|
+
{% if show_powered %}
|
|
126
|
+
<p class="ab-footer-powered">Powered by <a href="https://www.easy-orders.net" target="_blank" rel="noreferrer">easyorders</a></p>
|
|
127
|
+
{% endif %}
|
|
128
|
+
</div>
|
|
129
129
|
</footer>
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
<div class="ab-gallery">
|
|
2
|
-
<div class="ab-gallery-main" data-gallery-open>
|
|
3
|
-
{% if mainImage contains '.mp4' %}
|
|
4
|
-
<video
|
|
5
|
-
src="{{ mainImage }}"
|
|
6
|
-
class="ab-gallery-main-media"
|
|
7
|
-
controls
|
|
8
|
-
playsinline
|
|
9
|
-
autoplay
|
|
10
|
-
muted
|
|
11
|
-
preload="metadata"
|
|
12
|
-
></video>
|
|
13
|
-
{% else %}
|
|
14
|
-
<img
|
|
15
|
-
id="gallery-main-image"
|
|
16
|
-
src="{{ mainImage }}"
|
|
17
|
-
alt="{{ product_name }}"
|
|
18
|
-
class="ab-gallery-main-media"
|
|
19
|
-
/>
|
|
20
|
-
{% endif %}
|
|
21
|
-
<button class="ab-gallery-zoom" type="button" aria-label="Zoom image" data-gallery-open>
|
|
22
|
-
<span>+</span>
|
|
23
|
-
</button>
|
|
24
|
-
</div>
|
|
25
|
-
|
|
26
|
-
{% if images.size > 1 %}
|
|
27
|
-
<div class="ab-gallery-thumbs">
|
|
28
|
-
{% for image in images %}
|
|
29
|
-
<button
|
|
30
|
-
class="ab-gallery-thumb{% if image == mainImage %} ab-active{% endif %}"
|
|
31
|
-
data-src="{{ image }}"
|
|
32
|
-
type="button"
|
|
33
|
-
aria-label="View image {{ forloop.index }}"
|
|
34
|
-
>
|
|
35
|
-
{% if image contains '.mp4' %}
|
|
36
|
-
<video src="{{ image }}" muted playsinline preload="metadata"></video>
|
|
37
|
-
{% else %}
|
|
38
|
-
<img src="{{ image }}" alt="{{ product_name }}" loading="lazy" />
|
|
39
|
-
{% endif %}
|
|
40
|
-
</button>
|
|
41
|
-
{% endfor %}
|
|
42
|
-
</div>
|
|
43
|
-
{% endif %}
|
|
44
|
-
|
|
45
|
-
<div class="ab-lightbox" data-lightbox>
|
|
46
|
-
<div class="ab-lightbox-backdrop" data-lightbox-close></div>
|
|
47
|
-
<button class="ab-lightbox-close" data-lightbox-close aria-label="Close">×</button>
|
|
48
|
-
{% if images.size > 1 %}
|
|
49
|
-
<button class="ab-lightbox-arrow ab-lightbox-prev" data-lightbox-prev aria-label="Previous">
|
|
50
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="15 18 9 12 15 6"/></svg>
|
|
51
|
-
</button>
|
|
52
|
-
<button class="ab-lightbox-arrow ab-lightbox-next" data-lightbox-next aria-label="Next">
|
|
53
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="9 6 15 12 9 18"/></svg>
|
|
54
|
-
</button>
|
|
55
|
-
<div class="ab-lightbox-counter" data-lightbox-counter></div>
|
|
56
|
-
{% endif %}
|
|
57
|
-
<div class="ab-lightbox-body">
|
|
58
|
-
<img src="" alt="" class="ab-lightbox-img" data-lightbox-img />
|
|
59
|
-
</div>
|
|
60
|
-
</div>
|
|
61
|
-
</div>
|
|
1
|
+
<div class="ab-gallery">
|
|
2
|
+
<div class="ab-gallery-main" data-gallery-open>
|
|
3
|
+
{% if mainImage contains '.mp4' %}
|
|
4
|
+
<video
|
|
5
|
+
src="{{ mainImage }}"
|
|
6
|
+
class="ab-gallery-main-media"
|
|
7
|
+
controls
|
|
8
|
+
playsinline
|
|
9
|
+
autoplay
|
|
10
|
+
muted
|
|
11
|
+
preload="metadata"
|
|
12
|
+
></video>
|
|
13
|
+
{% else %}
|
|
14
|
+
<img
|
|
15
|
+
id="gallery-main-image"
|
|
16
|
+
src="{{ mainImage }}"
|
|
17
|
+
alt="{{ product_name }}"
|
|
18
|
+
class="ab-gallery-main-media"
|
|
19
|
+
/>
|
|
20
|
+
{% endif %}
|
|
21
|
+
<button class="ab-gallery-zoom" type="button" aria-label="Zoom image" data-gallery-open>
|
|
22
|
+
<span>+</span>
|
|
23
|
+
</button>
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
{% if images.size > 1 %}
|
|
27
|
+
<div class="ab-gallery-thumbs">
|
|
28
|
+
{% for image in images %}
|
|
29
|
+
<button
|
|
30
|
+
class="ab-gallery-thumb{% if image == mainImage %} ab-active{% endif %}"
|
|
31
|
+
data-src="{{ image }}"
|
|
32
|
+
type="button"
|
|
33
|
+
aria-label="View image {{ forloop.index }}"
|
|
34
|
+
>
|
|
35
|
+
{% if image contains '.mp4' %}
|
|
36
|
+
<video src="{{ image }}" muted playsinline preload="metadata"></video>
|
|
37
|
+
{% else %}
|
|
38
|
+
<img src="{{ image }}" alt="{{ product_name }}" loading="lazy" />
|
|
39
|
+
{% endif %}
|
|
40
|
+
</button>
|
|
41
|
+
{% endfor %}
|
|
42
|
+
</div>
|
|
43
|
+
{% endif %}
|
|
44
|
+
|
|
45
|
+
<div class="ab-lightbox" data-lightbox>
|
|
46
|
+
<div class="ab-lightbox-backdrop" data-lightbox-close></div>
|
|
47
|
+
<button class="ab-lightbox-close" data-lightbox-close aria-label="Close">×</button>
|
|
48
|
+
{% if images.size > 1 %}
|
|
49
|
+
<button class="ab-lightbox-arrow ab-lightbox-prev" data-lightbox-prev aria-label="Previous">
|
|
50
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="15 18 9 12 15 6"/></svg>
|
|
51
|
+
</button>
|
|
52
|
+
<button class="ab-lightbox-arrow ab-lightbox-next" data-lightbox-next aria-label="Next">
|
|
53
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="9 6 15 12 9 18"/></svg>
|
|
54
|
+
</button>
|
|
55
|
+
<div class="ab-lightbox-counter" data-lightbox-counter></div>
|
|
56
|
+
{% endif %}
|
|
57
|
+
<div class="ab-lightbox-body">
|
|
58
|
+
<img src="" alt="" class="ab-lightbox-img" data-lightbox-img />
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|