@lancom/shared 0.0.284 → 0.0.285

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.
@@ -4,6 +4,11 @@ body {
4
4
  overflow-x: hidden;
5
5
  }
6
6
 
7
+ .multiselect__spinner {
8
+ z-index: 2 !important;
9
+ top: 6px !important;
10
+ }
11
+
7
12
  .content {
8
13
  width: 100%;
9
14
  margin-top: $navbar_height;
@@ -26,15 +26,15 @@
26
26
  <postcode-select
27
27
  :suburb="suburb"
28
28
  :labelless="true"
29
- placeholder="Postcode"
30
- label-text="Enter postcode to calculate shipping"
29
+ :placeholder="postcodeLabel"
30
+ :label-text="postcodeInfoLabel"
31
31
  @select="handleSuburbChange" />
32
32
  </div>
33
33
  <div class="Cart__coupon-container">
34
34
  <coupon-select
35
35
  v-model="cartCoupon"
36
36
  :pricing="cartPricingCalculating ? null : cartPricing"
37
- label-text="Enter coupon code" />
37
+ :label-text="couponLabel" />
38
38
  </div>
39
39
  <div class="Cart__quantity-errors">
40
40
  <cart-quantity-errors />
@@ -91,7 +91,17 @@ export default {
91
91
  filters: { price },
92
92
  mixins: [CartMixin],
93
93
  computed: {
94
+ ...mapGetters(['MESSAGES']),
94
95
  ...mapGetters('cart', ['isEmpty', 'cartPricingError', 'cartPricing', 'cartPricingCalculating', 'entities']),
96
+ postcodeLabel() {
97
+ return this.MESSAGES.CART_POSTCODE || 'Postcode';
98
+ },
99
+ postcodeInfoLabel() {
100
+ return this.MESSAGES.CART_POSTCODE_INFO || 'Enter postcode to calculate shipping';
101
+ },
102
+ couponLabel() {
103
+ return (this.MESSAGES.CART_COUPON || 'Coupon code').trim();
104
+ },
95
105
  cartCoupon: {
96
106
  get() {
97
107
  return this.coupon;
@@ -14,20 +14,4 @@
14
14
  }
15
15
  }
16
16
  }
17
- }
18
-
19
- .CustomerAddressForm {
20
- &__toggle-address {
21
- margin-bottom: 10px;
22
- cursor: pointer;
23
- display: inline-block;
24
- color: $green;
25
- border-bottom: 1px dashed $green;
26
- }
27
- &__section {
28
- padding: 15px;
29
- border: 1px solid #d7d7d7;
30
- margin-bottom: 10px;
31
- border-radius: 4px;
32
- }
33
17
  }
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="CustomerAddressForm__wrapper">
3
- <div class="CustomerAddressForm__form CustomerAddressForm__section">
3
+ <div class="CustomerAddressForm__form">
4
4
  <div class="form-row--cols">
5
5
  <validation-provider
6
6
  v-slot="{ errors }"
@@ -124,16 +124,74 @@
124
124
  </span>
125
125
  </validation-provider>
126
126
  </div>
127
- </div>
128
- <div class="CustomerAddressForm__section">
127
+ <validation-provider
128
+ v-slot="{ errors }"
129
+ tag="div"
130
+ name="Address line 1"
131
+ rules="required"
132
+ class="form-row">
133
+ <label
134
+ for="addressLine1"
135
+ class="form-label">
136
+ Address line 1
137
+ </label>
138
+ <input
139
+ id="addressLine1"
140
+ ref="addressLine1"
141
+ v-model="address.addressLine1"
142
+ name="addressLine1"
143
+ type="text"
144
+ class="form-field labelless"
145
+ placeholder="Address line 1"
146
+ :class="{
147
+ 'is-danger': errors.length,
148
+ filled: address.addressLine1
149
+ }"
150
+ @input="validateAddress"
151
+ @keyup.enter="$refs.addressLine1.focus()" />
152
+ <span
153
+ v-if="errors.length"
154
+ class="form-help is-danger">
155
+ {{ errors[0] }}
156
+ </span>
157
+ </validation-provider>
158
+ <validation-provider
159
+ v-slot="{ errors }"
160
+ tag="div"
161
+ name="Address line 2"
162
+ class="form-row">
163
+ <label
164
+ for="addressLine2"
165
+ class="form-label">
166
+ Address line 2
167
+ </label>
168
+ <input
169
+ id="addressLine2"
170
+ ref="addressLine2"
171
+ v-model="address.addressLine2"
172
+ name="addressLine2"
173
+ type="text"
174
+ class="form-field labelless"
175
+ placeholder="Address line 2"
176
+ :class="{
177
+ 'is-danger': errors.length,
178
+ filled: address.addressLine2
179
+ }"
180
+ @input="validateAddress"
181
+ @keyup.enter="$refs.addressLine2.focus()" />
182
+ <span
183
+ v-if="errors.length"
184
+ class="form-help is-danger">
185
+ {{ errors[0] }}
186
+ </span>
187
+ </validation-provider>
129
188
  <div class="form-row--cols">
130
189
  <postcode-select
131
- v-if="!visibleFullAddress"
132
190
  class="form-col col-half"
133
191
  :suburb="suburb"
134
192
  :labelless="true"
135
193
  :required="true"
136
- :placeholder="postcodeLabel"
194
+ placeholder="Suburb"
137
195
  @select="handleSuburbChange">
138
196
  </postcode-select>
139
197
  <div class="form-col col-half">
@@ -152,190 +210,36 @@
152
210
  disabled />
153
211
  </div>
154
212
  </div>
155
- <div
156
- @click="visibleFullAddress = !visibleFullAddress"
157
- class="CustomerAddressForm__toggle-address">
158
- {{ visibleFullAddress ? 'Find a Different Address' : 'Enter Address Manually' }}
159
- </div>
160
- <div v-if="visibleFullAddress">
161
- <validation-provider
162
- v-slot="{ errors }"
163
- tag="div"
164
- name="Address line 1"
165
- rules="required"
166
- class="form-row">
167
- <label
168
- for="addressLine1"
169
- class="form-label">
170
- Address line 1
171
- </label>
172
- <input
173
- id="addressLine1"
174
- ref="addressLine1"
175
- v-model="address.addressLine1"
176
- name="addressLine1"
177
- type="text"
178
- class="form-field labelless"
179
- placeholder="Address line 1"
180
- :class="{
181
- 'is-danger': errors.length,
182
- filled: address.addressLine1
183
- }"
184
- @input="validateAddress"
185
- @keyup.enter="$refs.addressLine1.focus()" />
186
- <span
187
- v-if="errors.length"
188
- class="form-help is-danger">
189
- {{ errors[0] }}
190
- </span>
191
- </validation-provider>
192
- <validation-provider
193
- v-slot="{ errors }"
194
- tag="div"
195
- name="Address line 2"
196
- class="form-row">
197
- <label
198
- for="addressLine2"
199
- class="form-label">
200
- Address line 2
201
- </label>
202
- <input
203
- id="addressLine2"
204
- ref="addressLine2"
205
- v-model="address.addressLine2"
206
- name="addressLine2"
207
- type="text"
208
- class="form-field labelless"
209
- placeholder="Address line 2"
210
- :class="{
211
- 'is-danger': errors.length,
212
- filled: address.addressLine2
213
- }"
214
- @input="validateAddress"
215
- @keyup.enter="$refs.addressLine2.focus()" />
216
- <span
217
- v-if="errors.length"
218
- class="form-help is-danger">
219
- {{ errors[0] }}
220
- </span>
221
- </validation-provider>
222
- <validation-provider
223
- v-if="!withoutAdditionalInfo"
224
- v-slot="{ errors }"
225
- tag="div"
213
+ <validation-provider
214
+ v-if="!withoutAdditionalInfo"
215
+ v-slot="{ errors }"
216
+ tag="div"
217
+ name="additionalInfo"
218
+ class="form-row">
219
+ <label
220
+ for="additionalInfo"
221
+ class="form-label">
222
+ Additional Info
223
+ </label>
224
+ <input
225
+ id="additionalInfo"
226
+ ref="additionalInfo"
227
+ v-model="address.additionalInfo"
226
228
  name="additionalInfo"
227
- class="form-row">
228
- <label
229
- for="additionalInfo"
230
- class="form-label">
231
- Additional Info
232
- </label>
233
- <input
234
- id="additionalInfo"
235
- ref="additionalInfo"
236
- v-model="address.additionalInfo"
237
- name="additionalInfo"
238
- placeholder="Additional Info"
239
- type="text"
240
- class="form-field labelless"
241
- :class="{
242
- 'is-danger': errors.length,
243
- filled: address.additionalInfo
244
- }"
245
- @keyup.enter="$refs.additionalInfo.focus()" />
246
- <span
247
- v-if="errors.length"
248
- class="form-help is-danger">
249
- {{ errors[0] }}
250
- </span>
251
- </validation-provider>
252
- <div class="form-row--cols">
253
- <validation-provider
254
- v-slot="{ errors }"
255
- tag="div"
256
- name="postcode"
257
- class="form-col">
258
- <label
259
- for="postcode"
260
- class="form-label">
261
- Postcode
262
- </label>
263
- <input
264
- id="postcode"
265
- ref="postcode"
266
- v-model="address.postcode"
267
- name="postcode"
268
- placeholder="Postcode"
269
- type="text"
270
- class="form-field labelless"
271
- :class="{
272
- 'is-danger': errors.length,
273
- filled: address.postcode
274
- }" />
275
- <span
276
- v-if="errors.length"
277
- class="form-help is-danger">
278
- {{ errors[0] }}
279
- </span>
280
- </validation-provider>
281
- <validation-provider
282
- v-slot="{ errors }"
283
- tag="div"
284
- :name="localityLabel"
285
- class="form-col">
286
- <label
287
- for="locality"
288
- class="form-label">
289
- {{ localityLabel }}
290
- </label>
291
- <input
292
- id="locality"
293
- ref="locality"
294
- v-model="address.city"
295
- name="locality"
296
- :placeholder="localityLabel"
297
- type="text"
298
- class="form-field labelless"
299
- :class="{
300
- 'is-danger': errors.length,
301
- filled: address.city
302
- }" />
303
- <span
304
- v-if="errors.length"
305
- class="form-help is-danger">
306
- {{ errors[0] }}
307
- </span>
308
- </validation-provider>
309
- <validation-provider
310
- v-slot="{ errors }"
311
- tag="div"
312
- :name="stateLabel"
313
- class="form-col">
314
- <label
315
- for="state"
316
- class="form-label">
317
- {{ stateLabel }}
318
- </label>
319
- <input
320
- id="state"
321
- ref="state"
322
- v-model="address.state"
323
- name="state"
324
- :placeholder="stateLabel"
325
- type="text"
326
- class="form-field labelless"
327
- :class="{
328
- 'is-danger': errors.length,
329
- filled: address.state
330
- }" />
331
- <span
332
- v-if="errors.length"
333
- class="form-help is-danger">
334
- {{ errors[0] }}
335
- </span>
336
- </validation-provider>
337
- </div>
338
- </div>
229
+ placeholder="Additional Info"
230
+ type="text"
231
+ class="form-field labelless"
232
+ :class="{
233
+ 'is-danger': errors.length,
234
+ filled: address.additionalInfo
235
+ }"
236
+ @keyup.enter="$refs.additionalInfo.focus()" />
237
+ <span
238
+ v-if="errors.length"
239
+ class="form-help is-danger">
240
+ {{ errors[0] }}
241
+ </span>
242
+ </validation-provider>
339
243
  </div>
340
244
  </div>
341
245
  </template>
@@ -349,11 +253,6 @@ export default {
349
253
  components: {
350
254
  PostcodeSelect
351
255
  },
352
- data() {
353
- return {
354
- visibleFullAddress: false
355
- };
356
- },
357
256
  props: {
358
257
  address: {
359
258
  type: Object,
@@ -365,22 +264,13 @@ export default {
365
264
  }
366
265
  },
367
266
  computed: {
368
- ...mapGetters(['shop', 'country', 'currency', 'MESSAGES']),
267
+ ...mapGetters(['shop', 'country']),
369
268
  ...mapGetters('cart', [
370
269
  'suburb'
371
270
  ]),
372
271
  ...mapGetters('auth', [
373
272
  'user'
374
- ]),
375
- postcodeLabel() {
376
- return this.MESSAGES?.POSTCODES_LABEL || 'Suburb';
377
- },
378
- localityLabel() {
379
- return this.MESSAGES?.LOCALITY || 'Locality';
380
- },
381
- stateLabel() {
382
- return this.MESSAGES?.STATE || 'State';
383
- }
273
+ ])
384
274
  },
385
275
  created() {
386
276
  if (!this.address.suburb && !this.suburb && this.user?.suburb) {
@@ -407,19 +297,12 @@ export default {
407
297
  this.$set(this.address, 'postcode', suburb.postcode);
408
298
  this.$set(this.address, 'city', suburb.locality);
409
299
  this.$set(this.address, 'country', suburb.country);
410
- if (suburb.addressLine1) {
411
- this.$set(this.address, 'addressLine1', suburb.addressLine1);
412
- }
413
- if (suburb.addressLine2) {
414
- this.$set(this.address, 'addressLine2', suburb.addressLine2);
415
- }
416
300
  }
417
301
  },
418
302
  handleSuburbChange(suburb) {
419
- this.visibleFullAddress = true;
420
303
  this.setAddressSuburb(suburb);
421
304
  this.setSuburb(suburb);
422
- this.calculateCartPrice({ shop: this.shop, country: this.country, currency: this.currency });
305
+ this.calculateCartPrice({ shop: this.shop, country: this.country });
423
306
  }
424
307
  }
425
308
  };
@@ -427,4 +310,4 @@ export default {
427
310
 
428
311
  <style lang="scss" scoped>
429
312
  @import 'address-form.scss';
430
- </style>
313
+ </style>
@@ -29,7 +29,7 @@ import gtm from '@lancom/shared/assets/js/utils/gtm';
29
29
  import { generateOrderData } from '@lancom/shared/assets/js/utils/order';
30
30
  import CartQuantityErrors from '@lancom/shared/components/checkout/cart/cart_quantity_errors/cart-quantity-errors';
31
31
  import CartMixin from '@lancom/shared/components/checkout/cart/cart.mixin';
32
- import AddressForm from '@lancom/shared/components/checkout/order/address-form/address-form';
32
+ import AddressForm from '@/components/checkout/order/address-form/address-form';
33
33
  import ProgressStepsControls from '@lancom/shared/components/common/progress_steps/progress_steps_controls/progress-steps-controls';
34
34
 
35
35
  export default {
@@ -19,7 +19,7 @@
19
19
 
20
20
  <script>
21
21
  import { mapMutations } from 'vuex';
22
- import AddressForm from '@lancom/shared/components/checkout/order/address-form/address-form';
22
+ import AddressForm from '@/components/checkout/order/address-form/address-form';
23
23
  import ProgressStepsControls from '@lancom/shared/components/common/progress_steps/progress_steps_controls/progress-steps-controls';
24
24
 
25
25
  export default {
@@ -1,33 +1,37 @@
1
1
  <template>
2
- <div class="CouponSelect__wrapper form-row">
2
+ <div class="CouponSelect__wrapper">
3
3
  <validation-provider
4
4
  tag="div"
5
5
  name="coupon"
6
6
  class="form-col col-half">
7
- <label
8
- for="coupon"
9
- class="form-label">
10
- {{ labelText }}
11
- </label>
12
7
  <div class="row">
13
8
  <div class="col-7">
14
- <input
15
- id="coupon"
16
- ref="coupon"
17
- v-model="code"
18
- placeholder="Coupon"
19
- name="coupon"
20
- type="text"
21
- class="form-field labelless"
22
- :class="{
23
- 'is-danger': code && notValidCoupon,
24
- filled: code
25
- }"
26
- @keydown.enter="validateCoupon" />
27
- <span
28
- v-if="value"
29
- class="CouponSelect__clear"
30
- @click="clearCoupon()">remove coupon</span>
9
+ <div class="form-row">
10
+ <input
11
+ id="coupon"
12
+ ref="coupon"
13
+ v-model="code"
14
+ placeholder="Coupon"
15
+ name="coupon"
16
+ type="text"
17
+ class="form-field"
18
+ :class="{
19
+ 'is-danger': code && notValidCoupon,
20
+ filled: code
21
+ }"
22
+ @keydown.enter="validateCoupon" />
23
+ <label
24
+ v-if="labelText"
25
+ for="coupon"
26
+ class="form-label label-inner"
27
+ style="color: #999 !important;">
28
+ {{ labelText }}
29
+ </label>
30
+ <span
31
+ v-if="value"
32
+ class="CouponSelect__clear"
33
+ @click="clearCoupon()">remove coupon</span>
34
+ </div>
31
35
  </div>
32
36
  <div class="col-5">
33
37
  <btn
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="PostcodeSelect">
2
+ <div class="PostcodeSelect form-row">
3
3
  <validation-provider
4
4
  v-slot="{ errors }"
5
5
  tag="div"
@@ -151,7 +151,7 @@ export default {
151
151
  },
152
152
  methods: {
153
153
  async handleSearch(query) {
154
- if (query.trim().length > 2) {
154
+ if (query.trim().length > 1) {
155
155
  this.isLoading = true;
156
156
  const country = this.codeCountry || this.country;
157
157
  const countryName = country ? (country.isoCode === 'GB' ? 'England' : (country.name || country)) : 'Australia';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lancom/shared",
3
- "version": "0.0.284",
3
+ "version": "0.0.285",
4
4
  "description": "lancom common scripts",
5
5
  "author": "e.tokovenko <e.tokovenko@gmail.com>",
6
6
  "repository": {