straw-ui-vue 0.1.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/README.md +42 -0
- package/dist/_virtual/_plugin-vue_export-helper.cjs +1 -0
- package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
- package/dist/components/st-button/index.d.ts +162 -0
- package/dist/components/st-button/st-button.vue.cjs +1 -0
- package/dist/components/st-button/st-button.vue.d.ts +29 -0
- package/dist/components/st-button/st-button.vue.js +5 -0
- package/dist/components/st-button/st-button.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-button/st-button.vue_vue_type_script_setup_true_lang.js +81 -0
- package/dist/components/st-button/types.d.ts +49 -0
- package/dist/components/st-button.cjs +1 -0
- package/dist/components/st-button.js +6 -0
- package/dist/components/st-checkbox/index.d.ts +153 -0
- package/dist/components/st-checkbox/st-checkbox.vue.cjs +1 -0
- package/dist/components/st-checkbox/st-checkbox.vue.d.ts +27 -0
- package/dist/components/st-checkbox/st-checkbox.vue.js +5 -0
- package/dist/components/st-checkbox/st-checkbox.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-checkbox/st-checkbox.vue_vue_type_script_setup_true_lang.js +109 -0
- package/dist/components/st-checkbox/types.d.ts +20 -0
- package/dist/components/st-checkbox-group/index.d.ts +171 -0
- package/dist/components/st-checkbox-group/st-checkbox-group.vue.cjs +1 -0
- package/dist/components/st-checkbox-group/st-checkbox-group.vue.d.ts +29 -0
- package/dist/components/st-checkbox-group/st-checkbox-group.vue.js +5 -0
- package/dist/components/st-checkbox-group/st-checkbox-group.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-checkbox-group/st-checkbox-group.vue_vue_type_script_setup_true_lang.js +63 -0
- package/dist/components/st-checkbox-group/types.d.ts +43 -0
- package/dist/components/st-checkbox-group.cjs +1 -0
- package/dist/components/st-checkbox-group.js +6 -0
- package/dist/components/st-checkbox.cjs +1 -0
- package/dist/components/st-checkbox.js +6 -0
- package/dist/components/st-dialog/index.d.ts +243 -0
- package/dist/components/st-dialog/st-dialog.vue.cjs +1 -0
- package/dist/components/st-dialog/st-dialog.vue.d.ts +41 -0
- package/dist/components/st-dialog/st-dialog.vue.js +5 -0
- package/dist/components/st-dialog/st-dialog.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-dialog/st-dialog.vue_vue_type_script_setup_true_lang.js +175 -0
- package/dist/components/st-dialog/types.d.ts +29 -0
- package/dist/components/st-dialog.cjs +1 -0
- package/dist/components/st-dialog.js +6 -0
- package/dist/components/st-input/index.d.ts +315 -0
- package/dist/components/st-input/st-input.vue.cjs +1 -0
- package/dist/components/st-input/st-input.vue.d.ts +48 -0
- package/dist/components/st-input/st-input.vue.js +7 -0
- package/dist/components/st-input/st-input.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-input/st-input.vue_vue_type_script_setup_true_lang.js +146 -0
- package/dist/components/st-input/types.d.ts +68 -0
- package/dist/components/st-input.cjs +1 -0
- package/dist/components/st-input.js +6 -0
- package/dist/components/st-menu/index.d.ts +217 -0
- package/dist/components/st-menu/st-menu-node.vue.cjs +1 -0
- package/dist/components/st-menu/st-menu-node.vue.d.ts +14 -0
- package/dist/components/st-menu/st-menu-node.vue.js +5 -0
- package/dist/components/st-menu/st-menu-node.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-menu/st-menu-node.vue_vue_type_script_setup_true_lang.js +107 -0
- package/dist/components/st-menu/st-menu.vue.cjs +1 -0
- package/dist/components/st-menu/st-menu.vue.d.ts +26 -0
- package/dist/components/st-menu/st-menu.vue.js +5 -0
- package/dist/components/st-menu/st-menu.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-menu/st-menu.vue_vue_type_script_setup_true_lang.js +86 -0
- package/dist/components/st-menu/types.d.ts +82 -0
- package/dist/components/st-menu.cjs +1 -0
- package/dist/components/st-menu.js +7 -0
- package/dist/components/st-popover/index.d.ts +243 -0
- package/dist/components/st-popover/st-popover.vue.cjs +1 -0
- package/dist/components/st-popover/st-popover.vue.d.ts +37 -0
- package/dist/components/st-popover/st-popover.vue.js +5 -0
- package/dist/components/st-popover/st-popover.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-popover/st-popover.vue_vue_type_script_setup_true_lang.js +355 -0
- package/dist/components/st-popover/types.d.ts +103 -0
- package/dist/components/st-popover.cjs +1 -0
- package/dist/components/st-popover.js +6 -0
- package/dist/components/st-radio/index.d.ts +135 -0
- package/dist/components/st-radio/st-radio.vue.cjs +1 -0
- package/dist/components/st-radio/st-radio.vue.d.ts +28 -0
- package/dist/components/st-radio/st-radio.vue.js +5 -0
- package/dist/components/st-radio/st-radio.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-radio/st-radio.vue_vue_type_script_setup_true_lang.js +88 -0
- package/dist/components/st-radio/types.d.ts +15 -0
- package/dist/components/st-radio-group/index.d.ts +180 -0
- package/dist/components/st-radio-group/st-radio-group.vue.cjs +1 -0
- package/dist/components/st-radio-group/st-radio-group.vue.d.ts +35 -0
- package/dist/components/st-radio-group/st-radio-group.vue.js +5 -0
- package/dist/components/st-radio-group/st-radio-group.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-radio-group/st-radio-group.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/components/st-radio-group/types.d.ts +43 -0
- package/dist/components/st-radio-group.cjs +1 -0
- package/dist/components/st-radio-group.js +6 -0
- package/dist/components/st-radio.cjs +1 -0
- package/dist/components/st-radio.js +6 -0
- package/dist/components/st-select/index.d.ts +306 -0
- package/dist/components/st-select/st-select.vue.cjs +1 -0
- package/dist/components/st-select/st-select.vue.d.ts +47 -0
- package/dist/components/st-select/st-select.vue.js +5 -0
- package/dist/components/st-select/st-select.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-select/st-select.vue_vue_type_script_setup_true_lang.js +200 -0
- package/dist/components/st-select/types.d.ts +85 -0
- package/dist/components/st-select.cjs +1 -0
- package/dist/components/st-select.js +6 -0
- package/dist/components/st-sidebar/index.d.ts +63 -0
- package/dist/components/st-sidebar/st-sidebar.vue.cjs +1 -0
- package/dist/components/st-sidebar/st-sidebar.vue.d.ts +11 -0
- package/dist/components/st-sidebar/st-sidebar.vue.js +5 -0
- package/dist/components/st-sidebar/st-sidebar.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-sidebar/st-sidebar.vue_vue_type_script_setup_true_lang.js +108 -0
- package/dist/components/st-sidebar/types.d.ts +56 -0
- package/dist/components/st-sidebar-item/index.d.ts +63 -0
- package/dist/components/st-sidebar-item/st-sidebar-item.vue.cjs +1 -0
- package/dist/components/st-sidebar-item/st-sidebar-item.vue.d.ts +11 -0
- package/dist/components/st-sidebar-item/st-sidebar-item.vue.js +5 -0
- package/dist/components/st-sidebar-item/st-sidebar-item.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-sidebar-item/st-sidebar-item.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/components/st-sidebar-item/types.d.ts +19 -0
- package/dist/components/st-sidebar-item.cjs +1 -0
- package/dist/components/st-sidebar-item.js +6 -0
- package/dist/components/st-sidebar.cjs +1 -0
- package/dist/components/st-sidebar.js +6 -0
- package/dist/components/st-splitter/index.d.ts +88 -0
- package/dist/components/st-splitter/st-splitter.vue.cjs +1 -0
- package/dist/components/st-splitter/st-splitter.vue.d.ts +16 -0
- package/dist/components/st-splitter/st-splitter.vue.js +5 -0
- package/dist/components/st-splitter/st-splitter.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-splitter/st-splitter.vue_vue_type_script_setup_true_lang.js +29 -0
- package/dist/components/st-splitter/types.d.ts +192 -0
- package/dist/components/st-splitter/useSplitter.cjs +1 -0
- package/dist/components/st-splitter/useSplitter.d.ts +24 -0
- package/dist/components/st-splitter/useSplitter.js +129 -0
- package/dist/components/st-splitter-panel/index.d.ts +180 -0
- package/dist/components/st-splitter-panel/st-splitter-panel.vue.cjs +1 -0
- package/dist/components/st-splitter-panel/st-splitter-panel.vue.d.ts +33 -0
- package/dist/components/st-splitter-panel/st-splitter-panel.vue.js +5 -0
- package/dist/components/st-splitter-panel/st-splitter-panel.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-splitter-panel/st-splitter-panel.vue_vue_type_script_setup_true_lang.js +164 -0
- package/dist/components/st-splitter-panel/types.d.ts +27 -0
- package/dist/components/st-splitter-panel.cjs +1 -0
- package/dist/components/st-splitter-panel.js +6 -0
- package/dist/components/st-splitter.cjs +1 -0
- package/dist/components/st-splitter.js +7 -0
- package/dist/components/st-toggle/index.d.ts +159 -0
- package/dist/components/st-toggle/st-toggle.vue.cjs +1 -0
- package/dist/components/st-toggle/st-toggle.vue.d.ts +25 -0
- package/dist/components/st-toggle/st-toggle.vue.js +5 -0
- package/dist/components/st-toggle/st-toggle.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-toggle/st-toggle.vue_vue_type_script_setup_true_lang.js +62 -0
- package/dist/components/st-toggle/types.d.ts +38 -0
- package/dist/components/st-toggle.cjs +1 -0
- package/dist/components/st-toggle.js +6 -0
- package/dist/components/st-tooltip/index.d.ts +183 -0
- package/dist/components/st-tooltip/st-tooltip.vue.cjs +1 -0
- package/dist/components/st-tooltip/st-tooltip.vue.d.ts +29 -0
- package/dist/components/st-tooltip/st-tooltip.vue.js +5 -0
- package/dist/components/st-tooltip/st-tooltip.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-tooltip/st-tooltip.vue_vue_type_script_setup_true_lang.js +71 -0
- package/dist/components/st-tooltip/types.d.ts +79 -0
- package/dist/components/st-tooltip.cjs +1 -0
- package/dist/components/st-tooltip.js +6 -0
- package/dist/components/st-tree/index.d.ts +114 -0
- package/dist/components/st-tree/st-tree-node.vue.cjs +1 -0
- package/dist/components/st-tree/st-tree-node.vue.d.ts +4 -0
- package/dist/components/st-tree/st-tree-node.vue.js +5 -0
- package/dist/components/st-tree/st-tree-node.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-tree/st-tree-node.vue_vue_type_script_setup_true_lang.js +87 -0
- package/dist/components/st-tree/st-tree.vue.cjs +1 -0
- package/dist/components/st-tree/st-tree.vue.d.ts +50 -0
- package/dist/components/st-tree/st-tree.vue.js +5 -0
- package/dist/components/st-tree/st-tree.vue_vue_type_script_setup_true_lang.cjs +1 -0
- package/dist/components/st-tree/st-tree.vue_vue_type_script_setup_true_lang.js +59 -0
- package/dist/components/st-tree/types.d.ts +87 -0
- package/dist/components/st-tree.cjs +1 -0
- package/dist/components/st-tree.js +6 -0
- package/dist/components/types.d.ts +41 -0
- package/dist/index.cjs +1 -0
- package/dist/index.css +2 -0
- package/dist/index.d.ts +3005 -0
- package/dist/index.js +47 -0
- package/dist/utils/cn.cjs +1 -0
- package/dist/utils/cn.d.ts +11 -0
- package/dist/utils/cn.js +8 -0
- package/dist/utils/cva/index.cjs +1 -0
- package/dist/utils/cva/index.d.ts +9 -0
- package/dist/utils/cva/index.js +25 -0
- package/dist/utils/cva/types.d.ts +45 -0
- package/dist/utils/directive/index.cjs +1 -0
- package/dist/utils/directive/index.d.ts +4 -0
- package/dist/utils/directive/index.js +10 -0
- package/dist/utils/directive/intersection.cjs +1 -0
- package/dist/utils/directive/intersection.d.ts +6 -0
- package/dist/utils/directive/intersection.js +20 -0
- package/dist/utils/directive/interval.cjs +1 -0
- package/dist/utils/directive/interval.d.ts +6 -0
- package/dist/utils/directive/interval.js +14 -0
- package/dist/utils/directive/move.cjs +1 -0
- package/dist/utils/directive/move.d.ts +6 -0
- package/dist/utils/directive/move.js +42 -0
- package/dist/utils/directive/resize.cjs +1 -0
- package/dist/utils/directive/resize.d.ts +6 -0
- package/dist/utils/directive/resize.js +17 -0
- package/dist/utils/with-install.cjs +1 -0
- package/dist/utils/with-install.d.ts +4 -0
- package/dist/utils/with-install.js +10 -0
- package/package.json +87 -0
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
export declare const StPopover: {
|
|
2
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
|
|
3
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("./types.d.ts").PopoverProps> & Readonly<{
|
|
4
|
+
"onUpdate:visible"?: (value: boolean) => any;
|
|
5
|
+
onVisibleChange?: (value: boolean) => any;
|
|
6
|
+
}>, import("./types.d.ts").PopoverExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
7
|
+
"update:visible": (value: boolean) => any;
|
|
8
|
+
visibleChange: (value: boolean) => any;
|
|
9
|
+
}, import("vue").PublicProps, {
|
|
10
|
+
gap: number;
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
trigger: import("./types.d.ts").PopoverTrigger;
|
|
13
|
+
placement: import("./types.d.ts").PopoverPlacement;
|
|
14
|
+
visible: boolean;
|
|
15
|
+
offset: number;
|
|
16
|
+
showArrow: boolean;
|
|
17
|
+
closeOnClickOutside: boolean;
|
|
18
|
+
closeOnEsc: boolean;
|
|
19
|
+
openDelay: number;
|
|
20
|
+
closeDelay: number;
|
|
21
|
+
triggerClass: string;
|
|
22
|
+
}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
23
|
+
P: {};
|
|
24
|
+
B: {};
|
|
25
|
+
D: {};
|
|
26
|
+
C: {};
|
|
27
|
+
M: {};
|
|
28
|
+
Defaults: {};
|
|
29
|
+
}, Readonly<import("./types.d.ts").PopoverProps> & Readonly<{
|
|
30
|
+
"onUpdate:visible"?: (value: boolean) => any;
|
|
31
|
+
onVisibleChange?: (value: boolean) => any;
|
|
32
|
+
}>, import("./types.d.ts").PopoverExpose, {}, {}, {}, {
|
|
33
|
+
gap: number;
|
|
34
|
+
disabled: boolean;
|
|
35
|
+
trigger: import("./types.d.ts").PopoverTrigger;
|
|
36
|
+
placement: import("./types.d.ts").PopoverPlacement;
|
|
37
|
+
visible: boolean;
|
|
38
|
+
offset: number;
|
|
39
|
+
showArrow: boolean;
|
|
40
|
+
closeOnClickOutside: boolean;
|
|
41
|
+
closeOnEsc: boolean;
|
|
42
|
+
openDelay: number;
|
|
43
|
+
closeDelay: number;
|
|
44
|
+
triggerClass: string;
|
|
45
|
+
}>;
|
|
46
|
+
__isFragment?: never;
|
|
47
|
+
__isTeleport?: never;
|
|
48
|
+
__isSuspense?: never;
|
|
49
|
+
} & import("vue").ComponentOptionsBase<Readonly<import("./types.d.ts").PopoverProps> & Readonly<{
|
|
50
|
+
"onUpdate:visible"?: (value: boolean) => any;
|
|
51
|
+
onVisibleChange?: (value: boolean) => any;
|
|
52
|
+
}>, import("./types.d.ts").PopoverExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
53
|
+
"update:visible": (value: boolean) => any;
|
|
54
|
+
visibleChange: (value: boolean) => any;
|
|
55
|
+
}, string, {
|
|
56
|
+
gap: number;
|
|
57
|
+
disabled: boolean;
|
|
58
|
+
trigger: import("./types.d.ts").PopoverTrigger;
|
|
59
|
+
placement: import("./types.d.ts").PopoverPlacement;
|
|
60
|
+
visible: boolean;
|
|
61
|
+
offset: number;
|
|
62
|
+
showArrow: boolean;
|
|
63
|
+
closeOnClickOutside: boolean;
|
|
64
|
+
closeOnEsc: boolean;
|
|
65
|
+
openDelay: number;
|
|
66
|
+
closeDelay: number;
|
|
67
|
+
triggerClass: string;
|
|
68
|
+
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
69
|
+
$slots: {
|
|
70
|
+
trigger?: (props: {}) => any;
|
|
71
|
+
} & {
|
|
72
|
+
default?: (props: {}) => any;
|
|
73
|
+
} & {
|
|
74
|
+
content?: (props: {}) => any;
|
|
75
|
+
};
|
|
76
|
+
})>>, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
|
|
77
|
+
[x: string]: any;
|
|
78
|
+
}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
79
|
+
P: {};
|
|
80
|
+
B: {};
|
|
81
|
+
D: {};
|
|
82
|
+
C: {};
|
|
83
|
+
M: {};
|
|
84
|
+
Defaults: {};
|
|
85
|
+
}, Readonly<import("vue").ExtractPropTypes<{
|
|
86
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("./types.d.ts").PopoverProps> & Readonly<{
|
|
87
|
+
"onUpdate:visible"?: (value: boolean) => any;
|
|
88
|
+
onVisibleChange?: (value: boolean) => any;
|
|
89
|
+
}>, import("./types.d.ts").PopoverExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
90
|
+
"update:visible": (value: boolean) => any;
|
|
91
|
+
visibleChange: (value: boolean) => any;
|
|
92
|
+
}, import("vue").PublicProps, {
|
|
93
|
+
gap: number;
|
|
94
|
+
disabled: boolean;
|
|
95
|
+
trigger: import("./types.d.ts").PopoverTrigger;
|
|
96
|
+
placement: import("./types.d.ts").PopoverPlacement;
|
|
97
|
+
visible: boolean;
|
|
98
|
+
offset: number;
|
|
99
|
+
showArrow: boolean;
|
|
100
|
+
closeOnClickOutside: boolean;
|
|
101
|
+
closeOnEsc: boolean;
|
|
102
|
+
openDelay: number;
|
|
103
|
+
closeDelay: number;
|
|
104
|
+
triggerClass: string;
|
|
105
|
+
}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
106
|
+
P: {};
|
|
107
|
+
B: {};
|
|
108
|
+
D: {};
|
|
109
|
+
C: {};
|
|
110
|
+
M: {};
|
|
111
|
+
Defaults: {};
|
|
112
|
+
}, Readonly<import("./types.d.ts").PopoverProps> & Readonly<{
|
|
113
|
+
"onUpdate:visible"?: (value: boolean) => any;
|
|
114
|
+
onVisibleChange?: (value: boolean) => any;
|
|
115
|
+
}>, import("./types.d.ts").PopoverExpose, {}, {}, {}, {
|
|
116
|
+
gap: number;
|
|
117
|
+
disabled: boolean;
|
|
118
|
+
trigger: import("./types.d.ts").PopoverTrigger;
|
|
119
|
+
placement: import("./types.d.ts").PopoverPlacement;
|
|
120
|
+
visible: boolean;
|
|
121
|
+
offset: number;
|
|
122
|
+
showArrow: boolean;
|
|
123
|
+
closeOnClickOutside: boolean;
|
|
124
|
+
closeOnEsc: boolean;
|
|
125
|
+
openDelay: number;
|
|
126
|
+
closeDelay: number;
|
|
127
|
+
triggerClass: string;
|
|
128
|
+
}>;
|
|
129
|
+
__isFragment?: never;
|
|
130
|
+
__isTeleport?: never;
|
|
131
|
+
__isSuspense?: never;
|
|
132
|
+
} & import("vue").ComponentOptionsBase<Readonly<import("./types.d.ts").PopoverProps> & Readonly<{
|
|
133
|
+
"onUpdate:visible"?: (value: boolean) => any;
|
|
134
|
+
onVisibleChange?: (value: boolean) => any;
|
|
135
|
+
}>, import("./types.d.ts").PopoverExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
136
|
+
"update:visible": (value: boolean) => any;
|
|
137
|
+
visibleChange: (value: boolean) => any;
|
|
138
|
+
}, string, {
|
|
139
|
+
gap: number;
|
|
140
|
+
disabled: boolean;
|
|
141
|
+
trigger: import("./types.d.ts").PopoverTrigger;
|
|
142
|
+
placement: import("./types.d.ts").PopoverPlacement;
|
|
143
|
+
visible: boolean;
|
|
144
|
+
offset: number;
|
|
145
|
+
showArrow: boolean;
|
|
146
|
+
closeOnClickOutside: boolean;
|
|
147
|
+
closeOnEsc: boolean;
|
|
148
|
+
openDelay: number;
|
|
149
|
+
closeDelay: number;
|
|
150
|
+
triggerClass: string;
|
|
151
|
+
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
152
|
+
$slots: {
|
|
153
|
+
trigger?: (props: {}) => any;
|
|
154
|
+
} & {
|
|
155
|
+
default?: (props: {}) => any;
|
|
156
|
+
} & {
|
|
157
|
+
content?: (props: {}) => any;
|
|
158
|
+
};
|
|
159
|
+
})>>, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, {
|
|
160
|
+
[x: string]: any;
|
|
161
|
+
}>;
|
|
162
|
+
__isFragment?: never;
|
|
163
|
+
__isTeleport?: never;
|
|
164
|
+
__isSuspense?: never;
|
|
165
|
+
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
|
|
166
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("./types.d.ts").PopoverProps> & Readonly<{
|
|
167
|
+
"onUpdate:visible"?: (value: boolean) => any;
|
|
168
|
+
onVisibleChange?: (value: boolean) => any;
|
|
169
|
+
}>, import("./types.d.ts").PopoverExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
170
|
+
"update:visible": (value: boolean) => any;
|
|
171
|
+
visibleChange: (value: boolean) => any;
|
|
172
|
+
}, import("vue").PublicProps, {
|
|
173
|
+
gap: number;
|
|
174
|
+
disabled: boolean;
|
|
175
|
+
trigger: import("./types.d.ts").PopoverTrigger;
|
|
176
|
+
placement: import("./types.d.ts").PopoverPlacement;
|
|
177
|
+
visible: boolean;
|
|
178
|
+
offset: number;
|
|
179
|
+
showArrow: boolean;
|
|
180
|
+
closeOnClickOutside: boolean;
|
|
181
|
+
closeOnEsc: boolean;
|
|
182
|
+
openDelay: number;
|
|
183
|
+
closeDelay: number;
|
|
184
|
+
triggerClass: string;
|
|
185
|
+
}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
186
|
+
P: {};
|
|
187
|
+
B: {};
|
|
188
|
+
D: {};
|
|
189
|
+
C: {};
|
|
190
|
+
M: {};
|
|
191
|
+
Defaults: {};
|
|
192
|
+
}, Readonly<import("./types.d.ts").PopoverProps> & Readonly<{
|
|
193
|
+
"onUpdate:visible"?: (value: boolean) => any;
|
|
194
|
+
onVisibleChange?: (value: boolean) => any;
|
|
195
|
+
}>, import("./types.d.ts").PopoverExpose, {}, {}, {}, {
|
|
196
|
+
gap: number;
|
|
197
|
+
disabled: boolean;
|
|
198
|
+
trigger: import("./types.d.ts").PopoverTrigger;
|
|
199
|
+
placement: import("./types.d.ts").PopoverPlacement;
|
|
200
|
+
visible: boolean;
|
|
201
|
+
offset: number;
|
|
202
|
+
showArrow: boolean;
|
|
203
|
+
closeOnClickOutside: boolean;
|
|
204
|
+
closeOnEsc: boolean;
|
|
205
|
+
openDelay: number;
|
|
206
|
+
closeDelay: number;
|
|
207
|
+
triggerClass: string;
|
|
208
|
+
}>;
|
|
209
|
+
__isFragment?: never;
|
|
210
|
+
__isTeleport?: never;
|
|
211
|
+
__isSuspense?: never;
|
|
212
|
+
} & import("vue").ComponentOptionsBase<Readonly<import("./types.d.ts").PopoverProps> & Readonly<{
|
|
213
|
+
"onUpdate:visible"?: (value: boolean) => any;
|
|
214
|
+
onVisibleChange?: (value: boolean) => any;
|
|
215
|
+
}>, import("./types.d.ts").PopoverExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
216
|
+
"update:visible": (value: boolean) => any;
|
|
217
|
+
visibleChange: (value: boolean) => any;
|
|
218
|
+
}, string, {
|
|
219
|
+
gap: number;
|
|
220
|
+
disabled: boolean;
|
|
221
|
+
trigger: import("./types.d.ts").PopoverTrigger;
|
|
222
|
+
placement: import("./types.d.ts").PopoverPlacement;
|
|
223
|
+
visible: boolean;
|
|
224
|
+
offset: number;
|
|
225
|
+
showArrow: boolean;
|
|
226
|
+
closeOnClickOutside: boolean;
|
|
227
|
+
closeOnEsc: boolean;
|
|
228
|
+
openDelay: number;
|
|
229
|
+
closeDelay: number;
|
|
230
|
+
triggerClass: string;
|
|
231
|
+
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
232
|
+
$slots: {
|
|
233
|
+
trigger?: (props: {}) => any;
|
|
234
|
+
} & {
|
|
235
|
+
default?: (props: {}) => any;
|
|
236
|
+
} & {
|
|
237
|
+
content?: (props: {}) => any;
|
|
238
|
+
};
|
|
239
|
+
})>>, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
|
|
240
|
+
[x: string]: any;
|
|
241
|
+
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & (import("vue").VNodeProps & (import("vue").AllowedComponentProps & (import("vue").ComponentCustomProps & import("vue").Plugin)));
|
|
242
|
+
export default StPopover;
|
|
243
|
+
export type * from './types.d.ts';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=require("./st-popover.vue_vue_type_script_setup_true_lang.cjs").default;exports.default=e;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { PopoverExpose, PopoverPlacement, PopoverProps } from './types.d.ts';
|
|
2
|
+
declare var __VLS_1: {}, __VLS_3: {}, __VLS_19: {};
|
|
3
|
+
type __VLS_Slots = {} & {
|
|
4
|
+
trigger?: (props: typeof __VLS_1) => any;
|
|
5
|
+
} & {
|
|
6
|
+
default?: (props: typeof __VLS_3) => any;
|
|
7
|
+
} & {
|
|
8
|
+
content?: (props: typeof __VLS_19) => any;
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_base: import("vue").DefineComponent<PopoverProps, PopoverExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
11
|
+
"update:visible": (value: boolean) => any;
|
|
12
|
+
visibleChange: (value: boolean) => any;
|
|
13
|
+
}, string, import("vue").PublicProps, Readonly<PopoverProps> & Readonly<{
|
|
14
|
+
"onUpdate:visible"?: (value: boolean) => any;
|
|
15
|
+
onVisibleChange?: (value: boolean) => any;
|
|
16
|
+
}>, {
|
|
17
|
+
gap: number;
|
|
18
|
+
disabled: boolean;
|
|
19
|
+
trigger: import("./types.d.ts").PopoverTrigger;
|
|
20
|
+
placement: PopoverPlacement;
|
|
21
|
+
visible: boolean;
|
|
22
|
+
offset: number;
|
|
23
|
+
showArrow: boolean;
|
|
24
|
+
closeOnClickOutside: boolean;
|
|
25
|
+
closeOnEsc: boolean;
|
|
26
|
+
openDelay: number;
|
|
27
|
+
closeDelay: number;
|
|
28
|
+
triggerClass: string;
|
|
29
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
30
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
31
|
+
declare const _default: typeof __VLS_export;
|
|
32
|
+
export default _default;
|
|
33
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
34
|
+
new (): {
|
|
35
|
+
$slots: S;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../utils/cn.cjs");let t=require("vue");var n={class:`st-popover-content text-foreground`},r=(0,t.defineComponent)({inheritAttrs:!1,__name:`st-popover`,props:{trigger:{default:`hover`},placement:{default:`top-center`},disabled:{type:Boolean,default:!1},visible:{type:Boolean,default:void 0},offset:{default:void 0},gap:{default:0},showArrow:{type:Boolean,default:!0},closeOnClickOutside:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},openDelay:{default:150},closeDelay:{default:200},triggerClass:{default:``}},emits:[`update:visible`,`visibleChange`],setup(r,{expose:i,emit:a}){let o=(0,t.useAttrs)(),s=r,c=a,l=(0,t.ref)(null),u=(0,t.ref)(null),d=(0,t.ref)(null),f=(0,t.ref)(!1),p=(0,t.ref)(s.placement),m=(0,t.ref)({top:0,left:0}),h=(0,t.ref)(`bottom center`),g=(0,t.ref)(!1),_=(0,t.ref)(null),v=null,y=null,b=()=>{v&&=(clearTimeout(v),null),y&&=(clearTimeout(y),null)},x=(0,t.computed)(()=>s.visible!==void 0),S=(0,t.computed)({get:()=>x.value?s.visible:f.value,set:e=>{x.value?c(`update:visible`,e):f.value=e,c(`visibleChange`,e)}}),C=(0,t.computed)(()=>s.offset===void 0?s.gap:s.offset),w=(0,t.computed)(()=>e.cn(`st-popover`,`fixed`,`z-50`,`rounded-radius`,`bg-popover`,`shadow-lg`,`border`,`border-border`,`st-popover--${p.value}`,o.class)),T=(0,t.computed)(()=>{let e={position:`fixed`,top:`${m.value.top}px`,left:`${m.value.left}px`,transformOrigin:h.value};g.value||(e.left=`-9999px`,e.top=`-9999px`,e.opacity=`0`,e.visibility=`hidden`);let t=o.style;return t?{...t,...e}:e}),E=(0,t.computed)(()=>{let[t,n]=p.value.split(`-`),r=[`st-popover-arrow`,`absolute`,`w-2`,`h-2`,`bg-popover`,`border`,`border-border`,`transform`,`rotate-45`],i={top:[`-bottom-1`,`border-t-0`,`border-l-0`],bottom:[`-top-1`,`border-b-0`,`border-r-0`],left:[`-right-1`,`border-l-0`,`border-t-0`],right:[`-left-1`,`border-r-0`,`border-b-0`]},a;if(t===`top`||t===`bottom`)switch(n){case`left`:a=[`left-2`];break;case`center`:a=[`left-1/2`,`-translate-x-1/2`];break;case`right`:a=[`right-2`];break;default:a=[`left-1/2`,`-translate-x-1/2`]}else switch(n){case`top`:a=[`top-2`];break;case`center`:a=[`top-1/2`,`-translate-y-1/2`];break;case`bottom`:a=[`bottom-2`];break;default:a=[`top-1/2`,`-translate-y-1/2`]}return e.cn(r,i[t],a)}),D=e=>({"top-left":`bottom left`,"top-center":`bottom center`,"top-right":`bottom right`,"bottom-left":`top left`,"bottom-center":`top center`,"bottom-right":`top right`,"left-top":`center right`,"left-center":`center right`,"left-bottom":`center right`,"right-top":`center left`,"right-center":`center left`,"right-bottom":`center left`})[e],O=e=>{let[t,n]=e.split(`-`);return`${{top:`bottom`,bottom:`top`,left:`right`,right:`left`}[t]}-${n}`},k=(e,t)=>{let[n,r]=e.split(`-`);return t===`horizontal`?n===`top`||n===`bottom`?`${n}-${{left:`right`,center:`left`,right:`left`}[r]||r}`:`${n}-${{top:`bottom`,center:`top`,bottom:`top`}[r]||r}`:n===`top`||n===`bottom`?e:`${n}-${{top:`bottom`,center:`top`,bottom:`top`}[r]||r}`},A=(e,t=!1)=>{s.disabled||(b(),e&&(_.value=e),s.trigger===`hover`&&!t&&s.openDelay>0?v=setTimeout(()=>{S.value=!0},s.openDelay):S.value=!0)},j=(e=!1)=>{b(),s.trigger===`hover`&&!e&&s.closeDelay>0?y=setTimeout(()=>{S.value=!1},s.closeDelay):S.value=!1},M=()=>{S.value?j():A()},N=()=>{g.value=!1},P=(e,t,n,r)=>{let[i,a]=e.split(`-`),o=0,s=0;switch(i){case`top`:switch(o=t.top-n.height-r,a){case`left`:s=t.left;break;case`center`:s=t.left+(t.width-n.width)/2;break;case`right`:s=t.right-n.width;break}break;case`bottom`:switch(o=t.bottom+r,a){case`left`:s=t.left;break;case`center`:s=t.left+(t.width-n.width)/2;break;case`right`:s=t.right-n.width;break}break;case`left`:switch(s=t.left-n.width-r,a){case`top`:o=t.top;break;case`center`:o=t.top+(t.height-n.height)/2;break;case`bottom`:o=t.bottom-n.height;break}break;case`right`:switch(s=t.right+r,a){case`top`:o=t.top;break;case`center`:o=t.top+(t.height-n.height)/2;break;case`bottom`:o=t.bottom-n.height;break}break}return{top:o,left:s}},F=(e,t,n,r,i)=>{let[a]=e.split(`-`);switch(a){case`top`:return t.top<0;case`bottom`:return t.top+n.height>i;case`left`:return t.left<0;case`right`:return t.left+n.width>r;default:return!1}},I=(e,t,n)=>e.left<0||e.left+t.width>n,L=(e,t,n)=>e.top<0||e.top+t.height>n,R=(e,t,n,r)=>{if(!_.value)return;let i=_.value.clientX,a=_.value.clientY,o=i+r,s=a+r;o+n.width>e&&(o=i-n.width-r),s+n.height>t&&(s=a-n.height-r),o=Math.max(r,Math.min(o,e-n.width-r)),s=Math.max(r,Math.min(s,t-n.height-r)),m.value={top:s,left:o};let c=o<=i+r?`left`:`right`;h.value=`${s<=a+r?`top`:`bottom`} ${c}`,p.value=`bottom-left`},z=async()=>{if(await(0,t.nextTick)(),!u.value||!d.value)return;let e=d.value.getBoundingClientRect(),{innerWidth:n,innerHeight:r}=window,i=C.value;if(s.trigger===`contextmenu`&&_.value){R(n,r,e,i),g.value=!0;return}let a=u.value.getBoundingClientRect(),o=s.placement,c=P(o,a,e,i);if(F(o,c,e,n,r)){let t=O(o),s=P(t,a,e,i);F(t,s,e,n,r)||(o=t,c=s)}if(I(c,e,n)){let t=k(o,`horizontal`),r=P(t,a,e,i);I(r,e,n)||(o=t,c=r)}if(L(c,e,r)){let t=k(o,`vertical`),n=P(t,a,e,i);L(n,e,r)||(o=t,c=n)}let{top:l,left:f}=c;l=Math.max(0,Math.min(l,r-e.height)),f=Math.max(0,Math.min(f,n-e.width)),p.value=o,m.value={top:l,left:f},h.value=D(o),g.value=!0},B=e=>{s.trigger===`click`&&(e.stopPropagation(),M())},V=()=>{s.trigger===`hover`&&(b(),A())},H=()=>{s.trigger===`hover`&&j()},U=()=>{s.trigger===`focus`&&A()},W=()=>{s.trigger===`focus`&&j()},G=e=>{s.trigger===`contextmenu`&&(e.preventDefault(),e.stopPropagation(),_.value=e,A())},K=()=>{s.trigger===`hover`&&b()},q=()=>{s.trigger===`hover`&&j()},J=e=>{if(!s.closeOnClickOutside||!S.value)return;let t=e.target,n=u.value?.contains(t),r=d.value?.contains(t);!n&&!r&&j()},Y=e=>{if(!S.value)return;let t=e.target,n=u.value?.contains(t),r=d.value?.contains(t);n||r||j()},X=e=>{s.closeOnEsc&&e.key===`Escape`&&S.value&&j()},Z=e=>{if(!S.value)return;let t=e.target;d.value?.contains(t)||j()},Q=()=>{S.value&&j()};return(0,t.watch)(S,async e=>{e?(g.value=!1,await(0,t.nextTick)(),await z()):_.value=null}),(0,t.watch)(()=>s.placement,()=>{S.value&&z()}),(0,t.onMounted)(()=>{document.addEventListener(`click`,J,!0),document.addEventListener(`contextmenu`,Y,!0),document.addEventListener(`keydown`,X,!0),window.addEventListener(`resize`,Q,!0),document.addEventListener(`scroll`,Z,!0)}),(0,t.onBeforeUnmount)(()=>{b(),document.removeEventListener(`click`,J,!0),document.removeEventListener(`contextmenu`,Y,!0),document.removeEventListener(`keydown`,X,!0),window.removeEventListener(`resize`,Q,!0),document.removeEventListener(`scroll`,Z,!0)}),i({show:A,hide:j,toggle:M}),(i,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`div`,{ref_key:`wrapperRef`,ref:l,class:`contents`},[(0,t.createElementVNode)(`div`,{ref_key:`triggerRef`,ref:u,class:(0,t.normalizeClass)((0,t.unref)(e.cn)(`st-popover-trigger inline-block`,s.triggerClass)),onBlur:W,onClick:B,onContextmenu:G,onFocus:U,onMouseenter:V,onMouseleave:H},[(0,t.renderSlot)(i.$slots,`trigger`,{},()=>[(0,t.renderSlot)(i.$slots,`default`)])],34)],512),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{"enter-active-class":`transition-[transform,opacity] duration-160 ease-[var(--animate-ease-menu)]`,"enter-from-class":`scale-94 opacity-0`,"leave-active-class":`transition-[transform,opacity] duration-100 ease`,"leave-to-class":`scale-96 opacity-0`,onAfterLeave:N},{default:(0,t.withCtx)(()=>[S.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`popoverRef`,ref:d,class:(0,t.normalizeClass)(w.value),style:(0,t.normalizeStyle)(T.value),onClick:a[0]||=(0,t.withModifiers)(()=>{},[`stop`]),onContextmenu:a[1]||=(0,t.withModifiers)(()=>{},[`prevent`]),onMouseenter:K,onMouseleave:q},[(0,t.createElementVNode)(`div`,n,[(0,t.renderSlot)(i.$slots,`content`)]),r.showArrow?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)(E.value)},null,2)):(0,t.createCommentVNode)(``,!0)],38)):(0,t.createCommentVNode)(``,!0)]),_:3})]))],64))}});exports.default=r;
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
import { cn as e } from "../../utils/cn.js";
|
|
2
|
+
import { Fragment as t, Teleport as n, Transition as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, nextTick as d, normalizeClass as f, normalizeStyle as ee, onBeforeUnmount as te, onMounted as p, openBlock as m, ref as h, renderSlot as g, unref as ne, useAttrs as re, watch as _, withCtx as v, withModifiers as y } from "vue";
|
|
3
|
+
//#region src/components/st-popover/st-popover.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var ie = { class: "st-popover-content text-foreground" }, b = /*@__PURE__*/ u({
|
|
5
|
+
inheritAttrs: !1,
|
|
6
|
+
__name: "st-popover",
|
|
7
|
+
props: {
|
|
8
|
+
trigger: { default: "hover" },
|
|
9
|
+
placement: { default: "top-center" },
|
|
10
|
+
disabled: {
|
|
11
|
+
type: Boolean,
|
|
12
|
+
default: !1
|
|
13
|
+
},
|
|
14
|
+
visible: {
|
|
15
|
+
type: Boolean,
|
|
16
|
+
default: void 0
|
|
17
|
+
},
|
|
18
|
+
offset: { default: void 0 },
|
|
19
|
+
gap: { default: 0 },
|
|
20
|
+
showArrow: {
|
|
21
|
+
type: Boolean,
|
|
22
|
+
default: !0
|
|
23
|
+
},
|
|
24
|
+
closeOnClickOutside: {
|
|
25
|
+
type: Boolean,
|
|
26
|
+
default: !0
|
|
27
|
+
},
|
|
28
|
+
closeOnEsc: {
|
|
29
|
+
type: Boolean,
|
|
30
|
+
default: !0
|
|
31
|
+
},
|
|
32
|
+
openDelay: { default: 150 },
|
|
33
|
+
closeDelay: { default: 200 },
|
|
34
|
+
triggerClass: { default: "" }
|
|
35
|
+
},
|
|
36
|
+
emits: ["update:visible", "visibleChange"],
|
|
37
|
+
setup(u, { expose: b, emit: x }) {
|
|
38
|
+
let S = re(), C = u, w = x, T = h(null), E = h(null), D = h(null), O = h(!1), k = h(C.placement), A = h({
|
|
39
|
+
top: 0,
|
|
40
|
+
left: 0
|
|
41
|
+
}), j = h("bottom center"), M = h(!1), N = h(null), P = null, F = null, I = () => {
|
|
42
|
+
P &&= (clearTimeout(P), null), F &&= (clearTimeout(F), null);
|
|
43
|
+
}, L = i(() => C.visible !== void 0), R = i({
|
|
44
|
+
get: () => L.value ? C.visible : O.value,
|
|
45
|
+
set: (e) => {
|
|
46
|
+
L.value ? w("update:visible", e) : O.value = e, w("visibleChange", e);
|
|
47
|
+
}
|
|
48
|
+
}), ae = i(() => C.offset === void 0 ? C.gap : C.offset), oe = i(() => e("st-popover", "fixed", "z-50", "rounded-radius", "bg-popover", "shadow-lg", "border", "border-border", `st-popover--${k.value}`, S.class)), se = i(() => {
|
|
49
|
+
let e = {
|
|
50
|
+
position: "fixed",
|
|
51
|
+
top: `${A.value.top}px`,
|
|
52
|
+
left: `${A.value.left}px`,
|
|
53
|
+
transformOrigin: j.value
|
|
54
|
+
};
|
|
55
|
+
M.value || (e.left = "-9999px", e.top = "-9999px", e.opacity = "0", e.visibility = "hidden");
|
|
56
|
+
let t = S.style;
|
|
57
|
+
return t ? {
|
|
58
|
+
...t,
|
|
59
|
+
...e
|
|
60
|
+
} : e;
|
|
61
|
+
}), ce = i(() => {
|
|
62
|
+
let [t, n] = k.value.split("-"), r = [
|
|
63
|
+
"st-popover-arrow",
|
|
64
|
+
"absolute",
|
|
65
|
+
"w-2",
|
|
66
|
+
"h-2",
|
|
67
|
+
"bg-popover",
|
|
68
|
+
"border",
|
|
69
|
+
"border-border",
|
|
70
|
+
"transform",
|
|
71
|
+
"rotate-45"
|
|
72
|
+
], i = {
|
|
73
|
+
top: [
|
|
74
|
+
"-bottom-1",
|
|
75
|
+
"border-t-0",
|
|
76
|
+
"border-l-0"
|
|
77
|
+
],
|
|
78
|
+
bottom: [
|
|
79
|
+
"-top-1",
|
|
80
|
+
"border-b-0",
|
|
81
|
+
"border-r-0"
|
|
82
|
+
],
|
|
83
|
+
left: [
|
|
84
|
+
"-right-1",
|
|
85
|
+
"border-l-0",
|
|
86
|
+
"border-t-0"
|
|
87
|
+
],
|
|
88
|
+
right: [
|
|
89
|
+
"-left-1",
|
|
90
|
+
"border-r-0",
|
|
91
|
+
"border-b-0"
|
|
92
|
+
]
|
|
93
|
+
}, a;
|
|
94
|
+
if (t === "top" || t === "bottom") switch (n) {
|
|
95
|
+
case "left":
|
|
96
|
+
a = ["left-2"];
|
|
97
|
+
break;
|
|
98
|
+
case "center":
|
|
99
|
+
a = ["left-1/2", "-translate-x-1/2"];
|
|
100
|
+
break;
|
|
101
|
+
case "right":
|
|
102
|
+
a = ["right-2"];
|
|
103
|
+
break;
|
|
104
|
+
default: a = ["left-1/2", "-translate-x-1/2"];
|
|
105
|
+
}
|
|
106
|
+
else switch (n) {
|
|
107
|
+
case "top":
|
|
108
|
+
a = ["top-2"];
|
|
109
|
+
break;
|
|
110
|
+
case "center":
|
|
111
|
+
a = ["top-1/2", "-translate-y-1/2"];
|
|
112
|
+
break;
|
|
113
|
+
case "bottom":
|
|
114
|
+
a = ["bottom-2"];
|
|
115
|
+
break;
|
|
116
|
+
default: a = ["top-1/2", "-translate-y-1/2"];
|
|
117
|
+
}
|
|
118
|
+
return e(r, i[t], a);
|
|
119
|
+
}), le = (e) => ({
|
|
120
|
+
"top-left": "bottom left",
|
|
121
|
+
"top-center": "bottom center",
|
|
122
|
+
"top-right": "bottom right",
|
|
123
|
+
"bottom-left": "top left",
|
|
124
|
+
"bottom-center": "top center",
|
|
125
|
+
"bottom-right": "top right",
|
|
126
|
+
"left-top": "center right",
|
|
127
|
+
"left-center": "center right",
|
|
128
|
+
"left-bottom": "center right",
|
|
129
|
+
"right-top": "center left",
|
|
130
|
+
"right-center": "center left",
|
|
131
|
+
"right-bottom": "center left"
|
|
132
|
+
})[e], ue = (e) => {
|
|
133
|
+
let [t, n] = e.split("-");
|
|
134
|
+
return `${{
|
|
135
|
+
top: "bottom",
|
|
136
|
+
bottom: "top",
|
|
137
|
+
left: "right",
|
|
138
|
+
right: "left"
|
|
139
|
+
}[t]}-${n}`;
|
|
140
|
+
}, z = (e, t) => {
|
|
141
|
+
let [n, r] = e.split("-");
|
|
142
|
+
return t === "horizontal" ? n === "top" || n === "bottom" ? `${n}-${{
|
|
143
|
+
left: "right",
|
|
144
|
+
center: "left",
|
|
145
|
+
right: "left"
|
|
146
|
+
}[r] || r}` : `${n}-${{
|
|
147
|
+
top: "bottom",
|
|
148
|
+
center: "top",
|
|
149
|
+
bottom: "top"
|
|
150
|
+
}[r] || r}` : n === "top" || n === "bottom" ? e : `${n}-${{
|
|
151
|
+
top: "bottom",
|
|
152
|
+
center: "top",
|
|
153
|
+
bottom: "top"
|
|
154
|
+
}[r] || r}`;
|
|
155
|
+
}, B = (e, t = !1) => {
|
|
156
|
+
C.disabled || (I(), e && (N.value = e), C.trigger === "hover" && !t && C.openDelay > 0 ? P = setTimeout(() => {
|
|
157
|
+
R.value = !0;
|
|
158
|
+
}, C.openDelay) : R.value = !0);
|
|
159
|
+
}, V = (e = !1) => {
|
|
160
|
+
I(), C.trigger === "hover" && !e && C.closeDelay > 0 ? F = setTimeout(() => {
|
|
161
|
+
R.value = !1;
|
|
162
|
+
}, C.closeDelay) : R.value = !1;
|
|
163
|
+
}, H = () => {
|
|
164
|
+
R.value ? V() : B();
|
|
165
|
+
}, de = () => {
|
|
166
|
+
M.value = !1;
|
|
167
|
+
}, U = (e, t, n, r) => {
|
|
168
|
+
let [i, a] = e.split("-"), o = 0, s = 0;
|
|
169
|
+
switch (i) {
|
|
170
|
+
case "top":
|
|
171
|
+
switch (o = t.top - n.height - r, a) {
|
|
172
|
+
case "left":
|
|
173
|
+
s = t.left;
|
|
174
|
+
break;
|
|
175
|
+
case "center":
|
|
176
|
+
s = t.left + (t.width - n.width) / 2;
|
|
177
|
+
break;
|
|
178
|
+
case "right":
|
|
179
|
+
s = t.right - n.width;
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
182
|
+
break;
|
|
183
|
+
case "bottom":
|
|
184
|
+
switch (o = t.bottom + r, a) {
|
|
185
|
+
case "left":
|
|
186
|
+
s = t.left;
|
|
187
|
+
break;
|
|
188
|
+
case "center":
|
|
189
|
+
s = t.left + (t.width - n.width) / 2;
|
|
190
|
+
break;
|
|
191
|
+
case "right":
|
|
192
|
+
s = t.right - n.width;
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
break;
|
|
196
|
+
case "left":
|
|
197
|
+
switch (s = t.left - n.width - r, a) {
|
|
198
|
+
case "top":
|
|
199
|
+
o = t.top;
|
|
200
|
+
break;
|
|
201
|
+
case "center":
|
|
202
|
+
o = t.top + (t.height - n.height) / 2;
|
|
203
|
+
break;
|
|
204
|
+
case "bottom":
|
|
205
|
+
o = t.bottom - n.height;
|
|
206
|
+
break;
|
|
207
|
+
}
|
|
208
|
+
break;
|
|
209
|
+
case "right":
|
|
210
|
+
switch (s = t.right + r, a) {
|
|
211
|
+
case "top":
|
|
212
|
+
o = t.top;
|
|
213
|
+
break;
|
|
214
|
+
case "center":
|
|
215
|
+
o = t.top + (t.height - n.height) / 2;
|
|
216
|
+
break;
|
|
217
|
+
case "bottom":
|
|
218
|
+
o = t.bottom - n.height;
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
223
|
+
return {
|
|
224
|
+
top: o,
|
|
225
|
+
left: s
|
|
226
|
+
};
|
|
227
|
+
}, W = (e, t, n, r, i) => {
|
|
228
|
+
let [a] = e.split("-");
|
|
229
|
+
switch (a) {
|
|
230
|
+
case "top": return t.top < 0;
|
|
231
|
+
case "bottom": return t.top + n.height > i;
|
|
232
|
+
case "left": return t.left < 0;
|
|
233
|
+
case "right": return t.left + n.width > r;
|
|
234
|
+
default: return !1;
|
|
235
|
+
}
|
|
236
|
+
}, G = (e, t, n) => e.left < 0 || e.left + t.width > n, K = (e, t, n) => e.top < 0 || e.top + t.height > n, fe = (e, t, n, r) => {
|
|
237
|
+
if (!N.value) return;
|
|
238
|
+
let i = N.value.clientX, a = N.value.clientY, o = i + r, s = a + r;
|
|
239
|
+
o + n.width > e && (o = i - n.width - r), s + n.height > t && (s = a - n.height - r), o = Math.max(r, Math.min(o, e - n.width - r)), s = Math.max(r, Math.min(s, t - n.height - r)), A.value = {
|
|
240
|
+
top: s,
|
|
241
|
+
left: o
|
|
242
|
+
};
|
|
243
|
+
let c = o <= i + r ? "left" : "right";
|
|
244
|
+
j.value = `${s <= a + r ? "top" : "bottom"} ${c}`, k.value = "bottom-left";
|
|
245
|
+
}, q = async () => {
|
|
246
|
+
if (await d(), !E.value || !D.value) return;
|
|
247
|
+
let e = D.value.getBoundingClientRect(), { innerWidth: t, innerHeight: n } = window, r = ae.value;
|
|
248
|
+
if (C.trigger === "contextmenu" && N.value) {
|
|
249
|
+
fe(t, n, e, r), M.value = !0;
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
let i = E.value.getBoundingClientRect(), a = C.placement, o = U(a, i, e, r);
|
|
253
|
+
if (W(a, o, e, t, n)) {
|
|
254
|
+
let s = ue(a), c = U(s, i, e, r);
|
|
255
|
+
W(s, c, e, t, n) || (a = s, o = c);
|
|
256
|
+
}
|
|
257
|
+
if (G(o, e, t)) {
|
|
258
|
+
let n = z(a, "horizontal"), s = U(n, i, e, r);
|
|
259
|
+
G(s, e, t) || (a = n, o = s);
|
|
260
|
+
}
|
|
261
|
+
if (K(o, e, n)) {
|
|
262
|
+
let t = z(a, "vertical"), s = U(t, i, e, r);
|
|
263
|
+
K(s, e, n) || (a = t, o = s);
|
|
264
|
+
}
|
|
265
|
+
let { top: s, left: c } = o;
|
|
266
|
+
s = Math.max(0, Math.min(s, n - e.height)), c = Math.max(0, Math.min(c, t - e.width)), k.value = a, A.value = {
|
|
267
|
+
top: s,
|
|
268
|
+
left: c
|
|
269
|
+
}, j.value = le(a), M.value = !0;
|
|
270
|
+
}, pe = (e) => {
|
|
271
|
+
C.trigger === "click" && (e.stopPropagation(), H());
|
|
272
|
+
}, me = () => {
|
|
273
|
+
C.trigger === "hover" && (I(), B());
|
|
274
|
+
}, he = () => {
|
|
275
|
+
C.trigger === "hover" && V();
|
|
276
|
+
}, ge = () => {
|
|
277
|
+
C.trigger === "focus" && B();
|
|
278
|
+
}, _e = () => {
|
|
279
|
+
C.trigger === "focus" && V();
|
|
280
|
+
}, ve = (e) => {
|
|
281
|
+
C.trigger === "contextmenu" && (e.preventDefault(), e.stopPropagation(), N.value = e, B());
|
|
282
|
+
}, J = () => {
|
|
283
|
+
C.trigger === "hover" && I();
|
|
284
|
+
}, ye = () => {
|
|
285
|
+
C.trigger === "hover" && V();
|
|
286
|
+
}, Y = (e) => {
|
|
287
|
+
if (!C.closeOnClickOutside || !R.value) return;
|
|
288
|
+
let t = e.target, n = E.value?.contains(t), r = D.value?.contains(t);
|
|
289
|
+
!n && !r && V();
|
|
290
|
+
}, X = (e) => {
|
|
291
|
+
if (!R.value) return;
|
|
292
|
+
let t = e.target, n = E.value?.contains(t), r = D.value?.contains(t);
|
|
293
|
+
n || r || V();
|
|
294
|
+
}, Z = (e) => {
|
|
295
|
+
C.closeOnEsc && e.key === "Escape" && R.value && V();
|
|
296
|
+
}, Q = (e) => {
|
|
297
|
+
if (!R.value) return;
|
|
298
|
+
let t = e.target;
|
|
299
|
+
D.value?.contains(t) || V();
|
|
300
|
+
}, $ = () => {
|
|
301
|
+
R.value && V();
|
|
302
|
+
};
|
|
303
|
+
return _(R, async (e) => {
|
|
304
|
+
e ? (M.value = !1, await d(), await q()) : N.value = null;
|
|
305
|
+
}), _(() => C.placement, () => {
|
|
306
|
+
R.value && q();
|
|
307
|
+
}), p(() => {
|
|
308
|
+
document.addEventListener("click", Y, !0), document.addEventListener("contextmenu", X, !0), document.addEventListener("keydown", Z, !0), window.addEventListener("resize", $, !0), document.addEventListener("scroll", Q, !0);
|
|
309
|
+
}), te(() => {
|
|
310
|
+
I(), document.removeEventListener("click", Y, !0), document.removeEventListener("contextmenu", X, !0), document.removeEventListener("keydown", Z, !0), window.removeEventListener("resize", $, !0), document.removeEventListener("scroll", Q, !0);
|
|
311
|
+
}), b({
|
|
312
|
+
show: B,
|
|
313
|
+
hide: V,
|
|
314
|
+
toggle: H
|
|
315
|
+
}), (i, d) => (m(), s(t, null, [c("div", {
|
|
316
|
+
ref_key: "wrapperRef",
|
|
317
|
+
ref: T,
|
|
318
|
+
class: "contents"
|
|
319
|
+
}, [c("div", {
|
|
320
|
+
ref_key: "triggerRef",
|
|
321
|
+
ref: E,
|
|
322
|
+
class: f(ne(e)("st-popover-trigger inline-block", C.triggerClass)),
|
|
323
|
+
onBlur: _e,
|
|
324
|
+
onClick: pe,
|
|
325
|
+
onContextmenu: ve,
|
|
326
|
+
onFocus: ge,
|
|
327
|
+
onMouseenter: me,
|
|
328
|
+
onMouseleave: he
|
|
329
|
+
}, [g(i.$slots, "trigger", {}, () => [g(i.$slots, "default")])], 34)], 512), (m(), a(n, { to: "body" }, [l(r, {
|
|
330
|
+
"enter-active-class": "transition-[transform,opacity] duration-160 ease-[var(--animate-ease-menu)]",
|
|
331
|
+
"enter-from-class": "scale-94 opacity-0",
|
|
332
|
+
"leave-active-class": "transition-[transform,opacity] duration-100 ease",
|
|
333
|
+
"leave-to-class": "scale-96 opacity-0",
|
|
334
|
+
onAfterLeave: de
|
|
335
|
+
}, {
|
|
336
|
+
default: v(() => [R.value ? (m(), s("div", {
|
|
337
|
+
key: 0,
|
|
338
|
+
ref_key: "popoverRef",
|
|
339
|
+
ref: D,
|
|
340
|
+
class: f(oe.value),
|
|
341
|
+
style: ee(se.value),
|
|
342
|
+
onClick: d[0] ||= y(() => {}, ["stop"]),
|
|
343
|
+
onContextmenu: d[1] ||= y(() => {}, ["prevent"]),
|
|
344
|
+
onMouseenter: J,
|
|
345
|
+
onMouseleave: ye
|
|
346
|
+
}, [c("div", ie, [g(i.$slots, "content")]), u.showArrow ? (m(), s("div", {
|
|
347
|
+
key: 0,
|
|
348
|
+
class: f(ce.value)
|
|
349
|
+
}, null, 2)) : o("", !0)], 38)) : o("", !0)]),
|
|
350
|
+
_: 3
|
|
351
|
+
})]))], 64));
|
|
352
|
+
}
|
|
353
|
+
});
|
|
354
|
+
//#endregion
|
|
355
|
+
export { b as default };
|