@meta2d/core 1.0.67 → 1.0.68

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/src/theme.d.ts CHANGED
@@ -10,4 +10,59 @@ export interface Theme {
10
10
  };
11
11
  };
12
12
  }
13
+ export declare const themeKeys: string[];
13
14
  export declare const defaultTheme: Theme;
15
+ export declare const le5leTheme: {
16
+ cssRuleSelector: string;
17
+ style_prefix: string;
18
+ vendor_css_prefix: string;
19
+ dark: string[];
20
+ light: string[];
21
+ /**
22
+ * @description 添加厂商前缀,如:--le-text-color-primary: #7f838c
23
+ * @author Joseph Ho
24
+ * @date 26/12/2024
25
+ * @param {*} theme
26
+ * @returns {*}
27
+ */
28
+ _addVendorCssPrefix(themeList: any): any;
29
+ /**
30
+ * @description 创建主题css变量样式表
31
+ * @author Joseph Ho
32
+ * @date 26/12/2024
33
+ * @param {*} theme 主题名
34
+ * @param {*} id 样式表id,用于查找样式表,确保唯一
35
+ */
36
+ createThemeSheet(theme: any, id: any): void;
37
+ /**
38
+ * @description 销毁主题样式表,根据id查找样式表并删除,释放内存空间,避免内存泄漏
39
+ * @author Joseph Ho
40
+ * @date 26/12/2024
41
+ * @param {*} id
42
+ */
43
+ destroyThemeSheet(id: any): void;
44
+ /**
45
+ * @description 根据主题名称获取主题变量
46
+ * @author Joseph Ho
47
+ * @date 26/12/2024
48
+ * @param {*} theme
49
+ * @returns {*}
50
+ */
51
+ getTheme(theme: any): any;
52
+ /**
53
+ * @description 根据id查找样式表
54
+ * @author Joseph Ho
55
+ * @date 26/12/2024
56
+ * @param {*} id
57
+ * @returns {*}
58
+ */
59
+ findStyleSheet(id: any): CSSStyleSheet;
60
+ /**
61
+ * @description 更新样式表的主题变量
62
+ * @author Joseph Ho
63
+ * @date 26/12/2024
64
+ * @param {*} id
65
+ * @param {*} theme
66
+ */
67
+ updateCssRule(id: any, themeName: any): void;
68
+ };
package/src/theme.js CHANGED
@@ -1,3 +1,23 @@
1
+ export const themeKeys = [
2
+ 'color',
3
+ 'hoverColor',
4
+ 'activeColor',
5
+ 'disabledColor',
6
+ 'background',
7
+ 'activeBackground', //有无必要
8
+ 'hoverBackground',
9
+ 'disabledBackground',
10
+ 'anchorColor',
11
+ 'hoverAnchorColor',
12
+ 'anchorBackground',
13
+ 'animateColor',
14
+ 'textColor',
15
+ 'ruleColor',
16
+ 'ruleLineColor',
17
+ 'gridColor',
18
+ 'lineColor',
19
+ // "ruleOptions"
20
+ ];
1
21
  export const defaultTheme = {
2
22
  dark: {
3
23
  color: '#bdc7db',
@@ -20,4 +40,167 @@ export const defaultTheme = {
20
40
  },
21
41
  }
22
42
  };
43
+ // le5le主题对象
44
+ export const le5leTheme = {
45
+ "cssRuleSelector": ":root",
46
+ "style_prefix": "le5le_",
47
+ "vendor_css_prefix": "--le-",
48
+ "dark": [
49
+ 'text-color-primary: #7f838c',
50
+ 'text-color-second: rgba(255,255,255,0.90)',
51
+ 'text-color-disabled: rgba(255,255,255,0.40)',
52
+ 'container-bg: rgba(21,24,28,0.95)',
53
+ 'form-bg: #2a2f36',
54
+ 'date-picker-cell-active-with-range-bg: #2c4475',
55
+ 'component-disabled-bg-color: #252b37',
56
+ 'data-picker-cell-active-bg: #4583ff',
57
+ 'active-bg: #25375b',
58
+ 'popcontent-bg: #252b37',
59
+ 'bdcolor-outside: #4583ff',
60
+ 'bdcolor-form: #424b61',
61
+ 'bdcolor-inside: rgba(255,255,255,0.40)',
62
+ 'shadow: 0px 1px 10px 0px rgba(0,0,0,0.05), 0px 4px 5px 0px rgba(0,0,0,0.08), 0px 2px 4px -1px rgba(0,0,0,0.12)',
63
+ 'radius: 4px',
64
+ ],
65
+ "light": [
66
+ 'text-color-primary: #7f838c',
67
+ 'text-color-second: #171B27',
68
+ 'text-color-disabled: rgba(0, 0, 0, 0.6)',
69
+ 'container-bg: #ffffff',
70
+ 'form-bg: #EFF1F4',
71
+ 'date-picker-cell-active-with-range-bg: #f2f3ff',
72
+ 'component-disabled-bg-color: #eee',
73
+ 'data-picker-cell-active-bg: #0052d9',
74
+ 'active-bg: #f2f3ff',
75
+ 'popcontent-bg: #ffffff',
76
+ 'bdcolor-outside: transparent',
77
+ 'bdcolor-form: #d4d6d9',
78
+ 'bdcolor-inside: #e7e7e7',
79
+ 'shadow: 0px 2px 4px 0px rgba(107,113,121,0.25)',
80
+ 'radius: 4px',
81
+ ],
82
+ /**
83
+ * @description 添加厂商前缀,如:--le-text-color-primary: #7f838c
84
+ * @author Joseph Ho
85
+ * @date 26/12/2024
86
+ * @param {*} theme
87
+ * @returns {*}
88
+ */
89
+ _addVendorCssPrefix(themeList) {
90
+ return themeList.map(item => {
91
+ const [key, value] = item.split(':');
92
+ return `${this.vendor_css_prefix}${key.trim()}:${value.trim()}`;
93
+ });
94
+ },
95
+ /**
96
+ * @description 创建主题css变量样式表
97
+ * @author Joseph Ho
98
+ * @date 26/12/2024
99
+ * @param {*} theme 主题名
100
+ * @param {*} id 样式表id,用于查找样式表,确保唯一
101
+ */
102
+ createThemeSheet(theme, id) {
103
+ const style = document.createElement('style');
104
+ style.type = 'text/css';
105
+ style.id = this.style_prefix + id;
106
+ document.head.appendChild(style);
107
+ // 设置初始样式变量
108
+ const _theme = theme || 'light';
109
+ const cssDeclarations = this.getTheme(_theme);
110
+ const newRuleText = `${this.cssRuleSelector} { ${cssDeclarations.join(';')} }`;
111
+ style.innerHTML = newRuleText;
112
+ },
113
+ /**
114
+ * @description 销毁主题样式表,根据id查找样式表并删除,释放内存空间,避免内存泄漏
115
+ * @author Joseph Ho
116
+ * @date 26/12/2024
117
+ * @param {*} id
118
+ */
119
+ destroyThemeSheet(id) {
120
+ const styleSheet = this.findStyleSheet(this.style_prefix + id);
121
+ if (styleSheet) {
122
+ document.head.removeChild(styleSheet.ownerNode);
123
+ }
124
+ },
125
+ /**
126
+ * @description 根据主题名称获取主题变量
127
+ * @author Joseph Ho
128
+ * @date 26/12/2024
129
+ * @param {*} theme
130
+ * @returns {*}
131
+ */
132
+ getTheme(theme) {
133
+ return this._addVendorCssPrefix(this[theme] || this.light);
134
+ },
135
+ /**
136
+ * @description 根据id查找样式表
137
+ * @author Joseph Ho
138
+ * @date 26/12/2024
139
+ * @param {*} id
140
+ * @returns {*}
141
+ */
142
+ findStyleSheet(id) {
143
+ const styleSheets = document.styleSheets;
144
+ for (let i = 0; i < styleSheets.length; i++) {
145
+ const styleSheet = styleSheets[i];
146
+ if (styleSheet.ownerNode && styleSheet.ownerNode.id === id) {
147
+ return styleSheet;
148
+ }
149
+ }
150
+ return null;
151
+ },
152
+ /**
153
+ * @description 更新样式表的主题变量
154
+ * @author Joseph Ho
155
+ * @date 26/12/2024
156
+ * @param {*} id
157
+ * @param {*} theme
158
+ */
159
+ updateCssRule(id, themeName) {
160
+ const theme = this.getTheme(themeName);
161
+ const newCssDeclarations = theme;
162
+ const styleSheet = this.findStyleSheet(this.style_prefix + id);
163
+ let ruleExists = false;
164
+ for (let i = 0; i < styleSheet.cssRules.length; i++) {
165
+ const rule = styleSheet.cssRules[i];
166
+ if (rule.selectorText === this.cssRuleSelector) {
167
+ ruleExists = true;
168
+ break;
169
+ }
170
+ }
171
+ if (ruleExists) {
172
+ // 先删除旧规则,再插入新规则
173
+ for (let i = 0; i < styleSheet.cssRules.length; i++) {
174
+ const rule = styleSheet.cssRules[i];
175
+ if (rule.selectorText === this.cssRuleSelector) {
176
+ if (styleSheet.insertRule) {
177
+ styleSheet.deleteRule(i);
178
+ const newRuleText = `${this.cssRuleSelector} { ${newCssDeclarations.join(';')} }`;
179
+ styleSheet.insertRule(newRuleText, i);
180
+ }
181
+ else if (styleSheet.addRule) {
182
+ rule.style.cssText = newCssDeclarations.join(';');
183
+ }
184
+ }
185
+ }
186
+ }
187
+ else {
188
+ // 插入新规则
189
+ if (styleSheet.insertRule) {
190
+ const newRuleText = `${this.cssRuleSelector} { ${newCssDeclarations.join(';')} }`;
191
+ styleSheet.insertRule(newRuleText, styleSheet.cssRules.length);
192
+ }
193
+ else if (styleSheet.addRule) {
194
+ const existingRootRule = styleSheet.cssRules.find(rule => rule.selectorText === this.cssRuleSelector);
195
+ if (existingRootRule) {
196
+ const declarationsToAdd = newCssDeclarations.join(';');
197
+ existingRootRule.style.cssText += `; ${declarationsToAdd}`;
198
+ }
199
+ else {
200
+ styleSheet.addRule(this.cssRuleSelector, newCssDeclarations.join(';'));
201
+ }
202
+ }
203
+ }
204
+ }
205
+ };
23
206
  //# sourceMappingURL=theme.js.map
package/src/theme.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../packages/core/src/theme.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,YAAY,GAAU;IACjC,IAAI,EAAC;QACH,KAAK,EAAC,SAAS;QACf,UAAU,EAAC,SAAS;QACpB,gBAAgB,EAAC,SAAS;QAC1B,SAAS,EAAC,SAAS;QACnB,WAAW,EAAC;YACV,UAAU,EAAC,SAAS;YACpB,SAAS,EAAC,SAAS;SACpB;KACF;IACD,KAAK,EAAC;QACJ,KAAK,EAAC,SAAS;QACf,UAAU,EAAC,SAAS;QACpB,gBAAgB,EAAC,SAAS;QAC1B,SAAS,EAAC,SAAS;QACnB,WAAW,EAAC;YACV,UAAU,EAAC,SAAS;YACpB,SAAS,EAAC,SAAS;SACpB;KACF;CACF,CAAA"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../packages/core/src/theme.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { Pen } from '../pen';
2
- export declare function panel(pen: Pen, ctx?: CanvasRenderingContext2D): Path2D;
@@ -1 +0,0 @@
1
- {"version":3,"file":"panel.js","sourceRoot":"","sources":["../../../../packages/core/src/diagrams/panel.ts"],"names":[],"mappings":"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"}