@mantou/gem 1.6.2 → 1.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +6 -38
  2. package/{umd.d.ts → all.d.ts} +1 -5
  3. package/all.d.ts.map +1 -0
  4. package/all.js +14 -0
  5. package/all.js.map +1 -0
  6. package/elements/dialog-base.d.ts +2 -2
  7. package/elements/dialog-base.d.ts.map +1 -1
  8. package/elements/dialog-base.js +6 -6
  9. package/elements/dialog-base.js.map +1 -1
  10. package/elements/gesture.d.ts +2 -1
  11. package/elements/gesture.d.ts.map +1 -1
  12. package/elements/gesture.js +6 -5
  13. package/elements/gesture.js.map +1 -1
  14. package/elements/link.d.ts +1 -1
  15. package/elements/link.d.ts.map +1 -1
  16. package/elements/link.js +11 -16
  17. package/elements/link.js.map +1 -1
  18. package/elements/modal-base.d.ts +4 -4
  19. package/elements/modal-base.d.ts.map +1 -1
  20. package/elements/modal-base.js +9 -4
  21. package/elements/modal-base.js.map +1 -1
  22. package/elements/reflect.d.ts +1 -1
  23. package/elements/reflect.d.ts.map +1 -1
  24. package/elements/reflect.js +2 -1
  25. package/elements/reflect.js.map +1 -1
  26. package/elements/route.d.ts +7 -3
  27. package/elements/route.d.ts.map +1 -1
  28. package/elements/route.js +12 -6
  29. package/elements/route.js.map +1 -1
  30. package/elements/title.d.ts +1 -1
  31. package/elements/title.d.ts.map +1 -1
  32. package/elements/title.js +4 -1
  33. package/elements/title.js.map +1 -1
  34. package/elements/unsafe.d.ts +1 -1
  35. package/elements/unsafe.d.ts.map +1 -1
  36. package/elements/unsafe.js +2 -1
  37. package/elements/unsafe.js.map +1 -1
  38. package/elements/use.d.ts +1 -1
  39. package/elements/use.d.ts.map +1 -1
  40. package/elements/use.js +2 -1
  41. package/elements/use.js.map +1 -1
  42. package/helper/i18n.js +47 -58
  43. package/helper/i18n.js.map +1 -1
  44. package/helper/request.js +11 -19
  45. package/helper/request.js.map +1 -1
  46. package/index.d.ts +5 -4
  47. package/index.d.ts.map +1 -1
  48. package/index.js +4 -2
  49. package/index.js.map +1 -1
  50. package/lib/element.d.ts.map +1 -1
  51. package/lib/element.js +2 -2
  52. package/lib/element.js.map +1 -1
  53. package/lib/history.js +17 -5
  54. package/lib/history.js.map +1 -1
  55. package/lib/utils.d.ts +3 -1
  56. package/lib/utils.d.ts.map +1 -1
  57. package/lib/utils.js +7 -4
  58. package/lib/utils.js.map +1 -1
  59. package/lib/version.d.ts +1 -1
  60. package/lib/version.js +1 -1
  61. package/package.json +23 -53
  62. package/src/{umd.ts → all.ts} +0 -4
  63. package/src/elements/dialog-base.ts +5 -4
  64. package/src/elements/gesture.ts +2 -1
  65. package/src/elements/link.ts +5 -15
  66. package/src/elements/modal-base.ts +3 -1
  67. package/src/elements/reflect.ts +2 -1
  68. package/src/elements/route.ts +8 -20
  69. package/src/elements/title.ts +4 -1
  70. package/src/elements/unsafe.ts +2 -1
  71. package/src/elements/use.ts +2 -1
  72. package/src/index.ts +4 -6
  73. package/src/lib/element.ts +3 -2
  74. package/src/lib/history.ts +1 -1
  75. package/src/lib/utils.ts +10 -4
  76. package/src/lib/version.ts +1 -1
  77. package/src/test/gem-element/advance.test.ts +1 -0
  78. package/src/test/gem-element/basic.test.ts +1 -0
  79. package/src/test/gem-element/decorators.test.ts +1 -0
  80. package/src/test/gem-element/multi.test.ts +1 -0
  81. package/src/test/history.test.ts +1 -0
  82. package/src/test/store.test.ts +1 -0
  83. package/src/test/utils.test.ts +1 -0
  84. package/src/examples/base-path/index.ts +0 -44
  85. package/src/examples/controlled/index.ts +0 -75
  86. package/src/examples/decorator/chidren.ts +0 -77
  87. package/src/examples/decorator/index.ts +0 -110
  88. package/src/examples/dialog/index.ts +0 -148
  89. package/src/examples/effect/index.ts +0 -45
  90. package/src/examples/elements/env.ts +0 -7
  91. package/src/examples/elements/layout.ts +0 -53
  92. package/src/examples/elements/nav.ts +0 -71
  93. package/src/examples/elements/source.ts +0 -68
  94. package/src/examples/gesture/canvas.ts +0 -69
  95. package/src/examples/gesture/index.ts +0 -97
  96. package/src/examples/gesture/manifest.json +0 -3
  97. package/src/examples/hash/index.ts +0 -55
  98. package/src/examples/i18n/index.ts +0 -63
  99. package/src/examples/index/index.ts +0 -33
  100. package/src/examples/index/manifest.json +0 -5
  101. package/src/examples/light-dom/index.ts +0 -31
  102. package/src/examples/multi-page/api.ts +0 -9
  103. package/src/examples/multi-page/index.ts +0 -78
  104. package/src/examples/multi-page/page-a.ts +0 -16
  105. package/src/examples/multi-page/page-b.ts +0 -12
  106. package/src/examples/multi-page/page-c.ts +0 -40
  107. package/src/examples/multi-page/store.ts +0 -10
  108. package/src/examples/perf-demo/index.ts +0 -136
  109. package/src/examples/ref-route/index.ts +0 -109
  110. package/src/examples/reflect/index.ts +0 -61
  111. package/src/examples/styled/index.ts +0 -39
  112. package/src/examples/svg-icon/index.ts +0 -31
  113. package/src/examples/theme/index.ts +0 -56
  114. package/src/examples/unsafe/index.ts +0 -29
  115. package/umd.d.ts.map +0 -1
  116. package/umd.js +0 -54
  117. package/umd.js.LICENSE.txt +0 -13
  118. package/umd.js.map +0 -1
@@ -1,109 +0,0 @@
1
- import { GemElement, html, history, render } from '../../';
2
- import { connectStore, customElement, RefObject, refobject } from '../../lib/decorators';
3
- import { createHistoryParams, GemRouteElement, RouteItem } from '../../elements/route';
4
- import '../../elements/link';
5
-
6
- import '../elements/layout';
7
-
8
- const homeRoute: RouteItem = {
9
- pattern: '/',
10
- async getContent(params) {
11
- await new Promise((res) => setTimeout(res, 1000));
12
- return html`<route-home .params=${params}></route-home>`;
13
- },
14
- };
15
-
16
- const aRoute: RouteItem = {
17
- pattern: '/a/:b',
18
- async getContent() {
19
- await new Promise((res) => setTimeout(res, 1000));
20
- return html`<route-a></route-a>`;
21
- },
22
- };
23
-
24
- const routes = {
25
- home: homeRoute,
26
- a: aRoute,
27
- };
28
-
29
- const locationStore = GemRouteElement.createLocationStore();
30
-
31
- @customElement('route-home')
32
- export class RouteHome extends GemElement {
33
- params: Record<string, string>;
34
- render = () => {
35
- return html`
36
- <style>
37
- gem-active-link {
38
- display: block;
39
- }
40
- gem-active-link:where(:--active, [data-active]) {
41
- color: inherit;
42
- }
43
- </style>
44
- current route: home page, current params: ${JSON.stringify(this.params)}, click navigation to /a page
45
- <gem-active-link .route=${routes.a} .options=${{ params: { b: 1 } }}>
46
- a page link, params: {a: 1}
47
- </gem-active-link>
48
- `;
49
- };
50
- }
51
-
52
- @connectStore(locationStore)
53
- @customElement('route-a')
54
- export class RouteA extends GemElement {
55
- render = () => {
56
- return html`
57
- <style>
58
- gem-active-link {
59
- display: block;
60
- }
61
- gem-active-link:where(:--active, [data-active]) {
62
- color: inherit;
63
- }
64
- </style>
65
- current route: /a/:b, current params: ${JSON.stringify(locationStore.params)}, click navigation to home page,
66
- cuurent query: ${history.getParams().query.toString()}
67
- <gem-active-link .route=${routes.a} .options=${{ params: { b: 1 }, query: '?a=1' }}>
68
- a page link, query: ?a=1
69
- </gem-active-link>
70
- `;
71
- };
72
- }
73
-
74
- @customElement('app-root')
75
- @connectStore(locationStore)
76
- export class App extends GemElement {
77
- @refobject routeRef: RefObject<GemRouteElement>;
78
- onclick = () => {
79
- if (this.routeRef.element?.currentRoute === routes.home) {
80
- history.push(createHistoryParams(routes.a, { params: { b: String(Date.now()) } }));
81
- } else {
82
- history.push(createHistoryParams(routes.home));
83
- }
84
- };
85
- render() {
86
- return html`
87
- <main>
88
- <pre>${JSON.stringify(locationStore.params)}</pre>
89
- <gem-route
90
- ref=${this.routeRef.ref}
91
- @loading=${console.log}
92
- @route-change=${console.log}
93
- @error=${console.error}
94
- .routes=${routes}
95
- .locationStore=${locationStore}
96
- ></gem-route>
97
- </main>
98
- `;
99
- }
100
- }
101
-
102
- render(
103
- html`
104
- <gem-examples-layout>
105
- <app-root slot="main"></app-root>
106
- </gem-examples-layout>
107
- `,
108
- document.body,
109
- );
@@ -1,61 +0,0 @@
1
- import { html, randomStr, GemElement, customElement, render, refobject, RefObject } from '../..';
2
-
3
- import '../../elements/reflect';
4
-
5
- import '../elements/layout';
6
- @customElement('app-children')
7
- export class AppChild extends GemElement {
8
- mounted = () => console.log('mounted');
9
- }
10
-
11
- @customElement('app-root')
12
- export class App extends GemElement {
13
- @refobject childrenRef: RefObject<HTMLStyleElement>;
14
- state = {
15
- mount: true,
16
- };
17
-
18
- mounted() {
19
- document.addEventListener('click', this.update);
20
- }
21
-
22
- updated() {
23
- console.trace('updated', this.childrenRef.element);
24
- }
25
-
26
- render() {
27
- return html`
28
- <button @click=${() => this.setState({ mount: true })}>mount</button>
29
- <button @click=${() => this.setState({ mount: false })}>unmount</button>
30
- ${this.state.mount
31
- ? html`
32
- <gem-reflect>
33
- <app-children ref=${this.childrenRef.ref}></app-children>
34
- <style>
35
- head {
36
- display: block;
37
- }
38
- head::before {
39
- content: '<head>';
40
- }
41
- head::after {
42
- content: '</head>';
43
- }
44
- </style>
45
- <div>${randomStr()}</div>
46
- <div>${randomStr()}</div>
47
- </gem-reflect>
48
- `
49
- : null}
50
- `;
51
- }
52
- }
53
-
54
- render(
55
- html`
56
- <gem-examples-layout>
57
- <app-root slot="main"></app-root>
58
- </gem-examples-layout>
59
- `,
60
- document.body,
61
- );
@@ -1,39 +0,0 @@
1
- import { GemElement, html, styled, createCSSSheet, render } from '../../';
2
-
3
- import '../elements/layout';
4
-
5
- const styles = createCSSSheet({
6
- h1: styled.class`
7
- color: yellow;
8
- &:hover {
9
- color: red;
10
- }
11
- `,
12
- h2: styled.id`
13
- background: yellow;
14
- &:hover {
15
- background: red;
16
- }
17
- `,
18
- });
19
-
20
- class App extends GemElement {
21
- static adoptedStyleSheets = [styles];
22
- render() {
23
- return html`
24
- <h1 class=${styles.h1}>Header 1</h1>
25
- <h2 id=${styles.h2}>Header 2</h2>
26
- `;
27
- }
28
- }
29
-
30
- customElements.define('app-root', App);
31
-
32
- render(
33
- html`
34
- <gem-examples-layout>
35
- <app-root slot="main"></app-root>
36
- </gem-examples-layout>
37
- `,
38
- document.body,
39
- );
@@ -1,31 +0,0 @@
1
- import { html, render, raw } from '../../';
2
-
3
- import '../../elements/use';
4
-
5
- import '../elements/layout';
6
-
7
- const app = html`
8
- <div slot="main">
9
- <template id="icon">
10
- <svg width="24" height="24" viewBox="0 0 24 24">
11
- <path d="M0 0h24v24H0z" fill="none" />
12
- <path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" />
13
- </svg>
14
- </template>
15
- <gem-use .root=${document.body} selector="#icon"></gem-use>
16
- <gem-use selector="#icon"></gem-use>
17
- <gem-use
18
- .element=${raw`
19
- <svg height="24px" viewBox="0 0 24 24" width="24px">
20
- <path d="M0 0h24v24H0z" fill="none"/>
21
- <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"/>
22
- </svg>
23
- `}
24
- style="fill: red; height: 1.2em; gap: 0.3em"
25
- >
26
- English
27
- </gem-use>
28
- </div>
29
- `;
30
-
31
- render(html`<gem-examples-layout>${app}</gem-examples-layout>`, document.body);
@@ -1,56 +0,0 @@
1
- import { GemElement, html, render, customElement, connectStore } from '../../';
2
- import { createTheme, getThemeStore, updateTheme } from '../../helper/theme';
3
- import { mediaQuery } from '../../helper/mediaquery';
4
-
5
- import '../elements/layout';
6
-
7
- const theme = createTheme({
8
- // 支持动态修改不透明度
9
- color: '0, 0, 0',
10
- primaryColor: '#eee',
11
- });
12
-
13
- const themeStore = getThemeStore(theme);
14
-
15
- const printTheme = createTheme({
16
- primaryColor: 'yellow',
17
- });
18
-
19
- document.onclick = () => {
20
- updateTheme(theme, {
21
- primaryColor: Math.random() > 0.5 ? 'red' : 'blue',
22
- });
23
- updateTheme(printTheme, {
24
- primaryColor: Math.random() > 0.5 ? 'gray' : 'white',
25
- });
26
- };
27
-
28
- @customElement('app-root')
29
- @connectStore(themeStore)
30
- export class App extends GemElement {
31
- render() {
32
- return html`
33
- <style>
34
- div {
35
- color: rgba(${theme.color}, 0.5);
36
- border: 2px solid ${theme.primaryColor};
37
- }
38
- @media ${mediaQuery.PRINT} {
39
- div {
40
- border: 2px solid ${printTheme.primaryColor};
41
- }
42
- }
43
- </style>
44
- <div>color: ${themeStore.primaryColor}</div>
45
- `;
46
- }
47
- }
48
-
49
- render(
50
- html`
51
- <gem-examples-layout>
52
- <app-root slot="main"></app-root>
53
- </gem-examples-layout>
54
- `,
55
- document.body,
56
- );
@@ -1,29 +0,0 @@
1
- import { html, render } from '../../';
2
-
3
- import '../../elements/unsafe';
4
-
5
- import '../elements/layout';
6
-
7
- const svgStr = `
8
- <svg width="24" height="24" viewBox="0 0 24 24">
9
- <path d="M0 0h24v24H0z" fill="none" />
10
- <path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" />
11
- </svg>
12
- `;
13
- const svgStyle = `
14
- svg {
15
- transform: scale(2);
16
- }
17
- `;
18
- const htmlStr = `
19
- <pre><code>// code code code</code></pre>
20
- `;
21
-
22
- const app = html`
23
- <div slot="main">
24
- <gem-unsafe content="${svgStr}" contentcss="${svgStyle}"></gem-unsafe>
25
- <gem-unsafe content="${htmlStr}"></gem-unsafe>
26
- </div>
27
- `;
28
-
29
- render(html`<gem-examples-layout>${app}</gem-examples-layout>`, document.body);
package/umd.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"umd.d.ts","sourceRoot":"","sources":["src/umd.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,IAAI,CAAC"}
package/umd.js DELETED
@@ -1,54 +0,0 @@
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:()=>Vn,GemActiveLinkElement:()=>bn,GemElement:()=>Le,GemError:()=>M,GemLightRouteElement:()=>vn,GemLinkElement:()=>wn,GemReflectElement:()=>$n,GemRouteElement:()=>gn,GemTitleElement:()=>xn,GemUnsafeElement:()=>Cn,GemUseElement:()=>kn,I18n:()=>os,LinkedList:()=>y,PropProxyMap:()=>w,QueryString:()=>b,SVGTemplateResult:()=>$t,SheetToken:()=>x,StoreListenerMap:()=>D,TemplateResult:()=>Ot,absoluteLocation:()=>v,addMicrotask:()=>p,addMicrotaskToStack:()=>g,adoptedStyle:()=>Ye,attribute:()=>Ue,basePathStore:()=>rt,boolattribute:()=>Ge,camelToKebabCase:()=>N,classMap:()=>W,cleanObject:()=>j,connect:()=>G,connectStore:()=>tn,createCSSSheet:()=>k,createHistoryParams:()=>mn,createModalClass:()=>Ln,createPath:()=>fn,createStore:()=>I,createStoreSet:()=>q,createTheme:()=>Gn,css:()=>E,customElement:()=>nn,defineAttribute:()=>Me,defineCSSState:()=>We,defineProperty:()=>Ae,defineRef:()=>He,del:()=>us,directive:()=>ht,disconnect:()=>B,emitter:()=>Qe,get:()=>hs,getThemeProp:()=>Un,getThemeStore:()=>In,globalemitter:()=>Ze,guard:()=>ie,history:()=>F,html:()=>zt,ifDefined:()=>re,isArrayChange:()=>R,kebabToCamelCase:()=>L,matchPath:()=>pn,mediaQuery:()=>ms,nativeDefineElement:()=>Ve,numattribute:()=>Be,part:()=>Ke,partMap:()=>V,post:()=>ps,property:()=>Fe,put:()=>ds,randomStr:()=>T,raw:()=>S,refobject:()=>Ie,removeItems:()=>A,render:()=>Ft,repeat:()=>ne,request:()=>as,rootElement:()=>en,slot:()=>Je,splice:()=>ss,state:()=>ze,styleMap:()=>H,styled:()=>$,svg:()=>Jt,titleStore:()=>at,updateStore:()=>U,updateTheme:()=>Bn,useNativeCSSStyleSheet:()=>_,version:()=>sn});var n={};t.r(n),t.d(n,{GemElement:()=>Le,GemError:()=>M,LinkedList:()=>y,PropProxyMap:()=>w,QueryString:()=>b,SVGTemplateResult:()=>$t,SheetToken:()=>x,StoreListenerMap:()=>D,TemplateResult:()=>Ot,absoluteLocation:()=>v,addMicrotask:()=>p,addMicrotaskToStack:()=>g,adoptedStyle:()=>Ye,attribute:()=>Ue,basePathStore:()=>rt,boolattribute:()=>Ge,camelToKebabCase:()=>N,classMap:()=>W,cleanObject:()=>j,connect:()=>G,connectStore:()=>tn,createCSSSheet:()=>k,createStore:()=>I,createStoreSet:()=>q,css:()=>E,customElement:()=>nn,defineAttribute:()=>Me,defineCSSState:()=>We,defineProperty:()=>Ae,defineRef:()=>He,directive:()=>ht,disconnect:()=>B,emitter:()=>Qe,globalemitter:()=>Ze,guard:()=>ie,history:()=>F,html:()=>zt,ifDefined:()=>re,isArrayChange:()=>R,kebabToCamelCase:()=>L,nativeDefineElement:()=>Ve,numattribute:()=>Be,part:()=>Ke,partMap:()=>V,property:()=>Fe,randomStr:()=>T,raw:()=>S,refobject:()=>Ie,removeItems:()=>A,render:()=>Ft,repeat:()=>ne,rootElement:()=>en,slot:()=>Je,state:()=>ze,styleMap:()=>H,styled:()=>$,svg:()=>Jt,titleStore:()=>at,updateStore:()=>U,useNativeCSSStyleSheet:()=>_,version:()=>sn});var s,i,o,r,a,l,c,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),l.set(this,(t=>"string"==typeof t?t:JSON.stringify(t))),c.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,l,"f").call(this,e))}))}setAny(t,e){if(Array.isArray(e))this.delete(t),e.forEach((e=>this.append(t,h(this,l,"f").call(this,e))));else{const n=h(this,l,"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,c,"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)}l=new WeakMap,c=new WeakMap;const x=Symbol("sheet token");let _=!0,P=window.CSSStyleSheet;try{new P}catch(t){_=!1,P=class{constructor(){this.media={mediaText:""},this.style="",this.replaceSync=t=>this.style=t}}}function k(t,e=""){const n=new P,s={};n.media.mediaText=e;let i="";return"string"==typeof t?i=t:Object.keys(t).forEach((e=>{s[e]=`${e}-${T()}`,i+=t[e].styledContent.replace(/&/g,s[e])})),n.replaceSync(i),s[x]=n,s}function T(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 C=new RegExp("&.*{((.|\n)*)}","g");function O(t,e){const n=[];let s=`& {${t.replace(C,(t=>(n.push(t),"")))}}`+n.join("");return s=s.replace(/&/g,"class"===e?".&":"#&"),{styledContent:s,type:e}}const $={class:(t,...e)=>O(S(t,...e),"class"),id:(t,...e)=>O(S(t,...e),"id"),keyframes:(t,...e)=>({styledContent:`@keyframes & {${S(t,...e)}}`,type:"keyframes"})};function N(t){return t.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}function L(t){return t.replace(/-(.)/g,((t,e)=>e.toUpperCase()))}function j(t){return Object.keys(t).forEach((e=>{delete t[e]})),t}class M extends Error{constructor(t){super(t),this.message=`gem: ${this.message}`}}function R(t,e){const n=t.length;for(let s=0;s<n;s++)if(t[s]!==e[s])return!0;return!1}function A(t,e){const n=new Set(e);return t.filter((t=>!n.has(t)||(n.delete(t),!1)))}function H(t){let e="";for(const n in t)t[n]&&(e+=`${N(n)}:${t[n]};`);return e}function W(t){let e=" ";for(const n in t)t[n]&&(e+=`${n} `);return e}const V=W,D=new WeakMap;function I(t){if(D.has(t))throw new M("argument error");return D.set(t,new Set),t}function q(t){return Object.keys(t).forEach((e=>{I(t[e])})),t}function U(t,e){Object.assign(t,e);const n=D.get(t);null==n||n.forEach((t=>{p(t)}))}function G(t,e){const n=D.get(t);null==n||n.add(e)}function B(t,e){const n=D.get(t);null==n||n.delete(e)}const F=window.history,z=window.location,J=F.pushState.bind(F),K=F.replaceState.bind(F);let Q=0;const Z=()=>`${performance.now()}-${++Q}`,X=I({$hasCloseHandle:!1,$hasOpenHandle:!1,$hasShouldCloseHandle:!1,$key:""}),Y=new Map;function tt({$key:t,$hasCloseHandle:e,$hasOpenHandle:n,$hasShouldCloseHandle:s}={}){if(X.$key!==t){if(t)throw new M("`$key` is not allowed");if(e)throw new M("`$hasCloseHandle` is not allowed");if(n)throw new M("`$hasOpenHandle` is not allowed");if(s)throw new M("`$hasShouldCloseHandle` is not allowed")}}function et(t){return F.basePath?F.basePath+t:t}function nt(t){return t===F.basePath?"/":t.replace(new RegExp(`^${F.basePath}/`),"/")}function st(t){const e=Y.get(X.$key)||{},n=t.path?v(e.path,t.path):nt(z.pathname),s=new b(t.query||(t.path?"":z.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(z.hash):"");return Object.assign(Object.assign({},t),{title:o,path:n,query:s,hash:a})}function it(t,e){tt(e.data);const n=st(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:Z()},h);Y.set(u.$key,n),U(j(X),u);const d=et(i)+new b(o)+r,p=decodeURIComponent(z.hash);("push"===t?J:K)(u,s,d),p!==r&&window.dispatchEvent(new CustomEvent("hashchange"))}function ot(t,e,n,s){tt(e);const i=Object.assign({$key:Z()},e||{}),{pathname:o,search:r,hash:a}=new URL(s,z.origin+z.pathname),l=st({path:o,query:new b(r),hash:a,title:n,data:e});Y.set(i.$key,l),U(j(X),i);const c=et(o)+l.query+a,h=z.hash;("push"===t?J:K)(i,n,c),h!==a&&window.dispatchEvent(new CustomEvent("hashchange"))}const rt=I({basePath:""});if(window.addEventListener("hashchange",(({isTrusted:t})=>{t&&F.replace({hash:decodeURIComponent(z.hash)})})),Object.defineProperties(F,{basePath:{get:()=>rt.basePath,set(t){U(rt,{basePath:t}),Object.assign(Y.get(X.$key),{path:nt(z.pathname)})}},getParams:{value:function(){return Y.get(X.$key)}},updateParams:{value:function(t){Object.assign(Y.get(X.$key),t),U(X,{})}},store:{value:X},push:{value:function(t){F.pushState(t,"")}},pushIgnoreCloseHandle:{value:function(t){var e,n;X.$hasCloseHandle?(null===(n=null===(e=Y.get(X.$key))||void 0===e?void 0:e.close)||void 0===n||n.call(e),F.replace(t)):F.push(t)}},replace:{value:function(t){it("replace",t)}}}),F.pushState=function(t,e,n){n?ot("push",t,e,n):it("push",t)},F.replaceState=function(t,e,n){ot("replace",t,e,n)},F.state)if(F.state.$hasCloseHandle){U(X,F.state);const t=st({title:document.title});Y.set(X.$key,t),F.back()}else{const t=st({title:document.title,hash:z.hash});U(X,Object.assign({$key:Z()},F.state||{})),Y.set(X.$key,t)}else{const{pathname:t,search:e,hash:n}=z;F.replace({path:t,query:e,hash:n})}const at=I({title:""});G(at,(()=>{const t=Y.get(X.$key);t&&(t.title=at.title)})),G(X,(()=>{const{title:t}=F.getParams();t!==at.title&&U(at,{title:t})}));let lt=!1;window.addEventListener("popstate",(t=>{var e,n;const s=t.state;if(!(null==s?void 0:s.$key))return;if(lt)return void(lt=!1);if(!Y.has(s.$key)){const{pathname:t,search:e,hash:n}=z;Y.set(s.$key,{path:t,query:new b(e),hash:n,title:document.title,data:s})}const i=X;if(parseFloat(s.$key)>parseFloat(i.$key)&&s.$hasOpenHandle)null===(n=null===(e=Y.get(s.$key))||void 0===e?void 0:e.open)||void 0===n||n.call(e);else if(i.$hasCloseHandle){const t=Y.get(i.$key),e=null==t?void 0:t.close,n=null==t?void 0:t.shouldClose;if(n&&!n())return lt=!0,void F.forward();e?e():s.$hasCloseHandle&&(lt=!0,F.back())}U(j(X),s)}));const ct=new WeakMap,ht=t=>(...e)=>{const n=t(...e);return ct.set(n,!0),n},ut=t=>"function"==typeof t&&ct.has(t),dt="undefined"!=typeof window&&null!=window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,pt=(t,e,n=null,s=null)=>{for(;e!==n;){const n=e.nextSibling;t.insertBefore(e,s),e=n}},ft=(t,e,n=null)=>{for(;e!==n;){const n=e.nextSibling;t.removeChild(e),e=n}},mt={},gt={},vt=`{{lit-${String(Math.random()).slice(2)}}}`,yt=`\x3c!--${vt}--\x3e`,wt=new RegExp(`${vt}|${yt}`),bt="$lit$";class St{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++)Et(e[t].name,bt)&&s++;for(;s-- >0;){const e=l[a],n=Pt.exec(e)[2],s=n.toLowerCase()+bt,i=t.getAttribute(s);t.removeAttribute(s);const o=i.split(wt);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(vt)>=0){const s=t.parentNode,i=e.split(wt),o=i.length-1;for(let e=0;e<o;e++){let n,o=i[e];if(""===o)n=_t();else{const t=Pt.exec(o);null!==t&&Et(t[2],bt)&&(o=o.slice(0,t.index)+t[1]+t[2].slice(0,-bt.length)+t[3]),n=document.createTextNode(o)}s.insertBefore(n,t),this.parts.push({type:"node",index:++r})}""===i[o]?(s.insertBefore(_t(),t),n.push(t)):t.data=i[o],a+=o}}else if(8===t.nodeType)if(t.data===vt){const e=t.parentNode;null!==t.previousSibling&&r!==o||(r++,e.insertBefore(_t(),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(vt,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 Et=(t,e)=>{const n=t.length-e.length;return n>=0&&t.slice(n)===e},xt=t=>-1!==t.index,_t=()=>document.createComment(""),Pt=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;class kt{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=dt?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],xt(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 dt&&(document.adoptNode(t),customElements.upgrade(t)),t}}const Tt=window.trustedTypes&&trustedTypes.createPolicy("lit-html",{createHTML:t=>t}),Ct=` ${vt} `;class Ot{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=Pt.exec(t);e+=null===o?t+(n?Ct:yt):t.substr(0,o.index)+o[1]+o[2]+bt+o[3]+vt}return e+=this.strings[t],e}getTemplateElement(){const t=document.createElement("template");let e=this.getHTML();return void 0!==Tt&&(e=Tt.createHTML(e)),t.innerHTML=e,t}}class $t extends Ot{getHTML(){return`<svg>${super.getHTML()}</svg>`}getTemplateElement(){const t=super.getTemplateElement(),e=t.content,n=e.firstChild;return e.removeChild(n),pt(e,n.firstChild),t}}const Nt=t=>null===t||!("object"==typeof t||"function"==typeof t),Lt=t=>Array.isArray(t)||!(!t||!t[Symbol.iterator]);class jt{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 Mt(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||!Lt(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(Nt(t)||!Lt(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 Mt{constructor(t){this.value=void 0,this.committer=t}setValue(t){t===mt||Nt(t)&&t===this.value||(this.value=t,ut(t)||(this.committer.dirty=!0))}commit(){for(;ut(this.value);){const t=this.value;this.value=mt,t(this)}this.value!==mt&&this.committer.commit()}}class Rt{constructor(t){this.value=void 0,this.__pendingValue=void 0,this.options=t}appendInto(t){this.startNode=t.appendChild(_t()),this.endNode=t.appendChild(_t())}insertAfterNode(t){this.startNode=t,this.endNode=t.nextSibling}appendIntoPart(t){t.__insert(this.startNode=_t()),t.__insert(this.endNode=_t())}insertAfterPart(t){t.__insert(this.startNode=_t()),this.endNode=t.endNode,t.endNode=this.startNode}setValue(t){this.__pendingValue=t}commit(){if(null===this.startNode.parentNode)return;for(;ut(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=mt,t(this)}const t=this.__pendingValue;t!==mt&&(Nt(t)?t!==this.value&&this.__commitText(t):t instanceof Ot?this.__commitTemplateResult(t):t instanceof Node?this.__commitNode(t):Lt(t)?this.__commitIterable(t):t===gt?(this.value=gt,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 kt&&this.value.template===e)this.value.update(t.values);else{const n=new kt(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 Rt(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){ft(this.startNode.parentNode,t.nextSibling,this.endNode)}}class At{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(;ut(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=mt,t(this)}if(this.__pendingValue===mt)return;const t=!!this.__pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=t),this.__pendingValue=mt}}class Ht extends jt{constructor(t,e,n){super(t,e,n),this.single=2===n.length&&""===n[0]&&""===n[1]}_createPart(){return new Wt(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class Wt extends Mt{}let Vt=!1;(()=>{try{const t={get capture(){return Vt=!0,!1}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){}})();class Dt{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(;ut(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=mt,t(this)}if(this.__pendingValue===mt)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=It(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=mt}handleEvent(t){"function"==typeof this.value?this.value.call(this.eventContext||this.element,t):this.value.handleEvent(t)}}const It=t=>t&&(Vt?{capture:t.capture,passive:t.passive,once:t.once}:t.capture),qt=new class{handleAttributeExpressions(t,e,n,s){const i=e[0];return"."===i?new Ht(t,e.slice(1),n).parts:"@"===i?[new Dt(t,e.slice(1),s.eventContext)]:"?"===i?[new At(t,e.slice(1),n)]:new jt(t,e,n).parts}handleTextExpression(t){return new Rt(t)}};function Ut(t){let e=Gt.get(t.type);void 0===e&&(e={stringsArray:new WeakMap,keyString:new Map},Gt.set(t.type,e));let n=e.stringsArray.get(t.strings);if(void 0!==n)return n;const s=t.strings.join(vt);return n=e.keyString.get(s),void 0===n&&(n=new St(t,t.getTemplateElement()),e.keyString.set(s,n)),e.stringsArray.set(t.strings,n),n}const Gt=new Map,Bt=new WeakMap,Ft=(t,e,n)=>{let s=Bt.get(e);void 0===s&&(ft(e,e.firstChild),Bt.set(e,s=new Rt(Object.assign({templateFactory:Ut},n))),s.appendInto(e)),s.setValue(t),s.commit()};"undefined"!=typeof window&&(window.litHtmlVersions||(window.litHtmlVersions=[])).push("1.4.1");const zt=(t,...e)=>new Ot(t,e,"html",qt),Jt=(t,...e)=>new $t(t,e,"svg",qt),Kt=(t,e)=>{const n=t.startNode.parentNode,s=void 0===e?t.endNode:e.startNode,i=n.insertBefore(_t(),s);n.insertBefore(_t(),s);const o=new Rt(t.options);return o.insertAfterNode(i),o},Qt=(t,e)=>(t.setValue(e),t.commit(),t),Zt=(t,e,n)=>{const s=t.startNode.parentNode,i=n?n.startNode:t.endNode,o=e.endNode.nextSibling;o!==i&&pt(s,e.startNode,o,i)},Xt=t=>{ft(t.startNode.parentNode,t.startNode,t.endNode.nextSibling)},Yt=(t,e,n)=>{const s=new Map;for(let i=e;i<=n;i++)s.set(t[i],i);return s},te=new WeakMap,ee=new WeakMap,ne=ht(((t,e,n)=>{let s;return void 0===n?n=e:void 0!==e&&(s=e),e=>{if(!(e instanceof Rt))throw new Error("repeat can only be used in text bindings");const i=te.get(e)||[],o=ee.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]),Zt(e,i[d],r[m+1]),d++,m--;else if(o[p]===l[f])r[f]=Qt(i[p],a[f]),Zt(e,i[p],i[d]),p--,f++;else if(void 0===c&&(c=Yt(l,f,m),h=Yt(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=Kt(e,i[d]);Qt(t,a[f]),r[f]=t}else r[f]=Qt(n,a[f]),Zt(e,n,i[d]),i[t]=null;f++}else Xt(i[p]),p--;else Xt(i[d]),d++;for(;f<=m;){const t=Kt(e,r[m+1]);Qt(t,a[f]),r[f++]=t}for(;d<=p;){const t=i[d++];null!==t&&Xt(t)}te.set(e,r),ee.set(e,l)}})),se=new WeakMap,ie=ht(((t,e)=>n=>{const s=se.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||se.has(n)))return;n.setValue(e()),se.set(n,Array.isArray(t)?Array.from(t):t)})),oe=new WeakMap,re=ht((t=>e=>{const n=oe.get(e);if(void 0===t&&e instanceof Mt){if(void 0!==n||!oe.has(e)){const t=e.committer.name;e.committer.element.removeAttribute(t)}}else t!==n&&e.setValue(t);oe.set(e,t)}));var ae,le,ce,he,ue,de,pe,fe,me,ge,ve,ye,we,be,Se,Ee,xe,_e=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)},Pe=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 ke(){}function Te(t){"function"==typeof t&&t()}const Ce=new y,Oe=(t=performance.now())=>{if(performance.now()>t+16)return requestAnimationFrame(Oe);const e=Ce.get();e&&(e(),Oe(t))};Ce.addEventListener("start",(()=>p(Oe)));const $e=Symbol("init"),Ne=Symbol("update");class Le extends HTMLElement{constructor({isAsync:t,isLight:e,delegatesFocus:n}={}){super(),ae.set(this,void 0),le.set(this,void 0),ce.set(this,void 0),he.set(this,void 0),ue.set(this,void 0),de.set(this,void 0),pe.set(this,void 0),this.setState=t=>{if(!this.state)throw new M("`state` not initialized");Object.assign(this.state,t),p(_e(this,Se,"f"))},fe.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&&s&&!R(s,o)||(Te(i),t.preCallback=e(o,s),t.values=o)}))})),me.set(this,(()=>{_e(this,fe,"f").call(this,_e(this,ue,"f"))})),ge.set(this,(()=>{_e(this,fe,"f").call(this,_e(this,de,"f"))})),this.effect=(t,e)=>{_e(this,ue,"f")||Pe(this,ue,[],"f");const n={callback:t,getDep:e,values:void 0,initialized:!!this.isConnected};this.isConnected&&(n.values=null==e?void 0:e(),n.preCallback=t(n.values)),_e(this,ue,"f").push(n)},this.memo=(t,e)=>{_e(this,de,"f")||Pe(this,de,[],"f"),_e(this,de,"f").push({callback:t,getDep:e,values:[Symbol()],initialized:this.isConnected})},ve.set(this,(()=>{var t;null===(t=_e(this,ue,"f"))||void 0===t||t.forEach((t=>{const{callback:e,getDep:n,initialized:s}=t;s||(t.values=null==n?void 0:n(),t.preCallback=e(t.values),t.initialized=!0)}))})),ye.set(this,(()=>{var t,e;_e(this,ge,"f").call(this);const n=_?"":zt`${null===(e=null===(t=this.shadowRoot)||void 0===t?void 0:t.adoptedStyleSheets)||void 0===e?void 0:e.map((t=>zt`
3
- <style media=${t.media.mediaText}>
4
- ${t.style}
5
- </style>
6
- `))}`;return this.render?zt`${this.render()}${n}`:_e(this,ae,"f")===this?void 0:zt`<slot></slot>${n}`})),we.set(this,(()=>!this.shouldUpdate||this.shouldUpdate())),be.set(this,(()=>{if(this.isConnected&&_e(this,we,"f").call(this)){const t=_e(this,ye,"f").call(this);void 0!==t&&Ft(t,_e(this,ae,"f")),p(_e(this,Ee,"f")),p(_e(this,me,"f"))}})),Se.set(this,(()=>{_e(this,he,"f")?Ce.add(_e(this,be,"f")):_e(this,be,"f").call(this)})),this.update=()=>{p(_e(this,Se,"f"))},Ee.set(this,(()=>{var t;null===(t=this.updated)||void 0===t||t.call(this)})),xe.set(this,(()=>{var t,e,n;if(_e(this,ce,"f"))return void Pe(this,ce,!1,"f");null===(t=this.willMount)||void 0===t||t.call(this);const{observedStores:s,rootElement:i}=this.constructor;null==s||s.forEach((t=>{G(t,_e(this,Se,"f"))}));const o=_e(this,ye,"f").call(this);if(void 0!==o&&Ft(o,_e(this,ae,"f")),Pe(this,pe,null===(e=this.mounted)||void 0===e?void 0:e.call(this),"f"),_e(this,ve,"f").call(this),i&&(null===(n=this.getRootNode().host)||void 0===n?void 0:n.tagName)!==i.toUpperCase())throw new M("not allow current root type")})),p((()=>this[$e]=!1)),this[$e]=!0,this[Ne]=()=>{this.isConnected&&p(_e(this,Se,"f"))},Pe(this,he,t,"f"),Pe(this,ae,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();if(_)return e.adoptedStyleSheets=[...e.adoptedStyleSheets,...t],()=>{e.adoptedStyleSheets=A(e.adoptedStyleSheets,t)};{const n=e===document?document.body:e;return n._sheets=n._sheets||{},t.forEach((({style:t,media:e})=>{if(n._sheets[t])n._sheets[t].count++;else{const s=document.createElement("style");s.innerHTML=t,s.media=e.mediaText,n.append(s),n._sheets[t]={ele:s,count:1}}})),()=>{t.forEach((({style:t})=>{n._sheets[t].count--,n._sheets[t].count||n._sheets[t].ele.remove()}))}}}),(()=>[]))}}get internals(){if(!_e(this,le,"f")){const t=()=>{const t=t=>t.replace(/-/g,"");return{has:e=>t(e)in this.dataset,add:e=>{this.dataset[t(e)]=""},delete:e=>delete this.dataset[t(e)]}};this.attachInternals||(this.attachInternals=()=>({states:t()})),Pe(this,le,this.attachInternals(),"f"),_e(this,le,"f").states||(_e(this,le,"f").states=t())}return _e(this,le,"f")}attributeChangedCallback(){this.isConnected&&p(_e(this,Se,"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(){_e(this,he,"f")?Ce.add(_e(this,xe,"f")):_e(this,xe,"f").call(this)}disconnectedCallback(){var t,e,n;if(this.isConnected)return void Pe(this,ce,!0,"f");const{observedStores:s}=this.constructor;null==s||s.forEach((t=>{B(t,_e(this,Se,"f"))})),Te(_e(this,pe,"f")),null===(t=this.unmounted)||void 0===t||t.call(this),null===(e=_e(this,ue,"f"))||void 0===e||e.forEach((t=>{Te(t.preCallback)})),Pe(this,de,null===(n=_e(this,de,"f"))||void 0===n?void 0:n.filter((({initialized:t})=>!t)),"f")}}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,ge=new WeakMap,ve=new WeakMap,ye=new WeakMap,we=new WeakMap,be=new WeakMap,Se=new WeakMap,Ee=new WeakMap,xe=new WeakMap;const je=new w;function Me(t,e,n){const{booleanAttributes:s,numberAttributes:i}=t.constructor;Object.defineProperty(t,e,{configurable:!0,get(){if(!($e 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=je.get(this),r=o[e],a=i.getAttribute(n);if(this[$e]&&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 Re=Symbol("event handle");function Ae(t,e,n,s){Object.defineProperty(t,e,{configurable:!0,get(){const t=je.get(this)[e];return t||!n?t:(this[e]=ke,this[e])},set(t){const i=this,o=je.get(i);t!==o[e]&&(n?(o[e]=(null==t?void 0:t[Re])?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][Re]=!0):(o[e]=t,this[Ne]()))}})}function He(t,e,n){Object.defineProperty(t,e,{configurable:!0,get(){const t=je.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 We(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 Ve=customElements.define.bind(customElements);function De(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 Ie(t,e){const n=`${N(e)}-${T()}`;De(t,"defineRefs",n),He(t,e,n)}function qe(t,e,n){De(t,"observedAttributes",n),Me(t,e,n)}function Ue(t,e){qe(t,e,N(e))}function Ge(t,e){const n=N(e);De(t,"booleanAttributes",n,!0),qe(t,e,n)}function Be(t,e){const n=N(e);De(t,"numberAttributes",n,!0),qe(t,e,n)}function Fe(t,e){De(t,"observedPropertys",e),Ae(t,e)}function ze(t,e){const n=N(e);De(t,"defineCSSStates",n),We(t,e,`--${n}`)}function Je(t,e){const n=N(t[e]||e);t[e]=n,De(t instanceof Le?t:t.prototype,"defineSlots",n)}function Ke(t,e){const n=N(t[e]||e);t[e]=n,De(t instanceof Le?t:t.prototype,"defineParts",n)}function Qe(t,e){Xe(t,e)}function Ze(t,e){Xe(t,e,{bubbles:!0,composed:!0})}function Xe(t,e,n){const s=N(e);De(t,"defineEvents",s),Ae(t,e,s,n)}function Ye(t){return function(e){De(e.prototype,"adoptedStyleSheets",t)}}function tn(t){return function(e){De(e.prototype,"observedStores",t)}}function en(t){return function(e){e.rootElement=t}}function nn(t){return function(e){Ve(t,e)}}customElements.define=(t,e,n)=>{if(e.prototype instanceof Le){const{observedAttributes:t,observedPropertys:n,defineEvents:s,defineCSSStates:i,defineRefs:o}=e;null==t||t.forEach((t=>Me(e.prototype,L(t),t))),null==n||n.forEach((t=>Ae(e.prototype,t))),null==s||s.forEach((t=>Ae(e.prototype,L(t),t))),null==i||i.forEach((t=>We(e.prototype,L(t),`--${t}`))),null==o||o.forEach((t=>He(e.prototype,L(t),t)))}Ve(t,e,n)};const sn="1.6.2";window.__GEM_DEVTOOLS__HOOK__&&Object.assign(window.__GEM_DEVTOOLS__HOOK__,Object.assign({},n));var on,rn,an,ln,cn=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},hn=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},un=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 dn extends RegExp{constructor(t){const e={};let n=0;super(`^${t.replace(/:([^/$]+)/g,((t,s)=>(e[s]=n++,"([^/]+)"))).replace("*",".*")}$`,"i"),this.namePosition=e}}function pn(t,e){const n=new dn(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 fn(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 mn(t,e){const n=fn(t,e);return Object.assign({path:n},e)}let gn=ln=class extends Le{constructor({isLight:t,routes:e}={}){super({isLight:t}),this.currentParams={},on.set(this,void 0),this.state={content:void 0},rn.set(this,(()=>{if(this.locationStore){const{path:t,query:e,data:n}=F.getParams();U(this.locationStore,{path:t,params:this.currentParams,query:e,data:n})}})),an.set(this,((t,e,n)=>{hn(this,on,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&&U(at,{title:s}),un(this,rn,"f").call(this)})),this.routes=e}mounted(){this.effect((([t,e],n)=>{if(n&&t===n[0]&&e===n[1])return void un(this,rn,"f").call(this);const{route:s,params:i={}}=ln.findRoute(this.routes,e),{redirect:o,content:r,getContent:a}=s||{};if(o)return void F.replace({path:o});const l=r||(null==a?void 0:a(i));if(l instanceof Promise){this.loading(s),hn(this,on,l,"f");const t=()=>un(this,on,"f")===l;l.then((e=>{t()&&un(this,an,"f").call(this,s,i,e)})).catch((e=>{t()&&this.error(e)}))}else un(this,an,"f").call(this,s,i,l)}),(()=>{const{path:t}=F.getParams();return[this.key,t,location.search]}))}shouldUpdate(){return!this.inert}render(){const{content:t}=this.state;return this.shadowRoot?zt`
7
- <style>
8
- :host,
9
- :not(:defined) {
10
- display: contents;
11
- }
12
- </style>
13
- ${null!=t?t:zt`<slot></slot>`}
14
- `:zt`${t}`}};on=new WeakMap,rn=new WeakMap,an=new WeakMap,gn.createLocationStore=()=>{const{path:t,query:e,data:n}=F.getParams();return I({path:t,query:e,data:n,params:{}})},gn.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=pn(t.pattern,e);if(n)return{route:t,params:n}}return{route:s}},cn([Fe],gn.prototype,"routes",void 0),cn([Fe],gn.prototype,"locationStore",void 0),cn([Fe],gn.prototype,"key",void 0),cn([Qe],gn.prototype,"routeChange",void 0),cn([Qe],gn.prototype,"loading",void 0),cn([Qe],gn.prototype,"error",void 0),gn=ln=cn([tn(F.store),nn("gem-route")],gn);let vn=class extends gn{constructor(t={}){super(Object.assign(Object.assign({},t),{isLight:!0}))}};vn=cn([nn("gem-light-route")],vn);var yn=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 wn=class extends Le{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}=F.getParams();if(s+i+o!==n)if(t.stopPropagation(),yield null===(e=this.prepare)||void 0===e?void 0:e.call(this),this.route)F.pushIgnoreCloseHandle(Object.assign(Object.assign({},mn(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);F.pushIgnoreCloseHandle({path:t,query:e,hash:decodeURIComponent(s),title:this.docTitle})}else F.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{l(i.next(t))}catch(t){o(t)}}function a(t){try{l(i.throw(t))}catch(t){o(t)}}function l(e){var n;e.done?t(e.value):(n=e.value,n instanceof s?n:new s((function(t){t(n)}))).then(r,a)}l((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 fn(this.route,this.options)+n+s}{const t=this.href||this.path+this.query+this.hash,{path:e,query:n}=F.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 zt`
15
- <style>
16
- :host {
17
- /* link default style */
18
- cursor: pointer;
19
- color: blue;
20
- text-decoration: underline;
21
- }
22
- a {
23
- all: unset;
24
- display: contents;
25
- }
26
- a:visited {
27
- color: unset;
28
- }
29
- </style>
30
- <a
31
- part=${this.link}
32
- @click=${this.preventDefault}
33
- href=${re("off"===this.hint?void 0:this.isExternal(t)?t:new URL(F.basePath+t,location.origin).toString())}
34
- >
35
- <slot></slot>
36
- </a>
37
- `}};yn([Ue],wn.prototype,"href",void 0),yn([Ue],wn.prototype,"target",void 0),yn([Ue],wn.prototype,"path",void 0),yn([Ue],wn.prototype,"query",void 0),yn([Ue],wn.prototype,"hash",void 0),yn([Ue],wn.prototype,"docTitle",void 0),yn([Ue],wn.prototype,"hint",void 0),yn([Fe],wn.prototype,"route",void 0),yn([Fe],wn.prototype,"options",void 0),yn([Fe],wn.prototype,"prepare",void 0),yn([Ke],wn.prototype,"link",void 0),wn=yn([nn("gem-link"),tn(rt)],wn);let bn=class extends wn{render(){const{path:t,query:e,hash:n}=F.getParams(),s=this.pattern&&pn(this.pattern,t),i=this.getPathInfo();return this.active=!(!s&&t+e+n!==i),super.render(i)}};yn([Ue],bn.prototype,"pattern",void 0),yn([ze],bn.prototype,"active",void 0),bn=yn([nn("gem-active-link"),tn(F.store)],bn);var Sn,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};let xn=Sn=class extends Le{constructor(){super(),new MutationObserver((()=>this.update())).observe(this,{childList:!0,characterData:!0,subtree:!0})}static setTitle(t){U(at,{title:t})}static updateTitle(t="",e=""){const{title:n}=at;n&&n!==Sn.defaultTitle?(Sn.title=n,document.title=Sn.title+e):t?(Sn.title=t,document.title=Sn.title+e):(Sn.title=Sn.defaultTitle,document.title=Sn.title)}render(){return Sn.updateTitle(this.textContent||"",this.suffix),this.hidden?zt``:zt`${Sn.title}`}};xn.title=document.title,xn.defaultTitle=document.title,xn.defaultSuffix=` - ${document.title}`,En([Ue],xn.prototype,"suffix",void 0),xn=Sn=En([tn(at),nn("gem-title")],xn),G(at,xn.updateTitle);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};const Pn=new Map;let kn=class extends Le{getContent(){const t=this.element||(this.selector?(this.root||document).querySelector(this.selector):null);if("string"==typeof t){let e=Pn.get(t);return e||(e=document.createElement("template"),e.innerHTML=t,Pn.set(t,e)),e.content.cloneNode(!0)}return t instanceof HTMLTemplateElement?t.content.cloneNode(!0):null==t?void 0:t.cloneNode(!0)}render(){return zt`
38
- <style>
39
- :host {
40
- position: relative;
41
- }
42
- :host(:not([hidden])) {
43
- display: inline-flex;
44
- align-items: center;
45
- }
46
- svg {
47
- width: 100%;
48
- height: 100%;
49
- }
50
- </style>
51
- ${this.getContent()}
52
- <slot></slot>
53
- `}};_n([Ue],kn.prototype,"selector",void 0),_n([Fe],kn.prototype,"root",void 0),_n([Fe],kn.prototype,"element",void 0),_n([ze],kn.prototype,"active",void 0),kn=_n([nn("gem-use")],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};let Cn=class extends Le{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(){}};Tn([Ue],Cn.prototype,"content",void 0),Tn([Ue],Cn.prototype,"contentcss",void 0),Cn=Tn([nn("gem-unsafe")],Cn);var On=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 $n=class extends Le{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]))}};On([Fe],$n.prototype,"target",void 0),$n=On([nn("gem-reflect")],$n);const Nn=Symbol("open mark");function Ln(t){var e;return(e=class extends Le{constructor(){super(),this.label="",this.internals.role="alertdialog",this.internals.ariaModal="true"}static get isOpen(){return this.store[Nn]}static get observedStores(){return[F.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=()=>U(this.store,Object.assign({[Nn]:!0},t));setTimeout((()=>{n(),F.push({title:e.label,open:n,close:this.closeHandle.bind(this),shouldClose:this.shouldClose.bind(this)})}),100)}static close(){F.back()}static closeHandle(){var e;this.inertStore.forEach((t=>t.inert=!1)),null===(e=this.instance)||void 0===e||e.remove(),U(this.store,Object.assign({[Nn]:!1},t))}static shouldClose(){return!0}}).inertStore=[],e.instance=null,e.store=I(Object.assign({[Nn]:!1},t)),e}var jn,Mn,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},Hn=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)},Wn=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 Vn=class extends Le{constructor(){super(),this.opened=!1,this.inert=!0,jn.set(this,void 0),Mn.set(this,void 0),Rn.set(this,[]),this.label="",this.closeHandle=()=>{var t;this.inert=!0,Hn(this,Rn,"f").forEach((t=>t.inert=!1)),Hn(this,jn,"f")?Hn(this,jn,"f").before(this):Hn(this,Mn,"f")&&(null===(t=Hn(this,Mn,"f"))||void 0===t||t.appendChild(this)),this.dispatchEvent(new CustomEvent("close")),this.opened=!1},this.openHandle=()=>{this.hidden=!1,this.inert=!1,Wn(this,jn,this.nextSibling,"f"),Wn(this,Mn,this.parentElement||this.getRootNode(),"f"),Wn(this,Rn,[...document.body.children].filter((t=>!t.inert)),"f"),Hn(this,Rn,"f").forEach((t=>t.inert=!0)),document.body.append(this),this.dispatchEvent(new CustomEvent("open")),this.opened=!0},this.open=()=>{this.opened||(this.openHandle(),F.push({title:this.label,open:this.openHandle,close:this.closeHandle,shouldClose:this.shouldClose}))},this.close=()=>{F.back()},this.forceClose=()=>{this.opened=!1,setTimeout(this.close,100)},this.internals.role="dialog",this.internals.ariaModal="true"}shouldClose(){return!0}};jn=new WeakMap,Mn=new WeakMap,Rn=new WeakMap,An([ze],Vn.prototype,"opened",void 0),An([Ue],Vn.prototype,"label",void 0),Vn=An([tn(F.store)],Vn);const Dn=new WeakMap;function In(t){return Dn.get(t)}const qn=new WeakMap;function Un(t){return qn.get(t)}function Gn(t){const e=T(),n=document.createElement("style"),s=I(t),i={},o={};qn.set(i,o),Dn.set(i,s),Object.keys(s).forEach((t=>{o[t]=`--${N(t)}-${e}`,i[t]=`var(${o[t]})`}));const r=()=>function(t,e){const n=Dn.get(e),s=qn.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 G(s,r),r(),(document.head||document.documentElement).append(n),i}function Bn(t,e){U(In(t),e)}var Fn,zn,Jn,Kn,Qn,Zn,Xn=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())}))},Yn=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)},ts=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 es=/\$\d(?:<[^>]*>)?/,ns=/\$(\d)(<([^>]*)>)?/g;function ss(t,...e){const n=t.split(es),s=[];let i;for(;i=ns.exec(t);){const t=i[3],n=e[Number(i[1])-1];s.push("string"==typeof n?n:n(t))}return zt(n,...s)}const is=new Set;class os{constructor(t){if(Fn.add(this),this.cachePrefix="gem-i18n",!t.resources[t.fallbackLanguage])throw new M("i18n: fallbackLanguage invalid");this.store=I(this),Object.assign(this,t);let e=Yn(this,Fn,"a",Jn)||this.currentLanguage||Yn(this,Fn,"a",Kn);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?(ts(this,Fn,e,"a",Zn),this.setLanguage(e)):this.resetLanguage()}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}]`;return e.length?ss(o,...e):o}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 Xn(this,void 0,void 0,(function*(){let e;Yn(this,Fn,"a",Qn)&&is.forEach((e=>Xn(this,void 0,void 0,(function*(){return yield e.setLanguage(t)}))));const n=this.resources[t];if(!n)return console.warn(`${this.cachePrefix}: not found \`${t}\``),this.resetLanguage();if("string"==typeof n){const t=`${this.cachePrefix}:`,s=`${t}${n}`,i=localStorage.getItem(s),o=()=>Xn(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,U(this.store,{}),t!==this.currentLanguage&&ts(this,Fn,t,"a",Zn),!0===this.cache&&this.setCache(),t}))}resetLanguage(){return Yn(this,Fn,"a",Qn)&&is.forEach((t=>t.resetLanguage())),ts(this,Fn,this.fallbackLanguage,"a",Zn),this.cache&&localStorage.removeItem(Yn(this,Fn,"a",zn)),this.setLanguage(this.detectLanguage())}setCache(){Yn(this,Fn,"a",Qn)&&is.forEach((t=>t.setCache())),localStorage.setItem(Yn(this,Fn,"a",zn),this.currentLanguage)}createSubModule(t,e){const n=new os({resources:e,cachePrefix:`${this.cachePrefix}-${t}`,currentLanguage:this.currentLanguage,fallbackLanguage:this.fallbackLanguage,cache:this.cache});return is.add(n),n}toJSON(){return{currentLanguage:this.currentLanguage,currentLanguagePack:this.resources[this.currentLanguage]}}}Fn=new WeakSet,zn=function(){return`${this.cachePrefix}:current`},Jn=function(){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:""}},Kn=function(){return this.cache&&localStorage.getItem(Yn(this,Fn,"a",zn))||""},Qn=function(){return!is.has(this)},Zn=function(t){var e;Yn(this,Fn,"a",Qn)&&(document.documentElement.lang=t),this.currentLanguage=t,null===(e=this.onChange)||void 0===e||e.call(this,t)};const rs={credentials:"include",mode:"cors"};function as(t,e={}){return n=this,s=void 0,o=function*(){const n=yield fetch(t,Object.assign(Object.assign({},rs),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 ls=Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array));function cs(t){return t instanceof FormData||t instanceof Blob||t instanceof ls||t instanceof URLSearchParams||t instanceof ReadableStream||t instanceof ArrayBuffer?t:"object"==typeof t?JSON.stringify(t):t}function hs(t,e){const{origin:n,pathname:s,search:i}=new URL(t,location.origin),o=new URLSearchParams(e).toString();return as(`${n}${s}${i?`${i}&`:o?"?":""}${o}`,{method:"GET"})}function us(t){return as(t,{method:"DELETE"})}function ds(t,e){return as(t,{method:"PUT",body:cs(e)})}function ps(t,e){return as(t,{method:"POST",body:cs(e)})}const fs=t=>window.matchMedia(t).matches,ms={PRINT:"print",get isPrint(){return fs(this.PRINT)},HOVER:"(hover: hover)",get isHover(){return fs(this.HOVER)},PHONE:"(min-width: 319px) and (max-width: 480px)",get isPhone(){return fs(this.PHONE)},LAPTOP:"(min-width: 1023px) and (max-width: 1280px) and (orientation: landscape)",get isLaptop(){return fs(this.LAPTOP)},DESKTOP:"(min-width: 1279px) and (orientation: landscape)",get isDesktop(){return fs(this.DESKTOP)},WIDTHSCREEN:"(min-width: 1919px) and (orientation: landscape)",get isWidthScreen(){return fs(this.WIDTHSCREEN)},PHONE_LANDSCAPE:"(min-width: 479px) and (max-width: 767px) and (orientation: landscape)",get isPhoneLandscape(){return fs(this.PHONE_LANDSCAPE)},TABLET:"(min-width: 768px) and (max-width: 1024px)",get isTablet(){return fs(this.TABLET)},SMALL_PHONE:"(min-width: 319px) and (max-width: 480px) and (max-height: 640px)",get isSmallPhone(){return fs(this.SMALL_PHONE)},WATCH:"(max-width: 319px)",get isWatch(){return fs(this.WATCH)},SHORT:"(min-width: 479px) and (max-height: 320px)",get isShort(){return fs(this.SHORT)},PWA:"(display-mode: standalone)",get isPWA(){return fs(this.PWA)},MOTION_REDUCE:"(prefers-reduced-motion: reduce)",get isMotionReduce(){return fs(this.MOTION_REDUCE)},DATA_REDUCE:"(prefers-reduced-data: reduce)",get isDataReduce(){return fs(this.DATA_REDUCE)}};return e})()}));
54
- //# sourceMappingURL=umd.js.map
@@ -1,13 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
4
- * This code may only be used under the BSD style license found at
5
- * http://polymer.github.io/LICENSE.txt
6
- * The complete set of authors may be found at
7
- * http://polymer.github.io/AUTHORS.txt
8
- * The complete set of contributors may be found at
9
- * http://polymer.github.io/CONTRIBUTORS.txt
10
- * Code distributed by Google as part of the polymer project is also
11
- * subject to an additional IP rights grant found at
12
- * http://polymer.github.io/PATENTS.txt
13
- */