@flux-ui/components 3.1.2 → 3.1.3
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/component/FluxAvatarGroup.vue.d.ts +17 -0
- package/dist/component/FluxContextMenu.vue.d.ts +26 -0
- package/dist/component/FluxDataTable.vue.d.ts +20 -10
- package/dist/component/FluxDescriptionItem.vue.d.ts +19 -0
- package/dist/component/FluxDescriptionList.vue.d.ts +17 -0
- package/dist/component/FluxFormCombobox.vue.d.ts +20 -0
- package/dist/component/FluxFormRating.vue.d.ts +21 -0
- package/dist/component/FluxFormTagsInput.vue.d.ts +27 -0
- package/dist/component/FluxFormTextArea.vue.d.ts +6 -1
- package/dist/component/FluxInlineEdit.vue.d.ts +41 -0
- package/dist/component/FluxMenu.vue.d.ts +1 -0
- package/dist/component/FluxMenuFlyout.vue.d.ts +22 -0
- package/dist/component/FluxTableCell.vue.d.ts +1 -0
- package/dist/component/FluxTour.vue.d.ts +35 -0
- package/dist/component/FluxTourItem.vue.d.ts +18 -0
- package/dist/component/FluxVirtualScroller.vue.d.ts +27 -0
- package/dist/component/index.d.ts +12 -0
- package/dist/component/primitive/AnchorPopup.vue.d.ts +7 -1
- package/dist/component/primitive/SelectBase.vue.d.ts +3 -0
- package/dist/composable/private/index.d.ts +1 -0
- package/dist/composable/private/useMenuFlyout.d.ts +42 -0
- package/dist/data/di.d.ts +35 -0
- package/dist/data/i18n.d.ts +7 -0
- package/dist/index.css +441 -1
- package/dist/index.js +2018 -407
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
- package/src/component/FluxAvatarGroup.vue +52 -0
- package/src/component/FluxContextMenu.vue +134 -0
- package/src/component/FluxDataTable.vue +113 -32
- package/src/component/FluxDescriptionItem.vue +43 -0
- package/src/component/FluxDescriptionList.vue +37 -0
- package/src/component/FluxFormCombobox.vue +98 -0
- package/src/component/FluxFormRating.vue +172 -0
- package/src/component/FluxFormTagsInput.vue +249 -0
- package/src/component/FluxFormTextArea.vue +16 -1
- package/src/component/FluxInlineEdit.vue +176 -0
- package/src/component/FluxMenu.vue +13 -3
- package/src/component/FluxMenuFlyout.vue +118 -0
- package/src/component/FluxTableCell.vue +2 -0
- package/src/component/FluxTour.vue +332 -0
- package/src/component/FluxTourItem.vue +27 -0
- package/src/component/FluxVirtualScroller.vue +96 -0
- package/src/component/index.ts +12 -0
- package/src/component/primitive/AnchorPopup.vue +27 -0
- package/src/component/primitive/SelectBase.vue +37 -2
- package/src/composable/private/index.ts +1 -0
- package/src/composable/private/useMenuFlyout.ts +417 -0
- package/src/css/component/AvatarGroup.module.scss +22 -0
- package/src/css/component/ContextMenu.module.scss +17 -0
- package/src/css/component/DescriptionList.module.scss +98 -0
- package/src/css/component/Form.module.scss +51 -0
- package/src/css/component/FormRating.module.scss +47 -0
- package/src/css/component/InlineEdit.module.scss +45 -0
- package/src/css/component/Menu.module.scss +4 -1
- package/src/css/component/MenuFlyout.module.scss +38 -0
- package/src/css/component/Table.module.scss +16 -0
- package/src/css/component/Tour.module.scss +108 -0
- package/src/css/component/VirtualScroller.module.scss +17 -0
- package/src/data/di.ts +40 -0
- package/src/data/i18n.ts +7 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { VNode, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
readonly max?: number;
|
|
4
|
+
readonly overlap?: number;
|
|
5
|
+
readonly size?: number;
|
|
6
|
+
};
|
|
7
|
+
type __VLS_Slots = {
|
|
8
|
+
default(): VNode[];
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_base: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
|
|
11
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
12
|
+
export default _default;
|
|
13
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
14
|
+
new (): {
|
|
15
|
+
$slots: S;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { VNode, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
readonly debugCone?: boolean;
|
|
4
|
+
readonly disabled?: boolean;
|
|
5
|
+
readonly position?: 'top' | 'top-left' | 'top-right' | 'left' | 'left-top' | 'left-bottom' | 'right' | 'right-top' | 'right-bottom' | 'bottom' | 'bottom-left' | 'bottom-right';
|
|
6
|
+
};
|
|
7
|
+
type __VLS_Slots = {
|
|
8
|
+
default(): VNode[];
|
|
9
|
+
menu(props: {
|
|
10
|
+
close(): void;
|
|
11
|
+
}): VNode[];
|
|
12
|
+
};
|
|
13
|
+
declare const __VLS_base: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
14
|
+
close: () => any;
|
|
15
|
+
open: (args_0: MouseEvent) => any;
|
|
16
|
+
}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
17
|
+
onClose?: () => any;
|
|
18
|
+
onOpen?: (args_0: MouseEvent) => any;
|
|
19
|
+
}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
|
|
20
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
21
|
+
export default _default;
|
|
22
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
23
|
+
new (): {
|
|
24
|
+
$slots: S;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { VNode, PublicProps } from 'vue';
|
|
2
2
|
declare const _default: <T extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
3
3
|
props: PublicProps & __VLS_PrettifyLocal<({
|
|
4
|
+
readonly expandMode?: "single" | "multiple";
|
|
4
5
|
readonly fillColumns?: number;
|
|
5
6
|
readonly isBordered?: boolean;
|
|
6
7
|
readonly isHoverable?: boolean;
|
|
@@ -16,25 +17,18 @@ declare const _default: <T extends Record<string, any>>(__VLS_props: NonNullable
|
|
|
16
17
|
readonly uniqueKey?: string;
|
|
17
18
|
} & {
|
|
18
19
|
selected?: (string | number) | (string | number)[];
|
|
20
|
+
expanded?: (string | number)[];
|
|
19
21
|
}) & {
|
|
20
22
|
onNavigate?: (args_0: number) => any;
|
|
21
23
|
onLimit?: (args_0: number) => any;
|
|
22
24
|
"onUpdate:selected"?: (value: (string | number) | (string | number)[]) => any;
|
|
25
|
+
"onUpdate:expanded"?: (value: (string | number)[]) => any;
|
|
23
26
|
}> & (typeof globalThis extends {
|
|
24
27
|
__VLS_PROPS_FALLBACK: infer P;
|
|
25
28
|
} ? P : {});
|
|
26
29
|
expose: (exposed: {}) => void;
|
|
27
30
|
attrs: any;
|
|
28
31
|
slots: {
|
|
29
|
-
[key: string]: (props: {
|
|
30
|
-
readonly index: number;
|
|
31
|
-
readonly page: number;
|
|
32
|
-
readonly perPage: number;
|
|
33
|
-
readonly item: T;
|
|
34
|
-
readonly items: T[];
|
|
35
|
-
readonly total: number;
|
|
36
|
-
readonly isSelected: boolean;
|
|
37
|
-
}) => VNode;
|
|
38
32
|
filter(props: {
|
|
39
33
|
readonly page: number;
|
|
40
34
|
readonly perPage: number;
|
|
@@ -60,8 +54,24 @@ declare const _default: <T extends Record<string, any>>(__VLS_props: NonNullable
|
|
|
60
54
|
readonly total: number;
|
|
61
55
|
}): VNode;
|
|
62
56
|
colgroups(): VNode;
|
|
57
|
+
expandable(props: {
|
|
58
|
+
readonly index: number;
|
|
59
|
+
readonly item: T;
|
|
60
|
+
readonly isExpanded: boolean;
|
|
61
|
+
toggle(): void;
|
|
62
|
+
}): VNode;
|
|
63
|
+
} & {
|
|
64
|
+
[key: string]: (props: {
|
|
65
|
+
readonly index: number;
|
|
66
|
+
readonly page: number;
|
|
67
|
+
readonly perPage: number;
|
|
68
|
+
readonly item: T;
|
|
69
|
+
readonly items: T[];
|
|
70
|
+
readonly total: number;
|
|
71
|
+
readonly isSelected: boolean;
|
|
72
|
+
}) => VNode;
|
|
63
73
|
};
|
|
64
|
-
emit: (((evt: "navigate", args_0: number) => void) & ((evt: "limit", args_0: number) => void)) & ((event: "update:selected", value: (string | number) | (string | number)[]) => void);
|
|
74
|
+
emit: (((evt: "navigate", args_0: number) => void) & ((evt: "limit", args_0: number) => void)) & (((event: "update:selected", value: (string | number) | (string | number)[]) => void) & ((event: "update:expanded", value: (string | number)[]) => void));
|
|
65
75
|
}>) => VNode & {
|
|
66
76
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
67
77
|
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { FluxIconName } from '@flux-ui/types';
|
|
2
|
+
import { VNode, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
readonly icon?: FluxIconName;
|
|
5
|
+
readonly isStacked?: boolean;
|
|
6
|
+
readonly label?: string;
|
|
7
|
+
};
|
|
8
|
+
type __VLS_Slots = {
|
|
9
|
+
default(): VNode[];
|
|
10
|
+
label(): VNode[];
|
|
11
|
+
};
|
|
12
|
+
declare const __VLS_base: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
|
|
13
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
14
|
+
export default _default;
|
|
15
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
16
|
+
new (): {
|
|
17
|
+
$slots: S;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { VNode, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
readonly direction?: 'horizontal' | 'vertical';
|
|
4
|
+
readonly title?: string;
|
|
5
|
+
};
|
|
6
|
+
type __VLS_Slots = {
|
|
7
|
+
default(): VNode[];
|
|
8
|
+
header(): VNode[];
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_base: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
|
|
11
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
12
|
+
export default _default;
|
|
13
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
14
|
+
new (): {
|
|
15
|
+
$slots: S;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FluxFormInputBaseProps, FluxFormSelectEntry, FluxFormSelectValue } from '@flux-ui/types';
|
|
2
|
+
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
|
+
type __VLS_Props = Pick<FluxFormInputBaseProps, 'autoFocus' | 'disabled' | 'error' | 'isCondensed' | 'isLoading' | 'isReadonly' | 'isSecondary' | 'name' | 'placeholder'> & {
|
|
4
|
+
readonly isCreatable?: boolean;
|
|
5
|
+
readonly isMultiple?: boolean;
|
|
6
|
+
readonly options: FluxFormSelectEntry[];
|
|
7
|
+
};
|
|
8
|
+
type __VLS_ModelProps = {
|
|
9
|
+
'searchQuery'?: string;
|
|
10
|
+
modelValue: FluxFormSelectValue;
|
|
11
|
+
};
|
|
12
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
13
|
+
declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
14
|
+
"update:modelValue": (value: FluxFormSelectValue) => any;
|
|
15
|
+
"update:searchQuery": (value: string) => any;
|
|
16
|
+
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
17
|
+
"onUpdate:modelValue"?: (value: FluxFormSelectValue) => any;
|
|
18
|
+
"onUpdate:searchQuery"?: (value: string) => any;
|
|
19
|
+
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
20
|
+
export default _default;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { FluxFormInputBaseProps, FluxIconName } from '@flux-ui/types';
|
|
2
|
+
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
|
+
type __VLS_Props = Pick<FluxFormInputBaseProps, 'disabled' | 'error' | 'isReadonly' | 'name'> & {
|
|
4
|
+
readonly allowHalf?: boolean;
|
|
5
|
+
readonly clearable?: boolean;
|
|
6
|
+
readonly count?: number;
|
|
7
|
+
readonly icon?: FluxIconName;
|
|
8
|
+
readonly size?: number;
|
|
9
|
+
};
|
|
10
|
+
type __VLS_ModelProps = {
|
|
11
|
+
modelValue?: number | null;
|
|
12
|
+
};
|
|
13
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
14
|
+
declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
15
|
+
change: (args_0: number) => any;
|
|
16
|
+
"update:modelValue": (value: number) => any;
|
|
17
|
+
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
18
|
+
onChange?: (args_0: number) => any;
|
|
19
|
+
"onUpdate:modelValue"?: (value: number) => any;
|
|
20
|
+
}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
|
|
21
|
+
export default _default;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FluxColor, FluxFormInputBaseProps, FluxFormSelectOption } from '@flux-ui/types';
|
|
2
|
+
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
|
+
type __VLS_Props = Pick<FluxFormInputBaseProps, 'disabled' | 'error' | 'isCondensed' | 'isReadonly' | 'isSecondary' | 'name' | 'placeholder'> & {
|
|
4
|
+
readonly allowDuplicates?: boolean;
|
|
5
|
+
readonly delimiters?: string[];
|
|
6
|
+
readonly max?: number;
|
|
7
|
+
readonly suggestions?: FluxFormSelectOption[];
|
|
8
|
+
readonly tagColor?: FluxColor;
|
|
9
|
+
readonly validate?: (value: string) => boolean;
|
|
10
|
+
};
|
|
11
|
+
type __VLS_ModelProps = {
|
|
12
|
+
modelValue?: string[];
|
|
13
|
+
'searchQuery'?: string;
|
|
14
|
+
};
|
|
15
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
16
|
+
declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
17
|
+
add: (args_0: string) => any;
|
|
18
|
+
remove: (args_0: string) => any;
|
|
19
|
+
"update:modelValue": (value: string[]) => any;
|
|
20
|
+
"update:searchQuery": (value: string) => any;
|
|
21
|
+
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
22
|
+
onAdd?: (args_0: string) => any;
|
|
23
|
+
onRemove?: (args_0: string) => any;
|
|
24
|
+
"onUpdate:modelValue"?: (value: string[]) => any;
|
|
25
|
+
"onUpdate:searchQuery"?: (value: string) => any;
|
|
26
|
+
}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
|
|
27
|
+
export default _default;
|
|
@@ -5,11 +5,16 @@ type __VLS_Props = FluxFormInputBaseProps & {
|
|
|
5
5
|
readonly maxLength?: number;
|
|
6
6
|
readonly rows?: number;
|
|
7
7
|
};
|
|
8
|
+
declare function blur(): void;
|
|
9
|
+
declare function focus(): void;
|
|
8
10
|
type __VLS_ModelProps = {
|
|
9
11
|
modelValue?: string;
|
|
10
12
|
};
|
|
11
13
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
12
|
-
declare const _default: DefineComponent<__VLS_PublicProps, {
|
|
14
|
+
declare const _default: DefineComponent<__VLS_PublicProps, {
|
|
15
|
+
blur: typeof blur;
|
|
16
|
+
focus: typeof focus;
|
|
17
|
+
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
13
18
|
blur: () => any;
|
|
14
19
|
focus: () => any;
|
|
15
20
|
"update:modelValue": (value: string) => any;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { VNode, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
readonly disabled?: boolean;
|
|
4
|
+
readonly error?: string | null;
|
|
5
|
+
readonly isReadonly?: boolean;
|
|
6
|
+
readonly multiline?: boolean;
|
|
7
|
+
readonly placeholder?: string;
|
|
8
|
+
readonly saveOnBlur?: boolean;
|
|
9
|
+
};
|
|
10
|
+
type __VLS_Slots = {
|
|
11
|
+
actions?(props: {
|
|
12
|
+
save(): void;
|
|
13
|
+
cancel(): void;
|
|
14
|
+
}): VNode[];
|
|
15
|
+
default?(props: {
|
|
16
|
+
value: string;
|
|
17
|
+
edit(): void;
|
|
18
|
+
}): VNode[];
|
|
19
|
+
};
|
|
20
|
+
type __VLS_ModelProps = {
|
|
21
|
+
modelValue?: string;
|
|
22
|
+
};
|
|
23
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
24
|
+
declare const __VLS_base: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
25
|
+
cancel: () => any;
|
|
26
|
+
edit: () => any;
|
|
27
|
+
save: (args_0: string) => any;
|
|
28
|
+
"update:modelValue": (value: string) => any;
|
|
29
|
+
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
30
|
+
onCancel?: () => any;
|
|
31
|
+
onEdit?: () => any;
|
|
32
|
+
onSave?: (args_0: string) => any;
|
|
33
|
+
"onUpdate:modelValue"?: (value: string) => any;
|
|
34
|
+
}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
|
|
35
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
36
|
+
export default _default;
|
|
37
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
38
|
+
new (): {
|
|
39
|
+
$slots: S;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FluxIconName } from '@flux-ui/types';
|
|
2
|
+
import { VNode, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
readonly disabled?: boolean;
|
|
5
|
+
readonly icon?: FluxIconName;
|
|
6
|
+
readonly isActive?: boolean;
|
|
7
|
+
readonly isDestructive?: boolean;
|
|
8
|
+
readonly label?: string;
|
|
9
|
+
readonly position?: 'top' | 'top-left' | 'top-right' | 'left' | 'left-top' | 'left-bottom' | 'right' | 'right-top' | 'right-bottom' | 'bottom' | 'bottom-left' | 'bottom-right';
|
|
10
|
+
};
|
|
11
|
+
type __VLS_Slots = {
|
|
12
|
+
default(): VNode[];
|
|
13
|
+
trigger(): VNode[];
|
|
14
|
+
};
|
|
15
|
+
declare const __VLS_base: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
|
|
16
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
17
|
+
export default _default;
|
|
18
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
19
|
+
new (): {
|
|
20
|
+
$slots: S;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { VNode, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
readonly maskPadding?: number;
|
|
4
|
+
readonly root?: string | HTMLElement | (() => HTMLElement | null);
|
|
5
|
+
};
|
|
6
|
+
type __VLS_Slots = {
|
|
7
|
+
default(): VNode[];
|
|
8
|
+
};
|
|
9
|
+
type __VLS_ModelProps = {
|
|
10
|
+
'active': boolean;
|
|
11
|
+
'step'?: number;
|
|
12
|
+
};
|
|
13
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
14
|
+
declare const __VLS_base: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
15
|
+
next: (args_0: number) => any;
|
|
16
|
+
finish: () => any;
|
|
17
|
+
skip: () => any;
|
|
18
|
+
prev: (args_0: number) => any;
|
|
19
|
+
"update:active": (value: boolean) => any;
|
|
20
|
+
"update:step": (value: number) => any;
|
|
21
|
+
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
22
|
+
onNext?: (args_0: number) => any;
|
|
23
|
+
onFinish?: () => any;
|
|
24
|
+
onSkip?: () => any;
|
|
25
|
+
onPrev?: (args_0: number) => any;
|
|
26
|
+
"onUpdate:active"?: (value: boolean) => any;
|
|
27
|
+
"onUpdate:step"?: (value: number) => any;
|
|
28
|
+
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
29
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
30
|
+
export default _default;
|
|
31
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
32
|
+
new (): {
|
|
33
|
+
$slots: S;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { VNode, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
2
|
+
type FluxTourPosition = 'top' | 'top-left' | 'top-right' | 'left' | 'left-top' | 'left-bottom' | 'right' | 'right-top' | 'right-bottom' | 'bottom' | 'bottom-left' | 'bottom-right';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
readonly target: string | (() => HTMLElement | null);
|
|
5
|
+
readonly title?: string;
|
|
6
|
+
readonly position?: FluxTourPosition;
|
|
7
|
+
};
|
|
8
|
+
type __VLS_Slots = {
|
|
9
|
+
default(): VNode[];
|
|
10
|
+
};
|
|
11
|
+
declare const __VLS_base: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
12
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
13
|
+
export default _default;
|
|
14
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
15
|
+
new (): {
|
|
16
|
+
$slots: S;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { VNode, PublicProps } from 'vue';
|
|
2
|
+
declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
3
|
+
props: PublicProps & __VLS_PrettifyLocal<{
|
|
4
|
+
readonly estimatedItemHeight?: number;
|
|
5
|
+
readonly items: T[];
|
|
6
|
+
readonly overscan?: number;
|
|
7
|
+
}> & (typeof globalThis extends {
|
|
8
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
9
|
+
} ? P : {});
|
|
10
|
+
expose: (exposed: {}) => void;
|
|
11
|
+
attrs: any;
|
|
12
|
+
slots: {
|
|
13
|
+
default(props: {
|
|
14
|
+
readonly index: number;
|
|
15
|
+
readonly item: T;
|
|
16
|
+
}): VNode[];
|
|
17
|
+
};
|
|
18
|
+
emit: {};
|
|
19
|
+
}>) => VNode & {
|
|
20
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
21
|
+
};
|
|
22
|
+
export default _default;
|
|
23
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
24
|
+
[K in keyof T]: T[K];
|
|
25
|
+
} : {
|
|
26
|
+
[K in keyof T as K]: T[K];
|
|
27
|
+
}) & {};
|
|
@@ -7,6 +7,7 @@ export { default as FluxAdaptiveSlot } from './FluxAdaptiveSlot.vue';
|
|
|
7
7
|
export { default as FluxAnimatedColors } from './FluxAnimatedColors.vue';
|
|
8
8
|
export { default as FluxAspectRatio } from './FluxAspectRatio.vue';
|
|
9
9
|
export { default as FluxAvatar } from './FluxAvatar.vue';
|
|
10
|
+
export { default as FluxAvatarGroup } from './FluxAvatarGroup.vue';
|
|
10
11
|
export { default as FluxBadge } from './FluxBadge.vue';
|
|
11
12
|
export { default as FluxBadgeStack } from './FluxBadgeStack.vue';
|
|
12
13
|
export { default as FluxBorderBeam } from './FluxBorderBeam.vue';
|
|
@@ -28,8 +29,11 @@ export { default as FluxComment } from './FluxComment.vue';
|
|
|
28
29
|
export { default as FluxColorPicker } from './FluxColorPicker.vue';
|
|
29
30
|
export { default as FluxColorSelect } from './FluxColorSelect.vue';
|
|
30
31
|
export { default as FluxContainer } from './FluxContainer.vue';
|
|
32
|
+
export { default as FluxContextMenu } from './FluxContextMenu.vue';
|
|
31
33
|
export { default as FluxDataTable } from './FluxDataTable.vue';
|
|
32
34
|
export { default as FluxDatePicker } from './FluxDatePicker.vue';
|
|
35
|
+
export { default as FluxDescriptionItem } from './FluxDescriptionItem.vue';
|
|
36
|
+
export { default as FluxDescriptionList } from './FluxDescriptionList.vue';
|
|
33
37
|
export { default as FluxDestructiveButton } from './FluxDestructiveButton.vue';
|
|
34
38
|
export { default as FluxDisabled } from './FluxDisabled.vue';
|
|
35
39
|
export { default as FluxDivider } from './FluxDivider.vue';
|
|
@@ -59,6 +63,7 @@ export { default as FluxForm } from './FluxForm.vue';
|
|
|
59
63
|
export { default as FluxFormCheckbox } from './FluxFormCheckbox.vue';
|
|
60
64
|
export { default as FluxFormCheckboxGroup } from './FluxFormCheckboxGroup.vue';
|
|
61
65
|
export { default as FluxFormColumn } from './FluxFormColumn.vue';
|
|
66
|
+
export { default as FluxFormCombobox } from './FluxFormCombobox.vue';
|
|
62
67
|
export { default as FluxFormDateInput } from './FluxFormDateInput.vue';
|
|
63
68
|
export { default as FluxFormDateRangeInput } from './FluxFormDateRangeInput.vue';
|
|
64
69
|
export { default as FluxFormDateTimeInput } from './FluxFormDateTimeInput.vue';
|
|
@@ -73,11 +78,13 @@ export { default as FluxFormPinInput } from './FluxFormPinInput.vue';
|
|
|
73
78
|
export { default as FluxFormRadio } from './FluxFormRadio.vue';
|
|
74
79
|
export { default as FluxFormRadioGroup } from './FluxFormRadioGroup.vue';
|
|
75
80
|
export { default as FluxFormRangeSlider } from './FluxFormRangeSlider.vue';
|
|
81
|
+
export { default as FluxFormRating } from './FluxFormRating.vue';
|
|
76
82
|
export { default as FluxFormRow } from './FluxFormRow.vue';
|
|
77
83
|
export { default as FluxFormSection } from './FluxFormSection.vue';
|
|
78
84
|
export { default as FluxFormSelect } from './FluxFormSelect.vue';
|
|
79
85
|
export { default as FluxFormSelectAsync } from './FluxFormSelectAsync.vue';
|
|
80
86
|
export { default as FluxFormSlider } from './FluxFormSlider.vue';
|
|
87
|
+
export { default as FluxFormTagsInput } from './FluxFormTagsInput.vue';
|
|
81
88
|
export { default as FluxFormTextArea } from './FluxFormTextArea.vue';
|
|
82
89
|
export { default as FluxFormTimeZonePicker } from './FluxFormTimeZonePicker.vue';
|
|
83
90
|
export { default as FluxFormTreeViewSelect } from './FluxFormTreeViewSelect.vue';
|
|
@@ -88,6 +95,7 @@ export { default as FluxGridColumn } from './FluxGridColumn.vue';
|
|
|
88
95
|
export { default as FluxGridPattern } from './FluxGridPattern.vue';
|
|
89
96
|
export { default as FluxIcon } from './FluxIcon.vue';
|
|
90
97
|
export { default as FluxInfo } from './FluxInfo.vue';
|
|
98
|
+
export { default as FluxInlineEdit } from './FluxInlineEdit.vue';
|
|
91
99
|
export { default as FluxKanban } from './FluxKanban.vue';
|
|
92
100
|
export { default as FluxKanbanColumn } from './FluxKanbanColumn.vue';
|
|
93
101
|
export { default as FluxKanbanItem } from './FluxKanbanItem.vue';
|
|
@@ -102,6 +110,7 @@ export { default as FluxLayerPaneSecondary } from './FluxLayerPaneSecondary.vue'
|
|
|
102
110
|
export { default as FluxLink } from './FluxLink.vue';
|
|
103
111
|
export { default as FluxMenu } from './FluxMenu.vue';
|
|
104
112
|
export { default as FluxMenuCollapsible } from './FluxMenuCollapsible.vue';
|
|
113
|
+
export { default as FluxMenuFlyout } from './FluxMenuFlyout.vue';
|
|
105
114
|
export { default as FluxMenuGroup } from './FluxMenuGroup.vue';
|
|
106
115
|
export { default as FluxMenuItem } from './FluxMenuItem.vue';
|
|
107
116
|
export { default as FluxMenuOptions } from './FluxMenuOptions.vue';
|
|
@@ -171,5 +180,8 @@ export { default as FluxToolbar } from './FluxToolbar.vue';
|
|
|
171
180
|
export { default as FluxToolbarGroup } from './FluxToolbarGroup.vue';
|
|
172
181
|
export { default as FluxTooltip } from './FluxTooltip.vue';
|
|
173
182
|
export { default as FluxTooltipProvider } from './FluxTooltipProvider.vue';
|
|
183
|
+
export { default as FluxTour } from './FluxTour.vue';
|
|
184
|
+
export { default as FluxTourItem } from './FluxTourItem.vue';
|
|
174
185
|
export { default as FluxTreeView } from './FluxTreeView.vue';
|
|
186
|
+
export { default as FluxVirtualScroller } from './FluxVirtualScroller.vue';
|
|
175
187
|
export { default as FluxWindow } from './FluxWindow.vue';
|
|
@@ -2,6 +2,7 @@ import { FluxDirection } from '@flux-ui/types';
|
|
|
2
2
|
import { ComponentPublicInstance, VNode, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
3
|
type __VLS_Props = {
|
|
4
4
|
readonly anchor?: ComponentPublicInstance | HTMLElement | null;
|
|
5
|
+
readonly clampToViewport?: boolean;
|
|
5
6
|
readonly direction?: FluxDirection;
|
|
6
7
|
readonly margin?: number;
|
|
7
8
|
readonly position?: 'top' | 'top-left' | 'top-right' | 'left' | 'left-top' | 'left-bottom' | 'right' | 'right-top' | 'right-bottom' | 'bottom' | 'bottom-left' | 'bottom-right';
|
|
@@ -10,7 +11,12 @@ type __VLS_Props = {
|
|
|
10
11
|
type __VLS_Slots = {
|
|
11
12
|
default(): VNode[];
|
|
12
13
|
};
|
|
13
|
-
declare
|
|
14
|
+
declare function reposition(): void;
|
|
15
|
+
declare function resize(): void;
|
|
16
|
+
declare const __VLS_base: DefineComponent<__VLS_Props, {
|
|
17
|
+
reposition: typeof reposition;
|
|
18
|
+
resize: typeof resize;
|
|
19
|
+
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
|
|
14
20
|
declare const _default: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
15
21
|
export default _default;
|
|
16
22
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -2,6 +2,7 @@ import { FluxFormSelectOption, FluxFormSelectOptions } from '@flux-ui/types';
|
|
|
2
2
|
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
3
|
type __VLS_Props = {
|
|
4
4
|
readonly disabled?: boolean;
|
|
5
|
+
readonly isCreatable?: boolean;
|
|
5
6
|
readonly isLoading?: boolean;
|
|
6
7
|
readonly isMultiple?: boolean;
|
|
7
8
|
readonly isSearchable?: boolean;
|
|
@@ -21,6 +22,7 @@ declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, Compo
|
|
|
21
22
|
"update:searchQuery": (value: string) => any;
|
|
22
23
|
keyDown: (args_0: KeyboardEvent) => any;
|
|
23
24
|
deselect: (args_0: string | number) => any;
|
|
25
|
+
create: (args_0: string) => any;
|
|
24
26
|
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
25
27
|
onClose?: () => any;
|
|
26
28
|
onSearch?: (args_0: string) => any;
|
|
@@ -29,5 +31,6 @@ declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, Compo
|
|
|
29
31
|
"onUpdate:searchQuery"?: (value: string) => any;
|
|
30
32
|
onKeyDown?: (args_0: KeyboardEvent) => any;
|
|
31
33
|
onDeselect?: (args_0: string | number) => any;
|
|
34
|
+
onCreate?: (args_0: string) => any;
|
|
32
35
|
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
33
36
|
export default _default;
|
|
@@ -4,6 +4,7 @@ export { default as useDateFlyout } from './useDateFlyout';
|
|
|
4
4
|
export { default as useDropdownPopup, type UseDropdownPopupOptions, type UseDropdownPopupReturn } from './useDropdownPopup';
|
|
5
5
|
export { default as useFormSelect } from './useFormSelect';
|
|
6
6
|
export { useKanban } from './useKanban';
|
|
7
|
+
export { default as useMenuFlyout, useMenuFlyoutContext, useMenuFlyoutProvider, type UseMenuFlyoutOptions, type UseMenuFlyoutProviderOptions, type UseMenuFlyoutReturn } from './useMenuFlyout';
|
|
7
8
|
export { useSplitView, type SplitViewPane, type UseSplitViewOptions, type UseSplitViewReturn } from './useSplitView';
|
|
8
9
|
export { default as useTranslate } from './useTranslate';
|
|
9
10
|
export { useCommandPalette, type CommandPaletteGroup, type CommandPaletteResultItem } from './useCommandPalette';
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ComponentPublicInstance, Ref } from 'vue';
|
|
2
|
+
import { FluxMenuFlyoutCone, FluxMenuFlyoutInjection } from '../../data';
|
|
3
|
+
export type UseMenuFlyoutProviderOptions = {
|
|
4
|
+
readonly debugCone: Ref<boolean>;
|
|
5
|
+
readonly onCloseAll?: () => void;
|
|
6
|
+
};
|
|
7
|
+
export type UseMenuFlyoutOptions = {
|
|
8
|
+
readonly triggerRef: Ref<ComponentPublicInstance | HTMLElement | null>;
|
|
9
|
+
readonly popupRef: Ref<ComponentPublicInstance | HTMLElement | null>;
|
|
10
|
+
readonly disabled?: Ref<boolean>;
|
|
11
|
+
};
|
|
12
|
+
export type UseMenuFlyoutReturn = {
|
|
13
|
+
readonly context: FluxMenuFlyoutInjection | null;
|
|
14
|
+
readonly cone: Ref<FluxMenuFlyoutCone | null>;
|
|
15
|
+
readonly isOpen: Ref<boolean>;
|
|
16
|
+
closeAll(): void;
|
|
17
|
+
focusTrigger(): void;
|
|
18
|
+
onPopupKeydown(evt: KeyboardEvent): void;
|
|
19
|
+
onTriggerClick(evt: MouseEvent): void;
|
|
20
|
+
onTriggerKeydown(evt: KeyboardEvent): void;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Creates and provides the shared menu-flyout context for an entire open menu tree. Used by the
|
|
24
|
+
* outermost menu surface (FluxContextMenu, or a standalone root FluxMenu). Tracks the pointer, the
|
|
25
|
+
* active prediction cone, the keyboard-trap stack and the set of teleported flyout popups so that
|
|
26
|
+
* click-outside and close-all can reason about the whole tree.
|
|
27
|
+
*/
|
|
28
|
+
export declare function useMenuFlyoutProvider(options: UseMenuFlyoutProviderOptions): FluxMenuFlyoutInjection;
|
|
29
|
+
/**
|
|
30
|
+
* Returns the shared menu-flyout context, creating (and providing) a new root context when none
|
|
31
|
+
* exists higher up the tree. Used by FluxMenu so that a standalone menu becomes the root while a
|
|
32
|
+
* menu nested inside a FluxContextMenu or another flyout inherits the existing context.
|
|
33
|
+
*/
|
|
34
|
+
export declare function useMenuFlyoutContext(options: UseMenuFlyoutProviderOptions): FluxMenuFlyoutInjection;
|
|
35
|
+
/**
|
|
36
|
+
* Per-flyout open/close and prediction-cone behaviour for FluxMenuFlyout. Submenus open instantly
|
|
37
|
+
* on hover and close instantly once the pointer is neither over the trigger/popup (or an open
|
|
38
|
+
* descendant) nor aiming at the submenu through the prediction cone (the safe triangle). There are
|
|
39
|
+
* no open/close delays — the cone is the only thing that keeps a submenu open during a diagonal
|
|
40
|
+
* move, which is also why the debug cone only shows while it actually applies.
|
|
41
|
+
*/
|
|
42
|
+
export default function useMenuFlyout(options: UseMenuFlyoutOptions): UseMenuFlyoutReturn;
|
package/dist/data/di.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export declare const FluxFilterInjectionKey: InjectionKey<FluxFilterInjection>;
|
|
|
11
11
|
export declare const FluxFormCheckboxGroupInjectionKey: InjectionKey<FluxFormCheckboxGroupInjection>;
|
|
12
12
|
export declare const FluxFormFieldInjectionKey: InjectionKey<FluxFormFieldInjection>;
|
|
13
13
|
export declare const FluxFormRadioGroupInjectionKey: InjectionKey<FluxFormRadioGroupInjection>;
|
|
14
|
+
export declare const FluxMenuFlyoutInjectionKey: InjectionKey<FluxMenuFlyoutInjection>;
|
|
14
15
|
export declare const FluxSegmentedControlInjectionKey: InjectionKey<FluxSegmentedControlInjection>;
|
|
15
16
|
export declare const FluxSplitViewInjectionKey: InjectionKey<FluxSplitViewInjection>;
|
|
16
17
|
export declare const FluxTabBarInjectionKey: InjectionKey<FluxTabBarInjection>;
|
|
@@ -128,6 +129,40 @@ export type FluxFlyoutInjection = {
|
|
|
128
129
|
readonly isOpen: Ref<boolean>;
|
|
129
130
|
readonly isOpening: Ref<boolean>;
|
|
130
131
|
};
|
|
132
|
+
export type FluxMenuFlyoutPointer = {
|
|
133
|
+
readonly x: number;
|
|
134
|
+
readonly y: number;
|
|
135
|
+
readonly px: number;
|
|
136
|
+
readonly py: number;
|
|
137
|
+
};
|
|
138
|
+
export type FluxMenuFlyoutCone = {
|
|
139
|
+
readonly id: number;
|
|
140
|
+
readonly ax: number;
|
|
141
|
+
readonly ay: number;
|
|
142
|
+
readonly bx: number;
|
|
143
|
+
readonly by: number;
|
|
144
|
+
readonly cx: number;
|
|
145
|
+
readonly cy: number;
|
|
146
|
+
};
|
|
147
|
+
export type FluxMenuFlyoutEntry = {
|
|
148
|
+
getTrigger(): HTMLElement | null;
|
|
149
|
+
getPopup(): HTMLElement | null;
|
|
150
|
+
readonly isOpen: Ref<boolean>;
|
|
151
|
+
close(): void;
|
|
152
|
+
};
|
|
153
|
+
export type FluxMenuFlyoutInjection = {
|
|
154
|
+
readonly debugCone: Ref<boolean>;
|
|
155
|
+
readonly pointer: Readonly<Ref<FluxMenuFlyoutPointer>>;
|
|
156
|
+
readonly activeCone: Ref<FluxMenuFlyoutCone | null>;
|
|
157
|
+
readonly keyboardStack: Ref<number[]>;
|
|
158
|
+
register(entry: FluxMenuFlyoutEntry): void;
|
|
159
|
+
unregister(entry: FluxMenuFlyoutEntry): void;
|
|
160
|
+
closeOthers(self: FluxMenuFlyoutEntry): void;
|
|
161
|
+
hasOpenDescendant(self: FluxMenuFlyoutEntry): boolean;
|
|
162
|
+
isAimingAtOpenSubmenu(): boolean;
|
|
163
|
+
isInsidePopups(target: Node | null): boolean;
|
|
164
|
+
closeAll(): void;
|
|
165
|
+
};
|
|
131
166
|
export type FluxFormFieldInjection = {
|
|
132
167
|
readonly id?: string;
|
|
133
168
|
readonly labelId?: string;
|