@mantou/gem 1.5.5 → 1.6.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.
@@ -47,7 +47,7 @@ export declare function createModalClass<T extends Record<string, unknown>>(opti
47
47
  "__#3@#initEffect": () => void;
48
48
  willMount?(): void | Promise<void>;
49
49
  render?(): import("lit-html/lib/template-result").TemplateResult | null | undefined;
50
- "__#3@#render": () => import("lit-html/lib/template-result").TemplateResult | null | undefined;
50
+ "__#3@#render": () => import("lit-html/lib/template-result").TemplateResult | undefined;
51
51
  mounted?(): void | Promise<void> | (() => void);
52
52
  shouldUpdate?(): boolean;
53
53
  "__#3@#shouldUpdate": () => boolean;
@@ -59,7 +59,8 @@ export declare function createModalClass<T extends Record<string, unknown>>(opti
59
59
  unmounted?(): void | Promise<void>;
60
60
  attributeChangedCallback(): void;
61
61
  "__#3@#connectedCallback": () => void;
62
- closestElement(clsOrName: string | CustomElementConstructor): Element | null;
62
+ closestElement<K extends keyof HTMLElementTagNameMap>(tag: K): HTMLElementTagNameMap[K] | null;
63
+ closestElement<K_1 extends abstract new (...args: any) => any>(constructor: K_1): InstanceType<K_1> | null;
63
64
  connectedCallback(): void;
64
65
  disconnectedCallback(): void;
65
66
  accessKey: string;
@@ -81,9 +82,9 @@ export declare function createModalClass<T extends Record<string, unknown>>(opti
81
82
  translate: boolean;
82
83
  attachInternals(): ElementInternals;
83
84
  click(): void;
84
- addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void;
85
+ addEventListener<K_2 extends keyof HTMLElementEventMap>(type: K_2, listener: (this: HTMLElement, ev: HTMLElementEventMap[K_2]) => any, options?: boolean | AddEventListenerOptions | undefined): void;
85
86
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
86
- removeEventListener<K_1 extends keyof HTMLElementEventMap>(type: K_1, listener: (this: HTMLElement, ev: HTMLElementEventMap[K_1]) => any, options?: boolean | EventListenerOptions | undefined): void;
87
+ removeEventListener<K_3 extends keyof HTMLElementEventMap>(type: K_3, listener: (this: HTMLElement, ev: HTMLElementEventMap[K_3]) => any, options?: boolean | EventListenerOptions | undefined): void;
87
88
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions | undefined): void;
88
89
  inert: boolean;
89
90
  readonly attributes: NamedNodeMap;
@@ -110,8 +111,8 @@ export declare function createModalClass<T extends Record<string, unknown>>(opti
110
111
  slot: string;
111
112
  readonly tagName: string;
112
113
  attachShadow(init: ShadowRootInit): ShadowRoot;
113
- closest<K_2 extends keyof HTMLElementTagNameMap>(selector: K_2): HTMLElementTagNameMap[K_2] | null;
114
- closest<K_3 extends keyof SVGElementTagNameMap>(selector: K_3): SVGElementTagNameMap[K_3] | null;
114
+ closest<K_4 extends keyof HTMLElementTagNameMap>(selector: K_4): HTMLElementTagNameMap[K_4] | null;
115
+ closest<K_5 extends keyof SVGElementTagNameMap>(selector: K_5): SVGElementTagNameMap[K_5] | null;
115
116
  closest<E extends Element = Element>(selectors: string): E | null;
116
117
  getAttribute(qualifiedName: string): string | null;
117
118
  getAttributeNS(namespace: string | null, localName: string): string | null;
@@ -121,8 +122,8 @@ export declare function createModalClass<T extends Record<string, unknown>>(opti
121
122
  getBoundingClientRect(): DOMRect;
122
123
  getClientRects(): DOMRectList;
123
124
  getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;
124
- getElementsByTagName<K_4 extends keyof HTMLElementTagNameMap>(qualifiedName: K_4): HTMLCollectionOf<HTMLElementTagNameMap[K_4]>;
125
- getElementsByTagName<K_5 extends keyof SVGElementTagNameMap>(qualifiedName: K_5): HTMLCollectionOf<SVGElementTagNameMap[K_5]>;
125
+ getElementsByTagName<K_6 extends keyof HTMLElementTagNameMap>(qualifiedName: K_6): HTMLCollectionOf<HTMLElementTagNameMap[K_6]>;
126
+ getElementsByTagName<K_7 extends keyof SVGElementTagNameMap>(qualifiedName: K_7): HTMLCollectionOf<SVGElementTagNameMap[K_7]>;
126
127
  getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;
127
128
  getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf<HTMLElement>;
128
129
  getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>;
@@ -253,11 +254,11 @@ export declare function createModalClass<T extends Record<string, unknown>>(opti
253
254
  readonly lastElementChild: Element | null;
254
255
  append(...nodes: (string | Node)[]): void;
255
256
  prepend(...nodes: (string | Node)[]): void;
256
- querySelector<K_6 extends keyof HTMLElementTagNameMap>(selectors: K_6): HTMLElementTagNameMap[K_6] | null;
257
- querySelector<K_7 extends keyof SVGElementTagNameMap>(selectors: K_7): SVGElementTagNameMap[K_7] | null;
257
+ querySelector<K_8 extends keyof HTMLElementTagNameMap>(selectors: K_8): HTMLElementTagNameMap[K_8] | null;
258
+ querySelector<K_9 extends keyof SVGElementTagNameMap>(selectors: K_9): SVGElementTagNameMap[K_9] | null;
258
259
  querySelector<E_1 extends Element = Element>(selectors: string): E_1 | null;
259
- querySelectorAll<K_8 extends keyof HTMLElementTagNameMap>(selectors: K_8): NodeListOf<HTMLElementTagNameMap[K_8]>;
260
- querySelectorAll<K_9 extends keyof SVGElementTagNameMap>(selectors: K_9): NodeListOf<SVGElementTagNameMap[K_9]>;
260
+ querySelectorAll<K_10 extends keyof HTMLElementTagNameMap>(selectors: K_10): NodeListOf<HTMLElementTagNameMap[K_10]>;
261
+ querySelectorAll<K_11 extends keyof SVGElementTagNameMap>(selectors: K_11): NodeListOf<SVGElementTagNameMap[K_11]>;
261
262
  querySelectorAll<E_2 extends Element = Element>(selectors: string): NodeListOf<E_2>;
262
263
  replaceChildren(...nodes: (string | Node)[]): void;
263
264
  readonly assignedSlot: HTMLSlotElement | null;
@@ -1 +1 @@
1
- {"version":3,"file":"modal-base.d.ts","sourceRoot":"","sources":["../src/elements/modal-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqC,MAAM,KAAK,CAAC;AAEpE,QAAA,MAAM,IAAI,eAAsB,CAAC;AAEjC;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAEvD,WAAW,EAAE;cACf,UAAU,GAAG,IAAI;IAClC;;;OAGG;;;;IAMH,YAAY;;IAKZ,YAAY;;;;IAKZ;;;;OAIG;eACe,GAAC;IAkBnB;;;OAGG;;IAKH;;;OAGG;;IAOH;;OAEG;;;;;;;;;;;;;EAaN"}
1
+ {"version":3,"file":"modal-base.d.ts","sourceRoot":"","sources":["../src/elements/modal-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqC,MAAM,KAAK,CAAC;AAEpE,QAAA,MAAM,IAAI,eAAsB,CAAC;AAEjC;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAEvD,WAAW,EAAE;cACf,UAAU,GAAG,IAAI;IAClC;;;OAGG;;;;IAMH,YAAY;;IAKZ,YAAY;;;;IAKZ;;;;OAIG;eACe,GAAC;IAkBnB;;;OAGG;;IAKH;;;OAGG;;IAOH;;OAEG;;;;;;;;;;;;;EAaN"}
package/helper/i18n.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { Store } from '../lib/store';
2
2
  import { TemplateResult } from '../lib/element';
3
+ export declare function splice(rawValue: string, ...rest: (((s: string) => TemplateResult) | string)[]): TemplateResult;
3
4
  declare type Msg = {
4
5
  message: string;
5
6
  description: string;
@@ -26,6 +27,7 @@ interface Options<T> {
26
27
  onChange?: (currentLanguage: string) => void;
27
28
  }
28
29
  export declare class I18n<T = Record<string, Msg>> {
30
+ #private;
29
31
  resources: Resources<T>;
30
32
  fallbackLanguage: string;
31
33
  currentLanguage: string;
@@ -35,10 +37,6 @@ export declare class I18n<T = Record<string, Msg>> {
35
37
  urlParamsName?: string;
36
38
  onChange?: (currentLanguage: string) => void;
37
39
  store: Store<any>;
38
- get cacheCurrentKey(): string;
39
- get urlParamsLang(): string | undefined;
40
- get cacheLang(): string;
41
- set lang(lang: string);
42
40
  constructor(options: Options<T>);
43
41
  get(s: keyof T): string;
44
42
  get(s: keyof T, ...rest: (((s: string) => TemplateResult) | string)[]): TemplateResult;
@@ -46,6 +44,7 @@ export declare class I18n<T = Record<string, Msg>> {
46
44
  setLanguage(lang: string): Promise<string>;
47
45
  resetLanguage(): Promise<string>;
48
46
  setCache(): void;
47
+ createSubModule<K = Record<string, Msg>>(name: string, resources: Resources<K>): I18n<K>;
49
48
  /**
50
49
  * prepare: @connectStore(i18n.store)
51
50
  *
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/helper/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAQ,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAUtD,aAAK,GAAG,GACJ;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,GACD,MAAM,CAAC;AAEX,oBAAY,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,OAAO,CAAC,CAAC;IACjB,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;IACvC,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;IAE7C,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAElB,IAAI,eAAe,WAElB;IAED,IAAI,aAAa,uBAchB;IAED,IAAI,SAAS,WAEZ;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,EAIpB;gBAEW,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IA6B/B,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM;IACvB,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,cAAc,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,cAAc;IAoBtF,cAAc;IAUR,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqDhD,aAAa;IASb,QAAQ;IAIR;;;;;;;;;;OAUG;IACH,MAAM;;;;CAMP"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/helper/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAQ,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAUtD,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,aAAK,GAAG,GACJ;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,GACD,MAAM,CAAC;AAEX,oBAAY,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,OAAO,CAAC,CAAC;IACjB,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;;IACvC,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;IAE7C,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBAsCN,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IA6B/B,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM;IACvB,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,cAAc,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,cAAc;IAUtF,cAAc;IAUR,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwDhD,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;;;;;;;;;;OAUG;IACH,MAAM;;;;CAMP"}
package/helper/i18n.js CHANGED
@@ -7,6 +7,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
11
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
12
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
13
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
14
+ };
15
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
16
+ if (kind === "m") throw new TypeError("Private method is not writable");
17
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
18
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
19
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
20
+ };
21
+ var _I18n_instances, _I18n_cacheCurrentKey_get, _I18n_urlParamsLang_get, _I18n_cacheLang_get, _I18n_isMain_get, _I18n_lang_set;
10
22
  import { createStore, updateStore } from '../lib/store';
11
23
  import { html } from '../lib/element';
12
24
  import { GemError } from '../lib/utils';
@@ -16,15 +28,29 @@ import { GemError } from '../lib/utils';
16
28
  const splitReg = /\$\d(?:<[^>]*>)?/;
17
29
  const matchReg = /\$(\d)(<([^>]*)>)?/g;
18
30
  const matchStrIndex = 3;
31
+ export function splice(rawValue, ...rest) {
32
+ const templateArr = rawValue.split(splitReg);
33
+ const values = [];
34
+ let result;
35
+ while ((result = matchReg.exec(rawValue))) {
36
+ const str = result[matchStrIndex];
37
+ const index = Number(result[1]) - 1;
38
+ const arg = rest[index];
39
+ values.push(typeof arg === 'string' ? arg : arg(str));
40
+ }
41
+ return html(templateArr, ...values);
42
+ }
43
+ const modules = new Set();
19
44
  export class I18n {
20
45
  constructor(options) {
46
+ _I18n_instances.add(this);
21
47
  this.cachePrefix = 'gem-i18n';
22
48
  if (!options.resources[options.fallbackLanguage]) {
23
49
  throw new GemError('i18n: fallbackLanguage invalid');
24
50
  }
25
51
  this.store = createStore(this);
26
52
  Object.assign(this, options);
27
- let currentLanguage = this.urlParamsLang || this.currentLanguage || this.cacheLang;
53
+ let currentLanguage = __classPrivateFieldGet(this, _I18n_instances, "a", _I18n_urlParamsLang_get) || this.currentLanguage || __classPrivateFieldGet(this, _I18n_instances, "a", _I18n_cacheLang_get);
28
54
  const ele = document.querySelector(`[type*=${this.cachePrefix}]`);
29
55
  if (ele) {
30
56
  try {
@@ -37,40 +63,13 @@ export class I18n {
37
63
  }
38
64
  }
39
65
  if (currentLanguage) {
40
- this.lang = currentLanguage;
66
+ __classPrivateFieldSet(this, _I18n_instances, currentLanguage, "a", _I18n_lang_set);
41
67
  this.setLanguage(currentLanguage);
42
68
  }
43
69
  else {
44
70
  this.resetLanguage();
45
71
  }
46
72
  }
47
- get cacheCurrentKey() {
48
- return `${this.cachePrefix}:current`;
49
- }
50
- get urlParamsLang() {
51
- const { hostname, pathname, search } = location;
52
- const parts = hostname.split('.');
53
- switch (this.urlParamsType) {
54
- case 'ccTLD':
55
- return parts.pop();
56
- case 'gTLD':
57
- return parts.shift();
58
- case 'path':
59
- return pathname.split('/')[1];
60
- default:
61
- const fragment = (this.urlParamsName && new URLSearchParams(search).get(this.urlParamsName)) || '';
62
- return fragment in this.resources ? fragment : '';
63
- }
64
- }
65
- get cacheLang() {
66
- return (this.cache && localStorage.getItem(this.cacheCurrentKey)) || '';
67
- }
68
- set lang(lang) {
69
- var _a;
70
- this.currentLanguage = lang;
71
- document.documentElement.lang = lang;
72
- (_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, lang);
73
- }
74
73
  get(s, ...rest) {
75
74
  const currentLanguagePack = this.resources[this.currentLanguage];
76
75
  const fallbackLanguagePack = this.resources[this.fallbackLanguage];
@@ -78,16 +77,7 @@ export class I18n {
78
77
  const rawValue = (msg === null || msg === void 0 ? void 0 : msg.message) || msg || `[${s}]`;
79
78
  if (!rest.length)
80
79
  return rawValue;
81
- const templateArr = rawValue.split(splitReg);
82
- const values = [];
83
- let result;
84
- while ((result = matchReg.exec(rawValue))) {
85
- const str = result[matchStrIndex];
86
- const index = Number(result[1]) - 1;
87
- const arg = rest[index];
88
- values.push(typeof arg === 'string' ? arg : arg(str));
89
- }
90
- return html(templateArr, ...values);
80
+ return splice(rawValue, ...rest);
91
81
  }
92
82
  detectLanguage() {
93
83
  const availableLangs = Object.keys(this.resources);
@@ -101,11 +91,14 @@ export class I18n {
101
91
  }
102
92
  setLanguage(lang) {
103
93
  return __awaiter(this, void 0, void 0, function* () {
94
+ if (__classPrivateFieldGet(this, _I18n_instances, "a", _I18n_isMain_get)) {
95
+ modules.forEach((i18n) => __awaiter(this, void 0, void 0, function* () { return yield i18n.setLanguage(lang); }));
96
+ }
104
97
  let pack;
105
98
  const data = this.resources[lang];
106
99
  if (!data) {
107
100
  // eslint-disable-next-line no-console
108
- console.warn(`i18n: not found \`${lang}\``);
101
+ console.warn(`${this.cachePrefix}: not found \`${lang}\``);
109
102
  return this.resetLanguage();
110
103
  }
111
104
  if (typeof data === 'string') {
@@ -144,7 +137,7 @@ export class I18n {
144
137
  this.resources[lang] = pack;
145
138
  updateStore(this.store, {});
146
139
  if (lang !== this.currentLanguage) {
147
- this.lang = lang;
140
+ __classPrivateFieldSet(this, _I18n_instances, lang, "a", _I18n_lang_set);
148
141
  }
149
142
  // auto cache
150
143
  if (this.cache === true) {
@@ -154,15 +147,32 @@ export class I18n {
154
147
  });
155
148
  }
156
149
  resetLanguage() {
157
- this.lang = this.fallbackLanguage;
150
+ if (__classPrivateFieldGet(this, _I18n_instances, "a", _I18n_isMain_get)) {
151
+ modules.forEach((i18n) => i18n.resetLanguage());
152
+ }
153
+ __classPrivateFieldSet(this, _I18n_instances, this.fallbackLanguage, "a", _I18n_lang_set);
158
154
  if (this.cache) {
159
- localStorage.removeItem(this.cacheCurrentKey);
155
+ localStorage.removeItem(__classPrivateFieldGet(this, _I18n_instances, "a", _I18n_cacheCurrentKey_get));
160
156
  }
161
157
  return this.setLanguage(this.detectLanguage());
162
158
  }
163
159
  // 一般用在 `onChange` 中
164
160
  setCache() {
165
- localStorage.setItem(this.cacheCurrentKey, this.currentLanguage);
161
+ if (__classPrivateFieldGet(this, _I18n_instances, "a", _I18n_isMain_get)) {
162
+ modules.forEach((i18n) => i18n.setCache());
163
+ }
164
+ localStorage.setItem(__classPrivateFieldGet(this, _I18n_instances, "a", _I18n_cacheCurrentKey_get), this.currentLanguage);
165
+ }
166
+ createSubModule(name, resources) {
167
+ const module = new I18n({
168
+ resources,
169
+ cachePrefix: `${this.cachePrefix}-${name}`,
170
+ currentLanguage: this.currentLanguage,
171
+ fallbackLanguage: this.fallbackLanguage,
172
+ cache: this.cache,
173
+ });
174
+ modules.add(module);
175
+ return module;
166
176
  }
167
177
  /**
168
178
  * prepare: @connectStore(i18n.store)
@@ -182,4 +192,32 @@ export class I18n {
182
192
  };
183
193
  }
184
194
  }
195
+ _I18n_instances = new WeakSet(), _I18n_cacheCurrentKey_get = function _I18n_cacheCurrentKey_get() {
196
+ return `${this.cachePrefix}:current`;
197
+ }, _I18n_urlParamsLang_get = function _I18n_urlParamsLang_get() {
198
+ const { hostname, pathname, search } = location;
199
+ const parts = hostname.split('.');
200
+ switch (this.urlParamsType) {
201
+ case 'ccTLD':
202
+ return parts.pop();
203
+ case 'gTLD':
204
+ return parts.shift();
205
+ case 'path':
206
+ return pathname.split('/')[1];
207
+ default:
208
+ const fragment = (this.urlParamsName && new URLSearchParams(search).get(this.urlParamsName)) || '';
209
+ return fragment in this.resources ? fragment : '';
210
+ }
211
+ }, _I18n_cacheLang_get = function _I18n_cacheLang_get() {
212
+ return (this.cache && localStorage.getItem(__classPrivateFieldGet(this, _I18n_instances, "a", _I18n_cacheCurrentKey_get))) || '';
213
+ }, _I18n_isMain_get = function _I18n_isMain_get() {
214
+ return !modules.has(this);
215
+ }, _I18n_lang_set = function _I18n_lang_set(lang) {
216
+ var _a;
217
+ if (__classPrivateFieldGet(this, _I18n_instances, "a", _I18n_isMain_get)) {
218
+ document.documentElement.lang = lang;
219
+ }
220
+ this.currentLanguage = lang;
221
+ (_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, lang);
222
+ };
185
223
  //# sourceMappingURL=i18n.js.map
@@ -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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"}
@@ -9,6 +9,8 @@ export declare const mediaQuery: {
9
9
  readonly isLaptop: boolean;
10
10
  DESKTOP: string;
11
11
  readonly isDesktop: boolean;
12
+ WIDTHSCREEN: string;
13
+ readonly isWidthScreen: boolean;
12
14
  PHONE_LANDSCAPE: string;
13
15
  readonly isPhoneLandscape: boolean;
14
16
  TABLET: string;
@@ -1 +1 @@
1
- {"version":3,"file":"mediaquery.d.ts","sourceRoot":"","sources":["../src/helper/mediaquery.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEtB,CAAC"}
1
+ {"version":3,"file":"mediaquery.d.ts","sourceRoot":"","sources":["../src/helper/mediaquery.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEtB,CAAC"}
@@ -1,59 +1,64 @@
1
1
  // https://gist.github.com/gokulkrishh/242e68d1ee94ad05f488
2
2
  // https://mediag.com/news/popular-screen-resolutions-designing-for-all/
3
+ const matche = (query) => window.matchMedia(query).matches;
3
4
  export const mediaQuery = {
4
5
  PRINT: 'print',
5
6
  get isPrint() {
6
- return window.matchMedia(this.PRINT).matches;
7
+ return matche(this.PRINT);
7
8
  },
8
9
  HOVER: '(hover: hover)',
9
10
  get isHover() {
10
- return window.matchMedia(this.HOVER).matches;
11
+ return matche(this.HOVER);
11
12
  },
12
13
  PHONE: '(min-width: 319px) and (max-width: 480px)',
13
14
  get isPhone() {
14
- return window.matchMedia(this.PHONE).matches;
15
+ return matche(this.PHONE);
15
16
  },
16
17
  LAPTOP: '(min-width: 1023px) and (max-width: 1280px) and (orientation: landscape)',
17
18
  get isLaptop() {
18
- return window.matchMedia(this.LAPTOP).matches;
19
+ return matche(this.LAPTOP);
19
20
  },
20
21
  DESKTOP: '(min-width: 1279px) and (orientation: landscape)',
21
22
  get isDesktop() {
22
- return window.matchMedia(this.DESKTOP).matches;
23
+ return matche(this.DESKTOP);
24
+ },
25
+ WIDTHSCREEN: '(min-width: 1919px) and (orientation: landscape)',
26
+ get isWidthScreen() {
27
+ return matche(this.WIDTHSCREEN);
23
28
  },
24
29
  PHONE_LANDSCAPE: '(min-width: 479px) and (max-width: 767px) and (orientation: landscape)',
25
30
  // PHONE_LANDSCAPE: '(min-width: 481px) and (max-width: 767px)',
26
31
  get isPhoneLandscape() {
27
- return window.matchMedia(this.PHONE_LANDSCAPE).matches;
32
+ return matche(this.PHONE_LANDSCAPE);
28
33
  },
29
34
  TABLET: '(min-width: 768px) and (max-width: 1024px)',
30
35
  get isTablet() {
31
- return window.matchMedia(this.TABLET).matches;
36
+ return matche(this.TABLET);
32
37
  },
33
38
  SMALL_PHONE: '(min-width: 319px) and (max-width: 480px) and (max-height: 640px)',
34
39
  get isSmallPhone() {
35
- return window.matchMedia(this.SMALL_PHONE).matches;
40
+ return matche(this.SMALL_PHONE);
36
41
  },
37
42
  WATCH: '(max-width: 319px)',
38
43
  get isWatch() {
39
- return window.matchMedia(this.WATCH).matches;
44
+ return matche(this.WATCH);
40
45
  },
41
46
  SHORT: '(min-width: 479px) and (max-height: 320px)',
42
47
  get isShort() {
43
- return window.matchMedia(this.SHORT).matches;
48
+ return matche(this.SHORT);
44
49
  },
45
50
  PWA: '(display-mode: standalone)',
46
51
  // PWA: '(display-mode: browser)', // debugging
47
52
  get isPWA() {
48
- return window.matchMedia(this.PWA).matches;
53
+ return matche(this.PWA);
49
54
  },
50
55
  MOTION_REDUCE: '(prefers-reduced-motion: reduce)',
51
56
  get isMotionReduce() {
52
- return window.matchMedia(this.MOTION_REDUCE).matches;
57
+ return matche(this.MOTION_REDUCE);
53
58
  },
54
59
  DATA_REDUCE: '(prefers-reduced-data: reduce)',
55
60
  get isDataReduce() {
56
- return window.matchMedia(this.DATA_REDUCE).matches;
61
+ return matche(this.DATA_REDUCE);
57
62
  },
58
63
  };
59
64
  //# sourceMappingURL=mediaquery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mediaquery.js","sourceRoot":"","sources":["../src/helper/mediaquery.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,wEAAwE;AAExE,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE,OAAO;IACd,IAAI,OAAO;QACT,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IAC/C,CAAC;IACD,KAAK,EAAE,gBAAgB;IACvB,IAAI,OAAO;QACT,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IAC/C,CAAC;IAED,KAAK,EAAE,2CAA2C;IAClD,IAAI,OAAO;QACT,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IAC/C,CAAC;IAED,MAAM,EAAE,0EAA0E;IAClF,IAAI,QAAQ;QACV,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;IAChD,CAAC;IAED,OAAO,EAAE,kDAAkD;IAC3D,IAAI,SAAS;QACX,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;IACjD,CAAC;IAED,eAAe,EAAE,wEAAwE;IACzF,gEAAgE;IAChE,IAAI,gBAAgB;QAClB,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC;IACzD,CAAC;IAED,MAAM,EAAE,4CAA4C;IACpD,IAAI,QAAQ;QACV,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;IAChD,CAAC;IAED,WAAW,EAAE,mEAAmE;IAChF,IAAI,YAAY;QACd,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;IACrD,CAAC;IAED,KAAK,EAAE,oBAAoB;IAC3B,IAAI,OAAO;QACT,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IAC/C,CAAC;IAED,KAAK,EAAE,4CAA4C;IACnD,IAAI,OAAO;QACT,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IAC/C,CAAC;IAED,GAAG,EAAE,4BAA4B;IACjC,+CAA+C;IAC/C,IAAI,KAAK;QACP,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED,aAAa,EAAE,kCAAkC;IACjD,IAAI,cAAc;QAChB,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;IACvD,CAAC;IAED,WAAW,EAAE,gCAAgC;IAC7C,IAAI,YAAY;QACd,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;IACrD,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"mediaquery.js","sourceRoot":"","sources":["../src/helper/mediaquery.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,wEAAwE;AAExE,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AAEnE,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE,OAAO;IACd,IAAI,OAAO;QACT,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,KAAK,EAAE,gBAAgB;IACvB,IAAI,OAAO;QACT,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,EAAE,2CAA2C;IAClD,IAAI,OAAO;QACT,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,EAAE,0EAA0E;IAClF,IAAI,QAAQ;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,kDAAkD;IAC3D,IAAI,SAAS;QACX,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW,EAAE,kDAAkD;IAC/D,IAAI,aAAa;QACf,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,eAAe,EAAE,wEAAwE;IACzF,gEAAgE;IAChE,IAAI,gBAAgB;QAClB,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,EAAE,4CAA4C;IACpD,IAAI,QAAQ;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,WAAW,EAAE,mEAAmE;IAChF,IAAI,YAAY;QACd,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,EAAE,oBAAoB;IAC3B,IAAI,OAAO;QACT,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,EAAE,4CAA4C;IACnD,IAAI,OAAO;QACT,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,GAAG,EAAE,4BAA4B;IACjC,+CAA+C;IAC/C,IAAI,KAAK;QACP,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,aAAa,EAAE,kCAAkC;IACjD,IAAI,cAAc;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC;IAED,WAAW,EAAE,gCAAgC;IAC7C,IAAI,YAAY;QACd,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;CACF,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { GemElement } from './element';
2
2
  import { Store } from './store';
3
3
  import { Sheet } from './utils';
4
- declare type GemElementPrototype = GemElement;
4
+ declare type GemElementPrototype = GemElement<any>;
5
5
  export declare type RefObject<T = HTMLElement> = {
6
6
  ref: string;
7
7
  element: T | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/lib/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,UAAU,EAAuB,MAAM,WAAW,CAAC;AACxH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAA+B,MAAM,SAAS,CAAC;AAE7D,aAAK,mBAAmB,GAAG,UAAU,CAAC;AAiBtC,oBAAY,SAAS,CAAC,CAAC,GAAG,WAAW,IAAI;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,CAAC,GAAG,SAAS,CAAA;CAAE,CAAC;AAEjF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAIlE;AAgBD,wBAAgB,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAElE;AACD,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAItE;AACD,wBAAgB,YAAY,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAIrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAGjE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAI9D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAI7C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAI7C;AAED,oBAAY,OAAO,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC;AAEvG;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAEhE;AACD,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAEtE;AAOD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,SAC1B,OAAO,UAI9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,SAE1B,OAAO,UAI9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,SACpB,OAAO,UAI9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,SAClB,OAAO,UAG9B"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/lib/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,UAAU,EAAuB,MAAM,WAAW,CAAC;AACxH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAA+B,MAAM,SAAS,CAAC;AAE7D,aAAK,mBAAmB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AAiB3C,oBAAY,SAAS,CAAC,CAAC,GAAG,WAAW,IAAI;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,CAAC,GAAG,SAAS,CAAA;CAAE,CAAC;AAEjF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAIlE;AAgBD,wBAAgB,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAElE;AACD,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAItE;AACD,wBAAgB,YAAY,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAIrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAGjE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAI9D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAI7C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAI7C;AAED,oBAAY,OAAO,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC;AAEvG;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAEhE;AACD,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAEtE;AAOD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,SAC1B,OAAO,UAI9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,SAE1B,OAAO,UAI9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,SACpB,OAAO,UAI9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,SAClB,OAAO,UAG9B"}
package/lib/element.d.ts CHANGED
@@ -21,7 +21,7 @@ declare global {
21
21
  }
22
22
  }
23
23
  declare type EffectCallback<T> = (depValues: T, oldDepValues?: T) => any;
24
- interface GemElementOptions {
24
+ export interface GemElementOptions {
25
25
  isLight?: boolean;
26
26
  isAsync?: boolean;
27
27
  delegatesFocus?: boolean;
@@ -116,7 +116,8 @@ export declare abstract class GemElement<T = Record<string, unknown>> extends HT
116
116
  * use `effect`
117
117
  */
118
118
  attributeChangedCallback(): void;
119
- closestElement(clsOrName: CustomElementConstructor | string): Element | null;
119
+ closestElement<K extends keyof HTMLElementTagNameMap>(tag: K): HTMLElementTagNameMap[K] | null;
120
+ closestElement<K extends abstract new (...args: any) => any>(constructor: K): InstanceType<K> | null;
120
121
  /**
121
122
  * @private
122
123
  * @final
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/lib/element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/lib/element.ts"],"names":[],"mappings":"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"}