@steedos-widgets/liveblocks 6.10.1-beta.8 → 6.10.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -10
- package/dist/assets-dev.json +25 -0
- package/dist/assets.json +5 -5
- package/dist/components/Comments.d.ts +10 -1
- package/dist/i18n.d.ts +2 -0
- package/dist/liveblocks.umd.css +17 -10
- package/dist/liveblocks.umd.js +2 -2
- package/dist/meta.js +5 -5
- package/dist/types/components/Comments.d.ts +10 -1
- package/dist/types/i18n.d.ts +2 -0
- package/package.json +10 -8
package/dist/liveblocks.umd.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","react","react-dom"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).BuilderLiveblocks={},e.React,e.ReactDOM)}(this,(function(e,t,n){const r=window;function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var i=a(t),s=o(t),u=a(n),c=o(n),l=Object.defineProperty,d="@liveblocks/core",f="2.12.0",h="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==r?r:{};function p(e){console.error(e)}function m(e,t,n){const r=Symbol.for(e),o=n?`${t||"dev"} (${n})`:t||"dev";if(h[r])if(h[r]===o);else{p(["Multiple copies of Liveblocks are being loaded in your project. This will cause issues! See https://liveblocks.io/docs/errors/dupes ","","Conflicts:",`- ${e} ${h[r]} (already loaded)`,`- ${e} ${o} (trying to load this now)`].join("\n"))}else h[r]=o;t&&f&&t!==f&&p(["Cross-linked versions of Liveblocks found, which will cause issues! See https://liveblocks.io/docs/errors/cross-linked ","","Conflicts:",`- ${d} is at ${f}`,`- ${e} is at ${t}`,"","Always upgrade all Liveblocks packages to the same version number."].join("\n"))}function v(e,t){throw new Error(t)}function g(e,t="Expected value to be non-nullable"){return e}function y(){let e,t;return[new Promise(((n,r)=>{e=n,t=r})),e,t]}function b(){const[e,t,n]=y();return{promise:e,resolve:t,reject:n}}function E(){const e=new Set,t=new Set;let n=null;function r(e){return t.add(e),()=>t.delete(e)}function o(t){return e.add(t),()=>e.delete(t)}async function a(e){let t;return new Promise((n=>{t=r((t=>{(void 0===e||e(t))&&n(t)}))})).finally((()=>t?.()))}function i(n){e.forEach((e=>e(n))),e.clear(),t.forEach((e=>e(n)))}return{notify:function(e){null!==n?n.push(e):i(e)},subscribe:r,subscribeOnce:o,_forceClear:function(){e.clear(),t.clear()},count:function(){return e.size+t.size},waitUntil:a,pause:function(){n=[]},unpause:function(){if(null!==n){for(const e of n)i(e);n=null}},observable:{subscribe:r,subscribeOnce:o,waitUntil:a}}}var w={};((e,t)=>{for(var n in t)l(e,n,{get:t[n],enumerable:!0})})(w,{error:()=>x,errorWithTitle:()=>O,warn:()=>A,warnWithTitle:()=>B});var C="background:#0e0d12;border-radius:9999px;color:#fff;padding:3px 7px;font-family:sans-serif;font-weight:600;";function D(e){return"undefined"==typeof window?console[e]:(t,...n)=>console[e]("%cLiveblocks",C,t,...n)}var A=D("warn"),x=D("error");function _(e){return"undefined"==typeof window?console[e]:(t,n,...r)=>console[e](`%cLiveblocks%c ${t}`,C,"font-weight:600",n,...r)}var B=_("warn"),O=_("error");var S=class{constructor(e){this.curr=e}get current(){return this.curr}allowPatching(e){const t=this;let n=!0;e({...this.curr,patch(e){if(!n)throw new Error("Can no longer patch stale context");t.curr=Object.assign({},t.curr,e);for(const t of Object.entries(e)){const[e,n]=t;"patch"!==e&&(this[e]=n)}}}),n=!1}},T=1,k=class{get initialState(){const e=this.states.values()[Symbol.iterator]().next();if(e.done)throw new Error("No states defined yet");return e.value}get currentState(){if(null===this.currentStateOrNull)throw 0===this.runningState?new Error("Not started yet"):new Error("Already stopped");return this.currentStateOrNull}start(){if(0!==this.runningState)throw new Error("State machine has already started");return this.runningState=1,this.currentStateOrNull=this.initialState,this.enter(null),this}stop(){if(1!==this.runningState)throw new Error("Cannot stop a state machine that hasn't started yet");this.exit(null),this.runningState=2,this.currentStateOrNull=null}constructor(e){this.id=T++,this.runningState=0,this.currentStateOrNull=null,this.states=new Set,this.enterFns=new Map,this.cleanupStack=[],this.knownEventTypes=new Set,this.allowedTransitions=new Map,this.currentContext=new S(e),this.eventHub={didReceiveEvent:E(),willTransition:E(),didIgnoreEvent:E(),willExitState:E(),didEnterState:E()},this.events={didReceiveEvent:this.eventHub.didReceiveEvent.observable,willTransition:this.eventHub.willTransition.observable,didIgnoreEvent:this.eventHub.didIgnoreEvent.observable,willExitState:this.eventHub.willExitState.observable,didEnterState:this.eventHub.didEnterState.observable}}get context(){return this.currentContext.current}addState(e){if(0!==this.runningState)throw new Error("Already started");return this.states.add(e),this}onEnter(e,t){if(0!==this.runningState)throw new Error("Already started");if(this.enterFns.has(e))throw new Error(`enter/exit function for ${e} already exists`);return this.enterFns.set(e,t),this}onEnterAsync(e,t,n,r,o){return this.onEnter(e,(()=>{const e=new AbortController,a=e.signal,i=o?setTimeout((()=>{const e=new Error("Timed out");this.transition({type:"ASYNC_ERROR",reason:e},r)}),o):void 0;let s=!1;return t(this.currentContext.current,a).then((e=>{a.aborted||(s=!0,this.transition({type:"ASYNC_OK",data:e},n))}),(e=>{a.aborted||(s=!0,this.transition({type:"ASYNC_ERROR",reason:e},r))})),()=>{clearTimeout(i),s||e.abort()}}))}getStatesMatching(e){const t=[];if("*"===e)for(const e of this.states)t.push(e);else if(e.endsWith(".*")){const n=e.slice(0,-1);for(const e of this.states)e.startsWith(n)&&t.push(e)}else{const n=e;this.states.has(n)&&t.push(n)}if(0===t.length)throw new Error(`No states match ${JSON.stringify(e)}`);return t}addTransitions(e,t){if(0!==this.runningState)throw new Error("Already started");for(const n of this.getStatesMatching(e)){let r=this.allowedTransitions.get(n);void 0===r&&(r=new Map,this.allowedTransitions.set(n,r));for(const[o,a]of Object.entries(t)){if(r.has(o))throw new Error(`Trying to set transition "${o}" on "${n}" (via "${e}"), but a transition already exists there.`);const t=a;if(this.knownEventTypes.add(o),void 0!==t){const e="function"==typeof t?t:()=>t;r.set(o,e)}}}return this}addTimedTransition(e,t,n){return this.onEnter(e,(()=>{const e="function"==typeof t?t(this.currentContext.current):t,r=setTimeout((()=>{this.transition({type:"TIMER"},n)}),e);return()=>{clearTimeout(r)}}))}getTargetFn(e){return this.allowedTransitions.get(this.currentState)?.get(e)}exit(e){this.eventHub.willExitState.notify(this.currentState),this.currentContext.allowPatching((t=>{e=e??this.cleanupStack.length;for(let n=0;n<e;n++)this.cleanupStack.pop()?.(t)}))}enter(e){const t=function(e,t){const n=e.split(".");if(t<1||t>n.length+1)throw new Error("Invalid number of levels");const r=[];t>n.length&&r.push("*");for(let e=n.length-t+1;e<n.length;e++){const t=n.slice(0,e);t.length>0&&r.push(t.join(".")+".*")}return r.push(e),r}(this.currentState,e??this.currentState.split(".").length+1);this.currentContext.allowPatching((e=>{for(const n of t){const t=this.enterFns.get(n),r=t?.(e);"function"==typeof r?this.cleanupStack.push(r):this.cleanupStack.push(null)}})),this.eventHub.didEnterState.notify(this.currentState)}send(e){if(!this.knownEventTypes.has(e.type))throw new Error(`Invalid event ${JSON.stringify(e.type)}`);if(2===this.runningState)return;const t=this.getTargetFn(e.type);if(void 0!==t)return this.transition(e,t);this.eventHub.didIgnoreEvent.notify(e)}transition(e,t){this.eventHub.didReceiveEvent.notify(e);const n=this.currentState,r=("function"==typeof t?t:()=>t)(e,this.currentContext.current);let o,a;if(null===r)return void this.eventHub.didIgnoreEvent.notify(e);if("string"==typeof r?o=r:(o=r.target,a=Array.isArray(r.effect)?r.effect:[r.effect]),!this.states.has(o))throw new Error(`Invalid next state name: ${JSON.stringify(o)}`);this.eventHub.willTransition.notify({from:n,to:o});const[i,s]=function(e,t){if(e===t)return[0,0];const n=e.split("."),r=t.split("."),o=Math.min(n.length,r.length);let a=0;for(;a<o&&n[a]===r[a];a++);return[n.length-a,r.length-a]}(this.currentState,o);if(i>0&&this.exit(i),this.currentStateOrNull=o,void 0!==a){const t=a;this.currentContext.allowPatching((n=>{for(const r of t)"function"==typeof r?r(n,e):n.patch(r)}))}s>0&&this.enter(s)}};function I(e){throw new Error(e)}function F(e){return null!==e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)}function R(e){return Object.entries(e)}function N(e){try{return JSON.parse(e)}catch(e){return}}function P(e){return JSON.parse(JSON.stringify(e))}function M(e){return e.filter((e=>null!=e))}function j(e){const t={...e};return Object.keys(e).forEach((e=>{const n=e;void 0===t[n]&&delete t[n]})),t}function L(e){return new Promise((t=>setTimeout(t,e)))}async function z(e,t,n){let r;const o=new Promise(((e,o)=>{r=setTimeout((()=>{o(new Error(n))}),t)}));return Promise.race([e,o]).finally((()=>clearTimeout(r)))}function H(e){let t=null;return()=>(null===t&&(t=e().catch((e=>{throw setTimeout((()=>{t=null}),5e3),e}))),t)}var U=(e=>(e[e.UPDATE_PRESENCE=100]="UPDATE_PRESENCE",e[e.USER_JOINED=101]="USER_JOINED",e[e.USER_LEFT=102]="USER_LEFT",e[e.BROADCASTED_EVENT=103]="BROADCASTED_EVENT",e[e.ROOM_STATE=104]="ROOM_STATE",e[e.INITIAL_STORAGE_STATE=200]="INITIAL_STORAGE_STATE",e[e.UPDATE_STORAGE=201]="UPDATE_STORAGE",e[e.REJECT_STORAGE_OP=299]="REJECT_STORAGE_OP",e[e.UPDATE_YDOC=300]="UPDATE_YDOC",e[e.THREAD_CREATED=400]="THREAD_CREATED",e[e.THREAD_DELETED=407]="THREAD_DELETED",e[e.THREAD_METADATA_UPDATED=401]="THREAD_METADATA_UPDATED",e[e.THREAD_UPDATED=408]="THREAD_UPDATED",e[e.COMMENT_CREATED=402]="COMMENT_CREATED",e[e.COMMENT_EDITED=403]="COMMENT_EDITED",e[e.COMMENT_DELETED=404]="COMMENT_DELETED",e[e.COMMENT_REACTION_ADDED=405]="COMMENT_REACTION_ADDED",e[e.COMMENT_REACTION_REMOVED=406]="COMMENT_REACTION_REMOVED",e))(U||{});function W(e){return 4999===e||e>=4e3&&e<4100}function $(e){return 1013===e||e>=4200&&e<4300}function V(e){const t=e.currentState;switch(t){case"@ok.connected":case"@ok.awaiting-pong":return"connected";case"@idle.initial":return"initial";case"@auth.busy":case"@auth.backoff":case"@connecting.busy":case"@connecting.backoff":case"@idle.zombie":return e.context.successCount>0?"reconnecting":"connecting";case"@idle.failed":return"disconnected";default:return v(0,"Unknown state")}}var K=[250,500,1e3,2e3,4e3,8e3,1e4],q=K[0]-1,G=[2e3,3e4,6e4,3e5],X=class extends Error{constructor(e){super(e)}},Z=class extends Error{constructor(e,t){super(e),this.code=t}};function Y(e,t){return t.find((t=>t>e))??t[t.length-1]}function J(e){e.patch({backoffDelay:Y(e.backoffDelay,K)})}function Q(e){e.patch({backoffDelay:Y(e.backoffDelay,G)})}function ee(e){e.patch({successCount:0})}function te(e,t){const n=2===e?x:1===e?A:()=>{};return()=>{n(t)}}function ne(e){const t="Connection to Liveblocks websocket server";return n=>{e instanceof Error?A(`${t} could not be established. ${String(e)}`):A(ae(e)?`${t} closed prematurely (code: ${e.code}). Retrying in ${n.backoffDelay}ms.`:`${t} could not be established.`)}}function re(e){const t=[`code: ${e.code}`];return e.reason&&t.push(`reason: ${e.reason}`),e=>{A(`Connection to Liveblocks websocket server closed (${t.join(", ")}). Retrying in ${e.backoffDelay}ms.`)}}var oe=te(1,"Connection to WebSocket closed permanently. Won't retry.");function ae(e){return!(e instanceof Error)&&"close"===e.type}var ie=e=>t=>t.patch(e);function se(e,t){const n=E();n.pause();const r=E();function o(e,t){return()=>{const n=new Z(e,t);r.notify(n)}}const a=new k({successCount:0,authValue:null,socket:null,backoffDelay:q}).addState("@idle.initial").addState("@idle.failed").addState("@idle.zombie").addState("@auth.busy").addState("@auth.backoff").addState("@connecting.busy").addState("@connecting.backoff").addState("@ok.connected").addState("@ok.awaiting-pong");a.addTransitions("*",{RECONNECT:{target:"@auth.backoff",effect:[J,ee]},DISCONNECT:"@idle.initial"}),a.onEnter("@idle.*",ee).addTransitions("@idle.*",{CONNECT:(e,t)=>null!==t.authValue?"@connecting.busy":"@auth.busy"}),a.addTransitions("@auth.backoff",{NAVIGATOR_ONLINE:{target:"@auth.busy",effect:ie({backoffDelay:q})}}).addTimedTransition("@auth.backoff",(e=>e.backoffDelay),"@auth.busy").onEnterAsync("@auth.busy",(()=>z(e.authenticate(),1e4,"Timed out during auth")),(e=>({target:"@connecting.busy",effect:ie({authValue:e.data})})),(e=>e.reason instanceof X?{target:"@idle.failed",effect:[te(2,e.reason.message),o(e.reason.message,-1)]}:{target:"@auth.backoff",effect:[J,te(2,`Authentication failed: ${e.reason instanceof Error?e.reason.message:String(e.reason)}`)]}));const i=e=>a.send({type:"EXPLICIT_SOCKET_ERROR",event:e}),s=e=>a.send({type:"EXPLICIT_SOCKET_CLOSE",event:e}),u=e=>"pong"===e.data?a.send({type:"PONG"}):n.notify(e);function c(e){e&&(e.removeEventListener("error",i),e.removeEventListener("close",s),e.removeEventListener("message",u),e.close())}a.addTransitions("@connecting.backoff",{NAVIGATOR_ONLINE:{target:"@connecting.busy",effect:ie({backoffDelay:q})}}).addTimedTransition("@connecting.backoff",(e=>e.backoffDelay),"@connecting.busy").onEnterAsync("@connecting.busy",(async(n,r)=>{let o=null,a=null;return z(new Promise(((r,c)=>{if(null===n.authValue)throw new Error("No auth authValue");const l=e.createSocket(n.authValue);function d(e){o=e,l.removeEventListener("message",u),c(e)}a=l;const[f,h]=y();function p(e){const t=N(e.data);104===t?.type&&h()}t.waitForActorId||h(),l.addEventListener("message",u),t.waitForActorId&&l.addEventListener("message",p),l.addEventListener("error",d),l.addEventListener("close",d),l.addEventListener("open",(()=>{l.addEventListener("error",i),l.addEventListener("close",s);const e=()=>{l.removeEventListener("error",d),l.removeEventListener("close",d),l.removeEventListener("message",p)};f.then((()=>{r([l,e])}))}))})),1e4,"Timed out during websocket connection").then((([e,t])=>{if(t(),r.aborted)throw new Error("Aborted");if(o)throw o;return e})).catch((e=>{throw c(a),e}))}),(e=>({target:"@ok.connected",effect:ie({socket:e.data,backoffDelay:q})})),(e=>{const t=e.reason;if(t instanceof X)return{target:"@idle.failed",effect:[te(2,t.message),o(t.message,-1)]};if(ae(t)){if(4109===t.code)return"@auth.busy";if($(t.code))return{target:"@connecting.backoff",effect:[Q,ne(t)]};if(W(t.code))return{target:"@idle.failed",effect:[te(2,t.reason),o(t.reason,t.code)]}}return{target:"@auth.backoff",effect:[J,ne(t)]}}));const l={target:"@ok.awaiting-pong",effect:e=>{e.socket?.send("ping")}},d=()=>{const t="undefined"!=typeof document?document:void 0;return"hidden"===t?.visibilityState&&e.canZombie()?"@idle.zombie":l};if(a.addTimedTransition("@ok.connected",3e4,d).addTransitions("@ok.connected",{NAVIGATOR_OFFLINE:d,WINDOW_GOT_FOCUS:l}),a.addTransitions("@idle.zombie",{WINDOW_GOT_FOCUS:"@connecting.backoff"}),a.onEnter("@ok.*",(e=>{e.patch({successCount:e.successCount+1});const t=setTimeout(n.unpause,0);return e=>{c(e.socket),e.patch({socket:null}),clearTimeout(t),n.pause()}})).addTransitions("@ok.awaiting-pong",{PONG:"@ok.connected"}).addTimedTransition("@ok.awaiting-pong",2e3,{target:"@connecting.busy",effect:te(1,"Received no pong from server, assume implicit connection loss.")}).addTransitions("@ok.*",{EXPLICIT_SOCKET_ERROR:(e,t)=>1===t.socket?.readyState?null:{target:"@connecting.backoff",effect:J},EXPLICIT_SOCKET_CLOSE:e=>{return W(e.event.code)?{target:"@idle.failed",effect:[oe,o(e.event.reason,e.event.code)]}:(t=e.event.code)>=4100&&t<4200?4109===e.event.code?"@auth.busy":{target:"@auth.backoff",effect:[J,re(e.event)]}:$(e.event.code)?{target:"@connecting.backoff",effect:[Q,re(e.event)]}:{target:"@connecting.backoff",effect:[J,re(e.event)]};var t}}),"undefined"!=typeof document){const e="undefined"!=typeof document?document:void 0,t="undefined"!=typeof window?window:void 0,n=t??e;a.onEnter("*",(r=>{function o(){a.send({type:"NAVIGATOR_OFFLINE"})}function i(){a.send({type:"NAVIGATOR_ONLINE"})}function s(){"visible"===e?.visibilityState&&a.send({type:"WINDOW_GOT_FOCUS"})}return t?.addEventListener("online",i),t?.addEventListener("offline",o),n?.addEventListener("visibilitychange",s),()=>{n?.removeEventListener("visibilitychange",s),t?.removeEventListener("online",i),t?.removeEventListener("offline",o),c(r.socket)}}))}const f=[],{statusDidChange:h,didConnect:p,didDisconnect:m,unsubscribe:v}=function(e){const t=E(),n=E(),r=E();let o=null;const a=e.events.didEnterState.subscribe((()=>{const a=V(e);a!==o&&t.notify(a),"connected"===o&&"connected"!==a?r.notify():"connected"!==o&&"connected"===a&&n.notify(),o=a}));return{statusDidChange:t.observable,didConnect:n.observable,didDisconnect:r.observable,unsubscribe:a}}(a);return f.push(v),t.enableDebugLogging&&f.push(function(e){const t=(new Date).getTime();function n(...n){A(`${(((new Date).getTime()-t)/1e3).toFixed(2)} [FSM #${e.id}]`,...n)}const r=[e.events.didReceiveEvent.subscribe((e=>n(`Event ${e.type}`))),e.events.willTransition.subscribe((({from:e,to:t})=>n("Transitioning",e,"→",t))),e.events.didIgnoreEvent.subscribe((e=>n("Ignored event",e.type,e,"(current state won't handle it)")))];return()=>{for(const e of r)e()}}(a)),a.start(),{machine:a,cleanups:f,events:{statusDidChange:h,didConnect:p,didDisconnect:m,onMessage:n.observable,onLiveblocksError:r.observable}}}var ue=class{constructor(e,t=!1,n=!0){const{machine:r,events:o,cleanups:a}=se(e,{waitForActorId:n,enableDebugLogging:t});this.machine=r,this.events=o,this.cleanups=a}getStatus(){try{return V(this.machine)}catch{return"initial"}}get authValue(){return this.machine.context.authValue}connect(){this.machine.send({type:"CONNECT"})}reconnect(){this.machine.send({type:"RECONNECT"})}disconnect(){this.machine.send({type:"DISCONNECT"})}destroy(){let e;for(this.machine.stop();e=this.cleanups.pop();)e()}send(e){const t=this.machine.context?.socket;null===t?A("Cannot send: not connected yet",e):1!==t.readyState?A("Cannot send: WebSocket no longer open",e):t.send(e)}_privateSendMachineEvent(e){this.machine.send(e)}};function ce(e){return e.includes("room:write")}function le(e){return e.includes("comments:write")||e.includes("room:write")}function de(e){const t=e.split(".");if(3!==t.length)throw new Error("Authentication error: invalid JWT token");const n=N(function(e){try{const t=e.replace(/-/g,"+").replace(/_/g,"/");return decodeURIComponent(atob(t).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""))}catch(t){return atob(e)}}(t[1]));if(!n||(!F(r=n)||"acc"!==r.k&&"id"!==r.k&&"sec-legacy"!==r.k))throw new Error("Authentication error: expected a valid token but did not get one. Hint: if you are using a callback, ensure the room is passed when creating the token. For more information: https://liveblocks.io/docs/api-reference/liveblocks-client#createClientCallback");var r;return{raw:e,parsed:n}}function fe(e){const t=function(e){const{publicApiKey:t,authEndpoint:n}=e;if(void 0!==n&&void 0!==t)throw new Error("You cannot simultaneously use `publicApiKey` and `authEndpoint` options. Please pick one and leave the other option unspecified. For more information: https://liveblocks.io/docs/api-reference/liveblocks-client#createClient");if("string"==typeof t){if(t.startsWith("sk_"))throw new Error("Invalid `publicApiKey` option. The value you passed is a secret key, which should not be used from the client. Please only ever pass a public key here. For more information: https://liveblocks.io/docs/api-reference/liveblocks-client#createClientPublicKey");if(!t.startsWith("pk_"))throw new Error("Invalid key. Please use the public key format: pk_<public key>. For more information: https://liveblocks.io/docs/api-reference/liveblocks-client#createClientPublicKey");return{type:"public",publicApiKey:t}}if("string"==typeof n)return{type:"private",url:n};if("function"==typeof n)return{type:"custom",callback:n};if(void 0!==n)throw new Error("The `authEndpoint` option must be a string or a function. For more information: https://liveblocks.io/docs/api-reference/liveblocks-client#createClientAuthEndpoint");throw new Error("Invalid Liveblocks client options. Please provide either a `publicApiKey` or `authEndpoint` option. They cannot both be empty. For more information: https://liveblocks.io/docs/api-reference/liveblocks-client#createClient")}(e),n=new Set,r=[],o=[],a=new Map;function i(e,t){return"comments:read"===e?t.includes("comments:read")||t.includes("comments:write")||t.includes("room:read")||t.includes("room:write"):"room:read"===e&&(t.includes("room:read")||t.includes("room:write"))}async function s(r){const o=e.polyfills?.fetch??("undefined"==typeof window?void 0:window.fetch);if("private"===t.type){if(void 0===o)throw new X("To use Liveblocks client in a non-DOM environment with a url as auth endpoint, you need to provide a fetch polyfill.");const e=de((await async function(e,t,n){const r=await e(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!r.ok){const e=`${(await r.text()).trim()||"reason not provided in auth response"} (${r.status} returned by POST ${t})`;throw 401===r.status||403===r.status?new X(`Unauthorized: ${e}`):new Error(`Failed to authenticate: ${e}`)}let o;try{o=await r.json()}catch(e){throw new Error(`Expected a JSON response when doing a POST request on "${t}". ${String(e)}`)}if(!F(o)||"string"!=typeof o.token)throw new Error(`Expected a JSON response of the form \`{ token: "..." }\` when doing a POST request on "${t}", but got ${JSON.stringify(o)}`);const{token:a}=o;return{token:a}}(o,t.url,{room:r.roomId})).token);if(n.has(e.raw))throw new X("The same Liveblocks auth token was issued from the backend before. Caching Liveblocks tokens is not supported.");return e}if("custom"===t.type){const e=await t.callback(r.roomId);if(e&&"object"==typeof e){if("string"==typeof e.token){return de(e.token)}if("string"==typeof e.error){const t=`Authentication failed: ${"reason"in e&&"string"==typeof e.reason?e.reason:"Forbidden"}`;throw"forbidden"===e.error?new X(t):new Error(t)}}throw new Error('Your authentication callback function should return a token, but it did not. Hint: the return value should look like: { token: "..." }')}throw new Error("Unexpected authentication type. Must be private or custom.")}return{reset:function(){n.clear(),r.length=0,o.length=0,a.clear()},getAuthValue:async function(e){if("public"===t.type)return{type:"public",publicApiKey:t.publicApiKey};const u=function(e){const t=Math.ceil(Date.now()/1e3);for(let n=r.length-1;n>=0;n--){const a=r[n];if(o[n]<=t)r.splice(n,1),o.splice(n,1);else{if("id"===a.parsed.k)return a;if("acc"===a.parsed.k){if(!e.roomId&&0===Object.entries(a.parsed.perms).length)return a;for(const[t,n]of Object.entries(a.parsed.perms))if(e.roomId){if(t.includes("*")&&e.roomId.startsWith(t.replace("*",""))||e.roomId===t&&i(e.requestedScope,n))return a}else if(t.includes("*")&&i(e.requestedScope,n))return a}}}}(e);if(void 0!==u)return{type:"secret",token:u};let c;e.roomId?(c=a.get(e.roomId),void 0===c&&(c=s(e),a.set(e.roomId,c))):(c=a.get("liveblocks-user-token"),void 0===c&&(c=s(e),a.set("liveblocks-user-token",c)));try{const e=await c,t=30,a=Math.floor(Date.now()/1e3)+(e.parsed.exp-e.parsed.iat)-t;return n.add(e.raw),"sec-legacy"!==e.parsed.k&&(r.push(e),o.push(a)),{type:"secret",token:e}}finally{e.roomId?a.delete(e.roomId):a.delete("liveblocks-user-token")}}}}var he=Symbol();function pe(e,...t){if("object"!=typeof e||null===e||Array.isArray(e))return JSON.stringify(e,...t);const n=Object.keys(e).sort().reduce(((t,n)=>(t[n]=e[n],t)),{});return JSON.stringify(n,...t)}E().observable;var me=class{constructor(e){this.input=e;const{promise:t,resolve:n,reject:r}=b();this.promise=t,this.resolve=n,this.reject=r}},ve=class{constructor(e,t){this.queue=[],this.error=!1,this.callback=e,this.size=t.size??50,this.delay=t.delay}clearDelayTimeout(){void 0!==this.delayTimeoutId&&(clearTimeout(this.delayTimeoutId),this.delayTimeoutId=void 0)}schedule(){this.queue.length===this.size?this.flush():1===this.queue.length&&(this.clearDelayTimeout(),this.delayTimeoutId=setTimeout((()=>{this.flush()}),this.delay))}async flush(){if(0===this.queue.length)return;const e=this.queue.splice(0),t=e.map((e=>e.input));try{const n=await this.callback(t);this.error=!1,e.forEach(((t,r)=>{const o=n?.[r];Array.isArray(n)?e.length!==n.length?t.reject(new Error(`Callback must return an array of the same length as the number of provided items. Expected ${e.length}, but got ${n.length}.`)):o instanceof Error?t.reject(o):t.resolve(o):t.reject(new Error("Callback must return an array."))}))}catch(t){this.error=!0,e.forEach((e=>{e.reject(t)}))}}get(e){const t=this.queue.find((t=>pe(t.input)===pe(e)));if(t)return t.promise;const n=new me(e);return this.queue.push(n),this.schedule(),n.promise}clear(){this.queue=[],this.error=!1,this.clearDelayTimeout()}};function ge(e){const t=new Map,n=E();function r(e){return pe(e)}function o(e,r){t.set(e,r),n.notify()}return{...n.observable,get:async function(n){const a=r(n);if(!t.has(a))try{o(a,{isLoading:!0});o(a,{isLoading:!1,data:await e.get(n)})}catch(e){o(a,{isLoading:!1,error:e})}},getState:function(e){const n=r(e);return t.get(n)},invalidate:function(e){if(Array.isArray(e))for(const n of e)t.delete(r(n));else t.clear();n.notify()},_cacheKeys:function(){return[...t.keys()]}}}function ye(e){let t=!0,n=!1,r=e;const o=new Set;function a(){if(n){n=!1;for(const e of o)e(r)}}return{get:function(){return r},set:function(e){const o=r,i=e(o);i!==o&&(r=i,n=!0),t&&a()},batch:function(e){if(!1===t)return e();t=!1;try{e()}finally{t=!0,a()}},subscribe:function(e){return o.add(e),()=>{o.delete(e)}}}}function be(e){const t=e.editedAt?new Date(e.editedAt):void 0,n=new Date(e.createdAt),r=e.reactions.map((e=>({...e,createdAt:new Date(e.createdAt)})));if(e.body)return{...e,reactions:r,createdAt:n,editedAt:t};{const o=new Date(e.deletedAt);return{...e,reactions:r,createdAt:n,editedAt:t,deletedAt:o}}}function Ee(e){const t=new Date(e.createdAt),n=new Date(e.updatedAt),r=e.comments.map((e=>be(e)));return{...e,createdAt:t,updatedAt:n,comments:r}}function we(e){const t=new Date(e.notifiedAt),n=e.readAt?new Date(e.readAt):null;if("activities"in e){const r=e.activities.map((e=>({...e,createdAt:new Date(e.createdAt)})));return{...e,notifiedAt:t,readAt:n,activities:r}}return{...e,notifiedAt:t,readAt:n}}function Ce(e){const t=new Date(e.deletedAt);return{...e,deletedAt:t}}function De(e){const t=new Date(e.deletedAt);return{...e,deletedAt:t}}var Ae=class extends Error{constructor(e,t,n){super(e),this.message=e,this.status=t,this.details=n}},xe=e=>e instanceof Ae&&e.status>=400&&e.status<500;async function _e(e,t,n,r=xe){const o=n.length>0?n[n.length-1]:0;let a=0;for(;;){a++;try{return await e()}catch(e){if(r(e))throw e;if(a>=t)throw new Error(`Failed after ${t} attempts: ${String(e)}`)}const i=n[a-1]??o;A(`Attempt ${a} was unsuccessful. Retrying in ${i} milliseconds.`),await L(i)}}function Be(e,t,n){const r=new URL(t,e);return void 0!==n&&(r.search=(n instanceof URLSearchParams?n:function(e){const t=new URLSearchParams;for(const[n,r]of Object.entries(e))null!=r&&t.set(n,r.toString());return t}(n)).toString()),r.toString()}function Oe(e,...t){return e.reduce(((e,n,r)=>e+encodeURIComponent(t[r-1]??"")+n))}function Se(e){return"public"===e.type?e.publicApiKey:e.token.raw}var Te=class{constructor(e,t,n){this._baseUrl=e,this._fetchPolyfill=t,this._authCallback=n}async rawFetch(e,t,n){e.startsWith("/v2/c/")||I("This client can only be used to make /v2/c/* requests");const r=Be(this._baseUrl,e,n);return await this._fetchPolyfill(r,{...t,headers:{"Content-Type":"application/json; charset=utf-8",...t?.headers,Authorization:`Bearer ${Se(await this._authCallback())}`,"X-LB-Client":f}})}async fetch(e,t,n){const r=await this.rawFetch(e,t,n);if(!r.ok){let e;try{const t=await r.json();e=new Ae(t.message,r.status,t)}catch{e=new Ae(r.statusText,r.status)}throw e}let o;try{o=await r.json()}catch{o={}}return o}async rawGet(e,t,n){return await this.rawFetch(e,n,t)}async rawPost(e,t){return await this.rawFetch(e,{method:"POST",body:JSON.stringify(t)})}async rawDelete(e){return await this.rawFetch(e,{method:"DELETE"})}async get(e,t,n){return await this.fetch(e,n,t)}async post(e,t,n,r){return await this.fetch(e,{...n,method:"POST",body:JSON.stringify(t)},r)}async delete(e){return await this.fetch(e,{method:"DELETE"})}async putBlob(e,t,n,r){return await this.fetch(e,{...r,method:"PUT",headers:{"Content-Type":"application/octet-stream"},body:t},n)}};function ke({baseUrl:e,authManager:t,currentUserIdStore:n,fetchPolyfill:r}){const o=new Te(e,r,(async function(){const e=await t.getAuthValue({requestedScope:"comments:read"});if("secret"===e.type&&"acc"===e.token.parsed.k){const t=e.token.parsed.uid;n.set((()=>t))}return e}));const a=new ve((async e=>{const t=e.flat();return await async function(e){await o.post(Oe`/v2/c/inbox-notifications/read`,{inboxNotificationIds:e})}(t),t}),{delay:50});return{getInboxNotifications:async function(e){const t=await o.get(Oe`/v2/c/inbox-notifications`,{cursor:e?.cursor,limit:50});return{inboxNotifications:t.inboxNotifications.map(we),threads:t.threads.map(Ee),nextCursor:t.meta.nextCursor,requestedAt:new Date(t.meta.requestedAt)}},getInboxNotificationsSince:async function(e){const t=await o.get(Oe`/v2/c/inbox-notifications/delta`,{since:e.since.toISOString()},{signal:e?.signal});return{inboxNotifications:{updated:t.inboxNotifications.map(we),deleted:t.deletedInboxNotifications.map(De)},threads:{updated:t.threads.map(Ee),deleted:t.deletedThreads.map(Ce)},requestedAt:new Date(t.meta.requestedAt)}},getUnreadInboxNotificationsCount:async function(){const{count:e}=await o.get(Oe`/v2/c/inbox-notifications/count`);return e},markAllInboxNotificationsAsRead:async function(){await o.post(Oe`/v2/c/inbox-notifications/read`,{inboxNotificationIds:"all"})},markInboxNotificationAsRead:async function(e){await a.get(e)},deleteAllInboxNotifications:async function(){await o.delete(Oe`/v2/c/inbox-notifications`)},deleteInboxNotification:async function(e){await o.delete(Oe`/v2/c/inbox-notifications/${e}`)},getUserThreads_experimental:async function(e){let t;e?.query&&(t=_t(e.query));const n=await o.get(Oe`/v2/c/threads`,{cursor:e.cursor,query:t,limit:50});return{threads:n.threads.map(Ee),inboxNotifications:n.inboxNotifications.map(we),nextCursor:n.meta.nextCursor,requestedAt:new Date(n.meta.requestedAt)}},getUserThreadsSince_experimental:async function(e){const t=await o.get(Oe`/v2/c/threads/delta`,{since:e.since.toISOString()},{signal:e.signal});return{threads:{updated:t.threads.map(Ee),deleted:t.deletedThreads.map(Ce)},inboxNotifications:{updated:t.inboxNotifications.map(we),deleted:t.deletedInboxNotifications.map(De)},requestedAt:new Date(t.meta.requestedAt)}}}}function Ie(e,t){let n=!1;const r={...e};return Object.keys(t).forEach((e=>{const o=e,a=t[o];r[o]!==a&&(void 0===a?delete r[o]:r[o]=a,n=!0)})),n?r:e}var Fe=class{constructor(){this._ev=E()}get didInvalidate(){return this._ev.observable}invalidate(){null!==this._cache&&(this._cache=null,this._ev.notify())}get current(){return this._cache??(this._cache=this._toImmutable())}},Re=class extends Fe{constructor(e){super(),this._value=e}_toImmutable(){return this._value}set(e){this._value!==e&&(this._value=e,this.invalidate())}},Ne=class extends Fe{constructor(...e){super();const t=e.pop(),n=e;this._refs=n,this._refs.forEach((e=>{e.didInvalidate.subscribe((()=>this.invalidate()))})),this._transform=t}_toImmutable(){return this._transform(...this._refs.map((e=>e.current)))}},Pe=32,Me=126,je=He(0),Le=He(1),ze=je+He(-1);function He(e){const t=Pe+(e<0?95+e:e);if(t<Pe||t>Me)throw new Error(`Invalid n value: ${e}`);return String.fromCharCode(t)}function Ue(e,t){return void 0!==e&&void 0!==t?function(e,t){if(e<t)return We(e,t);if(e>t)return We(t,e);throw new Error("Cannot compute value between two equal positions")}(e,t):void 0!==e?function(e){for(let t=0;t<=e.length-1;t++){const n=e.charCodeAt(t);if(!(n>=Me))return e.substring(0,t)+String.fromCharCode(n+1)}return e+Le}(e):void 0!==t?function(e){const t=e.length-1;for(let n=0;n<=t;n++){const r=e.charCodeAt(n);if(!(r<=Pe))return n===t?33===r?e.substring(0,n)+ze:e.substring(0,n)+String.fromCharCode(r-1):e.substring(0,n+1)}return Le}(t):Le}function We(e,t){let n=0;const r=e.length,o=t.length;for(;;){const a=n<r?e.charCodeAt(n):Pe,i=n<o?t.charCodeAt(n):Me;if(a!==i){if(i-a==1){const t=n+1;let r=e.substring(0,t);r.length<t&&(r+=je.repeat(t-r.length));return r+We(e.substring(t),"")}return $e(e,n)+String.fromCharCode(i+a>>1)}n++}}function $e(e,t){return t<e.length?e.substring(0,t):e+je.repeat(t-e.length)}function Ve(e){return function(e){if(""===e)return!1;const t=e.length-1,n=e.charCodeAt(t);if(n<33||n>Me)return!1;for(let n=0;n<t;n++){const t=e.charCodeAt(n);if(t<Pe||t>Me)return!1}return!0}(e)?e:function(e){const t=[];for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);t.push(r<Pe?Pe:r>Me?Me:r)}for(;t.length>0&&t[t.length-1]===Pe;)t.length--;return t.length>0?String.fromCharCode(...t):Le}(e)}function Ke(e,t,n=Ve(t)){return Object.freeze({type:"HasParent",node:e,key:t,pos:n})}var qe=Object.freeze({type:"NoParent"});var Ge=class{constructor(){this._parent=qe}_getParentKeyOrThrow(){switch(this.parent.type){case"HasParent":return this.parent.key;case"NoParent":throw new Error("Parent key is missing");case"Orphaned":return this.parent.oldKey;default:return v(this.parent,"Unknown state")}}get _parentPos(){switch(this.parent.type){case"HasParent":return this.parent.pos;case"NoParent":throw new Error("Parent key is missing");case"Orphaned":return this.parent.oldPos;default:return v(this.parent,"Unknown state")}}get _pool(){return this.__pool}get roomId(){return this.__pool?this.__pool.roomId:null}get _id(){return this.__id}get parent(){return this._parent}get _parentKey(){switch(this.parent.type){case"HasParent":return this.parent.key;case"NoParent":return null;case"Orphaned":return this.parent.oldKey;default:return v(this.parent,"Unknown state")}}_apply(e,t){return 5===e.type&&"HasParent"===this.parent.type?this.parent.node._detachChild(this):{modified:!1}}_setParentLink(e,t){switch(this.parent.type){case"HasParent":if(this.parent.node!==e)throw new Error("Cannot set parent: node already has a parent");return void(this._parent=Ke(e,t));case"Orphaned":case"NoParent":return void(this._parent=Ke(e,t));default:return v(this.parent,"Unknown state")}}_attach(e,t){if(this.__id||this.__pool)throw new Error("Cannot attach node: already attached");t.addNode(e,this),this.__id=e,this.__pool=t}_detach(){switch(this.__pool&&this.__id&&this.__pool.deleteNode(this.__id),this.parent.type){case"HasParent":this._parent=function(e,t=Ve(e)){return Object.freeze({type:"Orphaned",oldKey:e,oldPos:t})}(this.parent.key,this.parent.pos);break;case"NoParent":this._parent=qe;break;case"Orphaned":break;default:v(this.parent,"Unknown state")}this.__pool=void 0}invalidate(){void 0===this._cachedImmutable&&void 0===this._cachedTreeNode||(this._cachedImmutable=void 0,this._cachedTreeNode=void 0,"HasParent"===this.parent.type&&this.parent.node.invalidate())}toTreeNode(e){return void 0!==this._cachedTreeNode&&this._cachedTreeNodeKey===e||(this._cachedTreeNodeKey=e,this._cachedTreeNode=this._toTreeNode(e)),this._cachedTreeNode}toImmutable(){return void 0===this._cachedImmutable&&(this._cachedImmutable=this._toImmutable()),this._cachedImmutable}};function Xe(e){return 0===e.type&&!function(e){return void 0!==e.parentId&&void 0!==e.parentKey}(e)}var Ze=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+((t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t<63?"_":"-")),""),Ye=class e extends Ge{constructor(e){super(),this._data=e}get data(){return this._data}static _deserialize([t,n],r,o){const a=new e(n.data);return a._attach(t,o),a}_toOps(e,t,n){if(void 0===this._id)throw new Error("Cannot serialize register if parentId or parentKey is undefined");return[{type:8,opId:n?.generateOpId(),id:this._id,parentId:e,parentKey:t,data:this.data}]}_serialize(){if("HasParent"!==this.parent.type)throw new Error("Cannot serialize LiveRegister if parent is missing");return{type:3,parentId:g(this.parent.node._id,"Parent node expected to have ID"),parentKey:this.parent.key,data:this.data}}_attachChild(e){throw new Error("Method not implemented.")}_detachChild(e){throw new Error("Method not implemented.")}_apply(e,t){return super._apply(e,t)}_toTreeNode(e){return{type:"Json",id:this._id??Ze(),key:e,payload:this._data}}_toImmutable(){return this._data}clone(){return P(this.data)}};function Je(e,t){const n=e._parentPos,r=t._parentPos;return n===r?0:n<r?-1:1}var Qe=class e extends Ge{constructor(e){let t;super(),this._items=[],this._implicitlyDeletedItems=new WeakSet,this._unacknowledgedSets=new Map;for(const n of e){const e=Ue(t),r=yt(n);r._setParentLink(this,e),this._items.push(r),t=e}}static _deserialize([t],n,r){const o=new e([]);o._attach(t,r);const a=n.get(t);if(void 0===a)return o;for(const[e,t]of a){const a=ft([e,t],n,r);a._setParentLink(o,t.parentKey),o._insertAndSort(a)}return o}_toOps(e,t,n){if(void 0===this._id)throw new Error("Cannot serialize item is not attached");const r=[],o={id:this._id,opId:n?.generateOpId(),type:2,parentId:e,parentKey:t};r.push(o);for(const e of this._items){const t=e._getParentKeyOrThrow(),o=it(e._toOps(this._id,t,n),void 0),a=o[0].opId;void 0!==a&&this._unacknowledgedSets.set(t,a),r.push(...o)}return r}_insertAndSort(e){this._items.push(e),this._sortItems()}_sortItems(){this._items.sort(Je),this.invalidate()}_indexOfPosition(e){return this._items.findIndex((t=>t._getParentKeyOrThrow()===e))}_attach(e,t){super._attach(e,t);for(const e of this._items)e._attach(t.generateId(),t)}_detach(){super._detach();for(const e of this._items)e._detach()}_applySetRemote(e){if(void 0===this._pool)throw new Error("Can't attach child if managed pool is not present");const{id:t,parentKey:n}=e,r=ct(e);r._attach(t,this._pool),r._setParentLink(this,n);const o=e.deletedId,a=this._indexOfPosition(n);if(-1!==a){const t=this._items[a];if(t._id===o)return t._detach(),this._items[a]=r,{modified:tt(this,[nt(a,r)]),reverse:[]};{this._implicitlyDeletedItems.add(t),this._items[a]=r;const n=[nt(a,r)],o=this._detachItemAssociatedToSetOperation(e.deletedId);return o&&n.push(o),{modified:tt(this,n),reverse:[]}}}{const t=[],o=this._detachItemAssociatedToSetOperation(e.deletedId);return o&&t.push(o),this._insertAndSort(r),t.push(ot(this._indexOfPosition(n),r)),{reverse:[],modified:tt(this,t)}}}_applySetAck(e){if(void 0===this._pool)throw new Error("Can't attach child if managed pool is not present");const t=[],n=this._detachItemAssociatedToSetOperation(e.deletedId);n&&t.push(n);const r=this._unacknowledgedSets.get(e.parentKey);if(void 0!==r){if(r!==e.opId)return 0===t.length?{modified:!1}:{modified:tt(this,t),reverse:[]};this._unacknowledgedSets.delete(e.parentKey)}const o=this._indexOfPosition(e.parentKey),a=this._items.find((t=>t._id===e.id));if(void 0!==a){if(a._parentKey===e.parentKey)return{modified:t.length>0&&tt(this,t),reverse:[]};if(-1!==o){this._implicitlyDeletedItems.add(this._items[o]);const[e]=this._items.splice(o,1);t.push(rt(o,e))}const n=this._items.indexOf(a);a._setParentLink(this,e.parentKey),this._sortItems();const r=this._items.indexOf(a);return r!==n&&t.push(at(n,r,a)),{modified:t.length>0&&tt(this,t),reverse:[]}}{const n=this._pool.getNode(e.id);if(n&&this._implicitlyDeletedItems.has(n)){n._setParentLink(this,e.parentKey),this._implicitlyDeletedItems.delete(n),this._insertAndSort(n);const r=this._items.indexOf(n);return{modified:tt(this,[-1===o?ot(r,n):nt(r,n),...t]),reverse:[]}}{-1!==o&&this._items.splice(o,1);const{newItem:n,newIndex:r}=this._createAttachItemAndSort(e,e.parentKey);return{modified:tt(this,[-1===o?ot(r,n):nt(r,n),...t]),reverse:[]}}}}_detachItemAssociatedToSetOperation(e){if(void 0===e||void 0===this._pool)return null;const t=this._pool.getNode(e);if(void 0===t)return null;const n=this._detachChild(t);return!1===n.modified?null:n.modified.updates[0]}_applyRemoteInsert(e){if(void 0===this._pool)throw new Error("Can't attach child if managed pool is not present");const t=Ve(e.parentKey),n=this._indexOfPosition(t);-1!==n&&this._shiftItemPosition(n,t);const{newItem:r,newIndex:o}=this._createAttachItemAndSort(e,t);return{modified:tt(this,[ot(o,r)]),reverse:[]}}_applyInsertAck(e){const t=this._items.find((t=>t._id===e.id)),n=Ve(e.parentKey),r=this._indexOfPosition(n);if(t){if(t._parentKey===n)return{modified:!1};{const e=this._items.indexOf(t);-1!==r&&this._shiftItemPosition(r,n),t._setParentLink(this,n),this._sortItems();const o=this._indexOfPosition(n);return o===e?{modified:!1}:{modified:tt(this,[at(e,o,t)]),reverse:[]}}}{const t=g(this._pool).getNode(e.id);if(t&&this._implicitlyDeletedItems.has(t)){t._setParentLink(this,n),this._implicitlyDeletedItems.delete(t),this._insertAndSort(t);return{modified:tt(this,[ot(this._indexOfPosition(n),t)]),reverse:[]}}{-1!==r&&this._shiftItemPosition(r,n);const{newItem:t,newIndex:o}=this._createAttachItemAndSort(e,n);return{modified:tt(this,[ot(o,t)]),reverse:[]}}}}_applyInsertUndoRedo(e){const{id:t,parentKey:n}=e,r=ct(e);if(void 0!==this._pool?.getNode(t))return{modified:!1};r._attach(t,g(this._pool)),r._setParentLink(this,n);const o=this._indexOfPosition(n);let a=n;if(-1!==o){const e=this._items[o]?._parentPos,t=this._items[o+1]?._parentPos;a=Ue(e,t),r._setParentLink(this,a)}this._insertAndSort(r);return{modified:tt(this,[ot(this._indexOfPosition(a),r)]),reverse:[{type:5,id:t}]}}_applySetUndoRedo(e){const{id:t,parentKey:n}=e,r=ct(e);if(void 0!==this._pool?.getNode(t))return{modified:!1};this._unacknowledgedSets.set(n,g(e.opId));const o=this._indexOfPosition(n);r._attach(t,g(this._pool)),r._setParentLink(this,n);const a=n;if(-1!==o){const t=this._items[o];t._detach(),this._items[o]=r;const a=it(t._toOps(g(this._id),n,this._pool),e.id),i=[nt(o,r)],s=this._detachItemAssociatedToSetOperation(e.deletedId);return s&&i.push(s),{modified:tt(this,i),reverse:a}}this._insertAndSort(r),this._detachItemAssociatedToSetOperation(e.deletedId);return{reverse:[{type:5,id:t}],modified:tt(this,[ot(this._indexOfPosition(a),r)])}}_attachChild(e,t){if(void 0===this._pool)throw new Error("Can't attach child if managed pool is not present");let n;return n="set"===e.intent?1===t?this._applySetRemote(e):2===t?this._applySetAck(e):this._applySetUndoRedo(e):1===t?this._applyRemoteInsert(e):2===t?this._applyInsertAck(e):this._applyInsertUndoRedo(e),!1!==n.modified&&this.invalidate(),n}_detachChild(e){if(e){const t=g(e._parentKey),n=e._toOps(g(this._id),t,this._pool),r=this._items.indexOf(e);if(-1===r)return{modified:!1};const[o]=this._items.splice(r,1);return this.invalidate(),e._detach(),{modified:tt(this,[rt(r,o)]),reverse:n}}return{modified:!1}}_applySetChildKeyRemote(e,t){if(this._implicitlyDeletedItems.has(t)){this._implicitlyDeletedItems.delete(t),t._setParentLink(this,e),this._insertAndSort(t);return{modified:tt(this,[ot(this._items.indexOf(t),t)]),reverse:[]}}if(e===t._parentKey)return{modified:!1};const n=this._indexOfPosition(e);if(-1===n){const n=this._items.indexOf(t);t._setParentLink(this,e),this._sortItems();const r=this._items.indexOf(t);return r===n?{modified:!1}:{modified:tt(this,[at(n,r,t)]),reverse:[]}}{this._items[n]._setParentLink(this,Ue(e,this._items[n+1]?._parentPos));const r=this._items.indexOf(t);t._setParentLink(this,e),this._sortItems();const o=this._items.indexOf(t);return o===r?{modified:!1}:{modified:tt(this,[at(r,o,t)]),reverse:[]}}}_applySetChildKeyAck(e,t){const n=g(t._parentKey);if(this._implicitlyDeletedItems.has(t)){const n=this._indexOfPosition(e);return this._implicitlyDeletedItems.delete(t),-1!==n&&this._items[n]._setParentLink(this,Ue(e,this._items[n+1]?._parentPos)),t._setParentLink(this,e),this._insertAndSort(t),{modified:!1}}{if(e===n)return{modified:!1};const r=this._items.indexOf(t),o=this._indexOfPosition(e);-1!==o&&this._items[o]._setParentLink(this,Ue(e,this._items[o+1]?._parentPos)),t._setParentLink(this,e),this._sortItems();const a=this._items.indexOf(t);return r===a?{modified:!1}:{modified:tt(this,[at(r,a,t)]),reverse:[]}}}_applySetChildKeyUndoRedo(e,t){const n=g(t._parentKey),r=this._items.indexOf(t),o=this._indexOfPosition(e);-1!==o&&this._items[o]._setParentLink(this,Ue(e,this._items[o+1]?._parentPos)),t._setParentLink(this,e),this._sortItems();const a=this._items.indexOf(t);return r===a?{modified:!1}:{modified:tt(this,[at(r,a,t)]),reverse:[{type:1,id:g(t._id),parentKey:n}]}}_setChildKey(e,t,n){return 1===n?this._applySetChildKeyRemote(e,t):2===n?this._applySetChildKeyAck(e,t):this._applySetChildKeyUndoRedo(e,t)}_apply(e,t){return super._apply(e,t)}_serialize(){if("HasParent"!==this.parent.type)throw new Error("Cannot serialize LiveList if parent is missing");return{type:1,parentId:g(this.parent.node._id,"Parent node expected to have ID"),parentKey:this.parent.key}}get length(){return this._items.length}push(e){return this._pool?.assertStorageIsWritable(),this.insert(e,this.length)}insert(e,t){if(this._pool?.assertStorageIsWritable(),t<0||t>this._items.length)throw new Error(`Cannot insert list item at index "${t}". index should be between 0 and ${this._items.length}`);const n=Ue(this._items[t-1]?this._items[t-1]._parentPos:void 0,this._items[t]?this._items[t]._parentPos:void 0),r=yt(e);if(r._setParentLink(this,n),this._insertAndSort(r),this._pool&&this._id){const e=this._pool.generateId();r._attach(e,this._pool),this._pool.dispatch(r._toOps(this._id,n,this._pool),[{type:5,id:e}],new Map([[this._id,tt(this,[ot(t,r)])]]))}}move(e,t){if(this._pool?.assertStorageIsWritable(),t<0)throw new Error("targetIndex cannot be less than 0");if(t>=this._items.length)throw new Error("targetIndex cannot be greater or equal than the list length");if(e<0)throw new Error("index cannot be less than 0");if(e>=this._items.length)throw new Error("index cannot be greater or equal than the list length");let n=null,r=null;e<t?(r=t===this._items.length-1?void 0:this._items[t+1]._parentPos,n=this._items[t]._parentPos):(r=this._items[t]._parentPos,n=0===t?void 0:this._items[t-1]._parentPos);const o=Ue(n,r),a=this._items[e],i=a._getParentKeyOrThrow();if(a._setParentLink(this,o),this._sortItems(),this._pool&&this._id){const n=new Map([[this._id,tt(this,[at(e,t,a)])]]);this._pool.dispatch([{type:1,id:g(a._id),opId:this._pool.generateOpId(),parentKey:o}],[{type:1,id:g(a._id),parentKey:i}],n)}}delete(e){if(this._pool?.assertStorageIsWritable(),e<0||e>=this._items.length)throw new Error(`Cannot delete list item at index "${e}". index should be between 0 and ${this._items.length-1}`);const t=this._items[e];t._detach();const[n]=this._items.splice(e,1);if(this.invalidate(),this._pool){const r=t._id;if(r){const o=new Map;o.set(g(this._id),tt(this,[rt(e,n)])),this._pool.dispatch([{id:r,opId:this._pool.generateOpId(),type:5}],t._toOps(g(this._id),t._getParentKeyOrThrow()),o)}}}clear(){if(this._pool?.assertStorageIsWritable(),this._pool){const e=[],t=[],n=[];for(const r of this._items){r._detach();const o=r._id;o&&(e.push({type:5,id:o,opId:this._pool.generateOpId()}),t.push(...r._toOps(g(this._id),r._getParentKeyOrThrow())),n.push(rt(0,r)))}this._items=[],this.invalidate();const r=new Map;r.set(g(this._id),tt(this,n)),this._pool.dispatch(e,t,r)}else{for(const e of this._items)e._detach();this._items=[],this.invalidate()}}set(e,t){if(this._pool?.assertStorageIsWritable(),e<0||e>=this._items.length)throw new Error(`Cannot set list item at index "${e}". index should be between 0 and ${this._items.length-1}`);const n=this._items[e],r=n._getParentKeyOrThrow(),o=n._id;n._detach();const a=yt(t);if(a._setParentLink(this,r),this._items[e]=a,this.invalidate(),this._pool&&this._id){const t=this._pool.generateId();a._attach(t,this._pool);const i=new Map;i.set(this._id,tt(this,[nt(e,a)]));const s=it(a._toOps(this._id,r,this._pool),o);this._unacknowledgedSets.set(r,g(s[0].opId));const u=it(n._toOps(this._id,r,void 0),t);this._pool.dispatch(s,u,i)}}toArray(){return this._items.map((e=>gt(e)))}every(e){return this.toArray().every(e)}filter(e){return this.toArray().filter(e)}find(e){return this.toArray().find(e)}findIndex(e){return this.toArray().findIndex(e)}forEach(e){return this.toArray().forEach(e)}get(e){if(!(e<0||e>=this._items.length))return gt(this._items[e])}indexOf(e,t){return this.toArray().indexOf(e,t)}lastIndexOf(e,t){return this.toArray().lastIndexOf(e,t)}map(e){return this._items.map(((t,n)=>e(gt(t),n)))}some(e){return this.toArray().some(e)}[Symbol.iterator](){return new et(this._items)}_createAttachItemAndSort(e,t){const n=ct(e);n._attach(e.id,g(this._pool)),n._setParentLink(this,t),this._insertAndSort(n);return{newItem:n,newIndex:this._indexOfPosition(t)}}_shiftItemPosition(e,t){const n=Ue(t,this._items.length>e+1?this._items[e+1]?._parentPos:void 0);this._items[e]._setParentLink(this,n)}_toTreeNode(e){return{type:"LiveList",id:this._id??Ze(),key:e,payload:this._items.map(((e,t)=>e.toTreeNode(t.toString())))}}toImmutable(){return super.toImmutable()}_toImmutable(){const e=this._items.map((e=>e.toImmutable()));return e}clone(){return new e(this._items.map((e=>e.clone())))}},et=class{constructor(e){this._innerIterator=e[Symbol.iterator]()}[Symbol.iterator](){return this}next(){const e=this._innerIterator.next();if(e.done)return{done:!0,value:void 0};return{value:gt(e.value)}}};function tt(e,t){return{node:e,type:"LiveList",updates:t}}function nt(e,t){return{index:e,type:"set",item:t instanceof Ye?t.data:t}}function rt(e,t){return{type:"delete",index:e,deletedItem:t instanceof Ye?t.data:t}}function ot(e,t){return{index:e,type:"insert",item:t instanceof Ye?t.data:t}}function at(e,t,n){return{type:"move",index:t,item:n instanceof Ye?n.data:n,previousIndex:e}}function it(e,t){return e.map(((e,n)=>{if(0===n){return{...e,intent:"set",deletedId:t}}return e}))}var st=class e extends Ge{constructor(e){if(super(),this.unacknowledgedSet=new Map,e){const t=[];for(const[n,r]of e){const e=yt(r);e._setParentLink(this,n),t.push([n,e])}this._map=new Map(t)}else this._map=new Map}_toOps(e,t,n){if(void 0===this._id)throw new Error("Cannot serialize item is not attached");const r=[],o={id:this._id,opId:n?.generateOpId(),type:7,parentId:e,parentKey:t};r.push(o);for(const[e,t]of this._map)r.push(...t._toOps(this._id,e,n));return r}static _deserialize([t,n],r,o){const a=new e;a._attach(t,o);const i=r.get(t);if(void 0===i)return a;for(const[e,t]of i){const n=ft([e,t],r,o);n._setParentLink(a,t.parentKey),a._map.set(t.parentKey,n),a.invalidate()}return a}_attach(e,t){super._attach(e,t);for(const[e,n]of this._map)mt(n)&&n._attach(t.generateId(),t)}_attachChild(e,t){if(void 0===this._pool)throw new Error("Can't attach child if managed pool is not present");const{id:n,parentKey:r,opId:o}=e,a=r,i=ct(e);if(void 0!==this._pool.getNode(n))return{modified:!1};if(2===t){const e=this.unacknowledgedSet.get(a);if(e===o)return this.unacknowledgedSet.delete(a),{modified:!1};if(void 0!==e)return{modified:!1}}else 1===t&&this.unacknowledgedSet.delete(a);const s=this._map.get(a);let u;if(s){const e=g(this._id);u=s._toOps(e,a),s._detach()}else u=[{type:5,id:n}];return i._setParentLink(this,a),i._attach(n,this._pool),this._map.set(a,i),this.invalidate(),{modified:{node:this,type:"LiveMap",updates:{[a]:{type:"update"}}},reverse:u}}_detach(){super._detach();for(const e of this._map.values())e._detach()}_detachChild(e){const t=g(this._id),n=g(e._parentKey),r=e._toOps(t,n,this._pool);for(const[t,n]of this._map)n===e&&(this._map.delete(t),this.invalidate());e._detach();return{modified:{node:this,type:"LiveMap",updates:{[n]:{type:"delete"}}},reverse:r}}_serialize(){if("HasParent"!==this.parent.type)throw new Error("Cannot serialize LiveMap if parent is missing");return{type:2,parentId:g(this.parent.node._id,"Parent node expected to have ID"),parentKey:this.parent.key}}get(e){const t=this._map.get(e);if(void 0!==t)return gt(t)}set(e,t){this._pool?.assertStorageIsWritable();const n=this._map.get(e);n&&n._detach();const r=yt(t);if(r._setParentLink(this,e),this._map.set(e,r),this.invalidate(),this._pool&&this._id){const t=this._pool.generateId();r._attach(t,this._pool);const o=new Map;o.set(this._id,{node:this,type:"LiveMap",updates:{[e]:{type:"update"}}});const a=r._toOps(this._id,e,this._pool);this.unacknowledgedSet.set(e,g(a[0].opId)),this._pool.dispatch(r._toOps(this._id,e,this._pool),n?n._toOps(this._id,e):[{type:5,id:t}],o)}}get size(){return this._map.size}has(e){return this._map.has(e)}delete(e){this._pool?.assertStorageIsWritable();const t=this._map.get(e);if(void 0===t)return!1;if(t._detach(),this._map.delete(e),this.invalidate(),this._pool&&t._id){const n=g(this._id),r=new Map;r.set(n,{node:this,type:"LiveMap",updates:{[e]:{type:"delete"}}}),this._pool.dispatch([{type:5,id:t._id,opId:this._pool.generateOpId()}],t._toOps(n,e),r)}return!0}entries(){const e=this._map.entries();return{[Symbol.iterator](){return this},next(){const t=e.next();if(t.done)return{done:!0,value:void 0};return{value:[t.value[0],gt(t.value[1])]}}}}[Symbol.iterator](){return this.entries()}keys(){return this._map.keys()}values(){const e=this._map.values();return{[Symbol.iterator](){return this},next(){const t=e.next();if(t.done)return{done:!0,value:void 0};return{value:gt(t.value)}}}}forEach(e){for(const t of this)e(t[1],t[0],this)}_toTreeNode(e){return{type:"LiveMap",id:this._id??Ze(),key:e,payload:Array.from(this._map.entries()).map((([e,t])=>t.toTreeNode(e)))}}toImmutable(){return super.toImmutable()}_toImmutable(){const e=new Map;for(const[t,n]of this._map)e.set(t,n.toImmutable());return e}clone(){return new e(Array.from(this._map).map((([e,t])=>[e,t.clone()])))}},ut=class e extends Ge{static _buildRootAndParentToChildren(e){const t=new Map;let n=null;for(const[r,o]of e)if(Xe(o))n=[r,o];else{const e=[r,o],n=t.get(o.parentId);void 0!==n?n.push(e):t.set(o.parentId,[e])}if(null===n)throw new Error("Root can't be null");return[n,t]}static _fromItems(t,n){const[r,o]=e._buildRootAndParentToChildren(t);return e._deserialize(r,o,n)}constructor(e={}){super(),this._propToLastUpdate=new Map;const t=j(e);for(const e of Object.keys(t)){const n=t[e];mt(n)&&n._setParentLink(this,e)}this._map=new Map(Object.entries(t))}_toOps(e,t,n){if(void 0===this._id)throw new Error("Cannot serialize item is not attached");const r=n?.generateOpId(),o=[],a={type:4,id:this._id,opId:r,parentId:e,parentKey:t,data:{}};o.push(a);for(const[e,t]of this._map)mt(t)?o.push(...t._toOps(this._id,e,n)):a.data[e]=t;return o}static _deserialize([t,n],r,o){const a=new e(n.data);return a._attach(t,o),this._deserializeChildren(a,r,o)}static _deserializeChildren(e,t,n){const r=t.get(g(e._id));if(void 0===r)return e;for(const[o,a]of r){const r=ht([o,a],t,n);pt(r)&&r._setParentLink(e,a.parentKey),e._map.set(a.parentKey,r),e.invalidate()}return e}_attach(e,t){super._attach(e,t);for(const[e,n]of this._map)mt(n)&&n._attach(t.generateId(),t)}_attachChild(e,t){if(void 0===this._pool)throw new Error("Can't attach child if managed pool is not present");const{id:n,opId:r,parentKey:o}=e,a=lt(e);if(void 0!==this._pool.getNode(n))return this._propToLastUpdate.get(o)===r&&this._propToLastUpdate.delete(o),{modified:!1};if(0===t)this._propToLastUpdate.set(o,g(r));else if(void 0!==this._propToLastUpdate.get(o))return this._propToLastUpdate.get(o)===r?(this._propToLastUpdate.delete(o),{modified:!1}):{modified:!1};const i=g(this._id),s=this._map.get(o);let u;return mt(s)?(u=s._toOps(i,o),s._detach()):u=void 0===s?[{type:6,id:i,key:o}]:[{type:3,id:i,data:{[o]:s}}],this._map.set(o,a),this.invalidate(),pt(a)&&(a._setParentLink(this,o),a._attach(n,this._pool)),{reverse:u,modified:{node:this,type:"LiveObject",updates:{[o]:{type:"update"}}}}}_detachChild(e){if(e){const t=g(this._id),n=g(e._parentKey),r=e._toOps(t,n,this._pool);for(const[t,n]of this._map)n===e&&(this._map.delete(t),this.invalidate());e._detach();return{modified:{node:this,type:"LiveObject",updates:{[n]:{type:"delete"}}},reverse:r}}return{modified:!1}}_detach(){super._detach();for(const e of this._map.values())mt(e)&&e._detach()}_apply(e,t){return 3===e.type?this._applyUpdate(e,t):6===e.type?this._applyDeleteObjectKey(e,t):super._apply(e,t)}_serialize(){const e={};for(const[t,n]of this._map)mt(n)||(e[t]=n);return"HasParent"===this.parent.type&&this.parent.node._id?{type:0,parentId:this.parent.node._id,parentKey:this.parent.key,data:e}:{type:0,data:e}}_applyUpdate(e,t){let n=!1;const r=g(this._id),o=[],a={type:3,id:r,data:{}};for(const t in e.data){const e=this._map.get(t);mt(e)?(o.push(...e._toOps(r,t)),e._detach()):void 0!==e?a.data[t]=e:void 0===e&&o.push({type:6,id:r,key:t})}const i={};for(const r in e.data){const o=e.data[r];if(void 0===o)continue;if(t)this._propToLastUpdate.set(r,g(e.opId));else{if(void 0!==this._propToLastUpdate.get(r)){if(this._propToLastUpdate.get(r)===e.opId){this._propToLastUpdate.delete(r);continue}continue}n=!0}const a=this._map.get(r);mt(a)&&a._detach(),n=!0,i[r]={type:"update"},this._map.set(r,o),this.invalidate()}return 0!==Object.keys(a.data).length&&o.unshift(a),n?{modified:{node:this,type:"LiveObject",updates:i},reverse:o}:{modified:!1}}_applyDeleteObjectKey(e,t){const n=e.key;if(!1===this._map.has(n))return{modified:!1};if(!t&&void 0!==this._propToLastUpdate.get(n))return{modified:!1};const r=this._map.get(n),o=g(this._id);let a=[];return mt(r)?(a=r._toOps(o,e.key),r._detach()):void 0!==r&&(a=[{type:3,id:o,data:{[n]:r}}]),this._map.delete(n),this.invalidate(),{modified:{node:this,type:"LiveObject",updates:{[e.key]:{type:"delete"}}},reverse:a}}toObject(){return Object.fromEntries(this._map)}set(e,t){this._pool?.assertStorageIsWritable(),this.update({[e]:t})}get(e){return this._map.get(e)}delete(e){this._pool?.assertStorageIsWritable();const t=e,n=this._map.get(t);if(void 0===n)return;if(void 0===this._pool||void 0===this._id)return mt(n)&&n._detach(),this._map.delete(t),void this.invalidate();let r;mt(n)?(n._detach(),r=n._toOps(this._id,t)):r=[{type:3,data:{[t]:n},id:this._id}],this._map.delete(t),this.invalidate();const o=new Map;o.set(this._id,{node:this,type:"LiveObject",updates:{[e]:{type:"delete"}}}),this._pool.dispatch([{type:6,key:t,id:this._id,opId:this._pool.generateOpId()}],r,o)}update(e){if(this._pool?.assertStorageIsWritable(),void 0===this._pool||void 0===this._id){for(const t in e){const n=e[t];if(void 0===n)continue;const r=this._map.get(t);mt(r)&&r._detach(),mt(n)&&n._setParentLink(this,t),this._map.set(t,n),this.invalidate()}return}const t=[],n=[],r=this._pool.generateOpId(),o={},a={id:this._id,type:3,data:{}},i={};for(const s in e){const u=e[s];if(void 0===u)continue;const c=this._map.get(s);if(mt(c)?(n.push(...c._toOps(this._id,s)),c._detach()):void 0===c?n.push({type:6,id:this._id,key:s}):a.data[s]=c,mt(u)){u._setParentLink(this,s),u._attach(this._pool.generateId(),this._pool);const e=u._toOps(this._id,s,this._pool),n=e.find((e=>e.parentId===this._id));n&&this._propToLastUpdate.set(s,g(n.opId)),t.push(...e)}else o[s]=u,this._propToLastUpdate.set(s,r);this._map.set(s,u),this.invalidate(),i[s]={type:"update"}}0!==Object.keys(a.data).length&&n.unshift(a),0!==Object.keys(o).length&&t.unshift({opId:r,id:this._id,type:3,data:o});const s=new Map;s.set(this._id,{node:this,type:"LiveObject",updates:i}),this._pool.dispatch(t,n,s)}toImmutable(){return super.toImmutable()}toTreeNode(e){return super.toTreeNode(e)}_toTreeNode(e){const t=this._id??Ze();return{type:"LiveObject",id:t,key:e,payload:Array.from(this._map.entries()).map((([e,n])=>mt(n)?n.toTreeNode(e):{type:"Json",id:`${t}:${e}`,key:e,payload:n}))}}_toImmutable(){const e={};for(const[t,n]of this._map)e[t]=pt(n)?n.toImmutable():n;return e}clone(){return new e(Object.fromEntries(Array.from(this._map).map((([e,t])=>[e,pt(t)?t.clone():P(t)]))))}};function ct(e){return yt(lt(e))}function lt(e){switch(e.type){case 8:return e.data;case 4:return new ut(e.data);case 7:return new st;case 2:return new Qe([]);default:return v(0,"Unknown creation Op")}}function dt(e,t){return e===t||"HasParent"===e.parent.type&&dt(e.parent.node,t)}function ft([e,t],n,r){switch(t.type){case 0:return ut._deserialize([e,t],n,r);case 1:return Qe._deserialize([e,t],n,r);case 2:return st._deserialize([e,t],n,r);case 3:return Ye._deserialize([e,t],n,r);default:throw new Error("Unexpected CRDT type")}}function ht([e,t],n,r){switch(t.type){case 0:return ut._deserialize([e,t],n,r);case 1:return Qe._deserialize([e,t],n,r);case 2:return st._deserialize([e,t],n,r);case 3:return t.data;default:throw new Error("Unexpected CRDT type")}}function pt(e){return vt(e)||function(e){return e instanceof st}(e)||function(e){return e instanceof ut}(e)}function mt(e){return pt(e)||function(e){return e instanceof Ye}(e)}function vt(e){return e instanceof Qe}function gt(e){return e instanceof Ye?e.data:e instanceof Qe||e instanceof st||e instanceof ut?e:v(0,"Unknown AbstractCrdt")}function yt(e){return e instanceof ut||e instanceof st||e instanceof Qe?e:new Ye(e)}function bt(e,t){return void 0===e?t:"LiveObject"===e.type&&"LiveObject"===t.type?function(e,t){const n=e.updates;for(const[e,r]of R(t.updates))n[e]=r;return{...t,updates:n}}(e,t):"LiveMap"===e.type&&"LiveMap"===t.type?function(e,t){const n=e.updates;for(const[e,r]of R(t.updates))n[e]=r;return{...t,updates:n}}(e,t):"LiveList"===e.type&&"LiveList"===t.type?function(e,t){const n=e.updates;return{...t,updates:n.concat(t.updates)}}(e,t):t}function Et(e,t){const n=[];for(let r=0,o=e.length;r<o;r+=t)n.push(e.slice(r,r+t));return n}function wt(e){return`${e}_${Ze()}`}function Ct(){return wt("th")}function Dt(){return wt("cm")}function At(e){return Array.isArray(e)}var xt=/^[a-zA-Z_][a-zA-Z0-9_]*$/;function _t(e){let t=[];const n=Object.entries(e),r=[],o=[],a=[];return n.forEach((([e,t])=>{if(!xt.test(e))throw new Error("Key must only contain letters, numbers, _");St(t)?r.push([e,t]):Tt(t)?o.push([e,t]):"object"!=typeof t||"startsWith"in t||a.push([e,t])})),t=[...Bt(r),...Ot(o)],a.forEach((([e,n])=>{const r=Object.entries(n),o=[],a=[];r.forEach((([t,n])=>{if(Rt(t))throw new Error("Key cannot be empty");St(n)?o.push([It(e,t),n]):Tt(n)&&a.push([It(e,t),n])})),t=[...t,...Bt(o),...Ot(a)]})),t.map((({key:e,operator:t,value:n})=>kt(e,t,Ft(n)))).join(" AND ")}var Bt=e=>{const t=[];return e.forEach((([e,n])=>{t.push({key:e,operator:":",value:n})})),t},Ot=e=>{const t=[];return e.forEach((([e,n])=>{"startsWith"in n&&"string"==typeof n.startsWith&&t.push({key:e,operator:"^",value:n.startsWith})})),t},St=e=>"string"==typeof e||"number"==typeof e||"boolean"==typeof e,Tt=e=>"object"==typeof e&&null!==e&&"startsWith"in e,kt=(e,t,n)=>`${e}${t}${n}`,It=(e,t)=>t?`${e}[${JSON.stringify(t)}]`:e,Ft=e=>{if("string"==typeof e){if(Rt(e))throw new Error("Value cannot be empty");return JSON.stringify(e)}return e.toString()},Rt=e=>!e||""===e.toString().trim();var Nt=class extends Fe{constructor(){super(),this._connections=new Map,this._presences=new Map,this._users=new Map}connectionIds(){return this._connections.keys()}_toImmutable(){return M(Array.from(this._presences.keys()).map((e=>this.getUser(Number(e)))))}clearOthers(){this._connections=new Map,this._presences=new Map,this._users=new Map,this.invalidate()}_getUser(e){const t=this._connections.get(e),n=this._presences.get(e);if(void 0!==t&&void 0!==n)return function(e,t){const{connectionId:n,id:r,info:o}=e,a=ce(e.scopes);return j({connectionId:n,id:r,info:o,canWrite:a,canComment:le(e.scopes),isReadOnly:!a,presence:t})}(t,n)}getUser(e){const t=this._users.get(e);if(t)return t;const n=this._getUser(e);return n?(this._users.set(e,n),n):void 0}_invalidateUser(e){this._users.has(e)&&this._users.delete(e),this.invalidate()}setConnection(e,t,n,r){this._connections.set(e,{connectionId:e,id:t,info:n,scopes:r}),this._presences.has(e)&&this._invalidateUser(e)}removeConnection(e){this._connections.delete(e),this._presences.delete(e),this._invalidateUser(e)}setOther(e,t){this._presences.set(e,j(t)),this._connections.has(e)&&this._invalidateUser(e)}patchOther(e,t){const n=this._presences.get(e);if(void 0===n)return;const r=Ie(n,t);n!==r&&(this._presences.set(e,r),this._invalidateUser(e))}},Pt=class extends Fe{constructor(e){super(),this._data=j(e)}_toImmutable(){return this._data}patch(e){const t=this._data,n=Ie(t,e);t!==n&&(this._data=n,this.invalidate())}};function Mt(e,t){return{type:"User",id:`${t.connectionId}`,key:e,payload:{connectionId:t.connectionId,id:t.id,info:t.info,presence:t.presence,isReadOnly:!t.canWrite}}}var jt=5242880,Lt=[2e3,2e3,2e3,2e3,2e3,2e3,2e3,2e3,2e3,2e3];function zt(e,t){const n=e.initialPresence,r=e.initialStorage,[o,a]=function(){const e="undefined"!=typeof document?document:void 0,t={current:null};function n(){t.current="hidden"===e?.visibilityState?t.current??Date.now():null}return e?.addEventListener("visibilitychange",n),[t,()=>{e?.removeEventListener("visibilitychange",n)}]}(),i={...t.delegates,canZombie:()=>void 0!==t.backgroundKeepAliveTimeout&&null!==o.current&&Date.now()>o.current+t.backgroundKeepAliveTimeout&&"synchronizing"!==ae()},s=new ue(i,t.enableDebugLogging),u={buffer:{flushTimerID:void 0,lastFlushedAt:0,presenceUpdates:{type:"full",data:n},messages:[],storageOperations:[]},staticSessionInfo:new Re(null),dynamicSessionInfo:new Re(null),myPresence:new Pt(n),others:new Nt,initialStorage:r,idFactory:null,yjsProvider:void 0,yjsProviderDidChange:E(),clock:0,opClock:0,nodes:new Map,root:void 0,undoStack:[],redoStack:[],pausedHistory:null,activeBatch:null,unacknowledgedOps:new Map,opStackTraces:void 0},c=e=>e(),l=t.unstable_batchedUpdates??c;let d,f;let h=!1;s.events.onMessage.subscribe((function(e){if("string"!=typeof e.data)return;const t=function(e){const t=N(e);return void 0===t?null:At(t)?M(t.map((e=>G(e)))):M([G(t)])}(e.data);if(null===t||0===t.length)return;const n={storageUpdates:new Map,others:[]};l((()=>{for(const e of t)switch(e.type){case 101:{const t=q(e);t&&n.others.push(t);break}case 100:{const t=z(e);t&&n.others.push(t);break}case 103:{const t=u.others.current;m.customEvent.notify({connectionId:e.actor,user:e.actor<0?null:t.find((t=>t.connectionId===e.actor))??null,event:e.event});break}case 102:{const t=U(e);t&&n.others.push(t);break}case 300:m.ydoc.notify(e);break;case 104:n.others.push(W(e,c));break;case 200:Q(e);break;case 201:{const t=j(e.ops,!1);for(const[e,r]of t.updates.storageUpdates)n.storageUpdates.set(e,bt(n.storageUpdates.get(e),r));break}case 299:O("Storage mutation rejection error",e.reason);break;case 400:case 407:case 401:case 408:case 405:case 406:case 402:case 403:case 404:m.comments.notify(e)}F(n,c)}))})),s.events.statusDidChange.subscribe((function(e){const t=s.authValue;if(null!==t){const e=Se(t);if(e!==d)if(d=e,"secret"===t.type){const e=t.token.parsed;u.staticSessionInfo.set({userId:"sec-legacy"===e.k?e.id:e.uid,userInfo:"sec-legacy"===e.k?e.info:e.ui})}else u.staticSessionInfo.set({userId:void 0,userInfo:void 0})}l((()=>{m.status.notify(e),_(c)}))})),s.events.statusDidChange.subscribe((function(e){"reconnecting"===e?f=setTimeout((()=>{l((()=>{m.lostConnection.notify("lost"),h=!0,u.others.clearOthers(),F({others:[{type:"reset"}]},c)}))}),t.lostConnectionTimeout):(clearTimeout(f),h&&(l("disconnected"===e?()=>{m.lostConnection.notify("failed")}:()=>{m.lostConnection.notify("restored")}),h=!1))})),s.events.didConnect.subscribe((function(){u.buffer.presenceUpdates={type:"full",data:{...u.myPresence.current}},null!==Y&&ee({flush:!1}),X()})),s.events.didDisconnect.subscribe((function(){clearTimeout(u.buffer.flushTimerID)})),s.events.onLiveblocksError.subscribe((e=>{l((()=>{m.error.notify(e)}))}));const p={roomId:t.roomId,getNode:e=>u.nodes.get(e),addNode:(e,t)=>{u.nodes.set(e,t)},deleteNode:e=>{u.nodes.delete(e)},generateId:()=>`${R()}:${u.clock++}`,generateOpId:()=>`${R()}:${u.opClock++}`,dispatch(e,t,n){const r=u.activeBatch;if(r){for(const t of e)r.ops.push(t);for(const[e,t]of n)r.updates.storageUpdates.set(e,bt(r.updates.storageUpdates.get(e),t));r.reverseOps.unshift(...t)}else l((()=>{k(t,c),u.redoStack.length=0,Z(e),F({storageUpdates:n},c)}))},assertStorageIsWritable:()=>{const e=u.dynamicSessionInfo.current?.scopes;if(void 0===e)return;if(!ce(e))throw new Error("Cannot write to storage with a read only user, please ensure the user has write permissions")}},m={status:E(),lostConnection:E(),customEvent:E(),self:E(),myPresence:E(),others:E(),error:E(),storageBatch:E(),history:E(),storageDidLoad:E(),storageStatus:E(),ydoc:E(),comments:E()},v=t.polyfills?.fetch||globalThis.fetch?.bind(globalThis),y=new Te(t.baseUrl,v,(()=>Promise.resolve(s.authValue??I("Not authorized")))),w=new Te(t.baseUrl,v,(()=>i.authenticate()));function C(e){const n=JSON.stringify(e),r=u.dynamicSessionInfo.current?.nonce;if(t.unstable_fallbackToHTTP&&r){if((new TextEncoder).encode(n).length>1047552)return y.rawPost(Oe`/v2/c/rooms/${t.roomId}/send-message`,{nonce:r,messages:e}).then((e=>{e.ok||403!==e.status||s.reconnect()})),void A("Message was too large for websockets and sent over HTTP instead")}s.send(n)}const D=new Ne(u.staticSessionInfo,u.dynamicSessionInfo,u.myPresence,((e,t,n)=>{if(null===e||null===t)return null;{const r=ce(t.scopes);return{connectionId:t.actor,id:e.userId,info:e.userInfo,presence:n,canWrite:r,canComment:le(t.scopes)}}}));let x;function _(e){const t=D.current;null!==t&&t!==x&&(e((()=>{m.self.notify(t)})),x=t)}const B=new Ne(D,(e=>null!==e?Mt("Me",e):null));function S(e,t){if(0===e.items.length)throw new Error("Internal error: cannot load storage without items");void 0!==u.root?function(e,t){if(void 0===u.root)return;const n=new Map;for(const[e,t]of u.nodes)n.set(e,t._serialize());const r=function(e,t){const n=[];return e.forEach(((e,r)=>{t.get(r)||n.push({type:5,id:r})})),t.forEach(((t,r)=>{const o=e.get(r);if(o)0===t.type&&(0===o.type&&JSON.stringify(t.data)===JSON.stringify(o.data)||n.push({type:3,id:r,data:t.data})),t.parentKey!==o.parentKey&&n.push({type:1,id:r,parentKey:g(t.parentKey,"Parent key must not be missing")});else switch(t.type){case 3:n.push({type:8,id:r,parentId:t.parentId,parentKey:t.parentKey,data:t.data});break;case 1:n.push({type:2,id:r,parentId:t.parentId,parentKey:t.parentKey});break;case 0:if(void 0===t.parentId||void 0===t.parentKey)throw new Error("Internal error. Cannot serialize storage root into an operation");n.push({type:4,id:r,parentId:t.parentId,parentKey:t.parentKey,data:t.data});break;case 2:n.push({type:7,id:r,parentId:t.parentId,parentKey:t.parentKey})}})),n}(n,new Map(e));F(j(r,!1).updates,t)}(e.items,t):u.root=ut._fromItems(e.items,p);const n=D.current?.canWrite??!0,r=u.undoStack.length;for(const e in u.initialStorage)void 0===u.root.get(e)&&(n?u.root.set(e,void 0===(o=u.initialStorage[e])?void 0:pt(o)?o.clone():P(o)):A(`Attempted to populate missing storage key '${e}', but current user has no write access`));var o;u.undoStack.length=r}function T(e,t){u.undoStack.length>=50&&u.undoStack.shift(),u.undoStack.push(e),K(t)}function k(e,t){null!==u.pausedHistory?u.pausedHistory.unshift(...e):T(e,t)}function F(e,t){const n=e.storageUpdates,r=e.others;t((()=>{if(void 0!==r&&r.length>0){const e=u.others.current;for(const t of r)m.others.notify({...t,others:e})}if(e.presence&&(_(c),m.myPresence.notify(u.myPresence.current)),void 0!==n&&n.size>0){const e=Array.from(n.values());m.storageBatch.notify(e)}se()}))}function R(){const e=u.dynamicSessionInfo.current;if(e)return e.actor;throw new Error("Internal. Tried to get connection id but connection was never open")}function j(e,t){const n={reverse:[],storageUpdates:new Map,presence:!1},r=new Set,o=e.map((e=>"presence"===e.type||e.opId?e:{...e,opId:p.generateOpId()}));for(const e of o)if("presence"===e.type){const t={type:"presence",data:{}};for(const n in e.data)t.data[n]=u.myPresence.current[n];if(u.myPresence.patch(e.data),null===u.buffer.presenceUpdates)u.buffer.presenceUpdates={type:"partial",data:e.data};else for(const t in e.data)u.buffer.presenceUpdates.data[t]=e.data[t];n.reverse.unshift(t),n.presence=!0}else{let o;if(t)o=0;else{const t=g(e.opId);o=u.unacknowledgedOps.delete(t)?2:1}const a=L(e,o);if(a.modified){const t=a.modified.node._id;t&&r.has(t)||(n.storageUpdates.set(g(a.modified.node._id),bt(n.storageUpdates.get(g(a.modified.node._id)),a.modified)),n.reverse.unshift(...a.reverse)),2!==e.type&&7!==e.type&&4!==e.type||r.add(g(e.id))}}return{ops:o,reverse:n.reverse,updates:{storageUpdates:n.storageUpdates,presence:n.presence}}}function L(e,t){if(function(e){return 5===e.type&&"ACK"===e.id}(e))return{modified:!1};switch(e.type){case 6:case 3:case 5:{const n=u.nodes.get(e.id);return void 0===n?{modified:!1}:n._apply(e,0===t)}case 1:{const n=u.nodes.get(e.id);return void 0===n?{modified:!1}:"HasParent"===n.parent.type&&vt(n.parent.node)?n.parent.node._setChildKey(Ve(e.parentKey),n,t):{modified:!1}}case 4:case 2:case 7:case 8:{if(void 0===e.parentId)return{modified:!1};const n=u.nodes.get(e.parentId);return void 0===n?{modified:!1}:n._attachChild(e,t)}}}function z(e){if(void 0!==e.targetActor){const t=u.others.getUser(e.actor);u.others.setOther(e.actor,e.data);const n=u.others.getUser(e.actor);if(void 0===t&&void 0!==n)return{type:"enter",user:n}}else u.others.patchOther(e.actor,e.data);const t=u.others.getUser(e.actor);return t?{type:"update",updates:e.data,user:t}:void 0}function U(e){const t=u.others.getUser(e.actor);return t?(u.others.removeConnection(e.actor),{type:"leave",user:t}):null}function W(e,t){u.dynamicSessionInfo.set({actor:e.actor,nonce:e.nonce,scopes:e.scopes}),u.idFactory=function(e){let t=0;return()=>`${e}:${t++}`}(e.actor),_(t);for(const t of u.others.connectionIds()){void 0===e.users[t]&&u.others.removeConnection(t)}for(const t in e.users){const n=e.users[t],r=Number(t);u.others.setConnection(r,n.id,n.info,n.scopes)}return{type:"reset"}}function $(){return u.undoStack.length>0}function V(){return u.redoStack.length>0}function K(e){e((()=>{m.history.notify({canUndo:$(),canRedo:V()})}))}function q(e){u.others.setConnection(e.actor,e.id,e.info,e.scopes),u.buffer.messages.push({type:100,data:u.myPresence.current,targetActor:e.actor}),X();const t=u.others.getUser(e.actor);return t?{type:"enter",user:t}:void 0}function G(e){return function(e){return!function(e){return null===e||"string"==typeof e||"number"==typeof e||"boolean"==typeof e}(e)&&!At(e)}(e)?e:null}function X(){const e=u.buffer.storageOperations;if(e.length>0){for(const t of e)u.unacknowledgedOps.set(g(t.opId),t);se()}if("connected"!==s.getStatus())return void(u.buffer.storageOperations=[]);const n=Date.now(),r=n-u.buffer.lastFlushedAt;if(r>=t.throttleDelay){const e=function(){const e=[];u.buffer.presenceUpdates&&e.push("full"===u.buffer.presenceUpdates.type?{type:100,targetActor:-1,data:u.buffer.presenceUpdates.data}:{type:100,data:u.buffer.presenceUpdates.data});for(const t of u.buffer.messages)e.push(t);u.buffer.storageOperations.length>0&&e.push({type:201,ops:u.buffer.storageOperations});return e}();if(0===e.length)return;C(e),u.buffer={flushTimerID:void 0,lastFlushedAt:n,messages:[],storageOperations:[],presenceUpdates:null}}else clearTimeout(u.buffer.flushTimerID),u.buffer.flushTimerID=setTimeout(X,t.throttleDelay-r)}function Z(e){const{storageOperations:t}=u.buffer;for(const n of e)t.push(n);X()}let Y=null,J=null;function Q(e){const t=new Map(u.unacknowledgedOps);S(e,c),function(e,t){if(0===e.size)return;const n=[],r=j(Array.from(e.values()),!0);n.push({type:201,ops:r.ops}),F(r.updates,t),C(n)}(t,c),J?.(),se(),m.storageDidLoad.notify()}function ee(e){const n=u.buffer.messages;t.unstable_streamData?async function(){if(!s.authValue)return;const e=await y.rawGet(Oe`/v2/c/rooms/${t.roomId}/storage`);Q({type:200,items:await e.json()})}():n.some((e=>200===e.type))||n.push({type:200}),e.flush&&X()}function te(){return null===Y&&(ee({flush:!0}),Y=new Promise((e=>{J=e})),se()),Y}function ne(){const e=u.root;return void 0!==e?e:(te(),null)}async function re(){return void 0!==u.root?Promise.resolve({root:u.root}):(await te(),{root:g(u.root)})}const oe=t.createSyncSource();function ae(){return void 0===u.root?null===Y?"not-loaded":"loading":0===u.unacknowledgedOps.size?"synchronized":"synchronizing"}let ie=ae();function se(){const e=ae();ie!==e&&(ie=e,m.storageStatus.notify(e)),oe.setSyncStatus("synchronizing"===e?"synchronizing":"synchronized")}function de(){return null!==D.current}function fe(){return null!==ne()}const pe=new Ne(u.others,(e=>e.map(((e,t)=>Mt(`Other ${t}`,e))))),me={status:m.status.observable,lostConnection:m.lostConnection.observable,customEvent:m.customEvent.observable,others:m.others.observable,self:m.self.observable,myPresence:m.myPresence.observable,error:m.error.observable,storage:m.storageBatch.observable,storageBatch:m.storageBatch.observable,history:m.history.observable,storageDidLoad:m.storageDidLoad.observable,storageStatus:m.storageStatus.observable,ydoc:m.ydoc.observable,comments:m.comments.observable};const ye=new ve((async e=>{const n=e.flat(),r=await async function(e){const{urls:n}=await w.post(Oe`/v2/c/rooms/${t.roomId}/attachments/presigned-urls`,{attachmentIds:e});return n}(n);return r.map((e=>e??new Error("There was an error while getting this attachment's URL")))}),{delay:50}),xe=ge(ye);async function Be(e,t){return await w.get(e,void 0,t)}const ke=new ve((async e=>{const n=e.flat();return await async function(e){await Be(Oe`/v2/c/rooms/${t.roomId}/inbox-notifications/read`,{method:"POST",body:JSON.stringify({inboxNotificationIds:e})})}(n),n}),{delay:50});const Ie=t.createSyncSource();function Fe(e){return Ie.setSyncStatus("synchronizing"===e?"synchronizing":"synchronized")}return Object.defineProperty({[he]:{get presenceBuffer(){return P(u.buffer.presenceUpdates?.data??null)},get undoStack(){return P(u.undoStack)},get nodeCount(){return u.nodes.size},getYjsProvider:()=>u.yjsProvider,setYjsProvider(e){u.yjsProvider?.off("status",Fe),u.yjsProvider=e,e?.on("status",Fe),u.yjsProviderDidChange.notify()},yjsProviderDidChange:u.yjsProviderDidChange.observable,reportTextEditor:async function(e,n){await w.rawPost(Oe`/v2/c/rooms/${t.roomId}/text-metadata`,{type:e,rootKey:n})},createTextMention:async function(e,n){await y.rawPost(Oe`/v2/c/rooms/${t.roomId}/text-mentions`,{userId:e,mentionId:n})},deleteTextMention:async function(e){await y.rawDelete(Oe`/v2/c/rooms/${t.roomId}/text-mentions/${e}`)},listTextVersions:async function(){const e=await w.get(Oe`/v2/c/rooms/${t.roomId}/versions`);return{versions:e.versions.map((({createdAt:e,...t})=>({createdAt:new Date(e),...t}))),requestedAt:new Date(e.meta.requestedAt)}},listTextVersionsSince:async function(e){const n=await w.get(Oe`/v2/c/rooms/${t.roomId}/versions/delta`,{since:e.since.toISOString()},{signal:e.signal});return{versions:n.versions.map((({createdAt:e,...t})=>({createdAt:new Date(e),...t}))),requestedAt:new Date(n.meta.requestedAt)}},getTextVersion:async function(e){return w.rawGet(Oe`/v2/c/rooms/${t.roomId}/y-version/${e}`)},createTextVersion:async function(){await w.rawPost(Oe`/v2/c/rooms/${t.roomId}/version`)},getSelf_forDevTools:()=>B.current,getOthers_forDevTools:()=>pe.current,simulate:{explicitClose:e=>s._privateSendMachineEvent({type:"EXPLICIT_SOCKET_CLOSE",event:e}),rawSend:e=>s.send(e)},attachmentUrlsStore:xe},id:t.roomId,subscribe:Ht(me),connect:()=>s.connect(),reconnect:()=>s.reconnect(),disconnect:()=>s.disconnect(),destroy:()=>{oe.destroy(),u.yjsProvider?.off("status",Fe),Ie.destroy(),a(),s.destroy()},updatePresence:function(e,t){const n={};null===u.buffer.presenceUpdates&&(u.buffer.presenceUpdates={type:"partial",data:{}});for(const t in e){const r=e[t];void 0!==r&&(u.buffer.presenceUpdates.data[t]=r,n[t]=u.myPresence.current[t])}u.myPresence.patch(e),u.activeBatch?(t?.addToHistory&&u.activeBatch.reverseOps.unshift({type:"presence",data:n}),u.activeBatch.updates.presence=!0):(X(),l((()=>{t?.addToHistory&&k([{type:"presence",data:n}],c),F({presence:!0},c)})))},updateYDoc:function(e,t){const n={type:301,update:e,guid:t};u.buffer.messages.push(n),m.ydoc.notify(n),X()},broadcastEvent:function(e,t={shouldQueueEventIfNotReady:!1}){("connected"===s.getStatus()||t.shouldQueueEventIfNotReady)&&(u.buffer.messages.push({type:103,event:e}),X())},batch:function(e){if(u.activeBatch)return e();let t;return l((()=>{u.activeBatch={ops:[],updates:{storageUpdates:new Map,presence:!1,others:[]},reverseOps:[]};try{t=e()}finally{const e=u.activeBatch;u.activeBatch=null,e.reverseOps.length>0&&k(e.reverseOps,c),e.ops.length>0&&(u.redoStack.length=0),e.ops.length>0&&Z(e.ops),F(e.updates,c),X()}})),t},history:{undo:function(){if(u.activeBatch)throw new Error("undo is not allowed during a batch");const e=u.undoStack.pop();if(void 0===e)return;u.pausedHistory=null;const t=j(e,!0);l((()=>{F(t.updates,c),u.redoStack.push(t.reverse),K(c)}));for(const e of t.ops)"presence"!==e.type&&u.buffer.storageOperations.push(e);X()},redo:function(){if(u.activeBatch)throw new Error("redo is not allowed during a batch");const e=u.redoStack.pop();if(void 0===e)return;u.pausedHistory=null;const t=j(e,!0);l((()=>{F(t.updates,c),u.undoStack.push(t.reverse),K(c)}));for(const e of t.ops)"presence"!==e.type&&u.buffer.storageOperations.push(e);X()},canUndo:$,canRedo:V,clear:function(){u.undoStack.length=0,u.redoStack.length=0},pause:function(){null===u.pausedHistory&&(u.pausedHistory=[])},resume:function(){const e=u.pausedHistory;u.pausedHistory=null,null!==e&&e.length>0&&T(e,l)}},fetchYDoc:function(e,t){u.buffer.messages.find((n=>300===n.type&&n.vector===e&&n.guid===t))||u.buffer.messages.push({type:300,vector:e,guid:t}),X()},getStorage:re,getStorageSnapshot:ne,getStorageStatus:ae,isPresenceReady:de,isStorageReady:fe,waitUntilPresenceReady:H((async function(){for(;!de();){const{promise:e,resolve:t}=b(),n=me.self.subscribeOnce(t),r=me.status.subscribeOnce(t);await e,n(),r()}})),waitUntilStorageReady:H((async function(){for(;!fe();)await re()})),events:me,getStatus:()=>s.getStatus(),getSelf:()=>D.current,getPresence:()=>u.myPresence.current,getOthers:()=>u.others.current,getThreads:async function(e){let n;e?.query&&(n=_t(e.query));try{const r=await w.get(Oe`/v2/c/rooms/${t.roomId}/threads`,{cursor:e?.cursor,query:n,limit:50});return{threads:r.data.map(Ee),inboxNotifications:r.inboxNotifications.map(we),nextCursor:r.meta.nextCursor,requestedAt:new Date(r.meta.requestedAt)}}catch(e){if(e instanceof Ae&&404===e.status)return{threads:[],inboxNotifications:[],nextCursor:null,requestedAt:new Date(Date.now()-216e5)};throw e}},getThreadsSince:async function(e){const n=await w.get(Oe`/v2/c/rooms/${t.roomId}/threads/delta`,{since:e?.since?.toISOString()},{signal:e.signal});return{threads:{updated:n.data.map(Ee),deleted:n.deletedThreads.map(Ce)},inboxNotifications:{updated:n.inboxNotifications.map(we),deleted:n.deletedInboxNotifications.map(De)},requestedAt:new Date(n.meta.requestedAt)}},getThread:async function(e){const n=await w.rawGet(Oe`/v2/c/rooms/${t.roomId}/thread-with-notification/${e}`);if(n.ok){const e=await n.json();return{thread:Ee(e.thread),inboxNotification:e.inboxNotification?we(e.inboxNotification):void 0}}if(404===n.status)return{thread:void 0,inboxNotification:void 0};throw new Error(`There was an error while getting thread ${e}.`)},createThread:async function({metadata:e,body:n,commentId:r=Dt(),threadId:o=Ct(),attachmentIds:a}){return Ee(await w.post(Oe`/v2/c/rooms/${t.roomId}/threads`,{id:o,comment:{id:r,body:n,attachmentIds:a},metadata:e}))},deleteThread:async function(e){await w.delete(Oe`/v2/c/rooms/${t.roomId}/threads/${e}`)},editThreadMetadata:async function({metadata:e,threadId:n}){return await w.post(Oe`/v2/c/rooms/${t.roomId}/threads/${n}/metadata`,e)},markThreadAsResolved:async function(e){await w.post(Oe`/v2/c/rooms/${t.roomId}/threads/${e}/mark-as-resolved`)},markThreadAsUnresolved:async function(e){await w.post(Oe`/v2/c/rooms/${t.roomId}/threads/${e}/mark-as-unresolved`)},createComment:async function({threadId:e,commentId:n=Dt(),body:r,attachmentIds:o}){return be(await w.post(Oe`/v2/c/rooms/${t.roomId}/threads/${e}/comments`,{id:n,body:r,attachmentIds:o}))},editComment:async function({threadId:e,commentId:n,body:r,attachmentIds:o}){return be(await w.post(Oe`/v2/c/rooms/${t.roomId}/threads/${e}/comments/${n}`,{body:r,attachmentIds:o}))},deleteComment:async function({threadId:e,commentId:n}){await w.delete(Oe`/v2/c/rooms/${t.roomId}/threads/${e}/comments/${n}`)},addReaction:async function({threadId:e,commentId:n,emoji:r}){const o=await w.post(Oe`/v2/c/rooms/${t.roomId}/threads/${e}/comments/${n}/reactions`,{emoji:r});return a=o,{...a,createdAt:new Date(a.createdAt)};var a},removeReaction:async function({threadId:e,commentId:n,emoji:r}){await w.delete(Oe`/v2/c/rooms/${t.roomId}/threads/${e}/comments/${n}/reactions/${r}`)},prepareAttachment:function(e){return{type:"localAttachment",status:"idle",id:wt("at"),name:e.name,size:e.size,mimeType:e.type,file:e}},uploadAttachment:async function(e,n={}){const r=n.signal,o=r?new DOMException(`Upload of attachment ${e.id} was aborted.`,"AbortError"):void 0;if(r?.aborted)throw o;const a=e=>{if(r?.aborted)throw o;if(e instanceof Ae&&413===e.status)throw e;return!1};if(e.size<=jt)return _e((()=>w.putBlob(Oe`/v2/c/rooms/${t.roomId}/attachments/${e.id}/upload/${encodeURIComponent(e.name)}`,e.file,{fileSize:e.size},{signal:r})),10,Lt,a);{let n;const i=[],s=await _e((()=>w.post(Oe`/v2/c/rooms/${t.roomId}/attachments/${e.id}/multipart/${encodeURIComponent(e.name)}`,void 0,{signal:r},{fileSize:e.size})),10,Lt,a);try{n=s.uploadId;const u=function(e){const t=[];let n=0;for(;n<e.size;){const r=Math.min(n+jt,e.size);t.push({partNumber:t.length+1,part:e.slice(n,r)}),n=r}return t}(e.file);if(r?.aborted)throw o;const c=Et(u,5);for(const n of c){const o=[];for(const{part:i,partNumber:u}of n)o.push(_e((()=>w.putBlob(Oe`/v2/c/rooms/${t.roomId}/attachments/${e.id}/multipart/${s.uploadId}/${String(u)}`,i,void 0,{signal:r})),10,Lt,a));i.push(...await Promise.all(o))}if(r?.aborted)throw o;const l=i.sort(((e,t)=>e.partNumber-t.partNumber));return w.post(Oe`/v2/c/rooms/${t.roomId}/attachments/${e.id}/multipart/${n}/complete`,{parts:l},{signal:r})}catch(r){if(n&&r?.name&&("AbortError"===r.name||"TimeoutError"===r.name))try{await w.rawDelete(Oe`/v2/c/rooms/${t.roomId}/attachments/${e.id}/multipart/${n}`)}catch(e){}throw r}}},getAttachmentUrl:function(e){return ye.get(e)},getNotificationSettings:function(e){return Be(Oe`/v2/c/rooms/${t.roomId}/notification-settings`,{signal:e?.signal})},updateNotificationSettings:function(e){return Be(Oe`/v2/c/rooms/${t.roomId}/notification-settings`,{method:"POST",body:JSON.stringify(e)})},markInboxNotificationAsRead:async function(e){await ke.get(e)}},he,{enumerable:!1})}function Ht(e){function t(t,n){return e.storageBatch.subscribe((e=>{const r=e.filter((e=>dt(e.node,t)));r.length>0&&n(r)}))}return function(n,r,o){if("string"==typeof n&&("my-presence"===(a=n)||"others"===a||"event"===a||"error"===a||"history"===a||"status"===a||"storage-status"===a||"lost-connection"===a||"connection"===a||"comments"===a)){if("function"!=typeof r)throw new Error("Second argument must be a callback function");const t=r;switch(n){case"event":return e.customEvent.subscribe(t);case"my-presence":return e.myPresence.subscribe(t);case"others":{const n=t;return e.others.subscribe((e=>{const{others:t,...r}=e;return n(t,r)}))}case"error":return e.error.subscribe(t);case"status":return e.status.subscribe(t);case"lost-connection":return e.lostConnection.subscribe(t);case"history":return e.history.subscribe(t);case"storage-status":return e.storageStatus.subscribe(t);case"comments":return e.comments.subscribe(t);default:return v(0,`"${String(n)}" is not a valid event name`)}}var a;if(void 0===r||"function"==typeof n){if("function"==typeof n){const t=n;return e.storageBatch.subscribe(t)}throw new Error("Please specify a listener callback")}if(mt(n)){const a=n;if(o?.isDeep){return t(a,r)}return function(t,n){return e.storageBatch.subscribe((e=>{for(const r of e)r.node._id===t._id&&n(r.node)}))}(a,r)}throw new Error(`${String(n)} is not a value that can be subscribed to.`)}}function Ut(e,t){return async()=>t.getAuthValue({requestedScope:"room:read",roomId:e})}function Wt(e,t,n){return r=>{const o=n??("undefined"==typeof WebSocket?void 0:WebSocket);if(void 0===o)throw new X("To use Liveblocks client in a non-DOM environment, you need to provide a WebSocket polyfill.");const a=new URL(t);if(a.protocol="http:"===a.protocol?"ws":"wss",a.pathname="/v7",a.searchParams.set("roomId",e),"secret"===r.type)a.searchParams.set("tok",r.token.raw);else{if("public"!==r.type)return v(0,"Unhandled case");a.searchParams.set("pubkey",r.publicApiKey)}return a.searchParams.set("version",f),new o(a.toString())}}function $t(e){const t=e,n=Vt("throttle",t.throttle??100,16,1e3);const o=function(e){return Vt("lostConnectionTimeout",e,200,3e4,1e3)}(t.lostConnectionTimeout??5e3),a=function(e){return void 0===e?void 0:Vt("backgroundKeepAliveTimeout",e,15e3)}(t.backgroundKeepAliveTimeout),i=function(e){return"string"==typeof e&&e.startsWith("http")?e:"https://api.liveblocks.io"}(t.baseUrl),s=fe(e),u=new Map;function c(e){const t=()=>{const n=t;var r;e.unsubs.delete(n)?0===e.unsubs.size&&((r=e.room).id,u.delete(r.id),r.destroy()):A("This leave function was already called. Calling it more than once has no effect.")};return e.unsubs.add(t),{room:e.room,leave:t}}const l=ye(null),d=t.polyfills?.fetch||globalThis.fetch?.bind(globalThis),f=ke({baseUrl:i,fetchPolyfill:d,authManager:s,currentUserIdStore:l}),h=t.resolveUsers,p=Kt((()=>!h),"Set the resolveUsers option in createClient to specify user info."),m=ge(new ve((async e=>{const t=e.flat(),n=await(h?.({userIds:t}));return p(),n??t.map((()=>{}))}),{delay:50}));const v=t.resolveRoomsInfo,g=Kt((()=>!v),"Set the resolveRoomsInfo option in createClient to specify room info."),y=ge(new ve((async e=>{const t=e.flat(),n=await(v?.({roomIds:t}));return g(),n??t.map((()=>{}))}),{delay:50}));const b=new Map;const E=[],w=new Re("synchronized");function C(){w.set(E.some((e=>"synchronizing"===e.current))?"synchronizing":E.some((e=>"has-local-changes"===e.current))?"has-local-changes":"synchronized")}function D(){const e=new Re("synchronized");E.push(e);const t=e.didInvalidate.subscribe((()=>C()));return{setSyncStatus:function(t){e.set(t)},destroy:function(){t();const n=E.findIndex((t=>t===e));if(n>-1){const[e]=E.splice(n,1);"synchronized"!==e.current&&C()}}}}{const e=e=>{t.preventUnsavedChanges&&"synchronized"!==w.current&&e.preventDefault()},n="undefined"!=typeof window?window:void 0;n?.addEventListener("beforeunload",e)}const x=Object.defineProperty({enterRoom:function(e,...l){const d=u.get(e);if(void 0!==d)return c(d);const f=l[0]??{},h=zt({initialPresence:("function"==typeof f.initialPresence?f.initialPresence(e):f.initialPresence)??{},initialStorage:("function"==typeof f.initialStorage?f.initialStorage(e):f.initialStorage)??{}},{roomId:e,throttleDelay:n,lostConnectionTimeout:o,backgroundKeepAliveTimeout:a,polyfills:t.polyfills,delegates:t.mockedDelegates??{createSocket:Wt(e,i,t.polyfills?.WebSocket),authenticate:Ut(e,s)},enableDebugLogging:t.enableDebugLogging,unstable_batchedUpdates:f?.unstable_batchedUpdates,baseUrl:i,unstable_fallbackToHTTP:!!t.unstable_fallbackToHTTP,unstable_streamData:!!t.unstable_streamData,createSyncSource:D}),p={room:h,unsubs:new Set};if(u.set(e,p),f.autoConnect??!0){if("undefined"==typeof atob){if(void 0===t.polyfills?.atob)throw new Error("You need to polyfill atob to use the client in your environment. Please follow the instructions at https://liveblocks.io/docs/errors/liveblocks-client/atob-polyfill");r.atob=t.polyfills.atob}h.connect()}return c(p)},getRoom:function(e){const t=u.get(e)?.room;return t||null},logout:function(){s.reset();for(const{room:t}of u.values())"initial"!==(e=t.getStatus())&&"disconnected"!==e&&t.reconnect();var e},...f,resolvers:{invalidateUsers:function(e){m.invalidate(e)},invalidateRoomsInfo:function(e){y.invalidate(e)},invalidateMentionSuggestions:function(){b.clear()}},getSyncStatus:function(){const e=w.current;return"synchronizing"===e?e:"synchronized"},events:{syncStatus:w.didInvalidate},[he]:{currentUserIdStore:l,mentionSuggestionsCache:b,resolveMentionSuggestions:t.resolveMentionSuggestions,usersStore:m,roomsInfoStore:y,getRoomIds:()=>Array.from(u.keys()),getUserThreads_experimental:f.getUserThreads_experimental,getUserThreadsSince_experimental:f.getUserThreadsSince_experimental,as:()=>x,createSyncSource:D}},he,{enumerable:!1});return x}function Vt(e,t,n,r,o){if("number"!=typeof t||t<n||void 0!==r&&t>r)throw new Error(void 0!==r?`${e} should be between ${o??n} and ${r}.`:`${e} should be at least ${o??n}.`);return t}function Kt(e,...t){return()=>{}}var qt={paragraph:function(e){return"type"in e&&"paragraph"===e.type},text:function(e){return!("type"in e)&&"text"in e&&"string"==typeof e.text},link:function(e){return"type"in e&&"link"===e.type},mention:function(e){return"type"in e&&"mention"===e.type}},Gt={paragraph:"block",text:"inline",link:"inline",mention:"inline"};function Xt(e){const t=new Set;return function(e,t,n){if(!e||!e?.content)return;const r="string"==typeof t?t:void 0,o=r?Gt[r]:"all",a=r?qt[r]:()=>!0,i="function"==typeof t?t:n;for(const t of e.content)if("all"!==o&&"block"!==o||a(t)&&i?.(t),"all"===o||"inline"===o)for(const e of t.children)a(e)&&i?.(e)}(e,"mention",(e=>t.add(e.id))),Array.from(t)}new RegExp(Object.keys({"&":"&","<":"<",">":">",'"':""","'":"'"}).map((e=>`\\${e}`)).join("|"),"g");new RegExp(Object.keys({_:"\\_","*":"\\*","#":"\\#","`":"\\`","~":"\\~","!":"\\!","|":"\\|","(":"\\(",")":"\\)","{":"\\{","}":"\\}","[":"\\[","]":"\\]"}).map((e=>`\\${e}`)).join("|"),"g");var Zt=[1e3,2e3,4e3,8e3,1e4];function Yt(e,t,n){const r=performance.now(),o="undefined"!=typeof document?document:void 0,a="undefined"!=typeof window?window:void 0,i=n?.maxStaleTimeMs??Number.POSITIVE_INFINITY,s={inForeground:"hidden"!==o?.visibilityState,lastSuccessfulPollAt:r,count:0,backoff:0};function u(){return s.count>0&&s.inForeground}const c=new k({}).addState("@idle").addState("@enabled").addState("@polling");function l(){u()?c.send({type:"START"}):c.send({type:"STOP"})}function d(){performance.now()-s.lastSuccessfulPollAt>i&&c.send({type:"POLL"})}function f(e){s.inForeground=e,l(),d()}function h(){f("hidden"!==o?.visibilityState)}return c.addTransitions("@idle",{START:"@enabled"}),c.addTransitions("@enabled",{STOP:"@idle",POLL:"@polling"}),c.addTimedTransition("@enabled",(()=>{const e=s.lastSuccessfulPollAt+t;return Math.max(0,e-performance.now())+s.backoff}),"@polling"),c.onEnterAsync("@polling",(async(t,n)=>{await e(n),n.aborted||(s.lastSuccessfulPollAt=performance.now())}),(()=>({target:u()?"@enabled":"@idle",effect:()=>{s.backoff=0}})),(()=>({target:u()?"@enabled":"@idle",effect:()=>{s.backoff=Zt.find((e=>e>s.backoff))??Zt[Zt.length-1]}})),3e4),o?.addEventListener("visibilitychange",h),a?.addEventListener("online",h),c.start(),{inc:function(){s.count++,l()},dec:function(){s.count--,s.count<0&&(s.count=0),l()},pollNowIfStale:d,setInForeground:f}}function Jt(e,t){if(Object.is(e,t))return!0;const n=Array.isArray(e),r=Array.isArray(t);return n||r?!(!n||!r)&&function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Object.is(e[n],t[n]))return!1;return!0}(e,t):function(e,t){if(!F(e)||!F(t))return!1;const n=Object.keys(e);return n.length===Object.keys(t).length&&n.every((n=>Object.prototype.hasOwnProperty.call(t,n)&&Object.is(e[n],t[n])))}(e,t)}var Qt=class e{constructor(e,t){this._lt=t,this._data=e}static from(t,n){const r=new e([],n);for(const e of t)r.add(e);return r}static fromAlreadySorted(t,n){return new e(t,n)}clone(){return new e(this._data.slice(),this._lt)}add(e){const t=function(e,t,n){let r=0,o=e.length;for(;r<o;){const a=r+(o-r>>1);n(t,e[a])?o=a:r=a+1}return r}(this._data,e,this._lt);this._data.splice(t,0,e)}remove(e){const t=this._data.indexOf(e);return t>=0&&(this._data.splice(t,1),!0)}get length(){return this._data.length}*filter(e){for(const t of this._data)e(t)&&(yield t)}[Symbol.iterator](){return this._data[Symbol.iterator]()}};m(d,f,"esm");var en="@liveblocks/react",tn="2.12.0";function nn(e){const[t,n]=i.useState(!1);return i.useEffect((()=>{n(!0)}),[]),i.createElement(i.Suspense,{fallback:e.fallback},t?"function"==typeof e.children?e.children():e.children:e.fallback)}var rn,on="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:{},an={exports:{}},sn={};!function(e){e.exports=function(){if(rn)return sn;rn=1;var e=s.default,t="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},n=e.useState,r=e.useEffect,o=e.useLayoutEffect,a=e.useDebugValue;function i(e){var n=e.getSnapshot;e=e.value;try{var r=n();return!t(e,r)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var s=t(),u=n({inst:{value:s,getSnapshot:t}}),c=u[0].inst,l=u[1];return o((function(){c.value=s,c.getSnapshot=t,i(c)&&l({inst:c})}),[e,s,t]),r((function(){return i(c)&&l({inst:c}),e((function(){i(c)&&l({inst:c})}))}),[e]),a(s),s};return sn.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u,sn}()}(an);var un,cn={exports:{}},ln={};!function(e){e.exports=function(){if(un)return ln;un=1;var e=s.default,t=an.exports,n="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},r=t.useSyncExternalStore,o=e.useRef,a=e.useEffect,i=e.useMemo,u=e.useDebugValue;return ln.useSyncExternalStoreWithSelector=function(e,t,s,c,l){var d=o(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=i((function(){function e(e){if(!a){if(a=!0,r=e,e=c(e),void 0!==l&&f.hasValue){var t=f.value;if(l(t,e))return o=t}return o=e}if(t=o,n(r,e))return t;var i=c(e);return void 0!==l&&l(t,i)?(r=e,t):(r=e,o=i)}var r,o,a=!1,i=void 0===s?null:s;return[function(){return e(t())},null===i?void 0:function(){return e(i())}]}),[t,s,c,l]);var h=r(e,d[0],d[1]);return a((function(){f.hasValue=!0,f.value=h}),[h]),u(h),h},ln}()}(cn);m("@liveblocks/client","2.12.0","esm");var dn=i.createContext(null);function fn(){return i.useContext(dn)}var hn={SMOOTH_DELAY:1e3,NOTIFICATIONS_POLL_INTERVAL:6e4,NOTIFICATIONS_MAX_STALE_TIME:5e3,ROOM_THREADS_POLL_INTERVAL:3e5,ROOM_THREADS_MAX_STALE_TIME:5e3,USER_THREADS_POLL_INTERVAL:6e4,USER_THREADS_MAX_STALE_TIME:5e3,HISTORY_VERSIONS_POLL_INTERVAL:6e4,HISTORY_VERSIONS_MAX_STALE_TIME:5e3,NOTIFICATION_SETTINGS_POLL_INTERVAL:6e4,NOTIFICATION_SETTINGS_MAX_STALE_TIME:5e3};function pn(e,t){if(!F(e)||!F(t))return Jt(e,t);const n=Object.keys(e);return n.length===Object.keys(t).length&&n.every((n=>Object.prototype.hasOwnProperty.call(t,n)&&Jt(e[n],t[n])))}var mn=e=>e;function vn(e){return t.useReducer(mn,e)[0]}function gn(e){const n=vn(e);if("function"==typeof n){const n=function(e){const n=t.useRef(e);return t.useEffect((()=>{n.current=e}),[e]),n}(e);return t.useCallback(((...e)=>n.current(...e)),[n])}return n}var yn=e=>{if("pending"===e.status)throw e;if("fulfilled"===e.status)return e.value;throw"rejected"===e.status?e.reason:(e.status="pending",e.then((t=>{e.status="fulfilled",e.value=t}),(t=>{e.status="rejected",e.reason=t})),e)};function bn(e){const t=new Set;t.add("constructor");let n=e.constructor.prototype;do{for(const r of Reflect.ownKeys(n)){if(t.has(r))continue;const o=Reflect.getOwnPropertyDescriptor(n,r);"function"==typeof o?.value&&(t.add(r),e[r]=e[r].bind(e))}}while((n=Reflect.getPrototypeOf(n))&&n!==Object.prototype)}function En(e){return"string"==typeof e}function wn(e){return t=>function(e,t){return void 0===t.resolved||e.resolved===t.resolved}(t,e)&&function(e,t){const n=e.metadata;return void 0===t.metadata||Object.entries(t.metadata).every((([e,t])=>function(e,t){return n=t,F(n)&&En(n.startsWith)?En(e)&&e.startsWith(t.startsWith):e===t;var n}(n[e],t)))}(t,e)}var Cn=class e{constructor(){this._asc=Qt.from([],((e,t)=>{const n=e.createdAt,r=t.createdAt;return n<r||n===r&&e.id<t.id})),this._desc=Qt.from([],((e,t)=>{const n=t.updatedAt,r=e.updatedAt;return n<r||n===r&&t.id<e.id})),this._byId=new Map,this._version=0}clone(){const t=new e;return t._byId=new Map(this._byId),t._asc=this._asc.clone(),t._desc=this._desc.clone(),t._version=this._version,t}get version(){return this._version}get(e){const t=this.getEvenIfDeleted(e);return t?.deletedAt?void 0:t}getEvenIfDeleted(e){return this._byId.get(e)}upsert(e){const t=(e=function(e){return e.deletedAt&&e.comments.length>0?{...e,comments:[]}:e.comments.some((e=>!e.deletedAt))?e:{...e,deletedAt:new Date,comments:[]}}(e)).id,n=this._byId.get(t);if(n){if(n.deletedAt)return;this._asc.remove(n),this._desc.remove(n)}e.deletedAt||(this._asc.add(e),this._desc.add(e)),this._byId.set(t,e),this.touch()}upsertIfNewer(e){const t=this.get(e.id);(!t||e.updatedAt>=t.updatedAt)&&this.upsert(e)}delete(e,t){const n=this._byId.get(e);n&&!n.deletedAt&&this.upsert({...n,deletedAt:t,updatedAt:t})}findMany(e,t,n){const r="desc"===n?this._desc:this._asc,o=[];return void 0!==e&&o.push((t=>t.roomId===e)),o.push(wn(t)),Array.from(r.filter((e=>o.every((t=>t(e))))))}touch(){++this._version}};function Dn(e,t){return`${e}-${pe(t??{})}`}function An(e){return`USER_THREADS:${pe(e??{})}`}function xn(e){return`${e}:NOTIFICATION_SETTINGS`}function _n(e){return`${e}-VERSIONS`}function Bn(e){if("status"in e)return e;const t=e;return t.status="pending",t.then((e=>{t.status="fulfilled",t.value=e}),(e=>{t.status="rejected",t.reason=e})),t}var On=Promise.resolve(),Sn=Object.freeze({isLoading:!0}),Tn=class{constructor(e){this._cachedPromise=null,this._paginationState=null,this._fetchPage=e,this._eventSource=E(),this._pendingFetchMore=null,this.observable=this._eventSource.observable,bn(this)}patchPaginationState(e){const t=this._paginationState;null!==t&&(this._paginationState={...t,...e},this._eventSource.notify())}async _fetchMore(){const e=this._paginationState;if(e?.cursor){this.patchPaginationState({isFetchingMore:!0});try{const t=await this._fetchPage(e.cursor);this.patchPaginationState({cursor:t,fetchMoreError:void 0,isFetchingMore:!1})}catch(e){this.patchPaginationState({isFetchingMore:!1,fetchMoreError:e})}}}fetchMore(){const e=this._paginationState;return null===e?.cursor?On:(this._pendingFetchMore||(this._pendingFetchMore=this._fetchMore().finally((()=>{this._pendingFetchMore=null}))),this._pendingFetchMore)}get(){const e=this._cachedPromise;if(null===e||"pending"===e.status)return Sn;if("rejected"===e.status)return{isLoading:!1,error:e.reason};const t=this._paginationState;return{isLoading:!1,data:{fetchMore:this.fetchMore,isFetchingMore:t.isFetchingMore,fetchMoreError:t.fetchMoreError,hasFetchedAll:null===t.cursor}}}waitUntilLoaded(){if(this._cachedPromise)return this._cachedPromise;const e=Bn(_e((()=>this._fetchPage(void 0)),5,[5e3,5e3,1e4,15e3]).then((e=>{this._paginationState={cursor:e,isFetchingMore:!1,fetchMoreError:void 0}})));return e.then((()=>this._eventSource.notify()),(()=>{this._eventSource.notify(),setTimeout((()=>{this._cachedPromise=null,this._eventSource.notify()}),5e3)})),this._cachedPromise=e,e}},kn=class{constructor(e){this._cachedPromise=null,this._fetchPage=e,this._eventSource=E(),this.observable=this._eventSource.observable,bn(this)}get(){const e=this._cachedPromise;return null===e||"pending"===e.status?Sn:"rejected"===e.status?{isLoading:!1,error:e.reason}:{isLoading:!1,data:void 0}}waitUntilLoaded(){if(this._cachedPromise)return this._cachedPromise;const e=Bn(_e((()=>this._fetchPage()),5,[5e3,5e3,1e4,15e3]));return e.then((()=>this._eventSource.notify()),(()=>{this._eventSource.notify(),setTimeout((()=>{this._cachedPromise=null,this._eventSource.notify()}),5e3)})),this._cachedPromise=e,e}},In=class{constructor(e){this._prevVersion=-1,this._prevState=null,this._stateCached=null,this._notificationsLastRequestedAt=null,this._roomThreadsLastRequestedAtByRoom=new Map,this._roomThreads=new Map,this._userThreadsLastRequestedAt=null,this._userThreads=new Map,this._roomVersions=new Map,this._roomVersionsLastRequestedAtByRoom=new Map,this._roomNotificationSettings=new Map,this._client=e[he].as(),this._syncSource=this._client[he].createSyncSource();this._notifications=new Tn((async e=>{const t=await this._client.getInboxNotifications({cursor:e});this.updateThreadsAndNotifications(t.threads,t.inboxNotifications),null===this._notificationsLastRequestedAt&&(this._notificationsLastRequestedAt=t.requestedAt);return t.nextCursor})),this._notifications.observable.subscribe((()=>this._store.set((e=>({...e}))))),this._rawThreadsDB=new Cn,this._store=ye({optimisticUpdates:[],notificationsById:{},settingsByRoomId:{},versionsByRoomId:{}}),bn(this)}get(){const e=this._store.get();return this._prevVersion===this._rawThreadsDB.version&&this._prevState===e&&null!==this._stateCached||(this._stateCached=function(e,t){const n=t.clone(),r={notificationsById:{...e.notificationsById},settingsByRoomId:{...e.settingsByRoomId}};for(const t of e.optimisticUpdates)switch(t.type){case"create-thread":n.upsert(t.thread);break;case"edit-thread-metadata":{const e=n.get(t.threadId);if(void 0===e)break;if(e.updatedAt>t.updatedAt)break;n.upsert({...e,updatedAt:t.updatedAt,metadata:{...e.metadata,...t.metadata}});break}case"mark-thread-as-resolved":{const e=n.get(t.threadId);if(void 0===e)break;n.upsert({...e,resolved:!0});break}case"mark-thread-as-unresolved":{const e=n.get(t.threadId);if(void 0===e)break;n.upsert({...e,resolved:!1});break}case"create-comment":{const e=n.get(t.comment.threadId);if(void 0===e)break;n.upsert(Fn(e,t.comment));const o=Object.values(r.notificationsById).find((t=>"thread"===t.kind&&t.threadId===e.id));if(void 0===o)break;r.notificationsById[o.id]={...o,notifiedAt:t.comment.createdAt,readAt:t.comment.createdAt};break}case"edit-comment":{const e=n.get(t.comment.threadId);if(void 0===e)break;n.upsert(Fn(e,t.comment));break}case"delete-comment":{const e=n.get(t.threadId);if(void 0===e)break;n.upsert(Rn(e,t.commentId,t.deletedAt));break}case"delete-thread":{const e=n.get(t.threadId);if(void 0===e)break;n.upsert({...e,deletedAt:t.deletedAt,updatedAt:t.deletedAt,comments:[]});break}case"add-reaction":{const e=n.get(t.threadId);if(void 0===e)break;n.upsert(Nn(e,t.commentId,t.reaction));break}case"remove-reaction":{const e=n.get(t.threadId);if(void 0===e)break;n.upsert(Pn(e,t.commentId,t.emoji,t.userId,t.removedAt));break}case"mark-inbox-notification-as-read":{const e=r.notificationsById[t.inboxNotificationId];if(void 0===e)break;r.notificationsById[t.inboxNotificationId]={...e,readAt:t.readAt};break}case"mark-all-inbox-notifications-as-read":for(const e in r.notificationsById){const n=r.notificationsById[e];if(void 0===n)break;r.notificationsById[e]={...n,readAt:t.readAt}}break;case"delete-inbox-notification":delete r.notificationsById[t.inboxNotificationId];break;case"delete-all-inbox-notifications":r.notificationsById={};break;case"update-notification-settings":{const e=r.settingsByRoomId[t.roomId];if(void 0===e)break;r.settingsByRoomId[t.roomId]={...e,...t.settings}}}return{cleanedNotifications:Object.values(r.notificationsById).filter((e=>"thread"!==e.kind||void 0!==n.get(e.threadId))).sort(((e,t)=>t.notifiedAt.getTime()-e.notifiedAt.getTime())),notificationsById:r.notificationsById,settingsByRoomId:r.settingsByRoomId,threadsDB:n,versionsByRoomId:e.versionsByRoomId}}(e,this._rawThreadsDB),this._prevState=e,this._prevVersion=this._rawThreadsDB.version),this._stateCached}batch(e){return this._store.batch(e)}getFullState(){return this.get()}getRoomThreadsLoadingState(e,t){const n=Dn(e,t),r=this._roomThreads.get(n);if(void 0===r)return Sn;const o=r.get();if(o.isLoading||o.error)return o;const a=this.getFullState().threadsDB.findMany(e,t??{},"asc"),i=o.data;return{isLoading:!1,threads:a,hasFetchedAll:i.hasFetchedAll,isFetchingMore:i.isFetchingMore,fetchMoreError:i.fetchMoreError,fetchMore:i.fetchMore}}getUserThreadsLoadingState(e){const t=An(e),n=this._userThreads.get(t);if(void 0===n)return Sn;const r=n.get();if(r.isLoading||r.error)return r;const o=this.getFullState().threadsDB.findMany(void 0,e??{},"desc"),a=r.data;return{isLoading:!1,threads:o,hasFetchedAll:a.hasFetchedAll,isFetchingMore:a.isFetchingMore,fetchMoreError:a.fetchMoreError,fetchMore:a.fetchMore}}getInboxNotificationsLoadingState(){const e=this._notifications.get();if(e.isLoading||e.error)return e;const t=e.data;return{isLoading:!1,inboxNotifications:this.getFullState().cleanedNotifications,hasFetchedAll:t.hasFetchedAll,isFetchingMore:t.isFetchingMore,fetchMoreError:t.fetchMoreError,fetchMore:t.fetchMore}}getNotificationSettingsLoadingState(e){const t=xn(e),n=this._roomNotificationSettings.get(t);if(void 0===n)return Sn;const r=n.get();return r.isLoading||r.error?r:{isLoading:!1,settings:g(this.get().settingsByRoomId[e])}}getRoomVersionsLoadingState(e){const t=_n(e),n=this._roomVersions.get(t);if(void 0===n)return Sn;const r=n.get();return r.isLoading||r.error?r:{isLoading:!1,versions:Object.values(this.get().versionsByRoomId[e]??{})}}subscribe(e){return this._store.subscribe(e)}mutateThreadsDB(e){const t=this._rawThreadsDB,n=t.version;e(t),n!==t.version&&this._store.set((e=>({...e})))}updateInboxNotificationsCache(e){this._store.set((t=>{const n=e(t.notificationsById);return n!==t.notificationsById?{...t,notificationsById:n}:t}))}setNotificationSettings(e,t){this._store.set((n=>({...n,settingsByRoomId:{...n.settingsByRoomId,[e]:t}})))}updateRoomVersions(e,t){this._store.set((n=>{const r=Object.fromEntries(t.map((e=>[e.id,e])));return{...n,versionsByRoomId:{...n.versionsByRoomId,[e]:{...n.versionsByRoomId[e]??{},...r}}}}))}updateOptimisticUpdatesCache(e){this._store.set((t=>{const n=e(t.optimisticUpdates);return this._syncSource.setSyncStatus(n.length>0?"synchronizing":"synchronized"),{...t,optimisticUpdates:n}}))}force_set(e){return this._store.set(e)}updateInboxNotification(e,t,n){this._store.batch((()=>{this.removeOptimisticUpdate(t),this.updateInboxNotificationsCache((t=>{const r=t[e];if(!r)return t;return{...t,[e]:n(r)}}))}))}updateAllInboxNotifications(e,t){this._store.batch((()=>{this.removeOptimisticUpdate(e),this.updateInboxNotificationsCache((e=>function(e,t){const n={};for(const r of Object.entries(e)){const e=r[0];if("__proto__"===e)continue;const o=r[1];n[e]=t(o,e)}return n}(e,t)))}))}deleteInboxNotification(e,t){this._store.batch((()=>{this.removeOptimisticUpdate(t),this.updateInboxNotificationsCache((t=>{const{[e]:n,...r}=t;return void 0===n?t:r}))}))}deleteAllInboxNotifications(e){this._store.batch((()=>{this.removeOptimisticUpdate(e),this.updateInboxNotificationsCache((()=>({})))}))}createThread(e,t){this._store.batch((()=>{this.removeOptimisticUpdate(e),this.mutateThreadsDB((e=>e.upsert(t)))}))}updateThread(e,t,n,r){this._store.batch((()=>{null!==t&&this.removeOptimisticUpdate(t),this.mutateThreadsDB((t=>{const o=t.get(e);o&&(r&&o.updatedAt>r||t.upsert(n(o)))}))}))}patchThread(e,t,n,r){return this.updateThread(e,t,(e=>({...e,...j(n)})),r)}addReaction(e,t,n,r,o){this.updateThread(e,t,(e=>Nn(e,n,r)),o)}removeReaction(e,t,n,r,o,a){this.updateThread(e,t,(e=>Pn(e,n,r,o,a)),a)}deleteThread(e,t){return this.updateThread(e,t,(e=>({...e,updatedAt:new Date,deletedAt:new Date})))}createComment(e,t){this._store.batch((()=>{this.removeOptimisticUpdate(t);const n=this._rawThreadsDB.get(e.threadId);n&&(this.mutateThreadsDB((t=>t.upsert(Fn(n,e)))),this.updateInboxNotificationsCache((t=>{const n=Object.values(t).find((t=>"thread"===t.kind&&t.threadId===e.threadId));return n?{...t,[n.id]:{...n,notifiedAt:e.createdAt,readAt:e.createdAt}}:t})))}))}editComment(e,t,n){return this.updateThread(e,t,(e=>Fn(e,n)))}deleteComment(e,t,n,r){return this.updateThread(e,t,(e=>Rn(e,n,r)),r)}updateThreadAndNotification(e,t){this._store.batch((()=>{this.mutateThreadsDB((t=>t.upsertIfNewer(e))),void 0!==t&&this.updateInboxNotificationsCache((e=>({...e,[t.id]:t})))}))}updateThreadsAndNotifications(e,t,n=[],r=[]){this._store.batch((()=>{this.mutateThreadsDB((t=>function(e,t){t.newThreads.forEach((t=>e.upsertIfNewer(t))),t.deletedThreads.forEach((({id:t,deletedAt:n})=>{e.getEvenIfDeleted(t)&&e.delete(t,n)}))}(t,{newThreads:e,deletedThreads:n}))),this.updateInboxNotificationsCache((e=>function(e,t){const n={...e};return t.newInboxNotifications.forEach((e=>{const t=n[e.id];if(t){if(1===function(e,t){if(e.notifiedAt>t.notifiedAt)return 1;if(e.notifiedAt<t.notifiedAt)return-1;if(e.readAt&&t.readAt)return e.readAt>t.readAt?1:e.readAt<t.readAt?-1:0;if(e.readAt||t.readAt)return e.readAt?1:-1;return 0}(t,e))return}n[e.id]=e})),t.deletedNotifications.forEach((({id:e})=>delete n[e])),n}(e,{newInboxNotifications:t,deletedNotifications:r})))}))}updateRoomNotificationSettings_confirmOptimisticUpdate(e,t,n){this._store.batch((()=>{this.removeOptimisticUpdate(t),this.setNotificationSettings(e,n)}))}addOptimisticUpdate(e){const t=Ze(),n={...e,id:t};return this.updateOptimisticUpdatesCache((e=>[...e,n])),t}removeOptimisticUpdate(e){this.updateOptimisticUpdatesCache((t=>t.filter((t=>t.id!==e))))}async fetchNotificationsDeltaUpdate(e){const t=this._notificationsLastRequestedAt;if(null===t)return;const n=await this._client.getInboxNotificationsSince({since:t,signal:e});t<n.requestedAt&&(this._notificationsLastRequestedAt=n.requestedAt),this.updateThreadsAndNotifications(n.threads.updated,n.inboxNotifications.updated,n.threads.deleted,n.inboxNotifications.deleted)}waitUntilNotificationsLoaded(){return this._notifications.waitUntilLoaded()}waitUntilRoomThreadsLoaded(e,t){const n=async n=>{const r=this._client.getRoom(e);if(null===r)throw new Ae(`Room '${e}' is not available on client`,479);const o=await r.getThreads({cursor:n,query:t});this.updateThreadsAndNotifications(o.threads,o.inboxNotifications);const a=this._roomThreadsLastRequestedAtByRoom.get(e);return(void 0===a||a>o.requestedAt)&&this._roomThreadsLastRequestedAtByRoom.set(e,o.requestedAt),o.nextCursor},r=Dn(e,t);let o=this._roomThreads.get(r);return void 0===o&&(o=new Tn(n)),o.observable.subscribe((()=>this._store.set((e=>({...e}))))),this._roomThreads.set(r,o),o.waitUntilLoaded()}async fetchRoomThreadsDeltaUpdate(e,t){const n=this._roomThreadsLastRequestedAtByRoom.get(e);if(void 0===n)return;const r=g(this._client.getRoom(e),`Room with id ${e} is not available on client`),o=await r.getThreadsSince({since:n,signal:t});this.updateThreadsAndNotifications(o.threads.updated,o.inboxNotifications.updated,o.threads.deleted,o.inboxNotifications.deleted),n<o.requestedAt&&this._roomThreadsLastRequestedAtByRoom.set(e,o.requestedAt)}waitUntilUserThreadsLoaded(e){const t=An(e),n=async t=>{const n=await this._client[he].getUserThreads_experimental({cursor:t,query:e});return this.updateThreadsAndNotifications(n.threads,n.inboxNotifications),null===this._userThreadsLastRequestedAt&&(this._userThreadsLastRequestedAt=n.requestedAt),n.nextCursor};let r=this._userThreads.get(t);return void 0===r&&(r=new Tn(n)),r.observable.subscribe((()=>this._store.set((e=>({...e}))))),this._userThreads.set(t,r),r.waitUntilLoaded()}async fetchUserThreadsDeltaUpdate(e){const t=this._userThreadsLastRequestedAt;if(null===t)return;const n=await this._client[he].getUserThreadsSince_experimental({since:t,signal:e});t<n.requestedAt&&(this._notificationsLastRequestedAt=n.requestedAt),this.updateThreadsAndNotifications(n.threads.updated,n.inboxNotifications.updated,n.threads.deleted,n.inboxNotifications.deleted)}waitUntilRoomVersionsLoaded(e){const t=_n(e);let n=this._roomVersions.get(t);if(void 0===n){n=new kn((async()=>{const t=this._client.getRoom(e);if(null===t)throw new Ae(`Room '${e}' is not available on client`,479);const n=await t[he].listTextVersions();this.updateRoomVersions(e,n.versions);const r=this._roomVersionsLastRequestedAtByRoom.get(e);(void 0===r||r>n.requestedAt)&&this._roomVersionsLastRequestedAtByRoom.set(e,n.requestedAt)}))}return n.observable.subscribe((()=>this._store.set((e=>({...e}))))),this._roomVersions.set(t,n),n.waitUntilLoaded()}async fetchRoomVersionsDeltaUpdate(e,t){const n=this._roomVersionsLastRequestedAtByRoom.get(e);if(void 0===n)return;const r=g(this._client.getRoom(e),`Room with id ${e} is not available on client`),o=await r[he].listTextVersionsSince({since:n,signal:t});this.updateRoomVersions(e,o.versions),n<o.requestedAt&&this._roomVersionsLastRequestedAtByRoom.set(e,o.requestedAt)}waitUntilRoomNotificationSettingsLoaded(e){const t=xn(e);let n=this._roomNotificationSettings.get(t);if(void 0===n){n=new kn((async()=>{const t=this._client.getRoom(e);if(null===t)throw new Ae(`Room '${e}' is not available on client`,479);const n=await t.getNotificationSettings();this.setNotificationSettings(e,n)}))}return n.observable.subscribe((()=>this._store.set((e=>({...e}))))),this._roomNotificationSettings.set(t,n),n.waitUntilLoaded()}async refreshRoomNotificationSettings(e,t){const n=g(this._client.getRoom(e),`Room with id ${e} is not available on client`),r=await n.getNotificationSettings({signal:t});this.setNotificationSettings(e,r)}};function Fn(e,t){if(void 0!==e.deletedAt)return e;if(t.threadId!==e.id)return w.warn(`Comment ${t.id} does not belong to thread ${e.id}`),e;const n=e.comments.find((e=>e.id===t.id));if(void 0===n){const n=new Date(Math.max(e.updatedAt.getTime(),t.createdAt.getTime()));return{...e,updatedAt:n,comments:[...e.comments,t]}}if(void 0!==n.deletedAt)return e;if(void 0===n.editedAt||void 0===t.editedAt||n.editedAt<=t.editedAt){const n=e.comments.map((e=>e.id===t.id?t:e));return{...e,updatedAt:new Date(Math.max(e.updatedAt.getTime(),t.editedAt?.getTime()||t.createdAt.getTime())),comments:n}}return e}function Rn(e,t,n){if(void 0!==e.deletedAt)return e;const r=e.comments.find((e=>e.id===t));if(void 0===r)return e;if(void 0!==r.deletedAt)return e;const o=e.comments.map((e=>e.id===t?{...e,deletedAt:n,body:void 0,attachments:[]}:e));return o.every((e=>void 0!==e.deletedAt))?{...e,deletedAt:n,updatedAt:n}:{...e,updatedAt:n,comments:o}}function Nn(e,t,n){if(void 0!==e.deletedAt)return e;const r=e.comments.find((e=>e.id===t));if(void 0===r)return e;if(void 0!==r.deletedAt)return e;const o=e.comments.map((e=>e.id===t?{...e,reactions:Mn(e.reactions,n)}:e));return{...e,updatedAt:new Date(Math.max(n.createdAt.getTime(),e.updatedAt.getTime())),comments:o}}function Pn(e,t,n,r,o){if(void 0!==e.deletedAt)return e;const a=e.comments.find((e=>e.id===t));if(void 0===a)return e;if(void 0!==a.deletedAt)return e;const i=e.comments.map((e=>e.id===t?{...e,reactions:e.reactions.map((e=>e.emoji===n?{...e,users:e.users.filter((e=>e.id!==r))}:e)).filter((e=>e.users.length>0))}:e));return{...e,updatedAt:new Date(Math.max(o.getTime(),e.updatedAt.getTime())),comments:i}}function Mn(e,t){const n=e.find((e=>e.emoji===t.emoji));return void 0===n?[...e,{emoji:t.emoji,createdAt:t.createdAt,users:[{id:t.userId}]}]:!1===n.users.some((e=>e.id===t.userId))?e.map((e=>e.emoji===t.emoji?{...e,users:[...e.users,{id:t.userId}]}:e)):e}var jn=t.createContext(null);function Ln(e){return new Error(`resolveUsers didn't return anything for user '${e}'`)}function zn(e){return new Error(`resolveRoomsInfo didn't return anything for room '${e}'`)}function Hn(e){return e}var Un=new WeakMap,Wn=new WeakMap;function $n(e){let t=0;for(const n of e)(null===n.readAt||n.readAt<n.notifiedAt)&&t++;return t}function Vn(e){return e.inboxNotifications?{isLoading:!1,count:$n(e.inboxNotifications)}:e}function Kn(e){let t=Un.get(e);return t||(t=new In(e),Un.set(e,t)),t}function qn(e){let t=Wn.get(e);return t||(t=function(e){const t=Kn(e),n=Yt((async e=>{try{return await t.fetchNotificationsDeltaUpdate(e)}catch(e){throw console.warn(`Polling new inbox notifications failed: ${String(e)}`),e}}),hn.NOTIFICATIONS_POLL_INTERVAL,{maxStaleTimeMs:hn.NOTIFICATIONS_MAX_STALE_TIME}),r=Yt((async e=>{try{return await t.fetchUserThreadsDeltaUpdate(e)}catch(e){throw console.warn(`Polling new user threads failed: ${String(e)}`),e}}),hn.USER_THREADS_POLL_INTERVAL,{maxStaleTimeMs:hn.USER_THREADS_MAX_STALE_TIME});return{store:t,notificationsPoller:n,userThreadsPoller:r}}(e),Wn.set(e,t)),t}function Gn(e,n,r){const{store:o,notificationsPoller:a}=qn(e);return t.useEffect((()=>{o.waitUntilNotificationsLoaded()})),t.useEffect((()=>(a.inc(),a.pollNowIfStale(),()=>{a.dec()})),[a]),cn.exports.useSyncExternalStoreWithSelector(o.subscribe,o.getInboxNotificationsLoadingState,o.getInboxNotificationsLoadingState,n,r)}function Xn(e){const t=qn(e).store;yn(t.waitUntilNotificationsLoaded());const n=function(e){return Gn(e,Vn,Jt)}(e);return n.isLoading,n.error,n}function Zn(e,n){const r=e[he].usersStore,o=t.useCallback((()=>r.getState(n)),[r,n]),a=t.useCallback((e=>function(e,t){return void 0===e||e?.isLoading?e??{isLoading:!0}:e.error?e:e.data?{isLoading:!1,user:e.data}:{isLoading:!1,error:Ln(t)}}(e,n)),[n]),i=cn.exports.useSyncExternalStoreWithSelector(r.subscribe,o,o,a,Jt);return t.useEffect((()=>{r.get(n)}),[r,n,i]),i}function Yn(e,n){const r=e[he].roomsInfoStore,o=t.useCallback((()=>r.getState(n)),[r,n]),a=t.useCallback((e=>function(e,t){return void 0===e||e?.isLoading?e??{isLoading:!0}:e.error?e:e.data?{isLoading:!1,info:e.data}:{isLoading:!1,error:zn(t)}}(e,n)),[n]),i=cn.exports.useSyncExternalStoreWithSelector(r.subscribe,o,o,a,Jt);return t.useEffect((()=>{r.get(n)}),[r,n,i]),i}function Jn(){return t.useContext(jn)}function Qn(){return Jn()??I("LiveblocksProvider is missing from the React tree.")}function er(e){return function(e){const t=Jn();if(!e?.allowNesting&&null!==t)throw new Error("You cannot nest multiple LiveblocksProvider instances in the same React tree.")}(e),s.default.createElement(jn.Provider,{value:e.client},e.children)}function tr(e){const{children:n,...r}=e,o={publicApiKey:vn(r.publicApiKey),throttle:vn(r.throttle),lostConnectionTimeout:vn(r.lostConnectionTimeout),backgroundKeepAliveTimeout:vn(r.backgroundKeepAliveTimeout),polyfills:vn(r.polyfills),unstable_fallbackToHTTP:vn(r.unstable_fallbackToHTTP),unstable_streamData:vn(r.unstable_streamData),preventUnsavedChanges:vn(r.preventUnsavedChanges),authEndpoint:gn(r.authEndpoint),resolveMentionSuggestions:gn(r.resolveMentionSuggestions),resolveUsers:gn(r.resolveUsers),resolveRoomsInfo:gn(r.resolveRoomsInfo),baseUrl:vn(r.baseUrl),enableDebugLogging:vn(r.enableDebugLogging)},a=t.useMemo((()=>$t(o)),[]);return s.default.createElement(er,{client:a},n)}function nr(){return function(e){const t=qn(e).store;yn(t.waitUntilNotificationsLoaded());const n=Gn(e,Hn,Jt);return n.error,n.isLoading,n}(Qn())}function rr(){return e=Qn(),t.useCallback((()=>{const{store:t}=qn(e),n=new Date,r=t.addOptimisticUpdate({type:"mark-all-inbox-notifications-as-read",readAt:n});e.markAllInboxNotificationsAsRead().then((()=>{t.updateAllInboxNotifications(r,(e=>({...e,readAt:n})))}),(()=>{t.removeOptimisticUpdate(r)}))}),[e]);var e}function or(){return e=Qn(),t.useCallback((t=>{const{store:n}=qn(e),r=new Date,o=n.addOptimisticUpdate({type:"mark-inbox-notification-as-read",inboxNotificationId:t,readAt:r});e.markInboxNotificationAsRead(t).then((()=>{n.updateInboxNotification(t,o,(e=>({...e,readAt:r})))}),(()=>{n.removeOptimisticUpdate(o)}))}),[e]);var e}function ar(){return e=Qn(),t.useCallback((()=>{const{store:t}=qn(e),n=new Date,r=t.addOptimisticUpdate({type:"delete-all-inbox-notifications",deletedAt:n});e.deleteAllInboxNotifications().then((()=>{t.deleteAllInboxNotifications(r)}),(()=>{t.removeOptimisticUpdate(r)}))}),[e]);var e}function ir(){return e=Qn(),t.useCallback((t=>{const{store:n}=qn(e),r=new Date,o=n.addOptimisticUpdate({type:"delete-inbox-notification",inboxNotificationId:t,deletedAt:r});e.deleteInboxNotification(t).then((()=>{n.deleteInboxNotification(t,o)}),(()=>{n.removeOptimisticUpdate(o)}))}),[e]);var e}function sr(e){return Yn(Qn(),e)}var ur=function(e){return function(e,n){const{store:r}=qn(e),o=r.getFullState,a=t.useCallback((e=>{const t=e.notificationsById[n]??I(`Inbox notification with ID "${n}" not found`);return"thread"!==t.kind&&I(`Inbox notification with ID "${n}" is not of kind "thread"`),e.threadsDB.get(t.threadId)??I(`Thread with ID "${t.threadId}" not found, this inbox notification might not be of kind "thread"`)}),[n]);return cn.exports.useSyncExternalStoreWithSelector(r.subscribe,o,o,a)}(Qn(),e)},cr=function(e){return Zn(Qn(),e)},lr=class extends Error{constructor(e,t){super("Create thread failed."),this.cause=e,this.context=t,this.name="CreateThreadError"}},dr=class extends Error{constructor(e,t){super("Mark thread as resolved failed."),this.cause=e,this.context=t,this.name="MarkThreadAsResolvedError"}},fr=class extends Error{constructor(e,t){super("Mark thread as unresolved failed."),this.cause=e,this.context=t,this.name="MarkThreadAsUnresolvedError"}},hr=class extends Error{constructor(e,t){super("Create comment failed."),this.cause=e,this.context=t,this.name="CreateCommentError"}},pr=class extends Error{constructor(e,t){super("Edit comment failed."),this.cause=e,this.context=t,this.name="EditCommentError"}},mr=class extends Error{constructor(e,t){super("Delete comment failed."),this.cause=e,this.context=t,this.name="DeleteCommentError"}},vr=class extends Error{constructor(e,t){super("Add reaction failed."),this.cause=e,this.context=t,this.name="AddReactionError"}},gr=class extends Error{constructor(e,t){super("Remove reaction failed."),this.cause=e,this.context=t,this.name="RemoveReactionError"}},yr=class extends Error{constructor(e,t){super("Mark inbox notification as read failed."),this.cause=e,this.context=t,this.name="MarkInboxNotificationAsReadError"}};function br(e,t){i.useEffect((()=>{!function(e,t){if(!1===e)return;if(!t.threads)return;if("undefined"==typeof window)return;const n=window.location.hash.slice(1);if(!n.startsWith("cm_"))return;const r=document.getElementById(n);if(null===r)return;t.threads.flatMap((e=>e.comments)).some((e=>e.id===n))&&r.scrollIntoView()}(e,t)}),[t.isLoading])}var Er=e=>e;function wr(){return null}function Cr(e){const t=e.getSelf();return null===t||void 0===t.id?"anonymous":t.id}function Dr(e){const t=`Request failed with status ${e.status}: ${e.message}`;if("FORBIDDEN"===e.details?.error){const n=[t,e.details.suggestion,e.details.docs].filter(Boolean).join("\n");w.error(n)}return new Error(t)}Object.freeze([]);var Ar=new WeakMap;function xr(e){let t=Ar.get(e);return t||(t=function(e){const t=Kn(e),n=E();function r(e,r,o){if(t.removeOptimisticUpdate(r),e instanceof Ae){const t=Dr(e);n.notify(o(t))}else{if(!(e instanceof Ae))throw e;Dr(e)}}const o=new Map,a=new Map,i=new Map;function s(e){let n=o.get(e);return n||(n=Yt((async n=>{try{return await t.fetchRoomThreadsDeltaUpdate(e,n)}catch(t){throw w.warn(`Polling new threads for '${e}' failed: ${String(t)}`),t}}),hn.ROOM_THREADS_POLL_INTERVAL,{maxStaleTimeMs:hn.ROOM_THREADS_MAX_STALE_TIME}),o.set(e,n)),n}function u(e){let n=a.get(e);return n||(n=Yt((async n=>{try{return await t.fetchRoomVersionsDeltaUpdate(e,n)}catch(t){throw w.warn(`Polling new history versions for '${e}' failed: ${String(t)}`),t}}),hn.HISTORY_VERSIONS_POLL_INTERVAL,{maxStaleTimeMs:hn.HISTORY_VERSIONS_MAX_STALE_TIME}),a.set(e,n)),n}function c(e){let n=i.get(e);return n||(n=Yt((async n=>{try{return await t.refreshRoomNotificationSettings(e,n)}catch(t){throw w.warn(`Polling notification settings for '${e}' failed: ${String(t)}`),t}}),hn.NOTIFICATION_SETTINGS_POLL_INTERVAL,{maxStaleTimeMs:hn.NOTIFICATION_SETTINGS_MAX_STALE_TIME}),i.set(e,n)),n}return{store:t,commentsErrorEventSource:n.observable,onMutationFailure:r,getOrCreateThreadsPollerForRoomId:s,getOrCreateVersionsPollerForRoomId:u,getOrCreateNotificationsSettingsPollerForRoomId:c}}(e),Ar.set(e,t)),t}function _r(e){const t=Qn(),{id:n,stableEnterRoom:r}=e,o=vn({initialPresence:e.initialPresence,initialStorage:e.initialStorage,unstable_batchedUpdates:e.unstable_batchedUpdates,autoConnect:e.autoConnect??"undefined"!=typeof window}),[{room:a},s]=i.useState((()=>r(n,{...o,autoConnect:!1})));return i.useEffect((()=>{const{store:e}=xr(t);return a.events.comments.subscribe((t=>{!async function(t){if(t.type===U.THREAD_DELETED)return void e.deleteThread(t.threadId,null);const n=await a.getThread(t.threadId);if(!n.thread)return void e.deleteThread(t.threadId,null);const{thread:r,inboxNotification:o}=n,i=e.getFullState().threadsDB.getEvenIfDeleted(t.threadId);switch(t.type){case U.COMMENT_EDITED:case U.THREAD_METADATA_UPDATED:case U.THREAD_UPDATED:case U.COMMENT_REACTION_ADDED:case U.COMMENT_REACTION_REMOVED:case U.COMMENT_DELETED:if(!i)break;e.updateThreadAndNotification(r,o);break;case U.COMMENT_CREATED:e.updateThreadAndNotification(r,o)}}(t)}))}),[t,a]),i.useEffect((()=>{const e=r(n,o);s(e);const{room:t,leave:a}=e;return o.autoConnect&&t.connect(),()=>{a()}}),[n,o,r]),i.createElement(dn.Provider,{value:a},e.children)}function Br(){const e=fn();if(null===e)throw new Error("RoomProvider is missing from the React tree.");return e}function Or(){const e=Qn(),t=Br();return i.useCallback((({threadId:n,commentId:r,body:o,attachments:a})=>{const i=new Date,{store:s,onMutationFailure:u}=xr(e),c=s.getFullState().threadsDB.getEvenIfDeleted(n);if(void 0===c)return void w.warn(`Internal unexpected behavior. Cannot edit comment in thread "${n}" because the thread does not exist in the cache.`);const l=c.comments.find((e=>e.id===r));if(void 0===l||void 0!==l.deletedAt)return void w.warn(`Internal unexpected behavior. Cannot edit comment "${r}" in thread "${n}" because the comment does not exist in the cache.`);const d=s.addOptimisticUpdate({type:"edit-comment",comment:{...l,editedAt:i,body:o,attachments:a??[]}}),f=a?.map((e=>e.id));t.editComment({threadId:n,commentId:r,body:o,attachmentIds:f}).then((e=>{s.editComment(n,d,e)}),(e=>u(e,d,(e=>new pr(e,{roomId:t.id,threadId:n,commentId:r,body:o})))))}),[e,t])}function Sr(){const e=Qn(),t=Br();return i.useCallback((({threadId:n,commentId:r,emoji:o})=>{const a=Cr(t),i=new Date,{store:s,onMutationFailure:u}=xr(e),c=s.addOptimisticUpdate({type:"remove-reaction",threadId:n,commentId:r,emoji:o,userId:a,removedAt:i});t.removeReaction({threadId:n,commentId:r,emoji:o}).then((()=>{s.removeReaction(n,c,r,o,a,i)}),(e=>u(e,c,(e=>new gr(e,{roomId:t.id,threadId:n,commentId:r,emoji:o})))))}),[e,t])}function Tr(e){return void 0===e||e?.isLoading?e??{isLoading:!0}:e.error?e:(e.data,{isLoading:!1,url:e.data})}function kr(e){const t=Br(),{attachmentUrlsStore:n}=t[he],r=i.useCallback((()=>n.getState(e)),[n,e]);return i.useEffect((()=>{n.get(e)}),[n,e]),cn.exports.useSyncExternalStoreWithSelector(n.subscribe,r,r,Tr,Jt)}var Ir=function(e){const t=Qn(),[n]=i.useState((()=>new Map)),r=i.useCallback(((e,r)=>{const o=n.get(e);if(o)return o;const a=t.enterRoom(e,r),i=a.leave;return a.leave=()=>{i(),n.delete(e)},n.set(e,a),a}),[t,n]);return i.createElement(_r,{...e,stableEnterRoom:r})},Fr=Br,Rr=function(){return null!==fn()},Nr=function(){const e=Qn(),t=Br();return i.useCallback((({threadId:n,commentId:r,emoji:o})=>{const a=new Date,i=Cr(t),{store:s,onMutationFailure:u}=xr(e),c=s.addOptimisticUpdate({type:"add-reaction",threadId:n,commentId:r,reaction:{emoji:o,userId:i,createdAt:a}});t.addReaction({threadId:n,commentId:r,emoji:o}).then((e=>{s.addReaction(n,c,r,e,a)}),(e=>u(e,c,(e=>new vr(e,{roomId:t.id,threadId:n,commentId:r,emoji:o})))))}),[e,t])},Pr=function(){const e=Qn(),t=Br();return i.useCallback((n=>{const r=n.body,o=n.metadata??{},a=n.attachments,i=Ct(),s=Dt(),u=new Date,c={id:s,threadId:i,roomId:t.id,createdAt:u,type:"comment",userId:Cr(t),body:r,reactions:[],attachments:a??[]},l={id:i,type:"thread",createdAt:u,updatedAt:u,roomId:t.id,metadata:o,comments:[c],resolved:!1},{store:d,onMutationFailure:f}=xr(e),h=d.addOptimisticUpdate({type:"create-thread",thread:l,roomId:t.id}),p=a?.map((e=>e.id));return t.createThread({threadId:i,commentId:s,body:r,metadata:o,attachmentIds:p}).then((e=>{d.createThread(h,e)}),(e=>f(e,h,(e=>new lr(e,{roomId:t.id,threadId:i,commentId:s,body:r,metadata:o}))))),l}),[e,t])},Mr=function(e={query:{metadata:{}}}){const t=Qn(),n=Br(),{store:r}=xr(t);yn(r.waitUntilRoomThreadsLoaded(n.id,e.query));const o=function(e={query:{metadata:{}}}){const{scrollOnLoad:t=!0}=e,n=Qn(),r=Br(),{store:o,getOrCreateThreadsPollerForRoomId:a}=xr(n),s=a(r.id);i.useEffect((()=>{o.waitUntilRoomThreadsLoaded(r.id,e.query)})),i.useEffect((()=>(s.inc(),s.pollNowIfStale(),()=>s.dec())),[s]);const u=i.useCallback((()=>o.getRoomThreadsLoadingState(r.id,e.query)),[o,r.id,e.query]),c=cn.exports.useSyncExternalStoreWithSelector(o.subscribe,u,u,Er,pn);return br(t,c),c}(e);return o.error,o.isLoading,o};function jr(...e){return function(e,t){const n=Br(),r=n.events.self.subscribe,o=n.getSelf,a=e??Er,s=i.useCallback((e=>null!==e?a(e):null),[a]),u=wr;return cn.exports.useSyncExternalStoreWithSelector(r,o,u,s,t)}(...e)}function Lr(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r.defaultPrevented)return t?.(r)}}function zr(e){const t=i.useRef(e);return i.useEffect((()=>{t.current=e})),i.useMemo((()=>(...e)=>t.current?.(...e)),[])}function Hr({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,o]=function({defaultProp:e,onChange:t}){const n=i.useState(e),[r]=n,o=i.useRef(r),a=zr(t);return i.useEffect((()=>{o.current!==r&&(a(r),o.current=r)}),[r,o,a]),n}({defaultProp:t,onChange:n}),a=void 0!==e,s=a?e:r,u=zr(n);return[s,i.useCallback((t=>{if(a){const n="function"==typeof t?t(e):t;n!==e&&u(n)}else o(t)}),[a,e,o,u])]}function Ur(...e){return t=>e.forEach((e=>function(e,t){"function"==typeof e?e(t):null!=e&&(e.current=t)}(e,t)))}function Wr(...e){return i.useCallback(Ur(...e),e)}m(en,tn,"esm");var $r,Vr={exports:{}},Kr={};!function(e){e.exports=function(){if($r)return Kr;$r=1;var e=s.default,t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,o=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};function i(e,n,i){var s,u={},c=null,l=null;for(s in void 0!==i&&(c=""+i),void 0!==n.key&&(c=""+n.key),void 0!==n.ref&&(l=n.ref),n)r.call(n,s)&&!a.hasOwnProperty(s)&&(u[s]=n[s]);if(e&&e.defaultProps)for(s in n=e.defaultProps)void 0===u[s]&&(u[s]=n[s]);return{$$typeof:t,type:e,key:c,ref:l,props:u,_owner:o.current}}return Kr.Fragment=n,Kr.jsx=i,Kr.jsxs=i,Kr}()}(Vr);var qr=i.forwardRef(((e,t)=>{const{children:n,...r}=e,o=i.Children.toArray(n),a=o.find(Zr);if(a){const e=a.props.children,n=o.map((t=>t===a?i.Children.count(e)>1?i.Children.only(null):i.isValidElement(e)?e.props.children:null:t));return Vr.exports.jsx(Gr,{...r,ref:t,children:i.isValidElement(e)?i.cloneElement(e,void 0,n):null})}return Vr.exports.jsx(Gr,{...r,ref:t,children:n})}));qr.displayName="Slot";var Gr=i.forwardRef(((e,t)=>{const{children:n,...r}=e;if(i.isValidElement(n)){const e=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;if(n)return e.ref;if(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n)return e.props.ref;return e.props.ref||e.ref}(n);return i.cloneElement(n,{...Yr(r,n.props),ref:t?Ur(t,e):e})}return i.Children.count(n)>1?i.Children.only(null):null}));Gr.displayName="SlotClone";var Xr=({children:e})=>Vr.exports.jsx(Vr.exports.Fragment,{children:e});function Zr(e){return i.isValidElement(e)&&e.type===Xr}function Yr(e,t){const n={...t};for(const r in t){const o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...e)=>{a(...e),o(...e)}:o&&(n[r]=o):"style"===r?n[r]={...o,...a}:"className"===r&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}var Jr=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"].reduce(((e,t)=>{const n=i.forwardRef(((e,n)=>{const{asChild:r,...o}=e,a=r?qr:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),Vr.exports.jsx(a,{...o,ref:n})}));return n.displayName=`Primitive.${t}`,{...e,[t]:n}}),{});function Qr(e,t){e&&u.flushSync((()=>e.dispatchEvent(t)))}var eo=i.forwardRef(((e,t)=>{const{pressed:n,defaultPressed:r=!1,onPressedChange:o,...a}=e,[i=!1,s]=Hr({prop:n,onChange:o,defaultProp:r});return Vr.exports.jsx(Jr.button,{type:"button","aria-pressed":i,"data-state":i?"on":"off","data-disabled":e.disabled?"":void 0,...a,ref:t,onClick:Lr(e.onClick,(()=>{e.disabled||s(!i)}))})}));eo.displayName="Toggle";var to=eo;function no(...e){return e.filter((e=>"string"==typeof e||"number"==typeof e)).join(" ")}function ro({children:e,className:t,...n}){return s.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:20,height:20,viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",role:"presentation",className:no("lb-icon",t),...n},e)}function oo(e){return s.default.createElement(ro,{...e},s.default.createElement("path",{d:"M16 6L8 14L4 10"}))}function ao(e){return s.default.createElement(ro,{...e},s.default.createElement("path",{d:"M15 5L5 15"}),s.default.createElement("path",{d:"M5 5L15 15"}))}function io(e){return s.default.createElement(ro,{...e},s.default.createElement("path",{d:"M4.5 6.5h11M14 6.5V14a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 6 14V6.5M7.5 6.5V5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v1.5"}))}function so(e){return s.default.createElement(ro,{...e},s.default.createElement("path",{d:"m11.784 5.797-6.13 6.138a4 4 0 0 0-1.03 1.775L4 16l2.285-.624a4 4 0 0 0 1.776-1.032l6.145-6.152m-2.422-2.395 1.244-1.246c.608-.608 1.826-.81 2.53-.104.7.7.499 1.893-.122 2.515l-1.23 1.23m-2.422-2.395 2.422 2.395"}))}function uo(e){return s.default.createElement(ro,{fill:"currentColor",...e},s.default.createElement("circle",{cx:5,cy:10,r:.75}),s.default.createElement("circle",{cx:10,cy:10,r:.75}),s.default.createElement("circle",{cx:15,cy:10,r:.75}))}function co(e){return s.default.createElement(ro,{...e},s.default.createElement("path",{d:"M11 3.07A7 7 0 1 0 16.93 9"}),s.default.createElement("path",{d:"M7.5 11.5S8.25 13 10 13s2.5-1.5 2.5-1.5M8 8h0"}),s.default.createElement("path",{d:"M12 8h0"}),s.default.createElement("path",{d:"M13 5h4m-2-2v4"}),s.default.createElement("circle",{cx:"8",cy:"8",r:".25"}),s.default.createElement("circle",{cx:"12",cy:"8",r:".25"}))}const lo="'Apple Color Emoji', 'Noto Color Emoji', 'Twemoji Mozilla', 'Android Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', EmojiSymbols, sans-serif",fo=t.forwardRef((({emoji:e,style:t,asChild:n,...r},o)=>{const a=n?qr:"span";return s.default.createElement(a,{role:"img","aria-label":e,"data-emoji":e,style:{...t,fontFamily:lo,display:"inline-flex",alignItems:"center",justifyContent:"center",width:"1em",whiteSpace:"nowrap"},...r,ref:o},e)})),ho=t.forwardRef((({className:e,...t},n)=>s.default.createElement(fo,{className:no("lb-emoji",e),...t,ref:n})));function po(e,t,n){return 1===e?t:n??`${t}s`}const mo={locale:"en",dir:"ltr",USER_SELF:"you",USER_UNKNOWN:"Anonymous",LIST_REMAINING:e=>`${e} more`,LIST_REMAINING_USERS:e=>`${e} ${po(e,"other")}`,LIST_REMAINING_COMMENTS:e=>`${e} more ${po(e,"comment")}`,EMOJI_PICKER_SEARCH_PLACEHOLDER:"Search…",EMOJI_PICKER_EMPTY:"No emoji found.",EMOJI_PICKER_ERROR:()=>"There was an error while getting the list of emoji.",ATTACHMENT_TOO_LARGE:e=>e?`The file is larger than ${e}`:"The file is too large",ATTACHMENT_ERROR:()=>"The file couldn’t be uploaded.",COMPOSER_INSERT_MENTION:"Mention someone",COMPOSER_INSERT_EMOJI:"Add emoji",COMPOSER_ATTACH_FILES:"Attach files",COMPOSER_REMOVE_ATTACHMENT:"Remove attachment",COMPOSER_PLACEHOLDER:"Write a comment…",COMPOSER_SEND:"Send",COMMENT_EDITED:"(edited)",COMMENT_DELETED:"This comment has been deleted.",COMMENT_MORE:"More",COMMENT_EDIT:"Edit comment",COMMENT_EDIT_COMPOSER_PLACEHOLDER:"Edit comment…",COMMENT_EDIT_COMPOSER_CANCEL:"Cancel",COMMENT_EDIT_COMPOSER_SAVE:"Save",COMMENT_DELETE:"Delete comment",COMMENT_DELETE_ATTACHMENT:"Delete attachment",COMMENT_ADD_REACTION:"Add reaction",COMMENT_REACTION_LIST:(e,t)=>i.createElement(i.Fragment,null,e," reacted with ",i.createElement(ho,{emoji:t})),COMMENT_REACTION_DESCRIPTION:(e,t)=>`${t} ${po(t,"reaction")}, react with ${e}`,THREAD_RESOLVE:"Resolve thread",THREAD_UNRESOLVE:"Re-open thread",THREAD_NEW_INDICATOR:"New",THREAD_NEW_INDICATOR_DESCRIPTION:"New comments",THREAD_COMPOSER_PLACEHOLDER:"Reply to thread…",THREAD_COMPOSER_SEND:"Reply",INBOX_NOTIFICATION_MORE:"More",INBOX_NOTIFICATION_MARK_AS_READ:"Mark as read",INBOX_NOTIFICATION_DELETE:"Delete notification",INBOX_NOTIFICATION_THREAD_COMMENTS_LIST:(e,t)=>i.createElement(i.Fragment,null,e," commented",t?i.createElement(i.Fragment,null," in ",t):i.createElement(i.Fragment,null," in a thread")),INBOX_NOTIFICATION_THREAD_MENTION:(e,t)=>i.createElement(i.Fragment,null,e," mentioned you",t?i.createElement(i.Fragment,null," in ",t):null),INBOX_NOTIFICATION_TEXT_MENTION:(e,t)=>i.createElement(i.Fragment,null,e," mentioned you",t?i.createElement(i.Fragment,null," in ",t):null),HISTORY_VERSION_PREVIEW_AUTHORS_LIST:e=>i.createElement(i.Fragment,null,"Edits from ",e),HISTORY_VERSION_PREVIEW_RESTORE:"Restore",HISTORY_VERSION_PREVIEW_EMPTY:"No content.",HISTORY_VERSION_PREVIEW_ERROR:()=>"There was an error while getting this version."},vo=t.createContext(void 0);function go(e){const n=t.useContext(vo);return t.useMemo((()=>({...mo,...n,...e})),[n,e])}
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("react-dom"),require("lodash")):"function"==typeof define&&define.amd?define(["exports","react","react-dom","lodash"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).BuilderLiveblocks={},e.React,e.ReactDOM,e._)}(this,function(exports,React,ReactDOM,_$1){const global=window;function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var React__default=_interopDefaultLegacy(React),React__namespace=_interopNamespace(React),ReactDOM__namespace=_interopNamespace(ReactDOM),ReactDOM__default=_interopDefaultLegacy(ReactDOM),_$1__namespace=_interopNamespace(_$1),_$1__default=_interopDefaultLegacy(_$1),__defProp=Object.defineProperty,__export=(e,t)=>{for(var n in t)__defProp(e,n,{get:t[n],enumerable:!0})},PKG_NAME$2="@liveblocks/core",PKG_VERSION$2="2.15.1",PKG_FORMAT$2="esm",g="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==global?global:{},crossLinkedDocs="https://liveblocks.io/docs/errors/cross-linked",dupesDocs="https://liveblocks.io/docs/errors/dupes",SPACE$1=" ";function error(e){console.error(e)}function detectDupes(e,t,n){const o=Symbol.for(e),r=n?`${t||"dev"} (${n})`:t||"dev";if(g[o])if(g[o]===r);else{error([`Multiple copies of Liveblocks are being loaded in your project. This will cause issues! See ${dupesDocs+SPACE$1}`,"","Conflicts:",`- ${e} ${g[o]} (already loaded)`,`- ${e} ${r} (trying to load this now)`].join("\n"))}else g[o]=r;t&&PKG_VERSION$2&&t!==PKG_VERSION$2&&error([`Cross-linked versions of Liveblocks found, which will cause issues! See ${crossLinkedDocs+SPACE$1}`,"","Conflicts:",`- ${PKG_NAME$2} is at ${PKG_VERSION$2}`,`- ${e} is at ${t}`,"","Always upgrade all Liveblocks packages to the same version number."].join("\n"))}function convertToCommentData(e){const t=e.editedAt?new Date(e.editedAt):void 0,n=new Date(e.createdAt),o=e.reactions.map(e=>({...e,createdAt:new Date(e.createdAt)}));if(e.body)return{...e,reactions:o,createdAt:n,editedAt:t};{const r=new Date(e.deletedAt);return{...e,reactions:o,createdAt:n,editedAt:t,deletedAt:r}}}function convertToThreadData(e){const t=new Date(e.createdAt),n=new Date(e.updatedAt),o=e.comments.map(e=>convertToCommentData(e));return{...e,createdAt:t,updatedAt:n,comments:o}}function convertToCommentUserReaction(e){return{...e,createdAt:new Date(e.createdAt)}}function convertToInboxNotificationData(e){const t=new Date(e.notifiedAt),n=e.readAt?new Date(e.readAt):null;if("activities"in e){const o=e.activities.map(e=>({...e,createdAt:new Date(e.createdAt)}));return{...e,notifiedAt:t,readAt:n,activities:o}}return{...e,notifiedAt:t,readAt:n}}function convertToThreadDeleteInfo(e){const t=new Date(e.deletedAt);return{...e,deletedAt:t}}function convertToInboxNotificationDeleteInfo(e){const t=new Date(e.deletedAt);return{...e,deletedAt:t}}var fancy_console_exports={};__export(fancy_console_exports,{error:()=>error2,errorWithTitle:()=>errorWithTitle,warn:()=>warn$1,warnWithTitle:()=>warnWithTitle});var badge="background:#0e0d12;border-radius:9999px;color:#fff;padding:3px 7px;font-family:sans-serif;font-weight:600;",bold="font-weight:600";function wrap$1(e){return"undefined"==typeof window?console[e]:(t,...n)=>console[e]("%cLiveblocks",badge,t,...n)}var warn$1=wrap$1("warn"),error2=wrap$1("error");function wrapWithTitle(e){return"undefined"==typeof window?console[e]:(t,n,...o)=>console[e](`%cLiveblocks%c ${t}`,badge,bold,n,...o)}var warnWithTitle=wrapWithTitle("warn"),errorWithTitle=wrapWithTitle("error");function raise(e){throw new Error(e)}function isPlainObject$2(e){return null!==e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)}function entries(e){return Object.entries(e)}function tryParseJson(e){try{return JSON.parse(e)}catch(e){return}}function deepClone(e){return JSON.parse(JSON.stringify(e))}function b64decode(e){try{const t=e.replace(/-/g,"+").replace(/_/g,"/");return decodeURIComponent(atob(t).split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join(""))}catch(t){return atob(e)}}function compact(e){return e.filter(e=>null!=e)}function compactObject(e){const t={...e};return Object.keys(e).forEach(e=>{const n=e;void 0===t[n]&&delete t[n]}),t}function wait$1(e){return new Promise(t=>setTimeout(t,e))}async function withTimeout(e,t,n){let o;const r=new Promise((e,r)=>{o=setTimeout(()=>{r(new Error(n))},t)});return Promise.race([e,r]).finally(()=>clearTimeout(o))}function memoizeOnSuccess(e){let t=null;return()=>(null===t&&(t=e().catch(e=>{throw setTimeout(()=>{t=null},5e3),e})),t)}var HttpError=class extends Error{constructor(e,t,n){super(e),this.message=e,this.status=t,this.details=n}},DONT_RETRY_4XX=e=>e instanceof HttpError&&e.status>=400&&e.status<500;async function autoRetry(e,t,n,o=DONT_RETRY_4XX){const r=n.length>0?n[n.length-1]:0;let a=0;for(;;){a++;try{return await e()}catch(e){if(o(e))throw e;if(a>=t)throw new Error(`Failed after ${t} attempts: ${String(e)}`)}const i=n[a-1]??r;warn$1(`Attempt ${a} was unsuccessful. Retrying in ${i} milliseconds.`),await wait$1(i)}}function controlledPromise(){let e,t;return[new Promise((n,o)=>{e=n,t=o}),e,t]}function Promise_withResolvers(){const[e,t,n]=controlledPromise();return{promise:e,resolve:t,reject:n}}function makeEventSource(){const e=new Set;function t(t){return e.add(t),()=>e.delete(t)}function n(e){const n=t(t=>(n(),e(t)));return n}async function o(e){let n;return new Promise(o=>{n=t(t=>{(void 0===e||e(t))&&o(t)})}).finally(()=>n?.())}return{notify:function(t){e.forEach(e=>e(t))},subscribe:t,subscribeOnce:n,count:function(){return e.size},waitUntil:o,[Symbol.dispose]:()=>{e.clear()},observable:{subscribe:t,subscribeOnce:n,waitUntil:o}}}function makeBufferableEventSource(){const e=makeEventSource();let t=null;return{...e,notify:function(n){null!==t?t.push(n):e.notify(n)},pause:function(){t=[]},unpause:function(){if(null!==t){for(const n of t)e.notify(n);t=null}},[Symbol.dispose]:()=>{e[Symbol.dispose](),null!==t&&(t.length=0)}}}function stringify(e,...t){if("object"!=typeof e||null===e||Array.isArray(e))return JSON.stringify(e,...t);const n=Object.keys(e).sort().reduce((t,n)=>(t[n]=e[n],t),{});return JSON.stringify(n,...t)}var DEFAULT_SIZE=50,BatchCall=class{input;resolve;reject;promise;constructor(e){this.input=e;const{promise:t,resolve:n,reject:o}=Promise_withResolvers();this.promise=t,this.resolve=n,this.reject=o}},Batch=class{#e=[];#t;#n;#o;#r;error=!1;constructor(e,t){this.#t=e,this.#n=t.size??DEFAULT_SIZE,this.#o=t.delay}#a(){void 0!==this.#r&&(clearTimeout(this.#r),this.#r=void 0)}#i(){this.#e.length===this.#n?this.#s():1===this.#e.length&&(this.#a(),this.#r=setTimeout(()=>{this.#s()},this.#o))}async#s(){if(0===this.#e.length)return;const e=this.#e.splice(0),t=e.map(e=>e.input);try{const n=await this.#t(t);this.error=!1,e.forEach((t,o)=>{const r=n?.[o];Array.isArray(n)?e.length!==n.length?t.reject(new Error(`Callback must return an array of the same length as the number of provided items. Expected ${e.length}, but got ${n.length}.`)):r instanceof Error?t.reject(r):t.resolve(r):t.reject(new Error("Callback must return an array."))})}catch(t){this.error=!0,e.forEach(e=>{e.reject(t)})}}get(e){const t=this.#e.find(t=>stringify(t.input)===stringify(e));if(t)return t.promise;const n=new BatchCall(e);return this.#e.push(n),this.#i(),n.promise}clear(){this.#e=[],this.error=!1,this.#a()}};function createBatchStore(e){const t=new Map,n=makeEventSource();function o(e){return stringify(e)}function r(e,o){t.set(e,o),n.notify()}return{...n.observable,get:async function(n){const a=o(n);if(!t.has(a))try{r(a,{isLoading:!0});r(a,{isLoading:!1,data:await e.get(n)})}catch(e){r(a,{isLoading:!1,error:e})}},getState:function(e){const n=o(e);return t.get(n)},invalidate:function(e){if(Array.isArray(e))for(const n of e)t.delete(o(n));else t.clear();n.notify()},getBatch:function(){return e},_cacheKeys:function(){return[...t.keys()]}}}function chunk(e,t){const n=[];for(let o=0,r=e.length;o<r;o+=t)n.push(e.slice(o,o+t));return n}var nanoid=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((e,t)=>e+((t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t<63?"_":"-"),""),THREAD_ID_PREFIX="th",COMMENT_ID_PREFIX="cm",COMMENT_ATTACHMENT_ID_PREFIX="at";function createOptimisticId(e){return`${e}_${nanoid()}`}function createThreadId(){return createOptimisticId(THREAD_ID_PREFIX)}function createCommentId(){return createOptimisticId(COMMENT_ID_PREFIX)}function createCommentAttachmentId(){return createOptimisticId(COMMENT_ATTACHMENT_ID_PREFIX)}var identifierRegex=/^[a-zA-Z_][a-zA-Z0-9_]*$/;function objectToQuery(e){let t=[];const n=Object.entries(e),o=[],r=[],a=[];return n.forEach(([e,t])=>{if(!identifierRegex.test(e))throw new Error("Key must only contain letters, numbers, _");isSimpleValue(t)?o.push([e,t]):isValueWithOperator(t)?r.push([e,t]):"object"!=typeof t||"startsWith"in t||a.push([e,t])}),t=[...getFiltersFromKeyValuePairs(o),...getFiltersFromKeyValuePairsWithOperator(r)],a.forEach(([e,n])=>{const o=Object.entries(n),r=[],a=[];o.forEach(([t,n])=>{if(isStringEmpty(t))throw new Error("Key cannot be empty");isSimpleValue(n)?r.push([formatFilterKey(e,t),n]):isValueWithOperator(n)&&a.push([formatFilterKey(e,t),n])}),t=[...t,...getFiltersFromKeyValuePairs(r),...getFiltersFromKeyValuePairsWithOperator(a)]}),t.map(({key:e,operator:t,value:n})=>formatFilter(e,t,formatFilterValue(n))).join(" AND ")}var getFiltersFromKeyValuePairs=e=>{const t=[];return e.forEach(([e,n])=>{t.push({key:e,operator:":",value:n})}),t},getFiltersFromKeyValuePairsWithOperator=e=>{const t=[];return e.forEach(([e,n])=>{"startsWith"in n&&"string"==typeof n.startsWith&&t.push({key:e,operator:"^",value:n.startsWith})}),t},isSimpleValue=e=>"string"==typeof e||"number"==typeof e||"boolean"==typeof e,isValueWithOperator=e=>"object"==typeof e&&null!==e&&"startsWith"in e,formatFilter=(e,t,n)=>`${e}${t}${n}`,formatFilterKey=(e,t)=>t?`${e}[${JSON.stringify(t)}]`:e,formatFilterValue=e=>{if("string"==typeof e){if(isStringEmpty(e))throw new Error("Value cannot be empty");return JSON.stringify(e)}return e.toString()},isStringEmpty=e=>!e||""===e.toString().trim();function toURLSearchParams(e){const t=new URLSearchParams;for(const[n,o]of Object.entries(e))null!=o&&t.set(n,o.toString());return t}function urljoin(e,t,n){const o=new URL(t,e);return void 0!==n&&(o.search=(n instanceof URLSearchParams?n:toURLSearchParams(n)).toString()),o.toString()}function url(e,...t){return e.reduce((e,n,o)=>e+encodeURIComponent(t[o-1]??"")+n)}function createApiClient({baseUrl:e,authManager:t,fetchPolyfill:n}){const o=new HttpClient(e,n);const r=new Map;function a(e){let n=r.get(e);if(void 0===n){n=createBatchStore(new Batch(async n=>{const r=n.flat(),{urls:a}=await o.post(url`/v2/c/rooms/${e}/attachments/presigned-urls`,await t.getAuthValue({requestedScope:"comments:read",roomId:e}),{attachmentIds:r});return a.map(e=>e??new Error("There was an error while getting this attachment's URL"))},{delay:50})),r.set(e,n)}return n}const i=new Map;const s=new Batch(async e=>{const n=e.flat();return await async function(e){await o.post(url`/v2/c/inbox-notifications/read`,await t.getAuthValue({requestedScope:"comments:read"}),{inboxNotificationIds:e})}(n),n},{delay:50});return{getThreads:async function(e){let n;e.query&&(n=objectToQuery(e.query));try{const r=await o.get(url`/v2/c/rooms/${e.roomId}/threads`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}),{cursor:e.cursor,query:n,limit:50});return{threads:r.data.map(convertToThreadData),inboxNotifications:r.inboxNotifications.map(convertToInboxNotificationData),nextCursor:r.meta.nextCursor,requestedAt:new Date(r.meta.requestedAt),permissionHints:r.meta.permissionHints}}catch(e){if(e instanceof HttpError&&404===e.status)return{threads:[],inboxNotifications:[],nextCursor:null,requestedAt:new Date(Date.now()-216e5),permissionHints:{}};throw e}},getThreadsSince:async function(e){const n=await o.get(url`/v2/c/rooms/${e.roomId}/threads/delta`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}),{since:e.since.toISOString()},{signal:e.signal});return{threads:{updated:n.data.map(convertToThreadData),deleted:n.deletedThreads.map(convertToThreadDeleteInfo)},inboxNotifications:{updated:n.inboxNotifications.map(convertToInboxNotificationData),deleted:n.deletedInboxNotifications.map(convertToInboxNotificationDeleteInfo)},requestedAt:new Date(n.meta.requestedAt),permissionHints:n.meta.permissionHints}},createThread:async function(e){const n=e.commentId??createCommentId(),r=e.threadId??createThreadId();return convertToThreadData(await o.post(url`/v2/c/rooms/${e.roomId}/threads`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}),{id:r,comment:{id:n,body:e.body,attachmentIds:e.attachmentIds},metadata:e.metadata}))},getThread:async function(e){const n=await o.rawGet(url`/v2/c/rooms/${e.roomId}/thread-with-notification/${e.threadId}`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}));if(n.ok){const e=await n.json();return{thread:convertToThreadData(e.thread),inboxNotification:e.inboxNotification?convertToInboxNotificationData(e.inboxNotification):void 0}}if(404===n.status)return{thread:void 0,inboxNotification:void 0};throw new Error(`There was an error while getting thread ${e.threadId}.`)},deleteThread:async function(e){await o.delete(url`/v2/c/rooms/${e.roomId}/threads/${e.threadId}`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}))},editThreadMetadata:async function(e){return await o.post(url`/v2/c/rooms/${e.roomId}/threads/${e.threadId}/metadata`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}),e.metadata)},createComment:async function(e){const n=e.commentId??createCommentId();return convertToCommentData(await o.post(url`/v2/c/rooms/${e.roomId}/threads/${e.threadId}/comments`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}),{id:n,body:e.body,attachmentIds:e.attachmentIds}))},editComment:async function(e){return convertToCommentData(await o.post(url`/v2/c/rooms/${e.roomId}/threads/${e.threadId}/comments/${e.commentId}`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}),{body:e.body,attachmentIds:e.attachmentIds}))},deleteComment:async function(e){await o.delete(url`/v2/c/rooms/${e.roomId}/threads/${e.threadId}/comments/${e.commentId}`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}))},addReaction:async function(e){return convertToCommentUserReaction(await o.post(url`/v2/c/rooms/${e.roomId}/threads/${e.threadId}/comments/${e.commentId}/reactions`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}),{emoji:e.emoji}))},removeReaction:async function(e){await o.delete(url`/v2/c/rooms/${e.roomId}/threads/${e.threadId}/comments/${e.commentId}/reactions/${e.emoji}`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}))},markThreadAsResolved:async function(e){await o.post(url`/v2/c/rooms/${e.roomId}/threads/${e.threadId}/mark-as-resolved`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}))},markThreadAsUnresolved:async function(e){await o.post(url`/v2/c/rooms/${e.roomId}/threads/${e.threadId}/mark-as-unresolved`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}))},markRoomInboxNotificationAsRead:async function(e){return function(e){let n=i.get(e);return void 0===n&&(n=new Batch(async n=>{const r=n.flat();return await o.post(url`/v2/c/rooms/${e}/inbox-notifications/read`,await t.getAuthValue({requestedScope:"comments:read",roomId:e}),{inboxNotificationIds:r}),r},{delay:50}),i.set(e,n)),n}(e.roomId).get(e.inboxNotificationId)},updateNotificationSettings:async function(e){return o.post(url`/v2/c/rooms/${e.roomId}/notification-settings`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}),e.settings)},getNotificationSettings:async function(e){return o.get(url`/v2/c/rooms/${e.roomId}/notification-settings`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}),void 0,{signal:e.signal})},createTextMention:async function(e){await o.rawPost(url`/v2/c/rooms/${e.roomId}/text-mentions`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}),{userId:e.userId,mentionId:e.mentionId})},deleteTextMention:async function(e){await o.rawDelete(url`/v2/c/rooms/${e.roomId}/text-mentions/${e.mentionId}`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}))},getTextVersion:async function(e){return o.rawGet(url`/v2/c/rooms/${e.roomId}/y-version/${e.versionId}`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}))},createTextVersion:async function(e){await o.rawPost(url`/v2/c/rooms/${e.roomId}/version`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}))},reportTextEditor:async function(e){await o.rawPost(url`/v2/c/rooms/${e.roomId}/text-metadata`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}),{type:e.type,rootKey:e.rootKey})},listTextVersions:async function(e){const n=await o.get(url`/v2/c/rooms/${e.roomId}/versions`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}));return{versions:n.versions.map(({createdAt:e,...t})=>({createdAt:new Date(e),...t})),requestedAt:new Date(n.meta.requestedAt)}},listTextVersionsSince:async function(e){const n=await o.get(url`/v2/c/rooms/${e.roomId}/versions/delta`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}),{since:e.since.toISOString()},{signal:e.signal});return{versions:n.versions.map(({createdAt:e,...t})=>({createdAt:new Date(e),...t})),requestedAt:new Date(n.meta.requestedAt)}},getAttachmentUrl:function(e){return a(e.roomId).getBatch().get(e.attachmentId)},uploadAttachment:async function(e){const n=e.roomId,r=e.signal,a=e.attachment,i=r?new DOMException(`Upload of attachment ${e.attachment.id} was aborted.`,"AbortError"):void 0;if(r?.aborted)throw i;const s=e=>{if(r?.aborted)throw i;if(e instanceof HttpError&&413===e.status)throw e;return!1},l=5242880,c=[2e3,2e3,2e3,2e3,2e3,2e3,2e3,2e3,2e3,2e3];if(a.size<=l)return autoRetry(async()=>o.putBlob(url`/v2/c/rooms/${n}/attachments/${a.id}/upload/${encodeURIComponent(a.name)}`,await t.getAuthValue({requestedScope:"comments:read",roomId:n}),a.file,{fileSize:a.size},{signal:r}),10,c,s);{let e;const d=[],u=await autoRetry(async()=>o.post(url`/v2/c/rooms/${n}/attachments/${a.id}/multipart/${encodeURIComponent(a.name)}`,await t.getAuthValue({requestedScope:"comments:read",roomId:n}),void 0,{signal:r},{fileSize:a.size}),10,c,s);try{e=u.uploadId;const f=function(e){const t=[];let n=0;for(;n<e.size;){const o=Math.min(n+l,e.size);t.push({partNumber:t.length+1,part:e.slice(n,o)}),n=o}return t}(a.file);if(r?.aborted)throw i;const p=chunk(f,5);for(const e of p){const i=[];for(const{part:l,partNumber:d}of e)i.push(autoRetry(async()=>o.putBlob(url`/v2/c/rooms/${n}/attachments/${a.id}/multipart/${u.uploadId}/${String(d)}`,await t.getAuthValue({requestedScope:"comments:read",roomId:n}),l,void 0,{signal:r}),10,c,s));d.push(...await Promise.all(i))}if(r?.aborted)throw i;const _=d.sort((e,t)=>e.partNumber-t.partNumber);return o.post(url`/v2/c/rooms/${n}/attachments/${a.id}/multipart/${e}/complete`,await t.getAuthValue({requestedScope:"comments:read",roomId:n}),{parts:_},{signal:r})}catch(r){if(e&&r?.name&&("AbortError"===r.name||"TimeoutError"===r.name))try{await o.rawDelete(url`/v2/c/rooms/${n}/attachments/${a.id}/multipart/${e}`,await t.getAuthValue({requestedScope:"comments:read",roomId:n}))}catch(e){}throw r}}},getOrCreateAttachmentUrlsStore:a,streamStorage:async function(e){const n=await o.rawGet(url`/v2/c/rooms/${e.roomId}/storage`,await t.getAuthValue({requestedScope:"room:read",roomId:e.roomId}));return await n.json()},sendMessages:async function(e){return o.rawPost(url`/v2/c/rooms/${e.roomId}/send-message`,await t.getAuthValue({requestedScope:"room:read",roomId:e.roomId}),{nonce:e.nonce,messages:e.messages})},getInboxNotifications:async function(e){const n=await o.get(url`/v2/c/inbox-notifications`,await t.getAuthValue({requestedScope:"comments:read"}),{cursor:e?.cursor,limit:50});return{inboxNotifications:n.inboxNotifications.map(convertToInboxNotificationData),threads:n.threads.map(convertToThreadData),nextCursor:n.meta.nextCursor,requestedAt:new Date(n.meta.requestedAt)}},getInboxNotificationsSince:async function(e){const n=await o.get(url`/v2/c/inbox-notifications/delta`,await t.getAuthValue({requestedScope:"comments:read"}),{since:e.since.toISOString()},{signal:e.signal});return{inboxNotifications:{updated:n.inboxNotifications.map(convertToInboxNotificationData),deleted:n.deletedInboxNotifications.map(convertToInboxNotificationDeleteInfo)},threads:{updated:n.threads.map(convertToThreadData),deleted:n.deletedThreads.map(convertToThreadDeleteInfo)},requestedAt:new Date(n.meta.requestedAt)}},getUnreadInboxNotificationsCount:async function(){const{count:e}=await o.get(url`/v2/c/inbox-notifications/count`,await t.getAuthValue({requestedScope:"comments:read"}));return e},markAllInboxNotificationsAsRead:async function(){await o.post(url`/v2/c/inbox-notifications/read`,await t.getAuthValue({requestedScope:"comments:read"}),{inboxNotificationIds:"all"})},markInboxNotificationAsRead:async function(e){await s.get(e)},deleteAllInboxNotifications:async function(){await o.delete(url`/v2/c/inbox-notifications`,await t.getAuthValue({requestedScope:"comments:read"}))},deleteInboxNotification:async function(e){await o.delete(url`/v2/c/inbox-notifications/${e}`,await t.getAuthValue({requestedScope:"comments:read"}))},getUserThreads_experimental:async function(e){let n;e?.query&&(n=objectToQuery(e.query));const r=await o.get(url`/v2/c/threads`,await t.getAuthValue({requestedScope:"comments:read"}),{cursor:e?.cursor,query:n,limit:50});return{threads:r.threads.map(convertToThreadData),inboxNotifications:r.inboxNotifications.map(convertToInboxNotificationData),nextCursor:r.meta.nextCursor,requestedAt:new Date(r.meta.requestedAt),permissionHints:r.meta.permissionHints}},getUserThreadsSince_experimental:async function(e){const n=await o.get(url`/v2/c/threads/delta`,await t.getAuthValue({requestedScope:"comments:read"}),{since:e.since.toISOString()},{signal:e.signal});return{threads:{updated:n.threads.map(convertToThreadData),deleted:n.deletedThreads.map(convertToThreadDeleteInfo)},inboxNotifications:{updated:n.inboxNotifications.map(convertToInboxNotificationData),deleted:n.deletedInboxNotifications.map(convertToInboxNotificationDeleteInfo)},requestedAt:new Date(n.meta.requestedAt),permissionHints:n.meta.permissionHints}}}}function getBearerTokenFromAuthValue(e){return"public"===e.type?e.publicApiKey:e.token.raw}var HttpClient=class{#l;#c;constructor(e,t){this.#l=e,this.#c=t}async#d(e,t,n,o){e.startsWith("/v2/c/")||raise("This client can only be used to make /v2/c/* requests");const r=urljoin(this.#l,e,o);return await this.#c(r,{...n,headers:{"Content-Type":"application/json; charset=utf-8",...n?.headers,Authorization:`Bearer ${getBearerTokenFromAuthValue(t)}`,"X-LB-Client":PKG_VERSION$2}})}async#u(e,t,n,o){const r=await this.#d(e,t,n,o);if(!r.ok){let e;try{const t=await r.json();e=new HttpError(t.message,r.status,t)}catch{e=new HttpError(r.statusText,r.status)}throw e}let a;try{a=await r.json()}catch{a={}}return a}async rawGet(e,t,n,o){return await this.#d(e,t,o,n)}async rawPost(e,t,n){return await this.#d(e,t,{method:"POST",body:JSON.stringify(n)})}async rawDelete(e,t){return await this.#d(e,t,{method:"DELETE"})}async get(e,t,n,o){return await this.#u(e,t,o,n)}async post(e,t,n,o,r){return await this.#u(e,t,{...o,method:"POST",body:JSON.stringify(n)},r)}async delete(e,t){return await this.#u(e,t,{method:"DELETE"})}async putBlob(e,t,n,o,r){return await this.#u(e,t,{...r,method:"PUT",headers:{"Content-Type":"application/octet-stream"},body:n},o)}};function assertNever(e,t){throw new Error(t)}function assert(e,t){}function nn(e,t="Expected value to be non-nullable"){return e}function distance(e,t){if(e===t)return[0,0];const n=e.split("."),o=t.split("."),r=Math.min(n.length,o.length);let a=0;for(;a<r&&n[a]===o[a];a++);return[n.length-a,o.length-a]}function patterns(e,t){const n=e.split(".");if(t<1||t>n.length+1)throw new Error("Invalid number of levels");const o=[];t>n.length&&o.push("*");for(let e=n.length-t+1;e<n.length;e++){const t=n.slice(0,e);t.length>0&&o.push(t.join(".")+".*")}return o.push(e),o}var SafeContext=class{#f;constructor(e){this.#f=e}get current(){return this.#f}allowPatching(e){const t=this;let n=!0;e({...this.#f,patch(e){if(!n)throw new Error("Can no longer patch stale context");t.#f=Object.assign({},t.#f,e);for(const t of Object.entries(e)){const[e,n]=t;"patch"!==e&&(this[e]=n)}}}),n=!1}},nextId=1,FSM=class{id;#p;#_;#m;#h;#g;#b;events;#v;#y;#E;get#w(){const e=this.#m.values()[Symbol.iterator]().next();if(e.done)throw new Error("No states defined yet");return e.value}get currentState(){if(null===this.#h)throw 0===this.#p?new Error("Not started yet"):new Error("Already stopped");return this.#h}start(){if(0!==this.#p)throw new Error("State machine has already started");return this.#p=1,this.#h=this.#w,this.#C(null),this}stop(){if(1!==this.#p)throw new Error("Cannot stop a state machine that hasn't started yet");this.#x(null),this.#p=2,this.#h=null}constructor(e){this.id=nextId++,this.#p=0,this.#h=null,this.#m=new Set,this.#y=new Map,this.#v=[],this.#E=new Set,this.#g=new Map,this.#_=new SafeContext(e),this.#b={didReceiveEvent:makeEventSource(),willTransition:makeEventSource(),didIgnoreEvent:makeEventSource(),willExitState:makeEventSource(),didEnterState:makeEventSource()},this.events={didReceiveEvent:this.#b.didReceiveEvent.observable,willTransition:this.#b.willTransition.observable,didIgnoreEvent:this.#b.didIgnoreEvent.observable,willExitState:this.#b.willExitState.observable,didEnterState:this.#b.didEnterState.observable}}get context(){return this.#_.current}addState(e){if(0!==this.#p)throw new Error("Already started");return this.#m.add(e),this}onEnter(e,t){if(0!==this.#p)throw new Error("Already started");if(this.#y.has(e))throw new Error(`enter/exit function for ${e} already exists`);return this.#y.set(e,t),this}onEnterAsync(e,t,n,o,r){return this.onEnter(e,()=>{const e=new AbortController,a=e.signal,i=r?setTimeout(()=>{const e=new Error("Timed out");this.#R({type:"ASYNC_ERROR",reason:e},o)},r):void 0;let s=!1;return t(this.#_.current,a).then(e=>{a.aborted||(s=!0,this.#R({type:"ASYNC_OK",data:e},n))},e=>{a.aborted||(s=!0,this.#R({type:"ASYNC_ERROR",reason:e},o))}),()=>{clearTimeout(i),s||e.abort()}})}#S(e){const t=[];if("*"===e)for(const e of this.#m)t.push(e);else if(e.endsWith(".*")){const n=e.slice(0,-1);for(const e of this.#m)e.startsWith(n)&&t.push(e)}else{const n=e;this.#m.has(n)&&t.push(n)}if(0===t.length)throw new Error(`No states match ${JSON.stringify(e)}`);return t}addTransitions(e,t){if(0!==this.#p)throw new Error("Already started");for(const n of this.#S(e)){let o=this.#g.get(n);void 0===o&&(o=new Map,this.#g.set(n,o));for(const[r,a]of Object.entries(t)){if(o.has(r))throw new Error(`Trying to set transition "${r}" on "${n}" (via "${e}"), but a transition already exists there.`);const t=a;if(this.#E.add(r),void 0!==t){const e="function"==typeof t?t:()=>t;o.set(r,e)}}}return this}addTimedTransition(e,t,n){return this.onEnter(e,()=>{const e="function"==typeof t?t(this.#_.current):t,o=setTimeout(()=>{this.#R({type:"TIMER"},n)},e);return()=>{clearTimeout(o)}})}#D(e){return this.#g.get(this.currentState)?.get(e)}#x(e){this.#b.willExitState.notify(this.currentState),this.#_.allowPatching(t=>{e=e??this.#v.length;for(let n=0;n<e;n++)this.#v.pop()?.(t)})}#C(e){const t=patterns(this.currentState,e??this.currentState.split(".").length+1);this.#_.allowPatching(e=>{for(const n of t){const t=this.#y.get(n),o=t?.(e);"function"==typeof o?this.#v.push(o):this.#v.push(null)}}),this.#b.didEnterState.notify(this.currentState)}send(e){if(!this.#E.has(e.type))throw new Error(`Invalid event ${JSON.stringify(e.type)}`);if(2===this.#p)return;const t=this.#D(e.type);if(void 0!==t)return this.#R(e,t);this.#b.didIgnoreEvent.notify(e)}#R(e,t){this.#b.didReceiveEvent.notify(e);const n=this.currentState,o=("function"==typeof t?t:()=>t)(e,this.#_.current);let r,a;if(null===o)return void this.#b.didIgnoreEvent.notify(e);if("string"==typeof o?r=o:(r=o.target,a=Array.isArray(o.effect)?o.effect:[o.effect]),!this.#m.has(r))throw new Error(`Invalid next state name: ${JSON.stringify(r)}`);this.#b.willTransition.notify({from:n,to:r});const[i,s]=distance(this.currentState,r);if(i>0&&this.#x(i),this.#h=r,void 0!==a){const t=a;this.#_.allowPatching(n=>{for(const o of t)"function"==typeof o?o(n,e):n.patch(o)})}s>0&&this.#C(s)}},ServerMsgCode=(e=>(e[e.UPDATE_PRESENCE=100]="UPDATE_PRESENCE",e[e.USER_JOINED=101]="USER_JOINED",e[e.USER_LEFT=102]="USER_LEFT",e[e.BROADCASTED_EVENT=103]="BROADCASTED_EVENT",e[e.ROOM_STATE=104]="ROOM_STATE",e[e.INITIAL_STORAGE_STATE=200]="INITIAL_STORAGE_STATE",e[e.UPDATE_STORAGE=201]="UPDATE_STORAGE",e[e.REJECT_STORAGE_OP=299]="REJECT_STORAGE_OP",e[e.UPDATE_YDOC=300]="UPDATE_YDOC",e[e.THREAD_CREATED=400]="THREAD_CREATED",e[e.THREAD_DELETED=407]="THREAD_DELETED",e[e.THREAD_METADATA_UPDATED=401]="THREAD_METADATA_UPDATED",e[e.THREAD_UPDATED=408]="THREAD_UPDATED",e[e.COMMENT_CREATED=402]="COMMENT_CREATED",e[e.COMMENT_EDITED=403]="COMMENT_EDITED",e[e.COMMENT_DELETED=404]="COMMENT_DELETED",e[e.COMMENT_REACTION_ADDED=405]="COMMENT_REACTION_ADDED",e[e.COMMENT_REACTION_REMOVED=406]="COMMENT_REACTION_REMOVED",e))(ServerMsgCode||{});function shouldDisconnect(e){return 4999===e||e>=4e3&&e<4100}function shouldReauth(e){return e>=4100&&e<4200}function shouldRetryWithoutReauth(e){return 1013===e||e>=4200&&e<4300}function isIdle(e){return"initial"===e||"disconnected"===e}function toNewConnectionStatus(e){const t=e.currentState;switch(t){case"@ok.connected":case"@ok.awaiting-pong":return"connected";case"@idle.initial":return"initial";case"@auth.busy":case"@auth.backoff":case"@connecting.busy":case"@connecting.backoff":case"@idle.zombie":return e.context.successCount>0?"reconnecting":"connecting";case"@idle.failed":return"disconnected";default:return assertNever(t,"Unknown state")}}var BACKOFF_DELAYS=[250,500,1e3,2e3,4e3,8e3,1e4],RESET_DELAY=BACKOFF_DELAYS[0]-1,BACKOFF_DELAYS_SLOW=[2e3,3e4,6e4,3e5],HEARTBEAT_INTERVAL=3e4,PONG_TIMEOUT=2e3,AUTH_TIMEOUT=1e4,SOCKET_CONNECT_TIMEOUT=1e4,StopRetrying=class extends Error{constructor(e){super(e)}},LiveblocksError=class extends Error{constructor(e,t){super(e),this.code=t}};function nextBackoffDelay(e,t){return t.find(t=>t>e)??t[t.length-1]}function increaseBackoffDelay(e){e.patch({backoffDelay:nextBackoffDelay(e.backoffDelay,BACKOFF_DELAYS)})}function increaseBackoffDelayAggressively(e){e.patch({backoffDelay:nextBackoffDelay(e.backoffDelay,BACKOFF_DELAYS_SLOW)})}function resetSuccessCount(e){e.patch({successCount:0})}function log(e,t){const n=2===e?error2:1===e?warn$1:()=>{};return()=>{n(t)}}function logPrematureErrorOrCloseEvent(e){const t="Connection to Liveblocks websocket server";return n=>{e instanceof Error?warn$1(`${t} could not be established. ${String(e)}`):warn$1(isCloseEvent(e)?`${t} closed prematurely (code: ${e.code}). Retrying in ${n.backoffDelay}ms.`:`${t} could not be established.`)}}function logCloseEvent(e){const t=[`code: ${e.code}`];return e.reason&&t.push(`reason: ${e.reason}`),e=>{warn$1(`Connection to Liveblocks websocket server closed (${t.join(", ")}). Retrying in ${e.backoffDelay}ms.`)}}var logPermanentClose=log(1,"Connection to WebSocket closed permanently. Won't retry.");function isCloseEvent(e){return!(e instanceof Error)&&"close"===e.type}function enableTracing(e){const t=(new Date).getTime();function n(...n){warn$1(`${(((new Date).getTime()-t)/1e3).toFixed(2)} [FSM #${e.id}]`,...n)}const o=[e.events.didReceiveEvent.subscribe(e=>n(`Event ${e.type}`)),e.events.willTransition.subscribe(({from:e,to:t})=>n("Transitioning",e,"→",t)),e.events.didIgnoreEvent.subscribe(e=>n("Ignored event",e.type,e,"(current state won't handle it)"))];return()=>{for(const e of o)e()}}function defineConnectivityEvents(e){const t=makeEventSource(),n=makeEventSource(),o=makeEventSource();let r=null;const a=e.events.didEnterState.subscribe(()=>{const a=toNewConnectionStatus(e);a!==r&&t.notify(a),"connected"===r&&"connected"!==a?o.notify():"connected"!==r&&"connected"===a&&n.notify(),r=a});return{statusDidChange:t.observable,didConnect:n.observable,didDisconnect:o.observable,unsubscribe:a}}var assign=e=>t=>t.patch(e);function createConnectionStateMachine(e,t){const n=makeBufferableEventSource();n.pause();const o=makeEventSource();function r(e,t){return()=>{const n=new LiveblocksError(e,t);o.notify(n)}}const a=new FSM({successCount:0,authValue:null,socket:null,backoffDelay:RESET_DELAY}).addState("@idle.initial").addState("@idle.failed").addState("@idle.zombie").addState("@auth.busy").addState("@auth.backoff").addState("@connecting.busy").addState("@connecting.backoff").addState("@ok.connected").addState("@ok.awaiting-pong");a.addTransitions("*",{RECONNECT:{target:"@auth.backoff",effect:[increaseBackoffDelay,resetSuccessCount]},DISCONNECT:"@idle.initial"}),a.onEnter("@idle.*",resetSuccessCount).addTransitions("@idle.*",{CONNECT:(e,t)=>null!==t.authValue?"@connecting.busy":"@auth.busy"}),a.addTransitions("@auth.backoff",{NAVIGATOR_ONLINE:{target:"@auth.busy",effect:assign({backoffDelay:RESET_DELAY})}}).addTimedTransition("@auth.backoff",e=>e.backoffDelay,"@auth.busy").onEnterAsync("@auth.busy",()=>withTimeout(e.authenticate(),AUTH_TIMEOUT,"Timed out during auth"),e=>({target:"@connecting.busy",effect:assign({authValue:e.data})}),e=>e.reason instanceof StopRetrying?{target:"@idle.failed",effect:[log(2,e.reason.message),r(e.reason.message,-1)]}:{target:"@auth.backoff",effect:[increaseBackoffDelay,log(2,`Authentication failed: ${e.reason instanceof Error?e.reason.message:String(e.reason)}`)]});const i=e=>a.send({type:"EXPLICIT_SOCKET_ERROR",event:e}),s=e=>a.send({type:"EXPLICIT_SOCKET_CLOSE",event:e}),l=e=>"pong"===e.data?a.send({type:"PONG"}):n.notify(e);function c(e){e&&(e.removeEventListener("error",i),e.removeEventListener("close",s),e.removeEventListener("message",l),e.close())}a.addTransitions("@connecting.backoff",{NAVIGATOR_ONLINE:{target:"@connecting.busy",effect:assign({backoffDelay:RESET_DELAY})}}).addTimedTransition("@connecting.backoff",e=>e.backoffDelay,"@connecting.busy").onEnterAsync("@connecting.busy",async(n,o)=>{let r=null,a=null;return withTimeout(new Promise((o,c)=>{if(null===n.authValue)throw new Error("No auth authValue");const d=e.createSocket(n.authValue);function u(e){r=e,d.removeEventListener("message",l),c(e)}a=d;const[f,p]=controlledPromise();function _(e){const t=tryParseJson(e.data);104===t?.type&&p()}t.waitForActorId||p(),d.addEventListener("message",l),t.waitForActorId&&d.addEventListener("message",_),d.addEventListener("error",u),d.addEventListener("close",u),d.addEventListener("open",()=>{d.addEventListener("error",i),d.addEventListener("close",s);const e=()=>{d.removeEventListener("error",u),d.removeEventListener("close",u),d.removeEventListener("message",_)};f.then(()=>{o([d,e])})})}),SOCKET_CONNECT_TIMEOUT,"Timed out during websocket connection").then(([e,t])=>{if(t(),o.aborted)throw new Error("Aborted");if(r)throw r;return e}).catch(e=>{throw c(a),e})},e=>({target:"@ok.connected",effect:assign({socket:e.data,backoffDelay:RESET_DELAY})}),e=>{const t=e.reason;if(t instanceof StopRetrying)return{target:"@idle.failed",effect:[log(2,t.message),r(t.message,-1)]};if(isCloseEvent(t)){if(4109===t.code)return"@auth.busy";if(shouldRetryWithoutReauth(t.code))return{target:"@connecting.backoff",effect:[increaseBackoffDelayAggressively,logPrematureErrorOrCloseEvent(t)]};if(shouldDisconnect(t.code))return{target:"@idle.failed",effect:[log(2,t.reason),r(t.reason,t.code)]}}return{target:"@auth.backoff",effect:[increaseBackoffDelay,logPrematureErrorOrCloseEvent(t)]}});const d={target:"@ok.awaiting-pong",effect:e=>{e.socket?.send("ping")}},u=()=>{const t="undefined"!=typeof document?document:void 0;return"hidden"===t?.visibilityState&&e.canZombie()?"@idle.zombie":d};if(a.addTimedTransition("@ok.connected",HEARTBEAT_INTERVAL,u).addTransitions("@ok.connected",{NAVIGATOR_OFFLINE:u,WINDOW_GOT_FOCUS:d}),a.addTransitions("@idle.zombie",{WINDOW_GOT_FOCUS:"@connecting.backoff"}),a.onEnter("@ok.*",e=>{e.patch({successCount:e.successCount+1});const t=setTimeout(n.unpause,0);return e=>{c(e.socket),e.patch({socket:null}),clearTimeout(t),n.pause()}}).addTransitions("@ok.awaiting-pong",{PONG:"@ok.connected"}).addTimedTransition("@ok.awaiting-pong",PONG_TIMEOUT,{target:"@connecting.busy",effect:log(1,"Received no pong from server, assume implicit connection loss.")}).addTransitions("@ok.*",{EXPLICIT_SOCKET_ERROR:(e,t)=>1===t.socket?.readyState?null:{target:"@connecting.backoff",effect:increaseBackoffDelay},EXPLICIT_SOCKET_CLOSE:e=>shouldDisconnect(e.event.code)?{target:"@idle.failed",effect:[logPermanentClose,r(e.event.reason,e.event.code)]}:shouldReauth(e.event.code)?4109===e.event.code?"@auth.busy":{target:"@auth.backoff",effect:[increaseBackoffDelay,logCloseEvent(e.event)]}:shouldRetryWithoutReauth(e.event.code)?{target:"@connecting.backoff",effect:[increaseBackoffDelayAggressively,logCloseEvent(e.event)]}:{target:"@connecting.backoff",effect:[increaseBackoffDelay,logCloseEvent(e.event)]}}),"undefined"!=typeof document){const e="undefined"!=typeof document?document:void 0,t="undefined"!=typeof window?window:void 0,n=t??e;a.onEnter("*",o=>{function r(){a.send({type:"NAVIGATOR_OFFLINE"})}function i(){a.send({type:"NAVIGATOR_ONLINE"})}function s(){"visible"===e?.visibilityState&&a.send({type:"WINDOW_GOT_FOCUS"})}return t?.addEventListener("online",i),t?.addEventListener("offline",r),n?.addEventListener("visibilitychange",s),()=>{n?.removeEventListener("visibilitychange",s),t?.removeEventListener("online",i),t?.removeEventListener("offline",r),c(o.socket)}})}const f=[],{statusDidChange:p,didConnect:_,didDisconnect:m,unsubscribe:h}=defineConnectivityEvents(a);return f.push(h),t.enableDebugLogging&&f.push(enableTracing(a)),a.start(),{machine:a,cleanups:f,events:{statusDidChange:p,didConnect:_,didDisconnect:m,onMessage:n.observable,onLiveblocksError:o.observable}}}var ManagedSocket=class{#T;#O;events;constructor(e,t=!1,n=!0){const{machine:o,events:r,cleanups:a}=createConnectionStateMachine(e,{waitForActorId:n,enableDebugLogging:t});this.#T=o,this.events=r,this.#O=a}getStatus(){try{return toNewConnectionStatus(this.#T)}catch{return"initial"}}get authValue(){return this.#T.context.authValue}connect(){this.#T.send({type:"CONNECT"})}reconnect(){this.#T.send({type:"RECONNECT"})}disconnect(){this.#T.send({type:"DISCONNECT"})}destroy(){let e;for(this.#T.stop();e=this.#O.pop();)e()}send(e){const t=this.#T.context?.socket;null===t?warn$1("Cannot send: not connected yet",e):1!==t.readyState?warn$1("Cannot send: WebSocket no longer open",e):t.send(e)}_privateSendMachineEvent(e){this.#T.send(e)}},Permission=(e=>(e.Read="room:read",e.Write="room:write",e.PresenceWrite="room:presence:write",e.CommentsWrite="comments:write",e.CommentsRead="comments:read",e))(Permission||{});function canWriteStorage(e){return e.includes("room:write")}function canComment(e){return e.includes("comments:write")||e.includes("room:write")}function isValidAuthTokenPayload(e){return isPlainObject$2(e)&&("acc"===e.k||"id"===e.k||"sec-legacy"===e.k)}function parseAuthToken(e){const t=e.split(".");if(3!==t.length)throw new Error("Authentication error: invalid JWT token");const n=tryParseJson(b64decode(t[1]));if(!n||!isValidAuthTokenPayload(n))throw new Error("Authentication error: expected a valid token but did not get one. Hint: if you are using a callback, ensure the room is passed when creating the token. For more information: https://liveblocks.io/docs/api-reference/liveblocks-client#createClientCallback");return{raw:e,parsed:n}}function createAuthManager(e,t){const n=prepareAuthentication(e),o=new Set,r=[],a=[],i=new Map;function s(e,t){return"comments:read"===e?t.includes("comments:read")||t.includes("comments:write")||t.includes("room:read")||t.includes("room:write"):"room:read"===e&&(t.includes("room:read")||t.includes("room:write"))}async function l(r){const a=e.polyfills?.fetch??("undefined"==typeof window?void 0:window.fetch);if("private"===n.type){if(void 0===a)throw new StopRetrying("To use Liveblocks client in a non-DOM environment with a url as auth endpoint, you need to provide a fetch polyfill.");const e=parseAuthToken((await fetchAuthEndpoint(a,n.url,{room:r.roomId})).token);if(o.has(e.raw))throw new StopRetrying("The same Liveblocks auth token was issued from the backend before. Caching Liveblocks tokens is not supported.");return t?.(e.parsed),e}if("custom"===n.type){const e=await n.callback(r.roomId);if(e&&"object"==typeof e){if("string"==typeof e.token){const n=parseAuthToken(e.token);return t?.(n.parsed),n}if("string"==typeof e.error){const t=`Authentication failed: ${"reason"in e&&"string"==typeof e.reason?e.reason:"Forbidden"}`;throw"forbidden"===e.error?new StopRetrying(t):new Error(t)}}throw new Error('Your authentication callback function should return a token, but it did not. Hint: the return value should look like: { token: "..." }')}throw new Error("Unexpected authentication type. Must be private or custom.")}return{reset:function(){o.clear(),r.length=0,a.length=0,i.clear()},getAuthValue:async function(e){if("public"===n.type)return{type:"public",publicApiKey:n.publicApiKey};const t=function(e){const t=Math.ceil(Date.now()/1e3);for(let n=r.length-1;n>=0;n--){const o=r[n];if(a[n]<=t)r.splice(n,1),a.splice(n,1);else{if("id"===o.parsed.k)return o;if("acc"===o.parsed.k){if(!e.roomId&&0===Object.entries(o.parsed.perms).length)return o;for(const[t,n]of Object.entries(o.parsed.perms))if(e.roomId){if(t.includes("*")&&e.roomId.startsWith(t.replace("*",""))||e.roomId===t&&s(e.requestedScope,n))return o}else if(t.includes("*")&&s(e.requestedScope,n))return o}}}}(e);if(void 0!==t)return{type:"secret",token:t};let c;e.roomId?(c=i.get(e.roomId),void 0===c&&(c=l(e),i.set(e.roomId,c))):(c=i.get("liveblocks-user-token"),void 0===c&&(c=l(e),i.set("liveblocks-user-token",c)));try{const e=await c,t=30,n=Math.floor(Date.now()/1e3)+(e.parsed.exp-e.parsed.iat)-t;return o.add(e.raw),"sec-legacy"!==e.parsed.k&&(r.push(e),a.push(n)),{type:"secret",token:e}}finally{e.roomId?i.delete(e.roomId):i.delete("liveblocks-user-token")}}}}function prepareAuthentication(e){const{publicApiKey:t,authEndpoint:n}=e;if(void 0!==n&&void 0!==t)throw new Error("You cannot simultaneously use `publicApiKey` and `authEndpoint` options. Please pick one and leave the other option unspecified. For more information: https://liveblocks.io/docs/api-reference/liveblocks-client#createClient");if("string"==typeof t){if(t.startsWith("sk_"))throw new Error("Invalid `publicApiKey` option. The value you passed is a secret key, which should not be used from the client. Please only ever pass a public key here. For more information: https://liveblocks.io/docs/api-reference/liveblocks-client#createClientPublicKey");if(!t.startsWith("pk_"))throw new Error("Invalid key. Please use the public key format: pk_<public key>. For more information: https://liveblocks.io/docs/api-reference/liveblocks-client#createClientPublicKey");return{type:"public",publicApiKey:t}}if("string"==typeof n)return{type:"private",url:n};if("function"==typeof n)return{type:"custom",callback:n};if(void 0!==n)throw new Error("The `authEndpoint` option must be a string or a function. For more information: https://liveblocks.io/docs/api-reference/liveblocks-client#createClientAuthEndpoint");throw new Error("Invalid Liveblocks client options. Please provide either a `publicApiKey` or `authEndpoint` option. They cannot both be empty. For more information: https://liveblocks.io/docs/api-reference/liveblocks-client#createClient")}async function fetchAuthEndpoint(e,t,n){const o=await e(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!o.ok){const e=`${(await o.text()).trim()||"reason not provided in auth response"} (${o.status} returned by POST ${t})`;throw 401===o.status||403===o.status?new StopRetrying(`Unauthorized: ${e}`):new Error(`Failed to authenticate: ${e}`)}let r;try{r=await o.json()}catch(e){throw new Error(`Expected a JSON response when doing a POST request on "${t}". ${String(e)}`)}if(!isPlainObject$2(r)||"string"!=typeof r.token)throw new Error(`Expected a JSON response of the form \`{ token: "..." }\` when doing a POST request on "${t}", but got ${JSON.stringify(r)}`);const{token:a}=r;return{token:a}}var DEFAULT_BASE_URL="https://api.liveblocks.io",kInternal=Symbol(),eventSource=makeEventSource();function unlinkDevTools(e){}eventSource.observable;var freeze$2=e=>e,kSinks=Symbol("kSinks"),kTrigger=Symbol("kTrigger"),signalsToTrigger=null;function batch(e){if(null===signalsToTrigger){signalsToTrigger=new Set;try{e()}finally{for(const e of signalsToTrigger)e[kTrigger]();signalsToTrigger=null}}else e()}function enqueueTrigger(e){signalsToTrigger||raise("Expected to be in an active batch"),signalsToTrigger.add(e)}function merge(e,t){let n=!1;const o={...e};return Object.keys(t).forEach(e=>{const r=e,a=t[r];o[r]!==a&&(void 0===a?delete o[r]:o[r]=a,n=!0)}),n?o:e}var AbstractSignal=class{equals;#A;[kSinks];constructor(e){this.equals=e??Object.is,this.#A=makeEventSource(),this[kSinks]=new Set,this.get=this.get.bind(this),this.subscribe=this.subscribe.bind(this),this.subscribeOnce=this.subscribeOnce.bind(this)}[Symbol.dispose](){this.#A[Symbol.dispose](),this.#A="(disposed)",this.equals="(disposed)"}get hasWatchers(){if(this.#A.count()>0)return!0;for(const e of this[kSinks])if(e.hasWatchers)return!0;return!1}[kTrigger](){this.#A.notify();for(const e of this[kSinks])enqueueTrigger(e)}subscribe(e){return this.#A.subscribe(e)}subscribeOnce(e){const t=this.subscribe(()=>(t(),e()));return t}waitUntil(){throw new Error("waitUntil not supported on Signals")}markSinksDirty(){for(const e of this[kSinks])e.markDirty()}addSink(e){this[kSinks].add(e)}removeSink(e){this[kSinks].delete(e)}asReadonly(){return this}},Signal=class extends AbstractSignal{#I;constructor(e,t){super(t),this.#I=freeze$2(e)}[Symbol.dispose](){super[Symbol.dispose](),this.#I="(disposed)"}get(){return this.#I}set(e){batch(()=>{"function"==typeof e&&(e=e(this.#I)),this.equals(this.#I,e)||(this.#I=freeze$2(e),this.markSinksDirty(),enqueueTrigger(this))})}},PatchableSignal=class extends Signal{constructor(e){super(freeze$2(compactObject(e)))}set(){throw new Error("Don't call .set() directly, use .patch()")}patch(e){super.set(t=>merge(t,e))}},INITIAL=Symbol(),DerivedSignal=class e extends AbstractSignal{#k;#N;#j;#$;static from(...t){const n=t.pop();if("function"!=typeof n&&raise("Invalid .from() call, last argument expected to be a function"),"function"==typeof t[t.length-1]){const o=n,r=t.pop();return new e(t,r,o)}return new e(t,n)}constructor(e,t,n){super(n),this.#N=!0,this.#k=INITIAL,this.#j=e,this.#$=t;for(const t of e)t.addSink(this)}[Symbol.dispose](){for(const e of this.#j)e.removeSink(this);this.#k="(disposed)",this.#j="(disposed)",this.#$="(disposed)"}get isDirty(){return this.#N}#F(){const e=this.#$(...this.#j.map(e=>e.get()));return this.#N=!1,!this.equals(this.#k,e)&&(this.#k=e,!0)}markDirty(){this.#N||(this.#N=!0,this.markSinksDirty())}get(){return this.#N&&this.#F(),this.#k}[kTrigger](){if(!this.hasWatchers)return;this.#F()&&super[kTrigger]()}},MutableSignal=class extends AbstractSignal{#P;constructor(e){super(),this.#P=e}[Symbol.dispose](){super[Symbol.dispose](),this.#P="(disposed)"}get(){return this.#P}mutate(e){batch(()=>{const t=!e||e(this.#P);null!==t&&"object"==typeof t&&"then"in t&&raise("MutableSignal.mutate() does not support async callbacks"),!1!==t&&(this.markSinksDirty(),enqueueTrigger(this))})}},MIN_CODE=32,MAX_CODE=126,NUM_DIGITS=MAX_CODE-MIN_CODE+1,ZERO=nthDigit(0),ONE=nthDigit(1),ZERO_NINE=ZERO+nthDigit(-1);function nthDigit(e){const t=MIN_CODE+(e<0?NUM_DIGITS+e:e);if(t<MIN_CODE||t>MAX_CODE)throw new Error(`Invalid n value: ${e}`);return String.fromCharCode(t)}function makePosition(e,t){return void 0!==e&&void 0!==t?between(e,t):void 0!==e?after$1(e):void 0!==t?before$1(t):ONE}function before$1(e){const t=e.length-1;for(let n=0;n<=t;n++){const o=e.charCodeAt(n);if(!(o<=MIN_CODE))return n===t?o===MIN_CODE+1?e.substring(0,n)+ZERO_NINE:e.substring(0,n)+String.fromCharCode(o-1):e.substring(0,n+1)}return ONE}function after$1(e){for(let t=0;t<=e.length-1;t++){const n=e.charCodeAt(t);if(!(n>=MAX_CODE))return e.substring(0,t)+String.fromCharCode(n+1)}return e+ONE}function between(e,t){if(e<t)return _between(e,t);if(e>t)return _between(t,e);throw new Error("Cannot compute value between two equal positions")}function _between(e,t){let n=0;const o=e.length,r=t.length;for(;;){const a=n<o?e.charCodeAt(n):MIN_CODE,i=n<r?t.charCodeAt(n):MAX_CODE;if(a!==i){if(i-a===1){const t=n+1;let o=e.substring(0,t);o.length<t&&(o+=ZERO.repeat(t-o.length));return o+_between(e.substring(t),"")}return takeN(e,n)+String.fromCharCode(i+a>>1)}n++}}function takeN(e,t){return t<e.length?e.substring(0,t):e+ZERO.repeat(t-e.length)}var MIN_NON_ZERO_CODE=MIN_CODE+1;function isPos(e){if(""===e)return!1;const t=e.length-1,n=e.charCodeAt(t);if(n<MIN_NON_ZERO_CODE||n>MAX_CODE)return!1;for(let n=0;n<t;n++){const t=e.charCodeAt(n);if(t<MIN_CODE||t>MAX_CODE)return!1}return!0}function convertToPos(e){const t=[];for(let n=0;n<e.length;n++){const o=e.charCodeAt(n);t.push(o<MIN_CODE?MIN_CODE:o>MAX_CODE?MAX_CODE:o)}for(;t.length>0&&t[t.length-1]===MIN_CODE;)t.length--;return t.length>0?String.fromCharCode(...t):ONE}function asPos(e){return isPos(e)?e:convertToPos(e)}function isAckOp(e){return 5===e.type&&"ACK"===e.id}function crdtAsLiveNode(e){return e}function HasParent(e,t,n=asPos(t)){return Object.freeze({type:"HasParent",node:e,key:t,pos:n})}var NoParent=Object.freeze({type:"NoParent"});function Orphaned(e,t=asPos(e)){return Object.freeze({type:"Orphaned",oldKey:e,oldPos:t})}var AbstractCrdt=class{#M;#B;#L=NoParent;_getParentKeyOrThrow(){switch(this.parent.type){case"HasParent":return this.parent.key;case"NoParent":throw new Error("Parent key is missing");case"Orphaned":return this.parent.oldKey;default:return assertNever(this.parent,"Unknown state")}}get _parentPos(){switch(this.parent.type){case"HasParent":return this.parent.pos;case"NoParent":throw new Error("Parent key is missing");case"Orphaned":return this.parent.oldPos;default:return assertNever(this.parent,"Unknown state")}}get _pool(){return this.#M}get roomId(){return this.#M?this.#M.roomId:null}get _id(){return this.#B}get parent(){return this.#L}get _parentKey(){switch(this.parent.type){case"HasParent":return this.parent.key;case"NoParent":return null;case"Orphaned":return this.parent.oldKey;default:return assertNever(this.parent,"Unknown state")}}_apply(e,t){return 5===e.type&&"HasParent"===this.parent.type?this.parent.node._detachChild(crdtAsLiveNode(this)):{modified:!1}}_setParentLink(e,t){switch(this.parent.type){case"HasParent":if(this.parent.node!==e)throw new Error("Cannot set parent: node already has a parent");return void(this.#L=HasParent(e,t));case"Orphaned":case"NoParent":return void(this.#L=HasParent(e,t));default:return assertNever(this.parent,"Unknown state")}}_attach(e,t){if(this.#B||this.#M)throw new Error("Cannot attach node: already attached");t.addNode(e,crdtAsLiveNode(this)),this.#B=e,this.#M=t}_detach(){switch(this.#M&&this.#B&&this.#M.deleteNode(this.#B),this.parent.type){case"HasParent":this.#L=Orphaned(this.parent.key,this.parent.pos);break;case"NoParent":this.#L=NoParent;break;case"Orphaned":break;default:assertNever(this.parent,"Unknown state")}this.#M=void 0}#U;#V;#H;invalidate(){void 0===this.#U&&void 0===this.#H||(this.#U=void 0,this.#H=void 0,"HasParent"===this.parent.type&&this.parent.node.invalidate())}toTreeNode(e){return void 0!==this.#H&&this.#V===e||(this.#V=e,this.#H=this._toTreeNode(e)),this.#H}toImmutable(){return void 0===this.#U&&(this.#U=this._toImmutable()),this.#U}};function isRootCrdt(e){return 0===e.type&&!isChildCrdt(e)}function isChildCrdt(e){return void 0!==e.parentId&&void 0!==e.parentKey}var LiveRegister=class e extends AbstractCrdt{#z;constructor(e){super(),this.#z=e}get data(){return this.#z}static _deserialize([t,n],o,r){const a=new e(n.data);return a._attach(t,r),a}_toOps(e,t,n){if(void 0===this._id)throw new Error("Cannot serialize register if parentId or parentKey is undefined");return[{type:8,opId:n?.generateOpId(),id:this._id,parentId:e,parentKey:t,data:this.data}]}_serialize(){if("HasParent"!==this.parent.type)throw new Error("Cannot serialize LiveRegister if parent is missing");return{type:3,parentId:nn(this.parent.node._id,"Parent node expected to have ID"),parentKey:this.parent.key,data:this.data}}_attachChild(e){throw new Error("Method not implemented.")}_detachChild(e){throw new Error("Method not implemented.")}_apply(e,t){return super._apply(e,t)}_toTreeNode(e){return{type:"Json",id:this._id??nanoid(),key:e,payload:this.#z}}_toImmutable(){return this.#z}clone(){return deepClone(this.data)}};function compareNodePosition(e,t){const n=e._parentPos,o=t._parentPos;return n===o?0:n<o?-1:1}var LiveList=class e extends AbstractCrdt{#q;#K;#W;constructor(e){let t;super(),this.#q=[],this.#K=new WeakSet,this.#W=new Map;for(const n of e){const e=makePosition(t),o=lsonToLiveNode(n);o._setParentLink(this,e),this.#q.push(o),t=e}}static _deserialize([t],n,o){const r=new e([]);r._attach(t,o);const a=n.get(t);if(void 0===a)return r;for(const[e,t]of a){const a=deserialize$1([e,t],n,o);a._setParentLink(r,t.parentKey),r._insertAndSort(a)}return r}_toOps(e,t,n){if(void 0===this._id)throw new Error("Cannot serialize item is not attached");const o=[],r={id:this._id,opId:n?.generateOpId(),type:2,parentId:e,parentKey:t};o.push(r);for(const e of this.#q){const t=e._getParentKeyOrThrow(),r=HACK_addIntentAndDeletedIdToOperation(e._toOps(this._id,t,n),void 0),a=r[0].opId;void 0!==a&&this.#W.set(t,a),o.push(...r)}return o}_insertAndSort(e){this.#q.push(e),this._sortItems()}_sortItems(){this.#q.sort(compareNodePosition),this.invalidate()}_indexOfPosition(e){return this.#q.findIndex(t=>t._getParentKeyOrThrow()===e)}_attach(e,t){super._attach(e,t);for(const e of this.#q)e._attach(t.generateId(),t)}_detach(){super._detach();for(const e of this.#q)e._detach()}#G(e){if(void 0===this._pool)throw new Error("Can't attach child if managed pool is not present");const{id:t,parentKey:n}=e,o=creationOpToLiveNode(e);o._attach(t,this._pool),o._setParentLink(this,n);const r=e.deletedId,a=this._indexOfPosition(n);if(-1!==a){const t=this.#q[a];if(t._id===r)return t._detach(),this.#q[a]=o,{modified:makeUpdate(this,[setDelta(a,o)]),reverse:[]};{this.#K.add(t),this.#q[a]=o;const n=[setDelta(a,o)],r=this.#Y(e.deletedId);return r&&n.push(r),{modified:makeUpdate(this,n),reverse:[]}}}{const t=[],r=this.#Y(e.deletedId);return r&&t.push(r),this._insertAndSort(o),t.push(insertDelta(this._indexOfPosition(n),o)),{reverse:[],modified:makeUpdate(this,t)}}}#J(e){if(void 0===this._pool)throw new Error("Can't attach child if managed pool is not present");const t=[],n=this.#Y(e.deletedId);n&&t.push(n);const o=this.#W.get(e.parentKey);if(void 0!==o){if(o!==e.opId)return 0===t.length?{modified:!1}:{modified:makeUpdate(this,t),reverse:[]};this.#W.delete(e.parentKey)}const r=this._indexOfPosition(e.parentKey),a=this.#q.find(t=>t._id===e.id);if(void 0!==a){if(a._parentKey===e.parentKey)return{modified:t.length>0&&makeUpdate(this,t),reverse:[]};if(-1!==r){this.#K.add(this.#q[r]);const[e]=this.#q.splice(r,1);t.push(deleteDelta(r,e))}const n=this.#q.indexOf(a);a._setParentLink(this,e.parentKey),this._sortItems();const o=this.#q.indexOf(a);return o!==n&&t.push(moveDelta(n,o,a)),{modified:t.length>0&&makeUpdate(this,t),reverse:[]}}{const n=this._pool.getNode(e.id);if(n&&this.#K.has(n)){n._setParentLink(this,e.parentKey),this.#K.delete(n),this._insertAndSort(n);const o=this.#q.indexOf(n);return{modified:makeUpdate(this,[-1===r?insertDelta(o,n):setDelta(o,n),...t]),reverse:[]}}{-1!==r&&this.#q.splice(r,1);const{newItem:n,newIndex:o}=this.#X(e,e.parentKey);return{modified:makeUpdate(this,[-1===r?insertDelta(o,n):setDelta(o,n),...t]),reverse:[]}}}}#Y(e){if(void 0===e||void 0===this._pool)return null;const t=this._pool.getNode(e);if(void 0===t)return null;const n=this._detachChild(t);return!1===n.modified?null:n.modified.updates[0]}#Z(e){if(void 0===this._pool)throw new Error("Can't attach child if managed pool is not present");const t=asPos(e.parentKey),n=this._indexOfPosition(t);-1!==n&&this.#Q(n,t);const{newItem:o,newIndex:r}=this.#X(e,t);return{modified:makeUpdate(this,[insertDelta(r,o)]),reverse:[]}}#ee(e){const t=this.#q.find(t=>t._id===e.id),n=asPos(e.parentKey),o=this._indexOfPosition(n);if(t){if(t._parentKey===n)return{modified:!1};{const e=this.#q.indexOf(t);-1!==o&&this.#Q(o,n),t._setParentLink(this,n),this._sortItems();const r=this._indexOfPosition(n);return r===e?{modified:!1}:{modified:makeUpdate(this,[moveDelta(e,r,t)]),reverse:[]}}}{const t=nn(this._pool).getNode(e.id);if(t&&this.#K.has(t)){t._setParentLink(this,n),this.#K.delete(t),this._insertAndSort(t);return{modified:makeUpdate(this,[insertDelta(this._indexOfPosition(n),t)]),reverse:[]}}{-1!==o&&this.#Q(o,n);const{newItem:t,newIndex:r}=this.#X(e,n);return{modified:makeUpdate(this,[insertDelta(r,t)]),reverse:[]}}}}#te(e){const{id:t,parentKey:n}=e,o=creationOpToLiveNode(e);if(void 0!==this._pool?.getNode(t))return{modified:!1};o._attach(t,nn(this._pool)),o._setParentLink(this,n);const r=this._indexOfPosition(n);let a=n;if(-1!==r){const e=this.#q[r]?._parentPos,t=this.#q[r+1]?._parentPos;a=makePosition(e,t),o._setParentLink(this,a)}this._insertAndSort(o);return{modified:makeUpdate(this,[insertDelta(this._indexOfPosition(a),o)]),reverse:[{type:5,id:t}]}}#ne(e){const{id:t,parentKey:n}=e,o=creationOpToLiveNode(e);if(void 0!==this._pool?.getNode(t))return{modified:!1};this.#W.set(n,nn(e.opId));const r=this._indexOfPosition(n);o._attach(t,nn(this._pool)),o._setParentLink(this,n);const a=n;if(-1!==r){const t=this.#q[r];t._detach(),this.#q[r]=o;const a=HACK_addIntentAndDeletedIdToOperation(t._toOps(nn(this._id),n,this._pool),e.id),i=[setDelta(r,o)],s=this.#Y(e.deletedId);return s&&i.push(s),{modified:makeUpdate(this,i),reverse:a}}this._insertAndSort(o),this.#Y(e.deletedId);return{reverse:[{type:5,id:t}],modified:makeUpdate(this,[insertDelta(this._indexOfPosition(a),o)])}}_attachChild(e,t){if(void 0===this._pool)throw new Error("Can't attach child if managed pool is not present");let n;return n="set"===e.intent?1===t?this.#G(e):2===t?this.#J(e):this.#ne(e):1===t?this.#Z(e):2===t?this.#ee(e):this.#te(e),!1!==n.modified&&this.invalidate(),n}_detachChild(e){if(e){const t=nn(e._parentKey),n=e._toOps(nn(this._id),t,this._pool),o=this.#q.indexOf(e);if(-1===o)return{modified:!1};const[r]=this.#q.splice(o,1);return this.invalidate(),e._detach(),{modified:makeUpdate(this,[deleteDelta(o,r)]),reverse:n}}return{modified:!1}}#oe(e,t){if(this.#K.has(t)){this.#K.delete(t),t._setParentLink(this,e),this._insertAndSort(t);return{modified:makeUpdate(this,[insertDelta(this.#q.indexOf(t),t)]),reverse:[]}}if(e===t._parentKey)return{modified:!1};const n=this._indexOfPosition(e);if(-1===n){const n=this.#q.indexOf(t);t._setParentLink(this,e),this._sortItems();const o=this.#q.indexOf(t);return o===n?{modified:!1}:{modified:makeUpdate(this,[moveDelta(n,o,t)]),reverse:[]}}{this.#q[n]._setParentLink(this,makePosition(e,this.#q[n+1]?._parentPos));const o=this.#q.indexOf(t);t._setParentLink(this,e),this._sortItems();const r=this.#q.indexOf(t);return r===o?{modified:!1}:{modified:makeUpdate(this,[moveDelta(o,r,t)]),reverse:[]}}}#re(e,t){const n=nn(t._parentKey);if(this.#K.has(t)){const n=this._indexOfPosition(e);return this.#K.delete(t),-1!==n&&this.#q[n]._setParentLink(this,makePosition(e,this.#q[n+1]?._parentPos)),t._setParentLink(this,e),this._insertAndSort(t),{modified:!1}}{if(e===n)return{modified:!1};const o=this.#q.indexOf(t),r=this._indexOfPosition(e);-1!==r&&this.#q[r]._setParentLink(this,makePosition(e,this.#q[r+1]?._parentPos)),t._setParentLink(this,e),this._sortItems();const a=this.#q.indexOf(t);return o===a?{modified:!1}:{modified:makeUpdate(this,[moveDelta(o,a,t)]),reverse:[]}}}#ae(e,t){const n=nn(t._parentKey),o=this.#q.indexOf(t),r=this._indexOfPosition(e);-1!==r&&this.#q[r]._setParentLink(this,makePosition(e,this.#q[r+1]?._parentPos)),t._setParentLink(this,e),this._sortItems();const a=this.#q.indexOf(t);return o===a?{modified:!1}:{modified:makeUpdate(this,[moveDelta(o,a,t)]),reverse:[{type:1,id:nn(t._id),parentKey:n}]}}_setChildKey(e,t,n){return 1===n?this.#oe(e,t):2===n?this.#re(e,t):this.#ae(e,t)}_apply(e,t){return super._apply(e,t)}_serialize(){if("HasParent"!==this.parent.type)throw new Error("Cannot serialize LiveList if parent is missing");return{type:1,parentId:nn(this.parent.node._id,"Parent node expected to have ID"),parentKey:this.parent.key}}get length(){return this.#q.length}push(e){return this._pool?.assertStorageIsWritable(),this.insert(e,this.length)}insert(e,t){if(this._pool?.assertStorageIsWritable(),t<0||t>this.#q.length)throw new Error(`Cannot insert list item at index "${t}". index should be between 0 and ${this.#q.length}`);const n=makePosition(this.#q[t-1]?this.#q[t-1]._parentPos:void 0,this.#q[t]?this.#q[t]._parentPos:void 0),o=lsonToLiveNode(e);if(o._setParentLink(this,n),this._insertAndSort(o),this._pool&&this._id){const e=this._pool.generateId();o._attach(e,this._pool),this._pool.dispatch(o._toOps(this._id,n,this._pool),[{type:5,id:e}],new Map([[this._id,makeUpdate(this,[insertDelta(t,o)])]]))}}move(e,t){if(this._pool?.assertStorageIsWritable(),t<0)throw new Error("targetIndex cannot be less than 0");if(t>=this.#q.length)throw new Error("targetIndex cannot be greater or equal than the list length");if(e<0)throw new Error("index cannot be less than 0");if(e>=this.#q.length)throw new Error("index cannot be greater or equal than the list length");let n=null,o=null;e<t?(o=t===this.#q.length-1?void 0:this.#q[t+1]._parentPos,n=this.#q[t]._parentPos):(o=this.#q[t]._parentPos,n=0===t?void 0:this.#q[t-1]._parentPos);const r=makePosition(n,o),a=this.#q[e],i=a._getParentKeyOrThrow();if(a._setParentLink(this,r),this._sortItems(),this._pool&&this._id){const n=new Map([[this._id,makeUpdate(this,[moveDelta(e,t,a)])]]);this._pool.dispatch([{type:1,id:nn(a._id),opId:this._pool.generateOpId(),parentKey:r}],[{type:1,id:nn(a._id),parentKey:i}],n)}}delete(e){if(this._pool?.assertStorageIsWritable(),e<0||e>=this.#q.length)throw new Error(`Cannot delete list item at index "${e}". index should be between 0 and ${this.#q.length-1}`);const t=this.#q[e];t._detach();const[n]=this.#q.splice(e,1);if(this.invalidate(),this._pool){const o=t._id;if(o){const r=new Map;r.set(nn(this._id),makeUpdate(this,[deleteDelta(e,n)])),this._pool.dispatch([{id:o,opId:this._pool.generateOpId(),type:5}],t._toOps(nn(this._id),t._getParentKeyOrThrow()),r)}}}clear(){if(this._pool?.assertStorageIsWritable(),this._pool){const e=[],t=[],n=[];for(const o of this.#q){o._detach();const r=o._id;r&&(e.push({type:5,id:r,opId:this._pool.generateOpId()}),t.push(...o._toOps(nn(this._id),o._getParentKeyOrThrow())),n.push(deleteDelta(0,o)))}this.#q=[],this.invalidate();const o=new Map;o.set(nn(this._id),makeUpdate(this,n)),this._pool.dispatch(e,t,o)}else{for(const e of this.#q)e._detach();this.#q=[],this.invalidate()}}set(e,t){if(this._pool?.assertStorageIsWritable(),e<0||e>=this.#q.length)throw new Error(`Cannot set list item at index "${e}". index should be between 0 and ${this.#q.length-1}`);const n=this.#q[e],o=n._getParentKeyOrThrow(),r=n._id;n._detach();const a=lsonToLiveNode(t);if(a._setParentLink(this,o),this.#q[e]=a,this.invalidate(),this._pool&&this._id){const t=this._pool.generateId();a._attach(t,this._pool);const i=new Map;i.set(this._id,makeUpdate(this,[setDelta(e,a)]));const s=HACK_addIntentAndDeletedIdToOperation(a._toOps(this._id,o,this._pool),r);this.#W.set(o,nn(s[0].opId));const l=HACK_addIntentAndDeletedIdToOperation(n._toOps(this._id,o,void 0),t);this._pool.dispatch(s,l,i)}}toArray(){return this.#q.map(e=>liveNodeToLson(e))}every(e){return this.toArray().every(e)}filter(e){return this.toArray().filter(e)}find(e){return this.toArray().find(e)}findIndex(e){return this.toArray().findIndex(e)}forEach(e){return this.toArray().forEach(e)}get(e){if(!(e<0||e>=this.#q.length))return liveNodeToLson(this.#q[e])}indexOf(e,t){return this.toArray().indexOf(e,t)}lastIndexOf(e,t){return this.toArray().lastIndexOf(e,t)}map(e){return this.#q.map((t,n)=>e(liveNodeToLson(t),n))}some(e){return this.toArray().some(e)}[Symbol.iterator](){return new LiveListIterator(this.#q)}#X(e,t){const n=creationOpToLiveNode(e);n._attach(e.id,nn(this._pool)),n._setParentLink(this,t),this._insertAndSort(n);return{newItem:n,newIndex:this._indexOfPosition(t)}}#Q(e,t){const n=makePosition(t,this.#q.length>e+1?this.#q[e+1]?._parentPos:void 0);this.#q[e]._setParentLink(this,n)}_toTreeNode(e){return{type:"LiveList",id:this._id??nanoid(),key:e,payload:this.#q.map((e,t)=>e.toTreeNode(t.toString()))}}toImmutable(){return super.toImmutable()}_toImmutable(){const e=this.#q.map(e=>e.toImmutable());return e}clone(){return new e(this.#q.map(e=>e.clone()))}},LiveListIterator=class{#ie;constructor(e){this.#ie=e[Symbol.iterator]()}[Symbol.iterator](){return this}next(){const e=this.#ie.next();if(e.done)return{done:!0,value:void 0};return{value:liveNodeToLson(e.value)}}};function makeUpdate(e,t){return{node:e,type:"LiveList",updates:t}}function setDelta(e,t){return{index:e,type:"set",item:t instanceof LiveRegister?t.data:t}}function deleteDelta(e,t){return{type:"delete",index:e,deletedItem:t instanceof LiveRegister?t.data:t}}function insertDelta(e,t){return{index:e,type:"insert",item:t instanceof LiveRegister?t.data:t}}function moveDelta(e,t,n){return{type:"move",index:t,item:n instanceof LiveRegister?n.data:n,previousIndex:e}}function HACK_addIntentAndDeletedIdToOperation(e,t){return e.map((e,n)=>{if(0===n){return{...e,intent:"set",deletedId:t}}return e})}var LiveMap=class e extends AbstractCrdt{#se;#le;constructor(e){if(super(),this.#le=new Map,e){const t=[];for(const[n,o]of e){const e=lsonToLiveNode(o);e._setParentLink(this,n),t.push([n,e])}this.#se=new Map(t)}else this.#se=new Map}_toOps(e,t,n){if(void 0===this._id)throw new Error("Cannot serialize item is not attached");const o=[],r={id:this._id,opId:n?.generateOpId(),type:7,parentId:e,parentKey:t};o.push(r);for(const[e,t]of this.#se)o.push(...t._toOps(this._id,e,n));return o}static _deserialize([t,n],o,r){const a=new e;a._attach(t,r);const i=o.get(t);if(void 0===i)return a;for(const[e,t]of i){const n=deserialize$1([e,t],o,r);n._setParentLink(a,t.parentKey),a.#se.set(t.parentKey,n),a.invalidate()}return a}_attach(e,t){super._attach(e,t);for(const[e,n]of this.#se)isLiveNode(n)&&n._attach(t.generateId(),t)}_attachChild(e,t){if(void 0===this._pool)throw new Error("Can't attach child if managed pool is not present");const{id:n,parentKey:o,opId:r}=e,a=o,i=creationOpToLiveNode(e);if(void 0!==this._pool.getNode(n))return{modified:!1};if(2===t){const e=this.#le.get(a);if(e===r)return this.#le.delete(a),{modified:!1};if(void 0!==e)return{modified:!1}}else 1===t&&this.#le.delete(a);const s=this.#se.get(a);let l;if(s){const e=nn(this._id);l=s._toOps(e,a),s._detach()}else l=[{type:5,id:n}];return i._setParentLink(this,a),i._attach(n,this._pool),this.#se.set(a,i),this.invalidate(),{modified:{node:this,type:"LiveMap",updates:{[a]:{type:"update"}}},reverse:l}}_detach(){super._detach();for(const e of this.#se.values())e._detach()}_detachChild(e){const t=nn(this._id),n=nn(e._parentKey),o=e._toOps(t,n,this._pool);for(const[t,n]of this.#se)n===e&&(this.#se.delete(t),this.invalidate());e._detach();return{modified:{node:this,type:"LiveMap",updates:{[n]:{type:"delete"}}},reverse:o}}_serialize(){if("HasParent"!==this.parent.type)throw new Error("Cannot serialize LiveMap if parent is missing");return{type:2,parentId:nn(this.parent.node._id,"Parent node expected to have ID"),parentKey:this.parent.key}}get(e){const t=this.#se.get(e);if(void 0!==t)return liveNodeToLson(t)}set(e,t){this._pool?.assertStorageIsWritable();const n=this.#se.get(e);n&&n._detach();const o=lsonToLiveNode(t);if(o._setParentLink(this,e),this.#se.set(e,o),this.invalidate(),this._pool&&this._id){const t=this._pool.generateId();o._attach(t,this._pool);const r=new Map;r.set(this._id,{node:this,type:"LiveMap",updates:{[e]:{type:"update"}}});const a=o._toOps(this._id,e,this._pool);this.#le.set(e,nn(a[0].opId)),this._pool.dispatch(o._toOps(this._id,e,this._pool),n?n._toOps(this._id,e):[{type:5,id:t}],r)}}get size(){return this.#se.size}has(e){return this.#se.has(e)}delete(e){this._pool?.assertStorageIsWritable();const t=this.#se.get(e);if(void 0===t)return!1;if(t._detach(),this.#se.delete(e),this.invalidate(),this._pool&&t._id){const n=nn(this._id),o=new Map;o.set(n,{node:this,type:"LiveMap",updates:{[e]:{type:"delete"}}}),this._pool.dispatch([{type:5,id:t._id,opId:this._pool.generateOpId()}],t._toOps(n,e),o)}return!0}entries(){const e=this.#se.entries();return{[Symbol.iterator](){return this},next(){const t=e.next();if(t.done)return{done:!0,value:void 0};return{value:[t.value[0],liveNodeToLson(t.value[1])]}}}}[Symbol.iterator](){return this.entries()}keys(){return this.#se.keys()}values(){const e=this.#se.values();return{[Symbol.iterator](){return this},next(){const t=e.next();if(t.done)return{done:!0,value:void 0};return{value:liveNodeToLson(t.value)}}}}forEach(e){for(const t of this)e(t[1],t[0],this)}_toTreeNode(e){return{type:"LiveMap",id:this._id??nanoid(),key:e,payload:Array.from(this.#se.entries()).map(([e,t])=>t.toTreeNode(e))}}toImmutable(){return super.toImmutable()}_toImmutable(){const e=new Map;for(const[t,n]of this.#se)e.set(t,n.toImmutable());return freeze$2(e)}clone(){return new e(Array.from(this.#se).map(([e,t])=>[e,t.clone()]))}},LiveObject=class e extends AbstractCrdt{#se;#ce;static#de(e){const t=new Map;let n=null;for(const[o,r]of e)if(isRootCrdt(r))n=[o,r];else{const e=[o,r],n=t.get(r.parentId);void 0!==n?n.push(e):t.set(r.parentId,[e])}if(null===n)throw new Error("Root can't be null");return[n,t]}static _fromItems(t,n){const[o,r]=e.#de(t);return e._deserialize(o,r,n)}constructor(e={}){super(),this.#ce=new Map;const t=compactObject(e);for(const e of Object.keys(t)){const n=t[e];isLiveNode(n)&&n._setParentLink(this,e)}this.#se=new Map(Object.entries(t))}_toOps(e,t,n){if(void 0===this._id)throw new Error("Cannot serialize item is not attached");const o=n?.generateOpId(),r=[],a={type:4,id:this._id,opId:o,parentId:e,parentKey:t,data:{}};r.push(a);for(const[e,t]of this.#se)isLiveNode(t)?r.push(...t._toOps(this._id,e,n)):a.data[e]=t;return r}static _deserialize([t,n],o,r){const a=new e(n.data);return a._attach(t,r),this._deserializeChildren(a,o,r)}static _deserializeChildren(e,t,n){const o=t.get(nn(e._id));if(void 0===o)return e;for(const[r,a]of o){const o=deserializeToLson([r,a],t,n);isLiveStructure(o)&&o._setParentLink(e,a.parentKey),e.#se.set(a.parentKey,o),e.invalidate()}return e}_attach(e,t){super._attach(e,t);for(const[e,n]of this.#se)isLiveNode(n)&&n._attach(t.generateId(),t)}_attachChild(e,t){if(void 0===this._pool)throw new Error("Can't attach child if managed pool is not present");const{id:n,opId:o,parentKey:r}=e,a=creationOpToLson(e);if(void 0!==this._pool.getNode(n))return this.#ce.get(r)===o&&this.#ce.delete(r),{modified:!1};if(0===t)this.#ce.set(r,nn(o));else if(void 0!==this.#ce.get(r))return this.#ce.get(r)===o?(this.#ce.delete(r),{modified:!1}):{modified:!1};const i=nn(this._id),s=this.#se.get(r);let l;return isLiveNode(s)?(l=s._toOps(i,r),s._detach()):l=void 0===s?[{type:6,id:i,key:r}]:[{type:3,id:i,data:{[r]:s}}],this.#se.set(r,a),this.invalidate(),isLiveStructure(a)&&(a._setParentLink(this,r),a._attach(n,this._pool)),{reverse:l,modified:{node:this,type:"LiveObject",updates:{[r]:{type:"update"}}}}}_detachChild(e){if(e){const t=nn(this._id),n=nn(e._parentKey),o=e._toOps(t,n,this._pool);for(const[t,n]of this.#se)n===e&&(this.#se.delete(t),this.invalidate());e._detach();return{modified:{node:this,type:"LiveObject",updates:{[n]:{type:"delete"}}},reverse:o}}return{modified:!1}}_detach(){super._detach();for(const e of this.#se.values())isLiveNode(e)&&e._detach()}_apply(e,t){return 3===e.type?this.#ue(e,t):6===e.type?this.#fe(e,t):super._apply(e,t)}_serialize(){const e={};for(const[t,n]of this.#se)isLiveNode(n)||(e[t]=n);return"HasParent"===this.parent.type&&this.parent.node._id?{type:0,parentId:this.parent.node._id,parentKey:this.parent.key,data:e}:{type:0,data:e}}#ue(e,t){let n=!1;const o=nn(this._id),r=[],a={type:3,id:o,data:{}};for(const t in e.data){const e=this.#se.get(t);isLiveNode(e)?(r.push(...e._toOps(o,t)),e._detach()):void 0!==e?a.data[t]=e:void 0===e&&r.push({type:6,id:o,key:t})}const i={};for(const o in e.data){const r=e.data[o];if(void 0===r)continue;if(t)this.#ce.set(o,nn(e.opId));else{if(void 0!==this.#ce.get(o)){if(this.#ce.get(o)===e.opId){this.#ce.delete(o);continue}continue}n=!0}const a=this.#se.get(o);isLiveNode(a)&&a._detach(),n=!0,i[o]={type:"update"},this.#se.set(o,r),this.invalidate()}return 0!==Object.keys(a.data).length&&r.unshift(a),n?{modified:{node:this,type:"LiveObject",updates:i},reverse:r}:{modified:!1}}#fe(e,t){const n=e.key;if(!1===this.#se.has(n))return{modified:!1};if(!t&&void 0!==this.#ce.get(n))return{modified:!1};const o=this.#se.get(n),r=nn(this._id);let a=[];return isLiveNode(o)?(a=o._toOps(r,e.key),o._detach()):void 0!==o&&(a=[{type:3,id:r,data:{[n]:o}}]),this.#se.delete(n),this.invalidate(),{modified:{node:this,type:"LiveObject",updates:{[e.key]:{type:"delete"}}},reverse:a}}toObject(){return Object.fromEntries(this.#se)}set(e,t){this._pool?.assertStorageIsWritable(),this.update({[e]:t})}get(e){return this.#se.get(e)}delete(e){this._pool?.assertStorageIsWritable();const t=e,n=this.#se.get(t);if(void 0===n)return;if(void 0===this._pool||void 0===this._id)return isLiveNode(n)&&n._detach(),this.#se.delete(t),void this.invalidate();let o;isLiveNode(n)?(n._detach(),o=n._toOps(this._id,t)):o=[{type:3,data:{[t]:n},id:this._id}],this.#se.delete(t),this.invalidate();const r=new Map;r.set(this._id,{node:this,type:"LiveObject",updates:{[e]:{type:"delete"}}}),this._pool.dispatch([{type:6,key:t,id:this._id,opId:this._pool.generateOpId()}],o,r)}update(e){if(this._pool?.assertStorageIsWritable(),void 0===this._pool||void 0===this._id){for(const t in e){const n=e[t];if(void 0===n)continue;const o=this.#se.get(t);isLiveNode(o)&&o._detach(),isLiveNode(n)&&n._setParentLink(this,t),this.#se.set(t,n),this.invalidate()}return}const t=[],n=[],o=this._pool.generateOpId(),r={},a={id:this._id,type:3,data:{}},i={};for(const s in e){const l=e[s];if(void 0===l)continue;const c=this.#se.get(s);if(isLiveNode(c)?(n.push(...c._toOps(this._id,s)),c._detach()):void 0===c?n.push({type:6,id:this._id,key:s}):a.data[s]=c,isLiveNode(l)){l._setParentLink(this,s),l._attach(this._pool.generateId(),this._pool);const e=l._toOps(this._id,s,this._pool),n=e.find(e=>e.parentId===this._id);n&&this.#ce.set(s,nn(n.opId)),t.push(...e)}else r[s]=l,this.#ce.set(s,o);this.#se.set(s,l),this.invalidate(),i[s]={type:"update"}}0!==Object.keys(a.data).length&&n.unshift(a),0!==Object.keys(r).length&&t.unshift({opId:o,id:this._id,type:3,data:r});const s=new Map;s.set(this._id,{node:this,type:"LiveObject",updates:i}),this._pool.dispatch(t,n,s)}toImmutable(){return super.toImmutable()}toTreeNode(e){return super.toTreeNode(e)}_toTreeNode(e){const t=this._id??nanoid();return{type:"LiveObject",id:t,key:e,payload:Array.from(this.#se.entries()).map(([e,n])=>isLiveNode(n)?n.toTreeNode(e):{type:"Json",id:`${t}:${e}`,key:e,payload:n})}}_toImmutable(){const e={};for(const[t,n]of this.#se)e[t]=isLiveStructure(n)?n.toImmutable():n;return e}clone(){return new e(Object.fromEntries(Array.from(this.#se).map(([e,t])=>[e,isLiveStructure(t)?t.clone():deepClone(t)])))}};function creationOpToLiveNode(e){return lsonToLiveNode(creationOpToLson(e))}function creationOpToLson(e){switch(e.type){case 8:return e.data;case 4:return new LiveObject(e.data);case 7:return new LiveMap;case 2:return new LiveList([]);default:return assertNever(e,"Unknown creation Op")}}function isSameNodeOrChildOf(e,t){return e===t||"HasParent"===e.parent.type&&isSameNodeOrChildOf(e.parent.node,t)}function deserialize$1([e,t],n,o){switch(t.type){case 0:return LiveObject._deserialize([e,t],n,o);case 1:return LiveList._deserialize([e,t],n,o);case 2:return LiveMap._deserialize([e,t],n,o);case 3:return LiveRegister._deserialize([e,t],n,o);default:throw new Error("Unexpected CRDT type")}}function deserializeToLson([e,t],n,o){switch(t.type){case 0:return LiveObject._deserialize([e,t],n,o);case 1:return LiveList._deserialize([e,t],n,o);case 2:return LiveMap._deserialize([e,t],n,o);case 3:return t.data;default:throw new Error("Unexpected CRDT type")}}function isLiveStructure(e){return isLiveList(e)||isLiveMap(e)||isLiveObject(e)}function isLiveNode(e){return isLiveStructure(e)||isLiveRegister(e)}function isLiveList(e){return e instanceof LiveList}function isLiveMap(e){return e instanceof LiveMap}function isLiveObject(e){return e instanceof LiveObject}function isLiveRegister(e){return e instanceof LiveRegister}function cloneLson(e){return void 0===e?void 0:isLiveStructure(e)?e.clone():deepClone(e)}function liveNodeToLson(e){return e instanceof LiveRegister?e.data:e instanceof LiveList||e instanceof LiveMap||e instanceof LiveObject?e:assertNever(e,"Unknown AbstractCrdt")}function lsonToLiveNode(e){return e instanceof LiveObject||e instanceof LiveMap||e instanceof LiveList?e:new LiveRegister(e)}function getTreesDiffOperations(e,t){const n=[];return e.forEach((e,o)=>{t.get(o)||n.push({type:5,id:o})}),t.forEach((t,o)=>{const r=e.get(o);if(r)0===t.type&&(0===r.type&&JSON.stringify(t.data)===JSON.stringify(r.data)||n.push({type:3,id:o,data:t.data})),t.parentKey!==r.parentKey&&n.push({type:1,id:o,parentKey:nn(t.parentKey,"Parent key must not be missing")});else switch(t.type){case 3:n.push({type:8,id:o,parentId:t.parentId,parentKey:t.parentKey,data:t.data});break;case 1:n.push({type:2,id:o,parentId:t.parentId,parentKey:t.parentKey});break;case 0:if(void 0===t.parentId||void 0===t.parentKey)throw new Error("Internal error. Cannot serialize storage root into an operation");n.push({type:4,id:o,parentId:t.parentId,parentKey:t.parentKey,data:t.data});break;case 2:n.push({type:7,id:o,parentId:t.parentId,parentKey:t.parentKey})}}),n}function mergeObjectStorageUpdates(e,t){const n=e.updates;for(const[e,o]of entries(t.updates))n[e]=o;return{...t,updates:n}}function mergeMapStorageUpdates(e,t){const n=e.updates;for(const[e,o]of entries(t.updates))n[e]=o;return{...t,updates:n}}function mergeListStorageUpdates(e,t){const n=e.updates;return{...t,updates:n.concat(t.updates)}}function mergeStorageUpdates(e,t){return void 0===e?t:"LiveObject"===e.type&&"LiveObject"===t.type?mergeObjectStorageUpdates(e,t):"LiveMap"===e.type&&"LiveMap"===t.type?mergeMapStorageUpdates(e,t):"LiveList"===e.type&&"LiveList"===t.type?mergeListStorageUpdates(e,t):t}function isJsonScalar(e){return null===e||"string"==typeof e||"number"==typeof e||"boolean"==typeof e}function isJsonArray(e){return Array.isArray(e)}function isJsonObject(e){return!isJsonScalar(e)&&!isJsonArray(e)}function makeUser(e,t){const{connectionId:n,id:o,info:r}=e,a=canWriteStorage(e.scopes);return freeze$2(compactObject({connectionId:n,id:o,info:r,canWrite:a,canComment:canComment(e.scopes),isReadOnly:!a,presence:t}))}var ManagedOthers=class{#pe;#_e;signal;constructor(){this.#pe=new MutableSignal({connections:new Map,presences:new Map}),this.signal=DerivedSignal.from(this.#pe,e=>compact(Array.from(this.#pe.get().presences.keys()).map(e=>this.getUser(Number(e))))),this.#_e=new Map}get(){return this.signal.get()}connectionIds(){return this.#pe.get().connections.keys()}clearOthers(){this.#pe.mutate(e=>{e.connections.clear(),e.presences.clear(),this.#_e.clear()})}#me(e){const t=this.#pe.get(),n=t.connections.get(e),o=t.presences.get(e);if(void 0!==n&&void 0!==o)return makeUser(n,o)}getUser(e){const t=this.#_e.get(e);if(t)return t;const n=this.#me(e);return n?(this.#_e.set(e,n),n):void 0}#he(e){this.#_e.delete(e)}setConnection(e,t,n,o){this.#pe.mutate(r=>(r.connections.set(e,freeze$2({connectionId:e,id:t,info:n,scopes:o})),!!r.presences.has(e)&&this.#he(e)))}removeConnection(e){this.#pe.mutate(t=>{t.connections.delete(e),t.presences.delete(e),this.#he(e)})}setOther(e,t){this.#pe.mutate(n=>(n.presences.set(e,freeze$2(compactObject(t))),!!n.connections.has(e)&&this.#he(e)))}patchOther(e,t){this.#pe.mutate(n=>{const o=n.presences.get(e);if(void 0===o)return!1;const r=merge(o,t);return o!==r&&(n.presences.set(e,freeze$2(r)),this.#he(e))})}},MAX_SOCKET_MESSAGE_SIZE=1047552;function makeIdFactory(e){let t=0;return()=>`${e}:${t++}`}function userToTreeNode(e,t){return{type:"User",id:`${t.connectionId}`,key:e,payload:{connectionId:t.connectionId,id:t.id,info:t.info,presence:t.presence,isReadOnly:!t.canWrite}}}function installBackgroundTabSpy(){const e="undefined"!=typeof document?document:void 0,t={current:null};function n(){t.current="hidden"===e?.visibilityState?t.current??Date.now():null}e?.addEventListener("visibilitychange",n);return[t,()=>{e?.removeEventListener("visibilitychange",n)}]}function createRoom(e,t){const n=e.initialPresence,o=e.initialStorage,r=t.roomHttpClient,[a,i]=installBackgroundTabSpy(),s={...t.delegates,canZombie:()=>void 0!==t.backgroundKeepAliveTimeout&&null!==a.current&&Date.now()>a.current+t.backgroundKeepAliveTimeout&&"synchronizing"!==K()},l=new ManagedSocket(s,t.enableDebugLogging),c={buffer:{flushTimerID:void 0,lastFlushedAt:0,presenceUpdates:{type:"full",data:n},messages:[],storageOperations:[]},staticSessionInfoSig:new Signal(null),dynamicSessionInfoSig:new Signal(null),myPresence:new PatchableSignal(n),others:new ManagedOthers,initialStorage:o,idFactory:null,yjsProvider:void 0,yjsProviderDidChange:makeEventSource(),clock:0,opClock:0,nodes:new Map,root:void 0,undoStack:[],redoStack:[],pausedHistory:null,activeBatch:null,unacknowledgedOps:new Map,opStackTraces:void 0};let d,u;let f=!1;l.events.onMessage.subscribe(function(e){if("string"!=typeof e.data)return;const t=function(e){const t=tryParseJson(e);return void 0===t?null:isJsonArray(t)?compact(t.map(e=>$(e))):compact([$(t)])}(e.data);if(null===t||0===t.length)return;const n={storageUpdates:new Map,others:[]};for(const e of t)switch(e.type){case 101:{const t=j(e);t&&n.others.push(t);break}case 100:{const t=T(e);t&&n.others.push(t);break}case 103:{const t=c.others.get();_.customEvent.notify({connectionId:e.actor,user:e.actor<0?null:t.find(t=>t.connectionId===e.actor)??null,event:e.event});break}case 102:{const t=O(e);t&&n.others.push(t);break}case 300:_.ydoc.notify(e);break;case 104:n.others.push(A(e));break;case 200:L(e);break;case 201:{const t=S(e.ops,!1);for(const[e,o]of t.updates.storageUpdates)n.storageUpdates.set(e,mergeStorageUpdates(n.storageUpdates.get(e),o));break}case 299:errorWithTitle("Storage mutation rejection error",e.reason);break;case 400:case 407:case 401:case 408:case 405:case 406:case 402:case 403:case 404:_.comments.notify(e)}x(n)}),l.events.statusDidChange.subscribe(function(e){const t=l.authValue;if(null!==t){const e=getBearerTokenFromAuthValue(t);if(e!==d)if(d=e,"secret"===t.type){const e=t.token.parsed;c.staticSessionInfoSig.set({userId:"sec-legacy"===e.k?e.id:e.uid,userInfo:"sec-legacy"===e.k?e.info:e.ui})}else c.staticSessionInfoSig.set({userId:void 0,userInfo:void 0})}_.status.notify(e),v()}),l.events.statusDidChange.subscribe(function(e){"reconnecting"===e?u=setTimeout(()=>{_.lostConnection.notify("lost"),f=!0,c.others.clearOthers(),x({others:[{type:"reset"}]})},t.lostConnectionTimeout):(clearTimeout(u),f&&("disconnected"===e?_.lostConnection.notify("failed"):_.lostConnection.notify("restored"),f=!1))}),l.events.didConnect.subscribe(function(){c.buffer.presenceUpdates={type:"full",data:{...c.myPresence.get()}},null!==M&&U({flush:!1}),F()}),l.events.didDisconnect.subscribe(function(){clearTimeout(c.buffer.flushTimerID)}),l.events.onLiveblocksError.subscribe(e=>{_.error.notify(e)});const p={roomId:t.roomId,getNode:e=>c.nodes.get(e),addNode:(e,t)=>{c.nodes.set(e,t)},deleteNode:e=>{c.nodes.delete(e)},generateId:()=>`${R()}:${c.clock++}`,generateOpId:()=>`${R()}:${c.opClock++}`,dispatch(e,t,n){const o=c.activeBatch;if(o){for(const t of e)o.ops.push(t);for(const[e,t]of n)o.updates.storageUpdates.set(e,mergeStorageUpdates(o.updates.storageUpdates.get(e),t));o.reverseOps.unshift(...t)}else C(t),c.redoStack.length=0,P(e),x({storageUpdates:n})},assertStorageIsWritable:()=>{const e=c.dynamicSessionInfoSig.get()?.scopes;if(void 0===e)return;if(!canWriteStorage(e))throw new Error("Cannot write to storage with a read only user, please ensure the user has write permissions")}},_={status:makeEventSource(),lostConnection:makeEventSource(),customEvent:makeEventSource(),self:makeEventSource(),myPresence:makeEventSource(),others:makeEventSource(),error:makeEventSource(),storageBatch:makeEventSource(),history:makeEventSource(),storageDidLoad:makeEventSource(),storageStatus:makeEventSource(),ydoc:makeEventSource(),comments:makeEventSource()},m=t.roomId;function h(e){const n=JSON.stringify(e),o=c.dynamicSessionInfoSig.get()?.nonce;if(t.unstable_fallbackToHTTP&&o){if((new TextEncoder).encode(n).length>MAX_SOCKET_MESSAGE_SIZE)return r.sendMessages({roomId:m,nonce:o,messages:e}).then(e=>{e.ok||403!==e.status||l.reconnect()}),void warn$1("Message was too large for websockets and sent over HTTP instead")}l.send(n)}const g=DerivedSignal.from(c.staticSessionInfoSig,c.dynamicSessionInfoSig,c.myPresence,(e,t,n)=>{if(null===e||null===t)return null;{const o=canWriteStorage(t.scopes);return{connectionId:t.actor,id:e.userId,info:e.userInfo,presence:n,canWrite:o,canComment:canComment(t.scopes)}}});let b;function v(){const e=g.get();null!==e&&e!==b&&(_.self.notify(e),b=e)}const y=DerivedSignal.from(g,e=>null!==e?userToTreeNode("Me",e):null);function E(e){if(0===e.items.length)throw new Error("Internal error: cannot load storage without items");void 0!==c.root?function(e){if(void 0===c.root)return;const t=new Map;for(const[e,n]of c.nodes)t.set(e,n._serialize());const n=getTreesDiffOperations(t,new Map(e));x(S(n,!1).updates)}(e.items):c.root=LiveObject._fromItems(e.items,p);const t=g.get()?.canWrite??!0,n=c.undoStack.length;for(const e in c.initialStorage)void 0===c.root.get(e)&&(t?c.root.set(e,cloneLson(c.initialStorage[e])):warn$1(`Attempted to populate missing storage key '${e}', but current user has no write access`));c.undoStack.length=n}function w(e){c.undoStack.length>=50&&c.undoStack.shift(),c.undoStack.push(e),N()}function C(e){null!==c.pausedHistory?c.pausedHistory.unshift(...e):w(e)}function x(e){const t=e.storageUpdates,n=e.others;if(void 0!==n&&n.length>0){const e=c.others.get();for(const t of n)_.others.notify({...t,others:e})}if(e.presence&&(v(),_.myPresence.notify(c.myPresence.get())),void 0!==t&&t.size>0){const e=Array.from(t.values());_.storageBatch.notify(e)}G()}function R(){const e=c.dynamicSessionInfoSig.get();if(e)return e.actor;throw new Error("Internal. Tried to get connection id but connection was never open")}function S(e,t){const n={reverse:[],storageUpdates:new Map,presence:!1},o=new Set,r=e.map(e=>"presence"===e.type||e.opId?e:{...e,opId:p.generateOpId()});for(const e of r)if("presence"===e.type){const t={type:"presence",data:{}};for(const n in e.data)t.data[n]=c.myPresence.get()[n];if(c.myPresence.patch(e.data),null===c.buffer.presenceUpdates)c.buffer.presenceUpdates={type:"partial",data:e.data};else for(const t in e.data)c.buffer.presenceUpdates.data[t]=e.data[t];n.reverse.unshift(t),n.presence=!0}else{let r;if(t)r=0;else{const t=nn(e.opId);r=c.unacknowledgedOps.delete(t)?2:1}const a=D(e,r);if(a.modified){const t=a.modified.node._id;t&&o.has(t)||(n.storageUpdates.set(nn(a.modified.node._id),mergeStorageUpdates(n.storageUpdates.get(nn(a.modified.node._id)),a.modified)),n.reverse.unshift(...a.reverse)),2!==e.type&&7!==e.type&&4!==e.type||o.add(nn(e.id))}}return{ops:r,reverse:n.reverse,updates:{storageUpdates:n.storageUpdates,presence:n.presence}}}function D(e,t){if(isAckOp(e))return{modified:!1};switch(e.type){case 6:case 3:case 5:{const n=c.nodes.get(e.id);return void 0===n?{modified:!1}:n._apply(e,0===t)}case 1:{const n=c.nodes.get(e.id);return void 0===n?{modified:!1}:"HasParent"===n.parent.type&&isLiveList(n.parent.node)?n.parent.node._setChildKey(asPos(e.parentKey),n,t):{modified:!1}}case 4:case 2:case 7:case 8:{if(void 0===e.parentId)return{modified:!1};const n=c.nodes.get(e.parentId);return void 0===n?{modified:!1}:n._attachChild(e,t)}}}function T(e){if(void 0!==e.targetActor){const t=c.others.getUser(e.actor);c.others.setOther(e.actor,e.data);const n=c.others.getUser(e.actor);if(void 0===t&&void 0!==n)return{type:"enter",user:n}}else c.others.patchOther(e.actor,e.data);const t=c.others.getUser(e.actor);return t?{type:"update",updates:e.data,user:t}:void 0}function O(e){const t=c.others.getUser(e.actor);return t?(c.others.removeConnection(e.actor),{type:"leave",user:t}):null}function A(e){c.dynamicSessionInfoSig.set({actor:e.actor,nonce:e.nonce,scopes:e.scopes}),c.idFactory=makeIdFactory(e.actor),v();for(const t of c.others.connectionIds()){void 0===e.users[t]&&c.others.removeConnection(t)}for(const t in e.users){const n=e.users[t],o=Number(t);c.others.setConnection(o,n.id,n.info,n.scopes)}return{type:"reset"}}function I(){return c.undoStack.length>0}function k(){return c.redoStack.length>0}function N(){_.history.notify({canUndo:I(),canRedo:k()})}function j(e){c.others.setConnection(e.actor,e.id,e.info,e.scopes),c.buffer.messages.push({type:100,data:c.myPresence.get(),targetActor:e.actor}),F();const t=c.others.getUser(e.actor);return t?{type:"enter",user:t}:void 0}function $(e){return isJsonObject(e)?e:null}function F(){const e=c.buffer.storageOperations;if(e.length>0){for(const t of e)c.unacknowledgedOps.set(nn(t.opId),t);G()}if("connected"!==l.getStatus())return void(c.buffer.storageOperations=[]);const n=Date.now(),o=n-c.buffer.lastFlushedAt;if(o>=t.throttleDelay){const e=function(){const e=[];c.buffer.presenceUpdates&&e.push("full"===c.buffer.presenceUpdates.type?{type:100,targetActor:-1,data:c.buffer.presenceUpdates.data}:{type:100,data:c.buffer.presenceUpdates.data});for(const t of c.buffer.messages)e.push(t);c.buffer.storageOperations.length>0&&e.push({type:201,ops:c.buffer.storageOperations});return e}();if(0===e.length)return;h(e),c.buffer={flushTimerID:void 0,lastFlushedAt:n,messages:[],storageOperations:[],presenceUpdates:null}}else clearTimeout(c.buffer.flushTimerID),c.buffer.flushTimerID=setTimeout(F,t.throttleDelay-o)}function P(e){const{storageOperations:t}=c.buffer;for(const n of e)t.push(n);F()}let M=null,B=null;function L(e){const t=new Map(c.unacknowledgedOps);E(e),function(e){if(0===e.size)return;const t=[],n=S(Array.from(e.values()),!0);t.push({type:201,ops:n.ops}),x(n.updates),h(t)}(t),B?.(),G(),_.storageDidLoad.notify()}function U(e){const n=c.buffer.messages;t.unstable_streamData?async function(){if(!l.authValue)return;L({type:200,items:await r.streamStorage({roomId:m})})}():n.some(e=>200===e.type)||n.push({type:200}),e.flush&&F()}function V(){return null===M&&(U({flush:!0}),M=new Promise(e=>{B=e}),G()),M}function H(){const e=c.root;return void 0!==e?e:(V(),null)}async function z(){return void 0!==c.root?Promise.resolve({root:c.root}):(await V(),{root:nn(c.root)})}const q=t.createSyncSource();function K(){return void 0===c.root?null===M?"not-loaded":"loading":0===c.unacknowledgedOps.size?"synchronized":"synchronizing"}let W=K();function G(){const e=K();W!==e&&(W=e,_.storageStatus.notify(e)),q.setSyncStatus("synchronizing"===e?"synchronizing":"synchronized")}function Y(){return null!==g.get()}function J(){return null!==H()}const X=DerivedSignal.from(c.others.signal,e=>e.map((e,t)=>userToTreeNode(`Other ${t}`,e))),Z={status:_.status.observable,lostConnection:_.lostConnection.observable,customEvent:_.customEvent.observable,others:_.others.observable,self:_.self.observable,myPresence:_.myPresence.observable,error:_.error.observable,storage:_.storageBatch.observable,storageBatch:_.storageBatch.observable,history:_.history.observable,storageDidLoad:_.storageDidLoad.observable,storageStatus:_.storageStatus.observable,ydoc:_.ydoc.observable,comments:_.comments.observable};const Q=t.createSyncSource();function ee(e){return Q.setSyncStatus("synchronizing"===e?"synchronizing":"synchronized")}return Object.defineProperty({[kInternal]:{get presenceBuffer(){return deepClone(c.buffer.presenceUpdates?.data??null)},get undoStack(){return deepClone(c.undoStack)},get nodeCount(){return c.nodes.size},getYjsProvider:()=>c.yjsProvider,setYjsProvider(e){c.yjsProvider?.off("status",ee),c.yjsProvider=e,e?.on("status",ee),c.yjsProviderDidChange.notify()},yjsProviderDidChange:c.yjsProviderDidChange.observable,reportTextEditor:async function(e,t){await r.reportTextEditor({roomId:m,type:e,rootKey:t})},createTextMention:async function(e,t){return r.createTextMention({roomId:m,userId:e,mentionId:t})},deleteTextMention:async function(e){return r.deleteTextMention({roomId:m,mentionId:e})},listTextVersions:async function(){return r.listTextVersions({roomId:m})},listTextVersionsSince:async function(e){return r.listTextVersionsSince({roomId:m,since:e.since,signal:e.signal})},getTextVersion:async function(e){return r.getTextVersion({roomId:m,versionId:e})},createTextVersion:async function(){return r.createTextVersion({roomId:m})},getSelf_forDevTools:()=>y.get(),getOthers_forDevTools:()=>X.get(),simulate:{explicitClose:e=>l._privateSendMachineEvent({type:"EXPLICIT_SOCKET_CLOSE",event:e}),rawSend:e=>l.send(e)},attachmentUrlsStore:r.getOrCreateAttachmentUrlsStore(m)},id:t.roomId,subscribe:makeClassicSubscribeFn(Z),connect:()=>l.connect(),reconnect:()=>l.reconnect(),disconnect:()=>l.disconnect(),destroy:()=>{q.destroy(),c.yjsProvider?.off("status",ee),Q.destroy(),i(),l.destroy()},updatePresence:function(e,t){const n={};null===c.buffer.presenceUpdates&&(c.buffer.presenceUpdates={type:"partial",data:{}});for(const t in e){const o=e[t];void 0!==o&&(c.buffer.presenceUpdates.data[t]=o,n[t]=c.myPresence.get()[t])}c.myPresence.patch(e),c.activeBatch?(t?.addToHistory&&c.activeBatch.reverseOps.unshift({type:"presence",data:n}),c.activeBatch.updates.presence=!0):(F(),t?.addToHistory&&C([{type:"presence",data:n}]),x({presence:!0}))},updateYDoc:function(e,t){const n={type:301,update:e,guid:t};c.buffer.messages.push(n),_.ydoc.notify(n),F()},broadcastEvent:function(e,t={shouldQueueEventIfNotReady:!1}){("connected"===l.getStatus()||t.shouldQueueEventIfNotReady)&&(c.buffer.messages.push({type:103,event:e}),F())},batch:function(e){if(c.activeBatch)return e();let t;c.activeBatch={ops:[],updates:{storageUpdates:new Map,presence:!1,others:[]},reverseOps:[]};try{t=e()}finally{const e=c.activeBatch;c.activeBatch=null,e.reverseOps.length>0&&C(e.reverseOps),e.ops.length>0&&(c.redoStack.length=0),e.ops.length>0&&P(e.ops),x(e.updates),F()}return t},history:{undo:function(){if(c.activeBatch)throw new Error("undo is not allowed during a batch");const e=c.undoStack.pop();if(void 0===e)return;c.pausedHistory=null;const t=S(e,!0);x(t.updates),c.redoStack.push(t.reverse),N();for(const e of t.ops)"presence"!==e.type&&c.buffer.storageOperations.push(e);F()},redo:function(){if(c.activeBatch)throw new Error("redo is not allowed during a batch");const e=c.redoStack.pop();if(void 0===e)return;c.pausedHistory=null;const t=S(e,!0);x(t.updates),c.undoStack.push(t.reverse),N();for(const e of t.ops)"presence"!==e.type&&c.buffer.storageOperations.push(e);F()},canUndo:I,canRedo:k,clear:function(){c.undoStack.length=0,c.redoStack.length=0},pause:function(){null===c.pausedHistory&&(c.pausedHistory=[])},resume:function(){const e=c.pausedHistory;c.pausedHistory=null,null!==e&&e.length>0&&w(e)}},fetchYDoc:function(e,t){c.buffer.messages.find(n=>300===n.type&&n.vector===e&&n.guid===t)||c.buffer.messages.push({type:300,vector:e,guid:t}),F()},getStorage:z,getStorageSnapshot:H,getStorageStatus:K,isPresenceReady:Y,isStorageReady:J,waitUntilPresenceReady:memoizeOnSuccess(async function(){for(;!Y();){const{promise:e,resolve:t}=Promise_withResolvers(),n=Z.self.subscribeOnce(t),o=Z.status.subscribeOnce(t);await e,n(),o()}}),waitUntilStorageReady:memoizeOnSuccess(async function(){for(;!J();)await z()}),events:Z,getStatus:()=>l.getStatus(),getSelf:()=>g.get(),getPresence:()=>c.myPresence.get(),getOthers:()=>c.others.get(),getThreads:async function(e){return r.getThreads({roomId:m,query:e?.query,cursor:e?.cursor})},getThreadsSince:async function(e){return r.getThreadsSince({roomId:m,since:e.since,signal:e.signal})},getThread:async function(e){return r.getThread({roomId:m,threadId:e})},createThread:async function(e){return r.createThread({roomId:m,threadId:e.threadId,commentId:e.commentId,metadata:e.metadata,body:e.body,attachmentIds:e.attachmentIds})},deleteThread:async function(e){return r.deleteThread({roomId:m,threadId:e})},editThreadMetadata:async function({metadata:e,threadId:t}){return r.editThreadMetadata({roomId:m,threadId:t,metadata:e})},markThreadAsResolved:async function(e){return r.markThreadAsResolved({roomId:m,threadId:e})},markThreadAsUnresolved:async function(e){return r.markThreadAsUnresolved({roomId:m,threadId:e})},createComment:async function(e){return r.createComment({roomId:m,threadId:e.threadId,commentId:e.commentId,body:e.body,attachmentIds:e.attachmentIds})},editComment:async function(e){return r.editComment({roomId:m,threadId:e.threadId,commentId:e.commentId,body:e.body,attachmentIds:e.attachmentIds})},deleteComment:async function({threadId:e,commentId:t}){return r.deleteComment({roomId:m,threadId:e,commentId:t})},addReaction:async function({threadId:e,commentId:t,emoji:n}){return r.addReaction({roomId:m,threadId:e,commentId:t,emoji:n})},removeReaction:async function({threadId:e,commentId:t,emoji:n}){return await r.removeReaction({roomId:m,threadId:e,commentId:t,emoji:n})},prepareAttachment:function(e){return{type:"localAttachment",status:"idle",id:createCommentAttachmentId(),name:e.name,size:e.size,mimeType:e.type,file:e}},uploadAttachment:async function(e,t={}){return r.uploadAttachment({roomId:m,attachment:e,signal:t.signal})},getAttachmentUrl:function(e){return r.getAttachmentUrl({roomId:m,attachmentId:e})},getNotificationSettings:function(e){return r.getNotificationSettings({roomId:m,signal:e?.signal})},updateNotificationSettings:function(e){return r.updateNotificationSettings({roomId:m,settings:e})},markInboxNotificationAsRead:async function(e){await r.markRoomInboxNotificationAsRead({roomId:m,inboxNotificationId:e})}},kInternal,{enumerable:!1})}function makeClassicSubscribeFn(e){return function(t,n,o){if("string"==typeof t&&isRoomEventName(t)){if("function"!=typeof n)throw new Error("Second argument must be a callback function");const o=n;switch(t){case"event":return e.customEvent.subscribe(o);case"my-presence":return e.myPresence.subscribe(o);case"others":{const t=o;return e.others.subscribe(e=>{const{others:n,...o}=e;return t(n,o)})}case"error":return e.error.subscribe(o);case"status":return e.status.subscribe(o);case"lost-connection":return e.lostConnection.subscribe(o);case"history":return e.history.subscribe(o);case"storage-status":return e.storageStatus.subscribe(o);case"comments":return e.comments.subscribe(o);default:return assertNever(t,`"${String(t)}" is not a valid event name`)}}if(void 0===n||"function"==typeof t){if("function"==typeof t){const n=t;return e.storageBatch.subscribe(n)}throw new Error("Please specify a listener callback")}if(isLiveNode(t)){const r=t;if(o?.isDeep){return function(t,n){return e.storageBatch.subscribe(e=>{const o=e.filter(e=>isSameNodeOrChildOf(e.node,t));o.length>0&&n(o)})}(r,n)}return function(t,n){return e.storageBatch.subscribe(e=>{for(const o of e)o.node._id===t._id&&n(o.node)})}(r,n)}throw new Error(`${String(t)} is not a value that can be subscribed to.`)}}function isRoomEventName(e){return"my-presence"===e||"others"===e||"event"===e||"error"===e||"history"===e||"status"===e||"storage-status"===e||"lost-connection"===e||"connection"===e||"comments"===e}function makeAuthDelegateForRoom(e,t){return async()=>t.getAuthValue({requestedScope:"room:read",roomId:e})}function makeCreateSocketDelegateForRoom(e,t,n){return o=>{const r=n??("undefined"==typeof WebSocket?void 0:WebSocket);if(void 0===r)throw new StopRetrying("To use Liveblocks client in a non-DOM environment, you need to provide a WebSocket polyfill.");const a=new URL(t);if(a.protocol="http:"===a.protocol?"ws":"wss",a.pathname="/v7",a.searchParams.set("roomId",e),"secret"===o.type)a.searchParams.set("tok",o.token.raw);else{if("public"!==o.type)return assertNever(o,"Unhandled case");a.searchParams.set("pubkey",o.publicApiKey)}return a.searchParams.set("version",PKG_VERSION$2),new r(a.toString())}}var MIN_THROTTLE=16,MAX_THROTTLE=1e3,DEFAULT_THROTTLE=100,MIN_BACKGROUND_KEEP_ALIVE_TIMEOUT=15e3,MIN_LOST_CONNECTION_TIMEOUT=200,RECOMMENDED_MIN_LOST_CONNECTION_TIMEOUT=1e3,MAX_LOST_CONNECTION_TIMEOUT=3e4,DEFAULT_LOST_CONNECTION_TIMEOUT=5e3,RESOLVE_USERS_BATCH_DELAY=50,RESOLVE_ROOMS_INFO_BATCH_DELAY=50;function getBaseUrl(e){return"string"==typeof e&&e.startsWith("http")?e:DEFAULT_BASE_URL}function createClient(e){const t=e,n=getThrottle(t.throttle??DEFAULT_THROTTLE),o=getLostConnectionTimeout(t.lostConnectionTimeout??DEFAULT_LOST_CONNECTION_TIMEOUT),r=getBackgroundKeepAliveTimeout(t.backgroundKeepAliveTimeout),a=getBaseUrl(t.baseUrl),i=new Signal(void 0),s=createAuthManager(e,e=>{const t="sec-legacy"===e.k?e.id:e.uid;i.set(()=>t)}),l=t.polyfills?.fetch||globalThis.fetch?.bind(globalThis),c=createApiClient({baseUrl:a,fetchPolyfill:l,authManager:s}),d=new Map;function u(e){const t=()=>{const n=t;var o;e.unsubs.delete(n)?0===e.unsubs.size&&(unlinkDevTools((o=e.room).id),d.delete(o.id),o.destroy()):warn$1("This leave function was already called. Calling it more than once has no effect.")};return e.unsubs.add(t),{room:e.room,leave:t}}const f=t.resolveUsers,p=createDevelopmentWarning(()=>!f,"Set the resolveUsers option in createClient to specify user info."),_=createBatchStore(new Batch(async e=>{const t=e.flat(),n=await(f?.({userIds:t}));return p(),n??t.map(()=>{})},{delay:RESOLVE_USERS_BATCH_DELAY}));const m=t.resolveRoomsInfo,h=createDevelopmentWarning(()=>!m,"Set the resolveRoomsInfo option in createClient to specify room info."),g=createBatchStore(new Batch(async e=>{const t=e.flat(),n=await(m?.({roomIds:t}));return h(),n??t.map(()=>{})},{delay:RESOLVE_ROOMS_INFO_BATCH_DELAY}));const b=new Map;const v=[],y=new Signal("synchronized");function E(){y.set(v.some(e=>"synchronizing"===e.get())?"synchronizing":v.some(e=>"has-local-changes"===e.get())?"has-local-changes":"synchronized")}function w(){const e=new Signal("synchronized");v.push(e);const t=e.subscribe(()=>E());return{setSyncStatus:function(t){e.set(t)},destroy:function(){t();const n=v.findIndex(t=>t===e);if(n>-1){const[e]=v.splice(n,1);"synchronized"!==e.get()&&E()}}}}{const e=e=>{t.preventUnsavedChanges&&"synchronized"!==y.get()&&e.preventDefault()},n="undefined"!=typeof window?window:void 0;n?.addEventListener("beforeunload",e)}const C=Object.defineProperty({enterRoom:function(e,...i){const l=d.get(e);if(void 0!==l)return u(l);const f=i[0]??{},p=createRoom({initialPresence:("function"==typeof f.initialPresence?f.initialPresence(e):f.initialPresence)??{},initialStorage:("function"==typeof f.initialStorage?f.initialStorage(e):f.initialStorage)??{}},{roomId:e,throttleDelay:n,lostConnectionTimeout:o,backgroundKeepAliveTimeout:r,polyfills:t.polyfills,delegates:t.mockedDelegates??{createSocket:makeCreateSocketDelegateForRoom(e,a,t.polyfills?.WebSocket),authenticate:makeAuthDelegateForRoom(e,s)},enableDebugLogging:t.enableDebugLogging,baseUrl:a,unstable_fallbackToHTTP:!!t.unstable_fallbackToHTTP,unstable_streamData:!!t.unstable_streamData,roomHttpClient:c,createSyncSource:w}),_={room:p,unsubs:new Set};if(d.set(e,_),f.autoConnect??!0){if("undefined"==typeof atob){if(void 0===t.polyfills?.atob)throw new Error("You need to polyfill atob to use the client in your environment. Please follow the instructions at https://liveblocks.io/docs/errors/liveblocks-client/atob-polyfill");global.atob=t.polyfills.atob}p.connect()}return u(_)},getRoom:function(e){const t=d.get(e)?.room;return t||null},logout:function(){s.reset(),i.set(()=>{});for(const{room:e}of d.values())isIdle(e.getStatus())||e.reconnect()},getInboxNotifications:c.getInboxNotifications,getInboxNotificationsSince:c.getInboxNotificationsSince,getUnreadInboxNotificationsCount:c.getUnreadInboxNotificationsCount,markAllInboxNotificationsAsRead:c.markAllInboxNotificationsAsRead,markInboxNotificationAsRead:c.markInboxNotificationAsRead,deleteAllInboxNotifications:c.deleteAllInboxNotifications,deleteInboxNotification:c.deleteInboxNotification,resolvers:{invalidateUsers:function(e){_.invalidate(e)},invalidateRoomsInfo:function(e){g.invalidate(e)},invalidateMentionSuggestions:function(){b.clear()}},getSyncStatus:function(){const e=y.get();return"synchronizing"===e?e:"synchronized"},events:{syncStatus:y},[kInternal]:{currentUserId:i,mentionSuggestionsCache:b,resolveMentionSuggestions:t.resolveMentionSuggestions,usersStore:_,roomsInfoStore:g,getRoomIds:()=>Array.from(d.keys()),httpClient:c,as:()=>C,createSyncSource:w}},kInternal,{enumerable:!1});return C}function checkBounds(e,t,n,o,r){if("number"!=typeof t||t<n||void 0!==o&&t>o)throw new Error(void 0!==o?`${e} should be between ${r??n} and ${o}.`:`${e} should be at least ${r??n}.`);return t}function getBackgroundKeepAliveTimeout(e){if(void 0!==e)return checkBounds("backgroundKeepAliveTimeout",e,MIN_BACKGROUND_KEEP_ALIVE_TIMEOUT)}function getThrottle(e){return checkBounds("throttle",e,MIN_THROTTLE,MAX_THROTTLE)}function getLostConnectionTimeout(e){return checkBounds("lostConnectionTimeout",e,MIN_LOST_CONNECTION_TIMEOUT,MAX_LOST_CONNECTION_TIMEOUT,RECOMMENDED_MIN_LOST_CONNECTION_TIMEOUT)}function createDevelopmentWarning(e,...t){return()=>{}}function isCommentBodyParagraph(e){return"type"in e&&"paragraph"===e.type}function isCommentBodyText$1(e){return!("type"in e)&&"text"in e&&"string"==typeof e.text}function isCommentBodyMention$1(e){return"type"in e&&"mention"===e.type}function isCommentBodyLink$1(e){return"type"in e&&"link"===e.type}var commentBodyElementsGuards={paragraph:isCommentBodyParagraph,text:isCommentBodyText$1,link:isCommentBodyLink$1,mention:isCommentBodyMention$1},commentBodyElementsTypes={paragraph:"block",text:"inline",link:"inline",mention:"inline"};function traverseCommentBody(e,t,n){if(!e||!e?.content)return;const o="string"==typeof t?t:void 0,r=o?commentBodyElementsTypes[o]:"all",a=o?commentBodyElementsGuards[o]:()=>!0,i="function"==typeof t?t:n;for(const t of e.content)if("all"!==r&&"block"!==r||a(t)&&i?.(t),"all"===r||"inline"===r)for(const e of t.children)a(e)&&i?.(e)}function getMentionedIdsFromCommentBody(e){const t=new Set;return traverseCommentBody(e,"mention",e=>t.add(e.id)),Array.from(t)}var htmlEscapables={"&":"&","<":"<",">":">",'"':""","'":"'"};new RegExp(Object.keys(htmlEscapables).map(e=>`\\${e}`).join("|"),"g");var markdownEscapables={_:"\\_","*":"\\*","#":"\\#","`":"\\`","~":"\\~","!":"\\!","|":"\\|","(":"\\(",")":"\\)","{":"\\{","}":"\\}","[":"\\[","]":"\\]"};new RegExp(Object.keys(markdownEscapables).map(e=>`\\${e}`).join("|"),"g");var BACKOFF_DELAYS2=[1e3,2e3,4e3,8e3,1e4];function makePoller(e,t,n){const o=performance.now(),r="undefined"!=typeof document?document:void 0,a="undefined"!=typeof window?window:void 0,i=n?.maxStaleTimeMs??Number.POSITIVE_INFINITY,s={inForeground:"hidden"!==r?.visibilityState,lastSuccessfulPollAt:o,count:0,backoff:0};function l(){return s.count>0&&s.inForeground}const c=new FSM({}).addState("@idle").addState("@enabled").addState("@polling");function d(){l()?c.send({type:"START"}):c.send({type:"STOP"})}function u(){performance.now()-s.lastSuccessfulPollAt>i&&c.send({type:"POLL"})}function f(e){s.inForeground=e,d(),u()}function p(){f("hidden"!==r?.visibilityState)}return c.addTransitions("@idle",{START:"@enabled"}),c.addTransitions("@enabled",{STOP:"@idle",POLL:"@polling"}),c.addTimedTransition("@enabled",()=>{const e=s.lastSuccessfulPollAt+t;return Math.max(0,e-performance.now())+s.backoff},"@polling"),c.onEnterAsync("@polling",async(t,n)=>{await e(n),n.aborted||(s.lastSuccessfulPollAt=performance.now())},()=>({target:l()?"@enabled":"@idle",effect:()=>{s.backoff=0}}),()=>({target:l()?"@enabled":"@idle",effect:()=>{s.backoff=BACKOFF_DELAYS2.find(e=>e>s.backoff)??BACKOFF_DELAYS2[BACKOFF_DELAYS2.length-1]}}),3e4),r?.addEventListener("visibilitychange",p),a?.addEventListener("online",p),c.start(),{inc:function(){s.count++,d()},dec:function(){s.count--,s.count<0&&(s.count=0),d()},pollNowIfStale:u,setInForeground:f}}function shallowArray(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Object.is(e[n],t[n]))return!1;return!0}function shallowObj(e,t){if(!isPlainObject$2(e)||!isPlainObject$2(t))return!1;const n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(n=>Object.prototype.hasOwnProperty.call(t,n)&&Object.is(e[n],t[n]))}function shallow(e,t){if(Object.is(e,t))return!0;const n=Array.isArray(e),o=Array.isArray(t);return n||o?!(!n||!o)&&shallowArray(e,t):shallowObj(e,t)}function bisectRight(e,t,n){let o=0,r=e.length;for(;o<r;){const a=o+(r-o>>1);n(t,e[a])?r=a:o=a+1}return o}var SortedList=class e{#z;#ge;constructor(e,t){this.#ge=t,this.#z=e}static from(t,n){const o=new e([],n);for(const e of t)o.add(e);return o}static fromAlreadySorted(t,n){return new e(t,n)}clone(){return new e(this.#z.slice(),this.#ge)}add(e){const t=bisectRight(this.#z,e,this.#ge);this.#z.splice(t,0,e)}remove(e){const t=this.#z.indexOf(e);return t>=0&&(this.#z.splice(t,1),!0)}get length(){return this.#z.length}*filter(e){for(const t of this.#z)e(t)&&(yield t)}[Symbol.iterator](){return this.#z[Symbol.iterator]()}};detectDupes(PKG_NAME$2,PKG_VERSION$2,PKG_FORMAT$2);var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==global?global:"undefined"!=typeof self?self:{},jsxRuntime={exports:{}},reactJsxRuntime_production_min={},hasRequiredReactJsxRuntime_production_min;function requireReactJsxRuntime_production_min(){if(hasRequiredReactJsxRuntime_production_min)return reactJsxRuntime_production_min;hasRequiredReactJsxRuntime_production_min=1;var e=React__default.default,t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,r=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};function i(e,n,i){var s,l={},c=null,d=null;for(s in void 0!==i&&(c=""+i),void 0!==n.key&&(c=""+n.key),void 0!==n.ref&&(d=n.ref),n)o.call(n,s)&&!a.hasOwnProperty(s)&&(l[s]=n[s]);if(e&&e.defaultProps)for(s in n=e.defaultProps)void 0===l[s]&&(l[s]=n[s]);return{$$typeof:t,type:e,key:c,ref:d,props:l,_owner:r.current}}return reactJsxRuntime_production_min.Fragment=n,reactJsxRuntime_production_min.jsx=i,reactJsxRuntime_production_min.jsxs=i,reactJsxRuntime_production_min}!function(e){e.exports=requireReactJsxRuntime_production_min()}(jsxRuntime);var PKG_NAME$1="@liveblocks/client",PKG_VERSION$1="2.15.1",PKG_FORMAT$1="esm";detectDupes(PKG_NAME$1,PKG_VERSION$1,PKG_FORMAT$1);var RoomContext=React.createContext(null);function useRoomOrNull(){return React.useContext(RoomContext)}function is$1(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t}function useSyncExternalStoreWithSelector(e,t,n,o,r){const a=React.useRef(null);let i;null===a.current?(i={hasValue:!1,value:null},a.current=i):i=a.current;const[s,l]=React.useMemo(()=>{let e,a,s=!1;const l=t=>{if(!s){s=!0,e=t;const n=o(t);if(void 0!==r&&i.hasValue){const e=i.value;if(r(e,n))return a=e,e}return a=n,n}const n=a;if(is$1(e,t))return n;const l=o(t);return void 0!==r&&r(n,l)?(e=t,n):(e=t,a=l,l)},c=void 0===n?null:n;return[()=>l(t()),null===c?void 0:()=>l(c())]},[t,n,o,r]),c=React.useSyncExternalStore(e,s,l);return React.useEffect(()=>{i.hasValue=!0,i.value=c},[c]),React.useDebugValue(c),c}var SECONDS=1e3,MINUTES=60*SECONDS,config$1={SMOOTH_DELAY:1*SECONDS,NOTIFICATIONS_POLL_INTERVAL:1*MINUTES,NOTIFICATIONS_MAX_STALE_TIME:5*SECONDS,ROOM_THREADS_POLL_INTERVAL:5*MINUTES,ROOM_THREADS_MAX_STALE_TIME:5*SECONDS,USER_THREADS_POLL_INTERVAL:1*MINUTES,USER_THREADS_MAX_STALE_TIME:5*SECONDS,HISTORY_VERSIONS_POLL_INTERVAL:1*MINUTES,HISTORY_VERSIONS_MAX_STALE_TIME:5*SECONDS,NOTIFICATION_SETTINGS_POLL_INTERVAL:1*MINUTES,NOTIFICATION_SETTINGS_MAX_STALE_TIME:5*SECONDS};function shallow2(e,t){if(!isPlainObject$2(e)||!isPlainObject$2(t))return shallow(e,t);const n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(n=>Object.prototype.hasOwnProperty.call(t,n)&&shallow(e[n],t[n]))}function useLatest$1(e){const t=React.useRef(e);return React.useEffect(()=>{t.current=e},[e]),t}var noop$2=e=>e;function useInitial$1(e){return React.useReducer(noop$2,e)[0]}function useInitialUnlessFunction(e){const t=useInitial$1(e);if("function"==typeof t){const t=useLatest$1(e);return React.useCallback((...e)=>t.current(...e),[t])}return t}var use=e=>{if("pending"===e.status)throw e;if("fulfilled"===e.status)return e.value;throw"rejected"===e.status?e.reason:(e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e)};function autobind(e){const t=new Set;t.add("constructor");let n=e.constructor.prototype;do{for(const o of Reflect.ownKeys(n)){if(t.has(o))continue;const r=Reflect.getOwnPropertyDescriptor(n,o);"function"==typeof r?.value&&(t.add(o),e[o]=e[o].bind(e))}}while((n=Reflect.getPrototypeOf(n))&&n!==Object.prototype)}function find(e,t){for(const n of e)if(t(n))return n}function isStartsWith(e){return isPlainObject$2(e)&&isString(e.startsWith)}function isString(e){return"string"==typeof e}function makeThreadsFilter(e){return t=>matchesQuery(t,e)&&matchesMetadata(t,e)}function matchesQuery(e,t){return void 0===t.resolved||e.resolved===t.resolved}function matchesMetadata(e,t){const n=e.metadata;return void 0===t.metadata||Object.entries(t.metadata).every(([e,t])=>matchesOperator(n[e],t))}function matchesOperator(e,t){return isStartsWith(t)?isString(e)&&e.startsWith(t.startsWith):e===t}function sanitizeThread(e){if(e.deletedAt&&e.comments.length>0)return{...e,comments:[]};return e.comments.some(e=>!e.deletedAt)?e:{...e,deletedAt:new Date,comments:[]}}var ThreadDB=class e{#be;#ve;#ye;signal;constructor(){this.#ve=SortedList.from([],(e,t)=>{const n=e.createdAt,o=t.createdAt;return n<o||n===o&&e.id<t.id}),this.#ye=SortedList.from([],(e,t)=>{const n=t.updatedAt,o=e.updatedAt;return n<o||n===o&&t.id<e.id}),this.#be=new Map,this.signal=new MutableSignal(this)}clone(){const t=new e;return t.#be=new Map(this.#be),t.#ve=this.#ve.clone(),t.#ye=this.#ye.clone(),t}get(e){const t=this.getEvenIfDeleted(e);return t?.deletedAt?void 0:t}getEvenIfDeleted(e){return this.#be.get(e)}upsert(e){this.signal.mutate(()=>{const t=(e=sanitizeThread(e)).id,n=this.#be.get(t);if(n){if(n.deletedAt)return!1;this.#ve.remove(n),this.#ye.remove(n)}return e.deletedAt||(this.#ve.add(e),this.#ye.add(e)),this.#be.set(t,e),!0})}upsertIfNewer(e){const t=this.get(e.id);(!t||e.updatedAt>=t.updatedAt)&&this.upsert(e)}applyDelta(e){batch(()=>{for(const t of e.newThreads)this.upsertIfNewer(t);for(const{id:t,deletedAt:n}of e.deletedThreads){this.getEvenIfDeleted(t)&&this.delete(t,n)}})}delete(e,t){const n=this.#be.get(e);n&&!n.deletedAt&&this.upsert({...n,deletedAt:t,updatedAt:t})}findMany(e,t,n){const o="desc"===n?this.#ye:this.#ve,r=[];return void 0!==e&&r.push(t=>t.roomId===e),r.push(makeThreadsFilter(t)),Array.from(o.filter(e=>r.every(t=>t(e))))}};function makeRoomThreadsQueryKey(e,t){return`${e}-${stringify(t??{})}`}function makeUserThreadsQueryKey(e){return`USER_THREADS:${stringify(e??{})}`}function makeNotificationSettingsQueryKey(e){return`${e}:NOTIFICATION_SETTINGS`}function makeVersionsQueryKey(e){return`${e}-VERSIONS`}function usify(e){if("status"in e)return e;const t=e;return t.status="pending",t.then(e=>{t.status="fulfilled",t.value=e},e=>{t.status="rejected",t.reason=e}),t}var noop2=Promise.resolve(),ASYNC_LOADING=Object.freeze({isLoading:!0}),PaginatedResource=class{observable;#A;#Ee;#we;#Ce;constructor(e){this.#we=null,this.#Ee=e,this.#A=makeEventSource(),this.#Ce=null,this.observable=this.#A.observable,autobind(this)}#xe(e){const t=this.#we;null!==t&&(this.#we={...t,...e},this.#A.notify())}async#Re(){const e=this.#we;if(e?.cursor){this.#xe({isFetchingMore:!0});try{const t=await this.#Ee(e.cursor);this.#xe({cursor:t,fetchMoreError:void 0,isFetchingMore:!1})}catch(e){this.#xe({isFetchingMore:!1,fetchMoreError:e})}}}fetchMore(){const e=this.#we;return null===e?.cursor?noop2:(this.#Ce||(this.#Ce=this.#Re().finally(()=>{this.#Ce=null})),this.#Ce)}get(){const e=this.#Se;if(null===e||"pending"===e.status)return ASYNC_LOADING;if("rejected"===e.status)return{isLoading:!1,error:e.reason};const t=this.#we;return{isLoading:!1,data:{fetchMore:this.fetchMore,isFetchingMore:t.isFetchingMore,fetchMoreError:t.fetchMoreError,hasFetchedAll:null===t.cursor}}}#Se=null;waitUntilLoaded(){if(this.#Se)return this.#Se;const e=usify(autoRetry(()=>this.#Ee(void 0),5,[5e3,5e3,1e4,15e3]).then(e=>{this.#we={cursor:e,isFetchingMore:!1,fetchMoreError:void 0}}));return e.then(()=>this.#A.notify(),()=>{this.#A.notify(),setTimeout(()=>{this.#Se=null,this.#A.notify()},5e3)}),this.#Se=e,e}},SinglePageResource=class{observable;#A;#Ee;constructor(e){this.#Ee=e,this.#A=makeEventSource(),this.observable=this.#A.observable,autobind(this)}get(){const e=this.#Se;return null===e||"pending"===e.status?ASYNC_LOADING:"rejected"===e.status?{isLoading:!1,error:e.reason}:{isLoading:!1,data:void 0}}#Se=null;waitUntilLoaded(){if(this.#Se)return this.#Se;const e=usify(autoRetry(()=>this.#Ee(),5,[5e3,5e3,1e4,15e3]));return e.then(()=>this.#A.notify(),()=>{this.#A.notify(),setTimeout(()=>{this.#Se=null,this.#A.notify()},5e3)}),this.#Se=e,e}};function createStore_forNotifications(){const e=new MutableSignal(new Map);return{signal:e.asReadonly(),markAllRead:function(t){e.mutate(e=>{for(const n of e.values())n.readAt=t})},markRead:function(t,n){e.mutate(e=>{const o=e.get(t);return!!o&&(e.set(t,{...o,readAt:n}),!0)})},delete:function(t){e.mutate(e=>e.delete(t))},applyDelta:function(t,n){e.mutate(e=>{let o=!1;for(const n of t){const t=e.get(n.id);if(t){if(1===compareInboxNotifications(t,n))continue}e.set(n.id,n),o=!0}for(const t of n)e.delete(t.id),o=!0;return o})},clear:function(){e.mutate(e=>e.clear())},updateAssociatedNotification:function(t){e.mutate(e=>{const n=find(e.values(),e=>"thread"===e.kind&&e.threadId===t.threadId);return!!n&&(e.set(n.id,{...n,notifiedAt:t.createdAt,readAt:t.createdAt}),!0)})},force_set:t=>e.mutate(t),invalidate:()=>e.mutate()}}function createStore_forRoomNotificationSettings(){const e=new MutableSignal(new Map);return{signal:e.asReadonly(),update:function(t,n){e.mutate(e=>{e.set(t,n)})},invalidate:()=>e.mutate()}}function createStore_forHistoryVersions(){const e=new MutableSignal(new Map);return{signal:e.asReadonly(),update:function(t,n){e.mutate(e=>{const o=e.get(t)??(e.set(t,new Map),e.get(t));for(const e of n)o.set(e.id,e)})},force_set:t=>e.mutate(t),invalidate:()=>e.mutate()}}function createStore_forPermissionHints(){const e=new Signal({});return{signal:e.asReadonly(),update:function(t){e.set(e=>{const n={...e};for(const[e,o]of Object.entries(t)){const t=n[e]??new Set;for(const e of o)t.add(e);n[e]=t}return n})},invalidate:()=>e.set(e=>({...e}))}}function createStore_forOptimistic(e){const t=new Signal([]),n=e[kInternal].createSyncSource();return t.subscribe(()=>n.setSyncStatus(t.get().length>0?"synchronizing":"synchronized")),{signal:t.asReadonly(),add:function(e){const n=nanoid(),o={...e,id:n};return t.set(e=>[...e,o]),n},remove:function(e){t.set(t=>t.filter(t=>t.id!==e))},invalidate:()=>t.set(e=>[...e])}}var UmbrellaStore=class{#De;threads;notifications;roomNotificationSettings;historyVersions;permissionHints;optimisticUpdates;outputs;#Te=null;#Oe;#Ae=new Map;#Ie=new Map;#ke=null;#Ne=new Map;#je=new Map;#$e=new Map;#Fe=new Map;constructor(e){this.#De=e[kInternal].as(),this.optimisticUpdates=createStore_forOptimistic(this.#De),this.permissionHints=createStore_forPermissionHints();this.#Oe=new PaginatedResource(async e=>{const t=await this.#De.getInboxNotifications({cursor:e});this.updateThreadifications(t.threads,t.inboxNotifications),null===this.#Te&&(this.#Te=t.requestedAt);return t.nextCursor}),this.#Oe.observable.subscribe(()=>this.invalidateEntireStore()),this.threads=new ThreadDB,this.notifications=createStore_forNotifications(),this.roomNotificationSettings=createStore_forRoomNotificationSettings(),this.historyVersions=createStore_forHistoryVersions();const t=DerivedSignal.from(this.threads.signal,this.notifications.signal,this.optimisticUpdates.signal,(e,t,n)=>applyOptimisticUpdates_forThreadifications(e,t,n)),n=DerivedSignal.from(t,e=>({threadsDB:e.threadsDB}),shallow),o=DerivedSignal.from(t,e=>({sortedNotifications:e.sortedNotifications,notificationsById:e.notificationsById}),shallow),r=DerivedSignal.from(this.roomNotificationSettings.signal,this.optimisticUpdates.signal,(e,t)=>applyOptimisticUpdates_forSettings(e,t)),a=DerivedSignal.from(this.historyVersions.signal,e=>Object.fromEntries([...e].map(([e,t])=>[e,Object.fromEntries(t)])));this.outputs={threadifications:t,threads:n,notifications:o,settingsByRoomId:r,versionsByRoomId:a},autobind(this)}get1_both(){return this.outputs.threadifications.get()}subscribe1_both(e){return this.outputs.threadifications.subscribe(e)}get1_threads(){return this.outputs.threads.get()}subscribe1_threads(e){return this.outputs.threads.subscribe(e)}get1_notifications(){return this.outputs.notifications.get()}subscribe1_notifications(e){return this.outputs.notifications.subscribe(e)}get2(){return this.outputs.settingsByRoomId.get()}subscribe2(e){return this.outputs.settingsByRoomId.subscribe(e)}get3(){return this.outputs.versionsByRoomId.get()}subscribe3(e){return this.outputs.versionsByRoomId.subscribe(e)}getRoomThreadsLoadingState(e,t){const n=makeRoomThreadsQueryKey(e,t),o=this.#Ie.get(n);if(void 0===o)return ASYNC_LOADING;const r=o.get();if(r.isLoading||r.error)return r;const a=this.get1_threads().threadsDB.findMany(e,t??{},"asc"),i=r.data;return{isLoading:!1,threads:a,hasFetchedAll:i.hasFetchedAll,isFetchingMore:i.isFetchingMore,fetchMoreError:i.fetchMoreError,fetchMore:i.fetchMore}}getUserThreadsLoadingState(e){const t=makeUserThreadsQueryKey(e),n=this.#Ne.get(t);if(void 0===n)return ASYNC_LOADING;const o=n.get();if(o.isLoading||o.error)return o;const r=this.get1_threads().threadsDB.findMany(void 0,e??{},"desc"),a=o.data;return{isLoading:!1,threads:r,hasFetchedAll:a.hasFetchedAll,isFetchingMore:a.isFetchingMore,fetchMoreError:a.fetchMoreError,fetchMore:a.fetchMore}}getInboxNotificationsLoadingState(){const e=this.#Oe.get();if(e.isLoading||e.error)return e;const t=e.data;return{isLoading:!1,inboxNotifications:this.get1_notifications().sortedNotifications,hasFetchedAll:t.hasFetchedAll,isFetchingMore:t.isFetchingMore,fetchMoreError:t.fetchMoreError,fetchMore:t.fetchMore}}getNotificationSettingsLoadingState(e){const t=makeNotificationSettingsQueryKey(e),n=this.#Fe.get(t);if(void 0===n)return ASYNC_LOADING;const o=n.get();return o.isLoading||o.error?o:{isLoading:!1,settings:nn(this.get2()[e])}}getRoomVersionsLoadingState(e){const t=makeVersionsQueryKey(e),n=this.#je.get(t);if(void 0===n)return ASYNC_LOADING;const o=n.get();return o.isLoading||o.error?o:{isLoading:!1,versions:Object.values(this.get3()[e]??{})}}force_set_versions(e){batch(()=>{this.historyVersions.force_set(e),this.invalidateEntireStore()})}force_set_notifications(e){batch(()=>{this.notifications.force_set(e),this.invalidateEntireStore()})}markInboxNotificationRead(e,t,n){batch(()=>{this.optimisticUpdates.remove(n),this.notifications.markRead(e,t)})}markAllInboxNotificationsRead(e,t){batch(()=>{this.optimisticUpdates.remove(e),this.notifications.markAllRead(t)})}deleteInboxNotification(e,t){batch(()=>{this.optimisticUpdates.remove(t),this.notifications.delete(e)})}deleteAllInboxNotifications(e){batch(()=>{this.optimisticUpdates.remove(e),this.notifications.clear()})}createThread(e,t){batch(()=>{this.optimisticUpdates.remove(e),this.threads.upsert(t)})}#Pe(e,t,n,o){batch(()=>{null!==t&&this.optimisticUpdates.remove(t);const r=this.threads,a=r.get(e);a&&(o&&a.updatedAt>o||r.upsert(n(a)))})}patchThread(e,t,n,o){return this.#Pe(e,t,e=>({...e,...compactObject(n)}),o)}addReaction(e,t,n,o,r){this.#Pe(e,t,e=>applyAddReaction(e,n,o),r)}removeReaction(e,t,n,o,r,a){this.#Pe(e,t,e=>applyRemoveReaction(e,n,o,r,a),a)}deleteThread(e,t){return this.#Pe(e,t,e=>({...e,updatedAt:new Date,deletedAt:new Date}))}createComment(e,t){batch(()=>{this.optimisticUpdates.remove(t);const n=this.threads.get(e.threadId);n&&(this.threads.upsert(applyUpsertComment(n,e)),this.notifications.updateAssociatedNotification(e))})}editComment(e,t,n){return this.#Pe(e,t,e=>applyUpsertComment(e,n))}deleteComment(e,t,n,o){return this.#Pe(e,t,e=>applyDeleteComment(e,n,o),o)}updateThreadifications(e,t,n=[],o=[]){batch(()=>{this.threads.applyDelta({newThreads:e,deletedThreads:n}),this.notifications.applyDelta(t,o)})}updateRoomNotificationSettings(e,t,n){batch(()=>{this.optimisticUpdates.remove(t),this.roomNotificationSettings.update(e,n)})}async fetchNotificationsDeltaUpdate(e){const t=this.#Te;if(null===t)return;const n=await this.#De.getInboxNotificationsSince({since:t,signal:e});t<n.requestedAt&&(this.#Te=n.requestedAt),this.updateThreadifications(n.threads.updated,n.inboxNotifications.updated,n.threads.deleted,n.inboxNotifications.deleted)}waitUntilNotificationsLoaded(){return this.#Oe.waitUntilLoaded()}waitUntilRoomThreadsLoaded(e,t){const n=async n=>{const o=await this.#De[kInternal].httpClient.getThreads({roomId:e,cursor:n,query:t});this.updateThreadifications(o.threads,o.inboxNotifications),this.permissionHints.update(o.permissionHints);const r=this.#Ae.get(e);return(void 0===r||r>o.requestedAt)&&this.#Ae.set(e,o.requestedAt),o.nextCursor},o=makeRoomThreadsQueryKey(e,t);let r=this.#Ie.get(o);return void 0===r&&(r=new PaginatedResource(n)),r.observable.subscribe(()=>this.invalidateEntireStore()),this.#Ie.set(o,r),r.waitUntilLoaded()}async fetchRoomThreadsDeltaUpdate(e,t){const n=this.#Ae.get(e);if(void 0===n)return;const o=await this.#De[kInternal].httpClient.getThreadsSince({roomId:e,since:n,signal:t});this.updateThreadifications(o.threads.updated,o.inboxNotifications.updated,o.threads.deleted,o.inboxNotifications.deleted),this.permissionHints.update(o.permissionHints),n<o.requestedAt&&this.#Ae.set(e,o.requestedAt)}waitUntilUserThreadsLoaded(e){const t=makeUserThreadsQueryKey(e),n=async t=>{const n=await this.#De[kInternal].httpClient.getUserThreads_experimental({cursor:t,query:e});return this.updateThreadifications(n.threads,n.inboxNotifications),this.permissionHints.update(n.permissionHints),null===this.#ke&&(this.#ke=n.requestedAt),n.nextCursor};let o=this.#Ne.get(t);return void 0===o&&(o=new PaginatedResource(n)),o.observable.subscribe(()=>this.invalidateEntireStore()),this.#Ne.set(t,o),o.waitUntilLoaded()}invalidateEntireStore(){batch(()=>{this.historyVersions.invalidate(),this.notifications.invalidate(),this.optimisticUpdates.invalidate(),this.permissionHints.invalidate(),this.roomNotificationSettings.invalidate()})}async fetchUserThreadsDeltaUpdate(e){const t=this.#ke;if(null===t)return;const n=await this.#De[kInternal].httpClient.getUserThreadsSince_experimental({since:t,signal:e});t<n.requestedAt&&(this.#Te=n.requestedAt),this.updateThreadifications(n.threads.updated,n.inboxNotifications.updated,n.threads.deleted,n.inboxNotifications.deleted),this.permissionHints.update(n.permissionHints)}waitUntilRoomVersionsLoaded(e){const t=makeVersionsQueryKey(e);let n=this.#je.get(t);if(void 0===n){n=new SinglePageResource(async()=>{const t=this.#De.getRoom(e);if(null===t)throw new HttpError(`Room '${e}' is not available on client`,479);const n=await t[kInternal].listTextVersions();this.historyVersions.update(e,n.versions);const o=this.#$e.get(e);(void 0===o||o>n.requestedAt)&&this.#$e.set(e,n.requestedAt)})}return n.observable.subscribe(()=>this.invalidateEntireStore()),this.#je.set(t,n),n.waitUntilLoaded()}async fetchRoomVersionsDeltaUpdate(e,t){const n=this.#$e.get(e);if(void 0===n)return;const o=nn(this.#De.getRoom(e),`Room with id ${e} is not available on client`),r=await o[kInternal].listTextVersionsSince({since:n,signal:t});this.historyVersions.update(e,r.versions),n<r.requestedAt&&this.#$e.set(e,r.requestedAt)}waitUntilRoomNotificationSettingsLoaded(e){const t=makeNotificationSettingsQueryKey(e);let n=this.#Fe.get(t);if(void 0===n){n=new SinglePageResource(async()=>{const t=this.#De.getRoom(e);if(null===t)throw new HttpError(`Room '${e}' is not available on client`,479);const n=await t.getNotificationSettings();this.roomNotificationSettings.update(e,n)})}return n.observable.subscribe(()=>this.invalidateEntireStore()),this.#Fe.set(t,n),n.waitUntilLoaded()}async refreshRoomNotificationSettings(e,t){const n=nn(this.#De.getRoom(e),`Room with id ${e} is not available on client`),o=await n.getNotificationSettings({signal:t});this.roomNotificationSettings.update(e,o)}};function applyOptimisticUpdates_forThreadifications(e,t,n){const o=e.clone();let r=Object.fromEntries(t);for(const e of n)switch(e.type){case"create-thread":o.upsert(e.thread);break;case"edit-thread-metadata":{const t=o.get(e.threadId);if(void 0===t)break;if(t.updatedAt>e.updatedAt)break;o.upsert({...t,updatedAt:e.updatedAt,metadata:{...t.metadata,...e.metadata}});break}case"mark-thread-as-resolved":{const t=o.get(e.threadId);if(void 0===t)break;o.upsert({...t,resolved:!0});break}case"mark-thread-as-unresolved":{const t=o.get(e.threadId);if(void 0===t)break;o.upsert({...t,resolved:!1});break}case"create-comment":{const t=o.get(e.comment.threadId);if(void 0===t)break;o.upsert(applyUpsertComment(t,e.comment));const n=Object.values(r).find(e=>"thread"===e.kind&&e.threadId===t.id);if(void 0===n)break;r[n.id]={...n,notifiedAt:e.comment.createdAt,readAt:e.comment.createdAt};break}case"edit-comment":{const t=o.get(e.comment.threadId);if(void 0===t)break;o.upsert(applyUpsertComment(t,e.comment));break}case"delete-comment":{const t=o.get(e.threadId);if(void 0===t)break;o.upsert(applyDeleteComment(t,e.commentId,e.deletedAt));break}case"delete-thread":{const t=o.get(e.threadId);if(void 0===t)break;o.upsert({...t,deletedAt:e.deletedAt,updatedAt:e.deletedAt,comments:[]});break}case"add-reaction":{const t=o.get(e.threadId);if(void 0===t)break;o.upsert(applyAddReaction(t,e.commentId,e.reaction));break}case"remove-reaction":{const t=o.get(e.threadId);if(void 0===t)break;o.upsert(applyRemoveReaction(t,e.commentId,e.emoji,e.userId,e.removedAt));break}case"mark-inbox-notification-as-read":{const t=r[e.inboxNotificationId];if(void 0===t)break;r[e.inboxNotificationId]={...t,readAt:e.readAt};break}case"mark-all-inbox-notifications-as-read":for(const t in r){const n=r[t];if(void 0===n)break;r[t]={...n,readAt:e.readAt}}break;case"delete-inbox-notification":delete r[e.inboxNotificationId];break;case"delete-all-inbox-notifications":r={}}return{sortedNotifications:Object.values(r).filter(e=>"thread"!==e.kind||void 0!==o.get(e.threadId)).sort((e,t)=>t.notifiedAt.getTime()-e.notifiedAt.getTime()),notificationsById:r,threadsDB:o}}function applyOptimisticUpdates_forSettings(e,t){const n=Object.fromEntries(e);for(const e of t)switch(e.type){case"update-notification-settings":{const t=n[e.roomId];if(void 0===t)break;n[e.roomId]={...t,...e.settings}}}return n}function compareInboxNotifications(e,t){return e.notifiedAt>t.notifiedAt?1:e.notifiedAt<t.notifiedAt?-1:e.readAt&&t.readAt?e.readAt>t.readAt?1:e.readAt<t.readAt?-1:0:e.readAt||t.readAt?e.readAt?1:-1:0}function applyUpsertComment(e,t){if(void 0!==e.deletedAt)return e;if(t.threadId!==e.id)return fancy_console_exports.warn(`Comment ${t.id} does not belong to thread ${e.id}`),e;const n=e.comments.find(e=>e.id===t.id);if(void 0===n){const n=new Date(Math.max(e.updatedAt.getTime(),t.createdAt.getTime()));return{...e,updatedAt:n,comments:[...e.comments,t]}}if(void 0!==n.deletedAt)return e;if(void 0===n.editedAt||void 0===t.editedAt||n.editedAt<=t.editedAt){const n=e.comments.map(e=>e.id===t.id?t:e);return{...e,updatedAt:new Date(Math.max(e.updatedAt.getTime(),t.editedAt?.getTime()||t.createdAt.getTime())),comments:n}}return e}function applyDeleteComment(e,t,n){if(void 0!==e.deletedAt)return e;const o=e.comments.find(e=>e.id===t);if(void 0===o)return e;if(void 0!==o.deletedAt)return e;const r=e.comments.map(e=>e.id===t?{...e,deletedAt:n,body:void 0,attachments:[]}:e);return r.every(e=>void 0!==e.deletedAt)?{...e,deletedAt:n,updatedAt:n}:{...e,updatedAt:n,comments:r}}function applyAddReaction(e,t,n){if(void 0!==e.deletedAt)return e;const o=e.comments.find(e=>e.id===t);if(void 0===o)return e;if(void 0!==o.deletedAt)return e;const r=e.comments.map(e=>e.id===t?{...e,reactions:upsertReaction(e.reactions,n)}:e);return{...e,updatedAt:new Date(Math.max(n.createdAt.getTime(),e.updatedAt.getTime())),comments:r}}function applyRemoveReaction(e,t,n,o,r){if(void 0!==e.deletedAt)return e;const a=e.comments.find(e=>e.id===t);if(void 0===a)return e;if(void 0!==a.deletedAt)return e;const i=e.comments.map(e=>e.id===t?{...e,reactions:e.reactions.map(e=>e.emoji===n?{...e,users:e.users.filter(e=>e.id!==o)}:e).filter(e=>e.users.length>0)}:e);return{...e,updatedAt:new Date(Math.max(r.getTime(),e.updatedAt.getTime())),comments:i}}function upsertReaction(e,t){const n=e.find(e=>e.emoji===t.emoji);return void 0===n?[...e,{emoji:t.emoji,createdAt:t.createdAt,users:[{id:t.userId}]}]:!1===n.users.some(e=>e.id===t.userId)?e.map(e=>e.emoji===t.emoji?{...e,users:[...e.users,{id:t.userId}]}:e):e}var ClientContext=React.createContext(null);function missingUserError(e){return new Error(`resolveUsers didn't return anything for user '${e}'`)}function missingRoomInfoError(e){return new Error(`resolveRoomsInfo didn't return anything for room '${e}'`)}function identity(e){return e}var _umbrellaStores=new WeakMap,_extras=new WeakMap;function selectUnreadInboxNotificationsCount(e){let t=0;for(const n of e)(null===n.readAt||n.readAt<n.notifiedAt)&&t++;return t}function selectorFor_useUnreadInboxNotificationsCount(e){return e.inboxNotifications?{isLoading:!1,count:selectUnreadInboxNotificationsCount(e.inboxNotifications)}:e}function selectorFor_useUser(e,t){return void 0===e||e?.isLoading?e??{isLoading:!0}:e.error?e:e.data?{isLoading:!1,user:e.data}:{isLoading:!1,error:missingUserError(t)}}function selectorFor_useRoomInfo(e,t){return void 0===e||e?.isLoading?e??{isLoading:!0}:e.error?e:e.data?{isLoading:!1,info:e.data}:{isLoading:!1,error:missingRoomInfoError(t)}}function getUmbrellaStoreForClient(e){let t=_umbrellaStores.get(e);return t||(t=new UmbrellaStore(e),_umbrellaStores.set(e,t)),t}function getLiveblocksExtrasForClient(e){let t=_extras.get(e);return t||(t=makeLiveblocksExtrasForClient(e),_extras.set(e,t)),t}function makeLiveblocksExtrasForClient(e){const t=getUmbrellaStoreForClient(e),n=makePoller(async e=>{try{return await t.fetchNotificationsDeltaUpdate(e)}catch(e){throw console.warn(`Polling new inbox notifications failed: ${String(e)}`),e}},config$1.NOTIFICATIONS_POLL_INTERVAL,{maxStaleTimeMs:config$1.NOTIFICATIONS_MAX_STALE_TIME}),o=makePoller(async e=>{try{return await t.fetchUserThreadsDeltaUpdate(e)}catch(e){throw console.warn(`Polling new user threads failed: ${String(e)}`),e}},config$1.USER_THREADS_POLL_INTERVAL,{maxStaleTimeMs:config$1.USER_THREADS_MAX_STALE_TIME});return{store:t,notificationsPoller:n,userThreadsPoller:o}}function useInboxNotifications_withClient(e,t,n){const{store:o,notificationsPoller:r}=getLiveblocksExtrasForClient(e);return React.useEffect(()=>{o.waitUntilNotificationsLoaded()}),React.useEffect(()=>(r.inc(),r.pollNowIfStale(),()=>{r.dec()}),[r]),useSyncExternalStoreWithSelector(o.subscribe1_notifications,o.getInboxNotificationsLoadingState,o.getInboxNotificationsLoadingState,t,n)}function useInboxNotificationsSuspense_withClient(e){const t=getLiveblocksExtrasForClient(e).store;use(t.waitUntilNotificationsLoaded());const n=useInboxNotifications_withClient(e,identity,shallow);return assert(!n.error),assert(!n.isLoading),n}function useUnreadInboxNotificationsCount_withClient(e){return useInboxNotifications_withClient(e,selectorFor_useUnreadInboxNotificationsCount,shallow)}function useUnreadInboxNotificationsCountSuspense_withClient(e){const t=getLiveblocksExtrasForClient(e).store;use(t.waitUntilNotificationsLoaded());const n=useUnreadInboxNotificationsCount_withClient(e);return assert(!n.isLoading),assert(!n.error),n}function useMarkInboxNotificationAsRead_withClient(e){return React.useCallback(t=>{const{store:n}=getLiveblocksExtrasForClient(e),o=new Date,r=n.optimisticUpdates.add({type:"mark-inbox-notification-as-read",inboxNotificationId:t,readAt:o});e.markInboxNotificationAsRead(t).then(()=>{n.markInboxNotificationRead(t,o,r)},()=>{n.optimisticUpdates.remove(r)})},[e])}function useMarkAllInboxNotificationsAsRead_withClient(e){return React.useCallback(()=>{const{store:t}=getLiveblocksExtrasForClient(e),n=new Date,o=t.optimisticUpdates.add({type:"mark-all-inbox-notifications-as-read",readAt:n});e.markAllInboxNotificationsAsRead().then(()=>{t.markAllInboxNotificationsRead(o,n)},()=>{t.optimisticUpdates.remove(o)})},[e])}function useDeleteInboxNotification_withClient(e){return React.useCallback(t=>{const{store:n}=getLiveblocksExtrasForClient(e),o=new Date,r=n.optimisticUpdates.add({type:"delete-inbox-notification",inboxNotificationId:t,deletedAt:o});e.deleteInboxNotification(t).then(()=>{n.deleteInboxNotification(t,r)},()=>{n.optimisticUpdates.remove(r)})},[e])}function useDeleteAllInboxNotifications_withClient(e){return React.useCallback(()=>{const{store:t}=getLiveblocksExtrasForClient(e),n=new Date,o=t.optimisticUpdates.add({type:"delete-all-inbox-notifications",deletedAt:n});e.deleteAllInboxNotifications().then(()=>{t.deleteAllInboxNotifications(o)},()=>{t.optimisticUpdates.remove(o)})},[e])}function useInboxNotificationThread_withClient(e,t){const{store:n}=getLiveblocksExtrasForClient(e),o=n.get1_both,r=React.useCallback(e=>{const n=e.notificationsById[t]??raise(`Inbox notification with ID "${t}" not found`);"thread"!==n.kind&&raise(`Inbox notification with ID "${t}" is not of kind "thread"`);return e.threadsDB.get(n.threadId)??raise(`Thread with ID "${n.threadId}" not found, this inbox notification might not be of kind "thread"`)},[t]);return useSyncExternalStoreWithSelector(n.subscribe1_both,o,o,r)}function useUser_withClient(e,t){const n=e[kInternal].usersStore,o=React.useCallback(()=>n.getState(t),[n,t]),r=React.useCallback(e=>selectorFor_useUser(e,t),[t]),a=useSyncExternalStoreWithSelector(n.subscribe,o,o,r,shallow);return React.useEffect(()=>{n.get(t)},[n,t,a]),a}function useRoomInfo_withClient(e,t){const n=e[kInternal].roomsInfoStore,o=React.useCallback(()=>n.getState(t),[n,t]),r=React.useCallback(e=>selectorFor_useRoomInfo(e,t),[t]),a=useSyncExternalStoreWithSelector(n.subscribe,o,o,r,shallow);return React.useEffect(()=>{n.get(t)},[n,t,a]),a}function useEnsureNoLiveblocksProvider(e){const t=useClientOrNull();if(!e?.allowNesting&&null!==t)throw new Error("You cannot nest multiple LiveblocksProvider instances in the same React tree.")}function useClientOrNull(){return React.useContext(ClientContext)}function useClient(){return useClientOrNull()??raise("LiveblocksProvider is missing from the React tree.")}function LiveblocksProviderWithClient(e){return useEnsureNoLiveblocksProvider(e),jsxRuntime.exports.jsx(ClientContext.Provider,{value:e.client,children:e.children})}function LiveblocksProvider(e){const{children:t,...n}=e,o={publicApiKey:useInitial$1(n.publicApiKey),throttle:useInitial$1(n.throttle),lostConnectionTimeout:useInitial$1(n.lostConnectionTimeout),backgroundKeepAliveTimeout:useInitial$1(n.backgroundKeepAliveTimeout),polyfills:useInitial$1(n.polyfills),unstable_fallbackToHTTP:useInitial$1(n.unstable_fallbackToHTTP),unstable_streamData:useInitial$1(n.unstable_streamData),preventUnsavedChanges:useInitial$1(n.preventUnsavedChanges),authEndpoint:useInitialUnlessFunction(n.authEndpoint),resolveMentionSuggestions:useInitialUnlessFunction(n.resolveMentionSuggestions),resolveUsers:useInitialUnlessFunction(n.resolveUsers),resolveRoomsInfo:useInitialUnlessFunction(n.resolveRoomsInfo),baseUrl:useInitial$1(n.baseUrl),enableDebugLogging:useInitial$1(n.enableDebugLogging)},r=React.useMemo(()=>createClient(o),[]);return jsxRuntime.exports.jsx(LiveblocksProviderWithClient,{client:r,children:t})}function useInboxNotificationsSuspense(){return useInboxNotificationsSuspense_withClient(useClient())}function useInboxNotificationThread(e){return useInboxNotificationThread_withClient(useClient(),e)}function useMarkAllInboxNotificationsAsRead(){return useMarkAllInboxNotificationsAsRead_withClient(useClient())}function useMarkInboxNotificationAsRead(){return useMarkInboxNotificationAsRead_withClient(useClient())}function useDeleteAllInboxNotifications(){return useDeleteAllInboxNotifications_withClient(useClient())}function useDeleteInboxNotification(){return useDeleteInboxNotification_withClient(useClient())}function useUnreadInboxNotificationsCountSuspense(){return useUnreadInboxNotificationsCountSuspense_withClient(useClient())}function useUser(e){return useUser_withClient(useClient(),e)}function useRoomInfo(e){return useRoomInfo_withClient(useClient(),e)}var _useInboxNotificationThread=useInboxNotificationThread,_useUser=useUser,CreateThreadError=class extends Error{constructor(e,t){super("Create thread failed."),this.cause=e,this.context=t,this.name="CreateThreadError"}},MarkThreadAsResolvedError=class extends Error{constructor(e,t){super("Mark thread as resolved failed."),this.cause=e,this.context=t,this.name="MarkThreadAsResolvedError"}},MarkThreadAsUnresolvedError=class extends Error{constructor(e,t){super("Mark thread as unresolved failed."),this.cause=e,this.context=t,this.name="MarkThreadAsUnresolvedError"}},CreateCommentError=class extends Error{constructor(e,t){super("Create comment failed."),this.cause=e,this.context=t,this.name="CreateCommentError"}},EditCommentError=class extends Error{constructor(e,t){super("Edit comment failed."),this.cause=e,this.context=t,this.name="EditCommentError"}},DeleteCommentError=class extends Error{constructor(e,t){super("Delete comment failed."),this.cause=e,this.context=t,this.name="DeleteCommentError"}},AddReactionError=class extends Error{constructor(e,t){super("Add reaction failed."),this.cause=e,this.context=t,this.name="AddReactionError"}},RemoveReactionError=class extends Error{constructor(e,t){super("Remove reaction failed."),this.cause=e,this.context=t,this.name="RemoveReactionError"}},MarkInboxNotificationAsReadError=class extends Error{constructor(e,t){super("Mark inbox notification as read failed."),this.cause=e,this.context=t,this.name="MarkInboxNotificationAsReadError"}},identity2=e=>e;function useSignal(e,t,n){return useSyncExternalStoreWithSelector(e.subscribe,e.get,e.get,t??identity2,n)}function handleScrollToCommentOnLoad(e,t){if(!1===e)return;if(!t.threads)return;if(!("undefined"!=typeof window))return;const n=window.location.hash.slice(1);if(!n.startsWith("cm_"))return;const o=document.getElementById(n);if(null===o)return;t.threads.flatMap(e=>e.comments).some(e=>e.id===n)&&o.scrollIntoView()}function useScrollToCommentOnLoadEffect(e,t){React.useEffect(()=>{handleScrollToCommentOnLoad(e,t)},[t.isLoading])}var identity3=e=>e;function getCurrentUserId(e){const t=e[kInternal].currentUserId.get();return void 0===t?"anonymous":t}function handleApiError(e){const t=`Request failed with status ${e.status}: ${e.message}`;if("FORBIDDEN"===e.details?.error){const n=[t,e.details.suggestion,e.details.docs].filter(Boolean).join("\n");fancy_console_exports.error(n)}return new Error(t)}Object.freeze([]);var _extras2=new WeakMap;function getRoomExtrasForClient(e){let t=_extras2.get(e);return t||(t=makeRoomExtrasForClient(e),_extras2.set(e,t)),t}function makeRoomExtrasForClient(e){const t=getUmbrellaStoreForClient(e),n=makeEventSource();const o=new Map,r=new Map,a=new Map;return{store:t,commentsErrorEventSource:n.observable,onMutationFailure:function(e,o,r){if(t.optimisticUpdates.remove(o),e instanceof HttpError){const t=handleApiError(e);return void n.notify(r(t))}if(!(e instanceof HttpError))throw e;handleApiError(e)},getOrCreateThreadsPollerForRoomId:function(e){let n=o.get(e);return n||(n=makePoller(async n=>{try{return await t.fetchRoomThreadsDeltaUpdate(e,n)}catch(t){throw fancy_console_exports.warn(`Polling new threads for '${e}' failed: ${String(t)}`),t}},config$1.ROOM_THREADS_POLL_INTERVAL,{maxStaleTimeMs:config$1.ROOM_THREADS_MAX_STALE_TIME}),o.set(e,n)),n},getOrCreateVersionsPollerForRoomId:function(e){let n=r.get(e);return n||(n=makePoller(async n=>{try{return await t.fetchRoomVersionsDeltaUpdate(e,n)}catch(t){throw fancy_console_exports.warn(`Polling new history versions for '${e}' failed: ${String(t)}`),t}},config$1.HISTORY_VERSIONS_POLL_INTERVAL,{maxStaleTimeMs:config$1.HISTORY_VERSIONS_MAX_STALE_TIME}),r.set(e,n)),n},getOrCreateNotificationsSettingsPollerForRoomId:function(e){let n=a.get(e);return n||(n=makePoller(async n=>{try{return await t.refreshRoomNotificationSettings(e,n)}catch(t){throw fancy_console_exports.warn(`Polling notification settings for '${e}' failed: ${String(t)}`),t}},config$1.NOTIFICATION_SETTINGS_POLL_INTERVAL,{maxStaleTimeMs:config$1.NOTIFICATION_SETTINGS_MAX_STALE_TIME}),a.set(e,n)),n}}}function RoomProvider(e){const t=useClient(),[n]=React.useState(()=>new Map),o=React.useCallback((e,o)=>{const r=n.get(e);if(r)return r;const a=t.enterRoom(e,o),i=a.leave;return a.leave=()=>{i(),n.delete(e)},n.set(e,a),a},[t,n]);return jsxRuntime.exports.jsx(RoomProviderInner,{...e,stableEnterRoom:o})}function RoomProviderInner(e){const t=useClient(),{id:n,stableEnterRoom:o}=e,r=useInitial$1({initialPresence:e.initialPresence,initialStorage:e.initialStorage,autoConnect:e.autoConnect??"undefined"!=typeof window}),[{room:a},i]=React.useState(()=>o(n,{...r,autoConnect:!1}));return React.useEffect(()=>{const{store:e}=getRoomExtrasForClient(t);return a.events.comments.subscribe(t=>{!async function(t){if(t.type===ServerMsgCode.THREAD_DELETED)return void e.deleteThread(t.threadId,null);const n=await a.getThread(t.threadId);if(!n.thread)return void e.deleteThread(t.threadId,null);const{thread:o,inboxNotification:r}=n,i=e.get1_threads().threadsDB.getEvenIfDeleted(t.threadId);switch(t.type){case ServerMsgCode.COMMENT_EDITED:case ServerMsgCode.THREAD_METADATA_UPDATED:case ServerMsgCode.THREAD_UPDATED:case ServerMsgCode.COMMENT_REACTION_ADDED:case ServerMsgCode.COMMENT_REACTION_REMOVED:case ServerMsgCode.COMMENT_DELETED:if(!i)break;e.updateThreadifications([o],r?[r]:[]);break;case ServerMsgCode.COMMENT_CREATED:e.updateThreadifications([o],r?[r]:[])}}(t)})},[t,a]),React.useEffect(()=>{const e=o(n,r);i(e);const{room:t,leave:a}=e;return r.autoConnect&&t.connect(),()=>{a()}},[n,r,o]),jsxRuntime.exports.jsx(RoomContext.Provider,{value:a,children:e.children})}function useRoom(){const e=useRoomOrNull();if(null===e)throw new Error("RoomProvider is missing from the React tree.");return e}function useResolveMentionSuggestions(){return useClient()[kInternal].resolveMentionSuggestions}function useMentionSuggestionsCache(){return useClient()[kInternal].mentionSuggestionsCache}function useThreads(e={query:{metadata:{}}}){const{scrollOnLoad:t=!0}=e,n=useClient(),o=useRoom(),{store:r,getOrCreateThreadsPollerForRoomId:a}=getRoomExtrasForClient(n),i=a(o.id);React.useEffect(()=>{r.waitUntilRoomThreadsLoaded(o.id,e.query)}),React.useEffect(()=>(i.inc(),i.pollNowIfStale(),()=>i.dec()),[i]);const s=React.useCallback(()=>r.getRoomThreadsLoadingState(o.id,e.query),[r,o.id,e.query]),l=useSyncExternalStoreWithSelector(r.subscribe1_threads,s,s,identity3,shallow2);return useScrollToCommentOnLoadEffect(t,l),l}function useCreateRoomThread(e){const t=useClient();return React.useCallback(n=>{const o=n.body,r=n.metadata??{},a=n.attachments,i=createThreadId(),s=createCommentId(),l=new Date,c={id:s,threadId:i,roomId:e,createdAt:l,type:"comment",userId:getCurrentUserId(t),body:o,reactions:[],attachments:a??[]},d={id:i,type:"thread",createdAt:l,updatedAt:l,roomId:e,metadata:r,comments:[c],resolved:!1},{store:u,onMutationFailure:f}=getRoomExtrasForClient(t),p=u.optimisticUpdates.add({type:"create-thread",thread:d,roomId:e}),_=a?.map(e=>e.id);return t[kInternal].httpClient.createThread({roomId:e,threadId:i,commentId:s,body:o,metadata:r,attachmentIds:_}).then(e=>{u.createThread(p,e)},t=>f(t,p,t=>new CreateThreadError(t,{roomId:e,threadId:i,commentId:s,body:o,metadata:r}))),d},[t,e])}function useCreateRoomComment(e){const t=useClient();return React.useCallback(({threadId:n,body:o,attachments:r})=>{const a=createCommentId(),i={id:a,threadId:n,roomId:e,type:"comment",createdAt:new Date,userId:getCurrentUserId(t),body:o,reactions:[],attachments:r??[]},{store:s,onMutationFailure:l}=getRoomExtrasForClient(t),c=s.optimisticUpdates.add({type:"create-comment",comment:i}),d=r?.map(e=>e.id);return t[kInternal].httpClient.createComment({roomId:e,threadId:n,commentId:a,body:o,attachmentIds:d}).then(e=>{s.createComment(e,c)},t=>l(t,c,t=>new CreateCommentError(t,{roomId:e,threadId:n,commentId:a,body:o}))),i},[t,e])}function useEditRoomComment(e){const t=useClient();return React.useCallback(({threadId:n,commentId:o,body:r,attachments:a})=>{const i=new Date,{store:s,onMutationFailure:l}=getRoomExtrasForClient(t),c=s.get1_threads().threadsDB.getEvenIfDeleted(n);if(void 0===c)return void fancy_console_exports.warn(`Internal unexpected behavior. Cannot edit comment in thread "${n}" because the thread does not exist in the cache.`);const d=c.comments.find(e=>e.id===o);if(void 0===d||void 0!==d.deletedAt)return void fancy_console_exports.warn(`Internal unexpected behavior. Cannot edit comment "${o}" in thread "${n}" because the comment does not exist in the cache.`);const u=s.optimisticUpdates.add({type:"edit-comment",comment:{...d,editedAt:i,body:r,attachments:a??[]}}),f=a?.map(e=>e.id);t[kInternal].httpClient.editComment({roomId:e,threadId:n,commentId:o,body:r,attachmentIds:f}).then(e=>{s.editComment(n,u,e)},t=>l(t,u,t=>new EditCommentError(t,{roomId:e,threadId:n,commentId:o,body:r})))},[t,e])}function useDeleteRoomComment(e){const t=useClient();return React.useCallback(({threadId:n,commentId:o})=>{const r=new Date,{store:a,onMutationFailure:i}=getRoomExtrasForClient(t),s=a.optimisticUpdates.add({type:"delete-comment",threadId:n,commentId:o,deletedAt:r,roomId:e});t[kInternal].httpClient.deleteComment({roomId:e,threadId:n,commentId:o}).then(()=>{a.deleteComment(n,s,o,r)},t=>i(t,s,t=>new DeleteCommentError(t,{roomId:e,threadId:n,commentId:o})))},[t,e])}function useAddRoomCommentReaction(e){const t=useClient();return React.useCallback(({threadId:n,commentId:o,emoji:r})=>{const a=new Date,i=getCurrentUserId(t),{store:s,onMutationFailure:l}=getRoomExtrasForClient(t),c=s.optimisticUpdates.add({type:"add-reaction",threadId:n,commentId:o,reaction:{emoji:r,userId:i,createdAt:a}});t[kInternal].httpClient.addReaction({roomId:e,threadId:n,commentId:o,emoji:r}).then(e=>{s.addReaction(n,c,o,e,a)},t=>l(t,c,t=>new AddReactionError(t,{roomId:e,threadId:n,commentId:o,emoji:r})))},[t,e])}function useRemoveRoomCommentReaction(e){const t=useClient();return React.useCallback(({threadId:n,commentId:o,emoji:r})=>{const a=getCurrentUserId(t),i=new Date,{store:s,onMutationFailure:l}=getRoomExtrasForClient(t),c=s.optimisticUpdates.add({type:"remove-reaction",threadId:n,commentId:o,emoji:r,userId:a,removedAt:i});t[kInternal].httpClient.removeReaction({roomId:e,threadId:n,commentId:o,emoji:r}).then(()=>{s.removeReaction(n,c,o,r,a,i)},t=>l(t,c,t=>new RemoveReactionError(t,{roomId:e,threadId:n,commentId:o,emoji:r})))},[t,e])}function useMarkRoomThreadAsRead(e){const t=useClient();return React.useCallback(n=>{const{store:o,onMutationFailure:r}=getRoomExtrasForClient(t),a=Object.values(o.get1_notifications().notificationsById).find(e=>"thread"===e.kind&&e.threadId===n);if(!a)return;const i=new Date,s=o.optimisticUpdates.add({type:"mark-inbox-notification-as-read",inboxNotificationId:a.id,readAt:i});t[kInternal].httpClient.markRoomInboxNotificationAsRead({roomId:e,inboxNotificationId:a.id}).then(()=>{o.markInboxNotificationRead(a.id,i,s)},e=>{r(e,s,e=>new MarkInboxNotificationAsReadError(e,{inboxNotificationId:a.id}))})},[t,e])}function useMarkRoomThreadAsResolved(e){const t=useClient();return React.useCallback(n=>{const o=new Date,{store:r,onMutationFailure:a}=getRoomExtrasForClient(t),i=r.optimisticUpdates.add({type:"mark-thread-as-resolved",threadId:n,updatedAt:o});t[kInternal].httpClient.markThreadAsResolved({roomId:e,threadId:n}).then(()=>{r.patchThread(n,i,{resolved:!0},o)},t=>a(t,i,t=>new MarkThreadAsResolvedError(t,{roomId:e,threadId:n})))},[t,e])}function useMarkRoomThreadAsUnresolved(e){const t=useClient();return React.useCallback(n=>{const o=new Date,{store:r,onMutationFailure:a}=getRoomExtrasForClient(t),i=r.optimisticUpdates.add({type:"mark-thread-as-unresolved",threadId:n,updatedAt:o});t[kInternal].httpClient.markThreadAsUnresolved({roomId:e,threadId:n}).then(()=>{r.patchThread(n,i,{resolved:!1},o)},t=>a(t,i,t=>new MarkThreadAsUnresolvedError(t,{roomId:e,threadId:n})))},[t,e])}function useThreadSubscription(e){const t=useClient(),{store:n}=getRoomExtrasForClient(t);return useSignal(n.outputs.threadifications,React.useCallback(t=>{const n=t.sortedNotifications.find(t=>"thread"===t.kind&&t.threadId===e),o=t.threadsDB.get(e);return void 0===n||void 0===o?{status:"not-subscribed"}:{status:"subscribed",unreadSince:n.readAt}},[e]),shallow)}function useThreadsSuspense(e={query:{metadata:{}}}){const t=useClient(),n=useRoom(),{store:o}=getRoomExtrasForClient(t);use(o.waitUntilRoomThreadsLoaded(n.id,e.query));const r=useThreads(e);return assert(!r.error),assert(!r.isLoading),r}function selectorFor_useAttachmentUrl(e){return void 0===e||e?.isLoading?e??{isLoading:!0}:e.error?e:(assert(void 0!==e.data),{isLoading:!1,url:e.data})}function useRoomAttachmentUrl(e,t){const n=useClient()[kInternal].httpClient.getOrCreateAttachmentUrlsStore(t),o=React.useCallback(()=>n.getState(e),[n,e]);return React.useEffect(()=>{n.get(e)},[n,e]),useSyncExternalStoreWithSelector(n.subscribe,o,o,selectorFor_useAttachmentUrl,shallow)}function useRoomPermissions(e){return useSignal(getRoomExtrasForClient(useClient()).store.permissionHints.signal,t=>t[e]??new Set)}var _RoomProvider=RoomProvider,_useThreadsSuspense=useThreadsSuspense,MENTION_SUGGESTIONS_DEBOUNCE=500;function useMentionSuggestions(e,t){const[n,o]=React.useState(),r=React.useRef(),a=useResolveMentionSuggestions(),i=useMentionSuggestionsCache();return React.useEffect(()=>{if(void 0===t||!a)return;const n={text:t,roomId:e},s=stringify(n);let l,c=!1;const d=async()=>{try{r.current=performance.now();const e=await a(n);c||(o(e),i.set(s,e))}catch(e){console.error(e?.message)}};return i.has(s)?o(i.get(s)):!r.current||Math.abs(performance.now()-r.current)>MENTION_SUGGESTIONS_DEBOUNCE?d():l=window.setTimeout(()=>{d()},MENTION_SUGGESTIONS_DEBOUNCE),()=>{c=!0,window.clearTimeout(l)}},[t,e,a,i]),n}function useSyncSource(){const e=useClient()[kInternal].createSyncSource,[t,n]=React.useState();return React.useEffect(()=>{const t=e();return n(t),()=>t.destroy()},[e]),t}function composeEventHandlers(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e?.(o),!1===n||!o.defaultPrevented)return t?.(o)}}var useLayoutEffect2=globalThis?.document?React__namespace.useLayoutEffect:()=>{},useInsertionEffect=React__namespace[" useInsertionEffect ".trim().toString()]||useLayoutEffect2;function useControllableState$1({prop:e,defaultProp:t,onChange:n=()=>{},caller:o}){const[r,a,i]=useUncontrolledState({defaultProp:t,onChange:n}),s=void 0!==e,l=s?e:r;{const t=React__namespace.useRef(void 0!==e);React__namespace.useEffect(()=>{const e=t.current;if(e!==s){const t=e?"controlled":"uncontrolled",n=s?"controlled":"uncontrolled";console.warn(`${o} is changing from ${t} to ${n}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=s},[s,o])}return[l,React__namespace.useCallback(t=>{if(s){const n=isFunction(t)?t(e):t;n!==e&&i.current?.(n)}else a(t)},[s,e,a,i])]}function useUncontrolledState({defaultProp:e,onChange:t}){const[n,o]=React__namespace.useState(e),r=React__namespace.useRef(n),a=React__namespace.useRef(t);return useInsertionEffect(()=>{a.current=t},[t]),React__namespace.useEffect(()=>{r.current!==n&&(a.current?.(n),r.current=n)},[n,r]),[n,o,a]}function isFunction(e){return"function"==typeof e}function setRef(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function composeRefs(...e){return t=>{let n=!1;const o=e.map(e=>{const o=setRef(e,t);return n||"function"!=typeof o||(n=!0),o});if(n)return()=>{for(let t=0;t<o.length;t++){const n=o[t];"function"==typeof n?n():setRef(e[t],null)}}}}function useComposedRefs(...e){return React__namespace.useCallback(composeRefs(...e),e)}function createSlot(e){const t=createSlotClone(e),n=React__namespace.forwardRef((e,n)=>{const{children:o,...r}=e,a=React__namespace.Children.toArray(o),i=a.find(isSlottable);if(i){const e=i.props.children,o=a.map(t=>t===i?React__namespace.Children.count(e)>1?React__namespace.Children.only(null):React__namespace.isValidElement(e)?e.props.children:null:t);return jsxRuntime.exports.jsx(t,{...r,ref:n,children:React__namespace.isValidElement(e)?React__namespace.cloneElement(e,void 0,o):null})}return jsxRuntime.exports.jsx(t,{...r,ref:n,children:o})});return n.displayName=`${e}.Slot`,n}var Slot$2=createSlot("Slot");function createSlotClone(e){const t=React__namespace.forwardRef((e,t)=>{const{children:n,...o}=e;if(React__namespace.isValidElement(n)){const e=getElementRef$1(n),r=mergeProps(o,n.props);return n.type!==React__namespace.Fragment&&(r.ref=t?composeRefs(t,e):e),React__namespace.cloneElement(n,r)}return React__namespace.Children.count(n)>1?React__namespace.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var SLOTTABLE_IDENTIFIER=Symbol("radix.slottable");function createSlottable(e){const t=({children:e})=>jsxRuntime.exports.jsx(jsxRuntime.exports.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=SLOTTABLE_IDENTIFIER,t}var Slottable$1=createSlottable("Slottable");function isSlottable(e){return React__namespace.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===SLOTTABLE_IDENTIFIER}function mergeProps(e,t){const n={...t};for(const o in t){const r=e[o],a=t[o];/^on[A-Z]/.test(o)?r&&a?n[o]=(...e)=>{const t=a(...e);return r(...e),t}:r&&(n[o]=r):"style"===o?n[o]={...r,...a}:"className"===o&&(n[o]=[r,a].filter(Boolean).join(" "))}return{...e,...n}}function getElementRef$1(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var NODES=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Primitive=NODES.reduce((e,t)=>{const n=createSlot(`Primitive.${t}`),o=React__namespace.forwardRef((e,o)=>{const{asChild:r,...a}=e,i=r?n:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),jsxRuntime.exports.jsx(i,{...a,ref:o})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});function dispatchDiscreteCustomEvent(e,t){e&&ReactDOM__namespace.flushSync(()=>e.dispatchEvent(t))}var NAME$2="Toggle",Toggle=React__namespace.forwardRef((e,t)=>{const{pressed:n,defaultPressed:o,onPressedChange:r,...a}=e,[i,s]=useControllableState$1({prop:n,onChange:r,defaultProp:o??!1,caller:NAME$2});return jsxRuntime.exports.jsx(Primitive.button,{type:"button","aria-pressed":i,"data-state":i?"on":"off","data-disabled":e.disabled?"":void 0,...a,ref:t,onClick:composeEventHandlers(e.onClick,()=>{e.disabled||s(!i)})})});Toggle.displayName=NAME$2;var Root$3=Toggle;function classNames(...e){return e.filter(e=>"string"==typeof e||"number"==typeof e).join(" ")}const ICON_WIDTH=20,ICON_HEIGHT=20;function Icon({children:e,className:t,...n}){return jsxRuntime.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:ICON_WIDTH,height:ICON_HEIGHT,viewBox:`0 0 ${ICON_WIDTH} ${ICON_HEIGHT}`,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",role:"presentation",className:classNames("lb-icon",t),...n,children:e})}function CheckIcon(e){return jsxRuntime.exports.jsx(Icon,{...e,children:jsxRuntime.exports.jsx("path",{d:"M16 6L8 14L4 10"})})}function CrossIcon(e){return jsxRuntime.exports.jsxs(Icon,{...e,children:[jsxRuntime.exports.jsx("path",{d:"M15 5L5 15"}),jsxRuntime.exports.jsx("path",{d:"M5 5L15 15"})]})}function DeleteIcon(e){return jsxRuntime.exports.jsx(Icon,{...e,children:jsxRuntime.exports.jsx("path",{d:"M4.5 6.5h11M14 6.5V14a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 6 14V6.5M7.5 6.5V5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v1.5"})})}function EditIcon(e){return jsxRuntime.exports.jsx(Icon,{...e,children:jsxRuntime.exports.jsx("path",{d:"m11.784 5.797-6.13 6.138a4 4 0 0 0-1.03 1.775L4 16l2.285-.624a4 4 0 0 0 1.776-1.032l6.145-6.152m-2.422-2.395 1.244-1.246c.608-.608 1.826-.81 2.53-.104.7.7.499 1.893-.122 2.515l-1.23 1.23m-2.422-2.395 2.422 2.395"})})}function EllipsisIcon(e){return jsxRuntime.exports.jsxs(Icon,{fill:"currentColor",...e,children:[jsxRuntime.exports.jsx("circle",{cx:5,cy:10,r:.75}),jsxRuntime.exports.jsx("circle",{cx:10,cy:10,r:.75}),jsxRuntime.exports.jsx("circle",{cx:15,cy:10,r:.75})]})}function EmojiAddIcon(e){return jsxRuntime.exports.jsxs(Icon,{...e,children:[jsxRuntime.exports.jsx("path",{d:"M11 3.07A7 7 0 1 0 16.93 9"}),jsxRuntime.exports.jsx("path",{d:"M7.5 11.5S8.25 13 10 13s2.5-1.5 2.5-1.5M8 8h0"}),jsxRuntime.exports.jsx("path",{d:"M12 8h0"}),jsxRuntime.exports.jsx("path",{d:"M13 5h4m-2-2v4"}),jsxRuntime.exports.jsx("circle",{cx:"8",cy:"8",r:".25"}),jsxRuntime.exports.jsx("circle",{cx:"12",cy:"8",r:".25"})]})}const FLOATING_ELEMENT_SIDE_OFFSET=6,FLOATING_ELEMENT_COLLISION_PADDING=10,EMOJI_FONT_FAMILY="'Apple Color Emoji', 'Noto Color Emoji', 'Twemoji Mozilla', 'Android Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', EmojiSymbols, sans-serif",Emoji$1=React.forwardRef(({emoji:e,style:t,asChild:n,...o},r)=>{const a=n?Slot$2:"span";return jsxRuntime.exports.jsx(a,{role:"img","aria-label":e,"data-emoji":e,style:{...t,fontFamily:EMOJI_FONT_FAMILY,display:"inline-flex",alignItems:"center",justifyContent:"center",width:"1em",whiteSpace:"nowrap"},...o,ref:r,children:e})}),Emoji=React.forwardRef(({className:e,...t},n)=>jsxRuntime.exports.jsx(Emoji$1,{className:classNames("lb-emoji",e),...t,ref:n}));function pluralize(e,t,n){return 1===e?t:n??`${t}s`}const defaultOverrides={locale:"en",dir:"ltr",USER_SELF:"you",USER_UNKNOWN:"Anonymous",LIST_REMAINING:e=>`${e} more`,LIST_REMAINING_USERS:e=>`${e} ${pluralize(e,"other")}`,LIST_REMAINING_COMMENTS:e=>`${e} more ${pluralize(e,"comment")}`,EMOJI_PICKER_SEARCH_PLACEHOLDER:"Search…",EMOJI_PICKER_EMPTY:"No emoji found.",EMOJI_PICKER_ERROR:()=>"There was an error while getting the list of emoji.",ATTACHMENT_TOO_LARGE:e=>e?`The file is larger than ${e}`:"The file is too large",ATTACHMENT_ERROR:()=>"The file couldn’t be uploaded.",COMPOSER_INSERT_MENTION:"Mention someone",COMPOSER_INSERT_EMOJI:"Add emoji",COMPOSER_ATTACH_FILES:"Attach files",COMPOSER_REMOVE_ATTACHMENT:"Remove attachment",COMPOSER_PLACEHOLDER:"Write a comment…",COMPOSER_SEND:"Send",COMPOSER_TOGGLE_MARK:e=>{switch(e){case"bold":return"Bold";case"italic":return"Italic";case"strikethrough":return"Strikethrough";case"code":return"Inline code";default:return assertNever(e,"Unexpected mark")}},COMMENT_EDITED:"(edited)",COMMENT_DELETED:"This comment has been deleted.",COMMENT_MORE:"More",COMMENT_EDIT:"Edit comment",COMMENT_EDIT_COMPOSER_PLACEHOLDER:"Edit comment…",COMMENT_EDIT_COMPOSER_CANCEL:"Cancel",COMMENT_EDIT_COMPOSER_SAVE:"Save",COMMENT_DELETE:"Delete comment",COMMENT_DELETE_ATTACHMENT:"Delete attachment",COMMENT_ADD_REACTION:"Add reaction",COMMENT_REACTION_LIST:(e,t)=>jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[e," reacted with ",jsxRuntime.exports.jsx(Emoji,{emoji:t})]}),COMMENT_REACTION_DESCRIPTION:(e,t)=>`${t} ${pluralize(t,"reaction")}, react with ${e}`,THREAD_RESOLVE:"Resolve thread",THREAD_UNRESOLVE:"Re-open thread",THREAD_NEW_INDICATOR:"New",THREAD_NEW_INDICATOR_DESCRIPTION:"New comments",THREAD_COMPOSER_PLACEHOLDER:"Reply to thread…",THREAD_COMPOSER_SEND:"Reply",INBOX_NOTIFICATION_MORE:"More",INBOX_NOTIFICATION_MARK_AS_READ:"Mark as read",INBOX_NOTIFICATION_DELETE:"Delete notification",INBOX_NOTIFICATION_THREAD_COMMENTS_LIST:(e,t)=>jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[e," commented",t?jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[" in ",t]}):jsxRuntime.exports.jsx(jsxRuntime.exports.Fragment,{children:" in a thread"})]}),INBOX_NOTIFICATION_THREAD_MENTION:(e,t)=>jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[e," mentioned you",t?jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[" in ",t]}):null]}),INBOX_NOTIFICATION_TEXT_MENTION:(e,t)=>jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[e," mentioned you",t?jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[" in ",t]}):null]}),HISTORY_VERSION_PREVIEW_AUTHORS_LIST:e=>jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:["Edits from ",e]}),HISTORY_VERSION_PREVIEW_RESTORE:"Restore",HISTORY_VERSION_PREVIEW_EMPTY:"No content.",HISTORY_VERSION_PREVIEW_ERROR:()=>"There was an error while getting this version."},OverridesContext=React.createContext(void 0);function useOverrides(e){const t=React.useContext(OverridesContext);return React.useMemo(()=>({...defaultOverrides,...t,...e}),[t,e])}function OverridesProvider({children:e,overrides:t}){const n=React.useContext(OverridesContext),o=React.useMemo(()=>({...defaultOverrides,...n,...t}),[n,t]);return jsxRuntime.exports.jsx(OverridesContext.Provider,{value:o,children:e})}
|
|
2
2
|
/*!
|
|
3
3
|
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2014-2017, Jon Schlinkert.
|
|
6
6
|
* Released under the MIT License.
|
|
7
|
-
*/function yo(e){return"[object Object]"===Object.prototype.toString.call(e)}function bo(e){var t,n;return!1!==yo(e)&&(void 0===(t=e.constructor)||!1!==yo(n=t.prototype)&&!1!==n.hasOwnProperty("isPrototypeOf"))}var Eo=Symbol.for("immer-nothing"),wo=Symbol.for("immer-draftable"),Co=Symbol.for("immer-state");function Do(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Ao=Object.getPrototypeOf;function xo(e){return!!e&&!!e[Co]}function _o(e){return!!e&&(Oo(e)||Array.isArray(e)||!!e[wo]||!!e.constructor?.[wo]||Fo(e)||Ro(e))}var Bo=Object.prototype.constructor.toString();function Oo(e){if(!e||"object"!=typeof e)return!1;const t=Ao(e);if(null===t)return!0;const n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return n===Object||"function"==typeof n&&Function.toString.call(n)===Bo}function So(e,t){0===To(e)?Reflect.ownKeys(e).forEach((n=>{t(n,e[n],e)})):e.forEach(((n,r)=>t(r,n,e)))}function To(e){const t=e[Co];return t?t.type_:Array.isArray(e)?1:Fo(e)?2:Ro(e)?3:0}function ko(e,t){return 2===To(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Io(e,t,n){const r=To(e);2===r?e.set(t,n):3===r?e.add(n):e[t]=n}function Fo(e){return e instanceof Map}function Ro(e){return e instanceof Set}function No(e){return e.copy_||e.base_}function Po(e,t){if(Fo(e))return new Map(e);if(Ro(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const n=Oo(e);if(!0===t||"class_only"===t&&!n){const t=Object.getOwnPropertyDescriptors(e);delete t[Co];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const o=n[r],a=t[o];!1===a.writable&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(t[o]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[o]})}return Object.create(Ao(e),t)}{const t=Ao(e);if(null!==t&&n)return{...e};const r=Object.create(t);return Object.assign(r,e)}}function Mo(e,t=!1){return Lo(e)||xo(e)||!_o(e)||(To(e)>1&&(e.set=e.add=e.clear=e.delete=jo),Object.freeze(e),t&&Object.entries(e).forEach((([e,t])=>Mo(t,!0)))),e}function jo(){Do(2)}function Lo(e){return Object.isFrozen(e)}var zo,Ho={};function Uo(e){const t=Ho[e];return t||Do(0),t}function Wo(){return zo}function $o(e,t){t&&(Uo("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Vo(e){Ko(e),e.drafts_.forEach(Go),e.drafts_=null}function Ko(e){e===zo&&(zo=e.parent_)}function qo(e){return zo={drafts_:[],parent_:zo,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function Go(e){const t=e[Co];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function Xo(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];return void 0!==e&&e!==n?(n[Co].modified_&&(Vo(t),Do(4)),_o(e)&&(e=Zo(t,e),t.parent_||Jo(t,e)),t.patches_&&Uo("Patches").generateReplacementPatches_(n[Co].base_,e,t.patches_,t.inversePatches_)):e=Zo(t,n,[]),Vo(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Eo?e:void 0}function Zo(e,t,n){if(Lo(t))return t;const r=t[Co];if(!r)return So(t,((o,a)=>Yo(e,r,t,o,a,n))),t;if(r.scope_!==e)return t;if(!r.modified_)return Jo(e,r.base_,!0),r.base_;if(!r.finalized_){r.finalized_=!0,r.scope_.unfinalizedDrafts_--;const t=r.copy_;let o=t,a=!1;3===r.type_&&(o=new Set(t),t.clear(),a=!0),So(o,((o,i)=>Yo(e,r,t,o,i,n,a))),Jo(e,t,!1),n&&e.patches_&&Uo("Patches").generatePatches_(r,n,e.patches_,e.inversePatches_)}return r.copy_}function Yo(e,t,n,r,o,a,i){if(xo(o)){const i=Zo(e,o,a&&t&&3!==t.type_&&!ko(t.assigned_,r)?a.concat(r):void 0);if(Io(n,r,i),!xo(i))return;e.canAutoFreeze_=!1}else i&&n.add(o);if(_o(o)&&!Lo(o)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;Zo(e,o),t&&t.scope_.parent_||"symbol"==typeof r||!Object.prototype.propertyIsEnumerable.call(n,r)||Jo(e,o)}}function Jo(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Mo(t,n)}var Qo={get(e,t){if(t===Co)return e;const n=No(e);if(!ko(n,t))return function(e,t,n){const r=na(t,n);return r?"value"in r?r.value:r.get?.call(e.draft_):void 0}(e,n,t);const r=n[t];return e.finalized_||!_o(r)?r:r===ta(e.base_,t)?(oa(e),e.copy_[t]=aa(r,e)):r},has:(e,t)=>t in No(e),ownKeys:e=>Reflect.ownKeys(No(e)),set(e,t,n){const r=na(No(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=ta(No(e),t),i=r?.[Co];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_[t]=!1,!0;if(((o=n)===(a=r)?0!==o||1/o==1/a:o!=o&&a!=a)&&(void 0!==n||ko(e.base_,t)))return!0;oa(e),ra(e)}var o,a;return e.copy_[t]===n&&(void 0!==n||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_[t]=!0),!0},deleteProperty:(e,t)=>(void 0!==ta(e.base_,t)||t in e.base_?(e.assigned_[t]=!1,oa(e),ra(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=No(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.type_||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},defineProperty(){Do(11)},getPrototypeOf:e=>Ao(e.base_),setPrototypeOf(){Do(12)}},ea={};function ta(e,t){const n=e[Co];return(n?No(n):e)[t]}function na(e,t){if(!(t in e))return;let n=Ao(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Ao(n)}}function ra(e){e.modified_||(e.modified_=!0,e.parent_&&ra(e.parent_))}function oa(e){e.copy_||(e.copy_=Po(e.base_,e.scope_.immer_.useStrictShallowCopy_))}So(Qo,((e,t)=>{ea[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}})),ea.deleteProperty=function(e,t){return ea.set.call(this,e,t,void 0)},ea.set=function(e,t,n){return Qo.set.call(this,e[0],t,n,e[0])};function aa(e,t){const n=Fo(e)?Uo("MapSet").proxyMap_(e,t):Ro(e)?Uo("MapSet").proxySet_(e,t):function(e,t){const n=Array.isArray(e),r={type_:n?1:0,scope_:t?t.scope_:Wo(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let o=r,a=Qo;n&&(o=[r],a=ea);const{revoke:i,proxy:s}=Proxy.revocable(o,a);return r.draft_=s,r.revoke_=i,s}(e,t);return(t?t.scope_:Wo()).drafts_.push(n),n}function ia(e){if(!_o(e)||Lo(e))return e;const t=e[Co];let n;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Po(e,t.scope_.immer_.useStrictShallowCopy_)}else n=Po(e,!0);return So(n,((e,t)=>{Io(n,e,ia(t))})),t&&(t.finalized_=!1),n}var sa=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(e,t,n)=>{if("function"==typeof e&&"function"!=typeof t){const n=t;t=e;const r=this;return function(e=n,...o){return r.produce(e,(e=>t.call(this,e,...o)))}}let r;if("function"!=typeof t&&Do(6),void 0!==n&&"function"!=typeof n&&Do(7),_o(e)){const o=qo(this),a=aa(e,void 0);let i=!0;try{r=t(a),i=!1}finally{i?Vo(o):Ko(o)}return $o(o,n),Xo(r,o)}if(!e||"object"!=typeof e){if(r=t(e),void 0===r&&(r=e),r===Eo&&(r=void 0),this.autoFreeze_&&Mo(r,!0),n){const t=[],o=[];Uo("Patches").generateReplacementPatches_(e,r,t,o),n(t,o)}return r}Do(1)},this.produceWithPatches=(e,t)=>{if("function"==typeof e)return(t,...n)=>this.produceWithPatches(t,(t=>e(t,...n)));let n,r;return[this.produce(e,t,((e,t)=>{n=e,r=t})),n,r]},"boolean"==typeof e?.autoFreeze&&this.setAutoFreeze(e.autoFreeze),"boolean"==typeof e?.useStrictShallowCopy&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){_o(e)||Do(8),xo(e)&&(e=function(e){xo(e)||Do(10);return ia(e)}(e));const t=qo(this),n=aa(e,void 0);return n[Co].isManual_=!0,Ko(t),n}finishDraft(e,t){const n=e&&e[Co];n&&n.isManual_||Do(9);const{scope_:r}=n;return $o(r,t),Xo(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}n>-1&&(t=t.slice(n+1));const r=Uo("Patches").applyPatches_;return xo(e)?r(e,t):this.produce(e,(e=>r(e,t)))}},ua=sa.produce;sa.produceWithPatches.bind(sa),sa.setAutoFreeze.bind(sa),sa.setUseStrictShallowCopy.bind(sa),sa.applyPatches.bind(sa);var ca=sa.createDraft.bind(sa),la=sa.finishDraft.bind(sa),da={transform(e,t){var{current:n,affinity:r}=e;if(null!=n){var o=wa.transform(n,t,{affinity:r});e.current=o,null==o&&e.unref()}}},fa={transform(e,t){var{current:n,affinity:r}=e;if(null!=n){var o=Xa.transform(n,t,{affinity:r});e.current=o,null==o&&e.unref()}}},ha={transform(e,t){var{current:n,affinity:r}=e;if(null!=n){var o=Ra.transform(n,t,{affinity:r});e.current=o,null==o&&e.unref()}}},pa=new WeakMap,ma=new WeakMap,va=new WeakMap,ga=new WeakMap,ya=new WeakMap,ba=new WeakMap,Ea=new WeakMap,wa={ancestors(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:n=!1}=t,r=wa.levels(e,t);return r=n?r.slice(1):r.slice(0,-1)},common(e,t){for(var n=[],r=0;r<e.length&&r<t.length;r++){var o=e[r];if(o!==t[r])break;n.push(o)}return n},compare(e,t){for(var n=Math.min(e.length,t.length),r=0;r<n;r++){if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return 0},endsAfter(e,t){var n=e.length-1,r=e.slice(0,n),o=t.slice(0,n),a=e[n],i=t[n];return wa.equals(r,o)&&a>i},endsAt(e,t){var n=e.length,r=e.slice(0,n),o=t.slice(0,n);return wa.equals(r,o)},endsBefore(e,t){var n=e.length-1,r=e.slice(0,n),o=t.slice(0,n),a=e[n],i=t[n];return wa.equals(r,o)&&a<i},equals:(e,t)=>e.length===t.length&&e.every(((e,n)=>e===t[n])),hasPrevious:e=>e[e.length-1]>0,isAfter:(e,t)=>1===wa.compare(e,t),isAncestor:(e,t)=>e.length<t.length&&0===wa.compare(e,t),isBefore:(e,t)=>-1===wa.compare(e,t),isChild:(e,t)=>e.length===t.length+1&&0===wa.compare(e,t),isCommon:(e,t)=>e.length<=t.length&&0===wa.compare(e,t),isDescendant:(e,t)=>e.length>t.length&&0===wa.compare(e,t),isParent:(e,t)=>e.length+1===t.length&&0===wa.compare(e,t),isPath:e=>Array.isArray(e)&&(0===e.length||"number"==typeof e[0]),isSibling(e,t){if(e.length!==t.length)return!1;var n=e.slice(0,-1),r=t.slice(0,-1);return e[e.length-1]!==t[t.length-1]&&wa.equals(n,r)},levels(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:n=!1}=t,r=[],o=0;o<=e.length;o++)r.push(e.slice(0,o));return n&&r.reverse(),r},next(e){if(0===e.length)throw new Error("Cannot get the next path of a root path [".concat(e,"], because it has no next index."));var t=e[e.length-1];return e.slice(0,-1).concat(t+1)},operationCanTransformPath(e){switch(e.type){case"insert_node":case"remove_node":case"merge_node":case"split_node":case"move_node":return!0;default:return!1}},parent(e){if(0===e.length)throw new Error("Cannot get the parent path of the root path [".concat(e,"]."));return e.slice(0,-1)},previous(e){if(0===e.length)throw new Error("Cannot get the previous path of a root path [".concat(e,"], because it has no previous index."));var t=e[e.length-1];if(t<=0)throw new Error("Cannot get the previous path of a first child path [".concat(e,"] because it would result in a negative index."));return e.slice(0,-1).concat(t-1)},relative(e,t){if(!wa.isAncestor(t,e)&&!wa.equals(e,t))throw new Error("Cannot get the relative path of [".concat(e,"] inside ancestor [").concat(t,"], because it is not above or equal to the path."));return e.slice(t.length)},transform(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e)return null;var r=[...e],{affinity:o="forward"}=n;if(0===e.length)return r;switch(t.type){case"insert_node":var{path:a}=t;(wa.equals(a,r)||wa.endsBefore(a,r)||wa.isAncestor(a,r))&&(r[a.length-1]+=1);break;case"remove_node":var{path:i}=t;if(wa.equals(i,r)||wa.isAncestor(i,r))return null;wa.endsBefore(i,r)&&(r[i.length-1]-=1);break;case"merge_node":var{path:s,position:u}=t;wa.equals(s,r)||wa.endsBefore(s,r)?r[s.length-1]-=1:wa.isAncestor(s,r)&&(r[s.length-1]-=1,r[s.length]+=u);break;case"split_node":var{path:c,position:l}=t;if(wa.equals(c,r)){if("forward"===o)r[r.length-1]+=1;else if("backward"!==o)return null}else wa.endsBefore(c,r)?r[c.length-1]+=1:wa.isAncestor(c,r)&&e[c.length]>=l&&(r[c.length-1]+=1,r[c.length]-=l);break;case"move_node":var{path:d,newPath:f}=t;if(wa.equals(d,f))return r;if(wa.isAncestor(d,r)||wa.equals(d,r)){var h=f.slice();return wa.endsBefore(d,f)&&d.length<f.length&&(h[d.length-1]-=1),h.concat(r.slice(d.length))}wa.isSibling(d,f)&&(wa.isAncestor(f,r)||wa.equals(f,r))?wa.endsBefore(d,r)?r[d.length-1]-=1:r[d.length-1]+=1:wa.endsBefore(f,r)||wa.equals(f,r)||wa.isAncestor(f,r)?(wa.endsBefore(d,r)&&(r[d.length-1]-=1),r[f.length-1]+=1):wa.endsBefore(d,r)&&(wa.equals(f,r)&&(r[f.length-1]+=1),r[d.length-1]-=1)}return r}};function Ca(e){return Ca="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ca(e)}function Da(e){var t=function(e,t){if("object"!==Ca(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Ca(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ca(t)?t:String(t)}function Aa(e,t,n){return(t=Da(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?xa(Object(n),!0).forEach((function(t){Aa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xa(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Ba={transform(e,t){e.children=ca(e.children);var n=e.selection&&ca(e.selection);try{n=((e,t,n)=>{switch(n.type){case"insert_node":var{path:r,node:o}=n,a=za.parent(e,r),i=r[r.length-1];if(i>a.children.length)throw new Error('Cannot apply an "insert_node" operation at path ['.concat(r,"] because the destination is past the end of the node."));if(a.children.splice(i,0,o),t)for(var[s,u]of Ra.points(t))t[u]=Xa.transform(s,n);break;case"insert_text":var{path:c,offset:l,text:d}=n;if(0===d.length)break;var f=za.leaf(e,c),h=f.text.slice(0,l),p=f.text.slice(l);if(f.text=h+d+p,t)for(var[m,v]of Ra.points(t))t[v]=Xa.transform(m,n);break;case"merge_node":var{path:g}=n,y=za.get(e,g),b=wa.previous(g),E=za.get(e,b),w=za.parent(e,g),C=g[g.length-1];if(ri.isText(y)&&ri.isText(E))E.text+=y.text;else{if(ri.isText(y)||ri.isText(E))throw new Error('Cannot apply a "merge_node" operation at path ['.concat(g,"] to nodes of different interfaces: ").concat(Ya.stringify(y)," ").concat(Ya.stringify(E)));E.children.push(...y.children)}if(w.children.splice(C,1),t)for(var[D,A]of Ra.points(t))t[A]=Xa.transform(D,n);break;case"move_node":var{path:x,newPath:_}=n;if(wa.isAncestor(x,_))throw new Error("Cannot move a path [".concat(x,"] to new path [").concat(_,"] because the destination is inside itself."));var B=za.get(e,x),O=za.parent(e,x),S=x[x.length-1];O.children.splice(S,1);var T=wa.transform(x,n),k=za.get(e,wa.parent(T)),I=T[T.length-1];if(k.children.splice(I,0,B),t)for(var[F,R]of Ra.points(t))t[R]=Xa.transform(F,n);break;case"remove_node":var{path:N}=n,P=N[N.length-1];if(za.parent(e,N).children.splice(P,1),t)for(var[M,j]of Ra.points(t)){var L=Xa.transform(M,n);if(null!=t&&null!=L)t[j]=L;else{var z=void 0,H=void 0;for(var[U,W]of za.texts(e)){if(-1!==wa.compare(W,N)){H=[U,W];break}z=[U,W]}var $=!1;z&&H&&($=wa.equals(H[1],N)?!wa.hasPrevious(H[1]):wa.common(z[1],N).length<wa.common(H[1],N).length),z&&!$?(M.path=z[1],M.offset=z[0].text.length):H?(M.path=H[1],M.offset=0):t=null}}break;case"remove_text":var{path:V,offset:K,text:q}=n;if(0===q.length)break;var G=za.leaf(e,V),X=G.text.slice(0,K),Z=G.text.slice(K+q.length);if(G.text=X+Z,t)for(var[Y,J]of Ra.points(t))t[J]=Xa.transform(Y,n);break;case"set_node":var{path:Q,properties:ee,newProperties:te}=n;if(0===Q.length)throw new Error("Cannot set properties on the root node!");var ne=za.get(e,Q);for(var re in te){if("children"===re||"text"===re)throw new Error('Cannot set the "'.concat(re,'" property of nodes!'));var oe=te[re];null==oe?delete ne[re]:ne[re]=oe}for(var ae in ee)te.hasOwnProperty(ae)||delete ne[ae];break;case"set_selection":var{newProperties:ie}=n;if(null==ie)t=ie;else{if(null==t){if(!Ra.isRange(ie))throw new Error('Cannot apply an incomplete "set_selection" operation properties '.concat(Ya.stringify(ie)," when there is no current selection."));t=_a({},ie)}for(var se in ie){var ue=ie[se];if(null==ue){if("anchor"===se||"focus"===se)throw new Error('Cannot remove the "'.concat(se,'" selection property'));delete t[se]}else t[se]=ue}}break;case"split_node":var{path:ce,position:le,properties:de}=n;if(0===ce.length)throw new Error('Cannot apply a "split_node" operation at path ['.concat(ce,"] because the root node cannot be split."));var fe,he=za.get(e,ce),pe=za.parent(e,ce),me=ce[ce.length-1];if(ri.isText(he)){var ve=he.text.slice(0,le),ge=he.text.slice(le);he.text=ve,fe=_a(_a({},de),{},{text:ge})}else{var ye=he.children.slice(0,le),be=he.children.slice(le);he.children=ye,fe=_a(_a({},de),{},{children:be})}if(pe.children.splice(me+1,0,fe),t)for(var[Ee,we]of Ra.points(t))t[we]=Xa.transform(Ee,n)}return t})(e,n,t)}finally{e.children=la(e.children),e.selection=n?xo(n)?la(n):n:null}}},Oa={insertNodes(e,t,n){e.insertNodes(t,n)},liftNodes(e,t){e.liftNodes(t)},mergeNodes(e,t){e.mergeNodes(t)},moveNodes(e,t){e.moveNodes(t)},removeNodes(e,t){e.removeNodes(t)},setNodes(e,t,n){e.setNodes(t,n)},splitNodes(e,t){e.splitNodes(t)},unsetNodes(e,t,n){e.unsetNodes(t,n)},unwrapNodes(e,t){e.unwrapNodes(t)},wrapNodes(e,t,n){e.wrapNodes(t,n)}},Sa={collapse(e,t){e.collapse(t)},deselect(e){e.deselect()},move(e,t){e.move(t)},select(e,t){e.select(t)},setPoint(e,t,n){e.setPoint(t,n)},setSelection(e,t){e.setSelection(t)}},Ta=(e,t)=>{for(var n in e){var r=e[n],o=t[n];if(bo(r)&&bo(o)){if(!Ta(r,o))return!1}else if(Array.isArray(r)&&Array.isArray(o)){if(r.length!==o.length)return!1;for(var a=0;a<r.length;a++)if(r[a]!==o[a])return!1}else if(r!==o)return!1}for(var i in t)if(void 0===e[i]&&void 0!==t[i])return!1;return!0};function ka(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Ia=["anchor","focus"];function Fa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Ra={edges(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:n=!1}=t,{anchor:r,focus:o}=e;return Ra.isBackward(e)===n?[r,o]:[o,r]},end(e){var[,t]=Ra.edges(e);return t},equals:(e,t)=>Xa.equals(e.anchor,t.anchor)&&Xa.equals(e.focus,t.focus),surrounds(e,t){var n=Ra.intersection(e,t);return!!n&&Ra.equals(n,t)},includes(e,t){if(Ra.isRange(t)){if(Ra.includes(e,t.anchor)||Ra.includes(e,t.focus))return!0;var[n,r]=Ra.edges(e),[o,a]=Ra.edges(t);return Xa.isBefore(n,o)&&Xa.isAfter(r,a)}var[i,s]=Ra.edges(e),u=!1,c=!1;return Xa.isPoint(t)?(u=Xa.compare(t,i)>=0,c=Xa.compare(t,s)<=0):(u=wa.compare(t,i.path)>=0,c=wa.compare(t,s.path)<=0),u&&c},intersection(e,t){var n=ka(e,Ia),[r,o]=Ra.edges(e),[a,i]=Ra.edges(t),s=Xa.isBefore(r,a)?a:r,u=Xa.isBefore(o,i)?o:i;return Xa.isBefore(u,s)?null:function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Fa(Object(n),!0).forEach((function(t){Aa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Fa(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({anchor:s,focus:u},n)},isBackward(e){var{anchor:t,focus:n}=e;return Xa.isAfter(t,n)},isCollapsed(e){var{anchor:t,focus:n}=e;return Xa.equals(t,n)},isExpanded:e=>!Ra.isCollapsed(e),isForward:e=>!Ra.isBackward(e),isRange:e=>bo(e)&&Xa.isPoint(e.anchor)&&Xa.isPoint(e.focus),*points(e){yield[e.anchor,"anchor"],yield[e.focus,"focus"]},start(e){var[t]=Ra.edges(e);return t},transform(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return ua(e,(e=>{if(null===e)return null;var r,o,{affinity:a="inward"}=n;if("inward"===a){var i=Ra.isCollapsed(e);Ra.isForward(e)?(r="forward",o=i?r:"backward"):(r="backward",o=i?r:"forward")}else"outward"===a?Ra.isForward(e)?(r="backward",o="forward"):(r="forward",o="backward"):(r=a,o=a);var s=Xa.transform(e.anchor,t,{affinity:r}),u=Xa.transform(e.focus,t,{affinity:o});if(!s||!u)return null;e.anchor=s,e.focus=u}))}},Na=e=>bo(e)&&za.isNodeList(e.children)&&!Va.isEditor(e),Pa={isAncestor:e=>bo(e)&&za.isNodeList(e.children),isElement:Na,isElementList:e=>Array.isArray(e)&&e.every((e=>Pa.isElement(e))),isElementProps:e=>void 0!==e.children,isElementType:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"type";return Na(e)&&e[n]===t},matches(e,t){for(var n in t)if("children"!==n&&e[n]!==t[n])return!1;return!0}},Ma=["children"],ja=["text"],La=new WeakMap,za={ancestor(e,t){var n=za.get(e,t);if(ri.isText(n))throw new Error("Cannot get the ancestor node at path [".concat(t,"] because it refers to a text node instead: ").concat(Ya.stringify(n)));return n},ancestors(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var r of wa.ancestors(t,n)){var o=[za.ancestor(e,r),r];yield o}}()},child(e,t){if(ri.isText(e))throw new Error("Cannot get the child of a text node: ".concat(Ya.stringify(e)));var n=e.children[t];if(null==n)throw new Error("Cannot get child at index `".concat(t,"` in node: ").concat(Ya.stringify(e)));return n},children(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var{reverse:r=!1}=n,o=za.ancestor(e,t),{children:a}=o,i=r?a.length-1:0;r?i>=0:i<a.length;){var s=za.child(o,i),u=t.concat(i);yield[s,u],i=r?i-1:i+1}}()},common(e,t,n){var r=wa.common(t,n);return[za.get(e,r),r]},descendant(e,t){var n=za.get(e,t);if(Va.isEditor(n))throw new Error("Cannot get the descendant node at path [".concat(t,"] because it refers to the root editor node instead: ").concat(Ya.stringify(n)));return n},descendants(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[n,r]of za.nodes(e,t))0!==r.length&&(yield[n,r])}()},elements(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[n,r]of za.nodes(e,t))Pa.isElement(n)&&(yield[n,r])}()},extractProps:e=>Pa.isAncestor(e)?ka(e,Ma):ka(e,ja),first(e,t){for(var n=t.slice(),r=za.get(e,n);r&&!ri.isText(r)&&0!==r.children.length;)r=r.children[0],n.push(0);return[r,n]},fragment(e,t){if(ri.isText(e))throw new Error("Cannot get a fragment starting from a root text node: ".concat(Ya.stringify(e)));var n=ua({children:e.children},(e=>{var[n,r]=Ra.edges(t),o=za.nodes(e,{reverse:!0,pass:e=>{var[,n]=e;return!Ra.includes(t,n)}});for(var[,a]of o){if(!Ra.includes(t,a)){var i=za.parent(e,a),s=a[a.length-1];i.children.splice(s,1)}if(wa.equals(a,r.path)){var u=za.leaf(e,a);u.text=u.text.slice(0,r.offset)}if(wa.equals(a,n.path)){var c=za.leaf(e,a);c.text=c.text.slice(n.offset)}}Va.isEditor(e)&&(e.selection=null)}));return n.children},get(e,t){var n=za.getIf(e,t);if(void 0===n)throw new Error("Cannot find a descendant at path [".concat(t,"] in node: ").concat(Ya.stringify(e)));return n},getIf(e,t){for(var n=e,r=0;r<t.length;r++){var o=t[r];if(ri.isText(n)||!n.children[o])return;n=n.children[o]}return n},has(e,t){for(var n=e,r=0;r<t.length;r++){var o=t[r];if(ri.isText(n)||!n.children[o])return!1;n=n.children[o]}return!0},isNode:e=>ri.isText(e)||Pa.isElement(e)||Va.isEditor(e),isNodeList(e){if(!Array.isArray(e))return!1;var t=La.get(e);if(void 0!==t)return t;var n=e.every((e=>za.isNode(e)));return La.set(e,n),n},last(e,t){for(var n=t.slice(),r=za.get(e,n);r&&!ri.isText(r)&&0!==r.children.length;){var o=r.children.length-1;r=r.children[o],n.push(o)}return[r,n]},leaf(e,t){var n=za.get(e,t);if(!ri.isText(n))throw new Error("Cannot get the leaf node at path [".concat(t,"] because it refers to a non-leaf node: ").concat(Ya.stringify(n)));return n},levels(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var r of wa.levels(t,n)){var o=za.get(e,r);yield[o,r]}}()},matches:(e,t)=>Pa.isElement(e)&&Pa.isElementProps(t)&&Pa.matches(e,t)||ri.isText(e)&&ri.isTextProps(t)&&ri.matches(e,t),nodes(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var{pass:n,reverse:r=!1}=t,{from:o=[],to:a}=t,i=new Set,s=[],u=e;!a||!(r?wa.isBefore(s,a):wa.isAfter(s,a));)if(i.has(u)||(yield[u,s]),i.has(u)||ri.isText(u)||0===u.children.length||null!=n&&!1!==n([u,s])){if(0===s.length)break;if(!r){var c=wa.next(s);if(za.has(e,c)){s=c,u=za.get(e,s);continue}}if(r&&0!==s[s.length-1])s=wa.previous(s),u=za.get(e,s);else s=wa.parent(s),u=za.get(e,s),i.add(u)}else{i.add(u);var l=r?u.children.length-1:0;wa.isAncestor(s,o)&&(l=o[s.length]),s=s.concat(l),u=za.get(e,s)}}()},parent(e,t){var n=wa.parent(t),r=za.get(e,n);if(ri.isText(r))throw new Error("Cannot get the parent of path [".concat(t,"] because it does not exist in the root."));return r},string:e=>ri.isText(e)?e.text:e.children.map(za.string).join(""),texts(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[n,r]of za.nodes(e,t))ri.isText(n)&&(yield[n,r])}()}};function Ha(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ua(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ha(Object(n),!0).forEach((function(t){Aa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ha(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Wa={isNodeOperation:e=>Wa.isOperation(e)&&e.type.endsWith("_node"),isOperation(e){if(!bo(e))return!1;switch(e.type){case"insert_node":case"remove_node":return wa.isPath(e.path)&&za.isNode(e.node);case"insert_text":case"remove_text":return"number"==typeof e.offset&&"string"==typeof e.text&&wa.isPath(e.path);case"merge_node":return"number"==typeof e.position&&wa.isPath(e.path)&&bo(e.properties);case"move_node":return wa.isPath(e.path)&&wa.isPath(e.newPath);case"set_node":return wa.isPath(e.path)&&bo(e.properties)&&bo(e.newProperties);case"set_selection":return null===e.properties&&Ra.isRange(e.newProperties)||null===e.newProperties&&Ra.isRange(e.properties)||bo(e.properties)&&bo(e.newProperties);case"split_node":return wa.isPath(e.path)&&"number"==typeof e.position&&bo(e.properties);default:return!1}},isOperationList:e=>Array.isArray(e)&&e.every((e=>Wa.isOperation(e))),isSelectionOperation:e=>Wa.isOperation(e)&&e.type.endsWith("_selection"),isTextOperation:e=>Wa.isOperation(e)&&e.type.endsWith("_text"),inverse(e){switch(e.type){case"insert_node":return Ua(Ua({},e),{},{type:"remove_node"});case"insert_text":return Ua(Ua({},e),{},{type:"remove_text"});case"merge_node":return Ua(Ua({},e),{},{type:"split_node",path:wa.previous(e.path)});case"move_node":var{newPath:t,path:n}=e;if(wa.equals(t,n))return e;if(wa.isSibling(n,t))return Ua(Ua({},e),{},{path:t,newPath:n});var r=wa.transform(n,e),o=wa.transform(wa.next(n),e);return Ua(Ua({},e),{},{path:r,newPath:o});case"remove_node":return Ua(Ua({},e),{},{type:"insert_node"});case"remove_text":return Ua(Ua({},e),{},{type:"insert_text"});case"set_node":var{properties:a,newProperties:i}=e;return Ua(Ua({},e),{},{properties:i,newProperties:a});case"set_selection":var{properties:s,newProperties:u}=e;return Ua(Ua({},e),{},null==s?{properties:u,newProperties:null}:null==u?{properties:null,newProperties:s}:{properties:u,newProperties:s});case"split_node":return Ua(Ua({},e),{},{type:"merge_node",path:wa.next(e.path)})}}},$a=new WeakMap,Va={above:(e,t)=>e.above(t),addMark(e,t,n){e.addMark(t,n)},after:(e,t,n)=>e.after(t,n),before:(e,t,n)=>e.before(t,n),deleteBackward(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{unit:n="character"}=t;e.deleteBackward(n)},deleteForward(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{unit:n="character"}=t;e.deleteForward(n)},deleteFragment(e,t){e.deleteFragment(t)},edges:(e,t)=>e.edges(t),elementReadOnly(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.elementReadOnly(t)},end:(e,t)=>e.end(t),first:(e,t)=>e.first(t),fragment:(e,t)=>e.fragment(t),hasBlocks:(e,t)=>e.hasBlocks(t),hasInlines:(e,t)=>e.hasInlines(t),hasPath:(e,t)=>e.hasPath(t),hasTexts:(e,t)=>e.hasTexts(t),insertBreak(e){e.insertBreak()},insertFragment(e,t,n){e.insertFragment(t,n)},insertNode(e,t){e.insertNode(t)},insertSoftBreak(e){e.insertSoftBreak()},insertText(e,t){e.insertText(t)},isBlock:(e,t)=>e.isBlock(t),isEdge:(e,t,n)=>e.isEdge(t,n),isEditor:e=>(e=>{var t=$a.get(e);if(void 0!==t)return t;if(!bo(e))return!1;var n="function"==typeof e.addMark&&"function"==typeof e.apply&&"function"==typeof e.deleteFragment&&"function"==typeof e.insertBreak&&"function"==typeof e.insertSoftBreak&&"function"==typeof e.insertFragment&&"function"==typeof e.insertNode&&"function"==typeof e.insertText&&"function"==typeof e.isElementReadOnly&&"function"==typeof e.isInline&&"function"==typeof e.isSelectable&&"function"==typeof e.isVoid&&"function"==typeof e.normalizeNode&&"function"==typeof e.onChange&&"function"==typeof e.removeMark&&"function"==typeof e.getDirtyPaths&&(null===e.marks||bo(e.marks))&&(null===e.selection||Ra.isRange(e.selection))&&za.isNodeList(e.children)&&Wa.isOperationList(e.operations);return $a.set(e,n),n})(e),isElementReadOnly:(e,t)=>e.isElementReadOnly(t),isEmpty:(e,t)=>e.isEmpty(t),isEnd:(e,t,n)=>e.isEnd(t,n),isInline:(e,t)=>e.isInline(t),isNormalizing:e=>e.isNormalizing(),isSelectable:(e,t)=>e.isSelectable(t),isStart:(e,t,n)=>e.isStart(t,n),isVoid:(e,t)=>e.isVoid(t),last:(e,t)=>e.last(t),leaf:(e,t,n)=>e.leaf(t,n),levels:(e,t)=>e.levels(t),marks:e=>e.getMarks(),next:(e,t)=>e.next(t),node:(e,t,n)=>e.node(t,n),nodes:(e,t)=>e.nodes(t),normalize(e,t){e.normalize(t)},parent:(e,t,n)=>e.parent(t,n),path:(e,t,n)=>e.path(t,n),pathRef:(e,t,n)=>e.pathRef(t,n),pathRefs:e=>e.pathRefs(),point:(e,t,n)=>e.point(t,n),pointRef:(e,t,n)=>e.pointRef(t,n),pointRefs:e=>e.pointRefs(),positions:(e,t)=>e.positions(t),previous:(e,t)=>e.previous(t),range:(e,t,n)=>e.range(t,n),rangeRef:(e,t,n)=>e.rangeRef(t,n),rangeRefs:e=>e.rangeRefs(),removeMark(e,t){e.removeMark(t)},setNormalizing(e,t){e.setNormalizing(t)},start:(e,t)=>e.start(t),string:(e,t,n)=>e.string(t,n),unhangRange:(e,t,n)=>e.unhangRange(t,n),void:(e,t)=>e.void(t),withoutNormalizing(e,t){e.withoutNormalizing(t)},shouldMergeNodesRemovePrevNode:(e,t,n)=>e.shouldMergeNodesRemovePrevNode(t,n)},Ka={isSpan:e=>Array.isArray(e)&&2===e.length&&e.every(wa.isPath)};function qa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ga(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?qa(Object(n),!0).forEach((function(t){Aa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qa(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Xa={compare(e,t){var n=wa.compare(e.path,t.path);return 0===n?e.offset<t.offset?-1:e.offset>t.offset?1:0:n},isAfter:(e,t)=>1===Xa.compare(e,t),isBefore:(e,t)=>-1===Xa.compare(e,t),equals:(e,t)=>e.offset===t.offset&&wa.equals(e.path,t.path),isPoint:e=>bo(e)&&"number"==typeof e.offset&&wa.isPath(e.path),transform(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return ua(e,(e=>{if(null===e)return null;var{affinity:r="forward"}=n,{path:o,offset:a}=e;switch(t.type){case"insert_node":case"move_node":e.path=wa.transform(o,t,n);break;case"insert_text":wa.equals(t.path,o)&&(t.offset<a||t.offset===a&&"forward"===r)&&(e.offset+=t.text.length);break;case"merge_node":wa.equals(t.path,o)&&(e.offset+=t.position),e.path=wa.transform(o,t,n);break;case"remove_text":wa.equals(t.path,o)&&t.offset<=a&&(e.offset-=Math.min(a-t.offset,t.text.length));break;case"remove_node":if(wa.equals(t.path,o)||wa.isAncestor(t.path,o))return null;e.path=wa.transform(o,t,n);break;case"split_node":if(wa.equals(t.path,o)){if(t.position===a&&null==r)return null;(t.position<a||t.position===a&&"forward"===r)&&(e.offset-=t.position,e.path=wa.transform(o,t,Ga(Ga({},n),{},{affinity:"forward"})))}else e.path=wa.transform(o,t,n)}}))}},Za=void 0,Ya={setScrubber(e){Za=e},stringify:e=>JSON.stringify(e,Za)},Ja=["text"],Qa=["anchor","focus"];function ei(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ti(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ei(Object(n),!0).forEach((function(t){Aa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ei(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var ni,ri={equals(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{loose:r=!1}=n;function o(e){return ka(e,Ja)}return Ta(r?o(e):e,r?o(t):t)},isText:e=>bo(e)&&"string"==typeof e.text,isTextList:e=>Array.isArray(e)&&e.every((e=>ri.isText(e))),isTextProps:e=>void 0!==e.text,matches(e,t){for(var n in t)if("text"!==n&&(!e.hasOwnProperty(n)||e[n]!==t[n]))return!1;return!0},decorations(e,t){var n=[ti({},e)];for(var r of t){var o=ka(r,Qa),[a,i]=Ra.edges(r),s=[],u=0,c=a.offset,l=i.offset;for(var d of n){var{length:f}=d.text,h=u;if(u+=f,c<=h&&u<=l)Object.assign(d,o),s.push(d);else if(c!==l&&(c===u||l===h)||c>u||l<h||l===h&&0!==h)s.push(d);else{var p=d,m=void 0,v=void 0;if(l<u){var g=l-h;v=ti(ti({},p),{},{text:p.text.slice(g)}),p=ti(ti({},p),{},{text:p.text.slice(0,g)})}if(c>h){var y=c-h;m=ti(ti({},p),{},{text:p.text.slice(0,y)}),p=ti(ti({},p),{},{text:p.text.slice(y)})}Object.assign(p,o),m&&s.push(m),s.push(p),v&&s.push(v)}}n=s}return n}},oi=e=>e.selection?e.selection:e.children.length>0?Va.end(e,[]):[0],ai=(e,t)=>{var[n]=Va.node(e,t);return e=>e===n},ii=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!t,r=t?fi(e):e,o=ni.None,a=ni.None,i=0,s=null;for(var u of r){var c=u.codePointAt(0);if(!c)break;var l=Ai(u,c);if([o,a]=n?[a,l]:[l,o],xi(o,ni.ZWJ)&&xi(a,ni.ExtPict)&&!Si(n?e.substring(0,i):e.substring(0,e.length-i)))break;if(xi(o,ni.RI)&&xi(a,ni.RI)&&!(s=null!==s?!s:!!n||ki(e.substring(0,e.length-i))))break;if(o!==ni.None&&a!==ni.None&&Bi(o,a))break;i+=u.length}return i||1},si=/\s/,ui=/[\u002B\u0021-\u0023\u0025-\u002A\u002C-\u002F\u003A\u003B\u003F\u0040\u005B-\u005D\u005F\u007B\u007D\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E3B\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/,ci=/['\u2018\u2019]/,li=(e,t,n)=>{if(n){var r=e.length-t;return[e.slice(r,e.length),e.slice(0,r)]}return[e.slice(0,t),e.slice(t)]},di=function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(si.test(t))return!1;if(ci.test(t)){var o=ii(n,r),[a,i]=li(n,o,r);if(e(a,i,r))return!0}return!ui.test(t)},fi=function*(e){for(var t=e.length-1,n=0;n<e.length;n++){var r=e.charAt(t-n);if(pi(r.charCodeAt(0))){var o=e.charAt(t-n-1);if(hi(o.charCodeAt(0))){yield o+r,n++;continue}}yield r}},hi=e=>e>=55296&&e<=56319,pi=e=>e>=56320&&e<=57343;!function(e){e[e.None=0]="None",e[e.Extend=1]="Extend",e[e.ZWJ=2]="ZWJ",e[e.RI=4]="RI",e[e.Prepend=8]="Prepend",e[e.SpacingMark=16]="SpacingMark",e[e.L=32]="L",e[e.V=64]="V",e[e.T=128]="T",e[e.LV=256]="LV",e[e.LVT=512]="LVT",e[e.ExtPict=1024]="ExtPict",e[e.Any=2048]="Any"}(ni||(ni={}));var mi=/^(?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09BE\u09C1-\u09C4\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3E\u0B3F\u0B41-\u0B44\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE\u0BC0\u0BCD\u0BD7\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC2\u0CC6\u0CCC\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D3E\u0D41-\u0D44\u0D4D\u0D57\u0D62\u0D63\u0D81\u0DCA\u0DCF\u0DD2-\u0DD4\u0DD6\u0DDF\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u200C\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFF9E\uFF9F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDEFD-\uDEFF\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC01\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDE41\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF3E\uDF40\uDF57\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB0\uDCB3-\uDCB8\uDCBA\uDCBD\uDCBF\uDCC0\uDCC2\uDCC3\uDDAF\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD30\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4\uDF00\uDF01\uDF36-\uDF3A\uDF40\uDF42]|\uD80D[\uDC40\uDC47-\uDC55]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65\uDD67-\uDD69\uDD6E-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC8F\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD839[\uDCEC-\uDCEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uD83C[\uDFFB-\uDFFF]|\uDB40[\uDC20-\uDC7F\uDD00-\uDDEF])$/,vi=/^(?:[\u0600-\u0605\u06DD\u070F\u0890\u0891\u08E2\u0D4E]|\uD804[\uDCBD\uDCCD\uDDC2\uDDC3]|\uD806[\uDD3F\uDD41\uDE3A\uDE84-\uDE89]|\uD807\uDD46)$/,gi=/^(?:[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E\u094F\u0982\u0983\u09BF\u09C0\u09C7\u09C8\u09CB\u09CC\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB\u0ACC\u0B02\u0B03\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0C01-\u0C03\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0\u0CC1\u0CC3\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB\u0D02\u0D03\u0D3F\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D82\u0D83\u0DD0\u0DD1\u0DD8-\u0DDE\u0DF2\u0DF3\u0E33\u0EB3\u0F3E\u0F3F\u0F7F\u1031\u103B\u103C\u1056\u1057\u1084\u1715\u1734\u17B6\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1A19\u1A1A\u1A55\u1A57\u1A6D-\u1A72\u1B04\u1B3B\u1B3D-\u1B41\u1B43\u1B44\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF7\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAAEB\uAAEE\uAAEF\uAAF5\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC]|\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD45\uDD46\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDDCE\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF62\uDF63]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB1\uDCB2\uDCB9\uDCBB\uDCBC\uDCBE\uDCC1\uDDB0\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF26]|\uD806[\uDC2C-\uDC2E\uDC38\uDD31-\uDD35\uDD37\uDD38\uDD3D\uDD40\uDD42\uDDD1-\uDDD3\uDDDC-\uDDDF\uDDE4\uDE39\uDE57\uDE58\uDE97]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4\uDD8A-\uDD8E\uDD93\uDD94\uDD96\uDEF5\uDEF6]|\uD81B[\uDF51-\uDF87\uDFF0\uDFF1]|\uD834[\uDD66\uDD6D])$/,yi=/^[\u1100-\u115F\uA960-\uA97C]$/,bi=/^[\u1160-\u11A7\uD7B0-\uD7C6]$/,Ei=/^[\u11A8-\u11FF\uD7CB-\uD7FB]$/,wi=/^[\uAC00\uAC1C\uAC38\uAC54\uAC70\uAC8C\uACA8\uACC4\uACE0\uACFC\uAD18\uAD34\uAD50\uAD6C\uAD88\uADA4\uADC0\uADDC\uADF8\uAE14\uAE30\uAE4C\uAE68\uAE84\uAEA0\uAEBC\uAED8\uAEF4\uAF10\uAF2C\uAF48\uAF64\uAF80\uAF9C\uAFB8\uAFD4\uAFF0\uB00C\uB028\uB044\uB060\uB07C\uB098\uB0B4\uB0D0\uB0EC\uB108\uB124\uB140\uB15C\uB178\uB194\uB1B0\uB1CC\uB1E8\uB204\uB220\uB23C\uB258\uB274\uB290\uB2AC\uB2C8\uB2E4\uB300\uB31C\uB338\uB354\uB370\uB38C\uB3A8\uB3C4\uB3E0\uB3FC\uB418\uB434\uB450\uB46C\uB488\uB4A4\uB4C0\uB4DC\uB4F8\uB514\uB530\uB54C\uB568\uB584\uB5A0\uB5BC\uB5D8\uB5F4\uB610\uB62C\uB648\uB664\uB680\uB69C\uB6B8\uB6D4\uB6F0\uB70C\uB728\uB744\uB760\uB77C\uB798\uB7B4\uB7D0\uB7EC\uB808\uB824\uB840\uB85C\uB878\uB894\uB8B0\uB8CC\uB8E8\uB904\uB920\uB93C\uB958\uB974\uB990\uB9AC\uB9C8\uB9E4\uBA00\uBA1C\uBA38\uBA54\uBA70\uBA8C\uBAA8\uBAC4\uBAE0\uBAFC\uBB18\uBB34\uBB50\uBB6C\uBB88\uBBA4\uBBC0\uBBDC\uBBF8\uBC14\uBC30\uBC4C\uBC68\uBC84\uBCA0\uBCBC\uBCD8\uBCF4\uBD10\uBD2C\uBD48\uBD64\uBD80\uBD9C\uBDB8\uBDD4\uBDF0\uBE0C\uBE28\uBE44\uBE60\uBE7C\uBE98\uBEB4\uBED0\uBEEC\uBF08\uBF24\uBF40\uBF5C\uBF78\uBF94\uBFB0\uBFCC\uBFE8\uC004\uC020\uC03C\uC058\uC074\uC090\uC0AC\uC0C8\uC0E4\uC100\uC11C\uC138\uC154\uC170\uC18C\uC1A8\uC1C4\uC1E0\uC1FC\uC218\uC234\uC250\uC26C\uC288\uC2A4\uC2C0\uC2DC\uC2F8\uC314\uC330\uC34C\uC368\uC384\uC3A0\uC3BC\uC3D8\uC3F4\uC410\uC42C\uC448\uC464\uC480\uC49C\uC4B8\uC4D4\uC4F0\uC50C\uC528\uC544\uC560\uC57C\uC598\uC5B4\uC5D0\uC5EC\uC608\uC624\uC640\uC65C\uC678\uC694\uC6B0\uC6CC\uC6E8\uC704\uC720\uC73C\uC758\uC774\uC790\uC7AC\uC7C8\uC7E4\uC800\uC81C\uC838\uC854\uC870\uC88C\uC8A8\uC8C4\uC8E0\uC8FC\uC918\uC934\uC950\uC96C\uC988\uC9A4\uC9C0\uC9DC\uC9F8\uCA14\uCA30\uCA4C\uCA68\uCA84\uCAA0\uCABC\uCAD8\uCAF4\uCB10\uCB2C\uCB48\uCB64\uCB80\uCB9C\uCBB8\uCBD4\uCBF0\uCC0C\uCC28\uCC44\uCC60\uCC7C\uCC98\uCCB4\uCCD0\uCCEC\uCD08\uCD24\uCD40\uCD5C\uCD78\uCD94\uCDB0\uCDCC\uCDE8\uCE04\uCE20\uCE3C\uCE58\uCE74\uCE90\uCEAC\uCEC8\uCEE4\uCF00\uCF1C\uCF38\uCF54\uCF70\uCF8C\uCFA8\uCFC4\uCFE0\uCFFC\uD018\uD034\uD050\uD06C\uD088\uD0A4\uD0C0\uD0DC\uD0F8\uD114\uD130\uD14C\uD168\uD184\uD1A0\uD1BC\uD1D8\uD1F4\uD210\uD22C\uD248\uD264\uD280\uD29C\uD2B8\uD2D4\uD2F0\uD30C\uD328\uD344\uD360\uD37C\uD398\uD3B4\uD3D0\uD3EC\uD408\uD424\uD440\uD45C\uD478\uD494\uD4B0\uD4CC\uD4E8\uD504\uD520\uD53C\uD558\uD574\uD590\uD5AC\uD5C8\uD5E4\uD600\uD61C\uD638\uD654\uD670\uD68C\uD6A8\uD6C4\uD6E0\uD6FC\uD718\uD734\uD750\uD76C\uD788]$/,Ci=/^[\uAC01-\uAC1B\uAC1D-\uAC37\uAC39-\uAC53\uAC55-\uAC6F\uAC71-\uAC8B\uAC8D-\uACA7\uACA9-\uACC3\uACC5-\uACDF\uACE1-\uACFB\uACFD-\uAD17\uAD19-\uAD33\uAD35-\uAD4F\uAD51-\uAD6B\uAD6D-\uAD87\uAD89-\uADA3\uADA5-\uADBF\uADC1-\uADDB\uADDD-\uADF7\uADF9-\uAE13\uAE15-\uAE2F\uAE31-\uAE4B\uAE4D-\uAE67\uAE69-\uAE83\uAE85-\uAE9F\uAEA1-\uAEBB\uAEBD-\uAED7\uAED9-\uAEF3\uAEF5-\uAF0F\uAF11-\uAF2B\uAF2D-\uAF47\uAF49-\uAF63\uAF65-\uAF7F\uAF81-\uAF9B\uAF9D-\uAFB7\uAFB9-\uAFD3\uAFD5-\uAFEF\uAFF1-\uB00B\uB00D-\uB027\uB029-\uB043\uB045-\uB05F\uB061-\uB07B\uB07D-\uB097\uB099-\uB0B3\uB0B5-\uB0CF\uB0D1-\uB0EB\uB0ED-\uB107\uB109-\uB123\uB125-\uB13F\uB141-\uB15B\uB15D-\uB177\uB179-\uB193\uB195-\uB1AF\uB1B1-\uB1CB\uB1CD-\uB1E7\uB1E9-\uB203\uB205-\uB21F\uB221-\uB23B\uB23D-\uB257\uB259-\uB273\uB275-\uB28F\uB291-\uB2AB\uB2AD-\uB2C7\uB2C9-\uB2E3\uB2E5-\uB2FF\uB301-\uB31B\uB31D-\uB337\uB339-\uB353\uB355-\uB36F\uB371-\uB38B\uB38D-\uB3A7\uB3A9-\uB3C3\uB3C5-\uB3DF\uB3E1-\uB3FB\uB3FD-\uB417\uB419-\uB433\uB435-\uB44F\uB451-\uB46B\uB46D-\uB487\uB489-\uB4A3\uB4A5-\uB4BF\uB4C1-\uB4DB\uB4DD-\uB4F7\uB4F9-\uB513\uB515-\uB52F\uB531-\uB54B\uB54D-\uB567\uB569-\uB583\uB585-\uB59F\uB5A1-\uB5BB\uB5BD-\uB5D7\uB5D9-\uB5F3\uB5F5-\uB60F\uB611-\uB62B\uB62D-\uB647\uB649-\uB663\uB665-\uB67F\uB681-\uB69B\uB69D-\uB6B7\uB6B9-\uB6D3\uB6D5-\uB6EF\uB6F1-\uB70B\uB70D-\uB727\uB729-\uB743\uB745-\uB75F\uB761-\uB77B\uB77D-\uB797\uB799-\uB7B3\uB7B5-\uB7CF\uB7D1-\uB7EB\uB7ED-\uB807\uB809-\uB823\uB825-\uB83F\uB841-\uB85B\uB85D-\uB877\uB879-\uB893\uB895-\uB8AF\uB8B1-\uB8CB\uB8CD-\uB8E7\uB8E9-\uB903\uB905-\uB91F\uB921-\uB93B\uB93D-\uB957\uB959-\uB973\uB975-\uB98F\uB991-\uB9AB\uB9AD-\uB9C7\uB9C9-\uB9E3\uB9E5-\uB9FF\uBA01-\uBA1B\uBA1D-\uBA37\uBA39-\uBA53\uBA55-\uBA6F\uBA71-\uBA8B\uBA8D-\uBAA7\uBAA9-\uBAC3\uBAC5-\uBADF\uBAE1-\uBAFB\uBAFD-\uBB17\uBB19-\uBB33\uBB35-\uBB4F\uBB51-\uBB6B\uBB6D-\uBB87\uBB89-\uBBA3\uBBA5-\uBBBF\uBBC1-\uBBDB\uBBDD-\uBBF7\uBBF9-\uBC13\uBC15-\uBC2F\uBC31-\uBC4B\uBC4D-\uBC67\uBC69-\uBC83\uBC85-\uBC9F\uBCA1-\uBCBB\uBCBD-\uBCD7\uBCD9-\uBCF3\uBCF5-\uBD0F\uBD11-\uBD2B\uBD2D-\uBD47\uBD49-\uBD63\uBD65-\uBD7F\uBD81-\uBD9B\uBD9D-\uBDB7\uBDB9-\uBDD3\uBDD5-\uBDEF\uBDF1-\uBE0B\uBE0D-\uBE27\uBE29-\uBE43\uBE45-\uBE5F\uBE61-\uBE7B\uBE7D-\uBE97\uBE99-\uBEB3\uBEB5-\uBECF\uBED1-\uBEEB\uBEED-\uBF07\uBF09-\uBF23\uBF25-\uBF3F\uBF41-\uBF5B\uBF5D-\uBF77\uBF79-\uBF93\uBF95-\uBFAF\uBFB1-\uBFCB\uBFCD-\uBFE7\uBFE9-\uC003\uC005-\uC01F\uC021-\uC03B\uC03D-\uC057\uC059-\uC073\uC075-\uC08F\uC091-\uC0AB\uC0AD-\uC0C7\uC0C9-\uC0E3\uC0E5-\uC0FF\uC101-\uC11B\uC11D-\uC137\uC139-\uC153\uC155-\uC16F\uC171-\uC18B\uC18D-\uC1A7\uC1A9-\uC1C3\uC1C5-\uC1DF\uC1E1-\uC1FB\uC1FD-\uC217\uC219-\uC233\uC235-\uC24F\uC251-\uC26B\uC26D-\uC287\uC289-\uC2A3\uC2A5-\uC2BF\uC2C1-\uC2DB\uC2DD-\uC2F7\uC2F9-\uC313\uC315-\uC32F\uC331-\uC34B\uC34D-\uC367\uC369-\uC383\uC385-\uC39F\uC3A1-\uC3BB\uC3BD-\uC3D7\uC3D9-\uC3F3\uC3F5-\uC40F\uC411-\uC42B\uC42D-\uC447\uC449-\uC463\uC465-\uC47F\uC481-\uC49B\uC49D-\uC4B7\uC4B9-\uC4D3\uC4D5-\uC4EF\uC4F1-\uC50B\uC50D-\uC527\uC529-\uC543\uC545-\uC55F\uC561-\uC57B\uC57D-\uC597\uC599-\uC5B3\uC5B5-\uC5CF\uC5D1-\uC5EB\uC5ED-\uC607\uC609-\uC623\uC625-\uC63F\uC641-\uC65B\uC65D-\uC677\uC679-\uC693\uC695-\uC6AF\uC6B1-\uC6CB\uC6CD-\uC6E7\uC6E9-\uC703\uC705-\uC71F\uC721-\uC73B\uC73D-\uC757\uC759-\uC773\uC775-\uC78F\uC791-\uC7AB\uC7AD-\uC7C7\uC7C9-\uC7E3\uC7E5-\uC7FF\uC801-\uC81B\uC81D-\uC837\uC839-\uC853\uC855-\uC86F\uC871-\uC88B\uC88D-\uC8A7\uC8A9-\uC8C3\uC8C5-\uC8DF\uC8E1-\uC8FB\uC8FD-\uC917\uC919-\uC933\uC935-\uC94F\uC951-\uC96B\uC96D-\uC987\uC989-\uC9A3\uC9A5-\uC9BF\uC9C1-\uC9DB\uC9DD-\uC9F7\uC9F9-\uCA13\uCA15-\uCA2F\uCA31-\uCA4B\uCA4D-\uCA67\uCA69-\uCA83\uCA85-\uCA9F\uCAA1-\uCABB\uCABD-\uCAD7\uCAD9-\uCAF3\uCAF5-\uCB0F\uCB11-\uCB2B\uCB2D-\uCB47\uCB49-\uCB63\uCB65-\uCB7F\uCB81-\uCB9B\uCB9D-\uCBB7\uCBB9-\uCBD3\uCBD5-\uCBEF\uCBF1-\uCC0B\uCC0D-\uCC27\uCC29-\uCC43\uCC45-\uCC5F\uCC61-\uCC7B\uCC7D-\uCC97\uCC99-\uCCB3\uCCB5-\uCCCF\uCCD1-\uCCEB\uCCED-\uCD07\uCD09-\uCD23\uCD25-\uCD3F\uCD41-\uCD5B\uCD5D-\uCD77\uCD79-\uCD93\uCD95-\uCDAF\uCDB1-\uCDCB\uCDCD-\uCDE7\uCDE9-\uCE03\uCE05-\uCE1F\uCE21-\uCE3B\uCE3D-\uCE57\uCE59-\uCE73\uCE75-\uCE8F\uCE91-\uCEAB\uCEAD-\uCEC7\uCEC9-\uCEE3\uCEE5-\uCEFF\uCF01-\uCF1B\uCF1D-\uCF37\uCF39-\uCF53\uCF55-\uCF6F\uCF71-\uCF8B\uCF8D-\uCFA7\uCFA9-\uCFC3\uCFC5-\uCFDF\uCFE1-\uCFFB\uCFFD-\uD017\uD019-\uD033\uD035-\uD04F\uD051-\uD06B\uD06D-\uD087\uD089-\uD0A3\uD0A5-\uD0BF\uD0C1-\uD0DB\uD0DD-\uD0F7\uD0F9-\uD113\uD115-\uD12F\uD131-\uD14B\uD14D-\uD167\uD169-\uD183\uD185-\uD19F\uD1A1-\uD1BB\uD1BD-\uD1D7\uD1D9-\uD1F3\uD1F5-\uD20F\uD211-\uD22B\uD22D-\uD247\uD249-\uD263\uD265-\uD27F\uD281-\uD29B\uD29D-\uD2B7\uD2B9-\uD2D3\uD2D5-\uD2EF\uD2F1-\uD30B\uD30D-\uD327\uD329-\uD343\uD345-\uD35F\uD361-\uD37B\uD37D-\uD397\uD399-\uD3B3\uD3B5-\uD3CF\uD3D1-\uD3EB\uD3ED-\uD407\uD409-\uD423\uD425-\uD43F\uD441-\uD45B\uD45D-\uD477\uD479-\uD493\uD495-\uD4AF\uD4B1-\uD4CB\uD4CD-\uD4E7\uD4E9-\uD503\uD505-\uD51F\uD521-\uD53B\uD53D-\uD557\uD559-\uD573\uD575-\uD58F\uD591-\uD5AB\uD5AD-\uD5C7\uD5C9-\uD5E3\uD5E5-\uD5FF\uD601-\uD61B\uD61D-\uD637\uD639-\uD653\uD655-\uD66F\uD671-\uD68B\uD68D-\uD6A7\uD6A9-\uD6C3\uD6C5-\uD6DF\uD6E1-\uD6FB\uD6FD-\uD717\uD719-\uD733\uD735-\uD74F\uD751-\uD76B\uD76D-\uD787\uD789-\uD7A3]$/,Di=/^(?:[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2605\u2607-\u2612\u2614-\u2685\u2690-\u2705\u2708-\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763-\u2767\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC00-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDAD-\uDDE5\uDE01-\uDE0F\uDE1A\uDE2F\uDE32-\uDE3A\uDE3C-\uDE3F\uDE49-\uDFFA]|\uD83D[\uDC00-\uDD3D\uDD46-\uDE4F\uDE80-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDCFF\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDEFF]|\uD83F[\uDC00-\uDFFD])$/,Ai=(e,t)=>{var n=ni.Any;return-1!==e.search(mi)&&(n|=ni.Extend),8205===t&&(n|=ni.ZWJ),t>=127462&&t<=127487&&(n|=ni.RI),-1!==e.search(vi)&&(n|=ni.Prepend),-1!==e.search(gi)&&(n|=ni.SpacingMark),-1!==e.search(yi)&&(n|=ni.L),-1!==e.search(bi)&&(n|=ni.V),-1!==e.search(Ei)&&(n|=ni.T),-1!==e.search(wi)&&(n|=ni.LV),-1!==e.search(Ci)&&(n|=ni.LVT),-1!==e.search(Di)&&(n|=ni.ExtPict),n};function xi(e,t){return!!(e&t)}var _i=[[ni.L,ni.L|ni.V|ni.LV|ni.LVT],[ni.LV|ni.V,ni.V|ni.T],[ni.LVT|ni.T,ni.T],[ni.Any,ni.Extend|ni.ZWJ],[ni.Any,ni.SpacingMark],[ni.Prepend,ni.Any],[ni.ZWJ,ni.ExtPict],[ni.RI,ni.RI]];function Bi(e,t){return-1===_i.findIndex((n=>xi(e,n[0])&&xi(t,n[1])))}var Oi=/(?:[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2605\u2607-\u2612\u2614-\u2685\u2690-\u2705\u2708-\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763-\u2767\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC00-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDAD-\uDDE5\uDE01-\uDE0F\uDE1A\uDE2F\uDE32-\uDE3A\uDE3C-\uDE3F\uDE49-\uDFFA]|\uD83D[\uDC00-\uDD3D\uDD46-\uDE4F\uDE80-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDCFF\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDEFF]|\uD83F[\uDC00-\uDFFD])(?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09BE\u09C1-\u09C4\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3E\u0B3F\u0B41-\u0B44\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE\u0BC0\u0BCD\u0BD7\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC2\u0CC6\u0CCC\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D3E\u0D41-\u0D44\u0D4D\u0D57\u0D62\u0D63\u0D81\u0DCA\u0DCF\u0DD2-\u0DD4\u0DD6\u0DDF\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u200C\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFF9E\uFF9F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDEFD-\uDEFF\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC01\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDE41\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF3E\uDF40\uDF57\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB0\uDCB3-\uDCB8\uDCBA\uDCBD\uDCBF\uDCC0\uDCC2\uDCC3\uDDAF\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD30\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4\uDF00\uDF01\uDF36-\uDF3A\uDF40\uDF42]|\uD80D[\uDC40\uDC47-\uDC55]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65\uDD67-\uDD69\uDD6E-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC8F\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD839[\uDCEC-\uDCEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uD83C[\uDFFB-\uDFFF]|\uDB40[\uDC20-\uDC7F\uDD00-\uDDEF])*\u200D$/,Si=e=>-1!==e.search(Oi),Ti=/(?:\uD83C[\uDDE6-\uDDFF])+$/g,ki=e=>{var t=e.match(Ti);return null!==t&&t[0].length/2%2==1},Ii={delete(e,t){e.delete(t)},insertFragment(e,t,n){e.insertFragment(t,n)},insertText(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Va.withoutNormalizing(e,(()=>{var{voids:r=!1}=n,{at:o=oi(e)}=n;if(wa.isPath(o)&&(o=Va.range(e,o)),Ra.isRange(o))if(Ra.isCollapsed(o))o=o.anchor;else{var a=Ra.end(o);if(!r&&Va.void(e,{at:a}))return;var i=Ra.start(o),s=Va.pointRef(e,i),u=Va.pointRef(e,a);Ni.delete(e,{at:o,voids:r});var c=s.unref(),l=u.unref();o=c||l,Ni.setSelection(e,{anchor:o,focus:o})}if(!(!r&&Va.void(e,{at:o})||Va.elementReadOnly(e,{at:o}))){var{path:d,offset:f}=o;t.length>0&&e.apply({type:"insert_text",path:d,offset:f,text:t})}}))}};function Fi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ri(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Fi(Object(n),!0).forEach((function(t){Aa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Fi(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Ni=Ri(Ri(Ri(Ri({},Ba),Oa),Sa),Ii),Pi=new WeakMap;function Mi(e,t,n){var r,o,a=pa.get(e)||[],i=ma.get(e)||new Set,s=e=>{if(e){var t=e.join(",");o.has(t)||(o.add(t),r.push(e))}};if(n)for(var u of(r=[],o=new Set,a)){s(n(u))}else r=a,o=i;for(var c of t)s(c);pa.set(e,r),ma.set(e,o)}var ji=(e,t)=>{for(var n of Va.pathRefs(e))da.transform(n,t);for(var r of Va.pointRefs(e))fa.transform(r,t);for(var o of Va.rangeRefs(e))ha.transform(o,t);if(!(e=>Pi.get(e)||!1)(e)){var a=wa.operationCanTransformPath(t)?e=>wa.transform(e,t):void 0;Mi(e,e.getDirtyPaths(t),a)}Ni.transform(e,t),e.operations.push(t),Va.normalize(e,{operation:t}),"set_selection"===t.type&&(e.marks=null),va.get(e)||(va.set(e,!0),Promise.resolve().then((()=>{va.set(e,!1),e.onChange({operation:t}),e.operations=[]})))};function Li(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function zi(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Li(Object(n),!0).forEach((function(t){Aa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Li(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Hi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ui(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Hi(Object(n),!0).forEach((function(t){Aa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Hi(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Wi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function $i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Wi(Object(n),!0).forEach((function(t){Aa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Wi(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Vi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ki(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Vi(Object(n),!0).forEach((function(t){Aa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Vi(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function qi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Gi(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?qi(Object(n),!0).forEach((function(t){Aa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qi(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Xi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Zi=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{selection:r,marks:o}=e;if(r){if(o){var a=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Xi(Object(n),!0).forEach((function(t){Aa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Xi(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({text:t},o);Ni.insertNodes(e,a,{at:n.at,voids:n.voids})}else Ni.insertText(e,t,n);e.marks=null}};var Yi=["text"],Ji=["text"];var Qi=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{force:n=!1,operation:r}=t,o=e=>pa.get(e)||[],a=e=>{var t=o(e).pop(),n=t.join(",");return(e=>ma.get(e)||new Set)(e).delete(n),t};if(Va.isNormalizing(e)){if(n){var i=Array.from(za.nodes(e),(e=>{var[,t]=e;return t})),s=new Set(i.map((e=>e.join(","))));pa.set(e,i),ma.set(e,s)}0!==o(e).length&&Va.withoutNormalizing(e,(()=>{for(var t of o(e))if(za.has(e,t)){var n=Va.node(e,t),[i,s]=n;Pa.isElement(i)&&0===i.children.length&&e.normalizeNode(n,{operation:r})}for(var u=o(e),c=u.length,l=0;0!==u.length;){if(!e.shouldNormalize({dirtyPaths:u,iteration:l,initialDirtyPathsLength:c,operation:r}))return;var d=a(e);if(za.has(e,d)){var f=Va.node(e,d);e.normalizeNode(f,{operation:r})}l++,u=o(e)}}))}};function es(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){var{at:n=e.selection,unit:r="offset",reverse:o=!1,voids:a=!1,ignoreNonSelectable:i=!1}=t;if(n){var s=Va.range(e,n),[u,c]=Ra.edges(s),l=o?c:u,d=!1,f="",h=0,p=0,m=0;for(var[v,g]of Va.nodes(e,{at:n,reverse:o,voids:a,ignoreNonSelectable:i})){if(Pa.isElement(v)){if(!a&&(e.isVoid(v)||e.isElementReadOnly(v))){yield Va.start(e,g);continue}if(e.isInline(v))continue;if(Va.hasInlines(e,v)){var y=wa.isAncestor(g,c.path)?c:Va.end(e,g),b=wa.isAncestor(g,u.path)?u:Va.start(e,g);f=Va.string(e,{anchor:b,focus:y},{voids:a}),d=!0}}if(ri.isText(v)){var E=wa.equals(g,l.path);for(E?(p=o?l.offset:v.text.length-l.offset,m=l.offset):(p=v.text.length,m=o?p:0),(E||d||"offset"===r)&&(yield{path:g,offset:m},d=!1);;){if(0===h){if(""===f)break;h=w(f,r,o),f=li(f,h,o)[1]}if(m=o?m-h:m+h,(p-=h)<0){h=-p;break}h=0,yield{path:g,offset:m}}}}}function w(e,t,n){return"character"===t?ii(e,n):"word"===t?function(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=0,r=!1;e.length>0;){var o=ii(e,t),[a,i]=li(e,o,t);if(di(a,i,t))r=!0,n+=o;else{if(r)break;n+=o}e=i}return n}(e,n):"line"===t||"block"===t?e.length:1}}()}function ts(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var ns=(e,t)=>{var{selection:n}=e;if(n){var r=(t,n)=>{if(!ri.isText(t))return!1;var[r,o]=Va.parent(e,n);return!e.isVoid(r)||e.markableVoid(r)},o=Ra.isExpanded(n),a=!1;if(!o){var[i,s]=Va.node(e,n);if(i&&r(i,s)){var[u]=Va.parent(e,s);a=u&&e.markableVoid(u)}}if(o||a)Ni.unsetNodes(e,t,{match:r,split:!0,voids:!0});else{var c=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ts(Object(n),!0).forEach((function(t){Aa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ts(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},Va.marks(e)||{});delete c[t],e.marks=c,va.get(e)||e.onChange()}}};function rs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function os(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?rs(Object(n),!0).forEach((function(t){Aa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rs(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var as=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Va.withoutNormalizing(e,(()=>{var{hanging:r=!1,voids:o=!1,mode:a="lowest",batchDirty:i=!0}=n,{at:s,match:u,select:c}=n;if(za.isNode(t)&&(t=[t]),0!==t.length){var[l]=t;if(s||(s=oi(e),!1!==c&&(c=!0)),null==c&&(c=!1),Ra.isRange(s))if(r||(s=Va.unhangRange(e,s,{voids:o})),Ra.isCollapsed(s))s=s.anchor;else{var[,d]=Ra.edges(s),f=Va.pointRef(e,d);Ni.delete(e,{at:s}),s=f.unref()}if(Xa.isPoint(s)){null==u&&(u=ri.isText(l)?e=>ri.isText(e):e.isInline(l)?t=>ri.isText(t)||Va.isInline(e,t):t=>Pa.isElement(t)&&Va.isBlock(e,t));var[h]=Va.nodes(e,{at:s.path,match:u,mode:a,voids:o});if(!h)return;var[,p]=h,m=Va.pathRef(e,p),v=Va.isEnd(e,s,p);Ni.splitNodes(e,{at:s,match:u,mode:a,voids:o});var g=m.unref();s=v?wa.next(g):g}var y=wa.parent(s),b=s[s.length-1];if(o||!Va.void(e,{at:y})){if(i){var E=[],w=wa.levels(y);((e,t,n)=>{var r=Pi.get(e)||!1;Pi.set(e,!0);try{t(),n()}finally{Pi.set(e,r)}})(e,(()=>{var n=function(){var t=y.concat(b);b++;var n={type:"insert_node",path:t,node:r};e.apply(n),s=wa.next(s),E.push(n),ri.isText?w.push(...Array.from(za.nodes(r),(e=>{var[,n]=e;return t.concat(n)}))):w.push(t)};for(var r of t)n()}),(()=>{Mi(e,w,(e=>{var t=e;for(var n of E)if(wa.operationCanTransformPath(n)&&!(t=wa.transform(t,n)))return null;return t}))}))}else for(var C of t){var D=y.concat(b);b++,e.apply({type:"insert_node",path:D,node:C}),s=wa.next(s)}if(s=wa.previous(s),c){var A=Va.end(e,s);A&&Ni.select(e,A)}}}}))},is=["text"],ss=["children"],us=(e,t)=>{if(Pa.isElement(t)){var n=t;return!!Va.isVoid(e,t)||1===n.children.length&&us(e,n.children[0])}return!Va.isEditor(t)},cs=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Va.withoutNormalizing(e,(()=>{var{mode:n="lowest",voids:r=!1}=t,{match:o,at:a=e.selection,height:i=0,always:s=!1}=t;if(null==o&&(o=t=>Pa.isElement(t)&&Va.isBlock(e,t)),Ra.isRange(a)&&(a=((e,t)=>{if(Ra.isCollapsed(t))return t.anchor;var[,n]=Ra.edges(t),r=Va.pointRef(e,n);return Ni.delete(e,{at:t}),r.unref()})(e,a)),wa.isPath(a)){var u=a,c=Va.point(e,u),[l]=Va.parent(e,u);o=e=>e===l,i=c.path.length-u.length+1,a=c,s=!0}if(a){var d,f=Va.pointRef(e,a,{affinity:"backward"});try{var[h]=Va.nodes(e,{at:a,match:o,mode:n,voids:r});if(!h)return;var p=Va.void(e,{at:a,mode:"highest"});if(!r&&p){var[m,v]=p;if(Pa.isElement(m)&&e.isInline(m)){var g=Va.after(e,v);if(!g){var y=wa.next(v);Ni.insertNodes(e,{text:""},{at:y,voids:r}),g=Va.point(e,y)}a=g,s=!0}i=a.path.length-v.length+1,s=!0}d=Va.pointRef(e,a);var b=a.path.length-i,[,E]=h,w=a.path.slice(0,b),C=0===i?a.offset:a.path[b]+0;for(var[D,A]of Va.levels(e,{at:w,reverse:!0,voids:r})){var x=!1;if(A.length<E.length||0===A.length||!r&&Pa.isElement(D)&&Va.isVoid(e,D))break;var _=f.current,B=Va.isEnd(e,_,A);if(s||!f||!Va.isEdge(e,_,A)){x=!0;var O=za.extractProps(D);e.apply({type:"split_node",path:A,position:C,properties:O})}C=A[A.length-1]+(x||B?1:0)}if(null==t.at){var S=d.current||Va.end(e,[]);Ni.select(e,S)}}finally{var T;f.unref(),null===(T=d)||void 0===T||T.unref()}}}))};function ls(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ds(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ls(Object(n),!0).forEach((function(t){Aa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ls(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var fs=()=>{var e={children:[],operations:[],selection:null,marks:null,isElementReadOnly:()=>!1,isInline:()=>!1,isSelectable:()=>!0,isVoid:()=>!1,markableVoid:()=>!1,onChange:()=>{},apply:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return ji(e,...n)},addMark:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t,n)=>{var{selection:r}=e;if(r){var o=(t,n)=>{if(!ri.isText(t))return!1;var[r,o]=Va.parent(e,n);return!e.isVoid(r)||e.markableVoid(r)},a=Ra.isExpanded(r),i=!1;if(!a){var[s,u]=Va.node(e,r);if(s&&o(s,u)){var[c]=Va.parent(e,u);i=c&&e.markableVoid(c)}}if(a||i)Ni.setNodes(e,{[t]:n},{match:o,split:!0,voids:!0});else{var l=zi(zi({},Va.marks(e)||{}),{},{[t]:n});e.marks=l,va.get(e)||e.onChange()}}})(e,...n)},deleteBackward:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>{var{selection:n}=e;n&&Ra.isCollapsed(n)&&Ni.delete(e,{unit:t,reverse:!0})})(e,...n)},deleteForward:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>{var{selection:n}=e;n&&Ra.isCollapsed(n)&&Ni.delete(e,{unit:t})})(e,...n)},deleteFragment:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e){var{direction:t="forward"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{selection:n}=e;n&&Ra.isExpanded(n)&&Ni.delete(e,{reverse:"backward"===t})}(e,...n)},getFragment:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return(e=>{var{selection:t}=e;return t?za.fragment(e,t):[]})(e,...n)},insertBreak:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return(e=>{Ni.splitNodes(e,{always:!0})})(e,...n)},insertSoftBreak:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return(e=>{Ni.splitNodes(e,{always:!0})})(e,...n)},insertFragment:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Va.withoutNormalizing(e,(()=>{var{hanging:r=!1,voids:o=!1}=n,{at:a=oi(e),batchDirty:i=!0}=n;if(t.length){if(Ra.isRange(a))if(r||(a=Va.unhangRange(e,a,{voids:o})),Ra.isCollapsed(a))a=a.anchor;else{var[,s]=Ra.edges(a);if(!o&&Va.void(e,{at:s}))return;var u=Va.pointRef(e,s);Ni.delete(e,{at:a}),a=u.unref()}else wa.isPath(a)&&(a=Va.start(e,a));if(o||!Va.void(e,{at:a})){var c=Va.above(e,{at:a,match:t=>Pa.isElement(t)&&Va.isInline(e,t),mode:"highest",voids:o});if(c){var[,l]=c;Va.isEnd(e,a,l)?a=Va.after(e,l):Va.isStart(e,a,l)&&(a=Va.before(e,l))}var d=Va.above(e,{match:t=>Pa.isElement(t)&&Va.isBlock(e,t),at:a,voids:o}),[,f]=d,h=Va.isStart(e,a,f),p=Va.isEnd(e,a,f),m=h&&p,v=!h||h&&p,g=!p,[,y]=za.first({children:t},[]),[,b]=za.last({children:t},[]),E=[],w=t=>{var[n,r]=t;return!(0===r.length||!m&&(v&&wa.isAncestor(r,y)&&Pa.isElement(n)&&!e.isVoid(n)&&!e.isInline(n)||g&&wa.isAncestor(r,b)&&Pa.isElement(n)&&!e.isVoid(n)&&!e.isInline(n)))};for(var C of za.nodes({children:t},{pass:w}))w(C)&&E.push(C);var D=[],A=[],x=[],_=!0,B=!1;for(var[O]of E)Pa.isElement(O)&&!e.isInline(O)?(_=!1,B=!0,A.push(O)):_?D.push(O):x.push(O);var[S]=Va.nodes(e,{at:a,match:t=>ri.isText(t)||Va.isInline(e,t),mode:"highest",voids:o}),[,T]=S,k=Va.isStart(e,a,T),I=Va.isEnd(e,a,T),F=Va.pathRef(e,p&&!x.length?wa.next(f):f),R=Va.pathRef(e,I?wa.next(T):T);Ni.splitNodes(e,{at:a,match:t=>B?Pa.isElement(t)&&Va.isBlock(e,t):ri.isText(t)||Va.isInline(e,t),mode:B?"lowest":"highest",always:B&&(!h||D.length>0)&&(!p||x.length>0),voids:o});var N,P=Va.pathRef(e,!k||k&&I?wa.next(T):T);if(Ni.insertNodes(e,D,{at:P.current,match:t=>ri.isText(t)||Va.isInline(e,t),mode:"highest",voids:o,batchDirty:i}),m&&!D.length&&A.length&&!x.length&&Ni.delete(e,{at:f,voids:o}),Ni.insertNodes(e,A,{at:F.current,match:t=>Pa.isElement(t)&&Va.isBlock(e,t),mode:"lowest",voids:o,batchDirty:i}),Ni.insertNodes(e,x,{at:R.current,match:t=>ri.isText(t)||Va.isInline(e,t),mode:"highest",voids:o,batchDirty:i}),!n.at&&(x.length>0&&R.current?N=wa.previous(R.current):A.length>0&&F.current?N=wa.previous(F.current):P.current&&(N=wa.previous(P.current)),N)){var M=Va.end(e,N);Ni.select(e,M)}P.unref(),F.unref(),R.unref()}}}))}(e,...n)},insertNode:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t,n)=>{Ni.insertNodes(e,t,n)})(e,...n)},insertText:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Zi(e,...n)},normalizeNode:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>{var[n,r]=t;if(!ri.isText(n))if(Pa.isElement(n)&&0===n.children.length)Ni.insertNodes(e,{text:""},{at:r.concat(0),voids:!0});else for(var o=!Va.isEditor(n)&&Pa.isElement(n)&&(e.isInline(n)||0===n.children.length||ri.isText(n.children[0])||e.isInline(n.children[0])),a=0,i=0;i<n.children.length;i++,a++){var s=za.get(e,r);if(!ri.isText(s)){var u=s.children[a],c=s.children[a-1],l=i===n.children.length-1;(ri.isText(u)||Pa.isElement(u)&&e.isInline(u))!==o?(Ni.removeNodes(e,{at:r.concat(a),voids:!0}),a--):Pa.isElement(u)?e.isInline(u)&&(null!=c&&ri.isText(c)?l&&(Ni.insertNodes(e,{text:""},{at:r.concat(a+1),voids:!0}),a++):(Ni.insertNodes(e,{text:""},{at:r.concat(a),voids:!0}),a++)):(ri.isText(u)||"children"in u||(u.children=[]),null!=c&&ri.isText(c)&&(ri.equals(u,c,{loose:!0})?(Ni.mergeNodes(e,{at:r.concat(a),voids:!0}),a--):""===c.text?(Ni.removeNodes(e,{at:r.concat(a-1),voids:!0}),a--):""===u.text&&(Ni.removeNodes(e,{at:r.concat(a),voids:!0}),a--)))}}})(e,...n)},removeMark:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return ns(e,...n)},getDirtyPaths:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>{switch(t.type){case"insert_text":case"remove_text":case"set_node":var{path:n}=t;return wa.levels(n);case"insert_node":var{node:r,path:o}=t,a=wa.levels(o),i=ri.isText(r)?[]:Array.from(za.nodes(r),(e=>{var[,t]=e;return o.concat(t)}));return[...a,...i];case"merge_node":var{path:s}=t;return[...wa.ancestors(s),wa.previous(s)];case"move_node":var{path:u,newPath:c}=t;if(wa.equals(u,c))return[];var l=[],d=[];for(var f of wa.ancestors(u)){var h=wa.transform(f,t);l.push(h)}for(var p of wa.ancestors(c)){var m=wa.transform(p,t);d.push(m)}var v=d[d.length-1],g=c[c.length-1],y=v.concat(g);return[...l,...d,y];case"remove_node":var{path:b}=t;return[...wa.ancestors(b)];case"split_node":var{path:E}=t;return[...wa.levels(E),wa.next(E)];default:return[]}})(e,...n)},shouldNormalize:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>{var{iteration:n,initialDirtyPathsLength:r}=t,o=42*r;if(n>o)throw new Error("Could not completely normalize the editor after ".concat(o," iterations! This is usually due to incorrect normalization logic that leaves a node in an invalid state."));return!0})(e,...n)},above:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{voids:n=!1,mode:r="lowest",at:o=e.selection,match:a}=t;if(o){var i=Va.path(e,o),s="lowest"===r;for(var[u,c]of Va.levels(e,{at:i,voids:n,match:a,reverse:s}))if(!ri.isText(u))if(Ra.isRange(o)){if(wa.isAncestor(c,o.anchor.path)&&wa.isAncestor(c,o.focus.path))return[u,c]}else if(!wa.equals(i,c))return[u,c]}}(e,...n)},after:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o={anchor:Va.point(e,t,{edge:"end"}),focus:Va.end(e,[])},{distance:a=1}=r,i=0;for(var s of Va.positions(e,Ui(Ui({},r),{},{at:o}))){if(i>a)break;0!==i&&(n=s),i++}return n}(e,...n)},before:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o={anchor:Va.start(e,[]),focus:Va.point(e,t,{edge:"start"})},{distance:a=1}=r,i=0;for(var s of Va.positions(e,$i($i({},r),{},{at:o,reverse:!0}))){if(i>a)break;0!==i&&(n=s),i++}return n}(e,...n)},collapse:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{edge:n="anchor"}=t,{selection:r}=e;if(r)if("anchor"===n)Ni.select(e,r.anchor);else if("focus"===n)Ni.select(e,r.focus);else if("start"===n){var[o]=Ra.edges(r);Ni.select(e,o)}else if("end"===n){var[,a]=Ra.edges(r);Ni.select(e,a)}}(e,...n)},delete:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Va.withoutNormalizing(e,(()=>{var n,r,{reverse:o=!1,unit:a="character",distance:i=1,voids:s=!1}=t,{at:u=e.selection,hanging:c=!1}=t;if(u){var l=!1;if(Ra.isRange(u)&&Ra.isCollapsed(u)&&(l=!0,u=u.anchor),Xa.isPoint(u)){var d=Va.void(e,{at:u,mode:"highest"});if(!s&&d){var[,f]=d;u=f}else{var h={unit:a,distance:i};u={anchor:u,focus:o?Va.before(e,u,h)||Va.start(e,[]):Va.after(e,u,h)||Va.end(e,[])},c=!0}}if(wa.isPath(u))Ni.removeNodes(e,{at:u,voids:s});else if(!Ra.isCollapsed(u)){if(!c){var[,p]=Ra.edges(u),m=Va.end(e,[]);Xa.equals(p,m)||(u=Va.unhangRange(e,u,{voids:s}))}var[v,g]=Ra.edges(u),y=Va.above(e,{match:t=>Pa.isElement(t)&&Va.isBlock(e,t),at:v,voids:s}),b=Va.above(e,{match:t=>Pa.isElement(t)&&Va.isBlock(e,t),at:g,voids:s}),E=y&&b&&!wa.equals(y[1],b[1]),w=wa.equals(v.path,g.path),C=s?null:null!==(n=Va.void(e,{at:v,mode:"highest"}))&&void 0!==n?n:Va.elementReadOnly(e,{at:v,mode:"highest"}),D=s?null:null!==(r=Va.void(e,{at:g,mode:"highest"}))&&void 0!==r?r:Va.elementReadOnly(e,{at:g,mode:"highest"});if(C){var A=Va.before(e,v);A&&y&&wa.isAncestor(y[1],A.path)&&(v=A)}if(D){var x=Va.after(e,g);x&&b&&wa.isAncestor(b[1],x.path)&&(g=x)}var _,B=[];for(var O of Va.nodes(e,{at:u,voids:s})){var[S,T]=O;_&&0===wa.compare(T,_)||(!s&&Pa.isElement(S)&&(Va.isVoid(e,S)||Va.isElementReadOnly(e,S))||!wa.isCommon(T,v.path)&&!wa.isCommon(T,g.path))&&(B.push(O),_=T)}var k=Array.from(B,(t=>{var[,n]=t;return Va.pathRef(e,n)})),I=Va.pointRef(e,v),F=Va.pointRef(e,g),R="";if(!w&&!C){var N=I.current,[P]=Va.leaf(e,N),{path:M}=N,{offset:j}=v,L=P.text.slice(j);L.length>0&&(e.apply({type:"remove_text",path:M,offset:j,text:L}),R=L)}if(k.reverse().map((e=>e.unref())).filter((e=>null!==e)).forEach((t=>Ni.removeNodes(e,{at:t,voids:s}))),!D){var z=F.current,[H]=Va.leaf(e,z),{path:U}=z,W=w?v.offset:0,$=H.text.slice(W,g.offset);$.length>0&&(e.apply({type:"remove_text",path:U,offset:W,text:$}),R=$)}!w&&E&&F.current&&I.current&&Ni.mergeNodes(e,{at:F.current,hanging:!0,voids:s}),l&&o&&"character"===a&&R.length>1&&R.match(/[\u0E00-\u0E7F]+/)&&Ni.insertText(e,R.slice(0,R.length-i));var V=I.unref(),K=F.unref(),q=o?V||K:K||V;null==t.at&&q&&Ni.select(e,q)}}}))}(e,...n)},deselect:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return(e=>{var{selection:t}=e;t&&e.apply({type:"set_selection",properties:t,newProperties:null})})(e,...n)},edges:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>[Va.start(e,t),Va.end(e,t)])(e,...n)},elementReadOnly:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Va.above(e,Ki(Ki({},t),{},{match:t=>Pa.isElement(t)&&Va.isElementReadOnly(e,t)}))}(e,...n)},end:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>Va.point(e,t,{edge:"end"}))(e,...n)},first:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>{var n=Va.path(e,t,{edge:"start"});return Va.node(e,n)})(e,...n)},fragment:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>{var n=Va.range(e,t);return za.fragment(e,n)})(e,...n)},getMarks:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e){var{marks:t,selection:n}=e;if(!n)return null;var{anchor:r,focus:o}=n;if(t)return t;if(Ra.isExpanded(n)){if(Ra.isBackward(n)&&([o,r]=[r,o]),Va.isEnd(e,r,r.path)){var a=Va.after(e,r);a&&(r=a)}var[i]=Va.nodes(e,{match:ri.isText,at:{anchor:r,focus:o}});if(i){var[s]=i;return ka(s,Yi)}return{}}var{path:u}=r,[c]=Va.leaf(e,u);if(0===r.offset){var l=Va.previous(e,{at:u,match:ri.isText}),d=Va.above(e,{match:t=>Pa.isElement(t)&&Va.isVoid(e,t)&&e.markableVoid(t)});if(!d){var f=Va.above(e,{match:t=>Pa.isElement(t)&&Va.isBlock(e,t)});if(l&&f){var[h,p]=l,[,m]=f;wa.isAncestor(m,p)&&(c=h)}}}return ka(c,Ji)}(e,...n)},hasBlocks:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>t.children.some((t=>Pa.isElement(t)&&Va.isBlock(e,t))))(e,...n)},hasInlines:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>t.children.some((t=>ri.isText(t)||Va.isInline(e,t))))(e,...n)},hasPath:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>za.has(e,t))(e,...n)},hasTexts:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>t.children.every((e=>ri.isText(e))))(e,...n)},insertNodes:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return as(e,...n)},isBlock:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>!e.isInline(t))(e,...n)},isEdge:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t,n)=>Va.isStart(e,t,n)||Va.isEnd(e,t,n))(e,...n)},isEmpty:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>{var{children:n}=t,[r]=n;return 0===n.length||1===n.length&&ri.isText(r)&&""===r.text&&!e.isVoid(t)})(e,...n)},isEnd:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t,n)=>{var r=Va.end(e,n);return Xa.equals(t,r)})(e,...n)},isNormalizing:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return(e=>{var t=ga.get(e);return void 0===t||t})(e,...n)},isStart:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t,n)=>{if(0!==t.offset)return!1;var r=Va.start(e,n);return Xa.equals(t,r)})(e,...n)},last:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>{var n=Va.path(e,t,{edge:"end"});return Va.node(e,n)})(e,...n)},leaf:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=Va.path(e,t,n);return[za.leaf(e,r),r]}(e,...n)},levels:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){var{at:n=e.selection,reverse:r=!1,voids:o=!1}=t,{match:a}=t;if(null==a&&(a=()=>!0),n){var i=[],s=Va.path(e,n);for(var[u,c]of za.levels(e,s))if(a(u,c)&&(i.push([u,c]),!o&&Pa.isElement(u)&&Va.isVoid(e,u)))break;r&&i.reverse(),yield*i}}()}(e,...n)},liftNodes:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Va.withoutNormalizing(e,(()=>{var{at:n=e.selection,mode:r="lowest",voids:o=!1}=t,{match:a}=t;if(null==a&&(a=wa.isPath(n)?ai(e,n):t=>Pa.isElement(t)&&Va.isBlock(e,t)),n){var i=Va.nodes(e,{at:n,match:a,mode:r,voids:o}),s=Array.from(i,(t=>{var[,n]=t;return Va.pathRef(e,n)}));for(var u of s){var c=u.unref();if(c.length<2)throw new Error("Cannot lift node at a path [".concat(c,"] because it has a depth of less than `2`."));var l=Va.node(e,wa.parent(c)),[d,f]=l,h=c[c.length-1],{length:p}=d.children;if(1===p){var m=wa.next(f);Ni.moveNodes(e,{at:c,to:m,voids:o}),Ni.removeNodes(e,{at:f,voids:o})}else if(0===h)Ni.moveNodes(e,{at:c,to:f,voids:o});else if(h===p-1){var v=wa.next(f);Ni.moveNodes(e,{at:c,to:v,voids:o})}else{var g=wa.next(c),y=wa.next(f);Ni.splitNodes(e,{at:g,voids:o}),Ni.moveNodes(e,{at:c,to:y,voids:o})}}}}))}(e,...n)},mergeNodes:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Va.withoutNormalizing(e,(()=>{var{match:n,at:r=e.selection}=t,{hanging:o=!1,voids:a=!1,mode:i="lowest"}=t;if(r){if(null==n)if(wa.isPath(r)){var[s]=Va.parent(e,r);n=e=>s.children.includes(e)}else n=t=>Pa.isElement(t)&&Va.isBlock(e,t);if(!o&&Ra.isRange(r)&&(r=Va.unhangRange(e,r,{voids:a})),Ra.isRange(r))if(Ra.isCollapsed(r))r=r.anchor;else{var[,u]=Ra.edges(r),c=Va.pointRef(e,u);Ni.delete(e,{at:r}),r=c.unref(),null==t.at&&Ni.select(e,r)}var[l]=Va.nodes(e,{at:r,match:n,voids:a,mode:i}),d=Va.previous(e,{at:r,match:n,voids:a,mode:i});if(l&&d){var[f,h]=l,[p,m]=d;if(0!==h.length&&0!==m.length){var v,g,y=wa.next(m),b=wa.common(h,m),E=wa.isSibling(h,m),w=Array.from(Va.levels(e,{at:h}),(e=>{var[t]=e;return t})).slice(b.length).slice(0,-1),C=Va.above(e,{at:h,mode:"highest",match:t=>w.includes(t)&&us(e,t)}),D=C&&Va.pathRef(e,C[1]);if(ri.isText(f)&&ri.isText(p)){var A=ka(f,is);g=p.text.length,v=A}else{if(!Pa.isElement(f)||!Pa.isElement(p))throw new Error("Cannot merge the node at path [".concat(h,"] with the previous sibling because it is not the same kind: ").concat(Ya.stringify(f)," ").concat(Ya.stringify(p)));A=ka(f,ss),g=p.children.length,v=A}E||Ni.moveNodes(e,{at:h,to:y,voids:a}),D&&Ni.removeNodes(e,{at:D.current,voids:a}),Va.shouldMergeNodesRemovePrevNode(e,d,l)?Ni.removeNodes(e,{at:m,voids:a}):e.apply({type:"merge_node",path:y,position:g,properties:v}),D&&D.unref()}}}}))}(e,...n)},move:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{selection:n}=e,{distance:r=1,unit:o="character",reverse:a=!1}=t,{edge:i=null}=t;if(n){"start"===i&&(i=Ra.isBackward(n)?"focus":"anchor"),"end"===i&&(i=Ra.isBackward(n)?"anchor":"focus");var{anchor:s,focus:u}=n,c={distance:r,unit:o,ignoreNonSelectable:!0},l={};if(null==i||"anchor"===i){var d=a?Va.before(e,s,c):Va.after(e,s,c);d&&(l.anchor=d)}if(null==i||"focus"===i){var f=a?Va.before(e,u,c):Va.after(e,u,c);f&&(l.focus=f)}Ni.setSelection(e,l)}}(e,...n)},moveNodes:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>{Va.withoutNormalizing(e,(()=>{var{to:n,at:r=e.selection,mode:o="lowest",voids:a=!1}=t,{match:i}=t;if(r){null==i&&(i=wa.isPath(r)?ai(e,r):t=>Pa.isElement(t)&&Va.isBlock(e,t));var s=Va.pathRef(e,n),u=Va.nodes(e,{at:r,match:i,mode:o,voids:a}),c=Array.from(u,(t=>{var[,n]=t;return Va.pathRef(e,n)}));for(var l of c){var d=l.unref(),f=s.current;0!==d.length&&e.apply({type:"move_node",path:d,newPath:f}),s.current&&wa.isSibling(f,d)&&wa.isAfter(f,d)&&(s.current=wa.next(s.current))}s.unref()}}))})(e,...n)},next:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{mode:n="lowest",voids:r=!1}=t,{match:o,at:a=e.selection}=t;if(a){var i=Va.after(e,a,{voids:r});if(i){var[,s]=Va.last(e,[]),u=[i.path,s];if(wa.isPath(a)&&0===a.length)throw new Error("Cannot get the next node from the root node!");if(null==o)if(wa.isPath(a)){var[c]=Va.parent(e,a);o=e=>c.children.includes(e)}else o=()=>!0;var[l]=Va.nodes(e,{at:u,match:o,mode:n,voids:r});return l}}}(e,...n)},node:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=Va.path(e,t,n),o=za.get(e,r);return[o,r]}(e,...n)},nodes:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){var{at:n=e.selection,mode:r="all",universal:o=!1,reverse:a=!1,voids:i=!1,ignoreNonSelectable:s=!1}=t,{match:u}=t;if(u||(u=()=>!0),n){var c,l;if(Ka.isSpan(n))c=n[0],l=n[1];else{var d=Va.path(e,n,{edge:"start"}),f=Va.path(e,n,{edge:"end"});c=a?f:d,l=a?d:f}var h,p=za.nodes(e,{reverse:a,from:c,to:l,pass:t=>{var[n]=t;return!(!Pa.isElement(n)||(i||!Va.isVoid(e,n)&&!Va.isElementReadOnly(e,n))&&(!s||Va.isSelectable(e,n)))}}),m=[];for(var[v,g]of p)if(!s||!Pa.isElement(v)||Va.isSelectable(e,v)){var y=h&&0===wa.compare(g,h[1]);if("highest"!==r||!y)if(u(v,g))if("lowest"===r&&y)h=[v,g];else{var b="lowest"===r?h:[v,g];b&&(o?m.push(b):yield b),h=[v,g]}else if(o&&!y&&ri.isText(v))return}"lowest"===r&&h&&(o?m.push(h):yield h),o&&(yield*m)}}()}(e,...n)},normalize:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Qi(e,...n)},parent:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=Va.path(e,t,n),o=wa.parent(r);return Va.node(e,o)}(e,...n)},path:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{depth:r,edge:o}=n;if(wa.isPath(t))if("start"===o){var[,a]=za.first(e,t);t=a}else if("end"===o){var[,i]=za.last(e,t);t=i}return Ra.isRange(t)&&(t="start"===o?Ra.start(t):"end"===o?Ra.end(t):wa.common(t.anchor.path,t.focus.path)),Xa.isPoint(t)&&(t=t.path),null!=r&&(t=t.slice(0,r)),t}(e,...n)},pathRef:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{affinity:r="forward"}=n,o={current:t,affinity:r,unref(){var{current:t}=o;return Va.pathRefs(e).delete(o),o.current=null,t}};return Va.pathRefs(e).add(o),o}(e,...n)},pathRefs:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return(e=>{var t=ya.get(e);return t||(t=new Set,ya.set(e,t)),t})(e,...n)},point:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{edge:r="start"}=n;if(wa.isPath(t)){var o;if("end"===r){var[,a]=za.last(e,t);o=a}else{var[,i]=za.first(e,t);o=i}var s=za.get(e,o);if(!ri.isText(s))throw new Error("Cannot get the ".concat(r," point in the node at path [").concat(t,"] because it has no ").concat(r," text node."));return{path:o,offset:"end"===r?s.text.length:0}}if(Ra.isRange(t)){var[u,c]=Ra.edges(t);return"start"===r?u:c}return t}(e,...n)},pointRef:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{affinity:r="forward"}=n,o={current:t,affinity:r,unref(){var{current:t}=o;return Va.pointRefs(e).delete(o),o.current=null,t}};return Va.pointRefs(e).add(o),o}(e,...n)},pointRefs:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return(e=>{var t=ba.get(e);return t||(t=new Set,ba.set(e,t)),t})(e,...n)},positions:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return es(e,...n)},previous:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{mode:n="lowest",voids:r=!1}=t,{match:o,at:a=e.selection}=t;if(a){var i=Va.before(e,a,{voids:r});if(i){var[,s]=Va.first(e,[]),u=[i.path,s];if(wa.isPath(a)&&0===a.length)throw new Error("Cannot get the previous node from the root node!");if(null==o)if(wa.isPath(a)){var[c]=Va.parent(e,a);o=e=>c.children.includes(e)}else o=()=>!0;var[l]=Va.nodes(e,{reverse:!0,at:u,match:o,mode:n,voids:r});return l}}}(e,...n)},range:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t,n)=>Ra.isRange(t)&&!n?t:{anchor:Va.start(e,t),focus:Va.end(e,n||t)})(e,...n)},rangeRef:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{affinity:r="forward"}=n,o={current:t,affinity:r,unref(){var{current:t}=o;return Va.rangeRefs(e).delete(o),o.current=null,t}};return Va.rangeRefs(e).add(o),o}(e,...n)},rangeRefs:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return(e=>{var t=Ea.get(e);return t||(t=new Set,Ea.set(e,t)),t})(e,...n)},removeNodes:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Va.withoutNormalizing(e,(()=>{var{hanging:n=!1,voids:r=!1,mode:o="lowest"}=t,{at:a=e.selection,match:i}=t;if(a){null==i&&(i=wa.isPath(a)?ai(e,a):t=>Pa.isElement(t)&&Va.isBlock(e,t)),!n&&Ra.isRange(a)&&(a=Va.unhangRange(e,a,{voids:r}));var s=Va.nodes(e,{at:a,match:i,mode:o,voids:r}),u=Array.from(s,(t=>{var[,n]=t;return Va.pathRef(e,n)}));for(var c of u){var l=c.unref();if(l){var[d]=Va.node(e,l);e.apply({type:"remove_node",path:l,node:d})}}}}))}(e,...n)},select:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>{var{selection:n}=e;if(t=Va.range(e,t),n)Ni.setSelection(e,t);else{if(!Ra.isRange(t))throw new Error("When setting the selection and the current selection is `null` you must provide at least an `anchor` and `focus`, but you passed: ".concat(Ya.stringify(t)));e.apply({type:"set_selection",properties:n,newProperties:t})}})(e,...n)},setNodes:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Va.withoutNormalizing(e,(()=>{var{match:r,at:o=e.selection,compare:a,merge:i}=n,{hanging:s=!1,mode:u="lowest",split:c=!1,voids:l=!1}=n;if(o){if(null==r&&(r=wa.isPath(o)?ai(e,o):t=>Pa.isElement(t)&&Va.isBlock(e,t)),!s&&Ra.isRange(o)&&(o=Va.unhangRange(e,o,{voids:l})),c&&Ra.isRange(o)){if(Ra.isCollapsed(o)&&Va.leaf(e,o.anchor)[0].text.length>0)return;var d=Va.rangeRef(e,o,{affinity:"inward"}),[f,h]=Ra.edges(o),p="lowest"===u?"lowest":"highest",m=Va.isEnd(e,h,h.path);Ni.splitNodes(e,{at:h,match:r,mode:p,voids:l,always:!m});var v=Va.isStart(e,f,f.path);Ni.splitNodes(e,{at:f,match:r,mode:p,voids:l,always:!v}),o=d.unref(),null==n.at&&Ni.select(e,o)}for(var[g,y]of(a||(a=(e,t)=>e!==t),Va.nodes(e,{at:o,match:r,mode:u,voids:l}))){var b={},E={};if(0!==y.length){var w=!1;for(var C in t)"children"!==C&&"text"!==C&&a(t[C],g[C])&&(w=!0,g.hasOwnProperty(C)&&(b[C]=g[C]),i?null!=t[C]&&(E[C]=i(g[C],t[C])):null!=t[C]&&(E[C]=t[C]));w&&e.apply({type:"set_node",path:y,properties:b,newProperties:E})}}}}))}(e,...n)},setNormalizing:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>{ga.set(e,t)})(e,...n)},setPoint:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{selection:r}=e,{edge:o="both"}=n;if(r){"start"===o&&(o=Ra.isBackward(r)?"focus":"anchor"),"end"===o&&(o=Ra.isBackward(r)?"anchor":"focus");var{anchor:a,focus:i}=r,s="anchor"===o?a:i;Ni.setSelection(e,{["anchor"===o?"anchor":"focus"]:os(os({},s),t)})}}(e,...n)},setSelection:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>{var{selection:n}=e,r={},o={};if(n){for(var a in t)("anchor"===a&&null!=t.anchor&&!Xa.equals(t.anchor,n.anchor)||"focus"===a&&null!=t.focus&&!Xa.equals(t.focus,n.focus)||"anchor"!==a&&"focus"!==a&&t[a]!==n[a])&&(r[a]=n[a],o[a]=t[a]);Object.keys(r).length>0&&e.apply({type:"set_selection",properties:r,newProperties:o})}})(e,...n)},splitNodes:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return cs(e,...n)},start:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>Va.point(e,t,{edge:"start"}))(e,...n)},string:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{voids:r=!1}=n,o=Va.range(e,t),[a,i]=Ra.edges(o),s="";for(var[u,c]of Va.nodes(e,{at:o,match:ri.isText,voids:r})){var l=u.text;wa.equals(c,i.path)&&(l=l.slice(0,i.offset)),wa.equals(c,a.path)&&(l=l.slice(a.offset)),s+=l}return s}(e,...n)},unhangRange:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{voids:r=!1}=n,[o,a]=Ra.edges(t);if(0!==o.offset||0!==a.offset||Ra.isCollapsed(t)||wa.hasPrevious(a.path))return t;var i=Va.above(e,{at:a,match:t=>Pa.isElement(t)&&Va.isBlock(e,t),voids:r}),s=i?i[1]:[],u={anchor:Va.start(e,o),focus:a},c=!0;for(var[l,d]of Va.nodes(e,{at:u,match:ri.isText,reverse:!0,voids:r}))if(c)c=!1;else if(""!==l.text||wa.isBefore(d,s)){a={path:d,offset:l.text.length};break}return{anchor:o,focus:a}}(e,...n)},unsetNodes:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Array.isArray(t)||(t=[t]);var r={};for(var o of t)r[o]=null;Ni.setNodes(e,r,n)}(e,...n)},unwrapNodes:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Va.withoutNormalizing(e,(()=>{var{mode:n="lowest",split:r=!1,voids:o=!1}=t,{at:a=e.selection,match:i}=t;if(a){null==i&&(i=wa.isPath(a)?ai(e,a):t=>Pa.isElement(t)&&Va.isBlock(e,t)),wa.isPath(a)&&(a=Va.range(e,a));var s=Ra.isRange(a)?Va.rangeRef(e,a):null,u=Va.nodes(e,{at:a,match:i,mode:n,voids:o}),c=Array.from(u,(t=>{var[,n]=t;return Va.pathRef(e,n)})).reverse(),l=function(){var t=d.unref(),[n]=Va.node(e,t),a=Va.range(e,t);r&&s&&(a=Ra.intersection(s.current,a)),Ni.liftNodes(e,{at:a,match:e=>Pa.isAncestor(n)&&n.children.includes(e),voids:o})};for(var d of c)l();s&&s.unref()}}))}(e,...n)},void:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Va.above(e,Gi(Gi({},t),{},{match:t=>Pa.isElement(t)&&Va.isVoid(e,t)}))}(e,...n)},withoutNormalizing:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>{var n=Va.isNormalizing(e);Va.setNormalizing(e,!1);try{t()}finally{Va.setNormalizing(e,n)}Va.normalize(e)})(e,...n)},wrapNodes:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Va.withoutNormalizing(e,(()=>{var{mode:r="lowest",split:o=!1,voids:a=!1}=n,{match:i,at:s=e.selection}=n;if(s){if(null==i&&(i=wa.isPath(s)?ai(e,s):e.isInline(t)?t=>Pa.isElement(t)&&Va.isInline(e,t)||ri.isText(t):t=>Pa.isElement(t)&&Va.isBlock(e,t)),o&&Ra.isRange(s)){var[u,c]=Ra.edges(s),l=Va.rangeRef(e,s,{affinity:"inward"});Ni.splitNodes(e,{at:c,match:i,voids:a}),Ni.splitNodes(e,{at:u,match:i,voids:a}),s=l.unref(),null==n.at&&Ni.select(e,s)}var d=Array.from(Va.nodes(e,{at:s,match:e.isInline(t)?t=>Pa.isElement(t)&&Va.isBlock(e,t):e=>Va.isEditor(e),mode:"lowest",voids:a})),f=function(){var n=Ra.isRange(s)?Ra.intersection(s,Va.range(e,h)):s;if(!n)return 0;var o=Array.from(Va.nodes(e,{at:n,match:i,mode:r,voids:a}));if(o.length>0){var[u]=o,c=o[o.length-1],[,l]=u,[,d]=c;if(0===l.length&&0===d.length)return 0;var f=wa.equals(l,d)?wa.parent(l):wa.common(l,d),p=Va.range(e,l,d),m=Va.node(e,f),[v]=m,g=f.length+1,y=wa.next(d.slice(0,g)),b=ds(ds({},t),{},{children:[]});Ni.insertNodes(e,b,{at:y,voids:a}),Ni.moveNodes(e,{at:p,match:e=>Pa.isAncestor(v)&&v.children.includes(e),to:y.concat(0),voids:a})}};for(var[,h]of d)f()}}))}(e,...n)},shouldMergeNodesRemovePrevNode:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return((e,t)=>{var[n,r]=t;return Pa.isElement(n)&&Va.isEmpty(e,n)||ri.isText(n)&&""===n.text&&0!==r[r.length-1]})(e,...n)}};return e};function hs(e,t,n={}){const{filterVoids:r}=n,o=Va.before(e,t,{unit:"character",voids:r});if(o){const n=Va.range(e,o,Ra.isRange(t)?Ra.start(t):t),r=Va.string(e,n);return{range:n,text:r,void:0===r.length}}}function ps(e,t,n={}){const{filterVoids:r}=n,o=Va.after(e,t,{unit:"character",voids:r});if(o){const n=Va.range(e,o,Ra.isRange(t)?Ra.end(t):t),r=Va.string(e,n);return{range:n,text:r,void:0===r.length}}}const ms={direction:"before"};function vs(e,t,n=[" "],r=ms){const{include:o,direction:a}={...ms,...r};let[i,s]=Ra.edges(t),u=i;function c(t){const r="after"===t?Va.after(e,u,{unit:"character"}):Va.before(e,u,{unit:"character"}),o=r&&Va.string(e,"after"===t?{anchor:u,focus:r}:{anchor:r,focus:u}),a=o&&o["after"===t?0:o.length-1];return!(!r||!a||n.includes(a))&&(u=r,0!==u.offset)}if("before"!==a){for(u=s;c("after"););s=u}if("after"!==a){for(u=i;c("before"););i=u}return o?{anchor:Va.before(e,i,{unit:"offset"})??i,focus:Va.after(e,s,{unit:"offset"})??s}:{anchor:i,focus:s}}function gs(e){return!e.trim()}function ys(e){return null!==e&&Ra.isCollapsed(e)}const bs="@";function Es(e){return Pa.isElement(e)&&"mention"===e.type}function ws(e){return"type"in e&&"mention"===e.type}function Cs(e){return"type"in e&&"link"===e.type}function Ds(e){return e.startsWith("http://")||e.startsWith("https://")?e:e.startsWith("www.")?"https://"+e:void 0}const As=t.forwardRef((({children:e,asChild:t,...n},r)=>{const o=t?qr:"span";return s.default.createElement(o,{...n,ref:r},e)})),xs=t.forwardRef((({children:e,asChild:t,...n},r)=>{const o=t?qr:"a";return s.default.createElement(o,{target:"_blank",rel:"noopener noreferrer nofollow",...n,ref:r},e)})),_s={Mention:({userId:e})=>s.default.createElement(As,null,bs,e),Link:({href:e,children:t})=>s.default.createElement(xs,{href:e},t)},Bs=t.forwardRef((({body:e,components:n,style:r,asChild:o,...a},i)=>{const u=o?qr:"div",{Mention:c,Link:l}=t.useMemo((()=>({..._s,...n})),[n]);return e&&e?.content?s.default.createElement(u,{...a,style:{whiteSpace:"break-spaces",...r},ref:i},e.content.map(((e,t)=>"paragraph"===e.type?s.default.createElement("p",{key:t,style:{minHeight:"1lh"}},e.children.map(((e,t)=>{if(ws(e))return e.id?s.default.createElement(c,{userId:e.id,key:t}):null;if(Cs(e)){const n=Ds(e.url)??e.url;return s.default.createElement(l,{href:n,key:t},e.text??e.url)}let n=e.text;return e.bold&&(n=s.default.createElement("strong",{key:t},n)),e.italic&&(n=s.default.createElement("em",{key:t},n)),e.strikethrough&&(n=s.default.createElement("s",{key:t},n)),e.code&&(n=s.default.createElement("code",{key:t},n)),s.default.createElement("span",{key:t},n)}))):null))):null})),Os=["top","right","bottom","left"],Ss=Math.min,Ts=Math.max,ks=Math.round,Is=Math.floor,Fs=e=>({x:e,y:e}),Rs={left:"right",right:"left",bottom:"top",top:"bottom"},Ns={start:"end",end:"start"};function Ps(e,t,n){return Ts(e,Ss(t,n))}function Ms(e,t){return"function"==typeof e?e(t):e}function js(e){return e.split("-")[0]}function Ls(e){return e.split("-")[1]}function zs(e){return"x"===e?"y":"x"}function Hs(e){return"y"===e?"height":"width"}function Us(e){return["top","bottom"].includes(js(e))?"y":"x"}function Ws(e){return zs(Us(e))}function $s(e,t,n){void 0===n&&(n=!1);const r=Ls(e),o=Ws(e),a=Hs(o);let i="x"===o?r===(n?"end":"start")?"right":"left":"start"===r?"bottom":"top";return t.reference[a]>t.floating[a]&&(i=Ks(i)),[i,Ks(i)]}function Vs(e){return e.replace(/start|end/g,(e=>Ns[e]))}function Ks(e){return e.replace(/left|right|bottom|top/g,(e=>Rs[e]))}function qs(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function Gs(e){const{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function Xs(e,t,n){let{reference:r,floating:o}=e;const a=Us(t),i=Ws(t),s=Hs(i),u=js(t),c="y"===a,l=r.x+r.width/2-o.width/2,d=r.y+r.height/2-o.height/2,f=r[s]/2-o[s]/2;let h;switch(u){case"top":h={x:l,y:r.y-o.height};break;case"bottom":h={x:l,y:r.y+r.height};break;case"right":h={x:r.x+r.width,y:d};break;case"left":h={x:r.x-o.width,y:d};break;default:h={x:r.x,y:r.y}}switch(Ls(t)){case"start":h[i]-=f*(n&&c?-1:1);break;case"end":h[i]+=f*(n&&c?-1:1)}return h}async function Zs(e,t){var n;void 0===t&&(t={});const{x:r,y:o,platform:a,rects:i,elements:s,strategy:u}=e,{boundary:c="clippingAncestors",rootBoundary:l="viewport",elementContext:d="floating",altBoundary:f=!1,padding:h=0}=Ms(t,e),p=qs(h),m=s[f?"floating"===d?"reference":"floating":d],v=Gs(await a.getClippingRect({element:null==(n=await(null==a.isElement?void 0:a.isElement(m)))||n?m:m.contextElement||await(null==a.getDocumentElement?void 0:a.getDocumentElement(s.floating)),boundary:c,rootBoundary:l,strategy:u})),g="floating"===d?{x:r,y:o,width:i.floating.width,height:i.floating.height}:i.reference,y=await(null==a.getOffsetParent?void 0:a.getOffsetParent(s.floating)),b=await(null==a.isElement?void 0:a.isElement(y))&&await(null==a.getScale?void 0:a.getScale(y))||{x:1,y:1},E=Gs(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:g,offsetParent:y,strategy:u}):g);return{top:(v.top-E.top+p.top)/b.y,bottom:(E.bottom-v.bottom+p.bottom)/b.y,left:(v.left-E.left+p.left)/b.x,right:(E.right-v.right+p.right)/b.x}}function Ys(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Js(e){return Os.some((t=>e[t]>=0))}function Qs(){return"undefined"!=typeof window}function eu(e){return ru(e)?(e.nodeName||"").toLowerCase():"#document"}function tu(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function nu(e){var t;return null==(t=(ru(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function ru(e){return!!Qs()&&(e instanceof Node||e instanceof tu(e).Node)}function ou(e){return!!Qs()&&(e instanceof Element||e instanceof tu(e).Element)}function au(e){return!!Qs()&&(e instanceof HTMLElement||e instanceof tu(e).HTMLElement)}function iu(e){return!(!Qs()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof tu(e).ShadowRoot)}function su(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=hu(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function uu(e){return["table","td","th"].includes(eu(e))}function cu(e){return[":popover-open",":modal"].some((t=>{try{return e.matches(t)}catch(e){return!1}}))}function lu(e){const t=du(),n=ou(e)?hu(e):e;return"none"!==n.transform||"none"!==n.perspective||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||["transform","perspective","filter"].some((e=>(n.willChange||"").includes(e)))||["paint","layout","strict","content"].some((e=>(n.contain||"").includes(e)))}function du(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function fu(e){return["html","body","#document"].includes(eu(e))}function hu(e){return tu(e).getComputedStyle(e)}function pu(e){return ou(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function mu(e){if("html"===eu(e))return e;const t=e.assignedSlot||e.parentNode||iu(e)&&e.host||nu(e);return iu(t)?t.host:t}function vu(e){const t=mu(e);return fu(t)?e.ownerDocument?e.ownerDocument.body:e.body:au(t)&&su(t)?t:vu(t)}function gu(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);const o=vu(e),a=o===(null==(r=e.ownerDocument)?void 0:r.body),i=tu(o);if(a){const e=yu(i);return t.concat(i,i.visualViewport||[],su(o)?o:[],e&&n?gu(e):[])}return t.concat(o,gu(o,[],n))}function yu(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function bu(e){const t=hu(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=au(e),a=o?e.offsetWidth:n,i=o?e.offsetHeight:r,s=ks(n)!==a||ks(r)!==i;return s&&(n=a,r=i),{width:n,height:r,$:s}}function Eu(e){return ou(e)?e:e.contextElement}function wu(e){const t=Eu(e);if(!au(t))return Fs(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:a}=bu(t);let i=(a?ks(n.width):n.width)/r,s=(a?ks(n.height):n.height)/o;return i&&Number.isFinite(i)||(i=1),s&&Number.isFinite(s)||(s=1),{x:i,y:s}}const Cu=Fs(0);function Du(e){const t=tu(e);return du()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:Cu}function Au(e,t,n,r){void 0===t&&(t=!1),void 0===n&&(n=!1);const o=e.getBoundingClientRect(),a=Eu(e);let i=Fs(1);t&&(r?ou(r)&&(i=wu(r)):i=wu(e));const s=function(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==tu(e))&&t}(a,n,r)?Du(a):Fs(0);let u=(o.left+s.x)/i.x,c=(o.top+s.y)/i.y,l=o.width/i.x,d=o.height/i.y;if(a){const e=tu(a),t=r&&ou(r)?tu(r):r;let n=e,o=yu(n);for(;o&&r&&t!==n;){const e=wu(o),t=o.getBoundingClientRect(),r=hu(o),a=t.left+(o.clientLeft+parseFloat(r.paddingLeft))*e.x,i=t.top+(o.clientTop+parseFloat(r.paddingTop))*e.y;u*=e.x,c*=e.y,l*=e.x,d*=e.y,u+=a,c+=i,n=tu(o),o=yu(n)}}return Gs({width:l,height:d,x:u,y:c})}function xu(e,t){const n=pu(e).scrollLeft;return t?t.left+n:Au(nu(e)).left+n}function _u(e,t,n){void 0===n&&(n=!1);const r=e.getBoundingClientRect();return{x:r.left+t.scrollLeft-(n?0:xu(e,r)),y:r.top+t.scrollTop}}function Bu(e,t,n){let r;if("viewport"===t)r=function(e,t){const n=tu(e),r=nu(e),o=n.visualViewport;let a=r.clientWidth,i=r.clientHeight,s=0,u=0;if(o){a=o.width,i=o.height;const e=du();(!e||e&&"fixed"===t)&&(s=o.offsetLeft,u=o.offsetTop)}return{width:a,height:i,x:s,y:u}}(e,n);else if("document"===t)r=function(e){const t=nu(e),n=pu(e),r=e.ownerDocument.body,o=Ts(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=Ts(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let i=-n.scrollLeft+xu(e);const s=-n.scrollTop;return"rtl"===hu(r).direction&&(i+=Ts(t.clientWidth,r.clientWidth)-o),{width:o,height:a,x:i,y:s}}(nu(e));else if(ou(t))r=function(e,t){const n=Au(e,!0,"fixed"===t),r=n.top+e.clientTop,o=n.left+e.clientLeft,a=au(e)?wu(e):Fs(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:o*a.x,y:r*a.y}}(t,n);else{const n=Du(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Gs(r)}function Ou(e,t){const n=mu(e);return!(n===t||!ou(n)||fu(n))&&("fixed"===hu(n).position||Ou(n,t))}function Su(e,t,n){const r=au(t),o=nu(t),a="fixed"===n,i=Au(e,!0,a,t);let s={scrollLeft:0,scrollTop:0};const u=Fs(0);if(r||!r&&!a)if(("body"!==eu(t)||su(o))&&(s=pu(t)),r){const e=Au(t,!0,a,t);u.x=e.x+t.clientLeft,u.y=e.y+t.clientTop}else o&&(u.x=xu(o));const c=!o||r||a?Fs(0):_u(o,s);return{x:i.left+s.scrollLeft-u.x-c.x,y:i.top+s.scrollTop-u.y-c.y,width:i.width,height:i.height}}function Tu(e){return"static"===hu(e).position}function ku(e,t){if(!au(e)||"fixed"===hu(e).position)return null;if(t)return t(e);let n=e.offsetParent;return nu(e)===n&&(n=n.ownerDocument.body),n}function Iu(e,t){const n=tu(e);if(cu(e))return n;if(!au(e)){let t=mu(e);for(;t&&!fu(t);){if(ou(t)&&!Tu(t))return t;t=mu(t)}return n}let r=ku(e,t);for(;r&&uu(r)&&Tu(r);)r=ku(r,t);return r&&fu(r)&&Tu(r)&&!lu(r)?n:r||function(e){let t=mu(e);for(;au(t)&&!fu(t);){if(lu(t))return t;if(cu(t))return null;t=mu(t)}return null}(e)||n}const Fu={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e;const a="fixed"===o,i=nu(r),s=!!t&&cu(t.floating);if(r===i||s&&a)return n;let u={scrollLeft:0,scrollTop:0},c=Fs(1);const l=Fs(0),d=au(r);if((d||!d&&!a)&&(("body"!==eu(r)||su(i))&&(u=pu(r)),au(r))){const e=Au(r);c=wu(r),l.x=e.x+r.clientLeft,l.y=e.y+r.clientTop}const f=!i||d||a?Fs(0):_u(i,u,!0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-u.scrollLeft*c.x+l.x+f.x,y:n.y*c.y-u.scrollTop*c.y+l.y+f.y}},getDocumentElement:nu,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const a="clippingAncestors"===n?cu(t)?[]:function(e,t){const n=t.get(e);if(n)return n;let r=gu(e,[],!1).filter((e=>ou(e)&&"body"!==eu(e))),o=null;const a="fixed"===hu(e).position;let i=a?mu(e):e;for(;ou(i)&&!fu(i);){const t=hu(i),n=lu(i);n||"fixed"!==t.position||(o=null),(a?!n&&!o:!n&&"static"===t.position&&o&&["absolute","fixed"].includes(o.position)||su(i)&&!n&&Ou(e,i))?r=r.filter((e=>e!==i)):o=t,i=mu(i)}return t.set(e,r),r}(t,this._c):[].concat(n),i=[...a,r],s=i[0],u=i.reduce(((e,n)=>{const r=Bu(t,n,o);return e.top=Ts(r.top,e.top),e.right=Ss(r.right,e.right),e.bottom=Ss(r.bottom,e.bottom),e.left=Ts(r.left,e.left),e}),Bu(t,s,o));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}},getOffsetParent:Iu,getElementRects:async function(e){const t=this.getOffsetParent||Iu,n=this.getDimensions,r=await n(e.floating);return{reference:Su(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:n}=bu(e);return{width:t,height:n}},getScale:wu,isElement:ou,isRTL:function(e){return"rtl"===hu(e).direction}};function Ru(e,t,n,r){void 0===r&&(r={});const{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:i="function"==typeof ResizeObserver,layoutShift:s="function"==typeof IntersectionObserver,animationFrame:u=!1}=r,c=Eu(e),l=o||a?[...c?gu(c):[],...gu(t)]:[];l.forEach((e=>{o&&e.addEventListener("scroll",n,{passive:!0}),a&&e.addEventListener("resize",n)}));const d=c&&s?function(e,t){let n,r=null;const o=nu(e);function a(){var e;clearTimeout(n),null==(e=r)||e.disconnect(),r=null}return function i(s,u){void 0===s&&(s=!1),void 0===u&&(u=1),a();const{left:c,top:l,width:d,height:f}=e.getBoundingClientRect();if(s||t(),!d||!f)return;const h={rootMargin:-Is(l)+"px "+-Is(o.clientWidth-(c+d))+"px "+-Is(o.clientHeight-(l+f))+"px "+-Is(c)+"px",threshold:Ts(0,Ss(1,u))||1};let p=!0;function m(e){const t=e[0].intersectionRatio;if(t!==u){if(!p)return i();t?i(!1,t):n=setTimeout((()=>{i(!1,1e-7)}),1e3)}p=!1}try{r=new IntersectionObserver(m,{...h,root:o.ownerDocument})}catch(e){r=new IntersectionObserver(m,h)}r.observe(e)}(!0),a}(c,n):null;let f,h=-1,p=null;i&&(p=new ResizeObserver((e=>{let[r]=e;r&&r.target===c&&p&&(p.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame((()=>{var e;null==(e=p)||e.observe(t)}))),n()})),c&&!u&&p.observe(c),p.observe(t));let m=u?Au(e):null;return u&&function t(){const r=Au(e);!m||r.x===m.x&&r.y===m.y&&r.width===m.width&&r.height===m.height||n();m=r,f=requestAnimationFrame(t)}(),n(),()=>{var e;l.forEach((e=>{o&&e.removeEventListener("scroll",n),a&&e.removeEventListener("resize",n)})),null==d||d(),null==(e=p)||e.disconnect(),p=null,u&&cancelAnimationFrame(f)}}const Nu=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:o,y:a,placement:i,middlewareData:s}=t,u=await async function(e,t){const{placement:n,platform:r,elements:o}=e,a=await(null==r.isRTL?void 0:r.isRTL(o.floating)),i=js(n),s=Ls(n),u="y"===Us(n),c=["left","top"].includes(i)?-1:1,l=a&&u?-1:1,d=Ms(t,e);let{mainAxis:f,crossAxis:h,alignmentAxis:p}="number"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&"number"==typeof p&&(h="end"===s?-1*p:p),u?{x:h*l,y:f*c}:{x:f*c,y:h*l}}(t,e);return i===(null==(n=s.offset)?void 0:n.placement)&&null!=(r=s.arrow)&&r.alignmentOffset?{}:{x:o+u.x,y:a+u.y,data:{...u,placement:i}}}}},Pu=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:a=!0,crossAxis:i=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...u}=Ms(e,t),c={x:n,y:r},l=await Zs(t,u),d=Us(js(o)),f=zs(d);let h=c[f],p=c[d];if(a){const e="y"===f?"bottom":"right";h=Ps(h+l["y"===f?"top":"left"],h,h-l[e])}if(i){const e="y"===d?"bottom":"right";p=Ps(p+l["y"===d?"top":"left"],p,p-l[e])}const m=s.fn({...t,[f]:h,[d]:p});return{...m,data:{x:m.x-n,y:m.y-r,enabled:{[f]:a,[d]:i}}}}}},Mu=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,r;const{placement:o,middlewareData:a,rects:i,initialPlacement:s,platform:u,elements:c}=t,{mainAxis:l=!0,crossAxis:d=!0,fallbackPlacements:f,fallbackStrategy:h="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:m=!0,...v}=Ms(e,t);if(null!=(n=a.arrow)&&n.alignmentOffset)return{};const g=js(o),y=Us(s),b=js(s)===s,E=await(null==u.isRTL?void 0:u.isRTL(c.floating)),w=f||(b||!m?[Ks(s)]:function(e){const t=Ks(e);return[Vs(e),t,Vs(t)]}(s)),C="none"!==p;!f&&C&&w.push(...function(e,t,n,r){const o=Ls(e);let a=function(e,t,n){const r=["left","right"],o=["right","left"],a=["top","bottom"],i=["bottom","top"];switch(e){case"top":case"bottom":return n?t?o:r:t?r:o;case"left":case"right":return t?a:i;default:return[]}}(js(e),"start"===n,r);return o&&(a=a.map((e=>e+"-"+o)),t&&(a=a.concat(a.map(Vs)))),a}(s,m,p,E));const D=[s,...w],A=await Zs(t,v),x=[];let _=(null==(r=a.flip)?void 0:r.overflows)||[];if(l&&x.push(A[g]),d){const e=$s(o,i,E);x.push(A[e[0]],A[e[1]])}if(_=[..._,{placement:o,overflows:x}],!x.every((e=>e<=0))){var B,O;const e=((null==(B=a.flip)?void 0:B.index)||0)+1,t=D[e];if(t)return{data:{index:e,overflows:_},reset:{placement:t}};let n=null==(O=_.filter((e=>e.overflows[0]<=0)).sort(((e,t)=>e.overflows[1]-t.overflows[1]))[0])?void 0:O.placement;if(!n)switch(h){case"bestFit":{var S;const e=null==(S=_.filter((e=>{if(C){const t=Us(e.placement);return t===y||"y"===t}return!0})).map((e=>[e.placement,e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)])).sort(((e,t)=>e[1]-t[1]))[0])?void 0:S[0];e&&(n=e);break}case"initialPlacement":n=s}if(o!==n)return{reset:{placement:n}}}return{}}}},ju=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:o,rects:a,platform:i,elements:s}=t,{apply:u=()=>{},...c}=Ms(e,t),l=await Zs(t,c),d=js(o),f=Ls(o),h="y"===Us(o),{width:p,height:m}=a.floating;let v,g;"top"===d||"bottom"===d?(v=d,g=f===(await(null==i.isRTL?void 0:i.isRTL(s.floating))?"start":"end")?"left":"right"):(g=d,v="end"===f?"top":"bottom");const y=m-l.top-l.bottom,b=p-l.left-l.right,E=Ss(m-l[v],y),w=Ss(p-l[g],b),C=!t.middlewareData.shift;let D=E,A=w;if(null!=(n=t.middlewareData.shift)&&n.enabled.x&&(A=b),null!=(r=t.middlewareData.shift)&&r.enabled.y&&(D=y),C&&!f){const e=Ts(l.left,0),t=Ts(l.right,0),n=Ts(l.top,0),r=Ts(l.bottom,0);h?A=p-2*(0!==e||0!==t?e+t:Ts(l.left,l.right)):D=m-2*(0!==n||0!==r?n+r:Ts(l.top,l.bottom))}await u({...t,availableWidth:A,availableHeight:D});const x=await i.getDimensions(s.floating);return p!==x.width||m!==x.height?{reset:{rects:!0}}:{}}}},Lu=function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:r="referenceHidden",...o}=Ms(e,t);switch(r){case"referenceHidden":{const e=Ys(await Zs(t,{...o,elementContext:"reference"}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Js(e)}}}case"escaped":{const e=Ys(await Zs(t,{...o,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Js(e)}}}default:return{}}}}},zu=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:a,platform:i,elements:s,middlewareData:u}=t,{element:c,padding:l=0}=Ms(e,t)||{};if(null==c)return{};const d=qs(l),f={x:n,y:r},h=Ws(o),p=Hs(h),m=await i.getDimensions(c),v="y"===h,g=v?"top":"left",y=v?"bottom":"right",b=v?"clientHeight":"clientWidth",E=a.reference[p]+a.reference[h]-f[h]-a.floating[p],w=f[h]-a.reference[h],C=await(null==i.getOffsetParent?void 0:i.getOffsetParent(c));let D=C?C[b]:0;D&&await(null==i.isElement?void 0:i.isElement(C))||(D=s.floating[b]||a.floating[p]);const A=E/2-w/2,x=D/2-m[p]/2-1,_=Ss(d[g],x),B=Ss(d[y],x),O=_,S=D-m[p]-B,T=D/2-m[p]/2+A,k=Ps(O,T,S),I=!u.arrow&&null!=Ls(o)&&T!==k&&a.reference[p]/2-(T<O?_:B)-m[p]/2<0,F=I?T<O?T-O:T-S:0;return{[h]:f[h]+F,data:{[h]:k,centerOffset:T-k-F,...I&&{alignmentOffset:F}},reset:I}}}),Hu=function(e){return void 0===e&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:a,middlewareData:i}=t,{offset:s=0,mainAxis:u=!0,crossAxis:c=!0}=Ms(e,t),l={x:n,y:r},d=Us(o),f=zs(d);let h=l[f],p=l[d];const m=Ms(s,t),v="number"==typeof m?{mainAxis:m,crossAxis:0}:{mainAxis:0,crossAxis:0,...m};if(u){const e="y"===f?"height":"width",t=a.reference[f]-a.floating[e]+v.mainAxis,n=a.reference[f]+a.reference[e]-v.mainAxis;h<t?h=t:h>n&&(h=n)}if(c){var g,y;const e="y"===f?"width":"height",t=["top","left"].includes(js(o)),n=a.reference[d]-a.floating[e]+(t&&(null==(g=i.offset)?void 0:g[d])||0)+(t?0:v.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:(null==(y=i.offset)?void 0:y[d])||0)-(t?v.crossAxis:0);p<n?p=n:p>r&&(p=r)}return{[f]:h,[d]:p}}}},Uu=(e,t,n)=>{const r=new Map,o={platform:Fu,...n},a={...o.platform,_c:r};return(async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:a=[],platform:i}=n,s=a.filter(Boolean),u=await(null==i.isRTL?void 0:i.isRTL(t));let c=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:l,y:d}=Xs(c,r,u),f=r,h={},p=0;for(let n=0;n<s.length;n++){const{name:a,fn:m}=s[n],{x:v,y:g,data:y,reset:b}=await m({x:l,y:d,initialPlacement:r,placement:f,strategy:o,middlewareData:h,rects:c,platform:i,elements:{reference:e,floating:t}});l=null!=v?v:l,d=null!=g?g:d,h={...h,[a]:{...h[a],...y}},b&&p<=50&&(p++,"object"==typeof b&&(b.placement&&(f=b.placement),b.rects&&(c=!0===b.rects?await i.getElementRects({reference:e,floating:t,strategy:o}):b.rects),({x:l,y:d}=Xs(c,f,u))),n=-1)}return{x:l,y:d,placement:f,strategy:o,middlewareData:h}})(e,t,{...o,platform:a})};var Wu="undefined"!=typeof document?t.useLayoutEffect:t.useEffect;function $u(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;0!=r--;)if(!$u(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!{}.hasOwnProperty.call(t,o[r]))return!1;for(r=n;0!=r--;){const n=o[r];if(("_owner"!==n||!e.$$typeof)&&!$u(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function Vu(e){if("undefined"==typeof window)return 1;return(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Ku(e,t){const n=Vu(e);return Math.round(t*n)/n}function qu(e){const t=i.useRef(e);return Wu((()=>{t.current=e})),t}function Gu(e){void 0===e&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:a,floating:s}={},transform:c=!0,whileElementsMounted:l,open:d}=e,[f,h]=i.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=i.useState(r);$u(p,r)||m(r);const[v,g]=i.useState(null),[y,b]=i.useState(null),E=i.useCallback((e=>{e!==A.current&&(A.current=e,g(e))}),[]),w=i.useCallback((e=>{e!==x.current&&(x.current=e,b(e))}),[]),C=a||v,D=s||y,A=i.useRef(null),x=i.useRef(null),_=i.useRef(f),B=null!=l,O=qu(l),S=qu(o),T=qu(d),k=i.useCallback((()=>{if(!A.current||!x.current)return;const e={placement:t,strategy:n,middleware:p};S.current&&(e.platform=S.current),Uu(A.current,x.current,e).then((e=>{const t={...e,isPositioned:!1!==T.current};I.current&&!$u(_.current,t)&&(_.current=t,u.flushSync((()=>{h(t)})))}))}),[p,t,n,S,T]);Wu((()=>{!1===d&&_.current.isPositioned&&(_.current.isPositioned=!1,h((e=>({...e,isPositioned:!1}))))}),[d]);const I=i.useRef(!1);Wu((()=>(I.current=!0,()=>{I.current=!1})),[]),Wu((()=>{if(C&&(A.current=C),D&&(x.current=D),C&&D){if(O.current)return O.current(C,D,k);k()}}),[C,D,k,O,B]);const F=i.useMemo((()=>({reference:A,floating:x,setReference:E,setFloating:w})),[E,w]),R=i.useMemo((()=>({reference:C,floating:D})),[C,D]),N=i.useMemo((()=>{const e={position:n,left:0,top:0};if(!R.floating)return e;const t=Ku(R.floating,f.x),r=Ku(R.floating,f.y);return c?{...e,transform:"translate("+t+"px, "+r+"px)",...Vu(R.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:r}}),[n,c,R.floating,f.x,f.y]);return i.useMemo((()=>({...f,update:k,refs:F,elements:R,floatingStyles:N})),[f,k,F,R,N])}const Xu=e=>({name:"arrow",options:e,fn(t){const{element:n,padding:r}="function"==typeof e?e(t):e;return n&&(o=n,{}.hasOwnProperty.call(o,"current"))?null!=n.current?zu({element:n.current,padding:r}).fn(t):{}:n?zu({element:n,padding:r}).fn(t):{};var o}}),Zu=(e,t)=>({...Nu(e),options:[e,t]}),Yu=(e,t)=>({...Pu(e),options:[e,t]}),Ju=(e,t)=>({...Hu(e),options:[e,t]}),Qu=(e,t)=>({...Mu(e),options:[e,t]}),ec=(e,t)=>({...ju(e),options:[e,t]}),tc=(e,t)=>({...Lu(e),options:[e,t]}),nc=(e,t)=>({...Xu(e),options:[e,t]});var rc={isHistory:e=>bo(e)&&Array.isArray(e.redos)&&Array.isArray(e.undos)&&(0===e.redos.length||Wa.isOperationList(e.redos[0].operations))&&(0===e.undos.length||Wa.isOperationList(e.undos[0].operations))},oc=new WeakMap,ac=new WeakMap,ic=new WeakMap,sc={isHistoryEditor:e=>rc.isHistory(e.history)&&Va.isEditor(e),isMerging:e=>ac.get(e),isSplittingOnce:e=>ic.get(e),setSplittingOnce(e,t){ic.set(e,t)},isSaving:e=>oc.get(e),redo(e){e.redo()},undo(e){e.undo()},withMerging(e,t){var n=sc.isMerging(e);ac.set(e,!0),t(),ac.set(e,n)},withNewBatch(e,t){var n=sc.isMerging(e);ac.set(e,!0),ic.set(e,!0),t(),ac.set(e,n),ic.delete(e)},withoutMerging(e,t){var n=sc.isMerging(e);ac.set(e,!1),t(),ac.set(e,n)},withoutSaving(e,t){var n=sc.isSaving(e);oc.set(e,!1),t(),oc.set(e,n)}},uc=(e,t)=>!(!t||"insert_text"!==e.type||"insert_text"!==t.type||e.offset!==t.offset+t.text.length||!wa.equals(e.path,t.path))||!(!t||"remove_text"!==e.type||"remove_text"!==t.type||e.offset+e.text.length!==t.offset||!wa.equals(e.path,t.path)),cc=(e,t)=>"set_selection"!==e.type,lc=function(e){if(e=String(e||""),hc.test(e))return"rtl";if(pc.test(e))return"ltr";return"neutral"},dc="֑-߿יִ-﷽ﹰ-ﻼ",fc="A-Za-zÀ-ÖØ-öø-ʸ̀-ࠀ-Ⰰ-︀--",hc=new RegExp("^[^"+fc+"]*["+dc+"]"),pc=new RegExp("^[^"+dc+"]*["+fc+"]");var mc=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},vc="object"==typeof on&&on&&on.Object===Object&&on,gc="object"==typeof self&&self&&self.Object===Object&&self,yc=vc||gc||Function("return this")(),bc=yc,Ec=function(){return bc.Date.now()},wc=/\s/;var Cc=function(e){for(var t=e.length;t--&&wc.test(e.charAt(t)););return t},Dc=Cc,Ac=/^\s+/;var xc=function(e){return e?e.slice(0,Dc(e)+1).replace(Ac,""):e},_c=yc.Symbol,Bc=_c,Oc=Object.prototype,Sc=Oc.hasOwnProperty,Tc=Oc.toString,kc=Bc?Bc.toStringTag:void 0;var Ic=function(e){var t=Sc.call(e,kc),n=e[kc];try{e[kc]=void 0;var r=!0}catch(e){}var o=Tc.call(e);return r&&(t?e[kc]=n:delete e[kc]),o},Fc=Object.prototype.toString;var Rc=Ic,Nc=function(e){return Fc.call(e)},Pc=_c?_c.toStringTag:void 0;var Mc=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Pc&&Pc in Object(e)?Rc(e):Nc(e)},jc=function(e){return null!=e&&"object"==typeof e};var Lc=xc,zc=mc,Hc=function(e){return"symbol"==typeof e||jc(e)&&"[object Symbol]"==Mc(e)},Uc=/^[-+]0x[0-9a-f]+$/i,Wc=/^0b[01]+$/i,$c=/^0o[0-7]+$/i,Vc=parseInt;var Kc=mc,qc=Ec,Gc=function(e){if("number"==typeof e)return e;if(Hc(e))return NaN;if(zc(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=zc(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Lc(e);var n=Wc.test(e);return n||$c.test(e)?Vc(e.slice(2),n?2:8):Uc.test(e)?NaN:+e},Xc=Math.max,Zc=Math.min;var Yc=function(e,t,n){var r,o,a,i,s,u,c=0,l=!1,d=!1,f=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function h(t){var n=r,a=o;return r=o=void 0,c=t,i=e.apply(a,n)}function p(e){var n=e-u;return void 0===u||n>=t||n<0||d&&e-c>=a}function m(){var e=qc();if(p(e))return v(e);s=setTimeout(m,function(e){var n=t-(e-u);return d?Zc(n,a-(e-c)):n}(e))}function v(e){return s=void 0,f&&r?h(e):(r=o=void 0,i)}function g(){var e=qc(),n=p(e);if(r=arguments,o=this,u=e,n){if(void 0===s)return function(e){return c=e,s=setTimeout(m,t),l?h(e):i}(u);if(d)return clearTimeout(s),s=setTimeout(m,t),h(u)}return void 0===s&&(s=setTimeout(m,t)),i}return t=Gc(t)||0,Kc(n)&&(l=!!n.leading,a=(d="maxWait"in n)?Xc(Gc(n.maxWait)||0,t):a,f="trailing"in n?!!n.trailing:f),g.cancel=function(){void 0!==s&&clearTimeout(s),c=0,r=u=o=s=void 0},g.flush=function(){return void 0===s?i:v(qc())},g},Jc=Yc,Qc=mc;var el=function(e,t,n){var r=!0,o=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return Qc(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),Jc(e,t,{leading:r,maxWait:t,trailing:o})};const tl=e=>"object"==typeof e&&null!=e&&1===e.nodeType,nl=(e,t)=>(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e,rl=(e,t)=>{if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){const n=getComputedStyle(e,null);return nl(n.overflowY,t)||nl(n.overflowX,t)||(e=>{const t=(e=>{if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch(e){return null}})(e);return!!t&&(t.clientHeight<e.scrollHeight||t.clientWidth<e.scrollWidth)})(e)}return!1},ol=(e,t,n,r,o,a,i,s)=>a<e&&i>t||a>e&&i<t?0:a<=e&&s<=n||i>=t&&s>=n?a-e-r:i>t&&s<n||a<e&&s>n?i-t+o:0,al=e=>{const t=e.parentElement;return null==t?e.getRootNode().host||null:t},il=(e,t)=>{var n,r,o,a;if("undefined"==typeof document)return[];const{scrollMode:i,block:s,inline:u,boundary:c,skipOverflowHiddenElements:l}=t,d="function"==typeof c?c:e=>e!==c;if(!tl(e))throw new TypeError("Invalid target");const f=document.scrollingElement||document.documentElement,h=[];let p=e;for(;tl(p)&&d(p);){if(p=al(p),p===f){h.push(p);break}null!=p&&p===document.body&&rl(p)&&!rl(document.documentElement)||null!=p&&rl(p,l)&&h.push(p)}const m=null!=(r=null==(n=window.visualViewport)?void 0:n.width)?r:innerWidth,v=null!=(a=null==(o=window.visualViewport)?void 0:o.height)?a:innerHeight,{scrollX:g,scrollY:y}=window,{height:b,width:E,top:w,right:C,bottom:D,left:A}=e.getBoundingClientRect(),{top:x,right:_,bottom:B,left:O}=(e=>{const t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e);let S="start"===s||"nearest"===s?w-x:"end"===s?D+B:w+b/2-x+B,T="center"===u?A+E/2-O+_:"end"===u?C+_:A-O;const k=[];for(let e=0;e<h.length;e++){const t=h[e],{height:n,width:r,top:o,right:a,bottom:c,left:l}=t.getBoundingClientRect();if("if-needed"===i&&w>=0&&A>=0&&D<=v&&C<=m&&(t===f&&!rl(t)||w>=o&&D<=c&&A>=l&&C<=a))return k;const d=getComputedStyle(t),p=parseInt(d.borderLeftWidth,10),x=parseInt(d.borderTopWidth,10),_=parseInt(d.borderRightWidth,10),B=parseInt(d.borderBottomWidth,10);let O=0,I=0;const F="offsetWidth"in t?t.offsetWidth-t.clientWidth-p-_:0,R="offsetHeight"in t?t.offsetHeight-t.clientHeight-x-B:0,N="offsetWidth"in t?0===t.offsetWidth?0:r/t.offsetWidth:0,P="offsetHeight"in t?0===t.offsetHeight?0:n/t.offsetHeight:0;if(f===t)O="start"===s?S:"end"===s?S-v:"nearest"===s?ol(y,y+v,v,x,B,y+S,y+S+b,b):S-v/2,I="start"===u?T:"center"===u?T-m/2:"end"===u?T-m:ol(g,g+m,m,p,_,g+T,g+T+E,E),O=Math.max(0,O+y),I=Math.max(0,I+g);else{O="start"===s?S-o-x:"end"===s?S-c+B+R:"nearest"===s?ol(o,c,n,x,B+R,S,S+b,b):S-(o+n/2)+R/2,I="start"===u?T-l-p:"center"===u?T-(l+r/2)+F/2:"end"===u?T-a+_+F:ol(l,a,r,p,_+F,T,T+E,E);const{scrollLeft:e,scrollTop:i}=t;O=0===P?0:Math.max(0,Math.min(i+O/P,t.scrollHeight-n/P+R)),I=0===N?0:Math.max(0,Math.min(e+I/N,t.scrollWidth-r/N+F)),S+=i-O,T+=e-I}k.push({el:t,top:O,left:I})}return k};function sl(e,t){if(!e.isConnected||!(e=>{let t=e;for(;t&&t.parentNode;){if(t.parentNode===document)return!0;t=t.parentNode instanceof ShadowRoot?t.parentNode.host:t.parentNode}return!1})(e))return;const n=(e=>{const t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e);if((e=>"object"==typeof e&&"function"==typeof e.behavior)(t))return t.behavior(il(e,t));const r="boolean"==typeof t||null==t?void 0:t.behavior;for(const{el:o,top:a,left:i}of il(e,(e=>!1===e?{block:"end",inline:"nearest"}:(e=>e===Object(e)&&0!==Object.keys(e).length)(e)?e:{block:"start",inline:"nearest"})(t))){const e=a-n.top+n.bottom,t=i-n.left+n.right;o.scroll({top:e,left:t,behavior:r})}}var ul,cl=[],ll="ResizeObserver loop completed with undelivered notifications.";!function(e){e.BORDER_BOX="border-box",e.CONTENT_BOX="content-box",e.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"}(ul||(ul={}));var dl,fl=function(e){return Object.freeze(e)},hl=function(e,t){this.inlineSize=e,this.blockSize=t,fl(this)},pl=function(){function e(e,t,n,r){return this.x=e,this.y=t,this.width=n,this.height=r,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,fl(this)}return e.prototype.toJSON=function(){var e=this;return{x:e.x,y:e.y,top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.width,height:e.height}},e.fromRect=function(t){return new e(t.x,t.y,t.width,t.height)},e}(),ml=function(e){return e instanceof SVGElement&&"getBBox"in e},vl=function(e){if(ml(e)){var t=e.getBBox(),n=t.width,r=t.height;return!n&&!r}var o=e,a=o.offsetWidth,i=o.offsetHeight;return!(a||i||e.getClientRects().length)},gl=function(e){var t;if(e instanceof Element)return!0;var n=null===(t=null==e?void 0:e.ownerDocument)||void 0===t?void 0:t.defaultView;return!!(n&&e instanceof n.Element)},yl="undefined"!=typeof window?window:{},bl=new WeakMap,El=/auto|scroll/,wl=/^tb|vertical/,Cl=/msie|trident/i.test(yl.navigator&&yl.navigator.userAgent),Dl=function(e){return parseFloat(e||"0")},Al=function(e,t,n){return void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=!1),new hl((n?t:e)||0,(n?e:t)||0)},xl=fl({devicePixelContentBoxSize:Al(),borderBoxSize:Al(),contentBoxSize:Al(),contentRect:new pl(0,0,0,0)}),_l=function(e,t){if(void 0===t&&(t=!1),bl.has(e)&&!t)return bl.get(e);if(vl(e))return bl.set(e,xl),xl;var n=getComputedStyle(e),r=ml(e)&&e.ownerSVGElement&&e.getBBox(),o=!Cl&&"border-box"===n.boxSizing,a=wl.test(n.writingMode||""),i=!r&&El.test(n.overflowY||""),s=!r&&El.test(n.overflowX||""),u=r?0:Dl(n.paddingTop),c=r?0:Dl(n.paddingRight),l=r?0:Dl(n.paddingBottom),d=r?0:Dl(n.paddingLeft),f=r?0:Dl(n.borderTopWidth),h=r?0:Dl(n.borderRightWidth),p=r?0:Dl(n.borderBottomWidth),m=d+c,v=u+l,g=(r?0:Dl(n.borderLeftWidth))+h,y=f+p,b=s?e.offsetHeight-y-e.clientHeight:0,E=i?e.offsetWidth-g-e.clientWidth:0,w=o?m+g:0,C=o?v+y:0,D=r?r.width:Dl(n.width)-w-E,A=r?r.height:Dl(n.height)-C-b,x=D+m+E+g,_=A+v+b+y,B=fl({devicePixelContentBoxSize:Al(Math.round(D*devicePixelRatio),Math.round(A*devicePixelRatio),a),borderBoxSize:Al(x,_,a),contentBoxSize:Al(D,A,a),contentRect:new pl(d,u,D,A)});return bl.set(e,B),B},Bl=function(e,t,n){var r=_l(e,n),o=r.borderBoxSize,a=r.contentBoxSize,i=r.devicePixelContentBoxSize;switch(t){case ul.DEVICE_PIXEL_CONTENT_BOX:return i;case ul.BORDER_BOX:return o;default:return a}},Ol=function(e){var t=_l(e);this.target=e,this.contentRect=t.contentRect,this.borderBoxSize=fl([t.borderBoxSize]),this.contentBoxSize=fl([t.contentBoxSize]),this.devicePixelContentBoxSize=fl([t.devicePixelContentBoxSize])},Sl=function(e){if(vl(e))return 1/0;for(var t=0,n=e.parentNode;n;)t+=1,n=n.parentNode;return t},Tl=function(){var e=1/0,t=[];cl.forEach((function(n){if(0!==n.activeTargets.length){var r=[];n.activeTargets.forEach((function(t){var n=new Ol(t.target),o=Sl(t.target);r.push(n),t.lastReportedSize=Bl(t.target,t.observedBox),o<e&&(e=o)})),t.push((function(){n.callback.call(n.observer,r,n.observer)})),n.activeTargets.splice(0,n.activeTargets.length)}}));for(var n=0,r=t;n<r.length;n++){(0,r[n])()}return e},kl=function(e){cl.forEach((function(t){t.activeTargets.splice(0,t.activeTargets.length),t.skippedTargets.splice(0,t.skippedTargets.length),t.observationTargets.forEach((function(n){n.isActive()&&(Sl(n.target)>e?t.activeTargets.push(n):t.skippedTargets.push(n))}))}))},Il=function(){var e,t=0;for(kl(t);cl.some((function(e){return e.activeTargets.length>0}));)t=Tl(),kl(t);return cl.some((function(e){return e.skippedTargets.length>0}))&&("function"==typeof ErrorEvent?e=new ErrorEvent("error",{message:ll}):((e=document.createEvent("Event")).initEvent("error",!1,!1),e.message=ll),window.dispatchEvent(e)),t>0},Fl=[],Rl=function(e){if(!dl){var t=0,n=document.createTextNode("");new MutationObserver((function(){return Fl.splice(0).forEach((function(e){return e()}))})).observe(n,{characterData:!0}),dl=function(){n.textContent="".concat(t?t--:t++)}}Fl.push(e),dl()},Nl=0,Pl={attributes:!0,characterData:!0,childList:!0,subtree:!0},Ml=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],jl=function(e){return void 0===e&&(e=0),Date.now()+e},Ll=!1,zl=new(function(){function e(){var e=this;this.stopped=!0,this.listener=function(){return e.schedule()}}return e.prototype.run=function(e){var t=this;if(void 0===e&&(e=250),!Ll){Ll=!0;var n,r=jl(e);n=function(){var n=!1;try{n=Il()}finally{if(Ll=!1,e=r-jl(),!Nl)return;n?t.run(1e3):e>0?t.run(e):t.start()}},Rl((function(){requestAnimationFrame(n)}))}},e.prototype.schedule=function(){this.stop(),this.run()},e.prototype.observe=function(){var e=this,t=function(){return e.observer&&e.observer.observe(document.body,Pl)};document.body?t():yl.addEventListener("DOMContentLoaded",t)},e.prototype.start=function(){var e=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),Ml.forEach((function(t){return yl.addEventListener(t,e.listener,!0)})))},e.prototype.stop=function(){var e=this;this.stopped||(this.observer&&this.observer.disconnect(),Ml.forEach((function(t){return yl.removeEventListener(t,e.listener,!0)})),this.stopped=!0)},e}()),Hl=function(e){!Nl&&e>0&&zl.start(),!(Nl+=e)&&zl.stop()},Ul=function(){function e(e,t){this.target=e,this.observedBox=t||ul.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return e.prototype.isActive=function(){var e,t=Bl(this.target,this.observedBox,!0);return e=this.target,ml(e)||function(e){switch(e.tagName){case"INPUT":if("image"!==e.type)break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1}(e)||"inline"!==getComputedStyle(e).display||(this.lastReportedSize=t),this.lastReportedSize.inlineSize!==t.inlineSize||this.lastReportedSize.blockSize!==t.blockSize},e}(),Wl=function(e,t){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=e,this.callback=t},$l=new WeakMap,Vl=function(e,t){for(var n=0;n<e.length;n+=1)if(e[n].target===t)return n;return-1},Kl=function(){function e(){}return e.connect=function(e,t){var n=new Wl(e,t);$l.set(e,n)},e.observe=function(e,t,n){var r=$l.get(e),o=0===r.observationTargets.length;Vl(r.observationTargets,t)<0&&(o&&cl.push(r),r.observationTargets.push(new Ul(t,n&&n.box)),Hl(1),zl.schedule())},e.unobserve=function(e,t){var n=$l.get(e),r=Vl(n.observationTargets,t),o=1===n.observationTargets.length;r>=0&&(o&&cl.splice(cl.indexOf(n),1),n.observationTargets.splice(r,1),Hl(-1))},e.disconnect=function(e){var t=this,n=$l.get(e);n.observationTargets.slice().forEach((function(n){return t.unobserve(e,n.target)})),n.activeTargets.splice(0,n.activeTargets.length)},e}(),ql=function(){function e(e){if(0===arguments.length)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if("function"!=typeof e)throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");Kl.connect(this,e)}return e.prototype.observe=function(e,t){if(0===arguments.length)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!gl(e))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");Kl.observe(this,e,t)},e.prototype.unobserve=function(e){if(0===arguments.length)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!gl(e))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");Kl.unobserve(this,e)},e.prototype.disconnect=function(){Kl.disconnect(this)},e.toString=function(){return"function ResizeObserver () { [polyfill code] }"},e}(),Gl={};Object.defineProperty(Gl,"__esModule",{value:!0});for(var Xl="undefined"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform),Zl={alt:"altKey",control:"ctrlKey",meta:"metaKey",shift:"shiftKey"},Yl={add:"+",break:"pause",cmd:"meta",command:"meta",ctl:"control",ctrl:"control",del:"delete",down:"arrowdown",esc:"escape",ins:"insert",left:"arrowleft",mod:Xl?"meta":"control",opt:"alt",option:"alt",return:"enter",right:"arrowright",space:" ",spacebar:" ",up:"arrowup",win:"meta",windows:"meta"},Jl={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,escape:27," ":32,pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,insert:45,delete:46,meta:91,numlock:144,scrolllock:145,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},Ql=1;Ql<20;Ql++)Jl["f"+Ql]=111+Ql;function ed(e,t,n){t&&!("byKey"in t)&&(n=t,t=null),Array.isArray(e)||(e=[e]);var r=e.map((function(e){return td(e,t)})),o=function(e){return r.some((function(t){return nd(t,e)}))};return null==n?o:o(n)}function td(e,t){var n=t&&t.byKey,r={},o=(e=e.replace("++","+add")).split("+"),a=o.length;for(var i in Zl)r[Zl[i]]=!1;var s=!0,u=!1,c=void 0;try{for(var l,d=o[Symbol.iterator]();!(s=(l=d.next()).done);s=!0){var f=l.value,h=f.endsWith("?")&&f.length>1;h&&(f=f.slice(0,-1));var p=od(f),m=Zl[p];if(f.length>1&&!m&&!Yl[f]&&!Jl[p])throw new TypeError('Unknown modifier: "'+f+'"');1!==a&&m||(n?r.key=p:r.which=rd(f)),m&&(r[m]=!h||null)}}catch(e){u=!0,c=e}finally{try{!s&&d.return&&d.return()}finally{if(u)throw c}}return r}function nd(e,t){for(var n in e){var r=e[n],o=void 0;if(null!=r&&((null!=(o="key"===n&&null!=t.key?t.key.toLowerCase():"which"===n?91===r&&93===t.which?91:t.which:t[n])||!1!==r)&&o!==r))return!1}return!0}function rd(e){return e=od(e),Jl[e]||e.toUpperCase().charCodeAt(0)}function od(e){return e=e.toLowerCase(),e=Yl[e]||e}Gl.default=ed;var ad=Gl.isHotkey=ed;function id(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function sd(e){return sd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},sd(e)}function ud(e){var t=function(e,t){if("object"!==sd(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==sd(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===sd(t)?t:String(t)}function cd(e,t,n){return(t=ud(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Gl.isCodeHotkey=function(e,t){return ed(e,t)},Gl.isKeyHotkey=function(e,t){return ed(e,{byKey:!0},t)},Gl.parseHotkey=td,Gl.compareHotkey=nd,Gl.toKeyCode=rd,Gl.toKeyName=od;var ld,dd,fd=t.createContext(null),hd=()=>{var e=t.useContext(fd);if(!e)throw new Error("The `useSlateStatic` hook must be used inside the <Slate> component's context.");return e},pd=parseInt(s.default.version.split(".")[0],10),md="undefined"!=typeof navigator&&"undefined"!=typeof window&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,vd="undefined"!=typeof navigator&&/Mac OS X/.test(navigator.userAgent),gd="undefined"!=typeof navigator&&/Android/.test(navigator.userAgent),yd="undefined"!=typeof navigator&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),bd="undefined"!=typeof navigator&&/AppleWebKit(?!.*Chrome)/i.test(navigator.userAgent),Ed="undefined"!=typeof navigator&&/Edge?\/(?:[0-6][0-9]|[0-7][0-8])(?:\.)/i.test(navigator.userAgent),wd="undefined"!=typeof navigator&&/Chrome/i.test(navigator.userAgent),Cd="undefined"!=typeof navigator&&/Chrome?\/(?:[0-7][0-5]|[0-6][0-9])(?:\.)/i.test(navigator.userAgent),Dd=gd&&"undefined"!=typeof navigator&&/Chrome?\/(?:[0-5]?\d)(?:\.)/i.test(navigator.userAgent),Ad="undefined"!=typeof navigator&&/^(?!.*Seamonkey)(?=.*Firefox\/(?:[0-7][0-9]|[0-8][0-6])(?:\.)).*/i.test(navigator.userAgent),xd="undefined"!=typeof navigator&&/.*UCBrowser/.test(navigator.userAgent),_d="undefined"!=typeof navigator&&/.*Wechat/.test(navigator.userAgent)&&!/.*MacWechat/.test(navigator.userAgent),Bd=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement);"undefined"!=typeof navigator&&/Safari/.test(navigator.userAgent)&&/Version\/(\d+)/.test(navigator.userAgent)&&null!==(ld=navigator.userAgent.match(/Version\/(\d+)/))&&void 0!==ld&&ld[1]&&parseInt(null===(dd=navigator.userAgent.match(/Version\/(\d+)/))||void 0===dd?void 0:dd[1],10);var Od=(!Cd||!Dd)&&!Ed&&"undefined"!=typeof globalThis&&globalThis.InputEvent&&"function"==typeof globalThis.InputEvent.prototype.getTargetRanges,Sd=new WeakMap,Td=new WeakMap,kd=new WeakMap,Id=new WeakMap,Fd=new WeakMap,Rd=new WeakMap,Nd=new WeakMap,Pd=new WeakMap,Md=new WeakMap,jd=new WeakMap,Ld=new WeakMap,zd=new WeakMap,Hd=new WeakMap,Ud=new WeakMap,Wd=new WeakMap,$d=new WeakMap,Vd=new WeakMap,Kd=new WeakMap,qd=new WeakMap,Gd=new WeakMap,Xd=new WeakMap,Zd=new WeakMap,Yd=Symbol("placeholder"),Jd=Symbol("mark-placeholder"),Qd=globalThis.Node,ef=globalThis.Text,tf=e=>e&&e.ownerDocument&&e.ownerDocument.defaultView||null,nf=e=>rf(e)&&1===e.nodeType,rf=e=>{var t=tf(e);return!!t&&e instanceof t.Node},of=e=>{var t=e&&e.anchorNode&&tf(e.anchorNode);return!!t&&e instanceof t.Selection},af=e=>rf(e)&&3===e.nodeType,sf=(e,t,n)=>{for(var r,{childNodes:o}=e,a=o[t],i=t,s=!1,u=!1;(rf(r=a)&&8===r.nodeType||nf(a)&&0===a.childNodes.length||nf(a)&&"false"===a.getAttribute("contenteditable"))&&(!s||!u);)i>=o.length?(s=!0,i=t-1,n="backward"):i<0?(u=!0,i=t+1,n="forward"):(a=o[i],t=i,i+="forward"===n?1:-1);return[a,t]},uf=(e,t,n)=>{var[r]=sf(e,t,n);return r},cf=e=>{var t="";if(af(e)&&e.nodeValue)return e.nodeValue;if(nf(e)){for(var n of Array.from(e.childNodes))t+=cf(n);var r=getComputedStyle(e).getPropertyValue("display");"block"!==r&&"list"!==r&&"BR"!==e.tagName||(t+="\n")}return t},lf=/data-slate-fragment="(.+?)"/m,df=e=>null!=e.getSelection?e.getSelection():document.getSelection(),ff=(e,t,n)=>{var{target:r}=t;if(nf(r)&&r.matches('[contentEditable="false"]'))return!1;var{document:o}=vf.getWindow(e);if(o.contains(r))return vf.hasDOMNode(e,r,{editable:!0});var a=n.find((e=>{var{addedNodes:t,removedNodes:n}=e;for(var o of t)if(o===r||o.contains(r))return!0;for(var a of n)if(a===r||a.contains(r))return!0}));return!(!a||a===t)&&ff(e,a,n)},hf=(e,t)=>Boolean(e.compareDocumentPosition(t)&Qd.DOCUMENT_POSITION_PRECEDING),pf=0;class mf{constructor(){cd(this,"id",void 0),this.id="".concat(pf++)}}var vf={androidPendingDiffs:e=>qd.get(e),androidScheduleFlush:e=>{var t;null===(t=$d.get(e))||void 0===t||t()},blur:e=>{var t=vf.toDOMNode(e,e),n=vf.findDocumentOrShadowRoot(e);zd.set(e,!1),n.activeElement===t&&t.blur()},deselect:e=>{var{selection:t}=e,n=vf.findDocumentOrShadowRoot(e),r=df(n);r&&r.rangeCount>0&&r.removeAllRanges(),t&&Ni.deselect(e)},findDocumentOrShadowRoot:e=>{var t=vf.toDOMNode(e,e),n=t.getRootNode();return n instanceof Document||n instanceof ShadowRoot?n:t.ownerDocument},findEventRange:(e,t)=>{"nativeEvent"in t&&(t=t.nativeEvent);var{clientX:n,clientY:r,target:o}=t;if(null==n||null==r)throw new Error("Cannot resolve a Slate range from a DOM event: ".concat(t));var a,i=vf.toSlateNode(e,t.target),s=vf.findPath(e,i);if(Pa.isElement(i)&&Va.isVoid(e,i)){var u=o.getBoundingClientRect(),c=e.isInline(i)?n-u.left<u.left+u.width-n:r-u.top<u.top+u.height-r,l=Va.point(e,s,{edge:c?"start":"end"}),d=c?Va.before(e,l):Va.after(e,l);if(d)return Va.range(e,d)}var{document:f}=vf.getWindow(e);if(f.caretRangeFromPoint)a=f.caretRangeFromPoint(n,r);else{var h=f.caretPositionFromPoint(n,r);h&&((a=f.createRange()).setStart(h.offsetNode,h.offset),a.setEnd(h.offsetNode,h.offset))}if(!a)throw new Error("Cannot resolve a Slate range from a DOM event: ".concat(t));return vf.toSlateRange(e,a,{exactMatch:!1,suppressThrow:!1})},findKey:(e,t)=>{var n=Md.get(t);return n||(n=new mf,Md.set(t,n)),n},findPath:(e,t)=>{for(var n=[],r=t;;){var o=kd.get(r);if(null==o){if(Va.isEditor(r))return n;break}var a=Td.get(r);if(null==a)break;n.unshift(a),r=o}throw new Error("Unable to find the path for Slate node: ".concat(Ya.stringify(t)))},focus:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{retries:5};if(!zd.get(e)){if(t.retries<=0)throw new Error("Could not set focus, editor seems stuck with pending operations");if(e.operations.length>0)setTimeout((()=>{vf.focus(e,{retries:t.retries-1})}),10);else{var n=vf.toDOMNode(e,e),r=vf.findDocumentOrShadowRoot(e);if(r.activeElement!==n){if(e.selection&&r instanceof Document){var o=df(r),a=vf.toDOMRange(e,e.selection);null==o||o.removeAllRanges(),null==o||o.addRange(a)}e.selection||Ni.select(e,Va.start(e,[])),zd.set(e,!0),n.focus({preventScroll:!0})}}}},getWindow:e=>{var t=Id.get(e);if(!t)throw new Error("Unable to find a host window element for this editor");return t},hasDOMNode:function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{editable:o=!1}=r,a=vf.toDOMNode(e,e);try{n=nf(t)?t:t.parentElement}catch(e){if(e instanceof Error&&!e.message.includes('Permission denied to access property "nodeType"'))throw e}return!!n&&!(n.closest("[data-slate-editor]")!==a||o&&!n.isContentEditable&&("boolean"!=typeof n.isContentEditable||n.closest('[contenteditable="false"]')!==a)&&!n.getAttribute("data-slate-zero-width"))},hasEditableTarget:(e,t)=>rf(t)&&vf.hasDOMNode(e,t,{editable:!0}),hasRange:(e,t)=>{var{anchor:n,focus:r}=t;return Va.hasPath(e,n.path)&&Va.hasPath(e,r.path)},hasSelectableTarget:(e,t)=>vf.hasEditableTarget(e,t)||vf.isTargetInsideNonReadonlyVoid(e,t),hasTarget:(e,t)=>rf(t)&&vf.hasDOMNode(e,t),insertData:(e,t)=>{e.insertData(t)},insertFragmentData:(e,t)=>e.insertFragmentData(t),insertTextData:(e,t)=>e.insertTextData(t),isComposing:e=>!!Hd.get(e),isFocused:e=>!!zd.get(e),isReadOnly:e=>!!Ld.get(e),isTargetInsideNonReadonlyVoid:(e,t)=>{if(Ld.get(e))return!1;var n=vf.hasTarget(e,t)&&vf.toSlateNode(e,t);return Pa.isElement(n)&&Va.isVoid(e,n)},setFragmentData:(e,t,n)=>e.setFragmentData(t,n),toDOMNode:(e,t)=>{var n=jd.get(e),r=Va.isEditor(t)?Fd.get(e):null==n?void 0:n.get(vf.findKey(e,t));if(!r)throw new Error("Cannot resolve a DOM node from Slate node: ".concat(Ya.stringify(t)));return r},toDOMPoint:(e,t)=>{var n,[r]=Va.node(e,t.path),o=vf.toDOMNode(e,r);Va.void(e,{at:t})&&(t={path:t.path,offset:0});for(var a=Array.from(o.querySelectorAll("[data-slate-string], [data-slate-zero-width]")),i=0,s=0;s<a.length;s++){var u=a[s],c=u.childNodes[0];if(null!=c&&null!=c.textContent){var{length:l}=c.textContent,d=u.getAttribute("data-slate-length"),f=i+(null==d?l:parseInt(d,10)),h=a[s+1];if(t.offset===f&&null!=h&&h.hasAttribute("data-slate-mark-placeholder")){var p,m=h.childNodes[0];n=[m instanceof ef?m:h,null!==(p=h.textContent)&&void 0!==p&&p.startsWith("\ufeff")?1:0];break}if(t.offset<=f){n=[c,Math.min(l,Math.max(0,t.offset-i))];break}i=f}}if(!n)throw new Error("Cannot resolve a DOM point from Slate point: ".concat(Ya.stringify(t)));return n},toDOMRange:(e,t)=>{var{anchor:n,focus:r}=t,o=Ra.isBackward(t),a=vf.toDOMPoint(e,n),i=Ra.isCollapsed(t)?a:vf.toDOMPoint(e,r),s=vf.getWindow(e).document.createRange(),[u,c]=o?i:a,[l,d]=o?a:i,f=!!(nf(u)?u:u.parentElement).getAttribute("data-slate-zero-width"),h=!!(nf(l)?l:l.parentElement).getAttribute("data-slate-zero-width");return s.setStart(u,f?1:c),s.setEnd(l,h?1:d),s},toSlateNode:(e,t)=>{var n=nf(t)?t:t.parentElement;n&&!n.hasAttribute("data-slate-node")&&(n=n.closest("[data-slate-node]"));var r=n?Nd.get(n):null;if(!r)throw new Error("Cannot resolve a Slate node from DOM node: ".concat(n));return r},toSlatePoint:(e,t,n)=>{var{exactMatch:r,suppressThrow:o,searchDirection:a="backward"}=n,[i,s]=r?t:(e=>{var[t,n]=e;if(nf(t)&&t.childNodes.length){var r=n===t.childNodes.length,o=r?n-1:n;for([t,o]=sf(t,o,r?"backward":"forward"),r=o<n;nf(t)&&t.childNodes.length;){var a=r?t.childNodes.length-1:0;t=uf(t,a,r?"backward":"forward")}n=r&&null!=t.textContent?t.textContent.length:0}return[t,n]})(t),u=i.parentNode,c=null,l=0;if(u){var d,f,h=vf.toDOMNode(e,e),p=u.closest('[data-slate-void="true"]'),m=p&&h.contains(p)?p:null,v=u.closest('[contenteditable="false"]'),g=v&&h.contains(v)?v:null,y=u.closest("[data-slate-leaf]"),b=null;if(y){if(c=y.closest('[data-slate-node="text"]')){var E=vf.getWindow(e).document.createRange();E.setStart(c,0),E.setEnd(i,s);var w=E.cloneContents();[...Array.prototype.slice.call(w.querySelectorAll("[data-slate-zero-width]")),...Array.prototype.slice.call(w.querySelectorAll("[contenteditable=false]"))].forEach((e=>{gd&&!r&&e.hasAttribute("data-slate-zero-width")&&e.textContent.length>0&&"\ufeff"!==e.textContext?e.textContent.startsWith("\ufeff")&&(e.textContent=e.textContent.slice(1)):e.parentNode.removeChild(e)})),l=w.textContent.length,b=c}}else if(m){for(var C=m.querySelectorAll("[data-slate-leaf]"),D=0;D<C.length;D++){var A=C[D];if(vf.hasDOMNode(e,A)){y=A;break}}y?(c=y.closest('[data-slate-node="text"]'),l=(b=y).textContent.length,b.querySelectorAll("[data-slate-zero-width]").forEach((e=>{l-=e.textContent.length}))):l=1}else if(g){var x,_,B=e=>e?e.querySelectorAll("[data-slate-leaf]:not(:scope [data-slate-editor] [data-slate-leaf])"):[],O=g.closest('[data-slate-node="element"]');if("forward"===a)y=null!==(x=[...B(O),...B(null==O?void 0:O.nextElementSibling)].find((e=>((e,t)=>Boolean(e.compareDocumentPosition(t)&Qd.DOCUMENT_POSITION_FOLLOWING))(g,e))))&&void 0!==x?x:null;else y=null!==(_=[...B(null==O?void 0:O.previousElementSibling),...B(O)].findLast((e=>hf(g,e))))&&void 0!==_?_:null;y&&(c=y.closest('[data-slate-node="text"]'),b=y,"forward"===a?l=0:(l=b.textContent.length,b.querySelectorAll("[data-slate-zero-width]").forEach((e=>{l-=e.textContent.length}))))}b&&l===b.textContent.length&&gd&&"z"===b.getAttribute("data-slate-zero-width")&&null!==(d=b.textContent)&&void 0!==d&&d.startsWith("\ufeff")&&(u.hasAttribute("data-slate-zero-width")||yd&&null!==(f=b.textContent)&&void 0!==f&&f.endsWith("\n\n"))&&l--}if(gd&&!c&&!r){var S=u.hasAttribute("data-slate-node")?u:u.closest("[data-slate-node]");if(S&&vf.hasDOMNode(e,S,{editable:!0})){var T=vf.toSlateNode(e,S),{path:k,offset:I}=Va.start(e,vf.findPath(e,T));return S.querySelector("[data-slate-leaf]")||(I=s),{path:k,offset:I}}}if(!c){if(o)return null;throw new Error("Cannot resolve a Slate point from DOM point: ".concat(t))}var F=vf.toSlateNode(e,c);return{path:vf.findPath(e,F),offset:l}},toSlateRange:(e,t,n)=>{var r,o,a,i,s,u,{exactMatch:c,suppressThrow:l}=n;if(of(t)?t.anchorNode:t.startContainer)if(of(t)){if(yd&&t.rangeCount>1){i=t.focusNode;var d=t.getRangeAt(0),f=t.getRangeAt(t.rangeCount-1);if(i instanceof HTMLTableRowElement&&d.startContainer instanceof HTMLTableRowElement&&f.startContainer instanceof HTMLTableRowElement){function h(e){return e.childElementCount>0?h(e.children[0]):e}var p=d.startContainer,m=f.startContainer,v=h(p.children[d.startOffset]),g=h(m.children[f.startOffset]);s=0,o=g.childNodes.length>0?g.childNodes[0]:g,i=v.childNodes.length>0?v.childNodes[0]:v,a=g instanceof HTMLElement?g.innerHTML.length:0}else d.startContainer===i?(o=f.endContainer,a=f.endOffset,s=d.startOffset):(o=d.startContainer,a=d.endOffset,s=f.startOffset)}else o=t.anchorNode,a=t.anchorOffset,i=t.focusNode,s=t.focusOffset;u=wd&&(e=>{for(var t=e&&e.parentNode;t;){if("[object ShadowRoot]"===t.toString())return!0;t=t.parentNode}return!1})(o)||yd?t.anchorNode===t.focusNode&&t.anchorOffset===t.focusOffset:t.isCollapsed}else o=t.startContainer,a=t.startOffset,i=t.endContainer,s=t.endOffset,u=t.collapsed;if(null==o||null==i||null==a||null==s)throw new Error("Cannot resolve a Slate range from DOM range: ".concat(t));yd&&null!==(r=i.textContent)&&void 0!==r&&r.endsWith("\n\n")&&s===i.textContent.length&&s--;var y=vf.toSlatePoint(e,[o,a],{exactMatch:c,suppressThrow:l});if(!y)return null;var b=hf(o,i)||o===i&&s<a,E=u?y:vf.toSlatePoint(e,[i,s],{exactMatch:c,suppressThrow:l,searchDirection:b?"forward":"backward"});if(!E)return null;var w={anchor:y,focus:E};return Ra.isExpanded(w)&&Ra.isForward(w)&&nf(i)&&Va.void(e,{at:w.focus,mode:"highest"})&&(w=Va.unhangRange(e,w,{voids:!0})),w}};function gf(e,t){var{path:n,diff:r}=t;if(!Va.hasPath(e,n))return!1;var o=za.get(e,n);if(!ri.isText(o))return!1;if(r.start!==o.text.length||0===r.text.length)return o.text.slice(r.start,r.start+r.text.length)===r.text;var a=wa.next(n);if(!Va.hasPath(e,a))return!1;var i=za.get(e,a);return ri.isText(i)&&i.text.startsWith(r.text)}function yf(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.reduce(((e,t)=>e.slice(0,t.start)+t.text+e.slice(t.end)),e)}function bf(e,t){var{start:n,end:r,text:o}=t,a=e.slice(n,r),i=function(e,t){for(var n=Math.min(e.length,t.length),r=0;r<n;r++)if(e.charAt(r)!==t.charAt(r))return r;return n}(a,o),s=function(e,t,n){for(var r=Math.min(e.length,t.length,n),o=0;o<r;o++)if(e.charAt(e.length-o-1)!==t.charAt(t.length-o-1))return o;return r}(a,o,Math.min(a.length-i,o.length-i)),u={start:n+i,end:r-s,text:o.slice(i,o.length-s)};return u.start===u.end&&0===u.text.length?null:u}function Ef(e){var{path:t,diff:n}=e;return{anchor:{path:t,offset:n.start},focus:{path:t,offset:n.end}}}function wf(e,t){var{path:n,offset:r}=t;if(!Va.hasPath(e,n))return null;var o=za.get(e,n);if(!ri.isText(o))return null;var a=Va.above(e,{match:t=>Pa.isElement(t)&&Va.isBlock(e,t),at:n});if(!a)return null;for(;r>o.text.length;){var i=Va.next(e,{at:n,match:ri.isText});if(!i||!wa.isDescendant(i[1],a[1]))return null;r-=o.text.length,o=i[0],n=i[1]}return{path:n,offset:r}}function Cf(e,t){var n=wf(e,t.anchor);if(!n)return null;if(Ra.isCollapsed(t))return{anchor:n,focus:n};var r=wf(e,t.focus);return r?{anchor:n,focus:r}:null}function Df(e,t,n){var r=qd.get(e),o=null==r?void 0:r.find((e=>{var{path:n}=e;return wa.equals(n,t.path)}));if(!o||t.offset<=o.diff.start)return Xa.transform(t,n,{affinity:"backward"});var{diff:a}=o;if(t.offset<=a.start+a.text.length){var i={path:t.path,offset:a.start},s=Xa.transform(i,n,{affinity:"backward"});return s?{path:s.path,offset:s.offset+t.offset-a.start}:null}var u={path:t.path,offset:t.offset-a.text.length+a.end-a.start},c=Xa.transform(u,n,{affinity:"backward"});return c?"split_node"===n.type&&wa.equals(n.path,t.path)&&u.offset<n.position&&a.start<n.position?c:{path:c.path,offset:c.offset+a.text.length-a.end+a.start}:null}function Af(e,t,n){var r=Df(e,t.anchor,n);if(!r)return null;if(Ra.isCollapsed(t))return{anchor:r,focus:r};var o=Df(e,t.focus,n);return o?{anchor:r,focus:o}:null}function xf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _f(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?xf(Object(n),!0).forEach((function(t){cd(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xf(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Bf(e){var{editor:t,scheduleOnDOMSelectionChange:n,onDOMSelectionChange:r}=e,o=!1,a=null,i=null,s=null,u=0,c=!1,l=()=>{var e=Xd.get(t);if(Xd.delete(t),e){var{selection:n}=t,r=Cf(t,e);!r||n&&Ra.equals(r,n)||Ni.select(t,r)}},d=()=>{if(i&&(clearTimeout(i),i=null),s&&(clearTimeout(s),s=null),v()||m()){o||(o=!0,setTimeout((()=>o=!1))),m()&&(o="action");var e=t.selection&&Va.rangeRef(t,t.selection,{affinity:"forward"});Kd.set(t,t.marks),Gd.get(t),qd.get(t);for(var a,u=v();a=null===(d=qd.get(t))||void 0===d?void 0:d[0];){var d,f,h=Vd.get(t);void 0!==h&&(Vd.delete(t),t.marks=h),h&&!1===c&&(c=null);var p=Ef(a);t.selection&&Ra.equals(t.selection,p)||Ni.select(t,p),a.diff.text?Va.insertText(t,a.diff.text):Va.deleteFragment(t),qd.set(t,null===(f=qd.get(t))||void 0===f?void 0:f.filter((e=>{var{id:t}=e;return t!==a.id}))),gf(t,a)||(u=!1,Gd.delete(t),Kd.delete(t),o="action",Xd.delete(t),n.cancel(),r.cancel(),null==e||e.unref())}var g=null==e?void 0:e.unref();if(!g||Xd.get(t)||t.selection&&Ra.equals(g,t.selection)||Ni.select(t,g),m())(()=>{var e=Gd.get(t);if(Gd.delete(t),e){if(e.at){var n=Xa.isPoint(e.at)?wf(t,e.at):Cf(t,e.at);if(!n)return;var r=Va.range(t,n);t.selection&&Ra.equals(t.selection,r)||Ni.select(t,n)}e.run()}})();else{u&&n(),n.flush(),r.flush(),l();var y=Kd.get(t);Kd.delete(t),void 0!==y&&(t.marks=y,t.onChange())}}else l()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=Rd.get(t);n&&(v()||e?n.style.display="none":n.style.removeProperty("display"))},h=(e,n)=>{var r,o=null!==(r=qd.get(t))&&void 0!==r?r:[];qd.set(t,o);var a=za.leaf(t,e),i=o.findIndex((t=>wa.equals(t.path,e)));if(i<0)return bf(a.text,n)&&o.push({path:e,diff:n,id:u++}),void f();var s=function(e,t,n){var r=Math.min(t.start,n.start),o=Math.max(0,Math.min(t.start+t.text.length,n.end)-n.start),a=yf(e,t,n),i=Math.max(n.start+n.text.length,t.start+t.text.length+(t.start+t.text.length>n.start?n.text.length:0)-o),s=a.slice(r,i);return bf(e,{start:r,end:Math.max(t.end,n.end-t.text.length+(t.end-t.start)),text:s})}(a.text,o[i].diff,n);if(!s)return o.splice(i,1),void f();o[i]=_f(_f({},o[i]),{},{diff:s})},p=function(e){var{at:o}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};c=!1,Xd.delete(t),n.cancel(),r.cancel(),m()&&d(),Gd.set(t,{at:o,run:e}),s=setTimeout(d)},m=()=>!!Gd.get(t),v=()=>{var e;return!(null===(e=qd.get(t))||void 0===e||!e.length)},g=e=>{Xd.set(t,e),i&&(clearTimeout(i),i=null);var{selection:n}=t;if(e){var r=!n||!wa.equals(n.anchor.path,e.anchor.path),o=!n||!wa.equals(n.anchor.path.slice(0,-1),e.anchor.path.slice(0,-1));(r&&c||o)&&(c=!1),(r||v())&&(i=setTimeout(d,200))}},y=()=>{m()||(s=setTimeout(d))};return{flush:d,scheduleFlush:y,hasPendingDiffs:v,hasPendingAction:m,hasPendingChanges:()=>m()||v(),isFlushing:()=>o,handleUserSelect:g,handleCompositionEnd:e=>{a&&clearTimeout(a),a=setTimeout((()=>{Hd.set(t,!1),d()}),25)},handleCompositionStart:e=>{Hd.set(t,!0),a&&(clearTimeout(a),a=null)},handleDOMBeforeInput:e=>{var n;if(i&&(clearTimeout(i),i=null),!Sd.get(t)){var{inputType:r}=e,o=null,a=e.dataTransfer||e.data||void 0;!1!==c&&"insertText"!==r&&"insertCompositionText"!==r&&(c=!1);var[s]=e.getTargetRanges();s&&(o=vf.toSlateRange(t,s,{exactMatch:!1,suppressThrow:!0}));var u=vf.getWindow(t).getSelection();if(!o&&u&&(s=u,o=vf.toSlateRange(t,u,{exactMatch:!1,suppressThrow:!0})),o=null!==(n=o)&&void 0!==n?n:t.selection){var l,d=!0;if(r.startsWith("delete")){if(Ra.isExpanded(o)){var[f,m]=Ra.edges(o);if(za.leaf(t,f.path).text.length===f.offset&&0===m.offset){var v=Va.next(t,{at:f.path,match:ri.isText});v&&wa.equals(v[1],m.path)&&(o={anchor:m,focus:m})}}var b=r.endsWith("Backward")?"backward":"forward",[E,w]=Ra.edges(o),[C,D]=Va.leaf(t,E.path),A={text:"",start:E.offset,end:w.offset},x=qd.get(t),_=null==x?void 0:x.find((e=>wa.equals(e.path,D))),B=_?[_.diff,A]:[A];if(0===yf(C.text,...B).length&&(d=!1),Ra.isExpanded(o)){if(d&&wa.equals(o.anchor.path,o.focus.path)){var O={path:o.anchor.path,offset:E.offset},S=Va.range(t,O,O);return g(S),h(o.anchor.path,{text:"",end:w.offset,start:E.offset})}return p((()=>Va.deleteFragment(t,{direction:b})),{at:o})}}switch(r){case"deleteByComposition":case"deleteByCut":case"deleteByDrag":return p((()=>Va.deleteFragment(t)),{at:o});case"deleteContent":case"deleteContentForward":var{anchor:T}=o;if(d&&Ra.isCollapsed(o)){var k=za.leaf(t,T.path);if(T.offset<k.text.length)return h(T.path,{text:"",start:T.offset,end:T.offset+1})}return p((()=>Va.deleteForward(t)),{at:o});case"deleteContentBackward":var I,{anchor:F}=o,R=of(s)?s.isCollapsed:!(null===(I=s)||void 0===I||!I.collapsed);return d&&R&&Ra.isCollapsed(o)&&F.offset>0?h(F.path,{text:"",start:F.offset-1,end:F.offset}):p((()=>Va.deleteBackward(t)),{at:o});case"deleteEntireSoftLine":return p((()=>{Va.deleteBackward(t,{unit:"line"}),Va.deleteForward(t,{unit:"line"})}),{at:o});case"deleteHardLineBackward":return p((()=>Va.deleteBackward(t,{unit:"block"})),{at:o});case"deleteSoftLineBackward":return p((()=>Va.deleteBackward(t,{unit:"line"})),{at:o});case"deleteHardLineForward":return p((()=>Va.deleteForward(t,{unit:"block"})),{at:o});case"deleteSoftLineForward":return p((()=>Va.deleteForward(t,{unit:"line"})),{at:o});case"deleteWordBackward":return p((()=>Va.deleteBackward(t,{unit:"word"})),{at:o});case"deleteWordForward":return p((()=>Va.deleteForward(t,{unit:"word"})),{at:o});case"insertLineBreak":return p((()=>Va.insertSoftBreak(t)),{at:o});case"insertParagraph":return p((()=>Va.insertBreak(t)),{at:o});case"insertCompositionText":case"deleteCompositionText":case"insertFromComposition":case"insertFromDrop":case"insertFromPaste":case"insertFromYank":case"insertReplacementText":case"insertText":if("DataTransfer"===(null==(l=a)?void 0:l.constructor.name))return p((()=>vf.insertData(t,a)),{at:o});var N=null!=a?a:"";if(Vd.get(t)&&(N=N.replace("\ufeff","")),"insertText"===r&&/.*\n.*\n$/.test(N)&&(N=N.slice(0,-1)),N.includes("\n"))return p((()=>{var e=N.split("\n");e.forEach(((n,r)=>{n&&Va.insertText(t,n),r!==e.length-1&&Va.insertSoftBreak(t)}))}),{at:o});if(wa.equals(o.anchor.path,o.focus.path)){var[P,M]=Ra.edges(o),j={start:P.offset,end:M.offset,text:N};if(N&&c&&"insertCompositionText"===r){var L=c.start+c.text.search(/\S|$/);j.start+j.text.search(/\S|$/)===L+1&&j.end===c.start+c.text.length?(j.start-=1,c=null,y()):c=!1}else c="insertText"===r&&(null===c?j:!(!c||!Ra.isCollapsed(o)||c.end+c.text.length!==P.offset)&&_f(_f({},c),{},{text:c.text+N}));if(d)return void h(P.path,j)}return p((()=>Va.insertText(t,N)),{at:o})}}}},handleKeyDown:e=>{v()||(f(!0),setTimeout(f))},handleDomMutations:e=>{var n;v()||m()||e.some((n=>ff(t,n,e)))&&(null===(n=Zd.get(t))||void 0===n||n())},handleInput:()=>{!m()&&v()||d()}}}var Of=Bd?t.useLayoutEffect:t.useEffect;var Sf=["node"];function Tf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var kf={subtree:!0,childList:!0,characterData:!0},If=gd?e=>{var{node:n}=e,r=id(e,Sf);if(!gd)return null;var o,a=hd(),i=(o=t.useRef(!1),t.useEffect((()=>(o.current=!0,()=>{o.current=!1})),[]),o.current),[s]=t.useState((()=>Bf(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Tf(Object(n),!0).forEach((function(t){cd(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Tf(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({editor:a},r))));return function(e,n,r){var[o]=t.useState((()=>new MutationObserver(n)));Of((()=>{o.takeRecords()})),t.useEffect((()=>{if(!e.current)throw new Error("Failed to attach MutationObserver, `node` is undefined");return o.observe(e.current,r),()=>o.disconnect()}),[o,e,r])}(n,s.handleDomMutations,kf),$d.set(a,s.scheduleFlush),i&&s.flush(),s}:()=>null,Ff=["anchor","focus"],Rf=["anchor","focus"],Nf=(e,t)=>{var n,r,o=id(e,Ff),a=id(t,Rf);return e[Yd]===t[Yd]&&(n=o,r=a,Object.keys(n).length===Object.keys(r).length&&Object.keys(n).every((e=>r.hasOwnProperty(e)&&n[e]===r[e])))};function Pf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Mf=e=>{var{isLast:t,leaf:n,parent:r,text:o}=e,a=hd(),i=vf.findPath(a,o),u=wa.parent(i),c=Boolean(n[Jd]);return a.isVoid(r)?s.default.createElement(zf,{length:za.string(r).length}):""!==n.text||r.children[r.children.length-1]!==o||a.isInline(r)||""!==Va.string(a,u)?""===n.text?s.default.createElement(zf,{isMarkPlaceholder:c}):t&&"\n"===n.text.slice(-1)?s.default.createElement(jf,{isTrailing:!0,text:n.text}):s.default.createElement(jf,{text:n.text}):s.default.createElement(zf,{isLineBreak:!0,isMarkPlaceholder:c})},jf=e=>{var{text:n,isTrailing:r=!1}=e,o=t.useRef(null),a=()=>"".concat(null!=n?n:"").concat(r?"\n":""),[i]=t.useState(a);return Of((()=>{var e=a();o.current&&o.current.textContent!==e&&(o.current.textContent=e)})),s.default.createElement(Lf,{ref:o},i)},Lf=t.memo(t.forwardRef(((e,t)=>s.default.createElement("span",{"data-slate-string":!0,ref:t},e.children)))),zf=e=>{var{length:t=0,isLineBreak:n=!1,isMarkPlaceholder:r=!1}=e,o={"data-slate-zero-width":n?"n":"z","data-slate-length":t};return r&&(o["data-slate-mark-placeholder"]=!0),s.default.createElement("span",function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Pf(Object(n),!0).forEach((function(t){cd(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pf(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},o),(gd||md)&&n?null:"\ufeff",n?s.default.createElement("br",null):null)};function Hf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Uf(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Hf(Object(n),!0).forEach((function(t){cd(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Hf(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Wf=gd?300:0;function $f(e){e.current&&(clearTimeout(e.current),e.current=null)}var Vf=e=>{var{leaf:n,isLast:r,text:o,parent:a,renderPlaceholder:i,renderLeaf:u=e=>s.default.createElement(qf,Uf({},e))}=e,c=hd(),l=t.useRef(null),d=t.useRef(null),[f,h]=t.useState(!1),p=t.useRef(null),m=t.useCallback((e=>{if(function(e,t){e.current&&(e.current.disconnect(),t&&(e.current=null))}(l,null==e),null==e){var t;Rd.delete(c),null===(t=n.onPlaceholderResize)||void 0===t||t.call(n,null)}else{if(Rd.set(c,e),!l.current){var r=window.ResizeObserver||ql;l.current=new r((()=>{var t;null===(t=n.onPlaceholderResize)||void 0===t||t.call(n,e)}))}l.current.observe(e),d.current=e}}),[d,n,c]),v=s.default.createElement(Mf,{isLast:r,leaf:n,parent:a,text:o}),g=Boolean(n[Yd]);if(t.useEffect((()=>(g?p.current||(p.current=setTimeout((()=>{h(!0),p.current=null}),Wf)):($f(p),h(!1)),()=>$f(p))),[g,h]),g&&f){var y={children:n.placeholder,attributes:{"data-slate-placeholder":!0,style:{position:"absolute",top:0,pointerEvents:"none",width:"100%",maxWidth:"100%",display:"block",opacity:"0.333",userSelect:"none",textDecoration:"none",WebkitUserModify:bd?"inherit":void 0},contentEditable:!1,ref:m}};v=s.default.createElement(s.default.Fragment,null,i(y),v)}return u({attributes:{"data-slate-leaf":!0},children:v,leaf:n,text:o})},Kf=s.default.memo(Vf,((e,t)=>t.parent===e.parent&&t.isLast===e.isLast&&t.renderLeaf===e.renderLeaf&&t.renderPlaceholder===e.renderPlaceholder&&t.text===e.text&&ri.equals(t.leaf,e.leaf)&&t.leaf[Yd]===e.leaf[Yd])),qf=e=>{var{attributes:t,children:n}=e;return s.default.createElement("span",Uf({},t),n)},Gf=e=>{for(var{decorations:n,isLast:r,parent:o,renderPlaceholder:a,renderLeaf:i,text:u}=e,c=hd(),l=t.useRef(null),d=ri.decorations(u,n),f=vf.findKey(c,u),h=[],p=0;p<d.length;p++){var m=d[p];h.push(s.default.createElement(Kf,{isLast:r&&p===d.length-1,key:"".concat(f.id,"-").concat(p),renderPlaceholder:a,leaf:m,text:u,parent:o,renderLeaf:i}))}var v=t.useCallback((e=>{var t=jd.get(c);e?(null==t||t.set(f,e),Pd.set(u,e),Nd.set(e,u)):(null==t||t.delete(f),Pd.delete(u),l.current&&Nd.delete(l.current)),l.current=e}),[l,c,f,u]);return s.default.createElement("span",{"data-slate-node":"text",ref:v},h)},Xf=s.default.memo(Gf,((e,t)=>t.parent===e.parent&&t.isLast===e.isLast&&t.renderLeaf===e.renderLeaf&&t.renderPlaceholder===e.renderPlaceholder&&t.text===e.text&&((e,t)=>{if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++){var r=e[n],o=t[n];if(r.anchor.offset!==o.anchor.offset||r.focus.offset!==o.focus.offset||!Nf(r,o))return!1}return!0})(t.decorations,e.decorations)));function Zf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Yf(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Zf(Object(n),!0).forEach((function(t){cd(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zf(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Jf=e=>{var{decorations:n,element:r,renderElement:o=e=>s.default.createElement(eh,Yf({},e)),renderPlaceholder:a,renderLeaf:i,selection:u}=e,c=hd(),l=ih(),d=c.isInline(r),f=vf.findKey(c,r),h=t.useCallback((e=>{var t=jd.get(c);e?(null==t||t.set(f,e),Pd.set(r,e),Nd.set(e,r)):(null==t||t.delete(f),Pd.delete(r))}),[c,f,r]),p=oh({decorations:n,node:r,renderElement:o,renderPlaceholder:a,renderLeaf:i,selection:u}),m={"data-slate-node":"element",ref:h};if(d&&(m["data-slate-inline"]=!0),!d&&Va.hasInlines(c,r)){var v=za.string(r),g=lc(v);"rtl"===g&&(m.dir=g)}if(Va.isVoid(c,r)){m["data-slate-void"]=!0,!l&&d&&(m.contentEditable=!1);var y=d?"span":"div",[[b]]=za.texts(r);p=s.default.createElement(y,{"data-slate-spacer":!0,style:{height:"0",color:"transparent",outline:"none",position:"absolute"}},s.default.createElement(Xf,{renderPlaceholder:a,decorations:[],isLast:!1,parent:r,text:b})),Td.set(b,0),kd.set(b,r)}return o({attributes:m,children:p,element:r})},Qf=s.default.memo(Jf,((e,t)=>e.element===t.element&&e.renderElement===t.renderElement&&e.renderLeaf===t.renderLeaf&&e.renderPlaceholder===t.renderPlaceholder&&((e,t)=>{if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++){var r=e[n],o=t[n];if(!Ra.equals(r,o)||!Nf(r,o))return!1}return!0})(e.decorations,t.decorations)&&(e.selection===t.selection||!!e.selection&&!!t.selection&&Ra.equals(e.selection,t.selection)))),eh=e=>{var{attributes:t,children:n,element:r}=e,o=hd().isInline(r)?"span":"div";return s.default.createElement(o,Yf(Yf({},t),{},{style:{position:"relative"}}),n)},th=t.createContext((()=>[])),nh=t.createContext(!1),rh=()=>t.useContext(nh),oh=e=>{var{decorations:n,node:r,renderElement:o,renderPlaceholder:a,renderLeaf:i,selection:u}=e,c=t.useContext(th),l=hd();Sd.set(l,!1);for(var d=vf.findPath(l,r),f=[],h=Pa.isElement(r)&&!l.isInline(r)&&Va.hasInlines(l,r),p=0;p<r.children.length;p++){var m=d.concat(p),v=r.children[p],g=vf.findKey(l,v),y=Va.range(l,m),b=u&&Ra.intersection(y,u),E=c([v,m]);for(var w of n){var C=Ra.intersection(w,y);C&&E.push(C)}Pa.isElement(v)?f.push(s.default.createElement(nh.Provider,{key:"provider-".concat(g.id),value:!!b},s.default.createElement(Qf,{decorations:E,element:v,key:g.id,renderElement:o,renderPlaceholder:a,renderLeaf:i,selection:b}))):f.push(s.default.createElement(Xf,{decorations:E,key:g.id,isLast:h&&p===r.children.length-1,parent:r,renderPlaceholder:a,renderLeaf:i,text:v})),Td.set(v,p),kd.set(v,r)}return f},ah=t.createContext(!1),ih=()=>t.useContext(ah),sh=t.createContext(null);var uh={bold:"mod+b",compose:["down","left","right","up","backspace","enter"],moveBackward:"left",moveForward:"right",moveWordBackward:"ctrl+left",moveWordForward:"ctrl+right",deleteBackward:"shift?+backspace",deleteForward:"shift?+delete",extendBackward:"shift+left",extendForward:"shift+right",italic:"mod+i",insertSoftBreak:"shift+enter",splitBlock:"enter",undo:"mod+z"},ch={moveLineBackward:"opt+up",moveLineForward:"opt+down",moveWordBackward:"opt+left",moveWordForward:"opt+right",deleteBackward:["ctrl+backspace","ctrl+h"],deleteForward:["ctrl+delete","ctrl+d"],deleteLineBackward:"cmd+shift?+backspace",deleteLineForward:["cmd+shift?+delete","ctrl+k"],deleteWordBackward:"opt+shift?+backspace",deleteWordForward:"opt+shift?+delete",extendLineBackward:"opt+shift+up",extendLineForward:"opt+shift+down",redo:"cmd+shift+z",transposeCharacter:"ctrl+t"},lh={deleteWordBackward:"ctrl+shift?+backspace",deleteWordForward:"ctrl+shift?+delete",redo:["ctrl+y","ctrl+shift+z"]},dh=e=>{var t=uh[e],n=ch[e],r=lh[e],o=t&&ad(t),a=n&&ad(n),i=r&&ad(r);return e=>!(!o||!o(e))||(!!(vd&&a&&a(e))||!(vd||!i||!i(e)))},fh={isBold:dh("bold"),isCompose:dh("compose"),isMoveBackward:dh("moveBackward"),isMoveForward:dh("moveForward"),isDeleteBackward:dh("deleteBackward"),isDeleteForward:dh("deleteForward"),isDeleteLineBackward:dh("deleteLineBackward"),isDeleteLineForward:dh("deleteLineForward"),isDeleteWordBackward:dh("deleteWordBackward"),isDeleteWordForward:dh("deleteWordForward"),isExtendBackward:dh("extendBackward"),isExtendForward:dh("extendForward"),isExtendLineBackward:dh("extendLineBackward"),isExtendLineForward:dh("extendLineForward"),isItalic:dh("italic"),isMoveLineBackward:dh("moveLineBackward"),isMoveLineForward:dh("moveLineForward"),isMoveWordBackward:dh("moveWordBackward"),isMoveWordForward:dh("moveWordForward"),isRedo:dh("redo"),isSoftBreak:dh("insertSoftBreak"),isSplitBlock:dh("splitBlock"),isTransposeCharacter:dh("transposeCharacter"),isUndo:dh("undo")},hh={subtree:!0,childList:!0,characterData:!0,characterDataOldValue:!0};class ph extends t.Component{constructor(){super(...arguments),cd(this,"context",null),cd(this,"manager",null),cd(this,"mutationObserver",null)}observe(){var e,{node:t}=this.props;if(!t.current)throw new Error("Failed to attach MutationObserver, `node` is undefined");null===(e=this.mutationObserver)||void 0===e||e.observe(t.current,hh)}componentDidMount(){var{receivedUserInput:e}=this.props,t=this.context;this.manager=((e,t)=>{var n=[],r=()=>{n=[]};return{registerMutations:r=>{if(t.current){var o=r.filter((t=>ff(e,t,r)));n.push(...o)}},restoreDOM:function(){n.length>0&&(n.reverse().forEach((e=>{"characterData"!==e.type&&(e.removedNodes.forEach((t=>{e.target.insertBefore(t,e.nextSibling)})),e.addedNodes.forEach((t=>{e.target.removeChild(t)})))})),r())},clear:r}})(t,e),this.mutationObserver=new MutationObserver(this.manager.registerMutations),this.observe()}getSnapshotBeforeUpdate(){var e,t,n,r,o=null===(e=this.mutationObserver)||void 0===e?void 0:e.takeRecords();null!=o&&o.length&&(null===(r=this.manager)||void 0===r||r.registerMutations(o));return null===(t=this.mutationObserver)||void 0===t||t.disconnect(),null===(n=this.manager)||void 0===n||n.restoreDOM(),null}componentDidUpdate(){var e;null===(e=this.manager)||void 0===e||e.clear(),this.observe()}componentWillUnmount(){var e;null===(e=this.mutationObserver)||void 0===e||e.disconnect()}render(){return this.props.children}}cd(ph,"contextType",fd);var mh=gd?ph:e=>{var{children:t}=e;return s.default.createElement(s.default.Fragment,null,t)},vh=t.createContext(!1),gh=["autoFocus","decorate","onDOMBeforeInput","placeholder","readOnly","renderElement","renderLeaf","renderPlaceholder","scrollSelectionIntoView","style","as","disableDefaultStyles"],yh=["text"];function bh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Eh(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bh(Object(n),!0).forEach((function(t){cd(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bh(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var wh=e=>s.default.createElement(s.default.Fragment,null,oh(e)),Ch=t.forwardRef(((e,n)=>{var r=t.useCallback((e=>s.default.createElement(Dh,Eh({},e))),[]),{autoFocus:o,decorate:a=Ah,onDOMBeforeInput:i,placeholder:u,readOnly:c=!1,renderElement:l,renderLeaf:d,renderPlaceholder:f=r,scrollSelectionIntoView:h=xh,style:p={},as:m="div",disableDefaultStyles:v=!1}=e,g=id(e,gh),y=(()=>{var e=t.useContext(sh);if(!e)throw new Error("The `useSlate` hook must be used inside the <Slate> component's context.");var{editor:n}=e;return n})(),[b,E]=t.useState(!1),w=t.useRef(null),C=t.useRef([]),[D,A]=t.useState(),x=t.useRef(!1),{onUserInput:_,receivedUserInput:B}=function(){var e=hd(),n=t.useRef(!1),r=t.useRef(0),o=t.useCallback((()=>{if(!n.current){n.current=!0;var t=vf.getWindow(e);t.cancelAnimationFrame(r.current),r.current=t.requestAnimationFrame((()=>{n.current=!1}))}}),[e]);return t.useEffect((()=>()=>cancelAnimationFrame(r.current)),[]),{receivedUserInput:n,onUserInput:o}}(),[,O]=t.useReducer((e=>e+1),0);Zd.set(y,O),Ld.set(y,c);var S=t.useMemo((()=>({isDraggingInternally:!1,isUpdatingSelection:!1,latestElement:null,hasMarkPlaceholder:!1})),[]);t.useEffect((()=>{w.current&&o&&w.current.focus()}),[o]);var T=t.useRef(),k=t.useMemo((()=>el((()=>{if(Sd.get(y))k();else{var e=vf.toDOMNode(y,y).getRootNode();if(!x.current&&bd&&e instanceof ShadowRoot){x.current=!0;var t=(()=>{for(var e=document.activeElement;null!==(t=e)&&void 0!==t&&t.shadowRoot&&null!==(n=e.shadowRoot)&&void 0!==n&&n.activeElement;){var t,n,r;e=null===(r=e)||void 0===r||null===(r=r.shadowRoot)||void 0===r?void 0:r.activeElement}return e})();return t?document.execCommand("indent"):Ni.deselect(y),void(x.current=!1)}var n=T.current;if((gd||!vf.isComposing(y))&&(!S.isUpdatingSelection||null!=n&&n.isFlushing())&&!S.isDraggingInternally){var r=vf.findDocumentOrShadowRoot(y),{activeElement:o}=r,a=vf.toDOMNode(y,y),i=df(r);if(o===a?(S.latestElement=o,zd.set(y,!0)):zd.delete(y),!i)return Ni.deselect(y);var{anchorNode:s,focusNode:u}=i,l=vf.hasEditableTarget(y,s)||vf.isTargetInsideNonReadonlyVoid(y,s),d=vf.hasTarget(y,u);if(l&&d){var f=vf.toSlateRange(y,i,{exactMatch:!1,suppressThrow:!0});f&&(vf.isComposing(y)||null!=n&&n.hasPendingChanges()||null!=n&&n.isFlushing()?null==n||n.handleUserSelect(f):Ni.select(y,f))}!c||l&&d||Ni.deselect(y)}}}),100)),[y,c,S]),I=t.useMemo((()=>Yc(k,0)),[k]);T.current=If({node:w,onDOMSelectionChange:k,scheduleOnDOMSelectionChange:I}),Of((()=>{var e,t,n;w.current&&(n=tf(w.current))?(Id.set(y,n),Fd.set(y,w.current),Pd.set(y,w.current),Nd.set(w.current,y)):Pd.delete(y);var{selection:r}=y,o=vf.findDocumentOrShadowRoot(y),a=df(o);if(a&&vf.isFocused(y)&&(null===(e=T.current)||void 0===e||!e.hasPendingAction())){var i=e=>{var t="None"!==a.type;if(r||t){var n,o=a.focusNode;if(yd&&a.rangeCount>1){var i=a.getRangeAt(0),s=a.getRangeAt(a.rangeCount-1);n=i.startContainer===o?s.endContainer:i.startContainer}else n=a.anchorNode;var u=Fd.get(y),c=!1;if(u.contains(n)&&u.contains(o)&&(c=!0),t&&c&&r&&!e){var l=vf.toSlateRange(y,a,{exactMatch:!0,suppressThrow:!0});if(l&&Ra.equals(l,r)){var d;if(!S.hasMarkPlaceholder)return;if(null!==(d=n)&&void 0!==d&&null!==(d=d.parentElement)&&void 0!==d&&d.hasAttribute("data-slate-mark-placeholder"))return}}if(!r||vf.hasRange(y,r)){S.isUpdatingSelection=!0;var f=r&&vf.toDOMRange(y,r);return f?(vf.isComposing(y)&&!gd?a.collapseToEnd():Ra.isBackward(r)?a.setBaseAndExtent(f.endContainer,f.endOffset,f.startContainer,f.startOffset):a.setBaseAndExtent(f.startContainer,f.startOffset,f.endContainer,f.endOffset),h(y,f)):a.removeAllRanges(),f}y.selection=vf.toSlateRange(y,a,{exactMatch:!1,suppressThrow:!0})}};a.rangeCount<=1&&i();var s="action"===(null===(t=T.current)||void 0===t?void 0:t.isFlushing());if(gd&&s){var u=null,c=requestAnimationFrame((()=>{if(s){var e=e=>{try{vf.toDOMNode(y,y).focus(),i(e)}catch(e){}};e(),u=setTimeout((()=>{e(!0),S.isUpdatingSelection=!1}))}}));return()=>{cancelAnimationFrame(c),u&&clearTimeout(u)}}setTimeout((()=>{S.isUpdatingSelection=!1}))}}));var F=t.useCallback((e=>{var t=vf.toDOMNode(y,y).getRootNode();if(null!=x&&x.current&&bd&&t instanceof ShadowRoot){var n=e.getTargetRanges()[0],r=new window.Range;r.setStart(n.startContainer,n.startOffset),r.setEnd(n.endContainer,n.endOffset);var o=vf.toSlateRange(y,r,{exactMatch:!1,suppressThrow:!1});return Ni.select(y,o),e.preventDefault(),void e.stopImmediatePropagation()}if(_(),!c&&vf.hasEditableTarget(y,e.target)&&!Oh(e,i)){var a;if(T.current)return T.current.handleDOMBeforeInput(e);I.flush(),k.flush();var{selection:s}=y,{inputType:u}=e,l=e.dataTransfer||e.data||void 0,d="insertCompositionText"===u||"deleteCompositionText"===u;if(d&&vf.isComposing(y))return;var f=!1;if("insertText"===u&&s&&Ra.isCollapsed(s)&&e.data&&1===e.data.length&&/[a-z ]/i.test(e.data)&&0!==s.anchor.offset&&(f=!0,y.marks&&(f=!1),!Sd.get(y))){var h,p,{anchor:m}=s,[v,g]=vf.toDOMPoint(y,m),b=null===(h=v.parentElement)||void 0===h?void 0:h.closest("a"),w=vf.getWindow(y);if(f&&b&&vf.hasDOMNode(y,b)){var D,A=null==w?void 0:w.document.createTreeWalker(b,NodeFilter.SHOW_TEXT).lastChild();A===v&&(null===(D=A.textContent)||void 0===D?void 0:D.length)===g&&(f=!1)}if(f&&v.parentElement&&"pre"===(null==w||null===(p=w.getComputedStyle(v.parentElement))||void 0===p?void 0:p.whiteSpace)){var B=Va.above(y,{at:m.path,match:e=>Pa.isElement(e)&&Va.isBlock(y,e)});B&&za.string(B[0]).includes("\t")&&(f=!1)}}if((!u.startsWith("delete")||u.startsWith("deleteBy"))&&!Sd.get(y)){var[O]=e.getTargetRanges();if(O){var S=vf.toSlateRange(y,O,{exactMatch:!1,suppressThrow:!1});if(!s||!Ra.equals(s,S)){f=!1;var F=!d&&y.selection&&Va.rangeRef(y,y.selection);Ni.select(y,S),F&&Ud.set(y,F)}}}if(d)return;if(f||e.preventDefault(),s&&Ra.isExpanded(s)&&u.startsWith("delete")){var R=u.endsWith("Backward")?"backward":"forward";return void Va.deleteFragment(y,{direction:R})}switch(u){case"deleteByComposition":case"deleteByCut":case"deleteByDrag":Va.deleteFragment(y);break;case"deleteContent":case"deleteContentForward":Va.deleteForward(y);break;case"deleteContentBackward":Va.deleteBackward(y);break;case"deleteEntireSoftLine":Va.deleteBackward(y,{unit:"line"}),Va.deleteForward(y,{unit:"line"});break;case"deleteHardLineBackward":Va.deleteBackward(y,{unit:"block"});break;case"deleteSoftLineBackward":Va.deleteBackward(y,{unit:"line"});break;case"deleteHardLineForward":Va.deleteForward(y,{unit:"block"});break;case"deleteSoftLineForward":Va.deleteForward(y,{unit:"line"});break;case"deleteWordBackward":Va.deleteBackward(y,{unit:"word"});break;case"deleteWordForward":Va.deleteForward(y,{unit:"word"});break;case"insertLineBreak":Va.insertSoftBreak(y);break;case"insertParagraph":Va.insertBreak(y);break;case"insertFromComposition":case"insertFromDrop":case"insertFromPaste":case"insertFromYank":case"insertReplacementText":case"insertText":"insertFromComposition"===u&&vf.isComposing(y)&&(E(!1),Hd.set(y,!1)),"DataTransfer"===(null==l?void 0:l.constructor.name)?vf.insertData(y,l):"string"==typeof l&&(f?C.current.push((()=>Va.insertText(y,l))):Va.insertText(y,l))}var N=null===(a=Ud.get(y))||void 0===a?void 0:a.unref();Ud.delete(y),!N||y.selection&&Ra.equals(y.selection,N)||Ni.select(y,N)}}),[y,k,_,i,c,I]),R=t.useCallback((e=>{null==e?(k.cancel(),I.cancel(),Fd.delete(y),Pd.delete(y),w.current&&Od&&w.current.removeEventListener("beforeinput",F)):Od&&e.addEventListener("beforeinput",F),w.current=e,"function"==typeof n?n(e):n&&(n.current=e)}),[k,I,y,F,n]);Of((()=>{var e=vf.getWindow(y);e.document.addEventListener("selectionchange",I);var t=()=>{S.isDraggingInternally=!1};return e.document.addEventListener("dragend",t),e.document.addEventListener("drop",t),()=>{e.document.removeEventListener("selectionchange",I),e.document.removeEventListener("dragend",t),e.document.removeEventListener("drop",t)}}),[I,S]);var N=a([y,[]]),P=u&&1===y.children.length&&1===Array.from(za.texts(y)).length&&""===za.string(y)&&!b,M=t.useCallback((e=>{var t;e&&P?A(null===(t=e.getBoundingClientRect())||void 0===t?void 0:t.height):A(void 0)}),[P]);if(P){var j=Va.start(y,[]);N.push({[Yd]:!0,placeholder:u,onPlaceholderResize:M,anchor:j,focus:j})}var{marks:L}=y;if(S.hasMarkPlaceholder=!1,y.selection&&Ra.isCollapsed(y.selection)&&L){var{anchor:z}=y.selection,H=za.leaf(y,z.path),U=id(H,yh);if(!ri.equals(H,L,{loose:!0})){S.hasMarkPlaceholder=!0;var W=Object.fromEntries(Object.keys(U).map((e=>[e,null])));N.push(Eh(Eh(Eh({[Jd]:!0},W),L),{},{anchor:z,focus:z}))}}return t.useEffect((()=>{setTimeout((()=>{var{selection:e}=y;if(e){var{anchor:t}=e,n=za.leaf(y,t.path);if(L&&!ri.equals(n,L,{loose:!0}))return void Vd.set(y,L)}Vd.delete(y)}))})),s.default.createElement(ah.Provider,{value:c},s.default.createElement(vh.Provider,{value:b},s.default.createElement(th.Provider,{value:a},s.default.createElement(mh,{node:w,receivedUserInput:B},s.default.createElement(m,Eh(Eh({role:c?void 0:"textbox","aria-multiline":!c||void 0},g),{},{spellCheck:!(!Od&&Bd)&&g.spellCheck,autoCorrect:Od||!Bd?g.autoCorrect:"false",autoCapitalize:Od||!Bd?g.autoCapitalize:"false","data-slate-editor":!0,"data-slate-node":"value",contentEditable:!c,zindex:-1,suppressContentEditableWarning:!0,ref:R,style:Eh(Eh({},v?{}:Eh({position:"relative",whiteSpace:"pre-wrap",wordWrap:"break-word"},D?{minHeight:D}:{})),p),onBeforeInput:t.useCallback((e=>{if(!Od&&!c&&!_h(e,g.onBeforeInput)&&vf.hasSelectableTarget(y,e.target)&&(e.preventDefault(),!vf.isComposing(y))){var t=e.data;Va.insertText(y,t)}}),[g.onBeforeInput,y,c]),onInput:t.useCallback((e=>{if(!_h(e,g.onInput))if(T.current)T.current.handleInput();else{for(var t of C.current)t();if(C.current=[],!vf.isFocused(y)){var n=e.nativeEvent,r=y;if("historyUndo"===n.inputType&&"function"==typeof r.undo)return void r.undo();if("historyRedo"===n.inputType&&"function"==typeof r.redo)return void r.redo()}}}),[g.onInput,y]),onBlur:t.useCallback((e=>{if(!c&&!S.isUpdatingSelection&&vf.hasSelectableTarget(y,e.target)&&!_h(e,g.onBlur)){var t=vf.findDocumentOrShadowRoot(y);if(S.latestElement!==t.activeElement){var{relatedTarget:n}=e;if(!(n===vf.toDOMNode(y,y)||nf(n)&&n.hasAttribute("data-slate-spacer"))){if(null!=n&&rf(n)&&vf.hasDOMNode(y,n)){var r=vf.toSlateNode(y,n);if(Pa.isElement(r)&&!y.isVoid(r))return}if(bd){var o=df(t);null==o||o.removeAllRanges()}zd.delete(y)}}}}),[c,S.isUpdatingSelection,S.latestElement,y,g.onBlur]),onClick:t.useCallback((e=>{if(vf.hasTarget(y,e.target)&&!_h(e,g.onClick)&&rf(e.target)){var t=vf.toSlateNode(y,e.target),n=vf.findPath(y,t);if(!Va.hasPath(y,n)||za.get(y,n)!==t)return;if(3===e.detail&&n.length>=1){var r=n;if(!Pa.isElement(t)||!Va.isBlock(y,t)){var o,a=Va.above(y,{match:e=>Pa.isElement(e)&&Va.isBlock(y,e),at:n});r=null!==(o=null==a?void 0:a[1])&&void 0!==o?o:n.slice(0,1)}var i=Va.range(y,r);return void Ni.select(y,i)}if(c)return;var s=Va.start(y,n),u=Va.end(y,n),l=Va.void(y,{at:s}),d=Va.void(y,{at:u});if(l&&d&&wa.equals(l[1],d[1])){var f=Va.range(y,s);Ni.select(y,f)}}}),[y,g.onClick,c]),onCompositionEnd:t.useCallback((e=>{if(vf.hasSelectableTarget(y,e.target)){var t;if(vf.isComposing(y)&&Promise.resolve().then((()=>{E(!1),Hd.set(y,!1)})),null===(t=T.current)||void 0===t||t.handleCompositionEnd(e),_h(e,g.onCompositionEnd)||gd)return;if(!bd&&!Ad&&!md&&!_d&&!xd&&e.data){var n=Vd.get(y);Vd.delete(y),void 0!==n&&(Kd.set(y,y.marks),y.marks=n),Va.insertText(y,e.data);var r=Kd.get(y);Kd.delete(y),void 0!==r&&(y.marks=r)}}}),[g.onCompositionEnd,y]),onCompositionUpdate:t.useCallback((e=>{vf.hasSelectableTarget(y,e.target)&&!_h(e,g.onCompositionUpdate)&&(vf.isComposing(y)||(E(!0),Hd.set(y,!0)))}),[g.onCompositionUpdate,y]),onCompositionStart:t.useCallback((e=>{if(vf.hasSelectableTarget(y,e.target)){var t;if(null===(t=T.current)||void 0===t||t.handleCompositionStart(e),_h(e,g.onCompositionStart)||gd)return;E(!0);var{selection:n}=y;if(n&&Ra.isExpanded(n))return void Va.deleteFragment(y)}}),[g.onCompositionStart,y]),onCopy:t.useCallback((e=>{!vf.hasSelectableTarget(y,e.target)||_h(e,g.onCopy)||Bh(e)||(e.preventDefault(),vf.setFragmentData(y,e.clipboardData,"copy"))}),[g.onCopy,y]),onCut:t.useCallback((e=>{if(!c&&vf.hasSelectableTarget(y,e.target)&&!_h(e,g.onCut)&&!Bh(e)){e.preventDefault(),vf.setFragmentData(y,e.clipboardData,"cut");var{selection:t}=y;if(t)if(Ra.isExpanded(t))Va.deleteFragment(y);else{var n=za.parent(y,t.anchor.path);Va.isVoid(y,n)&&Ni.delete(y)}}}),[c,y,g.onCut]),onDragOver:t.useCallback((e=>{if(vf.hasTarget(y,e.target)&&!_h(e,g.onDragOver)){var t=vf.toSlateNode(y,e.target);Pa.isElement(t)&&Va.isVoid(y,t)&&e.preventDefault()}}),[g.onDragOver,y]),onDragStart:t.useCallback((e=>{if(!c&&vf.hasTarget(y,e.target)&&!_h(e,g.onDragStart)){var t=vf.toSlateNode(y,e.target),n=vf.findPath(y,t);if(Pa.isElement(t)&&Va.isVoid(y,t)||Va.void(y,{at:n,voids:!0})){var r=Va.range(y,n);Ni.select(y,r)}S.isDraggingInternally=!0,vf.setFragmentData(y,e.dataTransfer,"drag")}}),[c,y,g.onDragStart,S]),onDrop:t.useCallback((e=>{if(!c&&vf.hasTarget(y,e.target)&&!_h(e,g.onDrop)){e.preventDefault();var t=y.selection,n=vf.findEventRange(y,e),r=e.dataTransfer;Ni.select(y,n),S.isDraggingInternally&&(!t||Ra.equals(t,n)||Va.void(y,{at:n,voids:!0})||Ni.delete(y,{at:t})),vf.insertData(y,r),vf.isFocused(y)||vf.focus(y)}}),[c,y,g.onDrop,S]),onDragEnd:t.useCallback((e=>{!c&&S.isDraggingInternally&&g.onDragEnd&&vf.hasTarget(y,e.target)&&g.onDragEnd(e)}),[c,S,g,y]),onFocus:t.useCallback((e=>{if(!c&&!S.isUpdatingSelection&&vf.hasEditableTarget(y,e.target)&&!_h(e,g.onFocus)){var t=vf.toDOMNode(y,y),n=vf.findDocumentOrShadowRoot(y);if(S.latestElement=n.activeElement,yd&&e.target!==t)return void t.focus();zd.set(y,!0)}}),[c,S,y,g.onFocus]),onKeyDown:t.useCallback((e=>{if(!c&&vf.hasEditableTarget(y,e.target)){var t;null===(t=T.current)||void 0===t||t.handleKeyDown(e);var{nativeEvent:n}=e;if(vf.isComposing(y)&&!1===n.isComposing&&(Hd.set(y,!1),E(!1)),_h(e,g.onKeyDown)||vf.isComposing(y))return;var{selection:r}=y,o=y.children[null!==r?r.focus.path[0]:0],a="rtl"===lc(za.string(o));if(fh.isRedo(n)){e.preventDefault();var i=y;return void("function"==typeof i.redo&&i.redo())}if(fh.isUndo(n)){e.preventDefault();var s=y;return void("function"==typeof s.undo&&s.undo())}if(fh.isMoveLineBackward(n))return e.preventDefault(),void Ni.move(y,{unit:"line",reverse:!0});if(fh.isMoveLineForward(n))return e.preventDefault(),void Ni.move(y,{unit:"line"});if(fh.isExtendLineBackward(n))return e.preventDefault(),void Ni.move(y,{unit:"line",edge:"focus",reverse:!0});if(fh.isExtendLineForward(n))return e.preventDefault(),void Ni.move(y,{unit:"line",edge:"focus"});if(fh.isMoveBackward(n))return e.preventDefault(),void(r&&Ra.isCollapsed(r)?Ni.move(y,{reverse:!a}):Ni.collapse(y,{edge:a?"end":"start"}));if(fh.isMoveForward(n))return e.preventDefault(),void(r&&Ra.isCollapsed(r)?Ni.move(y,{reverse:a}):Ni.collapse(y,{edge:a?"start":"end"}));if(fh.isMoveWordBackward(n))return e.preventDefault(),r&&Ra.isExpanded(r)&&Ni.collapse(y,{edge:"focus"}),void Ni.move(y,{unit:"word",reverse:!a});if(fh.isMoveWordForward(n))return e.preventDefault(),r&&Ra.isExpanded(r)&&Ni.collapse(y,{edge:"focus"}),void Ni.move(y,{unit:"word",reverse:a});if(Od){if((wd||bd)&&r&&(fh.isDeleteBackward(n)||fh.isDeleteForward(n))&&Ra.isCollapsed(r)){var u=za.parent(y,r.anchor.path);if(Pa.isElement(u)&&Va.isVoid(y,u)&&(Va.isInline(y,u)||Va.isBlock(y,u)))return e.preventDefault(),void Va.deleteBackward(y,{unit:"block"})}}else{if(fh.isBold(n)||fh.isItalic(n)||fh.isTransposeCharacter(n))return void e.preventDefault();if(fh.isSoftBreak(n))return e.preventDefault(),void Va.insertSoftBreak(y);if(fh.isSplitBlock(n))return e.preventDefault(),void Va.insertBreak(y);if(fh.isDeleteBackward(n))return e.preventDefault(),void(r&&Ra.isExpanded(r)?Va.deleteFragment(y,{direction:"backward"}):Va.deleteBackward(y));if(fh.isDeleteForward(n))return e.preventDefault(),void(r&&Ra.isExpanded(r)?Va.deleteFragment(y,{direction:"forward"}):Va.deleteForward(y));if(fh.isDeleteLineBackward(n))return e.preventDefault(),void(r&&Ra.isExpanded(r)?Va.deleteFragment(y,{direction:"backward"}):Va.deleteBackward(y,{unit:"line"}));if(fh.isDeleteLineForward(n))return e.preventDefault(),void(r&&Ra.isExpanded(r)?Va.deleteFragment(y,{direction:"forward"}):Va.deleteForward(y,{unit:"line"}));if(fh.isDeleteWordBackward(n))return e.preventDefault(),void(r&&Ra.isExpanded(r)?Va.deleteFragment(y,{direction:"backward"}):Va.deleteBackward(y,{unit:"word"}));if(fh.isDeleteWordForward(n))return e.preventDefault(),void(r&&Ra.isExpanded(r)?Va.deleteFragment(y,{direction:"forward"}):Va.deleteForward(y,{unit:"word"}))}}}),[c,y,g.onKeyDown]),onPaste:t.useCallback((e=>{c||!vf.hasEditableTarget(y,e.target)||_h(e,g.onPaste)||(!Od||(e=>e.clipboardData&&""!==e.clipboardData.getData("text/plain")&&1===e.clipboardData.types.length)(e.nativeEvent)||bd)&&(e.preventDefault(),vf.insertData(y,e.clipboardData))}),[c,y,g.onPaste])}),s.default.createElement(wh,{decorations:N,node:y,renderElement:l,renderPlaceholder:f,renderLeaf:d,selection:y.selection}))))))})),Dh=e=>{var{attributes:t,children:n}=e;return s.default.createElement("span",Eh({},t),n,gd&&s.default.createElement("br",null))},Ah=()=>[],xh=(e,t)=>{if(t.getBoundingClientRect&&(!e.selection||e.selection&&Ra.isCollapsed(e.selection))){var n=t.startContainer.parentElement;n.getBoundingClientRect=t.getBoundingClientRect.bind(t),sl(n,{scrollMode:"if-needed"}),delete n.getBoundingClientRect}},_h=(e,t)=>{if(!t)return!1;var n=t(e);return null!=n?n:e.isDefaultPrevented()||e.isPropagationStopped()},Bh=e=>rf(e.target)&&(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement),Oh=(e,t)=>{if(!t)return!1;var n=t(e);return null!=n?n:e.defaultPrevented},Sh=t.createContext(!1),Th=t.createContext({});var kh=["editor","children","onChange","onSelectionChange","onValueChange","initialValue"],Ih=e=>{var{editor:n,children:r,onChange:o,onSelectionChange:a,onValueChange:i,initialValue:u}=e,c=id(e,kh),[l,d]=s.default.useState((()=>{if(!za.isNodeList(u))throw new Error("[Slate] initialValue is invalid! Expected a list of elements but got: ".concat(Ya.stringify(u)));if(!Va.isEditor(n))throw new Error("[Slate] editor is invalid! You passed: ".concat(Ya.stringify(n)));return n.children=u,Object.assign(n,c),{v:0,editor:n}})),{selectorContext:f,onChange:h}=function(e){var n=t.useRef([]).current,r=t.useRef({editor:e}).current,o=t.useCallback((e=>{r.editor=e,n.forEach((t=>t(e)))}),[n,r]);return{selectorContext:t.useMemo((()=>({getSlate:()=>r.editor,addEventListener:e=>(n.push(e),()=>{n.splice(n.indexOf(e),1)})})),[n,r]),onChange:o}}(n),p=t.useCallback((e=>{var t;if(o&&o(n.children),"set_selection"===(null==e||null===(t=e.operation)||void 0===t?void 0:t.type))null==a||a(n.selection);else null==i||i(n.children);d((e=>({v:e.v+1,editor:n}))),h(n)}),[n,h,o,a,i]);t.useEffect((()=>(Wd.set(n,p),()=>{Wd.set(n,(()=>{}))})),[n,p]);var[m,v]=t.useState(vf.isFocused(n));return t.useEffect((()=>{v(vf.isFocused(n))}),[n]),Of((()=>{var e=()=>v(vf.isFocused(n));return pd>=17?(document.addEventListener("focusin",e),document.addEventListener("focusout",e),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",e)}):(document.addEventListener("focus",e,!0),document.addEventListener("blur",e,!0),()=>{document.removeEventListener("focus",e,!0),document.removeEventListener("blur",e,!0)})}),[]),s.default.createElement(Th.Provider,{value:f},s.default.createElement(sh.Provider,{value:l},s.default.createElement(fd.Provider,{value:l.editor},s.default.createElement(Sh.Provider,{value:m},r))))},Fh=(e,t)=>{var n=(t.top+t.bottom)/2;return e.top<=n&&e.bottom>=n},Rh=(e,t,n)=>{var r=vf.toDOMRange(e,t).getBoundingClientRect(),o=vf.toDOMRange(e,n).getBoundingClientRect();return Fh(r,o)&&Fh(o,r)};function Nh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ph(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Nh(Object(n),!0).forEach((function(t){cd(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Nh(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Mh=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"x-slate-fragment",n=e,{apply:r,onChange:o,deleteBackward:a,addMark:i,removeMark:s}=n;return jd.set(n,new WeakMap),n.addMark=(e,t)=>{var r,o;null===(r=$d.get(n))||void 0===r||r(),!Vd.get(n)&&null!==(o=qd.get(n))&&void 0!==o&&o.length&&Vd.set(n,null),Kd.delete(n),i(e,t)},n.removeMark=e=>{var t;!Vd.get(n)&&null!==(t=qd.get(n))&&void 0!==t&&t.length&&Vd.set(n,null),Kd.delete(n),s(e)},n.deleteBackward=e=>{if("line"!==e)return a(e);if(n.selection&&Ra.isCollapsed(n.selection)){var t=Va.above(n,{match:e=>Pa.isElement(e)&&Va.isBlock(n,e),at:n.selection});if(t){var[,r]=t,o=Va.range(n,r,n.selection.anchor),i=((e,t)=>{var n=Va.range(e,Ra.end(t)),r=Array.from(Va.positions(e,{at:t})),o=0,a=r.length,i=Math.floor(a/2);if(Rh(e,Va.range(e,r[o]),n))return Va.range(e,r[o],n);if(r.length<2)return Va.range(e,r[r.length-1],n);for(;i!==r.length&&i!==o;)Rh(e,Va.range(e,r[i]),n)?a=i:o=i,i=Math.floor((o+a)/2);return Va.range(e,r[a],n)})(n,o);Ra.isCollapsed(i)||Ni.delete(n,{at:i})}}},n.apply=t=>{var o=[],a=[],i=qd.get(n);if(null!=i&&i.length){var s=i.map((e=>function(e,t){var{path:n,diff:r,id:o}=e;switch(t.type){case"insert_text":return!wa.equals(t.path,n)||t.offset>=r.end?e:t.offset<=r.start?{diff:{start:t.text.length+r.start,end:t.text.length+r.end,text:r.text},id:o,path:n}:{diff:{start:r.start,end:r.end+t.text.length,text:r.text},id:o,path:n};case"remove_text":return!wa.equals(t.path,n)||t.offset>=r.end?e:t.offset+t.text.length<=r.start?{diff:{start:r.start-t.text.length,end:r.end-t.text.length,text:r.text},id:o,path:n}:{diff:{start:r.start,end:r.end-t.text.length,text:r.text},id:o,path:n};case"split_node":return!wa.equals(t.path,n)||t.position>=r.end?{diff:r,id:o,path:wa.transform(n,t,{affinity:"backward"})}:t.position>r.start?{diff:{start:r.start,end:Math.min(t.position,r.end),text:r.text},id:o,path:n}:{diff:{start:r.start-t.position,end:r.end-t.position,text:r.text},id:o,path:wa.transform(n,t,{affinity:"forward"})};case"merge_node":return wa.equals(t.path,n)?{diff:{start:r.start+t.position,end:r.end+t.position,text:r.text},id:o,path:wa.transform(n,t)}:{diff:r,id:o,path:wa.transform(n,t)}}var a=wa.transform(n,t);return a?{diff:r,path:a,id:o}:null}(e,t))).filter(Boolean);qd.set(n,s)}var u=Xd.get(n);u&&Xd.set(n,Af(n,u,t));var c=Gd.get(n);if(null!=c&&c.at){var l=Xa.isPoint(null==c?void 0:c.at)?Df(n,c.at,t):Af(n,c.at,t);Gd.set(n,l?Ph(Ph({},c),{},{at:l}):null)}switch(t.type){case"insert_text":case"remove_text":case"set_node":case"split_node":o.push(...jh(n,t.path));break;case"set_selection":var d;null===(d=Ud.get(n))||void 0===d||d.unref(),Ud.delete(n);break;case"insert_node":case"remove_node":o.push(...jh(n,wa.parent(t.path)));break;case"merge_node":var f=wa.previous(t.path);o.push(...jh(n,f));break;case"move_node":var h,p=wa.common(wa.parent(t.path),wa.parent(t.newPath));o.push(...jh(n,p)),wa.isBefore(t.path,t.newPath)?(o.push(...jh(n,wa.parent(t.path))),h=t.newPath):(o.push(...jh(n,wa.parent(t.newPath))),h=t.path);var m=za.get(e,wa.parent(h)),v=vf.findKey(n,m),g=Va.pathRef(n,wa.parent(h));a.push([g,v])}switch(r(t),t.type){case"insert_node":case"remove_node":case"merge_node":case"move_node":case"split_node":Sd.set(n,!0)}for(var[y,b]of o){var[E]=Va.node(n,y);Md.set(E,b)}for(var[w,C]of a){if(w.current){var[D]=Va.node(n,w.current);Md.set(D,C)}w.unref()}},n.setFragmentData=e=>{var{selection:r}=n;if(r){var[o,a]=Ra.edges(r),i=Va.void(n,{at:o.path}),s=Va.void(n,{at:a.path});if(!Ra.isCollapsed(r)||i){var u=vf.toDOMRange(n,r),c=u.cloneContents(),l=c.childNodes[0];if(c.childNodes.forEach((e=>{e.textContent&&""!==e.textContent.trim()&&(l=e)})),s){var[d]=s,f=u.cloneRange(),h=vf.toDOMNode(n,d);f.setEndAfter(h),c=f.cloneContents()}if(i&&(l=c.querySelector("[data-slate-spacer]")),Array.from(c.querySelectorAll("[data-slate-zero-width]")).forEach((e=>{var t="n"===e.getAttribute("data-slate-zero-width");e.textContent=t?"\n":""})),af(l)){var p=l.ownerDocument.createElement("span");p.style.whiteSpace="pre",p.appendChild(l),c.appendChild(p),l=p}var m=n.getFragment(),v=JSON.stringify(m),g=window.btoa(encodeURIComponent(v));l.setAttribute("data-slate-fragment",g),e.setData("application/".concat(t),g);var y=c.ownerDocument.createElement("div");return y.appendChild(c),y.setAttribute("hidden","true"),c.ownerDocument.body.appendChild(y),e.setData("text/html",y.innerHTML),e.setData("text/plain",cf(y)),c.ownerDocument.body.removeChild(y),e}}},n.insertData=e=>{n.insertFragmentData(e)||n.insertTextData(e)},n.insertFragmentData=e=>{var r=e.getData("application/".concat(t))||(e=>{var t=e.getData("text/html"),[,n]=t.match(lf)||[];return n})(e);if(r){var o=decodeURIComponent(window.atob(r)),a=JSON.parse(o);return n.insertFragment(a),!0}return!1},n.insertTextData=e=>{var t=e.getData("text/plain");if(t){var r=t.split(/\r\n|\r|\n/),o=!1;for(var a of r)o&&Ni.splitNodes(n,{always:!0}),n.insertText(a),o=!0;return!0}return!1},n.onChange=e=>{(pd<18?c.default.unstable_batchedUpdates:e=>e())((()=>{var t=Wd.get(n);t&&t(e),o(e)}))},n},jh=(e,t)=>{var n=[];for(var[r,o]of Va.levels(e,{at:t})){var a=vf.findKey(e,r);n.push([o,a])}return n};const Lh={Anchor:"a"},zh=t.createContext(void 0);const Hh=t.createContext({});function Uh(){return t.useContext(Hh)}const Wh=[{type:"mark",mark:"bold",character:"*"},{type:"mark",mark:"italic",character:"_"},{type:"mark",mark:"strikethrough",character:"~"},{type:"mark",mark:"code",character:"`"}],$h=Wh.filter((e=>"mark"===e.type)).map((e=>e.character));function Vh(e,t,n){if(t!==n.character)return!1;const r=vs(e,e.selection,[n.character]);if(!r||Ra.isCollapsed(r))return!1;const o=hs(e,r);if(!o||o.text!==n.character)return!1;const a=hs(e,o.range);if(a&&!$h.includes(a.text)&&!gs(a.text))return!1;const i=Va.string(e,r);return i.trim()===i&&(Ni.select(e,r),e.addMark(n.mark,!0),Ni.collapse(e,{edge:"end"}),e.removeMark(n.mark),Ni.delete(e,{at:o.range}),!0)}function Kh(e){return!("type"in e)&&"text"in e&&"string"==typeof e.text}function qh(e){return Kh(e)&&1===Object.keys(e).length}function Gh(e){const{isInline:t,normalizeNode:n,insertData:r}=e;return e.isInline=e=>"custom-link"===e.type||t(e),e.normalizeNode=t=>{const[r,o]=t;if(Kh(r)){if(Xh(za.parent(e,o))&&!qh(r)){const t=Object.keys(r).filter((e=>"text"!==e));Ni.unsetNodes(e,t,{at:o})}}n(t)},e.insertData=t=>{const{selection:n}=e,o=t.getData("text/plain");let a=!0;n&&!Ra.isCollapsed(n)&&n.anchor.path[0]===n.focus.path[0]&&function(e){try{return new URL(e),!0}catch(e){return!1}}(o)&&(function(e,t){const{selection:n}=e;if(!n)return!1;const r=Array.from(Va.nodes(e,{at:n,match:t=>Pa.isElement(t)&&Va.isBlock(e,t),mode:"lowest"}));for(const[,o]of r){const r=Ra.isRange(n)?Ra.intersection(n,Va.range(e,o)):n;if(!r)continue;const a=Array.from(Va.nodes(e,{at:r,match:n=>Va.isInline(e,n)&&t(n)}));if(a.length>0)return!0}return!1}(e,(e=>!Kh(e)))||(Ni.wrapNodes(e,{type:"custom-link",url:o,children:[]},{at:n,split:!0,match:qh}),a=!1)),a&&r(t)},e}function Xh(e){return Pa.isElement(e)&&"custom-link"===e.type}function Zh(e){return Pa.isElement(e)&&"auto-link"===e.type}const Yh=/((https?:\/\/(www\.)?)|(www\.))[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9().@:%_+~#?&//=]*)/,Jh=/[.,;!?\s()]/,Qh=/^[.?][a-zA-Z0-9]+/,ep=/[()]/;function tp(e){return Jh.test(e)}function np(e){const t=e[e.length-1];return void 0!==t&&tp(t)}function rp(e){const t=e[0];return void 0!==t&&tp(t)}function op(e,t){const n=Va.previous(e,{at:t});return!n||Kh(n[0])&&(np(n[0].text)||""===n[0].text)}function ap(e,t){const n=Va.next(e,{at:t});return!n||Kh(n[0])&&(rp(n[0].text)||""===n[0].text)}const ip=(e,t)=>{const[n,r]=t,o=za.children(e,r);for(const[t]of o)if(!Kh(t))return void Ni.unwrapNodes(e,{at:r});const a=za.string(n),i=Yh.exec(a),s=i?.[0];if(!i||s!==a)return void Ni.unwrapNodes(e,{at:r});if("."===(u=a)[u.length-1]||"?"===u[u.length-1]){Ni.unwrapNodes(e,{at:r});const t=a.slice(0,a.length-1);return void Ni.wrapNodes(e,{type:"auto-link",url:t,children:[]},{at:{anchor:{path:r,offset:0},focus:{path:r,offset:t.length}},split:!0})}var u;const c=function(e){if(!ep.test(e))return e.length;let t=0,n=0;for(const r of e){if("("===r&&n++,")"===r&&(n--,n<0))break;t++}return t}(a);if(c<a.length){Ni.unwrapNodes(e,{at:r});const t=a.slice(0,c);Ni.wrapNodes(e,{type:"auto-link",url:t,children:[]},{at:{anchor:{path:r,offset:0},focus:{path:r,offset:t.length}},split:!0})}else op(e,r)&&ap(e,r)?n.url===a||Ni.setNodes(e,{url:s},{at:r}):Ni.unwrapNodes(e,{at:r})},sp=(e,t)=>{const[n,r]=t,o=Yh.exec(n.text),a=o?.[0];if(!o||void 0===a)return;const i=o.index,s=i+a.length;(function(e,t,n,r){const[o,a]=t,i=o.text,s=i[n-1],u=n>0&&s?tp(s):op(e,a),c=i[r],l=r<i.length&&c?tp(c):ap(e,a);return u&&l})(e,t,i,s)&&Ni.wrapNodes(e,{type:"auto-link",url:a,children:[]},{at:{anchor:{path:r,offset:i},focus:{path:r,offset:s}},split:!0})},up=(e,t)=>{const[n,r]=t,o=n.text,a=Va.previous(e,{at:r});if(a&&Zh(a[0])){if(Qh.test(o))return Ni.unwrapNodes(e,{at:a[1]}),void Ni.mergeNodes(e,{at:r});if(!rp(o))return void Ni.unwrapNodes(e,{at:a[1]})}const i=Va.next(e,{at:r});i&&Zh(i[0])&&!np(o)&&Ni.unwrapNodes(e,{at:i[1]})};function cp(e,t){for(const n of t)if(Kh(n)){if(!gs(n.text))return!1}else if("paragraph"===n.type){if(n.children.length>1||n.children[0]&&(!Kh(n.children[0])||!gs(n.children[0].text)))return!1}else if(!Va.isEmpty(e,n))return!1;return!0}function lp(e,t){const n=function(e,t){const n=Va.marks(e);return!!n&&!0===n[t]}(e,t);n?Va.removeMark(e,t):Va.addMark(e,t,!0)}function dp(e){const t=Va.marks(e);if(t)for(const n in t)Va.removeMark(e,n)}function fp(e,t){if(ys(e.selection)){if(Object.keys(Va.marks(e)??{}).length>0){("start"===t?hs(e,e.selection):ps(e,e.selection))||dp(e)}}}function hp(e){return hp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},hp(e)}function pp(e){var t=function(e,t){if("object"!==hp(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==hp(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===hp(t)?t:String(t)}function mp(e,t,n){return(t=pp(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var vp=new WeakMap,gp=new WeakMap;class yp{}class bp extends yp{constructor(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),mp(this,"offset",void 0),mp(this,"path",void 0);var{offset:t,path:n}=e;this.offset=t,this.path=n}}class Ep extends yp{constructor(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),mp(this,"offset",void 0),mp(this,"path",void 0);var{offset:t,path:n}=e;this.offset=t,this.path=n}}var wp=e=>gp.get(e);function Cp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Dp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Cp(Object(n),!0).forEach((function(t){mp(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Cp(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Ap=new WeakSet,xp=e=>{var t=[],n=e=>{if(null!=e){var r=t[t.length-1];if("string"==typeof e){var o={text:e};Ap.add(o),e=o}if(ri.isText(e)){var a=e;ri.isText(r)&&Ap.has(r)&&Ap.has(a)&&ri.equals(r,a,{loose:!0})?r.text+=a.text:t.push(a)}else if(Pa.isElement(e))t.push(e);else{if(!(e instanceof yp))throw new Error("Unexpected hyperscript child object: ".concat(e));var i=t[t.length-1];ri.isText(i)||(n(""),i=t[t.length-1]),e instanceof bp?((e,t)=>{var n=e.text.length;vp.set(e,[n,t])})(i,e):e instanceof Ep&&((e,t)=>{var n=e.text.length;gp.set(e,[n,t])})(i,e)}}};for(var r of e.flat(1/0))n(r);return t};function _p(e,t,n){return Dp(Dp({},t),{},{children:xp(n)})}function Bp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Op(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Bp(Object(n),!0).forEach((function(t){mp(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Bp(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Sp,Tp={anchor:function(e,t,n){return new bp(t)},cursor:function(e,t,n){return[new bp(t),new Ep(t)]},editor:(Sp=fs,(e,t,n)=>{var r,o=[];for(var a of n)Ra.isRange(a)?r=a:o.push(a);var i,s=xp(o),u={},c=Sp();for(var[l,d]of(Object.assign(c,t),c.children=s,za.texts(c))){var f=(i=l,vp.get(i)),h=wp(l);if(null!=f){var[p]=f;u.anchor={path:d,offset:p}}if(null!=h){var[m]=h;u.focus={path:d,offset:m}}}if(u.anchor&&!u.focus)throw new Error("Slate hyperscript ranges must have both `<anchor />` and `<focus />` defined if one is defined, but you only defined `<anchor />`. For collapsed selections, use `<cursor />` instead.");if(!u.anchor&&u.focus)throw new Error("Slate hyperscript ranges must have both `<anchor />` and `<focus />` defined if one is defined, but you only defined `<focus />`. For collapsed selections, use `<cursor />` instead.");return null!=r?c.selection=r:Ra.isRange(u)&&(c.selection=u),c}),element:_p,focus:function(e,t,n){return new Ep(t)},fragment:function(e,t,n){return xp(n)},selection:function(e,t,n){var r=n.find((e=>e instanceof bp)),o=n.find((e=>e instanceof Ep));if(!r||null==r.offset||null==r.path)throw new Error("The <selection> hyperscript tag must have an <anchor> tag as a child with `path` and `offset` attributes defined.");if(!o||null==o.offset||null==o.path)throw new Error("The <selection> hyperscript tag must have a <focus> tag as a child with `path` and `offset` attributes defined.");return Dp({anchor:{offset:r.offset,path:r.path},focus:{offset:o.offset,path:o.path}},t)},text:function(e,t,n){var r=xp(n);if(r.length>1)throw new Error("The <text> hyperscript tag must only contain a single node's worth of children.");var[o]=r;if(null==o&&(o={text:""}),!ri.isText(o))throw new Error("\n The <text> hyperscript tag can only contain text content as children.");return Ap.delete(o),Object.assign(o,t),o}},kp=e=>function(t,n){for(var r=arguments.length,o=new Array(r>2?r-2:0),a=2;a<r;a++)o[a-2]=arguments[a];var i=e[t];if(!i)throw new Error("No hyperscript creator found for tag: <".concat(t,">"));return null==n&&(n={}),bo(n)||(o=[n].concat(o),n={}),i(t,n,o=o.filter((e=>Boolean(e))).flat())},Ip=e=>{var t={},n=function(){var n=e[r];if("object"!=typeof n)throw new Error("Properties specified for a hyperscript shorthand should be an object, but for the custom element <".concat(r,"> tag you passed: ").concat(n));t[r]=(e,t,r)=>_p(0,Op(Op({},n),t),r)};for(var r in e)n();return t},Fp=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{elements:t={}}=e,n=Ip(t),r=Op(Op(Op({},Tp),n),e.creators);return kp(r)}();function Rp(e){return null!=e}function Np(e){if(!e.types.includes("Files"))return[];let t=Array.from(e.items).map((e=>{const t=e.webkitGetAsEntry();return t&&t.isFile?e.getAsFile():null})).filter(Rp);return t.length||(t=Array.from(e.files).filter((e=>""!==e.type))),t}function Pp(e,t){try{const n=new URL(e),r=new URL(t);return n.origin===r.origin&&n.pathname===r.pathname}catch{return!1}}const Mp=()=>({type:"paragraph"}),jp={A:e=>{const t=e.getAttribute("href"),n=e.innerText;return{type:t&&Pp(t,n)?"auto-link":"custom-link",url:t??""}},P:Mp,BLOCKQUOTE:Mp,H1:Mp,H2:Mp,H3:Mp,H4:Mp,H5:Mp,H6:Mp,LI:Mp},Lp={CODE:()=>({code:!0}),DEL:()=>({strikethrough:!0}),EM:()=>({italic:!0}),I:()=>({italic:!0}),S:()=>({strikethrough:!0}),STRONG:()=>({bold:!0}),B:()=>({bold:!0})};function zp(e){const t=[];return"LI"===e.nodeName&&t.push(e),e.childNodes.forEach((e=>{1===e.nodeType&&t.push(...zp(e))})),t}function Hp(e,t){return e.map((e=>Fp("text",t,e)))}function Up(e){if(3===e.nodeType)return e.textContent;if(1!==e.nodeType)return null;if("BR"===e.nodeName)return Fp("element",{type:"paragraph"},[]);let t=Array.from(e.childNodes).map(Up).flat();if("UL"===e.nodeName||"OL"===e.nodeName){t=zp(e).map((e=>Up(e))).flat()}if(0===t.length&&(t=[{text:""}]),"BODY"===e.nodeName)return t.length>0&&t.every((e=>"string"==typeof e))&&(t=[{type:"paragraph",children:[{text:t.join("")}]}]),Fp("fragment",{},t.filter((e=>"string"!=typeof e)));if(jp[e.nodeName]){const n=jp[e.nodeName](e);return Fp("element",n,t)}if(Lp[e.nodeName]){const n=Lp[e.nodeName](e);return t.some((e=>e&&"string"!=typeof e&&"type"in e))?Fp("fragment",{},t):Hp(t,n)}if("SPAN"===e.nodeName){const n=e.style,r={};return"bold"!==n.fontWeight&&"700"!==n.fontWeight&&"800"!==n.fontWeight&&"900"!==n.fontWeight||(r.bold=!0),"italic"===n.fontStyle&&(r.italic=!0),"line-through"===n.textDecoration&&(r.strikethrough=!0),Hp(t,r)}return t}function Wp(e,t){try{return vf.toDOMRange(e,t)}catch(n){return Wp(e,{anchor:t.anchor,focus:t.anchor})}}const $p=/Mac|iPod|iPhone|iPad/;function Vp(){return"undefined"!=typeof window&&$p.test(window.navigator.platform)}const Kp={alt:()=>"altKey",ctrl:()=>"ctrlKey",meta:()=>"metaKey",mod:()=>Vp()?"metaKey":"ctrlKey",shift:()=>"shiftKey"};function qp(e,t,n={}){if(e.key!==t)return!1;return Object.entries(n).filter((([,e])=>"boolean"==typeof e)).every((([t,n])=>{const r=Kp[t]();return e[r]===n}))}const Gp=c.default["flushSync".toString()]??function(e){return e()},Xp="undefined"!=typeof window?t.useLayoutEffect:t.useEffect,Zp=t.createContext(null);function Yp(){return g(t.useContext(Zp),"Persist is missing from the React tree.")}function Jp({children:e}){const[n,r]=t.useState(!0),o=t.useRef(null),a=function(e){const n=Array.isArray(e)?t.Children.only(e):e;return t.isValidElement(n)?n:void 0}(e),i=t.useCallback((()=>{Gp((()=>r(!1)))}),[]);return Xp((()=>{a&&(r(!0),o.current=a)}),[a]),s.default.createElement(Zp.Provider,{value:[Boolean(a),i]},a??(n?o.current:null))}const Qp=t.forwardRef((({container:e=document?.body,asChild:t,...r},o)=>{const a=t?qr:"div";return e?n.createPortal(s.default.createElement(a,{"data-liveblocks-portal":"",...r,ref:o}),e):null}));let em=!1,tm=0;function nm(){return++tm}const rm=s.default["useId".toString()]??function(){const[e,n]=t.useState(em?nm:null);return Xp((()=>{null===e&&n(nm())}),[e]),t.useEffect((()=>{em||(em=!0)}),[]),String(e)??void 0};function om(e,t,n){return Math.min(Math.max(e,t),n)}function am(e,t,n){const r=n-t;return r>0?((e-t)%r+r)%r+t:0}const im={wrap:!0};function sm(e){const[n]=t.useState(e);return n}function um(e,t){t&&("function"==typeof e?e(t):e&&"current"in e&&(e.current=t))}function cm(...e){return t.useCallback((t=>function(e,...t){for(const n of t)um(n,e)}(t,...e)),[e])}const lm=t.createContext(null),dm=t.createContext(null),fm=t.createContext(null),hm=t.createContext(null);function pm(){return t.useContext(fm)}function mm(){return g(pm(),"Composer.Form is missing from the React tree.")}function vm(e="useComposerSuggestionsContext"){return g(t.useContext(hm),`${e} can’t be used outside of Composer.Editor.`)}function gm(){return g(t.useContext(lm),"Composer.Form is missing from the React tree.")}function ym(e){const n=t.useRef(e);return t.useEffect((()=>{n.current=e}),[e]),n}const bm=[];function Em(e,t="ltr"){return`${e}-${"rtl"===t?"end":"start"}`}function wm({onDragEnter:e,onDragLeave:n,onDragOver:r,onDrop:o,disabled:a}){const{isDisabled:i}=gm(),s=i||a,{createAttachments:u}=mm(),[c,l]=t.useState(!1),d=ym(c);return[c,{onDragEnter:t.useCallback((t=>{if(e?.(t),d.current||s||t.isDefaultPrevented())return;t.dataTransfer.types.includes("Files")&&(t.preventDefault(),t.stopPropagation(),l(!0))}),[e,s]),onDragLeave:t.useCallback((e=>{n?.(e),!d.current||s||e.isDefaultPrevented()||(e.relatedTarget?e.relatedTarget===e.currentTarget||e.currentTarget.contains(e.relatedTarget):e.currentTarget!==e.target)||(e.preventDefault(),e.stopPropagation(),l(!1))}),[n,s]),onDragOver:t.useCallback((e=>{r?.(e),s||e.isDefaultPrevented()||(e.preventDefault(),e.stopPropagation())}),[r,s]),onDrop:t.useCallback((e=>{if(o?.(e),!d.current||s||e.isDefaultPrevented())return;e.preventDefault(),e.stopPropagation(),l(!1);const t=Np(e.dataTransfer);u(t)}),[o,s,u]),"data-drop":c?"":void 0,"data-disabled":s?"":void 0}]}class Cm extends Error{constructor(e,t="client"){super(e),this.name="AttachmentTooLargeError",this.origin=t}}function Dm(e){e.preventDefault()}function Am(e,n){const r=Fr(),o=sm(e),a=sm((()=>function(e,t){const n=new Map,r=new Map,o=E();let a=null;function i(){a=null,o.notify()}function s(t){const o=new AbortController;r.set(t.id,o),e.uploadAttachment(t,{signal:o.signal}).then((()=>{n.set(t.id,{...t,status:"uploaded"}),i()})).catch((e=>{e instanceof Error&&"AbortError"!==e.name&&"TimeoutError"!==e.name&&(n.set(t.id,{...t,status:"error",error:e instanceof Ae&&413===e.status?new Cm("File is too large.","server"):e}),i())}))}return{addAttachments:function(e){if(0===e.length)return;const r=e.filter((e=>!n.has(e.id))),o=[];for(const e of r)if("localAttachment"===e.type){if(e.file.size>t.maxFileSize){n.set(e.id,{...e,status:"error",error:new Cm("File is too large.","client")});continue}n.set(e.id,{...e,status:"uploading"}),o.push(e)}else n.set(e.id,e);r.length>0&&i();for(const e of o)s(e)},removeAttachment:function(e){const t=r.get(e);t?.abort(),n.delete(e),r.delete(e),i()},getSnapshot:function(){return a||(a=Array.from(n.values())),a},subscribe:o.subscribe,clear:function(){r.forEach((e=>e.abort())),r.clear(),n.clear(),i()}}}(r,n)));t.useEffect((()=>{a.addAttachments(o)}),[o,a]),t.useEffect((()=>()=>{a.clear()}),[a]);const i=an.exports.useSyncExternalStore(a.subscribe,a.getSnapshot,a.getSnapshot),s=t.useMemo((()=>i.some((e=>"localAttachment"===e.type&&"uploading"===e.status))),[i]);return t.useEffect((()=>{if(s)return window.addEventListener("beforeunload",Dm),()=>{window.removeEventListener("beforeunload",Dm)}}),[s]),{attachments:i,isUploadingAttachments:s,addAttachments:a.addAttachments,removeAttachment:a.removeAttachment,clearAttachments:a.clear}}const xm={version:1,content:[{type:"paragraph",children:[{text:""}]}]};function _m({createAttachments:e,pasteFilesAsAttachments:t}){return function(e){const{normalizeNode:t}=e;return e.normalizeNode=n=>{const[r,o]=n;if(Pa.isElement(r)&&"paragraph"===r.type)for(const[t,n]of za.children(e,o))if(Pa.isElement(t)&&!e.isInline(t))return void Ni.unwrapNodes(e,{at:n});!Pa.isElement(r)||"auto-link"!==r.type&&"custom-link"!==r.type||(0===r.children.length||1===r.children.length&&""===r.children[0]?.text)&&Ni.removeNodes(e,{at:o}),t(n)},e}(function(e){const{isInline:t,isVoid:n,markableVoid:r,deleteBackward:o}=e;return e.isInline=e=>Es(e)||t(e),e.isVoid=e=>Es(e)||n(e),e.markableVoid=e=>Es(e)||r(e),e.deleteBackward=t=>{const{selection:n}=e;if(ys(n)){const[r]=Va.nodes(e,{at:"character"===t?Va.before(e,n,{unit:"character"}):n,match:Es});o(t),r&&Ni.insertText(e,bs)}else o(t)},e}(Gh(function(e){const{isInline:t,normalizeNode:n,deleteBackward:r}=e;return e.isInline=e=>"auto-link"===e.type||t(e),e.normalizeNode=t=>{const[r,o]=t;if(!Xh(r)){if(Kh(r)){const t=za.parent(e,o);if(Xh(t))return;if(Zh(t)){const n=wa.parent(o);if(ip(e,[t,n]),!qh(r)){const t=Object.keys(r).filter((e=>"text"!==e));Ni.unsetNodes(e,t,{at:o})}}else sp(e,[r,o]),up(e,[r,o])}n(t)}},e.deleteBackward=t=>{r(t);const{selection:n}=e;if(!n)return;if(!Ra.isCollapsed(n))return;const[o]=Va.nodes(e,{at:n,match:Zh,mode:"lowest"});o&&Ni.unwrapNodes(e,{match:Zh})},e}(function(e){const{insertText:t}=e;return e.insertText=(n,r)=>{if(!ys(e.selection))return t(n,r);let o=!0;for(const t of Wh)"mark"===t.type&&Vh(e,n,t)&&(o=!1);o&&t(n,r)},e}(function(e){const{onChange:t}=e;return e.onChange=n=>{cp(e,e.children)&&dp(e),t(n)},e}(function(e,{createAttachments:t,pasteFilesAsAttachments:n}){const{insertData:r}=e;return e.insertData=o=>{if(o.types.includes("Files")&&n){const e=Np(o);if(e.length>0)return void t(e)}if(o.types.includes("text/html")&&!o.types.includes("application/x-slate-fragment")){const t=o.getData("text/html");try{const{body:n}=(new DOMParser).parseFromString(t,"text/html");if(n.querySelector("br.Apple-interchange-newline")?.remove(),1===n.children.length&&"B"===n.children[0]?.nodeName){const e=n.children[0];for(;e.firstChild;)n.insertBefore(e.firstChild,e);n.removeChild(e)}const r=Up(n);if(null!==r&&Array.isArray(r))return void Ni.insertFragment(e,r)}catch{}}r(o)},e}((e=>{var t=e,{apply:n}=t;return t.history={undos:[],redos:[]},t.redo=()=>{var{history:e}=t,{redos:n}=e;if(n.length>0){var r=n[n.length-1];r.selectionBefore&&Ni.setSelection(t,r.selectionBefore),sc.withoutSaving(t,(()=>{Va.withoutNormalizing(t,(()=>{for(var e of r.operations)t.apply(e)}))})),e.redos.pop(),t.writeHistory("undos",r)}},t.undo=()=>{var{history:e}=t,{undos:n}=e;if(n.length>0){var r=n[n.length-1];sc.withoutSaving(t,(()=>{Va.withoutNormalizing(t,(()=>{var e=r.operations.map(Wa.inverse).reverse();for(var n of e)t.apply(n);r.selectionBefore&&Ni.setSelection(t,r.selectionBefore)}))})),t.writeHistory("redos",r),e.undos.pop()}},t.apply=e=>{var{operations:r,history:o}=t,{undos:a}=o,i=a[a.length-1],s=i&&i.operations[i.operations.length-1],u=sc.isSaving(t),c=sc.isMerging(t);if(null==u&&(u=cc(e)),u){if(null==c&&(c=null!=i&&(0!==r.length||uc(e,s))),sc.isSplittingOnce(t)&&(c=!1,sc.setSplittingOnce(t,void 0)),i&&c)i.operations.push(e);else{var l={operations:[e],selectionBefore:t.selection};t.writeHistory("undos",l)}for(;a.length>100;)a.shift();o.redos=[]}n(e)},t.writeHistory=(e,n)=>{t.history[e].push(n)},t})(Mh(fs())),{createAttachments:e,pasteFilesAsAttachments:t})))))))}function Bm({Mention:e,attributes:t,children:n,element:r}){const o=rh();return s.default.createElement("span",{...t},r.id?s.default.createElement(e,{userId:r.id,isSelected:o}):null,n)}function Om({Link:e,attributes:n,element:r,children:o}){const a=t.useMemo((()=>Ds(r.url)??r.url),[r.url]);return s.default.createElement("span",{...n},s.default.createElement(e,{href:a},o))}function Sm({id:e,itemId:n,userIds:r,selectedUserId:o,setSelectedUserId:a,mentionDraft:i,onItemSelect:u,position:c="top",dir:l,MentionSuggestions:d}){const f=hd(),{isFocused:h}=gm(),[p,m]=t.useState(null),[v,g]=t.useState(),y=t.useCallback(m,[m]),{portalContainer:b}=Uh(),E=t.useMemo((()=>{const e={padding:10};return{strategy:"fixed",placement:Em(c,l),middleware:[Qu({...e,crossAxis:!1}),tc(e),Yu({...e,limiter:Ju()}),ec({...e,apply({availableWidth:e,availableHeight:t,elements:n}){n.floating.style.setProperty("--lb-composer-suggestions-available-width",`${e}px`),n.floating.style.setProperty("--lb-composer-suggestions-available-height",`${t}px`)}})],whileElementsMounted:(...e)=>Ru(...e,{animationFrame:!0})}}),[c,l]),{refs:{setReference:w,setFloating:C},strategy:D,isPositioned:A,placement:x,x:_,y:B}=Gu(E);return Xp((()=>{p&&g(window.getComputedStyle(p).zIndex)}),[p]),Xp((()=>{if(!i)return;const e=Wp(f,i.range);e&&w({getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects()})}),[w,f,i]),s.default.createElement(Jp,null,i?.range&&h&&r?s.default.createElement(hm.Provider,{value:{id:e,itemId:n,selectedValue:o,setSelectedValue:a,onItemSelect:u,placement:x,dir:l,ref:y}},s.default.createElement(Qp,{ref:C,container:b,style:{position:D,top:0,left:0,transform:A?`translate3d(${Math.round(_)}px, ${Math.round(B)}px, 0)`:"translate3d(0, -200%, 0)",minWidth:"max-content",zIndex:v}},s.default.createElement(d,{userIds:r,selectedUserId:o}))):null)}function Tm({Mention:e,Link:t,...n}){const{attributes:r,children:o,element:a}=n;switch(a.type){case"mention":return s.default.createElement(Bm,{Mention:e,...n});case"auto-link":case"custom-link":return s.default.createElement(Om,{Link:t,...n});case"paragraph":return s.default.createElement("p",{...r,style:{position:"relative"}},o);default:return null}}function km({attributes:e,children:t,leaf:n}){return n.bold&&(t=s.default.createElement("strong",null,t)),n.italic&&(t=s.default.createElement("em",null,t)),n.strikethrough&&(t=s.default.createElement("s",null,t)),n.code&&(t=s.default.createElement("code",null,t)),s.default.createElement("span",{...e},t)}function Im({attributes:e,children:t}){const{opacity:n,...r}=e.style;return s.default.createElement("span",{...e,style:r,"data-placeholder":""},t)}const Fm=t.forwardRef((({children:e,asChild:t,...n},r)=>{const o=t?qr:"span",a=rh();return s.default.createElement(o,{"data-selected":a||void 0,...n,ref:r},e)})),Rm=t.forwardRef((({children:e,asChild:t,...n},r)=>{const o=t?qr:"a";return s.default.createElement(o,{target:"_blank",rel:"noopener noreferrer nofollow",...n,ref:r},e)})),Nm=t.forwardRef((({children:e,style:n,asChild:r,...o},a)=>{const[i]=Yp(),u=t.useRef(null),{ref:c,placement:l,dir:d}=vm("ComposerSuggestions"),f=cm(a,c,u),[h,p]=t.useMemo((()=>function(e){const[t,n="center"]=e.split("-");return[t,n]}(l)),[l]),m=r?qr:"div";return function(e){const[n,r]=Yp(),o=t.useRef(null),a=t.useRef(null);Xp((()=>{const t=e.current;if(!t)return;const n=e=>{e.animationName===a.current&&r(),o.current=e.animationName};return t.addEventListener("animationcancel",n),t.addEventListener("animationend",n),()=>{t.removeEventListener("animationcancel",n),t.removeEventListener("animationend",n)}}),[e,r]),Xp((()=>{const t=e.current;let i;if(t)return n||(i=requestAnimationFrame((()=>{const e=getComputedStyle(t);a.current=e.animationName,"none"!==e.animationName&&e.animationName!==o.current&&"none"!==e.display||r()}))),()=>{cancelAnimationFrame(i)}}),[n,e,r])}(u),s.default.createElement(m,{dir:d,...o,"data-state":i?"open":"closed","data-side":h,"data-align":p,style:{display:"flex",flexDirection:"column",maxHeight:"var(--lb-composer-suggestions-available-height)",overflowY:"auto",...n},ref:f},e)})),Pm=t.forwardRef((({children:e,asChild:t,...n},r)=>{const{id:o}=vm("ComposerSuggestionsList"),a=t?qr:"ul";return s.default.createElement(a,{role:"listbox",id:o,"aria-label":"Suggestions list",...n,ref:r},e)})),Mm=t.forwardRef((({value:e,children:n,onPointerMove:r,onPointerDown:o,onClick:a,asChild:i,...u},c)=>{const l=t.useRef(null),d=cm(c,l),{selectedValue:f,setSelectedValue:h,itemId:p,onItemSelect:m}=vm("ComposerSuggestionsListItem"),v=i?qr:"li",g=t.useMemo((()=>f===e),[f,e]),y=t.useMemo((()=>p(e)),[p,e]);t.useEffect((()=>{l?.current&&g&&l.current.scrollIntoView({block:"nearest"})}),[g]);const b=t.useCallback((t=>{r?.(t),t.isDefaultPrevented()||h(e)}),[r,h,e]),E=t.useCallback((e=>{o?.(e),e.preventDefault(),e.stopPropagation()}),[o]),w=t.useCallback((t=>{a?.(t);const n=t.isDefaultPrevented();t.preventDefault(),t.stopPropagation(),n||m(e)}),[a,m,e]);return s.default.createElement(v,{role:"option",id:y,"data-selected":g||void 0,"aria-selected":g||void 0,onPointerMove:b,onPointerDown:E,onClick:w,...u,ref:d},n)})),jm={Link:({href:e,children:t})=>s.default.createElement(Rm,{href:e},t),Mention:({userId:e})=>s.default.createElement(Fm,null,bs,e),MentionSuggestions:({userIds:e})=>e.length>0?s.default.createElement(Nm,null,s.default.createElement(Pm,null,e.map((e=>s.default.createElement(Mm,{key:e,value:e},e))))):null},Lm=t.forwardRef((({defaultValue:e,onKeyDown:n,onFocus:r,onBlur:o,disabled:a,autoFocus:i,components:u,dir:c,...l},d)=>{const{editor:f,validate:h,setFocused:p}=g(t.useContext(dm),"Composer.Form is missing from the React tree."),{submit:m,focus:v,select:y,canSubmit:b,isDisabled:E,isFocused:w}=gm(),C=E||a,D=sm(e??xm),A=t.useMemo((()=>{return(e=D)&&e?.content?e.content.map((e=>{if("paragraph"!==e.type)return null;const t=e.children.map((e=>{return ws(e)?{type:"mention",id:e.id,children:[{text:""}]}:Cs(e)?(t=e).text?{type:"custom-link",url:t.url,children:[{text:t.text}]}:{type:"auto-link",url:t.url,children:[{text:t.url}]}:!("type"in(n=e))&&"text"in n&&"string"==typeof n.text?e:null;var t,n})).filter(Rp);return{...e,children:t}})).filter(Rp):bm;var e}),[D]),{Link:x,Mention:_,MentionSuggestions:B}=t.useMemo((()=>({...jm,...u})),[u]),[O,S]=t.useState(),T=function(e){const t=Qn(),n=Fr(),[r,o]=s.default.useState(),a=s.default.useRef();return s.default.useEffect((()=>{const r=t[he].mentionSuggestionsCache,i=t[he].resolveMentionSuggestions;if(void 0===e||!i)return;const s={text:e,roomId:n.id},u=pe(s);let c,l=!1;const d=async()=>{try{a.current=performance.now();const e=await i(s);l||(o(e),r.set(u,e))}catch(e){console.error(e?.message)}};return r.has(u)?o(r.get(u)):!a.current||Math.abs(performance.now()-a.current)>500?d():c=window.setTimeout((()=>{d()}),500),()=>{l=!0,window.clearTimeout(c)}}),[t,n.id,e]),r}(O?.text),[k,I,F,R]=function(e,n,r){const{wrap:o}=t.useMemo((()=>({...im,...r})),[r]),a=t.useMemo((()=>o?am:om),[o]),[i,s]=t.useState(e);return t.useEffect((()=>{s((e=>om(e,0,Math.max(n-1,0))))}),[n]),[i,t.useCallback((()=>{s((e=>a(e-1,0,Math.max(n,0))))}),[n,a]),t.useCallback((()=>{s((e=>a(e+1,0,Math.max(n,0))))}),[n,a]),s]}(0,T?.length??0),N=rm(),P=t.useMemo((()=>`liveblocks-suggestions-list-${N}`),[N]),M=t.useCallback((e=>e?`liveblocks-suggestions-list-item-${N}-${e}`:void 0),[N]),j=t.useCallback((e=>s.default.createElement(Tm,{Mention:_,Link:x,...e})),[x,_]),L=t.useCallback((e=>{h(e),S(function(e){const{selection:t}=e;if(!ys(t))return;const n=vs(e,t);if(!n)return;const r=Va.string(e,n);return r.startsWith(bs)?{range:n,text:r.substring(1)}:void 0}(f))}),[f,h]),z=t.useCallback((e=>{O&&e&&(Ni.select(f,O.range),function(e,t){const n={type:"mention",id:t,children:[{text:""}]};Ni.insertNodes(e,n),Ni.move(e);const r=e.selection?ps(e,e.selection):void 0;!r||r.void?Ni.insertText(e," "):gs(r.text)&&Ni.move(e)}(f,e),S(void 0),R(0))}),[f,O,R]),H=t.useCallback((e=>{if(n?.(e),!e.isDefaultPrevented())if(qp(e,"ArrowLeft")&&fp(f,"start"),qp(e,"ArrowRight")&&fp(f,"end"),O&&T?.length){if(qp(e,"ArrowDown")&&(e.preventDefault(),F()),qp(e,"ArrowUp")&&(e.preventDefault(),I()),qp(e,"Enter")||qp(e,"Tab")){e.preventDefault();const t=T?.[k];z(t)}qp(e,"Escape")&&(e.preventDefault(),S(void 0),R(0))}else qp(e,"Escape")&&(e.preventDefault(),vf.blur(f)),qp(e,"Enter",{shift:!1})&&(e.preventDefault(),b&&m()),qp(e,"Enter",{shift:!0})&&(e.preventDefault(),f.insertBreak()),qp(e,"b",{mod:!0})&&(e.preventDefault(),lp(f,"bold")),qp(e,"i",{mod:!0})&&(e.preventDefault(),lp(f,"italic")),qp(e,"s",{mod:!0,shift:!0})&&(e.preventDefault(),lp(f,"strikethrough")),qp(e,"e",{mod:!0})&&(e.preventDefault(),lp(f,"code"))}),[z,f,b,O,T,k,n,F,I,R,m]),U=t.useCallback((e=>{r?.(e),e.isDefaultPrevented()||p(!0)}),[r,p]),W=t.useCallback((e=>{o?.(e),e.isDefaultPrevented()||p(!1)}),[o,p]),$=t.useMemo((()=>T?.[k]),[k,T]),V=t.useCallback((e=>{const t=T?.indexOf(e);void 0!==t&&t>=0&&R(t)}),[R,T]),K=t.useMemo((()=>O?{role:"combobox","aria-autocomplete":"list","aria-expanded":!0,"aria-controls":P,"aria-activedescendant":M($)}:{}),[O,P,M,$]);return t.useImperativeHandle(d,(()=>vf.toDOMNode(f,f)),[f]),t.useEffect((()=>{i&&v()}),[i,f,v]),t.useEffect((()=>{w&&null===f.selection&&y()}),[f,y,w]),s.default.createElement(Ih,{editor:f,initialValue:A,onChange:L},s.default.createElement(Ch,{dir:c,enterKeyHint:O?"enter":"send",autoCapitalize:"sentences","aria-label":"Composer editor","data-focused":w||void 0,"data-disabled":C||void 0,...K,...l,readOnly:C,disabled:C,onKeyDown:H,onFocus:U,onBlur:W,renderElement:j,renderLeaf:km,renderPlaceholder:Im}),s.default.createElement(Sm,{dir:c,mentionDraft:O,selectedUserId:$,setSelectedUserId:V,userIds:T,id:P,itemId:M,onItemSelect:z,MentionSuggestions:B}))})),zm=t.forwardRef((({children:e,onSubmit:n,onComposerSubmit:r,defaultAttachments:o=[],pasteFilesAsAttachments:a,preventUnsavedChanges:i=!0,disabled:u,asChild:c,...l},d)=>{const f=c?qr:"form",h=Fr(),[p,m]=t.useState(!0),[v,g]=t.useState(!1),[y,b]=t.useState(!1),E=1073741824,{attachments:w,isUploadingAttachments:C,addAttachments:D,removeAttachment:A,clearAttachments:x}=Am(o,{maxFileSize:E}),_=w.length,B=_>=10,O=t.useMemo((()=>{const e=h.getSelf();return v||u||!(e?.canComment??!0)}),[v,u,h]),S=t.useMemo((()=>!p&&!C),[p,C]),T=t.useRef(null),k=cm(d,T),I=t.useRef(null),F=function(){const e=Qn()[he].createSyncSource,[t,n]=s.default.useState();return s.default.useEffect((()=>{const t=e();return n(t),()=>t.destroy()}),[e]),t}(),R=!!i&&(!p||C||w.length>0);t.useEffect((()=>{F?.setSyncStatus(R?"has-local-changes":"synchronized")}),[F,R]);const N=t.useCallback((e=>{if(!e.length)return;const t=Math.max(0,10-_);e.splice(t);const n=e.map((e=>h.prepareAttachment(e)));D(n)}),[D,10,_,h]),P=t.useRef(N);t.useEffect((()=>{P.current=N}),[N]);const M=t.useCallback((e=>{P.current(e)}),[]),j=sm((()=>_m({createAttachments:M,pasteFilesAsAttachments:a}))),L=t.useCallback((e=>{m(cp(j,e))}),[j]),z=t.useCallback((()=>{S&&requestAnimationFrame((()=>{T.current&&function(e,t){if("function"==typeof e.requestSubmit)return e.requestSubmit(t);t?t.click():((t=document.createElement("input")).type="submit",t.hidden=!0,e.appendChild(t),t.click(),e.removeChild(t))}(T.current)}))}),[S]),H=t.useCallback((()=>{Ni.delete(j,{at:{anchor:Va.start(j,[]),focus:Va.end(j,[])}})}),[j]),U=t.useCallback((()=>{Ni.select(j,{anchor:Va.end(j,[]),focus:Va.end(j,[])})}),[j]),W=t.useCallback(((e=!0)=>{vf.isFocused(j)||(Ni.select(j,e||!j.selection?Va.end(j,[]):j.selection),vf.focus(j))}),[j]),$=t.useCallback((()=>{vf.blur(j)}),[j]),V=t.useCallback((()=>{u||(W(),function(e){if(!e.selection)return;const t=hs(e,e.selection,{filterVoids:!0}),n=ps(e,e.selection,{filterVoids:!0}),r=t&&!gs(t.text),o=n&&!gs(n.text);if(ys(e.selection)){const t=(r?" ":"")+bs+(o?" ":"");e.insertText(t),o&&Ni.move(e,{distance:1,unit:"character",reverse:!0})}else{const t=(r?" ":"")+bs;e.insertText(t,{at:Ra.start(e.selection)}),o&&e.insertText(" ",{at:Ra.end(e.selection)}),Ni.collapse(e,{edge:"end"})}}(j))}),[u,j,W]),K=t.useCallback((e=>{u||(W(!1),Zi(j,e))}),[u,j,W]),q=t.useCallback((()=>{u||I.current&&I.current.click()}),[u]),G=t.useCallback((e=>{u||e.target.files&&(N(Array.from(e.target.files)),e.target.value="")}),[N,u]),X=t.useCallback((()=>{H(),$(),x(),g(!1)}),[$,H,x]),Z=t.useCallback((e=>{if(u)return;if(cp(j,j.children))return void e.preventDefault();if(n?.(e),!r||e.isDefaultPrevented())return void e.preventDefault();const t=function(e){return{version:1,content:e.map((e=>{if("paragraph"!==e.type)return null;const t=e.children.map((e=>{return Es(e)?{type:"mention",id:e.id}:Zh(e)?{type:"link",url:e.url}:Xh(e)?{type:"link",url:(t=e).url,text:t.children.map((e=>e.text)).join("")}:Kh(e)?e:null;var t})).filter(Rp);return{...e,children:t}})).filter(Rp)}}(j.children),o=w.filter((e=>"attachment"===e.type||"localAttachment"===e.type&&"uploaded"===e.status)).map((e=>({id:e.id,type:"attachment",mimeType:e.mimeType,size:e.size,name:e.name}))),a=r({body:t,attachments:o},e);e.preventDefault(),a?(g(!0),a.then(X)):X()}),[u,j,w,r,n,X]),Y=t.useCallback((e=>{e.stopPropagation()}),[]);return s.default.createElement(dm.Provider,{value:{editor:j,validate:L,setFocused:b}},s.default.createElement(fm.Provider,{value:{createAttachments:N,isUploadingAttachments:C,hasMaxAttachments:B,maxAttachments:10,maxAttachmentSize:E}},s.default.createElement(lm.Provider,{value:{isDisabled:O,isFocused:y,isEmpty:p,canSubmit:S,submit:z,clear:H,select:U,focus:W,blur:$,createMention:V,insertText:K,attachments:w,attachFiles:q,removeAttachment:A}},s.default.createElement(f,{...l,onSubmit:Z,ref:k},s.default.createElement("input",{type:"file",multiple:!0,ref:I,onChange:G,onClick:Y,tabIndex:-1,style:{display:"none"}}),s.default.createElement(Xr,null,e)))))})),Hm=t.forwardRef((({children:e,disabled:t,asChild:n,...r},o)=>{const a=n?qr:"button",{canSubmit:i,isDisabled:u}=gm(),c=u||t||!i;return s.default.createElement(a,{type:"submit",...r,ref:o,disabled:c},e)})),Um=t.forwardRef((({children:e,onClick:n,disabled:r,asChild:o,...a},i)=>{const u=o?qr:"button",{hasMaxAttachments:c}=mm(),{isDisabled:l,attachFiles:d}=gm(),f=l||c||r,h=t.useCallback((e=>{n?.(e),e.isDefaultPrevented()||d()}),[d,n]);return s.default.createElement(u,{type:"button",...a,onClick:h,ref:i,disabled:f},e)}));function Wm(e){return e.charAt(0).toUpperCase()+e.slice(1)}function $m(e){const t=new Map;return(...n)=>{const r=JSON.stringify(n.map((e=>pe(e))));if(t.has(r))return t.get(r);const o=e(...n);return t.set(r,o),o}}t.forwardRef((({onDragEnter:e,onDragLeave:t,onDragOver:n,onDrop:r,disabled:o,asChild:a,...i},u)=>{const c=a?qr:"div",{isDisabled:l}=gm(),d=l||o,[,f]=wm({onDragEnter:e,onDragLeave:t,onDragOver:n,onDrop:r,disabled:d});return s.default.createElement(c,{...f,"data-disabled":d?"":void 0,...i,ref:u})}));const Vm=$m(((...e)=>new Intl.DateTimeFormat(...e))),Km=$m(((...e)=>new Intl.RelativeTimeFormat(...e))),qm=$m(((...e)=>new Intl.ListFormat(...e))),Gm=$m(((...e)=>new Intl.NumberFormat(...e)));const Xm={seconds:60,minutes:60,hours:24,days:7,weeks:4.34524,months:12};function Zm(e,t){return Wm(Vm(t,{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric"}).format(e))}const Ym=["br","fr","nb","nn","no","ro","sv"];function Jm(e,t){return e.getTime()>Date.now()-2592e5?function(e,t){let n;if(t)n=t;else{const e=Km();n=e.resolvedOptions().locale}const r=Ym.some((e=>n===e||n.startsWith(`${e}-`))),o=Km(n,{style:r?"short":"narrow",numeric:"auto"});let a=(e.getTime()-Date.now())/1e3;if(a>-Xm.seconds&&a<Xm.seconds)return o.format(0,"seconds");for(const[e,t]of Object.entries(Xm)){if(Math.abs(a)<t)return o.format(Math.round(a),e);a/=t}return Wm(o.format(Math.round(a),"years"))}(e,t):function(e,t){return Wm(Vm(t,{month:"short",day:"numeric"}).format(e))}(e,t)}const Qm=t.forwardRef((({date:e,locale:n,children:r=Jm,title:o=Zm,dateTime:a,interval:i=3e4,asChild:u,...c},l)=>{const d=u?qr:"time",[f,h]=function(){const[e,n]=t.useReducer((e=>e+1),0);return[n,e]}(),p=t.useMemo((()=>new Date(e)),[e]),m=t.useMemo((()=>p.toISOString()),[p]),v=t.useMemo((()=>"function"==typeof o?o(p,n):o),[o,p,h]),g=t.useMemo((()=>"function"==typeof r?r(p,n):r),[r,p,h]);return function(e,n){const r=t.useRef(e);t.useEffect((()=>{r.current=e}),[e]),t.useEffect((()=>{if(!n&&0!==n)return;const e=setInterval((()=>{!1===r.current()&&clearInterval(e)}),n);return()=>clearInterval(e)}),[n])}(f,i),s.default.createElement(d,{...c,ref:l,dateTime:a??m,title:v},g)}));function ev(){const e=t.useContext(jn);return null!==t.useContext(dn)?jr((e=>"string"==typeof e.id?e.id:null)):null!==e?function(e){const t=e[he].currentUserIdStore;return an.exports.useSyncExternalStore(t.subscribe,t.get,t.get)}(e):void I("LiveblocksProvider or RoomProvider are missing from the React tree.")}let tv;const nv=new WeakMap;function rv(e){nv.delete(e),tv?.unobserve(e)}function ov(e,n,r){const o=r?.enabled??!0,a=ym(n);t.useEffect((()=>{const t=e.current;if(t)return o?function(e,t){tv||(tv=new IntersectionObserver((e=>{for(const t of e){const e=nv.get(t.target);e?.(t)}}))),nv.set(e,t),tv.observe(e)}(t,(e=>{e.isIntersecting&&a.current()})):rv(t),()=>{rv(t)}}),[o])}function av(e){return window.addEventListener("blur",e),window.addEventListener("focus",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("focus",e)}}function iv(){return document.hasFocus()}function sv(){return!0}function uv(e){return s.default.createElement(ro,{...e},s.default.createElement("path",{d:"m14.077 11.737-3.723 3.62c-1.55 1.507-4.128 1.507-5.678 0-1.543-1.5-1.543-4.02 0-5.52l5.731-5.573c1.034-1.006 2.754-1.007 3.789-.003 1.03 1 1.032 2.682.003 3.684l-5.744 5.572a1.377 1.377 0 0 1-1.893 0 1.283 1.283 0 0 1-.392-.92c0-.345.14-.676.392-.92L10.348 8"}))}function cv(e){return s.default.createElement(ro,{...e},s.default.createElement("path",{d:"M10 17a7 7 0 1 0 0-14 7 7 0 0 0 0 14Z"}),s.default.createElement("path",{d:"M7.5 11.5S8.25 13 10 13s2.5-1.5 2.5-1.5M8 8h.007"}),s.default.createElement("path",{d:"M12 8h.007"}),s.default.createElement("circle",{cx:8,cy:8,r:.25}),s.default.createElement("circle",{cx:12,cy:8,r:.25}))}function lv(e){return s.default.createElement(ro,{...e},s.default.createElement("path",{d:"M10 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"}),s.default.createElement("path",{d:"M13 7v3.7c0 1.105.855 2.1 1.9 2.1a2.12 2.12 0 0 0 2.1-2.1V10a7 7 0 1 0-2.8 5.6"}))}function dv(e){return s.default.createElement(ro,{...e},s.default.createElement("path",{d:"m5 16 12-6L5 4l2 6-2 6ZM7 10h10"}))}function fv(e){return s.default.createElement(ro,{...e},s.default.createElement("path",{d:"M3 10a7 7 0 0 1 7-7",className:"lb-icon-spinner"}))}function hv(e){return s.default.createElement(ro,{...e},s.default.createElement("path",{d:"m3.794 13.526 5.326-9.89a1 1 0 0 1 1.76 0l5.326 9.89a1 1 0 0 1-.88 1.474H4.674a1 1 0 0 1-.88-1.474ZM10 7.5v2m0 2.5h.007"}),s.default.createElement("circle",{cx:10,cy:12,r:.25}))}function pv(e,t){return n=>e(t(n))}function mv(e,t){return t(e)}function vv(e,t){return n=>e(t,n)}function gv(e,t){return()=>e(t)}function yv(e,t){return t(e),e}function bv(...e){return e}function Ev(e){e()}function wv(e){return()=>e}function Cv(e){return void 0!==e}function Dv(){}function Av(e,t){return e(1,t)}function xv(e,t){e(0,t)}function _v(e){e(2)}function Bv(e){return e(4)}function Ov(e,t){return Av(e,vv(t,0))}function Sv(e,t){const n=e(1,(e=>{n(),t(e)}));return n}function Tv(){const e=[];return(t,n)=>{switch(t){case 2:return void e.splice(0,e.length);case 1:return e.push(n),()=>{const t=e.indexOf(n);t>-1&&e.splice(t,1)};case 0:return void e.slice().forEach((e=>{e(n)}));default:throw new Error(`unrecognized action ${t}`)}}}function kv(e){let t=e;const n=Tv();return(e,r)=>{switch(e){case 1:r(t);break;case 0:t=r;break;case 4:return t}return n(e,r)}}function Iv(e){return yv(Tv(),(t=>Ov(e,t)))}function Fv(e,t){return yv(kv(t),(t=>Ov(e,t)))}function Rv(e,...t){const n=function(...e){return t=>e.reduceRight(mv,t)}(...t);return(t,r)=>{switch(t){case 1:return Av(e,n(r));case 2:return void _v(e)}}}function Nv(e,t){return e===t}function Pv(e=Nv){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function Mv(e){return t=>n=>{e(n)&&t(n)}}function jv(e){return t=>pv(t,e)}function Lv(e){return t=>()=>t(e)}function zv(e,t){return n=>r=>n(t=e(t,r))}function Hv(e){return t=>n=>{e>0?e--:t(n)}}function Uv(e){let t,n=null;return r=>o=>{n=o,t||(t=setTimeout((()=>{t=void 0,r(n)}),e))}}function Wv(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout((()=>{r(t)}),e)}}function $v(...e){const t=new Array(e.length);let n=0,r=null;const o=Math.pow(2,e.length)-1;return e.forEach(((e,a)=>{const i=Math.pow(2,a);Av(e,(e=>{const s=n;n|=i,t[a]=e,s!==o&&n===o&&r&&(r(),r=null)}))})),e=>a=>{const i=()=>e([a].concat(t));n===o?i():r=i}}function Vv(...e){return function(t,n){switch(t){case 1:return function(...e){return()=>{e.map(Ev)}}(...e.map((e=>Av(e,n))));case 2:return;default:throw new Error(`unrecognized action ${t}`)}}}function Kv(e,t=Nv){return Rv(e,Pv(t))}function qv(...e){const t=Tv(),n=new Array(e.length);let r=0;const o=Math.pow(2,e.length)-1;return e.forEach(((e,a)=>{const i=Math.pow(2,a);Av(e,(e=>{n[a]=e,r|=i,r===o&&xv(t,n)}))})),function(e,a){switch(e){case 1:return r===o&&a(n),Av(t,a);case 2:return _v(t);default:throw new Error(`unrecognized action ${e}`)}}}function Gv(e,t=[],{singleton:n}={singleton:!0}){return{id:Xv(),constructor:e,dependencies:t,singleton:n}}const Xv=()=>Symbol();function Zv(e,t){const n={},r={};let o=0;const a=e.length;for(;o<a;)r[e[o]]=1,o+=1;for(const e in t)r.hasOwnProperty(e)||(n[e]=t[e]);return n}const Yv="undefined"!=typeof document?s.default.useLayoutEffect:s.default.useEffect;function Jv(e,t,n){const r=Object.keys(t.required||{}),o=Object.keys(t.optional||{}),a=Object.keys(t.methods||{}),i=Object.keys(t.events||{}),u=s.default.createContext({});function c(e,n){e.propsReady&&xv(e.propsReady,!1);for(const o of r){xv(e[t.required[o]],n[o])}for(const r of o)if(r in n){xv(e[t.optional[r]],n[r])}e.propsReady&&xv(e.propsReady,!0)}function l(e){return i.reduce(((n,r)=>(n[r]=function(e){let t,n;const r=()=>t&&t();return function(o,a){switch(o){case 1:if(a){if(n===a)return;return r(),n=a,t=Av(e,a),t}return r(),Dv;case 2:return r(),void(n=null);default:throw new Error(`unrecognized action ${o}`)}}}(e[t.events[r]]),n)),{})}const d=s.default.forwardRef(((d,f)=>{const{children:h,...p}=d,[m]=s.default.useState((()=>yv(function(e){const t=new Map,n=({id:e,constructor:r,dependencies:o,singleton:a})=>{if(a&&t.has(e))return t.get(e);const i=r(o.map((e=>n(e))));return a&&t.set(e,i),i};return n(e)}(e),(e=>c(e,p))))),[v]=s.default.useState(gv(l,m));Yv((()=>{for(const e of i)e in p&&Av(v[e],p[e]);return()=>{Object.values(v).map(_v)}}),[p,v,m]),Yv((()=>{c(m,p)})),s.default.useImperativeHandle(f,wv(function(e){return a.reduce(((n,r)=>(n[r]=n=>{xv(e[t.methods[r]],n)},n)),{})}(m)));const g=n;return Vr.exports.jsx(u.Provider,{value:m,children:n?Vr.exports.jsx(g,{...Zv([...r,...o,...i],p),children:h}):h})})),f=s.default.version.startsWith("18")?e=>{const t=s.default.useContext(u)[e],n=s.default.useCallback((e=>Av(t,e)),[t]);return s.default.useSyncExternalStore(n,(()=>Bv(t)),(()=>Bv(t)))}:e=>{const t=s.default.useContext(u)[e],[n,r]=s.default.useState(gv(Bv,t));return Yv((()=>Av(t,(e=>{e!==n&&r(wv(e))}))),[t,n]),n};return{Component:d,usePublisher:e=>s.default.useCallback(vv(xv,s.default.useContext(u)[e]),[e]),useEmitterValue:f,useEmitter:(e,t)=>{const n=s.default.useContext(u)[e];Yv((()=>Av(n,t)),[t,n])}}}const Qv="undefined"!=typeof document?s.default.useLayoutEffect:s.default.useEffect;var eg=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(eg||{});const tg={0:"debug",1:"log",2:"warn",3:"error"},ng=Gv((()=>{const e=kv(3);return{log:kv(((t,n,r=1)=>{var o;r>=(null!=(o=("undefined"==typeof globalThis?window:globalThis).VIRTUOSO_LOG_LEVEL)?o:Bv(e))&&console[tg[r]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",t,n)})),logLevel:e}}),[],{singleton:!0});function rg(e,t,n){const r=s.default.useRef(null);let o=e=>{};if("undefined"!=typeof ResizeObserver){const a=s.default.useMemo((()=>new ResizeObserver((t=>{const r=()=>{const n=t[0].target;null!==n.offsetParent&&e(n)};n?r():requestAnimationFrame(r)}))),[e]);o=e=>{e&&t?(a.observe(e),r.current=e):(r.current&&a.unobserve(r.current),r.current=null)}}return{ref:r,callbackRef:o}}function og(e,t,n){return rg(e,t,n).callbackRef}function ag(e,t,n,r,o,a,i,u,c){const l=s.default.useCallback((n=>{const s=function(e,t,n,r){const o=e.length;if(0===o)return null;const a=[];for(let i=0;i<o;i++){const o=e.item(i);if(!o||void 0===o.dataset.index)continue;const s=parseInt(o.dataset.index),u=parseFloat(o.dataset.knownSize),c=t(o,n);if(0===c&&r("Zero-sized element, this should not happen",{child:o},eg.ERROR),c===u)continue;const l=a[a.length-1];0===a.length||l.size!==c||l.endIndex!==s-1?a.push({startIndex:s,endIndex:s,size:c}):a[a.length-1].endIndex++}return a}(n.children,t,u?"offsetWidth":"offsetHeight",o);let c=n.parentElement;for(;!c.dataset.virtuosoScroller;)c=c.parentElement;const l="window"===c.lastElementChild.dataset.viewportType,d=i?u?i.scrollLeft:i.scrollTop:l?u?window.pageXOffset||document.documentElement.scrollLeft:window.pageYOffset||document.documentElement.scrollTop:u?c.scrollLeft:c.scrollTop,f=i?u?i.scrollWidth:i.scrollHeight:l?u?document.documentElement.scrollWidth:document.documentElement.scrollHeight:u?c.scrollWidth:c.scrollHeight,h=i?u?i.offsetWidth:i.offsetHeight:l?u?window.innerWidth:window.innerHeight:u?c.offsetWidth:c.offsetHeight;r({scrollTop:Math.max(d,0),scrollHeight:f,viewportHeight:h}),null==a||a(u?ig("column-gap",getComputedStyle(n).columnGap,o):ig("row-gap",getComputedStyle(n).rowGap,o)),null!==s&&e(s)}),[e,t,o,a,i,r]);return rg(l,n,c)}function ig(e,t,n){return"normal"===t||(null==t?void 0:t.endsWith("px"))||n(`${e} was not resolved to pixel value correctly`,t,eg.WARN),"normal"===t?0:parseInt(null!=t?t:"0",10)}function sg(e,t){return Math.round(e.getBoundingClientRect()[t])}function ug(e,t){return Math.abs(e-t)<1.01}function cg(e,t,n,r=Dv,o,a){const i=s.default.useRef(null),u=s.default.useRef(null),l=s.default.useRef(null),d=s.default.useCallback((n=>{const r=n.target,o=r===window||r===document,i=a?o?window.pageXOffset||document.documentElement.scrollLeft:r.scrollLeft:o?window.pageYOffset||document.documentElement.scrollTop:r.scrollTop,s=a?o?document.documentElement.scrollWidth:r.scrollWidth:o?document.documentElement.scrollHeight:r.scrollHeight,d=a?o?window.innerWidth:r.offsetWidth:o?window.innerHeight:r.offsetHeight,f=()=>{e({scrollTop:Math.max(i,0),scrollHeight:s,viewportHeight:d})};n.suppressFlushSync?f():c.default.flushSync(f),null!==u.current&&(i===u.current||i<=0||i===s-d)&&(u.current=null,t(!0),l.current&&(clearTimeout(l.current),l.current=null))}),[e,t]);return s.default.useEffect((()=>{const e=o||i.current;return r(o||i.current),d({target:e,suppressFlushSync:!0}),e.addEventListener("scroll",d,{passive:!0}),()=>{r(null),e.removeEventListener("scroll",d)}}),[i,d,n,r,o]),{scrollerRef:i,scrollByCallback:function(e){a&&(e={left:e.top,behavior:e.behavior}),i.current.scrollBy(e)},scrollToCallback:function(n){const r=i.current;if(!r||(a?"offsetWidth"in r&&0===r.offsetWidth:"offsetHeight"in r&&0===r.offsetHeight))return;const o="smooth"===n.behavior;let s,c,d;r===window?(c=Math.max(sg(document.documentElement,a?"width":"height"),a?document.documentElement.scrollWidth:document.documentElement.scrollHeight),s=a?window.innerWidth:window.innerHeight,d=a?document.documentElement.scrollLeft:document.documentElement.scrollTop):(c=r[a?"scrollWidth":"scrollHeight"],s=sg(r,a?"width":"height"),d=r[a?"scrollLeft":"scrollTop"]);const f=c-s;if(n.top=Math.ceil(Math.max(Math.min(f,n.top),0)),ug(s,c)||n.top===d)return e({scrollTop:d,scrollHeight:c,viewportHeight:s}),void(o&&t(!0));o?(u.current=n.top,l.current&&clearTimeout(l.current),l.current=setTimeout((()=>{l.current=null,u.current=null,t(!0)}),1e3)):u.current=null,a&&(n={left:n.top,behavior:n.behavior}),r.scrollTo(n)}}}const lg=Gv((()=>{const e=Tv(),t=Tv(),n=kv(0),r=Tv(),o=kv(0),a=Tv(),i=Tv(),s=kv(0),u=kv(0),c=kv(0),l=kv(0),d=Tv(),f=Tv(),h=kv(!1),p=kv(!1),m=kv(!1);return Ov(Rv(e,jv((({scrollTop:e})=>e))),t),Ov(Rv(e,jv((({scrollHeight:e})=>e))),i),Ov(t,o),{scrollContainerState:e,scrollTop:t,viewportHeight:a,headerHeight:s,fixedHeaderHeight:u,fixedFooterHeight:c,footerHeight:l,scrollHeight:i,smoothScrollTargetReached:r,horizontalDirection:p,skipAnimationFrameInResizeObserver:m,scrollTo:d,scrollBy:f,statefulScrollTop:o,deviation:n,scrollingInProgress:h}}),[],{singleton:!0}),dg={lvl:0};function fg(e,t,n,r=dg,o=dg){return{k:e,v:t,lvl:n,l:r,r:o}}function hg(e){return e===dg}function pg(){return dg}function mg(e,t){if(hg(e))return dg;const{k:n,l:r,r:o}=e;if(t===n){if(hg(r))return o;if(hg(o))return r;{const[t,n]=wg(r);return _g(Dg(e,{k:t,v:n,l:Cg(r)}))}}return _g(Dg(e,t<n?{l:mg(r,t)}:{r:mg(o,t)}))}function vg(e,t){if(!hg(e))return t===e.k?e.v:t<e.k?vg(e.l,t):vg(e.r,t)}function gg(e,t,n="k"){if(hg(e))return[-1/0,void 0];if(Number(e[n])===t)return[e.k,e.v];if(Number(e[n])<t){const r=gg(e.r,t,n);return r[0]===-1/0?[e.k,e.v]:r}return gg(e.l,t,n)}function yg(e,t,n){return hg(e)?fg(t,n,1):t===e.k?Dg(e,{k:t,v:n}):t<e.k?xg(Dg(e,{l:yg(e.l,t,n)})):xg(Dg(e,{r:yg(e.r,t,n)}))}function bg(e,t,n){if(hg(e))return[];const{k:r,v:o,l:a,r:i}=e;let s=[];return r>t&&(s=s.concat(bg(a,t,n))),r>=t&&r<=n&&s.push({k:r,v:o}),r<=n&&(s=s.concat(bg(i,t,n))),s}function Eg(e){return hg(e)?[]:[...Eg(e.l),{k:e.k,v:e.v},...Eg(e.r)]}function wg(e){return hg(e.r)?[e.k,e.v]:wg(e.r)}function Cg(e){return hg(e.r)?e.l:_g(Dg(e,{r:Cg(e.r)}))}function Dg(e,t){return fg(void 0!==t.k?t.k:e.k,void 0!==t.v?t.v:e.v,void 0!==t.lvl?t.lvl:e.lvl,void 0!==t.l?t.l:e.l,void 0!==t.r?t.r:e.r)}function Ag(e){return hg(e)||e.lvl>e.r.lvl}function xg(e){return Sg(Tg(e))}function _g(e){const{l:t,r:n,lvl:r}=e;if(n.lvl>=r-1&&t.lvl>=r-1)return e;if(r>n.lvl+1){if(Ag(t))return Tg(Dg(e,{lvl:r-1}));if(hg(t)||hg(t.r))throw new Error("Unexpected empty nodes");return Dg(t.r,{l:Dg(t,{r:t.r.l}),r:Dg(e,{l:t.r.r,lvl:r-1}),lvl:r})}if(Ag(e))return Sg(Dg(e,{lvl:r-1}));if(hg(n)||hg(n.l))throw new Error("Unexpected empty nodes");{const t=n.l,o=Ag(t)?n.lvl-1:n.lvl;return Dg(t,{l:Dg(e,{r:t.l,lvl:r-1}),r:Sg(Dg(n,{l:t.r,lvl:o})),lvl:t.lvl+1})}}function Bg(e,t,n){if(hg(e))return[];return function(e){return Og(e,(({k:e,v:t})=>({index:e,value:t})))}(bg(e,gg(e,t)[0],n))}function Og(e,t){const n=e.length;if(0===n)return[];let{index:r,value:o}=t(e[0]);const a=[];for(let i=1;i<n;i++){const{index:n,value:s}=t(e[i]);a.push({start:r,end:n-1,value:o}),r=n,o=s}return a.push({start:r,end:1/0,value:o}),a}function Sg(e){const{r:t,lvl:n}=e;return hg(t)||hg(t.r)||t.lvl!==n||t.r.lvl!==n?e:Dg(t,{l:Dg(e,{r:t.l}),lvl:n+1})}function Tg(e){const{l:t}=e;return hg(t)||t.lvl!==e.lvl?e:Dg(t,{r:Dg(e,{l:t.r})})}function kg(e,t,n,r=0){let o=e.length-1;for(;r<=o;){const a=Math.floor((r+o)/2),i=n(e[a],t);if(0===i)return a;if(-1===i){if(o-r<2)return a-1;o=a-1}else{if(o===r)return a;r=a+1}}throw new Error(`Failed binary finding record in array - ${e.join(",")}, searched for ${t}`)}function Ig(e,t,n){return e[kg(e,t,n)]}const Fg=Gv((()=>({recalcInProgress:kv(!1)})),[],{singleton:!0});function Rg(e){const{size:t,startIndex:n,endIndex:r}=e;return e=>e.start===n&&(e.end===r||e.end===1/0)&&e.value===t}function Ng(e,t){let n=0,r=0;for(;n<e;)n+=t[r+1]-t[r]-1,r++;return r-(n===e?0:1)}function Pg({index:e},t){return t===e?0:t<e?-1:1}function Mg({offset:e},t){return t===e?0:t<e?-1:1}function jg(e){return{index:e.index,value:e}}function Lg(e,t,n,r=0){return r>0&&(t=Math.max(t,Ig(e,r,Pg).offset)),Og(function(e,t,n,r){const o=kg(e,t,r),a=kg(e,n,r,o);return e.slice(o,a+1)}(e,t,n,Mg),jg)}function zg(e,t,n,r){let o=e,a=0,i=0,s=0,u=0;if(0!==t){u=kg(o,t-1,Pg);s=o[u].offset;const e=gg(n,t-1);a=e[0],i=e[1],o.length&&o[u].size===gg(n,t)[1]&&(u-=1),o=o.slice(0,u+1)}else o=[];for(const{start:e,value:u}of Bg(n,t,1/0)){const t=e-a,n=t*i+s+t*r;o.push({offset:n,size:u,index:e}),a=e,s=n,i=u}return{offsetTree:o,lastIndex:a,lastOffset:s,lastSize:i}}function Hg(e,[t,n,r,o]){t.length>0&&r("received item sizes",t,eg.DEBUG);const a=e.sizeTree;let i=a,s=0;if(n.length>0&&hg(a)&&2===t.length){const e=t[0].size,r=t[1].size;i=n.reduce(((t,n)=>yg(yg(t,n,e),n+1,r)),i)}else[i,s]=function(e,t){let n=hg(e)?0:1/0;for(const r of t){const{size:t,startIndex:o,endIndex:a}=r;if(n=Math.min(n,o),hg(e)){e=yg(e,0,t);continue}const i=Bg(e,o-1,a+1);if(i.some(Rg(r)))continue;let s=!1,u=!1;for(const{start:n,end:r,value:o}of i)s?(a>=n||t===o)&&(e=mg(e,n)):(u=o!==t,s=!0),r>a&&a>=n&&o!==t&&(e=yg(e,a+1,o));u&&(e=yg(e,o,t))}return[e,n]}(i,t);if(i===a)return e;const{offsetTree:u,lastIndex:c,lastSize:l,lastOffset:d}=zg(e.offsetTree,s,i,o);return{sizeTree:i,offsetTree:u,lastIndex:c,lastOffset:d,lastSize:l,groupOffsetTree:n.reduce(((e,t)=>yg(e,t,Ug(t,u,o))),pg()),groupIndices:n}}function Ug(e,t,n){if(0===t.length)return 0;const{offset:r,index:o,size:a}=Ig(t,e,Pg),i=e-o,s=a*i+(i-1)*n+r;return s>0?s+n:s}function Wg(e,t,n){if(function(e){return void 0!==e.groupIndex}(e))return t.groupIndices[e.groupIndex]+1;{let r=$g("LAST"===e.index?n:e.index,t);return r=Math.max(0,r,Math.min(n,r)),r}}function $g(e,t){if(!Vg(t))return e;let n=0;for(;t.groupIndices[n]<=e+n;)n++;return e+n}function Vg(e){return!hg(e.groupOffsetTree)}const Kg={offsetHeight:"height",offsetWidth:"width"},qg=Gv((([{log:e},{recalcInProgress:t}])=>{const n=Tv(),r=Tv(),o=Fv(r,0),a=Tv(),i=Tv(),s=kv(0),u=kv([]),c=kv(void 0),l=kv(void 0),d=kv(((e,t)=>sg(e,Kg[t]))),f=kv(void 0),h=kv(0),p={offsetTree:[],sizeTree:pg(),groupOffsetTree:pg(),lastIndex:0,lastOffset:0,lastSize:0,groupIndices:[]},m=Fv(Rv(n,$v(u,e,h),zv(Hg,p),Pv()),p),v=Fv(Rv(u,Pv(),zv(((e,t)=>({prev:e.current,current:t})),{prev:[],current:[]}),jv((({prev:e})=>e))),[]);Ov(Rv(u,Mv((e=>e.length>0)),$v(m,h),jv((([e,t,n])=>{const r=e.reduce(((e,r,o)=>yg(e,r,Ug(r,t.offsetTree,n)||o)),pg());return{...t,groupIndices:e,groupOffsetTree:r}}))),m),Ov(Rv(r,$v(m),Mv((([e,{lastIndex:t}])=>e<t)),jv((([e,{lastIndex:t,lastSize:n}])=>[{startIndex:e,endIndex:t,size:n}]))),n),Ov(c,l);const g=Fv(Rv(c,jv((e=>void 0===e))),!0);Ov(Rv(l,Mv((e=>void 0!==e&&hg(Bv(m).sizeTree))),jv((e=>[{startIndex:0,endIndex:0,size:e}]))),n);const y=Iv(Rv(n,$v(m),zv((({sizes:e},[t,n])=>({changed:n!==e,sizes:n})),{changed:!1,sizes:p}),jv((e=>e.changed))));Av(Rv(s,zv(((e,t)=>({diff:e.prev-t,prev:t})),{diff:0,prev:0}),jv((e=>e.diff))),(e=>{const{groupIndices:n}=Bv(m);if(e>0)xv(t,!0),xv(a,e+Ng(e,n));else if(e<0){const t=Bv(v);t.length>0&&(e-=Ng(-e,t)),xv(i,e)}})),Av(Rv(s,$v(e)),(([e,t])=>{e<0&&t("`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value",{firstItemIndex:s},eg.ERROR)}));const b=Iv(a);Ov(Rv(a,$v(m),jv((([e,t])=>{const n=t.groupIndices.length>0,r=[],o=t.lastSize;if(n){const n=vg(t.sizeTree,0);let a=0,i=0;for(;a<e;){const e=t.groupIndices[i],s=t.groupIndices.length===i+1?1/0:t.groupIndices[i+1]-e-1;r.push({startIndex:e,endIndex:e,size:n}),r.push({startIndex:e+1,endIndex:e+1+s-1,size:o}),i++,a+=s+1}const s=Eg(t.sizeTree);return a!==e&&s.shift(),s.reduce(((t,{k:n,v:r})=>{let o=t.ranges;return 0!==t.prevSize&&(o=[...t.ranges,{startIndex:t.prevIndex,endIndex:n+e-1,size:t.prevSize}]),{ranges:o,prevIndex:n+e,prevSize:r}}),{ranges:r,prevIndex:e,prevSize:0}).ranges}return Eg(t.sizeTree).reduce(((t,{k:n,v:r})=>({ranges:[...t.ranges,{startIndex:t.prevIndex,endIndex:n+e-1,size:t.prevSize}],prevIndex:n+e,prevSize:r})),{ranges:[],prevIndex:0,prevSize:o}).ranges}))),n);const E=Iv(Rv(i,$v(m,h),jv((([e,{offsetTree:t},n])=>Ug(-e,t,n)))));return Ov(Rv(i,$v(m,h),jv((([e,t,n])=>{if(t.groupIndices.length>0){if(hg(t.sizeTree))return t;let r=pg();const o=Bv(v);let a=0,i=0,s=0;for(;a<-e;){s=o[i];const e=o[i+1]-s-1;i++,a+=e+1}r=Eg(t.sizeTree).reduce(((t,{k:n,v:r})=>yg(t,Math.max(0,n+e),r)),r);if(a!==-e){r=yg(r,0,vg(t.sizeTree,s));r=yg(r,1,gg(t.sizeTree,1-e)[1])}return{...t,sizeTree:r,...zg(t.offsetTree,0,r,n)}}{const r=Eg(t.sizeTree).reduce(((t,{k:n,v:r})=>yg(t,Math.max(0,n+e),r)),pg());return{...t,sizeTree:r,...zg(t.offsetTree,0,r,n)}}}))),m),{data:f,totalCount:r,sizeRanges:n,groupIndices:u,defaultItemSize:l,fixedItemSize:c,unshiftWith:a,shiftWith:i,shiftWithOffset:E,beforeUnshiftWith:b,firstItemIndex:s,gap:h,sizes:m,listRefresh:y,statefulTotalCount:o,trackItemSizes:g,itemSize:d}}),bv(ng,Fg),{singleton:!0}),Gg="undefined"!=typeof document&&"scrollBehavior"in document.documentElement.style;function Xg(e){const t="number"==typeof e?{index:e}:e;return t.align||(t.align="start"),t.behavior&&Gg||(t.behavior="auto"),t.offset||(t.offset=0),t}const Zg=Gv((([{sizes:e,totalCount:t,listRefresh:n,gap:r},{scrollingInProgress:o,viewportHeight:a,scrollTo:i,smoothScrollTargetReached:s,headerHeight:u,footerHeight:c,fixedHeaderHeight:l,fixedFooterHeight:d},{log:f}])=>{const h=Tv(),p=Tv(),m=kv(0);let v=null,g=null,y=null;function b(){v&&(v(),v=null),y&&(y(),y=null),g&&(clearTimeout(g),g=null),xv(o,!1)}return Ov(Rv(h,$v(e,a,t,m,u,c,f),$v(r,l,d),jv((([[e,t,r,a,i,u,c,l],d,f,m])=>{const E=Xg(e),{align:w,behavior:C,offset:D}=E,A=a-1,x=Wg(E,t,A);let _=Ug(x,t.offsetTree,d)+u;"end"===w?(_+=f+gg(t.sizeTree,x)[1]-r+m,x===A&&(_+=c)):"center"===w?_+=(f+gg(t.sizeTree,x)[1]-r+m)/2:_-=i,D&&(_+=D);const B=t=>{b(),t?(l("retrying to scroll to",{location:e},eg.DEBUG),xv(h,e)):(xv(p,!0),l("list did not change, scroll successful",{},eg.DEBUG))};if(b(),"smooth"===C){let e=!1;y=Av(n,(t=>{e=e||t})),v=Sv(s,(()=>{B(e)}))}else v=Sv(Rv(n,(O=150,e=>{const t=setTimeout((()=>{e(!1)}),O);return n=>{n&&(e(!0),clearTimeout(t))}})),B);var O;return g=setTimeout((()=>{b()}),1200),xv(o,!0),l("scrolling from index to",{index:x,top:_,behavior:C},eg.DEBUG),{top:_,behavior:C}}))),i),{scrollToIndex:h,scrollTargetReached:p,topListHeight:m}}),bv(qg,lg,ng),{singleton:!0});const Yg="up",Jg="down",Qg={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},ey=Gv((([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:r,footerHeight:o,scrollBy:a}])=>{const i=kv(!1),s=kv(!0),u=Tv(),c=Tv(),l=kv(4),d=kv(0),f=Fv(Rv(Vv(Rv(Kv(t),Hv(1),Lv(!0)),Rv(Kv(t),Hv(1),Lv(!1),Wv(100))),Pv()),!1),h=Fv(Rv(Vv(Rv(a,Lv(!0)),Rv(a,Lv(!1),Wv(200))),Pv()),!1);Ov(Rv(qv(Kv(t),Kv(d)),jv((([e,t])=>e<=t)),Pv()),s),Ov(Rv(s,Uv(50)),c);const p=Iv(Rv(qv(e,Kv(n),Kv(r),Kv(o),Kv(l)),zv(((e,[{scrollTop:t,scrollHeight:n},r,o,a,i])=>{const s={viewportHeight:r,scrollTop:t,scrollHeight:n};if(t+r-n>-i){let n,r;return t>e.state.scrollTop?(n="SCROLLED_DOWN",r=e.state.scrollTop-t):(n="SIZE_DECREASED",r=e.state.scrollTop-t||e.scrollTopDelta),{atBottom:!0,state:s,atBottomBecause:n,scrollTopDelta:r}}let u;return u=s.scrollHeight>e.state.scrollHeight?"SIZE_INCREASED":r<e.state.viewportHeight?"VIEWPORT_HEIGHT_DECREASING":t<e.state.scrollTop?"SCROLLING_UPWARDS":"NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:u,state:s}}),Qg),Pv(((e,t)=>e&&e.atBottom===t.atBottom)))),m=Fv(Rv(e,zv(((e,{scrollTop:t,scrollHeight:n,viewportHeight:r})=>{if(ug(e.scrollHeight,n))return{scrollTop:t,scrollHeight:n,jump:0,changed:!1};{const o=n-(t+r)<1;return e.scrollTop!==t&&o?{scrollHeight:n,scrollTop:t,jump:e.scrollTop-t,changed:!0}:{scrollHeight:n,scrollTop:t,jump:0,changed:!0}}}),{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),Mv((e=>e.changed)),jv((e=>e.jump))),0);Ov(Rv(p,jv((e=>e.atBottom))),i),Ov(Rv(i,Uv(50)),u);const v=kv(Jg);Ov(Rv(e,jv((({scrollTop:e})=>e)),Pv(),zv(((e,t)=>Bv(h)?{direction:e.direction,prevScrollTop:t}:{direction:t<e.prevScrollTop?Yg:Jg,prevScrollTop:t}),{direction:Jg,prevScrollTop:0}),jv((e=>e.direction))),v),Ov(Rv(e,Uv(50),Lv("none")),v);const g=kv(0);return Ov(Rv(f,Mv((e=>!e)),Lv(0)),g),Ov(Rv(t,Uv(100),$v(f),Mv((([e,t])=>!!t)),zv((([e,t],[n])=>[t,n]),[0,0]),jv((([e,t])=>t-e))),g),{isScrolling:f,isAtTop:s,isAtBottom:i,atBottomState:p,atTopStateChange:c,atBottomStateChange:u,scrollDirection:v,atBottomThreshold:l,atTopThreshold:d,scrollVelocity:g,lastJumpDueToItemResize:m}}),bv(lg)),ty=Gv((([{log:e}])=>{const t=kv(!1),n=Iv(Rv(t,Mv((e=>e)),Pv()));return Av(t,(t=>{t&&Bv(e)("props updated",{},eg.DEBUG)})),{propsReady:t,didMount:n}}),bv(ng),{singleton:!0});function ny(e,t){0==e?t():requestAnimationFrame((()=>ny(e-1,t)))}function ry(e,t){const n=t-1;return"number"==typeof e?e:"LAST"===e.index?n:e.index}const oy=Gv((([{sizes:e,listRefresh:t,defaultItemSize:n},{scrollTop:r},{scrollToIndex:o,scrollTargetReached:a},{didMount:i}])=>{const s=kv(!0),u=kv(0),c=kv(!0);return Ov(Rv(i,$v(u),Mv((([e,t])=>!!t)),Lv(!1)),s),Ov(Rv(i,$v(u),Mv((([e,t])=>!!t)),Lv(!1)),c),Av(Rv(qv(t,i),$v(s,e,n,c),Mv((([[,e],t,{sizeTree:n},r,o])=>e&&(!hg(n)||Cv(r))&&!t&&!o)),$v(u)),(([,e])=>{Sv(a,(()=>{xv(c,!0)})),ny(4,(()=>{Sv(r,(()=>{xv(s,!0)})),xv(o,e)}))})),{scrolledToInitialItem:s,initialTopMostItemIndex:u,initialItemFinalLocationReached:c}}),bv(qg,lg,Zg,ty),{singleton:!0});function ay(e){return!!e&&("smooth"===e?"smooth":"auto")}const iy=Gv((([{totalCount:e,listRefresh:t},{isAtBottom:n,atBottomState:r},{scrollToIndex:o},{scrolledToInitialItem:a},{propsReady:i,didMount:s},{log:u},{scrollingInProgress:c}])=>{const l=kv(!1),d=Tv();let f=null;function h(e){xv(o,{index:"LAST",align:"end",behavior:e})}function p(e){const t=Sv(r,(t=>{!e||t.atBottom||"SIZE_INCREASED"!==t.notAtBottomBecause||f||(Bv(u)("scrolling to bottom due to increased size",{},eg.DEBUG),h("auto"))}));setTimeout(t,100)}return Av(Rv(qv(Rv(Kv(e),Hv(1)),s),$v(Kv(l),n,a,c),jv((([[e,t],n,r,o,a])=>{let i=t&&o,s="auto";return i&&(s=((e,t)=>"function"==typeof e?ay(e(t)):t&&ay(e))(n,r||a),i=i&&!!s),{totalCount:e,shouldFollow:i,followOutputBehavior:s}})),Mv((({shouldFollow:e})=>e))),(({totalCount:e,followOutputBehavior:n})=>{f&&(f(),f=null),f=Sv(t,(()=>{Bv(u)("following output to ",{totalCount:e},eg.DEBUG),h(n),f=null}))})),Av(Rv(qv(Kv(l),e,i),Mv((([e,,t])=>e&&t)),zv((({value:e},[,t])=>({refreshed:e===t,value:t})),{refreshed:!1,value:0}),Mv((({refreshed:e})=>e)),$v(l,e)),(([,e])=>{Bv(a)&&p(!1!==e)})),Av(d,(()=>{p(!1!==Bv(l))})),Av(qv(Kv(l),r),(([e,t])=>{e&&!t.atBottom&&"VIEWPORT_HEIGHT_DECREASING"===t.notAtBottomBecause&&h("auto")})),{followOutput:l,autoscrollToBottom:d}}),bv(qg,ey,Zg,oy,ty,ng,lg));function sy(e){return e.reduce(((e,t)=>(e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e)),{totalCount:0,groupIndices:[]})}const uy=Gv((([{totalCount:e,groupIndices:t,sizes:n},{scrollTop:r,headerHeight:o}])=>{const a=Tv(),i=Tv(),s=Iv(Rv(a,jv(sy)));return Ov(Rv(s,jv((e=>e.totalCount))),e),Ov(Rv(s,jv((e=>e.groupIndices))),t),Ov(Rv(qv(r,n,o),Mv((([e,t])=>Vg(t))),jv((([e,t,n])=>gg(t.groupOffsetTree,Math.max(e-n,0),"v")[0])),Pv(),jv((e=>[e]))),i),{groupCounts:a,topItemsIndexes:i}}),bv(qg,lg));function cy(e,t){return!(!e||e[0]!==t[0]||e[1]!==t[1])}function ly(e,t){return!(!e||e.startIndex!==t.startIndex||e.endIndex!==t.endIndex)}const dy="top",fy="bottom",hy="none";function py(e,t,n){return"number"==typeof e?n===Yg&&t===dy||n===Jg&&t===fy?e:0:n===Yg?t===dy?e.main:e.reverse:t===fy?e.main:e.reverse}function my(e,t){return"number"==typeof e?e:e[t]||0}const vy=Gv((([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:r,fixedHeaderHeight:o}])=>{const a=Tv(),i=kv(0),s=kv(0),u=kv(0),c=Fv(Rv(qv(Kv(e),Kv(t),Kv(r),Kv(a,cy),Kv(u),Kv(i),Kv(o),Kv(n),Kv(s)),jv((([e,t,n,[r,o],a,i,s,u,c])=>{const l=e-u,d=i+s,f=Math.max(n-l,0);let h=hy;const p=my(c,dy),m=my(c,fy);return r-=u,o+=n+s,(r+=n+s)>e+d-p&&(h=Yg),(o-=u)<e-f+t+m&&(h=Jg),h!==hy?[Math.max(l-n-py(a,dy,h)-p,0),l-f-s+t+py(a,fy,h)+m]:null})),Mv((e=>null!=e)),Pv(cy)),[0,0]);return{listBoundary:a,overscan:u,topListHeight:i,increaseViewportBy:s,visibleRange:c}}),bv(lg),{singleton:!0});const gy={items:[],topItems:[],offsetTop:0,offsetBottom:0,top:0,bottom:0,topListHeight:0,totalCount:0,firstItemIndex:0};function yy(e,t,n){if(0===e.length)return[];if(!Vg(t))return e.map((e=>({...e,index:e.index+n,originalIndex:e.index})));const r=e[0].index,o=e[e.length-1].index,a=[],i=Bg(t.groupOffsetTree,r,o);let s,u=0;for(const r of e){let e;(!s||s.end<r.index)&&(s=i.shift(),u=t.groupIndices.indexOf(s.start)),e=r.index===s.start?{type:"group",index:u}:{index:r.index-(u+1)+n,groupIndex:u},a.push({...e,size:r.size,offset:r.offset,originalIndex:r.index,data:r.data})}return a}function by(e,t,n,r,o,a){const{lastSize:i,lastOffset:s,lastIndex:u}=o;let c=0,l=0;if(e.length>0){c=e[0].offset;const t=e[e.length-1];l=t.offset+t.size}const d=n-u,f=c,h=s+d*i+(d-1)*r-l;return{items:yy(e,o,a),topItems:yy(t,o,a),topListHeight:t.reduce(((e,t)=>t.size+e),0),offsetTop:c,offsetBottom:h,top:f,bottom:l,totalCount:n,firstItemIndex:a}}function Ey(e,t,n,r,o,a){let i=0;if(n.groupIndices.length>0)for(const t of n.groupIndices){if(t-i>=e)break;i++}const s=e+i,u=ry(t,s),c=Array.from({length:s}).map(((e,t)=>({index:t+u,size:0,offset:0,data:a[t+u]})));return by(c,[],s,o,n,r)}const wy=Gv((([{sizes:e,totalCount:t,data:n,firstItemIndex:r,gap:o},a,{visibleRange:i,listBoundary:s,topListHeight:u},{scrolledToInitialItem:c,initialTopMostItemIndex:l},{topListHeight:d},f,{didMount:h},{recalcInProgress:p}])=>{const m=kv([]),v=kv(0),g=Tv();Ov(a.topItemsIndexes,m);const y=Fv(Rv(qv(h,p,Kv(i,cy),Kv(t),Kv(e),Kv(l),c,Kv(m),Kv(r),Kv(o),n),Mv((([e,t,,n,,,,,,,r])=>{const o=r&&r.length!==n;return e&&!t&&!o})),jv((([,,[e,t],n,r,o,a,i,s,u,c])=>{const l=r,{sizeTree:d,offsetTree:f}=l,h=Bv(v);if(0===n)return{...gy,totalCount:n};if(0===e&&0===t)return 0===h?{...gy,totalCount:n}:Ey(h,o,r,s,u,c||[]);if(hg(d)){if(h>0)return null;const e=by(function(e,t,n){if(Vg(t)){const r=$g(e,t);return[{index:gg(t.groupOffsetTree,r)[0],size:0,offset:0},{index:r,size:0,offset:0,data:n&&n[0]}]}return[{index:e,size:0,offset:0,data:n&&n[0]}]}(ry(o,n),l,c),[],n,u,l,s);return e}const p=[];if(i.length>0){const e=i[0],t=i[i.length-1];let n=0;for(const r of Bg(d,e,t)){const o=r.value,a=Math.max(r.start,e),i=Math.min(r.end,t);for(let e=a;e<=i;e++)p.push({index:e,size:o,offset:n,data:c&&c[e]}),n+=o}}if(!a)return by([],p,n,u,l,s);const m=i.length>0?i[i.length-1]+1:0,g=Lg(f,e,t,m);if(0===g.length)return null;const y=n-1,b=yv([],(n=>{for(const r of g){const o=r.value;let a=o.offset,i=r.start;const s=o.size;if(o.offset<e){i+=Math.floor((e-o.offset+u)/(s+u));const t=i-r.start;a+=t*s+t*u}i<m&&(a+=(m-i)*s,i=m);const l=Math.min(r.end,y);for(let e=i;e<=l&&!(a>=t);e++)n.push({index:e,size:s,offset:a,data:c&&c[e]}),a+=s+u}}));return by(b,p,n,u,l,s)})),Mv((e=>null!==e)),Pv()),gy);Ov(Rv(n,Mv(Cv),jv((e=>null==e?void 0:e.length))),t),Ov(Rv(y,jv((e=>e.topListHeight))),d),Ov(d,u),Ov(Rv(y,jv((e=>[e.top,e.bottom]))),s),Ov(Rv(y,jv((e=>e.items))),g);const b=Iv(Rv(y,Mv((({items:e})=>e.length>0)),$v(t,n),Mv((([{items:e},t])=>e[e.length-1].originalIndex===t-1)),jv((([,e,t])=>[e-1,t])),Pv(cy),jv((([e])=>e))));return{listState:y,topItemsIndexes:m,endReached:b,startReached:Iv(Rv(y,Uv(200),Mv((({items:e,topItems:t})=>e.length>0&&e[0].originalIndex===t.length)),jv((({items:e})=>e[0].index)),Pv())),rangeChanged:Iv(Rv(y,Mv((({items:e})=>e.length>0)),jv((({items:e})=>{let t=0,n=e.length-1;for(;"group"===e[t].type&&t<n;)t++;for(;"group"===e[n].type&&n>t;)n--;return{startIndex:e[t].index,endIndex:e[n].index}})),Pv(ly))),itemsRendered:g,initialItemCount:v,...f}}),bv(qg,uy,vy,oy,Zg,ey,ty,Fg),{singleton:!0}),Cy=Gv((([{sizes:e,firstItemIndex:t,data:n,gap:r},{initialTopMostItemIndex:o},{initialItemCount:a,listState:i},{didMount:s}])=>(Ov(Rv(s,$v(a),Mv((([,e])=>0!==e)),$v(o,e,t,r,n),jv((([[,e],t,n,r,o,a=[]])=>Ey(e,t,n,r,o,a)))),i),{})),bv(qg,oy,wy,ty),{singleton:!0}),Dy=Gv((([{scrollVelocity:e}])=>{const t=kv(!1),n=Tv(),r=kv(!1);return Ov(Rv(e,$v(r,t,n),Mv((([e,t])=>!!t)),jv((([e,t,n,r])=>{const{exit:o,enter:a}=t;if(n){if(o(e,r))return!1}else if(a(e,r))return!0;return n})),Pv()),t),Av(Rv(qv(t,e,n),$v(r)),(([[e,t,n],r])=>e&&r&&r.change&&r.change(t,n))),{isSeeking:t,scrollSeekConfiguration:r,scrollVelocity:e,scrollSeekRangeChanged:n}}),bv(ey),{singleton:!0}),Ay=Gv((([{topItemsIndexes:e}])=>{const t=kv(0);return Ov(Rv(t,Mv((e=>e>=0)),jv((e=>Array.from({length:e}).map(((e,t)=>t))))),e),{topItemCount:t}}),bv(wy)),xy=Gv((([{footerHeight:e,headerHeight:t,fixedHeaderHeight:n,fixedFooterHeight:r},{listState:o}])=>{const a=Tv(),i=Fv(Rv(qv(e,r,t,n,o),jv((([e,t,n,r,o])=>e+t+n+r+o.offsetBottom+o.bottom))),0);return Ov(Kv(i),a),{totalListHeight:i,totalListHeightChanged:a}}),bv(lg,wy),{singleton:!0});function _y(e){let t,n=!1;return()=>(n||(n=!0,t=e()),t)}const By=_y((()=>/iP(ad|od|hone)/i.test(navigator.userAgent)&&/WebKit/i.test(navigator.userAgent))),Oy=Gv((([{scrollBy:e,scrollTop:t,deviation:n,scrollingInProgress:r},{isScrolling:o,isAtBottom:a,scrollDirection:i,lastJumpDueToItemResize:s},{listState:u},{beforeUnshiftWith:c,shiftWithOffset:l,sizes:d,gap:f},{log:h},{recalcInProgress:p}])=>{const m=Iv(Rv(u,$v(s),zv((([,e,t,n],[{items:r,totalCount:o,bottom:a,offsetBottom:i},s])=>{const u=a+i;let c=0;if(t===o&&e.length>0&&r.length>0){0===r[0].originalIndex&&0===e[0].originalIndex||(c=u-n,0!==c&&(c+=s))}return[c,r,o,u]}),[0,[],0,0]),Mv((([e])=>0!==e)),$v(t,i,r,a,h,p),Mv((([,e,t,n,,,r])=>!r&&!n&&0!==e&&t===Yg)),jv((([[e],,,,,t])=>(t("Upward scrolling compensation",{amount:e},eg.DEBUG),e)))));function v(t){t>0?(xv(e,{top:-t,behavior:"auto"}),xv(n,0)):(xv(n,0),xv(e,{top:-t,behavior:"auto"}))}return Av(Rv(m,$v(n,o)),(([e,t,r])=>{r&&By()?xv(n,t-e):v(-e)})),Av(Rv(qv(Fv(o,!1),n,p),Mv((([e,t,n])=>!e&&!n&&0!==t)),jv((([e,t])=>t)),Uv(1)),v),Ov(Rv(l,jv((e=>({top:-e})))),e),Av(Rv(c,$v(d,f),jv((([e,{lastSize:t,groupIndices:n,sizeTree:r},o])=>{function a(e){return e*(t+o)}if(0===n.length)return a(e);{let t=0;const o=vg(r,0);let i=0,s=0;for(;i<e;){i++,t+=o;let r=n.length===s+1?1/0:n[s+1]-n[s]-1;i+r>e&&(t-=o,r=e-i+1),i+=r,t+=a(r),s++}return t}}))),(t=>{xv(n,t),requestAnimationFrame((()=>{xv(e,{top:t}),requestAnimationFrame((()=>{xv(n,0),xv(p,!1)}))}))})),{deviation:n}}),bv(lg,ey,wy,qg,ng,Fg)),Sy=Gv((([{didMount:e},{scrollTo:t},{listState:n}])=>{const r=kv(0);return Av(Rv(e,$v(r),Mv((([,e])=>0!==e)),jv((([,e])=>({top:e})))),(e=>{Sv(Rv(n,Hv(1),Mv((e=>e.items.length>1))),(()=>{requestAnimationFrame((()=>{xv(t,e)}))}))})),{initialScrollTop:r}}),bv(ty,lg,wy),{singleton:!0}),Ty=Gv((([{viewportHeight:e},{totalListHeight:t}])=>{const n=kv(!1);return{alignToBottom:n,paddingTopAddition:Fv(Rv(qv(n,e,t),Mv((([e])=>e)),jv((([,e,t])=>Math.max(0,e-t))),Uv(0),Pv()),0)}}),bv(lg,xy),{singleton:!0}),ky=Gv((([{scrollTo:e,scrollContainerState:t}])=>{const n=Tv(),r=Tv(),o=Tv(),a=kv(!1),i=kv(void 0);return Ov(Rv(qv(n,r),jv((([{viewportHeight:e,scrollTop:t,scrollHeight:n},{offsetTop:r}])=>({scrollTop:Math.max(0,t-r),scrollHeight:n,viewportHeight:e})))),t),Ov(Rv(e,$v(r),jv((([e,{offsetTop:t}])=>({...e,top:e.top+t})))),o),{useWindowScroll:a,customScrollParent:i,windowScrollContainerState:n,windowViewportRect:r,windowScrollTo:o}}),bv(lg)),Iy=({itemTop:e,itemBottom:t,viewportTop:n,viewportBottom:r,locationParams:{behavior:o,align:a,...i}})=>e<n?{...i,behavior:o,align:null!=a?a:"start"}:t>r?{...i,behavior:o,align:null!=a?a:"end"}:null,Fy=Gv((([{sizes:e,totalCount:t,gap:n},{scrollTop:r,viewportHeight:o,headerHeight:a,fixedHeaderHeight:i,fixedFooterHeight:s,scrollingInProgress:u},{scrollToIndex:c}])=>{const l=Tv();return Ov(Rv(l,$v(e,o,t,a,i,s,r),$v(n),jv((([[e,t,n,r,o,a,i,s],c])=>{const{done:l,behavior:d,align:f,calculateViewLocation:h=Iy,...p}=e,m=Wg(e,t,r-1),v=Ug(m,t.offsetTree,c)+o+a,g=h({itemTop:v,itemBottom:v+gg(t.sizeTree,m)[1],viewportTop:s+a,viewportBottom:s+n-i,locationParams:{behavior:d,align:f,...p}});return g?l&&Sv(Rv(u,Mv((e=>!1===e)),Hv(Bv(u)?1:2)),l):l&&l(),g})),Mv((e=>null!==e))),c),{scrollIntoView:l}}),bv(qg,lg,Zg,wy,ng),{singleton:!0}),Ry=Gv((([{sizes:e,sizeRanges:t},{scrollTop:n,headerHeight:r},{initialTopMostItemIndex:o},{didMount:a},{useWindowScroll:i,windowScrollContainerState:s,windowViewportRect:u}])=>{const c=Tv(),l=kv(void 0),d=kv(null),f=kv(null);return Ov(s,d),Ov(u,f),Av(Rv(c,$v(e,n,i,d,f,r)),(([e,t,n,r,o,a,i])=>{const s=Eg(t.sizeTree).map((({k:e,v:t},n,r)=>{const o=r[n+1];return{startIndex:e,endIndex:o?o.k-1:1/0,size:t}}));r&&null!==o&&null!==a&&(n=o.scrollTop-a.offsetTop),e({ranges:s,scrollTop:n-=i})})),Ov(Rv(l,Mv(Cv),jv(Ny)),o),Ov(Rv(a,$v(l),Mv((([,e])=>void 0!==e)),Pv(),jv((([,e])=>e.ranges))),t),{getState:c,restoreStateFrom:l}}),bv(qg,lg,oy,ty,ky));function Ny(e){return{offset:e.scrollTop,index:0,align:"start"}}const Py=Gv((([e,t,n,r,o,a,i,s,u,c])=>({...e,...t,...n,...r,...o,...a,...i,...s,...u,...c})),bv(vy,Cy,ty,Dy,xy,Sy,Ty,ky,Fy,ng)),My=Gv((([{totalCount:e,sizeRanges:t,fixedItemSize:n,defaultItemSize:r,trackItemSizes:o,itemSize:a,data:i,firstItemIndex:s,groupIndices:u,statefulTotalCount:c,gap:l,sizes:d},{initialTopMostItemIndex:f,scrolledToInitialItem:h,initialItemFinalLocationReached:p},m,v,g,{listState:y,topItemsIndexes:b,...E},{scrollToIndex:w},C,{topItemCount:D},{groupCounts:A},x])=>(Ov(E.rangeChanged,x.scrollSeekRangeChanged),Ov(Rv(x.windowViewportRect,jv((e=>e.visibleHeight))),m.viewportHeight),{totalCount:e,data:i,firstItemIndex:s,sizeRanges:t,initialTopMostItemIndex:f,scrolledToInitialItem:h,initialItemFinalLocationReached:p,topItemsIndexes:b,topItemCount:D,groupCounts:A,fixedItemHeight:n,defaultItemHeight:r,gap:l,...g,statefulTotalCount:c,listState:y,scrollToIndex:w,trackItemSizes:o,itemSize:a,groupIndices:u,...E,...x,...m,sizes:d,...v})),bv(qg,oy,lg,Ry,iy,wy,Zg,Oy,Ay,uy,Py)),jy="-webkit-sticky",Ly="sticky",zy=_y((()=>{if("undefined"==typeof document)return Ly;const e=document.createElement("div");return e.style.position=jy,e.style.position===jy?jy:Ly}));function Hy(e,t,n){const r=s.default.useRef(null),o=s.default.useCallback((n=>{if(null===n||!n.offsetParent)return;const o=n.getBoundingClientRect(),a=o.width;let i,s;if(t){const e=t.getBoundingClientRect(),n=o.top-e.top;i=e.height-Math.max(0,n),s=n+t.scrollTop}else i=window.innerHeight-Math.max(0,o.top),s=o.top+window.pageYOffset;r.current={offsetTop:s,visibleHeight:i,visibleWidth:a},e(r.current)}),[e,t]),{callbackRef:a,ref:i}=rg(o,!0,n),u=s.default.useCallback((()=>{o(i.current)}),[o,i]);return s.default.useEffect((()=>{if(t){t.addEventListener("scroll",u);const e=new ResizeObserver((()=>{requestAnimationFrame(u)}));return e.observe(t),()=>{t.removeEventListener("scroll",u),e.unobserve(t)}}return window.addEventListener("scroll",u),window.addEventListener("resize",u),()=>{window.removeEventListener("scroll",u),window.removeEventListener("resize",u)}}),[u,t]),a}const Uy=s.default.createContext(void 0),Wy=s.default.createContext(void 0);function $y(e){return e}const Vy=Gv((()=>{const e=kv((e=>`Item ${e}`)),t=kv(null),n=kv((e=>`Group ${e}`)),r=kv({}),o=kv($y),a=kv("div"),i=kv(Dv),s=(e,t=null)=>Fv(Rv(r,jv((t=>t[e])),Pv()),t);return{context:t,itemContent:e,groupContent:n,components:r,computeItemKey:o,HeaderFooterTag:a,scrollerRef:i,FooterComponent:s("Footer"),HeaderComponent:s("Header"),TopItemListComponent:s("TopItemList"),ListComponent:s("List","div"),ItemComponent:s("Item","div"),GroupComponent:s("Group","div"),ScrollerComponent:s("Scroller","div"),EmptyPlaceholder:s("EmptyPlaceholder"),ScrollSeekPlaceholder:s("ScrollSeekPlaceholder")}})),Ky=Gv((([e,t])=>({...e,...t})),bv(My,Vy)),qy=({height:e})=>Vr.exports.jsx("div",{style:{height:e}}),Gy={position:zy(),zIndex:1,overflowAnchor:"none"},Xy={overflowAnchor:"none"},Zy={...Xy,display:"inline-block",height:"100%"},Yy=s.default.memo((function({showTopList:e=!1}){const n=pb("listState"),r=hb("sizeRanges"),o=pb("useWindowScroll"),a=pb("customScrollParent"),i=hb("windowScrollContainerState"),u=hb("scrollContainerState"),c=a||o?i:u,l=pb("itemContent"),d=pb("context"),f=pb("groupContent"),h=pb("trackItemSizes"),p=pb("itemSize"),m=pb("log"),v=hb("gap"),g=pb("horizontalDirection"),{callbackRef:y}=ag(r,p,h,e?Dv:c,m,v,a,g,pb("skipAnimationFrameInResizeObserver")),[b,E]=s.default.useState(0);mb("deviation",(e=>{b!==e&&E(e)}));const w=pb("EmptyPlaceholder"),C=pb("ScrollSeekPlaceholder")||qy,D=pb("ListComponent"),A=pb("ItemComponent"),x=pb("GroupComponent"),_=pb("computeItemKey"),B=pb("isSeeking"),O=pb("groupIndices").length>0,S=pb("alignToBottom"),T=pb("initialItemFinalLocationReached"),k=e?{}:{boxSizing:"border-box",...g?{whiteSpace:"nowrap",display:"inline-block",height:"100%",paddingLeft:n.offsetTop,paddingRight:n.offsetBottom,marginLeft:0!==b?b:S?"auto":0}:{marginTop:0!==b?b:S?"auto":0,paddingTop:n.offsetTop,paddingBottom:n.offsetBottom},...T?{}:{visibility:"hidden"}};return!e&&0===n.totalCount&&w?Vr.exports.jsx(w,{...nb(w,d)}):Vr.exports.jsx(D,{...nb(D,d),ref:y,style:k,"data-testid":e?"virtuoso-top-item-list":"virtuoso-item-list",children:(e?n.topItems:n.items).map((e=>{const r=e.originalIndex,o=_(r+n.firstItemIndex,e.data,d);return B?t.createElement(C,{...nb(C,d),key:o,index:e.index,height:e.size,type:e.type||"item",..."group"===e.type?{}:{groupIndex:e.groupIndex}}):"group"===e.type?t.createElement(x,{...nb(x,d),key:o,"data-index":r,"data-known-size":e.size,"data-item-index":e.index,style:Gy},f(e.index,d)):t.createElement(A,{...nb(A,d),...rb(A,e.data),key:o,"data-index":r,"data-known-size":e.size,"data-item-index":e.index,"data-item-group-index":e.groupIndex,style:g?Zy:Xy},O?l(e.index,e.groupIndex,e.data,d):l(e.index,e.data,d))}))})})),Jy={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},Qy={outline:"none",overflowX:"auto",position:"relative"},eb=e=>({width:"100%",height:"100%",position:"absolute",top:0,...e?{display:"flex",flexDirection:"column"}:{}}),tb={width:"100%",position:zy(),top:0,zIndex:1};function nb(e,t){if("string"!=typeof e)return{context:t}}function rb(e,t){return{item:"string"==typeof e?void 0:t}}const ob=s.default.memo((function(){const e=pb("HeaderComponent"),t=hb("headerHeight"),n=pb("HeaderFooterTag"),r=og(s.default.useMemo((()=>e=>t(sg(e,"height"))),[t]),!0,pb("skipAnimationFrameInResizeObserver")),o=pb("context");return e?Vr.exports.jsx(n,{ref:r,children:Vr.exports.jsx(e,{...nb(e,o)})}):null})),ab=s.default.memo((function(){const e=pb("FooterComponent"),t=hb("footerHeight"),n=pb("HeaderFooterTag"),r=og(s.default.useMemo((()=>e=>t(sg(e,"height"))),[t]),!0,pb("skipAnimationFrameInResizeObserver")),o=pb("context");return e?Vr.exports.jsx(n,{ref:r,children:Vr.exports.jsx(e,{...nb(e,o)})}):null}));function ib({usePublisher:e,useEmitter:t,useEmitterValue:n}){return s.default.memo((function({style:r,children:o,...a}){const i=e("scrollContainerState"),s=n("ScrollerComponent"),u=e("smoothScrollTargetReached"),c=n("scrollerRef"),l=n("context"),d=n("horizontalDirection")||!1,{scrollerRef:f,scrollByCallback:h,scrollToCallback:p}=cg(i,u,s,c,void 0,d);t("scrollTo",p),t("scrollBy",h);const m=d?Qy:Jy;return Vr.exports.jsx(s,{ref:f,style:{...m,...r},"data-testid":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...a,...nb(s,l),children:o})}))}function sb({usePublisher:e,useEmitter:t,useEmitterValue:n}){return s.default.memo((function({style:r,children:o,...a}){const i=e("windowScrollContainerState"),s=n("ScrollerComponent"),u=e("smoothScrollTargetReached"),c=n("totalListHeight"),l=n("deviation"),d=n("customScrollParent"),f=n("context"),{scrollerRef:h,scrollByCallback:p,scrollToCallback:m}=cg(i,u,s,Dv,d);return Qv((()=>(h.current=d||window,()=>{h.current=null})),[h,d]),t("windowScrollTo",m),t("scrollBy",p),Vr.exports.jsx(s,{style:{position:"relative",...r,...0!==c?{height:c+l}:{}},"data-virtuoso-scroller":!0,...a,...nb(s,f),children:o})}))}const ub=({children:e})=>{const t=s.default.useContext(Uy),n=hb("viewportHeight"),r=hb("fixedItemHeight"),o=pb("alignToBottom"),a=pb("horizontalDirection"),i=og(s.default.useMemo((()=>pv(n,(e=>sg(e,a?"width":"height")))),[n,a]),!0,pb("skipAnimationFrameInResizeObserver"));return s.default.useEffect((()=>{t&&(n(t.viewportHeight),r(t.itemHeight))}),[t,n,r]),Vr.exports.jsx("div",{style:eb(o),ref:i,"data-viewport-type":"element",children:e})},cb=({children:e})=>{const t=s.default.useContext(Uy),n=hb("windowViewportRect"),r=hb("fixedItemHeight"),o=pb("customScrollParent"),a=Hy(n,o,pb("skipAnimationFrameInResizeObserver")),i=pb("alignToBottom");return s.default.useEffect((()=>{t&&(r(t.itemHeight),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:100}))}),[t,n,r]),Vr.exports.jsx("div",{ref:a,style:eb(i),"data-viewport-type":"window",children:e})},lb=({children:e})=>{const t=pb("TopItemListComponent")||"div",n=pb("headerHeight"),r={...tb,marginTop:`${n}px`},o=pb("context");return Vr.exports.jsx(t,{style:r,...nb(t,o),children:e})},db=s.default.memo((function(e){const t=pb("useWindowScroll"),n=pb("topItemsIndexes").length>0,r=pb("customScrollParent"),o=r||t?gb:vb,a=r||t?cb:ub;return Vr.exports.jsxs(o,{...e,children:[n&&Vr.exports.jsx(lb,{children:Vr.exports.jsx(Yy,{showTopList:!0})}),Vr.exports.jsxs(a,{children:[Vr.exports.jsx(ob,{}),Vr.exports.jsx(Yy,{}),Vr.exports.jsx(ab,{})]})]})})),{Component:fb,usePublisher:hb,useEmitterValue:pb,useEmitter:mb}=Jv(Ky,{required:{},optional:{restoreStateFrom:"restoreStateFrom",context:"context",followOutput:"followOutput",itemContent:"itemContent",groupContent:"groupContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",totalCount:"totalCount",groupCounts:"groupCounts",topItemCount:"topItemCount",firstItemIndex:"firstItemIndex",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",atBottomThreshold:"atBottomThreshold",atTopThreshold:"atTopThreshold",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedItemHeight:"fixedItemHeight",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"HeaderFooterTag",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",horizontalDirection:"horizontalDirection",skipAnimationFrameInResizeObserver:"skipAnimationFrameInResizeObserver"},methods:{scrollToIndex:"scrollToIndex",scrollIntoView:"scrollIntoView",scrollTo:"scrollTo",scrollBy:"scrollBy",autoscrollToBottom:"autoscrollToBottom",getState:"getState"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",totalListHeightChanged:"totalListHeightChanged",itemsRendered:"itemsRendered",groupIndices:"groupIndices"}},db),vb=ib({usePublisher:hb,useEmitterValue:pb,useEmitter:mb}),gb=sb({usePublisher:hb,useEmitterValue:pb,useEmitter:mb}),yb=fb,bb={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},Eb={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:wb,ceil:Cb,floor:Db,min:Ab,max:xb}=Math;function _b(e,t,n){return Array.from({length:t-e+1}).map(((t,r)=>{const o=null===n?null:n[r+e];return{index:r+e,data:o}}))}function Bb(e,t){return e&&e.column===t.column&&e.row===t.row}function Ob(e,t){return e&&e.width===t.width&&e.height===t.height}const Sb=Gv((([{overscan:e,visibleRange:t,listBoundary:n,increaseViewportBy:r},{scrollTop:o,viewportHeight:a,scrollBy:i,scrollTo:s,smoothScrollTargetReached:u,scrollContainerState:c,footerHeight:l,headerHeight:d},f,h,{propsReady:p,didMount:m},{windowViewportRect:v,useWindowScroll:g,customScrollParent:y,windowScrollContainerState:b,windowScrollTo:E},w])=>{const C=kv(0),D=kv(0),A=kv(bb),x=kv({height:0,width:0}),_=kv({height:0,width:0}),B=Tv(),O=Tv(),S=kv(0),T=kv(null),k=kv({row:0,column:0}),I=Tv(),F=Tv(),R=kv(!1),N=kv(0),P=kv(!0),M=kv(!1),j=kv(!1);Av(Rv(m,$v(N),Mv((([e,t])=>!!t))),(()=>{xv(P,!1)})),Av(Rv(qv(m,P,_,x,N,M),Mv((([e,t,n,r,,o])=>e&&!t&&0!==n.height&&0!==r.height&&!o))),(([,,,,e])=>{xv(M,!0),ny(1,(()=>{xv(B,e)})),Sv(Rv(o),(()=>{xv(n,[0,0]),xv(P,!0)}))})),Ov(Rv(F,Mv((e=>null!=e&&e.scrollTop>0)),Lv(0)),D),Av(Rv(m,$v(F),Mv((([,e])=>null!=e))),(([,e])=>{e&&(xv(x,e.viewport),xv(_,null==e?void 0:e.item),xv(k,e.gap),e.scrollTop>0&&(xv(R,!0),Sv(Rv(o,Hv(1)),(e=>{xv(R,!1)})),xv(s,{top:e.scrollTop})))})),Ov(Rv(x,jv((({height:e})=>e))),a),Ov(Rv(qv(Kv(x,Ob),Kv(_,Ob),Kv(k,((e,t)=>e&&e.column===t.column&&e.row===t.row)),Kv(o)),jv((([e,t,n,r])=>({viewport:e,item:t,gap:n,scrollTop:r})))),I),Ov(Rv(qv(Kv(C),t,Kv(k,Bb),Kv(_,Ob),Kv(x,Ob),Kv(T),Kv(D),Kv(R),Kv(P),Kv(N)),Mv((([,,,,,,,e])=>!e)),jv((([e,[t,n],r,o,a,i,s,,u,c])=>{const{row:l,column:d}=r,{height:f,width:h}=o,{width:p}=a;if(0===s&&(0===e||0===p))return bb;if(0===h){const t=ry(c,e);return function(e){return{...Eb,items:e}}(_b(t,t+Math.max(s-1,0),i))}const m=Ib(p,h,d);let v,g;u?0===t&&0===n&&s>0?(v=0,g=s-1):(v=m*Db((t+l)/(f+l)),g=m*Cb((n+l)/(f+l))-1,g=Ab(e-1,xb(g,m-1)),v=Ab(g,xb(0,v))):(v=0,g=-1);const y=_b(v,g,i),{top:b,bottom:E}=Tb(a,r,o,y),w=Cb(e/m);return{items:y,offsetTop:b,offsetBottom:w*f+(w-1)*l-E,top:b,bottom:E,itemHeight:f,itemWidth:h}}))),A),Ov(Rv(T,Mv((e=>null!==e)),jv((e=>e.length))),C),Ov(Rv(qv(x,_,A,k),Mv((([e,t,{items:n}])=>n.length>0&&0!==t.height&&0!==e.height)),jv((([e,t,{items:n},r])=>{const{top:o,bottom:a}=Tb(e,r,t,n);return[o,a]})),Pv(cy)),n);const L=kv(!1);Ov(Rv(o,$v(L),jv((([e,t])=>t||0!==e))),L);const z=Iv(Rv(qv(A,C),Mv((([{items:e}])=>e.length>0)),$v(L),Mv((([[e,t],n])=>{const r=e.items[e.items.length-1].index===t-1;if(n)return r;return e.bottom>0&&e.itemHeight>0&&0===e.offsetBottom&&e.items.length===t&&r})),jv((([[,e]])=>e-1)),Pv())),H=Iv(Rv(Kv(A),Mv((({items:e})=>e.length>0&&0===e[0].index)),Lv(0),Pv())),U=Iv(Rv(Kv(A),$v(R),Mv((([{items:e},t])=>e.length>0&&!t)),jv((([{items:e}])=>({startIndex:e[0].index,endIndex:e[e.length-1].index}))),Pv(ly),Uv(0)));Ov(U,h.scrollSeekRangeChanged),Ov(Rv(B,$v(x,_,C,k),jv((([e,t,n,r,o])=>{const a=Xg(e),{align:i,behavior:s,offset:u}=a;let c=a.index;"LAST"===c&&(c=r-1),c=xb(0,c,Ab(r-1,c));let l=kb(t,o,n,c);return"end"===i?l=wb(l-t.height+n.height):"center"===i&&(l=wb(l-t.height/2+n.height/2)),u&&(l+=u),{top:l,behavior:s}}))),s);const W=Fv(Rv(A,jv((e=>e.offsetBottom+e.bottom))),0);return Ov(Rv(v,jv((e=>({width:e.visibleWidth,height:e.visibleHeight})))),x),{data:T,totalCount:C,viewportDimensions:x,itemDimensions:_,scrollTop:o,scrollHeight:O,overscan:e,increaseViewportBy:r,scrollBy:i,scrollTo:s,scrollToIndex:B,smoothScrollTargetReached:u,windowViewportRect:v,windowScrollTo:E,useWindowScroll:g,customScrollParent:y,windowScrollContainerState:b,deviation:S,scrollContainerState:c,footerHeight:l,headerHeight:d,initialItemCount:D,gap:k,restoreStateFrom:F,...h,initialTopMostItemIndex:N,horizontalDirection:j,gridState:A,totalListHeight:W,...f,startReached:H,endReached:z,rangeChanged:U,stateChanged:I,propsReady:p,stateRestoreInProgress:R,...w}}),bv(vy,lg,ey,Dy,ty,ky,ng));function Tb(e,t,n,r){const{height:o}=n;if(void 0===o||0===r.length)return{top:0,bottom:0};return{top:kb(e,t,n,r[0].index),bottom:kb(e,t,n,r[r.length-1].index)+o}}function kb(e,t,n,r){const o=Ib(e.width,n.width,t.column),a=Db(r/o),i=a*n.height+xb(0,a-1)*t.row;return i>0?i+t.row:i}function Ib(e,t,n){return xb(1,Db((e+n)/(Db(t)+n)))}const Fb=Gv((()=>{const e=kv((e=>`Item ${e}`)),t=kv({}),n=kv(null),r=kv("virtuoso-grid-item"),o=kv("virtuoso-grid-list"),a=kv($y),i=kv("div"),s=kv(Dv),u=(e,n=null)=>Fv(Rv(t,jv((t=>t[e])),Pv()),n),c=kv(!1),l=kv(!1);return Ov(Kv(l),c),{readyStateChanged:c,reportReadyState:l,context:n,itemContent:e,components:t,computeItemKey:a,itemClassName:r,listClassName:o,headerFooterTag:i,scrollerRef:s,FooterComponent:u("Footer"),HeaderComponent:u("Header"),ListComponent:u("List","div"),ItemComponent:u("Item","div"),ScrollerComponent:u("Scroller","div"),ScrollSeekPlaceholder:u("ScrollSeekPlaceholder","div")}})),Rb=Gv((([e,t])=>({...e,...t})),bv(Sb,Fb)),Nb=s.default.memo((function(){const e=Wb("gridState"),n=Wb("listClassName"),r=Wb("itemClassName"),o=Wb("itemContent"),a=Wb("computeItemKey"),i=Wb("isSeeking"),u=Ub("scrollHeight"),c=Wb("ItemComponent"),l=Wb("ListComponent"),d=Wb("ScrollSeekPlaceholder"),f=Wb("context"),h=Ub("itemDimensions"),p=Ub("gap"),m=Wb("log"),v=Wb("stateRestoreInProgress"),g=Ub("reportReadyState"),y=og(s.default.useMemo((()=>e=>{const t=e.parentElement.parentElement.scrollHeight;u(t);const n=e.firstChild;if(n){const{width:e,height:t}=n.getBoundingClientRect();h({width:e,height:t})}p({row:qb("row-gap",getComputedStyle(e).rowGap,m),column:qb("column-gap",getComputedStyle(e).columnGap,m)})}),[u,h,p,m]),!0,!1);return Qv((()=>{e.itemHeight>0&&e.itemWidth>0&&g(!0)}),[e]),v?null:Vr.exports.jsx(l,{ref:y,className:n,...nb(l,f),style:{paddingTop:e.offsetTop,paddingBottom:e.offsetBottom},"data-testid":"virtuoso-item-list",children:e.items.map((n=>{const s=a(n.index,n.data,f);return i?Vr.exports.jsx(d,{...nb(d,f),index:n.index,height:e.itemHeight,width:e.itemWidth},s):t.createElement(c,{...nb(c,f),className:r,"data-index":n.index,key:s},o(n.index,n.data,f))}))})})),Pb=s.default.memo((function(){const e=Wb("HeaderComponent"),t=Ub("headerHeight"),n=Wb("headerFooterTag"),r=og(s.default.useMemo((()=>e=>t(sg(e,"height"))),[t]),!0,!1),o=Wb("context");return e?Vr.exports.jsx(n,{ref:r,children:Vr.exports.jsx(e,{...nb(e,o)})}):null})),Mb=s.default.memo((function(){const e=Wb("FooterComponent"),t=Ub("footerHeight"),n=Wb("headerFooterTag"),r=og(s.default.useMemo((()=>e=>t(sg(e,"height"))),[t]),!0,!1),o=Wb("context");return e?Vr.exports.jsx(n,{ref:r,children:Vr.exports.jsx(e,{...nb(e,o)})}):null})),jb=({children:e})=>{const t=s.default.useContext(Wy),n=Ub("itemDimensions"),r=Ub("viewportDimensions"),o=og(s.default.useMemo((()=>e=>{r(e.getBoundingClientRect())}),[r]),!0,!1);return s.default.useEffect((()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))}),[t,r,n]),Vr.exports.jsx("div",{style:eb(!1),ref:o,children:e})},Lb=({children:e})=>{const t=s.default.useContext(Wy),n=Ub("windowViewportRect"),r=Ub("itemDimensions"),o=Wb("customScrollParent"),a=Hy(n,o,!1);return s.default.useEffect((()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))}),[t,n,r]),Vr.exports.jsx("div",{ref:a,style:eb(!1),children:e})},zb=s.default.memo((function({...e}){const t=Wb("useWindowScroll"),n=Wb("customScrollParent"),r=n||t?Kb:Vb,o=n||t?Lb:jb;return Vr.exports.jsx(r,{...e,children:Vr.exports.jsxs(o,{children:[Vr.exports.jsx(Pb,{}),Vr.exports.jsx(Nb,{}),Vr.exports.jsx(Mb,{})]})})})),{Component:Hb,usePublisher:Ub,useEmitterValue:Wb,useEmitter:$b}=Jv(Rb,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex",increaseViewportBy:"increaseViewportBy"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged",readyStateChanged:"readyStateChanged"}},zb),Vb=ib({usePublisher:Ub,useEmitterValue:Wb,useEmitter:$b}),Kb=sb({usePublisher:Ub,useEmitterValue:Wb,useEmitter:$b});function qb(e,t,n){return"normal"===t||(null==t?void 0:t.endsWith("px"))||n(`${e} was not resolved to pixel value correctly`,t,eg.WARN),"normal"===t?0:parseInt(null!=t?t:"0",10)}const Gb=("undefined"!=typeof window?window.requestIdleCallback:null)??function(e,t){return setTimeout(e,Math.min(t?.timeout??1/0,100))},Xb=("undefined"!=typeof window?window.cancelIdleCallback:null)??clearTimeout;const Zb=s.default["useTransition".toString()]??function(){return[!1,t.useCallback((e=>e()),[])]},Yb={position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"},Jb=t.createContext(null);function Qb(){return g(t.useContext(Jb),"EmojiPicker.Root is missing from the React tree.")}const eE=`${Builder&&Builder.settings&&Builder.settings.unpkgUrl?Builder.settings.unpkgUrl:"https://unpkg.com"}/emojibase-data@15.3.0`,tE=e=>`${eE}/${e}/data.json`,nE=e=>`${eE}/${e}/messages.json`,rE=["bn","da","de","en","en-gb","es","es-mx","et","fi","fr","hi","hu","it","ja","ko","lt","ms","nb","nl","pl","pt","ru","sv","th","uk","zh","zh-hant"],oE=e=>`lb-emoji-data-${e}`,aE=e=>`lb-emoji-metadata-${e}`,iE="lb-emoji-metadata",sE=20;function uE(e,t){const n=[];for(let r=e;r<=t;r++)n.push(r);return n}function cE(e,t){const n=e.getItem(t);return n?JSON.parse(n):null}function lE(e,t,n){e.setItem(t,JSON.stringify(n))}async function dE(e){try{return(await fetch(e,{method:"HEAD"})).headers.get("etag")}catch(e){return null}}async function fE(e){const{emojis:t,emojisEtag:n,messages:r,messagesEtag:o}=await async function(e){const[{emojis:t,emojisEtag:n},{messages:r,messagesEtag:o}]=await Promise.all([fetch(tE(e)).then((async e=>({emojis:await e.json(),emojisEtag:e.headers.get("etag")}))),fetch(nE(e)).then((async e=>({messages:await e.json(),messagesEtag:e.headers.get("etag")})))]);return{emojis:t,messages:r,emojisEtag:n,messagesEtag:o}}(e),a=r.subgroups.find((e=>"subdivision-flag"===e.key)),i=r.groups.filter((e=>"component"!==e.key)),s=t.filter((e=>"group"in e)),u=i.map((e=>({key:e.order,name:Wm(e.message)}))),c=r.skinTones.map((e=>({key:e.key,name:Wm(e.message)}))),l={emojis:s.map((e=>{const t={emoji:e.emoji,category:e.group,version:e.version,name:Wm(e.label),tags:e.tags};return a&&e.subgroup===a.order&&(t.countryFlag=!0),t})),categories:u,skinTones:c};return lE(localStorage,oE(e),l),lE(localStorage,aE(e),{emojisEtag:n,messagesEtag:o}),l}function hE(e,t){e.clearRect(0,0,40,25),e.fillStyle="#f00",e.fillText(t,0,22),e.fillStyle="#00f",e.fillText(t,sE,22);const n=e.getImageData(0,0,sE,25).data,r=n.length;let o=0;for(;o<r&&!n[o+3];o+=4);if(o>=r)return!1;const a=sE+o/4%sE,i=Math.floor(o/4/sE),s=e.getImageData(a,i,1,1).data;return n[o]===s[0]&&n[o+2]===s[2]&&!(e.measureText(t).width>=sE)}function pE(e){const t=new Map;for(const n of e)t.has(n.version)||t.set(n.version,n.emoji);const n=[...t.keys()].sort(((e,t)=>t-e)),r=n[0]??0,o=document.createElement("canvas").getContext("2d",{willReadFrequently:!0});if(!o)return{emojiVersion:r,countryFlags:!0};o.font=`${Math.floor(12.5)}px ${function(){try{const e=document.createElement("span");e.style.display="none",e.dataset.emoji="",document.body.appendChild(e);const t=window.getComputedStyle(e).fontFamily;return document.body.removeChild(e),t}catch{return lo}}()}`,o.textBaseline="top",o.canvas.width=40,o.canvas.height=25;const a=hE(o,"🇫🇷");for(const e of n){if(hE(o,t.get(e)))return{emojiVersion:e,countryFlags:a}}return{emojiVersion:r,countryFlags:a}}async function mE(e){const t=function(e){return rE.includes(e)?e:"en"}(e),n=cE(sessionStorage,iE),r=cE(localStorage,oE(t));let o;if(r)if(n)o=r;else{const{emojisEtag:e,messagesEtag:n}=await async function(e){const[t,n]=await Promise.all([dE(tE(e)),dE(nE(e))]);return{emojisEtag:t,messagesEtag:n}}(t),a=cE(localStorage,aE(t));o=a&&e===a.emojisEtag&&n===a.messagesEtag?r:await fE(t)}else o=await fE(t);const a=n??pE(o.emojis);lE(sessionStorage,iE,a);return{emojis:o.emojis.filter((e=>{const t=e.version<=a.emojiVersion;return e.countryFlag?t&&a.countryFlags:t})),categories:o.categories,skinTones:o.skinTones}}function vE({columns:e=10,locale:n="en",onEmojiSelect:r,children:o}){const a=t.useRef(),i=t.useRef(""),[,u]=Zb(),[c,l]=t.useState(),[d,f]=t.useState(),[h,p]=t.useState(0),[m,v]=t.useState(0),[g,y]=t.useState("none"),b=t.useCallback((()=>{if(r){const e=c?.rows[m]?.[h];e&&r(e.emoji)}}),[c?.rows,r,h,m]),E=t.useCallback((()=>{p(0),v(0)}),[]),w=t.useCallback(((e,t)=>{y("pointer"),p(e),v(t)}),[]),C=t.useCallback(((e,t)=>{if(c)if(t.preventDefault(),"none"!==g)switch(y("keyboard"),e){case"left":if(0===h){const e=m-1,t=c.rows[e];t&&(v(e),p(t.length-1))}else p(h-1);break;case"right":{const e=c.rows[m];if(!e)return;if(h===e.length-1){const e=m+1;c.rows[e]&&(v(e),p(0))}else p(h+1);break}case"up":{const e=c.rows[m-1];e&&(v(m-1),e[h]||p(e.length-1));break}case"down":{const e=c.rows[m+1];e&&(v(m+1),e[h]||p(e.length-1));break}}else y("keyboard")}),[c,g,h,m]),D=t.useCallback((()=>{a.current&&u((()=>{l((()=>{if(!a.current)return;const t=function(e,t){if(!t)return e;const n=t.toLowerCase().trim();return e.filter((e=>e.name.toLowerCase().includes(n)||e.tags?.some((e=>e.toLowerCase().includes(n)))))}(a.current.emojis,i.current);return function(e,t,n){let r=0;const o=[],a=e.map(((e,t)=>({...e,index:t}))),i=[],s=[],u=[],c=t.map((e=>({...e,emojis:a.filter((t=>t.category===e.key))}))).filter((e=>e.emojis.length>0));for(const e of c){const t=Et(e.emojis,n),a=r+t.length;o.push(...t),u.push(e.name),i.push(t.length),s.push(uE(r,a-1)),r=a}return{count:e.length,rows:o,categories:u,categoriesRowCounts:i,categoriesRowIndices:s}}(t,a.current.categories,e)})),E()}))}),[e,E]),A=t.useCallback((e=>{i.current=e,D()}),[D]),x=t.useCallback((async e=>{try{a.current=await mE(e),D()}catch(e){f(e)}}),[D]);return t.useEffect((()=>{let e;const t=setTimeout((()=>{e=Gb((()=>{x(n)}))}),100);return()=>{clearTimeout(t),Xb(e)}}),[n]),t.useEffect((()=>{"none"===g&&E()}),[g]),s.default.createElement(Jb.Provider,{value:{data:c,error:d,isLoading:!c&&!d,columns:e,onSearch:A,onEmojiSelect:r,selectCurrentEmoji:b,selectedRowIndex:m,selectedColumnIndex:h,moveSelection:C,setPointerSelection:w,interaction:g,setInteraction:y}},o)}const gE=t.forwardRef((({asChild:e,value:n,defaultValue:r,onChange:o,...a},i)=>{const u=e?qr:"input",{onSearch:c,selectCurrentEmoji:l,moveSelection:d,interaction:f,setInteraction:h}=Qb(),p=t.useCallback((e=>{if(o?.(e),e.isDefaultPrevented())return;const t=e.target.value;h(t?"keyboard":"none"),c(t)}),[o,c,h]),m=t.useCallback((e=>{e.isDefaultPrevented()||(qp(e,"ArrowLeft")?d("left",e):qp(e,"ArrowRight")?d("right",e):qp(e,"ArrowUp")?d("up",e):qp(e,"ArrowDown")?d("down",e):qp(e,"Enter")&&"none"!==f&&(e.preventDefault(),l()))}),[f,d,l]);return t.useEffect((()=>{c(n?String(n):r?String(r):"")}),[]),s.default.createElement(u,{type:"search",value:n,defaultValue:r,onChange:p,onKeyDown:m,...a,ref:i})})),yE={CategoryHeader:({category:e,...t})=>s.default.createElement("div",{...t},e),Row:({children:e,attributes:t,...n})=>s.default.createElement("div",{...n},e),Emoji:({emoji:e,...t})=>s.default.createElement("button",{...t},s.default.createElement(fo,{emoji:e})),Loading:e=>s.default.createElement("div",{...e}),Empty:e=>s.default.createElement("div",{...e}),Grid:e=>s.default.createElement("div",{...e}),Error:({error:e,...t})=>s.default.createElement("div",{...t})},bE={rowIndex:-1,categoryRowIndex:-1,categoryRowsCount:0},EE=t.forwardRef((({children:e,...t},n)=>s.default.createElement("div",{...t,tabIndex:-1,"data-testid":void 0,ref:n},e))),wE=t.forwardRef((({children:e,...t},n)=>s.default.createElement("div",{...t,"data-testid":void 0,ref:n},e))),CE=t.forwardRef((({components:e,asChild:n,...r},o)=>{const a=n?qr:"div",i=t.useRef(null),u=t.useRef(null),c=t.useRef(0),l=t.useRef(0),d=t.useRef(0),{data:f,error:h,isLoading:p,columns:m,onEmojiSelect:v,selectedColumnIndex:g,selectedRowIndex:y,setPointerSelection:b,interaction:E,setInteraction:w}=Qb(),C=t.useMemo((()=>f?.rows[y]?.[g]),[f?.rows,g,y]),{Loading:D,Empty:A,Error:x,CategoryHeader:_,Grid:B,Row:O,Emoji:S}=t.useMemo((()=>({...yE,...e})),[e]),T=t.useMemo((()=>t.forwardRef((({children:e,...t},n)=>s.default.createElement("div",{role:"grid","aria-colcount":m,...t,"data-testid":void 0,ref:n},e)))),[m]),k=t.useMemo((()=>Array(m).fill("🌫️")),[m]),I=t.useCallback((e=>{e.preventDefault()}),[]),F=t.useCallback((()=>{"pointer"===E&&w("none")}),[E,w]);Xp((()=>{if(!u.current)return;const e=u.current.childNodes[0],t=u.current.childNodes[1];if(e instanceof HTMLElement){const t=window.getComputedStyle(e);c.current=parseFloat(t.scrollMarginTop),l.current=parseFloat(t.scrollMarginBottom)}t instanceof HTMLElement&&(d.current=t.offsetHeight)}),[]);const R=t.useCallback((({itemTop:e,itemBottom:t,viewportTop:n,viewportBottom:r,locationParams:{behavior:o,align:a,...i}})=>e-(d.current+c.current)<n?{...i,behavior:o,align:a??"start"}:t>r?{...i,behavior:o,align:a??"end",offset:l.current}:null),[]);return t.useEffect((()=>{"keyboard"===E&&i.current?.scrollIntoView({index:y,behavior:"auto",calculateViewLocation:R})}),[E,y,R]),s.default.createElement(a,{...r,ref:o},s.default.createElement("div",{style:{visibility:"hidden",height:0},ref:u},s.default.createElement(O,{attributes:bE},k.map(((e,t)=>s.default.createElement(S,{emoji:e,key:t})))),s.default.createElement(_,{category:"Category"})),p?s.default.createElement(D,null):h?s.default.createElement(x,{error:h}):0===f.count?s.default.createElement(A,null):s.default.createElement(B,null,s.default.createElement(yb,{ref:i,components:{Scroller:EE,List:T,TopItemList:wE},groupCounts:f.categoriesRowCounts,groupContent:e=>{const t=f.categories[e];return t?s.default.createElement(_,{category:t}):null},itemContent:(e,t)=>{const n=f.rows[e],r=f.categoriesRowIndices[t]?.indexOf(e),o=f.categoriesRowCounts[t];return void 0===n||void 0===r||void 0===o?null:s.default.createElement(O,{attributes:{rowIndex:e,categoryRowIndex:r,categoryRowsCount:o}},n.map(((t,n)=>{const r="none"!==E&&g===n&&y===e;return s.default.createElement(S,{key:t.emoji,role:"gridcell","aria-colindex":n,"aria-selected":r||void 0,"data-selected":r||void 0,onMouseDown:I,tabIndex:-1,onPointerEnter:()=>{b(n,e)},onPointerLeave:F,onClick:e=>{v?.(t.emoji),e.stopPropagation()},emoji:t.emoji})})))}})),C&&"none"!==E&&s.default.createElement("div",{"aria-live":"polite",style:Yb},C.name))})),DE=["B","KB","MB","GB"];function AE(e,t){if(0===e)return`0 ${DE[1]}`;let n;n=0===e?1:Math.max(1,Math.min(Math.floor(Math.log(Math.abs(e))/Math.log(1e3)),DE.length-1));let r=e/1e3**n,o=1;1===n&&(r>=10&&(o=0),r<.1&&r>0&&(o=2),r<.01&&(r=.01));const a=DE[n];return`${Gm(t,{minimumFractionDigits:0,maximumFractionDigits:o}).format(r)} ${a}`}function xE(e,t=[]){let n=[];const r=()=>{const t=n.map((e=>i.createContext(e)));return function(n){const r=n?.[e]||t;return i.useMemo((()=>({[`__scope${e}`]:{...n,[e]:r}})),[n,r])}};return r.scopeName=e,[function(t,r){const o=i.createContext(r),a=n.length;n=[...n,r];const s=t=>{const{scope:n,children:r,...s}=t,u=n?.[e]?.[a]||o,c=i.useMemo((()=>s),Object.values(s));return Vr.exports.jsx(u.Provider,{value:c,children:r})};return s.displayName=t+"Provider",[s,function(n,s){const u=s?.[e]?.[a]||o,c=i.useContext(u);if(c)return c;if(void 0!==r)return r;throw new Error(`\`${n}\` must be used within \`${t}\``)}]},_E(r,...t)]}function _E(...e){const t=e[0];if(1===e.length)return t;const n=()=>{const n=e.map((e=>({useScope:e(),scopeName:e.scopeName})));return function(e){const r=n.reduce(((t,{useScope:n,scopeName:r})=>({...t,...n(e)[`__scope${r}`]})),{});return i.useMemo((()=>({[`__scope${t.scopeName}`]:r})),[r])}};return n.scopeName=t.scopeName,n}var BE,OE="dismissableLayer.update",SE="dismissableLayer.pointerDownOutside",TE="dismissableLayer.focusOutside",kE=i.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),IE=i.forwardRef(((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:s,onDismiss:u,...c}=e,l=i.useContext(kE),[d,f]=i.useState(null),h=d?.ownerDocument??globalThis?.document,[,p]=i.useState({}),m=Wr(t,(e=>f(e))),v=Array.from(l.layers),[g]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),y=v.indexOf(g),b=d?v.indexOf(d):-1,E=l.layersWithOutsidePointerEventsDisabled.size>0,w=b>=y,C=function(e,t=globalThis?.document){const n=zr(e),r=i.useRef(!1),o=i.useRef((()=>{}));return i.useEffect((()=>{const e=e=>{if(e.target&&!r.current){let r=function(){NE(SE,n,a,{discrete:!0})};const a={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",o.current),o.current=r,t.addEventListener("click",o.current,{once:!0})):r()}else t.removeEventListener("click",o.current);r.current=!1},a=window.setTimeout((()=>{t.addEventListener("pointerdown",e)}),0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",e),t.removeEventListener("click",o.current)}}),[t,n]),{onPointerDownCapture:()=>r.current=!0}}((e=>{const t=e.target,n=[...l.branches].some((e=>e.contains(t)));w&&!n&&(o?.(e),s?.(e),e.defaultPrevented||u?.())}),h),D=function(e,t=globalThis?.document){const n=zr(e),r=i.useRef(!1);return i.useEffect((()=>{const e=e=>{if(e.target&&!r.current){NE(TE,n,{originalEvent:e},{discrete:!1})}};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)}),[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}((e=>{const t=e.target;[...l.branches].some((e=>e.contains(t)))||(a?.(e),s?.(e),e.defaultPrevented||u?.())}),h);return function(e,t=globalThis?.document){const n=zr(e);i.useEffect((()=>{const e=e=>{"Escape"===e.key&&n(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})}),[n,t])}((e=>{b===l.layers.size-1&&(r?.(e),!e.defaultPrevented&&u&&(e.preventDefault(),u()))}),h),i.useEffect((()=>{if(d)return n&&(0===l.layersWithOutsidePointerEventsDisabled.size&&(BE=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(d)),l.layers.add(d),RE(),()=>{n&&1===l.layersWithOutsidePointerEventsDisabled.size&&(h.body.style.pointerEvents=BE)}}),[d,h,n,l]),i.useEffect((()=>()=>{d&&(l.layers.delete(d),l.layersWithOutsidePointerEventsDisabled.delete(d),RE())}),[d,l]),i.useEffect((()=>{const e=()=>p({});return document.addEventListener(OE,e),()=>document.removeEventListener(OE,e)}),[]),Vr.exports.jsx(Jr.div,{...c,ref:m,style:{pointerEvents:E?w?"auto":"none":void 0,...e.style},onFocusCapture:Lr(e.onFocusCapture,D.onFocusCapture),onBlurCapture:Lr(e.onBlurCapture,D.onBlurCapture),onPointerDownCapture:Lr(e.onPointerDownCapture,C.onPointerDownCapture)})}));IE.displayName="DismissableLayer";var FE=i.forwardRef(((e,t)=>{const n=i.useContext(kE),r=i.useRef(null),o=Wr(t,r);return i.useEffect((()=>{const e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}}),[n.branches]),Vr.exports.jsx(Jr.div,{...e,ref:o})}));function RE(){const e=new CustomEvent(OE);document.dispatchEvent(e)}function NE(e,t,n,{discrete:r}){const o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?Qr(o,a):o.dispatchEvent(a)}FE.displayName="DismissableLayerBranch";var PE=Boolean(globalThis?.document)?i.useLayoutEffect:()=>{},ME=i["useId".toString()]||(()=>{}),jE=0;function LE(e){const[t,n]=i.useState(ME());return PE((()=>{e||n((e=>e??String(jE++)))}),[e]),e||(t?`radix-${t}`:"")}var zE=i.forwardRef(((e,t)=>{const{children:n,width:r=10,height:o=5,...a}=e;return Vr.exports.jsx(Jr.svg,{...a,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:Vr.exports.jsx("polygon",{points:"0,0 30,0 15,10"})})}));zE.displayName="Arrow";var HE=zE;function UE(...e){const t=e[0];if(1===e.length)return t;const n=()=>{const n=e.map((e=>({useScope:e(),scopeName:e.scopeName})));return function(e){const r=n.reduce(((t,{useScope:n,scopeName:r})=>({...t,...n(e)[`__scope${r}`]})),{});return i.useMemo((()=>({[`__scope${t.scopeName}`]:r})),[r])}};return n.scopeName=t.scopeName,n}var WE="Popper",[$E,VE]=function(e,t=[]){let n=[];const r=()=>{const t=n.map((e=>i.createContext(e)));return function(n){const r=n?.[e]||t;return i.useMemo((()=>({[`__scope${e}`]:{...n,[e]:r}})),[n,r])}};return r.scopeName=e,[function(t,r){const o=i.createContext(r),a=n.length;function s(t){const{scope:n,children:r,...s}=t,u=n?.[e][a]||o,c=i.useMemo((()=>s),Object.values(s));return Vr.exports.jsx(u.Provider,{value:c,children:r})}return n=[...n,r],s.displayName=t+"Provider",[s,function(n,s){const u=s?.[e][a]||o,c=i.useContext(u);if(c)return c;if(void 0!==r)return r;throw new Error(`\`${n}\` must be used within \`${t}\``)}]},UE(r,...t)]}(WE),[KE,qE]=$E(WE),GE=e=>{const{__scopePopper:t,children:n}=e,[r,o]=i.useState(null);return Vr.exports.jsx(KE,{scope:t,anchor:r,onAnchorChange:o,children:n})};GE.displayName=WE;var XE="PopperAnchor",ZE=i.forwardRef(((e,t)=>{const{__scopePopper:n,virtualRef:r,...o}=e,a=qE(XE,n),s=i.useRef(null),u=Wr(t,s);return i.useEffect((()=>{a.onAnchorChange(r?.current||s.current)})),r?null:Vr.exports.jsx(Jr.div,{...o,ref:u})}));ZE.displayName=XE;var YE="PopperContent",[JE,QE]=$E(YE),ew=i.forwardRef(((e,t)=>{const{__scopePopper:n,side:r="bottom",sideOffset:o=0,align:a="center",alignOffset:s=0,arrowPadding:u=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:d=0,sticky:f="partial",hideWhenDetached:h=!1,updatePositionStrategy:p="optimized",onPlaced:m,...v}=e,g=qE(YE,n),[y,b]=i.useState(null),E=Wr(t,(e=>b(e))),[w,C]=i.useState(null),D=function(e){const[t,n]=i.useState(void 0);return PE((()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const t=new ResizeObserver((t=>{if(!Array.isArray(t))return;if(!t.length)return;const r=t[0];let o,a;if("borderBoxSize"in r){const e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;o=t.inlineSize,a=t.blockSize}else o=e.offsetWidth,a=e.offsetHeight;n({width:o,height:a})}));return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}n(void 0)}),[e]),t}(w),A=D?.width??0,x=D?.height??0,_=r+("center"!==a?"-"+a:""),B="number"==typeof d?d:{top:0,right:0,bottom:0,left:0,...d},O=Array.isArray(l)?l:[l],S=O.length>0,T={padding:B,boundary:O.filter(ow),altBoundary:S},{refs:k,floatingStyles:I,placement:F,isPositioned:R,middlewareData:N}=Gu({strategy:"fixed",placement:_,whileElementsMounted:(...e)=>Ru(...e,{animationFrame:"always"===p}),elements:{reference:g.anchor},middleware:[Zu({mainAxis:o+x,alignmentAxis:s}),c&&Yu({mainAxis:!0,crossAxis:!1,limiter:"partial"===f?Ju():void 0,...T}),c&&Qu({...T}),ec({...T,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{const{width:o,height:a}=t.reference,i=e.floating.style;i.setProperty("--radix-popper-available-width",`${n}px`),i.setProperty("--radix-popper-available-height",`${r}px`),i.setProperty("--radix-popper-anchor-width",`${o}px`),i.setProperty("--radix-popper-anchor-height",`${a}px`)}}),w&&nc({element:w,padding:u}),aw({arrowWidth:A,arrowHeight:x}),h&&tc({strategy:"referenceHidden",...T})]}),[P,M]=iw(F),j=zr(m);PE((()=>{R&&j?.()}),[R,j]);const L=N.arrow?.x,z=N.arrow?.y,H=0!==N.arrow?.centerOffset,[U,W]=i.useState();return PE((()=>{y&&W(window.getComputedStyle(y).zIndex)}),[y]),Vr.exports.jsx("div",{ref:k.setFloating,"data-radix-popper-content-wrapper":"",style:{...I,transform:R?I.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:U,"--radix-popper-transform-origin":[N.transformOrigin?.x,N.transformOrigin?.y].join(" "),...N.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:Vr.exports.jsx(JE,{scope:n,placedSide:P,onArrowChange:C,arrowX:L,arrowY:z,shouldHideArrow:H,children:Vr.exports.jsx(Jr.div,{"data-side":P,"data-align":M,...v,ref:E,style:{...v.style,animation:R?void 0:"none"}})})})}));ew.displayName=YE;var tw="PopperArrow",nw={top:"bottom",right:"left",bottom:"top",left:"right"},rw=i.forwardRef((function(e,t){const{__scopePopper:n,...r}=e,o=QE(tw,n),a=nw[o.placedSide];return Vr.exports.jsx("span",{ref:o.onArrowChange,style:{position:"absolute",left:o.arrowX,top:o.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[o.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[o.placedSide],visibility:o.shouldHideArrow?"hidden":void 0},children:Vr.exports.jsx(HE,{...r,ref:t,style:{...r.style,display:"block"}})})}));function ow(e){return null!==e}rw.displayName=tw;var aw=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:r,middlewareData:o}=t,a=0!==o.arrow?.centerOffset,i=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[u,c]=iw(n),l={start:"0%",center:"50%",end:"100%"}[c],d=(o.arrow?.x??0)+i/2,f=(o.arrow?.y??0)+s/2;let h="",p="";return"bottom"===u?(h=a?l:`${d}px`,p=-s+"px"):"top"===u?(h=a?l:`${d}px`,p=`${r.floating.height+s}px`):"right"===u?(h=-s+"px",p=a?l:`${f}px`):"left"===u&&(h=`${r.floating.width+s}px`,p=a?l:`${f}px`),{data:{x:h,y:p}}}});function iw(e){const[t,n="center"]=e.split("-");return[t,n]}var sw=GE,uw=ZE,cw=ew,lw=rw,dw=i.forwardRef(((e,t)=>{const{container:n,...r}=e,[o,a]=i.useState(!1);PE((()=>a(!0)),[]);const s=n||o&&globalThis?.document?.body;return s?c.default.createPortal(Vr.exports.jsx(Jr.div,{...r,ref:t}),s):null}));dw.displayName="Portal";var fw=e=>{const{present:t,children:n}=e,r=function(e){const[t,n]=i.useState(),r=i.useRef({}),o=i.useRef(e),a=i.useRef("none"),s=e?"mounted":"unmounted",[u,c]=function(e,t){return i.useReducer(((e,n)=>t[e][n]??e),e)}(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return i.useEffect((()=>{const e=hw(r.current);a.current="mounted"===u?e:"none"}),[u]),PE((()=>{const t=r.current,n=o.current;if(n!==e){const r=a.current,i=hw(t);if(e)c("MOUNT");else if("none"===i||"none"===t?.display)c("UNMOUNT");else{c(n&&r!==i?"ANIMATION_OUT":"UNMOUNT")}o.current=e}}),[e,c]),PE((()=>{if(t){let e;const n=t.ownerDocument.defaultView??window,i=a=>{const i=hw(r.current).includes(a.animationName);if(a.target===t&&i&&(c("ANIMATION_END"),!o.current)){const r=t.style.animationFillMode;t.style.animationFillMode="forwards",e=n.setTimeout((()=>{"forwards"===t.style.animationFillMode&&(t.style.animationFillMode=r)}))}},s=e=>{e.target===t&&(a.current=hw(r.current))};return t.addEventListener("animationstart",s),t.addEventListener("animationcancel",i),t.addEventListener("animationend",i),()=>{n.clearTimeout(e),t.removeEventListener("animationstart",s),t.removeEventListener("animationcancel",i),t.removeEventListener("animationend",i)}}c("ANIMATION_END")}),[t,c]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:i.useCallback((e=>{e&&(r.current=getComputedStyle(e)),n(e)}),[])}}(t),o="function"==typeof n?n({present:r.isPresent}):i.Children.only(n),a=Wr(r.ref,function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;if(n)return e.ref;if(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n)return e.props.ref;return e.props.ref||e.ref}(o));return"function"==typeof n||r.isPresent?i.cloneElement(o,{ref:a}):null};function hw(e){return e?.animationName||"none"}fw.displayName="Presence";var pw=i.forwardRef(((e,t)=>Vr.exports.jsx(Jr.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}})));pw.displayName="VisuallyHidden";var mw=pw,[vw,gw]=xE("Tooltip",[VE]),yw=VE(),bw="TooltipProvider",Ew=700,ww="tooltip.open",[Cw,Dw]=vw(bw),Aw=e=>{const{__scopeTooltip:t,delayDuration:n=Ew,skipDelayDuration:r=300,disableHoverableContent:o=!1,children:a}=e,[s,u]=i.useState(!0),c=i.useRef(!1),l=i.useRef(0);return i.useEffect((()=>{const e=l.current;return()=>window.clearTimeout(e)}),[]),Vr.exports.jsx(Cw,{scope:t,isOpenDelayed:s,delayDuration:n,onOpen:i.useCallback((()=>{window.clearTimeout(l.current),u(!1)}),[]),onClose:i.useCallback((()=>{window.clearTimeout(l.current),l.current=window.setTimeout((()=>u(!0)),r)}),[r]),isPointerInTransitRef:c,onPointerInTransitChange:i.useCallback((e=>{c.current=e}),[]),disableHoverableContent:o,children:a})};Aw.displayName=bw;var xw="Tooltip",[_w,Bw]=vw(xw),Ow=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:o=!1,onOpenChange:a,disableHoverableContent:s,delayDuration:u}=e,c=Dw(xw,e.__scopeTooltip),l=yw(t),[d,f]=i.useState(null),h=LE(),p=i.useRef(0),m=s??c.disableHoverableContent,v=u??c.delayDuration,g=i.useRef(!1),[y=!1,b]=Hr({prop:r,defaultProp:o,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(ww))):c.onClose(),a?.(e)}}),E=i.useMemo((()=>y?g.current?"delayed-open":"instant-open":"closed"),[y]),w=i.useCallback((()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,b(!0)}),[b]),C=i.useCallback((()=>{window.clearTimeout(p.current),p.current=0,b(!1)}),[b]),D=i.useCallback((()=>{window.clearTimeout(p.current),p.current=window.setTimeout((()=>{g.current=!0,b(!0),p.current=0}),v)}),[v,b]);return i.useEffect((()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)}),[]),Vr.exports.jsx(sw,{...l,children:Vr.exports.jsx(_w,{scope:t,contentId:h,open:y,stateAttribute:E,trigger:d,onTriggerChange:f,onTriggerEnter:i.useCallback((()=>{c.isOpenDelayed?D():w()}),[c.isOpenDelayed,D,w]),onTriggerLeave:i.useCallback((()=>{m?C():(window.clearTimeout(p.current),p.current=0)}),[C,m]),onOpen:w,onClose:C,disableHoverableContent:m,children:n})})};Ow.displayName=xw;var Sw="TooltipTrigger",Tw=i.forwardRef(((e,t)=>{const{__scopeTooltip:n,...r}=e,o=Bw(Sw,n),a=Dw(Sw,n),s=yw(n),u=Wr(t,i.useRef(null),o.onTriggerChange),c=i.useRef(!1),l=i.useRef(!1),d=i.useCallback((()=>c.current=!1),[]);return i.useEffect((()=>()=>document.removeEventListener("pointerup",d)),[d]),Vr.exports.jsx(uw,{asChild:!0,...s,children:Vr.exports.jsx(Jr.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...r,ref:u,onPointerMove:Lr(e.onPointerMove,(e=>{"touch"!==e.pointerType&&(l.current||a.isPointerInTransitRef.current||(o.onTriggerEnter(),l.current=!0))})),onPointerLeave:Lr(e.onPointerLeave,(()=>{o.onTriggerLeave(),l.current=!1})),onPointerDown:Lr(e.onPointerDown,(()=>{c.current=!0,document.addEventListener("pointerup",d,{once:!0})})),onFocus:Lr(e.onFocus,(()=>{c.current||o.onOpen()})),onBlur:Lr(e.onBlur,o.onClose),onClick:Lr(e.onClick,o.onClose)})})}));Tw.displayName=Sw;var kw="TooltipPortal",[Iw,Fw]=vw(kw,{forceMount:void 0}),Rw=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:o}=e,a=Bw(kw,t);return Vr.exports.jsx(Iw,{scope:t,forceMount:n,children:Vr.exports.jsx(fw,{present:n||a.open,children:Vr.exports.jsx(dw,{asChild:!0,container:o,children:r})})})};Rw.displayName=kw;var Nw="TooltipContent",Pw=i.forwardRef(((e,t)=>{const n=Fw(Nw,e.__scopeTooltip),{forceMount:r=n.forceMount,side:o="top",...a}=e,i=Bw(Nw,e.__scopeTooltip);return Vr.exports.jsx(fw,{present:r||i.open,children:i.disableHoverableContent?Vr.exports.jsx(zw,{side:o,...a,ref:t}):Vr.exports.jsx(Mw,{side:o,...a,ref:t})})})),Mw=i.forwardRef(((e,t)=>{const n=Bw(Nw,e.__scopeTooltip),r=Dw(Nw,e.__scopeTooltip),o=i.useRef(null),a=Wr(t,o),[s,u]=i.useState(null),{trigger:c,onClose:l}=n,d=o.current,{onPointerInTransitChange:f}=r,h=i.useCallback((()=>{u(null),f(!1)}),[f]),p=i.useCallback(((e,t)=>{const n=e.currentTarget,r={x:e.clientX,y:e.clientY},o=function(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,o,a)){case a:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}(r,n.getBoundingClientRect()),a=function(e,t,n=5){const 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})}return r}(r,o),i=function(e){const 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)),function(e){if(e.length<=1)return e.slice();const t=[];for(let n=0;n<e.length;n++){const r=e[n];for(;t.length>=2;){const 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)))break;t.pop()}t.push(r)}t.pop();const n=[];for(let t=e.length-1;t>=0;t--){const r=e[t];for(;n.length>=2;){const 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)))break;n.pop()}n.push(r)}return n.pop(),1===t.length&&1===n.length&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}(t)}([...a,...function(e){const{top:t,right:n,bottom:r,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:r},{x:o,y:r}]}(t.getBoundingClientRect())]);u(i),f(!0)}),[f]);return i.useEffect((()=>()=>h()),[h]),i.useEffect((()=>{if(c&&d){const e=e=>p(e,d),t=e=>p(e,c);return c.addEventListener("pointerleave",e),d.addEventListener("pointerleave",t),()=>{c.removeEventListener("pointerleave",e),d.removeEventListener("pointerleave",t)}}}),[c,d,p,h]),i.useEffect((()=>{if(s){const e=e=>{const t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||d?.contains(t),o=!function(e,t){const{x:n,y:r}=e;let o=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){const i=t[e].x,s=t[e].y,u=t[a].x,c=t[a].y;s>r!=c>r&&n<(u-i)*(r-s)/(c-s)+i&&(o=!o)}return o}(n,s);r?h():o&&(h(),l())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}}),[c,d,s,l,h]),Vr.exports.jsx(zw,{...e,ref:a})})),[jw,Lw]=vw(xw,{isInside:!1}),zw=i.forwardRef(((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":o,onEscapeKeyDown:a,onPointerDownOutside:s,...u}=e,c=Bw(Nw,n),l=yw(n),{onClose:d}=c;return i.useEffect((()=>(document.addEventListener(ww,d),()=>document.removeEventListener(ww,d))),[d]),i.useEffect((()=>{if(c.trigger){const e=e=>{const t=e.target;t?.contains(c.trigger)&&d()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}}),[c.trigger,d]),Vr.exports.jsx(IE,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:Vr.exports.jsxs(cw,{"data-state":c.stateAttribute,...l,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[Vr.exports.jsx(Xr,{children:r}),Vr.exports.jsx(jw,{scope:n,isInside:!0,children:Vr.exports.jsx(mw,{id:c.contentId,role:"tooltip",children:o||r})})]})})}));Pw.displayName=Nw;var Hw="TooltipArrow";i.forwardRef(((e,t)=>{const{__scopeTooltip:n,...r}=e,o=yw(n);return Lw(Hw,n).isInside?null:Vr.exports.jsx(lw,{...o,...r,ref:t})})).displayName=Hw;var Uw=Ow,Ww=Tw,$w=Rw,Vw=Pw;const Kw={alt:()=>({title:"Alt",key:"⌥"}),mod:()=>Vp()?{title:"Command",key:"⌘"}:{title:"Ctrl",key:"⌃"},shift:()=>({title:"Shift",key:"⇧"}),enter:()=>({title:"Enter",key:"⏎"})},qw=t.forwardRef((({children:e,content:t,multiline:n,className:r,...o},a)=>{const{portalContainer:i}=Uh();return s.default.createElement(Uw,{disableHoverableContent:!0},s.default.createElement(Ww,{asChild:!0,ref:a},e),s.default.createElement($w,{container:i},s.default.createElement(Vw,{className:no("lb-root lb-portal lb-tooltip",n&&"lb-tooltip:multiline",r),side:"top",align:"center",sideOffset:6,collisionPadding:10,...o},t)))})),Gw=t.forwardRef((({children:e,content:t,shortcut:n,...r},o)=>s.default.createElement(qw,{content:s.default.createElement(s.default.Fragment,null,t,n&&s.default.createElement("kbd",{className:"lb-tooltip-shortcut"},n)),...r,ref:o},e)));function Xw({name:e,...n}){const{title:r,key:o}=t.useMemo((()=>Kw[e]?.()),[e]);return s.default.createElement("abbr",{title:r,...n},o)}const Zw=62914560,Yw=/^(.+?)(\.[^.]+)?$/;const Jw=t.memo((({mimeType:e})=>{const n=t.useMemo((()=>function(e){return"application/zip"===e||"application/gzip"===e||"application/vnd.rar"===e||"application/x-rar-compressed"===e||"application/x-7z-compressed"===e||"application/x-zip-compressed"===e||"application/x-tar"===e||"application/x-bzip"===e||"application/x-bzip2"===e?s.default.createElement("path",{d:"M13 15h2v1h-1.5a.5.5 0 0 0 0 1H15v1h-1.5a.5.5 0 0 0 0 1H15v1h-1.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 .5-.5V20h1.5a.5.5 0 0 0 0-1H15v-1h1.5a.5.5 0 0 0 0-1H15v-1h1.5a.5.5 0 0 0 .5-.5V15a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2Z"}):e.startsWith("text/")||e.startsWith("font/")||e.startsWith("application/")?s.default.createElement("path",{d:"M10 16a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Z"}):e.startsWith("image/")?s.default.createElement("path",{d:"M12 16h6a1 1 0 0 1 1 1v3l-1.293-1.293a1 1 0 0 0-1.414 0L14.09 20.91l-.464-.386a1 1 0 0 0-1.265-.013l-1.231.985A.995.995 0 0 1 11 21v-4a1 1 0 0 1 1-1Zm-2 1a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2v-4Zm3 2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"}):e.startsWith("video/")?s.default.createElement("path",{d:"M12 15.71a1 1 0 0 1 1.49-.872l4.96 2.79a1 1 0 0 1 0 1.744l-4.96 2.79A1 1 0 0 1 12 21.29v-5.58Z"}):e.startsWith("audio/")?s.default.createElement("path",{d:"M15 15a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 1 0v-7a.5.5 0 0 0-.5-.5Zm-2.5 2.5a.5.5 0 0 1 1 0v3a.5.5 0 0 1-1 0v-3Zm-2 1a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm6-1a.5.5 0 0 1 1 0v3a.5.5 0 0 1-1 0v-3ZM19 16a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-.5-.5Z"}):null}(e)),[e]);return s.default.createElement("svg",{className:"lb-attachment-icon",width:30,height:30,viewBox:"0 0 30 30",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",xmlns:"http://www.w3.org/2000/svg"},s.default.createElement("path",{d:"M6 5a2 2 0 0 1 2-2h5.843a4 4 0 0 1 2.829 1.172l6.156 6.156A4 4 0 0 1 24 13.157V25a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V5Z",className:"lb-attachment-icon-shadow"}),s.default.createElement("path",{d:"M6 5a2 2 0 0 1 2-2h5.843a4 4 0 0 1 2.829 1.172l6.156 6.156A4 4 0 0 1 24 13.157V25a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V5Z",className:"lb-attachment-icon-background"}),s.default.createElement("path",{d:"M14.382 3.037a4 4 0 0 1 2.29 1.135l6.156 6.157a4 4 0 0 1 1.136 2.289A2 2 0 0 0 22 11h-4a2 2 0 0 1-2-2V5a2 2 0 0 0-1.618-1.963Z",className:"lb-attachment-icon-fold"}),n&&s.default.createElement("g",{className:"lb-attachment-icon-glyph"},n))}));function Qw({attachment:e}){const{url:n}=kr(e.id),[r,o]=t.useState(!1),a=t.useCallback((()=>{o(!0)}),[]);return s.default.createElement(s.default.Fragment,null,r?null:s.default.createElement(fv,null),n?s.default.createElement("div",{className:"lb-attachment-preview-media","data-hidden":r?void 0:""},s.default.createElement("img",{src:n,loading:"lazy",onLoad:a})):null)}function eC({attachment:e}){const{url:n}=kr(e.id),[r,o]=t.useState(!1),a=t.useCallback((()=>{o(!0)}),[]);return s.default.createElement(s.default.Fragment,null,r?null:s.default.createElement(fv,null),n?s.default.createElement("div",{className:"lb-attachment-preview-media","data-hidden":r?void 0:""},s.default.createElement("video",{src:n,onLoadedData:a})):null)}function tC({attachment:e,allowMediaPreview:t=!0}){const n=Rr(),r="attachment"===e.type||"uploaded"===e.status;if(t&&r&&n&&e.size<=Zw){if(e.mimeType.startsWith("image/"))return s.default.createElement(Qw,{attachment:e});if(e.mimeType.startsWith("video/"))return s.default.createElement(eC,{attachment:e})}return s.default.createElement(Jw,{mimeType:e.mimeType})}function nC({attachment:e}){const{base:n,extension:r}=t.useMemo((()=>function(e){const t=e.match(Yw);return{base:t?.[1]??e,extension:t?.[2]}}(e.name)),[e.name]);return s.default.createElement("span",{className:"lb-attachment-name",title:e.name},s.default.createElement("span",{className:"lb-attachment-name-base"},n),r&&s.default.createElement("span",{className:"lb-attachment-name-extension"},r))}function rC(e){return t.useCallback((t=>{if(e?.(t),!t.isDefaultPrevented()&&("Enter"===t.key||" "===t.key)){t.preventDefault();const e=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window});t.target.dispatchEvent(e)}}),[e])}function oC(e,t){const n=go(t),r=pm(),o=Boolean(r),a=r?.maxAttachmentSize,i="localAttachment"===e.type?e.status:void 0,s="uploading"===i,u="error"===i;let c;c="localAttachment"===e.type&&"error"===e.status?e.error instanceof Cm?"server"===e.error.origin?n.ATTACHMENT_TOO_LARGE():n.ATTACHMENT_TOO_LARGE(a?AE(a,n.locale):void 0):n.ATTACHMENT_ERROR(e.error):AE(e.size,n.locale);return{isUploading:s,isError:u,description:c,deleteLabel:o?n.COMPOSER_REMOVE_ATTACHMENT:n.COMMENT_DELETE_ATTACHMENT}}function aC({attachment:e,overrides:n,onClick:r,onDeleteClick:o,preventFocusOnDelete:a,allowMediaPreview:i=!0,className:u,onKeyDown:c,...l}){const{isUploading:d,isError:f,description:h,deleteLabel:p}=oC(e,n),m=t.useCallback((e=>{a&&e.preventDefault()}),[a]),v=rC(c);return s.default.createElement("div",{className:no("lb-attachment lb-media-attachment",u),"data-error":f?"":void 0,...l,role:r?"button":void 0,onClick:r,tabIndex:r?0:-1,onKeyDown:r?v:void 0},s.default.createElement("div",{className:"lb-attachment-preview"},d?s.default.createElement(fv,null):f?s.default.createElement(hv,null):s.default.createElement(tC,{attachment:e,allowMediaPreview:i})),s.default.createElement("div",{className:"lb-attachment-details"},s.default.createElement(nC,{attachment:e}),s.default.createElement("span",{className:"lb-attachment-description",title:h},h)),o&&s.default.createElement(qw,{content:p},s.default.createElement("button",{type:"button",className:"lb-attachment-delete",onClick:o,onPointerDown:m,"aria-label":p},s.default.createElement(ao,null))))}function iC({attachment:e,overrides:n,onClick:r,onDeleteClick:o,preventFocusOnDelete:a,allowMediaPreview:i=!0,className:u,onKeyDown:c,...l}){const{isUploading:d,isError:f,description:h,deleteLabel:p}=oC(e,n),m=t.useCallback((e=>{a&&e.preventDefault()}),[a]),v=rC(c);return s.default.createElement("div",{className:no("lb-attachment lb-file-attachment",u),"data-error":f?"":void 0,...l,role:r?"button":void 0,onClick:r,tabIndex:r?0:-1,onKeyDown:r?v:void 0},s.default.createElement("div",{className:"lb-attachment-preview"},d?s.default.createElement(fv,null):f?s.default.createElement(hv,null):s.default.createElement(tC,{attachment:e,allowMediaPreview:i})),s.default.createElement("div",{className:"lb-attachment-details"},s.default.createElement(nC,{attachment:e}),s.default.createElement("span",{className:"lb-attachment-description",title:h},h)),o&&s.default.createElement(qw,{content:p},s.default.createElement("button",{type:"button",className:"lb-attachment-delete",onClick:o,onPointerDown:m,"aria-label":p},s.default.createElement(ao,null))))}function sC({className:e,...t}){return s.default.createElement("a",{href:"https://liveblocks.io",target:"_blank",rel:"noopener noreferrer",className:no("lb-composer-attribution",e),...t},s.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 72","aria-label":"Made with Liveblocks"},s.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M86 10h-8v50h8V10Zm16 14h-8v36h8V24Zm0-15h-8v9h8V9Zm13 15h-9l12 36h10l13-36h-9l-9 28-8-28Zm44-1c-11 0-18 8-18 19s7 19 18 19c8 0 15-4 17-13h-8c-1 4-5 6-9 6-6 0-9-3-9-10h27c0-10-6-21-18-21Zm0 7c5 0 9 3 9 8h-18c0-5 4-8 9-8Zm42-7c-4 0-8 2-11 6V10h-8v50h8v-5c3 4 7 6 11 6 11 0 16-9 16-19s-5-19-16-19Zm-2 32c-7 0-9-7-9-13s2-13 9-13 9 7 9 13-2 13-9 13Zm32-45h-8v50h8V10Zm24 51c11 0 18-8 18-19s-8-19-18-19c-11 0-19 8-19 19s7 19 19 19Zm0-6c-8 0-10-7-10-13s2-13 10-13c7 0 9 7 9 13s-2 13-9 13Zm39 6c8 0 15-4 17-12l-8-1c-2 4-4 6-9 6-7 0-9-6-9-12s2-12 9-12c5 0 8 3 8 7l9-1c-2-8-9-13-17-13-11 0-18 9-18 19 0 11 7 19 18 19Zm30-14 4-4 10 17h10l-15-23 15-13h-11l-13 13V10h-9v50h9V47Zm39 14c8 0 16-3 16-12 0-8-8-10-15-11-2-1-7-1-7-5 0-3 3-4 6-4 4 0 7 3 7 7l8-1c-1-9-8-12-15-12s-15 3-15 11 9 10 15 11c3 1 8 2 8 5 0 4-4 5-7 5-5 0-8-3-9-7l-8 1c1 8 9 12 16 12ZM41 27H0l12 12v17l29-29ZM20 60h40L48 48V32L20 60Z",fill:"currentColor"})))}function uC(e){return e.trim().split(" ").reduce(((e,t,n,r)=>(0!==n&&n!==r.length-1||(e+=t.charAt(0).toLocaleUpperCase()),e)),"")}function cC({userId:e,className:n,...r}){const{user:o,isLoading:a}=cr(e),i=t.useMemo((()=>o?.name),[o]),u=t.useMemo((()=>o?.avatar),[o]),c=t.useMemo((()=>i?uC(i):void 0),[i]),l=t.useMemo((()=>a||o?void 0:uC(e)),[a,o,e]);return s.default.createElement("div",{className:no("lb-avatar",n),"data-loading":a?"":void 0,...r},u&&s.default.createElement("img",{className:"lb-avatar-image",src:u,alt:i}),c?s.default.createElement("span",{className:"lb-avatar-fallback","aria-hidden":!0},c):l?s.default.createElement("span",{className:"lb-avatar-fallback","aria-label":e,title:e},l):null)}const lC=t.forwardRef((({variant:e="default",size:t="default",disableable:n=!0,className:r,...o},a)=>s.default.createElement("button",{type:"button",className:no("lb-button",!n&&"lb-button:non-disableable",r),"data-variant":e,"data-size":t,...o,ref:a})));var dC=0;function fC(){i.useEffect((()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??hC()),document.body.insertAdjacentElement("beforeend",e[1]??hC()),dC++,()=>{1===dC&&document.querySelectorAll("[data-radix-focus-guard]").forEach((e=>e.remove())),dC--}}),[])}function hC(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var pC="focusScope.autoFocusOnMount",mC="focusScope.autoFocusOnUnmount",vC={bubbles:!1,cancelable:!0},gC=i.forwardRef(((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...s}=e,[u,c]=i.useState(null),l=zr(o),d=zr(a),f=i.useRef(null),h=Wr(t,(e=>c(e))),p=i.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;i.useEffect((()=>{if(r){let e=function(e){if(p.paused||!u)return;const t=e.target;u.contains(t)?f.current=t:wC(f.current,{select:!0})},t=function(e){if(p.paused||!u)return;const t=e.relatedTarget;null!==t&&(u.contains(t)||wC(f.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(const t of e)t.removedNodes.length>0&&wC(u)};document.addEventListener("focusin",e),document.addEventListener("focusout",t);const r=new MutationObserver(n);return u&&r.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),r.disconnect()}}}),[r,u,p.paused]),i.useEffect((()=>{if(u){CC.add(p);const t=document.activeElement;if(!u.contains(t)){const n=new CustomEvent(pC,vC);u.addEventListener(pC,l),u.dispatchEvent(n),n.defaultPrevented||(!function(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(wC(r,{select:t}),document.activeElement!==n)return}((e=yC(u),e.filter((e=>"A"!==e.tagName))),{select:!0}),document.activeElement===t&&wC(u))}return()=>{u.removeEventListener(pC,l),setTimeout((()=>{const e=new CustomEvent(mC,vC);u.addEventListener(mC,d),u.dispatchEvent(e),e.defaultPrevented||wC(t??document.body,{select:!0}),u.removeEventListener(mC,d),CC.remove(p)}),0)}}var e}),[u,l,d,p]);const m=i.useCallback((e=>{if(!n&&!r)return;if(p.paused)return;const t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,o=document.activeElement;if(t&&o){const t=e.currentTarget,[r,a]=function(e){const t=yC(e),n=bC(t,e),r=bC(t.reverse(),e);return[n,r]}(t);r&&a?e.shiftKey||o!==a?e.shiftKey&&o===r&&(e.preventDefault(),n&&wC(a,{select:!0})):(e.preventDefault(),n&&wC(r,{select:!0})):o===t&&e.preventDefault()}}),[n,r,p.paused]);return Vr.exports.jsx(Jr.div,{tabIndex:-1,...s,ref:h,onKeyDown:m})}));function yC(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{const t="INPUT"===e.tagName&&"hidden"===e.type;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 bC(e,t){for(const n of e)if(!EC(n,{upTo:t}))return n}function EC(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e;){if(void 0!==t&&e===t)return!1;if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}function wC(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&function(e){return e instanceof HTMLInputElement&&"select"in e}(e)&&t&&e.select()}}gC.displayName="FocusScope";var CC=function(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=DC(e,t),e.unshift(t)},remove(t){e=DC(e,t),e[0]?.resume()}}}();function DC(e,t){const n=[...e],r=n.indexOf(t);return-1!==r&&n.splice(r,1),n}var AC=new WeakMap,xC=new WeakMap,_C={},BC=0,OC=function(e){return e&&(e.host||OC(e.parentNode))},SC=function(e,t,n,r){var o=function(e,t){return t.map((function(t){if(e.contains(t))return t;var n=OC(t);return n&&e.contains(n)?n:(console.error("aria-hidden",t,"in not contained inside",e,". Doing nothing"),null)})).filter((function(e){return Boolean(e)}))}(t,Array.isArray(e)?e:[e]);_C[n]||(_C[n]=new WeakMap);var a=_C[n],i=[],s=new Set,u=new Set(o),c=function(e){e&&!s.has(e)&&(s.add(e),c(e.parentNode))};o.forEach(c);var l=function(e){e&&!u.has(e)&&Array.prototype.forEach.call(e.children,(function(e){if(s.has(e))l(e);else try{var t=e.getAttribute(r),o=null!==t&&"false"!==t,u=(AC.get(e)||0)+1,c=(a.get(e)||0)+1;AC.set(e,u),a.set(e,c),i.push(e),1===u&&o&&xC.set(e,!0),1===c&&e.setAttribute(n,"true"),o||e.setAttribute(r,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}}))};return l(t),s.clear(),BC++,function(){i.forEach((function(e){var t=AC.get(e)-1,o=a.get(e)-1;AC.set(e,t),a.set(e,o),t||(xC.has(e)||e.removeAttribute(r),xC.delete(e)),o||e.removeAttribute(n)})),--BC||(AC=new WeakMap,AC=new WeakMap,xC=new WeakMap,_C={})}},TC=function(e,t,n){void 0===n&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||function(e){return"undefined"==typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body}(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),SC(r,o,n,"aria-hidden")):function(){return null}},kC=function(){return kC=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},kC.apply(this,arguments)};function IC(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function FC(e,t,n,r){return new(n||(n=Promise))((function(o,a){function i(e){try{u(r.next(e))}catch(e){a(e)}}function s(e){try{u(r.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,s)}u((r=r.apply(e,t||[])).next())}))}function RC(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=s(0),i.throw=s(1),i.return=s(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}}function NC(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}"function"==typeof SuppressedError&&SuppressedError;var PC="right-scroll-bar-position",MC="width-before-scroll-bar";function jC(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var LC="undefined"!=typeof window?i.useLayoutEffect:i.useEffect,zC=new WeakMap;function HC(e,n){var r,o,a,i=(r=n||null,o=function(t){return e.forEach((function(e){return jC(e,t)}))},a=t.useState((function(){return{value:r,callback:o,facade:{get current(){return a.value},set current(e){var t=a.value;t!==e&&(a.value=e,a.callback(e,t))}}}}))[0],a.callback=o,a.facade);return LC((function(){var t=zC.get(i);if(t){var n=new Set(t),r=new Set(e),o=i.current;n.forEach((function(e){r.has(e)||jC(e,null)})),r.forEach((function(e){n.has(e)||jC(e,o)}))}zC.set(i,e)}),[e]),i}function UC(e){return e}Object.prototype.toString.call("undefined"!=typeof process?process:0);var WC=function(e){var t=e.sideCar,n=IC(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return i.createElement(r,kC({},n))};WC.isSideCarExport=!0;var $C=function(e){void 0===e&&(e={});var t=function(e,t){void 0===t&&(t=UC);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var o=t(e,r);return n.push(o),function(){n=n.filter((function(e){return e!==o}))}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var o=n;n=[],o.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},i=function(){return Promise.resolve().then(a)};i(),n={push:function(e){t.push(e),i()},filter:function(e){return t=t.filter(e),n}}}};return o}(null);return t.options=kC({async:!0,ssr:!1},e),t}(),VC=function(){},KC=i.forwardRef((function(e,t){var n=i.useRef(null),r=i.useState({onScrollCapture:VC,onWheelCapture:VC,onTouchMoveCapture:VC}),o=r[0],a=r[1],s=e.forwardProps,u=e.children,c=e.className,l=e.removeScrollBar,d=e.enabled,f=e.shards,h=e.sideCar,p=e.noIsolation,m=e.inert,v=e.allowPinchZoom,g=e.as,y=void 0===g?"div":g,b=e.gapMode,E=IC(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),w=h,C=HC([n,t]),D=kC(kC({},E),o);return i.createElement(i.Fragment,null,d&&i.createElement(w,{sideCar:$C,removeScrollBar:l,shards:f,noIsolation:p,inert:m,setCallbacks:a,allowPinchZoom:!!v,lockRef:n,gapMode:b}),s?i.cloneElement(i.Children.only(u),kC(kC({},D),{ref:C})):i.createElement(y,kC({},D,{className:c,ref:C}),u))}));KC.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},KC.classNames={fullWidth:MC,zeroRight:PC};function qC(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=function(){if("undefined"!=typeof __webpack_nonce__)return __webpack_nonce__}();return t&&e.setAttribute("nonce",t),e}var GC=function(){var e=0,t=null;return{add:function(n){var r,o;0==e&&(t=qC())&&(o=n,(r=t).styleSheet?r.styleSheet.cssText=o:r.appendChild(document.createTextNode(o)),function(e){(document.head||document.getElementsByTagName("head")[0]).appendChild(e)}(t)),e++},remove:function(){! --e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},XC=function(){var e,t=(e=GC(),function(t,n){i.useEffect((function(){return e.add(t),function(){e.remove()}}),[t&&n])});return function(e){var n=e.styles,r=e.dynamic;return t(n,r),null}},ZC={left:0,top:0,right:0,gap:0},YC=function(e){return parseInt(e||"",10)||0},JC=function(e){if(void 0===e&&(e="margin"),"undefined"==typeof window)return ZC;var t=function(e){var t=window.getComputedStyle(document.body),n=t["padding"===e?"paddingLeft":"marginLeft"],r=t["padding"===e?"paddingTop":"marginTop"],o=t["padding"===e?"paddingRight":"marginRight"];return[YC(n),YC(r),YC(o)]}(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},QC=XC(),eD="data-scroll-locked",tD=function(e,t,n,r){var o=e.left,a=e.top,i=e.right,s=e.gap;return void 0===n&&(n="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(r,";\n padding-right: ").concat(s,"px ").concat(r,";\n }\n body[").concat(eD,"] {\n overflow: hidden ").concat(r,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(r,";"),"margin"===n&&"\n padding-left: ".concat(o,"px;\n padding-top: ").concat(a,"px;\n padding-right: ").concat(i,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(s,"px ").concat(r,";\n "),"padding"===n&&"padding-right: ".concat(s,"px ").concat(r,";")].filter(Boolean).join(""),"\n }\n \n .").concat(PC," {\n right: ").concat(s,"px ").concat(r,";\n }\n \n .").concat(MC," {\n margin-right: ").concat(s,"px ").concat(r,";\n }\n \n .").concat(PC," .").concat(PC," {\n right: 0 ").concat(r,";\n }\n \n .").concat(MC," .").concat(MC," {\n margin-right: 0 ").concat(r,";\n }\n \n body[").concat(eD,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(s,"px;\n }\n")},nD=function(){var e=parseInt(document.body.getAttribute(eD)||"0",10);return isFinite(e)?e:0},rD=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=void 0===r?"margin":r;i.useEffect((function(){return document.body.setAttribute(eD,(nD()+1).toString()),function(){var e=nD()-1;e<=0?document.body.removeAttribute(eD):document.body.setAttribute(eD,e.toString())}}),[]);var a=i.useMemo((function(){return JC(o)}),[o]);return i.createElement(QC,{styles:tD(a,!t,o,n?"":"!important")})},oD=!1;if("undefined"!=typeof window)try{var aD=Object.defineProperty({},"passive",{get:function(){return oD=!0,!0}});window.addEventListener("test",aD,aD),window.removeEventListener("test",aD,aD)}catch(e){oD=!1}var iD=!!oD&&{passive:!1},sD=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return"hidden"!==n[t]&&!(n.overflowY===n.overflowX&&!function(e){return"TEXTAREA"===e.tagName}(e)&&"visible"===n[t])},uD=function(e,t){var n=t.ownerDocument,r=t;do{if("undefined"!=typeof ShadowRoot&&r instanceof ShadowRoot&&(r=r.host),cD(e,r)){var o=lD(e,r);if(o[1]>o[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},cD=function(e,t){return"v"===e?function(e){return sD(e,"overflowY")}(t):function(e){return sD(e,"overflowX")}(t)},lD=function(e,t){return"v"===e?[(n=t).scrollTop,n.scrollHeight,n.clientHeight]:function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]}(t);var n},dD=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},fD=function(e){return[e.deltaX,e.deltaY]},hD=function(e){return e&&"current"in e?e.current:e},pD=function(e){return"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")},mD=0,vD=[];function gD(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var yD,bD=(yD=function(e){var t=i.useRef([]),n=i.useRef([0,0]),r=i.useRef(),o=i.useState(mD++)[0],a=i.useState(XC)[0],s=i.useRef(e);i.useEffect((function(){s.current=e}),[e]),i.useEffect((function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var t=function(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}([e.lockRef.current],(e.shards||[]).map(hD),!0).filter(Boolean);return t.forEach((function(e){return e.classList.add("allow-interactivity-".concat(o))})),function(){document.body.classList.remove("block-interactivity-".concat(o)),t.forEach((function(e){return e.classList.remove("allow-interactivity-".concat(o))}))}}}),[e.inert,e.lockRef.current,e.shards]);var u=i.useCallback((function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!s.current.allowPinchZoom;var o,a=dD(e),i=n.current,u="deltaX"in e?e.deltaX:i[0]-a[0],c="deltaY"in e?e.deltaY:i[1]-a[1],l=e.target,d=Math.abs(u)>Math.abs(c)?"h":"v";if("touches"in e&&"h"===d&&"range"===l.type)return!1;var f=uD(d,l);if(!f)return!0;if(f?o=d:(o="v"===d?"h":"v",f=uD(d,l)),!f)return!1;if(!r.current&&"changedTouches"in e&&(u||c)&&(r.current=o),!o)return!0;var h=r.current||o;return function(e,t,n,r,o){var a=function(e,t){return"h"===e&&"rtl"===t?-1:1}(e,window.getComputedStyle(t).direction),i=a*r,s=n.target,u=t.contains(s),c=!1,l=i>0,d=0,f=0;do{var h=lD(e,s),p=h[0],m=h[1]-h[2]-a*p;(p||m)&&cD(e,s)&&(d+=m,f+=p),s=s instanceof ShadowRoot?s.host:s.parentNode}while(!u&&s!==document.body||u&&(t.contains(s)||t===s));return(l&&(o&&Math.abs(d)<1||!o&&i>d)||!l&&(o&&Math.abs(f)<1||!o&&-i>f))&&(c=!0),c}(h,t,e,"h"===h?u:c,!0)}),[]),c=i.useCallback((function(e){var n=e;if(vD.length&&vD[vD.length-1]===a){var r="deltaY"in n?fD(n):dD(n),o=t.current.filter((function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&(t=e.delta,o=r,t[0]===o[0]&&t[1]===o[1]);var t,o}))[0];if(o&&o.should)n.cancelable&&n.preventDefault();else if(!o){var i=(s.current.shards||[]).map(hD).filter(Boolean).filter((function(e){return e.contains(n.target)}));(i.length>0?u(n,i[0]):!s.current.noIsolation)&&n.cancelable&&n.preventDefault()}}}),[]),l=i.useCallback((function(e,n,r,o){var a={name:e,delta:n,target:r,should:o,shadowParent:gD(r)};t.current.push(a),setTimeout((function(){t.current=t.current.filter((function(e){return e!==a}))}),1)}),[]),d=i.useCallback((function(e){n.current=dD(e),r.current=void 0}),[]),f=i.useCallback((function(t){l(t.type,fD(t),t.target,u(t,e.lockRef.current))}),[]),h=i.useCallback((function(t){l(t.type,dD(t),t.target,u(t,e.lockRef.current))}),[]);i.useEffect((function(){return vD.push(a),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:h}),document.addEventListener("wheel",c,iD),document.addEventListener("touchmove",c,iD),document.addEventListener("touchstart",d,iD),function(){vD=vD.filter((function(e){return e!==a})),document.removeEventListener("wheel",c,iD),document.removeEventListener("touchmove",c,iD),document.removeEventListener("touchstart",d,iD)}}),[]);var p=e.removeScrollBar,m=e.inert;return i.createElement(i.Fragment,null,m?i.createElement(a,{styles:pD(o)}):null,p?i.createElement(rD,{gapMode:e.gapMode}):null)},$C.useMedium(yD),WC),ED=i.forwardRef((function(e,t){return i.createElement(KC,kC({},e,{ref:t,sideCar:bD}))}));ED.classNames=KC.classNames;var wD="Popover",[CD,DD]=xE(wD,[VE]),AD=VE(),[xD,_D]=CD(wD),BD=e=>{const{__scopePopover:t,children:n,open:r,defaultOpen:o,onOpenChange:a,modal:s=!1}=e,u=AD(t),c=i.useRef(null),[l,d]=i.useState(!1),[f=!1,h]=Hr({prop:r,defaultProp:o,onChange:a});return Vr.exports.jsx(sw,{...u,children:Vr.exports.jsx(xD,{scope:t,contentId:LE(),triggerRef:c,open:f,onOpenChange:h,onOpenToggle:i.useCallback((()=>h((e=>!e))),[h]),hasCustomAnchor:l,onCustomAnchorAdd:i.useCallback((()=>d(!0)),[]),onCustomAnchorRemove:i.useCallback((()=>d(!1)),[]),modal:s,children:n})})};BD.displayName=wD;var OD="PopoverAnchor";i.forwardRef(((e,t)=>{const{__scopePopover:n,...r}=e,o=_D(OD,n),a=AD(n),{onCustomAnchorAdd:s,onCustomAnchorRemove:u}=o;return i.useEffect((()=>(s(),()=>u())),[s,u]),Vr.exports.jsx(uw,{...a,...r,ref:t})})).displayName=OD;var SD="PopoverTrigger",TD=i.forwardRef(((e,t)=>{const{__scopePopover:n,...r}=e,o=_D(SD,n),a=AD(n),i=Wr(t,o.triggerRef),s=Vr.exports.jsx(Jr.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":HD(o.open),...r,ref:i,onClick:Lr(e.onClick,o.onOpenToggle)});return o.hasCustomAnchor?s:Vr.exports.jsx(uw,{asChild:!0,...a,children:s})}));TD.displayName=SD;var kD="PopoverPortal",[ID,FD]=CD(kD,{forceMount:void 0}),RD=e=>{const{__scopePopover:t,forceMount:n,children:r,container:o}=e,a=_D(kD,t);return Vr.exports.jsx(ID,{scope:t,forceMount:n,children:Vr.exports.jsx(fw,{present:n||a.open,children:Vr.exports.jsx(dw,{asChild:!0,container:o,children:r})})})};RD.displayName=kD;var ND="PopoverContent",PD=i.forwardRef(((e,t)=>{const n=FD(ND,e.__scopePopover),{forceMount:r=n.forceMount,...o}=e,a=_D(ND,e.__scopePopover);return Vr.exports.jsx(fw,{present:r||a.open,children:a.modal?Vr.exports.jsx(MD,{...o,ref:t}):Vr.exports.jsx(jD,{...o,ref:t})})}));PD.displayName=ND;var MD=i.forwardRef(((e,t)=>{const n=_D(ND,e.__scopePopover),r=i.useRef(null),o=Wr(t,r),a=i.useRef(!1);return i.useEffect((()=>{const e=r.current;if(e)return TC(e)}),[]),Vr.exports.jsx(ED,{as:qr,allowPinchZoom:!0,children:Vr.exports.jsx(LD,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Lr(e.onCloseAutoFocus,(e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()})),onPointerDownOutside:Lr(e.onPointerDownOutside,(e=>{const t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,r=2===t.button||n;a.current=r}),{checkForDefaultPrevented:!1}),onFocusOutside:Lr(e.onFocusOutside,(e=>e.preventDefault()),{checkForDefaultPrevented:!1})})})})),jD=i.forwardRef(((e,t)=>{const n=_D(ND,e.__scopePopover),r=i.useRef(!1),o=i.useRef(!1);return Vr.exports.jsx(LD,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,"pointerdown"===t.detail.originalEvent.type&&(o.current=!0));const a=t.target,i=n.triggerRef.current?.contains(a);i&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&o.current&&t.preventDefault()}})})),LD=i.forwardRef(((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:a,disableOutsidePointerEvents:i,onEscapeKeyDown:s,onPointerDownOutside:u,onFocusOutside:c,onInteractOutside:l,...d}=e,f=_D(ND,n),h=AD(n);return fC(),Vr.exports.jsx(gC,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:a,children:Vr.exports.jsx(IE,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:l,onEscapeKeyDown:s,onPointerDownOutside:u,onFocusOutside:c,onDismiss:()=>f.onOpenChange(!1),children:Vr.exports.jsx(cw,{"data-state":HD(f.open),role:"dialog",id:f.contentId,...h,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})})),zD="PopoverClose";i.forwardRef(((e,t)=>{const{__scopePopover:n,...r}=e,o=_D(zD,n);return Vr.exports.jsx(Jr.button,{type:"button",...r,ref:t,onClick:Lr(e.onClick,(()=>o.onOpenChange(!1)))})})).displayName=zD;function HD(e){return e?"open":"closed"}i.forwardRef(((e,t)=>{const{__scopePopover:n,...r}=e,o=AD(n);return Vr.exports.jsx(lw,{...o,...r,ref:t})})).displayName="PopoverArrow";var UD=BD,WD=TD,$D=RD,VD=PD;function KD(e){return s.default.createElement(ro,{...e},s.default.createElement("path",{d:"M9 15A6 6 0 1 0 9 3a6 6 0 0 0 0 12Zm7.5 1.5-3.25-3.25"}))}function qD({className:e,...t}){return s.default.createElement("div",{className:no("lb-loading lb-emoji-picker-loading",e),...t},s.default.createElement(fv,null))}function GD({className:e,...t}){const n=go();return s.default.createElement("div",{className:no("lb-empty lb-emoji-picker-empty",e),...t},n.EMOJI_PICKER_EMPTY)}function XD({error:e,className:t,...n}){const r=go();return s.default.createElement("div",{className:no("lb-error lb-emoji-picker-error",t),...n},r.EMOJI_PICKER_ERROR(e))}function ZD({category:e,className:t,...n}){return s.default.createElement("div",{className:no("lb-emoji-picker-category-header",t),...n},s.default.createElement("span",{className:"lb-emoji-picker-category-header-title"},e))}function YD({children:e,className:t,...n}){return s.default.createElement("div",{className:no("lb-emoji-picker-grid",t),...n},e)}function JD({attributes:e,children:n,className:r,...o}){const a=t.useMemo((()=>0===e.categoryRowIndex),[e.categoryRowIndex]),i=t.useMemo((()=>e.categoryRowIndex===e.categoryRowsCount-1),[e.categoryRowIndex,e.categoryRowsCount]);return s.default.createElement("div",{className:no("lb-emoji-picker-row",r),"data-first":a?"":void 0,"data-last":i?"":void 0,...o},n)}function QD({emoji:e,className:t,...n}){return s.default.createElement("button",{className:no("lb-emoji-picker-emoji",t),...n},s.default.createElement(ho,{emoji:e}))}const eA=t.forwardRef((({onEmojiSelect:e,onOpenChange:n,children:r,className:o,...a},i)=>{const[u,c]=t.useState(!1),{portalContainer:l}=Uh(),d=go(),f=t.useCallback((e=>{c(e),n?.(e)}),[n]),h=t.useCallback((t=>{c(!1),e?.(t)}),[e]);return s.default.createElement(UD,{open:u,onOpenChange:f},r,s.default.createElement($D,{container:l},s.default.createElement(VD,{side:"top",align:"center",sideOffset:6,collisionPadding:10,className:no("lb-root lb-portal lb-elevation lb-emoji-picker",o),...a,ref:i},s.default.createElement(vE,{onEmojiSelect:h,locale:d.locale},s.default.createElement("div",{className:"lb-emoji-picker-header"},s.default.createElement("div",{className:"lb-emoji-picker-search-container"},s.default.createElement(gE,{className:"lb-emoji-picker-search",placeholder:d.EMOJI_PICKER_SEARCH_PLACEHOLDER,autoFocus:!0}),s.default.createElement(KD,{className:"lb-emoji-picker-search-icon"}))),s.default.createElement(CE,{className:"lb-emoji-picker-content",components:{Loading:qD,Empty:GD,Error:XD,CategoryHeader:ZD,Grid:YD,Row:JD,Emoji:QD}})))))}));function tA({userId:e,replaceSelf:n,className:r,...o}){const a=ev(),{user:i,isLoading:u}=cr(e),c=go(),l=t.useMemo((()=>n&&a===e?c.USER_SELF:i?.name??c.USER_UNKNOWN),[n,a,e,c.USER_SELF,c.USER_UNKNOWN,i?.name]);return s.default.createElement("span",{className:no("lb-name lb-user",r),"data-loading":u?"":void 0,...o},u?null:l)}function nA({label:e,tooltipLabel:n,className:r,onClick:o,...a}){const{createMention:i}=gm(),u=t.useCallback((e=>{e.preventDefault()}),[]),c=t.useCallback((e=>{o?.(e),e.isDefaultPrevented()||(e.stopPropagation(),i())}),[i,o]);return s.default.createElement(qw,{content:n??e},s.default.createElement(lC,{className:no("lb-composer-editor-action",r),onMouseDown:u,onClick:c,"aria-label":e,...a},s.default.createElement(lv,{className:"lb-button-icon"})))}function rA({label:e,tooltipLabel:n,onPickerOpenChange:r,className:o,...a}){const{insertText:i}=gm(),u=t.useCallback((e=>{e.preventDefault()}),[]),c=t.useCallback((e=>{e.stopPropagation()}),[]);return s.default.createElement(eA,{onEmojiSelect:i,onOpenChange:r},s.default.createElement(qw,{content:n??e},s.default.createElement(TD,{asChild:!0},s.default.createElement(lC,{className:no("lb-composer-editor-action",o),onMouseDown:u,onClick:c,"aria-label":e,...a},s.default.createElement(cv,{className:"lb-button-icon"})))))}function oA({label:e,tooltipLabel:n,className:r,...o}){const a=t.useCallback((e=>{e.preventDefault()}),[]),i=t.useCallback((e=>{e.stopPropagation()}),[]);return s.default.createElement(qw,{content:n??e},s.default.createElement(Um,{asChild:!0},s.default.createElement(lC,{className:no("lb-composer-editor-action",r),onMouseDown:a,onClick:i,"aria-label":e,...o},s.default.createElement(uv,{className:"lb-button-icon"}))))}function aA({attachment:e,className:n,overrides:r,...o}){const{removeAttachment:a}=gm(),i=t.useCallback((()=>{a(e.id)}),[e.id,a]);return s.default.createElement(iC,{className:no("lb-composer-attachment",n),...o,attachment:e,onDeleteClick:i,preventFocusOnDelete:!0,overrides:r})}function iA({overrides:e,className:t,...n}){const{attachments:r}=gm();return 0===r.length?null:s.default.createElement("div",{className:no("lb-composer-attachments",t),...n},s.default.createElement("div",{className:"lb-attachments"},r.map((t=>s.default.createElement(aA,{key:t.id,attachment:t,overrides:e})))))}const sA={Mention:function({userId:e}){return s.default.createElement(Fm,{className:"lb-composer-mention"},bs,s.default.createElement(tA,{userId:e}))},MentionSuggestions:function({userIds:e}){return e.length>0?s.default.createElement(Nm,{className:"lb-root lb-portal lb-elevation lb-composer-suggestions lb-composer-mention-suggestions"},s.default.createElement(Pm,{className:"lb-composer-suggestions-list lb-composer-mention-suggestions-list"},e.map((e=>s.default.createElement(Mm,{key:e,className:"lb-composer-suggestions-list-item lb-composer-mention-suggestion",value:e},s.default.createElement(cC,{userId:e,className:"lb-composer-mention-suggestion-avatar"}),s.default.createElement(tA,{userId:e,className:"lb-composer-mention-suggestion-user"})))))):null},Link:function({href:e,children:t}){return s.default.createElement(Rm,{href:e,className:"lb-composer-link"},t)}};function uA({showAttachments:e=!0,showAttribution:n,defaultValue:r,isCollapsed:o,overrides:a,actions:i,autoFocus:u,disabled:c,hasResolveMentionSuggestions:l,onEmojiPickerOpenChange:d,onEmptyChange:f,onEditorClick:h}){const{isEmpty:p}=gm(),{hasMaxAttachments:m}=mm(),v=go(a),[g,y]=wm({disabled:c||m});Xp((()=>{f(p)}),[p,f]);const b=t.useCallback((e=>{e.preventDefault()}),[]),E=t.useCallback((e=>{e.stopPropagation()}),[]);return s.default.createElement("div",{className:"lb-composer-editor-container",...y},s.default.createElement(Lm,{className:"lb-composer-editor",onClick:h,placeholder:v.COMPOSER_PLACEHOLDER,defaultValue:r,autoFocus:u,components:sA,disabled:c,dir:v.dir}),e&&s.default.createElement(iA,{overrides:a}),(!o||g)&&s.default.createElement("div",{className:"lb-composer-footer"},s.default.createElement("div",{className:"lb-composer-editor-actions"},l&&s.default.createElement(nA,{label:v.COMPOSER_INSERT_MENTION,disabled:c}),s.default.createElement(rA,{label:v.COMPOSER_INSERT_EMOJI,onPickerOpenChange:d,disabled:c}),e&&s.default.createElement(oA,{label:v.COMPOSER_ATTACH_FILES,disabled:c})),n&&s.default.createElement(sC,null),s.default.createElement("div",{className:"lb-composer-actions"},i??s.default.createElement(s.default.Fragment,null,s.default.createElement(Gw,{content:v.COMPOSER_SEND,shortcut:s.default.createElement(Xw,{name:"enter"})},s.default.createElement(Hm,{asChild:!0},s.default.createElement(lC,{onMouseDown:b,onClick:E,className:"lb-composer-action",variant:"primary","aria-label":v.COMPOSER_SEND},s.default.createElement(dv,null))))))),e&&g&&s.default.createElement("div",{className:"lb-composer-attachments-drop-area"},s.default.createElement("div",{className:"lb-composer-attachments-drop-area-label"},s.default.createElement(uv,null),v.COMPOSER_ATTACH_FILES)))}const cA=t.forwardRef((({threadId:e,commentId:n,metadata:r,defaultValue:o,defaultAttachments:a,onComposerSubmit:u,collapsed:c,defaultCollapsed:l,onCollapsedChange:d,overrides:f,actions:h,onBlur:p,className:m,onFocus:v,autoFocus:g,disabled:y,showAttachments:b=!0,showAttribution:E,...w},C)=>{const D=Qn(),A=Pr(),x=function(){const e=Qn(),t=Br();return i.useCallback((({threadId:n,body:r,attachments:o})=>{const a=Dt(),i=new Date,s={id:a,threadId:n,roomId:t.id,type:"comment",createdAt:i,userId:Cr(t),body:r,reactions:[],attachments:o??[]},{store:u,onMutationFailure:c}=xr(e),l=u.addOptimisticUpdate({type:"create-comment",comment:s}),d=o?.map((e=>e.id));return t.createComment({threadId:n,commentId:a,body:r,attachmentIds:d}).then((e=>{u.createComment(e,l)}),(e=>c(e,l,(e=>new hr(e,{roomId:t.id,threadId:n,commentId:a,body:r}))))),s}),[e,t])}(),_=Or(),{preventUnsavedComposerChanges:B}=Uh(),O=void 0!==D[he].resolveMentionSuggestions,S=t.useRef(!0),T=t.useRef(!1),k=go(f),[I,F]=function(e,n,r){const[o,a]=t.useState(r),i=void 0!==e,s=t.useRef(i);return t.useEffect((()=>{s.current=i}),[i]),[i?e:o,t.useCallback((e=>(i||a(e),n?.(e))),[i,n])]}((void 0!==c||void 0!==l)&&c,d,l),R=t.useCallback((e=>{S.current=e}),[]),N=t.useCallback((e=>{T.current=e}),[]),P=t.useCallback((e=>{v?.(e),e.isDefaultPrevented()||S.current&&F?.(!1)}),[F,v]),M=t.useCallback((e=>{if(p?.(e),e.isDefaultPrevented())return;!e.currentTarget.contains(e.relatedTarget??document.activeElement)&&S.current&&!T.current&&F?.(!0)}),[p,F]),j=t.useCallback((e=>{e.stopPropagation(),S.current&&F?.(!1)}),[F]),L=t.useCallback(((t,o)=>{u?.(t,o),o.isDefaultPrevented()||(n&&e?_({commentId:n,threadId:e,body:t.body,attachments:t.attachments}):e?x({threadId:e,body:t.body,attachments:t.attachments}):A({body:t.body,metadata:r??{},attachments:t.attachments}))}),[n,x,A,_,r,u,e]);return s.default.createElement(Aw,null,s.default.createElement(zm,{onComposerSubmit:L,className:no("lb-root lb-composer lb-composer-form",m),dir:k.dir,...w,ref:C,"data-collapsed":I?"":void 0,onFocus:P,onBlur:M,disabled:y,defaultAttachments:a,pasteFilesAsAttachments:b,preventUnsavedChanges:B},s.default.createElement(uA,{defaultValue:o,actions:h,overrides:f,isCollapsed:I,showAttachments:b,showAttribution:E,hasResolveMentionSuggestions:O,onEmptyChange:R,onEmojiPickerOpenChange:N,onEditorClick:j,autoFocus:g,disabled:y})))}));function lA(...e){const t=e[0];if(1===e.length)return t;const n=()=>{const n=e.map((e=>({useScope:e(),scopeName:e.scopeName})));return function(e){const r=n.reduce(((t,{useScope:n,scopeName:r})=>({...t,...n(e)[`__scope${r}`]})),{});return i.useMemo((()=>({[`__scope${t.scopeName}`]:r})),[r])}};return n.scopeName=t.scopeName,n}function dA(e){const t=e+"CollectionProvider",[n,r]=function(e,t=[]){let n=[];const r=()=>{const t=n.map((e=>i.createContext(e)));return function(n){const r=n?.[e]||t;return i.useMemo((()=>({[`__scope${e}`]:{...n,[e]:r}})),[n,r])}};return r.scopeName=e,[function(t,r){const o=i.createContext(r),a=n.length;function s(t){const{scope:n,children:r,...s}=t,u=n?.[e][a]||o,c=i.useMemo((()=>s),Object.values(s));return Vr.exports.jsx(u.Provider,{value:c,children:r})}return n=[...n,r],s.displayName=t+"Provider",[s,function(n,s){const u=s?.[e][a]||o,c=i.useContext(u);if(c)return c;if(void 0!==r)return r;throw new Error(`\`${n}\` must be used within \`${t}\``)}]},lA(r,...t)]}(t),[o,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),u=e=>{const{scope:t,children:n}=e,r=s.default.useRef(null),a=s.default.useRef(new Map).current;return Vr.exports.jsx(o,{scope:t,itemMap:a,collectionRef:r,children:n})};u.displayName=t;const c=e+"CollectionSlot",l=s.default.forwardRef(((e,t)=>{const{scope:n,children:r}=e,o=Wr(t,a(c,n).collectionRef);return Vr.exports.jsx(qr,{ref:o,children:r})}));l.displayName=c;const d=e+"CollectionItemSlot",f="data-radix-collection-item",h=s.default.forwardRef(((e,t)=>{const{scope:n,children:r,...o}=e,i=s.default.useRef(null),u=Wr(t,i),c=a(d,n);return s.default.useEffect((()=>(c.itemMap.set(i,{ref:i,...o}),()=>{c.itemMap.delete(i)}))),Vr.exports.jsx(qr,{[f]:"",ref:u,children:r})}));return h.displayName=d,[{Provider:u,Slot:l,ItemSlot:h},function(t){const n=a(e+"CollectionConsumer",t);return s.default.useCallback((()=>{const e=n.collectionRef.current;if(!e)return[];const t=Array.from(e.querySelectorAll(`[${f}]`));return Array.from(n.itemMap.values()).sort(((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current)))}),[n.collectionRef,n.itemMap])},r]}var fA=i.createContext(void 0);function hA(e){const t=i.useContext(fA);return e||t||"ltr"}function pA(...e){const t=e[0];if(1===e.length)return t;const n=()=>{const n=e.map((e=>({useScope:e(),scopeName:e.scopeName})));return function(e){const r=n.reduce(((t,{useScope:n,scopeName:r})=>({...t,...n(e)[`__scope${r}`]})),{});return i.useMemo((()=>({[`__scope${t.scopeName}`]:r})),[r])}};return n.scopeName=t.scopeName,n}var mA="rovingFocusGroup.onEntryFocus",vA={bubbles:!1,cancelable:!0},gA="RovingFocusGroup",[yA,bA,EA]=dA(gA),[wA,CA]=function(e,t=[]){let n=[];const r=()=>{const t=n.map((e=>i.createContext(e)));return function(n){const r=n?.[e]||t;return i.useMemo((()=>({[`__scope${e}`]:{...n,[e]:r}})),[n,r])}};return r.scopeName=e,[function(t,r){const o=i.createContext(r),a=n.length;function s(t){const{scope:n,children:r,...s}=t,u=n?.[e][a]||o,c=i.useMemo((()=>s),Object.values(s));return Vr.exports.jsx(u.Provider,{value:c,children:r})}return n=[...n,r],s.displayName=t+"Provider",[s,function(n,s){const u=s?.[e][a]||o,c=i.useContext(u);if(c)return c;if(void 0!==r)return r;throw new Error(`\`${n}\` must be used within \`${t}\``)}]},pA(r,...t)]}(gA,[EA]),[DA,AA]=wA(gA),xA=i.forwardRef(((e,t)=>Vr.exports.jsx(yA.Provider,{scope:e.__scopeRovingFocusGroup,children:Vr.exports.jsx(yA.Slot,{scope:e.__scopeRovingFocusGroup,children:Vr.exports.jsx(_A,{...e,ref:t})})})));xA.displayName=gA;var _A=i.forwardRef(((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:a,currentTabStopId:s,defaultCurrentTabStopId:u,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:d=!1,...f}=e,h=i.useRef(null),p=Wr(t,h),m=hA(a),[v=null,g]=Hr({prop:s,defaultProp:u,onChange:c}),[y,b]=i.useState(!1),E=zr(l),w=bA(n),C=i.useRef(!1),[D,A]=i.useState(0);return i.useEffect((()=>{const e=h.current;if(e)return e.addEventListener(mA,E),()=>e.removeEventListener(mA,E)}),[E]),Vr.exports.jsx(DA,{scope:n,orientation:r,dir:m,loop:o,currentTabStopId:v,onItemFocus:i.useCallback((e=>g(e)),[g]),onItemShiftTab:i.useCallback((()=>b(!0)),[]),onFocusableItemAdd:i.useCallback((()=>A((e=>e+1))),[]),onFocusableItemRemove:i.useCallback((()=>A((e=>e-1))),[]),children:Vr.exports.jsx(Jr.div,{tabIndex:y||0===D?-1:0,"data-orientation":r,...f,ref:p,style:{outline:"none",...e.style},onMouseDown:Lr(e.onMouseDown,(()=>{C.current=!0})),onFocus:Lr(e.onFocus,(e=>{const t=!C.current;if(e.target===e.currentTarget&&t&&!y){const t=new CustomEvent(mA,vA);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){const e=w().filter((e=>e.focusable));TA([e.find((e=>e.active)),e.find((e=>e.id===v)),...e].filter(Boolean).map((e=>e.ref.current)),d)}}C.current=!1})),onBlur:Lr(e.onBlur,(()=>b(!1)))})})})),BA="RovingFocusGroupItem",OA=i.forwardRef(((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:a,...s}=e,u=LE(),c=a||u,l=AA(BA,n),d=l.currentTabStopId===c,f=bA(n),{onFocusableItemAdd:h,onFocusableItemRemove:p}=l;return i.useEffect((()=>{if(r)return h(),()=>p()}),[r,h,p]),Vr.exports.jsx(yA.ItemSlot,{scope:n,id:c,focusable:r,active:o,children:Vr.exports.jsx(Jr.span,{tabIndex:d?0:-1,"data-orientation":l.orientation,...s,ref:t,onMouseDown:Lr(e.onMouseDown,(e=>{r?l.onItemFocus(c):e.preventDefault()})),onFocus:Lr(e.onFocus,(()=>l.onItemFocus(c))),onKeyDown:Lr(e.onKeyDown,(e=>{if("Tab"===e.key&&e.shiftKey)return void l.onItemShiftTab();if(e.target!==e.currentTarget)return;const t=function(e,t,n){const r=function(e,t){return"rtl"!==t?e:"ArrowLeft"===e?"ArrowRight":"ArrowRight"===e?"ArrowLeft":e}(e.key,n);return"vertical"===t&&["ArrowLeft","ArrowRight"].includes(r)||"horizontal"===t&&["ArrowUp","ArrowDown"].includes(r)?void 0:SA[r]}(e,l.orientation,l.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let o=f().filter((e=>e.focusable)).map((e=>e.ref.current));if("last"===t)o.reverse();else if("prev"===t||"next"===t){"prev"===t&&o.reverse();const a=o.indexOf(e.currentTarget);o=l.loop?(r=a+1,(n=o).map(((e,t)=>n[(r+t)%n.length]))):o.slice(a+1)}setTimeout((()=>TA(o)))}var n,r}))})})}));OA.displayName=BA;var SA={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function TA(e,t=!1){const n=document.activeElement;for(const r of e){if(r===n)return;if(r.focus({preventScroll:t}),document.activeElement!==n)return}}var kA=xA,IA=OA,FA=["Enter"," "],RA=["ArrowUp","PageDown","End"],NA=["ArrowDown","PageUp","Home",...RA],PA={ltr:[...FA,"ArrowRight"],rtl:[...FA,"ArrowLeft"]},MA={ltr:["ArrowLeft"],rtl:["ArrowRight"]},jA="Menu",[LA,zA,HA]=dA(jA),[UA,WA]=xE(jA,[HA,VE,CA]),$A=VE(),VA=CA(),[KA,qA]=UA(jA),[GA,XA]=UA(jA),ZA=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:o,onOpenChange:a,modal:s=!0}=e,u=$A(t),[c,l]=i.useState(null),d=i.useRef(!1),f=zr(a),h=hA(o);return i.useEffect((()=>{const e=()=>{d.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>d.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}}),[]),Vr.exports.jsx(sw,{...u,children:Vr.exports.jsx(KA,{scope:t,open:n,onOpenChange:f,content:c,onContentChange:l,children:Vr.exports.jsx(GA,{scope:t,onClose:i.useCallback((()=>f(!1)),[f]),isUsingKeyboardRef:d,dir:h,modal:s,children:r})})})};ZA.displayName=jA;var YA=i.forwardRef(((e,t)=>{const{__scopeMenu:n,...r}=e,o=$A(n);return Vr.exports.jsx(uw,{...o,...r,ref:t})}));YA.displayName="MenuAnchor";var JA="MenuPortal",[QA,ex]=UA(JA,{forceMount:void 0}),tx=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:o}=e,a=qA(JA,t);return Vr.exports.jsx(QA,{scope:t,forceMount:n,children:Vr.exports.jsx(fw,{present:n||a.open,children:Vr.exports.jsx(dw,{asChild:!0,container:o,children:r})})})};tx.displayName=JA;var nx="MenuContent",[rx,ox]=UA(nx),ax=i.forwardRef(((e,t)=>{const n=ex(nx,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,a=qA(nx,e.__scopeMenu),i=XA(nx,e.__scopeMenu);return Vr.exports.jsx(LA.Provider,{scope:e.__scopeMenu,children:Vr.exports.jsx(fw,{present:r||a.open,children:Vr.exports.jsx(LA.Slot,{scope:e.__scopeMenu,children:i.modal?Vr.exports.jsx(ix,{...o,ref:t}):Vr.exports.jsx(sx,{...o,ref:t})})})})})),ix=i.forwardRef(((e,t)=>{const n=qA(nx,e.__scopeMenu),r=i.useRef(null),o=Wr(t,r);return i.useEffect((()=>{const e=r.current;if(e)return TC(e)}),[]),Vr.exports.jsx(ux,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Lr(e.onFocusOutside,(e=>e.preventDefault()),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})})),sx=i.forwardRef(((e,t)=>{const n=qA(nx,e.__scopeMenu);return Vr.exports.jsx(ux,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})})),ux=i.forwardRef(((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:o,onOpenAutoFocus:a,onCloseAutoFocus:s,disableOutsidePointerEvents:u,onEntryFocus:c,onEscapeKeyDown:l,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:h,onDismiss:p,disableOutsideScroll:m,...v}=e,g=qA(nx,n),y=XA(nx,n),b=$A(n),E=VA(n),w=zA(n),[C,D]=i.useState(null),A=i.useRef(null),x=Wr(t,A,g.onContentChange),_=i.useRef(0),B=i.useRef(""),O=i.useRef(0),S=i.useRef(null),T=i.useRef("right"),k=i.useRef(0),I=m?ED:i.Fragment,F=m?{as:qr,allowPinchZoom:!0}:void 0,R=e=>{const t=B.current+e,n=w().filter((e=>!e.disabled)),r=document.activeElement,o=n.find((e=>e.ref.current===r))?.textValue,a=function(e,t,n){const r=t.length>1&&Array.from(t).every((e=>e===t[0])),o=r?t[0]:t,a=n?e.indexOf(n):-1;let i=(s=e,u=Math.max(a,0),s.map(((e,t)=>s[(u+t)%s.length])));var s,u;1===o.length&&(i=i.filter((e=>e!==n)));const c=i.find((e=>e.toLowerCase().startsWith(o.toLowerCase())));return c!==n?c:void 0}(n.map((e=>e.textValue)),t,o),i=n.find((e=>e.textValue===a))?.ref.current;!function e(t){B.current=t,window.clearTimeout(_.current),""!==t&&(_.current=window.setTimeout((()=>e("")),1e3))}(t),i&&setTimeout((()=>i.focus()))};i.useEffect((()=>()=>window.clearTimeout(_.current)),[]),fC();const N=i.useCallback((e=>T.current===S.current?.side&&function(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return function(e,t){const{x:n,y:r}=e;let o=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){const i=t[e].x,s=t[e].y,u=t[a].x,c=t[a].y;s>r!=c>r&&n<(u-i)*(r-s)/(c-s)+i&&(o=!o)}return o}(n,t)}(e,S.current?.area)),[]);return Vr.exports.jsx(rx,{scope:n,searchRef:B,onItemEnter:i.useCallback((e=>{N(e)&&e.preventDefault()}),[N]),onItemLeave:i.useCallback((e=>{N(e)||(A.current?.focus(),D(null))}),[N]),onTriggerLeave:i.useCallback((e=>{N(e)&&e.preventDefault()}),[N]),pointerGraceTimerRef:O,onPointerGraceIntentChange:i.useCallback((e=>{S.current=e}),[]),children:Vr.exports.jsx(I,{...F,children:Vr.exports.jsx(gC,{asChild:!0,trapped:o,onMountAutoFocus:Lr(a,(e=>{e.preventDefault(),A.current?.focus({preventScroll:!0})})),onUnmountAutoFocus:s,children:Vr.exports.jsx(IE,{asChild:!0,disableOutsidePointerEvents:u,onEscapeKeyDown:l,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:h,onDismiss:p,children:Vr.exports.jsx(kA,{asChild:!0,...E,dir:y.dir,orientation:"vertical",loop:r,currentTabStopId:C,onCurrentTabStopIdChange:D,onEntryFocus:Lr(c,(e=>{y.isUsingKeyboardRef.current||e.preventDefault()})),preventScrollOnEntryFocus:!0,children:Vr.exports.jsx(cw,{role:"menu","aria-orientation":"vertical","data-state":Rx(g.open),"data-radix-menu-content":"",dir:y.dir,...b,...v,ref:x,style:{outline:"none",...v.style},onKeyDown:Lr(v.onKeyDown,(e=>{const t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=1===e.key.length;t&&("Tab"===e.key&&e.preventDefault(),!n&&r&&R(e.key));const o=A.current;if(e.target!==o)return;if(!NA.includes(e.key))return;e.preventDefault();const a=w().filter((e=>!e.disabled)).map((e=>e.ref.current));RA.includes(e.key)&&a.reverse(),function(e){const t=document.activeElement;for(const n of e){if(n===t)return;if(n.focus(),document.activeElement!==t)return}}(a)})),onBlur:Lr(e.onBlur,(e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(_.current),B.current="")})),onPointerMove:Lr(e.onPointerMove,Mx((e=>{const t=e.target,n=k.current!==e.clientX;if(e.currentTarget.contains(t)&&n){const t=e.clientX>k.current?"right":"left";T.current=t,k.current=e.clientX}})))})})})})})})}));ax.displayName=nx;var cx=i.forwardRef(((e,t)=>{const{__scopeMenu:n,...r}=e;return Vr.exports.jsx(Jr.div,{role:"group",...r,ref:t})}));cx.displayName="MenuGroup";var lx=i.forwardRef(((e,t)=>{const{__scopeMenu:n,...r}=e;return Vr.exports.jsx(Jr.div,{...r,ref:t})}));lx.displayName="MenuLabel";var dx="MenuItem",fx="menu.itemSelect",hx=i.forwardRef(((e,t)=>{const{disabled:n=!1,onSelect:r,...o}=e,a=i.useRef(null),s=XA(dx,e.__scopeMenu),u=ox(dx,e.__scopeMenu),c=Wr(t,a),l=i.useRef(!1);return Vr.exports.jsx(px,{...o,ref:c,disabled:n,onClick:Lr(e.onClick,(()=>{const e=a.current;if(!n&&e){const t=new CustomEvent(fx,{bubbles:!0,cancelable:!0});e.addEventListener(fx,(e=>r?.(e)),{once:!0}),Qr(e,t),t.defaultPrevented?l.current=!1:s.onClose()}})),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:Lr(e.onPointerUp,(e=>{l.current||e.currentTarget?.click()})),onKeyDown:Lr(e.onKeyDown,(e=>{const t=""!==u.searchRef.current;n||t&&" "===e.key||FA.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())}))})}));hx.displayName=dx;var px=i.forwardRef(((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:o,...a}=e,s=ox(dx,n),u=VA(n),c=i.useRef(null),l=Wr(t,c),[d,f]=i.useState(!1),[h,p]=i.useState("");return i.useEffect((()=>{const e=c.current;e&&p((e.textContent??"").trim())}),[a.children]),Vr.exports.jsx(LA.ItemSlot,{scope:n,disabled:r,textValue:o??h,children:Vr.exports.jsx(IA,{asChild:!0,...u,focusable:!r,children:Vr.exports.jsx(Jr.div,{role:"menuitem","data-highlighted":d?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...a,ref:l,onPointerMove:Lr(e.onPointerMove,Mx((e=>{if(r)s.onItemLeave(e);else if(s.onItemEnter(e),!e.defaultPrevented){e.currentTarget.focus({preventScroll:!0})}}))),onPointerLeave:Lr(e.onPointerLeave,Mx((e=>s.onItemLeave(e)))),onFocus:Lr(e.onFocus,(()=>f(!0))),onBlur:Lr(e.onBlur,(()=>f(!1)))})})})})),mx=i.forwardRef(((e,t)=>{const{checked:n=!1,onCheckedChange:r,...o}=e;return Vr.exports.jsx(Dx,{scope:e.__scopeMenu,checked:n,children:Vr.exports.jsx(hx,{role:"menuitemcheckbox","aria-checked":Nx(n)?"mixed":n,...o,ref:t,"data-state":Px(n),onSelect:Lr(o.onSelect,(()=>r?.(!!Nx(n)||!n)),{checkForDefaultPrevented:!1})})})}));mx.displayName="MenuCheckboxItem";var vx="MenuRadioGroup",[gx,yx]=UA(vx,{value:void 0,onValueChange:()=>{}}),bx=i.forwardRef(((e,t)=>{const{value:n,onValueChange:r,...o}=e,a=zr(r);return Vr.exports.jsx(gx,{scope:e.__scopeMenu,value:n,onValueChange:a,children:Vr.exports.jsx(cx,{...o,ref:t})})}));bx.displayName=vx;var Ex="MenuRadioItem",wx=i.forwardRef(((e,t)=>{const{value:n,...r}=e,o=yx(Ex,e.__scopeMenu),a=n===o.value;return Vr.exports.jsx(Dx,{scope:e.__scopeMenu,checked:a,children:Vr.exports.jsx(hx,{role:"menuitemradio","aria-checked":a,...r,ref:t,"data-state":Px(a),onSelect:Lr(r.onSelect,(()=>o.onValueChange?.(n)),{checkForDefaultPrevented:!1})})})}));wx.displayName=Ex;var Cx="MenuItemIndicator",[Dx,Ax]=UA(Cx,{checked:!1}),xx=i.forwardRef(((e,t)=>{const{__scopeMenu:n,forceMount:r,...o}=e,a=Ax(Cx,n);return Vr.exports.jsx(fw,{present:r||Nx(a.checked)||!0===a.checked,children:Vr.exports.jsx(Jr.span,{...o,ref:t,"data-state":Px(a.checked)})})}));xx.displayName=Cx;var _x=i.forwardRef(((e,t)=>{const{__scopeMenu:n,...r}=e;return Vr.exports.jsx(Jr.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})}));_x.displayName="MenuSeparator";var Bx=i.forwardRef(((e,t)=>{const{__scopeMenu:n,...r}=e,o=$A(n);return Vr.exports.jsx(lw,{...o,...r,ref:t})}));Bx.displayName="MenuArrow";var[Ox,Sx]=UA("MenuSub"),Tx="MenuSubTrigger",kx=i.forwardRef(((e,t)=>{const n=qA(Tx,e.__scopeMenu),r=XA(Tx,e.__scopeMenu),o=Sx(Tx,e.__scopeMenu),a=ox(Tx,e.__scopeMenu),s=i.useRef(null),{pointerGraceTimerRef:u,onPointerGraceIntentChange:c}=a,l={__scopeMenu:e.__scopeMenu},d=i.useCallback((()=>{s.current&&window.clearTimeout(s.current),s.current=null}),[]);return i.useEffect((()=>d),[d]),i.useEffect((()=>{const e=u.current;return()=>{window.clearTimeout(e),c(null)}}),[u,c]),Vr.exports.jsx(YA,{asChild:!0,...l,children:Vr.exports.jsx(px,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":o.contentId,"data-state":Rx(n.open),...e,ref:Ur(t,o.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:Lr(e.onPointerMove,Mx((t=>{a.onItemEnter(t),t.defaultPrevented||e.disabled||n.open||s.current||(a.onPointerGraceIntentChange(null),s.current=window.setTimeout((()=>{n.onOpenChange(!0),d()}),100))}))),onPointerLeave:Lr(e.onPointerLeave,Mx((e=>{d();const t=n.content?.getBoundingClientRect();if(t){const r=n.content?.dataset.side,o="right"===r,i=o?-5:5,s=t[o?"left":"right"],c=t[o?"right":"left"];a.onPointerGraceIntentChange({area:[{x:e.clientX+i,y:e.clientY},{x:s,y:t.top},{x:c,y:t.top},{x:c,y:t.bottom},{x:s,y:t.bottom}],side:r}),window.clearTimeout(u.current),u.current=window.setTimeout((()=>a.onPointerGraceIntentChange(null)),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}}))),onKeyDown:Lr(e.onKeyDown,(t=>{const o=""!==a.searchRef.current;e.disabled||o&&" "===t.key||PA[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())}))})})}));kx.displayName=Tx;var Ix="MenuSubContent",Fx=i.forwardRef(((e,t)=>{const n=ex(nx,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,a=qA(nx,e.__scopeMenu),s=XA(nx,e.__scopeMenu),u=Sx(Ix,e.__scopeMenu),c=i.useRef(null),l=Wr(t,c);return Vr.exports.jsx(LA.Provider,{scope:e.__scopeMenu,children:Vr.exports.jsx(fw,{present:r||a.open,children:Vr.exports.jsx(LA.Slot,{scope:e.__scopeMenu,children:Vr.exports.jsx(ux,{id:u.contentId,"aria-labelledby":u.triggerId,...o,ref:l,align:"start",side:"rtl"===s.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&c.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:Lr(e.onFocusOutside,(e=>{e.target!==u.trigger&&a.onOpenChange(!1)})),onEscapeKeyDown:Lr(e.onEscapeKeyDown,(e=>{s.onClose(),e.preventDefault()})),onKeyDown:Lr(e.onKeyDown,(e=>{const t=e.currentTarget.contains(e.target),n=MA[s.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),u.trigger?.focus(),e.preventDefault())}))})})})})}));function Rx(e){return e?"open":"closed"}function Nx(e){return"indeterminate"===e}function Px(e){return Nx(e)?"indeterminate":e?"checked":"unchecked"}function Mx(e){return t=>"mouse"===t.pointerType?e(t):void 0}Fx.displayName=Ix;var jx=ZA,Lx=YA,zx=tx,Hx=ax,Ux=cx,Wx=lx,$x=hx,Vx=mx,Kx=bx,qx=wx,Gx=xx,Xx=_x,Zx=Bx,Yx=kx,Jx=Fx,Qx="DropdownMenu",[e_,t_]=xE(Qx,[WA]),n_=WA(),[r_,o_]=e_(Qx),a_=e=>{const{__scopeDropdownMenu:t,children:n,dir:r,open:o,defaultOpen:a,onOpenChange:s,modal:u=!0}=e,c=n_(t),l=i.useRef(null),[d=!1,f]=Hr({prop:o,defaultProp:a,onChange:s});return Vr.exports.jsx(r_,{scope:t,triggerId:LE(),triggerRef:l,contentId:LE(),open:d,onOpenChange:f,onOpenToggle:i.useCallback((()=>f((e=>!e))),[f]),modal:u,children:Vr.exports.jsx(jx,{...c,open:d,onOpenChange:f,dir:r,modal:u,children:n})})};a_.displayName=Qx;var i_="DropdownMenuTrigger",s_=i.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,disabled:r=!1,...o}=e,a=o_(i_,n),i=n_(n);return Vr.exports.jsx(Lx,{asChild:!0,...i,children:Vr.exports.jsx(Jr.button,{type:"button",id:a.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...o,ref:Ur(t,a.triggerRef),onPointerDown:Lr(e.onPointerDown,(e=>{r||0!==e.button||!1!==e.ctrlKey||(a.onOpenToggle(),a.open||e.preventDefault())})),onKeyDown:Lr(e.onKeyDown,(e=>{r||(["Enter"," "].includes(e.key)&&a.onOpenToggle(),"ArrowDown"===e.key&&a.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())}))})})}));s_.displayName=i_;var u_=e=>{const{__scopeDropdownMenu:t,...n}=e,r=n_(t);return Vr.exports.jsx(zx,{...r,...n})};u_.displayName="DropdownMenuPortal";var c_="DropdownMenuContent",l_=i.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=o_(c_,n),a=n_(n),s=i.useRef(!1);return Vr.exports.jsx(Hx,{id:o.contentId,"aria-labelledby":o.triggerId,...a,...r,ref:t,onCloseAutoFocus:Lr(e.onCloseAutoFocus,(e=>{s.current||o.triggerRef.current?.focus(),s.current=!1,e.preventDefault()})),onInteractOutside:Lr(e.onInteractOutside,(e=>{const t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,r=2===t.button||n;o.modal&&!r||(s.current=!0)})),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}));l_.displayName=c_;i.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=n_(n);return Vr.exports.jsx(Ux,{...o,...r,ref:t})})).displayName="DropdownMenuGroup";i.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=n_(n);return Vr.exports.jsx(Wx,{...o,...r,ref:t})})).displayName="DropdownMenuLabel";var d_=i.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=n_(n);return Vr.exports.jsx($x,{...o,...r,ref:t})}));d_.displayName="DropdownMenuItem";i.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=n_(n);return Vr.exports.jsx(Vx,{...o,...r,ref:t})})).displayName="DropdownMenuCheckboxItem";i.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=n_(n);return Vr.exports.jsx(Kx,{...o,...r,ref:t})})).displayName="DropdownMenuRadioGroup";i.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=n_(n);return Vr.exports.jsx(qx,{...o,...r,ref:t})})).displayName="DropdownMenuRadioItem";i.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=n_(n);return Vr.exports.jsx(Gx,{...o,...r,ref:t})})).displayName="DropdownMenuItemIndicator";i.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=n_(n);return Vr.exports.jsx(Xx,{...o,...r,ref:t})})).displayName="DropdownMenuSeparator";i.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=n_(n);return Vr.exports.jsx(Zx,{...o,...r,ref:t})})).displayName="DropdownMenuArrow";i.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=n_(n);return Vr.exports.jsx(Yx,{...o,...r,ref:t})})).displayName="DropdownMenuSubTrigger";i.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=n_(n);return Vr.exports.jsx(Jx,{...o,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})})).displayName="DropdownMenuSubContent";var f_=a_,h_=u_,p_=l_;function m_({children:e,content:t,defaultOpen:n,open:r,onOpenChange:o,className:a,...i}){const u=go(),{portalContainer:c}=Uh();return s.default.createElement(f_,{defaultOpen:n,open:r,onOpenChange:o,dir:u.dir},e,s.default.createElement(h_,{container:c},s.default.createElement(p_,{className:no("lb-root lb-portal lb-elevation lb-dropdown",a),sideOffset:6,collisionPadding:10,...i},t)))}const v_=t.forwardRef((({children:e,className:t,...n},r)=>s.default.createElement(d_,{className:no("lb-dropdown-item",t),...n,ref:r},e))),g_=t.forwardRef((({values:e,formatRemaining:n,truncate:r,locale:o,className:a,asChild:i,...u},c)=>{const l=i?qr:"span",d=go(),f=n??d.LIST_REMAINING,h=t.useMemo((()=>{const t=r&&r<e.length-1?[...e.slice(0,r),f(e.length-r)]:[...e],n=Array(t.length).fill(".");return qm(o).formatToParts(n).map((e=>"element"===e.type?t.shift():e.value))}),[f,o,r,e]);return s.default.createElement(l,{className:no("lb-list",a),...u,ref:c},h)}));function y_({userId:e,className:t,...n}){const r=ev();return s.default.createElement(As,{className:no("lb-comment-mention",t),"data-self":e===r?"":void 0,...n},bs,s.default.createElement(tA,{userId:e}))}function b_({href:e,children:t,className:n,...r}){return s.default.createElement(xs,{className:no("lb-comment-link",n),href:e,...r},t)}function E_({href:e,children:t,className:n,...r}){return s.default.createElement("span",{className:no("lb-comment-link",n),...r},t)}const w_=t.forwardRef((({reaction:e,overrides:t,className:n,...r},o)=>{const a=go(t);return s.default.createElement(lC,{className:no("lb-comment-reaction",n),variant:"outline","aria-label":a.COMMENT_REACTION_DESCRIPTION(e.emoji,e.users.length),...r,ref:o},s.default.createElement(ho,{className:"lb-comment-reaction-emoji",emoji:e.emoji}),s.default.createElement("span",{className:"lb-comment-reaction-count"},e.users.length))})),C_=t.forwardRef((({comment:e,reaction:n,overrides:r,disabled:o,...a},i)=>{const u=Nr(),c=Sr(),l=ev(),d=t.useMemo((()=>n.users.some((e=>e.id===l))),[l,n]),f=go(r),h=t.useMemo((()=>s.default.createElement("span",null,f.COMMENT_REACTION_LIST(s.default.createElement(g_,{values:n.users.map((e=>s.default.createElement(tA,{key:e.id,userId:e.id,replaceSelf:!0}))),formatRemaining:f.LIST_REMAINING_USERS,truncate:5,locale:f.locale}),n.emoji,n.users.length))),[f,n]),p=t.useCallback((e=>{e.stopPropagation()}),[]),m=t.useCallback((t=>{t?u({threadId:e.threadId,commentId:e.id,emoji:n.emoji}):c({threadId:e.threadId,commentId:e.id,emoji:n.emoji})}),[u,e.threadId,e.id,n.emoji,c]);return s.default.createElement(qw,{content:h,multiline:!0,className:"lb-comment-reaction-tooltip"},s.default.createElement(to,{asChild:!0,pressed:d,onPressedChange:m,onClick:p,disabled:o,ref:i},s.default.createElement(w_,{"data-self":d?"":void 0,reaction:n,overrides:r,...a})))})),D_=t.forwardRef((({reaction:e,overrides:n,...r},o)=>{const a=ev(),i=t.useMemo((()=>e.users.some((e=>e.id===a))),[a,e]);return s.default.createElement(w_,{disableable:!1,"data-self":i?"":void 0,reaction:e,overrides:n,...r,ref:o})}));function A_({attachment:e,url:t}){"application/pdf"===e.mimeType||e.mimeType.startsWith("image/")||e.mimeType.startsWith("video/")||e.mimeType.startsWith("audio/")?window.open(t,"_blank"):function(e,t){const n=document.createElement("a");n.href=e,n.download=t,n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}(t,e.name)}function x_({attachment:e,onAttachmentClick:n,className:r,overrides:o,...a}){const{url:i}=kr(e.id),u=t.useCallback((t=>{if(!i)return;const r={attachment:e,url:i};n?.(r,t),t.isDefaultPrevented()||A_(r)}),[e,n,i]);return s.default.createElement(aC,{className:no("lb-comment-attachment",r),...a,attachment:e,overrides:o,onClick:i?u:void 0})}function __({attachment:e,onAttachmentClick:n,className:r,overrides:o,...a}){const{url:i}=kr(e.id),u=t.useCallback((t=>{if(!i)return;const r={attachment:e,url:i};n?.(r,t),t.isDefaultPrevented()||A_(r)}),[e,n,i]);return s.default.createElement(iC,{className:no("lb-comment-attachment",r),...a,attachment:e,overrides:o,onClick:i?u:void 0})}function B_({className:e,...t}){return s.default.createElement(iC,{className:no("lb-comment-attachment",e),allowMediaPreview:!1,...t})}function O_({threadId:e,commentRef:t}){const n=function(){const e=Qn(),t=Br();return i.useCallback((n=>{const{store:r,onMutationFailure:o}=xr(e),a=Object.values(r.getFullState().notificationsById).find((e=>"thread"===e.kind&&e.threadId===n));if(!a)return;const i=new Date,s=r.addOptimisticUpdate({type:"mark-inbox-notification-as-read",inboxNotificationId:a.id,readAt:i});t.markInboxNotificationAsRead(a.id).then((()=>{r.updateInboxNotification(a.id,s,(e=>({...e,readAt:i})))}),(e=>{o(e,s,(e=>new yr(e,{inboxNotificationId:a.id})))}))}),[e,t])}();return ov(t,(()=>{n(e)}),{enabled:an.exports.useSyncExternalStore(av,iv,sv)}),null}const S_=t.forwardRef((({comment:e,indentContent:n=!0,showDeleted:r,showActions:o="hover",showReactions:a=!0,showAttachments:u=!0,onAuthorClick:c,onMentionClick:l,onAttachmentClick:d,onCommentEdit:f,onCommentDelete:h,overrides:p,className:m,additionalActions:v,additionalActionsClassName:g,autoMarkReadThreadId:y,...b},E)=>{const w=Boolean(t.useContext(dn)),C=t.useRef(null),D=cm(E,C),A=ev(),x=function(){const e=Qn(),t=Br();return i.useCallback((({threadId:n,commentId:r})=>{const o=new Date,{store:a,onMutationFailure:i}=xr(e),s=a.addOptimisticUpdate({type:"delete-comment",threadId:n,commentId:r,deletedAt:o,roomId:t.id});t.deleteComment({threadId:n,commentId:r}).then((()=>{a.deleteComment(n,s,r,o)}),(e=>i(e,s,(e=>new mr(e,{roomId:t.id,threadId:n,commentId:r})))))}),[e,t])}(),_=Or(),B=Nr(),O=Sr(),S=go(p),[T,k]=t.useState(!1),[I,F]=t.useState(!1),[R,N]=t.useState(!1),[P,M]=t.useState(!1),{mediaAttachments:j,fileAttachments:L}=t.useMemo((()=>function(e){const t=[],n=[];for(const r of e)(r.mimeType.startsWith("image/")||r.mimeType.startsWith("video/"))&&r.size<=Zw?t.push(r):n.push(r);return{mediaAttachments:t,fileAttachments:n}}(e.attachments)),[e.attachments]),z=t.useCallback((e=>{e.stopPropagation()}),[]),H=t.useCallback((()=>{k(!0)}),[]),U=t.useCallback((e=>{e.stopPropagation(),k(!1)}),[]),W=t.useCallback((({body:t,attachments:n},r)=>{f?.(e),r.preventDefault(),k(!1),_({commentId:e.id,threadId:e.threadId,body:t,attachments:n})}),[e,_,f]),$=t.useCallback((()=>{h?.(e),x({commentId:e.id,threadId:e.threadId})}),[e,x,h]),V=t.useCallback((t=>{c?.(e.userId,t)}),[e.userId,c]),K=t.useCallback((t=>{const n=e.reactions.findIndex((e=>e.emoji===t));n>=0&&A&&e.reactions[n]?.users.some((e=>e.id===A))?O({threadId:e.threadId,commentId:e.id,emoji:t}):B({threadId:e.threadId,commentId:e.id,emoji:t})}),[B,e.id,e.reactions,e.threadId,O,A]);return t.useEffect((()=>{if(!("undefined"!=typeof window))return;window.location.hash.slice(1)===e.id&&F(!0)}),[]),r||e.body?s.default.createElement(Aw,null,w&&y&&s.default.createElement(O_,{commentRef:C,threadId:y}),s.default.createElement("div",{id:e.id,className:no("lb-root lb-comment",n&&"lb-comment:indent-content","hover"===o&&"lb-comment:show-actions-hover",(R||P)&&"lb-comment:action-open",m),"data-deleted":e.body?void 0:"","data-editing":T?"":void 0,"data-target":I?"":void 0,dir:S.dir,...b,ref:D},s.default.createElement("div",{className:"lb-comment-header"},s.default.createElement("div",{className:"lb-comment-details"},s.default.createElement(cC,{className:"lb-comment-avatar",userId:e.userId,onClick:V}),s.default.createElement("span",{className:"lb-comment-details-labels"},s.default.createElement(tA,{className:"lb-comment-author",userId:e.userId,onClick:V}),s.default.createElement("span",{className:"lb-comment-date"},s.default.createElement(Qm,{locale:S.locale,date:e.createdAt,className:"lb-date lb-comment-date-created"}),e.editedAt&&e.body&&s.default.createElement(s.default.Fragment,null," ",s.default.createElement("span",{className:"lb-comment-date-edited"},S.COMMENT_EDITED))))),o&&!T&&s.default.createElement("div",{className:no("lb-comment-actions",g)},v??null,a&&s.default.createElement(eA,{onEmojiSelect:K,onOpenChange:M},s.default.createElement(qw,{content:S.COMMENT_ADD_REACTION},s.default.createElement(TD,{asChild:!0},s.default.createElement(lC,{className:"lb-comment-action",onClick:z,"aria-label":S.COMMENT_ADD_REACTION},s.default.createElement(co,{className:"lb-button-icon"}))))),e.userId===A&&s.default.createElement(m_,{open:R,onOpenChange:N,align:"end",content:s.default.createElement(s.default.Fragment,null,s.default.createElement(v_,{onSelect:H,onClick:z},s.default.createElement(so,{className:"lb-dropdown-item-icon"}),S.COMMENT_EDIT),s.default.createElement(v_,{onSelect:$,onClick:z},s.default.createElement(io,{className:"lb-dropdown-item-icon"}),S.COMMENT_DELETE))},s.default.createElement(qw,{content:S.COMMENT_MORE},s.default.createElement(s_,{asChild:!0},s.default.createElement(lC,{className:"lb-comment-action",disabled:!e.body,onClick:z,"aria-label":S.COMMENT_MORE},s.default.createElement(uo,{className:"lb-button-icon"}))))))),s.default.createElement("div",{className:"lb-comment-content"},T?s.default.createElement(cA,{className:"lb-comment-composer",onComposerSubmit:W,defaultValue:e.body,defaultAttachments:e.attachments,autoFocus:!0,showAttribution:!1,showAttachments:u,actions:s.default.createElement(s.default.Fragment,null,s.default.createElement(qw,{content:S.COMMENT_EDIT_COMPOSER_CANCEL,"aria-label":S.COMMENT_EDIT_COMPOSER_CANCEL},s.default.createElement(lC,{className:"lb-composer-action",onClick:U},s.default.createElement(ao,{className:"lb-button-icon"}))),s.default.createElement(Gw,{content:S.COMMENT_EDIT_COMPOSER_SAVE,shortcut:s.default.createElement(Xw,{name:"enter"})},s.default.createElement(Hm,{asChild:!0},s.default.createElement(lC,{variant:"primary",className:"lb-composer-action",onClick:z,"aria-label":S.COMMENT_EDIT_COMPOSER_SAVE},s.default.createElement(oo,{className:"lb-button-icon"}))))),overrides:{COMPOSER_PLACEHOLDER:S.COMMENT_EDIT_COMPOSER_PLACEHOLDER}}):e.body?s.default.createElement(s.default.Fragment,null,s.default.createElement(Bs,{className:"lb-comment-body",body:e.body,components:{Mention:({userId:e})=>s.default.createElement(y_,{userId:e,onClick:t=>l?.(e,t)}),Link:b_}}),u&&(j.length>0||L.length>0)?s.default.createElement("div",{className:"lb-comment-attachments"},j.length>0?s.default.createElement("div",{className:"lb-attachments"},j.map((e=>s.default.createElement(x_,{key:e.id,attachment:e,overrides:p,onAttachmentClick:d})))):null,L.length>0?s.default.createElement("div",{className:"lb-attachments"},L.map((e=>s.default.createElement(__,{key:e.id,attachment:e,overrides:p,onAttachmentClick:d})))):null):null,a&&e.reactions.length>0&&s.default.createElement("div",{className:"lb-comment-reactions"},e.reactions.map((t=>s.default.createElement(C_,{key:t.emoji,comment:e,reaction:t,overrides:p}))),s.default.createElement(eA,{onEmojiSelect:K},s.default.createElement(qw,{content:S.COMMENT_ADD_REACTION},s.default.createElement(TD,{asChild:!0},s.default.createElement(lC,{className:"lb-comment-reaction lb-comment-reaction-add",variant:"outline",onClick:z,"aria-label":S.COMMENT_ADD_REACTION},s.default.createElement(co,{className:"lb-button-icon"}))))))):s.default.createElement("div",{className:"lb-comment-body"},s.default.createElement("p",{className:"lb-comment-deleted"},S.COMMENT_DELETED))))):null})),T_="https://localhost:9999",k_=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/;function I_({comment:e,showHeader:t=!0,showAttachments:n=!0,showReactions:r=!0,overrides:o,className:a,...i}){const u=go(o);return s.default.createElement("div",{className:no("lb-root lb-inbox-notification-comment lb-comment",a),...i},t&&s.default.createElement("div",{className:"lb-comment-header"},s.default.createElement(tA,{className:"lb-comment-author",userId:e.userId})),s.default.createElement("div",{className:"lb-comment-content"},e.body?s.default.createElement(s.default.Fragment,null,s.default.createElement(Bs,{className:"lb-comment-body",body:e.body,components:{Mention:y_,Link:E_}}),r&&e.reactions.length>0&&s.default.createElement("div",{className:"lb-comment-reactions"},e.reactions.map((e=>s.default.createElement(D_,{key:e.emoji,reaction:e,overrides:o,disabled:!0})))),n&&e.attachments.length>0?s.default.createElement("div",{className:"lb-comment-attachments"},s.default.createElement("div",{className:"lb-attachments"},e.attachments.map((e=>s.default.createElement(B_,{key:e.id,attachment:e,overrides:o}))))):null):s.default.createElement("div",{className:"lb-comment-body"},s.default.createElement("p",{className:"lb-comment-deleted"},u.COMMENT_DELETED))))}function F_(e){return Array.from(new Set(e.map((e=>e.userId))))}function R_(e,t,n){const r=t.comments.filter((t=>!!t.body&&(e.readAt?t.createdAt>e.readAt&&t.createdAt<=e.notifiedAt:t.createdAt<=e.notifiedAt)));if(0===r.length){const n=t.comments.filter((e=>e.body)).slice(-3);return{type:"comments",unread:!1,comments:n,userIds:F_(n),date:e.notifiedAt}}const o=function(e,t){if(e.length)for(let n=e.length-1;n>=0;n--){const r=e[n];if(r.userId!==t&&r.body&&Xt(r.body).includes(t))return r}}(r,n);if(o)return{type:"mention",unread:!0,comments:[o],userIds:[o.userId],date:o.createdAt};return{type:"comments",unread:!0,comments:r.slice(-3),userIds:F_(r),date:e.notifiedAt}}function N_({roomId:e,className:n,...r}){const{info:o,isLoading:a}=sr(e),i=t.useMemo((()=>o?.name??e),[o?.name,e]);return s.default.createElement("span",{className:no("lb-name lb-room",n),"data-loading":a?"":void 0,...r},a?null:i)}const P_=t.forwardRef((({inboxNotification:e,children:n,aside:r,title:o,date:a,unread:i,markAsReadOnClick:u,onClick:c,href:l,showActions:d,overrides:f,components:h,className:p,asChild:m,...v},g)=>{const y=go(f),{Anchor:b}=function(e){const n=t.useContext(zh);return t.useMemo((()=>({...Lh,...n,...e})),[n,e])}(h),E=m?qr:b,[w,C]=t.useState(!1),D=or(),A=ir(),x=t.useCallback((t=>{c?.(t);const n=u??Boolean(l);i&&n&&D(e.id)}),[l,e.id,u,D,c,i]),_=t.useCallback((e=>{e.stopPropagation()}),[]),B=t.useCallback((e=>{e.preventDefault(),e.stopPropagation()}),[]),O=t.useCallback((e=>{e.preventDefault(),e.stopPropagation(),C((e=>!e))}),[]),S=t.useCallback((()=>{D(e.id)}),[e.id,D]),T=t.useCallback((()=>{A(e.id)}),[e.id,A]);return s.default.createElement(Aw,null,s.default.createElement(E,{className:no("lb-root lb-inbox-notification","hover"===d&&"lb-inbox-notification:show-actions-hover",w&&"lb-inbox-notification:action-open",p),dir:y.dir,"data-unread":i?"":void 0,"data-kind":e.kind,onClick:x,href:l,...v,ref:g},r&&s.default.createElement("div",{className:"lb-inbox-notification-aside"},r),s.default.createElement("div",{className:"lb-inbox-notification-content"},s.default.createElement("div",{className:"lb-inbox-notification-header"},s.default.createElement("span",{className:"lb-inbox-notification-title"},o),s.default.createElement("div",{className:"lb-inbox-notification-details"},s.default.createElement("span",{className:"lb-inbox-notification-details-labels"},s.default.createElement(Qm,{locale:y.locale,date:a,className:"lb-date lb-inbox-notification-date"}),i&&s.default.createElement("span",{className:"lb-inbox-notification-unread-indicator",role:"presentation"}))),d&&s.default.createElement("div",{className:"lb-inbox-notification-actions"},s.default.createElement(m_,{open:w,onOpenChange:C,align:"end",content:s.default.createElement(s.default.Fragment,null,i?s.default.createElement(v_,{onSelect:S,onClick:_},s.default.createElement(oo,{className:"lb-dropdown-item-icon"}),y.INBOX_NOTIFICATION_MARK_AS_READ):null,s.default.createElement(v_,{onSelect:T,onClick:_},s.default.createElement(io,{className:"lb-dropdown-item-icon"}),y.INBOX_NOTIFICATION_DELETE))},s.default.createElement(qw,{content:y.INBOX_NOTIFICATION_MORE},s.default.createElement(s_,{asChild:!0},s.default.createElement(lC,{className:"lb-inbox-notification-action",onClick:O,onPointerDown:B,onPointerUp:B,"aria-label":y.INBOX_NOTIFICATION_MORE},s.default.createElement(uo,{className:"lb-button-icon"}))))))),s.default.createElement("div",{className:"lb-inbox-notification-body"},n))))}));function M_({className:e,...t}){return s.default.createElement("div",{className:no("lb-inbox-notification-icon",e),...t})}function j_({className:e,...t}){return s.default.createElement(cC,{className:no("lb-inbox-notification-avatar",e),...t})}const L_=t.forwardRef((({inboxNotification:e,href:n,showRoomName:r=!0,showReactions:o=!0,showAttachments:a=!0,showActions:i="hover",overrides:u,...c},l)=>{const d=go(u),f=ur(e.id),h=ev(),{info:p}=sr(e.roomId),m=t.useMemo((()=>{const t=R_(e,f,h??"");if(0===t.comments.length||0===t.userIds.length)return null;switch(t.type){case"comments":{const e=[...t.userIds].reverse(),n=e[0],i=s.default.createElement(j_,{userId:n}),c=d.INBOX_NOTIFICATION_THREAD_COMMENTS_LIST(s.default.createElement(g_,{values:e.map((e=>s.default.createElement(tA,{key:e,userId:e,replaceSelf:!0}))),formatRemaining:d.LIST_REMAINING_USERS,truncate:2,locale:d.locale}),r?s.default.createElement(N_,{roomId:f.roomId}):void 0,e.length),l=s.default.createElement("div",{className:"lb-inbox-notification-comments"},t.comments.map((e=>s.default.createElement(I_,{key:e.id,comment:e,showHeader:t.comments.length>1,showAttachments:a,showReactions:o,overrides:u}))));return{unread:t.unread,date:t.date,aside:i,title:c,content:l,threadId:f.id,commentId:t.comments[t.comments.length-1].id}}case"mention":{const e=t.userIds[0],n=t.comments[0],i=s.default.createElement(j_,{userId:e}),c=d.INBOX_NOTIFICATION_THREAD_MENTION(s.default.createElement(tA,{key:e,userId:e}),r?s.default.createElement(N_,{roomId:f.roomId}):void 0),l=s.default.createElement("div",{className:"lb-inbox-notification-comments"},s.default.createElement(I_,{key:n.id,comment:n,showHeader:!1,showAttachments:a,showReactions:o,overrides:u}));return{unread:t.unread,date:t.date,aside:i,title:c,content:l,threadId:f.id,commentId:n.id}}default:return v(0,"Unexpected thread inbox notification type")}}),[d,h,e,u,r,a,o,f]),g=t.useMemo((()=>{const e=n??p?.url;return e?function(e,t,n){const r=k_.test(e),o=new URL(e,r?void 0:T_);if(void 0!==t)for(const[e,n]of Object.entries(t))n&&o.searchParams.set(e,String(n));return o.hash||void 0===n||(o.hash=`#${n}`),r?o.href:o.href.replace(T_,"")}(e,void 0,m?.commentId):void 0}),[m?.commentId,n,p?.url]);if(!m)return null;const{aside:y,title:b,content:E,date:w,unread:C}=m;return s.default.createElement(P_,{inboxNotification:e,aside:y,title:b,date:w,unread:C,overrides:u,href:g,showActions:i,markAsReadOnClick:!1,...c,ref:l},E)})),z_=t.forwardRef((({inboxNotification:e,showActions:n="hover",showRoomName:r=!0,overrides:o,...a},i)=>{const u=go(o),c=t.useMemo((()=>!e.readAt||e.notifiedAt>e.readAt),[e.notifiedAt,e.readAt]);return s.default.createElement(P_,{inboxNotification:e,aside:s.default.createElement(j_,{userId:e.createdBy}),title:u.INBOX_NOTIFICATION_TEXT_MENTION(s.default.createElement(tA,{key:e.createdBy,userId:e.createdBy}),r?s.default.createElement(N_,{roomId:e.roomId}):void 0),date:e.notifiedAt,unread:c,overrides:o,showActions:n,...a,ref:i})})),H_=t.forwardRef((({inboxNotification:e,showActions:n="hover",title:r,aside:o,children:a,overrides:i,...u},c)=>{const l=t.useMemo((()=>!e.readAt||e.notifiedAt>e.readAt),[e.notifiedAt,e.readAt]);return s.default.createElement(P_,{inboxNotification:e,aside:o,title:r,date:e.notifiedAt,unread:l,overrides:i,showActions:n,...u,ref:c},a)}));t.forwardRef((({inboxNotification:e,...t},n)=>s.default.createElement(H_,{inboxNotification:e,...t,title:s.default.createElement(s.default.Fragment,null,"Custom notification kind ",s.default.createElement("code",null,e.kind)," is not handled"),aside:s.default.createElement(M_,null,s.default.createElement(hv,null)),ref:n,"data-missing":""},"Notifications of this kind won’t be displayed in production. Use the"," ",s.default.createElement("code",null,"kinds")," prop to define how they should be rendered.")));const U_=Object.assign(t.forwardRef((({inboxNotification:e,kinds:t,...n},r)=>{switch(e.kind){case"thread":{const o=t?.thread??L_;return s.default.createElement(o,{inboxNotification:e,...n,ref:r})}case"textMention":{const o=t?.textMention??z_;return s.default.createElement(o,{inboxNotification:e,...n,ref:r})}default:{const o=t?.[e.kind];return o?s.default.createElement(o,{inboxNotification:e,...n,ref:r}):null}}})),{Thread:L_,TextMention:z_,Custom:H_,Icon:M_,Avatar:j_});function W_({enabled:e,onReachEnd:n}){const r=t.useRef(null);return ov(r,n,{enabled:e}),s.default.createElement("div",{ref:r,style:{height:0}})}const $_=t.forwardRef((({onReachEnd:e,children:n,className:r,...o},a)=>s.default.createElement("ol",{className:no("lb-root lb-inbox-notification-list",r),...o,ref:a},t.Children.map(n,((e,t)=>s.default.createElement("li",{key:t,className:"lb-inbox-notification-list-item"},e))),e&&s.default.createElement(W_,{onReachEnd:e,enabled:t.Children.count(n)>0}))));function V_(e){return s.default.createElement(ro,{...e},s.default.createElement("path",{d:"M10 4v12m6-6-6 6-6-6"}))}function K_(e){return s.default.createElement(ro,{...e},s.default.createElement("circle",{cx:10,cy:10,r:7}),s.default.createElement("path",{d:"m13 8-4 4-2-2"}))}function q_(e){return s.default.createElement(ro,{...e},s.default.createElement("circle",{cx:10,cy:10,r:7,fill:"currentColor"}),s.default.createElement("path",{d:"m13 8-4 4-2-2",stroke:"var(--lb-icon-background)"}))}const G_=t.forwardRef((({thread:e,indentCommentContent:n=!0,showActions:r="hover",showDeletedComments:o,showResolveAction:a=!0,showReactions:u=!0,showComposer:c="collapsed",showAttachments:l=!0,onResolvedChange:d,onCommentEdit:f,onCommentDelete:h,onThreadDelete:p,onAuthorClick:m,onMentionClick:v,onAttachmentClick:g,onComposerSubmit:y,overrides:b,className:E,...w},C)=>{const D=function(){const e=Qn(),t=Br();return i.useCallback((n=>{const r=new Date,{store:o,onMutationFailure:a}=xr(e),i=o.addOptimisticUpdate({type:"mark-thread-as-resolved",threadId:n,updatedAt:r});t.markThreadAsResolved(n).then((()=>{o.patchThread(n,i,{resolved:!0},r)}),(e=>a(e,i,(e=>new dr(e,{roomId:t.id,threadId:n})))))}),[e,t])}(),A=function(){const e=Qn(),t=Br();return i.useCallback((n=>{const r=new Date,{store:o,onMutationFailure:a}=xr(e),i=o.addOptimisticUpdate({type:"mark-thread-as-unresolved",threadId:n,updatedAt:r});t.markThreadAsUnresolved(n).then((()=>{o.patchThread(n,i,{resolved:!1},r)}),(e=>a(e,i,(e=>new fr(e,{roomId:t.id,threadId:n})))))}),[e,t])}(),x=go(b),_=t.useMemo((()=>o?0:e.comments.findIndex((e=>e.body))),[o,e.comments]),B=t.useMemo((()=>o?e.comments.length-1:function(e,t){let n=e.length-1;for(;n>=0;){const r=e[n];if(r&&t(r))return n;n--}return-1}(e.comments,(e=>e.body))),[o,e.comments]),{status:O,unreadSince:S}=function(e){const t=Qn(),{store:n}=xr(t),r=i.useCallback((t=>{const n=t.cleanedNotifications.find((t=>"thread"===t.kind&&t.threadId===e)),r=t.threadsDB.get(e);return void 0===n||void 0===r?{status:"not-subscribed"}:{status:"subscribed",unreadSince:n.readAt}}),[e]);return cn.exports.useSyncExternalStoreWithSelector(n.subscribe,n.getFullState,n.getFullState,r)}(e.id),T=t.useMemo((()=>{if("subscribed"!==O)return;if(null===S)return _;const t=e.comments.findIndex((e=>(!!o||e.body)&&e.createdAt>S));return t>=0&&t<e.comments.length?t:void 0}),[_,o,O,e.comments,S]),[k,I]=t.useState(),F=void 0===k?T:k;t.useEffect((()=>{T&&I((e=>Math.min(e??1/0,T)))}),[T]);const R=t.useCallback((e=>{e.stopPropagation()}),[]),N=t.useCallback((t=>{d?.(t),t?D(e.id):A(e.id)}),[D,A,d,e.id]),P=t.useCallback((t=>{h?.(t);e.comments.filter((e=>e.body)).length<=1&&p?.(e)}),[h,p,e]);return s.default.createElement(Aw,null,s.default.createElement("div",{className:no("lb-root lb-thread","hover"===r&&"lb-thread:show-actions-hover",E),"data-resolved":e.resolved?"":void 0,"data-unread":void 0!==T?"":void 0,dir:x.dir,...w,ref:C},s.default.createElement("div",{className:"lb-thread-comments"},e.comments.map(((i,c)=>{const d=c===_,h=void 0!==T&&c>=T,p=s.default.createElement(S_,{key:i.id,className:"lb-thread-comment","data-unread":h?"":void 0,comment:i,indentContent:n,showDeleted:o,showActions:r,showReactions:u,showAttachments:l,onCommentEdit:f,onCommentDelete:P,onAuthorClick:m,onMentionClick:v,onAttachmentClick:g,autoMarkReadThreadId:c===B&&h?e.id:void 0,additionalActionsClassName:d?"lb-thread-actions":void 0,additionalActions:d&&a?s.default.createElement(qw,{content:e.resolved?x.THREAD_UNRESOLVE:x.THREAD_RESOLVE},s.default.createElement(to,{pressed:e.resolved,onPressedChange:N,asChild:!0},s.default.createElement(lC,{className:"lb-comment-action",onClick:R,"aria-label":e.resolved?x.THREAD_UNRESOLVE:x.THREAD_RESOLVE},e.resolved?s.default.createElement(q_,{className:"lb-button-icon"}):s.default.createElement(K_,{className:"lb-button-icon"})))):null});return c===F&&F!==_&&F<=B?s.default.createElement(t.Fragment,{key:i.id},s.default.createElement("div",{className:"lb-thread-new-indicator","aria-label":x.THREAD_NEW_INDICATOR_DESCRIPTION},s.default.createElement("span",{className:"lb-thread-new-indicator-label"},s.default.createElement(V_,{className:"lb-thread-new-indicator-label-icon"}),x.THREAD_NEW_INDICATOR)),p):p}))),c&&s.default.createElement(cA,{className:"lb-thread-composer",threadId:e.id,defaultCollapsed:"collapsed"===c||void 0,showAttachments:l,onComposerSubmit:y,overrides:{COMPOSER_PLACEHOLDER:x.THREAD_COMPOSER_PLACEHOLDER,COMPOSER_SEND:x.THREAD_COMPOSER_SEND}})))}));m(en,tn,"esm");const X_=t.createContext(null),Z_={didCatch:!1,error:null};class Y_ extends t.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=Z_}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){const{error:e}=this.state;if(null!==e){for(var t,n,r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];null===(t=(n=this.props).onReset)||void 0===t||t.call(n,{args:o,reason:"imperative-api"}),this.setState(Z_)}}componentDidCatch(e,t){var n,r;null===(n=(r=this.props).onError)||void 0===n||n.call(r,e,t)}componentDidUpdate(e,t){const{didCatch:n}=this.state,{resetKeys:r}=this.props;var o,a;n&&null!==t.error&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.length!==t.length||e.some(((e,n)=>!Object.is(e,t[n])))}(e.resetKeys,r)&&(null===(o=(a=this.props).onReset)||void 0===o||o.call(a,{next:r,prev:e.resetKeys,reason:"keys"}),this.setState(Z_))}render(){const{children:e,fallbackRender:n,FallbackComponent:r,fallback:o}=this.props,{didCatch:a,error:i}=this.state;let s=e;if(a){const e={error:i,resetErrorBoundary:this.resetErrorBoundary};if("function"==typeof n)s=n(e);else if(r)s=t.createElement(r,e);else{if(void 0===o)throw i;s=o}}return t.createElement(X_.Provider,{value:{didCatch:a,error:i,resetErrorBoundary:this.resetErrorBoundary}},s)}}function J_(){return s.default.createElement("svg",{className:"animate-spin h-5 w-5 mr-3 ...",viewBox:"0 0 24 24"})}var Q_=function(e){var t=Mr().threads;return s.default.createElement(s.default.Fragment,null,t.map((function(e){return s.default.createElement(G_,{key:e.id,thread:e,className:"thread"})})),s.default.createElement(cA,{className:"composer"}))};function eB(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=eB(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function tB(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=eB(e))&&(r&&(r+=" "),r+=t);return r}function nB(e){var t=e.className,n=IC(e,["className"]),r=nr().inboxNotifications;return 0===r.length?s.default.createElement("div",{className:tB(t,"empty")},"There aren’t any notifications yet."):s.default.createElement("div",kC({className:t},n),s.default.createElement($_,{className:"inbox-list"},r.map((function(e){return s.default.createElement(U_,{key:e.id,inboxNotification:e})}))))}function rB(){var e=Xn(Qn()).count;return e?s.default.createElement("div",{className:"inbox-unread-count"},e):null}e.AmisComments=function(e){var n=e.className,r=void 0===n?"m-2 flex flex-col gap-y-2":n,o=e.roomId;return s.default.createElement(Ir,{id:o},s.default.createElement(Y_,{fallback:s.default.createElement("div",{className:"error"},"There was an error while getting threads.")},s.default.createElement(t.Suspense,{fallback:s.default.createElement(J_,null)},s.default.createElement("main",{className:r},s.default.createElement(Q_,null)))))},e.AmisInboxPopover=function(e){var n=e.className,r=IC(e,["className"]),o=NC(t.useState(!1),2),a=o[0],i=o[1],u=rr(),c=ar();return s.default.createElement(UD,{open:a,onOpenChange:i},s.default.createElement(WD,{className:tB(n,"inbox-button square")},s.default.createElement(Y_,{fallback:null},s.default.createElement(nn,{fallback:null},s.default.createElement(rB,null))),s.default.createElement("svg",{width:"20",height:"20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},s.default.createElement("path",{d:"m3.6 9.8 1.9-4.6A2 2 0 0 1 7.3 4h5.4a2 2 0 0 1 1.8 1.2l2 4.6V13a2 2 0 0 1-2 2h-9a2 2 0 0 1-2-2V9.8Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round"}),s.default.createElement("path",{d:"M3.5 10h3c.3 0 .6.1.8.4l.9 1.2c.2.3.5.4.8.4h2c.3 0 .6-.1.8-.4l.9-1.2c.2-.3.5-.4.8-.4h3",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round"}))),s.default.createElement($D,null,s.default.createElement(VD,kC({className:"inbox",collisionPadding:16,sideOffset:8},r),s.default.createElement("div",{className:"inbox-header"},s.default.createElement("span",{className:"inbox-title"},"Notifications"),s.default.createElement("div",{className:"inbox-buttons"},s.default.createElement("button",{className:"inbox-button",onClick:u},"Mark all as read"),s.default.createElement("button",{className:"inbox-button destructive",onClick:c},"Delete all"))),s.default.createElement(Y_,{fallback:s.default.createElement("div",{className:"error"},"There was an error while getting notifications.")},s.default.createElement(nn,{fallback:s.default.createElement(J_,null)},s.default.createElement(nB,null))))))},e.AmisRoomsProvider=function(e){var n,r=e.data,o=e.baseUrl,a=e.children,i=e.body,u=e.render,c=NC(t.useState(null),2),l=c[0],d=c[1],f=o||(null===(n=r.context)||void 0===n?void 0:n.rootUrl)||"".concat(window.location.protocol,"//").concat(window.location.host);return console.log("liveblocks baseUrl:",f),s.default.createElement(tr,{baseUrl:f,authEndpoint:function(e){return FC(void 0,void 0,void 0,(function(){var t,n,r,o,a,i;return RC(this,(function(s){switch(s.label){case 0:return t="".concat(f,"/v2/c/auth"),n={"Content-Type":"application/json"},r=localStorage.getItem("steedos:authToken"),(o=localStorage.getItem("steedos:spaceId"))&&r&&(n.Authorization="Bearer ".concat(o,",").concat(r)),a=JSON.stringify({room:e}),[4,fetch(t,{method:"POST",headers:n,body:a,credentials:"include"})];case 1:return[4,s.sent().json()];case 2:return i=s.sent(),d(i.token),[2,i]}}))}))},resolveRoomsInfo:function(e){var t=e.roomIds;return FC(void 0,void 0,void 0,(function(){var e,n;return RC(this,(function(r){switch(r.label){case 0:return e=new URLSearchParams(t.map((function(e){return["roomIds",e]}))),[4,fetch("".concat(f,"/v2/c/rooms?").concat(e),{headers:{Authorization:"Bearer ".concat(l)}})];case 1:if(!(n=r.sent()).ok)throw new Error("Problem resolving rooms info");return[4,n.json()];case 2:return[2,r.sent()]}}))}))},resolveUsers:function(e){var t=e.userIds;return FC(void 0,void 0,void 0,(function(){var e,n;return RC(this,(function(r){switch(r.label){case 0:return e=new URLSearchParams(t.map((function(e){return["userIds",e]}))),[4,fetch("".concat(f,"/v2/c/users?").concat(e),{headers:{Authorization:"Bearer ".concat(l)}})];case 1:if(!(n=r.sent()).ok)throw new Error("Problem resolving users");return[4,n.json()];case 2:return[2,r.sent()]}}))}))},resolveMentionSuggestions:function(e){var t=e.text,n=void 0===t?"":t;return FC(void 0,void 0,void 0,(function(){var e;return RC(this,(function(t){switch(t.label){case 0:return[4,fetch("".concat(f,"/v2/c/users/search?keyword=").concat(encodeURIComponent(n)),{headers:{Authorization:"Bearer ".concat(l)}})];case 1:if(!(e=t.sent()).ok)throw new Error("Problem resolving mention suggestions");return[4,e.json()];case 2:return[2,t.sent()]}}))}))}},i&&u("body",i,{}),a)},e.Threads=Q_,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
7
|
+
*/function isObject$4(e){return"[object Object]"===Object.prototype.toString.call(e)}function isPlainObject$1(e){var t,n;return!1!==isObject$4(e)&&(void 0===(t=e.constructor)||!1!==isObject$4(n=t.prototype)&&!1!==n.hasOwnProperty("isPrototypeOf"))}var NOTHING=Symbol.for("immer-nothing"),DRAFTABLE=Symbol.for("immer-draftable"),DRAFT_STATE=Symbol.for("immer-state");function die(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var getPrototypeOf=Object.getPrototypeOf;function isDraft(e){return!!e&&!!e[DRAFT_STATE]}function isDraftable(e){return!!e&&(isPlainObject(e)||Array.isArray(e)||!!e[DRAFTABLE]||!!e.constructor?.[DRAFTABLE]||isMap(e)||isSet(e))}var objectCtorString=Object.prototype.constructor.toString();function isPlainObject(e){if(!e||"object"!=typeof e)return!1;const t=getPrototypeOf(e);if(null===t)return!0;const n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return n===Object||"function"==typeof n&&Function.toString.call(n)===objectCtorString}function each(e,t){0===getArchtype(e)?Reflect.ownKeys(e).forEach(n=>{t(n,e[n],e)}):e.forEach((n,o)=>t(o,n,e))}function getArchtype(e){const t=e[DRAFT_STATE];return t?t.type_:Array.isArray(e)?1:isMap(e)?2:isSet(e)?3:0}function has(e,t){return 2===getArchtype(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function set(e,t,n){const o=getArchtype(e);2===o?e.set(t,n):3===o?e.add(n):e[t]=n}function is(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function isMap(e){return e instanceof Map}function isSet(e){return e instanceof Set}function latest(e){return e.copy_||e.base_}function shallowCopy(e,t){if(isMap(e))return new Map(e);if(isSet(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const n=isPlainObject(e);if(!0===t||"class_only"===t&&!n){const t=Object.getOwnPropertyDescriptors(e);delete t[DRAFT_STATE];let n=Reflect.ownKeys(t);for(let o=0;o<n.length;o++){const r=n[o],a=t[r];!1===a.writable&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(t[r]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[r]})}return Object.create(getPrototypeOf(e),t)}{const t=getPrototypeOf(e);if(null!==t&&n)return{...e};const o=Object.create(t);return Object.assign(o,e)}}function freeze$1(e,t=!1){return isFrozen(e)||isDraft(e)||!isDraftable(e)||(getArchtype(e)>1&&Object.defineProperties(e,{set:{value:dontMutateFrozenCollections},add:{value:dontMutateFrozenCollections},clear:{value:dontMutateFrozenCollections},delete:{value:dontMutateFrozenCollections}}),Object.freeze(e),t&&Object.values(e).forEach(e=>freeze$1(e,!0))),e}function dontMutateFrozenCollections(){die(2)}function isFrozen(e){return Object.isFrozen(e)}var plugins={},currentScope;function getPlugin(e){const t=plugins[e];return t||die(0,e),t}function getCurrentScope(){return currentScope}function createScope(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function usePatchesInScope(e,t){t&&(getPlugin("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function revokeScope(e){leaveScope(e),e.drafts_.forEach(revokeDraft),e.drafts_=null}function leaveScope(e){e===currentScope&&(currentScope=e.parent_)}function enterScope(e){return currentScope=createScope(currentScope,e)}function revokeDraft(e){const t=e[DRAFT_STATE];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function processResult(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];return void 0!==e&&e!==n?(n[DRAFT_STATE].modified_&&(revokeScope(t),die(4)),isDraftable(e)&&(e=finalize(t,e),t.parent_||maybeFreeze(t,e)),t.patches_&&getPlugin("Patches").generateReplacementPatches_(n[DRAFT_STATE].base_,e,t.patches_,t.inversePatches_)):e=finalize(t,n,[]),revokeScope(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==NOTHING?e:void 0}function finalize(e,t,n){if(isFrozen(t))return t;const o=t[DRAFT_STATE];if(!o)return each(t,(r,a)=>finalizeProperty(e,o,t,r,a,n)),t;if(o.scope_!==e)return t;if(!o.modified_)return maybeFreeze(e,o.base_,!0),o.base_;if(!o.finalized_){o.finalized_=!0,o.scope_.unfinalizedDrafts_--;const t=o.copy_;let r=t,a=!1;3===o.type_&&(r=new Set(t),t.clear(),a=!0),each(r,(r,i)=>finalizeProperty(e,o,t,r,i,n,a)),maybeFreeze(e,t,!1),n&&e.patches_&&getPlugin("Patches").generatePatches_(o,n,e.patches_,e.inversePatches_)}return o.copy_}function finalizeProperty(e,t,n,o,r,a,i){if(isDraft(r)){const i=finalize(e,r,a&&t&&3!==t.type_&&!has(t.assigned_,o)?a.concat(o):void 0);if(set(n,o,i),!isDraft(i))return;e.canAutoFreeze_=!1}else i&&n.add(r);if(isDraftable(r)&&!isFrozen(r)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;finalize(e,r),t&&t.scope_.parent_||"symbol"==typeof o||!(isMap(n)?n.has(o):Object.prototype.propertyIsEnumerable.call(n,o))||maybeFreeze(e,r)}}function maybeFreeze(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&freeze$1(t,n)}function createProxyProxy(e,t){const n=Array.isArray(e),o={type_:n?1:0,scope_:t?t.scope_:getCurrentScope(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let r=o,a=objectTraps;n&&(r=[o],a=arrayTraps);const{revoke:i,proxy:s}=Proxy.revocable(r,a);return o.draft_=s,o.revoke_=i,s}var objectTraps={get(e,t){if(t===DRAFT_STATE)return e;const n=latest(e);if(!has(n,t))return readPropFromProto(e,n,t);const o=n[t];return e.finalized_||!isDraftable(o)?o:o===peek(e.base_,t)?(prepareCopy(e),e.copy_[t]=createProxy(o,e)):o},has:(e,t)=>t in latest(e),ownKeys:e=>Reflect.ownKeys(latest(e)),set(e,t,n){const o=getDescriptorFromProto(latest(e),t);if(o?.set)return o.set.call(e.draft_,n),!0;if(!e.modified_){const o=peek(latest(e),t),r=o?.[DRAFT_STATE];if(r&&r.base_===n)return e.copy_[t]=n,e.assigned_[t]=!1,!0;if(is(n,o)&&(void 0!==n||has(e.base_,t)))return!0;prepareCopy(e),markChanged(e)}return e.copy_[t]===n&&(void 0!==n||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_[t]=!0),!0},deleteProperty:(e,t)=>(void 0!==peek(e.base_,t)||t in e.base_?(e.assigned_[t]=!1,prepareCopy(e),markChanged(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=latest(e),o=Reflect.getOwnPropertyDescriptor(n,t);return o?{writable:!0,configurable:1!==e.type_||"length"!==t,enumerable:o.enumerable,value:n[t]}:o},defineProperty(){die(11)},getPrototypeOf:e=>getPrototypeOf(e.base_),setPrototypeOf(){die(12)}},arrayTraps={};function peek(e,t){const n=e[DRAFT_STATE];return(n?latest(n):e)[t]}function readPropFromProto(e,t,n){const o=getDescriptorFromProto(t,n);return o?"value"in o?o.value:o.get?.call(e.draft_):void 0}function getDescriptorFromProto(e,t){if(!(t in e))return;let n=getPrototypeOf(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=getPrototypeOf(n)}}function markChanged(e){e.modified_||(e.modified_=!0,e.parent_&&markChanged(e.parent_))}function prepareCopy(e){e.copy_||(e.copy_=shallowCopy(e.base_,e.scope_.immer_.useStrictShallowCopy_))}each(objectTraps,(e,t)=>{arrayTraps[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}}),arrayTraps.deleteProperty=function(e,t){return arrayTraps.set.call(this,e,t,void 0)},arrayTraps.set=function(e,t,n){return objectTraps.set.call(this,e[0],t,n,e[0])};var Immer2=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(e,t,n)=>{if("function"==typeof e&&"function"!=typeof t){const n=t;t=e;const o=this;return function(e=n,...r){return o.produce(e,e=>t.call(this,e,...r))}}let o;if("function"!=typeof t&&die(6),void 0!==n&&"function"!=typeof n&&die(7),isDraftable(e)){const r=enterScope(this),a=createProxy(e,void 0);let i=!0;try{o=t(a),i=!1}finally{i?revokeScope(r):leaveScope(r)}return usePatchesInScope(r,n),processResult(o,r)}if(!e||"object"!=typeof e){if(o=t(e),void 0===o&&(o=e),o===NOTHING&&(o=void 0),this.autoFreeze_&&freeze$1(o,!0),n){const t=[],r=[];getPlugin("Patches").generateReplacementPatches_(e,o,t,r),n(t,r)}return o}die(1,e)},this.produceWithPatches=(e,t)=>{if("function"==typeof e)return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,o;return[this.produce(e,t,(e,t)=>{n=e,o=t}),n,o]},"boolean"==typeof e?.autoFreeze&&this.setAutoFreeze(e.autoFreeze),"boolean"==typeof e?.useStrictShallowCopy&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){isDraftable(e)||die(8),isDraft(e)&&(e=current(e));const t=enterScope(this),n=createProxy(e,void 0);return n[DRAFT_STATE].isManual_=!0,leaveScope(t),n}finishDraft(e,t){const n=e&&e[DRAFT_STATE];n&&n.isManual_||die(9);const{scope_:o}=n;return usePatchesInScope(o,t),processResult(void 0,o)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const o=t[n];if(0===o.path.length&&"replace"===o.op){e=o.value;break}}n>-1&&(t=t.slice(n+1));const o=getPlugin("Patches").applyPatches_;return isDraft(e)?o(e,t):this.produce(e,e=>o(e,t))}};function createProxy(e,t){const n=isMap(e)?getPlugin("MapSet").proxyMap_(e,t):isSet(e)?getPlugin("MapSet").proxySet_(e,t):createProxyProxy(e,t);return(t?t.scope_:getCurrentScope()).drafts_.push(n),n}function current(e){return isDraft(e)||die(10,e),currentImpl(e)}function currentImpl(e){if(!isDraftable(e)||isFrozen(e))return e;const t=e[DRAFT_STATE];let n;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=shallowCopy(e,t.scope_.immer_.useStrictShallowCopy_)}else n=shallowCopy(e,!0);return each(n,(e,t)=>{set(n,e,currentImpl(t))}),t&&(t.finalized_=!1),n}var immer=new Immer2,produce=immer.produce,createDraft=immer.createDraft.bind(immer),finishDraft=immer.finishDraft.bind(immer),PathRef={transform(e,t){var{current:n,affinity:o}=e;if(null!=n){var r=Path.transform(n,t,{affinity:o});e.current=r,null==r&&e.unref()}}},PointRef={transform(e,t){var{current:n,affinity:o}=e;if(null!=n){var r=Point.transform(n,t,{affinity:o});e.current=r,null==r&&e.unref()}}},RangeRef={transform(e,t){var{current:n,affinity:o}=e;if(null!=n){var r=Range.transform(n,t,{affinity:o});e.current=r,null==r&&e.unref()}}},DIRTY_PATHS=new WeakMap,DIRTY_PATH_KEYS=new WeakMap,FLUSHING=new WeakMap,NORMALIZING=new WeakMap,PATH_REFS=new WeakMap,POINT_REFS=new WeakMap,RANGE_REFS=new WeakMap,Path={ancestors(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:n=!1}=t,o=Path.levels(e,t);return o=n?o.slice(1):o.slice(0,-1)},common(e,t){for(var n=[],o=0;o<e.length&&o<t.length;o++){var r=e[o];if(r!==t[o])break;n.push(r)}return n},compare(e,t){for(var n=Math.min(e.length,t.length),o=0;o<n;o++){if(e[o]<t[o])return-1;if(e[o]>t[o])return 1}return 0},endsAfter(e,t){var n=e.length-1,o=e.slice(0,n),r=t.slice(0,n),a=e[n],i=t[n];return Path.equals(o,r)&&a>i},endsAt(e,t){var n=e.length,o=e.slice(0,n),r=t.slice(0,n);return Path.equals(o,r)},endsBefore(e,t){var n=e.length-1,o=e.slice(0,n),r=t.slice(0,n),a=e[n],i=t[n];return Path.equals(o,r)&&a<i},equals:(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]),hasPrevious:e=>e[e.length-1]>0,isAfter:(e,t)=>1===Path.compare(e,t),isAncestor:(e,t)=>e.length<t.length&&0===Path.compare(e,t),isBefore:(e,t)=>-1===Path.compare(e,t),isChild:(e,t)=>e.length===t.length+1&&0===Path.compare(e,t),isCommon:(e,t)=>e.length<=t.length&&0===Path.compare(e,t),isDescendant:(e,t)=>e.length>t.length&&0===Path.compare(e,t),isParent:(e,t)=>e.length+1===t.length&&0===Path.compare(e,t),isPath:e=>Array.isArray(e)&&(0===e.length||"number"==typeof e[0]),isSibling(e,t){if(e.length!==t.length)return!1;var n=e.slice(0,-1),o=t.slice(0,-1);return e[e.length-1]!==t[t.length-1]&&Path.equals(n,o)},levels(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:n=!1}=t,o=[],r=0;r<=e.length;r++)o.push(e.slice(0,r));return n&&o.reverse(),o},next(e){if(0===e.length)throw new Error("Cannot get the next path of a root path [".concat(e,"], because it has no next index."));var t=e[e.length-1];return e.slice(0,-1).concat(t+1)},operationCanTransformPath(e){switch(e.type){case"insert_node":case"remove_node":case"merge_node":case"split_node":case"move_node":return!0;default:return!1}},parent(e){if(0===e.length)throw new Error("Cannot get the parent path of the root path [".concat(e,"]."));return e.slice(0,-1)},previous(e){if(0===e.length)throw new Error("Cannot get the previous path of a root path [".concat(e,"], because it has no previous index."));var t=e[e.length-1];if(t<=0)throw new Error("Cannot get the previous path of a first child path [".concat(e,"] because it would result in a negative index."));return e.slice(0,-1).concat(t-1)},relative(e,t){if(!Path.isAncestor(t,e)&&!Path.equals(e,t))throw new Error("Cannot get the relative path of [".concat(e,"] inside ancestor [").concat(t,"], because it is not above or equal to the path."));return e.slice(t.length)},transform(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e)return null;var o=[...e],{affinity:r="forward"}=n;if(0===e.length)return o;switch(t.type){case"insert_node":var{path:a}=t;(Path.equals(a,o)||Path.endsBefore(a,o)||Path.isAncestor(a,o))&&(o[a.length-1]+=1);break;case"remove_node":var{path:i}=t;if(Path.equals(i,o)||Path.isAncestor(i,o))return null;Path.endsBefore(i,o)&&(o[i.length-1]-=1);break;case"merge_node":var{path:s,position:l}=t;Path.equals(s,o)||Path.endsBefore(s,o)?o[s.length-1]-=1:Path.isAncestor(s,o)&&(o[s.length-1]-=1,o[s.length]+=l);break;case"split_node":var{path:c,position:d}=t;if(Path.equals(c,o)){if("forward"===r)o[o.length-1]+=1;else if("backward"!==r)return null}else Path.endsBefore(c,o)?o[c.length-1]+=1:Path.isAncestor(c,o)&&e[c.length]>=d&&(o[c.length-1]+=1,o[c.length]-=d);break;case"move_node":var{path:u,newPath:f}=t;if(Path.equals(u,f))return o;if(Path.isAncestor(u,o)||Path.equals(u,o)){var p=f.slice();return Path.endsBefore(u,f)&&u.length<f.length&&(p[u.length-1]-=1),p.concat(o.slice(u.length))}Path.isSibling(u,f)&&(Path.isAncestor(f,o)||Path.equals(f,o))?Path.endsBefore(u,o)?o[u.length-1]-=1:o[u.length-1]+=1:Path.endsBefore(f,o)||Path.equals(f,o)||Path.isAncestor(f,o)?(Path.endsBefore(u,o)&&(o[u.length-1]-=1),o[f.length-1]+=1):Path.endsBefore(u,o)&&(Path.equals(f,o)&&(o[f.length-1]+=1),o[u.length-1]-=1)}return o}};function _typeof$3(e){return _typeof$3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$3(e)}function _toPrimitive$2(e,t){if("object"!==_typeof$3(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==_typeof$3(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function _toPropertyKey$2(e){var t=_toPrimitive$2(e,"string");return"symbol"===_typeof$3(t)?t:String(t)}function _defineProperty$3(e,t,n){return(t=_toPropertyKey$2(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ownKeys$e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$e(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$e(Object(n),!0).forEach(function(t){_defineProperty$3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var applyToDraft=(e,t,n)=>{switch(n.type){case"insert_node":var{path:o,node:r}=n,a=Node$1.parent(e,o),i=o[o.length-1];if(i>a.children.length)throw new Error('Cannot apply an "insert_node" operation at path ['.concat(o,"] because the destination is past the end of the node."));if(a.children.splice(i,0,r),t)for(var[s,l]of Range.points(t))t[l]=Point.transform(s,n);break;case"insert_text":var{path:c,offset:d,text:u}=n;if(0===u.length)break;var f=Node$1.leaf(e,c),p=f.text.slice(0,d),_=f.text.slice(d);if(f.text=p+u+_,t)for(var[m,h]of Range.points(t))t[h]=Point.transform(m,n);break;case"merge_node":var{path:g}=n,b=Node$1.get(e,g),v=Path.previous(g),y=Node$1.get(e,v),E=Node$1.parent(e,g),w=g[g.length-1];if(Text$1.isText(b)&&Text$1.isText(y))y.text+=b.text;else{if(Text$1.isText(b)||Text$1.isText(y))throw new Error('Cannot apply a "merge_node" operation at path ['.concat(g,"] to nodes of different interfaces: ").concat(Scrubber.stringify(b)," ").concat(Scrubber.stringify(y)));y.children.push(...b.children)}if(E.children.splice(w,1),t)for(var[C,x]of Range.points(t))t[x]=Point.transform(C,n);break;case"move_node":var{path:R,newPath:S}=n;if(Path.isAncestor(R,S))throw new Error("Cannot move a path [".concat(R,"] to new path [").concat(S,"] because the destination is inside itself."));var D=Node$1.get(e,R),T=Node$1.parent(e,R),O=R[R.length-1];T.children.splice(O,1);var A=Path.transform(R,n),I=Node$1.get(e,Path.parent(A)),k=A[A.length-1];if(I.children.splice(k,0,D),t)for(var[N,j]of Range.points(t))t[j]=Point.transform(N,n);break;case"remove_node":var{path:$}=n,F=$[$.length-1];if(Node$1.parent(e,$).children.splice(F,1),t)for(var[P,M]of Range.points(t)){var B=Point.transform(P,n);if(null!=t&&null!=B)t[M]=B;else{var L=void 0,U=void 0;for(var[V,H]of Node$1.texts(e)){if(-1!==Path.compare(H,$)){U=[V,H];break}L=[V,H]}var z=!1;L&&U&&(z=Path.equals(U[1],$)?!Path.hasPrevious(U[1]):Path.common(L[1],$).length<Path.common(U[1],$).length),L&&!z?(P.path=L[1],P.offset=L[0].text.length):U?(P.path=U[1],P.offset=0):t=null}}break;case"remove_text":var{path:q,offset:K,text:W}=n;if(0===W.length)break;var G=Node$1.leaf(e,q),Y=G.text.slice(0,K),J=G.text.slice(K+W.length);if(G.text=Y+J,t)for(var[X,Z]of Range.points(t))t[Z]=Point.transform(X,n);break;case"set_node":var{path:Q,properties:ee,newProperties:te}=n;if(0===Q.length)throw new Error("Cannot set properties on the root node!");var ne=Node$1.get(e,Q);for(var oe in te){if("children"===oe||"text"===oe)throw new Error('Cannot set the "'.concat(oe,'" property of nodes!'));var re=te[oe];null==re?delete ne[oe]:ne[oe]=re}for(var ae in ee)te.hasOwnProperty(ae)||delete ne[ae];break;case"set_selection":var{newProperties:ie}=n;if(null==ie)t=ie;else{if(null==t){if(!Range.isRange(ie))throw new Error('Cannot apply an incomplete "set_selection" operation properties '.concat(Scrubber.stringify(ie)," when there is no current selection."));t=_objectSpread$e({},ie)}for(var se in ie){var le=ie[se];if(null==le){if("anchor"===se||"focus"===se)throw new Error('Cannot remove the "'.concat(se,'" selection property'));delete t[se]}else t[se]=le}}break;case"split_node":var{path:ce,position:de,properties:ue}=n;if(0===ce.length)throw new Error('Cannot apply a "split_node" operation at path ['.concat(ce,"] because the root node cannot be split."));var fe,pe=Node$1.get(e,ce),_e=Node$1.parent(e,ce),me=ce[ce.length-1];if(Text$1.isText(pe)){var he=pe.text.slice(0,de),ge=pe.text.slice(de);pe.text=he,fe=_objectSpread$e(_objectSpread$e({},ue),{},{text:ge})}else{var be=pe.children.slice(0,de),ve=pe.children.slice(de);pe.children=be,fe=_objectSpread$e(_objectSpread$e({},ue),{},{children:ve})}if(_e.children.splice(me+1,0,fe),t)for(var[ye,Ee]of Range.points(t))t[Ee]=Point.transform(ye,n)}return t},GeneralTransforms={transform(e,t){e.children=createDraft(e.children);var n=e.selection&&createDraft(e.selection);try{n=applyToDraft(e,n,t)}finally{e.children=finishDraft(e.children),e.selection=n?isDraft(n)?finishDraft(n):n:null}}},NodeTransforms={insertNodes(e,t,n){e.insertNodes(t,n)},liftNodes(e,t){e.liftNodes(t)},mergeNodes(e,t){e.mergeNodes(t)},moveNodes(e,t){e.moveNodes(t)},removeNodes(e,t){e.removeNodes(t)},setNodes(e,t,n){e.setNodes(t,n)},splitNodes(e,t){e.splitNodes(t)},unsetNodes(e,t,n){e.unsetNodes(t,n)},unwrapNodes(e,t){e.unwrapNodes(t)},wrapNodes(e,t,n){e.wrapNodes(t,n)}},SelectionTransforms={collapse(e,t){e.collapse(t)},deselect(e){e.deselect()},move(e,t){e.move(t)},select(e,t){e.select(t)},setPoint(e,t,n){e.setPoint(t,n)},setSelection(e,t){e.setSelection(t)}},isDeepEqual=(e,t)=>{for(var n in e){var o=e[n],r=t[n];if(isPlainObject$1(o)&&isPlainObject$1(r)){if(!isDeepEqual(o,r))return!1}else if(Array.isArray(o)&&Array.isArray(r)){if(o.length!==r.length)return!1;for(var a=0;a<o.length;a++)if(o[a]!==r[a])return!1}else if(o!==r)return!1}for(var i in t)if(void 0===e[i]&&void 0!==t[i])return!1;return!0};function _objectWithoutPropertiesLoose$1(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}function _objectWithoutProperties$1(e,t){if(null==e)return{};var n,o,r=_objectWithoutPropertiesLoose$1(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var _excluded$4=["anchor","focus"];function ownKeys$d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$d(Object(n),!0).forEach(function(t){_defineProperty$3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$d(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Range={edges(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:n=!1}=t,{anchor:o,focus:r}=e;return Range.isBackward(e)===n?[o,r]:[r,o]},end(e){var[,t]=Range.edges(e);return t},equals:(e,t)=>Point.equals(e.anchor,t.anchor)&&Point.equals(e.focus,t.focus),surrounds(e,t){var n=Range.intersection(e,t);return!!n&&Range.equals(n,t)},includes(e,t){if(Range.isRange(t)){if(Range.includes(e,t.anchor)||Range.includes(e,t.focus))return!0;var[n,o]=Range.edges(e),[r,a]=Range.edges(t);return Point.isBefore(n,r)&&Point.isAfter(o,a)}var[i,s]=Range.edges(e),l=!1,c=!1;return Point.isPoint(t)?(l=Point.compare(t,i)>=0,c=Point.compare(t,s)<=0):(l=Path.compare(t,i.path)>=0,c=Path.compare(t,s.path)<=0),l&&c},intersection(e,t){var n=_objectWithoutProperties$1(e,_excluded$4),[o,r]=Range.edges(e),[a,i]=Range.edges(t),s=Point.isBefore(o,a)?a:o,l=Point.isBefore(r,i)?r:i;return Point.isBefore(l,s)?null:_objectSpread$d({anchor:s,focus:l},n)},isBackward(e){var{anchor:t,focus:n}=e;return Point.isAfter(t,n)},isCollapsed(e){var{anchor:t,focus:n}=e;return Point.equals(t,n)},isExpanded:e=>!Range.isCollapsed(e),isForward:e=>!Range.isBackward(e),isRange:e=>isPlainObject$1(e)&&Point.isPoint(e.anchor)&&Point.isPoint(e.focus),*points(e){yield[e.anchor,"anchor"],yield[e.focus,"focus"]},start(e){var[t]=Range.edges(e);return t},transform(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return produce(e,e=>{if(null===e)return null;var o,r,{affinity:a="inward"}=n;if("inward"===a){var i=Range.isCollapsed(e);Range.isForward(e)?(o="forward",r=i?o:"backward"):(o="backward",r=i?o:"forward")}else"outward"===a?Range.isForward(e)?(o="backward",r="forward"):(o="forward",r="backward"):(o=a,r=a);var s=Point.transform(e.anchor,t,{affinity:o}),l=Point.transform(e.focus,t,{affinity:r});if(!s||!l)return null;e.anchor=s,e.focus=l})}},isElement$2=e=>isPlainObject$1(e)&&Node$1.isNodeList(e.children)&&!Editor.isEditor(e),Element$2={isAncestor:e=>isPlainObject$1(e)&&Node$1.isNodeList(e.children),isElement:isElement$2,isElementList:e=>Array.isArray(e)&&e.every(e=>Element$2.isElement(e)),isElementProps:e=>void 0!==e.children,isElementType:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"type";return isElement$2(e)&&e[n]===t},matches(e,t){for(var n in t)if("children"!==n&&e[n]!==t[n])return!1;return!0}},_excluded$3$1=["children"],_excluded2$3=["text"],IS_NODE_LIST_CACHE=new WeakMap,Node$1={ancestor(e,t){var n=Node$1.get(e,t);if(Text$1.isText(n))throw new Error("Cannot get the ancestor node at path [".concat(t,"] because it refers to a text node instead: ").concat(Scrubber.stringify(n)));return n},ancestors(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var o of Path.ancestors(t,n)){var r=[Node$1.ancestor(e,o),o];yield r}}()},child(e,t){if(Text$1.isText(e))throw new Error("Cannot get the child of a text node: ".concat(Scrubber.stringify(e)));var n=e.children[t];if(null==n)throw new Error("Cannot get child at index `".concat(t,"` in node: ").concat(Scrubber.stringify(e)));return n},children(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var{reverse:o=!1}=n,r=Node$1.ancestor(e,t),{children:a}=r,i=o?a.length-1:0;o?i>=0:i<a.length;){var s=Node$1.child(r,i),l=t.concat(i);yield[s,l],i=o?i-1:i+1}}()},common(e,t,n){var o=Path.common(t,n);return[Node$1.get(e,o),o]},descendant(e,t){var n=Node$1.get(e,t);if(Editor.isEditor(n))throw new Error("Cannot get the descendant node at path [".concat(t,"] because it refers to the root editor node instead: ").concat(Scrubber.stringify(n)));return n},descendants(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[n,o]of Node$1.nodes(e,t))0!==o.length&&(yield[n,o])}()},elements(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[n,o]of Node$1.nodes(e,t))Element$2.isElement(n)&&(yield[n,o])}()},extractProps:e=>Element$2.isAncestor(e)?_objectWithoutProperties$1(e,_excluded$3$1):_objectWithoutProperties$1(e,_excluded2$3),first(e,t){for(var n=t.slice(),o=Node$1.get(e,n);o&&!Text$1.isText(o)&&0!==o.children.length;)o=o.children[0],n.push(0);return[o,n]},fragment(e,t){if(Text$1.isText(e))throw new Error("Cannot get a fragment starting from a root text node: ".concat(Scrubber.stringify(e)));var n=produce({children:e.children},e=>{var[n,o]=Range.edges(t),r=Node$1.nodes(e,{reverse:!0,pass:e=>{var[,n]=e;return!Range.includes(t,n)}});for(var[,a]of r){if(!Range.includes(t,a)){var i=Node$1.parent(e,a),s=a[a.length-1];i.children.splice(s,1)}if(Path.equals(a,o.path)){var l=Node$1.leaf(e,a);l.text=l.text.slice(0,o.offset)}if(Path.equals(a,n.path)){var c=Node$1.leaf(e,a);c.text=c.text.slice(n.offset)}}Editor.isEditor(e)&&(e.selection=null)});return n.children},get(e,t){var n=Node$1.getIf(e,t);if(void 0===n)throw new Error("Cannot find a descendant at path [".concat(t,"] in node: ").concat(Scrubber.stringify(e)));return n},getIf(e,t){for(var n=e,o=0;o<t.length;o++){var r=t[o];if(Text$1.isText(n)||!n.children[r])return;n=n.children[r]}return n},has(e,t){for(var n=e,o=0;o<t.length;o++){var r=t[o];if(Text$1.isText(n)||!n.children[r])return!1;n=n.children[r]}return!0},isNode:e=>Text$1.isText(e)||Element$2.isElement(e)||Editor.isEditor(e),isNodeList(e){if(!Array.isArray(e))return!1;var t=IS_NODE_LIST_CACHE.get(e);if(void 0!==t)return t;var n=e.every(e=>Node$1.isNode(e));return IS_NODE_LIST_CACHE.set(e,n),n},last(e,t){for(var n=t.slice(),o=Node$1.get(e,n);o&&!Text$1.isText(o)&&0!==o.children.length;){var r=o.children.length-1;o=o.children[r],n.push(r)}return[o,n]},leaf(e,t){var n=Node$1.get(e,t);if(!Text$1.isText(n))throw new Error("Cannot get the leaf node at path [".concat(t,"] because it refers to a non-leaf node: ").concat(Scrubber.stringify(n)));return n},levels(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var o of Path.levels(t,n)){var r=Node$1.get(e,o);yield[r,o]}}()},matches:(e,t)=>Element$2.isElement(e)&&Element$2.isElementProps(t)&&Element$2.matches(e,t)||Text$1.isText(e)&&Text$1.isTextProps(t)&&Text$1.matches(e,t),nodes(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var{pass:n,reverse:o=!1}=t,{from:r=[],to:a}=t,i=new Set,s=[],l=e;!a||!(o?Path.isBefore(s,a):Path.isAfter(s,a));)if(i.has(l)||(yield[l,s]),i.has(l)||Text$1.isText(l)||0===l.children.length||null!=n&&!1!==n([l,s])){if(0===s.length)break;if(!o){var c=Path.next(s);if(Node$1.has(e,c)){s=c,l=Node$1.get(e,s);continue}}if(o&&0!==s[s.length-1])s=Path.previous(s),l=Node$1.get(e,s);else s=Path.parent(s),l=Node$1.get(e,s),i.add(l)}else{i.add(l);var d=o?l.children.length-1:0;Path.isAncestor(s,r)&&(d=r[s.length]),s=s.concat(d),l=Node$1.get(e,s)}}()},parent(e,t){var n=Path.parent(t),o=Node$1.get(e,n);if(Text$1.isText(o))throw new Error("Cannot get the parent of path [".concat(t,"] because it does not exist in the root."));return o},string:e=>Text$1.isText(e)?e.text:e.children.map(Node$1.string).join(""),texts(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[n,o]of Node$1.nodes(e,t))Text$1.isText(n)&&(yield[n,o])}()}};function ownKeys$c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$c(Object(n),!0).forEach(function(t){_defineProperty$3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$c(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Operation={isNodeOperation:e=>Operation.isOperation(e)&&e.type.endsWith("_node"),isOperation(e){if(!isPlainObject$1(e))return!1;switch(e.type){case"insert_node":case"remove_node":return Path.isPath(e.path)&&Node$1.isNode(e.node);case"insert_text":case"remove_text":return"number"==typeof e.offset&&"string"==typeof e.text&&Path.isPath(e.path);case"merge_node":return"number"==typeof e.position&&Path.isPath(e.path)&&isPlainObject$1(e.properties);case"move_node":return Path.isPath(e.path)&&Path.isPath(e.newPath);case"set_node":return Path.isPath(e.path)&&isPlainObject$1(e.properties)&&isPlainObject$1(e.newProperties);case"set_selection":return null===e.properties&&Range.isRange(e.newProperties)||null===e.newProperties&&Range.isRange(e.properties)||isPlainObject$1(e.properties)&&isPlainObject$1(e.newProperties);case"split_node":return Path.isPath(e.path)&&"number"==typeof e.position&&isPlainObject$1(e.properties);default:return!1}},isOperationList:e=>Array.isArray(e)&&e.every(e=>Operation.isOperation(e)),isSelectionOperation:e=>Operation.isOperation(e)&&e.type.endsWith("_selection"),isTextOperation:e=>Operation.isOperation(e)&&e.type.endsWith("_text"),inverse(e){switch(e.type){case"insert_node":return _objectSpread$c(_objectSpread$c({},e),{},{type:"remove_node"});case"insert_text":return _objectSpread$c(_objectSpread$c({},e),{},{type:"remove_text"});case"merge_node":return _objectSpread$c(_objectSpread$c({},e),{},{type:"split_node",path:Path.previous(e.path)});case"move_node":var{newPath:t,path:n}=e;if(Path.equals(t,n))return e;if(Path.isSibling(n,t))return _objectSpread$c(_objectSpread$c({},e),{},{path:t,newPath:n});var o=Path.transform(n,e),r=Path.transform(Path.next(n),e);return _objectSpread$c(_objectSpread$c({},e),{},{path:o,newPath:r});case"remove_node":return _objectSpread$c(_objectSpread$c({},e),{},{type:"insert_node"});case"remove_text":return _objectSpread$c(_objectSpread$c({},e),{},{type:"insert_text"});case"set_node":var{properties:a,newProperties:i}=e;return _objectSpread$c(_objectSpread$c({},e),{},{properties:i,newProperties:a});case"set_selection":var{properties:s,newProperties:l}=e;return _objectSpread$c(_objectSpread$c({},e),{},null==s?{properties:l,newProperties:null}:null==l?{properties:null,newProperties:s}:{properties:l,newProperties:s});case"split_node":return _objectSpread$c(_objectSpread$c({},e),{},{type:"merge_node",path:Path.next(e.path)})}}},IS_EDITOR_CACHE=new WeakMap,isEditor=e=>{var t=IS_EDITOR_CACHE.get(e);if(void 0!==t)return t;if(!isPlainObject$1(e))return!1;var n="function"==typeof e.addMark&&"function"==typeof e.apply&&"function"==typeof e.deleteFragment&&"function"==typeof e.insertBreak&&"function"==typeof e.insertSoftBreak&&"function"==typeof e.insertFragment&&"function"==typeof e.insertNode&&"function"==typeof e.insertText&&"function"==typeof e.isElementReadOnly&&"function"==typeof e.isInline&&"function"==typeof e.isSelectable&&"function"==typeof e.isVoid&&"function"==typeof e.normalizeNode&&"function"==typeof e.onChange&&"function"==typeof e.removeMark&&"function"==typeof e.getDirtyPaths&&(null===e.marks||isPlainObject$1(e.marks))&&(null===e.selection||Range.isRange(e.selection))&&Node$1.isNodeList(e.children)&&Operation.isOperationList(e.operations);return IS_EDITOR_CACHE.set(e,n),n},Editor={above:(e,t)=>e.above(t),addMark(e,t,n){e.addMark(t,n)},after:(e,t,n)=>e.after(t,n),before:(e,t,n)=>e.before(t,n),deleteBackward(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{unit:n="character"}=t;e.deleteBackward(n)},deleteForward(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{unit:n="character"}=t;e.deleteForward(n)},deleteFragment(e,t){e.deleteFragment(t)},edges:(e,t)=>e.edges(t),elementReadOnly(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.elementReadOnly(t)},end:(e,t)=>e.end(t),first:(e,t)=>e.first(t),fragment:(e,t)=>e.fragment(t),hasBlocks:(e,t)=>e.hasBlocks(t),hasInlines:(e,t)=>e.hasInlines(t),hasPath:(e,t)=>e.hasPath(t),hasTexts:(e,t)=>e.hasTexts(t),insertBreak(e){e.insertBreak()},insertFragment(e,t,n){e.insertFragment(t,n)},insertNode(e,t){e.insertNode(t)},insertSoftBreak(e){e.insertSoftBreak()},insertText(e,t){e.insertText(t)},isBlock:(e,t)=>e.isBlock(t),isEdge:(e,t,n)=>e.isEdge(t,n),isEditor:e=>isEditor(e),isElementReadOnly:(e,t)=>e.isElementReadOnly(t),isEmpty:(e,t)=>e.isEmpty(t),isEnd:(e,t,n)=>e.isEnd(t,n),isInline:(e,t)=>e.isInline(t),isNormalizing:e=>e.isNormalizing(),isSelectable:(e,t)=>e.isSelectable(t),isStart:(e,t,n)=>e.isStart(t,n),isVoid:(e,t)=>e.isVoid(t),last:(e,t)=>e.last(t),leaf:(e,t,n)=>e.leaf(t,n),levels:(e,t)=>e.levels(t),marks:e=>e.getMarks(),next:(e,t)=>e.next(t),node:(e,t,n)=>e.node(t,n),nodes:(e,t)=>e.nodes(t),normalize(e,t){e.normalize(t)},parent:(e,t,n)=>e.parent(t,n),path:(e,t,n)=>e.path(t,n),pathRef:(e,t,n)=>e.pathRef(t,n),pathRefs:e=>e.pathRefs(),point:(e,t,n)=>e.point(t,n),pointRef:(e,t,n)=>e.pointRef(t,n),pointRefs:e=>e.pointRefs(),positions:(e,t)=>e.positions(t),previous:(e,t)=>e.previous(t),range:(e,t,n)=>e.range(t,n),rangeRef:(e,t,n)=>e.rangeRef(t,n),rangeRefs:e=>e.rangeRefs(),removeMark(e,t){e.removeMark(t)},setNormalizing(e,t){e.setNormalizing(t)},start:(e,t)=>e.start(t),string:(e,t,n)=>e.string(t,n),unhangRange:(e,t,n)=>e.unhangRange(t,n),void:(e,t)=>e.void(t),withoutNormalizing(e,t){e.withoutNormalizing(t)},shouldMergeNodesRemovePrevNode:(e,t,n)=>e.shouldMergeNodesRemovePrevNode(t,n)},Span={isSpan:e=>Array.isArray(e)&&2===e.length&&e.every(Path.isPath)};function ownKeys$b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$b(Object(n),!0).forEach(function(t){_defineProperty$3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$b(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Point={compare(e,t){var n=Path.compare(e.path,t.path);return 0===n?e.offset<t.offset?-1:e.offset>t.offset?1:0:n},isAfter:(e,t)=>1===Point.compare(e,t),isBefore:(e,t)=>-1===Point.compare(e,t),equals:(e,t)=>e.offset===t.offset&&Path.equals(e.path,t.path),isPoint:e=>isPlainObject$1(e)&&"number"==typeof e.offset&&Path.isPath(e.path),transform(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return produce(e,e=>{if(null===e)return null;var{affinity:o="forward"}=n,{path:r,offset:a}=e;switch(t.type){case"insert_node":case"move_node":e.path=Path.transform(r,t,n);break;case"insert_text":Path.equals(t.path,r)&&(t.offset<a||t.offset===a&&"forward"===o)&&(e.offset+=t.text.length);break;case"merge_node":Path.equals(t.path,r)&&(e.offset+=t.position),e.path=Path.transform(r,t,n);break;case"remove_text":Path.equals(t.path,r)&&t.offset<=a&&(e.offset-=Math.min(a-t.offset,t.text.length));break;case"remove_node":if(Path.equals(t.path,r)||Path.isAncestor(t.path,r))return null;e.path=Path.transform(r,t,n);break;case"split_node":if(Path.equals(t.path,r)){if(t.position===a&&null==o)return null;(t.position<a||t.position===a&&"forward"===o)&&(e.offset-=t.position,e.path=Path.transform(r,t,_objectSpread$b(_objectSpread$b({},n),{},{affinity:"forward"})))}else e.path=Path.transform(r,t,n)}})}},_scrubber=void 0,Scrubber={setScrubber(e){_scrubber=e},stringify:e=>JSON.stringify(e,_scrubber)},_excluded$2$1=["text"],_excluded2$2=["anchor","focus"];function ownKeys$a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$a(Object(n),!0).forEach(function(t){_defineProperty$3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$a(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Text$1={equals(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{loose:o=!1}=n;function r(e){return _objectWithoutProperties$1(e,_excluded$2$1)}return isDeepEqual(o?r(e):e,o?r(t):t)},isText:e=>isPlainObject$1(e)&&"string"==typeof e.text,isTextList:e=>Array.isArray(e)&&e.every(e=>Text$1.isText(e)),isTextProps:e=>void 0!==e.text,matches(e,t){for(var n in t)if("text"!==n&&(!e.hasOwnProperty(n)||e[n]!==t[n]))return!1;return!0},decorations(e,t){var n=[_objectSpread$a({},e)];for(var o of t){var r=_objectWithoutProperties$1(o,_excluded2$2),[a,i]=Range.edges(o),s=[],l=0,c=a.offset,d=i.offset;for(var u of n){var{length:f}=u.text,p=l;if(l+=f,c<=p&&l<=d)Object.assign(u,r),s.push(u);else if(c!==d&&(c===l||d===p)||c>l||d<p||d===p&&0!==p)s.push(u);else{var _=u,m=void 0,h=void 0;if(d<l){var g=d-p;h=_objectSpread$a(_objectSpread$a({},_),{},{text:_.text.slice(g)}),_=_objectSpread$a(_objectSpread$a({},_),{},{text:_.text.slice(0,g)})}if(c>p){var b=c-p;m=_objectSpread$a(_objectSpread$a({},_),{},{text:_.text.slice(0,b)}),_=_objectSpread$a(_objectSpread$a({},_),{},{text:_.text.slice(b)})}Object.assign(_,r),m&&s.push(m),s.push(_),h&&s.push(h)}}n=s}return n}},getDefaultInsertLocation=e=>e.selection?e.selection:e.children.length>0?Editor.end(e,[]):[0],matchPath=(e,t)=>{var[n]=Editor.node(e,t);return e=>e===n},getCharacterDistance=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!t,o=t?codepointsIteratorRTL(e):e,r=CodepointType.None,a=CodepointType.None,i=0,s=null;for(var l of o){var c=l.codePointAt(0);if(!c)break;var d=getCodepointType(l,c);if([r,a]=n?[a,d]:[d,r],intersects(r,CodepointType.ZWJ)&&intersects(a,CodepointType.ExtPict)&&!endsWithEmojiZWJ(n?e.substring(0,i):e.substring(0,e.length-i)))break;if(intersects(r,CodepointType.RI)&&intersects(a,CodepointType.RI)&&!(s=null!==s?!s:!!n||endsWithOddNumberOfRIs(e.substring(0,e.length-i))))break;if(r!==CodepointType.None&&a!==CodepointType.None&&isBoundaryPair(r,a))break;i+=l.length}return i||1},SPACE=/\s/,PUNCTUATION=/[\u002B\u0021-\u0023\u0025-\u002A\u002C-\u002F\u003A\u003B\u003F\u0040\u005B-\u005D\u005F\u007B\u007D\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E3B\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/,CHAMELEON=/['\u2018\u2019]/,getWordDistance=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=0,o=!1;e.length>0;){var r=getCharacterDistance(e,t),[a,i]=splitByCharacterDistance(e,r,t);if(isWordCharacter(a,i,t))o=!0,n+=r;else{if(o)break;n+=r}e=i}return n},splitByCharacterDistance=(e,t,n)=>{if(n){var o=e.length-t;return[e.slice(o,e.length),e.slice(0,o)]}return[e.slice(0,t),e.slice(t)]},isWordCharacter=function e(t,n){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(SPACE.test(t))return!1;if(CHAMELEON.test(t)){var r=getCharacterDistance(n,o),[a,i]=splitByCharacterDistance(n,r,o);if(e(a,i,o))return!0}return!PUNCTUATION.test(t)},codepointsIteratorRTL=function*(e){for(var t=e.length-1,n=0;n<e.length;n++){var o=e.charAt(t-n);if(isLowSurrogate(o.charCodeAt(0))){var r=e.charAt(t-n-1);if(isHighSurrogate(r.charCodeAt(0))){yield r+o,n++;continue}}yield o}},isHighSurrogate=e=>e>=55296&&e<=56319,isLowSurrogate=e=>e>=56320&&e<=57343,CodepointType;!function(e){e[e.None=0]="None",e[e.Extend=1]="Extend",e[e.ZWJ=2]="ZWJ",e[e.RI=4]="RI",e[e.Prepend=8]="Prepend",e[e.SpacingMark=16]="SpacingMark",e[e.L=32]="L",e[e.V=64]="V",e[e.T=128]="T",e[e.LV=256]="LV",e[e.LVT=512]="LVT",e[e.ExtPict=1024]="ExtPict",e[e.Any=2048]="Any"}(CodepointType||(CodepointType={}));var reExtend=/^(?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09BE\u09C1-\u09C4\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3E\u0B3F\u0B41-\u0B44\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE\u0BC0\u0BCD\u0BD7\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC2\u0CC6\u0CCC\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D3E\u0D41-\u0D44\u0D4D\u0D57\u0D62\u0D63\u0D81\u0DCA\u0DCF\u0DD2-\u0DD4\u0DD6\u0DDF\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u200C\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFF9E\uFF9F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDEFD-\uDEFF\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC01\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDE41\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF3E\uDF40\uDF57\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB0\uDCB3-\uDCB8\uDCBA\uDCBD\uDCBF\uDCC0\uDCC2\uDCC3\uDDAF\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD30\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4\uDF00\uDF01\uDF36-\uDF3A\uDF40\uDF42]|\uD80D[\uDC40\uDC47-\uDC55]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65\uDD67-\uDD69\uDD6E-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC8F\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD839[\uDCEC-\uDCEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uD83C[\uDFFB-\uDFFF]|\uDB40[\uDC20-\uDC7F\uDD00-\uDDEF])$/,rePrepend=/^(?:[\u0600-\u0605\u06DD\u070F\u0890\u0891\u08E2\u0D4E]|\uD804[\uDCBD\uDCCD\uDDC2\uDDC3]|\uD806[\uDD3F\uDD41\uDE3A\uDE84-\uDE89]|\uD807\uDD46)$/,reSpacingMark=/^(?:[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E\u094F\u0982\u0983\u09BF\u09C0\u09C7\u09C8\u09CB\u09CC\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB\u0ACC\u0B02\u0B03\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0C01-\u0C03\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0\u0CC1\u0CC3\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB\u0D02\u0D03\u0D3F\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D82\u0D83\u0DD0\u0DD1\u0DD8-\u0DDE\u0DF2\u0DF3\u0E33\u0EB3\u0F3E\u0F3F\u0F7F\u1031\u103B\u103C\u1056\u1057\u1084\u1715\u1734\u17B6\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1A19\u1A1A\u1A55\u1A57\u1A6D-\u1A72\u1B04\u1B3B\u1B3D-\u1B41\u1B43\u1B44\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF7\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAAEB\uAAEE\uAAEF\uAAF5\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC]|\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD45\uDD46\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDDCE\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF62\uDF63]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB1\uDCB2\uDCB9\uDCBB\uDCBC\uDCBE\uDCC1\uDDB0\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF26]|\uD806[\uDC2C-\uDC2E\uDC38\uDD31-\uDD35\uDD37\uDD38\uDD3D\uDD40\uDD42\uDDD1-\uDDD3\uDDDC-\uDDDF\uDDE4\uDE39\uDE57\uDE58\uDE97]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4\uDD8A-\uDD8E\uDD93\uDD94\uDD96\uDEF5\uDEF6]|\uD81B[\uDF51-\uDF87\uDFF0\uDFF1]|\uD834[\uDD66\uDD6D])$/,reL=/^[\u1100-\u115F\uA960-\uA97C]$/,reV=/^[\u1160-\u11A7\uD7B0-\uD7C6]$/,reT=/^[\u11A8-\u11FF\uD7CB-\uD7FB]$/,reLV=/^[\uAC00\uAC1C\uAC38\uAC54\uAC70\uAC8C\uACA8\uACC4\uACE0\uACFC\uAD18\uAD34\uAD50\uAD6C\uAD88\uADA4\uADC0\uADDC\uADF8\uAE14\uAE30\uAE4C\uAE68\uAE84\uAEA0\uAEBC\uAED8\uAEF4\uAF10\uAF2C\uAF48\uAF64\uAF80\uAF9C\uAFB8\uAFD4\uAFF0\uB00C\uB028\uB044\uB060\uB07C\uB098\uB0B4\uB0D0\uB0EC\uB108\uB124\uB140\uB15C\uB178\uB194\uB1B0\uB1CC\uB1E8\uB204\uB220\uB23C\uB258\uB274\uB290\uB2AC\uB2C8\uB2E4\uB300\uB31C\uB338\uB354\uB370\uB38C\uB3A8\uB3C4\uB3E0\uB3FC\uB418\uB434\uB450\uB46C\uB488\uB4A4\uB4C0\uB4DC\uB4F8\uB514\uB530\uB54C\uB568\uB584\uB5A0\uB5BC\uB5D8\uB5F4\uB610\uB62C\uB648\uB664\uB680\uB69C\uB6B8\uB6D4\uB6F0\uB70C\uB728\uB744\uB760\uB77C\uB798\uB7B4\uB7D0\uB7EC\uB808\uB824\uB840\uB85C\uB878\uB894\uB8B0\uB8CC\uB8E8\uB904\uB920\uB93C\uB958\uB974\uB990\uB9AC\uB9C8\uB9E4\uBA00\uBA1C\uBA38\uBA54\uBA70\uBA8C\uBAA8\uBAC4\uBAE0\uBAFC\uBB18\uBB34\uBB50\uBB6C\uBB88\uBBA4\uBBC0\uBBDC\uBBF8\uBC14\uBC30\uBC4C\uBC68\uBC84\uBCA0\uBCBC\uBCD8\uBCF4\uBD10\uBD2C\uBD48\uBD64\uBD80\uBD9C\uBDB8\uBDD4\uBDF0\uBE0C\uBE28\uBE44\uBE60\uBE7C\uBE98\uBEB4\uBED0\uBEEC\uBF08\uBF24\uBF40\uBF5C\uBF78\uBF94\uBFB0\uBFCC\uBFE8\uC004\uC020\uC03C\uC058\uC074\uC090\uC0AC\uC0C8\uC0E4\uC100\uC11C\uC138\uC154\uC170\uC18C\uC1A8\uC1C4\uC1E0\uC1FC\uC218\uC234\uC250\uC26C\uC288\uC2A4\uC2C0\uC2DC\uC2F8\uC314\uC330\uC34C\uC368\uC384\uC3A0\uC3BC\uC3D8\uC3F4\uC410\uC42C\uC448\uC464\uC480\uC49C\uC4B8\uC4D4\uC4F0\uC50C\uC528\uC544\uC560\uC57C\uC598\uC5B4\uC5D0\uC5EC\uC608\uC624\uC640\uC65C\uC678\uC694\uC6B0\uC6CC\uC6E8\uC704\uC720\uC73C\uC758\uC774\uC790\uC7AC\uC7C8\uC7E4\uC800\uC81C\uC838\uC854\uC870\uC88C\uC8A8\uC8C4\uC8E0\uC8FC\uC918\uC934\uC950\uC96C\uC988\uC9A4\uC9C0\uC9DC\uC9F8\uCA14\uCA30\uCA4C\uCA68\uCA84\uCAA0\uCABC\uCAD8\uCAF4\uCB10\uCB2C\uCB48\uCB64\uCB80\uCB9C\uCBB8\uCBD4\uCBF0\uCC0C\uCC28\uCC44\uCC60\uCC7C\uCC98\uCCB4\uCCD0\uCCEC\uCD08\uCD24\uCD40\uCD5C\uCD78\uCD94\uCDB0\uCDCC\uCDE8\uCE04\uCE20\uCE3C\uCE58\uCE74\uCE90\uCEAC\uCEC8\uCEE4\uCF00\uCF1C\uCF38\uCF54\uCF70\uCF8C\uCFA8\uCFC4\uCFE0\uCFFC\uD018\uD034\uD050\uD06C\uD088\uD0A4\uD0C0\uD0DC\uD0F8\uD114\uD130\uD14C\uD168\uD184\uD1A0\uD1BC\uD1D8\uD1F4\uD210\uD22C\uD248\uD264\uD280\uD29C\uD2B8\uD2D4\uD2F0\uD30C\uD328\uD344\uD360\uD37C\uD398\uD3B4\uD3D0\uD3EC\uD408\uD424\uD440\uD45C\uD478\uD494\uD4B0\uD4CC\uD4E8\uD504\uD520\uD53C\uD558\uD574\uD590\uD5AC\uD5C8\uD5E4\uD600\uD61C\uD638\uD654\uD670\uD68C\uD6A8\uD6C4\uD6E0\uD6FC\uD718\uD734\uD750\uD76C\uD788]$/,reLVT=/^[\uAC01-\uAC1B\uAC1D-\uAC37\uAC39-\uAC53\uAC55-\uAC6F\uAC71-\uAC8B\uAC8D-\uACA7\uACA9-\uACC3\uACC5-\uACDF\uACE1-\uACFB\uACFD-\uAD17\uAD19-\uAD33\uAD35-\uAD4F\uAD51-\uAD6B\uAD6D-\uAD87\uAD89-\uADA3\uADA5-\uADBF\uADC1-\uADDB\uADDD-\uADF7\uADF9-\uAE13\uAE15-\uAE2F\uAE31-\uAE4B\uAE4D-\uAE67\uAE69-\uAE83\uAE85-\uAE9F\uAEA1-\uAEBB\uAEBD-\uAED7\uAED9-\uAEF3\uAEF5-\uAF0F\uAF11-\uAF2B\uAF2D-\uAF47\uAF49-\uAF63\uAF65-\uAF7F\uAF81-\uAF9B\uAF9D-\uAFB7\uAFB9-\uAFD3\uAFD5-\uAFEF\uAFF1-\uB00B\uB00D-\uB027\uB029-\uB043\uB045-\uB05F\uB061-\uB07B\uB07D-\uB097\uB099-\uB0B3\uB0B5-\uB0CF\uB0D1-\uB0EB\uB0ED-\uB107\uB109-\uB123\uB125-\uB13F\uB141-\uB15B\uB15D-\uB177\uB179-\uB193\uB195-\uB1AF\uB1B1-\uB1CB\uB1CD-\uB1E7\uB1E9-\uB203\uB205-\uB21F\uB221-\uB23B\uB23D-\uB257\uB259-\uB273\uB275-\uB28F\uB291-\uB2AB\uB2AD-\uB2C7\uB2C9-\uB2E3\uB2E5-\uB2FF\uB301-\uB31B\uB31D-\uB337\uB339-\uB353\uB355-\uB36F\uB371-\uB38B\uB38D-\uB3A7\uB3A9-\uB3C3\uB3C5-\uB3DF\uB3E1-\uB3FB\uB3FD-\uB417\uB419-\uB433\uB435-\uB44F\uB451-\uB46B\uB46D-\uB487\uB489-\uB4A3\uB4A5-\uB4BF\uB4C1-\uB4DB\uB4DD-\uB4F7\uB4F9-\uB513\uB515-\uB52F\uB531-\uB54B\uB54D-\uB567\uB569-\uB583\uB585-\uB59F\uB5A1-\uB5BB\uB5BD-\uB5D7\uB5D9-\uB5F3\uB5F5-\uB60F\uB611-\uB62B\uB62D-\uB647\uB649-\uB663\uB665-\uB67F\uB681-\uB69B\uB69D-\uB6B7\uB6B9-\uB6D3\uB6D5-\uB6EF\uB6F1-\uB70B\uB70D-\uB727\uB729-\uB743\uB745-\uB75F\uB761-\uB77B\uB77D-\uB797\uB799-\uB7B3\uB7B5-\uB7CF\uB7D1-\uB7EB\uB7ED-\uB807\uB809-\uB823\uB825-\uB83F\uB841-\uB85B\uB85D-\uB877\uB879-\uB893\uB895-\uB8AF\uB8B1-\uB8CB\uB8CD-\uB8E7\uB8E9-\uB903\uB905-\uB91F\uB921-\uB93B\uB93D-\uB957\uB959-\uB973\uB975-\uB98F\uB991-\uB9AB\uB9AD-\uB9C7\uB9C9-\uB9E3\uB9E5-\uB9FF\uBA01-\uBA1B\uBA1D-\uBA37\uBA39-\uBA53\uBA55-\uBA6F\uBA71-\uBA8B\uBA8D-\uBAA7\uBAA9-\uBAC3\uBAC5-\uBADF\uBAE1-\uBAFB\uBAFD-\uBB17\uBB19-\uBB33\uBB35-\uBB4F\uBB51-\uBB6B\uBB6D-\uBB87\uBB89-\uBBA3\uBBA5-\uBBBF\uBBC1-\uBBDB\uBBDD-\uBBF7\uBBF9-\uBC13\uBC15-\uBC2F\uBC31-\uBC4B\uBC4D-\uBC67\uBC69-\uBC83\uBC85-\uBC9F\uBCA1-\uBCBB\uBCBD-\uBCD7\uBCD9-\uBCF3\uBCF5-\uBD0F\uBD11-\uBD2B\uBD2D-\uBD47\uBD49-\uBD63\uBD65-\uBD7F\uBD81-\uBD9B\uBD9D-\uBDB7\uBDB9-\uBDD3\uBDD5-\uBDEF\uBDF1-\uBE0B\uBE0D-\uBE27\uBE29-\uBE43\uBE45-\uBE5F\uBE61-\uBE7B\uBE7D-\uBE97\uBE99-\uBEB3\uBEB5-\uBECF\uBED1-\uBEEB\uBEED-\uBF07\uBF09-\uBF23\uBF25-\uBF3F\uBF41-\uBF5B\uBF5D-\uBF77\uBF79-\uBF93\uBF95-\uBFAF\uBFB1-\uBFCB\uBFCD-\uBFE7\uBFE9-\uC003\uC005-\uC01F\uC021-\uC03B\uC03D-\uC057\uC059-\uC073\uC075-\uC08F\uC091-\uC0AB\uC0AD-\uC0C7\uC0C9-\uC0E3\uC0E5-\uC0FF\uC101-\uC11B\uC11D-\uC137\uC139-\uC153\uC155-\uC16F\uC171-\uC18B\uC18D-\uC1A7\uC1A9-\uC1C3\uC1C5-\uC1DF\uC1E1-\uC1FB\uC1FD-\uC217\uC219-\uC233\uC235-\uC24F\uC251-\uC26B\uC26D-\uC287\uC289-\uC2A3\uC2A5-\uC2BF\uC2C1-\uC2DB\uC2DD-\uC2F7\uC2F9-\uC313\uC315-\uC32F\uC331-\uC34B\uC34D-\uC367\uC369-\uC383\uC385-\uC39F\uC3A1-\uC3BB\uC3BD-\uC3D7\uC3D9-\uC3F3\uC3F5-\uC40F\uC411-\uC42B\uC42D-\uC447\uC449-\uC463\uC465-\uC47F\uC481-\uC49B\uC49D-\uC4B7\uC4B9-\uC4D3\uC4D5-\uC4EF\uC4F1-\uC50B\uC50D-\uC527\uC529-\uC543\uC545-\uC55F\uC561-\uC57B\uC57D-\uC597\uC599-\uC5B3\uC5B5-\uC5CF\uC5D1-\uC5EB\uC5ED-\uC607\uC609-\uC623\uC625-\uC63F\uC641-\uC65B\uC65D-\uC677\uC679-\uC693\uC695-\uC6AF\uC6B1-\uC6CB\uC6CD-\uC6E7\uC6E9-\uC703\uC705-\uC71F\uC721-\uC73B\uC73D-\uC757\uC759-\uC773\uC775-\uC78F\uC791-\uC7AB\uC7AD-\uC7C7\uC7C9-\uC7E3\uC7E5-\uC7FF\uC801-\uC81B\uC81D-\uC837\uC839-\uC853\uC855-\uC86F\uC871-\uC88B\uC88D-\uC8A7\uC8A9-\uC8C3\uC8C5-\uC8DF\uC8E1-\uC8FB\uC8FD-\uC917\uC919-\uC933\uC935-\uC94F\uC951-\uC96B\uC96D-\uC987\uC989-\uC9A3\uC9A5-\uC9BF\uC9C1-\uC9DB\uC9DD-\uC9F7\uC9F9-\uCA13\uCA15-\uCA2F\uCA31-\uCA4B\uCA4D-\uCA67\uCA69-\uCA83\uCA85-\uCA9F\uCAA1-\uCABB\uCABD-\uCAD7\uCAD9-\uCAF3\uCAF5-\uCB0F\uCB11-\uCB2B\uCB2D-\uCB47\uCB49-\uCB63\uCB65-\uCB7F\uCB81-\uCB9B\uCB9D-\uCBB7\uCBB9-\uCBD3\uCBD5-\uCBEF\uCBF1-\uCC0B\uCC0D-\uCC27\uCC29-\uCC43\uCC45-\uCC5F\uCC61-\uCC7B\uCC7D-\uCC97\uCC99-\uCCB3\uCCB5-\uCCCF\uCCD1-\uCCEB\uCCED-\uCD07\uCD09-\uCD23\uCD25-\uCD3F\uCD41-\uCD5B\uCD5D-\uCD77\uCD79-\uCD93\uCD95-\uCDAF\uCDB1-\uCDCB\uCDCD-\uCDE7\uCDE9-\uCE03\uCE05-\uCE1F\uCE21-\uCE3B\uCE3D-\uCE57\uCE59-\uCE73\uCE75-\uCE8F\uCE91-\uCEAB\uCEAD-\uCEC7\uCEC9-\uCEE3\uCEE5-\uCEFF\uCF01-\uCF1B\uCF1D-\uCF37\uCF39-\uCF53\uCF55-\uCF6F\uCF71-\uCF8B\uCF8D-\uCFA7\uCFA9-\uCFC3\uCFC5-\uCFDF\uCFE1-\uCFFB\uCFFD-\uD017\uD019-\uD033\uD035-\uD04F\uD051-\uD06B\uD06D-\uD087\uD089-\uD0A3\uD0A5-\uD0BF\uD0C1-\uD0DB\uD0DD-\uD0F7\uD0F9-\uD113\uD115-\uD12F\uD131-\uD14B\uD14D-\uD167\uD169-\uD183\uD185-\uD19F\uD1A1-\uD1BB\uD1BD-\uD1D7\uD1D9-\uD1F3\uD1F5-\uD20F\uD211-\uD22B\uD22D-\uD247\uD249-\uD263\uD265-\uD27F\uD281-\uD29B\uD29D-\uD2B7\uD2B9-\uD2D3\uD2D5-\uD2EF\uD2F1-\uD30B\uD30D-\uD327\uD329-\uD343\uD345-\uD35F\uD361-\uD37B\uD37D-\uD397\uD399-\uD3B3\uD3B5-\uD3CF\uD3D1-\uD3EB\uD3ED-\uD407\uD409-\uD423\uD425-\uD43F\uD441-\uD45B\uD45D-\uD477\uD479-\uD493\uD495-\uD4AF\uD4B1-\uD4CB\uD4CD-\uD4E7\uD4E9-\uD503\uD505-\uD51F\uD521-\uD53B\uD53D-\uD557\uD559-\uD573\uD575-\uD58F\uD591-\uD5AB\uD5AD-\uD5C7\uD5C9-\uD5E3\uD5E5-\uD5FF\uD601-\uD61B\uD61D-\uD637\uD639-\uD653\uD655-\uD66F\uD671-\uD68B\uD68D-\uD6A7\uD6A9-\uD6C3\uD6C5-\uD6DF\uD6E1-\uD6FB\uD6FD-\uD717\uD719-\uD733\uD735-\uD74F\uD751-\uD76B\uD76D-\uD787\uD789-\uD7A3]$/,reExtPict=/^(?:[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2605\u2607-\u2612\u2614-\u2685\u2690-\u2705\u2708-\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763-\u2767\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC00-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDAD-\uDDE5\uDE01-\uDE0F\uDE1A\uDE2F\uDE32-\uDE3A\uDE3C-\uDE3F\uDE49-\uDFFA]|\uD83D[\uDC00-\uDD3D\uDD46-\uDE4F\uDE80-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDCFF\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDEFF]|\uD83F[\uDC00-\uDFFD])$/,getCodepointType=(e,t)=>{var n=CodepointType.Any;return-1!==e.search(reExtend)&&(n|=CodepointType.Extend),8205===t&&(n|=CodepointType.ZWJ),t>=127462&&t<=127487&&(n|=CodepointType.RI),-1!==e.search(rePrepend)&&(n|=CodepointType.Prepend),-1!==e.search(reSpacingMark)&&(n|=CodepointType.SpacingMark),-1!==e.search(reL)&&(n|=CodepointType.L),-1!==e.search(reV)&&(n|=CodepointType.V),-1!==e.search(reT)&&(n|=CodepointType.T),-1!==e.search(reLV)&&(n|=CodepointType.LV),-1!==e.search(reLVT)&&(n|=CodepointType.LVT),-1!==e.search(reExtPict)&&(n|=CodepointType.ExtPict),n};function intersects(e,t){return 0!==(e&t)}var NonBoundaryPairs=[[CodepointType.L,CodepointType.L|CodepointType.V|CodepointType.LV|CodepointType.LVT],[CodepointType.LV|CodepointType.V,CodepointType.V|CodepointType.T],[CodepointType.LVT|CodepointType.T,CodepointType.T],[CodepointType.Any,CodepointType.Extend|CodepointType.ZWJ],[CodepointType.Any,CodepointType.SpacingMark],[CodepointType.Prepend,CodepointType.Any],[CodepointType.ZWJ,CodepointType.ExtPict],[CodepointType.RI,CodepointType.RI]];function isBoundaryPair(e,t){return-1===NonBoundaryPairs.findIndex(n=>intersects(e,n[0])&&intersects(t,n[1]))}var endingEmojiZWJ=/(?:[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2605\u2607-\u2612\u2614-\u2685\u2690-\u2705\u2708-\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763-\u2767\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC00-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDAD-\uDDE5\uDE01-\uDE0F\uDE1A\uDE2F\uDE32-\uDE3A\uDE3C-\uDE3F\uDE49-\uDFFA]|\uD83D[\uDC00-\uDD3D\uDD46-\uDE4F\uDE80-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDCFF\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDEFF]|\uD83F[\uDC00-\uDFFD])(?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09BE\u09C1-\u09C4\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3E\u0B3F\u0B41-\u0B44\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE\u0BC0\u0BCD\u0BD7\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC2\u0CC6\u0CCC\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D3E\u0D41-\u0D44\u0D4D\u0D57\u0D62\u0D63\u0D81\u0DCA\u0DCF\u0DD2-\u0DD4\u0DD6\u0DDF\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u200C\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFF9E\uFF9F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDEFD-\uDEFF\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC01\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDE41\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF3E\uDF40\uDF57\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB0\uDCB3-\uDCB8\uDCBA\uDCBD\uDCBF\uDCC0\uDCC2\uDCC3\uDDAF\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD30\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4\uDF00\uDF01\uDF36-\uDF3A\uDF40\uDF42]|\uD80D[\uDC40\uDC47-\uDC55]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65\uDD67-\uDD69\uDD6E-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC8F\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD839[\uDCEC-\uDCEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uD83C[\uDFFB-\uDFFF]|\uDB40[\uDC20-\uDC7F\uDD00-\uDDEF])*\u200D$/,endsWithEmojiZWJ=e=>-1!==e.search(endingEmojiZWJ),endingRIs=/(?:\uD83C[\uDDE6-\uDDFF])+$/g,endsWithOddNumberOfRIs=e=>{var t=e.match(endingRIs);return null!==t&&t[0].length/2%2==1},TextTransforms={delete(e,t){e.delete(t)},insertFragment(e,t,n){e.insertFragment(t,n)},insertText(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Editor.withoutNormalizing(e,()=>{var{voids:o=!1}=n,{at:r=getDefaultInsertLocation(e)}=n;if(Path.isPath(r)&&(r=Editor.range(e,r)),Range.isRange(r))if(Range.isCollapsed(r))r=r.anchor;else{var a=Range.end(r);if(!o&&Editor.void(e,{at:a}))return;var i=Range.start(r),s=Editor.pointRef(e,i),l=Editor.pointRef(e,a);Transforms.delete(e,{at:r,voids:o});var c=s.unref(),d=l.unref();r=c||d,Transforms.setSelection(e,{anchor:r,focus:r})}if(!(!o&&Editor.void(e,{at:r})||Editor.elementReadOnly(e,{at:r}))){var{path:u,offset:f}=r;t.length>0&&e.apply({type:"insert_text",path:u,offset:f,text:t})}})}};function ownKeys$9$1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$9$1(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$9$1(Object(n),!0).forEach(function(t){_defineProperty$3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$9$1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Transforms=_objectSpread$9$1(_objectSpread$9$1(_objectSpread$9$1(_objectSpread$9$1({},GeneralTransforms),NodeTransforms),SelectionTransforms),TextTransforms),BATCHING_DIRTY_PATHS=new WeakMap,isBatchingDirtyPaths=e=>BATCHING_DIRTY_PATHS.get(e)||!1,batchDirtyPaths=(e,t,n)=>{var o=BATCHING_DIRTY_PATHS.get(e)||!1;BATCHING_DIRTY_PATHS.set(e,!0);try{t(),n()}finally{BATCHING_DIRTY_PATHS.set(e,o)}};function updateDirtyPaths(e,t,n){var o,r,a=DIRTY_PATHS.get(e)||[],i=DIRTY_PATH_KEYS.get(e)||new Set,s=e=>{if(e){var t=e.join(",");r.has(t)||(r.add(t),o.push(e))}};if(n)for(var l of(o=[],r=new Set,a)){s(n(l))}else o=a,r=i;for(var c of t)s(c);DIRTY_PATHS.set(e,o),DIRTY_PATH_KEYS.set(e,r)}var apply=(e,t)=>{for(var n of Editor.pathRefs(e))PathRef.transform(n,t);for(var o of Editor.pointRefs(e))PointRef.transform(o,t);for(var r of Editor.rangeRefs(e))RangeRef.transform(r,t);if(!isBatchingDirtyPaths(e)){var a=Path.operationCanTransformPath(t)?e=>Path.transform(e,t):void 0;updateDirtyPaths(e,e.getDirtyPaths(t),a)}Transforms.transform(e,t),e.operations.push(t),Editor.normalize(e,{operation:t}),"set_selection"===t.type&&(e.marks=null),FLUSHING.get(e)||(FLUSHING.set(e,!0),Promise.resolve().then(()=>{FLUSHING.set(e,!1),e.onChange({operation:t}),e.operations=[]}))},getDirtyPaths=(e,t)=>{switch(t.type){case"insert_text":case"remove_text":case"set_node":var{path:n}=t;return Path.levels(n);case"insert_node":var{node:o,path:r}=t,a=Path.levels(r),i=Text$1.isText(o)?[]:Array.from(Node$1.nodes(o),e=>{var[,t]=e;return r.concat(t)});return[...a,...i];case"merge_node":var{path:s}=t;return[...Path.ancestors(s),Path.previous(s)];case"move_node":var{path:l,newPath:c}=t;if(Path.equals(l,c))return[];var d=[],u=[];for(var f of Path.ancestors(l)){var p=Path.transform(f,t);d.push(p)}for(var _ of Path.ancestors(c)){var m=Path.transform(_,t);u.push(m)}var h=u[u.length-1],g=c[c.length-1],b=h.concat(g);return[...d,...u,b];case"remove_node":var{path:v}=t;return[...Path.ancestors(v)];case"split_node":var{path:y}=t;return[...Path.levels(y),Path.next(y)];default:return[]}},getFragment=e=>{var{selection:t}=e;return t?Node$1.fragment(e,t):[]},normalizeNode=(e,t)=>{var[n,o]=t;if(!Text$1.isText(n))if(Element$2.isElement(n)&&0===n.children.length){Transforms.insertNodes(e,{text:""},{at:o.concat(0),voids:!0})}else for(var r=!Editor.isEditor(n)&&(Element$2.isElement(n)&&(e.isInline(n)||0===n.children.length||Text$1.isText(n.children[0])||e.isInline(n.children[0]))),a=0,i=0;i<n.children.length;i++,a++){var s=Node$1.get(e,o);if(!Text$1.isText(s)){var l=s.children[a],c=s.children[a-1],d=i===n.children.length-1;if((Text$1.isText(l)||Element$2.isElement(l)&&e.isInline(l))!==r)Transforms.removeNodes(e,{at:o.concat(a),voids:!0}),a--;else if(Element$2.isElement(l)){if(e.isInline(l))if(null!=c&&Text$1.isText(c)){if(d){Transforms.insertNodes(e,{text:""},{at:o.concat(a+1),voids:!0}),a++}}else{Transforms.insertNodes(e,{text:""},{at:o.concat(a),voids:!0}),a++}}else{if(!Text$1.isText(l)&&!("children"in l))l.children=[];null!=c&&Text$1.isText(c)&&(Text$1.equals(l,c,{loose:!0})?(Transforms.mergeNodes(e,{at:o.concat(a),voids:!0}),a--):""===c.text?(Transforms.removeNodes(e,{at:o.concat(a-1),voids:!0}),a--):""===l.text&&(Transforms.removeNodes(e,{at:o.concat(a),voids:!0}),a--))}}}},shouldNormalize=(e,t)=>{var{iteration:n,initialDirtyPathsLength:o}=t,r=42*o;if(n>r)throw new Error("Could not completely normalize the editor after ".concat(r," iterations! This is usually due to incorrect normalization logic that leaves a node in an invalid state."));return!0},above=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{voids:n=!1,mode:o="lowest",at:r=e.selection,match:a}=t;if(r){var i=Editor.path(e,r),s="lowest"===o;for(var[l,c]of Editor.levels(e,{at:i,voids:n,match:a,reverse:s}))if(!Text$1.isText(l))if(Range.isRange(r)){if(Path.isAncestor(c,r.anchor.path)&&Path.isAncestor(c,r.focus.path))return[l,c]}else if(!Path.equals(i,c))return[l,c]}};function ownKeys$8$1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$8$1(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$8$1(Object(n),!0).forEach(function(t){_defineProperty$3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$8$1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var addMark=(e,t,n)=>{var{selection:o}=e;if(o){var r=(t,n)=>{if(!Text$1.isText(t))return!1;var[o,r]=Editor.parent(e,n);return!e.isVoid(o)||e.markableVoid(o)},a=Range.isExpanded(o),i=!1;if(!a){var[s,l]=Editor.node(e,o);if(s&&r(s,l)){var[c]=Editor.parent(e,l);i=c&&e.markableVoid(c)}}if(a||i)Transforms.setNodes(e,{[t]:n},{match:r,split:!0,voids:!0});else{var d=_objectSpread$8$1(_objectSpread$8$1({},Editor.marks(e)||{}),{},{[t]:n});e.marks=d,FLUSHING.get(e)||e.onChange()}}};function ownKeys$7$1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$7$1(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$7$1(Object(n),!0).forEach(function(t){_defineProperty$3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$7$1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var after=function(e,t){var n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r={anchor:Editor.point(e,t,{edge:"end"}),focus:Editor.end(e,[])},{distance:a=1}=o,i=0;for(var s of Editor.positions(e,_objectSpread$7$1(_objectSpread$7$1({},o),{},{at:r}))){if(i>a)break;0!==i&&(n=s),i++}return n};function ownKeys$6$2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$6$2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$6$2(Object(n),!0).forEach(function(t){_defineProperty$3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$6$2(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var before=function(e,t){var n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r={anchor:Editor.start(e,[]),focus:Editor.point(e,t,{edge:"start"})},{distance:a=1}=o,i=0;for(var s of Editor.positions(e,_objectSpread$6$2(_objectSpread$6$2({},o),{},{at:r,reverse:!0}))){if(i>a)break;0!==i&&(n=s),i++}return n},deleteBackward=(e,t)=>{var{selection:n}=e;n&&Range.isCollapsed(n)&&Transforms.delete(e,{unit:t,reverse:!0})},deleteForward=(e,t)=>{var{selection:n}=e;n&&Range.isCollapsed(n)&&Transforms.delete(e,{unit:t})},deleteFragment=function(e){var{direction:t="forward"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{selection:n}=e;n&&Range.isExpanded(n)&&Transforms.delete(e,{reverse:"backward"===t})},edges=(e,t)=>[Editor.start(e,t),Editor.end(e,t)];function ownKeys$5$2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$5$2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$5$2(Object(n),!0).forEach(function(t){_defineProperty$3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$5$2(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var elementReadOnly=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Editor.above(e,_objectSpread$5$2(_objectSpread$5$2({},t),{},{match:t=>Element$2.isElement(t)&&Editor.isElementReadOnly(e,t)}))},end=(e,t)=>Editor.point(e,t,{edge:"end"}),first=(e,t)=>{var n=Editor.path(e,t,{edge:"start"});return Editor.node(e,n)},fragment=(e,t)=>{var n=Editor.range(e,t);return Node$1.fragment(e,n)};function ownKeys$4$2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$4$2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$4$2(Object(n),!0).forEach(function(t){_defineProperty$3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$4$2(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var getVoid=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Editor.above(e,_objectSpread$4$2(_objectSpread$4$2({},t),{},{match:t=>Element$2.isElement(t)&&Editor.isVoid(e,t)}))},hasBlocks=(e,t)=>t.children.some(t=>Element$2.isElement(t)&&Editor.isBlock(e,t)),hasInlines=(e,t)=>t.children.some(t=>Text$1.isText(t)||Editor.isInline(e,t)),hasPath=(e,t)=>Node$1.has(e,t),hasTexts=(e,t)=>t.children.every(e=>Text$1.isText(e)),insertBreak=e=>{Transforms.splitNodes(e,{always:!0})},insertNode=(e,t,n)=>{Transforms.insertNodes(e,t,n)},insertSoftBreak=e=>{Transforms.splitNodes(e,{always:!0})};function ownKeys$3$2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$3$2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$3$2(Object(n),!0).forEach(function(t){_defineProperty$3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$3$2(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var insertText=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{selection:o,marks:r}=e;if(o){if(r){var a=_objectSpread$3$2({text:t},r);Transforms.insertNodes(e,a,{at:n.at,voids:n.voids})}else Transforms.insertText(e,t,n);e.marks=null}},isBlock=(e,t)=>!e.isInline(t),isEdge=(e,t,n)=>Editor.isStart(e,t,n)||Editor.isEnd(e,t,n),isEmpty$1=(e,t)=>{var{children:n}=t,[o]=n;return 0===n.length||1===n.length&&Text$1.isText(o)&&""===o.text&&!e.isVoid(t)},isEnd=(e,t,n)=>{var o=Editor.end(e,n);return Point.equals(t,o)},isNormalizing=e=>{var t=NORMALIZING.get(e);return void 0===t||t},isStart=(e,t,n)=>{if(0!==t.offset)return!1;var o=Editor.start(e,n);return Point.equals(t,o)},last=(e,t)=>{var n=Editor.path(e,t,{edge:"end"});return Editor.node(e,n)},leaf=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=Editor.path(e,t,n);return[Node$1.leaf(e,o),o]};function levels(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){var{at:n=e.selection,reverse:o=!1,voids:r=!1}=t,{match:a}=t;if(null==a&&(a=()=>!0),n){var i=[],s=Editor.path(e,n);for(var[l,c]of Node$1.levels(e,s))if(a(l,c)&&(i.push([l,c]),!r&&Element$2.isElement(l)&&Editor.isVoid(e,l)))break;o&&i.reverse(),yield*i}}()}var _excluded$1$1=["text"],_excluded2$1$1=["text"],marks=function(e){var{marks:t,selection:n}=e;if(!n)return null;var{anchor:o,focus:r}=n;if(t)return t;if(Range.isExpanded(n)){if(Range.isBackward(n)&&([r,o]=[o,r]),Editor.isEnd(e,o,o.path)){var a=Editor.after(e,o);a&&(o=a)}var[i]=Editor.nodes(e,{match:Text$1.isText,at:{anchor:o,focus:r}});if(i){var[s]=i;return _objectWithoutProperties$1(s,_excluded$1$1)}return{}}var{path:l}=o,[c]=Editor.leaf(e,l);if(0===o.offset){var d=Editor.previous(e,{at:l,match:Text$1.isText}),u=Editor.above(e,{match:t=>Element$2.isElement(t)&&Editor.isVoid(e,t)&&e.markableVoid(t)});if(!u){var f=Editor.above(e,{match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t)});if(d&&f){var[p,_]=d,[,m]=f;Path.isAncestor(m,_)&&(c=p)}}}return _objectWithoutProperties$1(c,_excluded2$1$1)},next=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{mode:n="lowest",voids:o=!1}=t,{match:r,at:a=e.selection}=t;if(a){var i=Editor.after(e,a,{voids:o});if(i){var[,s]=Editor.last(e,[]),l=[i.path,s];if(Path.isPath(a)&&0===a.length)throw new Error("Cannot get the next node from the root node!");if(null==r)if(Path.isPath(a)){var[c]=Editor.parent(e,a);r=e=>c.children.includes(e)}else r=()=>!0;var[d]=Editor.nodes(e,{at:l,match:r,mode:n,voids:o});return d}}},node=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=Editor.path(e,t,n),r=Node$1.get(e,o);return[r,o]};function nodes(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){var{at:n=e.selection,mode:o="all",universal:r=!1,reverse:a=!1,voids:i=!1,ignoreNonSelectable:s=!1}=t,{match:l}=t;if(l||(l=()=>!0),n){var c,d;if(Span.isSpan(n))c=n[0],d=n[1];else{var u=Editor.path(e,n,{edge:"start"}),f=Editor.path(e,n,{edge:"end"});c=a?f:u,d=a?u:f}var p,_=Node$1.nodes(e,{reverse:a,from:c,to:d,pass:t=>{var[n]=t;return!!Element$2.isElement(n)&&(!(i||!Editor.isVoid(e,n)&&!Editor.isElementReadOnly(e,n))||!(!s||Editor.isSelectable(e,n)))}}),m=[];for(var[h,g]of _)if(!s||!Element$2.isElement(h)||Editor.isSelectable(e,h)){var b=p&&0===Path.compare(g,p[1]);if("highest"!==o||!b)if(l(h,g))if("lowest"===o&&b)p=[h,g];else{var v="lowest"===o?p:[h,g];v&&(r?m.push(v):yield v),p=[h,g]}else if(r&&!b&&Text$1.isText(h))return}"lowest"===o&&p&&(r?m.push(p):yield p),r&&(yield*m)}}()}var normalize=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{force:n=!1,operation:o}=t,r=e=>DIRTY_PATHS.get(e)||[],a=e=>{var t=r(e).pop(),n=t.join(",");return(e=>DIRTY_PATH_KEYS.get(e)||new Set)(e).delete(n),t};if(Editor.isNormalizing(e)){if(n){var i=Array.from(Node$1.nodes(e),e=>{var[,t]=e;return t}),s=new Set(i.map(e=>e.join(",")));DIRTY_PATHS.set(e,i),DIRTY_PATH_KEYS.set(e,s)}0!==r(e).length&&Editor.withoutNormalizing(e,()=>{for(var t of r(e))if(Node$1.has(e,t)){var n=Editor.node(e,t),[i,s]=n;Element$2.isElement(i)&&0===i.children.length&&e.normalizeNode(n,{operation:o})}for(var l=r(e),c=l.length,d=0;0!==l.length;){if(!e.shouldNormalize({dirtyPaths:l,iteration:d,initialDirtyPathsLength:c,operation:o}))return;var u=a(e);if(Node$1.has(e,u)){var f=Editor.node(e,u);e.normalizeNode(f,{operation:o})}d++,l=r(e)}})}},parent=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=Editor.path(e,t,n),r=Path.parent(o);return Editor.node(e,r)},pathRef=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{affinity:o="forward"}=n,r={current:t,affinity:o,unref(){var{current:t}=r;return Editor.pathRefs(e).delete(r),r.current=null,t}};return Editor.pathRefs(e).add(r),r},pathRefs=e=>{var t=PATH_REFS.get(e);return t||(t=new Set,PATH_REFS.set(e,t)),t},path=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{depth:o,edge:r}=n;if(Path.isPath(t))if("start"===r){var[,a]=Node$1.first(e,t);t=a}else if("end"===r){var[,i]=Node$1.last(e,t);t=i}return Range.isRange(t)&&(t="start"===r?Range.start(t):"end"===r?Range.end(t):Path.common(t.anchor.path,t.focus.path)),Point.isPoint(t)&&(t=t.path),null!=o&&(t=t.slice(0,o)),t},pointRef=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{affinity:o="forward"}=n,r={current:t,affinity:o,unref(){var{current:t}=r;return Editor.pointRefs(e).delete(r),r.current=null,t}};return Editor.pointRefs(e).add(r),r},pointRefs=e=>{var t=POINT_REFS.get(e);return t||(t=new Set,POINT_REFS.set(e,t)),t},point=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{edge:o="start"}=n;if(Path.isPath(t)){var r;if("end"===o){var[,a]=Node$1.last(e,t);r=a}else{var[,i]=Node$1.first(e,t);r=i}var s=Node$1.get(e,r);if(!Text$1.isText(s))throw new Error("Cannot get the ".concat(o," point in the node at path [").concat(t,"] because it has no ").concat(o," text node."));return{path:r,offset:"end"===o?s.text.length:0}}if(Range.isRange(t)){var[l,c]=Range.edges(t);return"start"===o?l:c}return t};function positions(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){var{at:n=e.selection,unit:o="offset",reverse:r=!1,voids:a=!1,ignoreNonSelectable:i=!1}=t;if(n){var s=Editor.range(e,n),[l,c]=Range.edges(s),d=r?c:l,u=!1,f="",p=0,_=0,m=0;for(var[h,g]of Editor.nodes(e,{at:n,reverse:r,voids:a,ignoreNonSelectable:i})){if(Element$2.isElement(h)){if(!a&&(e.isVoid(h)||e.isElementReadOnly(h))){yield Editor.start(e,g);continue}if(e.isInline(h))continue;if(Editor.hasInlines(e,h)){var b=Path.isAncestor(g,c.path)?c:Editor.end(e,g),v=Path.isAncestor(g,l.path)?l:Editor.start(e,g);f=Editor.string(e,{anchor:v,focus:b},{voids:a}),u=!0}}if(Text$1.isText(h)){var y=Path.equals(g,d.path);for(y?(_=r?d.offset:h.text.length-d.offset,m=d.offset):(_=h.text.length,m=r?_:0),(y||u||"offset"===o)&&(yield{path:g,offset:m},u=!1);;){if(0===p){if(""===f)break;p=E(f,o,r),f=splitByCharacterDistance(f,p,r)[1]}if(m=r?m-p:m+p,(_-=p)<0){p=-_;break}p=0,yield{path:g,offset:m}}}}}function E(e,t,n){return"character"===t?getCharacterDistance(e,n):"word"===t?getWordDistance(e,n):"line"===t||"block"===t?e.length:1}}()}var previous=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{mode:n="lowest",voids:o=!1}=t,{match:r,at:a=e.selection}=t;if(a){var i=Editor.before(e,a,{voids:o});if(i){var[,s]=Editor.first(e,[]),l=[i.path,s];if(Path.isPath(a)&&0===a.length)throw new Error("Cannot get the previous node from the root node!");if(null==r)if(Path.isPath(a)){var[c]=Editor.parent(e,a);r=e=>c.children.includes(e)}else r=()=>!0;var[d]=Editor.nodes(e,{reverse:!0,at:l,match:r,mode:n,voids:o});return d}}},rangeRef=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{affinity:o="forward"}=n,r={current:t,affinity:o,unref(){var{current:t}=r;return Editor.rangeRefs(e).delete(r),r.current=null,t}};return Editor.rangeRefs(e).add(r),r},rangeRefs=e=>{var t=RANGE_REFS.get(e);return t||(t=new Set,RANGE_REFS.set(e,t)),t},range=(e,t,n)=>Range.isRange(t)&&!n?t:{anchor:Editor.start(e,t),focus:Editor.end(e,n||t)};function ownKeys$2$2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$2$2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$2$2(Object(n),!0).forEach(function(t){_defineProperty$3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$2$2(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var removeMark=(e,t)=>{var{selection:n}=e;if(n){var o=(t,n)=>{if(!Text$1.isText(t))return!1;var[o,r]=Editor.parent(e,n);return!e.isVoid(o)||e.markableVoid(o)},r=Range.isExpanded(n),a=!1;if(!r){var[i,s]=Editor.node(e,n);if(i&&o(i,s)){var[l]=Editor.parent(e,s);a=l&&e.markableVoid(l)}}if(r||a)Transforms.unsetNodes(e,t,{match:o,split:!0,voids:!0});else{var c=_objectSpread$2$2({},Editor.marks(e)||{});delete c[t],e.marks=c,FLUSHING.get(e)||e.onChange()}}},setNormalizing=(e,t)=>{NORMALIZING.set(e,t)},start=(e,t)=>Editor.point(e,t,{edge:"start"}),string=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{voids:o=!1}=n,r=Editor.range(e,t),[a,i]=Range.edges(r),s="";for(var[l,c]of Editor.nodes(e,{at:r,match:Text$1.isText,voids:o})){var d=l.text;Path.equals(c,i.path)&&(d=d.slice(0,i.offset)),Path.equals(c,a.path)&&(d=d.slice(a.offset)),s+=d}return s},unhangRange=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{voids:o=!1}=n,[r,a]=Range.edges(t);if(0!==r.offset||0!==a.offset||Range.isCollapsed(t)||Path.hasPrevious(a.path))return t;var i=Editor.above(e,{at:a,match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t),voids:o}),s=i?i[1]:[],l={anchor:Editor.start(e,r),focus:a},c=!0;for(var[d,u]of Editor.nodes(e,{at:l,match:Text$1.isText,reverse:!0,voids:o}))if(c)c=!1;else if(""!==d.text||Path.isBefore(u,s)){a={path:u,offset:d.text.length};break}return{anchor:r,focus:a}},withoutNormalizing=(e,t)=>{var n=Editor.isNormalizing(e);Editor.setNormalizing(e,!1);try{t()}finally{Editor.setNormalizing(e,n)}Editor.normalize(e)},shouldMergeNodesRemovePrevNode=(e,t,n)=>{var[o,r]=t;return Element$2.isElement(o)&&Editor.isEmpty(e,o)||Text$1.isText(o)&&""===o.text&&0!==r[r.length-1]},deleteText=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Editor.withoutNormalizing(e,()=>{var n,o,{reverse:r=!1,unit:a="character",distance:i=1,voids:s=!1}=t,{at:l=e.selection,hanging:c=!1}=t;if(l){var d=!1;if(Range.isRange(l)&&Range.isCollapsed(l)&&(d=!0,l=l.anchor),Point.isPoint(l)){var u=Editor.void(e,{at:l,mode:"highest"});if(!s&&u){var[,f]=u;l=f}else{var p={unit:a,distance:i};l={anchor:l,focus:r?Editor.before(e,l,p)||Editor.start(e,[]):Editor.after(e,l,p)||Editor.end(e,[])},c=!0}}if(Path.isPath(l))Transforms.removeNodes(e,{at:l,voids:s});else if(!Range.isCollapsed(l)){if(!c){var[,_]=Range.edges(l),m=Editor.end(e,[]);Point.equals(_,m)||(l=Editor.unhangRange(e,l,{voids:s}))}var[h,g]=Range.edges(l),b=Editor.above(e,{match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t),at:h,voids:s}),v=Editor.above(e,{match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t),at:g,voids:s}),y=b&&v&&!Path.equals(b[1],v[1]),E=Path.equals(h.path,g.path),w=s?null:null!==(n=Editor.void(e,{at:h,mode:"highest"}))&&void 0!==n?n:Editor.elementReadOnly(e,{at:h,mode:"highest"}),C=s?null:null!==(o=Editor.void(e,{at:g,mode:"highest"}))&&void 0!==o?o:Editor.elementReadOnly(e,{at:g,mode:"highest"});if(w){var x=Editor.before(e,h);x&&b&&Path.isAncestor(b[1],x.path)&&(h=x)}if(C){var R=Editor.after(e,g);R&&v&&Path.isAncestor(v[1],R.path)&&(g=R)}var S,D=[];for(var T of Editor.nodes(e,{at:l,voids:s})){var[O,A]=T;S&&0===Path.compare(A,S)||(!s&&Element$2.isElement(O)&&(Editor.isVoid(e,O)||Editor.isElementReadOnly(e,O))||!Path.isCommon(A,h.path)&&!Path.isCommon(A,g.path))&&(D.push(T),S=A)}var I=Array.from(D,t=>{var[,n]=t;return Editor.pathRef(e,n)}),k=Editor.pointRef(e,h),N=Editor.pointRef(e,g),j="";if(!E&&!w){var $=k.current,[F]=Editor.leaf(e,$),{path:P}=$,{offset:M}=h,B=F.text.slice(M);B.length>0&&(e.apply({type:"remove_text",path:P,offset:M,text:B}),j=B)}if(I.reverse().map(e=>e.unref()).filter(e=>null!==e).forEach(t=>Transforms.removeNodes(e,{at:t,voids:s})),!C){var L=N.current,[U]=Editor.leaf(e,L),{path:V}=L,H=E?h.offset:0,z=U.text.slice(H,g.offset);z.length>0&&(e.apply({type:"remove_text",path:V,offset:H,text:z}),j=z)}!E&&y&&N.current&&k.current&&Transforms.mergeNodes(e,{at:N.current,hanging:!0,voids:s}),d&&r&&"character"===a&&j.length>1&&j.match(/[\u0E00-\u0E7F]+/)&&Transforms.insertText(e,j.slice(0,j.length-i));var q=k.unref(),K=N.unref(),W=r?q||K:K||q;null==t.at&&W&&Transforms.select(e,W)}}})},insertFragment=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Editor.withoutNormalizing(e,()=>{var{hanging:o=!1,voids:r=!1}=n,{at:a=getDefaultInsertLocation(e),batchDirty:i=!0}=n;if(t.length){if(Range.isRange(a))if(o||(a=Editor.unhangRange(e,a,{voids:r})),Range.isCollapsed(a))a=a.anchor;else{var[,s]=Range.edges(a);if(!r&&Editor.void(e,{at:s}))return;var l=Editor.pointRef(e,s);Transforms.delete(e,{at:a}),a=l.unref()}else Path.isPath(a)&&(a=Editor.start(e,a));if(r||!Editor.void(e,{at:a})){var c=Editor.above(e,{at:a,match:t=>Element$2.isElement(t)&&Editor.isInline(e,t),mode:"highest",voids:r});if(c){var[,d]=c;if(Editor.isEnd(e,a,d))a=Editor.after(e,d);else if(Editor.isStart(e,a,d)){a=Editor.before(e,d)}}var u=Editor.above(e,{match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t),at:a,voids:r}),[,f]=u,p=Editor.isStart(e,a,f),_=Editor.isEnd(e,a,f),m=p&&_,h=!p||p&&_,g=!_,[,b]=Node$1.first({children:t},[]),[,v]=Node$1.last({children:t},[]),y=[],E=t=>{var[n,o]=t;return!(0===o.length)&&(!!m||!(h&&Path.isAncestor(o,b)&&Element$2.isElement(n)&&!e.isVoid(n)&&!e.isInline(n))&&!(g&&Path.isAncestor(o,v)&&Element$2.isElement(n)&&!e.isVoid(n)&&!e.isInline(n)))};for(var w of Node$1.nodes({children:t},{pass:E}))E(w)&&y.push(w);var C=[],x=[],R=[],S=!0,D=!1;for(var[T]of y)Element$2.isElement(T)&&!e.isInline(T)?(S=!1,D=!0,x.push(T)):S?C.push(T):R.push(T);var[O]=Editor.nodes(e,{at:a,match:t=>Text$1.isText(t)||Editor.isInline(e,t),mode:"highest",voids:r}),[,A]=O,I=Editor.isStart(e,a,A),k=Editor.isEnd(e,a,A),N=Editor.pathRef(e,_&&!R.length?Path.next(f):f),j=Editor.pathRef(e,k?Path.next(A):A);Transforms.splitNodes(e,{at:a,match:t=>D?Element$2.isElement(t)&&Editor.isBlock(e,t):Text$1.isText(t)||Editor.isInline(e,t),mode:D?"lowest":"highest",always:D&&(!p||C.length>0)&&(!_||R.length>0),voids:r});var $,F=Editor.pathRef(e,!I||I&&k?Path.next(A):A);if(Transforms.insertNodes(e,C,{at:F.current,match:t=>Text$1.isText(t)||Editor.isInline(e,t),mode:"highest",voids:r,batchDirty:i}),m&&!C.length&&x.length&&!R.length&&Transforms.delete(e,{at:f,voids:r}),Transforms.insertNodes(e,x,{at:N.current,match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t),mode:"lowest",voids:r,batchDirty:i}),Transforms.insertNodes(e,R,{at:j.current,match:t=>Text$1.isText(t)||Editor.isInline(e,t),mode:"highest",voids:r,batchDirty:i}),!n.at)if(R.length>0&&j.current?$=Path.previous(j.current):x.length>0&&N.current?$=Path.previous(N.current):F.current&&($=Path.previous(F.current)),$){var P=Editor.end(e,$);Transforms.select(e,P)}F.unref(),N.unref(),j.unref()}}})},collapse$1=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{edge:n="anchor"}=t,{selection:o}=e;if(o)if("anchor"===n)Transforms.select(e,o.anchor);else if("focus"===n)Transforms.select(e,o.focus);else if("start"===n){var[r]=Range.edges(o);Transforms.select(e,r)}else if("end"===n){var[,a]=Range.edges(o);Transforms.select(e,a)}},deselect=e=>{var{selection:t}=e;t&&e.apply({type:"set_selection",properties:t,newProperties:null})},move=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{selection:n}=e,{distance:o=1,unit:r="character",reverse:a=!1}=t,{edge:i=null}=t;if(n){"start"===i&&(i=Range.isBackward(n)?"focus":"anchor"),"end"===i&&(i=Range.isBackward(n)?"anchor":"focus");var{anchor:s,focus:l}=n,c={distance:o,unit:r,ignoreNonSelectable:!0},d={};if(null==i||"anchor"===i){var u=a?Editor.before(e,s,c):Editor.after(e,s,c);u&&(d.anchor=u)}if(null==i||"focus"===i){var f=a?Editor.before(e,l,c):Editor.after(e,l,c);f&&(d.focus=f)}Transforms.setSelection(e,d)}},select=(e,t)=>{var{selection:n}=e;if(t=Editor.range(e,t),n)Transforms.setSelection(e,t);else{if(!Range.isRange(t))throw new Error("When setting the selection and the current selection is `null` you must provide at least an `anchor` and `focus`, but you passed: ".concat(Scrubber.stringify(t)));e.apply({type:"set_selection",properties:n,newProperties:t})}};function ownKeys$1$4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$1$4(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$1$4(Object(n),!0).forEach(function(t){_defineProperty$3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$1$4(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var setPoint=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{selection:o}=e,{edge:r="both"}=n;if(o){"start"===r&&(r=Range.isBackward(o)?"focus":"anchor"),"end"===r&&(r=Range.isBackward(o)?"anchor":"focus");var{anchor:a,focus:i}=o,s="anchor"===r?a:i;Transforms.setSelection(e,{["anchor"===r?"anchor":"focus"]:_objectSpread$1$4(_objectSpread$1$4({},s),t)})}},setSelection=(e,t)=>{var{selection:n}=e,o={},r={};if(n){for(var a in t)("anchor"===a&&null!=t.anchor&&!Point.equals(t.anchor,n.anchor)||"focus"===a&&null!=t.focus&&!Point.equals(t.focus,n.focus)||"anchor"!==a&&"focus"!==a&&t[a]!==n[a])&&(o[a]=n[a],r[a]=t[a]);Object.keys(o).length>0&&e.apply({type:"set_selection",properties:o,newProperties:r})}},insertNodes=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Editor.withoutNormalizing(e,()=>{var{hanging:o=!1,voids:r=!1,mode:a="lowest",batchDirty:i=!0}=n,{at:s,match:l,select:c}=n;if(Node$1.isNode(t)&&(t=[t]),0!==t.length){var[d]=t;if(s||(s=getDefaultInsertLocation(e),!1!==c&&(c=!0)),null==c&&(c=!1),Range.isRange(s))if(o||(s=Editor.unhangRange(e,s,{voids:r})),Range.isCollapsed(s))s=s.anchor;else{var[,u]=Range.edges(s),f=Editor.pointRef(e,u);Transforms.delete(e,{at:s}),s=f.unref()}if(Point.isPoint(s)){null==l&&(l=Text$1.isText(d)?e=>Text$1.isText(e):e.isInline(d)?t=>Text$1.isText(t)||Editor.isInline(e,t):t=>Element$2.isElement(t)&&Editor.isBlock(e,t));var[p]=Editor.nodes(e,{at:s.path,match:l,mode:a,voids:r});if(!p)return;var[,_]=p,m=Editor.pathRef(e,_),h=Editor.isEnd(e,s,_);Transforms.splitNodes(e,{at:s,match:l,mode:a,voids:r});var g=m.unref();s=h?Path.next(g):g}var b=Path.parent(s),v=s[s.length-1];if(r||!Editor.void(e,{at:b})){if(i){var y=[],E=Path.levels(b);batchDirtyPaths(e,()=>{var n=function(){var t=b.concat(v);v++;var n={type:"insert_node",path:t,node:o};e.apply(n),s=Path.next(s),y.push(n),Text$1.isText?E.push(...Array.from(Node$1.nodes(o),e=>{var[,n]=e;return t.concat(n)})):E.push(t)};for(var o of t)n()},()=>{updateDirtyPaths(e,E,e=>{var t=e;for(var n of y)if(Path.operationCanTransformPath(n)&&!(t=Path.transform(t,n)))return null;return t})})}else for(var w of t){var C=b.concat(v);v++,e.apply({type:"insert_node",path:C,node:w}),s=Path.next(s)}if(s=Path.previous(s),c){var x=Editor.end(e,s);x&&Transforms.select(e,x)}}}})},liftNodes=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Editor.withoutNormalizing(e,()=>{var{at:n=e.selection,mode:o="lowest",voids:r=!1}=t,{match:a}=t;if(null==a&&(a=Path.isPath(n)?matchPath(e,n):t=>Element$2.isElement(t)&&Editor.isBlock(e,t)),n){var i=Editor.nodes(e,{at:n,match:a,mode:o,voids:r}),s=Array.from(i,t=>{var[,n]=t;return Editor.pathRef(e,n)});for(var l of s){var c=l.unref();if(c.length<2)throw new Error("Cannot lift node at a path [".concat(c,"] because it has a depth of less than `2`."));var d=Editor.node(e,Path.parent(c)),[u,f]=d,p=c[c.length-1],{length:_}=u.children;if(1===_){var m=Path.next(f);Transforms.moveNodes(e,{at:c,to:m,voids:r}),Transforms.removeNodes(e,{at:f,voids:r})}else if(0===p)Transforms.moveNodes(e,{at:c,to:f,voids:r});else if(p===_-1){var h=Path.next(f);Transforms.moveNodes(e,{at:c,to:h,voids:r})}else{var g=Path.next(c),b=Path.next(f);Transforms.splitNodes(e,{at:g,voids:r}),Transforms.moveNodes(e,{at:c,to:b,voids:r})}}}})},_excluded$5=["text"],_excluded2$4=["children"],hasSingleChildNest=(e,t)=>{if(Element$2.isElement(t)){var n=t;return!!Editor.isVoid(e,t)||1===n.children.length&&hasSingleChildNest(e,n.children[0])}return!Editor.isEditor(t)},mergeNodes=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Editor.withoutNormalizing(e,()=>{var{match:n,at:o=e.selection}=t,{hanging:r=!1,voids:a=!1,mode:i="lowest"}=t;if(o){if(null==n)if(Path.isPath(o)){var[s]=Editor.parent(e,o);n=e=>s.children.includes(e)}else n=t=>Element$2.isElement(t)&&Editor.isBlock(e,t);if(!r&&Range.isRange(o)&&(o=Editor.unhangRange(e,o,{voids:a})),Range.isRange(o))if(Range.isCollapsed(o))o=o.anchor;else{var[,l]=Range.edges(o),c=Editor.pointRef(e,l);Transforms.delete(e,{at:o}),o=c.unref(),null==t.at&&Transforms.select(e,o)}var[d]=Editor.nodes(e,{at:o,match:n,voids:a,mode:i}),u=Editor.previous(e,{at:o,match:n,voids:a,mode:i});if(d&&u){var[f,p]=d,[_,m]=u;if(0!==p.length&&0!==m.length){var h,g,b=Path.next(m),v=Path.common(p,m),y=Path.isSibling(p,m),E=Array.from(Editor.levels(e,{at:p}),e=>{var[t]=e;return t}).slice(v.length).slice(0,-1),w=Editor.above(e,{at:p,mode:"highest",match:t=>E.includes(t)&&hasSingleChildNest(e,t)}),C=w&&Editor.pathRef(e,w[1]);if(Text$1.isText(f)&&Text$1.isText(_)){var x=_objectWithoutProperties$1(f,_excluded$5);g=_.text.length,h=x}else{if(!Element$2.isElement(f)||!Element$2.isElement(_))throw new Error("Cannot merge the node at path [".concat(p,"] with the previous sibling because it is not the same kind: ").concat(Scrubber.stringify(f)," ").concat(Scrubber.stringify(_)));x=_objectWithoutProperties$1(f,_excluded2$4);g=_.children.length,h=x}y||Transforms.moveNodes(e,{at:p,to:b,voids:a}),C&&Transforms.removeNodes(e,{at:C.current,voids:a}),Editor.shouldMergeNodesRemovePrevNode(e,u,d)?Transforms.removeNodes(e,{at:m,voids:a}):e.apply({type:"merge_node",path:b,position:g,properties:h}),C&&C.unref()}}}})},moveNodes=(e,t)=>{Editor.withoutNormalizing(e,()=>{var{to:n,at:o=e.selection,mode:r="lowest",voids:a=!1}=t,{match:i}=t;if(o){null==i&&(i=Path.isPath(o)?matchPath(e,o):t=>Element$2.isElement(t)&&Editor.isBlock(e,t));var s=Editor.pathRef(e,n),l=Editor.nodes(e,{at:o,match:i,mode:r,voids:a}),c=Array.from(l,t=>{var[,n]=t;return Editor.pathRef(e,n)});for(var d of c){var u=d.unref(),f=s.current;0!==u.length&&e.apply({type:"move_node",path:u,newPath:f}),s.current&&Path.isSibling(f,u)&&Path.isAfter(f,u)&&(s.current=Path.next(s.current))}s.unref()}})},removeNodes=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Editor.withoutNormalizing(e,()=>{var{hanging:n=!1,voids:o=!1,mode:r="lowest"}=t,{at:a=e.selection,match:i}=t;if(a){null==i&&(i=Path.isPath(a)?matchPath(e,a):t=>Element$2.isElement(t)&&Editor.isBlock(e,t)),!n&&Range.isRange(a)&&(a=Editor.unhangRange(e,a,{voids:o}));var s=Editor.nodes(e,{at:a,match:i,mode:r,voids:o}),l=Array.from(s,t=>{var[,n]=t;return Editor.pathRef(e,n)});for(var c of l){var d=c.unref();if(d){var[u]=Editor.node(e,d);e.apply({type:"remove_node",path:d,node:u})}}}})},setNodes=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Editor.withoutNormalizing(e,()=>{var{match:o,at:r=e.selection,compare:a,merge:i}=n,{hanging:s=!1,mode:l="lowest",split:c=!1,voids:d=!1}=n;if(r){if(null==o&&(o=Path.isPath(r)?matchPath(e,r):t=>Element$2.isElement(t)&&Editor.isBlock(e,t)),!s&&Range.isRange(r)&&(r=Editor.unhangRange(e,r,{voids:d})),c&&Range.isRange(r)){if(Range.isCollapsed(r)&&Editor.leaf(e,r.anchor)[0].text.length>0)return;var u=Editor.rangeRef(e,r,{affinity:"inward"}),[f,p]=Range.edges(r),_="lowest"===l?"lowest":"highest",m=Editor.isEnd(e,p,p.path);Transforms.splitNodes(e,{at:p,match:o,mode:_,voids:d,always:!m});var h=Editor.isStart(e,f,f.path);Transforms.splitNodes(e,{at:f,match:o,mode:_,voids:d,always:!h}),r=u.unref(),null==n.at&&Transforms.select(e,r)}for(var[g,b]of(a||(a=(e,t)=>e!==t),Editor.nodes(e,{at:r,match:o,mode:l,voids:d}))){var v={},y={};if(0!==b.length){var E=!1;for(var w in t)"children"!==w&&"text"!==w&&a(t[w],g[w])&&(E=!0,g.hasOwnProperty(w)&&(v[w]=g[w]),i?null!=t[w]&&(y[w]=i(g[w],t[w])):null!=t[w]&&(y[w]=t[w]));E&&e.apply({type:"set_node",path:b,properties:v,newProperties:y})}}}})},deleteRange=(e,t)=>{if(Range.isCollapsed(t))return t.anchor;var[,n]=Range.edges(t),o=Editor.pointRef(e,n);return Transforms.delete(e,{at:t}),o.unref()},splitNodes=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Editor.withoutNormalizing(e,()=>{var{mode:n="lowest",voids:o=!1}=t,{match:r,at:a=e.selection,height:i=0,always:s=!1}=t;if(null==r&&(r=t=>Element$2.isElement(t)&&Editor.isBlock(e,t)),Range.isRange(a)&&(a=deleteRange(e,a)),Path.isPath(a)){var l=a,c=Editor.point(e,l),[d]=Editor.parent(e,l);r=e=>e===d,i=c.path.length-l.length+1,a=c,s=!0}if(a){var u,f=Editor.pointRef(e,a,{affinity:"backward"});try{var[p]=Editor.nodes(e,{at:a,match:r,mode:n,voids:o});if(!p)return;var _=Editor.void(e,{at:a,mode:"highest"});if(!o&&_){var[m,h]=_;if(Element$2.isElement(m)&&e.isInline(m)){var g=Editor.after(e,h);if(!g){var b=Path.next(h);Transforms.insertNodes(e,{text:""},{at:b,voids:o}),g=Editor.point(e,b)}a=g,s=!0}i=a.path.length-h.length+1,s=!0}u=Editor.pointRef(e,a);var v=a.path.length-i,[,y]=p,E=a.path.slice(0,v),w=0===i?a.offset:a.path[v]+0;for(var[C,x]of Editor.levels(e,{at:E,reverse:!0,voids:o})){var R=!1;if(x.length<y.length||0===x.length||!o&&Element$2.isElement(C)&&Editor.isVoid(e,C))break;var S=f.current,D=Editor.isEnd(e,S,x);if(s||!f||!Editor.isEdge(e,S,x)){R=!0;var T=Node$1.extractProps(C);e.apply({type:"split_node",path:x,position:w,properties:T})}w=x[x.length-1]+(R||D?1:0)}if(null==t.at){var O=u.current||Editor.end(e,[]);Transforms.select(e,O)}}finally{var A;f.unref(),null===(A=u)||void 0===A||A.unref()}}})},unsetNodes=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Array.isArray(t)||(t=[t]);var o={};for(var r of t)o[r]=null;Transforms.setNodes(e,o,n)},unwrapNodes=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Editor.withoutNormalizing(e,()=>{var{mode:n="lowest",split:o=!1,voids:r=!1}=t,{at:a=e.selection,match:i}=t;if(a){null==i&&(i=Path.isPath(a)?matchPath(e,a):t=>Element$2.isElement(t)&&Editor.isBlock(e,t)),Path.isPath(a)&&(a=Editor.range(e,a));var s=Range.isRange(a)?Editor.rangeRef(e,a):null,l=Editor.nodes(e,{at:a,match:i,mode:n,voids:r}),c=Array.from(l,t=>{var[,n]=t;return Editor.pathRef(e,n)}).reverse(),d=function(){var t=u.unref(),[n]=Editor.node(e,t),a=Editor.range(e,t);o&&s&&(a=Range.intersection(s.current,a)),Transforms.liftNodes(e,{at:a,match:e=>Element$2.isAncestor(n)&&n.children.includes(e),voids:r})};for(var u of c)d();s&&s.unref()}})};function ownKeys$f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$f(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$f(Object(n),!0).forEach(function(t){_defineProperty$3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$f(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var wrapNodes=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Editor.withoutNormalizing(e,()=>{var{mode:o="lowest",split:r=!1,voids:a=!1}=n,{match:i,at:s=e.selection}=n;if(s){if(null==i&&(i=Path.isPath(s)?matchPath(e,s):e.isInline(t)?t=>Element$2.isElement(t)&&Editor.isInline(e,t)||Text$1.isText(t):t=>Element$2.isElement(t)&&Editor.isBlock(e,t)),r&&Range.isRange(s)){var[l,c]=Range.edges(s),d=Editor.rangeRef(e,s,{affinity:"inward"});Transforms.splitNodes(e,{at:c,match:i,voids:a}),Transforms.splitNodes(e,{at:l,match:i,voids:a}),s=d.unref(),null==n.at&&Transforms.select(e,s)}var u=Array.from(Editor.nodes(e,{at:s,match:e.isInline(t)?t=>Element$2.isElement(t)&&Editor.isBlock(e,t):e=>Editor.isEditor(e),mode:"lowest",voids:a})),f=function(){var n=Range.isRange(s)?Range.intersection(s,Editor.range(e,p)):s;if(!n)return 0;var r=Array.from(Editor.nodes(e,{at:n,match:i,mode:o,voids:a}));if(r.length>0){var[l]=r,c=r[r.length-1],[,d]=l,[,u]=c;if(0===d.length&&0===u.length)return 0;var f=Path.equals(d,u)?Path.parent(d):Path.common(d,u),_=Editor.range(e,d,u),m=Editor.node(e,f),[h]=m,g=f.length+1,b=Path.next(u.slice(0,g)),v=_objectSpread$f(_objectSpread$f({},t),{},{children:[]});Transforms.insertNodes(e,v,{at:b,voids:a}),Transforms.moveNodes(e,{at:_,match:e=>Element$2.isAncestor(h)&&h.children.includes(e),to:b.concat(0),voids:a})}};for(var[,p]of u)f()}})},createEditor$1=()=>{var e={children:[],operations:[],selection:null,marks:null,isElementReadOnly:()=>!1,isInline:()=>!1,isSelectable:()=>!0,isVoid:()=>!1,markableVoid:()=>!1,onChange:()=>{},apply:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return apply(e,...n)},addMark:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return addMark(e,...n)},deleteBackward:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return deleteBackward(e,...n)},deleteForward:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return deleteForward(e,...n)},deleteFragment:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return deleteFragment(e,...n)},getFragment:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return getFragment(e,...n)},insertBreak:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return insertBreak(e,...n)},insertSoftBreak:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return insertSoftBreak(e,...n)},insertFragment:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return insertFragment(e,...n)},insertNode:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return insertNode(e,...n)},insertText:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return insertText(e,...n)},normalizeNode:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return normalizeNode(e,...n)},removeMark:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return removeMark(e,...n)},getDirtyPaths:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return getDirtyPaths(e,...n)},shouldNormalize:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return shouldNormalize(e,...n)},above:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return above(e,...n)},after:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return after(e,...n)},before:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return before(e,...n)},collapse:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return collapse$1(e,...n)},delete:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return deleteText(e,...n)},deselect:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return deselect(e,...n)},edges:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return edges(e,...n)},elementReadOnly:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return elementReadOnly(e,...n)},end:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return end(e,...n)},first:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return first(e,...n)},fragment:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return fragment(e,...n)},getMarks:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return marks(e,...n)},hasBlocks:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return hasBlocks(e,...n)},hasInlines:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return hasInlines(e,...n)},hasPath:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return hasPath(e,...n)},hasTexts:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return hasTexts(e,...n)},insertNodes:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return insertNodes(e,...n)},isBlock:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return isBlock(e,...n)},isEdge:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return isEdge(e,...n)},isEmpty:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return isEmpty$1(e,...n)},isEnd:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return isEnd(e,...n)},isNormalizing:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return isNormalizing(e,...n)},isStart:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return isStart(e,...n)},last:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return last(e,...n)},leaf:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return leaf(e,...n)},levels:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return levels(e,...n)},liftNodes:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return liftNodes(e,...n)},mergeNodes:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return mergeNodes(e,...n)},move:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return move(e,...n)},moveNodes:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return moveNodes(e,...n)},next:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return next(e,...n)},node:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return node(e,...n)},nodes:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return nodes(e,...n)},normalize:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return normalize(e,...n)},parent:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return parent(e,...n)},path:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return path(e,...n)},pathRef:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return pathRef(e,...n)},pathRefs:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return pathRefs(e,...n)},point:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return point(e,...n)},pointRef:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return pointRef(e,...n)},pointRefs:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return pointRefs(e,...n)},positions:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return positions(e,...n)},previous:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return previous(e,...n)},range:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return range(e,...n)},rangeRef:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return rangeRef(e,...n)},rangeRefs:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return rangeRefs(e,...n)},removeNodes:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return removeNodes(e,...n)},select:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return select(e,...n)},setNodes:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return setNodes(e,...n)},setNormalizing:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return setNormalizing(e,...n)},setPoint:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return setPoint(e,...n)},setSelection:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return setSelection(e,...n)},splitNodes:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return splitNodes(e,...n)},start:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return start(e,...n)},string:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return string(e,...n)},unhangRange:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return unhangRange(e,...n)},unsetNodes:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return unsetNodes(e,...n)},unwrapNodes:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return unwrapNodes(e,...n)},void:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return getVoid(e,...n)},withoutNormalizing:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return withoutNormalizing(e,...n)},wrapNodes:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return wrapNodes(e,...n)},shouldMergeNodesRemovePrevNode:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return shouldMergeNodesRemovePrevNode(e,...n)}};return e};function getCharacterBefore(e,t,n={}){const{filterVoids:o}=n,r=Editor.before(e,t,{unit:"character",voids:o});if(r){const n=Editor.range(e,r,Range.isRange(t)?Range.start(t):t),o=Editor.string(e,n);return{range:n,text:o,void:0===o.length}}}function getCharacterAfter(e,t,n={}){const{filterVoids:o}=n,r=Editor.after(e,t,{unit:"character",voids:o});if(r){const n=Editor.range(e,r,Range.isRange(t)?Range.end(t):t),o=Editor.string(e,n);return{range:n,text:o,void:0===o.length}}}const defaultOptions$2={direction:"before"};function getMatchRange(e,t,n=[" "],o=defaultOptions$2){const{include:r,direction:a}={...defaultOptions$2,...o};let[i,s]=Range.edges(t),l=i;function c(t){const o="after"===t?Editor.after(e,l,{unit:"character"}):Editor.before(e,l,{unit:"character"}),r=o&&Editor.string(e,"after"===t?{anchor:l,focus:o}:{anchor:o,focus:l}),a=r&&r["after"===t?0:r.length-1];return!(!o||!a||n.includes(a))&&(l=o,0!==l.offset)}if("before"!==a){for(l=s;c("after"););s=l}if("after"!==a){for(l=i;c("before"););i=l}return r?{anchor:Editor.before(e,i,{unit:"offset"})??i,focus:Editor.after(e,s,{unit:"offset"})??s}:{anchor:i,focus:s}}function isEmptyString(e){return!e.trim()}const MENTION_CHARACTER="@";function getMentionDraftAtSelection(e){const{selection:t}=e;if(!t||!Range.isCollapsed(t))return;const n=getMatchRange(e,t);if(!n)return;const o=Editor.string(e,n);return o.startsWith(MENTION_CHARACTER)?{range:n,text:o.substring(1)}:void 0}function isComposerBodyMention(e){return Element$2.isElement(e)&&"mention"===e.type}function insertMention(e,t){const n={type:"mention",id:t,children:[{text:""}]};Transforms.insertNodes(e,n),Transforms.move(e);const o=e.selection?getCharacterAfter(e,e.selection):void 0;!o||o.void?Transforms.insertText(e," "):isEmptyString(o.text)&&Transforms.move(e)}function insertMentionCharacter(e){if(!e.selection)return;const t=getCharacterBefore(e,e.selection,{filterVoids:!0}),n=getCharacterAfter(e,e.selection,{filterVoids:!0}),o=t&&!isEmptyString(t.text),r=n&&!isEmptyString(n.text);if(Range.isCollapsed(e.selection)){const t=(o?" ":"")+MENTION_CHARACTER;e.insertText(t,{at:Range.start(e.selection)}),r&&e.insertText(" ",{at:Range.end(e.selection)}),Transforms.collapse(e,{edge:"end"})}else{const t=(o?" ":"")+MENTION_CHARACTER+(r?" ":"");e.insertText(t),r&&Transforms.move(e,{distance:1,unit:"character",reverse:!0})}}function withMentions(e){const{isInline:t,isVoid:n,markableVoid:o,deleteBackward:r}=e;return e.isInline=e=>isComposerBodyMention(e)||t(e),e.isVoid=e=>isComposerBodyMention(e)||n(e),e.markableVoid=e=>isComposerBodyMention(e)||o(e),e.deleteBackward=t=>{const{selection:n}=e;if(n&&Range.isCollapsed(n)){const[o]=Editor.nodes(e,{at:"character"===t?Editor.before(e,n,{unit:"character"}):n,match:isComposerBodyMention});r(t),o&&Transforms.insertText(e,MENTION_CHARACTER)}else r(t)},e}function isCommentBodyText(e){return!("type"in e)&&"text"in e&&"string"==typeof e.text}function isCommentBodyMention(e){return"type"in e&&"mention"===e.type}function isCommentBodyLink(e){return"type"in e&&"link"===e.type}function toAbsoluteUrl(e){return e.startsWith("http://")||e.startsWith("https://")?e:e.startsWith("www.")?"https://"+e:void 0}const CommentMention$1=React.forwardRef(({children:e,asChild:t,...n},o)=>{const r=t?Slot$2:"span";return jsxRuntime.exports.jsx(r,{...n,ref:o,children:e})}),CommentLink$1=React.forwardRef(({children:e,asChild:t,...n},o)=>{const r=t?Slot$2:"a";return jsxRuntime.exports.jsx(r,{target:"_blank",rel:"noopener noreferrer nofollow",...n,ref:o,children:e})}),defaultBodyComponents={Mention:({userId:e})=>jsxRuntime.exports.jsxs(CommentMention$1,{children:[MENTION_CHARACTER,e]}),Link:({href:e,children:t})=>jsxRuntime.exports.jsx(CommentLink$1,{href:e,children:t})},CommentBody=React.forwardRef(({body:e,components:t,style:n,asChild:o,...r},a)=>{const i=o?Slot$2:"div",{Mention:s,Link:l}=React.useMemo(()=>({...defaultBodyComponents,...t}),[t]);return e&&e?.content?jsxRuntime.exports.jsx(i,{...r,style:{whiteSpace:"break-spaces",...n},ref:a,children:e.content.map((e,t)=>"paragraph"===e.type?jsxRuntime.exports.jsx("p",{style:{minHeight:"1lh"},children:e.children.map((e,t)=>{if(isCommentBodyMention(e))return e.id?jsxRuntime.exports.jsx(s,{userId:e.id},t):null;if(isCommentBodyLink(e)){const n=toAbsoluteUrl(e.url)??e.url;return jsxRuntime.exports.jsx(l,{href:n,children:e.text??e.url},t)}let n=e.text;return e.bold&&(n=jsxRuntime.exports.jsx("strong",{children:n},t)),e.italic&&(n=jsxRuntime.exports.jsx("em",{children:n},t)),e.strikethrough&&(n=jsxRuntime.exports.jsx("s",{children:n},t)),e.code&&(n=jsxRuntime.exports.jsx("code",{children:n},t)),jsxRuntime.exports.jsx("span",{children:n},t)})},t):null)}):null});var History={isHistory:e=>isPlainObject$1(e)&&Array.isArray(e.redos)&&Array.isArray(e.undos)&&(0===e.redos.length||Operation.isOperationList(e.redos[0].operations))&&(0===e.undos.length||Operation.isOperationList(e.undos[0].operations))},SAVING=new WeakMap,MERGING=new WeakMap,SPLITTING_ONCE=new WeakMap,HistoryEditor={isHistoryEditor:e=>History.isHistory(e.history)&&Editor.isEditor(e),isMerging:e=>MERGING.get(e),isSplittingOnce:e=>SPLITTING_ONCE.get(e),setSplittingOnce(e,t){SPLITTING_ONCE.set(e,t)},isSaving:e=>SAVING.get(e),redo(e){e.redo()},undo(e){e.undo()},withMerging(e,t){var n=HistoryEditor.isMerging(e);MERGING.set(e,!0),t(),MERGING.set(e,n)},withNewBatch(e,t){var n=HistoryEditor.isMerging(e);MERGING.set(e,!0),SPLITTING_ONCE.set(e,!0),t(),MERGING.set(e,n),SPLITTING_ONCE.delete(e)},withoutMerging(e,t){var n=HistoryEditor.isMerging(e);MERGING.set(e,!1),t(),MERGING.set(e,n)},withoutSaving(e,t){var n=HistoryEditor.isSaving(e);SAVING.set(e,!1),t(),SAVING.set(e,n)}},withHistory=e=>{var t=e,{apply:n}=t;return t.history={undos:[],redos:[]},t.redo=()=>{var{history:e}=t,{redos:n}=e;if(n.length>0){var o=n[n.length-1];o.selectionBefore&&Transforms.setSelection(t,o.selectionBefore),HistoryEditor.withoutSaving(t,()=>{Editor.withoutNormalizing(t,()=>{for(var e of o.operations)t.apply(e)})}),e.redos.pop(),t.writeHistory("undos",o)}},t.undo=()=>{var{history:e}=t,{undos:n}=e;if(n.length>0){var o=n[n.length-1];HistoryEditor.withoutSaving(t,()=>{Editor.withoutNormalizing(t,()=>{var e=o.operations.map(Operation.inverse).reverse();for(var n of e)t.apply(n);o.selectionBefore&&Transforms.setSelection(t,o.selectionBefore)})}),t.writeHistory("redos",o),e.undos.pop()}},t.apply=e=>{var{operations:o,history:r}=t,{undos:a}=r,i=a[a.length-1],s=i&&i.operations[i.operations.length-1],l=HistoryEditor.isSaving(t),c=HistoryEditor.isMerging(t);if(null==l&&(l=shouldSave(e)),l){if(null==c&&(c=null!=i&&(0!==o.length||shouldMerge(e,s))),HistoryEditor.isSplittingOnce(t)&&(c=!1,HistoryEditor.setSplittingOnce(t,void 0)),i&&c)i.operations.push(e);else{var d={operations:[e],selectionBefore:t.selection};t.writeHistory("undos",d)}for(;a.length>100;)a.shift();r.redos=[]}n(e)},t.writeHistory=(e,n)=>{t.history[e].push(n)},t},shouldMerge=(e,t)=>!(!t||"insert_text"!==e.type||"insert_text"!==t.type||e.offset!==t.offset+t.text.length||!Path.equals(e.path,t.path))||!(!t||"remove_text"!==e.type||"remove_text"!==t.type||e.offset+e.text.length!==t.offset||!Path.equals(e.path,t.path)),shouldSave=(e,t)=>"set_selection"!==e.type,direction_1=direction,RTL="֑-߿יִ-﷽ﹰ-ﻼ",LTR="A-Za-zÀ-ÖØ-öø-ʸ̀-ࠀ-Ⰰ-︀--",rtl=new RegExp("^[^"+LTR+"]*["+RTL+"]"),ltr=new RegExp("^[^"+RTL+"]*["+LTR+"]");function direction(e){return e=String(e||""),rtl.test(e)?"rtl":ltr.test(e)?"ltr":"neutral"}function isObject$3(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var isObject_1=isObject$3,freeGlobal$1="object"==typeof commonjsGlobal&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,_freeGlobal=freeGlobal$1,freeGlobal=_freeGlobal,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root$2=freeGlobal||freeSelf||Function("return this")(),_root=root$2,root$1=_root,now$1=function(){return root$1.Date.now()},now_1=now$1,reWhitespace=/\s/;function trimmedEndIndex$1(e){for(var t=e.length;t--&&reWhitespace.test(e.charAt(t)););return t}var _trimmedEndIndex=trimmedEndIndex$1,trimmedEndIndex=_trimmedEndIndex,reTrimStart=/^\s+/;function baseTrim$1(e){return e?e.slice(0,trimmedEndIndex(e)+1).replace(reTrimStart,""):e}var _baseTrim=baseTrim$1,root=_root,Symbol$3=root.Symbol,_Symbol=Symbol$3,Symbol$2=_Symbol,objectProto$1=Object.prototype,hasOwnProperty=objectProto$1.hasOwnProperty,nativeObjectToString$1=objectProto$1.toString,symToStringTag$1=Symbol$2?Symbol$2.toStringTag:void 0;function getRawTag$1(e){var t=hasOwnProperty.call(e,symToStringTag$1),n=e[symToStringTag$1];try{e[symToStringTag$1]=void 0;var o=!0}catch(e){}var r=nativeObjectToString$1.call(e);return o&&(t?e[symToStringTag$1]=n:delete e[symToStringTag$1]),r}var _getRawTag=getRawTag$1,objectProto=Object.prototype,nativeObjectToString=objectProto.toString;function objectToString$1(e){return nativeObjectToString.call(e)}var _objectToString=objectToString$1,Symbol$1=_Symbol,getRawTag=_getRawTag,objectToString=_objectToString,nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag$1(e){return null==e?void 0===e?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(e)?getRawTag(e):objectToString(e)}var _baseGetTag=baseGetTag$1;function isObjectLike$1(e){return null!=e&&"object"==typeof e}var isObjectLike_1=isObjectLike$1,baseGetTag=_baseGetTag,isObjectLike=isObjectLike_1,symbolTag="[object Symbol]";function isSymbol$1(e){return"symbol"==typeof e||isObjectLike(e)&&baseGetTag(e)==symbolTag}var isSymbol_1=isSymbol$1,baseTrim=_baseTrim,isObject$2=isObject_1,isSymbol=isSymbol_1,NAN=NaN,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;function toNumber$1(e){if("number"==typeof e)return e;if(isSymbol(e))return NAN;if(isObject$2(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=isObject$2(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=baseTrim(e);var n=reIsBinary.test(e);return n||reIsOctal.test(e)?freeParseInt(e.slice(2),n?2:8):reIsBadHex.test(e)?NAN:+e}var toNumber_1=toNumber$1,isObject$1=isObject_1,now=now_1,toNumber=toNumber_1,FUNC_ERROR_TEXT$1="Expected a function",nativeMax=Math.max,nativeMin=Math.min;function debounce$1(e,t,n){var o,r,a,i,s,l,c=0,d=!1,u=!1,f=!0;if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT$1);function p(t){var n=o,a=r;return o=r=void 0,c=t,i=e.apply(a,n)}function _(e){var n=e-l;return void 0===l||n>=t||n<0||u&&e-c>=a}function m(){var e=now();if(_(e))return h(e);s=setTimeout(m,function(e){var n=t-(e-l);return u?nativeMin(n,a-(e-c)):n}(e))}function h(e){return s=void 0,f&&o?p(e):(o=r=void 0,i)}function g(){var e=now(),n=_(e);if(o=arguments,r=this,l=e,n){if(void 0===s)return function(e){return c=e,s=setTimeout(m,t),d?p(e):i}(l);if(u)return clearTimeout(s),s=setTimeout(m,t),p(l)}return void 0===s&&(s=setTimeout(m,t)),i}return t=toNumber(t)||0,isObject$1(n)&&(d=!!n.leading,a=(u="maxWait"in n)?nativeMax(toNumber(n.maxWait)||0,t):a,f="trailing"in n?!!n.trailing:f),g.cancel=function(){void 0!==s&&clearTimeout(s),c=0,o=l=r=s=void 0},g.flush=function(){return void 0===s?i:h(now())},g}var debounce_1=debounce$1,debounce=debounce_1,isObject=isObject_1,FUNC_ERROR_TEXT="Expected a function";function throttle(e,t,n){var o=!0,r=!0;if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT);return isObject(n)&&(o="leading"in n?!!n.leading:o,r="trailing"in n?!!n.trailing:r),debounce(e,t,{leading:o,maxWait:t,trailing:r})}var throttle_1=throttle;const t=e=>"object"==typeof e&&null!=e&&1===e.nodeType,e$1=(e,t)=>(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e,n$1=(e,t)=>{if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){const n=getComputedStyle(e,null);return e$1(n.overflowY,t)||e$1(n.overflowX,t)||(e=>{const t=(e=>{if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch(e){return null}})(e);return!!t&&(t.clientHeight<e.scrollHeight||t.clientWidth<e.scrollWidth)})(e)}return!1},o$1=(e,t,n,o,r,a,i,s)=>a<e&&i>t||a>e&&i<t?0:a<=e&&s<=n||i>=t&&s>=n?a-e-o:i>t&&s<n||a<e&&s>n?i-t+r:0,l=e=>{const t=e.parentElement;return null==t?e.getRootNode().host||null:t},r$1=(e,n)=>{var o,r,a,i;if("undefined"==typeof document)return[];const{scrollMode:s,block:c,inline:d,boundary:u,skipOverflowHiddenElements:f}=n,p="function"==typeof u?u:e=>e!==u;if(!t(e))throw new TypeError("Invalid target");const _=document.scrollingElement||document.documentElement,m=[];let h=e;for(;t(h)&&p(h);){if(h=l(h),h===_){m.push(h);break}null!=h&&h===document.body&&n$1(h)&&!n$1(document.documentElement)||null!=h&&n$1(h,f)&&m.push(h)}const g=null!=(r=null==(o=window.visualViewport)?void 0:o.width)?r:innerWidth,b=null!=(i=null==(a=window.visualViewport)?void 0:a.height)?i:innerHeight,{scrollX:v,scrollY:y}=window,{height:E,width:w,top:C,right:x,bottom:R,left:S}=e.getBoundingClientRect(),{top:D,right:T,bottom:O,left:A}=(e=>{const t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e);let I="start"===c||"nearest"===c?C-D:"end"===c?R+O:C+E/2-D+O,k="center"===d?S+w/2-A+T:"end"===d?x+T:S-A;const N=[];for(let e=0;e<m.length;e++){const t=m[e],{height:n,width:o,top:r,right:a,bottom:i,left:l}=t.getBoundingClientRect();if("if-needed"===s&&C>=0&&S>=0&&R<=b&&x<=g&&(t===_&&!n$1(t)||C>=r&&R<=i&&S>=l&&x<=a))return N;const u=getComputedStyle(t),f=parseInt(u.borderLeftWidth,10),p=parseInt(u.borderTopWidth,10),h=parseInt(u.borderRightWidth,10),D=parseInt(u.borderBottomWidth,10);let T=0,O=0;const A="offsetWidth"in t?t.offsetWidth-t.clientWidth-f-h:0,j="offsetHeight"in t?t.offsetHeight-t.clientHeight-p-D:0,$="offsetWidth"in t?0===t.offsetWidth?0:o/t.offsetWidth:0,F="offsetHeight"in t?0===t.offsetHeight?0:n/t.offsetHeight:0;if(_===t)T="start"===c?I:"end"===c?I-b:"nearest"===c?o$1(y,y+b,b,p,D,y+I,y+I+E,E):I-b/2,O="start"===d?k:"center"===d?k-g/2:"end"===d?k-g:o$1(v,v+g,g,f,h,v+k,v+k+w,w),T=Math.max(0,T+y),O=Math.max(0,O+v);else{T="start"===c?I-r-p:"end"===c?I-i+D+j:"nearest"===c?o$1(r,i,n,p,D+j,I,I+E,E):I-(r+n/2)+j/2,O="start"===d?k-l-f:"center"===d?k-(l+o/2)+A/2:"end"===d?k-a+h+A:o$1(l,a,o,f,h+A,k,k+w,w);const{scrollLeft:e,scrollTop:s}=t;T=0===F?0:Math.max(0,Math.min(s+T/F,t.scrollHeight-n/F+j)),O=0===$?0:Math.max(0,Math.min(e+O/$,t.scrollWidth-o/$+A)),I+=s-T,k+=e-O}N.push({el:t,top:T,left:O})}return N},o=e=>!1===e?{block:"end",inline:"nearest"}:(e=>e===Object(e)&&0!==Object.keys(e).length)(e)?e:{block:"start",inline:"nearest"};function e(e,t){if(!e.isConnected||!(e=>{let t=e;for(;t&&t.parentNode;){if(t.parentNode===document)return!0;t=t.parentNode instanceof ShadowRoot?t.parentNode.host:t.parentNode}return!1})(e))return;const n=(e=>{const t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e);if((e=>"object"==typeof e&&"function"==typeof e.behavior)(t))return t.behavior(r$1(e,t));const r="boolean"==typeof t||null==t?void 0:t.behavior;for(const{el:a,top:i,left:s}of r$1(e,o(t))){const e=i-n.top+n.bottom,t=s-n.left+n.right;a.scroll({top:e,left:t,behavior:r})}}var resizeObservers=[],hasActiveObservations=function(){return resizeObservers.some(function(e){return e.activeTargets.length>0})},hasSkippedObservations=function(){return resizeObservers.some(function(e){return e.skippedTargets.length>0})},msg="ResizeObserver loop completed with undelivered notifications.",deliverResizeLoopError=function(){var e;"function"==typeof ErrorEvent?e=new ErrorEvent("error",{message:msg}):((e=document.createEvent("Event")).initEvent("error",!1,!1),e.message=msg),window.dispatchEvent(e)},ResizeObserverBoxOptions;!function(e){e.BORDER_BOX="border-box",e.CONTENT_BOX="content-box",e.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"}(ResizeObserverBoxOptions||(ResizeObserverBoxOptions={}));var freeze=function(e){return Object.freeze(e)},ResizeObserverSize=function(e,t){this.inlineSize=e,this.blockSize=t,freeze(this)},DOMRectReadOnly=function(){function e(e,t,n,o){return this.x=e,this.y=t,this.width=n,this.height=o,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,freeze(this)}return e.prototype.toJSON=function(){var e=this;return{x:e.x,y:e.y,top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.width,height:e.height}},e.fromRect=function(t){return new e(t.x,t.y,t.width,t.height)},e}(),isSVG=function(e){return e instanceof SVGElement&&"getBBox"in e},isHidden$1=function(e){if(isSVG(e)){var t=e.getBBox(),n=t.width,o=t.height;return!n&&!o}var r=e,a=r.offsetWidth,i=r.offsetHeight;return!(a||i||e.getClientRects().length)},isElement$1=function(e){var t;if(e instanceof Element)return!0;var n=null===(t=null==e?void 0:e.ownerDocument)||void 0===t?void 0:t.defaultView;return!!(n&&e instanceof n.Element)},isReplacedElement=function(e){switch(e.tagName){case"INPUT":if("image"!==e.type)break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1},global$1="undefined"!=typeof window?window:{},cache=new WeakMap,scrollRegexp=/auto|scroll/,verticalRegexp=/^tb|vertical/,IE=/msie|trident/i.test(global$1.navigator&&global$1.navigator.userAgent),parseDimension=function(e){return parseFloat(e||"0")},size$3=function(e,t,n){return void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=!1),new ResizeObserverSize((n?t:e)||0,(n?e:t)||0)},zeroBoxes=freeze({devicePixelContentBoxSize:size$3(),borderBoxSize:size$3(),contentBoxSize:size$3(),contentRect:new DOMRectReadOnly(0,0,0,0)}),calculateBoxSizes=function(e,t){if(void 0===t&&(t=!1),cache.has(e)&&!t)return cache.get(e);if(isHidden$1(e))return cache.set(e,zeroBoxes),zeroBoxes;var n=getComputedStyle(e),o=isSVG(e)&&e.ownerSVGElement&&e.getBBox(),r=!IE&&"border-box"===n.boxSizing,a=verticalRegexp.test(n.writingMode||""),i=!o&&scrollRegexp.test(n.overflowY||""),s=!o&&scrollRegexp.test(n.overflowX||""),l=o?0:parseDimension(n.paddingTop),c=o?0:parseDimension(n.paddingRight),d=o?0:parseDimension(n.paddingBottom),u=o?0:parseDimension(n.paddingLeft),f=o?0:parseDimension(n.borderTopWidth),p=o?0:parseDimension(n.borderRightWidth),_=o?0:parseDimension(n.borderBottomWidth),m=u+c,h=l+d,g=(o?0:parseDimension(n.borderLeftWidth))+p,b=f+_,v=s?e.offsetHeight-b-e.clientHeight:0,y=i?e.offsetWidth-g-e.clientWidth:0,E=r?m+g:0,w=r?h+b:0,C=o?o.width:parseDimension(n.width)-E-y,x=o?o.height:parseDimension(n.height)-w-v,R=C+m+y+g,S=x+h+v+b,D=freeze({devicePixelContentBoxSize:size$3(Math.round(C*devicePixelRatio),Math.round(x*devicePixelRatio),a),borderBoxSize:size$3(R,S,a),contentBoxSize:size$3(C,x,a),contentRect:new DOMRectReadOnly(u,l,C,x)});return cache.set(e,D),D},calculateBoxSize=function(e,t,n){var o=calculateBoxSizes(e,n),r=o.borderBoxSize,a=o.contentBoxSize,i=o.devicePixelContentBoxSize;switch(t){case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:return i;case ResizeObserverBoxOptions.BORDER_BOX:return r;default:return a}},ResizeObserverEntry=function(e){var t=calculateBoxSizes(e);this.target=e,this.contentRect=t.contentRect,this.borderBoxSize=freeze([t.borderBoxSize]),this.contentBoxSize=freeze([t.contentBoxSize]),this.devicePixelContentBoxSize=freeze([t.devicePixelContentBoxSize])},calculateDepthForNode=function(e){if(isHidden$1(e))return 1/0;for(var t=0,n=e.parentNode;n;)t+=1,n=n.parentNode;return t},broadcastActiveObservations=function(){var e=1/0,t=[];resizeObservers.forEach(function(n){if(0!==n.activeTargets.length){var o=[];n.activeTargets.forEach(function(t){var n=new ResizeObserverEntry(t.target),r=calculateDepthForNode(t.target);o.push(n),t.lastReportedSize=calculateBoxSize(t.target,t.observedBox),r<e&&(e=r)}),t.push(function(){n.callback.call(n.observer,o,n.observer)}),n.activeTargets.splice(0,n.activeTargets.length)}});for(var n=0,o=t;n<o.length;n++){(0,o[n])()}return e},gatherActiveObservationsAtDepth=function(e){resizeObservers.forEach(function(t){t.activeTargets.splice(0,t.activeTargets.length),t.skippedTargets.splice(0,t.skippedTargets.length),t.observationTargets.forEach(function(n){n.isActive()&&(calculateDepthForNode(n.target)>e?t.activeTargets.push(n):t.skippedTargets.push(n))})})},process$1=function(){var e=0;for(gatherActiveObservationsAtDepth(e);hasActiveObservations();)e=broadcastActiveObservations(),gatherActiveObservationsAtDepth(e);return hasSkippedObservations()&&deliverResizeLoopError(),e>0},trigger,callbacks=[],notify=function(){return callbacks.splice(0).forEach(function(e){return e()})},queueMicroTask=function(e){if(!trigger){var t=0,n=document.createTextNode("");new MutationObserver(function(){return notify()}).observe(n,{characterData:!0}),trigger=function(){n.textContent="".concat(t?t--:t++)}}callbacks.push(e),trigger()},queueResizeObserver=function(e){queueMicroTask(function(){requestAnimationFrame(e)})},watching=0,isWatching=function(){return!!watching},CATCH_PERIOD=250,observerConfig={attributes:!0,characterData:!0,childList:!0,subtree:!0},events=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],time=function(e){return void 0===e&&(e=0),Date.now()+e},scheduled=!1,Scheduler=function(){function e(){var e=this;this.stopped=!0,this.listener=function(){return e.schedule()}}return e.prototype.run=function(e){var t=this;if(void 0===e&&(e=CATCH_PERIOD),!scheduled){scheduled=!0;var n=time(e);queueResizeObserver(function(){var o=!1;try{o=process$1()}finally{if(scheduled=!1,e=n-time(),!isWatching())return;o?t.run(1e3):e>0?t.run(e):t.start()}})}},e.prototype.schedule=function(){this.stop(),this.run()},e.prototype.observe=function(){var e=this,t=function(){return e.observer&&e.observer.observe(document.body,observerConfig)};document.body?t():global$1.addEventListener("DOMContentLoaded",t)},e.prototype.start=function(){var e=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),events.forEach(function(t){return global$1.addEventListener(t,e.listener,!0)}))},e.prototype.stop=function(){var e=this;this.stopped||(this.observer&&this.observer.disconnect(),events.forEach(function(t){return global$1.removeEventListener(t,e.listener,!0)}),this.stopped=!0)},e}(),scheduler=new Scheduler,updateCount=function(e){!watching&&e>0&&scheduler.start(),!(watching+=e)&&scheduler.stop()},skipNotifyOnElement=function(e){return!isSVG(e)&&!isReplacedElement(e)&&"inline"===getComputedStyle(e).display},ResizeObservation=function(){function e(e,t){this.target=e,this.observedBox=t||ResizeObserverBoxOptions.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return e.prototype.isActive=function(){var e=calculateBoxSize(this.target,this.observedBox,!0);return skipNotifyOnElement(this.target)&&(this.lastReportedSize=e),this.lastReportedSize.inlineSize!==e.inlineSize||this.lastReportedSize.blockSize!==e.blockSize},e}(),ResizeObserverDetail=function(e,t){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=e,this.callback=t},observerMap=new WeakMap,getObservationIndex=function(e,t){for(var n=0;n<e.length;n+=1)if(e[n].target===t)return n;return-1},ResizeObserverController=function(){function e(){}return e.connect=function(e,t){var n=new ResizeObserverDetail(e,t);observerMap.set(e,n)},e.observe=function(e,t,n){var o=observerMap.get(e),r=0===o.observationTargets.length;getObservationIndex(o.observationTargets,t)<0&&(r&&resizeObservers.push(o),o.observationTargets.push(new ResizeObservation(t,n&&n.box)),updateCount(1),scheduler.schedule())},e.unobserve=function(e,t){var n=observerMap.get(e),o=getObservationIndex(n.observationTargets,t),r=1===n.observationTargets.length;o>=0&&(r&&resizeObservers.splice(resizeObservers.indexOf(n),1),n.observationTargets.splice(o,1),updateCount(-1))},e.disconnect=function(e){var t=this,n=observerMap.get(e);n.observationTargets.slice().forEach(function(n){return t.unobserve(e,n.target)}),n.activeTargets.splice(0,n.activeTargets.length)},e}(),ResizeObserver$1=function(){function e(e){if(0===arguments.length)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if("function"!=typeof e)throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");ResizeObserverController.connect(this,e)}return e.prototype.observe=function(e,t){if(0===arguments.length)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!isElement$1(e))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");ResizeObserverController.observe(this,e,t)},e.prototype.unobserve=function(e){if(0===arguments.length)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!isElement$1(e))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");ResizeObserverController.unobserve(this,e)},e.prototype.disconnect=function(){ResizeObserverController.disconnect(this)},e.toString=function(){return"function ResizeObserver () { [polyfill code] }"},e}(),lib={};Object.defineProperty(lib,"__esModule",{value:!0});for(var IS_MAC="undefined"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform),MODIFIERS$1={alt:"altKey",control:"ctrlKey",meta:"metaKey",shift:"shiftKey"},ALIASES={add:"+",break:"pause",cmd:"meta",command:"meta",ctl:"control",ctrl:"control",del:"delete",down:"arrowdown",esc:"escape",ins:"insert",left:"arrowleft",mod:IS_MAC?"meta":"control",opt:"alt",option:"alt",return:"enter",right:"arrowright",space:" ",spacebar:" ",up:"arrowup",win:"meta",windows:"meta"},CODES={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,escape:27," ":32,pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,insert:45,delete:46,meta:91,numlock:144,scrolllock:145,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},f=1;f<20;f++)CODES["f"+f]=111+f;function isHotkey(e,t,n){t&&!("byKey"in t)&&(n=t,t=null),Array.isArray(e)||(e=[e]);var o=e.map(function(e){return parseHotkey(e,t)}),r=function(e){return o.some(function(t){return compareHotkey(t,e)})};return null==n?r:r(n)}function isCodeHotkey(e,t){return isHotkey(e,t)}function isKeyHotkey(e,t){return isHotkey(e,{byKey:!0},t)}function parseHotkey(e,t){var n=t&&t.byKey,o={},r=(e=e.replace("++","+add")).split("+"),a=r.length;for(var i in MODIFIERS$1)o[MODIFIERS$1[i]]=!1;var s=!0,l=!1,c=void 0;try{for(var d,u=r[Symbol.iterator]();!(s=(d=u.next()).done);s=!0){var f=d.value,p=f.endsWith("?")&&f.length>1;p&&(f=f.slice(0,-1));var _=toKeyName(f),m=MODIFIERS$1[_];if(f.length>1&&!m&&!ALIASES[f]&&!CODES[_])throw new TypeError('Unknown modifier: "'+f+'"');1!==a&&m||(n?o.key=_:o.which=toKeyCode(f)),m&&(o[m]=!p||null)}}catch(e){l=!0,c=e}finally{try{!s&&u.return&&u.return()}finally{if(l)throw c}}return o}function compareHotkey(e,t){for(var n in e){var o=e[n],r=void 0;if(null!=o&&((null!=(r="key"===n&&null!=t.key?t.key.toLowerCase():"which"===n?91===o&&93===t.which?91:t.which:t[n])||!1!==o)&&r!==o))return!1}return!0}function toKeyCode(e){return e=toKeyName(e),CODES[e]||e.toUpperCase().charCodeAt(0)}function toKeyName(e){return e=e.toLowerCase(),e=ALIASES[e]||e}lib.default=isHotkey;var isHotkey_1=lib.isHotkey=isHotkey;function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}function _objectWithoutProperties(e,t){if(null==e)return{};var n,o,r=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function _typeof$2(e){return _typeof$2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$2(e)}function _toPrimitive$1(e,t){if("object"!==_typeof$2(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==_typeof$2(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function _toPropertyKey$1(e){var t=_toPrimitive$1(e,"string");return"symbol"===_typeof$2(t)?t:String(t)}function _defineProperty$2(e,t,n){return(t=_toPropertyKey$1(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}lib.isCodeHotkey=isCodeHotkey,lib.isKeyHotkey=isKeyHotkey,lib.parseHotkey=parseHotkey,lib.compareHotkey=compareHotkey,lib.toKeyCode=toKeyCode,lib.toKeyName=toKeyName;var EditorContext=React.createContext(null),useSlateStatic=()=>{var e=React.useContext(EditorContext);if(!e)throw new Error("The `useSlateStatic` hook must be used inside the <Slate> component's context.");return e},_navigator$userAgent$,_navigator$userAgent$2,REACT_MAJOR_VERSION=parseInt(React__default.default.version.split(".")[0],10),IS_IOS=!1,IS_ANDROID="undefined"!=typeof navigator&&/Android/.test(navigator.userAgent),IS_FIREFOX="undefined"!=typeof navigator&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),IS_WEBKIT="undefined"!=typeof navigator&&/AppleWebKit(?!.*Chrome)/i.test(navigator.userAgent),IS_EDGE_LEGACY="undefined"!=typeof navigator&&/Edge?\/(?:[0-6][0-9]|[0-7][0-8])(?:\.)/i.test(navigator.userAgent),IS_CHROME="undefined"!=typeof navigator&&/Chrome/i.test(navigator.userAgent),IS_CHROME_LEGACY="undefined"!=typeof navigator&&/Chrome?\/(?:[0-7][0-5]|[0-6][0-9])(?:\.)/i.test(navigator.userAgent),IS_ANDROID_CHROME_LEGACY=IS_ANDROID&&"undefined"!=typeof navigator&&/Chrome?\/(?:[0-5]?\d)(?:\.)/i.test(navigator.userAgent),IS_FIREFOX_LEGACY="undefined"!=typeof navigator&&/^(?!.*Seamonkey)(?=.*Firefox\/(?:[0-7][0-9]|[0-8][0-6])(?:\.)).*/i.test(navigator.userAgent),IS_UC_MOBILE="undefined"!=typeof navigator&&/.*UCBrowser/.test(navigator.userAgent),IS_WECHATBROWSER="undefined"!=typeof navigator&&/.*Wechat/.test(navigator.userAgent)&&!/.*MacWechat/.test(navigator.userAgent),CAN_USE_DOM=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement);"undefined"!=typeof navigator&&/Safari/.test(navigator.userAgent)&&/Version\/(\d+)/.test(navigator.userAgent)&&null!==(_navigator$userAgent$=navigator.userAgent.match(/Version\/(\d+)/))&&void 0!==_navigator$userAgent$&&_navigator$userAgent$[1]&&parseInt(null===(_navigator$userAgent$2=navigator.userAgent.match(/Version\/(\d+)/))||void 0===_navigator$userAgent$2?void 0:_navigator$userAgent$2[1],10);var HAS_BEFORE_INPUT_SUPPORT=(!IS_CHROME_LEGACY||!IS_ANDROID_CHROME_LEGACY)&&!IS_EDGE_LEGACY&&"undefined"!=typeof globalThis&&globalThis.InputEvent&&"function"==typeof globalThis.InputEvent.prototype.getTargetRanges,IS_NODE_MAP_DIRTY=new WeakMap,NODE_TO_INDEX=new WeakMap,NODE_TO_PARENT=new WeakMap,EDITOR_TO_WINDOW=new WeakMap,EDITOR_TO_ELEMENT=new WeakMap,EDITOR_TO_PLACEHOLDER_ELEMENT=new WeakMap,ELEMENT_TO_NODE=new WeakMap,NODE_TO_ELEMENT=new WeakMap,NODE_TO_KEY=new WeakMap,EDITOR_TO_KEY_TO_ELEMENT=new WeakMap,IS_READ_ONLY=new WeakMap,IS_FOCUSED=new WeakMap,IS_COMPOSING=new WeakMap,EDITOR_TO_USER_SELECTION=new WeakMap,EDITOR_TO_ON_CHANGE=new WeakMap,EDITOR_TO_SCHEDULE_FLUSH=new WeakMap,EDITOR_TO_PENDING_INSERTION_MARKS=new WeakMap,EDITOR_TO_USER_MARKS=new WeakMap,EDITOR_TO_PENDING_DIFFS=new WeakMap,EDITOR_TO_PENDING_ACTION=new WeakMap,EDITOR_TO_PENDING_SELECTION=new WeakMap,EDITOR_TO_FORCE_RENDER=new WeakMap,PLACEHOLDER_SYMBOL=Symbol("placeholder"),MARK_PLACEHOLDER_SYMBOL=Symbol("mark-placeholder"),DOMNode=globalThis.Node,DOMText=globalThis.Text,getDefaultView=e=>e&&e.ownerDocument&&e.ownerDocument.defaultView||null,isDOMComment=e=>isDOMNode(e)&&8===e.nodeType,isDOMElement=e=>isDOMNode(e)&&1===e.nodeType,isDOMNode=e=>{var t=getDefaultView(e);return!!t&&e instanceof t.Node},isDOMSelection=e=>{var t=e&&e.anchorNode&&getDefaultView(e.anchorNode);return!!t&&e instanceof t.Selection},isDOMText=e=>isDOMNode(e)&&3===e.nodeType,isPlainTextOnlyPaste=e=>e.clipboardData&&""!==e.clipboardData.getData("text/plain")&&1===e.clipboardData.types.length,normalizeDOMPoint=e=>{var[t,n]=e;if(isDOMElement(t)&&t.childNodes.length){var o=n===t.childNodes.length,r=o?n-1:n;for([t,r]=getEditableChildAndIndex(t,r,o?"backward":"forward"),o=r<n;isDOMElement(t)&&t.childNodes.length;){var a=o?t.childNodes.length-1:0;t=getEditableChild(t,a,o?"backward":"forward")}n=o&&null!=t.textContent?t.textContent.length:0}return[t,n]},hasShadowRoot=e=>{for(var t=e&&e.parentNode;t;){if("[object ShadowRoot]"===t.toString())return!0;t=t.parentNode}return!1},getEditableChildAndIndex=(e,t,n)=>{for(var{childNodes:o}=e,r=o[t],a=t,i=!1,s=!1;(isDOMComment(r)||isDOMElement(r)&&0===r.childNodes.length||isDOMElement(r)&&"false"===r.getAttribute("contenteditable"))&&(!i||!s);)a>=o.length?(i=!0,a=t-1,n="backward"):a<0?(s=!0,a=t+1,n="forward"):(r=o[a],t=a,a+="forward"===n?1:-1);return[r,t]},getEditableChild=(e,t,n)=>{var[o]=getEditableChildAndIndex(e,t,n);return o},getPlainText=e=>{var t="";if(isDOMText(e)&&e.nodeValue)return e.nodeValue;if(isDOMElement(e)){for(var n of Array.from(e.childNodes))t+=getPlainText(n);var o=getComputedStyle(e).getPropertyValue("display");"block"!==o&&"list"!==o&&"BR"!==e.tagName||(t+="\n")}return t},catchSlateFragment=/data-slate-fragment="(.+?)"/m,getSlateFragmentAttribute=e=>{var t=e.getData("text/html"),[,n]=t.match(catchSlateFragment)||[];return n},getSelection=e=>null!=e.getSelection?e.getSelection():document.getSelection(),isTrackedMutation=(e,t,n)=>{var{target:o}=t;if(isDOMElement(o)&&o.matches('[contentEditable="false"]'))return!1;var{document:r}=ReactEditor.getWindow(e);if(r.contains(o))return ReactEditor.hasDOMNode(e,o,{editable:!0});var a=n.find(e=>{var{addedNodes:t,removedNodes:n}=e;for(var r of t)if(r===o||r.contains(o))return!0;for(var a of n)if(a===o||a.contains(o))return!0});return!(!a||a===t)&&isTrackedMutation(e,a,n)},getActiveElement=()=>{for(var e=document.activeElement;null!==(t=e)&&void 0!==t&&t.shadowRoot&&null!==(n=e.shadowRoot)&&void 0!==n&&n.activeElement;){var t,n,o;e=null===(o=e)||void 0===o||null===(o=o.shadowRoot)||void 0===o?void 0:o.activeElement}return e},isBefore=(e,t)=>Boolean(e.compareDocumentPosition(t)&DOMNode.DOCUMENT_POSITION_PRECEDING),isAfter=(e,t)=>Boolean(e.compareDocumentPosition(t)&DOMNode.DOCUMENT_POSITION_FOLLOWING),n=0;class Key{constructor(){_defineProperty$2(this,"id",void 0),this.id="".concat(n++)}}var ReactEditor={androidPendingDiffs:e=>EDITOR_TO_PENDING_DIFFS.get(e),androidScheduleFlush:e=>{var t;null===(t=EDITOR_TO_SCHEDULE_FLUSH.get(e))||void 0===t||t()},blur:e=>{var t=ReactEditor.toDOMNode(e,e),n=ReactEditor.findDocumentOrShadowRoot(e);IS_FOCUSED.set(e,!1),n.activeElement===t&&t.blur()},deselect:e=>{var{selection:t}=e,n=ReactEditor.findDocumentOrShadowRoot(e),o=getSelection(n);o&&o.rangeCount>0&&o.removeAllRanges(),t&&Transforms.deselect(e)},findDocumentOrShadowRoot:e=>{var t=ReactEditor.toDOMNode(e,e),n=t.getRootNode();return n instanceof Document||n instanceof ShadowRoot?n:t.ownerDocument},findEventRange:(e,t)=>{"nativeEvent"in t&&(t=t.nativeEvent);var{clientX:n,clientY:o,target:r}=t;if(null==n||null==o)throw new Error("Cannot resolve a Slate range from a DOM event: ".concat(t));var a,i=ReactEditor.toSlateNode(e,t.target),s=ReactEditor.findPath(e,i);if(Element$2.isElement(i)&&Editor.isVoid(e,i)){var l=r.getBoundingClientRect(),c=e.isInline(i)?n-l.left<l.left+l.width-n:o-l.top<l.top+l.height-o,d=Editor.point(e,s,{edge:c?"start":"end"}),u=c?Editor.before(e,d):Editor.after(e,d);if(u)return Editor.range(e,u)}var{document:f}=ReactEditor.getWindow(e);if(f.caretRangeFromPoint)a=f.caretRangeFromPoint(n,o);else{var p=f.caretPositionFromPoint(n,o);p&&((a=f.createRange()).setStart(p.offsetNode,p.offset),a.setEnd(p.offsetNode,p.offset))}if(!a)throw new Error("Cannot resolve a Slate range from a DOM event: ".concat(t));return ReactEditor.toSlateRange(e,a,{exactMatch:!1,suppressThrow:!1})},findKey:(e,t)=>{var n=NODE_TO_KEY.get(t);return n||(n=new Key,NODE_TO_KEY.set(t,n)),n},findPath:(e,t)=>{for(var n=[],o=t;;){var r=NODE_TO_PARENT.get(o);if(null==r){if(Editor.isEditor(o))return n;break}var a=NODE_TO_INDEX.get(o);if(null==a)break;n.unshift(a),o=r}throw new Error("Unable to find the path for Slate node: ".concat(Scrubber.stringify(t)))},focus:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{retries:5};if(!IS_FOCUSED.get(e)){if(t.retries<=0)throw new Error("Could not set focus, editor seems stuck with pending operations");if(e.operations.length>0)setTimeout(()=>{ReactEditor.focus(e,{retries:t.retries-1})},10);else{var n=ReactEditor.toDOMNode(e,e),o=ReactEditor.findDocumentOrShadowRoot(e);if(o.activeElement!==n){if(e.selection&&o instanceof Document){var r=getSelection(o),a=ReactEditor.toDOMRange(e,e.selection);null==r||r.removeAllRanges(),null==r||r.addRange(a)}e.selection||Transforms.select(e,Editor.start(e,[])),IS_FOCUSED.set(e,!0),n.focus({preventScroll:!0})}}}},getWindow:e=>{var t=EDITOR_TO_WINDOW.get(e);if(!t)throw new Error("Unable to find a host window element for this editor");return t},hasDOMNode:function(e,t){var n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{editable:r=!1}=o,a=ReactEditor.toDOMNode(e,e);try{n=isDOMElement(t)?t:t.parentElement}catch(e){if(e instanceof Error&&!e.message.includes('Permission denied to access property "nodeType"'))throw e}return!!n&&!(n.closest("[data-slate-editor]")!==a||r&&!n.isContentEditable&&("boolean"!=typeof n.isContentEditable||n.closest('[contenteditable="false"]')!==a)&&!n.getAttribute("data-slate-zero-width"))},hasEditableTarget:(e,t)=>isDOMNode(t)&&ReactEditor.hasDOMNode(e,t,{editable:!0}),hasRange:(e,t)=>{var{anchor:n,focus:o}=t;return Editor.hasPath(e,n.path)&&Editor.hasPath(e,o.path)},hasSelectableTarget:(e,t)=>ReactEditor.hasEditableTarget(e,t)||ReactEditor.isTargetInsideNonReadonlyVoid(e,t),hasTarget:(e,t)=>isDOMNode(t)&&ReactEditor.hasDOMNode(e,t),insertData:(e,t)=>{e.insertData(t)},insertFragmentData:(e,t)=>e.insertFragmentData(t),insertTextData:(e,t)=>e.insertTextData(t),isComposing:e=>!!IS_COMPOSING.get(e),isFocused:e=>!!IS_FOCUSED.get(e),isReadOnly:e=>!!IS_READ_ONLY.get(e),isTargetInsideNonReadonlyVoid:(e,t)=>{if(IS_READ_ONLY.get(e))return!1;var n=ReactEditor.hasTarget(e,t)&&ReactEditor.toSlateNode(e,t);return Element$2.isElement(n)&&Editor.isVoid(e,n)},setFragmentData:(e,t,n)=>e.setFragmentData(t,n),toDOMNode:(e,t)=>{var n=EDITOR_TO_KEY_TO_ELEMENT.get(e),o=Editor.isEditor(t)?EDITOR_TO_ELEMENT.get(e):null==n?void 0:n.get(ReactEditor.findKey(e,t));if(!o)throw new Error("Cannot resolve a DOM node from Slate node: ".concat(Scrubber.stringify(t)));return o},toDOMPoint:(e,t)=>{var n,[o]=Editor.node(e,t.path),r=ReactEditor.toDOMNode(e,o);Editor.void(e,{at:t})&&(t={path:t.path,offset:0});for(var a=Array.from(r.querySelectorAll("[data-slate-string], [data-slate-zero-width]")),i=0,s=0;s<a.length;s++){var l=a[s],c=l.childNodes[0];if(null!=c&&null!=c.textContent){var{length:d}=c.textContent,u=l.getAttribute("data-slate-length"),f=i+(null==u?d:parseInt(u,10)),p=a[s+1];if(t.offset===f&&null!=p&&p.hasAttribute("data-slate-mark-placeholder")){var _,m=p.childNodes[0];n=[m instanceof DOMText?m:p,null!==(_=p.textContent)&&void 0!==_&&_.startsWith("\ufeff")?1:0];break}if(t.offset<=f){n=[c,Math.min(d,Math.max(0,t.offset-i))];break}i=f}}if(!n)throw new Error("Cannot resolve a DOM point from Slate point: ".concat(Scrubber.stringify(t)));return n},toDOMRange:(e,t)=>{var{anchor:n,focus:o}=t,r=Range.isBackward(t),a=ReactEditor.toDOMPoint(e,n),i=Range.isCollapsed(t)?a:ReactEditor.toDOMPoint(e,o),s=ReactEditor.getWindow(e).document.createRange(),[l,c]=r?i:a,[d,u]=r?a:i,f=!!(isDOMElement(l)?l:l.parentElement).getAttribute("data-slate-zero-width"),p=!!(isDOMElement(d)?d:d.parentElement).getAttribute("data-slate-zero-width");return s.setStart(l,f?1:c),s.setEnd(d,p?1:u),s},toSlateNode:(e,t)=>{var n=isDOMElement(t)?t:t.parentElement;n&&!n.hasAttribute("data-slate-node")&&(n=n.closest("[data-slate-node]"));var o=n?ELEMENT_TO_NODE.get(n):null;if(!o)throw new Error("Cannot resolve a Slate node from DOM node: ".concat(n));return o},toSlatePoint:(e,t,n)=>{var{exactMatch:o,suppressThrow:r,searchDirection:a="backward"}=n,[i,s]=o?t:normalizeDOMPoint(t),l=i.parentNode,c=null,d=0;if(l){var u,f,p=ReactEditor.toDOMNode(e,e),_=l.closest('[data-slate-void="true"]'),m=_&&p.contains(_)?_:null,h=l.closest('[contenteditable="false"]'),g=h&&p.contains(h)?h:null,b=l.closest("[data-slate-leaf]"),v=null;if(b){if(c=b.closest('[data-slate-node="text"]')){var y=ReactEditor.getWindow(e).document.createRange();y.setStart(c,0),y.setEnd(i,s);var E=y.cloneContents();[...Array.prototype.slice.call(E.querySelectorAll("[data-slate-zero-width]")),...Array.prototype.slice.call(E.querySelectorAll("[contenteditable=false]"))].forEach(e=>{IS_ANDROID&&!o&&e.hasAttribute("data-slate-zero-width")&&e.textContent.length>0&&"\ufeff"!==e.textContext?e.textContent.startsWith("\ufeff")&&(e.textContent=e.textContent.slice(1)):e.parentNode.removeChild(e)}),d=E.textContent.length,v=c}}else if(m){for(var w=m.querySelectorAll("[data-slate-leaf]"),C=0;C<w.length;C++){var x=w[C];if(ReactEditor.hasDOMNode(e,x)){b=x;break}}b?(c=b.closest('[data-slate-node="text"]'),d=(v=b).textContent.length,v.querySelectorAll("[data-slate-zero-width]").forEach(e=>{d-=e.textContent.length})):d=1}else if(g){var R,S,D=e=>e?e.querySelectorAll("[data-slate-leaf]:not(:scope [data-slate-editor] [data-slate-leaf])"):[],T=g.closest('[data-slate-node="element"]');if("forward"===a)b=null!==(R=[...D(T),...D(null==T?void 0:T.nextElementSibling)].find(e=>isAfter(g,e)))&&void 0!==R?R:null;else b=null!==(S=[...D(null==T?void 0:T.previousElementSibling),...D(T)].findLast(e=>isBefore(g,e)))&&void 0!==S?S:null;b&&(c=b.closest('[data-slate-node="text"]'),v=b,"forward"===a?d=0:(d=v.textContent.length,v.querySelectorAll("[data-slate-zero-width]").forEach(e=>{d-=e.textContent.length})))}v&&d===v.textContent.length&&IS_ANDROID&&"z"===v.getAttribute("data-slate-zero-width")&&null!==(u=v.textContent)&&void 0!==u&&u.startsWith("\ufeff")&&(l.hasAttribute("data-slate-zero-width")||IS_FIREFOX&&null!==(f=v.textContent)&&void 0!==f&&f.endsWith("\n\n"))&&d--}if(IS_ANDROID&&!c&&!o){var O=l.hasAttribute("data-slate-node")?l:l.closest("[data-slate-node]");if(O&&ReactEditor.hasDOMNode(e,O,{editable:!0})){var A=ReactEditor.toSlateNode(e,O),{path:I,offset:k}=Editor.start(e,ReactEditor.findPath(e,A));return O.querySelector("[data-slate-leaf]")||(k=s),{path:I,offset:k}}}if(!c){if(r)return null;throw new Error("Cannot resolve a Slate point from DOM point: ".concat(t))}var N=ReactEditor.toSlateNode(e,c);return{path:ReactEditor.findPath(e,N),offset:d}},toSlateRange:(e,t,n)=>{var o,r,a,i,s,l,{exactMatch:c,suppressThrow:d}=n;if(isDOMSelection(t)?t.anchorNode:t.startContainer)if(isDOMSelection(t)){if(IS_FIREFOX&&t.rangeCount>1){i=t.focusNode;var u=t.getRangeAt(0),f=t.getRangeAt(t.rangeCount-1);if(i instanceof HTMLTableRowElement&&u.startContainer instanceof HTMLTableRowElement&&f.startContainer instanceof HTMLTableRowElement){function p(e){return e.childElementCount>0?p(e.children[0]):e}var _=u.startContainer,m=f.startContainer,h=p(_.children[u.startOffset]),g=p(m.children[f.startOffset]);s=0,r=g.childNodes.length>0?g.childNodes[0]:g,i=h.childNodes.length>0?h.childNodes[0]:h,a=g instanceof HTMLElement?g.innerHTML.length:0}else u.startContainer===i?(r=f.endContainer,a=f.endOffset,s=u.startOffset):(r=u.startContainer,a=u.endOffset,s=f.startOffset)}else r=t.anchorNode,a=t.anchorOffset,i=t.focusNode,s=t.focusOffset;l=IS_CHROME&&hasShadowRoot(r)||IS_FIREFOX?t.anchorNode===t.focusNode&&t.anchorOffset===t.focusOffset:t.isCollapsed}else r=t.startContainer,a=t.startOffset,i=t.endContainer,s=t.endOffset,l=t.collapsed;if(null==r||null==i||null==a||null==s)throw new Error("Cannot resolve a Slate range from DOM range: ".concat(t));IS_FIREFOX&&null!==(o=i.textContent)&&void 0!==o&&o.endsWith("\n\n")&&s===i.textContent.length&&s--;var b=ReactEditor.toSlatePoint(e,[r,a],{exactMatch:c,suppressThrow:d});if(!b)return null;var v=isBefore(r,i)||r===i&&s<a,y=l?b:ReactEditor.toSlatePoint(e,[i,s],{exactMatch:c,suppressThrow:d,searchDirection:v?"forward":"backward"});if(!y)return null;var E={anchor:b,focus:y};return Range.isExpanded(E)&&Range.isForward(E)&&isDOMElement(i)&&Editor.void(e,{at:E.focus,mode:"highest"})&&(E=Editor.unhangRange(e,E,{voids:!0})),E}};function verifyDiffState(e,t){var{path:n,diff:o}=t;if(!Editor.hasPath(e,n))return!1;var r=Node$1.get(e,n);if(!Text$1.isText(r))return!1;if(o.start!==r.text.length||0===o.text.length)return r.text.slice(o.start,o.start+o.text.length)===o.text;var a=Path.next(n);if(!Editor.hasPath(e,a))return!1;var i=Node$1.get(e,a);return Text$1.isText(i)&&i.text.startsWith(o.text)}function applyStringDiff(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return n.reduce((e,t)=>e.slice(0,t.start)+t.text+e.slice(t.end),e)}function longestCommonPrefixLength(e,t){for(var n=Math.min(e.length,t.length),o=0;o<n;o++)if(e.charAt(o)!==t.charAt(o))return o;return n}function longestCommonSuffixLength(e,t,n){for(var o=Math.min(e.length,t.length,n),r=0;r<o;r++)if(e.charAt(e.length-r-1)!==t.charAt(t.length-r-1))return r;return o}function normalizeStringDiff(e,t){var{start:n,end:o,text:r}=t,a=e.slice(n,o),i=longestCommonPrefixLength(a,r),s=longestCommonSuffixLength(a,r,Math.min(a.length-i,r.length-i)),l={start:n+i,end:o-s,text:r.slice(i,r.length-s)};return l.start===l.end&&0===l.text.length?null:l}function mergeStringDiffs(e,t,n){var o=Math.min(t.start,n.start),r=Math.max(0,Math.min(t.start+t.text.length,n.end)-n.start),a=applyStringDiff(e,t,n),i=Math.max(n.start+n.text.length,t.start+t.text.length+(t.start+t.text.length>n.start?n.text.length:0)-r),s=a.slice(o,i);return normalizeStringDiff(e,{start:o,end:Math.max(t.end,n.end-t.text.length+(t.end-t.start)),text:s})}function targetRange(e){var{path:t,diff:n}=e;return{anchor:{path:t,offset:n.start},focus:{path:t,offset:n.end}}}function normalizePoint(e,t){var{path:n,offset:o}=t;if(!Editor.hasPath(e,n))return null;var r=Node$1.get(e,n);if(!Text$1.isText(r))return null;var a=Editor.above(e,{match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t),at:n});if(!a)return null;for(;o>r.text.length;){var i=Editor.next(e,{at:n,match:Text$1.isText});if(!i||!Path.isDescendant(i[1],a[1]))return null;o-=r.text.length,r=i[0],n=i[1]}return{path:n,offset:o}}function normalizeRange(e,t){var n=normalizePoint(e,t.anchor);if(!n)return null;if(Range.isCollapsed(t))return{anchor:n,focus:n};var o=normalizePoint(e,t.focus);return o?{anchor:n,focus:o}:null}function transformPendingPoint(e,t,n){var o=EDITOR_TO_PENDING_DIFFS.get(e),r=null==o?void 0:o.find(e=>{var{path:n}=e;return Path.equals(n,t.path)});if(!r||t.offset<=r.diff.start)return Point.transform(t,n,{affinity:"backward"});var{diff:a}=r;if(t.offset<=a.start+a.text.length){var i={path:t.path,offset:a.start},s=Point.transform(i,n,{affinity:"backward"});return s?{path:s.path,offset:s.offset+t.offset-a.start}:null}var l={path:t.path,offset:t.offset-a.text.length+a.end-a.start},c=Point.transform(l,n,{affinity:"backward"});return c?"split_node"===n.type&&Path.equals(n.path,t.path)&&l.offset<n.position&&a.start<n.position?c:{path:c.path,offset:c.offset+a.text.length-a.end+a.start}:null}function transformPendingRange(e,t,n){var o=transformPendingPoint(e,t.anchor,n);if(!o)return null;if(Range.isCollapsed(t))return{anchor:o,focus:o};var r=transformPendingPoint(e,t.focus,n);return r?{anchor:o,focus:r}:null}function transformTextDiff(e,t){var{path:n,diff:o,id:r}=e;switch(t.type){case"insert_text":return!Path.equals(t.path,n)||t.offset>=o.end?e:t.offset<=o.start?{diff:{start:t.text.length+o.start,end:t.text.length+o.end,text:o.text},id:r,path:n}:{diff:{start:o.start,end:o.end+t.text.length,text:o.text},id:r,path:n};case"remove_text":return!Path.equals(t.path,n)||t.offset>=o.end?e:t.offset+t.text.length<=o.start?{diff:{start:o.start-t.text.length,end:o.end-t.text.length,text:o.text},id:r,path:n}:{diff:{start:o.start,end:o.end-t.text.length,text:o.text},id:r,path:n};case"split_node":return!Path.equals(t.path,n)||t.position>=o.end?{diff:o,id:r,path:Path.transform(n,t,{affinity:"backward"})}:t.position>o.start?{diff:{start:o.start,end:Math.min(t.position,o.end),text:o.text},id:r,path:n}:{diff:{start:o.start-t.position,end:o.end-t.position,text:o.text},id:r,path:Path.transform(n,t,{affinity:"forward"})};case"merge_node":return Path.equals(t.path,n)?{diff:{start:o.start+t.position,end:o.end+t.position,text:o.text},id:r,path:Path.transform(n,t)}:{diff:o,id:r,path:Path.transform(n,t)}}var a=Path.transform(n,t);return a?{diff:o,path:a,id:r}:null}function ownKeys$6$1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$6$1(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$6$1(Object(n),!0).forEach(function(t){_defineProperty$2(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$6$1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var RESOLVE_DELAY=25,FLUSH_DELAY=200,debug=function(){},isDataTransfer=e=>"DataTransfer"===(null==e?void 0:e.constructor.name);function createAndroidInputManager(e){var{editor:t,scheduleOnDOMSelectionChange:n,onDOMSelectionChange:o}=e,r=!1,a=null,i=null,s=null,l=0,c=!1,d=()=>{var e=EDITOR_TO_PENDING_SELECTION.get(t);if(EDITOR_TO_PENDING_SELECTION.delete(t),e){var{selection:n}=t,o=normalizeRange(t,e);!o||n&&Range.equals(o,n)||Transforms.select(t,o)}},u=()=>{if(i&&(clearTimeout(i),i=null),s&&(clearTimeout(s),s=null),h()||m()){r||(r=!0,setTimeout(()=>r=!1)),m()&&(r="action");var e=t.selection&&Editor.rangeRef(t,t.selection,{affinity:"forward"});EDITOR_TO_USER_MARKS.set(t,t.marks),debug("flush",EDITOR_TO_PENDING_ACTION.get(t),EDITOR_TO_PENDING_DIFFS.get(t));for(var a,l=h();a=null===(u=EDITOR_TO_PENDING_DIFFS.get(t))||void 0===u?void 0:u[0];){var u,f,p=EDITOR_TO_PENDING_INSERTION_MARKS.get(t);void 0!==p&&(EDITOR_TO_PENDING_INSERTION_MARKS.delete(t),t.marks=p),p&&!1===c&&(c=null);var _=targetRange(a);t.selection&&Range.equals(t.selection,_)||Transforms.select(t,_),a.diff.text?Editor.insertText(t,a.diff.text):Editor.deleteFragment(t),EDITOR_TO_PENDING_DIFFS.set(t,null===(f=EDITOR_TO_PENDING_DIFFS.get(t))||void 0===f?void 0:f.filter(e=>{var{id:t}=e;return t!==a.id})),verifyDiffState(t,a)||(l=!1,EDITOR_TO_PENDING_ACTION.delete(t),EDITOR_TO_USER_MARKS.delete(t),r="action",EDITOR_TO_PENDING_SELECTION.delete(t),n.cancel(),o.cancel(),null==e||e.unref())}var g=null==e?void 0:e.unref();if(!g||EDITOR_TO_PENDING_SELECTION.get(t)||t.selection&&Range.equals(g,t.selection)||Transforms.select(t,g),m())(()=>{var e=EDITOR_TO_PENDING_ACTION.get(t);if(EDITOR_TO_PENDING_ACTION.delete(t),e){if(e.at){var n=Point.isPoint(e.at)?normalizePoint(t,e.at):normalizeRange(t,e.at);if(!n)return;var o=Editor.range(t,n);t.selection&&Range.equals(t.selection,o)||Transforms.select(t,n)}e.run()}})();else{l&&n(),n.flush(),o.flush(),d();var b=EDITOR_TO_USER_MARKS.get(t);EDITOR_TO_USER_MARKS.delete(t),void 0!==b&&(t.marks=b,t.onChange())}}else d()},f=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=EDITOR_TO_PLACEHOLDER_ELEMENT.get(t);n&&(h()||e?n.style.display="none":n.style.removeProperty("display"))},p=(e,n)=>{var o,r=null!==(o=EDITOR_TO_PENDING_DIFFS.get(t))&&void 0!==o?o:[];EDITOR_TO_PENDING_DIFFS.set(t,r);var a=Node$1.leaf(t,e),i=r.findIndex(t=>Path.equals(t.path,e));if(i<0)return normalizeStringDiff(a.text,n)&&r.push({path:e,diff:n,id:l++}),void f();var s=mergeStringDiffs(a.text,r[i].diff,n);if(!s)return r.splice(i,1),void f();r[i]=_objectSpread$6$1(_objectSpread$6$1({},r[i]),{},{diff:s})},_=function(e){var{at:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};c=!1,EDITOR_TO_PENDING_SELECTION.delete(t),n.cancel(),o.cancel(),m()&&u(),EDITOR_TO_PENDING_ACTION.set(t,{at:r,run:e}),s=setTimeout(u)},m=()=>!!EDITOR_TO_PENDING_ACTION.get(t),h=()=>{var e;return!(null===(e=EDITOR_TO_PENDING_DIFFS.get(t))||void 0===e||!e.length)},g=e=>{EDITOR_TO_PENDING_SELECTION.set(t,e),i&&(clearTimeout(i),i=null);var{selection:n}=t;if(e){var o=!n||!Path.equals(n.anchor.path,e.anchor.path),r=!n||!Path.equals(n.anchor.path.slice(0,-1),e.anchor.path.slice(0,-1));(o&&c||r)&&(c=!1),(o||h())&&(i=setTimeout(u,FLUSH_DELAY))}},b=()=>{m()||(s=setTimeout(u))};return{flush:u,scheduleFlush:b,hasPendingDiffs:h,hasPendingAction:m,hasPendingChanges:()=>m()||h(),isFlushing:()=>r,handleUserSelect:g,handleCompositionEnd:e=>{a&&clearTimeout(a),a=setTimeout(()=>{IS_COMPOSING.set(t,!1),u()},RESOLVE_DELAY)},handleCompositionStart:e=>{IS_COMPOSING.set(t,!0),a&&(clearTimeout(a),a=null)},handleDOMBeforeInput:e=>{var n;if(i&&(clearTimeout(i),i=null),!IS_NODE_MAP_DIRTY.get(t)){var{inputType:o}=e,r=null,a=e.dataTransfer||e.data||void 0;!1!==c&&"insertText"!==o&&"insertCompositionText"!==o&&(c=!1);var[s]=e.getTargetRanges();s&&(r=ReactEditor.toSlateRange(t,s,{exactMatch:!1,suppressThrow:!0}));var l=ReactEditor.getWindow(t).getSelection();if(!r&&l&&(s=l,r=ReactEditor.toSlateRange(t,l,{exactMatch:!1,suppressThrow:!0})),r=null!==(n=r)&&void 0!==n?n:t.selection){var d=!0;if(o.startsWith("delete")){if(Range.isExpanded(r)){var[u,f]=Range.edges(r);if(Node$1.leaf(t,u.path).text.length===u.offset&&0===f.offset){var m=Editor.next(t,{at:u.path,match:Text$1.isText});m&&Path.equals(m[1],f.path)&&(r={anchor:f,focus:f})}}var h=o.endsWith("Backward")?"backward":"forward",[v,y]=Range.edges(r),[E,w]=Editor.leaf(t,v.path),C={text:"",start:v.offset,end:y.offset},x=EDITOR_TO_PENDING_DIFFS.get(t),R=null==x?void 0:x.find(e=>Path.equals(e.path,w)),S=R?[R.diff,C]:[C];if(0===applyStringDiff(E.text,...S).length&&(d=!1),Range.isExpanded(r)){if(d&&Path.equals(r.anchor.path,r.focus.path)){var D={path:r.anchor.path,offset:v.offset},T=Editor.range(t,D,D);return g(T),p(r.anchor.path,{text:"",end:y.offset,start:v.offset})}return _(()=>Editor.deleteFragment(t,{direction:h}),{at:r})}}switch(o){case"deleteByComposition":case"deleteByCut":case"deleteByDrag":return _(()=>Editor.deleteFragment(t),{at:r});case"deleteContent":case"deleteContentForward":var{anchor:O}=r;if(d&&Range.isCollapsed(r)){var A=Node$1.leaf(t,O.path);if(O.offset<A.text.length)return p(O.path,{text:"",start:O.offset,end:O.offset+1})}return _(()=>Editor.deleteForward(t),{at:r});case"deleteContentBackward":var I,{anchor:k}=r,N=isDOMSelection(s)?s.isCollapsed:!(null===(I=s)||void 0===I||!I.collapsed);return d&&N&&Range.isCollapsed(r)&&k.offset>0?p(k.path,{text:"",start:k.offset-1,end:k.offset}):_(()=>Editor.deleteBackward(t),{at:r});case"deleteEntireSoftLine":return _(()=>{Editor.deleteBackward(t,{unit:"line"}),Editor.deleteForward(t,{unit:"line"})},{at:r});case"deleteHardLineBackward":return _(()=>Editor.deleteBackward(t,{unit:"block"}),{at:r});case"deleteSoftLineBackward":return _(()=>Editor.deleteBackward(t,{unit:"line"}),{at:r});case"deleteHardLineForward":return _(()=>Editor.deleteForward(t,{unit:"block"}),{at:r});case"deleteSoftLineForward":return _(()=>Editor.deleteForward(t,{unit:"line"}),{at:r});case"deleteWordBackward":return _(()=>Editor.deleteBackward(t,{unit:"word"}),{at:r});case"deleteWordForward":return _(()=>Editor.deleteForward(t,{unit:"word"}),{at:r});case"insertLineBreak":return _(()=>Editor.insertSoftBreak(t),{at:r});case"insertParagraph":return _(()=>Editor.insertBreak(t),{at:r});case"insertCompositionText":case"deleteCompositionText":case"insertFromComposition":case"insertFromDrop":case"insertFromPaste":case"insertFromYank":case"insertReplacementText":case"insertText":if(isDataTransfer(a))return _(()=>ReactEditor.insertData(t,a),{at:r});var j=null!=a?a:"";if(EDITOR_TO_PENDING_INSERTION_MARKS.get(t)&&(j=j.replace("\ufeff","")),"insertText"===o&&/.*\n.*\n$/.test(j)&&(j=j.slice(0,-1)),j.includes("\n"))return _(()=>{var e=j.split("\n");e.forEach((n,o)=>{n&&Editor.insertText(t,n),o!==e.length-1&&Editor.insertSoftBreak(t)})},{at:r});if(Path.equals(r.anchor.path,r.focus.path)){var[$,F]=Range.edges(r),P={start:$.offset,end:F.offset,text:j};if(j&&c&&"insertCompositionText"===o){var M=c.start+c.text.search(/\S|$/);P.start+P.text.search(/\S|$/)===M+1&&P.end===c.start+c.text.length?(P.start-=1,c=null,b()):c=!1}else c="insertText"===o&&(null===c?P:!(!c||!Range.isCollapsed(r)||c.end+c.text.length!==$.offset)&&_objectSpread$6$1(_objectSpread$6$1({},c),{},{text:c.text+j}));if(d)return void p($.path,P)}return _(()=>Editor.insertText(t,j),{at:r})}}}},handleKeyDown:e=>{h()||(f(!0),setTimeout(f))},handleDomMutations:e=>{var n;h()||m()||e.some(n=>isTrackedMutation(t,n,e))&&(null===(n=EDITOR_TO_FORCE_RENDER.get(t))||void 0===n||n())},handleInput:()=>{!m()&&h()||u()}}}function useIsMounted(){var e=React.useRef(!1);return React.useEffect(()=>(e.current=!0,()=>{e.current=!1}),[]),e.current}var useIsomorphicLayoutEffect$1=CAN_USE_DOM?React.useLayoutEffect:React.useEffect;function useMutationObserver(e,t,n){var[o]=React.useState(()=>new MutationObserver(t));useIsomorphicLayoutEffect$1(()=>{o.takeRecords()}),React.useEffect(()=>{if(!e.current)throw new Error("Failed to attach MutationObserver, `node` is undefined");return o.observe(e.current,n),()=>o.disconnect()},[o,e,n])}var _excluded$3=["node"];function ownKeys$5$1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$5$1(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$5$1(Object(n),!0).forEach(function(t){_defineProperty$2(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$5$1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var MUTATION_OBSERVER_CONFIG$1={subtree:!0,childList:!0,characterData:!0},useAndroidInputManager=IS_ANDROID?e=>{var{node:t}=e,n=_objectWithoutProperties(e,_excluded$3);if(!IS_ANDROID)return null;var o=useSlateStatic(),r=useIsMounted(),[a]=React.useState(()=>createAndroidInputManager(_objectSpread$5$1({editor:o},n)));return useMutationObserver(t,a.handleDomMutations,MUTATION_OBSERVER_CONFIG$1),EDITOR_TO_SCHEDULE_FLUSH.set(o,a.scheduleFlush),r&&a.flush(),a}:()=>null,_excluded$2=["anchor","focus"],_excluded2$1=["anchor","focus"],shallowCompare=(e,t)=>Object.keys(e).length===Object.keys(t).length&&Object.keys(e).every(n=>t.hasOwnProperty(n)&&e[n]===t[n]),isDecorationFlagsEqual=(e,t)=>{var n=_objectWithoutProperties(e,_excluded$2),o=_objectWithoutProperties(t,_excluded2$1);return e[PLACEHOLDER_SYMBOL]===t[PLACEHOLDER_SYMBOL]&&shallowCompare(n,o)},isElementDecorationsEqual=(e,t)=>{if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++){var o=e[n],r=t[n];if(!Range.equals(o,r)||!isDecorationFlagsEqual(o,r))return!1}return!0},isTextDecorationsEqual=(e,t)=>{if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++){var o=e[n],r=t[n];if(o.anchor.offset!==r.anchor.offset||o.focus.offset!==r.focus.offset||!isDecorationFlagsEqual(o,r))return!1}return!0};function ownKeys$4$1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$4$1(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$4$1(Object(n),!0).forEach(function(t){_defineProperty$2(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$4$1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var String$1=e=>{var{isLast:t,leaf:n,parent:o,text:r}=e,a=useSlateStatic(),i=ReactEditor.findPath(a,r),s=Path.parent(i),l=Boolean(n[MARK_PLACEHOLDER_SYMBOL]);return a.isVoid(o)?React__default.default.createElement(ZeroWidthString,{length:Node$1.string(o).length}):""!==n.text||o.children[o.children.length-1]!==r||a.isInline(o)||""!==Editor.string(a,s)?""===n.text?React__default.default.createElement(ZeroWidthString,{isMarkPlaceholder:l}):t&&"\n"===n.text.slice(-1)?React__default.default.createElement(TextString,{isTrailing:!0,text:n.text}):React__default.default.createElement(TextString,{text:n.text}):React__default.default.createElement(ZeroWidthString,{isLineBreak:!0,isMarkPlaceholder:l})},TextString=e=>{var{text:t,isTrailing:n=!1}=e,o=React.useRef(null),r=()=>"".concat(null!=t?t:"").concat(n?"\n":""),[a]=React.useState(r);return useIsomorphicLayoutEffect$1(()=>{var e=r();o.current&&o.current.textContent!==e&&(o.current.textContent=e)}),React__default.default.createElement(MemoizedText$1,{ref:o},a)},MemoizedText$1=React.memo(React.forwardRef((e,t)=>React__default.default.createElement("span",{"data-slate-string":!0,ref:t},e.children))),ZeroWidthString=e=>{var{length:t=0,isLineBreak:n=!1,isMarkPlaceholder:o=!1}=e,r={"data-slate-zero-width":n?"n":"z","data-slate-length":t};return o&&(r["data-slate-mark-placeholder"]=!0),React__default.default.createElement("span",_objectSpread$4$1({},r),(IS_ANDROID||IS_IOS)&&n?null:"\ufeff",n?React__default.default.createElement("br",null):null)};function ownKeys$3$1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$3$1(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$3$1(Object(n),!0).forEach(function(t){_defineProperty$2(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$3$1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var PLACEHOLDER_DELAY=IS_ANDROID?300:0;function disconnectPlaceholderResizeObserver(e,t){e.current&&(e.current.disconnect(),t&&(e.current=null))}function clearTimeoutRef(e){e.current&&(clearTimeout(e.current),e.current=null)}var Leaf=e=>{var{leaf:t,isLast:n,text:o,parent:r,renderPlaceholder:a,renderLeaf:i=e=>React__default.default.createElement(DefaultLeaf,_objectSpread$3$1({},e))}=e,s=useSlateStatic(),l=React.useRef(null),c=React.useRef(null),[d,u]=React.useState(!1),f=React.useRef(null),p=React.useCallback(e=>{if(disconnectPlaceholderResizeObserver(l,null==e),null==e){var n;EDITOR_TO_PLACEHOLDER_ELEMENT.delete(s),null===(n=t.onPlaceholderResize)||void 0===n||n.call(t,null)}else{if(EDITOR_TO_PLACEHOLDER_ELEMENT.set(s,e),!l.current){var o=window.ResizeObserver||ResizeObserver$1;l.current=new o(()=>{var n;null===(n=t.onPlaceholderResize)||void 0===n||n.call(t,e)})}l.current.observe(e),c.current=e}},[c,t,s]),_=React__default.default.createElement(String$1,{isLast:n,leaf:t,parent:r,text:o}),m=Boolean(t[PLACEHOLDER_SYMBOL]);if(React.useEffect(()=>(m?f.current||(f.current=setTimeout(()=>{u(!0),f.current=null},PLACEHOLDER_DELAY)):(clearTimeoutRef(f),u(!1)),()=>clearTimeoutRef(f)),[m,u]),m&&d){var h={children:t.placeholder,attributes:{"data-slate-placeholder":!0,style:{position:"absolute",top:0,pointerEvents:"none",width:"100%",maxWidth:"100%",display:"block",opacity:"0.333",userSelect:"none",textDecoration:"none",WebkitUserModify:IS_WEBKIT?"inherit":void 0},contentEditable:!1,ref:p}};_=React__default.default.createElement(React__default.default.Fragment,null,a(h),_)}return i({attributes:{"data-slate-leaf":!0},children:_,leaf:t,text:o})},MemoizedLeaf=React__default.default.memo(Leaf,(e,t)=>t.parent===e.parent&&t.isLast===e.isLast&&t.renderLeaf===e.renderLeaf&&t.renderPlaceholder===e.renderPlaceholder&&t.text===e.text&&Text$1.equals(t.leaf,e.leaf)&&t.leaf[PLACEHOLDER_SYMBOL]===e.leaf[PLACEHOLDER_SYMBOL]),DefaultLeaf=e=>{var{attributes:t,children:n}=e;return React__default.default.createElement("span",_objectSpread$3$1({},t),n)},Text=e=>{for(var{decorations:t,isLast:n,parent:o,renderPlaceholder:r,renderLeaf:a,text:i}=e,s=useSlateStatic(),l=React.useRef(null),c=Text$1.decorations(i,t),d=ReactEditor.findKey(s,i),u=[],f=0;f<c.length;f++){var p=c[f];u.push(React__default.default.createElement(MemoizedLeaf,{isLast:n&&f===c.length-1,key:"".concat(d.id,"-").concat(f),renderPlaceholder:r,leaf:p,text:i,parent:o,renderLeaf:a}))}var _=React.useCallback(e=>{var t=EDITOR_TO_KEY_TO_ELEMENT.get(s);e?(null==t||t.set(d,e),NODE_TO_ELEMENT.set(i,e),ELEMENT_TO_NODE.set(e,i)):(null==t||t.delete(d),NODE_TO_ELEMENT.delete(i),l.current&&ELEMENT_TO_NODE.delete(l.current)),l.current=e},[l,s,d,i]);return React__default.default.createElement("span",{"data-slate-node":"text",ref:_},u)},MemoizedText=React__default.default.memo(Text,(e,t)=>t.parent===e.parent&&t.isLast===e.isLast&&t.renderLeaf===e.renderLeaf&&t.renderPlaceholder===e.renderPlaceholder&&t.text===e.text&&isTextDecorationsEqual(t.decorations,e.decorations));function ownKeys$2$1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$2$1(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$2$1(Object(n),!0).forEach(function(t){_defineProperty$2(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$2$1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Element$1=e=>{var{decorations:t,element:n,renderElement:o=e=>React__default.default.createElement(DefaultElement,_objectSpread$2$1({},e)),renderPlaceholder:r,renderLeaf:a,selection:i}=e,s=useSlateStatic(),l=useReadOnly(),c=s.isInline(n),d=ReactEditor.findKey(s,n),u=React.useCallback(e=>{var t=EDITOR_TO_KEY_TO_ELEMENT.get(s);e?(null==t||t.set(d,e),NODE_TO_ELEMENT.set(n,e),ELEMENT_TO_NODE.set(e,n)):(null==t||t.delete(d),NODE_TO_ELEMENT.delete(n))},[s,d,n]),f=useChildren({decorations:t,node:n,renderElement:o,renderPlaceholder:r,renderLeaf:a,selection:i}),p={"data-slate-node":"element",ref:u};if(c&&(p["data-slate-inline"]=!0),!c&&Editor.hasInlines(s,n)){var _=Node$1.string(n),m=direction_1(_);"rtl"===m&&(p.dir=m)}if(Editor.isVoid(s,n)){p["data-slate-void"]=!0,!l&&c&&(p.contentEditable=!1);var h=c?"span":"div",[[g]]=Node$1.texts(n);f=React__default.default.createElement(h,{"data-slate-spacer":!0,style:{height:"0",color:"transparent",outline:"none",position:"absolute"}},React__default.default.createElement(MemoizedText,{renderPlaceholder:r,decorations:[],isLast:!1,parent:n,text:g})),NODE_TO_INDEX.set(g,0),NODE_TO_PARENT.set(g,n)}return o({attributes:p,children:f,element:n})},MemoizedElement=React__default.default.memo(Element$1,(e,t)=>e.element===t.element&&e.renderElement===t.renderElement&&e.renderLeaf===t.renderLeaf&&e.renderPlaceholder===t.renderPlaceholder&&isElementDecorationsEqual(e.decorations,t.decorations)&&(e.selection===t.selection||!!e.selection&&!!t.selection&&Range.equals(e.selection,t.selection))),DefaultElement=e=>{var{attributes:t,children:n,element:o}=e,r=useSlateStatic().isInline(o)?"span":"div";return React__default.default.createElement(r,_objectSpread$2$1(_objectSpread$2$1({},t),{},{style:{position:"relative"}}),n)},DecorateContext=React.createContext(()=>[]),useDecorate=()=>React.useContext(DecorateContext),SelectedContext=React.createContext(!1),useSelected=()=>React.useContext(SelectedContext),useChildren=e=>{var{decorations:t,node:n,renderElement:o,renderPlaceholder:r,renderLeaf:a,selection:i}=e,s=useDecorate(),l=useSlateStatic();IS_NODE_MAP_DIRTY.set(l,!1);for(var c=ReactEditor.findPath(l,n),d=[],u=Element$2.isElement(n)&&!l.isInline(n)&&Editor.hasInlines(l,n),f=0;f<n.children.length;f++){var p=c.concat(f),_=n.children[f],m=ReactEditor.findKey(l,_),h=Editor.range(l,p),g=i&&Range.intersection(h,i),b=s([_,p]);for(var v of t){var y=Range.intersection(v,h);y&&b.push(y)}Element$2.isElement(_)?d.push(React__default.default.createElement(SelectedContext.Provider,{key:"provider-".concat(m.id),value:!!g},React__default.default.createElement(MemoizedElement,{decorations:b,element:_,key:m.id,renderElement:o,renderPlaceholder:r,renderLeaf:a,selection:g}))):d.push(React__default.default.createElement(MemoizedText,{decorations:b,key:m.id,isLast:u&&f===n.children.length-1,parent:n,renderPlaceholder:r,renderLeaf:a,text:_})),NODE_TO_INDEX.set(_,f),NODE_TO_PARENT.set(_,n)}return d},ReadOnlyContext=React.createContext(!1),useReadOnly=()=>React.useContext(ReadOnlyContext),SlateContext=React.createContext(null),useSlate=()=>{var e=React.useContext(SlateContext);if(!e)throw new Error("The `useSlate` hook must be used inside the <Slate> component's context.");var{editor:t}=e;return t};function useTrackUserInput(){var e=useSlateStatic(),t=React.useRef(!1),n=React.useRef(0),o=React.useCallback(()=>{if(!t.current){t.current=!0;var o=ReactEditor.getWindow(e);o.cancelAnimationFrame(n.current),n.current=o.requestAnimationFrame(()=>{t.current=!1})}},[e]);return React.useEffect(()=>()=>cancelAnimationFrame(n.current),[]),{receivedUserInput:t,onUserInput:o}}var TRIPLE_CLICK=3,HOTKEYS={bold:"mod+b",compose:["down","left","right","up","backspace","enter"],moveBackward:"left",moveForward:"right",moveWordBackward:"ctrl+left",moveWordForward:"ctrl+right",deleteBackward:"shift?+backspace",deleteForward:"shift?+delete",extendBackward:"shift+left",extendForward:"shift+right",italic:"mod+i",insertSoftBreak:"shift+enter",splitBlock:"enter",undo:"mod+z"},APPLE_HOTKEYS={moveLineBackward:"opt+up",moveLineForward:"opt+down",moveWordBackward:"opt+left",moveWordForward:"opt+right",deleteBackward:["ctrl+backspace","ctrl+h"],deleteForward:["ctrl+delete","ctrl+d"],deleteLineBackward:"cmd+shift?+backspace",deleteLineForward:["cmd+shift?+delete","ctrl+k"],deleteWordBackward:"opt+shift?+backspace",deleteWordForward:"opt+shift?+delete",extendLineBackward:"opt+shift+up",extendLineForward:"opt+shift+down",redo:"cmd+shift+z",transposeCharacter:"ctrl+t"},WINDOWS_HOTKEYS={deleteWordBackward:"ctrl+shift?+backspace",deleteWordForward:"ctrl+shift?+delete",redo:["ctrl+y","ctrl+shift+z"]},create=e=>{var t=HOTKEYS[e],n=APPLE_HOTKEYS[e],o=WINDOWS_HOTKEYS[e],r=t&&isHotkey_1(t);n&&isHotkey_1(n);var a=o&&isHotkey_1(o);return e=>!(!r||!r(e))||!(!a||!a(e))},Hotkeys={isBold:create("bold"),isCompose:create("compose"),isMoveBackward:create("moveBackward"),isMoveForward:create("moveForward"),isDeleteBackward:create("deleteBackward"),isDeleteForward:create("deleteForward"),isDeleteLineBackward:create("deleteLineBackward"),isDeleteLineForward:create("deleteLineForward"),isDeleteWordBackward:create("deleteWordBackward"),isDeleteWordForward:create("deleteWordForward"),isExtendBackward:create("extendBackward"),isExtendForward:create("extendForward"),isExtendLineBackward:create("extendLineBackward"),isExtendLineForward:create("extendLineForward"),isItalic:create("italic"),isMoveLineBackward:create("moveLineBackward"),isMoveLineForward:create("moveLineForward"),isMoveWordBackward:create("moveWordBackward"),isMoveWordForward:create("moveWordForward"),isRedo:create("redo"),isSoftBreak:create("insertSoftBreak"),isSplitBlock:create("splitBlock"),isTransposeCharacter:create("transposeCharacter"),isUndo:create("undo")},createRestoreDomManager=(e,t)=>{var n=[],o=()=>{n=[]};return{registerMutations:o=>{if(t.current){var r=o.filter(t=>isTrackedMutation(e,t,o));n.push(...r)}},restoreDOM:function(){n.length>0&&(n.reverse().forEach(e=>{"characterData"!==e.type&&(e.removedNodes.forEach(t=>{e.target.insertBefore(t,e.nextSibling)}),e.addedNodes.forEach(t=>{e.target.removeChild(t)}))}),o())},clear:o}},MUTATION_OBSERVER_CONFIG={subtree:!0,childList:!0,characterData:!0,characterDataOldValue:!0};class RestoreDOMComponent extends React.Component{constructor(){super(...arguments),_defineProperty$2(this,"context",null),_defineProperty$2(this,"manager",null),_defineProperty$2(this,"mutationObserver",null)}observe(){var e,{node:t}=this.props;if(!t.current)throw new Error("Failed to attach MutationObserver, `node` is undefined");null===(e=this.mutationObserver)||void 0===e||e.observe(t.current,MUTATION_OBSERVER_CONFIG)}componentDidMount(){var{receivedUserInput:e}=this.props,t=this.context;this.manager=createRestoreDomManager(t,e),this.mutationObserver=new MutationObserver(this.manager.registerMutations),this.observe()}getSnapshotBeforeUpdate(){var e,t,n,o,r=null===(e=this.mutationObserver)||void 0===e?void 0:e.takeRecords();null!=r&&r.length&&(null===(o=this.manager)||void 0===o||o.registerMutations(r));return null===(t=this.mutationObserver)||void 0===t||t.disconnect(),null===(n=this.manager)||void 0===n||n.restoreDOM(),null}componentDidUpdate(){var e;null===(e=this.manager)||void 0===e||e.clear(),this.observe()}componentWillUnmount(){var e;null===(e=this.mutationObserver)||void 0===e||e.disconnect()}render(){return this.props.children}}_defineProperty$2(RestoreDOMComponent,"contextType",EditorContext);var RestoreDOM=IS_ANDROID?RestoreDOMComponent:e=>{var{children:t}=e;return React__default.default.createElement(React__default.default.Fragment,null,t)},ComposingContext=React.createContext(!1),_excluded$1=["autoFocus","decorate","onDOMBeforeInput","placeholder","readOnly","renderElement","renderLeaf","renderPlaceholder","scrollSelectionIntoView","style","as","disableDefaultStyles"],_excluded2=["text"];function ownKeys$1$3(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$1$3(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$1$3(Object(n),!0).forEach(function(t){_defineProperty$2(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$1$3(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Children=e=>React__default.default.createElement(React__default.default.Fragment,null,useChildren(e)),Editable=React.forwardRef((e,t)=>{var n=React.useCallback(e=>React__default.default.createElement(DefaultPlaceholder,_objectSpread$1$3({},e)),[]),{autoFocus:o,decorate:r=defaultDecorate,onDOMBeforeInput:a,placeholder:i,readOnly:s=!1,renderElement:l,renderLeaf:c,renderPlaceholder:d=n,scrollSelectionIntoView:u=defaultScrollSelectionIntoView,style:f={},as:p="div",disableDefaultStyles:_=!1}=e,m=_objectWithoutProperties(e,_excluded$1),h=useSlate(),[g,b]=React.useState(!1),v=React.useRef(null),y=React.useRef([]),[E,w]=React.useState(),C=React.useRef(!1),{onUserInput:x,receivedUserInput:R}=useTrackUserInput(),[,S]=React.useReducer(e=>e+1,0);EDITOR_TO_FORCE_RENDER.set(h,S),IS_READ_ONLY.set(h,s);var D=React.useMemo(()=>({isDraggingInternally:!1,isUpdatingSelection:!1,latestElement:null,hasMarkPlaceholder:!1}),[]);React.useEffect(()=>{v.current&&o&&v.current.focus()},[o]);var T=React.useRef(),O=React.useMemo(()=>throttle_1(()=>{if(IS_NODE_MAP_DIRTY.get(h))O();else{var e=ReactEditor.toDOMNode(h,h).getRootNode();if(!C.current&&IS_WEBKIT&&e instanceof ShadowRoot)return C.current=!0,getActiveElement()?document.execCommand("indent"):Transforms.deselect(h),void(C.current=!1);var t=T.current;if((IS_ANDROID||!ReactEditor.isComposing(h))&&(!D.isUpdatingSelection||null!=t&&t.isFlushing())&&!D.isDraggingInternally){var n=ReactEditor.findDocumentOrShadowRoot(h),{activeElement:o}=n,r=ReactEditor.toDOMNode(h,h),a=getSelection(n);if(o===r?(D.latestElement=o,IS_FOCUSED.set(h,!0)):IS_FOCUSED.delete(h),!a)return Transforms.deselect(h);var{anchorNode:i,focusNode:l}=a,c=ReactEditor.hasEditableTarget(h,i)||ReactEditor.isTargetInsideNonReadonlyVoid(h,i),d=ReactEditor.hasTarget(h,l);if(c&&d){var u=ReactEditor.toSlateRange(h,a,{exactMatch:!1,suppressThrow:!0});u&&(ReactEditor.isComposing(h)||null!=t&&t.hasPendingChanges()||null!=t&&t.isFlushing()?null==t||t.handleUserSelect(u):Transforms.select(h,u))}!s||c&&d||Transforms.deselect(h)}}},100),[h,s,D]),A=React.useMemo(()=>debounce_1(O,0),[O]);T.current=useAndroidInputManager({node:v,onDOMSelectionChange:O,scheduleOnDOMSelectionChange:A}),useIsomorphicLayoutEffect$1(()=>{var e,t,n;v.current&&(n=getDefaultView(v.current))?(EDITOR_TO_WINDOW.set(h,n),EDITOR_TO_ELEMENT.set(h,v.current),NODE_TO_ELEMENT.set(h,v.current),ELEMENT_TO_NODE.set(v.current,h)):NODE_TO_ELEMENT.delete(h);var{selection:o}=h,r=ReactEditor.findDocumentOrShadowRoot(h),a=getSelection(r);if(a&&ReactEditor.isFocused(h)&&(null===(e=T.current)||void 0===e||!e.hasPendingAction())){var i=e=>{var t="None"!==a.type;if(o||t){var n,r=a.focusNode;if(IS_FIREFOX&&a.rangeCount>1){var i=a.getRangeAt(0),s=a.getRangeAt(a.rangeCount-1);n=i.startContainer===r?s.endContainer:i.startContainer}else n=a.anchorNode;var l=EDITOR_TO_ELEMENT.get(h),c=!1;if(l.contains(n)&&l.contains(r)&&(c=!0),t&&c&&o&&!e){var d=ReactEditor.toSlateRange(h,a,{exactMatch:!0,suppressThrow:!0});if(d&&Range.equals(d,o)){var f;if(!D.hasMarkPlaceholder)return;if(null!==(f=n)&&void 0!==f&&null!==(f=f.parentElement)&&void 0!==f&&f.hasAttribute("data-slate-mark-placeholder"))return}}if(!o||ReactEditor.hasRange(h,o)){D.isUpdatingSelection=!0;var p=o&&ReactEditor.toDOMRange(h,o);return p?(ReactEditor.isComposing(h)&&!IS_ANDROID?a.collapseToEnd():Range.isBackward(o)?a.setBaseAndExtent(p.endContainer,p.endOffset,p.startContainer,p.startOffset):a.setBaseAndExtent(p.startContainer,p.startOffset,p.endContainer,p.endOffset),u(h,p)):a.removeAllRanges(),p}h.selection=ReactEditor.toSlateRange(h,a,{exactMatch:!1,suppressThrow:!0})}};a.rangeCount<=1&&i();var s="action"===(null===(t=T.current)||void 0===t?void 0:t.isFlushing());if(IS_ANDROID&&s){var l=null,c=requestAnimationFrame(()=>{if(s){var e=e=>{try{ReactEditor.toDOMNode(h,h).focus(),i(e)}catch(e){}};e(),l=setTimeout(()=>{e(!0),D.isUpdatingSelection=!1})}});return()=>{cancelAnimationFrame(c),l&&clearTimeout(l)}}setTimeout(()=>{D.isUpdatingSelection=!1})}});var I=React.useCallback(e=>{var t=ReactEditor.toDOMNode(h,h).getRootNode();if(null!=C&&C.current&&IS_WEBKIT&&t instanceof ShadowRoot){var n=e.getTargetRanges()[0],o=new window.Range;o.setStart(n.startContainer,n.startOffset),o.setEnd(n.endContainer,n.endOffset);var r=ReactEditor.toSlateRange(h,o,{exactMatch:!1,suppressThrow:!1});return Transforms.select(h,r),e.preventDefault(),void e.stopImmediatePropagation()}if(x(),!s&&ReactEditor.hasEditableTarget(h,e.target)&&!isDOMEventHandled(e,a)){var i;if(T.current)return T.current.handleDOMBeforeInput(e);A.flush(),O.flush();var{selection:l}=h,{inputType:c}=e,d=e.dataTransfer||e.data||void 0,u="insertCompositionText"===c||"deleteCompositionText"===c;if(u&&ReactEditor.isComposing(h))return;var f=!1;if("insertText"===c&&l&&Range.isCollapsed(l)&&e.data&&1===e.data.length&&/[a-z ]/i.test(e.data)&&0!==l.anchor.offset&&(f=!0,h.marks&&(f=!1),!IS_NODE_MAP_DIRTY.get(h))){var p,_,{anchor:m}=l,[g,v]=ReactEditor.toDOMPoint(h,m),E=null===(p=g.parentElement)||void 0===p?void 0:p.closest("a"),w=ReactEditor.getWindow(h);if(f&&E&&ReactEditor.hasDOMNode(h,E)){var R,S=null==w?void 0:w.document.createTreeWalker(E,NodeFilter.SHOW_TEXT).lastChild();S===g&&(null===(R=S.textContent)||void 0===R?void 0:R.length)===v&&(f=!1)}if(f&&g.parentElement&&"pre"===(null==w||null===(_=w.getComputedStyle(g.parentElement))||void 0===_?void 0:_.whiteSpace)){var D=Editor.above(h,{at:m.path,match:e=>Element$2.isElement(e)&&Editor.isBlock(h,e)});D&&Node$1.string(D[0]).includes("\t")&&(f=!1)}}if((!c.startsWith("delete")||c.startsWith("deleteBy"))&&!IS_NODE_MAP_DIRTY.get(h)){var[I]=e.getTargetRanges();if(I){var k=ReactEditor.toSlateRange(h,I,{exactMatch:!1,suppressThrow:!1});if(!l||!Range.equals(l,k)){f=!1;var N=!u&&h.selection&&Editor.rangeRef(h,h.selection);Transforms.select(h,k),N&&EDITOR_TO_USER_SELECTION.set(h,N)}}}if(u)return;if(f||e.preventDefault(),l&&Range.isExpanded(l)&&c.startsWith("delete")){var j=c.endsWith("Backward")?"backward":"forward";return void Editor.deleteFragment(h,{direction:j})}switch(c){case"deleteByComposition":case"deleteByCut":case"deleteByDrag":Editor.deleteFragment(h);break;case"deleteContent":case"deleteContentForward":Editor.deleteForward(h);break;case"deleteContentBackward":Editor.deleteBackward(h);break;case"deleteEntireSoftLine":Editor.deleteBackward(h,{unit:"line"}),Editor.deleteForward(h,{unit:"line"});break;case"deleteHardLineBackward":Editor.deleteBackward(h,{unit:"block"});break;case"deleteSoftLineBackward":Editor.deleteBackward(h,{unit:"line"});break;case"deleteHardLineForward":Editor.deleteForward(h,{unit:"block"});break;case"deleteSoftLineForward":Editor.deleteForward(h,{unit:"line"});break;case"deleteWordBackward":Editor.deleteBackward(h,{unit:"word"});break;case"deleteWordForward":Editor.deleteForward(h,{unit:"word"});break;case"insertLineBreak":Editor.insertSoftBreak(h);break;case"insertParagraph":Editor.insertBreak(h);break;case"insertFromComposition":case"insertFromDrop":case"insertFromPaste":case"insertFromYank":case"insertReplacementText":case"insertText":"insertFromComposition"===c&&ReactEditor.isComposing(h)&&(b(!1),IS_COMPOSING.set(h,!1)),"DataTransfer"===(null==d?void 0:d.constructor.name)?ReactEditor.insertData(h,d):"string"==typeof d&&(f?y.current.push(()=>Editor.insertText(h,d)):Editor.insertText(h,d))}var $=null===(i=EDITOR_TO_USER_SELECTION.get(h))||void 0===i?void 0:i.unref();EDITOR_TO_USER_SELECTION.delete(h),!$||h.selection&&Range.equals(h.selection,$)||Transforms.select(h,$)}},[h,O,x,a,s,A]),k=React.useCallback(e=>{null==e?(O.cancel(),A.cancel(),EDITOR_TO_ELEMENT.delete(h),NODE_TO_ELEMENT.delete(h),v.current&&HAS_BEFORE_INPUT_SUPPORT&&v.current.removeEventListener("beforeinput",I)):HAS_BEFORE_INPUT_SUPPORT&&e.addEventListener("beforeinput",I),v.current=e,"function"==typeof t?t(e):t&&(t.current=e)},[O,A,h,I,t]);useIsomorphicLayoutEffect$1(()=>{var e=ReactEditor.getWindow(h);e.document.addEventListener("selectionchange",A);var t=()=>{D.isDraggingInternally=!1};return e.document.addEventListener("dragend",t),e.document.addEventListener("drop",t),()=>{e.document.removeEventListener("selectionchange",A),e.document.removeEventListener("dragend",t),e.document.removeEventListener("drop",t)}},[A,D]);var N=r([h,[]]),j=i&&1===h.children.length&&1===Array.from(Node$1.texts(h)).length&&""===Node$1.string(h)&&!g,$=React.useCallback(e=>{var t;e&&j?w(null===(t=e.getBoundingClientRect())||void 0===t?void 0:t.height):w(void 0)},[j]);if(j){var F=Editor.start(h,[]);N.push({[PLACEHOLDER_SYMBOL]:!0,placeholder:i,onPlaceholderResize:$,anchor:F,focus:F})}var{marks:P}=h;if(D.hasMarkPlaceholder=!1,h.selection&&Range.isCollapsed(h.selection)&&P){var{anchor:M}=h.selection,B=Node$1.leaf(h,M.path),L=_objectWithoutProperties(B,_excluded2);if(!Text$1.equals(B,P,{loose:!0})){D.hasMarkPlaceholder=!0;var U=Object.fromEntries(Object.keys(L).map(e=>[e,null]));N.push(_objectSpread$1$3(_objectSpread$1$3(_objectSpread$1$3({[MARK_PLACEHOLDER_SYMBOL]:!0},U),P),{},{anchor:M,focus:M}))}}return React.useEffect(()=>{setTimeout(()=>{var{selection:e}=h;if(e){var{anchor:t}=e,n=Node$1.leaf(h,t.path);if(P&&!Text$1.equals(n,P,{loose:!0}))return void EDITOR_TO_PENDING_INSERTION_MARKS.set(h,P)}EDITOR_TO_PENDING_INSERTION_MARKS.delete(h)})}),React__default.default.createElement(ReadOnlyContext.Provider,{value:s},React__default.default.createElement(ComposingContext.Provider,{value:g},React__default.default.createElement(DecorateContext.Provider,{value:r},React__default.default.createElement(RestoreDOM,{node:v,receivedUserInput:R},React__default.default.createElement(p,_objectSpread$1$3(_objectSpread$1$3({role:s?void 0:"textbox","aria-multiline":!s||void 0},m),{},{spellCheck:!(!HAS_BEFORE_INPUT_SUPPORT&&CAN_USE_DOM)&&m.spellCheck,autoCorrect:HAS_BEFORE_INPUT_SUPPORT||!CAN_USE_DOM?m.autoCorrect:"false",autoCapitalize:HAS_BEFORE_INPUT_SUPPORT||!CAN_USE_DOM?m.autoCapitalize:"false","data-slate-editor":!0,"data-slate-node":"value",contentEditable:!s,zindex:-1,suppressContentEditableWarning:!0,ref:k,style:_objectSpread$1$3(_objectSpread$1$3({},_?{}:_objectSpread$1$3({position:"relative",whiteSpace:"pre-wrap",wordWrap:"break-word"},E?{minHeight:E}:{})),f),onBeforeInput:React.useCallback(e=>{if(!HAS_BEFORE_INPUT_SUPPORT&&!s&&!isEventHandled(e,m.onBeforeInput)&&ReactEditor.hasSelectableTarget(h,e.target)&&(e.preventDefault(),!ReactEditor.isComposing(h))){var t=e.data;Editor.insertText(h,t)}},[m.onBeforeInput,h,s]),onInput:React.useCallback(e=>{if(!isEventHandled(e,m.onInput))if(T.current)T.current.handleInput();else{for(var t of y.current)t();if(y.current=[],!ReactEditor.isFocused(h)){var n=e.nativeEvent,o=h;if("historyUndo"===n.inputType&&"function"==typeof o.undo)return void o.undo();if("historyRedo"===n.inputType&&"function"==typeof o.redo)return void o.redo()}}},[m.onInput,h]),onBlur:React.useCallback(e=>{if(!s&&!D.isUpdatingSelection&&ReactEditor.hasSelectableTarget(h,e.target)&&!isEventHandled(e,m.onBlur)){var t=ReactEditor.findDocumentOrShadowRoot(h);if(D.latestElement!==t.activeElement){var{relatedTarget:n}=e;if(!(n===ReactEditor.toDOMNode(h,h)||isDOMElement(n)&&n.hasAttribute("data-slate-spacer"))){if(null!=n&&isDOMNode(n)&&ReactEditor.hasDOMNode(h,n)){var o=ReactEditor.toSlateNode(h,n);if(Element$2.isElement(o)&&!h.isVoid(o))return}if(IS_WEBKIT){var r=getSelection(t);null==r||r.removeAllRanges()}IS_FOCUSED.delete(h)}}}},[s,D.isUpdatingSelection,D.latestElement,h,m.onBlur]),onClick:React.useCallback(e=>{if(ReactEditor.hasTarget(h,e.target)&&!isEventHandled(e,m.onClick)&&isDOMNode(e.target)){var t=ReactEditor.toSlateNode(h,e.target),n=ReactEditor.findPath(h,t);if(!Editor.hasPath(h,n)||Node$1.get(h,n)!==t)return;if(e.detail===TRIPLE_CLICK&&n.length>=1){var o=n;if(!Element$2.isElement(t)||!Editor.isBlock(h,t)){var r,a=Editor.above(h,{match:e=>Element$2.isElement(e)&&Editor.isBlock(h,e),at:n});o=null!==(r=null==a?void 0:a[1])&&void 0!==r?r:n.slice(0,1)}var i=Editor.range(h,o);return void Transforms.select(h,i)}if(s)return;var l=Editor.start(h,n),c=Editor.end(h,n),d=Editor.void(h,{at:l}),u=Editor.void(h,{at:c});if(d&&u&&Path.equals(d[1],u[1])){var f=Editor.range(h,l);Transforms.select(h,f)}}},[h,m.onClick,s]),onCompositionEnd:React.useCallback(e=>{if(ReactEditor.hasSelectableTarget(h,e.target)){var t;if(ReactEditor.isComposing(h)&&Promise.resolve().then(()=>{b(!1),IS_COMPOSING.set(h,!1)}),null===(t=T.current)||void 0===t||t.handleCompositionEnd(e),isEventHandled(e,m.onCompositionEnd)||IS_ANDROID)return;if(!IS_WEBKIT&&!IS_FIREFOX_LEGACY&&!IS_IOS&&!IS_WECHATBROWSER&&!IS_UC_MOBILE&&e.data){var n=EDITOR_TO_PENDING_INSERTION_MARKS.get(h);EDITOR_TO_PENDING_INSERTION_MARKS.delete(h),void 0!==n&&(EDITOR_TO_USER_MARKS.set(h,h.marks),h.marks=n),Editor.insertText(h,e.data);var o=EDITOR_TO_USER_MARKS.get(h);EDITOR_TO_USER_MARKS.delete(h),void 0!==o&&(h.marks=o)}}},[m.onCompositionEnd,h]),onCompositionUpdate:React.useCallback(e=>{ReactEditor.hasSelectableTarget(h,e.target)&&!isEventHandled(e,m.onCompositionUpdate)&&(ReactEditor.isComposing(h)||(b(!0),IS_COMPOSING.set(h,!0)))},[m.onCompositionUpdate,h]),onCompositionStart:React.useCallback(e=>{if(ReactEditor.hasSelectableTarget(h,e.target)){var t;if(null===(t=T.current)||void 0===t||t.handleCompositionStart(e),isEventHandled(e,m.onCompositionStart)||IS_ANDROID)return;b(!0);var{selection:n}=h;if(n&&Range.isExpanded(n))return void Editor.deleteFragment(h)}},[m.onCompositionStart,h]),onCopy:React.useCallback(e=>{!ReactEditor.hasSelectableTarget(h,e.target)||isEventHandled(e,m.onCopy)||isDOMEventTargetInput(e)||(e.preventDefault(),ReactEditor.setFragmentData(h,e.clipboardData,"copy"))},[m.onCopy,h]),onCut:React.useCallback(e=>{if(!s&&ReactEditor.hasSelectableTarget(h,e.target)&&!isEventHandled(e,m.onCut)&&!isDOMEventTargetInput(e)){e.preventDefault(),ReactEditor.setFragmentData(h,e.clipboardData,"cut");var{selection:t}=h;if(t)if(Range.isExpanded(t))Editor.deleteFragment(h);else{var n=Node$1.parent(h,t.anchor.path);Editor.isVoid(h,n)&&Transforms.delete(h)}}},[s,h,m.onCut]),onDragOver:React.useCallback(e=>{if(ReactEditor.hasTarget(h,e.target)&&!isEventHandled(e,m.onDragOver)){var t=ReactEditor.toSlateNode(h,e.target);Element$2.isElement(t)&&Editor.isVoid(h,t)&&e.preventDefault()}},[m.onDragOver,h]),onDragStart:React.useCallback(e=>{if(!s&&ReactEditor.hasTarget(h,e.target)&&!isEventHandled(e,m.onDragStart)){var t=ReactEditor.toSlateNode(h,e.target),n=ReactEditor.findPath(h,t);if(Element$2.isElement(t)&&Editor.isVoid(h,t)||Editor.void(h,{at:n,voids:!0})){var o=Editor.range(h,n);Transforms.select(h,o)}D.isDraggingInternally=!0,ReactEditor.setFragmentData(h,e.dataTransfer,"drag")}},[s,h,m.onDragStart,D]),onDrop:React.useCallback(e=>{if(!s&&ReactEditor.hasTarget(h,e.target)&&!isEventHandled(e,m.onDrop)){e.preventDefault();var t=h.selection,n=ReactEditor.findEventRange(h,e),o=e.dataTransfer;Transforms.select(h,n),D.isDraggingInternally&&(!t||Range.equals(t,n)||Editor.void(h,{at:n,voids:!0})||Transforms.delete(h,{at:t})),ReactEditor.insertData(h,o),ReactEditor.isFocused(h)||ReactEditor.focus(h)}},[s,h,m.onDrop,D]),onDragEnd:React.useCallback(e=>{!s&&D.isDraggingInternally&&m.onDragEnd&&ReactEditor.hasTarget(h,e.target)&&m.onDragEnd(e)},[s,D,m,h]),onFocus:React.useCallback(e=>{if(!s&&!D.isUpdatingSelection&&ReactEditor.hasEditableTarget(h,e.target)&&!isEventHandled(e,m.onFocus)){var t=ReactEditor.toDOMNode(h,h),n=ReactEditor.findDocumentOrShadowRoot(h);if(D.latestElement=n.activeElement,IS_FIREFOX&&e.target!==t)return void t.focus();IS_FOCUSED.set(h,!0)}},[s,D,h,m.onFocus]),onKeyDown:React.useCallback(e=>{if(!s&&ReactEditor.hasEditableTarget(h,e.target)){var t;null===(t=T.current)||void 0===t||t.handleKeyDown(e);var{nativeEvent:n}=e;if(ReactEditor.isComposing(h)&&!1===n.isComposing&&(IS_COMPOSING.set(h,!1),b(!1)),isEventHandled(e,m.onKeyDown)||ReactEditor.isComposing(h))return;var{selection:o}=h,r=h.children[null!==o?o.focus.path[0]:0],a="rtl"===direction_1(Node$1.string(r));if(Hotkeys.isRedo(n)){e.preventDefault();var i=h;return void("function"==typeof i.redo&&i.redo())}if(Hotkeys.isUndo(n)){e.preventDefault();var l=h;return void("function"==typeof l.undo&&l.undo())}if(Hotkeys.isMoveLineBackward(n))return e.preventDefault(),void Transforms.move(h,{unit:"line",reverse:!0});if(Hotkeys.isMoveLineForward(n))return e.preventDefault(),void Transforms.move(h,{unit:"line"});if(Hotkeys.isExtendLineBackward(n))return e.preventDefault(),void Transforms.move(h,{unit:"line",edge:"focus",reverse:!0});if(Hotkeys.isExtendLineForward(n))return e.preventDefault(),void Transforms.move(h,{unit:"line",edge:"focus"});if(Hotkeys.isMoveBackward(n))return e.preventDefault(),void(o&&Range.isCollapsed(o)?Transforms.move(h,{reverse:!a}):Transforms.collapse(h,{edge:a?"end":"start"}));if(Hotkeys.isMoveForward(n))return e.preventDefault(),void(o&&Range.isCollapsed(o)?Transforms.move(h,{reverse:a}):Transforms.collapse(h,{edge:a?"start":"end"}));if(Hotkeys.isMoveWordBackward(n))return e.preventDefault(),o&&Range.isExpanded(o)&&Transforms.collapse(h,{edge:"focus"}),void Transforms.move(h,{unit:"word",reverse:!a});if(Hotkeys.isMoveWordForward(n))return e.preventDefault(),o&&Range.isExpanded(o)&&Transforms.collapse(h,{edge:"focus"}),void Transforms.move(h,{unit:"word",reverse:a});if(HAS_BEFORE_INPUT_SUPPORT){if((IS_CHROME||IS_WEBKIT)&&o&&(Hotkeys.isDeleteBackward(n)||Hotkeys.isDeleteForward(n))&&Range.isCollapsed(o)){var c=Node$1.parent(h,o.anchor.path);if(Element$2.isElement(c)&&Editor.isVoid(h,c)&&(Editor.isInline(h,c)||Editor.isBlock(h,c)))return e.preventDefault(),void Editor.deleteBackward(h,{unit:"block"})}}else{if(Hotkeys.isBold(n)||Hotkeys.isItalic(n)||Hotkeys.isTransposeCharacter(n))return void e.preventDefault();if(Hotkeys.isSoftBreak(n))return e.preventDefault(),void Editor.insertSoftBreak(h);if(Hotkeys.isSplitBlock(n))return e.preventDefault(),void Editor.insertBreak(h);if(Hotkeys.isDeleteBackward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(h,{direction:"backward"}):Editor.deleteBackward(h));if(Hotkeys.isDeleteForward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(h,{direction:"forward"}):Editor.deleteForward(h));if(Hotkeys.isDeleteLineBackward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(h,{direction:"backward"}):Editor.deleteBackward(h,{unit:"line"}));if(Hotkeys.isDeleteLineForward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(h,{direction:"forward"}):Editor.deleteForward(h,{unit:"line"}));if(Hotkeys.isDeleteWordBackward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(h,{direction:"backward"}):Editor.deleteBackward(h,{unit:"word"}));if(Hotkeys.isDeleteWordForward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(h,{direction:"forward"}):Editor.deleteForward(h,{unit:"word"}))}}},[s,h,m.onKeyDown]),onPaste:React.useCallback(e=>{s||!ReactEditor.hasEditableTarget(h,e.target)||isEventHandled(e,m.onPaste)||(!HAS_BEFORE_INPUT_SUPPORT||isPlainTextOnlyPaste(e.nativeEvent)||IS_WEBKIT)&&(e.preventDefault(),ReactEditor.insertData(h,e.clipboardData))},[s,h,m.onPaste])}),React__default.default.createElement(Children,{decorations:N,node:h,renderElement:l,renderPlaceholder:d,renderLeaf:c,selection:h.selection}))))))}),DefaultPlaceholder=e=>{var{attributes:t,children:n}=e;return React__default.default.createElement("span",_objectSpread$1$3({},t),n,IS_ANDROID&&React__default.default.createElement("br",null))},defaultDecorate=()=>[],defaultScrollSelectionIntoView=(t,n)=>{if(n.getBoundingClientRect&&(!t.selection||t.selection&&Range.isCollapsed(t.selection))){var o=n.startContainer.parentElement;o.getBoundingClientRect=n.getBoundingClientRect.bind(n),e(o,{scrollMode:"if-needed"}),delete o.getBoundingClientRect}},isEventHandled=(e,t)=>{if(!t)return!1;var n=t(e);return null!=n?n:e.isDefaultPrevented()||e.isPropagationStopped()},isDOMEventTargetInput=e=>isDOMNode(e.target)&&(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement),isDOMEventHandled=(e,t)=>{if(!t)return!1;var n=t(e);return null!=n?n:e.defaultPrevented},FocusedContext=React.createContext(!1),SlateSelectorContext=React.createContext({});function useSelectorContext(e){var t=React.useRef([]).current,n=React.useRef({editor:e}).current,o=React.useCallback(e=>{n.editor=e,t.forEach(t=>t(e))},[t,n]);return{selectorContext:React.useMemo(()=>({getSlate:()=>n.editor,addEventListener:e=>(t.push(e),()=>{t.splice(t.indexOf(e),1)})}),[t,n]),onChange:o}}var _excluded=["editor","children","onChange","onSelectionChange","onValueChange","initialValue"],Slate=e=>{var{editor:t,children:n,onChange:o,onSelectionChange:r,onValueChange:a,initialValue:i}=e,s=_objectWithoutProperties(e,_excluded),[l,c]=React__default.default.useState(()=>{if(!Node$1.isNodeList(i))throw new Error("[Slate] initialValue is invalid! Expected a list of elements but got: ".concat(Scrubber.stringify(i)));if(!Editor.isEditor(t))throw new Error("[Slate] editor is invalid! You passed: ".concat(Scrubber.stringify(t)));return t.children=i,Object.assign(t,s),{v:0,editor:t}}),{selectorContext:d,onChange:u}=useSelectorContext(t),f=React.useCallback(e=>{var n;if(o&&o(t.children),"set_selection"===(null==e||null===(n=e.operation)||void 0===n?void 0:n.type))null==r||r(t.selection);else null==a||a(t.children);c(e=>({v:e.v+1,editor:t})),u(t)},[t,u,o,r,a]);React.useEffect(()=>(EDITOR_TO_ON_CHANGE.set(t,f),()=>{EDITOR_TO_ON_CHANGE.set(t,()=>{})}),[t,f]);var[p,_]=React.useState(ReactEditor.isFocused(t));return React.useEffect(()=>{_(ReactEditor.isFocused(t))},[t]),useIsomorphicLayoutEffect$1(()=>{var e=()=>_(ReactEditor.isFocused(t));return REACT_MAJOR_VERSION>=17?(document.addEventListener("focusin",e),document.addEventListener("focusout",e),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",e)}):(document.addEventListener("focus",e,!0),document.addEventListener("blur",e,!0),()=>{document.removeEventListener("focus",e,!0),document.removeEventListener("blur",e,!0)})},[]),React__default.default.createElement(SlateSelectorContext.Provider,{value:d},React__default.default.createElement(SlateContext.Provider,{value:l},React__default.default.createElement(EditorContext.Provider,{value:l.editor},React__default.default.createElement(FocusedContext.Provider,{value:p},n))))},doRectsIntersect=(e,t)=>{var n=(t.top+t.bottom)/2;return e.top<=n&&e.bottom>=n},areRangesSameLine=(e,t,n)=>{var o=ReactEditor.toDOMRange(e,t).getBoundingClientRect(),r=ReactEditor.toDOMRange(e,n).getBoundingClientRect();return doRectsIntersect(o,r)&&doRectsIntersect(r,o)},findCurrentLineRange=(e,t)=>{var n=Editor.range(e,Range.end(t)),o=Array.from(Editor.positions(e,{at:t})),r=0,a=o.length,i=Math.floor(a/2);if(areRangesSameLine(e,Editor.range(e,o[r]),n))return Editor.range(e,o[r],n);if(o.length<2)return Editor.range(e,o[o.length-1],n);for(;i!==o.length&&i!==r;)areRangesSameLine(e,Editor.range(e,o[i]),n)?a=i:r=i,i=Math.floor((r+a)/2);return Editor.range(e,o[a],n)};function ownKeys$9(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$9(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$9(Object(n),!0).forEach(function(t){_defineProperty$2(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$9(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var withReact=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"x-slate-fragment",n=e,{apply:o,onChange:r,deleteBackward:a,addMark:i,removeMark:s}=n;return EDITOR_TO_KEY_TO_ELEMENT.set(n,new WeakMap),n.addMark=(e,t)=>{var o,r;null===(o=EDITOR_TO_SCHEDULE_FLUSH.get(n))||void 0===o||o(),!EDITOR_TO_PENDING_INSERTION_MARKS.get(n)&&null!==(r=EDITOR_TO_PENDING_DIFFS.get(n))&&void 0!==r&&r.length&&EDITOR_TO_PENDING_INSERTION_MARKS.set(n,null),EDITOR_TO_USER_MARKS.delete(n),i(e,t)},n.removeMark=e=>{var t;!EDITOR_TO_PENDING_INSERTION_MARKS.get(n)&&null!==(t=EDITOR_TO_PENDING_DIFFS.get(n))&&void 0!==t&&t.length&&EDITOR_TO_PENDING_INSERTION_MARKS.set(n,null),EDITOR_TO_USER_MARKS.delete(n),s(e)},n.deleteBackward=e=>{if("line"!==e)return a(e);if(n.selection&&Range.isCollapsed(n.selection)){var t=Editor.above(n,{match:e=>Element$2.isElement(e)&&Editor.isBlock(n,e),at:n.selection});if(t){var[,o]=t,r=Editor.range(n,o,n.selection.anchor),i=findCurrentLineRange(n,r);Range.isCollapsed(i)||Transforms.delete(n,{at:i})}}},n.apply=t=>{var r=[],a=[],i=EDITOR_TO_PENDING_DIFFS.get(n);if(null!=i&&i.length){var s=i.map(e=>transformTextDiff(e,t)).filter(Boolean);EDITOR_TO_PENDING_DIFFS.set(n,s)}var l=EDITOR_TO_PENDING_SELECTION.get(n);l&&EDITOR_TO_PENDING_SELECTION.set(n,transformPendingRange(n,l,t));var c=EDITOR_TO_PENDING_ACTION.get(n);if(null!=c&&c.at){var d=Point.isPoint(null==c?void 0:c.at)?transformPendingPoint(n,c.at,t):transformPendingRange(n,c.at,t);EDITOR_TO_PENDING_ACTION.set(n,d?_objectSpread$9(_objectSpread$9({},c),{},{at:d}):null)}switch(t.type){case"insert_text":case"remove_text":case"set_node":case"split_node":r.push(...getMatches(n,t.path));break;case"set_selection":var u;null===(u=EDITOR_TO_USER_SELECTION.get(n))||void 0===u||u.unref(),EDITOR_TO_USER_SELECTION.delete(n);break;case"insert_node":case"remove_node":r.push(...getMatches(n,Path.parent(t.path)));break;case"merge_node":var f=Path.previous(t.path);r.push(...getMatches(n,f));break;case"move_node":var p,_=Path.common(Path.parent(t.path),Path.parent(t.newPath));r.push(...getMatches(n,_)),Path.isBefore(t.path,t.newPath)?(r.push(...getMatches(n,Path.parent(t.path))),p=t.newPath):(r.push(...getMatches(n,Path.parent(t.newPath))),p=t.path);var m=Node$1.get(e,Path.parent(p)),h=ReactEditor.findKey(n,m),g=Editor.pathRef(n,Path.parent(p));a.push([g,h])}switch(o(t),t.type){case"insert_node":case"remove_node":case"merge_node":case"move_node":case"split_node":IS_NODE_MAP_DIRTY.set(n,!0)}for(var[b,v]of r){var[y]=Editor.node(n,b);NODE_TO_KEY.set(y,v)}for(var[E,w]of a){if(E.current){var[C]=Editor.node(n,E.current);NODE_TO_KEY.set(C,w)}E.unref()}},n.setFragmentData=e=>{var{selection:o}=n;if(o){var[r,a]=Range.edges(o),i=Editor.void(n,{at:r.path}),s=Editor.void(n,{at:a.path});if(!Range.isCollapsed(o)||i){var l=ReactEditor.toDOMRange(n,o),c=l.cloneContents(),d=c.childNodes[0];if(c.childNodes.forEach(e=>{e.textContent&&""!==e.textContent.trim()&&(d=e)}),s){var[u]=s,f=l.cloneRange(),p=ReactEditor.toDOMNode(n,u);f.setEndAfter(p),c=f.cloneContents()}if(i&&(d=c.querySelector("[data-slate-spacer]")),Array.from(c.querySelectorAll("[data-slate-zero-width]")).forEach(e=>{var t="n"===e.getAttribute("data-slate-zero-width");e.textContent=t?"\n":""}),isDOMText(d)){var _=d.ownerDocument.createElement("span");_.style.whiteSpace="pre",_.appendChild(d),c.appendChild(_),d=_}var m=n.getFragment(),h=JSON.stringify(m),g=window.btoa(encodeURIComponent(h));d.setAttribute("data-slate-fragment",g),e.setData("application/".concat(t),g);var b=c.ownerDocument.createElement("div");return b.appendChild(c),b.setAttribute("hidden","true"),c.ownerDocument.body.appendChild(b),e.setData("text/html",b.innerHTML),e.setData("text/plain",getPlainText(b)),c.ownerDocument.body.removeChild(b),e}}},n.insertData=e=>{n.insertFragmentData(e)||n.insertTextData(e)},n.insertFragmentData=e=>{var o=e.getData("application/".concat(t))||getSlateFragmentAttribute(e);if(o){var r=decodeURIComponent(window.atob(o)),a=JSON.parse(r);return n.insertFragment(a),!0}return!1},n.insertTextData=e=>{var t=e.getData("text/plain");if(t){var o=t.split(/\r\n|\r|\n/),r=!1;for(var a of o)r&&Transforms.splitNodes(n,{always:!0}),n.insertText(a),r=!0;return!0}return!1},n.onChange=e=>{(REACT_MAJOR_VERSION<18?ReactDOM__default.default.unstable_batchedUpdates:e=>e())(()=>{var t=EDITOR_TO_ON_CHANGE.get(n);t&&t(e),r(e)})},n},getMatches=(e,t)=>{var n=[];for(var[o,r]of Editor.levels(e,{at:t})){var a=ReactEditor.findKey(e,o);n.push([r,a])}return n};const defaultComponents={Anchor:"a"},ComponentsContext=React.createContext(void 0);function useComponents(e){const t=React.useContext(ComponentsContext);return React.useMemo(()=>({...defaultComponents,...t,...e}),[t,e])}function ComponentsProvider({children:e,components:t}){const n=React.useContext(ComponentsContext),o=React.useMemo(()=>({...defaultComponents,...n,...t}),[n,t]);return jsxRuntime.exports.jsx(ComponentsContext.Provider,{value:o,children:e})}const LiveblocksUIConfigContext=React.createContext({});function useLiveblocksUIConfig(){return React.useContext(LiveblocksUIConfigContext)}function LiveblocksUIConfig({overrides:e,components:t,portalContainer:n,preventUnsavedComposerChanges:o=!0,children:r}){const a=React.useMemo(()=>({portalContainer:n,preventUnsavedComposerChanges:o}),[n,o]);return jsxRuntime.exports.jsx(LiveblocksUIConfigContext.Provider,{value:a,children:jsxRuntime.exports.jsx(OverridesProvider,{overrides:e,children:jsxRuntime.exports.jsx(ComponentsProvider,{components:t,children:r})})})}const formatters=[{type:"mark",mark:"bold",character:"*"},{type:"mark",mark:"italic",character:"_"},{type:"mark",mark:"strikethrough",character:"~"},{type:"mark",mark:"code",character:"`"}],markFormattingCharacters=formatters.filter(e=>"mark"===e.type).map(e=>e.character);function formatMark(e,t,n){if(t!==n.character)return!1;const o=getMatchRange(e,e.selection,[n.character]);if(!o||Range.isCollapsed(o))return!1;const r=getCharacterBefore(e,o);if(!r||r.text!==n.character)return!1;const a=getCharacterBefore(e,r.range);if(a&&!markFormattingCharacters.includes(a.text)&&!isEmptyString(a.text))return!1;const i=Editor.string(e,o);return i.trim()===i&&(Transforms.select(e,o),e.addMark(n.mark,!0),Transforms.collapse(e,{edge:"end"}),e.removeMark(n.mark),Transforms.delete(e,{at:r.range}),!0)}function withAutoFormatting(e){const{insertText:t}=e;return e.insertText=(n,o)=>{if(!e.selection||!Range.isCollapsed(e.selection))return t(n,o);let r=!0;for(const t of formatters)"mark"===t.type&&formatMark(e,n,t)&&(r=!1);r&&t(n,o)},e}function isText(e){return!("type"in e)&&"text"in e&&"string"==typeof e.text}function isPlainText(e){return isText(e)&&1===Object.keys(e).length}const defaultMarks={bold:!1,italic:!1,strikethrough:!1,code:!1};function isMarkActive(e,t){const n=Editor.marks(e);return!!n&&!0===n[t]}function getMarks(e){if(!e)return{...defaultMarks};const t=Editor.marks(e);return{...defaultMarks,...t}}function filterActiveMarks(e){return Object.keys(e??{}).filter(e=>"text"!==e)}function toggleMark(e,t){isMarkActive(e,t)?Editor.removeMark(e,t):Editor.addMark(e,t,!0)}function removeMarks(e){const t=Editor.marks(e);if(t)for(const n in t)Editor.removeMark(e,n)}function leaveMarkEdge(e,t){if(e.selection&&Range.isCollapsed(e.selection)){if(Object.keys(Editor.marks(e)??{}).length>0){("start"===t?getCharacterBefore(e,e.selection):getCharacterAfter(e,e.selection))||removeMarks(e)}}}function selectionContainsInlines(e,t){const{selection:n}=e;if(!n)return!1;const o=Array.from(Editor.nodes(e,{at:n,match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t),mode:"lowest"}));for(const[,r]of o){const o=Range.isRange(n)?Range.intersection(n,Editor.range(e,r)):n;if(!o)continue;const a=Array.from(Editor.nodes(e,{at:o,match:n=>Editor.isInline(e,n)&&t(n)}));if(a.length>0)return!0}return!1}function isUrl(e){try{return new URL(e),!0}catch(e){return!1}}function withCustomLinks(e){const{isInline:t,normalizeNode:n,insertData:o}=e;return e.isInline=e=>"custom-link"===e.type||t(e),e.normalizeNode=t=>{const[o,r]=t;if(isText(o)){if(isComposerBodyCustomLink(Node$1.parent(e,r))&&!isPlainText(o)){const t=filterActiveMarks(o);Transforms.unsetNodes(e,t,{at:r})}}n(t)},e.insertData=t=>{const{selection:n}=e,r=t.getData("text/plain");let a=!0;n&&!Range.isCollapsed(n)&&n.anchor.path[0]===n.focus.path[0]&&isUrl(r)&&(selectionContainsInlines(e,e=>!isText(e))||(Transforms.wrapNodes(e,{type:"custom-link",url:r,children:[]},{at:n,split:!0,match:isPlainText}),a=!1)),a&&o(t)},e}function isComposerBodyCustomLink(e){return Element$2.isElement(e)&&"custom-link"===e.type}function withAutoLinks(e){const{isInline:t,normalizeNode:n,deleteBackward:o}=e;return e.isInline=e=>"auto-link"===e.type||t(e),e.normalizeNode=t=>{const[o,r]=t;if(!isComposerBodyCustomLink(o)){if(isText(o)){const t=Node$1.parent(e,r);if(isComposerBodyCustomLink(t))return;if(isComposerBodyAutoLink(t)){const n=Path.parent(r);if(handleLinkEdit(e,[t,n]),!isPlainText(o)){const t=filterActiveMarks(o);Transforms.unsetNodes(e,t,{at:r})}}else handleLinkCreate(e,[o,r]),handleNeighbours(e,[o,r])}n(t)}},e.deleteBackward=t=>{o(t);const{selection:n}=e;if(!n)return;if(!Range.isCollapsed(n))return;const[r]=Editor.nodes(e,{at:n,match:isComposerBodyAutoLink,mode:"lowest"});r&&Transforms.unwrapNodes(e,{match:isComposerBodyAutoLink})},e}function isComposerBodyAutoLink(e){return Element$2.isElement(e)&&"auto-link"===e.type}const URL_REGEX=/((https?:\/\/(www\.)?)|(www\.))[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9().@:%_+~#?&//=]*)/,PUNCTUATION_OR_SPACE=/[.,;!?\s()]/,PERIOD_OR_QUESTION_MARK_FOLLOWED_BY_ALPHANUMERIC=/^[.?][a-zA-Z0-9]+/,PARENTHESES=/[()]/;function isSeparator(e){return PUNCTUATION_OR_SPACE.test(e)}function endsWithSeparator(e){const t=e[e.length-1];return void 0!==t&&isSeparator(t)}function startsWithSeparator(e){const t=e[0];return void 0!==t&&isSeparator(t)}function endsWithPeriodOrQuestionMark(e){return"."===e[e.length-1]||"?"===e[e.length-1]}function getUrlLogicalLength(e){if(!PARENTHESES.test(e))return e.length;let t=0,n=0;for(const o of e){if("("===o&&n++,")"===o&&(n--,n<0))break;t++}return t}function isPreviousNodeValid(e,t){const n=Editor.previous(e,{at:t});return!n||isText(n[0])&&(endsWithSeparator(n[0].text)||""===n[0].text)}function isNextNodeValid(e,t){const n=Editor.next(e,{at:t});return!n||isText(n[0])&&(startsWithSeparator(n[0].text)||""===n[0].text)}function isContentAroundValid(e,t,n,o){const[r,a]=t,i=r.text,s=i[n-1],l=n>0&&s?isSeparator(s):isPreviousNodeValid(e,a),c=i[o],d=o<i.length&&c?isSeparator(c):isNextNodeValid(e,a);return l&&d}const handleLinkEdit=(e,t)=>{const[n,o]=t,r=Node$1.children(e,o);for(const[t]of r)if(!isText(t))return void Transforms.unwrapNodes(e,{at:o});const a=Node$1.string(n),i=URL_REGEX.exec(a),s=i?.[0];if(!i||s!==a)return void Transforms.unwrapNodes(e,{at:o});if(endsWithPeriodOrQuestionMark(a)){Transforms.unwrapNodes(e,{at:o});const t=a.slice(0,a.length-1);return void Transforms.wrapNodes(e,{type:"auto-link",url:t,children:[]},{at:{anchor:{path:o,offset:0},focus:{path:o,offset:t.length}},split:!0})}const l=getUrlLogicalLength(a);if(l<a.length){Transforms.unwrapNodes(e,{at:o});const t=a.slice(0,l);return void Transforms.wrapNodes(e,{type:"auto-link",url:t,children:[]},{at:{anchor:{path:o,offset:0},focus:{path:o,offset:t.length}},split:!0})}isPreviousNodeValid(e,o)&&isNextNodeValid(e,o)?n.url===a||Transforms.setNodes(e,{url:s},{at:o}):Transforms.unwrapNodes(e,{at:o})},handleLinkCreate=(e,t)=>{const[n,o]=t,r=URL_REGEX.exec(n.text),a=r?.[0];if(!r||void 0===a)return;const i=r.index,s=i+a.length;isContentAroundValid(e,t,i,s)&&Transforms.wrapNodes(e,{type:"auto-link",url:a,children:[]},{at:{anchor:{path:o,offset:i},focus:{path:o,offset:s}},split:!0})},handleNeighbours=(e,t)=>{const[n,o]=t,r=n.text,a=Editor.previous(e,{at:o});if(a&&isComposerBodyAutoLink(a[0])){if(PERIOD_OR_QUESTION_MARK_FOLLOWED_BY_ALPHANUMERIC.test(r))return Transforms.unwrapNodes(e,{at:a[1]}),void Transforms.mergeNodes(e,{at:o});if(!startsWithSeparator(r))return void Transforms.unwrapNodes(e,{at:a[1]})}const i=Editor.next(e,{at:o});i&&isComposerBodyAutoLink(i[0])&&!endsWithSeparator(r)&&Transforms.unwrapNodes(e,{at:i[1]})};function isEmpty(e,t){for(const n of t)if(isText(n)){if(!isEmptyString(n.text))return!1}else if("paragraph"===n.type){if(n.children.length>1||n.children[0]&&(!isText(n.children[0])||!isEmptyString(n.children[0].text)))return!1}else if(!Editor.isEmpty(e,n))return!1;return!0}function withEmptyClearFormatting(e){const{onChange:t}=e;return e.onChange=n=>{isEmpty(e,e.children)&&removeMarks(e),t(n)},e}function withNormalize(e){const{normalizeNode:t}=e;return e.normalizeNode=n=>{const[o,r]=n;if(Element$2.isElement(o)&&"paragraph"===o.type)for(const[t,n]of Node$1.children(e,r))if(Element$2.isElement(t)&&!e.isInline(t))return void Transforms.unwrapNodes(e,{at:n});!Element$2.isElement(o)||"auto-link"!==o.type&&"custom-link"!==o.type||(0===o.children.length||1===o.children.length&&""===o.children[0]?.text)&&Transforms.removeNodes(e,{at:r}),t(n)},e}function _typeof$1(e){return _typeof$1="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$1(e)}function _toPrimitive(e,t){if("object"!==_typeof$1(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==_typeof$1(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"===_typeof$1(t)?t:String(t)}function _defineProperty$1(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ANCHOR=new WeakMap,FOCUS=new WeakMap;class Token{}class AnchorToken extends Token{constructor(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),_defineProperty$1(this,"offset",void 0),_defineProperty$1(this,"path",void 0);var{offset:t,path:n}=e;this.offset=t,this.path=n}}class FocusToken extends Token{constructor(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),_defineProperty$1(this,"offset",void 0),_defineProperty$1(this,"path",void 0);var{offset:t,path:n}=e;this.offset=t,this.path=n}}var addAnchorToken=(e,t)=>{var n=e.text.length;ANCHOR.set(e,[n,t])},getAnchorOffset=e=>ANCHOR.get(e),addFocusToken=(e,t)=>{var n=e.text.length;FOCUS.set(e,[n,t])},getFocusOffset=e=>FOCUS.get(e);function ownKeys$1$2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$1$2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$1$2(Object(n),!0).forEach(function(t){_defineProperty$1(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$1$2(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var STRINGS=new WeakSet,resolveDescendants=e=>{var t=[],n=e=>{if(null!=e){var o=t[t.length-1];if("string"==typeof e){var r={text:e};STRINGS.add(r),e=r}if(Text$1.isText(e)){var a=e;Text$1.isText(o)&&STRINGS.has(o)&&STRINGS.has(a)&&Text$1.equals(o,a,{loose:!0})?o.text+=a.text:t.push(a)}else if(Element$2.isElement(e))t.push(e);else{if(!(e instanceof Token))throw new Error("Unexpected hyperscript child object: ".concat(e));var i=t[t.length-1];Text$1.isText(i)||(n(""),i=t[t.length-1]),e instanceof AnchorToken?addAnchorToken(i,e):e instanceof FocusToken&&addFocusToken(i,e)}}};for(var o of e.flat(1/0))n(o);return t};function createAnchor(e,t,n){return new AnchorToken(t)}function createCursor(e,t,n){return[new AnchorToken(t),new FocusToken(t)]}function createElement(e,t,n){return _objectSpread$1$2(_objectSpread$1$2({},t),{},{children:resolveDescendants(n)})}function createFocus(e,t,n){return new FocusToken(t)}function createFragment(e,t,n){return resolveDescendants(n)}function createSelection(e,t,n){var o=n.find(e=>e instanceof AnchorToken),r=n.find(e=>e instanceof FocusToken);if(!o||null==o.offset||null==o.path)throw new Error("The <selection> hyperscript tag must have an <anchor> tag as a child with `path` and `offset` attributes defined.");if(!r||null==r.offset||null==r.path)throw new Error("The <selection> hyperscript tag must have a <focus> tag as a child with `path` and `offset` attributes defined.");return _objectSpread$1$2({anchor:{offset:o.offset,path:o.path},focus:{offset:r.offset,path:r.path}},t)}function createText(e,t,n){var o=resolveDescendants(n);if(o.length>1)throw new Error("The <text> hyperscript tag must only contain a single node's worth of children.");var[r]=o;if(null==r&&(r={text:""}),!Text$1.isText(r))throw new Error("\n The <text> hyperscript tag can only contain text content as children.");return STRINGS.delete(r),Object.assign(r,t),r}var createEditor=e=>(t,n,o)=>{var r,a=[];for(var i of o)Range.isRange(i)?r=i:a.push(i);var s=resolveDescendants(a),l={},c=e();for(var[d,u]of(Object.assign(c,n),c.children=s,Node$1.texts(c))){var f=getAnchorOffset(d),p=getFocusOffset(d);if(null!=f){var[_]=f;l.anchor={path:u,offset:_}}if(null!=p){var[m]=p;l.focus={path:u,offset:m}}}if(l.anchor&&!l.focus)throw new Error("Slate hyperscript ranges must have both `<anchor />` and `<focus />` defined if one is defined, but you only defined `<anchor />`. For collapsed selections, use `<cursor />` instead.");if(!l.anchor&&l.focus)throw new Error("Slate hyperscript ranges must have both `<anchor />` and `<focus />` defined if one is defined, but you only defined `<focus />`. For collapsed selections, use `<cursor />` instead.");return null!=r?c.selection=r:Range.isRange(l)&&(c.selection=l),c};function ownKeys$8(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$8(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$8(Object(n),!0).forEach(function(t){_defineProperty$1(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$8(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var DEFAULT_CREATORS={anchor:createAnchor,cursor:createCursor,editor:createEditor(createEditor$1),element:createElement,focus:createFocus,fragment:createFragment,selection:createSelection,text:createText},createHyperscript=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{elements:t={}}=e,n=normalizeElements(t),o=_objectSpread$8(_objectSpread$8(_objectSpread$8({},DEFAULT_CREATORS),n),e.creators);return createFactory(o)},createFactory=e=>function(t,n){for(var o=arguments.length,r=new Array(o>2?o-2:0),a=2;a<o;a++)r[a-2]=arguments[a];var i=e[t];if(!i)throw new Error("No hyperscript creator found for tag: <".concat(t,">"));return null==n&&(n={}),isPlainObject$1(n)||(r=[n].concat(r),n={}),i(t,n,r=r.filter(e=>Boolean(e)).flat())},normalizeElements=e=>{var t={},n=function(){var n=e[o];if("object"!=typeof n)throw new Error("Properties specified for a hyperscript shorthand should be an object, but for the custom element <".concat(o,"> tag you passed: ").concat(n));t[o]=(e,t,o)=>createElement("element",_objectSpread$8(_objectSpread$8({},n),t),o)};for(var o in e)n();return t},jsx=createHyperscript();function exists(e){return null!=e}function getFiles(e){if(!e.types.includes("Files"))return[];let t=Array.from(e.items).map(e=>{const t=e.webkitGetAsEntry();return t&&t.isFile?e.getAsFile():null}).filter(exists);return t.length||(t=Array.from(e.files).filter(e=>""!==e.type)),t}function areUrlsEqual(e,t){try{const n=new URL(e),o=new URL(t);return n.origin===o.origin&&n.pathname===o.pathname}catch{return!1}}const createParagraphElement=()=>({type:"paragraph"}),ELEMENT_TAGS={A:e=>{const t=e.getAttribute("href"),n=e.innerText;return{type:t&&areUrlsEqual(t,n)?"auto-link":"custom-link",url:t??""}},P:createParagraphElement,BLOCKQUOTE:createParagraphElement,H1:createParagraphElement,H2:createParagraphElement,H3:createParagraphElement,H4:createParagraphElement,H5:createParagraphElement,H6:createParagraphElement,LI:createParagraphElement},TEXT_TAGS={CODE:()=>({code:!0}),DEL:()=>({strikethrough:!0}),EM:()=>({italic:!0}),I:()=>({italic:!0}),S:()=>({strikethrough:!0}),STRONG:()=>({bold:!0}),B:()=>({bold:!0})};function flattenListItems(e){const t=[];return"LI"===e.nodeName&&t.push(e),e.childNodes.forEach(e=>{1===e.nodeType&&t.push(...flattenListItems(e))}),t}function jsxTextChildren(e,t){return e.map(e=>jsx("text",t,e))}function deserialize(e){if(3===e.nodeType)return e.textContent;if(1!==e.nodeType)return null;if("BR"===e.nodeName)return jsx("element",createParagraphElement(),[]);let t=Array.from(e.childNodes).map(deserialize).flat();if("UL"===e.nodeName||"OL"===e.nodeName){t=flattenListItems(e).map(e=>deserialize(e)).flat()}if(0===t.length&&(t=[{text:""}]),"BODY"===e.nodeName)return t.length>0&&t.every(e=>"string"==typeof e)&&(t=[{type:"paragraph",children:[{text:t.join("")}]}]),jsx("fragment",{},t.filter(e=>"string"!=typeof e));if(ELEMENT_TAGS[e.nodeName]){const n=ELEMENT_TAGS[e.nodeName](e);return jsx("element",n,t)}if(TEXT_TAGS[e.nodeName]){const n=TEXT_TAGS[e.nodeName](e);return t.some(e=>e&&"string"!=typeof e&&"type"in e)?jsx("fragment",{},t):jsxTextChildren(t,n)}if("SPAN"===e.nodeName){const n=e.style,o={};return"bold"!==n.fontWeight&&"700"!==n.fontWeight&&"800"!==n.fontWeight&&"900"!==n.fontWeight||(o.bold=!0),"italic"===n.fontStyle&&(o.italic=!0),"line-through"===n.textDecoration&&(o.strikethrough=!0),jsxTextChildren(t,o)}return t}function withPaste(e,{createAttachments:t,pasteFilesAsAttachments:n}){const{insertData:o}=e;return e.insertData=r=>{if(r.types.includes("Files")&&n){const e=getFiles(r);if(e.length>0)return void t(e)}if(r.types.includes("text/html")&&!r.types.includes("application/x-slate-fragment")){const t=r.getData("text/html");try{const{body:n}=(new DOMParser).parseFromString(t,"text/html");if(n.querySelector("br.Apple-interchange-newline")?.remove(),1===n.children.length&&"B"===n.children[0]?.nodeName){const e=n.children[0];for(;e.firstChild;)n.insertBefore(e.firstChild,e);n.removeChild(e)}const o=deserialize(n);if(null!==o&&Array.isArray(o))return void Transforms.insertFragment(e,o)}catch{}}o(r)},e}function getDOMRange(e,t){try{return ReactEditor.toDOMRange(e,t)}catch(n){return getDOMRange(e,{anchor:t.anchor,focus:t.anchor})}}const APPLE_REGEX=/Mac|iPod|iPhone|iPad/;function isApple(){return"undefined"!=typeof window&&APPLE_REGEX.test(window.navigator.platform)}const MODIFIERS={alt:()=>"altKey",ctrl:()=>"ctrlKey",meta:()=>"metaKey",mod:()=>isApple()?"metaKey":"ctrlKey",shift:()=>"shiftKey"};function isKey(e,t,n={}){if(e.key!==t)return!1;return Object.entries(n).filter(([,e])=>"boolean"==typeof e).every(([t,n])=>{const o=MODIFIERS[t]();return e[o]===n})}const useReactFlushSync=ReactDOM__default.default["flushSync".toString()];function flushSyncFallback(e){return e()}const flushSync=useReactFlushSync??flushSyncFallback,PersistContext=React.createContext(null);function usePersist(){return nn(React.useContext(PersistContext),"Persist is missing from the React tree.")}function getChild(e){const t=Array.isArray(e)?React.Children.only(e):e;return React.isValidElement(t)?t:void 0}function useAnimationPersist(e){const[t,n]=usePersist(),o=React.useRef(null),r=React.useRef(null);React.useLayoutEffect(()=>{const t=e.current;if(!t)return;const a=e=>{e.animationName===r.current&&n(),o.current=e.animationName};return t.addEventListener("animationcancel",a),t.addEventListener("animationend",a),()=>{t.removeEventListener("animationcancel",a),t.removeEventListener("animationend",a)}},[e,n]),React.useLayoutEffect(()=>{const a=e.current;let i;if(a)return t||(i=requestAnimationFrame(()=>{const e=getComputedStyle(a);r.current=e.animationName,"none"!==e.animationName&&e.animationName!==o.current&&"none"!==e.display||n()})),()=>{cancelAnimationFrame(i)}},[t,e,n])}function Persist({children:e}){const[t,n]=React.useState(!0),o=React.useRef(null),r=getChild(e),a=React.useCallback(()=>{flushSync(()=>n(!1))},[]);return React.useLayoutEffect(()=>{r&&(n(!0),o.current=r)},[r]),jsxRuntime.exports.jsx(PersistContext.Provider,{value:[Boolean(r),a],children:r??(t?o.current:null)})}const Portal$4=React.forwardRef(({container:e=document?.body,asChild:t,...n},o)=>{const r=t?Slot$2:"div";return e?ReactDOM.createPortal(jsxRuntime.exports.jsx(r,{"data-liveblocks-portal":"",...n,ref:o}),e):null});function requestSubmit(e,t){if("function"==typeof e.requestSubmit)return e.requestSubmit(t);t?t.click():((t=document.createElement("input")).type="submit",t.hidden=!0,e.appendChild(t),t.click(),e.removeChild(t))}function clamp$1(e,t,n){return Math.min(Math.max(e,t),n)}function wrap(e,t,n){const o=n-t;return o>0?((e-t)%o+o)%o+t:0}const defaultOptions$1={wrap:!0};function useIndex(e,t,n){const{wrap:o}=React.useMemo(()=>({...defaultOptions$1,...n}),[n]),r=React.useMemo(()=>o?wrap:clamp$1,[o]),[a,i]=React.useState(e);React.useEffect(()=>{i(e=>clamp$1(e,0,Math.max(t-1,0)))},[t]);return[a,React.useCallback(()=>{i(e=>r(e-1,0,Math.max(t,0)))},[t,r]),React.useCallback(()=>{i(e=>r(e+1,0,Math.max(t,0)))},[t,r]),i]}function useInitial(e){const[t]=React.useState(e);return t}function useLatest(e){const t=React.useRef(e);return React.useEffect(()=>{t.current=e},[e]),t}function useObservable(e,t){const n=useLatest(t);React.useEffect(()=>e.subscribe(()=>n.current()),[e,n])}function applyRef(e,t){t&&("function"==typeof e?e(t):e&&"current"in e&&(e.current=t))}function mergeRefs(e,...t){for(const n of t)applyRef(n,e)}function useRefs(...e){return React.useCallback(t=>mergeRefs(t,...e),[e])}const ComposerContext=React.createContext(null),ComposerEditorContext=React.createContext(null),ComposerAttachmentsContext=React.createContext(null),ComposerSuggestionsContext=React.createContext(null),ComposerFloatingToolbarContext=React.createContext(null);function useComposerEditorContext(){return nn(React.useContext(ComposerEditorContext),"Composer.Form is missing from the React tree.")}function useComposerAttachmentsContextOrNull(){return React.useContext(ComposerAttachmentsContext)}function useComposerAttachmentsContext(){return nn(useComposerAttachmentsContextOrNull(),"Composer.Form is missing from the React tree.")}function useComposerSuggestionsContext(e="useComposerSuggestionsContext"){return nn(React.useContext(ComposerSuggestionsContext),`${e} can’t be used outside of Composer.Editor.`)}function useComposerFloatingToolbarContext(e="useComposerFloatingToolbarContext"){return nn(React.useContext(ComposerFloatingToolbarContext),`${e} can’t be used outside of Composer.Editor.`)}function useComposer(){return nn(React.useContext(ComposerContext),"Composer.Form is missing from the React tree.")}const sides=["top","right","bottom","left"],alignments=["start","end"],placements=sides.reduce((e,t)=>e.concat(t,t+"-"+alignments[0],t+"-"+alignments[1]),[]),min=Math.min,max=Math.max,round=Math.round,floor=Math.floor,createCoords=e=>({x:e,y:e}),oppositeSideMap={left:"right",right:"left",bottom:"top",top:"bottom"},oppositeAlignmentMap={start:"end",end:"start"};function clamp(e,t,n){return max(e,min(t,n))}function evaluate(e,t){return"function"==typeof e?e(t):e}function getSide(e){return e.split("-")[0]}function getAlignment(e){return e.split("-")[1]}function getOppositeAxis(e){return"x"===e?"y":"x"}function getAxisLength(e){return"y"===e?"height":"width"}const yAxisSides=new Set(["top","bottom"]);function getSideAxis(e){return yAxisSides.has(getSide(e))?"y":"x"}function getAlignmentAxis(e){return getOppositeAxis(getSideAxis(e))}function getAlignmentSides(e,t,n){void 0===n&&(n=!1);const o=getAlignment(e),r=getAlignmentAxis(e),a=getAxisLength(r);let i="x"===r?o===(n?"end":"start")?"right":"left":"start"===o?"bottom":"top";return t.reference[a]>t.floating[a]&&(i=getOppositePlacement(i)),[i,getOppositePlacement(i)]}function getExpandedPlacements(e){const t=getOppositePlacement(e);return[getOppositeAlignmentPlacement(e),t,getOppositeAlignmentPlacement(t)]}function getOppositeAlignmentPlacement(e){return e.replace(/start|end/g,e=>oppositeAlignmentMap[e])}const lrPlacement=["left","right"],rlPlacement=["right","left"],tbPlacement=["top","bottom"],btPlacement=["bottom","top"];function getSideList(e,t,n){switch(e){case"top":case"bottom":return n?t?rlPlacement:lrPlacement:t?lrPlacement:rlPlacement;case"left":case"right":return t?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(e,t,n,o){const r=getAlignment(e);let a=getSideList(getSide(e),"start"===n,o);return r&&(a=a.map(e=>e+"-"+r),t&&(a=a.concat(a.map(getOppositeAlignmentPlacement)))),a}function getOppositePlacement(e){return e.replace(/left|right|bottom|top/g,e=>oppositeSideMap[e])}function expandPaddingObject(e){return{top:0,right:0,bottom:0,left:0,...e}}function getPaddingObject(e){return"number"!=typeof e?expandPaddingObject(e):{top:e,right:e,bottom:e,left:e}}function rectToClientRect(e){const{x:t,y:n,width:o,height:r}=e;return{width:o,height:r,top:n,left:t,right:t+o,bottom:n+r,x:t,y:n}}function computeCoordsFromPlacement(e,t,n){let{reference:o,floating:r}=e;const a=getSideAxis(t),i=getAlignmentAxis(t),s=getAxisLength(i),l=getSide(t),c="y"===a,d=o.x+o.width/2-r.width/2,u=o.y+o.height/2-r.height/2,f=o[s]/2-r[s]/2;let p;switch(l){case"top":p={x:d,y:o.y-r.height};break;case"bottom":p={x:d,y:o.y+o.height};break;case"right":p={x:o.x+o.width,y:u};break;case"left":p={x:o.x-r.width,y:u};break;default:p={x:o.x,y:o.y}}switch(getAlignment(t)){case"start":p[i]-=f*(n&&c?-1:1);break;case"end":p[i]+=f*(n&&c?-1:1)}return p}const computePosition$1=async(e,t,n)=>{const{placement:o="bottom",strategy:r="absolute",middleware:a=[],platform:i}=n,s=a.filter(Boolean),l=await(null==i.isRTL?void 0:i.isRTL(t));let c=await i.getElementRects({reference:e,floating:t,strategy:r}),{x:d,y:u}=computeCoordsFromPlacement(c,o,l),f=o,p={},_=0;for(let n=0;n<s.length;n++){const{name:a,fn:m}=s[n],{x:h,y:g,data:b,reset:v}=await m({x:d,y:u,initialPlacement:o,placement:f,strategy:r,middlewareData:p,rects:c,platform:i,elements:{reference:e,floating:t}});d=null!=h?h:d,u=null!=g?g:u,p={...p,[a]:{...p[a],...b}},v&&_<=50&&(_++,"object"==typeof v&&(v.placement&&(f=v.placement),v.rects&&(c=!0===v.rects?await i.getElementRects({reference:e,floating:t,strategy:r}):v.rects),({x:d,y:u}=computeCoordsFromPlacement(c,f,l))),n=-1)}return{x:d,y:u,placement:f,strategy:r,middlewareData:p}};async function detectOverflow(e,t){var n;void 0===t&&(t={});const{x:o,y:r,platform:a,rects:i,elements:s,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:f=!1,padding:p=0}=evaluate(t,e),_=getPaddingObject(p),m=s[f?"floating"===u?"reference":"floating":u],h=rectToClientRect(await a.getClippingRect({element:null==(n=await(null==a.isElement?void 0:a.isElement(m)))||n?m:m.contextElement||await(null==a.getDocumentElement?void 0:a.getDocumentElement(s.floating)),boundary:c,rootBoundary:d,strategy:l})),g="floating"===u?{x:o,y:r,width:i.floating.width,height:i.floating.height}:i.reference,b=await(null==a.getOffsetParent?void 0:a.getOffsetParent(s.floating)),v=await(null==a.isElement?void 0:a.isElement(b))&&await(null==a.getScale?void 0:a.getScale(b))||{x:1,y:1},y=rectToClientRect(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:g,offsetParent:b,strategy:l}):g);return{top:(h.top-y.top+_.top)/v.y,bottom:(y.bottom-h.bottom+_.bottom)/v.y,left:(h.left-y.left+_.left)/v.x,right:(y.right-h.right+_.right)/v.x}}const arrow$3=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:r,rects:a,platform:i,elements:s,middlewareData:l}=t,{element:c,padding:d=0}=evaluate(e,t)||{};if(null==c)return{};const u=getPaddingObject(d),f={x:n,y:o},p=getAlignmentAxis(r),_=getAxisLength(p),m=await i.getDimensions(c),h="y"===p,g=h?"top":"left",b=h?"bottom":"right",v=h?"clientHeight":"clientWidth",y=a.reference[_]+a.reference[p]-f[p]-a.floating[_],E=f[p]-a.reference[p],w=await(null==i.getOffsetParent?void 0:i.getOffsetParent(c));let C=w?w[v]:0;C&&await(null==i.isElement?void 0:i.isElement(w))||(C=s.floating[v]||a.floating[_]);const x=y/2-E/2,R=C/2-m[_]/2-1,S=min(u[g],R),D=min(u[b],R),T=S,O=C-m[_]-D,A=C/2-m[_]/2+x,I=clamp(T,A,O),k=!l.arrow&&null!=getAlignment(r)&&A!==I&&a.reference[_]/2-(A<T?S:D)-m[_]/2<0,N=k?A<T?A-T:A-O:0;return{[p]:f[p]+N,data:{[p]:I,centerOffset:A-I-N,...k&&{alignmentOffset:N}},reset:k}}});function getPlacementList(e,t,n){return(e?[...n.filter(t=>getAlignment(t)===e),...n.filter(t=>getAlignment(t)!==e)]:n.filter(e=>getSide(e)===e)).filter(n=>!e||(getAlignment(n)===e||!!t&&getOppositeAlignmentPlacement(n)!==n))}const autoPlacement=function(e){return void 0===e&&(e={}),{name:"autoPlacement",options:e,async fn(t){var n,o,r;const{rects:a,middlewareData:i,placement:s,platform:l,elements:c}=t,{crossAxis:d=!1,alignment:u,allowedPlacements:f=placements,autoAlignment:p=!0,..._}=evaluate(e,t),m=void 0!==u||f===placements?getPlacementList(u||null,p,f):f,h=await detectOverflow(t,_),g=(null==(n=i.autoPlacement)?void 0:n.index)||0,b=m[g];if(null==b)return{};const v=getAlignmentSides(b,a,await(null==l.isRTL?void 0:l.isRTL(c.floating)));if(s!==b)return{reset:{placement:m[0]}};const y=[h[getSide(b)],h[v[0]],h[v[1]]],E=[...(null==(o=i.autoPlacement)?void 0:o.overflows)||[],{placement:b,overflows:y}],w=m[g+1];if(w)return{data:{index:g+1,overflows:E},reset:{placement:w}};const C=E.map(e=>{const t=getAlignment(e.placement);return[e.placement,t&&d?e.overflows.slice(0,2).reduce((e,t)=>e+t,0):e.overflows[0],e.overflows]}).sort((e,t)=>e[1]-t[1]),x=(null==(r=C.filter(e=>e[2].slice(0,getAlignment(e[0])?2:3).every(e=>e<=0))[0])?void 0:r[0])||C[0][0];return x!==s?{data:{index:g+1,overflows:E},reset:{placement:x}}:{}}}},flip$2=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,o;const{placement:r,middlewareData:a,rects:i,initialPlacement:s,platform:l,elements:c}=t,{mainAxis:d=!0,crossAxis:u=!0,fallbackPlacements:f,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:_="none",flipAlignment:m=!0,...h}=evaluate(e,t);if(null!=(n=a.arrow)&&n.alignmentOffset)return{};const g=getSide(r),b=getSideAxis(s),v=getSide(s)===s,y=await(null==l.isRTL?void 0:l.isRTL(c.floating)),E=f||(v||!m?[getOppositePlacement(s)]:getExpandedPlacements(s)),w="none"!==_;!f&&w&&E.push(...getOppositeAxisPlacements(s,m,_,y));const C=[s,...E],x=await detectOverflow(t,h),R=[];let S=(null==(o=a.flip)?void 0:o.overflows)||[];if(d&&R.push(x[g]),u){const e=getAlignmentSides(r,i,y);R.push(x[e[0]],x[e[1]])}if(S=[...S,{placement:r,overflows:R}],!R.every(e=>e<=0)){var D,T;const e=((null==(D=a.flip)?void 0:D.index)||0)+1,t=C[e];if(t){if(!("alignment"===u&&b!==getSideAxis(t))||S.every(e=>getSideAxis(e.placement)!==b||e.overflows[0]>0))return{data:{index:e,overflows:S},reset:{placement:t}}}let n=null==(T=S.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:T.placement;if(!n)switch(p){case"bestFit":{var O;const e=null==(O=S.filter(e=>{if(w){const t=getSideAxis(e.placement);return t===b||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:O[0];e&&(n=e);break}case"initialPlacement":n=s}if(r!==n)return{reset:{placement:n}}}return{}}}};function getSideOffsets(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function isAnySideFullyClipped(e){return sides.some(t=>e[t]>=0)}const hide$2=function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:o="referenceHidden",...r}=evaluate(e,t);switch(o){case"referenceHidden":{const e=getSideOffsets(await detectOverflow(t,{...r,elementContext:"reference"}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:isAnySideFullyClipped(e)}}}case"escaped":{const e=getSideOffsets(await detectOverflow(t,{...r,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:isAnySideFullyClipped(e)}}}default:return{}}}}};function getBoundingRect(e){const t=min(...e.map(e=>e.left)),n=min(...e.map(e=>e.top));return{x:t,y:n,width:max(...e.map(e=>e.right))-t,height:max(...e.map(e=>e.bottom))-n}}function getRectsByLine(e){const t=e.slice().sort((e,t)=>e.y-t.y),n=[];let o=null;for(let e=0;e<t.length;e++){const r=t[e];!o||r.y-o.y>o.height/2?n.push([r]):n[n.length-1].push(r),o=r}return n.map(e=>rectToClientRect(getBoundingRect(e)))}const inline$2=function(e){return void 0===e&&(e={}),{name:"inline",options:e,async fn(t){const{placement:n,elements:o,rects:r,platform:a,strategy:i}=t,{padding:s=2,x:l,y:c}=evaluate(e,t),d=Array.from(await(null==a.getClientRects?void 0:a.getClientRects(o.reference))||[]),u=getRectsByLine(d),f=rectToClientRect(getBoundingRect(d)),p=getPaddingObject(s);const _=await a.getElementRects({reference:{getBoundingClientRect:function(){if(2===u.length&&u[0].left>u[1].right&&null!=l&&null!=c)return u.find(e=>l>e.left-p.left&&l<e.right+p.right&&c>e.top-p.top&&c<e.bottom+p.bottom)||f;if(u.length>=2){if("y"===getSideAxis(n)){const e=u[0],t=u[u.length-1],o="top"===getSide(n),r=e.top,a=t.bottom,i=o?e.left:t.left,s=o?e.right:t.right;return{top:r,bottom:a,left:i,right:s,width:s-i,height:a-r,x:i,y:r}}const e="left"===getSide(n),t=max(...u.map(e=>e.right)),o=min(...u.map(e=>e.left)),r=u.filter(n=>e?n.left===o:n.right===t),a=r[0].top,i=r[r.length-1].bottom;return{top:a,bottom:i,left:o,right:t,width:t-o,height:i-a,x:o,y:a}}return f}},floating:o.floating,strategy:i});return r.reference.x!==_.reference.x||r.reference.y!==_.reference.y||r.reference.width!==_.reference.width||r.reference.height!==_.reference.height?{reset:{rects:_}}:{}}}},originSides=new Set(["left","top"]);async function convertValueToCoords(e,t){const{placement:n,platform:o,elements:r}=e,a=await(null==o.isRTL?void 0:o.isRTL(r.floating)),i=getSide(n),s=getAlignment(n),l="y"===getSideAxis(n),c=originSides.has(i)?-1:1,d=a&&l?-1:1,u=evaluate(t,e);let{mainAxis:f,crossAxis:p,alignmentAxis:_}="number"==typeof u?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return s&&"number"==typeof _&&(p="end"===s?-1*_:_),l?{x:p*d,y:f*c}:{x:f*c,y:p*d}}const offset$2=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:r,y:a,placement:i,middlewareData:s}=t,l=await convertValueToCoords(t,e);return i===(null==(n=s.offset)?void 0:n.placement)&&null!=(o=s.arrow)&&o.alignmentOffset?{}:{x:r+l.x,y:a+l.y,data:{...l,placement:i}}}}},shift$2=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:r}=t,{mainAxis:a=!0,crossAxis:i=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=evaluate(e,t),c={x:n,y:o},d=await detectOverflow(t,l),u=getSideAxis(getSide(r)),f=getOppositeAxis(u);let p=c[f],_=c[u];if(a){const e="y"===f?"bottom":"right";p=clamp(p+d["y"===f?"top":"left"],p,p-d[e])}if(i){const e="y"===u?"bottom":"right";_=clamp(_+d["y"===u?"top":"left"],_,_-d[e])}const m=s.fn({...t,[f]:p,[u]:_});return{...m,data:{x:m.x-n,y:m.y-o,enabled:{[f]:a,[u]:i}}}}}},limitShift$2=function(e){return void 0===e&&(e={}),{options:e,fn(t){const{x:n,y:o,placement:r,rects:a,middlewareData:i}=t,{offset:s=0,mainAxis:l=!0,crossAxis:c=!0}=evaluate(e,t),d={x:n,y:o},u=getSideAxis(r),f=getOppositeAxis(u);let p=d[f],_=d[u];const m=evaluate(s,t),h="number"==typeof m?{mainAxis:m,crossAxis:0}:{mainAxis:0,crossAxis:0,...m};if(l){const e="y"===f?"height":"width",t=a.reference[f]-a.floating[e]+h.mainAxis,n=a.reference[f]+a.reference[e]-h.mainAxis;p<t?p=t:p>n&&(p=n)}if(c){var g,b;const e="y"===f?"width":"height",t=originSides.has(getSide(r)),n=a.reference[u]-a.floating[e]+(t&&(null==(g=i.offset)?void 0:g[u])||0)+(t?0:h.crossAxis),o=a.reference[u]+a.reference[e]+(t?0:(null==(b=i.offset)?void 0:b[u])||0)-(t?h.crossAxis:0);_<n?_=n:_>o&&(_=o)}return{[f]:p,[u]:_}}}},size$2=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var n,o;const{placement:r,rects:a,platform:i,elements:s}=t,{apply:l=()=>{},...c}=evaluate(e,t),d=await detectOverflow(t,c),u=getSide(r),f=getAlignment(r),p="y"===getSideAxis(r),{width:_,height:m}=a.floating;let h,g;"top"===u||"bottom"===u?(h=u,g=f===(await(null==i.isRTL?void 0:i.isRTL(s.floating))?"start":"end")?"left":"right"):(g=u,h="end"===f?"top":"bottom");const b=m-d.top-d.bottom,v=_-d.left-d.right,y=min(m-d[h],b),E=min(_-d[g],v),w=!t.middlewareData.shift;let C=y,x=E;if(null!=(n=t.middlewareData.shift)&&n.enabled.x&&(x=v),null!=(o=t.middlewareData.shift)&&o.enabled.y&&(C=b),w&&!f){const e=max(d.left,0),t=max(d.right,0),n=max(d.top,0),o=max(d.bottom,0);p?x=_-2*(0!==e||0!==t?e+t:max(d.left,d.right)):C=m-2*(0!==n||0!==o?n+o:max(d.top,d.bottom))}await l({...t,availableWidth:x,availableHeight:C});const R=await i.getDimensions(s.floating);return _!==R.width||m!==R.height?{reset:{rects:!0}}:{}}}};function hasWindow(){return"undefined"!=typeof window}function getNodeName(e){return isNode(e)?(e.nodeName||"").toLowerCase():"#document"}function getWindow(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function getDocumentElement(e){var t;return null==(t=(isNode(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function isNode(e){return!!hasWindow()&&(e instanceof Node||e instanceof getWindow(e).Node)}function isElement(e){return!!hasWindow()&&(e instanceof Element||e instanceof getWindow(e).Element)}function isHTMLElement(e){return!!hasWindow()&&(e instanceof HTMLElement||e instanceof getWindow(e).HTMLElement)}function isShadowRoot(e){return!(!hasWindow()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof getWindow(e).ShadowRoot)}const invalidOverflowDisplayValues=new Set(["inline","contents"]);function isOverflowElement(e){const{overflow:t,overflowX:n,overflowY:o,display:r}=getComputedStyle$1(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!invalidOverflowDisplayValues.has(r)}const tableElements=new Set(["table","td","th"]);function isTableElement(e){return tableElements.has(getNodeName(e))}const topLayerSelectors=[":popover-open",":modal"];function isTopLayer(e){return topLayerSelectors.some(t=>{try{return e.matches(t)}catch(e){return!1}})}const transformProperties=["transform","translate","scale","rotate","perspective"],willChangeValues=["transform","translate","scale","rotate","perspective","filter"],containValues=["paint","layout","strict","content"];function isContainingBlock(e){const t=isWebKit(),n=isElement(e)?getComputedStyle$1(e):e;return transformProperties.some(e=>!!n[e]&&"none"!==n[e])||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||willChangeValues.some(e=>(n.willChange||"").includes(e))||containValues.some(e=>(n.contain||"").includes(e))}function getContainingBlock(e){let t=getParentNode(e);for(;isHTMLElement(t)&&!isLastTraversableNode(t);){if(isContainingBlock(t))return t;if(isTopLayer(t))return null;t=getParentNode(t)}return null}function isWebKit(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}const lastTraversableNodeNames=new Set(["html","body","#document"]);function isLastTraversableNode(e){return lastTraversableNodeNames.has(getNodeName(e))}function getComputedStyle$1(e){return getWindow(e).getComputedStyle(e)}function getNodeScroll(e){return isElement(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function getParentNode(e){if("html"===getNodeName(e))return e;const t=e.assignedSlot||e.parentNode||isShadowRoot(e)&&e.host||getDocumentElement(e);return isShadowRoot(t)?t.host:t}function getNearestOverflowAncestor(e){const t=getParentNode(e);return isLastTraversableNode(t)?e.ownerDocument?e.ownerDocument.body:e.body:isHTMLElement(t)&&isOverflowElement(t)?t:getNearestOverflowAncestor(t)}function getOverflowAncestors(e,t,n){var o;void 0===t&&(t=[]),void 0===n&&(n=!0);const r=getNearestOverflowAncestor(e),a=r===(null==(o=e.ownerDocument)?void 0:o.body),i=getWindow(r);if(a){const e=getFrameElement(i);return t.concat(i,i.visualViewport||[],isOverflowElement(r)?r:[],e&&n?getOverflowAncestors(e):[])}return t.concat(r,getOverflowAncestors(r,[],n))}function getFrameElement(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function getCssDimensions(e){const t=getComputedStyle$1(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const r=isHTMLElement(e),a=r?e.offsetWidth:n,i=r?e.offsetHeight:o,s=round(n)!==a||round(o)!==i;return s&&(n=a,o=i),{width:n,height:o,$:s}}function unwrapElement(e){return isElement(e)?e:e.contextElement}function getScale(e){const t=unwrapElement(e);if(!isHTMLElement(t))return createCoords(1);const n=t.getBoundingClientRect(),{width:o,height:r,$:a}=getCssDimensions(t);let i=(a?round(n.width):n.width)/o,s=(a?round(n.height):n.height)/r;return i&&Number.isFinite(i)||(i=1),s&&Number.isFinite(s)||(s=1),{x:i,y:s}}const noOffsets=createCoords(0);function getVisualOffsets(e){const t=getWindow(e);return isWebKit()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:noOffsets}function shouldAddVisualOffsets(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==getWindow(e))&&t}function getBoundingClientRect(e,t,n,o){void 0===t&&(t=!1),void 0===n&&(n=!1);const r=e.getBoundingClientRect(),a=unwrapElement(e);let i=createCoords(1);t&&(o?isElement(o)&&(i=getScale(o)):i=getScale(e));const s=shouldAddVisualOffsets(a,n,o)?getVisualOffsets(a):createCoords(0);let l=(r.left+s.x)/i.x,c=(r.top+s.y)/i.y,d=r.width/i.x,u=r.height/i.y;if(a){const e=getWindow(a),t=o&&isElement(o)?getWindow(o):o;let n=e,r=getFrameElement(n);for(;r&&o&&t!==n;){const e=getScale(r),t=r.getBoundingClientRect(),o=getComputedStyle$1(r),a=t.left+(r.clientLeft+parseFloat(o.paddingLeft))*e.x,i=t.top+(r.clientTop+parseFloat(o.paddingTop))*e.y;l*=e.x,c*=e.y,d*=e.x,u*=e.y,l+=a,c+=i,n=getWindow(r),r=getFrameElement(n)}}return rectToClientRect({width:d,height:u,x:l,y:c})}function getWindowScrollBarX(e,t){const n=getNodeScroll(e).scrollLeft;return t?t.left+n:getBoundingClientRect(getDocumentElement(e)).left+n}function getHTMLOffset(e,t){const n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-getWindowScrollBarX(e,n),y:n.top+t.scrollTop}}function convertOffsetParentRelativeRectToViewportRelativeRect(e){let{elements:t,rect:n,offsetParent:o,strategy:r}=e;const a="fixed"===r,i=getDocumentElement(o),s=!!t&&isTopLayer(t.floating);if(o===i||s&&a)return n;let l={scrollLeft:0,scrollTop:0},c=createCoords(1);const d=createCoords(0),u=isHTMLElement(o);if((u||!u&&!a)&&(("body"!==getNodeName(o)||isOverflowElement(i))&&(l=getNodeScroll(o)),isHTMLElement(o))){const e=getBoundingClientRect(o);c=getScale(o),d.x=e.x+o.clientLeft,d.y=e.y+o.clientTop}const f=!i||u||a?createCoords(0):getHTMLOffset(i,l);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-l.scrollLeft*c.x+d.x+f.x,y:n.y*c.y-l.scrollTop*c.y+d.y+f.y}}function getClientRects(e){return Array.from(e.getClientRects())}function getDocumentRect(e){const t=getDocumentElement(e),n=getNodeScroll(e),o=e.ownerDocument.body,r=max(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),a=max(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let i=-n.scrollLeft+getWindowScrollBarX(e);const s=-n.scrollTop;return"rtl"===getComputedStyle$1(o).direction&&(i+=max(t.clientWidth,o.clientWidth)-r),{width:r,height:a,x:i,y:s}}const SCROLLBAR_MAX=25;function getViewportRect(e,t){const n=getWindow(e),o=getDocumentElement(e),r=n.visualViewport;let a=o.clientWidth,i=o.clientHeight,s=0,l=0;if(r){a=r.width,i=r.height;const e=isWebKit();(!e||e&&"fixed"===t)&&(s=r.offsetLeft,l=r.offsetTop)}const c=getWindowScrollBarX(o);if(c<=0){const e=o.ownerDocument,t=e.body,n=getComputedStyle(t),r="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(o.clientWidth-t.clientWidth-r);i<=SCROLLBAR_MAX&&(a-=i)}else c<=SCROLLBAR_MAX&&(a+=c);return{width:a,height:i,x:s,y:l}}const absoluteOrFixed=new Set(["absolute","fixed"]);function getInnerBoundingClientRect(e,t){const n=getBoundingClientRect(e,!0,"fixed"===t),o=n.top+e.clientTop,r=n.left+e.clientLeft,a=isHTMLElement(e)?getScale(e):createCoords(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:r*a.x,y:o*a.y}}function getClientRectFromClippingAncestor(e,t,n){let o;if("viewport"===t)o=getViewportRect(e,n);else if("document"===t)o=getDocumentRect(getDocumentElement(e));else if(isElement(t))o=getInnerBoundingClientRect(t,n);else{const n=getVisualOffsets(e);o={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return rectToClientRect(o)}function hasFixedPositionAncestor(e,t){const n=getParentNode(e);return!(n===t||!isElement(n)||isLastTraversableNode(n))&&("fixed"===getComputedStyle$1(n).position||hasFixedPositionAncestor(n,t))}function getClippingElementAncestors(e,t){const n=t.get(e);if(n)return n;let o=getOverflowAncestors(e,[],!1).filter(e=>isElement(e)&&"body"!==getNodeName(e)),r=null;const a="fixed"===getComputedStyle$1(e).position;let i=a?getParentNode(e):e;for(;isElement(i)&&!isLastTraversableNode(i);){const t=getComputedStyle$1(i),n=isContainingBlock(i);n||"fixed"!==t.position||(r=null);(a?!n&&!r:!n&&"static"===t.position&&!!r&&absoluteOrFixed.has(r.position)||isOverflowElement(i)&&!n&&hasFixedPositionAncestor(e,i))?o=o.filter(e=>e!==i):r=t,i=getParentNode(i)}return t.set(e,o),o}function getClippingRect(e){let{element:t,boundary:n,rootBoundary:o,strategy:r}=e;const a=[..."clippingAncestors"===n?isTopLayer(t)?[]:getClippingElementAncestors(t,this._c):[].concat(n),o],i=a[0],s=a.reduce((e,n)=>{const o=getClientRectFromClippingAncestor(t,n,r);return e.top=max(o.top,e.top),e.right=min(o.right,e.right),e.bottom=min(o.bottom,e.bottom),e.left=max(o.left,e.left),e},getClientRectFromClippingAncestor(t,i,r));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function getDimensions(e){const{width:t,height:n}=getCssDimensions(e);return{width:t,height:n}}function getRectRelativeToOffsetParent(e,t,n){const o=isHTMLElement(t),r=getDocumentElement(t),a="fixed"===n,i=getBoundingClientRect(e,!0,a,t);let s={scrollLeft:0,scrollTop:0};const l=createCoords(0);function c(){l.x=getWindowScrollBarX(r)}if(o||!o&&!a)if(("body"!==getNodeName(t)||isOverflowElement(r))&&(s=getNodeScroll(t)),o){const e=getBoundingClientRect(t,!0,a,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else r&&c();a&&!o&&r&&c();const d=!r||o||a?createCoords(0):getHTMLOffset(r,s);return{x:i.left+s.scrollLeft-l.x-d.x,y:i.top+s.scrollTop-l.y-d.y,width:i.width,height:i.height}}function isStaticPositioned(e){return"static"===getComputedStyle$1(e).position}function getTrueOffsetParent(e,t){if(!isHTMLElement(e)||"fixed"===getComputedStyle$1(e).position)return null;if(t)return t(e);let n=e.offsetParent;return getDocumentElement(e)===n&&(n=n.ownerDocument.body),n}function getOffsetParent(e,t){const n=getWindow(e);if(isTopLayer(e))return n;if(!isHTMLElement(e)){let t=getParentNode(e);for(;t&&!isLastTraversableNode(t);){if(isElement(t)&&!isStaticPositioned(t))return t;t=getParentNode(t)}return n}let o=getTrueOffsetParent(e,t);for(;o&&isTableElement(o)&&isStaticPositioned(o);)o=getTrueOffsetParent(o,t);return o&&isLastTraversableNode(o)&&isStaticPositioned(o)&&!isContainingBlock(o)?n:o||getContainingBlock(e)||n}const getElementRects=async function(e){const t=this.getOffsetParent||getOffsetParent,n=this.getDimensions,o=await n(e.floating);return{reference:getRectRelativeToOffsetParent(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function isRTL(e){return"rtl"===getComputedStyle$1(e).direction}const platform={convertOffsetParentRelativeRectToViewportRelativeRect:convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement:getDocumentElement,getClippingRect:getClippingRect,getOffsetParent:getOffsetParent,getElementRects:getElementRects,getClientRects:getClientRects,getDimensions:getDimensions,getScale:getScale,isElement:isElement,isRTL:isRTL};function rectsAreEqual(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function observeMove(e,t){let n,o=null;const r=getDocumentElement(e);function a(){var e;clearTimeout(n),null==(e=o)||e.disconnect(),o=null}return function i(s,l){void 0===s&&(s=!1),void 0===l&&(l=1),a();const c=e.getBoundingClientRect(),{left:d,top:u,width:f,height:p}=c;if(s||t(),!f||!p)return;const _={rootMargin:-floor(u)+"px "+-floor(r.clientWidth-(d+f))+"px "+-floor(r.clientHeight-(u+p))+"px "+-floor(d)+"px",threshold:max(0,min(1,l))||1};let m=!0;function h(t){const o=t[0].intersectionRatio;if(o!==l){if(!m)return i();o?i(!1,o):n=setTimeout(()=>{i(!1,1e-7)},1e3)}1!==o||rectsAreEqual(c,e.getBoundingClientRect())||i(),m=!1}try{o=new IntersectionObserver(h,{..._,root:r.ownerDocument})}catch(e){o=new IntersectionObserver(h,_)}o.observe(e)}(!0),a}function autoUpdate(e,t,n,o){void 0===o&&(o={});const{ancestorScroll:r=!0,ancestorResize:a=!0,elementResize:i="function"==typeof ResizeObserver,layoutShift:s="function"==typeof IntersectionObserver,animationFrame:l=!1}=o,c=unwrapElement(e),d=r||a?[...c?getOverflowAncestors(c):[],...getOverflowAncestors(t)]:[];d.forEach(e=>{r&&e.addEventListener("scroll",n,{passive:!0}),a&&e.addEventListener("resize",n)});const u=c&&s?observeMove(c,n):null;let f,p=-1,_=null;i&&(_=new ResizeObserver(e=>{let[o]=e;o&&o.target===c&&_&&(_.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var e;null==(e=_)||e.observe(t)})),n()}),c&&!l&&_.observe(c),_.observe(t));let m=l?getBoundingClientRect(e):null;return l&&function t(){const o=getBoundingClientRect(e);m&&!rectsAreEqual(m,o)&&n();m=o,f=requestAnimationFrame(t)}(),n(),()=>{var e;d.forEach(e=>{r&&e.removeEventListener("scroll",n),a&&e.removeEventListener("resize",n)}),null==u||u(),null==(e=_)||e.disconnect(),_=null,l&&cancelAnimationFrame(f)}}const offset$1=offset$2,shift$1=shift$2,flip$1=flip$2,size$1=size$2,hide$1=hide$2,arrow$2=arrow$3,inline$1=inline$2,limitShift$1=limitShift$2,computePosition=(e,t,n)=>{const o=new Map,r={platform:platform,...n},a={...r.platform,_c:o};return computePosition$1(e,t,{...r,platform:a})};var isClient="undefined"!=typeof document,noop$1=function(){},index=isClient?React.useLayoutEffect:noop$1;function deepEqual(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;let n,o,r;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(o=n;0!==o--;)if(!deepEqual(e[o],t[o]))return!1;return!0}if(r=Object.keys(e),n=r.length,n!==Object.keys(t).length)return!1;for(o=n;0!==o--;)if(!{}.hasOwnProperty.call(t,r[o]))return!1;for(o=n;0!==o--;){const n=r[o];if(("_owner"!==n||!e.$$typeof)&&!deepEqual(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function getDPR(e){if("undefined"==typeof window)return 1;return(e.ownerDocument.defaultView||window).devicePixelRatio||1}function roundByDPR(e,t){const n=getDPR(e);return Math.round(t*n)/n}function useLatestRef(e){const t=React__namespace.useRef(e);return index(()=>{t.current=e}),t}function useFloating(e){void 0===e&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:o=[],platform:r,elements:{reference:a,floating:i}={},transform:s=!0,whileElementsMounted:l,open:c}=e,[d,u]=React__namespace.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=React__namespace.useState(o);deepEqual(f,o)||p(o);const[_,m]=React__namespace.useState(null),[h,g]=React__namespace.useState(null),b=React__namespace.useCallback(e=>{e!==w.current&&(w.current=e,m(e))},[]),v=React__namespace.useCallback(e=>{e!==C.current&&(C.current=e,g(e))},[]),y=a||_,E=i||h,w=React__namespace.useRef(null),C=React__namespace.useRef(null),x=React__namespace.useRef(d),R=null!=l,S=useLatestRef(l),D=useLatestRef(r),T=useLatestRef(c),O=React__namespace.useCallback(()=>{if(!w.current||!C.current)return;const e={placement:t,strategy:n,middleware:f};D.current&&(e.platform=D.current),computePosition(w.current,C.current,e).then(e=>{const t={...e,isPositioned:!1!==T.current};A.current&&!deepEqual(x.current,t)&&(x.current=t,ReactDOM__namespace.flushSync(()=>{u(t)}))})},[f,t,n,D,T]);index(()=>{!1===c&&x.current.isPositioned&&(x.current.isPositioned=!1,u(e=>({...e,isPositioned:!1})))},[c]);const A=React__namespace.useRef(!1);index(()=>(A.current=!0,()=>{A.current=!1}),[]),index(()=>{if(y&&(w.current=y),E&&(C.current=E),y&&E){if(S.current)return S.current(y,E,O);O()}},[y,E,O,S,R]);const I=React__namespace.useMemo(()=>({reference:w,floating:C,setReference:b,setFloating:v}),[b,v]),k=React__namespace.useMemo(()=>({reference:y,floating:E}),[y,E]),N=React__namespace.useMemo(()=>{const e={position:n,left:0,top:0};if(!k.floating)return e;const t=roundByDPR(k.floating,d.x),o=roundByDPR(k.floating,d.y);return s?{...e,transform:"translate("+t+"px, "+o+"px)",...getDPR(k.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:o}},[n,s,k.floating,d.x,d.y]);return React__namespace.useMemo(()=>({...d,update:O,refs:I,elements:k,floatingStyles:N}),[d,O,I,k,N])}const arrow$1=e=>({name:"arrow",options:e,fn(t){const{element:n,padding:o}="function"==typeof e?e(t):e;return n&&(r=n,{}.hasOwnProperty.call(r,"current"))?null!=n.current?arrow$2({element:n.current,padding:o}).fn(t):{}:n?arrow$2({element:n,padding:o}).fn(t):{};var r}}),offset=(e,t)=>({...offset$1(e),options:[e,t]}),shift=(e,t)=>({...shift$1(e),options:[e,t]}),limitShift=(e,t)=>({...limitShift$1(e),options:[e,t]}),flip=(e,t)=>({...flip$1(e),options:[e,t]}),size=(e,t)=>({...size$1(e),options:[e,t]}),hide=(e,t)=>({...hide$1(e),options:[e,t]}),inline=(e,t)=>({...inline$1(e),options:[e,t]}),arrow=(e,t)=>({...arrow$1(e),options:[e,t]});var PKG_NAME="@liveblocks/react",PKG_VERSION="2.15.1",PKG_FORMAT="esm";function ClientSideSuspense(e){const[t,n]=React.useState(!1);return React.useEffect(()=>{n(!0)},[]),jsxRuntime.exports.jsx(React.Suspense,{fallback:e.fallback,children:t?"function"==typeof e.children?e.children():e.children:e.fallback})}function composerBodyMentionToCommentBodyMention(e){return{type:"mention",id:e.id}}function composerBodyAutoLinkToCommentBodyLink(e){return{type:"link",url:e.url}}function composerBodyCustomLinkToCommentBodyLink(e){return{type:"link",url:e.url,text:e.children.map(e=>e.text).join("")}}function commentBodyMentionToComposerBodyMention(e){return{type:"mention",id:e.id,children:[{text:""}]}}function commentBodyLinkToComposerBodyLink(e){return e.text?{type:"custom-link",url:e.url,children:[{text:e.text}]}:{type:"auto-link",url:e.url,children:[{text:e.url}]}}function composerBodyToCommentBody(e){return{version:1,content:e.map(e=>{if("paragraph"!==e.type)return null;const t=e.children.map(e=>isComposerBodyMention(e)?composerBodyMentionToCommentBodyMention(e):isComposerBodyAutoLink(e)?composerBodyAutoLinkToCommentBodyLink(e):isComposerBodyCustomLink(e)?composerBodyCustomLinkToCommentBodyLink(e):isText(e)?e:null).filter(exists);return{...e,children:t}}).filter(exists)}}detectDupes(PKG_NAME,PKG_VERSION,PKG_FORMAT);const emptyComposerBody=[];function commentBodyToComposerBody(e){return e&&e?.content?e.content.map(e=>{if("paragraph"!==e.type)return null;const t=e.children.map(e=>isCommentBodyMention(e)?commentBodyMentionToComposerBodyMention(e):isCommentBodyLink(e)?commentBodyLinkToComposerBodyLink(e):isCommentBodyText(e)?e:null).filter(exists);return{...e,children:t}}).filter(exists):emptyComposerBody}function getRtlFloatingAlignment(e){switch(e){case"start":return"end";case"end":return"start";default:return"center"}}function getSideAndAlignFromFloatingPlacement(e){const[t,n="center"]=e.split("-");return[t,n]}function useContentZIndex(){const[e,t]=React.useState(null),n=React.useCallback(t,[t]),[o,r]=React.useState();return React.useLayoutEffect(()=>{e&&r(window.getComputedStyle(e).zIndex)},[e]),[n,o]}function useFloatingWithOptions({type:e="bounds",position:t,alignment:n,dir:o,open:r}){return useFloating({...React.useMemo(()=>{const r={padding:FLOATING_ELEMENT_COLLISION_PADDING},a=["range"===e?inline(r):null,flip({...r,crossAxis:!1}),hide(r),shift({...r,limiter:limitShift()}),"range"===e?offset(FLOATING_ELEMENT_SIDE_OFFSET):null,size({...r,apply({availableWidth:e,availableHeight:t,elements:n}){n.floating.style.setProperty("--lb-composer-floating-available-width",`${e}px`),n.floating.style.setProperty("--lb-composer-floating-available-height",`${t}px`)}})];return{strategy:"fixed",placement:"center"===n?t:`${t}-${"rtl"===o?getRtlFloatingAlignment(n):n}`,middleware:a,whileElementsMounted:(...e)=>autoUpdate(...e,{animationFrame:!0})}},[n,t,o,e]),open:r})}function useComposerAttachmentsDropArea({onDragEnter:e,onDragLeave:t,onDragOver:n,onDrop:o,disabled:r}){const{isDisabled:a}=useComposer(),i=a||r,{createAttachments:s}=useComposerAttachmentsContext(),[l,c]=React.useState(!1),d=useLatest(l);return[l,{onDragEnter:React.useCallback(t=>{if(e?.(t),d.current||i||t.isDefaultPrevented())return;t.dataTransfer.types.includes("Files")&&(t.preventDefault(),t.stopPropagation(),c(!0))},[e,i]),onDragLeave:React.useCallback(e=>{t?.(e),!d.current||i||e.isDefaultPrevented()||(e.relatedTarget?e.relatedTarget===e.currentTarget||e.currentTarget.contains(e.relatedTarget):e.currentTarget!==e.target)||(e.preventDefault(),e.stopPropagation(),c(!1))},[t,i]),onDragOver:React.useCallback(e=>{n?.(e),i||e.isDefaultPrevented()||(e.preventDefault(),e.stopPropagation())},[n,i]),onDrop:React.useCallback(e=>{if(o?.(e),!d.current||i||e.isDefaultPrevented())return;e.preventDefault(),e.stopPropagation(),c(!1);const t=getFiles(e.dataTransfer);s(t)},[o,i,s]),"data-drop":l?"":void 0,"data-disabled":i?"":void 0}]}class AttachmentTooLargeError extends Error{origin;name="AttachmentTooLargeError";constructor(e,t="client"){super(e),this.origin=t}}function createComposerAttachmentsManager(e,t,n){const o=new Map,r=new Map,a=makeEventSource();let i=null;function s(){i=null,a.notify()}function l(n){const a=new AbortController;r.set(n.id,a),e[kInternal].httpClient.uploadAttachment({roomId:t,attachment:n,signal:a.signal}).then(()=>{o.set(n.id,{...n,status:"uploaded"}),s()}).catch(e=>{e instanceof Error&&"AbortError"!==e.name&&"TimeoutError"!==e.name&&(o.set(n.id,{...n,status:"error",error:e instanceof HttpError&&413===e.status?new AttachmentTooLargeError("File is too large.","server"):e}),s())})}return{addAttachments:function(e){if(0===e.length)return;const t=e.filter(e=>!o.has(e.id)),r=[];for(const e of t)if("localAttachment"===e.type){if(e.file.size>n.maxFileSize){o.set(e.id,{...e,status:"error",error:new AttachmentTooLargeError("File is too large.","client")});continue}o.set(e.id,{...e,status:"uploading"}),r.push(e)}else o.set(e.id,e);t.length>0&&s();for(const e of r)l(e)},removeAttachment:function(e){const t=r.get(e);t?.abort(),o.delete(e),r.delete(e),s()},getSnapshot:function(){return i||(i=Array.from(o.values())),i},subscribe:a.subscribe,clear:function(){r.forEach(e=>e.abort()),r.clear(),o.clear(),s()}}}function preventBeforeUnloadDefault(e){e.preventDefault()}function useComposerAttachmentsManager(e,t){const n=useClient(),o=useInitial(e),r=useInitial(()=>createComposerAttachmentsManager(n,t.roomId,t));React.useEffect(()=>{r.addAttachments(o)},[o,r]),React.useEffect(()=>()=>{r.clear()},[r]);const a=React.useSyncExternalStore(r.subscribe,r.getSnapshot,r.getSnapshot),i=React.useMemo(()=>a.some(e=>"localAttachment"===e.type&&"uploading"===e.status),[a]);return React.useEffect(()=>{if(i)return window.addEventListener("beforeunload",preventBeforeUnloadDefault),()=>{window.removeEventListener("beforeunload",preventBeforeUnloadDefault)}},[i]),{attachments:a,isUploadingAttachments:i,addAttachments:r.addAttachments,removeAttachment:r.removeAttachment,clearAttachments:r.clear}}const MENTION_SUGGESTIONS_POSITION="top",FLOATING_TOOLBAR_POSITION="top",COMPOSER_FLOATING_TOOLBAR_NAME="ComposerFloatingToolbar",COMPOSER_SUGGESTIONS_NAME="ComposerSuggestions",COMPOSER_SUGGESTIONS_LIST_NAME="ComposerSuggestionsList",COMPOSER_SUGGESTIONS_LIST_ITEM_NAME="ComposerSuggestionsListItem",emptyCommentBody={version:1,content:[{type:"paragraph",children:[{text:""}]}]};function createComposerEditor({createAttachments:e,pasteFilesAsAttachments:t}){return withNormalize(withMentions(withCustomLinks(withAutoLinks(withAutoFormatting(withEmptyClearFormatting(withPaste(withHistory(withReact(createEditor$1())),{createAttachments:e,pasteFilesAsAttachments:t})))))))}function ComposerEditorMentionWrapper({Mention:e,attributes:t,children:n,element:o}){const r=useSelected();return jsxRuntime.exports.jsxs("span",{...t,children:[o.id?jsxRuntime.exports.jsx(e,{userId:o.id,isSelected:r}):null,n]})}function ComposerEditorLinkWrapper({Link:e,attributes:t,element:n,children:o}){const r=React.useMemo(()=>toAbsoluteUrl(n.url)??n.url,[n.url]);return jsxRuntime.exports.jsx("span",{...t,children:jsxRuntime.exports.jsx(e,{href:r,children:o})})}function ComposerEditorMentionSuggestionsWrapper({id:e,itemId:t,userIds:n,selectedUserId:o,setSelectedUserId:r,mentionDraft:a,setMentionDraft:i,onItemSelect:s,position:l=MENTION_SUGGESTIONS_POSITION,dir:c,MentionSuggestions:d}){const u=useSlateStatic(),{onEditorChange:f}=useComposerEditorContext(),{isFocused:p}=useComposer(),{portalContainer:_}=useLiveblocksUIConfig(),[m,h]=useContentZIndex(),g=p&&void 0!==a?.range&&void 0!==n,{refs:{setReference:b,setFloating:v},strategy:y,isPositioned:E,placement:w,x:C,y:x}=useFloatingWithOptions({position:l,dir:c,alignment:"start",open:g});return useObservable(f,()=>{i(getMentionDraftAtSelection(u))}),React.useLayoutEffect(()=>{if(!a)return void b(null);const e=getDOMRange(u,a.range);b(e??null)},[b,u,a]),jsxRuntime.exports.jsx(Persist,{children:g?jsxRuntime.exports.jsx(ComposerSuggestionsContext.Provider,{value:{id:e,itemId:t,selectedValue:o,setSelectedValue:r,onItemSelect:s,placement:w,dir:c,ref:m},children:jsxRuntime.exports.jsx(Portal$4,{ref:v,container:_,style:{position:y,top:0,left:0,transform:E?`translate3d(${Math.round(C)}px, ${Math.round(x)}px, 0)`:"translate3d(0, -200%, 0)",minWidth:"max-content",zIndex:h},children:jsxRuntime.exports.jsx(d,{userIds:n,selectedUserId:o})})}):null})}function ComposerEditorFloatingToolbarWrapper({id:e,position:t=FLOATING_TOOLBAR_POSITION,dir:n,FloatingToolbar:o,hasFloatingToolbarRange:r,setHasFloatingToolbarRange:a}){const i=useSlateStatic(),{onEditorChange:s}=useComposerEditorContext(),{isFocused:l}=useComposer(),{portalContainer:c}=useLiveblocksUIConfig(),[d,u]=useContentZIndex(),[f,p]=React.useState(!1),_=l&&!f&&r,{refs:{setReference:m,setFloating:h},strategy:g,isPositioned:b,placement:v,x:y,y:E}=useFloatingWithOptions({type:"range",position:t,dir:n,alignment:"center",open:_});return React.useLayoutEffect(()=>{if(!l)return;const e=()=>p(!0),t=()=>p(!1);return document.addEventListener("pointerdown",e),document.addEventListener("pointerup",t),()=>{document.removeEventListener("pointerdown",e),document.removeEventListener("pointerup",t)}},[l]),useObservable(s,()=>{m(null),requestAnimationFrame(()=>{const e=window.getSelection();if(i.selection&&!Range.isCollapsed(i.selection)&&e&&e.rangeCount){a(!0);const t=e.getRangeAt(0);m(t)}else a(!1),m(null)})}),jsxRuntime.exports.jsx(Persist,{children:_?jsxRuntime.exports.jsx(ComposerFloatingToolbarContext.Provider,{value:{id:e,placement:v,dir:n,ref:d},children:jsxRuntime.exports.jsx(Portal$4,{ref:h,container:c,style:{position:g,top:0,left:0,transform:b?`translate3d(${Math.round(y)}px, ${Math.round(E)}px, 0)`:"translate3d(0, -200%, 0)",minWidth:"max-content",zIndex:u},children:jsxRuntime.exports.jsx(o,{})})}):null})}const ComposerFloatingToolbar$1=React.forwardRef(({children:e,onPointerDown:t,style:n,asChild:o,...r},a)=>{const[i]=usePersist(),s=React.useRef(null),{id:l,ref:c,placement:d,dir:u}=useComposerFloatingToolbarContext(COMPOSER_FLOATING_TOOLBAR_NAME),f=useRefs(a,c,s),[p,_]=React.useMemo(()=>getSideAndAlignFromFloatingPlacement(d),[d]),m=o?Slot$2:"div";useAnimationPersist(s);const h=React.useCallback(e=>{t?.(e),e.preventDefault(),e.stopPropagation()},[t]);return jsxRuntime.exports.jsx(m,{dir:u,role:"toolbar",id:l,"aria-label":"Floating toolbar",...r,onPointerDown:h,"data-state":i?"open":"closed","data-side":p,"data-align":_,style:{display:"flex",flexDirection:"row",maxWidth:"var(--lb-composer-floating-available-width)",overflowX:"auto",...n},ref:f,children:e})});function ComposerEditorElement({Mention:e,Link:t,...n}){const{attributes:o,children:r,element:a}=n;switch(a.type){case"mention":return jsxRuntime.exports.jsx(ComposerEditorMentionWrapper,{Mention:e,...n});case"auto-link":case"custom-link":return jsxRuntime.exports.jsx(ComposerEditorLinkWrapper,{Link:t,...n});case"paragraph":return jsxRuntime.exports.jsx("p",{...o,style:{position:"relative"},children:r});default:return null}}function ComposerEditorLeaf({attributes:e,children:t,leaf:n}){return n.bold&&(t=jsxRuntime.exports.jsx("strong",{children:t})),n.italic&&(t=jsxRuntime.exports.jsx("em",{children:t})),n.strikethrough&&(t=jsxRuntime.exports.jsx("s",{children:t})),n.code&&(t=jsxRuntime.exports.jsx("code",{children:t})),jsxRuntime.exports.jsx("span",{...e,children:t})}function ComposerEditorPlaceholder({attributes:e,children:t}){const{opacity:n,...o}=e.style;return jsxRuntime.exports.jsx("span",{...e,style:o,"data-placeholder":"",children:t})}const ComposerMention$1=React.forwardRef(({children:e,asChild:t,...n},o)=>{const r=t?Slot$2:"span",a=useSelected();return jsxRuntime.exports.jsx(r,{"data-selected":a||void 0,...n,ref:o,children:e})}),ComposerLink$1=React.forwardRef(({children:e,asChild:t,...n},o)=>{const r=t?Slot$2:"a";return jsxRuntime.exports.jsx(r,{target:"_blank",rel:"noopener noreferrer nofollow",...n,ref:o,children:e})}),ComposerSuggestions=React.forwardRef(({children:e,style:t,asChild:n,...o},r)=>{const[a]=usePersist(),i=React.useRef(null),{ref:s,placement:l,dir:c}=useComposerSuggestionsContext(COMPOSER_SUGGESTIONS_NAME),d=useRefs(r,s,i),[u,f]=React.useMemo(()=>getSideAndAlignFromFloatingPlacement(l),[l]),p=n?Slot$2:"div";return useAnimationPersist(i),jsxRuntime.exports.jsx(p,{dir:c,...o,"data-state":a?"open":"closed","data-side":u,"data-align":f,style:{display:"flex",flexDirection:"column",maxHeight:"var(--lb-composer-floating-available-height)",overflowY:"auto",...t},ref:d,children:e})}),ComposerSuggestionsList=React.forwardRef(({children:e,asChild:t,...n},o)=>{const{id:r}=useComposerSuggestionsContext(COMPOSER_SUGGESTIONS_LIST_NAME),a=t?Slot$2:"ul";return jsxRuntime.exports.jsx(a,{role:"listbox",id:r,"aria-label":"Suggestions list",...n,ref:o,children:e})}),ComposerSuggestionsListItem=React.forwardRef(({value:e,children:t,onPointerMove:n,onPointerDown:o,onClick:r,asChild:a,...i},s)=>{const l=React.useRef(null),c=useRefs(s,l),{selectedValue:d,setSelectedValue:u,itemId:f,onItemSelect:p}=useComposerSuggestionsContext(COMPOSER_SUGGESTIONS_LIST_ITEM_NAME),_=a?Slot$2:"li",m=React.useMemo(()=>d===e,[d,e]),h=React.useMemo(()=>f(e),[f,e]);React.useEffect(()=>{l?.current&&m&&l.current.scrollIntoView({block:"nearest"})},[m]);const g=React.useCallback(t=>{n?.(t),t.isDefaultPrevented()||u(e)},[n,u,e]),b=React.useCallback(e=>{o?.(e),e.preventDefault(),e.stopPropagation()},[o]),v=React.useCallback(t=>{r?.(t);const n=t.isDefaultPrevented();t.preventDefault(),t.stopPropagation(),n||p(e)},[r,p,e]);return jsxRuntime.exports.jsx(_,{role:"option",id:h,"data-selected":m||void 0,"aria-selected":m||void 0,onPointerMove:g,onPointerDown:b,onClick:v,...i,ref:c,children:t})}),defaultEditorComponents={Link:({href:e,children:t})=>jsxRuntime.exports.jsx(ComposerLink$1,{href:e,children:t}),Mention:({userId:e})=>jsxRuntime.exports.jsxs(ComposerMention$1,{children:[MENTION_CHARACTER,e]}),MentionSuggestions:({userIds:e})=>e.length>0?jsxRuntime.exports.jsx(ComposerSuggestions,{children:jsxRuntime.exports.jsx(ComposerSuggestionsList,{children:e.map(e=>jsxRuntime.exports.jsx(ComposerSuggestionsListItem,{value:e,children:e},e))})}):null},ComposerEditor=React.forwardRef(({defaultValue:e,onKeyDown:t,onFocus:n,onBlur:o,disabled:r,autoFocus:a,components:i,dir:s,...l},c)=>{const d=useClientOrNull(),{editor:u,validate:f,setFocused:p,onEditorChange:_,roomId:m}=useComposerEditorContext(),{submit:h,focus:g,blur:b,select:v,canSubmit:y,isDisabled:E,isFocused:w}=useComposer(),C=E||r,x=useInitial(e??emptyCommentBody),R=React.useMemo(()=>commentBodyToComposerBody(x),[x]),{Link:S,Mention:D,MentionSuggestions:T,FloatingToolbar:O}=React.useMemo(()=>({...defaultEditorComponents,...i}),[i]),[A,I]=React.useState(!1),k=useResolveMentionSuggestions(),N=!d||k,[j,$]=React.useState(),F=useMentionSuggestions(m,j?.text),[P,M,B,L]=useIndex(0,F?.length??0),U=React.useId(),V=React.useMemo(()=>`liveblocks-floating-toolbar-${U}`,[U]),H=React.useMemo(()=>`liveblocks-suggestions-list-${U}`,[U]),z=React.useCallback(e=>e?`liveblocks-suggestions-list-item-${U}-${e}`:void 0,[U]),q=React.useCallback(e=>jsxRuntime.exports.jsx(ComposerEditorElement,{Mention:D,Link:S,...e}),[S,D]),K=React.useCallback(e=>{f(e),_.notify()},[f,_]),W=React.useCallback(e=>{j&&e&&(Transforms.select(u,j.range),insertMention(u,e),$(void 0),L(0))},[u,j,L]),G=React.useCallback(e=>{if(t?.(e),!e.isDefaultPrevented())if(isKey(e,"ArrowLeft")&&leaveMarkEdge(u,"start"),isKey(e,"ArrowRight")&&leaveMarkEdge(u,"end"),j&&F?.length){if(isKey(e,"ArrowDown")&&(e.preventDefault(),B()),isKey(e,"ArrowUp")&&(e.preventDefault(),M()),isKey(e,"Enter")||isKey(e,"Tab")){e.preventDefault();const t=F?.[P];W(t)}isKey(e,"Escape")&&(e.preventDefault(),$(void 0),L(0))}else A&&isKey(e,"Escape")&&(e.preventDefault(),I(!1)),isKey(e,"Escape")&&(e.preventDefault(),b()),isKey(e,"Enter",{shift:!1})&&(e.preventDefault(),y&&h()),isKey(e,"Enter",{shift:!0})&&(e.preventDefault(),u.insertBreak()),isKey(e,"b",{mod:!0})&&(e.preventDefault(),toggleMark(u,"bold")),isKey(e,"i",{mod:!0})&&(e.preventDefault(),toggleMark(u,"italic")),isKey(e,"s",{mod:!0,shift:!0})&&(e.preventDefault(),toggleMark(u,"strikethrough")),isKey(e,"e",{mod:!0})&&(e.preventDefault(),toggleMark(u,"code"))},[t,j,F,A,u,B,M,P,W,L,b,y,h]),Y=React.useCallback(e=>{n?.(e),e.isDefaultPrevented()||p(!0)},[n,p]),J=React.useCallback(e=>{o?.(e),e.isDefaultPrevented()||p(!1)},[o,p]),X=React.useMemo(()=>F?.[P],[P,F]),Z=React.useCallback(e=>{const t=F?.indexOf(e);void 0!==t&&t>=0&&L(t)},[L,F]),Q=React.useMemo(()=>j?{role:"combobox","aria-autocomplete":"list","aria-expanded":!0,"aria-controls":H,"aria-activedescendant":z(X)}:A?{"aria-haspopup":!0,"aria-controls":V}:{},[j,H,z,X,A,V]);return React.useImperativeHandle(c,()=>ReactEditor.toDOMNode(u,u),[u]),React.useLayoutEffect(()=>{a&&g()},[a,u,g]),React.useLayoutEffect(()=>{w&&null===u.selection&&v()},[u,v,w]),jsxRuntime.exports.jsxs(Slate,{editor:u,initialValue:R,onChange:K,children:[jsxRuntime.exports.jsx(Editable,{dir:s,enterKeyHint:j?"enter":"send",autoCapitalize:"sentences","aria-label":"Composer editor","data-focused":w||void 0,"data-disabled":C||void 0,...Q,...l,readOnly:C,disabled:C,onKeyDown:G,onFocus:Y,onBlur:J,renderElement:q,renderLeaf:ComposerEditorLeaf,renderPlaceholder:ComposerEditorPlaceholder}),N&&jsxRuntime.exports.jsx(ComposerEditorMentionSuggestionsWrapper,{dir:s,mentionDraft:j,setMentionDraft:$,selectedUserId:X,setSelectedUserId:Z,userIds:F,id:H,itemId:z,onItemSelect:W,MentionSuggestions:T}),O&&jsxRuntime.exports.jsx(ComposerEditorFloatingToolbarWrapper,{dir:s,id:V,hasFloatingToolbarRange:A,setHasFloatingToolbarRange:I,FloatingToolbar:O})]})}),MAX_ATTACHMENTS=10,MAX_ATTACHMENT_SIZE=1073741824;function prepareAttachment(e){return{type:"localAttachment",status:"idle",id:createCommentAttachmentId(),name:e.name,size:e.size,mimeType:e.type,file:e}}const ComposerForm=React.forwardRef(({children:e,onSubmit:t,onComposerSubmit:n,defaultAttachments:o=[],pasteFilesAsAttachments:r,preventUnsavedChanges:a=!0,disabled:i,asChild:s,roomId:l,...c},d)=>{const u=s?Slot$2:"form",[f,p]=React.useState(!0),[_,m]=React.useState(!1),[h,g]=React.useState(!1),b=useRoomOrNull(),v=void 0!==l?l:b?.id;if(void 0===v)throw new Error("Composer.Form must be a descendant of RoomProvider.");const y=MAX_ATTACHMENTS,E=MAX_ATTACHMENT_SIZE,{attachments:w,isUploadingAttachments:C,addAttachments:x,removeAttachment:R,clearAttachments:S}=useComposerAttachmentsManager(o,{maxFileSize:E,roomId:v}),D=w.length,T=D>=y,O=React.useMemo(()=>_||!0===i,[_,i]),A=React.useMemo(()=>!f&&!C,[f,C]),[I,k]=React.useState(getMarks),N=React.useRef(null),j=useRefs(d,N),$=React.useRef(null),F=useSyncSource(),P=!!a&&(!f||C||w.length>0);React.useEffect(()=>{F?.setSyncStatus(P?"has-local-changes":"synchronized")},[F,P]);const M=React.useCallback(e=>{if(!e.length)return;const t=Math.max(0,y-D);e.splice(t);const n=e.map(e=>prepareAttachment(e));x(n)},[x,y,D]),B=React.useRef(M);React.useEffect(()=>{B.current=M},[M]);const L=React.useCallback(e=>{B.current(e)},[]),U=useInitial(()=>createComposerEditor({createAttachments:L,pasteFilesAsAttachments:r})),V=useInitial(makeEventSource),H=React.useCallback(e=>{p(isEmpty(U,e))},[U]),z=React.useCallback(()=>{A&&requestAnimationFrame(()=>{N.current&&requestSubmit(N.current)})},[A]),q=React.useCallback(()=>{Transforms.delete(U,{at:{anchor:Editor.start(U,[]),focus:Editor.end(U,[])}})},[U]),K=React.useCallback(()=>{Transforms.select(U,Editor.end(U,[]))},[U]),W=React.useCallback((e=!0)=>{ReactEditor.isFocused(U)||(Transforms.select(U,e||!U.selection?Editor.end(U,[]):U.selection),ReactEditor.focus(U))},[U]),G=React.useCallback(()=>{ReactEditor.blur(U)},[U]),Y=React.useCallback(()=>{i||(W(),insertMentionCharacter(U))},[i,U,W]),J=React.useCallback(e=>{i||(W(!1),insertText(U,e))},[i,U,W]),X=React.useCallback(()=>{i||$.current&&$.current.click()},[i]),Z=React.useCallback(e=>{i||e.target.files&&(M(Array.from(e.target.files)),e.target.value="")},[M,i]),Q=React.useCallback(()=>{q(),G(),S(),m(!1)},[G,q,S]),ee=React.useCallback(e=>{if(i)return;if(isEmpty(U,U.children))return void e.preventDefault();if(t?.(e),!n||e.isDefaultPrevented())return void e.preventDefault();const o=composerBodyToCommentBody(U.children),r=w.filter(e=>"attachment"===e.type||"localAttachment"===e.type&&"uploaded"===e.status).map(e=>({id:e.id,type:"attachment",mimeType:e.mimeType,size:e.size,name:e.name})),a=n({body:o,attachments:r},e);e.preventDefault(),a?(m(!0),a.then(Q)):Q()},[i,U,w,n,t,Q]),te=React.useCallback(e=>{e.stopPropagation()},[]),ne=React.useCallback(e=>{toggleMark(U,e)},[U]);return useObservable(V,()=>{k(getMarks(U))}),jsxRuntime.exports.jsx(ComposerEditorContext.Provider,{value:{editor:U,validate:H,setFocused:g,onEditorChange:V,roomId:v},children:jsxRuntime.exports.jsx(ComposerAttachmentsContext.Provider,{value:{createAttachments:M,isUploadingAttachments:C,hasMaxAttachments:T,maxAttachments:y,maxAttachmentSize:E},children:jsxRuntime.exports.jsx(ComposerContext.Provider,{value:{isDisabled:O,isFocused:h,isEmpty:f,canSubmit:A,submit:z,clear:q,select:K,focus:W,blur:G,createMention:Y,insertText:J,attachments:w,attachFiles:X,removeAttachment:R,toggleMark:ne,marks:I},children:jsxRuntime.exports.jsxs(u,{...c,onSubmit:ee,ref:j,children:[jsxRuntime.exports.jsx("input",{type:"file",multiple:!0,ref:$,onChange:Z,onClick:te,tabIndex:-1,style:{display:"none"}}),jsxRuntime.exports.jsx(Slottable$1,{children:e})]})})})})}),ComposerSubmit=React.forwardRef(({children:e,disabled:t,asChild:n,...o},r)=>{const a=n?Slot$2:"button",{canSubmit:i,isDisabled:s}=useComposer(),l=s||t||!i;return jsxRuntime.exports.jsx(a,{type:"submit",...o,ref:r,disabled:l,children:e})}),ComposerAttachFiles=React.forwardRef(({children:e,onClick:t,disabled:n,asChild:o,...r},a)=>{const i=o?Slot$2:"button",{hasMaxAttachments:s}=useComposerAttachmentsContext(),{isDisabled:l,attachFiles:c}=useComposer(),d=l||s||n,u=React.useCallback(e=>{t?.(e),e.isDefaultPrevented()||c()},[c,t]);return jsxRuntime.exports.jsx(i,{type:"button",...r,onClick:u,ref:a,disabled:d,children:e})});React.forwardRef(({onDragEnter:e,onDragLeave:t,onDragOver:n,onDrop:o,disabled:r,asChild:a,...i},s)=>{const l=a?Slot$2:"div",{isDisabled:c}=useComposer(),d=c||r,[,u]=useComposerAttachmentsDropArea({onDragEnter:e,onDragLeave:t,onDragOver:n,onDrop:o,disabled:d});return jsxRuntime.exports.jsx(l,{...u,"data-disabled":d?"":void 0,...i,ref:s})});const ComposerMarkToggle=React.forwardRef(({children:e,mark:t,onValueChange:n,onClick:o,asChild:r,...a},i)=>{const s=r?Slot$2:"button",{marks:l,toggleMark:c}=useComposer(),d=React.useCallback(e=>{o?.(e),e.isDefaultPrevented()||(c(t),n?.(t))},[t,o,n,c]);return jsxRuntime.exports.jsx(Root$3,{asChild:!0,pressed:l[t],onClick:d,...a,children:jsxRuntime.exports.jsx(s,{...a,ref:i,children:e})})});function capitalize$1(e){return e.charAt(0).toUpperCase()+e.slice(1)}function memoize(e){const t=new Map;return(...n)=>{const o=JSON.stringify(n.map(e=>stringify(e)));if(t.has(o))return t.get(o);const r=e(...n);return t.set(o,r),r}}const dateTimeFormat=memoize((...e)=>new Intl.DateTimeFormat(...e)),relativeTimeFormat=memoize((...e)=>new Intl.RelativeTimeFormat(...e)),listFormat=memoize((...e)=>new Intl.ListFormat(...e)),numberFormat=memoize((...e)=>new Intl.NumberFormat(...e));function useInterval(e,t){const n=React.useRef(e);React.useEffect(()=>{n.current=e},[e]),React.useEffect(()=>{if(!t&&0!==t)return;const e=setInterval(()=>{!1===n.current()&&clearInterval(e)},t);return()=>clearInterval(e)},[t])}function useRerender(){const[e,t]=React.useReducer(e=>e+1,0);return[t,e]}const DYNAMIC_DATE_THRESHOLD=2592e5,RENDER_INTERVAL=3e4,relativeUnits={seconds:60,minutes:60,hours:24,days:7,weeks:4.34524,months:12};function formatVerboseDate(e,t){return capitalize$1(dateTimeFormat(t,{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric"}).format(e))}function formatShortDate(e,t){return capitalize$1(dateTimeFormat(t,{month:"short",day:"numeric"}).format(e))}const localesWithBrokenNarrowRelativeFormatting=["br","fr","nb","nn","no","ro","sv"];function formatRelativeDate(e,t){let n;if(t)n=t;else{const e=relativeTimeFormat();n=e.resolvedOptions().locale}const o=localesWithBrokenNarrowRelativeFormatting.some(e=>n===e||n.startsWith(`${e}-`)),r=relativeTimeFormat(n,{style:o?"short":"narrow",numeric:"auto"});let a=(e.getTime()-Date.now())/1e3;if(a>-relativeUnits.seconds&&a<relativeUnits.seconds)return r.format(0,"seconds");for(const[e,t]of Object.entries(relativeUnits)){if(Math.abs(a)<t)return r.format(Math.round(a),e);a/=t}return capitalize$1(r.format(Math.round(a),"years"))}function formatDynamicDate(e,t){return e.getTime()>Date.now()-DYNAMIC_DATE_THRESHOLD?formatRelativeDate(e,t):formatShortDate(e,t)}const Timestamp=React.forwardRef(({date:e,locale:t,children:n=formatDynamicDate,title:o=formatVerboseDate,dateTime:r,interval:a=RENDER_INTERVAL,asChild:i,...s},l)=>{const c=i?Slot$2:"time",[d,u]=useRerender(),f=React.useMemo(()=>new Date(e),[e]),p=React.useMemo(()=>f.toISOString(),[f]),_=React.useMemo(()=>"function"==typeof o?o(f,t):o,[o,f,u]),m=React.useMemo(()=>"function"==typeof n?n(f,t):n,[n,f,u]);return useInterval(d,a),jsxRuntime.exports.jsx(c,{...s,ref:l,dateTime:r??p,title:_,children:m})});function useCurrentUserId(){return useSignal(useClient()[kInternal].currentUserId)??null}function download(e,t){const n=document.createElement("a");n.href=e,n.download=t,n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}let intersectionObserver;const intersectionCallbacks=new WeakMap;function observe(e,t){intersectionObserver||(intersectionObserver=new IntersectionObserver(e=>{for(const t of e){const e=intersectionCallbacks.get(t.target);e?.(t)}})),intersectionCallbacks.set(e,t),intersectionObserver.observe(e)}function unobserve(e){intersectionCallbacks.delete(e),intersectionObserver?.unobserve(e)}function useVisibleCallback(e,t,n){const o=n?.enabled??!0,r=useLatest(t);React.useEffect(()=>{const t=e.current;if(t)return o?observe(t,e=>{e.isIntersecting&&r.current()}):unobserve(t),()=>{unobserve(t)}},[o])}function subscribe(e){return window.addEventListener("blur",e),window.addEventListener("focus",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("focus",e)}}function getSnapshot(){return document.hasFocus()}function getServerSnapshot(){return!0}function useWindowFocus(){return React.useSyncExternalStore(subscribe,getSnapshot,getServerSnapshot)}function AttachmentIcon(e){return jsxRuntime.exports.jsx(Icon,{...e,children:jsxRuntime.exports.jsx("path",{d:"m14.077 11.737-3.723 3.62c-1.55 1.507-4.128 1.507-5.678 0-1.543-1.5-1.543-4.02 0-5.52l5.731-5.573c1.034-1.006 2.754-1.007 3.789-.003 1.03 1 1.032 2.682.003 3.684l-5.744 5.572a1.377 1.377 0 0 1-1.893 0 1.283 1.283 0 0 1-.392-.92c0-.345.14-.676.392-.92L10.348 8"})})}function BoldIcon(e){return jsxRuntime.exports.jsx(Icon,{...e,children:jsxRuntime.exports.jsx("path",{d:"M5.5 10h6.63m0 5.75H5.5V4.25h5.63M11.125 10a2.875 2.875 0 0 0 0-5.75m1 11.5a2.875 2.875 0 0 0 0-5.75"})})}function CodeIcon(e){return jsxRuntime.exports.jsx(Icon,{...e,children:jsxRuntime.exports.jsx("path",{d:"m7.5 6-4 4 4 4m5-8 4 4-4 4"})})}function EmojiIcon(e){return jsxRuntime.exports.jsxs(Icon,{...e,children:[jsxRuntime.exports.jsx("path",{d:"M10 17a7 7 0 1 0 0-14 7 7 0 0 0 0 14Z"}),jsxRuntime.exports.jsx("path",{d:"M7.5 11.5S8.25 13 10 13s2.5-1.5 2.5-1.5M8 8h.007"}),jsxRuntime.exports.jsx("path",{d:"M12 8h.007"}),jsxRuntime.exports.jsx("circle",{cx:8,cy:8,r:.25}),jsxRuntime.exports.jsx("circle",{cx:12,cy:8,r:.25})]})}function ItalicIcon(e){return jsxRuntime.exports.jsx(Icon,{...e,children:jsxRuntime.exports.jsx("path",{d:"M15 4.25H8m4 11.5H5m6.75-11.5-3.5 11.5"})})}function MentionIcon(e){return jsxRuntime.exports.jsxs(Icon,{...e,children:[jsxRuntime.exports.jsx("path",{d:"M10 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"}),jsxRuntime.exports.jsx("path",{d:"M13 7v3.7c0 1.105.855 2.1 1.9 2.1a2.12 2.12 0 0 0 2.1-2.1V10a7 7 0 1 0-2.8 5.6"})]})}function SendIcon(e){return jsxRuntime.exports.jsx(Icon,{...e,children:jsxRuntime.exports.jsx("path",{d:"m5 16 12-6L5 4l2 6-2 6ZM7 10h10"})})}function StrikethroughIcon(e){return jsxRuntime.exports.jsx(Icon,{...e,children:jsxRuntime.exports.jsx("path",{d:"M15.5 10h-11m4.669 0C7.599 9.44 6.5 8.484 6.5 7.125 6.5 5.537 7.79 4.25 10 4.25c1.654 0 2.793.721 3.261 1.75M6.74 14c.468 1.029 1.607 1.75 3.261 1.75 2 0 3.5-1 3.5-2.5 0-.085-.004-.169-.013-.25"})})}function useControllableState(e,t,n){const[o,r]=React.useState(n),a=void 0!==e,i=React.useRef(a);React.useEffect(()=>{i.current=a},[a]);return[a?e:o,React.useCallback(e=>(a||r(e),t?.(e)),[a,t])]}function SpinnerIcon(e){return jsxRuntime.exports.jsx(Icon,{...e,children:jsxRuntime.exports.jsx("path",{d:"M3 10a7 7 0 0 1 7-7",className:"lb-icon-spinner"})})}function WarningIcon(e){return jsxRuntime.exports.jsxs(Icon,{...e,children:[jsxRuntime.exports.jsx("path",{d:"m3.794 13.526 5.326-9.89a1 1 0 0 1 1.76 0l5.326 9.89a1 1 0 0 1-.88 1.474H4.674a1 1 0 0 1-.88-1.474ZM10 7.5v2m0 2.5h.007"}),jsxRuntime.exports.jsx("circle",{cx:10,cy:12,r:.25})]})}const we=0,zt=1,qt=2,kn=4;function un(e){return()=>e}function fo(e){e()}function ne(e,t){return n=>e(t(n))}function an(e,t){return()=>e(t)}function mo(e,t){return n=>e(t,n)}function We(e){return void 0!==e}function po(...e){return()=>{e.map(fo)}}function Yt(){}function ve(e,t){return t(e),e}function ho(e,t){return t(e)}function X(...e){return e}function K(e,t){return e(zt,t)}function G(e,t){e(we,t)}function Ge(e){e(qt)}function ot(e){return e(kn)}function O(e,t){return K(e,mo(t,we))}function Tt(e,t){const n=e(zt,e=>{n(),t(e)});return n}function dn(e){let t,n;return o=>r=>{t=r,n&&clearTimeout(n),n=setTimeout(()=>{o(t)},e)}}function Fn(e,t){return e===t}function Z(e=Fn){let t;return n=>o=>{e(t,o)||(t=o,n(o))}}function A(e){return t=>n=>{e(n)&&t(n)}}function E(e){return t=>ne(t,e)}function Rt(e){return t=>()=>{t(e)}}function x(e,...t){const n=go(...t);return(t,o)=>{switch(t){case qt:return void Ge(e);case zt:return K(e,n(o))}}}function bt(e,t){return n=>o=>{n(t=e(t,o))}}function Dt(e){return t=>n=>{e>0?e--:t(n)}}function kt(e){let t,n=null;return o=>r=>{n=r,!t&&(t=setTimeout(()=>{t=void 0,o(n)},e))}}function N(...e){const t=new Array(e.length);let n=0,o=null;const r=Math.pow(2,e.length)-1;return e.forEach((e,a)=>{const i=Math.pow(2,a);K(e,e=>{const s=n;n|=i,t[a]=e,s!==r&&n===r&&o&&(o(),o=null)})}),e=>a=>{const i=()=>{e([a].concat(t))};n===r?i():o=i}}function go(...e){return t=>e.reduceRight(ho,t)}function Io(e){let t,n;const o=()=>null==t?void 0:t();return function(r,a){switch(r){case zt:return a?n===a?void 0:(o(),n=a,t=K(e,a),t):(o(),Yt);case qt:return o(),void(n=null)}}}function C(e){let t=e;const n=$();return(e,o)=>{switch(e){case we:t=o;break;case zt:o(t);break;case kn:return t}return n(e,o)}}function ct(e,t){return ve(C(t),t=>O(e,t))}function $(){const e=[];return(t,n)=>{switch(t){case we:return void e.slice().forEach(e=>{e(n)});case qt:return void e.splice(0,e.length);case zt:return e.push(n),()=>{const t=e.indexOf(n);t>-1&&e.splice(t,1)}}}}function ht(e){return ve($(),t=>O(e,t))}function U(e,t=[],{singleton:n}={singleton:!0}){return{constructor:e,dependencies:t,id:So(),singleton:n}}const So=()=>Symbol();function xo(e){const t=new Map,n=({constructor:e,dependencies:o,id:r,singleton:a})=>{if(a&&t.has(r))return t.get(r);const i=e(o.map(e=>n(e)));return a&&t.set(r,i),i};return n(e)}function rt(...e){const t=$(),n=new Array(e.length);let o=0;const r=Math.pow(2,e.length)-1;return e.forEach((e,a)=>{const i=Math.pow(2,a);K(e,e=>{n[a]=e,o|=i,o===r&&G(t,n)})}),function(e,a){switch(e){case qt:return void Ge(t);case zt:return o===r&&a(n),K(t,a)}}}function V(e,t=Fn){return x(e,Z(t))}function Le(...e){return function(t,n){switch(t){case qt:return;case zt:return po(...e.map(e=>K(e,n)))}}}var mt=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(mt||{});const To={0:"debug",3:"error",1:"log",2:"warn"},Co=()=>typeof globalThis>"u"?window:globalThis,Vt=U(()=>{const e=C(3);return{log:C((t,n,o=1)=>{var r;o>=(null!=(r=Co().VIRTUOSO_LOG_LEVEL)?r:ot(e))&&console[To[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",t,n)}),logLevel:e}},[],{singleton:!0});function Ht(e,t,n){return _e(e,t,n).callbackRef}function _e(e,t,n){const o=React__default.default.useRef(null);let r=e=>{};const a=React__default.default.useMemo(()=>typeof ResizeObserver<"u"?new ResizeObserver(t=>{const o=()=>{const n=t[0].target;null!==n.offsetParent&&e(n)};n?o():requestAnimationFrame(o)}):null,[e,n]);return r=e=>{e&&t?(null==a||a.observe(e),o.current=e):(o.current&&(null==a||a.unobserve(o.current)),o.current=null)},{callbackRef:r,ref:o}}function On(e,t,n,o,r,a,i,s,l){const c=React__default.default.useCallback(n=>{const l=wo(n.children,t,s?"offsetWidth":"offsetHeight",r);let c=n.parentElement;for(;!c.dataset.virtuosoScroller;)c=c.parentElement;const d="window"===c.lastElementChild.dataset.viewportType;let u;d&&(u=c.ownerDocument.defaultView);const f=i?s?i.scrollLeft:i.scrollTop:d?s?u.scrollX||u.document.documentElement.scrollLeft:u.scrollY||u.document.documentElement.scrollTop:s?c.scrollLeft:c.scrollTop,p=i?s?i.scrollWidth:i.scrollHeight:d?s?u.document.documentElement.scrollWidth:u.document.documentElement.scrollHeight:s?c.scrollWidth:c.scrollHeight,_=i?s?i.offsetWidth:i.offsetHeight:d?s?u.innerWidth:u.innerHeight:s?c.offsetWidth:c.offsetHeight;o({scrollHeight:p,scrollTop:Math.max(f,0),viewportHeight:_}),null==a||a(s?fn("column-gap",getComputedStyle(n).columnGap,r):fn("row-gap",getComputedStyle(n).rowGap,r)),null!==l&&e(l)},[e,t,r,a,i,o,s]);return _e(c,n,l)}function wo(e,t,n,o){const r=e.length;if(0===r)return null;const a=[];for(let i=0;i<r;i++){const r=e.item(i);if(void 0===r.dataset.index)continue;const s=parseInt(r.dataset.index),l=parseFloat(r.dataset.knownSize),c=t(r,n);if(0===c&&o("Zero-sized element, this should not happen",{child:r},mt.ERROR),c===l)continue;const d=a[a.length-1];0===a.length||d.size!==c||d.endIndex!==s-1?a.push({endIndex:s,size:c,startIndex:s}):a[a.length-1].endIndex++}return a}function fn(e,t,n){return"normal"!==t&&!(null!=t&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,mt.WARN),"normal"===t?0:parseInt(null!=t?t:"0",10)}function Ne(e,t,n){const o=React__default.default.useRef(null),r=React__default.default.useCallback(n=>{if(null==n||!n.offsetParent)return;const r=n.getBoundingClientRect(),a=r.width;let s,l;if(t){const e=t.getBoundingClientRect(),n=r.top-e.top;l=e.height-Math.max(0,n),s=n+t.scrollTop}else{const e=i.current.ownerDocument.defaultView;l=e.innerHeight-Math.max(0,r.top),s=r.top+e.scrollY}o.current={offsetTop:s,visibleHeight:l,visibleWidth:a},e(o.current)},[e,t]),{callbackRef:a,ref:i}=_e(r,!0,n),s=React__default.default.useCallback(()=>{r(i.current)},[r,i]);return React__default.default.useEffect(()=>{var e;if(t){t.addEventListener("scroll",s);const e=new ResizeObserver(()=>{requestAnimationFrame(s)});return e.observe(t),()=>{t.removeEventListener("scroll",s),e.unobserve(t)}}{const t=null==(e=i.current)?void 0:e.ownerDocument.defaultView;return null==t||t.addEventListener("scroll",s),null==t||t.addEventListener("resize",s),()=>{null==t||t.removeEventListener("scroll",s),null==t||t.removeEventListener("resize",s)}}},[s,t,i]),a}const at=U(()=>{const e=$(),t=$(),n=C(0),o=$(),r=C(0),a=$(),i=$(),s=C(0),l=C(0),c=C(0),d=C(0),u=$(),f=$(),p=C(!1),_=C(!1),m=C(!1);return O(x(e,E(({scrollTop:e})=>e)),t),O(x(e,E(({scrollHeight:e})=>e)),i),O(t,r),{deviation:n,fixedFooterHeight:c,fixedHeaderHeight:l,footerHeight:d,headerHeight:s,horizontalDirection:_,scrollBy:f,scrollContainerState:e,scrollHeight:i,scrollingInProgress:p,scrollTo:u,scrollTop:t,skipAnimationFrameInResizeObserver:m,smoothScrollTargetReached:o,statefulScrollTop:r,viewportHeight:a}},[],{singleton:!0}),oe={lvl:0};function Ln(e,t){const n=e.length;if(0===n)return[];let{index:o,value:r}=t(e[0]);const a=[];for(let i=1;i<n;i++){const{index:n,value:s}=t(e[i]);a.push({end:n-1,start:o,value:r}),o=n,r=s}return a.push({end:1/0,start:o,value:r}),a}function j(e){return e===oe}function re(e,t){if(!j(e))return t===e.k?e.v:t<e.k?re(e.l,t):re(e.r,t)}function wt(e,t,n="k"){if(j(e))return[-1/0,void 0];if(Number(e[n])===t)return[e.k,e.v];if(Number(e[n])<t){const o=wt(e.r,t,n);return o[0]===-1/0?[e.k,e.v]:o}return wt(e.l,t,n)}function pt(e,t,n){return j(e)?Pn(t,n,1):t===e.k?st(e,{k:t,v:n}):t<e.k?mn(st(e,{l:pt(e.l,t,n)})):mn(st(e,{r:pt(e.r,t,n)}))}function jt(){return oe}function ye(e,t,n){if(j(e))return[];return vo(Ve(e,wt(e,t)[0],n))}function ze(e,t){if(j(e))return oe;const{k:n,l:o,r:r}=e;if(t===n){if(j(o))return r;if(j(r))return o;{const[t,n]=Vn(o);return ge(st(e,{k:t,l:zn(o),v:n}))}}return ge(st(e,t<n?{l:ze(o,t)}:{r:ze(r,t)}))}function Gt(e){return j(e)?[]:[...Gt(e.l),{k:e.k,v:e.v},...Gt(e.r)]}function Ve(e,t,n){if(j(e))return[];const{k:o,l:r,r:a,v:i}=e;let s=[];return o>t&&(s=s.concat(Ve(r,t,n))),o>=t&&o<=n&&s.push({k:o,v:i}),o<=n&&(s=s.concat(Ve(a,t,n))),s}function ge(e){const{l:t,lvl:n,r:o}=e;if(o.lvl>=n-1&&t.lvl>=n-1)return e;if(n>o.lvl+1){if(Ee(t))return An(st(e,{lvl:n-1}));if(!j(t)&&!j(t.r))return st(t.r,{l:st(t,{r:t.r.l}),lvl:n,r:st(e,{l:t.r.r,lvl:n-1})});throw new Error("Unexpected empty nodes")}if(Ee(e))return Pe(st(e,{lvl:n-1}));if(j(o)||j(o.l))throw new Error("Unexpected empty nodes");{const t=o.l,r=Ee(t)?o.lvl-1:o.lvl;return st(t,{l:st(e,{lvl:n-1,r:t.l}),lvl:t.lvl+1,r:Pe(st(o,{l:t.r,lvl:r}))})}}function st(e,t){return Pn(void 0!==t.k?t.k:e.k,void 0!==t.v?t.v:e.v,void 0!==t.lvl?t.lvl:e.lvl,void 0!==t.l?t.l:e.l,void 0!==t.r?t.r:e.r)}function zn(e){return j(e.r)?e.l:ge(st(e,{r:zn(e.r)}))}function Ee(e){return j(e)||e.lvl>e.r.lvl}function Vn(e){return j(e.r)?[e.k,e.v]:Vn(e.r)}function Pn(e,t,n,o=oe,r=oe){return{k:e,l:o,lvl:n,r:r,v:t}}function mn(e){return Pe(An(e))}function An(e){const{l:t}=e;return j(t)||t.lvl!==e.lvl?e:st(t,{r:st(e,{l:t.r})})}function Pe(e){const{lvl:t,r:n}=e;return j(n)||j(n.r)||n.lvl!==t||n.r.lvl!==t?e:st(n,{l:st(e,{r:n.l}),lvl:t+1})}function vo(e){return Ln(e,({k:e,v:t})=>({index:e,value:t}))}function Mn(e,t){return!(!e||e.startIndex!==t.startIndex||e.endIndex!==t.endIndex)}function se(e,t){return!(!e||e[0]!==t[0]||e[1]!==t[1])}const De=U(()=>({recalcInProgress:C(!1)}),[],{singleton:!0});function Wn(e,t,n){return e[Se(e,t,n)]}function Se(e,t,n,o=0){let r=e.length-1;for(;o<=r;){const a=Math.floor((o+r)/2),i=n(e[a],t);if(0===i)return a;if(-1===i){if(r-o<2)return a-1;r=a-1}else{if(r===o)return a;o=a+1}}throw new Error(`Failed binary finding record in array - ${e.join(",")}, searched for ${t}`)}function yo(e,t,n,o){const r=Se(e,t,o),a=Se(e,n,o,r);return e.slice(r,a+1)}function vt(e,t){return Math.round(e.getBoundingClientRect()[t])}function Re(e){return!j(e.groupOffsetTree)}function $e({index:e},t){return t===e?0:t<e?-1:1}function Ro(){return{groupIndices:[],groupOffsetTree:jt(),lastIndex:0,lastOffset:0,lastSize:0,offsetTree:[],sizeTree:jt()}}function bo(e,t){let n=j(e)?0:1/0;for(const o of t){const{endIndex:t,size:r,startIndex:a}=o;if(n=Math.min(n,a),j(e)){e=pt(e,0,r);continue}const i=ye(e,a-1,t+1);if(i.some(Lo(o)))continue;let s=!1,l=!1;for(const{end:n,start:o,value:a}of i)s?(t>=o||r===a)&&(e=ze(e,o)):(l=a!==r,s=!0),n>t&&t>=o&&a!==r&&(e=pt(e,t+1,a));l&&(e=pt(e,a,r))}return[e,n]}function Ho(e){return typeof e.groupIndex<"u"}function Eo({offset:e},t){return t===e?0:t<e?-1:1}function ie(e,t,n){if(0===t.length)return 0;const{index:o,offset:r,size:a}=Wn(t,e,$e),i=e-o,s=a*i+(i-1)*n+r;return s>0?s+n:s}function Gn(e,t){if(!Re(t))return e;let n=0;for(;t.groupIndices[n]<=e+n;)n++;return e+n}function _n(e,t,n){if(Ho(e))return t.groupIndices[e.groupIndex]+1;{let o=Gn("LAST"===e.index?n:e.index,t);return o=Math.max(0,o,Math.min(n,o)),o}}function Bo(e,t,n,o=0){return o>0&&(t=Math.max(t,Wn(e,o,$e).offset)),Ln(yo(e,t,n,Eo),Oo)}function ko(e,[t,n,o,r]){t.length>0&&o("received item sizes",t,mt.DEBUG);const a=e.sizeTree;let i=a,s=0;if(n.length>0&&j(a)&&2===t.length){const e=t[0].size,o=t[1].size;i=n.reduce((t,n)=>pt(pt(t,n,e),n+1,o),i)}else[i,s]=bo(i,t);if(i===a)return e;const{lastIndex:l,lastOffset:c,lastSize:d,offsetTree:u}=Ae(e.offsetTree,s,i,r);return{groupIndices:n,groupOffsetTree:n.reduce((e,t)=>pt(e,t,ie(t,u,r)),jt()),lastIndex:l,lastOffset:c,lastSize:d,offsetTree:u,sizeTree:i}}function Fo(e){return Gt(e).map(({k:e,v:t},n,o)=>{const r=o[n+1];return{endIndex:r?r.k-1:1/0,size:t,startIndex:e}})}function pn(e,t){let n=0,o=0;for(;n<e;)n+=t[o+1]-t[o]-1,o++;return o-(n===e?0:1)}function Ae(e,t,n,o){let r=e,a=0,i=0,s=0,l=0;if(0!==t){l=Se(r,t-1,$e),s=r[l].offset;const e=wt(n,t-1);a=e[0],i=e[1],r.length&&r[l].size===wt(n,t)[1]&&(l-=1),r=r.slice(0,l+1)}else r=[];for(const{start:e,value:l}of ye(n,t,1/0)){const t=e-a,n=t*i+s+t*o;r.push({index:e,offset:n,size:l}),a=e,s=n,i=l}return{lastIndex:a,lastOffset:s,lastSize:i,offsetTree:r}}function Oo(e){return{index:e.index,value:e}}function Lo(e){const{endIndex:t,size:n,startIndex:o}=e;return e=>e.start===o&&(e.end===t||e.end===1/0)&&e.value===n}const zo={offsetHeight:"height",offsetWidth:"width"},Et=U(([{log:e},{recalcInProgress:t}])=>{const n=$(),o=$(),r=ct(o,0),a=$(),i=$(),s=C(0),l=C([]),c=C(void 0),d=C(void 0),u=C((e,t)=>vt(e,zo[t])),f=C(void 0),p=C(0),_=Ro(),m=ct(x(n,N(l,e,p),bt(ko,_),Z()),_),h=ct(x(l,Z(),bt((e,t)=>({current:t,prev:e.current}),{current:[],prev:[]}),E(({prev:e})=>e)),[]);O(x(l,A(e=>e.length>0),N(m,p),E(([e,t,n])=>{const o=e.reduce((e,o,r)=>pt(e,o,ie(o,t.offsetTree,n)||r),jt());return{...t,groupIndices:e,groupOffsetTree:o}})),m),O(x(o,N(m),A(([e,{lastIndex:t}])=>e<t),E(([e,{lastIndex:t,lastSize:n}])=>[{endIndex:t,size:n,startIndex:e}])),n),O(c,d);const g=ct(x(c,E(e=>void 0===e)),!0);O(x(d,A(e=>void 0!==e&&j(ot(m).sizeTree)),E(e=>[{endIndex:0,size:e,startIndex:0}])),n);const b=ht(x(n,N(m),bt(({sizes:e},[t,n])=>({changed:n!==e,sizes:n}),{changed:!1,sizes:_}),E(e=>e.changed)));K(x(s,bt((e,t)=>({diff:e.prev-t,prev:t}),{diff:0,prev:0}),E(e=>e.diff)),e=>{const{groupIndices:n}=ot(m);if(e>0)G(t,!0),G(a,e+pn(e,n));else if(e<0){const t=ot(h);t.length>0&&(e-=pn(-e,t)),G(i,e)}}),K(x(s,N(e)),([e,t])=>{e<0&&t("`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value",{firstItemIndex:s},mt.ERROR)});const v=ht(a);O(x(a,N(m),E(([e,t])=>{const n=t.groupIndices.length>0,o=[],r=t.lastSize;if(n){const n=re(t.sizeTree,0);let a=0,i=0;for(;a<e;){const e=t.groupIndices[i],s=t.groupIndices.length===i+1?1/0:t.groupIndices[i+1]-e-1;o.push({endIndex:e,size:n,startIndex:e}),o.push({endIndex:e+1+s-1,size:r,startIndex:e+1}),i++,a+=s+1}const s=Gt(t.sizeTree);return a!==e&&s.shift(),s.reduce((t,{k:n,v:o})=>{let r=t.ranges;return 0!==t.prevSize&&(r=[...t.ranges,{endIndex:n+e-1,size:t.prevSize,startIndex:t.prevIndex}]),{prevIndex:n+e,prevSize:o,ranges:r}},{prevIndex:e,prevSize:0,ranges:o}).ranges}return Gt(t.sizeTree).reduce((t,{k:n,v:o})=>({prevIndex:n+e,prevSize:o,ranges:[...t.ranges,{endIndex:n+e-1,size:t.prevSize,startIndex:t.prevIndex}]}),{prevIndex:0,prevSize:r,ranges:[]}).ranges})),n);const y=ht(x(i,N(m,p),E(([e,{offsetTree:t},n])=>ie(-e,t,n))));return O(x(i,N(m,p),E(([e,t,n])=>{if(t.groupIndices.length>0){if(j(t.sizeTree))return t;let o=jt();const r=ot(h);let a=0,i=0,s=0;for(;a<-e;){s=r[i];const e=r[i+1]-s-1;i++,a+=e+1}if(o=Gt(t.sizeTree).reduce((t,{k:n,v:o})=>pt(t,Math.max(0,n+e),o),o),a!==-e){o=pt(o,0,re(t.sizeTree,s));o=pt(o,1,wt(t.sizeTree,1-e)[1])}return{...t,sizeTree:o,...Ae(t.offsetTree,0,o,n)}}{const o=Gt(t.sizeTree).reduce((t,{k:n,v:o})=>pt(t,Math.max(0,n+e),o),jt());return{...t,sizeTree:o,...Ae(t.offsetTree,0,o,n)}}})),m),{beforeUnshiftWith:v,data:f,defaultItemSize:d,firstItemIndex:s,fixedItemSize:c,gap:p,groupIndices:l,itemSize:u,listRefresh:b,shiftWith:i,shiftWithOffset:y,sizeRanges:n,sizes:m,statefulTotalCount:r,totalCount:o,trackItemSizes:g,unshiftWith:a}},X(Vt,De),{singleton:!0});function Vo(e){return e.reduce((e,t)=>(e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e),{groupIndices:[],totalCount:0})}const Nn=U(([{groupIndices:e,sizes:t,totalCount:n},{headerHeight:o,scrollTop:r}])=>{const a=$(),i=$(),s=ht(x(a,E(Vo)));return O(x(s,E(e=>e.totalCount)),n),O(x(s,E(e=>e.groupIndices)),e),O(x(rt(r,t,o),A(([e,t])=>Re(t)),E(([e,t,n])=>wt(t.groupOffsetTree,Math.max(e-n,0),"v")[0]),Z(),E(e=>[e])),i),{groupCounts:a,topItemsIndexes:i}},X(Et,at)),Pt=U(([{log:e}])=>{const t=C(!1),n=ht(x(t,A(e=>e),Z()));return K(t,t=>{t&&ot(e)("props updated",{},mt.DEBUG)}),{didMount:n,propsReady:t}},X(Vt),{singleton:!0}),Po=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function Dn(e){const t="number"==typeof e?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!Po)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const ce=U(([{gap:e,listRefresh:t,sizes:n,totalCount:o},{fixedFooterHeight:r,fixedHeaderHeight:a,footerHeight:i,headerHeight:s,scrollingInProgress:l,scrollTo:c,smoothScrollTargetReached:d,viewportHeight:u},{log:f}])=>{const p=$(),_=$(),m=C(0);let h=null,g=null,b=null;function v(){h&&(h(),h=null),b&&(b(),b=null),g&&(clearTimeout(g),g=null),G(l,!1)}return O(x(p,N(n,u,o,m,s,i,f),N(e,a,r),E(([[e,n,o,r,a,i,s,c],u,f,m])=>{const y=Dn(e),{align:E,behavior:w,offset:C}=y,R=r-1,S=_n(y,n,R);let D=ie(S,n.offsetTree,u)+i;"end"===E?(D+=f+wt(n.sizeTree,S)[1]-o+m,S===R&&(D+=s)):"center"===E?D+=(f+wt(n.sizeTree,S)[1]-o+m)/2:D-=a,C&&(D+=C);const T=t=>{v(),t?(c("retrying to scroll to",{location:e},mt.DEBUG),G(p,e)):(G(_,!0),c("list did not change, scroll successful",{},mt.DEBUG))};if(v(),"smooth"===w){let e=!1;b=K(t,t=>{e=e||t}),h=Tt(d,()=>{T(e)})}else h=Tt(x(t,Ao(150)),T);return g=setTimeout(()=>{v()},1200),G(l,!0),c("scrolling from index to",{behavior:w,index:S,top:D},mt.DEBUG),{behavior:w,top:D}})),c),{scrollTargetReached:_,scrollToIndex:p,topListHeight:m}},X(Et,at,Vt),{singleton:!0});function Ao(e){return t=>{const n=setTimeout(()=>{t(!1)},e);return e=>{e&&(t(!0),clearTimeout(n))}}}function Ue(e,t){0==e?t():requestAnimationFrame(()=>{Ue(e-1,t)})}function Ke(e,t){const n=t-1;return"number"==typeof e?e:"LAST"===e.index?n:e.index}const ue=U(([{defaultItemSize:e,listRefresh:t,sizes:n},{scrollTop:o},{scrollTargetReached:r,scrollToIndex:a},{didMount:i}])=>{const s=C(!0),l=C(0),c=C(!0);return O(x(i,N(l),A(([e,t])=>!!t),Rt(!1)),s),O(x(i,N(l),A(([e,t])=>!!t),Rt(!1)),c),K(x(rt(t,i),N(s,n,e,c),A(([[,e],t,{sizeTree:n},o,r])=>e&&(!j(n)||We(o))&&!t&&!r),N(l)),([,e])=>{Tt(r,()=>{G(c,!0)}),Ue(4,()=>{Tt(o,()=>{G(s,!0)}),G(a,e)})}),{initialItemFinalLocationReached:c,initialTopMostItemIndex:l,scrolledToInitialItem:s}},X(Et,at,ce,Pt),{singleton:!0});function $n(e,t){return Math.abs(e-t)<1.01}const le="up",te="down",Mo="none",Wo={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollHeight:0,scrollTop:0,viewportHeight:0}},Go=0,ae=U(([{footerHeight:e,headerHeight:t,scrollBy:n,scrollContainerState:o,scrollTop:r,viewportHeight:a}])=>{const i=C(!1),s=C(!0),l=$(),c=$(),d=C(4),u=C(Go),f=ct(x(Le(x(V(r),Dt(1),Rt(!0)),x(V(r),Dt(1),Rt(!1),dn(100))),Z()),!1),p=ct(x(Le(x(n,Rt(!0)),x(n,Rt(!1),dn(200))),Z()),!1);O(x(rt(V(r),V(u)),E(([e,t])=>e<=t),Z()),s),O(x(s,kt(50)),c);const _=ht(x(rt(o,V(a),V(t),V(e),V(d)),bt((e,[{scrollHeight:t,scrollTop:n},o,r,a,i])=>{const s={scrollHeight:t,scrollTop:n,viewportHeight:o};if(n+o-t>-i){let t,o;return n>e.state.scrollTop?(t="SCROLLED_DOWN",o=e.state.scrollTop-n):(t="SIZE_DECREASED",o=e.state.scrollTop-n||e.scrollTopDelta),{atBottom:!0,atBottomBecause:t,scrollTopDelta:o,state:s}}let l;return l=s.scrollHeight>e.state.scrollHeight?"SIZE_INCREASED":o<e.state.viewportHeight?"VIEWPORT_HEIGHT_DECREASING":n<e.state.scrollTop?"SCROLLING_UPWARDS":"NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:l,state:s}},Wo),Z((e,t)=>e&&e.atBottom===t.atBottom))),m=ct(x(o,bt((e,{scrollHeight:t,scrollTop:n,viewportHeight:o})=>{if($n(e.scrollHeight,t))return{changed:!1,jump:0,scrollHeight:t,scrollTop:n};{const r=t-(n+o)<1;return e.scrollTop!==n&&r?{changed:!0,jump:e.scrollTop-n,scrollHeight:t,scrollTop:n}:{changed:!0,jump:0,scrollHeight:t,scrollTop:n}}},{changed:!1,jump:0,scrollHeight:0,scrollTop:0}),A(e=>e.changed),E(e=>e.jump)),0);O(x(_,E(e=>e.atBottom)),i),O(x(i,kt(50)),l);const h=C(te);O(x(o,E(({scrollTop:e})=>e),Z(),bt((e,t)=>ot(p)?{direction:e.direction,prevScrollTop:t}:{direction:t<e.prevScrollTop?le:te,prevScrollTop:t},{direction:te,prevScrollTop:0}),E(e=>e.direction)),h),O(x(o,kt(50),Rt(Mo)),h);const g=C(0);return O(x(f,A(e=>!e),Rt(0)),g),O(x(r,kt(100),N(f),A(([e,t])=>!!t),bt(([e,t],[n])=>[t,n],[0,0]),E(([e,t])=>t-e)),g),{atBottomState:_,atBottomStateChange:l,atBottomThreshold:d,atTopStateChange:c,atTopThreshold:u,isAtBottom:i,isAtTop:s,isScrolling:f,lastJumpDueToItemResize:m,scrollDirection:h,scrollVelocity:g}},X(at)),xe="top",Te="bottom",hn="none";function gn(e,t,n){return"number"==typeof e?n===le&&t===xe||n===te&&t===Te?e:0:n===le?t===xe?e.main:e.reverse:t===Te?e.main:e.reverse}function In(e,t){var n;return"number"==typeof e?e:null!=(n=e[t])?n:0}const je=U(([{deviation:e,fixedHeaderHeight:t,headerHeight:n,scrollTop:o,viewportHeight:r}])=>{const a=$(),i=C(0),s=C(0),l=C(0),c=ct(x(rt(V(o),V(r),V(n),V(a,se),V(l),V(i),V(t),V(e),V(s)),E(([e,t,n,[o,r],a,i,s,l,c])=>{const d=e-l,u=i+s,f=Math.max(n-d,0);let p=hn;const _=In(c,xe),m=In(c,Te);return o-=l,r+=n+s,(o+=n+s)>e+u-_&&(p=le),(r-=l)<e-f+t+m&&(p=te),p!==hn?[Math.max(d-n-gn(a,xe,p)-_,0),d-f-s+t+gn(a,Te,p)+m]:null}),A(e=>null!=e),Z(se)),[0,0]);return{increaseViewportBy:s,listBoundary:a,overscan:l,topListHeight:i,visibleRange:c}},X(at),{singleton:!0});function _o(e,t,n){if(Re(t)){const o=Gn(e,t);return[{index:wt(t.groupOffsetTree,o)[0],offset:0,size:0},{data:null==n?void 0:n[0],index:o,offset:0,size:0}]}return[{data:null==n?void 0:n[0],index:e,offset:0,size:0}]}const Be={bottom:0,firstItemIndex:0,items:[],offsetBottom:0,offsetTop:0,top:0,topItems:[],topListHeight:0,totalCount:0};function Ie(e,t,n,o,r,a){const{lastIndex:i,lastOffset:s,lastSize:l}=r;let c=0,d=0;if(e.length>0){c=e[0].offset;const t=e[e.length-1];d=t.offset+t.size}const u=n-i,f=c,p=s+u*l+(u-1)*o-d;return{bottom:d,firstItemIndex:a,items:Sn(e,r,a),offsetBottom:p,offsetTop:c,top:f,topItems:Sn(t,r,a),topListHeight:t.reduce((e,t)=>t.size+e,0),totalCount:n}}function Un(e,t,n,o,r,a){let i=0;if(n.groupIndices.length>0)for(const t of n.groupIndices){if(t-i>=e)break;i++}const s=e+i,l=Ke(t,s);return Ie(Array.from({length:s}).map((e,t)=>({data:a[t+l],index:t+l,offset:0,size:0})),[],s,r,n,o)}function Sn(e,t,n){if(0===e.length)return[];if(!Re(t))return e.map(e=>({...e,index:e.index+n,originalIndex:e.index}));const o=e[0].index,r=e[e.length-1].index,a=[],i=ye(t.groupOffsetTree,o,r);let s,l=0;for(const o of e){let e;(!s||s.end<o.index)&&(s=i.shift(),l=t.groupIndices.indexOf(s.start)),e=o.index===s.start?{index:l,type:"group"}:{groupIndex:l,index:o.index-(l+1)+n},a.push({...e,data:o.data,offset:o.offset,originalIndex:o.index,size:o.size})}return a}const $t=U(([{data:e,firstItemIndex:t,gap:n,sizes:o,totalCount:r},a,{listBoundary:i,topListHeight:s,visibleRange:l},{initialTopMostItemIndex:c,scrolledToInitialItem:d},{topListHeight:u},f,{didMount:p},{recalcInProgress:_}])=>{const m=C([]),h=C(0),g=$();O(a.topItemsIndexes,m);const b=ct(x(rt(p,_,V(l,se),V(r),V(o),V(c),d,V(m),V(t),V(n),e),A(([e,t,,n,,,,,,,o])=>{const r=o&&o.length!==n;return e&&!t&&!r}),E(([,,[e,t],n,o,r,a,i,s,l,c])=>{const d=o,{offsetTree:u,sizeTree:f}=d,p=ot(h);if(0===n)return{...Be,totalCount:n};if(0===e&&0===t)return 0===p?{...Be,totalCount:n}:Un(p,r,o,s,l,c||[]);if(j(f))return p>0?null:Ie(_o(Ke(r,n),d,c),[],n,l,d,s);const _=[];if(i.length>0){const e=i[0],t=i[i.length-1];let n=0;for(const o of ye(f,e,t)){const r=o.value,a=Math.max(o.start,e),i=Math.min(o.end,t);for(let e=a;e<=i;e++)_.push({data:null==c?void 0:c[e],index:e,offset:n,size:r}),n+=r}}if(!a)return Ie([],_,n,l,d,s);const m=i.length>0?i[i.length-1]+1:0,g=Bo(u,e,t,m);if(0===g.length)return null;const b=n-1;return Ie(ve([],n=>{for(const o of g){const r=o.value;let a=r.offset,i=o.start;const s=r.size;if(r.offset<e){i+=Math.floor((e-r.offset+l)/(s+l));const t=i-o.start;a+=t*s+t*l}i<m&&(a+=(m-i)*s,i=m);const d=Math.min(o.end,b);for(let e=i;e<=d&&!(a>=t);e++)n.push({data:null==c?void 0:c[e],index:e,offset:a,size:s}),a+=s+l}}),_,n,l,d,s)}),A(e=>null!==e),Z()),Be);O(x(e,A(We),E(e=>null==e?void 0:e.length)),r),O(x(b,E(e=>e.topListHeight)),u),O(u,s),O(x(b,E(e=>[e.top,e.bottom])),i),O(x(b,E(e=>e.items)),g);const v=ht(x(b,A(({items:e})=>e.length>0),N(r,e),A(([{items:e},t])=>e[e.length-1].originalIndex===t-1),E(([,e,t])=>[e-1,t]),Z(se),E(([e])=>e))),y=ht(x(b,kt(200),A(({items:e,topItems:t})=>e.length>0&&e[0].originalIndex===t.length),E(({items:e})=>e[0].index),Z())),w=ht(x(b,A(({items:e})=>e.length>0),E(({items:e})=>{let t=0,n=e.length-1;for(;"group"===e[t].type&&t<n;)t++;for(;"group"===e[n].type&&n>t;)n--;return{endIndex:e[n].index,startIndex:e[t].index}}),Z(Mn)));return{endReached:v,initialItemCount:h,itemsRendered:g,listState:b,rangeChanged:w,startReached:y,topItemsIndexes:m,...f}},X(Et,Nn,je,ue,ce,ae,Pt,De),{singleton:!0}),Kn=U(([{fixedFooterHeight:e,fixedHeaderHeight:t,footerHeight:n,headerHeight:o},{listState:r}])=>{const a=$(),i=ct(x(rt(n,e,o,t,r),E(([e,t,n,o,r])=>e+t+n+o+r.offsetBottom+r.bottom)),0);return O(V(i),a),{totalListHeight:i,totalListHeightChanged:a}},X(at,$t),{singleton:!0}),No=U(([{viewportHeight:e},{totalListHeight:t}])=>{const n=C(!1),o=ct(x(rt(n,e,t),A(([e])=>e),E(([,e,t])=>Math.max(0,e-t)),kt(0),Z()),0);return{alignToBottom:n,paddingTopAddition:o}},X(at,Kn),{singleton:!0}),jn=U(()=>({context:C(null)})),Do=({itemBottom:e,itemTop:t,locationParams:{align:n,behavior:o,...r},viewportBottom:a,viewportTop:i})=>t<i?{...r,align:null!=n?n:"start",behavior:o}:e>a?{...r,align:null!=n?n:"end",behavior:o}:null,qn=U(([{gap:e,sizes:t,totalCount:n},{fixedFooterHeight:o,fixedHeaderHeight:r,headerHeight:a,scrollingInProgress:i,scrollTop:s,viewportHeight:l},{scrollToIndex:c}])=>{const d=$();return O(x(d,N(t,l,n,a,r,o,s),N(e),E(([[e,t,n,o,r,a,s,l],c])=>{const{align:d,behavior:u,calculateViewLocation:f=Do,done:p,..._}=e,m=_n(e,t,o-1),h=ie(m,t.offsetTree,c)+r+a,g=f({itemBottom:h+wt(t.sizeTree,m)[1],itemTop:h,locationParams:{align:d,behavior:u,..._},viewportBottom:l+n-s,viewportTop:l+a});return g?p&&Tt(x(i,A(e=>!e),Dt(ot(i)?1:2)),p):p&&p(),g}),A(e=>null!==e)),c),{scrollIntoView:d}},X(Et,at,ce,$t,Vt),{singleton:!0});function xn(e){return!!e&&("smooth"===e?"smooth":"auto")}const $o=(e,t)=>"function"==typeof e?xn(e(t)):t&&xn(e),Uo=U(([{listRefresh:e,totalCount:t,fixedItemSize:n,data:o},{atBottomState:r,isAtBottom:a},{scrollToIndex:i},{scrolledToInitialItem:s},{didMount:l,propsReady:c},{log:d},{scrollingInProgress:u},{context:f},{scrollIntoView:p}])=>{const _=C(!1),m=$();let h=null;function g(e){G(i,{align:"end",behavior:e,index:"LAST"})}function b(e){const t=Tt(r,t=>{e&&!t.atBottom&&"SIZE_INCREASED"===t.notAtBottomBecause&&!h&&(ot(d)("scrolling to bottom due to increased size",{},mt.DEBUG),g("auto"))});setTimeout(t,100)}K(x(rt(x(V(t),Dt(1)),l),N(V(_),a,s,u),E(([[e,t],n,o,r,a])=>{let i=t&&r,s="auto";return i&&(s=$o(n,o||a),i=i&&!!s),{followOutputBehavior:s,shouldFollow:i,totalCount:e}}),A(({shouldFollow:e})=>e)),({followOutputBehavior:t,totalCount:o})=>{h&&(h(),h=null),ot(n)?requestAnimationFrame(()=>{ot(d)("following output to ",{totalCount:o},mt.DEBUG),g(t)}):h=Tt(e,()=>{ot(d)("following output to ",{totalCount:o},mt.DEBUG),g(t),h=null})}),K(x(rt(V(_),t,c),A(([e,,t])=>e&&t),bt(({value:e},[,t])=>({refreshed:e===t,value:t}),{refreshed:!1,value:0}),A(({refreshed:e})=>e),N(_,t)),([,e])=>{ot(s)&&b(!1!==e)}),K(m,()=>{b(!1!==ot(_))}),K(rt(V(_),r),([e,t])=>{e&&!t.atBottom&&"VIEWPORT_HEIGHT_DECREASING"===t.notAtBottomBecause&&g("auto")});const v=C(null),y=$();return O(Le(x(V(o),E(e=>{var t;return null!=(t=null==e?void 0:e.length)?t:0})),x(V(t))),y),K(x(rt(x(y,Dt(1)),l),N(V(v),s,u,f),E(([[e,t],n,o,r,a])=>t&&o&&(null==n?void 0:n({context:a,totalCount:e,scrollingInProgress:r}))),A(e=>!!e),kt(0)),t=>{h&&(h(),h=null),ot(n)?requestAnimationFrame(()=>{ot(d)("scrolling into view",{}),G(p,t)}):h=Tt(e,()=>{ot(d)("scrolling into view",{}),G(p,t),h=null})}),{autoscrollToBottom:m,followOutput:_,scrollIntoViewOnChange:v}},X(Et,ae,ce,ue,Pt,Vt,at,jn,qn)),Ko=U(([{data:e,firstItemIndex:t,gap:n,sizes:o},{initialTopMostItemIndex:r},{initialItemCount:a,listState:i},{didMount:s}])=>(O(x(s,N(a),A(([,e])=>0!==e),N(r,o,t,n,e),E(([[,e],t,n,o,r,a=[]])=>Un(e,t,n,o,r,a))),i),{}),X(Et,ue,$t,Pt),{singleton:!0}),jo=U(([{didMount:e},{scrollTo:t},{listState:n}])=>{const o=C(0);return K(x(e,N(o),A(([,e])=>0!==e),E(([,e])=>({top:e}))),e=>{Tt(x(n,Dt(1),A(e=>e.items.length>1)),()=>{requestAnimationFrame(()=>{G(t,e)})})}),{initialScrollTop:o}},X(Pt,at,$t),{singleton:!0}),Yn=U(([{scrollVelocity:e}])=>{const t=C(!1),n=$(),o=C(!1);return O(x(e,N(o,t,n),A(([e,t])=>!!t),E(([e,t,n,o])=>{const{enter:r,exit:a}=t;if(n){if(a(e,o))return!1}else if(r(e,o))return!0;return n}),Z()),t),K(x(rt(t,e,n),N(o)),([[e,t,n],o])=>{e&&o&&o.change&&o.change(t,n)}),{isSeeking:t,scrollSeekConfiguration:o,scrollSeekRangeChanged:n,scrollVelocity:e}},X(ae),{singleton:!0}),qe=U(([{scrollContainerState:e,scrollTo:t}])=>{const n=$(),o=$(),r=$(),a=C(!1),i=C(void 0);return O(x(rt(n,o),E(([{scrollHeight:e,scrollTop:t,viewportHeight:n},{offsetTop:o}])=>({scrollHeight:e,scrollTop:Math.max(0,t-o),viewportHeight:n}))),e),O(x(t,N(o),E(([e,{offsetTop:t}])=>({...e,top:e.top+t}))),r),{customScrollParent:i,useWindowScroll:a,windowScrollContainerState:n,windowScrollTo:r,windowViewportRect:o}},X(at)),qo=U(([{sizeRanges:e,sizes:t},{headerHeight:n,scrollTop:o},{initialTopMostItemIndex:r},{didMount:a},{useWindowScroll:i,windowScrollContainerState:s,windowViewportRect:l}])=>{const c=$(),d=C(void 0),u=C(null),f=C(null);return O(s,u),O(l,f),K(x(c,N(t,o,i,u,f,n)),([e,t,n,o,r,a,i])=>{const s=Fo(t.sizeTree);o&&null!==r&&null!==a&&(n=r.scrollTop-a.offsetTop),e({ranges:s,scrollTop:n-=i})}),O(x(d,A(We),E(Yo)),r),O(x(a,N(d),A(([,e])=>void 0!==e),Z(),E(([,e])=>e.ranges)),e),{getState:c,restoreStateFrom:d}},X(Et,at,ue,Pt,qe));function Yo(e){return{align:"start",index:0,offset:e.scrollTop}}const Zo=U(([{topItemsIndexes:e}])=>{const t=C(0);return O(x(t,A(e=>e>=0),E(e=>Array.from({length:e}).map((e,t)=>t))),e),{topItemCount:t}},X($t));function Zn(e){let t,n=!1;return()=>(n||(n=!0,t=e()),t)}const Xo=Zn(()=>/iP(ad|od|hone)/i.test(navigator.userAgent)&&/WebKit/i.test(navigator.userAgent)),Jo=U(([{deviation:e,scrollBy:t,scrollingInProgress:n,scrollTop:o},{isAtBottom:r,isScrolling:a,lastJumpDueToItemResize:i,scrollDirection:s},{listState:l},{beforeUnshiftWith:c,gap:d,shiftWithOffset:u,sizes:f},{log:p},{recalcInProgress:_}])=>{const m=ht(x(l,N(i),bt(([,e,t,n],[{bottom:o,items:r,offsetBottom:a,totalCount:i},s])=>{const l=o+a;let c=0;return t===i&&e.length>0&&r.length>0&&(0===r[0].originalIndex&&0===e[0].originalIndex||(c=l-n,0!==c&&(c+=s))),[c,r,i,l]},[0,[],0,0]),A(([e])=>0!==e),N(o,s,n,r,p,_),A(([,e,t,n,,,o])=>!o&&!n&&0!==e&&t===le),E(([[e],,,,,t])=>(t("Upward scrolling compensation",{amount:e},mt.DEBUG),e))));function h(n){n>0?(G(t,{behavior:"auto",top:-n}),G(e,0)):(G(e,0),G(t,{behavior:"auto",top:-n}))}return K(x(m,N(e,a)),([t,n,o])=>{o&&Xo()?G(e,n-t):h(-t)}),K(x(rt(ct(a,!1),e,_),A(([e,t,n])=>!e&&!n&&0!==t),E(([e,t])=>t),kt(1)),h),O(x(u,E(e=>({top:-e}))),t),K(x(c,N(f,d),E(([e,{groupIndices:t,lastSize:n,sizeTree:o},r])=>{function a(e){return e*(n+r)}if(0===t.length)return a(e);{let n=0;const r=re(o,0);let i=0,s=0;for(;i<e;){i++,n+=r;let o=t.length===s+1?1/0:t[s+1]-t[s]-1;i+o>e&&(n-=r,o=e-i+1),i+=o,n+=a(o),s++}return n}})),n=>{G(e,n),requestAnimationFrame(()=>{G(t,{top:n}),requestAnimationFrame(()=>{G(e,0),G(_,!1)})})}),{deviation:e}},X(at,ae,$t,Et,Vt,De)),Qo=U(([e,t,n,o,r,a,i,s,l,c,d])=>({...e,...t,...n,...o,...r,...a,...i,...s,...l,...c,...d}),X(je,Ko,Pt,Yn,Kn,jo,No,qe,qn,Vt,jn)),Xn=U(([{data:e,defaultItemSize:t,firstItemIndex:n,fixedItemSize:o,gap:r,groupIndices:a,itemSize:i,sizeRanges:s,sizes:l,statefulTotalCount:c,totalCount:d,trackItemSizes:u},{initialItemFinalLocationReached:f,initialTopMostItemIndex:p,scrolledToInitialItem:_},m,h,g,{listState:b,topItemsIndexes:v,...y},{scrollToIndex:w},C,{topItemCount:R},{groupCounts:S},D])=>(O(y.rangeChanged,D.scrollSeekRangeChanged),O(x(D.windowViewportRect,E(e=>e.visibleHeight)),m.viewportHeight),{data:e,defaultItemHeight:t,firstItemIndex:n,fixedItemHeight:o,gap:r,groupCounts:S,initialItemFinalLocationReached:f,initialTopMostItemIndex:p,scrolledToInitialItem:_,sizeRanges:s,topItemCount:R,topItemsIndexes:v,totalCount:d,...g,groupIndices:a,itemSize:i,listState:b,scrollToIndex:w,statefulTotalCount:c,trackItemSizes:u,...y,...D,...m,sizes:l,...h}),X(Et,ue,at,qo,Uo,$t,ce,Jo,Zo,Nn,Qo));function tr(e,t){const n={},o={};let r=0;const a=e.length;for(;r<a;)o[e[r]]=1,r+=1;for(const e in t)Object.hasOwn(o,e)||(n[e]=t[e]);return n}const pe=typeof document<"u"?React__default.default.useLayoutEffect:React__default.default.useEffect;function Ye(e,t,n){const o=Object.keys(t.required||{}),r=Object.keys(t.optional||{}),a=Object.keys(t.methods||{}),i=Object.keys(t.events||{}),s=React__default.default.createContext({});function l(e,n){e.propsReady&&G(e.propsReady,!1);for(const r of o){G(e[t.required[r]],n[r])}for(const o of r)if(o in n){G(e[t.optional[o]],n[o])}e.propsReady&&G(e.propsReady,!0)}function c(e){return i.reduce((n,o)=>(n[o]=Io(e[t.events[o]]),n),{})}const d=React__default.default.forwardRef((d,u)=>{const{children:f,...p}=d,[_]=React__default.default.useState(()=>ve(xo(e),e=>{l(e,p)})),[m]=React__default.default.useState(an(c,_));pe(()=>{for(const e of i)e in p&&K(m[e],p[e]);return()=>{Object.values(m).map(Ge)}},[p,m,_]),pe(()=>{l(_,p)}),React__default.default.useImperativeHandle(u,un(function(e){return a.reduce((n,o)=>(n[o]=n=>{G(e[t.methods[o]],n)},n),{})}(_)));const h=n;return jsxRuntime.exports.jsx(s.Provider,{value:_,children:n?jsxRuntime.exports.jsx(h,{...tr([...o,...r,...i],p),children:f}):f})}),u=React__default.default.version.startsWith("18")?e=>{const t=React__default.default.useContext(s)[e],n=React__default.default.useCallback(e=>K(t,e),[t]);return React__default.default.useSyncExternalStore(n,()=>ot(t),()=>ot(t))}:e=>{const t=React__default.default.useContext(s)[e],[n,o]=React__default.default.useState(an(ot,t));return pe(()=>K(t,e=>{e!==n&&o(un(e))}),[t,n]),n};return{Component:d,useEmitter:(e,t)=>{const n=React__default.default.useContext(s)[e];pe(()=>K(n,t),[t,n])},useEmitterValue:u,usePublisher:e=>{const t=React__default.default.useContext(s);return React__default.default.useCallback(n=>{G(t[e],n)},[t,e])}}}const be=React__default.default.createContext(void 0),Jn=React__default.default.createContext(void 0),Qn=typeof document<"u"?React__default.default.useLayoutEffect:React__default.default.useEffect;function ke(e){return"self"in e}function er(e){return"body"in e}function to(e,t,n,o=Yt,r,a){const i=React__default.default.useRef(null),s=React__default.default.useRef(null),l=React__default.default.useRef(null),c=React__default.default.useCallback(n=>{let o,r,i;const c=n.target;if(er(c)||ke(c)){const e=ke(c)?c:c.defaultView;i=a?e.scrollX:e.scrollY,o=a?e.document.documentElement.scrollWidth:e.document.documentElement.scrollHeight,r=a?e.innerWidth:e.innerHeight}else i=a?c.scrollLeft:c.scrollTop,o=a?c.scrollWidth:c.scrollHeight,r=a?c.offsetWidth:c.offsetHeight;const d=()=>{e({scrollHeight:o,scrollTop:Math.max(i,0),viewportHeight:r})};n.suppressFlushSync?d():ReactDOM__default.default.flushSync(d),null!==s.current&&(i===s.current||i<=0||i===o-r)&&(s.current=null,t(!0),l.current&&(clearTimeout(l.current),l.current=null))},[e,t,a]);return React__default.default.useEffect(()=>{const e=r||i.current;return o(r||i.current),c({suppressFlushSync:!0,target:e}),e.addEventListener("scroll",c,{passive:!0}),()=>{o(null),e.removeEventListener("scroll",c)}},[i,c,n,o,r]),{scrollByCallback:function(e){a&&(e={behavior:e.behavior,left:e.top}),i.current.scrollBy(e)},scrollerRef:i,scrollToCallback:function(n){const o=i.current;if(!o||(a?"offsetWidth"in o&&0===o.offsetWidth:"offsetHeight"in o&&0===o.offsetHeight))return;const r="smooth"===n.behavior;let c,d,u;ke(o)?(d=Math.max(vt(o.document.documentElement,a?"width":"height"),a?o.document.documentElement.scrollWidth:o.document.documentElement.scrollHeight),c=a?o.innerWidth:o.innerHeight,u=a?window.scrollX:window.scrollY):(d=o[a?"scrollWidth":"scrollHeight"],c=vt(o,a?"width":"height"),u=o[a?"scrollLeft":"scrollTop"]);const f=d-c;if(n.top=Math.ceil(Math.max(Math.min(f,n.top),0)),$n(c,d)||n.top===u)return e({scrollHeight:d,scrollTop:u,viewportHeight:c}),void(r&&t(!0));r?(s.current=n.top,l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{l.current=null,s.current=null,t(!0)},1e3)):s.current=null,a&&(n={behavior:n.behavior,left:n.top}),o.scrollTo(n)}}}const Fe="-webkit-sticky",Tn="sticky",Ze=Zn(()=>{if(typeof document>"u")return Tn;const e=document.createElement("div");return e.style.position=Fe,e.style.position===Fe?Fe:Tn});function Xe(e){return e}const nr=U(()=>{const e=C(e=>`Item ${e}`),t=C(e=>`Group ${e}`),n=C({}),o=C(Xe),r=C("div"),a=C(Yt),i=(e,t=null)=>ct(x(n,E(t=>t[e]),Z()),t);return{components:n,computeItemKey:o,EmptyPlaceholder:i("EmptyPlaceholder"),FooterComponent:i("Footer"),GroupComponent:i("Group","div"),groupContent:t,HeaderComponent:i("Header"),HeaderFooterTag:r,ItemComponent:i("Item","div"),itemContent:e,ListComponent:i("List","div"),ScrollerComponent:i("Scroller","div"),scrollerRef:a,ScrollSeekPlaceholder:i("ScrollSeekPlaceholder"),TopItemListComponent:i("TopItemList")}}),or=U(([e,t])=>({...e,...t}),X(Xn,nr)),rr=({height:e})=>jsxRuntime.exports.jsx("div",{style:{height:e}}),sr={overflowAnchor:"none",position:Ze(),zIndex:1},eo={overflowAnchor:"none"},ir={...eo,display:"inline-block",height:"100%"},Cn=React__default.default.memo(function({showTopList:e=!1}){const t=M("listState"),n=gt("sizeRanges"),o=M("useWindowScroll"),r=M("customScrollParent"),a=gt("windowScrollContainerState"),i=gt("scrollContainerState"),s=r||o?a:i,l=M("itemContent"),c=M("context"),d=M("groupContent"),u=M("trackItemSizes"),f=M("itemSize"),p=M("log"),_=gt("gap"),m=M("horizontalDirection"),{callbackRef:h}=On(n,f,u,e?Yt:s,p,_,r,m,M("skipAnimationFrameInResizeObserver")),[g,b]=React__default.default.useState(0);tn("deviation",e=>{g!==e&&b(e)});const v=M("EmptyPlaceholder"),y=M("ScrollSeekPlaceholder")||rr,E=M("ListComponent"),w=M("ItemComponent"),C=M("GroupComponent"),x=M("computeItemKey"),R=M("isSeeking"),S=M("groupIndices").length>0,D=M("alignToBottom"),T=M("initialItemFinalLocationReached"),O=e?{}:{boxSizing:"border-box",...m?{display:"inline-block",height:"100%",marginLeft:0!==g?g:D?"auto":0,paddingLeft:t.offsetTop,paddingRight:t.offsetBottom,whiteSpace:"nowrap"}:{marginTop:0!==g?g:D?"auto":0,paddingBottom:t.offsetBottom,paddingTop:t.offsetTop},...T?{}:{visibility:"hidden"}};return!e&&0===t.totalCount&&v?jsxRuntime.exports.jsx(v,{...q(v,c)}):jsxRuntime.exports.jsx(E,{...q(E,c),"data-testid":e?"virtuoso-top-item-list":"virtuoso-item-list",ref:h,style:O,children:(e?t.topItems:t.items).map(e=>{const n=e.originalIndex,o=x(n+t.firstItemIndex,e.data,c);return R?React.createElement(y,{...q(y,c),height:e.size,index:e.index,key:o,type:e.type||"item",..."group"===e.type?{}:{groupIndex:e.groupIndex}}):"group"===e.type?React.createElement(C,{...q(C,c),"data-index":n,"data-item-index":e.index,"data-known-size":e.size,key:o,style:sr},d(e.index,c)):React.createElement(w,{...q(w,c),...no(w,e.data),"data-index":n,"data-item-group-index":e.groupIndex,"data-item-index":e.index,"data-known-size":e.size,key:o,style:m?ir:eo},S?l(e.index,e.groupIndex,e.data,c):l(e.index,e.data,c))})})}),lr={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},cr={outline:"none",overflowX:"auto",position:"relative"},Zt=e=>({height:"100%",position:"absolute",top:0,width:"100%",...e?{display:"flex",flexDirection:"column"}:{}}),ur={position:Ze(),top:0,width:"100%",zIndex:1};function q(e,t){if("string"!=typeof e)return{context:t}}function no(e,t){return{item:"string"==typeof e?void 0:t}}const ar=React__default.default.memo(function(){const e=M("HeaderComponent"),t=gt("headerHeight"),n=M("HeaderFooterTag"),o=Ht(React__default.default.useMemo(()=>e=>{t(vt(e,"height"))},[t]),!0,M("skipAnimationFrameInResizeObserver")),r=M("context");return e?jsxRuntime.exports.jsx(n,{ref:o,children:jsxRuntime.exports.jsx(e,{...q(e,r)})}):null}),dr=React__default.default.memo(function(){const e=M("FooterComponent"),t=gt("footerHeight"),n=M("HeaderFooterTag"),o=Ht(React__default.default.useMemo(()=>e=>{t(vt(e,"height"))},[t]),!0,M("skipAnimationFrameInResizeObserver")),r=M("context");return e?jsxRuntime.exports.jsx(n,{ref:o,children:jsxRuntime.exports.jsx(e,{...q(e,r)})}):null});function Je({useEmitter:e,useEmitterValue:t,usePublisher:n}){return React__default.default.memo(function({children:o,style:r,...a}){const i=n("scrollContainerState"),s=t("ScrollerComponent"),l=n("smoothScrollTargetReached"),c=t("scrollerRef"),d=t("context"),u=t("horizontalDirection")||!1,{scrollByCallback:f,scrollerRef:p,scrollToCallback:_}=to(i,l,s,c,void 0,u);return e("scrollTo",_),e("scrollBy",f),jsxRuntime.exports.jsx(s,{"data-testid":"virtuoso-scroller","data-virtuoso-scroller":!0,ref:p,style:{...u?cr:lr,...r},tabIndex:0,...a,...q(s,d),children:o})})}function Qe({useEmitter:e,useEmitterValue:t,usePublisher:n}){return React__default.default.memo(function({children:o,style:r,...a}){const i=n("windowScrollContainerState"),s=t("ScrollerComponent"),l=n("smoothScrollTargetReached"),c=t("totalListHeight"),d=t("deviation"),u=t("customScrollParent"),f=t("context"),p=React__default.default.useRef(null),_=t("scrollerRef"),{scrollByCallback:m,scrollerRef:h,scrollToCallback:g}=to(i,l,s,_,u);return Qn(()=>{var e;return h.current=u||(null==(e=p.current)?void 0:e.ownerDocument.defaultView),()=>{h.current=null}},[h,u]),e("windowScrollTo",g),e("scrollBy",m),jsxRuntime.exports.jsx(s,{ref:p,"data-virtuoso-scroller":!0,style:{position:"relative",...r,...0!==c?{height:c+d}:{}},...a,...q(s,f),children:o})})}const fr=({children:e})=>{const t=React__default.default.useContext(be),n=gt("viewportHeight"),o=gt("fixedItemHeight"),r=M("alignToBottom"),a=M("horizontalDirection"),i=Ht(React__default.default.useMemo(()=>ne(n,e=>vt(e,a?"width":"height")),[n,a]),!0,M("skipAnimationFrameInResizeObserver"));return React__default.default.useEffect(()=>{t&&(n(t.viewportHeight),o(t.itemHeight))},[t,n,o]),jsxRuntime.exports.jsx("div",{"data-viewport-type":"element",ref:i,style:Zt(r),children:e})},mr=({children:e})=>{const t=React__default.default.useContext(be),n=gt("windowViewportRect"),o=gt("fixedItemHeight"),r=M("customScrollParent"),a=Ne(n,r,M("skipAnimationFrameInResizeObserver")),i=M("alignToBottom");return React__default.default.useEffect(()=>{t&&(o(t.itemHeight),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:100}))},[t,n,o]),jsxRuntime.exports.jsx("div",{"data-viewport-type":"window",ref:a,style:Zt(i),children:e})},pr=({children:e})=>{const t=M("TopItemListComponent")||"div",n=M("headerHeight"),o={...ur,marginTop:`${n}px`},r=M("context");return jsxRuntime.exports.jsx(t,{style:o,...q(t,r),children:e})},hr=React__default.default.memo(function(e){const t=M("useWindowScroll"),n=M("topItemsIndexes").length>0,o=M("customScrollParent"),r=M("context"),a=o||t?Ir:gr,i=o||t?mr:fr;return jsxRuntime.exports.jsxs(a,{...e,...q(a,r),children:[n&&jsxRuntime.exports.jsx(pr,{children:jsxRuntime.exports.jsx(Cn,{showTopList:!0})}),jsxRuntime.exports.jsxs(i,{children:[jsxRuntime.exports.jsx(ar,{}),jsxRuntime.exports.jsx(Cn,{}),jsxRuntime.exports.jsx(dr,{})]})]})}),{Component:oo,useEmitter:tn,useEmitterValue:M,usePublisher:gt}=Ye(or,{required:{},optional:{restoreStateFrom:"restoreStateFrom",context:"context",followOutput:"followOutput",scrollIntoViewOnChange:"scrollIntoViewOnChange",itemContent:"itemContent",groupContent:"groupContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",totalCount:"totalCount",groupCounts:"groupCounts",topItemCount:"topItemCount",firstItemIndex:"firstItemIndex",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",atBottomThreshold:"atBottomThreshold",atTopThreshold:"atTopThreshold",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedItemHeight:"fixedItemHeight",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"HeaderFooterTag",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",horizontalDirection:"horizontalDirection",skipAnimationFrameInResizeObserver:"skipAnimationFrameInResizeObserver"},methods:{scrollToIndex:"scrollToIndex",scrollIntoView:"scrollIntoView",scrollTo:"scrollTo",scrollBy:"scrollBy",autoscrollToBottom:"autoscrollToBottom",getState:"getState"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",totalListHeightChanged:"totalListHeightChanged",itemsRendered:"itemsRendered",groupIndices:"groupIndices"}},hr),gr=Je({useEmitter:tn,useEmitterValue:M,usePublisher:gt}),Ir=Qe({useEmitter:tn,useEmitterValue:M,usePublisher:gt}),Yr=oo;Ze();const yn={bottom:0,itemHeight:0,items:[],itemWidth:0,offsetBottom:0,offsetTop:0,top:0},Br={bottom:0,itemHeight:0,items:[{index:0}],itemWidth:0,offsetBottom:0,offsetTop:0,top:0},{ceil:Rn,floor:Ce,max:ee,min:Oe,round:bn}=Math;function Hn(e,t,n){return Array.from({length:t-e+1}).map((t,o)=>({data:null===n?null:n[o+e],index:o+e}))}function kr(e){return{...Br,items:e}}function he(e,t){return e&&e.width===t.width&&e.height===t.height}function Fr(e,t){return e&&e.column===t.column&&e.row===t.row}const Or=U(([{increaseViewportBy:e,listBoundary:t,overscan:n,visibleRange:o},{footerHeight:r,headerHeight:a,scrollBy:i,scrollContainerState:s,scrollTo:l,scrollTop:c,smoothScrollTargetReached:d,viewportHeight:u},f,p,{didMount:_,propsReady:m},{customScrollParent:h,useWindowScroll:g,windowScrollContainerState:b,windowScrollTo:v,windowViewportRect:y},w])=>{const R=C(0),S=C(0),D=C(yn),T=C({height:0,width:0}),I=C({height:0,width:0}),k=$(),j=$(),F=C(0),P=C(null),M=C({column:0,row:0}),B=$(),L=$(),U=C(!1),H=C(0),z=C(!0),q=C(!1),W=C(!1);K(x(_,N(H),A(([e,t])=>!!t)),()=>{G(z,!1)}),K(x(rt(_,z,I,T,H,q),A(([e,t,n,o,,r])=>e&&!t&&0!==n.height&&0!==o.height&&!r)),([,,,,e])=>{G(q,!0),Ue(1,()=>{G(k,e)}),Tt(x(c),()=>{G(t,[0,0]),G(z,!0)})}),O(x(L,A(e=>null!=e&&e.scrollTop>0),Rt(0)),S),K(x(_,N(L),A(([,e])=>null!=e)),([,e])=>{e&&(G(T,e.viewport),G(I,e.item),G(M,e.gap),e.scrollTop>0&&(G(U,!0),Tt(x(c,Dt(1)),e=>{G(U,!1)}),G(l,{top:e.scrollTop})))}),O(x(T,E(({height:e})=>e)),u),O(x(rt(V(T,he),V(I,he),V(M,(e,t)=>e&&e.column===t.column&&e.row===t.row),V(c)),E(([e,t,n,o])=>({gap:n,item:t,scrollTop:o,viewport:e}))),B),O(x(rt(V(R),o,V(M,Fr),V(I,he),V(T,he),V(P),V(S),V(U),V(z),V(H)),A(([,,,,,,,e])=>!e),E(([e,[t,n],o,r,a,i,s,,l,c])=>{const{column:d,row:u}=o,{height:f,width:p}=r,{width:_}=a;if(0===s&&(0===e||0===_))return yn;if(0===p){const t=Ke(c,e);return kr(Hn(t,t+Math.max(s-1,0),i))}const m=so(_,p,d);let h,g;l?0===t&&0===n&&s>0?(h=0,g=s-1):(h=m*Ce((t+u)/(f+u)),g=m*Rn((n+u)/(f+u))-1,g=Oe(e-1,ee(g,m-1)),h=Oe(g,ee(0,h))):(h=0,g=-1);const b=Hn(h,g,i),{bottom:v,top:y}=En(a,o,r,b),E=Rn(e/m);return{bottom:v,itemHeight:f,items:b,itemWidth:p,offsetBottom:E*f+(E-1)*u-v,offsetTop:y,top:y}})),D),O(x(P,A(e=>null!==e),E(e=>e.length)),R),O(x(rt(T,I,D,M),A(([e,t,{items:n}])=>n.length>0&&0!==t.height&&0!==e.height),E(([e,t,{items:n},o])=>{const{bottom:r,top:a}=En(e,o,t,n);return[a,r]}),Z(se)),t);const Y=C(!1);O(x(c,N(Y),E(([e,t])=>t||0!==e)),Y);const J=ht(x(rt(D,R),A(([{items:e}])=>e.length>0),N(Y),A(([[e,t],n])=>{const o=e.items[e.items.length-1].index===t-1;return(n||e.bottom>0&&e.itemHeight>0&&0===e.offsetBottom&&e.items.length===t)&&o}),E(([[,e]])=>e-1),Z())),X=ht(x(V(D),A(({items:e})=>e.length>0&&0===e[0].index),Rt(0),Z())),Q=ht(x(V(D),N(U),A(([{items:e},t])=>e.length>0&&!t),E(([{items:e}])=>({endIndex:e[e.length-1].index,startIndex:e[0].index})),Z(Mn),kt(0)));O(Q,p.scrollSeekRangeChanged),O(x(k,N(T,I,R,M),E(([e,t,n,o,r])=>{const a=Dn(e),{align:i,behavior:s,offset:l}=a;let c=a.index;"LAST"===c&&(c=o-1),c=ee(0,c,Oe(o-1,c));let d=Me(t,r,n,c);return"end"===i?d=bn(d-t.height+n.height):"center"===i&&(d=bn(d-t.height/2+n.height/2)),l&&(d+=l),{behavior:s,top:d}})),l);const te=ct(x(D,E(e=>e.offsetBottom+e.bottom)),0);return O(x(y,E(e=>({height:e.visibleHeight,width:e.visibleWidth}))),T),{customScrollParent:h,data:P,deviation:F,footerHeight:r,gap:M,headerHeight:a,increaseViewportBy:e,initialItemCount:S,itemDimensions:I,overscan:n,restoreStateFrom:L,scrollBy:i,scrollContainerState:s,scrollHeight:j,scrollTo:l,scrollToIndex:k,scrollTop:c,smoothScrollTargetReached:d,totalCount:R,useWindowScroll:g,viewportDimensions:T,windowScrollContainerState:b,windowScrollTo:v,windowViewportRect:y,...p,gridState:D,horizontalDirection:W,initialTopMostItemIndex:H,totalListHeight:te,...f,endReached:J,propsReady:m,rangeChanged:Q,startReached:X,stateChanged:B,stateRestoreInProgress:U,...w}},X(je,at,ae,Yn,Pt,qe,Vt));function so(e,t,n){return ee(1,Ce((e+n)/(Ce(t)+n)))}function En(e,t,n,o){const{height:r}=n;if(void 0===r||0===o.length)return{bottom:0,top:0};const a=Me(e,t,n,o[0].index);return{bottom:Me(e,t,n,o[o.length-1].index)+r,top:a}}function Me(e,t,n,o){const r=so(e.width,n.width,t.column),a=Ce(o/r),i=a*n.height+ee(0,a-1)*t.row;return i>0?i+t.row:i}const Lr=U(()=>{const e=C(e=>`Item ${e}`),t=C({}),n=C(null),o=C("virtuoso-grid-item"),r=C("virtuoso-grid-list"),a=C(Xe),i=C("div"),s=C(Yt),l=(e,n=null)=>ct(x(t,E(t=>t[e]),Z()),n),c=C(!1),d=C(!1);return O(V(d),c),{components:t,computeItemKey:a,context:n,FooterComponent:l("Footer"),HeaderComponent:l("Header"),headerFooterTag:i,itemClassName:o,ItemComponent:l("Item","div"),itemContent:e,listClassName:r,ListComponent:l("List","div"),readyStateChanged:c,reportReadyState:d,ScrollerComponent:l("Scroller","div"),scrollerRef:s,ScrollSeekPlaceholder:l("ScrollSeekPlaceholder","div")}}),zr=U(([e,t])=>({...e,...t}),X(Or,Lr)),Vr=React__default.default.memo(function(){const e=et("gridState"),t=et("listClassName"),n=et("itemClassName"),o=et("itemContent"),r=et("computeItemKey"),a=et("isSeeking"),i=It("scrollHeight"),s=et("ItemComponent"),l=et("ListComponent"),c=et("ScrollSeekPlaceholder"),d=et("context"),u=It("itemDimensions"),f=It("gap"),p=et("log"),_=et("stateRestoreInProgress"),m=It("reportReadyState"),h=Ht(React__default.default.useMemo(()=>e=>{const t=e.parentElement.parentElement.scrollHeight;i(t);const n=e.firstChild;if(n){const{height:e,width:t}=n.getBoundingClientRect();u({height:e,width:t})}f({column:Bn("column-gap",getComputedStyle(e).columnGap,p),row:Bn("row-gap",getComputedStyle(e).rowGap,p)})},[i,u,f,p]),!0,!1);return Qn(()=>{e.itemHeight>0&&e.itemWidth>0&&m(!0)},[e]),_?null:jsxRuntime.exports.jsx(l,{className:t,ref:h,...q(l,d),"data-testid":"virtuoso-item-list",style:{paddingBottom:e.offsetBottom,paddingTop:e.offsetTop},children:e.items.map(t=>{const i=r(t.index,t.data,d);return a?jsxRuntime.exports.jsx(c,{...q(c,d),height:e.itemHeight,index:t.index,width:e.itemWidth},i):React.createElement(s,{...q(s,d),className:n,"data-index":t.index,key:i},o(t.index,t.data,d))})})}),Pr=React__default.default.memo(function(){const e=et("HeaderComponent"),t=It("headerHeight"),n=et("headerFooterTag"),o=Ht(React__default.default.useMemo(()=>e=>{t(vt(e,"height"))},[t]),!0,!1),r=et("context");return e?jsxRuntime.exports.jsx(n,{ref:o,children:jsxRuntime.exports.jsx(e,{...q(e,r)})}):null}),Ar=React__default.default.memo(function(){const e=et("FooterComponent"),t=It("footerHeight"),n=et("headerFooterTag"),o=Ht(React__default.default.useMemo(()=>e=>{t(vt(e,"height"))},[t]),!0,!1),r=et("context");return e?jsxRuntime.exports.jsx(n,{ref:o,children:jsxRuntime.exports.jsx(e,{...q(e,r)})}):null}),Mr=({children:e})=>{const t=React__default.default.useContext(Jn),n=It("itemDimensions"),o=It("viewportDimensions"),r=Ht(React__default.default.useMemo(()=>e=>{o(e.getBoundingClientRect())},[o]),!0,!1);return React__default.default.useEffect(()=>{t&&(o({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,o,n]),jsxRuntime.exports.jsx("div",{ref:r,style:Zt(!1),children:e})},Wr=({children:e})=>{const t=React__default.default.useContext(Jn),n=It("windowViewportRect"),o=It("itemDimensions"),r=et("customScrollParent"),a=Ne(n,r,!1);return React__default.default.useEffect(()=>{t&&(o({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,o]),jsxRuntime.exports.jsx("div",{ref:a,style:Zt(!1),children:e})},Gr=React__default.default.memo(function({...e}){const t=et("useWindowScroll"),n=et("customScrollParent"),o=n||t?Dr:Nr,r=n||t?Wr:Mr,a=et("context");return jsxRuntime.exports.jsx(o,{...e,...q(o,a),children:jsxRuntime.exports.jsxs(r,{children:[jsxRuntime.exports.jsx(Pr,{}),jsxRuntime.exports.jsx(Vr,{}),jsxRuntime.exports.jsx(Ar,{})]})})}),{Component:_r,useEmitter:io,useEmitterValue:et,usePublisher:It}=Ye(zr,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex",increaseViewportBy:"increaseViewportBy"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged",readyStateChanged:"readyStateChanged"}},Gr),Nr=Je({useEmitter:io,useEmitterValue:et,usePublisher:It}),Dr=Qe({useEmitter:io,useEmitterValue:et,usePublisher:It});function Bn(e,t,n){return"normal"!==t&&!(null!=t&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,mt.WARN),"normal"===t?0:parseInt(null!=t?t:"0",10)}const IDLE_CALLBACK_FALLBACK_TIMEOUT=100;function requestIdleCallbackFallback(e,t){return setTimeout(e,Math.min(t?.timeout??1/0,IDLE_CALLBACK_FALLBACK_TIMEOUT))}const requestIdleCallback=("undefined"!=typeof window?window.requestIdleCallback:null)??requestIdleCallbackFallback,cancelIdleCallback=("undefined"!=typeof window?window.cancelIdleCallback:null)??clearTimeout,visuallyHidden={position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"},EmojiPickerContext=React.createContext(null);function useEmojiPicker(){return nn(React.useContext(EmojiPickerContext),"EmojiPicker.Root is missing from the React tree.")}const EMOJIBASE_VERSION="15.3.0",EMOJIBASE_CDN_URL=`${Builder&&Builder.settings&&Builder.settings.unpkgUrl?Builder.settings.unpkgUrl:"https://unpkg.com"}/emojibase-data@${EMOJIBASE_VERSION}`,EMOJIBASE_EMOJIS_URL=e=>`${EMOJIBASE_CDN_URL}/${e}/data.json`,EMOJIBASE_MESSAGES_URL=e=>`${EMOJIBASE_CDN_URL}/${e}/messages.json`,EMOJIBASE_LOCALES=["bn","da","de","en","en-gb","es","es-mx","et","fi","fr","hi","hu","it","ja","ko","lt","ms","nb","nl","pl","pt","ru","sv","th","uk","zh","zh-hant"],EMOJIBASE_DEFAULT_LOCALE="en",CACHE_EMOJI_DATA_KEY=e=>`lb-emoji-data-${e}`,CACHE_EMOJI_METADATA_KEY=e=>`lb-emoji-metadata-${e}`,CACHE_EMOJI_SESSION_METADATA_KEY="lb-emoji-metadata",EMOJI_DETECTION_CANVAS_WIDTH=20,EMOJI_DETECTION_CANVAS_HEIGHT=25,EMOJI_DETECTION_COUNTRY_FLAG="🇫🇷";function generateRangeIndices(e,t){const n=[];for(let o=e;o<=t;o++)n.push(o);return n}function getStorageItem(e,t){const n=e.getItem(t);return n?JSON.parse(n):null}function setStorageItem(e,t,n){e.setItem(t,JSON.stringify(n))}async function fetchEtag(e){try{return(await fetch(e,{method:"HEAD"})).headers.get("etag")}catch(e){return null}}function getEmojibaseSupportedLocale(e){return EMOJIBASE_LOCALES.includes(e)?e:EMOJIBASE_DEFAULT_LOCALE}async function fetchEmojibaseData(e){const[{emojis:t,emojisEtag:n},{messages:o,messagesEtag:r}]=await Promise.all([fetch(EMOJIBASE_EMOJIS_URL(e)).then(async e=>({emojis:await e.json(),emojisEtag:e.headers.get("etag")})),fetch(EMOJIBASE_MESSAGES_URL(e)).then(async e=>({messages:await e.json(),messagesEtag:e.headers.get("etag")}))]);return{emojis:t,messages:o,emojisEtag:n,messagesEtag:r}}async function fetchEmojibaseEtags(e){const[t,n]=await Promise.all([fetchEtag(EMOJIBASE_EMOJIS_URL(e)),fetchEtag(EMOJIBASE_MESSAGES_URL(e))]);return{emojisEtag:t,messagesEtag:n}}async function fetchEmojiData(e){const{emojis:t,emojisEtag:n,messages:o,messagesEtag:r}=await fetchEmojibaseData(e),a=o.subgroups.find(e=>"subdivision-flag"===e.key),i=o.groups.filter(e=>"component"!==e.key),s=t.filter(e=>"group"in e),l=i.map(e=>({key:e.order,name:capitalize$1(e.message)})),c=o.skinTones.map(e=>({key:e.key,name:capitalize$1(e.message)})),d={emojis:s.map(e=>{const t={emoji:e.emoji,category:e.group,version:e.version,name:capitalize$1(e.label),tags:e.tags};return a&&e.subgroup===a.order&&(t.countryFlag=!0),t}),categories:l,skinTones:c};return setStorageItem(localStorage,CACHE_EMOJI_DATA_KEY(e),d),setStorageItem(localStorage,CACHE_EMOJI_METADATA_KEY(e),{emojisEtag:n,messagesEtag:r}),d}function detectEmojiSupport(e,t){e.clearRect(0,0,2*EMOJI_DETECTION_CANVAS_WIDTH,EMOJI_DETECTION_CANVAS_HEIGHT),e.fillStyle="#f00",e.fillText(t,0,22),e.fillStyle="#00f",e.fillText(t,EMOJI_DETECTION_CANVAS_WIDTH,22);const n=e.getImageData(0,0,EMOJI_DETECTION_CANVAS_WIDTH,EMOJI_DETECTION_CANVAS_HEIGHT).data,o=n.length;let r=0;for(;r<o&&!n[r+3];r+=4);if(r>=o)return!1;const a=EMOJI_DETECTION_CANVAS_WIDTH+r/4%EMOJI_DETECTION_CANVAS_WIDTH,i=Math.floor(r/4/EMOJI_DETECTION_CANVAS_WIDTH),s=e.getImageData(a,i,1,1).data;return n[r]===s[0]&&n[r+2]===s[2]&&!(e.measureText(t).width>=EMOJI_DETECTION_CANVAS_WIDTH)}function getEmojiFontFamily(){try{const e=document.createElement("span");e.style.display="none",e.dataset.emoji="",document.body.appendChild(e);const t=window.getComputedStyle(e).fontFamily;return document.body.removeChild(e),t}catch{return EMOJI_FONT_FAMILY}}function getEmojiSessionMetadata(e){const t=new Map;for(const n of e)t.has(n.version)||t.set(n.version,n.emoji);const n=[...t.keys()].sort((e,t)=>t-e),o=n[0]??0,r=document.createElement("canvas").getContext("2d",{willReadFrequently:!0});if(!r)return{emojiVersion:o,countryFlags:!0};r.font=`${Math.floor(EMOJI_DETECTION_CANVAS_HEIGHT/2)}px ${getEmojiFontFamily()}`,r.textBaseline="top",r.canvas.width=2*EMOJI_DETECTION_CANVAS_WIDTH,r.canvas.height=EMOJI_DETECTION_CANVAS_HEIGHT;const a=detectEmojiSupport(r,EMOJI_DETECTION_COUNTRY_FLAG);for(const e of n){if(detectEmojiSupport(r,t.get(e)))return{emojiVersion:e,countryFlags:a}}return{emojiVersion:o,countryFlags:a}}async function getEmojiData(e){const t=getEmojibaseSupportedLocale(e),n=getStorageItem(sessionStorage,CACHE_EMOJI_SESSION_METADATA_KEY),o=getStorageItem(localStorage,CACHE_EMOJI_DATA_KEY(t));let r;if(o)if(n)r=o;else{const{emojisEtag:e,messagesEtag:n}=await fetchEmojibaseEtags(t),a=getStorageItem(localStorage,CACHE_EMOJI_METADATA_KEY(t));r=a&&e===a.emojisEtag&&n===a.messagesEtag?o:await fetchEmojiData(t)}else r=await fetchEmojiData(t);const a=n??getEmojiSessionMetadata(r.emojis);setStorageItem(sessionStorage,CACHE_EMOJI_SESSION_METADATA_KEY,a);return{emojis:r.emojis.filter(e=>{const t=e.version<=a.emojiVersion;return e.countryFlag?t&&a.countryFlags:t}),categories:r.categories,skinTones:r.skinTones}}function filterEmojis(e,t){if(!t)return e;const n=t.toLowerCase().trim();return e.filter(e=>e.name.toLowerCase().includes(n)||e.tags?.some(e=>e.toLowerCase().includes(n)))}function generateEmojiPickerData(e,t,n){let o=0;const r=[],a=e.map((e,t)=>({...e,index:t})),i=[],s=[],l=[],c=t.map(e=>({...e,emojis:a.filter(t=>t.category===e.key)})).filter(e=>e.emojis.length>0);for(const e of c){const t=chunk(e.emojis,n),a=o+t.length;r.push(...t),l.push(e.name),i.push(t.length),s.push(generateRangeIndices(o,a-1)),o=a}return{count:e.length,rows:r,categories:l,categoriesRowCounts:i,categoriesRowIndices:s}}const DEFAULT_COLUMNS=10,DEFAULT_LOCALE="en",LOADING_MINIMUM_TIMEOUT=100;function EmojiPickerRoot({columns:e=DEFAULT_COLUMNS,locale:t=DEFAULT_LOCALE,onEmojiSelect:n,children:o}){const r=React.useRef(),a=React.useRef(""),[,i]=React.useTransition(),[s,l]=React.useState(),[c,d]=React.useState(),[u,f]=React.useState(0),[p,_]=React.useState(0),[m,h]=React.useState("none"),g=React.useCallback(()=>{if(n){const e=s?.rows[p]?.[u];e&&n(e.emoji)}},[s?.rows,n,u,p]),b=React.useCallback(()=>{f(0),_(0)},[]),v=React.useCallback((e,t)=>{h("pointer"),f(e),_(t)},[]),y=React.useCallback((e,t)=>{if(s)if(t.preventDefault(),"none"!==m)switch(h("keyboard"),e){case"left":if(0===u){const e=p-1,t=s.rows[e];t&&(_(e),f(t.length-1))}else f(u-1);break;case"right":{const e=s.rows[p];if(!e)return;if(u===e.length-1){const e=p+1;s.rows[e]&&(_(e),f(0))}else f(u+1);break}case"up":{const e=s.rows[p-1];e&&(_(p-1),e[u]||f(e.length-1));break}case"down":{const e=s.rows[p+1];e&&(_(p+1),e[u]||f(e.length-1));break}}else h("keyboard")},[s,m,u,p]),E=React.useCallback(()=>{r.current&&i(()=>{l(()=>{if(!r.current)return;return generateEmojiPickerData(filterEmojis(r.current.emojis,a.current),r.current.categories,e)}),b()})},[e,b]),w=React.useCallback(e=>{a.current=e,E()},[E]),C=React.useCallback(async e=>{try{r.current=await getEmojiData(e),E()}catch(e){d(e)}},[E]);return React.useEffect(()=>{let e;const n=setTimeout(()=>{e=requestIdleCallback(()=>{C(t)})},LOADING_MINIMUM_TIMEOUT);return()=>{clearTimeout(n),cancelIdleCallback(e)}},[t]),React.useEffect(()=>{"none"===m&&b()},[m]),jsxRuntime.exports.jsx(EmojiPickerContext.Provider,{value:{data:s,error:c,isLoading:!s&&!c,columns:e,onSearch:w,onEmojiSelect:n,selectCurrentEmoji:g,selectedRowIndex:p,selectedColumnIndex:u,moveSelection:y,setPointerSelection:v,interaction:m,setInteraction:h},children:o})}const EmojiPickerSearch=React.forwardRef(({asChild:e,value:t,defaultValue:n,onChange:o,...r},a)=>{const i=e?Slot$2:"input",{onSearch:s,selectCurrentEmoji:l,moveSelection:c,interaction:d,setInteraction:u}=useEmojiPicker(),f=React.useCallback(e=>{if(o?.(e),e.isDefaultPrevented())return;const t=e.target.value;u(t?"keyboard":"none"),s(t)},[o,s,u]),p=React.useCallback(e=>{e.isDefaultPrevented()||(isKey(e,"ArrowLeft")?c("left",e):isKey(e,"ArrowRight")?c("right",e):isKey(e,"ArrowUp")?c("up",e):isKey(e,"ArrowDown")?c("down",e):isKey(e,"Enter")&&"none"!==d&&(e.preventDefault(),l()))},[d,c,l]);return React.useEffect(()=>{s(t?String(t):n?String(n):"")},[]),jsxRuntime.exports.jsx(i,{type:"search",value:t,defaultValue:n,onChange:f,onKeyDown:p,...r,ref:a})}),defaultContentComponents={CategoryHeader:({category:e,...t})=>jsxRuntime.exports.jsx("div",{...t,children:e}),Row:({children:e,attributes:t,...n})=>jsxRuntime.exports.jsx("div",{...n,children:e}),Emoji:({emoji:e,...t})=>jsxRuntime.exports.jsx("button",{...t,children:jsxRuntime.exports.jsx(Emoji$1,{emoji:e})}),Loading:e=>jsxRuntime.exports.jsx("div",{...e}),Empty:e=>jsxRuntime.exports.jsx("div",{...e}),Grid:e=>jsxRuntime.exports.jsx("div",{...e}),Error:({error:e,...t})=>jsxRuntime.exports.jsx("div",{...t})},placeholderRowAttributes={rowIndex:-1,categoryRowIndex:-1,categoryRowsCount:0},VirtuosoScroller=React.forwardRef(({children:e,...t},n)=>jsxRuntime.exports.jsx("div",{...t,tabIndex:-1,"data-testid":void 0,ref:n,children:e})),VirtuosoTopList=React.forwardRef(({children:e,...t},n)=>jsxRuntime.exports.jsx("div",{...t,"data-testid":void 0,ref:n,children:e})),EmojiPickerContent=React.forwardRef(({components:e,asChild:t,...n},o)=>{const r=t?Slot$2:"div",a=React.useRef(null),i=React.useRef(null),s=React.useRef(0),l=React.useRef(0),c=React.useRef(0),{data:d,error:u,isLoading:f,columns:p,onEmojiSelect:_,selectedColumnIndex:m,selectedRowIndex:h,setPointerSelection:g,interaction:b,setInteraction:v}=useEmojiPicker(),y=React.useMemo(()=>d?.rows[h]?.[m],[d?.rows,m,h]),{Loading:E,Empty:w,Error:C,CategoryHeader:x,Grid:R,Row:S,Emoji:D}=React.useMemo(()=>({...defaultContentComponents,...e}),[e]),T=React.useMemo(()=>React.forwardRef(({children:e,...t},n)=>jsxRuntime.exports.jsx("div",{role:"grid","aria-colcount":p,...t,"data-testid":void 0,ref:n,children:e})),[p]),O=React.useMemo(()=>Array(p).fill("🌫️"),[p]),A=React.useCallback(e=>{e.preventDefault()},[]),I=React.useCallback(()=>{"pointer"===b&&v("none")},[b,v]);React.useLayoutEffect(()=>{if(!i.current)return;const e=i.current.childNodes[0],t=i.current.childNodes[1];if(e instanceof HTMLElement){const t=window.getComputedStyle(e);s.current=parseFloat(t.scrollMarginTop),l.current=parseFloat(t.scrollMarginBottom)}t instanceof HTMLElement&&(c.current=t.offsetHeight)},[]);const k=React.useCallback(({itemTop:e,itemBottom:t,viewportTop:n,viewportBottom:o,locationParams:{behavior:r,align:a,...i}})=>e-(c.current+s.current)<n?{...i,behavior:r,align:a??"start"}:t>o?{...i,behavior:r,align:a??"end",offset:l.current}:null,[]);return React.useEffect(()=>{"keyboard"===b&&a.current?.scrollIntoView({index:h,behavior:"auto",calculateViewLocation:k})},[b,h,k]),jsxRuntime.exports.jsxs(r,{...n,ref:o,children:[jsxRuntime.exports.jsxs("div",{style:{visibility:"hidden",height:0},ref:i,children:[jsxRuntime.exports.jsx(S,{attributes:placeholderRowAttributes,children:O.map((e,t)=>jsxRuntime.exports.jsx(D,{emoji:e},t))}),jsxRuntime.exports.jsx(x,{category:"Category"})]}),f?jsxRuntime.exports.jsx(E,{}):u?jsxRuntime.exports.jsx(C,{error:u}):0===d.count?jsxRuntime.exports.jsx(w,{}):jsxRuntime.exports.jsx(R,{children:jsxRuntime.exports.jsx(Yr,{ref:a,components:{Scroller:VirtuosoScroller,List:T,TopItemList:VirtuosoTopList},groupCounts:d.categoriesRowCounts,groupContent:e=>{const t=d.categories[e];return t?jsxRuntime.exports.jsx(x,{category:t}):null},itemContent:(e,t)=>{const n=d.rows[e],o=d.categoriesRowIndices[t]?.indexOf(e),r=d.categoriesRowCounts[t];return void 0===n||void 0===o||void 0===r?null:jsxRuntime.exports.jsx(S,{attributes:{rowIndex:e,categoryRowIndex:o,categoryRowsCount:r},children:n.map((t,n)=>{const o="none"!==b&&m===n&&h===e;return jsxRuntime.exports.jsx(D,{role:"gridcell","aria-colindex":n,"aria-selected":o||void 0,"data-selected":o||void 0,onMouseDown:A,tabIndex:-1,onPointerEnter:()=>{g(n,e)},onPointerLeave:I,onClick:e=>{_?.(t.emoji),e.stopPropagation()},emoji:t.emoji},t.emoji)})})}})}),y&&"none"!==b&&jsxRuntime.exports.jsx("div",{"aria-live":"polite",style:visuallyHidden,children:y.name})]})}),BASE=1e3,UNITS=["B","KB","MB","GB"];function formatFileSize(e,t){if(0===e)return`0 ${UNITS[1]}`;let n;n=0===e?1:Math.max(1,Math.min(Math.floor(Math.log(Math.abs(e))/Math.log(BASE)),UNITS.length-1));let o=e/BASE**n,r=1;1===n&&(o>=10&&(r=0),o<.1&&o>0&&(r=2),o<.01&&(o=.01));const a=UNITS[n];return`${numberFormat(t,{minimumFractionDigits:0,maximumFractionDigits:r}).format(o)} ${a}`}function createContextScope(e,t=[]){let n=[];const o=()=>{const t=n.map(e=>React__namespace.createContext(e));return function(n){const o=n?.[e]||t;return React__namespace.useMemo(()=>({[`__scope${e}`]:{...n,[e]:o}}),[n,o])}};return o.scopeName=e,[function(t,o){const r=React__namespace.createContext(o),a=n.length;n=[...n,o];const i=t=>{const{scope:n,children:o,...i}=t,s=n?.[e]?.[a]||r,l=React__namespace.useMemo(()=>i,Object.values(i));return jsxRuntime.exports.jsx(s.Provider,{value:l,children:o})};return i.displayName=t+"Provider",[i,function(n,i){const s=i?.[e]?.[a]||r,l=React__namespace.useContext(s);if(l)return l;if(void 0!==o)return o;throw new Error(`\`${n}\` must be used within \`${t}\``)}]},composeContextScopes(o,...t)]}function composeContextScopes(...e){const t=e[0];if(1===e.length)return t;const n=()=>{const n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){const o=n.reduce((t,{useScope:n,scopeName:o})=>({...t,...n(e)[`__scope${o}`]}),{});return React__namespace.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return n.scopeName=t.scopeName,n}function useCallbackRef$1(e){const t=React__namespace.useRef(e);return React__namespace.useEffect(()=>{t.current=e}),React__namespace.useMemo(()=>(...e)=>t.current?.(...e),[])}function useEscapeKeydown(e,t=globalThis?.document){const n=useCallbackRef$1(e);React__namespace.useEffect(()=>{const e=e=>{"Escape"===e.key&&n(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[n,t])}var DISMISSABLE_LAYER_NAME="DismissableLayer",CONTEXT_UPDATE="dismissableLayer.update",POINTER_DOWN_OUTSIDE="dismissableLayer.pointerDownOutside",FOCUS_OUTSIDE="dismissableLayer.focusOutside",originalBodyPointerEvents,DismissableLayerContext=React__namespace.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),DismissableLayer=React__namespace.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:a,onInteractOutside:i,onDismiss:s,...l}=e,c=React__namespace.useContext(DismissableLayerContext),[d,u]=React__namespace.useState(null),f=d?.ownerDocument??globalThis?.document,[,p]=React__namespace.useState({}),_=useComposedRefs(t,e=>u(e)),m=Array.from(c.layers),[h]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),g=m.indexOf(h),b=d?m.indexOf(d):-1,v=c.layersWithOutsidePointerEventsDisabled.size>0,y=b>=g,E=usePointerDownOutside(e=>{const t=e.target,n=[...c.branches].some(e=>e.contains(t));y&&!n&&(r?.(e),i?.(e),e.defaultPrevented||s?.())},f),w=useFocusOutside(e=>{const t=e.target;[...c.branches].some(e=>e.contains(t))||(a?.(e),i?.(e),e.defaultPrevented||s?.())},f);return useEscapeKeydown(e=>{b===c.layers.size-1&&(o?.(e),!e.defaultPrevented&&s&&(e.preventDefault(),s()))},f),React__namespace.useEffect(()=>{if(d)return n&&(0===c.layersWithOutsidePointerEventsDisabled.size&&(originalBodyPointerEvents=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(d)),c.layers.add(d),dispatchUpdate(),()=>{n&&1===c.layersWithOutsidePointerEventsDisabled.size&&(f.body.style.pointerEvents=originalBodyPointerEvents)}},[d,f,n,c]),React__namespace.useEffect(()=>()=>{d&&(c.layers.delete(d),c.layersWithOutsidePointerEventsDisabled.delete(d),dispatchUpdate())},[d,c]),React__namespace.useEffect(()=>{const e=()=>p({});return document.addEventListener(CONTEXT_UPDATE,e),()=>document.removeEventListener(CONTEXT_UPDATE,e)},[]),jsxRuntime.exports.jsx(Primitive.div,{...l,ref:_,style:{pointerEvents:v?y?"auto":"none":void 0,...e.style},onFocusCapture:composeEventHandlers(e.onFocusCapture,w.onFocusCapture),onBlurCapture:composeEventHandlers(e.onBlurCapture,w.onBlurCapture),onPointerDownCapture:composeEventHandlers(e.onPointerDownCapture,E.onPointerDownCapture)})});DismissableLayer.displayName=DISMISSABLE_LAYER_NAME;var BRANCH_NAME="DismissableLayerBranch",DismissableLayerBranch=React__namespace.forwardRef((e,t)=>{const n=React__namespace.useContext(DismissableLayerContext),o=React__namespace.useRef(null),r=useComposedRefs(t,o);return React__namespace.useEffect(()=>{const e=o.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),jsxRuntime.exports.jsx(Primitive.div,{...e,ref:r})});function usePointerDownOutside(e,t=globalThis?.document){const n=useCallbackRef$1(e),o=React__namespace.useRef(!1),r=React__namespace.useRef(()=>{});return React__namespace.useEffect(()=>{const e=e=>{if(e.target&&!o.current){let o=function(){handleAndDispatchCustomEvent(POINTER_DOWN_OUTSIDE,n,a,{discrete:!0})};const a={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",r.current),r.current=o,t.addEventListener("click",r.current,{once:!0})):o()}else t.removeEventListener("click",r.current);o.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",e),t.removeEventListener("click",r.current)}},[t,n]),{onPointerDownCapture:()=>o.current=!0}}function useFocusOutside(e,t=globalThis?.document){const n=useCallbackRef$1(e),o=React__namespace.useRef(!1);return React__namespace.useEffect(()=>{const e=e=>{if(e.target&&!o.current){handleAndDispatchCustomEvent(FOCUS_OUTSIDE,n,{originalEvent:e},{discrete:!1})}};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,n]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function dispatchUpdate(){const e=new CustomEvent(CONTEXT_UPDATE);document.dispatchEvent(e)}function handleAndDispatchCustomEvent(e,t,n,{discrete:o}){const r=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),o?dispatchDiscreteCustomEvent(r,a):r.dispatchEvent(a)}DismissableLayerBranch.displayName=BRANCH_NAME;var useReactId=React__namespace[" useId ".trim().toString()]||(()=>{}),count$1=0;function useId(e){const[t,n]=React__namespace.useState(useReactId());return useLayoutEffect2(()=>{e||n(e=>e??String(count$1++))},[e]),e||(t?`radix-${t}`:"")}var NAME$1="Arrow",Arrow$1=React__namespace.forwardRef((e,t)=>{const{children:n,width:o=10,height:r=5,...a}=e;return jsxRuntime.exports.jsx(Primitive.svg,{...a,ref:t,width:o,height:r,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:jsxRuntime.exports.jsx("polygon",{points:"0,0 30,0 15,10"})})});Arrow$1.displayName=NAME$1;var Root$2=Arrow$1;function useSize(e){const[t,n]=React__namespace.useState(void 0);return useLayoutEffect2(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const t=new ResizeObserver(t=>{if(!Array.isArray(t))return;if(!t.length)return;const o=t[0];let r,a;if("borderBoxSize"in o){const e=o.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,a=t.blockSize}else r=e.offsetWidth,a=e.offsetHeight;n({width:r,height:a})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}n(void 0)},[e]),t}var POPPER_NAME="Popper",[createPopperContext,createPopperScope]=createContextScope(POPPER_NAME),[PopperProvider,usePopperContext]=createPopperContext(POPPER_NAME),Popper=e=>{const{__scopePopper:t,children:n}=e,[o,r]=React__namespace.useState(null);return jsxRuntime.exports.jsx(PopperProvider,{scope:t,anchor:o,onAnchorChange:r,children:n})};Popper.displayName=POPPER_NAME;var ANCHOR_NAME$2="PopperAnchor",PopperAnchor=React__namespace.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:o,...r}=e,a=usePopperContext(ANCHOR_NAME$2,n),i=React__namespace.useRef(null),s=useComposedRefs(t,i),l=React__namespace.useRef(null);return React__namespace.useEffect(()=>{const e=l.current;l.current=o?.current||i.current,e!==l.current&&a.onAnchorChange(l.current)}),o?null:jsxRuntime.exports.jsx(Primitive.div,{...r,ref:s})});PopperAnchor.displayName=ANCHOR_NAME$2;var CONTENT_NAME$4="PopperContent",[PopperContentProvider,useContentContext]=createPopperContext(CONTENT_NAME$4),PopperContent=React__namespace.forwardRef((e,t)=>{const{__scopePopper:n,side:o="bottom",sideOffset:r=0,align:a="center",alignOffset:i=0,arrowPadding:s=0,avoidCollisions:l=!0,collisionBoundary:c=[],collisionPadding:d=0,sticky:u="partial",hideWhenDetached:f=!1,updatePositionStrategy:p="optimized",onPlaced:_,...m}=e,h=usePopperContext(CONTENT_NAME$4,n),[g,b]=React__namespace.useState(null),v=useComposedRefs(t,e=>b(e)),[y,E]=React__namespace.useState(null),w=useSize(y),C=w?.width??0,x=w?.height??0,R=o+("center"!==a?"-"+a:""),S="number"==typeof d?d:{top:0,right:0,bottom:0,left:0,...d},D=Array.isArray(c)?c:[c],T=D.length>0,O={padding:S,boundary:D.filter(isNotNull),altBoundary:T},{refs:A,floatingStyles:I,placement:k,isPositioned:N,middlewareData:j}=useFloating({strategy:"fixed",placement:R,whileElementsMounted:(...e)=>autoUpdate(...e,{animationFrame:"always"===p}),elements:{reference:h.anchor},middleware:[offset({mainAxis:r+x,alignmentAxis:i}),l&&shift({mainAxis:!0,crossAxis:!1,limiter:"partial"===u?limitShift():void 0,...O}),l&&flip({...O}),size({...O,apply:({elements:e,rects:t,availableWidth:n,availableHeight:o})=>{const{width:r,height:a}=t.reference,i=e.floating.style;i.setProperty("--radix-popper-available-width",`${n}px`),i.setProperty("--radix-popper-available-height",`${o}px`),i.setProperty("--radix-popper-anchor-width",`${r}px`),i.setProperty("--radix-popper-anchor-height",`${a}px`)}}),y&&arrow({element:y,padding:s}),transformOrigin({arrowWidth:C,arrowHeight:x}),f&&hide({strategy:"referenceHidden",...O})]}),[$,F]=getSideAndAlignFromPlacement(k),P=useCallbackRef$1(_);useLayoutEffect2(()=>{N&&P?.()},[N,P]);const M=j.arrow?.x,B=j.arrow?.y,L=0!==j.arrow?.centerOffset,[U,V]=React__namespace.useState();return useLayoutEffect2(()=>{g&&V(window.getComputedStyle(g).zIndex)},[g]),jsxRuntime.exports.jsx("div",{ref:A.setFloating,"data-radix-popper-content-wrapper":"",style:{...I,transform:N?I.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:U,"--radix-popper-transform-origin":[j.transformOrigin?.x,j.transformOrigin?.y].join(" "),...j.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:jsxRuntime.exports.jsx(PopperContentProvider,{scope:n,placedSide:$,onArrowChange:E,arrowX:M,arrowY:B,shouldHideArrow:L,children:jsxRuntime.exports.jsx(Primitive.div,{"data-side":$,"data-align":F,...m,ref:v,style:{...m.style,animation:N?void 0:"none"}})})})});PopperContent.displayName=CONTENT_NAME$4;var ARROW_NAME$4="PopperArrow",OPPOSITE_SIDE={top:"bottom",right:"left",bottom:"top",left:"right"},PopperArrow=React__namespace.forwardRef(function(e,t){const{__scopePopper:n,...o}=e,r=useContentContext(ARROW_NAME$4,n),a=OPPOSITE_SIDE[r.placedSide];return jsxRuntime.exports.jsx("span",{ref:r.onArrowChange,style:{position:"absolute",left:r.arrowX,top:r.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[r.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[r.placedSide],visibility:r.shouldHideArrow?"hidden":void 0},children:jsxRuntime.exports.jsx(Root$2,{...o,ref:t,style:{...o.style,display:"block"}})})});function isNotNull(e){return null!==e}PopperArrow.displayName=ARROW_NAME$4;var transformOrigin=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:o,middlewareData:r}=t,a=0!==r.arrow?.centerOffset,i=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[l,c]=getSideAndAlignFromPlacement(n),d={start:"0%",center:"50%",end:"100%"}[c],u=(r.arrow?.x??0)+i/2,f=(r.arrow?.y??0)+s/2;let p="",_="";return"bottom"===l?(p=a?d:`${u}px`,_=-s+"px"):"top"===l?(p=a?d:`${u}px`,_=`${o.floating.height+s}px`):"right"===l?(p=-s+"px",_=a?d:`${f}px`):"left"===l&&(p=`${o.floating.width+s}px`,_=a?d:`${f}px`),{data:{x:p,y:_}}}});function getSideAndAlignFromPlacement(e){const[t,n="center"]=e.split("-");return[t,n]}var Root2$2=Popper,Anchor=PopperAnchor,Content$1=PopperContent,Arrow=PopperArrow,PORTAL_NAME$4="Portal",Portal$3=React__namespace.forwardRef((e,t)=>{const{container:n,...o}=e,[r,a]=React__namespace.useState(!1);useLayoutEffect2(()=>a(!0),[]);const i=n||r&&globalThis?.document?.body;return i?ReactDOM__default.default.createPortal(jsxRuntime.exports.jsx(Primitive.div,{...o,ref:t}),i):null});function useStateMachine(e,t){return React__namespace.useReducer((e,n)=>t[e][n]??e,e)}Portal$3.displayName=PORTAL_NAME$4;var Presence=e=>{const{present:t,children:n}=e,o=usePresence(t),r="function"==typeof n?n({present:o.isPresent}):React__namespace.Children.only(n),a=useComposedRefs(o.ref,getElementRef(r));return"function"==typeof n||o.isPresent?React__namespace.cloneElement(r,{ref:a}):null};function usePresence(e){const[t,n]=React__namespace.useState(),o=React__namespace.useRef(null),r=React__namespace.useRef(e),a=React__namespace.useRef("none"),i=e?"mounted":"unmounted",[s,l]=useStateMachine(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return React__namespace.useEffect(()=>{const e=getAnimationName(o.current);a.current="mounted"===s?e:"none"},[s]),useLayoutEffect2(()=>{const t=o.current,n=r.current;if(n!==e){const o=a.current,i=getAnimationName(t);if(e)l("MOUNT");else if("none"===i||"none"===t?.display)l("UNMOUNT");else{l(n&&o!==i?"ANIMATION_OUT":"UNMOUNT")}r.current=e}},[e,l]),useLayoutEffect2(()=>{if(t){let e;const n=t.ownerDocument.defaultView??window,i=a=>{const i=getAnimationName(o.current).includes(CSS.escape(a.animationName));if(a.target===t&&i&&(l("ANIMATION_END"),!r.current)){const o=t.style.animationFillMode;t.style.animationFillMode="forwards",e=n.setTimeout(()=>{"forwards"===t.style.animationFillMode&&(t.style.animationFillMode=o)})}},s=e=>{e.target===t&&(a.current=getAnimationName(o.current))};return t.addEventListener("animationstart",s),t.addEventListener("animationcancel",i),t.addEventListener("animationend",i),()=>{n.clearTimeout(e),t.removeEventListener("animationstart",s),t.removeEventListener("animationcancel",i),t.removeEventListener("animationend",i)}}l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:React__namespace.useCallback(e=>{o.current=e?getComputedStyle(e):null,n(e)},[])}}function getAnimationName(e){return e?.animationName||"none"}function getElementRef(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}Presence.displayName="Presence";var VISUALLY_HIDDEN_STYLES=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),NAME="VisuallyHidden",VisuallyHidden=React__namespace.forwardRef((e,t)=>jsxRuntime.exports.jsx(Primitive.span,{...e,ref:t,style:{...VISUALLY_HIDDEN_STYLES,...e.style}}));VisuallyHidden.displayName=NAME;var Root$1=VisuallyHidden,[createTooltipContext,createTooltipScope]=createContextScope("Tooltip",[createPopperScope]),usePopperScope$2=createPopperScope(),PROVIDER_NAME="TooltipProvider",DEFAULT_DELAY_DURATION=700,TOOLTIP_OPEN="tooltip.open",[TooltipProviderContextProvider,useTooltipProviderContext]=createTooltipContext(PROVIDER_NAME),TooltipProvider=e=>{const{__scopeTooltip:t,delayDuration:n=DEFAULT_DELAY_DURATION,skipDelayDuration:o=300,disableHoverableContent:r=!1,children:a}=e,i=React__namespace.useRef(!0),s=React__namespace.useRef(!1),l=React__namespace.useRef(0);return React__namespace.useEffect(()=>{const e=l.current;return()=>window.clearTimeout(e)},[]),jsxRuntime.exports.jsx(TooltipProviderContextProvider,{scope:t,isOpenDelayedRef:i,delayDuration:n,onOpen:React__namespace.useCallback(()=>{window.clearTimeout(l.current),i.current=!1},[]),onClose:React__namespace.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>i.current=!0,o)},[o]),isPointerInTransitRef:s,onPointerInTransitChange:React__namespace.useCallback(e=>{s.current=e},[]),disableHoverableContent:r,children:a})};TooltipProvider.displayName=PROVIDER_NAME;var TOOLTIP_NAME="Tooltip",[TooltipContextProvider,useTooltipContext]=createTooltipContext(TOOLTIP_NAME),Tooltip$1=e=>{const{__scopeTooltip:t,children:n,open:o,defaultOpen:r,onOpenChange:a,disableHoverableContent:i,delayDuration:s}=e,l=useTooltipProviderContext(TOOLTIP_NAME,e.__scopeTooltip),c=usePopperScope$2(t),[d,u]=React__namespace.useState(null),f=useId(),p=React__namespace.useRef(0),_=i??l.disableHoverableContent,m=s??l.delayDuration,h=React__namespace.useRef(!1),[g,b]=useControllableState$1({prop:o,defaultProp:r??!1,onChange:e=>{e?(l.onOpen(),document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN))):l.onClose(),a?.(e)},caller:TOOLTIP_NAME}),v=React__namespace.useMemo(()=>g?h.current?"delayed-open":"instant-open":"closed",[g]),y=React__namespace.useCallback(()=>{window.clearTimeout(p.current),p.current=0,h.current=!1,b(!0)},[b]),E=React__namespace.useCallback(()=>{window.clearTimeout(p.current),p.current=0,b(!1)},[b]),w=React__namespace.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{h.current=!0,b(!0),p.current=0},m)},[m,b]);return React__namespace.useEffect(()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)},[]),jsxRuntime.exports.jsx(Root2$2,{...c,children:jsxRuntime.exports.jsx(TooltipContextProvider,{scope:t,contentId:f,open:g,stateAttribute:v,trigger:d,onTriggerChange:u,onTriggerEnter:React__namespace.useCallback(()=>{l.isOpenDelayedRef.current?w():y()},[l.isOpenDelayedRef,w,y]),onTriggerLeave:React__namespace.useCallback(()=>{_?E():(window.clearTimeout(p.current),p.current=0)},[E,_]),onOpen:y,onClose:E,disableHoverableContent:_,children:n})})};Tooltip$1.displayName=TOOLTIP_NAME;var TRIGGER_NAME$2="TooltipTrigger",TooltipTrigger=React__namespace.forwardRef((e,t)=>{const{__scopeTooltip:n,...o}=e,r=useTooltipContext(TRIGGER_NAME$2,n),a=useTooltipProviderContext(TRIGGER_NAME$2,n),i=usePopperScope$2(n),s=useComposedRefs(t,React__namespace.useRef(null),r.onTriggerChange),l=React__namespace.useRef(!1),c=React__namespace.useRef(!1),d=React__namespace.useCallback(()=>l.current=!1,[]);return React__namespace.useEffect(()=>()=>document.removeEventListener("pointerup",d),[d]),jsxRuntime.exports.jsx(Anchor,{asChild:!0,...i,children:jsxRuntime.exports.jsx(Primitive.button,{"aria-describedby":r.open?r.contentId:void 0,"data-state":r.stateAttribute,...o,ref:s,onPointerMove:composeEventHandlers(e.onPointerMove,e=>{"touch"!==e.pointerType&&(c.current||a.isPointerInTransitRef.current||(r.onTriggerEnter(),c.current=!0))}),onPointerLeave:composeEventHandlers(e.onPointerLeave,()=>{r.onTriggerLeave(),c.current=!1}),onPointerDown:composeEventHandlers(e.onPointerDown,()=>{r.open&&r.onClose(),l.current=!0,document.addEventListener("pointerup",d,{once:!0})}),onFocus:composeEventHandlers(e.onFocus,()=>{l.current||r.onOpen()}),onBlur:composeEventHandlers(e.onBlur,r.onClose),onClick:composeEventHandlers(e.onClick,r.onClose)})})});TooltipTrigger.displayName=TRIGGER_NAME$2;var PORTAL_NAME$3="TooltipPortal",[PortalProvider$2,usePortalContext$2]=createTooltipContext(PORTAL_NAME$3,{forceMount:void 0}),TooltipPortal=e=>{const{__scopeTooltip:t,forceMount:n,children:o,container:r}=e,a=useTooltipContext(PORTAL_NAME$3,t);return jsxRuntime.exports.jsx(PortalProvider$2,{scope:t,forceMount:n,children:jsxRuntime.exports.jsx(Presence,{present:n||a.open,children:jsxRuntime.exports.jsx(Portal$3,{asChild:!0,container:r,children:o})})})};TooltipPortal.displayName=PORTAL_NAME$3;var CONTENT_NAME$3="TooltipContent",TooltipContent=React__namespace.forwardRef((e,t)=>{const n=usePortalContext$2(CONTENT_NAME$3,e.__scopeTooltip),{forceMount:o=n.forceMount,side:r="top",...a}=e,i=useTooltipContext(CONTENT_NAME$3,e.__scopeTooltip);return jsxRuntime.exports.jsx(Presence,{present:o||i.open,children:i.disableHoverableContent?jsxRuntime.exports.jsx(TooltipContentImpl,{side:r,...a,ref:t}):jsxRuntime.exports.jsx(TooltipContentHoverable,{side:r,...a,ref:t})})}),TooltipContentHoverable=React__namespace.forwardRef((e,t)=>{const n=useTooltipContext(CONTENT_NAME$3,e.__scopeTooltip),o=useTooltipProviderContext(CONTENT_NAME$3,e.__scopeTooltip),r=React__namespace.useRef(null),a=useComposedRefs(t,r),[i,s]=React__namespace.useState(null),{trigger:l,onClose:c}=n,d=r.current,{onPointerInTransitChange:u}=o,f=React__namespace.useCallback(()=>{s(null),u(!1)},[u]),p=React__namespace.useCallback((e,t)=>{const n=e.currentTarget,o={x:e.clientX,y:e.clientY},r=getHull([...getPaddedExitPoints(o,getExitSideFromRect(o,n.getBoundingClientRect())),...getPointsFromRect(t.getBoundingClientRect())]);s(r),u(!0)},[u]);return React__namespace.useEffect(()=>()=>f(),[f]),React__namespace.useEffect(()=>{if(l&&d){const e=e=>p(e,d),t=e=>p(e,l);return l.addEventListener("pointerleave",e),d.addEventListener("pointerleave",t),()=>{l.removeEventListener("pointerleave",e),d.removeEventListener("pointerleave",t)}}},[l,d,p,f]),React__namespace.useEffect(()=>{if(i){const e=e=>{const t=e.target,n={x:e.clientX,y:e.clientY},o=l?.contains(t)||d?.contains(t),r=!isPointInPolygon$1(n,i);o?f():r&&(f(),c())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[l,d,i,c,f]),jsxRuntime.exports.jsx(TooltipContentImpl,{...e,ref:a})}),[VisuallyHiddenContentContextProvider,useVisuallyHiddenContentContext]=createTooltipContext(TOOLTIP_NAME,{isInside:!1}),Slottable=createSlottable("TooltipContent"),TooltipContentImpl=React__namespace.forwardRef((e,t)=>{const{__scopeTooltip:n,children:o,"aria-label":r,onEscapeKeyDown:a,onPointerDownOutside:i,...s}=e,l=useTooltipContext(CONTENT_NAME$3,n),c=usePopperScope$2(n),{onClose:d}=l;return React__namespace.useEffect(()=>(document.addEventListener(TOOLTIP_OPEN,d),()=>document.removeEventListener(TOOLTIP_OPEN,d)),[d]),React__namespace.useEffect(()=>{if(l.trigger){const e=e=>{const t=e.target;t?.contains(l.trigger)&&d()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[l.trigger,d]),jsxRuntime.exports.jsx(DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:jsxRuntime.exports.jsxs(Content$1,{"data-state":l.stateAttribute,...c,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[jsxRuntime.exports.jsx(Slottable,{children:o}),jsxRuntime.exports.jsx(VisuallyHiddenContentContextProvider,{scope:n,isInside:!0,children:jsxRuntime.exports.jsx(Root$1,{id:l.contentId,role:"tooltip",children:r||o})})]})})});TooltipContent.displayName=CONTENT_NAME$3;var ARROW_NAME$3="TooltipArrow",TooltipArrow=React__namespace.forwardRef((e,t)=>{const{__scopeTooltip:n,...o}=e,r=usePopperScope$2(n);return useVisuallyHiddenContentContext(ARROW_NAME$3,n).isInside?null:jsxRuntime.exports.jsx(Arrow,{...r,...o,ref:t})});function getExitSideFromRect(e,t){const n=Math.abs(t.top-e.y),o=Math.abs(t.bottom-e.y),r=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,o,r,a)){case a:return"left";case r:return"right";case n:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function getPaddedExitPoints(e,t,n=5){const o=[];switch(t){case"top":o.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":o.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":o.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":o.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return o}function getPointsFromRect(e){const{top:t,right:n,bottom:o,left:r}=e;return[{x:r,y:t},{x:n,y:t},{x:n,y:o},{x:r,y:o}]}function isPointInPolygon$1(e,t){const{x:n,y:o}=e;let r=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){const i=t[e],s=t[a],l=i.x,c=i.y,d=s.x,u=s.y;c>o!=u>o&&n<(d-l)*(o-c)/(u-c)+l&&(r=!r)}return r}function getHull(e){const 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),getHullPresorted(t)}function getHullPresorted(e){if(e.length<=1)return e.slice();const t=[];for(let n=0;n<e.length;n++){const o=e[n];for(;t.length>=2;){const e=t[t.length-1],n=t[t.length-2];if(!((e.x-n.x)*(o.y-n.y)>=(e.y-n.y)*(o.x-n.x)))break;t.pop()}t.push(o)}t.pop();const n=[];for(let t=e.length-1;t>=0;t--){const o=e[t];for(;n.length>=2;){const e=n[n.length-1],t=n[n.length-2];if(!((e.x-t.x)*(o.y-t.y)>=(e.y-t.y)*(o.x-t.x)))break;n.pop()}n.push(o)}return n.pop(),1===t.length&&1===n.length&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}TooltipArrow.displayName=ARROW_NAME$3;var Root3$1=Tooltip$1,Trigger$1=TooltipTrigger,Portal$2=TooltipPortal,Content2$3=TooltipContent;const KEYS={alt:()=>({title:"Alt",key:"⌥"}),mod:()=>isApple()?{title:"Command",key:"⌘"}:{title:"Ctrl",key:"⌃"},shift:()=>({title:"Shift",key:"⇧"}),enter:()=>({title:"Enter",key:"⏎"})},Tooltip=React.forwardRef(({children:e,content:t,multiline:n,className:o,...r},a)=>{const{portalContainer:i}=useLiveblocksUIConfig();return jsxRuntime.exports.jsxs(Root3$1,{disableHoverableContent:!0,children:[jsxRuntime.exports.jsx(Trigger$1,{asChild:!0,ref:a,children:e}),jsxRuntime.exports.jsx(Portal$2,{container:i,children:jsxRuntime.exports.jsx(Content2$3,{className:classNames("lb-root lb-portal lb-tooltip",n&&"lb-tooltip:multiline",o),side:"top",align:"center",sideOffset:FLOATING_ELEMENT_SIDE_OFFSET,collisionPadding:FLOATING_ELEMENT_COLLISION_PADDING,...r,children:t})})]})}),ShortcutTooltip=React.forwardRef(({children:e,content:t,shortcut:n,...o},r)=>jsxRuntime.exports.jsx(Tooltip,{content:jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[t,n&&jsxRuntime.exports.jsx("kbd",{className:"lb-tooltip-shortcut",children:n})]}),...o,ref:r,children:e}));function ShortcutTooltipKey({name:e,...t}){const{title:n,key:o}=React.useMemo(()=>KEYS[e]?.(),[e]);return jsxRuntime.exports.jsx("abbr",{title:n,...t,children:o})}const MAX_DISPLAYED_MEDIA_SIZE=62914560,fileExtensionRegex=/^(.+?)(\.[^.]+)?$/;function splitFileName(e){const t=e.match(fileExtensionRegex);return{base:t?.[1]??e,extension:t?.[2]}}function getAttachmentIconGlyph(e){return"application/zip"===e||"application/gzip"===e||"application/vnd.rar"===e||"application/x-rar-compressed"===e||"application/x-7z-compressed"===e||"application/x-zip-compressed"===e||"application/x-tar"===e||"application/x-bzip"===e||"application/x-bzip2"===e?jsxRuntime.exports.jsx("path",{d:"M13 15h2v1h-1.5a.5.5 0 0 0 0 1H15v1h-1.5a.5.5 0 0 0 0 1H15v1h-1.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 .5-.5V20h1.5a.5.5 0 0 0 0-1H15v-1h1.5a.5.5 0 0 0 0-1H15v-1h1.5a.5.5 0 0 0 .5-.5V15a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2Z"}):e.startsWith("text/")||e.startsWith("font/")||e.startsWith("application/")?jsxRuntime.exports.jsx("path",{d:"M10 16a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5Zm0 2a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5Z"}):e.startsWith("image/")?jsxRuntime.exports.jsx("path",{d:"M12 16h6a1 1 0 0 1 1 1v3l-1.293-1.293a1 1 0 0 0-1.414 0L14.09 20.91l-.464-.386a1 1 0 0 0-1.265-.013l-1.231.985A.995.995 0 0 1 11 21v-4a1 1 0 0 1 1-1Zm-2 1a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2v-4Zm3 2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"}):e.startsWith("video/")?jsxRuntime.exports.jsx("path",{d:"M12 15.71a1 1 0 0 1 1.49-.872l4.96 2.79a1 1 0 0 1 0 1.744l-4.96 2.79A1 1 0 0 1 12 21.29v-5.58Z"}):e.startsWith("audio/")?jsxRuntime.exports.jsx("path",{d:"M15 15a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 1 0v-7a.5.5 0 0 0-.5-.5Zm-2.5 2.5a.5.5 0 0 1 1 0v3a.5.5 0 0 1-1 0v-3Zm-2 1a.5.5 0 0 1 1 0v1a.5.5 0 0 1-1 0v-1Zm6-1a.5.5 0 0 1 1 0v3a.5.5 0 0 1-1 0v-3ZM19 16a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-.5-.5Z"}):null}const AttachmentFileIcon=React.memo(({mimeType:e})=>{const t=React.useMemo(()=>getAttachmentIconGlyph(e),[e]);return jsxRuntime.exports.jsxs("svg",{className:"lb-attachment-icon",width:30,height:30,viewBox:"0 0 30 30",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.exports.jsx("path",{d:"M6 5a2 2 0 0 1 2-2h5.843a4 4 0 0 1 2.829 1.172l6.156 6.156A4 4 0 0 1 24 13.157V25a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V5Z",className:"lb-attachment-icon-shadow"}),jsxRuntime.exports.jsx("path",{d:"M6 5a2 2 0 0 1 2-2h5.843a4 4 0 0 1 2.829 1.172l6.156 6.156A4 4 0 0 1 24 13.157V25a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V5Z",className:"lb-attachment-icon-background"}),jsxRuntime.exports.jsx("path",{d:"M14.382 3.037a4 4 0 0 1 2.29 1.135l6.156 6.157a4 4 0 0 1 1.136 2.289A2 2 0 0 0 22 11h-4a2 2 0 0 1-2-2V5a2 2 0 0 0-1.618-1.963Z",className:"lb-attachment-icon-fold"}),t&&jsxRuntime.exports.jsx("g",{className:"lb-attachment-icon-glyph",children:t})]})});function AttachmentImagePreview({attachment:e,markPreviewAsUnsupported:t,roomId:n}){const{url:o}=useRoomAttachmentUrl(e.id,n),[r,a]=React.useState(!1),i=React.useCallback(()=>{a(!0)},[]);return jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[r?null:jsxRuntime.exports.jsx(SpinnerIcon,{}),o?jsxRuntime.exports.jsx("div",{className:"lb-attachment-preview-media","data-hidden":r?void 0:"",children:jsxRuntime.exports.jsx("img",{src:o,loading:"lazy",onLoad:i,onError:t})}):null]})}function AttachmentVideoPreview({attachment:e,markPreviewAsUnsupported:t,roomId:n}){const{url:o}=useRoomAttachmentUrl(e.id,n),[r,a]=React.useState(!1),i=React.useCallback(()=>{a(!0)},[]);return jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[r?null:jsxRuntime.exports.jsx(SpinnerIcon,{}),o?jsxRuntime.exports.jsx("div",{className:"lb-attachment-preview-media","data-hidden":r?void 0:"",children:jsxRuntime.exports.jsx("video",{src:o,onLoadedData:i,onError:t})}):null]})}function AttachmentPreview({attachment:e,allowMediaPreview:t=!0,roomId:n}){const[o,r]=React.useState(!1),a="attachment"===e.type||"uploaded"===e.status;function i(){r(!0)}if(!o&&t&&a&&e.size<=MAX_DISPLAYED_MEDIA_SIZE){if(e.mimeType.startsWith("image/"))return jsxRuntime.exports.jsx(AttachmentImagePreview,{attachment:e,markPreviewAsUnsupported:i,roomId:n});if(e.mimeType.startsWith("video/"))return jsxRuntime.exports.jsx(AttachmentVideoPreview,{attachment:e,markPreviewAsUnsupported:i,roomId:n})}return jsxRuntime.exports.jsx(AttachmentFileIcon,{mimeType:e.mimeType})}function AttachmentName({attachment:e}){const{base:t,extension:n}=React.useMemo(()=>splitFileName(e.name),[e.name]);return jsxRuntime.exports.jsxs("span",{className:"lb-attachment-name",title:e.name,children:[jsxRuntime.exports.jsx("span",{className:"lb-attachment-name-base",children:t}),n&&jsxRuntime.exports.jsx("span",{className:"lb-attachment-name-extension",children:n})]})}function useClickOnKeyDown(e){return React.useCallback(t=>{if(e?.(t),!t.isDefaultPrevented()&&("Enter"===t.key||" "===t.key)){t.preventDefault();const e=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window});t.target.dispatchEvent(e)}},[e])}function useAttachmentContent(e,t){const n=useOverrides(t),o=useComposerAttachmentsContextOrNull(),r=Boolean(o),a=o?.maxAttachmentSize,i="localAttachment"===e.type?e.status:void 0,s="uploading"===i,l="error"===i;let c;c="localAttachment"===e.type&&"error"===e.status?e.error instanceof AttachmentTooLargeError?"server"===e.error.origin?n.ATTACHMENT_TOO_LARGE():n.ATTACHMENT_TOO_LARGE(a?formatFileSize(a,n.locale):void 0):n.ATTACHMENT_ERROR(e.error):formatFileSize(e.size,n.locale);return{isUploading:s,isError:l,description:c,deleteLabel:r?n.COMPOSER_REMOVE_ATTACHMENT:n.COMMENT_DELETE_ATTACHMENT}}function MediaAttachment({attachment:e,overrides:t,onClick:n,onDeleteClick:o,preventFocusOnDelete:r,allowMediaPreview:a=!0,roomId:i,className:s,onKeyDown:l,...c}){const{isUploading:d,isError:u,description:f,deleteLabel:p}=useAttachmentContent(e,t),_=React.useCallback(e=>{r&&e.preventDefault()},[r]),m=useClickOnKeyDown(l);return jsxRuntime.exports.jsxs("div",{className:classNames("lb-attachment lb-media-attachment",s),"data-error":u?"":void 0,...c,role:n?"button":void 0,onClick:n,tabIndex:n?0:-1,onKeyDown:n?m:void 0,children:[jsxRuntime.exports.jsx("div",{className:"lb-attachment-preview",children:d?jsxRuntime.exports.jsx(SpinnerIcon,{}):u?jsxRuntime.exports.jsx(WarningIcon,{}):jsxRuntime.exports.jsx(AttachmentPreview,{attachment:e,allowMediaPreview:a,roomId:i})}),jsxRuntime.exports.jsxs("div",{className:"lb-attachment-details",children:[jsxRuntime.exports.jsx(AttachmentName,{attachment:e}),jsxRuntime.exports.jsx("span",{className:"lb-attachment-description",title:f,children:f})]}),o&&jsxRuntime.exports.jsx(Tooltip,{content:p,children:jsxRuntime.exports.jsx("button",{type:"button",className:"lb-attachment-delete",onClick:o,onPointerDown:_,"aria-label":p,children:jsxRuntime.exports.jsx(CrossIcon,{})})})]})}function FileAttachment({attachment:e,overrides:t,onClick:n,onDeleteClick:o,preventFocusOnDelete:r,allowMediaPreview:a=!0,roomId:i,className:s,onKeyDown:l,...c}){const{isUploading:d,isError:u,description:f,deleteLabel:p}=useAttachmentContent(e,t),_=React.useCallback(e=>{r&&e.preventDefault()},[r]),m=useClickOnKeyDown(l);return jsxRuntime.exports.jsxs("div",{className:classNames("lb-attachment lb-file-attachment",s),"data-error":u?"":void 0,...c,role:n?"button":void 0,onClick:n,tabIndex:n?0:-1,onKeyDown:n?m:void 0,children:[jsxRuntime.exports.jsx("div",{className:"lb-attachment-preview",children:d?jsxRuntime.exports.jsx(SpinnerIcon,{}):u?jsxRuntime.exports.jsx(WarningIcon,{}):jsxRuntime.exports.jsx(AttachmentPreview,{attachment:e,allowMediaPreview:a,roomId:i})}),jsxRuntime.exports.jsxs("div",{className:"lb-attachment-details",children:[jsxRuntime.exports.jsx(AttachmentName,{attachment:e}),jsxRuntime.exports.jsx("span",{className:"lb-attachment-description",title:f,children:f})]}),o&&jsxRuntime.exports.jsx(Tooltip,{content:p,children:jsxRuntime.exports.jsx("button",{type:"button",className:"lb-attachment-delete",onClick:o,onPointerDown:_,"aria-label":p,children:jsxRuntime.exports.jsx(CrossIcon,{})})})]})}function separateMediaAttachments(e){const t=[],n=[];for(const o of e)(o.mimeType.startsWith("image/")||o.mimeType.startsWith("video/"))&&o.size<=MAX_DISPLAYED_MEDIA_SIZE?t.push(o):n.push(o);return{mediaAttachments:t,fileAttachments:n}}function Attribution({className:e,...t}){return jsxRuntime.exports.jsx("a",{href:"https://liveblocks.io",target:"_blank",rel:"noopener noreferrer",className:classNames("lb-composer-attribution",e),...t,children:jsxRuntime.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 72","aria-label":"Made with Liveblocks",children:jsxRuntime.exports.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M86 10h-8v50h8V10Zm16 14h-8v36h8V24Zm0-15h-8v9h8V9Zm13 15h-9l12 36h10l13-36h-9l-9 28-8-28Zm44-1c-11 0-18 8-18 19s7 19 18 19c8 0 15-4 17-13h-8c-1 4-5 6-9 6-6 0-9-3-9-10h27c0-10-6-21-18-21Zm0 7c5 0 9 3 9 8h-18c0-5 4-8 9-8Zm42-7c-4 0-8 2-11 6V10h-8v50h8v-5c3 4 7 6 11 6 11 0 16-9 16-19s-5-19-16-19Zm-2 32c-7 0-9-7-9-13s2-13 9-13 9 7 9 13-2 13-9 13Zm32-45h-8v50h8V10Zm24 51c11 0 18-8 18-19s-8-19-18-19c-11 0-19 8-19 19s7 19 19 19Zm0-6c-8 0-10-7-10-13s2-13 10-13c7 0 9 7 9 13s-2 13-9 13Zm39 6c8 0 15-4 17-12l-8-1c-2 4-4 6-9 6-7 0-9-6-9-12s2-12 9-12c5 0 8 3 8 7l9-1c-2-8-9-13-17-13-11 0-18 9-18 19 0 11 7 19 18 19Zm30-14 4-4 10 17h10l-15-23 15-13h-11l-13 13V10h-9v50h9V47Zm39 14c8 0 16-3 16-12 0-8-8-10-15-11-2-1-7-1-7-5 0-3 3-4 6-4 4 0 7 3 7 7l8-1c-1-9-8-12-15-12s-15 3-15 11 9 10 15 11c3 1 8 2 8 5 0 4-4 5-7 5-5 0-8-3-9-7l-8 1c1 8 9 12 16 12ZM41 27H0l12 12v17l29-29ZM20 60h40L48 48V32L20 60Z",fill:"currentColor"})})})}function getInitials(e){return e.trim().split(" ").reduce((e,t,n,o)=>(0!==n&&n!==o.length-1||(e+=t.charAt(0).toLocaleUpperCase()),e),"")}function Avatar({userId:e,className:t,...n}){const{user:o,isLoading:r}=_useUser(e),a=React.useMemo(()=>o?.name,[o]),i=React.useMemo(()=>o?.avatar,[o]),s=React.useMemo(()=>a?getInitials(a):void 0,[a]),l=React.useMemo(()=>r||o?void 0:getInitials(e),[r,o,e]);return jsxRuntime.exports.jsxs("div",{className:classNames("lb-avatar",t),"data-loading":r?"":void 0,...n,children:[i&&jsxRuntime.exports.jsx("img",{className:"lb-avatar-image",src:i,alt:a}),s?jsxRuntime.exports.jsx("span",{className:"lb-avatar-fallback","aria-hidden":!0,children:s}):l?jsxRuntime.exports.jsx("span",{className:"lb-avatar-fallback","aria-label":e,title:e,children:l}):null]})}const Button=React.forwardRef(({variant:e="default",size:t="default",disableable:n=!0,className:o,...r},a)=>jsxRuntime.exports.jsx("button",{type:"button",className:classNames("lb-button",!n&&"lb-button:non-disableable",o),"data-variant":e,"data-size":t,...r,ref:a}));var count=0;function useFocusGuards(){React__namespace.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??createFocusGuard()),document.body.insertAdjacentElement("beforeend",e[1]??createFocusGuard()),count++,()=>{1===count&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),count--}},[])}function createFocusGuard(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var AUTOFOCUS_ON_MOUNT="focusScope.autoFocusOnMount",AUTOFOCUS_ON_UNMOUNT="focusScope.autoFocusOnUnmount",EVENT_OPTIONS$1={bubbles:!1,cancelable:!0},FOCUS_SCOPE_NAME="FocusScope",FocusScope=React__namespace.forwardRef((e,t)=>{const{loop:n=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:a,...i}=e,[s,l]=React__namespace.useState(null),c=useCallbackRef$1(r),d=useCallbackRef$1(a),u=React__namespace.useRef(null),f=useComposedRefs(t,e=>l(e)),p=React__namespace.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;React__namespace.useEffect(()=>{if(o){let e=function(e){if(p.paused||!s)return;const t=e.target;s.contains(t)?u.current=t:focus(u.current,{select:!0})},t=function(e){if(p.paused||!s)return;const t=e.relatedTarget;null!==t&&(s.contains(t)||focus(u.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(const t of e)t.removedNodes.length>0&&focus(s)};document.addEventListener("focusin",e),document.addEventListener("focusout",t);const o=new MutationObserver(n);return s&&o.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),o.disconnect()}}},[o,s,p.paused]),React__namespace.useEffect(()=>{if(s){focusScopesStack.add(p);const e=document.activeElement;if(!s.contains(e)){const t=new CustomEvent(AUTOFOCUS_ON_MOUNT,EVENT_OPTIONS$1);s.addEventListener(AUTOFOCUS_ON_MOUNT,c),s.dispatchEvent(t),t.defaultPrevented||(focusFirst$2(removeLinks(getTabbableCandidates(s)),{select:!0}),document.activeElement===e&&focus(s))}return()=>{s.removeEventListener(AUTOFOCUS_ON_MOUNT,c),setTimeout(()=>{const t=new CustomEvent(AUTOFOCUS_ON_UNMOUNT,EVENT_OPTIONS$1);s.addEventListener(AUTOFOCUS_ON_UNMOUNT,d),s.dispatchEvent(t),t.defaultPrevented||focus(e??document.body,{select:!0}),s.removeEventListener(AUTOFOCUS_ON_UNMOUNT,d),focusScopesStack.remove(p)},0)}}},[s,c,d,p]);const _=React__namespace.useCallback(e=>{if(!n&&!o)return;if(p.paused)return;const t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=document.activeElement;if(t&&r){const t=e.currentTarget,[o,a]=getTabbableEdges(t);o&&a?e.shiftKey||r!==a?e.shiftKey&&r===o&&(e.preventDefault(),n&&focus(a,{select:!0})):(e.preventDefault(),n&&focus(o,{select:!0})):r===t&&e.preventDefault()}},[n,o,p.paused]);return jsxRuntime.exports.jsx(Primitive.div,{tabIndex:-1,...i,ref:f,onKeyDown:_})});function focusFirst$2(e,{select:t=!1}={}){const n=document.activeElement;for(const o of e)if(focus(o,{select:t}),document.activeElement!==n)return}function getTabbableEdges(e){const t=getTabbableCandidates(e);return[findVisible(t,e),findVisible(t.reverse(),e)]}function getTabbableCandidates(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{const t="INPUT"===e.tagName&&"hidden"===e.type;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 findVisible(e,t){for(const n of e)if(!isHidden(n,{upTo:t}))return n}function isHidden(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e;){if(void 0!==t&&e===t)return!1;if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}function isSelectableInput(e){return e instanceof HTMLInputElement&&"select"in e}function focus(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&isSelectableInput(e)&&t&&e.select()}}FocusScope.displayName=FOCUS_SCOPE_NAME;var focusScopesStack=createFocusScopesStack();function createFocusScopesStack(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=arrayRemove(e,t),e.unshift(t)},remove(t){e=arrayRemove(e,t),e[0]?.resume()}}}function arrayRemove(e,t){const n=[...e],o=n.indexOf(t);return-1!==o&&n.splice(o,1),n}function removeLinks(e){return e.filter(e=>"A"!==e.tagName)}var getDefaultParent=function(e){return"undefined"==typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={},lockCount=0,unwrapHost=function(e){return e&&(e.host||unwrapHost(e.parentNode))},correctTargets=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=unwrapHost(t);return n&&e.contains(n)?n:(console.error("aria-hidden",t,"in not contained inside",e,". Doing nothing"),null)}).filter(function(e){return Boolean(e)})},applyAttributeToOthers=function(e,t,n,o){var r=correctTargets(t,Array.isArray(e)?e:[e]);markerMap[n]||(markerMap[n]=new WeakMap);var a=markerMap[n],i=[],s=new Set,l=new Set(r),c=function(e){e&&!s.has(e)&&(s.add(e),c(e.parentNode))};r.forEach(c);var d=function(e){e&&!l.has(e)&&Array.prototype.forEach.call(e.children,function(e){if(s.has(e))d(e);else try{var t=e.getAttribute(o),r=null!==t&&"false"!==t,l=(counterMap.get(e)||0)+1,c=(a.get(e)||0)+1;counterMap.set(e,l),a.set(e,c),i.push(e),1===l&&r&&uncontrolledNodes.set(e,!0),1===c&&e.setAttribute(n,"true"),r||e.setAttribute(o,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return d(t),s.clear(),lockCount++,function(){i.forEach(function(e){var t=counterMap.get(e)-1,r=a.get(e)-1;counterMap.set(e,t),a.set(e,r),t||(uncontrolledNodes.has(e)||e.removeAttribute(o),uncontrolledNodes.delete(e)),r||e.removeAttribute(n)}),--lockCount||(counterMap=new WeakMap,counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={})}},hideOthers=function(e,t,n){void 0===n&&(n="data-aria-hidden");var o=Array.from(Array.isArray(e)?e:[e]),r=t||getDefaultParent(e);return r?(o.push.apply(o,Array.from(r.querySelectorAll("[aria-live], script"))),applyAttributeToOthers(o,r,n,"aria-hidden")):function(){return null}},__assign=function(){return __assign=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},__assign.apply(this,arguments)};function __rest(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}function __awaiter(e,t,n,o){return new(n||(n=Promise))(function(r,a){function i(e){try{l(o.next(e))}catch(e){a(e)}}function s(e){try{l(o.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,s)}l((o=o.apply(e,t||[])).next())})}function __generator(e,t){var n,o,r,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=s(0),i.throw=s(1),i.return=s(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,o&&(r=2&s[0]?o.return:s[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;switch(o=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,o=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){a.label=s[1];break}if(6===s[0]&&a.label<r[1]){a.label=r[1],r=s;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(s);break}r[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],o=0}finally{n=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}function __read(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(o=a.next()).done;)i.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return i}function __spreadArray(e,t,n){if(n||2===arguments.length)for(var o,r=0,a=t.length;r<a;r++)!o&&r in t||(o||(o=Array.prototype.slice.call(t,0,r)),o[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var zeroRightClassName="right-scroll-bar-position",fullWidthClassName="width-before-scroll-bar",noScrollbarsClassName="with-scroll-bars-hidden",removedBarSizeVariable="--removed-body-scroll-bar-size";function assignRef(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}function useCallbackRef(e,t){var n=React.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var useIsomorphicLayoutEffect="undefined"!=typeof window?React__namespace.useLayoutEffect:React__namespace.useEffect,currentValues=new WeakMap;function useMergeRefs(e,t){var n=useCallbackRef(t||null,function(t){return e.forEach(function(e){return assignRef(e,t)})});return useIsomorphicLayoutEffect(function(){var t=currentValues.get(n);if(t){var o=new Set(t),r=new Set(e),a=n.current;o.forEach(function(e){r.has(e)||assignRef(e,null)}),r.forEach(function(e){o.has(e)||assignRef(e,a)})}currentValues.set(n,e)},[e]),n}function ItoI(e){return e}function innerCreateMedium(e,t){void 0===t&&(t=ItoI);var n=[],o=!1,r={read:function(){if(o)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var r=t(e,o);return n.push(r),function(){n=n.filter(function(e){return e!==r})}},assignSyncMedium:function(e){for(o=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){o=!0;var t=[];if(n.length){var r=n;n=[],r.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},i=function(){return Promise.resolve().then(a)};i(),n={push:function(e){t.push(e),i()},filter:function(e){return t=t.filter(e),n}}}};return r}function createSidecarMedium(e){void 0===e&&(e={});var t=innerCreateMedium(null);return t.options=__assign({async:!0,ssr:!1},e),t}Object.prototype.toString.call("undefined"!=typeof process?process:0);var SideCar$1=function(e){var t=e.sideCar,n=__rest(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var o=t.read();if(!o)throw new Error("Sidecar medium not found");return React__namespace.createElement(o,__assign({},n))};function exportSidecar(e,t){return e.useMedium(t),SideCar$1}SideCar$1.isSideCarExport=!0;var effectCar=createSidecarMedium(),nothing=function(){},RemoveScroll=React__namespace.forwardRef(function(e,t){var n=React__namespace.useRef(null),o=React__namespace.useState({onScrollCapture:nothing,onWheelCapture:nothing,onTouchMoveCapture:nothing}),r=o[0],a=o[1],i=e.forwardProps,s=e.children,l=e.className,c=e.removeScrollBar,d=e.enabled,u=e.shards,f=e.sideCar,p=e.noRelative,_=e.noIsolation,m=e.inert,h=e.allowPinchZoom,g=e.as,b=void 0===g?"div":g,v=e.gapMode,y=__rest(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),E=f,w=useMergeRefs([n,t]),C=__assign(__assign({},y),r);return React__namespace.createElement(React__namespace.Fragment,null,d&&React__namespace.createElement(E,{sideCar:effectCar,removeScrollBar:c,shards:u,noRelative:p,noIsolation:_,inert:m,setCallbacks:a,allowPinchZoom:!!h,lockRef:n,gapMode:v}),i?React__namespace.cloneElement(React__namespace.Children.only(s),__assign(__assign({},C),{ref:w})):React__namespace.createElement(b,__assign({},C,{className:l,ref:w}),s))});RemoveScroll.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},RemoveScroll.classNames={fullWidth:fullWidthClassName,zeroRight:zeroRightClassName};var getNonce=function(){if("undefined"!=typeof __webpack_nonce__)return __webpack_nonce__};function makeStyleTag(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=getNonce();return t&&e.setAttribute("nonce",t),e}function injectStyles(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function insertStyleTag(e){(document.head||document.getElementsByTagName("head")[0]).appendChild(e)}var stylesheetSingleton=function(){var e=0,t=null;return{add:function(n){0==e&&(t=makeStyleTag())&&(injectStyles(t,n),insertStyleTag(t)),e++},remove:function(){! --e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},styleHookSingleton=function(){var e=stylesheetSingleton();return function(t,n){React__namespace.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},styleSingleton=function(){var e=styleHookSingleton();return function(t){var n=t.styles,o=t.dynamic;return e(n,o),null}},zeroGap={left:0,top:0,right:0,gap:0},parse=function(e){return parseInt(e||"",10)||0},getOffset=function(e){var t=window.getComputedStyle(document.body),n=t["padding"===e?"paddingLeft":"marginLeft"],o=t["padding"===e?"paddingTop":"marginTop"],r=t["padding"===e?"paddingRight":"marginRight"];return[parse(n),parse(o),parse(r)]},getGapWidth=function(e){if(void 0===e&&(e="margin"),"undefined"==typeof window)return zeroGap;var t=getOffset(e),n=document.documentElement.clientWidth,o=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,o-n+t[2]-t[0])}},Style=styleSingleton(),lockAttribute="data-scroll-locked",getStyles=function(e,t,n,o){var r=e.left,a=e.top,i=e.right,s=e.gap;return void 0===n&&(n="margin"),"\n .".concat(noScrollbarsClassName," {\n overflow: hidden ").concat(o,";\n padding-right: ").concat(s,"px ").concat(o,";\n }\n body[").concat(lockAttribute,"] {\n overflow: hidden ").concat(o,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(o,";"),"margin"===n&&"\n padding-left: ".concat(r,"px;\n padding-top: ").concat(a,"px;\n padding-right: ").concat(i,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(s,"px ").concat(o,";\n "),"padding"===n&&"padding-right: ".concat(s,"px ").concat(o,";")].filter(Boolean).join(""),"\n }\n \n .").concat(zeroRightClassName," {\n right: ").concat(s,"px ").concat(o,";\n }\n \n .").concat(fullWidthClassName," {\n margin-right: ").concat(s,"px ").concat(o,";\n }\n \n .").concat(zeroRightClassName," .").concat(zeroRightClassName," {\n right: 0 ").concat(o,";\n }\n \n .").concat(fullWidthClassName," .").concat(fullWidthClassName," {\n margin-right: 0 ").concat(o,";\n }\n \n body[").concat(lockAttribute,"] {\n ").concat(removedBarSizeVariable,": ").concat(s,"px;\n }\n")},getCurrentUseCounter=function(){var e=parseInt(document.body.getAttribute(lockAttribute)||"0",10);return isFinite(e)?e:0},useLockAttribute=function(){React__namespace.useEffect(function(){return document.body.setAttribute(lockAttribute,(getCurrentUseCounter()+1).toString()),function(){var e=getCurrentUseCounter()-1;e<=0?document.body.removeAttribute(lockAttribute):document.body.setAttribute(lockAttribute,e.toString())}},[])},RemoveScrollBar=function(e){var t=e.noRelative,n=e.noImportant,o=e.gapMode,r=void 0===o?"margin":o;useLockAttribute();var a=React__namespace.useMemo(function(){return getGapWidth(r)},[r]);return React__namespace.createElement(Style,{styles:getStyles(a,!t,r,n?"":"!important")})},passiveSupported=!1;if("undefined"!=typeof window)try{var options=Object.defineProperty({},"passive",{get:function(){return passiveSupported=!0,!0}});window.addEventListener("test",options,options),window.removeEventListener("test",options,options)}catch(e){passiveSupported=!1}var nonPassive=!!passiveSupported&&{passive:!1},alwaysContainsScroll=function(e){return"TEXTAREA"===e.tagName},elementCanBeScrolled=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return"hidden"!==n[t]&&!(n.overflowY===n.overflowX&&!alwaysContainsScroll(e)&&"visible"===n[t])},elementCouldBeVScrolled=function(e){return elementCanBeScrolled(e,"overflowY")},elementCouldBeHScrolled=function(e){return elementCanBeScrolled(e,"overflowX")},locationCouldBeScrolled=function(e,t){var n=t.ownerDocument,o=t;do{if("undefined"!=typeof ShadowRoot&&o instanceof ShadowRoot&&(o=o.host),elementCouldBeScrolled(e,o)){var r=getScrollVariables(e,o);if(r[1]>r[2])return!0}o=o.parentNode}while(o&&o!==n.body);return!1},getVScrollVariables=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},getHScrollVariables=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},elementCouldBeScrolled=function(e,t){return"v"===e?elementCouldBeVScrolled(t):elementCouldBeHScrolled(t)},getScrollVariables=function(e,t){return"v"===e?getVScrollVariables(t):getHScrollVariables(t)},getDirectionFactor=function(e,t){return"h"===e&&"rtl"===t?-1:1},handleScroll=function(e,t,n,o,r){var a=getDirectionFactor(e,window.getComputedStyle(t).direction),i=a*o,s=n.target,l=t.contains(s),c=!1,d=i>0,u=0,f=0;do{if(!s)break;var p=getScrollVariables(e,s),_=p[0],m=p[1]-p[2]-a*_;(_||m)&&elementCouldBeScrolled(e,s)&&(u+=m,f+=_);var h=s.parentNode;s=h&&h.nodeType===Node.DOCUMENT_FRAGMENT_NODE?h.host:h}while(!l&&s!==document.body||l&&(t.contains(s)||t===s));return(d&&(r&&Math.abs(u)<1||!r&&i>u)||!d&&(r&&Math.abs(f)<1||!r&&-i>f))&&(c=!0),c},getTouchXY=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},getDeltaXY=function(e){return[e.deltaX,e.deltaY]},extractRef=function(e){return e&&"current"in e?e.current:e},deltaCompare=function(e,t){return e[0]===t[0]&&e[1]===t[1]},generateStyle=function(e){return"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")},idCounter=0,lockStack=[];function RemoveScrollSideCar(e){var t=React__namespace.useRef([]),n=React__namespace.useRef([0,0]),o=React__namespace.useRef(),r=React__namespace.useState(idCounter++)[0],a=React__namespace.useState(styleSingleton)[0],i=React__namespace.useRef(e);React__namespace.useEffect(function(){i.current=e},[e]),React__namespace.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(r));var t=__spreadArray([e.lockRef.current],(e.shards||[]).map(extractRef),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(r))})}}},[e.inert,e.lockRef.current,e.shards]);var s=React__namespace.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!i.current.allowPinchZoom;var r,a=getTouchXY(e),s=n.current,l="deltaX"in e?e.deltaX:s[0]-a[0],c="deltaY"in e?e.deltaY:s[1]-a[1],d=e.target,u=Math.abs(l)>Math.abs(c)?"h":"v";if("touches"in e&&"h"===u&&"range"===d.type)return!1;var f=locationCouldBeScrolled(u,d);if(!f)return!0;if(f?r=u:(r="v"===u?"h":"v",f=locationCouldBeScrolled(u,d)),!f)return!1;if(!o.current&&"changedTouches"in e&&(l||c)&&(o.current=r),!r)return!0;var p=o.current||r;return handleScroll(p,t,e,"h"===p?l:c,!0)},[]),l=React__namespace.useCallback(function(e){var n=e;if(lockStack.length&&lockStack[lockStack.length-1]===a){var o="deltaY"in n?getDeltaXY(n):getTouchXY(n),r=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&deltaCompare(e.delta,o)})[0];if(r&&r.should)n.cancelable&&n.preventDefault();else if(!r){var l=(i.current.shards||[]).map(extractRef).filter(Boolean).filter(function(e){return e.contains(n.target)});(l.length>0?s(n,l[0]):!i.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),c=React__namespace.useCallback(function(e,n,o,r){var a={name:e,delta:n,target:o,should:r,shadowParent:getOutermostShadowParent(o)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),d=React__namespace.useCallback(function(e){n.current=getTouchXY(e),o.current=void 0},[]),u=React__namespace.useCallback(function(t){c(t.type,getDeltaXY(t),t.target,s(t,e.lockRef.current))},[]),f=React__namespace.useCallback(function(t){c(t.type,getTouchXY(t),t.target,s(t,e.lockRef.current))},[]);React__namespace.useEffect(function(){return lockStack.push(a),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:f}),document.addEventListener("wheel",l,nonPassive),document.addEventListener("touchmove",l,nonPassive),document.addEventListener("touchstart",d,nonPassive),function(){lockStack=lockStack.filter(function(e){return e!==a}),document.removeEventListener("wheel",l,nonPassive),document.removeEventListener("touchmove",l,nonPassive),document.removeEventListener("touchstart",d,nonPassive)}},[]);var p=e.removeScrollBar,_=e.inert;return React__namespace.createElement(React__namespace.Fragment,null,_?React__namespace.createElement(a,{styles:generateStyle(r)}):null,p?React__namespace.createElement(RemoveScrollBar,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function getOutermostShadowParent(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var SideCar=exportSidecar(effectCar,RemoveScrollSideCar),ReactRemoveScroll=React__namespace.forwardRef(function(e,t){return React__namespace.createElement(RemoveScroll,__assign({},e,{ref:t,sideCar:SideCar}))});ReactRemoveScroll.classNames=RemoveScroll.classNames;var POPOVER_NAME="Popover",[createPopoverContext,createPopoverScope]=createContextScope(POPOVER_NAME,[createPopperScope]),usePopperScope$1=createPopperScope(),[PopoverProvider,usePopoverContext]=createPopoverContext(POPOVER_NAME),Popover=e=>{const{__scopePopover:t,children:n,open:o,defaultOpen:r,onOpenChange:a,modal:i=!1}=e,s=usePopperScope$1(t),l=React__namespace.useRef(null),[c,d]=React__namespace.useState(!1),[u,f]=useControllableState$1({prop:o,defaultProp:r??!1,onChange:a,caller:POPOVER_NAME});return jsxRuntime.exports.jsx(Root2$2,{...s,children:jsxRuntime.exports.jsx(PopoverProvider,{scope:t,contentId:useId(),triggerRef:l,open:u,onOpenChange:f,onOpenToggle:React__namespace.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:c,onCustomAnchorAdd:React__namespace.useCallback(()=>d(!0),[]),onCustomAnchorRemove:React__namespace.useCallback(()=>d(!1),[]),modal:i,children:n})})};Popover.displayName=POPOVER_NAME;var ANCHOR_NAME$1="PopoverAnchor",PopoverAnchor=React__namespace.forwardRef((e,t)=>{const{__scopePopover:n,...o}=e,r=usePopoverContext(ANCHOR_NAME$1,n),a=usePopperScope$1(n),{onCustomAnchorAdd:i,onCustomAnchorRemove:s}=r;return React__namespace.useEffect(()=>(i(),()=>s()),[i,s]),jsxRuntime.exports.jsx(Anchor,{...a,...o,ref:t})});PopoverAnchor.displayName=ANCHOR_NAME$1;var TRIGGER_NAME$1="PopoverTrigger",PopoverTrigger=React__namespace.forwardRef((e,t)=>{const{__scopePopover:n,...o}=e,r=usePopoverContext(TRIGGER_NAME$1,n),a=usePopperScope$1(n),i=useComposedRefs(t,r.triggerRef),s=jsxRuntime.exports.jsx(Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":getState(r.open),...o,ref:i,onClick:composeEventHandlers(e.onClick,r.onOpenToggle)});return r.hasCustomAnchor?s:jsxRuntime.exports.jsx(Anchor,{asChild:!0,...a,children:s})});PopoverTrigger.displayName=TRIGGER_NAME$1;var PORTAL_NAME$2="PopoverPortal",[PortalProvider$1,usePortalContext$1]=createPopoverContext(PORTAL_NAME$2,{forceMount:void 0}),PopoverPortal=e=>{const{__scopePopover:t,forceMount:n,children:o,container:r}=e,a=usePopoverContext(PORTAL_NAME$2,t);return jsxRuntime.exports.jsx(PortalProvider$1,{scope:t,forceMount:n,children:jsxRuntime.exports.jsx(Presence,{present:n||a.open,children:jsxRuntime.exports.jsx(Portal$3,{asChild:!0,container:r,children:o})})})};PopoverPortal.displayName=PORTAL_NAME$2;var CONTENT_NAME$2="PopoverContent",PopoverContent=React__namespace.forwardRef((e,t)=>{const n=usePortalContext$1(CONTENT_NAME$2,e.__scopePopover),{forceMount:o=n.forceMount,...r}=e,a=usePopoverContext(CONTENT_NAME$2,e.__scopePopover);return jsxRuntime.exports.jsx(Presence,{present:o||a.open,children:a.modal?jsxRuntime.exports.jsx(PopoverContentModal,{...r,ref:t}):jsxRuntime.exports.jsx(PopoverContentNonModal,{...r,ref:t})})});PopoverContent.displayName=CONTENT_NAME$2;var Slot$1=createSlot("PopoverContent.RemoveScroll"),PopoverContentModal=React__namespace.forwardRef((e,t)=>{const n=usePopoverContext(CONTENT_NAME$2,e.__scopePopover),o=React__namespace.useRef(null),r=useComposedRefs(t,o),a=React__namespace.useRef(!1);return React__namespace.useEffect(()=>{const e=o.current;if(e)return hideOthers(e)},[]),jsxRuntime.exports.jsx(ReactRemoveScroll,{as:Slot$1,allowPinchZoom:!0,children:jsxRuntime.exports.jsx(PopoverContentImpl,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:composeEventHandlers(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:composeEventHandlers(e.onPointerDownOutside,e=>{const t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,o=2===t.button||n;a.current=o},{checkForDefaultPrevented:!1}),onFocusOutside:composeEventHandlers(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),PopoverContentNonModal=React__namespace.forwardRef((e,t)=>{const n=usePopoverContext(CONTENT_NAME$2,e.__scopePopover),o=React__namespace.useRef(!1),r=React__namespace.useRef(!1);return jsxRuntime.exports.jsx(PopoverContentImpl,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(o.current||n.triggerRef.current?.focus(),t.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(o.current=!0,"pointerdown"===t.detail.originalEvent.type&&(r.current=!0));const a=t.target,i=n.triggerRef.current?.contains(a);i&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&r.current&&t.preventDefault()}})}),PopoverContentImpl=React__namespace.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:a,disableOutsidePointerEvents:i,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:c,onInteractOutside:d,...u}=e,f=usePopoverContext(CONTENT_NAME$2,n),p=usePopperScope$1(n);return useFocusGuards(),jsxRuntime.exports.jsx(FocusScope,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:a,children:jsxRuntime.exports.jsx(DismissableLayer,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:d,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:c,onDismiss:()=>f.onOpenChange(!1),children:jsxRuntime.exports.jsx(Content$1,{"data-state":getState(f.open),role:"dialog",id:f.contentId,...p,...u,ref:t,style:{...u.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),CLOSE_NAME="PopoverClose",PopoverClose=React__namespace.forwardRef((e,t)=>{const{__scopePopover:n,...o}=e,r=usePopoverContext(CLOSE_NAME,n);return jsxRuntime.exports.jsx(Primitive.button,{type:"button",...o,ref:t,onClick:composeEventHandlers(e.onClick,()=>r.onOpenChange(!1))})});PopoverClose.displayName=CLOSE_NAME;var ARROW_NAME$2="PopoverArrow",PopoverArrow=React__namespace.forwardRef((e,t)=>{const{__scopePopover:n,...o}=e,r=usePopperScope$1(n);return jsxRuntime.exports.jsx(Arrow,{...r,...o,ref:t})});function getState(e){return e?"open":"closed"}PopoverArrow.displayName=ARROW_NAME$2;var Root2$1=Popover,Trigger=PopoverTrigger,Portal$1=PopoverPortal,Content2$2=PopoverContent;function SearchIcon(e){return jsxRuntime.exports.jsx(Icon,{...e,children:jsxRuntime.exports.jsx("path",{d:"M9 15A6 6 0 1 0 9 3a6 6 0 0 0 0 12Zm7.5 1.5-3.25-3.25"})})}function EmojiPickerLoading({className:e,...t}){return jsxRuntime.exports.jsx("div",{className:classNames("lb-loading lb-emoji-picker-loading",e),...t,children:jsxRuntime.exports.jsx(SpinnerIcon,{})})}function EmojiPickerEmpty({className:e,...t}){const n=useOverrides();return jsxRuntime.exports.jsx("div",{className:classNames("lb-empty lb-emoji-picker-empty",e),...t,children:n.EMOJI_PICKER_EMPTY})}function EmojiPickerError({error:e,className:t,...n}){const o=useOverrides();return jsxRuntime.exports.jsx("div",{className:classNames("lb-error lb-emoji-picker-error",t),...n,children:o.EMOJI_PICKER_ERROR(e)})}function EmojiPickerCategoryHeader({category:e,className:t,...n}){return jsxRuntime.exports.jsx("div",{className:classNames("lb-emoji-picker-category-header",t),...n,children:jsxRuntime.exports.jsx("span",{className:"lb-emoji-picker-category-header-title",children:e})})}function EmojiPickerGrid({children:e,className:t,...n}){return jsxRuntime.exports.jsx("div",{className:classNames("lb-emoji-picker-grid",t),...n,children:e})}function EmojiPickerRow({attributes:e,children:t,className:n,...o}){const r=React.useMemo(()=>0===e.categoryRowIndex,[e.categoryRowIndex]),a=React.useMemo(()=>e.categoryRowIndex===e.categoryRowsCount-1,[e.categoryRowIndex,e.categoryRowsCount]);return jsxRuntime.exports.jsx("div",{className:classNames("lb-emoji-picker-row",n),"data-first":r?"":void 0,"data-last":a?"":void 0,...o,children:t})}function EmojiPickerEmoji({emoji:e,className:t,...n}){return jsxRuntime.exports.jsx("button",{className:classNames("lb-emoji-picker-emoji",t),...n,children:jsxRuntime.exports.jsx(Emoji,{emoji:e})})}const EmojiPicker=React.forwardRef(({onEmojiSelect:e,onOpenChange:t,children:n,className:o,...r},a)=>{const[i,s]=React.useState(!1),{portalContainer:l}=useLiveblocksUIConfig(),c=useOverrides(),d=React.useCallback(e=>{s(e),t?.(e)},[t]),u=React.useCallback(t=>{s(!1),e?.(t)},[e]);return jsxRuntime.exports.jsxs(Root2$1,{open:i,onOpenChange:d,children:[n,jsxRuntime.exports.jsx(Portal$1,{container:l,children:jsxRuntime.exports.jsx(Content2$2,{side:"top",align:"center",sideOffset:FLOATING_ELEMENT_SIDE_OFFSET,collisionPadding:FLOATING_ELEMENT_COLLISION_PADDING,className:classNames("lb-root lb-portal lb-elevation lb-emoji-picker",o),...r,ref:a,children:jsxRuntime.exports.jsxs(EmojiPickerRoot,{onEmojiSelect:u,locale:c.locale,children:[jsxRuntime.exports.jsx("div",{className:"lb-emoji-picker-header",children:jsxRuntime.exports.jsxs("div",{className:"lb-emoji-picker-search-container",children:[jsxRuntime.exports.jsx(EmojiPickerSearch,{className:"lb-emoji-picker-search",placeholder:c.EMOJI_PICKER_SEARCH_PLACEHOLDER,autoFocus:!0}),jsxRuntime.exports.jsx(SearchIcon,{className:"lb-emoji-picker-search-icon"})]})}),jsxRuntime.exports.jsx(EmojiPickerContent,{className:"lb-emoji-picker-content",components:{Loading:EmojiPickerLoading,Empty:EmojiPickerEmpty,Error:EmojiPickerError,CategoryHeader:EmojiPickerCategoryHeader,Grid:EmojiPickerGrid,Row:EmojiPickerRow,Emoji:EmojiPickerEmoji}})]})})})]})});function User({userId:e,replaceSelf:t,className:n,...o}){const r=useCurrentUserId(),{user:a,isLoading:i}=_useUser(e),s=useOverrides(),l=React.useMemo(()=>t&&r===e?s.USER_SELF:a?.name??s.USER_UNKNOWN,[t,r,e,s.USER_SELF,s.USER_UNKNOWN,a?.name]);return jsxRuntime.exports.jsx("span",{className:classNames("lb-name lb-user",n),"data-loading":i?"":void 0,...o,children:i?null:l})}function ComposerInsertMentionEditorAction({label:e,tooltipLabel:t,className:n,onClick:o,...r}){const{createMention:a}=useComposer(),i=React.useCallback(e=>{e.preventDefault()},[]),s=React.useCallback(e=>{o?.(e),e.isDefaultPrevented()||(e.stopPropagation(),a())},[a,o]);return jsxRuntime.exports.jsx(Tooltip,{content:t??e,children:jsxRuntime.exports.jsx(Button,{className:classNames("lb-composer-editor-action",n),onPointerDown:i,onClick:s,"aria-label":e,...r,children:jsxRuntime.exports.jsx(MentionIcon,{className:"lb-button-icon"})})})}function ComposerInsertEmojiEditorAction({label:e,tooltipLabel:t,onPickerOpenChange:n,className:o,...r}){const{insertText:a}=useComposer(),i=React.useCallback(e=>{e.preventDefault()},[]),s=React.useCallback(e=>{e.stopPropagation()},[]);return jsxRuntime.exports.jsx(EmojiPicker,{onEmojiSelect:a,onOpenChange:n,children:jsxRuntime.exports.jsx(Tooltip,{content:t??e,children:jsxRuntime.exports.jsx(PopoverTrigger,{asChild:!0,children:jsxRuntime.exports.jsx(Button,{className:classNames("lb-composer-editor-action",o),onPointerDown:i,onClick:s,"aria-label":e,...r,children:jsxRuntime.exports.jsx(EmojiIcon,{className:"lb-button-icon"})})})})})}function ComposerAttachFilesEditorAction({label:e,tooltipLabel:t,className:n,...o}){const r=React.useCallback(e=>{e.preventDefault()},[]),a=React.useCallback(e=>{e.stopPropagation()},[]);return jsxRuntime.exports.jsx(Tooltip,{content:t??e,children:jsxRuntime.exports.jsx(ComposerAttachFiles,{asChild:!0,children:jsxRuntime.exports.jsx(Button,{className:classNames("lb-composer-editor-action",n),onPointerDown:r,onClick:a,"aria-label":e,...o,children:jsxRuntime.exports.jsx(AttachmentIcon,{className:"lb-button-icon"})})})})}function ComposerMention({userId:e}){return jsxRuntime.exports.jsxs(ComposerMention$1,{className:"lb-composer-mention",children:[MENTION_CHARACTER,jsxRuntime.exports.jsx(User,{userId:e})]})}function ComposerMentionSuggestions({userIds:e}){return e.length>0?jsxRuntime.exports.jsx(ComposerSuggestions,{className:"lb-root lb-portal lb-elevation lb-composer-suggestions lb-composer-mention-suggestions",children:jsxRuntime.exports.jsx(ComposerSuggestionsList,{className:"lb-composer-suggestions-list lb-composer-mention-suggestions-list",children:e.map(e=>jsxRuntime.exports.jsxs(ComposerSuggestionsListItem,{className:"lb-composer-suggestions-list-item lb-composer-mention-suggestion",value:e,children:[jsxRuntime.exports.jsx(Avatar,{userId:e,className:"lb-composer-mention-suggestion-avatar"}),jsxRuntime.exports.jsx(User,{userId:e,className:"lb-composer-mention-suggestion-user"})]},e))})}):null}function MarkToggle({mark:e,shortcut:t,children:n,...o}){const r=useOverrides(),a=React.useMemo(()=>r.COMPOSER_TOGGLE_MARK(e),[r,e]);return jsxRuntime.exports.jsx(ShortcutTooltip,{content:a,shortcut:t,sideOffset:FLOATING_ELEMENT_SIDE_OFFSET+2,children:jsxRuntime.exports.jsx(ComposerMarkToggle,{mark:e,asChild:!0,...o,children:jsxRuntime.exports.jsx(Button,{"aria-label":a,variant:"toggle",children:n})})})}const markToggles={bold:()=>jsxRuntime.exports.jsx(MarkToggle,{mark:"bold",shortcut:jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(ShortcutTooltipKey,{name:"mod"}),jsxRuntime.exports.jsx("span",{children:"B"})]}),children:jsxRuntime.exports.jsx(BoldIcon,{})}),italic:()=>jsxRuntime.exports.jsx(MarkToggle,{mark:"italic",shortcut:jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(ShortcutTooltipKey,{name:"mod"}),jsxRuntime.exports.jsx("span",{children:"I"})]}),children:jsxRuntime.exports.jsx(ItalicIcon,{})}),strikethrough:()=>jsxRuntime.exports.jsx(MarkToggle,{mark:"strikethrough",shortcut:jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(ShortcutTooltipKey,{name:"mod"}),jsxRuntime.exports.jsx(ShortcutTooltipKey,{name:"shift"}),jsxRuntime.exports.jsx("span",{children:"S"})]}),children:jsxRuntime.exports.jsx(StrikethroughIcon,{})}),code:()=>jsxRuntime.exports.jsx(MarkToggle,{mark:"code",shortcut:jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(ShortcutTooltipKey,{name:"mod"}),jsxRuntime.exports.jsx("span",{children:"E"})]}),children:jsxRuntime.exports.jsx(CodeIcon,{})})},markTogglesList=Object.entries(markToggles).map(([e,t])=>jsxRuntime.exports.jsx(t,{},e));function ComposerFloatingToolbar(){return jsxRuntime.exports.jsx(ComposerFloatingToolbar$1,{className:"lb-root lb-portal lb-elevation lb-composer-floating-toolbar",children:markTogglesList})}function ComposerLink({href:e,children:t}){return jsxRuntime.exports.jsx(ComposerLink$1,{href:e,className:"lb-composer-link",children:t})}function ComposerFileAttachment({attachment:e,className:t,overrides:n,...o}){const{removeAttachment:r}=useComposer(),{roomId:a}=useComposerEditorContext(),i=React.useCallback(()=>{r(e.id)},[e.id,r]);return jsxRuntime.exports.jsx(FileAttachment,{className:classNames("lb-composer-attachment",t),...o,attachment:e,onDeleteClick:i,preventFocusOnDelete:!0,overrides:n,roomId:a})}function ComposerAttachments({overrides:e,className:t,...n}){const{attachments:o}=useComposer();return 0===o.length?null:jsxRuntime.exports.jsx("div",{className:classNames("lb-composer-attachments",t),...n,children:jsxRuntime.exports.jsx("div",{className:"lb-attachments",children:o.map(t=>jsxRuntime.exports.jsx(ComposerFileAttachment,{attachment:t,overrides:e},t.id))})})}const editorRequiredComponents={Mention:ComposerMention,MentionSuggestions:ComposerMentionSuggestions,Link:ComposerLink};function ComposerEditorContainer({showAttachments:e=!0,showFormattingControls:t=!0,showAttribution:n,defaultValue:o,isCollapsed:r,overrides:a,actions:i,autoFocus:s,disabled:l,hasResolveMentionSuggestions:c,onEmojiPickerOpenChange:d,onEmptyChange:u,onEditorClick:f}){const{isEmpty:p}=useComposer(),{hasMaxAttachments:_}=useComposerAttachmentsContext(),m=useOverrides(a),h=React.useMemo(()=>({...editorRequiredComponents,FloatingToolbar:t?ComposerFloatingToolbar:void 0}),[t]),[g,b]=useComposerAttachmentsDropArea({disabled:l||_});React.useLayoutEffect(()=>{u(p)},[p,u]);const v=React.useCallback(e=>{e.preventDefault()},[]),y=React.useCallback(e=>{e.stopPropagation()},[]);return jsxRuntime.exports.jsxs("div",{className:"lb-composer-editor-container",...b,children:[jsxRuntime.exports.jsx(ComposerEditor,{className:"lb-composer-editor",onClick:f,placeholder:m.COMPOSER_PLACEHOLDER,defaultValue:o,autoFocus:s,components:h,disabled:l,dir:m.dir}),e&&jsxRuntime.exports.jsx(ComposerAttachments,{overrides:a}),(!r||g)&&jsxRuntime.exports.jsxs("div",{className:"lb-composer-footer",children:[jsxRuntime.exports.jsxs("div",{className:"lb-composer-editor-actions",children:[c&&jsxRuntime.exports.jsx(ComposerInsertMentionEditorAction,{label:m.COMPOSER_INSERT_MENTION,disabled:l}),jsxRuntime.exports.jsx(ComposerInsertEmojiEditorAction,{label:m.COMPOSER_INSERT_EMOJI,onPickerOpenChange:d,disabled:l}),e&&jsxRuntime.exports.jsx(ComposerAttachFilesEditorAction,{label:m.COMPOSER_ATTACH_FILES,disabled:l})]}),n&&jsxRuntime.exports.jsx(Attribution,{}),jsxRuntime.exports.jsx("div",{className:"lb-composer-actions",children:i??jsxRuntime.exports.jsx(jsxRuntime.exports.Fragment,{children:jsxRuntime.exports.jsx(ShortcutTooltip,{content:m.COMPOSER_SEND,shortcut:jsxRuntime.exports.jsx(ShortcutTooltipKey,{name:"enter"}),children:jsxRuntime.exports.jsx(ComposerSubmit,{asChild:!0,children:jsxRuntime.exports.jsx(Button,{onPointerDown:v,onClick:y,className:"lb-composer-action",variant:"primary","aria-label":m.COMPOSER_SEND,children:jsxRuntime.exports.jsx(SendIcon,{})})})})})})]}),e&&g&&jsxRuntime.exports.jsx("div",{className:"lb-composer-attachments-drop-area",children:jsxRuntime.exports.jsxs("div",{className:"lb-composer-attachments-drop-area-label",children:[jsxRuntime.exports.jsx(AttachmentIcon,{}),m.COMPOSER_ATTACH_FILES]})})]})}React.createContext(null);const Composer=React.forwardRef(({threadId:e,commentId:t,metadata:n,defaultValue:o,defaultAttachments:r,onComposerSubmit:a,collapsed:i,defaultCollapsed:s,onCollapsedChange:l,overrides:c,actions:d,onBlur:u,className:f,onFocus:p,autoFocus:_,disabled:m,showAttachments:h=!0,showFormattingControls:g=!0,showAttribution:b,roomId:v,...y},E)=>{const w=useRoomOrNull(),C=void 0!==v?v:w?.id;if(void 0===C)throw new Error("Composer must be a descendant of RoomProvider component");const x=useCreateRoomThread(C),R=useCreateRoomComment(C),S=useEditRoomComment(C),{preventUnsavedComposerChanges:D}=useLiveblocksUIConfig(),T=void 0!==useResolveMentionSuggestions(),O=React.useRef(!0),A=React.useRef(!1),I=useOverrides(c),[k,N]=useControllableState((void 0!==i||void 0!==s)&&i,l,s),j=React.useSyncExternalStore(React.useCallback(e=>null===w?()=>{}:w.events.self.subscribeOnce(e),[w]),React.useCallback(()=>w?.getSelf()?.canComment??!0,[w]),React.useCallback(()=>!0,[])),$=useRoomPermissions(C),F=$.size>0?$.has(Permission.CommentsWrite)||$.has(Permission.Write):j,P=React.useCallback(e=>{O.current=e},[]),M=React.useCallback(e=>{A.current=e},[]),B=React.useCallback(e=>{p?.(e),e.isDefaultPrevented()||O.current&&F&&N?.(!1)},[N,p,F]),L=React.useCallback(e=>{if(u?.(e),e.isDefaultPrevented())return;!e.currentTarget.contains(e.relatedTarget??document.activeElement)&&O.current&&!A.current&&N?.(!0)},[u,N]),U=React.useCallback(e=>{e.stopPropagation(),O.current&&F&&N?.(!1)},[N,F]),V=React.useCallback((o,r)=>{a?.(o,r),r.isDefaultPrevented()||(t&&e?S({commentId:t,threadId:e,body:o.body,attachments:o.attachments}):e?R({threadId:e,body:o.body,attachments:o.attachments}):x({body:o.body,metadata:n??{},attachments:o.attachments}))},[t,R,x,S,n,a,e]);return jsxRuntime.exports.jsx(TooltipProvider,{children:jsxRuntime.exports.jsx(ComposerForm,{onComposerSubmit:V,className:classNames("lb-root lb-composer lb-composer-form",f),dir:I.dir,...y,ref:E,"data-collapsed":k?"":void 0,onFocus:B,onBlur:L,disabled:m||!F,defaultAttachments:r,pasteFilesAsAttachments:h,preventUnsavedChanges:D,roomId:C,children:jsxRuntime.exports.jsx(ComposerEditorContainer,{defaultValue:o,actions:d,overrides:c,isCollapsed:k,showAttachments:h,showAttribution:b,showFormattingControls:g,hasResolveMentionSuggestions:T,onEmptyChange:P,onEmojiPickerOpenChange:M,onEditorClick:U,autoFocus:_,disabled:m})})})});function createCollection(e){const t=e+"CollectionProvider",[n,o]=createContextScope(t),[r,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=e=>{const{scope:t,children:n}=e,o=React__default.default.useRef(null),a=React__default.default.useRef(new Map).current;return jsxRuntime.exports.jsx(r,{scope:t,itemMap:a,collectionRef:o,children:n})};i.displayName=t;const s=e+"CollectionSlot",l=createSlot(s),c=React__default.default.forwardRef((e,t)=>{const{scope:n,children:o}=e,r=useComposedRefs(t,a(s,n).collectionRef);return jsxRuntime.exports.jsx(l,{ref:r,children:o})});c.displayName=s;const d=e+"CollectionItemSlot",u="data-radix-collection-item",f=createSlot(d),p=React__default.default.forwardRef((e,t)=>{const{scope:n,children:o,...r}=e,i=React__default.default.useRef(null),s=useComposedRefs(t,i),l=a(d,n);return React__default.default.useEffect(()=>(l.itemMap.set(i,{ref:i,...r}),()=>{l.itemMap.delete(i)})),jsxRuntime.exports.jsx(f,{[u]:"",ref:s,children:o})});return p.displayName=d,[{Provider:i,Slot:c,ItemSlot:p},function(t){const n=a(e+"CollectionConsumer",t);return React__default.default.useCallback(()=>{const e=n.collectionRef.current;if(!e)return[];const t=Array.from(e.querySelectorAll(`[${u}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])},o]}var DirectionContext=React__namespace.createContext(void 0);function useDirection(e){const t=React__namespace.useContext(DirectionContext);return e||t||"ltr"}var ENTRY_FOCUS="rovingFocusGroup.onEntryFocus",EVENT_OPTIONS={bubbles:!1,cancelable:!0},GROUP_NAME$2="RovingFocusGroup",[Collection$1,useCollection$1,createCollectionScope$1]=createCollection(GROUP_NAME$2),[createRovingFocusGroupContext,createRovingFocusGroupScope]=createContextScope(GROUP_NAME$2,[createCollectionScope$1]),[RovingFocusProvider,useRovingFocusContext]=createRovingFocusGroupContext(GROUP_NAME$2),RovingFocusGroup=React__namespace.forwardRef((e,t)=>jsxRuntime.exports.jsx(Collection$1.Provider,{scope:e.__scopeRovingFocusGroup,children:jsxRuntime.exports.jsx(Collection$1.Slot,{scope:e.__scopeRovingFocusGroup,children:jsxRuntime.exports.jsx(RovingFocusGroupImpl,{...e,ref:t})})}));RovingFocusGroup.displayName=GROUP_NAME$2;var RovingFocusGroupImpl=React__namespace.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:o,loop:r=!1,dir:a,currentTabStopId:i,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:l,onEntryFocus:c,preventScrollOnEntryFocus:d=!1,...u}=e,f=React__namespace.useRef(null),p=useComposedRefs(t,f),_=useDirection(a),[m,h]=useControllableState$1({prop:i,defaultProp:s??null,onChange:l,caller:GROUP_NAME$2}),[g,b]=React__namespace.useState(!1),v=useCallbackRef$1(c),y=useCollection$1(n),E=React__namespace.useRef(!1),[w,C]=React__namespace.useState(0);return React__namespace.useEffect(()=>{const e=f.current;if(e)return e.addEventListener(ENTRY_FOCUS,v),()=>e.removeEventListener(ENTRY_FOCUS,v)},[v]),jsxRuntime.exports.jsx(RovingFocusProvider,{scope:n,orientation:o,dir:_,loop:r,currentTabStopId:m,onItemFocus:React__namespace.useCallback(e=>h(e),[h]),onItemShiftTab:React__namespace.useCallback(()=>b(!0),[]),onFocusableItemAdd:React__namespace.useCallback(()=>C(e=>e+1),[]),onFocusableItemRemove:React__namespace.useCallback(()=>C(e=>e-1),[]),children:jsxRuntime.exports.jsx(Primitive.div,{tabIndex:g||0===w?-1:0,"data-orientation":o,...u,ref:p,style:{outline:"none",...e.style},onMouseDown:composeEventHandlers(e.onMouseDown,()=>{E.current=!0}),onFocus:composeEventHandlers(e.onFocus,e=>{const t=!E.current;if(e.target===e.currentTarget&&t&&!g){const t=new CustomEvent(ENTRY_FOCUS,EVENT_OPTIONS);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){const e=y().filter(e=>e.focusable);focusFirst$1([e.find(e=>e.active),e.find(e=>e.id===m),...e].filter(Boolean).map(e=>e.ref.current),d)}}E.current=!1}),onBlur:composeEventHandlers(e.onBlur,()=>b(!1))})})}),ITEM_NAME$2="RovingFocusGroupItem",RovingFocusGroupItem=React__namespace.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:o=!0,active:r=!1,tabStopId:a,children:i,...s}=e,l=useId(),c=a||l,d=useRovingFocusContext(ITEM_NAME$2,n),u=d.currentTabStopId===c,f=useCollection$1(n),{onFocusableItemAdd:p,onFocusableItemRemove:_,currentTabStopId:m}=d;return React__namespace.useEffect(()=>{if(o)return p(),()=>_()},[o,p,_]),jsxRuntime.exports.jsx(Collection$1.ItemSlot,{scope:n,id:c,focusable:o,active:r,children:jsxRuntime.exports.jsx(Primitive.span,{tabIndex:u?0:-1,"data-orientation":d.orientation,...s,ref:t,onMouseDown:composeEventHandlers(e.onMouseDown,e=>{o?d.onItemFocus(c):e.preventDefault()}),onFocus:composeEventHandlers(e.onFocus,()=>d.onItemFocus(c)),onKeyDown:composeEventHandlers(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void d.onItemShiftTab();if(e.target!==e.currentTarget)return;const t=getFocusIntent(e,d.orientation,d.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)n.reverse();else if("prev"===t||"next"===t){"prev"===t&&n.reverse();const o=n.indexOf(e.currentTarget);n=d.loop?wrapArray$1(n,o+1):n.slice(o+1)}setTimeout(()=>focusFirst$1(n))}}),children:"function"==typeof i?i({isCurrentTabStop:u,hasTabStop:null!=m}):i})})});RovingFocusGroupItem.displayName=ITEM_NAME$2;var MAP_KEY_TO_FOCUS_INTENT={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function getDirectionAwareKey(e,t){return"rtl"!==t?e:"ArrowLeft"===e?"ArrowRight":"ArrowRight"===e?"ArrowLeft":e}function getFocusIntent(e,t,n){const o=getDirectionAwareKey(e.key,n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(o)||"horizontal"===t&&["ArrowUp","ArrowDown"].includes(o)))return MAP_KEY_TO_FOCUS_INTENT[o]}function focusFirst$1(e,t=!1){const n=document.activeElement;for(const o of e){if(o===n)return;if(o.focus({preventScroll:t}),document.activeElement!==n)return}}function wrapArray$1(e,t){return e.map((n,o)=>e[(t+o)%e.length])}var Root=RovingFocusGroup,Item=RovingFocusGroupItem,SELECTION_KEYS=["Enter"," "],FIRST_KEYS=["ArrowDown","PageUp","Home"],LAST_KEYS=["ArrowUp","PageDown","End"],FIRST_LAST_KEYS=[...FIRST_KEYS,...LAST_KEYS],SUB_OPEN_KEYS={ltr:[...SELECTION_KEYS,"ArrowRight"],rtl:[...SELECTION_KEYS,"ArrowLeft"]},SUB_CLOSE_KEYS={ltr:["ArrowLeft"],rtl:["ArrowRight"]},MENU_NAME="Menu",[Collection,useCollection,createCollectionScope]=createCollection(MENU_NAME),[createMenuContext,createMenuScope]=createContextScope(MENU_NAME,[createCollectionScope,createPopperScope,createRovingFocusGroupScope]),usePopperScope=createPopperScope(),useRovingFocusGroupScope=createRovingFocusGroupScope(),[MenuProvider,useMenuContext]=createMenuContext(MENU_NAME),[MenuRootProvider,useMenuRootContext]=createMenuContext(MENU_NAME),Menu=e=>{const{__scopeMenu:t,open:n=!1,children:o,dir:r,onOpenChange:a,modal:i=!0}=e,s=usePopperScope(t),[l,c]=React__namespace.useState(null),d=React__namespace.useRef(!1),u=useCallbackRef$1(a),f=useDirection(r);return React__namespace.useEffect(()=>{const e=()=>{d.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>d.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),jsxRuntime.exports.jsx(Root2$2,{...s,children:jsxRuntime.exports.jsx(MenuProvider,{scope:t,open:n,onOpenChange:u,content:l,onContentChange:c,children:jsxRuntime.exports.jsx(MenuRootProvider,{scope:t,onClose:React__namespace.useCallback(()=>u(!1),[u]),isUsingKeyboardRef:d,dir:f,modal:i,children:o})})})};Menu.displayName=MENU_NAME;var ANCHOR_NAME="MenuAnchor",MenuAnchor=React__namespace.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e,r=usePopperScope(n);return jsxRuntime.exports.jsx(Anchor,{...r,...o,ref:t})});MenuAnchor.displayName=ANCHOR_NAME;var PORTAL_NAME$1="MenuPortal",[PortalProvider,usePortalContext]=createMenuContext(PORTAL_NAME$1,{forceMount:void 0}),MenuPortal=e=>{const{__scopeMenu:t,forceMount:n,children:o,container:r}=e,a=useMenuContext(PORTAL_NAME$1,t);return jsxRuntime.exports.jsx(PortalProvider,{scope:t,forceMount:n,children:jsxRuntime.exports.jsx(Presence,{present:n||a.open,children:jsxRuntime.exports.jsx(Portal$3,{asChild:!0,container:r,children:o})})})};MenuPortal.displayName=PORTAL_NAME$1;var CONTENT_NAME$1="MenuContent",[MenuContentProvider,useMenuContentContext]=createMenuContext(CONTENT_NAME$1),MenuContent=React__namespace.forwardRef((e,t)=>{const n=usePortalContext(CONTENT_NAME$1,e.__scopeMenu),{forceMount:o=n.forceMount,...r}=e,a=useMenuContext(CONTENT_NAME$1,e.__scopeMenu),i=useMenuRootContext(CONTENT_NAME$1,e.__scopeMenu);return jsxRuntime.exports.jsx(Collection.Provider,{scope:e.__scopeMenu,children:jsxRuntime.exports.jsx(Presence,{present:o||a.open,children:jsxRuntime.exports.jsx(Collection.Slot,{scope:e.__scopeMenu,children:i.modal?jsxRuntime.exports.jsx(MenuRootContentModal,{...r,ref:t}):jsxRuntime.exports.jsx(MenuRootContentNonModal,{...r,ref:t})})})})}),MenuRootContentModal=React__namespace.forwardRef((e,t)=>{const n=useMenuContext(CONTENT_NAME$1,e.__scopeMenu),o=React__namespace.useRef(null),r=useComposedRefs(t,o);return React__namespace.useEffect(()=>{const e=o.current;if(e)return hideOthers(e)},[]),jsxRuntime.exports.jsx(MenuContentImpl,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:composeEventHandlers(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),MenuRootContentNonModal=React__namespace.forwardRef((e,t)=>{const n=useMenuContext(CONTENT_NAME$1,e.__scopeMenu);return jsxRuntime.exports.jsx(MenuContentImpl,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Slot=createSlot("MenuContent.ScrollLock"),MenuContentImpl=React__namespace.forwardRef((e,t)=>{const{__scopeMenu:n,loop:o=!1,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:i,disableOutsidePointerEvents:s,onEntryFocus:l,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:u,onInteractOutside:f,onDismiss:p,disableOutsideScroll:_,...m}=e,h=useMenuContext(CONTENT_NAME$1,n),g=useMenuRootContext(CONTENT_NAME$1,n),b=usePopperScope(n),v=useRovingFocusGroupScope(n),y=useCollection(n),[E,w]=React__namespace.useState(null),C=React__namespace.useRef(null),x=useComposedRefs(t,C,h.onContentChange),R=React__namespace.useRef(0),S=React__namespace.useRef(""),D=React__namespace.useRef(0),T=React__namespace.useRef(null),O=React__namespace.useRef("right"),A=React__namespace.useRef(0),I=_?ReactRemoveScroll:React__namespace.Fragment,k=_?{as:Slot,allowPinchZoom:!0}:void 0;React__namespace.useEffect(()=>()=>window.clearTimeout(R.current),[]),useFocusGuards();const N=React__namespace.useCallback(e=>O.current===T.current?.side&&isPointerInGraceArea(e,T.current?.area),[]);return jsxRuntime.exports.jsx(MenuContentProvider,{scope:n,searchRef:S,onItemEnter:React__namespace.useCallback(e=>{N(e)&&e.preventDefault()},[N]),onItemLeave:React__namespace.useCallback(e=>{N(e)||(C.current?.focus(),w(null))},[N]),onTriggerLeave:React__namespace.useCallback(e=>{N(e)&&e.preventDefault()},[N]),pointerGraceTimerRef:D,onPointerGraceIntentChange:React__namespace.useCallback(e=>{T.current=e},[]),children:jsxRuntime.exports.jsx(I,{...k,children:jsxRuntime.exports.jsx(FocusScope,{asChild:!0,trapped:r,onMountAutoFocus:composeEventHandlers(a,e=>{e.preventDefault(),C.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:jsxRuntime.exports.jsx(DismissableLayer,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:u,onInteractOutside:f,onDismiss:p,children:jsxRuntime.exports.jsx(Root,{asChild:!0,...v,dir:g.dir,orientation:"vertical",loop:o,currentTabStopId:E,onCurrentTabStopIdChange:w,onEntryFocus:composeEventHandlers(l,e=>{g.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:jsxRuntime.exports.jsx(Content$1,{role:"menu","aria-orientation":"vertical","data-state":getOpenState(h.open),"data-radix-menu-content":"",dir:g.dir,...b,...m,ref:x,style:{outline:"none",...m.style},onKeyDown:composeEventHandlers(m.onKeyDown,e=>{const t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,o=1===e.key.length;t&&("Tab"===e.key&&e.preventDefault(),!n&&o&&(e=>{const t=S.current+e,n=y().filter(e=>!e.disabled),o=document.activeElement,r=n.find(e=>e.ref.current===o)?.textValue,a=getNextMatch(n.map(e=>e.textValue),t,r),i=n.find(e=>e.textValue===a)?.ref.current;!function e(t){S.current=t,window.clearTimeout(R.current),""!==t&&(R.current=window.setTimeout(()=>e(""),1e3))}(t),i&&setTimeout(()=>i.focus())})(e.key));const r=C.current;if(e.target!==r)return;if(!FIRST_LAST_KEYS.includes(e.key))return;e.preventDefault();const a=y().filter(e=>!e.disabled).map(e=>e.ref.current);LAST_KEYS.includes(e.key)&&a.reverse(),focusFirst(a)}),onBlur:composeEventHandlers(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(R.current),S.current="")}),onPointerMove:composeEventHandlers(e.onPointerMove,whenMouse(e=>{const t=e.target,n=A.current!==e.clientX;if(e.currentTarget.contains(t)&&n){const t=e.clientX>A.current?"right":"left";O.current=t,A.current=e.clientX}}))})})})})})})});MenuContent.displayName=CONTENT_NAME$1;var GROUP_NAME$1="MenuGroup",MenuGroup=React__namespace.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return jsxRuntime.exports.jsx(Primitive.div,{role:"group",...o,ref:t})});MenuGroup.displayName=GROUP_NAME$1;var LABEL_NAME$1="MenuLabel",MenuLabel=React__namespace.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return jsxRuntime.exports.jsx(Primitive.div,{...o,ref:t})});MenuLabel.displayName=LABEL_NAME$1;var ITEM_NAME$1="MenuItem",ITEM_SELECT="menu.itemSelect",MenuItem=React__namespace.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:o,...r}=e,a=React__namespace.useRef(null),i=useMenuRootContext(ITEM_NAME$1,e.__scopeMenu),s=useMenuContentContext(ITEM_NAME$1,e.__scopeMenu),l=useComposedRefs(t,a),c=React__namespace.useRef(!1);return jsxRuntime.exports.jsx(MenuItemImpl,{...r,ref:l,disabled:n,onClick:composeEventHandlers(e.onClick,()=>{const e=a.current;if(!n&&e){const t=new CustomEvent(ITEM_SELECT,{bubbles:!0,cancelable:!0});e.addEventListener(ITEM_SELECT,e=>o?.(e),{once:!0}),dispatchDiscreteCustomEvent(e,t),t.defaultPrevented?c.current=!1:i.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),c.current=!0},onPointerUp:composeEventHandlers(e.onPointerUp,e=>{c.current||e.currentTarget?.click()}),onKeyDown:composeEventHandlers(e.onKeyDown,e=>{const t=""!==s.searchRef.current;n||t&&" "===e.key||SELECTION_KEYS.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});MenuItem.displayName=ITEM_NAME$1;var MenuItemImpl=React__namespace.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:o=!1,textValue:r,...a}=e,i=useMenuContentContext(ITEM_NAME$1,n),s=useRovingFocusGroupScope(n),l=React__namespace.useRef(null),c=useComposedRefs(t,l),[d,u]=React__namespace.useState(!1),[f,p]=React__namespace.useState("");return React__namespace.useEffect(()=>{const e=l.current;e&&p((e.textContent??"").trim())},[a.children]),jsxRuntime.exports.jsx(Collection.ItemSlot,{scope:n,disabled:o,textValue:r??f,children:jsxRuntime.exports.jsx(Item,{asChild:!0,...s,focusable:!o,children:jsxRuntime.exports.jsx(Primitive.div,{role:"menuitem","data-highlighted":d?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...a,ref:c,onPointerMove:composeEventHandlers(e.onPointerMove,whenMouse(e=>{if(o)i.onItemLeave(e);else if(i.onItemEnter(e),!e.defaultPrevented){e.currentTarget.focus({preventScroll:!0})}})),onPointerLeave:composeEventHandlers(e.onPointerLeave,whenMouse(e=>i.onItemLeave(e))),onFocus:composeEventHandlers(e.onFocus,()=>u(!0)),onBlur:composeEventHandlers(e.onBlur,()=>u(!1))})})})}),CHECKBOX_ITEM_NAME$1="MenuCheckboxItem",MenuCheckboxItem=React__namespace.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:o,...r}=e;return jsxRuntime.exports.jsx(ItemIndicatorProvider,{scope:e.__scopeMenu,checked:n,children:jsxRuntime.exports.jsx(MenuItem,{role:"menuitemcheckbox","aria-checked":isIndeterminate(n)?"mixed":n,...r,ref:t,"data-state":getCheckedState(n),onSelect:composeEventHandlers(r.onSelect,()=>o?.(!!isIndeterminate(n)||!n),{checkForDefaultPrevented:!1})})})});MenuCheckboxItem.displayName=CHECKBOX_ITEM_NAME$1;var RADIO_GROUP_NAME$1="MenuRadioGroup",[RadioGroupProvider,useRadioGroupContext]=createMenuContext(RADIO_GROUP_NAME$1,{value:void 0,onValueChange:()=>{}}),MenuRadioGroup=React__namespace.forwardRef((e,t)=>{const{value:n,onValueChange:o,...r}=e,a=useCallbackRef$1(o);return jsxRuntime.exports.jsx(RadioGroupProvider,{scope:e.__scopeMenu,value:n,onValueChange:a,children:jsxRuntime.exports.jsx(MenuGroup,{...r,ref:t})})});MenuRadioGroup.displayName=RADIO_GROUP_NAME$1;var RADIO_ITEM_NAME$1="MenuRadioItem",MenuRadioItem=React__namespace.forwardRef((e,t)=>{const{value:n,...o}=e,r=useRadioGroupContext(RADIO_ITEM_NAME$1,e.__scopeMenu),a=n===r.value;return jsxRuntime.exports.jsx(ItemIndicatorProvider,{scope:e.__scopeMenu,checked:a,children:jsxRuntime.exports.jsx(MenuItem,{role:"menuitemradio","aria-checked":a,...o,ref:t,"data-state":getCheckedState(a),onSelect:composeEventHandlers(o.onSelect,()=>r.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});MenuRadioItem.displayName=RADIO_ITEM_NAME$1;var ITEM_INDICATOR_NAME="MenuItemIndicator",[ItemIndicatorProvider,useItemIndicatorContext]=createMenuContext(ITEM_INDICATOR_NAME,{checked:!1}),MenuItemIndicator=React__namespace.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:o,...r}=e,a=useItemIndicatorContext(ITEM_INDICATOR_NAME,n);return jsxRuntime.exports.jsx(Presence,{present:o||isIndeterminate(a.checked)||!0===a.checked,children:jsxRuntime.exports.jsx(Primitive.span,{...r,ref:t,"data-state":getCheckedState(a.checked)})})});MenuItemIndicator.displayName=ITEM_INDICATOR_NAME;var SEPARATOR_NAME$1="MenuSeparator",MenuSeparator=React__namespace.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return jsxRuntime.exports.jsx(Primitive.div,{role:"separator","aria-orientation":"horizontal",...o,ref:t})});MenuSeparator.displayName=SEPARATOR_NAME$1;var ARROW_NAME$1="MenuArrow",MenuArrow=React__namespace.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e,r=usePopperScope(n);return jsxRuntime.exports.jsx(Arrow,{...r,...o,ref:t})});MenuArrow.displayName=ARROW_NAME$1;var SUB_NAME="MenuSub",[MenuSubProvider,useMenuSubContext]=createMenuContext(SUB_NAME),SUB_TRIGGER_NAME$1="MenuSubTrigger",MenuSubTrigger=React__namespace.forwardRef((e,t)=>{const n=useMenuContext(SUB_TRIGGER_NAME$1,e.__scopeMenu),o=useMenuRootContext(SUB_TRIGGER_NAME$1,e.__scopeMenu),r=useMenuSubContext(SUB_TRIGGER_NAME$1,e.__scopeMenu),a=useMenuContentContext(SUB_TRIGGER_NAME$1,e.__scopeMenu),i=React__namespace.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:l}=a,c={__scopeMenu:e.__scopeMenu},d=React__namespace.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return React__namespace.useEffect(()=>d,[d]),React__namespace.useEffect(()=>{const e=s.current;return()=>{window.clearTimeout(e),l(null)}},[s,l]),jsxRuntime.exports.jsx(MenuAnchor,{asChild:!0,...c,children:jsxRuntime.exports.jsx(MenuItemImpl,{id:r.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":r.contentId,"data-state":getOpenState(n.open),...e,ref:composeRefs(t,r.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:composeEventHandlers(e.onPointerMove,whenMouse(t=>{a.onItemEnter(t),t.defaultPrevented||e.disabled||n.open||i.current||(a.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{n.onOpenChange(!0),d()},100))})),onPointerLeave:composeEventHandlers(e.onPointerLeave,whenMouse(e=>{d();const t=n.content?.getBoundingClientRect();if(t){const o=n.content?.dataset.side,r="right"===o,i=r?-5:5,l=t[r?"left":"right"],c=t[r?"right":"left"];a.onPointerGraceIntentChange({area:[{x:e.clientX+i,y:e.clientY},{x:l,y:t.top},{x:c,y:t.top},{x:c,y:t.bottom},{x:l,y:t.bottom}],side:o}),window.clearTimeout(s.current),s.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:composeEventHandlers(e.onKeyDown,t=>{const r=""!==a.searchRef.current;e.disabled||r&&" "===t.key||SUB_OPEN_KEYS[o.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});MenuSubTrigger.displayName=SUB_TRIGGER_NAME$1;var SUB_CONTENT_NAME$1="MenuSubContent",MenuSubContent=React__namespace.forwardRef((e,t)=>{const n=usePortalContext(CONTENT_NAME$1,e.__scopeMenu),{forceMount:o=n.forceMount,...r}=e,a=useMenuContext(CONTENT_NAME$1,e.__scopeMenu),i=useMenuRootContext(CONTENT_NAME$1,e.__scopeMenu),s=useMenuSubContext(SUB_CONTENT_NAME$1,e.__scopeMenu),l=React__namespace.useRef(null),c=useComposedRefs(t,l);return jsxRuntime.exports.jsx(Collection.Provider,{scope:e.__scopeMenu,children:jsxRuntime.exports.jsx(Presence,{present:o||a.open,children:jsxRuntime.exports.jsx(Collection.Slot,{scope:e.__scopeMenu,children:jsxRuntime.exports.jsx(MenuContentImpl,{id:s.contentId,"aria-labelledby":s.triggerId,...r,ref:c,align:"start",side:"rtl"===i.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{i.isUsingKeyboardRef.current&&l.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:composeEventHandlers(e.onFocusOutside,e=>{e.target!==s.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:composeEventHandlers(e.onEscapeKeyDown,e=>{i.onClose(),e.preventDefault()}),onKeyDown:composeEventHandlers(e.onKeyDown,e=>{const t=e.currentTarget.contains(e.target),n=SUB_CLOSE_KEYS[i.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),s.trigger?.focus(),e.preventDefault())})})})})})});function getOpenState(e){return e?"open":"closed"}function isIndeterminate(e){return"indeterminate"===e}function getCheckedState(e){return isIndeterminate(e)?"indeterminate":e?"checked":"unchecked"}function focusFirst(e){const t=document.activeElement;for(const n of e){if(n===t)return;if(n.focus(),document.activeElement!==t)return}}function wrapArray(e,t){return e.map((n,o)=>e[(t+o)%e.length])}function getNextMatch(e,t,n){const o=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,r=n?e.indexOf(n):-1;let a=wrapArray(e,Math.max(r,0));1===o.length&&(a=a.filter(e=>e!==n));const i=a.find(e=>e.toLowerCase().startsWith(o.toLowerCase()));return i!==n?i:void 0}function isPointInPolygon(e,t){const{x:n,y:o}=e;let r=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){const i=t[e],s=t[a],l=i.x,c=i.y,d=s.x,u=s.y;c>o!=u>o&&n<(d-l)*(o-c)/(u-c)+l&&(r=!r)}return r}function isPointerInGraceArea(e,t){if(!t)return!1;return isPointInPolygon({x:e.clientX,y:e.clientY},t)}function whenMouse(e){return t=>"mouse"===t.pointerType?e(t):void 0}MenuSubContent.displayName=SUB_CONTENT_NAME$1;var Root3=Menu,Anchor2=MenuAnchor,Portal=MenuPortal,Content2$1=MenuContent,Group=MenuGroup,Label=MenuLabel,Item2=MenuItem,CheckboxItem=MenuCheckboxItem,RadioGroup=MenuRadioGroup,RadioItem=MenuRadioItem,ItemIndicator=MenuItemIndicator,Separator=MenuSeparator,Arrow2=MenuArrow,SubTrigger=MenuSubTrigger,SubContent=MenuSubContent,DROPDOWN_MENU_NAME="DropdownMenu",[createDropdownMenuContext,createDropdownMenuScope]=createContextScope(DROPDOWN_MENU_NAME,[createMenuScope]),useMenuScope=createMenuScope(),[DropdownMenuProvider,useDropdownMenuContext]=createDropdownMenuContext(DROPDOWN_MENU_NAME),DropdownMenu=e=>{const{__scopeDropdownMenu:t,children:n,dir:o,open:r,defaultOpen:a,onOpenChange:i,modal:s=!0}=e,l=useMenuScope(t),c=React__namespace.useRef(null),[d,u]=useControllableState$1({prop:r,defaultProp:a??!1,onChange:i,caller:DROPDOWN_MENU_NAME});return jsxRuntime.exports.jsx(DropdownMenuProvider,{scope:t,triggerId:useId(),triggerRef:c,contentId:useId(),open:d,onOpenChange:u,onOpenToggle:React__namespace.useCallback(()=>u(e=>!e),[u]),modal:s,children:jsxRuntime.exports.jsx(Root3,{...l,open:d,onOpenChange:u,dir:o,modal:s,children:n})})};DropdownMenu.displayName=DROPDOWN_MENU_NAME;var TRIGGER_NAME="DropdownMenuTrigger",DropdownMenuTrigger=React__namespace.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:o=!1,...r}=e,a=useDropdownMenuContext(TRIGGER_NAME,n),i=useMenuScope(n);return jsxRuntime.exports.jsx(Anchor2,{asChild:!0,...i,children:jsxRuntime.exports.jsx(Primitive.button,{type:"button",id:a.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?"open":"closed","data-disabled":o?"":void 0,disabled:o,...r,ref:composeRefs(t,a.triggerRef),onPointerDown:composeEventHandlers(e.onPointerDown,e=>{o||0!==e.button||!1!==e.ctrlKey||(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:composeEventHandlers(e.onKeyDown,e=>{o||(["Enter"," "].includes(e.key)&&a.onOpenToggle(),"ArrowDown"===e.key&&a.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});DropdownMenuTrigger.displayName=TRIGGER_NAME;var PORTAL_NAME="DropdownMenuPortal",DropdownMenuPortal=e=>{const{__scopeDropdownMenu:t,...n}=e,o=useMenuScope(t);return jsxRuntime.exports.jsx(Portal,{...o,...n})};DropdownMenuPortal.displayName=PORTAL_NAME;var CONTENT_NAME="DropdownMenuContent",DropdownMenuContent=React__namespace.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=useDropdownMenuContext(CONTENT_NAME,n),a=useMenuScope(n),i=React__namespace.useRef(!1);return jsxRuntime.exports.jsx(Content2$1,{id:r.contentId,"aria-labelledby":r.triggerId,...a,...o,ref:t,onCloseAutoFocus:composeEventHandlers(e.onCloseAutoFocus,e=>{i.current||r.triggerRef.current?.focus(),i.current=!1,e.preventDefault()}),onInteractOutside:composeEventHandlers(e.onInteractOutside,e=>{const t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,o=2===t.button||n;r.modal&&!o||(i.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});DropdownMenuContent.displayName=CONTENT_NAME;var GROUP_NAME="DropdownMenuGroup",DropdownMenuGroup=React__namespace.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=useMenuScope(n);return jsxRuntime.exports.jsx(Group,{...r,...o,ref:t})});DropdownMenuGroup.displayName=GROUP_NAME;var LABEL_NAME="DropdownMenuLabel",DropdownMenuLabel=React__namespace.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=useMenuScope(n);return jsxRuntime.exports.jsx(Label,{...r,...o,ref:t})});DropdownMenuLabel.displayName=LABEL_NAME;var ITEM_NAME="DropdownMenuItem",DropdownMenuItem=React__namespace.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=useMenuScope(n);return jsxRuntime.exports.jsx(Item2,{...r,...o,ref:t})});DropdownMenuItem.displayName=ITEM_NAME;var CHECKBOX_ITEM_NAME="DropdownMenuCheckboxItem",DropdownMenuCheckboxItem=React__namespace.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=useMenuScope(n);return jsxRuntime.exports.jsx(CheckboxItem,{...r,...o,ref:t})});DropdownMenuCheckboxItem.displayName=CHECKBOX_ITEM_NAME;var RADIO_GROUP_NAME="DropdownMenuRadioGroup",DropdownMenuRadioGroup=React__namespace.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=useMenuScope(n);return jsxRuntime.exports.jsx(RadioGroup,{...r,...o,ref:t})});DropdownMenuRadioGroup.displayName=RADIO_GROUP_NAME;var RADIO_ITEM_NAME="DropdownMenuRadioItem",DropdownMenuRadioItem=React__namespace.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=useMenuScope(n);return jsxRuntime.exports.jsx(RadioItem,{...r,...o,ref:t})});DropdownMenuRadioItem.displayName=RADIO_ITEM_NAME;var INDICATOR_NAME="DropdownMenuItemIndicator",DropdownMenuItemIndicator=React__namespace.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=useMenuScope(n);return jsxRuntime.exports.jsx(ItemIndicator,{...r,...o,ref:t})});DropdownMenuItemIndicator.displayName=INDICATOR_NAME;var SEPARATOR_NAME="DropdownMenuSeparator",DropdownMenuSeparator=React__namespace.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=useMenuScope(n);return jsxRuntime.exports.jsx(Separator,{...r,...o,ref:t})});DropdownMenuSeparator.displayName=SEPARATOR_NAME;var ARROW_NAME="DropdownMenuArrow",DropdownMenuArrow=React__namespace.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=useMenuScope(n);return jsxRuntime.exports.jsx(Arrow2,{...r,...o,ref:t})});DropdownMenuArrow.displayName=ARROW_NAME;var SUB_TRIGGER_NAME="DropdownMenuSubTrigger",DropdownMenuSubTrigger=React__namespace.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=useMenuScope(n);return jsxRuntime.exports.jsx(SubTrigger,{...r,...o,ref:t})});DropdownMenuSubTrigger.displayName=SUB_TRIGGER_NAME;var SUB_CONTENT_NAME="DropdownMenuSubContent",DropdownMenuSubContent=React__namespace.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=useMenuScope(n);return jsxRuntime.exports.jsx(SubContent,{...r,...o,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});DropdownMenuSubContent.displayName=SUB_CONTENT_NAME;var Root2=DropdownMenu,Portal2=DropdownMenuPortal,Content2=DropdownMenuContent;function Dropdown({children:e,content:t,defaultOpen:n,open:o,onOpenChange:r,className:a,...i}){const s=useOverrides(),{portalContainer:l}=useLiveblocksUIConfig();return jsxRuntime.exports.jsxs(Root2,{defaultOpen:n,open:o,onOpenChange:r,dir:s.dir,children:[e,jsxRuntime.exports.jsx(Portal2,{container:l,children:jsxRuntime.exports.jsx(Content2,{className:classNames("lb-root lb-portal lb-elevation lb-dropdown",a),sideOffset:FLOATING_ELEMENT_SIDE_OFFSET,collisionPadding:FLOATING_ELEMENT_COLLISION_PADDING,...i,children:t})})]})}const DropdownItem=React.forwardRef(({children:e,className:t,...n},o)=>jsxRuntime.exports.jsx(DropdownMenuItem,{className:classNames("lb-dropdown-item",t),...n,ref:o,children:e})),List=React.forwardRef(({values:e,formatRemaining:t,truncate:n,locale:o,className:r,asChild:a,...i},s)=>{const l=a?Slot$2:"span",c=useOverrides(),d=t??c.LIST_REMAINING,u=React.useMemo(()=>{const t=n&&n<e.length-1?[...e.slice(0,n),d(e.length-n)]:[...e],r=Array(t.length).fill(".");return listFormat(o).formatToParts(r).map(e=>"element"===e.type?t.shift():e.value)},[d,o,n,e]);return jsxRuntime.exports.jsx(l,{className:classNames("lb-list",r),...i,ref:s,children:u})}),REACTIONS_TRUNCATE=5;function CommentMention({userId:e,className:t,...n}){const o=useCurrentUserId();return jsxRuntime.exports.jsxs(CommentMention$1,{className:classNames("lb-comment-mention",t),"data-self":e===o?"":void 0,...n,children:[MENTION_CHARACTER,jsxRuntime.exports.jsx(User,{userId:e})]})}function CommentLink({href:e,children:t,className:n,...o}){return jsxRuntime.exports.jsx(CommentLink$1,{className:classNames("lb-comment-link",n),href:e,...o,children:t})}function CommentNonInteractiveLink({href:e,children:t,className:n,...o}){return jsxRuntime.exports.jsx("span",{className:classNames("lb-comment-link",n),...o,children:t})}const CommentReactionButton=React.forwardRef(({reaction:e,overrides:t,className:n,...o},r)=>{const a=useOverrides(t);return jsxRuntime.exports.jsxs(Button,{className:classNames("lb-comment-reaction",n),variant:"outline","aria-label":a.COMMENT_REACTION_DESCRIPTION(e.emoji,e.users.length),...o,ref:r,children:[jsxRuntime.exports.jsx(Emoji,{className:"lb-comment-reaction-emoji",emoji:e.emoji}),jsxRuntime.exports.jsx("span",{className:"lb-comment-reaction-count",children:e.users.length})]})}),CommentReaction=React.forwardRef(({comment:e,reaction:t,overrides:n,disabled:o,...r},a)=>{const i=useAddRoomCommentReaction(e.roomId),s=useRemoveRoomCommentReaction(e.roomId),l=useCurrentUserId(),c=React.useMemo(()=>t.users.some(e=>e.id===l),[l,t]),d=useOverrides(n),u=React.useMemo(()=>jsxRuntime.exports.jsx("span",{children:d.COMMENT_REACTION_LIST(jsxRuntime.exports.jsx(List,{values:t.users.map(e=>jsxRuntime.exports.jsx(User,{userId:e.id,replaceSelf:!0},e.id)),formatRemaining:d.LIST_REMAINING_USERS,truncate:REACTIONS_TRUNCATE,locale:d.locale}),t.emoji,t.users.length)}),[d,t]),f=React.useCallback(e=>{e.stopPropagation()},[]),p=React.useCallback(n=>{n?i({threadId:e.threadId,commentId:e.id,emoji:t.emoji}):s({threadId:e.threadId,commentId:e.id,emoji:t.emoji})},[i,e.threadId,e.id,t.emoji,s]);return jsxRuntime.exports.jsx(Tooltip,{content:u,multiline:!0,className:"lb-comment-reaction-tooltip",children:jsxRuntime.exports.jsx(Root$3,{asChild:!0,pressed:c,onPressedChange:p,onClick:f,disabled:o,ref:a,children:jsxRuntime.exports.jsx(CommentReactionButton,{"data-self":c?"":void 0,reaction:t,overrides:n,...r})})})}),CommentNonInteractiveReaction=React.forwardRef(({reaction:e,overrides:t,...n},o)=>{const r=useCurrentUserId(),a=React.useMemo(()=>e.users.some(e=>e.id===r),[r,e]);return jsxRuntime.exports.jsx(CommentReactionButton,{disableable:!1,"data-self":a?"":void 0,reaction:e,overrides:t,...n,ref:o})});function openAttachment({attachment:e,url:t}){"application/pdf"===e.mimeType||e.mimeType.startsWith("image/")||e.mimeType.startsWith("video/")||e.mimeType.startsWith("audio/")?window.open(t,"_blank"):download(t,e.name)}function CommentMediaAttachment({attachment:e,onAttachmentClick:t,roomId:n,className:o,overrides:r,...a}){const{url:i}=useRoomAttachmentUrl(e.id,n),s=React.useCallback(n=>{if(!i)return;const o={attachment:e,url:i};t?.(o,n),n.isDefaultPrevented()||openAttachment(o)},[e,t,i]);return jsxRuntime.exports.jsx(MediaAttachment,{className:classNames("lb-comment-attachment",o),...a,attachment:e,overrides:r,onClick:i?s:void 0,roomId:n})}function CommentFileAttachment({attachment:e,onAttachmentClick:t,roomId:n,className:o,overrides:r,...a}){const{url:i}=useRoomAttachmentUrl(e.id,n),s=React.useCallback(n=>{if(!i)return;const o={attachment:e,url:i};t?.(o,n),n.isDefaultPrevented()||openAttachment(o)},[e,t,i]);return jsxRuntime.exports.jsx(FileAttachment,{className:classNames("lb-comment-attachment",o),...a,attachment:e,overrides:r,onClick:i?s:void 0,roomId:n})}function CommentNonInteractiveFileAttachment({className:e,...t}){return jsxRuntime.exports.jsx(FileAttachment,{className:classNames("lb-comment-attachment",e),allowMediaPreview:!1,...t})}function AutoMarkReadThreadIdHandler({threadId:e,roomId:t,commentRef:n}){const o=useMarkRoomThreadAsRead(t);return useVisibleCallback(n,()=>{o(e)},{enabled:useWindowFocus()}),null}const Comment=React.forwardRef(({comment:e,indentContent:t=!0,showDeleted:n,showActions:o="hover",showReactions:r=!0,showAttachments:a=!0,showComposerFormattingControls:i=!0,onAuthorClick:s,onMentionClick:l,onAttachmentClick:c,onCommentEdit:d,onCommentDelete:u,overrides:f,className:p,additionalActions:_,additionalActionsClassName:m,autoMarkReadThreadId:h,...g},b)=>{const v=React.useRef(null),y=useRefs(b,v),E=useCurrentUserId(),w=useDeleteRoomComment(e.roomId),C=useEditRoomComment(e.roomId),x=useAddRoomCommentReaction(e.roomId),R=useRemoveRoomCommentReaction(e.roomId),S=useOverrides(f),[D,T]=React.useState(!1),[O,A]=React.useState(!1),[I,k]=React.useState(!1),[N,j]=React.useState(!1),{mediaAttachments:$,fileAttachments:F}=React.useMemo(()=>separateMediaAttachments(e.attachments),[e.attachments]),P=React.useCallback(e=>{e.stopPropagation()},[]),M=React.useCallback(()=>{T(!0)},[]),B=React.useCallback(e=>{e.stopPropagation(),T(!1)},[]),L=React.useCallback(({body:t,attachments:n},o)=>{d?.(e),o.preventDefault(),T(!1),C({commentId:e.id,threadId:e.threadId,body:t,attachments:n})},[e,C,d]),U=React.useCallback(()=>{u?.(e),w({commentId:e.id,threadId:e.threadId})},[e,w,u]),V=React.useCallback(t=>{s?.(e.userId,t)},[e.userId,s]),H=React.useCallback(t=>{const n=e.reactions.findIndex(e=>e.emoji===t);n>=0&&E&&e.reactions[n]?.users.some(e=>e.id===E)?R({threadId:e.threadId,commentId:e.id,emoji:t}):x({threadId:e.threadId,commentId:e.id,emoji:t})},[x,e.id,e.reactions,e.threadId,R,E]);return React.useEffect(()=>{if(!("undefined"!=typeof window))return;window.location.hash.slice(1)===e.id&&A(!0)},[]),n||e.body?jsxRuntime.exports.jsxs(TooltipProvider,{children:[h&&jsxRuntime.exports.jsx(AutoMarkReadThreadIdHandler,{commentRef:v,threadId:h,roomId:e.roomId}),jsxRuntime.exports.jsxs("div",{id:e.id,className:classNames("lb-root lb-comment",t&&"lb-comment:indent-content","hover"===o&&"lb-comment:show-actions-hover",(I||N)&&"lb-comment:action-open",p),"data-deleted":e.body?void 0:"","data-editing":D?"":void 0,"data-target":O?"":void 0,dir:S.dir,...g,ref:y,children:[jsxRuntime.exports.jsxs("div",{className:"lb-comment-header",children:[jsxRuntime.exports.jsxs("div",{className:"lb-comment-details",children:[jsxRuntime.exports.jsx(Avatar,{className:"lb-comment-avatar",userId:e.userId,onClick:V}),jsxRuntime.exports.jsxs("span",{className:"lb-comment-details-labels",children:[jsxRuntime.exports.jsx(User,{className:"lb-comment-author",userId:e.userId,onClick:V}),jsxRuntime.exports.jsxs("span",{className:"lb-comment-date",children:[jsxRuntime.exports.jsx(Timestamp,{locale:S.locale,date:e.createdAt,className:"lb-date lb-comment-date-created"}),e.editedAt&&e.body&&jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[" ",jsxRuntime.exports.jsx("span",{className:"lb-comment-date-edited",children:S.COMMENT_EDITED})]})]})]})]}),o&&!D&&jsxRuntime.exports.jsxs("div",{className:classNames("lb-comment-actions",m),children:[_??null,r&&jsxRuntime.exports.jsx(EmojiPicker,{onEmojiSelect:H,onOpenChange:j,children:jsxRuntime.exports.jsx(Tooltip,{content:S.COMMENT_ADD_REACTION,children:jsxRuntime.exports.jsx(PopoverTrigger,{asChild:!0,children:jsxRuntime.exports.jsx(Button,{className:"lb-comment-action",onClick:P,"aria-label":S.COMMENT_ADD_REACTION,children:jsxRuntime.exports.jsx(EmojiAddIcon,{className:"lb-button-icon"})})})})}),e.userId===E&&jsxRuntime.exports.jsx(Dropdown,{open:I,onOpenChange:k,align:"end",content:jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsxs(DropdownItem,{onSelect:M,onClick:P,children:[jsxRuntime.exports.jsx(EditIcon,{className:"lb-dropdown-item-icon"}),S.COMMENT_EDIT]}),jsxRuntime.exports.jsxs(DropdownItem,{onSelect:U,onClick:P,children:[jsxRuntime.exports.jsx(DeleteIcon,{className:"lb-dropdown-item-icon"}),S.COMMENT_DELETE]})]}),children:jsxRuntime.exports.jsx(Tooltip,{content:S.COMMENT_MORE,children:jsxRuntime.exports.jsx(DropdownMenuTrigger,{asChild:!0,children:jsxRuntime.exports.jsx(Button,{className:"lb-comment-action",disabled:!e.body,onClick:P,"aria-label":S.COMMENT_MORE,children:jsxRuntime.exports.jsx(EllipsisIcon,{className:"lb-button-icon"})})})})})]})]}),jsxRuntime.exports.jsx("div",{className:"lb-comment-content",children:D?jsxRuntime.exports.jsx(Composer,{className:"lb-comment-composer",onComposerSubmit:L,defaultValue:e.body,defaultAttachments:e.attachments,autoFocus:!0,showAttribution:!1,showAttachments:a,showFormattingControls:i,actions:jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(Tooltip,{content:S.COMMENT_EDIT_COMPOSER_CANCEL,"aria-label":S.COMMENT_EDIT_COMPOSER_CANCEL,children:jsxRuntime.exports.jsx(Button,{className:"lb-composer-action",onClick:B,children:jsxRuntime.exports.jsx(CrossIcon,{className:"lb-button-icon"})})}),jsxRuntime.exports.jsx(ShortcutTooltip,{content:S.COMMENT_EDIT_COMPOSER_SAVE,shortcut:jsxRuntime.exports.jsx(ShortcutTooltipKey,{name:"enter"}),children:jsxRuntime.exports.jsx(ComposerSubmit,{asChild:!0,children:jsxRuntime.exports.jsx(Button,{variant:"primary",className:"lb-composer-action",onClick:P,"aria-label":S.COMMENT_EDIT_COMPOSER_SAVE,children:jsxRuntime.exports.jsx(CheckIcon,{className:"lb-button-icon"})})})})]}),overrides:{COMPOSER_PLACEHOLDER:S.COMMENT_EDIT_COMPOSER_PLACEHOLDER},roomId:e.roomId}):e.body?jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(CommentBody,{className:"lb-comment-body",body:e.body,components:{Mention:({userId:e})=>jsxRuntime.exports.jsx(CommentMention,{userId:e,onClick:t=>l?.(e,t)}),Link:CommentLink}}),a&&($.length>0||F.length>0)?jsxRuntime.exports.jsxs("div",{className:"lb-comment-attachments",children:[$.length>0?jsxRuntime.exports.jsx("div",{className:"lb-attachments",children:$.map(t=>jsxRuntime.exports.jsx(CommentMediaAttachment,{attachment:t,overrides:f,onAttachmentClick:c,roomId:e.roomId},t.id))}):null,F.length>0?jsxRuntime.exports.jsx("div",{className:"lb-attachments",children:F.map(t=>jsxRuntime.exports.jsx(CommentFileAttachment,{attachment:t,overrides:f,onAttachmentClick:c,roomId:e.roomId},t.id))}):null]}):null,r&&e.reactions.length>0&&jsxRuntime.exports.jsxs("div",{className:"lb-comment-reactions",children:[e.reactions.map(t=>jsxRuntime.exports.jsx(CommentReaction,{comment:e,reaction:t,overrides:f},t.emoji)),jsxRuntime.exports.jsx(EmojiPicker,{onEmojiSelect:H,children:jsxRuntime.exports.jsx(Tooltip,{content:S.COMMENT_ADD_REACTION,children:jsxRuntime.exports.jsx(PopoverTrigger,{asChild:!0,children:jsxRuntime.exports.jsx(Button,{className:"lb-comment-reaction lb-comment-reaction-add",variant:"outline",onClick:P,"aria-label":S.COMMENT_ADD_REACTION,children:jsxRuntime.exports.jsx(EmojiAddIcon,{className:"lb-button-icon"})})})})})]})]}):jsxRuntime.exports.jsx("div",{className:"lb-comment-body",children:jsxRuntime.exports.jsx("p",{className:"lb-comment-deleted",children:S.COMMENT_DELETED})})})]})]}):null}),PLACEHOLDER_BASE_URL="https://localhost:9999",ABSOLUTE_URL_REGEX=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/;function generateURL(e,t,n){const o=ABSOLUTE_URL_REGEX.test(e),r=new URL(e,o?void 0:PLACEHOLDER_BASE_URL);if(void 0!==t)for(const[e,n]of Object.entries(t))n&&r.searchParams.set(e,String(n));return r.hash||void 0===n||(r.hash=`#${n}`),o?r.href:r.href.replace(PLACEHOLDER_BASE_URL,"")}const INBOX_NOTIFICATION_THREAD_MAX_COMMENTS=3;function InboxNotificationComment({comment:e,showHeader:t=!0,showAttachments:n=!0,showReactions:o=!0,overrides:r,className:a,...i}){const s=useOverrides(r);return jsxRuntime.exports.jsxs("div",{className:classNames("lb-root lb-inbox-notification-comment lb-comment",a),...i,children:[t&&jsxRuntime.exports.jsx("div",{className:"lb-comment-header",children:jsxRuntime.exports.jsx(User,{className:"lb-comment-author",userId:e.userId})}),jsxRuntime.exports.jsx("div",{className:"lb-comment-content",children:e.body?jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[jsxRuntime.exports.jsx(CommentBody,{className:"lb-comment-body",body:e.body,components:{Mention:CommentMention,Link:CommentNonInteractiveLink}}),o&&e.reactions.length>0&&jsxRuntime.exports.jsx("div",{className:"lb-comment-reactions",children:e.reactions.map(e=>jsxRuntime.exports.jsx(CommentNonInteractiveReaction,{reaction:e,overrides:r,disabled:!0},e.emoji))}),n&&e.attachments.length>0?jsxRuntime.exports.jsx("div",{className:"lb-comment-attachments",children:jsxRuntime.exports.jsx("div",{className:"lb-attachments",children:e.attachments.map(t=>jsxRuntime.exports.jsx(CommentNonInteractiveFileAttachment,{attachment:t,overrides:r,roomId:e.roomId},t.id))})}):null]}):jsxRuntime.exports.jsx("div",{className:"lb-comment-body",children:jsxRuntime.exports.jsx("p",{className:"lb-comment-deleted",children:s.COMMENT_DELETED})})})]})}function findLastCommentWithMentionedId(e,t){if(e.length)for(let n=e.length-1;n>=0;n--){const o=e[n];if(o.userId!==t&&o.body){if(getMentionedIdsFromCommentBody(o.body).includes(t))return o}}}function getUserIdsFromComments(e){return Array.from(new Set(e.map(e=>e.userId)))}function generateInboxNotificationThreadContents(e,t,n){const o=t.comments.filter(t=>!!t.body&&(e.readAt?t.createdAt>e.readAt&&t.createdAt<=e.notifiedAt:t.createdAt<=e.notifiedAt));if(0===o.length){const n=t.comments.filter(e=>e.body).slice(-INBOX_NOTIFICATION_THREAD_MAX_COMMENTS);return{type:"comments",unread:!1,comments:n,userIds:getUserIdsFromComments(n),date:e.notifiedAt}}const r=findLastCommentWithMentionedId(o,n);if(r)return{type:"mention",unread:!0,comments:[r],userIds:[r.userId],date:r.createdAt};return{type:"comments",unread:!0,comments:o.slice(-INBOX_NOTIFICATION_THREAD_MAX_COMMENTS),userIds:getUserIdsFromComments(o),date:e.notifiedAt}}function Room({roomId:e,className:t,...n}){const{info:o,isLoading:r}=useRoomInfo(e),a=React.useMemo(()=>o?.name??e,[o?.name,e]);return jsxRuntime.exports.jsx("span",{className:classNames("lb-name lb-room",t),"data-loading":r?"":void 0,...n,children:r?null:a})}const InboxNotificationLayout=React.forwardRef(({inboxNotification:e,children:t,aside:n,title:o,date:r,unread:a,markAsReadOnClick:i,onClick:s,href:l,showActions:c,overrides:d,components:u,className:f,asChild:p,..._},m)=>{const h=useOverrides(d),{Anchor:g}=useComponents(u),b=p?Slot$2:g,[v,y]=React.useState(!1),E=useMarkInboxNotificationAsRead(),w=useDeleteInboxNotification(),C=React.useCallback(t=>{s?.(t);const n=i??Boolean(l);a&&n&&E(e.id)},[l,e.id,i,E,s,a]),x=React.useCallback(e=>{e.stopPropagation()},[]),R=React.useCallback(e=>{e.preventDefault(),e.stopPropagation()},[]),S=React.useCallback(e=>{e.preventDefault(),e.stopPropagation(),y(e=>!e)},[]),D=React.useCallback(()=>{E(e.id)},[e.id,E]),T=React.useCallback(()=>{w(e.id)},[e.id,w]);return jsxRuntime.exports.jsx(TooltipProvider,{children:jsxRuntime.exports.jsxs(b,{className:classNames("lb-root lb-inbox-notification","hover"===c&&"lb-inbox-notification:show-actions-hover",v&&"lb-inbox-notification:action-open",f),dir:h.dir,"data-unread":a?"":void 0,"data-kind":e.kind,onClick:C,href:l,..._,ref:m,children:[n&&jsxRuntime.exports.jsx("div",{className:"lb-inbox-notification-aside",children:n}),jsxRuntime.exports.jsxs("div",{className:"lb-inbox-notification-content",children:[jsxRuntime.exports.jsxs("div",{className:"lb-inbox-notification-header",children:[jsxRuntime.exports.jsx("span",{className:"lb-inbox-notification-title",children:o}),jsxRuntime.exports.jsx("div",{className:"lb-inbox-notification-details",children:jsxRuntime.exports.jsxs("span",{className:"lb-inbox-notification-details-labels",children:[jsxRuntime.exports.jsx(Timestamp,{locale:h.locale,date:r,className:"lb-date lb-inbox-notification-date"}),a&&jsxRuntime.exports.jsx("span",{className:"lb-inbox-notification-unread-indicator",role:"presentation"})]})}),c&&jsxRuntime.exports.jsx("div",{className:"lb-inbox-notification-actions",children:jsxRuntime.exports.jsx(Dropdown,{open:v,onOpenChange:y,align:"end",content:jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[a?jsxRuntime.exports.jsxs(DropdownItem,{onSelect:D,onClick:x,children:[jsxRuntime.exports.jsx(CheckIcon,{className:"lb-dropdown-item-icon"}),h.INBOX_NOTIFICATION_MARK_AS_READ]}):null,jsxRuntime.exports.jsxs(DropdownItem,{onSelect:T,onClick:x,children:[jsxRuntime.exports.jsx(DeleteIcon,{className:"lb-dropdown-item-icon"}),h.INBOX_NOTIFICATION_DELETE]})]}),children:jsxRuntime.exports.jsx(Tooltip,{content:h.INBOX_NOTIFICATION_MORE,children:jsxRuntime.exports.jsx(DropdownMenuTrigger,{asChild:!0,children:jsxRuntime.exports.jsx(Button,{className:"lb-inbox-notification-action",onClick:S,onPointerDown:R,onPointerUp:R,"aria-label":h.INBOX_NOTIFICATION_MORE,children:jsxRuntime.exports.jsx(EllipsisIcon,{className:"lb-button-icon"})})})})})})]}),jsxRuntime.exports.jsx("div",{className:"lb-inbox-notification-body",children:t})]})]})})});function InboxNotificationIcon({className:e,...t}){return jsxRuntime.exports.jsx("div",{className:classNames("lb-inbox-notification-icon",e),...t})}function InboxNotificationAvatar({className:e,...t}){return jsxRuntime.exports.jsx(Avatar,{className:classNames("lb-inbox-notification-avatar",e),...t})}const InboxNotificationThread=React.forwardRef(({inboxNotification:e,href:t,showRoomName:n=!0,showReactions:o=!0,showAttachments:r=!0,showActions:a="hover",overrides:i,...s},l)=>{const c=useOverrides(i),d=_useInboxNotificationThread(e.id),u=useCurrentUserId(),{info:f}=useRoomInfo(e.roomId),p=React.useMemo(()=>{const t=generateInboxNotificationThreadContents(e,d,u??"");if(0===t.comments.length||0===t.userIds.length)return null;switch(t.type){case"comments":{const e=[...t.userIds].reverse(),a=e[0],s=jsxRuntime.exports.jsx(InboxNotificationAvatar,{userId:a}),l=c.INBOX_NOTIFICATION_THREAD_COMMENTS_LIST(jsxRuntime.exports.jsx(List,{values:e.map(e=>jsxRuntime.exports.jsx(User,{userId:e,replaceSelf:!0},e)),formatRemaining:c.LIST_REMAINING_USERS,truncate:INBOX_NOTIFICATION_THREAD_MAX_COMMENTS-1,locale:c.locale}),n?jsxRuntime.exports.jsx(Room,{roomId:d.roomId}):void 0,e.length),u=jsxRuntime.exports.jsx("div",{className:"lb-inbox-notification-comments",children:t.comments.map(e=>jsxRuntime.exports.jsx(InboxNotificationComment,{comment:e,showHeader:t.comments.length>1,showAttachments:r,showReactions:o,overrides:i},e.id))});return{unread:t.unread,date:t.date,aside:s,title:l,content:u,threadId:d.id,commentId:t.comments[t.comments.length-1].id}}case"mention":{const e=t.userIds[0],a=t.comments[0],s=jsxRuntime.exports.jsx(InboxNotificationAvatar,{userId:e}),l=c.INBOX_NOTIFICATION_THREAD_MENTION(jsxRuntime.exports.jsx(User,{userId:e},e),n?jsxRuntime.exports.jsx(Room,{roomId:d.roomId}):void 0),u=jsxRuntime.exports.jsx("div",{className:"lb-inbox-notification-comments",children:jsxRuntime.exports.jsx(InboxNotificationComment,{comment:a,showHeader:!1,showAttachments:r,showReactions:o,overrides:i},a.id)});return{unread:t.unread,date:t.date,aside:s,title:l,content:u,threadId:d.id,commentId:a.id}}default:return assertNever(t,"Unexpected thread inbox notification type")}},[c,u,e,i,n,r,o,d]),_=React.useMemo(()=>{const e=t??f?.url;return e?generateURL(e,void 0,p?.commentId):void 0},[p?.commentId,t,f?.url]);if(!p)return null;const{aside:m,title:h,content:g,date:b,unread:v}=p;return jsxRuntime.exports.jsx(InboxNotificationLayout,{inboxNotification:e,aside:m,title:h,date:b,unread:v,overrides:i,href:_,showActions:a,markAsReadOnClick:!1,...s,ref:l,children:g})}),InboxNotificationTextMention=React.forwardRef(({inboxNotification:e,showActions:t="hover",showRoomName:n=!0,overrides:o,...r},a)=>{const i=useOverrides(o),s=React.useMemo(()=>!e.readAt||e.notifiedAt>e.readAt,[e.notifiedAt,e.readAt]);return jsxRuntime.exports.jsx(InboxNotificationLayout,{inboxNotification:e,aside:jsxRuntime.exports.jsx(InboxNotificationAvatar,{userId:e.createdBy}),title:i.INBOX_NOTIFICATION_TEXT_MENTION(jsxRuntime.exports.jsx(User,{userId:e.createdBy},e.createdBy),n?jsxRuntime.exports.jsx(Room,{roomId:e.roomId}):void 0),date:e.notifiedAt,unread:s,overrides:o,showActions:t,...r,ref:a})}),InboxNotificationCustom=React.forwardRef(({inboxNotification:e,showActions:t="hover",title:n,aside:o,children:r,overrides:a,...i},s)=>{const l=React.useMemo(()=>!e.readAt||e.notifiedAt>e.readAt,[e.notifiedAt,e.readAt]);return jsxRuntime.exports.jsx(InboxNotificationLayout,{inboxNotification:e,aside:o,title:n,date:e.notifiedAt,unread:l,overrides:a,showActions:t,...i,ref:s,children:r})});React.forwardRef(({inboxNotification:e,...t},n)=>jsxRuntime.exports.jsxs(InboxNotificationCustom,{inboxNotification:e,...t,title:jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:["Custom notification kind ",jsxRuntime.exports.jsx("code",{children:e.kind})," is not handled"]}),aside:jsxRuntime.exports.jsx(InboxNotificationIcon,{children:jsxRuntime.exports.jsx(WarningIcon,{})}),ref:n,"data-missing":"",children:["Notifications of this kind won’t be displayed in production. Use the"," ",jsxRuntime.exports.jsx("code",{children:"kinds"})," prop to define how they should be rendered."]}));const InboxNotification=Object.assign(React.forwardRef(({inboxNotification:e,kinds:t,...n},o)=>{switch(e.kind){case"thread":{const r=t?.thread??InboxNotificationThread;return jsxRuntime.exports.jsx(r,{inboxNotification:e,...n,ref:o})}case"textMention":{const r=t?.textMention??InboxNotificationTextMention;return jsxRuntime.exports.jsx(r,{inboxNotification:e,...n,ref:o})}default:{const r=t?.[e.kind];return r?jsxRuntime.exports.jsx(r,{inboxNotification:e,...n,ref:o}):null}}}),{Thread:InboxNotificationThread,TextMention:InboxNotificationTextMention,Custom:InboxNotificationCustom,Icon:InboxNotificationIcon,Avatar:InboxNotificationAvatar});function ReachEndMarker({enabled:e,onReachEnd:t}){const n=React.useRef(null);return useVisibleCallback(n,t,{enabled:e}),jsxRuntime.exports.jsx("div",{ref:n,style:{height:0}})}const InboxNotificationList=React.forwardRef(({onReachEnd:e,children:t,className:n,...o},r)=>jsxRuntime.exports.jsxs("ol",{className:classNames("lb-root lb-inbox-notification-list",n),...o,ref:r,children:[React.Children.map(t,(e,t)=>jsxRuntime.exports.jsx("li",{className:"lb-inbox-notification-list-item",children:e},t)),e&&jsxRuntime.exports.jsx(ReachEndMarker,{onReachEnd:e,enabled:React.Children.count(t)>0})]}));function ArrowDownIcon(e){return jsxRuntime.exports.jsx(Icon,{...e,children:jsxRuntime.exports.jsx("path",{d:"M10 4v12m6-6-6 6-6-6"})})}function ResolveIcon(e){return jsxRuntime.exports.jsxs(Icon,{...e,children:[jsxRuntime.exports.jsx("circle",{cx:10,cy:10,r:7}),jsxRuntime.exports.jsx("path",{d:"m13 8-4 4-2-2"})]})}function ResolvedIcon(e){return jsxRuntime.exports.jsxs(Icon,{...e,children:[jsxRuntime.exports.jsx("circle",{cx:10,cy:10,r:7,fill:"currentColor"}),jsxRuntime.exports.jsx("path",{d:"m13 8-4 4-2-2",stroke:"var(--lb-icon-background)"})]})}function findLastIndex(e,t){let n=e.length-1;for(;n>=0;){const o=e[n];if(o&&t(o))return n;n--}return-1}const Thread=React.forwardRef(({thread:e,indentCommentContent:t=!0,showActions:n="hover",showDeletedComments:o,showResolveAction:r=!0,showReactions:a=!0,showComposer:i="collapsed",showAttachments:s=!0,showComposerFormattingControls:l=!0,onResolvedChange:c,onCommentEdit:d,onCommentDelete:u,onThreadDelete:f,onAuthorClick:p,onMentionClick:_,onAttachmentClick:m,onComposerSubmit:h,overrides:g,className:b,...v},y)=>{const E=useMarkRoomThreadAsResolved(e.roomId),w=useMarkRoomThreadAsUnresolved(e.roomId),C=useOverrides(g),x=React.useMemo(()=>o?0:e.comments.findIndex(e=>e.body),[o,e.comments]),R=React.useMemo(()=>o?e.comments.length-1:findLastIndex(e.comments,e=>e.body),[o,e.comments]),{status:S,unreadSince:D}=useThreadSubscription(e.id),T=React.useMemo(()=>{if("subscribed"!==S)return;if(null===D)return x;const t=e.comments.findIndex(e=>(!!o||e.body)&&e.createdAt>D);return t>=0&&t<e.comments.length?t:void 0},[x,o,S,e.comments,D]),[O,A]=React.useState(),I=void 0===O?T:O;React.useEffect(()=>{T&&A(e=>Math.min(e??1/0,T))},[T]);const k=React.useCallback(e=>{e.stopPropagation()},[]),N=React.useCallback(t=>{c?.(t),t?E(e.id):w(e.id)},[E,w,c,e.id]),j=React.useCallback(t=>{u?.(t);e.comments.filter(e=>e.body).length<=1&&f?.(e)},[u,f,e]);return jsxRuntime.exports.jsx(TooltipProvider,{children:jsxRuntime.exports.jsxs("div",{className:classNames("lb-root lb-thread","hover"===n&&"lb-thread:show-actions-hover",b),"data-resolved":e.resolved?"":void 0,"data-unread":void 0!==T?"":void 0,dir:C.dir,...v,ref:y,children:[jsxRuntime.exports.jsx("div",{className:"lb-thread-comments",children:e.comments.map((i,c)=>{const u=c===x,f=void 0!==T&&c>=T,h=jsxRuntime.exports.jsx(Comment,{className:"lb-thread-comment","data-unread":f?"":void 0,comment:i,indentContent:t,showDeleted:o,showActions:n,showReactions:a,showAttachments:s,showComposerFormattingControls:l,onCommentEdit:d,onCommentDelete:j,onAuthorClick:p,onMentionClick:_,onAttachmentClick:m,autoMarkReadThreadId:c===R&&f?e.id:void 0,additionalActionsClassName:u?"lb-thread-actions":void 0,additionalActions:u&&r?jsxRuntime.exports.jsx(Tooltip,{content:e.resolved?C.THREAD_UNRESOLVE:C.THREAD_RESOLVE,children:jsxRuntime.exports.jsx(Root$3,{pressed:e.resolved,onPressedChange:N,asChild:!0,children:jsxRuntime.exports.jsx(Button,{className:"lb-comment-action",onClick:k,"aria-label":e.resolved?C.THREAD_UNRESOLVE:C.THREAD_RESOLVE,children:e.resolved?jsxRuntime.exports.jsx(ResolvedIcon,{className:"lb-button-icon"}):jsxRuntime.exports.jsx(ResolveIcon,{className:"lb-button-icon"})})})}):null},i.id);return c===I&&I!==x&&I<=R?jsxRuntime.exports.jsxs(React.Fragment,{children:[jsxRuntime.exports.jsx("div",{className:"lb-thread-new-indicator","aria-label":C.THREAD_NEW_INDICATOR_DESCRIPTION,children:jsxRuntime.exports.jsxs("span",{className:"lb-thread-new-indicator-label",children:[jsxRuntime.exports.jsx(ArrowDownIcon,{className:"lb-thread-new-indicator-label-icon"}),C.THREAD_NEW_INDICATOR]})}),h]},i.id):h})}),i&&jsxRuntime.exports.jsx(Composer,{className:"lb-thread-composer",threadId:e.id,defaultCollapsed:"collapsed"===i||void 0,showAttachments:s,showFormattingControls:l,onComposerSubmit:h,overrides:{COMPOSER_PLACEHOLDER:C.THREAD_COMPOSER_PLACEHOLDER,COMPOSER_SEND:C.THREAD_COMPOSER_SEND},roomId:e.roomId})]})})});detectDupes(PKG_NAME,PKG_VERSION,PKG_FORMAT);const ErrorBoundaryContext=React.createContext(null),initialState={didCatch:!1,error:null};class ErrorBoundary extends React.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=initialState}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){const{error:e}=this.state;if(null!==e){for(var t,n,o=arguments.length,r=new Array(o),a=0;a<o;a++)r[a]=arguments[a];null===(t=(n=this.props).onReset)||void 0===t||t.call(n,{args:r,reason:"imperative-api"}),this.setState(initialState)}}componentDidCatch(e,t){var n,o;null===(n=(o=this.props).onError)||void 0===n||n.call(o,e,t)}componentDidUpdate(e,t){const{didCatch:n}=this.state,{resetKeys:o}=this.props;var r,a;n&&null!==t.error&&hasArrayChanged(e.resetKeys,o)&&(null===(r=(a=this.props).onReset)||void 0===r||r.call(a,{next:o,prev:e.resetKeys,reason:"keys"}),this.setState(initialState))}render(){const{children:e,fallbackRender:t,FallbackComponent:n,fallback:o}=this.props,{didCatch:r,error:a}=this.state;let i=e;if(r){const e={error:a,resetErrorBoundary:this.resetErrorBoundary};if("function"==typeof t)i=t(e);else if(n)i=React.createElement(n,e);else{if(void 0===o)throw a;i=o}}return React.createElement(ErrorBoundaryContext.Provider,{value:{didCatch:r,error:a,resetErrorBoundary:this.resetErrorBoundary}},i)}}function hasArrayChanged(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.length!==t.length||e.some((e,n)=>!Object.is(e,t[n]))}function Loading(){return React__default.default.createElement("svg",{className:"animate-spin h-5 w-5 mr-3 ...",viewBox:"0 0 24 24"})}var Threads=function(e){var t=e.indentCommentContent,n=e.showActions,o=e.showDeletedComments,r=e.showResolveAction,a=e.showReactions,i=e.showComposer,s=e.showAttachments,l=e.showComposerFormattingControls,c=_useThreadsSuspense().threads;return React__default.default.createElement(React__default.default.Fragment,null,c.map(function(e){return React__default.default.createElement(Thread,{key:e.id,thread:e,className:"thread",indentCommentContent:t,showActions:n,showDeletedComments:o,showResolveAction:r,showReactions:a,showComposer:i,showAttachments:s,showComposerFormattingControls:l})}),i&&React__default.default.createElement(Composer,{className:"composer"}))},AmisComments=function(e){var t=e.className,n=void 0===t?"m-2 flex flex-col gap-y-2":t,o=e.roomId,r=e.readonly,a=void 0!==r&&r,i=e.indentCommentContent,s=void 0===i||i,l=e.showActions,c=void 0===l?"hover":l,d=e.showDeletedComments,u=e.showResolveAction,f=void 0===u||u,p=e.showReactions,_=void 0===p||p,m=e.showComposer,h=void 0===m?"collapsed":m,g=e.showAttachments,b=void 0===g||g,v=e.showComposerFormattingControls,y=void 0===v||v;return a&&(h=!1,c=!1),React__default.default.createElement(_RoomProvider,{id:o},React__default.default.createElement(ErrorBoundary,{fallback:React__default.default.createElement("div",{className:"error"},"There was an error while getting threads.")},React__default.default.createElement(React.Suspense,{fallback:React__default.default.createElement(Loading,null)},React__default.default.createElement("main",{className:n},React__default.default.createElement(Threads,{indentCommentContent:s,showActions:c,showDeletedComments:d,showResolveAction:f,showReactions:_,showComposer:h,showAttachments:b,showComposerFormattingControls:y})))))};function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=r(e[t]))&&(o&&(o+=" "),o+=n)}else for(n in e)e[n]&&(o&&(o+=" "),o+=n);return o}function clsx(){for(var e,t,n=0,o="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=r(e))&&(o&&(o+=" "),o+=t);return o}var frontend_inbox_empty$1="There aren’t any notifications yet.",frontend_comment_inbox$1="Comment Inbox",frontend_mark_all_read$1="Mark all as read",frontend_delete_all$1="Delete all",frontend_fallback_error$1="There was an error while getting notifications.",frontend_fetch_mention_suggestions_error$1="Problem resolving mention suggestions",frontend_fetch_rooms_info_error$1="Problem resolving rooms info",frontend_fetch_users_error$1="Problem resolving users",en_us$2={frontend_inbox_empty:frontend_inbox_empty$1,frontend_comment_inbox:frontend_comment_inbox$1,frontend_mark_all_read:frontend_mark_all_read$1,frontend_delete_all:frontend_delete_all$1,frontend_fallback_error:frontend_fallback_error$1,frontend_fetch_mention_suggestions_error:frontend_fetch_mention_suggestions_error$1,frontend_fetch_rooms_info_error:frontend_fetch_rooms_info_error$1,frontend_fetch_users_error:frontend_fetch_users_error$1},frontend_inbox_empty="没有通知。",frontend_comment_inbox="评论收件箱",frontend_mark_all_read="全部标记为已读",frontend_delete_all="全部删除",frontend_fallback_error="收到通知时出现错误。",frontend_fetch_mention_suggestions_error="请求提及建议时出现错误。",frontend_fetch_rooms_info_error="请求Rooms信息时出现错误。",frontend_fetch_users_error="请求用户清单时出现错误。",COMPOSER_PLACEHOLDER="写评论...",THREAD_COMPOSER_PLACEHOLDER="回复...",THREAD_COMPOSER_SEND="回复",THREAD_RESOLVE="标记为已解决",THREAD_UNRESOLVE="重新开启讨论",INBOX_NOTIFICATION_THREAD_COMMENTS_LIST__commented="评论",INBOX_NOTIFICATION_THREAD_COMMENTS_LIST__in="于",INBOX_NOTIFICATION_THREAD_COMMENTS_LIST__in_a_thread="于评论栏",INBOX_NOTIFICATION_DELETE="删除通知",INBOX_NOTIFICATION_MORE="更多",COMMENT_EDIT="编辑讨论",COMMENT_EDIT_COMPOSER_PLACEHOLDER="编辑讨论...",COMMENT_DELETE="删除讨论",COMMENT_EDIT_COMPOSER_CANCEL="取消",COMMENT_EDIT_COMPOSER_SAVE="保存",COMMENT_MORE="更多",COMPOSER_INSERT_MENTION="提及某个人",COMPOSER_INSERT_EMOJI="添加表情",COMPOSER_ATTACH_FILES="上传附件",COMMENT_ADD_REACTION="添加表情",COMPOSER_SEND="发送",zh_cn$2={frontend_inbox_empty:frontend_inbox_empty,frontend_comment_inbox:frontend_comment_inbox,frontend_mark_all_read:frontend_mark_all_read,frontend_delete_all:frontend_delete_all,frontend_fallback_error:frontend_fallback_error,frontend_fetch_mention_suggestions_error:frontend_fetch_mention_suggestions_error,frontend_fetch_rooms_info_error:frontend_fetch_rooms_info_error,frontend_fetch_users_error:frontend_fetch_users_error,COMPOSER_PLACEHOLDER:COMPOSER_PLACEHOLDER,THREAD_COMPOSER_PLACEHOLDER:THREAD_COMPOSER_PLACEHOLDER,THREAD_COMPOSER_SEND:THREAD_COMPOSER_SEND,THREAD_RESOLVE:THREAD_RESOLVE,THREAD_UNRESOLVE:THREAD_UNRESOLVE,INBOX_NOTIFICATION_THREAD_COMMENTS_LIST__commented:INBOX_NOTIFICATION_THREAD_COMMENTS_LIST__commented,INBOX_NOTIFICATION_THREAD_COMMENTS_LIST__in:INBOX_NOTIFICATION_THREAD_COMMENTS_LIST__in,INBOX_NOTIFICATION_THREAD_COMMENTS_LIST__in_a_thread:INBOX_NOTIFICATION_THREAD_COMMENTS_LIST__in_a_thread,INBOX_NOTIFICATION_DELETE:INBOX_NOTIFICATION_DELETE,INBOX_NOTIFICATION_MORE:INBOX_NOTIFICATION_MORE,COMMENT_EDIT:COMMENT_EDIT,COMMENT_EDIT_COMPOSER_PLACEHOLDER:COMMENT_EDIT_COMPOSER_PLACEHOLDER,COMMENT_DELETE:COMMENT_DELETE,COMMENT_EDIT_COMPOSER_CANCEL:COMMENT_EDIT_COMPOSER_CANCEL,COMMENT_EDIT_COMPOSER_SAVE:COMMENT_EDIT_COMPOSER_SAVE,COMMENT_MORE:COMMENT_MORE,COMPOSER_INSERT_MENTION:COMPOSER_INSERT_MENTION,COMPOSER_INSERT_EMOJI:COMPOSER_INSERT_EMOJI,COMPOSER_ATTACH_FILES:COMPOSER_ATTACH_FILES,COMMENT_ADD_REACTION:COMMENT_ADD_REACTION,COMPOSER_SEND:COMPOSER_SEND};function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=_typeof(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function toPropertyKey(e){var t=toPrimitive(e,"string");return"symbol"==_typeof(t)?t:t+""}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,toPropertyKey(o.key),o)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _setPrototypeOf(e,t){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},_setPrototypeOf(e,t)}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&_setPrototypeOf(e,t)}function _possibleConstructorReturn(e,t){if(t&&("object"==_typeof(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(e)}function _getPrototypeOf(e){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},_getPrototypeOf(e)}function _defineProperty(e,t,n){return(t=toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _toArray(e){return _arrayWithHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableRest()}function ownKeys$6(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$6(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$6(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$6(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var consoleLogger={type:"logger",log:function(e){this.output("log",e)},warn:function(e){this.output("warn",e)},error:function(e){this.output("error",e)},output:function(e,t){console&&console[e]&&console[e].apply(console,t)}},Logger=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};_classCallCheck(this,e),this.init(t,n)}return _createClass(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||consoleLogger,this.options=t,this.debug=t.debug}},{key:"setDebug",value:function(e){this.debug=e}},{key:"log",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"log","",!0)}},{key:"warn",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","",!0)}},{key:"error",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"error","")}},{key:"deprecate",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(e,t,n,o){return o&&!this.debug?null:("string"==typeof e[0]&&(e[0]="".concat(n).concat(this.prefix," ").concat(e[0])),this.logger[t](e))}},{key:"create",value:function(t){return new e(this.logger,_objectSpread$6(_objectSpread$6({},{prefix:"".concat(this.prefix,":").concat(t,":")}),this.options))}},{key:"clone",value:function(t){return(t=t||this.options).prefix=t.prefix||this.prefix,new e(this.logger,t)}}]),e}(),baseLogger=new Logger,EventEmitter=function(){function e(){_classCallCheck(this,e),this.observers={}}return _createClass(e,[{key:"on",value:function(e,t){var n=this;return e.split(" ").forEach(function(e){n.observers[e]=n.observers[e]||[],n.observers[e].push(t)}),this}},{key:"off",value:function(e,t){this.observers[e]&&(t?this.observers[e]=this.observers[e].filter(function(e){return e!==t}):delete this.observers[e])}},{key:"emit",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];this.observers[e]&&[].concat(this.observers[e]).forEach(function(e){e.apply(void 0,n)});this.observers["*"]&&[].concat(this.observers["*"]).forEach(function(t){t.apply(t,[e].concat(n))})}}]),e}();function defer(){var e,t,n=new Promise(function(n,o){e=n,t=o});return n.resolve=e,n.reject=t,n}function makeString(e){return null==e?"":""+e}function copy(e,t,n){e.forEach(function(e){t[e]&&(n[e]=t[e])})}function getLastOfPath(e,t,n){function o(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function r(){return!e||"string"==typeof e}for(var a="string"!=typeof t?[].concat(t):t.split(".");a.length>1;){if(r())return{};var i=o(a.shift());!e[i]&&n&&(e[i]=new n),e=Object.prototype.hasOwnProperty.call(e,i)?e[i]:{}}return r()?{}:{obj:e,k:o(a.shift())}}function setPath(e,t,n){var o=getLastOfPath(e,t,Object);o.obj[o.k]=n}function pushPath(e,t,n,o){var r=getLastOfPath(e,t,Object),a=r.obj,i=r.k;a[i]=a[i]||[],o&&(a[i]=a[i].concat(n)),o||a[i].push(n)}function getPath(e,t){var n=getLastOfPath(e,t),o=n.obj,r=n.k;if(o)return o[r]}function getPathWithDefaults(e,t,n){var o=getPath(e,n);return void 0!==o?o:getPath(t,n)}function deepExtend(e,t,n){for(var o in t)"__proto__"!==o&&"constructor"!==o&&(o in e?"string"==typeof e[o]||e[o]instanceof String||"string"==typeof t[o]||t[o]instanceof String?n&&(e[o]=t[o]):deepExtend(e[o],t[o],n):e[o]=t[o]);return e}function regexEscape(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var _entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function escape(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,function(e){return _entityMap[e]}):e}var isIE10="undefined"!=typeof window&&window.navigator&&void 0===window.navigator.userAgentData&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,chars=[" ",",","?","!",";"];function looksLikeObjectPath(e,t,n){t=t||"",n=n||"";var o=chars.filter(function(e){return t.indexOf(e)<0&&n.indexOf(e)<0});if(0===o.length)return!0;var r=new RegExp("(".concat(o.map(function(e){return"?"===e?"\\?":e}).join("|"),")")),a=!r.test(e);if(!a){var i=e.indexOf(n);i>0&&!r.test(e.substring(0,i))&&(a=!0)}return a}function deepFind(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(e){if(e[t])return e[t];for(var o=t.split(n),r=e,a=0;a<o.length;++a){if(!r)return;if("string"==typeof r[o[a]]&&a+1<o.length)return;if(void 0===r[o[a]]){for(var i=2,s=o.slice(a,a+i).join(n),l=r[s];void 0===l&&o.length>a+i;)i++,l=r[s=o.slice(a,a+i).join(n)];if(void 0===l)return;if(null===l)return null;if(t.endsWith(s)){if("string"==typeof l)return l;if(s&&"string"==typeof l[s])return l[s]}var c=o.slice(a+i).join(n);return c?deepFind(l,c,n):void 0}r=r[o[a]]}return r}}function ownKeys$5(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$5(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$5(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$5(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _createSuper$3(e){var t=_isNativeReflectConstruct$3();return function(){var n,o=_getPrototypeOf(e);if(t){var r=_getPrototypeOf(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return _possibleConstructorReturn(this,n)}}function _isNativeReflectConstruct$3(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}var ResourceStore=function(e){_inherits(n,e);var t=_createSuper$3(n);function n(e){var o,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return _classCallCheck(this,n),o=t.call(this),isIE10&&EventEmitter.call(_assertThisInitialized(o)),o.data=e||{},o.options=r,void 0===o.options.keySeparator&&(o.options.keySeparator="."),void 0===o.options.ignoreJSONStructure&&(o.options.ignoreJSONStructure=!0),o}return _createClass(n,[{key:"addNamespaces",value:function(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}},{key:"removeNamespaces",value:function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}},{key:"getResource",value:function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,a=void 0!==o.ignoreJSONStructure?o.ignoreJSONStructure:this.options.ignoreJSONStructure,i=[e,t];n&&"string"!=typeof n&&(i=i.concat(n)),n&&"string"==typeof n&&(i=i.concat(r?n.split(r):n)),e.indexOf(".")>-1&&(i=e.split("."));var s=getPath(this.data,i);return s||!a||"string"!=typeof n?s:deepFind(this.data&&this.data[e]&&this.data[e][t],n,r)}},{key:"addResource",value:function(e,t,n,o){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},a=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,i=[e,t];n&&(i=i.concat(a?n.split(a):n)),e.indexOf(".")>-1&&(o=t,t=(i=e.split("."))[1]),this.addNamespaces(t),setPath(this.data,i,o),r.silent||this.emit("added",e,t,n,o)}},{key:"addResources",value:function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var r in n)"string"!=typeof n[r]&&"[object Array]"!==Object.prototype.toString.apply(n[r])||this.addResource(e,t,r,n[r],{silent:!0});o.silent||this.emit("added",e,t,n)}},{key:"addResourceBundle",value:function(e,t,n,o,r){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},i=[e,t];e.indexOf(".")>-1&&(o=n,n=t,t=(i=e.split("."))[1]),this.addNamespaces(t);var s=getPath(this.data,i)||{};o?deepExtend(s,n,r):s=_objectSpread$5(_objectSpread$5({},s),n),setPath(this.data,i,s),a.silent||this.emit("added",e,t,n)}},{key:"removeResourceBundle",value:function(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}},{key:"hasResourceBundle",value:function(e,t){return void 0!==this.getResource(e,t)}},{key:"getResourceBundle",value:function(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?_objectSpread$5(_objectSpread$5({},{}),this.getResource(e,t)):this.getResource(e,t)}},{key:"getDataByLanguage",value:function(e){return this.data[e]}},{key:"hasLanguageSomeTranslations",value:function(e){var t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(function(e){return t[e]&&Object.keys(t[e]).length>0})}},{key:"toJSON",value:function(){return this.data}}]),n}(EventEmitter),postProcessor={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,n,o,r){var a=this;return e.forEach(function(e){a.processors[e]&&(t=a.processors[e].process(t,n,o,r))}),t}};function ownKeys$4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$4(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$4(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$4(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _createSuper$2(e){var t=_isNativeReflectConstruct$2();return function(){var n,o=_getPrototypeOf(e);if(t){var r=_getPrototypeOf(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return _possibleConstructorReturn(this,n)}}function _isNativeReflectConstruct$2(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}var checkedLoadedFor={},Translator=function(e){_inherits(n,e);var t=_createSuper$2(n);function n(e){var o,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _classCallCheck(this,n),o=t.call(this),isIE10&&EventEmitter.call(_assertThisInitialized(o)),copy(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,_assertThisInitialized(o)),o.options=r,void 0===o.options.keySeparator&&(o.options.keySeparator="."),o.logger=baseLogger.create("translator"),o}return _createClass(n,[{key:"changeLanguage",value:function(e){e&&(this.language=e)}},{key:"exists",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;var n=this.resolve(e,t);return n&&void 0!==n.res}},{key:"extractFromKey",value:function(e,t){var n=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===n&&(n=":");var o=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,r=t.ns||this.options.defaultNS||[],a=n&&e.indexOf(n)>-1,i=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||looksLikeObjectPath(e,n,o));if(a&&!i){var s=e.match(this.interpolator.nestingRegexp);if(s&&s.length>0)return{key:e,namespaces:r};var l=e.split(n);(n!==o||n===o&&this.options.ns.indexOf(l[0])>-1)&&(r=l.shift()),e=l.join(o)}return"string"==typeof r&&(r=[r]),{key:e,namespaces:r}}},{key:"translate",value:function(e,t,o){var r=this;if("object"!==_typeof(t)&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"===_typeof(t)&&(t=_objectSpread$4({},t)),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);var a=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,i=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,s=this.extractFromKey(e[e.length-1],t),l=s.key,c=s.namespaces,d=c[c.length-1],u=t.lng||this.language,f=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&"cimode"===u.toLowerCase()){if(f){var p=t.nsSeparator||this.options.nsSeparator;return a?{res:"".concat(d).concat(p).concat(l),usedKey:l,exactUsedKey:l,usedLng:u,usedNS:d}:"".concat(d).concat(p).concat(l)}return a?{res:l,usedKey:l,exactUsedKey:l,usedLng:u,usedNS:d}:l}var _=this.resolve(e,t),m=_&&_.res,h=_&&_.usedKey||l,g=_&&_.exactUsedKey||l,b=Object.prototype.toString.apply(m),v=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject;if(y&&m&&("string"!=typeof m&&"boolean"!=typeof m&&"number"!=typeof m)&&["[object Number]","[object Function]","[object RegExp]"].indexOf(b)<0&&("string"!=typeof v||"[object Array]"!==b)){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var E=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,m,_objectSpread$4(_objectSpread$4({},t),{},{ns:c})):"key '".concat(l," (").concat(this.language,")' returned an object instead of string.");return a?(_.res=E,_):E}if(i){var w="[object Array]"===b,C=w?[]:{},x=w?g:h;for(var R in m)if(Object.prototype.hasOwnProperty.call(m,R)){var S="".concat(x).concat(i).concat(R);C[R]=this.translate(S,_objectSpread$4(_objectSpread$4({},t),{joinArrays:!1,ns:c})),C[R]===S&&(C[R]=m[R])}m=C}}else if(y&&"string"==typeof v&&"[object Array]"===b)(m=m.join(v))&&(m=this.extendTranslation(m,e,t,o));else{var D=!1,T=!1,O=void 0!==t.count&&"string"!=typeof t.count,A=n.hasDefaultValue(t),I=O?this.pluralResolver.getSuffix(u,t.count,t):"",k=t["defaultValue".concat(I)]||t.defaultValue;!this.isValidLookup(m)&&A&&(D=!0,m=k),this.isValidLookup(m)||(T=!0,m=l);var N=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&T?void 0:m,j=A&&k!==m&&this.options.updateMissing;if(T||D||j){if(this.logger.log(j?"updateKey":"missingKey",u,d,l,j?k:m),i){var $=this.resolve(l,_objectSpread$4(_objectSpread$4({},t),{},{keySeparator:!1}));$&&$.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var F=[],P=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&P&&P[0])for(var M=0;M<P.length;M++)F.push(P[M]);else"all"===this.options.saveMissingTo?F=this.languageUtils.toResolveHierarchy(t.lng||this.language):F.push(t.lng||this.language);var B=function(e,n,o){var a=A&&o!==m?o:N;r.options.missingKeyHandler?r.options.missingKeyHandler(e,d,n,a,j,t):r.backendConnector&&r.backendConnector.saveMissing&&r.backendConnector.saveMissing(e,d,n,a,j,t),r.emit("missingKey",e,d,n,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&O?F.forEach(function(e){r.pluralResolver.getSuffixes(e,t).forEach(function(n){B([e],l+n,t["defaultValue".concat(n)]||k)})}):B(F,l,k))}m=this.extendTranslation(m,e,t,_,o),T&&m===l&&this.options.appendNamespaceToMissingKey&&(m="".concat(d,":").concat(l)),(T||D)&&this.options.parseMissingKeyHandler&&(m="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?"".concat(d,":").concat(l):l,D?m:void 0):this.options.parseMissingKeyHandler(m))}return a?(_.res=m,_):m}},{key:"extendTranslation",value:function(e,t,n,o,r){var a=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,_objectSpread$4(_objectSpread$4({},this.options.interpolation.defaultVariables),n),o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init(_objectSpread$4(_objectSpread$4({},n),{interpolation:_objectSpread$4(_objectSpread$4({},this.options.interpolation),n.interpolation)}));var i,s="string"==typeof e&&(n&&n.interpolation&&void 0!==n.interpolation.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);if(s){var l=e.match(this.interpolator.nestingRegexp);i=l&&l.length}var c=n.replace&&"string"!=typeof n.replace?n.replace:n;if(this.options.interpolation.defaultVariables&&(c=_objectSpread$4(_objectSpread$4({},this.options.interpolation.defaultVariables),c)),e=this.interpolator.interpolate(e,c,n.lng||this.language,n),s){var d=e.match(this.interpolator.nestingRegexp);i<(d&&d.length)&&(n.nest=!1)}!n.lng&&"v1"!==this.options.compatibilityAPI&&o&&o.res&&(n.lng=o.usedLng),!1!==n.nest&&(e=this.interpolator.nest(e,function(){for(var e=arguments.length,o=new Array(e),i=0;i<e;i++)o[i]=arguments[i];return r&&r[0]===o[0]&&!n.context?(a.logger.warn("It seems you are nesting recursively key: ".concat(o[0]," in key: ").concat(t[0])),null):a.translate.apply(a,o.concat([t]))},n)),n.interpolation&&this.interpolator.reset()}var u=n.postProcess||this.options.postProcess,f="string"==typeof u?[u]:u;return null!=e&&f&&f.length&&!1!==n.applyPostProcessor&&(e=postProcessor.handle(f,e,t,this.options&&this.options.postProcessPassResolved?_objectSpread$4({i18nResolved:o},n):n,this)),e}},{key:"resolve",value:function(e){var t,n,o,r,a,i=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach(function(e){if(!i.isValidLookup(t)){var l=i.extractFromKey(e,s),c=l.key;n=c;var d=l.namespaces;i.options.fallbackNS&&(d=d.concat(i.options.fallbackNS));var u=void 0!==s.count&&"string"!=typeof s.count,f=u&&!s.ordinal&&0===s.count&&i.pluralResolver.shouldUseIntlApi(),p=void 0!==s.context&&("string"==typeof s.context||"number"==typeof s.context)&&""!==s.context,_=s.lngs?s.lngs:i.languageUtils.toResolveHierarchy(s.lng||i.language,s.fallbackLng);d.forEach(function(e){i.isValidLookup(t)||(a=e,!checkedLoadedFor["".concat(_[0],"-").concat(e)]&&i.utils&&i.utils.hasLoadedNamespace&&!i.utils.hasLoadedNamespace(a)&&(checkedLoadedFor["".concat(_[0],"-").concat(e)]=!0,i.logger.warn('key "'.concat(n,'" for languages "').concat(_.join(", "),'" won\'t get resolved as namespace "').concat(a,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),_.forEach(function(n){if(!i.isValidLookup(t)){r=n;var a,l=[c];if(i.i18nFormat&&i.i18nFormat.addLookupKeys)i.i18nFormat.addLookupKeys(l,c,n,e,s);else{var d;u&&(d=i.pluralResolver.getSuffix(n,s.count,s));var _="".concat(i.options.pluralSeparator,"zero");if(u&&(l.push(c+d),f&&l.push(c+_)),p){var m="".concat(c).concat(i.options.contextSeparator).concat(s.context);l.push(m),u&&(l.push(m+d),f&&l.push(m+_))}}for(;a=l.pop();)i.isValidLookup(t)||(o=a,t=i.getResource(n,e,a,s))}}))})}}),{res:t,usedKey:n,exactUsedKey:o,usedLng:r,usedNS:a}}},{key:"isValidLookup",value:function(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}},{key:"getResource",value:function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,o):this.resourceStore.getResource(e,t,n,o)}}],[{key:"hasDefaultValue",value:function(e){var t="defaultValue";for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t===n.substring(0,12)&&void 0!==e[n])return!0;return!1}}]),n}(EventEmitter);function capitalize(e){return e.charAt(0).toUpperCase()+e.slice(1)}var LanguageUtil=function(){function e(t){_classCallCheck(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=baseLogger.create("languageUtils")}return _createClass(e,[{key:"getScriptPartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return null;var t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}},{key:"getLanguagePartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return e;var t=e.split("-");return this.formatLanguageCode(t[0])}},{key:"formatLanguageCode",value:function(e){if("string"==typeof e&&e.indexOf("-")>-1){var t=["hans","hant","latn","cyrl","cans","mong","arab"],n=e.split("-");return this.options.lowerCaseLng?n=n.map(function(e){return e.toLowerCase()}):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=capitalize(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=capitalize(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=capitalize(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}},{key:"isSupportedCode",value:function(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}},{key:"getBestMatchFromCodes",value:function(e){var t,n=this;return e?(e.forEach(function(e){if(!t){var o=n.formatLanguageCode(e);n.options.supportedLngs&&!n.isSupportedCode(o)||(t=o)}}),!t&&this.options.supportedLngs&&e.forEach(function(e){if(!t){var o=n.getLanguagePartFromCode(e);if(n.isSupportedCode(o))return t=o;t=n.options.supportedLngs.find(function(e){return e===o?e:e.indexOf("-")<0&&o.indexOf("-")<0?void 0:0===e.indexOf(o)?e:void 0})}}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}},{key:"getFallbackCodes",value:function(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];var n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}},{key:"toResolveHierarchy",value:function(e,t){var n=this,o=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],a=function(e){e&&(n.isSupportedCode(e)?r.push(e):n.logger.warn("rejecting language code not found in supportedLngs: ".concat(e)))};return"string"==typeof e&&e.indexOf("-")>-1?("languageOnly"!==this.options.load&&a(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&a(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&a(this.getLanguagePartFromCode(e))):"string"==typeof e&&a(this.formatLanguageCode(e)),o.forEach(function(e){r.indexOf(e)<0&&a(n.formatLanguageCode(e))}),r}}]),e}(),sets=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],_rulesPluralsTypes={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1&&e%100!=11?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}},deprecatedJsonVersions=["v1","v2","v3"],suffixesOrder={zero:0,one:1,two:2,few:3,many:4,other:5};function createRules(){var e={};return sets.forEach(function(t){t.lngs.forEach(function(n){e[n]={numbers:t.nr,plurals:_rulesPluralsTypes[t.fc]}})}),e}var PluralResolver=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};_classCallCheck(this,e),this.languageUtils=t,this.options=n,this.logger=baseLogger.create("pluralResolver"),this.options.compatibilityJSON&&"v4"!==this.options.compatibilityJSON||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=createRules()}return _createClass(e,[{key:"addRule",value:function(e,t){this.rules[e]=t}},{key:"getRule",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(e,{type:t.ordinal?"ordinal":"cardinal"})}catch(e){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}},{key:"needsPlural",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.getRule(e,t);return this.shouldUseIntlApi()?n&&n.resolvedOptions().pluralCategories.length>1:n&&n.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,n).map(function(e){return"".concat(t).concat(e)})}},{key:"getSuffixes",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=this.getRule(e,n);return o?this.shouldUseIntlApi()?o.resolvedOptions().pluralCategories.sort(function(e,t){return suffixesOrder[e]-suffixesOrder[t]}).map(function(e){return"".concat(t.options.prepend).concat(e)}):o.numbers.map(function(o){return t.getSuffix(e,o,n)}):[]}},{key:"getSuffix",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=this.getRule(e,n);return o?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(o.select(t)):this.getSuffixRetroCompatible(o,t):(this.logger.warn("no plural rule found for: ".concat(e)),"")}},{key:"getSuffixRetroCompatible",value:function(e,t){var n=this,o=e.noAbs?e.plurals(t):e.plurals(Math.abs(t)),r=e.numbers[o];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===r?r="plural":1===r&&(r=""));var a=function(){return n.options.prepend&&r.toString()?n.options.prepend+r.toString():r.toString()};return"v1"===this.options.compatibilityJSON?1===r?"":"number"==typeof r?"_plural_".concat(r.toString()):a():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?a():this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString()}},{key:"shouldUseIntlApi",value:function(){return!deprecatedJsonVersions.includes(this.options.compatibilityJSON)}}]),e}();function ownKeys$3(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$3(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$3(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$3(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function deepFindWithDefaults(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=getPathWithDefaults(e,t,n);return!a&&r&&"string"==typeof n&&void 0===(a=deepFind(e,n,o))&&(a=deepFind(t,n,o)),a}var Interpolator=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};_classCallCheck(this,e),this.logger=baseLogger.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(e){return e},this.init(t)}return _createClass(e,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});var t=e.interpolation;this.escape=void 0!==t.escape?t.escape:escape,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?regexEscape(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?regexEscape(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?regexEscape(t.nestingPrefix):t.nestingPrefixEscaped||regexEscape("$t("),this.nestingSuffix=t.nestingSuffix?regexEscape(t.nestingSuffix):t.nestingSuffixEscaped||regexEscape(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var e="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(e,"g");var t="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(t,"g");var n="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(n,"g")}},{key:"interpolate",value:function(e,t,n,o){var r,a,i,s=this,l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function c(e){return e.replace(/\$/g,"$$$$")}var d=function(e){if(e.indexOf(s.formatSeparator)<0){var r=deepFindWithDefaults(t,l,e,s.options.keySeparator,s.options.ignoreJSONStructure);return s.alwaysFormat?s.format(r,void 0,n,_objectSpread$3(_objectSpread$3(_objectSpread$3({},o),t),{},{interpolationkey:e})):r}var a=e.split(s.formatSeparator),i=a.shift().trim(),c=a.join(s.formatSeparator).trim();return s.format(deepFindWithDefaults(t,l,i,s.options.keySeparator,s.options.ignoreJSONStructure),c,n,_objectSpread$3(_objectSpread$3(_objectSpread$3({},o),t),{},{interpolationkey:i}))};this.resetRegExp();var u=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,f=o&&o.interpolation&&void 0!==o.interpolation.skipOnVariables?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:function(e){return c(e)}},{regex:this.regexp,safeValue:function(e){return s.escapeValue?c(s.escape(e)):c(e)}}].forEach(function(t){for(i=0;r=t.regex.exec(e);){var n=r[1].trim();if(void 0===(a=d(n)))if("function"==typeof u){var l=u(e,r,o);a="string"==typeof l?l:""}else if(o&&Object.prototype.hasOwnProperty.call(o,n))a="";else{if(f){a=r[0];continue}s.logger.warn("missed to pass in variable ".concat(n," for interpolating ").concat(e)),a=""}else"string"==typeof a||s.useRawValueToEscape||(a=makeString(a));var c=t.safeValue(a);if(e=e.replace(r[0],c),f?(t.regex.lastIndex+=a.length,t.regex.lastIndex-=r[0].length):t.regex.lastIndex=0,++i>=s.maxReplaces)break}}),e}},{key:"nest",value:function(e,t){var n,o,r,a=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function s(e,t){var n=this.nestingOptionsSeparator;if(e.indexOf(n)<0)return e;var o=e.split(new RegExp("".concat(n,"[ ]*{"))),a="{".concat(o[1]);e=o[0];var i=(a=this.interpolate(a,r)).match(/'/g),s=a.match(/"/g);(i&&i.length%2==0&&!s||s.length%2!=0)&&(a=a.replace(/'/g,'"'));try{r=JSON.parse(a),t&&(r=_objectSpread$3(_objectSpread$3({},t),r))}catch(t){return this.logger.warn("failed parsing options string in nesting for key ".concat(e),t),"".concat(e).concat(n).concat(a)}return delete r.defaultValue,e}for(;n=this.nestingRegexp.exec(e);){var l=[];(r=(r=_objectSpread$3({},i)).replace&&"string"!=typeof r.replace?r.replace:r).applyPostProcessor=!1,delete r.defaultValue;var c=!1;if(-1!==n[0].indexOf(this.formatSeparator)&&!/{.*}/.test(n[1])){var d=n[1].split(this.formatSeparator).map(function(e){return e.trim()});n[1]=d.shift(),l=d,c=!0}if((o=t(s.call(this,n[1].trim(),r),r))&&n[0]===e&&"string"!=typeof o)return o;"string"!=typeof o&&(o=makeString(o)),o||(this.logger.warn("missed to resolve ".concat(n[1]," for nesting ").concat(e)),o=""),c&&(o=l.reduce(function(e,t){return a.format(e,t,i.lng,_objectSpread$3(_objectSpread$3({},i),{},{interpolationkey:n[1].trim()}))},o.trim())),e=e.replace(n[0],o),this.regexp.lastIndex=0}return e}}]),e}();function ownKeys$2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$2(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$2(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function parseFormatStr(e){var t=e.toLowerCase().trim(),n={};if(e.indexOf("(")>-1){var o=e.split("(");t=o[0].toLowerCase().trim();var r=o[1].substring(0,o[1].length-1);if("currency"===t&&r.indexOf(":")<0)n.currency||(n.currency=r.trim());else if("relativetime"===t&&r.indexOf(":")<0)n.range||(n.range=r.trim());else{r.split(";").forEach(function(e){if(e){var t=_toArray(e.split(":")),o=t[0],r=t.slice(1).join(":").trim().replace(/^'+|'+$/g,"");n[o.trim()]||(n[o.trim()]=r),"false"===r&&(n[o.trim()]=!1),"true"===r&&(n[o.trim()]=!0),isNaN(r)||(n[o.trim()]=parseInt(r,10))}})}}return{formatName:t,formatOptions:n}}function createCachedFormatter(e){var t={};return function(n,o,r){var a=o+JSON.stringify(r),i=t[a];return i||(i=e(o,r),t[a]=i),i(n)}}var Formatter=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};_classCallCheck(this,e),this.logger=baseLogger.create("formatter"),this.options=t,this.formats={number:createCachedFormatter(function(e,t){var n=new Intl.NumberFormat(e,_objectSpread$2({},t));return function(e){return n.format(e)}}),currency:createCachedFormatter(function(e,t){var n=new Intl.NumberFormat(e,_objectSpread$2(_objectSpread$2({},t),{},{style:"currency"}));return function(e){return n.format(e)}}),datetime:createCachedFormatter(function(e,t){var n=new Intl.DateTimeFormat(e,_objectSpread$2({},t));return function(e){return n.format(e)}}),relativetime:createCachedFormatter(function(e,t){var n=new Intl.RelativeTimeFormat(e,_objectSpread$2({},t));return function(e){return n.format(e,t.range||"day")}}),list:createCachedFormatter(function(e,t){var n=new Intl.ListFormat(e,_objectSpread$2({},t));return function(e){return n.format(e)}})},this.init(t)}return _createClass(e,[{key:"init",value:function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||","}},{key:"add",value:function(e,t){this.formats[e.toLowerCase().trim()]=t}},{key:"addCached",value:function(e,t){this.formats[e.toLowerCase().trim()]=createCachedFormatter(t)}},{key:"format",value:function(e,t,n){var o=this,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=t.split(this.formatSeparator).reduce(function(e,t){var a=parseFormatStr(t),i=a.formatName,s=a.formatOptions;if(o.formats[i]){var l=e;try{var c=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{},d=c.locale||c.lng||r.locale||r.lng||n;l=o.formats[i](e,d,_objectSpread$2(_objectSpread$2(_objectSpread$2({},s),r),c))}catch(e){o.logger.warn(e)}return l}return o.logger.warn("there was no format function for ".concat(i)),e},e);return a}}]),e}();function ownKeys$1$1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$1$1(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$1$1(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$1$1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _createSuper$1(e){var t=_isNativeReflectConstruct$1();return function(){var n,o=_getPrototypeOf(e);if(t){var r=_getPrototypeOf(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return _possibleConstructorReturn(this,n)}}function _isNativeReflectConstruct$1(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function removePending(e,t){void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)}var Connector=function(e){_inherits(n,e);var t=_createSuper$1(n);function n(e,o,r){var a,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return _classCallCheck(this,n),a=t.call(this),isIE10&&EventEmitter.call(_assertThisInitialized(a)),a.backend=e,a.store=o,a.services=r,a.languageUtils=r.languageUtils,a.options=i,a.logger=baseLogger.create("backendConnector"),a.waitingReads=[],a.maxParallelReads=i.maxParallelReads||10,a.readingCalls=0,a.maxRetries=i.maxRetries>=0?i.maxRetries:5,a.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,a.state={},a.queue=[],a.backend&&a.backend.init&&a.backend.init(r,i.backend,i),a}return _createClass(n,[{key:"queueLoad",value:function(e,t,n,o){var r=this,a={},i={},s={},l={};return e.forEach(function(e){var o=!0;t.forEach(function(t){var s="".concat(e,"|").concat(t);!n.reload&&r.store.hasResourceBundle(e,t)?r.state[s]=2:r.state[s]<0||(1===r.state[s]?void 0===i[s]&&(i[s]=!0):(r.state[s]=1,o=!1,void 0===i[s]&&(i[s]=!0),void 0===a[s]&&(a[s]=!0),void 0===l[t]&&(l[t]=!0)))}),o||(s[e]=!0)}),(Object.keys(a).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:o}),{toLoad:Object.keys(a),pending:Object.keys(i),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(l)}}},{key:"loaded",value:function(e,t,n){var o=e.split("|"),r=o[0],a=o[1];t&&this.emit("failedLoading",r,a,t),n&&this.store.addResourceBundle(r,a,n),this.state[e]=t?-1:2;var i={};this.queue.forEach(function(n){pushPath(n.loaded,[r],a),removePending(n,e),t&&n.errors.push(t),0!==n.pendingCount||n.done||(Object.keys(n.loaded).forEach(function(e){i[e]||(i[e]={});var t=n.loaded[e];t.length&&t.forEach(function(t){void 0===i[e][t]&&(i[e][t]=!0)})}),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())}),this.emit("loaded",i),this.queue=this.queue.filter(function(e){return!e.done})}},{key:"read",value:function(e,t,n){var o=this,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,i=arguments.length>5?arguments[5]:void 0;if(!e.length)return i(null,{});if(this.readingCalls>=this.maxParallelReads)this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:a,callback:i});else{this.readingCalls++;var s=function(s,l){if(o.readingCalls--,o.waitingReads.length>0){var c=o.waitingReads.shift();o.read(c.lng,c.ns,c.fcName,c.tried,c.wait,c.callback)}s&&l&&r<o.maxRetries?setTimeout(function(){o.read.call(o,e,t,n,r+1,2*a,i)},a):i(s,l)},l=this.backend[n].bind(this.backend);if(2!==l.length)return l(e,t,s);try{var c=l(e,t);c&&"function"==typeof c.then?c.then(function(e){return s(null,e)}).catch(s):s(null,c)}catch(e){s(e)}}}},{key:"prepareLoading",value:function(e,t){var n=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);var a=this.queueLoad(e,t,o,r);if(!a.toLoad.length)return a.pending.length||r(),null;a.toLoad.forEach(function(e){n.loadOne(e)})}},{key:"load",value:function(e,t,n){this.prepareLoading(e,t,{},n)}},{key:"reload",value:function(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}},{key:"loadOne",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=e.split("|"),r=o[0],a=o[1];this.read(r,a,"read",void 0,void 0,function(o,i){o&&t.logger.warn("".concat(n,"loading namespace ").concat(a," for language ").concat(r," failed"),o),!o&&i&&t.logger.log("".concat(n,"loaded namespace ").concat(a," for language ").concat(r),i),t.loaded(e,o,i)})}},{key:"saveMissing",value:function(e,t,n,o,r){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:function(){};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn('did not save key "'.concat(n,'" as the namespace "').concat(t,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=n&&""!==n){if(this.backend&&this.backend.create){var s=_objectSpread$1$1(_objectSpread$1$1({},a),{},{isUpdate:r}),l=this.backend.create.bind(this.backend);if(l.length<6)try{var c;(c=5===l.length?l(e,t,n,o,s):l(e,t,n,o))&&"function"==typeof c.then?c.then(function(e){return i(null,e)}).catch(i):i(null,c)}catch(e){i(e)}else l(e,t,n,o,i,s)}e&&e[0]&&this.store.addResource(e[0],t,n,o)}}}]),n}(EventEmitter);function get(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){var t={};if("object"===_typeof(e[1])&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"===_typeof(e[2])||"object"===_typeof(e[3])){var n=e[3]||e[2];Object.keys(n).forEach(function(e){t[e]=n[e]})}return t},interpolation:{escapeValue:!0,format:function(e,t,n,o){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function transformOptions(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function ownKeys$7(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$7(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$7(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$7(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _createSuper(e){var t=_isNativeReflectConstruct();return function(){var n,o=_getPrototypeOf(e);if(t){var r=_getPrototypeOf(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return _possibleConstructorReturn(this,n)}}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function noop(){}function bindMemberFunctions(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(function(t){"function"==typeof e[t]&&(e[t]=e[t].bind(e))})}var I18n=function(e){_inherits(n,e);var t=_createSuper(n);function n(){var e,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;if(_classCallCheck(this,n),e=t.call(this),isIE10&&EventEmitter.call(_assertThisInitialized(e)),e.options=transformOptions(o),e.services={},e.logger=baseLogger,e.modules={external:[]},bindMemberFunctions(_assertThisInitialized(e)),r&&!e.isInitialized&&!o.isClone){if(!e.options.initImmediate)return e.init(o,r),_possibleConstructorReturn(e,_assertThisInitialized(e));setTimeout(function(){e.init(o,r)},0)}return e}return _createClass(n,[{key:"init",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;"function"==typeof t&&(n=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));var o=get();function r(e){return e?"function"==typeof e?new e:e:null}if(this.options=_objectSpread$7(_objectSpread$7(_objectSpread$7({},o),this.options),transformOptions(t)),"v1"!==this.options.compatibilityAPI&&(this.options.interpolation=_objectSpread$7(_objectSpread$7({},o.interpolation),this.options.interpolation)),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),!this.options.isClone){var a;this.modules.logger?baseLogger.init(r(this.modules.logger),this.options):baseLogger.init(null,this.options),this.modules.formatter?a=this.modules.formatter:"undefined"!=typeof Intl&&(a=Formatter);var i=new LanguageUtil(this.options);this.store=new ResourceStore(this.options.resources,this.options);var s=this.services;s.logger=baseLogger,s.resourceStore=this.store,s.languageUtils=i,s.pluralResolver=new PluralResolver(i,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!a||this.options.interpolation.format&&this.options.interpolation.format!==o.interpolation.format||(s.formatter=r(a),s.formatter.init(s,this.options),this.options.interpolation.format=s.formatter.format.bind(s.formatter)),s.interpolator=new Interpolator(this.options),s.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},s.backendConnector=new Connector(r(this.modules.backend),s.resourceStore,s,this.options),s.backendConnector.on("*",function(t){for(var n=arguments.length,o=new Array(n>1?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];e.emit.apply(e,[t].concat(o))}),this.modules.languageDetector&&(s.languageDetector=r(this.modules.languageDetector),s.languageDetector.init&&s.languageDetector.init(s,this.options.detection,this.options)),this.modules.i18nFormat&&(s.i18nFormat=r(this.modules.i18nFormat),s.i18nFormat.init&&s.i18nFormat.init(this)),this.translator=new Translator(this.services,this.options),this.translator.on("*",function(t){for(var n=arguments.length,o=new Array(n>1?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];e.emit.apply(e,[t].concat(o))}),this.modules.external.forEach(function(t){t.init&&t.init(e)})}if(this.format=this.options.interpolation.format,n||(n=noop),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){var l=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);l.length>0&&"dev"!==l[0]&&(this.options.lng=l[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(function(t){e[t]=function(){var n;return(n=e.store)[t].apply(n,arguments)}});["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(function(t){e[t]=function(){var n;return(n=e.store)[t].apply(n,arguments),e}});var c=defer(),d=function(){var t=function(t,o){e.isInitialized&&!e.initializedStoreOnce&&e.logger.warn("init: i18next is already initialized. You should call init just once!"),e.isInitialized=!0,e.options.isClone||e.logger.log("initialized",e.options),e.emit("initialized",e.options),c.resolve(o),n(t,o)};if(e.languages&&"v1"!==e.options.compatibilityAPI&&!e.isInitialized)return t(null,e.t.bind(e));e.changeLanguage(e.options.lng,t)};return this.options.resources||!this.options.initImmediate?d():setTimeout(d,0),c}},{key:"loadResources",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:noop,o="string"==typeof e?e:this.language;if("function"==typeof e&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if(o&&"cimode"===o.toLowerCase())return n();var r=[],a=function(e){e&&t.services.languageUtils.toResolveHierarchy(e).forEach(function(e){r.indexOf(e)<0&&r.push(e)})};if(o)a(o);else this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(function(e){return a(e)});this.options.preload&&this.options.preload.forEach(function(e){return a(e)}),this.services.backendConnector.load(r,this.options.ns,function(e){e||t.resolvedLanguage||!t.language||t.setResolvedLanguage(t.language),n(e)})}else n(null)}},{key:"reloadResources",value:function(e,t,n){var o=defer();return e||(e=this.languages),t||(t=this.options.ns),n||(n=noop),this.services.backendConnector.reload(e,t,function(e){o.resolve(),n(e)}),o}},{key:"use",value:function(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&postProcessor.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"setResolvedLanguage",value:function(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(var t=0;t<this.languages.length;t++){var n=this.languages[t];if(!(["cimode","dev"].indexOf(n)>-1)&&this.store.hasLanguageSomeTranslations(n)){this.resolvedLanguage=n;break}}}},{key:"changeLanguage",value:function(e,t){var n=this;this.isLanguageChangingTo=e;var o=defer();this.emit("languageChanging",e);var r=function(e){n.language=e,n.languages=n.services.languageUtils.toResolveHierarchy(e),n.resolvedLanguage=void 0,n.setResolvedLanguage(e)},a=function(a){e||a||!n.services.languageDetector||(a=[]);var i="string"==typeof a?a:n.services.languageUtils.getBestMatchFromCodes(a);i&&(n.language||r(i),n.translator.language||n.translator.changeLanguage(i),n.services.languageDetector&&n.services.languageDetector.cacheUserLanguage&&n.services.languageDetector.cacheUserLanguage(i)),n.loadResources(i,function(e){!function(e,a){a?(r(a),n.translator.changeLanguage(a),n.isLanguageChangingTo=void 0,n.emit("languageChanged",a),n.logger.log("languageChanged",a)):n.isLanguageChangingTo=void 0,o.resolve(function(){return n.t.apply(n,arguments)}),t&&t(e,function(){return n.t.apply(n,arguments)})}(e,i)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e):a(this.services.languageDetector.detect()),o}},{key:"getFixedT",value:function(e,t,n){var o=this,r=function e(t,r){var a;if("object"!==_typeof(r)){for(var i=arguments.length,s=new Array(i>2?i-2:0),l=2;l<i;l++)s[l-2]=arguments[l];a=o.options.overloadTranslationOptionHandler([t,r].concat(s))}else a=_objectSpread$7({},r);a.lng=a.lng||e.lng,a.lngs=a.lngs||e.lngs,a.ns=a.ns||e.ns,a.keyPrefix=a.keyPrefix||n||e.keyPrefix;var c,d=o.options.keySeparator||".";return c=a.keyPrefix&&Array.isArray(t)?t.map(function(e){return"".concat(a.keyPrefix).concat(d).concat(e)}):a.keyPrefix?"".concat(a.keyPrefix).concat(d).concat(t):t,o.t(c,a)};return"string"==typeof e?r.lng=e:r.lngs=e,r.ns=t,r.keyPrefix=n,r}},{key:"t",value:function(){var e;return this.translator&&(e=this.translator).translate.apply(e,arguments)}},{key:"exists",value:function(){var e;return this.translator&&(e=this.translator).exists.apply(e,arguments)}},{key:"setDefaultNamespace",value:function(e){this.options.defaultNS=e}},{key:"hasLoadedNamespace",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var o=n.lng||this.resolvedLanguage||this.languages[0],r=!!this.options&&this.options.fallbackLng,a=this.languages[this.languages.length-1];if("cimode"===o.toLowerCase())return!0;var i=function(e,n){var o=t.services.backendConnector.state["".concat(e,"|").concat(n)];return-1===o||2===o};if(n.precheck){var s=n.precheck(this,i);if(void 0!==s)return s}return!!this.hasResourceBundle(o,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!i(o,e)||r&&!i(a,e)))}},{key:"loadNamespaces",value:function(e,t){var n=this,o=defer();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach(function(e){n.options.ns.indexOf(e)<0&&n.options.ns.push(e)}),this.loadResources(function(e){o.resolve(),t&&t(e)}),o):(t&&t(),Promise.resolve())}},{key:"loadLanguages",value:function(e,t){var n=defer();"string"==typeof e&&(e=[e]);var o=this.options.preload||[],r=e.filter(function(e){return o.indexOf(e)<0});return r.length?(this.options.preload=o.concat(r),this.loadResources(function(e){n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}},{key:"dir",value:function(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";var t=this.services&&this.services.languageUtils||new LanguageUtil(get());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:noop,r=_objectSpread$7(_objectSpread$7(_objectSpread$7({},this.options),t),{isClone:!0}),a=new n(r);void 0===t.debug&&void 0===t.prefix||(a.logger=a.logger.clone(t));return["store","services","language"].forEach(function(t){a[t]=e[t]}),a.services=_objectSpread$7({},this.services),a.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},a.translator=new Translator(a.services,a.options),a.translator.on("*",function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];a.emit.apply(a,[e].concat(n))}),a.init(r,o),a.translator.options=a.options,a.translator.backendConnector.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},a}},{key:"toJSON",value:function(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}]),n}(EventEmitter);_defineProperty(I18n,"createInstance",function(){return new I18n(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)});var instance=I18n.createInstance();function warn(){if(console&&console.warn){for(var e,t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];"string"==typeof n[0]&&(n[0]="react-i18next:: ".concat(n[0])),(e=console).warn.apply(e,n)}}instance.createInstance=I18n.createInstance,instance.createInstance,instance.dir,instance.init,instance.loadResources,instance.reloadResources,instance.use,instance.changeLanguage,instance.getFixedT,instance.t,instance.exists,instance.setDefaultNamespace,instance.hasLoadedNamespace,instance.loadNamespaces,instance.loadLanguages;var alreadyWarned={};function warnOnce(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];"string"==typeof t[0]&&alreadyWarned[t[0]]||("string"==typeof t[0]&&(alreadyWarned[t[0]]=new Date),warn.apply(void 0,t))}var loadedClb=function(e,t){return function(){if(e.isInitialized)t();else{e.on("initialized",function n(){setTimeout(function(){e.off("initialized",n)},0),t()})}}};function loadNamespaces(e,t,n){e.loadNamespaces(t,loadedClb(e,n))}function loadLanguages(e,t,n,o){"string"==typeof n&&(n=[n]),n.forEach(function(t){e.options.ns.indexOf(t)<0&&e.options.ns.push(t)}),e.loadLanguages(t,loadedClb(e,o))}function oldI18nextHasLoadedNamespace(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=t.languages[0],r=!!t.options&&t.options.fallbackLng,a=t.languages[t.languages.length-1];if("cimode"===o.toLowerCase())return!0;var i=function(e,n){var o=t.services.backendConnector.state["".concat(e,"|").concat(n)];return-1===o||2===o};return!(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!i(t.isLanguageChangingTo,e))&&(!!t.hasResourceBundle(o,e)||(!(t.services.backendConnector.backend&&(!t.options.resources||t.options.partialBundledLanguages))||!(!i(o,e)||r&&!i(a,e))))}function hasLoadedNamespace(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.languages&&t.languages.length?void 0!==t.options.ignoreJSONStructure?t.hasLoadedNamespace(e,{lng:n.lng,precheck:function(t,o){if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!o(t.isLanguageChangingTo,e))return!1}}):oldI18nextHasLoadedNamespace(e,t,n):(warnOnce("i18n.languages were undefined or empty",t.languages),!0)}var matchHtmlEntity=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,htmlEntities={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},unescapeHtmlEntity=function(e){return htmlEntities[e]},unescape=function(e){return e.replace(matchHtmlEntity,unescapeHtmlEntity)};function ownKeys$1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread$1(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$1(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys$1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var defaultOptions={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:unescape},i18nInstance;function setDefaults(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};defaultOptions=_objectSpread$1(_objectSpread$1({},defaultOptions),e)}function getDefaults(){return defaultOptions}function setI18n(e){i18nInstance=e}function getI18n(){return i18nInstance}var initReactI18next={type:"3rdParty",init:function(e){setDefaults(e.options.react),setI18n(e)}},I18nContext=React.createContext(),ReportNamespaces=function(){function e(){_classCallCheck(this,e),this.usedNamespaces={}}return _createClass(e,[{key:"addUsedNamespaces",value:function(e){var t=this;e.forEach(function(e){t.usedNamespaces[e]||(t.usedNamespaces[e]=!0)})}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}]),e}();function _iterableToArrayLimit(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,r,a,i,s=[],l=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(o=a.call(n)).done)&&(s.push(o.value),s.length!==t);l=!0);}catch(e){c=!0,r=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw r}}return s}}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var usePrevious=function(e,t){var n=React.useRef();return React.useEffect(function(){n.current=t?n.current:e},[e,t]),n.current};function useTranslation(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.i18n,o=React.useContext(I18nContext)||{},r=o.i18n,a=o.defaultNS,i=n||r||getI18n();if(i&&!i.reportNamespaces&&(i.reportNamespaces=new ReportNamespaces),!i){warnOnce("You will need to pass in an i18next instance by using initReactI18next");var s=function(e,t){return"string"==typeof t?t:t&&"object"===_typeof(t)&&"string"==typeof t.defaultValue?t.defaultValue:Array.isArray(e)?e[e.length-1]:e},l=[s,{},!1];return l.t=s,l.i18n={},l.ready=!1,l}i.options.react&&void 0!==i.options.react.wait&&warnOnce("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var c=_objectSpread(_objectSpread(_objectSpread({},getDefaults()),i.options.react),t),d=c.useSuspense,u=c.keyPrefix,f=e||a||i.options&&i.options.defaultNS;f="string"==typeof f?[f]:f||["translation"],i.reportNamespaces.addUsedNamespaces&&i.reportNamespaces.addUsedNamespaces(f);var p=(i.isInitialized||i.initializedStoreOnce)&&f.every(function(e){return hasLoadedNamespace(e,i,c)});function _(){return i.getFixedT(t.lng||null,"fallback"===c.nsMode?f:f[0],u)}var m=_slicedToArray(React.useState(_),2),h=m[0],g=m[1],b=f.join();t.lng&&(b="".concat(t.lng).concat(b));var v=usePrevious(b),y=React.useRef(!0);React.useEffect(function(){var e=c.bindI18n,n=c.bindI18nStore;function o(){y.current&&g(_)}return y.current=!0,p||d||(t.lng?loadLanguages(i,t.lng,f,function(){y.current&&g(_)}):loadNamespaces(i,f,function(){y.current&&g(_)})),p&&v&&v!==b&&y.current&&g(_),e&&i&&i.on(e,o),n&&i&&i.store.on(n,o),function(){y.current=!1,e&&i&&e.split(" ").forEach(function(e){return i.off(e,o)}),n&&i&&n.split(" ").forEach(function(e){return i.store.off(e,o)})}},[i,b]);var E=React.useRef(!0);React.useEffect(function(){y.current&&!E.current&&g(_),E.current=!1},[i,u]);var w=[h,i,p];if(w.t=h,w.i18n=i,w.ready=p,p)return w;if(!p&&!d)return w;throw new Promise(function(e){t.lng?loadLanguages(i,t.lng,f,function(){return e()}):loadNamespaces(i,f,function(){return e()})})}var funcProto=Function.prototype,funcToString=funcProto.toString;funcToString.call(Object);const getBuilderContext=()=>"undefined"==typeof window?{}:Builder.settings.context?Builder.settings.context:Builder.settings;async function fetchAPI(e,t={credentials:"include"}){const n={"Content-Type":"application/json"},o=getAuthorization();o&&(n.Authorization=o),t.headers=Object.assign({},n,t.headers),t.credentials="include";const r=await fetch(`${getRootUrl()}${e}`,t);if(401===r.status)throw new Error(401);const a=await r.json();if(a.errors)throw console.error(a.errors),new Error("Failed to fetch API");return a}function getAuthorization(){try{const e=getBuilderContext();let t=e.tenantId,n=e.authToken;return t&&n?`Bearer ${t},${n}`:null}catch(e){console.error(e)}}function getUserId(){try{let e=getBuilderContext().userId;return e||null}catch(e){console.error(e)}}function getRootUrl(e){const t=getBuilderContext();if(t.rootUrl)return t.rootUrl;const n="undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"";return n||(e||"")}const Router={getTabDisplayAs(e,t){var n=new URLSearchParams(document.location.search);if(n.has("display"))return n.get("display");const o=`tab_${e}_display`,r=sessionStorage.getItem(o);let a="grid";return!0===t&&(a="split"),window.innerWidth<=768?"grid":r||a},setTabDisplayAs(e,t){const n=`tab_${e}_display`;sessionStorage.setItem(n,t)},getAppPath:({formFactor:e,appId:t})=>`/app/${t}`,getPagePath(){},getObjectListViewPath:({formFactor:e,appId:t,objectName:n,listViewName:o})=>`/app/${t}/${n}/grid/${o}`,getObjectDetailPath(e){const{formFactor:t,appId:n,objectName:o,recordId:r,listViewName:a,_templateType:i}=e;return"JavaScript"===i?`/app/${n}/${o}/view/${r}?side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>`:`/app/${n}/${o}/view/${r}?side_object=\${objectName}&side_listview_id=\${listName}`},getObjectRelatedViewPath:({formFactor:e,appId:t,masterObjectName:n,masterRecordId:o,objectName:r,foreignKey:a})=>`/app/${t}/${n}/${o}/${r}/grid?related_field_name=${a}`};function getImageFieldUrl(e,t){if(window.Meteor){if(1!=window.Meteor.isCordova){const t=e.indexOf("//"),n=e.indexOf("/",t+2);return e.substring(n)}if(t||e.startsWith("http"))return`${e}?token=${window.btoa(JSON.stringify({authToken:Builder.settings.context.authToken}))}`}return e}function toGrayscale(e,t,n){return.2126*e+.7152*t+.0722*n}function isLight(e,t,n){return toGrayscale(e,t,n)>200}function getContrastColor(e){var t="#"===e.charAt(0)?e.substring(1,7):e;return isLight(parseInt(t.substr(0,2),16),parseInt(t.substr(2,2),16),parseInt(t.substr(4,2),16))?"#000000":"#ffffff"}function getLookupListView(e){if(!e)return null;let t,n;return _.each(e.list_views,(e,o)=>{"all"===o?(t=e,t.name||(t.name=o)):"lookup"===o&&(n=e,n.name||(n.name=o))}),n||t}function getComparableAmisVersion(){let e=window.amisRequire&&window.amisRequire("amis")||window.Amis,t=e&&e.version;if(t){let e=t.split(".");return parseFloat(e[0].toString()+"."+e[1].toString())}}function getBowserType(){const e=navigator.userAgent;return-1!==e.indexOf("Chrome")&&-1!==e.indexOf("Safari")&&-1===e.indexOf("Edg")?"Chrome":-1!==e.indexOf("Firefox")?"Firefox":-1!==e.indexOf("Safari")&&-1===e.indexOf("Chrome")&&-1===e.indexOf("Edge")?"Safari":-1!==e.indexOf("Edg")?"Edge":"Unknown browser"}function getNumberTpl(e){return`<span>\${_display.${e.name}}</span>`}function getTimeTpl(e){return`<span>\${_display.${e.name}}</span>`}function getDateTpl(e){return`<span>\${_display.${e.name}}</span>`}function getDateTimeTpl(e){return`<span>\${_display.${e.name}}</span>`}function getUiFieldTpl(e){return`<span>\${_display.${e.name}}</span>`}function getUiFileSizeTpl(e){return`<span>\${_display.${e.name}}</span>`}async function getRefObjectNameFieldName(e){return(await getUISchema(e.reference_to)).NAME_FIELD_KEY||"name"}function getSelectTpl(e){return`<span>\${_display.${e.name}}</span>`}function getSelectMap(e){let t={};return _$1.forEach(e,e=>{const n=e.value+"",o=e.color+"";if(o&&"undefined"!=o){const r="#"===o.charAt(0)?o:"#"+o,a="background:"+r+";color:"+getContrastColor(r)+";line-height:1.5rem;font-size:14px";t[n]=`<span class="rounded-xl px-2 py-1" style='${a}'>${e.label}</span>`}else t[n]=e.label}),t}function getNameTplUrl(e,t){return Router.getObjectDetailPath({...t,formFactor:t.formFactor,appId:"${appId}",objectName:t.objectName||"${objectName}",recordId:`\${${t.idFieldName}}`})}function getNameTpl(e,t){const n=getNameTplUrl(e,t);let o="";t&&t.isLookup&&(o="target='_blank'");let r=e.name;return"lookup"==e.type||"master_detail"==e.type?!e.reference_to&&(e.optionsFunction||e._optionsFunction||e.options)?e.isTableField||(r=`\${${e.name}__label}`):r=`\${_display.${e.name}.label}`:r=`\${_display.${e.name} || ${e.name}}`,t.isRelated&&window.innerWidth>=768?`<a href="${n}" ${o} onclick="return false;">\${${r} | raw}</a>`:`<a href="${n}" ${o}>\${${r} | raw}</a>`}function getRelatedFieldTpl(e,t){let n="";if(!e.reference_to&&(e.optionsFunction||e._optionsFunction||e.options))return e.isTableField?`\${${e.name}}`:`\${${e.name}__label}`;let o="";t&&t.isLookup&&(o="target='_blank'");const r=t.onlyDisplayLookLabel;let a=`data._display.${e.name}`;if(e.isTableField&&(a=`data.${e.name}`),_.isString(e.reference_to)||!e.reference_to)if(e.multiple){let e="<%=item.label%>";if(t.isRelated&&(o="target='_blank'"),!r){e=`<a href="${Router.getObjectDetailPath({formFactor:t.formFactor,appId:"<%=data.appId%>",objectName:"<%=item.objectName%>",recordId:"<%=item.value%>",_templateType:"JavaScript"})}" ${o}><%=item.label%></a>`}n=`\n <% if (${a} && ${a}.length) { %><% ${a}.forEach(function(item,index) { %> <% if(index>0 && index<${a}.length){ %> , <% } %> ${e} <% }); %><% } %>\n `}else{let a=`\${_display.${e.name}.label}`,i=`\${_display.${e.name}.objectName}`,s=`\${_display.${e.name}.value}`;if(e.isTableField&&(a=`\${${e.name}.label}`,i=`\${${e.name}.objectName}`,s=`\${${e.name}.value}`),!r){const e=Router.getObjectDetailPath({formFactor:t.formFactor,appId:"${appId}",objectName:`${i}`,recordId:`${s}`});a=window.innerWidth>=768?`<a href="${e}" ${o} onclick="return false;">${a}</a>`:`<a href="${e}" ${o}>${a}</a>`}n=a}else{let e="<%=item.label%>";if(!r){e=`<a href="${Router.getObjectDetailPath({formFactor:t.formFactor,appId:"<%=data.appId%>",objectName:"<%=item.objectName%>",recordId:"<%=item.value%>",_templateType:"JavaScript"})}" ${o}><%=item.label%></a>`}n=`\n <% if (${a} && ${a}.length) { %><% ${a}.forEach(function(item) { %> ${e} <% }); %><% } %>\n `}return n}async function getLookupTpl(e,t){if(!e.reference_to)return getSelectTpl(e);const n=await getRefObjectNameFieldName(e);if(e.multiple){const o=Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:e.reference_to,recordId:"<%=item._id%>",_templateType:"JavaScript"});return`\n <% if (data.${e.name} && data.${e.name}.length) { %><% data.${e.name}.forEach(function(item) { %> <a href="${o}"><%=item.${n}%></a> <% }); %><% } %>\n `}return`<a href="${Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:e.reference_to,recordId:`\${${e.name}._id}`})}">\${${e.name}.${n}}</a>`}function getSwitchTpl(e){let t=`data._display.${e.name}`;return e.isTableField&&(t=`data.${e.name}`),`<% if (data.${e.name}) { %>\n <span class="slds-icon_container slds-icon-utility-check slds-current-color" title="<%=${t}%>">\n <span ><%= ${t} === "√" ? "<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-4 h-4'><path stroke-linecap='round' stroke-linejoin='round' d='M4.5 12.75l6 6 9-13.5' /></svg>" : ${t} %></span>\n </span>\n <% } %>`}function getPasswordTpl(e){return`<% if (data.${e.name}) { %>\n <span>******</span>\n <% } %>`}function getLocationTpl(e){return`\${${e.name} ? ${e.name}.address : ''}`}async function getFieldTpl(e,t){if((e.is_name||e.name===t.labelFieldName)&&!t.onlyDisplayLookLabel&&!0!==e.multiple)return getNameTpl(e,t);switch(e.type){case"password":return getPasswordTpl(e);case"boolean":case"toggle":return getSwitchTpl(e);case"select":return getSelectTpl(e);case"time":return getTimeTpl(e);case"date":return getDateTpl(e);case"datetime":return getDateTimeTpl(e);case"lookup":case"master_detail":return await getRelatedFieldTpl(e,t);case"location":return await getLocationTpl(e);case"number":case"currency":return await getNumberTpl(e);case"percent":case"formula":case"summary":return getUiFieldTpl(e);case"filesize":return getUiFileSizeTpl(e)}}async function getFieldsTemplate(e,t,n){let o=[];0!=n&&(n=!0);let r=["_id"];e.datasource&&"default"!==e.datasource&&"meteor"!==e.datasource||r.push("space");let a=[],i=[];i=_$1__namespace.isArray(t)?t:_$1__namespace.values(t);for(const e of i)e.name&&(e.expand?o.push(e):e.name.indexOf(".")<0?(!n||"lookup"!=e.type&&"master_detail"!=e.type?r.push(e.alias?`${e.alias}:${e.name}`:e.name):(r.push(`${e.name}`),a.push(`${e.name}`)),_$1.includes(["time","date","datetime","boolean","number","currency"],e.type)&&r.push(`${e.name}`),_$1.includes(["percent","time","filesize","date","datetime","boolean","number","currency","select","file","image","avatar","formula","summary","object","grid"],e.type)&&a.push(`${e.name}`)):(objectFieldName=e.name.split(".")[0],r.push(objectFieldName),a.push(objectFieldName)));a=_$1__namespace.uniq(a),r=_$1__namespace.uniq(r);let s="";return o.length>0&&_$1__namespace.each(o,function(e){s+=`${e.expandInfo.fieldName}__expand{${e.expandInfo.displayName}}`}),a.length>0?`${r.join(",")},${s},_display:_ui{${a.join(",")}}`:_$1.trimEnd(`${r.join(" ")},${s}`,",")}async function getFindQuery(e,t,n,o){let r=o.limit||10,a=`(top: ${r})`;t&&(a=`(filters:["_id", "=", "${t}"], top: ${r})`);let i="data";o&&(o.alias&&(i=o.alias),o.filters&&(a=`(filters:${o.filters})`),o.queryOptions&&(a=`(${o.queryOptions})`));var s="";e.enable_tree&&_$1__namespace.includes(_$1__namespace.keys(e.fields),"parent")&&_$1__namespace.includes(_$1__namespace.keys(e.fields),"children")&&(s=",parent,children");var l="";"cms_files"===e.name&&(l=",versions");const c=!1===o.count?"":`,count:${e.name}__count(filters:{__filters})`,d=`${await getFieldsTemplate(e,n,o.expand)}${s}${l}`;return{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",queryFields:d,query:`{${i}:${e.name}${a}{${d}}${c}}`}}function getApi$2(e){if(!e)return"${context.rootUrl}/graphql?reload=${additionalFilters|join}&listName=${listName}"}"undefined"!=typeof window&&(window.getImageFieldUrl=getImageFieldUrl);var config={listView:{newRecordMode:"modal",editRecordMode:"modal",perPage:20}};const AmisFormInputs=["text","date","file","avatar","image","datetime","time","number","currency","percent","password","url","color","email"];function getAmisStaticFieldType(e,t,n){return t?_$1__namespace.includes(["text","image","color"],e)?"text"===e&&n&&n.amis&&n.amis.tpl?"static":"image"===e&&n&&n.multiple?"static-images":`static-${e}`:"url"===e?"input-url":"static":_$1__namespace.includes(AmisFormInputs,e)?`input-${e}`:"location"===e?"location-picker":e}let pageCache={};async function getPage({type:e,pageId:t="",appId:n,objectName:o="",recordId:r="",formFactor:a="LARGE"}){const i=`/api/pageSchema/${e}?app=${n}&objectApiName=${o}&recordId=${r}&pageId=${t}&formFactor=${a}`;if(_$1.has(pageCache,i))return pageCache[i];const s=await fetchAPI(i);if(s&&s.schema)return s.schema=JSON.parse(s.schema),s.schema.data&&(delete s.schema.data.recordId,delete s.schema.data.objectName,delete s.schema.data.context,delete s.schema.data.global),pageCache[i]=s,JSON.parse(JSON.stringify(s));pageCache[i]=null}const getFileTableName=e=>{switch(e.type){case"avatar":return"avatars";case"image":return"images";case"file":return"files"}},getAmisFieldType$1=(e,t)=>getAmisStaticFieldType("avatar"===e.type?"image":e.type,t,{multiple:e.multiple});async function getLookupLinkOnClick(e,t){const n=await getPage({type:"record",appId:t.appId,objectName:t.objectName,formFactor:t.formFactor}),o=n?Object.assign({},n.schema,{recordId:"file"==e.type?"${value}":`\${${e.name}}`,data:{...n.schema.data,_inDrawer:!0,recordLoaded:!1,objectName:t.objectName}}):{type:"steedos-record-detail",objectApiName:t.objectName,recordId:"file"==e.type?"${value}":`\${${e.name}}`,showBackButton:!1,showButtons:!0,data:{_inDrawer:!0,recordLoaded:!1}};return{click:{actions:[{actionType:"drawer",drawer:{type:"drawer",title:" ",headerClassName:"hidden",size:"lg",width:window.drawerWidth||"70%",bodyClassName:"p-0 m-0 bg-gray-100",closeOnEsc:!0,closeOnOutside:!0,resizable:!0,actions:[],body:[o],className:"steedos-record-detail-drawer app-popover"},preventDefault:!0}]}}}const getAmisFileReadonlySchema=async(e,t={})=>{const n=e.type,{appId:o,formFactor:r}=t.amisData||{},a=getAmisFieldType$1(e,!0);let i='onclick="return false;"';return window.innerWidth<768&&(i=""),_.includes(["avatar","image"],n)?{type:a,defaultImage:"",enlargeAble:!0,showToolbar:!0}:"file"===n?window.Meteor?.isCordova?{type:"control",body:e.multiple?{type:"each",name:"_display."+e.name,items:{type:"tpl",tpl:"${name}",className:"antd-Button--link inline-block mr-2",onEvent:{click:{actions:[{script:"\n Steedos.cordovaDownload(encodeURI(event.data.url), event.data.name);\n ",actionType:"custom"}],weight:0}}}}:{type:"tpl",tpl:"${_display."+e.name+".name}",className:"antd-Button--link inline-block",onEvent:{click:{actions:[{script:`\n const data = event.data._display.${e.name};\n Steedos.cordovaDownload(encodeURI(data.url), data.name);\n `,actionType:"custom"}],weight:0}}}}:{type:"control",name:"",body:{type:"each",placeholder:"",className:e.multiple?"flex flex-col":"",source:`\${${e.name}|asArray}`,items:{type:"static",labelClassName:"hidden",label:!1,className:"m-0",tpl:`<a href="/app/-/cfs_files_filerecord/view/\${value}" ${i}>\${name}</a>`,onEvent:window.innerWidth<768?null:await getLookupLinkOnClick(e,{appId:o,objectName:"cfs_files_filerecord",formFactor:r})}}}:void 0},getAmisFileEditSchema=e=>{const t=getFileTableName(e);let n={type:getAmisFieldType$1(e,!1),useChunk:!1,receiver:{method:"post",dataType:"form-data",url:`\${context.rootUrl}/api/v6/files/cfs.${t}.filerecord`,requestAdaptor:"\n const superData = (typeof context != 'undefined') ? context : api.body; \n const { _master, global } = superData;\n // const { recordId, objectName } = _master;\n const { spaceId, userId, user } = global;\n /*\n record_id: recordId,\n parent: recordId,\n object_name: objectName,\n owner_name: user.name,\n space: spaceId,\n owner: userId\n */\n // 参考platform 2.2版本,附件字段保存时cfs.files.filerecord、cfs.images.filerecord表中的metadata下只保存space、owner两个属性值。\n api.data.append('space', spaceId);\n api.data.append('owner', userId);\n\n return api;\n ",adaptor:`\n const superData = (typeof context != 'undefined') ? context : api.body; \n const { context:pageContext } = superData; \n var rootUrl = pageContext.rootUrl + "/api/v6/files/download/cfs.${t}.filerecord/";\n payload = {\n status: response.status == 200 ? 0 : response.status,\n msg: response.statusText,\n data: {\n value: payload._id,\n name: payload.original.name,\n url: rootUrl + payload._id + "/" + payload.original.name,\n }\n }\n return payload;\n `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return e.multiple&&(n.multiple=!0,n.joinValues=!1,n.extractValue=!0,"image"===e.type&&Steedos.isCordova()&&Steedos.isCordova()&&(n.accept="")),n},getAmisFileSchema=async(e,t,n)=>t?await getAmisFileReadonlySchema(e,n):getAmisFileEditSchema(e);var frontend_field_group_generalization$1="General",frontend_download$1="Download",frontend_form_save$1="Save",frontend_form_save_and_new$1="Save and New",frontend_form_cancel$1="Cancel",frontend_form_reset$1="Reset",frontend_form_new$1="New",frontend_form_edit$1="Edit",frontend_form_preview$1="Preview",frontend_form_select$1="Select",frontend_form_please_select$1="Please select",frontend_form_confirm$1="Confirm",frontend_form_delete$1="Delete",frontend_form_view$1="view",frontend_form_details$1="Details",frontend_form_validation_failed_url$1="The URL format is incorrect",frontend_delete_confirm_text$1="Are you sure you want to delete this item?",frontend_delete_many_selected_required$1="Please select the item to be deleted",frontend_delete_many_confirm_text$1="Are you sure you want to delete?",frontend_display_type_is_table$1="Table",frontend_display_type_is_split$1="Split View",frontend_display_as$1="Displayed as",frontend_record_sum$1="items",frontend_button_reload_tooltip$1="Refresh",frontend_button_search_tooltip$1="Filter",frontend_fields_filter_button_search$1="Search",frontend_fields_filter_button_settings$1="Set search options",frontend_button_listview_control_tooltip$1="List View Controls",frontend_button_listview_control_label$1="LIST VIEW CONTROLS",frontend_listview_control_columns$1="Show List",frontend_listview_control_columns_mobile_group$1="Mobile side",frontend_listview_control_clone_label$1="Clone",frontend_listview_control_clone_title$1="Clone List View",frontend_listview_control_clone_defaultData_label_start$1="Copy of",frontend_listview_control_clone_defaultData_label_end$1="",frontend_listview_control_delete_label$1="Delete",frontend_listview_control_delete_confirm_text$1="If you delete this list view it will be permanently removed for all users with access. Are you sure you want to delete?",frontend_listview_control_delete_message_success$1="Deletion successful",frontend_listview_control_filters$1="Filter settings",frontend_listview_control_filters_fields_extend$1="Conditional component 1",frontend_listview_control_new_label$1="New",frontend_listview_control_new_title$1="New List View",frontend_listview_control_new_message_success$1="Success",frontend_listview_control_new_message_failed$1="Failure",frontend_listview_control_rename_label$1="Rename",frontend_listview_control_rename_title$1="Rename List View",frontend_listview_control_share$1="Sharing Settings",frontend_listview_control_sort$1="Default sorting rule",frontend_export_excel$1="Export Excel",frontend_export_excel_toast$1="Exporting, please wait",frontend_operation$1="Operation",frontend_import_data$1="Import data",frontend_import_data_object_name$1="Import object",frontend_import_data_queue_import$1="Data import",frontend_import_data_queue_import_description$1="Import description",frontend_import_data_queue_import_encoding$1="Character code",frontend_import_data_queue_import_template_url$1="Import template",frontend_import_data_file$1="Excel file",frontend_import_data_message_success$1="Importing has started...",frontend_import_data_message_failed$1="Import failed",frontend_record_detail_tab_detailed$1="Details",frontend_record_detail_tab_related$1="Related",frontend_all_apps$1="All apps",frontend_all_projects$1="All projects",frontend_open_app_launcher$1="Open App Launcher",frontend_application_launcher$1="Application launcher",frontend_menu$1="Menu",frontend_help$1="Help",frontend_setup$1="Setup",frontend_notifications$1="Notifications",frontend_notifications_allread$1="Mark all as read",frontend_notifications_allread_message$1="All marked as read",frontend_notifications_close_dialog$1="Close",frontend_profile$1="Profile",switch_space$1="Switch Space",frontend_about$1="About",frontend_log_out$1="Log out",frontend_listview_warning_start$1="The current ",frontend_listview_warning_end$1=" view does not exist!",frontend_record_detail_related_list_warning$1="Missing parent object, parent record, or related list object property!",frontend_record_detail_related_lists_warning$1="Missing parent object, or parent record property!",frontend_record_detail_related_lists_info$1="No related child tables found",frontend_calendar_listWeek$1="List",frontend_message_no_permission_to_edit$1="You don't have permission to edit this record!",frontend_message_modification_successful$1="Modification successful!",frontend_message_modification_failed$1="Modification failed!",frontend_objects_related_alert_start$1="No related table fields associated with the related list object",frontend_objects_related_alert_end$1="were found.",frontend_no_records_found$1="No records found.",frontend_records_no_allowedit$1="You do not have edit permission for this record",frontend_app_menu_save_order_group_nesting_error$1="Group nesting is not supported",frontend_menu_new_object$1="New Object",frontend_menu_view_object$1="View Object",frontend_menu_new_micro_page$1="New Micro Page",frontend_menu_edit_micro_page$1="Edit Micro Page",frontend_menu_new_url$1="New URL link",frontend_menu_edit_url$1="Edit URL link",frontend_menu_add_existing_tabs$1="Add existing Tabs",frontend_menu_edit_tab$1="Edit Tab",frontend_menu_delete_tab$1="Delete Tab",frontend_menu_new_group$1="New Group",frontend_menu_edit_group$1="Edit Group",frontend_menu_delete_group$1="Delete Group",frontend_menu_move_group$1="Move Group",frontend_menu_dialog_move_group$1="Move to another Group",frontend_menu_group_none_children$1="none menu",frontend_menu_edit_app$1="Edit App",frontend_menu_dialog_name_placeholder$1="Unique identifier",frontend_menu_tabs_group_name_label$1="Name",frontend_menu_tabs_group_name_placeholder$1="Group Name",frontend_menu_tabs_group_default_open_label$1="Whether to expand by default",frontend_button_delete_confirm_text$1="Are you sure you want to delete it?",frontend_app_launcher_button_more$1="More",frontend_app_launcher_button_new_app$1="+ New App",frontend_app_launcher_dialog_new_app_title$1="New App",frontend_app_launcher_dialog_new_app_code_label$1="App ID",frontend_app_launcher_dialog_new_app_name_label$1="Label",frontend_app_launcher_dialog_new_app_icon_label$1="Icon",frontend_crud_toolbar_quick_search_placeholder$1="Quick Search",frontend_crud_toolbar_quick_search_tooltip_prefix$1="Searchable fields:",frontend_lookup_left_tree_search_organizations$1="Search for organizations",frontend_input_table_button_new$1="New",frontend_input_table_button_new_tooltip$1="Save and add a new line, that is, save the current line data and add a new blank line",frontend_input_table_button_copy$1="Copy",frontend_input_table_button_copy_tooltip$1="Copy and add a new row, that is, save the current row data and copy the current row data to the new row",frontend_input_table_button_delete$1="Delete",frontend_input_table_button_confirm$1="Done",frontend_input_table_dialog_title_suffix$1="Details",frontend_workflow_instances_applicant_name_prefix$1="Applicant name:",frontend_workflow_instance_submit_date_prefix$1="Submission date:",frontend_workflow_approval_judge_returned$1="Returned",frontend_workflow_approval_judge_terminated$1="Cancelled",frontend_workflow_approval_judge_pending$1="In Progress",frontend_workflow_approval_judge_approved$1="Approved",frontend_workflow_approval_judge_rejected$1="Rejected",frontend_workflow_approval_judge_finished$1="Completed",frontend_workflow_approval_judge_reassigned$1="Reassigned",frontend_workflow_approval_judge_inhand$1="In Progress",frontend_workflow_approval_judge_relocated$1="Relocate",frontend_workflow_approval_judge_readed$1="Read",frontend_workflow_approval_suggestion_readed$1="Read",frontend_workflow_approval_suggestion_completed$1="Done",frontend_workflow_approval_suggestion_agree$1="Agree",frontend_workflow_approval_suggestion_other$1="Select opinions",frontend_workflow_suggestion_placeholder$1="Please fill in your comments.",frontend_workflow_instance_button_sign$1="Sign",frontend_workflow_approval_history$1="Approval History",frontend_workflow_approval_history_read$1="Read",frontend_workflow_approval_history_unprocessed$1="Unprocessed",frontend_workflow_attachment$1="Attachment",frontend_workflow_attachment_upload$1="Upload",frontend_workflow_attachment_upload_success$1="Uploaded successfully",frontend_workflow_related_file$1="Related File",frontend_workflow_judge_option_approved$1="Approved",frontend_workflow_judge_option_rejected$1="Rejected",frontend_workflow_judge_option_readed$1="Readed",frontend_workflow_next_step$1="Next Step",frontend_workflow_next_users$1="To",frontend_workflow_submit_validate_error_title$1="Submission failed",frontend_workflow_submit_validate_error_msg$1="Please fill in the required fields",frontend_workflow_related_records_link_title$1="Related Records",frontend_formula_variables_tab_form_fields$1="Form Fields",frontend_formula_variables_tab_form_global$1="Global Variables",frontend_formula_variables_global_userId$1="User ID",frontend_formula_variables_global_spaceId$1="Space ID",frontend_formula_variables_global_user_roles$1="Permission Set",frontend_formula_variables_global_user_spaceUserId$1="Space User ID",frontend_formula_variables_global_user_is_space_admin$1="Is Space Admin",en_us$1={frontend_field_group_generalization:frontend_field_group_generalization$1,frontend_download:frontend_download$1,frontend_form_save:frontend_form_save$1,frontend_form_save_and_new:frontend_form_save_and_new$1,frontend_form_cancel:frontend_form_cancel$1,frontend_form_reset:frontend_form_reset$1,frontend_form_new:frontend_form_new$1,frontend_form_edit:frontend_form_edit$1,frontend_form_preview:frontend_form_preview$1,frontend_form_select:frontend_form_select$1,frontend_form_please_select:frontend_form_please_select$1,frontend_form_confirm:frontend_form_confirm$1,frontend_form_delete:frontend_form_delete$1,frontend_form_view:frontend_form_view$1,frontend_form_details:frontend_form_details$1,frontend_form_validation_failed_url:frontend_form_validation_failed_url$1,frontend_delete_confirm_text:frontend_delete_confirm_text$1,frontend_delete_many_selected_required:frontend_delete_many_selected_required$1,frontend_delete_many_confirm_text:frontend_delete_many_confirm_text$1,frontend_display_type_is_table:frontend_display_type_is_table$1,frontend_display_type_is_split:frontend_display_type_is_split$1,frontend_display_as:frontend_display_as$1,frontend_record_sum:frontend_record_sum$1,frontend_button_reload_tooltip:frontend_button_reload_tooltip$1,frontend_button_search_tooltip:frontend_button_search_tooltip$1,frontend_fields_filter_button_search:frontend_fields_filter_button_search$1,frontend_fields_filter_button_settings:frontend_fields_filter_button_settings$1,frontend_button_listview_control_tooltip:frontend_button_listview_control_tooltip$1,frontend_button_listview_control_label:frontend_button_listview_control_label$1,frontend_listview_control_columns:frontend_listview_control_columns$1,frontend_listview_control_columns_mobile_group:frontend_listview_control_columns_mobile_group$1,frontend_listview_control_clone_label:frontend_listview_control_clone_label$1,frontend_listview_control_clone_title:frontend_listview_control_clone_title$1,frontend_listview_control_clone_defaultData_label_start:frontend_listview_control_clone_defaultData_label_start$1,frontend_listview_control_clone_defaultData_label_end:frontend_listview_control_clone_defaultData_label_end$1,frontend_listview_control_delete_label:frontend_listview_control_delete_label$1,frontend_listview_control_delete_confirm_text:frontend_listview_control_delete_confirm_text$1,frontend_listview_control_delete_message_success:frontend_listview_control_delete_message_success$1,frontend_listview_control_filters:frontend_listview_control_filters$1,frontend_listview_control_filters_fields_extend:frontend_listview_control_filters_fields_extend$1,frontend_listview_control_new_label:frontend_listview_control_new_label$1,frontend_listview_control_new_title:frontend_listview_control_new_title$1,frontend_listview_control_new_message_success:frontend_listview_control_new_message_success$1,frontend_listview_control_new_message_failed:frontend_listview_control_new_message_failed$1,frontend_listview_control_rename_label:frontend_listview_control_rename_label$1,frontend_listview_control_rename_title:frontend_listview_control_rename_title$1,frontend_listview_control_share:frontend_listview_control_share$1,frontend_listview_control_sort:frontend_listview_control_sort$1,frontend_export_excel:frontend_export_excel$1,frontend_export_excel_toast:frontend_export_excel_toast$1,frontend_operation:frontend_operation$1,frontend_import_data:frontend_import_data$1,frontend_import_data_object_name:frontend_import_data_object_name$1,frontend_import_data_queue_import:frontend_import_data_queue_import$1,frontend_import_data_queue_import_description:frontend_import_data_queue_import_description$1,frontend_import_data_queue_import_encoding:frontend_import_data_queue_import_encoding$1,frontend_import_data_queue_import_template_url:frontend_import_data_queue_import_template_url$1,frontend_import_data_file:frontend_import_data_file$1,frontend_import_data_message_success:frontend_import_data_message_success$1,frontend_import_data_message_failed:frontend_import_data_message_failed$1,frontend_record_detail_tab_detailed:frontend_record_detail_tab_detailed$1,frontend_record_detail_tab_related:frontend_record_detail_tab_related$1,frontend_all_apps:frontend_all_apps$1,frontend_all_projects:frontend_all_projects$1,frontend_open_app_launcher:frontend_open_app_launcher$1,frontend_application_launcher:frontend_application_launcher$1,frontend_menu:frontend_menu$1,frontend_help:frontend_help$1,frontend_setup:frontend_setup$1,frontend_notifications:frontend_notifications$1,frontend_notifications_allread:frontend_notifications_allread$1,frontend_notifications_allread_message:frontend_notifications_allread_message$1,frontend_notifications_close_dialog:frontend_notifications_close_dialog$1,frontend_profile:frontend_profile$1,switch_space:switch_space$1,frontend_about:frontend_about$1,frontend_log_out:frontend_log_out$1,frontend_listview_warning_start:frontend_listview_warning_start$1,frontend_listview_warning_end:frontend_listview_warning_end$1,frontend_record_detail_related_list_warning:frontend_record_detail_related_list_warning$1,frontend_record_detail_related_lists_warning:frontend_record_detail_related_lists_warning$1,frontend_record_detail_related_lists_info:frontend_record_detail_related_lists_info$1,frontend_calendar_listWeek:frontend_calendar_listWeek$1,frontend_message_no_permission_to_edit:frontend_message_no_permission_to_edit$1,frontend_message_modification_successful:frontend_message_modification_successful$1,frontend_message_modification_failed:frontend_message_modification_failed$1,frontend_objects_related_alert_start:frontend_objects_related_alert_start$1,frontend_objects_related_alert_end:frontend_objects_related_alert_end$1,frontend_no_records_found:frontend_no_records_found$1,frontend_records_no_allowedit:frontend_records_no_allowedit$1,frontend_app_menu_save_order_group_nesting_error:frontend_app_menu_save_order_group_nesting_error$1,frontend_menu_new_object:frontend_menu_new_object$1,frontend_menu_view_object:frontend_menu_view_object$1,frontend_menu_new_micro_page:frontend_menu_new_micro_page$1,frontend_menu_edit_micro_page:frontend_menu_edit_micro_page$1,frontend_menu_new_url:frontend_menu_new_url$1,frontend_menu_edit_url:frontend_menu_edit_url$1,frontend_menu_add_existing_tabs:frontend_menu_add_existing_tabs$1,frontend_menu_edit_tab:frontend_menu_edit_tab$1,frontend_menu_delete_tab:frontend_menu_delete_tab$1,frontend_menu_new_group:frontend_menu_new_group$1,frontend_menu_edit_group:frontend_menu_edit_group$1,frontend_menu_delete_group:frontend_menu_delete_group$1,frontend_menu_move_group:frontend_menu_move_group$1,frontend_menu_dialog_move_group:frontend_menu_dialog_move_group$1,frontend_menu_group_none_children:frontend_menu_group_none_children$1,frontend_menu_edit_app:frontend_menu_edit_app$1,frontend_menu_dialog_name_placeholder:frontend_menu_dialog_name_placeholder$1,frontend_menu_tabs_group_name_label:frontend_menu_tabs_group_name_label$1,frontend_menu_tabs_group_name_placeholder:frontend_menu_tabs_group_name_placeholder$1,frontend_menu_tabs_group_default_open_label:frontend_menu_tabs_group_default_open_label$1,frontend_button_delete_confirm_text:frontend_button_delete_confirm_text$1,frontend_app_launcher_button_more:frontend_app_launcher_button_more$1,frontend_app_launcher_button_new_app:frontend_app_launcher_button_new_app$1,frontend_app_launcher_dialog_new_app_title:frontend_app_launcher_dialog_new_app_title$1,frontend_app_launcher_dialog_new_app_code_label:frontend_app_launcher_dialog_new_app_code_label$1,frontend_app_launcher_dialog_new_app_name_label:frontend_app_launcher_dialog_new_app_name_label$1,frontend_app_launcher_dialog_new_app_icon_label:frontend_app_launcher_dialog_new_app_icon_label$1,frontend_crud_toolbar_quick_search_placeholder:frontend_crud_toolbar_quick_search_placeholder$1,frontend_crud_toolbar_quick_search_tooltip_prefix:frontend_crud_toolbar_quick_search_tooltip_prefix$1,frontend_lookup_left_tree_search_organizations:frontend_lookup_left_tree_search_organizations$1,frontend_input_table_button_new:frontend_input_table_button_new$1,frontend_input_table_button_new_tooltip:frontend_input_table_button_new_tooltip$1,frontend_input_table_button_copy:frontend_input_table_button_copy$1,frontend_input_table_button_copy_tooltip:frontend_input_table_button_copy_tooltip$1,frontend_input_table_button_delete:frontend_input_table_button_delete$1,frontend_input_table_button_confirm:frontend_input_table_button_confirm$1,frontend_input_table_dialog_title_suffix:frontend_input_table_dialog_title_suffix$1,frontend_workflow_instances_applicant_name_prefix:frontend_workflow_instances_applicant_name_prefix$1,frontend_workflow_instance_submit_date_prefix:frontend_workflow_instance_submit_date_prefix$1,frontend_workflow_approval_judge_returned:frontend_workflow_approval_judge_returned$1,frontend_workflow_approval_judge_terminated:frontend_workflow_approval_judge_terminated$1,frontend_workflow_approval_judge_pending:frontend_workflow_approval_judge_pending$1,frontend_workflow_approval_judge_approved:frontend_workflow_approval_judge_approved$1,frontend_workflow_approval_judge_rejected:frontend_workflow_approval_judge_rejected$1,frontend_workflow_approval_judge_finished:frontend_workflow_approval_judge_finished$1,frontend_workflow_approval_judge_reassigned:frontend_workflow_approval_judge_reassigned$1,frontend_workflow_approval_judge_inhand:frontend_workflow_approval_judge_inhand$1,frontend_workflow_approval_judge_relocated:frontend_workflow_approval_judge_relocated$1,frontend_workflow_approval_judge_readed:frontend_workflow_approval_judge_readed$1,frontend_workflow_approval_suggestion_readed:frontend_workflow_approval_suggestion_readed$1,frontend_workflow_approval_suggestion_completed:frontend_workflow_approval_suggestion_completed$1,frontend_workflow_approval_suggestion_agree:frontend_workflow_approval_suggestion_agree$1,frontend_workflow_approval_suggestion_other:frontend_workflow_approval_suggestion_other$1,frontend_workflow_suggestion_placeholder:frontend_workflow_suggestion_placeholder$1,frontend_workflow_instance_button_sign:frontend_workflow_instance_button_sign$1,frontend_workflow_approval_history:frontend_workflow_approval_history$1,frontend_workflow_approval_history_read:frontend_workflow_approval_history_read$1,frontend_workflow_approval_history_unprocessed:frontend_workflow_approval_history_unprocessed$1,frontend_workflow_attachment:frontend_workflow_attachment$1,frontend_workflow_attachment_upload:frontend_workflow_attachment_upload$1,frontend_workflow_attachment_upload_success:frontend_workflow_attachment_upload_success$1,frontend_workflow_related_file:frontend_workflow_related_file$1,frontend_workflow_judge_option_approved:frontend_workflow_judge_option_approved$1,frontend_workflow_judge_option_rejected:frontend_workflow_judge_option_rejected$1,frontend_workflow_judge_option_readed:frontend_workflow_judge_option_readed$1,frontend_workflow_next_step:frontend_workflow_next_step$1,frontend_workflow_next_users:frontend_workflow_next_users$1,frontend_workflow_submit_validate_error_title:frontend_workflow_submit_validate_error_title$1,frontend_workflow_submit_validate_error_msg:frontend_workflow_submit_validate_error_msg$1,frontend_workflow_related_records_link_title:frontend_workflow_related_records_link_title$1,frontend_formula_variables_tab_form_fields:frontend_formula_variables_tab_form_fields$1,frontend_formula_variables_tab_form_global:frontend_formula_variables_tab_form_global$1,frontend_formula_variables_global_userId:frontend_formula_variables_global_userId$1,frontend_formula_variables_global_spaceId:frontend_formula_variables_global_spaceId$1,frontend_formula_variables_global_user_roles:frontend_formula_variables_global_user_roles$1,frontend_formula_variables_global_user_spaceUserId:frontend_formula_variables_global_user_spaceUserId$1,frontend_formula_variables_global_user_is_space_admin:frontend_formula_variables_global_user_is_space_admin$1},frontend_field_group_generalization="通用",frontend_download="下载",frontend_form_save="保存",frontend_form_save_and_new="保存并新建",frontend_form_cancel="取消",frontend_form_reset="重置",frontend_form_new="新建",frontend_form_edit="编辑",frontend_form_preview="预览",frontend_form_select="选择",frontend_form_please_select="请选择",frontend_form_confirm="确认",frontend_form_delete="删除",frontend_form_view="查看",frontend_form_details="详情",frontend_form_validation_failed_url="URL 格式不正确",frontend_delete_confirm_text="确定要删除此项目?",frontend_delete_many_selected_required="请选择要删除的项",frontend_delete_many_confirm_text="确定要删除吗?",frontend_display_type_is_table="表格",frontend_display_type_is_split="分栏视图",frontend_display_as="显示为",frontend_record_sum="个项目",frontend_button_reload_tooltip="刷新",frontend_button_search_tooltip="筛选",frontend_fields_filter_button_search="搜索",frontend_fields_filter_button_settings="选择搜索项",frontend_button_listview_control_tooltip="列表视图控制",frontend_button_listview_control_label="列表视图控制",frontend_listview_control_columns="显示的列",frontend_listview_control_columns_mobile_group="手机端",frontend_listview_control_clone="复制",frontend_listview_control_clone_label="复制",frontend_listview_control_clone_title="复制 列表视图",frontend_listview_control_clone_defaultData_label_start="",frontend_listview_control_clone_defaultData_label_end="的副本",frontend_listview_control_delete_label="删除",frontend_listview_control_delete_confirm_text="如果您删除此列表视图,该视图将为所有具备访问权限的用户永久删除。是否确定要删除?",frontend_listview_control_delete_message_success="删除成功",frontend_listview_control_filters="过滤设置",frontend_listview_control_filters_fields_extend="条件组件",frontend_listview_control_new_label="新建",frontend_listview_control_new_title="新建 列表视图",frontend_listview_control_new_message_success="成功",frontend_listview_control_new_message_failed="失败",frontend_listview_control_rename_label="重命名",frontend_listview_control_rename_title="重命名 列表视图",frontend_listview_control_share="共享设置",frontend_listview_control_sort="默认排序规则",frontend_export_excel="导出",frontend_export_excel_toast="正在导出,请稍后...",frontend_operation="操作",frontend_import_data="导入数据",frontend_import_data_object_name="导入对象",frontend_import_data_queue_import="数据导入",frontend_import_data_queue_import_description="导入描述",frontend_import_data_queue_import_encoding="字符代码",frontend_import_data_queue_import_template_url="导入模板",frontend_import_data_file="Excel文件",frontend_import_data_message_success="已开始导入...",frontend_import_data_message_failed="导入失败",frontend_record_detail_tab_detailed="详细",frontend_record_detail_tab_related="相关",frontend_all_apps="所有应用",frontend_all_projects="所有项目",frontend_open_app_launcher="打开应用程序启动器",frontend_application_launcher="应用程序启动器",frontend_menu="菜单",frontend_help="帮助",frontend_setup="设置",frontend_notifications="通知",frontend_notifications_allread="全部标记为已读",frontend_notifications_allread_message="已全部标记为已读",frontend_notifications_close_dialog="关闭",frontend_profile="个人资料",switch_space="切换工作区",frontend_about="关于",frontend_log_out="注销",frontend_listview_warning_start="当前",frontend_listview_warning_end="视图不存在!",frontend_record_detail_related_list_warning="缺少父级对象、父级记录或相关列表对象属性!",frontend_record_detail_related_lists_warning="缺少父级对象或父级记录属性!",frontend_record_detail_related_lists_info="没有相关子表",frontend_calendar_listWeek="列表",frontend_message_no_permission_to_edit="您没有编辑该记录的权限!",frontend_message_modification_successful="修改成功!",frontend_message_modification_failed="修改失败!",frontend_objects_related_alert_start="未找到与相关列表对象",frontend_objects_related_alert_end="关联的相关表字段",frontend_no_records_found="无法找到记录",frontend_records_no_allowedit="您对这条记录没有编辑权限",frontend_app_menu_save_order_group_nesting_error="不支持分组嵌套",frontend_menu_new_object="新建对象",frontend_menu_view_object="查看对象",frontend_menu_new_micro_page="新建微页面",frontend_menu_edit_micro_page="编辑微页面",frontend_menu_new_url="新建外部链接",frontend_menu_edit_url="编辑外部链接",frontend_menu_add_existing_tabs="添加现有选项卡",frontend_menu_edit_tab="编辑选项卡",frontend_menu_delete_tab="删除选项卡",frontend_menu_new_group="新建分组",frontend_menu_edit_group="编辑分组",frontend_menu_delete_group="删除分组",frontend_menu_move_group="移动分组",frontend_menu_dialog_move_group="移动到指定分组",frontend_menu_group_none_children="无菜单",frontend_menu_edit_app="编辑应用",frontend_menu_dialog_name_placeholder="唯一标识",frontend_menu_tabs_group_name_label="名称",frontend_menu_tabs_group_name_placeholder="分组名称",frontend_menu_tabs_group_default_open_label="是否默认展开",frontend_button_delete_confirm_text="确定要删除吗?",frontend_app_launcher_button_more="更多",frontend_app_launcher_button_new_app="+ 新建应用",frontend_app_launcher_dialog_new_app_title="新建应用",frontend_app_launcher_dialog_new_app_code_label="应用唯一标识",frontend_app_launcher_dialog_new_app_name_label="显示名称",frontend_app_launcher_dialog_new_app_icon_label="图标",frontend_crud_toolbar_quick_search_placeholder="快捷搜索",frontend_crud_toolbar_quick_search_tooltip_prefix="可搜索字段:",frontend_lookup_left_tree_search_organizations="查找部门",frontend_input_table_button_new="新增",frontend_input_table_button_new_tooltip="保存并新增一行,即保存当前行数据并新增一条空白行",frontend_input_table_button_copy="复制",frontend_input_table_button_copy_tooltip="复制并新增一行,即保存当前行数据并复制当前行数据到新增行",frontend_input_table_button_delete="删除",frontend_input_table_button_confirm="完成",frontend_input_table_dialog_title_suffix="明细",frontend_workflow_instances_applicant_name_prefix="提交人:",frontend_workflow_instance_submit_date_prefix="提交日期:",frontend_workflow_approval_judge_returned="已退回",frontend_workflow_approval_judge_terminated="被取回",frontend_workflow_approval_judge_pending="审核中",frontend_workflow_approval_judge_approved="已核准",frontend_workflow_approval_judge_rejected="已驳回",frontend_workflow_approval_judge_finished="已完成",frontend_workflow_approval_judge_reassigned="转签核",frontend_workflow_approval_judge_inhand="处理中",frontend_workflow_approval_judge_relocated="重定位",frontend_workflow_approval_judge_readed="已阅",frontend_workflow_approval_suggestion_readed="已阅",frontend_workflow_approval_suggestion_completed="已办",frontend_workflow_approval_suggestion_agree="同意",frontend_workflow_approval_suggestion_other="其他常用意见",frontend_workflow_suggestion_placeholder="请填写意见",frontend_workflow_instance_button_sign="签批",frontend_workflow_approval_history="签批历程",frontend_workflow_approval_history_read="已读",frontend_workflow_approval_history_unprocessed="未处理",frontend_workflow_attachment="附件",frontend_workflow_attachment_upload="上传",frontend_workflow_attachment_upload_success="上传成功",frontend_workflow_related_file="相关文件",frontend_workflow_judge_option_approved="核准",frontend_workflow_judge_option_rejected="驳回",frontend_workflow_judge_option_readed="已阅",frontend_workflow_next_step="下一步",frontend_workflow_next_users="处理人",frontend_workflow_submit_validate_error_title="提交失败",frontend_workflow_submit_validate_error_msg="请填写必填字段",frontend_workflow_related_records_link_title="相关台账信息",frontend_formula_variables_tab_form_fields="表单字段",frontend_formula_variables_tab_form_global="全局变量",frontend_formula_variables_global_userId="用户ID",frontend_formula_variables_global_spaceId="工作区ID",frontend_formula_variables_global_user_roles="权限集",frontend_formula_variables_global_user_spaceUserId="人员ID",frontend_formula_variables_global_user_is_space_admin="是否工作区管理员",zh_cn$1={frontend_field_group_generalization:frontend_field_group_generalization,frontend_download:frontend_download,frontend_form_save:frontend_form_save,frontend_form_save_and_new:frontend_form_save_and_new,frontend_form_cancel:frontend_form_cancel,frontend_form_reset:frontend_form_reset,frontend_form_new:frontend_form_new,frontend_form_edit:frontend_form_edit,frontend_form_preview:frontend_form_preview,frontend_form_select:frontend_form_select,frontend_form_please_select:frontend_form_please_select,frontend_form_confirm:frontend_form_confirm,frontend_form_delete:frontend_form_delete,frontend_form_view:frontend_form_view,frontend_form_details:frontend_form_details,frontend_form_validation_failed_url:frontend_form_validation_failed_url,frontend_delete_confirm_text:frontend_delete_confirm_text,frontend_delete_many_selected_required:frontend_delete_many_selected_required,frontend_delete_many_confirm_text:frontend_delete_many_confirm_text,frontend_display_type_is_table:frontend_display_type_is_table,frontend_display_type_is_split:frontend_display_type_is_split,frontend_display_as:frontend_display_as,frontend_record_sum:frontend_record_sum,frontend_button_reload_tooltip:frontend_button_reload_tooltip,frontend_button_search_tooltip:frontend_button_search_tooltip,frontend_fields_filter_button_search:frontend_fields_filter_button_search,frontend_fields_filter_button_settings:frontend_fields_filter_button_settings,frontend_button_listview_control_tooltip:frontend_button_listview_control_tooltip,frontend_button_listview_control_label:frontend_button_listview_control_label,frontend_listview_control_columns:frontend_listview_control_columns,frontend_listview_control_columns_mobile_group:frontend_listview_control_columns_mobile_group,frontend_listview_control_clone:frontend_listview_control_clone,frontend_listview_control_clone_label:frontend_listview_control_clone_label,frontend_listview_control_clone_title:frontend_listview_control_clone_title,frontend_listview_control_clone_defaultData_label_start:frontend_listview_control_clone_defaultData_label_start,frontend_listview_control_clone_defaultData_label_end:frontend_listview_control_clone_defaultData_label_end,frontend_listview_control_delete_label:frontend_listview_control_delete_label,frontend_listview_control_delete_confirm_text:frontend_listview_control_delete_confirm_text,frontend_listview_control_delete_message_success:frontend_listview_control_delete_message_success,frontend_listview_control_filters:frontend_listview_control_filters,frontend_listview_control_filters_fields_extend:frontend_listview_control_filters_fields_extend,frontend_listview_control_new_label:frontend_listview_control_new_label,frontend_listview_control_new_title:frontend_listview_control_new_title,frontend_listview_control_new_message_success:frontend_listview_control_new_message_success,frontend_listview_control_new_message_failed:frontend_listview_control_new_message_failed,frontend_listview_control_rename_label:frontend_listview_control_rename_label,frontend_listview_control_rename_title:frontend_listview_control_rename_title,frontend_listview_control_share:frontend_listview_control_share,frontend_listview_control_sort:frontend_listview_control_sort,frontend_export_excel:frontend_export_excel,frontend_export_excel_toast:frontend_export_excel_toast,frontend_operation:frontend_operation,frontend_import_data:frontend_import_data,frontend_import_data_object_name:frontend_import_data_object_name,frontend_import_data_queue_import:frontend_import_data_queue_import,frontend_import_data_queue_import_description:frontend_import_data_queue_import_description,frontend_import_data_queue_import_encoding:frontend_import_data_queue_import_encoding,frontend_import_data_queue_import_template_url:frontend_import_data_queue_import_template_url,frontend_import_data_file:frontend_import_data_file,frontend_import_data_message_success:frontend_import_data_message_success,frontend_import_data_message_failed:frontend_import_data_message_failed,frontend_record_detail_tab_detailed:frontend_record_detail_tab_detailed,frontend_record_detail_tab_related:frontend_record_detail_tab_related,frontend_all_apps:frontend_all_apps,frontend_all_projects:frontend_all_projects,frontend_open_app_launcher:frontend_open_app_launcher,frontend_application_launcher:frontend_application_launcher,frontend_menu:frontend_menu,frontend_help:frontend_help,frontend_setup:frontend_setup,frontend_notifications:frontend_notifications,frontend_notifications_allread:frontend_notifications_allread,frontend_notifications_allread_message:frontend_notifications_allread_message,frontend_notifications_close_dialog:frontend_notifications_close_dialog,frontend_profile:frontend_profile,switch_space:switch_space,frontend_about:frontend_about,frontend_log_out:frontend_log_out,frontend_listview_warning_start:frontend_listview_warning_start,frontend_listview_warning_end:frontend_listview_warning_end,frontend_record_detail_related_list_warning:frontend_record_detail_related_list_warning,frontend_record_detail_related_lists_warning:frontend_record_detail_related_lists_warning,frontend_record_detail_related_lists_info:frontend_record_detail_related_lists_info,frontend_calendar_listWeek:frontend_calendar_listWeek,frontend_message_no_permission_to_edit:frontend_message_no_permission_to_edit,frontend_message_modification_successful:frontend_message_modification_successful,frontend_message_modification_failed:frontend_message_modification_failed,frontend_objects_related_alert_start:frontend_objects_related_alert_start,frontend_objects_related_alert_end:frontend_objects_related_alert_end,frontend_no_records_found:frontend_no_records_found,frontend_records_no_allowedit:frontend_records_no_allowedit,frontend_app_menu_save_order_group_nesting_error:frontend_app_menu_save_order_group_nesting_error,frontend_menu_new_object:frontend_menu_new_object,frontend_menu_view_object:frontend_menu_view_object,frontend_menu_new_micro_page:frontend_menu_new_micro_page,frontend_menu_edit_micro_page:frontend_menu_edit_micro_page,frontend_menu_new_url:frontend_menu_new_url,frontend_menu_edit_url:frontend_menu_edit_url,frontend_menu_add_existing_tabs:frontend_menu_add_existing_tabs,frontend_menu_edit_tab:frontend_menu_edit_tab,frontend_menu_delete_tab:frontend_menu_delete_tab,frontend_menu_new_group:frontend_menu_new_group,frontend_menu_edit_group:frontend_menu_edit_group,frontend_menu_delete_group:frontend_menu_delete_group,frontend_menu_move_group:frontend_menu_move_group,frontend_menu_dialog_move_group:frontend_menu_dialog_move_group,frontend_menu_group_none_children:frontend_menu_group_none_children,frontend_menu_edit_app:frontend_menu_edit_app,frontend_menu_dialog_name_placeholder:frontend_menu_dialog_name_placeholder,frontend_menu_tabs_group_name_label:frontend_menu_tabs_group_name_label,frontend_menu_tabs_group_name_placeholder:frontend_menu_tabs_group_name_placeholder,frontend_menu_tabs_group_default_open_label:frontend_menu_tabs_group_default_open_label,frontend_button_delete_confirm_text:frontend_button_delete_confirm_text,frontend_app_launcher_button_more:frontend_app_launcher_button_more,frontend_app_launcher_button_new_app:frontend_app_launcher_button_new_app,frontend_app_launcher_dialog_new_app_title:frontend_app_launcher_dialog_new_app_title,frontend_app_launcher_dialog_new_app_code_label:frontend_app_launcher_dialog_new_app_code_label,frontend_app_launcher_dialog_new_app_name_label:frontend_app_launcher_dialog_new_app_name_label,frontend_app_launcher_dialog_new_app_icon_label:frontend_app_launcher_dialog_new_app_icon_label,frontend_crud_toolbar_quick_search_placeholder:frontend_crud_toolbar_quick_search_placeholder,frontend_crud_toolbar_quick_search_tooltip_prefix:frontend_crud_toolbar_quick_search_tooltip_prefix,frontend_lookup_left_tree_search_organizations:frontend_lookup_left_tree_search_organizations,frontend_input_table_button_new:frontend_input_table_button_new,frontend_input_table_button_new_tooltip:frontend_input_table_button_new_tooltip,frontend_input_table_button_copy:frontend_input_table_button_copy,frontend_input_table_button_copy_tooltip:frontend_input_table_button_copy_tooltip,frontend_input_table_button_delete:frontend_input_table_button_delete,frontend_input_table_button_confirm:frontend_input_table_button_confirm,frontend_input_table_dialog_title_suffix:frontend_input_table_dialog_title_suffix,frontend_workflow_instances_applicant_name_prefix:frontend_workflow_instances_applicant_name_prefix,frontend_workflow_instance_submit_date_prefix:frontend_workflow_instance_submit_date_prefix,frontend_workflow_approval_judge_returned:frontend_workflow_approval_judge_returned,frontend_workflow_approval_judge_terminated:frontend_workflow_approval_judge_terminated,frontend_workflow_approval_judge_pending:frontend_workflow_approval_judge_pending,frontend_workflow_approval_judge_approved:frontend_workflow_approval_judge_approved,frontend_workflow_approval_judge_rejected:frontend_workflow_approval_judge_rejected,frontend_workflow_approval_judge_finished:frontend_workflow_approval_judge_finished,frontend_workflow_approval_judge_reassigned:frontend_workflow_approval_judge_reassigned,frontend_workflow_approval_judge_inhand:frontend_workflow_approval_judge_inhand,frontend_workflow_approval_judge_relocated:frontend_workflow_approval_judge_relocated,frontend_workflow_approval_judge_readed:frontend_workflow_approval_judge_readed,frontend_workflow_approval_suggestion_readed:frontend_workflow_approval_suggestion_readed,frontend_workflow_approval_suggestion_completed:frontend_workflow_approval_suggestion_completed,frontend_workflow_approval_suggestion_agree:frontend_workflow_approval_suggestion_agree,frontend_workflow_approval_suggestion_other:frontend_workflow_approval_suggestion_other,frontend_workflow_suggestion_placeholder:frontend_workflow_suggestion_placeholder,frontend_workflow_instance_button_sign:frontend_workflow_instance_button_sign,frontend_workflow_approval_history:frontend_workflow_approval_history,frontend_workflow_approval_history_read:frontend_workflow_approval_history_read,frontend_workflow_approval_history_unprocessed:frontend_workflow_approval_history_unprocessed,frontend_workflow_attachment:frontend_workflow_attachment,frontend_workflow_attachment_upload:frontend_workflow_attachment_upload,frontend_workflow_attachment_upload_success:frontend_workflow_attachment_upload_success,frontend_workflow_related_file:frontend_workflow_related_file,frontend_workflow_judge_option_approved:frontend_workflow_judge_option_approved,frontend_workflow_judge_option_rejected:frontend_workflow_judge_option_rejected,frontend_workflow_judge_option_readed:frontend_workflow_judge_option_readed,frontend_workflow_next_step:frontend_workflow_next_step,frontend_workflow_next_users:frontend_workflow_next_users,frontend_workflow_submit_validate_error_title:frontend_workflow_submit_validate_error_title,frontend_workflow_submit_validate_error_msg:frontend_workflow_submit_validate_error_msg,frontend_workflow_related_records_link_title:frontend_workflow_related_records_link_title,frontend_formula_variables_tab_form_fields:frontend_formula_variables_tab_form_fields,frontend_formula_variables_tab_form_global:frontend_formula_variables_tab_form_global,frontend_formula_variables_global_userId:frontend_formula_variables_global_userId,frontend_formula_variables_global_spaceId:frontend_formula_variables_global_spaceId,frontend_formula_variables_global_user_roles:frontend_formula_variables_global_user_roles,frontend_formula_variables_global_user_spaceUserId:frontend_formula_variables_global_user_spaceUserId,frontend_formula_variables_global_user_is_space_admin:frontend_formula_variables_global_user_is_space_admin},hidden$1="hidden",formula_hidden$1="New or edit invisible",sfield_group$1="Steedos Cube",sfield_tab_group$1="Fields",sfield_text$1="Text",sfield_textarea$1="Textarea",sfield_html$1="HTML",sfield_code$1="Code",sfield_markdown$1="Markdown",sfield_select$1="Select",sfield_color$1="Color",sfield_boolean$1="Checkbox",sfield_toggle$1="Toggle",sfield_date$1="Date",sfield_datetime$1="Datetime",sfield_time$1="Time",sfield_number$1="Number",sfield_currency$1="Currency",sfield_percent$1="Percent",sfield_password$1="Password",sfield_lookup$1="Lookup",sfield_master_detail$1="Master/Detail",sfield_autonumber$1="Autonumber",sfield_url$1="URL",sfield_email$1="Email",sfield_location$1="Geolocation",sfield_image$1="Image",sfield_file$1="File",sfield_formula$1="Formula",sfield_summary$1="Rollup Summary",sfield_table$1="Table",sfield_settings_panel_title$1="Settings",sfield_control_advanced$1="Advanced",sfield_control_general$1="General",sfield_control_field_type$1="Field Type",sfield_control_display_name$1="Display Name",sfield_control_api_name$1="API Name",sfield_control_api_name_description$1="API names can only contain lowercase letters, numbers, must start with a letter, and cannot end with an underscore or have two consecutive underscore characters.",sfield_control_required$1="Required",sfield_control_wide_field$1="Wide Field",sfield_control_allow_modify_number$1="Allow Modify Number",sfield_control_textarea_rows$1="Textarea Rows",sfield_control_language$1="Language",sfield_control_multiple_select$1="Multiple Select",sfield_control_multiple_select_remark$1="Switch between single and multiple select; please resubmit existing records or uniformly modify this field's storage format in the database.",sfield_control_data_type$1="Data Type",sfield_control_data_type_remark$1="Data type must be filled when the field type is formula.",sfield_control_select_options$1="Options",sfield_control_select_options_remark$1="Each option's display name and value cannot be empty; set background color in hex format like ffffff.",sfield_control_option_label$1="Label",sfield_control_option_value$1="Value",sfield_control_option_color$1="Color",sfield_control_option_description$1="Description",sfield_control_option_operation$1="Operation",sfield_control_precision$1="Precision",sfield_control_precision_remark$1="Number of digits to the left of the decimal point.",sfield_control_scale$1="Scale",sfield_control_scale_remark$1="For percentage fields, represents the number of decimal places displayed, e.g., two decimal places will show as 10.20%.",sfield_control_formula$1="Formula (formula)",sfield_control_formula_remark$1="Must be filled when the field type is autonumber or formula.",sfield_control_show_as_qr$1="Show as QR Code",sfield_control_coordinates_type$1="Coordinates Type",sfield_control_formula_blank_value$1="Treat Blank Fields",sfield_control_formula_blank_value_remark$1="Specify how to process formula output when referenced number and currency fields are blank.",sfield_control_zero_as_blank$1="Treat blank fields as zeros",sfield_control_blanks_as_blank$1="Treat blank fields as blank",sfield_control_reference_object$1="Reference Object",sfield_control_summary_object$1="Summary Object",sfield_control_summary_object_remark$1="Must be filled when the field type is rollup summary.",sfield_control_summary_type$1="Summary Type",sfield_control_summary_type_remark$1="Must be filled when the field type is rollup summary.",sfield_control_summary_field$1="Summary Field",sfield_control_summary_field_remark$1="Must be filled for rollup summary fields when the summary type is not COUNT; supports aggregating number, currency, date, datetime fields only.",sfield_control_description$1="Description",sfield_control_deleted_lookup_record_behavior$1="What happens if related record is deleted?",sfield_control_clear_value$1="Clear the value of this field. If you have made this field required, you cannot choose this option.",sfield_control_retain_related_record$1="Do not allow deletion of 'related records that are part of a relationship chart'.",sfield_control_write_requires_master_read$1="Allows editing of child records when the user has read access to the master record",sfield_control_write_requires_master_read_remark$1="Specifies the minimum access level required to create, edit, or delete child records from a master record. This is applicable to Master/Detail types only. Checking this allows users with 'Read' access to create, edit, or delete child records. Otherwise, 'Read/Write' access is required.",sfield_control_form$1="Form",sfield_control_input_type$1="Input Type",sfield_control_input_array$1="Input Array (input-array)",sfield_control_button_toolbar$1="Button Toolbar (button-toolbar)",sfield_control_button_group_select$1="Button Group Select (button-group-select)",sfield_control_chained_select$1="Chained Select (chained-select)",sfield_control_checkbox$1="Checkbox (checkbox)",sfield_control_checkboxes$1="Checkboxes (checkboxes)",sfield_control_input_city$1="Input City (input-city)",sfield_control_input_color$1="Input Color (input-color)",sfield_control_combo$1="Combo (combo)",sfield_control_condition_builder$1="Condition Builder (condition-builder)",sfield_control_input_date$1="Input Date (input-date)",sfield_control_input_datetime$1="Input Datetime (input-datetime)",sfield_control_input_month$1="Input Month (input-month)",sfield_control_input_date_range$1="Input Date Range (input-date-range)",sfield_control_input_datetime_range$1="Input Datetime Range (input-datetime-range)",sfield_control_input_month_range$1="Input Month Range (input-month-range)",sfield_control_input_kv$1="Input KV (input-kv)",sfield_control_input_kvs$1="Input KVS (input-kvs)",sfield_control_input_formula$1="Input Formula (input-formula)",sfield_control_diff_editor$1="Diff Editor (diff-editor)",sfield_control_editor$1="Editor (editor)",sfield_control_input_excel$1="Input Excel (input-excel)",sfield_control_input_file$1="Input File (input-file)",sfield_control_group$1="Group (group)",sfield_control_hidden$1="Hidden (hidden)",sfield_control_input_image$1="Input Image (input-image)",sfield_control_input_group$1="Input Group (input-group)",sfield_control_list_select$1="List Select (list-select)",sfield_control_location_picker$1="Location Picker (location-picker)",sfield_control_uuid$1="UUID",sfield_control_matrix_checkboxes$1="Matrix Checkboxes (matrix-checkboxes)",sfield_control_nested_select$1="Nested Select (nested-select)",sfield_control_input_number$1="Input Number (input-number)",sfield_control_input_password$1="Input Password (input-password)",sfield_control_picker$1="Picker (picker)",sfield_control_input_quarter$1="Input Quarter (input-quarter)",sfield_control_input_quarter_range$1="Input Quarter Range (input-quarter-range)",sfield_control_radio$1="Radio (radio)",sfield_control_radios$1="Radios (radios)",sfield_control_chart_radios$1="Chart Radios (chart-radios)",sfield_control_input_rating$1="Input Rating (input-rating)",sfield_control_input_range$1="Input Range (input-range)",sfield_control_input_repeat$1="Input Repeat (input-repeat)",sfield_control_input_rich_text$1="Input Rich Text (input-rich-text)",sfield_control_select$1="Select (select)",sfield_control_input_sub_form$1="Input Sub Form (input-sub-form)",sfield_control_switch$1="Switch (switch)",sfield_control_static$1="Static Display (static)",sfield_control_input_table$1="Input Table (input-table)",sfield_control_input_tag$1="Input Tag (input-tag)",sfield_control_input_text$1="Input Text (input-text)",sfield_control_textarea$1="Textarea (textarea)",sfield_control_input_time$1="Input Time (input-time)",sfield_control_input_time_range$1="Input Time Range (input-time-range)",sfield_control_transfer$1="Transfer (transfer)",sfield_control_transfer_picker$1="Transfer Picker (transfer-picker)",sfield_control_tabs_transfer$1="Tabs Transfer (tabs-transfer)",sfield_control_tabs_transfer_picker$1="Tabs Transfer Picker (tabs-transfer-picker)",sfield_control_input_tree$1="Input Tree (input-tree)",sfield_control_tree_select$1="Tree Select (tree-select)",sfield_control_input_year$1="Input Year (input-year)",sfield_control_input_year_range$1="Input Year Range (input-year-range)",sfield_control_json_schema$1="JSON Schema (json-schema)",sfield_control_json_schema_editor$1="JSON Schema Editor (json-schema-editor)",sfield_control_input_signature$1="Input Signature (input-signature)",sfield_control_input_verification_code$1="Input Verification Code (input-verification-code)",sfield_control_visible_on$1="Visibility Formula",sfield_control_readonly$1="Read-Only",sfield_control_readonly_remark$1="Read-only fields are not displayed in the form; data will not be submitted to the server.",sfield_control_static_remark$1="Static fields are displayed in the form, users cannot edit them, but values can be dynamically assigned.",sfield_control_inline_help_text$1="Help Text",sfield_control_enable_enhanced_lookup$1="Enhanced Lookup",sfield_control_enable_enhanced_lookup_remark$1="Use a popup to select records when referenced by other fields.",sfield_control_create_allowance$1="Allow Creation in Popup",sfield_control_depend_on$1="Dependency Fields",sfield_control_depend_on_remark$1="Changes in dependent fields trigger recalculation of the current field",sfield_control_enable_thousands$1="Show Thousands Separator",sfield_control_filters$1="Lookup Relationship Filters Condition",sfield_control_filters_remark$1="When the field type is Lookup Relationship or Master Detail Relationship, filtering conditions can be configured for the field, filtering option list; The field values can be configured as formulas, and the fields referenced in the formulas need to be configured in Dependent Fields at the same time",sfield_control_create_unique_index$1="Create Unique Index",sfield_control_create_unique_index_remark$1="Performed once every day at midnight; existing indexes are not recreated.",sfield_control_filterable$1="Enable quick search on the list page",sfield_control_default_filter_field$1="Default Filter Field",sfield_control_sortable$1="Sortable",sfield_control_create_index$1="Create Index",sfield_control_create_index_remark$1="Performed once every day at midnight; existing indexes are not recreated.",sfield_control_name_field$1="Name Field",sfield_control_foreign_key_field$1="Foreign Key Field",sfield_control_foreign_key_field_remark$1="Associated object's data stored in the current object's field. For instance, if object A relates to object B, and A1 relates to B1, then by default, B1's _id is stored in A1's field. Changing the foreign key field uses its value instead of _id.",sfield_control_foreign_key_field_default$1="Default to primary key, _id by default",widget_ed={hidden:hidden$1,formula_hidden:formula_hidden$1,sfield_group:sfield_group$1,sfield_tab_group:sfield_tab_group$1,sfield_text:sfield_text$1,sfield_textarea:sfield_textarea$1,sfield_html:sfield_html$1,sfield_code:sfield_code$1,sfield_markdown:sfield_markdown$1,sfield_select:sfield_select$1,sfield_color:sfield_color$1,sfield_boolean:sfield_boolean$1,sfield_toggle:sfield_toggle$1,sfield_date:sfield_date$1,sfield_datetime:sfield_datetime$1,sfield_time:sfield_time$1,sfield_number:sfield_number$1,sfield_currency:sfield_currency$1,sfield_percent:sfield_percent$1,sfield_password:sfield_password$1,sfield_lookup:sfield_lookup$1,sfield_master_detail:sfield_master_detail$1,sfield_autonumber:sfield_autonumber$1,sfield_url:sfield_url$1,sfield_email:sfield_email$1,sfield_location:sfield_location$1,sfield_image:sfield_image$1,sfield_file:sfield_file$1,sfield_formula:sfield_formula$1,sfield_summary:sfield_summary$1,sfield_table:sfield_table$1,sfield_settings_panel_title:sfield_settings_panel_title$1,sfield_control_advanced:sfield_control_advanced$1,sfield_control_general:sfield_control_general$1,sfield_control_field_type:sfield_control_field_type$1,sfield_control_display_name:sfield_control_display_name$1,sfield_control_api_name:sfield_control_api_name$1,sfield_control_api_name_description:sfield_control_api_name_description$1,sfield_control_required:sfield_control_required$1,sfield_control_wide_field:sfield_control_wide_field$1,sfield_control_allow_modify_number:sfield_control_allow_modify_number$1,sfield_control_textarea_rows:sfield_control_textarea_rows$1,sfield_control_language:sfield_control_language$1,sfield_control_multiple_select:sfield_control_multiple_select$1,sfield_control_multiple_select_remark:sfield_control_multiple_select_remark$1,sfield_control_data_type:sfield_control_data_type$1,sfield_control_data_type_remark:sfield_control_data_type_remark$1,sfield_control_select_options:sfield_control_select_options$1,sfield_control_select_options_remark:sfield_control_select_options_remark$1,sfield_control_option_label:sfield_control_option_label$1,sfield_control_option_value:sfield_control_option_value$1,sfield_control_option_color:sfield_control_option_color$1,sfield_control_option_description:sfield_control_option_description$1,sfield_control_option_operation:sfield_control_option_operation$1,sfield_control_precision:sfield_control_precision$1,sfield_control_precision_remark:sfield_control_precision_remark$1,sfield_control_scale:sfield_control_scale$1,sfield_control_scale_remark:sfield_control_scale_remark$1,sfield_control_formula:sfield_control_formula$1,sfield_control_formula_remark:sfield_control_formula_remark$1,sfield_control_show_as_qr:sfield_control_show_as_qr$1,sfield_control_coordinates_type:sfield_control_coordinates_type$1,sfield_control_formula_blank_value:sfield_control_formula_blank_value$1,sfield_control_formula_blank_value_remark:sfield_control_formula_blank_value_remark$1,sfield_control_zero_as_blank:sfield_control_zero_as_blank$1,sfield_control_blanks_as_blank:sfield_control_blanks_as_blank$1,sfield_control_reference_object:sfield_control_reference_object$1,sfield_control_summary_object:sfield_control_summary_object$1,sfield_control_summary_object_remark:sfield_control_summary_object_remark$1,sfield_control_summary_type:sfield_control_summary_type$1,sfield_control_summary_type_remark:sfield_control_summary_type_remark$1,sfield_control_summary_field:sfield_control_summary_field$1,sfield_control_summary_field_remark:sfield_control_summary_field_remark$1,sfield_control_description:sfield_control_description$1,sfield_control_deleted_lookup_record_behavior:sfield_control_deleted_lookup_record_behavior$1,sfield_control_clear_value:sfield_control_clear_value$1,sfield_control_retain_related_record:sfield_control_retain_related_record$1,sfield_control_write_requires_master_read:sfield_control_write_requires_master_read$1,sfield_control_write_requires_master_read_remark:sfield_control_write_requires_master_read_remark$1,sfield_control_form:sfield_control_form$1,sfield_control_input_type:sfield_control_input_type$1,sfield_control_input_array:sfield_control_input_array$1,sfield_control_button_toolbar:sfield_control_button_toolbar$1,sfield_control_button_group_select:sfield_control_button_group_select$1,sfield_control_chained_select:sfield_control_chained_select$1,sfield_control_checkbox:sfield_control_checkbox$1,sfield_control_checkboxes:sfield_control_checkboxes$1,sfield_control_input_city:sfield_control_input_city$1,sfield_control_input_color:sfield_control_input_color$1,sfield_control_combo:sfield_control_combo$1,sfield_control_condition_builder:sfield_control_condition_builder$1,sfield_control_input_date:sfield_control_input_date$1,sfield_control_input_datetime:sfield_control_input_datetime$1,sfield_control_input_month:sfield_control_input_month$1,sfield_control_input_date_range:sfield_control_input_date_range$1,sfield_control_input_datetime_range:sfield_control_input_datetime_range$1,sfield_control_input_month_range:sfield_control_input_month_range$1,sfield_control_input_kv:sfield_control_input_kv$1,sfield_control_input_kvs:sfield_control_input_kvs$1,sfield_control_input_formula:sfield_control_input_formula$1,sfield_control_diff_editor:sfield_control_diff_editor$1,sfield_control_editor:sfield_control_editor$1,sfield_control_input_excel:sfield_control_input_excel$1,sfield_control_input_file:sfield_control_input_file$1,sfield_control_group:sfield_control_group$1,sfield_control_hidden:sfield_control_hidden$1,sfield_control_input_image:sfield_control_input_image$1,sfield_control_input_group:sfield_control_input_group$1,sfield_control_list_select:sfield_control_list_select$1,sfield_control_location_picker:sfield_control_location_picker$1,sfield_control_uuid:sfield_control_uuid$1,sfield_control_matrix_checkboxes:sfield_control_matrix_checkboxes$1,sfield_control_nested_select:sfield_control_nested_select$1,sfield_control_input_number:sfield_control_input_number$1,sfield_control_input_password:sfield_control_input_password$1,sfield_control_picker:sfield_control_picker$1,sfield_control_input_quarter:sfield_control_input_quarter$1,sfield_control_input_quarter_range:sfield_control_input_quarter_range$1,sfield_control_radio:sfield_control_radio$1,sfield_control_radios:sfield_control_radios$1,sfield_control_chart_radios:sfield_control_chart_radios$1,sfield_control_input_rating:sfield_control_input_rating$1,sfield_control_input_range:sfield_control_input_range$1,sfield_control_input_repeat:sfield_control_input_repeat$1,sfield_control_input_rich_text:sfield_control_input_rich_text$1,sfield_control_select:sfield_control_select$1,sfield_control_input_sub_form:sfield_control_input_sub_form$1,sfield_control_switch:sfield_control_switch$1,sfield_control_static:sfield_control_static$1,sfield_control_input_table:sfield_control_input_table$1,sfield_control_input_tag:sfield_control_input_tag$1,sfield_control_input_text:sfield_control_input_text$1,sfield_control_textarea:sfield_control_textarea$1,sfield_control_input_time:sfield_control_input_time$1,sfield_control_input_time_range:sfield_control_input_time_range$1,sfield_control_transfer:sfield_control_transfer$1,sfield_control_transfer_picker:sfield_control_transfer_picker$1,sfield_control_tabs_transfer:sfield_control_tabs_transfer$1,sfield_control_tabs_transfer_picker:sfield_control_tabs_transfer_picker$1,sfield_control_input_tree:sfield_control_input_tree$1,sfield_control_tree_select:sfield_control_tree_select$1,sfield_control_input_year:sfield_control_input_year$1,sfield_control_input_year_range:sfield_control_input_year_range$1,sfield_control_json_schema:sfield_control_json_schema$1,sfield_control_json_schema_editor:sfield_control_json_schema_editor$1,sfield_control_input_signature:sfield_control_input_signature$1,sfield_control_input_verification_code:sfield_control_input_verification_code$1,sfield_control_visible_on:sfield_control_visible_on$1,sfield_control_readonly:sfield_control_readonly$1,sfield_control_readonly_remark:sfield_control_readonly_remark$1,sfield_control_static_remark:sfield_control_static_remark$1,sfield_control_inline_help_text:sfield_control_inline_help_text$1,sfield_control_enable_enhanced_lookup:sfield_control_enable_enhanced_lookup$1,sfield_control_enable_enhanced_lookup_remark:sfield_control_enable_enhanced_lookup_remark$1,sfield_control_create_allowance:sfield_control_create_allowance$1,sfield_control_depend_on:sfield_control_depend_on$1,sfield_control_depend_on_remark:sfield_control_depend_on_remark$1,sfield_control_enable_thousands:sfield_control_enable_thousands$1,sfield_control_filters:sfield_control_filters$1,sfield_control_filters_remark:sfield_control_filters_remark$1,sfield_control_create_unique_index:sfield_control_create_unique_index$1,sfield_control_create_unique_index_remark:sfield_control_create_unique_index_remark$1,sfield_control_filterable:sfield_control_filterable$1,sfield_control_default_filter_field:sfield_control_default_filter_field$1,sfield_control_sortable:sfield_control_sortable$1,sfield_control_create_index:sfield_control_create_index$1,sfield_control_create_index_remark:sfield_control_create_index_remark$1,sfield_control_name_field:sfield_control_name_field$1,sfield_control_foreign_key_field:sfield_control_foreign_key_field$1,sfield_control_foreign_key_field_remark:sfield_control_foreign_key_field_remark$1,sfield_control_foreign_key_field_default:sfield_control_foreign_key_field_default$1,"steedos-field-group_sfield_tab_group":"Fields","steedos-field-group_title":"Group","steedos-field-group_scaffold_title":"Group","steedos-field-group_regions_body_label":"Field Items","steedos-field-group_panel_title":"Settings","steedos-field-group_panel_controls_title_label":"Title","steedos-field-group_panel_controls_collapsed_label":"Default Collapsed","steedos-field-group_panel_controls_visible_on_label":"Visibility Condition","steedos-object_title":"Object","steedos-object_description":"Object","steedos-object_regions_body_label":"Content Area","steedos-object_panelTitle":"Settings","steedos-object_panelControls_name_label":"Object Name","steedos-object_panelControls_label_label":"Display Name","steedos-object_panelControls_description_label":"Description","steedos-object_group":"Steedos","steedos-object_usage":"renderer","steedos-object_body_label":"Content Area","steedos-object_panel_title":"Settings","steedos-object_name_label":"Object Name","steedos-object_label_label":"Display Name","steedos-object_description_label":"Description","steedos-board_group":"Steedos","steedos-board_title":"Kanban","steedos-board_boardSource_A_label":"Board A","steedos-board_boardSource_B_label":"Board B","steedos-board_boardHeader_tpl":"Board ${label}","steedos-board_boardFooter_tpl":"Board ${label} Footer","steedos-board_cardSchema_toolbar_buttons_edit_label":"Edit","steedos-board_cardSchema_toolbar_buttons_edit_dialog_title":"Edit","steedos-board_cardSchema_toolbar_buttons_edit_dialog_body":"You are editing this card","steedos-board_cardSchema_toolbar_buttons_delete_label":"Delete","steedos-board_cardSchema_toolbar_buttons_delete_dialog_title":"Notice","steedos-board_cardSchema_toolbar_buttons_delete_dialog_body":"You deleted this card","steedos-board_cardSource_A1_label":"Item A1","steedos-board_cardSource_A2_label":"Item A2","steedos-board_cardSource_B1_label":"Item B1","steedos-board_cardSource_B2_label":"Item B2","steedos-board_panelTitle":"Settings","steedos-board_panelControls_columns_label":"Columns","steedos-board_panelControls_vertical_label":"Layout","steedos-board_panelControls_vertical_option":"Vertical","steedos-record-detail-header_group":"Steedos","steedos-record-detail-header_title":"Title Panel","steedos-record-detail-header_description":"The title panel displayed on the record detail page, including record buttons.","steedos-record-detail-header_props_objectApiName_description":"Object Name","steedos-record-detail-header_props_recordId_description":"Record ID","steedos-record-detail-header_panelTitle":"Settings","steedos-record-detail-header_panelControls_object_label":"Object","steedos-record-detail-header_panelControls_object_source_adaptor_current_object":"Current Object","steedos-record-detail-header_panelControls_recordId_label":"Record ID","steedos-record-detail-header_panelControls_className_label":"CSS Class Name","steedos-object-form_group":"Steedos","steedos-object-form_title":"Object Form","steedos-object-form_props_objectApiName":"Object Name","steedos-object-form_props_recordId":"Record ID","steedos-object-form_props_mode":"Display Mode","steedos-object-form_props_enableInitApi":"Init API","steedos-object-form_props_layout":"Form Layout","steedos-object-form_props_initApiRequestAdaptor":"Init API Request Adaptor","steedos-object-form_props_initApiAdaptor":"Init API Response Adaptor","steedos-object-form_props_apiRequestAdaptor":"Save API Request Adaptor","steedos-object-form_props_apiAdaptor":"Save API Response Adaptor","steedos-object-form_panelTitle":"Settings","steedos-object-form_tab_props":"Properties","steedos-object-form_section_basic":"Basic","steedos-object-form_field_objectApiName":"Object","steedos-object-form_field_currentObject":"Current Object","steedos-object-form_field_recordId":"Record ID","steedos-object-form_field_mode":"Display Mode","steedos-object-form_field_mode_read":"Read","steedos-object-form_field_mode_edit":"Edit","steedos-object-form_field_enableInitApi":"Init API","steedos-object-form_field_enable":"Enable","steedos-object-form_field_disable":"Disable","steedos-object-form_field_layout":"Form Item Layout","steedos-object-form_field_layout_vertical":"Vertical","steedos-object-form_field_layout_horizontal":"Horizontal","steedos-object-form_field_enableTabs":"Enable Tabs Mode","steedos-object-form_field_tabsMode":"Tabs Mode","steedos-object-form_tabsMode_default":"Default","steedos-object-form_tabsMode_line":"Line","steedos-object-form_tabsMode_card":"Card","steedos-object-form_tabsMode_radio":"Radio","steedos-object-form_tabsMode_vertical":"Vertical","steedos-object-form_tabsMode_chrome":"Chrome","steedos-object-form_tabsMode_simple":"Simple","steedos-object-form_tabsMode_strong":"Strong","steedos-object-form_tabsMode_tiled":"Tiled","steedos-object-form_tabsMode_sidebar":"Sidebar","steedos-object-form_section_fields":"Fields","steedos-object-form_field_fields":"Displayed Fields","steedos-object-form_field_excludedFields":"Excluded Fields","steedos-object-form_field_fieldsExtend":"Override Field Config","steedos-object-form_tip_fieldsExtend":'Override field config. Example:\n```\n{\n "name": {\n "is_wide": true, // wide field\n "required": true, // required\n "amis": { // renderer props\n "type": "input-color" // override to color picker\n ...\n } \n }, \n "title": {\n "group": "Group 1" // set group\n ...\n }\n}\n```',"steedos-object-form_section_advanced":"Advanced","steedos-object-form_field_defaultData":"Init Static Data","steedos-object-form_field_formDataFilter":"FORM","steedos-object-form_tip_formDataFilter":"If you need to process the original form returned by the component, you can write a function script.\n\nSignature: (form, env, data) => form\n\nParameters:\n\nform - original form schema\n\nenv - amis env, can call env.fetcher for async requests\n\ndata - data in scope\n\nReturn:\n\nProcessed form schema\n\nExample:\n\n```\nconsole.log('data===>', data);\nconst api = ...;\nreturn env.fetcher(api, {}).then((result) => {\n console.log(result);\n form.body[0].tabs[0].title='Basic Info';\n return form;\n});\n\n```\n","steedos-object-form_tab_appearance":"Appearance","steedos-object-form_section_css":"CSS Class","steedos-object-form_field_className":"Form","steedos-object-form_tab_api":"API","steedos-object-form_section_initApi":"Init Data API","steedos-object-form_field_initApiRequestAdaptor":"Request Adaptor","steedos-object-form_tip_initApiRequestAdaptor":"Signature: (api) => api, data in api.data, return api after modification.","steedos-object-form_field_initApiAdaptor":"Response Adaptor","steedos-object-form_tip_initApiAdaptor":"Signature: (payload, response, api) => payload","steedos-object-form_section_saveApi":"Save Data API","steedos-object-form_field_apiRequestAdaptor":"Request Adaptor","steedos-object-form_tip_apiRequestAdaptor":"Signature: (api) => api, data in api.data, return api after modification.","steedos-object-form_field_apiAdaptor":"Response Adaptor","steedos-object-form_tip_apiAdaptor":"Signature: (payload, response, api) => payload","steedos-object-listview_group":"Steedos","steedos-object-listview_title":"List View","steedos-object-listview_description":"Display the list view of the specified object.","steedos-object-listview_objectApiName":"Object Name","steedos-object-listview_listName":"View Name","steedos-object-listview_requestAdaptor":"Request Adaptor","steedos-object-listview_adaptor":"Response Adaptor","steedos-object-listview_panelTitle":"Settings","steedos-object-listview_object":"Object","steedos-object-listview_current_object":"Current Object","steedos-object-listview_view":"View","steedos-object-listview_perPage":"Records per page","steedos-object-listview_showHeader":"Show Header","steedos-object-listview_crudMode":"Display Mode","steedos-object-listview_table":"Table","steedos-object-listview_cards":"Cards","steedos-object-listview_className":"CSS Class","steedos-object-listview_data_api":"Data API","steedos-object-listview_requestAdaptor_desc":"Function signature: (api) => api. Data is in api.data, return api after modification.","steedos-object-listview_adaptor_desc":"Function signature: (payload, response, api) => payload","steedos-object-listview_advanced":"Advanced","steedos-object-listview_crud":"CRUD","steedos-object-listview_crud_doc":"If you need to customize the CRUD schema returned by the component, you can write a function script.\n\nFunction signature: (crud, env, data) => crud\n\nParameters:\n\ncrud Original CRUD schema\n\nenv amis env, you can use env.fetcher for async requests\n\ndata Data in data scope\n\nReturn value:\n\nYou need to return the processed CRUD schema\n\nExample:\n\n```\nconsole.log('data===>', data);\nconst api = ...;\nreturn env.fetcher(api, {}).then((result) => {\n console.log(result);\n crud.columns.push({'label': 'xxx', name: 'xxx'});\n return crud;\n});\n\n```","steedos-object-table_group":"Steedos","steedos-object-table_title":"Object Table","steedos-object-table_props_objectApiName":"Object Name","steedos-object-table_props_columns":"Columns","steedos-object-table_props_amisCondition":"Filter Conditions","steedos-object-table_props_sortField":"Sort Field","steedos-object-table_props_sortOrder":"Sort Order","steedos-object-table_props_top":"Number of Records","steedos-object-table_props_requestAdaptor":"Request Adaptor","steedos-object-table_props_adaptor":"Response Adaptor","steedos-object-table_panelTitle":"Settings","steedos-object-table_tabs_props":"Properties","steedos-object-table_collapse_basic":"Basic","steedos-object-table_object":"Object","steedos-object-table_currentObject":"Current Object","steedos-object-table_fields":"Displayed Fields","steedos-object-table_fieldsExtend":"Override Field Config","steedos-object-table_crudMode":"Display Mode","steedos-object-table_crudMode_table":"Table","steedos-object-table_crudMode_cards":"Cards","steedos-object-table_collapse_api":"API","steedos-object-table_requestAdaptor":"Request Adaptor","steedos-object-table_requestAdaptor_desc":"Function signature: (api) => api, data in api.data, return modified api.","steedos-object-table_adaptor":"Response Adaptor","steedos-object-table_adaptor_desc":"Function signature: (payload, response, api) => payload","steedos-object-table_collapse_advanced":"Advanced","steedos-object-table_markdown_crud":"If you need to process the original crud schema returned by the component, you can write your own function.\n\nFunction signature: (crud, env, data) => crud\n\nParameters:\n\ncrud original crud schema\n\nenv amis env, can use env.fetcher for async request\n\ndata data in data scope\n\nReturn:\n\nProcessed crud schema\n\nExample:\n\n```\nconsole.log('data===>', data);\nconst api = ...;\nreturn env.fetcher(api, {}).then((result) => {\n console.log(result);\n crud.columns.push({'label': 'xxx', name: 'xxx'});\n return crud;\n});\n```","steedos-object-table_tabs_appearance":"Appearance","steedos-object-table_collapse_css":"CSS Class","steedos-object-table_css_table":"Table","steedos-object-table_tabs_filter":"Filter","steedos-object-table_filter_condition":"Filter Conditions","steedos-object-table_tabs_other":"Other","steedos-object-table_sortField":"Sort Field","steedos-object-table_sortOrder":"Sort Order","steedos-object-table_sortOrder_asc":"Ascending","steedos-object-table_sortOrder_desc":"Descending","steedos-object-table_top":"Number of Records","steedos-object-table_top_remark":"TOP: disables pagination, always shows the specified number of records","steedos-object-related-listview_group":"Steedos","steedos-object-related-listview_title":"Related List","steedos-object-related-listview_description":"Display a specified related list of an object.","steedos-object-related-listview_props_objectApiName":"Parent Object","steedos-object-related-listview_props_recordId":"Parent Record","steedos-object-related-listview_props_relatedObjectApiName":"Related List Object","steedos-object-related-listview_props_requestAdaptor":"Request Adaptor","steedos-object-related-listview_props_adaptor":"Response Adaptor","steedos-object-related-listview_panelTitle":"Settings","steedos-object-related-listview_tabs_props":"Properties","steedos-object-related-listview_collapse_basic":"Basic Properties","steedos-object-related-listview_currentObject":"Current Object","steedos-object-related-listview_recordId":"Parent Record","steedos-object-related-listview_relatedObjectApiName":"Related List Object","steedos-object-related-listview_enableHeaderToolbar":"Show Header Toolbar","steedos-object-related-listview_top":"Number of Records","steedos-object-related-listview_top_remark":"If set, paging will be disabled and only the configured number of records will be displayed.","steedos-object-related-listview_perPage":"Records Per Page","steedos-object-related-listview_visibleOn":"Visible When","steedos-object-related-listview_visibleOn_remark":"Format: Static/Expression","steedos-object-related-listview_className":"CSS Class","steedos-object-related-listview_collapse_api":"Data API","steedos-object-related-listview_requestAdaptor":"Request Adaptor","steedos-object-related-listview_requestAdaptor_desc":"Function signature: (api) => api, data is in api.data, return modified api object.","steedos-object-related-listview_adaptor":"Response Adaptor","steedos-object-related-listview_adaptor_desc":"Function signature: (payload, response, api) => payload","steedos-object-related-listview_collapse_advanced":"Advanced","steedos-object-related-listview_crudDataFilter":"CRUD","steedos-object-related-listview_markdown_crud":"If you need to process the original crud returned by the component, you can write a script function to implement it.\n\nFunction signature: (crud, env, data) => crud\n\nParameters:\n\ncrud Original crud schema returned by the component\nenv amis env, can call env.fetcher to perform async requests\ndata Data in the data domain\n\nReturn value:\n\nFinally return the processed crud schema\n\nExample:\n\n```\nconsole.log('data===>', data);\nconst api = ...;\nreturn env.fetcher(api, {}).then((result) => {\n console.log(result);\n crud.columns.push({'label': 'xxx', name: 'xxx'});\n return crud;\n});\n```","steedos-object-related-lists_group":"Steedos","steedos-object-related-lists_title":"All Related Lists","steedos-object-related-lists_description":"Displays related lists of the specified object, configurable based on the page layout.","steedos-object-related-lists_props_objectApiName":"Parent Object","steedos-object-related-lists_props_recordId":"Parent Record","steedos-object-related-lists_panelTitle":"Settings","steedos-object-related-lists_panelControls_objectApiName":"Parent Object","steedos-object-related-lists_panelControls_recordId":"Parent Record","steedos-object-related-lists_currentObject":"Current Object","steedos-record-service_group":"Steedos","steedos-record-service_title":"Record Service","steedos-record-service_props_objectApiName":"Object Name","steedos-record-service_props_objectApiName_currentObject":"Current Object","steedos-record-service_props_recordId":"Record Id","steedos-record-service_props_initApiRequestAdaptor":"Init Data Api Request Adaptor","steedos-record-service_props_tip_initApiRequestAdaptor":"Signature: (api) => api, data in api.data, return api after modification.","steedos-record-service_props_initApiAdaptor":"Init Data Api Response Adaptor","steedos-record-service_props_tip_initApiAdaptor":"Signature: (payload, response, api) => payload","steedos-record-service_panelTitle":"Settings","steedos-record-service_regions_body":"Content Area","steedos-object-calendar_group":"Steedos","steedos-object-calendar_title":"Object Calendar","steedos-object-calendar_props_objectApiName":"Object Name","steedos-object-calendar_props_startDateExpr":"Start Date Field","steedos-object-calendar_props_endDateExpr":"End Date Field","steedos-object-calendar_props_allDayExpr":"All Day Field","steedos-object-calendar_props_textExpr":"Title Field","steedos-object-calendar_props_currentView":"Default View","steedos-object-calendar_panelTitle":"Settings","steedos-object-calendar_panelControls_objectApiName":"Object","steedos-object-calendar_panelControls_currentObject":"Current Object","steedos-object-calendar_panelControls_startDateExpr":"Start Date Field","steedos-object-calendar_panelControls_endDateExpr":"End Date Field","steedos-object-calendar_panelControls_allDayExpr":"All Day Field","steedos-object-calendar_panelControls_textExpr":"Title Field","steedos-object-calendar_panelControls_currentView":"Default View","steedos-object-calendar_options_month":"Month","steedos-object-calendar_options_week":"Week","steedos-object-calendar_options_day":"Day","steedos-object-calendar_options_list":"List","steedos-input-table_group":"Steedos","steedos-input-table_title":"Input Table","steedos-input-table_description":"Table input component, further encapsulation of amis input-table component.","steedos-input-table_props_name":"Field Name","steedos-input-table_props_fields":"Field Configuration","steedos-input-table_props_addable":"Addable","steedos-input-table_props_editable":"Editable","steedos-input-table_props_removable":"Removable","steedos-input-table_props_draggable":"Draggable","steedos-input-table_props_inlineEditMode":"Inline Edit Mode","steedos-input-table_props_strictMode":"Strict Mode","steedos-input-table_props_perPage":"Rows per Page","steedos-input-table_props_enableDialog":"Enable Dialog Mode","steedos-input-table_scaffold_fields_a":"A","steedos-input-table_scaffold_fields_b":"B","steedos-input-table_scaffold_fields_b_options_op1":"Option 1","steedos-input-table_scaffold_fields_b_options_op2":"Option 2","steedos-input-table_preview_fields_a":"A","steedos-input-table_preview_fields_b":"B","steedos-input-table_preview_fields_b_options_op1":"Option 1","steedos-input-table_preview_fields_b_options_op2":"Option 2","steedos-input-table_panelTitle":"Settings","steedos-input-table_panelControls_name":"Field Name","steedos-input-table_panelControls_fields":"Field Configuration","steedos-input-table_panelControls_columns":"Displayed Columns","steedos-input-table_panelControls_addable":"Addable","steedos-input-table_panelControls_editable":"Editable","steedos-input-table_panelControls_removable":"Removable","steedos-input-table_panelControls_draggable":"Draggable","steedos-input-table_panelControls_inlineEditMode":"Inline Edit Mode","steedos-input-table_panelControls_inlineEditMode_remark":"When editable, show inline mode to edit field values directly in cells.","steedos-input-table_panelControls_strictMode":"Strict Mode","steedos-input-table_panelControls_strictMode_remark":"For performance, by default changes in other form items will not refresh the table. To sync with other main form field values, disable strict mode. Lookup child fields with depend_on will force strict mode off automatically.","steedos-input-table_panelControls_perPage":"Rows per Page","steedos-input-table_panelControls_perPage_remark":"If empty, pagination is disabled","steedos-input-table_panelControls_enableDialog":"Enable Dialog Mode","steedos-input-table_panelControls_enableDialog_remark":"Disabling dialog mode will automatically enable inline mode.","steedos-icon_group":"Steedos Atomic Components","steedos-icon_title":"Icon","steedos-icon_panelTitle":"Settings","steedos-icon_category":"Category","steedos-icon_name":"Name","steedos-icon_className":"ClassName","steedos-icon_containerClassName":"Container ClassName","steedos-icon_colorVariant":"Icon color variants","steedos-icon_size":"Icon size","steedos-icon_basePath":"Base Path","steedos-badge_group":"Steedos Atomic Components","steedos-badge_title":"Badge","steedos-badge_panelTitle":"Settings","steedos-badge_body":"Content Area","steedos-badge_color":"Dot color","steedos-badge_count":"Displayed number","steedos-badge_dot":"Hide number, only a small red dot","steedos-badge_overflowCount":"Maximum display number","steedos-badge_showZero":"Show Badge when value is 0","steedos-badge_size":"Effective when count is set, size of the dot","steedos-badge_status":"Badge status","steedos-badge_text":"Effective when status is set, text of the dot","steedos-badge_titleLabel":"Tooltip text when hovering over the status dot","steedos-badge-ribbon_group":"Steedos Atomic Components","steedos-badge-ribbon_title":"Ribbon","steedos-badge-ribbon_panelTitle":"Settings","steedos-badge-ribbon_body":"Content Area","steedos-badge-ribbon_color":"Ribbon color","steedos-badge-ribbon_placement":"Ribbon placement","steedos-badge-ribbon_text":"Content inside the ribbon","steedos-field_group":"Steedos","steedos-field_title":"Field","steedos-field_scaffold_label":"Field 1","steedos-field_preview_label":"Field 1","steedos-field_panelTitle":"Settings","steedos-field_tab_general":"General","steedos-field_tab_form":"Form","steedos-field_tab_advanced":"Advanced","steedos-field_object":"Object","steedos-field_type":"Field Type","steedos-field_type_text":"Text","steedos-field_type_textarea":"Textarea","steedos-field_type_html":"Rich Text","steedos-field_type_code":"Code","steedos-field_type_markdown":"Markdown","steedos-field_type_select":"Select","steedos-field_type_color":"Color","steedos-field_type_boolean":"Checkbox","steedos-field_type_toggle":"Switch","steedos-field_type_date":"Date","steedos-field_type_datetime":"Datetime","steedos-field_type_time":"Time","steedos-field_type_number":"Number","steedos-field_type_currency":"Currency","steedos-field_type_percent":"Percent","steedos-field_type_password":"Password","steedos-field_type_lookup":"Lookup","steedos-field_type_master_detail":"Master/Detail","steedos-field_type_autonumber":"Autonumber","steedos-field_type_url":"URL","steedos-field_type_email":"Email","steedos-field_type_location":"Location","steedos-field_type_image":"Image","steedos-field_type_file":"Attachment","steedos-field_type_formula":"Formula","steedos-field_type_summary":"Rollup Summary","steedos-field_label":"Display Name","steedos-field_api_name":"API Name","steedos-field_api_name_remark":"The API name can only contain lowercase letters and numbers, must start with a letter, cannot end with an underscore or contain two consecutive underscores.","steedos-field_autonumber_enable_modify":"Allow editing autonumber","steedos-field_rows":"Textarea Rows","steedos-field_language":"Language","steedos-field_multiple":"Multiple","steedos-field_multiple_remark":"When switching between single and multiple, please resubmit records or update the field value format in the database.","steedos-field_data_type":"Data Type","steedos-field_data_type_remark":"Required when the field type is Formula.","steedos-field_option_boolean":"Boolean","steedos-field_option_number":"Number","steedos-field_option_text":"Text","steedos-field_option_currency":"Currency","steedos-field_option_percent":"Percent","steedos-field_option_date":"Date","steedos-field_option_datetime":"Datetime","steedos-field_options":"Options","steedos-field_options_remark":"Each option's display name and value cannot be empty. Set background color as a hexadecimal like ffffff.","steedos-field_options_column_label":"Label","steedos-field_options_column_value":"Value","steedos-field_options_column_color":"Background Color","steedos-field_options_column_description":"Description","steedos-field_options_column_operation":"Actions","steedos-field_precision":"Integer Digits","steedos-field_precision_remark":"Digits left to decimal point","steedos-field_scale":"Decimal Digits","steedos-field_scale_remark":"If the field type is a Percent, this indicates the number of decimal places. For example, two decimal places will display as 10.20%.","steedos-field_formula":"Formula","steedos-field_formula_remark":"Required if the field type is Autonumber or Formula","steedos-field_show_as_qr":"Show as QR Code","steedos-field_coordinatesType":"Coordinate Type","steedos-field_formula_blank_value":"Blank Field Handling","steedos-field_formula_blank_value_remark":"If your formula references number or currency fields, please specify how to handle blank fields.","steedos-field_option_formulazeroes":"Treat blanks as zeroes","steedos-field_option_formulablanks":"Treat blanks as blanks","steedos-field_reference_to":"Referenced Object","steedos-field_summary_object":"Summary Object","steedos-field_summary_object_remark":"Required when the field type is Rollup Summary.","steedos-field_summary_type":"Summary Type","steedos-field_summary_type_remark":"Required when the field type is Rollup Summary.","steedos-field_summary_type_count":"COUNT","steedos-field_summary_type_sum":"SUM","steedos-field_summary_type_min":"MIN","steedos-field_summary_type_max":"MAX","steedos-field_summary_type_avg":"AVG","steedos-field_summary_field":"Summary Field","steedos-field_summary_field_remark":"When summary type is not COUNT, only number, currency, date, datetime fields are supported.","steedos-field_description":"Description","steedos-field_deleted_lookup_record_behavior":"If the referenced record is deleted?","steedos-field_deleted_lookup_record_behavior_clear":"Clear the value of this field. If this field is required, you cannot select this option.","steedos-field_deleted_lookup_record_behavior_retain":"Do not allow deleting 'records that are part of a lookup relationship'.","steedos-field_write_requires_master_read":"Can add/edit/delete detail when reading master record","steedos-field_write_requires_master_read_remark":"Set the minimum access level required to create, edit, or delete child records on the master record. Only for Master/Detail fields. Checked means read-only access can add/edit/delete child. Unchecked means need read/write access.","steedos-field_required":"Required","steedos-field_is_wide":"Wide Field","steedos-field_readonly":"Readonly","steedos-field_readonly_remark":"Readonly fields are not displayed on the form and will not be submitted.","steedos-field_static":"Static","steedos-field_static_remark":"Static fields are displayed but not editable in the form, can be assigned dynamically.","steedos-field_inlineHelpText":"Help Text","steedos-field_enable_enhanced_lookup":"Popup Selection","steedos-field_enable_enhanced_lookup_remark":"When referenced by other fields, use popup for selecting record.","steedos-field_create":"Allow create in popup selection","steedos-field_depend_on":"Dependant Field","steedos-field_depend_on_remark":"Changes to the dependant field will recalculate the current field","steedos-field_enable_thousands":"Show Thousand Separator","steedos-field_unique":"Create Unique Index","steedos-field_unique_remark":"Created each day at midnight, will not repeat for existing indexes.","steedos-field_filterable":"List Filter Default Field","steedos-field_index":"Create Index","steedos-field_index_remark":"Created each day at midnight, will not repeat for existing indexes.","steedos-field_is_name":"Name Field","steedos-field_reference_to_field":"Foreign Key Field","steedos-field_reference_to_field_remark":"The associated object's value is saved to this field. E.g., after associating object A to B, when A1 record refers to B1, B1's _id is saved by default to A1's record. If changed, the foreign field will be saved instead of _id.","steedos-field_reference_to_field_description":"Default is primary key, _id","steedos-flow-form_title":"Flow Form","steedos-flow-form_group":"Steedos-Approval King","steedos-flow-form_region_body":"Content Area","steedos-flow-form_panelTitle":"Settings","steedos-flow-form_name":"Form Name","steedos-flow-form_style":"Style","steedos-flow-form_style_table":"Table","steedos-flow-form_style_wizard":"Wizard","steedos-flow-form_mode":"Form Mode","steedos-flow-form_mode_normal":"Default","steedos-flow-form_mode_horizontal":"Horizontal Mode","steedos-flow-form_mode_inline":"Inline Mode","steedos-flow-form_wizard_mode":"Wizard Mode","steedos-flow-form_wizard_mode_vertical":"Vertical","steedos-flow-form_wizard_mode_horizontal":"Horizontal","steedos-flow-form_description":"Description"},hidden="隐藏",formula_hidden="新建、编辑时不可见",sfield_group="华炎魔方",sfield_tab_group="字段",sfield_text="文本",sfield_textarea="长文本",sfield_html="富文本",sfield_code="代码",sfield_markdown="Markdown",sfield_select="选择框",sfield_color="颜色",sfield_boolean="复选框",sfield_toggle="开关",sfield_date="日期",sfield_datetime="日期时间",sfield_time="时间",sfield_number="数值",sfield_currency="金额",sfield_percent="百分比",sfield_password="密码",sfield_lookup="相关表关系",sfield_master_detail="主/子表关系",sfield_autonumber="自动编号",sfield_url="网址",sfield_email="邮件地址",sfield_location="地理位置",sfield_image="图片",sfield_file="附件",sfield_formula="公式",sfield_summary="累计汇总",sfield_table="表格",sfield_settings_panel_title="设置",sfield_control_advanced="高级",sfield_control_general="通用",sfield_control_field_type="字段类型",sfield_control_display_name="显示名称",sfield_control_api_name="API 名称",sfield_control_api_name_description="API 名称只能包含小写字母、数字,必须以字母开头,不能以下划线字符结尾或包含两个连续的下划线字符",sfield_control_required="必填",sfield_control_wide_field="宽字段",sfield_control_allow_modify_number="允许修改编号",sfield_control_textarea_rows="多行文本行数",sfield_control_language="语言",sfield_control_multiple_select="多选",sfield_control_multiple_select_remark="单选<==>多选 相互切换,请自行重新提交已有记录或在数据库中统一修改此字段的保存格式。",sfield_control_data_type="数据类型",sfield_control_data_type_remark="字段类型为公式时,必须填写此字段。",sfield_control_select_options="选择项",sfield_control_select_options_remark="选择项的每个选项显示名及选项值不能为空,背景颜色请设置为ffffff这种格式的16进制数值。",sfield_control_option_label="显示名",sfield_control_option_value="选项值",sfield_control_option_color="背景颜色",sfield_control_option_description="描述",sfield_control_option_operation="操作",sfield_control_precision="数字位数",sfield_control_precision_remark="小数点左边的数字位数",sfield_control_scale="小数位数",sfield_control_scale_remark="如果字段类型是百分比,则表示字段将显示的小数位数,例如,显示两位小数将显示为10.20%。",sfield_control_formula="公式 (formula)",sfield_control_formula_remark="字段类型为自动编号或公式时,必须填写此字段。",sfield_control_show_as_qr="显示为二维码",sfield_control_coordinates_type="坐标类型",sfield_control_formula_blank_value="空白字段处理",sfield_control_formula_blank_value_remark="如果您的公式引用了任何数字和货币字段,请指定当这些字段值为空时如何处理公式输出。",sfield_control_zero_as_blank="将空白字段视为零",sfield_control_blanks_as_blank="将空白字段视为空白",sfield_control_reference_object="引用对象",sfield_control_summary_object="要汇总的对象",sfield_control_summary_object_remark="字段类型为累计汇总时,必须填写此字段。",sfield_control_summary_type="汇总类型",sfield_control_summary_type_remark="字段类型为累计汇总时,必须填写此字段。",sfield_control_summary_field="汇总字段",sfield_control_summary_field_remark="字段类型为累计汇总且汇总类型不是COUNT时,必须填写此字段,只支持聚合数值、金额、日期、日期时间类型的字段。",sfield_control_description="描述",sfield_control_deleted_lookup_record_behavior="如果相关表记录被删除怎么办?",sfield_control_clear_value="清除此字段的值。 如果您将此字段设为必填,您不能选择此选项。",sfield_control_retain_related_record="不允许删除"作为相关表关系的一部分的相关表记录"。",sfield_control_write_requires_master_read="当用户对主表记录有读取权限时对子表记录可以增删改",sfield_control_write_requires_master_read_remark="设置主记录上创建、编辑或删除子记录所需的最低访问级别。此字段仅适用于·主表/子表·字段类型。勾选表示允许具有'读取'访问权限的用户创建、编辑或删除子记录。反之表示允许具有'读取/写入'访问权限的用户创建、编辑或删除子记录的权限。",sfield_control_form="表单",sfield_control_input_type="输入类型",sfield_control_input_array="数组输入框 (input-array)",sfield_control_button_toolbar="按钮工具栏 (button-toolbar)",sfield_control_button_group_select="按钮点选 (button-group-select)",sfield_control_chained_select="链式下拉框 (chained-select)",sfield_control_checkbox="勾选框 (checkbox)",sfield_control_checkboxes="复选框 (checkboxes)",sfield_control_input_city="城市选择器 (input-city)",sfield_control_input_color="颜色选择器 (input-color)",sfield_control_combo="组合 (combo)",sfield_control_condition_builder="组合条件 (condition-builder)",sfield_control_input_date="日期 (input-date)",sfield_control_input_datetime="日期时间 (input-datetime)",sfield_control_input_month="月份 (input-month)",sfield_control_input_date_range="日期范围 (input-date-range)",sfield_control_input_datetime_range="日期时间范围 (input-datetime-range)",sfield_control_input_month_range="月份范围 (input-month-range)",sfield_control_input_kv="键值对 (input-kv)",sfield_control_input_kvs="键值对象 (input-kvs)",sfield_control_input_formula="公式编辑器 (input-formula)",sfield_control_diff_editor="对比编辑器 (diff-editor)",sfield_control_editor="编辑器 (editor)",sfield_control_input_excel="解析 Excel (input-excel)",sfield_control_input_file="文件上传 (input-file)",sfield_control_group="表单项组 (group)",sfield_control_hidden="隐藏字段 (hidden)",sfield_control_input_image="图片 (input-image)",sfield_control_input_group="输入框组合 (input-group)",sfield_control_list_select="列表选择 (list-select)",sfield_control_location_picker="地理位置 (location-picker)",sfield_control_uuid="UUID",sfield_control_matrix_checkboxes="矩阵选择 (matrix-checkboxes)",sfield_control_nested_select="级联选择器 (nested-select)",sfield_control_input_number="数字输入框 (input-number)",sfield_control_input_password="密码输入框 (input-password)",sfield_control_picker="列表选择器 (picker)",sfield_control_input_quarter="季度 (input-quarter)",sfield_control_input_quarter_range="季度范围 (input-quarter-range)",sfield_control_radio="单选框 (radio)",sfield_control_radios="单选框 (radios)",sfield_control_chart_radios="图表单选框 (chart-radios)",sfield_control_input_rating="评分 (input-rating)",sfield_control_input_range="滑块 (input-range)",sfield_control_input_repeat="重复频率选择器 (input-repeat)",sfield_control_input_rich_text="富文本编辑器 (input-rich-text)",sfield_control_select="选择器 (select)",sfield_control_input_sub_form="子表单 (input-sub-form)",sfield_control_switch="开关 (switch)",sfield_control_static="静态展示 (static)",sfield_control_input_table="表格 (input-table)",sfield_control_input_tag="标签选择器 (input-tag)",sfield_control_input_text="输入框 (input-text)",sfield_control_textarea="多行文本输入框 (textarea)",sfield_control_input_time="时间 (input-time)",sfield_control_input_time_range="时间范围 (input-time-range)",sfield_control_transfer="穿梭器 (transfer)",sfield_control_transfer_picker="穿梭选择器 (transfer-picker)",sfield_control_tabs_transfer="组合穿梭器 (tabs-transfer)",sfield_control_tabs_transfer_picker="组合穿梭选择器 (tabs-transfer-picker)",sfield_control_input_tree="树形选择框 (input-tree)",sfield_control_tree_select="树形选择器 (tree-select)",sfield_control_input_year="年份选择 (input-year)",sfield_control_input_year_range="年份范围 (input-year-range)",sfield_control_json_schema="JSON Schema (json-schema)",sfield_control_json_schema_editor="JSON Schema Editor (json-schema-editor)",sfield_control_input_signature="签名面板 (input-signature)",sfield_control_input_verification_code="验证码输入 (input-verification-code)",sfield_control_visible_on="显示公式",sfield_control_readonly="只读",sfield_control_readonly_remark="只读字段不显示在表单上,数据不会提交到服务端。",sfield_control_static_remark="静态字段在表单上显示,用户不可编辑,可动态赋值。",sfield_control_inline_help_text="提示文本",sfield_control_enable_enhanced_lookup="弹出选择",sfield_control_enable_enhanced_lookup_remark="被其他字段引用时,使用弹出框选择记录。",sfield_control_create_allowance="弹出选择时允许新建",sfield_control_depend_on="依赖字段",sfield_control_depend_on_remark="依赖字段的变化会触发当前字段重算",sfield_control_enable_thousands="显示千分符",sfield_control_filters="相关表过滤条件",sfield_control_filters_remark="当字段类型为相关表关系或主/子表关系时,可以为该字段配置过滤条件,过滤选项列表;其中字段值可以配置为公式,公式中引用的字段需要同时配置在依赖的字段中",sfield_control_create_unique_index="创建唯一索引",sfield_control_create_unique_index_remark="默认每天凌晨执行一次创建,已有的索引不重复创建。",sfield_control_filterable="启用列表页快速搜索",sfield_control_default_filter_field="列表页过滤器默认字段",sfield_control_sortable="可排序",sfield_control_create_index="创建索引",sfield_control_create_index_remark="默认每天凌晨执行一次创建,已有的索引不重复创建。",sfield_control_name_field="名称字段",sfield_control_foreign_key_field="外键字段",sfield_control_foreign_key_field_remark="关联的对象保存到当前对象字段的值;例如:A对象关联B对象后,当A1记录关联了B1记录,默认会存B1记录的_id存到A1记录中。如果修改了外键字段后,会将“外键字段”替换_id存储到A1记录中。",sfield_control_foreign_key_field_default="默认为主键,默认值是_id",widget_zh={hidden:hidden,formula_hidden:formula_hidden,sfield_group:sfield_group,sfield_tab_group:sfield_tab_group,sfield_text:sfield_text,sfield_textarea:sfield_textarea,sfield_html:sfield_html,sfield_code:sfield_code,sfield_markdown:sfield_markdown,sfield_select:sfield_select,sfield_color:sfield_color,sfield_boolean:sfield_boolean,sfield_toggle:sfield_toggle,sfield_date:sfield_date,sfield_datetime:sfield_datetime,sfield_time:sfield_time,sfield_number:sfield_number,sfield_currency:sfield_currency,sfield_percent:sfield_percent,sfield_password:sfield_password,sfield_lookup:sfield_lookup,sfield_master_detail:sfield_master_detail,sfield_autonumber:sfield_autonumber,sfield_url:sfield_url,sfield_email:sfield_email,sfield_location:sfield_location,sfield_image:sfield_image,sfield_file:sfield_file,sfield_formula:sfield_formula,sfield_summary:sfield_summary,sfield_table:sfield_table,sfield_settings_panel_title:sfield_settings_panel_title,sfield_control_advanced:sfield_control_advanced,sfield_control_general:sfield_control_general,sfield_control_field_type:sfield_control_field_type,sfield_control_display_name:sfield_control_display_name,sfield_control_api_name:sfield_control_api_name,sfield_control_api_name_description:sfield_control_api_name_description,sfield_control_required:sfield_control_required,sfield_control_wide_field:sfield_control_wide_field,sfield_control_allow_modify_number:sfield_control_allow_modify_number,sfield_control_textarea_rows:sfield_control_textarea_rows,sfield_control_language:sfield_control_language,sfield_control_multiple_select:sfield_control_multiple_select,sfield_control_multiple_select_remark:sfield_control_multiple_select_remark,sfield_control_data_type:sfield_control_data_type,sfield_control_data_type_remark:sfield_control_data_type_remark,sfield_control_select_options:sfield_control_select_options,sfield_control_select_options_remark:sfield_control_select_options_remark,sfield_control_option_label:sfield_control_option_label,sfield_control_option_value:sfield_control_option_value,sfield_control_option_color:sfield_control_option_color,sfield_control_option_description:sfield_control_option_description,sfield_control_option_operation:sfield_control_option_operation,sfield_control_precision:sfield_control_precision,sfield_control_precision_remark:sfield_control_precision_remark,sfield_control_scale:sfield_control_scale,sfield_control_scale_remark:sfield_control_scale_remark,sfield_control_formula:sfield_control_formula,sfield_control_formula_remark:sfield_control_formula_remark,sfield_control_show_as_qr:sfield_control_show_as_qr,sfield_control_coordinates_type:sfield_control_coordinates_type,sfield_control_formula_blank_value:sfield_control_formula_blank_value,sfield_control_formula_blank_value_remark:sfield_control_formula_blank_value_remark,sfield_control_zero_as_blank:sfield_control_zero_as_blank,sfield_control_blanks_as_blank:sfield_control_blanks_as_blank,sfield_control_reference_object:sfield_control_reference_object,sfield_control_summary_object:sfield_control_summary_object,sfield_control_summary_object_remark:sfield_control_summary_object_remark,sfield_control_summary_type:sfield_control_summary_type,sfield_control_summary_type_remark:sfield_control_summary_type_remark,sfield_control_summary_field:sfield_control_summary_field,sfield_control_summary_field_remark:sfield_control_summary_field_remark,sfield_control_description:sfield_control_description,sfield_control_deleted_lookup_record_behavior:sfield_control_deleted_lookup_record_behavior,sfield_control_clear_value:sfield_control_clear_value,sfield_control_retain_related_record:sfield_control_retain_related_record,sfield_control_write_requires_master_read:sfield_control_write_requires_master_read,sfield_control_write_requires_master_read_remark:sfield_control_write_requires_master_read_remark,sfield_control_form:sfield_control_form,sfield_control_input_type:sfield_control_input_type,sfield_control_input_array:sfield_control_input_array,sfield_control_button_toolbar:sfield_control_button_toolbar,sfield_control_button_group_select:sfield_control_button_group_select,sfield_control_chained_select:sfield_control_chained_select,sfield_control_checkbox:sfield_control_checkbox,sfield_control_checkboxes:sfield_control_checkboxes,sfield_control_input_city:sfield_control_input_city,sfield_control_input_color:sfield_control_input_color,sfield_control_combo:sfield_control_combo,sfield_control_condition_builder:sfield_control_condition_builder,sfield_control_input_date:sfield_control_input_date,sfield_control_input_datetime:sfield_control_input_datetime,sfield_control_input_month:sfield_control_input_month,sfield_control_input_date_range:sfield_control_input_date_range,sfield_control_input_datetime_range:sfield_control_input_datetime_range,sfield_control_input_month_range:sfield_control_input_month_range,sfield_control_input_kv:sfield_control_input_kv,sfield_control_input_kvs:sfield_control_input_kvs,sfield_control_input_formula:sfield_control_input_formula,sfield_control_diff_editor:sfield_control_diff_editor,sfield_control_editor:sfield_control_editor,sfield_control_input_excel:sfield_control_input_excel,sfield_control_input_file:sfield_control_input_file,sfield_control_group:sfield_control_group,sfield_control_hidden:sfield_control_hidden,sfield_control_input_image:sfield_control_input_image,sfield_control_input_group:sfield_control_input_group,sfield_control_list_select:sfield_control_list_select,sfield_control_location_picker:sfield_control_location_picker,sfield_control_uuid:sfield_control_uuid,sfield_control_matrix_checkboxes:sfield_control_matrix_checkboxes,sfield_control_nested_select:sfield_control_nested_select,sfield_control_input_number:sfield_control_input_number,sfield_control_input_password:sfield_control_input_password,sfield_control_picker:sfield_control_picker,sfield_control_input_quarter:sfield_control_input_quarter,sfield_control_input_quarter_range:sfield_control_input_quarter_range,sfield_control_radio:sfield_control_radio,sfield_control_radios:sfield_control_radios,sfield_control_chart_radios:sfield_control_chart_radios,sfield_control_input_rating:sfield_control_input_rating,sfield_control_input_range:sfield_control_input_range,sfield_control_input_repeat:sfield_control_input_repeat,sfield_control_input_rich_text:sfield_control_input_rich_text,sfield_control_select:sfield_control_select,sfield_control_input_sub_form:sfield_control_input_sub_form,sfield_control_switch:sfield_control_switch,sfield_control_static:sfield_control_static,sfield_control_input_table:sfield_control_input_table,sfield_control_input_tag:sfield_control_input_tag,sfield_control_input_text:sfield_control_input_text,sfield_control_textarea:sfield_control_textarea,sfield_control_input_time:sfield_control_input_time,sfield_control_input_time_range:sfield_control_input_time_range,sfield_control_transfer:sfield_control_transfer,sfield_control_transfer_picker:sfield_control_transfer_picker,sfield_control_tabs_transfer:sfield_control_tabs_transfer,sfield_control_tabs_transfer_picker:sfield_control_tabs_transfer_picker,sfield_control_input_tree:sfield_control_input_tree,sfield_control_tree_select:sfield_control_tree_select,sfield_control_input_year:sfield_control_input_year,sfield_control_input_year_range:sfield_control_input_year_range,sfield_control_json_schema:sfield_control_json_schema,sfield_control_json_schema_editor:sfield_control_json_schema_editor,sfield_control_input_signature:sfield_control_input_signature,sfield_control_input_verification_code:sfield_control_input_verification_code,sfield_control_visible_on:sfield_control_visible_on,sfield_control_readonly:sfield_control_readonly,sfield_control_readonly_remark:sfield_control_readonly_remark,sfield_control_static_remark:sfield_control_static_remark,sfield_control_inline_help_text:sfield_control_inline_help_text,sfield_control_enable_enhanced_lookup:sfield_control_enable_enhanced_lookup,sfield_control_enable_enhanced_lookup_remark:sfield_control_enable_enhanced_lookup_remark,sfield_control_create_allowance:sfield_control_create_allowance,sfield_control_depend_on:sfield_control_depend_on,sfield_control_depend_on_remark:sfield_control_depend_on_remark,sfield_control_enable_thousands:sfield_control_enable_thousands,sfield_control_filters:sfield_control_filters,sfield_control_filters_remark:sfield_control_filters_remark,sfield_control_create_unique_index:sfield_control_create_unique_index,sfield_control_create_unique_index_remark:sfield_control_create_unique_index_remark,sfield_control_filterable:sfield_control_filterable,sfield_control_default_filter_field:sfield_control_default_filter_field,sfield_control_sortable:sfield_control_sortable,sfield_control_create_index:sfield_control_create_index,sfield_control_create_index_remark:sfield_control_create_index_remark,sfield_control_name_field:sfield_control_name_field,sfield_control_foreign_key_field:sfield_control_foreign_key_field,sfield_control_foreign_key_field_remark:sfield_control_foreign_key_field_remark,sfield_control_foreign_key_field_default:sfield_control_foreign_key_field_default,"steedos-field-group_sfield_tab_group":"字段","steedos-field-group_title":"分组","steedos-field-group_scaffold_title":"分组","steedos-field-group_regions_body_label":"字段项","steedos-field-group_panel_title":"设置","steedos-field-group_panel_controls_title_label":"标题","steedos-field-group_panel_controls_collapsed_label":"默认是否折叠","steedos-field-group_panel_controls_visible_on_label":"显示条件","steedos-object_title":"对象","steedos-object_description":"对象","steedos-object_regions_body_label":"内容区","steedos-object_panelTitle":"设置","steedos-object_panelControls_name_label":"对象名","steedos-object_panelControls_label_label":"显示名称","steedos-object_panelControls_description_label":"描述","steedos-object_group":"华炎魔方-对象","steedos-object_usage":"渲染器","steedos-object_body_label":"内容区","steedos-object_panel_title":"设置","steedos-object_name_label":"对象名","steedos-object_label_label":"显示名称","steedos-object_description_label":"描述","steedos-board_group":"华炎魔方-原子组件","steedos-board_title":"看板","steedos-board_boardSource_A_label":"Board A","steedos-board_boardSource_B_label":"Board B","steedos-board_boardHeader_tpl":"Board ${label}","steedos-board_boardFooter_tpl":"Board ${label} Footer","steedos-board_cardSchema_toolbar_buttons_edit_label":"编辑","steedos-board_cardSchema_toolbar_buttons_edit_dialog_title":"编辑","steedos-board_cardSchema_toolbar_buttons_edit_dialog_body":"你正在编辑该卡片","steedos-board_cardSchema_toolbar_buttons_delete_label":"删除","steedos-board_cardSchema_toolbar_buttons_delete_dialog_title":"提示","steedos-board_cardSchema_toolbar_buttons_delete_dialog_body":"你删掉了该卡片","steedos-board_cardSource_A1_label":"Item A1","steedos-board_cardSource_A2_label":"Item A2","steedos-board_cardSource_B1_label":"Item B1","steedos-board_cardSource_B2_label":"Item B2","steedos-board_panelTitle":"设置","steedos-board_panelControls_columns_label":"列数","steedos-board_panelControls_vertical_label":"布局","steedos-board_panelControls_vertical_option":"纵向","steedos-record-detail-header_group":"华炎魔方","steedos-record-detail-header_title":"标题面板","steedos-record-detail-header_description":"显示在记录详情页的标题面板,包括记录按钮。","steedos-record-detail-header_props_objectApiName_description":"对象名称","steedos-record-detail-header_props_recordId_description":"记录Id","steedos-record-detail-header_panelTitle":"设置","steedos-record-detail-header_panelControls_object_label":"对象","steedos-record-detail-header_panelControls_object_source_adaptor_current_object":"当前对象","steedos-record-detail-header_panelControls_recordId_label":"记录Id","steedos-record-detail-header_panelControls_className_label":"CSS类名","steedos-object-form_group":"华炎魔方","steedos-object-form_title":"对象表单","steedos-object-form_props_objectApiName":"对象名","steedos-object-form_props_recordId":"记录ID","steedos-object-form_props_mode":"显示状态","steedos-object-form_props_enableInitApi":"初始化接口","steedos-object-form_props_layout":"表单布局","steedos-object-form_props_initApiRequestAdaptor":"初始化接口发送适配器","steedos-object-form_props_initApiAdaptor":"初始化接口接收适配器","steedos-object-form_props_apiRequestAdaptor":"保存接口发送适配器","steedos-object-form_props_apiAdaptor":"保存接口接收适配器","steedos-object-form_panelTitle":"设置","steedos-object-form_tab_props":"属性","steedos-object-form_section_basic":"基本","steedos-object-form_field_objectApiName":"对象","steedos-object-form_field_currentObject":"当前对象","steedos-object-form_field_recordId":"记录ID","steedos-object-form_field_mode":"显示状态","steedos-object-form_field_mode_read":"只读","steedos-object-form_field_mode_edit":"编辑","steedos-object-form_field_enableInitApi":"初始化接口","steedos-object-form_field_enable":"启用","steedos-object-form_field_disable":"禁用","steedos-object-form_field_layout":"表单项布局","steedos-object-form_field_layout_vertical":"纵向","steedos-object-form_field_layout_horizontal":"横向","steedos-object-form_field_enableTabs":"是否启用选项卡模式","steedos-object-form_field_tabsMode":"展示模式","steedos-object-form_tabsMode_default":"默认","steedos-object-form_tabsMode_line":"线型","steedos-object-form_tabsMode_card":"卡片","steedos-object-form_tabsMode_radio":"选择器","steedos-object-form_tabsMode_vertical":"垂直","steedos-object-form_tabsMode_chrome":"仿 Chrome","steedos-object-form_tabsMode_simple":"简约","steedos-object-form_tabsMode_strong":"加强","steedos-object-form_tabsMode_tiled":"水平铺满","steedos-object-form_tabsMode_sidebar":"侧边栏","steedos-object-form_section_fields":"字段","steedos-object-form_field_fields":"显示的字段","steedos-object-form_field_excludedFields":"排除的字段","steedos-object-form_field_fieldsExtend":"重写字段配置","steedos-object-form_tip_fieldsExtend":'重写字段配置. 例如\n```\n{\n "name": {\n "is_wide": true, //设置为宽字段\n "required": true, //设置为必填\n "amis": { // 设置渲染属性\n "type": "input-color" //将字段重写为 颜色选择器\n ...\n } \n }, \n "title": {\n "group": "分组1" // 设置分组\n ...\n }\n}\n```',"steedos-object-form_section_advanced":"高级","steedos-object-form_field_defaultData":"初始化静态数据","steedos-object-form_field_formDataFilter":"FORM","steedos-object-form_tip_formDataFilter":"如果需要对组件原始返回的form进行加工,可以自己写一段函数脚本来实现。\n\n函数签名:(form, env, data) => form\n\n参数说明:\n\nform 组件原始返回的form schema\n\nenv amis env,可以调用env.fetcher函数实现异步请求\n\ndata 数据域中的data\n\n返回值:\n\n最后需要返回加工后的form schema\n\n示例:\n\n```\nconsole.log('data===>', data);\nconst api = ...;\nreturn env.fetcher(api, {}).then((result) => {\n console.log(result);\n form.body[0].tabs[0].title='基础信息';\n return form;\n});\n\n```\n","steedos-object-form_tab_appearance":"外观","steedos-object-form_section_css":"CSS 类名","steedos-object-form_field_className":"表单","steedos-object-form_tab_api":"接口","steedos-object-form_section_initApi":"初始化数据接口","steedos-object-form_field_initApiRequestAdaptor":"发送适配器","steedos-object-form_tip_initApiRequestAdaptor":"函数签名:(api) => api, 数据在 api.data 中,修改后返回 api 对象。","steedos-object-form_field_initApiAdaptor":"接收适配器","steedos-object-form_tip_initApiAdaptor":"函数签名: (payload, response, api) => payload","steedos-object-form_section_saveApi":"保存数据接口","steedos-object-form_field_apiRequestAdaptor":"发送适配器","steedos-object-form_tip_apiRequestAdaptor":"函数签名:(api) => api, 数据在 api.data 中,修改后返回 api 对象。","steedos-object-form_field_apiAdaptor":"接收适配器","steedos-object-form_tip_apiAdaptor":"函数签名: (payload, response, api) => payload","steedos-object-listview_group":"华炎魔方","steedos-object-listview_title":"列表视图","steedos-object-listview_description":"显示指定对象的列表视图。","steedos-object-listview_objectApiName":"对象名称","steedos-object-listview_listName":"视图名称","steedos-object-listview_requestAdaptor":"发送适配器","steedos-object-listview_adaptor":"接收适配器","steedos-object-listview_panelTitle":"设置","steedos-object-listview_object":"对象","steedos-object-listview_current_object":"当前对象","steedos-object-listview_view":"视图","steedos-object-listview_perPage":"每页显示记录数量","steedos-object-listview_showHeader":"显示表头","steedos-object-listview_crudMode":"显示模式","steedos-object-listview_table":"表格","steedos-object-listview_cards":"卡片","steedos-object-listview_className":"CSS类名","steedos-object-listview_data_api":"数据接口","steedos-object-listview_requestAdaptor_desc":"函数签名:(api) => api, 数据在 api.data 中,修改后返回 api 对象。","steedos-object-listview_adaptor_desc":"函数签名: (payload, response, api) => payload","steedos-object-listview_advanced":"高级","steedos-object-listview_crud":"CRUD","steedos-object-listview_crud_doc":"如果需要对组件原始返回的crud进行加工,可以自己写一段函数脚本来实现。\n\n函数签名:(crud, env, data) => crud\n\n参数说明:\n\ncrud 组件原始返回的crud schema\n\nenv amis env,可以调用env.fetcher函数实现异步请求\n\ndata 数据域中的data\n\n返回值:\n\n最后需要返回加工后的crud schema\n\n示例:\n\n```\nconsole.log('data===>', data);\nconst api = ...;\nreturn env.fetcher(api, {}).then((result) => {\n console.log(result);\n crud.columns.push({'label': 'xxx', name: 'xxx'});\n return crud;\n});\n\n```","steedos-object-table_group":"华炎魔方","steedos-object-table_title":"对象表格","steedos-object-table_props_objectApiName":"对象名称","steedos-object-table_props_columns":"显示列","steedos-object-table_props_amisCondition":"过滤条件","steedos-object-table_props_sortField":"排序字段","steedos-object-table_props_sortOrder":"排序顺序","steedos-object-table_props_top":"显示的记录数量","steedos-object-table_props_requestAdaptor":"发送适配器","steedos-object-table_props_adaptor":"接收适配器","steedos-object-table_panelTitle":"设置","steedos-object-table_tabs_props":"属性","steedos-object-table_collapse_basic":"基本","steedos-object-table_object":"对象","steedos-object-table_currentObject":"当前对象","steedos-object-table_fields":"显示的字段","steedos-object-table_fieldsExtend":"重写字段配置","steedos-object-table_crudMode":"显示模式","steedos-object-table_crudMode_table":"表格","steedos-object-table_crudMode_cards":"卡片","steedos-object-table_collapse_api":"数据接口","steedos-object-table_requestAdaptor":"发送适配器","steedos-object-table_requestAdaptor_desc":"函数签名:(api) => api, 数据在 api.data 中,修改后返回 api 对象。","steedos-object-table_adaptor":"接收适配器","steedos-object-table_adaptor_desc":"函数签名: (payload, response, api) => payload","steedos-object-table_collapse_advanced":"高级","steedos-object-table_markdown_crud":"如果需要对组件原始返回的crud进行加工,可以自己写一段函数脚本来实现。\n\n函数签名:(crud, env, data) => crud\n\n参数说明:\n\ncrud 组件原始返回的crud schema\n\nenv amis env,可以调用env.fetcher函数实现异步请求\n\ndata 数据域中的data\n\n返回值:\n\n最后需要返回加工后的crud schema\n\n示例:\n\n```\nconsole.log('data===>', data);\nconst api = ...;\nreturn env.fetcher(api, {}).then((result) => {\n console.log(result);\n crud.columns.push({'label': 'xxx', name: 'xxx'});\n return crud;\n});\n```","steedos-object-table_tabs_appearance":"外观","steedos-object-table_collapse_css":"CSS 类名","steedos-object-table_css_table":"表格","steedos-object-table_tabs_filter":"过滤","steedos-object-table_filter_condition":"过滤条件","steedos-object-table_tabs_other":"其他","steedos-object-table_sortField":"排序字段","steedos-object-table_sortOrder":"排序顺序","steedos-object-table_sortOrder_asc":"升序","steedos-object-table_sortOrder_desc":"倒序","steedos-object-table_top":"显示的记录数量","steedos-object-table_top_remark":"即TOP,配置该属性后不再支持翻页,始终显示该属性值配置的记录数","steedos-object-related-listview_group":"华炎魔方","steedos-object-related-listview_title":"相关表","steedos-object-related-listview_description":"显示指定对象的相关某一个相关表。","steedos-object-related-listview_props_objectApiName":"父级对象","steedos-object-related-listview_props_recordId":"父级记录","steedos-object-related-listview_props_relatedObjectApiName":"相关列表对象","steedos-object-related-listview_props_requestAdaptor":"发送适配器","steedos-object-related-listview_props_adaptor":"接收适配器","steedos-object-related-listview_panelTitle":"设置","steedos-object-related-listview_tabs_props":"属性","steedos-object-related-listview_collapse_basic":"基本属性","steedos-object-related-listview_currentObject":"当前对象","steedos-object-related-listview_recordId":"父级记录","steedos-object-related-listview_relatedObjectApiName":"相关列表对象","steedos-object-related-listview_enableHeaderToolbar":"显示表头工具栏","steedos-object-related-listview_top":"显示的记录数量","steedos-object-related-listview_top_remark":"即TOP,配置该属性后不再支持翻页,始终显示该属性值配置的记录数","steedos-object-related-listview_perPage":"每页显示记录数量","steedos-object-related-listview_visibleOn":"显示条件","steedos-object-related-listview_visibleOn_remark":"格式:静态/表达式","steedos-object-related-listview_className":"CSS类名","steedos-object-related-listview_collapse_api":"数据接口","steedos-object-related-listview_requestAdaptor":"发送适配器","steedos-object-related-listview_requestAdaptor_desc":"函数签名:(api) => api, 数据在 api.data 中,修改后返回 api 对象。","steedos-object-related-listview_adaptor":"接收适配器","steedos-object-related-listview_adaptor_desc":"函数签名: (payload, response, api) => payload","steedos-object-related-listview_collapse_advanced":"高级","steedos-object-related-listview_crudDataFilter":"CRUD","steedos-object-related-listview_markdown_crud":"如果需要对组件原始返回的crud进行加工,可以自己写一段函数脚本来实现。\n\n函数签名:(crud, env, data) => crud\n\n参数说明:\n\ncrud 组件原始返回的crud schema\n\nenv amis env,可以调用env.fetcher函数实现异步请求\n\ndata 数据域中的data\n\n返回值:\n\n最后需要返回加工后的crud schema\n\n示例:\n\n```\nconsole.log('data===>', data);\nconst api = ...;\nreturn env.fetcher(api, {}).then((result) => {\n console.log(result);\n crud.columns.push({'label': 'xxx', name: 'xxx'});\n return crud;\n});\n```","steedos-object-related-lists_group":"华炎魔方","steedos-object-related-lists_title":"所有相关表","steedos-object-related-lists_description":"显示指定对象的相关表,可基于页面布局配置相关表清单。","steedos-object-related-lists_props_objectApiName":"父级对象","steedos-object-related-lists_props_recordId":"父级记录","steedos-object-related-lists_panelTitle":"设置","steedos-object-related-lists_panelControls_objectApiName":"父级对象","steedos-object-related-lists_panelControls_recordId":"父级记录","steedos-object-related-lists_currentObject":"当前对象","steedos-record-service_group":"华炎魔方","steedos-record-service_title":"记录服务","steedos-record-service_props_objectApiName":"对象","steedos-record-service_props_objectApiName_currentObject":"当前对象","steedos-record-service_props_recordId":"记录ID","steedos-record-service_props_initApiRequestAdaptor":"初始化接口发送适配器","steedos-record-service_props_tip_initApiRequestAdaptor":"函数签名:(api) => api, 数据在 api.data 中,修改后返回 api 对象。","steedos-record-service_props_initApiAdaptor":"初始化接口接收适配器","steedos-record-service_props_tip_initApiAdaptor":"函数签名: (payload, response, api) => payload","steedos-record-service_panelTitle":"设置","steedos-record-service_regions_body":"内容区","steedos-object-calendar_group":"华炎魔方","steedos-object-calendar_title":"对象日历","steedos-object-calendar_props_objectApiName":"对象名称","steedos-object-calendar_props_startDateExpr":"开始时间字段","steedos-object-calendar_props_endDateExpr":"结束时间字段","steedos-object-calendar_props_allDayExpr":"全天字段","steedos-object-calendar_props_textExpr":"标题字段","steedos-object-calendar_props_currentView":"默认视图","steedos-object-calendar_panelTitle":"设置","steedos-object-calendar_panelControls_objectApiName":"对象","steedos-object-calendar_panelControls_currentObject":"当前对象","steedos-object-calendar_panelControls_startDateExpr":"开始时间字段","steedos-object-calendar_panelControls_endDateExpr":"结束时间字段","steedos-object-calendar_panelControls_allDayExpr":"全天字段","steedos-object-calendar_panelControls_textExpr":"标题字段","steedos-object-calendar_panelControls_currentView":"默认视图","steedos-object-calendar_options_month":"月","steedos-object-calendar_options_week":"周","steedos-object-calendar_options_day":"日","steedos-object-calendar_options_list":"列表","steedos-input-table_group":"华炎魔方","steedos-input-table_title":"表格编辑框","steedos-input-table_description":"表格编辑组件,对amis input-table组件的进一步封装。","steedos-input-table_props_name":"字段名","steedos-input-table_props_fields":"字段配置","steedos-input-table_props_addable":"可新增","steedos-input-table_props_editable":"可编辑","steedos-input-table_props_removable":"可删除","steedos-input-table_props_draggable":"可拖拽","steedos-input-table_props_inlineEditMode":"内联模式","steedos-input-table_props_strictMode":"静态模式","steedos-input-table_props_perPage":"每页展示条数","steedos-input-table_props_enableDialog":"启用弹框模式","steedos-input-table_scaffold_fields_a":"A","steedos-input-table_scaffold_fields_b":"B","steedos-input-table_scaffold_fields_b_options_op1":"选项1","steedos-input-table_scaffold_fields_b_options_op2":"选项2","steedos-input-table_preview_fields_a":"A","steedos-input-table_preview_fields_b":"B","steedos-input-table_preview_fields_b_options_op1":"选项1","steedos-input-table_preview_fields_b_options_op2":"选项2","steedos-input-table_panelTitle":"设置","steedos-input-table_panelControls_name":"字段名","steedos-input-table_panelControls_fields":"字段配置","steedos-input-table_panelControls_columns":"显示的列","steedos-input-table_panelControls_addable":"可新增","steedos-input-table_panelControls_editable":"可编辑","steedos-input-table_panelControls_removable":"可删除","steedos-input-table_panelControls_draggable":"可拖拽","steedos-input-table_panelControls_inlineEditMode":"内联模式","steedos-input-table_panelControls_inlineEditMode_remark":"可编辑时显示为内联模式直接在单元格中编辑字段值。","steedos-input-table_panelControls_strictMode":"静态模式","steedos-input-table_panelControls_strictMode_remark":"为了性能,默认其他表单项项值变化不会让当前表格更新,有时候为了同步获取其它主表单项字段值,需要关闭静态模式,当有类型为lookup且配置了depend_on属性的子字段时,会自动强制关闭静态模式。","steedos-input-table_panelControls_perPage":"每页展示条数","steedos-input-table_panelControls_perPage_remark":"如果为空则不进行分页","steedos-input-table_panelControls_enableDialog":"启用弹框模式","steedos-input-table_panelControls_enableDialog_remark":"禁用弹框模式时,自动开启內联模式","steedos-icon_group":"华炎魔方-原子组件","steedos-icon_title":"图标","steedos-icon_panelTitle":"设置","steedos-icon_category":"分类","steedos-icon_name":"名称","steedos-icon_className":"ClassName","steedos-icon_containerClassName":"容器 ClassName","steedos-icon_colorVariant":"图标颜色","steedos-icon_size":"图标大小","steedos-icon_basePath":"基础路径","steedos-badge_group":"华炎魔方-原子组件","steedos-badge_title":"徽标数","steedos-badge_panelTitle":"设置","steedos-badge_body":"内容区","steedos-badge_color":"小圆点的颜色","steedos-badge_count":"展示的数字","steedos-badge_dot":"不展示数字,只有一个小红点","steedos-badge_overflowCount":"展示封顶的数字值","steedos-badge_showZero":"当数值为 0 时,是否展示 Badge","steedos-badge_size":"在设置了 count 的前提下有效,设置小圆点的大小","steedos-badge_status":"Badge 为状态点","steedos-badge_text":"在设置了 status 的前提下有效,设置状态点的文本","steedos-badge_titleLabel":"设置鼠标放在状态点上时显示的文字","steedos-badge-ribbon_group":"华炎魔方-原子组件","steedos-badge-ribbon_title":"缎带","steedos-badge-ribbon_panelTitle":"设置","steedos-badge-ribbon_body":"内容区","steedos-badge-ribbon_color":"缎带的颜色","steedos-badge-ribbon_placement":"缎带的位置","steedos-badge-ribbon_text":"缎带中填入的内容","steedos-field_group":"华炎魔方-原子组件","steedos-field_title":"字段","steedos-field_scaffold_label":"字段1","steedos-field_preview_label":"字段1","steedos-field_panelTitle":"设置","steedos-field_tab_general":"通用","steedos-field_tab_form":"表单","steedos-field_tab_advanced":"高级","steedos-field_object":"对象","steedos-field_type":"字段类型","steedos-field_type_text":"文本","steedos-field_type_textarea":"长文本","steedos-field_type_html":"富文本","steedos-field_type_code":"代码","steedos-field_type_markdown":"Markdown","steedos-field_type_select":"选择框","steedos-field_type_color":"颜色","steedos-field_type_boolean":"复选框","steedos-field_type_toggle":"开关","steedos-field_type_date":"日期","steedos-field_type_datetime":"日期时间","steedos-field_type_time":"时间","steedos-field_type_number":"数值","steedos-field_type_currency":"金额","steedos-field_type_percent":"百分比","steedos-field_type_password":"密码","steedos-field_type_lookup":"相关表关系","steedos-field_type_master_detail":"主/子表关系","steedos-field_type_autonumber":"自动编号","steedos-field_type_url":"网址","steedos-field_type_email":"邮件地址","steedos-field_type_location":"地理位置","steedos-field_type_image":"图片","steedos-field_type_file":"附件","steedos-field_type_formula":"公式","steedos-field_type_summary":"累计汇总","steedos-field_label":"显示名称","steedos-field_api_name":"API 名称","steedos-field_api_name_remark":"API 名称只能包含小写字母、数字,必须以字母开头,不能以下划线字符结尾或包含两个连续的下划线字符","steedos-field_autonumber_enable_modify":"允许修改编号","steedos-field_rows":"多行文本行数","steedos-field_language":"语言","steedos-field_multiple":"多选","steedos-field_multiple_remark":"单选<==>多选 相互切换,请自行重新提交已有记录或在数据库中统一修改此字段的保存格式。","steedos-field_data_type":"数据类型","steedos-field_data_type_remark":"字段类型为公式时,必须填写此字段。","steedos-field_option_boolean":"布尔","steedos-field_option_number":"数值","steedos-field_option_text":"文本","steedos-field_option_currency":"金额","steedos-field_option_percent":"百分比","steedos-field_option_date":"日期","steedos-field_option_datetime":"日期时间","steedos-field_options":"选择项","steedos-field_options_remark":"选择项的每个选项显示名及选项值不能为空,背景颜色请设置为ffffff这种格式的16进制数值。","steedos-field_options_column_label":"显示名","steedos-field_options_column_value":"选项值","steedos-field_options_column_color":"背景颜色","steedos-field_options_column_description":"描述","steedos-field_options_column_operation":"操作","steedos-field_precision":"数字位数","steedos-field_precision_remark":"小数点左边的数字位数","steedos-field_scale":"小数位数","steedos-field_scale_remark":"如果字段类型为百分比,此项表示小数位数。例如,两位小数会显示为10.20%。","steedos-field_formula":"公式","steedos-field_formula_remark":"字段类型为自动编号或公式时,必须填写此字段。","steedos-field_show_as_qr":"显示为二维码","steedos-field_coordinatesType":"坐标类型","steedos-field_formula_blank_value":"空白字段处理","steedos-field_formula_blank_value_remark":"如果您的公式引用了任何数字和货币字段,请指定当这些字段值为空时如何处理公式输出。","steedos-field_option_formulazeroes":"将空白字段视为零","steedos-field_option_formulablanks":"将空白字段视为空白","steedos-field_reference_to":"引用对象","steedos-field_summary_object":"要汇总的对象","steedos-field_summary_object_remark":"字段类型为累计汇总时,必须填写此字段。","steedos-field_summary_type":"汇总类型","steedos-field_summary_type_remark":"字段类型为累计汇总时,必须填写此字段。","steedos-field_summary_type_count":"COUNT","steedos-field_summary_type_sum":"SUM","steedos-field_summary_type_min":"MIN","steedos-field_summary_type_max":"MAX","steedos-field_summary_type_avg":"AVG","steedos-field_summary_field":"汇总字段","steedos-field_summary_field_remark":"字段类型为累计汇总且汇总类型不是COUNT时,必须填写此字段,只支持聚合数值、金额、日期、日期时间类型的字段。","steedos-field_description":"描述","steedos-field_deleted_lookup_record_behavior":"如果相关表记录被删除怎么办?","steedos-field_deleted_lookup_record_behavior_clear":"清除此字段的值。 如果您将此字段设为必填,您不能选择此选项。","steedos-field_deleted_lookup_record_behavior_retain":"不允许删除"作为相关表关系的一部分的相关表记录"。","steedos-field_write_requires_master_read":"当用户对主表记录有读取权限时对子表记录可以增删改","steedos-field_write_requires_master_read_remark":"设置主记录上创建、编辑或删除子记录所需的最低访问级别。此字段仅适用于·主表/子表·字段类型。勾选表示允许具有'读取'访问权限的用户创建、编辑或删除子记录。反之表示允许具有'读取/写入'访问权限的用户创建、编辑或删除子记录的权限。","steedos-field_required":"必填","steedos-field_is_wide":"宽字段","steedos-field_readonly":"只读","steedos-field_readonly_remark":"只读字段不显示在表单上,数据不会提交到服务端。","steedos-field_static":"静态","steedos-field_static_remark":"静态字段在表单上显示,用户不可编辑,可动态赋值。","steedos-field_inlineHelpText":"提示文本","steedos-field_enable_enhanced_lookup":"弹出选择","steedos-field_enable_enhanced_lookup_remark":"被其他字段引用时,使用弹出框选择记录。","steedos-field_create":"弹出选择时允许新建","steedos-field_depend_on":"依赖字段","steedos-field_depend_on_remark":"依赖字段的变化会触发当前字段重算","steedos-field_enable_thousands":"显示千分符","steedos-field_unique":"创建唯一索引","steedos-field_unique_remark":"默认每天凌晨执行一次创建,已有的索引不重复创建。","steedos-field_filterable":"列表页过滤器默认字段","steedos-field_index":"创建索引","steedos-field_index_remark":"默认每天凌晨执行一次创建,已有的索引不重复创建。","steedos-field_is_name":"名称字段","steedos-field_reference_to_field":"外键字段","steedos-field_reference_to_field_remark":"关联的对象保存到当前对象字段的值;例如:A对象关联B对象后,当A1记录关联了B1记录,默认会存B1记录的_id存到A1记录中。如果修改了外键字段后,会将“外键字段”替换_id存储到A1记录中。","steedos-field_reference_to_field_description":"默认为主键,默认值是_id","steedos-flow-form_title":"流程表单","steedos-flow-form_group":"华炎魔方-审批王","steedos-flow-form_region_body":"内容区","steedos-flow-form_panelTitle":"设置","steedos-flow-form_name":"表单名","steedos-flow-form_style":"样式","steedos-flow-form_style_table":"表格","steedos-flow-form_style_wizard":"向导","steedos-flow-form_mode":"表单模式","steedos-flow-form_mode_normal":"默认","steedos-flow-form_mode_horizontal":"水平模式","steedos-flow-form_mode_inline":"内联模式","steedos-flow-form_wizard_mode":"向导模式","steedos-flow-form_wizard_mode_vertical":"纵向","steedos-flow-form_wizard_mode_horizontal":"横向","steedos-flow-form_description":"描述"};const resources={en:{translation:en_us$1,"widgets-meta":widget_ed},"zh-CN":{translation:zh_cn$1,"widgets-meta":widget_zh}},getUserLanguage$1=()=>{var e=Builder.settings.context?.user?.language||Builder.settings.locale||window.navigator.language;return("en"===e||e.startsWith("en-"))&&(e="en"),e};var locale$1="zh-CN";async function getQuickEditSchema(e,t,n){let o=e.fields[t.name],r=!1;window.amisRequire&&window.amisRequire("amis")?r=window.amisRequire("amis").version[0]>=3&&window.amisRequire("amis").version[2]>=2:window.Amis&&(r=window.Amis.version[0]>=3&&window.Amis.version[2]>=2);const a=n.objectName+"_"+o.name+"_quickEdit";var i={body:[],id:a,className:"steedos-table-quickEdit"};if("avatar"!=o.type&&"image"!=o.type&&"file"!=o.type&&r){const e={submit:{actions:[{actionType:"validate",componentId:a,outputVar:"form_validate_result"},{actionType:"custom",script:`\n let items = _.cloneDeep(event.data.items);\n let selectedItems = _.cloneDeep(event.data.selectedItems);\n if(event.data.isBatchEdit){\n selectedItems.forEach(function(selectedItem){\n selectedItem._display.${o.name} = event.data._display.${o.name};\n doAction({actionType: 'setValue', "args": {"value": selectedItem._display},componentId: "${n.objectName}" + "_display_" + selectedItem._index});\n doAction({actionType: 'setValue', "args": {"value": event.data.${o.name}},componentId: "${n.objectName+"_"+o.name+"_"}" + selectedItem._index});\n })\n }else{\n doAction({actionType: 'setValue', "args": {"value": event.data._display},componentId: "${n.objectName}" + "_display_" + event.data._index});\n doAction({actionType: 'setValue', "args": {"value": event.data.${o.name}},componentId: "${n.objectName+"_"+o.name+"_"}" + event.data._index});\n }\n `,expression:"${!form_validate_result.error}"},{actionType:"closeDialog",expression:"${!form_validate_result.error}"}]}};i.onEvent=e}if(o.disabled)i=!1;else{var s=Object.assign({},_$1__namespace.omit(n,"buttons"),{defaults:Object.assign({},n.defaults,{formSchema:i})}),l=await convertSFieldToAmisField(o,!1,s);if(l){i.body.push(l);var c="";i.body[0].onEvent={};const e=function(e){return{actions:[{actionType:"custom",script:`\n var _display = _.cloneDeep(event.data._display);\n ${e}\n doAction({actionType: 'setValue', "args": {"value": {_display}},componentId: "${a}"});\n `}]}};switch(o.type){case"lookup":case"master_detail":let t=i.body[0].labelField||"label",n=i.body[0].valueField||"value";c=o.multiple?`\n const preData = _.cloneDeep(event.data.__super.${o.name});\n if(preData && event.data.${o.name}.length < preData.length){\n let deletedIndex;\n preData.forEach(function(item,index){\n if(_.indexOf(event.data.${o.name}, item) == -1) _display["${o.name}"].splice(index, 1);\n })\n }else{\n _display["${o.name}"] = [];\n event.data.value.forEach(function(val,index){\n const item = _.find(event.data.selectedItems, { ${n}: val });\n _display["${o.name}"].push(\n {\n "label": item.${t},\n "value": item[event.data.uiSchema.idFieldName],\n "objectName": "${o.reference_to}"\n }\n )\n })\n }\n \n `:`\n if(event.data.value){\n _display["${o.name}"] = {\n "label": event.data.selectedItems.${t},\n "value": event.data.selectedItems[event.data.uiSchema.idFieldName],\n "objectName": "${o.reference_to}"\n }\n }else{\n _display["${o.name}"] = {}\n }\n `,i.body[0].onEvent.change=e(c);break;case"select":c=`\n _display["${o.name}"] = event.data.selectedItems.label;\n `,i.body[0].onEvent.change=e(c);break;case"percent":c=`\n if(event.data.value){\n _display["${o.name}"] = event.data.value.toFixed(${o.scale}) + '%';\n } else {\n _display["${o.name}"] = event.data.value;\n }\n \n `,i.body[0].onEvent.change=e(c);break;case"time":c=`\n _display["${o.name}"] = moment(event.data.value).utc().format('HH:mm');\n `,i.body[0].onEvent.change=e(c);break;case"date":c=`\n _display["${o.name}"] = moment(event.data.value).utc().format('YYYY-MM-DD');\n `,i.body[0].onEvent.change=e(c);break;case"datetime":c=`\n _display["${o.name}"] = moment(event.data.value).format('YYYY-MM-DD HH:mm');\n `,i.body[0].onEvent.change=e(c);break;case"boolean":c=`\n _display["${o.name}"] = event.data.value?"√":"";\n `,i.body[0].onEvent.change=e(c);break;case"number":case"currency":c=`\n _display["${o.name}"] = event.data.value && event.data.value.toFixed(${o.scale});\n `,i.body[0].onEvent.change=e(c);break;case"file":var d="";o.multiple?(c=`\n _display["${o.name}"].push({\n "name": event.data.result.name,\n "url": event.data.result.url,\n "value": event.data.result.value,\n "_id": event.data.result.value,\n "type": event.data.item.type,\n "size": event.data.item.size\n });\n `,d=`\n _.remove(_display["${o.name}"], function(file){return file.url == event.data.item.url});\n `):(c=` \n _display["${o.name}"] = {\n "name": event.data.result.name,\n "url": event.data.result.url,\n "value": event.data.result.value,\n "_id": event.data.result.value,\n "type": event.data.item.type,\n "size": event.data.item.size\n };\n `,d=`\n if(_display["${o.name}"].url == event.data.item.url){\n _display["${o.name}"] = {};\n }\n `),i.body[0].onEvent.success=e(c),i.body[0].onEvent.remove=e(d);break;case"avatar":case"image":i.body[0].receiver.adaptor=`\n const superData = (typeof context != 'undefined') ? context : api.body; \n const { context:pageContext } = superData; \n var rootUrl = pageContext.rootUrl + "/api/files/${o.type}s/";\n payload = {\n status: response.status == 200 ? 0 : response.status,\n msg: response.statusText,\n data: {\n value: rootUrl + payload._id,//为了实现图片crud的回显,需要将value从id改为url,当保存数据数据时,再在发送适配器内重新将id提取出来\n name: payload.original.name,\n url: rootUrl + payload._id,\n }\n }\n return payload;\n `}i.body[0].visibleOn="${quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}",i.body.push({type:"service",body:[{type:"tpl",tpl:instance.t("frontend_records_no_allowedit"),visibleOn:"${!quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}"},{type:"spinner",showOn:"${quickedit_record_permissions_loading}"}],onEvent:{init:{actions:[{actionType:"custom",script:`\n crudScoped = event.context.scoped.getComponentById('${n.crudId}');\n const selectedItems = crudScoped && crudScoped.control.getSelected();\n doAction({\n "componentId": "${a}",\n "actionType": "setValue",\n "args": {\n "value": {\n selectedItems\n }\n }\n });\n `},{actionType:"setValue",componentId:a,args:{value:{quickedit_record_permissions_loading:!0}}},{actionType:"ajax",args:{api:{url:"${context.rootUrl}/service/api/@${objectName}/recordPermissions/${_id}",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},cache:3e4,messages:{failed:"失败了呢。。"}}},expression:"${!recordPermissions.modifyAllRecords}"},{actionType:"setValue",componentId:a,args:{value:{quickedit_record_permissions_loading:!1}}},{actionType:"setValue",componentId:a,args:{value:{quickedit_record_permissions:"${recordPermissions.modifyAllRecords ? {'allowEdit': true} : event.data}"}}}]}}}),"avatar"!=o.type&&"image"!=o.type&&"file"!=o.type&&r&&i.body.push({name:"isBatchEdit",type:"checkbox",option:[{type:"tpl",tpl:"更新${COUNT(selectedItems)}个选定记录"},{type:"spinner",showOn:"${batchPermissionLoading}",size:"sm",className:"mr-4"}],visibleOn:"${ARRAYSOME(selectedItems, item => item._id === _id) && COUNT(selectedItems)>1 && quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}",disabledOn:"${batchPermissionLoading}",onEvent:{change:{actions:[{actionType:"setValue",componentId:a,args:{value:{batchPermissionLoading:!0}},expression:"${event.data.value}"},{actionType:"ajax",args:{api:{url:"${context.rootUrl}/graphql",method:"post",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},data:{query:'{rows:${objectName}(filters:["_id","in",${selectedItems | pick:_id | split | json}]){_id,_permissions{allowEdit}}}'},adaptor:"\n const noPermission = [];\n payload.data.rows.forEach(function (row) {\n if(!row._permissions.allowEdit){\n noPermission.push(row._id);\n }\n })\n payload.data.noPermission = noPermission;\n return payload;\n "}},expression:"${event.data.value && !recordPermissions.modifyAllRecords}"},{actionType:"setValue",componentId:a,args:{value:{batchPermissionLoading:!1}},expression:"${event.data.value}"},{actionType:"dialog",dialog:{title:"记录权限",showCloseButton:!1,body:[{type:"tpl",tpl:"当前选中记录中,有${COUNT(noPermission)}条记录无编辑权限,是否需要批量编辑其他记录?"}],onEvent:{confirm:{actions:[{actionType:"custom",script:`\n const noPermission = event.data.noPermission;\n const crudComponent = event.context.scoped.getComponentById("${n.crudId}");\n let selectedItems = crudComponent && crudComponent.props.store.selectedItems.concat();\n noPermission.forEach(function (item) {\n crudComponent && crudComponent.unSelectItem(_.find(selectedItems,{_id:item}));\n _.remove(selectedItems, (selected) => selected._id === item);\n })\n doAction({\n "componentId": "${a}",\n "actionType": "setValue",\n "args": {\n "value": {\n selectedItems\n }\n }\n });\n `},{actionType:"setValue",componentId:a,args:{value:{isBatchEdit:!0}}}]},cancel:{actions:[{actionType:"setValue",componentId:a,args:{value:{isBatchEdit:!1}}}]}}},expression:"${COUNT(event.data.noPermission)>0}"}]}}})}else i=!1;"lookup"!=o.type||r||(i=!1),"file"==o.type&&o.multiple&&(i=!1),"location"==o.type&&(i=!1),"color"==o.type&&(i={type:"input-color"})}return i}function getFieldWidth(e){const t=null;return"string"==typeof e?isNaN(e)?e||t:Number(e)||t:"number"==typeof e?e:t}async function getColumnItemOnClick(e,t){let n=t.objectName;e.is_name||e.name===t.labelFieldName||(n=e.reference_to);const o=await getPage({type:"record",appId:t.appId,objectName:n,formFactor:t.formFactor}),r=o?Object.assign({},o.schema,{recordId:`\${${t.idFieldName}}`,data:{...o.schema.data,_inDrawer:!0,recordLoaded:!1,recordId:`\${${t.idFieldName}}`,_lookupObjectName:t.objectName}}):{type:"steedos-record-detail",objectApiName:"${objectName}",recordId:`\${${t.idFieldName}}`,showBackButton:!1,showButtons:!0,data:{_inDrawer:!0,recordLoaded:!1,_lookupObjectName:t.objectName}};return e.is_name||e.name===t.labelFieldName||(r.objectApiName=e.reference_to,r.recordId=`\${_display.${e.name}.value}`),{click:{actions:[{actionType:"drawer",drawer:{type:"drawer",title:" ",headerClassName:"hidden",size:"lg",width:window.drawerWidth||"70%",bodyClassName:"p-0 m-0 bg-gray-100",closeOnEsc:!0,closeOnOutside:!0,resizable:!0,actions:[],body:[r],className:"steedos-record-detail-drawer app-popover",id:"u:fc5f055afa8c"},preventDefault:!0}]}}}async function getTableColumns(e,t,n){const o=[];n.isLookup||n.isInputTable||n.enable_tree||o.push({name:"_index",type:"text",width:32,placeholder:""});const r=n.permissions?.allowEdit&&!n.isLookup&&0!=n.enable_inline_edit;for(const a of t){if(a.hidden||a.extra)continue;const t=r?await getQuickEditSchema(e,a,n):r;let i=`steedos-table-${a.type}-field`;"Safari"===getBowserType()||1!=a.wrap?i+=" whitespace-nowrap ":i+=" break-words ","object"==typeof a.amis?.className?i={[i]:"true",...a.amis.className}:"string"==typeof a.amis?.className&&(i=`${i} ${a.amis.className} `);let s,l=_$1__namespace.clone(a.amis);delete l?.className;let c=!!(window&&window.nw&&window.nw.require);if((a.is_name||a.name===n.labelFieldName)&&"cms_files"===n.objectName&&c){const e=`\n var data = event.data;\n var file_name = data.versions ? data.name : "${a.label}";\n var file_id = data.versions && data.versions[0] && data.versions[0]._id;\n window.previewFile && window.previewFile({file_name, file_id});\n `;s=Object.assign({},{type:"button",label:`<%=data.versions ? data.name : "${a.label}"%>`,className:i,level:"link",onEvent:{click:{actions:[{args:{},actionType:"custom",script:e,expression:"!!(window && window.nw && window.nw.require)"}]}}},l)}else if("toggle"===a.type)s=Object.assign({},{type:"switch",name:a.name,label:a.label,width:getFieldWidth(a.width),toggled:a.toggled,static:!0,className:i},l,{name:a.name});else if("avatar"===a.type||"image"===a.type||"file"===a.type)s=Object.assign({},{type:"switch",name:a.name,label:a.label,width:getFieldWidth(a.width),toggled:a.toggled,static:!0,className:i,...await getAmisFileReadonlySchema(a)},l);else if("select"===a.type){const e=getSelectMap(a.options);s=Object.assign({},{type:"static-mapping",name:a.name,label:a.label,map:e,sortable:a.sortable,width:getFieldWidth(a.width),toggled:a.toggled,className:i,inputClassName:"inline",static:!0},l,{name:a.name})}else if("lookup"===a.type||"master_detail"===a.type)s=Object.assign({},{type:"static-wrapper",name:a.name,label:a.label,sortable:a.sortable,width:getFieldWidth(a.width),toggled:a.toggled,className:i,size:"none",inputClassName:"inline",body:{type:"steedos-field",static:!0,isLookupInTable:!0,config:{type:"lookup",reference_to:a.reference_to,name:a.name,is_name:a.is_name,label:null,multiple:a.multiple,amis:Object.assign({},l,{label:null})}}},l,{name:a.name});else{const e=await getFieldTpl(a,n);let t="static-text";if(e?t="static":"html"===a.type?t="static-markdown":"url"===a.type&&(t=a.show_as_qr?"static-qr-code":"input-url"),"textarea"===a.type&&(i+="min-w-56"),!a.hidden&&!a.extra){s=Object.assign({},{name:a.name,label:a.label,sortable:a.sortable,width:getFieldWidth(a.width),type:t,tpl:e,toggled:a.toggled,className:i,inputClassName:"inline",static:!0,options:"html"===a.type?{html:!0}:null},l,{name:a.name}),"color"===a.type&&(s.type="color",s.defaultColor=null);let o=!1;o=n.isRelated&&(a.is_name||a.name===n.labelFieldName),window.innerWidth>=768&&o&&(s.onEvent=await getColumnItemOnClick(a,n))}}s&&(t&&(s.quickEdit=t,s.quickEditEnabledOn="${is_system !== true}"),s.id=`${n.objectName}_${a.name}_\${_index}`,o.push(s))}if(!n.isLookup&&!n.isInputTable&&!_$1__namespace.some(o,{name:n.labelFieldName})){const e=Router.getObjectDetailPath({...n,formFactor:n.formFactor,appId:"${appId}",objectName:n.objectName||"${objectName}",recordId:`\${${n.idFieldName}}`});o[0].type="tpl",o[0].tpl=`<a href="${e}">\${${o[0].name}}</a>`}return o}function getMobileLines(e){let t=[],n=[],o=!1,r=!0,a="",i="flex items-center justify-between mb-1";return e.forEach(function(e){var s;o&&t.length<3&&(t.push({type:"wrapper",body:n,size:"none",className:i}),n=[]),r?(a="steedos-listview-item-left truncate",e.field.is_wide&&(a="steedos-listview-item-wide"),0===t.length&&(a+=" font-bold text-gray-800")):a="steedos-listview-item-right truncate ml-2 flex flex-shrink-0",s="object"==typeof e.field.amis?.className?{[a]:"true",...e.field.amis.className}:"string"==typeof e.field.amis?.className?`${a} ${e.field.amis.className} `:a,n.push({type:"tpl",tpl:e.tpl,className:s}),e.field.is_wide?(r=!0,o=!0):(r=!r,o=r)}),n.length&&t.length<3&&t.push({type:"wrapper",body:n,size:"none",className:i}),t}async function getMobileTableColumns(e,t){const n=[];let o={},r=[];for(const n of e){let e="";n.is_name||n.name===t.labelFieldName?(o=n,t=Object.assign({},t,{onlyDisplayLookLabel:!0}),e=await getFieldTpl(n,t)):"avatar"===n.type||"image"===n.type||"file"===n.type?e=`\${_display.${n.name}.name}`:("lookup"!==n.type&&"master_detail"!==n.type||(t=Object.assign({},t,{onlyDisplayLookLabel:!0})),e=await getFieldTpl(n,t)),e||(e=`\${${n.name}}`),n.hidden||n.extra||r.push({field:n,tpl:e})}const a=getNameTplUrl(o,t),i=getMobileLines(r);let s={name:o.name,label:"split"==t.displayAs?"":o.label,sortable:o.sortable,type:"button",level:"link",actionType:"link",link:a,innerClassName:{"steedos-listview-item block text-gray-500":"true","max-w-[360px]":"${display == 'split'}"},body:{type:"wrapper",body:i,size:"none",className:"p-1"}};return"cms_files"===t.objectName&&(s=window.Meteor?.isCordova?{...s,actionType:"",link:"",onEvent:{click:{actions:[{script:'\n let cms_url = \'\';\n let value = event.data.versions[0];\n if(value){\n if(value.url){\n cms_url = value.url;\n }else{\n cms_url = Steedos.absoluteUrl("/api/files/files/"+value+"?download=true");\n }\n }\n Steedos.cordovaDownload(encodeURI(cms_url), event.data.name);\n ',actionType:"custom"}],weight:0}}}:{...s,actionType:"",link:"",onEvent:{click:{actions:[{actionType:"link",args:{link:a}}],weight:0}}}),n.push(s),n}function getDefaultParams$1(e){return{perPage:e.top||e.perPage||config.listView.perPage}}function getButtonVisibleOn$1(e){let t=e.visible;if(e._visible&&(t=e._visible),_$1.isBoolean(t)&&(t=t.toString()),t){if(t.trim().startsWith("function")){t=t.replace("function","function __visible");return`(function _visible(){try{return (${t})(objectName, typeof _id === 'undefined' ? null: _id, typeof record === 'undefined' ? (typeof recordPermissions === 'undefined' ? {} : recordPermissions) : record.recordPermissions, data)}catch(e){console.error(e)}})()`}return t}if("amis_button"===e.type){const t=e.amis_schema;if(t&&t.body&&t.body.length>0){return t.body[0].visibleOn}}}async function getTableOperation(e){const t=e.buttons,n=[];if(_$1.each(t,e=>{_$1.isBoolean(e.visible)&&(e.visible=e.visible.toString()),n.push({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOnAlias:getButtonVisibleOn$1(e),className:"antd-Button--default"})}),!(n.length<1))return{type:"operation",label:" ",fixed:"right",labelClassName:"text-center",className:"text-center steedos-listview-operation w-10 is-sticky is-sticky-right is-sticky-first-right",buttons:[{type:"steedos-dropdown-button",label:"xxx",buttons:n,placement:"bottomRight",overlayClassName:"border rounded !min-w-[160px]",trigger:["click"],id:"u:c2140a365019",onOpenApi:{url:"${context.rootUrl}/service/api/@${objectName}/recordPermissions/${_id}",method:"get",requestAdaptor:"api.data={}; return api;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:"\n payload = {\n record: {\n recordPermissions: payload\n }\n };\n return payload;\n "}}]}}async function getDefaultCrudCard(e,t){let n,o=t?.labelFieldName||"name",r=[];e.forEach(function(e){delete e.quickEdit,delete e.width,e.name===o?n=e:"_index"!==e.name&&r.push(e)});let a={header:{title:n.tpl},body:r,toolbar:[]};if(!("SMALL"===t.formFactor||["split"].indexOf(t.displayAs)>-1)){let e=await getTableOperation(t);e&&(e.className+=" inline-block w-auto"),a.toolbar.push(e)}return a}async function getTableSchema$1(e,t,n){n||(n={});let{isLookup:o,hiddenColumnOperation:r}=n;const a=n.defaults,i=a&&a.listSchema||{};let s=[],l="SMALL"===n.formFactor||["split"].indexOf(n.displayAs)>-1;if(o&&(l=!1),i.mode&&"table"!==i.mode&&(l=!1),l)s=await getMobileTableColumns(t,n);else{if(s=await getTableColumns(e,t,n),"cards"===i.mode){let e=i.card;return e||(e=await getDefaultCrudCard(s,n)),{mode:"cards",perPageAvailable:[20,50,100,500],name:"thelist",headerToolbarClassName:"py-2 px-2 border-gray-300 border-solid border-b",className:"",draggable:!1,card:e,syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!!o,labelTpl:`\${${n.labelFieldName}}`,autoFillHeight:!1,columnsTogglable:!1,...getDefaultParams$1(n)}}if(!o&&!r){const e=await getTableOperation(n);s.push(e)}}const c={};return n.enable_tree&&(c.expandConfig={expand:"first"}),{mode:"table",perPageAvailable:[20,50,100,500],name:"thelist",headerToolbarClassName:"py-2 px-2 border-gray-300 border-solid border-b",className:"",draggable:!1,columns:s,syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!!o,labelTpl:`\${${n.labelFieldName}}`,autoFillHeight:!1,columnsTogglable:!1,...c,...getDefaultParams$1(n)}}function getScriptForAddUrlPrefixForImgFields(e,t){let n=[],o={};return e.forEach(e=>{_$1__namespace.includes(["image","avatar"],e.type)&&(n.push(e.name),o[e.name]={name:e.name,type:e.type,multiple:e.multiple})}),n.length?`\n // image字段值添加URL前缀\n let imgFieldsKeys = ${JSON.stringify(n)};\n let imgFields = ${JSON.stringify(o)};\n imgFieldsKeys.forEach((item)=>{\n let imgFieldValue = data[item];\n let imgFieldDisplayValue = data._display && data._display[item];\n if(imgFieldValue && imgFieldValue.length){\n let fieldProps = imgFields[item];\n if(fieldProps.multiple){\n if(imgFieldDisplayValue instanceof Array){\n data[item] = imgFieldDisplayValue.map((i)=>{ \n const url = window.getImageFieldUrl(i.url, ${t});\n return url;\n });\n }\n }else{\n const url = imgFieldDisplayValue && window.getImageFieldUrl(imgFieldDisplayValue.url, ${t});\n data[item] = url;\n }\n }\n })\n `:""}async function getListBody(e,t){const n=[];for(const o of e){const e=await getFieldTpl(o,t);let r="text";e&&(r="tpl"),o.hidden||o.extra||n.push({name:o.name,label:o.label,sortable:o.sortable,width:o.width,type:r,tpl:e,toggled:o.toggled})}return{type:"hbox",columns:n}}function getDefaultParams(e){return{perPage:e.top||e.perPage||20}}async function getListSchema$1(e,t){return{mode:"list",name:"thelist",draggable:!1,headerToolbar:["reload"],syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:"${name}",listItem:{body:[...(await getListBody(e,t)).columns],actions:!1===t.actions?null:[{icon:"fa fa-eye",label:instance.t("frontend_form_view"),type:"button",actionType:"link",link:Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:t.tabId,listView:t.listView,recordId:"${_id}"})}]},...getDefaultParams(t)}}"undefined"!=typeof window&&(window.steedosI18next=instance,locale$1=getUserLanguage$1()),instance.use(initReactI18next).init({resources:resources,lng:locale$1,interpolation:{escapeValue:!1}}),"function"==typeof SuppressedError&&SuppressedError;const getSchema$5=async(e,t)=>{const n=`\n let formSchema = {\n "type": "steedos-object-form",\n "label": "对象表单",\n "objectApiName": "\${objectName}",\n "recordId": "",\n "mode": "edit",\n };\n\n if (payload && payload.schema) {\n formSchema = _.isString(payload.schema) ? JSON.parse(payload.schema) : payload.schema;\n }\n\n const fields = ${JSON.stringify(e.fields)};\n const selectedRowResponseResult = api.body.selectedRowResponseResult;\n let defaultData = {}; \n\n if(!_.isEmpty(selectedRowResponseResult)){\n const fieldsKeys = _.keys(fields);\n // 如果新建记录时复制的数据中有omit或其他不相关字段数据时不应该一起保存到数据库,\n // 原规则见:https://github.com/steedos/steedos-frontend/issues/297\n _.forEach(selectedRowResponseResult, (val, key) => {\n if (fieldsKeys.indexOf(key) > -1 && fields[key].omit !== true && key != 'owner') {\n defaultData[key] = val;\n }\n })\n }\n\n const _master = api.body._master;\n if(_master && _master._isRelated){\n const relatedKey = _master.relatedKey;\n const masterObjectName = _master.objectName;\n const recordId = _master.recordId || _master.record._id;\n let relatedKeySaveValue = recordId;\n const relatedField = fields[relatedKey];\n if(relatedField && relatedField.reference_to_field && relatedField.reference_to_field !== '_id'){\n relatedKeySaveValue = _master.record[relatedField.reference_to_field];\n }\n let relatedKeyValue; \n if(relatedField && !_.isString(relatedField.reference_to)){\n relatedKeyValue = { o: masterObjectName, ids: [relatedKeySaveValue] };\n }else if (relatedField && relatedField.multiple) {\n relatedKeyValue = [relatedKeySaveValue];\n } else {\n relatedKeyValue = relatedKeySaveValue;\n }\n defaultData[relatedKey]=relatedKeyValue;\n }\n\n if(!_.isEmpty(defaultData)){\n if(payload.schema){\n // 表单微页面第一层要求是page\n formSchema.data.defaultData = defaultData;\n }else{\n formSchema.defaultData = defaultData;\n }\n }\n return {\n data: formSchema\n };\n `;return{type:"service",body:[{type:"button",level:"primary",label:instance.t("frontend_form_new"),id:"u:standard_new",onEvent:{click:{weight:0,actions:[{actionType:"custom",script:"\n const isLookup = event.data.isLookup;\n if(isLookup){\n // lookup弹出窗口的新建功能不需要支持复制新建\n return;\n }\n const uiSchema = event.data.uiSchema;\n const objectName = event.data.objectName;\n const crudId = event.data.crudId || \"listview_\" + objectName;\n const listViewRef = event.context.scoped.getComponentById(crudId);\n const selectedItems = listViewRef && listViewRef.props.store.toJSON().selectedItems || [];\n event.data.selectedIds = _.map(selectedItems, uiSchema.idFieldName || '_id');\n "},{actionType:"ajax",outputVar:"selectedRowResponseResult",args:{api:{url:"${context.rootUrl}/api/v1/${uiSchema.name}/${selectedIds|first}",method:"get"}},expression:"${selectedIds.length > 0}"},{actionType:"dialog",dialog:{type:"dialog",data:{$master:"$$",_master:"${_master}","_master._isRelated":"${_isRelated}","_master.relatedKey":"${relatedKey}",appId:"${appId}",objectName:"${objectName}",context:"${context}",global:"${global}",listViewId:"${listViewId}",displayAs:"${displayAs}",uiSchema:"${uiSchema}",isLookup:"${isLookup}",listName:"${listName}",selectedRowResponseResult:"${selectedRowResponseResult}",_lookupObjectName:"${_lookupObjectName}"},title:instance.t("frontend_form_new")+" ${uiSchema.label | raw}",body:[{type:"service",id:"u:1678e148c4d2",messages:{},schemaApi:{data:{isLookup:"${isLookup}",_master:"${_master}",url:"${context.rootUrl}/api/pageSchema/form?app=${appId}&objectApiName=${objectName}&formFactor=${formFactor}",selectedRowResponseResult:"${selectedRowResponseResult}"},url:"${context.rootUrl}/api/pageSchema/form?app=${appId}&objectApiName=${objectName}&formFactor=${formFactor}",method:"get",messages:{},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"return { ...api, url: api.body.url }",adaptor:n}}],showCloseButton:!0,id:"u:e11347411d2d",closeOnEsc:!1,closeOnOutside:!1,size:"lg",actions:[{type:"button",actionType:"cancel",label:instance.t("frontend_form_cancel"),className:"form-btn-cancel"},{type:"button",label:instance.t("frontend_form_save_and_new"),actionType:"confirm",close:!1,id:"confirmAndNew",className:"form-btn-save_and_new"},{type:"button",actionType:"confirm",label:instance.t("frontend_form_save"),primary:!0,className:"form-btn-save"}]}}]}}}],regions:["body"],className:"p-0 border-0",id:"u:aef99d937b10"}};async function getObjectFieldsFilterFormSchema(e){e||(e={});return{type:"service",visibleOn:"this.filterFormSearchableFields && this.filterFormSearchableFields.length",className:"SMALL"===e.formFactor?"slds-filters__body p-0 mb-2 overflow-y-auto overflow-x-hidden":"slds-filters__body p-0 sm:grid sm:gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 p-1",style:{"max-height":"SMALL"===e.formFactor?"30vh":"unset"},schemaApi:{method:"post",data:{$self:"$$",query:""},url:"/api/amis/health_check?reload=${filterFormSearchableFields|join}",adaptor:`\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n const selfData = api.body.$self;\n const uiSchema = selfData.uiSchema;\n const fields = uiSchema.fields;\n const filterFormSearchableFields = (selfData.filterFormSearchableFields || []).filter(function(item){\n return !!fields[item]\n });\n const resolveAll = function(values){\n payload.data = {\n "body": values\n };\n return payload;\n }\n\n const rejectAll = function(){\n console.warn("run function getFieldSearchable failed.");\n }\n\n return Promise.all(filterFormSearchableFields.map(function (item) {\n const field = _.clone(fields[item]);\n if (\n field && window.isFieldTypeSearchable(field.type)\n ) {\n var ctx = ${JSON.stringify(e)};\n const amisField = window.getFieldSearchable(field, fields, ctx);\n return amisField;\n }\n })).then(resolveAll, rejectAll);\n `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}}async function getObjectFieldsFilterBarSchema(e,t){t||(t={});const n=t.searchable_fields,o=!!t.auto_open_filter,r="btn_filter_form_search_"+(new Date).getTime(),a=await getObjectFieldsFilterFormSchema(t),i=t.keywordsSearchBoxName||"__keywords",s=`\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === "form";\n });\n // 使用filterForm.getValues()的话,并不能拿到本地存储中的过滤条件,所以需要从event.data中取,因为本地存储中的过滤条件自动填充到表单上时filterForm.getValues()拿不到。\n let filterFormValues = event.data;\n filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据\n const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});\n // 同步__changedFilterFormValues中的值\n // crud && crud.setData({__changedFilterFormValues: {}});\n let __changedFilterFormValuesKey = "__changedFilterFormValues";\n if(isLookup && __lookupField){\n let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += "__" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = changedFilterFormValues;\n crud.setData(crudData);\n }\n filterForm.handleFormSubmit(event);\n // var filterFormValues = filterForm.getValues();\n // var listView = scope.parent.parent.parent.getComponents().find(function(n){\n // return n.props.type === "crud";\n // });\n // const removedValues = {};\n // // 设置搜索项中移除搜索项后,filterFormValues未把其字段的空值保存为own property,即hasOwnProperty属性中\n // // 这会造成handleFilterSubmit时把移除掉的搜索项字段之前的值加到过滤条件中\n // for(var k in filterFormValues){\n // if(filterFormValues[k] === "" && !filterFormValues.hasOwnProperty(k)){\n // removedValues[k] = null;\n // }\n // }\n // listView.handleFilterSubmit(Object.assign({}, removedValues, filterFormValues));\n // 点击搜索的时候自动收起搜索栏\n //触发amis crud 高度重算\n doAction({\n "actionType": "broadcast",\n "args": {\n "eventName": "@height.changed.${e.name}"\n },\n "data": {\n "timeOut": 500\n }\n });\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === "service";\n });\n let showFieldsFilter = true;\n // const isMobile = window.innerWidth < 768;\n // if(event.data.__from_fields_filter_settings_confirm){\n // // 如果是从设置搜索项点击确认按钮触发的搜索事件不应该自动关闭搜索栏\n // showFieldsFilter = true;\n // }\n // else if(isMobile){\n // // 如果是手机端,点击搜索后自动关闭搜索栏\n // showFieldsFilter = false;\n // }\n // else if(event.data.displayAs === "split") {\n // // PC上分栏模式下的列表,始终按手机上效果处理,即自动关闭搜索栏\n // showFieldsFilter = false;\n // }\n // else if(window.innerHeight >= 1200){\n // // 高分辨率屏幕(2k+),列表高度比较高,没必要自动关闭搜索栏\n // showFieldsFilter = true;\n // }\n filterService.setData({showFieldsFilter});\n // resizeWindow();//已迁移到搜索栏表单提交事件中执行,因为表单项change后也会触发表单提交了\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});\n crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter});\n `,l=`\n // console.log("===onCancelScript=form==");\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === "form";\n });\n var filterFormValues = filterForm.getValues();\n let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");\n const removedValues = {};\n for(var k in filterFormValues){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n if(!event.data.isLookup){\n // 刷新浏览器后,filterFormValues值是空的,只能从本地存储中取出并重置为空值\n const listName = event.data.listName;\n const listViewPropsStoreKey = location.pathname + "/crud";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n for(var k in localListViewProps){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n }\n }\n else{\n const keywordsSearchBoxName = "${i}";\n //lookup字段保留快速搜索条件\n removedValues[keywordsSearchBoxName] = filterFormValues[keywordsSearchBoxName];\n }\n filterForm.setValues(removedValues);//会把表单提交到toolbar的快速搜索区域,造成在快速搜索框中触发搜索时再次把搜索表单中的字段值清除掉的bug,已单独在快速搜索框那边添加搜索事件代码处理过了\n // 以下方法都无法实现清除表单值\n // filterForm.setValues({}, true)\n // filterForm.reset();\n // filterForm.handleAction({},{\n // "actionType": "setValue",\n // "args": {\n // "value": removedValues\n // }\n // });\n // 下面触发clear动作可以清除表单值,且不会把表单提交到toolbar的快速搜索区域,但是会把金额等范围字段清空成非范围字段\n // filterForm.handleAction({},{\n // "actionType": "clear"\n // });\n\n // 清除__changedFilterFormValues中的值\n // crud && crud.setData({__changedFilterFormValues: {}});\n let __changedFilterFormValuesKey = "__changedFilterFormValues";\n if(isLookup && __lookupField){\n let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += "__" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = {};\n crud.setData(crudData);\n }\n filterForm.handleFormSubmit(event);\n // crud.handleFilterSubmit(removedValues);\n\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, "service");\n filterFormService.setData({showFieldsFilter: !!!filterFormService.props.data.showFieldsFilter});\n //触发amis crud 高度重算\n doAction({\n "actionType": "broadcast",\n "args": {\n "eventName": "@height.changed.${e.name}"\n },\n "data": {\n "timeOut": 100\n }\n });\n \n // 移除搜索按钮上的红点\n // let crudService = scope.getComponentById("service_listview_" + event.data.objectName);\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});\n crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});\n `,c=t.filter_form_data,d=`\n const searchableFields = ${JSON.stringify(n)};\n const autoOpenFilter = ${o};\n const objectName = data.objectName;\n const isLookup = data.isLookup;\n const listName = data.listName;\n let searchableFieldsStoreKey = location.pathname + "/searchable_fields";\n if(isLookup){\n searchableFieldsStoreKey += "/lookup/" + objectName;\n }\n searchableFieldsStoreKey = searchableFieldsStoreKey + "/" + (data.context && data.context.userId);\n let defaultSearchableFields = localStorage.getItem(searchableFieldsStoreKey);\n if(defaultSearchableFields){\n defaultSearchableFields = defaultSearchableFields.split(",");\n }\n if(_.isEmpty(defaultSearchableFields) && searchableFields){\n if(searchableFields.length){\n defaultSearchableFields = _.map(searchableFields, 'field');\n }\n }\n if(_.isEmpty(defaultSearchableFields) && data.uiSchema){\n let listView = data.uiSchema.list_views[data.listName];\n const sFields = listView && listView.searchable_fields;\n if(sFields && sFields.length){\n defaultSearchableFields = _.map(sFields, 'field');\n }\n }\n if(_.isEmpty(defaultSearchableFields) && data.uiSchema){\n defaultSearchableFields = _.map(\n _.sortBy(_.filter(_.values(data.uiSchema.fields), (field) => {\n return field.filterable;\n }), "sort_no"),\n "name"\n );\n }\n setData({ filterFormSearchableFields: defaultSearchableFields });\n if(isLookup){\n let filterFormValues = ${_.isObject(c)?JSON.stringify(c):'"'+c+'"'} || {};\n const isAmisFormula = typeof filterFormValues === "string" && filterFormValues.indexOf("\${") > -1;\n if (isAmisFormula){\n filterFormValues = AmisCore.evaluate(filterFormValues, data) || {};\n }\n if (_.isObject(filterFormValues) || !_.isEmpty(filterFormValues)){\n let fields = data.uiSchema && data.uiSchema.fields;\n filterFormValues = SteedosUI.getSearchFilterFormValues(filterFormValues, fields);\n setData({ ...filterFormValues });\n }\n // looup字段过滤器不在本地缓存记住过滤条件,所以初始始终隐藏过滤器\n setData({ showFieldsFilter: autoOpenFilter });\n }\n else{\n const listViewPropsStoreKey = location.pathname + "/crud";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n let filterFormValues = _.pickBy(localListViewProps, function(n,k){\n return /^__searchable__/g.test(k);\n });\n if(!_.isEmpty(filterFormValues)){\n setData({ ...filterFormValues });\n const omitedEmptyFormValue = _.omitBy(filterFormValues, function(n){\n return _.isNil(n) \n || (_.isObject(n) && _.isEmpty(n)) \n || (_.isArray(n) && _.isEmpty(n.filter(function(item){return !_.isNil(item)})))\n || (_.isString(n) && n.length === 0);\n });\n // 有过滤条件时只显示搜索按钮上的红点,不自动展开搜索栏\n if(!_.isEmpty(omitedEmptyFormValue)){\n let scopeRef = SteedosUI.getRef(data.$scopeId);\n let crudService = scopeRef && scopeRef.parent.getComponentById("service_listview_" + data.objectName)\n crudService && crudService.setData({isFieldsFilterEmpty: false});\n // setData({ showFieldsFilter: true });//自动展开搜索栏\n }\n }\n }\n }\n `,u=`\n const data = context.props.data;\n const listName = data.listName;\n const objectName = data.objectName;\n const isLookup = data.isLookup;\n const value = data.fields;\n const scope = event.context.scoped;\n // 这里的filterForm不是name为"listview-filter-form"的内部form,而是crud自带的filter form\n const filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === "form";\n });\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === "service";\n });\n filterService.setData({ filterFormSearchableFields: value });\n let searchableFieldsStoreKey = location.pathname + "/searchable_fields";\n if(isLookup){\n searchableFieldsStoreKey += "/lookup/" + objectName;\n }\n searchableFieldsStoreKey = searchableFieldsStoreKey + "/" + (data.context && data.context.userId);\n localStorage.setItem(searchableFieldsStoreKey, value);\n\n // ===START===:当变更可搜索字段时,如果被移除的可搜索字段在本地存储中已经存入过滤条件中则应该清除本地存储中相关字段的过滤条件。\n const searchableFields = data.fields;\n let preSearchableFields = data.__super.fields;\n if(typeof preSearchableFields === "string"){\n preSearchableFields = preSearchableFields.split(",");\n }\n const removedFields = _.difference(preSearchableFields, searchableFields);\n\n // const getClosestAmisComponentByType = function (scope, type, name) {\n // // 递归children找到listview-filter-form\n // let re = scope.getComponents().find(function (n) {\n // return n.props.type === type && n.props.name === name;\n // });\n // if (re) {\n // return re;\n // }\n // else {\n // if (scope.children && scope.children.length) {\n // for (let i = 0; i < scope.children.length; i++) {\n // re = getClosestAmisComponentByType(scope.children[i], type, name);\n // if (re) {\n // break;\n // }\n // }\n // return re;\n // }\n \n // }\n // }\n // // 这里第二层form才是真正要提交到crud过滤条件的form\n // filterInnerForm = getClosestAmisComponentByType(filterForm.context, "form", "listview-filter-form");\n\n const filterFormValues = filterForm.getValues();\n let removedKeys = [];\n _.each(filterFormValues, function(n,k){\n // __searchable__开头的不在searchableFields范围则清除其值\n let isRemoved = !!removedFields.find(function(fieldName){\n return new RegExp("__searchable__.*" + fieldName + "$").test(k);\n });\n if(isRemoved){\n removedKeys.push(k);\n }\n });\n const removedValues = {};\n removedKeys.forEach(function(key){\n removedValues[key] = null;\n });\n filterForm.setValues(removedValues);//这里使用filterInnerForm也可以\n\n if(isLookup){\n return;\n }\n \n // 列表视图crud支持本地缓存,所以需要进一步清除浏览器本地缓存里面用户在可搜索项中移除的字段值\n const listViewPropsStoreKey = location.pathname + "/crud";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n _.each(localListViewProps, function(n,k){\n // __searchable__开头的不在searchableFields范围则清除其值\n let isRemoved = !!removedFields.find(function(fieldName){\n return new RegExp("__searchable__.*" + fieldName + "$").test(k);\n });\n if(isRemoved){\n delete localListViewProps[k];\n }\n });\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify(localListViewProps));\n }\n //触发amis crud 高度重算\n doAction({\n "actionType": "broadcast",\n "args": {\n "eventName": "@height.changed.${e.name}"\n },\n "data": {\n "timeOut": 100\n }\n });\n // ===END===\n `;return{type:"service",name:"service_listview_filter_form",data:{},dataProvider:{inited:d},body:{type:"wrapper",body:{type:"wrapper",body:[a,{type:"wrapper",body:{type:"wrapper",body:[{type:"button",level:"primary",id:r,label:instance.t("frontend_fields_filter_button_search"),icon:"fa fa-search",onEvent:{click:{actions:[{actionType:"custom",script:s}]}}},{type:"button",label:instance.t("frontend_form_reset"),name:"btn_filter_form_cancel",onEvent:{click:{actions:[{actionType:"custom",script:l}]}}},{type:"button",label:instance.t("frontend_fields_filter_button_settings"),onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",size:"md",title:instance.t("frontend_fields_filter_button_settings"),body:[{type:"form",title:"",body:[{label:"",type:"transfer",name:"fields",id:"u:92c0b3cccca0",source:{method:"get",url:"${context.rootUrl}/service/api/amis-metadata-objects/objects/${objectName}/fields/options",dataType:"json",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},data:{$self:"$$"},requestAdaptor:"",adaptor:"\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n const selfData = api.body.$self;\n const uiSchema = selfData.uiSchema;\n const fields = uiSchema.fields;\n const options = ((payload.data && payload.data.options) || []).filter(function(item){\n let field = fields[item.value];\n // TODO: 暂时禁用location类型字段的列表搜索\n return !!field && window.isFieldTypeSearchable(field.type) && field.type !== 'location'\n });\n payload.data = {\n \"options\": options\n };\n return payload;\n "},options:[],required:!0,placeholder:"-",className:"col-span-2 m-0",checkAll:!1,searchable:!0,sortable:!0,joinValues:!1,extractValue:!0,multiple:!0}],id:"u:e5ac506d5683",mode:"normal",persistData:!1,promptPageLeave:!0,name:"form",debug:!1,actions:[],panelClassName:"m-0",bodyClassName:"p-4",className:"steedos-amis-form"}],actions:[{type:"button",label:instance.t("frontend_form_cancel"),onEvent:{click:{actions:[{componentId:"",args:{},actionType:"closeDialog"}]}},id:"u:4e447b5ca72a"},{type:"button",label:instance.t("frontend_form_confirm"),onEvent:{click:{actions:[{actionType:"custom",script:u},{componentId:"",args:{},actionType:"closeDrawer"}]}},id:"u:14e7388fecd3",level:"primary"}],closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,data:{"&":"$$",objectName:"${objectName}",listName:"${listName}",listViewId:"${listViewId}",uiSchema:"${uiSchema}",isLookup:"${isLookup}",context:"${context}",fields:"${filterFormSearchableFields}"}}}]}},level:"link"}],size:"xs",className:"space-x-2"},size:"xs",className:"slds-filters__footer slds-grid slds-shrink-none flex justify-between p-0"}],size:"xs",className:"slds-filters px-0"},size:"xs",className:"p-0",visibleOn:"this.showFieldsFilter"},className:"bg-white"}}const getNewListviewButtonSchema=()=>({type:"button",label:instance.t("frontend_listview_control_new_label"),className:"steedos-listview-new-button",onEvent:{click:{weight:0,actions:[{dialog:{type:"dialog",title:instance.t("frontend_listview_control_new_title"),data:{all:"${uiSchema.list_views.all}",list_view:"${uiSchema.list_views[listName]}",appId:"${appId}",global:"${global}",targetObjectName:"${objectName}",context:"${context}"},body:[{type:"steedos-object-form",label:"对象表单",objectApiName:"object_listviews",recordId:"",mode:"edit",layout:"normal",defaultData:{"&":"${list_view}",name:"",label:"",filters:"",shared:!1,object_name:"${targetObjectName}",_id:"",shared_to:null,shared_to_organizations:null,locked:!1,owner:null,company_id:null,company_ids:null,is_system:!1},fieldsExtend:fieldsExtend$5(),fields:fields$1(),onEvent:{submitSucc:{weight:0,actions:[{args:{url:"${context.rootUrl}/app/${appId}/${targetObjectName}/grid/listview_${result.data.recordId|lowerCase}",blank:!1},actionType:"url"},{actionType:"custom",script:"window.location.reload();"}]}},messages:{success:instance.t("frontend_listview_control_new_message_success"),failed:instance.t("frontend_listview_control_new_message_failed")}}],showCloseButton:!0,showErrorMsg:!0,showLoading:!0,closeOnEsc:!1,dataMapSwitch:!1,size:"lg"},actionType:"dialog"}]}}});function fields$1(){return["label","name","object_name","filter_scope","show_count","columns","sort","filters","mobile_columns","searchable_fields","is_system","shared","shared_to","shared_to_organizations"]}function fieldsExtend$5(){return{group:"",label:{group:"",is_wide:!0},name:{group:"",amis:{hidden:!0,required:!1}},object_name:{group:"",amis:{hidden:!0}},filter_scope:{group:"",amis:{hidden:!0,required:!1}},columns:{group:"",amis:{hidden:!0,required:!1}},mobile_columns:{group:"",amis:{hidden:!0,required:!1}},searchable_fields:{group:"",amis:{hidden:!0,required:!1}},filter_fields:{group:"",amis:{hidden:!0,required:!1}},scrolling_mode:{group:"",amis:{hidden:!0,required:!1}},sort:{group:"",amis:{hidden:!0,required:!1}},show_count:{group:"",amis:{hidden:!0,required:!1}},type:{group:"",amis:{hidden:!0,required:!1}},shared:{group:"",amis:{visibleOn:"${false}"}},shared_to:{group:"",amis:{type:"radios",inline:!1}},shared_to_organizations:{group:""},filters:{group:"",amis:{hidden:!0}}}}async function getObjectListHeaderFieldsFilterBar(e,t,n){return await getObjectFieldsFilterBarSchema(e,n)}const getCopyListviewButtonSchema=()=>({type:"button",label:instance.t("frontend_listview_control_clone_label"),onEvent:{click:{weight:0,actions:[{dialog:{type:"dialog",title:instance.t("frontend_listview_control_clone_title"),data:{listName:"${listName}",targetObjectName:"${objectName}",list_view:"${uiSchema.list_views[listName]}",appId:"${appId}",global:"${global}",context:"${context}"},body:[{type:"steedos-object-form",label:"对象表单",objectApiName:"object_listviews",recordId:"",mode:"edit",layout:"normal",defaultData:{"&":"${list_view}",name:"",label:instance.t("frontend_listview_control_clone_defaultData_label_start")+" ${list_view.label} "+instance.t("frontend_listview_control_clone_defaultData_label_end"),shared:!1,object_name:"${targetObjectName}",_id:"",shared_to:null,shared_to_organizations:null,locked:!1,owner:null,company_id:null,company_ids:null,is_system:!1},fieldsExtend:fieldsExtend$4(),fields:fields(),onEvent:{submitSucc:{weight:0,actions:[{args:{url:"${context.rootUrl}/app/${appId}/${targetObjectName}/grid/listview_${result.data.recordId|lowerCase}",blank:!1},actionType:"url"},{actionType:"custom",script:"window.location.reload();"}]}}}],showCloseButton:!0,showErrorMsg:!0,showLoading:!0,closeOnEsc:!1,dataMapSwitch:!1,size:"lg"},actionType:"dialog"}]}}});function fields(){return["label","name","object_name","filter_scope","show_count","columns.$.field","columns.$.width","sort.$.field_name","sort.$.order","filters","mobile_columns.$.field","searchable_fields.$.field","is_system","shared","shared_to","shared_to_organizations"]}function fieldsExtend$4(){return{label:{group:"",is_wide:!0},name:{is_wide:!0,amis:{hidden:!0}},object_name:{amis:{hidden:!0}},filter_scope:{amis:{hidden:!0}},columns:{amis:{hidden:!0}},filter_fields:{amis:{hidden:!0}},scrolling_mode:{amis:{hidden:!0}},sort:{amis:{hidden:!0}},show_count:{amis:{hidden:!0}},type:{amis:{hidden:!0}},shared:{group:"",amis:{visibleOn:"${false}"}},shared_to:{group:"",amis:{type:"radios",inline:!1}},shared_to_organizations:{group:""},filters:{group:"",amis:{hidden:!0}}}}const getRenameListviewButtonSchema=()=>({type:"button",label:instance.t("frontend_listview_control_rename_label"),disabledOn:"!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)",onEvent:{click:{weight:0,actions:[{dialog:{type:"dialog",title:instance.t("frontend_listview_control_rename_title"),data:{targetObjectName:"${objectName}",recordId:"${uiSchema.list_views[listName]._id}",appId:"${appId}",context:"${context}"},body:[{type:"steedos-object-form",label:"对象表单",objectApiName:"object_listviews",recordId:"${recordId}",layout:"normal",mode:"edit",fields:["label"],fieldsExtend:'{\n "label":{\n "is_wide": true\n }\n}',onEvent:{submitSucc:{weight:0,actions:[{args:{url:"${context.rootUrl}/app/${appId}/${targetObjectName}/grid/${name}",blank:!1},actionType:"url"},{actionType:"custom",script:"window.location.reload();"}]}}}],showCloseButton:!0,showErrorMsg:!0,showLoading:!0,size:"lg"},actionType:"dialog"}]}}}),getSetListviewShareButtonSchema=()=>({type:"button",label:instance.t("frontend_listview_control_share"),disabledOn:"!(global.user.is_space_admin && !!uiSchema.list_views[listName].owner)",onEvent:{click:{weight:0,actions:[{dialog:{type:"dialog",title:instance.t("frontend_listview_control_share"),data:{recordId:"${uiSchema.list_views[listName]._id}",appId:"${appId}",global:"${global}",context:"${context}"},body:[{type:"steedos-object-form",label:"对象表单",objectApiName:"object_listviews",recordId:"${recordId}",mode:"edit",layout:"normal",fields:["shared_to","shared_to_organizations"],fieldsExtend:fieldsExtend$3()}],showCloseButton:!0,showErrorMsg:!0,showLoading:!0,closeOnEsc:!1,dataMapSwitch:!1,size:"md"},actionType:"dialog"}]}}});function fieldsExtend$3(){return{shared_to:{group:"",amis:{type:"radios",inline:!1}},shared_to_organizations:{group:""}}}const getSetListviewFiltersButtonSchema=()=>({type:"button",label:instance.t("frontend_listview_control_filters"),disabledOn:"!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)",onEvent:{click:{weight:0,actions:[{dialog:{type:"dialog",title:instance.t("frontend_listview_control_filters"),data:{targetObjectName:"${objectName}",recordId:"${uiSchema.list_views[listName]._id}",listName:"${listName}",appId:"${appId}",context:"${context}"},body:[{type:"steedos-object-form",label:"对象表单",objectApiName:"object_listviews",recordId:"${recordId}",mode:"edit",fields:["filters"],initApiAdaptor:initApiAdaptor$2(),apiRequestAdaptor:apiRequestAdaptor$2(),fieldsExtend:fieldsExtend$2(),onEvent:{submitSucc:{weight:0,actions:[{actionType:"custom",script:"window.location.reload(); //doAction({'actionType': 'rebuild', 'componentId': `service_listview_${event.data.targetObjectName}`})"}]}}}],showCloseButton:!0,showErrorMsg:!0,showLoading:!0,closeOnEsc:!1,dataMapSwitch:!1,size:"lg"},actionType:"dialog"}]}}});function initApiAdaptor$2(){return"\n const recordId_tmp = api.body.recordId;\n let data_tmp;\n if (recordId_tmp) {\n data_tmp = payload.data;\n // 数据格式转换\n if (data_tmp) {\n if (data_tmp.filters && lodash.isString(data_tmp.filters)) {\n try {\n data_tmp.filters = JSON.parse(data_tmp.filters);\n } catch (e) { }\n }\n \n if (data_tmp.filters && lodash.isString(data_tmp.filters)) {\n data_tmp._filters_type_controller = 'function';\n } else {\n data_tmp._filters_type_controller = 'conditions'\n }\n \n if (data_tmp._filters_type_controller === 'conditions') {\n data_tmp._filters_conditions = window.amisConvert.filtersToConditions(data_tmp.filters || []);\n data_tmp.filters = data_tmp._filters_conditions;\n } else {\n data_tmp._filters_function = data_tmp.filters;\n }\n }\n }\n for (key in data_tmp) {\n if (data_tmp[key] === null) {\n delete data_tmp[key];\n }\n }\n payload.data = Object.assign(payload.data, data_tmp);\n delete payload.extensions;\n return payload;\n "}function apiRequestAdaptor$2(){return"\n const recordId = api.body.recordId;\n if (formData._filters_type_controller === 'conditions' && formData._filters_conditions) {\n formData.filters = window.amisConvert.conditionsToFilters(formData.filters);\n } else {\n formData.filters = formData._filters_function || null;\n }\n \n delete formData._filters_type_controller;\n delete formData._filters_conditions;\n delete formData._filters_function;\n \n query = 'mutation{record: ' + objectName + '__insert(doc: {__saveData}){_id}}';\n if (api.body.recordId) {\n query = 'mutation{record: ' + objectName + '__update(id: \"' + recordId + '\", doc: {__saveData}){_id}}';\n };\n __saveData = JSON.stringify(JSON.stringify(formData));\n api.data = { query: query.replace('{__saveData}', __saveData) };\n return api;\n "}function fieldsExtend$2(){return{filters:{label:"",group:"",visible_on:"true",amis:{type:"condition-builder",source:{method:"get",url:"${context.rootUrl}/service/api/amis-metadata-listviews/getFilterFields?objectName=${targetObjectName}",dataType:"json",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}}}}const getSetListviewColumnsButtonSchema=()=>({type:"button",label:instance.t("frontend_listview_control_columns"),disabledOn:"!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)",onEvent:{click:{weight:0,actions:[{args:{},dialog:{type:"dialog",title:instance.t("frontend_listview_control_columns"),data:{targetObjectName:"${objectName}",recordId:"${uiSchema.list_views[listName]._id}",listName:"${listName}",appId:"${appId}",context:"${context}"},body:[{type:"steedos-object-form",label:"对象表单",objectApiName:"object_listviews",recordId:"${recordId}",mode:"edit",layout:"normal",fieldsExtend:fieldsExtend$1(),initApiAdaptor:initApiAdaptor$1(),apiRequestAdaptor:apiRequestAdaptor$1(),fields:["columns","mobile_columns"],onEvent:{submitSucc:{weight:0,actions:[{actionType:"custom",script:"window.location.reload(); //doAction({'actionType': 'rebuild', 'componentId': `service_listview_${event.data.targetObjectName}`})"}]}}}],searchable:!0,showCloseButton:!0,showErrorMsg:!0,showLoading:!0,size:"lg"},actionType:"dialog"}]}}});function fieldsExtend$1(){return{columns:{amis:{type:"transfer",sortable:!0,searchable:!0,source:{method:"get",url:"${context.rootUrl}/service/api/amis-metadata-objects/objects/${targetObjectName}/fields/options",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}},mobile_columns:{amis:{type:"transfer",sortable:!0,searchable:!0,source:{method:"get",url:"${context.rootUrl}/service/api/amis-metadata-objects/objects/${targetObjectName}/fields/options",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}}}}function initApiAdaptor$1(){return"\n const recordId_tmp = api.body.recordId;\n let columns_tmp = {}, mobile_columns_tmp = {};\n if (recordId_tmp) {\n columns_tmp = payload.data.columns;\n mobile_columns_tmp = payload.data.mobile_columns;\n if (columns_tmp) {\n columns_tmp = lodash.map(columns_tmp, 'field');\n }\n if (mobile_columns_tmp) {\n mobile_columns_tmp = lodash.map(mobile_columns_tmp, 'field');\n }\n }\n payload.data.columns = columns_tmp;\n payload.data.mobile_columns = mobile_columns_tmp;\n \n delete payload.extensions;\n return payload;\n "}function apiRequestAdaptor$1(){return"\n const formData_tmp = api.body.$;\n const objectName_tmp = api.body.objectName;\n const recordId_tmp = api.body.recordId;\n \n if (typeof formData_tmp.columns == 'string') {\n formData_tmp.columns = formData_tmp.columns && formData_tmp.columns.split(',');\n }\n if (typeof formData_tmp.mobile_columns == 'string') {\n formData_tmp.mobile_columns = formData_tmp.mobile_columns && formData_tmp.mobile_columns.split(',');\n }\n \n // 数据格式转换\n formData_tmp.columns = lodash.map(formData_tmp.columns, (item) => {\n return { field: item };\n });\n formData.mobile_columns = lodash.map(formData.mobile_columns, (item) => {\n return { field: item };\n });\n \n let query_tmp = 'mutation{record: ' + objectName_tmp + '__insert(doc: {__saveData}){_id}}';\n if (api.body.recordId) {\n query_tmp = 'mutation{record: ' + objectName_tmp + '__update(id: \"' + recordId_tmp +'\", doc: {__saveData}){_id}}';\n };\n delete formData_tmp._id;\n let __saveData_tmp = JSON.stringify(JSON.stringify(formData_tmp));\n api.data = { query: query_tmp.replace('{__saveData}', __saveData_tmp) };\n \n return api;\n "}const getSetListviewSortButtonSchema=()=>({type:"button",label:instance.t("frontend_listview_control_sort"),disabledOn:"!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)",onEvent:{click:{weight:0,actions:[{dialog:{type:"dialog",title:instance.t("frontend_listview_control_sort"),data:{targetObjectName:"${objectName}",recordId:"${uiSchema.list_views[listName]._id}",listName:"${listName}",appId:"${appId}",context:"${context}"},body:[{type:"steedos-object-form",label:"对象表单",objectApiName:"object_listviews",recordId:"${recordId}",className:"",id:"u:061f158b4c5a",mode:"edit",fields:["sort","sort.$.field_name","sort.$.order"],onEvent:{submitSucc:{weight:0,actions:[{actionType:"custom",script:"window.location.reload(); //doAction({'actionType': 'rebuild', 'componentId': `service_listview_${event.data.targetObjectName}`})"}]}},fieldsExtend:fieldsExtend(),initApiAdaptor:initApiAdaptor(),apiRequestAdaptor:apiRequestAdaptor()}],showCloseButton:!0,showErrorMsg:!0,showLoading:!0,id:"u:d3f6947b6acf",size:"lg"},actionType:"dialog"}]}}});function fieldsExtend(){return{sort:{label:"",group:"",amis:{type:"tabs-transfer",sortable:!0,searchable:!0,source:{method:"get",url:"${context.rootUrl}/service/api/amis-metadata-objects/objects/${targetObjectName}/sortFields/options",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}}}}function initApiAdaptor(){return"\n let sort;\n if (recordId) {\n sort = payload.data.sort;\n //数据格式转换\n if (sort instanceof Array) {\n sort = lodash.map(sort, (item) => {\n return item.field_name + ':' + (item.order || 'asc')\n });\n }\n }\n payload.data.sort = sort;\n delete payload.extensions;\n return payload;\n "}function apiRequestAdaptor(){return"\n const recordId = api.body.recordId;\n //数据格式转换\n if (typeof formData.sort == 'string') {\n formData.sort = formData.sort && formData.sort.split(',');\n }\n formData.sort = lodash.map(formData.sort, (item) => {\n const arr = item.split(':');\n return { field_name: arr[0], order: arr[1] };\n });\n if (recordId) {\n query = 'mutation{record: ' + objectName + '__update(id: \"' + recordId + '\", doc: {__saveData}){_id}}';\n }\n __saveData = JSON.stringify(JSON.stringify(formData));\n api.data = { query: query.replace('{__saveData}', __saveData) };\n return api;\n "}const getDeleteListviewButtonSchema=()=>({type:"button",label:instance.t("frontend_listview_control_delete_label"),disabledOn:"!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)",confirmText:instance.t("frontend_listview_control_delete_confirm_text"),onEvent:{click:{actions:[{actionType:"ajax",args:{api:{url:"${context.rootUrl}/graphql",method:"post",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},data:{"&":"$$",uiSchema:"${uiSchema}",recordId:"${uiSchema.list_views[listName]._id}"},messages:{success:instance.t("frontend_listview_control_delete_message_success")},requestAdaptor:requestAdaptor(),adaptor:adaptor()}}},{actionType:"url",args:{url:"${context.rootUrl}/app/${appId}/${objectName}/grid/all",blank:!1},expression:"data.delete == 1"},{actionType:"custom",script:"window.location.reload();"}]}}});function requestAdaptor(){return"\n const { recordId } = api.body;\n var deleteArray = [];\n if (recordId) { deleteArray.push(`delete:object_listviews__delete(id: \"${recordId}\")`); }\n api.data = { query: `mutation{${deleteArray.join(',')}}` };\n return api;\n "}function adaptor(){return"\n if (payload.errors) {\n payload.status = 2;\n payload.msg = payload.errors[0].message;\n }\n return payload;\n "}const getSettingListviewToolbarButtonSchema=()=>({type:"dropdown-button",trigger:"click",icon:"fa fa-cog",btnClassName:"antd-Button--iconOnly bg-white !p-2 rounded text-gray-500",align:"right",visibleOn:"${!isLookup && !!isObjectListview}",buttons:[{label:instance.t("frontend_button_listview_control_label"),children:[getNewListviewButtonSchema(),getCopyListviewButtonSchema(),getRenameListviewButtonSchema(),getSetListviewShareButtonSchema(),getSetListviewFiltersButtonSchema(),getSetListviewColumnsButtonSchema(),getSetListviewSortButtonSchema(),getDeleteListviewButtonSchema()]}]}),getDisplayAsButton=function(e,t){let n=Router.getTabDisplayAs(e,t),o=[{type:"button",label:instance.t("frontend_display_type_is_table"),onClick:"const key = 'tab_"+e+'_display\';sessionStorage.setItem(key, \'grid\');let url = document.location.pathname; var urlSearch = new URLSearchParams(document.location.search); if(urlSearch.get("side_object") && urlSearch.get("side_listview_id")){url=`/app/${props.data.appId}/${urlSearch.get("side_object")}/grid/${urlSearch.get("side_listview_id")}`;}; props.env.jumpTo(url + \'?display=grid\');',rightIcon:"split"!=n?"fa fa-check":null,rightIconClassName:"m-l-sm"},{type:"button",label:instance.t("frontend_display_type_is_split"),onClick:"const key = 'tab_"+e+"_display';sessionStorage.setItem(key, 'split');const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);",rightIcon:"split"===n?"fa fa-check":null,rightIconClassName:"m-l-sm"}];return"split"===n?instance.t("frontend_display_type_is_split"):instance.t("frontend_display_type_is_table"),{type:"dropdown-button",icon:"fa fa-table-columns",btnClassName:"antd-Button--iconOnly bg-white !p-2 rounded text-gray-500",align:"right",visibleOn:"${window:innerWidth > 768 && !!!isLookup && !!isObjectListview}",buttons:[{label:instance.t("frontend_display_as"),children:o}]}},onFieldsFilterToggleScript='\nconst scope = event.context.scoped;\nconst filterForm = scope.getComponents().find(function(n){\n return n.props.type === "form";\n});\nconst filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === "service";\n});\nlet toShowFieldsFilter = !!!filterService.props.data.showFieldsFilter;\nfilterService.setData({showFieldsFilter: toShowFieldsFilter});\n//触发amis crud 高度重算\ndoAction({\n "actionType": "broadcast",\n "args": {\n "eventName": "@height.changed." + event.data.objectName\n },\n "data": {\n "timeOut": 1000\n }\n});\n// 手机端在显示搜索栏时隐藏crud上的刷新按钮,因为点击后crud高度显示有问题\nlet crudService = scope.getComponentById("service_listview_" + event.data.objectName);\ncrudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});\n// if(filterService.props.data.showFieldsFilter){\n// if(isMobile){\n// // 手机上只能通过取消按钮来关闭搜索栏\n// return;\n// }\n// let buttonCancel = SteedosUI.getClosestAmisComponentByType(filterForm.context, "button", { \n// direction: "down", \n// name: "btn_filter_form_cancel" \n// });\n// buttonCancel.props.dispatchEvent(\'click\', {}).then(function(){\n// resizeWindow();\n// });\n// }\n// else{\n// if(isMobile){\n// // 手机端在显示搜索栏时隐藏crud上的刷新按钮,因为点击后crud高度显示有问题\n// let crudService = scope.getComponentById("service_listview_" + event.data.objectName);\n// crudService && crudService.setData({showFieldsFilter: true});\n// }\n// }\n';function getObjectHeaderQuickSearchBox(e,t,n,{isLookup:o=!1,keywordsSearchBoxName:r="__keywords"}={}){const a=[];_.each(e.fields,function(t){isFieldQuickSearchable(t,e.NAME_FIELD_KEY)&&a.push(t.label)});const i=location.pathname+"/crud";let s=sessionStorage.getItem(i),l="";s&&!o&&(s=JSON.parse(s),l=s&&s.__keywords||"");const c=`\n const scope = event.context.scoped;\n let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");\n // let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});\n let __changedSearchBoxValues = {};\n __changedSearchBoxValues["${r}"] = event.data["${r}"];\n // crudService && crudService.setData({__changedSearchBoxValues: __changedSearchBoxValues});\n // 这里不用crudService而用crud是因为lookup字段弹出的列表中的crudService中的变量无法传入crud的发送适配器中\n // crud && crud.setData({__changedSearchBoxValues: __changedSearchBoxValues});\n if(crud){\n let crudData = crud.getData();\n crudData.__changedSearchBoxValues = __changedSearchBoxValues;\n crud.setData(crudData);\n }\n `,d=`\n ${c}\n\n // 下面的脚本只为解决点击搜索表单取消按钮,再重新在其中输入过滤条件但是不点击搜索按钮或回车按键触发搜索,此时在快速搜索框输入过滤条件按回车按键会把搜索表单中的过滤条件清空的问题\n // const scope = event.context.scoped;\n // 如果点击过顶部搜索栏表单的取消按钮,会把此处event.data.__super.__super.__super中的搜索表单项的所有字段设置为null\n // 点击取消按钮后继续在表单项中输入过滤条件且最后没有点击回车按键或点击表单项搜索按钮的话,在快速搜索中点击回车按钮提交搜索会所顶部搜索表单中的字段值清空\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, "form");\n if(!filterForm){\n return;\n }\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n let __changedFilterFormValuesKey = "__changedFilterFormValues";\n if(isLookup && __lookupField){\n let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += "__" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n setTimeout(function(){\n filterForm && filterForm.setValues(event.data[__changedFilterFormValuesKey]);\n }, 500);\n `;return{type:"tooltip-wrapper",id:"steedos_crud_toolbar_quick_search",align:"right",title:"",content:instance.t("frontend_crud_toolbar_quick_search_tooltip_prefix")+a.join(","),placement:"bottom",tooltipTheme:"dark",trigger:"click",className:"SMALL"!==n?"mr-1":"",visible:!!a.length,body:[{type:"search-box",name:r,placeholder:instance.t("frontend_crud_toolbar_quick_search_placeholder"),value:l,mini:!0,clearable:!0,clearAndSubmit:!0,searchImediately:!1,onEvent:{search:{actions:[{actionType:"custom",script:d}]},change:{actions:[{actionType:"custom",script:c}]}}}]}}function getObjectHeaderToolbar(e,t,n,{showDisplayAs:o=!1,hiddenCount:r=!1,headerToolbarItems:a,filterVisible:i=!0,isLookup:s=!1,keywordsSearchBoxName:l}={}){let c,d;window.innerWidth,r||(c={type:"tpl",align:"left",className:"text-gray-500 mr-2",tpl:"${count} "+instance.t("frontend_record_sum")});let u;d={type:"button",align:"right",tooltipPlacement:"top",className:"bg-white p-2 rounded text-gray-500 list-view-btn-reload",label:"",icon:"fa fa-sync",onEvent:{click:{actions:[{actionType:"custom",script:'\n // 触发搜索,而不是reload,因为使用search-box可以在amissdk是3.6.3-patch.8+实现在非第一页的情况下,快速搜索输入框中过滤条件变更时再点刷新可以自动跳转翻页到第一页\n const scope = event.context.scoped;\n const sb = SteedosUI.getClosestAmisComponentByType(scope, "search-box");\n if (sb) {\n const sbValue = sb.state.value;\n sb.handleSearch(sbValue);\n }else{\n var listView = scope.parent.getComponents().find(function(n){\n return n.props.type === "crud";\n });\n listView.handleChangePage(1);\n }\n \n '}]}}},i&&(u={label:instance.t("frontend_button_search_tooltip"),icon:"fa fa-filter",type:"button",badge:{offset:[-5,1],size:8,animation:!0,visibleOn:"${isFieldsFilterEmpty == false && isLookup != true}"},align:"right",className:"bg-white p-2 rounded text-gray-500",onEvent:{click:{actions:[{actionType:"custom",script:onFieldsFilterToggleScript}]}},id:"steedos_crud_toolbar_filter"});let f=getDisplayAsButton(e?.name,e?.enable_split),p=getObjectHeaderQuickSearchBox(e,t,n,{isLookup:s,keywordsSearchBoxName:l}),_=[];return"SMALL"===n?(_.push(p),u&&_.push(u),_.push(f),[...a||[],..._]):(_.push(p),_.push(d),_.push(f),e?.permissions?.allowCreateListViews&&_.push(getSettingListviewToolbarButtonSchema()),u&&_.push(u),c&&_.push(c),[...a||[],"bulkActions",..._])}function getObjectFooterToolbar(e,t,n){if("SMALL"===t)return"split"===n.displayAs?[{type:"switch-per-page",visibleOn:"${count >= 20}"},{type:"pagination",maxButtons:5,showPageInput:!1}]:[{type:"pagination",maxButtons:5,showPageInput:!0,layout:"total,pager,go"}];if(n&&n.isRelated)return[{type:"pagination",maxButtons:10,showPageInput:!1}];{const t=e.paging&&!1===e.paging.enabled,o=n.isLookup,r=[{type:"pagination",maxButtons:10,showPageInput:!1}];return t&&o?r:[{type:"switch-per-page",visibleOn:"${count >= 20}"},...r]}}async function getObjectFilter(e,t,n){return{title:"",submitText:"",className:"",debug:!1,mode:"normal",wrapWithPanel:!1,body:[await getObjectListHeaderFieldsFilterBar(e,null,n)],onEvent:{submitSucc:{actions:[{actionType:"custom",script:`\n let isLookup = event.data.isLookup;\n if(isLookup){\n return;\n }\n // 列表搜索栏字段值变更后立刻触发提交表单执行crud搜索,所以这里需要额外重算crud高度及筛选按钮红色星号图标显示隐藏\n //触发amis crud 高度重算\n doAction({\n "actionType": "broadcast",\n "args": {\n "eventName": "@height.changed.${e.name}"\n },\n "data": {\n "timeOut": 1000\n }\n });\n const scope = event.context.scoped;\n // let filterFormValues = event.data;\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, "form");\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, "service");\n // 使用event.data的话,并不能拿到本地存储中的过滤条件,所以需要从filterFormService中取。\n let filterFormValues = filterFormService.getData();\n filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");\n const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});\n // 这里不用crudService而用crud是因为lookup字段弹出的列表中的crudService中的变量无法传入crud的发送适配器中\n // crud && crud.setData({__changedFilterFormValues: changedFilterFormValues});\n let __changedFilterFormValuesKey = "__changedFilterFormValues";\n if(isLookup && __lookupField){\n let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += "__" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = changedFilterFormValues;\n crud.setData(crudData);\n }\n\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});\n crudService && crudService.setData({isFieldsFilterEmpty});\n `}]},change:{actions:[{actionType:"custom",script:'\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n // let filterFormValues = event.data;\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, "form");\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, "service");\n // 使用event.data的话,并不能拿到本地存储中的过滤条件,所以需要从filterFormService中取。\n let filterFormValues = filterFormService.getData();\n filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据\n let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");\n const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});;\n // let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});\n // crudService && crudService.setData({__changedFilterFormValues: changedFilterFormValues});\n // 这里不用crudService而用crud是因为lookup字段弹出的列表中的crudService中的变量无法传入crud的发送适配器中\n // crud && crud.setData({__changedFilterFormValues: changedFilterFormValues});\n let __changedFilterFormValuesKey = "__changedFilterFormValues";\n if(isLookup && __lookupField){\n let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += "__" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = changedFilterFormValues;\n crud.setData(crudData);\n }\n '}]}}}}let UI_SCHEMA_CACHE={},UISchemaFunction;"undefined"!=typeof window&&(window.UI_SCHEMA_CACHE||(window.UI_SCHEMA_CACHE=UI_SCHEMA_CACHE),UI_SCHEMA_CACHE=window.UI_SCHEMA_CACHE);const setUISchemaCache=(e,t)=>{UI_SCHEMA_CACHE[e]=t},getUISchemaCache=e=>_$1.cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>_$1.has(UI_SCHEMA_CACHE,e);function getListViewColumns(e,t){let n=[];return n="SMALL"===t?_$1.isEmpty(e.mobile_columns)?_$1.slice(e.columns,0,4):e.mobile_columns:e.columns,n}function getListViewSort(e){let t="";return e&&e.sort&&e.sort.length&&_$1.each(e.sort,function(e,n){if(_$1.isArray(e)){let o=e[0]+" "+(e[1]||"");o=n>0?","+o:o,t+=o}else{let o=e.field_name+" "+e.order;o=n>0?","+o:o,t+=o}}),t}function getListViewFilter(e){if(e)try{const t=getUserId();let n=e.filters;if("mine"===e.filter_scope)if(_$1__default.default.isEmpty(n))n=[["owner","=",t]];else{if(_$1__default.default.isString(n)&&_$1__default.default.startsWith(_$1__default.default.trim(n),"function")&&(n=new Function(`return ${n}`),n=n()),!_$1__default.default.isArray(n))throw console.debug("listView filters is not array",e),new Error("filters is not array");n.push(["owner","=",t])}return n}catch(e){console.error(e)}}function formatUISchemaCache(objectName,uiSchema){setUISchemaCache(objectName,uiSchema),_$1.each(uiSchema.fields,field=>{try{"lookup"===field.type&&field._reference_to&&_$1__default.default.isString(field._reference_to)&&(field.reference_to=eval(`(${field._reference_to})`)())}catch(e){field.reference_to=void 0,console.error(e)}}),_$1.each(uiSchema.list_views,(e,t)=>{e.name=t,_$1.has(e,"columns")||(e.columns=uiSchema.list_views.all.columns)})}async function getUISchema(e,t,n=!0){if(!e)return;if(hasUISchemaCache(e)&&!t)return getUISchemaCache(e);let o=null;try{if(UISchemaFunction);else{const t=`/service/api/@${e.replace(/\./g,"_")}/uiSchema`;o=await fetchAPI(t,{method:"get"})}if(!o&&n)return await new Promise(e=>setTimeout(e,3e3)),getUISchema(e,t,!1);if(!o&&0==n)return;formatUISchemaCache(e,o)}catch(t){console.error("getUISchema",e,t),setUISchemaCache(e,null)}return getUISchemaCache(e)}function wait(e){const t=(new Date).getTime();let n=t;for(;n-t<e;)n=(new Date).getTime()}function getUISchemaSync$1(e,t,n=!0){if(!e)return;if(hasUISchemaCache(e)&&!t)return getUISchemaCache(e);let o=null;try{const r=`/service/api/@${e.replace(/\./g,"_")}/uiSchema`;if(o=Steedos.authRequest(r,{type:"GET",async:!1}),!o&&n)return wait(2e3),getUISchemaSync$1(e,t,!1);if(!o&&0==n)return;formatUISchemaCache(e,o)}catch(t){console.error("getUISchema",e,t),setUISchemaCache(e,null)}return getUISchemaCache(e)}async function getListSchema(e,t,n,o={}){const r=await getUISchema(t);if(!r)return{};const a=_$1.find(r.list_views,(e,t)=>(n||(n=t),t===n||e._id===n));if(!a)return{uiSchema:r};if(a.enable_amis_schema&&a.amis_schema){return{uiSchema:r,isCustomAmisSchema:!0,amisSchema:_$1.isString(a.amis_schema)?JSON.parse(a.amis_schema):a.amis_schema}}let i=getListViewColumns(a,o.formFactor),s=getListViewSort(a),l=getListViewFilter(a),c=a&&a._filters;if("calendar"===a.type){return{uiSchema:r,isCalendar:!0,amisSchema:{type:"steedos-object-calendar",objectApiName:t,filters:l,filtersFunction:c,sort:s,...a.options}}}const d=o.defaults||{};d.headerSchema=null;try{const e=location.pathname+"/crud";let t=sessionStorage.getItem(e);if(t){t=JSON.parse(t);let e={};t.orderBy&&(e.orderBy=t.orderBy),t.orderDir&&(e.orderDir=t.orderDir),t.perPage&&(e.perPage=t.perPage),d.listSchema=_$1.defaultsDeep({},e,d.listSchema||{})}}catch(e){console.error("本地存储中crud参数解析异常:",e)}window.innerWidth>768&&(d.listSchema=_$1.defaultsDeep({},d.listSchema||{},{autoFillHeight:!0})),o.defaults=d,"recent"==n&&(c='\n function(filters, data) {\n var result = Steedos.authRequest(\'/graphql\', {\n type: \'POST\',\n async: false,\n data: JSON.stringify({\n query: \'{object_recent_viewed(filters: [["record.o","=","\' + data.objectName + \'"],["space","=","\' + data.context.tenantId + \'"],["owner","=","\' + data.context.userId + \'"]],sort:"modified desc",top:50){ _id,record} }\'\n }),\n });\n var _ids = []\n result.data.object_recent_viewed.forEach(function (item) {\n _ids = _ids.concat(item.record.ids)\n })\n return ["_id", "=", _ids];\n }\n ');return{uiSchema:r,amisSchema:{type:"steedos-object-table",objectApiName:t,columns:i,extraColumns:a.extra_columns,filters:l,filtersFunction:c,sort:s,ctx:o,requestAdaptor:o.requestAdaptor||a.requestAdaptor,adaptor:o.adaptor||a.adaptor,headerToolbarItems:o.headerToolbarItems,filterVisible:o.filterVisible,rowClassNameExpr:o.rowClassNameExpr,crud:o.crud||a.crud,crudDataFilter:o.crudDataFilter||a.crudDataFilter,onCrudDataFilter:o.onCrudDataFilter}}}async function getSource(e,t){const n=t.objectName;let o=[{name:t.valueField,alias:"value"},{name:t.labelField,alias:"label"},{name:"children"}],r=o.filter(function(e){return"children"!==e.name}),a=!e.multiple&&e.auto_fill_mapping;a&&a.length&&a.forEach(function(e){"children"!==e.from&&o.push({name:e.from}),r.push({name:e.from})});const i=await getFindQuery({name:n},null,o,{expand:!1,alias:"options",filters:"{__filters}"});i.query=i.query.replace(/,count\:.+/,"}");const s=await getFindQuery({name:n},null,r,{expand:!1,alias:"defaultValueOptions",filters:"{__options_filters}"});s.query=s.query.replace(/,count\:.+/,"}"),i.query=i.query.replace(/}$/,","+s.query.replace(/{(.+)}/,"$1}"));let l=`${e.name}`;e._prefix&&(l=`${e._prefix}${e.name}`),t.fieldNamePrefix&&(l=`${t.fieldNamePrefix}${l}`),i.$value=`$${l}`,i.$="$$";const c=`\n var filters = [['parent', '=', null]];\n const filtersFunction = ${e.filtersFunction||e._filtersFunction};\n if(filtersFunction){\n const _filters = filtersFunction(filters, api.data.$);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));\n var defaultValue = api.data.$value;\n var optionsFiltersOp = "${e.multiple?"in":"="}";\n var optionsFilters = [["${t.valueField}", optionsFiltersOp, []]];\n if (defaultValue) { \n optionsFilters = [["${t.valueField}", optionsFiltersOp, defaultValue]];\n }\n api.data.query = api.data.query.replace(/{__options_filters}/g, JSON.stringify(optionsFilters));\n return api;\n `;return{method:"post",url:getApi$2(),requestAdaptor:c,adaptor:'\n const data = payload.data;\n data.options = data.options.map(function (optionItem) {\n optionItem.defer = !!(optionItem.children && optionItem.children.length);\n delete optionItem.children;\n return optionItem;\n });\n var defaultValueOptions = data.defaultValueOptions;\n // 字段值下拉选项合并到options中\n data.options = _.unionWith(data.options, defaultValueOptions, function(a,b){\n return a["value"]=== b["value"];\n });\n delete data.defaultValueOptions;\n payload.data = data;\n return payload;\n ',data:i,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getDeferApi(e,t){const n=t.objectName;let o=[{name:t.valueField,alias:"value"},{name:t.labelField,alias:"label"},{name:"children"}],r=!e.multiple&&e.auto_fill_mapping;r&&r.length&&r.forEach(function(e){"children"!==e.from&&o.push({name:e.from})});const a=await getFindQuery({name:"{__object_name}"},null,o,{expand:!1,alias:"options",queryOptions:'filters: {__filters}, sort: "{__sort}"'});let i=e.filters;"string"==typeof i&&(i=new Function(`return ${i}`),i=i()),"function"==typeof i&&(i=i(e)),a.query=a.query.replace(/,count\:.+/,"}");const s=`\n var dep = api.query.dep;\n var term = api.query.term;\n var filters;\n var objectName;\n var fields;\n var sort = "";\n if (dep) {\n objectName = "${n}";\n filters = [['parent', '=', dep]];\n sort = "${t.sort}";\n }\n api.data.query = api.data.query.replace(/{__object_name}/g, objectName).replace(/{__filters}/g, JSON.stringify(filters)).replace('{__sort}', sort.trim());\n return api;\n `;return{method:"post",url:getApi$2()+"&dep=${value}",requestAdaptor:s,adaptor:"\n if (api.query.dep) {\n // 展开组织时才需要根据children值设置defer属性\n const data = payload.data;\n data.options = data.options.map(function (option) {\n option.defer = !!(option.children && option.children.length);\n delete option.children;\n return option;\n });\n payload.data = data;\n }\n return payload;\n ",data:a,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function getRefListViewSort(e){let t=getLookupListView(e),n="";return t&&(n=getListViewSort(t)),n}async function lookupToAmisTreeSelect(e,t,n){if(!e)return{};n||(n={});const o={type:getAmisStaticFieldType("tree-select",t)};if(t)o.tpl=await getLookupTpl(e,n);else{const t=await getUISchema(n.objectName);n.sort=getRefListViewSort(t),Object.assign(o,{multiple:e.multiple,searchable:e.searchable,extractValue:!0,hideNodePathLabel:!0,clearable:!0,source:await getSource(e,n),deferApi:await getDeferApi(e,n)}),e.multiple&&Object.assign(o,{joinValues:!1}),"boolean"!=typeof o.searchable&&(o.searchable=!0);const r=e.onEvent;r&&(o.onEvent=r)}return o}"undefined"!=typeof window&&(window.getUISchema=getUISchema,window.getUISchemaSync=getUISchemaSync$1,window.getListSchema=getListSchema);const getReferenceToFieldSchema=(e,t)=>{let n=e.reference_to;if(!n)return;if(!t)return null;let o=null,r=e.reference_to_field;return r||(r=t.idFieldName||"_id"),o="_id"===r?{name:"_id",label:"ID",type:"text",toggled:!1}:t.fields[r]||{name:r},{objectName:n,valueField:o,labelField:t.fields[t.NAME_FIELD_KEY||"name"],NAME_FIELD_KEY:t.NAME_FIELD_KEY||"name"}},getReferenceTo=async e=>{"users"===e.reference_to&&(e.reference_to="space_users",e.reference_to_field="user");const t=await getUISchema(e.reference_to);return getReferenceToFieldSchema(e,t)};function getReferenceToSync(e){"users"===e.reference_to&&(e.reference_to="space_users",e.reference_to_field="user");const t=getUISchemaSync(e.reference_to);return getReferenceToFieldSchema(e,t)}function getLookupSapceUserTreeSchema(e){const t={type:"input-tree",className:"steedos-select-user-tree",inputClassName:"p-0",source:{method:"post",url:"${context.rootUrl}/graphql",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:'\n const records = payload.data.options;\n const treeRecords = [];\n const getChildren = (currentRecord, records, childrenIds) => {\n if (currentRecord.children && typeof currentRecord.children[0] === "object") {\n // 考虑api配置了cache缓存的话,不会请求接口但是会重新进这个接收适配器脚本且payload.data.options返回的会是上一次计算结果,这里直接返回计算过的children\n return currentRecord.children;\n }\n if (!childrenIds) {\n return;\n }\n const children = _.filter(records, (record) => {\n return _.includes(childrenIds, record.value)\n });\n _.each(children, (item) => {\n if (item.children) {\n item.children = getChildren(item, records, item.children)\n }else{\n item.children = [];\n }\n })\n return children;\n }\n \n const getRoot = (records) => {\n for (var i = 0; i < records.length; i++) {\n records[i].noParent = 0;\n if (!!records[i].parent) {\n biaozhi = 1\n for (var j = 0; j < records.length; j++) {\n if (records[i].parent == records[j].value)\n biaozhi = 0;\n }\n if (biaozhi == 1) records[i].noParent = 1;\n } else records[i].noParent = 1;\n }\n }\n getRoot(records);\n console.log(records)\n \n _.each(records, (record) => {\n if (record.noParent == 1) {\n treeRecords.push(Object.assign({}, record, { children: getChildren(record, records, record.children) }));\n }\n });\n console.log(treeRecords)\n \n payload.data.options = treeRecords;\n return payload;\n ',data:{query:'{options:organizations(filters:["hidden", "!=", true],sort:"sort_no desc"){value:_id label:name,parent,children}}'},messages:{},cache:3e5},onEvent:{change:{actions:[{actionType:"custom",script:'\n console.log("lookup-tree-event.data:",event.data);\n console.log("lookup-tree-event.data.value.label:",event.data.value.label);\n console.log("lookup-tree-event.data.value.value:",event.data.value.value);\n const scope = event.context.scoped;\n var treeFilterFormValues={\n "__searchable__organizations_parents":event.data.value.value\n }\n // var listView = scope.parent.getComponents().find(function(n){\n // return n.props.type === "crud";\n // });\n // listView.handleFilterSubmit(Object.assign({}, filterFormValues));\n let __lookupField = event.data.__lookupField;\n let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");\n var filterForm = scope.getComponents().find(function(n){\n return n.props.type === "form";\n });\n let filterFormValues = filterForm.getData();\n filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据\n const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});\n Object.assign(changedFilterFormValues, treeFilterFormValues);\n // 同步__changedFilterFormValues中的值\n let __changedFilterFormValuesKey = "__changedFilterFormValues";\n if(__lookupField){\n let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += "__" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = changedFilterFormValues;\n crud.setData(crudData);\n }\n filterForm.setData(treeFilterFormValues);\n filterForm.handleFormSubmit(event);\n '},{actionType:"custom",script:" if(window.innerWidth < 768){ document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open'); }"}]}},label:"",mode:"normal",name:"organizations",multiple:!1,joinValues:!1,clearValueOnHidden:!1,fieldName:"organizations",hideRoot:!0,initiallyOpen:!1,extractValue:!0,onlyChildren:!0,treeContainerClassName:"no-border",showIcon:!1,enableNodePath:!1,autoCheckChildren:!1,searchable:!0,searchConfig:{sticky:!0,placeholder:instance.t("frontend_lookup_left_tree_search_organizations")},unfoldedLevel:2,originPosition:"left-top"},n=[];return e?(n.push({type:"action",body:[{type:"action",body:[t],className:"h-full w-[240px]"}],className:"absolute inset-0 steedos-select-user-sidebar",onEvent:{click:{actions:[{actionType:"custom",script:"document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open')"}]}},id:"steedos_crud_toolbar_select_user_tree"}),n.push({type:"button",label:"组织",icon:"fa fa-sitemap",className:"bg-white p-2 rounded border-gray-300 text-gray-500",align:"left",onEvent:{click:{actions:[{actionType:"custom",script:"document.querySelector('.steedos-select-user-sidebar').classList.toggle('steedos-select-user-sidebar-open')"}]}},id:"steedos_crud_toolbar_organization_button"})):n.push(t),n}async function lookupToAmisPicker(e,t,n){let o=await getReferenceTo(e);if(!o)return;const r=await getUISchema(o.objectName);n.idFieldName=r.idFieldName,n.objectName=r.name;const a=!1!==e.show_left_filter;let i=[];const s=[];let l=[];const c=window.innerWidth<768;let d=getLookupListView(r),u=d&&d.name;d&&d.columns?(_$1__namespace.each(d.columns,function(e){_$1__namespace.isString(e)&&r.fields[e]?l.push(r.fields[e]):_$1__namespace.isObject(e)&&r.fields[e.field]&&l.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap,amis:e.amis}))}),_$1__namespace.each(d.extra_columns||[],function(e){_$1__namespace.isString(e)?l.push({extra:!0,name:e}):_$1__namespace.isObject(e)&&l.push({extra:!0,name:e.field})})):(_$1__namespace.each(r.fields,(e,t)=>{"_id"==t||e.hidden||(_$1__namespace.has(e,"name")||(e.name=t),l.push(e))}),l=_$1__namespace.sortBy(l,"sort_no").slice(0,5)),_$1__namespace.each(l,function(e){_$1__namespace.find(i,function(t){return t.name===e.name})||i.push(e)});let f=e.auto_fill_mapping;f&&f.length&&f.forEach(function(e){_$1__namespace.find(i,function(t){return t.name===e.from})||i.push(r.fields[e.from])}),_$1__namespace.each(r.fields,function(e){isFieldQuickSearchable(e,r.NAME_FIELD_KEY)&&s.push(e.name)});const p={[o.labelField.name]:o.labelField,[o.valueField.name]:o.valueField};_$1__namespace.each(i,e=>{e.hidden||(p[e.name]=e)});let _=getListViewFilter(d),m=d&&d._filters,h="";d&&(h=getListViewSort(d));const g=await getApi(r,null,p,{expand:!0,alias:"rows",queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});if(g.url&&!n.inFilterForm){const t=[],n=[];_$1__namespace.each(e.depend_on,e=>{t.push(`depend_on_${e}=\${${e}}`),n.push(`this.${e}`)}),t.length>0&&(g.url=`${g.url}?${t.join("&")}`,g.sendOn=`${n.join(" && ")}`)}g.trackExpression=`\${${e.name}}`,g.data.$term="$term",g.data.$self="$$";let b=`__keywords_lookup__${e.name.replace(/\./g,"_")}__to__${r.name}`;const v=e.filter_form_data;g.requestAdaptor=`\n let __changedFilterFormValuesKey = "__changedFilterFormValues";\n let __lookupField = api.data.$self.__lookupField;\n if(__lookupField){\n let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += "__" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n let __changedFilterFormValues = api.data.$self[__changedFilterFormValuesKey] || {};\n let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};\n // 把表单搜索和快速搜索中的change事件中记录的过滤条件也拼到$self中,是为解决触发搜索请求时,两边输入的过滤条件都带上,即:\n // 有时在搜索表单中输入过滤条件事,忘记点击回车键或搜索按钮,而是进一步修改快速搜索框中的关键字点击其中回车键触发搜索\n // 这种情况下,触发的搜索请求中没有带上搜索表单中输入的过滤条件。\n // 反过来先在快速搜索框中输入过滤条件却不点击其中回车键触发搜索,而是到搜索表单中触发搜索请求也是一样的。\n if(api.data.$self.op !== 'loadOptions'){\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n }\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n ${_&&!n.inFilterForm?`var filters = ${JSON.stringify(_)};`:"var filters = [];"}\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n sort = orderBy ? sort : "${h}";\n var allowSearchFields = ${JSON.stringify(s)};\n let fieldValue;\n if(api.data.$term){\n filters = [["name", "contains", "'+ api.data.$term +'"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n fieldValue = selfData.value.split(',');\n filters = [["${o.valueField.name}", "=", fieldValue]];\n }else{\n fieldValue = selfData.value;\n filters = [["${o.valueField.name}", "=", fieldValue]];\n }\n }\n\n let filterFormValues = {};\n if (selfData.op !== 'loadOptions'){\n filterFormValues = ${_$1__namespace.isObject(v)?JSON.stringify(v):'"'+v+'"'} || {};\n const isAmisFormula = typeof filterFormValues === "string" && filterFormValues.indexOf("\${") > -1;\n if (isAmisFormula){\n filterFormValues = AmisCore.evaluate(filterFormValues, context) || {};\n }\n if (_.isObject(filterFormValues) || !_.isEmpty(filterFormValues)){\n let fields = api.data.$self.uiSchema && api.data.$self.uiSchema.fields;\n filterFormValues = SteedosUI.getSearchFilterFormValues(filterFormValues, fields);\n }\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(Object.assign({}, { ...filterFormValues }, selfData)) || [];\n\n if(searchableFilter.length > 0){\n if(filters.length > 0 ){\n filters = [filters, 'and', searchableFilter];\n }else{\n filters = searchableFilter;\n }\n }\n\n if(${"space_users"===o?.objectName} && ${"user"===e.reference_to_field}){\n if(filters.length > 0){\n filters = [ ["user_accepted", "=", true], "and", filters ]\n }else{\n filters = [["user_accepted", "=", true]];\n }\n }\n\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n filters.push([key, "contains", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n filters.push([key, "=", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.${b}, allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n filters.push(keywordsFilters);\n }\n\n var fieldFilters = ${JSON.stringify(e.filters)};\n var currentAmis = (window.amisRequire && window.amisRequire('amis')) || Amis;\n //递归fieldFilters数组,检查每一个元素,判断若是公式,就仅把它解析\n function traverseNestedArray(arr) {\n for (let i = 0; i < arr.length; i++) {\n if (Array.isArray(arr[i])) {\n // 如果当前元素是数组,则递归调用自身继续遍历\n traverseNestedArray(arr[i]);\n } else {\n // 如果当前元素不是数组,则处理该元素\n // 下面正则用于匹配amis公式\${}\n if(/\\$\\{([^}]*)\\}/.test(arr[i])) {\n try{\n arr[i] = currentAmis.evaluate(arr[i], api.context);\n }catch(ex){\n console.error("运行lookup过滤公式时出现错误:",ex);\n }\n }\n }\n }\n }\n if(fieldFilters && fieldFilters.length){\n traverseNestedArray(fieldFilters);\n filters.push(fieldFilters);\n }\n \n const inFilterForm = ${n.inFilterForm};\n\n const listviewFiltersFunction = ${m};\n\n if(listviewFiltersFunction && !inFilterForm){\n const _filters0 = listviewFiltersFunction(filters, api.data.$self.__super);\n if(_filters0 && _filters0.length){\n filters.push(_filters0);\n }\n }\n \n const filtersFunction = ${e.filtersFunction||e._filtersFunction};\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$self.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n const enable_tree = ${r.enable_tree};\n if(enable_tree){\n pageSize = 10000;\n }\n if(fieldValue && _.isArray(fieldValue) && fieldValue.length > pageSize){\n pageSize = fieldValue.length;\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n `,g.adaptor=`\n const enable_tree = ${r.enable_tree};\n const op = api.data.$self.op;\n if(!_.isEmpty(op)){\n // op不为空,表示处于字段初始编辑状态,不是点击后出现弹窗状态。\n // 这里不可以用_.pick函数让payload只返回labelField和valueField,因为字段上配置的amis autoFill功能可能依赖了其他字段\n /*\n const rows = _.map(payload.data.rows, (item)=>{\n return _.pick(item, ["${o.labelField.name}", "${o.valueField.name}"]);\n })\n payload.data.rows = rows;\n */\n if(enable_tree){\n const rows = _.map(payload.data.rows, (item)=>{\n if (!item.children) {\n return { ...item, children: [] };\n } else {\n return item;\n }\n })\n payload.data.rows = rows;\n }\n return payload;\n }\n if(!payload.data.rows){\n payload.data.rows = [];\n }\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n\n const getParentIds = (records)=>{\n const ids = _.map(records, (item)=>{\n return item._id;\n });\n const parents = _.filter(records,(record)=>{\n return !record.parent || !_.includes(ids,record.parent);\n })\n const parentsIds = _.map(parents,(item)=>{\n return item._id;\n })\n return parentsIds;\n }\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }else{\n item.children = [];\n }\n })\n return children;\n }\n\n const parentIds = getParentIds(records);\n _.each(records, (record)=>{\n if(!record.parent || _.includes(parentIds, record._id)){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n const result = payload.data.rows;\n if(result && result.length){\n const updatedResult = _.map(result, (element) => {\n const data = { ...element };\n // image字段值添加URL前缀\n ${getScriptForAddUrlPrefixForImgFields(_$1__namespace.values(r.fields))}\n return data;\n });\n payload.data.rows = updatedResult;\n }\n let __changedFilterFormValuesKey = "__changedFilterFormValues";\n let __lookupField = api.data.$self.__lookupField;\n if(__lookupField){\n let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += "__" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n let __changedFilterFormValues = api.context[__changedFilterFormValuesKey] || {};\n let __changedSearchBoxValues = api.context.__changedSearchBoxValues || {};\n // 列表搜索和快速搜索,有时在某些操作情况下还是会造成crud接口请求使用的过滤条件是上次的,这里强制把正确的过滤条件返回到crud,详细规则见:https://github.com/steedos/steedos-platform/issues/7112\n payload.data[__changedFilterFormValuesKey] = __changedFilterFormValues;\n payload.data.__changedSearchBoxValues = __changedSearchBoxValues;\n return payload;\n `,(e.optionsFunction||e._optionsFunction)&&(g.adaptor=`\n payload.data.rows = eval(${e.optionsFunction||e._optionsFunction})(api.data.$self);\n return payload;\n `);let y=500;r.paging&&!1===r.paging.enabled&&(y=1e3);let E=null;{let t=r.NAME_FIELD_KEY||"name";"organizations"===r.name&&(t="name"),E=await getTableSchema$1(r,i,{labelFieldName:t,top:y,isLookup:!0,enable_tree:r.enable_tree,...n}),E.affixHeader=!1,E.headerToolbar=getObjectHeaderToolbar(r,l,n.formFactor,{isLookup:!0,keywordsSearchBoxName:b}),"space_users"===o.objectName&&"user"===e.reference_to_field&&a&&(E.headerToolbar.push(getLookupSapceUserTreeSchema(c)),E.className=E.className||" steedos-select-user");const s=r.permissions.allowCreate,d=!_$1__namespace.isBoolean(e.create)||e.create;let f=!_$1__namespace.isEmpty(e.filters)||!!e.filtersFunction||!!e._filtersFunction;if(s&&d&&!f){const e=await getSchema$5(r,{appId:n.appId,objectName:r.name,formFactor:n.formFactor});e.align="right",E.headerToolbar.splice(E.headerToolbar.length-1,0,e)}E.footerToolbar=r.enable_tree?[]:getObjectFooterToolbar(r,n.formFactor,{isLookup:!0}),!1!==n.filterVisible&&(E.filter=await getObjectFilter(r,p,{...n,isLookup:!0,keywordsSearchBoxName:b,searchable_fields:e.searchable_fields,auto_open_filter:e.auto_open_filter,show_left_filter:e.show_left_filter,filter_form_data:e.filter_form_data})),E.data=Object.assign({},E.data,{"&":"$$",objectName:r.name,uiSchema:r,listName:u,isLookup:!0,__lookupField:{name:e.name,reference_to:r.name,reference_to_field:e.reference_to_field,filters:e.filters,filtersFunction:e.filtersFunction,_filtersFunction:e._filtersFunction,inFilterForm:n.inFilterForm,listviewFilter:_,listviewFiltersFunction:m}}),E.onEvent||(E.onEvent={}),E.onEvent[`@data.changed.${r.name}`]={actions:[{actionType:"reload"},{actionType:"custom",script:`\n // lookup字段弹出列表,点击新建按钮,新建记录成功后,触发@data.changed.xxx,\n // 此时context.props.data值是lookup字段所在表单数据,经测试多层lookup弹出列表新建记录成功后context.props.data始终取的是最近一层的lookup字段所在表单数据,符合预期\n const masterRecord = context.props.data;//event.data._master && event.data._master.record;\n const fieldConfig = ${JSON.stringify(e)};\n let reference_to = fieldConfig.reference_to;\n let saveValue;\n const newRecord = {\n _id: event.data.result.data.recordId,\n ...event.data.__super.__super\n }\n const saveField = fieldConfig.reference_to_field || '_id';\n const saveFieldValue = newRecord[saveField];\n if( fieldConfig._reference_to && (_.isArray(fieldConfig._reference_to) || _.isFunction(fieldConfig._reference_to) || fieldConfig._reference_to.startsWith('function') ) ){\n \n const fieldValue = masterRecord ? masterRecord[fieldConfig.name] : {o: reference_to, ids: []};\n const baseSaveValue = {\n o: reference_to,\n ids: [saveFieldValue]\n };\n if(fieldValue && fieldValue.o){\n if(fieldValue.o === reference_to){\n saveValue = fieldConfig.multiple ? { o: reference_to, ids: fieldValue.ids.concat(saveFieldValue)} : baseSaveValue;\n }else{\n saveValue = baseSaveValue;\n }\n }else{\n saveValue = baseSaveValue;\n }\n\n }else{\n if(fieldConfig.multiple){\n // const fieldValue = (masterRecord && masterRecord[fieldConfig.name]) || [];\n // 连续新建多个记录时,因为masterRecord获取的主记录不是实时的,所以只会勾选最后一个新建的记录\n // 而下面context.context.component指向的是lookup picker组件,可以直接取到用户实时勾选的记录。\n const fieldValue = context.context.component.props.store.toJSON().selectedItems\n saveValue = fieldValue.concat(saveFieldValue);\n }else{\n saveValue = saveFieldValue;\n }\n }\n \n const ctx = ${JSON.stringify(n)};\n const componentId = ctx.defaults && ctx.defaults.formSchema && ctx.defaults.formSchema.id;\n doAction({\n actionType: 'setValue',\n componentId: componentId, \n args: {\n value: { [fieldConfig.name]: saveValue }\n }\n });\n `}]}}e.pickerSchema&&(E=Object.assign({},E,e.pickerSchema)),"space_users"===o.objectName&&"user"===e.reference_to_field&&c&&(E.headerToolbar=E.headerToolbar&&E.headerToolbar.filter(function(e){return["steedos_crud_toolbar_quick_search","steedos_crud_toolbar_filter","steedos_crud_toolbar_select_user_tree","steedos_crud_toolbar_organization_button"].indexOf(e.id)>-1}),E.footerToolbar=["pagination"]),e.inlineHelpText&&(E.toolbarClassName="hasHelpText",E.headerToolbar=[{type:"tpl",tpl:e.inlineHelpText,className:"text-secondary"},...E.headerToolbar]),E.className=(E.className||"")+" steedos-lookup-crud";const w={type:getAmisStaticFieldType("picker",t),className:n.className||"",modalTitle:instance.t("frontend_form_please_select")+" "+r.label,labelField:o.labelField.name,valueField:o.valueField.name,disabledOn:`${t} || ( (this._master && (this._master.relatedKey ==='${e.name}')) || ((this.relatedKey ==='${e.name}') && (${e.multiple} != true)) )`,modalMode:"dialog",source:g,size:"lg",pickerSchema:E,joinValues:!1,extractValue:!0};return e.multiple&&(w.multiple=!0,w.extractValue=!0),t&&(w.tpl=await getLookupTpl(e,n)),w}async function lookupToAmisSelect(e,t,n){let o=await getReferenceTo(e);const r=window.innerWidth<=768,a=o&&o.valueField?.name||"_id";let i,s;const l=o&&await getUISchema(o.objectName);if(o){let t=[Object.assign({},o.labelField,{alias:"label"}),Object.assign({},o.valueField,{alias:"value"})],n=e.auto_fill_mapping;n&&n.length&&n.forEach(function(e){t.push(l.fields[e.from])}),s=await getFindQuery({name:o.objectName},null,t,{expand:!1,alias:"defaultValueOptions",filters:"{__options_filters}",count:!1}),i=await getApi({name:o.objectName},null,t,{expand:!1,alias:"options",queryOptions:'filters: {__filters}, top: {__top}, sort: "{__sort}"'}),i.adaptor='\n const data = payload.data;\n var defaultValueOptions = data.defaultValueOptions;\n // 字段值下拉选项合并到options中\n data.options = _.unionWith(defaultValueOptions, data.options, function(a,b){\n return a["value"]=== b["value"];\n });\n delete data.defaultValueOptions;\n payload.data.options = data.options;\n return payload;\n '}else i={method:"post",data:{$:"$$",query:""},url:"/api/amis/health_check?reload=${additionalFilters|join}&listName=${listName}"};let c=getLookupListView(l),d=getListViewFilter(c),u=c&&c._filters,f="";if(c&&(f=getListViewSort(c)),i.url&&!n.inFilterForm){const t=[],n=[];_$1__namespace.each(e.depend_on,e=>{t.push(`depend_on_${e}=\${${e}}`),n.push(`this.${e}`)}),t.length>0&&(i.url=`${i.url}&${t.join("&")}`,i.sendOn=`${n.join(" && ")}`)}i.data.$term="$term",i.data.$value=n.isRefToMutiple?`$${e.name}.ids`:`$${e.name}`,_$1__namespace.each(e.depend_on,function(e){i.data[e]=`$${e}`}),i.data.$="$$",i.data.rfield="${object_name}",i.requestAdaptor=`\n ${d&&!n.inFilterForm?`var filters = ${JSON.stringify(d)};`:"var filters = [];"}\n var top = 200;\n if(api.data.$term){\n filters = [["${o?.NAME_FIELD_KEY||"name"}", "contains", api.data.$term]];\n }\n // else if(api.data.$value){\n // filters = [["_id", "=", api.data.$value]];\n // }\n\n var fieldFilters = ${JSON.stringify(e.filters)};\n var currentAmis = (window.amisRequire && window.amisRequire('amis')) || Amis;\n //递归fieldFilters数组,检查每一个元素,判断若是公式,就仅把它解析\n function traverseNestedArray(arr) {\n for (let i = 0; i < arr.length; i++) {\n if (Array.isArray(arr[i])) {\n // 如果当前元素是数组,则递归调用自身继续遍历\n traverseNestedArray(arr[i]);\n } else {\n // 如果当前元素不是数组,则处理该元素\n // 下面正则用于匹配amis公式\${}\n if(/\\$\\{([^}]*)\\}/.test(arr[i])) {\n try{\n arr[i] = currentAmis.evaluate(arr[i], api.context);\n }catch(ex){\n console.error("运行lookup过滤公式时出现错误:",ex);\n }\n }\n }\n }\n }\n if(fieldFilters && fieldFilters.length){\n traverseNestedArray(fieldFilters);\n filters.push(fieldFilters);\n }\n\n if(${"space_users"===o?.objectName} && ${"user"===e.reference_to_field}){\n if(filters.length > 0){\n filters = [ ["user_accepted", "=", true], "and", filters ]\n }else{\n filters = [["user_accepted", "=", true]];\n }\n }\n\n const inFilterForm = ${n.inFilterForm};\n\n const listviewFiltersFunction = ${u};\n\n if(listviewFiltersFunction && !inFilterForm){\n const _filters0 = listviewFiltersFunction(filters, api.data.$);\n if(_filters0 && _filters0.length){\n filters.push(_filters0);\n }\n }\n \n const filtersFunction = ${e.filtersFunction||e._filtersFunction};\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n var sort = "${f}";\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', top).replace('{__sort}', sort.trim());\n\n var defaultValue = api.data.$value;\n var optionsFiltersOp = "${e.multiple?"in":"="}";\n var optionsFilters = [["${a}", optionsFiltersOp, []]];\n if (defaultValue && !api.data.$term) { \n const defaultValueOptionsQueryData = ${JSON.stringify(s)};\n const defaultValueOptionsQuery = defaultValueOptionsQueryData && defaultValueOptionsQueryData.query && defaultValueOptionsQueryData.query.replace(/^{/,"").replace(/}$/,"");\n // 字段值单独请求,没值的时候在请求中返回空\n optionsFilters = [["${a}", optionsFiltersOp, defaultValue]];\n if(filters.length > 0){\n optionsFilters = [filters, optionsFilters];\n }\n if(defaultValueOptionsQuery){\n api.data.query = "{"+api.data.query.replace(/^{/,"").replace(/}$/,"")+","+defaultValueOptionsQuery+"}";\n } \n }\n api.data.query = api.data.query.replace(/{__options_filters}/g, JSON.stringify(optionsFilters));\n return api;\n `,o&&o.labelField.name,o&&o.valueField.name,e.optionsFunction||e._optionsFunction?i.adaptor=`\n var options = eval(${e.optionsFunction||e._optionsFunction})(api.data.$);\n if(api.data.$term){\n options = _.filter(options, function(o) {\n var label = o.label;\n return label.toLowerCase().indexOf(api.data.$term.toLowerCase()) > -1;\n });\n }\n payload.data.options = options;\n return payload;\n `:e.options&&(i.adaptor=`\n var options = ${JSON.stringify(e.options)}\n if(api.data.$term){\n options = _.filter(options, function(o) {\n var label = o.label;\n return label.toLowerCase().indexOf(api.data.$term.toLowerCase()) > -1;\n });\n }\n payload.data.options = options;\n return payload;\n `);const p={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,clearable:!0,disabledOn:`${t} || ( (this._master && (this._master.relatedKey ==='${e.name}')) || ((this.relatedKey ==='${e.name}') && (${e.multiple} != true)) )`,autoComplete:i,searchable:!0};getComparableAmisVersion()>=3.6&&(p.source=i,delete p.autoComplete);return r&&e.multiple||(p.menuTpl="${icon ? `<span class='flex items-center mt-0.5'>\n <span role='img' aria-label='smile' class='anticon anticon-smile'>\n <span class='slds-icon_container slds-icon-standard-${REPLACE(icon,'_','-')}'>\n <svg class='slds-icon slds-icon_x-small' aria-hidden='true'>\n <use xlink:href='/assets/icons/standard-sprite/svg/symbols.svg#${icon}'></use>\n </svg>\n </span> \n </span>\n <span class='pl-1.5'>${label}</span>\n </span>` : label}"),e.multiple&&(p.multiple=!0,p.extractValue=!0),t&&(p.tpl=await getLookupTpl(e,n)),p}async function getApi(e,t,n,o){const r=await getFindQuery(e,t,n,o);return{method:"post",url:getApi$2(),data:r,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getAutoFill(e,t){let n=e.auto_fill_mapping;if(n&&n.length){let o={};return e.multiple?n.forEach(function(e){_$1__namespace.includes(["lookup","master_detail","select"],t.fields[e.from].type)?o[e.to]=`\${items | pick:${e.from}}`:o[e.to]=`\${items | pick:${e.from} | join}`}):n.forEach(function(e){o[e.to]=`\${${e.from}}`}),o}}async function lookupToAmis(e,t,n){if(n||(n={}),t)return e.reference_to&&!e.isTableField?{type:"steedos-field",config:e,static:!0}:{type:getAmisStaticFieldType("picker",t),tpl:getRelatedFieldTpl(e,n)};if(e.reference_to&&!_$1__namespace.isString(e.reference_to)&&!t)return{type:"steedos-field-lookup",field:e,readonly:t,ctx:n};let o=await getReferenceTo(e);if(!o)return await lookupToAmisSelect(e,t,n);if("space_users"===o.objectName&&"user"===e.reference_to_field&&(n=Object.assign({},n,{onlyDisplayLookLabel:!0})).idsDependOn)return await lookupToAmisIdsPicker(e,t,n);const r=await getUISchema(o.objectName);let a,i=_$1__namespace.isBoolean(e.enable_enhanced_lookup)?e.enable_enhanced_lookup:r.enable_enhanced_lookup;getComparableAmisVersion()>=3.6&&!i&&r.enable_tree&&e.multiple&&(i=!0),1==i&&e.amis&&e.amis.type&&"picker"!==e.amis.type&&(i=!1),a=1==i?await lookupToAmisPicker(e,t,n):r.enable_tree?await lookupToAmisTreeSelect(e,t,Object.assign({},n,{labelField:o.labelField?.name||"name",valueField:o.valueField?.name||"_id",objectName:o.objectName})):await lookupToAmisSelect(e,t,n);let s=r.pages&&r.pages.lookup;if(s&&s.is_enable){let e=s.amis_schema;"string"==typeof e&&(e=JSON.parse(e)),a=_$1__namespace.defaultsDeep({},e,a)}const l=await getAutoFill(e,r);return l&&(a.autoFill=l),a}async function lookupToAmisIdsPicker(e,t,n){return getIdsPickerSchema(e,t,n)}async function getIdsPickerSchema(e,t,n){n||(n={});let o=await getReferenceTo(e);if(!o)return;const r=await getUISchema(o.objectName),{idsDependOn:a}=n,i={[o.labelField.name]:o.labelField,[o.valueField.name]:o.valueField},s=[o.labelField],l=await getApi(r,null,i,{expand:!0,alias:"rows",queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});l.data.$term="$term",l.data.$self="$$",a&&l.url&&!n.inFilterForm&&(l.sendOn=`\${${a} && ${a}.length}`,l.url=`${l.url}&depend_on_${a}=\${${a}|join}`);let c=getLookupListView(r),d="";c&&(d=getListViewSort(c)),l.requestAdaptor=`\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 1000;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n sort = orderBy ? sort : "${d}";\n if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n filters = [["${o.valueField.name}", "=", selfData.value.split(',')]];\n }else{\n filters = [["${o.valueField.name}", "=", selfData.value]];\n }\n }\n\n var ids;\n var idsDependOn = "${a}";\n if(idsDependOn){\n ids = api.data.$self[idsDependOn];\n }\n if(ids && ids.length){\n filters.push(["${o.valueField.name}", "=", ids]);\n }\n\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n `;let u=null;"SMALL"===n.formFactor?u=await getListSchema$1(s,{top:1e3,...n,actions:!1}):(u=await getTableSchema$1(r,s,{labelFieldName:r.NAME_FIELD_KEY,top:1e3,isLookup:!0,...n}),u.affixHeader=!1);const f={type:getAmisStaticFieldType("picker",t),labelField:o.labelField.name,valueField:o.valueField.name,modalMode:"dialog",source:l,disabledOn:`${t} || ( (this._master && (this._master.relatedKey ==='${e.name}')) || ((this.relatedKey ==='${e.name}') && (${e.multiple} != true)) )`,size:"lg",pickerSchema:u,joinValues:!1,extractValue:!0};return e.multiple&&(f.multiple=!0,f.extractValue=!0),n.value&&(f.value=n.value),null!=n.selectFirst&&(f.selectFirst=n.selectFirst),t&&(f.tpl=await getLookupTpl(e,n)),f}"undefined"!=typeof window&&(window.getReferenceTo=getReferenceTo,window.getReferenceToSync=getReferenceToSync);const getMarkdownFieldSchema=(e,t,n)=>t?{type:"control",label:e.label,body:{type:"markdown",name:e.name,options:{linkify:!0,html:!0,breaks:!0}}}:{type:"control",label:e.label,body:[{type:"tabs",tabsMode:"strong",className:"steedos-markdown",tabs:[{title:instance.t("frontend_form_edit"),tab:[{type:"editor",name:e.name,labelClassName:"none",language:"markdown",options:e.amis?e.amis.editorOptions:null}]},{title:instance.t("frontend_form_preview"),tab:[{type:"markdown",name:e.name,options:{linkify:!0,html:!0,breaks:!0}}]}]}]},getHtmlFieldSchema=(e,t,n)=>t?{type:"input-rich-text",receiver:"${context.rootUrl}/s3/images",name:e.name,options:{plugins:["autoresize"],statusbar:!1,readonly:!0,toolbar:!1,menubar:!1}}:{type:"input-rich-text",receiver:"${context.rootUrl}/s3/images",options:{statusbar:!1,menubar:!1},name:e.name},QUICK_SEARCHABLE_FIELD_TYPES=["text","textarea","autonumber","url","email"],OMIT_FIELDS=["created","created_by","modified","modified_by"];function getObjectFieldSubFields(e,t){const n=Object.assign({subFields:[]},e),o=_$1__namespace.filter(t,function(t){let n=t.name.startsWith(`${e.name}.`)&&_$1__namespace.split(t.name,".").length<3;return n&&(t._prefix=`${e.name}.`),n});return n.subFields=o,n}function getGridFieldSubFields(e,t){const n=Object.assign({subFields:[]},e),o=_$1__namespace.filter(t,function(t){let n=t.name.startsWith(`${e.name}.`);return n&&(t._prefix=`${e.name}.`),n});return n.subFields=o,n}function getTabledFieldSubFields(e,t){const n=Object.assign({subFields:[]},e),o=_$1__namespace.filter(t,function(t){let n=t.name.startsWith(`${e.name}.`);return n&&(t._prefix=`${e.name}.`),n});return n.subFields=o,n}function getSelectFieldOptions(e){const t=e.data_type||"text",n=[];return _$1__namespace.each(e.options,e=>{switch(t){case"number":n.push({label:e.label,value:Number(e.value),icon:e.icon});break;case"text":n.push({label:e.label,value:String(e.value),icon:e.icon});break;case"boolean":n.push({label:e.label,value:"false"!==e.value,icon:e.icon})}}),n}async function convertSFieldToAmisField(e,t,n){const o=window.innerWidth<=768;if(_$1__namespace.includes(OMIT_FIELDS,e.name)&&1!=n.showSystemFields)return;const r={name:n.fieldNamePrefix?`${n.fieldNamePrefix}${e.name}`:e.name,label:e.label,labelRemark:e.inlineHelpText,description:e.description,required:_$1__namespace.has(n,"required")?n.required:e.required};let a={};switch(e.type){case"text":a.type=getAmisStaticFieldType("text",t,e);break;case"textarea":a.type=getAmisStaticFieldType("textarea",t),a.tpl=`<%=(data.${e.name} || "").split("\\n").join('<br>')%>`;break;case"html":a=getHtmlFieldSchema(e,t);break;case"markdown":a=getMarkdownFieldSchema(e,t);break;case"select":if(t){const t=getSelectMap(e.options);a={type:"static-mapping",name:e.name,label:e.label,options:e.options,map:t}}else{a={type:getAmisStaticFieldType("select",t),joinValues:!1,options:getSelectFieldOptions(e),extractValue:!0,clearable:!0,labelField:"label",valueField:"value"};const n="${icon ? `"+"<span class='flex items-center mt-0.5'>\n <span role='img' aria-label='smile' class='anticon anticon-smile'>\n <span class='slds-icon_container slds-icon-standard-${REPLACE(icon,'_','-')}'>\n <svg class='slds-icon slds-icon_x-small' aria-hidden='true'>\n <use xlink:href='/assets/icons/standard-sprite/svg/symbols.svg#${icon}'></use>\n </svg>\n </span> \n </span>\n <span class='pl-1.5'>${label}</span>\n </span>"+"` : label}";o&&e.multiple||(a.menuTpl=n),e.multiple&&(a.multiple=!0,a.extractValue=!0)}break;case"color":a={type:getAmisStaticFieldType("color",t),name:e.name,label:e.label},t?a.defaultColor=null:a.pipeIn=(e,t)=>e&&e.indexOf("#")<0?"#"+e:e;break;case"boolean":a={type:getAmisStaticFieldType("checkbox",t),tpl:t?getSwitchTpl(e):null};break;case"input-date-range":a={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:t?getDateTpl(e):null,joinValues:!1,shortcuts:["thismonth","2monthsago","3monthslater","prevquarter","thisquarter","thisyear","lastYear"]};break;case"date":a={type:getAmisStaticFieldType("date",t),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:t?getDateTpl(e):null};break;case"input-datetime-range":a={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSSZ",tpl:t?getDateTimeTpl(e):null,utc:!0,joinValues:!1,shortcuts:["thismonth","2monthsago","3monthslater","prevquarter","thisquarter","thisyear","lastYear"]};break;case"datetime":a={type:getAmisStaticFieldType("datetime",t),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:00.000Z",tpl:t?getDateTimeTpl(e):null,utc:!0,closeOnSelect:!1};break;case"input-time-range":a={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:t?getDateTimeTpl(e):null,joinValues:!1};break;case"time":a={type:getAmisStaticFieldType("time",t),inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:t?getDateTimeTpl(e):null};break;case"currency":case"number":a=t?{type:"static-tpl",tpl:getNumberTpl(e)}:{type:getAmisStaticFieldType("number",t),min:e.min,max:e.max,precision:e.scale};break;case"input-array":a=Object.assign({},e,r);break;case"input-range":a={type:"input-range",min:e.min,max:e.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":a=t?{type:"static-progress",name:"progress",pipeIn:(t,n)=>{if(t){return Number((100*t).toFixed(e.scale))}return t}}:{type:getAmisStaticFieldType("number",t),min:e.min,max:e.max,precision:e.scale,suffix:"%",pipeIn:(t,n)=>{if(t){return Number((100*t).toFixed(e.scale))}return t},pipeOut:(t,n,o)=>{if(t){return Number((t/100).toFixed(e.scale+2))}return t}};break;case"password":a={type:getAmisStaticFieldType("password",t),tpl:t?getPasswordTpl(e):null};break;case"lookup":case"master_detail":a=await lookupToAmis(e,t,n);break;case"autonumber":t?a={type:"static-text"}:e.autonumber_enable_modify&&(a={type:"input-group",body:[{type:"input-text",name:e.name},{type:"button",label:"自动获取",actionType:"ajax",api:{url:`\${context.rootUrl}/api/autonumber/generator/\${objectName}/${e.name}`,method:"post",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`\n var tempValue = payload.data && payload.data.autonumber;\n delete payload.data.autonumber;\n payload.data["${e.name}"] = tempValue;\n return payload;\n `},messages:{success:"获取成功"}}]});break;case"url":if(a={type:getAmisStaticFieldType("url",t,e),static:!!t},!t){let t=e.amis?.validations;void 0===t&&Object.assign(a,{validations:{matchRegexp:"^((http:\\/\\/|https:\\/\\/|ftp:\\/\\/|sftp:\\/\\/)+([^\\s\\/\\.]+(\\.[^\\s\\/\\.]+)+))*(\\/[^\\s\\.\\/]+)*$"},validationErrors:{matchRegexp:instance.t("frontend_form_validation_failed_url")}})}t&&e.show_as_qr&&(a={type:"control",label:e.label,body:{type:"qr-code",codeSize:128,name:e.name}});break;case"email":a={type:getAmisStaticFieldType("email",t)};break;case"location":let i="LiZT5dVbGTsPI91tFGcOlSpe5FDehpf7",s="baidu";if(window.Meteor){const e=Meteor.settings?.public?.amis?.map_ak;e&&(i=e);const t=Meteor.settings?.public?.amis?.map_vendor;t&&(s=t)}const l=e.coordinatesType||"bd09";a={type:getAmisStaticFieldType("location",t),tpl:t?getLocationTpl(e):null,ak:i,vendor:s,clearable:!0,coordinatesType:l,label:e.label,pipeOut:(e,t,n)=>{if(e){const t=e.lng,n=e.lat;let o=[t,n];if(window.coordtransform)if("bd09"===l.toLowerCase()){const e=window.coordtransform.bd09togcj02(t,n);o=window.coordtransform.gcj02towgs84(e[0],e[1])}else"gcj02"===l.toLowerCase()&&(o=window.coordtransform.gcj02towgs84(t,n));return e.wgs84={type:"Point",coordinates:o},e}}};break;case"avatar":case"image":case"file":a=await getAmisFileSchema(e,t,n);break;case"formula":case"summary":t&&(a={type:"static-tpl",tpl:getUiFieldTpl(e)});break;case"code":a={type:"editor",disabled:!!t,language:e.language,editorDidMount:new Function("editor","monaco",e.editorDidMount)};break;case"toggle":a={type:"switch",name:e.name,label:e.label,width:e.width,toggled:e.toggled,disabled:t};break;case"grid":if(e.subFields){a={type:"input-table",showIndex:!0,columnsTogglable:!1,strictMode:!1,affixHeader:!1,needConfirm:!1,editable:!t,addable:!t,removable:!t,draggable:!t,columns:[]};for(const o of e.subFields){const r=o.name.replace(`${e._prefix||""}${e.name}.$.`,"").replace(`${e.name}.`,""),i=await convertSFieldToAmisField(Object.assign({},o,{name:r,isTableField:!0}),t,n);if(i){delete i.name,delete i.label;const e={name:r,label:o.label,quickEdit:!t&&i};["lookup","boolean","toggle"].indexOf(o.type)>-1&&(e.type=i.type,e.tpl=i.tpl),a.columns.push(Object.assign({},e,o.amis,{name:r}))}}}break;case"table":if(e.subFields){a={type:"steedos-input-table",editable:!t,addable:!t,removable:!t,fields:[],amis:{columnsTogglable:!1}};for(const t of e.subFields)if(!t.name.endsWith(".$")){const n=t.name.replace(`${e._prefix||""}${e.name}.$.`,"").replace(`${e.name}.`,"");a.fields.push(Object.assign({},t,{name:n}))}}break;case"object":if(e.subFields){a={type:"combo",items:[]};for(let o of e.subFields){let r=o.name.replace(`${e.name}.$.`,"").replace(`${e.name}.`,"");"grid"===o.type?o=await getGridFieldSubFields(o,n.__formFields):"table"===o.type?o=await getTabledFieldSubFields(o,n.__formFields):t&&(r=`${e.name}.${r}`);const i=await convertSFieldToAmisField(Object.assign({},o,{name:r}),t,n);i&&(delete i.name,delete i.label,i.className=i.className.replace("border-b",""),a.items.push(Object.assign({},i,{label:o.label},o.amis,{name:r})))}}}if(!_$1__namespace.isEmpty(a)){const o=a.className;e.is_wide||"group"===a.type?a.className=o?"col-span-2 m-0 "+o:"col-span-2 m-0":a.className=o?"m-0 "+o:"m-0",t&&"edit"!==n.mode&&(a.className=`${a.className} border-b`),t&&(a.quickEdit=!1,a.static=!0);let i,s=" steedos-"+a.type+(t?"-readonly":"-edit");return a.className=a.className+s,e.visible_on&&!n.inFilterForm&&(e.visible_on.startsWith("{{")?a.visibleOn=`${e.visible_on.substring(2,e.visible_on.length-2).replace(/formData./g,"data.")}`:a.visibleOn=`${e.visible_on.replace(/formData./g,"data.")}`),n.amisData&&n.amisData._master&&n.amisData._master.relatedKey===e.name&&(a.className=`${a.className||""} hidden`),_$1__namespace.isString(r.required)&&r.required.startsWith("{{")&&(r.requiredOn=`${r.required.substring(2,r.required.length-2).replace(/formData./g,"data.")}`,delete r.required),"group"===a.type?(a.body[0]=Object.assign({},r,a.body[0],{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:e.name}),a):(i="steedos-field"==a.type?Object.assign({},r,a,{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:e.name},{name:r.name}):Object.assign({},r,a,{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:e.name},e.amis,{name:r.name}),t&&"file"==e.type&&(i.name=""),i)}}async function getFieldSearchable(e,t,n){n||(n={});let o=e;"grid"===o.type?o=await getGridFieldSubFields(e,t):"object"===e.type&&(o=await getObjectFieldSubFields(e,t));let r="__searchable__";if(o.name.indexOf(".")<0){let e=_$1.cloneDeep(o);_$1.includes(["textarea","html","code","autonumber"],o.type)&&(e.type="text"),_$1.includes(["formula","summary"],o.type)&&(e.type=o.data_type,e.precision=o.precision,e.scale=o.scale),"number"!==e.type&&"currency"!==e.type||(e.type="input-array",e.inline=!0,e.addable=!1,e.removable=!1,e.value=[null,null],e.items={type:"input-number",clearValueOnEmpty:!0},e.is_wide=!0,r=`${r}between__`),"date"===e.type&&(e.type="input-date-range",e.is_wide=!0,r=`${r}between__`),"datetime"===e.type&&(e.type="input-datetime-range",e.is_wide=!0,r=`${r}between__`),"time"===e.type&&(e.type="input-time-range",e.is_wide=!0,r=`${r}between__`),"users"===e.reference_to&&(e.reference_to="space_users",e.reference_to_field="user"),e.readonly=!1,e.disabled=!1,e.multiple=!0,e.is_wide=!1,e.defaultValue=void 0,e.required=!1,e.hidden=!1,e.omit=!1,e.amis&&(delete e.amis.static,delete e.amis.staticOn,delete e.amis.disabled,delete e.amis.disabledOn,delete e.amis.required,delete e.amis.requiredOn,delete e.amis.visible,delete e.amis.visibleOn,delete e.amis.hidden,delete e.amis.hiddenOn,delete e.amis.autoFill,(e.type.indexOf("-range")>-1||"input-array"===e.type)&&delete e.amis.type);const t=await convertSFieldToAmisField(e,!1,Object.assign({},n,{fieldNamePrefix:r,required:!1,showSystemFields:!0,inFilterForm:!0}));if(t)return t}}function isFieldTypeSearchable(e){return!_$1__namespace.includes(["grid","table","avatar","image","object","[object]","[Object]","[grid]","[text]","audio","file"],e)}function isFieldQuickSearchable(e,t){let n=e.searchable;return!1!==n&&e.name===t&&(n=!0),!!(n&&QUICK_SEARCHABLE_FIELD_TYPES.indexOf(e.type)>-1)}"undefined"!=typeof window&&(window.getFieldSearchable=getFieldSearchable),"undefined"!=typeof window&&(window.isFieldTypeSearchable=isFieldTypeSearchable);var asc$1="Asc",cancel$1="Cancel",clear$1="Clear",add$1="New",confirm$1="Confirm",deleteConfirm$1="Are your sure to delete?",deleteFailed$1="Delete failed",desc$1="Desc",fetchFailed$1="Fetch api failed",link$1="Link",loading$1="Loading",networkError$1="Network error or missing CORS configuration",noResult$1="No Result",reset$1="Reset",saveFailed$1="Save failed",saveSuccess$1="Saved successfully",search$1="Search",searchHistory$1="Search History",searchResult$1="Search result",sort$1="Sort",stop$1="Stop",validateFailed$1="Validate failed",reload$1="Reload",rotate$1="Rotate",TimeNow$1="Now",en_us={"Action.countDown":"Wait for ${timeLeft}s","Alert.info":"System Info","App.home":"Home","App.navigation":"Navigation",asc:asc$1,"Calendar.datepicker":"Date Picker","Calendar.yearmonth":"YYYY MM","Calendar.year":"YYYY","Calendar.begin":"begin","Calendar.end":"end","Calendar.beginAndEnd":"b/e","Calendar.toast":"Out of date range","Calendar.startPick":"Select start time","Calendar.endPick":"Select end time",cancel:cancel$1,"Card.dragTip":"Drag top button to sort","Card.toggleDrag":"Toggle drag to sort","City.street":"Enter street info",clear:clear$1,"ColorPicker.placeholder":"Select color","SubForm.add":"New",add:add$1,"Combo.dragDropSort":"Drag to sort","Combo.invalidData":"invalid data, please remove","Combo.maxLength":"Maximum item ia {{MaxLength}}}. Please delete some","Combo.minLength":"A least {{minLength}} item. Please add more","Combo.type":"Type",confirm:confirm$1,"Copyable.tip":"Copy","CRUD.exportCSV":"Export CSV","CRUD.exportExcel":"Export Excel","CRUD.fetchFailed":"Fetch failed","CRUD.filter":"Filter","CRUD.selected":"selected {{total}} items","CRUD.invalidArray":"data.items must be an array","CRUD.invalidData":"data is empty","CRUD.loadMore":"Load more","CRUD.perPage":"Per page","CRUD.stat":"{{page}} of {{lastPage}} total: {{total}}.","CRUD.paginationGoText":"Go to","CRUD.paginationPageText":"page","PaginationWrapper.placeholder":"please config body","Pagination.select":"{{count}} items/page","Pagination.goto":"goto","Pagination.go":"GO","Pagination.totalPage":"total {{lastPage}} pages","Pagination.totalCount":"total {{total}} items","Date.titleYear":"select year","Date.titleMonth":"select month and year","Date.titleDate":"select month, year and day","Date.titleTime":"select time","Date.daysago":"{{days}} day(s) ago","Date.dayslater":"{{days}} day(s) later","Date.endOfMonth":"last day of the month","Date.endOfLastMonth":"last day of last month","Date.endOfWeek":"Saturday","Date.hoursago":"{{hours}} hour(s) ago","Date.hourslater":"{{hours}} hour(s) later","Date.invalid":"Invalid date","Date.monday":"Monday","Date.monthsago":"{{months}} month(s) ago","Date.monthslater":"{{months}} month(s) later","Date.now":"Now","Date.placeholder":"Select Date","Date.quartersago":"{{quarters}} quarter(s) ago","Date.quarterslater":"{{quarters}} quarter(s) later","Date.startOfLastMonth":"First day of the last month","Date.startOfLastQuarter":"First day of the last quarter","Date.startOfMonth":"First day of the month","Date.startOfQuarter":"First day of the quarter","Date.today":"Today","Date.tomorrow":"Tomorrow","Date.weeksago":"{{weeks}} week(s) ago","Date.weekslater":"{{weeks}} week(s) later","Date.yesterday":"Yesterday","dateformat.year":"YYYY","DateRange.daysago":"Last {{days}} day(s)","DateRange.dayslater":"Within {{days}} day(s)","DateRange.weeksago":"Last {{weeks}} week(s)","DateRange.weekslater":"Within {{weeks}} week(s)","DateRange.monthsago":"Last {{months}} month(s)","DateRange.monthslater":"Within {{months}} month(s)","DateRange.quartersago":"Last {{quarters}} quarter(s)","DateRange.quarterslater":"Within {{quarters}} quarter(s)","DateRange.yearsago":"Last {{years}} year(s)","DateRange.yearslater":"Within {{years}} year(s)","DateRange.hoursago":"Last {{hours}} hour(s)","DateRange.hourslater":"Within {{hours}} hour(s)","DateRange.1dayago":"1 day ago","DateRange.1daysago":"1 day ago","DateRange.7daysago":"7 days ago","DateRange.30daysago":"30 days ago","DateRange.90daysago":"90 days ago","DateRange.lastMonth":"Last month","DateRange.lastWeek":"Last week","DateRange.lastQuarter":"Last quarter","DateRange.placeholder":"Select a Date range","YearRange.placeholder":"Select a Year range","DateRange.thisWeek":"This Week","DateRange.thisMonth":"This month","DateRange.thisQuarter":"This quarter","DateRange.thisYear":"This year","DateRange.lastYear":"Last year","DateRange.valueConcat":" to ","DateTime.placeholder":"Select Datetime",delete:"Delete",deleteConfirm:deleteConfirm$1,deleteFailed:deleteFailed$1,desc:desc$1,"Dialog.close":"Close","Dialog.title":"Title","Embed.invalidRoot":"Invalid root selector","Embed.downloading":"Start downloading","Excel.placeholder":"Drag 'n' drop excel here, or click to select","Excel.parsed":"{{filename}} Parsed",fetchFailed:fetchFailed$1,"File.continueAdd":"Continue add","File.downloadTpl":"Download template","File.dragDrop":"Drag 'n' drop some files here or","File.clickUpload":"click here to upload","File.helpText":"Help documentation","File.errorRetry":"File upload failed, please try again","File.failed":"Failed files.","File.invalidType":"{{files}} does not match type `{{accept}}`","File.maxLength":"The maximum limit is {{maxLength}}","File.maxSize":"{{filename}} you selected exceeds the maximum limit of {{maxsize}} (in bytes)","File.pause":"Pause uplaod","File.repick":"Repick","File.result":"Successfully uploaded {{uploaded}} files, failed to upload {{failed}} files","File.retry":"Retry","File.sizeLimit":"The maximum file size is {{maxSize}}","File.start":"Start upload","File.upload":"Upload","Image.upload":"Upload image","File.uploadFailed":"return data of udpload api is empty","File.uploading":"Uploading","FormItem.autoFillLoadFailed":"return data of autoUpdate api is error","FormItem.autoFillSuggest":"Reference data entry","Form.loadOptionsFailed":"Failed to load options because: {{reason}}","Form.submit":"Submit","Form.title":"Form","Form.unique":"Current value is not unique","Form.validateFailed":"Form input validation failed","Form.nestedError":"Form cannot appear as a descendant of form","Image.configError":"Can only set one of crop or multiple","Image.crop":"Crop image","Image.dragDrop":"Drag 'n' drop some photos here","Image.height":"height: {{height}}px","Image.limitMax":"Minimum image size is {{info}}","Image.limitMin":"Maximum image size is {{info}}","Image.limitRatio":"Please upload image with the size ratio of {{ration}}","Image.pasteTip":"You can paste image from the clipboard","Image.placeholder":"Click to select image or drag into this area","Image.size":"size: ({{width}}px x {{height}}px)","Image.sizeNotEqual":"The image you selected does not meet the size requirements {{info}}","Image.width":"width: {{width}}px","Image.zoomIn":"Zoom In","Log.mustHaveSource":"Must have source in config","Log.showLineNumber":"Display line number","Log.notShowLineNumber":"Hide line number","Log.expand":"Expand Operation","Log.collapse":"Collapse Operation",link:link$1,loading:loading$1,"LocationPicker.placeholder":"Pick location","Month.placeholder":"Select a month","Nav.sourceError":"Fetch link error",networkError:networkError$1,noResult:noResult$1,"NumberInput.placeholder":"Please enter a number","Options.addPlaceholder":"Please enter a name","Options.deleteAPI":"Must have deleteAPI","Options.editLabel":"Edit {{label}}","Options.label":"option","Options.createFailed":"create failed, please check","placeholder.empty":"<Empty>","placeholder.enter":"Enter","placeholder.noData":"No data","placeholder.noOption":"No option","placeholder.selectData":"Select data","Quarter.placeholder":"Select a quarter","Repeat.pre":"Per",reset:reset$1,saveFailed:saveFailed$1,saveSuccess:saveSuccess$1,search:search$1,searchHistory:searchHistory$1,searchResult:searchResult$1,"Checkboxes.selectAll":"Select/Deselect All","Select.checkAll":"Check all","Select.clear":"Clear","Select.upload":"Re upload","Select.clearAll":"Clear all","Select.createLabel":"New option","Select.placeholder":"Select","Select.searchPromptText":"Input to search",sort:sort$1,stop:stop$1,"SubForm.button":"Config","SubForm.editDetail":"Edit Detail","System.error":"System error","System.notify":"System notify","System.copy":"Content copied","System.requestError":"Request error: ","System.requestErrorStatus":"Request error, status code: ","Table.addRow":"Add row","Table.copyRow":"Copy row","Table.columnsVisibility":"Click to control columns visibility","Table.deleteRow":"Delete current row","Table.discard":"Discard","Table.dragTip":"Drag the button on the left to sort","Table.editing":"You should finished editing","Table.editRow":"Edit current row","Table.modified":"There are {{modified}} records have been modified, you can:","Table.moved":"There are {{moved}} records changed the order, you can:","Table.operation":"Operation","Table.playload":"Must have playload","Table.startSort":"Click to start sorting","Table.valueField":"Must have valueField","Table.index":"Index","Table.toggleColumn":"Display columns","Table.searchFields":"Set query fields","Tag.placeholder":"No tag yet","Tag.tip":"Recently used tag","Text.add":"New {{label}}","Time.placeholder":"Select Time","Transfer.configError":"Config error","Transfer.refreshIcon":"Click to refresh","Transfer.searchKeyword":"Enter keywords","Transfer.available":"Available","Transfer.selectd":"Selected","Transfer.selectFromLeft":"Select from the left","Tree.addChild":"Add child","Tree.addRoot":"Add root node","Tree.editNode":"Edit this node","Tree.removeNode":"Remove this node","Tree.root":"Root","validate.equals":"value must be $1","validate.equalsField":"value must be $1","validate.gt":"Please enter a value greater than $1","validate.isAlpha":"Please enter letters","validate.isAlphanumeric":"Please enter letters or numbers","validate.isEmail":"Email format is incorrect","validate.isFloat":"Please enter a floating point value","validate.isId":"invalid ID Card number","validate.isInt":"Please enter an integer number","validate.isJson":"invalid JSON format.","validate.isLength":"Please make sure the length of contents is $1","validate.isNumeric":"Please enter a number","validate.isPhoneNumber":"invalid phone number","validate.isRequired":"This is required","validate.isTelNumber":"invalid telephone number","validate.isUrl":"Incorrect URL format","validate.isUrlPath":"You can only enter letters, numbers, `-` and`_` .","validate.isWords":"Please enter word","validate.isZipcode":"invalid postal address","validate.lt":"Please enter a value less than $1","validate.matchRegexp":"The format is not correct. Please enter the content with the rule `${1| raw}`.","validate.maximum":"The input value exceeds the maximum value of $1","validate.maxLength":"Please control the content length, do not enter more than $1 letters","validate.minimum":"The input value is lower than the minimum value of $1","validate.minLength":"Please enter more, at least $1 characters.","validate.notEmptyString":"Please do not enter all blank characters",validateFailed:validateFailed$1,"Wizard.configError":"Config error","Wizard.finish":"Finish","Wizard.next":"Next","Wizard.prev":"Prev","Wizard.saveAndNext":"Save & Next","year-to-year":"{{from}} - {{to}}","Year.placeholder":"Select a Year",reload:reload$1,rotate:rotate$1,"Editor.fullscreen":"full screen","Editor.exitFullscreen":"exit fullscreen mode","Condition.not":"not","Condition.and":"and","Condition.or":"or","Condition.add_cond":"add condition","Condition.add_cond_group":"add condition group","Condition.delete_cond_group":"delete condition group","Condition.equal":"equal","Condition.not_equal":"not equal","Condition.less":"less","Condition.less_or_equal":"less or equal","Condition.greater":"greater","Condition.greater_or_equal":"greater or equal","Condition.between":"between","Condition.not_between":"not between","Condition.is_empty":"empty","Condition.is_not_empty":"not empty","Condition.like":"contains","Condition.not_like":"not contains","Condition.starts_with":"starts with","Condition.ends_with":"ends with","Condition.select_equals":"equals","Condition.select_not_equals":"not equal","Condition.select_any_in":"contains","Condition.select_not_any_in":"not contains","Condition.placeholder":"Please enter text","Condition.cond_placeholder":"select condition","Condition.field_placeholder":"select field","Condition.blank":"blank","Condition.expression":"expression","Condition.formula_placeholder":"Please enter a formula","Condition.fun_error":"Function is undefined","InputTable.uniqueError":"Column `{{label}}` unique validate failed","Timeline.collapseText":"Unfold","Timeline.expandText":"Fold","FormulaEditor.btnLabel":"Formula Edit","FormulaEditor.title":"Formula Editor","FormulaEditor.variable":"Variable","FormulaEditor.function":"Function","FormulaEditor.invalidData":"invalid data, position or reason is {{err}}","pullRefresh.pullingText":"Pull down to refresh...","pullRefresh.loosingText":"Release to refresh...","pullRefresh.loadingText":"Loading...","pullRefresh.successText":"Loading success","Picker.placeholder":"Click icon on the right","UserSelect.edit":"edit","UserSelect.save":"preservation","UserSelect.resultSort":"Select result sort","UserSelect.selected":"Selected","UserSelect.clear":"empty","SchemaType.string":"String","SchemaType.number":"Number","SchemaType.integer":"integer","SchemaType.object":"Object","SchemaType.array":"Array","SchemaType.boolean":"Boolean","SchemaType.any":"Any","SchemaType.null":"Null","JSONSchema.title":"Title","JSONSchema.default":"Default","JSONSchema.description":"Description","JSONSchema.key":"Key","JSONSchema.array_items":"Items",TimeNow:TimeNow$1},asc="正序",Schedule="日程",Time="时间",Content="内容",cancel="取消",clear="清空",add="新增",confirm="确认",deleteConfirm="确认要删除?",deleteFailed="删除失败",desc="降序",fetchFailed="初始化失败",link="链接",loading="加载中",networkError="网络错误,可能是未配置跨域 CORS",noResult="未找到任何结果",reset="重置",saveFailed="保存失败",saveSuccess="保存成功",search="搜索",searchHistory="搜索历史",searchResult="搜索结果",stop="停止",sort="排序",validateFailed="表单验证失败",reload="刷新",rotate="旋转",collapse="展开",expand="折叠",Required="必填",TimeNow="此刻",zh_cn={"Action.countDown":"请等待 ${timeLeft} 秒","Alert.info":"系统消息","App.home":"首页","App.navigation":"导航",asc:asc,"Calendar.datepicker":"日期选择","Calendar.yearmonth":"YYYY年MM月","Calendar.year":"YYYY年","Calendar.begin":"开始","Calendar.end":"结束","Calendar.beginAndEnd":"始/终","Calendar.toast":"超出日期范围","Calendar.startPick":"开始时间","Calendar.endPick":"结束时间",Schedule:Schedule,Time:Time,Content:Content,cancel:cancel,"Card.dragTip":"请拖动顶部的按钮进行排序","Card.toggleDrag":"对卡片进行排序操作","City.street":"请输入街道信息",clear:clear,"ColorPicker.placeholder":"请选择颜色","SubForm.add":"新增一项",add:add,"Combo.dragDropSort":"拖拽排序","Combo.invalidData":"数值格式不正确","Combo.maxLength":"组合表单超出{{maxLength}}个,请删除","Combo.minLength":"组合表单数量不足{{minLength}}个,请添加更多","Combo.type":"类型",confirm:confirm,"Copyable.tip":"点击复制","CRUD.exportCSV":"导出 CSV","CRUD.exportExcel":"导出 Excel","CRUD.fetchFailed":"获取失败","CRUD.filter":"筛选","CRUD.selected":"已选{{total}}条:","CRUD.invalidArray":"data.items 必须是数组","CRUD.invalidData":"返回数据格式不正确,data 没有数据","CRUD.loadMore":"加载更多","CRUD.perPage":"每页显示","CRUD.stat":"{{page}}/{{lastPage}} 总共:{{total}} 项","CRUD.paginationGoText":"前往","CRUD.paginationPageText":"页","PaginationWrapper.placeholder":"请配置内容","Pagination.select":"{{count}} 条/页","Pagination.goto":"跳转至","Pagination.go":"跳转","Pagination.totalPage":"共 {{lastPage}} 页","Pagination.totalCount":"共 {{total}} 条","Date.titleYear":"选择年","Date.titleMonth":"选择年月","Date.titleDate":"选择年月日","Date.titleTime":"选择时间","Date.daysago":"{{days}}天前","Date.dayslater":"{{days}}天后","Date.endOfMonth":"本月最后一天","Date.endOfWeek":"周日","Date.endOfLastMonth":"上月最后一天","Date.hoursago":"{{hours}}小时前","Date.hourslater":"{{hours}}小时后","Date.invalid":"日期无效","Date.monday":"本周一","Date.monthsago":"{{months}}月前","Date.monthslater":"{{months}}月后","Date.now":"现在","Date.placeholder":"请选择日期","Date.quartersago":"{{quarters}}季度前","Date.quarterslater":"{{quarters}}季度后","Date.startOfLastMonth":"上个月第一天","Date.startOfLastQuarter":"上个季度第一天","Date.startOfMonth":"本月第一天","Date.startOfQuarter":"本季度第一天","Date.today":"今天","Date.tomorrow":"明天","Date.weeksago":"{{weeks}}周前","Date.weekslater":"{{weeks}}周后","Date.yesterday":"昨天","dateformat.year":"YYYY年","DateRange.daysago":"最近{{days}}天","DateRange.dayslater":"{{days}}天以内","DateRange.weeksago":"最近{{weeks}}周","DateRange.weekslater":"{{weeks}}周以内","DateRange.monthsago":"最近{{months}}月","DateRange.monthslater":"{{months}}月以内","DateRange.quartersago":"最近{{quarters}}季度","DateRange.quarterslater":"{{quarters}}季度以内","DateRange.yearsago":"最近{{years}}年","DateRange.yearslater":"{{years}}年以内","DateRange.hoursago":"最近{{hours}}小时","DateRange.hourslater":"{{hours}}小时以内","DateRange.1daysago":"最近1天","DateRange.1dayago":"最近1天","DateRange.7daysago":"最近7天","DateRange.30daysago":"最近30天","DateRange.90daysago":"最近90天","DateRange.lastWeek":"上周","DateRange.lastMonth":"上个月","DateRange.lastQuarter":"上个季度","DateRange.placeholder":"请选择日期范围","DateRange.thisWeek":"这个周","DateRange.thisMonth":"这个月","DateRange.thisQuarter":"这个季度","DateRange.valueConcat":" 至 ","DateTime.placeholder":"请选择日期以及时间","MonthRange.placeholder":"请选择月份范围","QuarterRange.placeholder":"请选择季度范围","YearRange.placeholder":"请选择年份范围","DateRange.thisYear":"今年","DateRange.lastYear":"去年",delete:"删除",deleteConfirm:deleteConfirm,deleteFailed:deleteFailed,desc:desc,"Dialog.close":"关闭","Dialog.title":"弹框","Embed.invalidRoot":"选择器不对,页面上没有此元素","Embed.downloading":"文件即将开始下载","Excel.placeholder":"拖拽 Excel 到这,或点击上传","Excel.parsed":"已解析 {{filename}}",fetchFailed:fetchFailed,"File.continueAdd":"继续添加","File.downloadTpl":"下载模板","File.dragDrop":"将文件拖到此处,或","File.clickUpload":"点击上传","File.helpText":"帮助文档","File.errorRetry":"文件上传失败请重试","File.failed":"失败文件","File.invalidType":"{{files}} 不符合类型的 {{accept}} 的设定,请仔细检查","File.maxLength":"最多上传 {{maxLength}} 个文件","File.maxSize":"{{filename}} 大小为 {{actualSize}} 超出了最大为 {{maxSize}} (字节)的限制","File.pause":"暂停上传","File.repick":"重新选择","File.result":"已成功上传 {{uploaded}} 个文件,{{failed}} 个文件上传失败,","File.retry":"重试上传","File.sizeLimit":"文件大小不超过 {{maxSize}}","File.start":"开始上传","File.upload":"文件上传","Image.upload":"图片上传","File.uploadFailed":"接口返回错误,请仔细检查","File.uploading":"上传中...","FormItem.autoFillLoadFailed":"接口返回错误,请仔细检查","FormItem.autoFillSuggest":"参照录入数据","Form.loadOptionsFailed":"加载选项失败,原因:{{reason}}","Form.submit":"提交","Form.title":"表单","Form.unique":"当前值不唯一","Form.validateFailed":"依赖的部分字段没有通过验证","Form.nestedError":"表单不要直接嵌套在表单下面","Image.configError":"图片多选配置和裁剪配置只能设置一个","Image.crop":"裁剪图片","Image.dragDrop":"将图片拖拽到此处","Image.height":"高度 {{height}}px","Image.limitRatio":"请上传尺寸比率为 {{ratio}} 的图片","Image.pasteTip":"可以粘贴剪切板中的图片","Image.placeholder":"点击选择图片或拖拽图片到这里","Image.size":"尺寸({{width}} x {{height}})","Image.sizeMax":"请上传不要大于{{info}}的图片","Image.sizeMin":"请上传不要小于{{info}}的图片","Image.sizeNotEqual":"请上传{{info}}的图片","Image.width":"宽度 {{width}}px","Image.zoomIn":"查看大图","Image.limitMax":"上传图片大于{{info}},请检查图片尺寸","Image.limitMin":"上传图片小于{{info}},请检查图片尺寸","Log.mustHaveSource":"需要配置 Source","Log.showLineNumber":"显示行数","Log.notShowLineNumber":"不现实行数","Log.expand":"展开工具栏","Log.collapse":"收起工具栏",link:link,loading:loading,"LocationPicker.placeholder":"请选择位置","Month.placeholder":"请选择月份","Nav.sourceError":"获取链接错误",networkError:networkError,noResult:noResult,"NumberInput.placeholder":"请输入数字","Options.addPlaceholder":"请输入名称","Options.deleteAPI":"必须设置 deleteAPI","Options.editLabel":"编辑{{label}}","Options.label":"选项","Options.createFailed":"新增失败,请仔细检查","placeholder.empty":"<空>","placeholder.enter":"请输入","placeholder.noData":"暂无数据","placeholder.noOption":"暂无选项","placeholder.selectData":"请先选择数据","Quarter.placeholder":"请选择季度","Repeat.pre":"每",reset:reset,saveFailed:saveFailed,saveSuccess:saveSuccess,search:search,searchHistory:searchHistory,searchResult:searchResult,stop:stop,"Checkboxes.selectAll":"全选/不选","Select.checkAll":"全选","Select.clear":"移除","Select.upload":"重新上传","Select.clearAll":"移除所有","Select.createLabel":"新增选项","Select.placeholder":"请选择","Select.searchPromptText":"搜索",sort:sort,"SubForm.button":"设置","SubForm.editDetail":"编辑详情","System.error":"系统错误","System.notify":"系统消息","System.copy":"内容已复制到粘贴板","System.requestError":"接口报错:","System.requestErrorStatus":"接口出错,状态码是:","Table.addRow":"新增一行","Table.copyRow":"复制一行","Table.columnsVisibility":"点击选择显示列","Table.deleteRow":"删除当前行","Table.discard":"放弃","Table.dragTip":"请拖动左边的按钮进行排序","Table.editing":"请先处理表格编辑项","Table.editRow":"编辑当前行","Table.modified":"当前有 {{modified}} 条记录修改但没有提交,你可以:","Table.moved":"当前有 {{moved}} 条记录修改了顺序但没有提交,你可以:","Table.operation":"操作","Table.playload":"action 上请配置 payload, 否则不清楚要删除哪个","Table.startSort":"点击开始排序","Table.valueField":"请配置 valueField","Table.index":"序号","Table.toggleColumn":"显示列","Table.searchFields":"设置查询字段","Tag.placeholder":"请输入/选择标签","Tag.tip":"最近使用的标签","Text.add":"新增:{{label}}","Time.placeholder":"请选择时间","Transfer.configError":"配置错误,选项无法与左侧选项对应","Transfer.refreshIcon":"点击刷新重新加载","Transfer.searchKeyword":"请输入关键字","Transfer.available":"可选项","Transfer.selectd":"已选项","Transfer.selectFromLeft":"请选择左侧数据","Tree.addChild":"添加子节点","Tree.addRoot":"添加一级节点","Tree.editNode":"编辑该节点","Tree.removeNode":"移除该节点","Tree.root":"顶级","validate.equals":"输入的数据与 $1 不一致","validate.equalsField":"输入的数据与 $1 值不一致","validate.gt":"请输入大于 $1 的值","validate.isAlpha":"请输入字母","validate.isAlphanumeric":"请输入字母或者数字","validate.isEmail":"Email 格式不正确","validate.isFloat":"请输入浮点型数值","validate.isId":"请输入合法的身份证号","validate.isInt":"请输入整型数字","validate.isJson":"JSON 格式不正确","validate.isLength":"请输入长度为 $1 的内容","validate.isNumeric":"请输入数字","validate.isPhoneNumber":"请输入合法的手机号码","validate.isRequired":"这是必填项","validate.isTelNumber":"请输入合法的电话号码","validate.isUrl":"URL 格式不正确","validate.isUrlPath":"只能输入字母、数字、`-` 和 `_`.","validate.isWords":"请输入单词","validate.isZipcode":"请输入合法的邮编地址","validate.lt":"请输入小于 $1 的值","validate.matchRegexp":"格式不正确, 请输入符合规则为 `${1|raw}` 的内容。","validate.maximum":"当前输入值超出最大值 $1","validate.maxLength":"请控制内容长度, 不要输入 $1 个以上字符","validate.minimum":"当前输入值低于最小值 $1","validate.minLength":"请输入更多的内容,至少输入 $1 个字符。","validate.notEmptyString":"请不要全输入空白字符",validateFailed:validateFailed,"Wizard.configError":"配置错误","Wizard.finish":"完成","Wizard.next":"下一步","Wizard.prev":"上一步","Wizard.saveAndNext":"保存并下一步","year-to-year":"{{from}} 年 - {{to}} 年","Year.placeholder":"请选择年",reload:reload,rotate:rotate,"Editor.fullscreen":"全屏","Editor.exitFullscreen":"退出全屏","Condition.not":"非","Condition.and":"并","Condition.or":"或","Condition.add_cond":"添加条件","Condition.add_cond_group":"添加条件组","Condition.delete_cond_group":"删除组","Condition.equal":"等于","Condition.not_equal":"不等于","Condition.less":"小于","Condition.less_or_equal":"小于或等于","Condition.greater":"大于","Condition.greater_or_equal":"大于或等于","Condition.between":"属于范围","Condition.not_between":"不属于范围","Condition.is_empty":"为空","Condition.is_not_empty":"不为空","Condition.like":"模糊匹配","Condition.not_like":"不匹配","Condition.starts_with":"匹配开头","Condition.ends_with":"匹配结尾","Condition.select_equals":"等于","Condition.select_not_equals":"不等于","Condition.select_any_in":"包含","Condition.select_not_any_in":"不包含","Condition.placeholder":"请输入文本","Condition.cond_placeholder":"请选择操作","Condition.field_placeholder":"请选择字段","Condition.blank":"空","Condition.expression":"表达式","Condition.formula_placeholder":"请输入公式","Condition.fun_error":"方法未定义","InputTable.uniqueError":"列`{{label}}`没有通过唯一验证","Timeline.collapseText":"展开","Timeline.expandText":"折叠",collapse:collapse,expand:expand,"FormulaEditor.btnLabel":"公式编辑","FormulaEditor.title":"公式编辑器","FormulaEditor.variable":"变量","FormulaEditor.function":"函数","FormulaEditor.invalidData":"公式值校验错误,错误的位置/原因是 {{err}}","pullRefresh.pullingText":"下拉即可刷新...","pullRefresh.loosingText":"释放即可刷新...","pullRefresh.loadingText":"加载中...","pullRefresh.successText":"加载成功","Picker.placeholder":"请点击右侧的图标","UserSelect.edit":"编辑","UserSelect.save":"保存","UserSelect.resultSort":"选择结果排序","UserSelect.selected":"已选","UserSelect.clear":"清空","SchemaType.string":"文本","SchemaType.number":"数字","SchemaType.integer":"整数","SchemaType.object":"对象","SchemaType.array":"数组","SchemaType.boolean":"布尔","SchemaType.null":"Null","SchemaType.any":"任意","JSONSchema.title":"名称","JSONSchema.default":"默认值","JSONSchema.key":"字段名","JSONSchema.description":"描述","JSONSchema.add_prop":"添加属性","JSONSchema.array_items":"成员类型",Required:Required,TimeNow:TimeNow};const resourcesMap={"en-US":en_us,"zh-CN":zh_cn},getUserLanguage=()=>{var e=Builder.settings.context?.user?.language||window.navigator.language;return"en"===e&&(e="en-US"),e};var locale="zh-CN";function getAmisLocaleResource(){var e=resourcesMap[locale];return e||resourcesMap["zh-CN"]}if("undefined"!=typeof window&&(locale=getUserLanguage()),"undefined"!=typeof window){var currentAmis=window.amisRequire&&window.amisRequire("amis")||Amis;currentAmis&¤tAmis.registerLocale(locale,getAmisLocaleResource())}function Inbox(e){var t=e.className,n=e.onClick,o=__rest(e,["className","onClick"]),r=useInboxNotificationsSuspense().inboxNotifications;return 0===r.length?React__default.default.createElement("div",{className:clsx(t,"empty")},instance.t("liveblocks:frontend_inbox_empty")):React__default.default.createElement("div",__assign({className:t},o),React__default.default.createElement(InboxNotificationList,{className:"inbox-list"},r.map(function(e){return React__default.default.createElement(InboxNotification,{key:e.id,inboxNotification:e,onClick:n})})))}function InboxPopoverUnreadCount(){var e=useUnreadInboxNotificationsCountSuspense().count;return e?React__default.default.createElement("div",{className:"inbox-unread-count"},e):null}function AmisInboxPopover(e){var t=e.className,n=__rest(e,["className"]),o=__read(React.useState(!1),2),r=o[0],a=o[1],i=useMarkAllInboxNotificationsAsRead(),s=useDeleteAllInboxNotifications();return React__default.default.createElement(Root2$1,{open:r,onOpenChange:a},React__default.default.createElement(Trigger,{className:clsx(t,"inbox-button square")},React__default.default.createElement(ErrorBoundary,{fallback:null},React__default.default.createElement(ClientSideSuspense,{fallback:null},React__default.default.createElement(InboxPopoverUnreadCount,null))),React__default.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",width:"20",height:"20"},React__default.default.createElement("path",{"fill-rule":"evenodd",d:"M12 2.25c-2.429 0-4.817.178-7.152.521C2.87 3.061 1.5 4.795 1.5 6.741v6.018c0 1.946 1.37 3.68 3.348 3.97.877.129 1.761.234 2.652.316V21a.75.75 0 0 0 1.28.53l4.184-4.183a.39.39 0 0 1 .266-.112c2.006-.05 3.982-.22 5.922-.506 1.978-.29 3.348-2.023 3.348-3.97V6.741c0-1.947-1.37-3.68-3.348-3.97A49.145 49.145 0 0 0 12 2.25ZM8.25 8.625a1.125 1.125 0 1 0 0 2.25 1.125 1.125 0 0 0 0-2.25Zm2.625 1.125a1.125 1.125 0 1 1 2.25 0 1.125 1.125 0 0 1-2.25 0Zm4.875-1.125a1.125 1.125 0 1 0 0 2.25 1.125 1.125 0 0 0 0-2.25Z","clip-rule":"evenodd"}))),React__default.default.createElement(Portal$1,null,React__default.default.createElement(Content2$2,__assign({className:"inbox",collisionPadding:16,sideOffset:8},n),React__default.default.createElement("div",{className:"inbox-header"},React__default.default.createElement("span",{className:"inbox-title"},instance.t("liveblocks:frontend_comment_inbox")),React__default.default.createElement("div",{className:"inbox-buttons"},React__default.default.createElement("button",{className:"inbox-button",onClick:i},instance.t("liveblocks:frontend_mark_all_read")),React__default.default.createElement("button",{className:"inbox-button destructive",onClick:s},instance.t("liveblocks:frontend_delete_all")))),React__default.default.createElement(ErrorBoundary,{fallback:React__default.default.createElement("div",{className:"error"},instance.t("liveblocks:frontend_fallback_error"))},React__default.default.createElement(ClientSideSuspense,{fallback:React__default.default.createElement(Loading,null)},React__default.default.createElement(Inbox,{onClick:function(e){console.log("clicked"),a(!1)}}))))))}instance.addResources("en","liveblocks",en_us$2),instance.addResources("zh-CN","liveblocks",zh_cn$2);var AmisRoomsProvider=function(e){var t,n=e.data,o=e.baseUrl,r=e.children,a=e.body,i=e.render,s=e.readonly,l=void 0!==s&&s,c=__read(React.useState(null),2),d=c[0],u=c[1],f=o||(null===(t=n.context)||void 0===t?void 0:t.rootUrl)||"".concat(window.location.protocol,"//").concat(window.location.host);console.log("liveblocks baseUrl:",f);var p=useTranslation(),_=p.i18n;p.t;var m=_.language,h=instance.getResourceBundle(m,"liveblocks")||{},g=__assign({locale:m},h),b=g.INBOX_NOTIFICATION_THREAD_COMMENTS_LIST__commented||"commented",v=g.INBOX_NOTIFICATION_THREAD_COMMENTS_LIST__in||"in",y=g.INBOX_NOTIFICATION_THREAD_COMMENTS_LIST__in_a_thread||"in a thread";return g.INBOX_NOTIFICATION_THREAD_COMMENTS_LIST=function(e,t){return React__default.default.createElement(React__default.default.Fragment,null,e," ",b,t?React__default.default.createElement(React__default.default.Fragment,null," ",v," ",t):React__default.default.createElement(React__default.default.Fragment,null," ",y))},React__default.default.createElement(LiveblocksUIConfig,{overrides:g},React__default.default.createElement(LiveblocksProvider,{baseUrl:f,authEndpoint:function(e){return __awaiter(void 0,void 0,void 0,function(){var t,n,o,r,a,i;return __generator(this,function(s){switch(s.label){case 0:return t="".concat(f,"/v2/c/auth"),n={"Content-Type":"application/json"},o=localStorage.getItem("steedos:authToken"),(r=localStorage.getItem("steedos:spaceId"))&&o&&(n.Authorization="Bearer ".concat(r,",").concat(o)),a=JSON.stringify({room:e,readonly:l}),[4,fetch(t,{method:"POST",headers:n,body:a,credentials:"include"})];case 1:return[4,s.sent().json()];case 2:return i=s.sent(),u(i.token),[2,i]}})})},resolveRoomsInfo:function(e){return __awaiter(void 0,[e],void 0,function(e){var t,n,o=e.roomIds;return __generator(this,function(e){switch(e.label){case 0:return t=new URLSearchParams(o.map(function(e){return["roomIds",e]})),[4,fetch("".concat(f,"/v2/c/rooms?").concat(t),{headers:{Authorization:"Bearer ".concat(d)}})];case 1:if(!(n=e.sent()).ok)throw new Error(instance.t("liveblocks:frontend_fetch_rooms_info_error"));return[4,n.json()];case 2:return[2,e.sent()]}})})},resolveUsers:function(e){return __awaiter(void 0,[e],void 0,function(e){var t,n,o=e.userIds;return __generator(this,function(e){switch(e.label){case 0:return t=new URLSearchParams(o.map(function(e){return["userIds",e]})),[4,fetch("".concat(f,"/v2/c/users?").concat(t),{headers:{Authorization:"Bearer ".concat(d)}})];case 1:if(!(n=e.sent()).ok)throw new Error(instance.t("liveblocks:frontend_fetch_users_error"));return[4,n.json()];case 2:return[2,e.sent()]}})})},resolveMentionSuggestions:function(e){return __awaiter(void 0,[e],void 0,function(e){var t,n=e.text,o=void 0===n?"":n;return __generator(this,function(e){switch(e.label){case 0:return[4,fetch("".concat(f,"/v2/c/users/search?keyword=").concat(encodeURIComponent(o)),{headers:{Authorization:"Bearer ".concat(d)}})];case 1:if(!(t=e.sent()).ok)throw new Error(instance.t("liveblocks:frontend_fetch_mention_suggestions_error"));return[4,t.json()];case 2:return[2,e.sent()]}})})}},a&&i("body",a,{}),r))};exports.AmisComments=AmisComments,exports.AmisInboxPopover=AmisInboxPopover,exports.AmisRoomsProvider=AmisRoomsProvider,exports.Threads=Threads,Object.defineProperty(exports,"__esModule",{value:!0})});
|