@o2vend/theme-cli 1.0.37 → 1.0.38
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/lib/lib/dev-server.js +309 -40
- package/lib/lib/liquid-engine.js +3 -1
- package/lib/lib/mock-data.js +36 -124
- package/lib/lib/widget-service.js +12 -4
- package/package.json +1 -1
- package/test-theme/assets/async-sections.js +32 -24
- package/test-theme/assets/cart-drawer.js +20 -22
- package/test-theme/assets/cart-manager.js +1 -15
- package/test-theme/assets/checkout-price-handler.js +12 -11
- package/test-theme/assets/checkout.css +1415 -0
- package/test-theme/assets/checkout.js +3174 -0
- package/test-theme/assets/components.css +178 -29
- package/test-theme/assets/delivery-zone.js +1 -1
- package/test-theme/assets/product-detail.css +1050 -0
- package/test-theme/assets/product-detail.js +2940 -0
- package/test-theme/assets/theme.css +95 -120
- package/test-theme/assets/theme.js +781 -186
- package/test-theme/layout/theme.liquid +91 -17
- package/test-theme/sections/content.liquid +64 -57
- package/test-theme/sections/footer-fallback.liquid +57 -7
- package/test-theme/sections/footer.liquid +63 -12
- package/test-theme/sections/header-fallback.liquid +41 -41
- package/test-theme/sections/header.liquid +41 -51
- package/test-theme/sections/hero-fallback.liquid +1 -1
- package/test-theme/sections/hero.liquid +159 -136
- package/test-theme/snippets/account-sidebar.liquid +121 -29
- package/test-theme/snippets/add-to-cart-modal.liquid +258 -206
- package/test-theme/snippets/breadcrumbs.liquid +98 -11
- package/test-theme/snippets/cart-drawer.liquid +93 -0
- package/test-theme/snippets/delivery-zone-city-selector.liquid +101 -15
- package/test-theme/snippets/delivery-zone-modal.liquid +529 -84
- package/test-theme/snippets/delivery-zone-search.liquid +104 -18
- package/test-theme/snippets/login-modal.liquid +269 -82
- package/test-theme/snippets/mega-menu.liquid +130 -43
- package/test-theme/snippets/news-thumbnail.liquid +120 -28
- package/test-theme/snippets/pagination.liquid +1 -1
- package/test-theme/snippets/price.liquid +100 -9
- package/test-theme/snippets/product-card-related.liquid +22 -4
- package/test-theme/snippets/product-card-simple.liquid +521 -25
- package/test-theme/snippets/product-card.liquid +145 -232
- package/test-theme/snippets/rating.liquid +100 -9
- package/test-theme/snippets/skeleton-collection-grid.liquid +94 -8
- package/test-theme/snippets/skeleton-product-card.liquid +102 -16
- package/test-theme/snippets/skeleton-product-grid.liquid +87 -1
- package/test-theme/snippets/social-sharing.liquid +133 -32
- package/test-theme/templates/account/dashboard.liquid +30 -0
- package/test-theme/templates/account/loyalty-redemption.liquid +29 -28
- package/test-theme/templates/account/loyalty.liquid +45 -43
- package/test-theme/templates/account/order-detail.liquid +15 -8
- package/test-theme/templates/account/orders.liquid +189 -35
- package/test-theme/templates/account/profile.liquid +509 -114
- package/test-theme/templates/account/register.liquid +18 -8
- package/test-theme/templates/account/return-orders.liquid +31 -30
- package/test-theme/templates/account/store-credit.liquid +27 -26
- package/test-theme/templates/account/subscriptions.liquid +22 -5
- package/test-theme/templates/account/wishlist.liquid +88 -19
- package/test-theme/templates/address-book.liquid +166 -69
- package/test-theme/templates/categories.liquid +90 -30
- package/test-theme/templates/checkout.liquid +137 -3834
- package/test-theme/templates/error.liquid +23 -21
- package/test-theme/templates/index.liquid +29 -0
- package/test-theme/templates/login.liquid +33 -6
- package/test-theme/templates/order-confirmation.liquid +67 -9
- package/test-theme/templates/page.liquid +418 -206
- package/test-theme/templates/product-detail.liquid +124 -3878
- package/test-theme/templates/products.liquid +155 -30
- package/test-theme/templates/search.liquid +739 -225
- package/test-theme/widgets/brand-carousel.liquid +102 -82
- package/test-theme/widgets/brand.liquid +78 -50
- package/test-theme/widgets/carousel.liquid +253 -121
- package/test-theme/widgets/category-list-carousel.liquid +32 -8
- package/test-theme/widgets/category-list.liquid +21 -6
- package/test-theme/widgets/category.liquid +104 -37
- package/test-theme/widgets/discount-time.liquid +326 -119
- package/test-theme/widgets/footer-menu.liquid +115 -23
- package/test-theme/widgets/footer.liquid +118 -5
- package/test-theme/widgets/gallery.liquid +29 -5
- package/test-theme/widgets/header-menu.liquid +25 -13
- package/test-theme/widgets/header.liquid +64 -26
- package/test-theme/widgets/html.liquid +29 -6
- package/test-theme/widgets/news.liquid +6 -0
- package/test-theme/widgets/product-canvas.liquid +20 -12
- package/test-theme/widgets/product-carousel.liquid +118 -56
- package/test-theme/widgets/shared/product-grid.liquid +12 -0
- package/test-theme/widgets/single-product.liquid +688 -250
- package/test-theme/widgets/spacebar-carousel.liquid +39 -10
- package/test-theme/widgets/spacebar.liquid +77 -6
- package/test-theme/widgets/splash.liquid +40 -30
- package/test-theme/widgets/testimonial-carousel.liquid +111 -67
|
@@ -1,136 +1,159 @@
|
|
|
1
|
-
{% comment %}
|
|
2
|
-
Hero Section
|
|
3
|
-
|
|
4
|
-
This section renders widgets from the "hero" section in order.
|
|
5
|
-
Widgets are rendered one below another, sorted by Position field.
|
|
6
|
-
Supports drag-and-drop ordering in visual editor.
|
|
7
|
-
{% endcomment %}
|
|
8
|
-
|
|
9
|
-
{% comment %}Hero Section - Always render, with widgets or fallback{% endcomment %}
|
|
10
|
-
{% assign hero_widgets = widgets.hero %}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
{
|
|
38
|
-
|
|
39
|
-
{%
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
{
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"type": "
|
|
84
|
-
"id": "
|
|
85
|
-
"label": "
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
"
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
"
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
"
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
1
|
+
{% comment %}
|
|
2
|
+
Hero Section
|
|
3
|
+
|
|
4
|
+
This section renders widgets from the "hero" section in order.
|
|
5
|
+
Widgets are rendered one below another, sorted by Position field.
|
|
6
|
+
Supports drag-and-drop ordering in visual editor.
|
|
7
|
+
{% endcomment %}
|
|
8
|
+
|
|
9
|
+
{% comment %}Hero Section - Always render, with widgets or fallback{% endcomment %}
|
|
10
|
+
{% assign hero_widgets = widgets.hero %}
|
|
11
|
+
|
|
12
|
+
{%- comment -%}
|
|
13
|
+
If other sections (content, main, sidebar, footer, header) have widgets,
|
|
14
|
+
we don't want to show the hero fallback when hero is empty.
|
|
15
|
+
{%- endcomment -%}
|
|
16
|
+
{% assign other_widget_sections = 'content,main,sidebar,footer,header' | split: ',' %}
|
|
17
|
+
{% assign has_other_widgets = false %}
|
|
18
|
+
{% for s in other_widget_sections %}
|
|
19
|
+
{% assign group = widgets[s] %}
|
|
20
|
+
{% if group and group.size > 0 %}
|
|
21
|
+
{% assign has_other_widgets = true %}
|
|
22
|
+
{% endif %}
|
|
23
|
+
{% endfor %}
|
|
24
|
+
|
|
25
|
+
{% if hero_widgets and hero_widgets.size > 0 %}
|
|
26
|
+
<section class="theme-section theme-section--hero" data-section="hero" data-section-id="{{ section.id }}">
|
|
27
|
+
{% for widget in hero_widgets %}
|
|
28
|
+
<div class="theme-widget-wrapper"
|
|
29
|
+
data-widget-id="{{ widget.id }}"
|
|
30
|
+
data-widget-type="{{ widget.type }}"
|
|
31
|
+
data-widget-position="{{ widget.Position | default: widget.position | default: forloop.index }}">
|
|
32
|
+
{% if widget and widget.template_path %}
|
|
33
|
+
{% render widget.template_path, widget: widget, settings: settings, shop: shop, is_hero_first: forloop.first %}
|
|
34
|
+
{% else %}
|
|
35
|
+
<div class="widget-error" data-widget-error>
|
|
36
|
+
<p>Widget template not found: {{ widget.template_path | default: 'unknown' }}</p>
|
|
37
|
+
<p>Widget type: {{ widget.type | default: 'unknown' }}</p>
|
|
38
|
+
</div>
|
|
39
|
+
{% endif %}
|
|
40
|
+
</div>
|
|
41
|
+
{% endfor %}
|
|
42
|
+
</section>
|
|
43
|
+
<style>
|
|
44
|
+
.theme-section--hero .theme-widget-wrapper {
|
|
45
|
+
display: block;
|
|
46
|
+
}
|
|
47
|
+
.widget-error {
|
|
48
|
+
padding: 1rem;
|
|
49
|
+
background: #fee2e2;
|
|
50
|
+
border: 1px solid #fecaca;
|
|
51
|
+
border-radius: 0.5rem;
|
|
52
|
+
color: #991b1b;
|
|
53
|
+
font-size: 0.875rem;
|
|
54
|
+
}
|
|
55
|
+
</style>
|
|
56
|
+
{% elsif has_other_widgets %}
|
|
57
|
+
{%- comment -%} hero empty but other sections have widgets -> render nothing here {%- endcomment -%}
|
|
58
|
+
{% else %}
|
|
59
|
+
{% render 'sections/hero-fallback' %}
|
|
60
|
+
{% endif %}
|
|
61
|
+
|
|
62
|
+
{% schema %}
|
|
63
|
+
{
|
|
64
|
+
"name": "Hero",
|
|
65
|
+
"settings": [
|
|
66
|
+
{
|
|
67
|
+
"type": "paragraph",
|
|
68
|
+
"content": "This section displays widgets from the 'hero' section. Widgets are automatically ordered by their Position field and can be reordered in the visual editor."
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"type": "image_picker",
|
|
72
|
+
"id": "hero_image",
|
|
73
|
+
"label": "Hero Image",
|
|
74
|
+
"info": "Recommended size: 1920x800px"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"type": "text",
|
|
78
|
+
"id": "hero_title",
|
|
79
|
+
"label": "Hero Title",
|
|
80
|
+
"default": "Welcome to Our Store"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"type": "textarea",
|
|
84
|
+
"id": "hero_subtitle",
|
|
85
|
+
"label": "Hero Subtitle",
|
|
86
|
+
"default": "Discover amazing products at great prices"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"type": "text",
|
|
90
|
+
"id": "hero_button_text",
|
|
91
|
+
"label": "Primary Button Text",
|
|
92
|
+
"default": "Shop Now"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"type": "url",
|
|
96
|
+
"id": "hero_button_url",
|
|
97
|
+
"label": "Primary Button URL",
|
|
98
|
+
"default": "/categories"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"type": "text",
|
|
102
|
+
"id": "hero_button_2_text",
|
|
103
|
+
"label": "Secondary Button Text"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"type": "url",
|
|
107
|
+
"id": "hero_button_2_url",
|
|
108
|
+
"label": "Secondary Button URL"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"type": "select",
|
|
112
|
+
"id": "text_position",
|
|
113
|
+
"label": "Text Position",
|
|
114
|
+
"options": [
|
|
115
|
+
{
|
|
116
|
+
"value": "left",
|
|
117
|
+
"label": "Left"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"value": "center",
|
|
121
|
+
"label": "Center"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"value": "right",
|
|
125
|
+
"label": "Right"
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"default": "center"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"type": "color",
|
|
132
|
+
"id": "text_color",
|
|
133
|
+
"label": "Text Color",
|
|
134
|
+
"default": "#ffffff"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"type": "range",
|
|
138
|
+
"id": "overlay_opacity",
|
|
139
|
+
"label": "Overlay Opacity",
|
|
140
|
+
"min": 0,
|
|
141
|
+
"max": 0.8,
|
|
142
|
+
"step": 0.1,
|
|
143
|
+
"default": 0.4
|
|
144
|
+
}
|
|
145
|
+
],
|
|
146
|
+
"presets": [
|
|
147
|
+
{
|
|
148
|
+
"name": "Hero",
|
|
149
|
+
"settings": {
|
|
150
|
+
"hero_title": "Welcome to Our Store",
|
|
151
|
+
"hero_subtitle": "Discover amazing products at great prices",
|
|
152
|
+
"hero_button_text": "Shop Now",
|
|
153
|
+
"hero_button_url": "/categories"
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
]
|
|
157
|
+
}
|
|
158
|
+
{% endschema %}
|
|
159
|
+
|
|
@@ -28,19 +28,111 @@
|
|
|
28
28
|
</div>
|
|
29
29
|
</nav>
|
|
30
30
|
|
|
31
|
-
<style
|
|
31
|
+
<style>
|
|
32
|
+
:root {
|
|
33
|
+
--color-primary: {{ settings.color_primary | default: '#000000' }};
|
|
34
|
+
--color-primary-hover: {{ settings.color_primary_dark | default: '#333333' }};
|
|
35
|
+
--color-primary-light: {{ settings.color_primary_light | default: '#666666' }};
|
|
36
|
+
--color-success: {{ settings.color_success | default: '#22c55e' }};
|
|
37
|
+
--color-success-light: {{ settings.color_success | default: '#22c55e' }};
|
|
38
|
+
--color-success-dark: {{ settings.color_success | default: '#22c55e' }};
|
|
39
|
+
--color-danger: {{ settings.color_error | default: '#ef4444' }};
|
|
40
|
+
--color-danger-light: {{ settings.color_error | default: '#ef4444' }};
|
|
41
|
+
--color-danger-dark: {{ settings.color_error | default: '#ef4444' }};
|
|
42
|
+
--color-text: {{ settings.color_text | default: '#000000' }};
|
|
43
|
+
--color-text-light: {{ settings.color_text_light | default: '#999999' }};
|
|
44
|
+
--color-text-muted: {{ settings.color_text_muted | default: '#666666' }};
|
|
45
|
+
--color-background: {{ settings.color_background | default: '#ffffff' }};
|
|
46
|
+
--color-card-bg: {{ settings.color_surface | default: '#f5f5f5' }};
|
|
47
|
+
--color-border: {{ settings.color_border | default: '#cccccc' }};
|
|
48
|
+
--color-border-light: {{ settings.color_surface | default: '#f5f5f5' }};
|
|
49
|
+
--color-white: #ffffff;
|
|
50
|
+
--color-black: {{ settings.color_primary_dark | default: '#333333' }};
|
|
51
|
+
--color-gray-25: {{ settings.color_background | default: '#ffffff' }};
|
|
52
|
+
--color-gray-50: {{ settings.color_surface | default: '#f5f5f5' }};
|
|
53
|
+
--color-gray-100: {{ settings.color_surface | default: '#f5f5f5' }};
|
|
54
|
+
--color-gray-200: {{ settings.color_border | default: '#cccccc' }};
|
|
55
|
+
--color-gray-300: {{ settings.color_border | default: '#cccccc' }};
|
|
56
|
+
--color-gray-400: {{ settings.color_text_muted | default: '#666666' }};
|
|
57
|
+
--color-gray-500: {{ settings.color_text_muted | default: '#666666' }};
|
|
58
|
+
--color-gray-600: {{ settings.color_text_muted | default: '#666666' }};
|
|
59
|
+
--color-gray-700: {{ settings.color_text | default: '#000000' }};
|
|
60
|
+
--color-gray-800: {{ settings.color_text | default: '#000000' }};
|
|
61
|
+
--color-gray-900: {{ settings.color_text | default: '#000000' }};
|
|
62
|
+
/* Shadow variables - mapped from settings */
|
|
63
|
+
--shadow-opacity: {{ settings.shadow_opacity | default: 0.1 }};
|
|
64
|
+
--shadow-blur: {{ settings.shadow_blur | default: 8 }}px;
|
|
65
|
+
--shadow-spread: {{ settings.shadow_spread | default: 0 }}px;
|
|
66
|
+
|
|
67
|
+
/* Border radius - mapped from settings */
|
|
68
|
+
--radius-sm: {{ settings.border_radius_small | default: 6 }}px;
|
|
69
|
+
--radius-md: {{ settings.border_radius_medium | default: 10 }}px;
|
|
70
|
+
--radius-lg: {{ settings.border_radius_large | default: 16 }}px;
|
|
71
|
+
--radius-xl: 24px;
|
|
72
|
+
--radius-2xl: 32px;
|
|
73
|
+
--radius-full: 9999px;
|
|
74
|
+
|
|
75
|
+
/* Spacing - mapped from settings */
|
|
76
|
+
--spacing-xs: {{ settings.spacing_xsmall | default: 4 }}px;
|
|
77
|
+
--spacing-sm: {{ settings.spacing_small | default: 8 }}px;
|
|
78
|
+
--spacing-md: {{ settings.spacing_element | default: 16 }}px;
|
|
79
|
+
--spacing-lg: {{ settings.spacing_component | default: 24 }}px;
|
|
80
|
+
--spacing-xl: {{ settings.spacing_large | default: 32 }}px;
|
|
81
|
+
|
|
82
|
+
/* Typography - mapped from settings */
|
|
83
|
+
--font-primary: {{ settings.font_primary | default: '' }}, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
|
|
84
|
+
--font-heading: {{ settings.font_heading | default: '' }}, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
|
|
85
|
+
--font-display: {{ settings.font_display | default: '' }}, 'Georgia', 'Times New Roman', serif;
|
|
86
|
+
--font-body: {{ settings.font_body | default: '' }}, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
|
|
87
|
+
--font-weight-bold: {{ settings.font_weight_bold | default: 700 }};
|
|
88
|
+
--font-weight-medium: {{ settings.font_weight_medium | default: 500 }};
|
|
89
|
+
--line-height-heading: {{ settings.line_height_heading | default: 1.2 }};
|
|
90
|
+
|
|
91
|
+
/* Text sizes - based on font_size_base from settings (12px, 14px, 14px, 16px, 18px, 21px) */
|
|
92
|
+
--text-xs: 12px;
|
|
93
|
+
--text-sm: {{ settings.font_size_base | default: 14 }}px;
|
|
94
|
+
--text-base: {{ settings.font_size_base | default: 14 }}px;
|
|
95
|
+
--text-lg: 16px;
|
|
96
|
+
--text-xl: 18px;
|
|
97
|
+
--text-2xl: 21px;
|
|
98
|
+
|
|
99
|
+
/* Transitions - mapped from settings */
|
|
100
|
+
--transition-fast: 133ms cubic-bezier(0, 0, 0.2, 1);
|
|
101
|
+
--transition: {{ settings.button_transition_speed | default: 200 }}ms cubic-bezier(0, 0, 0.2, 1);
|
|
102
|
+
--transition-slow: 300ms cubic-bezier(0, 0, 0.2, 1);
|
|
103
|
+
--duration-150: 150ms;
|
|
104
|
+
--duration-300: 300ms;
|
|
105
|
+
--ease-out: cubic-bezier(0, 0, 0.2, 1);
|
|
106
|
+
--ease-in: cubic-bezier(0.4, 0, 1, 1);
|
|
107
|
+
--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
|
|
108
|
+
|
|
109
|
+
/* Z-index values */
|
|
110
|
+
--z-10: 10;
|
|
111
|
+
--z-modal: 1050;
|
|
112
|
+
--z-dropdown: 1000;
|
|
113
|
+
|
|
114
|
+
/* Line heights - mapped from settings */
|
|
115
|
+
--leading-none: 1;
|
|
116
|
+
--leading-normal: {{ settings.line_height_base | default: 1.6 }};
|
|
117
|
+
--leading-snug: 1.375;
|
|
118
|
+
|
|
119
|
+
/* Letter spacing - mapped from settings */
|
|
120
|
+
--tracking-wider: {{ settings.letter_spacing_uppercase | default: 0.05 }}em;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/* ===============================
|
|
32
124
|
Account Menu Toggle Button
|
|
33
125
|
================================ */
|
|
34
126
|
.account-menu-toggle {
|
|
35
127
|
display: none;
|
|
36
128
|
align-items: center;
|
|
37
|
-
gap:
|
|
38
|
-
background: white;
|
|
39
|
-
color: black;
|
|
40
|
-
padding:
|
|
41
|
-
border-radius:
|
|
129
|
+
gap: var(--space-2);
|
|
130
|
+
background: var(--color-white);
|
|
131
|
+
color: var(--color-black);
|
|
132
|
+
padding: var(--space-3) var(--space-4);
|
|
133
|
+
border-radius: var(--radius-xl);
|
|
42
134
|
border: none;
|
|
43
|
-
font-size:
|
|
135
|
+
font-size: var(--text-lg);
|
|
44
136
|
font-weight: 500;
|
|
45
137
|
cursor: pointer;
|
|
46
138
|
z-index: 9997;
|
|
@@ -53,10 +145,10 @@
|
|
|
53
145
|
position: fixed;
|
|
54
146
|
inset: 0;
|
|
55
147
|
background: rgba(0, 0, 0, 0.45);
|
|
56
|
-
backdrop-filter: blur(
|
|
148
|
+
backdrop-filter: blur(var(--space-1));
|
|
57
149
|
opacity: 0;
|
|
58
150
|
visibility: hidden;
|
|
59
|
-
transition: opacity
|
|
151
|
+
transition: opacity var(--duration-300) var(--ease-out), visibility var(--duration-300) var(--ease-out);
|
|
60
152
|
z-index: 9998;
|
|
61
153
|
}
|
|
62
154
|
|
|
@@ -76,9 +168,9 @@
|
|
|
76
168
|
display: flex;
|
|
77
169
|
align-items: center;
|
|
78
170
|
justify-content: space-between;
|
|
79
|
-
padding-bottom:
|
|
80
|
-
border-bottom: 1px solid
|
|
81
|
-
font-size:
|
|
171
|
+
padding-bottom: var(--space-4);
|
|
172
|
+
border-bottom: 1px solid var(--color-gray-200);
|
|
173
|
+
font-size: var(--text-xl);
|
|
82
174
|
font-weight: 600;
|
|
83
175
|
}
|
|
84
176
|
|
|
@@ -87,36 +179,36 @@
|
|
|
87
179
|
display: none;
|
|
88
180
|
background: none;
|
|
89
181
|
border: none;
|
|
90
|
-
font-size:
|
|
182
|
+
font-size: var(--text-2xl);
|
|
91
183
|
cursor: pointer;
|
|
92
|
-
line-height:
|
|
184
|
+
line-height: var(--leading-none);
|
|
93
185
|
}
|
|
94
186
|
|
|
95
187
|
/* ===============================
|
|
96
188
|
Sidebar Links
|
|
97
189
|
================================ */
|
|
98
190
|
.account-nav-links {
|
|
99
|
-
margin-top:
|
|
191
|
+
margin-top: var(--space-4);
|
|
100
192
|
display: flex;
|
|
101
193
|
flex-direction: column;
|
|
102
194
|
}
|
|
103
195
|
|
|
104
196
|
.account-nav-link {
|
|
105
|
-
padding:
|
|
106
|
-
border-radius:
|
|
107
|
-
font-size:
|
|
108
|
-
color:
|
|
197
|
+
padding: var(--space-3-5) var(--space-3-5);
|
|
198
|
+
border-radius: var(--radius-xl);
|
|
199
|
+
font-size: var(--text-lg);
|
|
200
|
+
color: var(--color-gray-700);
|
|
109
201
|
text-decoration: none;
|
|
110
|
-
transition: background
|
|
202
|
+
transition: background var(--transition-slow), color var(--transition-slow);
|
|
111
203
|
}
|
|
112
204
|
|
|
113
205
|
.account-nav-link:hover {
|
|
114
|
-
background:
|
|
206
|
+
background: var(--color-gray-50);
|
|
115
207
|
}
|
|
116
208
|
|
|
117
209
|
.account-nav-link.active {
|
|
118
|
-
background:
|
|
119
|
-
color:
|
|
210
|
+
background: var(--color-gray-900);
|
|
211
|
+
color: var(--color-white);
|
|
120
212
|
}
|
|
121
213
|
|
|
122
214
|
/* ===============================
|
|
@@ -137,10 +229,10 @@
|
|
|
137
229
|
left: 0;
|
|
138
230
|
width: 300px;
|
|
139
231
|
height: 100vh;
|
|
140
|
-
background:
|
|
141
|
-
padding:
|
|
232
|
+
background: var(--color-white);
|
|
233
|
+
padding: var(--space-5);
|
|
142
234
|
transform: translateX(-100%);
|
|
143
|
-
transition: transform
|
|
235
|
+
transition: transform var(--transition-slow) var(--ease-in-out);
|
|
144
236
|
box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15);
|
|
145
237
|
overflow-y: auto;
|
|
146
238
|
}
|
|
@@ -165,11 +257,11 @@
|
|
|
165
257
|
.account-nav-header {
|
|
166
258
|
position: sticky;
|
|
167
259
|
top: 0;
|
|
168
|
-
background:
|
|
169
|
-
z-index:
|
|
260
|
+
background: var(--color-white);
|
|
261
|
+
z-index: var(--z-10);
|
|
170
262
|
}
|
|
171
263
|
.account-sidebar {
|
|
172
|
-
z-index:
|
|
264
|
+
z-index: var(--z-modal);
|
|
173
265
|
}
|
|
174
266
|
}
|
|
175
267
|
|