@o2vend/theme-cli 1.0.36 → 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/README.md +4 -0
- package/lib/lib/dev-server.js +344 -48
- package/lib/lib/liquid-engine.js +3 -1
- package/lib/lib/mock-data.js +473 -119
- package/lib/lib/widget-service.js +12 -4
- package/package.json +2 -2
- 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
|
@@ -554,8 +554,7 @@
|
|
|
554
554
|
|
|
555
555
|
.category-image {
|
|
556
556
|
width: 100%;
|
|
557
|
-
|
|
558
|
-
object-fit: cover;
|
|
557
|
+
object-fit: contain;
|
|
559
558
|
transition: transform var(--transition-slow);
|
|
560
559
|
}
|
|
561
560
|
|
|
@@ -1063,22 +1062,35 @@
|
|
|
1063
1062
|
display: flex;
|
|
1064
1063
|
align-items: center;
|
|
1065
1064
|
gap: var(--spacing-element, 0.5rem);
|
|
1065
|
+
width: 100%;
|
|
1066
1066
|
}
|
|
1067
1067
|
|
|
1068
1068
|
.price-input {
|
|
1069
|
-
flex: 1;
|
|
1070
|
-
|
|
1069
|
+
flex: 1 1 0;
|
|
1070
|
+
min-width: 0;
|
|
1071
|
+
padding: var(--spacing-element, 0.625rem) var(--spacing-element, 0.75rem);
|
|
1071
1072
|
border: 1px solid var(--color-gray-300, #d1d5db);
|
|
1072
1073
|
border-radius: var(--border-radius-small, 4px);
|
|
1073
1074
|
font-size: var(--text-sm, 0.875rem);
|
|
1074
1075
|
transition: border-color var(--transition-fast, 0.2s);
|
|
1075
1076
|
background-color: var(--color-white, #ffffff);
|
|
1076
1077
|
color: var(--color-gray-900, #111827);
|
|
1078
|
+
text-align: center;
|
|
1079
|
+
appearance: none;
|
|
1080
|
+
-webkit-appearance: none;
|
|
1081
|
+
-moz-appearance: textfield;
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
.price-input::-webkit-outer-spin-button,
|
|
1085
|
+
.price-input::-webkit-inner-spin-button {
|
|
1086
|
+
-webkit-appearance: none;
|
|
1087
|
+
margin: 0;
|
|
1077
1088
|
}
|
|
1078
1089
|
|
|
1079
1090
|
.price-input:focus {
|
|
1080
1091
|
outline: none;
|
|
1081
1092
|
border-color: var(--color-primary, #2563eb);
|
|
1093
|
+
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
|
|
1082
1094
|
}
|
|
1083
1095
|
|
|
1084
1096
|
.price-input::placeholder {
|
|
@@ -1087,8 +1099,10 @@
|
|
|
1087
1099
|
|
|
1088
1100
|
.price-separator {
|
|
1089
1101
|
color: var(--color-gray-700, #374151);
|
|
1090
|
-
font-weight: var(--font-weight-
|
|
1091
|
-
padding: 0 var(--spacing-element, 0.
|
|
1102
|
+
font-weight: var(--font-weight-medium, 500);
|
|
1103
|
+
padding: 0 var(--spacing-element, 0.5rem);
|
|
1104
|
+
flex-shrink: 0;
|
|
1105
|
+
line-height: 1;
|
|
1092
1106
|
}
|
|
1093
1107
|
|
|
1094
1108
|
.price-range-slider {
|
|
@@ -1466,6 +1480,11 @@
|
|
|
1466
1480
|
.collection-toolbar {
|
|
1467
1481
|
padding: var(--spacing-element, 0.5rem) 0;
|
|
1468
1482
|
margin-bottom: var(--spacing-element, 0.5rem);
|
|
1483
|
+
overflow: visible;
|
|
1484
|
+
}
|
|
1485
|
+
|
|
1486
|
+
.collection-toolbar .container {
|
|
1487
|
+
overflow: visible;
|
|
1469
1488
|
}
|
|
1470
1489
|
|
|
1471
1490
|
.collection-header-content {
|
|
@@ -1484,16 +1503,39 @@
|
|
|
1484
1503
|
justify-content: space-between;
|
|
1485
1504
|
gap: var(--spacing-element, 0.75rem);
|
|
1486
1505
|
flex-wrap: nowrap;
|
|
1506
|
+
position: relative;
|
|
1507
|
+
overflow: visible;
|
|
1487
1508
|
}
|
|
1488
1509
|
|
|
1489
1510
|
.filters-section {
|
|
1490
1511
|
flex: 0 0 auto;
|
|
1491
1512
|
margin-right: auto;
|
|
1513
|
+
position: relative;
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1516
|
+
.filter-toggle {
|
|
1517
|
+
white-space: nowrap;
|
|
1492
1518
|
}
|
|
1493
1519
|
|
|
1494
1520
|
.sort-section {
|
|
1495
1521
|
flex: 0 0 auto;
|
|
1496
1522
|
margin-left: 0;
|
|
1523
|
+
position: relative;
|
|
1524
|
+
}
|
|
1525
|
+
|
|
1526
|
+
.sort-dropdown {
|
|
1527
|
+
position: relative;
|
|
1528
|
+
}
|
|
1529
|
+
|
|
1530
|
+
.sort-menu {
|
|
1531
|
+
position: absolute;
|
|
1532
|
+
left: 0;
|
|
1533
|
+
right: 0;
|
|
1534
|
+
top: calc(100% + var(--space-2, 0.5rem));
|
|
1535
|
+
min-width: 100%;
|
|
1536
|
+
max-width: 100%;
|
|
1537
|
+
width: 100%;
|
|
1538
|
+
z-index: var(--z-dropdown);
|
|
1497
1539
|
}
|
|
1498
1540
|
|
|
1499
1541
|
.filter-dropdown {
|
|
@@ -1506,6 +1548,64 @@
|
|
|
1506
1548
|
border-radius: 0;
|
|
1507
1549
|
margin-top: 0;
|
|
1508
1550
|
z-index: var(--z-modal);
|
|
1551
|
+
display: flex;
|
|
1552
|
+
flex-direction: column;
|
|
1553
|
+
}
|
|
1554
|
+
|
|
1555
|
+
.filter-header {
|
|
1556
|
+
padding: var(--space-4, 1rem) var(--space-4, 1rem) var(--space-3, 0.75rem);
|
|
1557
|
+
flex-shrink: 0;
|
|
1558
|
+
}
|
|
1559
|
+
|
|
1560
|
+
.filter-content {
|
|
1561
|
+
padding: var(--space-4, 1rem);
|
|
1562
|
+
flex: 1 1 auto;
|
|
1563
|
+
overflow-y: auto;
|
|
1564
|
+
-webkit-overflow-scrolling: touch;
|
|
1565
|
+
}
|
|
1566
|
+
|
|
1567
|
+
.filter-group {
|
|
1568
|
+
margin-bottom: var(--space-6, 1.5rem);
|
|
1569
|
+
}
|
|
1570
|
+
|
|
1571
|
+
.filter-group:last-child {
|
|
1572
|
+
margin-bottom: 0;
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1575
|
+
.price-inputs {
|
|
1576
|
+
display: flex;
|
|
1577
|
+
align-items: center;
|
|
1578
|
+
gap: var(--space-3, 0.75rem);
|
|
1579
|
+
width: 100%;
|
|
1580
|
+
}
|
|
1581
|
+
|
|
1582
|
+
.price-input {
|
|
1583
|
+
flex: 1 1 0;
|
|
1584
|
+
min-width: 0;
|
|
1585
|
+
padding: var(--space-3, 0.75rem) var(--space-4, 1rem);
|
|
1586
|
+
font-size: var(--text-base, 1rem);
|
|
1587
|
+
text-align: center;
|
|
1588
|
+
}
|
|
1589
|
+
|
|
1590
|
+
.price-separator {
|
|
1591
|
+
flex-shrink: 0;
|
|
1592
|
+
padding: 0 var(--space-2, 0.5rem);
|
|
1593
|
+
font-weight: var(--font-weight-medium, 500);
|
|
1594
|
+
color: var(--color-gray-600, #4b5563);
|
|
1595
|
+
}
|
|
1596
|
+
|
|
1597
|
+
.filter-actions {
|
|
1598
|
+
flex-direction: column;
|
|
1599
|
+
gap: var(--space-3, 0.75rem);
|
|
1600
|
+
padding: var(--space-4, 1rem);
|
|
1601
|
+
flex-shrink: 0;
|
|
1602
|
+
}
|
|
1603
|
+
|
|
1604
|
+
.filter-actions .btn {
|
|
1605
|
+
width: 100%;
|
|
1606
|
+
padding: var(--space-4, 1rem) var(--space-6, 1.5rem);
|
|
1607
|
+
font-size: var(--text-base, 1rem);
|
|
1608
|
+
justify-content: center;
|
|
1509
1609
|
}
|
|
1510
1610
|
|
|
1511
1611
|
/* Products grid responsive rules handled by main grid above */
|
|
@@ -2294,6 +2394,10 @@
|
|
|
2294
2394
|
background-color: var(--color-error);
|
|
2295
2395
|
color: var(--color-white);
|
|
2296
2396
|
}
|
|
2397
|
+
.notification-info {
|
|
2398
|
+
background-color: var(--color-info);
|
|
2399
|
+
color: var(--color-white);
|
|
2400
|
+
}
|
|
2297
2401
|
|
|
2298
2402
|
.notification-warning {
|
|
2299
2403
|
background-color: var(--color-warning);
|
|
@@ -2548,12 +2652,13 @@
|
|
|
2548
2652
|
}
|
|
2549
2653
|
|
|
2550
2654
|
.product-info .product-title {
|
|
2551
|
-
font-size: var(--text-
|
|
2655
|
+
font-size: var(--text-lg);
|
|
2552
2656
|
font-weight: 700;
|
|
2553
2657
|
color: var(--color-gray-900);
|
|
2554
2658
|
margin-bottom: var(--space-4);
|
|
2555
2659
|
line-height: 1.2;
|
|
2556
2660
|
letter-spacing: -0.025em;
|
|
2661
|
+
text-align: left;
|
|
2557
2662
|
}
|
|
2558
2663
|
|
|
2559
2664
|
.product-price {
|
|
@@ -2980,15 +3085,8 @@
|
|
|
2980
3085
|
.collection-card {
|
|
2981
3086
|
background-color: var(--color-white);
|
|
2982
3087
|
border-radius: var(--radius-lg);
|
|
2983
|
-
overflow: hidden;
|
|
2984
|
-
|
|
2985
|
-
position: relative;
|
|
2986
|
-
group: hover;
|
|
2987
|
-
}
|
|
2988
|
-
|
|
2989
|
-
.collection-card:hover {
|
|
2990
|
-
transform: translateY(-4px);
|
|
2991
|
-
box-shadow: var(--shadow-lg);
|
|
3088
|
+
overflow: hidden;
|
|
3089
|
+
position: relative;
|
|
2992
3090
|
}
|
|
2993
3091
|
|
|
2994
3092
|
.collection-image-container {
|
|
@@ -3001,14 +3099,8 @@
|
|
|
3001
3099
|
.collection-image {
|
|
3002
3100
|
width: 100%;
|
|
3003
3101
|
height: 100%;
|
|
3004
|
-
object-fit: cover;
|
|
3005
|
-
transition: transform var(--transition-slow);
|
|
3006
|
-
}
|
|
3007
|
-
|
|
3008
|
-
.collection-card:hover .collection-image {
|
|
3009
|
-
transform: scale(1.05);
|
|
3102
|
+
object-fit: cover;
|
|
3010
3103
|
}
|
|
3011
|
-
|
|
3012
3104
|
.collection-placeholder {
|
|
3013
3105
|
display: flex;
|
|
3014
3106
|
align-items: center;
|
|
@@ -3159,8 +3251,7 @@
|
|
|
3159
3251
|
width: 60px;
|
|
3160
3252
|
height: 60px;
|
|
3161
3253
|
border-radius: var(--radius-lg);
|
|
3162
|
-
overflow: hidden;
|
|
3163
|
-
box-shadow: var(--shadow);
|
|
3254
|
+
overflow: hidden;
|
|
3164
3255
|
}
|
|
3165
3256
|
|
|
3166
3257
|
.collection-image img {
|
|
@@ -3634,7 +3725,12 @@
|
|
|
3634
3725
|
|
|
3635
3726
|
/* Filter Open State */
|
|
3636
3727
|
.filter-open {
|
|
3637
|
-
overflow: hidden;
|
|
3728
|
+
overflow: hidden !important;
|
|
3729
|
+
position: fixed;
|
|
3730
|
+
width: 100%;
|
|
3731
|
+
left: 0;
|
|
3732
|
+
right: 0;
|
|
3733
|
+
padding-right: var(--scrollbar-width, 0px);
|
|
3638
3734
|
}
|
|
3639
3735
|
|
|
3640
3736
|
.filter-open .filter-dropdown {
|
|
@@ -4089,6 +4185,59 @@
|
|
|
4089
4185
|
font-size: var(--text-3xl);
|
|
4090
4186
|
}
|
|
4091
4187
|
|
|
4188
|
+
.toolbar-content {
|
|
4189
|
+
gap: var(--space-2, 0.5rem);
|
|
4190
|
+
}
|
|
4191
|
+
|
|
4192
|
+
.filter-toggle,
|
|
4193
|
+
.sort-toggle {
|
|
4194
|
+
font-size: var(--text-xs, 0.75rem);
|
|
4195
|
+
padding: var(--space-2, 0.5rem) var(--space-3, 0.75rem);
|
|
4196
|
+
}
|
|
4197
|
+
|
|
4198
|
+
.sort-menu {
|
|
4199
|
+
min-width: 100%;
|
|
4200
|
+
max-width: 100%;
|
|
4201
|
+
left: 0;
|
|
4202
|
+
right: 0;
|
|
4203
|
+
}
|
|
4204
|
+
|
|
4205
|
+
.filter-dropdown {
|
|
4206
|
+
padding: 0;
|
|
4207
|
+
}
|
|
4208
|
+
|
|
4209
|
+
.filter-header {
|
|
4210
|
+
padding: var(--space-3, 0.75rem) var(--space-3, 0.75rem) var(--space-2, 0.5rem);
|
|
4211
|
+
}
|
|
4212
|
+
|
|
4213
|
+
.filter-content {
|
|
4214
|
+
padding: var(--space-3, 0.75rem);
|
|
4215
|
+
}
|
|
4216
|
+
|
|
4217
|
+
.price-inputs {
|
|
4218
|
+
gap: var(--space-2, 0.5rem);
|
|
4219
|
+
}
|
|
4220
|
+
|
|
4221
|
+
.price-input {
|
|
4222
|
+
padding: var(--space-2, 0.5rem) var(--space-3, 0.75rem);
|
|
4223
|
+
font-size: var(--text-sm, 0.875rem);
|
|
4224
|
+
}
|
|
4225
|
+
|
|
4226
|
+
.price-separator {
|
|
4227
|
+
padding: 0 var(--space-1, 0.25rem);
|
|
4228
|
+
font-size: var(--text-sm, 0.875rem);
|
|
4229
|
+
}
|
|
4230
|
+
|
|
4231
|
+
.filter-actions {
|
|
4232
|
+
padding: var(--space-3, 0.75rem);
|
|
4233
|
+
gap: var(--space-2, 0.5rem);
|
|
4234
|
+
}
|
|
4235
|
+
|
|
4236
|
+
.filter-actions .btn {
|
|
4237
|
+
padding: var(--space-3, 0.75rem) var(--space-4, 1rem);
|
|
4238
|
+
font-size: var(--text-sm, 0.875rem);
|
|
4239
|
+
}
|
|
4240
|
+
|
|
4092
4241
|
.collection-description {
|
|
4093
4242
|
font-size: var(--text-base);
|
|
4094
4243
|
}
|
|
@@ -4535,7 +4684,7 @@
|
|
|
4535
4684
|
bottom: 0;
|
|
4536
4685
|
left: 0;
|
|
4537
4686
|
right: 0;
|
|
4538
|
-
background-color: var(--color-background, {{ settings.color_background }});
|
|
4687
|
+
background-color: var(--color-background, {{ settings.color_background | default: '#ffffff' }});
|
|
4539
4688
|
border-top: 1px solid var(--color-border, rgba(15, 23, 42, 0.08));
|
|
4540
4689
|
padding: var(--spacing-element, 0.5rem) 0 calc(var(--spacing-element, 0.5rem) + env(safe-area-inset-bottom));
|
|
4541
4690
|
z-index: var(--z-fixed, 1030);
|
|
@@ -4591,8 +4740,8 @@
|
|
|
4591
4740
|
min-width: 18px;
|
|
4592
4741
|
height: 18px;
|
|
4593
4742
|
padding: 0 var(--spacing-element, 5px);
|
|
4594
|
-
background: var(--color-text, {{ settings.color_text }});
|
|
4595
|
-
color: var(--color-background, {{ settings.color_background }});
|
|
4743
|
+
background: var(--color-text, {{ settings.color_text | default: '#000000' }});
|
|
4744
|
+
color: var(--color-background, {{ settings.color_background | default: '#ffffff' }});
|
|
4596
4745
|
border-radius: var(--border-radius-medium, 9px);
|
|
4597
4746
|
font-size: var(--text-xs, 0.7rem);
|
|
4598
4747
|
font-weight: var(--font-weight-bold, 600);
|