layplux 1.0.1 → 2.0.1
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/dist/cjs/components/center-view/index.cjs +18 -28
- package/dist/cjs/components/corner-glow/index.cjs +11 -28
- package/dist/cjs/components/dropdown/index.cjs +136 -130
- package/dist/cjs/components/icon/index.cjs +29 -51
- package/dist/cjs/components/index.cjs +24 -25
- package/dist/cjs/components/panel-view/index.cjs +111 -114
- package/dist/cjs/components/popup/index.cjs +166 -151
- package/dist/cjs/components/title/index.cjs +34 -47
- package/dist/cjs/components/tooltip/index.cjs +70 -61
- package/dist/cjs/components/widget/index.cjs +52 -72
- package/dist/cjs/index.cjs +13 -40
- package/dist/cjs/layout/glass-overlay.cjs +15 -28
- package/dist/cjs/layout/layered-manager.cjs +20 -29
- package/dist/cjs/layout/layplux.cjs +19 -32
- package/dist/cjs/layout/root-pane.cjs +20 -38
- package/dist/cjs/layout/skeleton/bottom-area.cjs +26 -43
- package/dist/cjs/layout/skeleton/bottom-left-area.cjs +12 -29
- package/dist/cjs/layout/skeleton/bottom-right-area.cjs +11 -28
- package/dist/cjs/layout/skeleton/center-area.cjs +278 -371
- package/dist/cjs/layout/skeleton/index.cjs +7 -24
- package/dist/cjs/layout/skeleton/left-bottom-area.cjs +12 -29
- package/dist/cjs/layout/skeleton/left-top-area.cjs +12 -29
- package/dist/cjs/layout/skeleton/right-bottom-area.cjs +11 -28
- package/dist/cjs/layout/skeleton/right-top-area.cjs +11 -28
- package/dist/cjs/layout/skeleton/skeleton.cjs +55 -60
- package/dist/cjs/layout/skeleton/top-area.cjs +26 -43
- package/dist/cjs/locales/en-US.cjs +11 -30
- package/dist/cjs/locales/index.cjs +12 -30
- package/dist/cjs/locales/zh-CN.cjs +11 -30
- package/dist/cjs/managers/area.cjs +12 -25
- package/dist/cjs/managers/index.cjs +12 -20
- package/dist/cjs/managers/pane.cjs +12 -26
- package/dist/cjs/managers/skeleton.cjs +112 -124
- package/dist/cjs/managers/theme.cjs +8 -29
- package/dist/cjs/managers/widget-container.cjs +31 -31
- package/dist/cjs/managers/widget.cjs +63 -50
- package/dist/cjs/types/config.cjs +2 -16
- package/dist/cjs/types/index.cjs +2 -18
- package/dist/cjs/types/locale.cjs +2 -16
- package/dist/cjs/utils/event-bus.cjs +53 -49
- package/dist/cjs/utils/focus-tracker.cjs +66 -42
- package/dist/cjs/utils/index.cjs +23 -31
- package/dist/cjs/utils/unique-id.cjs +5 -24
- package/dist/cjs/utils/vue.cjs +20 -30
- package/dist/esm/components/center-view/index.mjs +15 -7
- package/dist/esm/components/corner-glow/index.mjs +8 -7
- package/dist/esm/components/dropdown/index.mjs +117 -101
- package/dist/esm/components/icon/index.mjs +24 -30
- package/dist/esm/components/index.mjs +7 -8
- package/dist/esm/components/panel-view/index.mjs +107 -98
- package/dist/esm/components/popup/index.mjs +155 -130
- package/dist/esm/components/title/index.mjs +29 -24
- package/dist/esm/components/tooltip/index.mjs +67 -40
- package/dist/esm/components/widget/index.mjs +45 -48
- package/dist/esm/index.mjs +4 -10
- package/dist/esm/layout/glass-overlay.mjs +12 -7
- package/dist/esm/layout/layered-manager.mjs +17 -8
- package/dist/esm/layout/layplux.mjs +14 -11
- package/dist/esm/layout/root-pane.mjs +16 -16
- package/dist/esm/layout/skeleton/bottom-area.mjs +23 -22
- package/dist/esm/layout/skeleton/bottom-left-area.mjs +9 -8
- package/dist/esm/layout/skeleton/bottom-right-area.mjs +8 -7
- package/dist/esm/layout/skeleton/center-area.mjs +251 -333
- package/dist/esm/layout/skeleton/index.mjs +1 -4
- package/dist/esm/layout/skeleton/left-bottom-area.mjs +9 -8
- package/dist/esm/layout/skeleton/left-top-area.mjs +9 -8
- package/dist/esm/layout/skeleton/right-bottom-area.mjs +8 -7
- package/dist/esm/layout/skeleton/right-top-area.mjs +8 -7
- package/dist/esm/layout/skeleton/skeleton.mjs +52 -39
- package/dist/esm/layout/skeleton/top-area.mjs +23 -22
- package/dist/esm/locales/en-US.mjs +9 -10
- package/dist/esm/locales/index.mjs +7 -9
- package/dist/esm/locales/zh-CN.mjs +9 -10
- package/dist/esm/managers/area.mjs +10 -5
- package/dist/esm/managers/index.mjs +3 -3
- package/dist/esm/managers/pane.mjs +9 -5
- package/dist/esm/managers/skeleton.mjs +97 -95
- package/dist/esm/managers/theme.mjs +6 -9
- package/dist/esm/managers/widget-container.mjs +28 -10
- package/dist/esm/managers/widget.mjs +55 -25
- package/dist/esm/types/config.mjs +1 -0
- package/dist/esm/types/index.mjs +1 -1
- package/dist/esm/types/locale.mjs +1 -0
- package/dist/esm/utils/event-bus.mjs +46 -17
- package/dist/esm/utils/focus-tracker.mjs +63 -23
- package/dist/esm/utils/index.mjs +7 -10
- package/dist/esm/utils/unique-id.mjs +3 -4
- package/dist/esm/utils/vue.mjs +13 -5
- package/dist/types/managers/skeleton.d.ts.map +1 -1
- package/dist/umd/index.js +2 -30
- package/package.json +18 -14
|
@@ -1,58 +1,77 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* 焦点追踪器 — 维护一个焦点栈,管理 Popup/Dropdown 等弹出层的点击外部关闭、ESC 关闭等行为。
|
|
3
|
+
*
|
|
4
|
+
* 核心概念:
|
|
5
|
+
* - actives 是一个栈(active/unshift),栈顶(first)是当前聚焦的 Focusable
|
|
6
|
+
* - modal Focusable 打开时会阻止非 modal 的上层焦点失焦
|
|
7
|
+
* - mount() 在 document 上监听 click,点击栈顶 Focusable 范围外时触发 blur
|
|
8
|
+
*/
|
|
4
9
|
class FocusTracker {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
/** 焦点栈,栈顶为当前聚焦项 */
|
|
11
|
+
actives = [];
|
|
12
|
+
|
|
13
|
+
/** modal 弹层注册表,用于检查是否有 modal 正在打开 */
|
|
14
|
+
modals = [];
|
|
15
|
+
|
|
11
16
|
/** 当前焦点栈顶 */
|
|
12
17
|
get first() {
|
|
13
18
|
return this.actives[0];
|
|
14
19
|
}
|
|
20
|
+
|
|
15
21
|
/** 注册一个 modal 弹层,用于 execSave 等时判断是否跳过 */
|
|
16
22
|
addModal(checkDown, checkOpen) {
|
|
17
|
-
this.modals.push({
|
|
23
|
+
this.modals.push({
|
|
24
|
+
checkDown,
|
|
25
|
+
checkOpen
|
|
26
|
+
});
|
|
18
27
|
}
|
|
28
|
+
|
|
19
29
|
/** 是否有 modal 弹层正在打开 */
|
|
20
30
|
checkModalOpen() {
|
|
21
|
-
return this.modals.some(
|
|
31
|
+
return this.modals.some(item => item.checkOpen());
|
|
22
32
|
}
|
|
33
|
+
|
|
23
34
|
/** 触发保存操作,有 modal 时跳过 */
|
|
24
35
|
execSave() {
|
|
25
36
|
if (this.checkModalOpen()) return;
|
|
26
37
|
if (this.first) this.first.internalTriggerSave();
|
|
27
38
|
}
|
|
39
|
+
|
|
28
40
|
/** 触发 ESC — 挂起栈顶并调用其 onEsc */
|
|
29
41
|
execEsc() {
|
|
30
|
-
const {
|
|
42
|
+
const {
|
|
43
|
+
first
|
|
44
|
+
} = this;
|
|
31
45
|
if (first) {
|
|
32
46
|
this.internalSuspenseItem(first);
|
|
33
47
|
first.internalTriggerEsc();
|
|
34
48
|
}
|
|
35
49
|
}
|
|
50
|
+
|
|
36
51
|
/**
|
|
37
52
|
* 挂载全局点击监听
|
|
38
53
|
* 点击 document 时,如果点击目标不在 first 的 range 内,则挂起 first 并触发 blur
|
|
39
54
|
* @returns 卸载函数
|
|
40
55
|
*/
|
|
41
56
|
mount(win) {
|
|
42
|
-
const checkDown =
|
|
43
|
-
const {
|
|
57
|
+
const checkDown = e => {
|
|
58
|
+
const {
|
|
59
|
+
first
|
|
60
|
+
} = this;
|
|
44
61
|
if (first && !first.internalCheckInRange(e)) {
|
|
45
62
|
this.internalSuspenseItem(first);
|
|
46
63
|
first.internalTriggerBlur();
|
|
47
64
|
}
|
|
48
65
|
};
|
|
49
|
-
win.document.addEventListener(
|
|
50
|
-
return () => win.document.removeEventListener(
|
|
66
|
+
win.document.addEventListener('click', checkDown, true);
|
|
67
|
+
return () => win.document.removeEventListener('click', checkDown, true);
|
|
51
68
|
}
|
|
69
|
+
|
|
52
70
|
/** 创建一个 Focusable 实例并绑定到当前 tracker */
|
|
53
71
|
create(config) {
|
|
54
72
|
return new Focusable(this, config);
|
|
55
73
|
}
|
|
74
|
+
|
|
56
75
|
/**
|
|
57
76
|
* 激活一个 Focusable — 将其推到栈顶
|
|
58
77
|
* 如果栈顶已有其他 Focusable 且新项不是 modal,则先触发旧栈顶的 blur
|
|
@@ -66,6 +85,7 @@ class FocusTracker {
|
|
|
66
85
|
if (!item.isModal && first) first.internalTriggerBlur();
|
|
67
86
|
item.internalTriggerActive();
|
|
68
87
|
}
|
|
88
|
+
|
|
69
89
|
/**
|
|
70
90
|
* 挂起一个 Focusable — 将其从栈中移除
|
|
71
91
|
* 移除后如果还有剩余项,激活新的栈顶
|
|
@@ -78,40 +98,60 @@ class FocusTracker {
|
|
|
78
98
|
}
|
|
79
99
|
}
|
|
80
100
|
}
|
|
101
|
+
|
|
102
|
+
/** Focusable 的创建配置 */
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* 可聚焦项 — 代表一个弹出层(Popup/Dropdown 等)的焦点状态
|
|
106
|
+
*
|
|
107
|
+
* 使用方式:
|
|
108
|
+
* 1. tracker.create(config) 创建 Focusable
|
|
109
|
+
* 2. 弹出层打开时调用 focusable.active() 推入栈顶
|
|
110
|
+
* 3. 弹出层关闭时调用 focusable.suspense() 或 purge() 移出栈
|
|
111
|
+
* 4. 需要在组件挂载后调用 setRange() 注入真实 DOM
|
|
112
|
+
*/
|
|
81
113
|
class Focusable {
|
|
82
114
|
constructor(tracker, config) {
|
|
83
115
|
this.tracker = tracker;
|
|
84
116
|
this.config = config;
|
|
85
|
-
__publicField(this, "isModal");
|
|
86
117
|
this.isModal = config.modal ?? false;
|
|
87
118
|
}
|
|
119
|
+
|
|
88
120
|
/** 激活当前 Focusable,推入焦点栈顶 */
|
|
89
121
|
active() {
|
|
90
122
|
this.tracker.internalActiveItem(this);
|
|
91
123
|
}
|
|
124
|
+
|
|
92
125
|
/** 挂起当前 Focusable,从焦点栈移除 */
|
|
93
126
|
suspense() {
|
|
94
127
|
this.tracker.internalSuspenseItem(this);
|
|
95
128
|
}
|
|
129
|
+
|
|
96
130
|
/** 销毁当前 Focusable(同 suspense,语义化别名) */
|
|
97
131
|
purge() {
|
|
98
132
|
this.tracker.internalSuspenseItem(this);
|
|
99
133
|
}
|
|
134
|
+
|
|
100
135
|
/** 挂载后把真实 DOM 注入,使 range 的 contains 判断生效 */
|
|
101
136
|
setRange(range) {
|
|
102
137
|
this.config.range = range;
|
|
103
138
|
}
|
|
139
|
+
|
|
104
140
|
/** 检查点击事件是否在 range 范围内 */
|
|
105
141
|
internalCheckInRange(e) {
|
|
106
|
-
const {
|
|
142
|
+
const {
|
|
143
|
+
range
|
|
144
|
+
} = this.config;
|
|
107
145
|
if (!range) return false;
|
|
108
|
-
if (typeof range ===
|
|
146
|
+
if (typeof range === 'function') return range(e);
|
|
109
147
|
return range.contains(e.target);
|
|
110
148
|
}
|
|
149
|
+
|
|
111
150
|
/** 触发失焦回调 */
|
|
112
151
|
internalTriggerBlur() {
|
|
113
152
|
this.config.onBlur?.();
|
|
114
153
|
}
|
|
154
|
+
|
|
115
155
|
/** 触发保存回调,返回 true 表示已处理 */
|
|
116
156
|
internalTriggerSave() {
|
|
117
157
|
if (this.config.onSave) {
|
|
@@ -120,16 +160,16 @@ class Focusable {
|
|
|
120
160
|
}
|
|
121
161
|
return false;
|
|
122
162
|
}
|
|
163
|
+
|
|
123
164
|
/** 触发 ESC 回调 */
|
|
124
165
|
internalTriggerEsc() {
|
|
125
166
|
this.config.onEsc?.();
|
|
126
167
|
}
|
|
168
|
+
|
|
127
169
|
/** 触发激活回调 */
|
|
128
170
|
internalTriggerActive() {
|
|
129
171
|
this.config.onActive?.();
|
|
130
172
|
}
|
|
131
173
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
Focusable
|
|
135
|
-
};
|
|
174
|
+
|
|
175
|
+
export { FocusTracker, Focusable };
|
package/dist/esm/utils/index.mjs
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
export {
|
|
7
|
-
|
|
8
|
-
getBuiltInLocale,
|
|
9
|
-
zhCN
|
|
10
|
-
};
|
|
1
|
+
export { createContent } from './vue.mjs';
|
|
2
|
+
export { uniqueId } from './unique-id.mjs';
|
|
3
|
+
export { FocusTracker, Focusable } from './focus-tracker.mjs';
|
|
4
|
+
export { createPluginEventBus, emitSystemEvent, getGlobalEmitter, onSystemEvent } from './event-bus.mjs';
|
|
5
|
+
export { getBuiltInLocale } from '../locales/index.mjs';
|
|
6
|
+
export { enUS } from '../locales/en-US.mjs';
|
|
7
|
+
export { zhCN } from '../locales/zh-CN.mjs';
|
package/dist/esm/utils/vue.mjs
CHANGED
|
@@ -1,17 +1,25 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isVNode, cloneVNode, h, Text } from 'vue';
|
|
2
|
+
|
|
2
3
|
function createContent(content, extraProps = {}) {
|
|
3
4
|
if (!content) return null;
|
|
5
|
+
|
|
6
|
+
// 1. 是 VNode -> 克隆并合并属性
|
|
4
7
|
if (isVNode(content)) {
|
|
5
8
|
return cloneVNode(content, extraProps);
|
|
6
9
|
}
|
|
7
|
-
|
|
10
|
+
|
|
11
|
+
// 2. 是字符串
|
|
12
|
+
if (typeof content === 'string') {
|
|
13
|
+
// 如果需要附加属性,则包裹在 span 中
|
|
8
14
|
if (Object.keys(extraProps).length > 0) {
|
|
9
15
|
return h(content, extraProps, content);
|
|
10
16
|
}
|
|
17
|
+
// 否则创建纯文本节点,避免多余 DOM
|
|
11
18
|
return h(Text, null, content);
|
|
12
19
|
}
|
|
20
|
+
|
|
21
|
+
// 3. 否则视为组件(对象或函数)
|
|
13
22
|
return h(content, extraProps);
|
|
14
23
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
};
|
|
24
|
+
|
|
25
|
+
export { createContent };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../src/managers/skeleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAuB,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAsB,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChG,OAAO,EACL,YAAY,EAEZ,KAAK,cAAc,EAEpB,MAAM,UAAU,CAAC;AAGlB,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IACjD,UAAU,EAAE,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IACpD,WAAW,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC/C,cAAc,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAClD,cAAc,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAClD,YAAY,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAChD,eAAe,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACnD,eAAe,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACnD,UAAU,EAAE,KAAK,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC/C,SAAS,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9B,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;IACxC,YAAY,IAAI,OAAO,GAAG,MAAM,CAAC;IACjC,MAAM,IAAI,OAAO,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAChE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,IAAI,IAAI,CAAC;IACb,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACrE,eAAe,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,CAAC,SAAS,UAAU,GAAG,cAAc,EAChF,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAChE,gBAAgB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC/B;AAED,wBAAgB,WAAW,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../src/managers/skeleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,EACf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAuB,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAsB,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChG,OAAO,EACL,YAAY,EAEZ,KAAK,cAAc,EAEpB,MAAM,UAAU,CAAC;AAGlB,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IACjD,UAAU,EAAE,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IACpD,WAAW,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC/C,cAAc,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAClD,cAAc,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAClD,YAAY,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAChD,eAAe,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACnD,eAAe,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACnD,UAAU,EAAE,KAAK,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC/C,SAAS,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9B,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;IACxC,YAAY,IAAI,OAAO,GAAG,MAAM,CAAC;IACjC,MAAM,IAAI,OAAO,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAChE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,IAAI,IAAI,CAAC;IACb,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACrE,eAAe,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,CAAC,SAAS,UAAU,GAAG,cAAc,EAChF,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAChE,gBAAgB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC/B;AAED,wBAAgB,WAAW,IAAI,SAAS,CAqOvC"}
|
package/dist/umd/index.js
CHANGED
|
@@ -2694,7 +2694,7 @@
|
|
|
2694
2694
|
return locale;
|
|
2695
2695
|
}
|
|
2696
2696
|
|
|
2697
|
-
function _isSlot$
|
|
2697
|
+
function _isSlot$1(s) {
|
|
2698
2698
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
2699
2699
|
}
|
|
2700
2700
|
const viewModeKeys = new Set(['DockPinned', 'DockUnpinned', 'Undock']);
|
|
@@ -2759,7 +2759,7 @@
|
|
|
2759
2759
|
"title": item.label,
|
|
2760
2760
|
"icon": item.icon,
|
|
2761
2761
|
"getContainer": () => panelRef.value
|
|
2762
|
-
}, _isSlot$
|
|
2762
|
+
}, _isSlot$1(_slot = renderItems(item.children, currentMode)) ? _slot : {
|
|
2763
2763
|
default: () => [_slot]
|
|
2764
2764
|
});
|
|
2765
2765
|
}
|
|
@@ -3051,32 +3051,6 @@
|
|
|
3051
3051
|
}
|
|
3052
3052
|
});
|
|
3053
3053
|
|
|
3054
|
-
function _isSlot$1(s) {
|
|
3055
|
-
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
3056
|
-
}
|
|
3057
|
-
vue.defineComponent({
|
|
3058
|
-
name: 'CenterView',
|
|
3059
|
-
props: {
|
|
3060
|
-
widget: Object,
|
|
3061
|
-
anchor: {
|
|
3062
|
-
type: String,
|
|
3063
|
-
required: true
|
|
3064
|
-
}
|
|
3065
|
-
},
|
|
3066
|
-
setup(props) {
|
|
3067
|
-
return () => {
|
|
3068
|
-
let _slot;
|
|
3069
|
-
if (!props.widget) return null;
|
|
3070
|
-
return vue.createVNode(vue.Teleport, {
|
|
3071
|
-
"defer": true,
|
|
3072
|
-
"to": props.anchor
|
|
3073
|
-
}, _isSlot$1(_slot = props.widget.renderContent()) ? _slot : {
|
|
3074
|
-
default: () => [_slot]
|
|
3075
|
-
});
|
|
3076
|
-
};
|
|
3077
|
-
}
|
|
3078
|
-
});
|
|
3079
|
-
|
|
3080
3054
|
function _isSlot(s) {
|
|
3081
3055
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
3082
3056
|
}
|
|
@@ -3812,8 +3786,6 @@
|
|
|
3812
3786
|
const containers = new Map();
|
|
3813
3787
|
const focusTracker = new FocusTracker();
|
|
3814
3788
|
const event = createPluginEventBus('skeleton');
|
|
3815
|
-
|
|
3816
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
3817
3789
|
const locale = vue.ref(getBuiltInLocale('zh-CN'));
|
|
3818
3790
|
function setLocale(name) {
|
|
3819
3791
|
locale.value = getBuiltInLocale(name);
|
package/package.json
CHANGED
|
@@ -1,30 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "layplux",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "IDE-like window system and plugin framework for the web",
|
|
5
|
+
"files": [
|
|
6
|
+
"dist"
|
|
7
|
+
],
|
|
5
8
|
"type": "module",
|
|
9
|
+
"sideEffects": [
|
|
10
|
+
"*.css",
|
|
11
|
+
"*.scss"
|
|
12
|
+
],
|
|
6
13
|
"main": "./dist/cjs/index.cjs",
|
|
7
14
|
"module": "./dist/esm/index.mjs",
|
|
8
|
-
"unpkg": "./dist/umd/index.js",
|
|
9
15
|
"types": "./dist/types/index.d.ts",
|
|
10
16
|
"exports": {
|
|
11
17
|
".": {
|
|
12
18
|
"types": "./dist/types/index.d.ts",
|
|
13
19
|
"import": "./dist/esm/index.mjs",
|
|
14
|
-
"require": "./dist/cjs/index.cjs"
|
|
15
|
-
|
|
16
|
-
"./*": {
|
|
17
|
-
"types": "./dist/types/*.d.ts",
|
|
18
|
-
"import": "./dist/esm/*.mjs",
|
|
19
|
-
"require": "./dist/cjs/*.cjs"
|
|
20
|
+
"require": "./dist/cjs/index.cjs",
|
|
21
|
+
"default": "./dist/esm/index.mjs"
|
|
20
22
|
},
|
|
21
|
-
"./style": "./dist/style
|
|
22
|
-
"./
|
|
23
|
-
|
|
23
|
+
"./dist/style/*": "./dist/style/*",
|
|
24
|
+
"./scss": {
|
|
25
|
+
"sass": "./dist/style/layplux.scss",
|
|
26
|
+
"default": "./dist/style/layplux.scss"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"publishConfig": {
|
|
30
|
+
"access": "public"
|
|
24
31
|
},
|
|
25
|
-
"files": [
|
|
26
|
-
"dist"
|
|
27
|
-
],
|
|
28
32
|
"dependencies": {
|
|
29
33
|
"eventemitter2": "^6.4.9"
|
|
30
34
|
},
|