@mantou/gem 2.2.14 → 2.3.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 (82) hide show
  1. package/dist/gem.js +7 -7
  2. package/dist/gem.mjs +7 -7
  3. package/elements/base/link.d.ts.map +1 -1
  4. package/elements/base/link.js +6 -3
  5. package/elements/base/link.js.map +1 -1
  6. package/elements/base/modal-factory.d.ts +3 -2
  7. package/elements/base/modal-factory.d.ts.map +1 -1
  8. package/elements/base/route.d.ts +8 -3
  9. package/elements/base/route.d.ts.map +1 -1
  10. package/elements/base/route.js +84 -44
  11. package/elements/base/route.js.map +1 -1
  12. package/elements/base/use.d.ts.map +1 -1
  13. package/elements/base/use.js +11 -0
  14. package/elements/base/use.js.map +1 -1
  15. package/helper/hmr.d.ts +3 -2
  16. package/helper/hmr.d.ts.map +1 -1
  17. package/helper/hmr.js +95 -23
  18. package/helper/hmr.js.map +1 -1
  19. package/helper/i18n.d.ts +2 -1
  20. package/helper/i18n.d.ts.map +1 -1
  21. package/helper/i18n.js +9 -1
  22. package/helper/i18n.js.map +1 -1
  23. package/helper/theme.d.ts +8 -4
  24. package/helper/theme.d.ts.map +1 -1
  25. package/helper/theme.js +15 -10
  26. package/helper/theme.js.map +1 -1
  27. package/lib/decorators.d.ts.map +1 -1
  28. package/lib/decorators.js +31 -46
  29. package/lib/decorators.js.map +1 -1
  30. package/lib/history.d.ts +10 -7
  31. package/lib/history.d.ts.map +1 -1
  32. package/lib/history.js +37 -51
  33. package/lib/history.js.map +1 -1
  34. package/lib/lit-html.d.ts +15 -0
  35. package/lib/lit-html.d.ts.map +1 -1
  36. package/lib/lit-html.js +3 -1
  37. package/lib/lit-html.js.map +1 -1
  38. package/lib/reactive.d.ts +6 -2
  39. package/lib/reactive.d.ts.map +1 -1
  40. package/lib/reactive.js +114 -118
  41. package/lib/reactive.js.map +1 -1
  42. package/lib/server.d.ts +26 -0
  43. package/lib/server.d.ts.map +1 -0
  44. package/lib/server.js +45 -0
  45. package/lib/server.js.map +1 -0
  46. package/lib/store.d.ts +4 -1
  47. package/lib/store.d.ts.map +1 -1
  48. package/lib/store.js +24 -9
  49. package/lib/store.js.map +1 -1
  50. package/lib/utils.d.ts +2 -2
  51. package/lib/utils.d.ts.map +1 -1
  52. package/lib/utils.js +20 -7
  53. package/lib/utils.js.map +1 -1
  54. package/lib/version.d.ts +1 -1
  55. package/lib/version.d.ts.map +1 -1
  56. package/lib/version.js +1 -1
  57. package/lib/version.js.map +1 -1
  58. package/package.json +3 -4
  59. package/src/elements/base/link.ts +5 -3
  60. package/src/elements/base/route.ts +84 -49
  61. package/src/elements/base/use.ts +11 -0
  62. package/src/helper/hmr.ts +105 -37
  63. package/src/helper/i18n.ts +12 -1
  64. package/src/helper/theme.ts +19 -10
  65. package/src/lib/decorators.ts +38 -51
  66. package/src/lib/history.ts +37 -46
  67. package/src/lib/lit-html.ts +3 -1
  68. package/src/lib/reactive.ts +115 -124
  69. package/src/lib/server.ts +59 -0
  70. package/src/lib/store.ts +24 -9
  71. package/src/lib/utils.ts +22 -7
  72. package/src/lib/version.ts +1 -1
  73. package/src/test/elements/gesture.test.ts +13 -5
  74. package/src/test/elements/route.test.ts +102 -0
  75. package/src/test/elements/title.test.ts +7 -0
  76. package/src/test/gem-element/advance.test.ts +19 -0
  77. package/src/test/gem-element/basic.test.ts +33 -0
  78. package/src/test/history.test.ts +19 -0
  79. package/src/test/store.test.ts +12 -0
  80. package/src/test/theme.test.ts +8 -1
  81. package/src/test/utils.test.ts +6 -0
  82. package/src/test/utils.ts +56 -0
package/helper/i18n.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { html, UpdateToken } from '../lib/reactive';
2
+ import { isolate } from '../lib/server';
2
3
  import { GemError } from '../lib/utils';
3
4
  import { logger } from './logger';
4
5
  // Hello, $1
@@ -23,12 +24,19 @@ const modules = new Set();
23
24
  export class I18n {
24
25
  resources;
25
26
  fallbackLanguage;
26
- currentLanguage;
27
27
  cache;
28
28
  cachePrefix = 'gem-i18n';
29
29
  urlParamsType;
30
30
  urlParamsName;
31
31
  onChange;
32
+ // SSR 时每个请求使用独立的语言
33
+ #state = isolate({ currentLanguage: '' });
34
+ get currentLanguage() {
35
+ return this.#state.currentLanguage;
36
+ }
37
+ set currentLanguage(lang) {
38
+ this.#state.currentLanguage = lang;
39
+ }
32
40
  // 兼容 `<gem-route>`
33
41
  replace = ({ path }) => this.setLanguage(path);
34
42
  getParams = () => ({ path: this.currentLanguage });
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/helper/i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/helper/i18n.ts"],"names":[],"mappings":"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"}
package/helper/theme.d.ts CHANGED
@@ -10,14 +10,18 @@ export declare function getThemeStore<T>(theme: Theme<T>): Store<T>;
10
10
  export declare function getThemeProps<T>(theme: Theme<T>): Theme<T>;
11
11
  /**
12
12
  * 用于 `@adoptedStyle(theme)`,类似 `css`
13
+ *
14
+ * `key` 用作 css 变量名的后缀,SSR 时让服务端和客户端的变量名一致,
15
+ * `swc-plugin-gem` 的 `ssr` 选项会为模块顶层的主题自动添加
13
16
  */
14
- export declare function createScopedTheme<T extends Record<string, unknown>>(themeObj: T): Theme<T>;
15
- /** 全局主题 */
16
- export declare function createTheme<T extends Record<string, unknown>>(themeObj: T): Theme<T>;
17
+ export declare function createScopedTheme<T extends Record<string, unknown>>(themeObj: T, key?: string): Theme<T>;
18
+ /** 全局主题,`key` 同 `createScopedTheme` */
19
+ export declare function createTheme<T extends Record<string, unknown>>(themeObj: T, key?: string): Theme<T>;
17
20
  /** 用来覆盖全局主题 */
18
21
  export declare function createOverrideTheme<T extends Record<string, unknown>>(theme: Theme<T>, themeObj: Partial<T>): Theme<Partial<T>>;
19
22
  /**
20
23
  * 返回一个主题对象,但同时又是一个装饰器函数,用来装饰一个主题更新函数
24
+ * 所有实例共享变量名,`key` 同 `createScopedTheme`
21
25
  *
22
26
  * @example
23
27
  * ```ts
@@ -28,5 +32,5 @@ export declare function createOverrideTheme<T extends Record<string, unknown>>(t
28
32
  * }
29
33
  * ```
30
34
  * */
31
- export declare function createDecoratorTheme<T extends Record<string, unknown>>(themeObj: T): Updater<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>;
35
+ export declare function createDecoratorTheme<T extends Record<string, unknown>>(themeObj: T, key?: string): Updater<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>;
32
36
  //# sourceMappingURL=theme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/helper/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAC/B,KAAK,CAAC,OAAO,CAAC,GAAG;KACd,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,MAAM;CACf,CAAC;AAKJ,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;AAiDD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,YAE/E;AAED,WAAW;AACX,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,YAIzE;AAED,eAAe;AACf,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,qBAE3G;AAED;;;;;;;;;;;KAWK;AACL,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,GA+BpC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GA5B7C,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,+BAC/C,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,MAG1D,GAAG,GAAG,EAAE,gGAA+B,UAwB4B,CAC9E"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/helper/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAC/B,KAAK,CAAC,OAAO,CAAC,GAAG;KACd,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,MAAM;CACf,CAAC;AAKJ,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;AAoDD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,YAE7F;AAED,uCAAuC;AACvC,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,YAIvF;AAED,eAAe;AACf,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,qBAE3G;AAED;;;;;;;;;;;;KAYK;AACL,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAgClD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GA7B7C,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,+BAC/C,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,MAG1D,GAAG,GAAG,EAAE,gGAA+B,UAyB4B,CAC9E"}
package/helper/theme.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { css, SheetToken } from '../lib/reactive';
2
+ import { isServer } from '../lib/server';
2
3
  import { connect, createStore } from '../lib/store';
3
4
  import { camelToKebabCase, createUpdater, randomStr } from '../lib/utils';
4
5
  const themeStoreMap = new WeakMap();
@@ -11,8 +12,7 @@ export function getThemeStore(theme) {
11
12
  export function getThemeProps(theme) {
12
13
  return themePropsMap.get(theme);
13
14
  }
14
- function createThemeFromProps(themeObj, props = {}) {
15
- const salt = randomStr();
15
+ function createThemeFromProps(themeObj, props = {}, salt = randomStr()) {
16
16
  const styleSheet = css({})[SheetToken];
17
17
  const store = createStore(themeObj);
18
18
  // 同步分配变量名,新增的键在更新后立即可读;样式内容随 store 异步更新
@@ -56,13 +56,16 @@ function createThemeFromProps(themeObj, props = {}) {
56
56
  }
57
57
  /**
58
58
  * 用于 `@adoptedStyle(theme)`,类似 `css`
59
+ *
60
+ * `key` 用作 css 变量名的后缀,SSR 时让服务端和客户端的变量名一致,
61
+ * `swc-plugin-gem` 的 `ssr` 选项会为模块顶层的主题自动添加
59
62
  */
60
- export function createScopedTheme(themeObj) {
61
- return createThemeFromProps(themeObj);
63
+ export function createScopedTheme(themeObj, key) {
64
+ return createThemeFromProps(themeObj, {}, key);
62
65
  }
63
- /** 全局主题 */
64
- export function createTheme(themeObj) {
65
- const result = createScopedTheme(themeObj);
66
+ /** 全局主题,`key` 同 `createScopedTheme` */
67
+ export function createTheme(themeObj, key) {
68
+ const result = createScopedTheme(themeObj, key);
66
69
  document.adoptedStyleSheets.push(result[SheetToken].getStyle());
67
70
  return result;
68
71
  }
@@ -72,6 +75,7 @@ export function createOverrideTheme(theme, themeObj) {
72
75
  }
73
76
  /**
74
77
  * 返回一个主题对象,但同时又是一个装饰器函数,用来装饰一个主题更新函数
78
+ * 所有实例共享变量名,`key` 同 `createScopedTheme`
75
79
  *
76
80
  * @example
77
81
  * ```ts
@@ -82,8 +86,8 @@ export function createOverrideTheme(theme, themeObj) {
82
86
  * }
83
87
  * ```
84
88
  * */
85
- export function createDecoratorTheme(themeObj) {
86
- const themeAsKeys = createThemeFromProps(themeObj);
89
+ export function createDecoratorTheme(themeObj, key) {
90
+ const themeAsKeys = createThemeFromProps(themeObj, {}, key);
87
91
  const props = getThemeProps(themeAsKeys);
88
92
  const update = (getDep) => {
89
93
  return (_, { addInitializer, access }) => {
@@ -93,7 +97,8 @@ export function createDecoratorTheme(themeObj) {
93
97
  this.internals.sheets.push(style);
94
98
  this.memo(() => {
95
99
  // https://bugs.webkit.org/show_bug.cgi?id=326327
96
- if (CSS.supports(`font:-apple-system-body`))
100
+ // SSR 需要更新样式表文本
101
+ if (isServer || CSS.supports(`font:-apple-system-body`))
97
102
  return theme(access.get(this).apply(this));
98
103
  const next = access.get(this).apply(this);
99
104
  const rule = style.cssRules[0];
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/helper/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/helper/theme.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/lib/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/lib/decorators.ts"],"names":[],"mappings":"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"}
package/lib/decorators.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // biome-ignore-all lint/plugin/no_this_effect: 定义装饰器
2
- import { _createTemplate, _RenderErrorEvent, GemElement, render, UpdateToken } from './reactive';
2
+ import { _createTemplate, _RenderErrorEvent, _renderRoot, GemElement, UpdateToken } from './reactive';
3
3
  import { camelToKebabCase, GemError, PropProxyMap } from './utils';
4
4
  const { deleteProperty, getOwnPropertyDescriptor, defineProperty } = Reflect;
5
5
  const { getPrototypeOf, assign, hasOwn } = Object;
@@ -20,12 +20,25 @@ function clearField(instance, prop) {
20
20
  deleteProperty(instance, prop);
21
21
  instance[prop] = value;
22
22
  }
23
- const observedTargetAttributes = new WeakMap();
23
+ /**
24
+ * 定义响应式的成员:在原型上定义访问器(基类定义过就跳过),移除实例上的同名字段,
25
+ * `field` 记录到元数据中,供外部读取
26
+ */
27
+ function defineMember(context, field, name, define) {
28
+ const prop = context.name;
29
+ pushStaticField(context, field, name);
30
+ context.addInitializer(function () {
31
+ const target = getDecoratorTarget(this, context);
32
+ if (!hasOwn(target, prop))
33
+ define(target, prop);
34
+ clearField(this, prop);
35
+ });
36
+ }
24
37
  // hack 修改 attribute 行为,如果是观察的,就使用 `setter`
25
38
  // 不在 Devtools 中工作 https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#dom_access
26
39
  // 使用 Gem DevTools 注入脚本监听 attribute 变化
27
40
  const { setAttribute, toggleAttribute, removeAttribute } = Element.prototype;
28
- const getObservedPropName = (i, n) => observedTargetAttributes.get(getPrototypeOf(i))?.get(n);
41
+ const getObservedPropName = (i, n) => i.constructor[Symbol.metadata]?.attrProps?.[n];
29
42
  GemElement.prototype.setAttribute = function (n, v) {
30
43
  const prop = getObservedPropName(this, n);
31
44
  if (!prop)
@@ -110,19 +123,13 @@ function getDecoratorTarget(element, { metadata }) {
110
123
  function decoratorAttr(context, attrType) {
111
124
  const prop = context.name;
112
125
  const attr = camelToKebabCase(prop);
113
- context.addInitializer(function () {
114
- const target = getDecoratorTarget(this, context);
115
- if (!hasOwn(target, prop)) {
116
- pushStaticField(context, 'observedAttributes', attr); // 没有 observe 的效果
117
- defineProp(target, prop, { attr, attrType });
118
- }
119
- clearField(this, prop);
120
- // 记录观察的 attribute, 用于 hack 的 setAttribute
121
- const proto = getPrototypeOf(this);
122
- const attrMap = observedTargetAttributes.get(proto) || new Map();
123
- attrMap.set(attr, prop);
124
- observedTargetAttributes.set(proto, attrMap);
125
- });
126
+ const metadata = context.metadata;
127
+ // 记录观察的 attribute,用于 hack 的 setAttribute,原型链继承基类的记录
128
+ if (!hasOwn(metadata, 'attrProps'))
129
+ metadata.attrProps = Object.create(metadata.attrProps || null);
130
+ metadata.attrProps[attr] = prop;
131
+ // `observedAttributes` 没有 observe 的效果
132
+ defineMember(context, 'observedAttributes', attr, (target) => defineProp(target, prop, { attr, attrType }));
126
133
  // 延时定义的元素需要继承原实例属性值
127
134
  return function (initValue) {
128
135
  return this.getAttribute(attr) ?? initValue;
@@ -159,14 +166,7 @@ export function numattribute(_, context) {
159
166
  */
160
167
  export function property(_, context) {
161
168
  const prop = context.name;
162
- context.addInitializer(function () {
163
- const target = getDecoratorTarget(this, context);
164
- if (!hasOwn(target, prop)) {
165
- pushStaticField(context, 'observedProperties', prop);
166
- defineProp(target, prop);
167
- }
168
- clearField(this, prop);
169
- });
169
+ defineMember(context, 'observedProperties', prop, defineProp);
170
170
  // 延时定义的元素需要继承原实例属性值
171
171
  return function (initValue) {
172
172
  return this[prop] ?? initValue;
@@ -262,8 +262,9 @@ condition) {
262
262
  export function fallback() {
263
263
  return (_, { addInitializer, access }) => {
264
264
  addInitializer(function () {
265
- this.addEventListener(_RenderErrorEvent, ({ detail }) => {
266
- render(access.get.call(this, this).apply(this, [detail]), this.internals.shadowRoot || this);
265
+ this.addEventListener(_RenderErrorEvent, (evt) => {
266
+ evt.preventDefault();
267
+ _renderRoot(access.get.call(this, this).apply(this, [evt.detail]), this.internals.shadowRoot || this);
267
268
  });
268
269
  });
269
270
  };
@@ -302,16 +303,8 @@ function defineCSSState(target, prop, stateStr) {
302
303
  * ```
303
304
  */
304
305
  export function state(_, context) {
305
- const prop = context.name;
306
- const attr = camelToKebabCase(prop);
307
- context.addInitializer(function () {
308
- const target = getDecoratorTarget(this, context);
309
- if (!hasOwn(target, prop)) {
310
- pushStaticField(context, 'definedCSSStates', attr);
311
- defineCSSState(target, prop, attr);
312
- }
313
- clearField(this, prop);
314
- });
306
+ const stateStr = camelToKebabCase(context.name);
307
+ defineMember(context, 'definedCSSStates', stateStr, (target, prop) => defineCSSState(target, prop, stateStr));
315
308
  }
316
309
  function defineStaticField(context, target, field, value) {
317
310
  const prop = context.name;
@@ -378,16 +371,8 @@ export function globalemitter(_, context) {
378
371
  defineEmitter(context, { bubbles: true, composed: true });
379
372
  }
380
373
  function defineEmitter(context, eventOptions) {
381
- const prop = context.name;
382
- const event = camelToKebabCase(prop);
383
- context.addInitializer(function () {
384
- const target = getDecoratorTarget(this, context);
385
- if (!hasOwn(target, prop)) {
386
- pushStaticField(context, 'definedEvents', event);
387
- defineProp(target, prop, { event, eventOptions });
388
- }
389
- clearField(this, prop);
390
- });
374
+ const event = camelToKebabCase(context.name);
375
+ defineMember(context, 'definedEvents', event, (target, prop) => defineProp(target, prop, { event, eventOptions }));
391
376
  }
392
377
  /**
393
378
  * 分配一个构造的样式表,前面的优先级越高(因为装饰器是越近越早执行)
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/lib/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/lib/decorators.ts"],"names":[],"mappings":"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"}
package/lib/history.d.ts CHANGED
@@ -16,12 +16,6 @@ export interface UpdateHistoryParams {
16
16
  shouldClose?: () => boolean;
17
17
  data?: any;
18
18
  }
19
- type HistoryParams = Omit<UpdateHistoryParams, 'query'> & {
20
- title: string;
21
- path: string;
22
- query: QueryString;
23
- hash: string;
24
- };
25
19
  declare class GemHistory extends EventTarget {
26
20
  get store(): ((value?: Partial<HistoryState> | undefined) => void) & Omit<{
27
21
  name: never;
@@ -39,7 +33,16 @@ declare class GemHistory extends EventTarget {
39
33
  get currentKey(): string;
40
34
  get basePath(): string;
41
35
  set basePath(basePath: string);
42
- getParams(): HistoryParams;
36
+ getParams(): {
37
+ data?: any;
38
+ title: string;
39
+ close?: (() => void) | undefined;
40
+ hash: string;
41
+ open?: (() => void) | undefined;
42
+ path: string;
43
+ shouldClose?: (() => boolean) | undefined;
44
+ query: QueryString;
45
+ };
43
46
  updateParams(params: UpdateHistoryParams): void;
44
47
  push(params: UpdateHistoryParams): void;
45
48
  replace(params: UpdateHistoryParams): void;
@@ -1 +1 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/lib/history.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2C,WAAW,EAAE,MAAM,SAAS,CAAC;AAS/E,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AASD,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAGD,KAAK,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AA4FF,cAAM,UAAW,SAAQ,WAAW;IAClC,IAAI,KAAK;;;;;;;;;;;;0CAER;IACD,IAAI,UAAU,WAEb;IACD,IAAI,QAAQ,IAGW,MAAM,CAD5B;IACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAK5B;IACD,SAAS;IAGT,YAAY,CAAC,MAAM,EAAE,mBAAmB;IAIxC,IAAI,CAAC,MAAM,EAAE,mBAAmB;IAGhC,OAAO,CAAC,MAAM,EAAE,mBAAmB;IAGnC,qBAAqB,CAAC,MAAM,EAAE,mBAAmB;IAQjD,OAAO;IAGP,IAAI;CAGL;AAOD,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAsF,CAAC;AAEpG,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,WAAW,EAAE,OAAO,OAAO,GAAG,SAAS,CAAC;CAC7C;AA8HD,QAAA,MAAQ,OAAO,cAAE,UAAU;;;;;;;;;;;;;;;;;;;;GAAE,aAAa;;;;;;;;;;;;;;;;CAA2B,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/lib/history.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2C,WAAW,EAAE,MAAM,SAAS,CAAC;AAS/E,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AASD,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AA4FD,cAAM,UAAW,SAAQ,WAAW;IAClC,IAAI,KAAK;;;;;;;;;;;;0CAER;IACD,IAAI,UAAU,WAEb;IACD,IAAI,QAAQ,IAGW,MAAM,CAD5B;IACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAK5B;IACD,SAAS;eA7GF,GAAG;eAKH,MAAM;iBAPL,MAAM,IAAI;cAUZ,MAAM;gBAXL,MAAM,IAAI;cASX,MAAM;uBAPE,MAAM,OAAO;eAQpB,WAAW;;IAyGlB,YAAY,CAAC,MAAM,EAAE,mBAAmB;IAIxC,IAAI,CAAC,MAAM,EAAE,mBAAmB;IAGhC,OAAO,CAAC,MAAM,EAAE,mBAAmB;IAGnC,qBAAqB,CAAC,MAAM,EAAE,mBAAmB;IAQjD,OAAO;IAGP,IAAI;CAGL;AAOD,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAsF,CAAC;AAEpG,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,WAAW,EAAE,OAAO,OAAO,GAAG,SAAS,CAAC;CAC7C;AA4HD,QAAA,MAAQ,OAAO,cAAE,UAAU;;;;;;;;;;;;;;;;;;;;GAAE,aAAa;;;;;;;;;;;;;;;;CAA2B,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC"}
package/lib/history.js CHANGED
@@ -1,4 +1,5 @@
1
1
  // https://github.com/WICG/navigation-api#stakeholder-feedback
2
+ import { getRequestValue } from './server';
2
3
  import { connect, createStore } from './store';
3
4
  import { absoluteLocation, cleanObject, GemError, QueryString } from './utils';
4
5
  const nativeHistory = globalThis.history;
@@ -12,19 +13,20 @@ const store = createStore({
12
13
  $hasShouldCloseHandle: false,
13
14
  $key: '',
14
15
  });
15
- const paramsMap = new Map();
16
+ const globalParamsMap = new Map();
17
+ // SSR 时每个请求使用独立的记录,请求结束后释放
18
+ // 从全局复制初始记录(设置 basePath 等操作需要它),记录会被原地修改,所以也要复制
19
+ const copyParamsMap = () => new Map([...globalParamsMap].map(([k, v]) => [k, { ...v }]));
20
+ const getParamsMap = () => getRequestValue(globalParamsMap, copyParamsMap);
21
+ // 内部状态字段,不能由外部设置
22
+ const internalStateKeys = ['$key', '$hasCloseHandle', '$hasOpenHandle', '$hasShouldCloseHandle'];
16
23
  function validData(data) {
17
- const { $key, $hasCloseHandle, $hasOpenHandle, $hasShouldCloseHandle } = data || {};
18
- if (store.$key === $key)
24
+ if (store.$key === data?.$key)
19
25
  return;
20
- if ($key)
21
- throw new GemError('`$key` is not allowed');
22
- if ($hasCloseHandle)
23
- throw new GemError('`$hasCloseHandle` is not allowed');
24
- if ($hasOpenHandle)
25
- throw new GemError('`$hasOpenHandle` is not allowed');
26
- if ($hasShouldCloseHandle)
27
- throw new GemError('`$hasShouldCloseHandle` is not allowed');
26
+ for (const key of internalStateKeys) {
27
+ if (data?.[key])
28
+ throw new GemError(`\`${key}\` is not allowed`);
29
+ }
28
30
  }
29
31
  function getUrlBarPath(internalPath) {
30
32
  return gemHistory.basePath ? gemHistory.basePath + internalPath : internalPath;
@@ -34,12 +36,15 @@ function getInternalPath(urlBarPath) {
34
36
  return '/';
35
37
  return urlBarPath.replace(new RegExp(`^${gemHistory.basePath}/`), '/');
36
38
  }
37
- function dispatchBeforeChangeEvent() {
39
+ // 切换到新的历史记录状态
40
+ function changeState(state) {
38
41
  gemHistory.dispatchEvent(new CustomEvent('beforechange'));
42
+ cleanObject(store);
43
+ store(state);
39
44
  }
40
45
  function normalizeParams(params) {
41
- const current = paramsMap.get(store.$key) ||
42
- { path: getInternalPath(location.pathname), query: new QueryString() };
46
+ const current = gemHistory.getParams() ||
47
+ { path: getInternalPath(location.pathname), query: new QueryString(), title: document.title };
43
48
  // 没提供 path 使用当前 path
44
49
  const path = params.path ? absoluteLocation(current.path, params.path) : getInternalPath(location.pathname);
45
50
  // 没提供 query 又没有提供 path 时使用当前 search
@@ -47,8 +52,9 @@ function normalizeParams(params) {
47
52
  const queryChanged = String(newQueryObject) !== String(current.query);
48
53
  const query = queryChanged ? newQueryObject : current.query;
49
54
  const urlChanged = path !== current.path || queryChanged;
50
- // 没提供 title 又没有改变 URL 时使用当前 document.title
51
- const title = params.title || (urlChanged ? '' : document.title);
55
+ // 没提供 title 又没有改变 URL 时使用当前 title
56
+ // 不使用 document.title,它可能已被格式化(例如添加了网站名后缀)
57
+ const title = params.title || (urlChanged ? '' : current.title);
52
58
  const statusChanged = params.close || params.data || params.open || params.shouldClose;
53
59
  // 没提供 hash 又没有改变 URL 仅仅是状态更新时使用当前 hash
54
60
  const hash = decodeURIComponent(params.hash ?? (!urlChanged && statusChanged ? location.hash : ''));
@@ -66,10 +72,8 @@ function updateHistory(p, native) {
66
72
  $title: title,
67
73
  ...data,
68
74
  };
69
- paramsMap.set(state.$key, params);
70
- dispatchBeforeChangeEvent();
71
- cleanObject(store);
72
- store(state);
75
+ getParamsMap().set(state.$key, params);
76
+ changeState(state);
73
77
  const url = getUrlBarPath(path) + new QueryString(query) + hash;
74
78
  const prevHash = decodeURIComponent(location.hash);
75
79
  native(state, title, url);
@@ -78,24 +82,8 @@ function updateHistory(p, native) {
78
82
  }
79
83
  // 跨框架时,调用者对 basePath 无感知
80
84
  function updateHistoryByNative(data, title, originUrl, native) {
81
- validData(data);
82
- const state = {
83
- $key: getKey(),
84
- $title: title,
85
- ...(data || {}),
86
- };
87
85
  const { pathname, search, hash } = new URL(originUrl, location.origin + location.pathname);
88
- const params = normalizeParams({ path: pathname, query: new QueryString(search), hash, title, data });
89
- paramsMap.set(state.$key, params);
90
- dispatchBeforeChangeEvent();
91
- cleanObject(store);
92
- store(state);
93
- const url = getUrlBarPath(pathname) + params.query + hash;
94
- const prevHash = location.hash;
95
- native(state, title, url);
96
- // `location.hash` 和 `hash` 都已经进行了 url 编码,可以直接进行相等判断
97
- if (prevHash !== hash)
98
- dispatchEvent(new CustomEvent('hashchange'));
86
+ updateHistory({ path: pathname, query: search, hash, title, data }, native);
99
87
  }
100
88
  const gemBasePathStore = createStore({
101
89
  basePath: '',
@@ -114,13 +102,13 @@ class GemHistory extends EventTarget {
114
102
  // 应用初始化的时候设置
115
103
  gemBasePathStore({ basePath });
116
104
  // paramsMap 更新后 ui 才会更新
117
- Object.assign(paramsMap.get(store.$key), { path: getInternalPath(location.pathname) });
105
+ Object.assign(this.getParams(), { path: getInternalPath(location.pathname) });
118
106
  }
119
107
  getParams() {
120
- return paramsMap.get(store.$key);
108
+ return getParamsMap().get(store.$key);
121
109
  }
122
110
  updateParams(params) {
123
- Object.assign(paramsMap.get(store.$key), params);
111
+ Object.assign(this.getParams(), params);
124
112
  store();
125
113
  }
126
114
  push(params) {
@@ -131,7 +119,7 @@ class GemHistory extends EventTarget {
131
119
  }
132
120
  pushIgnoreCloseHandle(params) {
133
121
  if (store.$hasCloseHandle) {
134
- paramsMap.get(store.$key)?.close?.();
122
+ this.getParams()?.close?.();
135
123
  this.replace(params);
136
124
  }
137
125
  else {
@@ -173,7 +161,7 @@ if (!globalThis._GEMHISTORY) {
173
161
  else if (nativeHistory.state.$hasCloseHandle) {
174
162
  store(nativeHistory.state);
175
163
  const params = normalizeParams({ title: document.title });
176
- paramsMap.set(store.$key, params);
164
+ getParamsMap().set(store.$key, params);
177
165
  // 有 handle 返回键的页面刷新需要清除返回 handler
178
166
  gemHistory.back();
179
167
  }
@@ -184,10 +172,10 @@ if (!globalThis._GEMHISTORY) {
184
172
  $key: getKey(),
185
173
  ...(nativeHistory.state || {}),
186
174
  });
187
- paramsMap.set(store.$key, params);
175
+ getParamsMap().set(store.$key, params);
188
176
  }
189
177
  connect(gemTitleStore, () => {
190
- const params = paramsMap.get(store.$key);
178
+ const params = gemHistory.getParams();
191
179
  if (params) {
192
180
  params.title = gemTitleStore.title;
193
181
  }
@@ -217,9 +205,9 @@ if (!globalThis._GEMHISTORY) {
217
205
  // 刷新后再导航需要从当前 state 中构建 params
218
206
  // 理论上该条历史记录中不会出现事件处理器
219
207
  // 子 app 导航也需要从 state 中构建 params
220
- if (!paramsMap.has(newState.$key)) {
208
+ if (!getParamsMap().has(newState.$key)) {
221
209
  const { pathname, search, hash } = location;
222
- paramsMap.set(newState.$key, {
210
+ getParamsMap().set(newState.$key, {
223
211
  path: getInternalPath(pathname),
224
212
  query: new QueryString(search),
225
213
  hash: decodeURIComponent(hash),
@@ -234,10 +222,10 @@ if (!globalThis._GEMHISTORY) {
234
222
  // 返回键关闭的 modal 能前进键重新打开
235
223
  // 刷新后不能工作:刷新后 historyItem 中只有 url
236
224
  // 能在子 app 中工作
237
- paramsMap.get(newState.$key)?.open?.();
225
+ getParamsMap().get(newState.$key)?.open?.();
238
226
  }
239
227
  else if (prevState.$hasCloseHandle) {
240
- const prevParams = paramsMap.get(prevState.$key);
228
+ const prevParams = getParamsMap().get(prevState.$key);
241
229
  const closeHandle = prevParams?.close;
242
230
  const shouldCloseHandle = prevParams?.shouldClose;
243
231
  const notAllowClose = shouldCloseHandle && !shouldCloseHandle();
@@ -261,9 +249,7 @@ if (!globalThis._GEMHISTORY) {
261
249
  }
262
250
  }
263
251
  }
264
- dispatchBeforeChangeEvent();
265
- cleanObject(store);
266
- store(newState);
252
+ changeState(newState);
267
253
  });
268
254
  }
269
255
  const { history, titleStore, basePathStore } = globalThis._GEMHISTORY;