@toolmain/components 1.1.0 → 1.2.0

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.
Files changed (3) hide show
  1. package/dist/index.d.ts +49 -6
  2. package/dist/index.js +291 -274
  3. package/package.json +21 -3
package/dist/index.d.ts CHANGED
@@ -1,9 +1,11 @@
1
+ import type { Component } from 'vue';
1
2
  import { ComponentOptionsMixin } from 'vue';
2
3
  import { ComponentProvideOptions } from 'vue';
3
4
  import type * as CSS_2 from 'csstype';
4
5
  import { DefineComponent } from 'vue';
5
6
  import type { MaybeRef } from 'vue';
6
7
  import { PublicProps } from 'vue';
8
+ import type { VNode } from 'vue';
7
9
 
8
10
  declare const __VLS_component: DefineComponent<__VLS_Props, {
9
11
  update: () => void;
@@ -62,13 +64,16 @@ declare type __VLS_WithSlots_2<T, S> = T & {
62
64
 
63
65
  export declare const Affix: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
64
66
 
65
- declare type AnimateDir = "left" | "top" | "bottom" | "right" | "self" | "center" | {
67
+ export declare type AnimateDir = "left" | "top" | "bottom" | "right" | "self" | "center" | {
66
68
  x?: number;
67
69
  y?: number;
68
70
  };
69
71
 
70
72
  declare type ArrMutKeys = "splice" | "push" | "pop" | "shift" | "unshift";
71
73
 
74
+ /**
75
+ * CSS Properties
76
+ */
72
77
  declare interface CSSProperties extends CSS_2.Properties<string | number>, CSS_2.PropertiesHyphen<string | number> {
73
78
  [v: `--${string}`]: string | number | undefined;
74
79
  }
@@ -96,6 +101,37 @@ declare interface DragAttr {
96
101
  height: number | InitType;
97
102
  }
98
103
 
104
+ /**
105
+ * 拖拽时transform计算的坐标
106
+ */
107
+ export declare interface DragOffset {
108
+ /**
109
+ * pointer按下时的X坐标
110
+ */
111
+ prevClientX: number;
112
+ /**
113
+ * pointer按下时的Y坐标
114
+ */
115
+ prevClientY: number;
116
+ /**
117
+ * 上次移动之后的translateX
118
+ */
119
+ prevTranslateX: number;
120
+ /**
121
+ * 上次移动之后的translateY
122
+ */
123
+ prevTranslateY: number;
124
+ /**
125
+ * 正在移动时的translateX
126
+ */
127
+ translateX: number;
128
+ /**
129
+ * 正在移动时的translateY
130
+ */
131
+ translateY: number;
132
+ scale: FixedArray<number, 2>;
133
+ }
134
+
99
135
  /**
100
136
  * 定长数组类型
101
137
  */
@@ -105,7 +141,7 @@ declare type FixedArray<T, L extends number> = Pick<T[], Exclude<keyof T[], ArrM
105
141
 
106
142
  declare type InitType = "auto" | "inherit" | "initial" | "unset";
107
143
 
108
- declare interface MoveHook {
144
+ export declare interface MoveHook {
109
145
  x?: (oldVal: number, newVal: number, width: number, height: number) => number;
110
146
  y?: (oldVal: number, newVal: number, width: number, height: number) => number;
111
147
  scale?: (oldVal: FixedArray<number, 2>, newVal: FixedArray<number, 2>) => [FixedArray<number, 2>, FixedArray<number, 2>];
@@ -118,12 +154,14 @@ declare interface MoveOptions {
118
154
  direction?: Dir;
119
155
  }
120
156
 
121
- declare type MoveParams = DragAttr & {
157
+ export declare type MoveParams = DragAttr & {
122
158
  translateX: number;
123
159
  translateY: number;
124
160
  };
125
161
 
126
- declare interface ScaleConfig {
162
+ export declare const ParentView: DefineComponent< {}, void, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
163
+
164
+ export declare interface ScaleConfig {
127
165
  /**
128
166
  * 组件可改变尺寸
129
167
  */
@@ -189,7 +227,12 @@ declare interface ScaleConfig {
189
227
  maskStyle?: CSSProperties;
190
228
  }
191
229
 
192
- declare interface ScaleInstance {
230
+ export declare interface ScaleExtraConfNode {
231
+ label: string;
232
+ node: VNode | Component | string;
233
+ }
234
+
235
+ export declare interface ScaleInstance {
193
236
  /**
194
237
  * 智能移动到屏幕边界
195
238
  * @param animate - 是否有动画效果 default: true
@@ -226,7 +269,7 @@ declare interface ScaleInstance {
226
269
 
227
270
  export declare const ScalePanel: __VLS_WithSlots_2<typeof __VLS_component_2, __VLS_Slots_2>;
228
271
 
229
- declare interface ScaleProps {
272
+ export declare interface ScaleProps {
230
273
  modelValue: ScaleConfig;
231
274
  /**
232
275
  * 按下目标元素并拖动组件,默认按下头部拖动。
package/dist/index.js CHANGED
@@ -1,8 +1,9 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var r=document.createElement("style");r.appendChild(document.createTextNode('*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}[top~="0"]{top:0}.hidden{display:none}.flex{display:flex}.flex-shrink{flex-shrink:1}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.resize,[resize=""]{resize:both}.px,[px=""]{padding-left:1rem;padding-right:1rem}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.comp-affix .comp-affix-inner[data-v-4c40ccd8]{transition:box-shadow .3s;border-radius:1rem}.comp-affix .comp-affix-inner.fix[data-v-4c40ccd8]{position:fixed;box-shadow:var(--el-box-shadow);background-color:var(--el-card-bg-color)}.p-t[data-v-cb7f9cc6],.p-r[data-v-cb7f9cc6],.p-b[data-v-cb7f9cc6],.p-l[data-v-cb7f9cc6],.p-lt[data-v-cb7f9cc6],.p-rt[data-v-cb7f9cc6],.p-lb[data-v-cb7f9cc6],.p-rb[data-v-cb7f9cc6]{z-index:var(--61c40759);position:absolute}.p-b[data-v-cb7f9cc6],.p-t[data-v-cb7f9cc6],.p-r[data-v-cb7f9cc6],.p-l[data-v-cb7f9cc6]{background-color:transparent;border-radius:4px}.p-b[data-v-cb7f9cc6],.p-t[data-v-cb7f9cc6]{height:4px;left:4px;right:4px}.p-r[data-v-cb7f9cc6],.p-l[data-v-cb7f9cc6]{width:4px;top:4px;bottom:4px}.p-lt[data-v-cb7f9cc6],.p-rt[data-v-cb7f9cc6],.p-lb[data-v-cb7f9cc6],.p-rb[data-v-cb7f9cc6]{width:0;height:0}.p-b[data-v-cb7f9cc6]{bottom:0;cursor:ns-resize}.p-t[data-v-cb7f9cc6]{top:0;cursor:ns-resize}.p-r[data-v-cb7f9cc6]{right:0;cursor:ew-resize}.p-l[data-v-cb7f9cc6]{left:0;cursor:ew-resize}.p-lt[data-v-cb7f9cc6]{left:0;top:0;cursor:nwse-resize;border-top:.4rem solid transparent;border-left:.4rem solid transparent;border-right:.4rem solid transparent;border-bottom:.4rem solid transparent}.p-rt[data-v-cb7f9cc6]{right:0;top:0;cursor:nesw-resize;border-top:.4rem solid transparent;border-left:.4rem solid transparent;border-right:.4rem solid transparent;border-bottom:.4rem solid transparent}.p-lb[data-v-cb7f9cc6]{left:0;bottom:0;cursor:nesw-resize;border-top:.4rem solid transparent;border-left:.4rem solid transparent;border-right:.4rem solid transparent;border-bottom:.4rem solid transparent}.p-rb[data-v-cb7f9cc6]{right:0;bottom:0;cursor:nwse-resize;border-top:.4rem solid transparent;border-left:.4rem solid transparent;border-right:.4rem solid transparent;border-bottom:.4rem solid transparent}.dragContainer[data-v-d123b73c]{display:flex;flex-direction:column;transform-origin:0 0}.dragContainer>.dragHeader[data-v-d123b73c]{flex-shrink:0;display:flex}.dragContainer>.scaleContent[data-v-d123b73c]{flex:1;overflow:hidden;position:relative;display:flex}.dragMask[data-v-d123b73c]{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:100}')),document.head.appendChild(r)}}catch(a){console.error("vite-plugin-css-injected-by-js",a)}})();
2
- import { defineComponent as be, useTemplateRef as te, shallowRef as ee, computed as $, reactive as Ae, onMounted as De, onBeforeUnmount as Me, createElementBlock as Q, openBlock as j, normalizeStyle as J, normalizeClass as pe, createElementVNode as Oe, renderSlot as we, useCssVars as ze, createCommentVNode as re, Fragment as Be, renderList as $e, withDirectives as Ve, vShow as We, unref as Pe, ref as Te, toValue as ye, watch as q, toRef as oe, createBlock as Ce, Teleport as Ue } from "vue";
3
- import { px as X, useEvent as ue, z as je, getStyleValue as Se, isBoolean as ke, isNumber as G, toNumber as w, useFlip as Ge, merge as Ke } from "@toolmain/shared";
4
- import { useElementBounding as le, useIntersectionObserver as _e, useThrottleFn as qe, useDebounceFn as Je } from "@vueuse/core";
5
- const ae = 2, Qe = /* @__PURE__ */ be({
1
+ (function(){"use strict";try{if(typeof document<"u"){var r=document.createElement("style");r.appendChild(document.createTextNode('*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}[top~="0"]{top:0}.hidden{display:none}.flex{display:flex}.flex-shrink{flex-shrink:1}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.resize,[resize=""]{resize:both}.px,[px=""]{padding-left:1rem;padding-right:1rem}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.comp-affix .comp-affix-inner[data-v-4c40ccd8]{transition:box-shadow .3s;border-radius:1rem}.comp-affix .comp-affix-inner.fix[data-v-4c40ccd8]{position:fixed;box-shadow:var(--el-box-shadow);background-color:var(--el-card-bg-color)}.p-t[data-v-2dbd22ac],.p-r[data-v-2dbd22ac],.p-b[data-v-2dbd22ac],.p-l[data-v-2dbd22ac],.p-lt[data-v-2dbd22ac],.p-rt[data-v-2dbd22ac],.p-lb[data-v-2dbd22ac],.p-rb[data-v-2dbd22ac]{z-index:var(--dc02cff8);position:absolute}.p-b[data-v-2dbd22ac],.p-t[data-v-2dbd22ac],.p-r[data-v-2dbd22ac],.p-l[data-v-2dbd22ac]{background-color:transparent;border-radius:4px}.p-b[data-v-2dbd22ac],.p-t[data-v-2dbd22ac]{height:4px;left:4px;right:4px}.p-r[data-v-2dbd22ac],.p-l[data-v-2dbd22ac]{width:4px;top:4px;bottom:4px}.p-lt[data-v-2dbd22ac],.p-rt[data-v-2dbd22ac],.p-lb[data-v-2dbd22ac],.p-rb[data-v-2dbd22ac]{width:0;height:0}.p-b[data-v-2dbd22ac]{bottom:0;cursor:ns-resize}.p-t[data-v-2dbd22ac]{top:0;cursor:ns-resize}.p-r[data-v-2dbd22ac]{right:0;cursor:ew-resize}.p-l[data-v-2dbd22ac]{left:0;cursor:ew-resize}.p-lt[data-v-2dbd22ac]{left:0;top:0;cursor:nwse-resize;border-top:.4rem solid transparent;border-left:.4rem solid transparent;border-right:.4rem solid transparent;border-bottom:.4rem solid transparent}.p-rt[data-v-2dbd22ac]{right:0;top:0;cursor:nesw-resize;border-top:.4rem solid transparent;border-left:.4rem solid transparent;border-right:.4rem solid transparent;border-bottom:.4rem solid transparent}.p-lb[data-v-2dbd22ac]{left:0;bottom:0;cursor:nesw-resize;border-top:.4rem solid transparent;border-left:.4rem solid transparent;border-right:.4rem solid transparent;border-bottom:.4rem solid transparent}.p-rb[data-v-2dbd22ac]{right:0;bottom:0;cursor:nwse-resize;border-top:.4rem solid transparent;border-left:.4rem solid transparent;border-right:.4rem solid transparent;border-bottom:.4rem solid transparent}.dragContainer[data-v-f5de5f52]{display:flex;flex-direction:column;transform-origin:0 0}.dragContainer>.dragHeader[data-v-f5de5f52]{flex-shrink:0;display:flex}.dragContainer>.scaleContent[data-v-f5de5f52]{flex:1;overflow:hidden;position:relative;display:flex}.dragMask[data-v-f5de5f52]{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:100}')),document.head.appendChild(r)}}catch(a){console.error("vite-plugin-css-injected-by-js",a)}})();
2
+ import { defineComponent as ce, useTemplateRef as te, shallowRef as ee, computed as $, reactive as Me, onMounted as Oe, onBeforeUnmount as Pe, createElementBlock as Q, openBlock as B, normalizeStyle as J, normalizeClass as ye, createElementVNode as He, renderSlot as xe, useCssVars as ze, createCommentVNode as re, Fragment as $e, renderList as Be, withDirectives as We, vShow as Ue, unref as Se, ref as Ee, toValue as be, watch as q, toRef as oe, createBlock as le, Teleport as je, withCtx as ke, createVNode as Ge, Transition as Ke, resolveDynamicComponent as qe } from "vue";
3
+ import { px as _, useEvent as fe, z as Je, getStyleValue as _e, isBoolean as Re, isNumber as G, toNumber as w, useFlip as Qe, merge as Ze } from "@toolmain/shared";
4
+ import { useElementBounding as ue, useIntersectionObserver as Le, useThrottleFn as et, useDebounceFn as tt } from "@vueuse/core";
5
+ import { RouterView as nt } from "vue-router";
6
+ const ae = 2, at = /* @__PURE__ */ ce({
6
7
  __name: "index",
7
8
  props: {
8
9
  position: { default: "top" },
@@ -10,7 +11,7 @@ const ae = 2, Qe = /* @__PURE__ */ be({
10
11
  offset: { default: 0 }
11
12
  },
12
13
  setup(e, { expose: l }) {
13
- const c = te("affix"), s = te("affixInner"), h = ee(), d = ee(), { width: i, height: R } = le(h), T = $(() => !!d.value), y = ee({}), S = ee({}), a = Ae({
14
+ const c = te("affix"), r = te("affixInner"), h = ee(), d = ee(), { width: i, height: R } = ue(h), T = $(() => !!d.value), y = ee({}), S = ee({}), a = Me({
14
15
  disableTeleport: !0,
15
16
  target: {
16
17
  isIntersecting: !1,
@@ -29,7 +30,7 @@ const ae = 2, Qe = /* @__PURE__ */ be({
29
30
  // width: affixWidth,
30
31
  height: L,
31
32
  update: A
32
- } = le(c), m = () => {
33
+ } = ue(c), m = () => {
33
34
  if (T.value) {
34
35
  if (a.target.isIntersecting && (!a.affix.isIntersecting || a.affix.intersectionRatio < 0.5))
35
36
  return !0;
@@ -52,79 +53,79 @@ const ae = 2, Qe = /* @__PURE__ */ be({
52
53
  ))
53
54
  a.affix.needFloat = !1;
54
55
  else if (m()) {
55
- const C = n.value + L.value / 2 <= window.innerHeight / 2;
56
- a.affix.needFloat = e.position === "top" ? C : !C;
56
+ const X = n.value + L.value / 2 <= window.innerHeight / 2;
57
+ a.affix.needFloat = e.position === "top" ? X : !X;
57
58
  }
58
59
  a.affix.needFloat ? (y.value = {
59
60
  zIndex: 100,
60
- left: X(x.value),
61
- [e.position === "bottom" ? "bottom" : "top"]: X(e.offset)
61
+ left: _(x.value),
62
+ [e.position === "bottom" ? "bottom" : "top"]: _(e.offset)
62
63
  }, S.value = {
63
- minWidth: X(i.value),
64
- height: X(R.value)
64
+ minWidth: _(i.value),
65
+ height: _(R.value)
65
66
  }) : (y.value = {}, S.value = {});
66
67
  };
67
- function P(C, F) {
68
- const { boundingClientRect: z, intersectionRect: V, rootBounds: Z } = C;
69
- Z && C.isIntersecting && (F.length = 0, V.y - z.y > ae && F.push(
68
+ function P(X, N) {
69
+ const { boundingClientRect: V, intersectionRect: W, rootBounds: Z } = X;
70
+ Z && X.isIntersecting && (N.length = 0, W.y - V.y > ae && N.push(
70
71
  "top"
71
72
  /* Top */
72
- ), z.y - V.y > ae && F.push(
73
+ ), V.y - W.y > ae && N.push(
73
74
  "bottom"
74
75
  /* Bottom */
75
- ), V.x - z.x > ae && F.push(
76
+ ), W.x - V.x > ae && N.push(
76
77
  "left"
77
78
  /* Left */
78
- ), z.x + z.width - (V.x + V.width) > ae && F.push(
79
+ ), V.x + V.width - (W.x + W.width) > ae && N.push(
79
80
  "right"
80
81
  /* Right */
81
82
  ));
82
83
  }
83
- const N = ([C]) => {
84
- a.affix.isIntersecting = C.isIntersecting, P(C, a.affix.directions), a.affix.intersectionRatio = C.intersectionRatio, g();
85
- }, H = ([C]) => {
86
- a.target.isIntersecting = C.isIntersecting, P(C, a.target.directions), a.target.intersectionRatio = C.intersectionRatio, g();
87
- }, o = _e(c, N, {
84
+ const F = ([X]) => {
85
+ a.affix.isIntersecting = X.isIntersecting, P(X, a.affix.directions), a.affix.intersectionRatio = X.intersectionRatio, g();
86
+ }, H = ([X]) => {
87
+ a.target.isIntersecting = X.isIntersecting, P(X, a.target.directions), a.target.intersectionRatio = X.intersectionRatio, g();
88
+ }, s = Le(c, F, {
88
89
  root: window.document.documentElement,
89
90
  threshold: [0, 0.01, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.99, 1]
90
- }), u = _e(d, H, {
91
+ }), u = Le(d, H, {
91
92
  root: window.document.documentElement,
92
93
  threshold: [0, 0.01, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.99, 1]
93
94
  });
94
95
  function I() {
95
- h.value = s.value?.firstElementChild, e.target && (d.value = document.querySelector(e.target)), A();
96
+ h.value = r.value?.firstElementChild, e.target && (d.value = document.querySelector(e.target)), A();
96
97
  }
97
- const D = qe(g, 250, !0);
98
- return De(() => {
98
+ const D = et(g, 250, !0);
99
+ return Oe(() => {
99
100
  I(), window.addEventListener("resize", D);
100
- }), Me(() => {
101
- window.removeEventListener("resize", D), o.stop(), u.stop();
101
+ }), Pe(() => {
102
+ window.removeEventListener("resize", D), s.stop(), u.stop();
102
103
  }), l({
103
104
  update: () => {
104
105
  m() && g();
105
106
  }
106
- }), (C, F) => (j(), Q("div", {
107
- class: pe(["comp-affix", { fix: a.affix.needFloat }]),
107
+ }), (X, N) => (B(), Q("div", {
108
+ class: ye(["comp-affix", { fix: a.affix.needFloat }]),
108
109
  style: J(S.value),
109
110
  ref: "affix"
110
111
  }, [
111
- Oe("div", {
112
+ He("div", {
112
113
  ref_key: "affixInner",
113
- ref: s,
114
+ ref: r,
114
115
  style: J([y.value, S.value]),
115
- class: pe(["comp-affix-inner", { fix: a.affix.needFloat }])
116
+ class: ye(["comp-affix-inner", { fix: a.affix.needFloat }])
116
117
  }, [
117
- we(C.$slots, "default", {}, void 0, !0)
118
+ xe(X.$slots, "default", {}, void 0, !0)
118
119
  ], 6)
119
120
  ], 6));
120
121
  }
121
- }), Ee = (e, l) => {
122
+ }), Ce = (e, l) => {
122
123
  const c = e.__vccOpts || e;
123
- for (const [s, h] of l)
124
- c[s] = h;
124
+ for (const [r, h] of l)
125
+ c[r] = h;
125
126
  return c;
126
- }, ft = /* @__PURE__ */ Ee(Qe, [["__scopeId", "data-v-4c40ccd8"]]);
127
- function Re() {
127
+ }, pt = /* @__PURE__ */ Ce(at, [["__scopeId", "data-v-4c40ccd8"]]);
128
+ function Ie() {
128
129
  return {
129
130
  x: 0,
130
131
  y: 0,
@@ -134,7 +135,7 @@ function Re() {
134
135
  height: 0
135
136
  };
136
137
  }
137
- function Le() {
138
+ function Ae() {
138
139
  return {
139
140
  x: 0,
140
141
  y: 0,
@@ -146,11 +147,11 @@ function Le() {
146
147
  bottom: 0
147
148
  };
148
149
  }
149
- const Ze = () => {
150
- let e, l = Le(), c = Re(), s = !1, h = !1;
151
- const d = ue(), i = {
150
+ const it = () => {
151
+ let e, l = Ae(), c = Ie(), r = !1, h = !1;
152
+ const d = fe(), i = {
152
153
  emit: (n, ...L) => {
153
- s || d.emit(n, ...L);
154
+ r || d.emit(n, ...L);
154
155
  },
155
156
  setTargetAttr: (n) => {
156
157
  R(), T({
@@ -164,7 +165,7 @@ const Ze = () => {
164
165
  },
165
166
  onSelectStart: (n) => h ? (n.preventDefault(), !1) : !0,
166
167
  onDomPointerUp: (n) => {
167
- if (!s) {
168
+ if (!r) {
168
169
  if (!e) {
169
170
  h = !1;
170
171
  return;
@@ -173,10 +174,10 @@ const Ze = () => {
173
174
  }
174
175
  },
175
176
  onDomPointerMove: (n) => {
176
- s || h && (i.setTargetAttr(n), i.emit("moving", { ...c }));
177
+ r || h && (i.setTargetAttr(n), i.emit("moving", { ...c }));
177
178
  },
178
179
  onElePointerDown: (n) => {
179
- s || (h = !0, i.setTargetAttr(n), i.emit("beforemove", { ...c }));
180
+ r || (h = !0, i.setTargetAttr(n), i.emit("beforemove", { ...c }));
180
181
  },
181
182
  clearEvent: () => {
182
183
  document.removeEventListener("selectstart", i.onSelectStart), e?.removeEventListener("pointerdown", i.onElePointerDown), document.removeEventListener("pointerup", i.onDomPointerUp), document.removeEventListener("pointermove", i.onDomPointerMove);
@@ -186,22 +187,22 @@ const Ze = () => {
186
187
  }
187
188
  };
188
189
  function R() {
189
- l = e?.getBoundingClientRect() ?? Le();
190
+ l = e?.getBoundingClientRect() ?? Ae();
190
191
  }
191
192
  function T(n) {
192
193
  c = { ...n };
193
194
  }
194
195
  function y(n) {
195
- i.clearEvent(), e = n, d.removeAllListeners(), T(Re()), R(), i.listenEvent();
196
+ i.clearEvent(), e = n, d.removeAllListeners(), T(Ie()), R(), i.listenEvent();
196
197
  }
197
198
  function S(n, L) {
198
199
  d.on(n, L);
199
200
  }
200
201
  function a() {
201
- s = !0;
202
+ r = !0;
202
203
  }
203
204
  function x() {
204
- s = !1;
205
+ r = !1;
205
206
  }
206
207
  return {
207
208
  ele: e,
@@ -215,25 +216,25 @@ const Ze = () => {
215
216
  enable: x
216
217
  };
217
218
  };
218
- function et() {
219
- const e = ue();
219
+ function rt() {
220
+ const e = fe();
220
221
  let l = !1;
221
222
  const c = {
222
223
  direction: "any"
223
- }, s = Ze(), h = (m) => {
224
+ }, r = it(), h = (m) => {
224
225
  c.direction === "horizontal" ? (m.clientY = 0, m.y = 0) : c.direction === "vertical" && (m.clientX = 0, m.x = 0);
225
226
  };
226
227
  function d(m) {
227
- l = !1, s.setTarget(m), s.on("beforemove", (g) => {
228
+ l = !1, r.setTarget(m), r.on("beforemove", (g) => {
228
229
  h(g), l = !1, R("beforemove", g);
229
- }), s.on("moving", (g) => {
230
+ }), r.on("moving", (g) => {
230
231
  h(g), l = !0, R("moving", g);
231
- }), s.on("aftermove", (g) => {
232
+ }), r.on("aftermove", (g) => {
232
233
  h(g), l = !1, R("aftermove", g);
233
234
  });
234
235
  }
235
236
  function i() {
236
- return s.ele;
237
+ return r.ele;
237
238
  }
238
239
  function R(m, g) {
239
240
  e.emit(m, g);
@@ -254,10 +255,10 @@ function et() {
254
255
  m && Object.assign(c, m);
255
256
  }
256
257
  function n() {
257
- s.enable();
258
+ r.enable();
258
259
  }
259
260
  function L() {
260
- s.disable();
261
+ r.disable();
261
262
  }
262
263
  function A() {
263
264
  return l;
@@ -275,7 +276,7 @@ function et() {
275
276
  disable: L
276
277
  };
277
278
  }
278
- const tt = ["onMousedown"], nt = /* @__PURE__ */ be({
279
+ const ot = ["onMousedown"], st = /* @__PURE__ */ ce({
279
280
  __name: "resize",
280
281
  props: {
281
282
  config: {},
@@ -284,23 +285,23 @@ const tt = ["onMousedown"], nt = /* @__PURE__ */ be({
284
285
  move: {}
285
286
  },
286
287
  setup(e) {
287
- ze((s) => ({
288
- "61c40759": c.value
288
+ ze((r) => ({
289
+ dc02cff8: c.value
289
290
  }));
290
- const l = e, c = $(() => l.config.normal ? void 0 : je.ABSOLUTE);
291
- return (s, h) => s.scale ? (j(!0), Q(Be, { key: 0 }, $e(s.scale.pointer, (d) => Ve((j(), Q("i", {
291
+ const l = e, c = $(() => l.config.normal ? void 0 : Je.ABSOLUTE);
292
+ return (r, h) => r.scale ? (B(!0), Q($e, { key: 0 }, Be(r.scale.pointer, (d) => We((B(), Q("i", {
292
293
  key: d,
293
- class: pe([`p-${d}`]),
294
- onMousedown: (i) => s.scale.onMouseDown(i, d)
295
- }, null, 42, tt)), [
296
- [We, s.config.scalable]
294
+ class: ye([`p-${d}`]),
295
+ onMousedown: (i) => r.scale.onMouseDown(i, d)
296
+ }, null, 42, ot)), [
297
+ [Ue, r.config.scalable]
297
298
  ])), 128)) : re("", !0);
298
299
  }
299
- }), at = /* @__PURE__ */ Ee(nt, [["__scopeId", "data-v-cb7f9cc6"]]), ie = (e) => {
300
+ }), lt = /* @__PURE__ */ Ce(st, [["__scopeId", "data-v-2dbd22ac"]]), ie = (e) => {
300
301
  if (!e) return {};
301
302
  const l = {};
302
- for (const [c, s] of Object.entries(e))
303
- l[c] = Se(c, s);
303
+ for (const [c, r] of Object.entries(e))
304
+ l[c] = _e(c, r);
304
305
  return l;
305
306
  };
306
307
  function Xe(e) {
@@ -316,7 +317,7 @@ function Xe(e) {
316
317
  translateY: e.translateY
317
318
  };
318
319
  }
319
- function s(a, x, n) {
320
+ function r(a, x, n) {
320
321
  e.translateX = n ? e.translateX + a : a, e.translateY = n ? e.translateY + x : x;
321
322
  }
322
323
  function h(a, x) {
@@ -349,7 +350,7 @@ function Xe(e) {
349
350
  return {
350
351
  setData: S,
351
352
  getTranslate: c,
352
- setTranslate: s,
353
+ setTranslate: r,
353
354
  getScale: l,
354
355
  setScale: T,
355
356
  setNormal: y,
@@ -367,18 +368,18 @@ function Ye(e) {
367
368
  for (const [d, i] of Object.entries(h))
368
369
  l(d, i);
369
370
  }
370
- function s(h) {
371
+ function r(h) {
371
372
  if (e.value)
372
373
  return e.value[h];
373
374
  }
374
375
  return {
375
- get: s,
376
+ get: r,
376
377
  set: l,
377
378
  sets: c
378
379
  };
379
380
  }
380
- function it(e, l, c, s, h, d, i) {
381
- const { setNormal: R, setTranslate: T, setPrevTranslate: y } = Xe(s), { get: S, set: a } = Ye(h), x = Te(ye(S("position"))), n = Je(
381
+ function ut(e, l, c, r, h, d, i) {
382
+ const { setNormal: R, setTranslate: T, setPrevTranslate: y } = Xe(r), { get: S, set: a } = Ye(h), x = Ee(be(S("position"))), n = tt(
382
383
  async () => {
383
384
  e.value.autoStick && (typeof e.value.autoStick == "boolean" ? await c.value?.autoStick(!0) : await c.value?.stickTo(e.value.autoStick, !0));
384
385
  },
@@ -386,35 +387,35 @@ function it(e, l, c, s, h, d, i) {
386
387
  { maxWait: 1e3 }
387
388
  );
388
389
  function L() {
389
- l.value && l.value.setTarget(ye(d) ?? i.value ?? null);
390
+ l.value && l.value.setTarget(be(d) ?? i.value ?? null);
390
391
  }
391
392
  function A() {
392
- c.value?.setStatus(He.NORMAL), g(e.value.movable), N(e.value.moveConfig), H(e.value.x, e.value.y), P(e.value.normal), ke(e.value.visible) ? m(e.value.visible, !1) : c.value?.hideTo("self", !1);
393
+ c.value?.setStatus(Ne.NORMAL), g(e.value.movable), F(e.value.moveConfig), H(e.value.x, e.value.y), P(e.value.normal), Re(e.value.visible) ? m(e.value.visible, !1) : c.value?.hideTo("self", !1);
393
394
  }
394
- function m(o, u) {
395
- if (!ke(o)) return;
395
+ function m(s, u) {
396
+ if (!Re(s)) return;
396
397
  const I = G(e.value.x) || G(e.value.y);
397
- o ? c.value?.show(u, I ? { x: e.value.x, y: e.value.y } : "self") : c.value?.hideTo(I ? { x: e.value.x, y: e.value.y } : "self", u);
398
+ s ? c.value?.show(u, I ? { x: e.value.x, y: e.value.y } : "self") : c.value?.hideTo(I ? { x: e.value.x, y: e.value.y } : "self", u);
398
399
  }
399
- function g(o) {
400
- o ? l.value?.enable() : l.value?.disable();
400
+ function g(s) {
401
+ s ? l.value?.enable() : l.value?.disable();
401
402
  }
402
- function P(o) {
403
- o ? (l.value?.setTarget(), x.value = S("position"), e.value.movable = !1, e.value.scalable = !1, R(), a("position", "static")) : (L(), a("position", x.value));
403
+ function P(s) {
404
+ s ? (l.value?.setTarget(), x.value = S("position"), e.value.movable = !1, e.value.scalable = !1, R(), a("position", "static")) : (L(), a("position", x.value));
404
405
  }
405
- function N(o) {
406
- o && l.value?.updateOption(o);
406
+ function F(s) {
407
+ s && l.value?.updateOption(s);
407
408
  }
408
- function H(o, u) {
409
+ function H(s, u) {
409
410
  if (!l.value?.isMoving() && (G(e.value.x) || G(e.value.y))) {
410
- const I = w(o), D = w(u);
411
+ const I = w(s), D = w(u);
411
412
  T(I, D), y(I, D);
412
413
  }
413
414
  }
414
- return q(() => e.value.movable, g), q(() => e.value.normal, P), q(() => e.value.moveConfig, N, { deep: !0 }), q(
415
+ return q(() => e.value.movable, g), q(() => e.value.normal, P), q(() => e.value.moveConfig, F, { deep: !0 }), q(
415
416
  () => e.value.visible,
416
- (o) => m(o, !0)
417
- ), q([() => e.value.x, () => e.value.y], ([o, u]) => H(o, u)), q(d, () => {
417
+ (s) => m(s, !0)
418
+ ), q([() => e.value.x, () => e.value.y], ([s, u]) => H(s, u)), q(d, () => {
418
419
  e.value.normal || L();
419
420
  }), {
420
421
  autoStick: n,
@@ -423,15 +424,15 @@ function it(e, l, c, s, h, d, i) {
423
424
  onNormalChange: P
424
425
  };
425
426
  }
426
- function Ie(e, l) {
427
- const c = Pe(e);
428
- return c ? window.getComputedStyle(c).getPropertyValue(l) : Se(l, void 0);
427
+ function De(e, l) {
428
+ const c = Se(e);
429
+ return c ? window.getComputedStyle(c).getPropertyValue(l) : _e(l, void 0);
429
430
  }
430
- var He = /* @__PURE__ */ ((e) => (e.NORMAL = "NORMAL", e.HIDDEN = "HIDDEN", e))(He || {}), se = /* @__PURE__ */ ((e) => (e.AFTER_SHOW = "after_show", e.AFTER_HIDE = "after_hide", e.AFTER_STICK = "after_stick", e))(se || {});
431
- const rt = (e) => {
432
- const { getTranslate: l, setTranslate: c, setScale: s, setPrevTranslate: h, getScale: d } = Xe(e.dragOffset);
431
+ var Ne = /* @__PURE__ */ ((e) => (e.NORMAL = "NORMAL", e.HIDDEN = "HIDDEN", e))(Ne || {}), se = /* @__PURE__ */ ((e) => (e.AFTER_SHOW = "after_show", e.AFTER_HIDE = "after_hide", e.AFTER_STICK = "after_stick", e))(se || {});
432
+ const ct = (e) => {
433
+ const { getTranslate: l, setTranslate: c, setScale: r, setPrevTranslate: h, getScale: d } = Xe(e.dragOffset);
433
434
  let i = e.parent;
434
- const R = Ge(), T = ue(), y = Te(
435
+ const R = Qe(), T = fe(), y = Ee(
435
436
  "NORMAL"
436
437
  /* NORMAL */
437
438
  ), S = {
@@ -444,74 +445,74 @@ const rt = (e) => {
444
445
  const { translateX: t, translateY: f } = l();
445
446
  a.transX.old = t, a.transX.final = t, a.transY.old = f, a.transY.final = f;
446
447
  }
447
- const { x: A, y: m, width: g, left: P } = le(e.targetEle);
448
- function N(t, f) {
449
- const r = {
448
+ const { x: A, y: m, width: g, left: P } = ue(e.targetEle);
449
+ function F(t, f) {
450
+ const o = {
450
451
  width: window.innerWidth,
451
452
  height: window.innerHeight
452
453
  };
453
454
  if (!e.targetEle.value || t.position === "fixed")
454
- return r;
455
+ return o;
455
456
  {
456
- if (f) return r;
457
- const Y = ne();
458
- return r.width = Y.offsetWidth, r.height = Y.offsetHeight, r;
457
+ if (f) return o;
458
+ const C = ne();
459
+ return o.width = C.offsetWidth, o.height = C.offsetHeight, o;
459
460
  }
460
461
  }
461
- function H(t, f, r, v, Y) {
462
+ function H(t, f, o, v, C) {
462
463
  return () => {
463
- s(Y[0], Y[1]), c(t, f), h(t, f);
464
+ r(C[0], C[1]), c(t, f), h(t, f);
464
465
  };
465
466
  }
466
- function o(t, f) {
467
- const r = { x: 0, y: 0, w: 0, h: 0 };
468
- if (!e.targetEle.value) return r;
469
- const v = Ke(
467
+ function s(t, f) {
468
+ const o = { x: 0, y: 0, w: 0, h: 0 };
469
+ if (!e.targetEle.value) return o;
470
+ const v = Ze(
470
471
  {
471
- x: (W, U, Fe, Ne) => U,
472
- y: (W, U, Fe, Ne) => U,
473
- scale: (W, U) => [W, U]
472
+ x: (U, j, Fe, Ve) => j,
473
+ y: (U, j, Fe, Ve) => j,
474
+ scale: (U, j) => [U, j]
474
475
  },
475
476
  f
476
- ), Y = !!e.config.value.attachWindow, k = window.getComputedStyle(e.targetEle.value), B = N(k, Y);
477
+ ), C = !!e.config.value.attachWindow, Y = window.getComputedStyle(e.targetEle.value), z = F(Y, C);
477
478
  let M = 0, O = 0;
478
- const p = w(k.width), b = w(k.height);
479
- r.w = p, r.h = b;
480
- const { translateX: E, translateY: _ } = l();
481
- if (k.position === "fixed" ? (M = w(k.left), O = w(k.top)) : Y ? (M = w(A.value - E), O = w(m.value - _)) : (M = w(k.left), O = w(k.top)), typeof t == "string")
479
+ const p = w(Y.width), b = w(Y.height);
480
+ o.w = p, o.h = b;
481
+ const { translateX: E, translateY: k } = l();
482
+ if (Y.position === "fixed" ? (M = w(Y.left), O = w(Y.top)) : C ? (M = w(A.value - E), O = w(m.value - k)) : (M = w(Y.left), O = w(Y.top)), typeof t == "string")
482
483
  switch (t) {
483
484
  case "left": {
484
- r.x = v.x(E, -w(M), p, b), r.y = v.y(_, _, p, b);
485
+ o.x = v.x(E, -w(M), p, b), o.y = v.y(k, k, p, b);
485
486
  break;
486
487
  }
487
488
  case "top": {
488
- r.x = v.x(E, E, p, b), r.y = v.y(_, -w(O), p, b);
489
+ o.x = v.x(E, E, p, b), o.y = v.y(k, -w(O), p, b);
489
490
  break;
490
491
  }
491
492
  case "right": {
492
- r.x = v.x(E, -w(M) + B.width - p, p, b), r.y = v.y(_, _, p, b);
493
+ o.x = v.x(E, -w(M) + z.width - p, p, b), o.y = v.y(k, k, p, b);
493
494
  break;
494
495
  }
495
496
  case "bottom": {
496
- r.x = v.x(E, E, p, b), r.y = v.y(_, -w(O) + B.height - b, p, b);
497
+ o.x = v.x(E, E, p, b), o.y = v.y(k, -w(O) + z.height - b, p, b);
497
498
  break;
498
499
  }
499
500
  case "self": {
500
- r.x = v.x(E, E, p, b), r.y = v.y(_, _, p, b);
501
+ o.x = v.x(E, E, p, b), o.y = v.y(k, k, p, b);
501
502
  break;
502
503
  }
503
504
  case "center":
504
505
  default:
505
- r.x = v.x(E, -w(M) + B.width / 2 - p / 2, p, b), r.y = v.y(_, -w(O) + B.height / 2 - b / 2, p, b);
506
+ o.x = v.x(E, -w(M) + z.width / 2 - p / 2, p, b), o.y = v.y(k, -w(O) + z.height / 2 - b / 2, p, b);
506
507
  }
507
508
  else
508
- G(t.x) ? r.x = v.x(E, -w(M) + (t.x ?? E), p, b) : r.x = v.x(E, E, p, b), G(t.y) ? r.y = v.y(_, -w(O) + (t.y ?? _), p, b) : r.y = v.y(_, _, p, b);
509
- return r;
509
+ G(t.x) ? o.x = v.x(E, -w(M) + (t.x ?? E), p, b) : o.x = v.x(E, E, p, b), G(t.y) ? o.y = v.y(k, -w(O) + (t.y ?? k), p, b) : o.y = v.y(k, k, p, b);
510
+ return o;
510
511
  }
511
- async function u(t, f, r, v) {
512
- await new Promise((Y) => {
513
- if (r(), !f) {
514
- Y();
512
+ async function u(t, f, o, v) {
513
+ await new Promise((C) => {
514
+ if (o(), !f) {
515
+ C();
515
516
  return;
516
517
  }
517
518
  R.animate(
@@ -519,8 +520,8 @@ const rt = (e) => {
519
520
  v,
520
521
  { duration: S.stick, iterations: 1 },
521
522
  {
522
- finish(k, B) {
523
- Y();
523
+ finish(Y, z) {
524
+ C();
524
525
  }
525
526
  }
526
527
  );
@@ -529,179 +530,179 @@ const rt = (e) => {
529
530
  function I() {
530
531
  return w(P.value) + w(g.value) / 2 >= window.innerWidth / 2 ? "right" : "left";
531
532
  }
532
- async function D(t = !0, f, r) {
533
+ async function D(t = !0, f, o) {
533
534
  if (!e.targetEle.value) return;
534
- const { x: v, y: Y, w: k, h: B } = o(f, r), { scaleX: M, scaleY: O } = d(), p = {
535
+ const { x: v, y: C, w: Y, h: z } = s(f, o), { scaleX: M, scaleY: O } = d(), p = {
535
536
  old: [M, O],
536
537
  final: [M, O]
537
538
  };
538
- if (r?.scale) {
539
- const U = r.scale(p.old, p.final);
540
- p.old = U[0], p.final = U[1];
539
+ if (o?.scale) {
540
+ const j = o.scale(p.old, p.final);
541
+ p.old = j[0], p.final = j[1];
541
542
  }
542
- const b = H(v, Y, k, B, p.final), { translateX: E, translateY: _ } = l(), W = [
543
- { scale: p.old, translate: [X(E), X(_)] },
544
- { scale: p.final, translate: [X(v), X(Y)] }
543
+ const b = H(v, C, Y, z, p.final), { translateX: E, translateY: k } = l(), U = [
544
+ { scale: p.old, translate: [_(E), _(k)] },
545
+ { scale: p.final, translate: [_(v), _(C)] }
545
546
  ];
546
- await u(e.targetEle.value, t, b, W);
547
+ await u(e.targetEle.value, t, b, U);
547
548
  }
548
- async function C(t = !0, f) {
549
+ async function X(t = !0, f) {
549
550
  if (y.value !== "HIDDEN" || !e.targetEle.value) return;
550
- const r = [0, 0], v = [1, 1], Y = [
551
- { scale: v, translate: [X(a.transX.final), X(a.transY.final)] },
552
- { scale: v, translate: [X(a.transX.old), X(a.transY.old)] }
553
- ], k = () => {
554
- s(v[0], v[1]), c(a.transX.old, a.transY.old), h(a.transX.old, a.transY.old);
551
+ const o = [0, 0], v = [1, 1], C = [
552
+ { scale: v, translate: [_(a.transX.final), _(a.transY.final)] },
553
+ { scale: v, translate: [_(a.transX.old), _(a.transY.old)] }
554
+ ], Y = () => {
555
+ r(v[0], v[1]), c(a.transX.old, a.transY.old), h(a.transX.old, a.transY.old);
555
556
  };
556
557
  f ? await D(t, f, {
557
- scale(B, M) {
558
- return f === "self" || f === "center" ? [r, v] : [v, v];
558
+ scale(z, M) {
559
+ return f === "self" || f === "center" ? [o, v] : [v, v];
559
560
  }
560
- }) : await u(e.targetEle.value, t, k, Y), y.value = "NORMAL", T.emit(
561
+ }) : await u(e.targetEle.value, t, Y, C), y.value = "NORMAL", T.emit(
561
562
  "after_show"
562
563
  /* AFTER_SHOW */
563
564
  );
564
565
  }
565
- async function F(t, f = !0) {
566
+ async function N(t, f = !0) {
566
567
  if (y.value !== "NORMAL" || !e.targetEle.value) return;
567
568
  for await (const b of x)
568
569
  await b();
569
570
  L();
570
- const { x: r, y: v, w: Y, h: k } = o(t, {
571
- x: (b, E, _, W) => {
571
+ const { x: o, y: v, w: C, h: Y } = s(t, {
572
+ x: (b, E, k, U) => {
572
573
  switch (t) {
573
574
  case "left":
574
- return E -= w(_);
575
+ return E -= w(k);
575
576
  case "right":
576
- return E += w(_);
577
+ return E += w(k);
577
578
  }
578
579
  return E;
579
580
  },
580
- y: (b, E, _, W) => {
581
+ y: (b, E, k, U) => {
581
582
  switch (t) {
582
583
  case "top":
583
- return E -= w(W);
584
+ return E -= w(U);
584
585
  case "bottom":
585
- return E += w(W);
586
+ return E += w(U);
586
587
  }
587
588
  return E;
588
589
  }
589
- }), { translateX: B, translateY: M } = l();
590
+ }), { translateX: z, translateY: M } = l();
590
591
  let O = [
591
- { scale: [1, 1], translate: [X(B), X(M)] },
592
- { scale: [1, 1], translate: [X(r), X(v)] }
592
+ { scale: [1, 1], translate: [_(z), _(M)] },
593
+ { scale: [1, 1], translate: [_(o), _(v)] }
593
594
  ];
594
595
  (t === "self" || t === "center") && (O = [
595
- { scale: [1, 1], translate: [X(r), X(v)] },
596
- { scale: [0, 0], translate: [X(r), X(v)] }
597
- ]), a.transX.final = r, a.transY.final = v;
598
- const p = H(r, v, Y, k, [0, 0]);
596
+ { scale: [1, 1], translate: [_(o), _(v)] },
597
+ { scale: [0, 0], translate: [_(o), _(v)] }
598
+ ]), a.transX.final = o, a.transY.final = v;
599
+ const p = H(o, v, C, Y, [0, 0]);
599
600
  await u(e.targetEle.value, f, p, O), y.value = "HIDDEN", T.emit(
600
601
  "after_hide"
601
602
  /* AFTER_HIDE */
602
603
  );
603
604
  }
604
- async function z(t, f = !0) {
605
+ async function V(t, f = !0) {
605
606
  if (y.value === "NORMAL" && e.targetEle.value) {
606
- for await (const r of n)
607
- await r();
607
+ for await (const o of n)
608
+ await o();
608
609
  await D(f, t), T.emit(
609
610
  "after_stick"
610
611
  /* AFTER_STICK */
611
612
  );
612
613
  }
613
614
  }
614
- async function V(t = !0) {
615
- y.value === "NORMAL" && await F(I(), t);
615
+ async function W(t = !0) {
616
+ y.value === "NORMAL" && await N(I(), t);
616
617
  }
617
618
  async function Z(t = !0) {
618
- y.value === "NORMAL" && await z(I(), t);
619
+ y.value === "NORMAL" && await V(I(), t);
619
620
  }
620
- function ce(t) {
621
+ function ve(t) {
621
622
  y.value = t;
622
623
  }
623
624
  function K() {
624
625
  return y.value;
625
626
  }
626
- function fe() {
627
+ function de() {
627
628
  return e.targetEle.value;
628
629
  }
629
- function ve(t, f) {
630
+ function he(t, f) {
630
631
  T.on(t, f);
631
632
  }
632
- function de(t) {
633
+ function ge(t) {
633
634
  x.push(t);
634
635
  }
635
- function he(t) {
636
+ function me(t) {
636
637
  n.push(t);
637
638
  }
638
- function ge(t) {
639
+ function pe(t) {
639
640
  t && (i = t);
640
641
  }
641
642
  function ne() {
642
643
  return i ?? e.targetEle.value?.parentElement ?? document.body;
643
644
  }
644
- function me() {
645
+ function we() {
645
646
  T.removeAllListeners(), x.length = 0, n.length = 0;
646
647
  }
647
648
  return {
648
- getTarget: fe,
649
- setStatus: ce,
649
+ getTarget: de,
650
+ setStatus: ve,
650
651
  getStatus: K,
651
- show: C,
652
- autoHide: V,
652
+ show: X,
653
+ autoHide: W,
653
654
  autoStick: Z,
654
- stickTo: z,
655
- hideTo: F,
655
+ stickTo: V,
656
+ hideTo: N,
656
657
  moveTo: D,
657
- dispose: me,
658
- registerBeforeHideHook: de,
659
- registerBeforeStickHook: he,
660
- on: ve,
661
- setTargetParent: ge,
658
+ dispose: we,
659
+ registerBeforeHideHook: ge,
660
+ registerBeforeStickHook: me,
661
+ on: he,
662
+ setTargetParent: pe,
662
663
  getTargetParent: ne
663
664
  };
664
665
  };
665
- var xe = /* @__PURE__ */ ((e) => (e.SCALING = "scaling", e.AFTER_SCALE = "after_scale", e))(xe || {});
666
- const ot = (e) => {
667
- const l = oe(e.config.value, "containerStyle"), { set: c, sets: s } = Ye(l), h = ue(), d = ["t", "r", "b", "l", "lt", "rt", "lb", "rb"];
666
+ var Te = /* @__PURE__ */ ((e) => (e.SCALING = "scaling", e.AFTER_SCALE = "after_scale", e))(Te || {});
667
+ const ft = (e) => {
668
+ const l = oe(e.config.value, "containerStyle"), { set: c, sets: r } = Ye(l), h = fe(), d = ["t", "r", "b", "l", "lt", "rt", "lb", "rb"];
668
669
  let i = "";
669
- const { x: R, y: T, width: y, height: S, update: a } = le(e.targetEle), x = {
670
- t: (o, u) => {
671
- o.clientY >= n.y + n.height || s({ top: u.t, height: u.h });
670
+ const { x: R, y: T, width: y, height: S, update: a } = ue(e.targetEle), x = {
671
+ t: (s, u) => {
672
+ s.clientY >= n.y + n.height || r({ top: u.t, height: u.h });
672
673
  },
673
- r: (o, u) => {
674
+ r: (s, u) => {
674
675
  c("width", u.w);
675
676
  },
676
- b: (o, u) => {
677
+ b: (s, u) => {
677
678
  c("height", u.h);
678
679
  },
679
- l: (o, u) => {
680
- o.clientX >= n.x + n.width || s({ left: u.l, width: u.w });
680
+ l: (s, u) => {
681
+ s.clientX >= n.x + n.width || r({ left: u.l, width: u.w });
681
682
  },
682
- lt: (o, u) => {
683
- o.clientX >= n.x + n.width || o.clientY >= n.y + n.height || s({ left: u.l, top: u.t, width: u.w, height: u.h });
683
+ lt: (s, u) => {
684
+ s.clientX >= n.x + n.width || s.clientY >= n.y + n.height || r({ left: u.l, top: u.t, width: u.w, height: u.h });
684
685
  },
685
- rt: (o, u) => {
686
- o.clientY >= n.y + n.height || s({ top: u.t, width: u.w, height: u.h });
686
+ rt: (s, u) => {
687
+ s.clientY >= n.y + n.height || r({ top: u.t, width: u.w, height: u.h });
687
688
  },
688
- lb: (o, u) => {
689
- o.clientX >= n.x + n.width || s({ left: u.l, width: u.w, height: u.h });
689
+ lb: (s, u) => {
690
+ s.clientX >= n.x + n.width || r({ left: u.l, width: u.w, height: u.h });
690
691
  },
691
- rb: (o, u) => {
692
- s({ width: u.w, height: u.h });
692
+ rb: (s, u) => {
693
+ r({ width: u.w, height: u.h });
693
694
  }
694
695
  }, n = { x: 0, y: 0, clientX: 0, clientY: 0, left: 0, top: 0, width: 0, height: 0 };
695
- function L(o) {
696
- o.preventDefault();
696
+ function L(s) {
697
+ s.preventDefault();
697
698
  }
698
- function A(o) {
699
- const u = n.top + o.clientY - n.clientY, I = n.left + o.clientX - n.clientX, D = i.startsWith("r") ? o.clientX - n.x : n.width + n.clientX - o.clientX, C = i.endsWith("t") ? n.height + n.clientY - o.clientY : o.clientY - n.y;
700
- x[i](o, {
699
+ function A(s) {
700
+ const u = n.top + s.clientY - n.clientY, I = n.left + s.clientX - n.clientX, D = i.startsWith("r") ? s.clientX - n.x : n.width + n.clientX - s.clientX, X = i.endsWith("t") ? n.height + n.clientY - s.clientY : s.clientY - n.y;
701
+ x[i](s, {
701
702
  l: I,
702
703
  t: u,
703
704
  w: D,
704
- h: C
705
+ h: X
705
706
  }), h.emit(
706
707
  "scaling"
707
708
  /* SCALING */
@@ -713,13 +714,13 @@ const ot = (e) => {
713
714
  /* AFTER_SCALE */
714
715
  );
715
716
  }
716
- function g(o, u) {
717
- document.addEventListener("selectstart", L), i = u, o.stopPropagation(), o.preventDefault(), a(), n.x = R.value, n.y = T.value, n.clientX = o.clientX, n.clientY = o.clientY, n.left = w(e.config.value.containerStyle?.left), n.top = w(e.config.value.containerStyle?.top) || w(e.targetEle.value?.offsetTop), n.width = y.value, n.height = S.value, document.addEventListener("mousemove", A), document.addEventListener("mouseup", m);
717
+ function g(s, u) {
718
+ document.addEventListener("selectstart", L), i = u, s.stopPropagation(), s.preventDefault(), a(), n.x = R.value, n.y = T.value, n.clientX = s.clientX, n.clientY = s.clientY, n.left = w(e.config.value.containerStyle?.left), n.top = w(e.config.value.containerStyle?.top) || w(e.targetEle.value?.offsetTop), n.width = y.value, n.height = S.value, document.addEventListener("mousemove", A), document.addEventListener("mouseup", m);
718
719
  }
719
- function P(o, u) {
720
- h.on(o, u);
720
+ function P(s, u) {
721
+ h.on(s, u);
721
722
  }
722
- function N() {
723
+ function F() {
723
724
  h.removeAllListeners();
724
725
  }
725
726
  function H() {
@@ -730,9 +731,9 @@ const ot = (e) => {
730
731
  getTarget: H,
731
732
  onMouseDown: g,
732
733
  on: P,
733
- dispose: N
734
+ dispose: F
734
735
  };
735
- }, st = /* @__PURE__ */ be({
736
+ }, vt = /* @__PURE__ */ ce({
736
737
  __name: "index",
737
738
  props: {
738
739
  modelValue: {},
@@ -740,10 +741,10 @@ const ot = (e) => {
740
741
  },
741
742
  emits: ["beforeMove", "moving", "afterMove", "scaling", "afterScale", "maskClick", "update:modelValue"],
742
743
  setup(e, { expose: l, emit: c }) {
743
- const s = c, h = e, d = Te(), i = $({
744
+ const r = c, h = e, d = Ee(), i = $({
744
745
  get: () => h.modelValue,
745
- set: (t) => s("update:modelValue", t)
746
- }), R = te("header"), T = te("scales"), y = te("drag"), S = ee(), a = oe(i.value, "containerStyle"), x = oe(i.value, "contentStyle"), n = oe(i.value, "headerStyle"), { get: L } = Ye(a), A = Ae({
746
+ set: (t) => r("update:modelValue", t)
747
+ }), R = te("header"), T = te("scales"), y = te("drag"), S = ee(), a = oe(i.value, "containerStyle"), x = oe(i.value, "contentStyle"), n = oe(i.value, "headerStyle"), { get: L } = Ye(a), A = Me({
747
748
  prevClientX: 0,
748
749
  prevClientY: 0,
749
750
  prevTranslateX: 0,
@@ -751,19 +752,19 @@ const ot = (e) => {
751
752
  translateX: 0,
752
753
  translateY: 0,
753
754
  scale: [0, 0]
754
- }), { getScale: m, getTranslate: g, setTranslate: P, setPrevClientPos: N, getPrevClientPos: H, setPrevTranslate: o, getPrevTranslate: u } = Xe(A), I = ot({
755
+ }), { getScale: m, getTranslate: g, setTranslate: P, setPrevClientPos: F, getPrevClientPos: H, setPrevTranslate: s, getPrevTranslate: u } = Xe(A), I = ft({
755
756
  config: i,
756
757
  targetEle: y
757
- }), D = $(() => ye(h.dragTarget)), C = $(() => !!i.value.header), F = $(() => ie(x.value)), z = $(() => ie(n.value)), V = $(() => ie(a.value)), Z = $(() => {
758
- const { scaleX: t, scaleY: f } = m(), { translateX: r, translateY: v } = g(), Y = L("width") ?? Ie(y, "width"), k = L("height") ?? Ie(y, "height");
758
+ }), D = $(() => be(h.dragTarget)), X = $(() => !!i.value.header), N = $(() => ie(x.value)), V = $(() => ie(n.value)), W = $(() => ie(a.value)), Z = $(() => {
759
+ const { scaleX: t, scaleY: f } = m(), { translateX: o, translateY: v } = g(), C = L("width") ?? De(y, "width"), Y = L("height") ?? De(y, "height");
759
760
  return {
760
- transform: `scale(${t},${f}) translate(${X(r)},${X(v)})`,
761
- zIndex: i.value.normal ? void 0 : Se("zIndex", L("zIndex")),
761
+ transform: `scale(${t},${f}) translate(${_(o)},${_(v)})`,
762
+ zIndex: i.value.normal ? void 0 : _e("zIndex", L("zIndex")),
762
763
  // 计算其transform中心点,用于优化动画效果。元素移动时,其left和top并没有发生变化
763
- transformOrigin: `${X(parseFloat((r + w(Y) / 2).toFixed(2)))}
764
- ${X(parseFloat((v + w(k) / 2).toFixed(2)))}`
764
+ transformOrigin: `${_(parseFloat((o + w(C) / 2).toFixed(2)))}
765
+ ${_(parseFloat((v + w(Y) / 2).toFixed(2)))}`
765
766
  };
766
- }), ce = $(() => ie(i.value.maskStyle)), { autoStick: K, onInit: fe, onMovableChange: ve, onNormalChange: de } = it(
767
+ }), ve = $(() => ie(i.value.maskStyle)), { autoStick: K, onInit: de, onMovableChange: he, onNormalChange: ge } = ut(
767
768
  i,
768
769
  S,
769
770
  d,
@@ -772,28 +773,28 @@ const ot = (e) => {
772
773
  D,
773
774
  R
774
775
  );
775
- function he() {
776
- S.value = et(), S.value.every("beforemove", (t) => {
777
- N(t.clientX, t.clientY), s("beforeMove", Object.assign({}, t, g()));
776
+ function me() {
777
+ S.value = rt(), S.value.every("beforemove", (t) => {
778
+ F(t.clientX, t.clientY), r("beforeMove", Object.assign({}, t, g()));
778
779
  }), S.value.every("moving", (t) => {
779
- const { clientX: f, clientY: r } = H(), { translateX: v, translateY: Y } = u();
780
- P(v + t.clientX - f, Y + t.clientY - r);
781
- const k = g();
782
- (G(i.value.x) || G(i.value.y)) && (i.value.x = k.translateX, i.value.y = k.translateY), s("moving", { ...t, ...k });
780
+ const { clientX: f, clientY: o } = H(), { translateX: v, translateY: C } = u();
781
+ P(v + t.clientX - f, C + t.clientY - o);
782
+ const Y = g();
783
+ (G(i.value.x) || G(i.value.y)) && (i.value.x = Y.translateX, i.value.y = Y.translateY), r("moving", { ...t, ...Y });
783
784
  }), S.value.every("aftermove", async (t) => {
784
- const { translateX: f, translateY: r } = g();
785
- o(f, r), await K(), s("afterMove", { ...t, ...g() });
785
+ const { translateX: f, translateY: o } = g();
786
+ s(f, o), await K(), r("afterMove", { ...t, ...g() });
786
787
  });
787
788
  }
788
- function ge() {
789
- I.on(xe.AFTER_SCALE, async () => {
790
- await K(), T.value && s("afterScale", T.value);
791
- }), I.on(xe.SCALING, async () => {
792
- T.value && s("scaling", T.value);
789
+ function pe() {
790
+ I.on(Te.AFTER_SCALE, async () => {
791
+ await K(), T.value && r("afterScale", T.value);
792
+ }), I.on(Te.SCALING, async () => {
793
+ T.value && r("scaling", T.value);
793
794
  });
794
795
  }
795
796
  function ne() {
796
- d.value = rt({
797
+ d.value = ct({
797
798
  config: i,
798
799
  targetEle: y,
799
800
  dragOffset: A
@@ -806,10 +807,10 @@ const ot = (e) => {
806
807
  i.value.x = t, i.value.y = f;
807
808
  });
808
809
  }
809
- async function me() {
810
- ge(), he(), ne(), ve(i.value.movable), de(i.value.normal), fe(), window.addEventListener("resize", K);
810
+ async function we() {
811
+ pe(), me(), ne(), he(i.value.movable), ge(i.value.normal), de(), window.addEventListener("resize", K);
811
812
  }
812
- return De(me), Me(() => {
813
+ return Oe(we), Pe(() => {
813
814
  window.removeEventListener("resize", K), I.dispose(), d.value?.dispose();
814
815
  }), l({
815
816
  async autoStick(t) {
@@ -827,53 +828,69 @@ const ot = (e) => {
827
828
  async show(t, f) {
828
829
  return d.value?.show(t, f);
829
830
  },
830
- async moveTo(t, f, r) {
831
- return d.value?.moveTo(t, f, r);
831
+ async moveTo(t, f, o) {
832
+ return d.value?.moveTo(t, f, o);
832
833
  },
833
834
  getStatus: function() {
834
835
  return d.value?.getStatus();
835
836
  }
836
- }), (t, f) => (j(), Q("div", {
837
+ }), (t, f) => (B(), Q("div", {
837
838
  ref: "drag",
838
839
  class: "dragContainer",
839
- style: J([V.value, Z.value])
840
+ style: J([W.value, Z.value])
840
841
  }, [
841
- C.value ? (j(), Q("div", {
842
+ X.value ? (B(), Q("div", {
842
843
  key: 0,
843
844
  ref: "header",
844
845
  class: "dragHeader",
845
- style: J(z.value)
846
+ style: J(V.value)
846
847
  }, [
847
- we(t.$slots, "header", {}, void 0, !0)
848
+ xe(t.$slots, "header", {}, void 0, !0)
848
849
  ], 4)) : re("", !0),
849
- i.value.scalable ? (j(), Ce(at, {
850
+ i.value.scalable ? (B(), le(lt, {
850
851
  key: 1,
851
852
  config: i.value,
852
- scale: Pe(I),
853
+ scale: Se(I),
853
854
  move: S.value
854
855
  }, null, 8, ["config", "scale", "move"])) : re("", !0),
855
- Oe("div", {
856
+ He("div", {
856
857
  ref: "scales",
857
858
  class: "scaleContent",
858
- style: J(F.value)
859
+ style: J(N.value)
859
860
  }, [
860
- we(t.$slots, "default", {}, void 0, !0)
861
+ xe(t.$slots, "default", {}, void 0, !0)
861
862
  ], 4),
862
- (j(), Ce(Ue, {
863
+ (B(), le(je, {
863
864
  to: "body",
864
865
  disabled: !i.value.mask
865
866
  }, [
866
- i.value.mask ? (j(), Q("div", {
867
+ i.value.mask ? (B(), Q("div", {
867
868
  key: 0,
868
869
  class: "dragMask",
869
- style: J(ce.value),
870
- onClick: f[0] || (f[0] = (r) => s("maskClick"))
870
+ style: J(ve.value),
871
+ onClick: f[0] || (f[0] = (o) => r("maskClick"))
871
872
  }, null, 4)) : re("", !0)
872
873
  ], 8, ["disabled"]))
873
874
  ], 4));
874
875
  }
875
- }), vt = /* @__PURE__ */ Ee(st, [["__scopeId", "data-v-d123b73c"]]);
876
+ }), wt = /* @__PURE__ */ Ce(vt, [["__scopeId", "data-v-f5de5f52"]]), yt = /* @__PURE__ */ ce({
877
+ __name: "index",
878
+ setup(e) {
879
+ return (l, c) => (B(), le(Se(nt), null, {
880
+ default: ke(({ Component: r }) => [
881
+ Ge(Ke, { name: "slide" }, {
882
+ default: ke(() => [
883
+ (B(), le(qe(r)))
884
+ ]),
885
+ _: 2
886
+ }, 1024)
887
+ ]),
888
+ _: 1
889
+ }));
890
+ }
891
+ });
876
892
  export {
877
- ft as Affix,
878
- vt as ScalePanel
893
+ pt as Affix,
894
+ yt as ParentView,
895
+ wt as ScalePanel
879
896
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toolmain/components",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -25,12 +25,30 @@
25
25
  "dist/*.d.ts"
26
26
  ],
27
27
  "peerDependencies": {
28
+ "@types/three": "^0.179.0",
28
29
  "@vueuse/core": "^13.7.0",
30
+ "element-plus": "^2.10.7",
31
+ "pinia": "^3.0.3",
32
+ "three": "^0.179.1",
29
33
  "unocss": "^66.4.2",
30
- "vue": "^3.5.0"
34
+ "vue": "^3.5.18",
35
+ "vue-router": "^4.5.1",
36
+ "@toolmain/libs": "^1.1.0"
31
37
  },
32
38
  "dependencies": {
33
- "@toolmain/shared": "^1.1.0",
39
+ "dexie": "^4.2.0",
40
+ "three-mesh-bvh": "^0.9.1",
41
+ "@toolmain/shared": "^1.2.0"
42
+ },
43
+ "devDependencies": {
44
+ "@types/three": "^0.179.0",
45
+ "@vueuse/core": "^13.7.0",
46
+ "element-plus": "^2.10.7",
47
+ "pinia": "^3.0.3",
48
+ "three": "^0.179.1",
49
+ "unocss": "^66.4.2",
50
+ "vue": "^3.5.18",
51
+ "vue-router": "^4.5.1",
34
52
  "@toolmain/libs": "^1.1.0"
35
53
  },
36
54
  "scripts": {