@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
@@ -38,21 +38,46 @@ import { history, titleStore } from '../../lib/history';
38
38
  import { connect, createStore } from '../../lib/store';
39
39
  import { addListener } from '../../lib/utils';
40
40
  const UNNAMED_PARAM_PREFIX = '_';
41
- // '/test/:a' /^\/test\/(?<a>[^/]+)$/i
42
- // '/test/:a/b' /^\/test\/?<a>([^/]+)\/b$/i
43
- // '/test/*' /^\/test\/(?<_0>.*)$/i
44
- // '/test/:a/*' /^\/test\/(?<a>[^/]+)\/(?<_0>.*)$/i
45
- // '/test/*/:b /^\/test\/(?<_0>.*)\/(?<a>[^/]+)$/i
46
- class ParamsRegExp extends RegExp {
47
- constructor(pattern) {
48
- let i = 0;
49
- super(`^${pattern.replace(/((:[^/$]+)|(\*))/g, (_m, name) => {
50
- if (name === '*')
51
- return `(?<${UNNAMED_PARAM_PREFIX}${i++}>.*)`;
52
- return `(?<${name.slice(1)}>[^/]+)`;
53
- })}$`);
54
- }
41
+ // 不支持 `URLPattern` 时转换成正则
42
+ // '/test/:a' /^\/test\/(?<a>[^/]+)$/
43
+ // '/test/:a/b' /^\/test\/(?<a>[^/]+)\/b$/
44
+ // '/test/*' /^\/test\/(?<_0>.*)$/
45
+ // '/test/:a/*' /^\/test\/(?<a>[^/]+)\/(?<_0>.*)$/
46
+ // '/test/*/:b' /^\/test\/(?<_0>.*)\/(?<b>[^/]+)$/
47
+ function createRegExpMatcher(pattern) {
48
+ let i = 0;
49
+ const source = pattern.replace(/:[^/$]+|\*/g, (name) => name === '*' ? `(?<${UNNAMED_PARAM_PREFIX}${i++}>.*)` : `(?<${name.slice(1)}>[^/]+)`);
50
+ const reg = new RegExp(`^${source}$`);
51
+ return (path) => {
52
+ const result = path.match(reg);
53
+ if (!result)
54
+ return null;
55
+ const params = {};
56
+ for (const key in result.groups) {
57
+ params[key.startsWith(UNNAMED_PARAM_PREFIX) ? key.slice(1) : key] = result.groups[key];
58
+ }
59
+ return params;
60
+ };
61
+ }
62
+ // pattern 开头不含参数和特殊字符的部分
63
+ const LITERAL_PREFIX = /^[\w\-./~]*/;
64
+ // `URLPattern` 的创建和 `exec` 都比较慢,不含参数时直接比较,否则先检查固定的开头
65
+ function createMatcher(pattern) {
66
+ const literal = LITERAL_PREFIX.exec(pattern)[0];
67
+ if (literal === pattern)
68
+ return (path) => (path === pattern ? {} : null);
69
+ // 根 layout 的 pattern
70
+ if (pattern === '*')
71
+ return (path) => ({ 0: path });
72
+ if (!globalThis.URLPattern)
73
+ return createRegExpMatcher(pattern);
74
+ const urlPattern = new URLPattern({ pathname: pattern });
75
+ // 参数前的 `/` 可能是可选的,例如 `/a/:b?` 匹配 `/a`
76
+ const prefix = literal.replace(/\/$/, '');
77
+ return (path) => (path.startsWith(prefix) ? urlPattern.exec({ pathname: path })?.pathname.groups : null);
55
78
  }
79
+ // pattern 来自路由定义,数量有限
80
+ const matchers = new Map();
56
81
  /**
57
82
  * - 大小写敏感
58
83
  * - 匹配成功时返回 params
@@ -67,24 +92,10 @@ class ParamsRegExp extends RegExp {
67
92
  * ```
68
93
  */
69
94
  export function matchPath(pattern, path) {
70
- if (globalThis.URLPattern) {
71
- const urLPattern = new URLPattern({ pathname: pattern });
72
- const matchResult = urLPattern.exec({ pathname: path }) || urLPattern.exec({ pathname: `${path}/` });
73
- if (!matchResult)
74
- return null;
75
- return matchResult.pathname.groups;
76
- }
77
- const reg = new ParamsRegExp(pattern);
78
- const matchResult = path.match(reg) || `${path}/`.match(reg);
79
- if (!matchResult)
80
- return null;
81
- const params = {};
82
- if (matchResult.groups) {
83
- Object.entries(matchResult.groups).forEach(([key, value]) => {
84
- params[key.startsWith(UNNAMED_PARAM_PREFIX) ? key.slice(1) : key] = value;
85
- });
86
- }
87
- return params;
95
+ let match = matchers.get(pattern);
96
+ if (!match)
97
+ matchers.set(pattern, (match = createMatcher(pattern)));
98
+ return match(path) || match(`${path}/`) || null;
88
99
  }
89
100
  // 从路由创建路径
90
101
  // 不包含 basePath
@@ -110,6 +121,8 @@ export function createHistoryParams(route, options) {
110
121
  }
111
122
  const INIT_CONTENT = html ``;
112
123
  const scrollPositionMap = new Map();
124
+ // 导航到了新的历史记录,前进、后退和页面加载时为 `false`
125
+ let pushed = false;
113
126
  let GemLightRouteElement = (() => {
114
127
  let _classDecorators = [light({ penetrable: true })];
115
128
  let _classDescriptor;
@@ -143,6 +156,9 @@ let GemLightRouteElement = (() => {
143
156
  let _scrollContainer_decorators;
144
157
  let _scrollContainer_initializers = [];
145
158
  let _scrollContainer_extraInitializers = [];
159
+ let _scrollWait_decorators;
160
+ let _scrollWait_initializers = [];
161
+ let _scrollWait_extraInitializers = [];
146
162
  let _scrollIgnoreHash_decorators;
147
163
  let _scrollIgnoreHash_initializers = [];
148
164
  let _scrollIgnoreHash_extraInitializers = [];
@@ -174,6 +190,7 @@ let GemLightRouteElement = (() => {
174
190
  _routechange_decorators = [emitter];
175
191
  _error_decorators = [emitter];
176
192
  _scrollContainer_decorators = [property];
193
+ _scrollWait_decorators = [property];
177
194
  _scrollIgnoreHash_decorators = [property];
178
195
  _trigger_decorators = [property];
179
196
  _private_rememberScrollPosition_decorators = [effect((i) => [i.scrollContainer])];
@@ -189,6 +206,7 @@ let GemLightRouteElement = (() => {
189
206
  __esDecorate(null, null, _routechange_decorators, { kind: "field", name: "routechange", static: false, private: false, access: { has: obj => "routechange" in obj, get: obj => obj.routechange, set: (obj, value) => { obj.routechange = value; } }, metadata: _metadata }, _routechange_initializers, _routechange_extraInitializers);
190
207
  __esDecorate(null, null, _error_decorators, { kind: "field", name: "error", static: false, private: false, access: { has: obj => "error" in obj, get: obj => obj.error, set: (obj, value) => { obj.error = value; } }, metadata: _metadata }, _error_initializers, _error_extraInitializers);
191
208
  __esDecorate(null, null, _scrollContainer_decorators, { kind: "field", name: "scrollContainer", static: false, private: false, access: { has: obj => "scrollContainer" in obj, get: obj => obj.scrollContainer, set: (obj, value) => { obj.scrollContainer = value; } }, metadata: _metadata }, _scrollContainer_initializers, _scrollContainer_extraInitializers);
209
+ __esDecorate(null, null, _scrollWait_decorators, { kind: "field", name: "scrollWait", static: false, private: false, access: { has: obj => "scrollWait" in obj, get: obj => obj.scrollWait, set: (obj, value) => { obj.scrollWait = value; } }, metadata: _metadata }, _scrollWait_initializers, _scrollWait_extraInitializers);
192
210
  __esDecorate(null, null, _scrollIgnoreHash_decorators, { kind: "field", name: "scrollIgnoreHash", static: false, private: false, access: { has: obj => "scrollIgnoreHash" in obj, get: obj => obj.scrollIgnoreHash, set: (obj, value) => { obj.scrollIgnoreHash = value; } }, metadata: _metadata }, _scrollIgnoreHash_initializers, _scrollIgnoreHash_extraInitializers);
193
211
  __esDecorate(null, null, _trigger_decorators, { kind: "field", name: "trigger", static: false, private: false, access: { has: obj => "trigger" in obj, get: obj => obj.trigger, set: (obj, value) => { obj.trigger = value; } }, metadata: _metadata }, _trigger_initializers, _trigger_extraInitializers);
194
212
  __esDecorate(null, null, _private_rememberScrollPosition_decorators, { kind: "field", name: "#rememberScrollPosition", static: false, private: true, access: { has: obj => #rememberScrollPosition in obj, get: obj => obj.#rememberScrollPosition, set: (obj, value) => { obj.#rememberScrollPosition = value; } }, metadata: _metadata }, _private_rememberScrollPosition_initializers, _private_rememberScrollPosition_extraInitializers);
@@ -214,10 +232,15 @@ let GemLightRouteElement = (() => {
214
232
  beforeroutechange = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _beforeroutechange_initializers, void 0));
215
233
  routechange = (__runInitializers(this, _beforeroutechange_extraInitializers), __runInitializers(this, _routechange_initializers, void 0)); // path 改变或者 key 改变,包含初始渲染
216
234
  error = (__runInitializers(this, _routechange_extraInitializers), __runInitializers(this, _error_initializers, void 0));
217
- /**自动让滚动容器恢复滚动位置 */
235
+ /**
236
+ * 自动让滚动容器恢复滚动位置,导航到新的历史记录时滚动到顶部,
237
+ * 函数返回空值时不处理当前路由,例如只有子路由渲染后才需要滚动
238
+ */
218
239
  scrollContainer = (__runInitializers(this, _error_extraInitializers), __runInitializers(this, _scrollContainer_initializers, void 0));
240
+ /**恢复滚动位置前等待,例如等待异步加载的内容撑开滚动容器 */
241
+ scrollWait = (__runInitializers(this, _scrollContainer_extraInitializers), __runInitializers(this, _scrollWait_initializers, void 0));
219
242
  /**默认当有 `hash` 时不进行滚动 */
220
- scrollIgnoreHash = (__runInitializers(this, _scrollContainer_extraInitializers), __runInitializers(this, _scrollIgnoreHash_initializers, void 0));
243
+ scrollIgnoreHash = (__runInitializers(this, _scrollWait_extraInitializers), __runInitializers(this, _scrollIgnoreHash_initializers, void 0));
221
244
  trigger = (__runInitializers(this, _scrollIgnoreHash_extraInitializers), __runInitializers(this, _trigger_initializers, history));
222
245
  /**当前使用的路由对象 */
223
246
  currentRoute = __runInitializers(this, _trigger_extraInitializers);
@@ -266,16 +289,27 @@ let GemLightRouteElement = (() => {
266
289
  data,
267
290
  });
268
291
  };
269
- #updateScrollContainerPosition = () => {
270
- if (!this.#scrollContainer)
292
+ // 已经处理过滚动的历史记录,同一条历史记录重新渲染时保持滚动位置
293
+ #scrolledKey;
294
+ #updateScrollContainerPosition = async () => {
295
+ const container = this.#scrollContainer;
296
+ const key = history.currentKey;
297
+ if (!container || key === this.#scrolledKey)
298
+ return;
299
+ this.#scrolledKey = key;
300
+ const scrollTop = scrollPositionMap.get(key);
301
+ if (!pushed && scrollTop !== undefined) {
302
+ await this.scrollWait?.();
303
+ // 等待时可能已经导航
304
+ if (key === history.currentKey)
305
+ container.scroll(0, scrollTop);
271
306
  return;
272
- const scrollTop = scrollPositionMap.get(history.currentKey);
273
- if (scrollTop) {
274
- this.#scrollContainer.scroll(0, scrollTop);
275
- }
276
- else if (this.scrollIgnoreHash || !history.getParams().hash) {
277
- this.#scrollContainer.scroll(0, 0);
278
307
  }
308
+ // 前进、后退或者页面加载时位置未知(例如刷新后),保持浏览器恢复的位置,浏览器只恢复文档的滚动位置
309
+ if (!pushed && container === document.scrollingElement)
310
+ return;
311
+ if (this.scrollIgnoreHash || !history.getParams().hash)
312
+ container.scroll(0, 0);
279
313
  };
280
314
  #lastLoader;
281
315
  #setContent = (route, params, content) => {
@@ -300,9 +334,15 @@ let GemLightRouteElement = (() => {
300
334
  }
301
335
  };
302
336
  #rememberScrollPosition = __runInitializers(this, _private_rememberScrollPosition_initializers, () => {
303
- if (!this.#scrollContainer)
337
+ if (!this.scrollContainer)
304
338
  return;
305
- return addListener(history, 'beforechange', () => scrollPositionMap.set(history.currentKey, this.#scrollContainer.scrollTop));
339
+ return addListener(history, 'beforechange', () => {
340
+ // 前进和后退时浏览器的历史记录已经改变,Gem 的还没有改变
341
+ pushed = globalThis.history.state?.$key === history.currentKey;
342
+ const container = this.#scrollContainer;
343
+ if (container)
344
+ scrollPositionMap.set(history.currentKey, container.scrollTop);
345
+ });
306
346
  });
307
347
  // history or i18n
308
348
  #connectTriggerStore = (__runInitializers(this, _private_rememberScrollPosition_extraInitializers), __runInitializers(this, _private_connectTriggerStore_initializers, () => this.trigger.store && connect(this.trigger.store, () => this.#state())));
@@ -1 +1 @@
1
- {"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/elements/base/route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/elements/base/route.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../src/elements/base/use.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,UAAU,EAAQ,MAAM,oBAAoB,CAAC;AAe3D;;;;;GAKG;AACH,qBAEa,aAAc,SAAQ,UAAU;;IAChC,QAAQ,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,OAAO,CAAC;IAEjD,MAAM,EAAE,OAAO,CAAC;CAuBxB"}
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../src/elements/base/use.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,UAAU,EAAQ,MAAM,oBAAoB,CAAC;AAiB3D;;;;;GAKG;AACH,qBAEa,aAAc,SAAQ,UAAU;;IAChC,QAAQ,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,OAAO,CAAC;IAEjD,MAAM,EAAE,OAAO,CAAC;CAgCxB"}
@@ -34,6 +34,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
34
34
  };
35
35
  import { adoptedStyle, attribute, property, shadow, state, template } from '../../lib/decorators';
36
36
  import { css, GemElement, html } from '../../lib/reactive';
37
+ import { isServer } from '../../lib/server';
37
38
  const styles = css `
38
39
  :host(:where(:not([hidden]))) {
39
40
  position: relative;
@@ -46,6 +47,7 @@ const styles = css `
46
47
  }
47
48
  `;
48
49
  const eleCache = new Map();
50
+ const stringsCache = new Map();
49
51
  /**
50
52
  * svg 中的 `<use>` 不能穿透 ShadowDOM,
51
53
  * 此元素用来模拟 `<use>`,
@@ -98,6 +100,15 @@ let GemUseElement = (() => {
98
100
  active = (__runInitializers(this, _element_extraInitializers), __runInitializers(this, _active_initializers, void 0));
99
101
  #getContent = (__runInitializers(this, _active_extraInitializers), () => {
100
102
  const ele = this.element || (this.selector ? (this.root || document).querySelector(this.selector) : null);
103
+ // SSR 没有 DOM,把字符串作为静态模版输出
104
+ if (typeof ele === 'string' && isServer) {
105
+ let strings = stringsCache.get(ele);
106
+ if (!strings) {
107
+ strings = Object.assign([ele], { raw: [ele] });
108
+ stringsCache.set(ele, strings);
109
+ }
110
+ return html(strings);
111
+ }
101
112
  if (typeof ele === 'string') {
102
113
  let temp = eleCache.get(ele);
103
114
  if (!temp) {
@@ -1 +1 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../src/elements/base/use.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;CAUjB,CAAC;AAEF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;AACxD;;;;;GAKG;IAGU,aAAa;4BAFzB,MAAM,EAAE,EACR,YAAY,CAAC,MAAM,CAAC;;;;sBACc,UAAU;;;;;;;;;;;;;;;;6BAAlB,SAAQ,WAAU;;;;oCAC1C,SAAS;gCACT,QAAQ;mCACR,QAAQ;kCAER,KAAK;2CAmBL,QAAQ,EAAE;YAvBA,0KAAA,QAAQ,6BAAR,QAAQ,2FAAS;YAClB,8JAAA,IAAI,6BAAJ,IAAI,mFAAuC;YAC3C,uKAAA,OAAO,6BAAP,OAAO,yFAAuC;YAEjD,oKAAA,MAAM,6BAAN,MAAM,uFAAU;YAoBvB,6IAAA,QAAQ,yBAAR,QAAQ,6BAAR,QAAQ,yGAEN;YA3BJ,6KA4BC;;;YA5BY,uDAAa;;QACb,QAAQ,2DAAS,CAAC,UAAU;QAC7B,IAAI,+GAAuC;QAC3C,OAAO,8GAAuC;QAEjD,MAAM,gHAAU;QAEvB,WAAW,wDAAG,GAAG,EAAE;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1G,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBAC1C,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;oBACrB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;iBAAM,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;gBAC9C,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC,EAAC;QAGF,QAAQ,0DAAG,GAAG,EAAE;YACd,OAAO,IAAI,CAAA,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC;QAClD,CAAC,EAAC;;;;;;;;SA3BS,aAAa"}
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../src/elements/base/use.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;CAUjB,CAAC;AAEF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;AACxD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAgC,CAAC;AAC7D;;;;;GAKG;IAGU,aAAa;4BAFzB,MAAM,EAAE,EACR,YAAY,CAAC,MAAM,CAAC;;;;sBACc,UAAU;;;;;;;;;;;;;;;;6BAAlB,SAAQ,WAAU;;;;oCAC1C,SAAS;gCACT,QAAQ;mCACR,QAAQ;kCAER,KAAK;2CA4BL,QAAQ,EAAE;YAhCA,0KAAA,QAAQ,6BAAR,QAAQ,2FAAS;YAClB,8JAAA,IAAI,6BAAJ,IAAI,mFAAuC;YAC3C,uKAAA,OAAO,6BAAP,OAAO,yFAAuC;YAEjD,oKAAA,MAAM,6BAAN,MAAM,uFAAU;YA6BvB,6IAAA,QAAQ,yBAAR,QAAQ,6BAAR,QAAQ,yGAEN;YApCJ,6KAqCC;;;YArCY,uDAAa;;QACb,QAAQ,2DAAS,CAAC,UAAU;QAC7B,IAAI,+GAAuC;QAC3C,OAAO,8GAAuC;QAEjD,MAAM,gHAAU;QAEvB,WAAW,wDAAG,GAAG,EAAE;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1G,0BAA0B;YAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBACxC,IAAI,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC/C,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACjC,CAAC;gBACD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;YACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBAC1C,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;oBACrB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;iBAAM,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;gBAC9C,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC,EAAC;QAGF,QAAQ,0DAAG,GAAG,EAAE;YACd,OAAO,IAAI,CAAA,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC;QAClD,CAAC,EAAC;;;;;;;;SApCS,aAAa"}
package/helper/hmr.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  type HasFieldsRecordClass = {
2
- _defined_fields_?: [string, string, boolean][];
2
+ _defined_fields_?: [string, string, boolean, string?][];
3
3
  };
4
4
  declare global {
5
5
  interface Window {
6
6
  _hmrClassRegistry: Map<string, any>;
7
- _hmrRegisterClass: (name: string) => (cls: HasFieldsRecordClass, ctx: ClassDecoratorContext) => void;
7
+ _hmrRegisterClass: (name: string) => (cls: HasFieldsRecordClass, ctx: ClassDecoratorContext) => any;
8
+ _hmrKeep: <T>(key: string, fn: () => T) => T;
8
9
  }
9
10
  }
10
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"hmr.d.ts","sourceRoot":"","sources":["../src/helper/hmr.ts"],"names":[],"mappings":"AAoGA,KAAK,oBAAoB,GAAG;IAAE,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAAE,CAAC;AA0D/E,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACpC,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,qBAAqB,KAAK,IAAI,CAAC;KACtG;CACF"}
1
+ {"version":3,"file":"hmr.d.ts","sourceRoot":"","sources":["../src/helper/hmr.ts"],"names":[],"mappings":"AAwFA,KAAK,oBAAoB,GAAG;IAAE,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAA;CAAE,CAAC;AAqGxF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACpC,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,qBAAqB,KAAK,GAAG,CAAC;QACpG,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;KAC9C;CACF"}
package/helper/hmr.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import { attribute, boolattribute, emitter, globalemitter, numattribute, property, state } from '../lib/decorators';
2
+ import { ChildPart } from '../lib/lit-html';
2
3
  import { GemElement, UpdateToken } from '../lib/reactive';
4
+ import { camelToKebabCase } from '../lib/utils';
3
5
  import { Logger } from './logger';
4
6
  const logger = new Logger('HMR');
5
7
  const nativeDefineElement = typeof window === 'undefined' || !window.customElements
@@ -35,28 +37,19 @@ function getMetadata(cons) {
35
37
  function getHmrMethodKeys(obj) {
36
38
  return Object.getOwnPropertyNames(obj).filter((key) => key.startsWith('_hmr_'));
37
39
  }
38
- /** 不支持修改 store */
40
+ /** 连接的 store 必须是同一对象,否则元素订阅的是老 store */
39
41
  function checkMetadataNeedReload({ mode, penetrable, noBlocking, observedStores }, newMetadata) {
40
- const stringifyStores = (stores) => JSON.stringify(stores?.map((store) => JSON.stringify({ ...store }, (_, v) => (typeof v === 'function' ? v.toString() : v))));
42
+ const isSameStores = (a = [], b = []) => a.length === b.length && a.every((store, i) => store === b[i]);
41
43
  if (mode !== newMetadata.mode ||
42
44
  penetrable !== newMetadata.penetrable ||
43
45
  noBlocking !== newMetadata.noBlocking ||
44
- stringifyStores(observedStores) !== stringifyStores(newMetadata.observedStores)) {
46
+ !isSameStores(observedStores, newMetadata.observedStores)) {
45
47
  return true;
46
48
  }
47
49
  }
48
- /** 不支持删减函数字段,因为原函数可能已经被绑定 */
49
- function checkClassNeedReload(existed, newClass) {
50
- if (getHmrMethodKeys(existed).join() !== getHmrMethodKeys(newClass).join() ||
51
- getHmrMethodKeys(existed.prototype).join() !== getHmrMethodKeys(newClass.prototype).join()) {
52
- return true;
53
- }
54
- }
55
- /** 不支持删减实例其他字段,因为新实例总是使用老 Class 定义 */
50
+ /** 不支持删减实例其他字段、有装饰器的函数成员和构造函数,因为新实例总是使用老 Class 定义 */
56
51
  function checkFieldsNeedReload({ instanceFields }) {
57
- if (instanceFields.other?.add?.length || instanceFields.other?.remove?.length) {
58
- return true;
59
- }
52
+ return [instanceFields.other, instanceFields.ctor].some((diff) => diff?.add.length || diff?.remove.length);
60
53
  }
61
54
  function diffArr(oldList, newList, fn = (e) => String(e)) {
62
55
  const getMap = (list) => new Map(list.map((e) => [fn(e), e]));
@@ -84,7 +77,12 @@ function diffRecord(oldRecord, newRecord) {
84
77
  }
85
78
  function getFields(existed, newClass) {
86
79
  const translate = (cls) => {
87
- const fieldList = (cls._defined_fields_ || []).map(([name, type, isStatic]) => ({ name, type, isStatic }));
80
+ const fieldList = (cls._defined_fields_ || []).map(([name, type, isStatic, shadow]) => ({
81
+ name,
82
+ type,
83
+ isStatic,
84
+ shadow,
85
+ }));
88
86
  const fieldGroup = Object.groupBy(fieldList, ({ isStatic }) => (isStatic ? 'staticFields' : 'instanceFields'));
89
87
  const groupBy = (list) => Object.groupBy(list || [], ({ type }) => type);
90
88
  return {
@@ -122,6 +120,41 @@ const descMap = {
122
120
  emitter,
123
121
  globalemitter,
124
122
  };
123
+ const attrTypes = new Set(['attribute', 'boolattribute', 'numattribute']);
124
+ /** 新增 attribute 的初始值本应在构造时读取,但新实例仍由老类构造,改为首次读取时从 DOM 获取 */
125
+ function lazyInitAttribute(proto, prop) {
126
+ const { get, set } = Object.getOwnPropertyDescriptor(proto, prop);
127
+ const attr = camelToKebabCase(prop);
128
+ Reflect.defineProperty(proto, prop, {
129
+ configurable: true,
130
+ set,
131
+ get() {
132
+ if (get.call(this) === undefined)
133
+ set.call(this, this.getAttribute(attr));
134
+ return get.call(this);
135
+ },
136
+ });
137
+ }
138
+ /** 新增的箭头函数字段不会被老类构造,首次访问时为实例(静态字段为类)创建代理 */
139
+ function defineLazyFn(target, name, shadow) {
140
+ Reflect.defineProperty(target, name, {
141
+ configurable: true,
142
+ get() {
143
+ const fn = (...args) => this[shadow](...args);
144
+ setProperty(this, name, fn);
145
+ return fn;
146
+ },
147
+ });
148
+ }
149
+ /** 函数成员的代理只调用影子方法,可以直接复制到老类上 */
150
+ function updateFnMembers(oldTarget, newTarget, diffs) {
151
+ const { method, fn } = diffs;
152
+ method?.add.concat(method.some).forEach(({ name }) => {
153
+ Reflect.defineProperty(oldTarget, name, Object.getOwnPropertyDescriptor(newTarget, name));
154
+ });
155
+ fn?.add.forEach(({ name, shadow }) => defineLazyFn(oldTarget, name, shadow));
156
+ [method?.remove, fn?.remove].forEach((list) => list?.forEach(({ name }) => deleteProperty(oldTarget, name)));
157
+ }
125
158
  function setArrValue(obj, field, val = []) {
126
159
  if (!Object.getOwnPropertyDescriptor(obj, field)) {
127
160
  setProperty(obj, field, val);
@@ -134,10 +167,32 @@ function setArrValue(obj, field, val = []) {
134
167
  }
135
168
  if (typeof window !== 'undefined' && nativeDefineElement && !window._hmrClassRegistry) {
136
169
  window._hmrClassRegistry = new Map();
170
+ // 模块重新执行时复用模块顶层的 store
171
+ const keptValues = new Map();
172
+ window._hmrKeep = (key, fn) => {
173
+ if (!keptValues.has(key))
174
+ keptValues.set(key, fn());
175
+ return keptValues.get(key);
176
+ };
177
+ // 模块重新执行后模板字符串是新对象,内容相同时使用老对象,以便复用已渲染的 DOM
178
+ const canonicalStrings = new Map();
179
+ const stringsMap = new WeakMap();
180
+ const { _$getTemplate } = ChildPart.prototype;
181
+ ChildPart.prototype._$getTemplate = function (result) {
182
+ let strings = stringsMap.get(result.strings);
183
+ if (!strings) {
184
+ const key = `${result.type}:${result.strings.join('\0')}`;
185
+ strings = canonicalStrings.get(key) || result.strings;
186
+ canonicalStrings.set(key, strings);
187
+ stringsMap.set(result.strings, strings);
188
+ }
189
+ result.strings = strings;
190
+ return _$getTemplate.call(this, result);
191
+ };
137
192
  window._hmrRegisterClass =
138
193
  (name) => (cls, { addInitializer }) => {
194
+ const existed = window._hmrClassRegistry.get(name);
139
195
  addInitializer(() => {
140
- const existed = window._hmrClassRegistry.get(name);
141
196
  if (!existed) {
142
197
  window._hmrClassRegistry.set(name, cls);
143
198
  return;
@@ -148,7 +203,7 @@ if (typeof window !== 'undefined' && nativeDefineElement && !window._hmrClassReg
148
203
  const [oldClass, newClass] = current;
149
204
  if (oldClass === newClass || current.some((e) => e === GemElement || e === Function.prototype))
150
205
  break;
151
- if (current.some((e) => !e) || checkClassNeedReload(oldClass, newClass)) {
206
+ if (current.some((e) => !e)) {
152
207
  location.reload();
153
208
  return;
154
209
  }
@@ -206,10 +261,18 @@ if (typeof window !== 'undefined' && nativeDefineElement && !window._hmrClassReg
206
261
  }
207
262
  });
208
263
  remove.forEach((prop) => {
209
- setProperty(element, prop.name, undefined);
264
+ if (type in descMap) {
265
+ setProperty(element, prop.name, undefined);
266
+ }
210
267
  });
211
268
  });
212
269
  });
270
+ instanceFieldsEntries.forEach(([type, { add }]) => {
271
+ if (attrTypes.has(type))
272
+ add.forEach((prop) => lazyInitAttribute(oldClass.prototype, prop.name));
273
+ });
274
+ updateFnMembers(oldClass, newClass, fields.staticFields);
275
+ updateFnMembers(oldClass.prototype, newClass.prototype, fields.instanceFields);
213
276
  // 删除的属性在 proto 上添加占位符
214
277
  instanceFieldsEntries.forEach(([type, { remove }]) => {
215
278
  remove.forEach((prop) => {
@@ -227,17 +290,23 @@ if (typeof window !== 'undefined' && nativeDefineElement && !window._hmrClassReg
227
290
  setArrValue(oldMetadata, 'definedCSSStates', newMetadata.definedCSSStates);
228
291
  setArrValue(oldMetadata, 'adoptedStyleSheets', newMetadata.adoptedStyleSheets);
229
292
  setArrValue(oldClass, '_defined_fields_', newClass._defined_fields_);
293
+ // 全部替换,让所有方法都引用新模块的变量
230
294
  [
231
295
  [oldClass, newClass],
232
296
  [oldClass.prototype, newClass.prototype],
233
297
  ].forEach(([existedObj, newObj]) => {
234
- Object.assign(existedObj, Object.fromEntries(getHmrMethodKeys(newObj)
235
- .filter((key) => existedObj[key].toString() !== newObj[key].toString())
236
- .map((key) => [key, newObj[key]])));
298
+ getHmrMethodKeys(newObj).forEach((key) => (existedObj[key] = newObj[key]));
237
299
  });
238
300
  current = [getPrototypeOf(oldClass), getPrototypeOf(newClass)];
239
301
  }
240
302
  });
303
+ if (!existed)
304
+ return;
305
+ // 新类未注册,构造时使用老类,例如 `new MyElement()`
306
+ const proxy = new Proxy(cls, {
307
+ construct: (_, args, newTarget) => Reflect.construct(existed, args, newTarget === proxy ? existed : newTarget),
308
+ });
309
+ return proxy;
241
310
  };
242
311
  window.customElements.define = (name, cls) => {
243
312
  const existed = customElements.get(name);
@@ -249,8 +318,11 @@ if (typeof window !== 'undefined' && nativeDefineElement && !window._hmrClassReg
249
318
  queueMicrotask(() => {
250
319
  logger.info(`<${name}> update,`, { cls });
251
320
  updateElement(name, (element) => {
252
- // 触发样式更新,支持 Light DOM
253
- element.after(element);
321
+ // 触发样式更新,支持 Light DOM;不移动元素,避免失去焦点和滚动位置
322
+ if (element.isConnected) {
323
+ element.disconnectedCallback();
324
+ element.connectedCallback();
325
+ }
254
326
  // 重新渲染
255
327
  element[UpdateToken]?.();
256
328
  });
package/helper/hmr.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hmr.js","sourceRoot":"","sources":["../src/helper/hmr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hmr.js","sourceRoot":"","sources":["../src/helper/hmr.ts"],"names":[],"mappings":"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"}
package/helper/i18n.d.ts CHANGED
@@ -31,12 +31,13 @@ export declare class I18n<T = Record<string, Msg>> implements RouteTrigger {
31
31
  #private;
32
32
  resources: Resources<T>;
33
33
  fallbackLanguage: string;
34
- currentLanguage: string;
35
34
  cache?: boolean | 'manual';
36
35
  cachePrefix: string;
37
36
  urlParamsType?: 'path' | 'querystring' | 'ccTLD' | 'gTLD';
38
37
  urlParamsName?: string;
39
38
  onChange?: (currentLanguage: string) => void;
39
+ get currentLanguage(): string;
40
+ set currentLanguage(lang: string);
40
41
  replace: ({ path }: UpdateHistoryParams) => Promise<string>;
41
42
  getParams: () => {
42
43
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/helper/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAYtD,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,cAAc,CAAC,GAAG,MAAM,CAAC,EAAE,kBAW7F;AAID,KAAK,GAAG,GACJ;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,GACD,MAAM,CAAC;AAEX,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACjC,CAAC;AAEF,UAAU,SAAS,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;CACpC;AAED,UAAU,WAAW,CAAC,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAG3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,qBAAa,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,YAAW,YAAY;;IAChE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,WAAW,SAAc;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;IAG7C,OAAO,GAAI,UAAU,mBAAmB,qBAA6B;IACrE,SAAS;;MAA0C;gBAwCvC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IA6BnC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM;IACvB,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,cAAc,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,cAAc;IAUxF,cAAc;IAUR,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkEhD,aAAa;IAYb,QAAQ;IAOR,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAY9E;;;;;;;;OAQG;IACH,MAAM;;;;CAMP"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/helper/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAatD,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,cAAc,CAAC,GAAG,MAAM,CAAC,EAAE,kBAW7F;AAID,KAAK,GAAG,GACJ;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,GACD,MAAM,CAAC;AAEX,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACjC,CAAC;AAEF,UAAU,SAAS,CAAC,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;CACpC;AAED,UAAU,WAAW,CAAC,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAG3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,qBAAa,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,YAAW,YAAY;;IAChE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,WAAW,SAAc;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;IAK7C,IAAI,eAAe,IAIO,MAAM,CAF/B;IAED,IAAI,eAAe,CAAC,IAAI,EAAE,MAAM,EAE/B;IAGD,OAAO,GAAI,UAAU,mBAAmB,qBAA6B;IACrE,SAAS;;MAA0C;gBAwCvC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IA6BnC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM;IACvB,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,cAAc,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,cAAc;IAUxF,cAAc;IAUR,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkEhD,aAAa;IAYb,QAAQ;IAOR,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAY9E;;;;;;;;OAQG;IACH,MAAM;;;;CAMP"}