@mlightcad/cad-viewer 1.0.0 → 1.0.2
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 +99 -75
- package/dist/app/app.d.ts.map +1 -1
- package/dist/component/MlCadViewer.vue.d.ts +7 -2
- package/dist/component/MlCadViewer.vue.d.ts.map +1 -1
- package/dist/component/common/MlBaseDialog.vue.d.ts +2 -2
- package/dist/component/layout/MlLanguageSelector.vue.d.ts +28 -1
- package/dist/component/layout/MlLanguageSelector.vue.d.ts.map +1 -1
- package/dist/component/statusBar/MlProgress.vue.d.ts.map +1 -1
- package/dist/composable/index.d.ts +1 -0
- package/dist/composable/index.d.ts.map +1 -1
- package/dist/composable/useLayers.d.ts.map +1 -1
- package/dist/composable/useLocale.d.ts +187 -0
- package/dist/composable/useLocale.d.ts.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.js +2314 -2239
- package/dist/locale/en/main.d.ts +2 -0
- package/dist/locale/en/main.d.ts.map +1 -1
- package/dist/locale/i18n.d.ts +5 -1
- package/dist/locale/i18n.d.ts.map +1 -1
- package/dist/locale/index.d.ts +1 -0
- package/dist/locale/index.d.ts.map +1 -1
- package/dist/locale/types.d.ts +3 -0
- package/dist/locale/types.d.ts.map +1 -0
- package/dist/locale/zh/main.d.ts +2 -0
- package/dist/locale/zh/main.d.ts.map +1 -1
- package/package.json +10 -6
package/README.md
CHANGED
|
@@ -14,6 +14,17 @@ CAD Viewer is a **high-performance** Vue 3 component for viewing and editing CAD
|
|
|
14
14
|
- Dialogs, toolbars, and command line interface
|
|
15
15
|
- Vue 3 component for embedding high-performance CAD viewers in your own apps
|
|
16
16
|
|
|
17
|
+
## When Should You Choose cad-viewer?
|
|
18
|
+
|
|
19
|
+
Use `cad-viewer` if you want a **ready-to-use Vue 3 component** for viewing and editing CAD files with a modern UI, dialogs, toolbars, and state management. This package is ideal if:
|
|
20
|
+
|
|
21
|
+
- You want to quickly embed a high-performance CAD viewer/editor into your Vue application with minimal setup.
|
|
22
|
+
- You need a solution that handles file loading, rendering, layer/entity management, and user interactions out of the box.
|
|
23
|
+
- You want seamless integration with optimized SVG and THREE.js renderers, internationalization, and theming.
|
|
24
|
+
- You do **not** want to build your own UI from scratch.
|
|
25
|
+
|
|
26
|
+
**Recommended for:** Most web applications, dashboards, or platforms that need to display CAD files with a polished user interface.
|
|
27
|
+
|
|
17
28
|
## Browser-Only Architecture
|
|
18
29
|
|
|
19
30
|
This Vue 3 component operates entirely in the browser with **no backend dependencies**. DWG/DXF files are parsed and processed locally using WebAssembly and JavaScript, providing:
|
|
@@ -45,6 +56,21 @@ Please refer to sub-package `cad-viewer-example` as one example.
|
|
|
45
56
|
|
|
46
57
|
### Basic Usage
|
|
47
58
|
|
|
59
|
+
Firstly, add the following dependencies into your package.json.
|
|
60
|
+
|
|
61
|
+
- @element-plus/icons-vue
|
|
62
|
+
- @mlightcad/cad-simple-viewer
|
|
63
|
+
- @mlightcad/cad-viewer
|
|
64
|
+
- @mlightcad/data-model
|
|
65
|
+
- @mlightcad/libredwg-converter
|
|
66
|
+
- @mlightcad/libredwg-web
|
|
67
|
+
- @vueuse/core
|
|
68
|
+
- element-plus
|
|
69
|
+
- vue
|
|
70
|
+
- vue-i18n
|
|
71
|
+
|
|
72
|
+
Then create one vue component as follows.
|
|
73
|
+
|
|
48
74
|
```vue
|
|
49
75
|
<template>
|
|
50
76
|
<div>
|
|
@@ -81,75 +107,88 @@ initApp()
|
|
|
81
107
|
</script>
|
|
82
108
|
```
|
|
83
109
|
|
|
84
|
-
|
|
110
|
+
## MlCadViewer Component
|
|
85
111
|
|
|
86
|
-
|
|
112
|
+
The `MlCadViewer` is the main Vue 3 component that provides a complete CAD viewing and editing interface. It includes toolbars, layer management, command line, status bar, and various dialogs for a full-featured CAD experience.
|
|
87
113
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
AcDbDatabaseConverterManager.instance.register(
|
|
106
|
-
AcDbFileType.DWG,
|
|
107
|
-
converter
|
|
108
|
-
)
|
|
109
|
-
}
|
|
110
|
-
} catch (error) {
|
|
111
|
-
console.error('Failed to load libredwg-web: ', error)
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
+
### Component Properties
|
|
115
|
+
|
|
116
|
+
The `MlCadViewer` component accepts the following props:
|
|
117
|
+
|
|
118
|
+
| Property | Type | Default | Description |
|
|
119
|
+
|----------|------|---------|-------------|
|
|
120
|
+
| `locale` | `'en' \| 'zh' \| 'default'` | `'default'` | Sets the language for the component interface. Use `'en'` for English, `'zh'` for Chinese, or `'default'` to use the browser's default language. |
|
|
121
|
+
| `url` | `string` | `undefined` | Optional URL to automatically load a CAD file when the component mounts. The file will be fetched and opened automatically. |
|
|
122
|
+
| `wait` | `number` | `10` | When set to a positive number, the component will wait for DWG converter ready for use for the specified number of seconds before initializing. This is useful when you need to ensure DWG file support is available before the component becomes interactive. Set to `0` or negative value to disable waiting. |
|
|
123
|
+
|
|
124
|
+
### Usage Examples
|
|
125
|
+
|
|
126
|
+
#### Basic Usage with Default Settings
|
|
127
|
+
```vue
|
|
128
|
+
<template>
|
|
129
|
+
<MlCadViewer />
|
|
130
|
+
</template>
|
|
114
131
|
```
|
|
115
132
|
|
|
116
|
-
|
|
133
|
+
#### With Custom Locale
|
|
134
|
+
```vue
|
|
135
|
+
<template>
|
|
136
|
+
<MlCadViewer locale="en" />
|
|
137
|
+
</template>
|
|
138
|
+
```
|
|
117
139
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
140
|
+
#### Auto-load File from URL
|
|
141
|
+
```vue
|
|
142
|
+
<template>
|
|
143
|
+
<MlCadViewer
|
|
144
|
+
locale="zh"
|
|
145
|
+
url="https://example.com/path/to/drawing.dwg"
|
|
146
|
+
/>
|
|
147
|
+
</template>
|
|
126
148
|
```
|
|
127
149
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
<
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
script.type = "module";
|
|
137
|
-
script.src = "/assets/libredwg-web.js";
|
|
138
|
-
script.async = true;
|
|
139
|
-
|
|
140
|
-
script.onload = async () => {
|
|
141
|
-
// Import dynamically after script is loaded
|
|
142
|
-
const actualModule = await import(/* @vite-ignore */script.src);
|
|
143
|
-
const libredwg = await actualModule.createModule();
|
|
144
|
-
window.dispatchEvent(new CustomEvent("libredwg-ready", { detail: libredwg }));
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
document.body.appendChild(script);
|
|
148
|
-
})();
|
|
149
|
-
}
|
|
150
|
-
</script>
|
|
150
|
+
#### Wait for DWG Converter Ready to Use
|
|
151
|
+
```vue
|
|
152
|
+
<template>
|
|
153
|
+
<MlCadViewer
|
|
154
|
+
:wait="10"
|
|
155
|
+
url="https://example.com/path/to/drawing.dwg"
|
|
156
|
+
/>
|
|
157
|
+
</template>
|
|
151
158
|
```
|
|
152
159
|
|
|
160
|
+
### Component Features
|
|
161
|
+
|
|
162
|
+
The `MlCadViewer` component includes:
|
|
163
|
+
|
|
164
|
+
- **Main Menu** - File operations, view controls, and settings
|
|
165
|
+
- **Toolbars** - Drawing tools, zoom controls, and selection tools
|
|
166
|
+
- **Layer Manager** - Layer visibility and property management
|
|
167
|
+
- **Command Line** - AutoCAD-style command input
|
|
168
|
+
- **Status Bar** - Current position, zoom level, and system status
|
|
169
|
+
- **Dialog Manager** - Modal dialogs for various operations
|
|
170
|
+
- **File Reader** - Drag-and-drop file loading
|
|
171
|
+
- **Entity Info** - Detailed information about selected entities
|
|
172
|
+
- **Language Selector** - UI language switching
|
|
173
|
+
- **Theme Support** - Dark/light mode toggle
|
|
174
|
+
|
|
175
|
+
### Event Handling
|
|
176
|
+
|
|
177
|
+
The component automatically handles various events:
|
|
178
|
+
|
|
179
|
+
- **File Loading** - Supports drag-and-drop and URL-based file loading
|
|
180
|
+
- **Error Messages** - Displays user-friendly error messages for failed operations
|
|
181
|
+
- **Font Loading** - Handles missing fonts with appropriate notifications
|
|
182
|
+
- **System Messages** - Shows status updates and operation feedback
|
|
183
|
+
|
|
184
|
+
### Advanced Usage
|
|
185
|
+
|
|
186
|
+
Please refer to [readme of cad-simple-viewer](../cad-simple-viewer/README.md) to learn the following advanced usage.
|
|
187
|
+
|
|
188
|
+
- Register DWG converter to display drawings in DWG format
|
|
189
|
+
- Define your own font loader to load fonts from your own server
|
|
190
|
+
- Create drawing or modify drawing
|
|
191
|
+
|
|
153
192
|
## Available Exports
|
|
154
193
|
|
|
155
194
|
### Main Component
|
|
@@ -193,21 +232,6 @@ Copy `libredwg-web.js` to folder `public/assets` and update `index.html` by addi
|
|
|
193
232
|
- Dark mode support
|
|
194
233
|
- Element Plus integration
|
|
195
234
|
|
|
196
|
-
## Dependencies
|
|
197
|
-
|
|
198
|
-
This component library requires the following peer dependencies:
|
|
199
|
-
|
|
200
|
-
- `vue` ^3.4.0
|
|
201
|
-
- `@mlightcad/data-model`
|
|
202
|
-
- `@mlightcad/libredwg-converter`
|
|
203
|
-
- `@mlightcad/libredwg-web`
|
|
204
|
-
- `@mlightcad/svg-renderer`
|
|
205
|
-
- `@mlightcad/three-renderer`
|
|
206
|
-
- `@mlightcad/cad-simple-viewer`
|
|
207
|
-
- `element-plus`
|
|
208
|
-
- `vue-i18n`
|
|
209
|
-
- And others as specified in package.json
|
|
210
|
-
|
|
211
235
|
## Development
|
|
212
236
|
|
|
213
237
|
```bash
|
package/dist/app/app.d.ts.map
CHANGED
|
@@ -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;AAwD5B,eAAO,MAAM,mBAAmB,GAAI,WAAW,MAAM,
|
|
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;AAwD5B,eAAO,MAAM,mBAAmB,GAAI,WAAW,MAAM,SAIpD,CAAA;AAED,eAAO,MAAM,mBAAmB,YAG/B,CAAA"}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
+
import { LocaleProp } from '../locale';
|
|
1
2
|
interface Props {
|
|
2
|
-
locale?:
|
|
3
|
+
locale?: LocaleProp;
|
|
3
4
|
url?: string;
|
|
5
|
+
wait?: number;
|
|
4
6
|
}
|
|
5
7
|
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
|
|
6
8
|
locale: string;
|
|
7
9
|
url: undefined;
|
|
10
|
+
wait: number;
|
|
8
11
|
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
|
|
9
12
|
locale: string;
|
|
10
13
|
url: undefined;
|
|
14
|
+
wait: number;
|
|
11
15
|
}>>> & Readonly<{}>, {
|
|
12
|
-
locale:
|
|
16
|
+
locale: LocaleProp;
|
|
13
17
|
url: string;
|
|
18
|
+
wait: number;
|
|
14
19
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
15
20
|
export default _default;
|
|
16
21
|
type __VLS_WithDefaults<P, D> = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MlCadViewer.vue.d.ts","sourceRoot":"","sources":["../../src/component/MlCadViewer.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MlCadViewer.vue.d.ts","sourceRoot":"","sources":["../../src/component/MlCadViewer.vue"],"names":[],"mappings":"AAuOA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAatC,UAAU,KAAK;IACb,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;;;;;;;;;;YAHU,UAAU;SACb,MAAM;UACL,MAAM;;AAmTf,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"}
|
|
@@ -29,9 +29,9 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
29
29
|
default: () => {};
|
|
30
30
|
};
|
|
31
31
|
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
32
|
-
"update:modelValue": (...args: any[]) => void;
|
|
33
32
|
ok: (...args: any[]) => void;
|
|
34
33
|
cancel: (...args: any[]) => void;
|
|
34
|
+
"update:modelValue": (...args: any[]) => void;
|
|
35
35
|
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
36
36
|
title: {
|
|
37
37
|
type: StringConstructor;
|
|
@@ -54,9 +54,9 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
54
54
|
default: () => {};
|
|
55
55
|
};
|
|
56
56
|
}>> & Readonly<{
|
|
57
|
-
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
58
57
|
onOk?: ((...args: any[]) => any) | undefined;
|
|
59
58
|
onCancel?: ((...args: any[]) => any) | undefined;
|
|
59
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
60
60
|
}>, {
|
|
61
61
|
props: Record<string, any>;
|
|
62
62
|
width: string | number;
|
|
@@ -1,3 +1,30 @@
|
|
|
1
|
-
|
|
1
|
+
import { LocaleProp } from '../../locale';
|
|
2
|
+
interface Props {
|
|
3
|
+
currentLocale?: LocaleProp;
|
|
4
|
+
}
|
|
5
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
|
|
6
|
+
currentLocale: undefined;
|
|
7
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
|
|
8
|
+
currentLocale: undefined;
|
|
9
|
+
}>>> & Readonly<{}>, {
|
|
10
|
+
currentLocale: LocaleProp;
|
|
11
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
2
12
|
export default _default;
|
|
13
|
+
type __VLS_WithDefaults<P, D> = {
|
|
14
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
15
|
+
default: D[K];
|
|
16
|
+
}> : P[K];
|
|
17
|
+
};
|
|
18
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
19
|
+
type __VLS_TypePropsToOption<T> = {
|
|
20
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
21
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
22
|
+
} : {
|
|
23
|
+
type: import('vue').PropType<T[K]>;
|
|
24
|
+
required: true;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
type __VLS_PrettifyLocal<T> = {
|
|
28
|
+
[K in keyof T]: T[K];
|
|
29
|
+
} & {};
|
|
3
30
|
//# sourceMappingURL=MlLanguageSelector.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MlLanguageSelector.vue.d.ts","sourceRoot":"","sources":["../../../src/component/layout/MlLanguageSelector.vue"],"names":[],"mappings":"AAQA;;
|
|
1
|
+
{"version":3,"file":"MlLanguageSelector.vue.d.ts","sourceRoot":"","sources":["../../../src/component/layout/MlLanguageSelector.vue"],"names":[],"mappings":"AAQA;AA4DA,OAAO,EAAE,UAAU,EAAe,MAAM,cAAc,CAAA;AAGtD,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,UAAU,CAAA;CAC3B;;;;;;mBADiB,UAAU;;AA6F5B,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MlProgress.vue.d.ts","sourceRoot":"","sources":["../../../src/component/statusBar/MlProgress.vue"],"names":[],"mappings":"AAUA;;
|
|
1
|
+
{"version":3,"file":"MlProgress.vue.d.ts","sourceRoot":"","sources":["../../../src/component/statusBar/MlProgress.vue"],"names":[],"mappings":"AAUA;;AAiMA,wBAKG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composable/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composable/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLayers.d.ts","sourceRoot":"","sources":["../../src/composable/useLayers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"useLayers.d.ts","sourceRoot":"","sources":["../../src/composable/useLayers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAI7D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,cAAc,uCAiD/C"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { LocaleProp, LocaleValue } from '../locale';
|
|
2
|
+
export declare function useLocale(propLocale?: LocaleProp): {
|
|
3
|
+
currentLocale: import('vue').Ref<LocaleValue, LocaleValue>;
|
|
4
|
+
effectiveLocale: import('vue').ComputedRef<LocaleProp>;
|
|
5
|
+
elementPlusLocale: import('vue').ComputedRef<{
|
|
6
|
+
name: string;
|
|
7
|
+
el: {
|
|
8
|
+
breadcrumb: {
|
|
9
|
+
label: string;
|
|
10
|
+
};
|
|
11
|
+
colorpicker: {
|
|
12
|
+
confirm: string;
|
|
13
|
+
clear: string;
|
|
14
|
+
defaultLabel: string;
|
|
15
|
+
description: string;
|
|
16
|
+
alphaLabel: string;
|
|
17
|
+
};
|
|
18
|
+
datepicker: {
|
|
19
|
+
now: string;
|
|
20
|
+
today: string;
|
|
21
|
+
cancel: string;
|
|
22
|
+
clear: string;
|
|
23
|
+
confirm: string;
|
|
24
|
+
dateTablePrompt: string;
|
|
25
|
+
monthTablePrompt: string;
|
|
26
|
+
yearTablePrompt: string;
|
|
27
|
+
selectedDate: string;
|
|
28
|
+
selectDate: string;
|
|
29
|
+
selectTime: string;
|
|
30
|
+
startDate: string;
|
|
31
|
+
startTime: string;
|
|
32
|
+
endDate: string;
|
|
33
|
+
endTime: string;
|
|
34
|
+
prevYear: string;
|
|
35
|
+
nextYear: string;
|
|
36
|
+
prevMonth: string;
|
|
37
|
+
nextMonth: string;
|
|
38
|
+
year: string;
|
|
39
|
+
month1: string;
|
|
40
|
+
month2: string;
|
|
41
|
+
month3: string;
|
|
42
|
+
month4: string;
|
|
43
|
+
month5: string;
|
|
44
|
+
month6: string;
|
|
45
|
+
month7: string;
|
|
46
|
+
month8: string;
|
|
47
|
+
month9: string;
|
|
48
|
+
month10: string;
|
|
49
|
+
month11: string;
|
|
50
|
+
month12: string;
|
|
51
|
+
weeks: {
|
|
52
|
+
sun: string;
|
|
53
|
+
mon: string;
|
|
54
|
+
tue: string;
|
|
55
|
+
wed: string;
|
|
56
|
+
thu: string;
|
|
57
|
+
fri: string;
|
|
58
|
+
sat: string;
|
|
59
|
+
};
|
|
60
|
+
weeksFull: {
|
|
61
|
+
sun: string;
|
|
62
|
+
mon: string;
|
|
63
|
+
tue: string;
|
|
64
|
+
wed: string;
|
|
65
|
+
thu: string;
|
|
66
|
+
fri: string;
|
|
67
|
+
sat: string;
|
|
68
|
+
};
|
|
69
|
+
months: {
|
|
70
|
+
jan: string;
|
|
71
|
+
feb: string;
|
|
72
|
+
mar: string;
|
|
73
|
+
apr: string;
|
|
74
|
+
may: string;
|
|
75
|
+
jun: string;
|
|
76
|
+
jul: string;
|
|
77
|
+
aug: string;
|
|
78
|
+
sep: string;
|
|
79
|
+
oct: string;
|
|
80
|
+
nov: string;
|
|
81
|
+
dec: string;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
inputNumber: {
|
|
85
|
+
decrease: string;
|
|
86
|
+
increase: string;
|
|
87
|
+
};
|
|
88
|
+
select: {
|
|
89
|
+
loading: string;
|
|
90
|
+
noMatch: string;
|
|
91
|
+
noData: string;
|
|
92
|
+
placeholder: string;
|
|
93
|
+
};
|
|
94
|
+
dropdown: {
|
|
95
|
+
toggleDropdown: string;
|
|
96
|
+
};
|
|
97
|
+
mention: {
|
|
98
|
+
loading: string;
|
|
99
|
+
};
|
|
100
|
+
cascader: {
|
|
101
|
+
noMatch: string;
|
|
102
|
+
loading: string;
|
|
103
|
+
placeholder: string;
|
|
104
|
+
noData: string;
|
|
105
|
+
};
|
|
106
|
+
pagination: {
|
|
107
|
+
goto: string;
|
|
108
|
+
pagesize: string;
|
|
109
|
+
total: string;
|
|
110
|
+
pageClassifier: string;
|
|
111
|
+
page: string;
|
|
112
|
+
prev: string;
|
|
113
|
+
next: string;
|
|
114
|
+
currentPage: string;
|
|
115
|
+
prevPages: string;
|
|
116
|
+
nextPages: string;
|
|
117
|
+
deprecationWarning: string;
|
|
118
|
+
};
|
|
119
|
+
dialog: {
|
|
120
|
+
close: string;
|
|
121
|
+
};
|
|
122
|
+
drawer: {
|
|
123
|
+
close: string;
|
|
124
|
+
};
|
|
125
|
+
messagebox: {
|
|
126
|
+
title: string;
|
|
127
|
+
confirm: string;
|
|
128
|
+
cancel: string;
|
|
129
|
+
error: string;
|
|
130
|
+
close: string;
|
|
131
|
+
};
|
|
132
|
+
upload: {
|
|
133
|
+
deleteTip: string;
|
|
134
|
+
delete: string;
|
|
135
|
+
preview: string;
|
|
136
|
+
continue: string;
|
|
137
|
+
};
|
|
138
|
+
slider: {
|
|
139
|
+
defaultLabel: string;
|
|
140
|
+
defaultRangeStartLabel: string;
|
|
141
|
+
defaultRangeEndLabel: string;
|
|
142
|
+
};
|
|
143
|
+
table: {
|
|
144
|
+
emptyText: string;
|
|
145
|
+
confirmFilter: string;
|
|
146
|
+
resetFilter: string;
|
|
147
|
+
clearFilter: string;
|
|
148
|
+
sumText: string;
|
|
149
|
+
};
|
|
150
|
+
tour: {
|
|
151
|
+
next: string;
|
|
152
|
+
previous: string;
|
|
153
|
+
finish: string;
|
|
154
|
+
};
|
|
155
|
+
tree: {
|
|
156
|
+
emptyText: string;
|
|
157
|
+
};
|
|
158
|
+
transfer: {
|
|
159
|
+
noMatch: string;
|
|
160
|
+
noData: string;
|
|
161
|
+
titles: string[];
|
|
162
|
+
filterPlaceholder: string;
|
|
163
|
+
noCheckedFormat: string;
|
|
164
|
+
hasCheckedFormat: string;
|
|
165
|
+
};
|
|
166
|
+
image: {
|
|
167
|
+
error: string;
|
|
168
|
+
};
|
|
169
|
+
pageHeader: {
|
|
170
|
+
title: string;
|
|
171
|
+
};
|
|
172
|
+
popconfirm: {
|
|
173
|
+
confirmButtonText: string;
|
|
174
|
+
cancelButtonText: string;
|
|
175
|
+
};
|
|
176
|
+
carousel: {
|
|
177
|
+
leftArrow: string;
|
|
178
|
+
rightArrow: string;
|
|
179
|
+
indicator: string;
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
}>;
|
|
183
|
+
setLocale: (newLocale: LocaleValue) => void;
|
|
184
|
+
clearStoragePreference: () => void;
|
|
185
|
+
isControlled: import('vue').ComputedRef<boolean>;
|
|
186
|
+
};
|
|
187
|
+
//# sourceMappingURL=useLocale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLocale.d.ts","sourceRoot":"","sources":["../../src/composable/useLocale.ts"],"names":[],"mappings":"AAKA,OAAO,EAAQ,UAAU,EAAC,WAAW,EAAE,MAAM,WAAW,CAAA;AAIxD,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAwBjB,WAAW;;;EA2D1C"}
|
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";body{margin:0;display:flex}body,html{height:100%}.canvas{top:0;height:calc(100vh - var(--ml-status-bar-height));width:100%;display:block;outline:none}.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-5f45b19d]{position:fixed;width:180px;left:var(--504f44a9);top:var(--4d65ff1a);margin:6px}.ml-entity-info-title[data-v-5f45b19d]{font-weight:700;margin-bottom:16px;margin-top:0}.ml-entity-info-text[data-v-5f45b19d]{margin:6px}.ml-language-selector[data-v-
|
|
1
|
+
@charset "UTF-8";body{margin:0;display:flex}body,html{height:100%}.canvas{top:0;height:calc(100vh - var(--ml-status-bar-height));width:100%;display:block;outline:none}.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-5f45b19d]{position:fixed;width:180px;left:var(--504f44a9);top:var(--4d65ff1a);margin:6px}.ml-entity-info-title[data-v-5f45b19d]{font-weight:700;margin-bottom:16px;margin-top:0}.ml-entity-info-text[data-v-5f45b19d]{margin: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-point-style-button[data-v-29692d7d]{border:none;padding:0;cursor:pointer;width:30px}.ml-progress[data-v-5d48a084]{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-ee6f13c4]{box-sizing:border-box}.ml-status-bar-left-button-group[data-v-ee6f13c4]{border:none;box-sizing:border-box;height:var(--ml-status-bar-height)}.ml-status-bar-layout-button[data-v-ee6f13c4]{box-sizing:border-box}.ml-status-bar-right-button-group[data-v-ee6f13c4]{border:none;padding:0;height:var(--ml-status-bar-height)}.ml-status-bar-current-pos[data-v-ee6f13c4]{border:none;height:100%}.ml-file-name{position:absolute;top:0;left:50%;transform:translate(-50%);text-align:center;width:100%;margin-top:20px}
|