@ecomplus/storefront-components 1.0.0-beta.19 → 1.0.0-beta.190

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.
Files changed (124) hide show
  1. package/CHANGELOG.md +1329 -135
  2. package/all.js +3 -1
  3. package/dist/1.storefront-components.min.js +2 -0
  4. package/dist/1.storefront-components.min.js.map +1 -0
  5. package/dist/2.storefront-components.min.js +5 -0
  6. package/dist/2.storefront-components.min.js.map +1 -0
  7. package/dist/3.storefront-components.min.js +5 -0
  8. package/dist/3.storefront-components.min.js.map +1 -0
  9. package/dist/storefront-components.min.js +33 -12
  10. package/dist/storefront-components.min.js.map +1 -1
  11. package/package.json +17 -12
  12. package/src/APagination.vue +2 -0
  13. package/src/AShare.vue +2 -0
  14. package/src/AccountAddresses.vue +3 -0
  15. package/src/AccountForm.vue +3 -0
  16. package/src/AccountPoints.vue +3 -0
  17. package/src/BuyTogether.vue +3 -0
  18. package/src/EarnPointsProgress.vue +3 -0
  19. package/src/ItemCustomizations.vue +2 -0
  20. package/src/KitProductVariations.vue +3 -0
  21. package/src/PointsApplier.vue +2 -0
  22. package/src/ProductQuickview.vue +3 -0
  23. package/src/QuantitySelector.vue +3 -0
  24. package/src/RecommendedItems.vue +3 -0
  25. package/src/ShippingLine.vue +1 -0
  26. package/src/TheCart.vue +3 -0
  27. package/src/html/APagination.html +90 -0
  28. package/src/html/APrices.html +24 -4
  29. package/src/html/AShare.html +31 -0
  30. package/src/html/AccountAddresses.html +90 -0
  31. package/src/html/AccountForm.html +269 -0
  32. package/src/html/AccountPoints.html +39 -0
  33. package/src/html/AddressForm.html +9 -7
  34. package/src/html/BuyTogether.html +60 -0
  35. package/src/html/CartItem.html +86 -38
  36. package/src/html/CartQuickview.html +28 -5
  37. package/src/html/DiscountApplier.html +3 -3
  38. package/src/html/EarnPointsProgress.html +28 -0
  39. package/src/html/InputDate.html +1 -1
  40. package/src/html/InputDocNumber.html +1 -0
  41. package/src/html/InputPhone.html +1 -1
  42. package/src/html/InstantSearch.html +3 -3
  43. package/src/html/ItemCustomizations.html +14 -0
  44. package/src/html/KitProductVariations.html +92 -0
  45. package/src/html/LoginBlock.html +34 -32
  46. package/src/html/LoginModal.html +9 -4
  47. package/src/html/PaymentOption.html +7 -5
  48. package/src/html/PointsApplier.html +26 -0
  49. package/src/html/ProductCard.html +68 -8
  50. package/src/html/ProductGallery.html +21 -3
  51. package/src/html/ProductQuickview.html +64 -0
  52. package/src/html/ProductVariations.html +30 -3
  53. package/src/html/QuantitySelector.html +85 -0
  54. package/src/html/RecommendedItems.html +48 -0
  55. package/src/html/SearchEngine.html +101 -24
  56. package/src/html/ShippingCalculator.html +84 -3
  57. package/src/html/ShippingLine.html +5 -2
  58. package/src/html/TheAccount.html +43 -9
  59. package/src/html/TheCart.html +156 -0
  60. package/src/html/TheProduct.html +416 -138
  61. package/src/js/APagination.js +74 -0
  62. package/src/js/APicture.js +27 -7
  63. package/src/js/APrices.js +80 -41
  64. package/src/js/AShare.js +83 -0
  65. package/src/js/AccountAddresses.js +201 -0
  66. package/src/js/AccountForm.js +312 -0
  67. package/src/js/AccountPoints.js +63 -0
  68. package/src/js/AddressForm.js +80 -35
  69. package/src/js/BuyTogether.js +246 -0
  70. package/src/js/CartItem.js +67 -14
  71. package/src/js/CartQuickview.js +20 -1
  72. package/src/js/DiscountApplier.js +181 -50
  73. package/src/js/EarnPointsProgress.js +77 -0
  74. package/src/js/InputDate.js +8 -8
  75. package/src/js/InputDocNumber.js +20 -0
  76. package/src/js/ItemCustomizations.js +10 -0
  77. package/src/js/KitProductVariations.js +218 -0
  78. package/src/js/LoginBlock.js +47 -6
  79. package/src/js/LoginModal.js +18 -10
  80. package/src/js/PaymentOption.js +28 -1
  81. package/src/js/PointsApplier.js +110 -0
  82. package/src/js/ProductCard.js +115 -11
  83. package/src/js/ProductGallery.js +32 -12
  84. package/src/js/ProductQuickview.js +72 -0
  85. package/src/js/ProductVariations.js +76 -19
  86. package/src/js/QuantitySelector.js +175 -0
  87. package/src/js/RecommendedItems.js +178 -0
  88. package/src/js/SearchEngine.js +185 -55
  89. package/src/js/ShippingCalculator.js +176 -35
  90. package/src/js/ShippingLine.js +44 -5
  91. package/src/js/TheAccount.js +97 -6
  92. package/src/js/TheCart.js +146 -0
  93. package/src/js/TheProduct.js +387 -43
  94. package/src/js/helpers/add-idle-callback.js +7 -0
  95. package/src/js/helpers/check-form-validity.js +3 -0
  96. package/src/js/helpers/favorite-products.js +24 -0
  97. package/src/js/helpers/scroll-to-element.js +10 -0
  98. package/src/js/helpers/sort-apps.js +14 -0
  99. package/src/js/helpers/wait-storefront-info.js +21 -0
  100. package/src/scss/APicture.scss +2 -0
  101. package/src/scss/APrices.scss +13 -1
  102. package/src/scss/AccountAddresses.scss +27 -0
  103. package/src/scss/AccountForm.scss +5 -0
  104. package/src/scss/AccountPoints.scss +17 -0
  105. package/src/scss/BuyTogether.scss +38 -0
  106. package/src/scss/CartItem.scss +17 -1
  107. package/src/scss/EarnPointsProgress.scss +6 -0
  108. package/src/scss/InstantSearch.scss +1 -0
  109. package/src/scss/KitProductVariations.scss +72 -0
  110. package/src/scss/LoginBlock.scss +5 -0
  111. package/src/scss/PaymentOption.scss +10 -1
  112. package/src/scss/ProductCard.scss +63 -25
  113. package/src/scss/ProductGallery.scss +4 -2
  114. package/src/scss/ProductQuickview.scss +36 -0
  115. package/src/scss/ProductVariations.scss +20 -4
  116. package/src/scss/QuantitySelector.scss +39 -0
  117. package/src/scss/RecommendedItems.scss +28 -0
  118. package/src/scss/SearchEngine.scss +9 -5
  119. package/src/scss/ShippingCalculator.scss +42 -1
  120. package/src/scss/ShippingLine.scss +24 -0
  121. package/src/scss/TheAccount.scss +4 -0
  122. package/src/scss/TheCart.scss +54 -0
  123. package/src/scss/TheProduct.scss +146 -1
  124. package/webpack.config.js +20 -6
@@ -4,7 +4,7 @@
4
4
  }
5
5
 
6
6
  &__services {
7
- max-width: 350px;
7
+ max-width: 370px;
8
8
  font-size: var(--font-size-sm);
9
9
 
10
10
  .active {
@@ -12,9 +12,50 @@
12
12
  }
13
13
  }
14
14
 
15
+ &__label {
16
+ padding: var(--spacer-3) var(--spacer-2);
17
+
18
+ i {
19
+ font-size: var(--font-size-lg);
20
+ animation-duration: 2s;
21
+ animation-iteration-count: infinite;
22
+ margin-right: var(--spacer-2);
23
+ color: var(--primary-light);
24
+ }
25
+ }
26
+
15
27
  &__option {
16
28
  display: flex;
17
29
  justify-content: space-between;
18
30
  width: 100%;
31
+
32
+ > small {
33
+ min-width: 70px;
34
+ text-align: right;
35
+ }
36
+
37
+ @media (min-width: 1200px) {
38
+ display: block;
39
+ position: relative;
40
+
41
+ > small {
42
+ position: absolute;
43
+ top: -5px;
44
+ right: -5px;
45
+ }
46
+ }
47
+ }
48
+
49
+ &__free-from-value {
50
+ margin-top: var(--spacer-2);
51
+
52
+ .progress {
53
+ height: 1.5rem;
54
+ margin-top: var(--spacer-1);
55
+
56
+ &-bar {
57
+ background-color: var(--info);
58
+ }
59
+ }
19
60
  }
20
61
  }
@@ -0,0 +1,24 @@
1
+ .shipping-line {
2
+ > strong {
3
+ display: inline-block;
4
+ min-width: 120px;
5
+ }
6
+
7
+ > span {
8
+ display: inline-block;
9
+ }
10
+
11
+ > small {
12
+ display: block;
13
+ display: -webkit-box;
14
+ line-height: var(--line-height-sm);
15
+ -webkit-line-clamp: 2;
16
+ -webkit-box-orient: vertical;
17
+ overflow: hidden;
18
+ color: var(--text-muted);
19
+ }
20
+ }
21
+
22
+ .active .shipping-line > small {
23
+ color: inherit;
24
+ }
@@ -19,6 +19,10 @@
19
19
 
20
20
  &__nav {
21
21
  margin-top: var(--spacer-5);
22
+ display: flex;
23
+ flex-wrap: nowrap;
24
+ overflow-x: auto;
25
+ overflow-y: hidden;
22
26
  }
23
27
 
24
28
  &__content {
@@ -0,0 +1,54 @@
1
+ .cart {
2
+ &__empty {
3
+ width: 100%;
4
+ text-align: center;
5
+ }
6
+
7
+ .cart-item {
8
+ padding-top: 1rem;
9
+ border-top: 1px dotted var(--gray);
10
+
11
+ &__name {
12
+ margin-bottom: .5rem;
13
+ }
14
+ }
15
+
16
+ &__discount {
17
+ margin: .5rem 0;
18
+
19
+ @media (min-width: 576px) {
20
+ margin: 1.5rem 0 1rem;
21
+ }
22
+ }
23
+
24
+ &__info {
25
+ border-radius: .25rem;
26
+ padding: 1rem;
27
+ background: var(--light);
28
+ }
29
+
30
+ &__summary-row {
31
+ display: flex;
32
+ justify-content: space-between;
33
+ align-items: center;
34
+ text-align: right;
35
+
36
+ > span {
37
+ color: var(--gray);
38
+ }
39
+ }
40
+
41
+ &__shipping {
42
+ margin: 1rem 0;
43
+ }
44
+
45
+ &__total {
46
+ margin: 1rem 0;
47
+
48
+ .prices {
49
+ &__value {
50
+ font-size: 1.5rem;
51
+ }
52
+ }
53
+ }
54
+ }
@@ -1,3 +1,4 @@
1
+
1
2
  .product {
2
3
  &__sku {
3
4
  color: var(--text-muted);
@@ -10,10 +11,12 @@
10
11
  }
11
12
 
12
13
  &__unavailable,
14
+ &__without-price,
13
15
  &__out-of-stock {
14
16
  font-weight: var(--font-bold);
15
17
  font-size: var(--font-size-lg);
16
18
  color: var(--warning);
19
+ margin-bottom: var(--spacer-3);
17
20
  }
18
21
 
19
22
  &__discount {
@@ -21,9 +24,28 @@
21
24
  }
22
25
 
23
26
  &__short-stock {
24
- color: var(--danger);
25
27
  font-weight: var(--font-light);
26
28
  text-transform: lowercase;
29
+ background: rgba(var(--info-rgb), .2);
30
+ display: inline-block;
31
+ padding: var(--spacer-1) var(--spacer-3);
32
+ border-radius: var(--border-radius-sm);
33
+
34
+ i,
35
+ svg {
36
+ color: var(--info);
37
+ }
38
+ }
39
+
40
+ &__production {
41
+ i,
42
+ svg {
43
+ color: var(--info);
44
+ }
45
+
46
+ strong {
47
+ text-transform: lowercase;
48
+ }
27
49
  }
28
50
 
29
51
  &__payment > a {
@@ -31,4 +53,127 @@
31
53
  justify-content: space-between;
32
54
  align-items: center;
33
55
  }
56
+
57
+ &__free-shipping-from {
58
+ font-size: var(--font-size);
59
+ color: var(--secondary);
60
+ }
61
+
62
+ &__sticky {
63
+ position: fixed;
64
+ bottom: 0;
65
+ left: 0;
66
+ z-index: 500;
67
+ width: 100%;
68
+ padding: var(--spacer-2) var(--spacer-3);
69
+ background: var(--body-bg);
70
+ box-shadow: var(--box-shadow-lg);
71
+
72
+ &-container {
73
+ padding: 0;
74
+ display: flex;
75
+ align-items: center;
76
+ justify-content: space-between;
77
+ }
78
+
79
+ a {
80
+ padding: var(--spacer-2) var(--spacer-5);
81
+ margin-left: var(--spacer-3);
82
+ white-space: nowrap
83
+ }
84
+
85
+ .prices {
86
+ display: flex;
87
+ align-items: center;
88
+ gap: var(--spacer-2);
89
+ white-space: nowrap;
90
+ position: relative;
91
+ }
92
+
93
+ &-picture {
94
+ width: auto;
95
+
96
+ img {
97
+ max-height: 70px;
98
+ width: auto;
99
+ }
100
+ }
101
+
102
+ &-info {
103
+ display: flex;
104
+ align-items: center;
105
+
106
+ h5 {
107
+ margin: 0 var(--spacer-3);
108
+ overflow: hidden;
109
+ text-overflow: ellipsis;
110
+ display: -webkit-box;
111
+ -webkit-line-clamp: 2;
112
+ -webkit-box-orient: vertical;
113
+ }
114
+ }
115
+
116
+ &-buy {
117
+ display: flex;
118
+ }
119
+ }
120
+
121
+ &__favorite i {
122
+ opacity: 0.4;
123
+ color: var(--red);
124
+
125
+ &.active {
126
+ opacity: 1;
127
+
128
+ + span {
129
+ color: var(--text-muted);
130
+ }
131
+ }
132
+ }
133
+
134
+ &__sale-timer {
135
+ width: 100%;
136
+ max-width: 300px;
137
+ background-color: var(--secondary-light);
138
+ display: flex;
139
+ align-items: center;
140
+ justify-content: center;
141
+ padding: var(--spacer-2);
142
+ color: var(--secondary-light-yiq);
143
+ border-radius: var(--border-radius);
144
+ text-transform: uppercase;
145
+ line-height: 1.2;
146
+ text-align: center;
147
+
148
+ small {
149
+ text-transform: lowercase;
150
+ }
151
+ }
152
+
153
+ @media (max-width: 768px) {
154
+ &__sticky-info {
155
+ display: none;
156
+ }
157
+ }
158
+
159
+ @media (max-width: 992px) {
160
+ &__sticky {
161
+ &-buy {
162
+ width: 100%;
163
+ }
164
+
165
+ .btn {
166
+ width: 100%;
167
+ margin-left: 0;
168
+ }
169
+
170
+ .prices {
171
+ display: none;
172
+ }
173
+ }
174
+ }
175
+ }
176
+
177
+ .offers-variation-notification {
178
+ margin: -1rem 0 1rem 0;
34
179
  }
package/webpack.config.js CHANGED
@@ -59,12 +59,14 @@ const webpackConfig = {
59
59
  {
60
60
  loader: 'postcss-loader',
61
61
  options: {
62
- ident: 'postcss',
63
- minimize: !devMode,
64
- plugins: [
65
- require('autoprefixer')(),
66
- require('cssnano')({ preset: 'default' })
67
- ]
62
+ postcssOptions: {
63
+ ident: 'postcss',
64
+ minimize: !devMode,
65
+ plugins: [
66
+ require('autoprefixer')(),
67
+ require('cssnano')({ preset: 'default' })
68
+ ]
69
+ }
68
70
  }
69
71
  },
70
72
  {
@@ -80,6 +82,18 @@ const webpackConfig = {
80
82
  }
81
83
  }
82
84
  ]
85
+ },
86
+
87
+ {
88
+ test: /\.(woff|woff2|svg|eot|ttf|png|jpg|gif)$/i,
89
+ use: [
90
+ {
91
+ loader: 'url-loader',
92
+ options: {
93
+ limit: 8192
94
+ }
95
+ }
96
+ ]
83
97
  }
84
98
  ]
85
99
  },