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

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.
@@ -1,65 +1,49 @@
1
- import type { Meta } from '@storybook/vue'
2
- import { BaseAddress } from './index'
3
- import Vuetify from 'vuetify'
4
- import { required, maxLength } from 'vuelidate/lib/validators'
1
+ import { Meta } from '@storybook/vue3'
2
+ import BaseAddress from './BaseAddress.vue'
3
+ import { AddressIF } from '@bcrs-shared-components/interfaces'
4
+ import { DefaultSchema } from './resources/default-schema'
5
5
 
6
- const meta: Meta<typeof BaseAddress> = {
7
- title: 'component/BaseAddress'
8
- }
9
- export default meta
10
-
11
- const PersonAddressSchema = {
12
- streetAddress: {
13
- required,
14
- maxLength: maxLength(50)
15
- },
16
- streetAddressAdditional: {
17
- maxLength: maxLength(50)
18
- },
19
- addressCity: {
20
- required,
21
- maxLength: maxLength(40)
22
- },
23
- addressCountry: {
24
- required
25
- },
26
- addressRegion: {
27
- maxLength: maxLength(2)
28
- },
29
- postalCode: {
30
- required,
31
- maxLength: maxLength(15)
32
- },
33
- deliveryInstructions: {
34
- maxLength: maxLength(80)
35
- }
36
- }
6
+ export default {
7
+ title: 'Component/BaseAddress',
8
+ component: BaseAddress
9
+ } as Meta
37
10
 
38
- const Template = (args, { argTypes }) => ({
39
- vuetify: new Vuetify({ iconfont: 'mdi' }),
40
- props: Object.keys(argTypes),
11
+ const Template = (args: AddressIF) => ({
41
12
  components: { BaseAddress },
42
- template: '<BaseAddress v-bind="$props" />' // $props comes from args below
13
+ setup () {
14
+ return { args }
15
+ },
16
+ template: '<BaseAddress v-bind="args" />'
43
17
  })
44
18
 
45
- export const DefaultBaseAddress = Template.bind({})
46
- DefaultBaseAddress['args'] = {
47
- editing: true,
48
- schema: PersonAddressSchema,
49
- address: {}
19
+ export const Default = Template.bind({})
20
+ Default['args'] = {
21
+ street: '',
22
+ streetAdditional: '',
23
+ city: '',
24
+ region: '',
25
+ postalCode: '',
26
+ country: '',
27
+ deliveryInstructions: '',
28
+ schema: DefaultSchema,
29
+ editing: true
50
30
  }
51
- export const FilledInBaseAddress = Template.bind({})
52
- FilledInBaseAddress['args'] = {
53
- editing: true,
54
- schema: PersonAddressSchema,
55
- address: {
56
- streetAddress: '1234 Sesame Street',
57
- streetAddressAdditional: '4th Floor',
58
- addressCity: 'Victoria',
59
- addressRegion: 'British Columbia',
60
- addressCountry: 'Canada',
61
- postalCode: 'V8N 1A1',
62
- deliveryInstructions: 'Leave at front door'
63
- },
64
- noPoBox: true
31
+
32
+ export const WithData = Template.bind({})
33
+ 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',
41
+ schema: DefaultSchema,
42
+ editing: true
43
+ }
44
+
45
+ export const WithValidation = Template.bind({})
46
+ WithValidation['args'] = {
47
+ ...WithData['args']
48
+ // Additional logic for showcasing validation can be added here
65
49
  }