@mantou/gem 1.7.11 → 2.0.0-alpha.0

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 (127) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -1
  3. package/dist/gem.es.js +1962 -1689
  4. package/dist/gem.umd.js +52 -54
  5. package/elements/base/dialog.d.ts +0 -11
  6. package/elements/base/dialog.d.ts.map +1 -1
  7. package/elements/base/dialog.js +93 -66
  8. package/elements/base/dialog.js.map +1 -1
  9. package/elements/base/gesture.d.ts +1 -2
  10. package/elements/base/gesture.d.ts.map +1 -1
  11. package/elements/base/gesture.js +157 -96
  12. package/elements/base/gesture.js.map +1 -1
  13. package/elements/base/link.d.ts +5 -5
  14. package/elements/base/link.d.ts.map +1 -1
  15. package/elements/base/link.js +249 -145
  16. package/elements/base/link.js.map +1 -1
  17. package/elements/base/modal-factory.d.ts +147 -139
  18. package/elements/base/modal-factory.d.ts.map +1 -1
  19. package/elements/base/modal-factory.js +84 -25
  20. package/elements/base/modal-factory.js.map +1 -1
  21. package/elements/base/reflect.d.ts +0 -1
  22. package/elements/base/reflect.d.ts.map +1 -1
  23. package/elements/base/reflect.js +83 -38
  24. package/elements/base/reflect.js.map +1 -1
  25. package/elements/base/route.d.ts +12 -24
  26. package/elements/base/route.d.ts.map +1 -1
  27. package/elements/base/route.js +263 -164
  28. package/elements/base/route.js.map +1 -1
  29. package/elements/base/title.d.ts +3 -11
  30. package/elements/base/title.d.ts.map +1 -1
  31. package/elements/base/title.js +110 -59
  32. package/elements/base/title.js.map +1 -1
  33. package/elements/base/unsafe.d.ts +0 -1
  34. package/elements/base/unsafe.d.ts.map +1 -1
  35. package/elements/base/unsafe.js +82 -33
  36. package/elements/base/unsafe.js.map +1 -1
  37. package/elements/base/use.d.ts.map +1 -1
  38. package/elements/base/use.js +95 -47
  39. package/elements/base/use.js.map +1 -1
  40. package/helper/i18n.d.ts +4 -9
  41. package/helper/i18n.d.ts.map +1 -1
  42. package/helper/i18n.js +69 -65
  43. package/helper/i18n.js.map +1 -1
  44. package/helper/logger.js +10 -9
  45. package/helper/logger.js.map +1 -1
  46. package/helper/react-shim.d.ts +15 -0
  47. package/helper/react-shim.d.ts.map +1 -0
  48. package/helper/react-shim.js +56 -0
  49. package/helper/react-shim.js.map +1 -0
  50. package/helper/react-utils.d.ts +15 -0
  51. package/helper/react-utils.d.ts.map +1 -0
  52. package/helper/react-utils.js +50 -0
  53. package/helper/react-utils.js.map +1 -0
  54. package/helper/request.d.ts +17 -7
  55. package/helper/request.d.ts.map +1 -1
  56. package/helper/request.js +103 -53
  57. package/helper/request.js.map +1 -1
  58. package/helper/ssr-shim.d.ts.map +1 -1
  59. package/helper/ssr-shim.js +8 -1
  60. package/helper/ssr-shim.js.map +1 -1
  61. package/helper/theme.d.ts +14 -21
  62. package/helper/theme.d.ts.map +1 -1
  63. package/helper/theme.js +55 -38
  64. package/helper/theme.js.map +1 -1
  65. package/index.d.ts +4 -3
  66. package/index.d.ts.map +1 -1
  67. package/index.js +5 -3
  68. package/index.js.map +1 -1
  69. package/lib/decorators.d.ts +74 -41
  70. package/lib/decorators.d.ts.map +1 -1
  71. package/lib/decorators.js +324 -84
  72. package/lib/decorators.js.map +1 -1
  73. package/lib/directives.d.ts +4 -0
  74. package/lib/directives.d.ts.map +1 -0
  75. package/lib/directives.js +5 -0
  76. package/lib/directives.js.map +1 -0
  77. package/lib/element.d.ts +112 -110
  78. package/lib/element.d.ts.map +1 -1
  79. package/lib/element.js +431 -470
  80. package/lib/element.js.map +1 -1
  81. package/lib/history.d.ts +4 -0
  82. package/lib/history.d.ts.map +1 -1
  83. package/lib/history.js +12 -13
  84. package/lib/history.js.map +1 -1
  85. package/lib/store.d.ts +1 -1
  86. package/lib/store.d.ts.map +1 -1
  87. package/lib/store.js +4 -5
  88. package/lib/store.js.map +1 -1
  89. package/lib/utils.d.ts +3 -43
  90. package/lib/utils.d.ts.map +1 -1
  91. package/lib/utils.js +61 -246
  92. package/lib/utils.js.map +1 -1
  93. package/lib/version.d.ts +1 -1
  94. package/lib/version.d.ts.map +1 -1
  95. package/lib/version.js +2 -1
  96. package/lib/version.js.map +1 -1
  97. package/package.json +12 -11
  98. package/src/dist.ts +3 -2
  99. package/src/elements/base/dialog.ts +10 -20
  100. package/src/elements/base/gesture.ts +16 -14
  101. package/src/elements/base/link.ts +65 -44
  102. package/src/elements/base/modal-factory.ts +14 -14
  103. package/src/elements/base/reflect.ts +24 -32
  104. package/src/elements/base/route.ts +55 -68
  105. package/src/elements/base/title.ts +25 -42
  106. package/src/elements/base/unsafe.ts +12 -21
  107. package/src/elements/base/use.ts +17 -13
  108. package/src/helper/i18n.ts +20 -14
  109. package/src/helper/react-utils.ts +66 -0
  110. package/src/helper/request.ts +122 -53
  111. package/src/helper/ssr-shim.ts +8 -1
  112. package/src/helper/theme.ts +72 -45
  113. package/src/index.ts +6 -4
  114. package/src/lib/decorators.ts +394 -93
  115. package/src/lib/directives.ts +6 -0
  116. package/src/lib/element.ts +473 -499
  117. package/src/lib/history.ts +4 -3
  118. package/src/lib/store.ts +2 -1
  119. package/src/lib/utils.ts +19 -205
  120. package/src/lib/version.ts +2 -1
  121. package/src/test/elements/link.test.ts +1 -1
  122. package/src/test/elements/title.test.ts +1 -0
  123. package/src/test/gem-element/advance.test.ts +72 -49
  124. package/src/test/gem-element/basic.test.ts +37 -50
  125. package/src/test/gem-element/decorators.test.ts +22 -21
  126. package/src/test/gem-element/multi.test.ts +5 -5
  127. package/src/test/utils.test.ts +16 -38
package/helper/request.js CHANGED
@@ -1,57 +1,107 @@
1
- export const defaultReqInit = {
2
- headers: {
3
- 'Content-Type': 'application/json',
4
- },
5
- };
6
- export async function request(uri, options = {}) {
7
- const res = await fetch(uri, {
8
- ...defaultReqInit,
9
- ...options,
10
- });
11
- if (res.status === 0)
12
- throw new Error('Request fail');
13
- if (res.status >= 500)
14
- throw new Error(res.statusText);
15
- try {
16
- const data = await res.json();
17
- if (res.status >= 400)
18
- throw new Error((data === null || data === void 0 ? void 0 : data.message) || res.statusText, { cause: data });
19
- return data;
20
- }
21
- catch (_a) {
22
- throw new Error('Server error');
23
- }
24
- }
1
+ import { GemError } from '../lib/utils';
25
2
  const TypedArray = Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array())).constructor;
26
- function serializationBody(body) {
27
- if (body instanceof FormData ||
28
- body instanceof Blob ||
29
- body instanceof TypedArray ||
30
- body instanceof URLSearchParams ||
31
- body instanceof ReadableStream ||
32
- body instanceof ArrayBuffer) {
3
+ function initRequest(options = {}) {
4
+ const { origin = location.origin, base = '', appendHeaders = () => ({}), transformInput = (p) => p, transformOutput = (p) => p, ...reqInit } = options;
5
+ const serializationBody = (body) => {
6
+ if (body instanceof FormData ||
7
+ body instanceof Blob ||
8
+ body instanceof TypedArray ||
9
+ body instanceof URLSearchParams ||
10
+ body instanceof ReadableStream ||
11
+ body instanceof ArrayBuffer) {
12
+ return body;
13
+ }
14
+ if (typeof body === 'object') {
15
+ return JSON.stringify(body);
16
+ }
33
17
  return body;
34
- }
35
- if (typeof body === 'object') {
36
- return JSON.stringify(body);
37
- }
38
- return body;
39
- }
40
- function serializationUrl(url, params) {
41
- const { origin, pathname, search } = new URL(url, location.origin);
42
- const query = new URLSearchParams(params).toString();
43
- return `${origin}${pathname}${search ? `${search}&` : query ? '?' : ''}${query}`;
44
- }
45
- export function get(url, params) {
46
- return request(serializationUrl(url, params), { method: 'GET' });
47
- }
48
- export function del(url, params) {
49
- return request(serializationUrl(url, params), { method: 'DELETE' });
50
- }
51
- export function put(url, body) {
52
- return request(url, { method: 'PUT', body: serializationBody(body) });
53
- }
54
- export function post(url, body) {
55
- return request(url, { method: 'POST', body: serializationBody(body) });
18
+ };
19
+ const serializationUrl = (path, params) => {
20
+ if (new URL(path, location.origin).pathname !== path) {
21
+ throw new GemError('`path` format is incorrect');
22
+ }
23
+ const query = new URLSearchParams(params).toString();
24
+ return `${origin}${base}${path}${query ? '?' : ''}${query}`;
25
+ };
26
+ const serializationHeaders = (headers) => {
27
+ if (!headers)
28
+ return {};
29
+ // auto `toLowerCase`
30
+ if (headers instanceof Headers)
31
+ return Object.fromEntries(headers);
32
+ const entries = Array.isArray(headers) ? headers : Object.entries(headers);
33
+ return Object.fromEntries(entries.map(([key, value]) => [key.toLowerCase(), value]));
34
+ };
35
+ const request = async (uri, reqOptions = {}) => {
36
+ const req = new Request(uri, {
37
+ ...reqInit,
38
+ ...reqOptions,
39
+ headers: new Headers({
40
+ 'content-type': 'application/json',
41
+ ...serializationHeaders(reqInit.headers),
42
+ ...serializationHeaders(reqOptions.headers),
43
+ }),
44
+ });
45
+ const res = await fetch(req);
46
+ if (res.status === 0)
47
+ throw new Error('Request fail');
48
+ if (res.status >= 500)
49
+ throw new Error(res.statusText);
50
+ const contentType = req.headers.get('content-type');
51
+ const isClientError = res.status >= 400;
52
+ try {
53
+ let data;
54
+ if (contentType.includes('json')) {
55
+ data = await res.json();
56
+ }
57
+ else if (contentType.includes('octet-stream')) {
58
+ data = await res.arrayBuffer();
59
+ }
60
+ else {
61
+ data = await res.text();
62
+ }
63
+ if (isClientError)
64
+ throw new Error(res.statusText, { cause: data });
65
+ return transformOutput(data, req);
66
+ }
67
+ catch {
68
+ throw new Error('Parse error');
69
+ }
70
+ };
71
+ return {
72
+ request,
73
+ get(path, params) {
74
+ const i = transformInput(params);
75
+ return request(serializationUrl(path, i), {
76
+ method: 'GET',
77
+ headers: appendHeaders(i),
78
+ });
79
+ },
80
+ del(path, params) {
81
+ const i = transformInput(params);
82
+ return request(serializationUrl(path, i), {
83
+ method: 'DELETE',
84
+ headers: appendHeaders(i),
85
+ });
86
+ },
87
+ put(path, body) {
88
+ const i = transformInput(body);
89
+ return request(serializationUrl(path), {
90
+ method: 'PUT',
91
+ headers: appendHeaders(i),
92
+ body: serializationBody(i),
93
+ });
94
+ },
95
+ post(path, body) {
96
+ const i = transformInput(body);
97
+ return request(serializationUrl(path), {
98
+ method: 'POST',
99
+ headers: appendHeaders(i),
100
+ body: serializationBody(i),
101
+ });
102
+ },
103
+ };
56
104
  }
105
+ const { request, del, get, post, put } = initRequest();
106
+ export { initRequest, request, del, get, post, put };
57
107
  //# sourceMappingURL=request.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/helper/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/helper/request.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ssr-shim.d.ts","sourceRoot":"","sources":["../src/helper/ssr-shim.ts"],"names":[],"mappings":"AAsCA,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"ssr-shim.d.ts","sourceRoot":"","sources":["../src/helper/ssr-shim.ts"],"names":[],"mappings":"AA6CA,OAAO,EAAE,CAAC"}
@@ -25,13 +25,20 @@ if (typeof window === 'undefined') {
25
25
  globalThis.document = any;
26
26
  globalThis.addEventListener = any;
27
27
  globalThis.history = any;
28
- globalThis.navigator = any;
29
28
  globalThis.customElements = any;
30
29
  // duoyun-ui
31
30
  globalThis.CSSStyleSheet = any;
32
31
  globalThis.Document = any;
33
32
  globalThis.Element = any;
34
33
  globalThis.MutationObserver = any;
34
+ try {
35
+ // gem dist i18n
36
+ // https://nodejs.org/api/globals.html#navigator_1
37
+ globalThis.navigator = any;
38
+ }
39
+ catch {
40
+ //
41
+ }
35
42
  }
36
43
  export {};
37
44
  //# sourceMappingURL=ssr-shim.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ssr-shim.js","sourceRoot":"","sources":["../src/helper/ssr-shim.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc;AACd,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,gBAAgB;QAChB,SAAS,SAAS;YAChB,OAAO,MAAM,EAAE,CAAC;QAClB,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE;YACjC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SACzB,CAAC,CAAC;QACH,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE;YAC1B,GAAG,CAAC,MAAM,EAAE,GAAG;gBACb,IAAI,GAAG,KAAK,MAAM,CAAC,WAAW;oBAAE,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC;gBAChD,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;YACjD,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IAErB,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;IAC/B,UAAU,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7C,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;IAE9B,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC;IAC1B,UAAU,CAAC,gBAAgB,GAAG,GAAG,CAAC;IAClC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC;IAC3B,UAAU,CAAC,cAAc,GAAG,GAAG,CAAC;IAEhC,YAAY;IACZ,UAAU,CAAC,aAAa,GAAG,GAAG,CAAC;IAC/B,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC;IAC1B,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,UAAU,CAAC,gBAAgB,GAAG,GAAG,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"ssr-shim.js","sourceRoot":"","sources":["../src/helper/ssr-shim.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc;AACd,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,gBAAgB;QAChB,SAAS,SAAS;YAChB,OAAO,MAAM,EAAE,CAAC;QAClB,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE;YACjC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SACzB,CAAC,CAAC;QACH,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE;YAC1B,GAAG,CAAC,MAAM,EAAE,GAAG;gBACb,IAAI,GAAG,KAAK,MAAM,CAAC,WAAW;oBAAE,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC;gBAChD,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;YACjD,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IAErB,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;IAC/B,UAAU,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7C,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;IAE9B,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC;IAC1B,UAAU,CAAC,gBAAgB,GAAG,GAAG,CAAC;IAClC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,UAAU,CAAC,cAAc,GAAG,GAAG,CAAC;IAEhC,YAAY;IACZ,UAAU,CAAC,aAAa,GAAG,GAAG,CAAC;IAC/B,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC;IAC1B,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,UAAU,CAAC,gBAAgB,GAAG,GAAG,CAAC;IAElC,IAAI,CAAC;QACH,gBAAgB;QAChB,kDAAkD;QAClD,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,EAAE;IACJ,CAAC;AACH,CAAC;AAED,OAAO,EAAE,CAAC"}
package/helper/theme.d.ts CHANGED
@@ -1,27 +1,20 @@
1
- import { Store } from '../lib/store';
2
- type SomeType<T> = {
3
- [P in keyof T]: string;
1
+ import type { Store } from '../lib/store';
2
+ import type { GemElement } from '../lib/element';
3
+ import { createCSSSheet } from '../lib/element';
4
+ export type Theme<T> = ReturnType<typeof createCSSSheet> & {
5
+ [K in keyof T as K extends `${string}Color` ? `${string & K}${'' | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900}` : K]: T[K];
4
6
  };
5
7
  /**获取主题原始值 */
6
- export declare function getThemeStore<T>(theme: SomeType<T>): Store<T>;
8
+ export declare function getThemeStore<T>(theme: Theme<T>): Store<T>;
7
9
  /**获取 css 变量名 */
8
- export declare function getThemeProps<T>(theme: SomeType<T>): SomeType<T>;
10
+ export declare function getThemeProps<T>(theme: Theme<T>): Theme<T>;
9
11
  /**
10
- * 创建主题,插入 `document.head`
11
- * https://github.com/mantou132/gem/issues/33
12
- *
13
- * @example
14
- * createTheme({
15
- * primaryColor: '#eee',
16
- * });
12
+ * 用于 `@adoptedStyle(theme)`,类似 `createCSSSheet`
17
13
  */
18
- export declare function createTheme<T extends Record<string, unknown>>(themeObj: T): SomeType<T>;
19
- /**
20
- * 更新主题
21
- * @param theme 主题
22
- * @param newThemeObj 新主题
23
- */
24
- export declare function updateTheme<T = Record<string, unknown>>(theme: SomeType<T>, newThemeObj: Partial<T>): void;
25
- export declare function useTheme<T extends Record<string, unknown>>(themeObj: T): readonly [SomeType<T>, (newThemeObj: Partial<T>) => void];
26
- export {};
14
+ export declare function useScopedTheme<T extends Record<string, unknown>>(themeObj: T): readonly [Theme<T>, (value?: Partial<T> | undefined) => void];
15
+ /**全局主题 */
16
+ export declare function useTheme<T extends Record<string, unknown>>(themeObj: T): readonly [Theme<T>, (value?: Partial<T> | undefined) => void];
17
+ /**用来覆盖全局主题 */
18
+ export declare function useOverrideTheme<T extends Record<string, unknown>>(theme: Theme<T>, themeObj: Partial<T>): readonly [Theme<Partial<T>>, (value?: Partial<Partial<T>> | undefined) => void];
19
+ export declare function useDecoratorTheme<T extends Record<string, unknown>>(themeObj: T): readonly [Theme<T>, <E extends GemElement, V extends () => T, K = any[] | undefined>(getDep?: K extends readonly any[] ? (instance: E) => K : undefined) => (_: any, { addInitializer, access }: ClassFieldDecoratorContext<E, V> | ClassMethodDecoratorContext<E, V>) => void];
27
20
  //# sourceMappingURL=theme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/helper/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,EAAE,MAAM,cAAc,CAAC;AAGxE,KAAK,QAAQ,CAAC,CAAC,IAAI;KAChB,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM;CACvB,CAAC;AAIF,aAAa;AACb,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,YAElD;AAID,gBAAgB;AAChB,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,eAElD;AAID;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,eAuBzE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,QAGnG;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,wCAExC,QAAQ,CAAC,CAAC,WACxC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/helper/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAc,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE5D,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,cAAc,CAAC,GAAG;KACxD,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,OAAO,GACvC,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAC1E,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACb,CAAC;AAKF,aAAa;AACb,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GACX,KAAK,CAAC,CAAC,CAAC,CAC5C;AAED,gBAAgB;AAChB,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GACX,KAAK,CAAC,CAAC,CAAC,CAC5C;AAwCD;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,iEAE5E;AAED,UAAU;AACV,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,iEAItE;AAED,cAAc;AACd,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,mFAExG;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,wBAI3E,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,+BAChC,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,SAEhE,GAAG,8BAA8B,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,2BAA2B,CAAC,CAAC,EAAE,CAAC,CAAC,WAQ5G"}
package/helper/theme.js CHANGED
@@ -1,59 +1,76 @@
1
- import { connect, createStore, updateStore } from '../lib/store';
1
+ import { connect, useStore } from '../lib/store';
2
2
  import { camelToKebabCase, randomStr } from '../lib/utils';
3
+ import { SheetToken, createCSSSheet } from '../lib/element';
3
4
  const themeStoreMap = new WeakMap();
5
+ const themePropsMap = new WeakMap();
4
6
  /**获取主题原始值 */
5
7
  export function getThemeStore(theme) {
6
8
  return themeStoreMap.get(theme);
7
9
  }
8
- const themePropsMap = new WeakMap();
9
10
  /**获取 css 变量名 */
10
11
  export function getThemeProps(theme) {
11
12
  return themePropsMap.get(theme);
12
13
  }
13
- const setThemeFnMap = new WeakMap();
14
- /**
15
- * 创建主题,插入 `document.head`
16
- * https://github.com/mantou132/gem/issues/33
17
- *
18
- * @example
19
- * createTheme({
20
- * primaryColor: '#eee',
21
- * });
22
- */
23
- export function createTheme(themeObj) {
14
+ function useThemeFromProps(themeObj, props = {}) {
24
15
  const salt = randomStr();
25
- const style = document.createElement('style');
26
- const store = createStore(themeObj);
27
- const theme = {};
28
- const props = {};
16
+ const styleSheet = createCSSSheet({})[SheetToken];
17
+ const [store, updateStore] = useStore(themeObj);
18
+ const theme = new Proxy({ [SheetToken]: styleSheet }, {
19
+ get(target, key) {
20
+ if (!target[key]) {
21
+ const [_, origin, weight] = key.match(/^(\w*Color)(\d+)$/) || [];
22
+ if (origin)
23
+ target[key] = `oklch(from ${target[origin]} calc(l - ${(Number(weight) - 400) / 1000}) c h)`;
24
+ }
25
+ return target[key];
26
+ },
27
+ });
29
28
  themePropsMap.set(theme, props);
30
29
  themeStoreMap.set(theme, store);
31
- const setTheme = () => Object.keys(store).forEach((key) => {
32
- if (props[key])
33
- return;
34
- props[key] = `--${camelToKebabCase(key)}-${salt}`;
35
- theme[key] = `var(${props[key]})`;
30
+ const updateContent = () => {
31
+ let rules = '';
32
+ Object.keys(store).forEach((key) => {
33
+ if (!props[key]) {
34
+ props[key] = `--${camelToKebabCase(key)}-${salt}`;
35
+ theme[key] = `var(${props[key]})`;
36
+ }
37
+ rules += `${props[key]}:${store[key]};`;
38
+ });
39
+ styleSheet.setContent(`:scope,:host{${rules}}`);
40
+ };
41
+ updateContent();
42
+ connect(store, () => {
43
+ updateContent();
44
+ styleSheet.updateStyle();
36
45
  });
37
- setThemeFnMap.set(theme, setTheme);
38
- setTheme();
39
- const getStyle = () => `:root, :host {${Object.keys(store).reduce((prev, key) => prev + `${props[key]}:${store[key]};`, '')}}`;
40
- const replace = () => (style.textContent = getStyle());
41
- connect(store, replace);
42
- replace();
43
- (document.head || document.documentElement).append(style);
44
- return theme;
46
+ return [theme, updateStore];
45
47
  }
46
48
  /**
47
- * 更新主题
48
- * @param theme 主题
49
- * @param newThemeObj 新主题
49
+ * 用于 `@adoptedStyle(theme)`,类似 `createCSSSheet`
50
50
  */
51
- export function updateTheme(theme, newThemeObj) {
52
- updateStore(getThemeStore(theme), newThemeObj);
53
- setThemeFnMap.get(theme)();
51
+ export function useScopedTheme(themeObj) {
52
+ return useThemeFromProps(themeObj);
54
53
  }
54
+ /**全局主题 */
55
55
  export function useTheme(themeObj) {
56
- const theme = createTheme(themeObj);
57
- return [theme, (newThemeObj) => updateTheme(theme, newThemeObj)];
56
+ const result = useScopedTheme(themeObj);
57
+ document.adoptedStyleSheets.push(result[0][SheetToken].getStyle());
58
+ return result;
59
+ }
60
+ /**用来覆盖全局主题 */
61
+ export function useOverrideTheme(theme, themeObj) {
62
+ return useThemeFromProps(themeObj, getThemeProps(theme));
63
+ }
64
+ export function useDecoratorTheme(themeObj) {
65
+ const [themeAsKeys] = useThemeFromProps(themeObj);
66
+ const props = getThemeProps(themeAsKeys);
67
+ const updateDecorator = (getDep) => (_, { addInitializer, access }) => {
68
+ addInitializer(function () {
69
+ const [theme, update] = useThemeFromProps({ ...themeObj }, props);
70
+ this.internals.sheets.push(theme[SheetToken].getStyle(this));
71
+ this.memo(() => update(access.get(this).apply(this)), getDep && (() => getDep(this)));
72
+ });
73
+ };
74
+ return [themeAsKeys, updateDecorator];
58
75
  }
59
76
  //# sourceMappingURL=theme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/helper/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAS,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAM3D,MAAM,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;AAEpC,aAAa;AACb,MAAM,UAAU,aAAa,CAAI,KAAkB;IACjD,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAa,CAAC;AAC9C,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;AAEpC,gBAAgB;AAChB,MAAM,UAAU,aAAa,CAAI,KAAkB;IACjD,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAgB,CAAC;AACjD,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;AAEpC;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAoC,QAAW;IACxE,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,WAAW,CAAI,QAAQ,CAAC,CAAC;IACvC,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,GAAG,EAAE,CACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACjC,IAAI,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO;QACvB,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAClD,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IACpC,CAAC,CAAC,CAAC;IACL,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnC,QAAQ,EAAE,CAAC;IACX,MAAM,QAAQ,GAAG,GAAG,EAAE,CACpB,iBAAiB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC;IAC1G,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,GAAG,QAAQ,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxB,OAAO,EAAE,CAAC;IACV,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1D,OAAO,KAAoB,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAA8B,KAAkB,EAAE,WAAuB;IAClG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;IAC/C,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAoC,QAAW;IACrE,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO,CAAC,KAAK,EAAE,CAAC,WAAuB,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAU,CAAC;AACxF,CAAC"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/helper/theme.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- export * from './lib/store';
2
- export * from './lib/history';
3
- export * from './lib/element';
4
1
  export * from './lib/decorators';
2
+ export * from './lib/element';
3
+ export * from './lib/store';
5
4
  export * from './lib/utils';
6
5
  export * from './lib/version';
6
+ export * from './lib/history';
7
+ export * from './lib/directives';
7
8
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAE5B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAG9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
package/index.js CHANGED
@@ -1,7 +1,9 @@
1
- export * from './lib/store';
2
- export * from './lib/history';
3
- export * from './lib/element';
4
1
  export * from './lib/decorators';
2
+ export * from './lib/element';
3
+ export * from './lib/store';
5
4
  export * from './lib/utils';
6
5
  export * from './lib/version';
6
+ // 使用路径时可选模块
7
+ export * from './lib/history';
8
+ export * from './lib/directives';
7
9
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAE5B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAE9B,YAAY;AACZ,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}