@maltjoy/core-vue 1.0.0-beta.1 → 1.0.0-beta.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.
Files changed (28) hide show
  1. package/README.md +0 -1
  2. package/dist/components/JoyButton/JoyButton.types.d.ts +0 -4
  3. package/dist/components/JoyButton/VJoyButton.vue.d.ts +1 -14
  4. package/dist/components/JoyCheckbox/VJoyCheckbox.vue.d.ts +1 -1
  5. package/dist/components/JoyCounter/VJoyCounter.vue.d.ts +6 -6
  6. package/dist/components/JoyDropdown/JoyDropdown.types.d.ts +4 -0
  7. package/dist/components/JoyDropdown/VJoyDropdown.vue.d.ts +180 -0
  8. package/dist/components/JoyDropdownList/JoyDropdownList.types.d.ts +3 -0
  9. package/dist/components/JoyDropdownList/VJoyDropdownList.vue.d.ts +84 -0
  10. package/dist/components/JoyInput/VJoyInput.vue.d.ts +4 -4
  11. package/dist/components/JoyLabel/VJoyLabel.vue.d.ts +3 -3
  12. package/dist/components/JoyMultiCheckbox/VJoyMultiCheckbox.vue.d.ts +11 -4
  13. package/dist/components/JoySelect/VJoySelect.vue.d.ts +4 -4
  14. package/dist/components/JoySelectableItem/VJoySelectableItem.vue.d.ts +2 -2
  15. package/dist/components/JoySelectableItemGroup/VJoySelectableItemGroup.vue.d.ts +4 -4
  16. package/dist/components/JoyTextarea/VJoyTextarea.vue.d.ts +4 -4
  17. package/dist/components/JoyToggle/VJoyToggle.vue.d.ts +1 -1
  18. package/dist/components/JoyWrapper/VJoyWrapper.vue.d.ts +2 -2
  19. package/dist/components/index.d.ts +3 -1
  20. package/dist/composables/events.d.ts +5 -0
  21. package/dist/composables/index.d.ts +1 -0
  22. package/dist/composables/props.d.ts +1 -1
  23. package/dist/joy-vue.js +1405 -537
  24. package/dist/joy-vue.umd.cjs +1 -1
  25. package/dist/style.css +1 -1
  26. package/dist/tests/composables/test-components/CheckboxFormProps.vue.d.ts +1 -1
  27. package/dist/tests/composables/test-components/GenericFormPropsWithLabel.vue.d.ts +3 -3
  28. package/package.json +4 -2
package/README.md CHANGED
@@ -15,4 +15,3 @@ Then import the CSS :
15
15
  ```css
16
16
  @use '@maltjoy/themes/dist/themes/default.css';
17
17
  ```
18
-
@@ -6,8 +6,4 @@ export type ButtonVariants = (typeof BUTTON_VARIANTS)[number];
6
6
  /** BUTTON SIZES */
7
7
  export type ButtonSizes = Exclude<(typeof SIZES)[number], 'xlarge'>;
8
8
  export declare const BUTTON_SIZES: ButtonSizes[];
9
- /** BUTTON ICON SIZES */
10
- type ButtonSpecificIconsSizes = Exclude<(typeof SIZES)[number], 'xlarge' | 'large' | 'medium'>;
11
- export declare const ICON_SIZES: ButtonSpecificIconsSizes[];
12
- export type IconSizes = (typeof ICON_SIZES)[number];
13
9
  export {};
@@ -1,4 +1,4 @@
1
- import { ButtonSizes, ButtonVariants, IconSizes } from './JoyButton.types';
1
+ import { ButtonSizes, ButtonVariants } from './JoyButton.types';
2
2
  import { PropType } from 'vue';
3
3
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
4
4
  /**
@@ -28,12 +28,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
28
28
  default: string;
29
29
  validator(variant: ButtonSizes): boolean;
30
30
  };
31
- /** Override the icon size. Default to xsmall */
32
- iconSize: {
33
- type: PropType<"small" | "xxsmall" | "xsmall">;
34
- default: string;
35
- validator(iconSize: IconSizes): boolean;
36
- };
37
31
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
38
32
  /**
39
33
  * If you only need a button with an icon. To keep your component accessible, you can give a text as slot, it will be used as title and aria-label.
@@ -62,18 +56,11 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
62
56
  default: string;
63
57
  validator(variant: ButtonSizes): boolean;
64
58
  };
65
- /** Override the icon size. Default to xsmall */
66
- iconSize: {
67
- type: PropType<"small" | "xxsmall" | "xsmall">;
68
- default: string;
69
- validator(iconSize: IconSizes): boolean;
70
- };
71
59
  }>>, {
72
60
  circle: boolean;
73
61
  loading: boolean;
74
62
  variant: "main" | "ghost" | "secondary" | "primary" | "admin";
75
63
  size: ButtonSizes;
76
- iconSize: "small" | "xxsmall" | "xsmall";
77
64
  }>, {
78
65
  default: (_: {}) => any;
79
66
  }>;
@@ -75,9 +75,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
75
75
  }>> & {
76
76
  "onUpdate:checked"?: ((value: boolean) => any) | undefined;
77
77
  }, {
78
+ checked: boolean;
78
79
  disabled: boolean;
79
80
  indeterminate: boolean;
80
- checked: boolean;
81
81
  value: string;
82
82
  required: boolean;
83
83
  }>, {
@@ -23,7 +23,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
23
23
  label: StringConstructor;
24
24
  /** Overrides the default label size. See JoyLabel stories */
25
25
  labelSize: {
26
- type: PropType<"small" | "large" | "medium">;
26
+ type: PropType<"small" | "medium" | "large">;
27
27
  default: string;
28
28
  };
29
29
  /** If your component is not required, we can add a label to explicitely tell that it's not mandatory */
@@ -86,7 +86,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
86
86
  label: StringConstructor;
87
87
  /** Overrides the default label size. See JoyLabel stories */
88
88
  labelSize: {
89
- type: PropType<"small" | "large" | "medium">;
89
+ type: PropType<"small" | "medium" | "large">;
90
90
  default: string;
91
91
  };
92
92
  /** If your component is not required, we can add a label to explicitely tell that it's not mandatory */
@@ -151,7 +151,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
151
151
  label: StringConstructor;
152
152
  /** Overrides the default label size. See JoyLabel stories */
153
153
  labelSize: {
154
- type: PropType<"small" | "large" | "medium">;
154
+ type: PropType<"small" | "medium" | "large">;
155
155
  default: string;
156
156
  };
157
157
  /** If your component is not required, we can add a label to explicitely tell that it's not mandatory */
@@ -194,12 +194,12 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
194
194
  }, {
195
195
  disabled: boolean;
196
196
  required: boolean;
197
- invalid: boolean;
198
- labelSize: "small" | "large" | "medium";
199
- requiredMark: boolean;
200
197
  modelValue: number;
201
198
  min: number;
202
199
  step: number;
200
+ invalid: boolean;
201
+ labelSize: "small" | "medium" | "large";
202
+ requiredMark: boolean;
203
203
  }>, {
204
204
  default: (_: {}) => any;
205
205
  }>;
@@ -0,0 +1,4 @@
1
+ export declare const DROPDOWN_DIRECTIONS: readonly ["up", "down"];
2
+ export type DropdownDirections = typeof DROPDOWN_DIRECTIONS[number];
3
+ export declare const DROPDOWN_JUSTIFY: readonly ["left", "right"];
4
+ export type DropdownJustify = typeof DROPDOWN_JUSTIFY[number];
@@ -0,0 +1,180 @@
1
+ import { PropType } from 'vue';
2
+ import { DropdownListSizes } from '../JoyDropdownList/JoyDropdownList.types';
3
+ export interface Option {
4
+ id?: string;
5
+ value?: string;
6
+ label: string;
7
+ href?: string;
8
+ /**
9
+ * @default false
10
+ */
11
+ disabled?: boolean;
12
+ /**
13
+ * @default false
14
+ */
15
+ checked?: boolean;
16
+ }
17
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
18
+ /** DOM valid selector to give to Vue3 Teleport "to" property */
19
+ appendTo: {
20
+ type: PropType<string | import("vue").RendererElement | null | undefined>;
21
+ default: string;
22
+ };
23
+ /**
24
+ * Disable teleport for testing purpose mostly.
25
+ */
26
+ disableTeleport: {
27
+ type: BooleanConstructor;
28
+ default: boolean;
29
+ };
30
+ /** close the dropdown list when clicking on any item. Default to false */
31
+ closeOnSelect: {
32
+ type: BooleanConstructor;
33
+ default: boolean;
34
+ };
35
+ /** Dropdown vertical position according to the trigger */
36
+ direction: {
37
+ type: PropType<"up" | "down">;
38
+ default: string;
39
+ };
40
+ /** Dropdown horizontal justify according to the trigger */
41
+ justify: {
42
+ type: PropType<"left" | "right">;
43
+ default: string;
44
+ };
45
+ /**
46
+ * ```
47
+ * interface Option {id?: string; value?: string; label: string; href?: string; disabled?:boolean; checked?:boolean}
48
+ * ```
49
+ */
50
+ options: {
51
+ type: PropType<Option[]>;
52
+ validator(value: Array<Option>): boolean;
53
+ default(): never[];
54
+ };
55
+ size: {
56
+ type: PropType<DropdownListSizes>;
57
+ default: string;
58
+ validator(size: DropdownListSizes): boolean;
59
+ };
60
+ modelValue: {
61
+ type: StringConstructor;
62
+ default: string;
63
+ };
64
+ /**
65
+ * Space between the trigger and the list
66
+ */
67
+ dropdownGap: {
68
+ type: StringConstructor;
69
+ default: string;
70
+ };
71
+ /**
72
+ * Max-width of the dropdown list
73
+ */
74
+ width: {
75
+ type: StringConstructor;
76
+ default: string;
77
+ };
78
+ /**
79
+ * Max-height of the dropdown list
80
+ */
81
+ height: {
82
+ type: StringConstructor;
83
+ default: string;
84
+ };
85
+ }, {
86
+ showDropdownList: import("vue").Ref<boolean>;
87
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
88
+ "update:modelValue": (value: string) => void;
89
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
90
+ /** DOM valid selector to give to Vue3 Teleport "to" property */
91
+ appendTo: {
92
+ type: PropType<string | import("vue").RendererElement | null | undefined>;
93
+ default: string;
94
+ };
95
+ /**
96
+ * Disable teleport for testing purpose mostly.
97
+ */
98
+ disableTeleport: {
99
+ type: BooleanConstructor;
100
+ default: boolean;
101
+ };
102
+ /** close the dropdown list when clicking on any item. Default to false */
103
+ closeOnSelect: {
104
+ type: BooleanConstructor;
105
+ default: boolean;
106
+ };
107
+ /** Dropdown vertical position according to the trigger */
108
+ direction: {
109
+ type: PropType<"up" | "down">;
110
+ default: string;
111
+ };
112
+ /** Dropdown horizontal justify according to the trigger */
113
+ justify: {
114
+ type: PropType<"left" | "right">;
115
+ default: string;
116
+ };
117
+ /**
118
+ * ```
119
+ * interface Option {id?: string; value?: string; label: string; href?: string; disabled?:boolean; checked?:boolean}
120
+ * ```
121
+ */
122
+ options: {
123
+ type: PropType<Option[]>;
124
+ validator(value: Array<Option>): boolean;
125
+ default(): never[];
126
+ };
127
+ size: {
128
+ type: PropType<DropdownListSizes>;
129
+ default: string;
130
+ validator(size: DropdownListSizes): boolean;
131
+ };
132
+ modelValue: {
133
+ type: StringConstructor;
134
+ default: string;
135
+ };
136
+ /**
137
+ * Space between the trigger and the list
138
+ */
139
+ dropdownGap: {
140
+ type: StringConstructor;
141
+ default: string;
142
+ };
143
+ /**
144
+ * Max-width of the dropdown list
145
+ */
146
+ width: {
147
+ type: StringConstructor;
148
+ default: string;
149
+ };
150
+ /**
151
+ * Max-height of the dropdown list
152
+ */
153
+ height: {
154
+ type: StringConstructor;
155
+ default: string;
156
+ };
157
+ }>> & {
158
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
159
+ }, {
160
+ size: DropdownListSizes;
161
+ options: Option[];
162
+ modelValue: string;
163
+ width: string;
164
+ height: string;
165
+ appendTo: string | import("vue").RendererElement | null | undefined;
166
+ disableTeleport: boolean;
167
+ closeOnSelect: boolean;
168
+ direction: "up" | "down";
169
+ justify: "left" | "right";
170
+ dropdownGap: string;
171
+ }>, {
172
+ 'dropdown-button': (_: {}) => any;
173
+ 'dropdown-item': (_: import("../JoyDropdownList/VJoyDropdownList.vue").Option) => any;
174
+ }>;
175
+ export default _default;
176
+ type __VLS_WithTemplateSlots<T, S> = T & {
177
+ new (): {
178
+ $slots: S;
179
+ };
180
+ };
@@ -0,0 +1,3 @@
1
+ import { SIZES } from "@/types";
2
+ export type DropdownListSizes = Extract<(typeof SIZES)[number], 'small' | 'medium'>;
3
+ export declare const DROPDOWNLIST_SIZES: DropdownListSizes[];
@@ -0,0 +1,84 @@
1
+ import { PropType } from 'vue';
2
+ import { DropdownListSizes } from './JoyDropdownList.types';
3
+ export interface Option {
4
+ id?: string;
5
+ value?: string;
6
+ label: string;
7
+ href?: string;
8
+ /**
9
+ * @default false
10
+ */
11
+ disabled?: boolean;
12
+ /**
13
+ * @default false
14
+ */
15
+ checked?: boolean;
16
+ }
17
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
18
+ options: {
19
+ type: PropType<Option[]>;
20
+ validator(value: Array<Option>): boolean;
21
+ default(): never[];
22
+ };
23
+ size: {
24
+ type: PropType<DropdownListSizes>;
25
+ default: string;
26
+ validator(size: DropdownListSizes): boolean;
27
+ };
28
+ modelValue: {
29
+ type: StringConstructor;
30
+ };
31
+ width: {
32
+ type: StringConstructor;
33
+ default: string;
34
+ };
35
+ height: {
36
+ type: StringConstructor;
37
+ default: string;
38
+ };
39
+ }, {
40
+ isSelected: import("vue").ComputedRef<(option: Option) => boolean>;
41
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
42
+ "update:modelValue": (value: string) => void;
43
+ } & {
44
+ "close:dropdownList": () => void;
45
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
46
+ options: {
47
+ type: PropType<Option[]>;
48
+ validator(value: Array<Option>): boolean;
49
+ default(): never[];
50
+ };
51
+ size: {
52
+ type: PropType<DropdownListSizes>;
53
+ default: string;
54
+ validator(size: DropdownListSizes): boolean;
55
+ };
56
+ modelValue: {
57
+ type: StringConstructor;
58
+ };
59
+ width: {
60
+ type: StringConstructor;
61
+ default: string;
62
+ };
63
+ height: {
64
+ type: StringConstructor;
65
+ default: string;
66
+ };
67
+ }>> & {
68
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
69
+ "onClose:dropdownList"?: (() => any) | undefined;
70
+ }, {
71
+ size: DropdownListSizes;
72
+ options: Option[];
73
+ width: string;
74
+ height: string;
75
+ }>, {
76
+ label: (_: Option) => any;
77
+ footer: (_: {}) => any;
78
+ }>;
79
+ export default _default;
80
+ type __VLS_WithTemplateSlots<T, S> = T & {
81
+ new (): {
82
+ $slots: S;
83
+ };
84
+ };
@@ -24,7 +24,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
24
24
  label: StringConstructor;
25
25
  /** Overrides the default label size. See JoyLabel stories */
26
26
  labelSize: {
27
- type: PropType<"small" | "large" | "medium">;
27
+ type: PropType<"small" | "medium" | "large">;
28
28
  default: string;
29
29
  };
30
30
  /** If your component is not required, we can add a label to explicitely tell that it's not mandatory */
@@ -79,7 +79,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
79
79
  label: StringConstructor;
80
80
  /** Overrides the default label size. See JoyLabel stories */
81
81
  labelSize: {
82
- type: PropType<"small" | "large" | "medium">;
82
+ type: PropType<"small" | "medium" | "large">;
83
83
  default: string;
84
84
  };
85
85
  /** If your component is not required, we can add a label to explicitely tell that it's not mandatory */
@@ -114,10 +114,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
114
114
  size: InputSizes;
115
115
  disabled: boolean;
116
116
  required: boolean;
117
+ modelValue: string;
117
118
  invalid: boolean;
118
- labelSize: "small" | "large" | "medium";
119
+ labelSize: "small" | "medium" | "large";
119
120
  requiredMark: boolean;
120
- modelValue: string;
121
121
  clearable: boolean;
122
122
  }>, {
123
123
  default: (_: {}) => any;
@@ -2,7 +2,7 @@ import { PropType } from 'vue';
2
2
  import { LabelSizes } from './JoyLabel.types';
3
3
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
4
4
  size: {
5
- type: PropType<"small" | "large" | "medium">;
5
+ type: PropType<"small" | "medium" | "large">;
6
6
  default: string;
7
7
  validator(size: LabelSizes): boolean;
8
8
  };
@@ -19,7 +19,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
19
19
  };
20
20
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
21
21
  size: {
22
- type: PropType<"small" | "large" | "medium">;
22
+ type: PropType<"small" | "medium" | "large">;
23
23
  default: string;
24
24
  validator(size: LabelSizes): boolean;
25
25
  };
@@ -35,7 +35,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
35
35
  type: StringConstructor;
36
36
  };
37
37
  }>>, {
38
- size: "small" | "large" | "medium";
38
+ size: "small" | "medium" | "large";
39
39
  required: boolean;
40
40
  tagName: "label" | "legend";
41
41
  }>, {
@@ -14,7 +14,7 @@ export interface Option {
14
14
  */
15
15
  required?: boolean;
16
16
  }
17
- declare const _default: import("vue").DefineComponent<{
17
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
18
18
  options: {
19
19
  type: PropType<Option[]>;
20
20
  required: true;
@@ -35,7 +35,7 @@ declare const _default: import("vue").DefineComponent<{
35
35
  };
36
36
  label: StringConstructor;
37
37
  labelSize: {
38
- type: PropType<"small" | "large" | "medium">;
38
+ type: PropType<"small" | "medium" | "large">;
39
39
  default: string;
40
40
  };
41
41
  optionalLabel: StringConstructor;
@@ -66,7 +66,7 @@ declare const _default: import("vue").DefineComponent<{
66
66
  };
67
67
  label: StringConstructor;
68
68
  labelSize: {
69
- type: PropType<"small" | "large" | "medium">;
69
+ type: PropType<"small" | "medium" | "large">;
70
70
  default: string;
71
71
  };
72
72
  optionalLabel: StringConstructor;
@@ -79,8 +79,15 @@ declare const _default: import("vue").DefineComponent<{
79
79
  }, {
80
80
  value: any[];
81
81
  required: boolean;
82
- labelSize: "small" | "large" | "medium";
82
+ labelSize: "small" | "medium" | "large";
83
83
  requiredMark: boolean;
84
84
  fullWidth: boolean;
85
+ }>, {
86
+ checkbox: (_: Option) => any;
85
87
  }>;
86
88
  export default _default;
89
+ type __VLS_WithTemplateSlots<T, S> = T & {
90
+ new (): {
91
+ $slots: S;
92
+ };
93
+ };
@@ -20,7 +20,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
20
20
  };
21
21
  label: StringConstructor;
22
22
  labelSize: {
23
- type: PropType<"small" | "large" | "medium">;
23
+ type: PropType<"small" | "medium" | "large">;
24
24
  default: string;
25
25
  };
26
26
  optionalLabel: StringConstructor;
@@ -55,7 +55,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
55
55
  };
56
56
  label: StringConstructor;
57
57
  labelSize: {
58
- type: PropType<"small" | "large" | "medium">;
58
+ type: PropType<"small" | "medium" | "large">;
59
59
  default: string;
60
60
  };
61
61
  optionalLabel: StringConstructor;
@@ -72,10 +72,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
72
72
  }, {
73
73
  disabled: boolean;
74
74
  required: boolean;
75
+ modelValue: string;
75
76
  invalid: boolean;
76
- labelSize: "small" | "large" | "medium";
77
+ labelSize: "small" | "medium" | "large";
77
78
  requiredMark: boolean;
78
- modelValue: string;
79
79
  }>, {
80
80
  label: (_: {}) => any;
81
81
  default: (_: {}) => any;
@@ -67,11 +67,11 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
67
67
  }>> & {
68
68
  "onUpdate:checked"?: ((value: string | boolean) => any) | undefined;
69
69
  }, {
70
- disabled: boolean;
71
70
  checked: boolean;
71
+ disabled: boolean;
72
72
  required: boolean;
73
- invalid: boolean;
74
73
  multiple: boolean;
74
+ invalid: boolean;
75
75
  }>, {
76
76
  default: (_: {}) => any;
77
77
  'selectable-item-sublabel': (_: {}) => any;
@@ -39,7 +39,7 @@ declare const _default: import("vue").DefineComponent<{
39
39
  };
40
40
  label: StringConstructor;
41
41
  labelSize: {
42
- type: PropType<"small" | "large" | "medium">;
42
+ type: PropType<"small" | "medium" | "large">;
43
43
  default: string;
44
44
  };
45
45
  optionalLabel: StringConstructor;
@@ -74,7 +74,7 @@ declare const _default: import("vue").DefineComponent<{
74
74
  };
75
75
  label: StringConstructor;
76
76
  labelSize: {
77
- type: PropType<"small" | "large" | "medium">;
77
+ type: PropType<"small" | "medium" | "large">;
78
78
  default: string;
79
79
  };
80
80
  optionalLabel: StringConstructor;
@@ -87,9 +87,9 @@ declare const _default: import("vue").DefineComponent<{
87
87
  }, {
88
88
  value: string | unknown[];
89
89
  required: boolean;
90
- labelSize: "small" | "large" | "medium";
90
+ multiple: boolean;
91
+ labelSize: "small" | "medium" | "large";
91
92
  requiredMark: boolean;
92
93
  fullWidth: boolean;
93
- multiple: boolean;
94
94
  }>;
95
95
  export default _default;
@@ -20,7 +20,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
20
20
  };
21
21
  label: StringConstructor;
22
22
  labelSize: {
23
- type: PropType<"small" | "large" | "medium">;
23
+ type: PropType<"small" | "medium" | "large">;
24
24
  default: string;
25
25
  };
26
26
  optionalLabel: StringConstructor;
@@ -70,7 +70,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
70
70
  };
71
71
  label: StringConstructor;
72
72
  labelSize: {
73
- type: PropType<"small" | "large" | "medium">;
73
+ type: PropType<"small" | "medium" | "large">;
74
74
  default: string;
75
75
  };
76
76
  optionalLabel: StringConstructor;
@@ -98,10 +98,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
98
98
  }, {
99
99
  disabled: boolean;
100
100
  required: boolean;
101
+ modelValue: string;
101
102
  invalid: boolean;
102
- labelSize: "small" | "large" | "medium";
103
+ labelSize: "small" | "medium" | "large";
103
104
  requiredMark: boolean;
104
- modelValue: string;
105
105
  autogrow: boolean;
106
106
  }>, {
107
107
  default: (_: {}) => any;
@@ -60,8 +60,8 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
60
60
  disabled: boolean;
61
61
  value: string;
62
62
  required: boolean;
63
- invalid: boolean;
64
63
  modelValue: boolean;
64
+ invalid: boolean;
65
65
  }>, {
66
66
  default: (_: {}) => any;
67
67
  }>;
@@ -34,10 +34,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
34
34
  default: string;
35
35
  };
36
36
  }>>, {
37
+ align: "flex-end" | "stretch" | "center" | "flex-start";
37
38
  direction: "column" | "row";
38
- wrap: "nowrap" | "wrap";
39
39
  justify: "flex-end" | "center" | "space-between" | "flex-start";
40
- align: "flex-end" | "stretch" | "center" | "flex-start";
40
+ wrap: "nowrap" | "wrap";
41
41
  }>, {
42
42
  default: (_: {}) => any;
43
43
  }>;
@@ -1,6 +1,8 @@
1
1
  import VJoyButton from '@/components/JoyButton/VJoyButton.vue';
2
2
  import VJoyCheckbox from '@/components/JoyCheckbox/VJoyCheckbox.vue';
3
3
  import VJoyCounter from '@/components/JoyCounter/VJoyCounter.vue';
4
+ import VJoyDropdown from '@/components/JoyDropdown/VJoyDropdown.vue';
5
+ import VJoyDropdownList from '@/components/JoyDropdownList/VJoyDropdownList.vue';
4
6
  import VJoyFormError from '@/components/JoyFormError/VJoyFormError.vue';
5
7
  import VJoyHighlight from '@/components/JoyHighlight/VJoyHighlight.vue';
6
8
  import VJoyInput from '@/components/JoyInput/VJoyInput.vue';
@@ -19,4 +21,4 @@ import VJoyWrapper from '@/components/JoyWrapper/VJoyWrapper.vue';
19
21
  import VJoyTemplate from '@/components/JoyTemplate/VJoyTemplate.vue';
20
22
  import VJoyTextarea from '@/components/JoyTextarea/VJoyTextarea.vue';
21
23
  import VJoyToggle from '@/components/JoyToggle/VJoyToggle.vue';
22
- export { VJoyButton, VJoyCheckbox, VJoyCounter, VJoyFormError, VJoyHighlight, VJoyInput, VJoyLabel, VJoyLink, VJoyMultiCheckbox, VJoyPanel, VJoyPanelSection, VJoyRadio, VJoyRadioGroup, VJoySelect, VJoySelectableItem, VJoySelectableItemGroup, VJoySpinner, VJoyTemplate, VJoyTextarea, VJoyToggle, VJoyWrapper, };
24
+ export { VJoyButton, VJoyCheckbox, VJoyCounter, VJoyDropdown, VJoyDropdownList, VJoyFormError, VJoyHighlight, VJoyInput, VJoyLabel, VJoyLink, VJoyMultiCheckbox, VJoyPanel, VJoyPanelSection, VJoyRadio, VJoyRadioGroup, VJoySelect, VJoySelectableItem, VJoySelectableItemGroup, VJoySpinner, VJoyTemplate, VJoyTextarea, VJoyToggle, VJoyWrapper, };
@@ -0,0 +1,5 @@
1
+ import { Ref } from 'vue';
2
+ export declare function useDetectOutsideClick<T>(component: Ref, callback: () => T | void): {
3
+ listener: (event: Event) => void;
4
+ } | undefined;
5
+ export declare function useDetectWindowResize<T>(callback: () => T | void): void;
@@ -1 +1,2 @@
1
1
  export * from './props';
2
+ export * from './events';
@@ -61,7 +61,7 @@ export declare const CHECKBOX_BASED_PROPS: {
61
61
  export declare const LABEL_BASED_PROPS: {
62
62
  label: StringConstructor;
63
63
  labelSize: {
64
- type: PropType<"small" | "large" | "medium">;
64
+ type: PropType<"small" | "medium" | "large">;
65
65
  default: string;
66
66
  };
67
67
  optionalLabel: StringConstructor;