@bcrs-shared-components/base-address 3.0.1 → 3.0.2

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.
@@ -18,26 +18,30 @@ const Template = (args: AddressIF) => ({
18
18
 
19
19
  export const Default = Template.bind({})
20
20
  Default['args'] = {
21
- street: '',
22
- streetAdditional: '',
23
- city: '',
24
- region: '',
25
- postalCode: '',
26
- country: '',
27
- deliveryInstructions: '',
21
+ value: {
22
+ streetAddress: '',
23
+ streetAddressAdditional: '',
24
+ addressCity: '',
25
+ addressRegion: '',
26
+ addressCountry: '',
27
+ postalCode: '',
28
+ deliveryInstructions: ''
29
+ },
28
30
  schema: DefaultSchema,
29
31
  editing: true
30
32
  }
31
33
 
32
34
  export const WithData = Template.bind({})
33
35
  WithData['args'] = {
34
- street: '1234 Sesame Street',
35
- streetAdditional: '4th Floor',
36
- city: 'Victoria',
37
- region: 'BC',
38
- postalCode: 'V8N 1A1',
39
- country: 'Canada',
40
- deliveryInstructions: 'Leave at front door',
36
+ value: {
37
+ streetAddress: '1234 Sesame Street',
38
+ streetAddressAdditional: '4th Floor',
39
+ addressCity: 'Victoria',
40
+ addressRegion: 'British Columbia',
41
+ addressCountry: 'Canada',
42
+ postalCode: 'V8N 1A1',
43
+ deliveryInstructions: 'Leave at front door'
44
+ },
41
45
  schema: DefaultSchema,
42
46
  editing: true
43
47
  }
package/BaseAddress.vue CHANGED
@@ -17,8 +17,8 @@
17
17
  {{ addressLocal.streetAddressAdditional }}
18
18
  </p>
19
19
  <p class="address-block__info-row">
20
- <span>{{ addressLocal.city }}</span>
21
- <span v-if="addressLocal.region">&nbsp;{{ addressLocal.region }}&nbsp;</span>
20
+ <span>{{ addressLocal.addressCity }}</span>
21
+ <span v-if="addressLocal.addressRegion">&nbsp;{{ addressLocal.addressRegion }}&nbsp;</span>
22
22
  <span v-if="addressLocal.postalCode">&nbsp;{{ addressLocal.postalCode }}</span>
23
23
  </p>
24
24
  <p class="address-block__info-row">
@@ -44,7 +44,7 @@
44
44
  >
45
45
  <div class="form__row">
46
46
  <v-autocomplete
47
- v-model="addressLocal.country"
47
+ v-model="addressLocal.addressCountry"
48
48
  autocomplete="new-password"
49
49
  :name="Math.random().toString()"
50
50
  variant="filled"
@@ -69,7 +69,7 @@
69
69
  component then they are using the mouse (and thus, clicking). -->
70
70
  <v-text-field
71
71
  :id="streetId"
72
- v-model="addressLocal.street"
72
+ v-model="addressLocal.streetAddress"
73
73
  autocomplete="new-password"
74
74
  class="street-address"
75
75
  variant="filled"
@@ -84,7 +84,7 @@
84
84
  </div>
85
85
  <div class="form__row">
86
86
  <v-textarea
87
- v-model="addressLocal.streetAdditional"
87
+ v-model="addressLocal.streetAddressAdditional"
88
88
  autocomplete="new-password"
89
89
  auto-grow
90
90
  variant="filled"
@@ -92,12 +92,12 @@
92
92
  :label="streetAdditionalLabel"
93
93
  :name="Math.random().toString()"
94
94
  rows="1"
95
- :rules="!!addressLocal.streetAdditional ? [...schemaLocal.streetAdditional] : []"
95
+ :rules="!!addressLocal.streetAddressAdditional ? [...schemaLocal.streetAdditional] : []"
96
96
  />
97
97
  </div>
98
98
  <div class="form__row three-column">
99
99
  <v-text-field
100
- v-model="addressLocal.city"
100
+ v-model="addressLocal.addressCity"
101
101
  autocomplete="new-password"
102
102
  variant="filled"
103
103
  class="item address-city"
@@ -107,7 +107,7 @@
107
107
  />
108
108
  <v-autocomplete
109
109
  v-if="useCountryRegions(country)"
110
- v-model="addressLocal.region"
110
+ v-model="addressLocal.addressRegion"
111
111
  autocomplete="new-password"
112
112
  variant="filled"
113
113
  class="item address-region"
@@ -119,10 +119,18 @@
119
119
  :menu-props="{ maxHeight: '14rem' }"
120
120
  :name="Math.random().toString()"
121
121
  :rules="[...schemaLocal.region]"
122
- />
122
+ >
123
+ <template #item="{item, props}">
124
+ <v-divider v-if="item.raw.divider" />
125
+ <v-list-item
126
+ v-else
127
+ v-bind="props"
128
+ />
129
+ </template>
130
+ </v-autocomplete>
123
131
  <v-text-field
124
132
  v-else
125
- v-model="addressLocal.region"
133
+ v-model="addressLocal.addressRegion"
126
134
  variant="filled"
127
135
  class="item address-region"
128
136
  :label="regionLabel"
@@ -168,7 +176,7 @@ import {
168
176
  useCountriesProvinces,
169
177
  useBaseValidations,
170
178
  spaceRules
171
- } from '@/components/base-address/factories'
179
+ } from './factories'
172
180
  import { AddressIF, SchemaIF } from '@bcrs-shared-components/interfaces'
173
181
  import { AddressValidationRules } from '@bcrs-shared-components/enums'
174
182
 
@@ -215,6 +223,7 @@ export default defineComponent({
215
223
  },
216
224
  emits: ['valid'],
217
225
  setup (props, { emit }) {
226
+ // eslint-disable-next-line vue/no-setup-props-destructure
218
227
  const localSchema = { ...props.schema }
219
228
  const {
220
229
  addressLocal,
@@ -249,10 +258,10 @@ export default defineComponent({
249
258
  }
250
259
  // reset other address fields (check is for loading an existing address)
251
260
  if (oldVal) {
252
- addressLocal.value.street = ''
253
- addressLocal.value.streetAdditional = ''
254
- addressLocal.value.city = ''
255
- addressLocal.value.region = ''
261
+ addressLocal.value.streetAddress = ''
262
+ addressLocal.value.streetAddressAdditional = ''
263
+ addressLocal.value.addressCity = ''
264
+ addressLocal.value.addressRegion = ''
256
265
  addressLocal.value.postalCode = ''
257
266
  }
258
267
  // wait for schema update and validate the form
@@ -262,7 +271,7 @@ export default defineComponent({
262
271
  }
263
272
 
264
273
  onMounted(() => {
265
- countryChangeHandler(addressLocal.value.country, null)
274
+ countryChangeHandler(addressLocal.value.addressCountry, null)
266
275
  })
267
276
 
268
277
  watch(() => addressLocal.value, (val) => {
@@ -187,21 +187,22 @@ export function useCountryRegions (code: string): boolean {
187
187
  }
188
188
 
189
189
  export function formatAddress (address: AddressIF): AddressIF {
190
- address.postalCode = address.postalCode?.toUpperCase() || ''
191
- if (address.country === 'CA') {
192
- address.postalCode = address.postalCode.replace('-', ' ')
190
+ let formattedPostalCode = address.postalCode?.toUpperCase() || ''
191
+ if (address.addressCountry === 'CA') {
192
+ formattedPostalCode = address.postalCode.replace('-', ' ')
193
193
  if (address.postalCode.length > 4 && address.postalCode[3] !== ' ') {
194
- address.postalCode = address.postalCode.slice(0, 3) + ' ' + address.postalCode.slice(3,)
194
+ formattedPostalCode = address.postalCode.slice(0, 3) + ' ' + address.postalCode.slice(3,)
195
195
  }
196
196
  }
197
197
  return {
198
- country: address.country?.trim(),
199
- street: address.street?.trim(),
200
- streetAdditional: address.streetAdditional?.trim(),
201
- city: address.city?.trim(),
202
- region: address.region?.trim(),
203
- postalCode: address.postalCode?.trim(),
204
- deliveryInstructions: address.deliveryInstructions?.trim()
198
+ addressCity: address.addressCity?.trim(),
199
+ addressCountry: address.addressCountry?.trim(),
200
+ addressRegion: address.addressRegion?.trim(),
201
+ addressType: address.addressType?.trim(),
202
+ deliveryInstructions: address.deliveryInstruction?.trim(),
203
+ postalCode: formattedPostalCode.trim(),
204
+ streetAddress: address.streetAddress?.trim(),
205
+ streetAddressAdditional: address.streetAddressAdditional?.trim()
205
206
  }
206
207
  }
207
208
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bcrs-shared-components/base-address",
3
- "version": "3.0.1",
3
+ "version": "3.0.2",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -17,5 +17,5 @@
17
17
  "vue-property-decorator": "^9.1.2",
18
18
  "vuelidate-property-decorators": "1.0.28"
19
19
  },
20
- "gitHead": "41e6bc79f9e564618ac9a53db02303f1e15558bf"
20
+ "gitHead": "5f3b43cd73175662b749d8831ed3b207b3fe44fa"
21
21
  }