@vipl520/dk-ui 1.0.48 → 1.0.49

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