build-dxf 0.1.22 → 0.1.24

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 (33) hide show
  1. package/.htaccess +0 -0
  2. package/nginx.htaccess +0 -0
  3. package/package.json +1 -1
  4. package/src/DomEventRegister.js +4 -5
  5. package/src/build.d.ts +1 -0
  6. package/src/build.js +6718 -3078
  7. package/src/components/DragContainer.vue.d.ts +44 -0
  8. package/src/index.css +111 -66
  9. package/src/index.js +10 -10
  10. package/src/index2.js +0 -2
  11. package/src/index3.js +658 -226
  12. package/src/utils/DxfSystem/components/CorrectionDxf.d.ts +1 -1
  13. package/src/utils/DxfSystem/components/Dxf.d.ts +3 -3
  14. package/src/utils/DxfSystem/plugin/Editor/components/CommandFlow/Default.d.ts +1 -1
  15. package/src/utils/DxfSystem/plugin/Editor/components/CommandFlow/PropertiesPanel.d.ts +33 -0
  16. package/src/utils/DxfSystem/plugin/Editor/components/index.d.ts +1 -0
  17. package/src/utils/DxfSystem/plugin/Editor/pages/EditorTool.vue.d.ts +1 -4
  18. package/src/utils/DxfSystem/plugin/Editor/pages/PropertiesPanel.vue.d.ts +16 -0
  19. package/src/utils/DxfSystem/plugin/Editor/pages/components/Input.vue.d.ts +13 -0
  20. package/src/utils/DxfSystem/plugin/RenderPlugin/components/DomEventRegister.d.ts +1 -2
  21. package/src/utils/DxfSystem/type.d.ts +31 -27
  22. package/src/utils/DxfSystem/utils/BoundExt.d.ts +0 -4
  23. package/src/utils/DxfSystem/utils/BoundExt02.d.ts +46 -0
  24. package/src/utils/DxfSystem/utils/DoorFind.d.ts +4 -3
  25. package/src/utils/DxfSystem/utils/index.d.ts +1 -1
  26. package/src/utils/DxfSystem/utils/lineSegmentClipping.d.ts +1 -1
  27. package/src/utils/LineSegment.d.ts +1 -1
  28. package/src/utils/OBB.d.ts +30 -0
  29. package/src/utils/{PointCloud.d.ts → PCSparseOctree.d.ts} +2 -29
  30. package/src/utils/StorageHelper.d.ts +6 -0
  31. package/src/utils/index.d.ts +2 -0
  32. package/src/utils/isMobile.d.ts +1 -0
  33. package/src/utils/modelScenario/scenario.d.ts +2 -1
package/src/index3.js CHANGED
@@ -1,10 +1,10 @@
1
- import { C as Component, P as PointVirtualGrid, Q as Quadtree, B as Box2, a as Point, c as cloneUserData, L as LineSegment, b as Lines, H as HeightQuery, u as uuid, r as recomputedWindow, A as AxisAlignCorr, W as WhiteModel, T as ThreeVJia, V as Variable, S as SelectLocalFile, d as CommandManager } from "./build.js";
1
+ import { C as Component, P as PointVirtualGrid, Q as Quadtree, B as Box2, a as Point, c as cloneUserData, L as LineSegment, b as Lines, H as HeightQuery, u as uuid, r as recomputedWindow, d as drawText, e as PRE_PROCESSOR, W as WhiteModel, T as ThreeVJia, V as Variable, S as SelectLocalFile, f as CommandManager } from "./build.js";
2
2
  import * as THREE from "three";
3
3
  import "clipper-lib";
4
4
  import "dxf-writer";
5
5
  import { D as DomEventRegister } from "./DomEventRegister.js";
6
6
  import "three/addons/controls/OrbitControls.js";
7
- import { getCurrentInstance, inject, ref, computed, unref, shallowRef, watchEffect, readonly, getCurrentScope, onScopeDispose, onMounted, nextTick, watch, isRef, warn, provide, defineComponent, createElementBlock, openBlock, mergeProps, renderSlot, createElementVNode, toRef, onUnmounted, useAttrs as useAttrs$1, useSlots, normalizeStyle, normalizeClass, createCommentVNode, Fragment, createBlock, withCtx, resolveDynamicComponent, withModifiers, createVNode, toDisplayString, onBeforeUnmount, Transition, withDirectives, vShow, reactive, onActivated, onUpdated, cloneVNode, Text, Comment, Teleport as Teleport$1, onBeforeMount, onDeactivated, createTextVNode, toRaw, vModelCheckbox, toRefs, h, resolveComponent, normalizeProps, guardReactiveProps, createSlots, shallowReactive, isVNode, render, withKeys, markRaw, createStaticVNode, renderList, TransitionGroup, createApp } from "vue";
7
+ import { getCurrentInstance, inject, ref, computed, unref, shallowRef, watchEffect, readonly, getCurrentScope, onScopeDispose, onMounted, nextTick, watch, isRef, warn, provide, defineComponent, createElementBlock, openBlock, mergeProps, renderSlot, createElementVNode, toRef, onUnmounted, useAttrs as useAttrs$1, useSlots, normalizeStyle, normalizeClass, createCommentVNode, Fragment, createBlock, withCtx, resolveDynamicComponent, withModifiers, createVNode, toDisplayString, onBeforeUnmount, Transition, withDirectives, vShow, reactive, onActivated, onUpdated, cloneVNode, Text, Comment, Teleport as Teleport$1, onBeforeMount, onDeactivated, createTextVNode, toRaw, vModelCheckbox, toRefs, h, resolveComponent, normalizeProps, guardReactiveProps, createSlots, shallowReactive, isVNode, render, withKeys, markRaw, mergeModels, useModel, createStaticVNode, vModelText, renderList, createApp, TransitionGroup } from "vue";
8
8
  const VerticalCorr$1 = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='10587'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M64.21%20703.88h888.34M64.21%20667.88h888.34v72H64.21z'%3e%3c/path%3e%3cpath%20d='M509.58%20102.72v566.13M473.58%20102.72h72v566.14h-72z'%3e%3c/path%3e%3c/svg%3e";
9
9
  const __vite_glob_0_0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
10
10
  __proto__: null,
@@ -20,81 +20,91 @@ const __vite_glob_0_2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.def
20
20
  __proto__: null,
21
21
  default: angle
22
22
  }, Symbol.toStringTag, { value: "Module" }));
23
- const connection = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M639.999191%20893.597594c-0.999994-54.699654-36.39977-101.099361-85.39946-118.399252-6.39996-2.199986-10.599933-8.299948-10.599933-14.999905V263.801573c0-6.699958%204.199973-12.799919%2010.599933-14.999905%2049.09969-17.299891%2084.399467-63.599598%2085.39946-118.399252C641.299183%2059.902862%20583.399549%200.503237%20512.899994%200.00324%20441.800444-0.496757%20384.000809%2057.00288%20384.000809%20128.002431c0%2055.699648%2035.599775%20103.099349%2085.299461%20120.699238%206.39996%202.299985%2010.699932%208.299948%2010.699932%2015.099904v496.396864c0%206.799957-4.299973%2012.799919-10.699932%2015.099904-49.699686%2017.599889-85.299461%2064.999589-85.299461%20120.699238%200%2070.999551%2057.799635%20128.499188%20128.899185%20127.999191%2070.499555-0.499997%20128.399189-59.899622%20127.099197-130.399176zM448.000404%20128.002431c0-35.299777%2028.699819-63.999596%2063.999596-63.999595s63.999596%2028.699819%2063.999596%2063.999595-28.699819%2063.999596-63.999596%2063.999596-63.999596-28.699819-63.999596-63.999596z%20m0%20767.995148c0-35.299777%2028.699819-63.999596%2063.999596-63.999596s63.999596%2028.699819%2063.999596%2063.999596-28.699819%2063.999596-63.999596%2063.999595-63.999596-28.699819-63.999596-63.999595z'%3e%3c/path%3e%3c/svg%3e";
23
+ const close = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1769133028297'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='5962'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M23.079385%2023.079385a78.769231%2078.769231%200%200%201%20111.379692%200L512%20400.541538%20889.540923%2023.079385a78.769231%2078.769231%200%200%201%20103.975385-6.537847l7.404307%206.537847a78.769231%2078.769231%200%200%201%200%20111.379692L623.458462%20512l377.462153%20377.540923a78.769231%2078.769231%200%200%201%206.537847%20103.975385l-6.537847%207.404307a78.769231%2078.769231%200%200%201-111.379692%200L512%20623.458462l-377.540923%20377.462153a78.769231%2078.769231%200%200%201-103.975385%206.537847l-7.404307-6.537847a78.769231%2078.769231%200%200%201%200-111.379692L400.541538%20512%2023.079385%20134.459077A78.769231%2078.769231%200%200%201%2016.541538%2030.483692z'%20fill='%23000000'%20p-id='5963'%3e%3c/path%3e%3c/svg%3e";
24
24
  const __vite_glob_0_3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
25
+ __proto__: null,
26
+ default: close
27
+ }, Symbol.toStringTag, { value: "Module" }));
28
+ const connection = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M639.999191%20893.597594c-0.999994-54.699654-36.39977-101.099361-85.39946-118.399252-6.39996-2.199986-10.599933-8.299948-10.599933-14.999905V263.801573c0-6.699958%204.199973-12.799919%2010.599933-14.999905%2049.09969-17.299891%2084.399467-63.599598%2085.39946-118.399252C641.299183%2059.902862%20583.399549%200.503237%20512.899994%200.00324%20441.800444-0.496757%20384.000809%2057.00288%20384.000809%20128.002431c0%2055.699648%2035.599775%20103.099349%2085.299461%20120.699238%206.39996%202.299985%2010.699932%208.299948%2010.699932%2015.099904v496.396864c0%206.799957-4.299973%2012.799919-10.699932%2015.099904-49.699686%2017.599889-85.299461%2064.999589-85.299461%20120.699238%200%2070.999551%2057.799635%20128.499188%20128.899185%20127.999191%2070.499555-0.499997%20128.399189-59.899622%20127.099197-130.399176zM448.000404%20128.002431c0-35.299777%2028.699819-63.999596%2063.999596-63.999595s63.999596%2028.699819%2063.999596%2063.999595-28.699819%2063.999596-63.999596%2063.999596-63.999596-28.699819-63.999596-63.999596z%20m0%20767.995148c0-35.299777%2028.699819-63.999596%2063.999596-63.999596s63.999596%2028.699819%2063.999596%2063.999596-28.699819%2063.999596-63.999596%2063.999595-63.999596-28.699819-63.999596-63.999595z'%3e%3c/path%3e%3c/svg%3e";
29
+ const __vite_glob_0_4 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
25
30
  __proto__: null,
26
31
  default: connection
27
32
  }, Symbol.toStringTag, { value: "Module" }));
28
33
  const cutLine = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='8193'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M426.666667%20255.872c0%2031.232-8.405333%2060.544-23.04%2085.76L512%20451.498667l287.061333-287.061334a85.333333%2085.333333%200%200%201%20120.661334%200l-516.693334%20516.693334a170.666667%20170.666667%200%201%201-60.330666-60.330667l108.970666-108.970667-108.970666-108.970666A170.666667%20170.666667%200%201%201%20426.666667%20255.872z%20m-85.333334%200a85.333333%2085.333333%200%201%200-170.666666%200%2085.333333%2085.333333%200%200%200%20170.666666%200z%20m578.389334%20603.392a85.333333%2085.333333%200%200%201-120.661334%200l-226.858666-226.858667%2060.373333-60.330666%20287.146667%20287.146666zM682.666667%20469.205333h85.333333v85.333334h-85.333333v-85.333334z%20m170.666666%200h85.333334v85.333334h-85.333334v-85.333334z%20m-597.333333%200h85.333333v85.333334H256v-85.333334z%20m-170.666667%200h85.333334v85.333334H85.333333v-85.333334z%20m170.666667%20384a85.333333%2085.333333%200%201%200%200-170.666666%2085.333333%2085.333333%200%200%200%200%20170.666666z'%3e%3c/path%3e%3c/svg%3e";
29
- const __vite_glob_0_4 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
34
+ const __vite_glob_0_5 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
30
35
  __proto__: null,
31
36
  default: cutLine
32
37
  }, Symbol.toStringTag, { value: "Module" }));
33
38
  const deleteSelectLine = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M909.050991%20169.476903l-217.554898%200%200-31.346939c0-39.5866-32.205493-71.792093-71.793116-71.792093L408.15591%2066.337871c-39.5866%200-71.792093%2032.205493-71.792093%2071.792093l0%2031.346939L113.349581%20169.476903c-11.013845%200-19.942191%208.940626-19.942191%2019.954471s8.928347%2019.954471%2019.942191%2019.954471l84.264149%200%200%20640.687918c0%2060.479443%2049.203632%20109.683075%20109.683075%20109.683075l416.474366%200c60.479443%200%20109.683075-49.203632%20109.683075-109.683075L833.454246%20209.385844l75.595722%200c11.012821%200%2019.942191-8.940626%2019.942191-19.954471S920.063813%20169.476903%20909.050991%20169.476903zM376.2482%20138.130987c0-17.593703%2014.314007-31.907711%2031.907711-31.907711l211.547067%200c17.593703%200%2031.907711%2014.314007%2031.907711%2031.907711l0%2031.346939L376.2482%20169.477926%20376.2482%20138.130987zM793.569864%20850.074785c0%2038.486546-31.312146%2069.798692-69.798692%2069.798692L307.297828%20919.873478c-38.486546%200-69.798692-31.312146-69.798692-69.798692L237.499136%20211.042577l556.070728%200L793.569864%20850.074785zM510.662539%20861.276918c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L530.61701%20294.912753c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191L490.708068%20841.334727C490.708068%20852.347548%20499.649717%20861.276918%20510.662539%20861.276918zM374.562814%20801.449321c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L394.517285%20354.74035c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191l0%20426.76678C354.608344%20792.519951%20363.549993%20801.449321%20374.562814%20801.449321zM649.832182%20801.449321c11.012821%200%2019.954471-8.92937%2019.954471-19.942191L669.786653%20354.74035c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471%208.928347-19.954471%2019.942191l0%20426.76678C629.877711%20792.519951%20638.81936%20801.449321%20649.832182%20801.449321z'%20%3e%3c/path%3e%3c/svg%3e";
34
- const __vite_glob_0_5 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
39
+ const __vite_glob_0_6 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
35
40
  __proto__: null,
36
41
  default: deleteSelectLine
37
42
  }, Symbol.toStringTag, { value: "Module" }));
38
43
  const deleteSelectWindow = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M220.451548%20913.518482V318.145854c0-27.62038%2022.505495-50.125874%2050.125875-50.125874H865.95005c27.62038%200%2050.125874%2022.505495%2050.125874%2050.125874v218.917083h59.332667V318.145854c0-60.355644-49.102897-109.458541-109.458541-109.458541h-39.896104v-99.228772C826.053946%2049.102897%20776.951049%200%20716.595405%200H121.222777C60.867133%200%2011.764236%2049.102897%2011.764236%20109.458541V705.854146c0%2060.355644%2049.102897%20109.458541%20109.458541%20109.458541h39.896104v99.228772c0%2060.355644%2049.102897%20109.458541%20109.458542%20109.458541h257.790209v-59.332667H269.554446c-26.597403-1.022977-49.102897-23.528472-49.102898-51.148851z%20m-59.332667-595.372628v436.811189h-39.896104c-27.62038%200-50.125874-22.505495-50.125874-50.125874V109.458541c0-27.62038%2022.505495-50.125874%2050.125874-50.125874H716.595405c27.62038%200%2050.125874%2022.505495%2050.125874%2050.125874v99.228772H269.554446c-59.332667%200-108.435564%2049.102897-108.435565%20109.458541z'%20%3e%3c/path%3e%3cpath%20d='M902.777223%20854.185814l98.205794-98.205794c15.344655-15.344655%2015.344655-40.919081%200-56.263736s-40.919081-15.344655-56.263736%200L846.513487%20797.922078%20747.284715%20699.716284c-15.344655-15.344655-40.919081-15.344655-56.263736%200s-15.344655%2040.919081%200%2056.263736l98.205794%2098.205794-98.205794%2098.205794c-15.344655%2015.344655-15.344655%2040.919081%200%2056.263737s40.919081%2015.344655%2056.263736%200l98.205794-98.205795%2098.205795%2098.205795c15.344655%2015.344655%2040.919081%2015.344655%2056.263736%200s15.344655-40.919081%200-56.263737l-97.182817-98.205794z'%20%3e%3c/path%3e%3c/svg%3e";
39
- const __vite_glob_0_6 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
44
+ const __vite_glob_0_7 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
40
45
  __proto__: null,
41
46
  default: deleteSelectWindow
42
47
  }, Symbol.toStringTag, { value: "Module" }));
43
48
  const door = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902601497'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='9801'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M761.344%20119.296H226.816c-18.944%200-39.424%2011.776-39.424%2030.72V921.6h614.4V148.48c0.512-18.944-22.016-29.184-40.448-29.184z%20m-537.6%20768c-2.048%200-2.048%200%200%200L221.696%20163.84c0-5.12%205.12-10.24%2010.24-10.24h522.24c8.704%200%2013.824%205.12%2013.824%2013.824v720.384s0%201.536-1.536%201.536h-15.36V194.56c0-16.896-8.704-24.064-29.184-24.064H266.24c-18.944%200-27.136%208.704-27.136%2024.064v692.736h-15.36z%20m49.152%200V204.8H716.8v682.496H272.896z'%20p-id='9802'%3e%3c/path%3e%3cpath%20d='M648.704%20508.416c-16.896%200-32.256%2013.824-32.256%2032.256%200%2016.896%2013.824%2032.256%2032.256%2032.256s32.256-13.824%2032.256-32.256c0-16.896-13.824-32.256-32.256-32.256z'%20p-id='9803'%3e%3c/path%3e%3c/svg%3e";
44
- const __vite_glob_0_7 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
49
+ const __vite_glob_0_8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
45
50
  __proto__: null,
46
51
  default: door
47
52
  }, Symbol.toStringTag, { value: "Module" }));
48
53
  const dxf = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1767852327874'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='1652'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M264.90827%20999.628849H986.622027a12.339175%2012.339175%200%200%200%2012.390375-12.185576V268.238312h-211.506777a36.966326%2036.966326%200%200%201-37.375925-36.607927V24.373199H264.90827A12.595175%2012.595175%200%200%200%20255.999488%2027.957192a12.083176%2012.083176%200%200%200-3.583993%208.601583v950.884498c0%206.707187%205.529589%2012.185576%2012.441575%2012.185576z'%20fill='%23FFFFFF'%20p-id='1653'%3e%3c/path%3e%3cpath%20d='M993.892412%20243.76476L775.16645%2029.493189v202.137196a12.287975%2012.287975%200%200%200%2012.390375%2012.134375h206.335587z'%20fill='%23FFFFFF'%20p-id='1654'%3e%3c/path%3e%3cpath%20d='M1013.041174%20228.046392L791.294417%2010.754026a37.427125%2037.427125%200%200%200-26.521547-10.751978H264.90827c-20.633559%200-37.375925%2016.383967-37.375925%2036.556727v950.884498c0%2020.17276%2016.742367%2036.556727%2037.375925%2036.556727H986.622027c20.633559%200%2037.324725-16.383967%2037.324725-36.556727V253.90234c0-9.727981-3.942392-18.995162-10.956778-25.855948zM775.06405%2029.390789l218.828362%20214.373971h-206.335587a12.339175%2012.339175%200%200%201-12.492775-12.134375V29.390789z%20m211.609177%20970.23806H264.90827a12.595175%2012.595175%200%200%201-8.857582-3.583993%2012.083176%2012.083176%200%200%201-3.583993-8.601583V36.558775c0-6.707187%205.529589-12.185576%2012.441575-12.185576h485.27263v207.257186c0%2020.22396%2016.742367%2036.607927%2037.375925%2036.607927h211.455577v719.204961a12.339175%2012.339175%200%200%201-12.339175%2012.185576z'%20fill='%23605E5C'%20opacity='.64'%20p-id='1655'%3e%3c/path%3e%3cpath%20d='M972.798054%20358.401331a51.199898%2051.199898%200%200%201%2051.199898%2051.199898v352.716094a51.199898%2051.199898%200%200%201-51.199898%2051.199898H51.199898a51.199898%2051.199898%200%200%201-51.199898-51.199898V409.601229a51.199898%2051.199898%200%200%201%2051.199898-51.199898h921.598156z%20m2.252796%2025.804749H53.145494a25.599949%2025.599949%200%200%200-25.599949%2025.599948v355.17369a25.599949%2025.599949%200%200%200%2025.599949%2025.599949h921.905356a25.599949%2025.599949%200%200%200%2025.599949-25.599949V409.806028a25.599949%2025.599949%200%200%200-25.599949-25.599948z'%20fill='%230563B2'%20p-id='1656'%3e%3c/path%3e%3cpath%20d='M53.145494%20384.20608h921.905356a25.599949%2025.599949%200%200%201%2025.599949%2025.599948v355.17369a25.599949%2025.599949%200%200%201-25.599949%2025.599949H53.145494a25.599949%2025.599949%200%200%201-25.599949-25.599949V409.806028a25.599949%2025.599949%200%200%201%2025.599949-25.599948z'%20fill='%23FFFFFF'%20p-id='1657'%3e%3c/path%3e%3cpath%20d='M326.604147%20396.698855v129.94534c-19.81436-26.265547-43.315113-39.167922-70.963058-39.167922-34.099132%200-61.286277%2012.441575-80.639839%2037.324725-18.431963%2023.039954-27.187146%2052.070296-27.187146%2087.091026%200%2036.403127%209.215982%2066.355067%2027.647945%2089.395021%2019.81436%2024.88315%2047.462305%2037.324725%2082.943834%2037.324726%2031.334337%200%2055.295889-10.598379%2071.884656-31.795137v25.34395h48.844703V396.698855H326.604147z%20m-58.521483%20133.170933c16.588767%200%2030.873538%206.911986%2041.932716%2020.735959%2011.980776%2014.745571%2018.431963%2035.02073%2018.431963%2060.364679v3.686393c0%2023.039954-5.06879%2042.393515-14.74557%2057.139085-11.059178%2016.127968-27.187146%2024.422351-47.462305%2024.422352-23.500753%200-40.550319-8.294383-51.148698-24.883151-9.215982-13.823972-13.363173-33.638333-13.363173-59.443081s4.607991-45.15831%2014.284771-58.521483c11.059178-15.667169%2028.108744-23.500753%2052.070296-23.500753zM416.613567%20493.92746l82.022236%20111.513377L406.015188%20732.160584h61.747076l59.903881-88.012624%2059.443081%2088.012624h61.747076l-92.620614-126.719747%2082.022235-111.513377h-61.286277l-49.305501%2072.806255-49.766301-72.806255zM769.278461%20403.150042c-21.196758%200-37.785524%205.529589-48.844702%2017.510365-11.519977%2011.519977-17.049566%2027.647945-17.049566%2047.923104v25.343949h-52.991894v42.854314h52.991894V732.160584h52.531095v-195.37881h60.825479v-42.854314h-60.825479v-23.961552c0-7.833584%201.382397-13.363173%205.06879-17.049566%203.686393-3.686393%208.755182-5.529589%2015.667169-5.529589h43.315113v-44.236711h-50.687899z'%20fill='%230563B2'%20p-id='1658'%3e%3c/path%3e%3c/svg%3e";
49
- const __vite_glob_0_8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
54
+ const __vite_glob_0_9 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
50
55
  __proto__: null,
51
56
  default: dxf
52
57
  }, Symbol.toStringTag, { value: "Module" }));
53
58
  const intersectionConnection = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M491.80027198%20557.44938977c-10.0998647-15.14979706-20.19972802-25.24966037-35.34952507-35.34952507-15.14979706-10.0998647-30.29959271-15.14979706-50.49932211-15.14979704-55.54925309%200-100.99864286%2045.44938977-100.99864287%20100.99864285%200%2015.14979706%205.04993234%2035.34952507%2015.14979568%2050.49932212%2010.0998647%2015.14979706%2020.19972802%2030.29959271%2035.34952506%2035.34952508%2015.14979706%2010.0998647%2035.34952507%2015.14979706%2050.49932213%2015.14979567%2055.54925309%200%20100.99864286-45.44938977%20100.99864286-100.99864287%200-15.14979706-5.04993234-35.34952507-15.14979568-50.49932074z%20m-85.84884718%20100.99864286h-15.14979706c-20.19972802-5.04993234-30.29959271-20.19972802-35.34952507-35.34952507V612.99864286c0-30.29959271%2025.24966037-50.49932212%2050.49932213-50.49932074h10.09986469c15.14979706%205.04993234%2030.29959271%2015.14979706%2035.34952507%2035.34952507v15.14979567c5.04993234%2025.24966037-20.19972802%2045.44938977-45.44938976%2045.44938977z'%3e%3c/path%3e%3cpath%20d='M390.80162774%20658.44803263l-40.39945604%2040.39945743-227.24694747%20222.19701373-35.34952506-35.34952508%20227.24694745-227.24694608%2040.39945605-40.39945743c5.04993234%2020.19972802%2020.19972802%2035.34952507%2035.34952507%2040.39945743zM648.34816793%20405.9514248l-40.39945742%2040.3994574-116.14843853%20116.14843992-40.39945742%2035.34952507c-5.04993234-20.19972802-20.19972802-30.29959271-35.34952507-35.34952507l40.39945742-40.39945742%20116.14843853-111.09850756%2035.34952507-35.34952507c10.0998647%2015.14979706%2020.19972802%2025.24966037%2040.39945742%2030.29959273zM926.09443614%20133.25508894L749.34681078%20310.00271428l-40.3994574%2040.39945742c-5.04993234-20.19972802-15.14979706-35.34952507-30.29959272-40.39945742l35.34952506-40.39945742%20176.74762534-176.74762535%2035.34952508%2040.39945743z'%20%3e%3c/path%3e%3cpath%20d='M749.34681078%20310.00271428c-10.0998647-15.14979706-20.19972802-30.29959271-35.34952506-35.34952506-15.14979706-10.0998647-35.34952507-15.14979706-55.54925309-15.14979706-55.54925309%200-100.99864286%2045.44938977-100.99864286%20100.99864286%200%2020.19972802%205.04993234%2040.39945743%2015.14979567%2055.54925447%2010.0998647%2015.14979706%2020.19972802%2025.24966037%2035.34952507%2035.34952507%2015.14979706%2010.0998647%2030.29959271%2015.14979706%2050.49932212%2015.14979567%2055.54925309%200%20100.99864286-45.44938977%20100.99864286-100.99864286%200-25.24966037-5.04993234-40.39945743-10.09986471-55.54925309z%20m-90.89877815%2095.94871052h-10.0998647c-20.19972802-5.04993234-35.34952507-15.14979706-40.39945742-35.34952509%200-5.04993234-5.04993234-10.0998647-5.04993234-15.14979704%200-30.29959271%2025.24966037-50.49932212%2050.49932212-50.49932074%205.04993234%200%2010.0998647%200%2015.14979704%205.04993235%2015.14979706%205.04993234%2030.29959271%2020.19972802%2030.29959273%2040.39945742v10.09986332c10.0998647%2025.24966037-15.14979706%2045.44938977-40.39945743%2045.44938978z'%20%3e%3c/path%3e%3c/svg%3e";
54
- const __vite_glob_0_9 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
59
+ const __vite_glob_0_10 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
55
60
  __proto__: null,
56
61
  default: intersectionConnection
57
62
  }, Symbol.toStringTag, { value: "Module" }));
58
63
  const line = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902422799'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='1735'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M843.2%20726.4c-20.2%200-39.2%205.2-55.8%2014.3L283.8%20237.2c9-16.5%2014.1-35.4%2014.1-55.5%200-64.2-52.3-116.5-116.5-116.5S65%20117.4%2065%20181.6s52.3%20116.5%20116.5%20116.5c20.2%200%2039.2-5.2%2055.8-14.2l503.5%20503.5c-9%2016.5-14.1%2035.4-14.1%2055.5%200%2064.2%2052.3%20116.5%20116.5%20116.5s116.5-52.3%20116.5-116.5-52.3-116.5-116.5-116.5zM181.4%20232.1c-27.8%200-50.5-22.6-50.5-50.5s22.6-50.5%2050.5-50.5%2050.5%2022.6%2050.5%2050.5-22.6%2050.5-50.5%2050.5z%20m661.8%20661.3c-27.8%200-50.5-22.6-50.5-50.5%200-27.8%2022.6-50.5%2050.5-50.5s50.5%2022.6%2050.5%2050.5c0%2027.8-22.7%2050.5-50.5%2050.5z'%20fill='%23231815'%20p-id='1736'%3e%3c/path%3e%3c/svg%3e";
59
- const __vite_glob_0_10 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
64
+ const __vite_glob_0_11 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
60
65
  __proto__: null,
61
66
  default: line
62
67
  }, Symbol.toStringTag, { value: "Module" }));
63
68
  const mergeLine = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M114.176%2046.528h618.496c37.312%200.064%2067.584%2030.336%2067.648%2067.648v618.56c0%2037.248-30.336%2067.584-67.648%2067.584H114.176A67.776%2067.776%200%200%201%2046.528%20732.8V114.176c0-37.312%2030.336-67.648%2067.648-67.648z%20m2.176%20686.208l616.32-2.24-2.176-616.32-614.144%202.176v616.32zM907.648%20291.2l2.176%20616.32H291.264a34.88%2034.88%200%201%200%200%2069.888h618.56c37.312%200%2067.648-30.336%2067.648-67.648V291.264a34.88%2034.88%200%201%200-69.824%200z'%20%3e%3c/path%3e%3c/svg%3e";
64
- const __vite_glob_0_11 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
69
+ const __vite_glob_0_12 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
65
70
  __proto__: null,
66
71
  default: mergeLine
67
72
  }, Symbol.toStringTag, { value: "Module" }));
68
73
  const revokeRollback = "data:image/svg+xml,%3csvg%20viewBox='0%200%201029%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M788.17984%2016l-55.424%2060.672%20116.48%20106.56H418.13184a410.816%20410.816%200%201%200%200%20821.632h547.712v-82.176H418.13184a328.64%20328.64%200%200%201%200-657.28l441.792-0.128-124.8%2098.368%2050.752%2064.512%20243.328-191.488L788.17984%2016z'%3e%3c/path%3e%3c/svg%3e";
69
- const __vite_glob_0_12 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
74
+ const __vite_glob_0_13 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
70
75
  __proto__: null,
71
76
  default: revokeRollback
72
77
  }, Symbol.toStringTag, { value: "Module" }));
73
78
  const rollback = "data:image/svg+xml,%3csvg%20viewBox='0%200%201048%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M310.04722%20451.334244A49.95122%2049.95122%200%200%201%20239.416195%20521.990244L27.473171%20310.04722a49.95122%2049.95122%200%200%201%200-70.631025L239.416195%2027.473171a49.95122%2049.95122%200%200%201%2070.631025%2070.631024l-126.651318%20126.626342L649.365854%20224.780488c220.709463%200%20399.609756%20178.900293%20399.609756%20399.609756s-178.900293%20399.609756-399.609756%20399.609756H124.878049a49.95122%2049.95122%200%201%201%200-99.902439h524.487805c165.513366%200%20299.707317-134.193951%20299.707317-299.707317s-134.193951-299.707317-299.707317-299.707317H183.395902l126.651318%20126.651317z'%3e%3c/path%3e%3c/svg%3e";
74
- const __vite_glob_0_13 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
79
+ const __vite_glob_0_14 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
75
80
  __proto__: null,
76
81
  default: rollback
77
82
  }, Symbol.toStringTag, { value: "Module" }));
78
83
  const selectAll = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='11576'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='%23555'%20width='16'%20height='16'%3e%3cpath%20d='M102.4%20302.08c5.12%205.12%2015.36%2010.24%2025.6%2010.24s15.36-5.12%2025.6-10.24l174.08-174.08c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-20.48-5.12-40.96-5.12-51.2%2010.24l-148.48%20153.6-71.68-76.8C51.2%20158.72%2040.96%20158.72%2035.84%20158.72c-10.24%200-15.36%205.12-25.6%2010.24-5.12%205.12-10.24%2010.24-10.24%2020.48s5.12%2015.36%2010.24%2025.6L102.4%20302.08zM276.48%20409.6l-148.48%20153.6-71.68-71.68C51.2%20486.4%2040.96%20481.28%2035.84%20481.28c-10.24%200-15.36%205.12-25.6%2010.24-5.12%2010.24-10.24%2015.36-10.24%2025.6s5.12%2015.36%2010.24%2025.6L102.4%20629.76c5.12%205.12%2015.36%2010.24%2025.6%2010.24s15.36-5.12%2025.6-10.24L322.56%20460.8c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-10.24-10.24-30.72-10.24-46.08%200z%20m0%20327.68l-148.48%20153.6L56.32%20819.2c-5.12-5.12-15.36-10.24-25.6-10.24s-15.36%205.12-25.6%2010.24c0%205.12-5.12%2015.36-5.12%2025.6s5.12%2015.36%2010.24%2025.6L102.4%20957.44c5.12%205.12%2015.36%2010.24%2025.6%2010.24h5.12c10.24%200%2015.36-5.12%2025.6-10.24l174.08-174.08c5.12-5.12%2010.24-15.36%2010.24-25.6s-5.12-15.36-10.24-25.6c-25.6-5.12-40.96-5.12-56.32%205.12zM1024%20153.6c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-61.44-25.6-61.44-56.32%200-30.72%2025.6-56.32%2056.32-56.32h455.68c35.84-5.12%2066.56%2020.48%2066.56%2056.32z%20m0%20358.4c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-56.32-25.6-56.32-56.32s25.6-56.32%2056.32-56.32h455.68c35.84%200%2061.44%2025.6%2061.44%2056.32z%20m-5.12%20358.4c0%2030.72-25.6%2056.32-56.32%2056.32h-460.8c-30.72%200-56.32-25.6-56.32-56.32%200-30.72%2025.6-56.32%2056.32-56.32h455.68c35.84%200%2061.44%2025.6%2061.44%2056.32z%20m0%200'%20%3e%3c/path%3e%3c/svg%3e";
79
- const __vite_glob_0_14 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
84
+ const __vite_glob_0_15 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
80
85
  __proto__: null,
81
86
  default: selectAll
82
87
  }, Symbol.toStringTag, { value: "Module" }));
83
88
  const selectPoint = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902488735'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='3957'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M520.416%20179.392c-12.384%200-22.4%204.672-22.4%2010.432l-0.032%20139.136c0%205.76%2010.016%2010.432%2022.368%2010.432%2012.352%200%2022.368-4.672%2022.368-10.432l0.064-139.136c0-5.76-10.016-10.432-22.4-10.432M520.32%20623.04c-12.352%200-22.368%204.64-22.368%2010.4l-0.032%20139.168c0%205.76%2010.016%2010.432%2022.368%2010.432%2012.352%200%2022.368-4.672%2022.368-10.432l0.064-139.168c0-5.76-10.016-10.4-22.4-10.4M800.256%20458.72l-139.168-0.064c-5.76%200-10.432%2010.016-10.432%2022.4%200%2012.352%204.672%2022.368%2010.432%2022.368l139.168%200.032c5.76%200%2010.4-10.016%2010.4-22.368%200-12.352-4.64-22.368-10.4-22.4zM352.256%20458.72l-139.168-0.064c-5.76%200-10.432%2010.016-10.432%2022.4%200%2012.352%204.672%2022.368%2010.432%2022.368l139.168%200.032c5.76%200%2010.4-10.016%2010.4-22.368%200-12.352-4.64-22.368-10.4-22.4M801.568%20748.672l-72.544-72.544%2073.792-23.2a4.416%204.416%200%200%200%200.096-8.384l-183.136-62.4a4.416%204.416%200%200%200-5.6%205.568l62.464%20183.168a4.416%204.416%200%200%200%208.352-0.064l23.36-73.6%2072.32%2072.32a14.752%2014.752%200%200%200%2020.896-20.864M510.688%20382.112c49.952%200%2092.8%2040.832%2092.8%2092.8%200%2051.968-42.848%2092.8-92.8%2092.8-49.984%200-92.8-40.832-92.8-92.8%200-51.968%2042.816-92.8%2092.8-92.8z'%20p-id='3958'%3e%3c/path%3e%3c/svg%3e";
84
- const __vite_glob_0_15 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
89
+ const __vite_glob_0_16 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
85
90
  __proto__: null,
86
91
  default: selectPoint
87
92
  }, Symbol.toStringTag, { value: "Module" }));
88
93
  const verticalLine = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1759051895215'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='1800'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M272.5888%20886.784v70.8608H203.2128V886.784h69.376z%20m416.256-256.6144l270.6944%20152.5248-270.6944%20148.1216v-114.8928H64.4608v-70.8608h624.384v-114.8928z%20m-416.256-26.88v70.912H203.2128v-70.912h69.376z%20m0-141.7216V532.48H203.2128V461.568h69.376z%20m-34.7136-398.336L385.024%20319.7952H272.5888V390.656H203.2128V319.8464H90.7776l147.0976-256.6656z'%20fill='%23444444'%20p-id='1801'%3e%3c/path%3e%3cpath%20d='M566.272%2073.3184l173.2608%20264.192V512h71.8848V337.5104l173.2608-264.192H898.048l-122.2656%20197.2224-122.88-197.2224H566.272z'%20fill='%230077FF'%20p-id='1802'%3e%3c/path%3e%3c/svg%3e";
89
- const __vite_glob_0_16 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
94
+ const __vite_glob_0_17 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
90
95
  __proto__: null,
91
96
  default: verticalLine
92
97
  }, Symbol.toStringTag, { value: "Module" }));
93
98
  const window$1 = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1757902547951'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='5129'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M59.355%2091.776v867.881h867.881V91.776H59.356zM897.31%20929.73H89.282V121.703h808.027V929.73z'%20fill=''%20p-id='5130'%3e%3c/path%3e%3cpath%20d='M833.964%20185.048H152.627v681.337h681.337V185.048z%20m-355.632%20651.41H182.554V532.2h295.778v304.257z%20m0-334.184H182.554V214.975h295.778v287.299z%20m325.705%20334.184H508.259V532.2h295.778v304.257z%20m0-334.184H508.259V214.975h295.778v287.299z'%20fill=''%20p-id='5131'%3e%3c/path%3e%3c/svg%3e";
94
- const __vite_glob_0_17 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
99
+ const __vite_glob_0_18 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
95
100
  __proto__: null,
96
101
  default: window$1
97
102
  }, Symbol.toStringTag, { value: "Module" }));
103
+ const ____ = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1769079533165'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='4803'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M352%20128a134.4%20134.4%200%200%201%20128.832%2096H921.6a38.4%2038.4%200%200%201%200%2076.8H480.832a134.4%20134.4%200%200%201-257.664%200H102.4a38.4%2038.4%200%201%201%200-76.8h120.768A134.4%20134.4%200%200%201%20352%20128z%20m0%2076.8a57.6%2057.6%200%201%200%200%20115.2%2057.6%2057.6%200%200%200%200-115.2z'%20fill='%23666666'%20p-id='4804'%3e%3c/path%3e%3cpath%20d='M64%20467.2m38.4%200l819.2%200q38.4%200%2038.4%2038.4l0%200q0%2038.4-38.4%2038.4l-819.2%200q-38.4%200-38.4-38.4l0%200q0-38.4%2038.4-38.4Z'%20fill='%23666666'%20p-id='4805'%3e%3c/path%3e%3cpath%20d='M672%20614.4a134.4%20134.4%200%200%201%20128.832%2096H921.6a38.4%2038.4%200%200%201%200%2076.8h-120.768a134.4%20134.4%200%200%201-257.664%200H102.4a38.4%2038.4%200%200%201%200-76.8h440.768A134.4%20134.4%200%200%201%20672%20614.4z%20m0%2076.8a57.6%2057.6%200%201%200%200%20115.2%2057.6%2057.6%200%200%200%200-115.2z'%20fill='%23666666'%20p-id='4806'%3e%3c/path%3e%3c/svg%3e";
104
+ const __vite_glob_0_19 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
105
+ __proto__: null,
106
+ default: ____
107
+ }, Symbol.toStringTag, { value: "Module" }));
98
108
  const configProviderContextKey = Symbol();
99
109
  const defaultNamespace = "el";
100
110
  const statePrefix = "is-";
@@ -903,7 +913,7 @@ if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag$1 || Map
903
913
  return result;
904
914
  };
905
915
  }
906
- var Uint8Array = root.Uint8Array;
916
+ var Uint8Array$1 = root.Uint8Array;
907
917
  var HASH_UNDEFINED = "__lodash_hash_undefined__";
908
918
  function setCacheAdd(value) {
909
919
  this.__data__.set(value, HASH_UNDEFINED);
@@ -1004,7 +1014,7 @@ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
1004
1014
  object = object.buffer;
1005
1015
  other = other.buffer;
1006
1016
  case arrayBufferTag:
1007
- if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
1017
+ if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array$1(object), new Uint8Array$1(other))) {
1008
1018
  return false;
1009
1019
  }
1010
1020
  return true;
@@ -2012,7 +2022,7 @@ const __default__$g = defineComponent({
2012
2022
  name: "ElIcon",
2013
2023
  inheritAttrs: false
2014
2024
  });
2015
- const _sfc_main$v = /* @__PURE__ */ defineComponent({
2025
+ const _sfc_main$y = /* @__PURE__ */ defineComponent({
2016
2026
  ...__default__$g,
2017
2027
  props: iconProps,
2018
2028
  setup(__props) {
@@ -2037,7 +2047,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
2037
2047
  };
2038
2048
  }
2039
2049
  });
2040
- var Icon = /* @__PURE__ */ _export_sfc$1(_sfc_main$v, [["__file", "icon.vue"]]);
2050
+ var Icon = /* @__PURE__ */ _export_sfc$1(_sfc_main$y, [["__file", "icon.vue"]]);
2041
2051
  const ElIcon = withInstall(Icon);
2042
2052
  function useTimeout() {
2043
2053
  let timeoutHandle;
@@ -2071,7 +2081,7 @@ const useDelayedToggle = ({
2071
2081
  hideAfter,
2072
2082
  autoClose,
2073
2083
  open,
2074
- close
2084
+ close: close2
2075
2085
  }) => {
2076
2086
  const { registerTimeout } = useTimeout();
2077
2087
  const {
@@ -2084,7 +2094,7 @@ const useDelayedToggle = ({
2084
2094
  const _autoClose = unref(autoClose);
2085
2095
  if (isNumber(_autoClose) && _autoClose > 0) {
2086
2096
  registerTimeoutForAutoClose(() => {
2087
- close(event);
2097
+ close2(event);
2088
2098
  }, _autoClose);
2089
2099
  }
2090
2100
  }, unref(showAfter));
@@ -2092,7 +2102,7 @@ const useDelayedToggle = ({
2092
2102
  const onClose = (event) => {
2093
2103
  cancelTimeoutForAutoClose();
2094
2104
  registerTimeout(() => {
2095
- close(event);
2105
+ close2(event);
2096
2106
  }, unref(hideAfter));
2097
2107
  };
2098
2108
  return {
@@ -2775,7 +2785,7 @@ const __default__$f = defineComponent({
2775
2785
  name: COMPONENT_NAME$2,
2776
2786
  inheritAttrs: false
2777
2787
  });
2778
- const _sfc_main$u = /* @__PURE__ */ defineComponent({
2788
+ const _sfc_main$x = /* @__PURE__ */ defineComponent({
2779
2789
  ...__default__$f,
2780
2790
  props: inputProps,
2781
2791
  emits: inputEmits,
@@ -3185,7 +3195,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
3185
3195
  };
3186
3196
  }
3187
3197
  });
3188
- var Input = /* @__PURE__ */ _export_sfc$1(_sfc_main$u, [["__file", "input.vue"]]);
3198
+ var Input = /* @__PURE__ */ _export_sfc$1(_sfc_main$x, [["__file", "input.vue"]]);
3189
3199
  const ElInput = withInstall(Input);
3190
3200
  const GAP = 4;
3191
3201
  const BAR_MAP = {
@@ -3230,7 +3240,7 @@ const thumbProps = buildProps({
3230
3240
  always: Boolean
3231
3241
  });
3232
3242
  const COMPONENT_NAME$1 = "Thumb";
3233
- const _sfc_main$t = /* @__PURE__ */ defineComponent({
3243
+ const _sfc_main$w = /* @__PURE__ */ defineComponent({
3234
3244
  __name: "thumb",
3235
3245
  props: thumbProps,
3236
3246
  setup(__props) {
@@ -3359,7 +3369,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
3359
3369
  };
3360
3370
  }
3361
3371
  });
3362
- var Thumb = /* @__PURE__ */ _export_sfc$1(_sfc_main$t, [["__file", "thumb.vue"]]);
3372
+ var Thumb = /* @__PURE__ */ _export_sfc$1(_sfc_main$w, [["__file", "thumb.vue"]]);
3363
3373
  const barProps = buildProps({
3364
3374
  always: {
3365
3375
  type: Boolean,
@@ -3370,7 +3380,7 @@ const barProps = buildProps({
3370
3380
  required: true
3371
3381
  }
3372
3382
  });
3373
- const _sfc_main$s = /* @__PURE__ */ defineComponent({
3383
+ const _sfc_main$v = /* @__PURE__ */ defineComponent({
3374
3384
  __name: "bar",
3375
3385
  props: barProps,
3376
3386
  setup(__props, { expose }) {
@@ -3428,7 +3438,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
3428
3438
  };
3429
3439
  }
3430
3440
  });
3431
- var Bar = /* @__PURE__ */ _export_sfc$1(_sfc_main$s, [["__file", "bar.vue"]]);
3441
+ var Bar = /* @__PURE__ */ _export_sfc$1(_sfc_main$v, [["__file", "bar.vue"]]);
3432
3442
  const scrollbarProps = buildProps({
3433
3443
  distance: {
3434
3444
  type: Number,
@@ -3488,7 +3498,7 @@ const COMPONENT_NAME = "ElScrollbar";
3488
3498
  const __default__$e = defineComponent({
3489
3499
  name: COMPONENT_NAME
3490
3500
  });
3491
- const _sfc_main$r = /* @__PURE__ */ defineComponent({
3501
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
3492
3502
  ...__default__$e,
3493
3503
  props: scrollbarProps,
3494
3504
  emits: scrollbarEmits,
@@ -3697,7 +3707,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
3697
3707
  };
3698
3708
  }
3699
3709
  });
3700
- var Scrollbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$r, [["__file", "scrollbar.vue"]]);
3710
+ var Scrollbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$u, [["__file", "scrollbar.vue"]]);
3701
3711
  const ElScrollbar = withInstall(Scrollbar);
3702
3712
  const POPPER_INJECTION_KEY = Symbol("popper");
3703
3713
  const POPPER_CONTENT_INJECTION_KEY = Symbol("popperContent");
@@ -3722,7 +3732,7 @@ const __default__$d = defineComponent({
3722
3732
  name: "ElPopper",
3723
3733
  inheritAttrs: false
3724
3734
  });
3725
- const _sfc_main$q = /* @__PURE__ */ defineComponent({
3735
+ const _sfc_main$t = /* @__PURE__ */ defineComponent({
3726
3736
  ...__default__$d,
3727
3737
  props: popperProps,
3728
3738
  setup(__props, { expose }) {
@@ -3746,12 +3756,12 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
3746
3756
  };
3747
3757
  }
3748
3758
  });
3749
- var Popper = /* @__PURE__ */ _export_sfc$1(_sfc_main$q, [["__file", "popper.vue"]]);
3759
+ var Popper = /* @__PURE__ */ _export_sfc$1(_sfc_main$t, [["__file", "popper.vue"]]);
3750
3760
  const __default__$c = defineComponent({
3751
3761
  name: "ElPopperArrow",
3752
3762
  inheritAttrs: false
3753
3763
  });
3754
- const _sfc_main$p = /* @__PURE__ */ defineComponent({
3764
+ const _sfc_main$s = /* @__PURE__ */ defineComponent({
3755
3765
  ...__default__$c,
3756
3766
  setup(__props, { expose }) {
3757
3767
  const ns = useNamespace("popper");
@@ -3773,7 +3783,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
3773
3783
  };
3774
3784
  }
3775
3785
  });
3776
- var ElPopperArrow = /* @__PURE__ */ _export_sfc$1(_sfc_main$p, [["__file", "arrow.vue"]]);
3786
+ var ElPopperArrow = /* @__PURE__ */ _export_sfc$1(_sfc_main$s, [["__file", "arrow.vue"]]);
3777
3787
  const popperTriggerProps = buildProps({
3778
3788
  virtualRef: {
3779
3789
  type: definePropType(Object)
@@ -3883,7 +3893,7 @@ const __default__$b = defineComponent({
3883
3893
  name: "ElPopperTrigger",
3884
3894
  inheritAttrs: false
3885
3895
  });
3886
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
3896
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
3887
3897
  ...__default__$b,
3888
3898
  props: popperTriggerProps,
3889
3899
  setup(__props, { expose }) {
@@ -3995,7 +4005,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
3995
4005
  };
3996
4006
  }
3997
4007
  });
3998
- var ElPopperTrigger = /* @__PURE__ */ _export_sfc$1(_sfc_main$o, [["__file", "trigger.vue"]]);
4008
+ var ElPopperTrigger = /* @__PURE__ */ _export_sfc$1(_sfc_main$r, [["__file", "trigger.vue"]]);
3999
4009
  const FOCUS_AFTER_TRAPPED = "focus-trap.focus-after-trapped";
4000
4010
  const FOCUS_AFTER_RELEASED = "focus-trap.focus-after-released";
4001
4011
  const FOCUSOUT_PREVENTED = "focus-trap.focusout-prevented";
@@ -4185,7 +4195,7 @@ const useEscapeKeydown = (handler) => {
4185
4195
  }
4186
4196
  });
4187
4197
  };
4188
- const _sfc_main$n = defineComponent({
4198
+ const _sfc_main$q = defineComponent({
4189
4199
  name: "ElFocusTrap",
4190
4200
  inheritAttrs: false,
4191
4201
  props: {
@@ -4430,7 +4440,7 @@ const _sfc_main$n = defineComponent({
4430
4440
  function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
4431
4441
  return renderSlot(_ctx.$slots, "default", { handleKeydown: _ctx.onKeydown });
4432
4442
  }
4433
- var ElFocusTrap = /* @__PURE__ */ _export_sfc$1(_sfc_main$n, [["render", _sfc_render$a], ["__file", "focus-trap.vue"]]);
4443
+ var ElFocusTrap = /* @__PURE__ */ _export_sfc$1(_sfc_main$q, [["render", _sfc_render$a], ["__file", "focus-trap.vue"]]);
4434
4444
  var E = "top", R = "bottom", W = "right", P = "left", me = "auto", G = [E, R, W, P], U = "start", J = "end", Xe = "clippingParents", je = "viewport", K = "popper", Ye = "reference", De = G.reduce(function(t, e) {
4435
4445
  return t.concat([e + "-" + U, e + "-" + J]);
4436
4446
  }, []), Ee = [].concat(G, [me]).reduce(function(t, e) {
@@ -5342,7 +5352,7 @@ const usePopperContentDOM = (props, {
5342
5352
  const __default__$a = defineComponent({
5343
5353
  name: "ElPopperContent"
5344
5354
  });
5345
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
5355
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
5346
5356
  ...__default__$a,
5347
5357
  props: popperContentProps,
5348
5358
  emits: popperContentEmits,
@@ -5457,7 +5467,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
5457
5467
  };
5458
5468
  }
5459
5469
  });
5460
- var ElPopperContent = /* @__PURE__ */ _export_sfc$1(_sfc_main$m, [["__file", "content.vue"]]);
5470
+ var ElPopperContent = /* @__PURE__ */ _export_sfc$1(_sfc_main$p, [["__file", "content.vue"]]);
5461
5471
  const ElPopper = withInstall(Popper);
5462
5472
  const TOOLTIP_INJECTION_KEY = Symbol("elTooltip");
5463
5473
  const teleportProps = buildProps({
@@ -5676,7 +5686,7 @@ const whenMouse = (handler) => {
5676
5686
  const __default__$9 = defineComponent({
5677
5687
  name: "ElTooltipTrigger"
5678
5688
  });
5679
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
5689
+ const _sfc_main$o = /* @__PURE__ */ defineComponent({
5680
5690
  ...__default__$9,
5681
5691
  props: useTooltipTriggerProps,
5682
5692
  setup(__props, { expose }) {
@@ -5736,8 +5746,8 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
5736
5746
  };
5737
5747
  }
5738
5748
  });
5739
- var ElTooltipTrigger = /* @__PURE__ */ _export_sfc$1(_sfc_main$l, [["__file", "trigger.vue"]]);
5740
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
5749
+ var ElTooltipTrigger = /* @__PURE__ */ _export_sfc$1(_sfc_main$o, [["__file", "trigger.vue"]]);
5750
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
5741
5751
  __name: "teleport",
5742
5752
  props: teleportProps,
5743
5753
  setup(__props) {
@@ -5751,7 +5761,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
5751
5761
  };
5752
5762
  }
5753
5763
  });
5754
- var Teleport = /* @__PURE__ */ _export_sfc$1(_sfc_main$k, [["__file", "teleport.vue"]]);
5764
+ var Teleport = /* @__PURE__ */ _export_sfc$1(_sfc_main$n, [["__file", "teleport.vue"]]);
5755
5765
  const ElTeleport = withInstall(Teleport);
5756
5766
  const usePopperContainerId = () => {
5757
5767
  const namespace = useGetDerivedNamespace();
@@ -5789,7 +5799,7 @@ const __default__$8 = defineComponent({
5789
5799
  name: "ElTooltipContent",
5790
5800
  inheritAttrs: false
5791
5801
  });
5792
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
5802
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
5793
5803
  ...__default__$8,
5794
5804
  props: useTooltipContentProps,
5795
5805
  setup(__props, { expose }) {
@@ -5965,11 +5975,11 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
5965
5975
  };
5966
5976
  }
5967
5977
  });
5968
- var ElTooltipContent = /* @__PURE__ */ _export_sfc$1(_sfc_main$j, [["__file", "content.vue"]]);
5978
+ var ElTooltipContent = /* @__PURE__ */ _export_sfc$1(_sfc_main$m, [["__file", "content.vue"]]);
5969
5979
  const __default__$7 = defineComponent({
5970
5980
  name: "ElTooltip"
5971
5981
  });
5972
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
5982
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
5973
5983
  ...__default__$7,
5974
5984
  props: useTooltipProps,
5975
5985
  emits: tooltipEmits,
@@ -6118,7 +6128,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
6118
6128
  };
6119
6129
  }
6120
6130
  });
6121
- var Tooltip = /* @__PURE__ */ _export_sfc$1(_sfc_main$i, [["__file", "tooltip.vue"]]);
6131
+ var Tooltip = /* @__PURE__ */ _export_sfc$1(_sfc_main$l, [["__file", "tooltip.vue"]]);
6122
6132
  const ElTooltip = withInstall(Tooltip);
6123
6133
  const badgeProps = buildProps({
6124
6134
  value: {
@@ -6155,7 +6165,7 @@ const badgeProps = buildProps({
6155
6165
  const __default__$6 = defineComponent({
6156
6166
  name: "ElBadge"
6157
6167
  });
6158
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
6168
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
6159
6169
  ...__default__$6,
6160
6170
  props: badgeProps,
6161
6171
  setup(__props, { expose }) {
@@ -6217,7 +6227,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
6217
6227
  };
6218
6228
  }
6219
6229
  });
6220
- var Badge = /* @__PURE__ */ _export_sfc$1(_sfc_main$h, [["__file", "badge.vue"]]);
6230
+ var Badge = /* @__PURE__ */ _export_sfc$1(_sfc_main$k, [["__file", "badge.vue"]]);
6221
6231
  const ElBadge = withInstall(Badge);
6222
6232
  const buttonGroupContextKey = Symbol("buttonGroupContextKey");
6223
6233
  const useDeprecated = ({ from, replacement, scope, version, ref: ref2, type = "API" }, condition) => {
@@ -7304,7 +7314,7 @@ function useButtonCustomStyle(props) {
7304
7314
  const __default__$5 = defineComponent({
7305
7315
  name: "ElButton"
7306
7316
  });
7307
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
7317
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
7308
7318
  ...__default__$5,
7309
7319
  props: buttonProps,
7310
7320
  emits: buttonEmits,
@@ -7381,7 +7391,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
7381
7391
  };
7382
7392
  }
7383
7393
  });
7384
- var Button = /* @__PURE__ */ _export_sfc$1(_sfc_main$g, [["__file", "button.vue"]]);
7394
+ var Button = /* @__PURE__ */ _export_sfc$1(_sfc_main$j, [["__file", "button.vue"]]);
7385
7395
  const buttonGroupProps = {
7386
7396
  size: buttonProps.size,
7387
7397
  type: buttonProps.type
@@ -7389,7 +7399,7 @@ const buttonGroupProps = {
7389
7399
  const __default__$4 = defineComponent({
7390
7400
  name: "ElButtonGroup"
7391
7401
  });
7392
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
7402
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
7393
7403
  ...__default__$4,
7394
7404
  props: buttonGroupProps,
7395
7405
  setup(__props) {
@@ -7408,7 +7418,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
7408
7418
  };
7409
7419
  }
7410
7420
  });
7411
- var ButtonGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$f, [["__file", "button-group.vue"]]);
7421
+ var ButtonGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$i, [["__file", "button-group.vue"]]);
7412
7422
  const ElButton = withInstall(Button, {
7413
7423
  ButtonGroup
7414
7424
  });
@@ -7697,7 +7707,7 @@ const useCheckbox = (props, slots) => {
7697
7707
  const __default__$3 = defineComponent({
7698
7708
  name: "ElCheckbox"
7699
7709
  });
7700
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
7710
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
7701
7711
  ...__default__$3,
7702
7712
  props: checkboxProps,
7703
7713
  emits: checkboxEmits,
@@ -7806,11 +7816,11 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
7806
7816
  };
7807
7817
  }
7808
7818
  });
7809
- var Checkbox = /* @__PURE__ */ _export_sfc$1(_sfc_main$e, [["__file", "checkbox.vue"]]);
7819
+ var Checkbox = /* @__PURE__ */ _export_sfc$1(_sfc_main$h, [["__file", "checkbox.vue"]]);
7810
7820
  const __default__$2 = defineComponent({
7811
7821
  name: "ElCheckboxButton"
7812
7822
  });
7813
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
7823
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
7814
7824
  ...__default__$2,
7815
7825
  props: checkboxProps,
7816
7826
  emits: checkboxEmits,
@@ -7899,7 +7909,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
7899
7909
  };
7900
7910
  }
7901
7911
  });
7902
- var CheckboxButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$d, [["__file", "checkbox-button.vue"]]);
7912
+ var CheckboxButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$g, [["__file", "checkbox-button.vue"]]);
7903
7913
  const checkboxGroupProps = buildProps({
7904
7914
  modelValue: {
7905
7915
  type: definePropType(Array),
@@ -7928,7 +7938,7 @@ const checkboxGroupEmits = {
7928
7938
  const __default__$1 = defineComponent({
7929
7939
  name: "ElCheckboxGroup"
7930
7940
  });
7931
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
7941
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
7932
7942
  ...__default__$1,
7933
7943
  props: checkboxGroupProps,
7934
7944
  emits: checkboxGroupEmits,
@@ -7987,7 +7997,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
7987
7997
  };
7988
7998
  }
7989
7999
  });
7990
- var CheckboxGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$c, [["__file", "checkbox-group.vue"]]);
8000
+ var CheckboxGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$f, [["__file", "checkbox-group.vue"]]);
7991
8001
  const ElCheckbox = withInstall(Checkbox, {
7992
8002
  CheckboxButton,
7993
8003
  CheckboxGroup
@@ -8256,21 +8266,21 @@ const useLockscreen = (trigger, options = {}) => {
8256
8266
  });
8257
8267
  onScopeDispose(() => cleanup());
8258
8268
  };
8259
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
8269
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
8260
8270
  inheritAttrs: false
8261
8271
  });
8262
8272
  function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
8263
8273
  return renderSlot(_ctx.$slots, "default");
8264
8274
  }
8265
- var Collection = /* @__PURE__ */ _export_sfc$1(_sfc_main$b, [["render", _sfc_render$9], ["__file", "collection.vue"]]);
8266
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
8275
+ var Collection = /* @__PURE__ */ _export_sfc$1(_sfc_main$e, [["render", _sfc_render$9], ["__file", "collection.vue"]]);
8276
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
8267
8277
  name: "ElCollectionItem",
8268
8278
  inheritAttrs: false
8269
8279
  });
8270
8280
  function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
8271
8281
  return renderSlot(_ctx.$slots, "default");
8272
8282
  }
8273
- var CollectionItem = /* @__PURE__ */ _export_sfc$1(_sfc_main$a, [["render", _sfc_render$8], ["__file", "collection-item.vue"]]);
8283
+ var CollectionItem = /* @__PURE__ */ _export_sfc$1(_sfc_main$d, [["render", _sfc_render$8], ["__file", "collection-item.vue"]]);
8274
8284
  const COLLECTION_ITEM_SIGN = `data-el-collection-item`;
8275
8285
  const createCollectionWithScope = (name) => {
8276
8286
  const COLLECTION_NAME = `El${name}Collection`;
@@ -8389,7 +8399,7 @@ const focusFirst = (elements) => {
8389
8399
  const CURRENT_TAB_ID_CHANGE_EVT = "currentTabIdChange";
8390
8400
  const ENTRY_FOCUS_EVT = "rovingFocusGroup.entryFocus";
8391
8401
  const EVT_OPTS = { bubbles: false, cancelable: true };
8392
- const _sfc_main$9 = defineComponent({
8402
+ const _sfc_main$c = defineComponent({
8393
8403
  name: "ElRovingFocusGroupImpl",
8394
8404
  inheritAttrs: false,
8395
8405
  props: rovingFocusGroupProps,
@@ -8475,8 +8485,8 @@ const _sfc_main$9 = defineComponent({
8475
8485
  function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
8476
8486
  return renderSlot(_ctx.$slots, "default");
8477
8487
  }
8478
- var ElRovingFocusGroupImpl = /* @__PURE__ */ _export_sfc$1(_sfc_main$9, [["render", _sfc_render$7], ["__file", "roving-focus-group-impl.vue"]]);
8479
- const _sfc_main$8 = defineComponent({
8488
+ var ElRovingFocusGroupImpl = /* @__PURE__ */ _export_sfc$1(_sfc_main$c, [["render", _sfc_render$7], ["__file", "roving-focus-group-impl.vue"]]);
8489
+ const _sfc_main$b = defineComponent({
8480
8490
  name: "ElRovingFocusGroup",
8481
8491
  components: {
8482
8492
  ElFocusGroupCollection: ElCollection$1,
@@ -8498,7 +8508,7 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
8498
8508
  _: 3
8499
8509
  });
8500
8510
  }
8501
- var ElRovingFocusGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$8, [["render", _sfc_render$6], ["__file", "roving-focus-group.vue"]]);
8511
+ var ElRovingFocusGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$b, [["render", _sfc_render$6], ["__file", "roving-focus-group.vue"]]);
8502
8512
  const dropdownProps = buildProps({
8503
8513
  trigger: useTooltipTriggerProps.trigger,
8504
8514
  triggerKeys: {
@@ -8605,7 +8615,7 @@ const {
8605
8615
  const DROPDOWN_INJECTION_KEY = Symbol("elDropdown");
8606
8616
  const DROPDOWN_INSTANCE_INJECTION_KEY = "elDropdown";
8607
8617
  const { ButtonGroup: ElButtonGroup } = ElButton;
8608
- const _sfc_main$7 = defineComponent({
8618
+ const _sfc_main$a = defineComponent({
8609
8619
  name: "ElDropdown",
8610
8620
  components: {
8611
8621
  ElButton,
@@ -8891,8 +8901,8 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
8891
8901
  })) : createCommentVNode("v-if", true)
8892
8902
  ], 2);
8893
8903
  }
8894
- var Dropdown = /* @__PURE__ */ _export_sfc$1(_sfc_main$7, [["render", _sfc_render$5], ["__file", "dropdown.vue"]]);
8895
- const _sfc_main$6 = defineComponent({
8904
+ var Dropdown = /* @__PURE__ */ _export_sfc$1(_sfc_main$a, [["render", _sfc_render$5], ["__file", "dropdown.vue"]]);
8905
+ const _sfc_main$9 = defineComponent({
8896
8906
  components: {
8897
8907
  ElRovingFocusCollectionItem: ElCollectionItem$1
8898
8908
  },
@@ -8987,8 +8997,8 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
8987
8997
  _: 3
8988
8998
  }, 8, ["id", "focusable", "active"]);
8989
8999
  }
8990
- var ElRovingFocusItem = /* @__PURE__ */ _export_sfc$1(_sfc_main$6, [["render", _sfc_render$4], ["__file", "roving-focus-item.vue"]]);
8991
- const _sfc_main$5 = defineComponent({
9000
+ var ElRovingFocusItem = /* @__PURE__ */ _export_sfc$1(_sfc_main$9, [["render", _sfc_render$4], ["__file", "roving-focus-item.vue"]]);
9001
+ const _sfc_main$8 = defineComponent({
8992
9002
  name: "DropdownItemImpl",
8993
9003
  components: {
8994
9004
  ElIcon
@@ -9068,7 +9078,7 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
9068
9078
  ], 16, ["aria-disabled", "tabindex", "role", "onClick", "onFocus", "onKeydown", "onMousedown", "onPointermove", "onPointerleave"])
9069
9079
  ], 64);
9070
9080
  }
9071
- var ElDropdownItemImpl = /* @__PURE__ */ _export_sfc$1(_sfc_main$5, [["render", _sfc_render$3], ["__file", "dropdown-item-impl.vue"]]);
9081
+ var ElDropdownItemImpl = /* @__PURE__ */ _export_sfc$1(_sfc_main$8, [["render", _sfc_render$3], ["__file", "dropdown-item-impl.vue"]]);
9072
9082
  const useDropdown = () => {
9073
9083
  const elDropdown = inject(DROPDOWN_INSTANCE_INJECTION_KEY, {});
9074
9084
  const _elDropdownSize = computed(() => elDropdown == null ? void 0 : elDropdown.dropdownSize);
@@ -9077,7 +9087,7 @@ const useDropdown = () => {
9077
9087
  _elDropdownSize
9078
9088
  };
9079
9089
  };
9080
- const _sfc_main$4 = defineComponent({
9090
+ const _sfc_main$7 = defineComponent({
9081
9091
  name: "ElDropdownItem",
9082
9092
  components: {
9083
9093
  ElDropdownCollectionItem: ElCollectionItem,
@@ -9177,8 +9187,8 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
9177
9187
  _: 3
9178
9188
  }, 8, ["disabled", "text-value"]);
9179
9189
  }
9180
- var DropdownItem = /* @__PURE__ */ _export_sfc$1(_sfc_main$4, [["render", _sfc_render$2], ["__file", "dropdown-item.vue"]]);
9181
- const _sfc_main$3 = defineComponent({
9190
+ var DropdownItem = /* @__PURE__ */ _export_sfc$1(_sfc_main$7, [["render", _sfc_render$2], ["__file", "dropdown-item.vue"]]);
9191
+ const _sfc_main$6 = defineComponent({
9182
9192
  name: "ElDropdownMenu",
9183
9193
  props: dropdownMenuProps,
9184
9194
  setup(props) {
@@ -9255,7 +9265,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
9255
9265
  renderSlot(_ctx.$slots, "default")
9256
9266
  ], 46, ["role", "aria-labelledby", "onBlur", "onFocus", "onKeydown", "onMousedown"]);
9257
9267
  }
9258
- var DropdownMenu = /* @__PURE__ */ _export_sfc$1(_sfc_main$3, [["render", _sfc_render$1], ["__file", "dropdown-menu.vue"]]);
9268
+ var DropdownMenu = /* @__PURE__ */ _export_sfc$1(_sfc_main$6, [["render", _sfc_render$1], ["__file", "dropdown-menu.vue"]]);
9259
9269
  const ElDropdown = withInstall(Dropdown, {
9260
9270
  DropdownItem,
9261
9271
  DropdownMenu
@@ -9376,7 +9386,7 @@ const getOffsetOrSpace = (id, offset) => {
9376
9386
  const __default__ = defineComponent({
9377
9387
  name: "ElMessage"
9378
9388
  });
9379
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
9389
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
9380
9390
  ...__default__,
9381
9391
  props: messageProps,
9382
9392
  emits: messageEmits,
@@ -9407,13 +9417,13 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
9407
9417
  if (props.duration === 0)
9408
9418
  return;
9409
9419
  ({ stop: stopTimer } = useTimeoutFn(() => {
9410
- close();
9420
+ close2();
9411
9421
  }, props.duration));
9412
9422
  }
9413
9423
  function clearTimer() {
9414
9424
  stopTimer == null ? void 0 : stopTimer();
9415
9425
  }
9416
- function close() {
9426
+ function close2() {
9417
9427
  visible.value = false;
9418
9428
  nextTick(() => {
9419
9429
  var _a2;
@@ -9425,7 +9435,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
9425
9435
  }
9426
9436
  function keydown({ code }) {
9427
9437
  if (code === EVENT_CODE.esc) {
9428
- close();
9438
+ close2();
9429
9439
  }
9430
9440
  }
9431
9441
  onMounted(() => {
@@ -9444,7 +9454,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
9444
9454
  expose({
9445
9455
  visible,
9446
9456
  bottom,
9447
- close
9457
+ close: close2
9448
9458
  });
9449
9459
  return (_ctx, _cache) => {
9450
9460
  return openBlock(), createBlock(Transition, {
@@ -9501,7 +9511,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
9501
9511
  _ctx.showClose ? (openBlock(), createBlock(unref(ElIcon), {
9502
9512
  key: 2,
9503
9513
  class: normalizeClass(unref(ns).e("closeBtn")),
9504
- onClick: withModifiers(close, ["stop"])
9514
+ onClick: withModifiers(close2, ["stop"])
9505
9515
  }, {
9506
9516
  default: withCtx(() => [
9507
9517
  createVNode(unref(Close))
@@ -9517,7 +9527,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
9517
9527
  };
9518
9528
  }
9519
9529
  });
9520
- var MessageConstructor = /* @__PURE__ */ _export_sfc$1(_sfc_main$2, [["__file", "message.vue"]]);
9530
+ var MessageConstructor = /* @__PURE__ */ _export_sfc$1(_sfc_main$5, [["__file", "message.vue"]]);
9521
9531
  let seed = 1;
9522
9532
  const normalizeOptions = (params) => {
9523
9533
  const options = !params || isString$1(params) || isVNode(params) || isFunction$1(params) ? { message: params } : params;
@@ -9681,7 +9691,7 @@ const TrapFocus = {
9681
9691
  }
9682
9692
  }
9683
9693
  };
9684
- const _sfc_main$1 = defineComponent({
9694
+ const _sfc_main$4 = defineComponent({
9685
9695
  name: "ElMessageBox",
9686
9696
  directives: {
9687
9697
  TrapFocus
@@ -10151,7 +10161,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
10151
10161
  _: 3
10152
10162
  }, 8, ["onAfterLeave"]);
10153
10163
  }
10154
- var MessageBoxConstructor = /* @__PURE__ */ _export_sfc$1(_sfc_main$1, [["render", _sfc_render], ["__file", "index.vue"]]);
10164
+ var MessageBoxConstructor = /* @__PURE__ */ _export_sfc$1(_sfc_main$4, [["render", _sfc_render], ["__file", "index.vue"]]);
10155
10165
  const messageInstance = /* @__PURE__ */ new Map();
10156
10166
  const getAppendToElement = (props) => {
10157
10167
  let appendTo = document.body;
@@ -10777,10 +10787,10 @@ class Default extends CommandFlowComponent {
10777
10787
  /** 添加选择的线段
10778
10788
  * @param lineSegment
10779
10789
  */
10780
- addSelectLine(lineSegment) {
10790
+ addSelectLine(...lineSegments) {
10781
10791
  this.selectWin = null;
10782
- if (this.selectLines.indexOf(lineSegment) > -1) return;
10783
- this.selectLines.push(lineSegment);
10792
+ lineSegments = lineSegments.filter((line2) => this.selectLines.indexOf(line2) === -1);
10793
+ this.selectLines.push(...lineSegments);
10784
10794
  this.updateSelectLinesGeometry();
10785
10795
  this.dispatchEvent({
10786
10796
  type: "selectLineChange"
@@ -10803,8 +10813,8 @@ class Default extends CommandFlowComponent {
10803
10813
  /** 移除所有选中线段
10804
10814
  */
10805
10815
  removeSelectLineAll() {
10816
+ if (!this.selectWin && this.selectLines.length === 0) return;
10806
10817
  this.selectWin = null;
10807
- if (this.selectLines.length === 0) return;
10808
10818
  this.selectLines.length = 0;
10809
10819
  this.dispatchEvent({
10810
10820
  type: "selectLineChange"
@@ -11347,7 +11357,8 @@ class DrawWindow extends CommandFlowComponent {
11347
11357
  const doorDataItem = {
11348
11358
  p: { x: center.x, y: center.y, z: 0 },
11349
11359
  width: len,
11350
- full: Math.abs(len - line2.length()) < 0.01
11360
+ full: Math.abs(len - line2.length()) < 0.01,
11361
+ uuid: uuid()
11351
11362
  };
11352
11363
  ElMessage({
11353
11364
  message: "绘制完成",
@@ -11650,12 +11661,473 @@ class VerticalCorr extends CommandFlowComponent {
11650
11661
  return data;
11651
11662
  }
11652
11663
  }
11664
+ function isMobile() {
11665
+ return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
11666
+ }
11667
+ const _hoisted_1$2 = { class: "flex flex-row" };
11668
+ const _hoisted_2$2 = { class: "flex text-nowrap text-[12px] items-center pointer-events-none" };
11669
+ const _hoisted_3$2 = {
11670
+ key: 0,
11671
+ class: "p-[5px]"
11672
+ };
11673
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
11674
+ __name: "DragContainer",
11675
+ props: /* @__PURE__ */ mergeModels({
11676
+ name: {},
11677
+ title: {},
11678
+ position: {}
11679
+ }, {
11680
+ "showContent": { default: true },
11681
+ "showContentModifiers": {}
11682
+ }),
11683
+ emits: /* @__PURE__ */ mergeModels(["clickIcon"], ["update:showContent"]),
11684
+ setup(__props, { emit: __emit }) {
11685
+ function setEditorToolPosition(left, top, rect = elRef.value.getBoundingClientRect(), toolBarRect = toolBarRef.value.getBoundingClientRect()) {
11686
+ const minX = 0, maxX = rect.width - toolBarRect.width, minY = 0, maxY = rect.height - toolBarRect.height;
11687
+ left = Math.max(minX, Math.min(left, maxX));
11688
+ top = Math.max(minY, Math.min(top, maxY));
11689
+ toolBarPosition.value = { left, top };
11690
+ }
11691
+ function dragMoveHelper(e) {
11692
+ if (isMobile() && e instanceof MouseEvent) return;
11693
+ let offsetX = 0, offsetY = 0;
11694
+ if (e instanceof MouseEvent) {
11695
+ offsetX = e.offsetX;
11696
+ offsetY = e.offsetY;
11697
+ } else if (e instanceof TouchEvent) {
11698
+ const rect = e.target.getBoundingClientRect(), touch = e.touches[0];
11699
+ offsetX = touch.pageX - rect.left;
11700
+ offsetY = touch.pageY - rect.top;
11701
+ }
11702
+ const cusor = document.body.style.cursor;
11703
+ document.body.style.cursor = "move";
11704
+ const move = (e2) => {
11705
+ const rect = elRef.value.getBoundingClientRect(), toolBarRect = toolBarRef.value.getBoundingClientRect();
11706
+ setEditorToolPosition(
11707
+ e2.pageX - rect.left - offsetX,
11708
+ e2.pageY - rect.top - offsetY,
11709
+ rect,
11710
+ toolBarRect
11711
+ );
11712
+ e2.stopPropagation();
11713
+ document.body.style.cursor = "move";
11714
+ };
11715
+ const end = () => {
11716
+ document.body.removeEventListener("mousemove", move);
11717
+ document.removeEventListener("mouseup", end);
11718
+ document.body.style.cursor = cusor;
11719
+ };
11720
+ const touchmove = (e2) => {
11721
+ if (e2.touches.length) {
11722
+ const rect = elRef.value.getBoundingClientRect(), toolBarRect = toolBarRef.value.getBoundingClientRect(), touch = e2.touches[0];
11723
+ setEditorToolPosition(
11724
+ touch.pageX - rect.left - offsetX,
11725
+ touch.pageY - rect.top - offsetY,
11726
+ rect,
11727
+ toolBarRect
11728
+ );
11729
+ e2.stopPropagation();
11730
+ document.body.style.cursor = "move";
11731
+ e2.stopPropagation();
11732
+ e2.preventDefault();
11733
+ }
11734
+ };
11735
+ const touchend = () => {
11736
+ document.body.removeEventListener("touchmove", touchmove);
11737
+ document.body.removeEventListener("touchend", touchend);
11738
+ document.body.style.cursor = cusor;
11739
+ };
11740
+ if (isMobile()) {
11741
+ document.body.addEventListener("touchmove", touchmove, { passive: false });
11742
+ document.addEventListener("touchend", touchend);
11743
+ } else {
11744
+ document.body.addEventListener("mousemove", move);
11745
+ document.addEventListener("mouseup", end);
11746
+ }
11747
+ e.stopPropagation();
11748
+ }
11749
+ function onClickIcon() {
11750
+ emits("clickIcon");
11751
+ }
11752
+ const props = __props;
11753
+ const emits = __emit;
11754
+ const showContent = useModel(__props, "showContent");
11755
+ const elRef = ref(), toolBarRef = ref(), toolBarPosition = ref({ left: props.position?.x ?? 10, top: props.position?.y ?? 100 }), resizeObserver = new ResizeObserver(() => setEditorToolPosition(toolBarPosition.value.left, toolBarPosition.value.top));
11756
+ watch(showContent, () => {
11757
+ if (showContent.value) {
11758
+ nextTick(() => setEditorToolPosition(toolBarPosition.value.left, toolBarPosition.value.top));
11759
+ }
11760
+ });
11761
+ if (props.name && !props.position && localStorage.getItem(props.name)) {
11762
+ watch(toolBarPosition, () => localStorage.setItem(props.name, JSON.stringify(toolBarPosition.value)));
11763
+ const { left, top } = JSON.parse(localStorage.getItem(props.name) ?? "{}");
11764
+ toolBarPosition.value = { left, top };
11765
+ }
11766
+ onMounted(() => {
11767
+ nextTick(() => resizeObserver.observe(elRef.value));
11768
+ });
11769
+ onUnmounted(() => {
11770
+ resizeObserver.disconnect();
11771
+ });
11772
+ return (_ctx, _cache) => {
11773
+ return openBlock(), createElementBlock("div", {
11774
+ ref_key: "elRef",
11775
+ ref: elRef,
11776
+ class: "editorTool pointer-events-none overflow-hidden absolute left-0 top-0 w-full h-full z-[20] flex flex-row justify-between p-[5px] box-border select-none pointer-events-[all]"
11777
+ }, [
11778
+ createElementVNode("div", {
11779
+ ref_key: "toolBarRef",
11780
+ ref: toolBarRef,
11781
+ style: normalizeStyle({ left: toolBarPosition.value.left + "px", top: toolBarPosition.value.top + "px" }),
11782
+ class: normalizeClass(["overflow-hidden pointer-events-auto w-fit transition-[border-radius] text-[#333] absolute z-[11] bg-white select-none", { "rounded-[8px]": showContent.value }]),
11783
+ onMousedown: _cache[0] || (_cache[0] = (e) => e.stopPropagation())
11784
+ }, [
11785
+ createElementVNode("div", {
11786
+ onTouchstart: dragMoveHelper,
11787
+ onMousedown: dragMoveHelper,
11788
+ class: normalizeClass([{ "border-b-[#eee] border-b-1": showContent.value }, "flex flex-row justify-between header text-[14px] font-bold p-[10px 0px]"])
11789
+ }, [
11790
+ createElementVNode("div", _hoisted_1$2, [
11791
+ _cache[1] || (_cache[1] = createStaticVNode('<div class="p-[2px_5px] size-[20px] flex items-center pointer-events-none"><svg fill="#aaa" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M352 128a134.4 134.4 0 0 1 128.832 96H921.6a38.4 38.4 0 0 1 0 76.8H480.832a134.4 134.4 0 0 1-257.664 0H102.4a38.4 38.4 0 1 1 0-76.8h120.768A134.4 134.4 0 0 1 352 128z m0 76.8a57.6 57.6 0 1 0 0 115.2 57.6 57.6 0 0 0 0-115.2z"></path><path d="M64 467.2m38.4 0l819.2 0q38.4 0 38.4 38.4l0 0q0 38.4-38.4 38.4l-819.2 0q-38.4 0-38.4-38.4l0 0q0-38.4 38.4-38.4Z"></path><path d="M672 614.4a134.4 134.4 0 0 1 128.832 96H921.6a38.4 38.4 0 0 1 0 76.8h-120.768a134.4 134.4 0 0 1-257.664 0H102.4a38.4 38.4 0 0 1 0-76.8h440.768A134.4 134.4 0 0 1 672 614.4z m0 76.8a57.6 57.6 0 1 0 0 115.2 57.6 57.6 0 0 0 0-115.2z"></path></svg></div>', 1)),
11792
+ createElementVNode("h5", _hoisted_2$2, toDisplayString(_ctx.title), 1)
11793
+ ]),
11794
+ createElementVNode("div", {
11795
+ onMousedown: onClickIcon,
11796
+ class: "ml-[20px] cursor-pointer flex items-center p-[0px_5px]"
11797
+ }, [
11798
+ renderSlot(_ctx.$slots, "icon", {}, () => [
11799
+ _cache[2] || (_cache[2] = createElementVNode("svg", {
11800
+ fill: "#666",
11801
+ viewBox: "0 0 1024 1024",
11802
+ version: "1.1",
11803
+ xmlns: "http://www.w3.org/2000/svg",
11804
+ width: "10",
11805
+ height: "10"
11806
+ }, [
11807
+ createElementVNode("path", { d: "M23.079385 23.079385a78.769231 78.769231 0 0 1 111.379692 0L512 400.541538 889.540923 23.079385a78.769231 78.769231 0 0 1 103.975385-6.537847l7.404307 6.537847a78.769231 78.769231 0 0 1 0 111.379692L623.458462 512l377.462153 377.540923a78.769231 78.769231 0 0 1 6.537847 103.975385l-6.537847 7.404307a78.769231 78.769231 0 0 1-111.379692 0L512 623.458462l-377.540923 377.462153a78.769231 78.769231 0 0 1-103.975385 6.537847l-7.404307-6.537847a78.769231 78.769231 0 0 1 0-111.379692L400.541538 512 23.079385 134.459077A78.769231 78.769231 0 0 1 16.541538 30.483692z" })
11808
+ ], -1))
11809
+ ])
11810
+ ], 32)
11811
+ ], 34),
11812
+ showContent.value ? (openBlock(), createElementBlock("div", _hoisted_3$2, [
11813
+ renderSlot(_ctx.$slots, "default")
11814
+ ])) : createCommentVNode("", true)
11815
+ ], 38)
11816
+ ], 512);
11817
+ };
11818
+ }
11819
+ });
11820
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
11821
+ __name: "Input",
11822
+ props: {
11823
+ "modelValue": {},
11824
+ "modelModifiers": {}
11825
+ },
11826
+ emits: /* @__PURE__ */ mergeModels(["change", "blur"], ["update:modelValue"]),
11827
+ setup(__props, { emit: __emit }) {
11828
+ function onBlur() {
11829
+ emits("blur");
11830
+ }
11831
+ const handleKeypress = (event) => {
11832
+ const char = event.key;
11833
+ if (!/[\d\-.]/.test(char) && !["Backspace", "Delete", "ArrowLeft", "ArrowRight", "Tab"].includes(char)) {
11834
+ event.preventDefault();
11835
+ }
11836
+ };
11837
+ const handlePaste = (event) => {
11838
+ const pastedText = event.clipboardData?.getData("text");
11839
+ if (pastedText && !/^-?\d+\.?\d*$/.test(pastedText)) {
11840
+ event.preventDefault();
11841
+ }
11842
+ };
11843
+ const value = useModel(__props, "modelValue", {
11844
+ set(v) {
11845
+ return Number(v);
11846
+ }
11847
+ });
11848
+ const emits = __emit;
11849
+ return (_ctx, _cache) => {
11850
+ return withDirectives((openBlock(), createElementBlock("input", {
11851
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => value.value = $event),
11852
+ type: "text",
11853
+ class: "bg-[#e9e9e9] border-0 focus:outline-0 p-[2px_5px] rounded-[6px] text-[12px] flex-1",
11854
+ onKeypress: handleKeypress,
11855
+ onPaste: handlePaste,
11856
+ onChange: _cache[1] || (_cache[1] = ($event) => emits("change")),
11857
+ onBlur
11858
+ }, null, 544)), [
11859
+ [
11860
+ vModelText,
11861
+ value.value,
11862
+ void 0,
11863
+ { number: true }
11864
+ ]
11865
+ ]);
11866
+ };
11867
+ }
11868
+ });
11869
+ const _hoisted_1$1 = { key: 0 };
11870
+ const _hoisted_2$1 = { class: "flex w-full" };
11871
+ const _hoisted_3$1 = {
11872
+ key: 0,
11873
+ class: "mr-[10px] h-[20px] flex justify-center items-center"
11874
+ };
11875
+ const _hoisted_4$1 = { class: "size-[16px] rounded-[100px] text-[12px] flex justify-center items-center text-[#409eff]" };
11876
+ const _hoisted_5$1 = { class: "flex-1 mb-[5px]" };
11877
+ const _hoisted_6$1 = { class: "leading-[20px]" };
11878
+ const _hoisted_7$1 = { class: "bg-[whitesmoke] rounded-[10px] mt-[5px]" };
11879
+ const _hoisted_8$1 = { class: "p-[5px] text-[12px]" };
11880
+ const _hoisted_9$1 = { class: "mr-[5px]" };
11881
+ const _hoisted_10$1 = { class: "p-[2px] number" };
11882
+ const _hoisted_11$1 = { class: "p-[2px] number" };
11883
+ const _hoisted_12$1 = { class: "p-[5px] text-[12px]" };
11884
+ const _hoisted_13$1 = { class: "p-[2px] number" };
11885
+ const _hoisted_14$1 = { class: "mt-[5px] bg-[whitesmoke] rounded-[10px]" };
11886
+ const _hoisted_15$1 = {
11887
+ key: 0,
11888
+ class: "p-[5px] text-[12px] flex"
11889
+ };
11890
+ const _hoisted_16 = { class: "p-[5px] text-[12px] flex" };
11891
+ const _hoisted_17 = { class: "mr-[5px] w-[50px]" };
11892
+ const _hoisted_18 = {
11893
+ key: 1,
11894
+ class: "p-[5px] text-[12px] flex"
11895
+ };
11896
+ const _hoisted_19 = {
11897
+ key: 2,
11898
+ class: "p-[5px] text-[12px] flex"
11899
+ };
11900
+ const _hoisted_20 = {
11901
+ key: 1,
11902
+ class: "text-[12px] text-center text-[#aaa]"
11903
+ };
11904
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
11905
+ __name: "PropertiesPanel",
11906
+ props: {
11907
+ selectLines: {}
11908
+ },
11909
+ emits: ["update"],
11910
+ setup(__props, { emit: __emit }) {
11911
+ const props = __props, emits = __emit, selectLines = props.selectLines, map = /* @__PURE__ */ new Map(), userDataList = computed(() => {
11912
+ return selectLines.value.map((line2) => {
11913
+ if (line2.userData.isDoor && !line2.userData.drawDoorData) line2.userData.drawDoorData = {};
11914
+ if (!map.has(line2.uuid)) map.set(line2.uuid, reactive(line2.userData));
11915
+ return map.get(line2.uuid);
11916
+ });
11917
+ });
11918
+ return (_ctx, _cache) => {
11919
+ return openBlock(), createBlock(_sfc_main$3, {
11920
+ title: "属性",
11921
+ name: "PropertiesPanel",
11922
+ style: { "z-index": "201" }
11923
+ }, {
11924
+ default: withCtx(() => [
11925
+ createElementVNode("div", {
11926
+ class: "p-[5px] max-h-[300px] min-w-[200px] overflow-y-auto",
11927
+ onWheel: _cache[4] || (_cache[4] = (e) => e.stopPropagation())
11928
+ }, [
11929
+ unref(selectLines).length ? (openBlock(), createElementBlock("ul", _hoisted_1$1, [
11930
+ (openBlock(true), createElementBlock(Fragment, null, renderList(props.selectLines.value, (line2, i) => {
11931
+ return openBlock(), createElementBlock("li", _hoisted_2$1, [
11932
+ unref(selectLines).length > 1 ? (openBlock(), createElementBlock("div", _hoisted_3$1, [
11933
+ createElementVNode("div", _hoisted_4$1, toDisplayString(i + 1) + ". ", 1)
11934
+ ])) : createCommentVNode("", true),
11935
+ createElementVNode("div", _hoisted_5$1, [
11936
+ createElementVNode("div", null, [
11937
+ createElementVNode("h5", _hoisted_6$1, toDisplayString(line2.userData.isDoor ? "门线" : line2.userData.isSelectWindow ? "窗户线段" : line2.userData.isBayWindow ? "飘窗线" : "墙体线"), 1)
11938
+ ]),
11939
+ createElementVNode("div", _hoisted_7$1, [
11940
+ (openBlock(true), createElementBlock(Fragment, null, renderList(line2.points, (point, index2) => {
11941
+ return openBlock(), createElementBlock("p", _hoisted_8$1, [
11942
+ createElementVNode("span", _hoisted_9$1, toDisplayString(index2 === 0 ? "开始" : "结束"), 1),
11943
+ createElementVNode("span", _hoisted_10$1, "x:" + toDisplayString(point.x.toFixed(2)), 1),
11944
+ _cache[5] || (_cache[5] = createElementVNode("span", { class: "mr-[20px]" }, null, -1)),
11945
+ createElementVNode("span", _hoisted_11$1, "y:" + toDisplayString(point.y.toFixed(2)), 1)
11946
+ ]);
11947
+ }), 256)),
11948
+ createElementVNode("p", _hoisted_12$1, [
11949
+ _cache[6] || (_cache[6] = createElementVNode("span", { class: "mr-[5px]" }, "长度", -1)),
11950
+ createElementVNode("span", _hoisted_13$1, toDisplayString(Number(line2.length().toFixed(4))) + "m", 1)
11951
+ ])
11952
+ ]),
11953
+ createElementVNode("div", _hoisted_14$1, [
11954
+ userDataList.value[i].isSelectWindow ? (openBlock(), createElementBlock("p", _hoisted_15$1, [
11955
+ _cache[7] || (_cache[7] = createElementVNode("span", { class: "mr-[5px] w-[50px]" }, "窗户宽度", -1)),
11956
+ createVNode(_sfc_main$2, {
11957
+ onBlur: _cache[0] || (_cache[0] = ($event) => emits("update")),
11958
+ modelValue: userDataList.value[i].width,
11959
+ "onUpdate:modelValue": ($event) => userDataList.value[i].width = $event,
11960
+ modelModifiers: { number: true },
11961
+ class: "bg-[#e9e9e9] border-0 focus:outline-0 p-[2px_5px] rounded-[6px] text-[12px] flex-1"
11962
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
11963
+ ])) : createCommentVNode("", true),
11964
+ createElementVNode("p", _hoisted_16, [
11965
+ createElementVNode("span", _hoisted_17, toDisplayString(line2.userData.isSelectWindow ? "窗户" : "墙体") + "高度", 1),
11966
+ createVNode(_sfc_main$2, {
11967
+ onBlur: _cache[1] || (_cache[1] = ($event) => emits("update")),
11968
+ modelValue: userDataList.value[i].height,
11969
+ "onUpdate:modelValue": ($event) => userDataList.value[i].height = $event,
11970
+ class: "bg-[#e9e9e9] border-0 focus:outline-0 p-[2px_5px] rounded-[6px] text-[12px] flex-1"
11971
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
11972
+ ]),
11973
+ line2.userData.isDoor ? (openBlock(), createElementBlock("p", _hoisted_18, [
11974
+ _cache[8] || (_cache[8] = createElementVNode("span", { class: "mr-[5px] w-[50px]" }, "门高度", -1)),
11975
+ createVNode(_sfc_main$2, {
11976
+ onBlur: _cache[2] || (_cache[2] = ($event) => emits("update")),
11977
+ modelValue: userDataList.value[i].drawDoorData.height,
11978
+ "onUpdate:modelValue": ($event) => userDataList.value[i].drawDoorData.height = $event,
11979
+ class: "bg-[#e9e9e9] border-0 focus:outline-0 p-[2px_5px] rounded-[6px] text-[12px] flex-1"
11980
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
11981
+ ])) : createCommentVNode("", true),
11982
+ userDataList.value[i].isSelectWindow ? (openBlock(), createElementBlock("p", _hoisted_19, [
11983
+ _cache[9] || (_cache[9] = createElementVNode("span", { class: "mr-[5px] w-[50px]" }, "离地高度", -1)),
11984
+ createVNode(_sfc_main$2, {
11985
+ onBlur: _cache[3] || (_cache[3] = ($event) => emits("update")),
11986
+ modelValue: userDataList.value[i].groundClearance,
11987
+ "onUpdate:modelValue": ($event) => userDataList.value[i].groundClearance = $event,
11988
+ modelModifiers: { number: true },
11989
+ class: "bg-[#e9e9e9] border-0 focus:outline-0 p-[2px_5px] rounded-[6px] text-[12px] flex-1"
11990
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
11991
+ ])) : createCommentVNode("", true)
11992
+ ])
11993
+ ])
11994
+ ]);
11995
+ }), 256))
11996
+ ])) : (openBlock(), createElementBlock("div", _hoisted_20, "请选择线段"))
11997
+ ], 32)
11998
+ ]),
11999
+ _: 1
12000
+ });
12001
+ };
12002
+ }
12003
+ });
12004
+ const _export_sfc = (sfc, props) => {
12005
+ const target = sfc.__vccOpts || sfc;
12006
+ for (const [key, val] of props) {
12007
+ target[key] = val;
12008
+ }
12009
+ return target;
12010
+ };
12011
+ const PropertiesPanelView = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-cd15d420"]]);
12012
+ class PropertiesPanel extends CommandFlowComponent {
12013
+ static name = "PropertiesPanel";
12014
+ container = new THREE.Group();
12015
+ static shortcutKeys = ["i"];
12016
+ static commandName = "PropertiesPanel";
12017
+ isOpen = false;
12018
+ onAddFromParent(parent) {
12019
+ super.onAddFromParent(parent);
12020
+ this.editor.container.add(this.container);
12021
+ this.container.position.z = 1e-3;
12022
+ const commandFlow = this.commandManager.addCommandFlow(this.commandName).add(this.constraint.bind(this)).add(this.open.bind(this)).addRollback(this.rollback.bind(this)).addRevokeRollback(this.revokeRollback.bind(this));
12023
+ commandFlow.addEventListener("finally", this.createFinally());
12024
+ commandFlow.addEventListener("completed", () => this.completed());
12025
+ this.eventInput.addKeyCombination(this.commandName, this.shortcutKeys);
12026
+ this.eventInput.addEventListener("codeChange", async () => {
12027
+ if (this.isOpen) return;
12028
+ if (!this.eventInput.isKeyCombination(PropertiesPanel.commandName)) return;
12029
+ await this.commandManager.start(PropertiesPanel.commandName, this.getSelectLines());
12030
+ });
12031
+ this.eventInput.addCancelDefaultBehavior(() => this.eventInput.isOnlyKeyDowns(this.shortcutKeys));
12032
+ }
12033
+ getSelectLines() {
12034
+ const list = [...this.default.selectLines];
12035
+ const winList = [];
12036
+ if (this.default.selectWin) {
12037
+ const { wiLine, index: index2, line: line2 } = this.default.selectWin;
12038
+ wiLine.userData = line2.userData.drawWindow[index2];
12039
+ wiLine.currentData.selectWin = this.default.selectWin;
12040
+ wiLine.userData.isSelectWindow = true;
12041
+ winList.push(wiLine);
12042
+ }
12043
+ return { list, winList };
12044
+ }
12045
+ constraint(next, { list, winList }) {
12046
+ if (winList.length) {
12047
+ const { wiLine, index: index2, line: line2 } = winList[0].currentData.selectWin;
12048
+ this.default.setSelectWinLine(line2, wiLine, index2);
12049
+ next(winList);
12050
+ } else {
12051
+ this.default.addSelectLine(...list);
12052
+ next(list);
12053
+ }
12054
+ }
12055
+ /** 选择开始点
12056
+ * @param next
12057
+ */
12058
+ open(next) {
12059
+ this.isOpen = true;
12060
+ const container = document.createElement("div");
12061
+ container.tabIndex = 1;
12062
+ ["mousemove", "mousedown", "keydown", "keyup"].forEach((key) => container.addEventListener(key, (e) => e.stopPropagation()));
12063
+ this.domElement.appendChild(container);
12064
+ const selectLines = ref([]);
12065
+ const update = () => {
12066
+ const data = this.getSelectLines();
12067
+ this.container.clear();
12068
+ const list = [...data.list, ...data.winList];
12069
+ selectLines.value = list;
12070
+ list.length > 1 && list.forEach((line2, i) => {
12071
+ this.container.add(
12072
+ drawText(i + 1, line2.center, {
12073
+ color: "#fff",
12074
+ width: "16px",
12075
+ height: "16px",
12076
+ lineHeight: "16px",
12077
+ textAlign: "center",
12078
+ background: "#409eff",
12079
+ borderRadius: "200px"
12080
+ }, 0)
12081
+ );
12082
+ });
12083
+ };
12084
+ const eventCloses = [
12085
+ this.default.addEventListener("selectLineChange", update),
12086
+ this.default.addEventListener("selectWinLineChange", update)
12087
+ ];
12088
+ update();
12089
+ const app = createApp(PropertiesPanelView, {
12090
+ selectLines,
12091
+ position: this.editor.domEventRegister.pointer.clone(),
12092
+ onClickIcon: () => {
12093
+ eventCloses.forEach((eventClose) => eventClose());
12094
+ this.domElement.removeChild(container);
12095
+ this.container.clear();
12096
+ this.isOpen = false;
12097
+ },
12098
+ onUpdate: () => {
12099
+ this.renderManager.draw();
12100
+ }
12101
+ });
12102
+ app.mount(container);
12103
+ next();
12104
+ }
12105
+ /** 执行完成
12106
+ */
12107
+ completed() {
12108
+ }
12109
+ /** 回滚操作
12110
+ * @param data
12111
+ */
12112
+ rollback(data) {
12113
+ return data;
12114
+ }
12115
+ /** 撤回回滚
12116
+ * @param lines
12117
+ * @returns
12118
+ */
12119
+ revokeRollback(data) {
12120
+ this.completed();
12121
+ return data;
12122
+ }
12123
+ }
11653
12124
  const index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
11654
12125
  __proto__: null,
11655
12126
  Default,
11656
12127
  DrawDoorLine,
11657
12128
  DrawLine,
11658
12129
  DrawWindow,
12130
+ PropertiesPanel,
11659
12131
  RenderManager,
11660
12132
  VerticalCorr
11661
12133
  }, Symbol.toStringTag, { value: "Module" }));
@@ -11898,10 +12370,12 @@ class TwoLineConnectionLine extends CommandFlowComponent {
11898
12370
  } else if (selectLines.length !== 2) {
11899
12371
  ElMessage({ message: "请选择2条线段", type: "warning" });
11900
12372
  this.cancel();
11901
- } else if (selectLines[0].parallel(selectLines[1]), 45) {
12373
+ } else if (selectLines[0].parallel(selectLines[1], 45)) {
11902
12374
  ElMessage({ message: "两条线段角度需要小于135度", type: "warning" });
11903
12375
  this.cancel();
11904
- } else ;
12376
+ } else {
12377
+ next(selectLines);
12378
+ }
11905
12379
  }
11906
12380
  /** 开始
11907
12381
  * @param next
@@ -12471,7 +12945,7 @@ class VerticalCorrContinue extends CommandFlowComponent {
12471
12945
  verticalCorrection(next, selectLines) {
12472
12946
  const targettLine = selectLines[0];
12473
12947
  const oldLines = [...this.renderManager.lines];
12474
- const newLines = AxisAlignCorr.correction(oldLines, targettLine, { groupMethod: "cross", fittingMethod: "max", crossAxistThreshold: 0.08 });
12948
+ const newLines = PRE_PROCESSOR.AxisAlignCorr(oldLines, this.editor.dxf.options, targettLine);
12475
12949
  next({ newLines, oldLines });
12476
12950
  }
12477
12951
  /** 执行完成
@@ -12500,9 +12974,27 @@ class VerticalCorrContinue extends CommandFlowComponent {
12500
12974
  return data;
12501
12975
  }
12502
12976
  }
12977
+ class StorageHelper {
12978
+ static get(key, defaultValue = void 0) {
12979
+ const value = localStorage.getItem(key);
12980
+ if (typeof value === "undefined") return defaultValue;
12981
+ return value;
12982
+ }
12983
+ static getBoolean(key, defaultValue = false) {
12984
+ return this.get(key, defaultValue ? "true" : "false") === "true";
12985
+ }
12986
+ static getNumber(key, defaultValue = 0) {
12987
+ const v = this.get(key, defaultValue);
12988
+ if (typeof v === "number") return v;
12989
+ return Number(v);
12990
+ }
12991
+ static set(key, vaalue) {
12992
+ localStorage.setItem(key, String(vaalue));
12993
+ }
12994
+ }
12503
12995
  const _hoisted_1 = {
12504
12996
  key: 0,
12505
- class: "p-[5px] max-w-[200px]"
12997
+ class: "p-[5px] max-w-[200px] min-w-[200px]"
12506
12998
  };
12507
12999
  const _hoisted_2 = { class: "text-[14px] flex flex-col" };
12508
13000
  const _hoisted_3 = ["onClick"];
@@ -12537,12 +13029,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12537
13029
  permission: {}
12538
13030
  },
12539
13031
  setup(__props) {
12540
- function setEditorToolPosition(left, top, rect = elRef.value.getBoundingClientRect(), toolBarRect = toolBarRef.value.getBoundingClientRect()) {
12541
- const minX = 0, maxX = rect.width - toolBarRect.width, minY = 0, maxY = rect.height - toolBarRect.height;
12542
- left = Math.max(minX, Math.min(left, maxX));
12543
- top = Math.max(minY, Math.min(top, maxY));
12544
- toolBarPosition.value = { left, top };
12545
- }
12546
13032
  function startCurrentCommandItem(item) {
12547
13033
  if (currentCommand.value === item.command) return;
12548
13034
  if (currentCommand.value !== "default") editor.commandManager.cancel();
@@ -12569,32 +13055,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12569
13055
  variable.set("currentKeyDown", "enter");
12570
13056
  queueMicrotask(() => variable.set("currentKeyUp", "enter"));
12571
13057
  }
12572
- function dragMoveHelper({ offsetX, offsetY }) {
12573
- domEventRegister.mouseMoveEventProxylock = true;
12574
- const cusor = document.body.style.cursor;
12575
- document.body.style.cursor = "move";
12576
- const move = (e) => {
12577
- const rect = elRef.value.getBoundingClientRect(), toolBarRect = toolBarRef.value.getBoundingClientRect();
12578
- setEditorToolPosition(
12579
- e.pageX - rect.left - offsetX,
12580
- e.pageY - rect.top - offsetY,
12581
- rect,
12582
- toolBarRect
12583
- );
12584
- e.stopPropagation();
12585
- document.body.style.cursor = "move";
12586
- };
12587
- const end = () => {
12588
- document.body.removeEventListener("mousemove", move);
12589
- document.removeEventListener("mouseup", end);
12590
- document.body.style.cursor = cusor;
12591
- domEventRegister.mouseMoveEventProxylock = false;
12592
- };
12593
- document.body.addEventListener("mousemove", move);
12594
- document.addEventListener("mouseup", end);
12595
- }
12596
13058
  const props = __props;
12597
- const originalLineVisible = ref(true), dxfVisible = ref(true), whiteModelVisible = ref(true), isLook = ref(false), elRef = ref(), toolBarRef = ref(), toolBarExpand = ref(true), currentCommand = ref(""), dxfSystem = toRaw(props.dxfSystem), domEventRegister = dxfSystem.findComponentByType(DomEventRegister), editor = dxfSystem.findComponentByType(Editor), defaultComponent = dxfSystem.findComponentByType(Default), whiteModel = dxfSystem.findComponentByType(WhiteModel), threeVJia = dxfSystem.findComponentByType(ThreeVJia), variable = dxfSystem.findComponentByType(Variable), drawLine = dxfSystem.findComponentByType(DrawLine), rollbackCount = ref(0), revokeRollbackCount = ref(0), drawLineCount = ref(0), toolBarPosition = ref({ left: 10, top: 100 }), images = /* @__PURE__ */ Object.assign({ "./assets/images/VerticalCorr.svg": __vite_glob_0_0, "./assets/images/VerticalCorrContinue.svg": __vite_glob_0_1, "./assets/images/angle.svg": __vite_glob_0_2, "./assets/images/connection.svg": __vite_glob_0_3, "./assets/images/cutLine.svg": __vite_glob_0_4, "./assets/images/deleteSelectLine.svg": __vite_glob_0_5, "./assets/images/deleteSelectWindow.svg": __vite_glob_0_6, "./assets/images/door.svg": __vite_glob_0_7, "./assets/images/dxf.svg": __vite_glob_0_8, "./assets/images/intersectionConnection.svg": __vite_glob_0_9, "./assets/images/line.svg": __vite_glob_0_10, "./assets/images/mergeLine.svg": __vite_glob_0_11, "./assets/images/revokeRollback.svg": __vite_glob_0_12, "./assets/images/rollback.svg": __vite_glob_0_13, "./assets/images/selectAll.svg": __vite_glob_0_14, "./assets/images/selectPoint.svg": __vite_glob_0_15, "./assets/images/verticalLine.svg": __vite_glob_0_16, "./assets/images/window.svg": __vite_glob_0_17 }), selectLineCount = ref(0), selectWinLineCount = ref(0), hasWindowLine = ref(false), resizeObserver = new ResizeObserver(() => setEditorToolPosition(toolBarPosition.value.left, toolBarPosition.value.top)), commandList = [
13059
+ const dxfVisible = ref(true), isLook = ref(false), toolBarExpand = ref(StorageHelper.getBoolean("toolBarExpand", true)), currentCommand = ref(""), dxfSystem = toRaw(props.dxfSystem), domEventRegister = dxfSystem.findComponentByType(DomEventRegister), editor = dxfSystem.findComponentByType(Editor), defaultComponent = dxfSystem.findComponentByType(Default), whiteModel = dxfSystem.findComponentByType(WhiteModel), threeVJia = dxfSystem.findComponentByType(ThreeVJia), variable = dxfSystem.findComponentByType(Variable), drawLine = dxfSystem.findComponentByType(DrawLine), rollbackCount = ref(0), revokeRollbackCount = ref(0), drawLineCount = ref(0), images = /* @__PURE__ */ Object.assign({ "./assets/images/VerticalCorr.svg": __vite_glob_0_0, "./assets/images/VerticalCorrContinue.svg": __vite_glob_0_1, "./assets/images/angle.svg": __vite_glob_0_2, "./assets/images/close.svg": __vite_glob_0_3, "./assets/images/connection.svg": __vite_glob_0_4, "./assets/images/cutLine.svg": __vite_glob_0_5, "./assets/images/deleteSelectLine.svg": __vite_glob_0_6, "./assets/images/deleteSelectWindow.svg": __vite_glob_0_7, "./assets/images/door.svg": __vite_glob_0_8, "./assets/images/dxf.svg": __vite_glob_0_9, "./assets/images/intersectionConnection.svg": __vite_glob_0_10, "./assets/images/line.svg": __vite_glob_0_11, "./assets/images/mergeLine.svg": __vite_glob_0_12, "./assets/images/revokeRollback.svg": __vite_glob_0_13, "./assets/images/rollback.svg": __vite_glob_0_14, "./assets/images/selectAll.svg": __vite_glob_0_15, "./assets/images/selectPoint.svg": __vite_glob_0_16, "./assets/images/verticalLine.svg": __vite_glob_0_17, "./assets/images/window.svg": __vite_glob_0_18, "./assets/images/属性面板.svg": __vite_glob_0_19 }), selectLineCount = ref(0), selectWinLineCount = ref(0), hasWindowLine = ref(false), commandList = [
12598
13060
  {
12599
13061
  command: "default",
12600
13062
  name: "默认",
@@ -12726,28 +13188,31 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12726
13188
  action() {
12727
13189
  editor.commandManager.start(DeleteSelectLine.commandName, defaultComponent.getSelectData());
12728
13190
  }
13191
+ },
13192
+ {
13193
+ command: DeleteSelectLine.commandName,
13194
+ name: "属性面板",
13195
+ show: computed(() => true),
13196
+ src: images["./assets/images/属性面板.svg"].default,
13197
+ shortcut: DeleteSelectLine.shortcutKeys.join(" + "),
13198
+ action() {
13199
+ variable.set("currentKeyDown", "i");
13200
+ queueMicrotask(() => variable.set("currentKeyUp", "i"));
13201
+ }
12729
13202
  }
12730
13203
  ], z = ref(0), promptMessage = ref();
12731
- watch(toolBarPosition, () => localStorage.setItem("editorToolPosition", JSON.stringify(toolBarPosition.value)));
12732
- watch(toolBarExpand, () => {
12733
- localStorage.setItem("toolBarExpand", toolBarExpand.value + "");
12734
- if (toolBarExpand.value) {
12735
- nextTick(() => setEditorToolPosition(toolBarPosition.value.left, toolBarPosition.value.top));
12736
- }
12737
- });
12738
- watch(originalLineVisible, () => dxfSystem.Variable.set("originalLineVisible", originalLineVisible.value));
12739
13204
  watch(dxfVisible, () => {
12740
13205
  localStorage.setItem("dxfVisible", dxfVisible.value + "");
12741
13206
  dxfSystem.Variable.set("dxfVisible", dxfVisible.value);
12742
13207
  });
12743
- watch(whiteModelVisible, () => dxfSystem.Variable.set("whiteModelVisible", whiteModelVisible.value));
13208
+ watch(toolBarExpand, () => {
13209
+ localStorage.setItem("toolBarExpand", toolBarExpand.value + "");
13210
+ });
12744
13211
  watch(z, (v) => {
12745
13212
  dxfSystem.Dxf.originalZAverage = Number(v);
12746
13213
  });
12747
13214
  dxfSystem.Variable.addEventListener("isLook", (e) => isLook.value = e.value);
12748
- dxfSystem.Variable.addEventListener("originalLineVisible", (e) => originalLineVisible.value = e.value);
12749
13215
  dxfSystem.Variable.addEventListener("dxfVisible", (e) => dxfVisible.value = e.value);
12750
- dxfSystem.Variable.addEventListener("whiteModelVisible", (e) => whiteModelVisible.value = e.value);
12751
13216
  drawLine.addEventListener("start", () => drawLineCount.value = 0);
12752
13217
  drawLine.addEventListener("appendLine", (e) => drawLineCount.value = e.points.length);
12753
13218
  drawLine.addEventListener("revoke", (e) => drawLineCount.value = e.points.length);
@@ -12757,21 +13222,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12757
13222
  const startedEventCancel = editor.commandManager.addEventListener("started", (e) => {
12758
13223
  currentCommand.value = e.name;
12759
13224
  });
12760
- if (localStorage.getItem("toolBarExpand")) {
12761
- toolBarExpand.value = localStorage.getItem("toolBarExpand") === "true";
12762
- }
12763
13225
  onMounted(() => {
12764
- toolBarRef.value.style.display = "none";
12765
- setTimeout(() => {
12766
- toolBarRef.value.style.display = "block";
12767
- if (localStorage.getItem("editorToolPosition")) {
12768
- const { left, top } = JSON.parse(localStorage.getItem("editorToolPosition") ?? "{}");
12769
- setEditorToolPosition(left, top);
12770
- nextTick(() => resizeObserver.observe(elRef.value));
12771
- } else {
12772
- nextTick(() => resizeObserver.observe(elRef.value));
12773
- }
12774
- }, 100);
12775
13226
  defaultComponent.addEventListener("selectLineChange", () => {
12776
13227
  selectLineCount.value = defaultComponent.selectLines.length;
12777
13228
  hasWindowLine.value = defaultComponent.selectLines.some((l) => l.userData.isWindow);
@@ -12799,45 +13250,31 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12799
13250
  onUnmounted(() => {
12800
13251
  domEventRegister.mouseMoveEventProxylock = false;
12801
13252
  startedEventCancel();
12802
- resizeObserver.disconnect();
12803
13253
  });
12804
13254
  return (_ctx, _cache) => {
12805
13255
  return openBlock(), createElementBlock(Fragment, null, [
12806
- createElementVNode("div", {
12807
- ref_key: "elRef",
12808
- ref: elRef,
12809
- class: "editorTool pointer-events-none overflow-hidden absolute left-0 top-0 w-full h-full z-[20] flex flex-row justify-between p-[5px] box-border select-none pointer-events-[all]"
12810
- }, [
12811
- createElementVNode("div", {
12812
- ref_key: "toolBarRef",
12813
- ref: toolBarRef,
12814
- style: normalizeStyle({ left: toolBarPosition.value.left + "px", top: toolBarPosition.value.top + "px" }),
12815
- class: normalizeClass(["overflow-hidden pointer-events-auto w-fit max-w-[260px] transition-[border-radius] text-[#333] absolute z-[11] bg-white select-none", { "rounded-[8px] ": toolBarExpand.value }]),
12816
- onMousedown: _cache[10] || (_cache[10] = (e) => e.stopPropagation())
12817
- }, [
12818
- createElementVNode("div", {
12819
- onMousedown: dragMoveHelper,
12820
- class: normalizeClass([{ "border-b-[#eee] border-b-1": toolBarExpand.value }, "flex flex-row justify-between header text-[14px] font-bold p-[10px 0px]"])
12821
- }, [
12822
- _cache[12] || (_cache[12] = createStaticVNode('<div class="flex flex-row" data-v-492c138f><div class="p-[2px_5px] flex items-center pointer-events-none" data-v-492c138f><svg fill="#aaa" width="20" height="20" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" data-v-492c138f><path d="M341.333333 298.666667a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667z m0 298.666666a85.333333 85.333333 0 1 0 0-170.666666 85.333333 85.333333 0 0 0 0 170.666666z m85.333334 213.333334a85.333333 85.333333 0 1 1-170.666667 0 85.333333 85.333333 0 0 1 170.666667 0z m256-512a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667z m85.333333 213.333333a85.333333 85.333333 0 1 1-170.666667 0 85.333333 85.333333 0 0 1 170.666667 0z m-85.333333 384a85.333333 85.333333 0 1 0 0-170.666667 85.333333 85.333333 0 0 0 0 170.666667z" data-v-492c138f></path></svg></div><h5 class="flex text-nowrap text-[12px] items-center pointer-events-none" data-v-492c138f>绘制工具</h5></div>', 1)),
12823
- createElementVNode("div", {
12824
- onMousedown: _cache[0] || (_cache[0] = (e) => e.stopPropagation()),
12825
- onClick: _cache[1] || (_cache[1] = ($event) => toolBarExpand.value = !toolBarExpand.value),
12826
- class: "cursor-pointer flex items-center p-[0px_5px]"
12827
- }, [
12828
- (openBlock(), createElementBlock("svg", {
12829
- fill: "#666",
12830
- class: normalizeClass([{ "rotate-90": toolBarExpand.value }, "transition-all"]),
12831
- viewBox: "0 0 1024 1024",
12832
- version: "1.1",
12833
- xmlns: "http://www.w3.org/2000/svg",
12834
- width: "12",
12835
- height: "12"
12836
- }, _cache[11] || (_cache[11] = [
12837
- createElementVNode("path", { d: "M315.050667 938.666667a60.757333 60.757333 0 0 0 41.813333-16.298667L750.933333 551.338667a53.418667 53.418667 0 0 0 0-78.677334L356.864 101.632a61.696 61.696 0 0 0-83.541333 0 53.418667 53.418667 0 0 0-0.256 78.677333L625.408 512 273.066667 843.690667a53.418667 53.418667 0 0 0 0 78.677333 60.757333 60.757333 0 0 0 41.984 16.298667z" }, null, -1)
12838
- ]), 2))
12839
- ], 32)
12840
- ], 34),
13256
+ createVNode(_sfc_main$3, {
13257
+ showContent: toolBarExpand.value,
13258
+ "onUpdate:showContent": _cache[8] || (_cache[8] = ($event) => toolBarExpand.value = $event),
13259
+ title: "控制面板",
13260
+ name: "PropertiesPanel",
13261
+ style: { "z-index": "200" },
13262
+ onClickIcon: _cache[9] || (_cache[9] = ($event) => toolBarExpand.value = !toolBarExpand.value)
13263
+ }, {
13264
+ icon: withCtx(() => [
13265
+ (openBlock(), createElementBlock("svg", {
13266
+ fill: "#666",
13267
+ class: normalizeClass([{ "rotate-90": toolBarExpand.value }, "transition-all"]),
13268
+ viewBox: "0 0 1024 1024",
13269
+ version: "1.1",
13270
+ xmlns: "http://www.w3.org/2000/svg",
13271
+ width: "12",
13272
+ height: "12"
13273
+ }, _cache[10] || (_cache[10] = [
13274
+ createElementVNode("path", { d: "M315.050667 938.666667a60.757333 60.757333 0 0 0 41.813333-16.298667L750.933333 551.338667a53.418667 53.418667 0 0 0 0-78.677334L356.864 101.632a61.696 61.696 0 0 0-83.541333 0 53.418667 53.418667 0 0 0-0.256 78.677333L625.408 512 273.066667 843.690667a53.418667 53.418667 0 0 0 0 78.677333 60.757333 60.757333 0 0 0 41.984 16.298667z" }, null, -1)
13275
+ ]), 2))
13276
+ ]),
13277
+ default: withCtx(() => [
12841
13278
  toolBarExpand.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
12842
13279
  createElementVNode("ul", _hoisted_2, [
12843
13280
  (openBlock(), createElementBlock(Fragment, null, renderList(commandList, (item) => {
@@ -12867,8 +13304,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12867
13304
  createElementVNode("div", {
12868
13305
  title: "取消命令(Esc)",
12869
13306
  class: "active:scale-[0.7] transition-all flex items-center justify-center",
12870
- onClick: _cache[2] || (_cache[2] = (e) => (unref(editor).cancelCommand(), e.stopPropagation()))
12871
- }, _cache[13] || (_cache[13] = [
13307
+ onClick: _cache[0] || (_cache[0] = (e) => (unref(editor).cancelCommand(), e.stopPropagation()))
13308
+ }, _cache[11] || (_cache[11] = [
12872
13309
  createElementVNode("svg", {
12873
13310
  fill: "#fff",
12874
13311
  width: "16",
@@ -12886,7 +13323,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12886
13323
  onClick: commandConfirm,
12887
13324
  title: "确认命令(Enter)",
12888
13325
  class: "active:scale-[0.7] transition-all flex items-center justify-center"
12889
- }, _cache[14] || (_cache[14] = [
13326
+ }, _cache[12] || (_cache[12] = [
12890
13327
  createElementVNode("svg", {
12891
13328
  fill: "#fff",
12892
13329
  width: "16",
@@ -12907,13 +13344,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12907
13344
  createVNode(unref(ElCheckbox), {
12908
13345
  size: "small",
12909
13346
  modelValue: dxfVisible.value,
12910
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => dxfVisible.value = $event)
13347
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => dxfVisible.value = $event)
12911
13348
  }, {
12912
- default: withCtx(() => _cache[15] || (_cache[15] = [
13349
+ default: withCtx(() => _cache[13] || (_cache[13] = [
12913
13350
  createTextVNode("Dxf", -1)
12914
13351
  ])),
12915
13352
  _: 1,
12916
- __: [15]
13353
+ __: [13]
12917
13354
  }, 8, ["modelValue"])
12918
13355
  ]),
12919
13356
  _ctx.permission === "admin" ? (openBlock(), createElementBlock("div", _hoisted_11, [
@@ -12923,71 +13360,71 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12923
13360
  type: "success",
12924
13361
  onClick: selectLocalFile
12925
13362
  }, {
12926
- default: withCtx(() => _cache[16] || (_cache[16] = [
13363
+ default: withCtx(() => _cache[14] || (_cache[14] = [
12927
13364
  createTextVNode(" 选择文件 ", -1)
12928
13365
  ])),
12929
13366
  _: 1,
12930
- __: [16]
13367
+ __: [14]
12931
13368
  }),
12932
13369
  createVNode(unref(ElButton), {
12933
13370
  style: { "padding": "5px", "font-size": "10px" },
12934
13371
  size: "small",
12935
13372
  type: "primary",
12936
- onClick: _cache[4] || (_cache[4] = ($event) => unref(dxfSystem).CorrectionDxf.downloadOriginalData("json.json"))
13373
+ onClick: _cache[2] || (_cache[2] = ($event) => unref(dxfSystem).CorrectionDxf.downloadOriginalData("json.json"))
12937
13374
  }, {
12938
- default: withCtx(() => _cache[17] || (_cache[17] = [
13375
+ default: withCtx(() => _cache[15] || (_cache[15] = [
12939
13376
  createTextVNode(" 下载Json ", -1)
12940
13377
  ])),
12941
13378
  _: 1,
12942
- __: [17]
13379
+ __: [15]
12943
13380
  }),
12944
13381
  createVNode(unref(ElButton), {
12945
13382
  style: { "padding": "5px", "font-size": "10px" },
12946
13383
  size: "small",
12947
13384
  type: "primary",
12948
- onClick: _cache[5] || (_cache[5] = ($event) => unref(dxfSystem).CorrectionDxf.downloadDxf("test.dxf"))
13385
+ onClick: _cache[3] || (_cache[3] = ($event) => unref(dxfSystem).CorrectionDxf.downloadDxf("test.dxf"))
12949
13386
  }, {
12950
- default: withCtx(() => _cache[18] || (_cache[18] = [
13387
+ default: withCtx(() => _cache[16] || (_cache[16] = [
12951
13388
  createTextVNode(" 下载DXF ", -1)
12952
13389
  ])),
12953
13390
  _: 1,
12954
- __: [18]
13391
+ __: [16]
12955
13392
  }),
12956
13393
  createVNode(unref(ElButton), {
12957
13394
  style: { "padding": "5px", "font-size": "10px" },
12958
13395
  size: "small",
12959
13396
  type: "primary",
12960
- onClick: _cache[6] || (_cache[6] = ($event) => unref(dxfSystem).CorrectionDxf.downloadDxfImage("dxf.jpg"))
13397
+ onClick: _cache[4] || (_cache[4] = ($event) => unref(dxfSystem).CorrectionDxf.downloadDxfImage("dxf.jpg"))
12961
13398
  }, {
12962
- default: withCtx(() => _cache[19] || (_cache[19] = [
13399
+ default: withCtx(() => _cache[17] || (_cache[17] = [
12963
13400
  createTextVNode(" 下载JPG ", -1)
12964
13401
  ])),
12965
13402
  _: 1,
12966
- __: [19]
13403
+ __: [17]
12967
13404
  }),
12968
13405
  createVNode(unref(ElButton), {
12969
13406
  style: { "padding": "5px", "font-size": "10px" },
12970
13407
  size: "small",
12971
13408
  type: "primary",
12972
- onClick: _cache[7] || (_cache[7] = ($event) => unref(whiteModel).downloadGltf("test.glb", true))
13409
+ onClick: _cache[5] || (_cache[5] = ($event) => unref(whiteModel).downloadGltf("test.glb", true))
12973
13410
  }, {
12974
- default: withCtx(() => _cache[20] || (_cache[20] = [
13411
+ default: withCtx(() => _cache[18] || (_cache[18] = [
12975
13412
  createTextVNode(" 下载白膜 ", -1)
12976
13413
  ])),
12977
13414
  _: 1,
12978
- __: [20]
13415
+ __: [18]
12979
13416
  }),
12980
13417
  createVNode(unref(ElButton), {
12981
13418
  style: { "padding": "5px", "font-size": "10px" },
12982
13419
  size: "small",
12983
13420
  type: "primary",
12984
- onClick: _cache[8] || (_cache[8] = ($event) => unref(threeVJia).download())
13421
+ onClick: _cache[6] || (_cache[6] = ($event) => unref(threeVJia).download())
12985
13422
  }, {
12986
- default: withCtx(() => _cache[21] || (_cache[21] = [
13423
+ default: withCtx(() => _cache[19] || (_cache[19] = [
12987
13424
  createTextVNode(" 下载三维家JSON ", -1)
12988
13425
  ])),
12989
13426
  _: 1,
12990
- __: [21]
13427
+ __: [19]
12991
13428
  }),
12992
13429
  createVNode(unref(ElDropdown), {
12993
13430
  class: "ml-[5px]",
@@ -12996,7 +13433,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12996
13433
  dropdown: withCtx(() => [
12997
13434
  createVNode(unref(ElInput), {
12998
13435
  modelValue: z.value,
12999
- "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => z.value = $event),
13436
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => z.value = $event),
13000
13437
  placeholder: "z",
13001
13438
  type: "number"
13002
13439
  }, null, 8, ["modelValue"])
@@ -13007,11 +13444,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13007
13444
  size: "small",
13008
13445
  type: "primary"
13009
13446
  }, {
13010
- default: withCtx(() => _cache[22] || (_cache[22] = [
13447
+ default: withCtx(() => _cache[20] || (_cache[20] = [
13011
13448
  createTextVNode(" z值调整 ", -1)
13012
13449
  ])),
13013
13450
  _: 1,
13014
- __: [22]
13451
+ __: [20]
13015
13452
  })
13016
13453
  ]),
13017
13454
  _: 1
@@ -13046,8 +13483,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13046
13483
  _: 1
13047
13484
  })
13048
13485
  ])) : createCommentVNode("", true)
13049
- ], 38)
13050
- ], 512),
13486
+ ]),
13487
+ _: 1
13488
+ }, 8, ["showContent"]),
13051
13489
  promptMessage.value ? (openBlock(), createElementBlock("div", {
13052
13490
  key: 0,
13053
13491
  innerHTML: promptMessage.value,
@@ -13057,14 +13495,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13057
13495
  };
13058
13496
  }
13059
13497
  });
13060
- const _export_sfc = (sfc, props) => {
13061
- const target = sfc.__vccOpts || sfc;
13062
- for (const [key, val] of props) {
13063
- target[key] = val;
13064
- }
13065
- return target;
13066
- };
13067
- const EditorTool = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-492c138f"]]);
13498
+ const EditorTool = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-09ada29e"]]);
13068
13499
  class Editor extends Component {
13069
13500
  static name = "Editor";
13070
13501
  container = new THREE.Group();
@@ -13250,6 +13681,7 @@ function Editor_(dxfSystem, option = {}) {
13250
13681
  dxfSystem.addComponent(new ViewAngle());
13251
13682
  dxfSystem.addComponent(new VerticalReferenceLine());
13252
13683
  dxfSystem.addComponent(new ClippingLine());
13684
+ dxfSystem.addComponent(new PropertiesPanel());
13253
13685
  }
13254
13686
  const EditorPlugin = Object.assign(Editor_, {
13255
13687
  create(option = {}) {