@vipl520/dk-ui 1.0.48 → 1.0.50
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.js +193 -92
- package/dist/index.min.js +4 -4
- package/dist/index.min.js.map +1 -1
- package/dist/index.min.mjs +4 -4
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +193 -92
- package/dist/web-types.json +1 -1
- package/es/style-box-input/index.d.ts +5 -5
- package/es/style-box-input/src/props.d.ts +2 -2
- package/es/style-box-input/src/props.mjs +2 -2
- package/es/style-box-input/src/props.mjs.map +1 -1
- package/es/style-box-input/src/style-box-input.vue.d.ts +5 -5
- package/es/style-box-input/src/style-box-input.vue2.mjs +85 -71
- package/es/style-box-input/src/style-box-input.vue2.mjs.map +1 -1
- package/es/style-input/index.d.ts +35 -0
- package/es/style-input/src/props.d.ts +16 -0
- package/es/style-input/src/props.mjs +18 -0
- package/es/style-input/src/props.mjs.map +1 -1
- package/es/style-input/src/style-input.vue.d.ts +35 -0
- package/es/style-input/src/style-input.vue2.mjs +73 -3
- package/es/style-input/src/style-input.vue2.mjs.map +1 -1
- package/lib/style-box-input/index.d.ts +5 -5
- package/lib/style-box-input/src/props.d.ts +2 -2
- package/lib/style-box-input/src/props.js +2 -2
- package/lib/style-box-input/src/props.js.map +1 -1
- package/lib/style-box-input/src/style-box-input.vue.d.ts +5 -5
- package/lib/style-box-input/src/style-box-input.vue2.js +84 -70
- package/lib/style-box-input/src/style-box-input.vue2.js.map +1 -1
- package/lib/style-input/index.d.ts +35 -0
- package/lib/style-input/src/props.d.ts +16 -0
- package/lib/style-input/src/props.js +18 -0
- package/lib/style-input/src/props.js.map +1 -1
- package/lib/style-input/src/style-input.vue.d.ts +35 -0
- package/lib/style-input/src/style-input.vue2.js +72 -2
- package/lib/style-input/src/style-input.vue2.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"props.mjs","sources":["../../../src/style-box-input/src/props.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n\nexport const styleBoxInputProps = {\n modelValue: {\n type: Object,\n default: () => ({}),\n },\n height: {\n type: Number,\n default:
|
1
|
+
{"version":3,"file":"props.mjs","sources":["../../../src/style-box-input/src/props.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n\nexport const styleBoxInputProps = {\n modelValue: {\n type: Object,\n default: () => ({}),\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n help: {\n type: String,\n default: '可以双击对应位置来配置内外边距和宽度高度,也支持通过描点拖拽增加,支持单位(px、rem、%、auto)',\n },\n}\n\nexport type StyleBoxInputProps = ExtractPropTypes<typeof styleBoxInputProps>\n"],"names":[],"mappings":"AAEO,MAAM,kBAAqB,GAAA;AAAA,EAChC,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAS,EAAA,MAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,mQAAA;AAAA,GACX;AACF;;;;"}
|
@@ -4,8 +4,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
4
4
|
default: () => {};
|
5
5
|
};
|
6
6
|
height: {
|
7
|
-
type: NumberConstructor;
|
8
|
-
default:
|
7
|
+
type: (StringConstructor | NumberConstructor)[];
|
8
|
+
default: string;
|
9
9
|
};
|
10
10
|
help: {
|
11
11
|
type: StringConstructor;
|
@@ -17,8 +17,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
17
17
|
default: () => {};
|
18
18
|
};
|
19
19
|
height: {
|
20
|
-
type: NumberConstructor;
|
21
|
-
default:
|
20
|
+
type: (StringConstructor | NumberConstructor)[];
|
21
|
+
default: string;
|
22
22
|
};
|
23
23
|
help: {
|
24
24
|
type: StringConstructor;
|
@@ -29,7 +29,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
29
29
|
onChange?: ((...args: any[]) => any) | undefined;
|
30
30
|
}, {
|
31
31
|
modelValue: Record<string, any>;
|
32
|
-
height: number;
|
32
|
+
height: string | number;
|
33
33
|
help: string;
|
34
34
|
}, {}>;
|
35
35
|
export default _default;
|
@@ -1,7 +1,8 @@
|
|
1
|
-
import { createElementVNode, defineComponent, reactive, ref, watch, nextTick, resolveComponent, openBlock, createElementBlock, normalizeStyle, createTextVNode, createVNode, withCtx, normalizeClass, createCommentVNode, Fragment, renderList, unref, toDisplayString, withDirectives, vModelText } from 'vue';
|
1
|
+
import { createElementVNode, defineComponent, reactive, ref, computed, watch, nextTick, resolveComponent, openBlock, createElementBlock, normalizeStyle, createTextVNode, createVNode, withCtx, normalizeClass, createCommentVNode, Fragment, renderList, unref, toDisplayString, withDirectives, vModelText } from 'vue';
|
2
2
|
import { styleBoxInputProps } from './props.mjs';
|
3
3
|
import { margins, paddings } from './html.mjs';
|
4
4
|
import { upper } from '@vipl520/utils';
|
5
|
+
import { useElementSize } from '@vueuse/core';
|
5
6
|
|
6
7
|
const _hoisted_1 = { class: "dk-style-box-input" };
|
7
8
|
const _hoisted_2 = { class: "header" };
|
@@ -10,50 +11,46 @@ const _hoisted_4 = { class: "float-right cursor-pointer" };
|
|
10
11
|
const _hoisted_5 = { class: "name-header-operations" };
|
11
12
|
const _hoisted_6 = { class: "name-header-operations" };
|
12
13
|
const _hoisted_7 = { class: "name-header-operations" };
|
13
|
-
const _hoisted_8 = ["title"];
|
14
|
-
const _hoisted_9 = ["
|
15
|
-
const _hoisted_10 = ["
|
16
|
-
const _hoisted_11 =
|
17
|
-
const _hoisted_12 = /* @__PURE__ */ createElementVNode(
|
14
|
+
const _hoisted_8 = ["title", "onClick"];
|
15
|
+
const _hoisted_9 = ["onUpdate:modelValue", "onBlur"];
|
16
|
+
const _hoisted_10 = ["width", "height", "viewBox", "data-link-anchor", "innerHTML"];
|
17
|
+
const _hoisted_11 = /* @__PURE__ */ createElementVNode(
|
18
18
|
"div",
|
19
19
|
{ style: { "position": "absolute", "display": "none", "width": "100%", "height": "100%" } },
|
20
20
|
null,
|
21
21
|
-1
|
22
22
|
/* HOISTED */
|
23
23
|
);
|
24
|
-
const
|
25
|
-
const
|
26
|
-
const
|
24
|
+
const _hoisted_12 = { class: "anchor-wrapper" };
|
25
|
+
const _hoisted_13 = ["onMousedown"];
|
26
|
+
const _hoisted_14 = /* @__PURE__ */ createElementVNode(
|
27
27
|
"span",
|
28
28
|
{ class: "title" },
|
29
29
|
" \u5916\u8FB9\u8DDD ",
|
30
30
|
-1
|
31
31
|
/* HOISTED */
|
32
32
|
);
|
33
|
-
const
|
34
|
-
const
|
35
|
-
const
|
36
|
-
const
|
37
|
-
const
|
38
|
-
const
|
39
|
-
const
|
40
|
-
const _hoisted_23 = /* @__PURE__ */ createElementVNode(
|
33
|
+
const _hoisted_15 = { class: "thumnail border" };
|
34
|
+
const _hoisted_16 = ["title", "onClick"];
|
35
|
+
const _hoisted_17 = ["onUpdate:modelValue", "onBlur"];
|
36
|
+
const _hoisted_18 = ["width", "height", "viewBox", "data-link-anchor", "innerHTML"];
|
37
|
+
const _hoisted_19 = { class: "anchor-wrapper" };
|
38
|
+
const _hoisted_20 = ["onMousedown"];
|
39
|
+
const _hoisted_21 = /* @__PURE__ */ createElementVNode(
|
41
40
|
"span",
|
42
41
|
{ class: "title" },
|
43
42
|
" \u5185\u8FB9\u8DDD ",
|
44
43
|
-1
|
45
44
|
/* HOISTED */
|
46
45
|
);
|
47
|
-
const
|
48
|
-
const
|
49
|
-
const _hoisted_26 = /* @__PURE__ */ createElementVNode(
|
46
|
+
const _hoisted_22 = { class: "title" };
|
47
|
+
const _hoisted_23 = /* @__PURE__ */ createElementVNode(
|
50
48
|
"span",
|
51
49
|
null,
|
52
50
|
" x ",
|
53
51
|
-1
|
54
52
|
/* HOISTED */
|
55
53
|
);
|
56
|
-
const _hoisted_27 = { class: "content-unit right-0" };
|
57
54
|
const __default__ = defineComponent({
|
58
55
|
name: "DkStyleBoxInput"
|
59
56
|
});
|
@@ -83,13 +80,17 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
83
80
|
width: props.modelValue.width || "",
|
84
81
|
height: props.modelValue.height || ""
|
85
82
|
});
|
86
|
-
const
|
87
|
-
|
88
|
-
|
89
|
-
()
|
90
|
-
|
83
|
+
const box = ref(null);
|
84
|
+
const { width } = useElementSize(box);
|
85
|
+
const height = computed(() => {
|
86
|
+
console.log("props.height", props.height);
|
87
|
+
if (props.height === "auto") {
|
88
|
+
const h = width.value / 1.8;
|
89
|
+
return h > 300 ? 300 : h;
|
90
|
+
} else {
|
91
|
+
return props.height;
|
91
92
|
}
|
92
|
-
);
|
93
|
+
});
|
93
94
|
watch(
|
94
95
|
() => props.modelValue,
|
95
96
|
(newVal, oldVal) => {
|
@@ -182,17 +183,16 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
182
183
|
stopChangeBound.value = handleMouseUp.bind(event);
|
183
184
|
document.addEventListener("mouseup", stopChangeBound.value);
|
184
185
|
dragging.value = true;
|
185
|
-
const height2 = props.height;
|
186
186
|
const wrapperElement = document.querySelector(".wrapper");
|
187
|
-
const
|
187
|
+
const width2 = wrapperElement ? wrapperElement.offsetWidth : 0;
|
188
188
|
const multiples = {
|
189
189
|
margin: 0.9,
|
190
190
|
padding: 0.9 * 0.7
|
191
191
|
};
|
192
192
|
const { clientX, clientY } = event;
|
193
|
-
const setCursorAndDimensions = (cursor, left, top,
|
193
|
+
const setCursorAndDimensions = (cursor, left, top, width3, height2) => {
|
194
194
|
document.body.style.cursor = cursor;
|
195
|
-
Object.assign(positionStyle, { left, top, width:
|
195
|
+
Object.assign(positionStyle, { left, top, width: width3, height: height2, display: "block" });
|
196
196
|
};
|
197
197
|
startPosition.x = clientX;
|
198
198
|
startPosition.y = clientY;
|
@@ -200,16 +200,16 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
200
200
|
setCursorAndDimensions(
|
201
201
|
"ew-resize",
|
202
202
|
clientX + "px",
|
203
|
-
clientY -
|
203
|
+
clientY - height.value * 0.5 * multiples[type] + "px",
|
204
204
|
"0.1px",
|
205
|
-
|
205
|
+
height.value * multiples[type] + "px"
|
206
206
|
);
|
207
207
|
} else {
|
208
208
|
setCursorAndDimensions(
|
209
209
|
"ns-resize",
|
210
|
-
clientX -
|
210
|
+
clientX - width2 * 0.5 * multiples[type] + "px",
|
211
211
|
clientY + "px",
|
212
|
-
|
212
|
+
width2 * multiples[type] + "px",
|
213
213
|
"0.1px"
|
214
214
|
);
|
215
215
|
}
|
@@ -388,9 +388,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
388
388
|
createElementVNode(
|
389
389
|
"div",
|
390
390
|
{
|
391
|
+
ref_key: "box",
|
392
|
+
ref: box,
|
391
393
|
tabindex: "0",
|
392
394
|
class: "wrapper",
|
393
|
-
style: normalizeStyle([{ "margin-top": "10px" }, { height:
|
395
|
+
style: normalizeStyle([{ "margin-top": "10px" }, { height: height.value + "px" }])
|
394
396
|
},
|
395
397
|
[
|
396
398
|
createElementVNode(
|
@@ -410,11 +412,16 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
410
412
|
return openBlock(), createElementBlock("div", { key }, [
|
411
413
|
createElementVNode("span", {
|
412
414
|
title: item.title,
|
413
|
-
class: normalizeClass(`anchor-tip-${item.position} value-indicator`)
|
415
|
+
class: normalizeClass(`anchor-tip-${item.position} value-indicator`),
|
416
|
+
onClick: ($event) => onDblclick(item.value, key)
|
414
417
|
}, [
|
415
|
-
createElementVNode(
|
416
|
-
|
417
|
-
|
418
|
+
createElementVNode(
|
419
|
+
"span",
|
420
|
+
null,
|
421
|
+
toDisplayString(getValue(styles[item.value])),
|
422
|
+
1
|
423
|
+
/* TEXT */
|
424
|
+
)
|
418
425
|
], 10, _hoisted_8),
|
419
426
|
withDirectives(createElementVNode("input", {
|
420
427
|
ref_for: true,
|
@@ -423,7 +430,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
423
430
|
"onUpdate:modelValue": ($event) => styles[item.value] = $event,
|
424
431
|
class: normalizeClass("input-box anchor-tip-" + item.position + (showStyles[item.value] ? " show" : "")),
|
425
432
|
onBlur: ($event) => onBlur(item.value)
|
426
|
-
}, null, 42,
|
433
|
+
}, null, 42, _hoisted_9), [
|
427
434
|
[vModelText, styles[item.value]]
|
428
435
|
]),
|
429
436
|
(openBlock(), createElementBlock("svg", {
|
@@ -435,15 +442,15 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
435
442
|
style: normalizeStyle(item.svg.style),
|
436
443
|
class: "esm-modal-svg",
|
437
444
|
innerHTML: item.svg.content
|
438
|
-
}, null, 12,
|
445
|
+
}, null, 12, _hoisted_10))
|
439
446
|
]);
|
440
447
|
}),
|
441
448
|
128
|
442
449
|
/* KEYED_FRAGMENT */
|
443
450
|
))
|
444
451
|
]),
|
445
|
-
|
446
|
-
createElementVNode("div",
|
452
|
+
_hoisted_11,
|
453
|
+
createElementVNode("div", _hoisted_12, [
|
447
454
|
(openBlock(), createElementBlock(
|
448
455
|
Fragment,
|
449
456
|
null,
|
@@ -454,16 +461,16 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
454
461
|
onMousemove: handleMouseMove,
|
455
462
|
onMousedown: ($event) => handleMouseDown("margin", item, $event),
|
456
463
|
onMouseup: handleMouseUp
|
457
|
-
}, null, 42,
|
464
|
+
}, null, 42, _hoisted_13);
|
458
465
|
}),
|
459
466
|
64
|
460
467
|
/* STABLE_FRAGMENT */
|
461
468
|
))
|
462
469
|
]),
|
463
|
-
|
470
|
+
_hoisted_14,
|
464
471
|
createCommentVNode("\u5916\u8FB9\u8DDD Margin END"),
|
465
472
|
createCommentVNode("\u5185\u8FB9\u8DDD Padding"),
|
466
|
-
createElementVNode("div",
|
473
|
+
createElementVNode("div", _hoisted_15, [
|
467
474
|
createElementVNode(
|
468
475
|
"div",
|
469
476
|
{
|
@@ -480,12 +487,17 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
480
487
|
return openBlock(), createElementBlock("div", { key }, [
|
481
488
|
createElementVNode("span", {
|
482
489
|
title: item.title,
|
483
|
-
class: normalizeClass(`anchor-tip-${item.position} value-indicator`)
|
490
|
+
class: normalizeClass(`anchor-tip-${item.position} value-indicator`),
|
491
|
+
onClick: ($event) => onDblclick(item.value, key + 4)
|
484
492
|
}, [
|
485
|
-
createElementVNode(
|
486
|
-
|
487
|
-
|
488
|
-
|
493
|
+
createElementVNode(
|
494
|
+
"span",
|
495
|
+
null,
|
496
|
+
toDisplayString(getValue(styles[item.value])),
|
497
|
+
1
|
498
|
+
/* TEXT */
|
499
|
+
)
|
500
|
+
], 10, _hoisted_16),
|
489
501
|
withDirectives(createElementVNode("input", {
|
490
502
|
ref_for: true,
|
491
503
|
ref_key: "inputField",
|
@@ -493,7 +505,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
493
505
|
"onUpdate:modelValue": ($event) => styles[item.value] = $event,
|
494
506
|
class: normalizeClass("input-box anchor-tip-" + item.position + (showStyles[item.value] ? " show" : "")),
|
495
507
|
onBlur: ($event) => onBlur(item.value)
|
496
|
-
}, null, 42,
|
508
|
+
}, null, 42, _hoisted_17), [
|
497
509
|
[vModelText, styles[item.value]]
|
498
510
|
]),
|
499
511
|
(openBlock(), createElementBlock("svg", {
|
@@ -505,14 +517,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
505
517
|
style: normalizeStyle(item.svg.style),
|
506
518
|
class: "esm-modal-svg",
|
507
519
|
innerHTML: item.svg.content
|
508
|
-
}, null, 12,
|
520
|
+
}, null, 12, _hoisted_18))
|
509
521
|
]);
|
510
522
|
}),
|
511
523
|
128
|
512
524
|
/* KEYED_FRAGMENT */
|
513
525
|
))
|
514
526
|
]),
|
515
|
-
createElementVNode("div",
|
527
|
+
createElementVNode("div", _hoisted_19, [
|
516
528
|
(openBlock(), createElementBlock(
|
517
529
|
Fragment,
|
518
530
|
null,
|
@@ -523,13 +535,13 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
523
535
|
onMousemove: handleMouseMove,
|
524
536
|
onMousedown: ($event) => handleMouseDown("padding", item, $event),
|
525
537
|
onMouseup: handleMouseUp
|
526
|
-
}, null, 42,
|
538
|
+
}, null, 42, _hoisted_20);
|
527
539
|
}),
|
528
540
|
64
|
529
541
|
/* STABLE_FRAGMENT */
|
530
542
|
))
|
531
543
|
]),
|
532
|
-
|
544
|
+
_hoisted_21,
|
533
545
|
createCommentVNode("\u5185\u8FB9\u8DDD END"),
|
534
546
|
createElementVNode(
|
535
547
|
"div",
|
@@ -539,16 +551,17 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
539
551
|
onMouseleave: _cache[10] || (_cache[10] = ($event) => onMouseMove("widthHeight", "leave", $event))
|
540
552
|
},
|
541
553
|
[
|
542
|
-
createElementVNode("span",
|
543
|
-
createElementVNode("span",
|
554
|
+
createElementVNode("span", _hoisted_22, [
|
555
|
+
createElementVNode("span", {
|
556
|
+
class: "content-unit left-0",
|
557
|
+
onClick: _cache[3] || (_cache[3] = ($event) => onDblclick("width", 9))
|
558
|
+
}, [
|
544
559
|
createElementVNode(
|
545
560
|
"em",
|
546
|
-
|
547
|
-
onMouseenter: _cache[3] || (_cache[3] = ($event) => onDblclick("width", 9))
|
548
|
-
},
|
561
|
+
null,
|
549
562
|
toDisplayString(getValue(styles["width"])),
|
550
|
-
|
551
|
-
/* TEXT
|
563
|
+
1
|
564
|
+
/* TEXT */
|
552
565
|
)
|
553
566
|
]),
|
554
567
|
withDirectives(createElementVNode(
|
@@ -566,16 +579,17 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
566
579
|
), [
|
567
580
|
[vModelText, styles.width]
|
568
581
|
]),
|
569
|
-
|
570
|
-
createElementVNode("span",
|
582
|
+
_hoisted_23,
|
583
|
+
createElementVNode("span", {
|
584
|
+
class: "content-unit right-0",
|
585
|
+
onClick: _cache[6] || (_cache[6] = ($event) => onDblclick("height", 9))
|
586
|
+
}, [
|
571
587
|
createElementVNode(
|
572
588
|
"em",
|
573
|
-
|
574
|
-
onMouseenter: _cache[6] || (_cache[6] = ($event) => onDblclick("height", 9))
|
575
|
-
},
|
589
|
+
null,
|
576
590
|
toDisplayString(getValue(styles["height"])),
|
577
|
-
|
578
|
-
/* TEXT
|
591
|
+
1
|
592
|
+
/* TEXT */
|
579
593
|
)
|
580
594
|
]),
|
581
595
|
withDirectives(createElementVNode(
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"style-box-input.vue2.mjs","sources":["../../../src/style-box-input/src/style-box-input.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkStyleBoxInput',\n});\n</script>\n<template>\n <div class=\"dk-style-box-input\">\n <div class=\"position-line\" :style=\"positionStyle\"></div>\n <div class=\"header\">\n <label class=\"items-center\">\n 内外边距 | 高宽\n <el-popover ref=\"popover\" placement=\"bottom\" title=\"说明\" :width=\"280\" trigger=\"hover\" :content=\"props.help\">\n <template #reference>\n <dk-icon icon=\"QuestionFilled\" class=\"m-l-5px vertical-text-top\"></dk-icon>\n </template>\n </el-popover>\n </label>\n <div class=\"float-right cursor-pointer\">\n <div class=\"name-header-operations\">\n <el-tooltip class=\"box-item\" effect=\"dark\" content=\"重置高宽\" placement=\"top-start\">\n <dk-icon icon=\"Refresh\" color=\"var(--el-color-primary)\" @click=\"onRefresh('widthHeight')\"></dk-icon>\n </el-tooltip>\n </div>\n <div class=\"name-header-operations\">\n <el-tooltip class=\"box-item\" effect=\"dark\" content=\"重置内边距\" placement=\"top-start\">\n <dk-icon icon=\"Refresh\" color=\"var(--el-color-success)\" @click=\"onRefresh('padding')\"></dk-icon>\n </el-tooltip>\n </div>\n <div class=\"name-header-operations\">\n <el-tooltip class=\"box-item\" effect=\"dark\" content=\"重置外边距\" placement=\"top-start\">\n <dk-icon icon=\"Refresh\" color=\"var(--el-color-warning)\" @click=\"onRefresh('margin')\"></dk-icon>\n </el-tooltip>\n </div>\n </div>\n\n <div tabindex=\"0\" class=\"wrapper\" style=\"margin-top: 10px\" :style=\"{ height: props.height + 'px' }\">\n <div\n class=\"thumnail margin\"\n :class=\"moves.margin ? 'thumnail-heightlight' : ''\"\n @mousemove=\"onMouseMove('margin', 'move', $event)\"\n @mouseleave=\"onMouseMove('margin', 'leave', $event)\"\n >\n <!--外边距 Margin-->\n <div>\n <div v-for=\"(item, key) in margins\" :key=\"key\">\n <span :title=\"item.title\" :class=\"`anchor-tip-${item.position} value-indicator`\">\n <span @mouseenter=\"onDblclick(item.value, key)\"> {{ getValue(styles[item.value]) }}</span>\n </span>\n <input\n ref=\"inputField\"\n v-model=\"styles[item.value]\"\n :class=\"'input-box anchor-tip-' + item.position + (showStyles[item.value] ? ' show' : '')\"\n @blur=\"onBlur(item.value)\"\n />\n <svg\n :width=\"item.svg.width\"\n :height=\"item.svg.height\"\n :viewBox=\"item.svg.viewBox\"\n preserveAspectRatio=\"none\"\n :data-link-anchor=\"item.value\"\n :style=\"item.svg.style\"\n class=\"esm-modal-svg\"\n v-html=\"item.svg.content\"\n ></svg>\n </div>\n </div>\n <div style=\"position: absolute; display: none; width: 100%; height: 100%\"></div>\n <div class=\"anchor-wrapper\">\n <div\n v-for=\"(item, key) in ['left', 'right', 'top', 'bottom']\"\n :key=\"key\"\n class=\"anchor\"\n :class=\"'anchor-' + item\"\n @mousemove=\"handleMouseMove\"\n @mousedown=\"handleMouseDown('margin', item, $event)\"\n @mouseup=\"handleMouseUp\"\n ></div>\n </div>\n <span class=\"title\"> 外边距 </span>\n <!--外边距 Margin END-->\n\n <!--内边距 Padding-->\n <div class=\"thumnail border\">\n <div\n class=\"thumnail padding\"\n :class=\"moves.padding ? 'thumnail-heightlight' : ''\"\n @mousemove=\"onMouseMove('padding', 'move', $event)\"\n @mouseleave=\"onMouseMove('padding', 'leave', $event)\"\n >\n <div>\n <div v-for=\"(item, key) in paddings\" :key=\"key\">\n <span :title=\"item.title\" :class=\"`anchor-tip-${item.position} value-indicator`\">\n <span @mouseenter=\"onDblclick(item.value, key + 4)\"> {{ getValue(styles[item.value]) }}</span>\n </span>\n <input\n ref=\"inputField\"\n v-model=\"styles[item.value]\"\n :class=\"'input-box anchor-tip-' + item.position + (showStyles[item.value] ? ' show' : '')\"\n @blur=\"onBlur(item.value)\"\n />\n <svg\n :width=\"item.svg.width\"\n :height=\"item.svg.height\"\n :viewBox=\"item.svg.viewBox\"\n preserveAspectRatio=\"none\"\n :data-link-anchor=\"item.value\"\n :style=\"item.svg.style\"\n class=\"esm-modal-svg\"\n v-html=\"item.svg.content\"\n ></svg>\n </div>\n </div>\n <div class=\"anchor-wrapper\">\n <div\n v-for=\"(item, key) in ['left', 'right', 'top', 'bottom']\"\n :key=\"key\"\n class=\"anchor\"\n :class=\"'anchor-' + item\"\n @mousemove=\"handleMouseMove\"\n @mousedown=\"handleMouseDown('padding', item, $event)\"\n @mouseup=\"handleMouseUp\"\n ></div>\n </div>\n <span class=\"title\"> 内边距 </span>\n <!--内边距 END-->\n <div\n class=\"thumnail width-height\"\n :class=\"moves.widthHeight ? 'thumnail-heightlight' : ''\"\n @mousemove=\"onMouseMove('widthHeight', 'move', $event)\"\n @mouseleave=\"onMouseMove('widthHeight', 'leave', $event)\"\n >\n <span class=\"title\">\n <span class=\"content-unit left-0\">\n <em @mouseenter=\"onDblclick('width', 9)\">{{ getValue(styles['width']) }}</em>\n </span>\n <input\n ref=\"inputWidth\"\n v-model=\"styles.width\"\n class=\"input-box absolute left-5% top-10px\"\n :class=\"showStyles['width'] ? ' show' : ''\"\n @blur=\"onBlur('width')\"\n />\n <span> x </span>\n <span class=\"content-unit right-0\">\n <em @mouseenter=\"onDblclick('height', 9)\">{{ getValue(styles['height']) }}</em>\n </span>\n <input\n ref=\"inputHeight\"\n v-model=\"styles.height\"\n class=\"input-box absolute right-5% top-10px\"\n :class=\"showStyles['height'] ? ' show' : ''\"\n @blur=\"onBlur('height')\"\n />\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { styleBoxInputProps } from './props'\nimport { nextTick, reactive, ref, watch } from 'vue'\nimport { margins, paddings } from './html'\nimport { upper } from '@vipl520/utils'\n\n\n\nconst props = defineProps(styleBoxInputProps)\n\nconst moves: any = reactive({\n margin: false,\n padding: false,\n widthHeight: false,\n})\n\nconst inputField = ref()\nconst inputWidth = ref()\nconst inputHeight = ref()\n\nconst styles: any = reactive({\n marginLeft: props.modelValue.marginLeft || '',\n marginRight: props.modelValue.marginRight || '',\n marginTop: props.modelValue.marginTop || '',\n marginBottom: props.modelValue.marginBottom || '',\n paddingLeft: props.modelValue.paddingLeft || '',\n paddingRight: props.modelValue.paddingRight || '',\n paddingTop: props.modelValue.paddingTop || '',\n paddingBottom: props.modelValue.paddingBottom || '',\n width: props.modelValue.width || '',\n height: props.modelValue.height || '',\n})\nconst emit = defineEmits(['update:modelValue', 'change'])\n\nconst height = ref(props.height)\n\nwatch(\n () => props.height,\n () => {\n console.log('height', props.height)\n }\n)\n\nwatch(\n () => props.modelValue,\n (newVal, oldVal) => {\n const propertiesToWatch = [\n 'marginLeft',\n 'marginRight',\n 'marginTop',\n 'marginBottom',\n 'paddingLeft',\n 'paddingRight',\n 'paddingTop',\n 'paddingBottom',\n 'width',\n 'height',\n ]\n propertiesToWatch.forEach((property) => {\n if (newVal[property] !== oldVal[property]) {\n styles[property] = newVal[property] || ''\n }\n })\n },\n { deep: true }\n)\n\nwatch(styles, () => {\n // 过滤 styles 中值为''\n const _styles = Object.keys(styles).reduce((acc: any, key) => {\n if (styles[key] !== '') {\n acc[key] = styles[key]\n }\n return acc\n }, {})\n emit('update:modelValue', _styles)\n emit('change', _styles)\n})\n\nconst showStyles: any = reactive({\n marginLeft: false,\n marginRight: false,\n marginTop: false,\n marginBottom: false,\n paddingLeft: false,\n paddingRight: false,\n paddingTop: false,\n paddingBottom: false,\n width: false,\n height: false,\n})\n\nconst dragging = ref(false)\nconst startPosition: any = reactive({\n x: 0,\n y: 0,\n})\n\nconst trackMouseBound: any = ref(null)\nconst stopChangeBound: any = ref(null)\nconst dragPosition = reactive({\n type: '',\n position: '',\n})\nconst positionStyle: any = reactive({\n display: 'none',\n width: '0px',\n height: '0px',\n left: '0px',\n top: '0px',\n})\n// const handleMouseMove = (event: any) => {\n// // 处理鼠标移动事件\n// if (dragging.value) {\n// const p = dragPosition.position\n// const type = dragPosition.type\n// const value = type + upper(p)\n// if (p === 'left' || p === 'right') {\n// // 说明是左右移动\n// positionStyle.left = event.clientX + 'px'\n// // 根据移动的距离,增加或者减少margin/padding-left/right 的大小\n// let difference = event.clientX - startPosition.x\n// if (p === 'left') {\n// difference = -difference\n// }\n// styles[value] = (parseInt(styles[value]) || 0) + difference + 'px'\n// startPosition.x = event.clientX\n// } else if (p === 'top' || p === 'bottom') {\n// positionStyle.top = event.clientY + 'px'\n// let difference = event.clientY - startPosition.y\n// if (p === 'top') {\n// difference = -difference\n// }\n// styles[value] = (parseInt(styles[value]) || 0) + difference + 'px'\n// startPosition.y = event.clientY\n// }\n// }\n// }\n\nconst handleMouseMove = (event: any) => {\n // 处理鼠标移动事件\n if (!dragging.value) return\n\n const p = dragPosition.position\n const type = dragPosition.type\n const value = type + upper(p)\n\n const updateStyle = (axis: 'x' | 'y', position: 'top' | 'bottom' | 'left' | 'right') => {\n const clientAxis = axis === 'x' ? 'clientX' : 'clientY'\n positionStyle[position] = event[clientAxis] + 'px'\n\n let difference = event[clientAxis] - startPosition[axis]\n if (p === 'top' || p === 'left') {\n difference = -difference\n }\n styles[value] = (parseInt(styles[value]) || 0) + difference + 'px'\n startPosition[axis] = event[clientAxis]\n }\n\n if (p === 'left' || p === 'right') {\n // 说明是左右移动\n updateStyle('x', 'left')\n } else if (p === 'top' || p === 'bottom') {\n updateStyle('y', 'top')\n }\n}\n\n// const handleMouseDown = (type: string, position: string, event: any) => {\n// // 处理鼠标按下事件\n// console.log('handleMouseDown', event)\n// dragPosition.position = position\n// dragPosition.type = type\n// trackMouseBound.value = handleMouseMove.bind(this)\n// document.addEventListener('mousemove', trackMouseBound.value)\n// stopChangeBound.value = handleMouseUp.bind(this)\n// document.addEventListener('mouseup', stopChangeBound.value)\n// dragging.value = true\n// const height = props.height\n// // 宽度 为.wrapper的宽度\n// const wrapperElement: any = document.querySelector('.wrapper')\n// const width = wrapperElement ? wrapperElement.offsetWidth : 0\n// const multiples: any = {\n// margin: 0.9,\n// padding: 0.9 * 0.7,\n// }\n// positionStyle.display = 'block'\n// startPosition.x = event.clientX\n// startPosition.y = event.clientY\n// if (position === 'left' || position === 'right') {\n// document.body.style.cursor = 'ew-resize'\n// positionStyle.left = event.clientX + 'px'\n// positionStyle.top = event.clientY - height * 0.5 * multiples[type] + 'px'\n// positionStyle.width = '0.1px'\n// positionStyle.height = height * multiples[type] + 'px'\n// } else {\n// document.body.style.cursor = 'ns-resize'\n// positionStyle.left = event.clientX - width * 0.5 * multiples[type] + 'px'\n// positionStyle.top = event.clientY + 'px'\n// positionStyle.width = width * multiples[type] + 'px'\n// positionStyle.height = '0.1px'\n// }\n// }\n\nconst handleMouseDown = (type: string, position: string, event: any) => {\n // 处理鼠标按下事件\n Object.assign(dragPosition, { position, type })\n trackMouseBound.value = handleMouseMove.bind(event)\n document.addEventListener('mousemove', trackMouseBound.value)\n stopChangeBound.value = handleMouseUp.bind(event)\n document.addEventListener('mouseup', stopChangeBound.value)\n dragging.value = true\n\n const height = props.height\n const wrapperElement: any = document.querySelector('.wrapper')\n const width = wrapperElement ? wrapperElement.offsetWidth : 0\n const multiples: any = {\n margin: 0.9,\n padding: 0.9 * 0.7,\n }\n\n const { clientX, clientY } = event\n\n const setCursorAndDimensions = (cursor: string, left: string, top: string, width: string, height: string) => {\n document.body.style.cursor = cursor\n Object.assign(positionStyle, { left, top, width, height, display: 'block' })\n }\n\n startPosition.x = clientX\n startPosition.y = clientY\n\n if (position === 'left' || position === 'right') {\n setCursorAndDimensions(\n 'ew-resize',\n clientX + 'px',\n clientY - height * 0.5 * multiples[type] + 'px',\n '0.1px',\n height * multiples[type] + 'px'\n )\n } else {\n setCursorAndDimensions(\n 'ns-resize',\n clientX - width * 0.5 * multiples[type] + 'px',\n clientY + 'px',\n width * multiples[type] + 'px',\n '0.1px'\n )\n }\n}\n\nconst handleMouseUp = () => {\n // 处理鼠标抬起事件\n document.removeEventListener('mousemove', trackMouseBound.value)\n document.removeEventListener('mouseup', stopChangeBound.value)\n dragging.value = false\n positionStyle.display = 'none'\n document.body.style.cursor = 'default'\n startPosition.x = null\n startPosition.y = null\n}\n\nconst onMouseMove = (value: string, type: string = 'move', event: any) => {\n if (!dragging.value) {\n event.stopPropagation()\n }\n if (type !== 'move') {\n moves[value] = false\n } else {\n // 其他的为false\n Object.keys(moves).forEach((key) => {\n if (key !== value) {\n moves[key] = false\n }\n })\n // 当前的为true\n moves[value] = true\n }\n}\n\nconst onDblclick = (value: any, key: number) => {\n showStyles[value] = true\n nextTick(() => {\n if (value === 'width') {\n inputWidth.value.focus()\n } else if (value === 'height') {\n inputHeight.value.focus()\n } else {\n inputField.value[key].focus()\n }\n })\n}\n\nconst getValue = (value: any) => {\n // 判断value结尾是否存在px、vh、%、rem等\n if (value === 'auto') {\n return value\n }\n if (value === '0' || value === 0) {\n return 0\n }\n if (value === '') {\n return '-'\n }\n return value\n}\n\nconst onBlur = (value: any) => {\n showStyles[value] = false\n // styles[value] 这是一个css的值,用户会自己填写,内容不确定,但是我希望是:数字+单位,单位为:px/rem/%/vh这些,如果不是的话,则默认为px\n if (styles[value] === '' || styles[value] === 'auto') {\n return\n }\n const validValueRegex = /^(\\d*\\.?\\d+)(px|rem|%|vh)$/\n // 检查value是否匹配有效单位,如果不匹配则默认为px\n if (!validValueRegex.test(styles[value])) {\n const number = parseInt(styles[value])\n if (isNaN(number)) {\n styles[value] = ''\n } else {\n styles[value] = number + 'px'\n }\n }\n}\n\nconst onRefresh = (type: string) => {\n if (type === 'widthHeight') {\n styles.width = ''\n styles.height = ''\n } else if (type === 'margin') {\n styles.marginLeft = ''\n styles.marginRight = ''\n styles.marginTop = ''\n styles.marginBottom = ''\n } else if (type === 'padding') {\n styles.paddingLeft = ''\n styles.paddingRight = ''\n styles.paddingTop = ''\n styles.paddingBottom = ''\n }\n}\n</script>\n"],"names":["__MACROS_defineComponent","height","width"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"style-box-input.vue2.mjs","sources":["../../../src/style-box-input/src/style-box-input.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkStyleBoxInput',\n});\n</script>\n<template>\n <div class=\"dk-style-box-input\">\n <div class=\"position-line\" :style=\"positionStyle\"></div>\n <div class=\"header\">\n <label class=\"items-center\">\n 内外边距 | 高宽\n <el-popover ref=\"popover\" placement=\"bottom\" title=\"说明\" :width=\"280\" trigger=\"hover\" :content=\"props.help\">\n <template #reference>\n <dk-icon icon=\"QuestionFilled\" class=\"m-l-5px vertical-text-top\"></dk-icon>\n </template>\n </el-popover>\n </label>\n <div class=\"float-right cursor-pointer\">\n <div class=\"name-header-operations\">\n <el-tooltip class=\"box-item\" effect=\"dark\" content=\"重置高宽\" placement=\"top-start\">\n <dk-icon icon=\"Refresh\" color=\"var(--el-color-primary)\" @click=\"onRefresh('widthHeight')\"></dk-icon>\n </el-tooltip>\n </div>\n <div class=\"name-header-operations\">\n <el-tooltip class=\"box-item\" effect=\"dark\" content=\"重置内边距\" placement=\"top-start\">\n <dk-icon icon=\"Refresh\" color=\"var(--el-color-success)\" @click=\"onRefresh('padding')\"></dk-icon>\n </el-tooltip>\n </div>\n <div class=\"name-header-operations\">\n <el-tooltip class=\"box-item\" effect=\"dark\" content=\"重置外边距\" placement=\"top-start\">\n <dk-icon icon=\"Refresh\" color=\"var(--el-color-warning)\" @click=\"onRefresh('margin')\"></dk-icon>\n </el-tooltip>\n </div>\n </div>\n <div ref=\"box\" tabindex=\"0\" class=\"wrapper\" style=\"margin-top: 10px\" :style=\"{ height: height + 'px' }\">\n <div\n class=\"thumnail margin\"\n :class=\"moves.margin ? 'thumnail-heightlight' : ''\"\n @mousemove=\"onMouseMove('margin', 'move', $event)\"\n @mouseleave=\"onMouseMove('margin', 'leave', $event)\"\n >\n <!--外边距 Margin-->\n <div>\n <div v-for=\"(item, key) in margins\" :key=\"key\">\n <span\n :title=\"item.title\"\n :class=\"`anchor-tip-${item.position} value-indicator`\"\n @click=\"onDblclick(item.value, key)\"\n >\n <span> {{ getValue(styles[item.value]) }}</span>\n </span>\n <input\n ref=\"inputField\"\n v-model=\"styles[item.value]\"\n :class=\"'input-box anchor-tip-' + item.position + (showStyles[item.value] ? ' show' : '')\"\n @blur=\"onBlur(item.value)\"\n />\n <svg\n :width=\"item.svg.width\"\n :height=\"item.svg.height\"\n :viewBox=\"item.svg.viewBox\"\n preserveAspectRatio=\"none\"\n :data-link-anchor=\"item.value\"\n :style=\"item.svg.style\"\n class=\"esm-modal-svg\"\n v-html=\"item.svg.content\"\n ></svg>\n </div>\n </div>\n <div style=\"position: absolute; display: none; width: 100%; height: 100%\"></div>\n <div class=\"anchor-wrapper\">\n <div\n v-for=\"(item, key) in ['left', 'right', 'top', 'bottom']\"\n :key=\"key\"\n class=\"anchor\"\n :class=\"'anchor-' + item\"\n @mousemove=\"handleMouseMove\"\n @mousedown=\"handleMouseDown('margin', item, $event)\"\n @mouseup=\"handleMouseUp\"\n ></div>\n </div>\n <span class=\"title\"> 外边距 </span>\n <!--外边距 Margin END-->\n\n <!--内边距 Padding-->\n <div class=\"thumnail border\">\n <div\n class=\"thumnail padding\"\n :class=\"moves.padding ? 'thumnail-heightlight' : ''\"\n @mousemove=\"onMouseMove('padding', 'move', $event)\"\n @mouseleave=\"onMouseMove('padding', 'leave', $event)\"\n >\n <div>\n <div v-for=\"(item, key) in paddings\" :key=\"key\">\n <span\n :title=\"item.title\"\n :class=\"`anchor-tip-${item.position} value-indicator`\"\n @click=\"onDblclick(item.value, key + 4)\"\n >\n <span> {{ getValue(styles[item.value]) }}</span>\n </span>\n <input\n ref=\"inputField\"\n v-model=\"styles[item.value]\"\n :class=\"'input-box anchor-tip-' + item.position + (showStyles[item.value] ? ' show' : '')\"\n @blur=\"onBlur(item.value)\"\n />\n <svg\n :width=\"item.svg.width\"\n :height=\"item.svg.height\"\n :viewBox=\"item.svg.viewBox\"\n preserveAspectRatio=\"none\"\n :data-link-anchor=\"item.value\"\n :style=\"item.svg.style\"\n class=\"esm-modal-svg\"\n v-html=\"item.svg.content\"\n ></svg>\n </div>\n </div>\n <div class=\"anchor-wrapper\">\n <div\n v-for=\"(item, key) in ['left', 'right', 'top', 'bottom']\"\n :key=\"key\"\n class=\"anchor\"\n :class=\"'anchor-' + item\"\n @mousemove=\"handleMouseMove\"\n @mousedown=\"handleMouseDown('padding', item, $event)\"\n @mouseup=\"handleMouseUp\"\n ></div>\n </div>\n <span class=\"title\"> 内边距 </span>\n <!--内边距 END-->\n <div\n class=\"thumnail width-height\"\n :class=\"moves.widthHeight ? 'thumnail-heightlight' : ''\"\n @mousemove=\"onMouseMove('widthHeight', 'move', $event)\"\n @mouseleave=\"onMouseMove('widthHeight', 'leave', $event)\"\n >\n <span class=\"title\">\n <span class=\"content-unit left-0\" @click=\"onDblclick('width', 9)\">\n <em>{{ getValue(styles['width']) }}</em>\n </span>\n <input\n ref=\"inputWidth\"\n v-model=\"styles.width\"\n class=\"input-box absolute left-5% top-10px\"\n :class=\"showStyles['width'] ? ' show' : ''\"\n @blur=\"onBlur('width')\"\n />\n <span> x </span>\n <span class=\"content-unit right-0\" @click=\"onDblclick('height', 9)\">\n <em>{{ getValue(styles['height']) }}</em>\n </span>\n <input\n ref=\"inputHeight\"\n v-model=\"styles.height\"\n class=\"input-box absolute right-5% top-10px\"\n :class=\"showStyles['height'] ? ' show' : ''\"\n @blur=\"onBlur('height')\"\n />\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { styleBoxInputProps } from './props'\nimport { nextTick, reactive, ref, watch, computed } from 'vue'\nimport { margins, paddings } from './html'\nimport { upper } from '@vipl520/utils'\nimport { useElementSize } from '@vueuse/core'\n\n\n\nconst props = defineProps(styleBoxInputProps)\n\nconst moves: any = reactive({\n margin: false,\n padding: false,\n widthHeight: false,\n})\n\nconst inputField = ref()\nconst inputWidth = ref()\nconst inputHeight = ref()\n\nconst styles: any = reactive({\n marginLeft: props.modelValue.marginLeft || '',\n marginRight: props.modelValue.marginRight || '',\n marginTop: props.modelValue.marginTop || '',\n marginBottom: props.modelValue.marginBottom || '',\n paddingLeft: props.modelValue.paddingLeft || '',\n paddingRight: props.modelValue.paddingRight || '',\n paddingTop: props.modelValue.paddingTop || '',\n paddingBottom: props.modelValue.paddingBottom || '',\n width: props.modelValue.width || '',\n height: props.modelValue.height || '',\n})\nconst emit = defineEmits(['update:modelValue', 'change'])\n\nconst box: any = ref(null)\nconst { width } = useElementSize(box) // 当前组件宽度\n\nconst height: any = computed(() => {\n console.log('props.height', props.height)\n if (props.height === 'auto') {\n const h = width.value / 1.8\n return h > 300 ? 300 : h\n } else {\n return props.height\n }\n})\n\nwatch(\n () => props.modelValue,\n (newVal, oldVal) => {\n const propertiesToWatch = [\n 'marginLeft',\n 'marginRight',\n 'marginTop',\n 'marginBottom',\n 'paddingLeft',\n 'paddingRight',\n 'paddingTop',\n 'paddingBottom',\n 'width',\n 'height',\n ]\n propertiesToWatch.forEach((property) => {\n if (newVal[property] !== oldVal[property]) {\n styles[property] = newVal[property] || ''\n }\n })\n },\n { deep: true }\n)\n\nwatch(styles, () => {\n // 过滤 styles 中值为''\n const _styles = Object.keys(styles).reduce((acc: any, key) => {\n if (styles[key] !== '') {\n acc[key] = styles[key]\n }\n return acc\n }, {})\n emit('update:modelValue', _styles)\n emit('change', _styles)\n})\n\nconst showStyles: any = reactive({\n marginLeft: false,\n marginRight: false,\n marginTop: false,\n marginBottom: false,\n paddingLeft: false,\n paddingRight: false,\n paddingTop: false,\n paddingBottom: false,\n width: false,\n height: false,\n})\n\nconst dragging = ref(false)\nconst startPosition: any = reactive({\n x: 0,\n y: 0,\n})\n\nconst trackMouseBound: any = ref(null)\nconst stopChangeBound: any = ref(null)\nconst dragPosition = reactive({\n type: '',\n position: '',\n})\nconst positionStyle: any = reactive({\n display: 'none',\n width: '0px',\n height: '0px',\n left: '0px',\n top: '0px',\n})\n// const handleMouseMove = (event: any) => {\n// // 处理鼠标移动事件\n// if (dragging.value) {\n// const p = dragPosition.position\n// const type = dragPosition.type\n// const value = type + upper(p)\n// if (p === 'left' || p === 'right') {\n// // 说明是左右移动\n// positionStyle.left = event.clientX + 'px'\n// // 根据移动的距离,增加或者减少margin/padding-left/right 的大小\n// let difference = event.clientX - startPosition.x\n// if (p === 'left') {\n// difference = -difference\n// }\n// styles[value] = (parseInt(styles[value]) || 0) + difference + 'px'\n// startPosition.x = event.clientX\n// } else if (p === 'top' || p === 'bottom') {\n// positionStyle.top = event.clientY + 'px'\n// let difference = event.clientY - startPosition.y\n// if (p === 'top') {\n// difference = -difference\n// }\n// styles[value] = (parseInt(styles[value]) || 0) + difference + 'px'\n// startPosition.y = event.clientY\n// }\n// }\n// }\n\nconst handleMouseMove = (event: any) => {\n // 处理鼠标移动事件\n if (!dragging.value) return\n\n const p = dragPosition.position\n const type = dragPosition.type\n const value = type + upper(p)\n\n const updateStyle = (axis: 'x' | 'y', position: 'top' | 'bottom' | 'left' | 'right') => {\n const clientAxis = axis === 'x' ? 'clientX' : 'clientY'\n positionStyle[position] = event[clientAxis] + 'px'\n\n let difference = event[clientAxis] - startPosition[axis]\n if (p === 'top' || p === 'left') {\n difference = -difference\n }\n styles[value] = (parseInt(styles[value]) || 0) + difference + 'px'\n startPosition[axis] = event[clientAxis]\n }\n\n if (p === 'left' || p === 'right') {\n // 说明是左右移动\n updateStyle('x', 'left')\n } else if (p === 'top' || p === 'bottom') {\n updateStyle('y', 'top')\n }\n}\n\n// const handleMouseDown = (type: string, position: string, event: any) => {\n// // 处理鼠标按下事件\n// console.log('handleMouseDown', event)\n// dragPosition.position = position\n// dragPosition.type = type\n// trackMouseBound.value = handleMouseMove.bind(this)\n// document.addEventListener('mousemove', trackMouseBound.value)\n// stopChangeBound.value = handleMouseUp.bind(this)\n// document.addEventListener('mouseup', stopChangeBound.value)\n// dragging.value = true\n// const height = props.height\n// // 宽度 为.wrapper的宽度\n// const wrapperElement: any = document.querySelector('.wrapper')\n// const width = wrapperElement ? wrapperElement.offsetWidth : 0\n// const multiples: any = {\n// margin: 0.9,\n// padding: 0.9 * 0.7,\n// }\n// positionStyle.display = 'block'\n// startPosition.x = event.clientX\n// startPosition.y = event.clientY\n// if (position === 'left' || position === 'right') {\n// document.body.style.cursor = 'ew-resize'\n// positionStyle.left = event.clientX + 'px'\n// positionStyle.top = event.clientY - height * 0.5 * multiples[type] + 'px'\n// positionStyle.width = '0.1px'\n// positionStyle.height = height * multiples[type] + 'px'\n// } else {\n// document.body.style.cursor = 'ns-resize'\n// positionStyle.left = event.clientX - width * 0.5 * multiples[type] + 'px'\n// positionStyle.top = event.clientY + 'px'\n// positionStyle.width = width * multiples[type] + 'px'\n// positionStyle.height = '0.1px'\n// }\n// }\n\nconst handleMouseDown = (type: string, position: string, event: any) => {\n // 处理鼠标按下事件\n Object.assign(dragPosition, { position, type })\n trackMouseBound.value = handleMouseMove.bind(event)\n document.addEventListener('mousemove', trackMouseBound.value)\n stopChangeBound.value = handleMouseUp.bind(event)\n document.addEventListener('mouseup', stopChangeBound.value)\n dragging.value = true\n\n // const height = props.height\n const wrapperElement: any = document.querySelector('.wrapper')\n const width = wrapperElement ? wrapperElement.offsetWidth : 0\n const multiples: any = {\n margin: 0.9,\n padding: 0.9 * 0.7,\n }\n\n const { clientX, clientY } = event\n\n const setCursorAndDimensions = (cursor: string, left: string, top: string, width: string, height: string) => {\n document.body.style.cursor = cursor\n Object.assign(positionStyle, { left, top, width, height, display: 'block' })\n }\n\n startPosition.x = clientX\n startPosition.y = clientY\n\n if (position === 'left' || position === 'right') {\n setCursorAndDimensions(\n 'ew-resize',\n clientX + 'px',\n clientY - height.value * 0.5 * multiples[type] + 'px',\n '0.1px',\n height.value * multiples[type] + 'px'\n )\n } else {\n setCursorAndDimensions(\n 'ns-resize',\n clientX - width * 0.5 * multiples[type] + 'px',\n clientY + 'px',\n width * multiples[type] + 'px',\n '0.1px'\n )\n }\n}\n\nconst handleMouseUp = () => {\n // 处理鼠标抬起事件\n document.removeEventListener('mousemove', trackMouseBound.value)\n document.removeEventListener('mouseup', stopChangeBound.value)\n dragging.value = false\n positionStyle.display = 'none'\n document.body.style.cursor = 'default'\n startPosition.x = null\n startPosition.y = null\n}\n\nconst onMouseMove = (value: string, type: string = 'move', event: any) => {\n if (!dragging.value) {\n event.stopPropagation()\n }\n if (type !== 'move') {\n moves[value] = false\n } else {\n // 其他的为false\n Object.keys(moves).forEach((key) => {\n if (key !== value) {\n moves[key] = false\n }\n })\n // 当前的为true\n moves[value] = true\n }\n}\n\nconst onDblclick = (value: any, key: number) => {\n showStyles[value] = true\n nextTick(() => {\n if (value === 'width') {\n inputWidth.value.focus()\n } else if (value === 'height') {\n inputHeight.value.focus()\n } else {\n inputField.value[key].focus()\n }\n })\n}\n\nconst getValue = (value: any) => {\n // 判断value结尾是否存在px、vh、%、rem等\n if (value === 'auto') {\n return value\n }\n if (value === '0' || value === 0) {\n return 0\n }\n if (value === '') {\n return '-'\n }\n return value\n}\n\nconst onBlur = (value: any) => {\n showStyles[value] = false\n // styles[value] 这是一个css的值,用户会自己填写,内容不确定,但是我希望是:数字+单位,单位为:px/rem/%/vh这些,如果不是的话,则默认为px\n if (styles[value] === '' || styles[value] === 'auto') {\n return\n }\n const validValueRegex = /^(\\d*\\.?\\d+)(px|rem|%|vh)$/\n // 检查value是否匹配有效单位,如果不匹配则默认为px\n if (!validValueRegex.test(styles[value])) {\n const number = parseInt(styles[value])\n if (isNaN(number)) {\n styles[value] = ''\n } else {\n styles[value] = number + 'px'\n }\n }\n}\n\nconst onRefresh = (type: string) => {\n if (type === 'widthHeight') {\n styles.width = ''\n styles.height = ''\n } else if (type === 'margin') {\n styles.marginLeft = ''\n styles.marginRight = ''\n styles.marginTop = ''\n styles.marginBottom = ''\n } else if (type === 'padding') {\n styles.paddingLeft = ''\n styles.paddingRight = ''\n styles.paddingTop = ''\n styles.paddingBottom = ''\n }\n}\n</script>\n"],"names":["__MACROS_defineComponent","width","height"],"mappings":"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"}
|
@@ -11,6 +11,22 @@ export declare const StyleInput: import("@vipl520/utils").WithInstall<import("vu
|
|
11
11
|
default: () => {};
|
12
12
|
type: ObjectConstructor;
|
13
13
|
};
|
14
|
+
isDrawer: {
|
15
|
+
default: boolean;
|
16
|
+
type: BooleanConstructor;
|
17
|
+
};
|
18
|
+
drawerProps: {
|
19
|
+
default: () => {
|
20
|
+
title: string;
|
21
|
+
direction: string;
|
22
|
+
size: string;
|
23
|
+
};
|
24
|
+
type: ObjectConstructor;
|
25
|
+
};
|
26
|
+
drawerText: {
|
27
|
+
default: string;
|
28
|
+
type: StringConstructor;
|
29
|
+
};
|
14
30
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
15
31
|
components: {
|
16
32
|
default: () => import("./src/default").StyleInputConfig;
|
@@ -24,12 +40,31 @@ export declare const StyleInput: import("@vipl520/utils").WithInstall<import("vu
|
|
24
40
|
default: () => {};
|
25
41
|
type: ObjectConstructor;
|
26
42
|
};
|
43
|
+
isDrawer: {
|
44
|
+
default: boolean;
|
45
|
+
type: BooleanConstructor;
|
46
|
+
};
|
47
|
+
drawerProps: {
|
48
|
+
default: () => {
|
49
|
+
title: string;
|
50
|
+
direction: string;
|
51
|
+
size: string;
|
52
|
+
};
|
53
|
+
type: ObjectConstructor;
|
54
|
+
};
|
55
|
+
drawerText: {
|
56
|
+
default: string;
|
57
|
+
type: StringConstructor;
|
58
|
+
};
|
27
59
|
}>> & {
|
28
60
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
29
61
|
}, {
|
30
62
|
modelValue: Record<string, any>;
|
31
63
|
components: import("./src/default").StyleInputConfig;
|
32
64
|
hideComponents: string[];
|
65
|
+
isDrawer: boolean;
|
66
|
+
drawerProps: Record<string, any>;
|
67
|
+
drawerText: string;
|
33
68
|
}, {}>>;
|
34
69
|
export default StyleInput;
|
35
70
|
export * from './src/props';
|
@@ -19,5 +19,21 @@ export declare const styleInputProps: {
|
|
19
19
|
default: () => {};
|
20
20
|
type: ObjectConstructor;
|
21
21
|
};
|
22
|
+
isDrawer: {
|
23
|
+
default: boolean;
|
24
|
+
type: BooleanConstructor;
|
25
|
+
};
|
26
|
+
drawerProps: {
|
27
|
+
default: () => {
|
28
|
+
title: string;
|
29
|
+
direction: string;
|
30
|
+
size: string;
|
31
|
+
};
|
32
|
+
type: ObjectConstructor;
|
33
|
+
};
|
34
|
+
drawerText: {
|
35
|
+
default: string;
|
36
|
+
type: StringConstructor;
|
37
|
+
};
|
22
38
|
};
|
23
39
|
export type StyleInputProps = ExtractPropTypes<typeof styleInputProps>;
|