@vipl520/dk-ui 1.0.70 → 1.0.72

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.js +2786 -806
  3. package/dist/index.min.js +9 -4
  4. package/dist/index.min.js.map +1 -1
  5. package/dist/index.min.mjs +9 -4
  6. package/dist/index.min.mjs.map +1 -1
  7. package/dist/index.mjs +2788 -808
  8. package/dist/web-types.json +1 -1
  9. package/es/page-diy/index.mjs +2 -0
  10. package/es/page-diy/index.mjs.map +1 -1
  11. package/es/page-diy/src/components/forms/DkCubeImageInput.vue.d.ts +26 -0
  12. package/es/page-diy/src/components/forms/DkCubeImageInput.vue.mjs +7 -0
  13. package/es/page-diy/src/components/forms/DkCubeImageInput.vue.mjs.map +1 -0
  14. package/es/page-diy/src/components/forms/DkCubeImageInput.vue2.mjs +372 -0
  15. package/es/page-diy/src/components/forms/DkCubeImageInput.vue2.mjs.map +1 -0
  16. package/es/page-diy/src/components/forms/DkEventCreateInput.vue.d.ts +0 -9
  17. package/es/page-diy/src/components/forms/DkEventCreateInput.vue2.mjs +0 -4
  18. package/es/page-diy/src/components/forms/DkEventCreateInput.vue2.mjs.map +1 -1
  19. package/es/page-diy/src/components/forms/DkEventSelectInput.vue.mjs +12 -15
  20. package/es/page-diy/src/components/forms/DkEventSelectInput.vue.mjs.map +1 -1
  21. package/es/page-diy/src/config/rule/min/common/DkMinBlank.d.ts +1 -1
  22. package/es/page-diy/src/config/rule/min/common/DkMinBlank.mjs +2 -2
  23. package/es/page-diy/src/config/rule/min/common/DkMinBlank.mjs.map +1 -1
  24. package/es/page-diy/src/config/rule/min/common/DkMinCubeImage.d.ts +48 -0
  25. package/es/page-diy/src/config/rule/min/common/DkMinCubeImage.mjs +49 -0
  26. package/es/page-diy/src/config/rule/min/common/DkMinCubeImage.mjs.map +1 -0
  27. package/es/page-diy/src/config/rule/min/common/DkMinGrid.d.ts +31 -2
  28. package/es/page-diy/src/config/rule/min/common/DkMinGrid.mjs +30 -3
  29. package/es/page-diy/src/config/rule/min/common/DkMinGrid.mjs.map +1 -1
  30. package/es/page-diy/src/config/rule/min/common/DkMinHotArea.mjs +1 -1
  31. package/es/page-diy/src/config/rule/min/common/DkMinHotArea.mjs.map +1 -1
  32. package/es/page-diy/src/config/rule/min/common/DkMinImage.d.ts +122 -0
  33. package/es/page-diy/src/config/rule/min/common/DkMinImage.mjs +144 -0
  34. package/es/page-diy/src/config/rule/min/common/DkMinImage.mjs.map +1 -0
  35. package/es/page-diy/src/config/rule/min/common/DkMinModal.d.ts +91 -0
  36. package/es/page-diy/src/config/rule/min/common/DkMinModal.mjs +85 -0
  37. package/es/page-diy/src/config/rule/min/common/DkMinModal.mjs.map +1 -0
  38. package/es/page-diy/src/config/rule/min/common/DkMinSwiperImage.d.ts +25 -6
  39. package/es/page-diy/src/config/rule/min/common/DkMinSwiperImage.mjs +25 -7
  40. package/es/page-diy/src/config/rule/min/common/DkMinSwiperImage.mjs.map +1 -1
  41. package/es/page-diy/src/config/rule/min/common/DkMinVideo.mjs +1 -1
  42. package/es/page-diy/src/config/rule/min/common/DkMinVideo.mjs.map +1 -1
  43. package/es/page-diy/src/config/rule/min/common/index.d.ts +880 -286
  44. package/es/page-diy/src/config/rule/min/common/index.mjs +22 -5
  45. package/es/page-diy/src/config/rule/min/common/index.mjs.map +1 -1
  46. package/es/page-diy/src/config/rule/min/index.d.ts +846 -252
  47. package/es/page-diy/src/views/min/DkMinCubeImage.vue.d.ts +60 -0
  48. package/es/page-diy/src/views/min/DkMinCubeImage.vue.mjs +184 -0
  49. package/es/page-diy/src/views/min/DkMinCubeImage.vue.mjs.map +1 -0
  50. package/es/page-diy/src/views/min/DkMinImage.vue.d.ts +135 -0
  51. package/es/page-diy/src/views/min/DkMinImage.vue.mjs +84 -0
  52. package/es/page-diy/src/views/min/DkMinImage.vue.mjs.map +1 -0
  53. package/es/page-diy/src/views/min/DkMinModal.vue.d.ts +41 -0
  54. package/es/page-diy/src/views/min/DkMinModal.vue.mjs +34 -0
  55. package/es/page-diy/src/views/min/DkMinModal.vue.mjs.map +1 -0
  56. package/es/page-diy/src/views/min/index.mjs +7 -1
  57. package/es/page-diy/src/views/min/index.mjs.map +1 -1
  58. package/es/page-diy/style/cube-image.css +1 -0
  59. package/es/page-diy/style/cube-image.scss +71 -0
  60. package/es/page-diy/style/index.css +1 -1
  61. package/es/page-diy/style/index.scss +1 -0
  62. package/es/page-diy/style/minViews/index.scss +89 -0
  63. package/es/style-box-input/src/style-box-input.vue2.mjs +135 -91
  64. package/es/style-box-input/src/style-box-input.vue2.mjs.map +1 -1
  65. package/es/table/index.d.ts +15 -0
  66. package/es/table/src/components/ComSearch.vue2.mjs +21 -12
  67. package/es/table/src/components/ComSearch.vue2.mjs.map +1 -1
  68. package/es/table/src/components/FieldRender.vue2.mjs +42 -22
  69. package/es/table/src/components/FieldRender.vue2.mjs.map +1 -1
  70. package/es/table/src/components/header.vue2.mjs +2 -2
  71. package/es/table/src/components/header.vue2.mjs.map +1 -1
  72. package/es/table/src/props.d.ts +4 -0
  73. package/es/table/src/props.mjs +4 -0
  74. package/es/table/src/props.mjs.map +1 -1
  75. package/es/table/src/table.vue.d.ts +9 -0
  76. package/es/table/src/table.vue2.mjs +3 -2
  77. package/es/table/src/table.vue2.mjs.map +1 -1
  78. package/es/table/utils/dkTable.mjs +4 -1
  79. package/es/table/utils/dkTable.mjs.map +1 -1
  80. package/es/tiny-editor/src/tiny-editor.vue2.mjs +0 -1
  81. package/es/tiny-editor/src/tiny-editor.vue2.mjs.map +1 -1
  82. package/lib/page-diy/index.js +2 -0
  83. package/lib/page-diy/index.js.map +1 -1
  84. package/lib/page-diy/src/components/forms/DkCubeImageInput.vue.d.ts +26 -0
  85. package/lib/page-diy/src/components/forms/DkCubeImageInput.vue.js +11 -0
  86. package/lib/page-diy/src/components/forms/DkCubeImageInput.vue.js.map +1 -0
  87. package/lib/page-diy/src/components/forms/DkCubeImageInput.vue2.js +376 -0
  88. package/lib/page-diy/src/components/forms/DkCubeImageInput.vue2.js.map +1 -0
  89. package/lib/page-diy/src/components/forms/DkEventCreateInput.vue.d.ts +0 -9
  90. package/lib/page-diy/src/components/forms/DkEventCreateInput.vue2.js +0 -4
  91. package/lib/page-diy/src/components/forms/DkEventCreateInput.vue2.js.map +1 -1
  92. package/lib/page-diy/src/components/forms/DkEventSelectInput.vue.js +12 -15
  93. package/lib/page-diy/src/components/forms/DkEventSelectInput.vue.js.map +1 -1
  94. package/lib/page-diy/src/config/rule/min/common/DkMinBlank.d.ts +1 -1
  95. package/lib/page-diy/src/config/rule/min/common/DkMinBlank.js +2 -2
  96. package/lib/page-diy/src/config/rule/min/common/DkMinBlank.js.map +1 -1
  97. package/lib/page-diy/src/config/rule/min/common/DkMinCubeImage.d.ts +48 -0
  98. package/lib/page-diy/src/config/rule/min/common/DkMinCubeImage.js +53 -0
  99. package/lib/page-diy/src/config/rule/min/common/DkMinCubeImage.js.map +1 -0
  100. package/lib/page-diy/src/config/rule/min/common/DkMinGrid.d.ts +31 -2
  101. package/lib/page-diy/src/config/rule/min/common/DkMinGrid.js +30 -3
  102. package/lib/page-diy/src/config/rule/min/common/DkMinGrid.js.map +1 -1
  103. package/lib/page-diy/src/config/rule/min/common/DkMinHotArea.js +1 -1
  104. package/lib/page-diy/src/config/rule/min/common/DkMinHotArea.js.map +1 -1
  105. package/lib/page-diy/src/config/rule/min/common/DkMinImage.d.ts +122 -0
  106. package/lib/page-diy/src/config/rule/min/common/DkMinImage.js +148 -0
  107. package/lib/page-diy/src/config/rule/min/common/DkMinImage.js.map +1 -0
  108. package/lib/page-diy/src/config/rule/min/common/DkMinModal.d.ts +91 -0
  109. package/lib/page-diy/src/config/rule/min/common/DkMinModal.js +89 -0
  110. package/lib/page-diy/src/config/rule/min/common/DkMinModal.js.map +1 -0
  111. package/lib/page-diy/src/config/rule/min/common/DkMinSwiperImage.d.ts +25 -6
  112. package/lib/page-diy/src/config/rule/min/common/DkMinSwiperImage.js +25 -7
  113. package/lib/page-diy/src/config/rule/min/common/DkMinSwiperImage.js.map +1 -1
  114. package/lib/page-diy/src/config/rule/min/common/DkMinVideo.js +1 -1
  115. package/lib/page-diy/src/config/rule/min/common/DkMinVideo.js.map +1 -1
  116. package/lib/page-diy/src/config/rule/min/common/index.d.ts +880 -286
  117. package/lib/page-diy/src/config/rule/min/common/index.js +22 -5
  118. package/lib/page-diy/src/config/rule/min/common/index.js.map +1 -1
  119. package/lib/page-diy/src/config/rule/min/index.d.ts +846 -252
  120. package/lib/page-diy/src/views/min/DkMinCubeImage.vue.d.ts +60 -0
  121. package/lib/page-diy/src/views/min/DkMinCubeImage.vue.js +188 -0
  122. package/lib/page-diy/src/views/min/DkMinCubeImage.vue.js.map +1 -0
  123. package/lib/page-diy/src/views/min/DkMinImage.vue.d.ts +135 -0
  124. package/lib/page-diy/src/views/min/DkMinImage.vue.js +88 -0
  125. package/lib/page-diy/src/views/min/DkMinImage.vue.js.map +1 -0
  126. package/lib/page-diy/src/views/min/DkMinModal.vue.d.ts +41 -0
  127. package/lib/page-diy/src/views/min/DkMinModal.vue.js +38 -0
  128. package/lib/page-diy/src/views/min/DkMinModal.vue.js.map +1 -0
  129. package/lib/page-diy/src/views/min/index.js +7 -1
  130. package/lib/page-diy/src/views/min/index.js.map +1 -1
  131. package/lib/page-diy/style/cube-image.css +1 -0
  132. package/lib/page-diy/style/cube-image.scss +71 -0
  133. package/lib/page-diy/style/index.css +1 -1
  134. package/lib/page-diy/style/index.scss +1 -0
  135. package/lib/page-diy/style/minViews/index.scss +89 -0
  136. package/lib/style-box-input/src/style-box-input.vue2.js +134 -90
  137. package/lib/style-box-input/src/style-box-input.vue2.js.map +1 -1
  138. package/lib/table/index.d.ts +15 -0
  139. package/lib/table/src/components/ComSearch.vue2.js +21 -12
  140. package/lib/table/src/components/ComSearch.vue2.js.map +1 -1
  141. package/lib/table/src/components/FieldRender.vue2.js +41 -21
  142. package/lib/table/src/components/FieldRender.vue2.js.map +1 -1
  143. package/lib/table/src/components/header.vue2.js +2 -2
  144. package/lib/table/src/components/header.vue2.js.map +1 -1
  145. package/lib/table/src/props.d.ts +4 -0
  146. package/lib/table/src/props.js +4 -0
  147. package/lib/table/src/props.js.map +1 -1
  148. package/lib/table/src/table.vue.d.ts +9 -0
  149. package/lib/table/src/table.vue2.js +3 -2
  150. package/lib/table/src/table.vue2.js.map +1 -1
  151. package/lib/table/utils/dkTable.js +4 -1
  152. package/lib/table/utils/dkTable.js.map +1 -1
  153. package/lib/tiny-editor/src/tiny-editor.vue2.js +0 -1
  154. package/lib/tiny-editor/src/tiny-editor.vue2.js.map +1 -1
  155. 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 = ["title", "onDblclick"];
15
- const _hoisted_5 = ["onUpdate:modelValue", "onBlur"];
16
- const _hoisted_6 = ["width", "height", "viewBox", "data-link-anchor", "innerHTML"];
17
- const _hoisted_7 = /* @__PURE__ */ vue.createElementVNode(
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 _hoisted_8 = { class: "anchor-wrapper" };
25
- const _hoisted_9 = ["onMousedown"];
26
- const _hoisted_10 = /* @__PURE__ */ vue.createElementVNode(
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 _hoisted_11 = { class: "tools" };
34
- const _hoisted_12 = { class: "thumnail border" };
35
- const _hoisted_13 = ["title", "onDblclick"];
36
- const _hoisted_14 = ["onUpdate:modelValue", "onBlur"];
37
- const _hoisted_15 = ["width", "height", "viewBox", "data-link-anchor", "innerHTML"];
38
- const _hoisted_16 = { class: "anchor-wrapper" };
39
- const _hoisted_17 = ["onMousedown"];
40
- const _hoisted_18 = /* @__PURE__ */ vue.createElementVNode(
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 _hoisted_19 = { class: "tools" };
48
- const _hoisted_20 = { class: "title" };
49
- const _hoisted_21 = /* @__PURE__ */ vue.createElementVNode(
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("label", _hoisted_3, [
340
- vue.createTextVNode(" \u5185\u5916\u8FB9\u8DDD | \u9AD8\u5BBD "),
341
- vue.createVNode(_component_el_popover, {
342
- ref: "popover",
343
- placement: "bottom",
344
- title: "\u8BF4\u660E",
345
- width: 280,
346
- trigger: "hover",
347
- content: props.help
348
- }, {
349
- reference: vue.withCtx(() => [
350
- vue.createVNode(_component_dk_icon, {
351
- icon: "QuestionFilled",
352
- class: "m-l-5px vertical-text-top"
353
- })
354
- ]),
355
- _: 1
356
- /* STABLE */
357
- }, 8, ["content"])
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(&#45;&#45;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(&#45;&#45;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[14] || (_cache[14] = ($event) => onMouseMove("margin", "move", $event)),
391
- onMouseleave: _cache[15] || (_cache[15] = ($event) => onMouseMove("margin", "leave", $event))
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, _hoisted_4),
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, _hoisted_5), [
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, _hoisted_6))
463
+ }, null, 12, _hoisted_7))
434
464
  ]);
435
465
  }),
436
466
  128
437
467
  /* KEYED_FRAGMENT */
438
468
  ))
439
469
  ]),
440
- _hoisted_7,
441
- vue.createElementVNode("div", _hoisted_8, [
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, _hoisted_9);
482
+ }, null, 42, _hoisted_10);
453
483
  }),
454
484
  64
455
485
  /* STABLE_FRAGMENT */
456
486
  ))
457
487
  ]),
458
- _hoisted_10,
459
- vue.createElementVNode("div", _hoisted_11, [
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[0] || (_cache[0] = ($event) => onBind("margin"))
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[1] || (_cache[1] = ($event) => onRefresh("margin"))
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", _hoisted_12, [
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[12] || (_cache[12] = ($event) => onMouseMove("padding", "move", $event)),
504
- onMouseleave: _cache[13] || (_cache[13] = ($event) => onMouseMove("padding", "leave", $event))
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, _hoisted_13),
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, _hoisted_14), [
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, _hoisted_15))
575
+ }, null, 12, _hoisted_16))
546
576
  ]);
547
577
  }),
548
578
  128
549
579
  /* KEYED_FRAGMENT */
550
580
  ))
551
581
  ]),
552
- vue.createElementVNode("div", _hoisted_16, [
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, _hoisted_17);
593
+ }, null, 42, _hoisted_18);
564
594
  }),
565
595
  64
566
596
  /* STABLE_FRAGMENT */
567
597
  ))
568
598
  ]),
569
- _hoisted_18,
570
- vue.createElementVNode("div", _hoisted_19, [
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[2] || (_cache[2] = ($event) => onBind("padding"))
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[3] || (_cache[3] = ($event) => onRefresh("padding"))
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[10] || (_cache[10] = ($event) => onMouseMove("widthHeight", "move", $event)),
613
- onMouseleave: _cache[11] || (_cache[11] = ($event) => onMouseMove("widthHeight", "leave", $event))
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", _hoisted_20, [
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[4] || (_cache[4] = ($event) => onDblclick("width", 9))
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[5] || (_cache[5] = ($event) => styles.width = $event),
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[6] || (_cache[6] = ($event) => onBlur("width"))
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
- _hoisted_21,
680
+ _hoisted_22,
651
681
  vue.createElementVNode(
652
682
  "span",
653
683
  {
654
684
  class: "content-unit right-0",
655
- onDblclick: _cache[7] || (_cache[7] = ($event) => onDblclick("height", 9))
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[8] || (_cache[8] = ($event) => styles.height = $event),
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[9] || (_cache[9] = ($event) => onBlur("height"))
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(&#45;&#45;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(&#45;&#45;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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"}