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.
Files changed (91) hide show
  1. package/dist/cjs/components/center-view/index.cjs +18 -28
  2. package/dist/cjs/components/corner-glow/index.cjs +11 -28
  3. package/dist/cjs/components/dropdown/index.cjs +136 -130
  4. package/dist/cjs/components/icon/index.cjs +29 -51
  5. package/dist/cjs/components/index.cjs +24 -25
  6. package/dist/cjs/components/panel-view/index.cjs +111 -114
  7. package/dist/cjs/components/popup/index.cjs +166 -151
  8. package/dist/cjs/components/title/index.cjs +34 -47
  9. package/dist/cjs/components/tooltip/index.cjs +70 -61
  10. package/dist/cjs/components/widget/index.cjs +52 -72
  11. package/dist/cjs/index.cjs +13 -40
  12. package/dist/cjs/layout/glass-overlay.cjs +15 -28
  13. package/dist/cjs/layout/layered-manager.cjs +20 -29
  14. package/dist/cjs/layout/layplux.cjs +19 -32
  15. package/dist/cjs/layout/root-pane.cjs +20 -38
  16. package/dist/cjs/layout/skeleton/bottom-area.cjs +26 -43
  17. package/dist/cjs/layout/skeleton/bottom-left-area.cjs +12 -29
  18. package/dist/cjs/layout/skeleton/bottom-right-area.cjs +11 -28
  19. package/dist/cjs/layout/skeleton/center-area.cjs +278 -371
  20. package/dist/cjs/layout/skeleton/index.cjs +7 -24
  21. package/dist/cjs/layout/skeleton/left-bottom-area.cjs +12 -29
  22. package/dist/cjs/layout/skeleton/left-top-area.cjs +12 -29
  23. package/dist/cjs/layout/skeleton/right-bottom-area.cjs +11 -28
  24. package/dist/cjs/layout/skeleton/right-top-area.cjs +11 -28
  25. package/dist/cjs/layout/skeleton/skeleton.cjs +55 -60
  26. package/dist/cjs/layout/skeleton/top-area.cjs +26 -43
  27. package/dist/cjs/locales/en-US.cjs +11 -30
  28. package/dist/cjs/locales/index.cjs +12 -30
  29. package/dist/cjs/locales/zh-CN.cjs +11 -30
  30. package/dist/cjs/managers/area.cjs +12 -25
  31. package/dist/cjs/managers/index.cjs +12 -20
  32. package/dist/cjs/managers/pane.cjs +12 -26
  33. package/dist/cjs/managers/skeleton.cjs +112 -124
  34. package/dist/cjs/managers/theme.cjs +8 -29
  35. package/dist/cjs/managers/widget-container.cjs +31 -31
  36. package/dist/cjs/managers/widget.cjs +63 -50
  37. package/dist/cjs/types/config.cjs +2 -16
  38. package/dist/cjs/types/index.cjs +2 -18
  39. package/dist/cjs/types/locale.cjs +2 -16
  40. package/dist/cjs/utils/event-bus.cjs +53 -49
  41. package/dist/cjs/utils/focus-tracker.cjs +66 -42
  42. package/dist/cjs/utils/index.cjs +23 -31
  43. package/dist/cjs/utils/unique-id.cjs +5 -24
  44. package/dist/cjs/utils/vue.cjs +20 -30
  45. package/dist/esm/components/center-view/index.mjs +15 -7
  46. package/dist/esm/components/corner-glow/index.mjs +8 -7
  47. package/dist/esm/components/dropdown/index.mjs +117 -101
  48. package/dist/esm/components/icon/index.mjs +24 -30
  49. package/dist/esm/components/index.mjs +7 -8
  50. package/dist/esm/components/panel-view/index.mjs +107 -98
  51. package/dist/esm/components/popup/index.mjs +155 -130
  52. package/dist/esm/components/title/index.mjs +29 -24
  53. package/dist/esm/components/tooltip/index.mjs +67 -40
  54. package/dist/esm/components/widget/index.mjs +45 -48
  55. package/dist/esm/index.mjs +4 -10
  56. package/dist/esm/layout/glass-overlay.mjs +12 -7
  57. package/dist/esm/layout/layered-manager.mjs +17 -8
  58. package/dist/esm/layout/layplux.mjs +14 -11
  59. package/dist/esm/layout/root-pane.mjs +16 -16
  60. package/dist/esm/layout/skeleton/bottom-area.mjs +23 -22
  61. package/dist/esm/layout/skeleton/bottom-left-area.mjs +9 -8
  62. package/dist/esm/layout/skeleton/bottom-right-area.mjs +8 -7
  63. package/dist/esm/layout/skeleton/center-area.mjs +251 -333
  64. package/dist/esm/layout/skeleton/index.mjs +1 -4
  65. package/dist/esm/layout/skeleton/left-bottom-area.mjs +9 -8
  66. package/dist/esm/layout/skeleton/left-top-area.mjs +9 -8
  67. package/dist/esm/layout/skeleton/right-bottom-area.mjs +8 -7
  68. package/dist/esm/layout/skeleton/right-top-area.mjs +8 -7
  69. package/dist/esm/layout/skeleton/skeleton.mjs +52 -39
  70. package/dist/esm/layout/skeleton/top-area.mjs +23 -22
  71. package/dist/esm/locales/en-US.mjs +9 -10
  72. package/dist/esm/locales/index.mjs +7 -9
  73. package/dist/esm/locales/zh-CN.mjs +9 -10
  74. package/dist/esm/managers/area.mjs +10 -5
  75. package/dist/esm/managers/index.mjs +3 -3
  76. package/dist/esm/managers/pane.mjs +9 -5
  77. package/dist/esm/managers/skeleton.mjs +97 -95
  78. package/dist/esm/managers/theme.mjs +6 -9
  79. package/dist/esm/managers/widget-container.mjs +28 -10
  80. package/dist/esm/managers/widget.mjs +55 -25
  81. package/dist/esm/types/config.mjs +1 -0
  82. package/dist/esm/types/index.mjs +1 -1
  83. package/dist/esm/types/locale.mjs +1 -0
  84. package/dist/esm/utils/event-bus.mjs +46 -17
  85. package/dist/esm/utils/focus-tracker.mjs +63 -23
  86. package/dist/esm/utils/index.mjs +7 -10
  87. package/dist/esm/utils/unique-id.mjs +3 -4
  88. package/dist/esm/utils/vue.mjs +13 -5
  89. package/dist/types/managers/skeleton.d.ts.map +1 -1
  90. package/dist/umd/index.js +2 -30
  91. package/package.json +18 -14
@@ -1,58 +1,77 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
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
- constructor() {
6
- /** 焦点栈,栈顶为当前聚焦项 */
7
- __publicField(this, "actives", []);
8
- /** modal 弹层注册表,用于检查是否有 modal 正在打开 */
9
- __publicField(this, "modals", []);
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({ checkDown, checkOpen });
23
+ this.modals.push({
24
+ checkDown,
25
+ checkOpen
26
+ });
18
27
  }
28
+
19
29
  /** 是否有 modal 弹层正在打开 */
20
30
  checkModalOpen() {
21
- return this.modals.some((item) => item.checkOpen());
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 { first } = this;
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 = (e) => {
43
- const { first } = this;
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("click", checkDown, true);
50
- return () => win.document.removeEventListener("click", checkDown, true);
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 { range } = this.config;
142
+ const {
143
+ range
144
+ } = this.config;
107
145
  if (!range) return false;
108
- if (typeof range === "function") return range(e);
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
- export {
133
- FocusTracker,
134
- Focusable
135
- };
174
+
175
+ export { FocusTracker, Focusable };
@@ -1,10 +1,7 @@
1
- export * from "./vue.mjs";
2
- export * from "./unique-id.mjs";
3
- export * from "./focus-tracker.mjs";
4
- export * from "./event-bus.mjs";
5
- import { getBuiltInLocale, zhCN, enUS } from "../locales/index.mjs";
6
- export {
7
- enUS,
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';
@@ -1,7 +1,6 @@
1
1
  let guid = Date.now();
2
- function uniqueId(prefix = "") {
2
+ function uniqueId(prefix = '') {
3
3
  return `${prefix}${(guid++).toString(36).toLowerCase()}`;
4
4
  }
5
- export {
6
- uniqueId
7
- };
5
+
6
+ export { uniqueId };
@@ -1,17 +1,25 @@
1
- import { h, isVNode, cloneVNode, Text } from "vue";
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
- if (typeof content === "string") {
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
- export {
16
- createContent
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,CAsOvC"}
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$2(s) {
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$2(_slot = renderItems(item.children, currentMode)) ? _slot : {
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": "1.0.1",
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/index.css",
22
- "./style/scss": "./dist/style/layplux.scss",
23
- "./scss": "./dist/style/layplux.scss"
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
  },