@vipl520/dk-ui 1.0.71 → 1.0.74
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.css +1 -1
- package/dist/index.js +2795 -805
- package/dist/index.min.js +9 -4
- package/dist/index.min.js.map +1 -1
- package/dist/index.min.mjs +9 -4
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +2797 -807
- package/dist/web-types.json +1 -1
- package/es/page-diy/index.mjs +2 -0
- package/es/page-diy/index.mjs.map +1 -1
- package/es/page-diy/src/components/forms/DkCubeImageInput.vue.d.ts +26 -0
- package/es/page-diy/src/components/forms/DkCubeImageInput.vue.mjs +7 -0
- package/es/page-diy/src/components/forms/DkCubeImageInput.vue.mjs.map +1 -0
- package/es/page-diy/src/components/forms/DkCubeImageInput.vue2.mjs +371 -0
- package/es/page-diy/src/components/forms/DkCubeImageInput.vue2.mjs.map +1 -0
- package/es/page-diy/src/components/forms/DkEventCreateInput.vue.d.ts +0 -9
- package/es/page-diy/src/components/forms/DkEventCreateInput.vue2.mjs +0 -4
- package/es/page-diy/src/components/forms/DkEventCreateInput.vue2.mjs.map +1 -1
- package/es/page-diy/src/components/forms/DkEventSelectInput.vue.mjs +12 -15
- package/es/page-diy/src/components/forms/DkEventSelectInput.vue.mjs.map +1 -1
- package/es/page-diy/src/config/rule/min/common/DkMinBlank.d.ts +1 -1
- package/es/page-diy/src/config/rule/min/common/DkMinBlank.mjs +2 -2
- package/es/page-diy/src/config/rule/min/common/DkMinBlank.mjs.map +1 -1
- package/es/page-diy/src/config/rule/min/common/DkMinCubeImage.d.ts +48 -0
- package/es/page-diy/src/config/rule/min/common/DkMinCubeImage.mjs +49 -0
- package/es/page-diy/src/config/rule/min/common/DkMinCubeImage.mjs.map +1 -0
- package/es/page-diy/src/config/rule/min/common/DkMinGrid.d.ts +31 -2
- package/es/page-diy/src/config/rule/min/common/DkMinGrid.mjs +30 -3
- package/es/page-diy/src/config/rule/min/common/DkMinGrid.mjs.map +1 -1
- package/es/page-diy/src/config/rule/min/common/DkMinHotArea.mjs +1 -1
- package/es/page-diy/src/config/rule/min/common/DkMinHotArea.mjs.map +1 -1
- package/es/page-diy/src/config/rule/min/common/DkMinImage.d.ts +122 -0
- package/es/page-diy/src/config/rule/min/common/DkMinImage.mjs +144 -0
- package/es/page-diy/src/config/rule/min/common/DkMinImage.mjs.map +1 -0
- package/es/page-diy/src/config/rule/min/common/DkMinModal.d.ts +91 -0
- package/es/page-diy/src/config/rule/min/common/DkMinModal.mjs +85 -0
- package/es/page-diy/src/config/rule/min/common/DkMinModal.mjs.map +1 -0
- package/es/page-diy/src/config/rule/min/common/DkMinSwiperImage.d.ts +25 -6
- package/es/page-diy/src/config/rule/min/common/DkMinSwiperImage.mjs +25 -7
- package/es/page-diy/src/config/rule/min/common/DkMinSwiperImage.mjs.map +1 -1
- package/es/page-diy/src/config/rule/min/common/DkMinVideo.mjs +1 -1
- package/es/page-diy/src/config/rule/min/common/DkMinVideo.mjs.map +1 -1
- package/es/page-diy/src/config/rule/min/common/index.d.ts +880 -286
- package/es/page-diy/src/config/rule/min/common/index.mjs +22 -5
- package/es/page-diy/src/config/rule/min/common/index.mjs.map +1 -1
- package/es/page-diy/src/config/rule/min/index.d.ts +846 -252
- package/es/page-diy/src/views/min/DkMinCubeImage.vue.d.ts +67 -0
- package/es/page-diy/src/views/min/DkMinCubeImage.vue.mjs +194 -0
- package/es/page-diy/src/views/min/DkMinCubeImage.vue.mjs.map +1 -0
- package/es/page-diy/src/views/min/DkMinImage.vue.d.ts +135 -0
- package/es/page-diy/src/views/min/DkMinImage.vue.mjs +84 -0
- package/es/page-diy/src/views/min/DkMinImage.vue.mjs.map +1 -0
- package/es/page-diy/src/views/min/DkMinModal.vue.d.ts +41 -0
- package/es/page-diy/src/views/min/DkMinModal.vue.mjs +34 -0
- package/es/page-diy/src/views/min/DkMinModal.vue.mjs.map +1 -0
- package/es/page-diy/src/views/min/index.mjs +7 -1
- package/es/page-diy/src/views/min/index.mjs.map +1 -1
- package/es/page-diy/style/cube-image.css +1 -0
- package/es/page-diy/style/cube-image.scss +71 -0
- package/es/page-diy/style/index.css +1 -1
- package/es/page-diy/style/index.scss +1 -0
- package/es/page-diy/style/minViews/index.scss +86 -0
- package/es/style-box-input/src/style-box-input.vue2.mjs +135 -91
- package/es/style-box-input/src/style-box-input.vue2.mjs.map +1 -1
- package/es/table/index.d.ts +15 -0
- package/es/table/src/components/ComSearch.vue2.mjs +21 -12
- package/es/table/src/components/ComSearch.vue2.mjs.map +1 -1
- package/es/table/src/components/FieldRender.vue2.mjs +42 -22
- package/es/table/src/components/FieldRender.vue2.mjs.map +1 -1
- package/es/table/src/components/header.vue2.mjs +2 -2
- package/es/table/src/components/header.vue2.mjs.map +1 -1
- package/es/table/src/props.d.ts +4 -0
- package/es/table/src/props.mjs +4 -0
- package/es/table/src/props.mjs.map +1 -1
- package/es/table/src/table.vue.d.ts +9 -0
- package/es/table/src/table.vue2.mjs +3 -2
- package/es/table/src/table.vue2.mjs.map +1 -1
- package/es/table/utils/dkTable.mjs +4 -1
- package/es/table/utils/dkTable.mjs.map +1 -1
- package/lib/page-diy/index.js +2 -0
- package/lib/page-diy/index.js.map +1 -1
- package/lib/page-diy/src/components/forms/DkCubeImageInput.vue.d.ts +26 -0
- package/lib/page-diy/src/components/forms/DkCubeImageInput.vue.js +11 -0
- package/lib/page-diy/src/components/forms/DkCubeImageInput.vue.js.map +1 -0
- package/lib/page-diy/src/components/forms/DkCubeImageInput.vue2.js +375 -0
- package/lib/page-diy/src/components/forms/DkCubeImageInput.vue2.js.map +1 -0
- package/lib/page-diy/src/components/forms/DkEventCreateInput.vue.d.ts +0 -9
- package/lib/page-diy/src/components/forms/DkEventCreateInput.vue2.js +0 -4
- package/lib/page-diy/src/components/forms/DkEventCreateInput.vue2.js.map +1 -1
- package/lib/page-diy/src/components/forms/DkEventSelectInput.vue.js +12 -15
- package/lib/page-diy/src/components/forms/DkEventSelectInput.vue.js.map +1 -1
- package/lib/page-diy/src/config/rule/min/common/DkMinBlank.d.ts +1 -1
- package/lib/page-diy/src/config/rule/min/common/DkMinBlank.js +2 -2
- package/lib/page-diy/src/config/rule/min/common/DkMinBlank.js.map +1 -1
- package/lib/page-diy/src/config/rule/min/common/DkMinCubeImage.d.ts +48 -0
- package/lib/page-diy/src/config/rule/min/common/DkMinCubeImage.js +53 -0
- package/lib/page-diy/src/config/rule/min/common/DkMinCubeImage.js.map +1 -0
- package/lib/page-diy/src/config/rule/min/common/DkMinGrid.d.ts +31 -2
- package/lib/page-diy/src/config/rule/min/common/DkMinGrid.js +30 -3
- package/lib/page-diy/src/config/rule/min/common/DkMinGrid.js.map +1 -1
- package/lib/page-diy/src/config/rule/min/common/DkMinHotArea.js +1 -1
- package/lib/page-diy/src/config/rule/min/common/DkMinHotArea.js.map +1 -1
- package/lib/page-diy/src/config/rule/min/common/DkMinImage.d.ts +122 -0
- package/lib/page-diy/src/config/rule/min/common/DkMinImage.js +148 -0
- package/lib/page-diy/src/config/rule/min/common/DkMinImage.js.map +1 -0
- package/lib/page-diy/src/config/rule/min/common/DkMinModal.d.ts +91 -0
- package/lib/page-diy/src/config/rule/min/common/DkMinModal.js +89 -0
- package/lib/page-diy/src/config/rule/min/common/DkMinModal.js.map +1 -0
- package/lib/page-diy/src/config/rule/min/common/DkMinSwiperImage.d.ts +25 -6
- package/lib/page-diy/src/config/rule/min/common/DkMinSwiperImage.js +25 -7
- package/lib/page-diy/src/config/rule/min/common/DkMinSwiperImage.js.map +1 -1
- package/lib/page-diy/src/config/rule/min/common/DkMinVideo.js +1 -1
- package/lib/page-diy/src/config/rule/min/common/DkMinVideo.js.map +1 -1
- package/lib/page-diy/src/config/rule/min/common/index.d.ts +880 -286
- package/lib/page-diy/src/config/rule/min/common/index.js +22 -5
- package/lib/page-diy/src/config/rule/min/common/index.js.map +1 -1
- package/lib/page-diy/src/config/rule/min/index.d.ts +846 -252
- package/lib/page-diy/src/views/min/DkMinCubeImage.vue.d.ts +67 -0
- package/lib/page-diy/src/views/min/DkMinCubeImage.vue.js +198 -0
- package/lib/page-diy/src/views/min/DkMinCubeImage.vue.js.map +1 -0
- package/lib/page-diy/src/views/min/DkMinImage.vue.d.ts +135 -0
- package/lib/page-diy/src/views/min/DkMinImage.vue.js +88 -0
- package/lib/page-diy/src/views/min/DkMinImage.vue.js.map +1 -0
- package/lib/page-diy/src/views/min/DkMinModal.vue.d.ts +41 -0
- package/lib/page-diy/src/views/min/DkMinModal.vue.js +38 -0
- package/lib/page-diy/src/views/min/DkMinModal.vue.js.map +1 -0
- package/lib/page-diy/src/views/min/index.js +7 -1
- package/lib/page-diy/src/views/min/index.js.map +1 -1
- package/lib/page-diy/style/cube-image.css +1 -0
- package/lib/page-diy/style/cube-image.scss +71 -0
- package/lib/page-diy/style/index.css +1 -1
- package/lib/page-diy/style/index.scss +1 -0
- package/lib/page-diy/style/minViews/index.scss +86 -0
- package/lib/style-box-input/src/style-box-input.vue2.js +134 -90
- package/lib/style-box-input/src/style-box-input.vue2.js.map +1 -1
- package/lib/table/index.d.ts +15 -0
- package/lib/table/src/components/ComSearch.vue2.js +21 -12
- package/lib/table/src/components/ComSearch.vue2.js.map +1 -1
- package/lib/table/src/components/FieldRender.vue2.js +41 -21
- package/lib/table/src/components/FieldRender.vue2.js.map +1 -1
- package/lib/table/src/components/header.vue2.js +2 -2
- package/lib/table/src/components/header.vue2.js.map +1 -1
- package/lib/table/src/props.d.ts +4 -0
- package/lib/table/src/props.js +4 -0
- package/lib/table/src/props.js.map +1 -1
- package/lib/table/src/table.vue.d.ts +9 -0
- package/lib/table/src/table.vue2.js +3 -2
- package/lib/table/src/table.vue2.js.map +1 -1
- package/lib/table/utils/dkTable.js +4 -1
- package/lib/table/utils/dkTable.js.map +1 -1
- package/package.json +1 -1
@@ -10,49 +10,54 @@ var core = require('@vueuse/core');
|
|
10
10
|
|
11
11
|
const _hoisted_1 = { class: "dk-style-box-input" };
|
12
12
|
const _hoisted_2 = { class: "header" };
|
13
|
-
const _hoisted_3 = { class: "items-center" };
|
14
|
-
const _hoisted_4 =
|
15
|
-
const _hoisted_5 = ["
|
16
|
-
const _hoisted_6 = ["
|
17
|
-
const _hoisted_7 =
|
13
|
+
const _hoisted_3 = { class: "flex items-center justify-between" };
|
14
|
+
const _hoisted_4 = { class: "items-center" };
|
15
|
+
const _hoisted_5 = ["title", "onDblclick"];
|
16
|
+
const _hoisted_6 = ["onUpdate:modelValue", "onBlur"];
|
17
|
+
const _hoisted_7 = ["width", "height", "viewBox", "data-link-anchor", "innerHTML"];
|
18
|
+
const _hoisted_8 = /* @__PURE__ */ vue.createElementVNode(
|
18
19
|
"div",
|
19
20
|
{ style: { "position": "absolute", "display": "none", "width": "100%", "height": "100%" } },
|
20
21
|
null,
|
21
22
|
-1
|
22
23
|
/* HOISTED */
|
23
24
|
);
|
24
|
-
const
|
25
|
-
const
|
26
|
-
const
|
25
|
+
const _hoisted_9 = { class: "anchor-wrapper" };
|
26
|
+
const _hoisted_10 = ["onMousedown"];
|
27
|
+
const _hoisted_11 = /* @__PURE__ */ vue.createElementVNode(
|
27
28
|
"span",
|
28
29
|
{ class: "title" },
|
29
30
|
" \u5916\u8FB9\u8DDD ",
|
30
31
|
-1
|
31
32
|
/* HOISTED */
|
32
33
|
);
|
33
|
-
const
|
34
|
-
const
|
35
|
-
const
|
36
|
-
const
|
37
|
-
const
|
38
|
-
const
|
39
|
-
const
|
40
|
-
const
|
34
|
+
const _hoisted_12 = { class: "tools" };
|
35
|
+
const _hoisted_13 = { class: "thumnail border" };
|
36
|
+
const _hoisted_14 = ["title", "onDblclick"];
|
37
|
+
const _hoisted_15 = ["onUpdate:modelValue", "onBlur"];
|
38
|
+
const _hoisted_16 = ["width", "height", "viewBox", "data-link-anchor", "innerHTML"];
|
39
|
+
const _hoisted_17 = { class: "anchor-wrapper" };
|
40
|
+
const _hoisted_18 = ["onMousedown"];
|
41
|
+
const _hoisted_19 = /* @__PURE__ */ vue.createElementVNode(
|
41
42
|
"span",
|
42
43
|
{ class: "title" },
|
43
44
|
" \u5185\u8FB9\u8DDD ",
|
44
45
|
-1
|
45
46
|
/* HOISTED */
|
46
47
|
);
|
47
|
-
const
|
48
|
-
const
|
49
|
-
const
|
48
|
+
const _hoisted_20 = { class: "tools" };
|
49
|
+
const _hoisted_21 = { class: "title" };
|
50
|
+
const _hoisted_22 = /* @__PURE__ */ vue.createElementVNode(
|
50
51
|
"span",
|
51
52
|
null,
|
52
53
|
" x ",
|
53
54
|
-1
|
54
55
|
/* HOISTED */
|
55
56
|
);
|
57
|
+
const _hoisted_23 = {
|
58
|
+
key: 0,
|
59
|
+
class: "flex items-center justify-between"
|
60
|
+
};
|
56
61
|
const __default__ = vue.defineComponent({
|
57
62
|
name: "DkStyleBoxInput"
|
58
63
|
});
|
@@ -70,6 +75,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
70
75
|
const inputField = vue.ref();
|
71
76
|
const inputWidth = vue.ref();
|
72
77
|
const inputHeight = vue.ref();
|
78
|
+
const showSize = vue.ref(false);
|
73
79
|
const styles = vue.reactive({
|
74
80
|
marginLeft: props.modelValue.marginLeft || "",
|
75
81
|
marginRight: props.modelValue.marginRight || "",
|
@@ -272,6 +278,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
272
278
|
if (value === "") {
|
273
279
|
return "-";
|
274
280
|
}
|
281
|
+
if (typeof value === "string" && value.includes("calc")) {
|
282
|
+
return value;
|
283
|
+
}
|
275
284
|
return value;
|
276
285
|
};
|
277
286
|
const onBlur = (value) => {
|
@@ -279,6 +288,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
279
288
|
if (styles[value] === "" || styles[value] === "auto") {
|
280
289
|
return;
|
281
290
|
}
|
291
|
+
if (typeof styles[value] === "string" && styles[value].includes("calc")) {
|
292
|
+
return;
|
293
|
+
}
|
282
294
|
const validValueRegex = /^(\d*\.?\d+)(px|rem|%|vh)$/;
|
283
295
|
if (!validValueRegex.test(styles[value])) {
|
284
296
|
const number = parseInt(styles[value]);
|
@@ -323,7 +335,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
323
335
|
return (_ctx, _cache) => {
|
324
336
|
const _component_dk_icon = vue.resolveComponent("dk-icon");
|
325
337
|
const _component_el_popover = vue.resolveComponent("el-popover");
|
338
|
+
const _component_el_switch = vue.resolveComponent("el-switch");
|
326
339
|
const _component_el_tooltip = vue.resolveComponent("el-tooltip");
|
340
|
+
const _component_el_input = vue.resolveComponent("el-input");
|
327
341
|
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
|
328
342
|
vue.createElementVNode(
|
329
343
|
"div",
|
@@ -336,43 +350,59 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
336
350
|
/* STYLE */
|
337
351
|
),
|
338
352
|
vue.createElementVNode("div", _hoisted_2, [
|
339
|
-
vue.createElementVNode("
|
340
|
-
vue.
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
vue.
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
353
|
+
vue.createElementVNode("div", _hoisted_3, [
|
354
|
+
vue.createElementVNode("label", _hoisted_4, [
|
355
|
+
vue.createTextVNode(" \u5185\u5916\u8FB9\u8DDD "),
|
356
|
+
vue.createVNode(_component_el_popover, {
|
357
|
+
ref: "popover",
|
358
|
+
placement: "bottom",
|
359
|
+
title: "\u8BF4\u660E",
|
360
|
+
width: 280,
|
361
|
+
trigger: "hover",
|
362
|
+
content: props.help
|
363
|
+
}, {
|
364
|
+
reference: vue.withCtx(() => [
|
365
|
+
vue.createVNode(_component_dk_icon, {
|
366
|
+
icon: "QuestionFilled",
|
367
|
+
class: "m-l-5px vertical-text-top"
|
368
|
+
})
|
369
|
+
]),
|
370
|
+
_: 1
|
371
|
+
/* STABLE */
|
372
|
+
}, 8, ["content"])
|
373
|
+
]),
|
374
|
+
vue.createElementVNode("div", null, [
|
375
|
+
vue.createTextVNode(" \u9AD8\u5BBD\u8F85\u52A9 "),
|
376
|
+
vue.createVNode(_component_el_switch, {
|
377
|
+
modelValue: showSize.value,
|
378
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => showSize.value = $event),
|
379
|
+
size: "small"
|
380
|
+
}, null, 8, ["modelValue"]),
|
381
|
+
vue.createVNode(
|
382
|
+
_component_el_popover,
|
383
|
+
{
|
384
|
+
ref: "popover",
|
385
|
+
placement: "bottom",
|
386
|
+
title: "\u8BF4\u660E",
|
387
|
+
width: 380,
|
388
|
+
trigger: "hover",
|
389
|
+
content: "\u8BBE\u7F6E\u5F53\u524D\u5143\u7D20\u9AD8\u5EA6\u4E0E\u5BBD\u5EA6\uFF0C\u4F8B\u5982\uFF1A10px\u300180%\u300110em\u7B49\u540E\u7F00\uFF0C\u5982\u679C\u67D0\u4E9B\u5143\u7D20\u8BBE\u7F6E\u4E86\u5916\u8FB9\u8DDD\uFF0C\u5185\u90E8\u8BBE\u7F6E100%\u53EF\u80FD\u4F1A\u9519\u4F4D\uFF0C\u90A3\u4E48\u53EF\u4EE5\u586B\u5199calc\u683C\u5F0F\uFF1Acalc(100% - 20px)"
|
390
|
+
},
|
391
|
+
{
|
392
|
+
reference: vue.withCtx(() => [
|
393
|
+
vue.createVNode(_component_dk_icon, {
|
394
|
+
icon: "QuestionFilled",
|
395
|
+
class: "m-l-5px vertical-text-top"
|
396
|
+
})
|
397
|
+
]),
|
398
|
+
_: 1
|
399
|
+
/* STABLE */
|
400
|
+
},
|
401
|
+
512
|
402
|
+
/* NEED_PATCH */
|
403
|
+
)
|
404
|
+
])
|
358
405
|
]),
|
359
|
-
vue.createCommentVNode(' <div class="float-right cursor-pointer">'),
|
360
|
-
vue.createCommentVNode(' <div class="name-header-operations">'),
|
361
|
-
vue.createCommentVNode(' <el-tooltip class="box-item" effect="dark" content="\u91CD\u7F6E\u9AD8\u5BBD" placement="top-start">'),
|
362
|
-
vue.createCommentVNode(` <dk-icon icon="Refresh" color="#303133" @click="onRefresh('widthHeight')"></dk-icon>`),
|
363
|
-
vue.createCommentVNode(" </el-tooltip>"),
|
364
|
-
vue.createCommentVNode(" </div>"),
|
365
|
-
vue.createCommentVNode(' <div class="name-header-operations">'),
|
366
|
-
vue.createCommentVNode(' <el-tooltip class="box-item" effect="dark" content="\u91CD\u7F6E\u5185\u8FB9\u8DDD" placement="top-start">'),
|
367
|
-
vue.createCommentVNode(` <dk-icon icon="Refresh" color="var(--el-color-success)" @click="onRefresh('padding')"></dk-icon>`),
|
368
|
-
vue.createCommentVNode(" </el-tooltip>"),
|
369
|
-
vue.createCommentVNode(" </div>"),
|
370
|
-
vue.createCommentVNode(' <div class="name-header-operations">'),
|
371
|
-
vue.createCommentVNode(' <el-tooltip class="box-item" effect="dark" content="\u91CD\u7F6E\u5916\u8FB9\u8DDD" placement="top-start">'),
|
372
|
-
vue.createCommentVNode(` <dk-icon icon="Refresh" color="var(--el-color-warning)" @click="onRefresh('margin')"></dk-icon>`),
|
373
|
-
vue.createCommentVNode(" </el-tooltip>"),
|
374
|
-
vue.createCommentVNode(" </div>"),
|
375
|
-
vue.createCommentVNode(" </div>"),
|
376
406
|
vue.createElementVNode(
|
377
407
|
"div",
|
378
408
|
{
|
@@ -387,8 +417,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
387
417
|
"div",
|
388
418
|
{
|
389
419
|
class: vue.normalizeClass(["thumnail margin", moves.margin ? "thumnail-heightlight" : ""]),
|
390
|
-
onMousemove: _cache[
|
391
|
-
onMouseleave: _cache[
|
420
|
+
onMousemove: _cache[15] || (_cache[15] = ($event) => onMouseMove("margin", "move", $event)),
|
421
|
+
onMouseleave: _cache[16] || (_cache[16] = ($event) => onMouseMove("margin", "leave", $event))
|
392
422
|
},
|
393
423
|
[
|
394
424
|
vue.createCommentVNode("\u5916\u8FB9\u8DDD Margin"),
|
@@ -410,7 +440,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
410
440
|
1
|
411
441
|
/* TEXT */
|
412
442
|
)
|
413
|
-
], 42,
|
443
|
+
], 42, _hoisted_5),
|
414
444
|
vue.withDirectives(vue.createElementVNode("input", {
|
415
445
|
ref_for: true,
|
416
446
|
ref_key: "inputField",
|
@@ -418,7 +448,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
418
448
|
"onUpdate:modelValue": ($event) => styles[item.value] = $event,
|
419
449
|
class: vue.normalizeClass("input-box anchor-tip-" + item.position + (showStyles[item.value] ? " show" : "")),
|
420
450
|
onBlur: ($event) => onBlur(item.value)
|
421
|
-
}, null, 42,
|
451
|
+
}, null, 42, _hoisted_6), [
|
422
452
|
[vue.vModelText, styles[item.value]]
|
423
453
|
]),
|
424
454
|
(vue.openBlock(), vue.createElementBlock("svg", {
|
@@ -430,15 +460,15 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
430
460
|
style: vue.normalizeStyle(item.svg.style),
|
431
461
|
class: "esm-modal-svg",
|
432
462
|
innerHTML: item.svg.content
|
433
|
-
}, null, 12,
|
463
|
+
}, null, 12, _hoisted_7))
|
434
464
|
]);
|
435
465
|
}),
|
436
466
|
128
|
437
467
|
/* KEYED_FRAGMENT */
|
438
468
|
))
|
439
469
|
]),
|
440
|
-
|
441
|
-
vue.createElementVNode("div",
|
470
|
+
_hoisted_8,
|
471
|
+
vue.createElementVNode("div", _hoisted_9, [
|
442
472
|
(vue.openBlock(), vue.createElementBlock(
|
443
473
|
vue.Fragment,
|
444
474
|
null,
|
@@ -449,14 +479,14 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
449
479
|
onMousemove: handleMouseMove,
|
450
480
|
onMousedown: ($event) => handleMouseDown("margin", item, $event),
|
451
481
|
onMouseup: handleMouseUp
|
452
|
-
}, null, 42,
|
482
|
+
}, null, 42, _hoisted_10);
|
453
483
|
}),
|
454
484
|
64
|
455
485
|
/* STABLE_FRAGMENT */
|
456
486
|
))
|
457
487
|
]),
|
458
|
-
|
459
|
-
vue.createElementVNode("div",
|
488
|
+
_hoisted_11,
|
489
|
+
vue.createElementVNode("div", _hoisted_12, [
|
460
490
|
vue.createVNode(_component_el_tooltip, {
|
461
491
|
"show-after": 1e3,
|
462
492
|
class: "box-item",
|
@@ -469,7 +499,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
469
499
|
style: { "margin-right": "5px" },
|
470
500
|
icon: "Connection",
|
471
501
|
color: bind.margin ? "#f00" : "#303133",
|
472
|
-
onClick: _cache[
|
502
|
+
onClick: _cache[1] || (_cache[1] = ($event) => onBind("margin"))
|
473
503
|
}, null, 8, ["color"])
|
474
504
|
]),
|
475
505
|
_: 1
|
@@ -486,7 +516,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
486
516
|
vue.createVNode(_component_dk_icon, {
|
487
517
|
icon: "Refresh",
|
488
518
|
color: "#303133",
|
489
|
-
onClick: _cache[
|
519
|
+
onClick: _cache[2] || (_cache[2] = ($event) => onRefresh("margin"))
|
490
520
|
})
|
491
521
|
]),
|
492
522
|
_: 1
|
@@ -495,13 +525,13 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
495
525
|
]),
|
496
526
|
vue.createCommentVNode("\u5916\u8FB9\u8DDD Margin END"),
|
497
527
|
vue.createCommentVNode("\u5185\u8FB9\u8DDD Padding"),
|
498
|
-
vue.createElementVNode("div",
|
528
|
+
vue.createElementVNode("div", _hoisted_13, [
|
499
529
|
vue.createElementVNode(
|
500
530
|
"div",
|
501
531
|
{
|
502
532
|
class: vue.normalizeClass(["thumnail padding", moves.padding ? "thumnail-heightlight" : ""]),
|
503
|
-
onMousemove: _cache[
|
504
|
-
onMouseleave: _cache[
|
533
|
+
onMousemove: _cache[13] || (_cache[13] = ($event) => onMouseMove("padding", "move", $event)),
|
534
|
+
onMouseleave: _cache[14] || (_cache[14] = ($event) => onMouseMove("padding", "leave", $event))
|
505
535
|
},
|
506
536
|
[
|
507
537
|
vue.createElementVNode("div", null, [
|
@@ -522,7 +552,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
522
552
|
1
|
523
553
|
/* TEXT */
|
524
554
|
)
|
525
|
-
], 42,
|
555
|
+
], 42, _hoisted_14),
|
526
556
|
vue.withDirectives(vue.createElementVNode("input", {
|
527
557
|
ref_for: true,
|
528
558
|
ref_key: "inputField",
|
@@ -530,7 +560,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
530
560
|
"onUpdate:modelValue": ($event) => styles[item.value] = $event,
|
531
561
|
class: vue.normalizeClass("input-box anchor-tip-" + item.position + (showStyles[item.value] ? " show" : "")),
|
532
562
|
onBlur: ($event) => onBlur(item.value)
|
533
|
-
}, null, 42,
|
563
|
+
}, null, 42, _hoisted_15), [
|
534
564
|
[vue.vModelText, styles[item.value]]
|
535
565
|
]),
|
536
566
|
(vue.openBlock(), vue.createElementBlock("svg", {
|
@@ -542,14 +572,14 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
542
572
|
style: vue.normalizeStyle(item.svg.style),
|
543
573
|
class: "esm-modal-svg",
|
544
574
|
innerHTML: item.svg.content
|
545
|
-
}, null, 12,
|
575
|
+
}, null, 12, _hoisted_16))
|
546
576
|
]);
|
547
577
|
}),
|
548
578
|
128
|
549
579
|
/* KEYED_FRAGMENT */
|
550
580
|
))
|
551
581
|
]),
|
552
|
-
vue.createElementVNode("div",
|
582
|
+
vue.createElementVNode("div", _hoisted_17, [
|
553
583
|
(vue.openBlock(), vue.createElementBlock(
|
554
584
|
vue.Fragment,
|
555
585
|
null,
|
@@ -560,14 +590,14 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
560
590
|
onMousemove: handleMouseMove,
|
561
591
|
onMousedown: ($event) => handleMouseDown("padding", item, $event),
|
562
592
|
onMouseup: handleMouseUp
|
563
|
-
}, null, 42,
|
593
|
+
}, null, 42, _hoisted_18);
|
564
594
|
}),
|
565
595
|
64
|
566
596
|
/* STABLE_FRAGMENT */
|
567
597
|
))
|
568
598
|
]),
|
569
|
-
|
570
|
-
vue.createElementVNode("div",
|
599
|
+
_hoisted_19,
|
600
|
+
vue.createElementVNode("div", _hoisted_20, [
|
571
601
|
vue.createVNode(_component_el_tooltip, {
|
572
602
|
"show-after": 1e3,
|
573
603
|
class: "box-item",
|
@@ -580,7 +610,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
580
610
|
style: { "margin-right": "5px" },
|
581
611
|
icon: "Connection",
|
582
612
|
color: bind.padding ? "#f00" : "#303133",
|
583
|
-
onClick: _cache[
|
613
|
+
onClick: _cache[3] || (_cache[3] = ($event) => onBind("padding"))
|
584
614
|
}, null, 8, ["color"])
|
585
615
|
]),
|
586
616
|
_: 1
|
@@ -597,7 +627,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
597
627
|
vue.createVNode(_component_dk_icon, {
|
598
628
|
icon: "Refresh",
|
599
629
|
color: "#303133",
|
600
|
-
onClick: _cache[
|
630
|
+
onClick: _cache[4] || (_cache[4] = ($event) => onRefresh("padding"))
|
601
631
|
})
|
602
632
|
]),
|
603
633
|
_: 1
|
@@ -609,16 +639,16 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
609
639
|
"div",
|
610
640
|
{
|
611
641
|
class: vue.normalizeClass(["thumnail width-height", moves.widthHeight ? "thumnail-heightlight" : ""]),
|
612
|
-
onMousemove: _cache[
|
613
|
-
onMouseleave: _cache[
|
642
|
+
onMousemove: _cache[11] || (_cache[11] = ($event) => onMouseMove("widthHeight", "move", $event)),
|
643
|
+
onMouseleave: _cache[12] || (_cache[12] = ($event) => onMouseMove("widthHeight", "leave", $event))
|
614
644
|
},
|
615
645
|
[
|
616
|
-
vue.createElementVNode("span",
|
646
|
+
vue.createElementVNode("span", _hoisted_21, [
|
617
647
|
vue.createElementVNode(
|
618
648
|
"span",
|
619
649
|
{
|
620
650
|
class: "content-unit left-0",
|
621
|
-
onDblclick: _cache[
|
651
|
+
onDblclick: _cache[5] || (_cache[5] = ($event) => onDblclick("width", 9))
|
622
652
|
},
|
623
653
|
[
|
624
654
|
vue.createElementVNode(
|
@@ -637,9 +667,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
637
667
|
{
|
638
668
|
ref_key: "inputWidth",
|
639
669
|
ref: inputWidth,
|
640
|
-
"onUpdate:modelValue": _cache[
|
670
|
+
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => styles.width = $event),
|
641
671
|
class: vue.normalizeClass(["input-box absolute left-5% top-10px", showStyles["width"] ? " show" : ""]),
|
642
|
-
onBlur: _cache[
|
672
|
+
onBlur: _cache[7] || (_cache[7] = ($event) => onBlur("width"))
|
643
673
|
},
|
644
674
|
null,
|
645
675
|
34
|
@@ -647,12 +677,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
647
677
|
), [
|
648
678
|
[vue.vModelText, styles.width]
|
649
679
|
]),
|
650
|
-
|
680
|
+
_hoisted_22,
|
651
681
|
vue.createElementVNode(
|
652
682
|
"span",
|
653
683
|
{
|
654
684
|
class: "content-unit right-0",
|
655
|
-
onDblclick: _cache[
|
685
|
+
onDblclick: _cache[8] || (_cache[8] = ($event) => onDblclick("height", 9))
|
656
686
|
},
|
657
687
|
[
|
658
688
|
vue.createElementVNode(
|
@@ -671,9 +701,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
671
701
|
{
|
672
702
|
ref_key: "inputHeight",
|
673
703
|
ref: inputHeight,
|
674
|
-
"onUpdate:modelValue": _cache[
|
704
|
+
"onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => styles.height = $event),
|
675
705
|
class: vue.normalizeClass(["input-box absolute right-5% top-10px", showStyles["height"] ? " show" : ""]),
|
676
|
-
onBlur: _cache[
|
706
|
+
onBlur: _cache[10] || (_cache[10] = ($event) => onBlur("height"))
|
677
707
|
},
|
678
708
|
null,
|
679
709
|
34
|
@@ -698,7 +728,21 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
698
728
|
],
|
699
729
|
4
|
700
730
|
/* STYLE */
|
701
|
-
)
|
731
|
+
),
|
732
|
+
showSize.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23, [
|
733
|
+
vue.createVNode(_component_el_input, {
|
734
|
+
modelValue: styles.width,
|
735
|
+
"onUpdate:modelValue": _cache[17] || (_cache[17] = ($event) => styles.width = $event),
|
736
|
+
class: "w-50%",
|
737
|
+
placeholder: "\u8F93\u5165\u5BBD\u5EA6"
|
738
|
+
}, null, 8, ["modelValue"]),
|
739
|
+
vue.createVNode(_component_el_input, {
|
740
|
+
modelValue: styles.height,
|
741
|
+
"onUpdate:modelValue": _cache[18] || (_cache[18] = ($event) => styles.height = $event),
|
742
|
+
class: "w-50%",
|
743
|
+
placeholder: "\u8F93\u5165\u9AD8\u5EA6"
|
744
|
+
}, null, 8, ["modelValue"])
|
745
|
+
])) : vue.createCommentVNode("v-if", true)
|
702
746
|
])
|
703
747
|
]);
|
704
748
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"style-box-input.vue2.js","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=\"#303133\" @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 @dblclick=\"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 <div class=\"tools\">\n <el-tooltip :show-after=\"1000\" class=\"box-item\" effect=\"dark\" content=\"联动\" placement=\"top-start\">\n <dk-icon\n style=\"margin-right: 5px\"\n icon=\"Connection\"\n :color=\"bind.margin ? '#f00' : '#303133'\"\n @click=\"onBind('margin')\"\n ></dk-icon>\n </el-tooltip>\n <el-tooltip :show-after=\"1000\" class=\"box-item\" effect=\"dark\" content=\"重置外边距\" placement=\"top-start\">\n <dk-icon icon=\"Refresh\" color=\"#303133\" @click=\"onRefresh('margin')\"></dk-icon>\n </el-tooltip>\n </div>\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 @dblclick=\"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 <div class=\"tools\">\n <el-tooltip :show-after=\"1000\" class=\"box-item\" effect=\"dark\" content=\"联动\" placement=\"top-start\">\n <dk-icon\n style=\"margin-right: 5px\"\n icon=\"Connection\"\n :color=\"bind.padding ? '#f00' : '#303133'\"\n @click=\"onBind('padding')\"\n ></dk-icon>\n </el-tooltip>\n <el-tooltip\n :show-after=\"1000\"\n class=\"box-item\"\n effect=\"dark\"\n content=\"重置内边距\"\n placement=\"top-start\"\n >\n <dk-icon icon=\"Refresh\" color=\"#303133\" @click=\"onRefresh('padding')\"></dk-icon>\n </el-tooltip>\n </div>\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\" @dblclick=\"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\" @dblclick=\"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) // 当前组件宽度\nconst bind: any = reactive({\n padding: false,\n margin: false,\n size: false,\n})\nconst height: any = computed(() => {\n if (props.height === 'auto') {\n const h = width.value / 1.8\n return h > 200 ? 200 : 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\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\n if (bind[type]) {\n styles[type + 'Top'] = styles[value]\n styles[type + 'Bottom'] = styles[value]\n styles[type + 'Left'] = styles[value]\n styles[type + 'Right'] = styles[value]\n }\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\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 if (value.indexOf('padding') == 0 && bind.padding) {\n styles.paddingTop = styles[value]\n styles.paddingRight = styles[value]\n styles.paddingBottom = styles[value]\n styles.paddingLeft = styles[value]\n }\n if (value.indexOf('margin') == 0 && bind.padding) {\n styles.marginTop = styles[value]\n styles.marginRight = styles[value]\n styles.marginBottom = styles[value]\n styles.marginLeft = styles[value]\n }\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\nconst onBind = (type: string) => {\n bind[type] = !bind[type]\n}\n</script>\n"],"names":["__MACROS_defineComponent","reactive","ref","useElementSize","computed","watch","upper","width","height","nextTick"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"style-box-input.vue2.js","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 <div class=\"flex items-center justify-between\">\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>\n 高宽辅助 <el-switch v-model=\"showSize\" size=\"small\"></el-switch>\n <el-popover\n ref=\"popover\"\n placement=\"bottom\"\n title=\"说明\"\n :width=\"380\"\n trigger=\"hover\"\n content=\"设置当前元素高度与宽度,例如:10px、80%、10em等后缀,如果某些元素设置了外边距,内部设置100%可能会错位,那么可以填写calc格式:calc(100% - 20px)\"\n >\n <template #reference>\n <dk-icon icon=\"QuestionFilled\" class=\"m-l-5px vertical-text-top\"></dk-icon>\n </template>\n </el-popover>\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 @dblclick=\"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 <div class=\"tools\">\n <el-tooltip :show-after=\"1000\" class=\"box-item\" effect=\"dark\" content=\"联动\" placement=\"top-start\">\n <dk-icon\n style=\"margin-right: 5px\"\n icon=\"Connection\"\n :color=\"bind.margin ? '#f00' : '#303133'\"\n @click=\"onBind('margin')\"\n ></dk-icon>\n </el-tooltip>\n <el-tooltip :show-after=\"1000\" class=\"box-item\" effect=\"dark\" content=\"重置外边距\" placement=\"top-start\">\n <dk-icon icon=\"Refresh\" color=\"#303133\" @click=\"onRefresh('margin')\"></dk-icon>\n </el-tooltip>\n </div>\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 @dblclick=\"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 <div class=\"tools\">\n <el-tooltip :show-after=\"1000\" class=\"box-item\" effect=\"dark\" content=\"联动\" placement=\"top-start\">\n <dk-icon\n style=\"margin-right: 5px\"\n icon=\"Connection\"\n :color=\"bind.padding ? '#f00' : '#303133'\"\n @click=\"onBind('padding')\"\n ></dk-icon>\n </el-tooltip>\n <el-tooltip\n :show-after=\"1000\"\n class=\"box-item\"\n effect=\"dark\"\n content=\"重置内边距\"\n placement=\"top-start\"\n >\n <dk-icon icon=\"Refresh\" color=\"#303133\" @click=\"onRefresh('padding')\"></dk-icon>\n </el-tooltip>\n </div>\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\" @dblclick=\"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\" @dblclick=\"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 v-if=\"showSize\" class=\"flex items-center justify-between\">\n <el-input v-model=\"styles.width\" class=\"w-50%\" placeholder=\"输入宽度\"></el-input>\n <el-input v-model=\"styles.height\" class=\"w-50%\" placeholder=\"输入高度\"></el-input>\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 showSize = ref(false)\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) // 当前组件宽度\nconst bind: any = reactive({\n padding: false,\n margin: false,\n size: false,\n})\nconst height: any = computed(() => {\n if (props.height === 'auto') {\n const h = width.value / 1.8\n return h > 200 ? 200 : 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\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\n if (bind[type]) {\n styles[type + 'Top'] = styles[value]\n styles[type + 'Bottom'] = styles[value]\n styles[type + 'Left'] = styles[value]\n styles[type + 'Right'] = styles[value]\n }\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\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 // 判断是否为 'auto'\n if (value === 'auto') {\n return value\n }\n\n // 判断是否为 '0' 或者数字 0\n if (value === '0' || value === 0) {\n return 0\n }\n\n // 判断是否为空字符串\n if (value === '') {\n return '-'\n }\n\n // 使用正则表达式判断是否存在 calc() 表达式或特定单位结尾\n if (typeof value === 'string' && value.includes('calc')) {\n return value\n }\n\n // 如果不符合上述任何条件,则按原样返回 value\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\n // 使用正则表达式判断是否存在 calc() 表达式或特定单位结尾\n if (typeof styles[value] === 'string' && styles[value].includes('calc')) {\n return\n }\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 if (value.indexOf('padding') == 0 && bind.padding) {\n styles.paddingTop = styles[value]\n styles.paddingRight = styles[value]\n styles.paddingBottom = styles[value]\n styles.paddingLeft = styles[value]\n }\n if (value.indexOf('margin') == 0 && bind.padding) {\n styles.marginTop = styles[value]\n styles.marginRight = styles[value]\n styles.marginBottom = styles[value]\n styles.marginLeft = styles[value]\n }\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\nconst onBind = (type: string) => {\n bind[type] = !bind[type]\n}\n</script>\n"],"names":["__MACROS_defineComponent","reactive","ref","useElementSize","computed","watch","upper","width","height","nextTick"],"mappings":"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"}
|