@xy-planning-network/trees 0.7.5-dev → 0.7.5-rc2

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.
Files changed (51) hide show
  1. package/dist/trees.es.js +4058 -3743
  2. package/dist/trees.umd.js +10 -10
  3. package/package.json +2 -2
  4. package/src/lib-components/forms/BaseInput.vue +80 -42
  5. package/src/lib-components/forms/Checkbox.vue +36 -26
  6. package/src/lib-components/forms/DateRangePicker.vue +50 -30
  7. package/src/lib-components/forms/FieldsetLegend.vue +23 -3
  8. package/src/lib-components/forms/InputHelp.vue +1 -1
  9. package/src/lib-components/forms/InputLabel.vue +24 -4
  10. package/src/lib-components/forms/MultiCheckboxes.vue +95 -44
  11. package/src/lib-components/forms/Radio.vue +59 -37
  12. package/src/lib-components/forms/RadioCards.vue +45 -57
  13. package/src/lib-components/forms/Select.vue +37 -40
  14. package/src/lib-components/forms/TextArea.vue +36 -28
  15. package/src/lib-components/forms/Toggle.vue +9 -6
  16. package/src/lib-components/forms/YesOrNoRadio.vue +49 -35
  17. package/src/lib-components/lists/DynamicTable.vue +43 -20
  18. package/types/composables/forms.d.ts +110 -2
  19. package/types/lib-components/forms/BaseInput.vue.d.ts +60 -34
  20. package/types/lib-components/forms/Checkbox.vue.d.ts +50 -29
  21. package/types/lib-components/forms/DateRangePicker.vue.d.ts +71 -39
  22. package/types/lib-components/forms/FieldsetLegend.vue.d.ts +28 -27
  23. package/types/lib-components/forms/InputHelp.vue.d.ts +19 -27
  24. package/types/lib-components/forms/InputLabel.vue.d.ts +28 -27
  25. package/types/lib-components/forms/MultiCheckboxes.vue.d.ts +75 -47
  26. package/types/lib-components/forms/Radio.vue.d.ts +62 -47
  27. package/types/lib-components/forms/RadioCards.vue.d.ts +68 -71
  28. package/types/lib-components/forms/Select.vue.d.ts +55 -39
  29. package/types/lib-components/forms/TextArea.vue.d.ts +50 -32
  30. package/types/lib-components/forms/Toggle.vue.d.ts +27 -32
  31. package/types/lib-components/forms/YesOrNoRadio.vue.d.ts +50 -32
  32. package/types/lib-components/indicators/XYSpinner.vue.d.ts +1 -1
  33. package/types/lib-components/layout/DateFilter.vue.d.ts +28 -20
  34. package/types/lib-components/layout/SidebarLayout.vue.d.ts +38 -32
  35. package/types/lib-components/layout/StackedLayout.vue.d.ts +45 -33
  36. package/types/lib-components/lists/Cards.vue.d.ts +14 -17
  37. package/types/lib-components/lists/DataTable.vue.d.ts +31 -31
  38. package/types/lib-components/lists/DetailList.vue.d.ts +38 -34
  39. package/types/lib-components/lists/DownloadCell.vue.d.ts +18 -15
  40. package/types/lib-components/lists/DynamicTable.vue.d.ts +32 -32
  41. package/types/lib-components/lists/TableActionButtons.vue.d.ts +11 -23
  42. package/types/lib-components/navigation/ActionsDropdown.vue.d.ts +11 -23
  43. package/types/lib-components/navigation/Paginator.vue.d.ts +12 -15
  44. package/types/lib-components/navigation/Steps.vue.d.ts +54 -39
  45. package/types/lib-components/navigation/Tabs.vue.d.ts +34 -34
  46. package/types/lib-components/overlays/ContentModal.vue.d.ts +22 -28
  47. package/types/lib-components/overlays/Modal.vue.d.ts +47 -42
  48. package/types/lib-components/overlays/Popover/Popover.vue.d.ts +23 -31
  49. package/types/lib-components/overlays/Popover/PopoverContent.vue.d.ts +1 -1
  50. package/types/lib-components/overlays/Slideover.vue.d.ts +30 -22
  51. package/types/lib-components/overlays/Tooltip.vue.d.ts +20 -28
@@ -1,91 +1,105 @@
1
1
  <script setup lang="ts">
2
2
  import InputLabel from "./InputLabel.vue"
3
3
  import InputHelp from "./InputHelp.vue"
4
- import { useInputField } from "@/composables/forms"
4
+ import { useInputField, defaultInputProps } from "@/composables/forms"
5
+ import type { BooleanInput } from "@/composables/forms"
6
+ import { ref } from "vue"
5
7
 
6
8
  defineOptions({
7
9
  inheritAttrs: false,
8
10
  })
9
11
 
10
- withDefaults(
11
- defineProps<{
12
- modelValue?: boolean
13
- help?: string
14
- label?: string
15
- }>(),
16
- {
17
- modelValue: undefined,
18
- help: "",
19
- label: "",
20
- }
21
- )
12
+ const props = withDefaults(defineProps<BooleanInput>(), defaultInputProps)
22
13
 
23
- const emits = defineEmits(["update:modelValue"])
24
- const { inputID, isDisabled, nameAttr } = useInputField()
14
+ defineEmits(["update:modelValue", "update:error"])
15
+ const targetInput = ref<HTMLInputElement | null>(null)
16
+ const {
17
+ inputID,
18
+ isDisabled,
19
+ isRequired,
20
+ nameAttr,
21
+ modelState,
22
+ errorState,
23
+ onInvalid,
24
+ validate,
25
+ } = useInputField({ props, targetInput })
25
26
 
26
- const onChange = (e: Event) => {
27
- emits("update:modelValue", (e.target as HTMLInputElement).value === "true")
27
+ const onChange = (e: Event, val: boolean) => {
28
+ modelState.value = val
29
+ validate(e)
28
30
  }
29
31
  </script>
30
32
 
31
33
  <template>
32
34
  <fieldset
33
- class="space-y-3"
35
+ class="space-y-4"
34
36
  :aria-labelledby="label ? `${inputID}-legend` : undefined"
35
37
  :aria-describedby="help ? `${inputID}-help` : undefined"
36
38
  >
37
39
  <div v-if="label">
38
- <InputLabel class="block my-auto" :label="label" tag="legend" />
40
+ <InputLabel
41
+ class="block my-auto"
42
+ :label="label"
43
+ tag="legend"
44
+ :required="isRequired"
45
+ />
39
46
  <InputHelp v-if="help" :id="`${inputID}-help`" tag="p" :text="help" />
40
47
  </div>
41
48
 
49
+ <div v-if="errorState" class="mt-0.5">
50
+ <p class="text-sm text-red-700">{{ errorState }}</p>
51
+ </div>
52
+
42
53
  <div>
43
54
  <label
44
55
  class="inline-flex items-center group"
45
- :class="isDisabled && 'cursor-not-allowed'"
56
+ :class="isDisabled ? 'cursor-not-allowed' : 'cursor-pointer'"
46
57
  :for="`${nameAttr}-true`"
47
58
  >
48
59
  <input
49
60
  :id="`${nameAttr}-true`"
61
+ rel="targetInput"
50
62
  type="radio"
51
63
  :class="[
52
- 'h-4 w-4',
53
- 'border-gray-300 text-xy-blue focus:ring-xy-blue-500',
64
+ 'h-4 w-4 text-xy-blue cursor-pointer',
54
65
  'disabled:bg-gray-100 disabled:border-gray-200 disabled:cursor-not-allowed disabled:opacity-100',
55
66
  'checked:disabled:bg-xy-blue checked:disabled:border-xy-blue checked:disabled:opacity-50',
67
+ errorState
68
+ ? 'border-red-700 focus:ring-red-700'
69
+ : 'border-gray-300 focus:ring-xy-blue-500',
56
70
  ]"
57
71
  :name="nameAttr"
58
72
  :value="true"
59
- :checked="modelValue === true"
60
- v-bind="{
61
- ...$attrs,
62
- onChange: onChange,
63
- }"
73
+ :checked="modelState === true"
74
+ v-bind="$attrs"
75
+ @change="onChange($event, true)"
76
+ @invalid="onInvalid"
64
77
  />
65
78
  <InputLabel class="ml-3" label="Yes" tag="span" />
66
79
  </label>
67
80
 
68
81
  <label
69
82
  class="inline-flex items-center ml-6"
70
- :class="isDisabled && 'cursor-not-allowed'"
83
+ :class="isDisabled ? 'cursor-not-allowed' : 'cursor-pointer'"
71
84
  :for="`${nameAttr}-false`"
72
85
  >
73
86
  <input
74
87
  :id="`${nameAttr}-false`"
75
88
  type="radio"
76
89
  :class="[
77
- 'h-4 w-4',
78
- 'border-gray-300 text-xy-blue focus:ring-xy-blue-500',
90
+ 'h-4 w-4 text-xy-blue cursor-pointer',
79
91
  'disabled:bg-gray-100 disabled:border-gray-200 disabled:cursor-not-allowed disabled:opacity-100',
80
92
  'checked:disabled:bg-xy-blue checked:disabled:border-xy-blue checked:disabled:opacity-50',
93
+ errorState
94
+ ? 'border-red-700 focus:ring-red-700'
95
+ : 'border-gray-300 focus:ring-xy-blue-500',
81
96
  ]"
82
97
  :name="nameAttr"
83
98
  :value="false"
84
- :checked="modelValue === false"
85
- v-bind="{
86
- ...$attrs,
87
- onChange: onChange,
88
- }"
99
+ :checked="modelState === false"
100
+ v-bind="$attrs"
101
+ @change="onChange($event, false)"
102
+ @invalid="onInvalid"
89
103
  />
90
104
  <InputLabel class="ml-3" label="No" tag="span" />
91
105
  </label>
@@ -174,16 +174,13 @@ loadAndRender()
174
174
  class="flex flex-col mb-4 space-y-4 lg:space-y-0 lg:flex-row lg:justify-between"
175
175
  >
176
176
  <div v-if="tableOptions.search" class="w-full max-w-lg lg:max-w-xs">
177
- <label for="search" class="sr-only">Search</label>
178
- <div class="relative">
177
+ <label for="table-search" class="sr-only">Search</label>
178
+ <div class="flex items-center gap-x-2">
179
179
  <div
180
- class="absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none"
180
+ aria-hidden="true"
181
+ class="shrink-0 aspect-square rounded-full bg-gray-50 text-gray-400 h-10 w-10 flex items-center justify-center pointer-events-none"
181
182
  >
182
- <svg
183
- class="w-5 h-5 text-gray-400"
184
- fill="currentColor"
185
- viewBox="0 0 20 20"
186
- >
183
+ <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
187
184
  <path
188
185
  fill-rule="evenodd"
189
186
  d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z"
@@ -191,21 +188,47 @@ loadAndRender()
191
188
  />
192
189
  </svg>
193
190
  </div>
194
- <input
195
- v-model.trim="query"
196
- class="pl-10"
197
- type="search"
198
- placeholder="Search"
199
- @change="reloadTable()"
200
- />
191
+ <div class="flex-1">
192
+ <BaseInput
193
+ id="table-search"
194
+ v-model.trim="query"
195
+ type="search"
196
+ placeholder="Search"
197
+ @change="reloadTable()"
198
+ />
199
+ </div>
201
200
  </div>
202
201
  </div>
203
202
  <div v-if="tableOptions.dateSearch" class="w-full max-w-lg lg:max-w-xs">
204
- <DateRangePicker
205
- v-model="dateRange"
206
- v-bind="{ ...dateSearchProps }"
207
- @update:model-value="dateRangeChanged"
208
- />
203
+ <label for="table-date-range" class="sr-only">Date Range</label>
204
+ <div class="flex items-center gap-x-2">
205
+ <div
206
+ aria-hidden="true"
207
+ class="shrink-0 aspect-square rounded-full bg-gray-50 text-gray-400 h-10 w-10 flex items-center justify-center pointer-events-none"
208
+ >
209
+ <svg
210
+ class="h-5 w-5"
211
+ fill="none"
212
+ viewBox="0 0 24 24"
213
+ stroke="currentColor"
214
+ stroke-width="2"
215
+ >
216
+ <path
217
+ stroke-linecap="round"
218
+ stroke-linejoin="round"
219
+ d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"
220
+ />
221
+ </svg>
222
+ </div>
223
+ <div class="flex-1">
224
+ <DateRangePicker
225
+ id="table-date-range"
226
+ v-model="dateRange"
227
+ v-bind="{ ...dateSearchProps }"
228
+ @update:model-value="dateRangeChanged"
229
+ />
230
+ </div>
231
+ </div>
209
232
  </div>
210
233
  </div>
211
234
 
@@ -1,10 +1,118 @@
1
- export declare const useInputField: () => {
1
+ import { Ref } from "vue";
2
+ export interface Input {
3
+ modelValue?: any;
4
+ error?: string;
5
+ label?: string;
6
+ help?: string;
7
+ placeholder?: string;
8
+ }
9
+ export interface InputOption {
10
+ disabled?: boolean;
11
+ help?: string;
12
+ label: string;
13
+ sublabel?: string;
14
+ value: string | number;
15
+ }
16
+ export interface BooleanInput extends Input {
17
+ modelValue?: boolean | null;
18
+ }
19
+ export interface DateRangeInput extends Input {
20
+ modelValue?: {
21
+ minDate: number;
22
+ maxDate: number;
23
+ };
24
+ maxRange?: number;
25
+ startDate?: number;
26
+ }
27
+ export interface TextLikeInput extends Input {
28
+ modelValue?: string | number | null;
29
+ type: TextInputType;
30
+ }
31
+ export interface TextareaInput extends Input {
32
+ modelValue?: string | number | null;
33
+ }
34
+ export interface OptionsInput extends Input {
35
+ modelValue?: string | number | null;
36
+ options: InputOption[];
37
+ }
38
+ export interface MultiChoiceInput extends Input {
39
+ max?: number;
40
+ min?: number;
41
+ modelValue?: (string | number)[] | null;
42
+ options: InputOption[];
43
+ }
44
+ export interface ColumnedInput {
45
+ columns?: 2 | 3;
46
+ }
47
+ export declare const defaultInputProps: {
48
+ error: string;
49
+ help: string;
50
+ label: string;
51
+ modelValue: undefined;
52
+ placeholder: string;
53
+ };
54
+ export type TextInputType = "date" | "datetime-local" | "email" | "month" | "number" | "password" | "search" | "tel" | "text" | "time" | "url" | "week";
55
+ interface UseInputFieldConfig<T extends Input> {
56
+ props: T;
57
+ targetInput: Ref<HTMLInputElement | null>;
58
+ }
59
+ /**
60
+ * useInputField provides a number of computed values, refs, and methods to support
61
+ * wiring up reactive inputs.
62
+ *
63
+ * @param config UseInputFieldConfig
64
+ */
65
+ export declare const useInputField: <T extends Input>(config: UseInputFieldConfig<T>) => {
2
66
  attrs: {
3
67
  [x: string]: unknown;
4
68
  };
5
69
  inputID: import("vue").ComputedRef<string>;
6
70
  isDisabled: import("vue").ComputedRef<boolean>;
7
71
  isRequired: import("vue").ComputedRef<boolean>;
8
- isValid: import("vue").ComputedRef<boolean>;
9
72
  nameAttr: import("vue").ComputedRef<string>;
73
+ modelState: Ref<T["modelValue"]>;
74
+ errorState: Ref<T["error"]>;
75
+ onInvalid: (e: Event) => void;
76
+ validate: (e: Event) => void;
77
+ inputValidation: (...args: any[]) => void;
10
78
  };
79
+ /**
80
+ * hasAttribute determines if an HTML attribute value exists. The conditions are based on
81
+ * whether or not the attribute will be set on the HTML element.
82
+ * @param attrs
83
+ * @param name
84
+ */
85
+ export declare const hasAttribute: (attrs: Record<string, unknown>, name: string) => boolean;
86
+ /**
87
+ * email validation regex pattern
88
+ * used with input type="email" in the pattern attribute for html5 validation
89
+ * exported as a raw string to support the escape backslash characters
90
+ */
91
+ export declare const emailPattern: string;
92
+ /**
93
+ * password validation regex pattern
94
+ * used with input type="password" in the pattern attribute for html5 validation
95
+ * exported as a raw string to support the escape backslash characters
96
+ */
97
+ export declare const passwordPattern: string;
98
+ /**
99
+ * phone number validation regex pattern
100
+ * used with input type="tel" in the pattern attribute for html5 validation
101
+ */
102
+ export declare const phonePattern: string;
103
+ /**
104
+ * This is used for the .number modifier in v-model
105
+ */
106
+ export declare const looseToNumber: (val: any) => any;
107
+ /**
108
+ * useLocalModel supports a two-way binding between a reactive prop and
109
+ * a local ref. It effectively allows you to do prop mutations in a way that
110
+ * vue considers safe.
111
+ *
112
+ * vue/core has a version of this in it's experimental mode called useModel
113
+ *
114
+ * @param props component props
115
+ * @param name component prop name to sync
116
+ */
117
+ export declare const useLocalModel: <T extends Record<string, any>, K extends keyof T>(props: T, name: K) => Ref<T[K]>;
118
+ export {};
@@ -1,40 +1,66 @@
1
- declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
2
- type: "number" | "search" | "time" | "text" | "date" | "datetime-local" | "email" | "month" | "password" | "tel" | "url" | "week";
3
- help?: string | undefined;
4
- label?: string | undefined;
5
- modelValue?: string | number | undefined;
6
- }>, {
7
- help: string;
8
- label: string;
9
- modelValue: string;
10
- }>, {}, 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<{
11
- type: "number" | "search" | "time" | "text" | "date" | "datetime-local" | "email" | "month" | "password" | "tel" | "url" | "week";
12
- help?: string | undefined;
13
- label?: string | undefined;
14
- modelValue?: string | number | undefined;
15
- }>, {
16
- help: string;
17
- label: string;
18
- modelValue: string;
19
- }>>> & {
1
+ declare const _default: import("vue").DefineComponent<{
2
+ label: {
3
+ type: import("vue").PropType<string>;
4
+ default: string;
5
+ };
6
+ type: {
7
+ type: import("vue").PropType<import("../../composables/forms").TextInputType>;
8
+ required: true;
9
+ };
10
+ modelValue: {
11
+ type: import("vue").PropType<string | number | null>;
12
+ default: undefined;
13
+ };
14
+ error: {
15
+ type: import("vue").PropType<string>;
16
+ default: string;
17
+ };
18
+ help: {
19
+ type: import("vue").PropType<string>;
20
+ default: string;
21
+ };
22
+ placeholder: {
23
+ type: import("vue").PropType<string>;
24
+ default: string;
25
+ };
26
+ }, {
27
+ input: import("vue").Ref<HTMLInputElement | null>;
28
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
29
+ "update:modelValue": (...args: any[]) => void;
30
+ "update:error": (...args: any[]) => void;
31
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
32
+ label: {
33
+ type: import("vue").PropType<string>;
34
+ default: string;
35
+ };
36
+ type: {
37
+ type: import("vue").PropType<import("../../composables/forms").TextInputType>;
38
+ required: true;
39
+ };
40
+ modelValue: {
41
+ type: import("vue").PropType<string | number | null>;
42
+ default: undefined;
43
+ };
44
+ error: {
45
+ type: import("vue").PropType<string>;
46
+ default: string;
47
+ };
48
+ help: {
49
+ type: import("vue").PropType<string>;
50
+ default: string;
51
+ };
52
+ placeholder: {
53
+ type: import("vue").PropType<string>;
54
+ default: string;
55
+ };
56
+ }>> & {
20
57
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
58
+ "onUpdate:error"?: ((...args: any[]) => any) | undefined;
21
59
  }, {
22
60
  label: string;
61
+ modelValue: string | number | null;
62
+ error: string;
23
63
  help: string;
24
- modelValue: string | number;
64
+ placeholder: string;
25
65
  }, {}>;
26
66
  export default _default;
27
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
28
- type __VLS_TypePropsToRuntimeProps<T> = {
29
- [K in keyof T]-?: {} extends Pick<T, K> ? {
30
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
31
- } : {
32
- type: import('vue').PropType<T[K]>;
33
- required: true;
34
- };
35
- };
36
- type __VLS_WithDefaults<P, D> = {
37
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? P[K] & {
38
- default: D[K];
39
- } : P[K];
40
- };
@@ -1,35 +1,56 @@
1
- declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
2
- label?: string | undefined;
3
- help?: string | undefined;
4
- modelValue: boolean;
5
- }>, {
6
- label: string;
7
- help: string;
8
- }>, {}, 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<{
9
- label?: string | undefined;
10
- help?: string | undefined;
11
- modelValue: boolean;
12
- }>, {
13
- label: string;
14
- help: string;
15
- }>>> & {
1
+ declare const _default: import("vue").DefineComponent<{
2
+ label: {
3
+ type: import("vue").PropType<string>;
4
+ default: string;
5
+ };
6
+ modelValue: {
7
+ type: import("vue").PropType<boolean | null>;
8
+ default: undefined;
9
+ };
10
+ error: {
11
+ type: import("vue").PropType<string>;
12
+ default: string;
13
+ };
14
+ help: {
15
+ type: import("vue").PropType<string>;
16
+ default: string;
17
+ };
18
+ placeholder: {
19
+ type: import("vue").PropType<string>;
20
+ default: string;
21
+ };
22
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
+ "update:modelValue": (...args: any[]) => void;
24
+ "update:error": (...args: any[]) => void;
25
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
26
+ label: {
27
+ type: import("vue").PropType<string>;
28
+ default: string;
29
+ };
30
+ modelValue: {
31
+ type: import("vue").PropType<boolean | null>;
32
+ default: undefined;
33
+ };
34
+ error: {
35
+ type: import("vue").PropType<string>;
36
+ default: string;
37
+ };
38
+ help: {
39
+ type: import("vue").PropType<string>;
40
+ default: string;
41
+ };
42
+ placeholder: {
43
+ type: import("vue").PropType<string>;
44
+ default: string;
45
+ };
46
+ }>> & {
16
47
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
48
+ "onUpdate:error"?: ((...args: any[]) => any) | undefined;
17
49
  }, {
18
50
  label: string;
51
+ modelValue: boolean | null;
52
+ error: string;
19
53
  help: string;
54
+ placeholder: string;
20
55
  }, {}>;
21
56
  export default _default;
22
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
23
- type __VLS_TypePropsToRuntimeProps<T> = {
24
- [K in keyof T]-?: {} extends Pick<T, K> ? {
25
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
26
- } : {
27
- type: import('vue').PropType<T[K]>;
28
- required: true;
29
- };
30
- };
31
- type __VLS_WithDefaults<P, D> = {
32
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? P[K] & {
33
- default: D[K];
34
- } : P[K];
35
- };
@@ -1,52 +1,84 @@
1
1
  import "flatpickr/dist/flatpickr.min.css";
2
- declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
2
+ declare const _default: import("vue").DefineComponent<{
3
+ label: {
4
+ type: import("vue").PropType<string>;
5
+ default: string;
6
+ };
3
7
  modelValue: {
4
- minDate: number;
5
- maxDate: number;
8
+ type: import("vue").PropType<{
9
+ minDate: number;
10
+ maxDate: number;
11
+ }>;
12
+ default: () => {
13
+ maxDate: number;
14
+ minDate: number;
15
+ };
6
16
  };
7
- maxRange?: number | undefined;
8
- startDate?: number | undefined;
9
- label?: string | undefined;
10
- help?: string | undefined;
11
- }>, {
12
- maxRange: number;
13
- startDate: number;
17
+ error: {
18
+ type: import("vue").PropType<string>;
19
+ default: string;
20
+ };
21
+ help: {
22
+ type: import("vue").PropType<string>;
23
+ default: string;
24
+ };
25
+ placeholder: {
26
+ type: import("vue").PropType<string>;
27
+ default: string;
28
+ };
29
+ maxRange: {
30
+ type: import("vue").PropType<number>;
31
+ default: number;
32
+ };
33
+ startDate: {
34
+ type: import("vue").PropType<number>;
35
+ default: number;
36
+ };
37
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
38
+ label: {
39
+ type: import("vue").PropType<string>;
40
+ default: string;
41
+ };
42
+ modelValue: {
43
+ type: import("vue").PropType<{
44
+ minDate: number;
45
+ maxDate: number;
46
+ }>;
47
+ default: () => {
48
+ maxDate: number;
49
+ minDate: number;
50
+ };
51
+ };
52
+ error: {
53
+ type: import("vue").PropType<string>;
54
+ default: string;
55
+ };
56
+ help: {
57
+ type: import("vue").PropType<string>;
58
+ default: string;
59
+ };
60
+ placeholder: {
61
+ type: import("vue").PropType<string>;
62
+ default: string;
63
+ };
64
+ maxRange: {
65
+ type: import("vue").PropType<number>;
66
+ default: number;
67
+ };
68
+ startDate: {
69
+ type: import("vue").PropType<number>;
70
+ default: number;
71
+ };
72
+ }>>, {
14
73
  label: string;
15
- help: string;
16
- }>, {}, 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<{
17
74
  modelValue: {
18
75
  minDate: number;
19
76
  maxDate: number;
20
77
  };
21
- maxRange?: number | undefined;
22
- startDate?: number | undefined;
23
- label?: string | undefined;
24
- help?: string | undefined;
25
- }>, {
26
- maxRange: number;
27
- startDate: number;
28
- label: string;
29
- help: string;
30
- }>>> & {
31
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
32
- }, {
33
- label: string;
78
+ error: string;
34
79
  help: string;
80
+ placeholder: string;
35
81
  maxRange: number;
36
82
  startDate: number;
37
83
  }, {}>;
38
84
  export default _default;
39
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
40
- type __VLS_TypePropsToRuntimeProps<T> = {
41
- [K in keyof T]-?: {} extends Pick<T, K> ? {
42
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
43
- } : {
44
- type: import('vue').PropType<T[K]>;
45
- required: true;
46
- };
47
- };
48
- type __VLS_WithDefaults<P, D> = {
49
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? P[K] & {
50
- default: D[K];
51
- } : P[K];
52
- };