@tmsoft/webphone 3.0.23 → 3.0.24

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.
@@ -8497,7 +8497,10 @@ const createSipService = (e, t = {}) => {
8497
8497
  n.value = new UserAgent({
8498
8498
  uri: a,
8499
8499
  logLevel: "error",
8500
- transportOptions: { server: t.transportOptions.server },
8500
+ transportOptions: {
8501
+ server: t.transportOptions.server,
8502
+ keepAliveInterval: t.transportOptions.keepAliveInterval ?? 30
8503
+ },
8501
8504
  authorizationUsername: t.authorizationUsername,
8502
8505
  authorizationPassword: t.authorizationPassword,
8503
8506
  reconnectionDelay: 5,
@@ -54,7 +54,7 @@
54
54
  `+r+`
55
55
  `);if(this.state!==W.Connected){this.logger.warn(`Received message while not connected, discarding...`);return}if(this.onMessage)try{this.onMessage(r)}catch(e){throw this.logger.error(e.toString()),this.logger.error(`Exception thrown by onMessage callback`),e}}onWebSocketOpen(e,t){t===this._ws&&this._state===W.Connecting&&(this.logger.log(`WebSocket opened ${this.server}`),this.transitionState(W.Connected))}transitionLoopDetectedError(e){let t=`A state transition loop has been detected.`;return t+=` An attempt to transition from ${this._state} to ${e} before the prior transition completed.`,t+=` Perhaps you are synchronously calling connect() or disconnect() from a callback or state change handler?`,this.logger.error(t),new x(`Loop detected.`)}transitionState(e,t){let n=()=>{throw Error(`Invalid state transition from ${this._state} to ${e}`)};if(this.transitioningState)throw this.transitionLoopDetectedError(e);switch(this.transitioningState=!0,this._state){case W.Connecting:e!==W.Connected&&e!==W.Disconnecting&&e!==W.Disconnected&&n();break;case W.Connected:e!==W.Disconnecting&&e!==W.Disconnected&&n();break;case W.Disconnecting:e!==W.Connecting&&e!==W.Disconnected&&n();break;case W.Disconnected:e!==W.Connecting&&n();break;default:throw Error(`Unknown state.`)}let r=this._state;this._state=e;let i=this.connectResolve,a=this.connectReject;r===W.Connecting&&(this.connectPromise=void 0,this.connectResolve=void 0,this.connectReject=void 0);let o=this.disconnectResolve,s=this.disconnectReject;if(r===W.Disconnecting&&(this.disconnectPromise=void 0,this.disconnectResolve=void 0,this.disconnectReject=void 0),this.connectTimeout&&=(clearTimeout(this.connectTimeout),void 0),this.logger.log(`Transitioned from ${r} to ${this._state}`),this._stateEventEmitter.emit(this._state),e===W.Connected&&(this.startSendingKeepAlives(),this.onConnect))try{this.onConnect()}catch(e){throw this.logger.error(e.toString()),this.logger.error(`Exception thrown by onConnect callback`),e}if(r===W.Connected&&(this.stopSendingKeepAlives(),this.onDisconnect))try{t?this.onDisconnect(t):this.onDisconnect()}catch(e){throw this.logger.error(e.toString()),this.logger.error(`Exception thrown by onDisconnect callback`),e}if(r===W.Connecting){if(!i)throw Error(`Connect resolve undefined.`);if(!a)throw Error(`Connect reject undefined.`);e===W.Connected?i():a(t||Error(`Connect aborted.`))}if(r===W.Disconnecting){if(!o)throw Error(`Disconnect resolve undefined.`);if(!s)throw Error(`Disconnect reject undefined.`);e===W.Disconnected?o():s(t||Error(`Disconnect aborted.`))}this.transitioningState=!1}clearKeepAliveTimeout(){this.keepAliveDebounceTimeout&&clearTimeout(this.keepAliveDebounceTimeout),this.keepAliveDebounceTimeout=void 0}sendKeepAlive(){return this.keepAliveDebounceTimeout?Promise.resolve():(this.keepAliveDebounceTimeout=setTimeout(()=>{this.clearKeepAliveTimeout()},this.configuration.keepAliveDebounce*1e3),this.send(`\r
56
56
  \r
57
- `))}startSendingKeepAlives(){this.configuration.keepAliveInterval&&!this.keepAliveInterval&&(this.keepAliveInterval=setInterval(()=>{this.sendKeepAlive(),this.startSendingKeepAlives()},(e=>{let t=e*.8;return 1e3*(Math.random()*(e-t)+t)})(this.configuration.keepAliveInterval)))}stopSendingKeepAlives(){this.keepAliveInterval&&clearInterval(this.keepAliveInterval),this.keepAliveDebounceTimeout&&clearTimeout(this.keepAliveDebounceTimeout),this.keepAliveInterval=void 0,this.keepAliveDebounceTimeout=void 0}};Tt.defaultOptions={server:``,connectionTimeout:5,keepAliveInterval:0,keepAliveDebounce:10,traceSip:!0};var Et=class e{constructor(t={}){if(this._publishers={},this._registerers={},this._sessions={},this._subscriptions={},this._state=De.Stopped,this._stateEventEmitter=new T,this.delegate=t.delegate,this.options=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},e.defaultOptions()),{sipjsId:ne(5)}),{uri:new k(`sip`,`anonymous.`+ne(6),`anonymous.invalid`)}),{viaHost:ne(12)+`.invalid`}),e.stripUndefinedProperties(t)),this.options.hackIpInContact)if(typeof this.options.hackIpInContact==`boolean`&&this.options.hackIpInContact){let e=Math.floor(Math.random()*254+1);this.options.viaHost=`192.0.2.`+e}else this.options.hackIpInContact&&(this.options.viaHost=this.options.hackIpInContact);switch(this.loggerFactory=new Ne,this.logger=this.loggerFactory.getLogger(`sip.UserAgent`),this.loggerFactory.builtinEnabled=this.options.logBuiltinEnabled,this.loggerFactory.connector=this.options.logConnector,this.options.logLevel){case`error`:this.loggerFactory.level=je.error;break;case`warn`:this.loggerFactory.level=je.warn;break;case`log`:this.loggerFactory.level=je.log;break;case`debug`:this.loggerFactory.level=je.debug;break;default:break}if(this.options.logConfiguration&&(this.logger.log(`Configuration:`),Object.keys(this.options).forEach(e=>{let t=this.options[e];switch(e){case`uri`:case`sessionDescriptionHandlerFactory`:this.logger.log(`· `+e+`: `+t);break;case`authorizationPassword`:this.logger.log(`· `+e+`: NOT SHOWN`);break;case`transportConstructor`:this.logger.log(`· `+e+`: `+t.name);break;default:this.logger.log(`· `+e+`: `+JSON.stringify(t))}})),this.options.transportOptions){let e=this.options.transportOptions,n=e.maxReconnectionAttempts,r=e.reconnectionTimeout;n!==void 0&&this.logger.warn(`The transport option "maxReconnectionAttempts" as has apparently been specified and has been deprecated. It will no longer be available starting with SIP.js release 0.16.0. Please update accordingly.`),r!==void 0&&this.logger.warn(`The transport option "reconnectionTimeout" as has apparently been specified and has been deprecated. It will no longer be available starting with SIP.js release 0.16.0. Please update accordingly.`),t.reconnectionDelay===void 0&&r!==void 0&&(this.options.reconnectionDelay=r),t.reconnectionAttempts===void 0&&n!==void 0&&(this.options.reconnectionAttempts=n)}if(t.reconnectionDelay!==void 0&&this.logger.warn(`The user agent option "reconnectionDelay" as has apparently been specified and has been deprecated. It will no longer be available starting with SIP.js release 0.16.0. Please update accordingly.`),t.reconnectionAttempts!==void 0&&this.logger.warn(`The user agent option "reconnectionAttempts" as has apparently been specified and has been deprecated. It will no longer be available starting with SIP.js release 0.16.0. Please update accordingly.`),this._transport=new this.options.transportConstructor(this.getLogger(`sip.Transport`),this.options.transportOptions),this.initTransportCallbacks(),this._contact=this.initContact(),this._instanceId=this.options.instanceId?this.options.instanceId:e.newUUID(),N.parse(this._instanceId,`uuid`)===-1)throw Error(`Invalid instanceId.`);this._userAgentCore=this.initCore()}static makeURI(e){return N.URIParse(e)}static defaultOptions(){return{allowLegacyNotifications:!1,authorizationHa1:``,authorizationPassword:``,authorizationUsername:``,delegate:{},contactName:``,contactParams:{transport:`ws`},displayName:``,forceRport:!1,gracefulShutdown:!0,hackAllowUnregisteredOptionTags:!1,hackIpInContact:!1,hackViaTcp:!1,instanceId:``,instanceIdAlwaysAdded:!1,logBuiltinEnabled:!0,logConfiguration:!0,logConnector:()=>{},logLevel:`log`,noAnswerTimeout:60,preloadedRouteSet:[],reconnectionAttempts:0,reconnectionDelay:4,sendInitialProvisionalResponse:!0,sessionDescriptionHandlerFactory:wt(),sessionDescriptionHandlerFactoryOptions:{},sipExtension100rel:Se.Unsupported,sipExtensionReplaces:Se.Unsupported,sipExtensionExtraSupported:[],sipjsId:``,transportConstructor:Tt,transportOptions:{},uri:new k(`sip`,`anonymous`,`anonymous.invalid`),userAgentString:`SIP.js/0.21.1`,viaHost:``}}static newUUID(){return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.floor(Math.random()*16);return(e===`x`?t:t%4+8).toString(16)})}static stripUndefinedProperties(e){return Object.keys(e).reduce((t,n)=>(e[n]!==void 0&&(t[n]=e[n]),t),{})}get configuration(){return this.options}get contact(){return this._contact}get instanceId(){return this._instanceId}get state(){return this._state}get stateChange(){return this._stateEventEmitter}get transport(){return this._transport}get userAgentCore(){return this._userAgentCore}getLogger(e,t){return this.loggerFactory.getLogger(e,t)}getLoggerFactory(){return this.loggerFactory}isConnected(){return this.transport.isConnected()}reconnect(){return this.state===De.Stopped?Promise.reject(Error(`User agent stopped.`)):Promise.resolve().then(()=>this.transport.connect())}start(){return this.state===De.Started?(this.logger.warn(`User agent already started`),Promise.resolve()):(this.logger.log(`Starting ${this.configuration.uri}`),this.transitionState(De.Started),this.transport.connect())}async stop(){if(this.state===De.Stopped)return this.logger.warn(`User agent already stopped`),Promise.resolve();if(this.logger.log(`Stopping ${this.configuration.uri}`),!this.options.gracefulShutdown)return this.logger.log(`Dispose of transport`),this.transport.dispose().catch(e=>{throw this.logger.error(e.message),e}),this.logger.log(`Dispose of core`),this.userAgentCore.dispose(),this._publishers={},this._registerers={},this._sessions={},this._subscriptions={},this.transitionState(De.Stopped),Promise.resolve();let e=Object.assign({},this._publishers),t=Object.assign({},this._registerers),n=Object.assign({},this._sessions),r=Object.assign({},this._subscriptions),i=this.transport,a=this.userAgentCore;for(let e in this.logger.log(`Dispose of registerers`),t)t[e]&&await t[e].dispose().catch(t=>{throw this.logger.error(t.message),delete this._registerers[e],t});for(let e in this.logger.log(`Dispose of sessions`),n)n[e]&&await n[e].dispose().catch(t=>{throw this.logger.error(t.message),delete this._sessions[e],t});for(let e in this.logger.log(`Dispose of subscriptions`),r)r[e]&&await r[e].dispose().catch(t=>{throw this.logger.error(t.message),delete this._subscriptions[e],t});for(let t in this.logger.log(`Dispose of publishers`),e)e[t]&&await e[t].dispose().catch(e=>{throw this.logger.error(e.message),delete this._publishers[t],e});this.logger.log(`Dispose of transport`),await i.dispose().catch(e=>{throw this.logger.error(e.message),e}),this.logger.log(`Dispose of core`),a.dispose(),this.transitionState(De.Stopped)}_makeInviter(e,t){return new Te(this,e,t)}attemptReconnection(e=1){let t=this.options.reconnectionAttempts,n=this.options.reconnectionDelay;if(e>t){this.logger.log(`Maximum reconnection attempts reached`);return}this.logger.log(`Reconnection attempt ${e} of ${t} - trying`),setTimeout(()=>{this.reconnect().then(()=>{this.logger.log(`Reconnection attempt ${e} of ${t} - succeeded`)}).catch(n=>{this.logger.error(n.message),this.logger.log(`Reconnection attempt ${e} of ${t} - failed`),this.attemptReconnection(++e)})},e===1?0:n*1e3)}initContact(){let e=this.options.contactName===``?ne(8):this.options.contactName,t=this.options.contactParams;return{pubGruu:void 0,tempGruu:void 0,uri:new k(`sip`,e,this.options.viaHost,void 0,t),toString:(e={})=>{let n=e.anonymous||!1,r=e.outbound||!1,i=e.register||!1,a=`<`;return n?a+=this.contact.tempGruu||`sip:anonymous@anonymous.invalid;transport=${t.transport?t.transport:`ws`}`:i?a+=this.contact.uri:a+=this.contact.pubGruu||this.contact.uri,r&&(a+=`;ob`),a+=`>`,this.options.instanceIdAlwaysAdded&&(a+=`;+sip.instance="<urn:uuid:`+this._instanceId+`>"`),a}}}initCore(){let e=[];e.push(`outbound`),this.options.sipExtension100rel===Se.Supported&&e.push(`100rel`),this.options.sipExtensionReplaces===Se.Supported&&e.push(`replaces`),this.options.sipExtensionExtraSupported&&e.push(...this.options.sipExtensionExtraSupported),this.options.hackAllowUnregisteredOptionTags||(e=e.filter(e=>Ce[e])),e=Array.from(new Set(e));let t=e.slice();return(this.contact.pubGruu||this.contact.tempGruu)&&t.push(`gruu`),new bt({aor:this.options.uri,contact:this.contact,displayName:this.options.displayName,loggerFactory:this.loggerFactory,hackViaTcp:this.options.hackViaTcp,routeSet:this.options.preloadedRouteSet,supportedOptionTags:e,supportedOptionTagsResponse:t,sipjsId:this.options.sipjsId,userAgentHeaderFieldValue:this.options.userAgentString,viaForceRport:this.options.forceRport,viaHost:this.options.viaHost,authenticationFactory:()=>{let e=this.options.authorizationUsername?this.options.authorizationUsername:this.options.uri.user,t=this.options.authorizationPassword?this.options.authorizationPassword:void 0,n=this.options.authorizationHa1?this.options.authorizationHa1:void 0;return new Ae(this.getLoggerFactory(),n,e,t)},transportAccessor:()=>this.transport},{onInvite:e=>{let t=new we(this,e);if(e.delegate={onCancel:e=>{t._onCancel(e)},onTransportError:e=>{this.logger.error(`A transport error has occurred while handling an incoming INVITE request.`)}},e.trying(),this.options.sipExtensionReplaces!==Se.Unsupported){let n=e.message.parseHeader(`replaces`);if(n){let e=n.call_id;if(typeof e!=`string`)throw Error(`Type of call id is not string`);let r=n.replaces_to_tag;if(typeof r!=`string`)throw Error(`Type of to tag is not string`);let i=n.replaces_from_tag;if(typeof i!=`string`)throw Error(`type of from tag is not string`);let a=e+r+i,o=this.userAgentCore.dialogs.get(a);if(!o){t.reject({statusCode:481});return}if(!o.early&&n.early_only===!0){t.reject({statusCode:486});return}let s=this._sessions[e+i]||this._sessions[e+r]||void 0;if(!s)throw Error(`Session does not exist.`);t._replacee=s}}if(this.delegate?.onInvite){if(t.autoSendAnInitialProvisionalResponse){t.progress().then(()=>{if(this.delegate?.onInvite===void 0)throw Error(`onInvite undefined.`);this.delegate.onInvite(t)});return}this.delegate.onInvite(t);return}t.reject({statusCode:486})},onMessage:e=>{if(this.delegate&&this.delegate.onMessage){let t=new ve(e);this.delegate.onMessage(t)}else e.accept()},onNotify:e=>{if(this.delegate&&this.delegate.onNotify){let t=new ye(e);this.delegate.onNotify(t)}else this.options.allowLegacyNotifications?e.accept():e.reject({statusCode:481})},onRefer:e=>{this.logger.warn(`Received an out of dialog REFER request`),this.delegate&&this.delegate.onReferRequest?this.delegate.onReferRequest(e):e.reject({statusCode:405})},onRegister:e=>{this.logger.warn(`Received an out of dialog REGISTER request`),this.delegate&&this.delegate.onRegisterRequest?this.delegate.onRegisterRequest(e):e.reject({statusCode:405})},onSubscribe:e=>{this.logger.warn(`Received an out of dialog SUBSCRIBE request`),this.delegate&&this.delegate.onSubscribeRequest?this.delegate.onSubscribeRequest(e):e.reject({statusCode:405})}})}initTransportCallbacks(){this.transport.onConnect=()=>this.onTransportConnect(),this.transport.onDisconnect=e=>this.onTransportDisconnect(e),this.transport.onMessage=e=>this.onTransportMessage(e)}onTransportConnect(){this.state!==De.Stopped&&this.delegate&&this.delegate.onConnect&&this.delegate.onConnect()}onTransportDisconnect(e){this.state!==De.Stopped&&(this.delegate&&this.delegate.onDisconnect&&this.delegate.onDisconnect(e),e&&this.options.reconnectionAttempts>0&&this.attemptReconnection())}onTransportMessage(e){let t=Pe.parseMessage(e,this.getLogger(`sip.Parser`));if(!t){this.logger.warn(`Failed to parse incoming message. Dropping.`);return}if(this.state===De.Stopped&&t instanceof se){this.logger.warn(`Received ${t.method} request while stopped. Dropping.`);return}let n=()=>{for(let e of[`from`,`to`,`call_id`,`cseq`,`via`])if(!t.hasHeader(e))return this.logger.warn(`Missing mandatory header field : ${e}.`),!1;return!0};if(t instanceof se){if(!n()){this.logger.warn(`Request missing mandatory header field. Dropping.`);return}if(!t.toTag&&t.callId.substr(0,5)===this.options.sipjsId){this.userAgentCore.replyStateless(t,{statusCode:482});return}let e=F(t.body),r=t.getHeader(`content-length`);if(r&&e<Number(r)){this.userAgentCore.replyStateless(t,{statusCode:400});return}}if(t instanceof ce){if(!n()){this.logger.warn(`Response missing mandatory header field. Dropping.`);return}if(t.getHeaders(`via`).length>1){this.logger.warn(`More than one Via header field present in the response. Dropping.`);return}if(t.via.host!==this.options.viaHost||t.via.port!==void 0){this.logger.warn(`Via sent-by in the response does not match UA Via host value. Dropping.`);return}let e=F(t.body),r=t.getHeader(`content-length`);if(r&&e<Number(r)){this.logger.warn(`Message body length is lower than the value in Content-Length header field. Dropping.`);return}}if(t instanceof se){this.userAgentCore.receiveIncomingRequestFromTransport(t);return}if(t instanceof ce){this.userAgentCore.receiveIncomingResponseFromTransport(t);return}throw Error(`Invalid message type.`)}transitionState(e,t){let n=()=>{throw Error(`Invalid state transition from ${this._state} to ${e}`)};switch(this._state){case De.Started:e!==De.Stopped&&n();break;case De.Stopped:e!==De.Started&&n();break;default:throw Error(`Unknown state.`)}this.logger.log(`Transitioned from ${this._state} to ${e}`),this._state=e,this._stateEventEmitter.emit(this._state)}},Dt=new window.AudioContext,Ot={1:[697,1209],2:[697,1336],3:[697,1477],A:[697,1633],4:[770,1209],5:[770,1336],6:[770,1477],B:[770,1633],7:[852,1209],8:[852,1336],9:[852,1477],C:[852,1633],"*":[941,1209],0:[941,1336],"#":[941,1477],D:[941,1633]},kt=(0,t.ref)(null),At=(0,t.ref)(null),jt=(0,t.ref)(.5);let Mt=()=>({playDtmf:(e,t=150)=>{Dt.state===`suspended`&&Dt.resume();let n=Ot[e.toUpperCase()];if(!n)return;let r=Dt.createOscillator(),i=Dt.createOscillator(),a=Dt.createGain();r.frequency.value=n[0],i.frequency.value=n[1],r.type=`sine`,i.type=`sine`,a.gain.value=.1*jt.value,r.connect(a),i.connect(a),a.connect(Dt.destination),r.start(),i.start(),setTimeout(()=>{r.stop(),i.stop(),r.disconnect(),i.disconnect(),a.disconnect()},t)},startRingtone:()=>{if(kt.value)return;Dt.state===`suspended`&&Dt.resume();let e=()=>{let e=Dt.currentTime,t=Dt.createOscillator(),n=Dt.createGain();t.type=`sine`,t.frequency.setValueAtTime(523.25,e),t.frequency.setValueAtTime(659.25,e+.1),t.frequency.setValueAtTime(783.99,e+.2),n.gain.setValueAtTime(.1*jt.value,e),n.gain.exponentialRampToValueAtTime(.001,e+.5),t.connect(n),n.connect(Dt.destination),t.start(e),t.stop(e+.5)};e(),kt.value=window.setInterval(()=>{e(),setTimeout(e,400)},3e3)},stopRingtone:()=>{kt.value&&=(clearInterval(kt.value),null)},startRingback:()=>{if(At.value)return;Dt.state===`suspended`&&Dt.resume();let e=()=>{let e=Dt.currentTime,t=Dt.createOscillator(),n=Dt.createGain();t.type=`sine`,t.frequency.value=425,n.gain.setValueAtTime(.1*jt.value,e),n.gain.linearRampToValueAtTime(.1*jt.value,e+1),n.gain.linearRampToValueAtTime(0,e+1.1),t.connect(n),n.connect(Dt.destination),t.start(e),t.stop(e+1.1)};e(),At.value=window.setInterval(()=>{e()},4e3)},stopRingback:()=>{At.value&&=(clearInterval(At.value),null)},setNotificationVolume:e=>{jt.value=Math.max(0,Math.min(1,e/100))}});function Nt(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Nt(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function Pt(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Nt(e))&&(r&&(r+=` `),r+=t);return r}var Ft=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},It=(e,t)=>({classGroupId:e,validator:t}),Lt=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Rt=`-`,zt=[],Bt=`arbitrary..`,Vt=e=>{let t=Wt(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Ut(e);let n=e.split(Rt);return Ht(n,n[0]===``&&n.length>1?1:0,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?Ft(i,t):t:i||zt}return n[e]||zt}}},Ht=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Ht(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(Rt):e.slice(t).join(Rt),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},Ut=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Bt+r:void 0})(),Wt=e=>{let{theme:t,classGroups:n}=e;return Gt(n,t)},Gt=(e,t)=>{let n=Lt();for(let r in e){let i=e[r];Kt(i,n,r,t)}return n},Kt=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];qt(i,t,n,r)}},qt=(e,t,n,r)=>{if(typeof e==`string`){Jt(e,t,n);return}if(typeof e==`function`){Yt(e,t,n,r);return}Xt(e,t,n,r)},Jt=(e,t,n)=>{let r=e===``?t:Zt(t,e);r.classGroupId=n},Yt=(e,t,n,r)=>{if(Qt(e)){Kt(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(It(n,e))},Xt=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Kt(o,Zt(t,a),n,r)}},Zt=(e,t)=>{let n=e,r=t.split(Rt),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=Lt(),n.nextPart.set(t,i)),n=i}return n},Qt=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,$t=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},en=`!`,tn=`:`,nn=[],rn=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),an=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===tn){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(en)?(c=s.slice(0,-1),l=!0):s.startsWith(en)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return rn(t,l,c,u)};if(t){let e=t+tn,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):rn(nn,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},on=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},sn=e=>({cache:$t(e.cacheSize),parseClassName:an(e),sortModifiers:on(e),...Vt(e)}),cn=/\s+/,ln=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(cn),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+en:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e<y.length;++e){let t=y[e];o.push(_+t)}c=t+(c.length>0?` `+c:c)}return c},un=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=dn(n))&&(i&&(i+=` `),i+=r);return i},dn=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=dn(e[r]))&&(n&&(n+=` `),n+=t);return n},fn=(e,...t)=>{let n,r,i,a,o=o=>(n=sn(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=ln(e,n);return i(e,a),a};return a=o,(...e)=>a(un(...e))},pn=[],mn=e=>{let t=t=>t[e]||pn;return t.isThemeGetter=!0,t},hn=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,gn=/^\((?:(\w[\w-]*):)?(.+)\)$/i,_n=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,vn=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,yn=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,bn=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,xn=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Sn=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Cn=e=>_n.test(e),K=e=>!!e&&!Number.isNaN(Number(e)),wn=e=>!!e&&Number.isInteger(Number(e)),Tn=e=>e.endsWith(`%`)&&K(e.slice(0,-1)),En=e=>vn.test(e),Dn=()=>!0,On=e=>yn.test(e)&&!bn.test(e),kn=()=>!1,An=e=>xn.test(e),jn=e=>Sn.test(e),Mn=e=>!q(e)&&!J(e),Nn=e=>Jn(e,Qn,kn),q=e=>hn.test(e),Pn=e=>Jn(e,$n,On),Fn=e=>Jn(e,er,K),In=e=>Jn(e,nr,Dn),Ln=e=>Jn(e,tr,kn),Rn=e=>Jn(e,Xn,kn),zn=e=>Jn(e,Zn,jn),Bn=e=>Jn(e,rr,An),J=e=>gn.test(e),Vn=e=>Yn(e,$n),Hn=e=>Yn(e,tr),Un=e=>Yn(e,Xn),Wn=e=>Yn(e,Qn),Gn=e=>Yn(e,Zn),Kn=e=>Yn(e,rr,!0),qn=e=>Yn(e,nr,!0),Jn=(e,t,n)=>{let r=hn.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Yn=(e,t,n=!1)=>{let r=gn.exec(e);return r?r[1]?t(r[1]):n:!1},Xn=e=>e===`position`||e===`percentage`,Zn=e=>e===`image`||e===`url`,Qn=e=>e===`length`||e===`size`||e===`bg-size`,$n=e=>e===`length`,er=e=>e===`number`,tr=e=>e===`family-name`,nr=e=>e===`number`||e===`weight`,rr=e=>e===`shadow`,ir=fn(()=>{let e=mn(`color`),t=mn(`font`),n=mn(`text`),r=mn(`font-weight`),i=mn(`tracking`),a=mn(`leading`),o=mn(`breakpoint`),s=mn(`container`),c=mn(`spacing`),l=mn(`radius`),u=mn(`shadow`),d=mn(`inset-shadow`),f=mn(`text-shadow`),p=mn(`drop-shadow`),m=mn(`blur`),h=mn(`perspective`),g=mn(`aspect`),_=mn(`ease`),v=mn(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),J,q],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[J,q,c],T=()=>[Cn,`full`,`auto`,...w()],E=()=>[wn,`none`,`subgrid`,J,q],D=()=>[`auto`,{span:[`full`,wn,J,q]},wn,J,q],O=()=>[wn,`auto`,J,q],k=()=>[`auto`,`min`,`max`,`fr`,J,q],A=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],ee=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],j=()=>[`auto`,...w()],M=()=>[Cn,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],te=()=>[Cn,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],N=()=>[Cn,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],P=()=>[e,J,q],ne=()=>[...b(),Un,Rn,{position:[J,q]}],re=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ie=()=>[`auto`,`cover`,`contain`,Wn,Nn,{size:[J,q]}],ae=()=>[Tn,Vn,Pn],F=()=>[``,`none`,`full`,l,J,q],oe=()=>[``,K,Vn,Pn],se=()=>[`solid`,`dashed`,`dotted`,`double`],ce=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],I=()=>[K,Tn,Un,Rn],le=()=>[``,`none`,m,J,q],ue=()=>[`none`,K,J,q],de=()=>[`none`,K,J,q],fe=()=>[K,J,q],L=()=>[Cn,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[En],breakpoint:[En],color:[Dn],container:[En],"drop-shadow":[En],ease:[`in`,`out`,`in-out`],font:[Mn],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[En],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[En],shadow:[En],spacing:[`px`,K],text:[En],"text-shadow":[En],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,Cn,q,J,g]}],container:[`container`],columns:[{columns:[K,q,J,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[wn,`auto`,J,q]}],basis:[{basis:[Cn,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[K,Cn,`auto`,`initial`,`none`,q]}],grow:[{grow:[``,K,J,q]}],shrink:[{shrink:[``,K,J,q]}],order:[{order:[wn,`first`,`last`,`none`,J,q]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":k()}],"auto-rows":[{"auto-rows":k()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...A(),`normal`]}],"justify-items":[{"justify-items":[...ee(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...ee()]}],"align-content":[{content:[`normal`,...A()]}],"align-items":[{items:[...ee(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...ee(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...ee(),`baseline`]}],"place-self":[{"place-self":[`auto`,...ee()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:j()}],mx:[{mx:j()}],my:[{my:j()}],ms:[{ms:j()}],me:[{me:j()}],mbs:[{mbs:j()}],mbe:[{mbe:j()}],mt:[{mt:j()}],mr:[{mr:j()}],mb:[{mb:j()}],ml:[{ml:j()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:M()}],"inline-size":[{inline:[`auto`,...te()]}],"min-inline-size":[{"min-inline":[`auto`,...te()]}],"max-inline-size":[{"max-inline":[`none`,...te()]}],"block-size":[{block:[`auto`,...N()]}],"min-block-size":[{"min-block":[`auto`,...N()]}],"max-block-size":[{"max-block":[`none`,...N()]}],w:[{w:[s,`screen`,...M()]}],"min-w":[{"min-w":[s,`screen`,`none`,...M()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...M()]}],h:[{h:[`screen`,`lh`,...M()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...M()]}],"max-h":[{"max-h":[`screen`,`lh`,...M()]}],"font-size":[{text:[`base`,n,Vn,Pn]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,qn,In]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Tn,q]}],"font-family":[{font:[Hn,Ln,t]}],"font-features":[{"font-features":[q]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,J,q]}],"line-clamp":[{"line-clamp":[K,`none`,J,Fn]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,J,q]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,J,q]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...se(),`wavy`]}],"text-decoration-thickness":[{decoration:[K,`from-font`,`auto`,J,Pn]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[K,`auto`,J,q]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,J,q]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,J,q]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ne()}],"bg-repeat":[{bg:re()}],"bg-size":[{bg:ie()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},wn,J,q],radial:[``,J,q],conic:[wn,J,q]},Gn,zn]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:ae()}],"gradient-via-pos":[{via:ae()}],"gradient-to-pos":[{to:ae()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:F()}],"rounded-s":[{"rounded-s":F()}],"rounded-e":[{"rounded-e":F()}],"rounded-t":[{"rounded-t":F()}],"rounded-r":[{"rounded-r":F()}],"rounded-b":[{"rounded-b":F()}],"rounded-l":[{"rounded-l":F()}],"rounded-ss":[{"rounded-ss":F()}],"rounded-se":[{"rounded-se":F()}],"rounded-ee":[{"rounded-ee":F()}],"rounded-es":[{"rounded-es":F()}],"rounded-tl":[{"rounded-tl":F()}],"rounded-tr":[{"rounded-tr":F()}],"rounded-br":[{"rounded-br":F()}],"rounded-bl":[{"rounded-bl":F()}],"border-w":[{border:oe()}],"border-w-x":[{"border-x":oe()}],"border-w-y":[{"border-y":oe()}],"border-w-s":[{"border-s":oe()}],"border-w-e":[{"border-e":oe()}],"border-w-bs":[{"border-bs":oe()}],"border-w-be":[{"border-be":oe()}],"border-w-t":[{"border-t":oe()}],"border-w-r":[{"border-r":oe()}],"border-w-b":[{"border-b":oe()}],"border-w-l":[{"border-l":oe()}],"divide-x":[{"divide-x":oe()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":oe()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...se(),`hidden`,`none`]}],"divide-style":[{divide:[...se(),`hidden`,`none`]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...se(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[K,J,q]}],"outline-w":[{outline:[``,K,Vn,Pn]}],"outline-color":[{outline:P()}],shadow:[{shadow:[``,`none`,u,Kn,Bn]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":[`none`,d,Kn,Bn]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:oe()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[K,Pn]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":oe()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":[`none`,f,Kn,Bn]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[K,J,q]}],"mix-blend":[{"mix-blend":[...ce(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ce()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[K]}],"mask-image-linear-from-pos":[{"mask-linear-from":I()}],"mask-image-linear-to-pos":[{"mask-linear-to":I()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":I()}],"mask-image-t-to-pos":[{"mask-t-to":I()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":I()}],"mask-image-r-to-pos":[{"mask-r-to":I()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":I()}],"mask-image-b-to-pos":[{"mask-b-to":I()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":I()}],"mask-image-l-to-pos":[{"mask-l-to":I()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":I()}],"mask-image-x-to-pos":[{"mask-x-to":I()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":I()}],"mask-image-y-to-pos":[{"mask-y-to":I()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[J,q]}],"mask-image-radial-from-pos":[{"mask-radial-from":I()}],"mask-image-radial-to-pos":[{"mask-radial-to":I()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[K]}],"mask-image-conic-from-pos":[{"mask-conic-from":I()}],"mask-image-conic-to-pos":[{"mask-conic-to":I()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ne()}],"mask-repeat":[{mask:re()}],"mask-size":[{mask:ie()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,J,q]}],filter:[{filter:[``,`none`,J,q]}],blur:[{blur:le()}],brightness:[{brightness:[K,J,q]}],contrast:[{contrast:[K,J,q]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Kn,Bn]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:[``,K,J,q]}],"hue-rotate":[{"hue-rotate":[K,J,q]}],invert:[{invert:[``,K,J,q]}],saturate:[{saturate:[K,J,q]}],sepia:[{sepia:[``,K,J,q]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,J,q]}],"backdrop-blur":[{"backdrop-blur":le()}],"backdrop-brightness":[{"backdrop-brightness":[K,J,q]}],"backdrop-contrast":[{"backdrop-contrast":[K,J,q]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,K,J,q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[K,J,q]}],"backdrop-invert":[{"backdrop-invert":[``,K,J,q]}],"backdrop-opacity":[{"backdrop-opacity":[K,J,q]}],"backdrop-saturate":[{"backdrop-saturate":[K,J,q]}],"backdrop-sepia":[{"backdrop-sepia":[``,K,J,q]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,J,q]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[K,`initial`,J,q]}],ease:[{ease:[`linear`,`initial`,_,J,q]}],delay:[{delay:[K,J,q]}],animate:[{animate:[`none`,v,J,q]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,J,q]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:ue()}],"rotate-x":[{"rotate-x":ue()}],"rotate-y":[{"rotate-y":ue()}],"rotate-z":[{"rotate-z":ue()}],scale:[{scale:de()}],"scale-x":[{"scale-x":de()}],"scale-y":[{"scale-y":de()}],"scale-z":[{"scale-z":de()}],"scale-3d":[`scale-3d`],skew:[{skew:fe()}],"skew-x":[{"skew-x":fe()}],"skew-y":[{"skew-y":fe()}],transform:[{transform:[J,q,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:L()}],"translate-x":[{"translate-x":L()}],"translate-y":[{"translate-y":L()}],"translate-z":[{"translate-z":L()}],"translate-none":[`translate-none`],accent:[{accent:P()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:P()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,J,q]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,J,q]}],fill:[{fill:[`none`,...P()]}],"stroke-w":[{stroke:[K,Vn,Pn,Fn]}],stroke:[{stroke:[`none`,...P()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});let Y=(...e)=>ir(Pt(e)),ar=e=>e.length<=3?e:`${e.slice(0,3)}${`*`.repeat(e.length-3)}`,or=(e,t)=>{if(e){let t=sr(e);if(t&&cr(t))return t;if(e.trim())return e.trim()}if(t){let e=sr(t);if(e&&cr(e))return e;let n=lr(t);if(n)return n;if(t.trim()&&!t.includes(`@`))return t.trim()}return`Unknown`};var sr=e=>e.replace(/[^\d+*#]/g,``),cr=e=>/^\+?[\d*#]{2,}$/.test(e),lr=e=>{let t=e.match(/^([+]?[\d*#]{2,})\s*[-:]/);return t&&t[1]||(t=e.match(/\(([+]?[\d*#]{2,})\)/),t&&t[1])||(t=e.match(/(?:ext\.?|extension)\s*([+]?[\d*#]{2,})/i),t&&t[1])?t[1]:(t=e.match(/([+]?\d{1,3}[-.\s]?\(?\d{1,4}\)?[-.\s]?\d{1,4}[-.\s]?\d{1,9})/),t&&t[1]?sr(t[1]):null)},ur=`X-Nebula-Queue`,dr=`X-Nebula-Queue-Id`;let fr=(e,n={})=>{let r=(0,t.shallowRef)(null),i=(0,t.shallowRef)(null),a=(0,t.shallowRef)(new Map),o=new Audio;o.autoplay=!0;let s=(0,t.shallowRef)(void 0),c=(0,t.shallowRef)(null),l=(0,t.shallowRef)(null),u=new Map,d=new Map,f=new Set,p=null,m=null,h=null,g=null,_=null,v=(0,t.computed)(()=>r.value?.configuration.uri?.user||``),{startRingtone:y,stopRingtone:b,startRingback:x,stopRingback:S,setNotificationVolume:C}=Mt(),w=e=>e instanceof Te||e instanceof we?e.request?.callId||e.dialog?.callId||e.id||crypto.randomUUID():e.dialog?.callId||e.id||crypto.randomUUID(),T=e=>{if(!(e instanceof we))return;let t=e.request;if(!t)return;let n=t.getHeader(ur)?.trim(),r=t.getHeader(dr)?.trim();if(!(!n&&!r))return{...r?{id:r}:{},...n?{name:n}:{}}},E=(e,t,r,i)=>{let a=T(e),o={channelId:t,sipCallId:w(e),direction:r,remoteNumber:i,...a?{queue:a}:{}};return u.set(t,o),n.onCallContext?.(o),o},D=(e,t)=>{let r=u.get(e);r&&n.onCallState?.({...r,state:t,timestamp:Date.now()})},O=(e,t)=>{if(e.state!==V.Established)return;let r=u.get(t),i=e.sessionDescriptionHandler,a=i?.localMediaStream??l.value,o=i?.remoteMediaStream??c.value,s=a?.getAudioTracks()??[],f=o?.getAudioTracks()??[];if(!r||!a||!o||s.length===0||f.length===0)return;let p=[r.sipCallId,...s.map(e=>`local:${e.id}`),...f.map(e=>`remote:${e.id}`)].join(`|`);d.get(t)!==p&&(d.set(t,p),n.onMediaReady?.({...r,localStream:a,remoteStream:o}))},k=e=>{u.delete(e),d.delete(e),f.delete(e)},A=()=>{e.channels.value.some(e=>e.status===`incoming`)?y():b(),e.activeChannel.value?.status===`calling`?x():S()},ee=e=>{o.volume=e/100},j=async e=>{typeof o.setSinkId==`function`&&await o.setSinkId(e)},M=e=>{s.value=e},te=(e,t)=>{let n=!1,r=e.sessionDescriptionHandler;return r?.peerConnection&&r.peerConnection.getSenders().forEach(e=>{e.track&&e.track.kind===`audio`&&(e.track.enabled=t,n=!0)}),n},N=e=>{let t=!1;return l.value&&l.value.getAudioTracks().forEach(n=>{n.enabled=e,t=!0}),t},P=(e,t)=>{let n=!(t?.isHeld||t?.isMuted),r=te(e,n),i=N(n);!r&&!i&&console.warn(`[SipJs] No audio tracks found to apply channel audio state`)},ne=t=>{for(let[n,r]of a.value.entries())if(r===t)return e.channels.value.find(e=>e.id===n)||null;return e.activeChannel.value||null},re=async e=>{let t=e.sessionDescriptionHandler?.peerConnection;if(!t)return;let n=ne(e),r=!(n?.isHeld||n?.isMuted),i=t.getSenders().find(e=>e.track?.kind===`audio`);if(i?.track){i.track.enabled=r,n&&O(e,n.id);return}try{let[i]=(await navigator.mediaDevices.getUserMedia(ie(!1))).getAudioTracks();if(!i)return;i.enabled=r;let a=new MediaStream([i]);l.value=a;let o=t.getSenders().find(e=>e.track===null);o?await o.replaceTrack(i):t.addTrack(i,a),P(e,n),n&&O(e,n.id)}catch(e){console.warn(`[SipJs] Failed to recover outbound audio track:`,e)}},ie=(e=!1)=>{let t={echoCancellation:{ideal:!0},noiseSuppression:{ideal:!1},autoGainControl:{ideal:!1},channelCount:1};return s.value&&(t.deviceId={exact:s.value}),{audio:t,video:e}},ae=async()=>{let t=i.value;t&&await t.register({requestDelegate:{onAccept:()=>{e.setConnected(!0)},onReject:()=>{e.setConnected(!1)}}})},F=async t=>{if(!r.value){try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch(e){console.error(`Microphone permission denied`,e);return}try{let n=Et.makeURI(t.uri);if(!n)throw Error(`Invalid URI`);r.value=new Et({uri:n,logLevel:`error`,transportOptions:{server:t.transportOptions.server},authorizationUsername:t.authorizationUsername,authorizationPassword:t.authorizationPassword,reconnectionDelay:5,reconnectionAttempts:3,delegate:{onConnect:()=>{},onDisconnect:()=>e.setConnected(!1),onInvite:e=>I(e)}}),await r.value.start(),i.value=new Ee(r.value),await ae(),oe()}catch{}}},oe=()=>{h=new AbortController;let{signal:t}=h,n=Date.now(),r=(e=1e3)=>{g&&clearTimeout(g),g=setTimeout(async()=>{g=null,await se()},e)},i=()=>{if(document.visibilityState===`visible`){let e=Date.now()-n;e>5e3?(console.log(`[SipJs] Device was suspended for ${Math.round(e/1e3)}s, reconnecting...`),r(1500)):r(500)}n=Date.now()},a=()=>{console.log(`[SipJs] Network online, reconnecting...`),r(1e3)},o=()=>{console.log(`[SipJs] Network offline`),e.setConnected(!1),g&&=(clearTimeout(g),null)},s=()=>{_=setInterval(()=>{let e=Date.now(),t=e-n;t>3e4&&(console.log(`[SipJs] Heartbeat drift detected (${Math.round(t/1e3)}s), device may have woken from sleep`),r(1500)),n=e},1e3)};document.addEventListener(`visibilitychange`,i,{signal:t}),window.addEventListener(`online`,a,{signal:t}),window.addEventListener(`offline`,o,{signal:t}),document.addEventListener(`freeze`,()=>{console.log(`[SipJs] Page frozen`),_&&=(clearInterval(_),null)},{signal:t}),document.addEventListener(`resume`,()=>{console.log(`[SipJs] Page resumed`),n=Date.now(),s(),r(1e3)},{signal:t}),s()},se=async()=>{if(r.value){if(!navigator.onLine){console.log(`[SipJs] Skipping reconnect, device is offline`);return}if(a.value.size>0){console.log(`[SipJs] Skipping reconnect, active calls in progress`);return}try{if(r.value.isConnected()||(console.log(`[SipJs] Reconnecting...`),await r.value.reconnect()),i.value&&r.value.isConnected())try{await ae()}catch{}}catch(e){console.error(`[SipJs] Reconnection failed:`,e)}}},ce=async()=>{h?.abort(),h=null,g&&=(clearTimeout(g),null),_&&=(clearInterval(_),null);let e=i.value,t=r.value;if(i.value=null,r.value=null,e)try{await e.unregister()}catch(e){console.warn(`[SipJs] Unregister failed:`,e)}if(t)try{await t.stop()}catch(e){console.warn(`[SipJs] UserAgent stop failed:`,e)}},I=t=>{console.log(`[SipJs] 📞 Llamada entrante recibida`),console.log(`[SipJs] Remote Identity URI:`,t.remoteIdentity.uri.toString()),console.log(`[SipJs] Remote Identity URI user:`,t.remoteIdentity.uri.user),console.log(`[SipJs] Remote Identity displayName:`,t.remoteIdentity.displayName);let n=e.channels.value.find(e=>e.status===`idle`);if(!n){console.warn(`[SipJs] ⚠️ No hay canales disponibles, rechazando llamada`),t.reject();return}let r=n.id;a.value.set(r,t);let i=t.body?t.body.includes(`m=video`):!1,o=or(t.remoteIdentity.uri.user,t.remoteIdentity.displayName);console.log(`[SipJs] 📋 Caller number extraído:`,o),console.log(`[SipJs] 🎥 Video:`,i?`Sí`:`No`),e.updateChannelState(r,{status:`incoming`,remoteNumber:o,remoteDisplayName:t.remoteIdentity.displayName||void 0,hasVideo:i}),E(t,r,`incoming`,o),D(r,`ringing`),A(),e.setActiveChannelId(r),t.stateChange.addListener(n=>{switch(n){case V.Terminated:{let n=e.channels.value.find(e=>e.id===r),i=or(t.remoteIdentity.uri.user,t.remoteIdentity.displayName);if(n?.status===`connected`){let t=Math.floor((Date.now()-(n.startTime||Date.now()))/1e3);e.addCallLog({number:i,direction:`incoming`,status:`answered`,startTime:n.startTime||Date.now(),duration:t})}else n?.status===`incoming`&&e.addCallLog({number:i,direction:`incoming`,status:`missed`,startTime:Date.now(),duration:0});D(r,f.has(r)?`ended`:`failed`),k(r),e.updateChannelState(r,{status:`idle`,remoteNumber:``,isMuted:!1,isHeld:!1,hasVideo:!1,hasEarlyMedia:!1}),a.value.delete(r),e.activeChannelId.value===r&&ye(),A();break}case V.Established:f.add(r),e.updateChannelState(r,{status:`connected`,startTime:Date.now()}),D(r,`connected`),e.activeChannelId.value===r&&(ve(t),re(t).then(()=>O(t,r))),A();break}})},le=async(t,n=!1)=>{if(!r.value)return;let i=e.activeChannelId.value;if(a.value.has(i))return;let o=Et.makeURI(t);if(!o&&r.value.configuration.uri){let e=r.value.configuration.uri.host;o=Et.makeURI(`sip:${t}@${e}`)}if(!o)return;let s=new Te(r.value,o);a.value.set(i,s),E(s,i,`outgoing`,t),D(i,`dialing`),e.updateChannelState(i,{status:`calling`,remoteNumber:t,hasVideo:n}),e.setLastDialedNumber(t),A(),s.stateChange.addListener(n=>{switch(n){case V.Established:f.add(i),e.channels.value.find(e=>e.id===i)?.status!==`connected`&&(e.updateChannelState(i,{status:`connected`,startTime:Date.now()}),D(i,`connected`),ve(s),re(s).then(()=>O(s,i)),A());break;case V.Terminated:{let n=e.channels.value.find(e=>e.id===i);if(n?.status===`connected`){let r=Math.floor((Date.now()-(n.startTime||Date.now()))/1e3);e.addCallLog({number:t,direction:`outgoing`,status:`answered`,startTime:n.startTime||Date.now(),duration:r})}else e.addCallLog({number:t,direction:`outgoing`,status:`cancelled`,startTime:Date.now(),duration:0});D(i,f.has(i)?`ended`:`failed`),k(i),e.updateChannelState(i,{status:`idle`,remoteNumber:``,isMuted:!1,isHeld:!1,startTime:void 0,keypadValue:``,hasVideo:!1}),a.value.delete(i),e.activeChannelId.value===i&&ye(),A();break}}});let c={sessionDescriptionHandlerOptions:{constraints:ie(n)},requestDelegate:{onProgress:t=>{(t.message.statusCode===180||t.message.statusCode===183)&&(t.message.body&&(e.updateChannelState(i,{hasEarlyMedia:!0}),ve(s)),A())},onAccept:t=>{e.channels.value.find(e=>e.id===i)?.status!==`connected`&&(f.add(i),e.updateChannelState(i,{status:`connected`,startTime:Date.now()}),D(i,`connected`),ve(s),re(s).then(()=>O(s,i)),A())}}};await s.invite(c)},ue=async(t=!1)=>{let n=e.activeChannelId.value,r=a.value.get(n);if(r instanceof we&&r.state===V.Initial){for(let[t,n]of a.value.entries())if(t!==e.activeChannelId.value&&n.state===V.Established&&!e.channels.value.find(e=>e.id===t)?.isHeld)try{await L(n,!0),e.updateChannelState(t,{isHeld:!0})}catch(e){console.error(`[SipJs] Failed to hold channel ${t}:`,e)}let i={sessionDescriptionHandlerOptions:{constraints:ie(t)}};e.updateChannelState(n,{status:`connected`,startTime:Date.now()});try{await r.accept(i),await re(r),A()}catch(t){let r=a.value.get(n);throw r instanceof we&&r.state===V.Initial&&e.updateChannelState(n,{status:`incoming`,startTime:void 0}),t}}},de=async()=>{let t=a.value.get(e.activeChannelId.value);if(t)switch(t.state){case V.Initial:case V.Establishing:t instanceof Te?await t.cancel():t instanceof we&&await t.reject();break;case V.Established:await t.bye();break}},fe=()=>{let t=a.value.get(e.activeChannelId.value);if(!t)return;let n=!e.isMuted.value;e.setMuted(n),P(t,e.channels.value.find(t=>t.id===e.activeChannelId.value))},L=async(e,t)=>{let n={sessionDescriptionHandlerOptions:{hold:t}};await e.invite(n)},R=async()=>{let t=a.value.get(e.activeChannelId.value);if(t?.state!==V.Established)return;let n=!e.isHeld.value;try{await L(t,n),e.setHeld(n),P(t,e.channels.value.find(t=>t.id===e.activeChannelId.value))}catch{}},pe=async t=>{let n=e.activeChannelId.value;if(n===t)return;let r=a.value.get(n),i=a.value.get(t),o=e.channels.value.find(e=>e.id===n),s=e.channels.value.find(e=>e.id===t);if(r&&r.state===V.Established&&!o?.isHeld)try{await L(r,!0),e.updateChannelState(n,{isHeld:!0}),P(r,e.channels.value.find(e=>e.id===n))}catch{}if(e.setActiveChannelId(t),A(),i&&i.state===V.Established){if(s?.isHeld)try{await L(i,!1),e.updateChannelState(t,{isHeld:!1})}catch{}P(i,e.channels.value.find(e=>e.id===t)),ve(i)}else ye()},me=t=>{if(!/^[0-9*#]$/.test(t))return;let n=a.value.get(e.activeChannelId.value);if(n?.state!==V.Established)return;let r=n.sessionDescriptionHandler?.peerConnection?.getSenders().find(e=>e.track?.kind===`audio`)?.dtmf;if(r?.canInsertDTMF){r.insertDTMF(t,160,70);return}let i={requestOptions:{body:{content:`Signal=${t}\r\nDuration=160`,contentType:`application/dtmf-relay`,contentDisposition:`signal`}}};n.info(i)},he=(t,n)=>{let r=e.channels.value.find(e=>e.id===t);!r||r.status!==`connected`||(ve(n),P(n,r),re(n),o.play().catch(()=>{}))},z=async t=>{console.log(`[SipJs] 🔄 transferCall iniciado`),console.log(`[SipJs] Target:`,t);let n=e.activeChannelId.value,i=a.value.get(n);if(!i)throw console.error(`[SipJs] ❌ No hay sesión activa en el canal`,n),Error(`No active session to transfer`);if(console.log(`[SipJs] Sesión encontrada - Estado:`,i.state),console.log(`[SipJs] Dialog ID:`,i.dialog?.id),console.log(`[SipJs] Call ID:`,i.dialog?.callId),i.state!==V.Established)throw console.error(`[SipJs] ❌ Sesión no establecida. Estado actual:`,i.state),Error(`Cannot transfer call. Call is not established (state: ${i.state})`);let o=Et.makeURI(t);if(!o&&r.value?.configuration.uri){let e=r.value.configuration.uri.host;console.log(`[SipJs] Construyendo URI con dominio:`,e),o=Et.makeURI(`sip:${t}@${e}`)}if(!o)throw console.error(`[SipJs] ❌ URI de destino inválida:`,t),Error(`Invalid transfer target: ${t}`);console.log(`[SipJs] 📤 URI de transferencia:`,o.toString()),console.log(`[SipJs] URI scheme:`,o.scheme),console.log(`[SipJs] URI user:`,o.user),console.log(`[SipJs] URI host:`,o.host);try{console.log(`[SipJs] 🚀 Enviando REFER...`),await i.refer(o,{requestDelegate:{onAccept:e=>{console.log(`[SipJs] ✅ Transfer REFER aceptado por el servidor (202 Accepted)`),console.log(`[SipJs] Response:`,e.message)},onReject:e=>{let t=e.message.statusCode;console.error(`[SipJs] ❌ Transfer REFER rechazado:`,t),console.error(`[SipJs] Response completo:`,e.message),he(n,i)}},onNotify:e=>{console.log(`[SipJs] 📬 NOTIFY recibido para transferencia`),console.log(`[SipJs] NOTIFY request:`,e.request),e.accept();let t=e.request.body;if(console.log(`[SipJs] NOTIFY body:`,t),t){let e=t.match(/SIP\/2\.0\s+(\d{3})(.*)/);if(e&&e[1]){let t=parseInt(e[1],10),r=e[2]?.trim()||``;if(console.log(`[SipJs] 📊 Status code:`,t),console.log(`[SipJs] 📊 Status text:`,r),t>=200&&t<300)console.log(`[SipJs] ✅ Transferencia exitosa! Terminando sesión...`),setTimeout(()=>{i.bye().catch(e=>{console.warn(`[SipJs] Error hanging up after successful transfer:`,e)})},500);else if(t>=400){console.error(`[SipJs] ❌ Transfer falló con status:`,t,r),console.log(`[SipJs] 🔄 Manteniendo la sesión activa para el usuario`);let e={404:`Número no encontrado`,486:`Número ocupado`,487:`Transferencia cancelada`,503:`Servicio no disponible - el destino puede estar fuera de línea`}[t]||`Error en transferencia (código ${t})`;console.warn(`[SipJs] 💬`,e),he(n,i)}else t>=100&&t<200&&console.log(`[SipJs] 📞 Transferencia en progreso:`,t,r)}else console.warn(`[SipJs] ⚠️ No se pudo extraer el código de estado del NOTIFY body`)}else console.warn(`[SipJs] ⚠️ NOTIFY sin body`)}}),console.log(`[SipJs] ✅ REFER enviado exitosamente (promesa resuelta)`)}catch(e){throw console.error(`[SipJs] ❌ Error en transferCall:`,e),console.error(`[SipJs] Error type:`,e?.constructor?.name),console.error(`[SipJs] Error message:`,e instanceof Error?e.message:String(e)),console.error(`[SipJs] Error stack:`,e instanceof Error?e.stack:`N/A`),e}},ge=async t=>{console.log(`[SipJs] 🔄 startAttendedTransfer iniciado`),console.log(`[SipJs] Target:`,t);let n=e.activeChannelId.value,r=a.value.get(n);if(console.log(`[SipJs] Canal original:`,n),console.log(`[SipJs] Sesión original:`,r?.state),!r||r.state!==V.Established)throw console.error(`[SipJs] ❌ No hay llamada establecida para transferir`),Error(`No established call to transfer`);let i=e.channels.value.find(e=>e.status===`idle`);if(console.log(`[SipJs] Canal de consulta encontrado:`,i?.id),!i)throw console.error(`[SipJs] ❌ No hay canales disponibles para llamada de consulta`),Error(`No available channel for consultation call`);try{console.log(`[SipJs] 🔇 Poniendo llamada original en hold...`),await L(r,!0),e.updateChannelState(n,{isHeld:!0}),console.log(`[SipJs] ✅ Llamada original en hold`)}catch(e){throw console.error(`[SipJs] ❌ Failed to hold original call:`,e),Error(`Failed to put call on hold`)}console.log(`[SipJs] 🔄 Cambiando al canal de consulta:`,i.id),e.setActiveChannelId(i.id);try{console.log(`[SipJs] 📞 Iniciando llamada de consulta a:`,t),await le(t,!1),console.log(`[SipJs] ✅ Llamada de consulta iniciada`),e.setTransferInProgress({originalChannelId:n,consultationChannelId:i.id,targetNumber:t}),console.log(`[SipJs] 📋 Transferencia en progreso registrada`)}catch(t){throw console.error(`[SipJs] ❌ Failed to start consultation call:`,t),console.log(`[SipJs] 🔄 Volviendo al canal original y quitando hold...`),e.setActiveChannelId(n),await L(r,!1).catch(()=>{}),e.updateChannelState(n,{isHeld:!1}),Error(`Failed to initiate consultation call`)}},B=async()=>{console.log(`[SipJs] 🔄 completeAttendedTransfer iniciado`);let t=e.transferInProgress.value;if(!t)throw console.error(`[SipJs] ❌ No hay transferencia en progreso`),Error(`No transfer in progress`);console.log(`[SipJs] Estado de transferencia:`,t);let n=a.value.get(t.originalChannelId),i=a.value.get(t.consultationChannelId);if(console.log(`[SipJs] Sesión original:`,n?.state),console.log(`[SipJs] Sesión de consulta:`,i?.state),!n||!i)throw console.error(`[SipJs] ❌ Falta una o ambas sesiones`),Error(`Missing session for transfer`);if(i.state!==V.Established)throw console.error(`[SipJs] ❌ Llamada de consulta no está establecida. Estado:`,i.state),Error(`Consultation call not established`);let o=i.dialog;if(!o)throw Error(`No dialog available for consultation session`);let s=o.callId,c=o.remoteTag,l=o.localTag,u=Et.makeURI(t.targetNumber);if(!u&&r.value?.configuration.uri){let e=r.value.configuration.uri.host;u=Et.makeURI(`sip:${t.targetNumber}@${e}`)}if(!u)throw Error(`Invalid transfer target URI`);let d=`${encodeURIComponent(s)}%3Bto-tag%3D${encodeURIComponent(c)}%3Bfrom-tag%3D${encodeURIComponent(l)}`;u.setHeader(`Replaces`,d);try{await n.refer(u,{onNotify:t=>{t.accept();let r=t.request.body,a=typeof r==`string`?r:r&&typeof r==`object`&&`content`in r?r.content:void 0;if(a){let t=a.match(/SIP\/2\.0\s+(\d+)/);if(t&&t[1]){let r=parseInt(t[1]);r>=200&&r<300?setTimeout(()=>{n.bye().catch(()=>{}),i.bye().catch(()=>{}),e.setTransferInProgress(null)},500):r>=400&&(console.error(`[SipJs] Attended transfer failed with status:`,r),e.setTransferInProgress(null))}}},requestDelegate:{onAccept:()=>{},onReject:t=>{console.error(`[SipJs] Attended transfer REFER rejected:`,t.message.statusCode),e.setTransferInProgress(null)}}})}catch(e){throw console.error(`[SipJs] Attended transfer failed:`,e),e}},_e=async()=>{let t=e.transferInProgress.value;if(!t)throw Error(`No transfer in progress`);console.log(`[SipJs] Canceling attended transfer...`);let n=a.value.get(t.originalChannelId),r=a.value.get(t.consultationChannelId);if(r)try{await r.bye(),console.log(`[SipJs] Consultation call ended`)}catch(e){console.warn(`[SipJs] Error ending consultation:`,e)}if(n)try{e.setActiveChannelId(t.originalChannelId),await L(n,!1),e.updateChannelState(t.originalChannelId,{isHeld:!1}),console.log(`[SipJs] Returned to original call`)}catch(e){console.warn(`[SipJs] Error resuming original call:`,e)}e.setTransferInProgress(null)},ve=e=>{let t=e.sessionDescriptionHandler;if(!t){console.error(`[SipJs] setupRemoteMedia: no sessionDescriptionHandler`);return}let n=t.remoteMediaStream;if(!n){console.error(`[SipJs] setupRemoteMedia: no remoteMediaStream on SDH`);return}if(c.value===n)return;o.pause(),o.srcObject=null,p?.abort(),p=new AbortController,c.value=n,l.value=t.localMediaStream??null;let r=ne(e);P(e,r),r&&O(e,r.id);let i=e=>{m?.abort(),m=new AbortController;let{signal:t}=m,n=()=>{o.play().catch(e=>{e.name!==`AbortError`&&console.error(`[SipJs] play() failed:`,e.name,e.message)})};e.addEventListener(`unmute`,()=>{n()},{signal:t}),n()};n.addEventListener(`addtrack`,t=>{t.track.kind===`audio`&&(o.srcObject=null,o.srcObject=n,i(t.track),r&&O(e,r.id))},{signal:p.signal});let[a]=n.getTracks();a&&(o.srcObject=n,i(a),r&&O(e,r.id))},ye=()=>{m?.abort(),m=null,p?.abort(),p=null,o.pause(),o.srcObject=null,c.value=null,l.value=null};return{initUserAgent:F,stop:ce,makeCall:le,answerCall:ue,hangupCall:de,toggleMute:fe,toggleHold:R,sendDTMF:me,transferCall:z,startAttendedTransfer:ge,completeAttendedTransfer:B,cancelAttendedTransfer:_e,switchChannel:pe,extension:v,setVolume:ee,setNotificationVolume:C,setOutputDevice:j,setInputDevice:M,remoteStream:c,localStream:l}};var pr=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e;let mr=Pt,hr=(e,t)=>n=>{if(t?.variants==null)return mr(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=pr(t)||pr(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return mr(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};function gr(e){return typeof e==`string`?`'${e}'`:new _r().serialize(e)}var _r=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}();function vr(e,t){return e===t||gr(e)===gr(t)}function yr(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}function br(e,n){let r=typeof e==`string`&&!n?`${e}Context`:n,i=Symbol(r);return[n=>{let r=(0,t.inject)(i,n);if(r||r===null)return r;throw Error(`Injection \`${i.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>((0,t.provide)(i,e),e)]}function xr(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function Sr(e,t,n){let r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function Cr(e){return e==null}function wr(e){return e?e.flatMap(e=>e.type===t.Fragment?wr(e.children):[e]):[]}var[Tr,Er]=br(`ConfigProvider`);function Dr(e,n){return(0,t.getCurrentScope)()?((0,t.onScopeDispose)(e,n),!0):!1}function Or(){let e=new Set,t=t=>{e.delete(t)};return{on:n=>{e.add(n);let r=()=>t(n);return Dr(r),{off:r}},off:t,trigger:(...t)=>Promise.all(Array.from(e).map(e=>e(...t))),clear:()=>{e.clear()}}}var kr=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Ar=jr();function jr(){var e,t;return kr&&!!(!((e=window)==null||(e=e.navigator)==null)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function Mr(e){return e||(0,t.getCurrentInstance)()}function Nr(e,n=1e4){return(0,t.customRef)((r,i)=>{let a=(0,t.toValue)(e),o,s=()=>setTimeout(()=>{a=(0,t.toValue)(e),i()},(0,t.toValue)(n));return Dr(()=>{clearTimeout(o)}),{get(){return r(),a},set(e){a=e,i(),clearTimeout(o),o=s()}}})}function Pr(e,n){Mr(n)&&(0,t.onBeforeUnmount)(e,n)}function Fr(e,n,r={}){let{immediate:i=!0,immediateCallback:a=!1}=r,o=(0,t.shallowRef)(!1),s;function c(){s&&=(clearTimeout(s),void 0)}function l(){o.value=!1,c()}function u(...r){a&&e(),c(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=void 0,e(...r)},(0,t.toValue)(n))}return i&&(o.value=!0,kr&&u()),Dr(l),{isPending:(0,t.shallowReadonly)(o),start:u,stop:l}}function Ir(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function Lr(e,t,n=`.`,r){if(!Ir(t))return Lr(e,{},n,r);let i=Object.assign({},t);for(let t in e){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(Array.isArray(a)&&Array.isArray(i[t])?i[t]=[...a,...i[t]]:Ir(a)&&Ir(i[t])?i[t]=Lr(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function Rr(e){return(...t)=>t.reduce((t,n)=>Lr(t,n,``,e),{})}var zr=Rr(),Br=(0,n.createSharedComposable)(()=>{let e=(0,t.ref)(new Map),r=(0,t.ref)(),i=(0,t.computed)(()=>{for(let t of e.value.values())if(t)return!0;return!1}),a=Tr({scrollBody:(0,t.ref)(!0)}),o=null,s=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,document.body.style.pointerEvents=``,document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=r.value??``,Ar&&o?.(),r.value=void 0};return(0,t.watch)(i,(e,i)=>{if(!kr)return;if(!e){i&&s();return}r.value===void 0&&(r.value=document.body.style.overflow);let c=window.innerWidth-document.documentElement.clientWidth,l={padding:c,margin:0},u=a.scrollBody?.value?typeof a.scrollBody.value==`object`?zr({padding:a.scrollBody.value.padding===!0?c:a.scrollBody.value.padding,margin:a.scrollBody.value.margin===!0?c:a.scrollBody.value.margin},l):l:{padding:0,margin:0};c>0&&(document.body.style.paddingRight=typeof u.padding==`number`?`${u.padding}px`:String(u.padding),document.body.style.marginRight=typeof u.margin==`number`?`${u.margin}px`:String(u.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${c}px`),document.body.style.overflow=`hidden`),Ar&&(o=(0,n.useEventListener)(document,`touchmove`,e=>Ur(e),{passive:!1})),(0,t.nextTick)(()=>{document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`})},{immediate:!0,flush:`sync`}),e});function Vr(e){let n=Math.random().toString(36).substring(2,7),r=Br();r.value.set(n,e??!1);let i=(0,t.computed)({get:()=>r.value.get(n)??!1,set:e=>r.value.set(n,e)});return Pr(()=>{r.value.delete(n)}),i}function Hr(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth<e.scrollWidth||t.overflowY===`auto`&&e.clientHeight<e.scrollHeight)return!0;{let t=e.parentNode;return!(t instanceof Element)||t.tagName===`BODY`?!1:Hr(t)}}function Ur(e){let t=e||window.event,n=t.target;return n instanceof Element&&Hr(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function Wr(e){let n=Tr({dir:(0,t.ref)(`ltr`)});return(0,t.computed)(()=>e?.value||n.dir?.value||`ltr`)}function Gr(e){let n=(0,t.getCurrentInstance)(),r=n?.type.emits,i={};return r?.length||console.warn(`No emitted event found. Please check component: ${n?.type.__name}`),r?.forEach(n=>{i[(0,t.toHandlerKey)((0,t.camelize)(n))]=(...t)=>e(n,...t)}),i}var Kr=0;function qr(){(0,t.watchEffect)(e=>{if(!kr)return;let t=document.querySelectorAll(`[data-reka-focus-guard]`);document.body.insertAdjacentElement(`afterbegin`,t[0]??Jr()),document.body.insertAdjacentElement(`beforeend`,t[1]??Jr()),Kr++,e(()=>{Kr===1&&document.querySelectorAll(`[data-reka-focus-guard]`).forEach(e=>e.remove()),Kr--})})}function Jr(){let e=document.createElement(`span`);return e.setAttribute(`data-reka-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}function Yr(e){return(0,t.computed)(()=>(0,t.toValue)(e)?!!(0,n.unrefElement)(e)?.closest(`form`):!0)}function X(){let e=(0,t.getCurrentInstance)(),r=(0,t.ref)(),i=(0,t.computed)(()=>a());(0,t.onUpdated)(()=>{i.value!==a()&&(0,t.triggerRef)(r)});function a(){return r.value&&`$el`in r.value&&[`#text`,`#comment`].includes(r.value.$el.nodeName)?r.value.$el.nextElementSibling:(0,n.unrefElement)(r)}let o=Object.assign({},e.exposed),s={};for(let t in e.props)Object.defineProperty(s,t,{enumerable:!0,configurable:!0,get:()=>e.props[t]});if(Object.keys(o).length>0)for(let e in o)Object.defineProperty(s,e,{enumerable:!0,configurable:!0,get:()=>o[e]});Object.defineProperty(s,`$el`,{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=s;function c(t){if(r.value=t,t&&(Object.defineProperty(s,`$el`,{enumerable:!0,configurable:!0,get:()=>t instanceof Element?t:t.$el}),!(t instanceof Element)&&!Object.prototype.hasOwnProperty.call(t,`$el`))){let n=t.$.exposed,r=Object.assign({},s);for(let e in n)Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>n[e]});e.exposed=r}}return{forwardRef:c,currentRef:r,currentElement:i}}function Xr(e){let n=(0,t.getCurrentInstance)(),r=Object.keys(n?.type.props??{}).reduce((e,t)=>{let r=(n?.type.props[t]).default;return r!==void 0&&(e[t]=r),e},{}),i=(0,t.toRef)(e);return(0,t.computed)(()=>{let e={},a=n?.vnode.props??{};return Object.keys(a).forEach(n=>{e[(0,t.camelize)(n)]=a[n]}),Object.keys({...r,...e}).reduce((e,t)=>(i.value[t]!==void 0&&(e[t]=i.value[t]),e),{})})}function Zr(e,n){let r=Xr(e),i=n?Gr(n):{};return(0,t.computed)(()=>({...r.value,...i}))}function Qr(e,n){let r=Nr(!1,300);Dr(()=>{r.value=!1});let i=(0,t.ref)(null),a=Or();function o(){i.value=null,r.value=!1}function s(e,t){let n=e.currentTarget,a={x:e.clientX,y:e.clientY},o=ei(a,$r(a,n.getBoundingClientRect()),1),s=ti(t.getBoundingClientRect());i.value=ri([...o,...s]),r.value=!0}return(0,t.watchEffect)(t=>{if(e.value&&n.value){let r=e=>s(e,n.value),i=t=>s(t,e.value);e.value.addEventListener(`pointerleave`,r),n.value.addEventListener(`pointerleave`,i),t(()=>{e.value?.removeEventListener(`pointerleave`,r),n.value?.removeEventListener(`pointerleave`,i)})}}),(0,t.watchEffect)(t=>{if(i.value){let r=t=>{if(!i.value||!(t.target instanceof Element))return;let r=t.target,s={x:t.clientX,y:t.clientY},c=e.value?.contains(r)||n.value?.contains(r),l=!ni(s,i.value),u=!!r.closest(`[data-grace-area-trigger]`);c?o():(l||u)&&(o(),a.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,r),t(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,r))}}),{isPointerInTransit:r,onPointerExit:a.on}}function $r(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function ei(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function ti(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function ni(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function ri(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),ii(t)}function ii(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var ai=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},oi=new WeakMap,si=new WeakMap,ci={},li=0,ui=function(e){return e&&(e.host||ui(e.parentNode))},di=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=ui(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},fi=function(e,t,n,r){var i=di(t,Array.isArray(e)?e:[e]);ci[n]||(ci[n]=new WeakMap);var a=ci[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(oi.get(e)||0)+1,l=(a.get(e)||0)+1;oi.set(e,c),a.set(e,l),o.push(e),c===1&&i&&si.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),li++,function(){o.forEach(function(e){var t=oi.get(e)-1,i=a.get(e)-1;oi.set(e,t),a.set(e,i),t||(si.has(e)||e.removeAttribute(r),si.delete(e)),i||e.removeAttribute(n)}),li--,li||(oi=new WeakMap,oi=new WeakMap,si=new WeakMap,ci={})}},pi=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||ai(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),fi(r,i,n,`aria-hidden`)):function(){return null}};function mi(e){let r;(0,t.watch)(()=>(0,n.unrefElement)(e),e=>{e?r=pi(e):r&&r()}),(0,t.onUnmounted)(()=>{r&&r()})}var hi=0;function gi(e,n=`reka`){if(e)return e;let r;return r=`useId`in t?t.useId?.():Tr({useId:void 0}).useId?.()??`${++hi}`,n?`${n}-${r}`:r}function _i(e){let r=(0,t.ref)(),i=(0,t.computed)(()=>r.value?.width??0),a=(0,t.computed)(()=>r.value?.height??0);return(0,t.onMounted)(()=>{let t=(0,n.unrefElement)(e);if(t){r.value={width:t.offsetWidth,height:t.offsetHeight};let e=new ResizeObserver(e=>{if(!Array.isArray(e)||!e.length)return;let n=e[0],i,a;if(`borderBoxSize`in n){let e=n.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=t.offsetWidth,a=t.offsetHeight;r.value={width:i,height:a}});return e.observe(t,{box:`border-box`}),()=>e.unobserve(t)}else r.value=void 0}),{width:i,height:a}}function vi(e,n){let r=(0,t.ref)(e);function i(e){return n[r.value][e]??r.value}return{state:r,dispatch:e=>{r.value=i(e)}}}function yi(e){let t=Nr(``,1e3);return{search:t,handleTypeaheadSearch:(n,r)=>{if(t.value+=n,e)e(n);else{let e=xr(),n=r.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),i=n.find(t=>t.ref===e),a=xi(n.map(e=>e.textValue),t.value,i?.textValue),o=n.find(e=>e.textValue===a);return o&&o.ref.focus(),o?.ref}},resetTypeahead:()=>{t.value=``}}}function bi(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function xi(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=bi(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function Si(e,r){let i=(0,t.ref)({}),a=(0,t.ref)(`none`),o=(0,t.ref)(e),s=e.value?`mounted`:`unmounted`,c,l=r.value?.ownerDocument.defaultView??n.defaultWindow,{state:u,dispatch:d}=vi(s,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),f=e=>{if(kr){let t=new CustomEvent(e,{bubbles:!1,cancelable:!1});r.value?.dispatchEvent(t)}};(0,t.watch)(e,async(e,n)=>{let o=n!==e;if(await(0,t.nextTick)(),o){let t=a.value,o=Ci(r.value);e?(d(`MOUNT`),f(`enter`),o===`none`&&f(`after-enter`)):o===`none`||o===`undefined`||i.value?.display===`none`?(d(`UNMOUNT`),f(`leave`),f(`after-leave`)):n&&t!==o?(d(`ANIMATION_OUT`),f(`leave`)):(d(`UNMOUNT`),f(`after-leave`))}},{immediate:!0});let p=e=>{let t=Ci(r.value),n=t.includes(CSS.escape(e.animationName)),i=u.value===`mounted`?`enter`:`leave`;if(e.target===r.value&&n&&(f(`after-${i}`),d(`ANIMATION_END`),!o.value)){let e=r.value.style.animationFillMode;r.value.style.animationFillMode=`forwards`,c=l?.setTimeout(()=>{r.value?.style.animationFillMode===`forwards`&&(r.value.style.animationFillMode=e)})}e.target===r.value&&t===`none`&&d(`ANIMATION_END`)},m=e=>{e.target===r.value&&(a.value=Ci(r.value))},h=(0,t.watch)(r,(e,t)=>{e?(i.value=getComputedStyle(e),e.addEventListener(`animationstart`,m),e.addEventListener(`animationcancel`,p),e.addEventListener(`animationend`,p)):(d(`ANIMATION_END`),c!==void 0&&l?.clearTimeout(c),t?.removeEventListener(`animationstart`,m),t?.removeEventListener(`animationcancel`,p),t?.removeEventListener(`animationend`,p))},{immediate:!0}),g=(0,t.watch)(u,()=>{let e=Ci(r.value);a.value=u.value===`mounted`?e:`none`});return(0,t.onUnmounted)(()=>{h(),g()}),{isPresent:(0,t.computed)(()=>[`mounted`,`unmountSuspended`].includes(u.value))}}function Ci(e){return e&&getComputedStyle(e).animationName||`none`}var wi=(0,t.defineComponent)({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:r,expose:i}){let{present:a,forceMount:o}=(0,t.toRefs)(e),s=(0,t.ref)(),{isPresent:c}=Si(a,s);i({present:c});let l=r.default({present:c.value});l=wr(l||[]);let u=(0,t.getCurrentInstance)();if(l&&l?.length>1){let e=u?.parent?.type.name?`<${u.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(`
57
+ `))}startSendingKeepAlives(){this.configuration.keepAliveInterval&&!this.keepAliveInterval&&(this.keepAliveInterval=setInterval(()=>{this.sendKeepAlive(),this.startSendingKeepAlives()},(e=>{let t=e*.8;return 1e3*(Math.random()*(e-t)+t)})(this.configuration.keepAliveInterval)))}stopSendingKeepAlives(){this.keepAliveInterval&&clearInterval(this.keepAliveInterval),this.keepAliveDebounceTimeout&&clearTimeout(this.keepAliveDebounceTimeout),this.keepAliveInterval=void 0,this.keepAliveDebounceTimeout=void 0}};Tt.defaultOptions={server:``,connectionTimeout:5,keepAliveInterval:0,keepAliveDebounce:10,traceSip:!0};var Et=class e{constructor(t={}){if(this._publishers={},this._registerers={},this._sessions={},this._subscriptions={},this._state=De.Stopped,this._stateEventEmitter=new T,this.delegate=t.delegate,this.options=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},e.defaultOptions()),{sipjsId:ne(5)}),{uri:new k(`sip`,`anonymous.`+ne(6),`anonymous.invalid`)}),{viaHost:ne(12)+`.invalid`}),e.stripUndefinedProperties(t)),this.options.hackIpInContact)if(typeof this.options.hackIpInContact==`boolean`&&this.options.hackIpInContact){let e=Math.floor(Math.random()*254+1);this.options.viaHost=`192.0.2.`+e}else this.options.hackIpInContact&&(this.options.viaHost=this.options.hackIpInContact);switch(this.loggerFactory=new Ne,this.logger=this.loggerFactory.getLogger(`sip.UserAgent`),this.loggerFactory.builtinEnabled=this.options.logBuiltinEnabled,this.loggerFactory.connector=this.options.logConnector,this.options.logLevel){case`error`:this.loggerFactory.level=je.error;break;case`warn`:this.loggerFactory.level=je.warn;break;case`log`:this.loggerFactory.level=je.log;break;case`debug`:this.loggerFactory.level=je.debug;break;default:break}if(this.options.logConfiguration&&(this.logger.log(`Configuration:`),Object.keys(this.options).forEach(e=>{let t=this.options[e];switch(e){case`uri`:case`sessionDescriptionHandlerFactory`:this.logger.log(`· `+e+`: `+t);break;case`authorizationPassword`:this.logger.log(`· `+e+`: NOT SHOWN`);break;case`transportConstructor`:this.logger.log(`· `+e+`: `+t.name);break;default:this.logger.log(`· `+e+`: `+JSON.stringify(t))}})),this.options.transportOptions){let e=this.options.transportOptions,n=e.maxReconnectionAttempts,r=e.reconnectionTimeout;n!==void 0&&this.logger.warn(`The transport option "maxReconnectionAttempts" as has apparently been specified and has been deprecated. It will no longer be available starting with SIP.js release 0.16.0. Please update accordingly.`),r!==void 0&&this.logger.warn(`The transport option "reconnectionTimeout" as has apparently been specified and has been deprecated. It will no longer be available starting with SIP.js release 0.16.0. Please update accordingly.`),t.reconnectionDelay===void 0&&r!==void 0&&(this.options.reconnectionDelay=r),t.reconnectionAttempts===void 0&&n!==void 0&&(this.options.reconnectionAttempts=n)}if(t.reconnectionDelay!==void 0&&this.logger.warn(`The user agent option "reconnectionDelay" as has apparently been specified and has been deprecated. It will no longer be available starting with SIP.js release 0.16.0. Please update accordingly.`),t.reconnectionAttempts!==void 0&&this.logger.warn(`The user agent option "reconnectionAttempts" as has apparently been specified and has been deprecated. It will no longer be available starting with SIP.js release 0.16.0. Please update accordingly.`),this._transport=new this.options.transportConstructor(this.getLogger(`sip.Transport`),this.options.transportOptions),this.initTransportCallbacks(),this._contact=this.initContact(),this._instanceId=this.options.instanceId?this.options.instanceId:e.newUUID(),N.parse(this._instanceId,`uuid`)===-1)throw Error(`Invalid instanceId.`);this._userAgentCore=this.initCore()}static makeURI(e){return N.URIParse(e)}static defaultOptions(){return{allowLegacyNotifications:!1,authorizationHa1:``,authorizationPassword:``,authorizationUsername:``,delegate:{},contactName:``,contactParams:{transport:`ws`},displayName:``,forceRport:!1,gracefulShutdown:!0,hackAllowUnregisteredOptionTags:!1,hackIpInContact:!1,hackViaTcp:!1,instanceId:``,instanceIdAlwaysAdded:!1,logBuiltinEnabled:!0,logConfiguration:!0,logConnector:()=>{},logLevel:`log`,noAnswerTimeout:60,preloadedRouteSet:[],reconnectionAttempts:0,reconnectionDelay:4,sendInitialProvisionalResponse:!0,sessionDescriptionHandlerFactory:wt(),sessionDescriptionHandlerFactoryOptions:{},sipExtension100rel:Se.Unsupported,sipExtensionReplaces:Se.Unsupported,sipExtensionExtraSupported:[],sipjsId:``,transportConstructor:Tt,transportOptions:{},uri:new k(`sip`,`anonymous`,`anonymous.invalid`),userAgentString:`SIP.js/0.21.1`,viaHost:``}}static newUUID(){return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.floor(Math.random()*16);return(e===`x`?t:t%4+8).toString(16)})}static stripUndefinedProperties(e){return Object.keys(e).reduce((t,n)=>(e[n]!==void 0&&(t[n]=e[n]),t),{})}get configuration(){return this.options}get contact(){return this._contact}get instanceId(){return this._instanceId}get state(){return this._state}get stateChange(){return this._stateEventEmitter}get transport(){return this._transport}get userAgentCore(){return this._userAgentCore}getLogger(e,t){return this.loggerFactory.getLogger(e,t)}getLoggerFactory(){return this.loggerFactory}isConnected(){return this.transport.isConnected()}reconnect(){return this.state===De.Stopped?Promise.reject(Error(`User agent stopped.`)):Promise.resolve().then(()=>this.transport.connect())}start(){return this.state===De.Started?(this.logger.warn(`User agent already started`),Promise.resolve()):(this.logger.log(`Starting ${this.configuration.uri}`),this.transitionState(De.Started),this.transport.connect())}async stop(){if(this.state===De.Stopped)return this.logger.warn(`User agent already stopped`),Promise.resolve();if(this.logger.log(`Stopping ${this.configuration.uri}`),!this.options.gracefulShutdown)return this.logger.log(`Dispose of transport`),this.transport.dispose().catch(e=>{throw this.logger.error(e.message),e}),this.logger.log(`Dispose of core`),this.userAgentCore.dispose(),this._publishers={},this._registerers={},this._sessions={},this._subscriptions={},this.transitionState(De.Stopped),Promise.resolve();let e=Object.assign({},this._publishers),t=Object.assign({},this._registerers),n=Object.assign({},this._sessions),r=Object.assign({},this._subscriptions),i=this.transport,a=this.userAgentCore;for(let e in this.logger.log(`Dispose of registerers`),t)t[e]&&await t[e].dispose().catch(t=>{throw this.logger.error(t.message),delete this._registerers[e],t});for(let e in this.logger.log(`Dispose of sessions`),n)n[e]&&await n[e].dispose().catch(t=>{throw this.logger.error(t.message),delete this._sessions[e],t});for(let e in this.logger.log(`Dispose of subscriptions`),r)r[e]&&await r[e].dispose().catch(t=>{throw this.logger.error(t.message),delete this._subscriptions[e],t});for(let t in this.logger.log(`Dispose of publishers`),e)e[t]&&await e[t].dispose().catch(e=>{throw this.logger.error(e.message),delete this._publishers[t],e});this.logger.log(`Dispose of transport`),await i.dispose().catch(e=>{throw this.logger.error(e.message),e}),this.logger.log(`Dispose of core`),a.dispose(),this.transitionState(De.Stopped)}_makeInviter(e,t){return new Te(this,e,t)}attemptReconnection(e=1){let t=this.options.reconnectionAttempts,n=this.options.reconnectionDelay;if(e>t){this.logger.log(`Maximum reconnection attempts reached`);return}this.logger.log(`Reconnection attempt ${e} of ${t} - trying`),setTimeout(()=>{this.reconnect().then(()=>{this.logger.log(`Reconnection attempt ${e} of ${t} - succeeded`)}).catch(n=>{this.logger.error(n.message),this.logger.log(`Reconnection attempt ${e} of ${t} - failed`),this.attemptReconnection(++e)})},e===1?0:n*1e3)}initContact(){let e=this.options.contactName===``?ne(8):this.options.contactName,t=this.options.contactParams;return{pubGruu:void 0,tempGruu:void 0,uri:new k(`sip`,e,this.options.viaHost,void 0,t),toString:(e={})=>{let n=e.anonymous||!1,r=e.outbound||!1,i=e.register||!1,a=`<`;return n?a+=this.contact.tempGruu||`sip:anonymous@anonymous.invalid;transport=${t.transport?t.transport:`ws`}`:i?a+=this.contact.uri:a+=this.contact.pubGruu||this.contact.uri,r&&(a+=`;ob`),a+=`>`,this.options.instanceIdAlwaysAdded&&(a+=`;+sip.instance="<urn:uuid:`+this._instanceId+`>"`),a}}}initCore(){let e=[];e.push(`outbound`),this.options.sipExtension100rel===Se.Supported&&e.push(`100rel`),this.options.sipExtensionReplaces===Se.Supported&&e.push(`replaces`),this.options.sipExtensionExtraSupported&&e.push(...this.options.sipExtensionExtraSupported),this.options.hackAllowUnregisteredOptionTags||(e=e.filter(e=>Ce[e])),e=Array.from(new Set(e));let t=e.slice();return(this.contact.pubGruu||this.contact.tempGruu)&&t.push(`gruu`),new bt({aor:this.options.uri,contact:this.contact,displayName:this.options.displayName,loggerFactory:this.loggerFactory,hackViaTcp:this.options.hackViaTcp,routeSet:this.options.preloadedRouteSet,supportedOptionTags:e,supportedOptionTagsResponse:t,sipjsId:this.options.sipjsId,userAgentHeaderFieldValue:this.options.userAgentString,viaForceRport:this.options.forceRport,viaHost:this.options.viaHost,authenticationFactory:()=>{let e=this.options.authorizationUsername?this.options.authorizationUsername:this.options.uri.user,t=this.options.authorizationPassword?this.options.authorizationPassword:void 0,n=this.options.authorizationHa1?this.options.authorizationHa1:void 0;return new Ae(this.getLoggerFactory(),n,e,t)},transportAccessor:()=>this.transport},{onInvite:e=>{let t=new we(this,e);if(e.delegate={onCancel:e=>{t._onCancel(e)},onTransportError:e=>{this.logger.error(`A transport error has occurred while handling an incoming INVITE request.`)}},e.trying(),this.options.sipExtensionReplaces!==Se.Unsupported){let n=e.message.parseHeader(`replaces`);if(n){let e=n.call_id;if(typeof e!=`string`)throw Error(`Type of call id is not string`);let r=n.replaces_to_tag;if(typeof r!=`string`)throw Error(`Type of to tag is not string`);let i=n.replaces_from_tag;if(typeof i!=`string`)throw Error(`type of from tag is not string`);let a=e+r+i,o=this.userAgentCore.dialogs.get(a);if(!o){t.reject({statusCode:481});return}if(!o.early&&n.early_only===!0){t.reject({statusCode:486});return}let s=this._sessions[e+i]||this._sessions[e+r]||void 0;if(!s)throw Error(`Session does not exist.`);t._replacee=s}}if(this.delegate?.onInvite){if(t.autoSendAnInitialProvisionalResponse){t.progress().then(()=>{if(this.delegate?.onInvite===void 0)throw Error(`onInvite undefined.`);this.delegate.onInvite(t)});return}this.delegate.onInvite(t);return}t.reject({statusCode:486})},onMessage:e=>{if(this.delegate&&this.delegate.onMessage){let t=new ve(e);this.delegate.onMessage(t)}else e.accept()},onNotify:e=>{if(this.delegate&&this.delegate.onNotify){let t=new ye(e);this.delegate.onNotify(t)}else this.options.allowLegacyNotifications?e.accept():e.reject({statusCode:481})},onRefer:e=>{this.logger.warn(`Received an out of dialog REFER request`),this.delegate&&this.delegate.onReferRequest?this.delegate.onReferRequest(e):e.reject({statusCode:405})},onRegister:e=>{this.logger.warn(`Received an out of dialog REGISTER request`),this.delegate&&this.delegate.onRegisterRequest?this.delegate.onRegisterRequest(e):e.reject({statusCode:405})},onSubscribe:e=>{this.logger.warn(`Received an out of dialog SUBSCRIBE request`),this.delegate&&this.delegate.onSubscribeRequest?this.delegate.onSubscribeRequest(e):e.reject({statusCode:405})}})}initTransportCallbacks(){this.transport.onConnect=()=>this.onTransportConnect(),this.transport.onDisconnect=e=>this.onTransportDisconnect(e),this.transport.onMessage=e=>this.onTransportMessage(e)}onTransportConnect(){this.state!==De.Stopped&&this.delegate&&this.delegate.onConnect&&this.delegate.onConnect()}onTransportDisconnect(e){this.state!==De.Stopped&&(this.delegate&&this.delegate.onDisconnect&&this.delegate.onDisconnect(e),e&&this.options.reconnectionAttempts>0&&this.attemptReconnection())}onTransportMessage(e){let t=Pe.parseMessage(e,this.getLogger(`sip.Parser`));if(!t){this.logger.warn(`Failed to parse incoming message. Dropping.`);return}if(this.state===De.Stopped&&t instanceof se){this.logger.warn(`Received ${t.method} request while stopped. Dropping.`);return}let n=()=>{for(let e of[`from`,`to`,`call_id`,`cseq`,`via`])if(!t.hasHeader(e))return this.logger.warn(`Missing mandatory header field : ${e}.`),!1;return!0};if(t instanceof se){if(!n()){this.logger.warn(`Request missing mandatory header field. Dropping.`);return}if(!t.toTag&&t.callId.substr(0,5)===this.options.sipjsId){this.userAgentCore.replyStateless(t,{statusCode:482});return}let e=F(t.body),r=t.getHeader(`content-length`);if(r&&e<Number(r)){this.userAgentCore.replyStateless(t,{statusCode:400});return}}if(t instanceof ce){if(!n()){this.logger.warn(`Response missing mandatory header field. Dropping.`);return}if(t.getHeaders(`via`).length>1){this.logger.warn(`More than one Via header field present in the response. Dropping.`);return}if(t.via.host!==this.options.viaHost||t.via.port!==void 0){this.logger.warn(`Via sent-by in the response does not match UA Via host value. Dropping.`);return}let e=F(t.body),r=t.getHeader(`content-length`);if(r&&e<Number(r)){this.logger.warn(`Message body length is lower than the value in Content-Length header field. Dropping.`);return}}if(t instanceof se){this.userAgentCore.receiveIncomingRequestFromTransport(t);return}if(t instanceof ce){this.userAgentCore.receiveIncomingResponseFromTransport(t);return}throw Error(`Invalid message type.`)}transitionState(e,t){let n=()=>{throw Error(`Invalid state transition from ${this._state} to ${e}`)};switch(this._state){case De.Started:e!==De.Stopped&&n();break;case De.Stopped:e!==De.Started&&n();break;default:throw Error(`Unknown state.`)}this.logger.log(`Transitioned from ${this._state} to ${e}`),this._state=e,this._stateEventEmitter.emit(this._state)}},Dt=new window.AudioContext,Ot={1:[697,1209],2:[697,1336],3:[697,1477],A:[697,1633],4:[770,1209],5:[770,1336],6:[770,1477],B:[770,1633],7:[852,1209],8:[852,1336],9:[852,1477],C:[852,1633],"*":[941,1209],0:[941,1336],"#":[941,1477],D:[941,1633]},kt=(0,t.ref)(null),At=(0,t.ref)(null),jt=(0,t.ref)(.5);let Mt=()=>({playDtmf:(e,t=150)=>{Dt.state===`suspended`&&Dt.resume();let n=Ot[e.toUpperCase()];if(!n)return;let r=Dt.createOscillator(),i=Dt.createOscillator(),a=Dt.createGain();r.frequency.value=n[0],i.frequency.value=n[1],r.type=`sine`,i.type=`sine`,a.gain.value=.1*jt.value,r.connect(a),i.connect(a),a.connect(Dt.destination),r.start(),i.start(),setTimeout(()=>{r.stop(),i.stop(),r.disconnect(),i.disconnect(),a.disconnect()},t)},startRingtone:()=>{if(kt.value)return;Dt.state===`suspended`&&Dt.resume();let e=()=>{let e=Dt.currentTime,t=Dt.createOscillator(),n=Dt.createGain();t.type=`sine`,t.frequency.setValueAtTime(523.25,e),t.frequency.setValueAtTime(659.25,e+.1),t.frequency.setValueAtTime(783.99,e+.2),n.gain.setValueAtTime(.1*jt.value,e),n.gain.exponentialRampToValueAtTime(.001,e+.5),t.connect(n),n.connect(Dt.destination),t.start(e),t.stop(e+.5)};e(),kt.value=window.setInterval(()=>{e(),setTimeout(e,400)},3e3)},stopRingtone:()=>{kt.value&&=(clearInterval(kt.value),null)},startRingback:()=>{if(At.value)return;Dt.state===`suspended`&&Dt.resume();let e=()=>{let e=Dt.currentTime,t=Dt.createOscillator(),n=Dt.createGain();t.type=`sine`,t.frequency.value=425,n.gain.setValueAtTime(.1*jt.value,e),n.gain.linearRampToValueAtTime(.1*jt.value,e+1),n.gain.linearRampToValueAtTime(0,e+1.1),t.connect(n),n.connect(Dt.destination),t.start(e),t.stop(e+1.1)};e(),At.value=window.setInterval(()=>{e()},4e3)},stopRingback:()=>{At.value&&=(clearInterval(At.value),null)},setNotificationVolume:e=>{jt.value=Math.max(0,Math.min(1,e/100))}});function Nt(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Nt(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function Pt(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Nt(e))&&(r&&(r+=` `),r+=t);return r}var Ft=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},It=(e,t)=>({classGroupId:e,validator:t}),Lt=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Rt=`-`,zt=[],Bt=`arbitrary..`,Vt=e=>{let t=Wt(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Ut(e);let n=e.split(Rt);return Ht(n,n[0]===``&&n.length>1?1:0,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?Ft(i,t):t:i||zt}return n[e]||zt}}},Ht=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Ht(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(Rt):e.slice(t).join(Rt),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},Ut=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Bt+r:void 0})(),Wt=e=>{let{theme:t,classGroups:n}=e;return Gt(n,t)},Gt=(e,t)=>{let n=Lt();for(let r in e){let i=e[r];Kt(i,n,r,t)}return n},Kt=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];qt(i,t,n,r)}},qt=(e,t,n,r)=>{if(typeof e==`string`){Jt(e,t,n);return}if(typeof e==`function`){Yt(e,t,n,r);return}Xt(e,t,n,r)},Jt=(e,t,n)=>{let r=e===``?t:Zt(t,e);r.classGroupId=n},Yt=(e,t,n,r)=>{if(Qt(e)){Kt(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(It(n,e))},Xt=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Kt(o,Zt(t,a),n,r)}},Zt=(e,t)=>{let n=e,r=t.split(Rt),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=Lt(),n.nextPart.set(t,i)),n=i}return n},Qt=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,$t=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},en=`!`,tn=`:`,nn=[],rn=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),an=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===tn){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(en)?(c=s.slice(0,-1),l=!0):s.startsWith(en)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return rn(t,l,c,u)};if(t){let e=t+tn,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):rn(nn,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},on=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},sn=e=>({cache:$t(e.cacheSize),parseClassName:an(e),sortModifiers:on(e),...Vt(e)}),cn=/\s+/,ln=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(cn),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+en:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e<y.length;++e){let t=y[e];o.push(_+t)}c=t+(c.length>0?` `+c:c)}return c},un=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=dn(n))&&(i&&(i+=` `),i+=r);return i},dn=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=dn(e[r]))&&(n&&(n+=` `),n+=t);return n},fn=(e,...t)=>{let n,r,i,a,o=o=>(n=sn(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=ln(e,n);return i(e,a),a};return a=o,(...e)=>a(un(...e))},pn=[],mn=e=>{let t=t=>t[e]||pn;return t.isThemeGetter=!0,t},hn=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,gn=/^\((?:(\w[\w-]*):)?(.+)\)$/i,_n=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,vn=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,yn=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,bn=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,xn=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Sn=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Cn=e=>_n.test(e),K=e=>!!e&&!Number.isNaN(Number(e)),wn=e=>!!e&&Number.isInteger(Number(e)),Tn=e=>e.endsWith(`%`)&&K(e.slice(0,-1)),En=e=>vn.test(e),Dn=()=>!0,On=e=>yn.test(e)&&!bn.test(e),kn=()=>!1,An=e=>xn.test(e),jn=e=>Sn.test(e),Mn=e=>!q(e)&&!J(e),Nn=e=>Jn(e,Qn,kn),q=e=>hn.test(e),Pn=e=>Jn(e,$n,On),Fn=e=>Jn(e,er,K),In=e=>Jn(e,nr,Dn),Ln=e=>Jn(e,tr,kn),Rn=e=>Jn(e,Xn,kn),zn=e=>Jn(e,Zn,jn),Bn=e=>Jn(e,rr,An),J=e=>gn.test(e),Vn=e=>Yn(e,$n),Hn=e=>Yn(e,tr),Un=e=>Yn(e,Xn),Wn=e=>Yn(e,Qn),Gn=e=>Yn(e,Zn),Kn=e=>Yn(e,rr,!0),qn=e=>Yn(e,nr,!0),Jn=(e,t,n)=>{let r=hn.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Yn=(e,t,n=!1)=>{let r=gn.exec(e);return r?r[1]?t(r[1]):n:!1},Xn=e=>e===`position`||e===`percentage`,Zn=e=>e===`image`||e===`url`,Qn=e=>e===`length`||e===`size`||e===`bg-size`,$n=e=>e===`length`,er=e=>e===`number`,tr=e=>e===`family-name`,nr=e=>e===`number`||e===`weight`,rr=e=>e===`shadow`,ir=fn(()=>{let e=mn(`color`),t=mn(`font`),n=mn(`text`),r=mn(`font-weight`),i=mn(`tracking`),a=mn(`leading`),o=mn(`breakpoint`),s=mn(`container`),c=mn(`spacing`),l=mn(`radius`),u=mn(`shadow`),d=mn(`inset-shadow`),f=mn(`text-shadow`),p=mn(`drop-shadow`),m=mn(`blur`),h=mn(`perspective`),g=mn(`aspect`),_=mn(`ease`),v=mn(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),J,q],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[J,q,c],T=()=>[Cn,`full`,`auto`,...w()],E=()=>[wn,`none`,`subgrid`,J,q],D=()=>[`auto`,{span:[`full`,wn,J,q]},wn,J,q],O=()=>[wn,`auto`,J,q],k=()=>[`auto`,`min`,`max`,`fr`,J,q],A=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],ee=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],j=()=>[`auto`,...w()],M=()=>[Cn,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],te=()=>[Cn,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],N=()=>[Cn,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],P=()=>[e,J,q],ne=()=>[...b(),Un,Rn,{position:[J,q]}],re=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ie=()=>[`auto`,`cover`,`contain`,Wn,Nn,{size:[J,q]}],ae=()=>[Tn,Vn,Pn],F=()=>[``,`none`,`full`,l,J,q],oe=()=>[``,K,Vn,Pn],se=()=>[`solid`,`dashed`,`dotted`,`double`],ce=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],I=()=>[K,Tn,Un,Rn],le=()=>[``,`none`,m,J,q],ue=()=>[`none`,K,J,q],de=()=>[`none`,K,J,q],fe=()=>[K,J,q],L=()=>[Cn,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[En],breakpoint:[En],color:[Dn],container:[En],"drop-shadow":[En],ease:[`in`,`out`,`in-out`],font:[Mn],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[En],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[En],shadow:[En],spacing:[`px`,K],text:[En],"text-shadow":[En],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,Cn,q,J,g]}],container:[`container`],columns:[{columns:[K,q,J,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[wn,`auto`,J,q]}],basis:[{basis:[Cn,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[K,Cn,`auto`,`initial`,`none`,q]}],grow:[{grow:[``,K,J,q]}],shrink:[{shrink:[``,K,J,q]}],order:[{order:[wn,`first`,`last`,`none`,J,q]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":k()}],"auto-rows":[{"auto-rows":k()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...A(),`normal`]}],"justify-items":[{"justify-items":[...ee(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...ee()]}],"align-content":[{content:[`normal`,...A()]}],"align-items":[{items:[...ee(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...ee(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...ee(),`baseline`]}],"place-self":[{"place-self":[`auto`,...ee()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:j()}],mx:[{mx:j()}],my:[{my:j()}],ms:[{ms:j()}],me:[{me:j()}],mbs:[{mbs:j()}],mbe:[{mbe:j()}],mt:[{mt:j()}],mr:[{mr:j()}],mb:[{mb:j()}],ml:[{ml:j()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:M()}],"inline-size":[{inline:[`auto`,...te()]}],"min-inline-size":[{"min-inline":[`auto`,...te()]}],"max-inline-size":[{"max-inline":[`none`,...te()]}],"block-size":[{block:[`auto`,...N()]}],"min-block-size":[{"min-block":[`auto`,...N()]}],"max-block-size":[{"max-block":[`none`,...N()]}],w:[{w:[s,`screen`,...M()]}],"min-w":[{"min-w":[s,`screen`,`none`,...M()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...M()]}],h:[{h:[`screen`,`lh`,...M()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...M()]}],"max-h":[{"max-h":[`screen`,`lh`,...M()]}],"font-size":[{text:[`base`,n,Vn,Pn]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,qn,In]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Tn,q]}],"font-family":[{font:[Hn,Ln,t]}],"font-features":[{"font-features":[q]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,J,q]}],"line-clamp":[{"line-clamp":[K,`none`,J,Fn]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,J,q]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,J,q]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...se(),`wavy`]}],"text-decoration-thickness":[{decoration:[K,`from-font`,`auto`,J,Pn]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[K,`auto`,J,q]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,J,q]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,J,q]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ne()}],"bg-repeat":[{bg:re()}],"bg-size":[{bg:ie()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},wn,J,q],radial:[``,J,q],conic:[wn,J,q]},Gn,zn]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:ae()}],"gradient-via-pos":[{via:ae()}],"gradient-to-pos":[{to:ae()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:F()}],"rounded-s":[{"rounded-s":F()}],"rounded-e":[{"rounded-e":F()}],"rounded-t":[{"rounded-t":F()}],"rounded-r":[{"rounded-r":F()}],"rounded-b":[{"rounded-b":F()}],"rounded-l":[{"rounded-l":F()}],"rounded-ss":[{"rounded-ss":F()}],"rounded-se":[{"rounded-se":F()}],"rounded-ee":[{"rounded-ee":F()}],"rounded-es":[{"rounded-es":F()}],"rounded-tl":[{"rounded-tl":F()}],"rounded-tr":[{"rounded-tr":F()}],"rounded-br":[{"rounded-br":F()}],"rounded-bl":[{"rounded-bl":F()}],"border-w":[{border:oe()}],"border-w-x":[{"border-x":oe()}],"border-w-y":[{"border-y":oe()}],"border-w-s":[{"border-s":oe()}],"border-w-e":[{"border-e":oe()}],"border-w-bs":[{"border-bs":oe()}],"border-w-be":[{"border-be":oe()}],"border-w-t":[{"border-t":oe()}],"border-w-r":[{"border-r":oe()}],"border-w-b":[{"border-b":oe()}],"border-w-l":[{"border-l":oe()}],"divide-x":[{"divide-x":oe()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":oe()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...se(),`hidden`,`none`]}],"divide-style":[{divide:[...se(),`hidden`,`none`]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...se(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[K,J,q]}],"outline-w":[{outline:[``,K,Vn,Pn]}],"outline-color":[{outline:P()}],shadow:[{shadow:[``,`none`,u,Kn,Bn]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":[`none`,d,Kn,Bn]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:oe()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[K,Pn]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":oe()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":[`none`,f,Kn,Bn]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[K,J,q]}],"mix-blend":[{"mix-blend":[...ce(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ce()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[K]}],"mask-image-linear-from-pos":[{"mask-linear-from":I()}],"mask-image-linear-to-pos":[{"mask-linear-to":I()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":I()}],"mask-image-t-to-pos":[{"mask-t-to":I()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":I()}],"mask-image-r-to-pos":[{"mask-r-to":I()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":I()}],"mask-image-b-to-pos":[{"mask-b-to":I()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":I()}],"mask-image-l-to-pos":[{"mask-l-to":I()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":I()}],"mask-image-x-to-pos":[{"mask-x-to":I()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":I()}],"mask-image-y-to-pos":[{"mask-y-to":I()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[J,q]}],"mask-image-radial-from-pos":[{"mask-radial-from":I()}],"mask-image-radial-to-pos":[{"mask-radial-to":I()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[K]}],"mask-image-conic-from-pos":[{"mask-conic-from":I()}],"mask-image-conic-to-pos":[{"mask-conic-to":I()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ne()}],"mask-repeat":[{mask:re()}],"mask-size":[{mask:ie()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,J,q]}],filter:[{filter:[``,`none`,J,q]}],blur:[{blur:le()}],brightness:[{brightness:[K,J,q]}],contrast:[{contrast:[K,J,q]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Kn,Bn]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:[``,K,J,q]}],"hue-rotate":[{"hue-rotate":[K,J,q]}],invert:[{invert:[``,K,J,q]}],saturate:[{saturate:[K,J,q]}],sepia:[{sepia:[``,K,J,q]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,J,q]}],"backdrop-blur":[{"backdrop-blur":le()}],"backdrop-brightness":[{"backdrop-brightness":[K,J,q]}],"backdrop-contrast":[{"backdrop-contrast":[K,J,q]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,K,J,q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[K,J,q]}],"backdrop-invert":[{"backdrop-invert":[``,K,J,q]}],"backdrop-opacity":[{"backdrop-opacity":[K,J,q]}],"backdrop-saturate":[{"backdrop-saturate":[K,J,q]}],"backdrop-sepia":[{"backdrop-sepia":[``,K,J,q]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,J,q]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[K,`initial`,J,q]}],ease:[{ease:[`linear`,`initial`,_,J,q]}],delay:[{delay:[K,J,q]}],animate:[{animate:[`none`,v,J,q]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,J,q]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:ue()}],"rotate-x":[{"rotate-x":ue()}],"rotate-y":[{"rotate-y":ue()}],"rotate-z":[{"rotate-z":ue()}],scale:[{scale:de()}],"scale-x":[{"scale-x":de()}],"scale-y":[{"scale-y":de()}],"scale-z":[{"scale-z":de()}],"scale-3d":[`scale-3d`],skew:[{skew:fe()}],"skew-x":[{"skew-x":fe()}],"skew-y":[{"skew-y":fe()}],transform:[{transform:[J,q,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:L()}],"translate-x":[{"translate-x":L()}],"translate-y":[{"translate-y":L()}],"translate-z":[{"translate-z":L()}],"translate-none":[`translate-none`],accent:[{accent:P()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:P()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,J,q]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,J,q]}],fill:[{fill:[`none`,...P()]}],"stroke-w":[{stroke:[K,Vn,Pn,Fn]}],stroke:[{stroke:[`none`,...P()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});let Y=(...e)=>ir(Pt(e)),ar=e=>e.length<=3?e:`${e.slice(0,3)}${`*`.repeat(e.length-3)}`,or=(e,t)=>{if(e){let t=sr(e);if(t&&cr(t))return t;if(e.trim())return e.trim()}if(t){let e=sr(t);if(e&&cr(e))return e;let n=lr(t);if(n)return n;if(t.trim()&&!t.includes(`@`))return t.trim()}return`Unknown`};var sr=e=>e.replace(/[^\d+*#]/g,``),cr=e=>/^\+?[\d*#]{2,}$/.test(e),lr=e=>{let t=e.match(/^([+]?[\d*#]{2,})\s*[-:]/);return t&&t[1]||(t=e.match(/\(([+]?[\d*#]{2,})\)/),t&&t[1])||(t=e.match(/(?:ext\.?|extension)\s*([+]?[\d*#]{2,})/i),t&&t[1])?t[1]:(t=e.match(/([+]?\d{1,3}[-.\s]?\(?\d{1,4}\)?[-.\s]?\d{1,4}[-.\s]?\d{1,9})/),t&&t[1]?sr(t[1]):null)},ur=`X-Nebula-Queue`,dr=`X-Nebula-Queue-Id`;let fr=(e,n={})=>{let r=(0,t.shallowRef)(null),i=(0,t.shallowRef)(null),a=(0,t.shallowRef)(new Map),o=new Audio;o.autoplay=!0;let s=(0,t.shallowRef)(void 0),c=(0,t.shallowRef)(null),l=(0,t.shallowRef)(null),u=new Map,d=new Map,f=new Set,p=null,m=null,h=null,g=null,_=null,v=(0,t.computed)(()=>r.value?.configuration.uri?.user||``),{startRingtone:y,stopRingtone:b,startRingback:x,stopRingback:S,setNotificationVolume:C}=Mt(),w=e=>e instanceof Te||e instanceof we?e.request?.callId||e.dialog?.callId||e.id||crypto.randomUUID():e.dialog?.callId||e.id||crypto.randomUUID(),T=e=>{if(!(e instanceof we))return;let t=e.request;if(!t)return;let n=t.getHeader(ur)?.trim(),r=t.getHeader(dr)?.trim();if(!(!n&&!r))return{...r?{id:r}:{},...n?{name:n}:{}}},E=(e,t,r,i)=>{let a=T(e),o={channelId:t,sipCallId:w(e),direction:r,remoteNumber:i,...a?{queue:a}:{}};return u.set(t,o),n.onCallContext?.(o),o},D=(e,t)=>{let r=u.get(e);r&&n.onCallState?.({...r,state:t,timestamp:Date.now()})},O=(e,t)=>{if(e.state!==V.Established)return;let r=u.get(t),i=e.sessionDescriptionHandler,a=i?.localMediaStream??l.value,o=i?.remoteMediaStream??c.value,s=a?.getAudioTracks()??[],f=o?.getAudioTracks()??[];if(!r||!a||!o||s.length===0||f.length===0)return;let p=[r.sipCallId,...s.map(e=>`local:${e.id}`),...f.map(e=>`remote:${e.id}`)].join(`|`);d.get(t)!==p&&(d.set(t,p),n.onMediaReady?.({...r,localStream:a,remoteStream:o}))},k=e=>{u.delete(e),d.delete(e),f.delete(e)},A=()=>{e.channels.value.some(e=>e.status===`incoming`)?y():b(),e.activeChannel.value?.status===`calling`?x():S()},ee=e=>{o.volume=e/100},j=async e=>{typeof o.setSinkId==`function`&&await o.setSinkId(e)},M=e=>{s.value=e},te=(e,t)=>{let n=!1,r=e.sessionDescriptionHandler;return r?.peerConnection&&r.peerConnection.getSenders().forEach(e=>{e.track&&e.track.kind===`audio`&&(e.track.enabled=t,n=!0)}),n},N=e=>{let t=!1;return l.value&&l.value.getAudioTracks().forEach(n=>{n.enabled=e,t=!0}),t},P=(e,t)=>{let n=!(t?.isHeld||t?.isMuted),r=te(e,n),i=N(n);!r&&!i&&console.warn(`[SipJs] No audio tracks found to apply channel audio state`)},ne=t=>{for(let[n,r]of a.value.entries())if(r===t)return e.channels.value.find(e=>e.id===n)||null;return e.activeChannel.value||null},re=async e=>{let t=e.sessionDescriptionHandler?.peerConnection;if(!t)return;let n=ne(e),r=!(n?.isHeld||n?.isMuted),i=t.getSenders().find(e=>e.track?.kind===`audio`);if(i?.track){i.track.enabled=r,n&&O(e,n.id);return}try{let[i]=(await navigator.mediaDevices.getUserMedia(ie(!1))).getAudioTracks();if(!i)return;i.enabled=r;let a=new MediaStream([i]);l.value=a;let o=t.getSenders().find(e=>e.track===null);o?await o.replaceTrack(i):t.addTrack(i,a),P(e,n),n&&O(e,n.id)}catch(e){console.warn(`[SipJs] Failed to recover outbound audio track:`,e)}},ie=(e=!1)=>{let t={echoCancellation:{ideal:!0},noiseSuppression:{ideal:!1},autoGainControl:{ideal:!1},channelCount:1};return s.value&&(t.deviceId={exact:s.value}),{audio:t,video:e}},ae=async()=>{let t=i.value;t&&await t.register({requestDelegate:{onAccept:()=>{e.setConnected(!0)},onReject:()=>{e.setConnected(!1)}}})},F=async t=>{if(!r.value){try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch(e){console.error(`Microphone permission denied`,e);return}try{let n=Et.makeURI(t.uri);if(!n)throw Error(`Invalid URI`);r.value=new Et({uri:n,logLevel:`error`,transportOptions:{server:t.transportOptions.server,keepAliveInterval:t.transportOptions.keepAliveInterval??30},authorizationUsername:t.authorizationUsername,authorizationPassword:t.authorizationPassword,reconnectionDelay:5,reconnectionAttempts:3,delegate:{onConnect:()=>{},onDisconnect:()=>e.setConnected(!1),onInvite:e=>I(e)}}),await r.value.start(),i.value=new Ee(r.value),await ae(),oe()}catch{}}},oe=()=>{h=new AbortController;let{signal:t}=h,n=Date.now(),r=(e=1e3)=>{g&&clearTimeout(g),g=setTimeout(async()=>{g=null,await se()},e)},i=()=>{if(document.visibilityState===`visible`){let e=Date.now()-n;e>5e3?(console.log(`[SipJs] Device was suspended for ${Math.round(e/1e3)}s, reconnecting...`),r(1500)):r(500)}n=Date.now()},a=()=>{console.log(`[SipJs] Network online, reconnecting...`),r(1e3)},o=()=>{console.log(`[SipJs] Network offline`),e.setConnected(!1),g&&=(clearTimeout(g),null)},s=()=>{_=setInterval(()=>{let e=Date.now(),t=e-n;t>3e4&&(console.log(`[SipJs] Heartbeat drift detected (${Math.round(t/1e3)}s), device may have woken from sleep`),r(1500)),n=e},1e3)};document.addEventListener(`visibilitychange`,i,{signal:t}),window.addEventListener(`online`,a,{signal:t}),window.addEventListener(`offline`,o,{signal:t}),document.addEventListener(`freeze`,()=>{console.log(`[SipJs] Page frozen`),_&&=(clearInterval(_),null)},{signal:t}),document.addEventListener(`resume`,()=>{console.log(`[SipJs] Page resumed`),n=Date.now(),s(),r(1e3)},{signal:t}),s()},se=async()=>{if(r.value){if(!navigator.onLine){console.log(`[SipJs] Skipping reconnect, device is offline`);return}if(a.value.size>0){console.log(`[SipJs] Skipping reconnect, active calls in progress`);return}try{if(r.value.isConnected()||(console.log(`[SipJs] Reconnecting...`),await r.value.reconnect()),i.value&&r.value.isConnected())try{await ae()}catch{}}catch(e){console.error(`[SipJs] Reconnection failed:`,e)}}},ce=async()=>{h?.abort(),h=null,g&&=(clearTimeout(g),null),_&&=(clearInterval(_),null);let e=i.value,t=r.value;if(i.value=null,r.value=null,e)try{await e.unregister()}catch(e){console.warn(`[SipJs] Unregister failed:`,e)}if(t)try{await t.stop()}catch(e){console.warn(`[SipJs] UserAgent stop failed:`,e)}},I=t=>{console.log(`[SipJs] 📞 Llamada entrante recibida`),console.log(`[SipJs] Remote Identity URI:`,t.remoteIdentity.uri.toString()),console.log(`[SipJs] Remote Identity URI user:`,t.remoteIdentity.uri.user),console.log(`[SipJs] Remote Identity displayName:`,t.remoteIdentity.displayName);let n=e.channels.value.find(e=>e.status===`idle`);if(!n){console.warn(`[SipJs] ⚠️ No hay canales disponibles, rechazando llamada`),t.reject();return}let r=n.id;a.value.set(r,t);let i=t.body?t.body.includes(`m=video`):!1,o=or(t.remoteIdentity.uri.user,t.remoteIdentity.displayName);console.log(`[SipJs] 📋 Caller number extraído:`,o),console.log(`[SipJs] 🎥 Video:`,i?`Sí`:`No`),e.updateChannelState(r,{status:`incoming`,remoteNumber:o,remoteDisplayName:t.remoteIdentity.displayName||void 0,hasVideo:i}),E(t,r,`incoming`,o),D(r,`ringing`),A(),e.setActiveChannelId(r),t.stateChange.addListener(n=>{switch(n){case V.Terminated:{let n=e.channels.value.find(e=>e.id===r),i=or(t.remoteIdentity.uri.user,t.remoteIdentity.displayName);if(n?.status===`connected`){let t=Math.floor((Date.now()-(n.startTime||Date.now()))/1e3);e.addCallLog({number:i,direction:`incoming`,status:`answered`,startTime:n.startTime||Date.now(),duration:t})}else n?.status===`incoming`&&e.addCallLog({number:i,direction:`incoming`,status:`missed`,startTime:Date.now(),duration:0});D(r,f.has(r)?`ended`:`failed`),k(r),e.updateChannelState(r,{status:`idle`,remoteNumber:``,isMuted:!1,isHeld:!1,hasVideo:!1,hasEarlyMedia:!1}),a.value.delete(r),e.activeChannelId.value===r&&ye(),A();break}case V.Established:f.add(r),e.updateChannelState(r,{status:`connected`,startTime:Date.now()}),D(r,`connected`),e.activeChannelId.value===r&&(ve(t),re(t).then(()=>O(t,r))),A();break}})},le=async(t,n=!1)=>{if(!r.value)return;let i=e.activeChannelId.value;if(a.value.has(i))return;let o=Et.makeURI(t);if(!o&&r.value.configuration.uri){let e=r.value.configuration.uri.host;o=Et.makeURI(`sip:${t}@${e}`)}if(!o)return;let s=new Te(r.value,o);a.value.set(i,s),E(s,i,`outgoing`,t),D(i,`dialing`),e.updateChannelState(i,{status:`calling`,remoteNumber:t,hasVideo:n}),e.setLastDialedNumber(t),A(),s.stateChange.addListener(n=>{switch(n){case V.Established:f.add(i),e.channels.value.find(e=>e.id===i)?.status!==`connected`&&(e.updateChannelState(i,{status:`connected`,startTime:Date.now()}),D(i,`connected`),ve(s),re(s).then(()=>O(s,i)),A());break;case V.Terminated:{let n=e.channels.value.find(e=>e.id===i);if(n?.status===`connected`){let r=Math.floor((Date.now()-(n.startTime||Date.now()))/1e3);e.addCallLog({number:t,direction:`outgoing`,status:`answered`,startTime:n.startTime||Date.now(),duration:r})}else e.addCallLog({number:t,direction:`outgoing`,status:`cancelled`,startTime:Date.now(),duration:0});D(i,f.has(i)?`ended`:`failed`),k(i),e.updateChannelState(i,{status:`idle`,remoteNumber:``,isMuted:!1,isHeld:!1,startTime:void 0,keypadValue:``,hasVideo:!1}),a.value.delete(i),e.activeChannelId.value===i&&ye(),A();break}}});let c={sessionDescriptionHandlerOptions:{constraints:ie(n)},requestDelegate:{onProgress:t=>{(t.message.statusCode===180||t.message.statusCode===183)&&(t.message.body&&(e.updateChannelState(i,{hasEarlyMedia:!0}),ve(s)),A())},onAccept:t=>{e.channels.value.find(e=>e.id===i)?.status!==`connected`&&(f.add(i),e.updateChannelState(i,{status:`connected`,startTime:Date.now()}),D(i,`connected`),ve(s),re(s).then(()=>O(s,i)),A())}}};await s.invite(c)},ue=async(t=!1)=>{let n=e.activeChannelId.value,r=a.value.get(n);if(r instanceof we&&r.state===V.Initial){for(let[t,n]of a.value.entries())if(t!==e.activeChannelId.value&&n.state===V.Established&&!e.channels.value.find(e=>e.id===t)?.isHeld)try{await L(n,!0),e.updateChannelState(t,{isHeld:!0})}catch(e){console.error(`[SipJs] Failed to hold channel ${t}:`,e)}let i={sessionDescriptionHandlerOptions:{constraints:ie(t)}};e.updateChannelState(n,{status:`connected`,startTime:Date.now()});try{await r.accept(i),await re(r),A()}catch(t){let r=a.value.get(n);throw r instanceof we&&r.state===V.Initial&&e.updateChannelState(n,{status:`incoming`,startTime:void 0}),t}}},de=async()=>{let t=a.value.get(e.activeChannelId.value);if(t)switch(t.state){case V.Initial:case V.Establishing:t instanceof Te?await t.cancel():t instanceof we&&await t.reject();break;case V.Established:await t.bye();break}},fe=()=>{let t=a.value.get(e.activeChannelId.value);if(!t)return;let n=!e.isMuted.value;e.setMuted(n),P(t,e.channels.value.find(t=>t.id===e.activeChannelId.value))},L=async(e,t)=>{let n={sessionDescriptionHandlerOptions:{hold:t}};await e.invite(n)},R=async()=>{let t=a.value.get(e.activeChannelId.value);if(t?.state!==V.Established)return;let n=!e.isHeld.value;try{await L(t,n),e.setHeld(n),P(t,e.channels.value.find(t=>t.id===e.activeChannelId.value))}catch{}},pe=async t=>{let n=e.activeChannelId.value;if(n===t)return;let r=a.value.get(n),i=a.value.get(t),o=e.channels.value.find(e=>e.id===n),s=e.channels.value.find(e=>e.id===t);if(r&&r.state===V.Established&&!o?.isHeld)try{await L(r,!0),e.updateChannelState(n,{isHeld:!0}),P(r,e.channels.value.find(e=>e.id===n))}catch{}if(e.setActiveChannelId(t),A(),i&&i.state===V.Established){if(s?.isHeld)try{await L(i,!1),e.updateChannelState(t,{isHeld:!1})}catch{}P(i,e.channels.value.find(e=>e.id===t)),ve(i)}else ye()},me=t=>{if(!/^[0-9*#]$/.test(t))return;let n=a.value.get(e.activeChannelId.value);if(n?.state!==V.Established)return;let r=n.sessionDescriptionHandler?.peerConnection?.getSenders().find(e=>e.track?.kind===`audio`)?.dtmf;if(r?.canInsertDTMF){r.insertDTMF(t,160,70);return}let i={requestOptions:{body:{content:`Signal=${t}\r\nDuration=160`,contentType:`application/dtmf-relay`,contentDisposition:`signal`}}};n.info(i)},he=(t,n)=>{let r=e.channels.value.find(e=>e.id===t);!r||r.status!==`connected`||(ve(n),P(n,r),re(n),o.play().catch(()=>{}))},z=async t=>{console.log(`[SipJs] 🔄 transferCall iniciado`),console.log(`[SipJs] Target:`,t);let n=e.activeChannelId.value,i=a.value.get(n);if(!i)throw console.error(`[SipJs] ❌ No hay sesión activa en el canal`,n),Error(`No active session to transfer`);if(console.log(`[SipJs] Sesión encontrada - Estado:`,i.state),console.log(`[SipJs] Dialog ID:`,i.dialog?.id),console.log(`[SipJs] Call ID:`,i.dialog?.callId),i.state!==V.Established)throw console.error(`[SipJs] ❌ Sesión no establecida. Estado actual:`,i.state),Error(`Cannot transfer call. Call is not established (state: ${i.state})`);let o=Et.makeURI(t);if(!o&&r.value?.configuration.uri){let e=r.value.configuration.uri.host;console.log(`[SipJs] Construyendo URI con dominio:`,e),o=Et.makeURI(`sip:${t}@${e}`)}if(!o)throw console.error(`[SipJs] ❌ URI de destino inválida:`,t),Error(`Invalid transfer target: ${t}`);console.log(`[SipJs] 📤 URI de transferencia:`,o.toString()),console.log(`[SipJs] URI scheme:`,o.scheme),console.log(`[SipJs] URI user:`,o.user),console.log(`[SipJs] URI host:`,o.host);try{console.log(`[SipJs] 🚀 Enviando REFER...`),await i.refer(o,{requestDelegate:{onAccept:e=>{console.log(`[SipJs] ✅ Transfer REFER aceptado por el servidor (202 Accepted)`),console.log(`[SipJs] Response:`,e.message)},onReject:e=>{let t=e.message.statusCode;console.error(`[SipJs] ❌ Transfer REFER rechazado:`,t),console.error(`[SipJs] Response completo:`,e.message),he(n,i)}},onNotify:e=>{console.log(`[SipJs] 📬 NOTIFY recibido para transferencia`),console.log(`[SipJs] NOTIFY request:`,e.request),e.accept();let t=e.request.body;if(console.log(`[SipJs] NOTIFY body:`,t),t){let e=t.match(/SIP\/2\.0\s+(\d{3})(.*)/);if(e&&e[1]){let t=parseInt(e[1],10),r=e[2]?.trim()||``;if(console.log(`[SipJs] 📊 Status code:`,t),console.log(`[SipJs] 📊 Status text:`,r),t>=200&&t<300)console.log(`[SipJs] ✅ Transferencia exitosa! Terminando sesión...`),setTimeout(()=>{i.bye().catch(e=>{console.warn(`[SipJs] Error hanging up after successful transfer:`,e)})},500);else if(t>=400){console.error(`[SipJs] ❌ Transfer falló con status:`,t,r),console.log(`[SipJs] 🔄 Manteniendo la sesión activa para el usuario`);let e={404:`Número no encontrado`,486:`Número ocupado`,487:`Transferencia cancelada`,503:`Servicio no disponible - el destino puede estar fuera de línea`}[t]||`Error en transferencia (código ${t})`;console.warn(`[SipJs] 💬`,e),he(n,i)}else t>=100&&t<200&&console.log(`[SipJs] 📞 Transferencia en progreso:`,t,r)}else console.warn(`[SipJs] ⚠️ No se pudo extraer el código de estado del NOTIFY body`)}else console.warn(`[SipJs] ⚠️ NOTIFY sin body`)}}),console.log(`[SipJs] ✅ REFER enviado exitosamente (promesa resuelta)`)}catch(e){throw console.error(`[SipJs] ❌ Error en transferCall:`,e),console.error(`[SipJs] Error type:`,e?.constructor?.name),console.error(`[SipJs] Error message:`,e instanceof Error?e.message:String(e)),console.error(`[SipJs] Error stack:`,e instanceof Error?e.stack:`N/A`),e}},ge=async t=>{console.log(`[SipJs] 🔄 startAttendedTransfer iniciado`),console.log(`[SipJs] Target:`,t);let n=e.activeChannelId.value,r=a.value.get(n);if(console.log(`[SipJs] Canal original:`,n),console.log(`[SipJs] Sesión original:`,r?.state),!r||r.state!==V.Established)throw console.error(`[SipJs] ❌ No hay llamada establecida para transferir`),Error(`No established call to transfer`);let i=e.channels.value.find(e=>e.status===`idle`);if(console.log(`[SipJs] Canal de consulta encontrado:`,i?.id),!i)throw console.error(`[SipJs] ❌ No hay canales disponibles para llamada de consulta`),Error(`No available channel for consultation call`);try{console.log(`[SipJs] 🔇 Poniendo llamada original en hold...`),await L(r,!0),e.updateChannelState(n,{isHeld:!0}),console.log(`[SipJs] ✅ Llamada original en hold`)}catch(e){throw console.error(`[SipJs] ❌ Failed to hold original call:`,e),Error(`Failed to put call on hold`)}console.log(`[SipJs] 🔄 Cambiando al canal de consulta:`,i.id),e.setActiveChannelId(i.id);try{console.log(`[SipJs] 📞 Iniciando llamada de consulta a:`,t),await le(t,!1),console.log(`[SipJs] ✅ Llamada de consulta iniciada`),e.setTransferInProgress({originalChannelId:n,consultationChannelId:i.id,targetNumber:t}),console.log(`[SipJs] 📋 Transferencia en progreso registrada`)}catch(t){throw console.error(`[SipJs] ❌ Failed to start consultation call:`,t),console.log(`[SipJs] 🔄 Volviendo al canal original y quitando hold...`),e.setActiveChannelId(n),await L(r,!1).catch(()=>{}),e.updateChannelState(n,{isHeld:!1}),Error(`Failed to initiate consultation call`)}},B=async()=>{console.log(`[SipJs] 🔄 completeAttendedTransfer iniciado`);let t=e.transferInProgress.value;if(!t)throw console.error(`[SipJs] ❌ No hay transferencia en progreso`),Error(`No transfer in progress`);console.log(`[SipJs] Estado de transferencia:`,t);let n=a.value.get(t.originalChannelId),i=a.value.get(t.consultationChannelId);if(console.log(`[SipJs] Sesión original:`,n?.state),console.log(`[SipJs] Sesión de consulta:`,i?.state),!n||!i)throw console.error(`[SipJs] ❌ Falta una o ambas sesiones`),Error(`Missing session for transfer`);if(i.state!==V.Established)throw console.error(`[SipJs] ❌ Llamada de consulta no está establecida. Estado:`,i.state),Error(`Consultation call not established`);let o=i.dialog;if(!o)throw Error(`No dialog available for consultation session`);let s=o.callId,c=o.remoteTag,l=o.localTag,u=Et.makeURI(t.targetNumber);if(!u&&r.value?.configuration.uri){let e=r.value.configuration.uri.host;u=Et.makeURI(`sip:${t.targetNumber}@${e}`)}if(!u)throw Error(`Invalid transfer target URI`);let d=`${encodeURIComponent(s)}%3Bto-tag%3D${encodeURIComponent(c)}%3Bfrom-tag%3D${encodeURIComponent(l)}`;u.setHeader(`Replaces`,d);try{await n.refer(u,{onNotify:t=>{t.accept();let r=t.request.body,a=typeof r==`string`?r:r&&typeof r==`object`&&`content`in r?r.content:void 0;if(a){let t=a.match(/SIP\/2\.0\s+(\d+)/);if(t&&t[1]){let r=parseInt(t[1]);r>=200&&r<300?setTimeout(()=>{n.bye().catch(()=>{}),i.bye().catch(()=>{}),e.setTransferInProgress(null)},500):r>=400&&(console.error(`[SipJs] Attended transfer failed with status:`,r),e.setTransferInProgress(null))}}},requestDelegate:{onAccept:()=>{},onReject:t=>{console.error(`[SipJs] Attended transfer REFER rejected:`,t.message.statusCode),e.setTransferInProgress(null)}}})}catch(e){throw console.error(`[SipJs] Attended transfer failed:`,e),e}},_e=async()=>{let t=e.transferInProgress.value;if(!t)throw Error(`No transfer in progress`);console.log(`[SipJs] Canceling attended transfer...`);let n=a.value.get(t.originalChannelId),r=a.value.get(t.consultationChannelId);if(r)try{await r.bye(),console.log(`[SipJs] Consultation call ended`)}catch(e){console.warn(`[SipJs] Error ending consultation:`,e)}if(n)try{e.setActiveChannelId(t.originalChannelId),await L(n,!1),e.updateChannelState(t.originalChannelId,{isHeld:!1}),console.log(`[SipJs] Returned to original call`)}catch(e){console.warn(`[SipJs] Error resuming original call:`,e)}e.setTransferInProgress(null)},ve=e=>{let t=e.sessionDescriptionHandler;if(!t){console.error(`[SipJs] setupRemoteMedia: no sessionDescriptionHandler`);return}let n=t.remoteMediaStream;if(!n){console.error(`[SipJs] setupRemoteMedia: no remoteMediaStream on SDH`);return}if(c.value===n)return;o.pause(),o.srcObject=null,p?.abort(),p=new AbortController,c.value=n,l.value=t.localMediaStream??null;let r=ne(e);P(e,r),r&&O(e,r.id);let i=e=>{m?.abort(),m=new AbortController;let{signal:t}=m,n=()=>{o.play().catch(e=>{e.name!==`AbortError`&&console.error(`[SipJs] play() failed:`,e.name,e.message)})};e.addEventListener(`unmute`,()=>{n()},{signal:t}),n()};n.addEventListener(`addtrack`,t=>{t.track.kind===`audio`&&(o.srcObject=null,o.srcObject=n,i(t.track),r&&O(e,r.id))},{signal:p.signal});let[a]=n.getTracks();a&&(o.srcObject=n,i(a),r&&O(e,r.id))},ye=()=>{m?.abort(),m=null,p?.abort(),p=null,o.pause(),o.srcObject=null,c.value=null,l.value=null};return{initUserAgent:F,stop:ce,makeCall:le,answerCall:ue,hangupCall:de,toggleMute:fe,toggleHold:R,sendDTMF:me,transferCall:z,startAttendedTransfer:ge,completeAttendedTransfer:B,cancelAttendedTransfer:_e,switchChannel:pe,extension:v,setVolume:ee,setNotificationVolume:C,setOutputDevice:j,setInputDevice:M,remoteStream:c,localStream:l}};var pr=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e;let mr=Pt,hr=(e,t)=>n=>{if(t?.variants==null)return mr(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=pr(t)||pr(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return mr(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};function gr(e){return typeof e==`string`?`'${e}'`:new _r().serialize(e)}var _r=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}();function vr(e,t){return e===t||gr(e)===gr(t)}function yr(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}function br(e,n){let r=typeof e==`string`&&!n?`${e}Context`:n,i=Symbol(r);return[n=>{let r=(0,t.inject)(i,n);if(r||r===null)return r;throw Error(`Injection \`${i.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>((0,t.provide)(i,e),e)]}function xr(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function Sr(e,t,n){let r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function Cr(e){return e==null}function wr(e){return e?e.flatMap(e=>e.type===t.Fragment?wr(e.children):[e]):[]}var[Tr,Er]=br(`ConfigProvider`);function Dr(e,n){return(0,t.getCurrentScope)()?((0,t.onScopeDispose)(e,n),!0):!1}function Or(){let e=new Set,t=t=>{e.delete(t)};return{on:n=>{e.add(n);let r=()=>t(n);return Dr(r),{off:r}},off:t,trigger:(...t)=>Promise.all(Array.from(e).map(e=>e(...t))),clear:()=>{e.clear()}}}var kr=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Ar=jr();function jr(){var e,t;return kr&&!!(!((e=window)==null||(e=e.navigator)==null)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function Mr(e){return e||(0,t.getCurrentInstance)()}function Nr(e,n=1e4){return(0,t.customRef)((r,i)=>{let a=(0,t.toValue)(e),o,s=()=>setTimeout(()=>{a=(0,t.toValue)(e),i()},(0,t.toValue)(n));return Dr(()=>{clearTimeout(o)}),{get(){return r(),a},set(e){a=e,i(),clearTimeout(o),o=s()}}})}function Pr(e,n){Mr(n)&&(0,t.onBeforeUnmount)(e,n)}function Fr(e,n,r={}){let{immediate:i=!0,immediateCallback:a=!1}=r,o=(0,t.shallowRef)(!1),s;function c(){s&&=(clearTimeout(s),void 0)}function l(){o.value=!1,c()}function u(...r){a&&e(),c(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=void 0,e(...r)},(0,t.toValue)(n))}return i&&(o.value=!0,kr&&u()),Dr(l),{isPending:(0,t.shallowReadonly)(o),start:u,stop:l}}function Ir(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function Lr(e,t,n=`.`,r){if(!Ir(t))return Lr(e,{},n,r);let i=Object.assign({},t);for(let t in e){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(Array.isArray(a)&&Array.isArray(i[t])?i[t]=[...a,...i[t]]:Ir(a)&&Ir(i[t])?i[t]=Lr(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function Rr(e){return(...t)=>t.reduce((t,n)=>Lr(t,n,``,e),{})}var zr=Rr(),Br=(0,n.createSharedComposable)(()=>{let e=(0,t.ref)(new Map),r=(0,t.ref)(),i=(0,t.computed)(()=>{for(let t of e.value.values())if(t)return!0;return!1}),a=Tr({scrollBody:(0,t.ref)(!0)}),o=null,s=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,document.body.style.pointerEvents=``,document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=r.value??``,Ar&&o?.(),r.value=void 0};return(0,t.watch)(i,(e,i)=>{if(!kr)return;if(!e){i&&s();return}r.value===void 0&&(r.value=document.body.style.overflow);let c=window.innerWidth-document.documentElement.clientWidth,l={padding:c,margin:0},u=a.scrollBody?.value?typeof a.scrollBody.value==`object`?zr({padding:a.scrollBody.value.padding===!0?c:a.scrollBody.value.padding,margin:a.scrollBody.value.margin===!0?c:a.scrollBody.value.margin},l):l:{padding:0,margin:0};c>0&&(document.body.style.paddingRight=typeof u.padding==`number`?`${u.padding}px`:String(u.padding),document.body.style.marginRight=typeof u.margin==`number`?`${u.margin}px`:String(u.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${c}px`),document.body.style.overflow=`hidden`),Ar&&(o=(0,n.useEventListener)(document,`touchmove`,e=>Ur(e),{passive:!1})),(0,t.nextTick)(()=>{document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`})},{immediate:!0,flush:`sync`}),e});function Vr(e){let n=Math.random().toString(36).substring(2,7),r=Br();r.value.set(n,e??!1);let i=(0,t.computed)({get:()=>r.value.get(n)??!1,set:e=>r.value.set(n,e)});return Pr(()=>{r.value.delete(n)}),i}function Hr(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth<e.scrollWidth||t.overflowY===`auto`&&e.clientHeight<e.scrollHeight)return!0;{let t=e.parentNode;return!(t instanceof Element)||t.tagName===`BODY`?!1:Hr(t)}}function Ur(e){let t=e||window.event,n=t.target;return n instanceof Element&&Hr(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function Wr(e){let n=Tr({dir:(0,t.ref)(`ltr`)});return(0,t.computed)(()=>e?.value||n.dir?.value||`ltr`)}function Gr(e){let n=(0,t.getCurrentInstance)(),r=n?.type.emits,i={};return r?.length||console.warn(`No emitted event found. Please check component: ${n?.type.__name}`),r?.forEach(n=>{i[(0,t.toHandlerKey)((0,t.camelize)(n))]=(...t)=>e(n,...t)}),i}var Kr=0;function qr(){(0,t.watchEffect)(e=>{if(!kr)return;let t=document.querySelectorAll(`[data-reka-focus-guard]`);document.body.insertAdjacentElement(`afterbegin`,t[0]??Jr()),document.body.insertAdjacentElement(`beforeend`,t[1]??Jr()),Kr++,e(()=>{Kr===1&&document.querySelectorAll(`[data-reka-focus-guard]`).forEach(e=>e.remove()),Kr--})})}function Jr(){let e=document.createElement(`span`);return e.setAttribute(`data-reka-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}function Yr(e){return(0,t.computed)(()=>(0,t.toValue)(e)?!!(0,n.unrefElement)(e)?.closest(`form`):!0)}function X(){let e=(0,t.getCurrentInstance)(),r=(0,t.ref)(),i=(0,t.computed)(()=>a());(0,t.onUpdated)(()=>{i.value!==a()&&(0,t.triggerRef)(r)});function a(){return r.value&&`$el`in r.value&&[`#text`,`#comment`].includes(r.value.$el.nodeName)?r.value.$el.nextElementSibling:(0,n.unrefElement)(r)}let o=Object.assign({},e.exposed),s={};for(let t in e.props)Object.defineProperty(s,t,{enumerable:!0,configurable:!0,get:()=>e.props[t]});if(Object.keys(o).length>0)for(let e in o)Object.defineProperty(s,e,{enumerable:!0,configurable:!0,get:()=>o[e]});Object.defineProperty(s,`$el`,{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=s;function c(t){if(r.value=t,t&&(Object.defineProperty(s,`$el`,{enumerable:!0,configurable:!0,get:()=>t instanceof Element?t:t.$el}),!(t instanceof Element)&&!Object.prototype.hasOwnProperty.call(t,`$el`))){let n=t.$.exposed,r=Object.assign({},s);for(let e in n)Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>n[e]});e.exposed=r}}return{forwardRef:c,currentRef:r,currentElement:i}}function Xr(e){let n=(0,t.getCurrentInstance)(),r=Object.keys(n?.type.props??{}).reduce((e,t)=>{let r=(n?.type.props[t]).default;return r!==void 0&&(e[t]=r),e},{}),i=(0,t.toRef)(e);return(0,t.computed)(()=>{let e={},a=n?.vnode.props??{};return Object.keys(a).forEach(n=>{e[(0,t.camelize)(n)]=a[n]}),Object.keys({...r,...e}).reduce((e,t)=>(i.value[t]!==void 0&&(e[t]=i.value[t]),e),{})})}function Zr(e,n){let r=Xr(e),i=n?Gr(n):{};return(0,t.computed)(()=>({...r.value,...i}))}function Qr(e,n){let r=Nr(!1,300);Dr(()=>{r.value=!1});let i=(0,t.ref)(null),a=Or();function o(){i.value=null,r.value=!1}function s(e,t){let n=e.currentTarget,a={x:e.clientX,y:e.clientY},o=ei(a,$r(a,n.getBoundingClientRect()),1),s=ti(t.getBoundingClientRect());i.value=ri([...o,...s]),r.value=!0}return(0,t.watchEffect)(t=>{if(e.value&&n.value){let r=e=>s(e,n.value),i=t=>s(t,e.value);e.value.addEventListener(`pointerleave`,r),n.value.addEventListener(`pointerleave`,i),t(()=>{e.value?.removeEventListener(`pointerleave`,r),n.value?.removeEventListener(`pointerleave`,i)})}}),(0,t.watchEffect)(t=>{if(i.value){let r=t=>{if(!i.value||!(t.target instanceof Element))return;let r=t.target,s={x:t.clientX,y:t.clientY},c=e.value?.contains(r)||n.value?.contains(r),l=!ni(s,i.value),u=!!r.closest(`[data-grace-area-trigger]`);c?o():(l||u)&&(o(),a.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,r),t(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,r))}}),{isPointerInTransit:r,onPointerExit:a.on}}function $r(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function ei(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function ti(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function ni(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function ri(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),ii(t)}function ii(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var ai=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},oi=new WeakMap,si=new WeakMap,ci={},li=0,ui=function(e){return e&&(e.host||ui(e.parentNode))},di=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=ui(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},fi=function(e,t,n,r){var i=di(t,Array.isArray(e)?e:[e]);ci[n]||(ci[n]=new WeakMap);var a=ci[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(oi.get(e)||0)+1,l=(a.get(e)||0)+1;oi.set(e,c),a.set(e,l),o.push(e),c===1&&i&&si.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),li++,function(){o.forEach(function(e){var t=oi.get(e)-1,i=a.get(e)-1;oi.set(e,t),a.set(e,i),t||(si.has(e)||e.removeAttribute(r),si.delete(e)),i||e.removeAttribute(n)}),li--,li||(oi=new WeakMap,oi=new WeakMap,si=new WeakMap,ci={})}},pi=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||ai(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),fi(r,i,n,`aria-hidden`)):function(){return null}};function mi(e){let r;(0,t.watch)(()=>(0,n.unrefElement)(e),e=>{e?r=pi(e):r&&r()}),(0,t.onUnmounted)(()=>{r&&r()})}var hi=0;function gi(e,n=`reka`){if(e)return e;let r;return r=`useId`in t?t.useId?.():Tr({useId:void 0}).useId?.()??`${++hi}`,n?`${n}-${r}`:r}function _i(e){let r=(0,t.ref)(),i=(0,t.computed)(()=>r.value?.width??0),a=(0,t.computed)(()=>r.value?.height??0);return(0,t.onMounted)(()=>{let t=(0,n.unrefElement)(e);if(t){r.value={width:t.offsetWidth,height:t.offsetHeight};let e=new ResizeObserver(e=>{if(!Array.isArray(e)||!e.length)return;let n=e[0],i,a;if(`borderBoxSize`in n){let e=n.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=t.offsetWidth,a=t.offsetHeight;r.value={width:i,height:a}});return e.observe(t,{box:`border-box`}),()=>e.unobserve(t)}else r.value=void 0}),{width:i,height:a}}function vi(e,n){let r=(0,t.ref)(e);function i(e){return n[r.value][e]??r.value}return{state:r,dispatch:e=>{r.value=i(e)}}}function yi(e){let t=Nr(``,1e3);return{search:t,handleTypeaheadSearch:(n,r)=>{if(t.value+=n,e)e(n);else{let e=xr(),n=r.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),i=n.find(t=>t.ref===e),a=xi(n.map(e=>e.textValue),t.value,i?.textValue),o=n.find(e=>e.textValue===a);return o&&o.ref.focus(),o?.ref}},resetTypeahead:()=>{t.value=``}}}function bi(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function xi(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=bi(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function Si(e,r){let i=(0,t.ref)({}),a=(0,t.ref)(`none`),o=(0,t.ref)(e),s=e.value?`mounted`:`unmounted`,c,l=r.value?.ownerDocument.defaultView??n.defaultWindow,{state:u,dispatch:d}=vi(s,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),f=e=>{if(kr){let t=new CustomEvent(e,{bubbles:!1,cancelable:!1});r.value?.dispatchEvent(t)}};(0,t.watch)(e,async(e,n)=>{let o=n!==e;if(await(0,t.nextTick)(),o){let t=a.value,o=Ci(r.value);e?(d(`MOUNT`),f(`enter`),o===`none`&&f(`after-enter`)):o===`none`||o===`undefined`||i.value?.display===`none`?(d(`UNMOUNT`),f(`leave`),f(`after-leave`)):n&&t!==o?(d(`ANIMATION_OUT`),f(`leave`)):(d(`UNMOUNT`),f(`after-leave`))}},{immediate:!0});let p=e=>{let t=Ci(r.value),n=t.includes(CSS.escape(e.animationName)),i=u.value===`mounted`?`enter`:`leave`;if(e.target===r.value&&n&&(f(`after-${i}`),d(`ANIMATION_END`),!o.value)){let e=r.value.style.animationFillMode;r.value.style.animationFillMode=`forwards`,c=l?.setTimeout(()=>{r.value?.style.animationFillMode===`forwards`&&(r.value.style.animationFillMode=e)})}e.target===r.value&&t===`none`&&d(`ANIMATION_END`)},m=e=>{e.target===r.value&&(a.value=Ci(r.value))},h=(0,t.watch)(r,(e,t)=>{e?(i.value=getComputedStyle(e),e.addEventListener(`animationstart`,m),e.addEventListener(`animationcancel`,p),e.addEventListener(`animationend`,p)):(d(`ANIMATION_END`),c!==void 0&&l?.clearTimeout(c),t?.removeEventListener(`animationstart`,m),t?.removeEventListener(`animationcancel`,p),t?.removeEventListener(`animationend`,p))},{immediate:!0}),g=(0,t.watch)(u,()=>{let e=Ci(r.value);a.value=u.value===`mounted`?e:`none`});return(0,t.onUnmounted)(()=>{h(),g()}),{isPresent:(0,t.computed)(()=>[`mounted`,`unmountSuspended`].includes(u.value))}}function Ci(e){return e&&getComputedStyle(e).animationName||`none`}var wi=(0,t.defineComponent)({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:r,expose:i}){let{present:a,forceMount:o}=(0,t.toRefs)(e),s=(0,t.ref)(),{isPresent:c}=Si(a,s);i({present:c});let l=r.default({present:c.value});l=wr(l||[]);let u=(0,t.getCurrentInstance)();if(l&&l?.length>1){let e=u?.parent?.type.name?`<${u.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(`
58
58
  `)].join(`
59
59
  `))}return()=>o.value||a.value||c.value?(0,t.h)(r.default({present:c.value})[0],{ref:e=>{let t=(0,n.unrefElement)(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?s.value=t.firstElementChild:s.value=t),t}}):null}}),Ti=(0,t.defineComponent)({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:n,slots:r}){return()=>{if(!r.default)return null;let e=wr(r.default()),i=e.findIndex(e=>e.type!==t.Comment);if(i===-1)return e;let a=e[i];delete a.props?.ref;let o=a.props?(0,t.mergeProps)(n,a.props):n,s=(0,t.cloneVNode)({...a,props:{}},o);return e.length===1?s:(e[i]=s,e)}}}),Ei=[`area`,`img`,`input`],Z=(0,t.defineComponent)({name:`Primitive`,inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:`div`}},setup(e,{attrs:n,slots:r}){let i=e.asChild?`template`:e.as;return typeof i==`string`&&Ei.includes(i)?()=>(0,t.h)(i,n):i===`template`?()=>(0,t.h)(Ti,n,{default:r.default}):()=>(0,t.h)(e.as,n,{default:r.default})}});function Di(){let e=(0,t.ref)();return{primitiveElement:e,currentElement:(0,t.computed)(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:(0,n.unrefElement)(e))}}var[Oi,ki]=br(`DialogRoot`),Ai=(0,t.defineComponent)({inheritAttrs:!1,__name:`DialogRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:r}){let i=e,a=(0,n.useVModel)(i,`open`,r,{defaultValue:i.defaultOpen,passive:i.open===void 0}),o=(0,t.ref)(),s=(0,t.ref)(),{modal:c}=(0,t.toRefs)(i);return ki({open:a,modal:c,openModal:()=>{a.value=!0},onOpenChange:e=>{a.value=e},onOpenToggle:()=>{a.value=!a.value},contentId:``,titleId:``,descriptionId:``,triggerElement:o,contentElement:s}),(e,n)=>(0,t.renderSlot)(e.$slots,`default`,{open:(0,t.unref)(a),close:()=>a.value=!1})}}),ji=(0,t.defineComponent)({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e;X();let r=Oi();return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Z),(0,t.mergeProps)(n,{type:e.as===`button`?`button`:void 0,onClick:i[0]||=e=>(0,t.unref)(r).onOpenChange(!1)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`type`]))}}),Mi=`dismissableLayer.pointerDownOutside`,Ni=`dismissableLayer.focusOutside`;function Pi(e,t){let n=t.closest(`[data-dismissable-layer]`),r=e.dataset.dismissableLayer===``?e:e.querySelector(`[data-dismissable-layer]`),i=Array.from(e.ownerDocument.querySelectorAll(`[data-dismissable-layer]`));return!!(n&&(r===n||i.indexOf(r)<i.indexOf(n)))}function Fi(e,n,r=!0){let i=n?.value?.ownerDocument??globalThis?.document,a=(0,t.ref)(!1),o=(0,t.ref)(()=>{});return(0,t.watchEffect)(s=>{if(!kr||!(0,t.toValue)(r))return;let c=async t=>{let r=t.target;if(!(!n?.value||!r)){if(Pi(n.value,r)){a.value=!1;return}if(t.target&&!a.value){let n={originalEvent:t};function r(){Sr(Mi,e,n)}t.pointerType===`touch`?(i.removeEventListener(`click`,o.value),o.value=r,i.addEventListener(`click`,o.value,{once:!0})):r()}else i.removeEventListener(`click`,o.value);a.value=!1}},l=window.setTimeout(()=>{i.addEventListener(`pointerdown`,c)},0);s(()=>{window.clearTimeout(l),i.removeEventListener(`pointerdown`,c),i.removeEventListener(`click`,o.value)})}),{onPointerDownCapture:()=>{(0,t.toValue)(r)&&(a.value=!0)}}}function Ii(e,n,r=!0){let i=n?.value?.ownerDocument??globalThis?.document,a=(0,t.ref)(!1);return(0,t.watchEffect)(o=>{if(!kr||!(0,t.toValue)(r))return;let s=async r=>{if(!n?.value)return;await(0,t.nextTick)(),await(0,t.nextTick)();let i=r.target;!n.value||!i||Pi(n.value,i)||r.target&&!a.value&&Sr(Ni,e,{originalEvent:r})};i.addEventListener(`focusin`,s),o(()=>i.removeEventListener(`focusin`,s))}),{onFocusCapture:()=>{(0,t.toValue)(r)&&(a.value=!0)},onBlurCapture:()=>{(0,t.toValue)(r)&&(a.value=!1)}}}var Li=(0,t.reactive)({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set}),Ri=(0,t.defineComponent)({__name:`DismissableLayer`,props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`dismiss`],setup(e,{emit:r}){let i=e,a=r,{forwardRef:o,currentElement:s}=X(),c=(0,t.computed)(()=>s.value?.ownerDocument??globalThis.document),l=(0,t.computed)(()=>Li.layersRoot),u=(0,t.computed)(()=>s.value?Array.from(l.value).indexOf(s.value):-1),d=(0,t.computed)(()=>Li.layersWithOutsidePointerEventsDisabled.size>0),f=(0,t.computed)(()=>{let e=Array.from(l.value),[t]=[...Li.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return u.value>=n}),p=Fi(async e=>{let n=[...Li.branches].some(t=>t?.contains(e.target));!f.value||n||(a(`pointerDownOutside`,e),a(`interactOutside`,e),await(0,t.nextTick)(),e.defaultPrevented||a(`dismiss`))},s),m=Ii(e=>{[...Li.branches].some(t=>t?.contains(e.target))||(a(`focusOutside`,e),a(`interactOutside`,e),e.defaultPrevented||a(`dismiss`))},s);return(0,n.onKeyStroke)(`Escape`,e=>{u.value===l.value.size-1&&(a(`escapeKeyDown`,e),e.defaultPrevented||a(`dismiss`))}),(0,t.watchEffect)(e=>{s.value&&(i.disableOutsidePointerEvents&&(Li.layersWithOutsidePointerEventsDisabled.size===0&&(Li.originalBodyPointerEvents=c.value.body.style.pointerEvents,c.value.body.style.pointerEvents=`none`),Li.layersWithOutsidePointerEventsDisabled.add(s.value)),l.value.add(s.value),e(()=>{i.disableOutsidePointerEvents&&Li.layersWithOutsidePointerEventsDisabled.size===1&&!Cr(Li.originalBodyPointerEvents)&&(c.value.body.style.pointerEvents=Li.originalBodyPointerEvents)}))}),(0,t.watchEffect)(e=>{e(()=>{s.value&&(l.value.delete(s.value),Li.layersWithOutsidePointerEventsDisabled.delete(s.value))})}),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Z),{ref:(0,t.unref)(o),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:(0,t.normalizeStyle)({pointerEvents:d.value?f.value?`auto`:`none`:void 0}),onFocusCapture:(0,t.unref)(m).onFocusCapture,onBlurCapture:(0,t.unref)(m).onBlurCapture,onPointerdownCapture:(0,t.unref)(p).onPointerDownCapture},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),zi=(0,n.createGlobalState)(()=>(0,t.ref)([]));function Bi(){let e=zi();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=Vi(e.value,t),e.value.unshift(t)},remove(t){e.value=Vi(e.value,t),e.value[0]?.resume()}}}function Vi(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var Hi=`focusScope.autoFocusOnMount`,Ui=`focusScope.autoFocusOnUnmount`,Wi={bubbles:!1,cancelable:!0};function Gi(e,{select:t=!1}={}){let n=xr();for(let r of e)if(Zi(r,{select:t}),xr()!==n)return!0}function Ki(e){let t=qi(e);return[Ji(t,e),Ji(t.reverse(),e)]}function qi(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Ji(e,t){for(let n of e)if(!Yi(n,{upTo:t}))return n}function Yi(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function Xi(e){return e instanceof HTMLInputElement&&`select`in e}function Zi(e,{select:t=!1}={}){if(e&&e.focus){let n=xr();e.focus({preventScroll:!0}),e!==n&&Xi(e)&&t&&e.select()}}var Qi=(0,t.defineComponent)({__name:`FocusScope`,props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`mountAutoFocus`,`unmountAutoFocus`],setup(e,{emit:n}){let r=e,i=n,{currentRef:a,currentElement:o}=X(),s=(0,t.ref)(null),c=Bi(),l=(0,t.reactive)({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});(0,t.watchEffect)(e=>{if(!kr)return;let t=o.value;if(!r.trapped)return;function n(e){if(l.paused||!t)return;let n=e.target;t.contains(n)?s.value=n:Zi(s.value,{select:!0})}function i(e){if(l.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||Zi(s.value,{select:!0}))}function a(e){t.contains(s.value)||Zi(t)}document.addEventListener(`focusin`,n),document.addEventListener(`focusout`,i);let c=new MutationObserver(a);t&&c.observe(t,{childList:!0,subtree:!0}),e(()=>{document.removeEventListener(`focusin`,n),document.removeEventListener(`focusout`,i),c.disconnect()})}),(0,t.watchEffect)(async e=>{let n=o.value;if(await(0,t.nextTick)(),!n)return;c.add(l);let r=xr();if(!n.contains(r)){let e=new CustomEvent(Hi,Wi);n.addEventListener(Hi,e=>i(`mountAutoFocus`,e)),n.dispatchEvent(e),e.defaultPrevented||(Gi(qi(n),{select:!0}),xr()===r&&Zi(n))}e(()=>{n.removeEventListener(Hi,e=>i(`mountAutoFocus`,e));let e=new CustomEvent(Ui,Wi),t=e=>{i(`unmountAutoFocus`,e)};n.addEventListener(Ui,t),n.dispatchEvent(e),setTimeout(()=>{e.defaultPrevented||Zi(r??document.body,{select:!0}),n.removeEventListener(Ui,t),c.remove(l)},0)})});function u(e){if(!r.loop&&!r.trapped||l.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,n=xr();if(t&&n){let t=e.currentTarget,[i,a]=Ki(t);i&&a?!e.shiftKey&&n===a?(e.preventDefault(),r.loop&&Zi(i,{select:!0})):e.shiftKey&&n===i&&(e.preventDefault(),r.loop&&Zi(a,{select:!0})):n===t&&e.preventDefault()}}return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Z),{ref_key:`currentRef`,ref:a,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:u},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),$i=[`Enter`,` `],ea=[`ArrowDown`,`PageUp`,`Home`],ta=[`ArrowUp`,`PageDown`,`End`];[...ea,...ta],[...$i],[...$i];function na(e){return e?`open`:`closed`}function ra(e){let t=xr();for(let n of e)if(n===t||(n.focus(),xr()!==t))return}var ia=`DialogTitle`,aa=`DialogContent`;function oa({titleName:e=ia,contentName:n=aa,componentLink:r=`dialog.html#title`,titleId:i,descriptionId:a,contentElement:o}){let s=`Warning: \`${n}\` requires a \`${e}\` for the component to be accessible for screen reader users.
60
60
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tmsoft/webphone",
3
- "version": "3.0.23",
3
+ "version": "3.0.24",
4
4
  "description": "WebPhone - SIP softphone component for Vue 3 and Web Components",
5
5
  "type": "module",
6
6
  "packageManager": "yarn@4.17.0",