sprintify-ui 0.6.32 → 0.6.34
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/dist/sprintify-ui.es.js +13449 -13183
- package/dist/style.css +1 -1
- package/dist/tailwindcss/button.js +261 -0
- package/dist/tailwindcss/index.js +16 -301
- package/dist/tailwindcss/input.js +24 -0
- package/dist/tailwindcss/overlay.js +13 -0
- package/dist/tailwindcss/theme.js +46 -0
- package/dist/types/src/components/BaseActionItemButton.vue.d.ts +2 -2
- package/dist/types/src/components/BaseAddressForm.vue.d.ts +10 -0
- package/dist/types/src/components/BaseAutocomplete.vue.d.ts +10 -10
- package/dist/types/src/components/BaseAutocompleteDrawer.vue.d.ts +3 -3
- package/dist/types/src/components/BaseAutocompleteFetch.vue.d.ts +6 -6
- package/dist/types/src/components/BaseAvatarGroup.vue.d.ts +1 -1
- package/dist/types/src/components/BaseBelongsTo.vue.d.ts +6 -6
- package/dist/types/src/components/BaseBelongsToFetch.vue.d.ts +6 -6
- package/dist/types/src/components/BaseButton.vue.d.ts +12 -12
- package/dist/types/src/components/BaseButtonGroup.vue.d.ts +24 -24
- package/dist/types/src/components/BaseCalendar.vue.d.ts +1 -1
- package/dist/types/src/components/BaseColor.vue.d.ts +19 -0
- package/dist/types/src/components/BaseDataIterator.vue.d.ts +1 -1
- package/dist/types/src/components/BaseDataIteratorSectionColumns.vue.d.ts +4 -4
- package/dist/types/src/components/BaseDataTable.vue.d.ts +1 -1
- package/dist/types/src/components/BaseDropdownAutocomplete.vue.d.ts +1 -1
- package/dist/types/src/components/BaseField.vue.d.ts +13 -3
- package/dist/types/src/components/BaseInput.vue.d.ts +53 -4
- package/dist/types/src/components/BaseInputError.vue.d.ts +14 -1
- package/dist/types/src/components/BaseInputLabel.vue.d.ts +15 -5
- package/dist/types/src/components/BaseLayoutSidebarConfigurable.vue.d.ts +1 -1
- package/dist/types/src/components/BaseLayoutStackedConfigurable.vue.d.ts +1 -1
- package/dist/types/src/components/BaseLoadingCover.vue.d.ts +1 -1
- package/dist/types/src/components/BaseMediaGallery.vue.d.ts +1 -1
- package/dist/types/src/components/BaseMediaListItem.vue.d.ts +1 -1
- package/dist/types/src/components/BaseMediaPictures.vue.d.ts +1 -1
- package/dist/types/src/components/BaseMediaPicturesItem.vue.d.ts +1 -1
- package/dist/types/src/components/BaseMenu.vue.d.ts +1 -1
- package/dist/types/src/components/BaseMenuItem.vue.d.ts +1 -1
- package/dist/types/src/components/BaseNavbar.vue.d.ts +1 -1
- package/dist/types/src/components/BaseNavbarItemContent.vue.d.ts +1 -1
- package/dist/types/src/components/BaseNavbarSideItemContent.vue.d.ts +1 -1
- package/dist/types/src/components/BasePassword.vue.d.ts +13 -0
- package/dist/types/src/components/BaseSelect.vue.d.ts +27 -0
- package/dist/types/src/components/BaseSideNavigation.vue.d.ts +3 -3
- package/dist/types/src/components/BaseSwitch.vue.d.ts +1 -1
- package/dist/types/src/components/BaseTable.vue.d.ts +1 -1
- package/dist/types/src/components/BaseTabs.vue.d.ts +3 -3
- package/dist/types/src/components/BaseTagAutocomplete.vue.d.ts +3 -3
- package/dist/types/src/components/BaseTextarea.vue.d.ts +18 -0
- package/dist/types/src/components/BaseTextareaAutoresize.vue.d.ts +9 -0
- package/dist/types/src/composables/field.d.ts +3 -0
- package/dist/types/src/composables/inputSize.d.ts +6 -0
- package/dist/types/src/utils/sizes.d.ts +19 -0
- package/package.json +1 -1
- package/src/assets/form.css +1 -1
- package/src/components/BaseAddressForm.stories.js +7 -2
- package/src/components/BaseAddressForm.vue +64 -37
- package/src/components/BaseAutocomplete.stories.js +1 -1
- package/src/components/BaseAutocomplete.vue +86 -96
- package/src/components/BaseAutocompleteDrawer.vue +3 -2
- package/src/components/BaseAutocompleteFetch.stories.js +1 -1
- package/src/components/BaseAutocompleteFetch.vue +3 -2
- package/src/components/BaseBelongsTo.stories.js +1 -1
- package/src/components/BaseBelongsTo.vue +3 -2
- package/src/components/BaseBelongsToFetch.vue +3 -2
- package/src/components/BaseButton.stories.js +21 -0
- package/src/components/BaseButton.vue +42 -6
- package/src/components/BaseButtonGroup.stories.js +31 -1
- package/src/components/BaseButtonGroup.vue +46 -33
- package/src/components/BaseColor.stories.js +22 -0
- package/src/components/BaseColor.vue +28 -25
- package/src/components/BaseDataTable.vue +5 -5
- package/src/components/BaseDataTableRowAction.vue +6 -6
- package/src/components/BaseDatePicker.vue +6 -3
- package/src/components/BaseDraggable.vue +5 -1
- package/src/components/BaseDropdown.stories.js +2 -3
- package/src/components/BaseDropdownAutocomplete.vue +2 -2
- package/src/components/BaseField.vue +19 -8
- package/src/components/BaseInput.stories.js +36 -2
- package/src/components/BaseInput.vue +199 -74
- package/src/components/BaseInputError.vue +32 -2
- package/src/components/BaseInputLabel.vue +36 -9
- package/src/components/BasePassword.stories.js +25 -0
- package/src/components/BasePassword.vue +35 -55
- package/src/components/BaseSelect.stories.js +34 -0
- package/src/components/BaseSelect.vue +57 -8
- package/src/components/BaseTagAutocomplete.vue +3 -2
- package/src/components/BaseTextarea.stories.js +25 -0
- package/src/components/BaseTextarea.vue +34 -3
- package/src/components/BaseTextareaAutoresize.stories.js +27 -2
- package/src/components/BaseTextareaAutoresize.vue +27 -8
- package/src/components/BaseTimelineItem.stories.js +1 -3
- package/src/composables/field.ts +20 -0
- package/src/composables/inputSize.ts +29 -0
- package/src/utils/sizes.ts +21 -0
|
@@ -51,9 +51,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
51
51
|
type: (ObjectConstructor | ArrayConstructor | StringConstructor)[];
|
|
52
52
|
};
|
|
53
53
|
}>>, {
|
|
54
|
+
size: "xs" | "sm" | "md";
|
|
54
55
|
placement: "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end";
|
|
55
56
|
width: number;
|
|
56
|
-
size: "xs" | "sm" | "md";
|
|
57
57
|
items: ActionItem[];
|
|
58
58
|
twButton: string | Record<string, any> | unknown[];
|
|
59
59
|
twMenu: string | string[];
|
|
@@ -10,6 +10,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
10
10
|
default: boolean;
|
|
11
11
|
type: BooleanConstructor;
|
|
12
12
|
};
|
|
13
|
+
size: {
|
|
14
|
+
default: undefined;
|
|
15
|
+
type: PropType<"xs" | "sm" | "md">;
|
|
16
|
+
};
|
|
13
17
|
name: {
|
|
14
18
|
default: undefined;
|
|
15
19
|
type: StringConstructor;
|
|
@@ -30,6 +34,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
30
34
|
focus: typeof focus;
|
|
31
35
|
blur: typeof blur;
|
|
32
36
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
37
|
+
blur: (...args: any[]) => void;
|
|
38
|
+
focus: (...args: any[]) => void;
|
|
33
39
|
"update:modelValue": (...args: any[]) => void;
|
|
34
40
|
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
35
41
|
modelValue: {
|
|
@@ -40,6 +46,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
40
46
|
default: boolean;
|
|
41
47
|
type: BooleanConstructor;
|
|
42
48
|
};
|
|
49
|
+
size: {
|
|
50
|
+
default: undefined;
|
|
51
|
+
type: PropType<"xs" | "sm" | "md">;
|
|
52
|
+
};
|
|
43
53
|
name: {
|
|
44
54
|
default: undefined;
|
|
45
55
|
type: StringConstructor;
|
|
@@ -57,10 +67,13 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
57
67
|
type: BooleanConstructor;
|
|
58
68
|
};
|
|
59
69
|
}>> & {
|
|
70
|
+
onFocus?: ((...args: any[]) => any) | undefined;
|
|
71
|
+
onBlur?: ((...args: any[]) => any) | undefined;
|
|
60
72
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
61
73
|
}, {
|
|
62
74
|
required: boolean;
|
|
63
75
|
name: string;
|
|
76
|
+
size: "xs" | "sm" | "md";
|
|
64
77
|
modelValue: string | null;
|
|
65
78
|
placeholder: string;
|
|
66
79
|
disabled: boolean;
|
|
@@ -10,6 +10,14 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
10
10
|
default: undefined;
|
|
11
11
|
type: StringConstructor;
|
|
12
12
|
};
|
|
13
|
+
class: {
|
|
14
|
+
default: string;
|
|
15
|
+
type: PropType<string | string[]>;
|
|
16
|
+
};
|
|
17
|
+
size: {
|
|
18
|
+
default: undefined;
|
|
19
|
+
type: PropType<"xs" | "sm" | "md">;
|
|
20
|
+
};
|
|
13
21
|
placeholder: {
|
|
14
22
|
default: string;
|
|
15
23
|
type: StringConstructor;
|
|
@@ -38,6 +46,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
38
46
|
default: undefined;
|
|
39
47
|
type: StringConstructor;
|
|
40
48
|
};
|
|
49
|
+
visibleFocus: {
|
|
50
|
+
default: boolean;
|
|
51
|
+
type: BooleanConstructor;
|
|
52
|
+
};
|
|
41
53
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
42
54
|
"update:modelValue": (...args: any[]) => void;
|
|
43
55
|
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -49,6 +61,14 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
49
61
|
default: undefined;
|
|
50
62
|
type: StringConstructor;
|
|
51
63
|
};
|
|
64
|
+
class: {
|
|
65
|
+
default: string;
|
|
66
|
+
type: PropType<string | string[]>;
|
|
67
|
+
};
|
|
68
|
+
size: {
|
|
69
|
+
default: undefined;
|
|
70
|
+
type: PropType<"xs" | "sm" | "md">;
|
|
71
|
+
};
|
|
52
72
|
placeholder: {
|
|
53
73
|
default: string;
|
|
54
74
|
type: StringConstructor;
|
|
@@ -77,16 +97,23 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
77
97
|
default: undefined;
|
|
78
98
|
type: StringConstructor;
|
|
79
99
|
};
|
|
100
|
+
visibleFocus: {
|
|
101
|
+
default: boolean;
|
|
102
|
+
type: BooleanConstructor;
|
|
103
|
+
};
|
|
80
104
|
}>> & {
|
|
81
105
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
82
106
|
}, {
|
|
107
|
+
class: string | string[];
|
|
83
108
|
required: boolean;
|
|
84
109
|
name: string;
|
|
110
|
+
size: "xs" | "sm" | "md";
|
|
85
111
|
options: Option[];
|
|
86
112
|
modelValue: SelectOption | undefined;
|
|
87
113
|
placeholder: string;
|
|
88
114
|
disabled: boolean;
|
|
89
115
|
hasError: boolean;
|
|
116
|
+
visibleFocus: boolean;
|
|
90
117
|
labelKey: string;
|
|
91
118
|
valueKey: string;
|
|
92
119
|
}, {}>, {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
2
2
|
size: {
|
|
3
|
-
type: import("vue").PropType<"xs" | "sm" | "
|
|
3
|
+
type: import("vue").PropType<"xs" | "sm" | "md" | "lg">;
|
|
4
4
|
default: string;
|
|
5
5
|
};
|
|
6
6
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
7
7
|
size: {
|
|
8
|
-
type: import("vue").PropType<"xs" | "sm" | "
|
|
8
|
+
type: import("vue").PropType<"xs" | "sm" | "md" | "lg">;
|
|
9
9
|
default: string;
|
|
10
10
|
};
|
|
11
11
|
}>>, {
|
|
12
|
-
size: "xs" | "sm" | "
|
|
12
|
+
size: "xs" | "sm" | "md" | "lg";
|
|
13
13
|
}, {}>, {
|
|
14
14
|
default?(_: {}): any;
|
|
15
15
|
}>;
|
|
@@ -81,10 +81,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
81
81
|
required: boolean;
|
|
82
82
|
name: string;
|
|
83
83
|
color: "dark" | "light" | "danger" | "success" | "warning" | "primary" | "info";
|
|
84
|
+
size: "base" | "xs" | "sm" | "lg" | "xl";
|
|
84
85
|
modelValue: string | number | boolean | null | undefined;
|
|
85
86
|
disabled: boolean;
|
|
86
87
|
hasError: boolean;
|
|
87
|
-
size: "base" | "xs" | "sm" | "lg" | "xl";
|
|
88
88
|
checkedIcon: string;
|
|
89
89
|
unCheckedIcon: string;
|
|
90
90
|
}, {}>, {
|
|
@@ -199,8 +199,8 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
199
199
|
"onCell-click"?: ((...args: any[]) => any) | undefined;
|
|
200
200
|
}, {
|
|
201
201
|
data: Row[];
|
|
202
|
-
loading: boolean;
|
|
203
202
|
size: "sm" | "md";
|
|
203
|
+
loading: boolean;
|
|
204
204
|
sortField: string;
|
|
205
205
|
sortDirection: string;
|
|
206
206
|
visibleColumns: number[];
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
2
2
|
size: {
|
|
3
|
-
type: import("vue").PropType<"xs" | "sm" | "
|
|
3
|
+
type: import("vue").PropType<"xs" | "sm" | "md" | "lg">;
|
|
4
4
|
default: string;
|
|
5
5
|
};
|
|
6
6
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
7
7
|
size: {
|
|
8
|
-
type: import("vue").PropType<"xs" | "sm" | "
|
|
8
|
+
type: import("vue").PropType<"xs" | "sm" | "md" | "lg">;
|
|
9
9
|
default: string;
|
|
10
10
|
};
|
|
11
11
|
}>>, {
|
|
12
|
-
size: "xs" | "sm" | "
|
|
12
|
+
size: "xs" | "sm" | "md" | "lg";
|
|
13
13
|
}, {}>, {
|
|
14
14
|
default?(_: {}): any;
|
|
15
15
|
}>;
|
|
@@ -64,7 +64,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
64
64
|
};
|
|
65
65
|
size: {
|
|
66
66
|
default: string;
|
|
67
|
-
type: PropType<"
|
|
67
|
+
type: PropType<"xs" | "sm" | "md">;
|
|
68
68
|
};
|
|
69
69
|
dropdownShow: {
|
|
70
70
|
default: string;
|
|
@@ -149,7 +149,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
149
149
|
};
|
|
150
150
|
size: {
|
|
151
151
|
default: string;
|
|
152
|
-
type: PropType<"
|
|
152
|
+
type: PropType<"xs" | "sm" | "md">;
|
|
153
153
|
};
|
|
154
154
|
dropdownShow: {
|
|
155
155
|
default: string;
|
|
@@ -173,6 +173,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
173
173
|
filter: (option: NormalizedOption) => boolean;
|
|
174
174
|
required: boolean;
|
|
175
175
|
name: string;
|
|
176
|
+
size: "xs" | "sm" | "md";
|
|
176
177
|
inline: boolean;
|
|
177
178
|
placeholder: string;
|
|
178
179
|
disabled: boolean;
|
|
@@ -180,7 +181,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
180
181
|
max: number;
|
|
181
182
|
loading: boolean;
|
|
182
183
|
loadingBottom: boolean;
|
|
183
|
-
size: "base" | "xs" | "sm";
|
|
184
184
|
dropdownShow: "always" | "focus";
|
|
185
185
|
focusOnMount: boolean;
|
|
186
186
|
twContainer: string | string[];
|
|
@@ -10,6 +10,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
10
10
|
type: StringConstructor;
|
|
11
11
|
default: string;
|
|
12
12
|
};
|
|
13
|
+
size: {
|
|
14
|
+
default: undefined;
|
|
15
|
+
type: PropType<"xs" | "sm" | "md">;
|
|
16
|
+
};
|
|
17
|
+
class: {
|
|
18
|
+
default: string;
|
|
19
|
+
type: PropType<string | string[]>;
|
|
20
|
+
};
|
|
13
21
|
autocomplete: {
|
|
14
22
|
default: boolean;
|
|
15
23
|
type: BooleanConstructor;
|
|
@@ -56,6 +64,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
56
64
|
type: StringConstructor;
|
|
57
65
|
default: string;
|
|
58
66
|
};
|
|
67
|
+
size: {
|
|
68
|
+
default: undefined;
|
|
69
|
+
type: PropType<"xs" | "sm" | "md">;
|
|
70
|
+
};
|
|
71
|
+
class: {
|
|
72
|
+
default: string;
|
|
73
|
+
type: PropType<string | string[]>;
|
|
74
|
+
};
|
|
59
75
|
autocomplete: {
|
|
60
76
|
default: boolean;
|
|
61
77
|
type: BooleanConstructor;
|
|
@@ -91,9 +107,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
91
107
|
}>> & {
|
|
92
108
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
93
109
|
}, {
|
|
110
|
+
class: string | string[];
|
|
94
111
|
type: string;
|
|
95
112
|
required: boolean;
|
|
96
113
|
name: string;
|
|
114
|
+
size: "xs" | "sm" | "md";
|
|
97
115
|
modelValue: string | null | undefined;
|
|
98
116
|
autocomplete: boolean;
|
|
99
117
|
preventSubmit: boolean;
|
|
@@ -18,6 +18,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
18
18
|
default: boolean;
|
|
19
19
|
type: BooleanConstructor;
|
|
20
20
|
};
|
|
21
|
+
size: {
|
|
22
|
+
default: undefined;
|
|
23
|
+
type: PropType<"xs" | "sm" | "md">;
|
|
24
|
+
};
|
|
21
25
|
maxHeight: {
|
|
22
26
|
default: number;
|
|
23
27
|
type: NumberConstructor;
|
|
@@ -71,6 +75,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
71
75
|
default: boolean;
|
|
72
76
|
type: BooleanConstructor;
|
|
73
77
|
};
|
|
78
|
+
size: {
|
|
79
|
+
default: undefined;
|
|
80
|
+
type: PropType<"xs" | "sm" | "md">;
|
|
81
|
+
};
|
|
74
82
|
maxHeight: {
|
|
75
83
|
default: number;
|
|
76
84
|
type: NumberConstructor;
|
|
@@ -106,6 +114,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
106
114
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
107
115
|
}, {
|
|
108
116
|
required: boolean;
|
|
117
|
+
size: "xs" | "sm" | "md";
|
|
109
118
|
modelValue: string | null;
|
|
110
119
|
placeholder: string;
|
|
111
120
|
disabled: boolean;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { Size } from '@/utils/sizes';
|
|
1
2
|
import { Ref } from 'vue';
|
|
2
3
|
interface Config {
|
|
3
4
|
name: Ref<string | null | undefined>;
|
|
4
5
|
required: Ref<boolean>;
|
|
5
6
|
hasError: Ref<boolean | undefined>;
|
|
6
7
|
emit: any;
|
|
8
|
+
size?: Ref<Size | undefined>;
|
|
7
9
|
errorType?: string;
|
|
8
10
|
labelClass?: string;
|
|
9
11
|
}
|
|
@@ -12,6 +14,7 @@ export declare function useField(config: Config): {
|
|
|
12
14
|
nameInternal: import("vue").ComputedRef<string>;
|
|
13
15
|
hasErrorInternal: import("vue").ComputedRef<boolean>;
|
|
14
16
|
errorMessageInternal: import("vue").ComputedRef<string | null | undefined>;
|
|
17
|
+
sizeInternal: import("vue").ComputedRef<"xs" | "sm" | "md">;
|
|
15
18
|
emitUpdate: (value: any) => void;
|
|
16
19
|
enableForm: () => void;
|
|
17
20
|
disableForm: () => void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
declare const sizes: {
|
|
2
|
+
xs: {
|
|
3
|
+
fontSize: string;
|
|
4
|
+
height: string;
|
|
5
|
+
iconSize: string;
|
|
6
|
+
};
|
|
7
|
+
sm: {
|
|
8
|
+
fontSize: string;
|
|
9
|
+
height: string;
|
|
10
|
+
iconSize: string;
|
|
11
|
+
};
|
|
12
|
+
md: {
|
|
13
|
+
fontSize: string;
|
|
14
|
+
height: string;
|
|
15
|
+
iconSize: string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
type Size = keyof typeof sizes;
|
|
19
|
+
export { sizes, Size };
|
package/package.json
CHANGED
package/src/assets/form.css
CHANGED
|
@@ -4,7 +4,12 @@ import ShowValue from '../../.storybook/components/ShowValue.vue';
|
|
|
4
4
|
export default {
|
|
5
5
|
title: 'Form/BaseAddressForm',
|
|
6
6
|
component: BaseAddressForm,
|
|
7
|
-
argTypes: {
|
|
7
|
+
argTypes: {
|
|
8
|
+
size: {
|
|
9
|
+
control: { type: 'select' },
|
|
10
|
+
options: ['xs', 'sm', 'md'],
|
|
11
|
+
},
|
|
12
|
+
},
|
|
8
13
|
args: {
|
|
9
14
|
countries: [
|
|
10
15
|
{ name: 'United States', id: 'us' },
|
|
@@ -37,7 +42,7 @@ const Template = (args) => ({
|
|
|
37
42
|
address_2: 'Suite 100',
|
|
38
43
|
city: 'Montreal',
|
|
39
44
|
country: 'ca',
|
|
40
|
-
region: 'qc',
|
|
45
|
+
region: 'ca-qc',
|
|
41
46
|
postal_code: 'H2X 4E3',
|
|
42
47
|
},
|
|
43
48
|
});
|
|
@@ -1,41 +1,49 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
:
|
|
5
|
-
class="mb-2"
|
|
6
|
-
:required="required"
|
|
2
|
+
<div
|
|
3
|
+
class="grid grid-cols-2"
|
|
4
|
+
:class="baseClasses"
|
|
7
5
|
>
|
|
8
|
-
<
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
6
|
+
<div class="flex flex-col gap-1 col-span-2">
|
|
7
|
+
<BaseField
|
|
8
|
+
:label="t('sui.address')"
|
|
9
|
+
:name="`${namePrefix}address_1`"
|
|
10
|
+
class="col-span-2"
|
|
11
|
+
:required="required"
|
|
12
|
+
:size="size"
|
|
13
|
+
>
|
|
14
|
+
<BaseInput
|
|
15
|
+
ref="address1Ref"
|
|
16
|
+
:model-value="normalizedModelValue.address_1 ?? ''"
|
|
17
|
+
:placeholder="t('sui.address_1_placeholder')"
|
|
18
|
+
class="w-full"
|
|
19
|
+
prevent-submit
|
|
20
|
+
name="address_search_field"
|
|
21
|
+
:autocomplete="false"
|
|
22
|
+
@update:model-value="update('address_1', $event)"
|
|
23
|
+
/>
|
|
24
|
+
</BaseField>
|
|
25
|
+
|
|
26
|
+
<BaseField
|
|
27
|
+
:name="`${namePrefix}address_2`"
|
|
28
|
+
class="col-span-2"
|
|
29
|
+
:required="false"
|
|
30
|
+
:size="size"
|
|
31
|
+
>
|
|
32
|
+
<BaseInput
|
|
33
|
+
:model-value="normalizedModelValue.address_2 ?? ''"
|
|
34
|
+
:placeholder="t('sui.address_2_description')"
|
|
35
|
+
class="w-full"
|
|
36
|
+
@update:model-value="update('address_2', $event)"
|
|
37
|
+
/>
|
|
38
|
+
</BaseField>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
34
41
|
<BaseField
|
|
35
42
|
:label="t('sui.city')"
|
|
36
43
|
:required="required"
|
|
37
44
|
:name="`${namePrefix}city`"
|
|
38
|
-
class="
|
|
45
|
+
class="col-span-2 || sm:col-span-1"
|
|
46
|
+
:size="size"
|
|
39
47
|
>
|
|
40
48
|
<BaseInput
|
|
41
49
|
:model-value="normalizedModelValue.city ?? ''"
|
|
@@ -43,11 +51,13 @@
|
|
|
43
51
|
@update:model-value="update('city', $event)"
|
|
44
52
|
/>
|
|
45
53
|
</BaseField>
|
|
54
|
+
|
|
46
55
|
<BaseField
|
|
47
56
|
:label="t('sui.postal_code_zip_code')"
|
|
48
57
|
:required="required"
|
|
49
58
|
:name="`${namePrefix}postal_code`"
|
|
50
|
-
class="
|
|
59
|
+
class="col-span-2 || sm:col-span-1"
|
|
60
|
+
:size="size"
|
|
51
61
|
>
|
|
52
62
|
<BaseInput
|
|
53
63
|
:model-value="normalizedModelValue.postal_code ?? ''"
|
|
@@ -55,14 +65,14 @@
|
|
|
55
65
|
@update:model-value="update('postal_code', $event)"
|
|
56
66
|
/>
|
|
57
67
|
</BaseField>
|
|
58
|
-
|
|
59
|
-
<div class="sm:flex sm:space-x-3">
|
|
68
|
+
|
|
60
69
|
<BaseField
|
|
61
70
|
v-if="!props.hideCountry"
|
|
62
71
|
:label="t('sui.country')"
|
|
63
72
|
:name="`${namePrefix}country`"
|
|
64
73
|
:required="required"
|
|
65
|
-
class="
|
|
74
|
+
class="col-span-2 || sm:col-span-1"
|
|
75
|
+
:size="size"
|
|
66
76
|
>
|
|
67
77
|
<BaseSelect
|
|
68
78
|
:model-value="normalizedModelValue.country ?? ''"
|
|
@@ -74,17 +84,20 @@
|
|
|
74
84
|
@update:model-value="update('country', $event)"
|
|
75
85
|
/>
|
|
76
86
|
</BaseField>
|
|
87
|
+
|
|
77
88
|
<BaseField
|
|
78
89
|
v-if="!props.hideRegion"
|
|
79
90
|
:label="t('sui.region')"
|
|
80
91
|
:name="`${namePrefix}region`"
|
|
81
92
|
:required="required"
|
|
82
|
-
class="
|
|
93
|
+
class="col-span-2 || sm:col-span-1"
|
|
94
|
+
:size="size"
|
|
83
95
|
>
|
|
84
96
|
<BaseSelect
|
|
85
97
|
:model-value="normalizedModelValue.region ?? ''"
|
|
86
98
|
class="w-full"
|
|
87
99
|
:options="regions"
|
|
100
|
+
:placeholder="t('sui.region')"
|
|
88
101
|
label-key="name"
|
|
89
102
|
value-key="id"
|
|
90
103
|
@update:model-value="update('region', $event)"
|
|
@@ -103,6 +116,8 @@ import BaseInput from './BaseInput.vue';
|
|
|
103
116
|
import BaseSelect from './BaseSelect.vue';
|
|
104
117
|
import { t } from '@/i18n';
|
|
105
118
|
import { config } from '..';
|
|
119
|
+
import { Size } from '@/utils/sizes';
|
|
120
|
+
import { useInputSize } from '@/composables/inputSize';
|
|
106
121
|
|
|
107
122
|
const DEFAULT_COUNTRY = 'ca';
|
|
108
123
|
|
|
@@ -123,6 +138,7 @@ const props = withDefaults(
|
|
|
123
138
|
countries?: Country[];
|
|
124
139
|
regions?: Region[];
|
|
125
140
|
restrictCountry?: boolean;
|
|
141
|
+
size?: Size;
|
|
126
142
|
hideRegion?: boolean;
|
|
127
143
|
hideCountry?: boolean;
|
|
128
144
|
}>(),
|
|
@@ -138,6 +154,7 @@ const props = withDefaults(
|
|
|
138
154
|
return [];
|
|
139
155
|
},
|
|
140
156
|
restrictCountry: false,
|
|
157
|
+
size: undefined,
|
|
141
158
|
hideRegion: false,
|
|
142
159
|
hideCountry: false,
|
|
143
160
|
}
|
|
@@ -145,6 +162,8 @@ const props = withDefaults(
|
|
|
145
162
|
|
|
146
163
|
const emit = defineEmits(['update:model-value']);
|
|
147
164
|
|
|
165
|
+
const { size } = useInputSize(computed(() => props.size));
|
|
166
|
+
|
|
148
167
|
const normalizedModelValue = computed((): Address => {
|
|
149
168
|
const form = cloneDeep(props.modelValue ?? {}) as Address;
|
|
150
169
|
form.address_1 = form.address_1 ?? '';
|
|
@@ -322,4 +341,12 @@ function fillAddress() {
|
|
|
322
341
|
emit('update:model-value', newForm);
|
|
323
342
|
});
|
|
324
343
|
}
|
|
344
|
+
|
|
345
|
+
const baseClasses = computed(() => {
|
|
346
|
+
return {
|
|
347
|
+
'xs': 'gap-y-2 gap-x-1',
|
|
348
|
+
'sm': 'gap-y-2.5 gap-x-1.5',
|
|
349
|
+
'md': 'gap-y-3 gap-x-2',
|
|
350
|
+
}[size.value]
|
|
351
|
+
});
|
|
325
352
|
</script>
|
|
@@ -3,7 +3,7 @@ import BaseAutocomplete from './BaseAutocomplete.vue';
|
|
|
3
3
|
import ShowValue from '@/../.storybook/components/ShowValue.vue';
|
|
4
4
|
import { computed } from 'vue';
|
|
5
5
|
|
|
6
|
-
const sizes = ['xs', 'sm', '
|
|
6
|
+
const sizes = ['xs', 'sm', 'md'];
|
|
7
7
|
|
|
8
8
|
export default {
|
|
9
9
|
title: 'Form/BaseAutocomplete',
|