@mlightcad/cad-viewer 1.2.0 → 1.2.3

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.
package/README.md CHANGED
@@ -188,6 +188,7 @@ The `MlCadViewer` component accepts the following props:
188
188
  | `localFile` | `File` | `undefined` | Optional local File object to automatically load a CAD file when the component mounts. The file will be read and opened automatically. **Note**: This takes precedence over the `url` prop if both are provided. |
189
189
  | `background` | `number` | `undefined` | Background color as 24-bit hexadecimal RGB (e.g., `0x000000` for black, `0x808080` for gray). |
190
190
  | `baseUrl` | `string` | `undefined` | Base URL for loading fonts, templates, and example files. This URL is used by the CAD viewer to load resources like fonts and drawing templates. **Note**: If not provided, uses the default URL. |
191
+ | `useMainThreadDraw` | `boolean` | `false` | Optional flag whether to use main thread or webwork to render drawing. The true value means using main thread to render drawing. This approach take less memory and take longer time to show rendering results. The false value means using web worker to render drawing. This approach take more memory and take shorter time to show rendering results. |
191
192
 
192
193
  ### UI Settings
193
194
 
package/dist/app/app.d.ts CHANGED
@@ -1,2 +1,3 @@
1
- export declare const initializeCadViewer: (canvas: HTMLCanvasElement) => void;
1
+ import { AcApDocManagerOptions } from '@mlightcad/cad-simple-viewer';
2
+ export declare const initializeCadViewer: (options?: AcApDocManagerOptions) => void;
2
3
  //# sourceMappingURL=app.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/app/app.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAA;AACpC,OAAO,oBAAoB,CAAA;AAC3B,OAAO,qBAAqB,CAAA;AAM5B,eAAO,MAAM,mBAAmB,GAAI,QAAQ,iBAAiB,SAK5D,CAAA"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/app/app.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAA;AACpC,OAAO,oBAAoB,CAAA;AAC3B,OAAO,qBAAqB,CAAA;AAE5B,OAAO,EAEL,qBAAqB,EAEtB,MAAM,8BAA8B,CAAA;AAIrC,eAAO,MAAM,mBAAmB,GAAI,UAAS,qBAA0B,SAKtE,CAAA"}
@@ -10,6 +10,12 @@ interface Props {
10
10
  background?: number;
11
11
  /** Base URL for loading fonts, templates, and example files (e.g., 'https://example.com/cad-data/') */
12
12
  baseUrl?: string;
13
+ /**
14
+ * The flag whether to use main thread or webwork to render drawing.
15
+ * - true: use main thread
16
+ * - false: use web worker
17
+ */
18
+ useMainThreadDraw?: boolean;
13
19
  }
14
20
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
15
21
  locale: string;
@@ -17,18 +23,21 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
17
23
  localFile: undefined;
18
24
  background: undefined;
19
25
  baseUrl: undefined;
26
+ useMainThreadDraw: boolean;
20
27
  }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
21
28
  locale: string;
22
29
  url: undefined;
23
30
  localFile: undefined;
24
31
  background: undefined;
25
32
  baseUrl: undefined;
33
+ useMainThreadDraw: boolean;
26
34
  }>>> & Readonly<{}>, {
27
35
  locale: LocaleProp;
28
36
  url: string;
29
37
  background: number;
30
38
  localFile: File;
31
39
  baseUrl: string;
40
+ useMainThreadDraw: boolean;
32
41
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
33
42
  export default _default;
34
43
  type __VLS_WithDefaults<P, D> = {
@@ -1 +1 @@
1
- {"version":3,"file":"MlCadViewer.vue.d.ts","sourceRoot":"","sources":["../../src/component/MlCadViewer.vue"],"names":[],"mappings":"AA0CA;AAohBA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AActC,UAAU,KAAK;IACb,0EAA0E;IAC1E,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,uEAAuE;IACvE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,qFAAqF;IACrF,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,uGAAuG;IACvG,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;;;;;;;;;;;;;;YATU,UAAU;SAEb,MAAM;gBAIC,MAAM;eAFP,IAAI;aAIN,MAAM;;AA6clB,wBAMG;AAEH,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAC9B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAC7C,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KAAC,CAAC,GAC5C,CAAC,CAAC,CAAC,CAAC;CACP,CAAC;AACF,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAC9D;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC;AACF,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"MlCadViewer.vue.d.ts","sourceRoot":"","sources":["../../src/component/MlCadViewer.vue"],"names":[],"mappings":"AA0CA;AA2gBA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AActC,UAAU,KAAK;IACb,0EAA0E;IAC1E,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,uEAAuE;IACvE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,qFAAqF;IACrF,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,uGAAuG;IACvG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACF,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC7B;;;;;;;;;;;;;;;;YAfU,UAAU;SAEb,MAAM;gBAIC,MAAM;eAFP,IAAI;aAIN,MAAM;uBAMK,OAAO;;AA+b9B,wBAMG;AAEH,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAC9B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAC7C,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KAAC,CAAC,GAC5C,CAAC,CAAC,CAAC,CAAC;CACP,CAAC;AACF,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAC9D;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC;AACF,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { Component } from 'vue';
1
2
  declare function __VLS_template(): {
2
3
  attrs: Partial<{}>;
3
4
  slots: {
@@ -8,58 +9,54 @@ declare function __VLS_template(): {
8
9
  };
9
10
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
11
  declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
11
- title: {
12
- type: StringConstructor;
12
+ modelValue: {
13
+ type: BooleanConstructor;
13
14
  required: true;
14
15
  };
15
- name: {
16
+ title: {
16
17
  type: StringConstructor;
17
18
  required: true;
18
19
  };
19
- modelValue: {
20
- type: BooleanConstructor;
21
- required: true;
22
- };
23
20
  width: {
24
21
  type: (StringConstructor | NumberConstructor)[];
25
- default: string;
22
+ default: number;
26
23
  };
27
- props: {
28
- type: ObjectConstructor;
29
- default: () => {};
24
+ icon: {
25
+ type: () => Component | null;
26
+ default: null;
30
27
  };
31
28
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
32
29
  "update:modelValue": (...args: any[]) => void;
33
30
  ok: (...args: any[]) => void;
34
31
  cancel: (...args: any[]) => void;
32
+ open: (...args: any[]) => void;
33
+ opened: (...args: any[]) => void;
35
34
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
36
- title: {
37
- type: StringConstructor;
35
+ modelValue: {
36
+ type: BooleanConstructor;
38
37
  required: true;
39
38
  };
40
- name: {
39
+ title: {
41
40
  type: StringConstructor;
42
41
  required: true;
43
42
  };
44
- modelValue: {
45
- type: BooleanConstructor;
46
- required: true;
47
- };
48
43
  width: {
49
44
  type: (StringConstructor | NumberConstructor)[];
50
- default: string;
45
+ default: number;
51
46
  };
52
- props: {
53
- type: ObjectConstructor;
54
- default: () => {};
47
+ icon: {
48
+ type: () => Component | null;
49
+ default: null;
55
50
  };
56
51
  }>> & Readonly<{
57
52
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
58
53
  onOk?: ((...args: any[]) => any) | undefined;
59
54
  onCancel?: ((...args: any[]) => any) | undefined;
55
+ onOpen?: ((...args: any[]) => any) | undefined;
56
+ onOpened?: ((...args: any[]) => any) | undefined;
60
57
  }>, {
61
- props: Record<string, any>;
62
58
  width: string | number;
59
+ icon: Component | null;
63
60
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
64
61
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
65
62
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"MlBaseDialog.vue.d.ts","sourceRoot":"","sources":["../../../src/component/common/MlBaseDialog.vue"],"names":[],"mappings":"AAoJA,iBAAS,cAAc;WAiHT,OAAO,IAA6B;;yBAVpB,GAAG;;;;EAehC;AAmCD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EA4BnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAEpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"MlBaseDialog.vue.d.ts","sourceRoot":"","sources":["../../../src/component/common/MlBaseDialog.vue"],"names":[],"mappings":"AAkDA;AAyOA,OAAO,EAAE,KAAK,SAAS,EAAmB,MAAM,KAAK,CAAA;AAsDrD,iBAAS,cAAc;WAmLT,OAAO,IAA6B;;yBAVpB,GAAG;;;;EAehC;AAqBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;cAUK,MAAM,SAAS,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;cAAtB,MAAM,SAAS,GAAG,IAAI;;;;;;;;;;;;4EAE9C,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAEpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MlReplacementDlg.vue.d.ts","sourceRoot":"","sources":["../../../src/component/dialog/MlReplacementDlg.vue"],"names":[],"mappings":"AA+FA;;AAmiBA,wBAKG"}
1
+ {"version":3,"file":"MlReplacementDlg.vue.d.ts","sourceRoot":"","sources":["../../../src/component/dialog/MlReplacementDlg.vue"],"names":[],"mappings":"AAgGA;;AA6iBA,wBAKG"}
@@ -1 +1 @@
1
- {"version":3,"file":"MlEntityInfo.vue.d.ts","sourceRoot":"","sources":["../../../src/component/layout/MlEntityInfo.vue"],"names":[],"mappings":"AAmCA;;AAgeA,wBAKG"}
1
+ {"version":3,"file":"MlEntityInfo.vue.d.ts","sourceRoot":"","sources":["../../../src/component/layout/MlEntityInfo.vue"],"names":[],"mappings":"AAmCA;;AAogBA,wBAKG"}
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";body{margin:0;display:flex}body,html{height:100%}.el-dialog{padding-bottom:8px;padding-top:8px}.el-dialog__headerbtn{height:36px;width:36px}html.dark{color-scheme:dark;--el-color-primary: #409eff;--el-color-primary-light-3: rgb(51, 117, 185);--el-color-primary-light-5: rgb(42, 89, 138);--el-color-primary-light-7: rgb(33, 61, 91);--el-color-primary-light-8: rgb(29, 48, 67);--el-color-primary-light-9: rgb(24, 34, 43);--el-color-primary-dark-2: rgb(102, 177, 255);--el-color-success: #67c23a;--el-color-success-light-3: rgb(78, 142, 47);--el-color-success-light-5: rgb(62, 107, 39);--el-color-success-light-7: rgb(45, 72, 31);--el-color-success-light-8: rgb(37, 55, 28);--el-color-success-light-9: rgb(28, 37, 24);--el-color-success-dark-2: rgb(133, 206, 97);--el-color-warning: #e6a23c;--el-color-warning-light-3: rgb(167, 119, 48);--el-color-warning-light-5: rgb(125, 91, 40);--el-color-warning-light-7: rgb(83, 63, 32);--el-color-warning-light-8: rgb(62, 48, 28);--el-color-warning-light-9: rgb(41, 34, 24);--el-color-warning-dark-2: rgb(235, 181, 99);--el-color-danger: #f56c6c;--el-color-danger-light-3: rgb(178, 82, 82);--el-color-danger-light-5: rgb(133, 64, 64);--el-color-danger-light-7: rgb(88, 46, 46);--el-color-danger-light-8: rgb(65, 38, 38);--el-color-danger-light-9: rgb(42, 29, 29);--el-color-danger-dark-2: rgb(247, 137, 137);--el-color-error: #f56c6c;--el-color-error-light-3: rgb(178, 82, 82);--el-color-error-light-5: rgb(133, 64, 64);--el-color-error-light-7: rgb(88, 46, 46);--el-color-error-light-8: rgb(65, 38, 38);--el-color-error-light-9: rgb(42, 29, 29);--el-color-error-dark-2: rgb(247, 137, 137);--el-color-info: #909399;--el-color-info-light-3: rgb(107, 109, 113);--el-color-info-light-5: rgb(82, 84, 87);--el-color-info-light-7: rgb(57, 58, 60);--el-color-info-light-8: rgb(45, 45, 47);--el-color-info-light-9: rgb(32, 33, 33);--el-color-info-dark-2: rgb(166, 169, 173);--el-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .36), 0px 8px 20px rgba(0, 0, 0, .72);--el-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .72);--el-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .72);--el-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .72), 0px 12px 32px #000000, 0px 8px 16px -8px #000000;--el-bg-color-page: #0a0a0a;--el-bg-color: #141414;--el-bg-color-overlay: #1d1e1f;--el-text-color-primary: #E5EAF3;--el-text-color-regular: #CFD3DC;--el-text-color-secondary: #A3A6AD;--el-text-color-placeholder: #8D9095;--el-text-color-disabled: #6C6E72;--el-border-color-darker: #636466;--el-border-color-dark: #58585B;--el-border-color: #4C4D4F;--el-border-color-light: #414243;--el-border-color-lighter: #363637;--el-border-color-extra-light: #2B2B2C;--el-fill-color-darker: #424243;--el-fill-color-dark: #39393A;--el-fill-color: #303030;--el-fill-color-light: #262727;--el-fill-color-lighter: #1D1D1D;--el-fill-color-extra-light: #191919;--el-fill-color-blank: transparent;--el-mask-color: rgba(0, 0, 0, .8);--el-mask-color-extra-light: rgba(0, 0, 0, .3)}html.dark .el-button{--el-button-disabled-text-color: rgba(255, 255, 255, .5)}html.dark .el-card{--el-card-bg-color: var(--el-bg-color-overlay)}html.dark .el-empty{--el-empty-fill-color-0: var(--el-color-black);--el-empty-fill-color-1: #4b4b52;--el-empty-fill-color-2: #36383d;--el-empty-fill-color-3: #1e1e20;--el-empty-fill-color-4: #262629;--el-empty-fill-color-5: #202124;--el-empty-fill-color-6: #212224;--el-empty-fill-color-7: #1b1c1f;--el-empty-fill-color-8: #1c1d1f;--el-empty-fill-color-9: #18181a}:root{--ml-status-bar-height: 30px}body{font-family:Inter,system-ui,Avenir,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}a{color:var(--el-color-primary)}code{border-radius:2px;padding:2px 4px;background-color:var(--el-color-primary-light-9);color:var(--elcolor-primary)}.ml-dialog-header-bottom-line[data-v-8df470d5]{margin-left:-16px;margin-top:6px;margin-bottom:6px;width:calc(100% + 64px)}.ml-dialog-footer-top-line[data-v-8df470d5]{margin-left:-16px;margin-top:6px;margin-bottom:6px;width:calc(100% + 32px)}.ml-toggle-button[data-v-48d6b055]{border:none;padding:0;cursor:pointer;width:var(--a97b120a);height:var(--a97b120a)}.ml-layer-list{width:100%;font-size:small;min-width:100%}.ml-layer-list .el-table__header,.ml-layer-list .el-table__body{border-bottom:1px solid var(--el-border-color)}.ml-layer-list-cell{display:flex;align-items:center;justify-content:center}.ml-layer-list-color{width:20px;height:20px}.ml-layer-manager[data-v-d49ba2cb]{left:2px;top:55px;width:400px;height:500px}.ml-layer-list-wrapper[data-v-d49ba2cb]{overflow:auto;width:100%;display:flex;align-items:flex-start;justify-content:flex-start}.autocomplete-container[data-v-082845cb]{position:fixed;left:50%;bottom:40px;transform:translate(-50%);width:80%;max-width:600px;z-index:1000}.autocomplete-input[data-v-082845cb]{width:100%}.ml-entity-info[data-v-6a67bbe7]{position:fixed;width:180px;left:var(--2d5cc4ca);top:var(--11fa7d7e);margin:0}.ml-entity-info-title[data-v-6a67bbe7]{font-weight:700}.ml-entity-info-text[data-v-6a67bbe7]{margin-bottom:6px;margin-top:6px}.ml-language-selector[data-v-1b9f7bc0]{position:fixed;right:40px;top:20px;z-index:1000}.ml-main-menu-container[data-v-8c0c738e]{position:fixed;left:40px;top:20px;z-index:1000}.ml-main-menu-icon[data-v-8c0c738e],.ml-main-menu-icon[data-v-8c0c738e]:hover{outline:none;border:none}.ml-vertical-toolbar-container{position:fixed;right:30px;top:50%;transform:translateY(-50%)}.ml-notification-item[data-v-e1dde915]{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--el-border-color-lighter);transition:background-color .2s ease}.ml-notification-item[data-v-e1dde915]:hover{background-color:var(--el-fill-color-light)}.ml-notification-item[data-v-e1dde915]:last-child{border-bottom:none}.ml-notification-item-icon[data-v-e1dde915]{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;margin-top:2px}.ml-notification-item--info .ml-notification-item-icon[data-v-e1dde915]{color:var(--el-color-info)}.ml-notification-item--warning .ml-notification-item-icon[data-v-e1dde915]{color:var(--el-color-warning)}.ml-notification-item--error .ml-notification-item-icon[data-v-e1dde915]{color:var(--el-color-danger)}.ml-notification-item--success .ml-notification-item-icon[data-v-e1dde915]{color:var(--el-color-success)}.ml-notification-item-content[data-v-e1dde915]{flex:1;min-width:0}.ml-notification-item-header[data-v-e1dde915]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:4px}.ml-notification-item-title[data-v-e1dde915]{margin:0;font-size:14px;font-weight:600;color:var(--el-text-color-primary);line-height:1.4;flex:1}.ml-notification-item-actions[data-v-e1dde915]{display:flex;align-items:center;gap:8px;flex-shrink:0}.ml-notification-item-message[data-v-e1dde915]{margin:0 0 8px;font-size:13px;color:var(--el-text-color-regular);line-height:1.4;word-wrap:break-word}.ml-notification-item-footer[data-v-e1dde915]{display:flex;align-items:center;justify-content:flex-end}.ml-notification-item-time[data-v-e1dde915]{font-size:12px;color:var(--el-text-color-secondary)}.dark .ml-notification-item[data-v-e1dde915]:hover{background-color:var(--el-fill-color-darker)}.ml-notification-center[data-v-56d037f5]{position:fixed;bottom:calc(var(--ml-status-bar-height) + 20px);right:0;width:400px;max-width:100vw;box-sizing:border-box;max-height:500px;background:var(--el-bg-color);border:1px solid var(--el-border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:2000;display:flex;flex-direction:column;overflow:hidden}.ml-notification-center-header[data-v-56d037f5]{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;height:30px;border-bottom:1px solid var(--el-border-color);background:var(--el-fill-color-light);position:relative}.ml-notification-center-title[data-v-56d037f5]{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--el-text-color-primary)}.ml-notification-center-icon[data-v-56d037f5]{color:var(--el-color-primary)}.ml-notification-center-actions[data-v-56d037f5]{display:flex;align-items:center;gap:8px;margin-right:36px}.ml-notification-center-close[data-v-56d037f5]{position:absolute;top:50%;right:8px;transform:translateY(-50%);padding:4px;min-width:auto;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.ml-notification-center-clear[data-v-56d037f5]{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center}.ml-notification-center-clear[data-v-56d037f5] .el-icon{font-size:16px}.ml-notification-center-content[data-v-56d037f5]{flex:1;overflow-y:auto;max-height:400px}.ml-notification-center-empty[data-v-56d037f5]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--el-text-color-secondary)}.ml-notification-center-empty-icon[data-v-56d037f5]{font-size:48px;margin-bottom:16px;opacity:.5}.ml-notification-center-empty p[data-v-56d037f5]{margin:0;font-size:14px}.ml-notification-list[data-v-56d037f5]{padding:8px 0}.dark .ml-notification-center[data-v-56d037f5]{background:var(--el-bg-color-page);border-color:var(--el-border-color)}.dark .ml-notification-center-header[data-v-56d037f5]{background:var(--el-fill-color-darker)}.ml-notification-button[data-v-48c740b7]{border:none;padding:0;cursor:pointer;width:30px;position:relative}.ml-notification-badge[data-v-48c740b7]{position:absolute;top:-2px;right:-2px}.ml-notification-badge[data-v-48c740b7] .el-badge__content{font-size:10px;min-width:16px;height:16px;line-height:16px;padding:0 4px}.ml-point-style-button[data-v-29692d7d]{border:none;padding:0;cursor:pointer;width:30px}.ml-progress[data-v-35ad24b9]{width:100px}.ml-setting-button[data-v-666f03a3],.ml-warning-button[data-v-3411a3ec]{border:none;padding:0;cursor:pointer;width:30px}.ml-status-bar[data-v-24578503]{box-sizing:border-box}.ml-status-bar-left-button-group[data-v-24578503]{border:none;box-sizing:border-box;height:var(--ml-status-bar-height)}.ml-status-bar-layout-button[data-v-24578503]{box-sizing:border-box}.ml-status-bar-right-button-group[data-v-24578503]{border:none;padding:0;height:var(--ml-status-bar-height)}.ml-status-bar-current-pos[data-v-24578503]{border:none;height:100%}.ml-cad-canvas{position:absolute;top:0;left:0;height:calc(100vh - var(--ml-status-bar-height));width:100%;display:block;outline:none;z-index:1;pointer-events:auto}.ml-cad-viewer-container{position:relative;width:100vw;z-index:2;pointer-events:auto}.ml-file-name{position:absolute;top:0;left:50%;transform:translate(-50%);text-align:center;width:100%;margin-top:20px;pointer-events:none;z-index:1}
1
+ @charset "UTF-8";body{margin:0;display:flex}body,html{height:100%}.el-dialog{padding-bottom:8px;padding-top:8px}.el-dialog__headerbtn{height:36px;width:36px}html.dark{color-scheme:dark;--el-color-primary: #409eff;--el-color-primary-light-3: rgb(51, 117, 185);--el-color-primary-light-5: rgb(42, 89, 138);--el-color-primary-light-7: rgb(33, 61, 91);--el-color-primary-light-8: rgb(29, 48, 67);--el-color-primary-light-9: rgb(24, 34, 43);--el-color-primary-dark-2: rgb(102, 177, 255);--el-color-success: #67c23a;--el-color-success-light-3: rgb(78, 142, 47);--el-color-success-light-5: rgb(62, 107, 39);--el-color-success-light-7: rgb(45, 72, 31);--el-color-success-light-8: rgb(37, 55, 28);--el-color-success-light-9: rgb(28, 37, 24);--el-color-success-dark-2: rgb(133, 206, 97);--el-color-warning: #e6a23c;--el-color-warning-light-3: rgb(167, 119, 48);--el-color-warning-light-5: rgb(125, 91, 40);--el-color-warning-light-7: rgb(83, 63, 32);--el-color-warning-light-8: rgb(62, 48, 28);--el-color-warning-light-9: rgb(41, 34, 24);--el-color-warning-dark-2: rgb(235, 181, 99);--el-color-danger: #f56c6c;--el-color-danger-light-3: rgb(178, 82, 82);--el-color-danger-light-5: rgb(133, 64, 64);--el-color-danger-light-7: rgb(88, 46, 46);--el-color-danger-light-8: rgb(65, 38, 38);--el-color-danger-light-9: rgb(42, 29, 29);--el-color-danger-dark-2: rgb(247, 137, 137);--el-color-error: #f56c6c;--el-color-error-light-3: rgb(178, 82, 82);--el-color-error-light-5: rgb(133, 64, 64);--el-color-error-light-7: rgb(88, 46, 46);--el-color-error-light-8: rgb(65, 38, 38);--el-color-error-light-9: rgb(42, 29, 29);--el-color-error-dark-2: rgb(247, 137, 137);--el-color-info: #909399;--el-color-info-light-3: rgb(107, 109, 113);--el-color-info-light-5: rgb(82, 84, 87);--el-color-info-light-7: rgb(57, 58, 60);--el-color-info-light-8: rgb(45, 45, 47);--el-color-info-light-9: rgb(32, 33, 33);--el-color-info-dark-2: rgb(166, 169, 173);--el-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .36), 0px 8px 20px rgba(0, 0, 0, .72);--el-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .72);--el-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .72);--el-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .72), 0px 12px 32px #000000, 0px 8px 16px -8px #000000;--el-bg-color-page: #0a0a0a;--el-bg-color: #141414;--el-bg-color-overlay: #1d1e1f;--el-text-color-primary: #E5EAF3;--el-text-color-regular: #CFD3DC;--el-text-color-secondary: #A3A6AD;--el-text-color-placeholder: #8D9095;--el-text-color-disabled: #6C6E72;--el-border-color-darker: #636466;--el-border-color-dark: #58585B;--el-border-color: #4C4D4F;--el-border-color-light: #414243;--el-border-color-lighter: #363637;--el-border-color-extra-light: #2B2B2C;--el-fill-color-darker: #424243;--el-fill-color-dark: #39393A;--el-fill-color: #303030;--el-fill-color-light: #262727;--el-fill-color-lighter: #1D1D1D;--el-fill-color-extra-light: #191919;--el-fill-color-blank: transparent;--el-mask-color: rgba(0, 0, 0, .8);--el-mask-color-extra-light: rgba(0, 0, 0, .3)}html.dark .el-button{--el-button-disabled-text-color: rgba(255, 255, 255, .5)}html.dark .el-card{--el-card-bg-color: var(--el-bg-color-overlay)}html.dark .el-empty{--el-empty-fill-color-0: var(--el-color-black);--el-empty-fill-color-1: #4b4b52;--el-empty-fill-color-2: #36383d;--el-empty-fill-color-3: #1e1e20;--el-empty-fill-color-4: #262629;--el-empty-fill-color-5: #202124;--el-empty-fill-color-6: #212224;--el-empty-fill-color-7: #1b1c1f;--el-empty-fill-color-8: #1c1d1f;--el-empty-fill-color-9: #18181a}:root{--ml-status-bar-height: 30px}body{font-family:Inter,system-ui,Avenir,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}a{color:var(--el-color-primary)}code{border-radius:2px;padding:2px 4px;background-color:var(--el-color-primary-light-9);color:var(--elcolor-primary)}.ml-base-dialog-fade-enter-active[data-v-cc27c9ec],.ml-base-dialog-fade-leave-active[data-v-cc27c9ec]{transition:opacity .25s ease,transform .25s ease}.ml-base-dialog-fade-enter-from[data-v-cc27c9ec],.ml-base-dialog-fade-leave-to[data-v-cc27c9ec]{opacity:0;transform:scale(.95)}.ml-base-dialog[data-v-cc27c9ec]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2100;display:flex;align-items:center;justify-content:center}.ml-base-dialog-overlay[data-v-cc27c9ec]{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0006}.ml-base-dialog-container[data-v-cc27c9ec]{position:relative;z-index:1;background:var(--el-bg-color);border:1px solid var(--el-border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.ml-base-dialog-header[data-v-cc27c9ec]{display:flex;align-items:center;justify-content:space-between;padding:5px;height:30px;border-bottom:1px solid var(--el-border-color);background:var(--el-fill-color-light);position:relative}.ml-base-dialog-title[data-v-cc27c9ec]{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--el-text-color-primary)}.ml-base-dialog-icon-wrapper[data-v-cc27c9ec]{display:flex;align-items:center;justify-content:center;width:16px;height:16px}.ml-base-dialog-icon[data-v-cc27c9ec]{width:20px;height:20px;color:var(--el-color-primary)}.ml-base-dialog-actions[data-v-cc27c9ec]{display:flex;align-items:center}.ml-base-dialog-close[data-v-cc27c9ec]{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:28px;height:28px;display:flex;align-items:center;justify-content:center}.ml-base-dialog-body[data-v-cc27c9ec]{padding:16px;overflow-y:auto;flex:1}.ml-base-dialog-footer[data-v-cc27c9ec]{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--el-border-color);background:var(--el-bg-color);padding:8px 12px}.dark .ml-base-dialog-container[data-v-cc27c9ec]{background:var(--el-bg-color-page)}.dark .ml-base-dialog-header[data-v-cc27c9ec]{background:var(--el-fill-color-darker)}.ml-toggle-button[data-v-48d6b055]{border:none;padding:0;cursor:pointer;width:var(--a97b120a);height:var(--a97b120a)}.ml-layer-list{width:100%;font-size:small;min-width:100%}.ml-layer-list .el-table__header,.ml-layer-list .el-table__body{border-bottom:1px solid var(--el-border-color)}.ml-layer-list-cell{display:flex;align-items:center;justify-content:center}.ml-layer-list-color{width:20px;height:20px}.ml-layer-manager[data-v-d49ba2cb]{left:2px;top:55px;width:400px;height:500px}.ml-layer-list-wrapper[data-v-d49ba2cb]{overflow:auto;width:100%;display:flex;align-items:flex-start;justify-content:flex-start}.autocomplete-container[data-v-082845cb]{position:fixed;left:50%;bottom:40px;transform:translate(-50%);width:80%;max-width:600px;z-index:1000}.autocomplete-input[data-v-082845cb]{width:100%}.ml-entity-info[data-v-f18b63a4]{position:fixed;left:var(--b04b3b3c);top:var(--477ac79a);width:180px;margin:0;transition:none!important}.ml-entity-info-title[data-v-f18b63a4]{font-weight:700}.ml-entity-info-text[data-v-f18b63a4]{margin-bottom:6px;margin-top:6px}.ml-language-selector[data-v-1b9f7bc0]{position:fixed;right:40px;top:20px;z-index:1000}.ml-main-menu-container[data-v-8c0c738e]{position:fixed;left:40px;top:20px;z-index:1000}.ml-main-menu-icon[data-v-8c0c738e],.ml-main-menu-icon[data-v-8c0c738e]:hover{outline:none;border:none}.ml-vertical-toolbar-container{position:fixed;right:30px;top:50%;transform:translateY(-50%)}.ml-notification-item[data-v-e1dde915]{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--el-border-color-lighter);transition:background-color .2s ease}.ml-notification-item[data-v-e1dde915]:hover{background-color:var(--el-fill-color-light)}.ml-notification-item[data-v-e1dde915]:last-child{border-bottom:none}.ml-notification-item-icon[data-v-e1dde915]{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;margin-top:2px}.ml-notification-item--info .ml-notification-item-icon[data-v-e1dde915]{color:var(--el-color-info)}.ml-notification-item--warning .ml-notification-item-icon[data-v-e1dde915]{color:var(--el-color-warning)}.ml-notification-item--error .ml-notification-item-icon[data-v-e1dde915]{color:var(--el-color-danger)}.ml-notification-item--success .ml-notification-item-icon[data-v-e1dde915]{color:var(--el-color-success)}.ml-notification-item-content[data-v-e1dde915]{flex:1;min-width:0}.ml-notification-item-header[data-v-e1dde915]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:4px}.ml-notification-item-title[data-v-e1dde915]{margin:0;font-size:14px;font-weight:600;color:var(--el-text-color-primary);line-height:1.4;flex:1}.ml-notification-item-actions[data-v-e1dde915]{display:flex;align-items:center;gap:8px;flex-shrink:0}.ml-notification-item-message[data-v-e1dde915]{margin:0 0 8px;font-size:13px;color:var(--el-text-color-regular);line-height:1.4;word-wrap:break-word}.ml-notification-item-footer[data-v-e1dde915]{display:flex;align-items:center;justify-content:flex-end}.ml-notification-item-time[data-v-e1dde915]{font-size:12px;color:var(--el-text-color-secondary)}.dark .ml-notification-item[data-v-e1dde915]:hover{background-color:var(--el-fill-color-darker)}.ml-notification-center[data-v-bdd67bed]{position:fixed;bottom:calc(var(--ml-status-bar-height) + 20px);right:0;width:400px;max-width:100vw;box-sizing:border-box;max-height:500px;background:var(--el-bg-color);border:1px solid var(--el-border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:2000;display:flex;flex-direction:column;overflow:hidden}.ml-notification-center-header[data-v-bdd67bed]{display:flex;align-items:center;justify-content:space-between;padding:5px;height:30px;border-bottom:1px solid var(--el-border-color);background:var(--el-fill-color-light);position:relative}.ml-notification-center-title[data-v-bdd67bed]{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--el-text-color-primary)}.ml-notification-center-icon[data-v-bdd67bed]{color:var(--el-color-primary)}.ml-notification-center-actions[data-v-bdd67bed]{display:flex;align-items:center;gap:8px;margin-right:36px}.ml-notification-center-close[data-v-bdd67bed]{position:absolute;top:50%;right:8px;transform:translateY(-50%);padding:4px;min-width:auto;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.ml-notification-center-clear[data-v-bdd67bed]{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center}.ml-notification-center-clear[data-v-bdd67bed] .el-icon{font-size:16px}.ml-notification-center-content[data-v-bdd67bed]{flex:1;overflow-y:auto;max-height:400px}.ml-notification-center-empty[data-v-bdd67bed]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--el-text-color-secondary)}.ml-notification-center-empty-icon[data-v-bdd67bed]{font-size:48px;margin-bottom:16px;opacity:.5}.ml-notification-center-empty p[data-v-bdd67bed]{margin:0;font-size:14px}.ml-notification-list[data-v-bdd67bed]{padding:8px 0}.dark .ml-notification-center[data-v-bdd67bed]{background:var(--el-bg-color-page);border-color:var(--el-border-color)}.dark .ml-notification-center-header[data-v-bdd67bed]{background:var(--el-fill-color-darker)}.ml-notification-button[data-v-48c740b7]{border:none;padding:0;cursor:pointer;width:30px;position:relative}.ml-notification-badge[data-v-48c740b7]{position:absolute;top:-2px;right:-2px}.ml-notification-badge[data-v-48c740b7] .el-badge__content{font-size:10px;min-width:16px;height:16px;line-height:16px;padding:0 4px}.ml-point-style-button[data-v-29692d7d]{border:none;padding:0;cursor:pointer;width:30px}.ml-progress[data-v-35ad24b9]{width:100px}.ml-setting-button[data-v-666f03a3],.ml-warning-button[data-v-3411a3ec]{border:none;padding:0;cursor:pointer;width:30px}.ml-status-bar[data-v-24578503]{box-sizing:border-box}.ml-status-bar-left-button-group[data-v-24578503]{border:none;box-sizing:border-box;height:var(--ml-status-bar-height)}.ml-status-bar-layout-button[data-v-24578503]{box-sizing:border-box}.ml-status-bar-right-button-group[data-v-24578503]{border:none;padding:0;height:var(--ml-status-bar-height)}.ml-status-bar-current-pos[data-v-24578503]{border:none;height:100%}.ml-cad-canvas{position:absolute;top:0;left:0;height:calc(100vh - var(--ml-status-bar-height));width:100%;display:block;outline:none;z-index:1;pointer-events:auto}.ml-cad-viewer-container{position:relative;width:100vw;z-index:2;pointer-events:auto}.ml-file-name{position:absolute;top:0;left:50%;transform:translate(-50%);text-align:center;width:100%;margin-top:20px;pointer-events:none;z-index:1}