zz-shopify-components 0.3.0 → 0.3.1-beta.1
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/assets/zz-components.css +8 -0
- package/blocks/zz-accessories-item.liquid +1 -3
- package/blocks/zz-accessories-price-item.liquid +183 -0
- package/blocks/zz-accessories-swiper.liquid +4 -1
- package/blocks/zz-flex-layout-bg-block.liquid +51 -3
- package/blocks/zz-flex-layout-block.liquid +36 -5
- package/package.json +1 -1
- package/snippets/locksmith-content-variables.liquid +5 -11
- package/snippets/locksmith-variables.liquid +2 -2
- package/snippets/locksmith.liquid +46 -2
- package/snippets/zz-img-md.liquid +3 -4
- package/snippets/zz-img.liquid +4 -5
package/assets/zz-components.css
CHANGED
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
<style>
|
|
2
|
+
|
|
3
|
+
#shopify-block-{{ block.id }} {
|
|
4
|
+
width: 320px;
|
|
5
|
+
height: fit-content;
|
|
6
|
+
}
|
|
7
|
+
#shopify-block-{{ block.id }} .banner-item {
|
|
8
|
+
position: relative;
|
|
9
|
+
width: 320px;
|
|
10
|
+
height: 438px;
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
background: {{ block.settings.banner_bg_color }};
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
@media screen and (max-width: 1023px) {
|
|
16
|
+
|
|
17
|
+
#shopify-block-{{ block.id }} {
|
|
18
|
+
width: 100%;
|
|
19
|
+
}
|
|
20
|
+
#shopify-block-{{ block.id }} .banner-item {
|
|
21
|
+
width: 100%;
|
|
22
|
+
height: auto;
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
}
|
|
27
|
+
</style>
|
|
28
|
+
|
|
29
|
+
{% assign btn_class = 'zz-accessories-item-btn' | append: block.id %}
|
|
30
|
+
|
|
31
|
+
<div class='banner-item tw-pb-[20px] tw-px-[20px] tw-rounded-[12px] lg:tw-rounded-[16px]'>
|
|
32
|
+
<div class='max-lg:tw-px-[15px]'>
|
|
33
|
+
{% render 'zz-img',
|
|
34
|
+
pc_image: block.settings.image_pc,
|
|
35
|
+
mb_image: block.settings.image,
|
|
36
|
+
image_alt: block.settings.slide_title,
|
|
37
|
+
pc_width: 915,
|
|
38
|
+
mb_width: 640,
|
|
39
|
+
%}
|
|
40
|
+
</div>
|
|
41
|
+
<div class="tw-flex tw-flex-col tw-justify-center tw-items-center lg:tw-h-[110px]">
|
|
42
|
+
<p
|
|
43
|
+
class='slide-title tw-mt-[20px] lg:tw-mt-[30px] tw-mb-[8px] tw-text-[16px] lg:tw-text-[18px] tw-leading-[1.2] tw-text-center tw-font-bold tw-text-black'
|
|
44
|
+
style='color: {{ block.settings.slide_title_color }};'>
|
|
45
|
+
{{ block.settings.slide_title }}
|
|
46
|
+
</p>
|
|
47
|
+
{% content_for 'blocks' %}
|
|
48
|
+
</div>
|
|
49
|
+
<a
|
|
50
|
+
class='tw-block {{ btn_class }} tw-mx-auto tw-mt-[30px] tw-px-[28px] lg:tw-px-[12px] tw-w-fit tw-h-[42px] lg:tw-h-[28px] tw-rounded-[3px] tw-cursor-pointer tw-text-white tw-font-medium tw-text-[16px] lg:tw-text-[14px] tw-leading-[42px] lg:tw-leading-[28px] tw-bg-black tw-transition hover:tw-bg-black/80'
|
|
51
|
+
style='background: {{ block.settings.btn_bg_color }}; color: {{ block.settings.btn_text_color }};hover: color: {{ block.settings.btn_hover_color }};'
|
|
52
|
+
href='{{ block.settings.url }}'
|
|
53
|
+
>
|
|
54
|
+
{{ block.settings.btn_text }}
|
|
55
|
+
</a>
|
|
56
|
+
</div>
|
|
57
|
+
|
|
58
|
+
{% if block.settings.function_type == 'link_map' %}
|
|
59
|
+
<script>
|
|
60
|
+
document.addEventListener('DOMContentLoaded', (event) => {
|
|
61
|
+
const btns = document.querySelectorAll('.{{ btn_class }}')
|
|
62
|
+
if(btns && btns[0]) {
|
|
63
|
+
if(window.bindSiteJump) {
|
|
64
|
+
bindSiteJump(btns[0], {{ block.settings.links | json }})
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
})
|
|
69
|
+
</script>
|
|
70
|
+
{% endif %}
|
|
71
|
+
|
|
72
|
+
{% schema %}
|
|
73
|
+
{
|
|
74
|
+
"name": "Accessories Price Item",
|
|
75
|
+
"settings": [
|
|
76
|
+
{
|
|
77
|
+
"type": "color",
|
|
78
|
+
"id": "banner_bg_color",
|
|
79
|
+
"default": "#F5F5F6",
|
|
80
|
+
"label": "轮播卡片背景色"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"type": "image_picker",
|
|
84
|
+
"id": "image_pc",
|
|
85
|
+
"label": "Image"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"type": "image_picker",
|
|
89
|
+
"id": "image",
|
|
90
|
+
"label": "Image(mobile)"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"type": "text",
|
|
94
|
+
"id": "slide_title",
|
|
95
|
+
"label": "标题"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"type": "color",
|
|
99
|
+
"id": "slide_title_color",
|
|
100
|
+
"default": "#000000",
|
|
101
|
+
"label": "标题颜色"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"type": "richtext",
|
|
105
|
+
"id": "slide_content",
|
|
106
|
+
"label": "内容"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"type": "color",
|
|
110
|
+
"id": "slide_content_color",
|
|
111
|
+
"default": "#170B01",
|
|
112
|
+
"label": "内容颜色"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"type": "text",
|
|
116
|
+
"id": "btn_text",
|
|
117
|
+
"label": "按钮文字",
|
|
118
|
+
"default": "Buy Now"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"type": "color",
|
|
122
|
+
"id": "btn_bg_color",
|
|
123
|
+
"default": "#000000",
|
|
124
|
+
"label": "按钮背景颜色"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"type": "color",
|
|
128
|
+
"id": "btn_hover_color",
|
|
129
|
+
"default": "#000000",
|
|
130
|
+
"label": "按钮hover颜色"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"type": "color",
|
|
134
|
+
"id": "btn_text_color",
|
|
135
|
+
"default": "#FFFFFF",
|
|
136
|
+
"label": "按钮文字颜色"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"type": "select",
|
|
140
|
+
"id": "function_type",
|
|
141
|
+
"label": "功能类型",
|
|
142
|
+
"options": [
|
|
143
|
+
{
|
|
144
|
+
"value": "link",
|
|
145
|
+
"label": "链接"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"value": "link_map",
|
|
149
|
+
"label": "多国家映射"
|
|
150
|
+
},
|
|
151
|
+
],
|
|
152
|
+
"default": "link"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"type": "url",
|
|
156
|
+
"id": "url",
|
|
157
|
+
"label": "按钮链接",
|
|
158
|
+
"visible_if": "{{ block.settings.function_type == 'link' }}"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"type": "textarea",
|
|
162
|
+
"id": "links",
|
|
163
|
+
"label": "Sites Link Map",
|
|
164
|
+
"info": "国家对应链接的表,国家即是国家选择器上显示的字段,国家和路由之间用冒号隔开( 冒号后要加空格)。国家之间换行,“default”为其他未写的默认的链接 EG: Canada: https://hoverair.com/ default: https://hoverair.com/ ",
|
|
165
|
+
"visible_if": "{{ block.settings.function_type == 'link_map' }}"
|
|
166
|
+
},
|
|
167
|
+
],
|
|
168
|
+
|
|
169
|
+
"blocks": [
|
|
170
|
+
{
|
|
171
|
+
"type": "zz-price-tag"
|
|
172
|
+
},
|
|
173
|
+
],
|
|
174
|
+
"presets": [
|
|
175
|
+
{
|
|
176
|
+
"name": "商品+价格 Buy Item"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"name": "Accessories Price Item"
|
|
180
|
+
}
|
|
181
|
+
]
|
|
182
|
+
}
|
|
183
|
+
{% endschema %}
|
|
@@ -209,6 +209,9 @@
|
|
|
209
209
|
"blocks": [
|
|
210
210
|
{
|
|
211
211
|
"type": "zz-accessories-item"
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"type": "zz-accessories-price-item",
|
|
212
215
|
}
|
|
213
216
|
],
|
|
214
217
|
"presets": [
|
|
@@ -216,7 +219,7 @@
|
|
|
216
219
|
"name": "Accessories Swiper Block"
|
|
217
220
|
},
|
|
218
221
|
{
|
|
219
|
-
"name": "
|
|
222
|
+
"name": "商品轮播"
|
|
220
223
|
}
|
|
221
224
|
]
|
|
222
225
|
}
|
|
@@ -159,6 +159,13 @@
|
|
|
159
159
|
"info": "非全屏展示时有效",
|
|
160
160
|
"visible_if": "{{ block.settings.pc_full_width == false }}"
|
|
161
161
|
},
|
|
162
|
+
{
|
|
163
|
+
"type": "number",
|
|
164
|
+
"id": "pc_fixed_height",
|
|
165
|
+
"label": "PC端固定高度",
|
|
166
|
+
"default": 0,
|
|
167
|
+
"info": "默认自适应高度,单位:px",
|
|
168
|
+
},
|
|
162
169
|
{
|
|
163
170
|
"type": "header",
|
|
164
171
|
"content": "📱 移动端布局设置"
|
|
@@ -291,6 +298,23 @@
|
|
|
291
298
|
"info": "国家对应链接的表,国家即是国家选择器上显示的字段,国家和路由之间用冒号隔开( 冒号后要加空格)。国家之间换行,“default”为其他未写的默认的链接 EG: Canada: https://hoverair.com/ default: https://hoverair.com/ ",
|
|
292
299
|
"visible_if": "{{ block.settings.function_type == 'link_map' and block.settings.has_link == true }}"
|
|
293
300
|
},
|
|
301
|
+
{
|
|
302
|
+
"type": "select",
|
|
303
|
+
"id": "pc_mobile_show",
|
|
304
|
+
"label": "PC/移动端分开显示",
|
|
305
|
+
"options": [
|
|
306
|
+
{ "value": "pc_mobile_show", "label": "PC/移动端都显示" },
|
|
307
|
+
{ "value": "pc_only", "label": "PC端显示" },
|
|
308
|
+
{ "value": "mobile_only", "label": "移动端显示" }
|
|
309
|
+
],
|
|
310
|
+
"default": "pc_mobile_show"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"type": "checkbox",
|
|
314
|
+
"id": "overflow_x_hidden",
|
|
315
|
+
"label": "是否禁止横轴移动",
|
|
316
|
+
"default": true
|
|
317
|
+
}
|
|
294
318
|
|
|
295
319
|
],
|
|
296
320
|
"blocks": [
|
|
@@ -372,10 +396,26 @@
|
|
|
372
396
|
#shopify-block-{{ block.id }} {
|
|
373
397
|
width: 100%;
|
|
374
398
|
position: relative;
|
|
375
|
-
|
|
399
|
+
{% if block.settings.overflow_x_hidden %}
|
|
400
|
+
overflow-x: hidden;
|
|
401
|
+
{% endif %}
|
|
376
402
|
background-color: {{ block.settings.background_color }};
|
|
377
403
|
}
|
|
404
|
+
{% if block.settings.pc_mobile_show == "pc_only" %}
|
|
405
|
+
@media (max-width: 1023px) {
|
|
406
|
+
#shopify-block-{{ block.id }} {
|
|
407
|
+
display: none;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
{% endif %}
|
|
378
411
|
|
|
412
|
+
{% if block.settings.pc_mobile_show == "mobile_only" %}
|
|
413
|
+
@media (min-width: 1024px) {
|
|
414
|
+
#shopify-block-{{ block.id }} {
|
|
415
|
+
display: none;
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
{% endif %}
|
|
379
419
|
#shopify-block-{{ block.id }} .flex-layout-video {
|
|
380
420
|
width: 100%;
|
|
381
421
|
height: auto;
|
|
@@ -421,6 +461,14 @@
|
|
|
421
461
|
transform: translateX(-50%);
|
|
422
462
|
{% endif %}
|
|
423
463
|
}
|
|
464
|
+
{% if block.settings.pc_fixed_height != 0 %}
|
|
465
|
+
#shopify-block-{{ block.id }} .flex-layout-image {
|
|
466
|
+
height: {{ block.settings.pc_fixed_height }}px;
|
|
467
|
+
}
|
|
468
|
+
#shopify-block-{{ block.id }} .flex-layout-image {
|
|
469
|
+
height: {{ block.settings.pc_fixed_height }}px;
|
|
470
|
+
}
|
|
471
|
+
{% endif %}
|
|
424
472
|
}
|
|
425
473
|
|
|
426
474
|
@media (min-width: 1280px) {
|
|
@@ -457,8 +505,8 @@
|
|
|
457
505
|
{% render 'zz-img',
|
|
458
506
|
pc_image: block.settings.pc_background_image,
|
|
459
507
|
mb_image: block.settings.mobile_background_image,
|
|
460
|
-
pc_width:
|
|
461
|
-
mb_width:
|
|
508
|
+
pc_width: 4000,
|
|
509
|
+
mb_width: 1200,
|
|
462
510
|
class_name: 'flex-layout-image',
|
|
463
511
|
%}
|
|
464
512
|
{% endif %}
|
|
@@ -176,6 +176,7 @@
|
|
|
176
176
|
"label": "移动端圆角 (px)",
|
|
177
177
|
"default": 0
|
|
178
178
|
},
|
|
179
|
+
|
|
179
180
|
{
|
|
180
181
|
"type": "header",
|
|
181
182
|
"content": "动画设置"
|
|
@@ -206,6 +207,23 @@
|
|
|
206
207
|
],
|
|
207
208
|
"default": "none-animation"
|
|
208
209
|
},
|
|
210
|
+
{
|
|
211
|
+
"type": "select",
|
|
212
|
+
"id": "pc_mobile_show",
|
|
213
|
+
"label": "PC/移动端分开显示",
|
|
214
|
+
"options": [
|
|
215
|
+
{ "value": "pc_mobile_show", "label": "PC/移动端都显示" },
|
|
216
|
+
{ "value": "pc_only", "label": "PC端显示" },
|
|
217
|
+
{ "value": "mobile_only", "label": "移动端显示" }
|
|
218
|
+
],
|
|
219
|
+
"default": "pc_mobile_show"
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"type": "checkbox",
|
|
223
|
+
"id": "overflow_x_hidden",
|
|
224
|
+
"label": "是否禁止横轴移动",
|
|
225
|
+
"default": true
|
|
226
|
+
}
|
|
209
227
|
|
|
210
228
|
],
|
|
211
229
|
"blocks": [
|
|
@@ -487,12 +505,26 @@
|
|
|
487
505
|
<style>
|
|
488
506
|
#shopify-block-{{ block.id }} {
|
|
489
507
|
width: 100%;
|
|
490
|
-
|
|
508
|
+
{% if block.settings.overflow_x_hidden %}
|
|
509
|
+
overflow-x: hidden;
|
|
510
|
+
{% endif %}
|
|
491
511
|
}
|
|
512
|
+
{% if block.settings.pc_mobile_show == "pc_only" %}
|
|
513
|
+
@media (max-width: 1023px) {
|
|
514
|
+
#shopify-block-{{ block.id }} {
|
|
515
|
+
display: none;
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
{% endif %}
|
|
519
|
+
|
|
520
|
+
{% if block.settings.pc_mobile_show == "mobile_only" %}
|
|
521
|
+
@media (min-width: 1024px) {
|
|
522
|
+
#shopify-block-{{ block.id }} {
|
|
523
|
+
display: none;
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
{% endif %}
|
|
492
527
|
|
|
493
|
-
#shopify-block-{{ block.id }}.flex-layout-block{
|
|
494
|
-
display: flex;
|
|
495
|
-
}
|
|
496
528
|
|
|
497
529
|
#shopify-block-{{ block.id }} .flex-layout-block-container {
|
|
498
530
|
box-sizing: border-box;
|
|
@@ -546,4 +578,3 @@
|
|
|
546
578
|
<div class="flex-layout-block-container {{ block.settings.self_animation }} {{ block.settings.child_animation }}">
|
|
547
579
|
{% content_for 'blocks' %}
|
|
548
580
|
</div>
|
|
549
|
-
|
package/package.json
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
Do not modify this file. Any changes will be reset the next time that
|
|
5
5
|
Locksmith interacts with this theme.
|
|
6
6
|
|
|
7
|
-
Last updated:
|
|
7
|
+
Last updated: Tue, 12 Aug 2025 18:05:48 -0700 (PDT)
|
|
8
8
|
{% endcomment -%}
|
|
9
9
|
|
|
10
|
-
{%assign _p=cart%}{%assign
|
|
10
|
+
{%assign _p=cart%}{%assign _d=customer%}{%assign _l=theme%}{%capture _%}{%assign _h=_9%}{%capture locksmith_client%}<script data-locksmith>!function(){var require=undefined,reqwest=function(){function succeed(e){var t=protocolRe.exec(e.url);return t=t&&t[1]||context.location.protocol,httpsRe.test(t)?twoHundo.test(e.request.status):!!e.request.response}function handleReadyState(e,t,n){return function(){return e._aborted?n(e.request):e._timedOut?n(e.request,"Request is aborted: timeout"):void(e.request&&4==e.request[readyState]&&(e.request.onreadystatechange=noop,succeed(e)?t(e.request):n(e.request)))}}function setHeaders(e,t){var n,s=t.headers||{};s.Accept=s.Accept||defaultHeaders.accept[t.type]||defaultHeaders.accept["*"];var r="undefined"!=typeof FormData&&t.data instanceof FormData;for(n in!t.crossOrigin&&!s[requestedWith]&&(s[requestedWith]=defaultHeaders.requestedWith),!s[contentType]&&!r&&(s[contentType]=t.contentType||defaultHeaders.contentType),s)s.hasOwnProperty(n)&&"setRequestHeader"in e&&e.setRequestHeader(n,s[n])}function setCredentials(e,t){"undefined"!=typeof t.withCredentials&&"undefined"!=typeof e.withCredentials&&(e.withCredentials=!!t.withCredentials)}function generalCallback(e){lastValue=e}function urlappend(e,t){return e+(/[?]/.test(e)?"&":"?")+t}function handleJsonp(e,t,n,s){var r=uniqid++,o=e.jsonpCallback||"callback",a=e.jsonpCallbackName||reqwest.getcallbackPrefix(r),i=new RegExp("((^|[?]|&)"+o+")=([^&]+)"),l=s.match(i),c=doc.createElement("script"),u=0,d=-1!==navigator.userAgent.indexOf("MSIE 10.0");return l?"?"===l[3]?s=s.replace(i,"$1="+a):a=l[3]:s=urlappend(s,o+"="+a),context[a]=generalCallback,c.type="text/javascript",c.src=s,c.async=!0,"undefined"!=typeof c.onreadystatechange&&!d&&(c.htmlFor=c.id="_reqwest_"+r),c.onload=c.onreadystatechange=function(){if(c[readyState]&&"complete"!==c[readyState]&&"loaded"!==c[readyState]||u)return!1;c.onload=c.onreadystatechange=null,c.onclick&&c.onclick(),t(lastValue),lastValue=undefined,head.removeChild(c),u=1},head.appendChild(c),{abort:function(){c.onload=c.onreadystatechange=null,n({},"Request is aborted: timeout",{}),lastValue=undefined,head.removeChild(c),u=1}}}function getRequest(e,t){var n,s=this.o,r=(s.method||"GET").toUpperCase(),o="string"==typeof s?s:s.url,a=!1!==s.processData&&s.data&&"string"!=typeof s.data?reqwest.toQueryString(s.data):s.data||null,i=!1;return("jsonp"==s.type||"GET"==r)&&a&&(o=urlappend(o,a),a=null),"jsonp"==s.type?handleJsonp(s,e,t,o):((n=s.xhr&&s.xhr(s)||xhr(s)).open(r,o,!1!==s.async),setHeaders(n,s),setCredentials(n,s),context[xDomainRequest]&&n instanceof context[xDomainRequest]?(n.onload=e,n.onerror=t,n.onprogress=function(){},i=!0):n.onreadystatechange=handleReadyState(this,e,t),s.before&&s.before(n),i?setTimeout(function(){n.send(a)},200):n.send(a),n)}function Reqwest(e,t){this.o=e,this.fn=t,init.apply(this,arguments)}function setType(e){return null===e?undefined:e.match("json")?"json":e.match("javascript")?"js":e.match("text")?"html":e.match("xml")?"xml":void 0}function init(o,fn){function complete(e){for(o.timeout&&clearTimeout(self.timeout),self.timeout=null;0<self._completeHandlers.length;)self._completeHandlers.shift()(e)}function success(resp){var type=o.type||resp&&setType(resp.getResponseHeader("Content-Type"));resp="jsonp"!==type?self.request:resp;var filteredResponse=globalSetupOptions.dataFilter(resp.responseText,type),r=filteredResponse;try{resp.responseText=r}catch(e){}if(r)switch(type){case"json":try{resp=context.JSON?context.JSON.parse(r):eval("("+r+")")}catch(err){return error(resp,"Could not parse JSON in response",err)}break;case"js":resp=eval(r);break;case"html":resp=r;break;case"xml":resp=resp.responseXML&&resp.responseXML.parseError&&resp.responseXML.parseError.errorCode&&resp.responseXML.parseError.reason?null:resp.responseXML}for(self._responseArgs.resp=resp,self._fulfilled=!0,fn(resp),self._successHandler(resp);0<self._fulfillmentHandlers.length;)resp=self._fulfillmentHandlers.shift()(resp);complete(resp)}function timedOut(){self._timedOut=!0,self.request.abort()}function error(e,t,n){for(e=self.request,self._responseArgs.resp=e,self._responseArgs.msg=t,self._responseArgs.t=n,self._erred=!0;0<self._errorHandlers.length;)self._errorHandlers.shift()(e,t,n);complete(e)}this.url="string"==typeof o?o:o.url,this.timeout=null,this._fulfilled=!1,this._successHandler=function(){},this._fulfillmentHandlers=[],this._errorHandlers=[],this._completeHandlers=[],this._erred=!1,this._responseArgs={};var self=this;fn=fn||function(){},o.timeout&&(this.timeout=setTimeout(function(){timedOut()},o.timeout)),o.success&&(this._successHandler=function(){o.success.apply(o,arguments)}),o.error&&this._errorHandlers.push(function(){o.error.apply(o,arguments)}),o.complete&&this._completeHandlers.push(function(){o.complete.apply(o,arguments)}),this.request=getRequest.call(this,success,error)}function reqwest(e,t){return new Reqwest(e,t)}function normalize(e){return e?e.replace(/\r?\n/g,"\r\n"):""}function serial(e,t){var n,s,r,o,a=e.name,i=e.tagName.toLowerCase(),l=function(e){e&&!e.disabled&&t(a,normalize(e.attributes.value&&e.attributes.value.specified?e.value:e.text))};if(!e.disabled&&a)switch(i){case"input":/reset|button|image|file/i.test(e.type)||(n=/checkbox/i.test(e.type),s=/radio/i.test(e.type),r=e.value,(!n&&!s||e.checked)&&t(a,normalize(n&&""===r?"on":r)));break;case"textarea":t(a,normalize(e.value));break;case"select":if("select-one"===e.type.toLowerCase())l(0<=e.selectedIndex?e.options[e.selectedIndex]:null);else for(o=0;e.length&&o<e.length;o++)e.options[o].selected&&l(e.options[o])}}function eachFormElement(){var e,t,o=this,n=function(e,t){var n,s,r;for(n=0;n<t.length;n++)for(r=e[byTag](t[n]),s=0;s<r.length;s++)serial(r[s],o)};for(t=0;t<arguments.length;t++)e=arguments[t],/input|select|textarea/i.test(e.tagName)&&serial(e,o),n(e,["input","select","textarea"])}function serializeQueryString(){return reqwest.toQueryString(reqwest.serializeArray.apply(null,arguments))}function serializeHash(){var n={};return eachFormElement.apply(function(e,t){e in n?(n[e]&&!isArray(n[e])&&(n[e]=[n[e]]),n[e].push(t)):n[e]=t},arguments),n}function buildParams(e,t,n,s){var r,o,a,i=/\[\]$/;if(isArray(t))for(o=0;t&&o<t.length;o++)a=t[o],n||i.test(e)?s(e,a):buildParams(e+"["+("object"==typeof a?o:"")+"]",a,n,s);else if(t&&"[object Object]"===t.toString())for(r in t)buildParams(e+"["+r+"]",t[r],n,s);else s(e,t)}var context=this,XHR2;if("window"in context)var doc=document,byTag="getElementsByTagName",head=doc[byTag]("head")[0];else try{XHR2=require("xhr2")}catch(ex){throw new Error("Peer dependency `xhr2` required! Please npm install xhr2")}var httpsRe=/^http/,protocolRe=/(^\w+):\/\//,twoHundo=/^(20\d|1223)$/,readyState="readyState",contentType="Content-Type",requestedWith="X-Requested-With",uniqid=0,callbackPrefix="reqwest_"+ +new Date,lastValue,xmlHttpRequest="XMLHttpRequest",xDomainRequest="XDomainRequest",noop=function(){},isArray="function"==typeof Array.isArray?Array.isArray:function(e){return e instanceof Array},defaultHeaders={contentType:"application/x-www-form-urlencoded",requestedWith:xmlHttpRequest,accept:{"*":"text/javascript, text/html, application/xml, text/xml, */*",xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript",js:"application/javascript, text/javascript"}},xhr=function(e){if(!0!==e.crossOrigin)return context[xmlHttpRequest]?new XMLHttpRequest:XHR2?new XHR2:new ActiveXObject("Microsoft.XMLHTTP");var t=context[xmlHttpRequest]?new XMLHttpRequest:null;if(t&&"withCredentials"in t)return t;if(context[xDomainRequest])return new XDomainRequest;throw new Error("Browser does not support cross-origin requests")},globalSetupOptions={dataFilter:function(e){return e}};return Reqwest.prototype={abort:function(){this._aborted=!0,this.request.abort()},retry:function(){init.call(this,this.o,this.fn)},then:function(e,t){return e=e||function(){},t=t||function(){},this._fulfilled?this._responseArgs.resp=e(this._responseArgs.resp):this._erred?t(this._responseArgs.resp,this._responseArgs.msg,this._responseArgs.t):(this._fulfillmentHandlers.push(e),this._errorHandlers.push(t)),this},always:function(e){return this._fulfilled||this._erred?e(this._responseArgs.resp):this._completeHandlers.push(e),this},fail:function(e){return this._erred?e(this._responseArgs.resp,this._responseArgs.msg,this._responseArgs.t):this._errorHandlers.push(e),this},"catch":function(e){return this.fail(e)}},reqwest.serializeArray=function(){var n=[];return eachFormElement.apply(function(e,t){n.push({name:e,value:t})},arguments),n},reqwest.serialize=function(){if(0===arguments.length)return"";var e,t=Array.prototype.slice.call(arguments,0);return(e=t.pop())&&e.nodeType&&t.push(e)&&(e=null),e&&(e=e.type),("map"==e?serializeHash:"array"==e?reqwest.serializeArray:serializeQueryString).apply(null,t)},reqwest.toQueryString=function(e,t){var n,s,r=t||!1,o=[],a=encodeURIComponent,i=function(e,t){t="function"==typeof t?t():null==t?"":t,o[o.length]=a(e)+"="+a(t)};if(isArray(e))for(s=0;e&&s<e.length;s++)i(e[s].name,e[s].value);else for(n in e)e.hasOwnProperty(n)&&buildParams(n,e[n],r,i);return o.join("&").replace(/%20/g,"+")},reqwest.getcallbackPrefix=function(){return callbackPrefix},reqwest.compat=function(e,t){return e&&(e.type&&(e.method=e.type)&&delete e.type,e.dataType&&(e.type=e.dataType),e.jsonpCallback&&(e.jsonpCallbackName=e.jsonpCallback)&&delete e.jsonpCallback,e.jsonp&&(e.jsonpCallback=e.jsonp)),new Reqwest(e,t)},reqwest.ajaxSetup=function(e){for(var t in e=e||{})globalSetupOptions[t]=e[t]},reqwest}();
|
|
11
11
|
/*!
|
|
12
12
|
* Reqwest! A general purpose XHR connection manager
|
|
13
13
|
* license MIT (c) Dustin Diaz 2015
|
|
@@ -41,15 +41,9 @@
|
|
|
41
41
|
var locale = encodeURIComponent('{{request.locale.iso_code}}');
|
|
42
42
|
node.search = `return_to=${returnTo}&locale=${locale}`;
|
|
43
43
|
});
|
|
44
|
-
</script>{%endcapture%}{%assign customer_login_form=locksmith_customer_login_form%}{%assign customer_register_form=locksmith_customer_register_form%}{%unless _lock_guest_content%}{%capture
|
|
45
|
-
<p>This content is protected. Please log in with your customer account to continue.</p>
|
|
44
|
+
</script>{%endcapture%}{%assign customer_login_form=locksmith_customer_login_form%}{%assign customer_register_form=locksmith_customer_register_form%}{%unless _lock_guest_content%}{%capture locksmith_guest_message_basic%}{%if _lock_guest_content != blank%}{{_lock_guest_content}}{%else%}<p>This content is protected. Please log in with your customer account to continue.</p>
|
|
46
45
|
|
|
47
|
-
|
|
48
|
-
</div>{%endif%}{%endcapture%}{%endunless%}{%if locksmith_access_denied_content == blank%}{%capture locksmith_access_denied_content%}{%if _l%}{%if _lock_access_denied_content != blank%}{{_lock_access_denied_content}}{%else%}<div class="page-width">
|
|
49
|
-
<p>This content is protected, but it doesn’t look like you have access. If you feel this is a mistake, please contact the store owner.</p>
|
|
50
|
-
</div>{%endif%}{%if locksmith_manual_lock%}<p><a href="#" onclick="window.parent.__locksmith_hide_frame(); return false;">‹ Back</a></p>{%endif%}{%elsif locksmith_requires_customer%}{{locksmith_guest_content}}{%else%}{%if _lock_access_denied_content != blank%}{{_lock_access_denied_content}}{%else%}<div class="page-width">
|
|
51
|
-
<p>This content is protected, but it doesn’t look like you have access. If you feel this is a mistake, please contact the store owner.</p>
|
|
52
|
-
</div>{%endif%}{%endif%}{%if _h.name contains "Debut"%}<style>
|
|
46
|
+
<div>{{locksmith_customer_login_form}}</div>{%endif%}{%endcapture%}{%capture locksmith_guest_content%}{{locksmith_guest_message_basic}}{%endcapture%}{%endunless%}{%if locksmith_access_denied_content == blank%}{%capture locksmith_access_denied_message_basic%}{%if _d%}{%if _lock_access_denied_content != blank%}{{_lock_access_denied_content}}{%else%}<p>This content is protected, but it doesn’t look like you have access. If you feel this is a mistake, please contact the store owner.</p>{%endif%}{%if locksmith_manual_lock%}<p><a href="#" onclick="window.parent.__locksmith_hide_frame(); return false;">‹ Back</a></p>{%endif%}{%else%}{%if _lock_access_denied_content != blank%}{{_lock_access_denied_content}}{%else%}<p>This content is protected, but it doesn’t look like you have access. If you feel this is a mistake, please contact the store owner.</p>{%endif%}{%endif%}{%endcapture%}{%capture locksmith_access_denied_content%}{%if locksmith_requires_customer and _d == nil%}{{locksmith_guest_content}}{%else%}{{locksmith_access_denied_message_basic}}{%endif%}{%if _l.name contains "Debut"%}<style>
|
|
53
47
|
/* fix for Debut+Gempages, per Gempages technical support */
|
|
54
48
|
html.gemapp.video {
|
|
55
49
|
display: block;
|
|
@@ -57,4 +51,4 @@
|
|
|
57
51
|
</style>{%endif%}{%endcapture%}{%endif%}{%capture locksmith_passcode_form%}<p id="locksmith-passcode-form-content"><strong>…</strong></p>
|
|
58
52
|
<script>Locksmith.postResource({}, {spinner: false, container: 'locksmith-passcode-form-content', form_type: 'passcode'});</script>{%endcapture%}{%capture locksmith_email_form%}<p id="locksmith-newsletter-form-content"><strong>…</strong></p>
|
|
59
53
|
<script>Locksmith.postResource({}, {spinner: false, container: 'locksmith-newsletter-form-content', form_type: 'mailing_list'});</script>{%endcapture%}{%capture locksmith_confirmation_form%}<p id="locksmith-confirmation-form-content"><strong>…</strong></p>
|
|
60
|
-
<script>Locksmith.postResource({}, {spinner: false, container: 'locksmith-confirmation-form-content', form_type: 'confirmation'});</script>{%endcapture%}{%assign _9=
|
|
54
|
+
<script>Locksmith.postResource({}, {spinner: false, container: 'locksmith-confirmation-form-content', form_type: 'confirmation'});</script>{%endcapture%}{%assign _9=_h%}{%endcapture%}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
Do not modify this file. Any changes will be reset the next time that
|
|
5
5
|
Locksmith interacts with this theme.
|
|
6
6
|
|
|
7
|
-
Last updated:
|
|
7
|
+
Last updated: Tue, 12 Aug 2025 18:05:48 -0700 (PDT)
|
|
8
8
|
{% endcomment -%}
|
|
9
9
|
|
|
10
|
-
{%assign _c=false%}{%assign _0o='product_in_collection'%}{%assign _0g='variant'%}{%assign _14='collection'%}{%capture _%}{%assign _0k=_c%}{%assign _8=nil%}{%assign _2o=scope%}{%assign _g=nil%}{%assign _1o=_c%}{%assign _0c=true%}{%assign _1c=_c%}{%assign _1g=_c%}{%assign _0w=_c%}{%assign _10=_c%}{%assign _1k=_c%}{%assign _w='resource'%}{%assign _s=''%}{%assign _00=''%}{%assign _18=''%}{%assign _1s=_c%}{%assign _1w=_c%}{%assign _20=''|split:''%}{%assign _3o=nil%}{%assign _3k=_c%}{%assign _28=nil%}{%assign _3g=_c%}{%assign _3c=nil%}{%assign _38=_c%}{%assign _40=(0..2)%}{%assign _3s=nil%}{%assign _20=""|split:""%}{%assign _0k=true%}{%assign _34="now"|date:"%s"|plus:0%}{%for _30 in _20%}{%assign _0s=_30|split:"-"%}{%assign _3w=_0s[0]%}{%assign _2w=_0s[1]|plus:0%}{%unless _0s[1]%}{%assign skip_timestamp_check=true%}{%endunless%}{%if skip_timestamp_check or _34 < _2w%}{%endif%}{%endfor%}{%if original_template%}{%assign _08=template%}{%assign template=original_template%}{%elsif locksmith_original_template%}{%assign _08=template%}{%assign template=locksmith_original_template%}{%else%}{%assign _08=nil%}{%endif%}{%assign _o=template%}{%assign _04=_o|split:'.'|first%}{%if scope and scope != _0o%}{%assign _8=scope%}{%elsif locksmith_scope and locksmith_scope != _0o%}{%assign _8=locksmith_scope%}{%else%}{%assign _8=_o|split:'/'|first|split:'.'|first%}{%endif%}{%if hiding_scope%}{%assign _w=hiding_scope%}{%elsif locksmith_hiding_scope%}{%assign _w=locksmith_hiding_scope%}{%endif%}{%if _8 == blank%}{%assign _8='app'%}{%endif%}{%if _8 == "app" and content_for_layout contains "spof-container"%}{%assign app="single-page-order-form"%}{%endif%}{%if _8 == "app" and content_for_layout contains "sc-shopify-qs-main-container"%}{%assign app="one-page-quick-shop"%}{%endif%}{%if _8 == "app" and content_for_layout contains "get_surrounding_stores.php"%}{%assign app="store-locator"%}{%endif%}{%if _8 == 'subject'%}{%if subject%}{%assign _4=subject%}{%else%}{%assign _4=locksmith_subject%}{%endif%}{%if subject_parent%}{%assign _k=subject_parent%}{%else%}{%assign _k=locksmith_subject_parent%}{%endif%}{%if _4.price and _4.variants%}{%assign product=_4%}{%assign _8='product'%}{%elsif _4.position and _4.src and _4.variants == nil and _4.position != 1%}{%for _2c in _k.variants%}{%if _2c.featured_media.id == _4.id%}{%assign variant=_2c%}{%assign product=_k%}{%break%}{%endif%}{%endfor%}{%assign _8=_0g%}{%elsif _4.position and _4.product_id and _4.src and _4.position != 1%}{%assign variant=_4.variants.first%}{%assign _8=_0g%}{%if _4.product_id == _k.id%}{%assign product=_k%}{%else%}{%assign product=nil%}{%endif%}{%elsif _4.inventory_policy%}{%assign variant=_4%}{%assign _8=_0g%}{%if _k.variants contains variant%}{%assign product=_k%}{%else%}{%assign _2s=variant.url|split:'?variant='|first|split:'/'|last%}{%assign product=all_products[_2s]%}{%endif%}{%elsif _k.name and _k.position and _k.values contains _4%}{%assign variant=nil%}{%assign variant_option_name=_k.name%}{%assign variant_option_value=_4%}{%assign _8=_0g%}{%assign _44=_k.name%}{%assign _48=_4%}{%elsif _4.all_types and _4.products%}{%assign collection=_4%}{%assign _8=_14%}{%elsif _4.handle and _4.articles%}{%assign blog=_4%}{%assign _8='blog'%}{%elsif _4.content and _4.excerpt and _4.comments%}{%assign article=_4%}{%assign _8='article'%}{%elsif _4.handle and _4.url contains '/pages/' and _4.current == nil%}{%assign page=_4%}{%assign _8='page'%}{%elsif _4.total_price and _4.total_weight%}{%assign cart=_4%}{%assign _8='cart'%}{%elsif _4.type and _4.url%}{%assign _w='link_to_resource'%}{%if _4.type == 'collection_link'%}{%assign collection=_4.object%}{%assign _8=_14%}{%elsif _4.type == 'product_link'%}{%assign product=_4.object%}{%assign _8='product'%}{%elsif _4.type == 'page_link'%}{%assign page=_4.object%}{%assign _8='page'%}{%elsif _4.type == 'blog_link'%}{%assign blog=_4.object%}{%assign _8='blog'%}{%elsif _4.url == '/collections/all'%}{%assign collection=collections.all%}{%assign _8=_14%}{%else%}{%assign _w='resource'%}{%assign link=_4%}{%assign _8='link'%}{%endif%}{%elsif _4.links and _4.title%}{%assign linklist=_4%}{%assign _8='linklist'%}{%elsif shop.vendors contains _4%}{%assign _8='vendor'%}{%assign vendor=_4%}{%endif%}{%endif%}{%if _8 == _0g%}{%assign _38=true%}{%endif%}{%if collection and _8 == 'product'%}{%assign locksmith_scope=_0o%}{%assign scope=_0o%}{%else%}{%assign locksmith_scope=_8%}{%assign scope=_8%}{%endif%}{%if is_edu_checked%}{%assign _s=_s|append:",722911,"%}{%assign _1g=true%}{%endif%}{%assign _s=_s|remove_first:","|replace:",,", ","|split:","%}{%assign _00=_00|remove_first:","|replace:",,", ","|split:","%}{%assign _18=_18|remove_first:","|replace:",,", ","|split:","%}{%assign _2k="722911"|split:","%}{%for _24 in _2k%}{%if _s contains _24%}{%unless _00 contains _24%}{%assign _10=true%}{%endunless%}{%endif%}{%endfor%}{%if request.design_mode or request.host contains ".shopifypreview.com"%}{%unless __locksmith_disable_preview_mode_escape_hatch%}{%assign _1s=true%}{%endunless%}{%endif%}{%if _1s%}{%assign _00=_s%}{%assign _0w=_c%}{%endif%}{%if _0w == _c%}{%assign _0k=true%}{%endif%}{%assign locksmith_lock_ids=_s%}{%assign locksmith_opened_lock_ids=_00%}{%assign locksmith_key_ids=_18%}{%if locksmith_lock_ids.size > 0%}{%assign _1o=true%}{%unless locksmith_opened_lock_ids == locksmith_lock_ids%}{%assign _0c=_c%}{%assign _1c=true%}{%endunless%}{%endif%}{%assign _28=request.locale.root_url%}{%if _0c%}{%assign _1w=_c%}{%endif%}{%assign locksmith_initialized=_0k%}{%assign locksmith_locked=_1o%}{%unless locksmith_scope%}{%assign locksmith_scope=_8%}{%endunless%}{%assign locksmith_access_granted=_0c%}{%assign locksmith_access_denied=_1c%}{%assign locksmith_manual_lock=_1g%}{%assign locksmith_remote_lock=_0w%}{%assign locksmith_hide_resource=_10%}{%assign locksmith_hide_links_to_resource=_1k%}{%assign locksmith_requires_customer=_1w%}{%assign locksmith_redirect=_3o%}{%assign locksmith_noindex=_3k%}{%assign locksmith_locale_root_url=_28%}{%assign locksmith_has_timeout=_3g%}{%assign locksmith_section_replacement_content=_3c%}{%assign locksmith_transparent=_c%}{%if _0c%}{%assign locksmith_transparent=true%}{%elsif _w == 'resource' and _10 == _c%}{%assign locksmith_transparent=true%}{%elsif _w == 'link_to_resource' and _1k == _c%}{%assign locksmith_transparent=true%}{%endif%}{%if _04 == 'product'%}{%capture _g%}{%if collection%}/collections/{{collection.handle}}{%endif%}/products/{{product.handle}}{%endcapture%}{%elsif _04 == _14%}{%capture _g%}/collections/{{collection.handle}}{%endcapture%}{%elsif _04 == 'page'%}{%assign _g=page.url%}{%elsif _04 == 'blog'%}{%assign _g=blog.url%}{%elsif _04 == 'article'%}{%assign _g=article.url%}{%elsif _o == 'customers/login'%}{%assign _g='/account/login'%}{%elsif _o == 'customers/register'%}{%assign _g='/account/register'%}{%elsif _o == 'index'%}{%assign _g='/'%}{%elsif _o == 'list-collections'%}{%assign _g='/collections'%}{%elsif _o == 'cart'%}{%assign _g='/cart'%}{%elsif _o contains 'search'%}{%assign _g='/search'%}{%endif%}{%assign locksmith_path=_g%}{%assign locksmith_current_path=_g%}{%assign locksmith_version="v222"%}{%capture locksmith_json%}{"version":{{locksmith_version|json}},"locked":{{locksmith_locked|json}},"initialized":{{_0k|json}},"scope":{{_8|json}},"access_granted":{{locksmith_access_granted|json}},"access_denied":{{locksmith_access_denied|json}},"requires_customer":{{locksmith_requires_customer|json}},"manual_lock":{{locksmith_manual_lock|json}},"remote_lock":{{locksmith_remote_lock|json}},"has_timeout":{{locksmith_has_timeout|json}},"remote_rendered":{{locksmith_remote_rendered|json}},"hide_resource":{{locksmith_hide_resource}},"hide_links_to_resource":{{locksmith_hide_links_to_resource|json}},"transparent":{{locksmith_transparent|json}},"locks":{"all":{{locksmith_lock_ids|json|replace:'"', ''}},"opened":{{locksmith_opened_lock_ids|json|replace:'"', ''}}},"keys":{{locksmith_key_ids|json|replace:'"', ''}},"keys_signature":{{locksmith_key_ids|join:','|hmac_sha256:shop.metafields.locksmith.client_key|json}},"state":{"template":{{template|json}},"theme":{{theme.id|json}},"product":{{product.handle|json}},"collection":{{collection.handle|json}},"page":{{page.handle|json}},"blog":{{blog.handle|json}},"article":{{article.id|json}},"app":{%if locksmith_scope == "app" and app%}{{app|json}}{%else%}null{%endif%}},"now":{{"now"|date:"%s"}},"path":{{locksmith_path|json}},"locale_root_url":{{locksmith_locale_root_url|json}},"canonical_url":{{canonical_url|json}},"customer_id":{{customer.id|json}},"customer_id_signature":{{customer.id|hmac_sha256:shop.metafields.locksmith.client_key|json}},"cart":{{cart.attributes.locksmith|json}}}{%endcapture%}{%assign locksmith_json_signature=locksmith_json|hmac_sha256: shop.metafields.locksmith.client_key%}{%capture locksmith_json_script%}<script type="application/vnd.locksmith+json" data-locksmith>{{locksmith_json}}</script>{%endcapture%}{%if _08%}{%assign template=_08%}{%endif%}{%assign scope=_2o%}{%endcapture%}{%if variable != blank%}{%capture value%}{%case variable%}{%when "locked"%}{{locksmith_locked|json}}{%when "initialized"%}{{locksmith_initialized|json}}{%when "scope"%}{{locksmith_scope|json}}{%when "access_granted"%}{{locksmith_access_granted|json}}{%when "access_denied"%}{{locksmith_access_denied|json}}{%when "requires_customer"%}{{locksmith_requires_customer|json}}{%when "manual_lock"%}{{locksmith_manual_lock|json}}{%when "remote_lock"%}{{locksmith_remote_lock|json}}{%when "remote_rendered"%}{{locksmith_remote_rendered|json}}{%when "hide_resource"%}{{locksmith_hide_resource|json}}{%when "hide_links_to_resource"%}{{locksmith_hide_links_to_resource|json}}{%when "transparent"%}{{locksmith_transparent|json}}{%when "lock_ids"%}{{locksmith_lock_ids|join:","|json}}{%when "opened_lock_ids"%}{{locksmith_opened_lock_ids|join:","|json}}{%when "key_ids"%}{{locksmith_key_ids|join:","|json}}{%when "json_tag"%}{{locksmith_json_script}}{%when "section_replacement"%}{{locksmith_section_replacement_content}}{%endcase%}{%endcapture%}{{value|strip}}{%endif%}
|
|
10
|
+
{%assign _c=false%}{%assign _0o='product_in_collection'%}{%assign _0g='variant'%}{%assign _14='collection'%}{%capture _%}{%assign _0k=_c%}{%assign _8=nil%}{%assign _2o=scope%}{%assign _g=nil%}{%assign _1o=_c%}{%assign _0c=true%}{%assign _1c=_c%}{%assign _1g=_c%}{%assign _0w=_c%}{%assign _10=_c%}{%assign _1k=_c%}{%assign _w='resource'%}{%assign _s=''%}{%assign _00=''%}{%assign _18=''%}{%assign _1s=_c%}{%assign _1w=_c%}{%assign _20=''|split:''%}{%assign _3o=nil%}{%assign _3k=_c%}{%assign _28=nil%}{%assign _3g=_c%}{%assign _3c=nil%}{%assign _38=_c%}{%assign _40=(0..2)%}{%assign _3s=nil%}{%assign _20=""|split:""%}{%assign _0k=true%}{%assign _34="now"|date:"%s"|plus:0%}{%for _30 in _20%}{%assign _0s=_30|split:"-"%}{%assign _3w=_0s[0]%}{%assign _2w=_0s[1]|plus:0%}{%unless _0s[1]%}{%assign skip_timestamp_check=true%}{%endunless%}{%if skip_timestamp_check or _34 < _2w%}{%endif%}{%endfor%}{%if original_template%}{%assign _08=template%}{%assign template=original_template%}{%elsif locksmith_original_template%}{%assign _08=template%}{%assign template=locksmith_original_template%}{%else%}{%assign _08=nil%}{%endif%}{%assign _o=template%}{%assign _04=_o|split:'.'|first%}{%if scope and scope != _0o%}{%assign _8=scope%}{%elsif locksmith_scope and locksmith_scope != _0o%}{%assign _8=locksmith_scope%}{%else%}{%assign _8=_o|split:'/'|first|split:'.'|first%}{%endif%}{%if hiding_scope%}{%assign _w=hiding_scope%}{%elsif locksmith_hiding_scope%}{%assign _w=locksmith_hiding_scope%}{%endif%}{%if _8 == blank%}{%assign _8='app'%}{%endif%}{%if _8 == "app" and content_for_layout contains "spof-container"%}{%assign app="single-page-order-form"%}{%endif%}{%if _8 == "app" and content_for_layout contains "sc-shopify-qs-main-container"%}{%assign app="one-page-quick-shop"%}{%endif%}{%if _8 == "app" and content_for_layout contains "get_surrounding_stores.php"%}{%assign app="store-locator"%}{%endif%}{%if _8 == 'subject'%}{%if subject%}{%assign _4=subject%}{%else%}{%assign _4=locksmith_subject%}{%endif%}{%if subject_parent%}{%assign _k=subject_parent%}{%else%}{%assign _k=locksmith_subject_parent%}{%endif%}{%if _4.price and _4.variants%}{%assign product=_4%}{%assign _8='product'%}{%elsif _4.position and _4.src and _4.variants == nil and _4.position != 1%}{%for _2c in _k.variants%}{%if _2c.featured_media.id == _4.id%}{%assign variant=_2c%}{%assign product=_k%}{%break%}{%endif%}{%endfor%}{%assign _8=_0g%}{%elsif _4.position and _4.product_id and _4.src and _4.position != 1%}{%assign variant=_4.variants.first%}{%assign _8=_0g%}{%if _4.product_id == _k.id%}{%assign product=_k%}{%else%}{%assign product=nil%}{%endif%}{%elsif _4.inventory_policy%}{%assign variant=_4%}{%assign _8=_0g%}{%if _k.variants contains variant%}{%assign product=_k%}{%else%}{%assign _2s=variant.url|split:'?variant='|first|split:'/'|last%}{%assign product=all_products[_2s]%}{%endif%}{%elsif _k.name and _k.position and _k.values contains _4%}{%assign variant=nil%}{%assign variant_option_name=_k.name%}{%assign variant_option_value=_4%}{%assign _8=_0g%}{%assign _44=_k.name%}{%assign _48=_4%}{%elsif _4.all_types and _4.products%}{%assign collection=_4%}{%assign _8=_14%}{%elsif _4.handle and _4.articles%}{%assign blog=_4%}{%assign _8='blog'%}{%elsif _4.content and _4.excerpt and _4.comments%}{%assign article=_4%}{%assign _8='article'%}{%elsif _4.handle and _4.url contains '/pages/' and _4.current == nil%}{%assign page=_4%}{%assign _8='page'%}{%elsif _4.total_price and _4.total_weight%}{%assign cart=_4%}{%assign _8='cart'%}{%elsif _4.type and _4.url%}{%assign _w='link_to_resource'%}{%if _4.type == 'collection_link'%}{%assign collection=_4.object%}{%assign _8=_14%}{%elsif _4.type == 'product_link'%}{%assign product=_4.object%}{%assign _8='product'%}{%elsif _4.type == 'page_link'%}{%assign page=_4.object%}{%assign _8='page'%}{%elsif _4.type == 'blog_link'%}{%assign blog=_4.object%}{%assign _8='blog'%}{%elsif _4.url == '/collections/all'%}{%assign collection=collections.all%}{%assign _8=_14%}{%else%}{%assign _w='resource'%}{%assign link=_4%}{%assign _8='link'%}{%endif%}{%elsif _4.links and _4.title%}{%assign linklist=_4%}{%assign _8='linklist'%}{%elsif shop.vendors contains _4%}{%assign _8='vendor'%}{%assign vendor=_4%}{%endif%}{%endif%}{%if _8 == _0g%}{%assign _38=true%}{%endif%}{%if collection and _8 == 'product'%}{%assign locksmith_scope=_0o%}{%assign scope=_0o%}{%else%}{%assign locksmith_scope=_8%}{%assign scope=_8%}{%endif%}{%if is_edu_checked%}{%assign _s=_s|append:",722911,"%}{%assign _1g=true%}{%endif%}{%assign _s=_s|remove_first:","|replace:",,", ","|split:","%}{%assign _00=_00|remove_first:","|replace:",,", ","|split:","%}{%assign _18=_18|remove_first:","|replace:",,", ","|split:","%}{%assign _2k="722911"|split:","%}{%for _24 in _2k%}{%if _s contains _24%}{%unless _00 contains _24%}{%assign _10=true%}{%endunless%}{%endif%}{%endfor%}{%if request.design_mode or request.host contains ".shopifypreview.com"%}{%unless __locksmith_disable_preview_mode_escape_hatch%}{%assign _1s=true%}{%endunless%}{%endif%}{%if _1s%}{%assign _00=_s%}{%assign _0w=_c%}{%endif%}{%if _0w == _c%}{%assign _0k=true%}{%endif%}{%assign locksmith_lock_ids=_s%}{%assign locksmith_opened_lock_ids=_00%}{%assign locksmith_key_ids=_18%}{%if locksmith_lock_ids.size > 0%}{%assign _1o=true%}{%unless locksmith_opened_lock_ids == locksmith_lock_ids%}{%assign _0c=_c%}{%assign _1c=true%}{%endunless%}{%endif%}{%assign _28=request.locale.root_url%}{%if _0c%}{%assign _1w=_c%}{%endif%}{%assign locksmith_initialized=_0k%}{%assign locksmith_locked=_1o%}{%unless locksmith_scope%}{%assign locksmith_scope=_8%}{%endunless%}{%assign locksmith_access_granted=_0c%}{%assign locksmith_access_denied=_1c%}{%assign locksmith_manual_lock=_1g%}{%assign locksmith_remote_lock=_0w%}{%assign locksmith_hide_resource=_10%}{%assign locksmith_hide_links_to_resource=_1k%}{%assign locksmith_requires_customer=_1w%}{%assign locksmith_redirect=_3o%}{%assign locksmith_noindex=_3k%}{%assign locksmith_locale_root_url=_28%}{%assign locksmith_has_timeout=_3g%}{%assign locksmith_section_replacement_content=_3c%}{%assign locksmith_transparent=_c%}{%if _0c%}{%assign locksmith_transparent=true%}{%elsif _w == 'resource' and _10 == _c%}{%assign locksmith_transparent=true%}{%elsif _w == 'link_to_resource' and _1k == _c%}{%assign locksmith_transparent=true%}{%endif%}{%if _04 == 'product'%}{%capture _g%}{%if collection%}/collections/{{collection.handle}}{%endif%}/products/{{product.handle}}{%endcapture%}{%elsif _04 == _14%}{%capture _g%}/collections/{{collection.handle}}{%endcapture%}{%elsif _04 == 'page'%}{%assign _g=page.url%}{%elsif _04 == 'blog'%}{%assign _g=blog.url%}{%elsif _04 == 'article'%}{%assign _g=article.url%}{%elsif _o == 'customers/login'%}{%assign _g='/account/login'%}{%elsif _o == 'customers/register'%}{%assign _g='/account/register'%}{%elsif _o == 'index'%}{%assign _g='/'%}{%elsif _o == 'list-collections'%}{%assign _g='/collections'%}{%elsif _o == 'cart'%}{%assign _g='/cart'%}{%elsif _o contains 'search'%}{%assign _g='/search'%}{%endif%}{%assign locksmith_path=_g%}{%assign locksmith_current_path=_g%}{%assign locksmith_version="v223"%}{%capture locksmith_json%}{"version":{{locksmith_version|json}},"locked":{{locksmith_locked|json}},"initialized":{{_0k|json}},"scope":{{_8|json}},"access_granted":{{locksmith_access_granted|json}},"access_denied":{{locksmith_access_denied|json}},"requires_customer":{{locksmith_requires_customer|json}},"manual_lock":{{locksmith_manual_lock|json}},"remote_lock":{{locksmith_remote_lock|json}},"has_timeout":{{locksmith_has_timeout|json}},"remote_rendered":{{locksmith_remote_rendered|json}},"hide_resource":{{locksmith_hide_resource}},"hide_links_to_resource":{{locksmith_hide_links_to_resource|json}},"transparent":{{locksmith_transparent|json}},"locks":{"all":{{locksmith_lock_ids|json|replace:'"', ''}},"opened":{{locksmith_opened_lock_ids|json|replace:'"', ''}}},"keys":{{locksmith_key_ids|json|replace:'"', ''}},"keys_signature":{{locksmith_key_ids|join:','|hmac_sha256:shop.metafields.locksmith.client_key|json}},"state":{"template":{{template|json}},"theme":{{theme.id|json}},"product":{{product.handle|json}},"collection":{{collection.handle|json}},"page":{{page.handle|json}},"blog":{{blog.handle|json}},"article":{{article.id|json}},"app":{%if locksmith_scope == "app" and app%}{{app|json}}{%else%}null{%endif%}},"now":{{"now"|date:"%s"}},"path":{{locksmith_path|json}},"locale_root_url":{{locksmith_locale_root_url|json}},"canonical_url":{{canonical_url|json}},"customer_id":{{customer.id|json}},"customer_id_signature":{{customer.id|hmac_sha256:shop.metafields.locksmith.client_key|json}},"cart":{{cart.attributes.locksmith|json}}}{%endcapture%}{%assign locksmith_json_signature=locksmith_json|hmac_sha256: shop.metafields.locksmith.client_key%}{%capture locksmith_json_script%}<script type="application/vnd.locksmith+json" data-locksmith>{{locksmith_json}}</script>{%endcapture%}{%if _08%}{%assign template=_08%}{%endif%}{%assign scope=_2o%}{%endcapture%}{%if variable != blank%}{%capture value%}{%case variable%}{%when "locked"%}{{locksmith_locked|json}}{%when "initialized"%}{{locksmith_initialized|json}}{%when "scope"%}{{locksmith_scope|json}}{%when "access_granted"%}{{locksmith_access_granted|json}}{%when "access_denied"%}{{locksmith_access_denied|json}}{%when "requires_customer"%}{{locksmith_requires_customer|json}}{%when "manual_lock"%}{{locksmith_manual_lock|json}}{%when "remote_lock"%}{{locksmith_remote_lock|json}}{%when "remote_rendered"%}{{locksmith_remote_rendered|json}}{%when "hide_resource"%}{{locksmith_hide_resource|json}}{%when "hide_links_to_resource"%}{{locksmith_hide_links_to_resource|json}}{%when "transparent"%}{{locksmith_transparent|json}}{%when "lock_ids"%}{{locksmith_lock_ids|join:","|json}}{%when "opened_lock_ids"%}{{locksmith_opened_lock_ids|join:","|json}}{%when "key_ids"%}{{locksmith_key_ids|join:","|json}}{%when "json_tag"%}{{locksmith_json_script}}{%when "section_replacement"%}{{locksmith_section_replacement_content}}{%endcase%}{%endcapture%}{{value|strip}}{%endif%}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
Do not modify this file. Any changes will be reset the next time that
|
|
5
5
|
Locksmith interacts with this theme.
|
|
6
6
|
|
|
7
|
-
Last updated:
|
|
7
|
+
Last updated: Tue, 12 Aug 2025 18:05:48 -0700 (PDT)
|
|
8
8
|
{% endcomment -%}
|
|
9
9
|
|
|
10
10
|
{%include 'locksmith-variables', locksmith_scope: nil%}{%if locksmith_access_denied_content == blank%}{%capture locksmith_access_denied_content%}{%if locksmith_manual_lock%}{{content_for_layout}}{%elsif locksmith_remote_lock%}<div id="locksmith-content">
|
|
@@ -71,7 +71,51 @@
|
|
|
71
71
|
}
|
|
72
72
|
</script>{%endif%}{%endcapture%}{%endif%}{%include 'locksmith-content-variables'%}{%include 'locksmith-variables', locksmith_scope: nil%}{%if locksmith_access_denied%}{%capture content_for_header%}{{content_for_header|replace:'.oembed', ''|replace:'.atom', ''|replace:'link rel="alternate" type="application/json+oembed"', 'link'|replace:' title="Feed" rel="alternate" type="application/atom+xml"', ''}}{%endcapture%}{%endif%}{%capture locksmith_initializations%}{%if locksmith_access_denied and locksmith_manual_lock == false and locksmith_noindex%}<meta name="robots" content="noindex" />{%endif%}{{locksmith_json_script}}{{locksmith_client}}
|
|
73
73
|
|
|
74
|
-
<script data-locksmith>Locksmith.jsonTag={{locksmith_json|json}};Locksmith.jsonTagSignature={{locksmith_json_signature|json}}</script>{%endcapture%}{%if locksmith_access_granted or locksmith_manual_lock%}{%if locksmith_redirect != blank%}{%assign content_for_layout=locksmith_redirect%}{%endif%}{%else%}{%assign content_for_layout=locksmith_access_denied_content%}{%endif%}{%capture _3%}<
|
|
74
|
+
<script data-locksmith>Locksmith.jsonTag={{locksmith_json|json}};Locksmith.jsonTagSignature={{locksmith_json_signature|json}}</script>{%endcapture%}{%if locksmith_access_granted or locksmith_manual_lock%}{%if locksmith_redirect != blank%}{%assign content_for_layout=locksmith_redirect%}{%endif%}{%else%}{%assign content_for_layout=locksmith_access_denied_content%}{%endif%}{%capture _3%}{%if locksmith_access_denied%}<style>
|
|
75
|
+
/* Smart spacing for Locksmith content - only applied when access is denied */
|
|
76
|
+
/* Base padding: always add 20px minimum to top */
|
|
77
|
+
#locksmith-content .section {
|
|
78
|
+
padding-top: 20px;
|
|
79
|
+
padding-bottom: 40px;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* Locksmith-specific centering that doesn't rely on theme CSS */
|
|
83
|
+
#locksmith-content .locksmith-content-inner {
|
|
84
|
+
max-width: var(--page-width, 1200px);
|
|
85
|
+
margin-left: auto !important;
|
|
86
|
+
margin-right: auto !important;
|
|
87
|
+
padding-left: var(--page-padding, 1.5rem);
|
|
88
|
+
padding-right: var(--page-padding, 1.5rem);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/* Mobile adjustments */
|
|
92
|
+
@media screen and (max-width: 768px) {
|
|
93
|
+
#locksmith-content .locksmith-content-inner {
|
|
94
|
+
padding-left: var(--mobile-page-padding, 1rem);
|
|
95
|
+
padding-right: var(--mobile-page-padding, 1rem);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/* For themes with transparent headers - detect and add offset when header is transparent */
|
|
100
|
+
/* This matches the pattern used by Fabric and similar themes */
|
|
101
|
+
body:has(> #header-group > .header-section > #header-component[transparent]):not(
|
|
102
|
+
:has(> #header-group > .header-section + .shopify-section)
|
|
103
|
+
)
|
|
104
|
+
> main
|
|
105
|
+
> #locksmith-content:first-child .section {
|
|
106
|
+
/* Prioritize header-height, then header-group-height, default to 70px for transparent headers */
|
|
107
|
+
/* The 20px base padding is already included in the base rule above */
|
|
108
|
+
padding-top: calc(var(--header-height, var(--header-group-height, 70px)) + 20px );
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/* Alternative selector for themes that don't use #header-group */
|
|
112
|
+
body:has(header[data-transparent], .header[data-transparent], #shopify-section-header[data-transparent])
|
|
113
|
+
> main
|
|
114
|
+
> #locksmith-content:first-child .section {
|
|
115
|
+
padding-top: calc(var(--header-height, var(--header-group-height, 70px)) + 20px );
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
</style>{%endif%}<script data-locksmith>
|
|
75
119
|
var load = function () {
|
|
76
120
|
{%unless _7%}
|
|
77
121
|
if (document.querySelectorAll('.locksmith-manual-trigger').length > 0) {
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
pc_width: pc 端宽度, 做图片尺寸优化
|
|
8
8
|
mb_width: 移动端宽度, 做图片尺寸优化
|
|
9
9
|
{% endcomment %}
|
|
10
|
-
{%- assign pc_width = pc_width | default:
|
|
11
|
-
{%- assign mb_width = mb_width | default:
|
|
10
|
+
{%- assign pc_width = pc_width | default: 4800 -%}
|
|
11
|
+
{%- assign mb_width = mb_width | default: 1200 -%}
|
|
12
12
|
|
|
13
13
|
{%- assign pc_classes = class_name | append: ' max-md:tw-hidden tw-w-full tw-h-auto tw-object-cover' -%}
|
|
14
14
|
{%- assign mb_classes = class_name | append: ' md:tw-hidden tw-w-full tw-h-auto tw-object-cover' -%}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
| image_tag:
|
|
27
27
|
alt: image_alt,
|
|
28
28
|
class: pc_classes,
|
|
29
|
-
widths: '800, 1000, 1200, 1500, 1800 2000',
|
|
29
|
+
widths: '800, 1000, 1200, 1500, 1800 2000 3000 4000 5000',
|
|
30
30
|
loading: lazy_load
|
|
31
31
|
}}
|
|
32
32
|
{%- endif -%}
|
|
@@ -41,4 +41,3 @@
|
|
|
41
41
|
loading: lazy_load
|
|
42
42
|
}}
|
|
43
43
|
{%- endif -%}
|
|
44
|
-
|
package/snippets/zz-img.liquid
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
pc_width: pc 端宽度, 做图片尺寸优化
|
|
8
8
|
mb_width: 移动端宽度, 做图片尺寸优化
|
|
9
9
|
{% endcomment %}
|
|
10
|
-
{%- assign pc_width = pc_width | default:
|
|
11
|
-
{%- assign mb_width = mb_width | default:
|
|
10
|
+
{%- assign pc_width = pc_width | default: 4800 -%}
|
|
11
|
+
{%- assign mb_width = mb_width | default: 1200 -%}
|
|
12
12
|
|
|
13
13
|
{%- assign pc_classes = class_name | append: ' max-lg:tw-hidden tw-w-full tw-h-auto tw-object-cover' -%}
|
|
14
14
|
{%- assign mb_classes = class_name | append: ' lg:tw-hidden tw-w-full tw-h-auto tw-object-cover' -%}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
| image_tag:
|
|
27
27
|
alt: image_alt,
|
|
28
28
|
class: pc_classes,
|
|
29
|
-
widths: '800, 1000, 1200, 1500, 1800 2000',
|
|
29
|
+
widths: '800, 1000, 1200, 1500, 1800 2000 3000 4000 5000',
|
|
30
30
|
loading: lazy_load
|
|
31
31
|
}}
|
|
32
32
|
{%- endif -%}
|
|
@@ -37,8 +37,7 @@
|
|
|
37
37
|
| image_tag:
|
|
38
38
|
alt: image_alt,
|
|
39
39
|
class: mb_classes,
|
|
40
|
-
widths: '400, 600, 800',
|
|
40
|
+
widths: '400, 600, 800 1200',
|
|
41
41
|
loading: lazy_load
|
|
42
42
|
}}
|
|
43
43
|
{%- endif -%}
|
|
44
|
-
|