@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
@@ -1,4 +1,4 @@
1
- import { createElementVNode, defineComponent, reactive, ref, computed, watch, nextTick, resolveComponent, openBlock, createElementBlock, normalizeStyle, createTextVNode, createVNode, withCtx, createCommentVNode, normalizeClass, Fragment, renderList, unref, toDisplayString, withDirectives, vModelText } from 'vue';
1
+ import { createElementVNode, defineComponent, reactive, ref, computed, watch, nextTick, resolveComponent, openBlock, createElementBlock, normalizeStyle, createTextVNode, createVNode, withCtx, normalizeClass, createCommentVNode, Fragment, renderList, unref, toDisplayString, withDirectives, vModelText } from 'vue';
2
2
  import { styleBoxInputProps } from './props.mjs';
3
3
  import { margins, paddings } from './html.mjs';
4
4
  import { upper } from '@vipl520/utils';
@@ -6,49 +6,54 @@ import { useElementSize } from '@vueuse/core';
6
6
 
7
7
  const _hoisted_1 = { class: "dk-style-box-input" };
8
8
  const _hoisted_2 = { class: "header" };
9
- const _hoisted_3 = { class: "items-center" };
10
- const _hoisted_4 = ["title", "onDblclick"];
11
- const _hoisted_5 = ["onUpdate:modelValue", "onBlur"];
12
- const _hoisted_6 = ["width", "height", "viewBox", "data-link-anchor", "innerHTML"];
13
- const _hoisted_7 = /* @__PURE__ */ createElementVNode(
9
+ const _hoisted_3 = { class: "flex items-center justify-between" };
10
+ const _hoisted_4 = { class: "items-center" };
11
+ const _hoisted_5 = ["title", "onDblclick"];
12
+ const _hoisted_6 = ["onUpdate:modelValue", "onBlur"];
13
+ const _hoisted_7 = ["width", "height", "viewBox", "data-link-anchor", "innerHTML"];
14
+ const _hoisted_8 = /* @__PURE__ */ createElementVNode(
14
15
  "div",
15
16
  { style: { "position": "absolute", "display": "none", "width": "100%", "height": "100%" } },
16
17
  null,
17
18
  -1
18
19
  /* HOISTED */
19
20
  );
20
- const _hoisted_8 = { class: "anchor-wrapper" };
21
- const _hoisted_9 = ["onMousedown"];
22
- const _hoisted_10 = /* @__PURE__ */ createElementVNode(
21
+ const _hoisted_9 = { class: "anchor-wrapper" };
22
+ const _hoisted_10 = ["onMousedown"];
23
+ const _hoisted_11 = /* @__PURE__ */ createElementVNode(
23
24
  "span",
24
25
  { class: "title" },
25
26
  " \u5916\u8FB9\u8DDD ",
26
27
  -1
27
28
  /* HOISTED */
28
29
  );
29
- const _hoisted_11 = { class: "tools" };
30
- const _hoisted_12 = { class: "thumnail border" };
31
- const _hoisted_13 = ["title", "onDblclick"];
32
- const _hoisted_14 = ["onUpdate:modelValue", "onBlur"];
33
- const _hoisted_15 = ["width", "height", "viewBox", "data-link-anchor", "innerHTML"];
34
- const _hoisted_16 = { class: "anchor-wrapper" };
35
- const _hoisted_17 = ["onMousedown"];
36
- const _hoisted_18 = /* @__PURE__ */ createElementVNode(
30
+ const _hoisted_12 = { class: "tools" };
31
+ const _hoisted_13 = { class: "thumnail border" };
32
+ const _hoisted_14 = ["title", "onDblclick"];
33
+ const _hoisted_15 = ["onUpdate:modelValue", "onBlur"];
34
+ const _hoisted_16 = ["width", "height", "viewBox", "data-link-anchor", "innerHTML"];
35
+ const _hoisted_17 = { class: "anchor-wrapper" };
36
+ const _hoisted_18 = ["onMousedown"];
37
+ const _hoisted_19 = /* @__PURE__ */ createElementVNode(
37
38
  "span",
38
39
  { class: "title" },
39
40
  " \u5185\u8FB9\u8DDD ",
40
41
  -1
41
42
  /* HOISTED */
42
43
  );
43
- const _hoisted_19 = { class: "tools" };
44
- const _hoisted_20 = { class: "title" };
45
- const _hoisted_21 = /* @__PURE__ */ createElementVNode(
44
+ const _hoisted_20 = { class: "tools" };
45
+ const _hoisted_21 = { class: "title" };
46
+ const _hoisted_22 = /* @__PURE__ */ createElementVNode(
46
47
  "span",
47
48
  null,
48
49
  " x ",
49
50
  -1
50
51
  /* HOISTED */
51
52
  );
53
+ const _hoisted_23 = {
54
+ key: 0,
55
+ class: "flex items-center justify-between"
56
+ };
52
57
  const __default__ = defineComponent({
53
58
  name: "DkStyleBoxInput"
54
59
  });
@@ -66,6 +71,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
66
71
  const inputField = ref();
67
72
  const inputWidth = ref();
68
73
  const inputHeight = ref();
74
+ const showSize = ref(false);
69
75
  const styles = reactive({
70
76
  marginLeft: props.modelValue.marginLeft || "",
71
77
  marginRight: props.modelValue.marginRight || "",
@@ -268,6 +274,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
268
274
  if (value === "") {
269
275
  return "-";
270
276
  }
277
+ if (typeof value === "string" && value.includes("calc")) {
278
+ return value;
279
+ }
271
280
  return value;
272
281
  };
273
282
  const onBlur = (value) => {
@@ -275,6 +284,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
275
284
  if (styles[value] === "" || styles[value] === "auto") {
276
285
  return;
277
286
  }
287
+ if (typeof styles[value] === "string" && styles[value].includes("calc")) {
288
+ return;
289
+ }
278
290
  const validValueRegex = /^(\d*\.?\d+)(px|rem|%|vh)$/;
279
291
  if (!validValueRegex.test(styles[value])) {
280
292
  const number = parseInt(styles[value]);
@@ -319,7 +331,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
319
331
  return (_ctx, _cache) => {
320
332
  const _component_dk_icon = resolveComponent("dk-icon");
321
333
  const _component_el_popover = resolveComponent("el-popover");
334
+ const _component_el_switch = resolveComponent("el-switch");
322
335
  const _component_el_tooltip = resolveComponent("el-tooltip");
336
+ const _component_el_input = resolveComponent("el-input");
323
337
  return openBlock(), createElementBlock("div", _hoisted_1, [
324
338
  createElementVNode(
325
339
  "div",
@@ -332,43 +346,59 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
332
346
  /* STYLE */
333
347
  ),
334
348
  createElementVNode("div", _hoisted_2, [
335
- createElementVNode("label", _hoisted_3, [
336
- createTextVNode(" \u5185\u5916\u8FB9\u8DDD | \u9AD8\u5BBD "),
337
- createVNode(_component_el_popover, {
338
- ref: "popover",
339
- placement: "bottom",
340
- title: "\u8BF4\u660E",
341
- width: 280,
342
- trigger: "hover",
343
- content: props.help
344
- }, {
345
- reference: withCtx(() => [
346
- createVNode(_component_dk_icon, {
347
- icon: "QuestionFilled",
348
- class: "m-l-5px vertical-text-top"
349
- })
350
- ]),
351
- _: 1
352
- /* STABLE */
353
- }, 8, ["content"])
349
+ createElementVNode("div", _hoisted_3, [
350
+ createElementVNode("label", _hoisted_4, [
351
+ createTextVNode(" \u5185\u5916\u8FB9\u8DDD "),
352
+ createVNode(_component_el_popover, {
353
+ ref: "popover",
354
+ placement: "bottom",
355
+ title: "\u8BF4\u660E",
356
+ width: 280,
357
+ trigger: "hover",
358
+ content: props.help
359
+ }, {
360
+ reference: withCtx(() => [
361
+ createVNode(_component_dk_icon, {
362
+ icon: "QuestionFilled",
363
+ class: "m-l-5px vertical-text-top"
364
+ })
365
+ ]),
366
+ _: 1
367
+ /* STABLE */
368
+ }, 8, ["content"])
369
+ ]),
370
+ createElementVNode("div", null, [
371
+ createTextVNode(" \u9AD8\u5BBD\u8F85\u52A9 "),
372
+ createVNode(_component_el_switch, {
373
+ modelValue: showSize.value,
374
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => showSize.value = $event),
375
+ size: "small"
376
+ }, null, 8, ["modelValue"]),
377
+ createVNode(
378
+ _component_el_popover,
379
+ {
380
+ ref: "popover",
381
+ placement: "bottom",
382
+ title: "\u8BF4\u660E",
383
+ width: 380,
384
+ trigger: "hover",
385
+ 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)"
386
+ },
387
+ {
388
+ reference: withCtx(() => [
389
+ createVNode(_component_dk_icon, {
390
+ icon: "QuestionFilled",
391
+ class: "m-l-5px vertical-text-top"
392
+ })
393
+ ]),
394
+ _: 1
395
+ /* STABLE */
396
+ },
397
+ 512
398
+ /* NEED_PATCH */
399
+ )
400
+ ])
354
401
  ]),
355
- createCommentVNode(' <div class="float-right cursor-pointer">'),
356
- createCommentVNode(' <div class="name-header-operations">'),
357
- createCommentVNode(' <el-tooltip class="box-item" effect="dark" content="\u91CD\u7F6E\u9AD8\u5BBD" placement="top-start">'),
358
- createCommentVNode(` <dk-icon icon="Refresh" color="#303133" @click="onRefresh('widthHeight')"></dk-icon>`),
359
- createCommentVNode(" </el-tooltip>"),
360
- createCommentVNode(" </div>"),
361
- createCommentVNode(' <div class="name-header-operations">'),
362
- createCommentVNode(' <el-tooltip class="box-item" effect="dark" content="\u91CD\u7F6E\u5185\u8FB9\u8DDD" placement="top-start">'),
363
- createCommentVNode(` <dk-icon icon="Refresh" color="var(&#45;&#45;el-color-success)" @click="onRefresh('padding')"></dk-icon>`),
364
- createCommentVNode(" </el-tooltip>"),
365
- createCommentVNode(" </div>"),
366
- createCommentVNode(' <div class="name-header-operations">'),
367
- createCommentVNode(' <el-tooltip class="box-item" effect="dark" content="\u91CD\u7F6E\u5916\u8FB9\u8DDD" placement="top-start">'),
368
- createCommentVNode(` <dk-icon icon="Refresh" color="var(&#45;&#45;el-color-warning)" @click="onRefresh('margin')"></dk-icon>`),
369
- createCommentVNode(" </el-tooltip>"),
370
- createCommentVNode(" </div>"),
371
- createCommentVNode(" </div>"),
372
402
  createElementVNode(
373
403
  "div",
374
404
  {
@@ -383,8 +413,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
383
413
  "div",
384
414
  {
385
415
  class: normalizeClass(["thumnail margin", moves.margin ? "thumnail-heightlight" : ""]),
386
- onMousemove: _cache[14] || (_cache[14] = ($event) => onMouseMove("margin", "move", $event)),
387
- onMouseleave: _cache[15] || (_cache[15] = ($event) => onMouseMove("margin", "leave", $event))
416
+ onMousemove: _cache[15] || (_cache[15] = ($event) => onMouseMove("margin", "move", $event)),
417
+ onMouseleave: _cache[16] || (_cache[16] = ($event) => onMouseMove("margin", "leave", $event))
388
418
  },
389
419
  [
390
420
  createCommentVNode("\u5916\u8FB9\u8DDD Margin"),
@@ -406,7 +436,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
406
436
  1
407
437
  /* TEXT */
408
438
  )
409
- ], 42, _hoisted_4),
439
+ ], 42, _hoisted_5),
410
440
  withDirectives(createElementVNode("input", {
411
441
  ref_for: true,
412
442
  ref_key: "inputField",
@@ -414,7 +444,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
414
444
  "onUpdate:modelValue": ($event) => styles[item.value] = $event,
415
445
  class: normalizeClass("input-box anchor-tip-" + item.position + (showStyles[item.value] ? " show" : "")),
416
446
  onBlur: ($event) => onBlur(item.value)
417
- }, null, 42, _hoisted_5), [
447
+ }, null, 42, _hoisted_6), [
418
448
  [vModelText, styles[item.value]]
419
449
  ]),
420
450
  (openBlock(), createElementBlock("svg", {
@@ -426,15 +456,15 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
426
456
  style: normalizeStyle(item.svg.style),
427
457
  class: "esm-modal-svg",
428
458
  innerHTML: item.svg.content
429
- }, null, 12, _hoisted_6))
459
+ }, null, 12, _hoisted_7))
430
460
  ]);
431
461
  }),
432
462
  128
433
463
  /* KEYED_FRAGMENT */
434
464
  ))
435
465
  ]),
436
- _hoisted_7,
437
- createElementVNode("div", _hoisted_8, [
466
+ _hoisted_8,
467
+ createElementVNode("div", _hoisted_9, [
438
468
  (openBlock(), createElementBlock(
439
469
  Fragment,
440
470
  null,
@@ -445,14 +475,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
445
475
  onMousemove: handleMouseMove,
446
476
  onMousedown: ($event) => handleMouseDown("margin", item, $event),
447
477
  onMouseup: handleMouseUp
448
- }, null, 42, _hoisted_9);
478
+ }, null, 42, _hoisted_10);
449
479
  }),
450
480
  64
451
481
  /* STABLE_FRAGMENT */
452
482
  ))
453
483
  ]),
454
- _hoisted_10,
455
- createElementVNode("div", _hoisted_11, [
484
+ _hoisted_11,
485
+ createElementVNode("div", _hoisted_12, [
456
486
  createVNode(_component_el_tooltip, {
457
487
  "show-after": 1e3,
458
488
  class: "box-item",
@@ -465,7 +495,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
465
495
  style: { "margin-right": "5px" },
466
496
  icon: "Connection",
467
497
  color: bind.margin ? "#f00" : "#303133",
468
- onClick: _cache[0] || (_cache[0] = ($event) => onBind("margin"))
498
+ onClick: _cache[1] || (_cache[1] = ($event) => onBind("margin"))
469
499
  }, null, 8, ["color"])
470
500
  ]),
471
501
  _: 1
@@ -482,7 +512,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
482
512
  createVNode(_component_dk_icon, {
483
513
  icon: "Refresh",
484
514
  color: "#303133",
485
- onClick: _cache[1] || (_cache[1] = ($event) => onRefresh("margin"))
515
+ onClick: _cache[2] || (_cache[2] = ($event) => onRefresh("margin"))
486
516
  })
487
517
  ]),
488
518
  _: 1
@@ -491,13 +521,13 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
491
521
  ]),
492
522
  createCommentVNode("\u5916\u8FB9\u8DDD Margin END"),
493
523
  createCommentVNode("\u5185\u8FB9\u8DDD Padding"),
494
- createElementVNode("div", _hoisted_12, [
524
+ createElementVNode("div", _hoisted_13, [
495
525
  createElementVNode(
496
526
  "div",
497
527
  {
498
528
  class: normalizeClass(["thumnail padding", moves.padding ? "thumnail-heightlight" : ""]),
499
- onMousemove: _cache[12] || (_cache[12] = ($event) => onMouseMove("padding", "move", $event)),
500
- onMouseleave: _cache[13] || (_cache[13] = ($event) => onMouseMove("padding", "leave", $event))
529
+ onMousemove: _cache[13] || (_cache[13] = ($event) => onMouseMove("padding", "move", $event)),
530
+ onMouseleave: _cache[14] || (_cache[14] = ($event) => onMouseMove("padding", "leave", $event))
501
531
  },
502
532
  [
503
533
  createElementVNode("div", null, [
@@ -518,7 +548,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
518
548
  1
519
549
  /* TEXT */
520
550
  )
521
- ], 42, _hoisted_13),
551
+ ], 42, _hoisted_14),
522
552
  withDirectives(createElementVNode("input", {
523
553
  ref_for: true,
524
554
  ref_key: "inputField",
@@ -526,7 +556,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
526
556
  "onUpdate:modelValue": ($event) => styles[item.value] = $event,
527
557
  class: normalizeClass("input-box anchor-tip-" + item.position + (showStyles[item.value] ? " show" : "")),
528
558
  onBlur: ($event) => onBlur(item.value)
529
- }, null, 42, _hoisted_14), [
559
+ }, null, 42, _hoisted_15), [
530
560
  [vModelText, styles[item.value]]
531
561
  ]),
532
562
  (openBlock(), createElementBlock("svg", {
@@ -538,14 +568,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
538
568
  style: normalizeStyle(item.svg.style),
539
569
  class: "esm-modal-svg",
540
570
  innerHTML: item.svg.content
541
- }, null, 12, _hoisted_15))
571
+ }, null, 12, _hoisted_16))
542
572
  ]);
543
573
  }),
544
574
  128
545
575
  /* KEYED_FRAGMENT */
546
576
  ))
547
577
  ]),
548
- createElementVNode("div", _hoisted_16, [
578
+ createElementVNode("div", _hoisted_17, [
549
579
  (openBlock(), createElementBlock(
550
580
  Fragment,
551
581
  null,
@@ -556,14 +586,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
556
586
  onMousemove: handleMouseMove,
557
587
  onMousedown: ($event) => handleMouseDown("padding", item, $event),
558
588
  onMouseup: handleMouseUp
559
- }, null, 42, _hoisted_17);
589
+ }, null, 42, _hoisted_18);
560
590
  }),
561
591
  64
562
592
  /* STABLE_FRAGMENT */
563
593
  ))
564
594
  ]),
565
- _hoisted_18,
566
- createElementVNode("div", _hoisted_19, [
595
+ _hoisted_19,
596
+ createElementVNode("div", _hoisted_20, [
567
597
  createVNode(_component_el_tooltip, {
568
598
  "show-after": 1e3,
569
599
  class: "box-item",
@@ -576,7 +606,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
576
606
  style: { "margin-right": "5px" },
577
607
  icon: "Connection",
578
608
  color: bind.padding ? "#f00" : "#303133",
579
- onClick: _cache[2] || (_cache[2] = ($event) => onBind("padding"))
609
+ onClick: _cache[3] || (_cache[3] = ($event) => onBind("padding"))
580
610
  }, null, 8, ["color"])
581
611
  ]),
582
612
  _: 1
@@ -593,7 +623,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
593
623
  createVNode(_component_dk_icon, {
594
624
  icon: "Refresh",
595
625
  color: "#303133",
596
- onClick: _cache[3] || (_cache[3] = ($event) => onRefresh("padding"))
626
+ onClick: _cache[4] || (_cache[4] = ($event) => onRefresh("padding"))
597
627
  })
598
628
  ]),
599
629
  _: 1
@@ -605,16 +635,16 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
605
635
  "div",
606
636
  {
607
637
  class: normalizeClass(["thumnail width-height", moves.widthHeight ? "thumnail-heightlight" : ""]),
608
- onMousemove: _cache[10] || (_cache[10] = ($event) => onMouseMove("widthHeight", "move", $event)),
609
- onMouseleave: _cache[11] || (_cache[11] = ($event) => onMouseMove("widthHeight", "leave", $event))
638
+ onMousemove: _cache[11] || (_cache[11] = ($event) => onMouseMove("widthHeight", "move", $event)),
639
+ onMouseleave: _cache[12] || (_cache[12] = ($event) => onMouseMove("widthHeight", "leave", $event))
610
640
  },
611
641
  [
612
- createElementVNode("span", _hoisted_20, [
642
+ createElementVNode("span", _hoisted_21, [
613
643
  createElementVNode(
614
644
  "span",
615
645
  {
616
646
  class: "content-unit left-0",
617
- onDblclick: _cache[4] || (_cache[4] = ($event) => onDblclick("width", 9))
647
+ onDblclick: _cache[5] || (_cache[5] = ($event) => onDblclick("width", 9))
618
648
  },
619
649
  [
620
650
  createElementVNode(
@@ -633,9 +663,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
633
663
  {
634
664
  ref_key: "inputWidth",
635
665
  ref: inputWidth,
636
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => styles.width = $event),
666
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => styles.width = $event),
637
667
  class: normalizeClass(["input-box absolute left-5% top-10px", showStyles["width"] ? " show" : ""]),
638
- onBlur: _cache[6] || (_cache[6] = ($event) => onBlur("width"))
668
+ onBlur: _cache[7] || (_cache[7] = ($event) => onBlur("width"))
639
669
  },
640
670
  null,
641
671
  34
@@ -643,12 +673,12 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
643
673
  ), [
644
674
  [vModelText, styles.width]
645
675
  ]),
646
- _hoisted_21,
676
+ _hoisted_22,
647
677
  createElementVNode(
648
678
  "span",
649
679
  {
650
680
  class: "content-unit right-0",
651
- onDblclick: _cache[7] || (_cache[7] = ($event) => onDblclick("height", 9))
681
+ onDblclick: _cache[8] || (_cache[8] = ($event) => onDblclick("height", 9))
652
682
  },
653
683
  [
654
684
  createElementVNode(
@@ -667,9 +697,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
667
697
  {
668
698
  ref_key: "inputHeight",
669
699
  ref: inputHeight,
670
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => styles.height = $event),
700
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => styles.height = $event),
671
701
  class: normalizeClass(["input-box absolute right-5% top-10px", showStyles["height"] ? " show" : ""]),
672
- onBlur: _cache[9] || (_cache[9] = ($event) => onBlur("height"))
702
+ onBlur: _cache[10] || (_cache[10] = ($event) => onBlur("height"))
673
703
  },
674
704
  null,
675
705
  34
@@ -694,7 +724,21 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
694
724
  ],
695
725
  4
696
726
  /* STYLE */
697
- )
727
+ ),
728
+ showSize.value ? (openBlock(), createElementBlock("div", _hoisted_23, [
729
+ createVNode(_component_el_input, {
730
+ modelValue: styles.width,
731
+ "onUpdate:modelValue": _cache[17] || (_cache[17] = ($event) => styles.width = $event),
732
+ class: "w-50%",
733
+ placeholder: "\u8F93\u5165\u5BBD\u5EA6"
734
+ }, null, 8, ["modelValue"]),
735
+ createVNode(_component_el_input, {
736
+ modelValue: styles.height,
737
+ "onUpdate:modelValue": _cache[18] || (_cache[18] = ($event) => styles.height = $event),
738
+ class: "w-50%",
739
+ placeholder: "\u8F93\u5165\u9AD8\u5EA6"
740
+ }, null, 8, ["modelValue"])
741
+ ])) : createCommentVNode("v-if", true)
698
742
  ])
699
743
  ]);
700
744
  };
@@ -1 +1 @@
1
- {"version":3,"file":"style-box-input.vue2.mjs","sources":["../../../src/style-box-input/src/style-box-input.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkStyleBoxInput',\n});\n</script>\n<template>\n <div class=\"dk-style-box-input\">\n <div class=\"position-line\" :style=\"positionStyle\"></div>\n <div class=\"header\">\n <label class=\"items-center\">\n 内外边距 | 高宽\n <el-popover ref=\"popover\" placement=\"bottom\" title=\"说明\" :width=\"280\" trigger=\"hover\" :content=\"props.help\">\n <template #reference>\n <dk-icon icon=\"QuestionFilled\" class=\"m-l-5px vertical-text-top\"></dk-icon>\n </template>\n </el-popover>\n </label>\n <!-- <div class=\"float-right cursor-pointer\">-->\n <!-- <div class=\"name-header-operations\">-->\n <!-- <el-tooltip class=\"box-item\" effect=\"dark\" content=\"重置高宽\" placement=\"top-start\">-->\n <!-- <dk-icon icon=\"Refresh\" color=\"#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","width","height"],"mappings":"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"}
1
+ {"version":3,"file":"style-box-input.vue2.mjs","sources":["../../../src/style-box-input/src/style-box-input.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkStyleBoxInput',\n});\n</script>\n<template>\n <div class=\"dk-style-box-input\">\n <div class=\"position-line\" :style=\"positionStyle\"></div>\n <div class=\"header\">\n <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","width","height"],"mappings":"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"}