@mantou/gem 1.5.4 → 1.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/elements/dialog-base.js +1 -1
- package/elements/dialog-base.js.map +1 -1
- package/elements/modal-base.d.ts +21 -20
- package/elements/modal-base.d.ts.map +1 -1
- package/elements/modal-base.js +1 -1
- package/elements/modal-base.js.map +1 -1
- package/elements/route.d.ts +2 -2
- package/elements/route.d.ts.map +1 -1
- package/elements/route.js +3 -3
- package/elements/route.js.map +1 -1
- package/elements/use.d.ts +1 -0
- package/elements/use.d.ts.map +1 -1
- package/elements/use.js +4 -1
- package/elements/use.js.map +1 -1
- package/lib/element.d.ts +3 -4
- package/lib/element.d.ts.map +1 -1
- package/lib/element.js.map +1 -1
- package/lib/utils.d.ts +4 -4
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +54 -29
- package/lib/utils.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +7 -7
- package/src/elements/dialog-base.ts +1 -1
- package/src/elements/modal-base.ts +1 -1
- package/src/elements/route.ts +3 -3
- package/src/elements/use.ts +3 -1
- package/src/examples/multi-page/page-c.ts +1 -0
- package/src/examples/ref-route/index.ts +1 -1
- package/src/lib/element.ts +4 -5
- package/src/lib/utils.ts +42 -28
- package/src/lib/version.ts +1 -1
- package/src/test/utils.test.ts +9 -6
- package/umd.js +6 -6
- package/umd.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mantou/gem",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.5",
|
|
4
4
|
"description": "💎 使用自定义元素的轻量级 WebApp 开发框架",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "index.js",
|
|
@@ -20,18 +20,18 @@
|
|
|
20
20
|
"typings": "index.d.ts",
|
|
21
21
|
"scripts": {
|
|
22
22
|
"docs": "npx gem-book docs",
|
|
23
|
-
"build:docs": "
|
|
23
|
+
"build:docs": "yarn docs -- --build",
|
|
24
24
|
"lint": "tsc --noEmit && eslint --ext .ts --fix src/",
|
|
25
25
|
"clean": "node -e \"fs.readdirSync('src').map(dir => require('rimraf').sync(dir))\"",
|
|
26
26
|
"example": "cross-env NODE_ENV=development webpack serve",
|
|
27
27
|
"build:examples": "rimraf build && node scripts/build-examples",
|
|
28
|
-
"build:module": "
|
|
28
|
+
"build:module": "yarn clean && tsc",
|
|
29
29
|
"build:umd": "cross-env NODE_ENV=production webpack --config webpack.config.umd.js",
|
|
30
|
-
"build": "
|
|
31
|
-
"prepare": "
|
|
32
|
-
"prepublishOnly": "
|
|
30
|
+
"build": "yarn build:module && yarn build:umd",
|
|
31
|
+
"prepare": "yarn build",
|
|
32
|
+
"prepublishOnly": "yarn lint && yarn test",
|
|
33
33
|
"release": "node scripts/release",
|
|
34
|
-
"test": "
|
|
34
|
+
"test": "yarn build:module && karma start --coverage"
|
|
35
35
|
},
|
|
36
36
|
"repository": {
|
|
37
37
|
"type": "git",
|
package/src/elements/route.ts
CHANGED
|
@@ -110,7 +110,7 @@ type State = {
|
|
|
110
110
|
/**
|
|
111
111
|
* @customElement gem-route
|
|
112
112
|
* @attr inert 暂停路由更新
|
|
113
|
-
* @fires change
|
|
113
|
+
* @fires route-change
|
|
114
114
|
* @fires error
|
|
115
115
|
* @fires loading
|
|
116
116
|
*/
|
|
@@ -125,7 +125,7 @@ export class GemRouteElement extends GemElement<State> {
|
|
|
125
125
|
*/
|
|
126
126
|
@property locationStore?: Store<{ path: string; params: Params; query: QueryString; data?: any }>;
|
|
127
127
|
@property key: any; // 除了 href 提供另外一种方式来更新,比如语言更新也需要刷新 <gem-route>
|
|
128
|
-
@emitter
|
|
128
|
+
@emitter routeChange: Emitter<RouteItem | null>; // path 改变或者 key 改变,包含初始渲染
|
|
129
129
|
@emitter loading: Emitter<RouteItem>;
|
|
130
130
|
@emitter error: Emitter<any>;
|
|
131
131
|
|
|
@@ -187,7 +187,7 @@ export class GemRouteElement extends GemElement<State> {
|
|
|
187
187
|
this.currentRoute = route;
|
|
188
188
|
this.currentParams = params;
|
|
189
189
|
this.setState({ content });
|
|
190
|
-
this.
|
|
190
|
+
this.routeChange(this.currentRoute);
|
|
191
191
|
const title = route?.title;
|
|
192
192
|
if (title) updateStore(titleStore, { title });
|
|
193
193
|
this.#updateLocationStore();
|
package/src/elements/use.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GemElement, html, attribute, property, customElement } from '../';
|
|
1
|
+
import { GemElement, html, attribute, property, customElement, state } from '../';
|
|
2
2
|
|
|
3
3
|
const eleCache = new Map<string, HTMLTemplateElement>();
|
|
4
4
|
/**
|
|
@@ -17,6 +17,8 @@ export class GemUseElement extends GemElement {
|
|
|
17
17
|
@property root?: HTMLElement | Document | ShadowRoot;
|
|
18
18
|
@property element?: string | DocumentFragment | Element;
|
|
19
19
|
|
|
20
|
+
@state active: boolean;
|
|
21
|
+
|
|
20
22
|
private getContent() {
|
|
21
23
|
const ele = this.element || (this.selector ? (this.root || document).querySelector(this.selector) : null);
|
|
22
24
|
if (typeof ele === 'string') {
|
package/src/lib/element.ts
CHANGED
|
@@ -25,11 +25,10 @@ export { ifDefined } from 'lit-html/directives/if-defined';
|
|
|
25
25
|
type CustomStateSet = Set<string>;
|
|
26
26
|
|
|
27
27
|
declare global {
|
|
28
|
-
interface ElementInternals {
|
|
28
|
+
interface ElementInternals extends ARIAMixin {
|
|
29
29
|
states: CustomStateSet;
|
|
30
30
|
// https://w3c.github.io/aria/#role_definitions
|
|
31
31
|
role?: string;
|
|
32
|
-
ariaModal?: boolean;
|
|
33
32
|
}
|
|
34
33
|
// 用于 css 选择器选择元素,使用 @refobject 自动选择获取
|
|
35
34
|
// 必须使用 attr 赋值
|
|
@@ -38,8 +37,8 @@ declare global {
|
|
|
38
37
|
* @attr inert
|
|
39
38
|
*/
|
|
40
39
|
interface HTMLElement {
|
|
41
|
-
attachInternals
|
|
42
|
-
inert
|
|
40
|
+
attachInternals: () => ElementInternals;
|
|
41
|
+
inert: boolean;
|
|
43
42
|
}
|
|
44
43
|
}
|
|
45
44
|
|
|
@@ -164,7 +163,7 @@ export abstract class GemElement<T = Record<string, unknown>> extends HTMLElemen
|
|
|
164
163
|
if (!this.attachInternals) {
|
|
165
164
|
// https://bugs.webkit.org/show_bug.cgi?id=197960
|
|
166
165
|
this.attachInternals = () => {
|
|
167
|
-
return { states: getCustomStateSet() };
|
|
166
|
+
return { states: getCustomStateSet() } as any;
|
|
168
167
|
};
|
|
169
168
|
}
|
|
170
169
|
this.#internals = this.attachInternals();
|
package/src/lib/utils.ts
CHANGED
|
@@ -50,56 +50,70 @@ interface LinkedListItem<T> {
|
|
|
50
50
|
next?: LinkedListItem<T>;
|
|
51
51
|
}
|
|
52
52
|
// work on nodejs
|
|
53
|
-
export class LinkedList<T
|
|
53
|
+
export class LinkedList<T = any> extends (globalThis.EventTarget || Object) {
|
|
54
54
|
addEventListener: <K extends keyof LinkedListEventMap>(
|
|
55
55
|
type: K,
|
|
56
56
|
listener: (this: LinkedList<T>, ev: LinkedListEventMap[K]) => any,
|
|
57
57
|
options?: boolean | AddEventListenerOptions,
|
|
58
58
|
) => void;
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
firstItem?: LinkedListItem<T>;
|
|
62
|
-
lastItem?: LinkedListItem<T>;
|
|
60
|
+
#map = new Map<T, LinkedListItem<T>>();
|
|
61
|
+
#firstItem?: LinkedListItem<T>;
|
|
62
|
+
#lastItem?: LinkedListItem<T>;
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const item: LinkedListItem<T> = { value };
|
|
67
|
-
if (!this.firstItem) {
|
|
68
|
-
this.dispatchEvent(new CustomEvent('start'));
|
|
69
|
-
this.firstItem = item;
|
|
70
|
-
}
|
|
71
|
-
if (this.lastItem) {
|
|
72
|
-
this.lastItem.next = item;
|
|
73
|
-
item.prev = this.lastItem;
|
|
74
|
-
}
|
|
75
|
-
this.lastItem = item;
|
|
76
|
-
|
|
77
|
-
const existItem = this.pool.get(value);
|
|
64
|
+
#delete(value: T) {
|
|
65
|
+
const existItem = this.#map.get(value);
|
|
78
66
|
if (existItem) {
|
|
79
67
|
if (existItem.prev) {
|
|
80
68
|
existItem.prev.next = existItem.next;
|
|
81
69
|
} else {
|
|
82
|
-
this
|
|
70
|
+
this.#firstItem = existItem.next;
|
|
83
71
|
}
|
|
84
72
|
if (existItem.next) {
|
|
85
73
|
existItem.next.prev = existItem.prev;
|
|
74
|
+
} else {
|
|
75
|
+
this.#lastItem = existItem.prev;
|
|
86
76
|
}
|
|
77
|
+
this.#map.delete(value);
|
|
87
78
|
}
|
|
88
|
-
|
|
89
|
-
this.pool.set(value, item);
|
|
79
|
+
return existItem;
|
|
90
80
|
}
|
|
91
81
|
|
|
92
|
-
get()
|
|
93
|
-
|
|
94
|
-
|
|
82
|
+
get size() {
|
|
83
|
+
return this.#map.size;
|
|
84
|
+
}
|
|
95
85
|
|
|
96
|
-
|
|
86
|
+
// 添加到尾部,已存在时会删除老的项目
|
|
87
|
+
add(value: T) {
|
|
88
|
+
if (!this.#lastItem) {
|
|
89
|
+
this.dispatchEvent(new CustomEvent('start'));
|
|
90
|
+
}
|
|
91
|
+
const item: LinkedListItem<T> = this.#delete(value) || { value };
|
|
92
|
+
item.prev = this.#lastItem;
|
|
93
|
+
if (item.prev) {
|
|
94
|
+
item.prev.next = item;
|
|
95
|
+
}
|
|
96
|
+
item.next = undefined;
|
|
97
|
+
this.#lastItem = item;
|
|
98
|
+
if (!this.#firstItem) {
|
|
99
|
+
this.#firstItem = item;
|
|
100
|
+
}
|
|
101
|
+
this.#map.set(value, item);
|
|
102
|
+
}
|
|
97
103
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
104
|
+
delete(value: T) {
|
|
105
|
+
const deleteItem = this.#delete(value);
|
|
106
|
+
if (!this.#firstItem) {
|
|
101
107
|
this.dispatchEvent(new CustomEvent('end'));
|
|
102
108
|
}
|
|
109
|
+
return deleteItem;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// 获取头部元素
|
|
113
|
+
get(): T | undefined {
|
|
114
|
+
const firstItem = this.#firstItem;
|
|
115
|
+
if (!firstItem) return;
|
|
116
|
+
this.#delete(firstItem.value);
|
|
103
117
|
return firstItem.value;
|
|
104
118
|
}
|
|
105
119
|
}
|
package/src/lib/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Do not modify manually
|
|
2
|
-
export const version = '1.5.
|
|
2
|
+
export const version = '1.5.5';
|
package/src/test/utils.test.ts
CHANGED
|
@@ -22,17 +22,20 @@ describe('utils 测试', () => {
|
|
|
22
22
|
const linkedList = new LinkedList<() => void>();
|
|
23
23
|
let countAtStart = 0;
|
|
24
24
|
let countAtPause = 0;
|
|
25
|
-
linkedList.addEventListener('start', () => (countAtStart = linkedList.
|
|
26
|
-
linkedList.addEventListener('end', () => (countAtPause = linkedList.
|
|
27
|
-
const fun1 = () =>
|
|
28
|
-
const fun2 = () =>
|
|
25
|
+
linkedList.addEventListener('start', () => (countAtStart = linkedList.size));
|
|
26
|
+
linkedList.addEventListener('end', () => (countAtPause = linkedList.size));
|
|
27
|
+
const fun1 = () => 1;
|
|
28
|
+
const fun2 = () => 2;
|
|
29
29
|
linkedList.add(fun1);
|
|
30
30
|
linkedList.add(fun2);
|
|
31
|
+
linkedList.delete(fun2);
|
|
32
|
+
expect(linkedList.size).to.equal(1);
|
|
33
|
+
linkedList.add(fun2);
|
|
31
34
|
linkedList.add(fun1);
|
|
32
|
-
expect(linkedList.
|
|
35
|
+
expect(linkedList.size).to.equal(2);
|
|
33
36
|
expect(linkedList.get()).to.equal(fun2);
|
|
34
37
|
expect(linkedList.get()).to.equal(fun1);
|
|
35
|
-
expect(linkedList.
|
|
38
|
+
expect(linkedList.size).to.equal(0);
|
|
36
39
|
expect(linkedList.get()).to.equal(undefined);
|
|
37
40
|
expect(countAtStart).to.equal(0);
|
|
38
41
|
expect(countAtPause).to.equal(0);
|
package/umd.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/*! For license information please see umd.js.LICENSE.txt */
|
|
2
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Gem=e():t.Gem=e()}(self,(function(){return(()=>{"use strict";var t={d:(e,n)=>{for(var s in n)t.o(n,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:n[s]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{DialogBaseElement:()=>Mn,GemActiveLinkElement:()=>dn,GemElement:()=>_e,GemError:()=>k,GemLightRouteElement:()=>cn,GemLinkElement:()=>un,GemReflectElement:()=>En,GemRouteElement:()=>ln,GemTitleElement:()=>mn,GemUnsafeElement:()=>bn,GemUseElement:()=>yn,I18n:()=>Dn,LinkedList:()=>d,PropProxyMap:()=>p,QueryString:()=>f,SVGTemplateResult:()=>Et,SheetToken:()=>v,StoreListenerMap:()=>N,TemplateResult:()=>St,absoluteLocation:()=>u,addMicrotask:()=>a,addMicrotaskToStack:()=>h,adoptedStyle:()=>Be,attribute:()=>Ae,basePathStore:()=>X,boolattribute:()=>Re,camelToKebabCase:()=>x,classMap:()=>$,cleanObject:()=>P,connect:()=>R,connectStore:()=>Fe,createCSSSheet:()=>y,createHistoryParams:()=>an,createModalClass:()=>_n,createPath:()=>rn,createStore:()=>L,createStoreSet:()=>j,createTheme:()=>Rn,css:()=>g,customElement:()=>ze,defineAttribute:()=>ke,defineCSSState:()=>$e,defineProperty:()=>Te,defineRef:()=>Ce,del:()=>Kn,directive:()=>nt,disconnect:()=>H,emitter:()=>qe,get:()=>Fn,getThemeProp:()=>An,getThemeStore:()=>Ln,globalemitter:()=>Ue,guard:()=>Qt,history:()=>W,html:()=>It,ifDefined:()=>Xt,isArrayChange:()=>O,kebabToCamelCase:()=>_,matchPath:()=>on,mediaQuery:()=>Qn,nativeDefineElement:()=>Me,numattribute:()=>He,part:()=>De,partMap:()=>M,post:()=>Jn,property:()=>We,put:()=>zn,randomStr:()=>w,raw:()=>m,refobject:()=>Le,removeItems:()=>T,render:()=>Wt,repeat:()=>zt,request:()=>Un,rootElement:()=>Ke,slot:()=>Ve,state:()=>Ie,styleMap:()=>C,styled:()=>E,svg:()=>Vt,titleStore:()=>Y,updateStore:()=>A,updateTheme:()=>Hn,version:()=>Je});var n={};t.r(n),t.d(n,{GemElement:()=>_e,GemError:()=>k,LinkedList:()=>d,PropProxyMap:()=>p,QueryString:()=>f,SVGTemplateResult:()=>Et,SheetToken:()=>v,StoreListenerMap:()=>N,TemplateResult:()=>St,absoluteLocation:()=>u,addMicrotask:()=>a,addMicrotaskToStack:()=>h,adoptedStyle:()=>Be,attribute:()=>Ae,basePathStore:()=>X,boolattribute:()=>Re,camelToKebabCase:()=>x,classMap:()=>$,cleanObject:()=>P,connect:()=>R,connectStore:()=>Fe,createCSSSheet:()=>y,createStore:()=>L,createStoreSet:()=>j,css:()=>g,customElement:()=>ze,defineAttribute:()=>ke,defineCSSState:()=>$e,defineProperty:()=>Te,defineRef:()=>Ce,directive:()=>nt,disconnect:()=>H,emitter:()=>qe,globalemitter:()=>Ue,guard:()=>Qt,history:()=>W,html:()=>It,ifDefined:()=>Xt,isArrayChange:()=>O,kebabToCamelCase:()=>_,nativeDefineElement:()=>Me,numattribute:()=>He,part:()=>De,partMap:()=>M,property:()=>We,randomStr:()=>w,raw:()=>m,refobject:()=>Le,removeItems:()=>T,render:()=>Wt,repeat:()=>zt,rootElement:()=>Ke,slot:()=>Ve,state:()=>Ie,styleMap:()=>C,styled:()=>E,svg:()=>Vt,titleStore:()=>Y,updateStore:()=>A,version:()=>Je});var s,i,o=function(t,e,n,s){if("a"===n&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?s:"a"===n?s.call(t):s?s.value:e.get(t)};const r=new Set;function a(t){"function"==typeof t&&(r.size||globalThis.queueMicrotask((()=>{r.forEach((t=>t())),r.clear()})),r.delete(t),r.add(t))}const l=[];function c(){for(let t=l.length-1;t>=0;t--)l[t]();l.length=0}function h(t){l.length||a(c),l.push(t)}function u(t="",e=""){const{pathname:n,search:s,hash:i}=new URL(e,location.origin+t);return n+s+i}class d extends(globalThis.EventTarget||Object){constructor(){super(...arguments),this.pool=new Map}add(t){const e={value:t};this.firstItem||(this.dispatchEvent(new CustomEvent("start")),this.firstItem=e),this.lastItem&&(this.lastItem.next=e,e.prev=this.lastItem),this.lastItem=e;const n=this.pool.get(t);n&&(n.prev?n.prev.next=n.next:this.firstItem=n.next,n.next&&(n.next.prev=n.prev)),this.pool.set(t,e)}get(){const t=this.firstItem;if(t)return this.pool.delete(t.value),this.firstItem=t.next,this.firstItem||(this.lastItem=void 0,this.dispatchEvent(new CustomEvent("end"))),t.value}}class p extends WeakMap{get(t){let e=super.get(t);return e||(e={},this.set(t,e)),e}}class f extends URLSearchParams{constructor(t){super(t),s.set(this,(t=>"string"==typeof t?t:JSON.stringify(t))),i.set(this,(t=>{if(!t)return null;try{return JSON.parse(t)}catch(t){return null}}))}concat(t){let e;e="string"==typeof t?Object.fromEntries(new URLSearchParams(t).entries()):t,Object.entries(e).forEach((([t,e])=>{this.append(t,o(this,s,"f").call(this,e))}))}setAny(t,e){if(Array.isArray(e))this.delete(t),e.forEach((e=>this.append(t,o(this,s,"f").call(this,e))));else{const n=o(this,s,"f").call(this,e);n?this.set(t,n):this.delete(t)}}getAny(t){return this.getAnyAll(t)[0]}getAnyAll(t){return this.getAll(t).filter((t=>""!==t)).map((t=>o(this,i,"f").call(this,t)))}toString(){const t=super.toString();return t?`?${t}`:""}toJSON(){return this.toString()}}function m(t,...e){return t.reduce(((t,n,s)=>{var i;return t+(null!==(i=e[s-1])&&void 0!==i?i:"")+n}))}function g(t,...e){return m(t,...e)}s=new WeakMap,i=new WeakMap;const v=Symbol("sheet token");function y(t,e=""){const n=new CSSStyleSheet,s={};n.media.mediaText=e;let i="";return"string"==typeof t?i=t:Object.keys(t).forEach((e=>{s[e]=`${e}-${w()}`,i+=t[e].styledContent.replace(/&/g,s[e])})),n.replaceSync(i),s[v]=n,s}function w(t=5,e="0123456789abcdefghijklmnopqrstuvwxyz"){const n=e.length;let s="";for(let i=0;i<t;i++)s+=e[Math.floor(Math.random()*n)];return s}const b=new RegExp("&.*{((.|\n)*)}","g");function S(t,e){const n=[];let s=`& {${t.replace(b,(t=>(n.push(t),"")))}}`+n.join("");return s=s.replace(/&/g,"class"===e?".&":"#&"),{styledContent:s,type:e}}const E={class:(t,...e)=>S(m(t,...e),"class"),id:(t,...e)=>S(m(t,...e),"id"),keyframes:(t,...e)=>({styledContent:`@keyframes & {${m(t,...e)}}`,type:"keyframes"})};function x(t){return t.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}function _(t){return t.replace(/-(.)/g,((t,e)=>e.toUpperCase()))}function P(t){return Object.keys(t).forEach((e=>{delete t[e]})),t}class k extends Error{constructor(t){super(t),this.message=`gem: ${this.message}`}}function O(t,e){const n=t.length;for(let s=0;s<n;s++)if(t[s]!==e[s])return!0;return!1}function T(t,e){const n=new Set(e);return t.filter((t=>!n.has(t)||(n.delete(t),!1)))}function C(t){let e="";for(const n in t)t[n]&&(e+=`${x(n)}:${t[n]};`);return e}function $(t){let e=" ";for(const n in t)t[n]&&(e+=`${n} `);return e}const M=$,N=new WeakMap;function L(t){if(N.has(t))throw new k("argument error");return N.set(t,new Set),t}function j(t){return Object.keys(t).forEach((e=>{L(t[e])})),t}function A(t,e){Object.assign(t,e);const n=N.get(t);null==n||n.forEach((t=>{a(t)}))}function R(t,e){const n=N.get(t);null==n||n.add(e)}function H(t,e){const n=N.get(t);null==n||n.delete(e)}const W=window.history,I=window.location,V=W.pushState.bind(W),D=W.replaceState.bind(W);let q=0;const U=()=>`${performance.now()}-${++q}`,G=L({$hasCloseHandle:!1,$hasOpenHandle:!1,$hasShouldCloseHandle:!1,$key:""}),B=new Map;function F({$key:t,$hasCloseHandle:e,$hasOpenHandle:n,$hasShouldCloseHandle:s}={}){if(G.$key!==t){if(t)throw new k("`$key` is not allowed");if(e)throw new k("`$hasCloseHandle` is not allowed");if(n)throw new k("`$hasOpenHandle` is not allowed");if(s)throw new k("`$hasShouldCloseHandle` is not allowed")}}function K(t){return W.basePath?W.basePath+t:t}function z(t){return t===W.basePath?"/":t.replace(new RegExp(`^${W.basePath}/`),"/")}function J(t){const e=B.get(G.$key)||{},n=t.path?u(e.path,t.path):z(I.pathname),s=new f(t.query||(t.path?"":I.search)),i=t.path&&t.path!==e.path||t.query&&String(t.query)!==String(e.query),o=t.title||"",r=t.close||t.data||t.open||t.shouldClose,a=t.hash||(!i&&r?decodeURIComponent(I.hash):"");return Object.assign(Object.assign({},t),{title:o,path:n,query:s,hash:a})}function Q(t,e){F(e.data);const n=J(e),{title:s,path:i,query:o,hash:r,close:a,open:l,shouldClose:c,data:h}=n,u=Object.assign({$hasCloseHandle:!!a,$hasOpenHandle:!!l,$hasShouldCloseHandle:!!c,$key:U()},h);B.set(u.$key,n),A(P(G),u);const d=K(i)+new f(o)+r,p=decodeURIComponent(I.hash);("push"===t?V:D)(u,s,d),p!==r&&window.dispatchEvent(new CustomEvent("hashchange"))}function Z(t,e,n,s){F(e);const i=Object.assign({$key:U()},e||{}),{pathname:o,search:r,hash:a}=new URL(s,I.origin+I.pathname),l=J({path:o,query:new f(r),hash:a,title:n,data:e});B.set(i.$key,l),A(P(G),i);const c=K(o)+l.query+a,h=I.hash;("push"===t?V:D)(i,n,c),h!==a&&window.dispatchEvent(new CustomEvent("hashchange"))}const X=L({basePath:""});if(window.addEventListener("hashchange",(({isTrusted:t})=>{t&&W.replace({hash:decodeURIComponent(I.hash)})})),Object.defineProperties(W,{basePath:{get:()=>X.basePath,set(t){A(X,{basePath:t}),Object.assign(B.get(G.$key),{path:z(I.pathname)})}},getParams:{value:function(){return B.get(G.$key)}},updateParams:{value:function(t){Object.assign(B.get(G.$key),t),A(G,{})}},store:{value:G},push:{value:function(t){W.pushState(t,"")}},pushIgnoreCloseHandle:{value:function(t){var e,n;G.$hasCloseHandle?(null===(n=null===(e=B.get(G.$key))||void 0===e?void 0:e.close)||void 0===n||n.call(e),W.replace(t)):W.push(t)}},replace:{value:function(t){Q("replace",t)}}}),W.pushState=function(t,e,n){n?Z("push",t,e,n):Q("push",t)},W.replaceState=function(t,e,n){Z("replace",t,e,n)},W.state)if(W.state.$hasCloseHandle){A(G,W.state);const t=J({title:document.title});B.set(G.$key,t),W.back()}else{const t=J({title:document.title,hash:I.hash});A(G,Object.assign({$key:U()},W.state||{})),B.set(G.$key,t)}else{const{pathname:t,search:e,hash:n}=I;W.replace({path:t,query:e,hash:n})}const Y=L({title:""});R(Y,(()=>{const t=B.get(G.$key);t&&(t.title=Y.title)})),R(G,(()=>{const{title:t}=W.getParams();t!==Y.title&&A(Y,{title:t})}));let tt=!1;window.addEventListener("popstate",(t=>{var e,n;const s=t.state;if(!(null==s?void 0:s.$key))return;if(tt)return void(tt=!1);if(!B.has(s.$key)){const{pathname:t,search:e,hash:n}=I;B.set(s.$key,{path:t,query:new f(e),hash:n,title:document.title,data:s})}const i=G;if(parseFloat(s.$key)>parseFloat(i.$key)&&s.$hasOpenHandle)null===(n=null===(e=B.get(s.$key))||void 0===e?void 0:e.open)||void 0===n||n.call(e);else if(i.$hasCloseHandle){const t=B.get(i.$key),e=null==t?void 0:t.close,n=null==t?void 0:t.shouldClose;if(n&&!n())return tt=!0,void W.forward();e?e():s.$hasCloseHandle&&(tt=!0,W.back())}A(P(G),s)}));const et=new WeakMap,nt=t=>(...e)=>{const n=t(...e);return et.set(n,!0),n},st=t=>"function"==typeof t&&et.has(t),it="undefined"!=typeof window&&null!=window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,ot=(t,e,n=null,s=null)=>{for(;e!==n;){const n=e.nextSibling;t.insertBefore(e,s),e=n}},rt=(t,e,n=null)=>{for(;e!==n;){const n=e.nextSibling;t.removeChild(e),e=n}},at={},lt={},ct=`{{lit-${String(Math.random()).slice(2)}}}`,ht=`\x3c!--${ct}--\x3e`,ut=new RegExp(`${ct}|${ht}`),dt="$lit$";class pt{constructor(t,e){this.parts=[],this.element=e;const n=[],s=[],i=document.createTreeWalker(e.content,133,null,!1);let o=0,r=-1,a=0;const{strings:l,values:{length:c}}=t;for(;a<c;){const t=i.nextNode();if(null!==t){if(r++,1===t.nodeType){if(t.hasAttributes()){const e=t.attributes,{length:n}=e;let s=0;for(let t=0;t<n;t++)ft(e[t].name,dt)&&s++;for(;s-- >0;){const e=l[a],n=vt.exec(e)[2],s=n.toLowerCase()+dt,i=t.getAttribute(s);t.removeAttribute(s);const o=i.split(ut);this.parts.push({type:"attribute",index:r,name:n,strings:o}),a+=o.length-1}}"TEMPLATE"===t.tagName&&(s.push(t),i.currentNode=t.content)}else if(3===t.nodeType){const e=t.data;if(e.indexOf(ct)>=0){const s=t.parentNode,i=e.split(ut),o=i.length-1;for(let e=0;e<o;e++){let n,o=i[e];if(""===o)n=gt();else{const t=vt.exec(o);null!==t&&ft(t[2],dt)&&(o=o.slice(0,t.index)+t[1]+t[2].slice(0,-dt.length)+t[3]),n=document.createTextNode(o)}s.insertBefore(n,t),this.parts.push({type:"node",index:++r})}""===i[o]?(s.insertBefore(gt(),t),n.push(t)):t.data=i[o],a+=o}}else if(8===t.nodeType)if(t.data===ct){const e=t.parentNode;null!==t.previousSibling&&r!==o||(r++,e.insertBefore(gt(),t)),o=r,this.parts.push({type:"node",index:r}),null===t.nextSibling?t.data="":(n.push(t),r--),a++}else{let e=-1;for(;-1!==(e=t.data.indexOf(ct,e+1));)this.parts.push({type:"node",index:-1}),a++}}else i.currentNode=s.pop()}for(const t of n)t.parentNode.removeChild(t)}}const ft=(t,e)=>{const n=t.length-e.length;return n>=0&&t.slice(n)===e},mt=t=>-1!==t.index,gt=()=>document.createComment(""),vt=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;class yt{constructor(t,e,n){this.__parts=[],this.template=t,this.processor=e,this.options=n}update(t){let e=0;for(const n of this.__parts)void 0!==n&&n.setValue(t[e]),e++;for(const t of this.__parts)void 0!==t&&t.commit()}_clone(){const t=it?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),e=[],n=this.template.parts,s=document.createTreeWalker(t,133,null,!1);let i,o=0,r=0,a=s.nextNode();for(;o<n.length;)if(i=n[o],mt(i)){for(;r<i.index;)r++,"TEMPLATE"===a.nodeName&&(e.push(a),s.currentNode=a.content),null===(a=s.nextNode())&&(s.currentNode=e.pop(),a=s.nextNode());if("node"===i.type){const t=this.processor.handleTextExpression(this.options);t.insertAfterNode(a.previousSibling),this.__parts.push(t)}else this.__parts.push(...this.processor.handleAttributeExpressions(a,i.name,i.strings,this.options));o++}else this.__parts.push(void 0),o++;return it&&(document.adoptNode(t),customElements.upgrade(t)),t}}const wt=window.trustedTypes&&trustedTypes.createPolicy("lit-html",{createHTML:t=>t}),bt=` ${ct} `;class St{constructor(t,e,n,s){this.strings=t,this.values=e,this.type=n,this.processor=s}getHTML(){const t=this.strings.length-1;let e="",n=!1;for(let s=0;s<t;s++){const t=this.strings[s],i=t.lastIndexOf("\x3c!--");n=(i>-1||n)&&-1===t.indexOf("--\x3e",i+1);const o=vt.exec(t);e+=null===o?t+(n?bt:ht):t.substr(0,o.index)+o[1]+o[2]+dt+o[3]+ct}return e+=this.strings[t],e}getTemplateElement(){const t=document.createElement("template");let e=this.getHTML();return void 0!==wt&&(e=wt.createHTML(e)),t.innerHTML=e,t}}class Et extends St{getHTML(){return`<svg>${super.getHTML()}</svg>`}getTemplateElement(){const t=super.getTemplateElement(),e=t.content,n=e.firstChild;return e.removeChild(n),ot(e,n.firstChild),t}}const xt=t=>null===t||!("object"==typeof t||"function"==typeof t),_t=t=>Array.isArray(t)||!(!t||!t[Symbol.iterator]);class Pt{constructor(t,e,n){this.dirty=!0,this.element=t,this.name=e,this.strings=n,this.parts=[];for(let t=0;t<n.length-1;t++)this.parts[t]=this._createPart()}_createPart(){return new kt(this)}_getValue(){const t=this.strings,e=t.length-1,n=this.parts;if(1===e&&""===t[0]&&""===t[1]){const t=n[0].value;if("symbol"==typeof t)return String(t);if("string"==typeof t||!_t(t))return t}let s="";for(let i=0;i<e;i++){s+=t[i];const e=n[i];if(void 0!==e){const t=e.value;if(xt(t)||!_t(t))s+="string"==typeof t?t:String(t);else for(const e of t)s+="string"==typeof e?e:String(e)}}return s+=t[e],s}commit(){this.dirty&&(this.dirty=!1,this.element.setAttribute(this.name,this._getValue()))}}class kt{constructor(t){this.value=void 0,this.committer=t}setValue(t){t===at||xt(t)&&t===this.value||(this.value=t,st(t)||(this.committer.dirty=!0))}commit(){for(;st(this.value);){const t=this.value;this.value=at,t(this)}this.value!==at&&this.committer.commit()}}class Ot{constructor(t){this.value=void 0,this.__pendingValue=void 0,this.options=t}appendInto(t){this.startNode=t.appendChild(gt()),this.endNode=t.appendChild(gt())}insertAfterNode(t){this.startNode=t,this.endNode=t.nextSibling}appendIntoPart(t){t.__insert(this.startNode=gt()),t.__insert(this.endNode=gt())}insertAfterPart(t){t.__insert(this.startNode=gt()),this.endNode=t.endNode,t.endNode=this.startNode}setValue(t){this.__pendingValue=t}commit(){if(null===this.startNode.parentNode)return;for(;st(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=at,t(this)}const t=this.__pendingValue;t!==at&&(xt(t)?t!==this.value&&this.__commitText(t):t instanceof St?this.__commitTemplateResult(t):t instanceof Node?this.__commitNode(t):_t(t)?this.__commitIterable(t):t===lt?(this.value=lt,this.clear()):this.__commitText(t))}__insert(t){this.endNode.parentNode.insertBefore(t,this.endNode)}__commitNode(t){this.value!==t&&(this.clear(),this.__insert(t),this.value=t)}__commitText(t){const e=this.startNode.nextSibling,n="string"==typeof(t=null==t?"":t)?t:String(t);e===this.endNode.previousSibling&&3===e.nodeType?e.data=n:this.__commitNode(document.createTextNode(n)),this.value=t}__commitTemplateResult(t){const e=this.options.templateFactory(t);if(this.value instanceof yt&&this.value.template===e)this.value.update(t.values);else{const n=new yt(e,t.processor,this.options),s=n._clone();n.update(t.values),this.__commitNode(s),this.value=n}}__commitIterable(t){Array.isArray(this.value)||(this.value=[],this.clear());const e=this.value;let n,s=0;for(const i of t)n=e[s],void 0===n&&(n=new Ot(this.options),e.push(n),0===s?n.appendIntoPart(this):n.insertAfterPart(e[s-1])),n.setValue(i),n.commit(),s++;s<e.length&&(e.length=s,this.clear(n&&n.endNode))}clear(t=this.startNode){rt(this.startNode.parentNode,t.nextSibling,this.endNode)}}class Tt{constructor(t,e,n){if(this.value=void 0,this.__pendingValue=void 0,2!==n.length||""!==n[0]||""!==n[1])throw new Error("Boolean attributes can only contain a single expression");this.element=t,this.name=e,this.strings=n}setValue(t){this.__pendingValue=t}commit(){for(;st(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=at,t(this)}if(this.__pendingValue===at)return;const t=!!this.__pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=t),this.__pendingValue=at}}class Ct extends Pt{constructor(t,e,n){super(t,e,n),this.single=2===n.length&&""===n[0]&&""===n[1]}_createPart(){return new $t(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class $t extends kt{}let Mt=!1;(()=>{try{const t={get capture(){return Mt=!0,!1}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){}})();class Nt{constructor(t,e,n){this.value=void 0,this.__pendingValue=void 0,this.element=t,this.eventName=e,this.eventContext=n,this.__boundHandleEvent=t=>this.handleEvent(t)}setValue(t){this.__pendingValue=t}commit(){for(;st(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=at,t(this)}if(this.__pendingValue===at)return;const t=this.__pendingValue,e=this.value,n=null==t||null!=e&&(t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive),s=null!=t&&(null==e||n);n&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),s&&(this.__options=Lt(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=at}handleEvent(t){"function"==typeof this.value?this.value.call(this.eventContext||this.element,t):this.value.handleEvent(t)}}const Lt=t=>t&&(Mt?{capture:t.capture,passive:t.passive,once:t.once}:t.capture),jt=new class{handleAttributeExpressions(t,e,n,s){const i=e[0];return"."===i?new Ct(t,e.slice(1),n).parts:"@"===i?[new Nt(t,e.slice(1),s.eventContext)]:"?"===i?[new Tt(t,e.slice(1),n)]:new Pt(t,e,n).parts}handleTextExpression(t){return new Ot(t)}};function At(t){let e=Rt.get(t.type);void 0===e&&(e={stringsArray:new WeakMap,keyString:new Map},Rt.set(t.type,e));let n=e.stringsArray.get(t.strings);if(void 0!==n)return n;const s=t.strings.join(ct);return n=e.keyString.get(s),void 0===n&&(n=new pt(t,t.getTemplateElement()),e.keyString.set(s,n)),e.stringsArray.set(t.strings,n),n}const Rt=new Map,Ht=new WeakMap,Wt=(t,e,n)=>{let s=Ht.get(e);void 0===s&&(rt(e,e.firstChild),Ht.set(e,s=new Ot(Object.assign({templateFactory:At},n))),s.appendInto(e)),s.setValue(t),s.commit()};"undefined"!=typeof window&&(window.litHtmlVersions||(window.litHtmlVersions=[])).push("1.4.1");const It=(t,...e)=>new St(t,e,"html",jt),Vt=(t,...e)=>new Et(t,e,"svg",jt),Dt=(t,e)=>{const n=t.startNode.parentNode,s=void 0===e?t.endNode:e.startNode,i=n.insertBefore(gt(),s);n.insertBefore(gt(),s);const o=new Ot(t.options);return o.insertAfterNode(i),o},qt=(t,e)=>(t.setValue(e),t.commit(),t),Ut=(t,e,n)=>{const s=t.startNode.parentNode,i=n?n.startNode:t.endNode,o=e.endNode.nextSibling;o!==i&&ot(s,e.startNode,o,i)},Gt=t=>{rt(t.startNode.parentNode,t.startNode,t.endNode.nextSibling)},Bt=(t,e,n)=>{const s=new Map;for(let i=e;i<=n;i++)s.set(t[i],i);return s},Ft=new WeakMap,Kt=new WeakMap,zt=nt(((t,e,n)=>{let s;return void 0===n?n=e:void 0!==e&&(s=e),e=>{if(!(e instanceof Ot))throw new Error("repeat can only be used in text bindings");const i=Ft.get(e)||[],o=Kt.get(e)||[],r=[],a=[],l=[];let c,h,u=0;for(const e of t)l[u]=s?s(e,u):u,a[u]=n(e,u),u++;let d=0,p=i.length-1,f=0,m=a.length-1;for(;d<=p&&f<=m;)if(null===i[d])d++;else if(null===i[p])p--;else if(o[d]===l[f])r[f]=qt(i[d],a[f]),d++,f++;else if(o[p]===l[m])r[m]=qt(i[p],a[m]),p--,m--;else if(o[d]===l[m])r[m]=qt(i[d],a[m]),Ut(e,i[d],r[m+1]),d++,m--;else if(o[p]===l[f])r[f]=qt(i[p],a[f]),Ut(e,i[p],i[d]),p--,f++;else if(void 0===c&&(c=Bt(l,f,m),h=Bt(o,d,p)),c.has(o[d]))if(c.has(o[p])){const t=h.get(l[f]),n=void 0!==t?i[t]:null;if(null===n){const t=Dt(e,i[d]);qt(t,a[f]),r[f]=t}else r[f]=qt(n,a[f]),Ut(e,n,i[d]),i[t]=null;f++}else Gt(i[p]),p--;else Gt(i[d]),d++;for(;f<=m;){const t=Dt(e,r[m+1]);qt(t,a[f]),r[f++]=t}for(;d<=p;){const t=i[d++];null!==t&&Gt(t)}Ft.set(e,r),Kt.set(e,l)}})),Jt=new WeakMap,Qt=nt(((t,e)=>n=>{const s=Jt.get(n);if(Array.isArray(t)){if(Array.isArray(s)&&s.length===t.length&&t.every(((t,e)=>t===s[e])))return}else if(s===t&&(void 0!==t||Jt.has(n)))return;n.setValue(e()),Jt.set(n,Array.isArray(t)?Array.from(t):t)})),Zt=new WeakMap,Xt=nt((t=>e=>{const n=Zt.get(e);if(void 0===t&&e instanceof kt){if(void 0!==n||!Zt.has(e)){const t=e.committer.name;e.committer.element.removeAttribute(t)}}else t!==n&&e.setValue(t);Zt.set(e,t)}));var Yt,te,ee,ne,se,ie,oe,re,ae,le,ce,he,ue,de,pe,fe,me,ge=function(t,e,n,s){if("a"===n&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?s:"a"===n?s.call(t):s?s.value:e.get(t)},ve=function(t,e,n,s,i){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?i.call(t,n):i?i.value=n:e.set(t,n),n};function ye(){}function we(t){"function"==typeof t&&t()}const be=new d,Se=()=>{window.requestAnimationFrame((function t(e){if(performance.now()>e+16)return void Se();const n=be.get();n&&(n(),t(e))}))};be.addEventListener("start",Se);const Ee=Symbol("init"),xe=Symbol("update");class _e extends HTMLElement{constructor({isAsync:t,isLight:e,delegatesFocus:n}={}){super(),Yt.set(this,void 0),te.set(this,void 0),ee.set(this,void 0),ne.set(this,void 0),se.set(this,void 0),ie.set(this,void 0),oe.set(this,void 0),this.setState=t=>{if(!this.state)throw new k("`state` not initialized");Object.assign(this.state,t),a(ge(this,pe,"f"))},re.set(this,(t=>{null==t||t.forEach((t=>{const{callback:e,getDep:n,values:s,preCallback:i}=t,o=null==n?void 0:n();n&&!O(s,o)||(we(i),t.preCallback=e(o,s),t.values=o)}))})),ae.set(this,(()=>{ge(this,re,"f").call(this,ge(this,se,"f"))})),le.set(this,(()=>{ge(this,re,"f").call(this,ge(this,ie,"f"))})),this.effect=(t,e)=>{ge(this,se,"f")||ve(this,se,[],"f");const n=null==e?void 0:e(),s={callback:t,getDep:e,values:n,initialized:!!this.isConnected};this.isConnected&&(s.preCallback=t(n)),ge(this,se,"f").push(s)},this.memo=(t,e)=>{ge(this,ie,"f")||ve(this,ie,[],"f"),ge(this,ie,"f").push({callback:t,getDep:e,values:[Symbol()],initialized:this.isConnected})},ce.set(this,(()=>{var t;null===(t=ge(this,se,"f"))||void 0===t||t.forEach((t=>{const{callback:e,getDep:n,initialized:s}=t;s||(t.preCallback=e(null==n?void 0:n()),t.initialized=!0)}))})),he.set(this,(()=>(ge(this,le,"f").call(this),this.render?this.render():ge(this,Yt,"f")===this?void 0:It`<slot></slot>`))),ue.set(this,(()=>!this.shouldUpdate||this.shouldUpdate())),de.set(this,(()=>{if(this.isConnected&&ge(this,ue,"f").call(this)){const t=ge(this,he,"f").call(this);void 0!==t&&Wt(t,ge(this,Yt,"f")),a(ge(this,fe,"f")),a(ge(this,ae,"f"))}})),pe.set(this,(()=>{ge(this,ne,"f")?be.add(ge(this,de,"f")):ge(this,de,"f").call(this)})),this.update=()=>{a(ge(this,pe,"f"))},fe.set(this,(()=>{var t;null===(t=this.updated)||void 0===t||t.call(this)})),me.set(this,(()=>{var t,e,n;if(ge(this,ee,"f"))return void ve(this,ee,!1,"f");null===(t=this.willMount)||void 0===t||t.call(this);const{observedStores:s,rootElement:i}=this.constructor;null==s||s.forEach((t=>{R(t,ge(this,pe,"f"))}));const o=ge(this,he,"f").call(this);if(void 0!==o&&Wt(o,ge(this,Yt,"f")),ve(this,oe,null===(e=this.mounted)||void 0===e?void 0:e.call(this),"f"),ge(this,ce,"f").call(this),i&&(null===(n=this.getRootNode().host)||void 0===n?void 0:n.tagName)!==i.toUpperCase())throw new k("not allow current root type")})),a((()=>this[Ee]=!1)),this[Ee]=!0,this[xe]=()=>{this.isConnected&&a(ge(this,pe,"f"))},ve(this,ne,t,"f"),ve(this,Yt,e?this:this.attachShadow({mode:"open",delegatesFocus:n}),"f");const{adoptedStyleSheets:s}=new.target;if(s){const t=s.map((t=>t[v]||t));this.shadowRoot?this.shadowRoot.adoptedStyleSheets=t:this.effect((()=>{const e=this.getRootNode();return e.adoptedStyleSheets=[...e.adoptedStyleSheets,...t],()=>{e.adoptedStyleSheets=T(e.adoptedStyleSheets,t)}}),(()=>[]))}}get internals(){if(!ge(this,te,"f")){const t=()=>{const{classList:t}=this;return{has:e=>t.contains(e),add:e=>t.add(e),delete:e=>t.remove(e)}};this.attachInternals||(this.attachInternals=()=>({states:t()})),ve(this,te,this.attachInternals(),"f"),ge(this,te,"f").states||(ge(this,te,"f").states=t())}return ge(this,te,"f")}attributeChangedCallback(){this.isConnected&&a(ge(this,pe,"f"))}closestElement(t){const e="function"==typeof t,n="string"==typeof t&&t.toUpperCase(),s=i=>{const o=i.parentElement||i.getRootNode().host;if(!o)return null;if(e){if(o.constructor===t)return o}else if(o.tagName===n)return o;return s(o)};return s(this)}connectedCallback(){ge(this,ne,"f")?be.add(ge(this,me,"f")):ge(this,me,"f").call(this)}disconnectedCallback(){var t,e,n;if(this.isConnected)return void ve(this,ee,!0,"f");const{observedStores:s}=this.constructor;null==s||s.forEach((t=>{H(t,ge(this,pe,"f"))})),we(ge(this,oe,"f")),null===(t=this.unmounted)||void 0===t||t.call(this),null===(e=ge(this,se,"f"))||void 0===e||e.forEach((t=>{we(t.preCallback)})),ve(this,ie,null===(n=ge(this,ie,"f"))||void 0===n?void 0:n.filter((({initialized:t})=>!t)),"f")}}Yt=new WeakMap,te=new WeakMap,ee=new WeakMap,ne=new WeakMap,se=new WeakMap,ie=new WeakMap,oe=new WeakMap,re=new WeakMap,ae=new WeakMap,le=new WeakMap,ce=new WeakMap,he=new WeakMap,ue=new WeakMap,de=new WeakMap,pe=new WeakMap,fe=new WeakMap,me=new WeakMap;const Pe=new p;function ke(t,e,n){const{booleanAttributes:s,numberAttributes:i}=t.constructor;Object.defineProperty(t,e,{configurable:!0,get(){if(!(Ee in this))return;const t=this.getAttribute(n);return(null==s?void 0:s.has(n))?null!==t:(null==i?void 0:i.has(n))?Number(t):t||""},set(t){const i=this,o=Pe.get(this),r=o[e],a=i.getAttribute(n);if(this[Ee]&&null!==a&&!r)return;o[e]=!0;const l=null==s?void 0:s.has(n);null==t?i.removeAttribute(n):l?i.toggleAttribute(n,!!t):a!==String(t)&&i.setAttribute(n,String(t))}})}const Oe=Symbol("event handle");function Te(t,e,n,s){Object.defineProperty(t,e,{configurable:!0,get(){const t=Pe.get(this)[e];return t||!n?t:(this[e]=ye,this[e])},set(t){const i=this,o=Pe.get(i);t!==o[e]&&(n?(o[e]=(null==t?void 0:t[Oe])?t:(e,o)=>{const r=new CustomEvent(n,Object.assign(Object.assign(Object.assign({},o),s),{detail:e}));i.dispatchEvent(r),t(e,o)},o[e][Oe]=!0):(o[e]=t,this[xe]()))}})}function Ce(t,e,n){Object.defineProperty(t,e,{configurable:!0,get(){const t=Pe.get(this);let s=t[e];if(!s){const i=this,o=i.shadowRoot||i;s={get ref(){return n},get element(){const t=[...o.querySelectorAll("gem-reflect")].map((t=>t.target));for(const e of[o,...t]){const t=e.querySelector(`[ref=${n}]`);if(t)return t}}},t[e]=s}return s}})}function $e(t,e,n){Object.defineProperty(t,e,{configurable:!0,get(){var t;const{states:e}=this.internals;return null===(t=e.has)||void 0===t?void 0:t.call(e,n)},set(t){const{states:e}=this.internals;t?e.add(n):e.delete(n)}})}const Me=customElements.define.bind(customElements);function Ne(t,e,n,s=!1){const i=t.constructor,o=i[e];i.hasOwnProperty(e)||Object.defineProperty(i,e,{value:s?new Set(o):o?Array.from(o):[]}),i[e][s?"add":"push"](n)}function Le(t,e){const n=`${x(e)}-${w()}`;Ne(t,"defineRefs",n),Ce(t,e,n)}function je(t,e,n){Ne(t,"observedAttributes",n),ke(t,e,n)}function Ae(t,e){je(t,e,x(e))}function Re(t,e){const n=x(e);Ne(t,"booleanAttributes",n,!0),je(t,e,n)}function He(t,e){const n=x(e);Ne(t,"numberAttributes",n,!0),je(t,e,n)}function We(t,e){Ne(t,"observedPropertys",e),Te(t,e)}function Ie(t,e){const n=x(e);Ne(t,"defineCSSStates",n),$e(t,e,`--${n}`)}function Ve(t,e){const n=x(t[e]||e);t[e]=n,Ne(t instanceof _e?t:t.prototype,"defineSlots",n)}function De(t,e){const n=x(t[e]||e);t[e]=n,Ne(t instanceof _e?t:t.prototype,"defineParts",n)}function qe(t,e){Ge(t,e)}function Ue(t,e){Ge(t,e,{bubbles:!0,composed:!0})}function Ge(t,e,n){const s=x(e);Ne(t,"defineEvents",s),Te(t,e,s,n)}function Be(t){return function(e){Ne(e.prototype,"adoptedStyleSheets",t)}}function Fe(t){return function(e){Ne(e.prototype,"observedStores",t)}}function Ke(t){return function(e){e.rootElement=t}}function ze(t){return function(e){Me(t,e)}}customElements.define=(t,e,n)=>{if(e.prototype instanceof _e){const{observedAttributes:t,observedPropertys:n,defineEvents:s,defineCSSStates:i,defineRefs:o}=e;null==t||t.forEach((t=>ke(e.prototype,_(t),t))),null==n||n.forEach((t=>Te(e.prototype,t))),null==s||s.forEach((t=>Te(e.prototype,_(t),t))),null==i||i.forEach((t=>$e(e.prototype,_(t),`--${t}`))),null==o||o.forEach((t=>Ce(e.prototype,_(t),t)))}Me(t,e,n)};const Je="1.5.4";window.__GEM_DEVTOOLS__HOOK__&&Object.assign(window.__GEM_DEVTOOLS__HOOK__,Object.assign({},n));var Qe,Ze,Xe,Ye,tn=function(t,e,n,s){var i,o=arguments.length,r=o<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,n):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,n,s);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(r=(o<3?i(r):o>3?i(e,n,r):i(e,n))||r);return o>3&&r&&Object.defineProperty(e,n,r),r},en=function(t,e,n,s,i){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?i.call(t,n):i?i.value=n:e.set(t,n),n},nn=function(t,e,n,s){if("a"===n&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?s:"a"===n?s.call(t):s?s.value:e.get(t)};class sn extends RegExp{constructor(t){const e={};let n=0;super(`^${t.replace(/:([^/$]+)/g,((t,s)=>(e[s]=n++,"([^/]+)"))).replace("*",".*")}$`,"i"),this.namePosition=e}}function on(t,e){const n=new sn(t),s=e.match(n)||`${e}/`.match(n);if(!s)return null;const i={};return s&&Object.keys(n.namePosition).forEach((t=>{i[t]=s[n.namePosition[t]+1]})),i}function rn(t,e){let n=t.pattern;const s=null==e?void 0:e.params;return s&&Object.keys(s).forEach((t=>{n=n.replace(new RegExp(`:${t}`,"g"),s[t])})),n}function an(t,e){const n=rn(t,e);return Object.assign({path:n},e)}let ln=Ye=class extends _e{constructor({isLight:t,routes:e}={}){super({isLight:t}),this.currentParams={},Qe.set(this,void 0),this.state={content:void 0},Ze.set(this,(()=>{if(this.locationStore){const{path:t,query:e,data:n}=W.getParams();A(this.locationStore,{path:t,params:this.currentParams,query:e,data:n})}})),Xe.set(this,((t,e,n)=>{en(this,Qe,void 0,"f"),this.currentRoute=t,this.currentParams=e,this.setState({content:n}),this.change(this.currentRoute);const s=null==t?void 0:t.title;s&&A(Y,{title:s}),nn(this,Ze,"f").call(this)})),this.routes=e}mounted(){this.effect((([t,e],n)=>{if(n&&t===n[0]&&e===n[1])return void nn(this,Ze,"f").call(this);const{route:s,params:i={}}=Ye.findRoute(this.routes,e),{redirect:o,content:r,getContent:a}=s||{};if(o)return void W.replace({path:o});const l=r||(null==a?void 0:a(i));if(l instanceof Promise){this.loading(s),en(this,Qe,l,"f");const t=()=>nn(this,Qe,"f")===l;l.then((e=>{t()&&nn(this,Xe,"f").call(this,s,i,e)})).catch((e=>{t()&&this.error(e)}))}else nn(this,Xe,"f").call(this,s,i,l)}),(()=>{const{path:t}=W.getParams();return[this.key,t,location.search]}))}shouldUpdate(){return!this.inert}render(){const{content:t}=this.state;return this.shadowRoot?It`
|
|
2
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Gem=e():t.Gem=e()}(self,(function(){return(()=>{"use strict";var t={d:(e,n)=>{for(var s in n)t.o(n,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:n[s]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{DialogBaseElement:()=>Hn,GemActiveLinkElement:()=>yn,GemElement:()=>$e,GemError:()=>N,GemLightRouteElement:()=>mn,GemLinkElement:()=>vn,GemReflectElement:()=>Cn,GemRouteElement:()=>fn,GemTitleElement:()=>Sn,GemUnsafeElement:()=>kn,GemUseElement:()=>Pn,I18n:()=>zn,LinkedList:()=>y,PropProxyMap:()=>w,QueryString:()=>b,SVGTemplateResult:()=>Ct,SheetToken:()=>x,StoreListenerMap:()=>W,TemplateResult:()=>Tt,absoluteLocation:()=>v,addMicrotask:()=>p,addMicrotaskToStack:()=>g,adoptedStyle:()=>Ze,attribute:()=>Ie,basePathStore:()=>it,boolattribute:()=>qe,camelToKebabCase:()=>O,classMap:()=>R,cleanObject:()=>M,connect:()=>q,connectStore:()=>Xe,createCSSSheet:()=>P,createHistoryParams:()=>pn,createModalClass:()=>$n,createPath:()=>dn,createStore:()=>V,createStoreSet:()=>D,createTheme:()=>qn,css:()=>E,customElement:()=>tn,defineAttribute:()=>Ne,defineCSSState:()=>Re,defineProperty:()=>je,defineRef:()=>Ae,del:()=>Yn,directive:()=>ct,disconnect:()=>U,emitter:()=>Ke,get:()=>Xn,getThemeProp:()=>In,getThemeStore:()=>Vn,globalemitter:()=>Je,guard:()=>ne,history:()=>G,html:()=>Bt,ifDefined:()=>ie,isArrayChange:()=>L,kebabToCamelCase:()=>$,matchPath:()=>un,mediaQuery:()=>ns,nativeDefineElement:()=>He,numattribute:()=>Ue,part:()=>ze,partMap:()=>H,post:()=>es,property:()=>Ge,put:()=>ts,randomStr:()=>_,raw:()=>S,refobject:()=>Ve,removeItems:()=>j,render:()=>Gt,repeat:()=>te,request:()=>Jn,rootElement:()=>Ye,slot:()=>Fe,state:()=>Be,styleMap:()=>A,styled:()=>C,svg:()=>Ft,titleStore:()=>ot,updateStore:()=>I,updateTheme:()=>Un,version:()=>en});var n={};t.r(n),t.d(n,{GemElement:()=>$e,GemError:()=>N,LinkedList:()=>y,PropProxyMap:()=>w,QueryString:()=>b,SVGTemplateResult:()=>Ct,SheetToken:()=>x,StoreListenerMap:()=>W,TemplateResult:()=>Tt,absoluteLocation:()=>v,addMicrotask:()=>p,addMicrotaskToStack:()=>g,adoptedStyle:()=>Ze,attribute:()=>Ie,basePathStore:()=>it,boolattribute:()=>qe,camelToKebabCase:()=>O,classMap:()=>R,cleanObject:()=>M,connect:()=>q,connectStore:()=>Xe,createCSSSheet:()=>P,createStore:()=>V,createStoreSet:()=>D,css:()=>E,customElement:()=>tn,defineAttribute:()=>Ne,defineCSSState:()=>Re,defineProperty:()=>je,defineRef:()=>Ae,directive:()=>ct,disconnect:()=>U,emitter:()=>Ke,globalemitter:()=>Je,guard:()=>ne,history:()=>G,html:()=>Bt,ifDefined:()=>ie,isArrayChange:()=>L,kebabToCamelCase:()=>$,nativeDefineElement:()=>He,numattribute:()=>Ue,part:()=>ze,partMap:()=>H,property:()=>Ge,randomStr:()=>_,raw:()=>S,refobject:()=>Ve,removeItems:()=>j,render:()=>Gt,repeat:()=>te,rootElement:()=>Ye,slot:()=>Fe,state:()=>Be,styleMap:()=>A,styled:()=>C,svg:()=>Ft,titleStore:()=>ot,updateStore:()=>I,version:()=>en});var s,i,o,r,a,c,l,h=function(t,e,n,s){if("a"===n&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?s:"a"===n?s.call(t):s?s.value:e.get(t)},u=function(t,e,n,s,i){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?i.call(t,n):i?i.value=n:e.set(t,n),n};const d=new Set;function p(t){"function"==typeof t&&(d.size||globalThis.queueMicrotask((()=>{d.forEach((t=>t())),d.clear()})),d.delete(t),d.add(t))}const f=[];function m(){for(let t=f.length-1;t>=0;t--)f[t]();f.length=0}function g(t){f.length||p(m),f.push(t)}function v(t="",e=""){const{pathname:n,search:s,hash:i}=new URL(e,location.origin+t);return n+s+i}class y extends(globalThis.EventTarget||Object){constructor(){super(...arguments),s.add(this),i.set(this,new Map),o.set(this,void 0),r.set(this,void 0)}get size(){return h(this,i,"f").size}add(t){h(this,r,"f")||this.dispatchEvent(new CustomEvent("start"));const e=h(this,s,"m",a).call(this,t)||{value:t};e.prev=h(this,r,"f"),e.prev&&(e.prev.next=e),e.next=void 0,u(this,r,e,"f"),h(this,o,"f")||u(this,o,e,"f"),h(this,i,"f").set(t,e)}delete(t){const e=h(this,s,"m",a).call(this,t);return h(this,o,"f")||this.dispatchEvent(new CustomEvent("end")),e}get(){const t=h(this,o,"f");if(t)return h(this,s,"m",a).call(this,t.value),t.value}}i=new WeakMap,o=new WeakMap,r=new WeakMap,s=new WeakSet,a=function(t){const e=h(this,i,"f").get(t);return e&&(e.prev?e.prev.next=e.next:u(this,o,e.next,"f"),e.next?e.next.prev=e.prev:u(this,r,e.prev,"f"),h(this,i,"f").delete(t)),e};class w extends WeakMap{get(t){let e=super.get(t);return e||(e={},this.set(t,e)),e}}class b extends URLSearchParams{constructor(t){super(t),c.set(this,(t=>"string"==typeof t?t:JSON.stringify(t))),l.set(this,(t=>{if(!t)return null;try{return JSON.parse(t)}catch(t){return null}}))}concat(t){let e;e="string"==typeof t?Object.fromEntries(new URLSearchParams(t).entries()):t,Object.entries(e).forEach((([t,e])=>{this.append(t,h(this,c,"f").call(this,e))}))}setAny(t,e){if(Array.isArray(e))this.delete(t),e.forEach((e=>this.append(t,h(this,c,"f").call(this,e))));else{const n=h(this,c,"f").call(this,e);n?this.set(t,n):this.delete(t)}}getAny(t){return this.getAnyAll(t)[0]}getAnyAll(t){return this.getAll(t).filter((t=>""!==t)).map((t=>h(this,l,"f").call(this,t)))}toString(){const t=super.toString();return t?`?${t}`:""}toJSON(){return this.toString()}}function S(t,...e){return t.reduce(((t,n,s)=>{var i;return t+(null!==(i=e[s-1])&&void 0!==i?i:"")+n}))}function E(t,...e){return S(t,...e)}c=new WeakMap,l=new WeakMap;const x=Symbol("sheet token");function P(t,e=""){const n=new CSSStyleSheet,s={};n.media.mediaText=e;let i="";return"string"==typeof t?i=t:Object.keys(t).forEach((e=>{s[e]=`${e}-${_()}`,i+=t[e].styledContent.replace(/&/g,s[e])})),n.replaceSync(i),s[x]=n,s}function _(t=5,e="0123456789abcdefghijklmnopqrstuvwxyz"){const n=e.length;let s="";for(let i=0;i<t;i++)s+=e[Math.floor(Math.random()*n)];return s}const k=new RegExp("&.*{((.|\n)*)}","g");function T(t,e){const n=[];let s=`& {${t.replace(k,(t=>(n.push(t),"")))}}`+n.join("");return s=s.replace(/&/g,"class"===e?".&":"#&"),{styledContent:s,type:e}}const C={class:(t,...e)=>T(S(t,...e),"class"),id:(t,...e)=>T(S(t,...e),"id"),keyframes:(t,...e)=>({styledContent:`@keyframes & {${S(t,...e)}}`,type:"keyframes"})};function O(t){return t.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}function $(t){return t.replace(/-(.)/g,((t,e)=>e.toUpperCase()))}function M(t){return Object.keys(t).forEach((e=>{delete t[e]})),t}class N extends Error{constructor(t){super(t),this.message=`gem: ${this.message}`}}function L(t,e){const n=t.length;for(let s=0;s<n;s++)if(t[s]!==e[s])return!0;return!1}function j(t,e){const n=new Set(e);return t.filter((t=>!n.has(t)||(n.delete(t),!1)))}function A(t){let e="";for(const n in t)t[n]&&(e+=`${O(n)}:${t[n]};`);return e}function R(t){let e=" ";for(const n in t)t[n]&&(e+=`${n} `);return e}const H=R,W=new WeakMap;function V(t){if(W.has(t))throw new N("argument error");return W.set(t,new Set),t}function D(t){return Object.keys(t).forEach((e=>{V(t[e])})),t}function I(t,e){Object.assign(t,e);const n=W.get(t);null==n||n.forEach((t=>{p(t)}))}function q(t,e){const n=W.get(t);null==n||n.add(e)}function U(t,e){const n=W.get(t);null==n||n.delete(e)}const G=window.history,B=window.location,F=G.pushState.bind(G),z=G.replaceState.bind(G);let K=0;const J=()=>`${performance.now()}-${++K}`,Q=V({$hasCloseHandle:!1,$hasOpenHandle:!1,$hasShouldCloseHandle:!1,$key:""}),Z=new Map;function X({$key:t,$hasCloseHandle:e,$hasOpenHandle:n,$hasShouldCloseHandle:s}={}){if(Q.$key!==t){if(t)throw new N("`$key` is not allowed");if(e)throw new N("`$hasCloseHandle` is not allowed");if(n)throw new N("`$hasOpenHandle` is not allowed");if(s)throw new N("`$hasShouldCloseHandle` is not allowed")}}function Y(t){return G.basePath?G.basePath+t:t}function tt(t){return t===G.basePath?"/":t.replace(new RegExp(`^${G.basePath}/`),"/")}function et(t){const e=Z.get(Q.$key)||{},n=t.path?v(e.path,t.path):tt(B.pathname),s=new b(t.query||(t.path?"":B.search)),i=t.path&&t.path!==e.path||t.query&&String(t.query)!==String(e.query),o=t.title||"",r=t.close||t.data||t.open||t.shouldClose,a=t.hash||(!i&&r?decodeURIComponent(B.hash):"");return Object.assign(Object.assign({},t),{title:o,path:n,query:s,hash:a})}function nt(t,e){X(e.data);const n=et(e),{title:s,path:i,query:o,hash:r,close:a,open:c,shouldClose:l,data:h}=n,u=Object.assign({$hasCloseHandle:!!a,$hasOpenHandle:!!c,$hasShouldCloseHandle:!!l,$key:J()},h);Z.set(u.$key,n),I(M(Q),u);const d=Y(i)+new b(o)+r,p=decodeURIComponent(B.hash);("push"===t?F:z)(u,s,d),p!==r&&window.dispatchEvent(new CustomEvent("hashchange"))}function st(t,e,n,s){X(e);const i=Object.assign({$key:J()},e||{}),{pathname:o,search:r,hash:a}=new URL(s,B.origin+B.pathname),c=et({path:o,query:new b(r),hash:a,title:n,data:e});Z.set(i.$key,c),I(M(Q),i);const l=Y(o)+c.query+a,h=B.hash;("push"===t?F:z)(i,n,l),h!==a&&window.dispatchEvent(new CustomEvent("hashchange"))}const it=V({basePath:""});if(window.addEventListener("hashchange",(({isTrusted:t})=>{t&&G.replace({hash:decodeURIComponent(B.hash)})})),Object.defineProperties(G,{basePath:{get:()=>it.basePath,set(t){I(it,{basePath:t}),Object.assign(Z.get(Q.$key),{path:tt(B.pathname)})}},getParams:{value:function(){return Z.get(Q.$key)}},updateParams:{value:function(t){Object.assign(Z.get(Q.$key),t),I(Q,{})}},store:{value:Q},push:{value:function(t){G.pushState(t,"")}},pushIgnoreCloseHandle:{value:function(t){var e,n;Q.$hasCloseHandle?(null===(n=null===(e=Z.get(Q.$key))||void 0===e?void 0:e.close)||void 0===n||n.call(e),G.replace(t)):G.push(t)}},replace:{value:function(t){nt("replace",t)}}}),G.pushState=function(t,e,n){n?st("push",t,e,n):nt("push",t)},G.replaceState=function(t,e,n){st("replace",t,e,n)},G.state)if(G.state.$hasCloseHandle){I(Q,G.state);const t=et({title:document.title});Z.set(Q.$key,t),G.back()}else{const t=et({title:document.title,hash:B.hash});I(Q,Object.assign({$key:J()},G.state||{})),Z.set(Q.$key,t)}else{const{pathname:t,search:e,hash:n}=B;G.replace({path:t,query:e,hash:n})}const ot=V({title:""});q(ot,(()=>{const t=Z.get(Q.$key);t&&(t.title=ot.title)})),q(Q,(()=>{const{title:t}=G.getParams();t!==ot.title&&I(ot,{title:t})}));let rt=!1;window.addEventListener("popstate",(t=>{var e,n;const s=t.state;if(!(null==s?void 0:s.$key))return;if(rt)return void(rt=!1);if(!Z.has(s.$key)){const{pathname:t,search:e,hash:n}=B;Z.set(s.$key,{path:t,query:new b(e),hash:n,title:document.title,data:s})}const i=Q;if(parseFloat(s.$key)>parseFloat(i.$key)&&s.$hasOpenHandle)null===(n=null===(e=Z.get(s.$key))||void 0===e?void 0:e.open)||void 0===n||n.call(e);else if(i.$hasCloseHandle){const t=Z.get(i.$key),e=null==t?void 0:t.close,n=null==t?void 0:t.shouldClose;if(n&&!n())return rt=!0,void G.forward();e?e():s.$hasCloseHandle&&(rt=!0,G.back())}I(M(Q),s)}));const at=new WeakMap,ct=t=>(...e)=>{const n=t(...e);return at.set(n,!0),n},lt=t=>"function"==typeof t&&at.has(t),ht="undefined"!=typeof window&&null!=window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,ut=(t,e,n=null,s=null)=>{for(;e!==n;){const n=e.nextSibling;t.insertBefore(e,s),e=n}},dt=(t,e,n=null)=>{for(;e!==n;){const n=e.nextSibling;t.removeChild(e),e=n}},pt={},ft={},mt=`{{lit-${String(Math.random()).slice(2)}}}`,gt=`\x3c!--${mt}--\x3e`,vt=new RegExp(`${mt}|${gt}`),yt="$lit$";class wt{constructor(t,e){this.parts=[],this.element=e;const n=[],s=[],i=document.createTreeWalker(e.content,133,null,!1);let o=0,r=-1,a=0;const{strings:c,values:{length:l}}=t;for(;a<l;){const t=i.nextNode();if(null!==t){if(r++,1===t.nodeType){if(t.hasAttributes()){const e=t.attributes,{length:n}=e;let s=0;for(let t=0;t<n;t++)bt(e[t].name,yt)&&s++;for(;s-- >0;){const e=c[a],n=xt.exec(e)[2],s=n.toLowerCase()+yt,i=t.getAttribute(s);t.removeAttribute(s);const o=i.split(vt);this.parts.push({type:"attribute",index:r,name:n,strings:o}),a+=o.length-1}}"TEMPLATE"===t.tagName&&(s.push(t),i.currentNode=t.content)}else if(3===t.nodeType){const e=t.data;if(e.indexOf(mt)>=0){const s=t.parentNode,i=e.split(vt),o=i.length-1;for(let e=0;e<o;e++){let n,o=i[e];if(""===o)n=Et();else{const t=xt.exec(o);null!==t&&bt(t[2],yt)&&(o=o.slice(0,t.index)+t[1]+t[2].slice(0,-yt.length)+t[3]),n=document.createTextNode(o)}s.insertBefore(n,t),this.parts.push({type:"node",index:++r})}""===i[o]?(s.insertBefore(Et(),t),n.push(t)):t.data=i[o],a+=o}}else if(8===t.nodeType)if(t.data===mt){const e=t.parentNode;null!==t.previousSibling&&r!==o||(r++,e.insertBefore(Et(),t)),o=r,this.parts.push({type:"node",index:r}),null===t.nextSibling?t.data="":(n.push(t),r--),a++}else{let e=-1;for(;-1!==(e=t.data.indexOf(mt,e+1));)this.parts.push({type:"node",index:-1}),a++}}else i.currentNode=s.pop()}for(const t of n)t.parentNode.removeChild(t)}}const bt=(t,e)=>{const n=t.length-e.length;return n>=0&&t.slice(n)===e},St=t=>-1!==t.index,Et=()=>document.createComment(""),xt=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;class Pt{constructor(t,e,n){this.__parts=[],this.template=t,this.processor=e,this.options=n}update(t){let e=0;for(const n of this.__parts)void 0!==n&&n.setValue(t[e]),e++;for(const t of this.__parts)void 0!==t&&t.commit()}_clone(){const t=ht?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),e=[],n=this.template.parts,s=document.createTreeWalker(t,133,null,!1);let i,o=0,r=0,a=s.nextNode();for(;o<n.length;)if(i=n[o],St(i)){for(;r<i.index;)r++,"TEMPLATE"===a.nodeName&&(e.push(a),s.currentNode=a.content),null===(a=s.nextNode())&&(s.currentNode=e.pop(),a=s.nextNode());if("node"===i.type){const t=this.processor.handleTextExpression(this.options);t.insertAfterNode(a.previousSibling),this.__parts.push(t)}else this.__parts.push(...this.processor.handleAttributeExpressions(a,i.name,i.strings,this.options));o++}else this.__parts.push(void 0),o++;return ht&&(document.adoptNode(t),customElements.upgrade(t)),t}}const _t=window.trustedTypes&&trustedTypes.createPolicy("lit-html",{createHTML:t=>t}),kt=` ${mt} `;class Tt{constructor(t,e,n,s){this.strings=t,this.values=e,this.type=n,this.processor=s}getHTML(){const t=this.strings.length-1;let e="",n=!1;for(let s=0;s<t;s++){const t=this.strings[s],i=t.lastIndexOf("\x3c!--");n=(i>-1||n)&&-1===t.indexOf("--\x3e",i+1);const o=xt.exec(t);e+=null===o?t+(n?kt:gt):t.substr(0,o.index)+o[1]+o[2]+yt+o[3]+mt}return e+=this.strings[t],e}getTemplateElement(){const t=document.createElement("template");let e=this.getHTML();return void 0!==_t&&(e=_t.createHTML(e)),t.innerHTML=e,t}}class Ct extends Tt{getHTML(){return`<svg>${super.getHTML()}</svg>`}getTemplateElement(){const t=super.getTemplateElement(),e=t.content,n=e.firstChild;return e.removeChild(n),ut(e,n.firstChild),t}}const Ot=t=>null===t||!("object"==typeof t||"function"==typeof t),$t=t=>Array.isArray(t)||!(!t||!t[Symbol.iterator]);class Mt{constructor(t,e,n){this.dirty=!0,this.element=t,this.name=e,this.strings=n,this.parts=[];for(let t=0;t<n.length-1;t++)this.parts[t]=this._createPart()}_createPart(){return new Nt(this)}_getValue(){const t=this.strings,e=t.length-1,n=this.parts;if(1===e&&""===t[0]&&""===t[1]){const t=n[0].value;if("symbol"==typeof t)return String(t);if("string"==typeof t||!$t(t))return t}let s="";for(let i=0;i<e;i++){s+=t[i];const e=n[i];if(void 0!==e){const t=e.value;if(Ot(t)||!$t(t))s+="string"==typeof t?t:String(t);else for(const e of t)s+="string"==typeof e?e:String(e)}}return s+=t[e],s}commit(){this.dirty&&(this.dirty=!1,this.element.setAttribute(this.name,this._getValue()))}}class Nt{constructor(t){this.value=void 0,this.committer=t}setValue(t){t===pt||Ot(t)&&t===this.value||(this.value=t,lt(t)||(this.committer.dirty=!0))}commit(){for(;lt(this.value);){const t=this.value;this.value=pt,t(this)}this.value!==pt&&this.committer.commit()}}class Lt{constructor(t){this.value=void 0,this.__pendingValue=void 0,this.options=t}appendInto(t){this.startNode=t.appendChild(Et()),this.endNode=t.appendChild(Et())}insertAfterNode(t){this.startNode=t,this.endNode=t.nextSibling}appendIntoPart(t){t.__insert(this.startNode=Et()),t.__insert(this.endNode=Et())}insertAfterPart(t){t.__insert(this.startNode=Et()),this.endNode=t.endNode,t.endNode=this.startNode}setValue(t){this.__pendingValue=t}commit(){if(null===this.startNode.parentNode)return;for(;lt(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=pt,t(this)}const t=this.__pendingValue;t!==pt&&(Ot(t)?t!==this.value&&this.__commitText(t):t instanceof Tt?this.__commitTemplateResult(t):t instanceof Node?this.__commitNode(t):$t(t)?this.__commitIterable(t):t===ft?(this.value=ft,this.clear()):this.__commitText(t))}__insert(t){this.endNode.parentNode.insertBefore(t,this.endNode)}__commitNode(t){this.value!==t&&(this.clear(),this.__insert(t),this.value=t)}__commitText(t){const e=this.startNode.nextSibling,n="string"==typeof(t=null==t?"":t)?t:String(t);e===this.endNode.previousSibling&&3===e.nodeType?e.data=n:this.__commitNode(document.createTextNode(n)),this.value=t}__commitTemplateResult(t){const e=this.options.templateFactory(t);if(this.value instanceof Pt&&this.value.template===e)this.value.update(t.values);else{const n=new Pt(e,t.processor,this.options),s=n._clone();n.update(t.values),this.__commitNode(s),this.value=n}}__commitIterable(t){Array.isArray(this.value)||(this.value=[],this.clear());const e=this.value;let n,s=0;for(const i of t)n=e[s],void 0===n&&(n=new Lt(this.options),e.push(n),0===s?n.appendIntoPart(this):n.insertAfterPart(e[s-1])),n.setValue(i),n.commit(),s++;s<e.length&&(e.length=s,this.clear(n&&n.endNode))}clear(t=this.startNode){dt(this.startNode.parentNode,t.nextSibling,this.endNode)}}class jt{constructor(t,e,n){if(this.value=void 0,this.__pendingValue=void 0,2!==n.length||""!==n[0]||""!==n[1])throw new Error("Boolean attributes can only contain a single expression");this.element=t,this.name=e,this.strings=n}setValue(t){this.__pendingValue=t}commit(){for(;lt(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=pt,t(this)}if(this.__pendingValue===pt)return;const t=!!this.__pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=t),this.__pendingValue=pt}}class At extends Mt{constructor(t,e,n){super(t,e,n),this.single=2===n.length&&""===n[0]&&""===n[1]}_createPart(){return new Rt(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class Rt extends Nt{}let Ht=!1;(()=>{try{const t={get capture(){return Ht=!0,!1}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){}})();class Wt{constructor(t,e,n){this.value=void 0,this.__pendingValue=void 0,this.element=t,this.eventName=e,this.eventContext=n,this.__boundHandleEvent=t=>this.handleEvent(t)}setValue(t){this.__pendingValue=t}commit(){for(;lt(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=pt,t(this)}if(this.__pendingValue===pt)return;const t=this.__pendingValue,e=this.value,n=null==t||null!=e&&(t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive),s=null!=t&&(null==e||n);n&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),s&&(this.__options=Vt(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=pt}handleEvent(t){"function"==typeof this.value?this.value.call(this.eventContext||this.element,t):this.value.handleEvent(t)}}const Vt=t=>t&&(Ht?{capture:t.capture,passive:t.passive,once:t.once}:t.capture),Dt=new class{handleAttributeExpressions(t,e,n,s){const i=e[0];return"."===i?new At(t,e.slice(1),n).parts:"@"===i?[new Wt(t,e.slice(1),s.eventContext)]:"?"===i?[new jt(t,e.slice(1),n)]:new Mt(t,e,n).parts}handleTextExpression(t){return new Lt(t)}};function It(t){let e=qt.get(t.type);void 0===e&&(e={stringsArray:new WeakMap,keyString:new Map},qt.set(t.type,e));let n=e.stringsArray.get(t.strings);if(void 0!==n)return n;const s=t.strings.join(mt);return n=e.keyString.get(s),void 0===n&&(n=new wt(t,t.getTemplateElement()),e.keyString.set(s,n)),e.stringsArray.set(t.strings,n),n}const qt=new Map,Ut=new WeakMap,Gt=(t,e,n)=>{let s=Ut.get(e);void 0===s&&(dt(e,e.firstChild),Ut.set(e,s=new Lt(Object.assign({templateFactory:It},n))),s.appendInto(e)),s.setValue(t),s.commit()};"undefined"!=typeof window&&(window.litHtmlVersions||(window.litHtmlVersions=[])).push("1.4.1");const Bt=(t,...e)=>new Tt(t,e,"html",Dt),Ft=(t,...e)=>new Ct(t,e,"svg",Dt),zt=(t,e)=>{const n=t.startNode.parentNode,s=void 0===e?t.endNode:e.startNode,i=n.insertBefore(Et(),s);n.insertBefore(Et(),s);const o=new Lt(t.options);return o.insertAfterNode(i),o},Kt=(t,e)=>(t.setValue(e),t.commit(),t),Jt=(t,e,n)=>{const s=t.startNode.parentNode,i=n?n.startNode:t.endNode,o=e.endNode.nextSibling;o!==i&&ut(s,e.startNode,o,i)},Qt=t=>{dt(t.startNode.parentNode,t.startNode,t.endNode.nextSibling)},Zt=(t,e,n)=>{const s=new Map;for(let i=e;i<=n;i++)s.set(t[i],i);return s},Xt=new WeakMap,Yt=new WeakMap,te=ct(((t,e,n)=>{let s;return void 0===n?n=e:void 0!==e&&(s=e),e=>{if(!(e instanceof Lt))throw new Error("repeat can only be used in text bindings");const i=Xt.get(e)||[],o=Yt.get(e)||[],r=[],a=[],c=[];let l,h,u=0;for(const e of t)c[u]=s?s(e,u):u,a[u]=n(e,u),u++;let d=0,p=i.length-1,f=0,m=a.length-1;for(;d<=p&&f<=m;)if(null===i[d])d++;else if(null===i[p])p--;else if(o[d]===c[f])r[f]=Kt(i[d],a[f]),d++,f++;else if(o[p]===c[m])r[m]=Kt(i[p],a[m]),p--,m--;else if(o[d]===c[m])r[m]=Kt(i[d],a[m]),Jt(e,i[d],r[m+1]),d++,m--;else if(o[p]===c[f])r[f]=Kt(i[p],a[f]),Jt(e,i[p],i[d]),p--,f++;else if(void 0===l&&(l=Zt(c,f,m),h=Zt(o,d,p)),l.has(o[d]))if(l.has(o[p])){const t=h.get(c[f]),n=void 0!==t?i[t]:null;if(null===n){const t=zt(e,i[d]);Kt(t,a[f]),r[f]=t}else r[f]=Kt(n,a[f]),Jt(e,n,i[d]),i[t]=null;f++}else Qt(i[p]),p--;else Qt(i[d]),d++;for(;f<=m;){const t=zt(e,r[m+1]);Kt(t,a[f]),r[f++]=t}for(;d<=p;){const t=i[d++];null!==t&&Qt(t)}Xt.set(e,r),Yt.set(e,c)}})),ee=new WeakMap,ne=ct(((t,e)=>n=>{const s=ee.get(n);if(Array.isArray(t)){if(Array.isArray(s)&&s.length===t.length&&t.every(((t,e)=>t===s[e])))return}else if(s===t&&(void 0!==t||ee.has(n)))return;n.setValue(e()),ee.set(n,Array.isArray(t)?Array.from(t):t)})),se=new WeakMap,ie=ct((t=>e=>{const n=se.get(e);if(void 0===t&&e instanceof Nt){if(void 0!==n||!se.has(e)){const t=e.committer.name;e.committer.element.removeAttribute(t)}}else t!==n&&e.setValue(t);se.set(e,t)}));var oe,re,ae,ce,le,he,ue,de,pe,fe,me,ge,ve,ye,we,be,Se,Ee=function(t,e,n,s){if("a"===n&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?s:"a"===n?s.call(t):s?s.value:e.get(t)},xe=function(t,e,n,s,i){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?i.call(t,n):i?i.value=n:e.set(t,n),n};function Pe(){}function _e(t){"function"==typeof t&&t()}const ke=new y,Te=()=>{window.requestAnimationFrame((function t(e){if(performance.now()>e+16)return void Te();const n=ke.get();n&&(n(),t(e))}))};ke.addEventListener("start",Te);const Ce=Symbol("init"),Oe=Symbol("update");class $e extends HTMLElement{constructor({isAsync:t,isLight:e,delegatesFocus:n}={}){super(),oe.set(this,void 0),re.set(this,void 0),ae.set(this,void 0),ce.set(this,void 0),le.set(this,void 0),he.set(this,void 0),ue.set(this,void 0),this.setState=t=>{if(!this.state)throw new N("`state` not initialized");Object.assign(this.state,t),p(Ee(this,we,"f"))},de.set(this,(t=>{null==t||t.forEach((t=>{const{callback:e,getDep:n,values:s,preCallback:i}=t,o=null==n?void 0:n();n&&!L(s,o)||(_e(i),t.preCallback=e(o,s),t.values=o)}))})),pe.set(this,(()=>{Ee(this,de,"f").call(this,Ee(this,le,"f"))})),fe.set(this,(()=>{Ee(this,de,"f").call(this,Ee(this,he,"f"))})),this.effect=(t,e)=>{Ee(this,le,"f")||xe(this,le,[],"f");const n=null==e?void 0:e(),s={callback:t,getDep:e,values:n,initialized:!!this.isConnected};this.isConnected&&(s.preCallback=t(n)),Ee(this,le,"f").push(s)},this.memo=(t,e)=>{Ee(this,he,"f")||xe(this,he,[],"f"),Ee(this,he,"f").push({callback:t,getDep:e,values:[Symbol()],initialized:this.isConnected})},me.set(this,(()=>{var t;null===(t=Ee(this,le,"f"))||void 0===t||t.forEach((t=>{const{callback:e,getDep:n,initialized:s}=t;s||(t.preCallback=e(null==n?void 0:n()),t.initialized=!0)}))})),ge.set(this,(()=>(Ee(this,fe,"f").call(this),this.render?this.render():Ee(this,oe,"f")===this?void 0:Bt`<slot></slot>`))),ve.set(this,(()=>!this.shouldUpdate||this.shouldUpdate())),ye.set(this,(()=>{if(this.isConnected&&Ee(this,ve,"f").call(this)){const t=Ee(this,ge,"f").call(this);void 0!==t&&Gt(t,Ee(this,oe,"f")),p(Ee(this,be,"f")),p(Ee(this,pe,"f"))}})),we.set(this,(()=>{Ee(this,ce,"f")?ke.add(Ee(this,ye,"f")):Ee(this,ye,"f").call(this)})),this.update=()=>{p(Ee(this,we,"f"))},be.set(this,(()=>{var t;null===(t=this.updated)||void 0===t||t.call(this)})),Se.set(this,(()=>{var t,e,n;if(Ee(this,ae,"f"))return void xe(this,ae,!1,"f");null===(t=this.willMount)||void 0===t||t.call(this);const{observedStores:s,rootElement:i}=this.constructor;null==s||s.forEach((t=>{q(t,Ee(this,we,"f"))}));const o=Ee(this,ge,"f").call(this);if(void 0!==o&&Gt(o,Ee(this,oe,"f")),xe(this,ue,null===(e=this.mounted)||void 0===e?void 0:e.call(this),"f"),Ee(this,me,"f").call(this),i&&(null===(n=this.getRootNode().host)||void 0===n?void 0:n.tagName)!==i.toUpperCase())throw new N("not allow current root type")})),p((()=>this[Ce]=!1)),this[Ce]=!0,this[Oe]=()=>{this.isConnected&&p(Ee(this,we,"f"))},xe(this,ce,t,"f"),xe(this,oe,e?this:this.attachShadow({mode:"open",delegatesFocus:n}),"f");const{adoptedStyleSheets:s}=new.target;if(s){const t=s.map((t=>t[x]||t));this.shadowRoot?this.shadowRoot.adoptedStyleSheets=t:this.effect((()=>{const e=this.getRootNode();return e.adoptedStyleSheets=[...e.adoptedStyleSheets,...t],()=>{e.adoptedStyleSheets=j(e.adoptedStyleSheets,t)}}),(()=>[]))}}get internals(){if(!Ee(this,re,"f")){const t=()=>{const{classList:t}=this;return{has:e=>t.contains(e),add:e=>t.add(e),delete:e=>t.remove(e)}};this.attachInternals||(this.attachInternals=()=>({states:t()})),xe(this,re,this.attachInternals(),"f"),Ee(this,re,"f").states||(Ee(this,re,"f").states=t())}return Ee(this,re,"f")}attributeChangedCallback(){this.isConnected&&p(Ee(this,we,"f"))}closestElement(t){const e="function"==typeof t,n="string"==typeof t&&t.toUpperCase(),s=i=>{const o=i.parentElement||i.getRootNode().host;if(!o)return null;if(e){if(o.constructor===t)return o}else if(o.tagName===n)return o;return s(o)};return s(this)}connectedCallback(){Ee(this,ce,"f")?ke.add(Ee(this,Se,"f")):Ee(this,Se,"f").call(this)}disconnectedCallback(){var t,e,n;if(this.isConnected)return void xe(this,ae,!0,"f");const{observedStores:s}=this.constructor;null==s||s.forEach((t=>{U(t,Ee(this,we,"f"))})),_e(Ee(this,ue,"f")),null===(t=this.unmounted)||void 0===t||t.call(this),null===(e=Ee(this,le,"f"))||void 0===e||e.forEach((t=>{_e(t.preCallback)})),xe(this,he,null===(n=Ee(this,he,"f"))||void 0===n?void 0:n.filter((({initialized:t})=>!t)),"f")}}oe=new WeakMap,re=new WeakMap,ae=new WeakMap,ce=new WeakMap,le=new WeakMap,he=new WeakMap,ue=new WeakMap,de=new WeakMap,pe=new WeakMap,fe=new WeakMap,me=new WeakMap,ge=new WeakMap,ve=new WeakMap,ye=new WeakMap,we=new WeakMap,be=new WeakMap,Se=new WeakMap;const Me=new w;function Ne(t,e,n){const{booleanAttributes:s,numberAttributes:i}=t.constructor;Object.defineProperty(t,e,{configurable:!0,get(){if(!(Ce in this))return;const t=this.getAttribute(n);return(null==s?void 0:s.has(n))?null!==t:(null==i?void 0:i.has(n))?Number(t):t||""},set(t){const i=this,o=Me.get(this),r=o[e],a=i.getAttribute(n);if(this[Ce]&&null!==a&&!r)return;o[e]=!0;const c=null==s?void 0:s.has(n);null==t?i.removeAttribute(n):c?i.toggleAttribute(n,!!t):a!==String(t)&&i.setAttribute(n,String(t))}})}const Le=Symbol("event handle");function je(t,e,n,s){Object.defineProperty(t,e,{configurable:!0,get(){const t=Me.get(this)[e];return t||!n?t:(this[e]=Pe,this[e])},set(t){const i=this,o=Me.get(i);t!==o[e]&&(n?(o[e]=(null==t?void 0:t[Le])?t:(e,o)=>{const r=new CustomEvent(n,Object.assign(Object.assign(Object.assign({},o),s),{detail:e}));i.dispatchEvent(r),t(e,o)},o[e][Le]=!0):(o[e]=t,this[Oe]()))}})}function Ae(t,e,n){Object.defineProperty(t,e,{configurable:!0,get(){const t=Me.get(this);let s=t[e];if(!s){const i=this,o=i.shadowRoot||i;s={get ref(){return n},get element(){const t=[...o.querySelectorAll("gem-reflect")].map((t=>t.target));for(const e of[o,...t]){const t=e.querySelector(`[ref=${n}]`);if(t)return t}}},t[e]=s}return s}})}function Re(t,e,n){Object.defineProperty(t,e,{configurable:!0,get(){var t;const{states:e}=this.internals;return null===(t=e.has)||void 0===t?void 0:t.call(e,n)},set(t){const{states:e}=this.internals;t?e.add(n):e.delete(n)}})}const He=customElements.define.bind(customElements);function We(t,e,n,s=!1){const i=t.constructor,o=i[e];i.hasOwnProperty(e)||Object.defineProperty(i,e,{value:s?new Set(o):o?Array.from(o):[]}),i[e][s?"add":"push"](n)}function Ve(t,e){const n=`${O(e)}-${_()}`;We(t,"defineRefs",n),Ae(t,e,n)}function De(t,e,n){We(t,"observedAttributes",n),Ne(t,e,n)}function Ie(t,e){De(t,e,O(e))}function qe(t,e){const n=O(e);We(t,"booleanAttributes",n,!0),De(t,e,n)}function Ue(t,e){const n=O(e);We(t,"numberAttributes",n,!0),De(t,e,n)}function Ge(t,e){We(t,"observedPropertys",e),je(t,e)}function Be(t,e){const n=O(e);We(t,"defineCSSStates",n),Re(t,e,`--${n}`)}function Fe(t,e){const n=O(t[e]||e);t[e]=n,We(t instanceof $e?t:t.prototype,"defineSlots",n)}function ze(t,e){const n=O(t[e]||e);t[e]=n,We(t instanceof $e?t:t.prototype,"defineParts",n)}function Ke(t,e){Qe(t,e)}function Je(t,e){Qe(t,e,{bubbles:!0,composed:!0})}function Qe(t,e,n){const s=O(e);We(t,"defineEvents",s),je(t,e,s,n)}function Ze(t){return function(e){We(e.prototype,"adoptedStyleSheets",t)}}function Xe(t){return function(e){We(e.prototype,"observedStores",t)}}function Ye(t){return function(e){e.rootElement=t}}function tn(t){return function(e){He(t,e)}}customElements.define=(t,e,n)=>{if(e.prototype instanceof $e){const{observedAttributes:t,observedPropertys:n,defineEvents:s,defineCSSStates:i,defineRefs:o}=e;null==t||t.forEach((t=>Ne(e.prototype,$(t),t))),null==n||n.forEach((t=>je(e.prototype,t))),null==s||s.forEach((t=>je(e.prototype,$(t),t))),null==i||i.forEach((t=>Re(e.prototype,$(t),`--${t}`))),null==o||o.forEach((t=>Ae(e.prototype,$(t),t)))}He(t,e,n)};const en="1.5.5";window.__GEM_DEVTOOLS__HOOK__&&Object.assign(window.__GEM_DEVTOOLS__HOOK__,Object.assign({},n));var nn,sn,on,rn,an=function(t,e,n,s){var i,o=arguments.length,r=o<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,n):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,n,s);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(r=(o<3?i(r):o>3?i(e,n,r):i(e,n))||r);return o>3&&r&&Object.defineProperty(e,n,r),r},cn=function(t,e,n,s,i){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?i.call(t,n):i?i.value=n:e.set(t,n),n},ln=function(t,e,n,s){if("a"===n&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?s:"a"===n?s.call(t):s?s.value:e.get(t)};class hn extends RegExp{constructor(t){const e={};let n=0;super(`^${t.replace(/:([^/$]+)/g,((t,s)=>(e[s]=n++,"([^/]+)"))).replace("*",".*")}$`,"i"),this.namePosition=e}}function un(t,e){const n=new hn(t),s=e.match(n)||`${e}/`.match(n);if(!s)return null;const i={};return s&&Object.keys(n.namePosition).forEach((t=>{i[t]=s[n.namePosition[t]+1]})),i}function dn(t,e){let n=t.pattern;const s=null==e?void 0:e.params;return s&&Object.keys(s).forEach((t=>{n=n.replace(new RegExp(`:${t}`,"g"),s[t])})),n}function pn(t,e){const n=dn(t,e);return Object.assign({path:n},e)}let fn=rn=class extends $e{constructor({isLight:t,routes:e}={}){super({isLight:t}),this.currentParams={},nn.set(this,void 0),this.state={content:void 0},sn.set(this,(()=>{if(this.locationStore){const{path:t,query:e,data:n}=G.getParams();I(this.locationStore,{path:t,params:this.currentParams,query:e,data:n})}})),on.set(this,((t,e,n)=>{cn(this,nn,void 0,"f"),this.currentRoute=t,this.currentParams=e,this.setState({content:n}),this.routeChange(this.currentRoute);const s=null==t?void 0:t.title;s&&I(ot,{title:s}),ln(this,sn,"f").call(this)})),this.routes=e}mounted(){this.effect((([t,e],n)=>{if(n&&t===n[0]&&e===n[1])return void ln(this,sn,"f").call(this);const{route:s,params:i={}}=rn.findRoute(this.routes,e),{redirect:o,content:r,getContent:a}=s||{};if(o)return void G.replace({path:o});const c=r||(null==a?void 0:a(i));if(c instanceof Promise){this.loading(s),cn(this,nn,c,"f");const t=()=>ln(this,nn,"f")===c;c.then((e=>{t()&&ln(this,on,"f").call(this,s,i,e)})).catch((e=>{t()&&this.error(e)}))}else ln(this,on,"f").call(this,s,i,c)}),(()=>{const{path:t}=G.getParams();return[this.key,t,location.search]}))}shouldUpdate(){return!this.inert}render(){const{content:t}=this.state;return this.shadowRoot?Bt`
|
|
3
3
|
<style>
|
|
4
4
|
:host,
|
|
5
5
|
:not(:defined) {
|
|
6
6
|
display: contents;
|
|
7
7
|
}
|
|
8
8
|
</style>
|
|
9
|
-
${null!=t?t:
|
|
10
|
-
`:
|
|
9
|
+
${null!=t?t:Bt`<slot></slot>`}
|
|
10
|
+
`:Bt`${t}`}};nn=new WeakMap,sn=new WeakMap,on=new WeakMap,fn.createLocationStore=()=>{const{path:t,query:e,data:n}=G.getParams();return V({path:t,query:e,data:n,params:{}})},fn.findRoute=(t=[],e)=>{let n,s=null;n=t instanceof Array?t:Object.values(t);for(const t of n)if("*"===t.pattern)s=t;else{const n=un(t.pattern,e);if(n)return{route:t,params:n}}return{route:s}},an([Ge],fn.prototype,"routes",void 0),an([Ge],fn.prototype,"locationStore",void 0),an([Ge],fn.prototype,"key",void 0),an([Ke],fn.prototype,"routeChange",void 0),an([Ke],fn.prototype,"loading",void 0),an([Ke],fn.prototype,"error",void 0),fn=rn=an([Xe(G.store),tn("gem-route")],fn);let mn=class extends fn{constructor(t={}){super(Object.assign(Object.assign({},t),{isLight:!0}))}};mn=an([tn("gem-light-route")],mn);var gn=function(t,e,n,s){var i,o=arguments.length,r=o<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,n):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,n,s);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(r=(o<3?i(r):o>3?i(e,n,r):i(e,n))||r);return o>3&&r&&Object.defineProperty(e,n,r),r};let vn=class extends $e{constructor(){super(),this.clickHandle=t=>{return e=this,n=void 0,i=function*(){var e;const n=this.getPathInfo();if(!n)return;if(this.isExternal(n))switch(this.target){case"_self":return void(window.location.href=n);case"_parent":return void(window.parent.location.href=n);case"_top":return void(window.top.location.href=n);default:return void window.open(n)}const{path:s,query:i,hash:o}=G.getParams();if(s+i+o!==n)if(t.stopPropagation(),yield null===(e=this.prepare)||void 0===e?void 0:e.call(this),this.route)G.pushIgnoreCloseHandle(Object.assign(Object.assign({},pn(this.route,this.options)),{title:this.route.title||this.docTitle}));else if(this.href){const{pathname:t,search:e,hash:s}=new URL(n,location.origin);G.pushIgnoreCloseHandle({path:t,query:e,hash:decodeURIComponent(s),title:this.docTitle})}else G.pushIgnoreCloseHandle({path:this.path,query:this.query,hash:this.hash,title:this.docTitle})},new((s=void 0)||(s=Promise))((function(t,o){function r(t){try{c(i.next(t))}catch(t){o(t)}}function a(t){try{c(i.throw(t))}catch(t){o(t)}}function c(e){var n;e.done?t(e.value):(n=e.value,n instanceof s?n:new s((function(t){t(n)}))).then(r,a)}c((i=i.apply(e,n||[])).next())}));var e,n,s,i},this.preventDefault=t=>{t.preventDefault()},this.addEventListener("click",this.clickHandle)}getPathInfo(){var t,e;if(this.route){const n=(null===(t=this.options)||void 0===t?void 0:t.query)||"",s=(null===(e=this.options)||void 0===e?void 0:e.hash)||"";return dn(this.route,this.options)+n+s}{const t=this.href||this.path+this.query+this.hash,{path:e,query:n}=G.getParams();return t.startsWith("#")?`${e}${n}${t}`:t.startsWith("?")?`${e}${t}`:t.startsWith(".")?v(e,t):t}}isExternal(t){return!t.startsWith("/")}render(t=this.getPathInfo()){return Bt`
|
|
11
11
|
<style>
|
|
12
12
|
:host {
|
|
13
13
|
/* link default style */
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
<a
|
|
27
27
|
part=${this.link}
|
|
28
28
|
@click=${this.preventDefault}
|
|
29
|
-
href=${
|
|
29
|
+
href=${ie("off"===this.hint?void 0:this.isExternal(t)?t:new URL(G.basePath+t,location.origin).toString())}
|
|
30
30
|
>
|
|
31
31
|
<slot></slot>
|
|
32
32
|
</a>
|
|
33
|
-
`}};
|
|
33
|
+
`}};gn([Ie],vn.prototype,"href",void 0),gn([Ie],vn.prototype,"target",void 0),gn([Ie],vn.prototype,"path",void 0),gn([Ie],vn.prototype,"query",void 0),gn([Ie],vn.prototype,"hash",void 0),gn([Ie],vn.prototype,"docTitle",void 0),gn([Ie],vn.prototype,"hint",void 0),gn([Ge],vn.prototype,"route",void 0),gn([Ge],vn.prototype,"options",void 0),gn([Ge],vn.prototype,"prepare",void 0),gn([ze],vn.prototype,"link",void 0),vn=gn([tn("gem-link"),Xe(it)],vn);let yn=class extends vn{render(){const{path:t,query:e,hash:n}=G.getParams(),s=this.pattern&&un(this.pattern,t),i=this.getPathInfo();return this.active=!(!s&&t+e+n!==i),super.render(i)}};gn([Ie],yn.prototype,"pattern",void 0),gn([Be],yn.prototype,"active",void 0),yn=gn([tn("gem-active-link"),Xe(G.store)],yn);var wn,bn=function(t,e,n,s){var i,o=arguments.length,r=o<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,n):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,n,s);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(r=(o<3?i(r):o>3?i(e,n,r):i(e,n))||r);return o>3&&r&&Object.defineProperty(e,n,r),r};let Sn=wn=class extends $e{constructor(){super(),new MutationObserver((()=>this.update())).observe(this,{childList:!0,characterData:!0,subtree:!0})}static setTitle(t){I(ot,{title:t})}static updateTitle(t="",e=""){const{title:n}=ot;n&&n!==wn.defaultTitle?(wn.title=n,document.title=wn.title+e):t?(wn.title=t,document.title=wn.title+e):(wn.title=wn.defaultTitle,document.title=wn.title)}render(){return wn.updateTitle(this.textContent||"",this.suffix),this.hidden?Bt``:Bt`${wn.title}`}};Sn.title=document.title,Sn.defaultTitle=document.title,Sn.defaultSuffix=` - ${document.title}`,bn([Ie],Sn.prototype,"suffix",void 0),Sn=wn=bn([Xe(ot),tn("gem-title")],Sn),q(ot,Sn.updateTitle);var En=function(t,e,n,s){var i,o=arguments.length,r=o<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,n):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,n,s);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(r=(o<3?i(r):o>3?i(e,n,r):i(e,n))||r);return o>3&&r&&Object.defineProperty(e,n,r),r};const xn=new Map;let Pn=class extends $e{getContent(){const t=this.element||(this.selector?(this.root||document).querySelector(this.selector):null);if("string"==typeof t){let e=xn.get(t);return e||(e=document.createElement("template"),e.innerHTML=t,xn.set(t,e)),e.content.cloneNode(!0)}return t instanceof HTMLTemplateElement?t.content.cloneNode(!0):null==t?void 0:t.cloneNode(!0)}render(){return Bt`
|
|
34
34
|
<style>
|
|
35
35
|
:host {
|
|
36
36
|
position: relative;
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
</style>
|
|
47
47
|
${this.getContent()}
|
|
48
48
|
<slot></slot>
|
|
49
|
-
`}};gn([Ae],yn.prototype,"selector",void 0),gn([We],yn.prototype,"root",void 0),gn([We],yn.prototype,"element",void 0),yn=gn([ze("gem-use")],yn);var wn=function(t,e,n,s){var i,o=arguments.length,r=o<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,n):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,n,s);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(r=(o<3?i(r):o>3?i(e,n,r):i(e,n))||r);return o>3&&r&&Object.defineProperty(e,n,r),r};let bn=class extends _e{constructor(){super(),this.effect((()=>{this.shadowRoot&&(this.shadowRoot.innerHTML=`\n <style>\n :host {\n display: contents;\n }\n ${this.contentcss}\n </style>\n ${this.content}\n `)}),(()=>[this.content,this.contentcss]))}render(){}};wn([Ae],bn.prototype,"content",void 0),wn([Ae],bn.prototype,"contentcss",void 0),bn=wn([ze("gem-unsafe")],bn);var Sn=function(t,e,n,s){var i,o=arguments.length,r=o<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,n):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,n,s);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(r=(o<3?i(r):o>3?i(e,n,r):i(e,n))||r);return o>3&&r&&Object.defineProperty(e,n,r),r};document.querySelectorAll("[data-reflect]").forEach((t=>t.remove()));let En=class extends _e{constructor(){super({isLight:!0}),this.target=document.head,this.hidden=!0,this.effect((()=>{const t=[...this.childNodes];return t.forEach((t=>{t instanceof HTMLElement&&(t.dataset.reflect=""),this.target.append(t)})),()=>{t.forEach((t=>t.remove()))}}),(()=>[this.target]))}};Sn([We],En.prototype,"target",void 0),En=Sn([ze("gem-reflect")],En);const xn=Symbol("open mark");function _n(t){var e;return(e=class extends _e{constructor(){super(),this.label="",this.internals.role="alertdialog",this.internals.ariaModal=!0}static get isOpen(){return this.store[xn]}static get observedStores(){return[W.store,this.store]}static open(t){const e=new this;this.instance=e,this.inertStore=[...document.body.children].filter((t=>!t.inert)),this.inertStore.forEach((t=>t.inert=!0)),document.body.append(e);const n=()=>A(this.store,Object.assign({[xn]:!0},t));setTimeout((()=>{n(),W.push({title:e.label,open:n,close:this.closeHandle.bind(this),shouldClose:this.shouldClose.bind(this)})}),100)}static close(){W.back()}static closeHandle(){var e;this.inertStore.forEach((t=>t.inert=!1)),null===(e=this.instance)||void 0===e||e.remove(),A(this.store,Object.assign({[xn]:!1},t))}static shouldClose(){return!0}}).inertStore=[],e.instance=null,e.store=L(Object.assign({[xn]:!1},t)),e}var Pn,kn,On,Tn=function(t,e,n,s){var i,o=arguments.length,r=o<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,n):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,n,s);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(r=(o<3?i(r):o>3?i(e,n,r):i(e,n))||r);return o>3&&r&&Object.defineProperty(e,n,r),r},Cn=function(t,e,n,s){if("a"===n&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?s:"a"===n?s.call(t):s?s.value:e.get(t)},$n=function(t,e,n,s,i){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?i.call(t,n):i?i.value=n:e.set(t,n),n};let Mn=class extends _e{constructor(){super(),this.opened=!1,this.inert=!0,Pn.set(this,void 0),kn.set(this,void 0),On.set(this,[]),this.label="",this.closeHandle=()=>{var t;this.inert=!0,Cn(this,On,"f").forEach((t=>t.inert=!1)),Cn(this,Pn,"f")?Cn(this,Pn,"f").before(this):Cn(this,kn,"f")&&(null===(t=Cn(this,kn,"f"))||void 0===t||t.appendChild(this)),this.dispatchEvent(new CustomEvent("close")),this.opened=!1},this.openHandle=()=>{this.hidden=!1,this.inert=!1,$n(this,Pn,this.nextSibling,"f"),$n(this,kn,this.parentElement||this.getRootNode(),"f"),$n(this,On,[...document.body.children].filter((t=>!t.inert)),"f"),Cn(this,On,"f").forEach((t=>t.inert=!0)),document.body.append(this),this.dispatchEvent(new CustomEvent("open")),this.opened=!0},this.open=()=>{this.opened||(this.openHandle(),W.push({title:this.label,open:this.openHandle,close:this.closeHandle,shouldClose:this.shouldClose}))},this.close=()=>{W.back()},this.forceClose=()=>{this.opened=!1,setTimeout(this.close,100)},this.internals.role="dialog",this.internals.ariaModal=!0}shouldClose(){return!0}};Pn=new WeakMap,kn=new WeakMap,On=new WeakMap,Tn([Ie],Mn.prototype,"opened",void 0),Tn([Ae],Mn.prototype,"label",void 0),Mn=Tn([Fe(W.store)],Mn);const Nn=new WeakMap;function Ln(t){return Nn.get(t)}const jn=new WeakMap;function An(t){return jn.get(t)}function Rn(t){const e=w(),n=document.createElement("style"),s=L(t),i={},o={};jn.set(i,o),Nn.set(i,s),Object.keys(s).forEach((t=>{o[t]=`--${x(t)}-${e}`,i[t]=`var(${o[t]})`}));const r=()=>function(t,e){const n=Nn.get(e),s=jn.get(e),i=Object.keys(n).reduce(((t,e)=>n[e]?t+`${s[e]}:${n[e]};`:t),"");t.textContent=`:root, :host {${i}}`}(n,i);return R(s,r),r(),(document.head||document.documentElement).append(n),i}function Hn(t,e){A(Ln(t),e)}var Wn=function(t,e,n,s){return new(n||(n=Promise))((function(i,o){function r(t){try{l(s.next(t))}catch(t){o(t)}}function a(t){try{l(s.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(r,a)}l((s=s.apply(t,e||[])).next())}))};const In=/\$\d(?:<[^>]*>)?/,Vn=/\$(\d)(<([^>]*)>)?/g;class Dn{constructor(t){if(this.cachePrefix="gem-i18n",!t.resources[t.fallbackLanguage])throw new k("i18n: fallbackLanguage invalid");this.store=L(this),Object.assign(this,t);let e=this.urlParamsLang||this.currentLanguage||this.cacheLang;const n=document.querySelector(`[type*=${this.cachePrefix}]`);if(n)try{const t=JSON.parse(n.textContent||"");e=t.currentLanguage,this.resources[t.currentLanguage]=t.currentLanguagePack}catch(t){}e?(this.lang=e,this.setLanguage(e)):this.resetLanguage()}get cacheCurrentKey(){return`${this.cachePrefix}:current`}get urlParamsLang(){const{hostname:t,pathname:e,search:n}=location,s=t.split(".");switch(this.urlParamsType){case"ccTLD":return s.pop();case"gTLD":return s.shift();case"path":return e.split("/")[1];default:const t=this.urlParamsName&&new URLSearchParams(n).get(this.urlParamsName)||"";return t in this.resources?t:""}}get cacheLang(){return this.cache&&localStorage.getItem(this.cacheCurrentKey)||""}set lang(t){var e;this.currentLanguage=t,document.documentElement.lang=t,null===(e=this.onChange)||void 0===e||e.call(this,t)}get(t,...e){const n=this.resources[this.currentLanguage],s=this.resources[this.fallbackLanguage],i=n[t]||s[t],o=(null==i?void 0:i.message)||i||`[${t}]`;if(!e.length)return o;const r=o.split(In),a=[];let l;for(;l=Vn.exec(o);){const t=l[3],n=e[Number(l[1])-1];a.push("string"==typeof n?n:n(t))}return It(r,...a)}detectLanguage(){const t=Object.keys(this.resources),e=navigator.languages.map((t=>t.replace(/-(.*)/,(t=>t.toUpperCase()))));for(const n of e){const e=t.find((t=>t===n||n.startsWith(`${t}-`)));if(e)return e}return this.fallbackLanguage}setLanguage(t){return Wn(this,void 0,void 0,(function*(){let e;const n=this.resources[t];if(!n)return console.warn(`i18n: not found \`${t}\``),this.resetLanguage();if("string"==typeof n){const t=`${this.cachePrefix}:`,s=`${t}${n}`,i=localStorage.getItem(s),o=()=>Wn(this,void 0,void 0,(function*(){const e=yield(yield fetch(n)).json();if(this.cache){for(let e=0;e<localStorage.length;e++){const n=localStorage.key(e);n.startsWith(t)&&localStorage.removeItem(n)}localStorage.setItem(s,JSON.stringify(e))}return e}));if(i)try{e=JSON.parse(i)}catch(t){e=yield o()}else e=yield o()}else e=n;return this.resources[t]=e,A(this.store,{}),t!==this.currentLanguage&&(this.lang=t),!0===this.cache&&this.setCache(),t}))}resetLanguage(){return this.lang=this.fallbackLanguage,this.cache&&localStorage.removeItem(this.cacheCurrentKey),this.setLanguage(this.detectLanguage())}setCache(){localStorage.setItem(this.cacheCurrentKey,this.currentLanguage)}toJSON(){return{currentLanguage:this.currentLanguage,currentLanguagePack:this.resources[this.currentLanguage]}}}const qn={credentials:"include",mode:"cors"};function Un(t,e={}){return n=this,s=void 0,o=function*(){const n=yield fetch(t,Object.assign(Object.assign({},qn),e));if(0===n.status)throw new Error("Request fail");if(n.status>=500)throw new Error(n.statusText);if(n.status>=400)throw new Error((yield n.text())||n.statusText);return yield n.json()},new((i=void 0)||(i=Promise))((function(t,e){function r(t){try{l(o.next(t))}catch(t){e(t)}}function a(t){try{l(o.throw(t))}catch(t){e(t)}}function l(e){var n;e.done?t(e.value):(n=e.value,n instanceof i?n:new i((function(t){t(n)}))).then(r,a)}l((o=o.apply(n,s||[])).next())}));var n,s,i,o}const Gn=Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array));function Bn(t){return t instanceof FormData||t instanceof Blob||t instanceof Gn||t instanceof URLSearchParams||t instanceof ReadableStream||t instanceof ArrayBuffer?t:"object"==typeof t?JSON.stringify(t):t}function Fn(t,e){const{origin:n,pathname:s,search:i}=new URL(t,location.origin),o=new URLSearchParams(e).toString();return Un(`${n}${s}${i?`${i}&`:o?"?":""}${o}`,{method:"GET"})}function Kn(t){return Un(t,{method:"DELETE"})}function zn(t,e){return Un(t,{method:"PUT",body:Bn(e)})}function Jn(t,e){return Un(t,{method:"POST",body:Bn(e)})}const Qn={PRINT:"print",get isPrint(){return window.matchMedia(this.PRINT).matches},HOVER:"(hover: hover)",get isHover(){return window.matchMedia(this.HOVER).matches},PHONE:"(min-width: 319px) and (max-width: 480px)",get isPhone(){return window.matchMedia(this.PHONE).matches},LAPTOP:"(min-width: 1023px) and (max-width: 1280px) and (orientation: landscape)",get isLaptop(){return window.matchMedia(this.LAPTOP).matches},DESKTOP:"(min-width: 1279px) and (orientation: landscape)",get isDesktop(){return window.matchMedia(this.DESKTOP).matches},PHONE_LANDSCAPE:"(min-width: 479px) and (max-width: 767px) and (orientation: landscape)",get isPhoneLandscape(){return window.matchMedia(this.PHONE_LANDSCAPE).matches},TABLET:"(min-width: 768px) and (max-width: 1024px)",get isTablet(){return window.matchMedia(this.TABLET).matches},SMALL_PHONE:"(min-width: 319px) and (max-width: 480px) and (max-height: 640px)",get isSmallPhone(){return window.matchMedia(this.SMALL_PHONE).matches},WATCH:"(max-width: 319px)",get isWatch(){return window.matchMedia(this.WATCH).matches},SHORT:"(min-width: 479px) and (max-height: 320px)",get isShort(){return window.matchMedia(this.SHORT).matches},PWA:"(display-mode: standalone)",get isPWA(){return window.matchMedia(this.PWA).matches},MOTION_REDUCE:"(prefers-reduced-motion: reduce)",get isMotionReduce(){return window.matchMedia(this.MOTION_REDUCE).matches},DATA_REDUCE:"(prefers-reduced-data: reduce)",get isDataReduce(){return window.matchMedia(this.DATA_REDUCE).matches}};return e})()}));
|
|
49
|
+
`}};En([Ie],Pn.prototype,"selector",void 0),En([Ge],Pn.prototype,"root",void 0),En([Ge],Pn.prototype,"element",void 0),En([Be],Pn.prototype,"active",void 0),Pn=En([tn("gem-use")],Pn);var _n=function(t,e,n,s){var i,o=arguments.length,r=o<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,n):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,n,s);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(r=(o<3?i(r):o>3?i(e,n,r):i(e,n))||r);return o>3&&r&&Object.defineProperty(e,n,r),r};let kn=class extends $e{constructor(){super(),this.effect((()=>{this.shadowRoot&&(this.shadowRoot.innerHTML=`\n <style>\n :host {\n display: contents;\n }\n ${this.contentcss}\n </style>\n ${this.content}\n `)}),(()=>[this.content,this.contentcss]))}render(){}};_n([Ie],kn.prototype,"content",void 0),_n([Ie],kn.prototype,"contentcss",void 0),kn=_n([tn("gem-unsafe")],kn);var Tn=function(t,e,n,s){var i,o=arguments.length,r=o<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,n):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,n,s);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(r=(o<3?i(r):o>3?i(e,n,r):i(e,n))||r);return o>3&&r&&Object.defineProperty(e,n,r),r};document.querySelectorAll("[data-reflect]").forEach((t=>t.remove()));let Cn=class extends $e{constructor(){super({isLight:!0}),this.target=document.head,this.hidden=!0,this.effect((()=>{const t=[...this.childNodes];return t.forEach((t=>{t instanceof HTMLElement&&(t.dataset.reflect=""),this.target.append(t)})),()=>{t.forEach((t=>t.remove()))}}),(()=>[this.target]))}};Tn([Ge],Cn.prototype,"target",void 0),Cn=Tn([tn("gem-reflect")],Cn);const On=Symbol("open mark");function $n(t){var e;return(e=class extends $e{constructor(){super(),this.label="",this.internals.role="alertdialog",this.internals.ariaModal="true"}static get isOpen(){return this.store[On]}static get observedStores(){return[G.store,this.store]}static open(t){const e=new this;this.instance=e,this.inertStore=[...document.body.children].filter((t=>!t.inert)),this.inertStore.forEach((t=>t.inert=!0)),document.body.append(e);const n=()=>I(this.store,Object.assign({[On]:!0},t));setTimeout((()=>{n(),G.push({title:e.label,open:n,close:this.closeHandle.bind(this),shouldClose:this.shouldClose.bind(this)})}),100)}static close(){G.back()}static closeHandle(){var e;this.inertStore.forEach((t=>t.inert=!1)),null===(e=this.instance)||void 0===e||e.remove(),I(this.store,Object.assign({[On]:!1},t))}static shouldClose(){return!0}}).inertStore=[],e.instance=null,e.store=V(Object.assign({[On]:!1},t)),e}var Mn,Nn,Ln,jn=function(t,e,n,s){var i,o=arguments.length,r=o<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,n):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,n,s);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(r=(o<3?i(r):o>3?i(e,n,r):i(e,n))||r);return o>3&&r&&Object.defineProperty(e,n,r),r},An=function(t,e,n,s){if("a"===n&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?s:"a"===n?s.call(t):s?s.value:e.get(t)},Rn=function(t,e,n,s,i){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?i.call(t,n):i?i.value=n:e.set(t,n),n};let Hn=class extends $e{constructor(){super(),this.opened=!1,this.inert=!0,Mn.set(this,void 0),Nn.set(this,void 0),Ln.set(this,[]),this.label="",this.closeHandle=()=>{var t;this.inert=!0,An(this,Ln,"f").forEach((t=>t.inert=!1)),An(this,Mn,"f")?An(this,Mn,"f").before(this):An(this,Nn,"f")&&(null===(t=An(this,Nn,"f"))||void 0===t||t.appendChild(this)),this.dispatchEvent(new CustomEvent("close")),this.opened=!1},this.openHandle=()=>{this.hidden=!1,this.inert=!1,Rn(this,Mn,this.nextSibling,"f"),Rn(this,Nn,this.parentElement||this.getRootNode(),"f"),Rn(this,Ln,[...document.body.children].filter((t=>!t.inert)),"f"),An(this,Ln,"f").forEach((t=>t.inert=!0)),document.body.append(this),this.dispatchEvent(new CustomEvent("open")),this.opened=!0},this.open=()=>{this.opened||(this.openHandle(),G.push({title:this.label,open:this.openHandle,close:this.closeHandle,shouldClose:this.shouldClose}))},this.close=()=>{G.back()},this.forceClose=()=>{this.opened=!1,setTimeout(this.close,100)},this.internals.role="dialog",this.internals.ariaModal="true"}shouldClose(){return!0}};Mn=new WeakMap,Nn=new WeakMap,Ln=new WeakMap,jn([Be],Hn.prototype,"opened",void 0),jn([Ie],Hn.prototype,"label",void 0),Hn=jn([Xe(G.store)],Hn);const Wn=new WeakMap;function Vn(t){return Wn.get(t)}const Dn=new WeakMap;function In(t){return Dn.get(t)}function qn(t){const e=_(),n=document.createElement("style"),s=V(t),i={},o={};Dn.set(i,o),Wn.set(i,s),Object.keys(s).forEach((t=>{o[t]=`--${O(t)}-${e}`,i[t]=`var(${o[t]})`}));const r=()=>function(t,e){const n=Wn.get(e),s=Dn.get(e),i=Object.keys(n).reduce(((t,e)=>n[e]?t+`${s[e]}:${n[e]};`:t),"");t.textContent=`:root, :host {${i}}`}(n,i);return q(s,r),r(),(document.head||document.documentElement).append(n),i}function Un(t,e){I(Vn(t),e)}var Gn=function(t,e,n,s){return new(n||(n=Promise))((function(i,o){function r(t){try{c(s.next(t))}catch(t){o(t)}}function a(t){try{c(s.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(r,a)}c((s=s.apply(t,e||[])).next())}))};const Bn=/\$\d(?:<[^>]*>)?/,Fn=/\$(\d)(<([^>]*)>)?/g;class zn{constructor(t){if(this.cachePrefix="gem-i18n",!t.resources[t.fallbackLanguage])throw new N("i18n: fallbackLanguage invalid");this.store=V(this),Object.assign(this,t);let e=this.urlParamsLang||this.currentLanguage||this.cacheLang;const n=document.querySelector(`[type*=${this.cachePrefix}]`);if(n)try{const t=JSON.parse(n.textContent||"");e=t.currentLanguage,this.resources[t.currentLanguage]=t.currentLanguagePack}catch(t){}e?(this.lang=e,this.setLanguage(e)):this.resetLanguage()}get cacheCurrentKey(){return`${this.cachePrefix}:current`}get urlParamsLang(){const{hostname:t,pathname:e,search:n}=location,s=t.split(".");switch(this.urlParamsType){case"ccTLD":return s.pop();case"gTLD":return s.shift();case"path":return e.split("/")[1];default:const t=this.urlParamsName&&new URLSearchParams(n).get(this.urlParamsName)||"";return t in this.resources?t:""}}get cacheLang(){return this.cache&&localStorage.getItem(this.cacheCurrentKey)||""}set lang(t){var e;this.currentLanguage=t,document.documentElement.lang=t,null===(e=this.onChange)||void 0===e||e.call(this,t)}get(t,...e){const n=this.resources[this.currentLanguage],s=this.resources[this.fallbackLanguage],i=n[t]||s[t],o=(null==i?void 0:i.message)||i||`[${t}]`;if(!e.length)return o;const r=o.split(Bn),a=[];let c;for(;c=Fn.exec(o);){const t=c[3],n=e[Number(c[1])-1];a.push("string"==typeof n?n:n(t))}return Bt(r,...a)}detectLanguage(){const t=Object.keys(this.resources),e=navigator.languages.map((t=>t.replace(/-(.*)/,(t=>t.toUpperCase()))));for(const n of e){const e=t.find((t=>t===n||n.startsWith(`${t}-`)));if(e)return e}return this.fallbackLanguage}setLanguage(t){return Gn(this,void 0,void 0,(function*(){let e;const n=this.resources[t];if(!n)return console.warn(`i18n: not found \`${t}\``),this.resetLanguage();if("string"==typeof n){const t=`${this.cachePrefix}:`,s=`${t}${n}`,i=localStorage.getItem(s),o=()=>Gn(this,void 0,void 0,(function*(){const e=yield(yield fetch(n)).json();if(this.cache){for(let e=0;e<localStorage.length;e++){const n=localStorage.key(e);n.startsWith(t)&&localStorage.removeItem(n)}localStorage.setItem(s,JSON.stringify(e))}return e}));if(i)try{e=JSON.parse(i)}catch(t){e=yield o()}else e=yield o()}else e=n;return this.resources[t]=e,I(this.store,{}),t!==this.currentLanguage&&(this.lang=t),!0===this.cache&&this.setCache(),t}))}resetLanguage(){return this.lang=this.fallbackLanguage,this.cache&&localStorage.removeItem(this.cacheCurrentKey),this.setLanguage(this.detectLanguage())}setCache(){localStorage.setItem(this.cacheCurrentKey,this.currentLanguage)}toJSON(){return{currentLanguage:this.currentLanguage,currentLanguagePack:this.resources[this.currentLanguage]}}}const Kn={credentials:"include",mode:"cors"};function Jn(t,e={}){return n=this,s=void 0,o=function*(){const n=yield fetch(t,Object.assign(Object.assign({},Kn),e));if(0===n.status)throw new Error("Request fail");if(n.status>=500)throw new Error(n.statusText);if(n.status>=400)throw new Error((yield n.text())||n.statusText);return yield n.json()},new((i=void 0)||(i=Promise))((function(t,e){function r(t){try{c(o.next(t))}catch(t){e(t)}}function a(t){try{c(o.throw(t))}catch(t){e(t)}}function c(e){var n;e.done?t(e.value):(n=e.value,n instanceof i?n:new i((function(t){t(n)}))).then(r,a)}c((o=o.apply(n,s||[])).next())}));var n,s,i,o}const Qn=Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array));function Zn(t){return t instanceof FormData||t instanceof Blob||t instanceof Qn||t instanceof URLSearchParams||t instanceof ReadableStream||t instanceof ArrayBuffer?t:"object"==typeof t?JSON.stringify(t):t}function Xn(t,e){const{origin:n,pathname:s,search:i}=new URL(t,location.origin),o=new URLSearchParams(e).toString();return Jn(`${n}${s}${i?`${i}&`:o?"?":""}${o}`,{method:"GET"})}function Yn(t){return Jn(t,{method:"DELETE"})}function ts(t,e){return Jn(t,{method:"PUT",body:Zn(e)})}function es(t,e){return Jn(t,{method:"POST",body:Zn(e)})}const ns={PRINT:"print",get isPrint(){return window.matchMedia(this.PRINT).matches},HOVER:"(hover: hover)",get isHover(){return window.matchMedia(this.HOVER).matches},PHONE:"(min-width: 319px) and (max-width: 480px)",get isPhone(){return window.matchMedia(this.PHONE).matches},LAPTOP:"(min-width: 1023px) and (max-width: 1280px) and (orientation: landscape)",get isLaptop(){return window.matchMedia(this.LAPTOP).matches},DESKTOP:"(min-width: 1279px) and (orientation: landscape)",get isDesktop(){return window.matchMedia(this.DESKTOP).matches},PHONE_LANDSCAPE:"(min-width: 479px) and (max-width: 767px) and (orientation: landscape)",get isPhoneLandscape(){return window.matchMedia(this.PHONE_LANDSCAPE).matches},TABLET:"(min-width: 768px) and (max-width: 1024px)",get isTablet(){return window.matchMedia(this.TABLET).matches},SMALL_PHONE:"(min-width: 319px) and (max-width: 480px) and (max-height: 640px)",get isSmallPhone(){return window.matchMedia(this.SMALL_PHONE).matches},WATCH:"(max-width: 319px)",get isWatch(){return window.matchMedia(this.WATCH).matches},SHORT:"(min-width: 479px) and (max-height: 320px)",get isShort(){return window.matchMedia(this.SHORT).matches},PWA:"(display-mode: standalone)",get isPWA(){return window.matchMedia(this.PWA).matches},MOTION_REDUCE:"(prefers-reduced-motion: reduce)",get isMotionReduce(){return window.matchMedia(this.MOTION_REDUCE).matches},DATA_REDUCE:"(prefers-reduced-data: reduce)",get isDataReduce(){return window.matchMedia(this.DATA_REDUCE).matches}};return e})()}));
|
|
50
50
|
//# sourceMappingURL=umd.js.map
|