@fluid-topics/ft-wc-utils 1.0.46 → 1.0.48
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/build/globals.min.js +3 -3
- package/build/redux/FtLitElementRedux.d.ts +33 -0
- package/build/redux/FtLitElementRedux.js +102 -0
- package/build/redux/FtReduxStore.d.ts +30 -0
- package/build/redux/FtReduxStore.js +102 -0
- package/build/redux/decorators.d.ts +5 -0
- package/build/redux/decorators.js +34 -0
- package/build/redux/index.d.ts +4 -0
- package/build/redux/index.js +4 -0
- package/build/redux/models.d.ts +28 -0
- package/build/redux/models.js +4 -0
- package/package.json +2 -2
- package/build/redux.d.ts +0 -75
- package/build/redux.js +0 -220
package/build/globals.min.js
CHANGED
|
@@ -15,7 +15,7 @@ const e=window,n=e.ShadowRoot&&(void 0===e.ShadyCSS||e.ShadyCSS.nativeShadow)&&"
|
|
|
15
15
|
* Copyright 2017 Google LLC
|
|
16
16
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
17
17
|
*/
|
|
18
|
-
var w;m.finalized=!0,m.elementProperties=new Map,m.elementStyles=[],m.shadowRootOptions={mode:"open"},null==v||v({ReactiveElement:m}),(null!==(l=f.reactiveElementVersions)&&void 0!==l?l:f.reactiveElementVersions=[]).push("1.6.1");const g=window,O=g.trustedTypes,x=O?O.createPolicy("lit-html",{createHTML:t=>t}):void 0,S="$lit$",E=`lit$${(Math.random()+"").slice(9)}$`,j="?"+E,R=`<${j}>`,C=document,N=()=>C.createComment(""),
|
|
18
|
+
var w;m.finalized=!0,m.elementProperties=new Map,m.elementStyles=[],m.shadowRootOptions={mode:"open"},null==v||v({ReactiveElement:m}),(null!==(l=f.reactiveElementVersions)&&void 0!==l?l:f.reactiveElementVersions=[]).push("1.6.1");const g=window,O=g.trustedTypes,x=O?O.createPolicy("lit-html",{createHTML:t=>t}):void 0,S="$lit$",E=`lit$${(Math.random()+"").slice(9)}$`,j="?"+E,R=`<${j}>`,C=document,N=()=>C.createComment(""),A=t=>null===t||"object"!=typeof t&&"function"!=typeof t,M=Array.isArray,_=t=>M(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]),P="[ \t\n\f\r]",$=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,k=/-->/g,U=/>/g,F=RegExp(`>|${P}(?:([^\\s"'>=/]+)(${P}*=${P}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),L=/'/g,T=/"/g,D=/^(?:script|style|textarea|title)$/i,I=t=>(e,...n)=>({_$litType$:t,strings:e,values:n}),B=I(1),W=I(2),K=Symbol.for("lit-noChange"),H=Symbol.for("lit-nothing"),q=new WeakMap,V=C.createTreeWalker(C,129,null,!1),z=(t,e)=>{const n=t.length-1,r=[];let i,o=2===e?"<svg>":"",s=$;for(let e=0;e<n;e++){const n=t[e];let u,c,a=-1,l=0;for(;l<n.length&&(s.lastIndex=l,c=s.exec(n),null!==c);)l=s.lastIndex,s===$?"!--"===c[1]?s=k:void 0!==c[1]?s=U:void 0!==c[2]?(D.test(c[2])&&(i=RegExp("</"+c[2],"g")),s=F):void 0!==c[3]&&(s=F):s===F?">"===c[0]?(s=null!=i?i:$,a=-1):void 0===c[1]?a=-2:(a=s.lastIndex-c[2].length,u=c[1],s=void 0===c[3]?F:'"'===c[3]?T:L):s===T||s===L?s=F:s===k||s===U?s=$:(s=F,i=void 0);const f=s===F&&t[e+1].startsWith("/>")?" ":"";o+=s===$?n+R:a>=0?(r.push(u),n.slice(0,a)+S+n.slice(a)+E+f):n+E+(-2===a?(r.push(void 0),e):f)}const u=o+(t[n]||"<?>")+(2===e?"</svg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==x?x.createHTML(u):u,r]};class J{constructor({strings:t,_$litType$:e},n){let r;this.parts=[];let i=0,o=0;const s=t.length-1,u=this.parts,[c,a]=z(t,e);if(this.el=J.createElement(c,n),V.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(r=V.nextNode())&&u.length<s;){if(1===r.nodeType){if(r.hasAttributes()){const t=[];for(const e of r.getAttributeNames())if(e.endsWith(S)||e.startsWith(E)){const n=a[o++];if(t.push(e),void 0!==n){const t=r.getAttribute(n.toLowerCase()+S).split(E),e=/([.?@])?(.*)/.exec(n);u.push({type:1,index:i,name:e[2],strings:t,ctor:"."===e[1]?Y:"?"===e[1]?et:"@"===e[1]?nt:Q})}else u.push({type:6,index:i})}for(const e of t)r.removeAttribute(e)}if(D.test(r.tagName)){const t=r.textContent.split(E),e=t.length-1;if(e>0){r.textContent=O?O.emptyScript:"";for(let n=0;n<e;n++)r.append(t[n],N()),V.nextNode(),u.push({type:2,index:++i});r.append(t[e],N())}}}else if(8===r.nodeType)if(r.data===j)u.push({type:2,index:i});else{let t=-1;for(;-1!==(t=r.data.indexOf(E,t+1));)u.push({type:7,index:i}),t+=E.length-1}i++}}static createElement(t,e){const n=C.createElement("template");return n.innerHTML=t,n}}function Z(t,e,n=t,r){var i,o,s,u;if(e===K)return e;let c=void 0!==r?null===(i=n._$Co)||void 0===i?void 0:i[r]:n._$Cl;const a=A(e)?void 0:e._$litDirective$;return(null==c?void 0:c.constructor)!==a&&(null===(o=null==c?void 0:c._$AO)||void 0===o||o.call(c,!1),void 0===a?c=void 0:(c=new a(t),c._$AT(t,n,r)),void 0!==r?(null!==(s=(u=n)._$Co)&&void 0!==s?s:u._$Co=[])[r]=c:n._$Cl=c),void 0!==c&&(e=Z(t,c._$AS(t,e.values),c,r)),e}let X=class{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var e;const{el:{content:n},parts:r}=this._$AD,i=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:C).importNode(n,!0);V.currentNode=i;let o=V.nextNode(),s=0,u=0,c=r[0];for(;void 0!==c;){if(s===c.index){let e;2===c.type?e=new G(o,o.nextSibling,this,t):1===c.type?e=new c.ctor(o,c.name,c.strings,this,t):6===c.type&&(e=new rt(o,this,t)),this._$AV.push(e),c=r[++u]}s!==(null==c?void 0:c.index)&&(o=V.nextNode(),s++)}return i}v(t){let e=0;for(const n of this._$AV)void 0!==n&&(void 0!==n.strings?(n._$AI(t,n,e),e+=n.strings.length-2):n._$AI(t[e])),e++}},G=class t{constructor(t,e,n,r){var i;this.type=2,this._$AH=H,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=n,this.options=r,this._$Cp=null===(i=null==r?void 0:r.isConnected)||void 0===i||i}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===(null==t?void 0:t.nodeType)&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=Z(this,t,e),A(t)?t===H||null==t||""===t?(this._$AH!==H&&this._$AR(),this._$AH=H):t!==this._$AH&&t!==K&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):_(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==H&&A(this._$AH)?this._$AA.nextSibling.data=t:this.$(C.createTextNode(t)),this._$AH=t}g(t){var e;const{values:n,_$litType$:r}=t,i="number"==typeof r?this._$AC(t):(void 0===r.el&&(r.el=J.createElement(r.h,this.options)),r);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===i)this._$AH.v(n);else{const t=new X(i,this),e=t.u(this.options);t.v(n),this.$(e),this._$AH=t}}_$AC(t){let e=q.get(t.strings);return void 0===e&&q.set(t.strings,e=new J(t)),e}T(e){M(this._$AH)||(this._$AH=[],this._$AR());const n=this._$AH;let r,i=0;for(const o of e)i===n.length?n.push(r=new t(this.k(N()),this.k(N()),this,this.options)):r=n[i],r._$AI(o),i++;i<n.length&&(this._$AR(r&&r._$AB.nextSibling,i),n.length=i)}_$AR(t=this._$AA.nextSibling,e){var n;for(null===(n=this._$AP)||void 0===n||n.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cp=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}},Q=class{constructor(t,e,n,r,i){this.type=1,this._$AH=H,this._$AN=void 0,this.element=t,this.name=e,this._$AM=r,this.options=i,n.length>2||""!==n[0]||""!==n[1]?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=H}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,n,r){const i=this.strings;let o=!1;if(void 0===i)t=Z(this,t,e,0),o=!A(t)||t!==this._$AH&&t!==K,o&&(this._$AH=t);else{const r=t;let s,u;for(t=i[0],s=0;s<i.length-1;s++)u=Z(this,r[n+s],e,s),u===K&&(u=this._$AH[s]),o||(o=!A(u)||u!==this._$AH[s]),u===H?t=H:t!==H&&(t+=(null!=u?u:"")+i[s+1]),this._$AH[s]=u}o&&!r&&this.j(t)}j(t){t===H?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}},Y=class extends Q{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===H?void 0:t}};const tt=O?O.emptyScript:"";let et=class extends Q{constructor(){super(...arguments),this.type=4}j(t){t&&t!==H?this.element.setAttribute(this.name,tt):this.element.removeAttribute(this.name)}},nt=class extends Q{constructor(t,e,n,r,i){super(t,e,n,r,i),this.type=5}_$AI(t,e=this){var n;if((t=null!==(n=Z(this,t,e,0))&&void 0!==n?n:H)===K)return;const r=this._$AH,i=t===H&&r!==H||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,o=t!==H&&(r===H||i);i&&this.element.removeEventListener(this.name,this,r),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,n;"function"==typeof this._$AH?this._$AH.call(null!==(n=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==n?n:this.element,t):this._$AH.handleEvent(t)}},rt=class{constructor(t,e,n){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(t){Z(this,t)}};const it={O:S,P:E,A:j,C:1,M:z,L:X,D:_,R:Z,I:G,V:Q,H:et,N:nt,U:Y,F:rt},ot=g.litHtmlPolyfillSupport;null==ot||ot(J,G),(null!==(w=g.litHtmlVersions)&&void 0!==w?w:g.litHtmlVersions=[]).push("2.7.3");const st=(t,e,n)=>{var r,i;const o=null!==(r=null==n?void 0:n.renderBefore)&&void 0!==r?r:e;let s=o._$litPart$;if(void 0===s){const t=null!==(i=null==n?void 0:n.renderBefore)&&void 0!==i?i:null;o._$litPart$=s=new G(e.insertBefore(N(),t),t,void 0,null!=n?n:{})}return s._$AI(t),s
|
|
19
19
|
/**
|
|
20
20
|
* @license
|
|
21
21
|
* Copyright 2017 Google LLC
|
|
@@ -82,7 +82,7 @@ var bt;const yt=null!=(null===(bt=window.HTMLSlotElement)||void 0===bt?void 0:bt
|
|
|
82
82
|
* @license
|
|
83
83
|
* Copyright 2020 Google LLC
|
|
84
84
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
85
|
-
*/const{I:Et}=it,jt=()=>document.createComment(""),Rt=(t,e,n)=>{var r;const i=t._$AA.parentNode,o=void 0===e?t._$AB:e._$AA;if(void 0===n){const e=i.insertBefore(jt(),o),r=i.insertBefore(jt(),o);n=new Et(e,r,t,t.options)}else{const e=n._$AB.nextSibling,s=n._$AM,u=s!==t;if(u){let e;null===(r=n._$AQ)||void 0===r||r.call(n,t),n._$AM=t,void 0!==n._$AP&&(e=t._$AU)!==s._$AU&&n._$AP(e)}if(e!==o||u){let t=n._$AA;for(;t!==e;){const e=t.nextSibling;i.insertBefore(t,o),t=e}}}return n},Ct=(t,e,n=t)=>(t._$AI(e,n),t),Nt={},
|
|
85
|
+
*/const{I:Et}=it,jt=()=>document.createComment(""),Rt=(t,e,n)=>{var r;const i=t._$AA.parentNode,o=void 0===e?t._$AB:e._$AA;if(void 0===n){const e=i.insertBefore(jt(),o),r=i.insertBefore(jt(),o);n=new Et(e,r,t,t.options)}else{const e=n._$AB.nextSibling,s=n._$AM,u=s!==t;if(u){let e;null===(r=n._$AQ)||void 0===r||r.call(n,t),n._$AM=t,void 0!==n._$AP&&(e=t._$AU)!==s._$AU&&n._$AP(e)}if(e!==o||u){let t=n._$AA;for(;t!==e;){const e=t.nextSibling;i.insertBefore(t,o),t=e}}}return n},Ct=(t,e,n=t)=>(t._$AI(e,n),t),Nt={},At=t=>{var e;null===(e=t._$AP)||void 0===e||e.call(t,!1,!0);let n=t._$AA;const r=t._$AB.nextSibling;for(;n!==r;){const t=n.nextSibling;n.remove(),n=t}},Mt=(t,e,n)=>{const r=new Map;for(let i=e;i<=n;i++)r.set(t[i],i);return r},_t=xt(class extends St{constructor(t){if(super(t),t.type!==Ot)throw Error("repeat() can only be used in text expressions")}dt(t,e,n){let r;void 0===n?n=e:void 0!==e&&(r=e);const i=[],o=[];let s=0;for(const e of t)i[s]=r?r(e,s):s,o[s]=n(e,s),s++;return{values:o,keys:i}}render(t,e,n){return this.dt(t,e,n).values}update(t,[e,n,r]){var i;const o=(t=>t._$AH)(t),{values:s,keys:u}=this.dt(e,n,r);if(!Array.isArray(o))return this.ht=u,s;const c=null!==(i=this.ht)&&void 0!==i?i:this.ht=[],a=[];let l,f,h=0,d=o.length-1,v=0,p=s.length-1;for(;h<=d&&v<=p;)if(null===o[h])h++;else if(null===o[d])d--;else if(c[h]===u[v])a[v]=Ct(o[h],s[v]),h++,v++;else if(c[d]===u[p])a[p]=Ct(o[d],s[p]),d--,p--;else if(c[h]===u[p])a[p]=Ct(o[h],s[p]),Rt(t,a[p+1],o[h]),h++,p--;else if(c[d]===u[v])a[v]=Ct(o[d],s[v]),Rt(t,o[h],o[d]),d--,v++;else if(void 0===l&&(l=Mt(u,v,p),f=Mt(c,h,d)),l.has(c[h]))if(l.has(c[d])){const e=f.get(u[v]),n=void 0!==e?o[e]:null;if(null===n){const e=Rt(t,o[h]);Ct(e,s[v]),a[v]=e}else a[v]=Ct(n,s[v]),Rt(t,o[h],n),o[e]=null;v++}else At(o[d]),d--;else At(o[h]),h++;for(;v<=p;){const e=Rt(t,a[p+1]);Ct(e,s[v]),a[v++]=e}for(;h<=d;){const t=o[h++];null!==t&&At(t)}return this.ht=u,((t,e=Nt)=>{t._$AH=e})(t,a),K}});
|
|
86
86
|
/**
|
|
87
87
|
* @license
|
|
88
88
|
* Copyright 2017 Google LLC
|
|
@@ -149,4 +149,4 @@ var bt;const yt=null!=(null===(bt=window.HTMLSlotElement)||void 0===bt?void 0:bt
|
|
|
149
149
|
display: inline-block;
|
|
150
150
|
width: 0;
|
|
151
151
|
}
|
|
152
|
-
`;function le(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];throw Error("[Immer] minified error nr: "+t+(n.length?" "+n.map((function(t){return"'"+t+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function fe(t){return!!t&&!!t[Ge]}function he(t){var e;return!!t&&(function(t){if(!t||"object"!=typeof t)return!1;var e=Object.getPrototypeOf(t);if(null===e)return!0;var n=Object.hasOwnProperty.call(e,"constructor")&&e.constructor;return n===Object||"function"==typeof n&&Function.toString.call(n)===Qe}(t)||Array.isArray(t)||!!t[Xe]||!!(null===(e=t.constructor)||void 0===e?void 0:e[Xe])||me(t)||we(t))}function de(t,e,n){void 0===n&&(n=!1),0===ve(t)?(n?Object.keys:Ye)(t).forEach((function(r){n&&"symbol"==typeof r||e(r,t[r],t)})):t.forEach((function(n,r){return e(r,n,t)}))}function ve(t){var e=t[Ge];return e?e.i>3?e.i-4:e.i:Array.isArray(t)?1:me(t)?2:we(t)?3:0}function pe(t,e){return 2===ve(t)?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function be(t,e,n){var r=ve(t);2===r?t.set(e,n):3===r?t.add(n):t[e]=n}function ye(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}function me(t){return Ve&&t instanceof Map}function we(t){return ze&&t instanceof Set}function ge(t){return t.o||t.t}function Oe(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var e=tn(t);delete e[Ge];for(var n=Ye(e),r=0;r<n.length;r++){var i=n[r],o=e[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(e[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:t[i]})}return Object.create(Object.getPrototypeOf(t),e)}function xe(t,e){return void 0===e&&(e=!1),Ee(t)||fe(t)||!he(t)||(ve(t)>1&&(t.set=t.add=t.clear=t.delete=Se),Object.freeze(t),e&&de(t,(function(t,e){return xe(e,!0)}),!0)),t}function Se(){le(2)}function Ee(t){return null==t||"object"!=typeof t||Object.isFrozen(t)}function je(t){var e=en[t];return e||le(18,t),e}function Re(){return He}function Ce(t,e){e&&(je("Patches"),t.u=[],t.s=[],t.v=e)}function Ne(t){Me(t),t.p.forEach(_e),t.p=null}function Me(t){t===He&&(He=t.l)}function Ae(t){return He={p:[],l:He,h:t,m:!0,_:0}}function _e(t){var e=t[Ge];0===e.i||1===e.i?e.j():e.g=!0}function Pe(t,e){e._=e.p.length;var n=e.p[0],r=void 0!==t&&t!==n;return e.h.O||je("ES5").S(e,t,r),r?(n[Ge].P&&(Ne(e),le(4)),he(t)&&(t=$e(e,t),e.l||Ue(e,t)),e.u&&je("Patches").M(n[Ge].t,t,e.u,e.s)):t=$e(e,n,[]),Ne(e),e.u&&e.v(e.u,e.s),t!==Ze?t:void 0}function $e(t,e,n){if(Ee(e))return e;var r=e[Ge];if(!r)return de(e,(function(i,o){return ke(t,r,e,i,o,n)}),!0),e;if(r.A!==t)return e;if(!r.P)return Ue(t,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=4===r.i||5===r.i?r.o=Oe(r.k):r.o,o=i,s=!1;3===r.i&&(o=new Set(i),i.clear(),s=!0),de(o,(function(e,o){return ke(t,r,i,e,o,n,s)})),Ue(t,i,!1),n&&t.u&&je("Patches").N(r,n,t.u,t.s)}return r.o}function ke(t,e,n,r,i,o,s){if(fe(i)){var u=$e(t,i,o&&e&&3!==e.i&&!pe(e.R,r)?o.concat(r):void 0);if(be(n,r,u),!fe(u))return;t.m=!1}else s&&n.add(i);if(he(i)&&!Ee(i)){if(!t.h.D&&t._<1)return;$e(t,i),e&&e.A.l||Ue(t,i)}}function Ue(t,e,n){void 0===n&&(n=!1),!t.l&&t.h.D&&t.m&&xe(e,n)}function Fe(t,e){var n=t[Ge];return(n?ge(n):t)[e]}function Le(t,e){if(e in t)for(var n=Object.getPrototypeOf(t);n;){var r=Object.getOwnPropertyDescriptor(n,e);if(r)return r;n=Object.getPrototypeOf(n)}}function Te(t){t.P||(t.P=!0,t.l&&Te(t.l))}function De(t){t.o||(t.o=Oe(t.t))}function Ie(t,e,n){var r=me(e)?je("MapSet").F(e,n):we(e)?je("MapSet").T(e,n):t.O?function(t,e){var n=Array.isArray(t),r={i:n?1:0,A:e?e.A:Re(),P:!1,I:!1,R:{},l:e,t,k:null,o:null,j:null,C:!1},i=r,o=nn;n&&(i=[r],o=rn);var s=Proxy.revocable(i,o),u=s.revoke,c=s.proxy;return r.k=c,r.j=u,c}(e,n):je("ES5").J(e,n);return(n?n.A:Re()).p.push(r),r}function Be(t){return fe(t)||le(22,t),function t(e){if(!he(e))return e;var n,r=e[Ge],i=ve(e);if(r){if(!r.P&&(r.i<4||!je("ES5").K(r)))return r.t;r.I=!0,n=We(e,i),r.I=!1}else n=We(e,i);return de(n,(function(e,i){r&&function(t,e){return 2===ve(t)?t.get(e):t[e]}(r.t,e)===i||be(n,e,t(i))})),3===i?new Set(n):n}(t)}function We(t,e){switch(e){case 2:return new Map(t);case 3:return Array.from(t)}return Oe(t)}var Ke,He,qe="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),Ve="undefined"!=typeof Map,ze="undefined"!=typeof Set,Je="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,Ze=qe?Symbol.for("immer-nothing"):((Ke={})["immer-nothing"]=!0,Ke),Xe=qe?Symbol.for("immer-draftable"):"__$immer_draftable",Ge=qe?Symbol.for("immer-state"):"__$immer_state",Qe=""+Object.prototype.constructor,Ye="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,tn=Object.getOwnPropertyDescriptors||function(t){var e={};return Ye(t).forEach((function(n){e[n]=Object.getOwnPropertyDescriptor(t,n)})),e},en={},nn={get:function(t,e){if(e===Ge)return t;var n=ge(t);if(!pe(n,e))return function(t,e,n){var r,i=Le(e,n);return i?"value"in i?i.value:null===(r=i.get)||void 0===r?void 0:r.call(t.k):void 0}(t,n,e);var r=n[e];return t.I||!he(r)?r:r===Fe(t.t,e)?(De(t),t.o[e]=Ie(t.A.h,r,t)):r},has:function(t,e){return e in ge(t)},ownKeys:function(t){return Reflect.ownKeys(ge(t))},set:function(t,e,n){var r=Le(ge(t),e);if(null==r?void 0:r.set)return r.set.call(t.k,n),!0;if(!t.P){var i=Fe(ge(t),e),o=null==i?void 0:i[Ge];if(o&&o.t===n)return t.o[e]=n,t.R[e]=!1,!0;if(ye(n,i)&&(void 0!==n||pe(t.t,e)))return!0;De(t),Te(t)}return t.o[e]===n&&(void 0!==n||e in t.o)||Number.isNaN(n)&&Number.isNaN(t.o[e])||(t.o[e]=n,t.R[e]=!0),!0},deleteProperty:function(t,e){return void 0!==Fe(t.t,e)||e in t.t?(t.R[e]=!1,De(t),Te(t)):delete t.R[e],t.o&&delete t.o[e],!0},getOwnPropertyDescriptor:function(t,e){var n=ge(t),r=Reflect.getOwnPropertyDescriptor(n,e);return r?{writable:!0,configurable:1!==t.i||"length"!==e,enumerable:r.enumerable,value:n[e]}:r},defineProperty:function(){le(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){le(12)}},rn={};de(nn,(function(t,e){rn[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}})),rn.deleteProperty=function(t,e){return rn.set.call(this,t,e,void 0)},rn.set=function(t,e,n){return nn.set.call(this,t[0],e,n,t[0])};var on=function(){function t(t){var e=this;this.O=Je,this.D=!0,this.produce=function(t,n,r){if("function"==typeof t&&"function"!=typeof n){var i=n;n=t;var o=e;return function(t){var e=this;void 0===t&&(t=i);for(var r=arguments.length,s=Array(r>1?r-1:0),u=1;u<r;u++)s[u-1]=arguments[u];return o.produce(t,(function(t){var r;return(r=n).call.apply(r,[e,t].concat(s))}))}}var s;if("function"!=typeof n&&le(6),void 0!==r&&"function"!=typeof r&&le(7),he(t)){var u=Ae(e),c=Ie(e,t,void 0),a=!0;try{s=n(c),a=!1}finally{a?Ne(u):Me(u)}return"undefined"!=typeof Promise&&s instanceof Promise?s.then((function(t){return Ce(u,r),Pe(t,u)}),(function(t){throw Ne(u),t})):(Ce(u,r),Pe(s,u))}if(!t||"object"!=typeof t){if(void 0===(s=n(t))&&(s=t),s===Ze&&(s=void 0),e.D&&xe(s,!0),r){var l=[],f=[];je("Patches").M(t,s,l,f),r(l,f)}return s}le(21,t)},this.produceWithPatches=function(t,n){if("function"==typeof t)return function(n){for(var r=arguments.length,i=Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];return e.produceWithPatches(n,(function(e){return t.apply(void 0,[e].concat(i))}))};var r,i,o=e.produce(t,n,(function(t,e){r=t,i=e}));return"undefined"!=typeof Promise&&o instanceof Promise?o.then((function(t){return[t,r,i]})):[o,r,i]},"boolean"==typeof(null==t?void 0:t.useProxies)&&this.setUseProxies(t.useProxies),"boolean"==typeof(null==t?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze)}var e=t.prototype;return e.createDraft=function(t){he(t)||le(8),fe(t)&&(t=Be(t));var e=Ae(this),n=Ie(this,t,void 0);return n[Ge].C=!0,Me(e),n},e.finishDraft=function(t,e){var n=(t&&t[Ge]).A;return Ce(n,e),Pe(void 0,n)},e.setAutoFreeze=function(t){this.D=t},e.setUseProxies=function(t){t&&!Je&&le(20),this.O=t},e.applyPatches=function(t,e){var n;for(n=e.length-1;n>=0;n--){var r=e[n];if(0===r.path.length&&"replace"===r.op){t=r.value;break}}n>-1&&(e=e.slice(n+1));var i=je("Patches").$;return fe(t)?i(t,e):this.produce(t,(function(t){return i(t,e)}))},t}(),sn=new on,un=sn.produce;function cn(t){return cn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},cn(t)}function an(t){var e=function(t,e){if("object"!==cn(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==cn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===cn(e)?e:String(e)}function ln(t,e,n){return(e=an(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function fn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function hn(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?fn(Object(n),!0).forEach((function(e){ln(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):fn(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function dn(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}sn.produceWithPatches.bind(sn),sn.setAutoFreeze.bind(sn),sn.setUseProxies.bind(sn),sn.applyPatches.bind(sn),sn.createDraft.bind(sn),sn.finishDraft.bind(sn);var vn="function"==typeof Symbol&&Symbol.observable||"@@observable",pn=function(){return Math.random().toString(36).substring(7).split("").join(".")},bn={INIT:"@@redux/INIT"+pn(),REPLACE:"@@redux/REPLACE"+pn(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+pn()}};function yn(t,e,n){var r;if("function"==typeof e&&"function"==typeof n||"function"==typeof n&&"function"==typeof arguments[3])throw new Error(dn(0));if("function"==typeof e&&void 0===n&&(n=e,e=void 0),void 0!==n){if("function"!=typeof n)throw new Error(dn(1));return n(yn)(t,e)}if("function"!=typeof t)throw new Error(dn(2));var i=t,o=e,s=[],u=s,c=!1;function a(){u===s&&(u=s.slice())}function l(){if(c)throw new Error(dn(3));return o}function f(t){if("function"!=typeof t)throw new Error(dn(4));if(c)throw new Error(dn(5));var e=!0;return a(),u.push(t),function(){if(e){if(c)throw new Error(dn(6));e=!1,a();var n=u.indexOf(t);u.splice(n,1),s=null}}}function h(t){if(!function(t){if("object"!=typeof t||null===t)return!1;for(var e=t;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}(t))throw new Error(dn(7));if(void 0===t.type)throw new Error(dn(8));if(c)throw new Error(dn(9));try{c=!0,o=i(o,t)}finally{c=!1}for(var e=s=u,n=0;n<e.length;n++){(0,e[n])()}return t}return h({type:bn.INIT}),(r={dispatch:h,subscribe:f,getState:l,replaceReducer:function(t){if("function"!=typeof t)throw new Error(dn(10));i=t,h({type:bn.REPLACE})}})[vn]=function(){var t,e=f;return(t={subscribe:function(t){if("object"!=typeof t||null===t)throw new Error(dn(11));function n(){t.next&&t.next(l())}return n(),{unsubscribe:e(n)}}})[vn]=function(){return this},t},r}function mn(t){for(var e=Object.keys(t),n={},r=0;r<e.length;r++){var i=e[r];"function"==typeof t[i]&&(n[i]=t[i])}var o,s=Object.keys(n);try{!function(t){Object.keys(t).forEach((function(e){var n=t[e];if(void 0===n(void 0,{type:bn.INIT}))throw new Error(dn(12));if(void 0===n(void 0,{type:bn.PROBE_UNKNOWN_ACTION()}))throw new Error(dn(13))}))}(n)}catch(t){o=t}return function(t,e){if(void 0===t&&(t={}),o)throw o;for(var r=!1,i={},u=0;u<s.length;u++){var c=s[u],a=n[c],l=t[c],f=a(l,e);if(void 0===f)throw e&&e.type,new Error(dn(14));i[c]=f,r=r||f!==l}return(r=r||s.length!==Object.keys(t).length)?i:t}}function wn(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return 0===e.length?function(t){return t}:1===e.length?e[0]:e.reduce((function(t,e){return function(){return t(e.apply(void 0,arguments))}}))}function gn(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return function(){var n=t.apply(void 0,arguments),r=function(){throw new Error(dn(15))},i={getState:n.getState,dispatch:function(){return r.apply(void 0,arguments)}},o=e.map((function(t){return t(i)}));return r=wn.apply(void 0,o)(n.dispatch),hn(hn({},n),{},{dispatch:r})}}}function On(t){return function(e){var n=e.dispatch,r=e.getState;return function(e){return function(i){return"function"==typeof i?i(n,r,t):e(i)}}}}var xn=On();xn.withExtraArgument=On;var Sn,En=xn,jn=(Sn=function(t,e){return Sn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},Sn(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}Sn(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),Rn=function(t,e){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(o){return function(u){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,u])}}},Cn=function(t,e){for(var n=0,r=e.length,i=t.length;n<r;n++,i++)t[i]=e[n];return t},Nn=Object.defineProperty,Mn=Object.defineProperties,An=Object.getOwnPropertyDescriptors,_n=Object.getOwnPropertySymbols,Pn=Object.prototype.hasOwnProperty,$n=Object.prototype.propertyIsEnumerable,kn=function(t,e,n){return e in t?Nn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n},Un=function(t,e){for(var n in e||(e={}))Pn.call(e,n)&&kn(t,n,e[n]);if(_n)for(var r=0,i=_n(e);r<i.length;r++){n=i[r];$n.call(e,n)&&kn(t,n,e[n])}return t},Fn=function(t,e){return Mn(t,An(e))},Ln="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(0!==arguments.length)return"object"==typeof arguments[0]?wn:wn.apply(null,arguments)};var Tn=function(t){function e(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var i=t.apply(this,n)||this;return Object.setPrototypeOf(i,e.prototype),i}return jn(e,t),Object.defineProperty(e,Symbol.species,{get:function(){return e},enumerable:!1,configurable:!0}),e.prototype.concat=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return t.prototype.concat.apply(this,e)},e.prototype.prepend=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return 1===t.length&&Array.isArray(t[0])?new(e.bind.apply(e,Cn([void 0],t[0].concat(this)))):new(e.bind.apply(e,Cn([void 0],t.concat(this))))},e}(Array),Dn=function(t){function e(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var i=t.apply(this,n)||this;return Object.setPrototypeOf(i,e.prototype),i}return jn(e,t),Object.defineProperty(e,Symbol.species,{get:function(){return e},enumerable:!1,configurable:!0}),e.prototype.concat=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return t.prototype.concat.apply(this,e)},e.prototype.prepend=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return 1===t.length&&Array.isArray(t[0])?new(e.bind.apply(e,Cn([void 0],t[0].concat(this)))):new(e.bind.apply(e,Cn([void 0],t.concat(this))))},e}(Array);function In(t){return he(t)?un(t,(function(){})):t}function Bn(){return function(t){return function(t){void 0===t&&(t={});var e=t.thunk,n=void 0===e||e;t.immutableCheck,t.serializableCheck;var r=new Tn;n&&(!function(t){return"boolean"==typeof t}(n)?r.push(En.withExtraArgument(n.extraArgument)):r.push(En));return r}(t)}}function Wn(t){var e,n=Bn(),r=t||{},i=r.reducer,o=void 0===i?void 0:i,s=r.middleware,u=void 0===s?n():s,c=r.devTools,a=void 0===c||c,l=r.preloadedState,f=void 0===l?void 0:l,h=r.enhancers,d=void 0===h?void 0:h;if("function"==typeof o)e=o;else{if(!function(t){if("object"!=typeof t||null===t)return!1;var e=Object.getPrototypeOf(t);if(null===e)return!0;for(var n=e;null!==Object.getPrototypeOf(n);)n=Object.getPrototypeOf(n);return e===n}(o))throw new Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');e=mn(o)}var v=u;"function"==typeof v&&(v=v(n));var p=gn.apply(void 0,v),b=wn;a&&(b=Ln(Un({trace:!1},"object"==typeof a&&a)));var y=new Dn(p),m=y;return Array.isArray(d)?m=Cn([p],d):"function"==typeof d&&(m=d(y)),yn(e,f,b.apply(void 0,m))}function Kn(t,e){function n(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];if(e){var i=e.apply(void 0,n);if(!i)throw new Error("prepareAction did not return an object");return Un(Un({type:t,payload:i.payload},"meta"in i&&{meta:i.meta}),"error"in i&&{error:i.error})}return{type:t,payload:n[0]}}return n.toString=function(){return""+t},n.type=t,n.match=function(e){return e.type===t},n}function Hn(t){var e,n={},r=[],i={addCase:function(t,e){var r="string"==typeof t?t:t.type;if(r in n)throw new Error("addCase cannot be called with two reducers for the same action type");return n[r]=e,i},addMatcher:function(t,e){return r.push({matcher:t,reducer:e}),i},addDefaultCase:function(t){return e=t,i}};return t(i),[n,r,e]}function qn(t){var e=t.name;if(!e)throw new Error("`name` is a required option for createSlice");var n,r="function"==typeof t.initialState?t.initialState:In(t.initialState),i=t.reducers||{},o=Object.keys(i),s={},u={},c={};function a(){var e="function"==typeof t.extraReducers?Hn(t.extraReducers):[t.extraReducers],n=e[0],i=void 0===n?{}:n,o=e[1],s=void 0===o?[]:o,c=e[2],a=void 0===c?void 0:c,l=Un(Un({},i),u);return function(t,e,n,r){void 0===n&&(n=[]);var i,o="function"==typeof e?Hn(e):[e,n,r],s=o[0],u=o[1],c=o[2];if(function(t){return"function"==typeof t}(t))i=function(){return In(t())};else{var a=In(t);i=function(){return a}}function l(t,e){void 0===t&&(t=i());var n=Cn([s[e.type]],u.filter((function(t){return(0,t.matcher)(e)})).map((function(t){return t.reducer})));return 0===n.filter((function(t){return!!t})).length&&(n=[c]),n.reduce((function(t,n){if(n){var r;if(fe(t))return void 0===(r=n(t,e))?t:r;if(he(t))return un(t,(function(t){return n(t,e)}));if(void 0===(r=n(t,e))){if(null===t)return t;throw Error("A case reducer on a non-draftable value must not return undefined")}return r}return t}),t)}return l.getInitialState=i,l}(r,(function(t){for(var e in l)t.addCase(e,l[e]);for(var n=0,r=s;n<r.length;n++){var i=r[n];t.addMatcher(i.matcher,i.reducer)}a&&t.addDefaultCase(a)}))}return o.forEach((function(t){var n,r,o=i[t],a=e+"/"+t;"reducer"in o?(n=o.reducer,r=o.prepare):n=o,s[t]=n,u[a]=n,c[t]=r?Kn(a,r):Kn(a)})),{name:e,reducer:function(t,e){return n||(n=a()),n(t,e)},actions:c,caseReducers:s,getInitialState:function(){return n||(n=a()),n.getInitialState()}}}var Vn=["name","message","stack","code"],zn=function(t,e){this.payload=t,this.meta=e},Jn=function(t,e){this.payload=t,this.meta=e},Zn=function(t){if("object"==typeof t&&null!==t){for(var e={},n=0,r=Vn;n<r.length;n++){var i=r[n];"string"==typeof t[i]&&(e[i]=t[i])}return e}return{message:String(t)}};function Xn(t){if(t.meta&&t.meta.rejectedWithValue)throw t.payload;if(t.error)throw t.error;return t.payload}!function(){function t(t,e,n){var r=Kn(t+"/fulfilled",(function(t,e,n,r){return{payload:t,meta:Fn(Un({},r||{}),{arg:n,requestId:e,requestStatus:"fulfilled"})}})),i=Kn(t+"/pending",(function(t,e,n){return{payload:void 0,meta:Fn(Un({},n||{}),{arg:e,requestId:t,requestStatus:"pending"})}})),o=Kn(t+"/rejected",(function(t,e,r,i,o){return{payload:i,error:(n&&n.serializeError||Zn)(t||"Rejected"),meta:Fn(Un({},o||{}),{arg:r,requestId:e,rejectedWithValue:!!i,requestStatus:"rejected",aborted:"AbortError"===(null==t?void 0:t.name),condition:"ConditionError"===(null==t?void 0:t.name)})}})),s="undefined"!=typeof AbortController?AbortController:function(){function t(){this.signal={aborted:!1,addEventListener:function(){},dispatchEvent:function(){return!1},onabort:function(){},removeEventListener:function(){},reason:void 0,throwIfAborted:function(){}}}return t.prototype.abort=function(){},t}();return Object.assign((function(t){return function(u,c,a){var l,f=(null==n?void 0:n.idGenerator)?n.idGenerator(t):function(t){void 0===t&&(t=21);for(var e="",n=t;n--;)e+="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW"[64*Math.random()|0];return e}(),h=new s;function d(t){l=t,h.abort()}var v=function(){return s=this,v=null,p=function(){var s,v,p,b,y,m;return Rn(this,(function(w){switch(w.label){case 0:return w.trys.push([0,4,,5]),b=null==(s=null==n?void 0:n.condition)?void 0:s.call(n,t,{getState:c,extra:a}),null===(g=b)||"object"!=typeof g||"function"!=typeof g.then?[3,2]:[4,b];case 1:b=w.sent(),w.label=2;case 2:if(!1===b||h.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};return y=new Promise((function(t,e){return h.signal.addEventListener("abort",(function(){return e({name:"AbortError",message:l||"Aborted"})}))})),u(i(f,t,null==(v=null==n?void 0:n.getPendingMeta)?void 0:v.call(n,{requestId:f,arg:t},{getState:c,extra:a}))),[4,Promise.race([y,Promise.resolve(e(t,{dispatch:u,getState:c,extra:a,requestId:f,signal:h.signal,abort:d,rejectWithValue:function(t,e){return new zn(t,e)},fulfillWithValue:function(t,e){return new Jn(t,e)}})).then((function(e){if(e instanceof zn)throw e;return e instanceof Jn?r(e.payload,f,t,e.meta):r(e,f,t)}))])];case 3:return p=w.sent(),[3,5];case 4:return m=w.sent(),p=m instanceof zn?o(null,f,t,m.payload,m.meta):o(m,f,t),[3,5];case 5:return n&&!n.dispatchConditionRejection&&o.match(p)&&p.meta.condition||u(p),[2,p]}var g}))},new Promise((function(t,e){var n=function(t){try{i(p.next(t))}catch(t){e(t)}},r=function(t){try{i(p.throw(t))}catch(t){e(t)}},i=function(e){return e.done?t(e.value):Promise.resolve(e.value).then(n,r)};i((p=p.apply(s,v)).next())}));var s,v,p}();return Object.assign(v,{abort:d,requestId:f,arg:t,unwrap:function(){return v.then(Xn)}})}}),{pending:i,rejected:o,fulfilled:r,typePrefix:t})}t.withTypes=function(){return t}}();var Gn,Qn,Yn,tr="listenerMiddleware";Kn(tr+"/add"),Kn(tr+"/removeAll"),Kn(tr+"/remove"),"function"==typeof queueMicrotask&&queueMicrotask.bind("undefined"!=typeof window?window:"undefined"!=typeof global?global:globalThis),function(){function t(t,e){var n=i[t];return n?n.enumerable=e:i[t]=n={configurable:!0,enumerable:e,get:function(){var e=this[Ge];return nn.get(e,t)},set:function(e){var n=this[Ge];nn.set(n,t,e)}},n}function e(t){for(var e=t.length-1;e>=0;e--){var i=t[e][Ge];if(!i.P)switch(i.i){case 5:r(i)&&Te(i);break;case 4:n(i)&&Te(i)}}}function n(t){for(var e=t.t,n=t.k,r=Ye(n),i=r.length-1;i>=0;i--){var o=r[i];if(o!==Ge){var s=e[o];if(void 0===s&&!pe(e,o))return!0;var u=n[o],c=u&&u[Ge];if(c?c.t!==s:!ye(u,s))return!0}}var a=!!e[Ge];return r.length!==Ye(e).length+(a?0:1)}function r(t){var e=t.k;if(e.length!==t.t.length)return!0;var n=Object.getOwnPropertyDescriptor(e,e.length-1);if(n&&!n.get)return!0;for(var r=0;r<e.length;r++)if(!e.hasOwnProperty(r))return!0;return!1}var i={};!function(t,e){en[t]||(en[t]=e)}("ES5",{J:function(e,n){var r=Array.isArray(e),i=function(e,n){if(e){for(var r=Array(n.length),i=0;i<n.length;i++)Object.defineProperty(r,""+i,t(i,!0));return r}var o=tn(n);delete o[Ge];for(var s=Ye(o),u=0;u<s.length;u++){var c=s[u];o[c]=t(c,e||!!o[c].enumerable)}return Object.create(Object.getPrototypeOf(n),o)}(r,e),o={i:r?5:4,A:n?n.A:Re(),P:!1,I:!1,R:{},l:n,t:e,k:i,o:null,g:!1,C:!1};return Object.defineProperty(i,Ge,{value:o,writable:!0}),i},S:function(t,n,i){i?fe(n)&&n[Ge].A===t&&e(t.p):(t.u&&function t(e){if(e&&"object"==typeof e){var n=e[Ge];if(n){var i=n.t,o=n.k,s=n.R,u=n.i;if(4===u)de(o,(function(e){e!==Ge&&(void 0!==i[e]||pe(i,e)?s[e]||t(o[e]):(s[e]=!0,Te(n)))})),de(i,(function(t){void 0!==o[t]||pe(o,t)||(s[t]=!1,Te(n))}));else if(5===u){if(r(n)&&(Te(n),s.length=!0),o.length<i.length)for(var c=o.length;c<i.length;c++)s[c]=!1;else for(var a=i.length;a<o.length;a++)s[a]=!0;for(var l=Math.min(o.length,i.length),f=0;f<l;f++)o.hasOwnProperty(f)||(s[f]=!0),void 0===s[f]&&t(o[f])}}}}(t.p[0]),e(t.p))},K:function(t){return 4===t.i?n(t):r(t)}})}();const er=Symbol("internalReduxEventsUnsubscribers"),nr=Symbol("internalStoresUnsubscribers"),rr=Symbol("internalStores");function ir(t){var e;return null!==(e=null==t?void 0:t.isFtReduxStore)&&void 0!==e&&e}Gn=nr,Qn=rr,Yn=er;class or{static get(t){window.ftReduxStores||(window.ftReduxStores={});const e="string"==typeof t?t:t.name,n="string"==typeof t?void 0:t,r=window.ftReduxStores[e];if(ir(r))return r;if(null==n)return;const i=qn(n),o=Wn({reducer:(t,e)=>"CLEAR_FT_REDUX_STORE"===e.type?i.getInitialState():i.reducer(t,e)});return window.ftReduxStores[n.name]=new or(i,o)}constructor(t,e){this.reduxSlice=t,this.reduxStore=e,this.isFtReduxStore=!0,this.eventBus=document.createElement("event-bus"),this.actions=new Proxy(this.reduxSlice.actions,{get:(t,e,n)=>{const r=t[e];if(r)return(...t)=>{const e=r(...t);return this.reduxStore.dispatch(e),e}}})}clear(){this.reduxStore.dispatch({type:"CLEAR_FT_REDUX_STORE"})}get dispatch(){throw new Error("Don't use this method, actions are automatically dispatched when called.")}[Symbol.observable](){return this.reduxStore[Symbol.observable]()}getState(){return this.reduxStore.getState()}replaceReducer(t){throw new Error("Not implemented yet.")}subscribe(t){return this.reduxStore.subscribe(t)}get name(){return this.reduxSlice.name}get reducer(){return this.reduxSlice.reducer}get caseReducers(){return this.reduxSlice.caseReducers}getInitialState(){return this.reduxSlice.getInitialState()}}var sr,ur,cr;const ar=navigator.vendor&&!!navigator.vendor.match(/apple/i)||"[object SafariRemoteNotification]"===(null!==(cr=null===(ur=null===(sr=window.safari)||void 0===sr?void 0:sr.pushNotification)||void 0===ur?void 0:ur.toString())&&void 0!==cr?cr:"");var lr=Object.freeze({__proto__:null,CacheRegistry:class{constructor(){this.loaders={},this.content={},this.clearTimeouts={},this.finalContent=new Set}register(t,e){this.loaders[t]=e,this.finalContent.delete(t)}registerFinal(t,e){this.loaders[t]=e,this.finalContent.add(t)}clearAll(){for(let t in this.content)this.clear(t)}clear(t){this.finalContent.has(t)||this.forceClear(t)}forceClear(t){this.clearClearTimeout(t),this.content[t]instanceof Kt&&this.content[t].cancel(),delete this.content[t]}clearClearTimeout(t){null!=this.clearTimeouts[t]&&(window.clearTimeout(this.clearTimeouts[t]),delete this.clearTimeouts[t])}set(t,e){this.forceClear(t),this.register(t,(async()=>e)),this.content[t]=e}setFinal(t,e){this.forceClear(t),this.registerFinal(t,(async()=>e)),this.content[t]=e}async get(t,e,n){if(void 0===this.content[t]){if(null==(e=null!=e?e:this.loaders[t]))throw new Error("Unknown cache key "+t);const r=Ht(e());return this.content[t]=r,r.then((e=>(this.content[t]=e,null!=n&&(this.clearClearTimeout(t),this.clearTimeouts[t]=window.setTimeout((()=>this.clear(t)),n)),e)))}if(this.content[t]instanceof Error)throw this.content[t];return this.content[t]}isResolvedValue(t){return!(null==t||t instanceof Promise||t instanceof Error)}getNow(t){if(this.isResolvedValue(this.content[t]))return this.content[t]}has(t){return null!=this.content[t]}resolvedKeys(){return Object.keys(this.content).filter((t=>this.isResolvedValue(this.content[t])))}resolvedValues(){return Object.values(this.content).filter((t=>this.isResolvedValue(t)))}keys(){return Object.keys(this.content)}values(){return Object.values(this.content)}},CancelablePromise:Kt,CanceledPromiseError:Wt,Debouncer:qt,FtCssVariableFactory:Zt,FtLitElement:se,FtLitElementRedux:class extends se{constructor(){super(...arguments),this[Gn]=new Map,this[Qn]=new Map,this[Yn]=[]}updated(t){var e;super.updated(t),(null===(e=this.reduxReactiveProperties)||void 0===e?void 0:e.some((e=>t.has(e))))&&this.updateFromStores()}getUnnamedStore(){if(this[rr].size>1)throw new Error("Cannot resolve unnamed store when multiple stores are configured.");return[...this[rr].values()][0]}getStore(t){return null==t?this.getUnnamedStore():this[rr].get(t)}addStore(t,e){var n;e=null!==(n=null!=e?e:ir(t)?t.name:void 0)&&void 0!==n?n:"default-store",this.unsubscribeFromStore(e),this.setupStore(e,t)}removeStore(t){const e="string"==typeof t?t:t.name;this.unsubscribeFromStore(e),this[rr].delete(e)}setupStore(t,e){this[rr].set(t,e),this.subscribeToStore(t,e),this.updateFromStores()}setupStores(){this.unsubscribeFromStores(),this[rr].forEach(((t,e)=>this.subscribeToStore(e,t))),this.updateFromStores()}updateFromStores(){this.reduxProperties&&this.reduxProperties.forEach(((t,e)=>{const n=this.constructor.getPropertyOptions(e);if(!(null==n?void 0:n.attribute)||!this.hasAttribute("string"==typeof(null==n?void 0:n.attribute)?n.attribute:e)){const n=this.getStore(t.store);n&&(this[e]=t.selector(n.getState(),this))}}))}subscribeToStore(t,e){var n;this[nr].set(t,e.subscribe((()=>this.updateFromStores()))),ir(e)&&e.eventBus&&(null===(n=this.reduxEventListeners)||void 0===n||n.forEach(((t,n)=>{if("function"==typeof this[n]&&(!t.store||e.name===t.store)){const r=t=>this[n](t);e.eventBus.addEventListener(t.eventName,r),this[er].push((()=>e.eventBus.removeEventListener(t.eventName,r)))}}))),this.onStoreAvailable(t)}unsubscribeFromStores(){Object.keys(this[nr]).forEach((t=>this.unsubscribeFromStore(t))),this[er].forEach((t=>t())),this[er]=[]}unsubscribeFromStore(t){this[nr].has(t)&&this[nr].get(t)(),this[nr].delete(t)}onStoreAvailable(t){}connectedCallback(){super.connectedCallback(),this.setupStores()}disconnectedCallback(){this.unsubscribeFromStores(),super.disconnectedCallback()}},FtNotificationEvent:Gt,FtReduxStore:or,ParametrizedLabelResolver:class{constructor(t,e){this.defaultLabels=t,this.labels=e}resolve(t,...e){var n,r;t=this.resolvePluralKey(t,e);let i=null!==(r=null!==(n=this.labels[t])&&void 0!==n?n:this.defaultLabels[t])&&void 0!==r?r:"";return e.forEach(((t,e)=>i=i.replace(new RegExp(`\\{${e}([^}]*)\\}`,"g"),((e,n)=>this.formatValue(t,n))))),i}resolvePluralKey(t,e){for(let n of e)if("number"==typeof n){const e=`${String(t)}[\\=${n}]`;if(e in this.labels||e in this.defaultLabels)return e}return t}formatValue(t,e){return t instanceof Date?this.formatDate(t,e):null!=t?t:""}formatDate(t,e){const n=n=>(null==e?void 0:e.includes("date"))?t.toLocaleDateString(n):(null==e?void 0:e.includes("time"))?t.toLocaleTimeString(n):t.toLocaleString(n);try{return n(document.documentElement.lang)}catch(t){return n()}}},PostResizeEvent:Yt,PreResizeEvent:Qt,ScopedRegistryLitElement:te,cancelable:Ht,clearAllStores:function(){var t;for(let e of Object.values(null!==(t=window.ftReduxStores)&&void 0!==t?t:{}))ir(e)&&e.clear()},customElement:t=>e=>{window.customElements.get(t)||window.customElements.define(t,e)},dateReviver:function(...t){return function(e,n){return t.includes(e)?Vt(n):n}},deepEqual:zt,delay:t=>new Promise((e=>setTimeout(e,t))),designSystemVariables:Xt,eventPathContainsMatchingElement:function(t,e,n){if(e.length>0){const r=t.composedPath();for(let t of r){if(t===n)return!1;if(t.matches&&e.some((e=>t.matches(e))))return!0}}return!1},flatDeep:function t(e,n){return e.flatMap((e=>[e,...t(n(e),n)]))},isSafari:ar,jsonProperty:Jt,noTextSelect:ue,parseDate:Vt,redux:t=>{const e=null!=t?t:{};return(t,n)=>{var r;const i={hasChanged:(t,e)=>!zt(t,e),attribute:!1,...e};vt(i)(t,n);const o=t;o.reduxProperties=o.reduxProperties||new Map,o.reduxProperties.set(n,{selector:null!==(r=e.selector)&&void 0!==r?r:t=>t[n],store:e.store})}},reduxEventListener:t=>(e,n)=>{const r=e;r.reduxEventListeners=r.reduxEventListeners||new Map,r.reduxEventListeners.set(n,t)},reduxReactive:()=>(t,e)=>{const n=t;n.reduxReactiveProperties=n.reduxReactiveProperties||[],n.reduxReactiveProperties.push(e)},safariEllipsisFix:ae,setVariable:function(t,e){return s(`${t.name}: ${e}`)},wordWrap:ce});t.lit=ht,t.litClassMap=kt,t.litDecorators=wt,t.litRepeat=Pt,t.litStyleMap=Tt,t.litUnsafeHTML=Bt,t.wcUtils=lr}));
|
|
152
|
+
`;function le(t){var e;return null!==(e=null==t?void 0:t.isFtReduxStore)&&void 0!==e&&e}var fe,he,de;const ve=Symbol("internalReduxEventsUnsubscribers"),pe=Symbol("internalStoresUnsubscribers"),be=Symbol("internalStores");function ye(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];throw Error("[Immer] minified error nr: "+t+(n.length?" "+n.map((function(t){return"'"+t+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function me(t){return!!t&&!!t[on]}function we(t){var e;return!!t&&(function(t){if(!t||"object"!=typeof t)return!1;var e=Object.getPrototypeOf(t);if(null===e)return!0;var n=Object.hasOwnProperty.call(e,"constructor")&&e.constructor;return n===Object||"function"==typeof n&&Function.toString.call(n)===sn}(t)||Array.isArray(t)||!!t[rn]||!!(null===(e=t.constructor)||void 0===e?void 0:e[rn])||je(t)||Re(t))}function ge(t,e,n){void 0===n&&(n=!1),0===Oe(t)?(n?Object.keys:un)(t).forEach((function(r){n&&"symbol"==typeof r||e(r,t[r],t)})):t.forEach((function(n,r){return e(r,n,t)}))}function Oe(t){var e=t[on];return e?e.i>3?e.i-4:e.i:Array.isArray(t)?1:je(t)?2:Re(t)?3:0}function xe(t,e){return 2===Oe(t)?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function Se(t,e,n){var r=Oe(t);2===r?t.set(e,n):3===r?t.add(n):t[e]=n}function Ee(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}function je(t){return Ye&&t instanceof Map}function Re(t){return tn&&t instanceof Set}function Ce(t){return t.o||t.t}function Ne(t){if(Array.isArray(t))return Array.prototype.slice.call(t);var e=cn(t);delete e[on];for(var n=un(e),r=0;r<n.length;r++){var i=n[r],o=e[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(e[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:t[i]})}return Object.create(Object.getPrototypeOf(t),e)}function Ae(t,e){return void 0===e&&(e=!1),_e(t)||me(t)||!we(t)||(Oe(t)>1&&(t.set=t.add=t.clear=t.delete=Me),Object.freeze(t),e&&ge(t,(function(t,e){return Ae(e,!0)}),!0)),t}function Me(){ye(2)}function _e(t){return null==t||"object"!=typeof t||Object.isFrozen(t)}function Pe(t){var e=an[t];return e||ye(18,t),e}function $e(){return Ge}function ke(t,e){e&&(Pe("Patches"),t.u=[],t.s=[],t.v=e)}function Ue(t){Fe(t),t.p.forEach(Te),t.p=null}function Fe(t){t===Ge&&(Ge=t.l)}function Le(t){return Ge={p:[],l:Ge,h:t,m:!0,_:0}}function Te(t){var e=t[on];0===e.i||1===e.i?e.j():e.g=!0}function De(t,e){e._=e.p.length;var n=e.p[0],r=void 0!==t&&t!==n;return e.h.O||Pe("ES5").S(e,t,r),r?(n[on].P&&(Ue(e),ye(4)),we(t)&&(t=Ie(e,t),e.l||We(e,t)),e.u&&Pe("Patches").M(n[on].t,t,e.u,e.s)):t=Ie(e,n,[]),Ue(e),e.u&&e.v(e.u,e.s),t!==nn?t:void 0}function Ie(t,e,n){if(_e(e))return e;var r=e[on];if(!r)return ge(e,(function(i,o){return Be(t,r,e,i,o,n)}),!0),e;if(r.A!==t)return e;if(!r.P)return We(t,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=4===r.i||5===r.i?r.o=Ne(r.k):r.o,o=i,s=!1;3===r.i&&(o=new Set(i),i.clear(),s=!0),ge(o,(function(e,o){return Be(t,r,i,e,o,n,s)})),We(t,i,!1),n&&t.u&&Pe("Patches").N(r,n,t.u,t.s)}return r.o}function Be(t,e,n,r,i,o,s){if(me(i)){var u=Ie(t,i,o&&e&&3!==e.i&&!xe(e.R,r)?o.concat(r):void 0);if(Se(n,r,u),!me(u))return;t.m=!1}else s&&n.add(i);if(we(i)&&!_e(i)){if(!t.h.D&&t._<1)return;Ie(t,i),e&&e.A.l||We(t,i)}}function We(t,e,n){void 0===n&&(n=!1),!t.l&&t.h.D&&t.m&&Ae(e,n)}function Ke(t,e){var n=t[on];return(n?Ce(n):t)[e]}function He(t,e){if(e in t)for(var n=Object.getPrototypeOf(t);n;){var r=Object.getOwnPropertyDescriptor(n,e);if(r)return r;n=Object.getPrototypeOf(n)}}function qe(t){t.P||(t.P=!0,t.l&&qe(t.l))}function Ve(t){t.o||(t.o=Ne(t.t))}function ze(t,e,n){var r=je(e)?Pe("MapSet").F(e,n):Re(e)?Pe("MapSet").T(e,n):t.O?function(t,e){var n=Array.isArray(t),r={i:n?1:0,A:e?e.A:$e(),P:!1,I:!1,R:{},l:e,t,k:null,o:null,j:null,C:!1},i=r,o=ln;n&&(i=[r],o=fn);var s=Proxy.revocable(i,o),u=s.revoke,c=s.proxy;return r.k=c,r.j=u,c}(e,n):Pe("ES5").J(e,n);return(n?n.A:$e()).p.push(r),r}function Je(t){return me(t)||ye(22,t),function t(e){if(!we(e))return e;var n,r=e[on],i=Oe(e);if(r){if(!r.P&&(r.i<4||!Pe("ES5").K(r)))return r.t;r.I=!0,n=Ze(e,i),r.I=!1}else n=Ze(e,i);return ge(n,(function(e,i){r&&function(t,e){return 2===Oe(t)?t.get(e):t[e]}(r.t,e)===i||Se(n,e,t(i))})),3===i?new Set(n):n}(t)}function Ze(t,e){switch(e){case 2:return new Map(t);case 3:return Array.from(t)}return Ne(t)}fe=pe,he=be,de=ve;var Xe,Ge,Qe="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),Ye="undefined"!=typeof Map,tn="undefined"!=typeof Set,en="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,nn=Qe?Symbol.for("immer-nothing"):((Xe={})["immer-nothing"]=!0,Xe),rn=Qe?Symbol.for("immer-draftable"):"__$immer_draftable",on=Qe?Symbol.for("immer-state"):"__$immer_state",sn=""+Object.prototype.constructor,un="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,cn=Object.getOwnPropertyDescriptors||function(t){var e={};return un(t).forEach((function(n){e[n]=Object.getOwnPropertyDescriptor(t,n)})),e},an={},ln={get:function(t,e){if(e===on)return t;var n=Ce(t);if(!xe(n,e))return function(t,e,n){var r,i=He(e,n);return i?"value"in i?i.value:null===(r=i.get)||void 0===r?void 0:r.call(t.k):void 0}(t,n,e);var r=n[e];return t.I||!we(r)?r:r===Ke(t.t,e)?(Ve(t),t.o[e]=ze(t.A.h,r,t)):r},has:function(t,e){return e in Ce(t)},ownKeys:function(t){return Reflect.ownKeys(Ce(t))},set:function(t,e,n){var r=He(Ce(t),e);if(null==r?void 0:r.set)return r.set.call(t.k,n),!0;if(!t.P){var i=Ke(Ce(t),e),o=null==i?void 0:i[on];if(o&&o.t===n)return t.o[e]=n,t.R[e]=!1,!0;if(Ee(n,i)&&(void 0!==n||xe(t.t,e)))return!0;Ve(t),qe(t)}return t.o[e]===n&&(void 0!==n||e in t.o)||Number.isNaN(n)&&Number.isNaN(t.o[e])||(t.o[e]=n,t.R[e]=!0),!0},deleteProperty:function(t,e){return void 0!==Ke(t.t,e)||e in t.t?(t.R[e]=!1,Ve(t),qe(t)):delete t.R[e],t.o&&delete t.o[e],!0},getOwnPropertyDescriptor:function(t,e){var n=Ce(t),r=Reflect.getOwnPropertyDescriptor(n,e);return r?{writable:!0,configurable:1!==t.i||"length"!==e,enumerable:r.enumerable,value:n[e]}:r},defineProperty:function(){ye(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){ye(12)}},fn={};ge(ln,(function(t,e){fn[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}})),fn.deleteProperty=function(t,e){return fn.set.call(this,t,e,void 0)},fn.set=function(t,e,n){return ln.set.call(this,t[0],e,n,t[0])};var hn=function(){function t(t){var e=this;this.O=en,this.D=!0,this.produce=function(t,n,r){if("function"==typeof t&&"function"!=typeof n){var i=n;n=t;var o=e;return function(t){var e=this;void 0===t&&(t=i);for(var r=arguments.length,s=Array(r>1?r-1:0),u=1;u<r;u++)s[u-1]=arguments[u];return o.produce(t,(function(t){var r;return(r=n).call.apply(r,[e,t].concat(s))}))}}var s;if("function"!=typeof n&&ye(6),void 0!==r&&"function"!=typeof r&&ye(7),we(t)){var u=Le(e),c=ze(e,t,void 0),a=!0;try{s=n(c),a=!1}finally{a?Ue(u):Fe(u)}return"undefined"!=typeof Promise&&s instanceof Promise?s.then((function(t){return ke(u,r),De(t,u)}),(function(t){throw Ue(u),t})):(ke(u,r),De(s,u))}if(!t||"object"!=typeof t){if(void 0===(s=n(t))&&(s=t),s===nn&&(s=void 0),e.D&&Ae(s,!0),r){var l=[],f=[];Pe("Patches").M(t,s,l,f),r(l,f)}return s}ye(21,t)},this.produceWithPatches=function(t,n){if("function"==typeof t)return function(n){for(var r=arguments.length,i=Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];return e.produceWithPatches(n,(function(e){return t.apply(void 0,[e].concat(i))}))};var r,i,o=e.produce(t,n,(function(t,e){r=t,i=e}));return"undefined"!=typeof Promise&&o instanceof Promise?o.then((function(t){return[t,r,i]})):[o,r,i]},"boolean"==typeof(null==t?void 0:t.useProxies)&&this.setUseProxies(t.useProxies),"boolean"==typeof(null==t?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze)}var e=t.prototype;return e.createDraft=function(t){we(t)||ye(8),me(t)&&(t=Je(t));var e=Le(this),n=ze(this,t,void 0);return n[on].C=!0,Fe(e),n},e.finishDraft=function(t,e){var n=(t&&t[on]).A;return ke(n,e),De(void 0,n)},e.setAutoFreeze=function(t){this.D=t},e.setUseProxies=function(t){t&&!en&&ye(20),this.O=t},e.applyPatches=function(t,e){var n;for(n=e.length-1;n>=0;n--){var r=e[n];if(0===r.path.length&&"replace"===r.op){t=r.value;break}}n>-1&&(e=e.slice(n+1));var i=Pe("Patches").$;return me(t)?i(t,e):this.produce(t,(function(t){return i(t,e)}))},t}(),dn=new hn,vn=dn.produce;function pn(t){return pn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pn(t)}function bn(t){var e=function(t,e){if("object"!==pn(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==pn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===pn(e)?e:String(e)}function yn(t,e,n){return(e=bn(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function mn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function wn(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?mn(Object(n),!0).forEach((function(e){yn(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):mn(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function gn(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}dn.produceWithPatches.bind(dn),dn.setAutoFreeze.bind(dn),dn.setUseProxies.bind(dn),dn.applyPatches.bind(dn),dn.createDraft.bind(dn),dn.finishDraft.bind(dn);var On="function"==typeof Symbol&&Symbol.observable||"@@observable",xn=function(){return Math.random().toString(36).substring(7).split("").join(".")},Sn={INIT:"@@redux/INIT"+xn(),REPLACE:"@@redux/REPLACE"+xn(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+xn()}};function En(t,e,n){var r;if("function"==typeof e&&"function"==typeof n||"function"==typeof n&&"function"==typeof arguments[3])throw new Error(gn(0));if("function"==typeof e&&void 0===n&&(n=e,e=void 0),void 0!==n){if("function"!=typeof n)throw new Error(gn(1));return n(En)(t,e)}if("function"!=typeof t)throw new Error(gn(2));var i=t,o=e,s=[],u=s,c=!1;function a(){u===s&&(u=s.slice())}function l(){if(c)throw new Error(gn(3));return o}function f(t){if("function"!=typeof t)throw new Error(gn(4));if(c)throw new Error(gn(5));var e=!0;return a(),u.push(t),function(){if(e){if(c)throw new Error(gn(6));e=!1,a();var n=u.indexOf(t);u.splice(n,1),s=null}}}function h(t){if(!function(t){if("object"!=typeof t||null===t)return!1;for(var e=t;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}(t))throw new Error(gn(7));if(void 0===t.type)throw new Error(gn(8));if(c)throw new Error(gn(9));try{c=!0,o=i(o,t)}finally{c=!1}for(var e=s=u,n=0;n<e.length;n++){(0,e[n])()}return t}return h({type:Sn.INIT}),(r={dispatch:h,subscribe:f,getState:l,replaceReducer:function(t){if("function"!=typeof t)throw new Error(gn(10));i=t,h({type:Sn.REPLACE})}})[On]=function(){var t,e=f;return(t={subscribe:function(t){if("object"!=typeof t||null===t)throw new Error(gn(11));function n(){t.next&&t.next(l())}return n(),{unsubscribe:e(n)}}})[On]=function(){return this},t},r}function jn(t){for(var e=Object.keys(t),n={},r=0;r<e.length;r++){var i=e[r];"function"==typeof t[i]&&(n[i]=t[i])}var o,s=Object.keys(n);try{!function(t){Object.keys(t).forEach((function(e){var n=t[e];if(void 0===n(void 0,{type:Sn.INIT}))throw new Error(gn(12));if(void 0===n(void 0,{type:Sn.PROBE_UNKNOWN_ACTION()}))throw new Error(gn(13))}))}(n)}catch(t){o=t}return function(t,e){if(void 0===t&&(t={}),o)throw o;for(var r=!1,i={},u=0;u<s.length;u++){var c=s[u],a=n[c],l=t[c],f=a(l,e);if(void 0===f)throw e&&e.type,new Error(gn(14));i[c]=f,r=r||f!==l}return(r=r||s.length!==Object.keys(t).length)?i:t}}function Rn(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return 0===e.length?function(t){return t}:1===e.length?e[0]:e.reduce((function(t,e){return function(){return t(e.apply(void 0,arguments))}}))}function Cn(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return function(){var n=t.apply(void 0,arguments),r=function(){throw new Error(gn(15))},i={getState:n.getState,dispatch:function(){return r.apply(void 0,arguments)}},o=e.map((function(t){return t(i)}));return r=Rn.apply(void 0,o)(n.dispatch),wn(wn({},n),{},{dispatch:r})}}}function Nn(t){return function(e){var n=e.dispatch,r=e.getState;return function(e){return function(i){return"function"==typeof i?i(n,r,t):e(i)}}}}var An=Nn();An.withExtraArgument=Nn;var Mn,_n=An,Pn=(Mn=function(t,e){return Mn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},Mn(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}Mn(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),$n=function(t,e){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(o){return function(u){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,u])}}},kn=function(t,e){for(var n=0,r=e.length,i=t.length;n<r;n++,i++)t[i]=e[n];return t},Un=Object.defineProperty,Fn=Object.defineProperties,Ln=Object.getOwnPropertyDescriptors,Tn=Object.getOwnPropertySymbols,Dn=Object.prototype.hasOwnProperty,In=Object.prototype.propertyIsEnumerable,Bn=function(t,e,n){return e in t?Un(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n},Wn=function(t,e){for(var n in e||(e={}))Dn.call(e,n)&&Bn(t,n,e[n]);if(Tn)for(var r=0,i=Tn(e);r<i.length;r++){n=i[r];In.call(e,n)&&Bn(t,n,e[n])}return t},Kn=function(t,e){return Fn(t,Ln(e))},Hn="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(0!==arguments.length)return"object"==typeof arguments[0]?Rn:Rn.apply(null,arguments)};var qn=function(t){function e(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var i=t.apply(this,n)||this;return Object.setPrototypeOf(i,e.prototype),i}return Pn(e,t),Object.defineProperty(e,Symbol.species,{get:function(){return e},enumerable:!1,configurable:!0}),e.prototype.concat=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return t.prototype.concat.apply(this,e)},e.prototype.prepend=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return 1===t.length&&Array.isArray(t[0])?new(e.bind.apply(e,kn([void 0],t[0].concat(this)))):new(e.bind.apply(e,kn([void 0],t.concat(this))))},e}(Array),Vn=function(t){function e(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var i=t.apply(this,n)||this;return Object.setPrototypeOf(i,e.prototype),i}return Pn(e,t),Object.defineProperty(e,Symbol.species,{get:function(){return e},enumerable:!1,configurable:!0}),e.prototype.concat=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return t.prototype.concat.apply(this,e)},e.prototype.prepend=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return 1===t.length&&Array.isArray(t[0])?new(e.bind.apply(e,kn([void 0],t[0].concat(this)))):new(e.bind.apply(e,kn([void 0],t.concat(this))))},e}(Array);function zn(t){return we(t)?vn(t,(function(){})):t}function Jn(){return function(t){return function(t){void 0===t&&(t={});var e=t.thunk,n=void 0===e||e;t.immutableCheck,t.serializableCheck;var r=new qn;n&&(!function(t){return"boolean"==typeof t}(n)?r.push(_n.withExtraArgument(n.extraArgument)):r.push(_n));return r}(t)}}function Zn(t){var e,n=Jn(),r=t||{},i=r.reducer,o=void 0===i?void 0:i,s=r.middleware,u=void 0===s?n():s,c=r.devTools,a=void 0===c||c,l=r.preloadedState,f=void 0===l?void 0:l,h=r.enhancers,d=void 0===h?void 0:h;if("function"==typeof o)e=o;else{if(!function(t){if("object"!=typeof t||null===t)return!1;var e=Object.getPrototypeOf(t);if(null===e)return!0;for(var n=e;null!==Object.getPrototypeOf(n);)n=Object.getPrototypeOf(n);return e===n}(o))throw new Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');e=jn(o)}var v=u;"function"==typeof v&&(v=v(n));var p=Cn.apply(void 0,v),b=Rn;a&&(b=Hn(Wn({trace:!1},"object"==typeof a&&a)));var y=new Vn(p),m=y;return Array.isArray(d)?m=kn([p],d):"function"==typeof d&&(m=d(y)),En(e,f,b.apply(void 0,m))}function Xn(t,e){function n(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];if(e){var i=e.apply(void 0,n);if(!i)throw new Error("prepareAction did not return an object");return Wn(Wn({type:t,payload:i.payload},"meta"in i&&{meta:i.meta}),"error"in i&&{error:i.error})}return{type:t,payload:n[0]}}return n.toString=function(){return""+t},n.type=t,n.match=function(e){return e.type===t},n}function Gn(t){var e,n={},r=[],i={addCase:function(t,e){var r="string"==typeof t?t:t.type;if(r in n)throw new Error("addCase cannot be called with two reducers for the same action type");return n[r]=e,i},addMatcher:function(t,e){return r.push({matcher:t,reducer:e}),i},addDefaultCase:function(t){return e=t,i}};return t(i),[n,r,e]}function Qn(t){var e=t.name;if(!e)throw new Error("`name` is a required option for createSlice");var n,r="function"==typeof t.initialState?t.initialState:zn(t.initialState),i=t.reducers||{},o=Object.keys(i),s={},u={},c={};function a(){var e="function"==typeof t.extraReducers?Gn(t.extraReducers):[t.extraReducers],n=e[0],i=void 0===n?{}:n,o=e[1],s=void 0===o?[]:o,c=e[2],a=void 0===c?void 0:c,l=Wn(Wn({},i),u);return function(t,e,n,r){void 0===n&&(n=[]);var i,o="function"==typeof e?Gn(e):[e,n,r],s=o[0],u=o[1],c=o[2];if(function(t){return"function"==typeof t}(t))i=function(){return zn(t())};else{var a=zn(t);i=function(){return a}}function l(t,e){void 0===t&&(t=i());var n=kn([s[e.type]],u.filter((function(t){return(0,t.matcher)(e)})).map((function(t){return t.reducer})));return 0===n.filter((function(t){return!!t})).length&&(n=[c]),n.reduce((function(t,n){if(n){var r;if(me(t))return void 0===(r=n(t,e))?t:r;if(we(t))return vn(t,(function(t){return n(t,e)}));if(void 0===(r=n(t,e))){if(null===t)return t;throw Error("A case reducer on a non-draftable value must not return undefined")}return r}return t}),t)}return l.getInitialState=i,l}(r,(function(t){for(var e in l)t.addCase(e,l[e]);for(var n=0,r=s;n<r.length;n++){var i=r[n];t.addMatcher(i.matcher,i.reducer)}a&&t.addDefaultCase(a)}))}return o.forEach((function(t){var n,r,o=i[t],a=e+"/"+t;"reducer"in o?(n=o.reducer,r=o.prepare):n=o,s[t]=n,u[a]=n,c[t]=r?Xn(a,r):Xn(a)})),{name:e,reducer:function(t,e){return n||(n=a()),n(t,e)},actions:c,caseReducers:s,getInitialState:function(){return n||(n=a()),n.getInitialState()}}}var Yn=["name","message","stack","code"],tr=function(t,e){this.payload=t,this.meta=e},er=function(t,e){this.payload=t,this.meta=e},nr=function(t){if("object"==typeof t&&null!==t){for(var e={},n=0,r=Yn;n<r.length;n++){var i=r[n];"string"==typeof t[i]&&(e[i]=t[i])}return e}return{message:String(t)}};function rr(t){if(t.meta&&t.meta.rejectedWithValue)throw t.payload;if(t.error)throw t.error;return t.payload}!function(){function t(t,e,n){var r=Xn(t+"/fulfilled",(function(t,e,n,r){return{payload:t,meta:Kn(Wn({},r||{}),{arg:n,requestId:e,requestStatus:"fulfilled"})}})),i=Xn(t+"/pending",(function(t,e,n){return{payload:void 0,meta:Kn(Wn({},n||{}),{arg:e,requestId:t,requestStatus:"pending"})}})),o=Xn(t+"/rejected",(function(t,e,r,i,o){return{payload:i,error:(n&&n.serializeError||nr)(t||"Rejected"),meta:Kn(Wn({},o||{}),{arg:r,requestId:e,rejectedWithValue:!!i,requestStatus:"rejected",aborted:"AbortError"===(null==t?void 0:t.name),condition:"ConditionError"===(null==t?void 0:t.name)})}})),s="undefined"!=typeof AbortController?AbortController:function(){function t(){this.signal={aborted:!1,addEventListener:function(){},dispatchEvent:function(){return!1},onabort:function(){},removeEventListener:function(){},reason:void 0,throwIfAborted:function(){}}}return t.prototype.abort=function(){},t}();return Object.assign((function(t){return function(u,c,a){var l,f=(null==n?void 0:n.idGenerator)?n.idGenerator(t):function(t){void 0===t&&(t=21);for(var e="",n=t;n--;)e+="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW"[64*Math.random()|0];return e}(),h=new s;function d(t){l=t,h.abort()}var v=function(){return s=this,v=null,p=function(){var s,v,p,b,y,m;return $n(this,(function(w){switch(w.label){case 0:return w.trys.push([0,4,,5]),b=null==(s=null==n?void 0:n.condition)?void 0:s.call(n,t,{getState:c,extra:a}),null===(g=b)||"object"!=typeof g||"function"!=typeof g.then?[3,2]:[4,b];case 1:b=w.sent(),w.label=2;case 2:if(!1===b||h.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};return y=new Promise((function(t,e){return h.signal.addEventListener("abort",(function(){return e({name:"AbortError",message:l||"Aborted"})}))})),u(i(f,t,null==(v=null==n?void 0:n.getPendingMeta)?void 0:v.call(n,{requestId:f,arg:t},{getState:c,extra:a}))),[4,Promise.race([y,Promise.resolve(e(t,{dispatch:u,getState:c,extra:a,requestId:f,signal:h.signal,abort:d,rejectWithValue:function(t,e){return new tr(t,e)},fulfillWithValue:function(t,e){return new er(t,e)}})).then((function(e){if(e instanceof tr)throw e;return e instanceof er?r(e.payload,f,t,e.meta):r(e,f,t)}))])];case 3:return p=w.sent(),[3,5];case 4:return m=w.sent(),p=m instanceof tr?o(null,f,t,m.payload,m.meta):o(m,f,t),[3,5];case 5:return n&&!n.dispatchConditionRejection&&o.match(p)&&p.meta.condition||u(p),[2,p]}var g}))},new Promise((function(t,e){var n=function(t){try{i(p.next(t))}catch(t){e(t)}},r=function(t){try{i(p.throw(t))}catch(t){e(t)}},i=function(e){return e.done?t(e.value):Promise.resolve(e.value).then(n,r)};i((p=p.apply(s,v)).next())}));var s,v,p}();return Object.assign(v,{abort:d,requestId:f,arg:t,unwrap:function(){return v.then(rr)}})}}),{pending:i,rejected:o,fulfilled:r,typePrefix:t})}t.withTypes=function(){return t}}();var ir="listenerMiddleware";Xn(ir+"/add"),Xn(ir+"/removeAll"),Xn(ir+"/remove"),"function"==typeof queueMicrotask&&queueMicrotask.bind("undefined"!=typeof window?window:"undefined"!=typeof global?global:globalThis),function(){function t(t,e){var n=i[t];return n?n.enumerable=e:i[t]=n={configurable:!0,enumerable:e,get:function(){var e=this[on];return ln.get(e,t)},set:function(e){var n=this[on];ln.set(n,t,e)}},n}function e(t){for(var e=t.length-1;e>=0;e--){var i=t[e][on];if(!i.P)switch(i.i){case 5:r(i)&&qe(i);break;case 4:n(i)&&qe(i)}}}function n(t){for(var e=t.t,n=t.k,r=un(n),i=r.length-1;i>=0;i--){var o=r[i];if(o!==on){var s=e[o];if(void 0===s&&!xe(e,o))return!0;var u=n[o],c=u&&u[on];if(c?c.t!==s:!Ee(u,s))return!0}}var a=!!e[on];return r.length!==un(e).length+(a?0:1)}function r(t){var e=t.k;if(e.length!==t.t.length)return!0;var n=Object.getOwnPropertyDescriptor(e,e.length-1);if(n&&!n.get)return!0;for(var r=0;r<e.length;r++)if(!e.hasOwnProperty(r))return!0;return!1}var i={};!function(t,e){an[t]||(an[t]=e)}("ES5",{J:function(e,n){var r=Array.isArray(e),i=function(e,n){if(e){for(var r=Array(n.length),i=0;i<n.length;i++)Object.defineProperty(r,""+i,t(i,!0));return r}var o=cn(n);delete o[on];for(var s=un(o),u=0;u<s.length;u++){var c=s[u];o[c]=t(c,e||!!o[c].enumerable)}return Object.create(Object.getPrototypeOf(n),o)}(r,e),o={i:r?5:4,A:n?n.A:$e(),P:!1,I:!1,R:{},l:n,t:e,k:i,o:null,g:!1,C:!1};return Object.defineProperty(i,on,{value:o,writable:!0}),i},S:function(t,n,i){i?me(n)&&n[on].A===t&&e(t.p):(t.u&&function t(e){if(e&&"object"==typeof e){var n=e[on];if(n){var i=n.t,o=n.k,s=n.R,u=n.i;if(4===u)ge(o,(function(e){e!==on&&(void 0!==i[e]||xe(i,e)?s[e]||t(o[e]):(s[e]=!0,qe(n)))})),ge(i,(function(t){void 0!==o[t]||xe(o,t)||(s[t]=!1,qe(n))}));else if(5===u){if(r(n)&&(qe(n),s.length=!0),o.length<i.length)for(var c=o.length;c<i.length;c++)s[c]=!1;else for(var a=i.length;a<o.length;a++)s[a]=!0;for(var l=Math.min(o.length,i.length),f=0;f<l;f++)o.hasOwnProperty(f)||(s[f]=!0),void 0===s[f]&&t(o[f])}}}}(t.p[0]),e(t.p))},K:function(t){return 4===t.i?n(t):r(t)}})}();class or{static get(t){window.ftReduxStores||(window.ftReduxStores={});const e="string"==typeof t?t:t.name,n="string"==typeof t?void 0:t,r=window.ftReduxStores[e];if(le(r))return r;if(null==n)return;const i=Qn(n),o=Zn({reducer:(t,e)=>{var n;switch(e.type){case"CLEAR_FT_REDUX_STORE":return i.getInitialState();case"DEFAULT_STATE_FIELDS_VALUES_SETTER":return{...t,...null!==(n=e.overwrites)&&void 0!==n?n:{}};default:return i.reducer(t,e)}}});return window.ftReduxStores[n.name]=new or(i,o)}constructor(t,e){this.reduxSlice=t,this.reduxStore=e,this.isFtReduxStore=!0,this.eventBus=document.createElement("event-bus"),this.actions=new Proxy(this.reduxSlice.actions,{get:(t,e,n)=>{const r=e,i=t[r];return i?(...t)=>{const e=i(...t);return this.reduxStore.dispatch(e),e}:t=>{this.reduxStore.dispatch({type:"DEFAULT_STATE_FIELDS_VALUES_SETTER",overwrites:{[r]:t}})}}})}clear(){this.reduxStore.dispatch({type:"CLEAR_FT_REDUX_STORE"})}get dispatch(){throw new Error("Don't use this method, actions are automatically dispatched when called.")}[Symbol.observable](){return this.reduxStore[Symbol.observable]()}getState(){return this.reduxStore.getState()}replaceReducer(t){throw new Error("Not implemented yet.")}subscribe(t){return this.reduxStore.subscribe(t)}get name(){return this.reduxSlice.name}get reducer(){return this.reduxSlice.reducer}get caseReducers(){return this.reduxSlice.caseReducers}getInitialState(){return this.reduxSlice.getInitialState()}}var sr,ur,cr;const ar=navigator.vendor&&!!navigator.vendor.match(/apple/i)||"[object SafariRemoteNotification]"===(null!==(cr=null===(ur=null===(sr=window.safari)||void 0===sr?void 0:sr.pushNotification)||void 0===ur?void 0:ur.toString())&&void 0!==cr?cr:"");var lr=Object.freeze({__proto__:null,CacheRegistry:class{constructor(){this.loaders={},this.content={},this.clearTimeouts={},this.finalContent=new Set}register(t,e){this.loaders[t]=e,this.finalContent.delete(t)}registerFinal(t,e){this.loaders[t]=e,this.finalContent.add(t)}clearAll(){for(let t in this.content)this.clear(t)}clear(t){this.finalContent.has(t)||this.forceClear(t)}forceClear(t){this.clearClearTimeout(t),this.content[t]instanceof Kt&&this.content[t].cancel(),delete this.content[t]}clearClearTimeout(t){null!=this.clearTimeouts[t]&&(window.clearTimeout(this.clearTimeouts[t]),delete this.clearTimeouts[t])}set(t,e){this.forceClear(t),this.register(t,(async()=>e)),this.content[t]=e}setFinal(t,e){this.forceClear(t),this.registerFinal(t,(async()=>e)),this.content[t]=e}async get(t,e,n){if(void 0===this.content[t]){if(null==(e=null!=e?e:this.loaders[t]))throw new Error("Unknown cache key "+t);const r=Ht(e());return this.content[t]=r,r.then((e=>(this.content[t]=e,null!=n&&(this.clearClearTimeout(t),this.clearTimeouts[t]=window.setTimeout((()=>this.clear(t)),n)),e)))}if(this.content[t]instanceof Error)throw this.content[t];return this.content[t]}isResolvedValue(t){return!(null==t||t instanceof Promise||t instanceof Error)}getNow(t){if(this.isResolvedValue(this.content[t]))return this.content[t]}has(t){return null!=this.content[t]}resolvedKeys(){return Object.keys(this.content).filter((t=>this.isResolvedValue(this.content[t])))}resolvedValues(){return Object.values(this.content).filter((t=>this.isResolvedValue(t)))}keys(){return Object.keys(this.content)}values(){return Object.values(this.content)}},CancelablePromise:Kt,CanceledPromiseError:Wt,Debouncer:qt,FtCssVariableFactory:Zt,FtLitElement:se,FtLitElementRedux:class extends se{constructor(){super(...arguments),this[fe]=new Map,this[he]=new Map,this[de]=[]}updated(t){var e;super.updated(t),(null===(e=this.reduxReactiveProperties)||void 0===e?void 0:e.some((e=>t.has(e))))&&this.updateFromStores()}getUnnamedStore(){if(this[be].size>1)throw new Error("Cannot resolve unnamed store when multiple stores are configured.");return[...this[be].values()][0]}getStore(t){return null==t?this.getUnnamedStore():this[be].get(t)}addStore(t,e){var n;e=null!==(n=null!=e?e:le(t)?t.name:void 0)&&void 0!==n?n:"default-store",this.unsubscribeFromStore(e),this.setupStore(e,t)}removeStore(t){const e="string"==typeof t?t:t.name;this.unsubscribeFromStore(e),this[be].delete(e)}setupStore(t,e){this[be].set(t,e),this.subscribeToStore(t,e),this.updateFromStores()}setupStores(){this.unsubscribeFromStores(),this[be].forEach(((t,e)=>this.subscribeToStore(e,t))),this.updateFromStores()}updateFromStores(){this.reduxProperties&&this.reduxProperties.forEach(((t,e)=>{const n=this.constructor.getPropertyOptions(e);if(!(null==n?void 0:n.attribute)||!this.hasAttribute("string"==typeof(null==n?void 0:n.attribute)?n.attribute:e)){const n=this.getStore(t.store);n&&(t.store?this[pe].has(t.store):this[pe].size>0)&&(this[e]=t.selector(n.getState(),this))}}))}subscribeToStore(t,e){var n;this[pe].set(t,e.subscribe((()=>this.updateFromStores()))),le(e)&&e.eventBus&&(null===(n=this.reduxEventListeners)||void 0===n||n.forEach(((t,n)=>{if("function"==typeof this[n]&&(!t.store||e.name===t.store)){const r=t=>this[n](t);e.eventBus.addEventListener(t.eventName,r),this[ve].push((()=>e.eventBus.removeEventListener(t.eventName,r)))}}))),this.onStoreAvailable(t)}unsubscribeFromStores(){this[pe].forEach(((t,e)=>this.unsubscribeFromStore(e))),this[ve].forEach((t=>t())),this[ve]=[]}unsubscribeFromStore(t){this[pe].has(t)&&this[pe].get(t)(),this[pe].delete(t)}onStoreAvailable(t){}connectedCallback(){super.connectedCallback(),this.setupStores()}disconnectedCallback(){super.disconnectedCallback(),this.unsubscribeFromStores()}},FtNotificationEvent:Gt,FtReduxStore:or,ParametrizedLabelResolver:class{constructor(t,e){this.defaultLabels=t,this.labels=e}resolve(t,...e){var n,r;t=this.resolvePluralKey(t,e);let i=null!==(r=null!==(n=this.labels[t])&&void 0!==n?n:this.defaultLabels[t])&&void 0!==r?r:"";return e.forEach(((t,e)=>i=i.replace(new RegExp(`\\{${e}([^}]*)\\}`,"g"),((e,n)=>this.formatValue(t,n))))),i}resolvePluralKey(t,e){for(let n of e)if("number"==typeof n){const e=`${String(t)}[\\=${n}]`;if(e in this.labels||e in this.defaultLabels)return e}return t}formatValue(t,e){return t instanceof Date?this.formatDate(t,e):null!=t?t:""}formatDate(t,e){const n=n=>(null==e?void 0:e.includes("date"))?t.toLocaleDateString(n):(null==e?void 0:e.includes("time"))?t.toLocaleTimeString(n):t.toLocaleString(n);try{return n(document.documentElement.lang)}catch(t){return n()}}},PostResizeEvent:Yt,PreResizeEvent:Qt,ScopedRegistryLitElement:te,cancelable:Ht,clearAllStores:function(){var t;for(let e of Object.values(null!==(t=window.ftReduxStores)&&void 0!==t?t:{}))le(e)&&e.clear()},customElement:t=>e=>{window.customElements.get(t)||window.customElements.define(t,e)},dateReviver:function(...t){return function(e,n){return t.includes(e)?Vt(n):n}},deepEqual:zt,delay:t=>new Promise((e=>setTimeout(e,t))),designSystemVariables:Xt,eventPathContainsMatchingElement:function(t,e,n){if(e.length>0){const r=t.composedPath();for(let t of r){if(t===n)return!1;if(t.matches&&e.some((e=>t.matches(e))))return!0}}return!1},flatDeep:function t(e,n){return e.flatMap((e=>[e,...t(n(e),n)]))},isFtReduxStore:le,isSafari:ar,jsonProperty:Jt,noTextSelect:ue,parseDate:Vt,redux:t=>{const e=null!=t?t:{};return(t,n)=>{var r;const i={hasChanged:(t,e)=>!zt(t,e),attribute:!1,...e};vt(i)(t,n);const o=t;o.reduxProperties=o.reduxProperties||new Map,o.reduxProperties.set(n,{selector:null!==(r=e.selector)&&void 0!==r?r:t=>t[n],store:e.store})}},reduxEventListener:t=>(e,n)=>{const r=e;r.reduxEventListeners=r.reduxEventListeners||new Map,r.reduxEventListeners.set(n,t)},reduxReactive:()=>(t,e)=>{const n=t;n.reduxReactiveProperties=n.reduxReactiveProperties||[],n.reduxReactiveProperties.push(e)},safariEllipsisFix:ae,setVariable:function(t,e){return s(`${t.name}: ${e}`)},wordWrap:ce});t.lit=ht,t.litClassMap=kt,t.litDecorators=wt,t.litRepeat=Pt,t.litStyleMap=Tt,t.litUnsafeHTML=Bt,t.wcUtils=lr}));
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { FtLitElement } from "../FtLitElement";
|
|
2
|
+
import { Store } from "@reduxjs/toolkit";
|
|
3
|
+
import { PropertyValues } from "lit";
|
|
4
|
+
import { Optional } from "../generic-types";
|
|
5
|
+
import { ReduxEventListenerInit, ReduxProperty } from "./models";
|
|
6
|
+
import { FtReduxStore } from "./FtReduxStore";
|
|
7
|
+
declare const internalReduxEventsUnsubscribers: unique symbol;
|
|
8
|
+
declare const internalStoresUnsubscribers: unique symbol;
|
|
9
|
+
declare const internalStores: unique symbol;
|
|
10
|
+
export declare class FtLitElementRedux extends FtLitElement {
|
|
11
|
+
reduxReactiveProperties?: string[];
|
|
12
|
+
reduxProperties?: Map<string, ReduxProperty<unknown, FtLitElementRedux>>;
|
|
13
|
+
reduxEventListeners?: Map<string, ReduxEventListenerInit>;
|
|
14
|
+
private readonly [internalStoresUnsubscribers];
|
|
15
|
+
private readonly [internalStores];
|
|
16
|
+
private [internalReduxEventsUnsubscribers];
|
|
17
|
+
protected updated(props: PropertyValues): void;
|
|
18
|
+
private getUnnamedStore;
|
|
19
|
+
getStore<ReturnType = Optional<Store>>(name?: string): ReturnType;
|
|
20
|
+
protected addStore(store: FtReduxStore, name?: string): void;
|
|
21
|
+
protected addStore(store: Store, name: string): void;
|
|
22
|
+
protected removeStore(storeOrName: FtReduxStore | string): void;
|
|
23
|
+
private setupStore;
|
|
24
|
+
private setupStores;
|
|
25
|
+
private updateFromStores;
|
|
26
|
+
private subscribeToStore;
|
|
27
|
+
private unsubscribeFromStores;
|
|
28
|
+
private unsubscribeFromStore;
|
|
29
|
+
protected onStoreAvailable(name?: string): void;
|
|
30
|
+
connectedCallback(): void;
|
|
31
|
+
disconnectedCallback(): void;
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
var _a, _b, _c;
|
|
2
|
+
import { FtLitElement } from "../FtLitElement";
|
|
3
|
+
import { isFtReduxStore } from "./models";
|
|
4
|
+
const internalReduxEventsUnsubscribers = Symbol("internalReduxEventsUnsubscribers");
|
|
5
|
+
const internalStoresUnsubscribers = Symbol("internalStoresUnsubscribers");
|
|
6
|
+
const internalStores = Symbol("internalStores");
|
|
7
|
+
export class FtLitElementRedux extends FtLitElement {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this[_a] = new Map();
|
|
11
|
+
this[_b] = new Map();
|
|
12
|
+
this[_c] = [];
|
|
13
|
+
}
|
|
14
|
+
updated(props) {
|
|
15
|
+
var _d;
|
|
16
|
+
super.updated(props);
|
|
17
|
+
if ((_d = this.reduxReactiveProperties) === null || _d === void 0 ? void 0 : _d.some(prop => props.has(prop))) {
|
|
18
|
+
this.updateFromStores();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
getUnnamedStore() {
|
|
22
|
+
if (this[internalStores].size > 1) {
|
|
23
|
+
throw new Error("Cannot resolve unnamed store when multiple stores are configured.");
|
|
24
|
+
}
|
|
25
|
+
return [...this[internalStores].values()][0];
|
|
26
|
+
}
|
|
27
|
+
getStore(name) {
|
|
28
|
+
return (name == null
|
|
29
|
+
? this.getUnnamedStore()
|
|
30
|
+
: this[internalStores].get(name));
|
|
31
|
+
}
|
|
32
|
+
addStore(store, name) {
|
|
33
|
+
var _d;
|
|
34
|
+
name = (_d = name !== null && name !== void 0 ? name : (isFtReduxStore(store) ? store.name : undefined)) !== null && _d !== void 0 ? _d : "default-store";
|
|
35
|
+
this.unsubscribeFromStore(name);
|
|
36
|
+
this.setupStore(name, store);
|
|
37
|
+
}
|
|
38
|
+
removeStore(storeOrName) {
|
|
39
|
+
const name = typeof storeOrName === "string" ? storeOrName : storeOrName.name;
|
|
40
|
+
this.unsubscribeFromStore(name);
|
|
41
|
+
this[internalStores].delete(name);
|
|
42
|
+
}
|
|
43
|
+
setupStore(name, store) {
|
|
44
|
+
this[internalStores].set(name, store);
|
|
45
|
+
this.subscribeToStore(name, store);
|
|
46
|
+
this.updateFromStores();
|
|
47
|
+
}
|
|
48
|
+
setupStores() {
|
|
49
|
+
this.unsubscribeFromStores();
|
|
50
|
+
this[internalStores].forEach((store, name) => this.subscribeToStore(name, store));
|
|
51
|
+
this.updateFromStores();
|
|
52
|
+
}
|
|
53
|
+
updateFromStores() {
|
|
54
|
+
if (this.reduxProperties) {
|
|
55
|
+
this.reduxProperties.forEach((prop, attributeName) => {
|
|
56
|
+
const options = this.constructor.getPropertyOptions(attributeName);
|
|
57
|
+
if (!(options === null || options === void 0 ? void 0 : options.attribute) || !this.hasAttribute(typeof (options === null || options === void 0 ? void 0 : options.attribute) === "string" ? options.attribute : attributeName)) {
|
|
58
|
+
const store = this.getStore(prop.store);
|
|
59
|
+
if (store && (prop.store ? this[internalStoresUnsubscribers].has(prop.store) : this[internalStoresUnsubscribers].size > 0)) {
|
|
60
|
+
this[attributeName] = prop.selector(store.getState(), this);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
subscribeToStore(name, store) {
|
|
67
|
+
var _d;
|
|
68
|
+
this[internalStoresUnsubscribers].set(name, store.subscribe(() => this.updateFromStores()));
|
|
69
|
+
if (isFtReduxStore(store) && store.eventBus) {
|
|
70
|
+
(_d = this.reduxEventListeners) === null || _d === void 0 ? void 0 : _d.forEach((init, methodName) => {
|
|
71
|
+
if (typeof this[methodName] === "function" && (!init.store || store.name === init.store)) {
|
|
72
|
+
const callback = (e) => this[methodName](e);
|
|
73
|
+
store.eventBus.addEventListener(init.eventName, callback);
|
|
74
|
+
this[internalReduxEventsUnsubscribers].push(() => store.eventBus.removeEventListener(init.eventName, callback));
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
this.onStoreAvailable(name);
|
|
79
|
+
}
|
|
80
|
+
unsubscribeFromStores() {
|
|
81
|
+
this[internalStoresUnsubscribers].forEach((_, key) => this.unsubscribeFromStore(key));
|
|
82
|
+
this[internalReduxEventsUnsubscribers].forEach(unsub => unsub());
|
|
83
|
+
this[internalReduxEventsUnsubscribers] = [];
|
|
84
|
+
}
|
|
85
|
+
unsubscribeFromStore(name) {
|
|
86
|
+
if (this[internalStoresUnsubscribers].has(name)) {
|
|
87
|
+
this[internalStoresUnsubscribers].get(name)();
|
|
88
|
+
}
|
|
89
|
+
this[internalStoresUnsubscribers].delete(name);
|
|
90
|
+
}
|
|
91
|
+
onStoreAvailable(name) {
|
|
92
|
+
}
|
|
93
|
+
connectedCallback() {
|
|
94
|
+
super.connectedCallback();
|
|
95
|
+
this.setupStores();
|
|
96
|
+
}
|
|
97
|
+
disconnectedCallback() {
|
|
98
|
+
super.disconnectedCallback();
|
|
99
|
+
this.unsubscribeFromStores();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
_a = internalStoresUnsubscribers, _b = internalStores, _c = internalReduxEventsUnsubscribers;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Action, AnyAction, CaseReducerActions, CreateSliceOptions, Dispatch, Observable, Reducer, Slice, SliceCaseReducers, Store, Unsubscribe } from "@reduxjs/toolkit";
|
|
2
|
+
import { DefaultStateReducer, FtReduxStoreActions } from "./models";
|
|
3
|
+
declare global {
|
|
4
|
+
interface Window {
|
|
5
|
+
ftReduxStores?: Record<string, Store<any, any>>;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export declare class FtReduxStore<State = any, CR extends SliceCaseReducers<State> = SliceCaseReducers<State>, A extends Action = AnyAction> implements Store<State, FtReduxStoreActions<A>>, Slice<State, CR, string> {
|
|
9
|
+
private readonly reduxSlice;
|
|
10
|
+
private readonly reduxStore;
|
|
11
|
+
readonly isFtReduxStore = true;
|
|
12
|
+
static get<State = any, CR extends SliceCaseReducers<State> = SliceCaseReducers<State>, A extends Action = AnyAction>(name: string): FtReduxStore<State, CR, A> | undefined;
|
|
13
|
+
static get<State = any, CR extends SliceCaseReducers<State> = SliceCaseReducers<State>, A extends Action = AnyAction>(options: CreateSliceOptions<State, CR, string>): FtReduxStore<State, CR, A>;
|
|
14
|
+
eventBus: EventTarget;
|
|
15
|
+
private constructor();
|
|
16
|
+
clear(): void;
|
|
17
|
+
get dispatch(): Dispatch<A>;
|
|
18
|
+
[Symbol.observable](): Observable<any>;
|
|
19
|
+
getState(): State;
|
|
20
|
+
replaceReducer(nextReducer: Reducer<State, FtReduxStoreActions<A>>): void;
|
|
21
|
+
subscribe(listener: () => void): Unsubscribe;
|
|
22
|
+
actions: CaseReducerActions<CR & DefaultStateReducer<State>, string>;
|
|
23
|
+
get name(): string;
|
|
24
|
+
get reducer(): Reducer<State>;
|
|
25
|
+
get caseReducers(): { [Type in keyof CR]: CR[Type] extends {
|
|
26
|
+
reducer: infer Reducer_1;
|
|
27
|
+
} ? Reducer_1 : CR[Type]; };
|
|
28
|
+
getInitialState(): State;
|
|
29
|
+
}
|
|
30
|
+
export declare function clearAllStores(): void;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { configureStore, createSlice } from "@reduxjs/toolkit";
|
|
2
|
+
import { isFtReduxStore } from "./models";
|
|
3
|
+
export class FtReduxStore {
|
|
4
|
+
static get(nameOrOptions) {
|
|
5
|
+
if (!window.ftReduxStores) {
|
|
6
|
+
window.ftReduxStores = {};
|
|
7
|
+
}
|
|
8
|
+
const name = typeof nameOrOptions === "string" ? nameOrOptions : nameOrOptions.name;
|
|
9
|
+
const options = typeof nameOrOptions === "string" ? undefined : nameOrOptions;
|
|
10
|
+
const maybeExistingStore = window.ftReduxStores[name];
|
|
11
|
+
if (isFtReduxStore(maybeExistingStore)) {
|
|
12
|
+
return maybeExistingStore;
|
|
13
|
+
}
|
|
14
|
+
if (options == null) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
const reduxSlice = createSlice(options);
|
|
18
|
+
const reduxStore = configureStore({
|
|
19
|
+
reducer: (state, action) => {
|
|
20
|
+
var _a;
|
|
21
|
+
switch (action.type) {
|
|
22
|
+
case "CLEAR_FT_REDUX_STORE":
|
|
23
|
+
return reduxSlice.getInitialState();
|
|
24
|
+
case "DEFAULT_STATE_FIELDS_VALUES_SETTER":
|
|
25
|
+
return { ...state, ...((_a = action.overwrites) !== null && _a !== void 0 ? _a : {}) };
|
|
26
|
+
default:
|
|
27
|
+
return reduxSlice.reducer(state, action);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
return window.ftReduxStores[options.name] = new FtReduxStore(reduxSlice, reduxStore);
|
|
32
|
+
}
|
|
33
|
+
constructor(reduxSlice, reduxStore) {
|
|
34
|
+
this.reduxSlice = reduxSlice;
|
|
35
|
+
this.reduxStore = reduxStore;
|
|
36
|
+
this.isFtReduxStore = true;
|
|
37
|
+
this.eventBus = document.createElement("event-bus");
|
|
38
|
+
// Add proxy to automatically dispatch changes
|
|
39
|
+
this.actions = new Proxy(this.reduxSlice.actions, {
|
|
40
|
+
get: (target, p, receiver) => {
|
|
41
|
+
const actionName = p;
|
|
42
|
+
const action = target[actionName];
|
|
43
|
+
if (action) {
|
|
44
|
+
return (...args) => {
|
|
45
|
+
const result = action(...args);
|
|
46
|
+
this.reduxStore.dispatch(result);
|
|
47
|
+
return result;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
return (stateFieldValue) => {
|
|
52
|
+
this.reduxStore.dispatch({
|
|
53
|
+
type: "DEFAULT_STATE_FIELDS_VALUES_SETTER",
|
|
54
|
+
overwrites: {
|
|
55
|
+
[actionName]: stateFieldValue
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
clear() {
|
|
64
|
+
this.reduxStore.dispatch({ type: "CLEAR_FT_REDUX_STORE" });
|
|
65
|
+
}
|
|
66
|
+
// Implement Store
|
|
67
|
+
get dispatch() {
|
|
68
|
+
throw new Error("Don't use this method, actions are automatically dispatched when called.");
|
|
69
|
+
}
|
|
70
|
+
[Symbol.observable]() {
|
|
71
|
+
return this.reduxStore[Symbol.observable]();
|
|
72
|
+
}
|
|
73
|
+
getState() {
|
|
74
|
+
return this.reduxStore.getState();
|
|
75
|
+
}
|
|
76
|
+
replaceReducer(nextReducer) {
|
|
77
|
+
throw new Error("Not implemented yet.");
|
|
78
|
+
}
|
|
79
|
+
subscribe(listener) {
|
|
80
|
+
return this.reduxStore.subscribe(listener);
|
|
81
|
+
}
|
|
82
|
+
get name() {
|
|
83
|
+
return this.reduxSlice.name;
|
|
84
|
+
}
|
|
85
|
+
get reducer() {
|
|
86
|
+
return this.reduxSlice.reducer;
|
|
87
|
+
}
|
|
88
|
+
get caseReducers() {
|
|
89
|
+
return this.reduxSlice.caseReducers;
|
|
90
|
+
}
|
|
91
|
+
getInitialState() {
|
|
92
|
+
return this.reduxSlice.getInitialState();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
export function clearAllStores() {
|
|
96
|
+
var _a;
|
|
97
|
+
for (let store of Object.values((_a = window.ftReduxStores) !== null && _a !== void 0 ? _a : {})) {
|
|
98
|
+
if (isFtReduxStore(store)) {
|
|
99
|
+
store.clear();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { FtLitElementRedux } from "./FtLitElementRedux";
|
|
2
|
+
import { ReduxEventListenerInit, ReduxPropertyInit } from "./models";
|
|
3
|
+
export declare const reduxReactive: () => (proto: Object, name: string) => void;
|
|
4
|
+
export declare const redux: <State, Element_1 extends FtLitElementRedux>(propertyInit?: ReduxPropertyInit<State, Element_1> | undefined) => (proto: Object, name: string) => void;
|
|
5
|
+
export declare const reduxEventListener: (init: ReduxEventListenerInit) => (proto: Object, name: string) => void;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { deepEqual } from "../helpers";
|
|
2
|
+
import { property } from "lit/decorators.js";
|
|
3
|
+
export const reduxReactive = () => {
|
|
4
|
+
return (proto, name) => {
|
|
5
|
+
const reduxReactiveProto = proto;
|
|
6
|
+
reduxReactiveProto.reduxReactiveProperties = reduxReactiveProto.reduxReactiveProperties || [];
|
|
7
|
+
reduxReactiveProto.reduxReactiveProperties.push(name);
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export const redux = (propertyInit) => {
|
|
11
|
+
const init = propertyInit !== null && propertyInit !== void 0 ? propertyInit : {};
|
|
12
|
+
return (proto, name) => {
|
|
13
|
+
var _a;
|
|
14
|
+
const litPropertyInit = {
|
|
15
|
+
hasChanged: ((a, b) => !deepEqual(a, b)),
|
|
16
|
+
attribute: false,
|
|
17
|
+
...init
|
|
18
|
+
};
|
|
19
|
+
property(litPropertyInit)(proto, name);
|
|
20
|
+
const reduxProto = proto;
|
|
21
|
+
reduxProto.reduxProperties = reduxProto.reduxProperties || new Map();
|
|
22
|
+
reduxProto.reduxProperties.set(name, {
|
|
23
|
+
selector: (_a = init.selector) !== null && _a !== void 0 ? _a : ((s) => s[name]),
|
|
24
|
+
store: init.store
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
export const reduxEventListener = (init) => {
|
|
29
|
+
return (proto, name) => {
|
|
30
|
+
const reduxProto = proto;
|
|
31
|
+
reduxProto.reduxEventListeners = reduxProto.reduxEventListeners || new Map();
|
|
32
|
+
reduxProto.reduxEventListeners.set(name, init);
|
|
33
|
+
};
|
|
34
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { PropertyDeclaration } from "lit";
|
|
2
|
+
import { FtLitElementRedux, FtReduxStore } from "../redux";
|
|
3
|
+
import { Action, PayloadAction, SliceCaseReducers } from "@reduxjs/toolkit";
|
|
4
|
+
export type ReduxSelector<State, Element extends FtLitElementRedux> = (rootState: State, element: Element) => unknown;
|
|
5
|
+
export interface ReduxProperty<State, Element extends FtLitElementRedux> {
|
|
6
|
+
store?: string;
|
|
7
|
+
selector: ReduxSelector<State, Element>;
|
|
8
|
+
}
|
|
9
|
+
export interface ReduxPropertyInit<State, Element extends FtLitElementRedux> extends PropertyDeclaration {
|
|
10
|
+
store?: string;
|
|
11
|
+
selector?: ReduxSelector<State, Element>;
|
|
12
|
+
}
|
|
13
|
+
export interface ReduxEventListenerInit {
|
|
14
|
+
store?: string;
|
|
15
|
+
eventName: string;
|
|
16
|
+
}
|
|
17
|
+
export type DefaultStateReducer<State> = {
|
|
18
|
+
[key in keyof State]: (state: State, payload: PayloadAction<State[key]>) => void;
|
|
19
|
+
};
|
|
20
|
+
export declare function isFtReduxStore<State, CR extends SliceCaseReducers<State>, A extends Action>(o: any): o is FtReduxStore<State, CR, A>;
|
|
21
|
+
export type DefaultSetStateFieldsValuesAction = {
|
|
22
|
+
type: "DEFAULT_STATE_FIELDS_VALUES_SETTER";
|
|
23
|
+
overwrites: Record<string, any>;
|
|
24
|
+
};
|
|
25
|
+
export type DefaultClearStoreAction = {
|
|
26
|
+
type: "CLEAR_FT_REDUX_STORE";
|
|
27
|
+
};
|
|
28
|
+
export type FtReduxStoreActions<A> = A | DefaultSetStateFieldsValuesAction | DefaultClearStoreAction;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluid-topics/ft-wc-utils",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.48",
|
|
4
4
|
"description": "Internal web components tools",
|
|
5
5
|
"author": "Fluid Topics <devtopics@antidot.net>",
|
|
6
6
|
"license": "ISC",
|
|
@@ -16,5 +16,5 @@
|
|
|
16
16
|
"@reduxjs/toolkit": "1.9.5",
|
|
17
17
|
"lit": "2.7.2"
|
|
18
18
|
},
|
|
19
|
-
"gitHead": "
|
|
19
|
+
"gitHead": "a07dca06ede4358afbfe00c06b1ea1da90e3ff51"
|
|
20
20
|
}
|
package/build/redux.d.ts
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { FtLitElement } from "./FtLitElement";
|
|
2
|
-
import { Action, AnyAction, CaseReducerActions, CreateSliceOptions, Dispatch, Observable, Reducer, Slice, SliceCaseReducers, Store, Unsubscribe } from "@reduxjs/toolkit";
|
|
3
|
-
import { Optional } from "./generic-types";
|
|
4
|
-
import { PropertyDeclaration, PropertyValues } from "lit";
|
|
5
|
-
export type ReduxSelector<State, Element extends FtLitElementRedux> = (rootState: State, element: Element) => unknown;
|
|
6
|
-
interface ReduxProperty<State, Element extends FtLitElementRedux> {
|
|
7
|
-
store?: string;
|
|
8
|
-
selector: ReduxSelector<State, Element>;
|
|
9
|
-
}
|
|
10
|
-
export interface ReduxPropertyInit<State, Element extends FtLitElementRedux> extends PropertyDeclaration {
|
|
11
|
-
store?: string;
|
|
12
|
-
selector?: ReduxSelector<State, Element>;
|
|
13
|
-
}
|
|
14
|
-
export declare const reduxReactive: () => (proto: Object, name: string) => void;
|
|
15
|
-
export declare const redux: <State, Element_1 extends FtLitElementRedux>(propertyInit?: ReduxPropertyInit<State, Element_1> | undefined) => (proto: Object, name: string) => void;
|
|
16
|
-
interface ReduxEventListenerInit {
|
|
17
|
-
store?: string;
|
|
18
|
-
eventName: string;
|
|
19
|
-
}
|
|
20
|
-
export declare const reduxEventListener: (init: ReduxEventListenerInit) => (proto: Object, name: string) => void;
|
|
21
|
-
declare const internalReduxEventsUnsubscribers: unique symbol;
|
|
22
|
-
declare const internalStoresUnsubscribers: unique symbol;
|
|
23
|
-
declare const internalStores: unique symbol;
|
|
24
|
-
export declare class FtLitElementRedux extends FtLitElement {
|
|
25
|
-
reduxReactiveProperties?: string[];
|
|
26
|
-
reduxProperties?: Map<string, ReduxProperty<unknown, FtLitElementRedux>>;
|
|
27
|
-
reduxEventListeners?: Map<string, ReduxEventListenerInit>;
|
|
28
|
-
private readonly [internalStoresUnsubscribers];
|
|
29
|
-
private readonly [internalStores];
|
|
30
|
-
private [internalReduxEventsUnsubscribers];
|
|
31
|
-
protected updated(props: PropertyValues): void;
|
|
32
|
-
private getUnnamedStore;
|
|
33
|
-
getStore<ReturnType = Optional<Store>>(name?: string): ReturnType;
|
|
34
|
-
protected addStore(store: FtReduxStore, name?: string): void;
|
|
35
|
-
protected addStore(store: Store, name: string): void;
|
|
36
|
-
protected removeStore(storeOrName: FtReduxStore | string): void;
|
|
37
|
-
private setupStore;
|
|
38
|
-
private setupStores;
|
|
39
|
-
private updateFromStores;
|
|
40
|
-
private subscribeToStore;
|
|
41
|
-
private unsubscribeFromStores;
|
|
42
|
-
private unsubscribeFromStore;
|
|
43
|
-
protected onStoreAvailable(name?: string): void;
|
|
44
|
-
connectedCallback(): void;
|
|
45
|
-
disconnectedCallback(): void;
|
|
46
|
-
}
|
|
47
|
-
declare global {
|
|
48
|
-
interface Window {
|
|
49
|
-
ftReduxStores?: Record<string, Store<any, any>>;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
export declare class FtReduxStore<State = any, CR extends SliceCaseReducers<State> = SliceCaseReducers<State>, A extends Action = AnyAction> implements Store<State, A>, Slice<State, CR, string> {
|
|
53
|
-
private readonly reduxSlice;
|
|
54
|
-
private readonly reduxStore;
|
|
55
|
-
readonly isFtReduxStore = true;
|
|
56
|
-
static get<State = any, CR extends SliceCaseReducers<State> = SliceCaseReducers<State>, A extends Action = AnyAction>(name: string): FtReduxStore<State, CR, A> | undefined;
|
|
57
|
-
static get<State = any, CR extends SliceCaseReducers<State> = SliceCaseReducers<State>, A extends Action = AnyAction>(options: CreateSliceOptions<State, CR, string>): FtReduxStore<State, CR, A>;
|
|
58
|
-
eventBus: EventTarget;
|
|
59
|
-
private constructor();
|
|
60
|
-
clear(): void;
|
|
61
|
-
get dispatch(): Dispatch<A>;
|
|
62
|
-
[Symbol.observable](): Observable<any>;
|
|
63
|
-
getState(): State;
|
|
64
|
-
replaceReducer(nextReducer: Reducer<State, A>): void;
|
|
65
|
-
subscribe(listener: () => void): Unsubscribe;
|
|
66
|
-
actions: CaseReducerActions<CR, string>;
|
|
67
|
-
get name(): string;
|
|
68
|
-
get reducer(): Reducer<State>;
|
|
69
|
-
get caseReducers(): { [Type in keyof CR]: CR[Type] extends {
|
|
70
|
-
reducer: infer Reducer_1;
|
|
71
|
-
} ? Reducer_1 : CR[Type]; };
|
|
72
|
-
getInitialState(): State;
|
|
73
|
-
}
|
|
74
|
-
export declare function clearAllStores(): void;
|
|
75
|
-
export {};
|
package/build/redux.js
DELETED
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
var _a, _b, _c;
|
|
2
|
-
import { FtLitElement } from "./FtLitElement";
|
|
3
|
-
import { configureStore, createSlice } from "@reduxjs/toolkit";
|
|
4
|
-
import { deepEqual } from "./helpers";
|
|
5
|
-
import { property } from "lit/decorators.js";
|
|
6
|
-
export const reduxReactive = () => {
|
|
7
|
-
return (proto, name) => {
|
|
8
|
-
const reduxReactiveProto = proto;
|
|
9
|
-
reduxReactiveProto.reduxReactiveProperties = reduxReactiveProto.reduxReactiveProperties || [];
|
|
10
|
-
reduxReactiveProto.reduxReactiveProperties.push(name);
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
export const redux = (propertyInit) => {
|
|
14
|
-
const init = propertyInit !== null && propertyInit !== void 0 ? propertyInit : {};
|
|
15
|
-
return (proto, name) => {
|
|
16
|
-
var _d;
|
|
17
|
-
const litPropertyInit = {
|
|
18
|
-
hasChanged: ((a, b) => !deepEqual(a, b)),
|
|
19
|
-
attribute: false,
|
|
20
|
-
...init
|
|
21
|
-
};
|
|
22
|
-
property(litPropertyInit)(proto, name);
|
|
23
|
-
const reduxProto = proto;
|
|
24
|
-
reduxProto.reduxProperties = reduxProto.reduxProperties || new Map();
|
|
25
|
-
reduxProto.reduxProperties.set(name, {
|
|
26
|
-
selector: (_d = init.selector) !== null && _d !== void 0 ? _d : ((s) => s[name]),
|
|
27
|
-
store: init.store
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
export const reduxEventListener = (init) => {
|
|
32
|
-
return (proto, name) => {
|
|
33
|
-
const reduxProto = proto;
|
|
34
|
-
reduxProto.reduxEventListeners = reduxProto.reduxEventListeners || new Map();
|
|
35
|
-
reduxProto.reduxEventListeners.set(name, init);
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
const internalReduxEventsUnsubscribers = Symbol("internalReduxEventsUnsubscribers");
|
|
39
|
-
const internalStoresUnsubscribers = Symbol("internalStoresUnsubscribers");
|
|
40
|
-
const internalStores = Symbol("internalStores");
|
|
41
|
-
export class FtLitElementRedux extends FtLitElement {
|
|
42
|
-
constructor() {
|
|
43
|
-
super(...arguments);
|
|
44
|
-
this[_a] = new Map();
|
|
45
|
-
this[_b] = new Map();
|
|
46
|
-
this[_c] = [];
|
|
47
|
-
}
|
|
48
|
-
updated(props) {
|
|
49
|
-
var _d;
|
|
50
|
-
super.updated(props);
|
|
51
|
-
if ((_d = this.reduxReactiveProperties) === null || _d === void 0 ? void 0 : _d.some(prop => props.has(prop))) {
|
|
52
|
-
this.updateFromStores();
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
getUnnamedStore() {
|
|
56
|
-
if (this[internalStores].size > 1) {
|
|
57
|
-
throw new Error("Cannot resolve unnamed store when multiple stores are configured.");
|
|
58
|
-
}
|
|
59
|
-
return [...this[internalStores].values()][0];
|
|
60
|
-
}
|
|
61
|
-
getStore(name) {
|
|
62
|
-
return (name == null
|
|
63
|
-
? this.getUnnamedStore()
|
|
64
|
-
: this[internalStores].get(name));
|
|
65
|
-
}
|
|
66
|
-
addStore(store, name) {
|
|
67
|
-
var _d;
|
|
68
|
-
name = (_d = name !== null && name !== void 0 ? name : (isFtReduxStore(store) ? store.name : undefined)) !== null && _d !== void 0 ? _d : "default-store";
|
|
69
|
-
this.unsubscribeFromStore(name);
|
|
70
|
-
this.setupStore(name, store);
|
|
71
|
-
}
|
|
72
|
-
removeStore(storeOrName) {
|
|
73
|
-
const name = typeof storeOrName === "string" ? storeOrName : storeOrName.name;
|
|
74
|
-
this.unsubscribeFromStore(name);
|
|
75
|
-
this[internalStores].delete(name);
|
|
76
|
-
}
|
|
77
|
-
setupStore(name, store) {
|
|
78
|
-
this[internalStores].set(name, store);
|
|
79
|
-
this.subscribeToStore(name, store);
|
|
80
|
-
this.updateFromStores();
|
|
81
|
-
}
|
|
82
|
-
setupStores() {
|
|
83
|
-
this.unsubscribeFromStores();
|
|
84
|
-
this[internalStores].forEach((store, name) => this.subscribeToStore(name, store));
|
|
85
|
-
this.updateFromStores();
|
|
86
|
-
}
|
|
87
|
-
updateFromStores() {
|
|
88
|
-
if (this.reduxProperties) {
|
|
89
|
-
this.reduxProperties.forEach((prop, attributeName) => {
|
|
90
|
-
const options = this.constructor.getPropertyOptions(attributeName);
|
|
91
|
-
if (!(options === null || options === void 0 ? void 0 : options.attribute) || !this.hasAttribute(typeof (options === null || options === void 0 ? void 0 : options.attribute) === "string" ? options.attribute : attributeName)) {
|
|
92
|
-
const store = this.getStore(prop.store);
|
|
93
|
-
if (store) {
|
|
94
|
-
this[attributeName] = prop.selector(store.getState(), this);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
subscribeToStore(name, store) {
|
|
101
|
-
var _d;
|
|
102
|
-
this[internalStoresUnsubscribers].set(name, store.subscribe(() => this.updateFromStores()));
|
|
103
|
-
if (isFtReduxStore(store) && store.eventBus) {
|
|
104
|
-
(_d = this.reduxEventListeners) === null || _d === void 0 ? void 0 : _d.forEach((init, methodName) => {
|
|
105
|
-
if (typeof this[methodName] === "function" && (!init.store || store.name === init.store)) {
|
|
106
|
-
const callback = (e) => this[methodName](e);
|
|
107
|
-
store.eventBus.addEventListener(init.eventName, callback);
|
|
108
|
-
this[internalReduxEventsUnsubscribers].push(() => store.eventBus.removeEventListener(init.eventName, callback));
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
this.onStoreAvailable(name);
|
|
113
|
-
}
|
|
114
|
-
unsubscribeFromStores() {
|
|
115
|
-
Object.keys(this[internalStoresUnsubscribers]).forEach(key => this.unsubscribeFromStore(key));
|
|
116
|
-
this[internalReduxEventsUnsubscribers].forEach(unsub => unsub());
|
|
117
|
-
this[internalReduxEventsUnsubscribers] = [];
|
|
118
|
-
}
|
|
119
|
-
unsubscribeFromStore(name) {
|
|
120
|
-
if (this[internalStoresUnsubscribers].has(name)) {
|
|
121
|
-
this[internalStoresUnsubscribers].get(name)();
|
|
122
|
-
}
|
|
123
|
-
this[internalStoresUnsubscribers].delete(name);
|
|
124
|
-
}
|
|
125
|
-
onStoreAvailable(name) {
|
|
126
|
-
}
|
|
127
|
-
connectedCallback() {
|
|
128
|
-
super.connectedCallback();
|
|
129
|
-
this.setupStores();
|
|
130
|
-
}
|
|
131
|
-
disconnectedCallback() {
|
|
132
|
-
this.unsubscribeFromStores();
|
|
133
|
-
super.disconnectedCallback();
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
_a = internalStoresUnsubscribers, _b = internalStores, _c = internalReduxEventsUnsubscribers;
|
|
137
|
-
function isFtReduxStore(o) {
|
|
138
|
-
var _d;
|
|
139
|
-
return (_d = o === null || o === void 0 ? void 0 : o.isFtReduxStore) !== null && _d !== void 0 ? _d : false;
|
|
140
|
-
}
|
|
141
|
-
export class FtReduxStore {
|
|
142
|
-
static get(nameOrOptions) {
|
|
143
|
-
if (!window.ftReduxStores) {
|
|
144
|
-
window.ftReduxStores = {};
|
|
145
|
-
}
|
|
146
|
-
const name = typeof nameOrOptions === "string" ? nameOrOptions : nameOrOptions.name;
|
|
147
|
-
const options = typeof nameOrOptions === "string" ? undefined : nameOrOptions;
|
|
148
|
-
const maybeExistingStore = window.ftReduxStores[name];
|
|
149
|
-
if (isFtReduxStore(maybeExistingStore)) {
|
|
150
|
-
return maybeExistingStore;
|
|
151
|
-
}
|
|
152
|
-
if (options == null) {
|
|
153
|
-
return undefined;
|
|
154
|
-
}
|
|
155
|
-
const reduxSlice = createSlice(options);
|
|
156
|
-
const reduxStore = configureStore({
|
|
157
|
-
reducer: (state, action) => action.type === "CLEAR_FT_REDUX_STORE" ? reduxSlice.getInitialState() : reduxSlice.reducer(state, action)
|
|
158
|
-
});
|
|
159
|
-
return window.ftReduxStores[options.name] = new FtReduxStore(reduxSlice, reduxStore);
|
|
160
|
-
}
|
|
161
|
-
constructor(reduxSlice, reduxStore) {
|
|
162
|
-
this.reduxSlice = reduxSlice;
|
|
163
|
-
this.reduxStore = reduxStore;
|
|
164
|
-
this.isFtReduxStore = true;
|
|
165
|
-
this.eventBus = document.createElement("event-bus");
|
|
166
|
-
// Add proxy to automatically dispatch changes
|
|
167
|
-
this.actions = new Proxy(this.reduxSlice.actions, {
|
|
168
|
-
get: (target, p, receiver) => {
|
|
169
|
-
const actionName = p;
|
|
170
|
-
const action = target[actionName];
|
|
171
|
-
if (action) {
|
|
172
|
-
return (...args) => {
|
|
173
|
-
const result = action(...args);
|
|
174
|
-
this.reduxStore.dispatch(result);
|
|
175
|
-
return result;
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
clear() {
|
|
182
|
-
this.reduxStore.dispatch({ type: "CLEAR_FT_REDUX_STORE" });
|
|
183
|
-
}
|
|
184
|
-
// Implement Store
|
|
185
|
-
get dispatch() {
|
|
186
|
-
throw new Error("Don't use this method, actions are automatically dispatched when called.");
|
|
187
|
-
}
|
|
188
|
-
[Symbol.observable]() {
|
|
189
|
-
return this.reduxStore[Symbol.observable]();
|
|
190
|
-
}
|
|
191
|
-
getState() {
|
|
192
|
-
return this.reduxStore.getState();
|
|
193
|
-
}
|
|
194
|
-
replaceReducer(nextReducer) {
|
|
195
|
-
throw new Error("Not implemented yet.");
|
|
196
|
-
}
|
|
197
|
-
subscribe(listener) {
|
|
198
|
-
return this.reduxStore.subscribe(listener);
|
|
199
|
-
}
|
|
200
|
-
get name() {
|
|
201
|
-
return this.reduxSlice.name;
|
|
202
|
-
}
|
|
203
|
-
get reducer() {
|
|
204
|
-
return this.reduxSlice.reducer;
|
|
205
|
-
}
|
|
206
|
-
get caseReducers() {
|
|
207
|
-
return this.reduxSlice.caseReducers;
|
|
208
|
-
}
|
|
209
|
-
getInitialState() {
|
|
210
|
-
return this.reduxSlice.getInitialState();
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
export function clearAllStores() {
|
|
214
|
-
var _d;
|
|
215
|
-
for (let store of Object.values((_d = window.ftReduxStores) !== null && _d !== void 0 ? _d : {})) {
|
|
216
|
-
if (isFtReduxStore(store)) {
|
|
217
|
-
store.clear();
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}
|