hys-ui 0.3.0 → 0.4.0
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/CHANGELOG.md +21 -0
- package/README.md +68 -73
- package/dist/components/HysAnimatedNumber/HysAnimatedNumber.vue.js +5 -41
- package/dist/components/HysAnimatedNumber/HysAnimatedNumber2.vue.js +146 -2
- package/dist/components/HysButton/HysButton.vue.js +2 -2
- package/dist/components/HysButton/HysButton2.vue.js +227 -60
- package/dist/components/HysButtonGroup/HysButtonGroup.vue.js +7 -0
- package/dist/components/HysButtonGroup/HysButtonGroup2.vue.js +51 -0
- package/dist/components/HysMention/HysMention.vue.js +1 -1
- package/dist/components/HysMention/HysMention2.vue.js +1092 -154
- package/dist/components/HysModal/HysModal.vue.js +3 -3
- package/dist/components/HysModal/HysModal2.vue.js +81 -80
- package/dist/components/HysPagination/HysPagination.vue.js +2 -2
- package/dist/components/HysPagination/HysPagination2.vue.js +243 -180
- package/dist/components/HysSearch/HysSearch.vue.js +5 -82
- package/dist/components/HysSearch/HysSearch2.vue.js +176 -2
- package/dist/components/HysSelect/HysSelect.vue.js +2 -2
- package/dist/components/HysSelect/HysSelect2.vue.js +472 -443
- package/dist/components/HysSplitPane/HysSplitPane.vue.js +315 -58
- package/dist/components/HysSplitPane/HysSplitPane3.vue.js +5 -0
- package/dist/components/HysTable/HysTable.vue.js +2 -2
- package/dist/components/HysTable/HysTable2.vue.js +1418 -1150
- package/dist/components/HysTour/HysTour.vue.js +291 -67
- package/dist/components/HysTour/HysTour3.vue.js +5 -0
- package/dist/composables/buttonGroup.js +12 -0
- package/dist/composables/floatingPosition.js +18 -0
- package/dist/composables/mentionDocument.js +79 -0
- package/dist/composables/mentionEditor.js +58 -0
- package/dist/composables/selectOptions.js +44 -38
- package/dist/composables/splitPaneSizes.js +58 -0
- package/dist/composables/table.js +128 -105
- package/dist/composables/useDialog.js +50 -50
- package/dist/composables/useFloating.js +107 -103
- package/dist/composables/useMentionCaret.js +81 -0
- package/dist/composables/useMentionList.js +81 -0
- package/dist/composables/useMentionModel.js +90 -0
- package/dist/composables/useMentionOptions.js +421 -0
- package/dist/composables/useSplitPaneDrag.js +52 -0
- package/dist/composables/useSplitPaneStorage.js +38 -0
- package/dist/composables/useTable.js +344 -312
- package/dist/composables/useTableSticky.js +79 -0
- package/dist/composables/useTourLayout.js +129 -0
- package/dist/config.js +11 -11
- package/dist/index.js +175 -156
- package/dist/internal/MultiSplitPane.vue.js +305 -0
- package/dist/internal/MultiSplitPane2.vue.js +4 -0
- package/dist/style.css +1 -1
- package/dist/types/components/HysAnimatedNumber/HysAnimatedNumber.vue.d.ts +61 -7
- package/dist/types/components/HysAutocomplete/HysAutocomplete.vue.d.ts +1 -1
- package/dist/types/components/HysButton/HysButton.vue.d.ts +82 -22
- package/dist/types/components/HysButtonGroup/HysButtonGroup.vue.d.ts +30 -0
- package/dist/types/components/HysCascader/HysCascaderColumn.vue.d.ts +2 -2
- package/dist/types/components/HysColorPicker/HysColorPicker.vue.d.ts +2 -2
- package/dist/types/components/HysContextMenu/HysMenuPanel.vue.d.ts +2 -2
- package/dist/types/components/HysDatePicker/HysDatePickerControl.vue.d.ts +2 -2
- package/dist/types/components/HysDrawer/HysDrawer.vue.d.ts +1 -1
- package/dist/types/components/HysMention/HysMention.vue.d.ts +91 -40
- package/dist/types/components/HysModal/HysModal.vue.d.ts +1 -1
- package/dist/types/components/HysNumberInput/HysNumberInput.vue.d.ts +2 -2
- package/dist/types/components/HysPagination/HysPagination.vue.d.ts +55 -4
- package/dist/types/components/HysRating/HysRating.vue.d.ts +1 -1
- package/dist/types/components/HysSearch/HysSearch.vue.d.ts +45 -7
- package/dist/types/components/HysSelect/HysSelect.vue.d.ts +6 -1
- package/dist/types/components/HysSplitPane/HysSplitPane.vue.d.ts +125 -14
- package/dist/types/components/HysSteps/HysSteps.vue.d.ts +1 -1
- package/dist/types/components/HysTable/HysTable.vue.d.ts +1740 -3
- package/dist/types/components/HysTour/HysTour.vue.d.ts +46 -9
- package/dist/types/composables/buttonGroup.d.ts +9 -0
- package/dist/types/composables/floatingPosition.d.ts +14 -0
- package/dist/types/composables/mention.d.ts +284 -0
- package/dist/types/composables/mentionDocument.d.ts +15 -0
- package/dist/types/composables/mentionEditor.d.ts +7 -0
- package/dist/types/composables/modal.d.ts +2 -0
- package/dist/types/composables/selectOptions.d.ts +5 -0
- package/dist/types/composables/splitPaneSizes.d.ts +11 -0
- package/dist/types/composables/table.d.ts +116 -6
- package/dist/types/composables/tour.d.ts +68 -0
- package/dist/types/composables/useFloating.d.ts +1 -1
- package/dist/types/composables/useMentionCaret.d.ts +6 -0
- package/dist/types/composables/useMentionList.d.ts +23 -0
- package/dist/types/composables/useMentionModel.d.ts +14 -0
- package/dist/types/composables/useMentionOptions.d.ts +26 -0
- package/dist/types/composables/useSplitPaneDrag.d.ts +14 -0
- package/dist/types/composables/useSplitPaneStorage.d.ts +4 -0
- package/dist/types/composables/useTable.d.ts +7 -3
- package/dist/types/composables/useTableSticky.d.ts +22 -0
- package/dist/types/composables/useTourLayout.d.ts +33 -0
- package/dist/types/config.d.ts +1 -0
- package/dist/types/index.d.ts +36 -1
- package/dist/types/internal/MultiSplitPane.vue.d.ts +54 -0
- package/package.json +3 -2
- package/dist/components/HysSplitPane/HysSplitPane2.vue.js +0 -4
- package/dist/components/HysTour/HysTour2.vue.js +0 -4
|
@@ -1,11 +1,65 @@
|
|
|
1
|
-
type
|
|
2
|
-
|
|
1
|
+
import type { StyleValue, VNodeChild } from "vue";
|
|
2
|
+
export interface HysAnimatedNumberContext {
|
|
3
|
+
value: number | string;
|
|
4
|
+
displayValue: string;
|
|
5
|
+
remaining?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface HysAnimatedNumberProps {
|
|
8
|
+
value?: number | string;
|
|
3
9
|
duration?: number;
|
|
4
10
|
decimals?: number;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
11
|
+
precision?: number;
|
|
12
|
+
groupSeparator?: string;
|
|
13
|
+
decimalSeparator?: string;
|
|
14
|
+
title?: string;
|
|
15
|
+
prefix?: string;
|
|
16
|
+
suffix?: string;
|
|
17
|
+
valueStyle?: StyleValue;
|
|
18
|
+
formatter?: (context: HysAnimatedNumberContext) => VNodeChild;
|
|
19
|
+
/** 倒计时截止时间,可传 Unix 毫秒时间戳或 Date。 */
|
|
20
|
+
deadline?: number | Date;
|
|
21
|
+
/** 支持 D、HH、mm、ss、SSS 等标记,用方括号包裹字面文本。 */
|
|
22
|
+
format?: string;
|
|
23
|
+
}
|
|
10
24
|
declare const _default: typeof __VLS_export;
|
|
11
25
|
export default _default;
|
|
26
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<HysAnimatedNumberProps, {
|
|
27
|
+
displayValue: import("vue").ComputedRef<string>;
|
|
28
|
+
remaining: import("vue").Ref<number, number>;
|
|
29
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
30
|
+
change: (remaining: number) => any;
|
|
31
|
+
finish: () => any;
|
|
32
|
+
}, string, import("vue").PublicProps, Readonly<HysAnimatedNumberProps> & Readonly<{
|
|
33
|
+
onChange?: ((remaining: number) => any) | undefined;
|
|
34
|
+
onFinish?: (() => any) | undefined;
|
|
35
|
+
}>, {
|
|
36
|
+
value: string | number;
|
|
37
|
+
format: string;
|
|
38
|
+
duration: number;
|
|
39
|
+
decimalSeparator: string;
|
|
40
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
41
|
+
title?: (props: {}) => any;
|
|
42
|
+
} & {
|
|
43
|
+
prefix?: (props: {
|
|
44
|
+
value: number | string;
|
|
45
|
+
displayValue: string;
|
|
46
|
+
remaining?: number;
|
|
47
|
+
}) => any;
|
|
48
|
+
} & {
|
|
49
|
+
formatter?: (props: {
|
|
50
|
+
value: number | string;
|
|
51
|
+
displayValue: string;
|
|
52
|
+
remaining?: number;
|
|
53
|
+
}) => any;
|
|
54
|
+
} & {
|
|
55
|
+
suffix?: (props: {
|
|
56
|
+
value: number | string;
|
|
57
|
+
displayValue: string;
|
|
58
|
+
remaining?: number;
|
|
59
|
+
}) => any;
|
|
60
|
+
}>;
|
|
61
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
62
|
+
new (): {
|
|
63
|
+
$slots: S;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
@@ -35,6 +35,7 @@ declare const __VLS_template: () => {
|
|
|
35
35
|
"aria-busy": true | undefined;
|
|
36
36
|
type?: string;
|
|
37
37
|
autofocus?: boolean;
|
|
38
|
+
formatter?: (value: string, info: import("../..").HysInputFormatInfo) => string;
|
|
38
39
|
resize?: "none" | "both" | "horizontal" | "vertical";
|
|
39
40
|
showPassword?: boolean;
|
|
40
41
|
showPasswordOn?: "click" | "mousedown";
|
|
@@ -51,7 +52,6 @@ declare const __VLS_template: () => {
|
|
|
51
52
|
countGraphemes?: import("../..").HysInputCountStrategy;
|
|
52
53
|
maxlength?: number | string;
|
|
53
54
|
minlength?: number | string;
|
|
54
|
-
formatter?: (value: string, info: import("../..").HysInputFormatInfo) => string;
|
|
55
55
|
parser?: (value: string) => string | number;
|
|
56
56
|
allowInput?: (value: string) => boolean;
|
|
57
57
|
rows?: number;
|
|
@@ -1,19 +1,70 @@
|
|
|
1
|
-
import { type Component } from 'vue';
|
|
2
|
-
export type
|
|
1
|
+
import { type Component, type VNode } from 'vue';
|
|
2
|
+
export type HysButtonPaletteColor = 'slate' | 'blue' | 'indigo' | 'purple' | 'cyan' | 'teal' | 'green' | 'lime' | 'amber' | 'orange' | 'red' | 'pink';
|
|
3
|
+
export type HysButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger' | 'success' | 'warning' | 'info' | 'text' | 'link' | HysButtonPaletteColor;
|
|
4
|
+
export type HysButtonAppearance = HysButtonVariant | 'default' | '';
|
|
5
|
+
export type HysButtonSize = 'sm' | 'md' | 'lg' | 'small' | 'default' | 'large' | '';
|
|
6
|
+
export interface HysButtonActionContext {
|
|
7
|
+
signal: AbortSignal;
|
|
8
|
+
event: MouseEvent;
|
|
9
|
+
pressed: boolean;
|
|
10
|
+
}
|
|
11
|
+
export type HysButtonAction = (context: HysButtonActionContext) => unknown;
|
|
12
|
+
export type HysButtonActionGuard = (context: HysButtonActionContext) => boolean | void | Promise<boolean | void>;
|
|
13
|
+
export interface HysButtonInstance {
|
|
14
|
+
readonly element?: HTMLElement;
|
|
15
|
+
readonly ref?: HTMLElement;
|
|
16
|
+
readonly busy: boolean;
|
|
17
|
+
readonly disabled: boolean;
|
|
18
|
+
readonly size: 'sm' | 'md' | 'lg';
|
|
19
|
+
readonly type: HysButtonVariant;
|
|
20
|
+
readonly shouldAddSpace: boolean;
|
|
21
|
+
focus: () => void;
|
|
22
|
+
blur: () => void;
|
|
23
|
+
cancelAction: () => void;
|
|
24
|
+
}
|
|
3
25
|
export interface HysButtonProps {
|
|
26
|
+
/** 语义外观或内置配色,例如 teal、indigo 和 amber。 */
|
|
4
27
|
variant?: HysButtonVariant;
|
|
5
|
-
size?:
|
|
28
|
+
size?: HysButtonSize;
|
|
6
29
|
disabled?: boolean;
|
|
7
|
-
|
|
30
|
+
/** 延迟显示加载图标时,按钮仍会立即阻止重复操作。 */
|
|
31
|
+
loading?: boolean | {
|
|
32
|
+
delay: number;
|
|
33
|
+
};
|
|
34
|
+
loadingIcon?: string | Component;
|
|
35
|
+
loadingText?: string;
|
|
36
|
+
/** 执行期间锁定按钮并接管默认点击行为,组件停用或销毁时取消。 */
|
|
37
|
+
action?: HysButtonAction;
|
|
38
|
+
/** 返回 false 时取消操作,支持异步检查。 */
|
|
39
|
+
beforeAction?: HysButtonActionGuard;
|
|
40
|
+
actionLoadingDelay?: number;
|
|
41
|
+
toggle?: boolean;
|
|
42
|
+
/** 受控按下状态,配合 v-model:pressed 使用。 */
|
|
43
|
+
pressed?: boolean;
|
|
44
|
+
defaultPressed?: boolean;
|
|
8
45
|
plain?: boolean;
|
|
9
46
|
round?: boolean;
|
|
10
47
|
circle?: boolean;
|
|
48
|
+
shape?: 'default' | 'round' | 'circle';
|
|
11
49
|
block?: boolean;
|
|
12
50
|
dashed?: boolean;
|
|
13
51
|
color?: string;
|
|
14
|
-
|
|
52
|
+
/** 使用深色背景下的配色计算。默认跟随当前主题。 */
|
|
53
|
+
dark?: boolean;
|
|
54
|
+
danger?: boolean;
|
|
55
|
+
ghost?: boolean;
|
|
56
|
+
text?: boolean;
|
|
57
|
+
link?: boolean;
|
|
58
|
+
/** 为文字按钮显示背景。 */
|
|
59
|
+
bg?: boolean;
|
|
60
|
+
/** 文案恰好是两个汉字时显示字间距。 */
|
|
61
|
+
autoInsertSpace?: boolean;
|
|
62
|
+
/** 自定义根标签或组件,href 默认使用原生链接。 */
|
|
63
|
+
tag?: string | Component;
|
|
64
|
+
icon?: string | Component;
|
|
15
65
|
iconPosition?: 'left' | 'right';
|
|
16
|
-
|
|
66
|
+
/** 外观类型,也兼容原有 button、submit、reset 原生类型。 */
|
|
67
|
+
type?: HysButtonAppearance | 'button' | 'submit' | 'reset';
|
|
17
68
|
nativeType?: 'button' | 'submit' | 'reset';
|
|
18
69
|
href?: string;
|
|
19
70
|
target?: string;
|
|
@@ -22,32 +73,41 @@ export interface HysButtonProps {
|
|
|
22
73
|
focusable?: boolean;
|
|
23
74
|
ariaLabel?: string;
|
|
24
75
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
} & {
|
|
31
|
-
default?: (props: {}) => any;
|
|
32
|
-
} & {
|
|
33
|
-
icon?: (props: {}) => any;
|
|
34
|
-
} & {
|
|
35
|
-
suffix?: (props: {}) => any;
|
|
36
|
-
};
|
|
76
|
+
type __VLS_Slots = {
|
|
77
|
+
default?: () => VNode[];
|
|
78
|
+
icon?: () => VNode[];
|
|
79
|
+
loading?: () => VNode[];
|
|
80
|
+
suffix?: () => VNode[];
|
|
37
81
|
};
|
|
38
|
-
|
|
82
|
+
declare function cancelAction(): void;
|
|
39
83
|
declare const __VLS_base: import("vue").DefineComponent<HysButtonProps, {
|
|
40
|
-
element: import("vue").
|
|
84
|
+
element: import("vue").ComputedRef<HTMLElement | undefined>;
|
|
85
|
+
ref: import("vue").ComputedRef<HTMLElement | undefined>;
|
|
86
|
+
busy: import("vue").ComputedRef<boolean>;
|
|
87
|
+
disabled: import("vue").ComputedRef<boolean>;
|
|
88
|
+
size: import("vue").ComputedRef<"sm" | "md" | "lg">;
|
|
89
|
+
type: import("vue").ComputedRef<HysButtonVariant>;
|
|
90
|
+
shouldAddSpace: import("vue").Ref<boolean, boolean>;
|
|
91
|
+
cancelAction: typeof cancelAction;
|
|
41
92
|
focus: () => void | undefined;
|
|
42
93
|
blur: () => void | undefined;
|
|
43
94
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
44
95
|
click: (event: MouseEvent) => any;
|
|
96
|
+
"update:pressed": (value: boolean) => any;
|
|
97
|
+
pressedChange: (value: boolean) => any;
|
|
98
|
+
actionSuccess: (result: unknown, context: HysButtonActionContext) => any;
|
|
99
|
+
actionError: (error: unknown, context: HysButtonActionContext) => any;
|
|
45
100
|
}, string, import("vue").PublicProps, Readonly<HysButtonProps> & Readonly<{
|
|
46
101
|
onClick?: ((event: MouseEvent) => any) | undefined;
|
|
102
|
+
"onUpdate:pressed"?: ((value: boolean) => any) | undefined;
|
|
103
|
+
onPressedChange?: ((value: boolean) => any) | undefined;
|
|
104
|
+
onActionSuccess?: ((result: unknown, context: HysButtonActionContext) => any) | undefined;
|
|
105
|
+
onActionError?: ((error: unknown, context: HysButtonActionContext) => any) | undefined;
|
|
47
106
|
}>, {
|
|
48
|
-
|
|
107
|
+
dark: boolean;
|
|
49
108
|
focusable: boolean;
|
|
50
|
-
|
|
109
|
+
pressed: boolean;
|
|
110
|
+
autoInsertSpace: boolean;
|
|
51
111
|
iconPosition: "left" | "right";
|
|
52
112
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
53
113
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type VNodeChild } from "vue";
|
|
2
|
+
import type { HysButtonAppearance, HysButtonSize, HysButtonVariant } from "../HysButton/HysButton.vue";
|
|
3
|
+
export interface HysButtonGroupProps {
|
|
4
|
+
variant?: HysButtonVariant;
|
|
5
|
+
size?: HysButtonSize;
|
|
6
|
+
type?: HysButtonAppearance;
|
|
7
|
+
direction?: "horizontal" | "vertical";
|
|
8
|
+
joined?: boolean;
|
|
9
|
+
gap?: number | string;
|
|
10
|
+
wrap?: boolean;
|
|
11
|
+
block?: boolean;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
ariaLabel?: string;
|
|
14
|
+
}
|
|
15
|
+
type __VLS_Slots = {
|
|
16
|
+
default?: () => VNodeChild;
|
|
17
|
+
};
|
|
18
|
+
declare const __VLS_base: import("vue").DefineComponent<HysButtonGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<HysButtonGroupProps> & Readonly<{}>, {
|
|
19
|
+
direction: "horizontal" | "vertical";
|
|
20
|
+
gap: string | number;
|
|
21
|
+
joined: boolean;
|
|
22
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
23
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
24
|
+
declare const _default: typeof __VLS_export;
|
|
25
|
+
export default _default;
|
|
26
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
27
|
+
new (): {
|
|
28
|
+
$slots: S;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
@@ -22,11 +22,11 @@ declare const __VLS_export: <N extends object>(__VLS_props: NonNullable<Awaited<
|
|
|
22
22
|
retryText: string;
|
|
23
23
|
expandLabel: (entry: CascaderEntry<N>) => string;
|
|
24
24
|
} & {
|
|
25
|
+
onKeyboard?: ((event: KeyboardEvent, entry: CascaderEntry<N>, level: number) => any) | undefined;
|
|
25
26
|
onScroll?: ((event: Event) => any) | undefined;
|
|
26
27
|
onRetry?: ((entry: CascaderEntry<N>) => any) | undefined;
|
|
27
28
|
onHover?: ((entry: CascaderEntry<N> | null) => any) | undefined;
|
|
28
29
|
onChoose?: ((entry: CascaderEntry<N>, event?: Event | undefined, checked?: boolean | undefined) => any) | undefined;
|
|
29
|
-
onKeyboard?: ((event: KeyboardEvent, entry: CascaderEntry<N>, level: number) => any) | undefined;
|
|
30
30
|
onExpand?: ((entry: CascaderEntry<N>) => any) | undefined;
|
|
31
31
|
}> & (typeof globalThis extends {
|
|
32
32
|
__VLS_PROPS_FALLBACK: infer P;
|
|
@@ -42,7 +42,7 @@ declare const __VLS_export: <N extends object>(__VLS_props: NonNullable<Awaited<
|
|
|
42
42
|
"expand-icon"?: (scope: HysCascaderOptionContext<N>) => any;
|
|
43
43
|
loading?: (scope: HysCascaderOptionContext<N>) => any;
|
|
44
44
|
};
|
|
45
|
-
emit: ((evt: "scroll", event: Event) => void) & ((evt: "retry", entry: CascaderEntry<N>) => void) & ((evt: "hover", entry: CascaderEntry<N> | null) => void) & ((evt: "choose", entry: CascaderEntry<N>, event?: Event | undefined, checked?: boolean | undefined) => void) & ((evt: "
|
|
45
|
+
emit: ((evt: "keyboard", event: KeyboardEvent, entry: CascaderEntry<N>, level: number) => void) & ((evt: "scroll", event: Event) => void) & ((evt: "retry", entry: CascaderEntry<N>) => void) & ((evt: "hover", entry: CascaderEntry<N> | null) => void) & ((evt: "choose", entry: CascaderEntry<N>, event?: Event | undefined, checked?: boolean | undefined) => void) & ((evt: "expand", entry: CascaderEntry<N>) => void);
|
|
46
46
|
}>) => import("vue").VNode & {
|
|
47
47
|
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
48
48
|
};
|
|
@@ -52,10 +52,10 @@ declare const __VLS_base: import("vue").DefineComponent<HysColorPickerProps, {
|
|
|
52
52
|
open: boolean;
|
|
53
53
|
popupWidth: string | number;
|
|
54
54
|
appendTo: string | false | HTMLElement;
|
|
55
|
-
showFooter: boolean;
|
|
56
|
-
validateEvent: boolean;
|
|
57
55
|
showInput: boolean;
|
|
58
56
|
showPresets: boolean;
|
|
57
|
+
showFooter: boolean;
|
|
58
|
+
validateEvent: boolean;
|
|
59
59
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
60
60
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
61
61
|
declare const _default: typeof __VLS_export;
|
|
@@ -16,11 +16,11 @@ declare const __VLS_export: <N extends object>(__VLS_props: NonNullable<Awaited<
|
|
|
16
16
|
context: (row: MenuRow<N>) => HysMenuItemContext<N>;
|
|
17
17
|
tabbable: (row: MenuRow<N>) => number;
|
|
18
18
|
} & {
|
|
19
|
+
onKeyboard?: ((event: KeyboardEvent) => any) | undefined;
|
|
19
20
|
onScroll?: (() => any) | undefined;
|
|
20
21
|
onChoose?: ((row: MenuRow<N>, event: MouseEvent) => any) | undefined;
|
|
21
22
|
onFocusRow?: ((row: MenuRow<N>) => any) | undefined;
|
|
22
23
|
onHoverRow?: ((row: MenuRow<N>) => any) | undefined;
|
|
23
|
-
onKeyboard?: ((event: KeyboardEvent) => any) | undefined;
|
|
24
24
|
onBack?: (() => any) | undefined;
|
|
25
25
|
}> & (typeof globalThis extends {
|
|
26
26
|
__VLS_PROPS_FALLBACK: infer P;
|
|
@@ -66,7 +66,7 @@ declare const __VLS_export: <N extends object>(__VLS_props: NonNullable<Awaited<
|
|
|
66
66
|
} & {
|
|
67
67
|
footer?: (props: {}) => any;
|
|
68
68
|
};
|
|
69
|
-
emit: ((evt: "
|
|
69
|
+
emit: ((evt: "keyboard", event: KeyboardEvent) => void) & ((evt: "scroll") => void) & ((evt: "choose", row: MenuRow<N>, event: MouseEvent) => void) & ((evt: "focusRow", row: MenuRow<N>) => void) & ((evt: "hoverRow", row: MenuRow<N>) => void) & ((evt: "back") => void);
|
|
70
70
|
}>) => import("vue").VNode & {
|
|
71
71
|
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
72
72
|
};
|
|
@@ -63,12 +63,12 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
|
|
|
63
63
|
clearable: boolean;
|
|
64
64
|
open: boolean;
|
|
65
65
|
appendTo: string | false | HTMLElement;
|
|
66
|
+
showFooter: boolean;
|
|
67
|
+
validateEvent: boolean;
|
|
66
68
|
showToday: boolean;
|
|
67
69
|
firstDayOfWeek: number;
|
|
68
70
|
locale: string;
|
|
69
71
|
showAdjacentDays: boolean;
|
|
70
|
-
showFooter: boolean;
|
|
71
|
-
validateEvent: boolean;
|
|
72
72
|
editable: boolean;
|
|
73
73
|
showNow: boolean;
|
|
74
74
|
showConfirm: boolean;
|
|
@@ -77,9 +77,9 @@ declare const __VLS_base: import("vue").DefineComponent<HysDrawerProps, {
|
|
|
77
77
|
open: boolean;
|
|
78
78
|
appendTo: string | false | HTMLElement;
|
|
79
79
|
loadingText: string;
|
|
80
|
+
cancelText: string;
|
|
80
81
|
fullscreen: boolean;
|
|
81
82
|
closeOnEscape: boolean;
|
|
82
|
-
cancelText: string;
|
|
83
83
|
closeOnMask: boolean;
|
|
84
84
|
showClose: boolean;
|
|
85
85
|
destroyOnClose: boolean;
|
|
@@ -1,50 +1,101 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
type
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import type { HysMentionContext, HysMentionDocument, HysMentionEntity, HysMentionInsertOptions, HysMentionOpenOptions, HysMentionOption, HysMentionProps, HysMentionSlots, HysMentionUser } from "../../composables/mention";
|
|
2
|
+
type __VLS_Slots = HysMentionSlots;
|
|
3
|
+
declare function dismiss(): void;
|
|
4
|
+
declare function openManually(options?: HysMentionOpenOptions): boolean;
|
|
5
|
+
declare function insertMention(option: HysMentionOption, options?: HysMentionInsertOptions): Promise<boolean>;
|
|
6
|
+
declare function removeMention(target: HysMentionEntity | string | number): Promise<boolean>;
|
|
7
|
+
declare function focusInput(): void;
|
|
8
|
+
declare function clear(): Promise<boolean>;
|
|
9
|
+
declare function setDocument(document: HysMentionDocument | string): Promise<boolean>;
|
|
10
|
+
declare const __VLS_base: import("vue").DefineComponent<HysMentionProps, {
|
|
11
|
+
input: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
12
|
+
dropdownVisible: import("vue").Ref<boolean, boolean>;
|
|
13
|
+
focus: typeof focusInput;
|
|
14
|
+
blur: () => void | undefined;
|
|
15
|
+
open: typeof openManually;
|
|
16
|
+
close: typeof dismiss;
|
|
17
|
+
update: () => void;
|
|
18
|
+
retry: () => void;
|
|
19
|
+
loadMore: () => Promise<boolean>;
|
|
20
|
+
insertMention: typeof insertMention;
|
|
21
|
+
removeMention: typeof removeMention;
|
|
22
|
+
getEntities: () => {
|
|
23
|
+
id: string | number;
|
|
24
|
+
value: string | number;
|
|
25
|
+
label: string;
|
|
26
|
+
type: string;
|
|
27
|
+
prefix: string;
|
|
28
|
+
text: string;
|
|
29
|
+
start: number;
|
|
30
|
+
end: number;
|
|
31
|
+
payload?: unknown;
|
|
7
32
|
}[];
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
type
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
user: {
|
|
22
|
-
id: string;
|
|
23
|
-
name: string;
|
|
24
|
-
disabled?: boolean;
|
|
25
|
-
};
|
|
26
|
-
}) => any;
|
|
33
|
+
getDocument: () => {
|
|
34
|
+
text: string;
|
|
35
|
+
entities: {
|
|
36
|
+
id: string | number;
|
|
37
|
+
value: string | number;
|
|
38
|
+
label: string;
|
|
39
|
+
type: string;
|
|
40
|
+
prefix: string;
|
|
41
|
+
text: string;
|
|
42
|
+
start: number;
|
|
43
|
+
end: number;
|
|
44
|
+
payload?: unknown;
|
|
45
|
+
}[];
|
|
27
46
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
47
|
+
setDocument: typeof setDocument;
|
|
48
|
+
serialize: () => string;
|
|
49
|
+
clear: typeof clear;
|
|
50
|
+
undo: () => Promise<boolean>;
|
|
51
|
+
redo: () => Promise<boolean>;
|
|
33
52
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
34
53
|
change: (value: string) => any;
|
|
35
54
|
"update:modelValue": (value: string) => any;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
55
|
+
search: (query: string, prefix: string, context: HysMentionContext) => any;
|
|
56
|
+
clear: () => any;
|
|
57
|
+
select: (user: HysMentionUser, prefix: string, option: HysMentionOption) => any;
|
|
58
|
+
blur: (event: FocusEvent) => any;
|
|
59
|
+
focus: (event: FocusEvent) => any;
|
|
60
|
+
loadError: (error: unknown, context: HysMentionContext) => any;
|
|
61
|
+
create: (option: HysMentionOption, context: HysMentionContext) => any;
|
|
62
|
+
openChange: (open: boolean) => any;
|
|
63
|
+
"update:entities": (entities: HysMentionEntity[]) => any;
|
|
64
|
+
documentChange: (document: HysMentionDocument) => any;
|
|
65
|
+
entityAdd: (entity: HysMentionEntity) => any;
|
|
66
|
+
entityRemove: (entity: HysMentionEntity) => any;
|
|
67
|
+
wholeRemove: (value: string, prefix: string) => any;
|
|
68
|
+
}, string, import("vue").PublicProps, Readonly<HysMentionProps> & Readonly<{
|
|
41
69
|
onChange?: ((value: string) => any) | undefined;
|
|
42
70
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
71
|
+
onSearch?: ((query: string, prefix: string, context: HysMentionContext) => any) | undefined;
|
|
72
|
+
onClear?: (() => any) | undefined;
|
|
73
|
+
onSelect?: ((user: HysMentionUser, prefix: string, option: HysMentionOption) => any) | undefined;
|
|
74
|
+
onBlur?: ((event: FocusEvent) => any) | undefined;
|
|
75
|
+
onFocus?: ((event: FocusEvent) => any) | undefined;
|
|
76
|
+
onLoadError?: ((error: unknown, context: HysMentionContext) => any) | undefined;
|
|
77
|
+
onCreate?: ((option: HysMentionOption, context: HysMentionContext) => any) | undefined;
|
|
78
|
+
onOpenChange?: ((open: boolean) => any) | undefined;
|
|
79
|
+
"onUpdate:entities"?: ((entities: HysMentionEntity[]) => any) | undefined;
|
|
80
|
+
onDocumentChange?: ((document: HysMentionDocument) => any) | undefined;
|
|
81
|
+
onEntityAdd?: ((entity: HysMentionEntity) => any) | undefined;
|
|
82
|
+
onEntityRemove?: ((entity: HysMentionEntity) => any) | undefined;
|
|
83
|
+
onWholeRemove?: ((value: string, prefix: string) => any) | undefined;
|
|
84
|
+
}>, {
|
|
85
|
+
split: string;
|
|
86
|
+
type: "textarea" | "text" | "rich";
|
|
87
|
+
offset: number;
|
|
88
|
+
placement: import("../..").Placement;
|
|
89
|
+
defaultValue: string;
|
|
90
|
+
filterOption: import("../..").HysMentionFilter;
|
|
91
|
+
debounce: number;
|
|
92
|
+
minQueryLength: number;
|
|
93
|
+
appendTo: string | false | HTMLElement;
|
|
94
|
+
autoAdjustOverflow: boolean;
|
|
95
|
+
restoreFocus: boolean;
|
|
96
|
+
invalidEntity: "mark" | "text" | "remove";
|
|
97
|
+
maxOptions: number;
|
|
98
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
48
99
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
49
100
|
declare const _default: typeof __VLS_export;
|
|
50
101
|
export default _default;
|
|
@@ -89,9 +89,9 @@ declare const __VLS_base: import("vue").DefineComponent<HysModalProps, {
|
|
|
89
89
|
open: boolean;
|
|
90
90
|
appendTo: string | false | HTMLElement;
|
|
91
91
|
loadingText: string;
|
|
92
|
+
cancelText: string;
|
|
92
93
|
fullscreen: boolean;
|
|
93
94
|
closeOnEscape: boolean;
|
|
94
|
-
cancelText: string;
|
|
95
95
|
initialFocus: import("../../index.js").HysModalInitialFocus;
|
|
96
96
|
closeOnMask: boolean;
|
|
97
97
|
showClose: boolean;
|
|
@@ -45,11 +45,11 @@ declare const __VLS_export: <T extends HysNumberInputValue = number | null>(__VL
|
|
|
45
45
|
"onUpdate:modelValue"?: ((value: T) => any) | undefined;
|
|
46
46
|
onClear?: (() => any) | undefined;
|
|
47
47
|
onInput?: ((value: T | null) => any) | undefined;
|
|
48
|
+
onStep?: ((value: T, info: HysNumberInputStepInfo) => any) | undefined;
|
|
48
49
|
onBlur?: ((event: FocusEvent) => any) | undefined;
|
|
49
50
|
onFocus?: ((event: FocusEvent) => any) | undefined;
|
|
50
51
|
onInvalid?: ((info: HysNumberInputInvalidInfo) => any) | undefined;
|
|
51
52
|
onPressEnter?: ((event: KeyboardEvent) => any) | undefined;
|
|
52
|
-
onStep?: ((value: T, info: HysNumberInputStepInfo) => any) | undefined;
|
|
53
53
|
}> & (typeof globalThis extends {
|
|
54
54
|
__VLS_PROPS_FALLBACK: infer P;
|
|
55
55
|
} ? P : {});
|
|
@@ -83,7 +83,7 @@ declare const __VLS_export: <T extends HysNumberInputValue = number | null>(__VL
|
|
|
83
83
|
} & {
|
|
84
84
|
append?: (props: {}) => any;
|
|
85
85
|
};
|
|
86
|
-
emit: ((evt: "change", value: T) => void) & ((evt: "update:modelValue", value: T) => void) & ((evt: "clear") => void) & ((evt: "input", value: T | null) => void) & ((evt: "
|
|
86
|
+
emit: ((evt: "change", value: T) => void) & ((evt: "update:modelValue", value: T) => void) & ((evt: "clear") => void) & ((evt: "input", value: T | null) => void) & ((evt: "step", value: T, info: HysNumberInputStepInfo) => void) & ((evt: "blur", event: FocusEvent) => void) & ((evt: "focus", event: FocusEvent) => void) & ((evt: "invalid", info: HysNumberInputInvalidInfo) => void) & ((evt: "pressEnter", event: KeyboardEvent) => void);
|
|
87
87
|
}>) => import("vue").VNode & {
|
|
88
88
|
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
89
89
|
};
|
|
@@ -1,27 +1,68 @@
|
|
|
1
1
|
type __VLS_Props = {
|
|
2
|
-
page
|
|
3
|
-
|
|
2
|
+
/** 受控页码,使用 v-model:page。省略时由分页器维护。 */
|
|
3
|
+
page?: number;
|
|
4
|
+
/** 总记录数,用于计算页数和当前记录范围。 */
|
|
5
|
+
total?: number;
|
|
6
|
+
/** 显式总页数;与 total 同时提供时优先用于分页。 */
|
|
7
|
+
pageCount?: number;
|
|
8
|
+
/** 受控每页条数,使用 v-model:page-size。省略时由分页器维护。 */
|
|
4
9
|
pageSize?: number;
|
|
10
|
+
/** 非受控的初始页码,从 1 开始。 */
|
|
11
|
+
defaultPage?: number;
|
|
12
|
+
/** 非受控的初始每页条数。 */
|
|
13
|
+
defaultPageSize?: number;
|
|
14
|
+
/** 每页条数选项。当前条数会保留在列表中。 */
|
|
5
15
|
pageSizeOptions?: number[];
|
|
16
|
+
/** 当前页左右各保留的页码数量,取值 0–5。 */
|
|
6
17
|
siblingCount?: number;
|
|
7
18
|
showSizeChanger?: boolean;
|
|
8
19
|
showQuickJumper?: boolean;
|
|
20
|
+
/** 默认布局是否显示记录总数;需要 total 或 total 插槽。 */
|
|
9
21
|
showTotal?: boolean;
|
|
22
|
+
/** 总页数小于等于一页时隐藏分页器。 */
|
|
23
|
+
hideOnSinglePage?: boolean;
|
|
10
24
|
disabled?: boolean;
|
|
11
25
|
loading?: boolean;
|
|
26
|
+
/** 以当前页 / 总页数代替页码,并隐藏跳转。 */
|
|
12
27
|
compact?: boolean;
|
|
28
|
+
/** 在窄容器中以当前页 / 总页数代替页码。 */
|
|
29
|
+
responsive?: boolean;
|
|
30
|
+
/** 分页控件尺寸,sm、md、lg 分别为 28、32、40px。 */
|
|
31
|
+
size?: 'sm' | 'md' | 'lg';
|
|
32
|
+
/** 逗号分隔的控件顺序,支持 total、first、prev、pager、next、last、sizes、jumper。使用 -> 将后续控件靠右排列。 */
|
|
33
|
+
layout?: string;
|
|
34
|
+
/** 覆盖分页区域、按钮、字段标签和总数格式。 */
|
|
13
35
|
labels?: Partial<{
|
|
14
36
|
total: string;
|
|
15
37
|
perPage: string;
|
|
16
38
|
jump: string;
|
|
17
39
|
page: string;
|
|
40
|
+
pageItem: string;
|
|
41
|
+
navigation: string;
|
|
42
|
+
confirm: string;
|
|
18
43
|
first: string;
|
|
19
44
|
previous: string;
|
|
20
45
|
next: string;
|
|
21
46
|
last: string;
|
|
22
47
|
}>;
|
|
23
48
|
};
|
|
24
|
-
|
|
49
|
+
type NavigationItem = 'first' | 'prev' | 'next' | 'last';
|
|
50
|
+
type __VLS_Slots = {
|
|
51
|
+
total?: (props: {
|
|
52
|
+
total: number | undefined;
|
|
53
|
+
start: number;
|
|
54
|
+
end: number;
|
|
55
|
+
pageCount: number;
|
|
56
|
+
}) => unknown;
|
|
57
|
+
item?: (props: {
|
|
58
|
+
type: NavigationItem | 'page';
|
|
59
|
+
page: number;
|
|
60
|
+
active: boolean;
|
|
61
|
+
disabled: boolean;
|
|
62
|
+
}) => unknown;
|
|
63
|
+
'jump-button'?: () => unknown;
|
|
64
|
+
};
|
|
65
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
25
66
|
change: (page: number) => any;
|
|
26
67
|
"update:page": (page: number) => any;
|
|
27
68
|
pageSizeChange: (size: number) => any;
|
|
@@ -33,13 +74,23 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
|
|
|
33
74
|
"onUpdate:pageSize"?: ((size: number) => any) | undefined;
|
|
34
75
|
}>, {
|
|
35
76
|
disabled: boolean;
|
|
77
|
+
size: "sm" | "md" | "lg";
|
|
36
78
|
compact: boolean;
|
|
37
79
|
loading: boolean;
|
|
38
|
-
|
|
80
|
+
defaultPage: number;
|
|
81
|
+
defaultPageSize: number;
|
|
39
82
|
siblingCount: number;
|
|
40
83
|
showSizeChanger: boolean;
|
|
41
84
|
showQuickJumper: boolean;
|
|
42
85
|
showTotal: boolean;
|
|
86
|
+
hideOnSinglePage: boolean;
|
|
87
|
+
responsive: boolean;
|
|
43
88
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
89
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
44
90
|
declare const _default: typeof __VLS_export;
|
|
45
91
|
export default _default;
|
|
92
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
93
|
+
new (): {
|
|
94
|
+
$slots: S;
|
|
95
|
+
};
|
|
96
|
+
};
|
|
@@ -98,9 +98,9 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
|
|
|
98
98
|
onHoverChange?: ((value: number | null) => any) | undefined;
|
|
99
99
|
}>, {
|
|
100
100
|
focusable: boolean;
|
|
101
|
+
keyboard: boolean;
|
|
101
102
|
defaultValue: number;
|
|
102
103
|
clearable: boolean;
|
|
103
|
-
keyboard: boolean;
|
|
104
104
|
allowClear: boolean;
|
|
105
105
|
scoreTemplate: string;
|
|
106
106
|
lowThreshold: number;
|