sprintify-ui 0.0.158 → 0.0.160
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,126 +1,89 @@
|
|
|
1
|
-
import { PropType } from 'vue';
|
|
2
1
|
import 'flatpickr/dist/flatpickr.css';
|
|
3
|
-
declare const _default: import("vue").DefineComponent<{
|
|
4
|
-
modelValue
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
};
|
|
61
|
-
required: {
|
|
62
|
-
default: boolean;
|
|
63
|
-
type: BooleanConstructor;
|
|
64
|
-
};
|
|
65
|
-
disabled: {
|
|
66
|
-
default: boolean;
|
|
67
|
-
type: BooleanConstructor;
|
|
68
|
-
};
|
|
69
|
-
minDate: {
|
|
70
|
-
default: null;
|
|
71
|
-
type: (StringConstructor | DateConstructor)[];
|
|
72
|
-
};
|
|
73
|
-
maxDate: {
|
|
74
|
-
default: null;
|
|
75
|
-
type: (StringConstructor | DateConstructor)[];
|
|
76
|
-
};
|
|
77
|
-
hasError: {
|
|
78
|
-
default: boolean;
|
|
79
|
-
type: BooleanConstructor;
|
|
80
|
-
};
|
|
81
|
-
name: {
|
|
82
|
-
default: undefined;
|
|
83
|
-
type: StringConstructor;
|
|
84
|
-
};
|
|
85
|
-
inline: {
|
|
86
|
-
default: boolean;
|
|
87
|
-
type: BooleanConstructor;
|
|
88
|
-
};
|
|
89
|
-
enableTime: {
|
|
90
|
-
default: boolean;
|
|
91
|
-
type: BooleanConstructor;
|
|
92
|
-
};
|
|
93
|
-
format: {
|
|
94
|
-
default: string;
|
|
95
|
-
type: StringConstructor;
|
|
96
|
-
};
|
|
97
|
-
mode: {
|
|
98
|
-
default: string;
|
|
99
|
-
type: PropType<"time" | "multiple" | "single" | "range" | undefined>;
|
|
100
|
-
};
|
|
101
|
-
noCalendar: {
|
|
102
|
-
default: boolean;
|
|
103
|
-
type: BooleanConstructor;
|
|
104
|
-
};
|
|
105
|
-
disableDates: {
|
|
106
|
-
type: PropType<string[] | Date[]>;
|
|
107
|
-
default(): never[];
|
|
108
|
-
};
|
|
109
|
-
}>> & {
|
|
2
|
+
declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
3
|
+
modelValue?: string | string[] | null | undefined;
|
|
4
|
+
required?: boolean | undefined;
|
|
5
|
+
disabled?: boolean | undefined;
|
|
6
|
+
minDate?: string | Date | null | undefined;
|
|
7
|
+
maxDate?: string | Date | null | undefined;
|
|
8
|
+
hasError?: boolean | undefined;
|
|
9
|
+
name?: string | undefined;
|
|
10
|
+
inline?: boolean | undefined;
|
|
11
|
+
enableTime?: boolean | undefined;
|
|
12
|
+
format?: string | undefined;
|
|
13
|
+
mode?: "time" | "multiple" | "single" | "range" | undefined;
|
|
14
|
+
noCalendar?: boolean | undefined;
|
|
15
|
+
disableDates?: string[] | Date[] | undefined;
|
|
16
|
+
}>, {
|
|
17
|
+
modelValue: null;
|
|
18
|
+
required: boolean;
|
|
19
|
+
disabled: boolean;
|
|
20
|
+
minDate: null;
|
|
21
|
+
maxDate: null;
|
|
22
|
+
hasError: boolean;
|
|
23
|
+
name: undefined;
|
|
24
|
+
inline: boolean;
|
|
25
|
+
enableTime: boolean;
|
|
26
|
+
format: string;
|
|
27
|
+
mode: string;
|
|
28
|
+
noCalendar: boolean;
|
|
29
|
+
disableDates(): never[];
|
|
30
|
+
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
31
|
+
modelValue?: string | string[] | null | undefined;
|
|
32
|
+
required?: boolean | undefined;
|
|
33
|
+
disabled?: boolean | undefined;
|
|
34
|
+
minDate?: string | Date | null | undefined;
|
|
35
|
+
maxDate?: string | Date | null | undefined;
|
|
36
|
+
hasError?: boolean | undefined;
|
|
37
|
+
name?: string | undefined;
|
|
38
|
+
inline?: boolean | undefined;
|
|
39
|
+
enableTime?: boolean | undefined;
|
|
40
|
+
format?: string | undefined;
|
|
41
|
+
mode?: "time" | "multiple" | "single" | "range" | undefined;
|
|
42
|
+
noCalendar?: boolean | undefined;
|
|
43
|
+
disableDates?: string[] | Date[] | undefined;
|
|
44
|
+
}>, {
|
|
45
|
+
modelValue: null;
|
|
46
|
+
required: boolean;
|
|
47
|
+
disabled: boolean;
|
|
48
|
+
minDate: null;
|
|
49
|
+
maxDate: null;
|
|
50
|
+
hasError: boolean;
|
|
51
|
+
name: undefined;
|
|
52
|
+
inline: boolean;
|
|
53
|
+
enableTime: boolean;
|
|
54
|
+
format: string;
|
|
55
|
+
mode: string;
|
|
56
|
+
noCalendar: boolean;
|
|
57
|
+
disableDates(): never[];
|
|
58
|
+
}>>> & {
|
|
110
59
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
111
60
|
}, {
|
|
112
61
|
required: boolean;
|
|
113
62
|
name: string;
|
|
114
|
-
mode:
|
|
63
|
+
mode: 'single' | 'multiple' | 'range' | 'time';
|
|
115
64
|
disabled: boolean;
|
|
116
|
-
modelValue: string |
|
|
65
|
+
modelValue: string | null | string[];
|
|
117
66
|
hasError: boolean;
|
|
118
67
|
inline: boolean;
|
|
119
|
-
minDate: string | Date;
|
|
120
|
-
maxDate: string | Date;
|
|
68
|
+
minDate: string | Date | null;
|
|
69
|
+
maxDate: string | Date | null;
|
|
121
70
|
enableTime: boolean;
|
|
122
71
|
format: string;
|
|
123
72
|
noCalendar: boolean;
|
|
124
73
|
disableDates: string[] | Date[];
|
|
125
74
|
}>;
|
|
126
75
|
export default _default;
|
|
76
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
77
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
78
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
79
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
80
|
+
} : {
|
|
81
|
+
type: import('vue').PropType<T[K]>;
|
|
82
|
+
required: true;
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
type __VLS_WithDefaults<P, D> = {
|
|
86
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? P[K] & {
|
|
87
|
+
default: D[K];
|
|
88
|
+
} : P[K];
|
|
89
|
+
};
|
package/package.json
CHANGED
|
@@ -7,6 +7,12 @@ export default {
|
|
|
7
7
|
title: 'Form/BaseDatePicker',
|
|
8
8
|
component: BaseDatePicker,
|
|
9
9
|
argTypes: {
|
|
10
|
+
minDate: {
|
|
11
|
+
control: { type: 'text' },
|
|
12
|
+
},
|
|
13
|
+
maxDate: {
|
|
14
|
+
control: { type: 'text' },
|
|
15
|
+
},
|
|
10
16
|
mode: {
|
|
11
17
|
control: { type: 'select' },
|
|
12
18
|
options: ['single', 'multiple', 'range', 'time'],
|
|
@@ -35,7 +41,7 @@ export const Demo = Template.bind({});
|
|
|
35
41
|
|
|
36
42
|
export const MinDate = Template.bind({});
|
|
37
43
|
MinDate.args = {
|
|
38
|
-
minDate: DateTime.fromISO('2023-01-05').
|
|
44
|
+
minDate: DateTime.fromISO('2023-01-05').toISODate(),
|
|
39
45
|
};
|
|
40
46
|
|
|
41
47
|
export const MaxDate = Template.bind({});
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
</template>
|
|
34
34
|
|
|
35
35
|
<script lang="ts" setup>
|
|
36
|
-
import {
|
|
36
|
+
import { Ref } from 'vue';
|
|
37
37
|
import { isArray } from 'lodash';
|
|
38
38
|
import { DateTime } from 'luxon';
|
|
39
39
|
import { BaseIcon } from '.';
|
|
@@ -45,66 +45,40 @@ import { French } from 'flatpickr/dist/l10n/fr';
|
|
|
45
45
|
import { english } from 'flatpickr/dist/l10n/default';
|
|
46
46
|
import { Instance } from 'flatpickr/dist/types/instance';
|
|
47
47
|
|
|
48
|
-
const props =
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
},
|
|
79
|
-
inline: {
|
|
80
|
-
default: false,
|
|
81
|
-
type: Boolean,
|
|
82
|
-
},
|
|
83
|
-
enableTime: {
|
|
84
|
-
default: false,
|
|
85
|
-
type: Boolean,
|
|
86
|
-
},
|
|
87
|
-
format: {
|
|
88
|
-
default: 'Y-m-d',
|
|
89
|
-
type: String,
|
|
90
|
-
},
|
|
91
|
-
mode: {
|
|
92
|
-
default: 'single',
|
|
93
|
-
type: String as PropType<
|
|
94
|
-
'single' | 'multiple' | 'range' | 'time' | undefined
|
|
95
|
-
>,
|
|
96
|
-
},
|
|
97
|
-
noCalendar: {
|
|
98
|
-
default: false,
|
|
99
|
-
type: Boolean,
|
|
100
|
-
},
|
|
101
|
-
disableDates: {
|
|
102
|
-
type: [Array, Object] as PropType<string[] | Date[]>,
|
|
103
|
-
default() {
|
|
48
|
+
const props = withDefaults(
|
|
49
|
+
defineProps<{
|
|
50
|
+
modelValue?: string | null | string[];
|
|
51
|
+
required?: boolean;
|
|
52
|
+
disabled?: boolean;
|
|
53
|
+
minDate?: string | Date | null;
|
|
54
|
+
maxDate?: string | Date | null;
|
|
55
|
+
hasError?: boolean;
|
|
56
|
+
name?: string;
|
|
57
|
+
inline?: boolean;
|
|
58
|
+
enableTime?: boolean;
|
|
59
|
+
format?: string;
|
|
60
|
+
mode?: 'single' | 'multiple' | 'range' | 'time';
|
|
61
|
+
noCalendar?: boolean;
|
|
62
|
+
disableDates?: string[] | Date[];
|
|
63
|
+
}>(),
|
|
64
|
+
{
|
|
65
|
+
modelValue: null,
|
|
66
|
+
required: false,
|
|
67
|
+
disabled: false,
|
|
68
|
+
minDate: null,
|
|
69
|
+
maxDate: null,
|
|
70
|
+
hasError: false,
|
|
71
|
+
name: undefined,
|
|
72
|
+
inline: false,
|
|
73
|
+
enableTime: false,
|
|
74
|
+
format: 'Y-m-d',
|
|
75
|
+
mode: 'single',
|
|
76
|
+
noCalendar: false,
|
|
77
|
+
disableDates() {
|
|
104
78
|
return [];
|
|
105
79
|
},
|
|
106
|
-
}
|
|
107
|
-
|
|
80
|
+
}
|
|
81
|
+
);
|
|
108
82
|
|
|
109
83
|
const i18n = useI18n();
|
|
110
84
|
|
|
@@ -144,7 +118,7 @@ function stringToLuxon(date: string): DateTime {
|
|
|
144
118
|
return DateTime.fromISO(date);
|
|
145
119
|
}
|
|
146
120
|
|
|
147
|
-
return DateTime.fromSQL(date);
|
|
121
|
+
return DateTime.fromSQL(date, { zone: 'utc' });
|
|
148
122
|
}
|
|
149
123
|
|
|
150
124
|
function luxonToString(date: DateTime): string {
|
|
@@ -177,8 +151,8 @@ const flatpickrConfig = computed(() => {
|
|
|
177
151
|
dateFormat: props.format,
|
|
178
152
|
mode: props.mode,
|
|
179
153
|
locale: locale.value,
|
|
180
|
-
minDate: props.minDate,
|
|
181
|
-
maxDate: props.maxDate,
|
|
154
|
+
minDate: props.minDate ?? undefined,
|
|
155
|
+
maxDate: props.maxDate ?? undefined,
|
|
182
156
|
noCalendar: props.noCalendar,
|
|
183
157
|
disable: props.disableDates,
|
|
184
158
|
inline: props.inline,
|
|
@@ -187,7 +161,7 @@ const flatpickrConfig = computed(() => {
|
|
|
187
161
|
};
|
|
188
162
|
});
|
|
189
163
|
|
|
190
|
-
// Make sure the model value is
|
|
164
|
+
// Make sure the model value is formatted on the parent component onload
|
|
191
165
|
onMounted(() => {
|
|
192
166
|
if (props.modelValue !== modelValueFormatted.value) {
|
|
193
167
|
emitUpdate(modelValueFormatted.value);
|
|
@@ -212,8 +186,10 @@ function setPickerDate() {
|
|
|
212
186
|
return;
|
|
213
187
|
}
|
|
214
188
|
|
|
215
|
-
if (!modelValueFormatted.value) {
|
|
216
|
-
picker.
|
|
189
|
+
if (!modelValueFormatted.value || modelValueFormatted.value.length == 0) {
|
|
190
|
+
if (picker.selectedDates.length > 0) {
|
|
191
|
+
picker.clear();
|
|
192
|
+
}
|
|
217
193
|
return;
|
|
218
194
|
}
|
|
219
195
|
|
|
@@ -248,6 +224,8 @@ function init() {
|
|
|
248
224
|
return;
|
|
249
225
|
}
|
|
250
226
|
|
|
227
|
+
picker?.destroy();
|
|
228
|
+
|
|
251
229
|
picker = flatpickr(datepicker.value, {
|
|
252
230
|
...flatpickrConfig.value,
|
|
253
231
|
onChange(dates) {
|
|
@@ -290,6 +268,7 @@ function clear() {
|
|
|
290
268
|
emitUpdate(null);
|
|
291
269
|
}
|
|
292
270
|
</script>
|
|
271
|
+
|
|
293
272
|
<style lang="postcss">
|
|
294
273
|
body .flatpickr-calendar {
|
|
295
274
|
width: 280px;
|