@v-c/dialog 0.0.1

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.
@@ -0,0 +1,313 @@
1
+ import { offset } from "../../util.js";
2
+ import Panel_default from "./Panel.js";
3
+ import { Transition, createVNode, defineComponent, mergeProps, nextTick, shallowRef, vShow, watch, withDirectives } from "vue";
4
+ import { getTransitionProps } from "@v-c/util/dist/utils/transition";
5
+ var Content_default = /* @__PURE__ */ defineComponent((props, { slots }) => {
6
+ const dialogRef = shallowRef();
7
+ const transformOrigin = shallowRef("");
8
+ function onPrepare() {
9
+ const { mousePosition } = props;
10
+ nextTick(() => {
11
+ if (dialogRef.value) {
12
+ const elementOffset = offset(dialogRef.value);
13
+ transformOrigin.value = mousePosition && (mousePosition.x || mousePosition.y) ? `${mousePosition.x - elementOffset.left}px ${mousePosition.y - elementOffset.top}px` : "";
14
+ }
15
+ });
16
+ }
17
+ const animationVisible = shallowRef(props.visible);
18
+ watch(() => props.visible, () => {
19
+ if (props.visible) animationVisible.value = true;
20
+ });
21
+ return () => {
22
+ const { prefixCls, className, style, visible, destroyOnHidden, onVisibleChanged, ariaId, title, motionName } = props;
23
+ const contentStyle = {};
24
+ if (transformOrigin.value) contentStyle.transformOrigin = transformOrigin.value;
25
+ return createVNode(Transition, mergeProps(getTransitionProps(motionName), {
26
+ "onBeforeEnter": onPrepare,
27
+ "onAfterEnter": () => onVisibleChanged?.(true),
28
+ "onAfterLeave": () => {
29
+ onVisibleChanged?.(false);
30
+ animationVisible.value = false;
31
+ }
32
+ }), { default: () => [visible || !destroyOnHidden ? withDirectives(createVNode(Panel_default, mergeProps(props, {
33
+ "animationVisible": animationVisible.value,
34
+ "title": title,
35
+ "ariaId": ariaId,
36
+ "prefixCls": prefixCls,
37
+ "style": {
38
+ ...style,
39
+ ...contentStyle
40
+ },
41
+ "class": [className],
42
+ "holderRef": (el) => {
43
+ dialogRef.value = el;
44
+ }
45
+ }), slots), [[vShow, visible]]) : null] });
46
+ };
47
+ }, {
48
+ props: {
49
+ motionName: {
50
+ type: String,
51
+ required: false,
52
+ default: void 0
53
+ },
54
+ ariaId: {
55
+ type: String,
56
+ required: false,
57
+ default: void 0
58
+ },
59
+ onVisibleChanged: {
60
+ type: Function,
61
+ required: true,
62
+ default: void 0
63
+ },
64
+ prefixCls: {
65
+ type: String,
66
+ required: true,
67
+ default: void 0
68
+ },
69
+ onMouseDown: {
70
+ type: Function,
71
+ required: false,
72
+ default: void 0
73
+ },
74
+ onMouseUp: {
75
+ type: Function,
76
+ required: false,
77
+ default: void 0
78
+ },
79
+ holderRef: {
80
+ type: Function,
81
+ required: false,
82
+ default: void 0
83
+ },
84
+ className: {
85
+ type: String,
86
+ required: false,
87
+ default: void 0
88
+ },
89
+ keyboard: {
90
+ type: Boolean,
91
+ required: false,
92
+ default: void 0
93
+ },
94
+ style: {
95
+ type: Object,
96
+ required: false,
97
+ default: void 0
98
+ },
99
+ rootStyle: {
100
+ type: Object,
101
+ required: false,
102
+ default: void 0
103
+ },
104
+ mask: {
105
+ type: Boolean,
106
+ required: false,
107
+ default: void 0
108
+ },
109
+ children: {
110
+ type: [
111
+ Object,
112
+ Function,
113
+ String,
114
+ Number,
115
+ null,
116
+ Boolean,
117
+ Array
118
+ ],
119
+ required: false,
120
+ default: void 0
121
+ },
122
+ afterClose: {
123
+ type: Function,
124
+ required: false,
125
+ default: void 0
126
+ },
127
+ afterOpenChange: {
128
+ type: Function,
129
+ required: false,
130
+ default: void 0
131
+ },
132
+ onClose: {
133
+ type: Function,
134
+ required: false,
135
+ default: void 0
136
+ },
137
+ closable: {
138
+ type: [Boolean, Object],
139
+ required: false,
140
+ default: void 0
141
+ },
142
+ maskClosable: {
143
+ type: Boolean,
144
+ required: false,
145
+ default: void 0
146
+ },
147
+ visible: {
148
+ type: Boolean,
149
+ required: false,
150
+ default: void 0
151
+ },
152
+ destroyOnHidden: {
153
+ type: Boolean,
154
+ required: false,
155
+ default: void 0
156
+ },
157
+ mousePosition: {
158
+ type: [Object, null],
159
+ required: false,
160
+ default: void 0
161
+ },
162
+ title: {
163
+ type: [
164
+ Object,
165
+ Function,
166
+ String,
167
+ Number,
168
+ null,
169
+ Boolean,
170
+ Array
171
+ ],
172
+ required: false,
173
+ default: void 0
174
+ },
175
+ footer: {
176
+ type: [
177
+ Object,
178
+ Function,
179
+ String,
180
+ Number,
181
+ null,
182
+ Boolean,
183
+ Array
184
+ ],
185
+ required: false,
186
+ default: void 0
187
+ },
188
+ transitionName: {
189
+ type: String,
190
+ required: false,
191
+ default: void 0
192
+ },
193
+ maskTransitionName: {
194
+ type: String,
195
+ required: false,
196
+ default: void 0
197
+ },
198
+ animation: {
199
+ required: false,
200
+ default: void 0
201
+ },
202
+ maskAnimation: {
203
+ required: false,
204
+ default: void 0
205
+ },
206
+ wrapStyle: {
207
+ type: Object,
208
+ required: false,
209
+ default: void 0
210
+ },
211
+ bodyStyle: {
212
+ type: Object,
213
+ required: false,
214
+ default: void 0
215
+ },
216
+ maskStyle: {
217
+ type: Object,
218
+ required: false,
219
+ default: void 0
220
+ },
221
+ wrapClassName: {
222
+ type: String,
223
+ required: false,
224
+ default: void 0
225
+ },
226
+ width: {
227
+ type: [String, Number],
228
+ required: false,
229
+ default: void 0
230
+ },
231
+ height: {
232
+ type: [String, Number],
233
+ required: false,
234
+ default: void 0
235
+ },
236
+ zIndex: {
237
+ type: Number,
238
+ required: false,
239
+ default: void 0
240
+ },
241
+ bodyProps: {
242
+ required: false,
243
+ default: void 0
244
+ },
245
+ maskProps: {
246
+ required: false,
247
+ default: void 0
248
+ },
249
+ rootClassName: {
250
+ type: String,
251
+ required: false,
252
+ default: void 0
253
+ },
254
+ classNames: {
255
+ type: Object,
256
+ required: false,
257
+ default: void 0
258
+ },
259
+ styles: {
260
+ type: Object,
261
+ required: false,
262
+ default: void 0
263
+ },
264
+ wrapProps: {
265
+ required: false,
266
+ default: void 0
267
+ },
268
+ getContainer: {
269
+ type: [
270
+ String,
271
+ Function,
272
+ Boolean
273
+ ],
274
+ required: false,
275
+ skipCheck: true,
276
+ default: void 0
277
+ },
278
+ closeIcon: {
279
+ type: [
280
+ Object,
281
+ Function,
282
+ String,
283
+ Number,
284
+ null,
285
+ Boolean,
286
+ Array
287
+ ],
288
+ required: false,
289
+ default: void 0
290
+ },
291
+ modalRender: {
292
+ type: Function,
293
+ required: false,
294
+ default: void 0
295
+ },
296
+ forceRender: {
297
+ type: Boolean,
298
+ required: false,
299
+ default: void 0
300
+ },
301
+ focusTriggerAfterClose: {
302
+ type: Boolean,
303
+ required: false,
304
+ default: void 0
305
+ },
306
+ panelRef: {
307
+ required: false,
308
+ default: void 0
309
+ }
310
+ },
311
+ name: "Content"
312
+ });
313
+ export { Content_default as default };
@@ -0,0 +1,50 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ const require_rolldown_runtime = require("../_virtual/rolldown_runtime.cjs");
3
+ let vue = require("vue");
4
+ let __v_c_util = require("@v-c/util");
5
+ let __v_c_util_dist_utils_transition = require("@v-c/util/dist/utils/transition");
6
+ var Mask = /* @__PURE__ */ (0, vue.defineComponent)((props) => {
7
+ return () => {
8
+ const { maskProps, prefixCls, className, style, visible, motionName } = props;
9
+ return (0, vue.createVNode)(vue.Transition, (0, vue.mergeProps)((0, __v_c_util_dist_utils_transition.getTransitionProps)(motionName), { "key": "mask" }), { default: () => [visible && (0, vue.createVNode)("div", (0, vue.mergeProps)({
10
+ "style": [style],
11
+ "class": (0, __v_c_util.classNames)(`${prefixCls}-mask`, className)
12
+ }, maskProps), null)] });
13
+ };
14
+ }, {
15
+ props: {
16
+ prefixCls: {
17
+ type: String,
18
+ required: true,
19
+ default: void 0
20
+ },
21
+ visible: {
22
+ type: Boolean,
23
+ required: true,
24
+ default: void 0
25
+ },
26
+ motionName: {
27
+ type: String,
28
+ required: false,
29
+ default: void 0
30
+ },
31
+ style: {
32
+ type: Object,
33
+ required: false,
34
+ default: void 0
35
+ },
36
+ maskProps: {
37
+ type: Object,
38
+ required: false,
39
+ default: void 0
40
+ },
41
+ className: {
42
+ type: String,
43
+ required: false,
44
+ default: void 0
45
+ }
46
+ },
47
+ name: "Mask"
48
+ });
49
+ var Mask_default = Mask;
50
+ exports.default = Mask_default;
@@ -0,0 +1,11 @@
1
+ import { CSSProperties, HTMLAttributes } from 'vue';
2
+ export interface MaskProps {
3
+ prefixCls: string;
4
+ visible: boolean;
5
+ motionName?: string;
6
+ style?: CSSProperties;
7
+ maskProps?: HTMLAttributes;
8
+ className?: string;
9
+ }
10
+ declare const Mask: import('vue').DefineSetupFnComponent<MaskProps, {}, {}, MaskProps & {}, import('vue').PublicProps>;
11
+ export default Mask;
@@ -0,0 +1,47 @@
1
+ import { Transition, createVNode, defineComponent, mergeProps } from "vue";
2
+ import { classNames } from "@v-c/util";
3
+ import { getTransitionProps } from "@v-c/util/dist/utils/transition";
4
+ var Mask_default = /* @__PURE__ */ defineComponent((props) => {
5
+ return () => {
6
+ const { maskProps, prefixCls, className, style, visible, motionName } = props;
7
+ return createVNode(Transition, mergeProps(getTransitionProps(motionName), { "key": "mask" }), { default: () => [visible && createVNode("div", mergeProps({
8
+ "style": [style],
9
+ "class": classNames(`${prefixCls}-mask`, className)
10
+ }, maskProps), null)] });
11
+ };
12
+ }, {
13
+ props: {
14
+ prefixCls: {
15
+ type: String,
16
+ required: true,
17
+ default: void 0
18
+ },
19
+ visible: {
20
+ type: Boolean,
21
+ required: true,
22
+ default: void 0
23
+ },
24
+ motionName: {
25
+ type: String,
26
+ required: false,
27
+ default: void 0
28
+ },
29
+ style: {
30
+ type: Object,
31
+ required: false,
32
+ default: void 0
33
+ },
34
+ maskProps: {
35
+ type: Object,
36
+ required: false,
37
+ default: void 0
38
+ },
39
+ className: {
40
+ type: String,
41
+ required: false,
42
+ default: void 0
43
+ }
44
+ },
45
+ name: "Mask"
46
+ });
47
+ export { Mask_default as default };