@roudanio/awesome-comment 0.2.3 → 0.2.4
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.
|
@@ -5,4 +5,4 @@ var AwesomeComment=function(){"use strict";function Pn(e,t){const n=Object.creat
|
|
|
5
5
|
*/let oi;const kn=e=>oi=e,ii=Symbol();function hs(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Kt;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Kt||(Kt={}));function fa(){const e=Us(!0),t=e.run(()=>q({}));let n=[],s=[];const o=an({install(i){kn(o),o._a=i,i.provide(ii,o),i.config.globalProperties.$pinia=o,s.forEach(r=>n.push(r)),s=[]},use(i){return!this._a&&!ua?s.push(i):n.push(i),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return o}const ri=()=>{};function ci(e,t,n,s=ri){e.push(t);const o=()=>{const i=e.indexOf(t);i>-1&&(e.splice(i,1),s())};return!n&&$s()&&Wi(o),o}function yt(e,...t){e.slice().forEach(n=>{n(...t)})}const da=e=>e();function ps(e,t){e instanceof Map&&t instanceof Map&&t.forEach((n,s)=>e.set(s,n)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const s=t[n],o=e[n];hs(o)&&hs(s)&&e.hasOwnProperty(n)&&!ee(s)&&!De(s)?e[n]=ps(o,s):e[n]=s}return e}const ha=Symbol();function pa(e){return!hs(e)||!e.hasOwnProperty(ha)}const{assign:Ze}=Object;function ma(e){return!!(ee(e)&&e.effect)}function ga(e,t,n,s){const{state:o,actions:i,getters:r}=t,c=n.state.value[e];let a;function l(){c||(n.state.value[e]=o?o():{});const f=vr(n.state.value[e]);return Ze(f,i,Object.keys(r||{}).reduce((d,p)=>(d[p]=an(ls(()=>{kn(n);const m=n._s.get(e);return r[p].call(m,m)})),d),{}))}return a=ai(e,l,t,n,s,!0),a}function ai(e,t,n={},s,o,i){let r;const c=Ze({actions:{}},n),a={deep:!0};let l,f,d=[],p=[],m;const _=s.state.value[e];!i&&!_&&(s.state.value[e]={}),q({});let v;function S(K){let $;l=f=!1,typeof K=="function"?(K(s.state.value[e]),$={type:Kt.patchFunction,storeId:e,events:m}):(ps(s.state.value[e],K),$={type:Kt.patchObject,payload:K,storeId:e,events:m});const re=v=Symbol();fo().then(()=>{v===re&&(l=!0)}),f=!0,yt(d,$,s.state.value[e])}const P=i?function(){const{state:$}=n,re=$?$():{};this.$patch(pe=>{Ze(pe,re)})}:ri;function T(){r.stop(),d=[],p=[],s._s.delete(e)}function M(K,$){return function(){kn(s);const re=Array.from(arguments),pe=[],je=[];function kt(D){pe.push(D)}function Dt(D){je.push(D)}yt(p,{args:re,name:K,store:H,after:kt,onError:Dt});let Ve;try{Ve=$.apply(this&&this.$id===e?this:H,re)}catch(D){throw yt(je,D),D}return Ve instanceof Promise?Ve.then(D=>(yt(pe,D),D)).catch(D=>(yt(je,D),Promise.reject(D))):(yt(pe,Ve),Ve)}}const A={_p:s,$id:e,$onAction:ci.bind(null,p),$patch:S,$reset:P,$subscribe(K,$={}){const re=ci(d,K,$.detached,()=>pe()),pe=r.run(()=>hn(()=>s.state.value[e],je=>{($.flush==="sync"?f:l)&&K({storeId:e,type:Kt.direct,events:m},je)},Ze({},a,$)));return re},$dispose:T},H=rn(A);s._s.set(e,H);const _e=s._a&&s._a.runWithContext||da,ne=s._e.run(()=>(r=Us(),_e(()=>r.run(t))));for(const K in ne){const $=ne[K];if(ee($)&&!ma($)||De($))i||(_&&pa($)&&(ee($)?$.value=_[K]:ps($,_[K])),s.state.value[e][K]=$);else if(typeof $=="function"){const re=M(K,$);ne[K]=re,c.actions[K]=$}}return Ze(H,ne),Ze(U(H),ne),Object.defineProperty(H,"$state",{get:()=>s.state.value[e],set:K=>{S($=>{Ze($,K)})}}),s._p.forEach(K=>{Ze(H,r.run(()=>K({store:H,app:s._a,pinia:s,options:c})))}),_&&i&&n.hydrate&&n.hydrate(H.$state,_),l=!0,f=!0,H}function _a(e,t,n){let s,o;const i=typeof t=="function";typeof e=="string"?(s=e,o=i?n:t):(o=e,s=e.id);function r(c,a){const l=uc();return c=c||(l?ve(ii,null):null),c&&kn(c),c=oi,c._s.has(s)||(i?ai(s,t,o,c):ga(s,o,c)),c._s.get(s)}return r.$id=s,r}const li=Symbol("$auth0");function Pe(e,t){var n={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function"){var o=0;for(s=Object.getOwnPropertySymbols(e);o<s.length;o++)t.indexOf(s[o])<0&&Object.prototype.propertyIsEnumerable.call(e,s[o])&&(n[s[o]]=e[s[o]])}return n}var wt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ms(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function gs(e,t){return e(t={exports:{}},t.exports),t.exports}var st=gs(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function s(){var o=this;this.locked=new Map,this.addToLocked=function(i,r){var c=o.locked.get(i);c===void 0?r===void 0?o.locked.set(i,[]):o.locked.set(i,[r]):r!==void 0&&(c.unshift(r),o.locked.set(i,c))},this.isLocked=function(i){return o.locked.has(i)},this.lock=function(i){return new Promise(function(r,c){o.isLocked(i)?o.addToLocked(i,r):(o.addToLocked(i),r())})},this.unlock=function(i){var r=o.locked.get(i);if(r!==void 0&&r.length!==0){var c=r.pop();o.locked.set(i,r),c!==void 0&&setTimeout(c,0)}else o.locked.delete(i)}}return s.getInstance=function(){return s.instance===void 0&&(s.instance=new s),s.instance},s}();t.default=function(){return n.getInstance()}});ms(st);var ba=ms(gs(function(e,t){var n=wt&&wt.__awaiter||function(a,l,f,d){return new(f||(f=Promise))(function(p,m){function _(P){try{S(d.next(P))}catch(T){m(T)}}function v(P){try{S(d.throw(P))}catch(T){m(T)}}function S(P){P.done?p(P.value):new f(function(T){T(P.value)}).then(_,v)}S((d=d.apply(a,l||[])).next())})},s=wt&&wt.__generator||function(a,l){var f,d,p,m,_={label:0,sent:function(){if(1&p[0])throw p[1];return p[1]},trys:[],ops:[]};return m={next:v(0),throw:v(1),return:v(2)},typeof Symbol=="function"&&(m[Symbol.iterator]=function(){return this}),m;function v(S){return function(P){return function(T){if(f)throw new TypeError("Generator is already executing.");for(;_;)try{if(f=1,d&&(p=2&T[0]?d.return:T[0]?d.throw||((p=d.return)&&p.call(d),0):d.next)&&!(p=p.call(d,T[1])).done)return p;switch(d=0,p&&(T=[2&T[0],p.value]),T[0]){case 0:case 1:p=T;break;case 4:return _.label++,{value:T[1],done:!1};case 5:_.label++,d=T[1],T=[0];continue;case 7:T=_.ops.pop(),_.trys.pop();continue;default:if(!((p=(p=_.trys).length>0&&p[p.length-1])||T[0]!==6&&T[0]!==2)){_=0;continue}if(T[0]===3&&(!p||T[1]>p[0]&&T[1]<p[3])){_.label=T[1];break}if(T[0]===6&&_.label<p[1]){_.label=p[1],p=T;break}if(p&&_.label<p[2]){_.label=p[2],_.ops.push(T);break}p[2]&&_.ops.pop(),_.trys.pop();continue}T=l.call(a,_)}catch(M){T=[6,M],d=0}finally{f=p=0}if(5&T[0])throw T[1];return{value:T[0]?T[1]:void 0,done:!0}}([S,P])}}};Object.defineProperty(t,"__esModule",{value:!0});var o="browser-tabs-lock-key";function i(a){return new Promise(function(l){return setTimeout(l,a)})}function r(a){for(var l="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",f="",d=0;d<a;d++)f+=l[Math.floor(Math.random()*l.length)];return f}var c=function(){function a(){this.acquiredIatSet=new Set,this.id=Date.now().toString()+r(15),this.acquireLock=this.acquireLock.bind(this),this.releaseLock=this.releaseLock.bind(this),this.releaseLock__private__=this.releaseLock__private__.bind(this),this.waitForSomethingToChange=this.waitForSomethingToChange.bind(this),this.refreshLockWhileAcquired=this.refreshLockWhileAcquired.bind(this),a.waiters===void 0&&(a.waiters=[])}return a.prototype.acquireLock=function(l,f){return f===void 0&&(f=5e3),n(this,void 0,void 0,function(){var d,p,m,_,v,S;return s(this,function(P){switch(P.label){case 0:d=Date.now()+r(4),p=Date.now()+f,m=o+"-"+l,_=window.localStorage,P.label=1;case 1:return Date.now()<p?[4,i(30)]:[3,8];case 2:return P.sent(),_.getItem(m)!==null?[3,5]:(v=this.id+"-"+l+"-"+d,[4,i(Math.floor(25*Math.random()))]);case 3:return P.sent(),_.setItem(m,JSON.stringify({id:this.id,iat:d,timeoutKey:v,timeAcquired:Date.now(),timeRefreshed:Date.now()})),[4,i(30)];case 4:return P.sent(),(S=_.getItem(m))!==null&&(S=JSON.parse(S)).id===this.id&&S.iat===d?(this.acquiredIatSet.add(d),this.refreshLockWhileAcquired(m,d),[2,!0]):[3,7];case 5:return a.lockCorrector(),[4,this.waitForSomethingToChange(p)];case 6:P.sent(),P.label=7;case 7:return d=Date.now()+r(4),[3,1];case 8:return[2,!1]}})})},a.prototype.refreshLockWhileAcquired=function(l,f){return n(this,void 0,void 0,function(){var d=this;return s(this,function(p){return setTimeout(function(){return n(d,void 0,void 0,function(){var m,_;return s(this,function(v){switch(v.label){case 0:return[4,st.default().lock(f)];case 1:return v.sent(),this.acquiredIatSet.has(f)?(m=window.localStorage,(_=m.getItem(l))===null?(st.default().unlock(f),[2]):((_=JSON.parse(_)).timeRefreshed=Date.now(),m.setItem(l,JSON.stringify(_)),st.default().unlock(f),this.refreshLockWhileAcquired(l,f),[2])):(st.default().unlock(f),[2])}})})},1e3),[2]})})},a.prototype.waitForSomethingToChange=function(l){return n(this,void 0,void 0,function(){return s(this,function(f){switch(f.label){case 0:return[4,new Promise(function(d){var p=!1,m=Date.now(),_=!1;function v(){if(_||(window.removeEventListener("storage",v),a.removeFromWaiting(v),clearTimeout(S),_=!0),!p){p=!0;var P=50-(Date.now()-m);P>0?setTimeout(d,P):d()}}window.addEventListener("storage",v),a.addToWaiting(v);var S=setTimeout(v,Math.max(0,l-Date.now()))})];case 1:return f.sent(),[2]}})})},a.addToWaiting=function(l){this.removeFromWaiting(l),a.waiters!==void 0&&a.waiters.push(l)},a.removeFromWaiting=function(l){a.waiters!==void 0&&(a.waiters=a.waiters.filter(function(f){return f!==l}))},a.notifyWaiters=function(){a.waiters!==void 0&&a.waiters.slice().forEach(function(l){return l()})},a.prototype.releaseLock=function(l){return n(this,void 0,void 0,function(){return s(this,function(f){switch(f.label){case 0:return[4,this.releaseLock__private__(l)];case 1:return[2,f.sent()]}})})},a.prototype.releaseLock__private__=function(l){return n(this,void 0,void 0,function(){var f,d,p;return s(this,function(m){switch(m.label){case 0:return f=window.localStorage,d=o+"-"+l,(p=f.getItem(d))===null?[2]:(p=JSON.parse(p)).id!==this.id?[3,2]:[4,st.default().lock(p.iat)];case 1:m.sent(),this.acquiredIatSet.delete(p.iat),f.removeItem(d),st.default().unlock(p.iat),a.notifyWaiters(),m.label=2;case 2:return[2]}})})},a.lockCorrector=function(){for(var l=Date.now()-5e3,f=window.localStorage,d=Object.keys(f),p=!1,m=0;m<d.length;m++){var _=d[m];if(_.includes(o)){var v=f.getItem(_);v!==null&&((v=JSON.parse(v)).timeRefreshed===void 0&&v.timeAcquired<l||v.timeRefreshed!==void 0&&v.timeRefreshed<l)&&(f.removeItem(_),p=!0)}}p&&a.notifyWaiters()},a.waiters=void 0,a}();t.default=c}));const ya={timeoutInSeconds:60},ui={name:"auth0-spa-js",version:"2.1.2"},fi=()=>Date.now();class le extends Error{constructor(t,n){super(n),this.error=t,this.error_description=n,Object.setPrototypeOf(this,le.prototype)}static fromPayload({error:t,error_description:n}){return new le(t,n)}}class _s extends le{constructor(t,n,s,o=null){super(t,n),this.state=s,this.appState=o,Object.setPrototypeOf(this,_s.prototype)}}class zt extends le{constructor(){super("timeout","Timeout"),Object.setPrototypeOf(this,zt.prototype)}}class bs extends zt{constructor(t){super(),this.popup=t,Object.setPrototypeOf(this,bs.prototype)}}class ys extends le{constructor(t){super("cancelled","Popup closed"),this.popup=t,Object.setPrototypeOf(this,ys.prototype)}}class ws extends le{constructor(t,n,s){super(t,n),this.mfa_token=s,Object.setPrototypeOf(this,ws.prototype)}}class xn extends le{constructor(t,n){super("missing_refresh_token",`Missing Refresh Token (audience: '${di(t,["default"])}', scope: '${di(n)}')`),this.audience=t,this.scope=n,Object.setPrototypeOf(this,xn.prototype)}}function di(e,t=[]){return e&&!t.includes(e)?e:""}const In=()=>window.crypto,vs=()=>{const e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_~.";let t="";return Array.from(In().getRandomValues(new Uint8Array(43))).forEach(n=>t+=e[n%e.length]),t},hi=e=>btoa(e),ks=e=>{var{clientId:t}=e,n=Pe(e,["clientId"]);return new URLSearchParams((s=>Object.keys(s).filter(o=>s[o]!==void 0).reduce((o,i)=>Object.assign(Object.assign({},o),{[i]:s[i]}),{}))(Object.assign({client_id:t},n))).toString()},pi=e=>(t=>decodeURIComponent(atob(t).split("").map(n=>"%"+("00"+n.charCodeAt(0).toString(16)).slice(-2)).join("")))(e.replace(/_/g,"/").replace(/-/g,"+")),wa=async(e,t)=>{const n=await fetch(e,t);return{ok:n.ok,json:await n.json()}},va=async(e,t,n,s,o,i,r=1e4)=>o?(async(c,a,l,f,d,p,m)=>{return _={auth:{audience:a,scope:l},timeout:d,fetchUrl:c,fetchOptions:f,useFormData:m},v=p,new Promise(function(S,P){const T=new MessageChannel;T.port1.onmessage=function(M){M.data.error?P(new Error(M.data.error)):S(M.data),T.port1.close()},v.postMessage(_,[T.port2])});var _,v})(e,t,n,s,r,o,i):(async(c,a,l)=>{const f=new AbortController;let d;return a.signal=f.signal,Promise.race([wa(c,a),new Promise((p,m)=>{d=setTimeout(()=>{f.abort(),m(new Error("Timeout when executing 'fetch'"))},l)})]).finally(()=>{clearTimeout(d)})})(e,s,r);async function ka(e,t){var{baseUrl:n,timeout:s,audience:o,scope:i,auth0Client:r,useFormData:c}=e,a=Pe(e,["baseUrl","timeout","audience","scope","auth0Client","useFormData"]);const l=c?ks(a):JSON.stringify(a);return await async function(f,d,p,m,_,v,S){let P,T=null;for(let K=0;K<3;K++)try{P=await va(f,p,m,_,v,S,d),T=null;break}catch($){T=$}if(T)throw T;const M=P.json,{error:A,error_description:H}=M,_e=Pe(M,["error","error_description"]),{ok:ne}=P;if(!ne){const K=H||`HTTP error. Unable to fetch ${f}`;throw A==="mfa_required"?new ws(A,K,_e.mfa_token):A==="missing_refresh_token"?new xn(p,m):new le(A||"request_error",K)}return _e}(`${n}/oauth/token`,s,o||"default",i,{method:"POST",body:l,headers:{"Content-Type":c?"application/x-www-form-urlencoded":"application/json","Auth0-Client":btoa(JSON.stringify(r||ui))}},t,c)}const Cn=(...e)=>{return(t=e.filter(Boolean).join(" ").trim().split(/\s+/),Array.from(new Set(t))).join(" ");var t};class Ee{constructor(t,n="@@auth0spajs@@",s){this.prefix=n,this.suffix=s,this.clientId=t.clientId,this.scope=t.scope,this.audience=t.audience}toKey(){return[this.prefix,this.clientId,this.audience,this.scope,this.suffix].filter(Boolean).join("::")}static fromKey(t){const[n,s,o,i]=t.split("::");return new Ee({clientId:s,scope:i,audience:o},n)}static fromCacheEntry(t){const{scope:n,audience:s,client_id:o}=t;return new Ee({scope:n,audience:s,clientId:o})}}class xa{set(t,n){localStorage.setItem(t,JSON.stringify(n))}get(t){const n=window.localStorage.getItem(t);if(n)try{return JSON.parse(n)}catch{return}}remove(t){localStorage.removeItem(t)}allKeys(){return Object.keys(window.localStorage).filter(t=>t.startsWith("@@auth0spajs@@"))}}class mi{constructor(){this.enclosedCache=function(){let t={};return{set(n,s){t[n]=s},get(n){const s=t[n];if(s)return s},remove(n){delete t[n]},allKeys:()=>Object.keys(t)}}()}}class Ia{constructor(t,n,s){this.cache=t,this.keyManifest=n,this.nowProvider=s||fi}async setIdToken(t,n,s){var o;const i=this.getIdTokenCacheKey(t);await this.cache.set(i,{id_token:n,decodedToken:s}),await((o=this.keyManifest)===null||o===void 0?void 0:o.add(i))}async getIdToken(t){const n=await this.cache.get(this.getIdTokenCacheKey(t.clientId));if(!n&&t.scope&&t.audience){const s=await this.get(t);return!s||!s.id_token||!s.decodedToken?void 0:{id_token:s.id_token,decodedToken:s.decodedToken}}if(n)return{id_token:n.id_token,decodedToken:n.decodedToken}}async get(t,n=0){var s;let o=await this.cache.get(t.toKey());if(!o){const c=await this.getCacheKeys();if(!c)return;const a=this.matchExistingCacheKey(t,c);a&&(o=await this.cache.get(a))}if(!o)return;const i=await this.nowProvider(),r=Math.floor(i/1e3);return o.expiresAt-n<r?o.body.refresh_token?(o.body={refresh_token:o.body.refresh_token},await this.cache.set(t.toKey(),o),o.body):(await this.cache.remove(t.toKey()),void await((s=this.keyManifest)===null||s===void 0?void 0:s.remove(t.toKey()))):o.body}async set(t){var n;const s=new Ee({clientId:t.client_id,scope:t.scope,audience:t.audience}),o=await this.wrapCacheEntry(t);await this.cache.set(s.toKey(),o),await((n=this.keyManifest)===null||n===void 0?void 0:n.add(s.toKey()))}async clear(t){var n;const s=await this.getCacheKeys();s&&(await s.filter(o=>!t||o.includes(t)).reduce(async(o,i)=>{await o,await this.cache.remove(i)},Promise.resolve()),await((n=this.keyManifest)===null||n===void 0?void 0:n.clear()))}async wrapCacheEntry(t){const n=await this.nowProvider();return{body:t,expiresAt:Math.floor(n/1e3)+t.expires_in}}async getCacheKeys(){var t;return this.keyManifest?(t=await this.keyManifest.get())===null||t===void 0?void 0:t.keys:this.cache.allKeys?this.cache.allKeys():void 0}getIdTokenCacheKey(t){return new Ee({clientId:t},"@@auth0spajs@@","@@user@@").toKey()}matchExistingCacheKey(t,n){return n.filter(s=>{var o;const i=Ee.fromKey(s),r=new Set(i.scope&&i.scope.split(" ")),c=((o=t.scope)===null||o===void 0?void 0:o.split(" "))||[],a=i.scope&&c.reduce((l,f)=>l&&r.has(f),!0);return i.prefix==="@@auth0spajs@@"&&i.clientId===t.clientId&&i.audience===t.audience&&a})[0]}}class Ca{constructor(t,n,s){this.storage=t,this.clientId=n,this.cookieDomain=s,this.storageKey=`a0.spajs.txs.${this.clientId}`}create(t){this.storage.save(this.storageKey,t,{daysUntilExpire:1,cookieDomain:this.cookieDomain})}get(){return this.storage.get(this.storageKey)}remove(){this.storage.remove(this.storageKey,{cookieDomain:this.cookieDomain})}}const Nt=e=>typeof e=="number",Ta=["iss","aud","exp","nbf","iat","jti","azp","nonce","auth_time","at_hash","c_hash","acr","amr","sub_jwk","cnf","sip_from_tag","sip_date","sip_callid","sip_cseq_num","sip_via_branch","orig","dest","mky","events","toe","txn","rph","sid","vot","vtm"];var ot=gs(function(e,t){var n=wt&&wt.__assign||function(){return n=Object.assign||function(a){for(var l,f=1,d=arguments.length;f<d;f++)for(var p in l=arguments[f])Object.prototype.hasOwnProperty.call(l,p)&&(a[p]=l[p]);return a},n.apply(this,arguments)};function s(a,l){if(!l)return"";var f="; "+a;return l===!0?f:f+"="+l}function o(a,l,f){return encodeURIComponent(a).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/\(/g,"%28").replace(/\)/g,"%29")+"="+encodeURIComponent(l).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent)+function(d){if(typeof d.expires=="number"){var p=new Date;p.setMilliseconds(p.getMilliseconds()+864e5*d.expires),d.expires=p}return s("Expires",d.expires?d.expires.toUTCString():"")+s("Domain",d.domain)+s("Path",d.path)+s("Secure",d.secure)+s("SameSite",d.sameSite)}(f)}function i(a){for(var l={},f=a?a.split("; "):[],d=/(%[\dA-F]{2})+/gi,p=0;p<f.length;p++){var m=f[p].split("="),_=m.slice(1).join("=");_.charAt(0)==='"'&&(_=_.slice(1,-1));try{l[m[0].replace(d,decodeURIComponent)]=_.replace(d,decodeURIComponent)}catch{}}return l}function r(){return i(document.cookie)}function c(a,l,f){document.cookie=o(a,l,n({path:"/"},f))}t.__esModule=!0,t.encode=o,t.parse=i,t.getAll=r,t.get=function(a){return r()[a]},t.set=c,t.remove=function(a,l){c(a,"",n(n({},l),{expires:-1}))}});ms(ot),ot.encode,ot.parse,ot.getAll;var Oa=ot.get,gi=ot.set,_i=ot.remove;const vt={get(e){const t=Oa(e);if(t!==void 0)return JSON.parse(t)},save(e,t,n){let s={};window.location.protocol==="https:"&&(s={secure:!0,sameSite:"none"}),n?.daysUntilExpire&&(s.expires=n.daysUntilExpire),n?.cookieDomain&&(s.domain=n.cookieDomain),gi(e,JSON.stringify(t),s)},remove(e,t){let n={};t?.cookieDomain&&(n.domain=t.cookieDomain),_i(e,n)}},Sa={get:e=>vt.get(e)||vt.get(`_legacy_${e}`),save(e,t,n){let s={};window.location.protocol==="https:"&&(s={secure:!0}),n?.daysUntilExpire&&(s.expires=n.daysUntilExpire),n?.cookieDomain&&(s.domain=n.cookieDomain),gi(`_legacy_${e}`,JSON.stringify(t),s),vt.save(e,t,n)},remove(e,t){let n={};t?.cookieDomain&&(n.domain=t.cookieDomain),_i(e,n),vt.remove(e,t),vt.remove(`_legacy_${e}`,t)}},Pa={get(e){if(typeof sessionStorage>"u")return;const t=sessionStorage.getItem(e);return t!=null?JSON.parse(t):void 0},save(e,t){sessionStorage.setItem(e,JSON.stringify(t))},remove(e){sessionStorage.removeItem(e)}};var xs,Ea=function(e){return xs=xs||function(t,n,s){var o=n===void 0?null:n,i=function(l,f){var d=atob(l);if(f){for(var p=new Uint8Array(d.length),m=0,_=d.length;m<_;++m)p[m]=d.charCodeAt(m);return String.fromCharCode.apply(null,new Uint16Array(p.buffer))}return d}(t,s!==void 0&&s),r=i.indexOf(`
|
|
6
6
|
`,10)+1,c=i.substring(r)+(o?"//# sourceMappingURL="+o:""),a=new Blob([c],{type:"application/javascript"});return URL.createObjectURL(a)}("Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y2xhc3MgZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscil7c3VwZXIociksdGhpcy5lcnJvcj10LHRoaXMuZXJyb3JfZGVzY3JpcHRpb249cixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxlLnByb3RvdHlwZSl9c3RhdGljIGZyb21QYXlsb2FkKHtlcnJvcjp0LGVycm9yX2Rlc2NyaXB0aW9uOnJ9KXtyZXR1cm4gbmV3IGUodCxyKX19Y2xhc3MgdCBleHRlbmRzIGV7Y29uc3RydWN0b3IoZSxzKXtzdXBlcigibWlzc2luZ19yZWZyZXNoX3Rva2VuIixgTWlzc2luZyBSZWZyZXNoIFRva2VuIChhdWRpZW5jZTogJyR7cihlLFsiZGVmYXVsdCJdKX0nLCBzY29wZTogJyR7cihzKX0nKWApLHRoaXMuYXVkaWVuY2U9ZSx0aGlzLnNjb3BlPXMsT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsdC5wcm90b3R5cGUpfX1mdW5jdGlvbiByKGUsdD1bXSl7cmV0dXJuIGUmJiF0LmluY2x1ZGVzKGUpP2U6IiJ9Y29uc3Qgcz1lPT57dmFye2NsaWVudElkOnR9PWUscj1mdW5jdGlvbihlLHQpe3ZhciByPXt9O2Zvcih2YXIgcyBpbiBlKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHMpJiZ0LmluZGV4T2Yocyk8MCYmKHJbc109ZVtzXSk7aWYobnVsbCE9ZSYmImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBvPTA7Zm9yKHM9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTtvPHMubGVuZ3RoO28rKyl0LmluZGV4T2Yoc1tvXSk8MCYmT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsc1tvXSkmJihyW3Nbb11dPWVbc1tvXV0pfXJldHVybiByfShlLFsiY2xpZW50SWQiXSk7cmV0dXJuIG5ldyBVUkxTZWFyY2hQYXJhbXMoKGU9Pk9iamVjdC5rZXlzKGUpLmZpbHRlcigodD0+dm9pZCAwIT09ZVt0XSkpLnJlZHVjZSgoKHQscik9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7W3JdOmVbcl19KSkse30pKShPYmplY3QuYXNzaWduKHtjbGllbnRfaWQ6dH0scikpKS50b1N0cmluZygpfTtsZXQgbz17fTtjb25zdCBuPShlLHQpPT5gJHtlfXwke3R9YDthZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwoYXN5bmMoe2RhdGE6e3RpbWVvdXQ6ZSxhdXRoOnIsZmV0Y2hVcmw6aSxmZXRjaE9wdGlvbnM6Yyx1c2VGb3JtRGF0YTphfSxwb3J0czpbZl19KT0+e2xldCBwO2NvbnN0e2F1ZGllbmNlOmwsc2NvcGU6dX09cnx8e307dHJ5e2NvbnN0IHI9YT8oZT0+e2NvbnN0IHQ9bmV3IFVSTFNlYXJjaFBhcmFtcyhlKSxyPXt9O3JldHVybiB0LmZvckVhY2goKChlLHQpPT57clt0XT1lfSkpLHJ9KShjLmJvZHkpOkpTT04ucGFyc2UoYy5ib2R5KTtpZighci5yZWZyZXNoX3Rva2VuJiYicmVmcmVzaF90b2tlbiI9PT1yLmdyYW50X3R5cGUpe2NvbnN0IGU9KChlLHQpPT5vW24oZSx0KV0pKGwsdSk7aWYoIWUpdGhyb3cgbmV3IHQobCx1KTtjLmJvZHk9YT9zKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxyKSx7cmVmcmVzaF90b2tlbjplfSkpOkpTT04uc3RyaW5naWZ5KE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxyKSx7cmVmcmVzaF90b2tlbjplfSkpfWxldCBkLGc7ImZ1bmN0aW9uIj09dHlwZW9mIEFib3J0Q29udHJvbGxlciYmKGQ9bmV3IEFib3J0Q29udHJvbGxlcixjLnNpZ25hbD1kLnNpZ25hbCk7dHJ5e2c9YXdhaXQgUHJvbWlzZS5yYWNlKFsoaD1lLG5ldyBQcm9taXNlKChlPT5zZXRUaW1lb3V0KGUsaCkpKSksZmV0Y2goaSxPYmplY3QuYXNzaWduKHt9LGMpKV0pfWNhdGNoKGUpe3JldHVybiB2b2lkIGYucG9zdE1lc3NhZ2Uoe2Vycm9yOmUubWVzc2FnZX0pfWlmKCFnKXJldHVybiBkJiZkLmFib3J0KCksdm9pZCBmLnBvc3RNZXNzYWdlKHtlcnJvcjoiVGltZW91dCB3aGVuIGV4ZWN1dGluZyAnZmV0Y2gnIn0pO3A9YXdhaXQgZy5qc29uKCkscC5yZWZyZXNoX3Rva2VuPygoKGUsdCxyKT0+e29bbih0LHIpXT1lfSkocC5yZWZyZXNoX3Rva2VuLGwsdSksZGVsZXRlIHAucmVmcmVzaF90b2tlbik6KChlLHQpPT57ZGVsZXRlIG9bbihlLHQpXX0pKGwsdSksZi5wb3N0TWVzc2FnZSh7b2s6Zy5vayxqc29uOnB9KX1jYXRjaChlKXtmLnBvc3RNZXNzYWdlKHtvazohMSxqc29uOntlcnJvcjplLmVycm9yLGVycm9yX2Rlc2NyaXB0aW9uOmUubWVzc2FnZX19KX12YXIgaH0pKX0oKTsKCg==",null,!1),new Worker(xs,e)};const Is={};class ja{constructor(t,n){this.cache=t,this.clientId=n,this.manifestKey=this.createManifestKeyFrom(this.clientId)}async add(t){var n;const s=new Set(((n=await this.cache.get(this.manifestKey))===null||n===void 0?void 0:n.keys)||[]);s.add(t),await this.cache.set(this.manifestKey,{keys:[...s]})}async remove(t){const n=await this.cache.get(this.manifestKey);if(n){const s=new Set(n.keys);return s.delete(t),s.size>0?await this.cache.set(this.manifestKey,{keys:[...s]}):await this.cache.remove(this.manifestKey)}}get(){return this.cache.get(this.manifestKey)}clear(){return this.cache.remove(this.manifestKey)}createManifestKeyFrom(t){return`@@auth0spajs@@::${t}`}}const Aa={memory:()=>new mi().enclosedCache,localstorage:()=>new xa},bi=e=>Aa[e],yi=e=>{const{openUrl:t,onRedirect:n}=e,s=Pe(e,["openUrl","onRedirect"]);return Object.assign(Object.assign({},s),{openUrl:t===!1||t?t:n})},Cs=new ba;class Ra{constructor(t){let n,s;if(this.userCache=new mi().enclosedCache,this.defaultOptions={authorizationParams:{scope:"openid profile email"},useRefreshTokensFallback:!1,useFormData:!0},this._releaseLockOnPageHide=async()=>{await Cs.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)},this.options=Object.assign(Object.assign(Object.assign({},this.defaultOptions),t),{authorizationParams:Object.assign(Object.assign({},this.defaultOptions.authorizationParams),t.authorizationParams)}),typeof window<"u"&&(()=>{if(!In())throw new Error("For security reasons, `window.crypto` is required to run `auth0-spa-js`.");if(In().subtle===void 0)throw new Error(`
|
|
7
7
|
auth0-spa-js must run on a secure origin. See https://github.com/auth0/auth0-spa-js/blob/master/FAQ.md#why-do-i-get-auth0-spa-js-must-run-on-a-secure-origin for more information.
|
|
8
|
-
`)})(),t.cache&&t.cacheLocation&&console.warn("Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`."),t.cache)s=t.cache;else{if(n=t.cacheLocation||"memory",!bi(n))throw new Error(`Invalid cache location "${n}"`);s=bi(n)()}this.httpTimeoutMs=t.httpTimeoutInSeconds?1e3*t.httpTimeoutInSeconds:1e4,this.cookieStorage=t.legacySameSiteCookie===!1?vt:Sa,this.orgHintCookieName=`auth0.${this.options.clientId}.organization_hint`,this.isAuthenticatedCookieName=(r=>`auth0.${this.options.clientId}.is.authenticated`)(),this.sessionCheckExpiryDays=t.sessionCheckExpiryDays||1;const o=t.useCookiesForTransactions?this.cookieStorage:Pa;var i;this.scope=Cn("openid",this.options.authorizationParams.scope,this.options.useRefreshTokens?"offline_access":""),this.transactionManager=new Ca(o,this.options.clientId,this.options.cookieDomain),this.nowProvider=this.options.nowProvider||fi,this.cacheManager=new Ia(s,s.allKeys?void 0:new ja(s,this.options.clientId),this.nowProvider),this.domainUrl=(i=this.options.domain,/^https?:\/\//.test(i)?i:`https://${i}`),this.tokenIssuer=((r,c)=>r?r.startsWith("https://")?r:`https://${r}/`:`${c}/`)(this.options.issuer,this.domainUrl),typeof window<"u"&&window.Worker&&this.options.useRefreshTokens&&n==="memory"&&(this.worker=new Ea)}_url(t){const n=encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client||ui)));return`${this.domainUrl}${t}&auth0Client=${n}`}_authorizeUrl(t){return this._url(`/authorize?${ks(t)}`)}async _verifyIdToken(t,n,s){const o=await this.nowProvider();return(r=>{if(!r.id_token)throw new Error("ID token is required but missing");const c=(d=>{const p=d.split("."),[m,_,v]=p;if(p.length!==3||!m||!_||!v)throw new Error("ID token could not be decoded");const S=JSON.parse(pi(_)),P={__raw:d},T={};return Object.keys(S).forEach(M=>{P[M]=S[M],Ta.includes(M)||(T[M]=S[M])}),{encoded:{header:m,payload:_,signature:v},header:JSON.parse(pi(m)),claims:P,user:T}})(r.id_token);if(!c.claims.iss)throw new Error("Issuer (iss) claim must be a string present in the ID token");if(c.claims.iss!==r.iss)throw new Error(`Issuer (iss) claim mismatch in the ID token; expected "${r.iss}", found "${c.claims.iss}"`);if(!c.user.sub)throw new Error("Subject (sub) claim must be a string present in the ID token");if(c.header.alg!=="RS256")throw new Error(`Signature algorithm of "${c.header.alg}" is not supported. Expected the ID token to be signed with "RS256".`);if(!c.claims.aud||typeof c.claims.aud!="string"&&!Array.isArray(c.claims.aud))throw new Error("Audience (aud) claim must be a string or array of strings present in the ID token");if(Array.isArray(c.claims.aud)){if(!c.claims.aud.includes(r.aud))throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${r.aud}" but was not one of "${c.claims.aud.join(", ")}"`);if(c.claims.aud.length>1){if(!c.claims.azp)throw new Error("Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values");if(c.claims.azp!==r.aud)throw new Error(`Authorized Party (azp) claim mismatch in the ID token; expected "${r.aud}", found "${c.claims.azp}"`)}}else if(c.claims.aud!==r.aud)throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${r.aud}" but found "${c.claims.aud}"`);if(r.nonce){if(!c.claims.nonce)throw new Error("Nonce (nonce) claim must be a string present in the ID token");if(c.claims.nonce!==r.nonce)throw new Error(`Nonce (nonce) claim mismatch in the ID token; expected "${r.nonce}", found "${c.claims.nonce}"`)}if(r.max_age&&!Nt(c.claims.auth_time))throw new Error("Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified");if(c.claims.exp==null||!Nt(c.claims.exp))throw new Error("Expiration Time (exp) claim must be a number present in the ID token");if(!Nt(c.claims.iat))throw new Error("Issued At (iat) claim must be a number present in the ID token");const a=r.leeway||60,l=new Date(r.now||Date.now()),f=new Date(0);if(f.setUTCSeconds(c.claims.exp+a),l>f)throw new Error(`Expiration Time (exp) claim error in the ID token; current time (${l}) is after expiration time (${f})`);if(c.claims.nbf!=null&&Nt(c.claims.nbf)){const d=new Date(0);if(d.setUTCSeconds(c.claims.nbf-a),l<d)throw new Error(`Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Current time (${l}) is before ${d}`)}if(c.claims.auth_time!=null&&Nt(c.claims.auth_time)){const d=new Date(0);if(d.setUTCSeconds(parseInt(c.claims.auth_time)+r.max_age+a),l>d)throw new Error(`Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time (${l}) is after last auth at ${d}`)}if(r.organization){const d=r.organization.trim();if(d.startsWith("org_")){const p=d;if(!c.claims.org_id)throw new Error("Organization ID (org_id) claim must be a string present in the ID token");if(p!==c.claims.org_id)throw new Error(`Organization ID (org_id) claim mismatch in the ID token; expected "${p}", found "${c.claims.org_id}"`)}else{const p=d.toLowerCase();if(!c.claims.org_name)throw new Error("Organization Name (org_name) claim must be a string present in the ID token");if(p!==c.claims.org_name)throw new Error(`Organization Name (org_name) claim mismatch in the ID token; expected "${p}", found "${c.claims.org_name}"`)}}return c})({iss:this.tokenIssuer,aud:this.options.clientId,id_token:t,nonce:n,organization:s,leeway:this.options.leeway,max_age:(i=this.options.authorizationParams.max_age,typeof i!="string"?i:parseInt(i,10)||void 0),now:o});var i}_processOrgHint(t){t?this.cookieStorage.save(this.orgHintCookieName,t,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}):this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain})}async _prepareAuthorizeUrl(t,n,s){const o=hi(vs()),i=hi(vs()),r=vs(),c=(f=>{const d=new Uint8Array(f);return(p=>{const m={"+":"-","/":"_","=":""};return p.replace(/[+/=]/g,_=>m[_])})(window.btoa(String.fromCharCode(...Array.from(d))))})(await(async f=>await In().subtle.digest({name:"SHA-256"},new TextEncoder().encode(f)))(r)),a=((f,d,p,m,_,v,S,P)=>Object.assign(Object.assign(Object.assign({client_id:f.clientId},f.authorizationParams),p),{scope:Cn(d,p.scope),response_type:"code",response_mode:P||"query",state:m,nonce:_,redirect_uri:S||f.authorizationParams.redirect_uri,code_challenge:v,code_challenge_method:"S256"}))(this.options,this.scope,t,o,i,c,t.redirect_uri||this.options.authorizationParams.redirect_uri||s,n?.response_mode),l=this._authorizeUrl(a);return{nonce:i,code_verifier:r,scope:a.scope,audience:a.audience||"default",redirect_uri:a.redirect_uri,state:o,url:l}}async loginWithPopup(t,n){var s;if(t=t||{},!(n=n||{}).popup&&(n.popup=(c=>{const a=window.screenX+(window.innerWidth-400)/2,l=window.screenY+(window.innerHeight-600)/2;return window.open("","auth0:authorize:popup",`left=${a},top=${l},width=400,height=600,resizable,scrollbars=yes,status=1`)})(),!n.popup))throw new Error("Unable to open a popup for loginWithPopup - window.open returned `null`");const o=await this._prepareAuthorizeUrl(t.authorizationParams||{},{response_mode:"web_message"},window.location.origin);n.popup.location.href=o.url;const i=await(c=>new Promise((a,l)=>{let f;const d=setInterval(()=>{c.popup&&c.popup.closed&&(clearInterval(d),clearTimeout(p),window.removeEventListener("message",f,!1),l(new ys(c.popup)))},1e3),p=setTimeout(()=>{clearInterval(d),l(new bs(c.popup)),window.removeEventListener("message",f,!1)},1e3*(c.timeoutInSeconds||60));f=function(m){if(m.data&&m.data.type==="authorization_response"){if(clearTimeout(p),clearInterval(d),window.removeEventListener("message",f,!1),c.popup.close(),m.data.response.error)return l(le.fromPayload(m.data.response));a(m.data.response)}},window.addEventListener("message",f)}))(Object.assign(Object.assign({},n),{timeoutInSeconds:n.timeoutInSeconds||this.options.authorizeTimeoutInSeconds||60}));if(o.state!==i.state)throw new le("state_mismatch","Invalid state");const r=((s=t.authorizationParams)===null||s===void 0?void 0:s.organization)||this.options.authorizationParams.organization;await this._requestToken({audience:o.audience,scope:o.scope,code_verifier:o.code_verifier,grant_type:"authorization_code",code:i.code,redirect_uri:o.redirect_uri},{nonceIn:o.nonce,organization:r})}async getUser(){var t;const n=await this._getIdTokenFromCache();return(t=n?.decodedToken)===null||t===void 0?void 0:t.user}async getIdTokenClaims(){var t;const n=await this._getIdTokenFromCache();return(t=n?.decodedToken)===null||t===void 0?void 0:t.claims}async loginWithRedirect(t={}){var n;const s=yi(t),{openUrl:o,fragment:i,appState:r}=s,c=Pe(s,["openUrl","fragment","appState"]),a=((n=c.authorizationParams)===null||n===void 0?void 0:n.organization)||this.options.authorizationParams.organization,l=await this._prepareAuthorizeUrl(c.authorizationParams||{}),{url:f}=l,d=Pe(l,["url"]);this.transactionManager.create(Object.assign(Object.assign(Object.assign({},d),{appState:r}),a&&{organization:a}));const p=i?`${f}#${i}`:f;o?await o(p):window.location.assign(p)}async handleRedirectCallback(t=window.location.href){const n=t.split("?").slice(1);if(n.length===0)throw new Error("There are no query params available for parsing.");const{state:s,code:o,error:i,error_description:r}=(d=>{d.indexOf("#")>-1&&(d=d.substring(0,d.indexOf("#")));const p=new URLSearchParams(d);return{state:p.get("state"),code:p.get("code")||void 0,error:p.get("error")||void 0,error_description:p.get("error_description")||void 0}})(n.join("")),c=this.transactionManager.get();if(!c)throw new le("missing_transaction","Invalid state");if(this.transactionManager.remove(),i)throw new _s(i,r||i,s,c.appState);if(!c.code_verifier||c.state&&c.state!==s)throw new le("state_mismatch","Invalid state");const a=c.organization,l=c.nonce,f=c.redirect_uri;return await this._requestToken(Object.assign({audience:c.audience,scope:c.scope,code_verifier:c.code_verifier,grant_type:"authorization_code",code:o},f?{redirect_uri:f}:{}),{nonceIn:l,organization:a}),{appState:c.appState}}async checkSession(t){if(!this.cookieStorage.get(this.isAuthenticatedCookieName)){if(!this.cookieStorage.get("auth0.is.authenticated"))return;this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove("auth0.is.authenticated")}try{await this.getTokenSilently(t)}catch{}}async getTokenSilently(t={}){var n;const s=Object.assign(Object.assign({cacheMode:"on"},t),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),t.authorizationParams),{scope:Cn(this.scope,(n=t.authorizationParams)===null||n===void 0?void 0:n.scope)})}),o=await((i,r)=>{let c=Is[r];return c||(c=i().finally(()=>{delete Is[r],c=null}),Is[r]=c),c})(()=>this._getTokenSilently(s),`${this.options.clientId}::${s.authorizationParams.audience}::${s.authorizationParams.scope}`);return t.detailedResponse?o:o?.access_token}async _getTokenSilently(t){const{cacheMode:n}=t,s=Pe(t,["cacheMode"]);if(n!=="off"){const o=await this._getEntryFromCache({scope:s.authorizationParams.scope,audience:s.authorizationParams.audience||"default",clientId:this.options.clientId});if(o)return o}if(n!=="cache-only"){if(!await(async(o,i=3)=>{for(let r=0;r<i;r++)if(await o())return!0;return!1})(()=>Cs.acquireLock("auth0.lock.getTokenSilently",5e3),10))throw new zt;try{if(window.addEventListener("pagehide",this._releaseLockOnPageHide),n!=="off"){const l=await this._getEntryFromCache({scope:s.authorizationParams.scope,audience:s.authorizationParams.audience||"default",clientId:this.options.clientId});if(l)return l}const o=this.options.useRefreshTokens?await this._getTokenUsingRefreshToken(s):await this._getTokenFromIFrame(s),{id_token:i,access_token:r,oauthTokenScope:c,expires_in:a}=o;return Object.assign(Object.assign({id_token:i,access_token:r},c?{scope:c}:null),{expires_in:a})}finally{await Cs.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)}}}async getTokenWithPopup(t={},n={}){var s;const o=Object.assign(Object.assign({},t),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),t.authorizationParams),{scope:Cn(this.scope,(s=t.authorizationParams)===null||s===void 0?void 0:s.scope)})});return n=Object.assign(Object.assign({},ya),n),await this.loginWithPopup(o,n),(await this.cacheManager.get(new Ee({scope:o.authorizationParams.scope,audience:o.authorizationParams.audience||"default",clientId:this.options.clientId}))).access_token}async isAuthenticated(){return!!await this.getUser()}_buildLogoutUrl(t){t.clientId!==null?t.clientId=t.clientId||this.options.clientId:delete t.clientId;const n=t.logoutParams||{},{federated:s}=n,o=Pe(n,["federated"]),i=s?"&federated":"";return this._url(`/v2/logout?${ks(Object.assign({clientId:t.clientId},o))}`)+i}async logout(t={}){const n=yi(t),{openUrl:s}=n,o=Pe(n,["openUrl"]);t.clientId===null?await this.cacheManager.clear():await this.cacheManager.clear(t.clientId||this.options.clientId),this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove(this.isAuthenticatedCookieName,{cookieDomain:this.options.cookieDomain}),this.userCache.remove("@@user@@");const i=this._buildLogoutUrl(o);s?await s(i):s!==!1&&window.location.assign(i)}async _getTokenFromIFrame(t){const n=Object.assign(Object.assign({},t.authorizationParams),{prompt:"none"}),s=this.cookieStorage.get(this.orgHintCookieName);s&&!n.organization&&(n.organization=s);const{url:o,state:i,nonce:r,code_verifier:c,redirect_uri:a,scope:l,audience:f}=await this._prepareAuthorizeUrl(n,{response_mode:"web_message"},window.location.origin);try{if(window.crossOriginIsolated)throw new le("login_required","The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.");const d=t.timeoutInSeconds||this.options.authorizeTimeoutInSeconds,p=await((_,v,S=60)=>new Promise((P,T)=>{const M=window.document.createElement("iframe");M.setAttribute("width","0"),M.setAttribute("height","0"),M.style.display="none";const A=()=>{window.document.body.contains(M)&&(window.document.body.removeChild(M),window.removeEventListener("message",H,!1))};let H;const _e=setTimeout(()=>{T(new zt),A()},1e3*S);H=function(ne){if(ne.origin!=v||!ne.data||ne.data.type!=="authorization_response")return;const K=ne.source;K&&K.close(),ne.data.response.error?T(le.fromPayload(ne.data.response)):P(ne.data.response),clearTimeout(_e),window.removeEventListener("message",H,!1),setTimeout(A,2e3)},window.addEventListener("message",H,!1),window.document.body.appendChild(M),M.setAttribute("src",_)}))(o,this.domainUrl,d);if(i!==p.state)throw new le("state_mismatch","Invalid state");const m=await this._requestToken(Object.assign(Object.assign({},t.authorizationParams),{code_verifier:c,code:p.code,grant_type:"authorization_code",redirect_uri:a,timeout:t.authorizationParams.timeout||this.httpTimeoutMs}),{nonceIn:r,organization:n.organization});return Object.assign(Object.assign({},m),{scope:l,oauthTokenScope:m.scope,audience:f})}catch(d){throw d.error==="login_required"&&this.logout({openUrl:!1}),d}}async _getTokenUsingRefreshToken(t){const n=await this.cacheManager.get(new Ee({scope:t.authorizationParams.scope,audience:t.authorizationParams.audience||"default",clientId:this.options.clientId}));if(!(n&&n.refresh_token||this.worker)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(t);throw new xn(t.authorizationParams.audience||"default",t.authorizationParams.scope)}const s=t.authorizationParams.redirect_uri||this.options.authorizationParams.redirect_uri||window.location.origin,o=typeof t.timeoutInSeconds=="number"?1e3*t.timeoutInSeconds:null;try{const i=await this._requestToken(Object.assign(Object.assign(Object.assign({},t.authorizationParams),{grant_type:"refresh_token",refresh_token:n&&n.refresh_token,redirect_uri:s}),o&&{timeout:o}));return Object.assign(Object.assign({},i),{scope:t.authorizationParams.scope,oauthTokenScope:i.scope,audience:t.authorizationParams.audience||"default"})}catch(i){if((i.message.indexOf("Missing Refresh Token")>-1||i.message&&i.message.indexOf("invalid refresh token")>-1)&&this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(t);throw i}}async _saveEntryInCache(t){const{id_token:n,decodedToken:s}=t,o=Pe(t,["id_token","decodedToken"]);this.userCache.set("@@user@@",{id_token:n,decodedToken:s}),await this.cacheManager.setIdToken(this.options.clientId,t.id_token,t.decodedToken),await this.cacheManager.set(o)}async _getIdTokenFromCache(){const t=this.options.authorizationParams.audience||"default",n=await this.cacheManager.getIdToken(new Ee({clientId:this.options.clientId,audience:t,scope:this.scope})),s=this.userCache.get("@@user@@");return n&&n.id_token===s?.id_token?s:(this.userCache.set("@@user@@",n),n)}async _getEntryFromCache({scope:t,audience:n,clientId:s}){const o=await this.cacheManager.get(new Ee({scope:t,audience:n,clientId:s}),60);if(o&&o.access_token){const{access_token:i,oauthTokenScope:r,expires_in:c}=o,a=await this._getIdTokenFromCache();return a&&Object.assign(Object.assign({id_token:a.id_token,access_token:i},r?{scope:r}:null),{expires_in:c})}}async _requestToken(t,n){const{nonceIn:s,organization:o}=n||{},i=await ka(Object.assign({baseUrl:this.domainUrl,client_id:this.options.clientId,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs},t),this.worker),r=await this._verifyIdToken(i.id_token,s,o);return await this._saveEntryInCache(Object.assign(Object.assign(Object.assign(Object.assign({},i),{decodedToken:r,scope:t.scope,audience:t.audience||"default"}),i.scope?{oauthTokenScope:i.scope}:null),{client_id:this.options.clientId})),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgHint(o||r.claims.org_id),Object.assign(Object.assign({},i),{decodedToken:r})}}function Ut(e){e?.redirect_uri&&(console.warn("Using `redirect_uri` has been deprecated, please use `authorizationParams.redirect_uri` instead as `redirectUri` will be no longer supported in a future version"),e.authorizationParams=e.authorizationParams||{},e.authorizationParams.redirect_uri=e.redirect_uri,delete e.redirect_uri)}const it=()=>{console.error("Please ensure Auth0's Vue plugin is correctly installed.")},La={isLoading:q(!1),isAuthenticated:q(!1),user:q(void 0),idTokenClaims:q(void 0),error:q(null),loginWithPopup:it,loginWithRedirect:it,getAccessTokenSilently:it,getAccessTokenWithPopup:it,logout:it,checkSession:it,handleRedirectCallback:it},Ma=q(La);class Fa{constructor(t,n){var s,o;this.clientOptions=t,this.pluginOptions=n,this.isLoading=q(!0),this.isAuthenticated=q(!1),this.user=q({}),this.idTokenClaims=q(),this.error=q(null),s=this,o=["constructor"],Object.getOwnPropertyNames(Object.getPrototypeOf(s)).filter(i=>!o.includes(i)).forEach(i=>s[i]=s[i].bind(s))}install(t){this._client=new Ra(Object.assign(Object.assign({},this.clientOptions),{auth0Client:{name:"auth0-vue",version:"2.3.1"}})),this.__checkSession(t.config.globalProperties.$router),t.config.globalProperties.$auth0=this,t.provide(li,this),Ma.value=this}async loginWithRedirect(t){return Ut(t),this._client.loginWithRedirect(t)}async loginWithPopup(t,n){return Ut(t),this.__proxy(()=>this._client.loginWithPopup(t,n))}async logout(t){return t?.openUrl||t?.openUrl===!1?this.__proxy(()=>this._client.logout(t)):this._client.logout(t)}async getAccessTokenSilently(t={}){return Ut(t),this.__proxy(()=>this._client.getTokenSilently(t))}async getAccessTokenWithPopup(t,n){return Ut(t),this.__proxy(()=>this._client.getTokenWithPopup(t,n))}async checkSession(t){return this.__proxy(()=>this._client.checkSession(t))}async handleRedirectCallback(t){return this.__proxy(()=>this._client.handleRedirectCallback(t))}async __checkSession(t){var n,s,o;const i=window.location.search;try{if((i.includes("code=")||i.includes("error="))&&i.includes("state=")&&!(!((n=this.pluginOptions)===null||n===void 0)&&n.skipRedirectCallback)){const r=await this.handleRedirectCallback(),c=r?.appState,a=(s=c?.target)!==null&&s!==void 0?s:"/";return window.history.replaceState({},"","/"),t&&t.push(a),r}await this.checkSession()}catch{window.history.replaceState({},"","/"),t&&t.push(((o=this.pluginOptions)===null||o===void 0?void 0:o.errorPath)||"/")}}async __refreshState(){this.isAuthenticated.value=await this._client.isAuthenticated(),this.user.value=await this._client.getUser(),this.idTokenClaims.value=await this._client.getIdTokenClaims(),this.isLoading.value=!1}async __proxy(t,n=!0){let s;try{s=await t(),this.error.value=null}catch(o){throw this.error.value=o,o}finally{n&&await this.__refreshState()}return s}}function wi(e,t){return Ut(e),new Fa(e,t)}function vi(){return ve(li)}const Rl="",Ll="",Ml="";var Ts=(e=>(e[e.Pending=0]="Pending",e[e.Approved=1]="Approved",e[e.Rejected=2]="Rejected",e))(Ts||{});const Os=_a("store",()=>{const e=ve("postId"),t=ve("comments"),n=q(!!t?.length),s=q(0),o=q(""),i=q(f(t||[])),r=q(0),c=ve("ApiBaseUrl"),a=q(!1),l=q(!1);function f(m){return m.map(_=>{const{user:v,created_at:S,...P}=_;return{...P,status:Number(_.status),createdAt:new Date(S),user:JSON.parse(_.user)}})}async function d(){o.value="",a.value=!0;const m=new URLSearchParams;m.append("postId",e),m.append("start",s.value.toString());const _=await fetch(`${c}/api/comments?${m}`);if(!_.ok){o.value="Load comments failed. "+_.statusText,n.value=!0,a.value=!1;return}const v=await _.json();if(v.code!==0){o.value="Load comments failed. "+v.message,n.value=!0,a.value=!1;return}i.value.push(...f(v.data||[]));const S=v.data?.length||0;return l.value=S>=20,r.value+=S,n.value=!0,a.value=!1,v}function p(m,_,v){const{sub:S="",name:P="",picture:T="",email:M="",nickname:A=""}=v;i.value.unshift({id:m,postId:e,content:_,ancestorId:-1,parentId:-1,createdAt:new Date,user:{avatar:T,email:M,name:A||P},userId:S,status:Ts.Pending,isNew:!0}),r.value++}return{isLoaded:n,message:o,postId:e,comments:i,total:r,start:s,hasMore:l,loadingMore:a,loadComments:d,addComment:p}}),Ka=["onSubmit"],za={class:"ac-form-control border border-neutral bg-base-200 rounded-lg"},Na=J("label",{class:"sr-only",for:"ac-comment"},"Your comment",-1),Ua=["onKeydown"],$a={class:"p-2 rounded-b-lg bg-base-300 flex items-center"},Da={class:"text-xs text-neutral-400/40"},Wa={key:0,class:"ac-alert ac-alert-error mx-4"},Ha=["disabled"],Za={key:0,class:"ac-loading ac-loading-spinner"},Va=qn({...{name:"CommentForm"},setup(e){const t=vi(),n=Os(),s=ve("ApiBaseUrl"),o=ve("Auth0Domain"),i="0.2.3",r=q(!1),c=q(""),a=q("");async function l(p){if(!t.user.value)return f();if(!p.target.matches(":invalid")){r.value=!0;try{const m=await t.getAccessTokenSilently(),_=await fetch(s+"/api/comment",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${m}`},body:JSON.stringify({comment:c.value,postId:n.postId,domain:o})});if(!_.ok)throw new Error("Failed to post comment");const v=await _.json();n.addComment(v.data,c.value,t.user.value),c.value=""}catch(m){a.value=m.message||String(m)}r.value=!1}}function f(){t.loginWithPopup()}function d(p){const m=navigator.userAgent.match(/Macintosh/);(m&&p.metaKey||!m&&p.ctrlKey)&&l(p)}return(p,m)=>(G(),te("form",{class:"mb-6",onSubmit:sa(l,["prevent"])},[J("div",za,[Na,Ur(J("textarea",{class:"ac-textarea ac-textarea-bordered bg-base-200 rounded-b-none focus:outline-none",id:"ac-comment",rows:"3",placeholder:"Write a comment...",required:"",onKeydown:ia(d,["enter"]),"onUpdate:modelValue":m[0]||(m[0]=_=>c.value=_)},null,40,Ua),[[ea,c.value]]),J("div",$a,[J("div",Da,"v"+Le(B(i)),1),a.value?(G(),te("div",Wa,[J("p",null,Le(a.value),1)])):et("",!0),J("button",{class:"ac-btn ac-btn-primary ac-btn-sm ml-auto",disabled:r.value},[r.value?(G(),te("span",Za)):et("",!0),wn("Post comment")],8,Ha)])])],40,Ka))}});var Xa={"":["<em>","</em>"],_:["<strong>","</strong>"],"*":["<strong>","</strong>"],"~":["<s>","</s>"],"\n":["<br />"]," ":["<br />"],"-":["<hr />"]};function ki(e){return e.replace(RegExp("^"+(e.match(/^(\t| )+/)||"")[0],"gm"),"")}function $t(e){return(e+"").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function Ss(e,t){var n,s,o,i,r,c=/((?:^|\n+)(?:\n---+|\* \*(?: \*)+)\n)|(?:^``` *(\w*)\n([\s\S]*?)\n```$)|((?:(?:^|\n+)(?:\t| {2,}).+)+\n*)|((?:(?:^|\n)([>*+-]|\d+\.)\s+.*)+)|(?:!\[([^\]]*?)\]\(([^)]+?)\))|(\[)|(\](?:\(([^)]+?)\))?)|(?:(?:^|\n+)([^\s].*)\n(-{3,}|={3,})(?:\n+|$))|(?:(?:^|\n+)(#{1,6})\s*(.+)(?:\n+|$))|(?:`([^`].*?)`)|( \n\n*|\n{2,}|__|\*\*|[_*]|~~)/gm,a=[],l="",f=t||{},d=0;function p(_){var v=Xa[_[1]||""],S=a[a.length-1]==_;return v?v[1]?(S?a.pop():a.push(_),v[0|S]):v[0]:_}function m(){for(var _="";a.length;)_+=p(a[a.length-1]);return _}for(e=e.replace(/^\[(.+?)\]:\s*(.+)$/gm,function(_,v,S){return f[v.toLowerCase()]=S,""}).replace(/^\n+|\n+$/g,"");o=c.exec(e);)s=e.substring(d,o.index),d=c.lastIndex,n=o[0],s.match(/[^\\](\\\\)*\\$/)||((r=o[3]||o[4])?n='<pre class="code '+(o[4]?"poetry":o[2].toLowerCase())+'"><code'+(o[2]?' class="language-'+o[2].toLowerCase()+'"':"")+">"+ki($t(r).replace(/^\n+|\n+$/g,""))+"</code></pre>":(r=o[6])?(r.match(/\./)&&(o[5]=o[5].replace(/^\d+/gm,"")),i=Ss(ki(o[5].replace(/^\s*[>*+.-]/gm,""))),r==">"?r="blockquote":(r=r.match(/\./)?"ol":"ul",i=i.replace(/^(.*)(\n|$)/gm,"<li>$1</li>")),n="<"+r+">"+i+"</"+r+">"):o[8]?n='<img src="'+$t(o[8])+'" alt="'+$t(o[7])+'">':o[10]?(l=l.replace("<a>",'<a href="'+$t(o[11]||f[s.toLowerCase()])+'">'),n=m()+"</a>"):o[9]?n="<a>":o[12]||o[14]?n="<"+(r="h"+(o[14]?o[14].length:o[13]>"="?1:2))+">"+Ss(o[12]||o[15],f)+"</"+r+">":o[16]?n="<code>"+$t(o[16])+"</code>":(o[17]||o[1])&&(n=p(o[17]||"--"))),l+=s,l+=n;return(l+e.substring(d)+m()).replace(/^\n+|\n+$/g,"")}function Tn(e){return e<10?`0${e}`:`${e}`}function xi(e){const t=e.getFullYear(),n=e.getMonth()+1,s=e.getDate();return`${t}-${Tn(n)}-${Tn(s)}`}function Ba(e){const t=new Date,n=xi(e);if(xi(t)===n){const s=e.getHours(),o=e.getMinutes();return`${Tn(s)}:${Tn(o)}`}return n}function Ja(e){let t=0;for(let s=0;s<e.length;s++)t=e.charCodeAt(s)+((t<<5)-t);let n="#";for(let s=0;s<3;s++){const o=t>>s*8&255;n+=("00"+o.toString(16)).slice(-2)}return n}const Ya={key:0,class:"comments-wrapper"},qa=["onAnimationend"],Ga={class:"flex justify-between items-center mb-2"},Qa={class:"flex items-center text-sm text-base-content dark:text-white"},el={class:"avatar mr-2"},tl=["src","alt"],nl={class:"text-neutral-content mix-blend-color-dodge uppercase font-bold leading-6"},sl=["datetime","title"],ol=["innerHTML"],il={key:0,class:"italic mt-4 text-gray-500 mb-0 text-sm dark:text-gray-400"},rl=["disabled"],cl={key:0,class:"ac-loading ac-loading-xs ac-loading-spinner"},al={key:1,class:"pt-8 text-center"},ll=[J("span",{class:"ac-loading ac-loading-spinner"},null,-1)],ul=qn({...{name:"CommentSections"},setup(e){const t=Os();t.loadComments();function n(){t.start+=20,t.loadComments()}return(s,o)=>B(t).isLoaded?(G(),te("div",Ya,[(G(!0),te(ke,null,ec(B(t).comments,i=>(G(),te("article",{class:qt(["p-6 text-base bg-base-200 rounded-lg mb-4 dark:bg-gray-900",{"animated flash":i.isNew}]),key:i.id,onAnimationend:r=>i.isNew=!1},[J("header",Ga,[J("div",Qa,[J("div",el,[i.user.avatar?(G(),te("img",{key:0,class:"w-6 h-6 rounded-full",src:i.user.avatar,alt:i.user.name},null,8,tl)):(G(),te("div",{key:1,class:"avatar-char rounded-full w-6 h-6 mr-2 text-center",style:Yt({"background-color":B(Ja)(i.user.name||"Anonymous")})},[J("span",nl,Le((i.user.name||"Anonymous").substring(0,1)),1)],4))]),wn(Le(i.user.name),1),J("time",{class:"text-xs text-gray-600 ml-4 dark:text-gray-400",pubdate:"",datetime:i.createdAt,title:i.createdAt},Le(B(Ba)(i.createdAt)),9,sl)])]),J("p",{class:"text-gray-500 dark:text-gray-400",innerHTML:B(Ss)(i.content)},null,8,ol),i.status===B(Ts).Pending?(G(),te("p",il,"comments normally got approved within 24 hours")):et("",!0)],42,qa))),128)),B(t).hasMore?(G(),te("button",{key:0,class:"ac-btn ac-btn-neutral ac-btn-sm ac-btn-block",type:"button",onClick:n,disabled:B(t).loadingMore},[B(t).loadingMore?(G(),te("span",cl)):et("",!0),wn("Load More")],8,rl)):et("",!0)])):(G(),te("div",al,ll))}}),fl={class:"awesome-comment"},dl={key:0,class:"ac-alert ac-alert-error mb-4"},hl={class:"flex justify-between items-center py-2"},pl={class:"text-lg font-bold text-base-content my-0"},ml={key:0,class:"ac-loading ac-loading-spinner"},gl={key:1,class:"ac-dropdown ac-dropdown-end"},_l={key:0,class:"ac-avatar flex",tabindex:"0"},bl={class:"w-6 h-6 rounded-full"},yl=["alt","src"],wl={key:1,class:"ac-btn ac-btn-ghost",tabindex:"0"},vl={class:"ac-dropdown-content z-10 ac-menu p-2 shadow bg-base-100 rounded-box w-52",tabindex:"0"},kl={key:0,class:"border-b border-neutral pb-2 mb-2 pointer-events-none"},xl={class:"text-base-content"},Il=["disabled"],Cl=["disabled"],Tl=qn({__name:"App",setup(e){const t=Os(),{isAuthenticated:n,isLoading:s,user:o,loginWithPopup:i,logout:r}=vi(),c=ls(()=>{const f=t.total>20||t.total===20&&t.hasMore?"20+":t.total,d=new CustomEvent("AwesomeComment:total",{bubbles:!0,cancelable:!0,detail:f});return document.body.dispatchEvent(d),f});function a(){i()}function l(){r({openUrl:!1})}return(f,d)=>(G(),te("div",fl,[B(t).message?(G(),te("div",dl,[J("p",null,Le(B(t).message),1)])):et("",!0),J("header",hl,[J("h2",pl,"Discussion ("+Le(c.value)+")",1),B(s)?(G(),te("span",ml)):(G(),te("div",gl,[B(n)&&B(o)?(G(),te(ke,{key:0},[B(o).picture?(G(),te("label",_l,[J("div",bl,[J("img",{class:"w-full h-full block",alt:B(o).name||B(o).email,src:B(o).picture},null,8,yl)])])):(G(),te("label",wl,Le(B(o).email),1)),J("ul",vl,[B(o).picture?(G(),te("li",kl,[J("span",xl,Le(B(o).email),1)])):et("",!0),J("li",null,[J("button",{class:"border-0 bg-base-100",type:"button",disabled:B(s),onClick:l},"Logout",8,Il)])])],64)):(G(),te("button",{key:1,class:"ac-btn ac-btn-secondary ac-btn-xs",type:"button",disabled:B(s),onClick:a},"Login",8,Cl))]))]),Ie(Va),Ie(ul)]))}}),Ii=[];let Ci=null;function Ol(e,t){const n=aa(Tl),s=fa(),o=Ci||wi({domain:e,clientId:t,authorizationParams:{redirect_uri:location.origin}});return n.use(o),n.use(s),n}return{postId:"",apiUrl:"",domain:"",clientId:"",init(e,t,n,s,o){t??=this.postId,n??=this.apiUrl,s??=this.domain,o??=this.clientId;const i=Ol(s,o);i.provide("ApiBaseUrl",n),i.provide("postId",t),i.provide("Auth0Domain",s),i.provide("comments",Ii),i.mount(e)},async preload(e,t,n,s){this.postId=e,this.apiUrl=t,this.domain=n,this.clientId=s,Ci=wi({domain:n,clientId:s,authorizationParams:{redirect_uri:window.location.origin}});const o=await fetch(`${t}/api/comments?postId=${e}`);o.ok||console.log("[Awesome comment] Failed to preload comments.");const i=await o.json();i.data&&Ii.push(...i.data)}}}();
|
|
8
|
+
`)})(),t.cache&&t.cacheLocation&&console.warn("Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`."),t.cache)s=t.cache;else{if(n=t.cacheLocation||"memory",!bi(n))throw new Error(`Invalid cache location "${n}"`);s=bi(n)()}this.httpTimeoutMs=t.httpTimeoutInSeconds?1e3*t.httpTimeoutInSeconds:1e4,this.cookieStorage=t.legacySameSiteCookie===!1?vt:Sa,this.orgHintCookieName=`auth0.${this.options.clientId}.organization_hint`,this.isAuthenticatedCookieName=(r=>`auth0.${this.options.clientId}.is.authenticated`)(),this.sessionCheckExpiryDays=t.sessionCheckExpiryDays||1;const o=t.useCookiesForTransactions?this.cookieStorage:Pa;var i;this.scope=Cn("openid",this.options.authorizationParams.scope,this.options.useRefreshTokens?"offline_access":""),this.transactionManager=new Ca(o,this.options.clientId,this.options.cookieDomain),this.nowProvider=this.options.nowProvider||fi,this.cacheManager=new Ia(s,s.allKeys?void 0:new ja(s,this.options.clientId),this.nowProvider),this.domainUrl=(i=this.options.domain,/^https?:\/\//.test(i)?i:`https://${i}`),this.tokenIssuer=((r,c)=>r?r.startsWith("https://")?r:`https://${r}/`:`${c}/`)(this.options.issuer,this.domainUrl),typeof window<"u"&&window.Worker&&this.options.useRefreshTokens&&n==="memory"&&(this.worker=new Ea)}_url(t){const n=encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client||ui)));return`${this.domainUrl}${t}&auth0Client=${n}`}_authorizeUrl(t){return this._url(`/authorize?${ks(t)}`)}async _verifyIdToken(t,n,s){const o=await this.nowProvider();return(r=>{if(!r.id_token)throw new Error("ID token is required but missing");const c=(d=>{const p=d.split("."),[m,_,v]=p;if(p.length!==3||!m||!_||!v)throw new Error("ID token could not be decoded");const S=JSON.parse(pi(_)),P={__raw:d},T={};return Object.keys(S).forEach(M=>{P[M]=S[M],Ta.includes(M)||(T[M]=S[M])}),{encoded:{header:m,payload:_,signature:v},header:JSON.parse(pi(m)),claims:P,user:T}})(r.id_token);if(!c.claims.iss)throw new Error("Issuer (iss) claim must be a string present in the ID token");if(c.claims.iss!==r.iss)throw new Error(`Issuer (iss) claim mismatch in the ID token; expected "${r.iss}", found "${c.claims.iss}"`);if(!c.user.sub)throw new Error("Subject (sub) claim must be a string present in the ID token");if(c.header.alg!=="RS256")throw new Error(`Signature algorithm of "${c.header.alg}" is not supported. Expected the ID token to be signed with "RS256".`);if(!c.claims.aud||typeof c.claims.aud!="string"&&!Array.isArray(c.claims.aud))throw new Error("Audience (aud) claim must be a string or array of strings present in the ID token");if(Array.isArray(c.claims.aud)){if(!c.claims.aud.includes(r.aud))throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${r.aud}" but was not one of "${c.claims.aud.join(", ")}"`);if(c.claims.aud.length>1){if(!c.claims.azp)throw new Error("Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values");if(c.claims.azp!==r.aud)throw new Error(`Authorized Party (azp) claim mismatch in the ID token; expected "${r.aud}", found "${c.claims.azp}"`)}}else if(c.claims.aud!==r.aud)throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${r.aud}" but found "${c.claims.aud}"`);if(r.nonce){if(!c.claims.nonce)throw new Error("Nonce (nonce) claim must be a string present in the ID token");if(c.claims.nonce!==r.nonce)throw new Error(`Nonce (nonce) claim mismatch in the ID token; expected "${r.nonce}", found "${c.claims.nonce}"`)}if(r.max_age&&!Nt(c.claims.auth_time))throw new Error("Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified");if(c.claims.exp==null||!Nt(c.claims.exp))throw new Error("Expiration Time (exp) claim must be a number present in the ID token");if(!Nt(c.claims.iat))throw new Error("Issued At (iat) claim must be a number present in the ID token");const a=r.leeway||60,l=new Date(r.now||Date.now()),f=new Date(0);if(f.setUTCSeconds(c.claims.exp+a),l>f)throw new Error(`Expiration Time (exp) claim error in the ID token; current time (${l}) is after expiration time (${f})`);if(c.claims.nbf!=null&&Nt(c.claims.nbf)){const d=new Date(0);if(d.setUTCSeconds(c.claims.nbf-a),l<d)throw new Error(`Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Current time (${l}) is before ${d}`)}if(c.claims.auth_time!=null&&Nt(c.claims.auth_time)){const d=new Date(0);if(d.setUTCSeconds(parseInt(c.claims.auth_time)+r.max_age+a),l>d)throw new Error(`Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time (${l}) is after last auth at ${d}`)}if(r.organization){const d=r.organization.trim();if(d.startsWith("org_")){const p=d;if(!c.claims.org_id)throw new Error("Organization ID (org_id) claim must be a string present in the ID token");if(p!==c.claims.org_id)throw new Error(`Organization ID (org_id) claim mismatch in the ID token; expected "${p}", found "${c.claims.org_id}"`)}else{const p=d.toLowerCase();if(!c.claims.org_name)throw new Error("Organization Name (org_name) claim must be a string present in the ID token");if(p!==c.claims.org_name)throw new Error(`Organization Name (org_name) claim mismatch in the ID token; expected "${p}", found "${c.claims.org_name}"`)}}return c})({iss:this.tokenIssuer,aud:this.options.clientId,id_token:t,nonce:n,organization:s,leeway:this.options.leeway,max_age:(i=this.options.authorizationParams.max_age,typeof i!="string"?i:parseInt(i,10)||void 0),now:o});var i}_processOrgHint(t){t?this.cookieStorage.save(this.orgHintCookieName,t,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}):this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain})}async _prepareAuthorizeUrl(t,n,s){const o=hi(vs()),i=hi(vs()),r=vs(),c=(f=>{const d=new Uint8Array(f);return(p=>{const m={"+":"-","/":"_","=":""};return p.replace(/[+/=]/g,_=>m[_])})(window.btoa(String.fromCharCode(...Array.from(d))))})(await(async f=>await In().subtle.digest({name:"SHA-256"},new TextEncoder().encode(f)))(r)),a=((f,d,p,m,_,v,S,P)=>Object.assign(Object.assign(Object.assign({client_id:f.clientId},f.authorizationParams),p),{scope:Cn(d,p.scope),response_type:"code",response_mode:P||"query",state:m,nonce:_,redirect_uri:S||f.authorizationParams.redirect_uri,code_challenge:v,code_challenge_method:"S256"}))(this.options,this.scope,t,o,i,c,t.redirect_uri||this.options.authorizationParams.redirect_uri||s,n?.response_mode),l=this._authorizeUrl(a);return{nonce:i,code_verifier:r,scope:a.scope,audience:a.audience||"default",redirect_uri:a.redirect_uri,state:o,url:l}}async loginWithPopup(t,n){var s;if(t=t||{},!(n=n||{}).popup&&(n.popup=(c=>{const a=window.screenX+(window.innerWidth-400)/2,l=window.screenY+(window.innerHeight-600)/2;return window.open("","auth0:authorize:popup",`left=${a},top=${l},width=400,height=600,resizable,scrollbars=yes,status=1`)})(),!n.popup))throw new Error("Unable to open a popup for loginWithPopup - window.open returned `null`");const o=await this._prepareAuthorizeUrl(t.authorizationParams||{},{response_mode:"web_message"},window.location.origin);n.popup.location.href=o.url;const i=await(c=>new Promise((a,l)=>{let f;const d=setInterval(()=>{c.popup&&c.popup.closed&&(clearInterval(d),clearTimeout(p),window.removeEventListener("message",f,!1),l(new ys(c.popup)))},1e3),p=setTimeout(()=>{clearInterval(d),l(new bs(c.popup)),window.removeEventListener("message",f,!1)},1e3*(c.timeoutInSeconds||60));f=function(m){if(m.data&&m.data.type==="authorization_response"){if(clearTimeout(p),clearInterval(d),window.removeEventListener("message",f,!1),c.popup.close(),m.data.response.error)return l(le.fromPayload(m.data.response));a(m.data.response)}},window.addEventListener("message",f)}))(Object.assign(Object.assign({},n),{timeoutInSeconds:n.timeoutInSeconds||this.options.authorizeTimeoutInSeconds||60}));if(o.state!==i.state)throw new le("state_mismatch","Invalid state");const r=((s=t.authorizationParams)===null||s===void 0?void 0:s.organization)||this.options.authorizationParams.organization;await this._requestToken({audience:o.audience,scope:o.scope,code_verifier:o.code_verifier,grant_type:"authorization_code",code:i.code,redirect_uri:o.redirect_uri},{nonceIn:o.nonce,organization:r})}async getUser(){var t;const n=await this._getIdTokenFromCache();return(t=n?.decodedToken)===null||t===void 0?void 0:t.user}async getIdTokenClaims(){var t;const n=await this._getIdTokenFromCache();return(t=n?.decodedToken)===null||t===void 0?void 0:t.claims}async loginWithRedirect(t={}){var n;const s=yi(t),{openUrl:o,fragment:i,appState:r}=s,c=Pe(s,["openUrl","fragment","appState"]),a=((n=c.authorizationParams)===null||n===void 0?void 0:n.organization)||this.options.authorizationParams.organization,l=await this._prepareAuthorizeUrl(c.authorizationParams||{}),{url:f}=l,d=Pe(l,["url"]);this.transactionManager.create(Object.assign(Object.assign(Object.assign({},d),{appState:r}),a&&{organization:a}));const p=i?`${f}#${i}`:f;o?await o(p):window.location.assign(p)}async handleRedirectCallback(t=window.location.href){const n=t.split("?").slice(1);if(n.length===0)throw new Error("There are no query params available for parsing.");const{state:s,code:o,error:i,error_description:r}=(d=>{d.indexOf("#")>-1&&(d=d.substring(0,d.indexOf("#")));const p=new URLSearchParams(d);return{state:p.get("state"),code:p.get("code")||void 0,error:p.get("error")||void 0,error_description:p.get("error_description")||void 0}})(n.join("")),c=this.transactionManager.get();if(!c)throw new le("missing_transaction","Invalid state");if(this.transactionManager.remove(),i)throw new _s(i,r||i,s,c.appState);if(!c.code_verifier||c.state&&c.state!==s)throw new le("state_mismatch","Invalid state");const a=c.organization,l=c.nonce,f=c.redirect_uri;return await this._requestToken(Object.assign({audience:c.audience,scope:c.scope,code_verifier:c.code_verifier,grant_type:"authorization_code",code:o},f?{redirect_uri:f}:{}),{nonceIn:l,organization:a}),{appState:c.appState}}async checkSession(t){if(!this.cookieStorage.get(this.isAuthenticatedCookieName)){if(!this.cookieStorage.get("auth0.is.authenticated"))return;this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove("auth0.is.authenticated")}try{await this.getTokenSilently(t)}catch{}}async getTokenSilently(t={}){var n;const s=Object.assign(Object.assign({cacheMode:"on"},t),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),t.authorizationParams),{scope:Cn(this.scope,(n=t.authorizationParams)===null||n===void 0?void 0:n.scope)})}),o=await((i,r)=>{let c=Is[r];return c||(c=i().finally(()=>{delete Is[r],c=null}),Is[r]=c),c})(()=>this._getTokenSilently(s),`${this.options.clientId}::${s.authorizationParams.audience}::${s.authorizationParams.scope}`);return t.detailedResponse?o:o?.access_token}async _getTokenSilently(t){const{cacheMode:n}=t,s=Pe(t,["cacheMode"]);if(n!=="off"){const o=await this._getEntryFromCache({scope:s.authorizationParams.scope,audience:s.authorizationParams.audience||"default",clientId:this.options.clientId});if(o)return o}if(n!=="cache-only"){if(!await(async(o,i=3)=>{for(let r=0;r<i;r++)if(await o())return!0;return!1})(()=>Cs.acquireLock("auth0.lock.getTokenSilently",5e3),10))throw new zt;try{if(window.addEventListener("pagehide",this._releaseLockOnPageHide),n!=="off"){const l=await this._getEntryFromCache({scope:s.authorizationParams.scope,audience:s.authorizationParams.audience||"default",clientId:this.options.clientId});if(l)return l}const o=this.options.useRefreshTokens?await this._getTokenUsingRefreshToken(s):await this._getTokenFromIFrame(s),{id_token:i,access_token:r,oauthTokenScope:c,expires_in:a}=o;return Object.assign(Object.assign({id_token:i,access_token:r},c?{scope:c}:null),{expires_in:a})}finally{await Cs.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)}}}async getTokenWithPopup(t={},n={}){var s;const o=Object.assign(Object.assign({},t),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),t.authorizationParams),{scope:Cn(this.scope,(s=t.authorizationParams)===null||s===void 0?void 0:s.scope)})});return n=Object.assign(Object.assign({},ya),n),await this.loginWithPopup(o,n),(await this.cacheManager.get(new Ee({scope:o.authorizationParams.scope,audience:o.authorizationParams.audience||"default",clientId:this.options.clientId}))).access_token}async isAuthenticated(){return!!await this.getUser()}_buildLogoutUrl(t){t.clientId!==null?t.clientId=t.clientId||this.options.clientId:delete t.clientId;const n=t.logoutParams||{},{federated:s}=n,o=Pe(n,["federated"]),i=s?"&federated":"";return this._url(`/v2/logout?${ks(Object.assign({clientId:t.clientId},o))}`)+i}async logout(t={}){const n=yi(t),{openUrl:s}=n,o=Pe(n,["openUrl"]);t.clientId===null?await this.cacheManager.clear():await this.cacheManager.clear(t.clientId||this.options.clientId),this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove(this.isAuthenticatedCookieName,{cookieDomain:this.options.cookieDomain}),this.userCache.remove("@@user@@");const i=this._buildLogoutUrl(o);s?await s(i):s!==!1&&window.location.assign(i)}async _getTokenFromIFrame(t){const n=Object.assign(Object.assign({},t.authorizationParams),{prompt:"none"}),s=this.cookieStorage.get(this.orgHintCookieName);s&&!n.organization&&(n.organization=s);const{url:o,state:i,nonce:r,code_verifier:c,redirect_uri:a,scope:l,audience:f}=await this._prepareAuthorizeUrl(n,{response_mode:"web_message"},window.location.origin);try{if(window.crossOriginIsolated)throw new le("login_required","The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.");const d=t.timeoutInSeconds||this.options.authorizeTimeoutInSeconds,p=await((_,v,S=60)=>new Promise((P,T)=>{const M=window.document.createElement("iframe");M.setAttribute("width","0"),M.setAttribute("height","0"),M.style.display="none";const A=()=>{window.document.body.contains(M)&&(window.document.body.removeChild(M),window.removeEventListener("message",H,!1))};let H;const _e=setTimeout(()=>{T(new zt),A()},1e3*S);H=function(ne){if(ne.origin!=v||!ne.data||ne.data.type!=="authorization_response")return;const K=ne.source;K&&K.close(),ne.data.response.error?T(le.fromPayload(ne.data.response)):P(ne.data.response),clearTimeout(_e),window.removeEventListener("message",H,!1),setTimeout(A,2e3)},window.addEventListener("message",H,!1),window.document.body.appendChild(M),M.setAttribute("src",_)}))(o,this.domainUrl,d);if(i!==p.state)throw new le("state_mismatch","Invalid state");const m=await this._requestToken(Object.assign(Object.assign({},t.authorizationParams),{code_verifier:c,code:p.code,grant_type:"authorization_code",redirect_uri:a,timeout:t.authorizationParams.timeout||this.httpTimeoutMs}),{nonceIn:r,organization:n.organization});return Object.assign(Object.assign({},m),{scope:l,oauthTokenScope:m.scope,audience:f})}catch(d){throw d.error==="login_required"&&this.logout({openUrl:!1}),d}}async _getTokenUsingRefreshToken(t){const n=await this.cacheManager.get(new Ee({scope:t.authorizationParams.scope,audience:t.authorizationParams.audience||"default",clientId:this.options.clientId}));if(!(n&&n.refresh_token||this.worker)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(t);throw new xn(t.authorizationParams.audience||"default",t.authorizationParams.scope)}const s=t.authorizationParams.redirect_uri||this.options.authorizationParams.redirect_uri||window.location.origin,o=typeof t.timeoutInSeconds=="number"?1e3*t.timeoutInSeconds:null;try{const i=await this._requestToken(Object.assign(Object.assign(Object.assign({},t.authorizationParams),{grant_type:"refresh_token",refresh_token:n&&n.refresh_token,redirect_uri:s}),o&&{timeout:o}));return Object.assign(Object.assign({},i),{scope:t.authorizationParams.scope,oauthTokenScope:i.scope,audience:t.authorizationParams.audience||"default"})}catch(i){if((i.message.indexOf("Missing Refresh Token")>-1||i.message&&i.message.indexOf("invalid refresh token")>-1)&&this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(t);throw i}}async _saveEntryInCache(t){const{id_token:n,decodedToken:s}=t,o=Pe(t,["id_token","decodedToken"]);this.userCache.set("@@user@@",{id_token:n,decodedToken:s}),await this.cacheManager.setIdToken(this.options.clientId,t.id_token,t.decodedToken),await this.cacheManager.set(o)}async _getIdTokenFromCache(){const t=this.options.authorizationParams.audience||"default",n=await this.cacheManager.getIdToken(new Ee({clientId:this.options.clientId,audience:t,scope:this.scope})),s=this.userCache.get("@@user@@");return n&&n.id_token===s?.id_token?s:(this.userCache.set("@@user@@",n),n)}async _getEntryFromCache({scope:t,audience:n,clientId:s}){const o=await this.cacheManager.get(new Ee({scope:t,audience:n,clientId:s}),60);if(o&&o.access_token){const{access_token:i,oauthTokenScope:r,expires_in:c}=o,a=await this._getIdTokenFromCache();return a&&Object.assign(Object.assign({id_token:a.id_token,access_token:i},r?{scope:r}:null),{expires_in:c})}}async _requestToken(t,n){const{nonceIn:s,organization:o}=n||{},i=await ka(Object.assign({baseUrl:this.domainUrl,client_id:this.options.clientId,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs},t),this.worker),r=await this._verifyIdToken(i.id_token,s,o);return await this._saveEntryInCache(Object.assign(Object.assign(Object.assign(Object.assign({},i),{decodedToken:r,scope:t.scope,audience:t.audience||"default"}),i.scope?{oauthTokenScope:i.scope}:null),{client_id:this.options.clientId})),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgHint(o||r.claims.org_id),Object.assign(Object.assign({},i),{decodedToken:r})}}function Ut(e){e?.redirect_uri&&(console.warn("Using `redirect_uri` has been deprecated, please use `authorizationParams.redirect_uri` instead as `redirectUri` will be no longer supported in a future version"),e.authorizationParams=e.authorizationParams||{},e.authorizationParams.redirect_uri=e.redirect_uri,delete e.redirect_uri)}const it=()=>{console.error("Please ensure Auth0's Vue plugin is correctly installed.")},La={isLoading:q(!1),isAuthenticated:q(!1),user:q(void 0),idTokenClaims:q(void 0),error:q(null),loginWithPopup:it,loginWithRedirect:it,getAccessTokenSilently:it,getAccessTokenWithPopup:it,logout:it,checkSession:it,handleRedirectCallback:it},Ma=q(La);class Fa{constructor(t,n){var s,o;this.clientOptions=t,this.pluginOptions=n,this.isLoading=q(!0),this.isAuthenticated=q(!1),this.user=q({}),this.idTokenClaims=q(),this.error=q(null),s=this,o=["constructor"],Object.getOwnPropertyNames(Object.getPrototypeOf(s)).filter(i=>!o.includes(i)).forEach(i=>s[i]=s[i].bind(s))}install(t){this._client=new Ra(Object.assign(Object.assign({},this.clientOptions),{auth0Client:{name:"auth0-vue",version:"2.3.1"}})),this.__checkSession(t.config.globalProperties.$router),t.config.globalProperties.$auth0=this,t.provide(li,this),Ma.value=this}async loginWithRedirect(t){return Ut(t),this._client.loginWithRedirect(t)}async loginWithPopup(t,n){return Ut(t),this.__proxy(()=>this._client.loginWithPopup(t,n))}async logout(t){return t?.openUrl||t?.openUrl===!1?this.__proxy(()=>this._client.logout(t)):this._client.logout(t)}async getAccessTokenSilently(t={}){return Ut(t),this.__proxy(()=>this._client.getTokenSilently(t))}async getAccessTokenWithPopup(t,n){return Ut(t),this.__proxy(()=>this._client.getTokenWithPopup(t,n))}async checkSession(t){return this.__proxy(()=>this._client.checkSession(t))}async handleRedirectCallback(t){return this.__proxy(()=>this._client.handleRedirectCallback(t))}async __checkSession(t){var n,s,o;const i=window.location.search;try{if((i.includes("code=")||i.includes("error="))&&i.includes("state=")&&!(!((n=this.pluginOptions)===null||n===void 0)&&n.skipRedirectCallback)){const r=await this.handleRedirectCallback(),c=r?.appState,a=(s=c?.target)!==null&&s!==void 0?s:"/";return window.history.replaceState({},"","/"),t&&t.push(a),r}await this.checkSession()}catch{window.history.replaceState({},"","/"),t&&t.push(((o=this.pluginOptions)===null||o===void 0?void 0:o.errorPath)||"/")}}async __refreshState(){this.isAuthenticated.value=await this._client.isAuthenticated(),this.user.value=await this._client.getUser(),this.idTokenClaims.value=await this._client.getIdTokenClaims(),this.isLoading.value=!1}async __proxy(t,n=!0){let s;try{s=await t(),this.error.value=null}catch(o){throw this.error.value=o,o}finally{n&&await this.__refreshState()}return s}}function wi(e,t){return Ut(e),new Fa(e,t)}function vi(){return ve(li)}const Rl="",Ll="",Ml="";var Ts=(e=>(e[e.Pending=0]="Pending",e[e.Approved=1]="Approved",e[e.Rejected=2]="Rejected",e))(Ts||{});const Os=_a("store",()=>{const e=ve("postId"),t=ve("comments"),n=q(!!t?.length),s=q(0),o=q(""),i=q(f(t||[])),r=q(0),c=ve("ApiBaseUrl"),a=q(!1),l=q(!1);function f(m){return m.map(_=>{const{user:v,created_at:S,...P}=_;return{...P,status:Number(_.status),createdAt:new Date(S),user:JSON.parse(_.user)}})}async function d(){o.value="",a.value=!0;const m=new URLSearchParams;m.append("postId",e),m.append("start",s.value.toString());const _=await fetch(`${c}/api/comments?${m}`);if(!_.ok){o.value="Load comments failed. "+_.statusText,n.value=!0,a.value=!1;return}const v=await _.json();if(v.code!==0){o.value="Load comments failed. "+v.message,n.value=!0,a.value=!1;return}i.value.push(...f(v.data||[]));const S=v.data?.length||0;return l.value=S>=20,r.value+=S,n.value=!0,a.value=!1,v}function p(m,_,v){const{sub:S="",name:P="",picture:T="",email:M="",nickname:A=""}=v;i.value.unshift({id:m,postId:e,content:_,ancestorId:-1,parentId:-1,createdAt:new Date,user:{avatar:T,email:M,name:A||P},userId:S,status:Ts.Pending,isNew:!0}),r.value++}return{isLoaded:n,message:o,postId:e,comments:i,total:r,start:s,hasMore:l,loadingMore:a,loadComments:d,addComment:p}}),Ka=["onSubmit"],za={class:"ac-form-control border border-neutral bg-base-200 rounded-lg"},Na=J("label",{class:"sr-only",for:"ac-comment"},"Your comment",-1),Ua=["onKeydown"],$a={class:"p-2 rounded-b-lg bg-base-300 flex items-center"},Da={class:"text-xs text-neutral-400/40"},Wa={key:0,class:"ac-alert ac-alert-error mx-4"},Ha=["disabled"],Za={key:0,class:"ac-loading ac-loading-spinner"},Va=qn({...{name:"CommentForm"},setup(e){const t=vi(),n=Os(),s=ve("ApiBaseUrl"),o=ve("Auth0Domain"),i="0.2.4",r=q(!1),c=q(""),a=q("");async function l(p){if(!t.user.value)return f();if(!p.target.matches(":invalid")){r.value=!0,a.value="";try{const m=await t.getAccessTokenSilently(),_=await fetch(s+"/api/comment",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${m}`},body:JSON.stringify({comment:c.value,postId:n.postId,domain:o})});if(!_.ok)throw new Error("Failed to post comment");const v=await _.json();n.addComment(v.data,c.value,t.user.value),c.value=""}catch(m){a.value=m.message||String(m)}r.value=!1}}function f(){t.loginWithPopup()}function d(p){const m=navigator.userAgent.match(/Macintosh/);(m&&p.metaKey||!m&&p.ctrlKey)&&l(p)}return(p,m)=>(G(),te("form",{class:"mb-6",onSubmit:sa(l,["prevent"])},[J("div",za,[Na,Ur(J("textarea",{class:"ac-textarea ac-textarea-bordered bg-base-200 rounded-b-none focus:outline-none",id:"ac-comment",rows:"3",placeholder:"Write a comment...",required:"",onKeydown:ia(d,["enter"]),"onUpdate:modelValue":m[0]||(m[0]=_=>c.value=_)},null,40,Ua),[[ea,c.value]]),J("div",$a,[J("div",Da,"v"+Le(B(i)),1),a.value?(G(),te("div",Wa,[J("p",null,Le(a.value),1)])):et("",!0),J("button",{class:"ac-btn ac-btn-primary ac-btn-sm ml-auto",disabled:r.value},[r.value?(G(),te("span",Za)):et("",!0),wn("Post comment")],8,Ha)])])],40,Ka))}});var Xa={"":["<em>","</em>"],_:["<strong>","</strong>"],"*":["<strong>","</strong>"],"~":["<s>","</s>"],"\n":["<br />"]," ":["<br />"],"-":["<hr />"]};function ki(e){return e.replace(RegExp("^"+(e.match(/^(\t| )+/)||"")[0],"gm"),"")}function $t(e){return(e+"").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function Ss(e,t){var n,s,o,i,r,c=/((?:^|\n+)(?:\n---+|\* \*(?: \*)+)\n)|(?:^``` *(\w*)\n([\s\S]*?)\n```$)|((?:(?:^|\n+)(?:\t| {2,}).+)+\n*)|((?:(?:^|\n)([>*+-]|\d+\.)\s+.*)+)|(?:!\[([^\]]*?)\]\(([^)]+?)\))|(\[)|(\](?:\(([^)]+?)\))?)|(?:(?:^|\n+)([^\s].*)\n(-{3,}|={3,})(?:\n+|$))|(?:(?:^|\n+)(#{1,6})\s*(.+)(?:\n+|$))|(?:`([^`].*?)`)|( \n\n*|\n{2,}|__|\*\*|[_*]|~~)/gm,a=[],l="",f=t||{},d=0;function p(_){var v=Xa[_[1]||""],S=a[a.length-1]==_;return v?v[1]?(S?a.pop():a.push(_),v[0|S]):v[0]:_}function m(){for(var _="";a.length;)_+=p(a[a.length-1]);return _}for(e=e.replace(/^\[(.+?)\]:\s*(.+)$/gm,function(_,v,S){return f[v.toLowerCase()]=S,""}).replace(/^\n+|\n+$/g,"");o=c.exec(e);)s=e.substring(d,o.index),d=c.lastIndex,n=o[0],s.match(/[^\\](\\\\)*\\$/)||((r=o[3]||o[4])?n='<pre class="code '+(o[4]?"poetry":o[2].toLowerCase())+'"><code'+(o[2]?' class="language-'+o[2].toLowerCase()+'"':"")+">"+ki($t(r).replace(/^\n+|\n+$/g,""))+"</code></pre>":(r=o[6])?(r.match(/\./)&&(o[5]=o[5].replace(/^\d+/gm,"")),i=Ss(ki(o[5].replace(/^\s*[>*+.-]/gm,""))),r==">"?r="blockquote":(r=r.match(/\./)?"ol":"ul",i=i.replace(/^(.*)(\n|$)/gm,"<li>$1</li>")),n="<"+r+">"+i+"</"+r+">"):o[8]?n='<img src="'+$t(o[8])+'" alt="'+$t(o[7])+'">':o[10]?(l=l.replace("<a>",'<a href="'+$t(o[11]||f[s.toLowerCase()])+'">'),n=m()+"</a>"):o[9]?n="<a>":o[12]||o[14]?n="<"+(r="h"+(o[14]?o[14].length:o[13]>"="?1:2))+">"+Ss(o[12]||o[15],f)+"</"+r+">":o[16]?n="<code>"+$t(o[16])+"</code>":(o[17]||o[1])&&(n=p(o[17]||"--"))),l+=s,l+=n;return(l+e.substring(d)+m()).replace(/^\n+|\n+$/g,"")}function Tn(e){return e<10?`0${e}`:`${e}`}function xi(e){const t=e.getFullYear(),n=e.getMonth()+1,s=e.getDate();return`${t}-${Tn(n)}-${Tn(s)}`}function Ba(e){const t=new Date,n=xi(e);if(xi(t)===n){const s=e.getHours(),o=e.getMinutes();return`${Tn(s)}:${Tn(o)}`}return n}function Ja(e){let t=0;for(let s=0;s<e.length;s++)t=e.charCodeAt(s)+((t<<5)-t);let n="#";for(let s=0;s<3;s++){const o=t>>s*8&255;n+=("00"+o.toString(16)).slice(-2)}return n}const Ya={key:0,class:"comments-wrapper"},qa=["onAnimationend"],Ga={class:"flex justify-between items-center mb-2"},Qa={class:"flex items-center text-sm text-base-content dark:text-white"},el={class:"avatar mr-2"},tl=["src","alt"],nl={class:"text-neutral-content mix-blend-color-dodge uppercase font-bold leading-6"},sl=["datetime","title"],ol=["innerHTML"],il={key:0,class:"italic mt-4 text-gray-500 mb-0 text-sm dark:text-gray-400"},rl=["disabled"],cl={key:0,class:"ac-loading ac-loading-xs ac-loading-spinner"},al={key:1,class:"pt-8 text-center"},ll=[J("span",{class:"ac-loading ac-loading-spinner"},null,-1)],ul=qn({...{name:"CommentSections"},setup(e){const t=Os();t.loadComments();function n(){t.start+=20,t.loadComments()}return(s,o)=>B(t).isLoaded?(G(),te("div",Ya,[(G(!0),te(ke,null,ec(B(t).comments,i=>(G(),te("article",{class:qt(["p-6 text-base bg-base-200 rounded-lg mb-4 dark:bg-gray-900",{"animated flash":i.isNew}]),key:i.id,onAnimationend:r=>i.isNew=!1},[J("header",Ga,[J("div",Qa,[J("div",el,[i.user.avatar?(G(),te("img",{key:0,class:"w-6 h-6 rounded-full",src:i.user.avatar,alt:i.user.name},null,8,tl)):(G(),te("div",{key:1,class:"avatar-char rounded-full w-6 h-6 mr-2 text-center",style:Yt({"background-color":B(Ja)(i.user.name||"Anonymous")})},[J("span",nl,Le((i.user.name||"Anonymous").substring(0,1)),1)],4))]),wn(Le(i.user.name),1),J("time",{class:"text-xs text-gray-600 ml-4 dark:text-gray-400",pubdate:"",datetime:i.createdAt,title:i.createdAt},Le(B(Ba)(i.createdAt)),9,sl)])]),J("p",{class:"text-gray-500 dark:text-gray-400",innerHTML:B(Ss)(i.content)},null,8,ol),i.status===B(Ts).Pending?(G(),te("p",il,"comments normally got approved within 24 hours")):et("",!0)],42,qa))),128)),B(t).hasMore?(G(),te("button",{key:0,class:"ac-btn ac-btn-neutral ac-btn-sm ac-btn-block",type:"button",onClick:n,disabled:B(t).loadingMore},[B(t).loadingMore?(G(),te("span",cl)):et("",!0),wn("Load More")],8,rl)):et("",!0)])):(G(),te("div",al,ll))}}),fl={class:"awesome-comment"},dl={key:0,class:"ac-alert ac-alert-error mb-4"},hl={class:"flex justify-between items-center py-2"},pl={class:"text-lg font-bold text-base-content my-0"},ml={key:0,class:"ac-loading ac-loading-spinner"},gl={key:1,class:"ac-dropdown ac-dropdown-end"},_l={key:0,class:"ac-avatar flex",tabindex:"0"},bl={class:"w-6 h-6 rounded-full"},yl=["alt","src"],wl={key:1,class:"ac-btn ac-btn-ghost",tabindex:"0"},vl={class:"ac-dropdown-content z-10 ac-menu p-2 shadow bg-base-100 rounded-box w-52",tabindex:"0"},kl={key:0,class:"border-b border-neutral pb-2 mb-2 pointer-events-none"},xl={class:"text-base-content"},Il=["disabled"],Cl=["disabled"],Tl=qn({__name:"App",setup(e){const t=Os(),{isAuthenticated:n,isLoading:s,user:o,loginWithPopup:i,logout:r}=vi(),c=ls(()=>{const f=t.total>20||t.total===20&&t.hasMore?"20+":t.total,d=new CustomEvent("AwesomeComment:total",{bubbles:!0,cancelable:!0,detail:f});return document.body.dispatchEvent(d),f});function a(){i()}function l(){r({openUrl:!1})}return(f,d)=>(G(),te("div",fl,[B(t).message?(G(),te("div",dl,[J("p",null,Le(B(t).message),1)])):et("",!0),J("header",hl,[J("h2",pl,"Discussion ("+Le(c.value)+")",1),B(s)?(G(),te("span",ml)):(G(),te("div",gl,[B(n)&&B(o)?(G(),te(ke,{key:0},[B(o).picture?(G(),te("label",_l,[J("div",bl,[J("img",{class:"w-full h-full block",alt:B(o).name||B(o).email,src:B(o).picture},null,8,yl)])])):(G(),te("label",wl,Le(B(o).email),1)),J("ul",vl,[B(o).picture?(G(),te("li",kl,[J("span",xl,Le(B(o).email),1)])):et("",!0),J("li",null,[J("button",{class:"border-0 bg-base-100",type:"button",disabled:B(s),onClick:l},"Logout",8,Il)])])],64)):(G(),te("button",{key:1,class:"ac-btn ac-btn-secondary ac-btn-xs",type:"button",disabled:B(s),onClick:a},"Login",8,Cl))]))]),Ie(Va),Ie(ul)]))}}),Ii=[];let Ci=null;function Ol(e,t){const n=aa(Tl),s=fa(),o=Ci||wi({domain:e,clientId:t,authorizationParams:{redirect_uri:location.origin}});return n.use(o),n.use(s),n}return{postId:"",apiUrl:"",domain:"",clientId:"",init(e,t,n,s,o){t??=this.postId,n??=this.apiUrl,s??=this.domain,o??=this.clientId;const i=Ol(s,o);i.provide("ApiBaseUrl",n),i.provide("postId",t),i.provide("Auth0Domain",s),i.provide("comments",Ii),i.mount(e)},async preload(e,t,n,s){this.postId=e,this.apiUrl=t,this.domain=n,this.clientId=s,Ci=wi({domain:n,clientId:s,authorizationParams:{redirect_uri:window.location.origin}});const o=await fetch(`${t}/api/comments?postId=${e}`);o.ok||console.log("[Awesome comment] Failed to preload comments.");const i=await o.json();i.data&&Ii.push(...i.data)}}}();
|
package/dist/awesome-comment.js
CHANGED
|
@@ -4810,12 +4810,12 @@ const Es = wa("store", () => {
|
|
|
4810
4810
|
}, Ya = /* @__PURE__ */ _s({
|
|
4811
4811
|
...Ja,
|
|
4812
4812
|
setup(e) {
|
|
4813
|
-
const t = Pi(), n = Es(), s = Ie("ApiBaseUrl"), o = Ie("Auth0Domain"), i = "0.2.
|
|
4813
|
+
const t = Pi(), n = Es(), s = Ie("ApiBaseUrl"), o = Ie("Auth0Domain"), i = "0.2.4", r = Y(!1), c = Y(""), a = Y("");
|
|
4814
4814
|
async function l(p) {
|
|
4815
4815
|
if (!t.user.value)
|
|
4816
4816
|
return f();
|
|
4817
4817
|
if (!p.target.matches(":invalid")) {
|
|
4818
|
-
r.value = !0;
|
|
4818
|
+
r.value = !0, a.value = "";
|
|
4819
4819
|
try {
|
|
4820
4820
|
const m = await t.getAccessTokenSilently(), _ = await fetch(s + "/api/comment", {
|
|
4821
4821
|
method: "POST",
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
*/let oi;const xn=e=>oi=e,ii=Symbol();function hs(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var zt;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(zt||(zt={}));function fa(){const e=Us(!0),t=e.run(()=>q({}));let n=[],s=[];const o=ln({install(i){xn(o),o._a=i,i.provide(ii,o),i.config.globalProperties.$pinia=o,s.forEach(r=>n.push(r)),s=[]},use(i){return!this._a&&!ua?s.push(i):n.push(i),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return o}const ri=()=>{};function ci(e,t,n,s=ri){e.push(t);const o=()=>{const i=e.indexOf(t);i>-1&&(e.splice(i,1),s())};return!n&&$s()&&Wi(o),o}function wt(e,...t){e.slice().forEach(n=>{n(...t)})}const da=e=>e();function ps(e,t){e instanceof Map&&t instanceof Map&&t.forEach((n,s)=>e.set(s,n)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const s=t[n],o=e[n];hs(o)&&hs(s)&&e.hasOwnProperty(n)&&!ee(s)&&!De(s)?e[n]=ps(o,s):e[n]=s}return e}const ha=Symbol();function pa(e){return!hs(e)||!e.hasOwnProperty(ha)}const{assign:Ze}=Object;function ma(e){return!!(ee(e)&&e.effect)}function ga(e,t,n,s){const{state:o,actions:i,getters:r}=t,c=n.state.value[e];let a;function l(){c||(n.state.value[e]=o?o():{});const f=vr(n.state.value[e]);return Ze(f,i,Object.keys(r||{}).reduce((d,p)=>(d[p]=ln(ls(()=>{xn(n);const m=n._s.get(e);return r[p].call(m,m)})),d),{}))}return a=ai(e,l,t,n,s,!0),a}function ai(e,t,n={},s,o,i){let r;const c=Ze({actions:{}},n),a={deep:!0};let l,f,d=[],p=[],m;const _=s.state.value[e];!i&&!_&&(s.state.value[e]={}),q({});let v;function S(K){let $;l=f=!1,typeof K=="function"?(K(s.state.value[e]),$={type:zt.patchFunction,storeId:e,events:m}):(ps(s.state.value[e],K),$={type:zt.patchObject,payload:K,storeId:e,events:m});const re=v=Symbol();fo().then(()=>{v===re&&(l=!0)}),f=!0,wt(d,$,s.state.value[e])}const P=i?function(){const{state:$}=n,re=$?$():{};this.$patch(pe=>{Ze(pe,re)})}:ri;function C(){r.stop(),d=[],p=[],s._s.delete(e)}function M(K,$){return function(){xn(s);const re=Array.from(arguments),pe=[],je=[];function xt(W){pe.push(W)}function Wt(W){je.push(W)}wt(p,{args:re,name:K,store:Z,after:xt,onError:Wt});let Ve;try{Ve=$.apply(this&&this.$id===e?this:Z,re)}catch(W){throw wt(je,W),W}return Ve instanceof Promise?Ve.then(W=>(wt(pe,W),W)).catch(W=>(wt(je,W),Promise.reject(W))):(wt(pe,Ve),Ve)}}const A={_p:s,$id:e,$onAction:ci.bind(null,p),$patch:S,$reset:P,$subscribe(K,$={}){const re=ci(d,K,$.detached,()=>pe()),pe=r.run(()=>pn(()=>s.state.value[e],je=>{($.flush==="sync"?f:l)&&K({storeId:e,type:zt.direct,events:m},je)},Ze({},a,$)));return re},$dispose:C},Z=cn(A);s._s.set(e,Z);const _e=s._a&&s._a.runWithContext||da,ne=s._e.run(()=>(r=Us(),_e(()=>r.run(t))));for(const K in ne){const $=ne[K];if(ee($)&&!ma($)||De($))i||(_&&pa($)&&(ee($)?$.value=_[K]:ps($,_[K])),s.state.value[e][K]=$);else if(typeof $=="function"){const re=M(K,$);ne[K]=re,c.actions[K]=$}}return Ze(Z,ne),Ze(U(Z),ne),Object.defineProperty(Z,"$state",{get:()=>s.state.value[e],set:K=>{S($=>{Ze($,K)})}}),s._p.forEach(K=>{Ze(Z,r.run(()=>K({store:Z,app:s._a,pinia:s,options:c})))}),_&&i&&n.hydrate&&n.hydrate(Z.$state,_),l=!0,f=!0,Z}function _a(e,t,n){let s,o;const i=typeof t=="function";typeof e=="string"?(s=e,o=i?n:t):(o=e,s=e.id);function r(c,a){const l=uc();return c=c||(l?ve(ii,null):null),c&&xn(c),c=oi,c._s.has(s)||(i?ai(s,t,o,c):ga(s,o,c)),c._s.get(s)}return r.$id=s,r}const li=Symbol("$auth0");function Pe(e,t){var n={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function"){var o=0;for(s=Object.getOwnPropertySymbols(e);o<s.length;o++)t.indexOf(s[o])<0&&Object.prototype.propertyIsEnumerable.call(e,s[o])&&(n[s[o]]=e[s[o]])}return n}var vt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ms(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function gs(e,t){return e(t={exports:{}},t.exports),t.exports}var ot=gs(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function s(){var o=this;this.locked=new Map,this.addToLocked=function(i,r){var c=o.locked.get(i);c===void 0?r===void 0?o.locked.set(i,[]):o.locked.set(i,[r]):r!==void 0&&(c.unshift(r),o.locked.set(i,c))},this.isLocked=function(i){return o.locked.has(i)},this.lock=function(i){return new Promise(function(r,c){o.isLocked(i)?o.addToLocked(i,r):(o.addToLocked(i),r())})},this.unlock=function(i){var r=o.locked.get(i);if(r!==void 0&&r.length!==0){var c=r.pop();o.locked.set(i,r),c!==void 0&&setTimeout(c,0)}else o.locked.delete(i)}}return s.getInstance=function(){return s.instance===void 0&&(s.instance=new s),s.instance},s}();t.default=function(){return n.getInstance()}});ms(ot);var ba=ms(gs(function(e,t){var n=vt&&vt.__awaiter||function(a,l,f,d){return new(f||(f=Promise))(function(p,m){function _(P){try{S(d.next(P))}catch(C){m(C)}}function v(P){try{S(d.throw(P))}catch(C){m(C)}}function S(P){P.done?p(P.value):new f(function(C){C(P.value)}).then(_,v)}S((d=d.apply(a,l||[])).next())})},s=vt&&vt.__generator||function(a,l){var f,d,p,m,_={label:0,sent:function(){if(1&p[0])throw p[1];return p[1]},trys:[],ops:[]};return m={next:v(0),throw:v(1),return:v(2)},typeof Symbol=="function"&&(m[Symbol.iterator]=function(){return this}),m;function v(S){return function(P){return function(C){if(f)throw new TypeError("Generator is already executing.");for(;_;)try{if(f=1,d&&(p=2&C[0]?d.return:C[0]?d.throw||((p=d.return)&&p.call(d),0):d.next)&&!(p=p.call(d,C[1])).done)return p;switch(d=0,p&&(C=[2&C[0],p.value]),C[0]){case 0:case 1:p=C;break;case 4:return _.label++,{value:C[1],done:!1};case 5:_.label++,d=C[1],C=[0];continue;case 7:C=_.ops.pop(),_.trys.pop();continue;default:if(!((p=(p=_.trys).length>0&&p[p.length-1])||C[0]!==6&&C[0]!==2)){_=0;continue}if(C[0]===3&&(!p||C[1]>p[0]&&C[1]<p[3])){_.label=C[1];break}if(C[0]===6&&_.label<p[1]){_.label=p[1],p=C;break}if(p&&_.label<p[2]){_.label=p[2],_.ops.push(C);break}p[2]&&_.ops.pop(),_.trys.pop();continue}C=l.call(a,_)}catch(M){C=[6,M],d=0}finally{f=p=0}if(5&C[0])throw C[1];return{value:C[0]?C[1]:void 0,done:!0}}([S,P])}}};Object.defineProperty(t,"__esModule",{value:!0});var o="browser-tabs-lock-key";function i(a){return new Promise(function(l){return setTimeout(l,a)})}function r(a){for(var l="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",f="",d=0;d<a;d++)f+=l[Math.floor(Math.random()*l.length)];return f}var c=function(){function a(){this.acquiredIatSet=new Set,this.id=Date.now().toString()+r(15),this.acquireLock=this.acquireLock.bind(this),this.releaseLock=this.releaseLock.bind(this),this.releaseLock__private__=this.releaseLock__private__.bind(this),this.waitForSomethingToChange=this.waitForSomethingToChange.bind(this),this.refreshLockWhileAcquired=this.refreshLockWhileAcquired.bind(this),a.waiters===void 0&&(a.waiters=[])}return a.prototype.acquireLock=function(l,f){return f===void 0&&(f=5e3),n(this,void 0,void 0,function(){var d,p,m,_,v,S;return s(this,function(P){switch(P.label){case 0:d=Date.now()+r(4),p=Date.now()+f,m=o+"-"+l,_=window.localStorage,P.label=1;case 1:return Date.now()<p?[4,i(30)]:[3,8];case 2:return P.sent(),_.getItem(m)!==null?[3,5]:(v=this.id+"-"+l+"-"+d,[4,i(Math.floor(25*Math.random()))]);case 3:return P.sent(),_.setItem(m,JSON.stringify({id:this.id,iat:d,timeoutKey:v,timeAcquired:Date.now(),timeRefreshed:Date.now()})),[4,i(30)];case 4:return P.sent(),(S=_.getItem(m))!==null&&(S=JSON.parse(S)).id===this.id&&S.iat===d?(this.acquiredIatSet.add(d),this.refreshLockWhileAcquired(m,d),[2,!0]):[3,7];case 5:return a.lockCorrector(),[4,this.waitForSomethingToChange(p)];case 6:P.sent(),P.label=7;case 7:return d=Date.now()+r(4),[3,1];case 8:return[2,!1]}})})},a.prototype.refreshLockWhileAcquired=function(l,f){return n(this,void 0,void 0,function(){var d=this;return s(this,function(p){return setTimeout(function(){return n(d,void 0,void 0,function(){var m,_;return s(this,function(v){switch(v.label){case 0:return[4,ot.default().lock(f)];case 1:return v.sent(),this.acquiredIatSet.has(f)?(m=window.localStorage,(_=m.getItem(l))===null?(ot.default().unlock(f),[2]):((_=JSON.parse(_)).timeRefreshed=Date.now(),m.setItem(l,JSON.stringify(_)),ot.default().unlock(f),this.refreshLockWhileAcquired(l,f),[2])):(ot.default().unlock(f),[2])}})})},1e3),[2]})})},a.prototype.waitForSomethingToChange=function(l){return n(this,void 0,void 0,function(){return s(this,function(f){switch(f.label){case 0:return[4,new Promise(function(d){var p=!1,m=Date.now(),_=!1;function v(){if(_||(window.removeEventListener("storage",v),a.removeFromWaiting(v),clearTimeout(S),_=!0),!p){p=!0;var P=50-(Date.now()-m);P>0?setTimeout(d,P):d()}}window.addEventListener("storage",v),a.addToWaiting(v);var S=setTimeout(v,Math.max(0,l-Date.now()))})];case 1:return f.sent(),[2]}})})},a.addToWaiting=function(l){this.removeFromWaiting(l),a.waiters!==void 0&&a.waiters.push(l)},a.removeFromWaiting=function(l){a.waiters!==void 0&&(a.waiters=a.waiters.filter(function(f){return f!==l}))},a.notifyWaiters=function(){a.waiters!==void 0&&a.waiters.slice().forEach(function(l){return l()})},a.prototype.releaseLock=function(l){return n(this,void 0,void 0,function(){return s(this,function(f){switch(f.label){case 0:return[4,this.releaseLock__private__(l)];case 1:return[2,f.sent()]}})})},a.prototype.releaseLock__private__=function(l){return n(this,void 0,void 0,function(){var f,d,p;return s(this,function(m){switch(m.label){case 0:return f=window.localStorage,d=o+"-"+l,(p=f.getItem(d))===null?[2]:(p=JSON.parse(p)).id!==this.id?[3,2]:[4,ot.default().lock(p.iat)];case 1:m.sent(),this.acquiredIatSet.delete(p.iat),f.removeItem(d),ot.default().unlock(p.iat),a.notifyWaiters(),m.label=2;case 2:return[2]}})})},a.lockCorrector=function(){for(var l=Date.now()-5e3,f=window.localStorage,d=Object.keys(f),p=!1,m=0;m<d.length;m++){var _=d[m];if(_.includes(o)){var v=f.getItem(_);v!==null&&((v=JSON.parse(v)).timeRefreshed===void 0&&v.timeAcquired<l||v.timeRefreshed!==void 0&&v.timeRefreshed<l)&&(f.removeItem(_),p=!0)}}p&&a.notifyWaiters()},a.waiters=void 0,a}();t.default=c}));const ya={timeoutInSeconds:60},ui={name:"auth0-spa-js",version:"2.1.2"},fi=()=>Date.now();class le extends Error{constructor(t,n){super(n),this.error=t,this.error_description=n,Object.setPrototypeOf(this,le.prototype)}static fromPayload({error:t,error_description:n}){return new le(t,n)}}class _s extends le{constructor(t,n,s,o=null){super(t,n),this.state=s,this.appState=o,Object.setPrototypeOf(this,_s.prototype)}}class Nt extends le{constructor(){super("timeout","Timeout"),Object.setPrototypeOf(this,Nt.prototype)}}class bs extends Nt{constructor(t){super(),this.popup=t,Object.setPrototypeOf(this,bs.prototype)}}class ys extends le{constructor(t){super("cancelled","Popup closed"),this.popup=t,Object.setPrototypeOf(this,ys.prototype)}}class ws extends le{constructor(t,n,s){super(t,n),this.mfa_token=s,Object.setPrototypeOf(this,ws.prototype)}}class In extends le{constructor(t,n){super("missing_refresh_token",`Missing Refresh Token (audience: '${di(t,["default"])}', scope: '${di(n)}')`),this.audience=t,this.scope=n,Object.setPrototypeOf(this,In.prototype)}}function di(e,t=[]){return e&&!t.includes(e)?e:""}const Tn=()=>window.crypto,vs=()=>{const e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_~.";let t="";return Array.from(Tn().getRandomValues(new Uint8Array(43))).forEach(n=>t+=e[n%e.length]),t},hi=e=>btoa(e),ks=e=>{var{clientId:t}=e,n=Pe(e,["clientId"]);return new URLSearchParams((s=>Object.keys(s).filter(o=>s[o]!==void 0).reduce((o,i)=>Object.assign(Object.assign({},o),{[i]:s[i]}),{}))(Object.assign({client_id:t},n))).toString()},pi=e=>(t=>decodeURIComponent(atob(t).split("").map(n=>"%"+("00"+n.charCodeAt(0).toString(16)).slice(-2)).join("")))(e.replace(/_/g,"/").replace(/-/g,"+")),wa=async(e,t)=>{const n=await fetch(e,t);return{ok:n.ok,json:await n.json()}},va=async(e,t,n,s,o,i,r=1e4)=>o?(async(c,a,l,f,d,p,m)=>{return _={auth:{audience:a,scope:l},timeout:d,fetchUrl:c,fetchOptions:f,useFormData:m},v=p,new Promise(function(S,P){const C=new MessageChannel;C.port1.onmessage=function(M){M.data.error?P(new Error(M.data.error)):S(M.data),C.port1.close()},v.postMessage(_,[C.port2])});var _,v})(e,t,n,s,r,o,i):(async(c,a,l)=>{const f=new AbortController;let d;return a.signal=f.signal,Promise.race([wa(c,a),new Promise((p,m)=>{d=setTimeout(()=>{f.abort(),m(new Error("Timeout when executing 'fetch'"))},l)})]).finally(()=>{clearTimeout(d)})})(e,s,r);async function ka(e,t){var{baseUrl:n,timeout:s,audience:o,scope:i,auth0Client:r,useFormData:c}=e,a=Pe(e,["baseUrl","timeout","audience","scope","auth0Client","useFormData"]);const l=c?ks(a):JSON.stringify(a);return await async function(f,d,p,m,_,v,S){let P,C=null;for(let K=0;K<3;K++)try{P=await va(f,p,m,_,v,S,d),C=null;break}catch($){C=$}if(C)throw C;const M=P.json,{error:A,error_description:Z}=M,_e=Pe(M,["error","error_description"]),{ok:ne}=P;if(!ne){const K=Z||`HTTP error. Unable to fetch ${f}`;throw A==="mfa_required"?new ws(A,K,_e.mfa_token):A==="missing_refresh_token"?new In(p,m):new le(A||"request_error",K)}return _e}(`${n}/oauth/token`,s,o||"default",i,{method:"POST",body:l,headers:{"Content-Type":c?"application/x-www-form-urlencoded":"application/json","Auth0-Client":btoa(JSON.stringify(r||ui))}},t,c)}const Cn=(...e)=>{return(t=e.filter(Boolean).join(" ").trim().split(/\s+/),Array.from(new Set(t))).join(" ");var t};class Ee{constructor(t,n="@@auth0spajs@@",s){this.prefix=n,this.suffix=s,this.clientId=t.clientId,this.scope=t.scope,this.audience=t.audience}toKey(){return[this.prefix,this.clientId,this.audience,this.scope,this.suffix].filter(Boolean).join("::")}static fromKey(t){const[n,s,o,i]=t.split("::");return new Ee({clientId:s,scope:i,audience:o},n)}static fromCacheEntry(t){const{scope:n,audience:s,client_id:o}=t;return new Ee({scope:n,audience:s,clientId:o})}}class xa{set(t,n){localStorage.setItem(t,JSON.stringify(n))}get(t){const n=window.localStorage.getItem(t);if(n)try{return JSON.parse(n)}catch{return}}remove(t){localStorage.removeItem(t)}allKeys(){return Object.keys(window.localStorage).filter(t=>t.startsWith("@@auth0spajs@@"))}}class mi{constructor(){this.enclosedCache=function(){let t={};return{set(n,s){t[n]=s},get(n){const s=t[n];if(s)return s},remove(n){delete t[n]},allKeys:()=>Object.keys(t)}}()}}class Ia{constructor(t,n,s){this.cache=t,this.keyManifest=n,this.nowProvider=s||fi}async setIdToken(t,n,s){var o;const i=this.getIdTokenCacheKey(t);await this.cache.set(i,{id_token:n,decodedToken:s}),await((o=this.keyManifest)===null||o===void 0?void 0:o.add(i))}async getIdToken(t){const n=await this.cache.get(this.getIdTokenCacheKey(t.clientId));if(!n&&t.scope&&t.audience){const s=await this.get(t);return!s||!s.id_token||!s.decodedToken?void 0:{id_token:s.id_token,decodedToken:s.decodedToken}}if(n)return{id_token:n.id_token,decodedToken:n.decodedToken}}async get(t,n=0){var s;let o=await this.cache.get(t.toKey());if(!o){const c=await this.getCacheKeys();if(!c)return;const a=this.matchExistingCacheKey(t,c);a&&(o=await this.cache.get(a))}if(!o)return;const i=await this.nowProvider(),r=Math.floor(i/1e3);return o.expiresAt-n<r?o.body.refresh_token?(o.body={refresh_token:o.body.refresh_token},await this.cache.set(t.toKey(),o),o.body):(await this.cache.remove(t.toKey()),void await((s=this.keyManifest)===null||s===void 0?void 0:s.remove(t.toKey()))):o.body}async set(t){var n;const s=new Ee({clientId:t.client_id,scope:t.scope,audience:t.audience}),o=await this.wrapCacheEntry(t);await this.cache.set(s.toKey(),o),await((n=this.keyManifest)===null||n===void 0?void 0:n.add(s.toKey()))}async clear(t){var n;const s=await this.getCacheKeys();s&&(await s.filter(o=>!t||o.includes(t)).reduce(async(o,i)=>{await o,await this.cache.remove(i)},Promise.resolve()),await((n=this.keyManifest)===null||n===void 0?void 0:n.clear()))}async wrapCacheEntry(t){const n=await this.nowProvider();return{body:t,expiresAt:Math.floor(n/1e3)+t.expires_in}}async getCacheKeys(){var t;return this.keyManifest?(t=await this.keyManifest.get())===null||t===void 0?void 0:t.keys:this.cache.allKeys?this.cache.allKeys():void 0}getIdTokenCacheKey(t){return new Ee({clientId:t},"@@auth0spajs@@","@@user@@").toKey()}matchExistingCacheKey(t,n){return n.filter(s=>{var o;const i=Ee.fromKey(s),r=new Set(i.scope&&i.scope.split(" ")),c=((o=t.scope)===null||o===void 0?void 0:o.split(" "))||[],a=i.scope&&c.reduce((l,f)=>l&&r.has(f),!0);return i.prefix==="@@auth0spajs@@"&&i.clientId===t.clientId&&i.audience===t.audience&&a})[0]}}class Ta{constructor(t,n,s){this.storage=t,this.clientId=n,this.cookieDomain=s,this.storageKey=`a0.spajs.txs.${this.clientId}`}create(t){this.storage.save(this.storageKey,t,{daysUntilExpire:1,cookieDomain:this.cookieDomain})}get(){return this.storage.get(this.storageKey)}remove(){this.storage.remove(this.storageKey,{cookieDomain:this.cookieDomain})}}const Ut=e=>typeof e=="number",Ca=["iss","aud","exp","nbf","iat","jti","azp","nonce","auth_time","at_hash","c_hash","acr","amr","sub_jwk","cnf","sip_from_tag","sip_date","sip_callid","sip_cseq_num","sip_via_branch","orig","dest","mky","events","toe","txn","rph","sid","vot","vtm"];var it=gs(function(e,t){var n=vt&&vt.__assign||function(){return n=Object.assign||function(a){for(var l,f=1,d=arguments.length;f<d;f++)for(var p in l=arguments[f])Object.prototype.hasOwnProperty.call(l,p)&&(a[p]=l[p]);return a},n.apply(this,arguments)};function s(a,l){if(!l)return"";var f="; "+a;return l===!0?f:f+"="+l}function o(a,l,f){return encodeURIComponent(a).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/\(/g,"%28").replace(/\)/g,"%29")+"="+encodeURIComponent(l).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent)+function(d){if(typeof d.expires=="number"){var p=new Date;p.setMilliseconds(p.getMilliseconds()+864e5*d.expires),d.expires=p}return s("Expires",d.expires?d.expires.toUTCString():"")+s("Domain",d.domain)+s("Path",d.path)+s("Secure",d.secure)+s("SameSite",d.sameSite)}(f)}function i(a){for(var l={},f=a?a.split("; "):[],d=/(%[\dA-F]{2})+/gi,p=0;p<f.length;p++){var m=f[p].split("="),_=m.slice(1).join("=");_.charAt(0)==='"'&&(_=_.slice(1,-1));try{l[m[0].replace(d,decodeURIComponent)]=_.replace(d,decodeURIComponent)}catch{}}return l}function r(){return i(document.cookie)}function c(a,l,f){document.cookie=o(a,l,n({path:"/"},f))}t.__esModule=!0,t.encode=o,t.parse=i,t.getAll=r,t.get=function(a){return r()[a]},t.set=c,t.remove=function(a,l){c(a,"",n(n({},l),{expires:-1}))}});ms(it),it.encode,it.parse,it.getAll;var Oa=it.get,gi=it.set,_i=it.remove;const kt={get(e){const t=Oa(e);if(t!==void 0)return JSON.parse(t)},save(e,t,n){let s={};window.location.protocol==="https:"&&(s={secure:!0,sameSite:"none"}),n?.daysUntilExpire&&(s.expires=n.daysUntilExpire),n?.cookieDomain&&(s.domain=n.cookieDomain),gi(e,JSON.stringify(t),s)},remove(e,t){let n={};t?.cookieDomain&&(n.domain=t.cookieDomain),_i(e,n)}},Sa={get:e=>kt.get(e)||kt.get(`_legacy_${e}`),save(e,t,n){let s={};window.location.protocol==="https:"&&(s={secure:!0}),n?.daysUntilExpire&&(s.expires=n.daysUntilExpire),n?.cookieDomain&&(s.domain=n.cookieDomain),gi(`_legacy_${e}`,JSON.stringify(t),s),kt.save(e,t,n)},remove(e,t){let n={};t?.cookieDomain&&(n.domain=t.cookieDomain),_i(e,n),kt.remove(e,t),kt.remove(`_legacy_${e}`,t)}},Pa={get(e){if(typeof sessionStorage>"u")return;const t=sessionStorage.getItem(e);return t!=null?JSON.parse(t):void 0},save(e,t){sessionStorage.setItem(e,JSON.stringify(t))},remove(e){sessionStorage.removeItem(e)}};var xs,Ea=function(e){return xs=xs||function(t,n,s){var o=n===void 0?null:n,i=function(l,f){var d=atob(l);if(f){for(var p=new Uint8Array(d.length),m=0,_=d.length;m<_;++m)p[m]=d.charCodeAt(m);return String.fromCharCode.apply(null,new Uint16Array(p.buffer))}return d}(t,s!==void 0&&s),r=i.indexOf(`
|
|
6
6
|
`,10)+1,c=i.substring(r)+(o?"//# sourceMappingURL="+o:""),a=new Blob([c],{type:"application/javascript"});return URL.createObjectURL(a)}("Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y2xhc3MgZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscil7c3VwZXIociksdGhpcy5lcnJvcj10LHRoaXMuZXJyb3JfZGVzY3JpcHRpb249cixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxlLnByb3RvdHlwZSl9c3RhdGljIGZyb21QYXlsb2FkKHtlcnJvcjp0LGVycm9yX2Rlc2NyaXB0aW9uOnJ9KXtyZXR1cm4gbmV3IGUodCxyKX19Y2xhc3MgdCBleHRlbmRzIGV7Y29uc3RydWN0b3IoZSxzKXtzdXBlcigibWlzc2luZ19yZWZyZXNoX3Rva2VuIixgTWlzc2luZyBSZWZyZXNoIFRva2VuIChhdWRpZW5jZTogJyR7cihlLFsiZGVmYXVsdCJdKX0nLCBzY29wZTogJyR7cihzKX0nKWApLHRoaXMuYXVkaWVuY2U9ZSx0aGlzLnNjb3BlPXMsT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsdC5wcm90b3R5cGUpfX1mdW5jdGlvbiByKGUsdD1bXSl7cmV0dXJuIGUmJiF0LmluY2x1ZGVzKGUpP2U6IiJ9Y29uc3Qgcz1lPT57dmFye2NsaWVudElkOnR9PWUscj1mdW5jdGlvbihlLHQpe3ZhciByPXt9O2Zvcih2YXIgcyBpbiBlKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHMpJiZ0LmluZGV4T2Yocyk8MCYmKHJbc109ZVtzXSk7aWYobnVsbCE9ZSYmImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBvPTA7Zm9yKHM9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTtvPHMubGVuZ3RoO28rKyl0LmluZGV4T2Yoc1tvXSk8MCYmT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsc1tvXSkmJihyW3Nbb11dPWVbc1tvXV0pfXJldHVybiByfShlLFsiY2xpZW50SWQiXSk7cmV0dXJuIG5ldyBVUkxTZWFyY2hQYXJhbXMoKGU9Pk9iamVjdC5rZXlzKGUpLmZpbHRlcigodD0+dm9pZCAwIT09ZVt0XSkpLnJlZHVjZSgoKHQscik9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7W3JdOmVbcl19KSkse30pKShPYmplY3QuYXNzaWduKHtjbGllbnRfaWQ6dH0scikpKS50b1N0cmluZygpfTtsZXQgbz17fTtjb25zdCBuPShlLHQpPT5gJHtlfXwke3R9YDthZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwoYXN5bmMoe2RhdGE6e3RpbWVvdXQ6ZSxhdXRoOnIsZmV0Y2hVcmw6aSxmZXRjaE9wdGlvbnM6Yyx1c2VGb3JtRGF0YTphfSxwb3J0czpbZl19KT0+e2xldCBwO2NvbnN0e2F1ZGllbmNlOmwsc2NvcGU6dX09cnx8e307dHJ5e2NvbnN0IHI9YT8oZT0+e2NvbnN0IHQ9bmV3IFVSTFNlYXJjaFBhcmFtcyhlKSxyPXt9O3JldHVybiB0LmZvckVhY2goKChlLHQpPT57clt0XT1lfSkpLHJ9KShjLmJvZHkpOkpTT04ucGFyc2UoYy5ib2R5KTtpZighci5yZWZyZXNoX3Rva2VuJiYicmVmcmVzaF90b2tlbiI9PT1yLmdyYW50X3R5cGUpe2NvbnN0IGU9KChlLHQpPT5vW24oZSx0KV0pKGwsdSk7aWYoIWUpdGhyb3cgbmV3IHQobCx1KTtjLmJvZHk9YT9zKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxyKSx7cmVmcmVzaF90b2tlbjplfSkpOkpTT04uc3RyaW5naWZ5KE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxyKSx7cmVmcmVzaF90b2tlbjplfSkpfWxldCBkLGc7ImZ1bmN0aW9uIj09dHlwZW9mIEFib3J0Q29udHJvbGxlciYmKGQ9bmV3IEFib3J0Q29udHJvbGxlcixjLnNpZ25hbD1kLnNpZ25hbCk7dHJ5e2c9YXdhaXQgUHJvbWlzZS5yYWNlKFsoaD1lLG5ldyBQcm9taXNlKChlPT5zZXRUaW1lb3V0KGUsaCkpKSksZmV0Y2goaSxPYmplY3QuYXNzaWduKHt9LGMpKV0pfWNhdGNoKGUpe3JldHVybiB2b2lkIGYucG9zdE1lc3NhZ2Uoe2Vycm9yOmUubWVzc2FnZX0pfWlmKCFnKXJldHVybiBkJiZkLmFib3J0KCksdm9pZCBmLnBvc3RNZXNzYWdlKHtlcnJvcjoiVGltZW91dCB3aGVuIGV4ZWN1dGluZyAnZmV0Y2gnIn0pO3A9YXdhaXQgZy5qc29uKCkscC5yZWZyZXNoX3Rva2VuPygoKGUsdCxyKT0+e29bbih0LHIpXT1lfSkocC5yZWZyZXNoX3Rva2VuLGwsdSksZGVsZXRlIHAucmVmcmVzaF90b2tlbik6KChlLHQpPT57ZGVsZXRlIG9bbihlLHQpXX0pKGwsdSksZi5wb3N0TWVzc2FnZSh7b2s6Zy5vayxqc29uOnB9KX1jYXRjaChlKXtmLnBvc3RNZXNzYWdlKHtvazohMSxqc29uOntlcnJvcjplLmVycm9yLGVycm9yX2Rlc2NyaXB0aW9uOmUubWVzc2FnZX19KX12YXIgaH0pKX0oKTsKCg==",null,!1),new Worker(xs,e)};const Is={};class ja{constructor(t,n){this.cache=t,this.clientId=n,this.manifestKey=this.createManifestKeyFrom(this.clientId)}async add(t){var n;const s=new Set(((n=await this.cache.get(this.manifestKey))===null||n===void 0?void 0:n.keys)||[]);s.add(t),await this.cache.set(this.manifestKey,{keys:[...s]})}async remove(t){const n=await this.cache.get(this.manifestKey);if(n){const s=new Set(n.keys);return s.delete(t),s.size>0?await this.cache.set(this.manifestKey,{keys:[...s]}):await this.cache.remove(this.manifestKey)}}get(){return this.cache.get(this.manifestKey)}clear(){return this.cache.remove(this.manifestKey)}createManifestKeyFrom(t){return`@@auth0spajs@@::${t}`}}const Aa={memory:()=>new mi().enclosedCache,localstorage:()=>new xa},bi=e=>Aa[e],yi=e=>{const{openUrl:t,onRedirect:n}=e,s=Pe(e,["openUrl","onRedirect"]);return Object.assign(Object.assign({},s),{openUrl:t===!1||t?t:n})},Ts=new ba;class Ra{constructor(t){let n,s;if(this.userCache=new mi().enclosedCache,this.defaultOptions={authorizationParams:{scope:"openid profile email"},useRefreshTokensFallback:!1,useFormData:!0},this._releaseLockOnPageHide=async()=>{await Ts.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)},this.options=Object.assign(Object.assign(Object.assign({},this.defaultOptions),t),{authorizationParams:Object.assign(Object.assign({},this.defaultOptions.authorizationParams),t.authorizationParams)}),typeof window<"u"&&(()=>{if(!Tn())throw new Error("For security reasons, `window.crypto` is required to run `auth0-spa-js`.");if(Tn().subtle===void 0)throw new Error(`
|
|
7
7
|
auth0-spa-js must run on a secure origin. See https://github.com/auth0/auth0-spa-js/blob/master/FAQ.md#why-do-i-get-auth0-spa-js-must-run-on-a-secure-origin for more information.
|
|
8
|
-
`)})(),t.cache&&t.cacheLocation&&console.warn("Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`."),t.cache)s=t.cache;else{if(n=t.cacheLocation||"memory",!bi(n))throw new Error(`Invalid cache location "${n}"`);s=bi(n)()}this.httpTimeoutMs=t.httpTimeoutInSeconds?1e3*t.httpTimeoutInSeconds:1e4,this.cookieStorage=t.legacySameSiteCookie===!1?kt:Sa,this.orgHintCookieName=`auth0.${this.options.clientId}.organization_hint`,this.isAuthenticatedCookieName=(r=>`auth0.${this.options.clientId}.is.authenticated`)(),this.sessionCheckExpiryDays=t.sessionCheckExpiryDays||1;const o=t.useCookiesForTransactions?this.cookieStorage:Pa;var i;this.scope=Cn("openid",this.options.authorizationParams.scope,this.options.useRefreshTokens?"offline_access":""),this.transactionManager=new Ta(o,this.options.clientId,this.options.cookieDomain),this.nowProvider=this.options.nowProvider||fi,this.cacheManager=new Ia(s,s.allKeys?void 0:new ja(s,this.options.clientId),this.nowProvider),this.domainUrl=(i=this.options.domain,/^https?:\/\//.test(i)?i:`https://${i}`),this.tokenIssuer=((r,c)=>r?r.startsWith("https://")?r:`https://${r}/`:`${c}/`)(this.options.issuer,this.domainUrl),typeof window<"u"&&window.Worker&&this.options.useRefreshTokens&&n==="memory"&&(this.worker=new Ea)}_url(t){const n=encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client||ui)));return`${this.domainUrl}${t}&auth0Client=${n}`}_authorizeUrl(t){return this._url(`/authorize?${ks(t)}`)}async _verifyIdToken(t,n,s){const o=await this.nowProvider();return(r=>{if(!r.id_token)throw new Error("ID token is required but missing");const c=(d=>{const p=d.split("."),[m,_,v]=p;if(p.length!==3||!m||!_||!v)throw new Error("ID token could not be decoded");const S=JSON.parse(pi(_)),P={__raw:d},C={};return Object.keys(S).forEach(M=>{P[M]=S[M],Ca.includes(M)||(C[M]=S[M])}),{encoded:{header:m,payload:_,signature:v},header:JSON.parse(pi(m)),claims:P,user:C}})(r.id_token);if(!c.claims.iss)throw new Error("Issuer (iss) claim must be a string present in the ID token");if(c.claims.iss!==r.iss)throw new Error(`Issuer (iss) claim mismatch in the ID token; expected "${r.iss}", found "${c.claims.iss}"`);if(!c.user.sub)throw new Error("Subject (sub) claim must be a string present in the ID token");if(c.header.alg!=="RS256")throw new Error(`Signature algorithm of "${c.header.alg}" is not supported. Expected the ID token to be signed with "RS256".`);if(!c.claims.aud||typeof c.claims.aud!="string"&&!Array.isArray(c.claims.aud))throw new Error("Audience (aud) claim must be a string or array of strings present in the ID token");if(Array.isArray(c.claims.aud)){if(!c.claims.aud.includes(r.aud))throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${r.aud}" but was not one of "${c.claims.aud.join(", ")}"`);if(c.claims.aud.length>1){if(!c.claims.azp)throw new Error("Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values");if(c.claims.azp!==r.aud)throw new Error(`Authorized Party (azp) claim mismatch in the ID token; expected "${r.aud}", found "${c.claims.azp}"`)}}else if(c.claims.aud!==r.aud)throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${r.aud}" but found "${c.claims.aud}"`);if(r.nonce){if(!c.claims.nonce)throw new Error("Nonce (nonce) claim must be a string present in the ID token");if(c.claims.nonce!==r.nonce)throw new Error(`Nonce (nonce) claim mismatch in the ID token; expected "${r.nonce}", found "${c.claims.nonce}"`)}if(r.max_age&&!Ut(c.claims.auth_time))throw new Error("Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified");if(c.claims.exp==null||!Ut(c.claims.exp))throw new Error("Expiration Time (exp) claim must be a number present in the ID token");if(!Ut(c.claims.iat))throw new Error("Issued At (iat) claim must be a number present in the ID token");const a=r.leeway||60,l=new Date(r.now||Date.now()),f=new Date(0);if(f.setUTCSeconds(c.claims.exp+a),l>f)throw new Error(`Expiration Time (exp) claim error in the ID token; current time (${l}) is after expiration time (${f})`);if(c.claims.nbf!=null&&Ut(c.claims.nbf)){const d=new Date(0);if(d.setUTCSeconds(c.claims.nbf-a),l<d)throw new Error(`Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Current time (${l}) is before ${d}`)}if(c.claims.auth_time!=null&&Ut(c.claims.auth_time)){const d=new Date(0);if(d.setUTCSeconds(parseInt(c.claims.auth_time)+r.max_age+a),l>d)throw new Error(`Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time (${l}) is after last auth at ${d}`)}if(r.organization){const d=r.organization.trim();if(d.startsWith("org_")){const p=d;if(!c.claims.org_id)throw new Error("Organization ID (org_id) claim must be a string present in the ID token");if(p!==c.claims.org_id)throw new Error(`Organization ID (org_id) claim mismatch in the ID token; expected "${p}", found "${c.claims.org_id}"`)}else{const p=d.toLowerCase();if(!c.claims.org_name)throw new Error("Organization Name (org_name) claim must be a string present in the ID token");if(p!==c.claims.org_name)throw new Error(`Organization Name (org_name) claim mismatch in the ID token; expected "${p}", found "${c.claims.org_name}"`)}}return c})({iss:this.tokenIssuer,aud:this.options.clientId,id_token:t,nonce:n,organization:s,leeway:this.options.leeway,max_age:(i=this.options.authorizationParams.max_age,typeof i!="string"?i:parseInt(i,10)||void 0),now:o});var i}_processOrgHint(t){t?this.cookieStorage.save(this.orgHintCookieName,t,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}):this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain})}async _prepareAuthorizeUrl(t,n,s){const o=hi(vs()),i=hi(vs()),r=vs(),c=(f=>{const d=new Uint8Array(f);return(p=>{const m={"+":"-","/":"_","=":""};return p.replace(/[+/=]/g,_=>m[_])})(window.btoa(String.fromCharCode(...Array.from(d))))})(await(async f=>await Tn().subtle.digest({name:"SHA-256"},new TextEncoder().encode(f)))(r)),a=((f,d,p,m,_,v,S,P)=>Object.assign(Object.assign(Object.assign({client_id:f.clientId},f.authorizationParams),p),{scope:Cn(d,p.scope),response_type:"code",response_mode:P||"query",state:m,nonce:_,redirect_uri:S||f.authorizationParams.redirect_uri,code_challenge:v,code_challenge_method:"S256"}))(this.options,this.scope,t,o,i,c,t.redirect_uri||this.options.authorizationParams.redirect_uri||s,n?.response_mode),l=this._authorizeUrl(a);return{nonce:i,code_verifier:r,scope:a.scope,audience:a.audience||"default",redirect_uri:a.redirect_uri,state:o,url:l}}async loginWithPopup(t,n){var s;if(t=t||{},!(n=n||{}).popup&&(n.popup=(c=>{const a=window.screenX+(window.innerWidth-400)/2,l=window.screenY+(window.innerHeight-600)/2;return window.open("","auth0:authorize:popup",`left=${a},top=${l},width=400,height=600,resizable,scrollbars=yes,status=1`)})(),!n.popup))throw new Error("Unable to open a popup for loginWithPopup - window.open returned `null`");const o=await this._prepareAuthorizeUrl(t.authorizationParams||{},{response_mode:"web_message"},window.location.origin);n.popup.location.href=o.url;const i=await(c=>new Promise((a,l)=>{let f;const d=setInterval(()=>{c.popup&&c.popup.closed&&(clearInterval(d),clearTimeout(p),window.removeEventListener("message",f,!1),l(new ys(c.popup)))},1e3),p=setTimeout(()=>{clearInterval(d),l(new bs(c.popup)),window.removeEventListener("message",f,!1)},1e3*(c.timeoutInSeconds||60));f=function(m){if(m.data&&m.data.type==="authorization_response"){if(clearTimeout(p),clearInterval(d),window.removeEventListener("message",f,!1),c.popup.close(),m.data.response.error)return l(le.fromPayload(m.data.response));a(m.data.response)}},window.addEventListener("message",f)}))(Object.assign(Object.assign({},n),{timeoutInSeconds:n.timeoutInSeconds||this.options.authorizeTimeoutInSeconds||60}));if(o.state!==i.state)throw new le("state_mismatch","Invalid state");const r=((s=t.authorizationParams)===null||s===void 0?void 0:s.organization)||this.options.authorizationParams.organization;await this._requestToken({audience:o.audience,scope:o.scope,code_verifier:o.code_verifier,grant_type:"authorization_code",code:i.code,redirect_uri:o.redirect_uri},{nonceIn:o.nonce,organization:r})}async getUser(){var t;const n=await this._getIdTokenFromCache();return(t=n?.decodedToken)===null||t===void 0?void 0:t.user}async getIdTokenClaims(){var t;const n=await this._getIdTokenFromCache();return(t=n?.decodedToken)===null||t===void 0?void 0:t.claims}async loginWithRedirect(t={}){var n;const s=yi(t),{openUrl:o,fragment:i,appState:r}=s,c=Pe(s,["openUrl","fragment","appState"]),a=((n=c.authorizationParams)===null||n===void 0?void 0:n.organization)||this.options.authorizationParams.organization,l=await this._prepareAuthorizeUrl(c.authorizationParams||{}),{url:f}=l,d=Pe(l,["url"]);this.transactionManager.create(Object.assign(Object.assign(Object.assign({},d),{appState:r}),a&&{organization:a}));const p=i?`${f}#${i}`:f;o?await o(p):window.location.assign(p)}async handleRedirectCallback(t=window.location.href){const n=t.split("?").slice(1);if(n.length===0)throw new Error("There are no query params available for parsing.");const{state:s,code:o,error:i,error_description:r}=(d=>{d.indexOf("#")>-1&&(d=d.substring(0,d.indexOf("#")));const p=new URLSearchParams(d);return{state:p.get("state"),code:p.get("code")||void 0,error:p.get("error")||void 0,error_description:p.get("error_description")||void 0}})(n.join("")),c=this.transactionManager.get();if(!c)throw new le("missing_transaction","Invalid state");if(this.transactionManager.remove(),i)throw new _s(i,r||i,s,c.appState);if(!c.code_verifier||c.state&&c.state!==s)throw new le("state_mismatch","Invalid state");const a=c.organization,l=c.nonce,f=c.redirect_uri;return await this._requestToken(Object.assign({audience:c.audience,scope:c.scope,code_verifier:c.code_verifier,grant_type:"authorization_code",code:o},f?{redirect_uri:f}:{}),{nonceIn:l,organization:a}),{appState:c.appState}}async checkSession(t){if(!this.cookieStorage.get(this.isAuthenticatedCookieName)){if(!this.cookieStorage.get("auth0.is.authenticated"))return;this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove("auth0.is.authenticated")}try{await this.getTokenSilently(t)}catch{}}async getTokenSilently(t={}){var n;const s=Object.assign(Object.assign({cacheMode:"on"},t),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),t.authorizationParams),{scope:Cn(this.scope,(n=t.authorizationParams)===null||n===void 0?void 0:n.scope)})}),o=await((i,r)=>{let c=Is[r];return c||(c=i().finally(()=>{delete Is[r],c=null}),Is[r]=c),c})(()=>this._getTokenSilently(s),`${this.options.clientId}::${s.authorizationParams.audience}::${s.authorizationParams.scope}`);return t.detailedResponse?o:o?.access_token}async _getTokenSilently(t){const{cacheMode:n}=t,s=Pe(t,["cacheMode"]);if(n!=="off"){const o=await this._getEntryFromCache({scope:s.authorizationParams.scope,audience:s.authorizationParams.audience||"default",clientId:this.options.clientId});if(o)return o}if(n!=="cache-only"){if(!await(async(o,i=3)=>{for(let r=0;r<i;r++)if(await o())return!0;return!1})(()=>Ts.acquireLock("auth0.lock.getTokenSilently",5e3),10))throw new Nt;try{if(window.addEventListener("pagehide",this._releaseLockOnPageHide),n!=="off"){const l=await this._getEntryFromCache({scope:s.authorizationParams.scope,audience:s.authorizationParams.audience||"default",clientId:this.options.clientId});if(l)return l}const o=this.options.useRefreshTokens?await this._getTokenUsingRefreshToken(s):await this._getTokenFromIFrame(s),{id_token:i,access_token:r,oauthTokenScope:c,expires_in:a}=o;return Object.assign(Object.assign({id_token:i,access_token:r},c?{scope:c}:null),{expires_in:a})}finally{await Ts.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)}}}async getTokenWithPopup(t={},n={}){var s;const o=Object.assign(Object.assign({},t),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),t.authorizationParams),{scope:Cn(this.scope,(s=t.authorizationParams)===null||s===void 0?void 0:s.scope)})});return n=Object.assign(Object.assign({},ya),n),await this.loginWithPopup(o,n),(await this.cacheManager.get(new Ee({scope:o.authorizationParams.scope,audience:o.authorizationParams.audience||"default",clientId:this.options.clientId}))).access_token}async isAuthenticated(){return!!await this.getUser()}_buildLogoutUrl(t){t.clientId!==null?t.clientId=t.clientId||this.options.clientId:delete t.clientId;const n=t.logoutParams||{},{federated:s}=n,o=Pe(n,["federated"]),i=s?"&federated":"";return this._url(`/v2/logout?${ks(Object.assign({clientId:t.clientId},o))}`)+i}async logout(t={}){const n=yi(t),{openUrl:s}=n,o=Pe(n,["openUrl"]);t.clientId===null?await this.cacheManager.clear():await this.cacheManager.clear(t.clientId||this.options.clientId),this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove(this.isAuthenticatedCookieName,{cookieDomain:this.options.cookieDomain}),this.userCache.remove("@@user@@");const i=this._buildLogoutUrl(o);s?await s(i):s!==!1&&window.location.assign(i)}async _getTokenFromIFrame(t){const n=Object.assign(Object.assign({},t.authorizationParams),{prompt:"none"}),s=this.cookieStorage.get(this.orgHintCookieName);s&&!n.organization&&(n.organization=s);const{url:o,state:i,nonce:r,code_verifier:c,redirect_uri:a,scope:l,audience:f}=await this._prepareAuthorizeUrl(n,{response_mode:"web_message"},window.location.origin);try{if(window.crossOriginIsolated)throw new le("login_required","The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.");const d=t.timeoutInSeconds||this.options.authorizeTimeoutInSeconds,p=await((_,v,S=60)=>new Promise((P,C)=>{const M=window.document.createElement("iframe");M.setAttribute("width","0"),M.setAttribute("height","0"),M.style.display="none";const A=()=>{window.document.body.contains(M)&&(window.document.body.removeChild(M),window.removeEventListener("message",Z,!1))};let Z;const _e=setTimeout(()=>{C(new Nt),A()},1e3*S);Z=function(ne){if(ne.origin!=v||!ne.data||ne.data.type!=="authorization_response")return;const K=ne.source;K&&K.close(),ne.data.response.error?C(le.fromPayload(ne.data.response)):P(ne.data.response),clearTimeout(_e),window.removeEventListener("message",Z,!1),setTimeout(A,2e3)},window.addEventListener("message",Z,!1),window.document.body.appendChild(M),M.setAttribute("src",_)}))(o,this.domainUrl,d);if(i!==p.state)throw new le("state_mismatch","Invalid state");const m=await this._requestToken(Object.assign(Object.assign({},t.authorizationParams),{code_verifier:c,code:p.code,grant_type:"authorization_code",redirect_uri:a,timeout:t.authorizationParams.timeout||this.httpTimeoutMs}),{nonceIn:r,organization:n.organization});return Object.assign(Object.assign({},m),{scope:l,oauthTokenScope:m.scope,audience:f})}catch(d){throw d.error==="login_required"&&this.logout({openUrl:!1}),d}}async _getTokenUsingRefreshToken(t){const n=await this.cacheManager.get(new Ee({scope:t.authorizationParams.scope,audience:t.authorizationParams.audience||"default",clientId:this.options.clientId}));if(!(n&&n.refresh_token||this.worker)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(t);throw new In(t.authorizationParams.audience||"default",t.authorizationParams.scope)}const s=t.authorizationParams.redirect_uri||this.options.authorizationParams.redirect_uri||window.location.origin,o=typeof t.timeoutInSeconds=="number"?1e3*t.timeoutInSeconds:null;try{const i=await this._requestToken(Object.assign(Object.assign(Object.assign({},t.authorizationParams),{grant_type:"refresh_token",refresh_token:n&&n.refresh_token,redirect_uri:s}),o&&{timeout:o}));return Object.assign(Object.assign({},i),{scope:t.authorizationParams.scope,oauthTokenScope:i.scope,audience:t.authorizationParams.audience||"default"})}catch(i){if((i.message.indexOf("Missing Refresh Token")>-1||i.message&&i.message.indexOf("invalid refresh token")>-1)&&this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(t);throw i}}async _saveEntryInCache(t){const{id_token:n,decodedToken:s}=t,o=Pe(t,["id_token","decodedToken"]);this.userCache.set("@@user@@",{id_token:n,decodedToken:s}),await this.cacheManager.setIdToken(this.options.clientId,t.id_token,t.decodedToken),await this.cacheManager.set(o)}async _getIdTokenFromCache(){const t=this.options.authorizationParams.audience||"default",n=await this.cacheManager.getIdToken(new Ee({clientId:this.options.clientId,audience:t,scope:this.scope})),s=this.userCache.get("@@user@@");return n&&n.id_token===s?.id_token?s:(this.userCache.set("@@user@@",n),n)}async _getEntryFromCache({scope:t,audience:n,clientId:s}){const o=await this.cacheManager.get(new Ee({scope:t,audience:n,clientId:s}),60);if(o&&o.access_token){const{access_token:i,oauthTokenScope:r,expires_in:c}=o,a=await this._getIdTokenFromCache();return a&&Object.assign(Object.assign({id_token:a.id_token,access_token:i},r?{scope:r}:null),{expires_in:c})}}async _requestToken(t,n){const{nonceIn:s,organization:o}=n||{},i=await ka(Object.assign({baseUrl:this.domainUrl,client_id:this.options.clientId,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs},t),this.worker),r=await this._verifyIdToken(i.id_token,s,o);return await this._saveEntryInCache(Object.assign(Object.assign(Object.assign(Object.assign({},i),{decodedToken:r,scope:t.scope,audience:t.audience||"default"}),i.scope?{oauthTokenScope:i.scope}:null),{client_id:this.options.clientId})),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgHint(o||r.claims.org_id),Object.assign(Object.assign({},i),{decodedToken:r})}}function $t(e){e?.redirect_uri&&(console.warn("Using `redirect_uri` has been deprecated, please use `authorizationParams.redirect_uri` instead as `redirectUri` will be no longer supported in a future version"),e.authorizationParams=e.authorizationParams||{},e.authorizationParams.redirect_uri=e.redirect_uri,delete e.redirect_uri)}const rt=()=>{console.error("Please ensure Auth0's Vue plugin is correctly installed.")},La={isLoading:q(!1),isAuthenticated:q(!1),user:q(void 0),idTokenClaims:q(void 0),error:q(null),loginWithPopup:rt,loginWithRedirect:rt,getAccessTokenSilently:rt,getAccessTokenWithPopup:rt,logout:rt,checkSession:rt,handleRedirectCallback:rt},Ma=q(La);class Fa{constructor(t,n){var s,o;this.clientOptions=t,this.pluginOptions=n,this.isLoading=q(!0),this.isAuthenticated=q(!1),this.user=q({}),this.idTokenClaims=q(),this.error=q(null),s=this,o=["constructor"],Object.getOwnPropertyNames(Object.getPrototypeOf(s)).filter(i=>!o.includes(i)).forEach(i=>s[i]=s[i].bind(s))}install(t){this._client=new Ra(Object.assign(Object.assign({},this.clientOptions),{auth0Client:{name:"auth0-vue",version:"2.3.1"}})),this.__checkSession(t.config.globalProperties.$router),t.config.globalProperties.$auth0=this,t.provide(li,this),Ma.value=this}async loginWithRedirect(t){return $t(t),this._client.loginWithRedirect(t)}async loginWithPopup(t,n){return $t(t),this.__proxy(()=>this._client.loginWithPopup(t,n))}async logout(t){return t?.openUrl||t?.openUrl===!1?this.__proxy(()=>this._client.logout(t)):this._client.logout(t)}async getAccessTokenSilently(t={}){return $t(t),this.__proxy(()=>this._client.getTokenSilently(t))}async getAccessTokenWithPopup(t,n){return $t(t),this.__proxy(()=>this._client.getTokenWithPopup(t,n))}async checkSession(t){return this.__proxy(()=>this._client.checkSession(t))}async handleRedirectCallback(t){return this.__proxy(()=>this._client.handleRedirectCallback(t))}async __checkSession(t){var n,s,o;const i=window.location.search;try{if((i.includes("code=")||i.includes("error="))&&i.includes("state=")&&!(!((n=this.pluginOptions)===null||n===void 0)&&n.skipRedirectCallback)){const r=await this.handleRedirectCallback(),c=r?.appState,a=(s=c?.target)!==null&&s!==void 0?s:"/";return window.history.replaceState({},"","/"),t&&t.push(a),r}await this.checkSession()}catch{window.history.replaceState({},"","/"),t&&t.push(((o=this.pluginOptions)===null||o===void 0?void 0:o.errorPath)||"/")}}async __refreshState(){this.isAuthenticated.value=await this._client.isAuthenticated(),this.user.value=await this._client.getUser(),this.idTokenClaims.value=await this._client.getIdTokenClaims(),this.isLoading.value=!1}async __proxy(t,n=!0){let s;try{s=await t(),this.error.value=null}catch(o){throw this.error.value=o,o}finally{n&&await this.__refreshState()}return s}}function wi(e,t){return $t(e),new Fa(e,t)}function vi(){return ve(li)}const Rl="",Ll="",Ml="";var Cs=(e=>(e[e.Pending=0]="Pending",e[e.Approved=1]="Approved",e[e.Rejected=2]="Rejected",e))(Cs||{});const Os=_a("store",()=>{const e=ve("postId"),t=ve("comments"),n=q(!!t?.length),s=q(0),o=q(""),i=q(f(t||[])),r=q(0),c=ve("ApiBaseUrl"),a=q(!1),l=q(!1);function f(m){return m.map(_=>{const{user:v,created_at:S,...P}=_;return{...P,status:Number(_.status),createdAt:new Date(S),user:JSON.parse(_.user)}})}async function d(){o.value="",a.value=!0;const m=new URLSearchParams;m.append("postId",e),m.append("start",s.value.toString());const _=await fetch(`${c}/api/comments?${m}`);if(!_.ok){o.value="Load comments failed. "+_.statusText,n.value=!0,a.value=!1;return}const v=await _.json();if(v.code!==0){o.value="Load comments failed. "+v.message,n.value=!0,a.value=!1;return}i.value.push(...f(v.data||[]));const S=v.data?.length||0;return l.value=S>=20,r.value+=S,n.value=!0,a.value=!1,v}function p(m,_,v){const{sub:S="",name:P="",picture:C="",email:M="",nickname:A=""}=v;i.value.unshift({id:m,postId:e,content:_,ancestorId:-1,parentId:-1,createdAt:new Date,user:{avatar:C,email:M,name:A||P},userId:S,status:Cs.Pending,isNew:!0}),r.value++}return{isLoaded:n,message:o,postId:e,comments:i,total:r,start:s,hasMore:l,loadingMore:a,loadComments:d,addComment:p}}),Ka=["onSubmit"],za={class:"ac-form-control border border-neutral bg-base-200 rounded-lg"},Na=J("label",{class:"sr-only",for:"ac-comment"},"Your comment",-1),Ua=["onKeydown"],$a={class:"p-2 rounded-b-lg bg-base-300 flex items-center"},Da={class:"text-xs text-neutral-400/40"},Wa={key:0,class:"ac-alert ac-alert-error mx-4"},Ha=["disabled"],Za={key:0,class:"ac-loading ac-loading-spinner"},Va=qn({...{name:"CommentForm"},setup(e){const t=vi(),n=Os(),s=ve("ApiBaseUrl"),o=ve("Auth0Domain"),i="0.2.3",r=q(!1),c=q(""),a=q("");async function l(p){if(!t.user.value)return f();if(!p.target.matches(":invalid")){r.value=!0;try{const m=await t.getAccessTokenSilently(),_=await fetch(s+"/api/comment",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${m}`},body:JSON.stringify({comment:c.value,postId:n.postId,domain:o})});if(!_.ok)throw new Error("Failed to post comment");const v=await _.json();n.addComment(v.data,c.value,t.user.value),c.value=""}catch(m){a.value=m.message||String(m)}r.value=!1}}function f(){t.loginWithPopup()}function d(p){const m=navigator.userAgent.match(/Macintosh/);(m&&p.metaKey||!m&&p.ctrlKey)&&l(p)}return(p,m)=>(G(),te("form",{class:"mb-6",onSubmit:sa(l,["prevent"])},[J("div",za,[Na,Ur(J("textarea",{class:"ac-textarea ac-textarea-bordered bg-base-200 rounded-b-none focus:outline-none",id:"ac-comment",rows:"3",placeholder:"Write a comment...",required:"",onKeydown:ia(d,["enter"]),"onUpdate:modelValue":m[0]||(m[0]=_=>c.value=_)},null,40,Ua),[[ea,c.value]]),J("div",$a,[J("div",Da,"v"+Le(B(i)),1),a.value?(G(),te("div",Wa,[J("p",null,Le(a.value),1)])):tt("",!0),J("button",{class:"ac-btn ac-btn-primary ac-btn-sm ml-auto",disabled:r.value},[r.value?(G(),te("span",Za)):tt("",!0),vn("Post comment")],8,Ha)])])],40,Ka))}});var Xa={"":["<em>","</em>"],_:["<strong>","</strong>"],"*":["<strong>","</strong>"],"~":["<s>","</s>"],"\n":["<br />"]," ":["<br />"],"-":["<hr />"]};function ki(e){return e.replace(RegExp("^"+(e.match(/^(\t| )+/)||"")[0],"gm"),"")}function Dt(e){return(e+"").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function Ss(e,t){var n,s,o,i,r,c=/((?:^|\n+)(?:\n---+|\* \*(?: \*)+)\n)|(?:^``` *(\w*)\n([\s\S]*?)\n```$)|((?:(?:^|\n+)(?:\t| {2,}).+)+\n*)|((?:(?:^|\n)([>*+-]|\d+\.)\s+.*)+)|(?:!\[([^\]]*?)\]\(([^)]+?)\))|(\[)|(\](?:\(([^)]+?)\))?)|(?:(?:^|\n+)([^\s].*)\n(-{3,}|={3,})(?:\n+|$))|(?:(?:^|\n+)(#{1,6})\s*(.+)(?:\n+|$))|(?:`([^`].*?)`)|( \n\n*|\n{2,}|__|\*\*|[_*]|~~)/gm,a=[],l="",f=t||{},d=0;function p(_){var v=Xa[_[1]||""],S=a[a.length-1]==_;return v?v[1]?(S?a.pop():a.push(_),v[0|S]):v[0]:_}function m(){for(var _="";a.length;)_+=p(a[a.length-1]);return _}for(e=e.replace(/^\[(.+?)\]:\s*(.+)$/gm,function(_,v,S){return f[v.toLowerCase()]=S,""}).replace(/^\n+|\n+$/g,"");o=c.exec(e);)s=e.substring(d,o.index),d=c.lastIndex,n=o[0],s.match(/[^\\](\\\\)*\\$/)||((r=o[3]||o[4])?n='<pre class="code '+(o[4]?"poetry":o[2].toLowerCase())+'"><code'+(o[2]?' class="language-'+o[2].toLowerCase()+'"':"")+">"+ki(Dt(r).replace(/^\n+|\n+$/g,""))+"</code></pre>":(r=o[6])?(r.match(/\./)&&(o[5]=o[5].replace(/^\d+/gm,"")),i=Ss(ki(o[5].replace(/^\s*[>*+.-]/gm,""))),r==">"?r="blockquote":(r=r.match(/\./)?"ol":"ul",i=i.replace(/^(.*)(\n|$)/gm,"<li>$1</li>")),n="<"+r+">"+i+"</"+r+">"):o[8]?n='<img src="'+Dt(o[8])+'" alt="'+Dt(o[7])+'">':o[10]?(l=l.replace("<a>",'<a href="'+Dt(o[11]||f[s.toLowerCase()])+'">'),n=m()+"</a>"):o[9]?n="<a>":o[12]||o[14]?n="<"+(r="h"+(o[14]?o[14].length:o[13]>"="?1:2))+">"+Ss(o[12]||o[15],f)+"</"+r+">":o[16]?n="<code>"+Dt(o[16])+"</code>":(o[17]||o[1])&&(n=p(o[17]||"--"))),l+=s,l+=n;return(l+e.substring(d)+m()).replace(/^\n+|\n+$/g,"")}function On(e){return e<10?`0${e}`:`${e}`}function xi(e){const t=e.getFullYear(),n=e.getMonth()+1,s=e.getDate();return`${t}-${On(n)}-${On(s)}`}function Ba(e){const t=new Date,n=xi(e);if(xi(t)===n){const s=e.getHours(),o=e.getMinutes();return`${On(s)}:${On(o)}`}return n}function Ja(e){let t=0;for(let s=0;s<e.length;s++)t=e.charCodeAt(s)+((t<<5)-t);let n="#";for(let s=0;s<3;s++){const o=t>>s*8&255;n+=("00"+o.toString(16)).slice(-2)}return n}const Ya={key:0,class:"comments-wrapper"},qa=["onAnimationend"],Ga={class:"flex justify-between items-center mb-2"},Qa={class:"flex items-center text-sm text-base-content dark:text-white"},el={class:"avatar mr-2"},tl=["src","alt"],nl={class:"text-neutral-content mix-blend-color-dodge uppercase font-bold leading-6"},sl=["datetime","title"],ol=["innerHTML"],il={key:0,class:"italic mt-4 text-gray-500 mb-0 text-sm dark:text-gray-400"},rl=["disabled"],cl={key:0,class:"ac-loading ac-loading-xs ac-loading-spinner"},al={key:1,class:"pt-8 text-center"},ll=[J("span",{class:"ac-loading ac-loading-spinner"},null,-1)],ul=qn({...{name:"CommentSections"},setup(e){const t=Os();t.loadComments();function n(){t.start+=20,t.loadComments()}return(s,o)=>B(t).isLoaded?(G(),te("div",Ya,[(G(!0),te(ke,null,ec(B(t).comments,i=>(G(),te("article",{class:Gt(["p-6 text-base bg-base-200 rounded-lg mb-4 dark:bg-gray-900",{"animated flash":i.isNew}]),key:i.id,onAnimationend:r=>i.isNew=!1},[J("header",Ga,[J("div",Qa,[J("div",el,[i.user.avatar?(G(),te("img",{key:0,class:"w-6 h-6 rounded-full",src:i.user.avatar,alt:i.user.name},null,8,tl)):(G(),te("div",{key:1,class:"avatar-char rounded-full w-6 h-6 mr-2 text-center",style:qt({"background-color":B(Ja)(i.user.name||"Anonymous")})},[J("span",nl,Le((i.user.name||"Anonymous").substring(0,1)),1)],4))]),vn(Le(i.user.name),1),J("time",{class:"text-xs text-gray-600 ml-4 dark:text-gray-400",pubdate:"",datetime:i.createdAt,title:i.createdAt},Le(B(Ba)(i.createdAt)),9,sl)])]),J("p",{class:"text-gray-500 dark:text-gray-400",innerHTML:B(Ss)(i.content)},null,8,ol),i.status===B(Cs).Pending?(G(),te("p",il,"comments normally got approved within 24 hours")):tt("",!0)],42,qa))),128)),B(t).hasMore?(G(),te("button",{key:0,class:"ac-btn ac-btn-neutral ac-btn-sm ac-btn-block",type:"button",onClick:n,disabled:B(t).loadingMore},[B(t).loadingMore?(G(),te("span",cl)):tt("",!0),vn("Load More")],8,rl)):tt("",!0)])):(G(),te("div",al,ll))}}),fl={class:"awesome-comment"},dl={key:0,class:"ac-alert ac-alert-error mb-4"},hl={class:"flex justify-between items-center py-2"},pl={class:"text-lg font-bold text-base-content my-0"},ml={key:0,class:"ac-loading ac-loading-spinner"},gl={key:1,class:"ac-dropdown ac-dropdown-end"},_l={key:0,class:"ac-avatar flex",tabindex:"0"},bl={class:"w-6 h-6 rounded-full"},yl=["alt","src"],wl={key:1,class:"ac-btn ac-btn-ghost",tabindex:"0"},vl={class:"ac-dropdown-content z-10 ac-menu p-2 shadow bg-base-100 rounded-box w-52",tabindex:"0"},kl={key:0,class:"border-b border-neutral pb-2 mb-2 pointer-events-none"},xl={class:"text-base-content"},Il=["disabled"],Tl=["disabled"],Cl=qn({__name:"App",setup(e){const t=Os(),{isAuthenticated:n,isLoading:s,user:o,loginWithPopup:i,logout:r}=vi(),c=ls(()=>{const f=t.total>20||t.total===20&&t.hasMore?"20+":t.total,d=new CustomEvent("AwesomeComment:total",{bubbles:!0,cancelable:!0,detail:f});return document.body.dispatchEvent(d),f});function a(){i()}function l(){r({openUrl:!1})}return(f,d)=>(G(),te("div",fl,[B(t).message?(G(),te("div",dl,[J("p",null,Le(B(t).message),1)])):tt("",!0),J("header",hl,[J("h2",pl,"Discussion ("+Le(c.value)+")",1),B(s)?(G(),te("span",ml)):(G(),te("div",gl,[B(n)&&B(o)?(G(),te(ke,{key:0},[B(o).picture?(G(),te("label",_l,[J("div",bl,[J("img",{class:"w-full h-full block",alt:B(o).name||B(o).email,src:B(o).picture},null,8,yl)])])):(G(),te("label",wl,Le(B(o).email),1)),J("ul",vl,[B(o).picture?(G(),te("li",kl,[J("span",xl,Le(B(o).email),1)])):tt("",!0),J("li",null,[J("button",{class:"border-0 bg-base-100",type:"button",disabled:B(s),onClick:l},"Logout",8,Il)])])],64)):(G(),te("button",{key:1,class:"ac-btn ac-btn-secondary ac-btn-xs",type:"button",disabled:B(s),onClick:a},"Login",8,Tl))]))]),Ie(Va),Ie(ul)]))}}),Ii=[];let Ti=null;function Ol(e,t){const n=aa(Cl),s=fa(),o=Ti||wi({domain:e,clientId:t,authorizationParams:{redirect_uri:location.origin}});return n.use(o),n.use(s),n}return{postId:"",apiUrl:"",domain:"",clientId:"",init(e,t,n,s,o){t??=this.postId,n??=this.apiUrl,s??=this.domain,o??=this.clientId;const i=Ol(s,o);i.provide("ApiBaseUrl",n),i.provide("postId",t),i.provide("Auth0Domain",s),i.provide("comments",Ii),i.mount(e)},async preload(e,t,n,s){this.postId=e,this.apiUrl=t,this.domain=n,this.clientId=s,Ti=wi({domain:n,clientId:s,authorizationParams:{redirect_uri:window.location.origin}});const o=await fetch(`${t}/api/comments?postId=${e}`);o.ok||console.log("[Awesome comment] Failed to preload comments.");const i=await o.json();i.data&&Ii.push(...i.data)}}});
|
|
8
|
+
`)})(),t.cache&&t.cacheLocation&&console.warn("Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`."),t.cache)s=t.cache;else{if(n=t.cacheLocation||"memory",!bi(n))throw new Error(`Invalid cache location "${n}"`);s=bi(n)()}this.httpTimeoutMs=t.httpTimeoutInSeconds?1e3*t.httpTimeoutInSeconds:1e4,this.cookieStorage=t.legacySameSiteCookie===!1?kt:Sa,this.orgHintCookieName=`auth0.${this.options.clientId}.organization_hint`,this.isAuthenticatedCookieName=(r=>`auth0.${this.options.clientId}.is.authenticated`)(),this.sessionCheckExpiryDays=t.sessionCheckExpiryDays||1;const o=t.useCookiesForTransactions?this.cookieStorage:Pa;var i;this.scope=Cn("openid",this.options.authorizationParams.scope,this.options.useRefreshTokens?"offline_access":""),this.transactionManager=new Ta(o,this.options.clientId,this.options.cookieDomain),this.nowProvider=this.options.nowProvider||fi,this.cacheManager=new Ia(s,s.allKeys?void 0:new ja(s,this.options.clientId),this.nowProvider),this.domainUrl=(i=this.options.domain,/^https?:\/\//.test(i)?i:`https://${i}`),this.tokenIssuer=((r,c)=>r?r.startsWith("https://")?r:`https://${r}/`:`${c}/`)(this.options.issuer,this.domainUrl),typeof window<"u"&&window.Worker&&this.options.useRefreshTokens&&n==="memory"&&(this.worker=new Ea)}_url(t){const n=encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client||ui)));return`${this.domainUrl}${t}&auth0Client=${n}`}_authorizeUrl(t){return this._url(`/authorize?${ks(t)}`)}async _verifyIdToken(t,n,s){const o=await this.nowProvider();return(r=>{if(!r.id_token)throw new Error("ID token is required but missing");const c=(d=>{const p=d.split("."),[m,_,v]=p;if(p.length!==3||!m||!_||!v)throw new Error("ID token could not be decoded");const S=JSON.parse(pi(_)),P={__raw:d},C={};return Object.keys(S).forEach(M=>{P[M]=S[M],Ca.includes(M)||(C[M]=S[M])}),{encoded:{header:m,payload:_,signature:v},header:JSON.parse(pi(m)),claims:P,user:C}})(r.id_token);if(!c.claims.iss)throw new Error("Issuer (iss) claim must be a string present in the ID token");if(c.claims.iss!==r.iss)throw new Error(`Issuer (iss) claim mismatch in the ID token; expected "${r.iss}", found "${c.claims.iss}"`);if(!c.user.sub)throw new Error("Subject (sub) claim must be a string present in the ID token");if(c.header.alg!=="RS256")throw new Error(`Signature algorithm of "${c.header.alg}" is not supported. Expected the ID token to be signed with "RS256".`);if(!c.claims.aud||typeof c.claims.aud!="string"&&!Array.isArray(c.claims.aud))throw new Error("Audience (aud) claim must be a string or array of strings present in the ID token");if(Array.isArray(c.claims.aud)){if(!c.claims.aud.includes(r.aud))throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${r.aud}" but was not one of "${c.claims.aud.join(", ")}"`);if(c.claims.aud.length>1){if(!c.claims.azp)throw new Error("Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values");if(c.claims.azp!==r.aud)throw new Error(`Authorized Party (azp) claim mismatch in the ID token; expected "${r.aud}", found "${c.claims.azp}"`)}}else if(c.claims.aud!==r.aud)throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${r.aud}" but found "${c.claims.aud}"`);if(r.nonce){if(!c.claims.nonce)throw new Error("Nonce (nonce) claim must be a string present in the ID token");if(c.claims.nonce!==r.nonce)throw new Error(`Nonce (nonce) claim mismatch in the ID token; expected "${r.nonce}", found "${c.claims.nonce}"`)}if(r.max_age&&!Ut(c.claims.auth_time))throw new Error("Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified");if(c.claims.exp==null||!Ut(c.claims.exp))throw new Error("Expiration Time (exp) claim must be a number present in the ID token");if(!Ut(c.claims.iat))throw new Error("Issued At (iat) claim must be a number present in the ID token");const a=r.leeway||60,l=new Date(r.now||Date.now()),f=new Date(0);if(f.setUTCSeconds(c.claims.exp+a),l>f)throw new Error(`Expiration Time (exp) claim error in the ID token; current time (${l}) is after expiration time (${f})`);if(c.claims.nbf!=null&&Ut(c.claims.nbf)){const d=new Date(0);if(d.setUTCSeconds(c.claims.nbf-a),l<d)throw new Error(`Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Current time (${l}) is before ${d}`)}if(c.claims.auth_time!=null&&Ut(c.claims.auth_time)){const d=new Date(0);if(d.setUTCSeconds(parseInt(c.claims.auth_time)+r.max_age+a),l>d)throw new Error(`Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time (${l}) is after last auth at ${d}`)}if(r.organization){const d=r.organization.trim();if(d.startsWith("org_")){const p=d;if(!c.claims.org_id)throw new Error("Organization ID (org_id) claim must be a string present in the ID token");if(p!==c.claims.org_id)throw new Error(`Organization ID (org_id) claim mismatch in the ID token; expected "${p}", found "${c.claims.org_id}"`)}else{const p=d.toLowerCase();if(!c.claims.org_name)throw new Error("Organization Name (org_name) claim must be a string present in the ID token");if(p!==c.claims.org_name)throw new Error(`Organization Name (org_name) claim mismatch in the ID token; expected "${p}", found "${c.claims.org_name}"`)}}return c})({iss:this.tokenIssuer,aud:this.options.clientId,id_token:t,nonce:n,organization:s,leeway:this.options.leeway,max_age:(i=this.options.authorizationParams.max_age,typeof i!="string"?i:parseInt(i,10)||void 0),now:o});var i}_processOrgHint(t){t?this.cookieStorage.save(this.orgHintCookieName,t,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}):this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain})}async _prepareAuthorizeUrl(t,n,s){const o=hi(vs()),i=hi(vs()),r=vs(),c=(f=>{const d=new Uint8Array(f);return(p=>{const m={"+":"-","/":"_","=":""};return p.replace(/[+/=]/g,_=>m[_])})(window.btoa(String.fromCharCode(...Array.from(d))))})(await(async f=>await Tn().subtle.digest({name:"SHA-256"},new TextEncoder().encode(f)))(r)),a=((f,d,p,m,_,v,S,P)=>Object.assign(Object.assign(Object.assign({client_id:f.clientId},f.authorizationParams),p),{scope:Cn(d,p.scope),response_type:"code",response_mode:P||"query",state:m,nonce:_,redirect_uri:S||f.authorizationParams.redirect_uri,code_challenge:v,code_challenge_method:"S256"}))(this.options,this.scope,t,o,i,c,t.redirect_uri||this.options.authorizationParams.redirect_uri||s,n?.response_mode),l=this._authorizeUrl(a);return{nonce:i,code_verifier:r,scope:a.scope,audience:a.audience||"default",redirect_uri:a.redirect_uri,state:o,url:l}}async loginWithPopup(t,n){var s;if(t=t||{},!(n=n||{}).popup&&(n.popup=(c=>{const a=window.screenX+(window.innerWidth-400)/2,l=window.screenY+(window.innerHeight-600)/2;return window.open("","auth0:authorize:popup",`left=${a},top=${l},width=400,height=600,resizable,scrollbars=yes,status=1`)})(),!n.popup))throw new Error("Unable to open a popup for loginWithPopup - window.open returned `null`");const o=await this._prepareAuthorizeUrl(t.authorizationParams||{},{response_mode:"web_message"},window.location.origin);n.popup.location.href=o.url;const i=await(c=>new Promise((a,l)=>{let f;const d=setInterval(()=>{c.popup&&c.popup.closed&&(clearInterval(d),clearTimeout(p),window.removeEventListener("message",f,!1),l(new ys(c.popup)))},1e3),p=setTimeout(()=>{clearInterval(d),l(new bs(c.popup)),window.removeEventListener("message",f,!1)},1e3*(c.timeoutInSeconds||60));f=function(m){if(m.data&&m.data.type==="authorization_response"){if(clearTimeout(p),clearInterval(d),window.removeEventListener("message",f,!1),c.popup.close(),m.data.response.error)return l(le.fromPayload(m.data.response));a(m.data.response)}},window.addEventListener("message",f)}))(Object.assign(Object.assign({},n),{timeoutInSeconds:n.timeoutInSeconds||this.options.authorizeTimeoutInSeconds||60}));if(o.state!==i.state)throw new le("state_mismatch","Invalid state");const r=((s=t.authorizationParams)===null||s===void 0?void 0:s.organization)||this.options.authorizationParams.organization;await this._requestToken({audience:o.audience,scope:o.scope,code_verifier:o.code_verifier,grant_type:"authorization_code",code:i.code,redirect_uri:o.redirect_uri},{nonceIn:o.nonce,organization:r})}async getUser(){var t;const n=await this._getIdTokenFromCache();return(t=n?.decodedToken)===null||t===void 0?void 0:t.user}async getIdTokenClaims(){var t;const n=await this._getIdTokenFromCache();return(t=n?.decodedToken)===null||t===void 0?void 0:t.claims}async loginWithRedirect(t={}){var n;const s=yi(t),{openUrl:o,fragment:i,appState:r}=s,c=Pe(s,["openUrl","fragment","appState"]),a=((n=c.authorizationParams)===null||n===void 0?void 0:n.organization)||this.options.authorizationParams.organization,l=await this._prepareAuthorizeUrl(c.authorizationParams||{}),{url:f}=l,d=Pe(l,["url"]);this.transactionManager.create(Object.assign(Object.assign(Object.assign({},d),{appState:r}),a&&{organization:a}));const p=i?`${f}#${i}`:f;o?await o(p):window.location.assign(p)}async handleRedirectCallback(t=window.location.href){const n=t.split("?").slice(1);if(n.length===0)throw new Error("There are no query params available for parsing.");const{state:s,code:o,error:i,error_description:r}=(d=>{d.indexOf("#")>-1&&(d=d.substring(0,d.indexOf("#")));const p=new URLSearchParams(d);return{state:p.get("state"),code:p.get("code")||void 0,error:p.get("error")||void 0,error_description:p.get("error_description")||void 0}})(n.join("")),c=this.transactionManager.get();if(!c)throw new le("missing_transaction","Invalid state");if(this.transactionManager.remove(),i)throw new _s(i,r||i,s,c.appState);if(!c.code_verifier||c.state&&c.state!==s)throw new le("state_mismatch","Invalid state");const a=c.organization,l=c.nonce,f=c.redirect_uri;return await this._requestToken(Object.assign({audience:c.audience,scope:c.scope,code_verifier:c.code_verifier,grant_type:"authorization_code",code:o},f?{redirect_uri:f}:{}),{nonceIn:l,organization:a}),{appState:c.appState}}async checkSession(t){if(!this.cookieStorage.get(this.isAuthenticatedCookieName)){if(!this.cookieStorage.get("auth0.is.authenticated"))return;this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove("auth0.is.authenticated")}try{await this.getTokenSilently(t)}catch{}}async getTokenSilently(t={}){var n;const s=Object.assign(Object.assign({cacheMode:"on"},t),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),t.authorizationParams),{scope:Cn(this.scope,(n=t.authorizationParams)===null||n===void 0?void 0:n.scope)})}),o=await((i,r)=>{let c=Is[r];return c||(c=i().finally(()=>{delete Is[r],c=null}),Is[r]=c),c})(()=>this._getTokenSilently(s),`${this.options.clientId}::${s.authorizationParams.audience}::${s.authorizationParams.scope}`);return t.detailedResponse?o:o?.access_token}async _getTokenSilently(t){const{cacheMode:n}=t,s=Pe(t,["cacheMode"]);if(n!=="off"){const o=await this._getEntryFromCache({scope:s.authorizationParams.scope,audience:s.authorizationParams.audience||"default",clientId:this.options.clientId});if(o)return o}if(n!=="cache-only"){if(!await(async(o,i=3)=>{for(let r=0;r<i;r++)if(await o())return!0;return!1})(()=>Ts.acquireLock("auth0.lock.getTokenSilently",5e3),10))throw new Nt;try{if(window.addEventListener("pagehide",this._releaseLockOnPageHide),n!=="off"){const l=await this._getEntryFromCache({scope:s.authorizationParams.scope,audience:s.authorizationParams.audience||"default",clientId:this.options.clientId});if(l)return l}const o=this.options.useRefreshTokens?await this._getTokenUsingRefreshToken(s):await this._getTokenFromIFrame(s),{id_token:i,access_token:r,oauthTokenScope:c,expires_in:a}=o;return Object.assign(Object.assign({id_token:i,access_token:r},c?{scope:c}:null),{expires_in:a})}finally{await Ts.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)}}}async getTokenWithPopup(t={},n={}){var s;const o=Object.assign(Object.assign({},t),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),t.authorizationParams),{scope:Cn(this.scope,(s=t.authorizationParams)===null||s===void 0?void 0:s.scope)})});return n=Object.assign(Object.assign({},ya),n),await this.loginWithPopup(o,n),(await this.cacheManager.get(new Ee({scope:o.authorizationParams.scope,audience:o.authorizationParams.audience||"default",clientId:this.options.clientId}))).access_token}async isAuthenticated(){return!!await this.getUser()}_buildLogoutUrl(t){t.clientId!==null?t.clientId=t.clientId||this.options.clientId:delete t.clientId;const n=t.logoutParams||{},{federated:s}=n,o=Pe(n,["federated"]),i=s?"&federated":"";return this._url(`/v2/logout?${ks(Object.assign({clientId:t.clientId},o))}`)+i}async logout(t={}){const n=yi(t),{openUrl:s}=n,o=Pe(n,["openUrl"]);t.clientId===null?await this.cacheManager.clear():await this.cacheManager.clear(t.clientId||this.options.clientId),this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove(this.isAuthenticatedCookieName,{cookieDomain:this.options.cookieDomain}),this.userCache.remove("@@user@@");const i=this._buildLogoutUrl(o);s?await s(i):s!==!1&&window.location.assign(i)}async _getTokenFromIFrame(t){const n=Object.assign(Object.assign({},t.authorizationParams),{prompt:"none"}),s=this.cookieStorage.get(this.orgHintCookieName);s&&!n.organization&&(n.organization=s);const{url:o,state:i,nonce:r,code_verifier:c,redirect_uri:a,scope:l,audience:f}=await this._prepareAuthorizeUrl(n,{response_mode:"web_message"},window.location.origin);try{if(window.crossOriginIsolated)throw new le("login_required","The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.");const d=t.timeoutInSeconds||this.options.authorizeTimeoutInSeconds,p=await((_,v,S=60)=>new Promise((P,C)=>{const M=window.document.createElement("iframe");M.setAttribute("width","0"),M.setAttribute("height","0"),M.style.display="none";const A=()=>{window.document.body.contains(M)&&(window.document.body.removeChild(M),window.removeEventListener("message",Z,!1))};let Z;const _e=setTimeout(()=>{C(new Nt),A()},1e3*S);Z=function(ne){if(ne.origin!=v||!ne.data||ne.data.type!=="authorization_response")return;const K=ne.source;K&&K.close(),ne.data.response.error?C(le.fromPayload(ne.data.response)):P(ne.data.response),clearTimeout(_e),window.removeEventListener("message",Z,!1),setTimeout(A,2e3)},window.addEventListener("message",Z,!1),window.document.body.appendChild(M),M.setAttribute("src",_)}))(o,this.domainUrl,d);if(i!==p.state)throw new le("state_mismatch","Invalid state");const m=await this._requestToken(Object.assign(Object.assign({},t.authorizationParams),{code_verifier:c,code:p.code,grant_type:"authorization_code",redirect_uri:a,timeout:t.authorizationParams.timeout||this.httpTimeoutMs}),{nonceIn:r,organization:n.organization});return Object.assign(Object.assign({},m),{scope:l,oauthTokenScope:m.scope,audience:f})}catch(d){throw d.error==="login_required"&&this.logout({openUrl:!1}),d}}async _getTokenUsingRefreshToken(t){const n=await this.cacheManager.get(new Ee({scope:t.authorizationParams.scope,audience:t.authorizationParams.audience||"default",clientId:this.options.clientId}));if(!(n&&n.refresh_token||this.worker)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(t);throw new In(t.authorizationParams.audience||"default",t.authorizationParams.scope)}const s=t.authorizationParams.redirect_uri||this.options.authorizationParams.redirect_uri||window.location.origin,o=typeof t.timeoutInSeconds=="number"?1e3*t.timeoutInSeconds:null;try{const i=await this._requestToken(Object.assign(Object.assign(Object.assign({},t.authorizationParams),{grant_type:"refresh_token",refresh_token:n&&n.refresh_token,redirect_uri:s}),o&&{timeout:o}));return Object.assign(Object.assign({},i),{scope:t.authorizationParams.scope,oauthTokenScope:i.scope,audience:t.authorizationParams.audience||"default"})}catch(i){if((i.message.indexOf("Missing Refresh Token")>-1||i.message&&i.message.indexOf("invalid refresh token")>-1)&&this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(t);throw i}}async _saveEntryInCache(t){const{id_token:n,decodedToken:s}=t,o=Pe(t,["id_token","decodedToken"]);this.userCache.set("@@user@@",{id_token:n,decodedToken:s}),await this.cacheManager.setIdToken(this.options.clientId,t.id_token,t.decodedToken),await this.cacheManager.set(o)}async _getIdTokenFromCache(){const t=this.options.authorizationParams.audience||"default",n=await this.cacheManager.getIdToken(new Ee({clientId:this.options.clientId,audience:t,scope:this.scope})),s=this.userCache.get("@@user@@");return n&&n.id_token===s?.id_token?s:(this.userCache.set("@@user@@",n),n)}async _getEntryFromCache({scope:t,audience:n,clientId:s}){const o=await this.cacheManager.get(new Ee({scope:t,audience:n,clientId:s}),60);if(o&&o.access_token){const{access_token:i,oauthTokenScope:r,expires_in:c}=o,a=await this._getIdTokenFromCache();return a&&Object.assign(Object.assign({id_token:a.id_token,access_token:i},r?{scope:r}:null),{expires_in:c})}}async _requestToken(t,n){const{nonceIn:s,organization:o}=n||{},i=await ka(Object.assign({baseUrl:this.domainUrl,client_id:this.options.clientId,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs},t),this.worker),r=await this._verifyIdToken(i.id_token,s,o);return await this._saveEntryInCache(Object.assign(Object.assign(Object.assign(Object.assign({},i),{decodedToken:r,scope:t.scope,audience:t.audience||"default"}),i.scope?{oauthTokenScope:i.scope}:null),{client_id:this.options.clientId})),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgHint(o||r.claims.org_id),Object.assign(Object.assign({},i),{decodedToken:r})}}function $t(e){e?.redirect_uri&&(console.warn("Using `redirect_uri` has been deprecated, please use `authorizationParams.redirect_uri` instead as `redirectUri` will be no longer supported in a future version"),e.authorizationParams=e.authorizationParams||{},e.authorizationParams.redirect_uri=e.redirect_uri,delete e.redirect_uri)}const rt=()=>{console.error("Please ensure Auth0's Vue plugin is correctly installed.")},La={isLoading:q(!1),isAuthenticated:q(!1),user:q(void 0),idTokenClaims:q(void 0),error:q(null),loginWithPopup:rt,loginWithRedirect:rt,getAccessTokenSilently:rt,getAccessTokenWithPopup:rt,logout:rt,checkSession:rt,handleRedirectCallback:rt},Ma=q(La);class Fa{constructor(t,n){var s,o;this.clientOptions=t,this.pluginOptions=n,this.isLoading=q(!0),this.isAuthenticated=q(!1),this.user=q({}),this.idTokenClaims=q(),this.error=q(null),s=this,o=["constructor"],Object.getOwnPropertyNames(Object.getPrototypeOf(s)).filter(i=>!o.includes(i)).forEach(i=>s[i]=s[i].bind(s))}install(t){this._client=new Ra(Object.assign(Object.assign({},this.clientOptions),{auth0Client:{name:"auth0-vue",version:"2.3.1"}})),this.__checkSession(t.config.globalProperties.$router),t.config.globalProperties.$auth0=this,t.provide(li,this),Ma.value=this}async loginWithRedirect(t){return $t(t),this._client.loginWithRedirect(t)}async loginWithPopup(t,n){return $t(t),this.__proxy(()=>this._client.loginWithPopup(t,n))}async logout(t){return t?.openUrl||t?.openUrl===!1?this.__proxy(()=>this._client.logout(t)):this._client.logout(t)}async getAccessTokenSilently(t={}){return $t(t),this.__proxy(()=>this._client.getTokenSilently(t))}async getAccessTokenWithPopup(t,n){return $t(t),this.__proxy(()=>this._client.getTokenWithPopup(t,n))}async checkSession(t){return this.__proxy(()=>this._client.checkSession(t))}async handleRedirectCallback(t){return this.__proxy(()=>this._client.handleRedirectCallback(t))}async __checkSession(t){var n,s,o;const i=window.location.search;try{if((i.includes("code=")||i.includes("error="))&&i.includes("state=")&&!(!((n=this.pluginOptions)===null||n===void 0)&&n.skipRedirectCallback)){const r=await this.handleRedirectCallback(),c=r?.appState,a=(s=c?.target)!==null&&s!==void 0?s:"/";return window.history.replaceState({},"","/"),t&&t.push(a),r}await this.checkSession()}catch{window.history.replaceState({},"","/"),t&&t.push(((o=this.pluginOptions)===null||o===void 0?void 0:o.errorPath)||"/")}}async __refreshState(){this.isAuthenticated.value=await this._client.isAuthenticated(),this.user.value=await this._client.getUser(),this.idTokenClaims.value=await this._client.getIdTokenClaims(),this.isLoading.value=!1}async __proxy(t,n=!0){let s;try{s=await t(),this.error.value=null}catch(o){throw this.error.value=o,o}finally{n&&await this.__refreshState()}return s}}function wi(e,t){return $t(e),new Fa(e,t)}function vi(){return ve(li)}const Rl="",Ll="",Ml="";var Cs=(e=>(e[e.Pending=0]="Pending",e[e.Approved=1]="Approved",e[e.Rejected=2]="Rejected",e))(Cs||{});const Os=_a("store",()=>{const e=ve("postId"),t=ve("comments"),n=q(!!t?.length),s=q(0),o=q(""),i=q(f(t||[])),r=q(0),c=ve("ApiBaseUrl"),a=q(!1),l=q(!1);function f(m){return m.map(_=>{const{user:v,created_at:S,...P}=_;return{...P,status:Number(_.status),createdAt:new Date(S),user:JSON.parse(_.user)}})}async function d(){o.value="",a.value=!0;const m=new URLSearchParams;m.append("postId",e),m.append("start",s.value.toString());const _=await fetch(`${c}/api/comments?${m}`);if(!_.ok){o.value="Load comments failed. "+_.statusText,n.value=!0,a.value=!1;return}const v=await _.json();if(v.code!==0){o.value="Load comments failed. "+v.message,n.value=!0,a.value=!1;return}i.value.push(...f(v.data||[]));const S=v.data?.length||0;return l.value=S>=20,r.value+=S,n.value=!0,a.value=!1,v}function p(m,_,v){const{sub:S="",name:P="",picture:C="",email:M="",nickname:A=""}=v;i.value.unshift({id:m,postId:e,content:_,ancestorId:-1,parentId:-1,createdAt:new Date,user:{avatar:C,email:M,name:A||P},userId:S,status:Cs.Pending,isNew:!0}),r.value++}return{isLoaded:n,message:o,postId:e,comments:i,total:r,start:s,hasMore:l,loadingMore:a,loadComments:d,addComment:p}}),Ka=["onSubmit"],za={class:"ac-form-control border border-neutral bg-base-200 rounded-lg"},Na=J("label",{class:"sr-only",for:"ac-comment"},"Your comment",-1),Ua=["onKeydown"],$a={class:"p-2 rounded-b-lg bg-base-300 flex items-center"},Da={class:"text-xs text-neutral-400/40"},Wa={key:0,class:"ac-alert ac-alert-error mx-4"},Ha=["disabled"],Za={key:0,class:"ac-loading ac-loading-spinner"},Va=qn({...{name:"CommentForm"},setup(e){const t=vi(),n=Os(),s=ve("ApiBaseUrl"),o=ve("Auth0Domain"),i="0.2.4",r=q(!1),c=q(""),a=q("");async function l(p){if(!t.user.value)return f();if(!p.target.matches(":invalid")){r.value=!0,a.value="";try{const m=await t.getAccessTokenSilently(),_=await fetch(s+"/api/comment",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${m}`},body:JSON.stringify({comment:c.value,postId:n.postId,domain:o})});if(!_.ok)throw new Error("Failed to post comment");const v=await _.json();n.addComment(v.data,c.value,t.user.value),c.value=""}catch(m){a.value=m.message||String(m)}r.value=!1}}function f(){t.loginWithPopup()}function d(p){const m=navigator.userAgent.match(/Macintosh/);(m&&p.metaKey||!m&&p.ctrlKey)&&l(p)}return(p,m)=>(G(),te("form",{class:"mb-6",onSubmit:sa(l,["prevent"])},[J("div",za,[Na,Ur(J("textarea",{class:"ac-textarea ac-textarea-bordered bg-base-200 rounded-b-none focus:outline-none",id:"ac-comment",rows:"3",placeholder:"Write a comment...",required:"",onKeydown:ia(d,["enter"]),"onUpdate:modelValue":m[0]||(m[0]=_=>c.value=_)},null,40,Ua),[[ea,c.value]]),J("div",$a,[J("div",Da,"v"+Le(B(i)),1),a.value?(G(),te("div",Wa,[J("p",null,Le(a.value),1)])):tt("",!0),J("button",{class:"ac-btn ac-btn-primary ac-btn-sm ml-auto",disabled:r.value},[r.value?(G(),te("span",Za)):tt("",!0),vn("Post comment")],8,Ha)])])],40,Ka))}});var Xa={"":["<em>","</em>"],_:["<strong>","</strong>"],"*":["<strong>","</strong>"],"~":["<s>","</s>"],"\n":["<br />"]," ":["<br />"],"-":["<hr />"]};function ki(e){return e.replace(RegExp("^"+(e.match(/^(\t| )+/)||"")[0],"gm"),"")}function Dt(e){return(e+"").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function Ss(e,t){var n,s,o,i,r,c=/((?:^|\n+)(?:\n---+|\* \*(?: \*)+)\n)|(?:^``` *(\w*)\n([\s\S]*?)\n```$)|((?:(?:^|\n+)(?:\t| {2,}).+)+\n*)|((?:(?:^|\n)([>*+-]|\d+\.)\s+.*)+)|(?:!\[([^\]]*?)\]\(([^)]+?)\))|(\[)|(\](?:\(([^)]+?)\))?)|(?:(?:^|\n+)([^\s].*)\n(-{3,}|={3,})(?:\n+|$))|(?:(?:^|\n+)(#{1,6})\s*(.+)(?:\n+|$))|(?:`([^`].*?)`)|( \n\n*|\n{2,}|__|\*\*|[_*]|~~)/gm,a=[],l="",f=t||{},d=0;function p(_){var v=Xa[_[1]||""],S=a[a.length-1]==_;return v?v[1]?(S?a.pop():a.push(_),v[0|S]):v[0]:_}function m(){for(var _="";a.length;)_+=p(a[a.length-1]);return _}for(e=e.replace(/^\[(.+?)\]:\s*(.+)$/gm,function(_,v,S){return f[v.toLowerCase()]=S,""}).replace(/^\n+|\n+$/g,"");o=c.exec(e);)s=e.substring(d,o.index),d=c.lastIndex,n=o[0],s.match(/[^\\](\\\\)*\\$/)||((r=o[3]||o[4])?n='<pre class="code '+(o[4]?"poetry":o[2].toLowerCase())+'"><code'+(o[2]?' class="language-'+o[2].toLowerCase()+'"':"")+">"+ki(Dt(r).replace(/^\n+|\n+$/g,""))+"</code></pre>":(r=o[6])?(r.match(/\./)&&(o[5]=o[5].replace(/^\d+/gm,"")),i=Ss(ki(o[5].replace(/^\s*[>*+.-]/gm,""))),r==">"?r="blockquote":(r=r.match(/\./)?"ol":"ul",i=i.replace(/^(.*)(\n|$)/gm,"<li>$1</li>")),n="<"+r+">"+i+"</"+r+">"):o[8]?n='<img src="'+Dt(o[8])+'" alt="'+Dt(o[7])+'">':o[10]?(l=l.replace("<a>",'<a href="'+Dt(o[11]||f[s.toLowerCase()])+'">'),n=m()+"</a>"):o[9]?n="<a>":o[12]||o[14]?n="<"+(r="h"+(o[14]?o[14].length:o[13]>"="?1:2))+">"+Ss(o[12]||o[15],f)+"</"+r+">":o[16]?n="<code>"+Dt(o[16])+"</code>":(o[17]||o[1])&&(n=p(o[17]||"--"))),l+=s,l+=n;return(l+e.substring(d)+m()).replace(/^\n+|\n+$/g,"")}function On(e){return e<10?`0${e}`:`${e}`}function xi(e){const t=e.getFullYear(),n=e.getMonth()+1,s=e.getDate();return`${t}-${On(n)}-${On(s)}`}function Ba(e){const t=new Date,n=xi(e);if(xi(t)===n){const s=e.getHours(),o=e.getMinutes();return`${On(s)}:${On(o)}`}return n}function Ja(e){let t=0;for(let s=0;s<e.length;s++)t=e.charCodeAt(s)+((t<<5)-t);let n="#";for(let s=0;s<3;s++){const o=t>>s*8&255;n+=("00"+o.toString(16)).slice(-2)}return n}const Ya={key:0,class:"comments-wrapper"},qa=["onAnimationend"],Ga={class:"flex justify-between items-center mb-2"},Qa={class:"flex items-center text-sm text-base-content dark:text-white"},el={class:"avatar mr-2"},tl=["src","alt"],nl={class:"text-neutral-content mix-blend-color-dodge uppercase font-bold leading-6"},sl=["datetime","title"],ol=["innerHTML"],il={key:0,class:"italic mt-4 text-gray-500 mb-0 text-sm dark:text-gray-400"},rl=["disabled"],cl={key:0,class:"ac-loading ac-loading-xs ac-loading-spinner"},al={key:1,class:"pt-8 text-center"},ll=[J("span",{class:"ac-loading ac-loading-spinner"},null,-1)],ul=qn({...{name:"CommentSections"},setup(e){const t=Os();t.loadComments();function n(){t.start+=20,t.loadComments()}return(s,o)=>B(t).isLoaded?(G(),te("div",Ya,[(G(!0),te(ke,null,ec(B(t).comments,i=>(G(),te("article",{class:Gt(["p-6 text-base bg-base-200 rounded-lg mb-4 dark:bg-gray-900",{"animated flash":i.isNew}]),key:i.id,onAnimationend:r=>i.isNew=!1},[J("header",Ga,[J("div",Qa,[J("div",el,[i.user.avatar?(G(),te("img",{key:0,class:"w-6 h-6 rounded-full",src:i.user.avatar,alt:i.user.name},null,8,tl)):(G(),te("div",{key:1,class:"avatar-char rounded-full w-6 h-6 mr-2 text-center",style:qt({"background-color":B(Ja)(i.user.name||"Anonymous")})},[J("span",nl,Le((i.user.name||"Anonymous").substring(0,1)),1)],4))]),vn(Le(i.user.name),1),J("time",{class:"text-xs text-gray-600 ml-4 dark:text-gray-400",pubdate:"",datetime:i.createdAt,title:i.createdAt},Le(B(Ba)(i.createdAt)),9,sl)])]),J("p",{class:"text-gray-500 dark:text-gray-400",innerHTML:B(Ss)(i.content)},null,8,ol),i.status===B(Cs).Pending?(G(),te("p",il,"comments normally got approved within 24 hours")):tt("",!0)],42,qa))),128)),B(t).hasMore?(G(),te("button",{key:0,class:"ac-btn ac-btn-neutral ac-btn-sm ac-btn-block",type:"button",onClick:n,disabled:B(t).loadingMore},[B(t).loadingMore?(G(),te("span",cl)):tt("",!0),vn("Load More")],8,rl)):tt("",!0)])):(G(),te("div",al,ll))}}),fl={class:"awesome-comment"},dl={key:0,class:"ac-alert ac-alert-error mb-4"},hl={class:"flex justify-between items-center py-2"},pl={class:"text-lg font-bold text-base-content my-0"},ml={key:0,class:"ac-loading ac-loading-spinner"},gl={key:1,class:"ac-dropdown ac-dropdown-end"},_l={key:0,class:"ac-avatar flex",tabindex:"0"},bl={class:"w-6 h-6 rounded-full"},yl=["alt","src"],wl={key:1,class:"ac-btn ac-btn-ghost",tabindex:"0"},vl={class:"ac-dropdown-content z-10 ac-menu p-2 shadow bg-base-100 rounded-box w-52",tabindex:"0"},kl={key:0,class:"border-b border-neutral pb-2 mb-2 pointer-events-none"},xl={class:"text-base-content"},Il=["disabled"],Tl=["disabled"],Cl=qn({__name:"App",setup(e){const t=Os(),{isAuthenticated:n,isLoading:s,user:o,loginWithPopup:i,logout:r}=vi(),c=ls(()=>{const f=t.total>20||t.total===20&&t.hasMore?"20+":t.total,d=new CustomEvent("AwesomeComment:total",{bubbles:!0,cancelable:!0,detail:f});return document.body.dispatchEvent(d),f});function a(){i()}function l(){r({openUrl:!1})}return(f,d)=>(G(),te("div",fl,[B(t).message?(G(),te("div",dl,[J("p",null,Le(B(t).message),1)])):tt("",!0),J("header",hl,[J("h2",pl,"Discussion ("+Le(c.value)+")",1),B(s)?(G(),te("span",ml)):(G(),te("div",gl,[B(n)&&B(o)?(G(),te(ke,{key:0},[B(o).picture?(G(),te("label",_l,[J("div",bl,[J("img",{class:"w-full h-full block",alt:B(o).name||B(o).email,src:B(o).picture},null,8,yl)])])):(G(),te("label",wl,Le(B(o).email),1)),J("ul",vl,[B(o).picture?(G(),te("li",kl,[J("span",xl,Le(B(o).email),1)])):tt("",!0),J("li",null,[J("button",{class:"border-0 bg-base-100",type:"button",disabled:B(s),onClick:l},"Logout",8,Il)])])],64)):(G(),te("button",{key:1,class:"ac-btn ac-btn-secondary ac-btn-xs",type:"button",disabled:B(s),onClick:a},"Login",8,Tl))]))]),Ie(Va),Ie(ul)]))}}),Ii=[];let Ti=null;function Ol(e,t){const n=aa(Cl),s=fa(),o=Ti||wi({domain:e,clientId:t,authorizationParams:{redirect_uri:location.origin}});return n.use(o),n.use(s),n}return{postId:"",apiUrl:"",domain:"",clientId:"",init(e,t,n,s,o){t??=this.postId,n??=this.apiUrl,s??=this.domain,o??=this.clientId;const i=Ol(s,o);i.provide("ApiBaseUrl",n),i.provide("postId",t),i.provide("Auth0Domain",s),i.provide("comments",Ii),i.mount(e)},async preload(e,t,n,s){this.postId=e,this.apiUrl=t,this.domain=n,this.clientId=s,Ti=wi({domain:n,clientId:s,authorizationParams:{redirect_uri:window.location.origin}});const o=await fetch(`${t}/api/comments?postId=${e}`);o.ok||console.log("[Awesome comment] Failed to preload comments.");const i=await o.json();i.data&&Ii.push(...i.data)}}});
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.awesome-comment{--pf:258.89 94.378% 40.941%;--sf:314 100% 37.647%;--af:174 60% 40.784%;--nf:219 14.085% 22.275%;--in:198 93% 60%;--su:158 64% 52%;--wa:43 96% 56%;--er:0 91% 71%;--inc:198 100% 12%;--suc:158 100% 10%;--wac:43 100% 11%;--erc:0 100% 14%;--rounded-box:1rem;--rounded-btn:.5rem;--rounded-badge:1.9rem;--animation-btn:.25s;--animation-input:.2s;--btn-text-case:uppercase;--btn-focus-scale:.95;--border-btn:1px;--tab-border:1px;--tab-radius:.5rem;--p:258.89 94.378% 51.176%;--pc:0 0% 100%;--s:314 100% 47.059%;--sc:0 0% 100%;--a:174 60% 50.98%;--ac:174.71 43.59% 15.294%;--n:219 14.085% 27.843%;--nc:0 0% 100%;--b1:0 0% 100%;--b2:0 0% 94.902%;--b3:180 1.9608% 90%;--bc:215 27.907% 16.863%;color-scheme:light}@media (prefers-color-scheme:dark){.awesome-comment{--pf:262.35 80.315% 40.157%;--sf:315.75 70.196% 40%;--af:174.69 70.335% 32.784%;--in:198 93% 60%;--su:158 64% 52%;--wa:43 96% 56%;--er:0 91% 71%;--inc:198 100% 12%;--suc:158 100% 10%;--wac:43 100% 11%;--erc:0 100% 14%;--rounded-box:1rem;--rounded-btn:.5rem;--rounded-badge:1.9rem;--animation-btn:.25s;--animation-input:.2s;--btn-text-case:uppercase;--btn-focus-scale:.95;--border-btn:1px;--tab-border:1px;--tab-radius:.5rem;--p:262.35 80.315% 50.196%;--pc:0 0% 100%;--s:315.75 70.196% 50%;--sc:0 0% 100%;--a:174.69 70.335% 40.98%;--ac:0 0% 100%;--n:218.18 18.033% 11.961%;--nf:222.86 17.073% 8.0392%;--nc:220 13.376% 69.216%;--b1:220 17.647% 20%;--b2:220 17.241% 17.059%;--b3:218.57 17.949% 15.294%;--bc:220 13.376% 69.216%;color-scheme:dark}}[data-theme=light] .awesome-comment{--pf:258.89 94.378% 40.941%;--sf:314 100% 37.647%;--af:174 60% 40.784%;--nf:219 14.085% 22.275%;--in:198 93% 60%;--su:158 64% 52%;--wa:43 96% 56%;--er:0 91% 71%;--inc:198 100% 12%;--suc:158 100% 10%;--wac:43 100% 11%;--erc:0 100% 14%;--rounded-box:1rem;--rounded-btn:.5rem;--rounded-badge:1.9rem;--animation-btn:.25s;--animation-input:.2s;--btn-text-case:uppercase;--btn-focus-scale:.95;--border-btn:1px;--tab-border:1px;--tab-radius:.5rem;--p:258.89 94.378% 51.176%;--pc:0 0% 100%;--s:314 100% 47.059%;--sc:0 0% 100%;--a:174 60% 50.98%;--ac:174.71 43.59% 15.294%;--n:219 14.085% 27.843%;--nc:0 0% 100%;--b1:0 0% 100%;--b2:0 0% 94.902%;--b3:180 1.9608% 90%;--bc:215 27.907% 16.863%;color-scheme:light}[data-theme=dark]{--pf:262.35 80.315% 40.157%;--sf:315.75 70.196% 40%;--af:174.69 70.335% 32.784%;--in:198 93% 60%;--su:158 64% 52%;--wa:43 96% 56%;--er:0 91% 71%;--inc:198 100% 12%;--suc:158 100% 10%;--wac:43 100% 11%;--erc:0 100% 14%;--rounded-box:1rem;--rounded-btn:.5rem;--rounded-badge:1.9rem;--animation-btn:.25s;--animation-input:.2s;--btn-text-case:uppercase;--btn-focus-scale:.95;--border-btn:1px;--tab-border:1px;--tab-radius:.5rem;--p:262.35 80.315% 50.196%;--pc:0 0% 100%;--s:315.75 70.196% 50%;--sc:0 0% 100%;--a:174.69 70.335% 40.98%;--ac:0 0% 100%;--n:218.18 18.033% 11.961%;--nf:222.86 17.073% 8.0392%;--nc:220 13.376% 69.216%;--b1:220 17.647% 20%;--b2:220 17.241% 17.059%;--b3:218.57 17.949% 15.294%;--bc:220 13.376% 69.216%;color-scheme:dark}.ac-alert{--tw-border-opacity:1;--tw-text-opacity:1;--alert-bg:hsl(var(--b2));--alert-bg-mix:hsl(var(--b1));align-content:flex-start;align-items:center;background-color:var(--alert-bg);border-color:hsl(var(--b2)/var(--tw-border-opacity));border-radius:var(--rounded-box,1rem);border-width:1px;color:hsl(var(--bc)/var(--tw-text-opacity));display:grid;gap:1rem;grid-auto-flow:row;justify-items:center;padding:1rem;text-align:center;width:100%}@media (min-width:640px){.ac-alert{grid-auto-flow:column;grid-template-columns:auto minmax(auto,1fr);justify-items:start;text-align:left}}.ac-avatar{display:inline-flex;position:relative}.ac-avatar>div{aspect-ratio:1/1;display:block;overflow:hidden}.ac-avatar img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.ac-avatar.ac-placeholder>div{align-items:center;display:flex;justify-content:center}@media (hover:hover){.ac-menu li>:not(ul):not(.ac-menu-title):not(details).ac-active,.ac-menu li>:not(ul):not(.ac-menu-title):not(details):active,.ac-menu li>details>summary:active{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--n)/var(--tw-bg-opacity));color:hsl(var(--nc)/var(--tw-text-opacity))}}.ac-btn{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;animation:button-pop var(--animation-btn,.25s) ease-out;background-color:hsl(var(--b2)/var(--tw-bg-opacity));border-color:transparent;border-color:hsl(var(--b2)/var(--tw-border-opacity));border-radius:var(--rounded-btn,.5rem);border-width:var(--border-btn,1px);color:hsl(var(--bc)/var(--tw-text-opacity));cursor:pointer;display:inline-flex;flex-shrink:0;flex-wrap:wrap;font-size:.875rem;font-weight:600;gap:.5rem;height:3rem;justify-content:center;line-height:1.25rem;line-height:1em;min-height:3rem;outline-color:hsl(var(--bc)/1);padding-left:1rem;padding-right:1rem;text-align:center;text-decoration-line:none;text-transform:var(--btn-text-case,uppercase);transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.ac-btn-disabled,.ac-btn:disabled,.ac-btn[disabled]{pointer-events:none}.ac-btn-group>input[type=radio].ac-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none}.ac-btn-group>input[type=radio].ac-btn:before{content:attr(data-title)}.ac-btn:is(input[type=checkbox]),.ac-btn:is(input[type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none;width:auto}.ac-btn:is(input[type=checkbox]):after,.ac-btn:is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.ac-dropdown{display:inline-block;position:relative}.ac-dropdown>:focus{outline:2px solid transparent;outline-offset:2px}.ac-dropdown .ac-dropdown-content{position:absolute}.ac-dropdown:is(:not(details)) .ac-dropdown-content{--tw-scale-x:.95;--tw-scale-y:.95;opacity:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform-origin:top;transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);visibility:hidden}.ac-dropdown-end .ac-dropdown-content{right:0}.ac-dropdown-left .ac-dropdown-content{bottom:auto;right:100%;top:0;transform-origin:right}.ac-dropdown-right .ac-dropdown-content{bottom:auto;left:100%;top:0;transform-origin:left}.ac-dropdown-bottom .ac-dropdown-content{bottom:auto;top:100%;transform-origin:top}.ac-dropdown-top .ac-dropdown-content{bottom:100%;top:auto;transform-origin:bottom}.ac-dropdown-end.ac-dropdown-left .ac-dropdown-content,.ac-dropdown-end.ac-dropdown-right .ac-dropdown-content{bottom:0;top:auto}.ac-dropdown.ac-dropdown-open .ac-dropdown-content,.ac-dropdown:focus-within .ac-dropdown-content,.ac-dropdown:not(.ac-dropdown-hover):focus .ac-dropdown-content{opacity:1;visibility:visible}@media (hover:hover){.ac-dropdown.ac-dropdown-hover:hover .ac-dropdown-content{opacity:1;visibility:visible}.ac-btn:hover{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:hsl(var(--b3)/var(--tw-bg-opacity));border-color:hsl(var(--b3)/var(--tw-border-opacity))}.ac-btn-primary:hover{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:hsl(var(--pf)/var(--tw-bg-opacity));border-color:hsl(var(--pf)/var(--tw-border-opacity))}.ac-btn-secondary:hover{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:hsl(var(--sf)/var(--tw-bg-opacity));border-color:hsl(var(--sf)/var(--tw-border-opacity))}.ac-btn-neutral:hover{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:hsl(var(--nf)/var(--tw-bg-opacity));border-color:hsl(var(--nf)/var(--tw-border-opacity))}.ac-btn.ac-glass:hover{--glass-opacity:25%;--glass-border-opacity:15%}.ac-btn-ghost:hover{--tw-border-opacity:0;--tw-bg-opacity:.2;background-color:hsl(var(--bc)/var(--tw-bg-opacity))}.ac-btn-outline.ac-btn-primary:hover{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--pf)/var(--tw-bg-opacity));border-color:hsl(var(--pf)/var(--tw-border-opacity));color:hsl(var(--pc)/var(--tw-text-opacity))}.ac-btn-outline.ac-btn-secondary:hover{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--sf)/var(--tw-bg-opacity));border-color:hsl(var(--sf)/var(--tw-border-opacity));color:hsl(var(--sc)/var(--tw-text-opacity))}.ac-btn-disabled:hover,.ac-btn:disabled:hover,.ac-btn[disabled]:hover{--tw-border-opacity:0;--tw-bg-opacity:.2;--tw-text-opacity:.2;background-color:hsl(var(--n)/var(--tw-bg-opacity));color:hsl(var(--bc)/var(--tw-text-opacity))}.ac-btn:is(input[type=checkbox]:checked):hover,.ac-btn:is(input[type=radio]:checked):hover{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:hsl(var(--pf)/var(--tw-bg-opacity));border-color:hsl(var(--pf)/var(--tw-border-opacity))}.ac-dropdown.ac-dropdown-hover:hover .ac-dropdown-content{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:where(.ac-menu li:not(.ac-menu-title):not(.ac-disabled)>:not(ul):not(details):not(.ac-menu-title)):not(.ac-active):hover,:where(.ac-menu li:not(.ac-menu-title):not(.ac-disabled)>details>summary:not(.ac-menu-title)):not(.ac-active):hover{--tw-text-opacity:1;background-color:hsl(var(--bc)/.1);color:hsl(var(--bc)/var(--tw-text-opacity));cursor:pointer;outline:2px solid transparent;outline-offset:2px}}.ac-dropdown:is(details) summary::-webkit-details-marker{display:none}.ac-form-control{display:flex;flex-direction:column}.ac-input-group>*,.ac-input-group>.ac-input,.ac-input-group>.ac-select,.ac-input-group>.ac-textarea{border-radius:0}.ac-menu{display:flex;flex-direction:column;flex-wrap:wrap;font-size:.875rem;line-height:1.25rem;padding:.5rem}.ac-menu :where(li ul){margin-left:1rem;padding-left:.5rem;position:relative;white-space:nowrap}.ac-menu :where(li:not(.ac-menu-title)>:not(ul):not(details):not(.ac-menu-title)),.ac-menu :where(li:not(.ac-menu-title)>details>summary:not(.ac-menu-title)){align-content:flex-start;align-items:center;display:grid;gap:.5rem;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ac-menu li.ac-disabled{color:hsl(var(--bc)/.3);cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ac-menu :where(li>.ac-menu-dropdown:not(.ac-menu-dropdown-show)){display:none}:where(.ac-menu li){align-items:stretch;display:flex;flex-direction:column;flex-shrink:0;flex-wrap:wrap;position:relative}:where(.ac-menu li) .ac-badge{justify-self:end}.ac-textarea{--tw-border-opacity:0;--tw-bg-opacity:1;background-color:hsl(var(--b1)/var(--tw-bg-opacity));border-color:hsl(var(--bc)/var(--tw-border-opacity));border-radius:var(--rounded-btn,.5rem);border-width:1px;flex-shrink:1;font-size:.875rem;line-height:1.25rem;line-height:2;min-height:3rem;padding:.5rem 1rem}.ac-alert-error{--tw-text-opacity:1;--alert-bg:hsl(var(--er));--alert-bg-mix:hsl(var(--b1));border-color:hsl(var(--er)/.2);color:hsl(var(--erc)/var(--tw-text-opacity))}.ac-avatar-group :where(.ac-avatar){--tw-border-opacity:1;border-color:hsl(var(--b1)/var(--tw-border-opacity));border-radius:9999px;border-width:4px;overflow:hidden}.ac-btn:active:focus,.ac-btn:active:hover{animation:button-pop 0s ease-out;transform:scale(var(--btn-focus-scale,.97))}.ac-btn:focus-visible{outline-offset:2px;outline-style:solid;outline-width:2px}.ac-btn-primary{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--p)/var(--tw-bg-opacity));border-color:hsl(var(--p)/var(--tw-border-opacity));color:hsl(var(--pc)/var(--tw-text-opacity));outline-color:hsl(var(--p)/1)}.ac-btn-primary.ac-btn-active{background-color:hsl(var(--pf)/var(--tw-bg-opacity));border-color:hsl(var(--pf)/var(--tw-border-opacity))}.ac-btn-primary.ac-btn-active,.ac-btn-secondary{--tw-border-opacity:1;--tw-bg-opacity:1}.ac-btn-secondary{--tw-text-opacity:1;background-color:hsl(var(--s)/var(--tw-bg-opacity));border-color:hsl(var(--s)/var(--tw-border-opacity));color:hsl(var(--sc)/var(--tw-text-opacity));outline-color:hsl(var(--s)/1)}.ac-btn-secondary.ac-btn-active{background-color:hsl(var(--sf)/var(--tw-bg-opacity));border-color:hsl(var(--sf)/var(--tw-border-opacity))}.ac-btn-neutral,.ac-btn-secondary.ac-btn-active{--tw-border-opacity:1;--tw-bg-opacity:1}.ac-btn-neutral{--tw-text-opacity:1;background-color:hsl(var(--n)/var(--tw-bg-opacity));border-color:hsl(var(--n)/var(--tw-border-opacity));color:hsl(var(--nc)/var(--tw-text-opacity));outline-color:hsl(var(--n)/1)}.ac-btn-neutral.ac-btn-active{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:hsl(var(--nf)/var(--tw-bg-opacity));border-color:hsl(var(--nf)/var(--tw-border-opacity))}.ac-btn.ac-glass{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);outline-color:currentColor}.ac-btn.ac-glass.ac-btn-active{--glass-opacity:25%;--glass-border-opacity:15%}.ac-btn-ghost{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;background-color:transparent;border-color:transparent;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:currentColor;outline-color:currentColor}.ac-btn-ghost.ac-btn-active{--tw-border-opacity:0;--tw-bg-opacity:.2;background-color:hsl(var(--bc)/var(--tw-bg-opacity))}.ac-btn-outline.ac-btn-primary{--tw-text-opacity:1;color:hsl(var(--p)/var(--tw-text-opacity))}.ac-btn-outline.ac-btn-primary.ac-btn-active{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--pf)/var(--tw-bg-opacity));border-color:hsl(var(--pf)/var(--tw-border-opacity));color:hsl(var(--pc)/var(--tw-text-opacity))}.ac-btn-outline.ac-btn-secondary{--tw-text-opacity:1;color:hsl(var(--s)/var(--tw-text-opacity))}.ac-btn-outline.ac-btn-secondary.ac-btn-active{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--sf)/var(--tw-bg-opacity));border-color:hsl(var(--sf)/var(--tw-border-opacity));color:hsl(var(--sc)/var(--tw-text-opacity))}.ac-btn.ac-btn-disabled,.ac-btn:disabled,.ac-btn[disabled]{--tw-border-opacity:0;--tw-bg-opacity:.2;--tw-text-opacity:.2;background-color:hsl(var(--n)/var(--tw-bg-opacity));color:hsl(var(--bc)/var(--tw-text-opacity))}.ac-btn-group>.ac-btn-active,.ac-btn-group>input[type=radio]:checked.ac-btn{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--p)/var(--tw-bg-opacity));border-color:hsl(var(--p)/var(--tw-border-opacity));color:hsl(var(--pc)/var(--tw-text-opacity))}.ac-btn-group>.ac-btn-active:focus-visible,.ac-btn-group>input[type=radio]:checked.ac-btn:focus-visible{outline-color:hsl(var(--p)/1);outline-style:solid;outline-width:2px}.ac-btn:is(input[type=checkbox]:checked),.ac-btn:is(input[type=radio]:checked){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--p)/var(--tw-bg-opacity));border-color:hsl(var(--p)/var(--tw-border-opacity));color:hsl(var(--pc)/var(--tw-text-opacity))}.ac-btn:is(input[type=checkbox]:checked):focus-visible,.ac-btn:is(input[type=radio]:checked):focus-visible{outline-color:hsl(var(--p)/1)}@keyframes button-pop{0%{transform:scale(var(--btn-focus-scale,.98))}40%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes checkmark{0%{background-position-y:5px}50%{background-position-y:-2px}to{background-position-y:0}}.ac-dropdown.ac-dropdown-open .ac-dropdown-content,.ac-dropdown:focus .ac-dropdown-content,.ac-dropdown:focus-within .ac-dropdown-content{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ac-loading{aspect-ratio:1/1;background-color:currentColor;display:inline-block;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%;pointer-events:none;width:1.5rem}.ac-loading,.ac-loading-spinner{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' stroke='%23000'%3E%3Cstyle%3E@keyframes spinner_zKoa{to{transform:rotate(360deg)}}@keyframes spinner_YpZS{0%25{stroke-dasharray:0 150;stroke-dashoffset:0}47.5%25{stroke-dasharray:42 150;stroke-dashoffset:-16}95%25,to{stroke-dasharray:42 150;stroke-dashoffset:-59}}%3C/style%3E%3Cg style='transform-origin:center;animation:spinner_zKoa 2s linear infinite'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' style='stroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' stroke='%23000'%3E%3Cstyle%3E@keyframes spinner_zKoa{to{transform:rotate(360deg)}}@keyframes spinner_YpZS{0%25{stroke-dasharray:0 150;stroke-dashoffset:0}47.5%25{stroke-dasharray:42 150;stroke-dashoffset:-16}95%25,to{stroke-dasharray:42 150;stroke-dashoffset:-59}}%3C/style%3E%3Cg style='transform-origin:center;animation:spinner_zKoa 2s linear infinite'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' style='stroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite'/%3E%3C/g%3E%3C/svg%3E")}.ac-loading-xs{width:1rem}:where(.ac-menu li:empty){background-color:hsl(var(--bc)/.1);height:1px;margin:.5rem 1rem}.ac-menu :where(li ul):before{background-color:hsl(var(--bc)/.1);bottom:.75rem;content:"";left:0;position:absolute;top:.75rem;width:1px}.ac-menu :where(li:not(.ac-menu-title)>:not(ul):not(details):not(.ac-menu-title)),.ac-menu :where(li:not(.ac-menu-title)>details>summary:not(.ac-menu-title)){text-wrap:balance;border-radius:var(--rounded-btn,.5rem);padding:.5rem 1rem;text-align:left;transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}:where(.ac-menu li:not(.ac-menu-title):not(.ac-disabled)>:not(ul):not(details):not(.ac-menu-title)):is(summary):not(.ac-active):focus-visible,:where(.ac-menu li:not(.ac-menu-title):not(.ac-disabled)>:not(ul):not(details):not(.ac-menu-title)):not(summary):not(.ac-active).ac-focus,:where(.ac-menu li:not(.ac-menu-title):not(.ac-disabled)>:not(ul):not(details):not(.ac-menu-title)):not(summary):not(.ac-active):focus,:where(.ac-menu li:not(.ac-menu-title):not(.ac-disabled)>details>summary:not(.ac-menu-title)):is(summary):not(.ac-active):focus-visible,:where(.ac-menu li:not(.ac-menu-title):not(.ac-disabled)>details>summary:not(.ac-menu-title)):not(summary):not(.ac-active).ac-focus,:where(.ac-menu li:not(.ac-menu-title):not(.ac-disabled)>details>summary:not(.ac-menu-title)):not(summary):not(.ac-active):focus{--tw-text-opacity:1;background-color:hsl(var(--bc)/.1);color:hsl(var(--bc)/var(--tw-text-opacity));cursor:pointer;outline:2px solid transparent;outline-offset:2px}.ac-menu li>:not(ul):not(.ac-menu-title):not(details).ac-active,.ac-menu li>:not(ul):not(.ac-menu-title):not(details):active,.ac-menu li>details>summary:active{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--n)/var(--tw-bg-opacity));color:hsl(var(--nc)/var(--tw-text-opacity))}.ac-menu :where(li>details>summary)::-webkit-details-marker{display:none}.ac-menu :where(li>.ac-menu-dropdown-toggle):after,.ac-menu :where(li>details>summary):after{box-shadow:2px 2px;content:"";display:block;height:.5rem;justify-self:end;margin-top:-.5rem;pointer-events:none;transform:rotate(45deg);transform-origin:75% 75%;transition-duration:.3s;transition-property:transform,margin-top;transition-timing-function:cubic-bezier(.4,0,.2,1);width:.5rem}.ac-menu :where(li>.ac-menu-dropdown-toggle.ac-menu-dropdown-show):after,.ac-menu :where(li>details[open]>summary):after{margin-top:0;transform:rotate(225deg)}@keyframes modal-pop{0%{opacity:0}}@keyframes progress-loading{50%{background-position-x:-115%}}@keyframes radiomark{0%{box-shadow:0 0 0 12px hsl(var(--b1)) inset,0 0 0 12px hsl(var(--b1)) inset}50%{box-shadow:0 0 0 3px hsl(var(--b1)) inset,0 0 0 3px hsl(var(--b1)) inset}to{box-shadow:0 0 0 4px hsl(var(--b1)) inset,0 0 0 4px hsl(var(--b1)) inset}}@keyframes rating-pop{0%{transform:translateY(-.125em)}40%{transform:translateY(-.125em)}to{transform:translateY(0)}}.ac-textarea-bordered{--tw-border-opacity:.2}.ac-textarea:focus{outline-color:hsl(var(--bc)/.2);outline-offset:2px;outline-style:solid;outline-width:2px}.ac-textarea-disabled,.ac-textarea:disabled,.ac-textarea[disabled]{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:.2;background-color:hsl(var(--b2)/var(--tw-bg-opacity));border-color:hsl(var(--b2)/var(--tw-border-opacity));cursor:not-allowed}.ac-textarea-disabled::-moz-placeholder,.ac-textarea:disabled::-moz-placeholder,.ac-textarea[disabled]::-moz-placeholder{--tw-placeholder-opacity:.2;color:hsl(var(--bc)/var(--tw-placeholder-opacity))}.ac-textarea-disabled::placeholder,.ac-textarea:disabled::placeholder,.ac-textarea[disabled]::placeholder{--tw-placeholder-opacity:.2;color:hsl(var(--bc)/var(--tw-placeholder-opacity))}@keyframes toast-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.rounded-box{border-radius:var(--rounded-box,1rem)}.ac-btn-xs{font-size:.75rem;height:1.5rem;min-height:1.5rem;padding-left:.5rem;padding-right:.5rem}.ac-btn-sm{font-size:.875rem;height:2rem;min-height:2rem;padding-left:.75rem;padding-right:.75rem}.ac-btn-block{width:100%}.ac-btn-square:where(.ac-btn-xs){height:1.5rem;padding:0;width:1.5rem}.ac-btn-square:where(.ac-btn-sm){height:2rem;padding:0;width:2rem}.ac-btn-circle:where(.ac-btn-xs){border-radius:9999px;height:1.5rem;padding:0;width:1.5rem}.ac-btn-circle:where(.ac-btn-sm){border-radius:9999px;height:2rem;padding:0;width:2rem}.ac-avatar.ac-online:before{--tw-bg-opacity:1;background-color:hsl(var(--su)/var(--tw-bg-opacity));border-radius:9999px;content:"";display:block;height:15%;outline-color:hsl(var(--b1)/1);outline-style:solid;outline-width:2px;position:absolute;right:7%;top:7%;width:15%;z-index:10}.ac-avatar.ac-offline:before{--tw-bg-opacity:1;background-color:hsl(var(--b3)/var(--tw-bg-opacity));border-radius:9999px;content:"";display:block;height:15%;outline-color:hsl(var(--b1)/1);outline-style:solid;outline-width:2px;position:absolute;right:7%;top:7%;width:15%;z-index:10}.ac-btn-group .ac-btn:not(:first-child):not(:last-child){border-radius:0}.ac-btn-group .ac-btn:first-child:not(:last-child){border-bottom-left-radius:var(--rounded-btn,.5rem);border-bottom-right-radius:0;border-top-left-radius:var(--rounded-btn,.5rem);border-top-right-radius:0;margin-left:-1px;margin-top:0}.ac-btn-group .ac-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-bottom-right-radius:var(--rounded-btn,.5rem);border-top-left-radius:0;border-top-right-radius:var(--rounded-btn,.5rem)}.ac-btn-group-horizontal .ac-btn:not(:first-child):not(:last-child){border-radius:0}.ac-btn-group-horizontal .ac-btn:first-child:not(:last-child){border-bottom-left-radius:var(--rounded-btn,.5rem);border-bottom-right-radius:0;border-top-left-radius:var(--rounded-btn,.5rem);border-top-right-radius:0;margin-left:-1px;margin-top:0}.ac-btn-group-horizontal .ac-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-bottom-right-radius:var(--rounded-btn,.5rem);border-top-left-radius:0;border-top-right-radius:var(--rounded-btn,.5rem)}.ac-btn-group-vertical .ac-btn:first-child:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--rounded-btn,.5rem);border-top-right-radius:var(--rounded-btn,.5rem);margin-left:0;margin-top:-1px}.ac-btn-group-vertical .ac-btn:last-child:not(:first-child){border-bottom-left-radius:var(--rounded-btn,.5rem);border-bottom-right-radius:var(--rounded-btn,.5rem);border-top-left-radius:0;border-top-right-radius:0}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.z-10{z-index:10}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0}.mb-0,.my-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.h-6{height:1.5rem}.h-full{height:100%}.w-52{width:13rem}.w-6{width:1.5rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.items-center{align-items:center}.justify-between{justify-content:space-between}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-b-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-b-none{border-bottom-left-radius:0;border-bottom-right-radius:0}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-neutral{--tw-border-opacity:1;border-color:hsl(var(--n)/var(--tw-border-opacity))}.bg-base-100{--tw-bg-opacity:1;background-color:hsl(var(--b1)/var(--tw-bg-opacity))}.bg-base-200{--tw-bg-opacity:1;background-color:hsl(var(--b2)/var(--tw-bg-opacity))}.bg-base-300{--tw-bg-opacity:1;background-color:hsl(var(--b3)/var(--tw-bg-opacity))}.p-2{padding:.5rem}.p-6{padding:1.5rem}.py-2{padding-top:.5rem}.pb-2,.py-2{padding-bottom:.5rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.text-base-content{--tw-text-opacity:1;color:hsl(var(--bc)/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-neutral-400\/40{color:#a3a3a366}.text-neutral-content{--tw-text-opacity:1;color:hsl(var(--nc)/var(--tw-text-opacity))}.mix-blend-color-dodge{mix-blend-mode:color-dodge}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.comments-wrapper p img{max-height:12.5rem;max-width:100%}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}@media (prefers-color-scheme:dark){.dark\:bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.dark\:text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}}.animated{animation-duration:var(--animate-duration);animation-fill-mode:both}.animated.infinite{animation-iteration-count:infinite}.animated.repeat-1{animation-iteration-count:var(--animate-repeat)}.animated.repeat-2{animation-iteration-count:calc(var(--animate-repeat)*2)}.animated.repeat-3{animation-iteration-count:calc(var(--animate-repeat)*3)}.animated.delay-1s{animation-delay:var(--animate-delay)}.animated.delay-2s{animation-delay:calc(var(--animate-delay)*2)}.animated.delay-3s{animation-delay:calc(var(--animate-delay)*3)}.animated.delay-4s{animation-delay:calc(var(--animate-delay)*4)}.animated.delay-5s{animation-delay:calc(var(--animate-delay)*5)}.animated.faster{animation-duration:calc(var(--animate-duration)/2)}.animated.fast{animation-duration:calc(var(--animate-duration)*.8)}.animated.slow{animation-duration:calc(var(--animate-duration)*2)}.animated.slower{animation-duration:calc(var(--animate-duration)*3)}@media (prefers-reduced-motion:reduce),print{.animated{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.animated[class*=Out]{opacity:0}}:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{animation-name:flash}
|
|
1
|
+
.awesome-comment{--pf:258.89 94.378% 40.941%;--sf:314 100% 37.647%;--af:174 60% 40.784%;--nf:219 14.085% 22.275%;--in:198 93% 60%;--su:158 64% 52%;--wa:43 96% 56%;--er:0 91% 71%;--inc:198 100% 12%;--suc:158 100% 10%;--wac:43 100% 11%;--erc:0 100% 14%;--rounded-box:1rem;--rounded-btn:.5rem;--rounded-badge:1.9rem;--animation-btn:.25s;--animation-input:.2s;--btn-text-case:uppercase;--btn-focus-scale:.95;--border-btn:1px;--tab-border:1px;--tab-radius:.5rem;--p:258.89 94.378% 51.176%;--pc:0 0% 100%;--s:314 100% 47.059%;--sc:0 0% 100%;--a:174 60% 50.98%;--ac:174.71 43.59% 15.294%;--n:219 14.085% 27.843%;--nc:0 0% 100%;--b1:0 0% 100%;--b2:0 0% 94.902%;--b3:180 1.9608% 90%;--bc:215 27.907% 16.863%;color-scheme:light}@media (prefers-color-scheme:dark){.awesome-comment{--pf:262.35 80.315% 40.157%;--sf:315.75 70.196% 40%;--af:174.69 70.335% 32.784%;--in:198 93% 60%;--su:158 64% 52%;--wa:43 96% 56%;--er:0 91% 71%;--inc:198 100% 12%;--suc:158 100% 10%;--wac:43 100% 11%;--erc:0 100% 14%;--rounded-box:1rem;--rounded-btn:.5rem;--rounded-badge:1.9rem;--animation-btn:.25s;--animation-input:.2s;--btn-text-case:uppercase;--btn-focus-scale:.95;--border-btn:1px;--tab-border:1px;--tab-radius:.5rem;--p:262.35 80.315% 50.196%;--pc:0 0% 100%;--s:315.75 70.196% 50%;--sc:0 0% 100%;--a:174.69 70.335% 40.98%;--ac:0 0% 100%;--n:218.18 18.033% 11.961%;--nf:222.86 17.073% 8.0392%;--nc:220 13.376% 69.216%;--b1:220 17.647% 20%;--b2:220 17.241% 17.059%;--b3:218.57 17.949% 15.294%;--bc:220 13.376% 69.216%;color-scheme:dark}}[data-theme=light] .awesome-comment{--pf:258.89 94.378% 40.941%;--sf:314 100% 37.647%;--af:174 60% 40.784%;--nf:219 14.085% 22.275%;--in:198 93% 60%;--su:158 64% 52%;--wa:43 96% 56%;--er:0 91% 71%;--inc:198 100% 12%;--suc:158 100% 10%;--wac:43 100% 11%;--erc:0 100% 14%;--rounded-box:1rem;--rounded-btn:.5rem;--rounded-badge:1.9rem;--animation-btn:.25s;--animation-input:.2s;--btn-text-case:uppercase;--btn-focus-scale:.95;--border-btn:1px;--tab-border:1px;--tab-radius:.5rem;--p:258.89 94.378% 51.176%;--pc:0 0% 100%;--s:314 100% 47.059%;--sc:0 0% 100%;--a:174 60% 50.98%;--ac:174.71 43.59% 15.294%;--n:219 14.085% 27.843%;--nc:0 0% 100%;--b1:0 0% 100%;--b2:0 0% 94.902%;--b3:180 1.9608% 90%;--bc:215 27.907% 16.863%;color-scheme:light}[data-theme=dark]{--pf:262.35 80.315% 40.157%;--sf:315.75 70.196% 40%;--af:174.69 70.335% 32.784%;--in:198 93% 60%;--su:158 64% 52%;--wa:43 96% 56%;--er:0 91% 71%;--inc:198 100% 12%;--suc:158 100% 10%;--wac:43 100% 11%;--erc:0 100% 14%;--rounded-box:1rem;--rounded-btn:.5rem;--rounded-badge:1.9rem;--animation-btn:.25s;--animation-input:.2s;--btn-text-case:uppercase;--btn-focus-scale:.95;--border-btn:1px;--tab-border:1px;--tab-radius:.5rem;--p:262.35 80.315% 50.196%;--pc:0 0% 100%;--s:315.75 70.196% 50%;--sc:0 0% 100%;--a:174.69 70.335% 40.98%;--ac:0 0% 100%;--n:218.18 18.033% 11.961%;--nf:222.86 17.073% 8.0392%;--nc:220 13.376% 69.216%;--b1:220 17.647% 20%;--b2:220 17.241% 17.059%;--b3:218.57 17.949% 15.294%;--bc:220 13.376% 69.216%;color-scheme:dark}.ac-alert{--tw-border-opacity:1;--tw-text-opacity:1;--alert-bg:hsl(var(--b2));--alert-bg-mix:hsl(var(--b1));align-content:flex-start;align-items:center;background-color:var(--alert-bg);border-color:hsl(var(--b2)/var(--tw-border-opacity));border-radius:var(--rounded-box,1rem);border-width:1px;color:hsl(var(--bc)/var(--tw-text-opacity));display:grid;gap:1rem;grid-auto-flow:row;justify-items:center;padding:1rem;text-align:center;width:100%}@media (min-width:640px){.ac-alert{grid-auto-flow:column;grid-template-columns:auto minmax(auto,1fr);justify-items:start;text-align:left}}.ac-avatar{display:inline-flex;position:relative}.ac-avatar>div{aspect-ratio:1/1;display:block;overflow:hidden}.ac-avatar img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.ac-avatar.ac-placeholder>div{align-items:center;display:flex;justify-content:center}@media (hover:hover){.ac-menu li>:not(ul):not(.ac-menu-title):not(details).ac-active,.ac-menu li>:not(ul):not(.ac-menu-title):not(details):active,.ac-menu li>details>summary:active{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--n)/var(--tw-bg-opacity));color:hsl(var(--nc)/var(--tw-text-opacity))}}.ac-btn{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;animation:button-pop var(--animation-btn,.25s) ease-out;background-color:hsl(var(--b2)/var(--tw-bg-opacity));border-color:transparent;border-color:hsl(var(--b2)/var(--tw-border-opacity));border-radius:var(--rounded-btn,.5rem);border-width:var(--border-btn,1px);color:hsl(var(--bc)/var(--tw-text-opacity));cursor:pointer;display:inline-flex;flex-shrink:0;flex-wrap:wrap;font-size:.875rem;font-weight:600;gap:.5rem;height:3rem;justify-content:center;line-height:1em;min-height:3rem;outline-color:hsl(var(--bc)/1);padding-left:1rem;padding-right:1rem;text-align:center;text-decoration-line:none;text-transform:var(--btn-text-case,uppercase);transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.ac-btn-disabled,.ac-btn:disabled,.ac-btn[disabled]{pointer-events:none}.ac-btn-group>input[type=radio].ac-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none}.ac-btn-group>input[type=radio].ac-btn:before{content:attr(data-title)}.ac-btn:is(input[type=checkbox]),.ac-btn:is(input[type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none;width:auto}.ac-btn:is(input[type=checkbox]):after,.ac-btn:is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.ac-dropdown{display:inline-block;position:relative}.ac-dropdown>:focus{outline:2px solid transparent;outline-offset:2px}.ac-dropdown .ac-dropdown-content{position:absolute}.ac-dropdown:is(:not(details)) .ac-dropdown-content{--tw-scale-x:.95;--tw-scale-y:.95;opacity:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform-origin:top;transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);visibility:hidden}.ac-dropdown-end .ac-dropdown-content{right:0}.ac-dropdown-left .ac-dropdown-content{bottom:auto;right:100%;top:0;transform-origin:right}.ac-dropdown-right .ac-dropdown-content{bottom:auto;left:100%;top:0;transform-origin:left}.ac-dropdown-bottom .ac-dropdown-content{bottom:auto;top:100%;transform-origin:top}.ac-dropdown-top .ac-dropdown-content{bottom:100%;top:auto;transform-origin:bottom}.ac-dropdown-end.ac-dropdown-left .ac-dropdown-content,.ac-dropdown-end.ac-dropdown-right .ac-dropdown-content{bottom:0;top:auto}.ac-dropdown.ac-dropdown-open .ac-dropdown-content,.ac-dropdown:focus-within .ac-dropdown-content,.ac-dropdown:not(.ac-dropdown-hover):focus .ac-dropdown-content{opacity:1;visibility:visible}@media (hover:hover){.ac-dropdown.ac-dropdown-hover:hover .ac-dropdown-content{opacity:1;visibility:visible}.ac-btn:hover{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:hsl(var(--b3)/var(--tw-bg-opacity));border-color:hsl(var(--b3)/var(--tw-border-opacity))}.ac-btn-primary:hover{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:hsl(var(--pf)/var(--tw-bg-opacity));border-color:hsl(var(--pf)/var(--tw-border-opacity))}.ac-btn-secondary:hover{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:hsl(var(--sf)/var(--tw-bg-opacity));border-color:hsl(var(--sf)/var(--tw-border-opacity))}.ac-btn-neutral:hover{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:hsl(var(--nf)/var(--tw-bg-opacity));border-color:hsl(var(--nf)/var(--tw-border-opacity))}.ac-btn.ac-glass:hover{--glass-opacity:25%;--glass-border-opacity:15%}.ac-btn-ghost:hover{--tw-border-opacity:0;--tw-bg-opacity:.2;background-color:hsl(var(--bc)/var(--tw-bg-opacity))}.ac-btn-outline.ac-btn-primary:hover{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--pf)/var(--tw-bg-opacity));border-color:hsl(var(--pf)/var(--tw-border-opacity));color:hsl(var(--pc)/var(--tw-text-opacity))}.ac-btn-outline.ac-btn-secondary:hover{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--sf)/var(--tw-bg-opacity));border-color:hsl(var(--sf)/var(--tw-border-opacity));color:hsl(var(--sc)/var(--tw-text-opacity))}.ac-btn-disabled:hover,.ac-btn:disabled:hover,.ac-btn[disabled]:hover{--tw-border-opacity:0;--tw-bg-opacity:.2;--tw-text-opacity:.2;background-color:hsl(var(--n)/var(--tw-bg-opacity));color:hsl(var(--bc)/var(--tw-text-opacity))}.ac-btn:is(input[type=checkbox]:checked):hover,.ac-btn:is(input[type=radio]:checked):hover{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:hsl(var(--pf)/var(--tw-bg-opacity));border-color:hsl(var(--pf)/var(--tw-border-opacity))}.ac-dropdown.ac-dropdown-hover:hover .ac-dropdown-content{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:where(.ac-menu li:not(.ac-menu-title):not(.ac-disabled)>:not(ul):not(details):not(.ac-menu-title)):not(.ac-active):hover,:where(.ac-menu li:not(.ac-menu-title):not(.ac-disabled)>details>summary:not(.ac-menu-title)):not(.ac-active):hover{--tw-text-opacity:1;background-color:hsl(var(--bc)/.1);color:hsl(var(--bc)/var(--tw-text-opacity));cursor:pointer;outline:2px solid transparent;outline-offset:2px}}.ac-dropdown:is(details) summary::-webkit-details-marker{display:none}.ac-form-control{display:flex;flex-direction:column}.ac-input-group>*,.ac-input-group>.ac-input,.ac-input-group>.ac-select,.ac-input-group>.ac-textarea{border-radius:0}.ac-menu{display:flex;flex-direction:column;flex-wrap:wrap;font-size:.875rem;line-height:1.25rem;padding:.5rem}.ac-menu :where(li ul){margin-left:1rem;padding-left:.5rem;position:relative;white-space:nowrap}.ac-menu :where(li:not(.ac-menu-title)>:not(ul):not(details):not(.ac-menu-title)),.ac-menu :where(li:not(.ac-menu-title)>details>summary:not(.ac-menu-title)){align-content:flex-start;align-items:center;display:grid;gap:.5rem;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ac-menu li.ac-disabled{color:hsl(var(--bc)/.3);cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ac-menu :where(li>.ac-menu-dropdown:not(.ac-menu-dropdown-show)){display:none}:where(.ac-menu li){align-items:stretch;display:flex;flex-direction:column;flex-shrink:0;flex-wrap:wrap;position:relative}:where(.ac-menu li) .ac-badge{justify-self:end}.ac-textarea{--tw-border-opacity:0;--tw-bg-opacity:1;background-color:hsl(var(--b1)/var(--tw-bg-opacity));border-color:hsl(var(--bc)/var(--tw-border-opacity));border-radius:var(--rounded-btn,.5rem);border-width:1px;flex-shrink:1;font-size:.875rem;line-height:1.25rem;line-height:2;min-height:3rem;padding:.5rem 1rem}.ac-alert-error{--tw-text-opacity:1;--alert-bg:hsl(var(--er));--alert-bg-mix:hsl(var(--b1));border-color:hsl(var(--er)/.2);color:hsl(var(--erc)/var(--tw-text-opacity))}.ac-avatar-group :where(.ac-avatar){--tw-border-opacity:1;border-color:hsl(var(--b1)/var(--tw-border-opacity));border-radius:9999px;border-width:4px;overflow:hidden}.ac-btn:active:focus,.ac-btn:active:hover{animation:button-pop 0s ease-out;transform:scale(var(--btn-focus-scale,.97))}.ac-btn:focus-visible{outline-offset:2px;outline-style:solid;outline-width:2px}.ac-btn-primary{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--p)/var(--tw-bg-opacity));border-color:hsl(var(--p)/var(--tw-border-opacity));color:hsl(var(--pc)/var(--tw-text-opacity));outline-color:hsl(var(--p)/1)}.ac-btn-primary.ac-btn-active{background-color:hsl(var(--pf)/var(--tw-bg-opacity));border-color:hsl(var(--pf)/var(--tw-border-opacity))}.ac-btn-primary.ac-btn-active,.ac-btn-secondary{--tw-border-opacity:1;--tw-bg-opacity:1}.ac-btn-secondary{--tw-text-opacity:1;background-color:hsl(var(--s)/var(--tw-bg-opacity));border-color:hsl(var(--s)/var(--tw-border-opacity));color:hsl(var(--sc)/var(--tw-text-opacity));outline-color:hsl(var(--s)/1)}.ac-btn-secondary.ac-btn-active{background-color:hsl(var(--sf)/var(--tw-bg-opacity));border-color:hsl(var(--sf)/var(--tw-border-opacity))}.ac-btn-neutral,.ac-btn-secondary.ac-btn-active{--tw-border-opacity:1;--tw-bg-opacity:1}.ac-btn-neutral{--tw-text-opacity:1;background-color:hsl(var(--n)/var(--tw-bg-opacity));border-color:hsl(var(--n)/var(--tw-border-opacity));color:hsl(var(--nc)/var(--tw-text-opacity));outline-color:hsl(var(--n)/1)}.ac-btn-neutral.ac-btn-active{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:hsl(var(--nf)/var(--tw-bg-opacity));border-color:hsl(var(--nf)/var(--tw-border-opacity))}.ac-btn.ac-glass{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);outline-color:currentColor}.ac-btn.ac-glass.ac-btn-active{--glass-opacity:25%;--glass-border-opacity:15%}.ac-btn-ghost{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;background-color:transparent;border-color:transparent;border-width:1px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:currentColor;outline-color:currentColor}.ac-btn-ghost.ac-btn-active{--tw-border-opacity:0;--tw-bg-opacity:.2;background-color:hsl(var(--bc)/var(--tw-bg-opacity))}.ac-btn-outline.ac-btn-primary{--tw-text-opacity:1;color:hsl(var(--p)/var(--tw-text-opacity))}.ac-btn-outline.ac-btn-primary.ac-btn-active{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--pf)/var(--tw-bg-opacity));border-color:hsl(var(--pf)/var(--tw-border-opacity));color:hsl(var(--pc)/var(--tw-text-opacity))}.ac-btn-outline.ac-btn-secondary{--tw-text-opacity:1;color:hsl(var(--s)/var(--tw-text-opacity))}.ac-btn-outline.ac-btn-secondary.ac-btn-active{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--sf)/var(--tw-bg-opacity));border-color:hsl(var(--sf)/var(--tw-border-opacity));color:hsl(var(--sc)/var(--tw-text-opacity))}.ac-btn.ac-btn-disabled,.ac-btn:disabled,.ac-btn[disabled]{--tw-border-opacity:0;--tw-bg-opacity:.2;--tw-text-opacity:.2;background-color:hsl(var(--n)/var(--tw-bg-opacity));color:hsl(var(--bc)/var(--tw-text-opacity))}.ac-btn-group>.ac-btn-active,.ac-btn-group>input[type=radio]:checked.ac-btn{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--p)/var(--tw-bg-opacity));border-color:hsl(var(--p)/var(--tw-border-opacity));color:hsl(var(--pc)/var(--tw-text-opacity))}.ac-btn-group>.ac-btn-active:focus-visible,.ac-btn-group>input[type=radio]:checked.ac-btn:focus-visible{outline-color:hsl(var(--p)/1);outline-style:solid;outline-width:2px}.ac-btn:is(input[type=checkbox]:checked),.ac-btn:is(input[type=radio]:checked){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--p)/var(--tw-bg-opacity));border-color:hsl(var(--p)/var(--tw-border-opacity));color:hsl(var(--pc)/var(--tw-text-opacity))}.ac-btn:is(input[type=checkbox]:checked):focus-visible,.ac-btn:is(input[type=radio]:checked):focus-visible{outline-color:hsl(var(--p)/1)}@keyframes button-pop{0%{transform:scale(var(--btn-focus-scale,.98))}40%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes checkmark{0%{background-position-y:5px}50%{background-position-y:-2px}to{background-position-y:0}}.ac-dropdown.ac-dropdown-open .ac-dropdown-content,.ac-dropdown:focus .ac-dropdown-content,.ac-dropdown:focus-within .ac-dropdown-content{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ac-loading{aspect-ratio:1/1;background-color:currentColor;display:inline-block;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%;pointer-events:none;width:1.5rem}.ac-loading,.ac-loading-spinner{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' stroke='%23000'%3E%3Cstyle%3E@keyframes spinner_zKoa{to{transform:rotate(360deg)}}@keyframes spinner_YpZS{0%25{stroke-dasharray:0 150;stroke-dashoffset:0}47.5%25{stroke-dasharray:42 150;stroke-dashoffset:-16}95%25,to{stroke-dasharray:42 150;stroke-dashoffset:-59}}%3C/style%3E%3Cg style='transform-origin:center;animation:spinner_zKoa 2s linear infinite'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' style='stroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' stroke='%23000'%3E%3Cstyle%3E@keyframes spinner_zKoa{to{transform:rotate(360deg)}}@keyframes spinner_YpZS{0%25{stroke-dasharray:0 150;stroke-dashoffset:0}47.5%25{stroke-dasharray:42 150;stroke-dashoffset:-16}95%25,to{stroke-dasharray:42 150;stroke-dashoffset:-59}}%3C/style%3E%3Cg style='transform-origin:center;animation:spinner_zKoa 2s linear infinite'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' style='stroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite'/%3E%3C/g%3E%3C/svg%3E")}.ac-loading-xs{width:1rem}:where(.ac-menu li:empty){background-color:hsl(var(--bc)/.1);height:1px;margin:.5rem 1rem}.ac-menu :where(li ul):before{background-color:hsl(var(--bc)/.1);bottom:.75rem;content:"";left:0;position:absolute;top:.75rem;width:1px}.ac-menu :where(li:not(.ac-menu-title)>:not(ul):not(details):not(.ac-menu-title)),.ac-menu :where(li:not(.ac-menu-title)>details>summary:not(.ac-menu-title)){text-wrap:balance;border-radius:var(--rounded-btn,.5rem);padding:.5rem 1rem;text-align:left;transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}:where(.ac-menu li:not(.ac-menu-title):not(.ac-disabled)>:not(ul):not(details):not(.ac-menu-title)):is(summary):not(.ac-active):focus-visible,:where(.ac-menu li:not(.ac-menu-title):not(.ac-disabled)>:not(ul):not(details):not(.ac-menu-title)):not(summary):not(.ac-active).ac-focus,:where(.ac-menu li:not(.ac-menu-title):not(.ac-disabled)>:not(ul):not(details):not(.ac-menu-title)):not(summary):not(.ac-active):focus,:where(.ac-menu li:not(.ac-menu-title):not(.ac-disabled)>details>summary:not(.ac-menu-title)):is(summary):not(.ac-active):focus-visible,:where(.ac-menu li:not(.ac-menu-title):not(.ac-disabled)>details>summary:not(.ac-menu-title)):not(summary):not(.ac-active).ac-focus,:where(.ac-menu li:not(.ac-menu-title):not(.ac-disabled)>details>summary:not(.ac-menu-title)):not(summary):not(.ac-active):focus{--tw-text-opacity:1;background-color:hsl(var(--bc)/.1);color:hsl(var(--bc)/var(--tw-text-opacity));cursor:pointer;outline:2px solid transparent;outline-offset:2px}.ac-menu li>:not(ul):not(.ac-menu-title):not(details).ac-active,.ac-menu li>:not(ul):not(.ac-menu-title):not(details):active,.ac-menu li>details>summary:active{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:hsl(var(--n)/var(--tw-bg-opacity));color:hsl(var(--nc)/var(--tw-text-opacity))}.ac-menu :where(li>details>summary)::-webkit-details-marker{display:none}.ac-menu :where(li>.ac-menu-dropdown-toggle):after,.ac-menu :where(li>details>summary):after{box-shadow:2px 2px;content:"";display:block;height:.5rem;justify-self:end;margin-top:-.5rem;pointer-events:none;transform:rotate(45deg);transform-origin:75% 75%;transition-duration:.3s;transition-property:transform,margin-top;transition-timing-function:cubic-bezier(.4,0,.2,1);width:.5rem}.ac-menu :where(li>.ac-menu-dropdown-toggle.ac-menu-dropdown-show):after,.ac-menu :where(li>details[open]>summary):after{margin-top:0;transform:rotate(225deg)}@keyframes modal-pop{0%{opacity:0}}@keyframes progress-loading{50%{background-position-x:-115%}}@keyframes radiomark{0%{box-shadow:0 0 0 12px hsl(var(--b1)) inset,0 0 0 12px hsl(var(--b1)) inset}50%{box-shadow:0 0 0 3px hsl(var(--b1)) inset,0 0 0 3px hsl(var(--b1)) inset}to{box-shadow:0 0 0 4px hsl(var(--b1)) inset,0 0 0 4px hsl(var(--b1)) inset}}@keyframes rating-pop{0%{transform:translateY(-.125em)}40%{transform:translateY(-.125em)}to{transform:translateY(0)}}.ac-textarea-bordered{--tw-border-opacity:.2}.ac-textarea:focus{outline-color:hsl(var(--bc)/.2);outline-offset:2px;outline-style:solid;outline-width:2px}.ac-textarea-disabled,.ac-textarea:disabled,.ac-textarea[disabled]{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:.2;background-color:hsl(var(--b2)/var(--tw-bg-opacity));border-color:hsl(var(--b2)/var(--tw-border-opacity));cursor:not-allowed}.ac-textarea-disabled::-moz-placeholder,.ac-textarea:disabled::-moz-placeholder,.ac-textarea[disabled]::-moz-placeholder{--tw-placeholder-opacity:.2;color:hsl(var(--bc)/var(--tw-placeholder-opacity))}.ac-textarea-disabled::placeholder,.ac-textarea:disabled::placeholder,.ac-textarea[disabled]::placeholder{--tw-placeholder-opacity:.2;color:hsl(var(--bc)/var(--tw-placeholder-opacity))}@keyframes toast-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.rounded-box{border-radius:var(--rounded-box,1rem)}.ac-btn-xs{font-size:.75rem;height:1.5rem;min-height:1.5rem;padding-left:.5rem;padding-right:.5rem}.ac-btn-sm{font-size:.875rem;height:2rem;min-height:2rem;padding-left:.75rem;padding-right:.75rem}.ac-btn-block{width:100%}.ac-btn-square:where(.ac-btn-xs){height:1.5rem;padding:0;width:1.5rem}.ac-btn-square:where(.ac-btn-sm){height:2rem;padding:0;width:2rem}.ac-btn-circle:where(.ac-btn-xs){border-radius:9999px;height:1.5rem;padding:0;width:1.5rem}.ac-btn-circle:where(.ac-btn-sm){border-radius:9999px;height:2rem;padding:0;width:2rem}.ac-avatar.ac-online:before{--tw-bg-opacity:1;background-color:hsl(var(--su)/var(--tw-bg-opacity));border-radius:9999px;content:"";display:block;height:15%;outline-color:hsl(var(--b1)/1);outline-style:solid;outline-width:2px;position:absolute;right:7%;top:7%;width:15%;z-index:10}.ac-avatar.ac-offline:before{--tw-bg-opacity:1;background-color:hsl(var(--b3)/var(--tw-bg-opacity));border-radius:9999px;content:"";display:block;height:15%;outline-color:hsl(var(--b1)/1);outline-style:solid;outline-width:2px;position:absolute;right:7%;top:7%;width:15%;z-index:10}.ac-btn-group .ac-btn:not(:first-child):not(:last-child){border-radius:0}.ac-btn-group .ac-btn:first-child:not(:last-child){border-bottom-left-radius:var(--rounded-btn,.5rem);border-bottom-right-radius:0;border-top-left-radius:var(--rounded-btn,.5rem);border-top-right-radius:0;margin-left:-1px;margin-top:0}.ac-btn-group .ac-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-bottom-right-radius:var(--rounded-btn,.5rem);border-top-left-radius:0;border-top-right-radius:var(--rounded-btn,.5rem)}.ac-btn-group-horizontal .ac-btn:not(:first-child):not(:last-child){border-radius:0}.ac-btn-group-horizontal .ac-btn:first-child:not(:last-child){border-bottom-left-radius:var(--rounded-btn,.5rem);border-bottom-right-radius:0;border-top-left-radius:var(--rounded-btn,.5rem);border-top-right-radius:0;margin-left:-1px;margin-top:0}.ac-btn-group-horizontal .ac-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-bottom-right-radius:var(--rounded-btn,.5rem);border-top-left-radius:0;border-top-right-radius:var(--rounded-btn,.5rem)}.ac-btn-group-vertical .ac-btn:first-child:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--rounded-btn,.5rem);border-top-right-radius:var(--rounded-btn,.5rem);margin-left:0;margin-top:-1px}.ac-btn-group-vertical .ac-btn:last-child:not(:first-child){border-bottom-left-radius:var(--rounded-btn,.5rem);border-bottom-right-radius:var(--rounded-btn,.5rem);border-top-left-radius:0;border-top-right-radius:0}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.z-10{z-index:10}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0}.mb-0,.my-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.h-6{height:1.5rem}.h-full{height:100%}.w-52{width:13rem}.w-6{width:1.5rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.items-center{align-items:center}.justify-between{justify-content:space-between}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-b-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-b-none{border-bottom-left-radius:0;border-bottom-right-radius:0}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-neutral{--tw-border-opacity:1;border-color:hsl(var(--n)/var(--tw-border-opacity))}.bg-base-100{--tw-bg-opacity:1;background-color:hsl(var(--b1)/var(--tw-bg-opacity))}.bg-base-200{--tw-bg-opacity:1;background-color:hsl(var(--b2)/var(--tw-bg-opacity))}.bg-base-300{--tw-bg-opacity:1;background-color:hsl(var(--b3)/var(--tw-bg-opacity))}.p-2{padding:.5rem}.p-6{padding:1.5rem}.py-2{padding-top:.5rem}.pb-2,.py-2{padding-bottom:.5rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.text-base-content{--tw-text-opacity:1;color:hsl(var(--bc)/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-neutral-400\/40{color:#a3a3a366}.text-neutral-content{--tw-text-opacity:1;color:hsl(var(--nc)/var(--tw-text-opacity))}.mix-blend-color-dodge{mix-blend-mode:color-dodge}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.comments-wrapper p img{max-height:12.5rem;max-width:100%}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}@media (prefers-color-scheme:dark){.dark\:bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.dark\:text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}}.animated{animation-duration:var(--animate-duration);animation-fill-mode:both}.animated.infinite{animation-iteration-count:infinite}.animated.repeat-1{animation-iteration-count:var(--animate-repeat)}.animated.repeat-2{animation-iteration-count:calc(var(--animate-repeat)*2)}.animated.repeat-3{animation-iteration-count:calc(var(--animate-repeat)*3)}.animated.delay-1s{animation-delay:var(--animate-delay)}.animated.delay-2s{animation-delay:calc(var(--animate-delay)*2)}.animated.delay-3s{animation-delay:calc(var(--animate-delay)*3)}.animated.delay-4s{animation-delay:calc(var(--animate-delay)*4)}.animated.delay-5s{animation-delay:calc(var(--animate-delay)*5)}.animated.faster{animation-duration:calc(var(--animate-duration)/2)}.animated.fast{animation-duration:calc(var(--animate-duration)*.8)}.animated.slow{animation-duration:calc(var(--animate-duration)*2)}.animated.slower{animation-duration:calc(var(--animate-duration)*3)}@media (prefers-reduced-motion:reduce),print{.animated{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.animated[class*=Out]{opacity:0}}:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{animation-name:flash}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@roudanio/awesome-comment",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@auth0/auth0-vue": "^2.3.1",
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
15
15
|
"@tailwindcss/typography": "^0.5.9",
|
|
16
|
-
"@types/node": "^20.5.
|
|
16
|
+
"@types/node": "^20.5.6",
|
|
17
17
|
"@vitejs/plugin-vue": "^4.3.3",
|
|
18
18
|
"autoprefixer": "^10.4.15",
|
|
19
|
-
"daisyui": "^3.
|
|
19
|
+
"daisyui": "^3.6.3",
|
|
20
20
|
"postcss": "^8.4.28",
|
|
21
21
|
"pug": "^3.0.2",
|
|
22
22
|
"tailwindcss": "^3.3.3",
|
|
23
|
-
"typescript": "^5.
|
|
23
|
+
"typescript": "^5.2.2",
|
|
24
24
|
"vite": "^4.4.9",
|
|
25
25
|
"vue-tsc": "^1.8.8"
|
|
26
26
|
},
|