@steedos-widgets/liveblocks 6.10.18 → 6.10.19
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/dist/assets.json +5 -5
- package/dist/i18n.d.ts +1 -1
- package/dist/liveblocks.umd.js +2 -2
- package/dist/types/i18n.d.ts +1 -1
- package/package.json +3 -3
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"),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=524288e3,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;#A;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.#A=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.#A.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;#O;[kSinks];constructor(e){this.equals=e??Object.is,this.#O=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.#O[Symbol.dispose](),this.#O="(disposed)",this.equals="(disposed)"}get hasWatchers(){if(this.#O.count()>0)return!0;for(const e of this[kSinks])if(e.hasWatchers)return!0;return!1}[kTrigger](){this.#O.notify();for(const e of this[kSinks])enqueueTrigger(e)}subscribe(e){return this.#O.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=A(e);t&&n.others.push(t);break}case 300:_.ydoc.notify(e);break;case 104:n.others.push(O(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 A(e){const t=c.others.getUser(e.actor);return t?(c.others.removeConnection(e.actor),{type:"leave",user:t}):null}function O(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;#O;#Ee;#we;#Ce;constructor(e){this.#we=null,this.#Ee=e,this.#O=makeEventSource(),this.#Ce=null,this.observable=this.#O.observable,autobind(this)}#xe(e){const t=this.#we;null!==t&&(this.#we={...t,...e},this.#O.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.#O.notify(),()=>{this.#O.notify(),setTimeout(()=>{this.#Se=null,this.#O.notify()},5e3)}),this.#Se=e,e}},SinglePageResource=class{observable;#O;#Ee;constructor(e){this.#Ee=e,this.#O=makeEventSource(),this.observable=this.#O.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.#O.notify(),()=>{this.#O.notify(),setTimeout(()=>{this.#Se=null,this.#O.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;#Ae;#Oe=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.#Ae=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.#Ae.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.#Ae.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.#Ae.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.#Oe.get(e);return(void 0===r||r>o.requestedAt)&&this.#Oe.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.#Oe.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.#Oe.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})}
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("react-dom"),require("@steedos-widgets/amis-object")):"function"==typeof define&&define.amd?define(["exports","react","react-dom","@steedos-widgets/amis-object"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).BuilderLiveblocks={},e.React,e.ReactDOM,e.BuilderAmisObject)}(this,function(e,t,n,r){const o=window;function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(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 a=i(t),u=s(t),c=s(n),l=i(n),d=Object.defineProperty,f="@liveblocks/core",h="2.15.1",p="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==o?o:{};function m(e){console.error(e)}function g(e,t,n){const r=Symbol.for(e),o=n?`${t||"dev"} (${n})`:t||"dev";if(p[r])if(p[r]===o);else{m(["Multiple copies of Liveblocks are being loaded in your project. This will cause issues! See https://liveblocks.io/docs/errors/dupes ","","Conflicts:",`- ${e} ${p[r]} (already loaded)`,`- ${e} ${o} (trying to load this now)`].join("\n"))}else p[r]=o;t&&h&&t!==h&&m(["Cross-linked versions of Liveblocks found, which will cause issues! See https://liveblocks.io/docs/errors/cross-linked ","","Conflicts:",`- ${f} is at ${h}`,`- ${e} is at ${t}`,"","Always upgrade all Liveblocks packages to the same version number."].join("\n"))}function v(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 y(e){const t=new Date(e.createdAt),n=new Date(e.updatedAt),r=e.comments.map(e=>v(e));return{...e,createdAt:t,updatedAt:n,comments:r}}function b(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 x(e){const t=new Date(e.deletedAt);return{...e,deletedAt:t}}function w(e){const t=new Date(e.deletedAt);return{...e,deletedAt:t}}var C={};((e,t)=>{for(var n in t)d(e,n,{get:t[n],enumerable:!0})})(C,{error:()=>I,errorWithTitle:()=>T,warn:()=>A,warnWithTitle:()=>O});var D="background:#0e0d12;border-radius:9999px;color:#fff;padding:3px 7px;font-family:sans-serif;font-weight:600;";function E(e){return"undefined"==typeof window?console[e]:(t,...n)=>console[e]("%cLiveblocks",D,t,...n)}var A=E("warn"),I=E("error");function S(e){return"undefined"==typeof window?console[e]:(t,n,...r)=>console[e](`%cLiveblocks%c ${t}`,D,"font-weight:600",n,...r)}var O=S("warn"),T=S("error");function B(e){throw new Error(e)}function k(e){return null!==e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)}function _(e){return Object.entries(e)}function F(e){try{return JSON.parse(e)}catch(e){return}}function j(e){return JSON.parse(JSON.stringify(e))}function R(e){return e.filter(e=>null!=e)}function N(e){const t={...e};return Object.keys(e).forEach(e=>{const n=e;void 0===t[n]&&delete t[n]}),t}function P(e){return new Promise(t=>setTimeout(t,e))}async function M(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 L(e){let t=null;return()=>(null===t&&(t=e().catch(e=>{throw setTimeout(()=>{t=null},5e3),e})),t)}var z=class extends Error{constructor(e,t,n){super(e),this.message=e,this.status=t,this.details=n}},H=e=>e instanceof z&&e.status>=400&&e.status<500;async function U(e,t,n,r=H){const o=n.length>0?n[n.length-1]:0;let i=0;for(;;){i++;try{return await e()}catch(e){if(r(e))throw e;if(i>=t)throw new Error(`Failed after ${t} attempts: ${String(e)}`)}const s=n[i-1]??o;A(`Attempt ${i} was unsuccessful. Retrying in ${s} milliseconds.`),await P(s)}}function W(){let e,t;return[new Promise((n,r)=>{e=n,t=r}),e,t]}function V(){const[e,t,n]=W();return{promise:e,resolve:t,reject:n}}function $(){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 r(e){let n;return new Promise(r=>{n=t(t=>{(void 0===e||e(t))&&r(t)})}).finally(()=>n?.())}return{notify:function(t){e.forEach(e=>e(t))},subscribe:t,subscribeOnce:n,count:function(){return e.size},waitUntil:r,[Symbol.dispose]:()=>{e.clear()},observable:{subscribe:t,subscribeOnce:n,waitUntil:r}}}function q(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 K=class{input;resolve;reject;promise;constructor(e){this.input=e;const{promise:t,resolve:n,reject:r}=V();this.promise=t,this.resolve=n,this.reject=r}},G=class{#e=[];#t;#n;#r;#o;error=!1;constructor(e,t){this.#t=e,this.#n=t.size??50,this.#r=t.delay}#i(){void 0!==this.#o&&(clearTimeout(this.#o),this.#o=void 0)}#s(){this.#e.length===this.#n?this.#a():1===this.#e.length&&(this.#i(),this.#o=setTimeout(()=>{this.#a()},this.#r))}async#a(){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,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.#e.find(t=>q(t.input)===q(e));if(t)return t.promise;const n=new K(e);return this.#e.push(n),this.#s(),n.promise}clear(){this.#e=[],this.error=!1,this.#i()}};function X(e){const t=new Map,n=$();function r(e){return q(e)}function o(e,r){t.set(e,r),n.notify()}return{...n.observable,get:async function(n){const i=r(n);if(!t.has(i))try{o(i,{isLoading:!0});o(i,{isLoading:!1,data:await e.get(n)})}catch(e){o(i,{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()},getBatch:function(){return e},_cacheKeys:function(){return[...t.keys()]}}}function Z(e,t){const n=[];for(let r=0,o=e.length;r<o;r+=t)n.push(e.slice(r,r+t));return n}var Y=(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?"_":"-"),"");function J(e){return`${e}_${Y()}`}function Q(){return J("th")}function ee(){return J("cm")}function te(){return J("at")}var ne=/^[a-zA-Z_][a-zA-Z0-9_]*$/;function re(e){let t=[];const n=Object.entries(e),r=[],o=[],i=[];return n.forEach(([e,t])=>{if(!ne.test(e))throw new Error("Key must only contain letters, numbers, _");se(t)?r.push([e,t]):ae(t)?o.push([e,t]):"object"!=typeof t||"startsWith"in t||i.push([e,t])}),t=[...oe(r),...ie(o)],i.forEach(([e,n])=>{const r=Object.entries(n),o=[],i=[];r.forEach(([t,n])=>{if(de(t))throw new Error("Key cannot be empty");se(n)?o.push([ce(e,t),n]):ae(n)&&i.push([ce(e,t),n])}),t=[...t,...oe(o),...ie(i)]}),t.map(({key:e,operator:t,value:n})=>ue(e,t,le(n))).join(" AND ")}var oe=e=>{const t=[];return e.forEach(([e,n])=>{t.push({key:e,operator:":",value:n})}),t},ie=e=>{const t=[];return e.forEach(([e,n])=>{"startsWith"in n&&"string"==typeof n.startsWith&&t.push({key:e,operator:"^",value:n.startsWith})}),t},se=e=>"string"==typeof e||"number"==typeof e||"boolean"==typeof e,ae=e=>"object"==typeof e&&null!==e&&"startsWith"in e,ue=(e,t,n)=>`${e}${t}${n}`,ce=(e,t)=>t?`${e}[${JSON.stringify(t)}]`:e,le=e=>{if("string"==typeof e){if(de(e))throw new Error("Value cannot be empty");return JSON.stringify(e)}return e.toString()},de=e=>!e||""===e.toString().trim();function fe(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 he(e,...t){return e.reduce((e,n,r)=>e+encodeURIComponent(t[r-1]??"")+n)}function pe({baseUrl:e,authManager:t,fetchPolyfill:n}){const r=new ge(e,n);const o=new Map;function i(e){let n=o.get(e);if(void 0===n){n=X(new G(async n=>{const o=n.flat(),{urls:i}=await r.post(he`/v2/c/rooms/${e}/attachments/presigned-urls`,await t.getAuthValue({requestedScope:"comments:read",roomId:e}),{attachmentIds:o});return i.map(e=>e??new Error("There was an error while getting this attachment's URL"))},{delay:50})),o.set(e,n)}return n}const s=new Map;const a=new G(async e=>{const n=e.flat();return await async function(e){await r.post(he`/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=re(e.query));try{const o=await r.get(he`/v2/c/rooms/${e.roomId}/threads`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}),{cursor:e.cursor,query:n,limit:50});return{threads:o.data.map(y),inboxNotifications:o.inboxNotifications.map(b),nextCursor:o.meta.nextCursor,requestedAt:new Date(o.meta.requestedAt),permissionHints:o.meta.permissionHints}}catch(e){if(e instanceof z&&404===e.status)return{threads:[],inboxNotifications:[],nextCursor:null,requestedAt:new Date(Date.now()-216e5),permissionHints:{}};throw e}},getThreadsSince:async function(e){const n=await r.get(he`/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(y),deleted:n.deletedThreads.map(x)},inboxNotifications:{updated:n.inboxNotifications.map(b),deleted:n.deletedInboxNotifications.map(w)},requestedAt:new Date(n.meta.requestedAt),permissionHints:n.meta.permissionHints}},createThread:async function(e){const n=e.commentId??ee(),o=e.threadId??Q();return y(await r.post(he`/v2/c/rooms/${e.roomId}/threads`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}),{id:o,comment:{id:n,body:e.body,attachmentIds:e.attachmentIds},metadata:e.metadata}))},getThread:async function(e){const n=await r.rawGet(he`/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:y(e.thread),inboxNotification:e.inboxNotification?b(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 r.delete(he`/v2/c/rooms/${e.roomId}/threads/${e.threadId}`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}))},editThreadMetadata:async function(e){return await r.post(he`/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??ee();return v(await r.post(he`/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 v(await r.post(he`/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 r.delete(he`/v2/c/rooms/${e.roomId}/threads/${e.threadId}/comments/${e.commentId}`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}))},addReaction:async function(e){const n=await r.post(he`/v2/c/rooms/${e.roomId}/threads/${e.threadId}/comments/${e.commentId}/reactions`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}),{emoji:e.emoji});return o=n,{...o,createdAt:new Date(o.createdAt)};var o},removeReaction:async function(e){await r.delete(he`/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 r.post(he`/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 r.post(he`/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=s.get(e);return void 0===n&&(n=new G(async n=>{const o=n.flat();return await r.post(he`/v2/c/rooms/${e}/inbox-notifications/read`,await t.getAuthValue({requestedScope:"comments:read",roomId:e}),{inboxNotificationIds:o}),o},{delay:50}),s.set(e,n)),n}(e.roomId).get(e.inboxNotificationId)},updateNotificationSettings:async function(e){return r.post(he`/v2/c/rooms/${e.roomId}/notification-settings`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}),e.settings)},getNotificationSettings:async function(e){return r.get(he`/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 r.rawPost(he`/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 r.rawDelete(he`/v2/c/rooms/${e.roomId}/text-mentions/${e.mentionId}`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}))},getTextVersion:async function(e){return r.rawGet(he`/v2/c/rooms/${e.roomId}/y-version/${e.versionId}`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}))},createTextVersion:async function(e){await r.rawPost(he`/v2/c/rooms/${e.roomId}/version`,await t.getAuthValue({requestedScope:"comments:read",roomId:e.roomId}))},reportTextEditor:async function(e){await r.rawPost(he`/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 r.get(he`/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 r.get(he`/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 i(e.roomId).getBatch().get(e.attachmentId)},uploadAttachment:async function(e){const n=e.roomId,o=e.signal,i=e.attachment,s=o?new DOMException(`Upload of attachment ${e.attachment.id} was aborted.`,"AbortError"):void 0;if(o?.aborted)throw s;const a=e=>{if(o?.aborted)throw s;if(e instanceof z&&413===e.status)throw e;return!1},u=524288e3,c=[2e3,2e3,2e3,2e3,2e3,2e3,2e3,2e3,2e3,2e3];if(i.size<=u)return U(async()=>r.putBlob(he`/v2/c/rooms/${n}/attachments/${i.id}/upload/${encodeURIComponent(i.name)}`,await t.getAuthValue({requestedScope:"comments:read",roomId:n}),i.file,{fileSize:i.size},{signal:o}),10,c,a);{let e;const l=[],d=await U(async()=>r.post(he`/v2/c/rooms/${n}/attachments/${i.id}/multipart/${encodeURIComponent(i.name)}`,await t.getAuthValue({requestedScope:"comments:read",roomId:n}),void 0,{signal:o},{fileSize:i.size}),10,c,a);try{e=d.uploadId;const f=function(e){const t=[];let n=0;for(;n<e.size;){const r=Math.min(n+u,e.size);t.push({partNumber:t.length+1,part:e.slice(n,r)}),n=r}return t}(i.file);if(o?.aborted)throw s;const h=Z(f,5);for(const e of h){const s=[];for(const{part:u,partNumber:l}of e)s.push(U(async()=>r.putBlob(he`/v2/c/rooms/${n}/attachments/${i.id}/multipart/${d.uploadId}/${String(l)}`,await t.getAuthValue({requestedScope:"comments:read",roomId:n}),u,void 0,{signal:o}),10,c,a));l.push(...await Promise.all(s))}if(o?.aborted)throw s;const p=l.sort((e,t)=>e.partNumber-t.partNumber);return r.post(he`/v2/c/rooms/${n}/attachments/${i.id}/multipart/${e}/complete`,await t.getAuthValue({requestedScope:"comments:read",roomId:n}),{parts:p},{signal:o})}catch(o){if(e&&o?.name&&("AbortError"===o.name||"TimeoutError"===o.name))try{await r.rawDelete(he`/v2/c/rooms/${n}/attachments/${i.id}/multipart/${e}`,await t.getAuthValue({requestedScope:"comments:read",roomId:n}))}catch(e){}throw o}}},getOrCreateAttachmentUrlsStore:i,streamStorage:async function(e){const n=await r.rawGet(he`/v2/c/rooms/${e.roomId}/storage`,await t.getAuthValue({requestedScope:"room:read",roomId:e.roomId}));return await n.json()},sendMessages:async function(e){return r.rawPost(he`/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 r.get(he`/v2/c/inbox-notifications`,await t.getAuthValue({requestedScope:"comments:read"}),{cursor:e?.cursor,limit:50});return{inboxNotifications:n.inboxNotifications.map(b),threads:n.threads.map(y),nextCursor:n.meta.nextCursor,requestedAt:new Date(n.meta.requestedAt)}},getInboxNotificationsSince:async function(e){const n=await r.get(he`/v2/c/inbox-notifications/delta`,await t.getAuthValue({requestedScope:"comments:read"}),{since:e.since.toISOString()},{signal:e.signal});return{inboxNotifications:{updated:n.inboxNotifications.map(b),deleted:n.deletedInboxNotifications.map(w)},threads:{updated:n.threads.map(y),deleted:n.deletedThreads.map(x)},requestedAt:new Date(n.meta.requestedAt)}},getUnreadInboxNotificationsCount:async function(){const{count:e}=await r.get(he`/v2/c/inbox-notifications/count`,await t.getAuthValue({requestedScope:"comments:read"}));return e},markAllInboxNotificationsAsRead:async function(){await r.post(he`/v2/c/inbox-notifications/read`,await t.getAuthValue({requestedScope:"comments:read"}),{inboxNotificationIds:"all"})},markInboxNotificationAsRead:async function(e){await a.get(e)},deleteAllInboxNotifications:async function(){await r.delete(he`/v2/c/inbox-notifications`,await t.getAuthValue({requestedScope:"comments:read"}))},deleteInboxNotification:async function(e){await r.delete(he`/v2/c/inbox-notifications/${e}`,await t.getAuthValue({requestedScope:"comments:read"}))},getUserThreads_experimental:async function(e){let n;e?.query&&(n=re(e.query));const o=await r.get(he`/v2/c/threads`,await t.getAuthValue({requestedScope:"comments:read"}),{cursor:e?.cursor,query:n,limit:50});return{threads:o.threads.map(y),inboxNotifications:o.inboxNotifications.map(b),nextCursor:o.meta.nextCursor,requestedAt:new Date(o.meta.requestedAt),permissionHints:o.meta.permissionHints}},getUserThreadsSince_experimental:async function(e){const n=await r.get(he`/v2/c/threads/delta`,await t.getAuthValue({requestedScope:"comments:read"}),{since:e.since.toISOString()},{signal:e.signal});return{threads:{updated:n.threads.map(y),deleted:n.deletedThreads.map(x)},inboxNotifications:{updated:n.inboxNotifications.map(b),deleted:n.deletedInboxNotifications.map(w)},requestedAt:new Date(n.meta.requestedAt),permissionHints:n.meta.permissionHints}}}}function me(e){return"public"===e.type?e.publicApiKey:e.token.raw}var ge=class{#u;#c;constructor(e,t){this.#u=e,this.#c=t}async#l(e,t,n,r){e.startsWith("/v2/c/")||B("This client can only be used to make /v2/c/* requests");const o=fe(this.#u,e,r);return await this.#c(o,{...n,headers:{"Content-Type":"application/json; charset=utf-8",...n?.headers,Authorization:`Bearer ${me(t)}`,"X-LB-Client":h}})}async#d(e,t,n,r){const o=await this.#l(e,t,n,r);if(!o.ok){let e;try{const t=await o.json();e=new z(t.message,o.status,t)}catch{e=new z(o.statusText,o.status)}throw e}let i;try{i=await o.json()}catch{i={}}return i}async rawGet(e,t,n,r){return await this.#l(e,t,r,n)}async rawPost(e,t,n){return await this.#l(e,t,{method:"POST",body:JSON.stringify(n)})}async rawDelete(e,t){return await this.#l(e,t,{method:"DELETE"})}async get(e,t,n,r){return await this.#d(e,t,r,n)}async post(e,t,n,r,o){return await this.#d(e,t,{...r,method:"POST",body:JSON.stringify(n)},o)}async delete(e,t){return await this.#d(e,t,{method:"DELETE"})}async putBlob(e,t,n,r,o){return await this.#d(e,t,{...o,method:"PUT",headers:{"Content-Type":"application/octet-stream"},body:n},r)}};function ve(e,t){throw new Error(t)}function ye(e,t="Expected value to be non-nullable"){return e}var be=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}},xe=1,we=class{id;#h;#p;#m;#g;#v;#y;events;#b;#x;#w;get#C(){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.#g)throw 0===this.#h?new Error("Not started yet"):new Error("Already stopped");return this.#g}start(){if(0!==this.#h)throw new Error("State machine has already started");return this.#h=1,this.#g=this.#C,this.#D(null),this}stop(){if(1!==this.#h)throw new Error("Cannot stop a state machine that hasn't started yet");this.#E(null),this.#h=2,this.#g=null}constructor(e){this.id=xe++,this.#h=0,this.#g=null,this.#m=new Set,this.#x=new Map,this.#b=[],this.#w=new Set,this.#v=new Map,this.#p=new be(e),this.#y={didReceiveEvent:$(),willTransition:$(),didIgnoreEvent:$(),willExitState:$(),didEnterState:$()},this.events={didReceiveEvent:this.#y.didReceiveEvent.observable,willTransition:this.#y.willTransition.observable,didIgnoreEvent:this.#y.didIgnoreEvent.observable,willExitState:this.#y.willExitState.observable,didEnterState:this.#y.didEnterState.observable}}get context(){return this.#p.current}addState(e){if(0!==this.#h)throw new Error("Already started");return this.#m.add(e),this}onEnter(e,t){if(0!==this.#h)throw new Error("Already started");if(this.#x.has(e))throw new Error(`enter/exit function for ${e} already exists`);return this.#x.set(e,t),this}onEnterAsync(e,t,n,r,o){return this.onEnter(e,()=>{const e=new AbortController,i=e.signal,s=o?setTimeout(()=>{const e=new Error("Timed out");this.#A({type:"ASYNC_ERROR",reason:e},r)},o):void 0;let a=!1;return t(this.#p.current,i).then(e=>{i.aborted||(a=!0,this.#A({type:"ASYNC_OK",data:e},n))},e=>{i.aborted||(a=!0,this.#A({type:"ASYNC_ERROR",reason:e},r))}),()=>{clearTimeout(s),a||e.abort()}})}#I(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.#h)throw new Error("Already started");for(const n of this.#I(e)){let r=this.#v.get(n);void 0===r&&(r=new Map,this.#v.set(n,r));for(const[o,i]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=i;if(this.#w.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.#p.current):t,r=setTimeout(()=>{this.#A({type:"TIMER"},n)},e);return()=>{clearTimeout(r)}})}#S(e){return this.#v.get(this.currentState)?.get(e)}#E(e){this.#y.willExitState.notify(this.currentState),this.#p.allowPatching(t=>{e=e??this.#b.length;for(let n=0;n<e;n++)this.#b.pop()?.(t)})}#D(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.#p.allowPatching(e=>{for(const n of t){const t=this.#x.get(n),r=t?.(e);"function"==typeof r?this.#b.push(r):this.#b.push(null)}}),this.#y.didEnterState.notify(this.currentState)}send(e){if(!this.#w.has(e.type))throw new Error(`Invalid event ${JSON.stringify(e.type)}`);if(2===this.#h)return;const t=this.#S(e.type);if(void 0!==t)return this.#A(e,t);this.#y.didIgnoreEvent.notify(e)}#A(e,t){this.#y.didReceiveEvent.notify(e);const n=this.currentState,r=("function"==typeof t?t:()=>t)(e,this.#p.current);let o,i;if(null===r)return void this.#y.didIgnoreEvent.notify(e);if("string"==typeof r?o=r:(o=r.target,i=Array.isArray(r.effect)?r.effect:[r.effect]),!this.#m.has(o))throw new Error(`Invalid next state name: ${JSON.stringify(o)}`);this.#y.willTransition.notify({from:n,to:o});const[s,a]=function(e,t){if(e===t)return[0,0];const n=e.split("."),r=t.split("."),o=Math.min(n.length,r.length);let i=0;for(;i<o&&n[i]===r[i];i++);return[n.length-i,r.length-i]}(this.currentState,o);if(s>0&&this.#E(s),this.#g=o,void 0!==i){const t=i;this.#p.allowPatching(n=>{for(const r of t)"function"==typeof r?r(n,e):n.patch(r)})}a>0&&this.#D(a)}},Ce=(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))(Ce||{});function De(e){return 4999===e||e>=4e3&&e<4100}function Ee(e){return 1013===e||e>=4200&&e<4300}function Ae(e){return"initial"===e||"disconnected"===e}function Ie(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 ve(0,"Unknown state")}}var Se=[250,500,1e3,2e3,4e3,8e3,1e4],Oe=Se[0]-1,Te=[2e3,3e4,6e4,3e5],Be=class extends Error{constructor(e){super(e)}},ke=class extends Error{constructor(e,t){super(e),this.code=t}};function _e(e,t){return t.find(t=>t>e)??t[t.length-1]}function Fe(e){e.patch({backoffDelay:_e(e.backoffDelay,Se)})}function je(e){e.patch({backoffDelay:_e(e.backoffDelay,Te)})}function Re(e){e.patch({successCount:0})}function Ne(e,t){const n=2===e?I:1===e?A:()=>{};return()=>{n(t)}}function Pe(e){const t="Connection to Liveblocks websocket server";return n=>{e instanceof Error?A(`${t} could not be established. ${String(e)}`):A(ze(e)?`${t} closed prematurely (code: ${e.code}). Retrying in ${n.backoffDelay}ms.`:`${t} could not be established.`)}}function Me(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 Le=Ne(1,"Connection to WebSocket closed permanently. Won't retry.");function ze(e){return!(e instanceof Error)&&"close"===e.type}var He=e=>t=>t.patch(e);function Ue(e,t){const n=function(){const e=$();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)}}}();n.pause();const r=$();function o(e,t){return()=>{const n=new ke(e,t);r.notify(n)}}const i=new we({successCount:0,authValue:null,socket:null,backoffDelay:Oe}).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");i.addTransitions("*",{RECONNECT:{target:"@auth.backoff",effect:[Fe,Re]},DISCONNECT:"@idle.initial"}),i.onEnter("@idle.*",Re).addTransitions("@idle.*",{CONNECT:(e,t)=>null!==t.authValue?"@connecting.busy":"@auth.busy"}),i.addTransitions("@auth.backoff",{NAVIGATOR_ONLINE:{target:"@auth.busy",effect:He({backoffDelay:Oe})}}).addTimedTransition("@auth.backoff",e=>e.backoffDelay,"@auth.busy").onEnterAsync("@auth.busy",()=>M(e.authenticate(),1e4,"Timed out during auth"),e=>({target:"@connecting.busy",effect:He({authValue:e.data})}),e=>e.reason instanceof Be?{target:"@idle.failed",effect:[Ne(2,e.reason.message),o(e.reason.message,-1)]}:{target:"@auth.backoff",effect:[Fe,Ne(2,`Authentication failed: ${e.reason instanceof Error?e.reason.message:String(e.reason)}`)]});const s=e=>i.send({type:"EXPLICIT_SOCKET_ERROR",event:e}),a=e=>i.send({type:"EXPLICIT_SOCKET_CLOSE",event:e}),u=e=>"pong"===e.data?i.send({type:"PONG"}):n.notify(e);function c(e){e&&(e.removeEventListener("error",s),e.removeEventListener("close",a),e.removeEventListener("message",u),e.close())}i.addTransitions("@connecting.backoff",{NAVIGATOR_ONLINE:{target:"@connecting.busy",effect:He({backoffDelay:Oe})}}).addTimedTransition("@connecting.backoff",e=>e.backoffDelay,"@connecting.busy").onEnterAsync("@connecting.busy",async(n,r)=>{let o=null,i=null;return M(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)}i=l;const[f,h]=W();function p(e){const t=F(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",s),l.addEventListener("close",a);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(i),e})},e=>({target:"@ok.connected",effect:He({socket:e.data,backoffDelay:Oe})}),e=>{const t=e.reason;if(t instanceof Be)return{target:"@idle.failed",effect:[Ne(2,t.message),o(t.message,-1)]};if(ze(t)){if(4109===t.code)return"@auth.busy";if(Ee(t.code))return{target:"@connecting.backoff",effect:[je,Pe(t)]};if(De(t.code))return{target:"@idle.failed",effect:[Ne(2,t.reason),o(t.reason,t.code)]}}return{target:"@auth.backoff",effect:[Fe,Pe(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(i.addTimedTransition("@ok.connected",3e4,d).addTransitions("@ok.connected",{NAVIGATOR_OFFLINE:d,WINDOW_GOT_FOCUS:l}),i.addTransitions("@idle.zombie",{WINDOW_GOT_FOCUS:"@connecting.backoff"}),i.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:Ne(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:Fe},EXPLICIT_SOCKET_CLOSE:e=>{return De(e.event.code)?{target:"@idle.failed",effect:[Le,o(e.event.reason,e.event.code)]}:(t=e.event.code)>=4100&&t<4200?4109===e.event.code?"@auth.busy":{target:"@auth.backoff",effect:[Fe,Me(e.event)]}:Ee(e.event.code)?{target:"@connecting.backoff",effect:[je,Me(e.event)]}:{target:"@connecting.backoff",effect:[Fe,Me(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;i.onEnter("*",r=>{function o(){i.send({type:"NAVIGATOR_OFFLINE"})}function s(){i.send({type:"NAVIGATOR_ONLINE"})}function a(){"visible"===e?.visibilityState&&i.send({type:"WINDOW_GOT_FOCUS"})}return t?.addEventListener("online",s),t?.addEventListener("offline",o),n?.addEventListener("visibilitychange",a),()=>{n?.removeEventListener("visibilitychange",a),t?.removeEventListener("online",s),t?.removeEventListener("offline",o),c(r.socket)}})}const f=[],{statusDidChange:h,didConnect:p,didDisconnect:m,unsubscribe:g}=function(e){const t=$(),n=$(),r=$();let o=null;const i=e.events.didEnterState.subscribe(()=>{const i=Ie(e);i!==o&&t.notify(i),"connected"===o&&"connected"!==i?r.notify():"connected"!==o&&"connected"===i&&n.notify(),o=i});return{statusDidChange:t.observable,didConnect:n.observable,didDisconnect:r.observable,unsubscribe:i}}(i);return f.push(g),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()}}(i)),i.start(),{machine:i,cleanups:f,events:{statusDidChange:h,didConnect:p,didDisconnect:m,onMessage:n.observable,onLiveblocksError:r.observable}}}var We=class{#O;#T;events;constructor(e,t=!1,n=!0){const{machine:r,events:o,cleanups:i}=Ue(e,{waitForActorId:n,enableDebugLogging:t});this.#O=r,this.events=o,this.#T=i}getStatus(){try{return Ie(this.#O)}catch{return"initial"}}get authValue(){return this.#O.context.authValue}connect(){this.#O.send({type:"CONNECT"})}reconnect(){this.#O.send({type:"RECONNECT"})}disconnect(){this.#O.send({type:"DISCONNECT"})}destroy(){let e;for(this.#O.stop();e=this.#T.pop();)e()}send(e){const t=this.#O.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.#O.send(e)}},Ve=(e=>(e.Read="room:read",e.Write="room:write",e.PresenceWrite="room:presence:write",e.CommentsWrite="comments:write",e.CommentsRead="comments:read",e))(Ve||{});function $e(e){return e.includes("room:write")}function qe(e){return e.includes("comments:write")||e.includes("room:write")}function Ke(e){const t=e.split(".");if(3!==t.length)throw new Error("Authentication error: invalid JWT token");const n=F(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||(!k(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 Ge(e,t){const n=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),r=new Set,o=[],i=[],s=new Map;function a(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 u(o){const i=e.polyfills?.fetch??("undefined"==typeof window?void 0:window.fetch);if("private"===n.type){if(void 0===i)throw new Be("To use Liveblocks client in a non-DOM environment with a url as auth endpoint, you need to provide a fetch polyfill.");const e=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 Be(`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(!k(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:i}=o;return{token:i}}(i,n.url,{room:o.roomId}),s=Ke(e.token);if(r.has(s.raw))throw new Be("The same Liveblocks auth token was issued from the backend before. Caching Liveblocks tokens is not supported.");return t?.(s.parsed),s}if("custom"===n.type){const e=await n.callback(o.roomId);if(e&&"object"==typeof e){if("string"==typeof e.token){const n=Ke(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 Be(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(){r.clear(),o.length=0,i.length=0,s.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=o.length-1;n>=0;n--){const r=o[n];if(i[n]<=t)o.splice(n,1),i.splice(n,1);else{if("id"===r.parsed.k)return r;if("acc"===r.parsed.k){if(!e.roomId&&0===Object.entries(r.parsed.perms).length)return r;for(const[t,n]of Object.entries(r.parsed.perms))if(e.roomId){if(t.includes("*")&&e.roomId.startsWith(t.replace("*",""))||e.roomId===t&&a(e.requestedScope,n))return r}else if(t.includes("*")&&a(e.requestedScope,n))return r}}}}(e);if(void 0!==t)return{type:"secret",token:t};let c;e.roomId?(c=s.get(e.roomId),void 0===c&&(c=u(e),s.set(e.roomId,c))):(c=s.get("liveblocks-user-token"),void 0===c&&(c=u(e),s.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 r.add(e.raw),"sec-legacy"!==e.parsed.k&&(o.push(e),i.push(n)),{type:"secret",token:e}}finally{e.roomId?s.delete(e.roomId):s.delete("liveblocks-user-token")}}}}var Xe=Symbol();$().observable;var Ze=Symbol("kSinks"),Ye=Symbol("kTrigger"),Je=null;function Qe(e){if(null===Je){Je=new Set;try{e()}finally{for(const e of Je)e[Ye]();Je=null}}else e()}function et(e){Je||B("Expected to be in an active batch"),Je.add(e)}function tt(e,t){let n=!1;const r={...e};return Object.keys(t).forEach(e=>{const o=e,i=t[o];r[o]!==i&&(void 0===i?delete r[o]:r[o]=i,n=!0)}),n?r:e}var nt=class{equals;#B;[Ze];constructor(e){this.equals=e??Object.is,this.#B=$(),this[Ze]=new Set,this.get=this.get.bind(this),this.subscribe=this.subscribe.bind(this),this.subscribeOnce=this.subscribeOnce.bind(this)}[Symbol.dispose](){this.#B[Symbol.dispose](),this.#B="(disposed)",this.equals="(disposed)"}get hasWatchers(){if(this.#B.count()>0)return!0;for(const e of this[Ze])if(e.hasWatchers)return!0;return!1}[Ye](){this.#B.notify();for(const e of this[Ze])et(e)}subscribe(e){return this.#B.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[Ze])e.markDirty()}addSink(e){this[Ze].add(e)}removeSink(e){this[Ze].delete(e)}asReadonly(){return this}},rt=class extends nt{#k;constructor(e,t){super(t),this.#k=e}[Symbol.dispose](){super[Symbol.dispose](),this.#k="(disposed)"}get(){return this.#k}set(e){Qe(()=>{"function"==typeof e&&(e=e(this.#k)),this.equals(this.#k,e)||(this.#k=e,this.markSinksDirty(),et(this))})}},ot=class extends rt{constructor(e){super(N(e))}set(){throw new Error("Don't call .set() directly, use .patch()")}patch(e){super.set(t=>tt(t,e))}},it=Symbol(),st=class e extends nt{#_;#F;#j;#R;static from(...t){const n=t.pop();if("function"!=typeof n&&B("Invalid .from() call, last argument expected to be a function"),"function"==typeof t[t.length-1]){const r=n,o=t.pop();return new e(t,o,r)}return new e(t,n)}constructor(e,t,n){super(n),this.#F=!0,this.#_=it,this.#j=e,this.#R=t;for(const t of e)t.addSink(this)}[Symbol.dispose](){for(const e of this.#j)e.removeSink(this);this.#_="(disposed)",this.#j="(disposed)",this.#R="(disposed)"}get isDirty(){return this.#F}#N(){const e=this.#R(...this.#j.map(e=>e.get()));return this.#F=!1,!this.equals(this.#_,e)&&(this.#_=e,!0)}markDirty(){this.#F||(this.#F=!0,this.markSinksDirty())}get(){return this.#F&&this.#N(),this.#_}[Ye](){if(!this.hasWatchers)return;this.#N()&&super[Ye]()}},at=class extends nt{#P;constructor(e){super(),this.#P=e}[Symbol.dispose](){super[Symbol.dispose](),this.#P="(disposed)"}get(){return this.#P}mutate(e){Qe(()=>{const t=!e||e(this.#P);null!==t&&"object"==typeof t&&"then"in t&&B("MutableSignal.mutate() does not support async callbacks"),!1!==t&&(this.markSinksDirty(),et(this))})}},ut=32,ct=126,lt=ht(0),dt=ht(1),ft=lt+ht(-1);function ht(e){const t=ut+(e<0?95+e:e);if(t<ut||t>ct)throw new Error(`Invalid n value: ${e}`);return String.fromCharCode(t)}function pt(e,t){return void 0!==e&&void 0!==t?function(e,t){if(e<t)return mt(e,t);if(e>t)return mt(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>=ct))return e.substring(0,t)+String.fromCharCode(n+1)}return e+dt}(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<=ut))return n===t?33===r?e.substring(0,n)+ft:e.substring(0,n)+String.fromCharCode(r-1):e.substring(0,n+1)}return dt}(t):dt}function mt(e,t){let n=0;const r=e.length,o=t.length;for(;;){const i=n<r?e.charCodeAt(n):ut,s=n<o?t.charCodeAt(n):ct;if(i!==s){if(s-i===1){const t=n+1;let r=e.substring(0,t);r.length<t&&(r+=lt.repeat(t-r.length));return r+mt(e.substring(t),"")}return gt(e,n)+String.fromCharCode(s+i>>1)}n++}}function gt(e,t){return t<e.length?e.substring(0,t):e+lt.repeat(t-e.length)}function vt(e){return function(e){if(""===e)return!1;const t=e.length-1,n=e.charCodeAt(t);if(n<33||n>ct)return!1;for(let n=0;n<t;n++){const t=e.charCodeAt(n);if(t<ut||t>ct)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<ut?ut:r>ct?ct:r)}for(;t.length>0&&t[t.length-1]===ut;)t.length--;return t.length>0?String.fromCharCode(...t):dt}(e)}function yt(e,t,n=vt(t)){return Object.freeze({type:"HasParent",node:e,key:t,pos:n})}var bt=Object.freeze({type:"NoParent"});var xt=class{#M;#L;#z=bt;_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 ve(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 ve(this.parent,"Unknown state")}}get _pool(){return this.#M}get roomId(){return this.#M?this.#M.roomId:null}get _id(){return this.#L}get parent(){return this.#z}get _parentKey(){switch(this.parent.type){case"HasParent":return this.parent.key;case"NoParent":return null;case"Orphaned":return this.parent.oldKey;default:return ve(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.#z=yt(e,t));case"Orphaned":case"NoParent":return void(this.#z=yt(e,t));default:return ve(this.parent,"Unknown state")}}_attach(e,t){if(this.#L||this.#M)throw new Error("Cannot attach node: already attached");t.addNode(e,this),this.#L=e,this.#M=t}_detach(){switch(this.#M&&this.#L&&this.#M.deleteNode(this.#L),this.parent.type){case"HasParent":this.#z=function(e,t=vt(e)){return Object.freeze({type:"Orphaned",oldKey:e,oldPos:t})}(this.parent.key,this.parent.pos);break;case"NoParent":this.#z=bt;break;case"Orphaned":break;default:ve(this.parent,"Unknown state")}this.#M=void 0}#H;#U;#W;invalidate(){void 0===this.#H&&void 0===this.#W||(this.#H=void 0,this.#W=void 0,"HasParent"===this.parent.type&&this.parent.node.invalidate())}toTreeNode(e){return void 0!==this.#W&&this.#U===e||(this.#U=e,this.#W=this._toTreeNode(e)),this.#W}toImmutable(){return void 0===this.#H&&(this.#H=this._toImmutable()),this.#H}};function wt(e){return 0===e.type&&!function(e){return void 0!==e.parentId&&void 0!==e.parentKey}(e)}var Ct=class e extends xt{#V;constructor(e){super(),this.#V=e}get data(){return this.#V}static _deserialize([t,n],r,o){const i=new e(n.data);return i._attach(t,o),i}_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:ye(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??Y(),key:e,payload:this.#V}}_toImmutable(){return this.#V}clone(){return j(this.data)}};function Dt(e,t){const n=e._parentPos,r=t._parentPos;return n===r?0:n<r?-1:1}var Et=class e extends xt{#$;#q;#K;constructor(e){let t;super(),this.#$=[],this.#q=new WeakSet,this.#K=new Map;for(const n of e){const e=pt(t),r=Vt(n);r._setParentLink(this,e),this.#$.push(r),t=e}}static _deserialize([t],n,r){const o=new e([]);o._attach(t,r);const i=n.get(t);if(void 0===i)return o;for(const[e,t]of i){const i=Pt([e,t],n,r);i._setParentLink(o,t.parentKey),o._insertAndSort(i)}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.#$){const t=e._getParentKeyOrThrow(),o=kt(e._toOps(this._id,t,n),void 0),i=o[0].opId;void 0!==i&&this.#K.set(t,i),r.push(...o)}return r}_insertAndSort(e){this.#$.push(e),this._sortItems()}_sortItems(){this.#$.sort(Dt),this.invalidate()}_indexOfPosition(e){return this.#$.findIndex(t=>t._getParentKeyOrThrow()===e)}_attach(e,t){super._attach(e,t);for(const e of this.#$)e._attach(t.generateId(),t)}_detach(){super._detach();for(const e of this.#$)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,r=jt(e);r._attach(t,this._pool),r._setParentLink(this,n);const o=e.deletedId,i=this._indexOfPosition(n);if(-1!==i){const t=this.#$[i];if(t._id===o)return t._detach(),this.#$[i]=r,{modified:It(this,[St(i,r)]),reverse:[]};{this.#q.add(t),this.#$[i]=r;const n=[St(i,r)],o=this.#X(e.deletedId);return o&&n.push(o),{modified:It(this,n),reverse:[]}}}{const t=[],o=this.#X(e.deletedId);return o&&t.push(o),this._insertAndSort(r),t.push(Tt(this._indexOfPosition(n),r)),{reverse:[],modified:It(this,t)}}}#Z(e){if(void 0===this._pool)throw new Error("Can't attach child if managed pool is not present");const t=[],n=this.#X(e.deletedId);n&&t.push(n);const r=this.#K.get(e.parentKey);if(void 0!==r){if(r!==e.opId)return 0===t.length?{modified:!1}:{modified:It(this,t),reverse:[]};this.#K.delete(e.parentKey)}const o=this._indexOfPosition(e.parentKey),i=this.#$.find(t=>t._id===e.id);if(void 0!==i){if(i._parentKey===e.parentKey)return{modified:t.length>0&&It(this,t),reverse:[]};if(-1!==o){this.#q.add(this.#$[o]);const[e]=this.#$.splice(o,1);t.push(Ot(o,e))}const n=this.#$.indexOf(i);i._setParentLink(this,e.parentKey),this._sortItems();const r=this.#$.indexOf(i);return r!==n&&t.push(Bt(n,r,i)),{modified:t.length>0&&It(this,t),reverse:[]}}{const n=this._pool.getNode(e.id);if(n&&this.#q.has(n)){n._setParentLink(this,e.parentKey),this.#q.delete(n),this._insertAndSort(n);const r=this.#$.indexOf(n);return{modified:It(this,[-1===o?Tt(r,n):St(r,n),...t]),reverse:[]}}{-1!==o&&this.#$.splice(o,1);const{newItem:n,newIndex:r}=this.#Y(e,e.parentKey);return{modified:It(this,[-1===o?Tt(r,n):St(r,n),...t]),reverse:[]}}}}#X(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]}#J(e){if(void 0===this._pool)throw new Error("Can't attach child if managed pool is not present");const t=vt(e.parentKey),n=this._indexOfPosition(t);-1!==n&&this.#Q(n,t);const{newItem:r,newIndex:o}=this.#Y(e,t);return{modified:It(this,[Tt(o,r)]),reverse:[]}}#ee(e){const t=this.#$.find(t=>t._id===e.id),n=vt(e.parentKey),r=this._indexOfPosition(n);if(t){if(t._parentKey===n)return{modified:!1};{const e=this.#$.indexOf(t);-1!==r&&this.#Q(r,n),t._setParentLink(this,n),this._sortItems();const o=this._indexOfPosition(n);return o===e?{modified:!1}:{modified:It(this,[Bt(e,o,t)]),reverse:[]}}}{const t=ye(this._pool).getNode(e.id);if(t&&this.#q.has(t)){t._setParentLink(this,n),this.#q.delete(t),this._insertAndSort(t);return{modified:It(this,[Tt(this._indexOfPosition(n),t)]),reverse:[]}}{-1!==r&&this.#Q(r,n);const{newItem:t,newIndex:o}=this.#Y(e,n);return{modified:It(this,[Tt(o,t)]),reverse:[]}}}}#te(e){const{id:t,parentKey:n}=e,r=jt(e);if(void 0!==this._pool?.getNode(t))return{modified:!1};r._attach(t,ye(this._pool)),r._setParentLink(this,n);const o=this._indexOfPosition(n);let i=n;if(-1!==o){const e=this.#$[o]?._parentPos,t=this.#$[o+1]?._parentPos;i=pt(e,t),r._setParentLink(this,i)}this._insertAndSort(r);return{modified:It(this,[Tt(this._indexOfPosition(i),r)]),reverse:[{type:5,id:t}]}}#ne(e){const{id:t,parentKey:n}=e,r=jt(e);if(void 0!==this._pool?.getNode(t))return{modified:!1};this.#K.set(n,ye(e.opId));const o=this._indexOfPosition(n);r._attach(t,ye(this._pool)),r._setParentLink(this,n);const i=n;if(-1!==o){const t=this.#$[o];t._detach(),this.#$[o]=r;const i=kt(t._toOps(ye(this._id),n,this._pool),e.id),s=[St(o,r)],a=this.#X(e.deletedId);return a&&s.push(a),{modified:It(this,s),reverse:i}}this._insertAndSort(r),this.#X(e.deletedId);return{reverse:[{type:5,id:t}],modified:It(this,[Tt(this._indexOfPosition(i),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.#G(e):2===t?this.#Z(e):this.#ne(e):1===t?this.#J(e):2===t?this.#ee(e):this.#te(e),!1!==n.modified&&this.invalidate(),n}_detachChild(e){if(e){const t=ye(e._parentKey),n=e._toOps(ye(this._id),t,this._pool),r=this.#$.indexOf(e);if(-1===r)return{modified:!1};const[o]=this.#$.splice(r,1);return this.invalidate(),e._detach(),{modified:It(this,[Ot(r,o)]),reverse:n}}return{modified:!1}}#re(e,t){if(this.#q.has(t)){this.#q.delete(t),t._setParentLink(this,e),this._insertAndSort(t);return{modified:It(this,[Tt(this.#$.indexOf(t),t)]),reverse:[]}}if(e===t._parentKey)return{modified:!1};const n=this._indexOfPosition(e);if(-1===n){const n=this.#$.indexOf(t);t._setParentLink(this,e),this._sortItems();const r=this.#$.indexOf(t);return r===n?{modified:!1}:{modified:It(this,[Bt(n,r,t)]),reverse:[]}}{this.#$[n]._setParentLink(this,pt(e,this.#$[n+1]?._parentPos));const r=this.#$.indexOf(t);t._setParentLink(this,e),this._sortItems();const o=this.#$.indexOf(t);return o===r?{modified:!1}:{modified:It(this,[Bt(r,o,t)]),reverse:[]}}}#oe(e,t){const n=ye(t._parentKey);if(this.#q.has(t)){const n=this._indexOfPosition(e);return this.#q.delete(t),-1!==n&&this.#$[n]._setParentLink(this,pt(e,this.#$[n+1]?._parentPos)),t._setParentLink(this,e),this._insertAndSort(t),{modified:!1}}{if(e===n)return{modified:!1};const r=this.#$.indexOf(t),o=this._indexOfPosition(e);-1!==o&&this.#$[o]._setParentLink(this,pt(e,this.#$[o+1]?._parentPos)),t._setParentLink(this,e),this._sortItems();const i=this.#$.indexOf(t);return r===i?{modified:!1}:{modified:It(this,[Bt(r,i,t)]),reverse:[]}}}#ie(e,t){const n=ye(t._parentKey),r=this.#$.indexOf(t),o=this._indexOfPosition(e);-1!==o&&this.#$[o]._setParentLink(this,pt(e,this.#$[o+1]?._parentPos)),t._setParentLink(this,e),this._sortItems();const i=this.#$.indexOf(t);return r===i?{modified:!1}:{modified:It(this,[Bt(r,i,t)]),reverse:[{type:1,id:ye(t._id),parentKey:n}]}}_setChildKey(e,t,n){return 1===n?this.#re(e,t):2===n?this.#oe(e,t):this.#ie(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:ye(this.parent.node._id,"Parent node expected to have ID"),parentKey:this.parent.key}}get length(){return this.#$.length}push(e){return this._pool?.assertStorageIsWritable(),this.insert(e,this.length)}insert(e,t){if(this._pool?.assertStorageIsWritable(),t<0||t>this.#$.length)throw new Error(`Cannot insert list item at index "${t}". index should be between 0 and ${this.#$.length}`);const n=pt(this.#$[t-1]?this.#$[t-1]._parentPos:void 0,this.#$[t]?this.#$[t]._parentPos:void 0),r=Vt(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,It(this,[Tt(t,r)])]]))}}move(e,t){if(this._pool?.assertStorageIsWritable(),t<0)throw new Error("targetIndex cannot be less than 0");if(t>=this.#$.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.#$.length)throw new Error("index cannot be greater or equal than the list length");let n=null,r=null;e<t?(r=t===this.#$.length-1?void 0:this.#$[t+1]._parentPos,n=this.#$[t]._parentPos):(r=this.#$[t]._parentPos,n=0===t?void 0:this.#$[t-1]._parentPos);const o=pt(n,r),i=this.#$[e],s=i._getParentKeyOrThrow();if(i._setParentLink(this,o),this._sortItems(),this._pool&&this._id){const n=new Map([[this._id,It(this,[Bt(e,t,i)])]]);this._pool.dispatch([{type:1,id:ye(i._id),opId:this._pool.generateOpId(),parentKey:o}],[{type:1,id:ye(i._id),parentKey:s}],n)}}delete(e){if(this._pool?.assertStorageIsWritable(),e<0||e>=this.#$.length)throw new Error(`Cannot delete list item at index "${e}". index should be between 0 and ${this.#$.length-1}`);const t=this.#$[e];t._detach();const[n]=this.#$.splice(e,1);if(this.invalidate(),this._pool){const r=t._id;if(r){const o=new Map;o.set(ye(this._id),It(this,[Ot(e,n)])),this._pool.dispatch([{id:r,opId:this._pool.generateOpId(),type:5}],t._toOps(ye(this._id),t._getParentKeyOrThrow()),o)}}}clear(){if(this._pool?.assertStorageIsWritable(),this._pool){const e=[],t=[],n=[];for(const r of this.#$){r._detach();const o=r._id;o&&(e.push({type:5,id:o,opId:this._pool.generateOpId()}),t.push(...r._toOps(ye(this._id),r._getParentKeyOrThrow())),n.push(Ot(0,r)))}this.#$=[],this.invalidate();const r=new Map;r.set(ye(this._id),It(this,n)),this._pool.dispatch(e,t,r)}else{for(const e of this.#$)e._detach();this.#$=[],this.invalidate()}}set(e,t){if(this._pool?.assertStorageIsWritable(),e<0||e>=this.#$.length)throw new Error(`Cannot set list item at index "${e}". index should be between 0 and ${this.#$.length-1}`);const n=this.#$[e],r=n._getParentKeyOrThrow(),o=n._id;n._detach();const i=Vt(t);if(i._setParentLink(this,r),this.#$[e]=i,this.invalidate(),this._pool&&this._id){const t=this._pool.generateId();i._attach(t,this._pool);const s=new Map;s.set(this._id,It(this,[St(e,i)]));const a=kt(i._toOps(this._id,r,this._pool),o);this.#K.set(r,ye(a[0].opId));const u=kt(n._toOps(this._id,r,void 0),t);this._pool.dispatch(a,u,s)}}toArray(){return this.#$.map(e=>Wt(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.#$.length))return Wt(this.#$[e])}indexOf(e,t){return this.toArray().indexOf(e,t)}lastIndexOf(e,t){return this.toArray().lastIndexOf(e,t)}map(e){return this.#$.map((t,n)=>e(Wt(t),n))}some(e){return this.toArray().some(e)}[Symbol.iterator](){return new At(this.#$)}#Y(e,t){const n=jt(e);n._attach(e.id,ye(this._pool)),n._setParentLink(this,t),this._insertAndSort(n);return{newItem:n,newIndex:this._indexOfPosition(t)}}#Q(e,t){const n=pt(t,this.#$.length>e+1?this.#$[e+1]?._parentPos:void 0);this.#$[e]._setParentLink(this,n)}_toTreeNode(e){return{type:"LiveList",id:this._id??Y(),key:e,payload:this.#$.map((e,t)=>e.toTreeNode(t.toString()))}}toImmutable(){return super.toImmutable()}_toImmutable(){const e=this.#$.map(e=>e.toImmutable());return e}clone(){return new e(this.#$.map(e=>e.clone()))}},At=class{#se;constructor(e){this.#se=e[Symbol.iterator]()}[Symbol.iterator](){return this}next(){const e=this.#se.next();if(e.done)return{done:!0,value:void 0};return{value:Wt(e.value)}}};function It(e,t){return{node:e,type:"LiveList",updates:t}}function St(e,t){return{index:e,type:"set",item:t instanceof Ct?t.data:t}}function Ot(e,t){return{type:"delete",index:e,deletedItem:t instanceof Ct?t.data:t}}function Tt(e,t){return{index:e,type:"insert",item:t instanceof Ct?t.data:t}}function Bt(e,t,n){return{type:"move",index:t,item:n instanceof Ct?n.data:n,previousIndex:e}}function kt(e,t){return e.map((e,n)=>{if(0===n){return{...e,intent:"set",deletedId:t}}return e})}var _t=class e extends xt{#ae;#ue;constructor(e){if(super(),this.#ue=new Map,e){const t=[];for(const[n,r]of e){const e=Vt(r);e._setParentLink(this,n),t.push([n,e])}this.#ae=new Map(t)}else this.#ae=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.#ae)r.push(...t._toOps(this._id,e,n));return r}static _deserialize([t,n],r,o){const i=new e;i._attach(t,o);const s=r.get(t);if(void 0===s)return i;for(const[e,t]of s){const n=Pt([e,t],r,o);n._setParentLink(i,t.parentKey),i.#ae.set(t.parentKey,n),i.invalidate()}return i}_attach(e,t){super._attach(e,t);for(const[e,n]of this.#ae)zt(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,i=r,s=jt(e);if(void 0!==this._pool.getNode(n))return{modified:!1};if(2===t){const e=this.#ue.get(i);if(e===o)return this.#ue.delete(i),{modified:!1};if(void 0!==e)return{modified:!1}}else 1===t&&this.#ue.delete(i);const a=this.#ae.get(i);let u;if(a){const e=ye(this._id);u=a._toOps(e,i),a._detach()}else u=[{type:5,id:n}];return s._setParentLink(this,i),s._attach(n,this._pool),this.#ae.set(i,s),this.invalidate(),{modified:{node:this,type:"LiveMap",updates:{[i]:{type:"update"}}},reverse:u}}_detach(){super._detach();for(const e of this.#ae.values())e._detach()}_detachChild(e){const t=ye(this._id),n=ye(e._parentKey),r=e._toOps(t,n,this._pool);for(const[t,n]of this.#ae)n===e&&(this.#ae.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:ye(this.parent.node._id,"Parent node expected to have ID"),parentKey:this.parent.key}}get(e){const t=this.#ae.get(e);if(void 0!==t)return Wt(t)}set(e,t){this._pool?.assertStorageIsWritable();const n=this.#ae.get(e);n&&n._detach();const r=Vt(t);if(r._setParentLink(this,e),this.#ae.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 i=r._toOps(this._id,e,this._pool);this.#ue.set(e,ye(i[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.#ae.size}has(e){return this.#ae.has(e)}delete(e){this._pool?.assertStorageIsWritable();const t=this.#ae.get(e);if(void 0===t)return!1;if(t._detach(),this.#ae.delete(e),this.invalidate(),this._pool&&t._id){const n=ye(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.#ae.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],Wt(t.value[1])]}}}}[Symbol.iterator](){return this.entries()}keys(){return this.#ae.keys()}values(){const e=this.#ae.values();return{[Symbol.iterator](){return this},next(){const t=e.next();if(t.done)return{done:!0,value:void 0};return{value:Wt(t.value)}}}}forEach(e){for(const t of this)e(t[1],t[0],this)}_toTreeNode(e){return{type:"LiveMap",id:this._id??Y(),key:e,payload:Array.from(this.#ae.entries()).map(([e,t])=>t.toTreeNode(e))}}toImmutable(){return super.toImmutable()}_toImmutable(){const e=new Map;for(const[t,n]of this.#ae)e.set(t,n.toImmutable());return e}clone(){return new e(Array.from(this.#ae).map(([e,t])=>[e,t.clone()]))}},Ft=class e extends xt{#ae;#ce;static#le(e){const t=new Map;let n=null;for(const[r,o]of e)if(wt(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.#le(t);return e._deserialize(r,o,n)}constructor(e={}){super(),this.#ce=new Map;const t=N(e);for(const e of Object.keys(t)){const n=t[e];zt(n)&&n._setParentLink(this,e)}this.#ae=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=[],i={type:4,id:this._id,opId:r,parentId:e,parentKey:t,data:{}};o.push(i);for(const[e,t]of this.#ae)zt(t)?o.push(...t._toOps(this._id,e,n)):i.data[e]=t;return o}static _deserialize([t,n],r,o){const i=new e(n.data);return i._attach(t,o),this._deserializeChildren(i,r,o)}static _deserializeChildren(e,t,n){const r=t.get(ye(e._id));if(void 0===r)return e;for(const[o,i]of r){const r=Mt([o,i],t,n);Lt(r)&&r._setParentLink(e,i.parentKey),e.#ae.set(i.parentKey,r),e.invalidate()}return e}_attach(e,t){super._attach(e,t);for(const[e,n]of this.#ae)zt(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,i=Rt(e);if(void 0!==this._pool.getNode(n))return this.#ce.get(o)===r&&this.#ce.delete(o),{modified:!1};if(0===t)this.#ce.set(o,ye(r));else if(void 0!==this.#ce.get(o))return this.#ce.get(o)===r?(this.#ce.delete(o),{modified:!1}):{modified:!1};const s=ye(this._id),a=this.#ae.get(o);let u;return zt(a)?(u=a._toOps(s,o),a._detach()):u=void 0===a?[{type:6,id:s,key:o}]:[{type:3,id:s,data:{[o]:a}}],this.#ae.set(o,i),this.invalidate(),Lt(i)&&(i._setParentLink(this,o),i._attach(n,this._pool)),{reverse:u,modified:{node:this,type:"LiveObject",updates:{[o]:{type:"update"}}}}}_detachChild(e){if(e){const t=ye(this._id),n=ye(e._parentKey),r=e._toOps(t,n,this._pool);for(const[t,n]of this.#ae)n===e&&(this.#ae.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.#ae.values())zt(e)&&e._detach()}_apply(e,t){return 3===e.type?this.#de(e,t):6===e.type?this.#fe(e,t):super._apply(e,t)}_serialize(){const e={};for(const[t,n]of this.#ae)zt(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}}#de(e,t){let n=!1;const r=ye(this._id),o=[],i={type:3,id:r,data:{}};for(const t in e.data){const e=this.#ae.get(t);zt(e)?(o.push(...e._toOps(r,t)),e._detach()):void 0!==e?i.data[t]=e:void 0===e&&o.push({type:6,id:r,key:t})}const s={};for(const r in e.data){const o=e.data[r];if(void 0===o)continue;if(t)this.#ce.set(r,ye(e.opId));else{if(void 0!==this.#ce.get(r)){if(this.#ce.get(r)===e.opId){this.#ce.delete(r);continue}continue}n=!0}const i=this.#ae.get(r);zt(i)&&i._detach(),n=!0,s[r]={type:"update"},this.#ae.set(r,o),this.invalidate()}return 0!==Object.keys(i.data).length&&o.unshift(i),n?{modified:{node:this,type:"LiveObject",updates:s},reverse:o}:{modified:!1}}#fe(e,t){const n=e.key;if(!1===this.#ae.has(n))return{modified:!1};if(!t&&void 0!==this.#ce.get(n))return{modified:!1};const r=this.#ae.get(n),o=ye(this._id);let i=[];return zt(r)?(i=r._toOps(o,e.key),r._detach()):void 0!==r&&(i=[{type:3,id:o,data:{[n]:r}}]),this.#ae.delete(n),this.invalidate(),{modified:{node:this,type:"LiveObject",updates:{[e.key]:{type:"delete"}}},reverse:i}}toObject(){return Object.fromEntries(this.#ae)}set(e,t){this._pool?.assertStorageIsWritable(),this.update({[e]:t})}get(e){return this.#ae.get(e)}delete(e){this._pool?.assertStorageIsWritable();const t=e,n=this.#ae.get(t);if(void 0===n)return;if(void 0===this._pool||void 0===this._id)return zt(n)&&n._detach(),this.#ae.delete(t),void this.invalidate();let r;zt(n)?(n._detach(),r=n._toOps(this._id,t)):r=[{type:3,data:{[t]:n},id:this._id}],this.#ae.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.#ae.get(t);zt(r)&&r._detach(),zt(n)&&n._setParentLink(this,t),this.#ae.set(t,n),this.invalidate()}return}const t=[],n=[],r=this._pool.generateOpId(),o={},i={id:this._id,type:3,data:{}},s={};for(const a in e){const u=e[a];if(void 0===u)continue;const c=this.#ae.get(a);if(zt(c)?(n.push(...c._toOps(this._id,a)),c._detach()):void 0===c?n.push({type:6,id:this._id,key:a}):i.data[a]=c,zt(u)){u._setParentLink(this,a),u._attach(this._pool.generateId(),this._pool);const e=u._toOps(this._id,a,this._pool),n=e.find(e=>e.parentId===this._id);n&&this.#ce.set(a,ye(n.opId)),t.push(...e)}else o[a]=u,this.#ce.set(a,r);this.#ae.set(a,u),this.invalidate(),s[a]={type:"update"}}0!==Object.keys(i.data).length&&n.unshift(i),0!==Object.keys(o).length&&t.unshift({opId:r,id:this._id,type:3,data:o});const a=new Map;a.set(this._id,{node:this,type:"LiveObject",updates:s}),this._pool.dispatch(t,n,a)}toImmutable(){return super.toImmutable()}toTreeNode(e){return super.toTreeNode(e)}_toTreeNode(e){const t=this._id??Y();return{type:"LiveObject",id:t,key:e,payload:Array.from(this.#ae.entries()).map(([e,n])=>zt(n)?n.toTreeNode(e):{type:"Json",id:`${t}:${e}`,key:e,payload:n})}}_toImmutable(){const e={};for(const[t,n]of this.#ae)e[t]=Lt(n)?n.toImmutable():n;return e}clone(){return new e(Object.fromEntries(Array.from(this.#ae).map(([e,t])=>[e,Lt(t)?t.clone():j(t)])))}};function jt(e){return Vt(Rt(e))}function Rt(e){switch(e.type){case 8:return e.data;case 4:return new Ft(e.data);case 7:return new _t;case 2:return new Et([]);default:return ve(0,"Unknown creation Op")}}function Nt(e,t){return e===t||"HasParent"===e.parent.type&&Nt(e.parent.node,t)}function Pt([e,t],n,r){switch(t.type){case 0:return Ft._deserialize([e,t],n,r);case 1:return Et._deserialize([e,t],n,r);case 2:return _t._deserialize([e,t],n,r);case 3:return Ct._deserialize([e,t],n,r);default:throw new Error("Unexpected CRDT type")}}function Mt([e,t],n,r){switch(t.type){case 0:return Ft._deserialize([e,t],n,r);case 1:return Et._deserialize([e,t],n,r);case 2:return _t._deserialize([e,t],n,r);case 3:return t.data;default:throw new Error("Unexpected CRDT type")}}function Lt(e){return Ht(e)||function(e){return e instanceof _t}(e)||function(e){return e instanceof Ft}(e)}function zt(e){return Lt(e)||function(e){return e instanceof Ct}(e)}function Ht(e){return e instanceof Et}function Ut(e){return void 0===e?void 0:Lt(e)?e.clone():j(e)}function Wt(e){return e instanceof Ct?e.data:e instanceof Et||e instanceof _t||e instanceof Ft?e:ve(0,"Unknown AbstractCrdt")}function Vt(e){return e instanceof Ft||e instanceof _t||e instanceof Et?e:new Ct(e)}function $t(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 _(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 _(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 qt(e){return Array.isArray(e)}var Kt=class{#he;#pe;signal;constructor(){this.#he=new at({connections:new Map,presences:new Map}),this.signal=st.from(this.#he,e=>R(Array.from(this.#he.get().presences.keys()).map(e=>this.getUser(Number(e))))),this.#pe=new Map}get(){return this.signal.get()}connectionIds(){return this.#he.get().connections.keys()}clearOthers(){this.#he.mutate(e=>{e.connections.clear(),e.presences.clear(),this.#pe.clear()})}#me(e){const t=this.#he.get(),n=t.connections.get(e),r=t.presences.get(e);if(void 0!==n&&void 0!==r)return function(e,t){const{connectionId:n,id:r,info:o}=e,i=$e(e.scopes);return N({connectionId:n,id:r,info:o,canWrite:i,canComment:qe(e.scopes),isReadOnly:!i,presence:t})}(n,r)}getUser(e){const t=this.#pe.get(e);if(t)return t;const n=this.#me(e);return n?(this.#pe.set(e,n),n):void 0}#ge(e){this.#pe.delete(e)}setConnection(e,t,n,r){this.#he.mutate(o=>(o.connections.set(e,{connectionId:e,id:t,info:n,scopes:r}),!!o.presences.has(e)&&this.#ge(e)))}removeConnection(e){this.#he.mutate(t=>{t.connections.delete(e),t.presences.delete(e),this.#ge(e)})}setOther(e,t){this.#he.mutate(n=>(n.presences.set(e,N(t)),!!n.connections.has(e)&&this.#ge(e)))}patchOther(e,t){this.#he.mutate(n=>{const r=n.presences.get(e);if(void 0===r)return!1;const o=tt(r,t);return r!==o&&(n.presences.set(e,o),this.#ge(e))})}};function Gt(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 Xt(e,t){const n=e.initialPresence,r=e.initialStorage,o=t.roomHttpClient,[i,s]=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)}]}(),a={...t.delegates,canZombie:()=>void 0!==t.backgroundKeepAliveTimeout&&null!==i.current&&Date.now()>i.current+t.backgroundKeepAliveTimeout&&"synchronizing"!==ee()},u=new We(a,t.enableDebugLogging),c={buffer:{flushTimerID:void 0,lastFlushedAt:0,presenceUpdates:{type:"full",data:n},messages:[],storageOperations:[]},staticSessionInfoSig:new rt(null),dynamicSessionInfoSig:new rt(null),myPresence:new ot(n),others:new Kt,initialStorage:r,idFactory:null,yjsProvider:void 0,yjsProviderDidChange:$(),clock:0,opClock:0,nodes:new Map,root:void 0,undoStack:[],redoStack:[],pausedHistory:null,activeBatch:null,unacknowledgedOps:new Map,opStackTraces:void 0};let l,d;let f=!1;u.events.onMessage.subscribe(function(e){if("string"!=typeof e.data)return;const t=function(e){const t=F(e);return void 0===t?null:qt(t)?R(t.map(e=>H(e))):R([H(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=z(e);t&&n.others.push(t);break}case 100:{const t=B(e);t&&n.others.push(t);break}case 103:{const t=c.others.get();p.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=k(e);t&&n.others.push(t);break}case 300:p.ydoc.notify(e);break;case 104:n.others.push(_(e));break;case 200:G(e);break;case 201:{const t=S(e.ops,!1);for(const[e,r]of t.updates.storageUpdates)n.storageUpdates.set(e,$t(n.storageUpdates.get(e),r));break}case 299:T("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:p.comments.notify(e)}E(n)}),u.events.statusDidChange.subscribe(function(e){const t=u.authValue;if(null!==t){const e=me(t);if(e!==l)if(l=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})}p.status.notify(e),b()}),u.events.statusDidChange.subscribe(function(e){"reconnecting"===e?d=setTimeout(()=>{p.lostConnection.notify("lost"),f=!0,c.others.clearOthers(),E({others:[{type:"reset"}]})},t.lostConnectionTimeout):(clearTimeout(d),f&&("disconnected"===e?p.lostConnection.notify("failed"):p.lostConnection.notify("restored"),f=!1))}),u.events.didConnect.subscribe(function(){c.buffer.presenceUpdates={type:"full",data:{...c.myPresence.get()}},null!==q&&X({flush:!1}),U()}),u.events.didDisconnect.subscribe(function(){clearTimeout(c.buffer.flushTimerID)}),u.events.onLiveblocksError.subscribe(e=>{p.error.notify(e)});const h={roomId:t.roomId,getNode:e=>c.nodes.get(e),addNode:(e,t)=>{c.nodes.set(e,t)},deleteNode:e=>{c.nodes.delete(e)},generateId:()=>`${I()}:${c.clock++}`,generateOpId:()=>`${I()}:${c.opClock++}`,dispatch(e,t,n){const r=c.activeBatch;if(r){for(const t of e)r.ops.push(t);for(const[e,t]of n)r.updates.storageUpdates.set(e,$t(r.updates.storageUpdates.get(e),t));r.reverseOps.unshift(...t)}else D(t),c.redoStack.length=0,W(e),E({storageUpdates:n})},assertStorageIsWritable:()=>{const e=c.dynamicSessionInfoSig.get()?.scopes;if(void 0===e)return;if(!$e(e))throw new Error("Cannot write to storage with a read only user, please ensure the user has write permissions")}},p={status:$(),lostConnection:$(),customEvent:$(),self:$(),myPresence:$(),others:$(),error:$(),storageBatch:$(),history:$(),storageDidLoad:$(),storageStatus:$(),ydoc:$(),comments:$()},m=t.roomId;function g(e){const n=JSON.stringify(e),r=c.dynamicSessionInfoSig.get()?.nonce;if(t.unstable_fallbackToHTTP&&r){if((new TextEncoder).encode(n).length>1047552)return o.sendMessages({roomId:m,nonce:r,messages:e}).then(e=>{e.ok||403!==e.status||u.reconnect()}),void A("Message was too large for websockets and sent over HTTP instead")}u.send(n)}const v=st.from(c.staticSessionInfoSig,c.dynamicSessionInfoSig,c.myPresence,(e,t,n)=>{if(null===e||null===t)return null;{const r=$e(t.scopes);return{connectionId:t.actor,id:e.userId,info:e.userInfo,presence:n,canWrite:r,canComment:qe(t.scopes)}}});let y;function b(){const e=v.get();null!==e&&e!==y&&(p.self.notify(e),y=e)}const x=st.from(v,e=>null!==e?Gt("Me",e):null);function w(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=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:ye(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}(t,new Map(e));E(S(n,!1).updates)}(e.items):c.root=Ft._fromItems(e.items,h);const t=v.get()?.canWrite??!0,n=c.undoStack.length;for(const e in c.initialStorage)void 0===c.root.get(e)&&(t?c.root.set(e,Ut(c.initialStorage[e])):A(`Attempted to populate missing storage key '${e}', but current user has no write access`));c.undoStack.length=n}function C(e){c.undoStack.length>=50&&c.undoStack.shift(),c.undoStack.push(e),M()}function D(e){null!==c.pausedHistory?c.pausedHistory.unshift(...e):C(e)}function E(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)p.others.notify({...t,others:e})}if(e.presence&&(b(),p.myPresence.notify(c.myPresence.get())),void 0!==t&&t.size>0){const e=Array.from(t.values());p.storageBatch.notify(e)}re()}function I(){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},r=new Set,o=e.map(e=>"presence"===e.type||e.opId?e:{...e,opId:h.generateOpId()});for(const e of o)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 o;if(t)o=0;else{const t=ye(e.opId);o=c.unacknowledgedOps.delete(t)?2:1}const i=O(e,o);if(i.modified){const t=i.modified.node._id;t&&r.has(t)||(n.storageUpdates.set(ye(i.modified.node._id),$t(n.storageUpdates.get(ye(i.modified.node._id)),i.modified)),n.reverse.unshift(...i.reverse)),2!==e.type&&7!==e.type&&4!==e.type||r.add(ye(e.id))}}return{ops:o,reverse:n.reverse,updates:{storageUpdates:n.storageUpdates,presence:n.presence}}}function O(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=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&&Ht(n.parent.node)?n.parent.node._setChildKey(vt(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 B(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 k(e){const t=c.others.getUser(e.actor);return t?(c.others.removeConnection(e.actor),{type:"leave",user:t}):null}function _(e){c.dynamicSessionInfoSig.set({actor:e.actor,nonce:e.nonce,scopes:e.scopes}),c.idFactory=function(e){let t=0;return()=>`${e}:${t++}`}(e.actor),b();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],r=Number(t);c.others.setConnection(r,n.id,n.info,n.scopes)}return{type:"reset"}}function N(){return c.undoStack.length>0}function P(){return c.redoStack.length>0}function M(){p.history.notify({canUndo:N(),canRedo:P()})}function z(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}),U();const t=c.others.getUser(e.actor);return t?{type:"enter",user:t}:void 0}function H(e){return function(e){return!function(e){return null===e||"string"==typeof e||"number"==typeof e||"boolean"==typeof e}(e)&&!qt(e)}(e)?e:null}function U(){const e=c.buffer.storageOperations;if(e.length>0){for(const t of e)c.unacknowledgedOps.set(ye(t.opId),t);re()}if("connected"!==u.getStatus())return void(c.buffer.storageOperations=[]);const n=Date.now(),r=n-c.buffer.lastFlushedAt;if(r>=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;g(e),c.buffer={flushTimerID:void 0,lastFlushedAt:n,messages:[],storageOperations:[],presenceUpdates:null}}else clearTimeout(c.buffer.flushTimerID),c.buffer.flushTimerID=setTimeout(U,t.throttleDelay-r)}function W(e){const{storageOperations:t}=c.buffer;for(const n of e)t.push(n);U()}let q=null,K=null;function G(e){const t=new Map(c.unacknowledgedOps);w(e),function(e){if(0===e.size)return;const t=[],n=S(Array.from(e.values()),!0);t.push({type:201,ops:n.ops}),E(n.updates),g(t)}(t),K?.(),re(),p.storageDidLoad.notify()}function X(e){const n=c.buffer.messages;t.unstable_streamData?async function(){if(!u.authValue)return;G({type:200,items:await o.streamStorage({roomId:m})})}():n.some(e=>200===e.type)||n.push({type:200}),e.flush&&U()}function Z(){return null===q&&(X({flush:!0}),q=new Promise(e=>{K=e}),re()),q}function Y(){const e=c.root;return void 0!==e?e:(Z(),null)}async function J(){return void 0!==c.root?Promise.resolve({root:c.root}):(await Z(),{root:ye(c.root)})}const Q=t.createSyncSource();function ee(){return void 0===c.root?null===q?"not-loaded":"loading":0===c.unacknowledgedOps.size?"synchronized":"synchronizing"}let ne=ee();function re(){const e=ee();ne!==e&&(ne=e,p.storageStatus.notify(e)),Q.setSyncStatus("synchronizing"===e?"synchronizing":"synchronized")}function oe(){return null!==v.get()}function ie(){return null!==Y()}const se=st.from(c.others.signal,e=>e.map((e,t)=>Gt(`Other ${t}`,e))),ae={status:p.status.observable,lostConnection:p.lostConnection.observable,customEvent:p.customEvent.observable,others:p.others.observable,self:p.self.observable,myPresence:p.myPresence.observable,error:p.error.observable,storage:p.storageBatch.observable,storageBatch:p.storageBatch.observable,history:p.history.observable,storageDidLoad:p.storageDidLoad.observable,storageStatus:p.storageStatus.observable,ydoc:p.ydoc.observable,comments:p.comments.observable};const ue=t.createSyncSource();function ce(e){return ue.setSyncStatus("synchronizing"===e?"synchronizing":"synchronized")}return Object.defineProperty({[Xe]:{get presenceBuffer(){return j(c.buffer.presenceUpdates?.data??null)},get undoStack(){return j(c.undoStack)},get nodeCount(){return c.nodes.size},getYjsProvider:()=>c.yjsProvider,setYjsProvider(e){c.yjsProvider?.off("status",ce),c.yjsProvider=e,e?.on("status",ce),c.yjsProviderDidChange.notify()},yjsProviderDidChange:c.yjsProviderDidChange.observable,reportTextEditor:async function(e,t){await o.reportTextEditor({roomId:m,type:e,rootKey:t})},createTextMention:async function(e,t){return o.createTextMention({roomId:m,userId:e,mentionId:t})},deleteTextMention:async function(e){return o.deleteTextMention({roomId:m,mentionId:e})},listTextVersions:async function(){return o.listTextVersions({roomId:m})},listTextVersionsSince:async function(e){return o.listTextVersionsSince({roomId:m,since:e.since,signal:e.signal})},getTextVersion:async function(e){return o.getTextVersion({roomId:m,versionId:e})},createTextVersion:async function(){return o.createTextVersion({roomId:m})},getSelf_forDevTools:()=>x.get(),getOthers_forDevTools:()=>se.get(),simulate:{explicitClose:e=>u._privateSendMachineEvent({type:"EXPLICIT_SOCKET_CLOSE",event:e}),rawSend:e=>u.send(e)},attachmentUrlsStore:o.getOrCreateAttachmentUrlsStore(m)},id:t.roomId,subscribe:Zt(ae),connect:()=>u.connect(),reconnect:()=>u.reconnect(),disconnect:()=>u.disconnect(),destroy:()=>{Q.destroy(),c.yjsProvider?.off("status",ce),ue.destroy(),s(),u.destroy()},updatePresence:function(e,t){const n={};null===c.buffer.presenceUpdates&&(c.buffer.presenceUpdates={type:"partial",data:{}});for(const t in e){const r=e[t];void 0!==r&&(c.buffer.presenceUpdates.data[t]=r,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):(U(),t?.addToHistory&&D([{type:"presence",data:n}]),E({presence:!0}))},updateYDoc:function(e,t){const n={type:301,update:e,guid:t};c.buffer.messages.push(n),p.ydoc.notify(n),U()},broadcastEvent:function(e,t={shouldQueueEventIfNotReady:!1}){("connected"===u.getStatus()||t.shouldQueueEventIfNotReady)&&(c.buffer.messages.push({type:103,event:e}),U())},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&&D(e.reverseOps),e.ops.length>0&&(c.redoStack.length=0),e.ops.length>0&&W(e.ops),E(e.updates),U()}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);E(t.updates),c.redoStack.push(t.reverse),M();for(const e of t.ops)"presence"!==e.type&&c.buffer.storageOperations.push(e);U()},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);E(t.updates),c.undoStack.push(t.reverse),M();for(const e of t.ops)"presence"!==e.type&&c.buffer.storageOperations.push(e);U()},canUndo:N,canRedo:P,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&&C(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}),U()},getStorage:J,getStorageSnapshot:Y,getStorageStatus:ee,isPresenceReady:oe,isStorageReady:ie,waitUntilPresenceReady:L(async function(){for(;!oe();){const{promise:e,resolve:t}=V(),n=ae.self.subscribeOnce(t),r=ae.status.subscribeOnce(t);await e,n(),r()}}),waitUntilStorageReady:L(async function(){for(;!ie();)await J()}),events:ae,getStatus:()=>u.getStatus(),getSelf:()=>v.get(),getPresence:()=>c.myPresence.get(),getOthers:()=>c.others.get(),getThreads:async function(e){return o.getThreads({roomId:m,query:e?.query,cursor:e?.cursor})},getThreadsSince:async function(e){return o.getThreadsSince({roomId:m,since:e.since,signal:e.signal})},getThread:async function(e){return o.getThread({roomId:m,threadId:e})},createThread:async function(e){return o.createThread({roomId:m,threadId:e.threadId,commentId:e.commentId,metadata:e.metadata,body:e.body,attachmentIds:e.attachmentIds})},deleteThread:async function(e){return o.deleteThread({roomId:m,threadId:e})},editThreadMetadata:async function({metadata:e,threadId:t}){return o.editThreadMetadata({roomId:m,threadId:t,metadata:e})},markThreadAsResolved:async function(e){return o.markThreadAsResolved({roomId:m,threadId:e})},markThreadAsUnresolved:async function(e){return o.markThreadAsUnresolved({roomId:m,threadId:e})},createComment:async function(e){return o.createComment({roomId:m,threadId:e.threadId,commentId:e.commentId,body:e.body,attachmentIds:e.attachmentIds})},editComment:async function(e){return o.editComment({roomId:m,threadId:e.threadId,commentId:e.commentId,body:e.body,attachmentIds:e.attachmentIds})},deleteComment:async function({threadId:e,commentId:t}){return o.deleteComment({roomId:m,threadId:e,commentId:t})},addReaction:async function({threadId:e,commentId:t,emoji:n}){return o.addReaction({roomId:m,threadId:e,commentId:t,emoji:n})},removeReaction:async function({threadId:e,commentId:t,emoji:n}){return await o.removeReaction({roomId:m,threadId:e,commentId:t,emoji:n})},prepareAttachment:function(e){return{type:"localAttachment",status:"idle",id:te(),name:e.name,size:e.size,mimeType:e.type,file:e}},uploadAttachment:async function(e,t={}){return o.uploadAttachment({roomId:m,attachment:e,signal:t.signal})},getAttachmentUrl:function(e){return o.getAttachmentUrl({roomId:m,attachmentId:e})},getNotificationSettings:function(e){return o.getNotificationSettings({roomId:m,signal:e?.signal})},updateNotificationSettings:function(e){return o.updateNotificationSettings({roomId:m,settings:e})},markInboxNotificationAsRead:async function(e){await o.markRoomInboxNotificationAsRead({roomId:m,inboxNotificationId:e})}},Xe,{enumerable:!1})}function Zt(e){function t(t,n){return e.storageBatch.subscribe(e=>{const r=e.filter(e=>Nt(e.node,t));r.length>0&&n(r)})}return function(n,r,o){if("string"==typeof n&&("my-presence"===(i=n)||"others"===i||"event"===i||"error"===i||"history"===i||"status"===i||"storage-status"===i||"lost-connection"===i||"connection"===i||"comments"===i)){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 ve(0,`"${String(n)}" is not a valid event name`)}}var i;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(zt(n)){const i=n;if(o?.isDeep){return t(i,r)}return function(t,n){return e.storageBatch.subscribe(e=>{for(const r of e)r.node._id===t._id&&n(r.node)})}(i,r)}throw new Error(`${String(n)} is not a value that can be subscribed to.`)}}function Yt(e,t){return async()=>t.getAuthValue({requestedScope:"room:read",roomId:e})}function Jt(e,t,n){return r=>{const o=n??("undefined"==typeof WebSocket?void 0:WebSocket);if(void 0===o)throw new Be("To use Liveblocks client in a non-DOM environment, you need to provide a WebSocket polyfill.");const i=new URL(t);if(i.protocol="http:"===i.protocol?"ws":"wss",i.pathname="/v7",i.searchParams.set("roomId",e),"secret"===r.type)i.searchParams.set("tok",r.token.raw);else{if("public"!==r.type)return ve(0,"Unhandled case");i.searchParams.set("pubkey",r.publicApiKey)}return i.searchParams.set("version",h),new o(i.toString())}}function Qt(e){const t=e,n=en("throttle",t.throttle??100,16,1e3);const r=function(e){return en("lostConnectionTimeout",e,200,3e4,1e3)}(t.lostConnectionTimeout??5e3),i=function(e){return void 0===e?void 0:en("backgroundKeepAliveTimeout",e,15e3)}(t.backgroundKeepAliveTimeout),s=function(e){return"string"==typeof e&&e.startsWith("http")?e:"https://api.liveblocks.io"}(t.baseUrl),a=new rt(void 0),u=Ge(e,e=>{const t="sec-legacy"===e.k?e.id:e.uid;a.set(()=>t)}),c=t.polyfills?.fetch||globalThis.fetch?.bind(globalThis),l=pe({baseUrl:s,fetchPolyfill:c,authManager:u}),d=new Map;function f(e){const t=()=>{const n=t;var r;e.unsubs.delete(n)?0===e.unsubs.size&&((r=e.room).id,d.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 h=t.resolveUsers,p=tn(()=>!h,"Set the resolveUsers option in createClient to specify user info."),m=X(new G(async e=>{const t=e.flat(),n=await(h?.({userIds:t}));return p(),n??t.map(()=>{})},{delay:50}));const g=t.resolveRoomsInfo,v=tn(()=>!g,"Set the resolveRoomsInfo option in createClient to specify room info."),y=X(new G(async e=>{const t=e.flat(),n=await(g?.({roomIds:t}));return v(),n??t.map(()=>{})},{delay:50}));const b=new Map;const x=[],w=new rt("synchronized");function C(){w.set(x.some(e=>"synchronizing"===e.get())?"synchronizing":x.some(e=>"has-local-changes"===e.get())?"has-local-changes":"synchronized")}function D(){const e=new rt("synchronized");x.push(e);const t=e.subscribe(()=>C());return{setSyncStatus:function(t){e.set(t)},destroy:function(){t();const n=x.findIndex(t=>t===e);if(n>-1){const[e]=x.splice(n,1);"synchronized"!==e.get()&&C()}}}}{const e=e=>{t.preventUnsavedChanges&&"synchronized"!==w.get()&&e.preventDefault()},n="undefined"!=typeof window?window:void 0;n?.addEventListener("beforeunload",e)}const E=Object.defineProperty({enterRoom:function(e,...a){const c=d.get(e);if(void 0!==c)return f(c);const h=a[0]??{},p=Xt({initialPresence:("function"==typeof h.initialPresence?h.initialPresence(e):h.initialPresence)??{},initialStorage:("function"==typeof h.initialStorage?h.initialStorage(e):h.initialStorage)??{}},{roomId:e,throttleDelay:n,lostConnectionTimeout:r,backgroundKeepAliveTimeout:i,polyfills:t.polyfills,delegates:t.mockedDelegates??{createSocket:Jt(e,s,t.polyfills?.WebSocket),authenticate:Yt(e,u)},enableDebugLogging:t.enableDebugLogging,baseUrl:s,unstable_fallbackToHTTP:!!t.unstable_fallbackToHTTP,unstable_streamData:!!t.unstable_streamData,roomHttpClient:l,createSyncSource:D}),m={room:p,unsubs:new Set};if(d.set(e,m),h.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");o.atob=t.polyfills.atob}p.connect()}return f(m)},getRoom:function(e){const t=d.get(e)?.room;return t||null},logout:function(){u.reset(),a.set(()=>{});for(const{room:e}of d.values())Ae(e.getStatus())||e.reconnect()},getInboxNotifications:l.getInboxNotifications,getInboxNotificationsSince:l.getInboxNotificationsSince,getUnreadInboxNotificationsCount:l.getUnreadInboxNotificationsCount,markAllInboxNotificationsAsRead:l.markAllInboxNotificationsAsRead,markInboxNotificationAsRead:l.markInboxNotificationAsRead,deleteAllInboxNotifications:l.deleteAllInboxNotifications,deleteInboxNotification:l.deleteInboxNotification,resolvers:{invalidateUsers:function(e){m.invalidate(e)},invalidateRoomsInfo:function(e){y.invalidate(e)},invalidateMentionSuggestions:function(){b.clear()}},getSyncStatus:function(){const e=w.get();return"synchronizing"===e?e:"synchronized"},events:{syncStatus:w},[Xe]:{currentUserId:a,mentionSuggestionsCache:b,resolveMentionSuggestions:t.resolveMentionSuggestions,usersStore:m,roomsInfoStore:y,getRoomIds:()=>Array.from(d.keys()),httpClient:l,as:()=>E,createSyncSource:D}},Xe,{enumerable:!1});return E}function en(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 tn(e,...t){return()=>{}}var nn={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}},rn={paragraph:"block",text:"inline",link:"inline",mention:"inline"};function on(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?rn[r]:"all",i=r?nn[r]:()=>!0,s="function"==typeof t?t:n;for(const t of e.content)if("all"!==o&&"block"!==o||i(t)&&s?.(t),"all"===o||"inline"===o)for(const e of t.children)i(e)&&s?.(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 sn=[1e3,2e3,4e3,8e3,1e4];function an(e,t,n){const r=performance.now(),o="undefined"!=typeof document?document:void 0,i="undefined"!=typeof window?window:void 0,s=n?.maxStaleTimeMs??Number.POSITIVE_INFINITY,a={inForeground:"hidden"!==o?.visibilityState,lastSuccessfulPollAt:r,count:0,backoff:0};function u(){return a.count>0&&a.inForeground}const c=new we({}).addState("@idle").addState("@enabled").addState("@polling");function l(){u()?c.send({type:"START"}):c.send({type:"STOP"})}function d(){performance.now()-a.lastSuccessfulPollAt>s&&c.send({type:"POLL"})}function f(e){a.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=a.lastSuccessfulPollAt+t;return Math.max(0,e-performance.now())+a.backoff},"@polling"),c.onEnterAsync("@polling",async(t,n)=>{await e(n),n.aborted||(a.lastSuccessfulPollAt=performance.now())},()=>({target:u()?"@enabled":"@idle",effect:()=>{a.backoff=0}}),()=>({target:u()?"@enabled":"@idle",effect:()=>{a.backoff=sn.find(e=>e>a.backoff)??sn[sn.length-1]}}),3e4),o?.addEventListener("visibilitychange",h),i?.addEventListener("online",h),c.start(),{inc:function(){a.count++,l()},dec:function(){a.count--,a.count<0&&(a.count=0),l()},pollNowIfStale:d,setInForeground:f}}function un(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(!k(e)||!k(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 cn=class e{#V;#ve;constructor(e,t){this.#ve=t,this.#V=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.#V.slice(),this.#ve)}add(e){const t=function(e,t,n){let r=0,o=e.length;for(;r<o;){const i=r+(o-r>>1);n(t,e[i])?o=i:r=i+1}return r}(this.#V,e,this.#ve);this.#V.splice(t,0,e)}remove(e){const t=this.#V.indexOf(e);return t>=0&&(this.#V.splice(t,1),!0)}get length(){return this.#V.length}*filter(e){for(const t of this.#V)e(t)&&(yield t)}[Symbol.iterator](){return this.#V[Symbol.iterator]()}};g(f,h,"esm");var ln,dn="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==o?o:"undefined"!=typeof self?self:{},fn={exports:{}},hn={};!function(e){e.exports=function(){if(ln)return hn;ln=1;var e=a.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,i={key:!0,ref:!0,__self:!0,__source:!0};function s(e,n,s){var a,u={},c=null,l=null;for(a in void 0!==s&&(c=""+s),void 0!==n.key&&(c=""+n.key),void 0!==n.ref&&(l=n.ref),n)r.call(n,a)&&!i.hasOwnProperty(a)&&(u[a]=n[a]);if(e&&e.defaultProps)for(a in n=e.defaultProps)void 0===u[a]&&(u[a]=n[a]);return{$$typeof:t,type:e,key:c,ref:l,props:u,_owner:o.current}}return hn.Fragment=n,hn.jsx=s,hn.jsxs=s,hn}()}(fn);g("@liveblocks/client","2.15.1","esm");var pn=t.createContext(null);function mn(){return t.useContext(pn)}function gn(e,n,r,o,i){const s=t.useRef(null);let a;null===s.current?(a={hasValue:!1,value:null},s.current=a):a=s.current;const[u,c]=t.useMemo(()=>{let e,t,s=!1;const u=n=>{if(!s){s=!0,e=n;const r=o(n);if(void 0!==i&&a.hasValue){const e=a.value;if(i(e,r))return t=e,e}return t=r,r}const r=t;if(function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t}(e,n))return r;const u=o(n);return void 0!==i&&i(r,u)?(e=n,r):(e=n,t=u,u)},c=void 0===r?null:r;return[()=>u(n()),null===c?void 0:()=>u(c())]},[n,r,o,i]),l=t.useSyncExternalStore(e,u,c);return t.useEffect(()=>{a.hasValue=!0,a.value=l},[l]),t.useDebugValue(l),l}var vn={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 yn(e,t){if(!k(e)||!k(t))return un(e,t);const n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(n=>Object.prototype.hasOwnProperty.call(t,n)&&un(e[n],t[n]))}var bn=e=>e;function xn(e){return t.useReducer(bn,e)[0]}function wn(e){const n=xn(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 Cn=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 Dn(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 An(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,k(n)&&En(n.startsWith)?En(e)&&e.startsWith(t.startsWith):e===t;var n}(n[e],t))}(t,e)}var In=class e{#ye;#be;#xe;signal;constructor(){this.#be=cn.from([],(e,t)=>{const n=e.createdAt,r=t.createdAt;return n<r||n===r&&e.id<t.id}),this.#xe=cn.from([],(e,t)=>{const n=t.updatedAt,r=e.updatedAt;return n<r||n===r&&t.id<e.id}),this.#ye=new Map,this.signal=new at(this)}clone(){const t=new e;return t.#ye=new Map(this.#ye),t.#be=this.#be.clone(),t.#xe=this.#xe.clone(),t}get(e){const t=this.getEvenIfDeleted(e);return t?.deletedAt?void 0:t}getEvenIfDeleted(e){return this.#ye.get(e)}upsert(e){this.signal.mutate(()=>{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.#ye.get(t);if(n){if(n.deletedAt)return!1;this.#be.remove(n),this.#xe.remove(n)}return e.deletedAt||(this.#be.add(e),this.#xe.add(e)),this.#ye.set(t,e),!0})}upsertIfNewer(e){const t=this.get(e.id);(!t||e.updatedAt>=t.updatedAt)&&this.upsert(e)}applyDelta(e){Qe(()=>{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.#ye.get(e);n&&!n.deletedAt&&this.upsert({...n,deletedAt:t,updatedAt:t})}findMany(e,t,n){const r="desc"===n?this.#xe:this.#be,o=[];return void 0!==e&&o.push(t=>t.roomId===e),o.push(An(t)),Array.from(r.filter(e=>o.every(t=>t(e))))}};function Sn(e,t){return`${e}-${q(t??{})}`}function On(e){return`USER_THREADS:${q(e??{})}`}function Tn(e){return`${e}:NOTIFICATION_SETTINGS`}function Bn(e){return`${e}-VERSIONS`}function kn(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 _n=Promise.resolve(),Fn=Object.freeze({isLoading:!0}),jn=class{observable;#B;#we;#Ce;#De;constructor(e){this.#Ce=null,this.#we=e,this.#B=$(),this.#De=null,this.observable=this.#B.observable,Dn(this)}#Ee(e){const t=this.#Ce;null!==t&&(this.#Ce={...t,...e},this.#B.notify())}async#Ae(){const e=this.#Ce;if(e?.cursor){this.#Ee({isFetchingMore:!0});try{const t=await this.#we(e.cursor);this.#Ee({cursor:t,fetchMoreError:void 0,isFetchingMore:!1})}catch(e){this.#Ee({isFetchingMore:!1,fetchMoreError:e})}}}fetchMore(){const e=this.#Ce;return null===e?.cursor?_n:(this.#De||(this.#De=this.#Ae().finally(()=>{this.#De=null})),this.#De)}get(){const e=this.#Ie;if(null===e||"pending"===e.status)return Fn;if("rejected"===e.status)return{isLoading:!1,error:e.reason};const t=this.#Ce;return{isLoading:!1,data:{fetchMore:this.fetchMore,isFetchingMore:t.isFetchingMore,fetchMoreError:t.fetchMoreError,hasFetchedAll:null===t.cursor}}}#Ie=null;waitUntilLoaded(){if(this.#Ie)return this.#Ie;const e=kn(U(()=>this.#we(void 0),5,[5e3,5e3,1e4,15e3]).then(e=>{this.#Ce={cursor:e,isFetchingMore:!1,fetchMoreError:void 0}}));return e.then(()=>this.#B.notify(),()=>{this.#B.notify(),setTimeout(()=>{this.#Ie=null,this.#B.notify()},5e3)}),this.#Ie=e,e}},Rn=class{observable;#B;#we;constructor(e){this.#we=e,this.#B=$(),this.observable=this.#B.observable,Dn(this)}get(){const e=this.#Ie;return null===e||"pending"===e.status?Fn:"rejected"===e.status?{isLoading:!1,error:e.reason}:{isLoading:!1,data:void 0}}#Ie=null;waitUntilLoaded(){if(this.#Ie)return this.#Ie;const e=kn(U(()=>this.#we(),5,[5e3,5e3,1e4,15e3]));return e.then(()=>this.#B.notify(),()=>{this.#B.notify(),setTimeout(()=>{this.#Ie=null,this.#B.notify()},5e3)}),this.#Ie=e,e}};var Nn=class{#Se;threads;notifications;roomNotificationSettings;historyVersions;permissionHints;optimisticUpdates;outputs;#Oe=null;#Te;#Be=new Map;#ke=new Map;#_e=null;#Fe=new Map;#je=new Map;#Re=new Map;#Ne=new Map;constructor(e){this.#Se=e[Xe].as(),this.optimisticUpdates=function(e){const t=new rt([]),n=e[Xe].createSyncSource();return t.subscribe(()=>n.setSyncStatus(t.get().length>0?"synchronizing":"synchronized")),{signal:t.asReadonly(),add:function(e){const n=Y(),r={...e,id:n};return t.set(e=>[...e,r]),n},remove:function(e){t.set(t=>t.filter(t=>t.id!==e))},invalidate:()=>t.set(e=>[...e])}}(this.#Se),this.permissionHints=function(){const e=new rt({});return{signal:e.asReadonly(),update:function(t){e.set(e=>{const n={...e};for(const[e,r]of Object.entries(t)){const t=n[e]??new Set;for(const e of r)t.add(e);n[e]=t}return n})},invalidate:()=>e.set(e=>({...e}))}}();this.#Te=new jn(async e=>{const t=await this.#Se.getInboxNotifications({cursor:e});this.updateThreadifications(t.threads,t.inboxNotifications),null===this.#Oe&&(this.#Oe=t.requestedAt);return t.nextCursor}),this.#Te.observable.subscribe(()=>this.invalidateEntireStore()),this.threads=new In,this.notifications=function(){const e=new at(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 r=e.get(t);return!!r&&(e.set(t,{...r,readAt:n}),!0)})},delete:function(t){e.mutate(e=>e.delete(t))},applyDelta:function(t,n){e.mutate(e=>{let r=!1;for(const n of t){const t=e.get(n.id);t&&1===Pn(t,n)||(e.set(n.id,n),r=!0)}for(const t of n)e.delete(t.id),r=!0;return r})},clear:function(){e.mutate(e=>e.clear())},updateAssociatedNotification:function(t){e.mutate(e=>{const n=function(e,t){for(const n of e)if(t(n))return n}(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()}}(),this.roomNotificationSettings=function(){const e=new at(new Map);return{signal:e.asReadonly(),update:function(t,n){e.mutate(e=>{e.set(t,n)})},invalidate:()=>e.mutate()}}(),this.historyVersions=function(){const e=new at(new Map);return{signal:e.asReadonly(),update:function(t,n){e.mutate(e=>{const r=e.get(t)??(e.set(t,new Map),e.get(t));for(const e of n)r.set(e.id,e)})},force_set:t=>e.mutate(t),invalidate:()=>e.mutate()}}();const t=st.from(this.threads.signal,this.notifications.signal,this.optimisticUpdates.signal,(e,t,n)=>function(e,t,n){const r=e.clone();let o=Object.fromEntries(t);for(const e of n)switch(e.type){case"create-thread":r.upsert(e.thread);break;case"edit-thread-metadata":{const t=r.get(e.threadId);if(void 0===t)break;if(t.updatedAt>e.updatedAt)break;r.upsert({...t,updatedAt:e.updatedAt,metadata:{...t.metadata,...e.metadata}});break}case"mark-thread-as-resolved":{const t=r.get(e.threadId);if(void 0===t)break;r.upsert({...t,resolved:!0});break}case"mark-thread-as-unresolved":{const t=r.get(e.threadId);if(void 0===t)break;r.upsert({...t,resolved:!1});break}case"create-comment":{const t=r.get(e.comment.threadId);if(void 0===t)break;r.upsert(Mn(t,e.comment));const n=Object.values(o).find(e=>"thread"===e.kind&&e.threadId===t.id);if(void 0===n)break;o[n.id]={...n,notifiedAt:e.comment.createdAt,readAt:e.comment.createdAt};break}case"edit-comment":{const t=r.get(e.comment.threadId);if(void 0===t)break;r.upsert(Mn(t,e.comment));break}case"delete-comment":{const t=r.get(e.threadId);if(void 0===t)break;r.upsert(Ln(t,e.commentId,e.deletedAt));break}case"delete-thread":{const t=r.get(e.threadId);if(void 0===t)break;r.upsert({...t,deletedAt:e.deletedAt,updatedAt:e.deletedAt,comments:[]});break}case"add-reaction":{const t=r.get(e.threadId);if(void 0===t)break;r.upsert(zn(t,e.commentId,e.reaction));break}case"remove-reaction":{const t=r.get(e.threadId);if(void 0===t)break;r.upsert(Hn(t,e.commentId,e.emoji,e.userId,e.removedAt));break}case"mark-inbox-notification-as-read":{const t=o[e.inboxNotificationId];if(void 0===t)break;o[e.inboxNotificationId]={...t,readAt:e.readAt};break}case"mark-all-inbox-notifications-as-read":for(const t in o){const n=o[t];if(void 0===n)break;o[t]={...n,readAt:e.readAt}}break;case"delete-inbox-notification":delete o[e.inboxNotificationId];break;case"delete-all-inbox-notifications":o={}}return{sortedNotifications:Object.values(o).filter(e=>"thread"!==e.kind||void 0!==r.get(e.threadId)).sort((e,t)=>t.notifiedAt.getTime()-e.notifiedAt.getTime()),notificationsById:o,threadsDB:r}}(e,t,n)),n=st.from(t,e=>({threadsDB:e.threadsDB}),un),r=st.from(t,e=>({sortedNotifications:e.sortedNotifications,notificationsById:e.notificationsById}),un),o=st.from(this.roomNotificationSettings.signal,this.optimisticUpdates.signal,(e,t)=>function(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}(e,t)),i=st.from(this.historyVersions.signal,e=>Object.fromEntries([...e].map(([e,t])=>[e,Object.fromEntries(t)])));this.outputs={threadifications:t,threads:n,notifications:r,settingsByRoomId:o,versionsByRoomId:i},Dn(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=Sn(e,t),r=this.#ke.get(n);if(void 0===r)return Fn;const o=r.get();if(o.isLoading||o.error)return o;const i=this.get1_threads().threadsDB.findMany(e,t??{},"asc"),s=o.data;return{isLoading:!1,threads:i,hasFetchedAll:s.hasFetchedAll,isFetchingMore:s.isFetchingMore,fetchMoreError:s.fetchMoreError,fetchMore:s.fetchMore}}getUserThreadsLoadingState(e){const t=On(e),n=this.#Fe.get(t);if(void 0===n)return Fn;const r=n.get();if(r.isLoading||r.error)return r;const o=this.get1_threads().threadsDB.findMany(void 0,e??{},"desc"),i=r.data;return{isLoading:!1,threads:o,hasFetchedAll:i.hasFetchedAll,isFetchingMore:i.isFetchingMore,fetchMoreError:i.fetchMoreError,fetchMore:i.fetchMore}}getInboxNotificationsLoadingState(){const e=this.#Te.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=Tn(e),n=this.#Ne.get(t);if(void 0===n)return Fn;const r=n.get();return r.isLoading||r.error?r:{isLoading:!1,settings:ye(this.get2()[e])}}getRoomVersionsLoadingState(e){const t=Bn(e),n=this.#je.get(t);if(void 0===n)return Fn;const r=n.get();return r.isLoading||r.error?r:{isLoading:!1,versions:Object.values(this.get3()[e]??{})}}force_set_versions(e){Qe(()=>{this.historyVersions.force_set(e),this.invalidateEntireStore()})}force_set_notifications(e){Qe(()=>{this.notifications.force_set(e),this.invalidateEntireStore()})}markInboxNotificationRead(e,t,n){Qe(()=>{this.optimisticUpdates.remove(n),this.notifications.markRead(e,t)})}markAllInboxNotificationsRead(e,t){Qe(()=>{this.optimisticUpdates.remove(e),this.notifications.markAllRead(t)})}deleteInboxNotification(e,t){Qe(()=>{this.optimisticUpdates.remove(t),this.notifications.delete(e)})}deleteAllInboxNotifications(e){Qe(()=>{this.optimisticUpdates.remove(e),this.notifications.clear()})}createThread(e,t){Qe(()=>{this.optimisticUpdates.remove(e),this.threads.upsert(t)})}#Pe(e,t,n,r){Qe(()=>{null!==t&&this.optimisticUpdates.remove(t);const o=this.threads,i=o.get(e);i&&(r&&i.updatedAt>r||o.upsert(n(i)))})}patchThread(e,t,n,r){return this.#Pe(e,t,e=>({...e,...N(n)}),r)}addReaction(e,t,n,r,o){this.#Pe(e,t,e=>zn(e,n,r),o)}removeReaction(e,t,n,r,o,i){this.#Pe(e,t,e=>Hn(e,n,r,o,i),i)}deleteThread(e,t){return this.#Pe(e,t,e=>({...e,updatedAt:new Date,deletedAt:new Date}))}createComment(e,t){Qe(()=>{this.optimisticUpdates.remove(t);const n=this.threads.get(e.threadId);n&&(this.threads.upsert(Mn(n,e)),this.notifications.updateAssociatedNotification(e))})}editComment(e,t,n){return this.#Pe(e,t,e=>Mn(e,n))}deleteComment(e,t,n,r){return this.#Pe(e,t,e=>Ln(e,n,r),r)}updateThreadifications(e,t,n=[],r=[]){Qe(()=>{this.threads.applyDelta({newThreads:e,deletedThreads:n}),this.notifications.applyDelta(t,r)})}updateRoomNotificationSettings(e,t,n){Qe(()=>{this.optimisticUpdates.remove(t),this.roomNotificationSettings.update(e,n)})}async fetchNotificationsDeltaUpdate(e){const t=this.#Oe;if(null===t)return;const n=await this.#Se.getInboxNotificationsSince({since:t,signal:e});t<n.requestedAt&&(this.#Oe=n.requestedAt),this.updateThreadifications(n.threads.updated,n.inboxNotifications.updated,n.threads.deleted,n.inboxNotifications.deleted)}waitUntilNotificationsLoaded(){return this.#Te.waitUntilLoaded()}waitUntilRoomThreadsLoaded(e,t){const n=async n=>{const r=await this.#Se[Xe].httpClient.getThreads({roomId:e,cursor:n,query:t});this.updateThreadifications(r.threads,r.inboxNotifications),this.permissionHints.update(r.permissionHints);const o=this.#Be.get(e);return(void 0===o||o>r.requestedAt)&&this.#Be.set(e,r.requestedAt),r.nextCursor},r=Sn(e,t);let o=this.#ke.get(r);return void 0===o&&(o=new jn(n)),o.observable.subscribe(()=>this.invalidateEntireStore()),this.#ke.set(r,o),o.waitUntilLoaded()}async fetchRoomThreadsDeltaUpdate(e,t){const n=this.#Be.get(e);if(void 0===n)return;const r=await this.#Se[Xe].httpClient.getThreadsSince({roomId:e,since:n,signal:t});this.updateThreadifications(r.threads.updated,r.inboxNotifications.updated,r.threads.deleted,r.inboxNotifications.deleted),this.permissionHints.update(r.permissionHints),n<r.requestedAt&&this.#Be.set(e,r.requestedAt)}waitUntilUserThreadsLoaded(e){const t=On(e),n=async t=>{const n=await this.#Se[Xe].httpClient.getUserThreads_experimental({cursor:t,query:e});return this.updateThreadifications(n.threads,n.inboxNotifications),this.permissionHints.update(n.permissionHints),null===this.#_e&&(this.#_e=n.requestedAt),n.nextCursor};let r=this.#Fe.get(t);return void 0===r&&(r=new jn(n)),r.observable.subscribe(()=>this.invalidateEntireStore()),this.#Fe.set(t,r),r.waitUntilLoaded()}invalidateEntireStore(){Qe(()=>{this.historyVersions.invalidate(),this.notifications.invalidate(),this.optimisticUpdates.invalidate(),this.permissionHints.invalidate(),this.roomNotificationSettings.invalidate()})}async fetchUserThreadsDeltaUpdate(e){const t=this.#_e;if(null===t)return;const n=await this.#Se[Xe].httpClient.getUserThreadsSince_experimental({since:t,signal:e});t<n.requestedAt&&(this.#Oe=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=Bn(e);let n=this.#je.get(t);if(void 0===n){n=new Rn(async()=>{const t=this.#Se.getRoom(e);if(null===t)throw new z(`Room '${e}' is not available on client`,479);const n=await t[Xe].listTextVersions();this.historyVersions.update(e,n.versions);const r=this.#Re.get(e);(void 0===r||r>n.requestedAt)&&this.#Re.set(e,n.requestedAt)})}return n.observable.subscribe(()=>this.invalidateEntireStore()),this.#je.set(t,n),n.waitUntilLoaded()}async fetchRoomVersionsDeltaUpdate(e,t){const n=this.#Re.get(e);if(void 0===n)return;const r=ye(this.#Se.getRoom(e),`Room with id ${e} is not available on client`),o=await r[Xe].listTextVersionsSince({since:n,signal:t});this.historyVersions.update(e,o.versions),n<o.requestedAt&&this.#Re.set(e,o.requestedAt)}waitUntilRoomNotificationSettingsLoaded(e){const t=Tn(e);let n=this.#Ne.get(t);if(void 0===n){n=new Rn(async()=>{const t=this.#Se.getRoom(e);if(null===t)throw new z(`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.#Ne.set(t,n),n.waitUntilLoaded()}async refreshRoomNotificationSettings(e,t){const n=ye(this.#Se.getRoom(e),`Room with id ${e} is not available on client`),r=await n.getNotificationSettings({signal:t});this.roomNotificationSettings.update(e,r)}};function Pn(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 Mn(e,t){if(void 0!==e.deletedAt)return e;if(t.threadId!==e.id)return C.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 Ln(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 zn(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:Un(e.reactions,n)}:e);return{...e,updatedAt:new Date(Math.max(n.createdAt.getTime(),e.updatedAt.getTime())),comments:o}}function Hn(e,t,n,r,o){if(void 0!==e.deletedAt)return e;const i=e.comments.find(e=>e.id===t);if(void 0===i)return e;if(void 0!==i.deletedAt)return e;const s=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:s}}function Un(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 Wn=t.createContext(null);function Vn(e){return new Error(`resolveUsers didn't return anything for user '${e}'`)}function $n(e){return new Error(`resolveRoomsInfo didn't return anything for room '${e}'`)}function qn(e){return e}var Kn=new WeakMap,Gn=new WeakMap;function Xn(e){let t=0;for(const n of e)(null===n.readAt||n.readAt<n.notifiedAt)&&t++;return t}function Zn(e){return e.inboxNotifications?{isLoading:!1,count:Xn(e.inboxNotifications)}:e}function Yn(e){let t=Kn.get(e);return t||(t=new Nn(e),Kn.set(e,t)),t}function Jn(e){let t=Gn.get(e);return t||(t=function(e){const t=Yn(e),n=an(async e=>{try{return await t.fetchNotificationsDeltaUpdate(e)}catch(e){throw console.warn(`Polling new inbox notifications failed: ${String(e)}`),e}},vn.NOTIFICATIONS_POLL_INTERVAL,{maxStaleTimeMs:vn.NOTIFICATIONS_MAX_STALE_TIME}),r=an(async e=>{try{return await t.fetchUserThreadsDeltaUpdate(e)}catch(e){throw console.warn(`Polling new user threads failed: ${String(e)}`),e}},vn.USER_THREADS_POLL_INTERVAL,{maxStaleTimeMs:vn.USER_THREADS_MAX_STALE_TIME});return{store:t,notificationsPoller:n,userThreadsPoller:r}}(e),Gn.set(e,t)),t}function Qn(e,n,r){const{store:o,notificationsPoller:i}=Jn(e);return t.useEffect(()=>{o.waitUntilNotificationsLoaded()}),t.useEffect(()=>(i.inc(),i.pollNowIfStale(),()=>{i.dec()}),[i]),gn(o.subscribe1_notifications,o.getInboxNotificationsLoadingState,o.getInboxNotificationsLoadingState,n,r)}function er(e){const t=Jn(e).store;Cn(t.waitUntilNotificationsLoaded());const n=function(e){return Qn(e,Zn,un)}(e);return n.isLoading,n.error,n}function tr(e,n){const r=e[Xe].usersStore,o=t.useCallback(()=>r.getState(n),[r,n]),i=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:Vn(t)}}(e,n),[n]),s=gn(r.subscribe,o,o,i,un);return t.useEffect(()=>{r.get(n)},[r,n,s]),s}function nr(e,n){const r=e[Xe].roomsInfoStore,o=t.useCallback(()=>r.getState(n),[r,n]),i=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:$n(t)}}(e,n),[n]),s=gn(r.subscribe,o,o,i,un);return t.useEffect(()=>{r.get(n)},[r,n,s]),s}function rr(){return t.useContext(Wn)}function or(){return rr()??B("LiveblocksProvider is missing from the React tree.")}function ir(e){return function(e){const t=rr();if(!e?.allowNesting&&null!==t)throw new Error("You cannot nest multiple LiveblocksProvider instances in the same React tree.")}(e),fn.exports.jsx(Wn.Provider,{value:e.client,children:e.children})}function sr(e){const{children:n,...r}=e,o={publicApiKey:xn(r.publicApiKey),throttle:xn(r.throttle),lostConnectionTimeout:xn(r.lostConnectionTimeout),backgroundKeepAliveTimeout:xn(r.backgroundKeepAliveTimeout),polyfills:xn(r.polyfills),unstable_fallbackToHTTP:xn(r.unstable_fallbackToHTTP),unstable_streamData:xn(r.unstable_streamData),preventUnsavedChanges:xn(r.preventUnsavedChanges),authEndpoint:wn(r.authEndpoint),resolveMentionSuggestions:wn(r.resolveMentionSuggestions),resolveUsers:wn(r.resolveUsers),resolveRoomsInfo:wn(r.resolveRoomsInfo),baseUrl:xn(r.baseUrl),enableDebugLogging:xn(r.enableDebugLogging)},i=t.useMemo(()=>Qt(o),[]);return fn.exports.jsx(ir,{client:i,children:n})}function ar(){return function(e){const t=Jn(e).store;Cn(t.waitUntilNotificationsLoaded());const n=Qn(e,qn,un);return n.error,n.isLoading,n}(or())}function ur(){return e=or(),t.useCallback(()=>{const{store:t}=Jn(e),n=new Date,r=t.optimisticUpdates.add({type:"mark-all-inbox-notifications-as-read",readAt:n});e.markAllInboxNotificationsAsRead().then(()=>{t.markAllInboxNotificationsRead(r,n)},()=>{t.optimisticUpdates.remove(r)})},[e]);var e}function cr(){return e=or(),t.useCallback(t=>{const{store:n}=Jn(e),r=new Date,o=n.optimisticUpdates.add({type:"mark-inbox-notification-as-read",inboxNotificationId:t,readAt:r});e.markInboxNotificationAsRead(t).then(()=>{n.markInboxNotificationRead(t,r,o)},()=>{n.optimisticUpdates.remove(o)})},[e]);var e}function lr(){return e=or(),t.useCallback(()=>{const{store:t}=Jn(e),n=new Date,r=t.optimisticUpdates.add({type:"delete-all-inbox-notifications",deletedAt:n});e.deleteAllInboxNotifications().then(()=>{t.deleteAllInboxNotifications(r)},()=>{t.optimisticUpdates.remove(r)})},[e]);var e}function dr(){return e=or(),t.useCallback(t=>{const{store:n}=Jn(e),r=new Date,o=n.optimisticUpdates.add({type:"delete-inbox-notification",inboxNotificationId:t,deletedAt:r});e.deleteInboxNotification(t).then(()=>{n.deleteInboxNotification(t,o)},()=>{n.optimisticUpdates.remove(o)})},[e]);var e}function fr(e){return nr(or(),e)}var hr=function(e){return function(e,n){const{store:r}=Jn(e),o=r.get1_both,i=t.useCallback(e=>{const t=e.notificationsById[n]??B(`Inbox notification with ID "${n}" not found`);return"thread"!==t.kind&&B(`Inbox notification with ID "${n}" is not of kind "thread"`),e.threadsDB.get(t.threadId)??B(`Thread with ID "${t.threadId}" not found, this inbox notification might not be of kind "thread"`)},[n]);return gn(r.subscribe1_both,o,o,i)}(or(),e)},pr=function(e){return tr(or(),e)},mr=class extends Error{constructor(e,t){super("Create thread failed."),this.cause=e,this.context=t,this.name="CreateThreadError"}},gr=class extends Error{constructor(e,t){super("Mark thread as resolved failed."),this.cause=e,this.context=t,this.name="MarkThreadAsResolvedError"}},vr=class extends Error{constructor(e,t){super("Mark thread as unresolved failed."),this.cause=e,this.context=t,this.name="MarkThreadAsUnresolvedError"}},yr=class extends Error{constructor(e,t){super("Create comment failed."),this.cause=e,this.context=t,this.name="CreateCommentError"}},br=class extends Error{constructor(e,t){super("Edit comment failed."),this.cause=e,this.context=t,this.name="EditCommentError"}},xr=class extends Error{constructor(e,t){super("Delete comment failed."),this.cause=e,this.context=t,this.name="DeleteCommentError"}},wr=class extends Error{constructor(e,t){super("Add reaction failed."),this.cause=e,this.context=t,this.name="AddReactionError"}},Cr=class extends Error{constructor(e,t){super("Remove reaction failed."),this.cause=e,this.context=t,this.name="RemoveReactionError"}},Dr=class extends Error{constructor(e,t){super("Mark inbox notification as read failed."),this.cause=e,this.context=t,this.name="MarkInboxNotificationAsReadError"}},Er=e=>e;function Ar(e,t,n){return gn(e.subscribe,e.get,e.get,t??Er,n)}function Ir(e,n){t.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,n)},[n.isLoading])}var Sr=e=>e;function Or(e){const t=e[Xe].currentUserId.get();return void 0===t?"anonymous":t}function Tr(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");C.error(n)}return new Error(t)}Object.freeze([]);var Br=new WeakMap;function kr(e){let t=Br.get(e);return t||(t=function(e){const t=Yn(e),n=$();function r(e,r,o){if(t.optimisticUpdates.remove(r),e instanceof z){const t=Tr(e);return void n.notify(o(t))}if(!(e instanceof z))throw e;Tr(e)}const o=new Map,i=new Map,s=new Map;function a(e){let n=o.get(e);return n||(n=an(async n=>{try{return await t.fetchRoomThreadsDeltaUpdate(e,n)}catch(t){throw C.warn(`Polling new threads for '${e}' failed: ${String(t)}`),t}},vn.ROOM_THREADS_POLL_INTERVAL,{maxStaleTimeMs:vn.ROOM_THREADS_MAX_STALE_TIME}),o.set(e,n)),n}function u(e){let n=i.get(e);return n||(n=an(async n=>{try{return await t.fetchRoomVersionsDeltaUpdate(e,n)}catch(t){throw C.warn(`Polling new history versions for '${e}' failed: ${String(t)}`),t}},vn.HISTORY_VERSIONS_POLL_INTERVAL,{maxStaleTimeMs:vn.HISTORY_VERSIONS_MAX_STALE_TIME}),i.set(e,n)),n}function c(e){let n=s.get(e);return n||(n=an(async n=>{try{return await t.refreshRoomNotificationSettings(e,n)}catch(t){throw C.warn(`Polling notification settings for '${e}' failed: ${String(t)}`),t}},vn.NOTIFICATION_SETTINGS_POLL_INTERVAL,{maxStaleTimeMs:vn.NOTIFICATION_SETTINGS_MAX_STALE_TIME}),s.set(e,n)),n}return{store:t,commentsErrorEventSource:n.observable,onMutationFailure:r,getOrCreateThreadsPollerForRoomId:a,getOrCreateVersionsPollerForRoomId:u,getOrCreateNotificationsSettingsPollerForRoomId:c}}(e),Br.set(e,t)),t}function _r(e){const n=or(),{id:r,stableEnterRoom:o}=e,i=xn({initialPresence:e.initialPresence,initialStorage:e.initialStorage,autoConnect:e.autoConnect??"undefined"!=typeof window}),[{room:s},a]=t.useState(()=>o(r,{...i,autoConnect:!1}));return t.useEffect(()=>{const{store:e}=kr(n);return s.events.comments.subscribe(t=>{!async function(t){if(t.type===Ce.THREAD_DELETED)return void e.deleteThread(t.threadId,null);const n=await s.getThread(t.threadId);if(!n.thread)return void e.deleteThread(t.threadId,null);const{thread:r,inboxNotification:o}=n,i=e.get1_threads().threadsDB.getEvenIfDeleted(t.threadId);switch(t.type){case Ce.COMMENT_EDITED:case Ce.THREAD_METADATA_UPDATED:case Ce.THREAD_UPDATED:case Ce.COMMENT_REACTION_ADDED:case Ce.COMMENT_REACTION_REMOVED:case Ce.COMMENT_DELETED:if(!i)break;e.updateThreadifications([r],o?[o]:[]);break;case Ce.COMMENT_CREATED:e.updateThreadifications([r],o?[o]:[])}}(t)})},[n,s]),t.useEffect(()=>{const e=o(r,i);a(e);const{room:t,leave:n}=e;return i.autoConnect&&t.connect(),()=>{n()}},[r,i,o]),fn.exports.jsx(pn.Provider,{value:s,children:e.children})}function Fr(){const e=mn();if(null===e)throw new Error("RoomProvider is missing from the React tree.");return e}function jr(){return or()[Xe].resolveMentionSuggestions}function Rr(e){const n=or();return t.useCallback(({threadId:t,commentId:r,body:o,attachments:i})=>{const s=new Date,{store:a,onMutationFailure:u}=kr(n),c=a.get1_threads().threadsDB.getEvenIfDeleted(t);if(void 0===c)return void C.warn(`Internal unexpected behavior. Cannot edit comment in thread "${t}" 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 C.warn(`Internal unexpected behavior. Cannot edit comment "${r}" in thread "${t}" because the comment does not exist in the cache.`);const d=a.optimisticUpdates.add({type:"edit-comment",comment:{...l,editedAt:s,body:o,attachments:i??[]}}),f=i?.map(e=>e.id);n[Xe].httpClient.editComment({roomId:e,threadId:t,commentId:r,body:o,attachmentIds:f}).then(e=>{a.editComment(t,d,e)},n=>u(n,d,n=>new br(n,{roomId:e,threadId:t,commentId:r,body:o})))},[n,e])}function Nr(e){const n=or();return t.useCallback(({threadId:t,commentId:r,emoji:o})=>{const i=new Date,s=Or(n),{store:a,onMutationFailure:u}=kr(n),c=a.optimisticUpdates.add({type:"add-reaction",threadId:t,commentId:r,reaction:{emoji:o,userId:s,createdAt:i}});n[Xe].httpClient.addReaction({roomId:e,threadId:t,commentId:r,emoji:o}).then(e=>{a.addReaction(t,c,r,e,i)},n=>u(n,c,n=>new wr(n,{roomId:e,threadId:t,commentId:r,emoji:o})))},[n,e])}function Pr(e){const n=or();return t.useCallback(({threadId:t,commentId:r,emoji:o})=>{const i=Or(n),s=new Date,{store:a,onMutationFailure:u}=kr(n),c=a.optimisticUpdates.add({type:"remove-reaction",threadId:t,commentId:r,emoji:o,userId:i,removedAt:s});n[Xe].httpClient.removeReaction({roomId:e,threadId:t,commentId:r,emoji:o}).then(()=>{a.removeReaction(t,c,r,o,i,s)},n=>u(n,c,n=>new Cr(n,{roomId:e,threadId:t,commentId:r,emoji:o})))},[n,e])}function Mr(e){return void 0===e||e?.isLoading?e??{isLoading:!0}:e.error?e:(e.data,{isLoading:!1,url:e.data})}function Lr(e,n){const r=or()[Xe].httpClient.getOrCreateAttachmentUrlsStore(n),o=t.useCallback(()=>r.getState(e),[r,e]);return t.useEffect(()=>{r.get(e)},[r,e]),gn(r.subscribe,o,o,Mr,un)}var zr=function(e){const n=or(),[r]=t.useState(()=>new Map),o=t.useCallback((e,t)=>{const o=r.get(e);if(o)return o;const i=n.enterRoom(e,t),s=i.leave;return i.leave=()=>{s(),r.delete(e)},r.set(e,i),i},[n,r]);return fn.exports.jsx(_r,{...e,stableEnterRoom:o})},Hr=function(e={query:{metadata:{}}}){const n=or(),r=Fr(),{store:o}=kr(n);Cn(o.waitUntilRoomThreadsLoaded(r.id,e.query));const i=function(e={query:{metadata:{}}}){const{scrollOnLoad:n=!0}=e,r=or(),o=Fr(),{store:i,getOrCreateThreadsPollerForRoomId:s}=kr(r),a=s(o.id);t.useEffect(()=>{i.waitUntilRoomThreadsLoaded(o.id,e.query)}),t.useEffect(()=>(a.inc(),a.pollNowIfStale(),()=>a.dec()),[a]);const u=t.useCallback(()=>i.getRoomThreadsLoadingState(o.id,e.query),[i,o.id,e.query]),c=gn(i.subscribe1_threads,u,u,Sr,yn);return Ir(n,c),c}(e);return i.error,i.isLoading,i};function Ur(e,n){const[r,o]=t.useState(),i=t.useRef(),s=jr(),a=or()[Xe].mentionSuggestionsCache;return t.useEffect(()=>{if(void 0===n||!s)return;const t={text:n,roomId:e},r=q(t);let u,c=!1;const l=async()=>{try{i.current=performance.now();const e=await s(t);c||(o(e),a.set(r,e))}catch(e){console.error(e?.message)}};return a.has(r)?o(a.get(r)):!i.current||Math.abs(performance.now()-i.current)>500?l():u=window.setTimeout(()=>{l()},500),()=>{c=!0,window.clearTimeout(u)}},[n,e,s,a]),r}function Wr(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r.defaultPrevented)return t?.(r)}}var Vr=globalThis?.document?u.useLayoutEffect:()=>{},$r=u[" useInsertionEffect ".trim().toString()]||Vr;function qr({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,i,s]=function({defaultProp:e,onChange:t}){const[n,r]=u.useState(e),o=u.useRef(n),i=u.useRef(t);return $r(()=>{i.current=t},[t]),u.useEffect(()=>{o.current!==n&&(i.current?.(n),o.current=n)},[n,o]),[n,r,i]}({defaultProp:t,onChange:n}),a=void 0!==e,c=a?e:o;{const t=u.useRef(void 0!==e);u.useEffect(()=>{const e=t.current;if(e!==a){const t=e?"controlled":"uncontrolled",n=a?"controlled":"uncontrolled";console.warn(`${r} 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=a},[a,r])}const l=u.useCallback(t=>{if(a){const n=function(e){return"function"==typeof e}(t)?t(e):t;n!==e&&s.current?.(n)}else i(t)},[a,e,i,s]);return[c,l]}function Kr(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function Gr(...e){return t=>{let n=!1;const r=e.map(e=>{const r=Kr(e,t);return n||"function"!=typeof r||(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){const n=r[t];"function"==typeof n?n():Kr(e[t],null)}}}}function Xr(...e){return u.useCallback(Gr(...e),e)}function Zr(e){const t=Jr(e),n=u.forwardRef((e,n)=>{const{children:r,...o}=e,i=u.Children.toArray(r),s=i.find(no);if(s){const e=s.props.children,r=i.map(t=>t===s?u.Children.count(e)>1?u.Children.only(null):u.isValidElement(e)?e.props.children:null:t);return fn.exports.jsx(t,{...o,ref:n,children:u.isValidElement(e)?u.cloneElement(e,void 0,r):null})}return fn.exports.jsx(t,{...o,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}var Yr=Zr("Slot");function Jr(e){const t=u.forwardRef((e,t)=>{const{children:n,...r}=e;if(u.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),o=function(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...e)=>{const t=i(...e);return o(...e),t}:o&&(n[r]=o):"style"===r?n[r]={...o,...i}:"className"===r&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}(r,n.props);return n.type!==u.Fragment&&(o.ref=t?Gr(t,e):e),u.cloneElement(n,o)}return u.Children.count(n)>1?u.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Qr=Symbol("radix.slottable");function eo(e){const t=({children:e})=>fn.exports.jsx(fn.exports.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=Qr,t}var to=eo("Slottable");function no(e){return u.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===Qr}var ro=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{const n=Zr(`Primitive.${t}`),r=u.forwardRef((e,r)=>{const{asChild:o,...i}=e,s=o?n:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),fn.exports.jsx(s,{...i,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function oo(e,t){e&&c.flushSync(()=>e.dispatchEvent(t))}var io="Toggle",so=u.forwardRef((e,t)=>{const{pressed:n,defaultPressed:r,onPressedChange:o,...i}=e,[s,a]=qr({prop:n,onChange:o,defaultProp:r??!1,caller:io});return fn.exports.jsx(ro.button,{type:"button","aria-pressed":s,"data-state":s?"on":"off","data-disabled":e.disabled?"":void 0,...i,ref:t,onClick:Wr(e.onClick,()=>{e.disabled||a(!s)})})});so.displayName=io;var ao=so;function uo(...e){return e.filter(e=>"string"==typeof e||"number"==typeof e).join(" ")}function co({children:e,className:t,...n}){return fn.exports.jsx("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:uo("lb-icon",t),...n,children:e})}function lo(e){return fn.exports.jsx(co,{...e,children:fn.exports.jsx("path",{d:"M16 6L8 14L4 10"})})}function fo(e){return fn.exports.jsxs(co,{...e,children:[fn.exports.jsx("path",{d:"M15 5L5 15"}),fn.exports.jsx("path",{d:"M5 5L15 15"})]})}function ho(e){return fn.exports.jsx(co,{...e,children:fn.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 po(e){return fn.exports.jsx(co,{...e,children:fn.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 mo(e){return fn.exports.jsxs(co,{fill:"currentColor",...e,children:[fn.exports.jsx("circle",{cx:5,cy:10,r:.75}),fn.exports.jsx("circle",{cx:10,cy:10,r:.75}),fn.exports.jsx("circle",{cx:15,cy:10,r:.75})]})}function go(e){return fn.exports.jsxs(co,{...e,children:[fn.exports.jsx("path",{d:"M11 3.07A7 7 0 1 0 16.93 9"}),fn.exports.jsx("path",{d:"M7.5 11.5S8.25 13 10 13s2.5-1.5 2.5-1.5M8 8h0"}),fn.exports.jsx("path",{d:"M12 8h0"}),fn.exports.jsx("path",{d:"M13 5h4m-2-2v4"}),fn.exports.jsx("circle",{cx:"8",cy:"8",r:".25"}),fn.exports.jsx("circle",{cx:"12",cy:"8",r:".25"})]})}const vo="'Apple Color Emoji', 'Noto Color Emoji', 'Twemoji Mozilla', 'Android Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', EmojiSymbols, sans-serif",yo=t.forwardRef(({emoji:e,style:t,asChild:n,...r},o)=>{const i=n?Yr:"span";return fn.exports.jsx(i,{role:"img","aria-label":e,"data-emoji":e,style:{...t,fontFamily:vo,display:"inline-flex",alignItems:"center",justifyContent:"center",width:"1em",whiteSpace:"nowrap"},...r,ref:o,children:e})}),bo=t.forwardRef(({className:e,...t},n)=>fn.exports.jsx(yo,{className:uo("lb-emoji",e),...t,ref:n}));function xo(e,t,n){return 1===e?t:n??`${t}s`}const wo={locale:"en",dir:"ltr",USER_SELF:"you",USER_UNKNOWN:"Anonymous",LIST_REMAINING:e=>`${e} more`,LIST_REMAINING_USERS:e=>`${e} ${xo(e,"other")}`,LIST_REMAINING_COMMENTS:e=>`${e} more ${xo(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 ve(0,"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)=>fn.exports.jsxs(fn.exports.Fragment,{children:[e," reacted with ",fn.exports.jsx(bo,{emoji:t})]}),COMMENT_REACTION_DESCRIPTION:(e,t)=>`${t} ${xo(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)=>fn.exports.jsxs(fn.exports.Fragment,{children:[e," commented",t?fn.exports.jsxs(fn.exports.Fragment,{children:[" in ",t]}):fn.exports.jsx(fn.exports.Fragment,{children:" in a thread"})]}),INBOX_NOTIFICATION_THREAD_MENTION:(e,t)=>fn.exports.jsxs(fn.exports.Fragment,{children:[e," mentioned you",t?fn.exports.jsxs(fn.exports.Fragment,{children:[" in ",t]}):null]}),INBOX_NOTIFICATION_TEXT_MENTION:(e,t)=>fn.exports.jsxs(fn.exports.Fragment,{children:[e," mentioned you",t?fn.exports.jsxs(fn.exports.Fragment,{children:[" in ",t]}):null]}),HISTORY_VERSION_PREVIEW_AUTHORS_LIST:e=>fn.exports.jsxs(fn.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."},Co=t.createContext(void 0);function Do(e){const n=t.useContext(Co);return t.useMemo(()=>({...wo,...n,...e}),[n,e])}function Eo({children:e,overrides:n}){const r=t.useContext(Co),o=t.useMemo(()=>({...wo,...r,...n}),[r,n]);return fn.exports.jsx(Co.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 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),A=R[R.length-1];T.children.splice(A,1);var O=Path.transform(R,n),I=Node$1.get(e,Path.parent(O)),k=O[O.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[A,O]=T;S&&0===Path.compare(O,S)||(!s&&Element$2.isElement(A)&&(Editor.isVoid(e,A)||Editor.isElementReadOnly(e,A))||!Path.isCommon(O,h.path)&&!Path.isCommon(O,g.path))&&(D.push(T),S=O)}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[A]=Editor.nodes(e,{at:a,match:t=>Text$1.isText(t)||Editor.isInline(e,t),mode:"highest",voids:r}),[,O]=A,I=Editor.isStart(e,a,O),k=Editor.isEnd(e,a,O),N=Editor.pathRef(e,_&&!R.length?Path.next(f):f),j=Editor.pathRef(e,k?Path.next(O):O);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(O):O);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 A=u.current||Editor.end(e,[]);Transforms.select(e,A)}}finally{var O;f.unref(),null===(O=u)||void 0===O||O.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:A,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 I="start"===c||"nearest"===c?C-D:"end"===c?R+A:C+E/2-D+A,k="center"===d?S+w/2-O+T:"end"===d?x+T:S-O;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,A=0;const O="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,A="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),A=Math.max(0,A+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,A="start"===d?k-l-f:"center"===d?k-(l+o/2)+O/2:"end"===d?k-a+h+O:o$1(l,a,o,f,h+O,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)),A=0===$?0:Math.max(0,Math.min(e+A/$,t.scrollWidth-o/$+O)),I+=s-T,k+=e-A}N.push({el:t,top:T,left:A})}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 A=l.hasAttribute("data-slate-node")?l:l.closest("[data-slate-node]");if(A&&ReactEditor.hasDOMNode(e,A,{editable:!0})){var O=ReactEditor.toSlateNode(e,A),{path:I,offset:k}=Editor.start(e,ReactEditor.findPath(e,O));return A.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:A}=r;if(d&&Range.isCollapsed(r)){var O=Node$1.leaf(t,A.path);if(A.offset<O.text.length)return p(A.path,{text:"",start:A.offset,end:A.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(),A=React.useMemo(()=>throttle_1(()=>{if(IS_NODE_MAP_DIRTY.get(h))A();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]),O=React.useMemo(()=>debounce_1(A,0),[A]);T.current=useAndroidInputManager({node:v,onDOMSelectionChange:A,scheduleOnDOMSelectionChange:O}),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);O.flush(),A.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,A,x,a,s,O]),k=React.useCallback(e=>{null==e?(A.cancel(),O.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)},[A,O,h,I,t]);useIsomorphicLayoutEffect$1(()=>{var e=ReactEditor.getWindow(h);e.document.addEventListener("selectionchange",O);var t=()=>{D.isDraggingInternally=!1};return e.document.addEventListener("dragend",t),e.document.addEventListener("drop",t),()=>{e.document.removeEventListener("selectionchange",O),e.document.removeEventListener("dragend",t),e.document.removeEventListener("drop",t)}},[O,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,A=C-m[_]-D,O=C/2-m[_]/2+x,I=clamp(T,O,A),k=!l.arrow&&null!=getAlignment(r)&&O!==I&&a.reference[_]/2-(O<T?S:D)-m[_]/2<0,N=k?O<T?O-T:O-A:0;return{[p]:f[p]+N,data:{[p]:I,centerOffset:O-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 A;const e=null==(A=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:A[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),A=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};O.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 O=React__namespace.useRef(!1);index(()=>(O.current=!0,()=>{O.current=!1}),[]),index(()=>{if(y&&(w.current=y),E&&(C.current=E),y&&E){if(S.current)return S.current(y,E,A);A()}},[y,E,A,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:A,refs:I,elements:k,floatingStyles:N}),[d,A,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:A}=React.useMemo(()=>({...defaultEditorComponents,...i}),[i]),[O,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 O&&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,O,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)}:O?{"aria-haspopup":!0,"aria-controls":V}:{},[j,H,z,X,O,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}),A&&jsxRuntime.exports.jsx(ComposerEditorFloatingToolbarWrapper,{dir:s,id:V,hasFloatingToolbarRange:O,setHasFloatingToolbarRange:I,FloatingToolbar:A})]})}),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,A=React.useMemo(()=>_||!0===i,[_,i]),O=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(()=>{O&&requestAnimationFrame(()=>{N.current&&requestSubmit(N.current)})},[O]),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:A,isFocused:h,isEmpty:f,canSubmit:O,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"),A=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:A,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]),A=React.useMemo(()=>Array(p).fill("🌫️"),[p]),O=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:A.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:O,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,A={padding:S,boundary:D.filter(isNotNull),altBoundary:T},{refs:O,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,...A}),l&&flip({...A}),size({...A,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",...A})]}),[$,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:O.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(),A=React.useRef(!0),O=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=>{A.current=e},[]),M=React.useCallback(e=>{O.current=e},[]),B=React.useCallback(e=>{p?.(e),e.isDefaultPrevented()||A.current&&F&&N?.(!1)},[N,p,F]),L=React.useCallback(e=>{if(u?.(e),e.isDefaultPrevented())return;!e.currentTarget.contains(e.relatedTarget??document.activeElement)&&A.current&&!O.current&&N?.(!0)},[u,N]),U=React.useCallback(e=>{e.stopPropagation(),A.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),A=React__namespace.useRef("right"),O=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=>A.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=O.current!==e.clientX;if(e.currentTarget.contains(t)&&n){const t=e.clientX>O.current?"right":"left";A.current=t,O.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),[A,O]=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&&O(!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":A?"":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]),[A,O]=React.useState(),I=void 0===A?T:A;React.useEffect(()=>{T&&O(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,A=void 0!==t.count&&"string"!=typeof t.count,O=n.hasDefaultValue(t),I=A?this.pluralResolver.getSuffix(u,t.count,t):"",k=t["defaultValue".concat(I)]||t.defaultValue;!this.isValidLookup(m)&&O&&(D=!0,m=k),this.isValidLookup(m)||(T=!0,m=l);var N=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&T?void 0:m,j=O&&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=O&&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&&A?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 whitespace-nowrap" 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}"}"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_setup$1="Edit App",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_setup:frontend_menu_setup$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_setup="设置",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_setup:frontend_menu_setup,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_type_approval_comments":"Approval Comments","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_approval_comments="审批意见",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_approval_comments:sfield_approval_comments,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_type_approval_comments":"审批意见","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=function(e=window.location.search){const t={},n=e.startsWith("?")?e.slice(1):e;return n?(n.split("&").forEach(e=>{const[n,o]=e.split("=");if(n){const e=decodeURIComponent(n),r=o?decodeURIComponent(o.replace(/\+/g," ")):"";t.hasOwnProperty(e)?Array.isArray(t[e])?t[e].push(r):t[e]=[t[e],r]:t[e]=r}}),t):t}();let i=getNameTplUrl(o,t);if("split"===t.displayAs){const e=a.additionalFilters||"";i+=`&additionalFilters=${encodeURIComponent(e)}`}const s=getMobileLines(r);let l={name:o.name,label:"split"==t.displayAs?"":o.label,sortable:o.sortable,type:"button",level:"link",actionType:"link",link:i,innerClassName:{"steedos-listview-item block text-gray-500":"true","max-w-[360px]":"${display == 'split'}"},body:{type:"wrapper",body:s,size:"none",className:"p-1"}};return"cms_files"===t.objectName&&(l=window.Meteor?.isCordova?{...l,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}}}:{...l,actionType:"",link:"",onEvent:{click:{actions:[{actionType:"link",args:{link:i}}],weight:0}}}),n.push(l),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:standard_new_dialog",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",onEvent:{click:{actions:[{actionType:"setValue",componentId:"u:standard_new_dialog",args:{value:{__saveAndNewRecord:!0}}}]}}},{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:!1,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 "+("SMALL"===n?"hidden":""),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(d),_.push(p),u&&_.push(u),_.push(f),[...a||[],..._]):(u&&_.push(u),_.push(d),_.push(f),e?.permissions?.allowCreateListViews&&_.push(getSettingListviewToolbarButtonSchema()),_.push(p),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};function approvalCommentsToAmis(e,t,n){let o={type:"wrapper",className:"instance-sign",body:[{type:"tpl",tpl:`\n \${JOIN(ARRAYMAP(record.approvalCommentsFields["${e.name}"].comments, item => \n '<div class="instance-sign-item' + (item.is_finished ? ' mt-1' : ' text-gray-500 border-l-2 px-1 border-blue-500 ' + (item.isMyApprove ? 'my-approve' : '') + ' not-finished') + '">' + \n '<p class="m-0 p-0">' + (item.isMyApprove ? (instance_my_approve_description || item.description || '') : (item.description || '')) + '</p>' + \n ((item.isMyApprove ? !!(instance_my_approve_description || item.description) : true) ? (item.showApproveSignImage ? item.userSignImage : ('  ' + item.handler_name + ' ')) : '') +\n (item.finishDateFormated || '') + \n '</div>'), '') || '  '}\n `,className:"instance-sign-content block m-2.5"}],size:"none"};return{type:"control",label:e.label,body:[o]}}const 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"},e.isAmis&&(delete e.mode,a={...a,...e});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})))}}break;case"approval_comments":a=approvalCommentsToAmis(e)}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})});
|
|
7
|
+
*/function Ao(e){return"[object Object]"===Object.prototype.toString.call(e)}function Io(e){var t,n;return!1!==Ao(e)&&(void 0===(t=e.constructor)||!1!==Ao(n=t.prototype)&&!1!==n.hasOwnProperty("isPrototypeOf"))}var So=Symbol.for("immer-nothing"),Oo=Symbol.for("immer-draftable"),To=Symbol.for("immer-state");function Bo(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var ko=Object.getPrototypeOf;function _o(e){return!!e&&!!e[To]}function Fo(e){return!!e&&(Ro(e)||Array.isArray(e)||!!e[Oo]||!!e.constructor?.[Oo]||zo(e)||Ho(e))}var jo=Object.prototype.constructor.toString();function Ro(e){if(!e||"object"!=typeof e)return!1;const t=ko(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)===jo}function No(e,t){0===Po(e)?Reflect.ownKeys(e).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Po(e){const t=e[To];return t?t.type_:Array.isArray(e)?1:zo(e)?2:Ho(e)?3:0}function Mo(e,t){return 2===Po(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Lo(e,t,n){const r=Po(e);2===r?e.set(t,n):3===r?e.add(n):e[t]=n}function zo(e){return e instanceof Map}function Ho(e){return e instanceof Set}function Uo(e){return e.copy_||e.base_}function Wo(e,t){if(zo(e))return new Map(e);if(Ho(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);const n=Ro(e);if(!0===t||"class_only"===t&&!n){const t=Object.getOwnPropertyDescriptors(e);delete t[To];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const o=n[r],i=t[o];!1===i.writable&&(i.writable=!0,i.configurable=!0),(i.get||i.set)&&(t[o]={configurable:!0,writable:!0,enumerable:i.enumerable,value:e[o]})}return Object.create(ko(e),t)}{const t=ko(e);if(null!==t&&n)return{...e};const r=Object.create(t);return Object.assign(r,e)}}function Vo(e,t=!1){return qo(e)||_o(e)||!Fo(e)||(Po(e)>1&&Object.defineProperties(e,{set:{value:$o},add:{value:$o},clear:{value:$o},delete:{value:$o}}),Object.freeze(e),t&&Object.values(e).forEach(e=>Vo(e,!0))),e}function $o(){Bo(2)}function qo(e){return Object.isFrozen(e)}var Ko,Go={};function Xo(e){const t=Go[e];return t||Bo(0),t}function Zo(){return Ko}function Yo(e,t){t&&(Xo("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Jo(e){Qo(e),e.drafts_.forEach(ti),e.drafts_=null}function Qo(e){e===Ko&&(Ko=e.parent_)}function ei(e){return Ko={drafts_:[],parent_:Ko,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function ti(e){const t=e[To];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function ni(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];return void 0!==e&&e!==n?(n[To].modified_&&(Jo(t),Bo(4)),Fo(e)&&(e=ri(t,e),t.parent_||ii(t,e)),t.patches_&&Xo("Patches").generateReplacementPatches_(n[To].base_,e,t.patches_,t.inversePatches_)):e=ri(t,n,[]),Jo(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==So?e:void 0}function ri(e,t,n){if(qo(t))return t;const r=t[To];if(!r)return No(t,(o,i)=>oi(e,r,t,o,i,n)),t;if(r.scope_!==e)return t;if(!r.modified_)return ii(e,r.base_,!0),r.base_;if(!r.finalized_){r.finalized_=!0,r.scope_.unfinalizedDrafts_--;const t=r.copy_;let o=t,i=!1;3===r.type_&&(o=new Set(t),t.clear(),i=!0),No(o,(o,s)=>oi(e,r,t,o,s,n,i)),ii(e,t,!1),n&&e.patches_&&Xo("Patches").generatePatches_(r,n,e.patches_,e.inversePatches_)}return r.copy_}function oi(e,t,n,r,o,i,s){if(_o(o)){const s=ri(e,o,i&&t&&3!==t.type_&&!Mo(t.assigned_,r)?i.concat(r):void 0);if(Lo(n,r,s),!_o(s))return;e.canAutoFreeze_=!1}else s&&n.add(o);if(Fo(o)&&!qo(o)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;ri(e,o),t&&t.scope_.parent_||"symbol"==typeof r||!(zo(n)?n.has(r):Object.prototype.propertyIsEnumerable.call(n,r))||ii(e,o)}}function ii(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Vo(t,n)}var si={get(e,t){if(t===To)return e;const n=Uo(e);if(!Mo(n,t))return function(e,t,n){const r=ci(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_||!Fo(r)?r:r===ui(e.base_,t)?(di(e),e.copy_[t]=fi(r,e)):r},has:(e,t)=>t in Uo(e),ownKeys:e=>Reflect.ownKeys(Uo(e)),set(e,t,n){const r=ci(Uo(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=ui(Uo(e),t),o=r?.[To];if(o&&o.base_===n)return e.copy_[t]=n,e.assigned_[t]=!1,!0;if(function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}(n,r)&&(void 0!==n||Mo(e.base_,t)))return!0;di(e),li(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!==ui(e.base_,t)||t in e.base_?(e.assigned_[t]=!1,di(e),li(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=Uo(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.type_||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},defineProperty(){Bo(11)},getPrototypeOf:e=>ko(e.base_),setPrototypeOf(){Bo(12)}},ai={};function ui(e,t){const n=e[To];return(n?Uo(n):e)[t]}function ci(e,t){if(!(t in e))return;let n=ko(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=ko(n)}}function li(e){e.modified_||(e.modified_=!0,e.parent_&&li(e.parent_))}function di(e){e.copy_||(e.copy_=Wo(e.base_,e.scope_.immer_.useStrictShallowCopy_))}No(si,(e,t)=>{ai[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}}),ai.deleteProperty=function(e,t){return ai.set.call(this,e,t,void 0)},ai.set=function(e,t,n){return si.set.call(this,e[0],t,n,e[0])};function fi(e,t){const n=zo(e)?Xo("MapSet").proxyMap_(e,t):Ho(e)?Xo("MapSet").proxySet_(e,t):function(e,t){const n=Array.isArray(e),r={type_:n?1:0,scope_:t?t.scope_:Zo(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let o=r,i=si;n&&(o=[r],i=ai);const{revoke:s,proxy:a}=Proxy.revocable(o,i);return r.draft_=a,r.revoke_=s,a}(e,t);return(t?t.scope_:Zo()).drafts_.push(n),n}function hi(e){if(!Fo(e)||qo(e))return e;const t=e[To];let n;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Wo(e,t.scope_.immer_.useStrictShallowCopy_)}else n=Wo(e,!0);return No(n,(e,t)=>{Lo(n,e,hi(t))}),t&&(t.finalized_=!1),n}var pi=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&&Bo(6),void 0!==n&&"function"!=typeof n&&Bo(7),Fo(e)){const o=ei(this),i=fi(e,void 0);let s=!0;try{r=t(i),s=!1}finally{s?Jo(o):Qo(o)}return Yo(o,n),ni(r,o)}if(!e||"object"!=typeof e){if(r=t(e),void 0===r&&(r=e),r===So&&(r=void 0),this.autoFreeze_&&Vo(r,!0),n){const t=[],o=[];Xo("Patches").generateReplacementPatches_(e,r,t,o),n(t,o)}return r}Bo(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){Fo(e)||Bo(8),_o(e)&&(e=function(e){_o(e)||Bo(10);return hi(e)}(e));const t=ei(this),n=fi(e,void 0);return n[To].isManual_=!0,Qo(t),n}finishDraft(e,t){const n=e&&e[To];n&&n.isManual_||Bo(9);const{scope_:r}=n;return Yo(r,t),ni(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=Xo("Patches").applyPatches_;return _o(e)?r(e,t):this.produce(e,e=>r(e,t))}},mi=pi.produce,gi=pi.createDraft.bind(pi),vi=pi.finishDraft.bind(pi),yi={transform(e,t){var{current:n,affinity:r}=e;if(null!=n){var o=Oi.transform(n,t,{affinity:r});e.current=o,null==o&&e.unref()}}},bi={transform(e,t){var{current:n,affinity:r}=e;if(null!=n){var o=ns.transform(n,t,{affinity:r});e.current=o,null==o&&e.unref()}}},xi={transform(e,t){var{current:n,affinity:r}=e;if(null!=n){var o=Hi.transform(n,t,{affinity:r});e.current=o,null==o&&e.unref()}}},wi=new WeakMap,Ci=new WeakMap,Di=new WeakMap,Ei=new WeakMap,Ai=new WeakMap,Ii=new WeakMap,Si=new WeakMap,Oi={ancestors(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:n=!1}=t,r=Oi.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),i=e[n],s=t[n];return Oi.equals(r,o)&&i>s},endsAt(e,t){var n=e.length,r=e.slice(0,n),o=t.slice(0,n);return Oi.equals(r,o)},endsBefore(e,t){var n=e.length-1,r=e.slice(0,n),o=t.slice(0,n),i=e[n],s=t[n];return Oi.equals(r,o)&&i<s},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===Oi.compare(e,t),isAncestor:(e,t)=>e.length<t.length&&0===Oi.compare(e,t),isBefore:(e,t)=>-1===Oi.compare(e,t),isChild:(e,t)=>e.length===t.length+1&&0===Oi.compare(e,t),isCommon:(e,t)=>e.length<=t.length&&0===Oi.compare(e,t),isDescendant:(e,t)=>e.length>t.length&&0===Oi.compare(e,t),isParent:(e,t)=>e.length+1===t.length&&0===Oi.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]&&Oi.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(!Oi.isAncestor(t,e)&&!Oi.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:i}=t;(Oi.equals(i,r)||Oi.endsBefore(i,r)||Oi.isAncestor(i,r))&&(r[i.length-1]+=1);break;case"remove_node":var{path:s}=t;if(Oi.equals(s,r)||Oi.isAncestor(s,r))return null;Oi.endsBefore(s,r)&&(r[s.length-1]-=1);break;case"merge_node":var{path:a,position:u}=t;Oi.equals(a,r)||Oi.endsBefore(a,r)?r[a.length-1]-=1:Oi.isAncestor(a,r)&&(r[a.length-1]-=1,r[a.length]+=u);break;case"split_node":var{path:c,position:l}=t;if(Oi.equals(c,r)){if("forward"===o)r[r.length-1]+=1;else if("backward"!==o)return null}else Oi.endsBefore(c,r)?r[c.length-1]+=1:Oi.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(Oi.equals(d,f))return r;if(Oi.isAncestor(d,r)||Oi.equals(d,r)){var h=f.slice();return Oi.endsBefore(d,f)&&d.length<f.length&&(h[d.length-1]-=1),h.concat(r.slice(d.length))}Oi.isSibling(d,f)&&(Oi.isAncestor(f,r)||Oi.equals(f,r))?Oi.endsBefore(d,r)?r[d.length-1]-=1:r[d.length-1]+=1:Oi.endsBefore(f,r)||Oi.equals(f,r)||Oi.isAncestor(f,r)?(Oi.endsBefore(d,r)&&(r[d.length-1]-=1),r[f.length-1]+=1):Oi.endsBefore(d,r)&&(Oi.equals(f,r)&&(r[f.length-1]+=1),r[d.length-1]-=1)}return r}};function Ti(e){return Ti="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},Ti(e)}function Bi(e){var t=function(e,t){if("object"!==Ti(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Ti(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ti(t)?t:String(t)}function ki(e,t,n){return(t=Bi(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _i(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 Fi(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_i(Object(n),!0).forEach(function(t){ki(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_i(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var ji={transform(e,t){e.children=gi(e.children);var n=e.selection&&gi(e.selection);try{n=((e,t,n)=>{switch(n.type){case"insert_node":var{path:r,node:o}=n,i=Ki.parent(e,r),s=r[r.length-1];if(s>i.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(i.children.splice(s,0,o),t)for(var[a,u]of Hi.points(t))t[u]=ns.transform(a,n);break;case"insert_text":var{path:c,offset:l,text:d}=n;if(0===d.length)break;var f=Ki.leaf(e,c),h=f.text.slice(0,l),p=f.text.slice(l);if(f.text=h+d+p,t)for(var[m,g]of Hi.points(t))t[g]=ns.transform(m,n);break;case"merge_node":var{path:v}=n,y=Ki.get(e,v),b=Oi.previous(v),x=Ki.get(e,b),w=Ki.parent(e,v),C=v[v.length-1];if(ls.isText(y)&&ls.isText(x))x.text+=y.text;else{if(ls.isText(y)||ls.isText(x))throw new Error('Cannot apply a "merge_node" operation at path ['.concat(v,"] to nodes of different interfaces: ").concat(os.stringify(y)," ").concat(os.stringify(x)));x.children.push(...y.children)}if(w.children.splice(C,1),t)for(var[D,E]of Hi.points(t))t[E]=ns.transform(D,n);break;case"move_node":var{path:A,newPath:I}=n;if(Oi.isAncestor(A,I))throw new Error("Cannot move a path [".concat(A,"] to new path [").concat(I,"] because the destination is inside itself."));var S=Ki.get(e,A),O=Ki.parent(e,A),T=A[A.length-1];O.children.splice(T,1);var B=Oi.transform(A,n),k=Ki.get(e,Oi.parent(B)),_=B[B.length-1];if(k.children.splice(_,0,S),t)for(var[F,j]of Hi.points(t))t[j]=ns.transform(F,n);break;case"remove_node":var{path:R}=n,N=R[R.length-1];if(Ki.parent(e,R).children.splice(N,1),t)for(var[P,M]of Hi.points(t)){var L=ns.transform(P,n);if(null!=t&&null!=L)t[M]=L;else{var z=void 0,H=void 0;for(var[U,W]of Ki.texts(e)){if(-1!==Oi.compare(W,R)){H=[U,W];break}z=[U,W]}var V=!1;z&&H&&(V=Oi.equals(H[1],R)?!Oi.hasPrevious(H[1]):Oi.common(z[1],R).length<Oi.common(H[1],R).length),z&&!V?(P.path=z[1],P.offset=z[0].text.length):H?(P.path=H[1],P.offset=0):t=null}}break;case"remove_text":var{path:$,offset:q,text:K}=n;if(0===K.length)break;var G=Ki.leaf(e,$),X=G.text.slice(0,q),Z=G.text.slice(q+K.length);if(G.text=X+Z,t)for(var[Y,J]of Hi.points(t))t[J]=ns.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=Ki.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 ie in ee)te.hasOwnProperty(ie)||delete ne[ie];break;case"set_selection":var{newProperties:se}=n;if(null==se)t=se;else{if(null==t){if(!Hi.isRange(se))throw new Error('Cannot apply an incomplete "set_selection" operation properties '.concat(os.stringify(se)," when there is no current selection."));t=Fi({},se)}for(var ae in se){var ue=se[ae];if(null==ue){if("anchor"===ae||"focus"===ae)throw new Error('Cannot remove the "'.concat(ae,'" selection property'));delete t[ae]}else t[ae]=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=Ki.get(e,ce),pe=Ki.parent(e,ce),me=ce[ce.length-1];if(ls.isText(he)){var ge=he.text.slice(0,le),ve=he.text.slice(le);he.text=ge,fe=Fi(Fi({},de),{},{text:ve})}else{var ye=he.children.slice(0,le),be=he.children.slice(le);he.children=ye,fe=Fi(Fi({},de),{},{children:be})}if(pe.children.splice(me+1,0,fe),t)for(var[xe,we]of Hi.points(t))t[we]=ns.transform(xe,n)}return t})(e,n,t)}finally{e.children=vi(e.children),e.selection=n?_o(n)?vi(n):n:null}}},Ri={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)}},Ni={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)}},Pi=(e,t)=>{for(var n in e){var r=e[n],o=t[n];if(Io(r)&&Io(o)){if(!Pi(r,o))return!1}else if(Array.isArray(r)&&Array.isArray(o)){if(r.length!==o.length)return!1;for(var i=0;i<r.length;i++)if(r[i]!==o[i])return!1}else if(r!==o)return!1}for(var s in t)if(void 0===e[s]&&void 0!==t[s])return!1;return!0};function Mi(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Li=["anchor","focus"];function zi(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 Hi={edges(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:n=!1}=t,{anchor:r,focus:o}=e;return Hi.isBackward(e)===n?[r,o]:[o,r]},end(e){var[,t]=Hi.edges(e);return t},equals:(e,t)=>ns.equals(e.anchor,t.anchor)&&ns.equals(e.focus,t.focus),surrounds(e,t){var n=Hi.intersection(e,t);return!!n&&Hi.equals(n,t)},includes(e,t){if(Hi.isRange(t)){if(Hi.includes(e,t.anchor)||Hi.includes(e,t.focus))return!0;var[n,r]=Hi.edges(e),[o,i]=Hi.edges(t);return ns.isBefore(n,o)&&ns.isAfter(r,i)}var[s,a]=Hi.edges(e),u=!1,c=!1;return ns.isPoint(t)?(u=ns.compare(t,s)>=0,c=ns.compare(t,a)<=0):(u=Oi.compare(t,s.path)>=0,c=Oi.compare(t,a.path)<=0),u&&c},intersection(e,t){var n=Mi(e,Li),[r,o]=Hi.edges(e),[i,s]=Hi.edges(t),a=ns.isBefore(r,i)?i:r,u=ns.isBefore(o,s)?o:s;return ns.isBefore(u,a)?null:function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?zi(Object(n),!0).forEach(function(t){ki(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zi(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({anchor:a,focus:u},n)},isBackward(e){var{anchor:t,focus:n}=e;return ns.isAfter(t,n)},isCollapsed(e){var{anchor:t,focus:n}=e;return ns.equals(t,n)},isExpanded:e=>!Hi.isCollapsed(e),isForward:e=>!Hi.isBackward(e),isRange:e=>Io(e)&&ns.isPoint(e.anchor)&&ns.isPoint(e.focus),*points(e){yield[e.anchor,"anchor"],yield[e.focus,"focus"]},start(e){var[t]=Hi.edges(e);return t},transform(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return mi(e,e=>{if(null===e)return null;var r,o,{affinity:i="inward"}=n;if("inward"===i){var s=Hi.isCollapsed(e);Hi.isForward(e)?(r="forward",o=s?r:"backward"):(r="backward",o=s?r:"forward")}else"outward"===i?Hi.isForward(e)?(r="backward",o="forward"):(r="forward",o="backward"):(r=i,o=i);var a=ns.transform(e.anchor,t,{affinity:r}),u=ns.transform(e.focus,t,{affinity:o});if(!a||!u)return null;e.anchor=a,e.focus=u})}},Ui=e=>Io(e)&&Ki.isNodeList(e.children)&&!Ji.isEditor(e),Wi={isAncestor:e=>Io(e)&&Ki.isNodeList(e.children),isElement:Ui,isElementList:e=>Array.isArray(e)&&e.every(e=>Wi.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 Ui(e)&&e[n]===t},matches(e,t){for(var n in t)if("children"!==n&&e[n]!==t[n])return!1;return!0}},Vi=["children"],$i=["text"],qi=new WeakMap,Ki={ancestor(e,t){var n=Ki.get(e,t);if(ls.isText(n))throw new Error("Cannot get the ancestor node at path [".concat(t,"] because it refers to a text node instead: ").concat(os.stringify(n)));return n},ancestors(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var r of Oi.ancestors(t,n)){var o=[Ki.ancestor(e,r),r];yield o}}()},child(e,t){if(ls.isText(e))throw new Error("Cannot get the child of a text node: ".concat(os.stringify(e)));var n=e.children[t];if(null==n)throw new Error("Cannot get child at index `".concat(t,"` in node: ").concat(os.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=Ki.ancestor(e,t),{children:i}=o,s=r?i.length-1:0;r?s>=0:s<i.length;){var a=Ki.child(o,s),u=t.concat(s);yield[a,u],s=r?s-1:s+1}}()},common(e,t,n){var r=Oi.common(t,n);return[Ki.get(e,r),r]},descendant(e,t){var n=Ki.get(e,t);if(Ji.isEditor(n))throw new Error("Cannot get the descendant node at path [".concat(t,"] because it refers to the root editor node instead: ").concat(os.stringify(n)));return n},descendants(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[n,r]of Ki.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 Ki.nodes(e,t))Wi.isElement(n)&&(yield[n,r])}()},extractProps:e=>Wi.isAncestor(e)?Mi(e,Vi):Mi(e,$i),first(e,t){for(var n=t.slice(),r=Ki.get(e,n);r&&!ls.isText(r)&&0!==r.children.length;)r=r.children[0],n.push(0);return[r,n]},fragment(e,t){if(ls.isText(e))throw new Error("Cannot get a fragment starting from a root text node: ".concat(os.stringify(e)));var n=mi({children:e.children},e=>{var[n,r]=Hi.edges(t),o=Ki.nodes(e,{reverse:!0,pass:e=>{var[,n]=e;return!Hi.includes(t,n)}});for(var[,i]of o){if(!Hi.includes(t,i)){var s=Ki.parent(e,i),a=i[i.length-1];s.children.splice(a,1)}if(Oi.equals(i,r.path)){var u=Ki.leaf(e,i);u.text=u.text.slice(0,r.offset)}if(Oi.equals(i,n.path)){var c=Ki.leaf(e,i);c.text=c.text.slice(n.offset)}}Ji.isEditor(e)&&(e.selection=null)});return n.children},get(e,t){var n=Ki.getIf(e,t);if(void 0===n)throw new Error("Cannot find a descendant at path [".concat(t,"] in node: ").concat(os.stringify(e)));return n},getIf(e,t){for(var n=e,r=0;r<t.length;r++){var o=t[r];if(ls.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(ls.isText(n)||!n.children[o])return!1;n=n.children[o]}return!0},isNode:e=>ls.isText(e)||Wi.isElement(e)||Ji.isEditor(e),isNodeList(e){if(!Array.isArray(e))return!1;var t=qi.get(e);if(void 0!==t)return t;var n=e.every(e=>Ki.isNode(e));return qi.set(e,n),n},last(e,t){for(var n=t.slice(),r=Ki.get(e,n);r&&!ls.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=Ki.get(e,t);if(!ls.isText(n))throw new Error("Cannot get the leaf node at path [".concat(t,"] because it refers to a non-leaf node: ").concat(os.stringify(n)));return n},levels(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var r of Oi.levels(t,n)){var o=Ki.get(e,r);yield[o,r]}}()},matches:(e,t)=>Wi.isElement(e)&&Wi.isElementProps(t)&&Wi.matches(e,t)||ls.isText(e)&&ls.isTextProps(t)&&ls.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:i}=t,s=new Set,a=[],u=e;!i||!(r?Oi.isBefore(a,i):Oi.isAfter(a,i));)if(s.has(u)||(yield[u,a]),s.has(u)||ls.isText(u)||0===u.children.length||null!=n&&!1!==n([u,a])){if(0===a.length)break;if(!r){var c=Oi.next(a);if(Ki.has(e,c)){a=c,u=Ki.get(e,a);continue}}if(r&&0!==a[a.length-1])a=Oi.previous(a),u=Ki.get(e,a);else a=Oi.parent(a),u=Ki.get(e,a),s.add(u)}else{s.add(u);var l=r?u.children.length-1:0;Oi.isAncestor(a,o)&&(l=o[a.length]),a=a.concat(l),u=Ki.get(e,a)}}()},parent(e,t){var n=Oi.parent(t),r=Ki.get(e,n);if(ls.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=>ls.isText(e)?e.text:e.children.map(Ki.string).join(""),texts(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[n,r]of Ki.nodes(e,t))ls.isText(n)&&(yield[n,r])}()}};function Gi(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 Xi(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Gi(Object(n),!0).forEach(function(t){ki(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Gi(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Zi={isNodeOperation:e=>Zi.isOperation(e)&&e.type.endsWith("_node"),isOperation(e){if(!Io(e))return!1;switch(e.type){case"insert_node":case"remove_node":return Oi.isPath(e.path)&&Ki.isNode(e.node);case"insert_text":case"remove_text":return"number"==typeof e.offset&&"string"==typeof e.text&&Oi.isPath(e.path);case"merge_node":return"number"==typeof e.position&&Oi.isPath(e.path)&&Io(e.properties);case"move_node":return Oi.isPath(e.path)&&Oi.isPath(e.newPath);case"set_node":return Oi.isPath(e.path)&&Io(e.properties)&&Io(e.newProperties);case"set_selection":return null===e.properties&&Hi.isRange(e.newProperties)||null===e.newProperties&&Hi.isRange(e.properties)||Io(e.properties)&&Io(e.newProperties);case"split_node":return Oi.isPath(e.path)&&"number"==typeof e.position&&Io(e.properties);default:return!1}},isOperationList:e=>Array.isArray(e)&&e.every(e=>Zi.isOperation(e)),isSelectionOperation:e=>Zi.isOperation(e)&&e.type.endsWith("_selection"),isTextOperation:e=>Zi.isOperation(e)&&e.type.endsWith("_text"),inverse(e){switch(e.type){case"insert_node":return Xi(Xi({},e),{},{type:"remove_node"});case"insert_text":return Xi(Xi({},e),{},{type:"remove_text"});case"merge_node":return Xi(Xi({},e),{},{type:"split_node",path:Oi.previous(e.path)});case"move_node":var{newPath:t,path:n}=e;if(Oi.equals(t,n))return e;if(Oi.isSibling(n,t))return Xi(Xi({},e),{},{path:t,newPath:n});var r=Oi.transform(n,e),o=Oi.transform(Oi.next(n),e);return Xi(Xi({},e),{},{path:r,newPath:o});case"remove_node":return Xi(Xi({},e),{},{type:"insert_node"});case"remove_text":return Xi(Xi({},e),{},{type:"insert_text"});case"set_node":var{properties:i,newProperties:s}=e;return Xi(Xi({},e),{},{properties:s,newProperties:i});case"set_selection":var{properties:a,newProperties:u}=e;return Xi(Xi({},e),{},null==a?{properties:u,newProperties:null}:null==u?{properties:null,newProperties:a}:{properties:u,newProperties:a});case"split_node":return Xi(Xi({},e),{},{type:"merge_node",path:Oi.next(e.path)})}}},Yi=new WeakMap,Ji={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=Yi.get(e);if(void 0!==t)return t;if(!Io(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||Io(e.marks))&&(null===e.selection||Hi.isRange(e.selection))&&Ki.isNodeList(e.children)&&Zi.isOperationList(e.operations);return Yi.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)},Qi={isSpan:e=>Array.isArray(e)&&2===e.length&&e.every(Oi.isPath)};function es(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 ts(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?es(Object(n),!0).forEach(function(t){ki(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):es(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var ns={compare(e,t){var n=Oi.compare(e.path,t.path);return 0===n?e.offset<t.offset?-1:e.offset>t.offset?1:0:n},isAfter:(e,t)=>1===ns.compare(e,t),isBefore:(e,t)=>-1===ns.compare(e,t),equals:(e,t)=>e.offset===t.offset&&Oi.equals(e.path,t.path),isPoint:e=>Io(e)&&"number"==typeof e.offset&&Oi.isPath(e.path),transform(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return mi(e,e=>{if(null===e)return null;var{affinity:r="forward"}=n,{path:o,offset:i}=e;switch(t.type){case"insert_node":case"move_node":e.path=Oi.transform(o,t,n);break;case"insert_text":Oi.equals(t.path,o)&&(t.offset<i||t.offset===i&&"forward"===r)&&(e.offset+=t.text.length);break;case"merge_node":Oi.equals(t.path,o)&&(e.offset+=t.position),e.path=Oi.transform(o,t,n);break;case"remove_text":Oi.equals(t.path,o)&&t.offset<=i&&(e.offset-=Math.min(i-t.offset,t.text.length));break;case"remove_node":if(Oi.equals(t.path,o)||Oi.isAncestor(t.path,o))return null;e.path=Oi.transform(o,t,n);break;case"split_node":if(Oi.equals(t.path,o)){if(t.position===i&&null==r)return null;(t.position<i||t.position===i&&"forward"===r)&&(e.offset-=t.position,e.path=Oi.transform(o,t,ts(ts({},n),{},{affinity:"forward"})))}else e.path=Oi.transform(o,t,n)}})}},rs=void 0,os={setScrubber(e){rs=e},stringify:e=>JSON.stringify(e,rs)},is=["text"],ss=["anchor","focus"];function as(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 us(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?as(Object(n),!0).forEach(function(t){ki(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):as(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var cs,ls={equals(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{loose:r=!1}=n;function o(e){return Mi(e,is)}return Pi(r?o(e):e,r?o(t):t)},isText:e=>Io(e)&&"string"==typeof e.text,isTextList:e=>Array.isArray(e)&&e.every(e=>ls.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=[us({},e)];for(var r of t){var o=Mi(r,ss),[i,s]=Hi.edges(r),a=[],u=0,c=i.offset,l=s.offset;for(var d of n){var{length:f}=d.text,h=u;if(u+=f,c<=h&&u<=l)Object.assign(d,o),a.push(d);else if(c!==l&&(c===u||l===h)||c>u||l<h||l===h&&0!==h)a.push(d);else{var p=d,m=void 0,g=void 0;if(l<u){var v=l-h;g=us(us({},p),{},{text:p.text.slice(v)}),p=us(us({},p),{},{text:p.text.slice(0,v)})}if(c>h){var y=c-h;m=us(us({},p),{},{text:p.text.slice(0,y)}),p=us(us({},p),{},{text:p.text.slice(y)})}Object.assign(p,o),m&&a.push(m),a.push(p),g&&a.push(g)}}n=a}return n}},ds=e=>e.selection?e.selection:e.children.length>0?Ji.end(e,[]):[0],fs=(e,t)=>{var[n]=Ji.node(e,t);return e=>e===n},hs=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!t,r=t?bs(e):e,o=cs.None,i=cs.None,s=0,a=null;for(var u of r){var c=u.codePointAt(0);if(!c)break;var l=ks(u,c);if([o,i]=n?[i,l]:[l,o],_s(o,cs.ZWJ)&&_s(i,cs.ExtPict)&&!Ns(n?e.substring(0,s):e.substring(0,e.length-s)))break;if(_s(o,cs.RI)&&_s(i,cs.RI)&&!(a=null!==a?!a:!!n||Ms(e.substring(0,e.length-s))))break;if(o!==cs.None&&i!==cs.None&&js(o,i))break;s+=u.length}return s||1},ps=/\s/,ms=/[\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]/,gs=/['\u2018\u2019]/,vs=(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)]},ys=function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(ps.test(t))return!1;if(gs.test(t)){var o=hs(n,r),[i,s]=vs(n,o,r);if(e(i,s,r))return!0}return!ms.test(t)},bs=function*(e){for(var t=e.length-1,n=0;n<e.length;n++){var r=e.charAt(t-n);if(ws(r.charCodeAt(0))){var o=e.charAt(t-n-1);if(xs(o.charCodeAt(0))){yield o+r,n++;continue}}yield r}},xs=e=>e>=55296&&e<=56319,ws=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"}(cs||(cs={}));var Cs=/^(?:[\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])$/,Ds=/^(?:[\u0600-\u0605\u06DD\u070F\u0890\u0891\u08E2\u0D4E]|\uD804[\uDCBD\uDCCD\uDDC2\uDDC3]|\uD806[\uDD3F\uDD41\uDE3A\uDE84-\uDE89]|\uD807\uDD46)$/,Es=/^(?:[\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])$/,As=/^[\u1100-\u115F\uA960-\uA97C]$/,Is=/^[\u1160-\u11A7\uD7B0-\uD7C6]$/,Ss=/^[\u11A8-\u11FF\uD7CB-\uD7FB]$/,Os=/^[\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]$/,Ts=/^[\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]$/,Bs=/^(?:[\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])$/,ks=(e,t)=>{var n=cs.Any;return-1!==e.search(Cs)&&(n|=cs.Extend),8205===t&&(n|=cs.ZWJ),t>=127462&&t<=127487&&(n|=cs.RI),-1!==e.search(Ds)&&(n|=cs.Prepend),-1!==e.search(Es)&&(n|=cs.SpacingMark),-1!==e.search(As)&&(n|=cs.L),-1!==e.search(Is)&&(n|=cs.V),-1!==e.search(Ss)&&(n|=cs.T),-1!==e.search(Os)&&(n|=cs.LV),-1!==e.search(Ts)&&(n|=cs.LVT),-1!==e.search(Bs)&&(n|=cs.ExtPict),n};function _s(e,t){return 0!==(e&t)}var Fs=[[cs.L,cs.L|cs.V|cs.LV|cs.LVT],[cs.LV|cs.V,cs.V|cs.T],[cs.LVT|cs.T,cs.T],[cs.Any,cs.Extend|cs.ZWJ],[cs.Any,cs.SpacingMark],[cs.Prepend,cs.Any],[cs.ZWJ,cs.ExtPict],[cs.RI,cs.RI]];function js(e,t){return-1===Fs.findIndex(n=>_s(e,n[0])&&_s(t,n[1]))}var Rs=/(?:[\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$/,Ns=e=>-1!==e.search(Rs),Ps=/(?:\uD83C[\uDDE6-\uDDFF])+$/g,Ms=e=>{var t=e.match(Ps);return null!==t&&t[0].length/2%2==1},Ls={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]:{};Ji.withoutNormalizing(e,()=>{var{voids:r=!1}=n,{at:o=ds(e)}=n;if(Oi.isPath(o)&&(o=Ji.range(e,o)),Hi.isRange(o))if(Hi.isCollapsed(o))o=o.anchor;else{var i=Hi.end(o);if(!r&&Ji.void(e,{at:i}))return;var s=Hi.start(o),a=Ji.pointRef(e,s),u=Ji.pointRef(e,i);Us.delete(e,{at:o,voids:r});var c=a.unref(),l=u.unref();o=c||l,Us.setSelection(e,{anchor:o,focus:o})}if(!(!r&&Ji.void(e,{at:o})||Ji.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 zs(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 Hs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?zs(Object(n),!0).forEach(function(t){ki(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zs(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Us=Hs(Hs(Hs(Hs({},ji),Ri),Ni),Ls),Ws=new WeakMap;function Vs(e,t,n){var r,o,i=wi.get(e)||[],s=Ci.get(e)||new Set,a=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,i)){a(n(u))}else r=i,o=s;for(var c of t)a(c);wi.set(e,r),Ci.set(e,o)}var $s=(e,t)=>{for(var n of Ji.pathRefs(e))yi.transform(n,t);for(var r of Ji.pointRefs(e))bi.transform(r,t);for(var o of Ji.rangeRefs(e))xi.transform(o,t);if(!(e=>Ws.get(e)||!1)(e)){var i=Oi.operationCanTransformPath(t)?e=>Oi.transform(e,t):void 0;Vs(e,e.getDirtyPaths(t),i)}Us.transform(e,t),e.operations.push(t),Ji.normalize(e,{operation:t}),"set_selection"===t.type&&(e.marks=null),Di.get(e)||(Di.set(e,!0),Promise.resolve().then(()=>{Di.set(e,!1),e.onChange({operation:t}),e.operations=[]}))};function qs(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 Ks(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?qs(Object(n),!0).forEach(function(t){ki(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qs(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Gs(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 Xs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Gs(Object(n),!0).forEach(function(t){ki(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Gs(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Zs(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 Ys(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Zs(Object(n),!0).forEach(function(t){ki(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zs(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Js(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 Qs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Js(Object(n),!0).forEach(function(t){ki(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Js(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ea(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 ta(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ea(Object(n),!0).forEach(function(t){ki(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ea(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function na(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=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{selection:r,marks:o}=e;if(r){if(o){var i=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?na(Object(n),!0).forEach(function(t){ki(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):na(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({text:t},o);Us.insertNodes(e,i,{at:n.at,voids:n.voids})}else Us.insertText(e,t,n);e.marks=null}};var oa=["text"],ia=["text"];var sa=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{force:n=!1,operation:r}=t,o=e=>wi.get(e)||[],i=e=>{var t=o(e).pop(),n=t.join(",");return(e=>Ci.get(e)||new Set)(e).delete(n),t};if(Ji.isNormalizing(e)){if(n){var s=Array.from(Ki.nodes(e),e=>{var[,t]=e;return t}),a=new Set(s.map(e=>e.join(",")));wi.set(e,s),Ci.set(e,a)}0!==o(e).length&&Ji.withoutNormalizing(e,()=>{for(var t of o(e))if(Ki.has(e,t)){var n=Ji.node(e,t),[s,a]=n;Wi.isElement(s)&&0===s.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=i(e);if(Ki.has(e,d)){var f=Ji.node(e,d);e.normalizeNode(f,{operation:r})}l++,u=o(e)}})}};function aa(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:i=!1,ignoreNonSelectable:s=!1}=t;if(n){var a=Ji.range(e,n),[u,c]=Hi.edges(a),l=o?c:u,d=!1,f="",h=0,p=0,m=0;for(var[g,v]of Ji.nodes(e,{at:n,reverse:o,voids:i,ignoreNonSelectable:s})){if(Wi.isElement(g)){if(!i&&(e.isVoid(g)||e.isElementReadOnly(g))){yield Ji.start(e,v);continue}if(e.isInline(g))continue;if(Ji.hasInlines(e,g)){var y=Oi.isAncestor(v,c.path)?c:Ji.end(e,v),b=Oi.isAncestor(v,u.path)?u:Ji.start(e,v);f=Ji.string(e,{anchor:b,focus:y},{voids:i}),d=!0}}if(ls.isText(g)){var x=Oi.equals(v,l.path);for(x?(p=o?l.offset:g.text.length-l.offset,m=l.offset):(p=g.text.length,m=o?p:0),(x||d||"offset"===r)&&(yield{path:v,offset:m},d=!1);;){if(0===h){if(""===f)break;h=w(f,r,o),f=vs(f,h,o)[1]}if(m=o?m-h:m+h,(p-=h)<0){h=-p;break}h=0,yield{path:v,offset:m}}}}}function w(e,t,n){return"character"===t?hs(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=hs(e,t),[i,s]=vs(e,o,t);if(ys(i,s,t))r=!0,n+=o;else{if(r)break;n+=o}e=s}return n}(e,n):"line"===t||"block"===t?e.length:1}}()}function ua(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 ca=(e,t)=>{var{selection:n}=e;if(n){var r=(t,n)=>{if(!ls.isText(t))return!1;var[r,o]=Ji.parent(e,n);return!e.isVoid(r)||e.markableVoid(r)},o=Hi.isExpanded(n),i=!1;if(!o){var[s,a]=Ji.node(e,n);if(s&&r(s,a)){var[u]=Ji.parent(e,a);i=u&&e.markableVoid(u)}}if(o||i)Us.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?ua(Object(n),!0).forEach(function(t){ki(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ua(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},Ji.marks(e)||{});delete c[t],e.marks=c,Di.get(e)||e.onChange()}}};function la(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 da(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?la(Object(n),!0).forEach(function(t){ki(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):la(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var fa=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Ji.withoutNormalizing(e,()=>{var{hanging:r=!1,voids:o=!1,mode:i="lowest",batchDirty:s=!0}=n,{at:a,match:u,select:c}=n;if(Ki.isNode(t)&&(t=[t]),0!==t.length){var[l]=t;if(a||(a=ds(e),!1!==c&&(c=!0)),null==c&&(c=!1),Hi.isRange(a))if(r||(a=Ji.unhangRange(e,a,{voids:o})),Hi.isCollapsed(a))a=a.anchor;else{var[,d]=Hi.edges(a),f=Ji.pointRef(e,d);Us.delete(e,{at:a}),a=f.unref()}if(ns.isPoint(a)){null==u&&(u=ls.isText(l)?e=>ls.isText(e):e.isInline(l)?t=>ls.isText(t)||Ji.isInline(e,t):t=>Wi.isElement(t)&&Ji.isBlock(e,t));var[h]=Ji.nodes(e,{at:a.path,match:u,mode:i,voids:o});if(!h)return;var[,p]=h,m=Ji.pathRef(e,p),g=Ji.isEnd(e,a,p);Us.splitNodes(e,{at:a,match:u,mode:i,voids:o});var v=m.unref();a=g?Oi.next(v):v}var y=Oi.parent(a),b=a[a.length-1];if(o||!Ji.void(e,{at:y})){if(s){var x=[],w=Oi.levels(y);((e,t,n)=>{var r=Ws.get(e)||!1;Ws.set(e,!0);try{t(),n()}finally{Ws.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),a=Oi.next(a),x.push(n),ls.isText?w.push(...Array.from(Ki.nodes(r),e=>{var[,n]=e;return t.concat(n)})):w.push(t)};for(var r of t)n()},()=>{Vs(e,w,e=>{var t=e;for(var n of x)if(Oi.operationCanTransformPath(n)&&!(t=Oi.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}),a=Oi.next(a)}if(a=Oi.previous(a),c){var E=Ji.end(e,a);E&&Us.select(e,E)}}}})},ha=["text"],pa=["children"],ma=(e,t)=>{if(Wi.isElement(t)){var n=t;return!!Ji.isVoid(e,t)||1===n.children.length&&ma(e,n.children[0])}return!Ji.isEditor(t)},ga=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ji.withoutNormalizing(e,()=>{var{mode:n="lowest",voids:r=!1}=t,{match:o,at:i=e.selection,height:s=0,always:a=!1}=t;if(null==o&&(o=t=>Wi.isElement(t)&&Ji.isBlock(e,t)),Hi.isRange(i)&&(i=((e,t)=>{if(Hi.isCollapsed(t))return t.anchor;var[,n]=Hi.edges(t),r=Ji.pointRef(e,n);return Us.delete(e,{at:t}),r.unref()})(e,i)),Oi.isPath(i)){var u=i,c=Ji.point(e,u),[l]=Ji.parent(e,u);o=e=>e===l,s=c.path.length-u.length+1,i=c,a=!0}if(i){var d,f=Ji.pointRef(e,i,{affinity:"backward"});try{var[h]=Ji.nodes(e,{at:i,match:o,mode:n,voids:r});if(!h)return;var p=Ji.void(e,{at:i,mode:"highest"});if(!r&&p){var[m,g]=p;if(Wi.isElement(m)&&e.isInline(m)){var v=Ji.after(e,g);if(!v){var y=Oi.next(g);Us.insertNodes(e,{text:""},{at:y,voids:r}),v=Ji.point(e,y)}i=v,a=!0}s=i.path.length-g.length+1,a=!0}d=Ji.pointRef(e,i);var b=i.path.length-s,[,x]=h,w=i.path.slice(0,b),C=0===s?i.offset:i.path[b]+0;for(var[D,E]of Ji.levels(e,{at:w,reverse:!0,voids:r})){var A=!1;if(E.length<x.length||0===E.length||!r&&Wi.isElement(D)&&Ji.isVoid(e,D))break;var I=f.current,S=Ji.isEnd(e,I,E);if(a||!f||!Ji.isEdge(e,I,E)){A=!0;var O=Ki.extractProps(D);e.apply({type:"split_node",path:E,position:C,properties:O})}C=E[E.length-1]+(A||S?1:0)}if(null==t.at){var T=d.current||Ji.end(e,[]);Us.select(e,T)}}finally{var B;f.unref(),null===(B=d)||void 0===B||B.unref()}}})};function va(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 ya(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?va(Object(n),!0).forEach(function(t){ki(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):va(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var ba=()=>{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 $s(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(!ls.isText(t))return!1;var[r,o]=Ji.parent(e,n);return!e.isVoid(r)||e.markableVoid(r)},i=Hi.isExpanded(r),s=!1;if(!i){var[a,u]=Ji.node(e,r);if(a&&o(a,u)){var[c]=Ji.parent(e,u);s=c&&e.markableVoid(c)}}if(i||s)Us.setNodes(e,{[t]:n},{match:o,split:!0,voids:!0});else{var l=Ks(Ks({},Ji.marks(e)||{}),{},{[t]:n});e.marks=l,Di.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&&Hi.isCollapsed(n)&&Us.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&&Hi.isCollapsed(n)&&Us.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&&Hi.isExpanded(n)&&Us.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?Ki.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=>{Us.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=>{Us.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]:{};Ji.withoutNormalizing(e,()=>{var{hanging:r=!1,voids:o=!1}=n,{at:i=ds(e),batchDirty:s=!0}=n;if(t.length){if(Hi.isRange(i))if(r||(i=Ji.unhangRange(e,i,{voids:o})),Hi.isCollapsed(i))i=i.anchor;else{var[,a]=Hi.edges(i);if(!o&&Ji.void(e,{at:a}))return;var u=Ji.pointRef(e,a);Us.delete(e,{at:i}),i=u.unref()}else Oi.isPath(i)&&(i=Ji.start(e,i));if(o||!Ji.void(e,{at:i})){var c=Ji.above(e,{at:i,match:t=>Wi.isElement(t)&&Ji.isInline(e,t),mode:"highest",voids:o});if(c){var[,l]=c;Ji.isEnd(e,i,l)?i=Ji.after(e,l):Ji.isStart(e,i,l)&&(i=Ji.before(e,l))}var d=Ji.above(e,{match:t=>Wi.isElement(t)&&Ji.isBlock(e,t),at:i,voids:o}),[,f]=d,h=Ji.isStart(e,i,f),p=Ji.isEnd(e,i,f),m=h&&p,g=!h||h&&p,v=!p,[,y]=Ki.first({children:t},[]),[,b]=Ki.last({children:t},[]),x=[],w=t=>{var[n,r]=t;return!(0===r.length||!m&&(g&&Oi.isAncestor(r,y)&&Wi.isElement(n)&&!e.isVoid(n)&&!e.isInline(n)||v&&Oi.isAncestor(r,b)&&Wi.isElement(n)&&!e.isVoid(n)&&!e.isInline(n)))};for(var C of Ki.nodes({children:t},{pass:w}))w(C)&&x.push(C);var D=[],E=[],A=[],I=!0,S=!1;for(var[O]of x)Wi.isElement(O)&&!e.isInline(O)?(I=!1,S=!0,E.push(O)):I?D.push(O):A.push(O);var[T]=Ji.nodes(e,{at:i,match:t=>ls.isText(t)||Ji.isInline(e,t),mode:"highest",voids:o}),[,B]=T,k=Ji.isStart(e,i,B),_=Ji.isEnd(e,i,B),F=Ji.pathRef(e,p&&!A.length?Oi.next(f):f),j=Ji.pathRef(e,_?Oi.next(B):B);Us.splitNodes(e,{at:i,match:t=>S?Wi.isElement(t)&&Ji.isBlock(e,t):ls.isText(t)||Ji.isInline(e,t),mode:S?"lowest":"highest",always:S&&(!h||D.length>0)&&(!p||A.length>0),voids:o});var R,N=Ji.pathRef(e,!k||k&&_?Oi.next(B):B);if(Us.insertNodes(e,D,{at:N.current,match:t=>ls.isText(t)||Ji.isInline(e,t),mode:"highest",voids:o,batchDirty:s}),m&&!D.length&&E.length&&!A.length&&Us.delete(e,{at:f,voids:o}),Us.insertNodes(e,E,{at:F.current,match:t=>Wi.isElement(t)&&Ji.isBlock(e,t),mode:"lowest",voids:o,batchDirty:s}),Us.insertNodes(e,A,{at:j.current,match:t=>ls.isText(t)||Ji.isInline(e,t),mode:"highest",voids:o,batchDirty:s}),!n.at&&(A.length>0&&j.current?R=Oi.previous(j.current):E.length>0&&F.current?R=Oi.previous(F.current):N.current&&(R=Oi.previous(N.current)),R)){var P=Ji.end(e,R);Us.select(e,P)}N.unref(),F.unref(),j.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)=>{Us.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 ra(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(!ls.isText(n))if(Wi.isElement(n)&&0===n.children.length)Us.insertNodes(e,{text:""},{at:r.concat(0),voids:!0});else for(var o=!Ji.isEditor(n)&&Wi.isElement(n)&&(e.isInline(n)||0===n.children.length||ls.isText(n.children[0])||e.isInline(n.children[0])),i=0,s=0;s<n.children.length;s++,i++){var a=Ki.get(e,r);if(!ls.isText(a)){var u=a.children[i],c=a.children[i-1],l=s===n.children.length-1;(ls.isText(u)||Wi.isElement(u)&&e.isInline(u))!==o?(Us.removeNodes(e,{at:r.concat(i),voids:!0}),i--):Wi.isElement(u)?e.isInline(u)&&(null!=c&&ls.isText(c)?l&&(Us.insertNodes(e,{text:""},{at:r.concat(i+1),voids:!0}),i++):(Us.insertNodes(e,{text:""},{at:r.concat(i),voids:!0}),i++)):(ls.isText(u)||"children"in u||(u.children=[]),null!=c&&ls.isText(c)&&(ls.equals(u,c,{loose:!0})?(Us.mergeNodes(e,{at:r.concat(i),voids:!0}),i--):""===c.text?(Us.removeNodes(e,{at:r.concat(i-1),voids:!0}),i--):""===u.text&&(Us.removeNodes(e,{at:r.concat(i),voids:!0}),i--)))}}})(e,...n)},removeMark:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return ca(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 Oi.levels(n);case"insert_node":var{node:r,path:o}=t,i=Oi.levels(o),s=ls.isText(r)?[]:Array.from(Ki.nodes(r),e=>{var[,t]=e;return o.concat(t)});return[...i,...s];case"merge_node":var{path:a}=t;return[...Oi.ancestors(a),Oi.previous(a)];case"move_node":var{path:u,newPath:c}=t;if(Oi.equals(u,c))return[];var l=[],d=[];for(var f of Oi.ancestors(u)){var h=Oi.transform(f,t);l.push(h)}for(var p of Oi.ancestors(c)){var m=Oi.transform(p,t);d.push(m)}var g=d[d.length-1],v=c[c.length-1],y=g.concat(v);return[...l,...d,y];case"remove_node":var{path:b}=t;return[...Oi.ancestors(b)];case"split_node":var{path:x}=t;return[...Oi.levels(x),Oi.next(x)];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:i}=t;if(o){var s=Ji.path(e,o),a="lowest"===r;for(var[u,c]of Ji.levels(e,{at:s,voids:n,match:i,reverse:a}))if(!ls.isText(u))if(Hi.isRange(o)){if(Oi.isAncestor(c,o.anchor.path)&&Oi.isAncestor(c,o.focus.path))return[u,c]}else if(!Oi.equals(s,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:Ji.point(e,t,{edge:"end"}),focus:Ji.end(e,[])},{distance:i=1}=r,s=0;for(var a of Ji.positions(e,Xs(Xs({},r),{},{at:o}))){if(s>i)break;0!==s&&(n=a),s++}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:Ji.start(e,[]),focus:Ji.point(e,t,{edge:"start"})},{distance:i=1}=r,s=0;for(var a of Ji.positions(e,Ys(Ys({},r),{},{at:o,reverse:!0}))){if(s>i)break;0!==s&&(n=a),s++}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)Us.select(e,r.anchor);else if("focus"===n)Us.select(e,r.focus);else if("start"===n){var[o]=Hi.edges(r);Us.select(e,o)}else if("end"===n){var[,i]=Hi.edges(r);Us.select(e,i)}}(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]:{};Ji.withoutNormalizing(e,()=>{var n,r,{reverse:o=!1,unit:i="character",distance:s=1,voids:a=!1}=t,{at:u=e.selection,hanging:c=!1}=t;if(u){var l=!1;if(Hi.isRange(u)&&Hi.isCollapsed(u)&&(l=!0,u=u.anchor),ns.isPoint(u)){var d=Ji.void(e,{at:u,mode:"highest"});if(!a&&d){var[,f]=d;u=f}else{var h={unit:i,distance:s};u={anchor:u,focus:o?Ji.before(e,u,h)||Ji.start(e,[]):Ji.after(e,u,h)||Ji.end(e,[])},c=!0}}if(Oi.isPath(u))Us.removeNodes(e,{at:u,voids:a});else if(!Hi.isCollapsed(u)){if(!c){var[,p]=Hi.edges(u),m=Ji.end(e,[]);ns.equals(p,m)||(u=Ji.unhangRange(e,u,{voids:a}))}var[g,v]=Hi.edges(u),y=Ji.above(e,{match:t=>Wi.isElement(t)&&Ji.isBlock(e,t),at:g,voids:a}),b=Ji.above(e,{match:t=>Wi.isElement(t)&&Ji.isBlock(e,t),at:v,voids:a}),x=y&&b&&!Oi.equals(y[1],b[1]),w=Oi.equals(g.path,v.path),C=a?null:null!==(n=Ji.void(e,{at:g,mode:"highest"}))&&void 0!==n?n:Ji.elementReadOnly(e,{at:g,mode:"highest"}),D=a?null:null!==(r=Ji.void(e,{at:v,mode:"highest"}))&&void 0!==r?r:Ji.elementReadOnly(e,{at:v,mode:"highest"});if(C){var E=Ji.before(e,g);E&&y&&Oi.isAncestor(y[1],E.path)&&(g=E)}if(D){var A=Ji.after(e,v);A&&b&&Oi.isAncestor(b[1],A.path)&&(v=A)}var I,S=[];for(var O of Ji.nodes(e,{at:u,voids:a})){var[T,B]=O;I&&0===Oi.compare(B,I)||(!a&&Wi.isElement(T)&&(Ji.isVoid(e,T)||Ji.isElementReadOnly(e,T))||!Oi.isCommon(B,g.path)&&!Oi.isCommon(B,v.path))&&(S.push(O),I=B)}var k=Array.from(S,t=>{var[,n]=t;return Ji.pathRef(e,n)}),_=Ji.pointRef(e,g),F=Ji.pointRef(e,v),j="";if(!w&&!C){var R=_.current,[N]=Ji.leaf(e,R),{path:P}=R,{offset:M}=g,L=N.text.slice(M);L.length>0&&(e.apply({type:"remove_text",path:P,offset:M,text:L}),j=L)}if(k.reverse().map(e=>e.unref()).filter(e=>null!==e).forEach(t=>Us.removeNodes(e,{at:t,voids:a})),!D){var z=F.current,[H]=Ji.leaf(e,z),{path:U}=z,W=w?g.offset:0,V=H.text.slice(W,v.offset);V.length>0&&(e.apply({type:"remove_text",path:U,offset:W,text:V}),j=V)}!w&&x&&F.current&&_.current&&Us.mergeNodes(e,{at:F.current,hanging:!0,voids:a}),l&&o&&"character"===i&&j.length>1&&j.match(/[\u0E00-\u0E7F]+/)&&Us.insertText(e,j.slice(0,j.length-s));var $=_.unref(),q=F.unref(),K=o?$||q:q||$;null==t.at&&K&&Us.select(e,K)}}})}(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)=>[Ji.start(e,t),Ji.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 Ji.above(e,Qs(Qs({},t),{},{match:t=>Wi.isElement(t)&&Ji.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)=>Ji.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=Ji.path(e,t,{edge:"start"});return Ji.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=Ji.range(e,t);return Ki.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(Hi.isExpanded(n)){if(Hi.isBackward(n)&&([o,r]=[r,o]),Ji.isEnd(e,r,r.path)){var i=Ji.after(e,r);i&&(r=i)}var[s]=Ji.nodes(e,{match:ls.isText,at:{anchor:r,focus:o}});if(s){var[a]=s;return Mi(a,oa)}return{}}var{path:u}=r,[c]=Ji.leaf(e,u);if(0===r.offset){var l=Ji.previous(e,{at:u,match:ls.isText}),d=Ji.above(e,{match:t=>Wi.isElement(t)&&Ji.isVoid(e,t)&&e.markableVoid(t)});if(!d){var f=Ji.above(e,{match:t=>Wi.isElement(t)&&Ji.isBlock(e,t)});if(l&&f){var[h,p]=l,[,m]=f;Oi.isAncestor(m,p)&&(c=h)}}}return Mi(c,ia)}(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=>Wi.isElement(t)&&Ji.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=>ls.isText(t)||Ji.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)=>Ki.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=>ls.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 fa(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)=>Ji.isStart(e,t,n)||Ji.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&&ls.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=Ji.end(e,n);return ns.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=Ei.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=Ji.start(e,n);return ns.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=Ji.path(e,t,{edge:"end"});return Ji.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=Ji.path(e,t,n);return[Ki.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:i}=t;if(null==i&&(i=()=>!0),n){var s=[],a=Ji.path(e,n);for(var[u,c]of Ki.levels(e,a))if(i(u,c)&&(s.push([u,c]),!o&&Wi.isElement(u)&&Ji.isVoid(e,u)))break;r&&s.reverse(),yield*s}}()}(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]:{};Ji.withoutNormalizing(e,()=>{var{at:n=e.selection,mode:r="lowest",voids:o=!1}=t,{match:i}=t;if(null==i&&(i=Oi.isPath(n)?fs(e,n):t=>Wi.isElement(t)&&Ji.isBlock(e,t)),n){var s=Ji.nodes(e,{at:n,match:i,mode:r,voids:o}),a=Array.from(s,t=>{var[,n]=t;return Ji.pathRef(e,n)});for(var u of a){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=Ji.node(e,Oi.parent(c)),[d,f]=l,h=c[c.length-1],{length:p}=d.children;if(1===p){var m=Oi.next(f);Us.moveNodes(e,{at:c,to:m,voids:o}),Us.removeNodes(e,{at:f,voids:o})}else if(0===h)Us.moveNodes(e,{at:c,to:f,voids:o});else if(h===p-1){var g=Oi.next(f);Us.moveNodes(e,{at:c,to:g,voids:o})}else{var v=Oi.next(c),y=Oi.next(f);Us.splitNodes(e,{at:v,voids:o}),Us.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]:{};Ji.withoutNormalizing(e,()=>{var{match:n,at:r=e.selection}=t,{hanging:o=!1,voids:i=!1,mode:s="lowest"}=t;if(r){if(null==n)if(Oi.isPath(r)){var[a]=Ji.parent(e,r);n=e=>a.children.includes(e)}else n=t=>Wi.isElement(t)&&Ji.isBlock(e,t);if(!o&&Hi.isRange(r)&&(r=Ji.unhangRange(e,r,{voids:i})),Hi.isRange(r))if(Hi.isCollapsed(r))r=r.anchor;else{var[,u]=Hi.edges(r),c=Ji.pointRef(e,u);Us.delete(e,{at:r}),r=c.unref(),null==t.at&&Us.select(e,r)}var[l]=Ji.nodes(e,{at:r,match:n,voids:i,mode:s}),d=Ji.previous(e,{at:r,match:n,voids:i,mode:s});if(l&&d){var[f,h]=l,[p,m]=d;if(0!==h.length&&0!==m.length){var g,v,y=Oi.next(m),b=Oi.common(h,m),x=Oi.isSibling(h,m),w=Array.from(Ji.levels(e,{at:h}),e=>{var[t]=e;return t}).slice(b.length).slice(0,-1),C=Ji.above(e,{at:h,mode:"highest",match:t=>w.includes(t)&&ma(e,t)}),D=C&&Ji.pathRef(e,C[1]);if(ls.isText(f)&&ls.isText(p)){var E=Mi(f,ha);v=p.text.length,g=E}else{if(!Wi.isElement(f)||!Wi.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(os.stringify(f)," ").concat(os.stringify(p)));E=Mi(f,pa),v=p.children.length,g=E}x||Us.moveNodes(e,{at:h,to:y,voids:i}),D&&Us.removeNodes(e,{at:D.current,voids:i}),Ji.shouldMergeNodesRemovePrevNode(e,d,l)?Us.removeNodes(e,{at:m,voids:i}):e.apply({type:"merge_node",path:y,position:v,properties:g}),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:i=!1}=t,{edge:s=null}=t;if(n){"start"===s&&(s=Hi.isBackward(n)?"focus":"anchor"),"end"===s&&(s=Hi.isBackward(n)?"anchor":"focus");var{anchor:a,focus:u}=n,c={distance:r,unit:o,ignoreNonSelectable:!0},l={};if(null==s||"anchor"===s){var d=i?Ji.before(e,a,c):Ji.after(e,a,c);d&&(l.anchor=d)}if(null==s||"focus"===s){var f=i?Ji.before(e,u,c):Ji.after(e,u,c);f&&(l.focus=f)}Us.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)=>{Ji.withoutNormalizing(e,()=>{var{to:n,at:r=e.selection,mode:o="lowest",voids:i=!1}=t,{match:s}=t;if(r){null==s&&(s=Oi.isPath(r)?fs(e,r):t=>Wi.isElement(t)&&Ji.isBlock(e,t));var a=Ji.pathRef(e,n),u=Ji.nodes(e,{at:r,match:s,mode:o,voids:i}),c=Array.from(u,t=>{var[,n]=t;return Ji.pathRef(e,n)});for(var l of c){var d=l.unref(),f=a.current;0!==d.length&&e.apply({type:"move_node",path:d,newPath:f}),a.current&&Oi.isSibling(f,d)&&Oi.isAfter(f,d)&&(a.current=Oi.next(a.current))}a.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:i=e.selection}=t;if(i){var s=Ji.after(e,i,{voids:r});if(s){var[,a]=Ji.last(e,[]),u=[s.path,a];if(Oi.isPath(i)&&0===i.length)throw new Error("Cannot get the next node from the root node!");if(null==o)if(Oi.isPath(i)){var[c]=Ji.parent(e,i);o=e=>c.children.includes(e)}else o=()=>!0;var[l]=Ji.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=Ji.path(e,t,n),o=Ki.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:i=!1,voids:s=!1,ignoreNonSelectable:a=!1}=t,{match:u}=t;if(u||(u=()=>!0),n){var c,l;if(Qi.isSpan(n))c=n[0],l=n[1];else{var d=Ji.path(e,n,{edge:"start"}),f=Ji.path(e,n,{edge:"end"});c=i?f:d,l=i?d:f}var h,p=Ki.nodes(e,{reverse:i,from:c,to:l,pass:t=>{var[n]=t;return!(!Wi.isElement(n)||(s||!Ji.isVoid(e,n)&&!Ji.isElementReadOnly(e,n))&&(!a||Ji.isSelectable(e,n)))}}),m=[];for(var[g,v]of p)if(!a||!Wi.isElement(g)||Ji.isSelectable(e,g)){var y=h&&0===Oi.compare(v,h[1]);if("highest"!==r||!y)if(u(g,v))if("lowest"===r&&y)h=[g,v];else{var b="lowest"===r?h:[g,v];b&&(o?m.push(b):yield b),h=[g,v]}else if(o&&!y&&ls.isText(g))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 sa(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=Ji.path(e,t,n),o=Oi.parent(r);return Ji.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(Oi.isPath(t))if("start"===o){var[,i]=Ki.first(e,t);t=i}else if("end"===o){var[,s]=Ki.last(e,t);t=s}return Hi.isRange(t)&&(t="start"===o?Hi.start(t):"end"===o?Hi.end(t):Oi.common(t.anchor.path,t.focus.path)),ns.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 Ji.pathRefs(e).delete(o),o.current=null,t}};return Ji.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=Ai.get(e);return t||(t=new Set,Ai.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(Oi.isPath(t)){var o;if("end"===r){var[,i]=Ki.last(e,t);o=i}else{var[,s]=Ki.first(e,t);o=s}var a=Ki.get(e,o);if(!ls.isText(a))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?a.text.length:0}}if(Hi.isRange(t)){var[u,c]=Hi.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 Ji.pointRefs(e).delete(o),o.current=null,t}};return Ji.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=Ii.get(e);return t||(t=new Set,Ii.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 aa(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:i=e.selection}=t;if(i){var s=Ji.before(e,i,{voids:r});if(s){var[,a]=Ji.first(e,[]),u=[s.path,a];if(Oi.isPath(i)&&0===i.length)throw new Error("Cannot get the previous node from the root node!");if(null==o)if(Oi.isPath(i)){var[c]=Ji.parent(e,i);o=e=>c.children.includes(e)}else o=()=>!0;var[l]=Ji.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)=>Hi.isRange(t)&&!n?t:{anchor:Ji.start(e,t),focus:Ji.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 Ji.rangeRefs(e).delete(o),o.current=null,t}};return Ji.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=Si.get(e);return t||(t=new Set,Si.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]:{};Ji.withoutNormalizing(e,()=>{var{hanging:n=!1,voids:r=!1,mode:o="lowest"}=t,{at:i=e.selection,match:s}=t;if(i){null==s&&(s=Oi.isPath(i)?fs(e,i):t=>Wi.isElement(t)&&Ji.isBlock(e,t)),!n&&Hi.isRange(i)&&(i=Ji.unhangRange(e,i,{voids:r}));var a=Ji.nodes(e,{at:i,match:s,mode:o,voids:r}),u=Array.from(a,t=>{var[,n]=t;return Ji.pathRef(e,n)});for(var c of u){var l=c.unref();if(l){var[d]=Ji.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=Ji.range(e,t),n)Us.setSelection(e,t);else{if(!Hi.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(os.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]:{};Ji.withoutNormalizing(e,()=>{var{match:r,at:o=e.selection,compare:i,merge:s}=n,{hanging:a=!1,mode:u="lowest",split:c=!1,voids:l=!1}=n;if(o){if(null==r&&(r=Oi.isPath(o)?fs(e,o):t=>Wi.isElement(t)&&Ji.isBlock(e,t)),!a&&Hi.isRange(o)&&(o=Ji.unhangRange(e,o,{voids:l})),c&&Hi.isRange(o)){if(Hi.isCollapsed(o)&&Ji.leaf(e,o.anchor)[0].text.length>0)return;var d=Ji.rangeRef(e,o,{affinity:"inward"}),[f,h]=Hi.edges(o),p="lowest"===u?"lowest":"highest",m=Ji.isEnd(e,h,h.path);Us.splitNodes(e,{at:h,match:r,mode:p,voids:l,always:!m});var g=Ji.isStart(e,f,f.path);Us.splitNodes(e,{at:f,match:r,mode:p,voids:l,always:!g}),o=d.unref(),null==n.at&&Us.select(e,o)}for(var[v,y]of(i||(i=(e,t)=>e!==t),Ji.nodes(e,{at:o,match:r,mode:u,voids:l}))){var b={},x={};if(0!==y.length){var w=!1;for(var C in t)"children"!==C&&"text"!==C&&i(t[C],v[C])&&(w=!0,v.hasOwnProperty(C)&&(b[C]=v[C]),s?null!=t[C]&&(x[C]=s(v[C],t[C])):null!=t[C]&&(x[C]=t[C]));w&&e.apply({type:"set_node",path:y,properties:b,newProperties:x})}}}})}(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)=>{Ei.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=Hi.isBackward(r)?"focus":"anchor"),"end"===o&&(o=Hi.isBackward(r)?"anchor":"focus");var{anchor:i,focus:s}=r,a="anchor"===o?i:s;Us.setSelection(e,{["anchor"===o?"anchor":"focus"]:da(da({},a),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 i in t)("anchor"===i&&null!=t.anchor&&!ns.equals(t.anchor,n.anchor)||"focus"===i&&null!=t.focus&&!ns.equals(t.focus,n.focus)||"anchor"!==i&&"focus"!==i&&t[i]!==n[i])&&(r[i]=n[i],o[i]=t[i]);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 ga(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)=>Ji.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=Ji.range(e,t),[i,s]=Hi.edges(o),a="";for(var[u,c]of Ji.nodes(e,{at:o,match:ls.isText,voids:r})){var l=u.text;Oi.equals(c,s.path)&&(l=l.slice(0,s.offset)),Oi.equals(c,i.path)&&(l=l.slice(i.offset)),a+=l}return a}(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,i]=Hi.edges(t);if(0!==o.offset||0!==i.offset||Hi.isCollapsed(t)||Oi.hasPrevious(i.path))return t;var s=Ji.above(e,{at:i,match:t=>Wi.isElement(t)&&Ji.isBlock(e,t),voids:r}),a=s?s[1]:[],u={anchor:Ji.start(e,o),focus:i},c=!0;for(var[l,d]of Ji.nodes(e,{at:u,match:ls.isText,reverse:!0,voids:r}))if(c)c=!1;else if(""!==l.text||Oi.isBefore(d,a)){i={path:d,offset:l.text.length};break}return{anchor:o,focus:i}}(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;Us.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]:{};Ji.withoutNormalizing(e,()=>{var{mode:n="lowest",split:r=!1,voids:o=!1}=t,{at:i=e.selection,match:s}=t;if(i){null==s&&(s=Oi.isPath(i)?fs(e,i):t=>Wi.isElement(t)&&Ji.isBlock(e,t)),Oi.isPath(i)&&(i=Ji.range(e,i));var a=Hi.isRange(i)?Ji.rangeRef(e,i):null,u=Ji.nodes(e,{at:i,match:s,mode:n,voids:o}),c=Array.from(u,t=>{var[,n]=t;return Ji.pathRef(e,n)}).reverse(),l=function(){var t=d.unref(),[n]=Ji.node(e,t),i=Ji.range(e,t);r&&a&&(i=Hi.intersection(a.current,i)),Us.liftNodes(e,{at:i,match:e=>Wi.isAncestor(n)&&n.children.includes(e),voids:o})};for(var d of c)l();a&&a.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 Ji.above(e,ta(ta({},t),{},{match:t=>Wi.isElement(t)&&Ji.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=Ji.isNormalizing(e);Ji.setNormalizing(e,!1);try{t()}finally{Ji.setNormalizing(e,n)}Ji.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]:{};Ji.withoutNormalizing(e,()=>{var{mode:r="lowest",split:o=!1,voids:i=!1}=n,{match:s,at:a=e.selection}=n;if(a){if(null==s&&(s=Oi.isPath(a)?fs(e,a):e.isInline(t)?t=>Wi.isElement(t)&&Ji.isInline(e,t)||ls.isText(t):t=>Wi.isElement(t)&&Ji.isBlock(e,t)),o&&Hi.isRange(a)){var[u,c]=Hi.edges(a),l=Ji.rangeRef(e,a,{affinity:"inward"});Us.splitNodes(e,{at:c,match:s,voids:i}),Us.splitNodes(e,{at:u,match:s,voids:i}),a=l.unref(),null==n.at&&Us.select(e,a)}var d=Array.from(Ji.nodes(e,{at:a,match:e.isInline(t)?t=>Wi.isElement(t)&&Ji.isBlock(e,t):e=>Ji.isEditor(e),mode:"lowest",voids:i})),f=function(){var n=Hi.isRange(a)?Hi.intersection(a,Ji.range(e,h)):a;if(!n)return 0;var o=Array.from(Ji.nodes(e,{at:n,match:s,mode:r,voids:i}));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=Oi.equals(l,d)?Oi.parent(l):Oi.common(l,d),p=Ji.range(e,l,d),m=Ji.node(e,f),[g]=m,v=f.length+1,y=Oi.next(d.slice(0,v)),b=ya(ya({},t),{},{children:[]});Us.insertNodes(e,b,{at:y,voids:i}),Us.moveNodes(e,{at:p,match:e=>Wi.isAncestor(g)&&g.children.includes(e),to:y.concat(0),voids:i})}};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 Wi.isElement(n)&&Ji.isEmpty(e,n)||ls.isText(n)&&""===n.text&&0!==r[r.length-1]})(e,...n)}};return e};function xa(e,t,n={}){const{filterVoids:r}=n,o=Ji.before(e,t,{unit:"character",voids:r});if(o){const n=Ji.range(e,o,Hi.isRange(t)?Hi.start(t):t),r=Ji.string(e,n);return{range:n,text:r,void:0===r.length}}}function wa(e,t,n={}){const{filterVoids:r}=n,o=Ji.after(e,t,{unit:"character",voids:r});if(o){const n=Ji.range(e,o,Hi.isRange(t)?Hi.end(t):t),r=Ji.string(e,n);return{range:n,text:r,void:0===r.length}}}const Ca={direction:"before"};function Da(e,t,n=[" "],r=Ca){const{include:o,direction:i}={...Ca,...r};let[s,a]=Hi.edges(t),u=s;function c(t){const r="after"===t?Ji.after(e,u,{unit:"character"}):Ji.before(e,u,{unit:"character"}),o=r&&Ji.string(e,"after"===t?{anchor:u,focus:r}:{anchor:r,focus:u}),i=o&&o["after"===t?0:o.length-1];return!(!r||!i||n.includes(i))&&(u=r,0!==u.offset)}if("before"!==i){for(u=a;c("after"););a=u}if("after"!==i){for(u=s;c("before"););s=u}return o?{anchor:Ji.before(e,s,{unit:"offset"})??s,focus:Ji.after(e,a,{unit:"offset"})??a}:{anchor:s,focus:a}}function Ea(e){return!e.trim()}const Aa="@";function Ia(e){return Wi.isElement(e)&&"mention"===e.type}function Sa(e){return"type"in e&&"mention"===e.type}function Oa(e){return"type"in e&&"link"===e.type}function Ta(e){return e.startsWith("http://")||e.startsWith("https://")?e:e.startsWith("www.")?"https://"+e:void 0}const Ba=t.forwardRef(({children:e,asChild:t,...n},r)=>{const o=t?Yr:"span";return fn.exports.jsx(o,{...n,ref:r,children:e})}),ka=t.forwardRef(({children:e,asChild:t,...n},r)=>{const o=t?Yr:"a";return fn.exports.jsx(o,{target:"_blank",rel:"noopener noreferrer nofollow",...n,ref:r,children:e})}),_a={Mention:({userId:e})=>fn.exports.jsxs(Ba,{children:[Aa,e]}),Link:({href:e,children:t})=>fn.exports.jsx(ka,{href:e,children:t})},Fa=t.forwardRef(({body:e,components:n,style:r,asChild:o,...i},s)=>{const a=o?Yr:"div",{Mention:u,Link:c}=t.useMemo(()=>({..._a,...n}),[n]);return e&&e?.content?fn.exports.jsx(a,{...i,style:{whiteSpace:"break-spaces",...r},ref:s,children:e.content.map((e,t)=>"paragraph"===e.type?fn.exports.jsx("p",{style:{minHeight:"1lh"},children:e.children.map((e,t)=>{if(Sa(e))return e.id?fn.exports.jsx(u,{userId:e.id},t):null;if(Oa(e)){const n=Ta(e.url)??e.url;return fn.exports.jsx(c,{href:n,children:e.text??e.url},t)}let n=e.text;return e.bold&&(n=fn.exports.jsx("strong",{children:n},t)),e.italic&&(n=fn.exports.jsx("em",{children:n},t)),e.strikethrough&&(n=fn.exports.jsx("s",{children:n},t)),e.code&&(n=fn.exports.jsx("code",{children:n},t)),fn.exports.jsx("span",{children:n},t)})},t):null)}):null});var ja={isHistory:e=>Io(e)&&Array.isArray(e.redos)&&Array.isArray(e.undos)&&(0===e.redos.length||Zi.isOperationList(e.redos[0].operations))&&(0===e.undos.length||Zi.isOperationList(e.undos[0].operations))},Ra=new WeakMap,Na=new WeakMap,Pa=new WeakMap,Ma={isHistoryEditor:e=>ja.isHistory(e.history)&&Ji.isEditor(e),isMerging:e=>Na.get(e),isSplittingOnce:e=>Pa.get(e),setSplittingOnce(e,t){Pa.set(e,t)},isSaving:e=>Ra.get(e),redo(e){e.redo()},undo(e){e.undo()},withMerging(e,t){var n=Ma.isMerging(e);Na.set(e,!0),t(),Na.set(e,n)},withNewBatch(e,t){var n=Ma.isMerging(e);Na.set(e,!0),Pa.set(e,!0),t(),Na.set(e,n),Pa.delete(e)},withoutMerging(e,t){var n=Ma.isMerging(e);Na.set(e,!1),t(),Na.set(e,n)},withoutSaving(e,t){var n=Ma.isSaving(e);Ra.set(e,!1),t(),Ra.set(e,n)}},La=(e,t)=>!(!t||"insert_text"!==e.type||"insert_text"!==t.type||e.offset!==t.offset+t.text.length||!Oi.equals(e.path,t.path))||!(!t||"remove_text"!==e.type||"remove_text"!==t.type||e.offset+e.text.length!==t.offset||!Oi.equals(e.path,t.path)),za=(e,t)=>"set_selection"!==e.type,Ha=function(e){if(e=String(e||""),Va.test(e))return"rtl";if($a.test(e))return"ltr";return"neutral"},Ua="֑-߿יִ-﷽ﹰ-ﻼ",Wa="A-Za-zÀ-ÖØ-öø-ʸ̀-ࠀ-Ⰰ-︀--",Va=new RegExp("^[^"+Wa+"]*["+Ua+"]"),$a=new RegExp("^[^"+Ua+"]*["+Wa+"]");var qa=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},Ka="object"==typeof dn&&dn&&dn.Object===Object&&dn,Ga="object"==typeof self&&self&&self.Object===Object&&self,Xa=Ka||Ga||Function("return this")(),Za=Xa,Ya=function(){return Za.Date.now()},Ja=/\s/;var Qa=function(e){for(var t=e.length;t--&&Ja.test(e.charAt(t)););return t},eu=Qa,tu=/^\s+/;var nu=function(e){return e?e.slice(0,eu(e)+1).replace(tu,""):e},ru=Xa.Symbol,ou=ru,iu=Object.prototype,su=iu.hasOwnProperty,au=iu.toString,uu=ou?ou.toStringTag:void 0;var cu=function(e){var t=su.call(e,uu),n=e[uu];try{e[uu]=void 0;var r=!0}catch(e){}var o=au.call(e);return r&&(t?e[uu]=n:delete e[uu]),o},lu=Object.prototype.toString;var du=cu,fu=function(e){return lu.call(e)},hu=ru?ru.toStringTag:void 0;var pu=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":hu&&hu in Object(e)?du(e):fu(e)},mu=function(e){return null!=e&&"object"==typeof e};var gu=nu,vu=qa,yu=function(e){return"symbol"==typeof e||mu(e)&&"[object Symbol]"==pu(e)},bu=/^[-+]0x[0-9a-f]+$/i,xu=/^0b[01]+$/i,wu=/^0o[0-7]+$/i,Cu=parseInt;var Du=qa,Eu=Ya,Au=function(e){if("number"==typeof e)return e;if(yu(e))return NaN;if(vu(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=vu(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=gu(e);var n=xu.test(e);return n||wu.test(e)?Cu(e.slice(2),n?2:8):bu.test(e)?NaN:+e},Iu=Math.max,Su=Math.min;var Ou=function(e,t,n){var r,o,i,s,a,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,i=o;return r=o=void 0,c=t,s=e.apply(i,n)}function p(e){var n=e-u;return void 0===u||n>=t||n<0||d&&e-c>=i}function m(){var e=Eu();if(p(e))return g(e);a=setTimeout(m,function(e){var n=t-(e-u);return d?Su(n,i-(e-c)):n}(e))}function g(e){return a=void 0,f&&r?h(e):(r=o=void 0,s)}function v(){var e=Eu(),n=p(e);if(r=arguments,o=this,u=e,n){if(void 0===a)return function(e){return c=e,a=setTimeout(m,t),l?h(e):s}(u);if(d)return clearTimeout(a),a=setTimeout(m,t),h(u)}return void 0===a&&(a=setTimeout(m,t)),s}return t=Au(t)||0,Du(n)&&(l=!!n.leading,i=(d="maxWait"in n)?Iu(Au(n.maxWait)||0,t):i,f="trailing"in n?!!n.trailing:f),v.cancel=function(){void 0!==a&&clearTimeout(a),c=0,r=u=o=a=void 0},v.flush=function(){return void 0===a?s:g(Eu())},v},Tu=Ou,Bu=qa;var ku=function(e,t,n){var r=!0,o=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return Bu(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),Tu(e,t,{leading:r,maxWait:t,trailing:o})};const _u=e=>"object"==typeof e&&null!=e&&1===e.nodeType,Fu=(e,t)=>(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e,ju=(e,t)=>{if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){const n=getComputedStyle(e,null);return Fu(n.overflowY,t)||Fu(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},Ru=(e,t,n,r,o,i,s,a)=>i<e&&s>t||i>e&&s<t?0:i<=e&&a<=n||s>=t&&a>=n?i-e-r:s>t&&a<n||i<e&&a>n?s-t+o:0,Nu=e=>{const t=e.parentElement;return null==t?e.getRootNode().host||null:t},Pu=(e,t)=>{var n,r,o,i;if("undefined"==typeof document)return[];const{scrollMode:s,block:a,inline:u,boundary:c,skipOverflowHiddenElements:l}=t,d="function"==typeof c?c:e=>e!==c;if(!_u(e))throw new TypeError("Invalid target");const f=document.scrollingElement||document.documentElement,h=[];let p=e;for(;_u(p)&&d(p);){if(p=Nu(p),p===f){h.push(p);break}null!=p&&p===document.body&&ju(p)&&!ju(document.documentElement)||null!=p&&ju(p,l)&&h.push(p)}const m=null!=(r=null==(n=window.visualViewport)?void 0:n.width)?r:innerWidth,g=null!=(i=null==(o=window.visualViewport)?void 0:o.height)?i:innerHeight,{scrollX:v,scrollY:y}=window,{height:b,width:x,top:w,right:C,bottom:D,left:E}=e.getBoundingClientRect(),{top:A,right:I,bottom:S,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 T="start"===a||"nearest"===a?w-A:"end"===a?D+S:w+b/2-A+S,B="center"===u?E+x/2-O+I:"end"===u?C+I:E-O;const k=[];for(let e=0;e<h.length;e++){const t=h[e],{height:n,width:r,top:o,right:i,bottom:c,left:l}=t.getBoundingClientRect();if("if-needed"===s&&w>=0&&E>=0&&D<=g&&C<=m&&(t===f&&!ju(t)||w>=o&&D<=c&&E>=l&&C<=i))return k;const d=getComputedStyle(t),p=parseInt(d.borderLeftWidth,10),A=parseInt(d.borderTopWidth,10),I=parseInt(d.borderRightWidth,10),S=parseInt(d.borderBottomWidth,10);let O=0,_=0;const F="offsetWidth"in t?t.offsetWidth-t.clientWidth-p-I:0,j="offsetHeight"in t?t.offsetHeight-t.clientHeight-A-S:0,R="offsetWidth"in t?0===t.offsetWidth?0:r/t.offsetWidth:0,N="offsetHeight"in t?0===t.offsetHeight?0:n/t.offsetHeight:0;if(f===t)O="start"===a?T:"end"===a?T-g:"nearest"===a?Ru(y,y+g,g,A,S,y+T,y+T+b,b):T-g/2,_="start"===u?B:"center"===u?B-m/2:"end"===u?B-m:Ru(v,v+m,m,p,I,v+B,v+B+x,x),O=Math.max(0,O+y),_=Math.max(0,_+v);else{O="start"===a?T-o-A:"end"===a?T-c+S+j:"nearest"===a?Ru(o,c,n,A,S+j,T,T+b,b):T-(o+n/2)+j/2,_="start"===u?B-l-p:"center"===u?B-(l+r/2)+F/2:"end"===u?B-i+I+F:Ru(l,i,r,p,I+F,B,B+x,x);const{scrollLeft:e,scrollTop:s}=t;O=0===N?0:Math.max(0,Math.min(s+O/N,t.scrollHeight-n/N+j)),_=0===R?0:Math.max(0,Math.min(e+_/R,t.scrollWidth-r/R+F)),T+=s-O,B+=e-_}k.push({el:t,top:O,left:_})}return k};function Mu(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(Pu(e,t));const r="boolean"==typeof t||null==t?void 0:t.behavior;for(const{el:o,top:i,left:s}of Pu(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=i-n.top+n.bottom,t=s-n.left+n.right;o.scroll({top:e,left:t,behavior:r})}}var Lu,zu=[],Hu=function(){return zu.some(function(e){return e.activeTargets.length>0})},Uu="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"}(Lu||(Lu={}));var Wu,Vu=function(e){return Object.freeze(e)},$u=function(e,t){this.inlineSize=e,this.blockSize=t,Vu(this)},qu=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,Vu(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}(),Ku=function(e){return e instanceof SVGElement&&"getBBox"in e},Gu=function(e){if(Ku(e)){var t=e.getBBox(),n=t.width,r=t.height;return!n&&!r}var o=e,i=o.offsetWidth,s=o.offsetHeight;return!(i||s||e.getClientRects().length)},Xu=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)},Zu="undefined"!=typeof window?window:{},Yu=new WeakMap,Ju=/auto|scroll/,Qu=/^tb|vertical/,ec=/msie|trident/i.test(Zu.navigator&&Zu.navigator.userAgent),tc=function(e){return parseFloat(e||"0")},nc=function(e,t,n){return void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=!1),new $u((n?t:e)||0,(n?e:t)||0)},rc=Vu({devicePixelContentBoxSize:nc(),borderBoxSize:nc(),contentBoxSize:nc(),contentRect:new qu(0,0,0,0)}),oc=function(e,t){if(void 0===t&&(t=!1),Yu.has(e)&&!t)return Yu.get(e);if(Gu(e))return Yu.set(e,rc),rc;var n=getComputedStyle(e),r=Ku(e)&&e.ownerSVGElement&&e.getBBox(),o=!ec&&"border-box"===n.boxSizing,i=Qu.test(n.writingMode||""),s=!r&&Ju.test(n.overflowY||""),a=!r&&Ju.test(n.overflowX||""),u=r?0:tc(n.paddingTop),c=r?0:tc(n.paddingRight),l=r?0:tc(n.paddingBottom),d=r?0:tc(n.paddingLeft),f=r?0:tc(n.borderTopWidth),h=r?0:tc(n.borderRightWidth),p=r?0:tc(n.borderBottomWidth),m=d+c,g=u+l,v=(r?0:tc(n.borderLeftWidth))+h,y=f+p,b=a?e.offsetHeight-y-e.clientHeight:0,x=s?e.offsetWidth-v-e.clientWidth:0,w=o?m+v:0,C=o?g+y:0,D=r?r.width:tc(n.width)-w-x,E=r?r.height:tc(n.height)-C-b,A=D+m+x+v,I=E+g+b+y,S=Vu({devicePixelContentBoxSize:nc(Math.round(D*devicePixelRatio),Math.round(E*devicePixelRatio),i),borderBoxSize:nc(A,I,i),contentBoxSize:nc(D,E,i),contentRect:new qu(d,u,D,E)});return Yu.set(e,S),S},ic=function(e,t,n){var r=oc(e,n),o=r.borderBoxSize,i=r.contentBoxSize,s=r.devicePixelContentBoxSize;switch(t){case Lu.DEVICE_PIXEL_CONTENT_BOX:return s;case Lu.BORDER_BOX:return o;default:return i}},sc=function(e){var t=oc(e);this.target=e,this.contentRect=t.contentRect,this.borderBoxSize=Vu([t.borderBoxSize]),this.contentBoxSize=Vu([t.contentBoxSize]),this.devicePixelContentBoxSize=Vu([t.devicePixelContentBoxSize])},ac=function(e){if(Gu(e))return 1/0;for(var t=0,n=e.parentNode;n;)t+=1,n=n.parentNode;return t},uc=function(){var e=1/0,t=[];zu.forEach(function(n){if(0!==n.activeTargets.length){var r=[];n.activeTargets.forEach(function(t){var n=new sc(t.target),o=ac(t.target);r.push(n),t.lastReportedSize=ic(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},cc=function(e){zu.forEach(function(t){t.activeTargets.splice(0,t.activeTargets.length),t.skippedTargets.splice(0,t.skippedTargets.length),t.observationTargets.forEach(function(n){n.isActive()&&(ac(n.target)>e?t.activeTargets.push(n):t.skippedTargets.push(n))})})},lc=function(){var e,t=0;for(cc(t);Hu();)t=uc(),cc(t);return zu.some(function(e){return e.skippedTargets.length>0})&&("function"==typeof ErrorEvent?e=new ErrorEvent("error",{message:Uu}):((e=document.createEvent("Event")).initEvent("error",!1,!1),e.message=Uu),window.dispatchEvent(e)),t>0},dc=[],fc=function(e){if(!Wu){var t=0,n=document.createTextNode("");new MutationObserver(function(){return dc.splice(0).forEach(function(e){return e()})}).observe(n,{characterData:!0}),Wu=function(){n.textContent="".concat(t?t--:t++)}}dc.push(e),Wu()},hc=0,pc={attributes:!0,characterData:!0,childList:!0,subtree:!0},mc=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],gc=function(e){return void 0===e&&(e=0),Date.now()+e},vc=!1,yc=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),!vc){vc=!0;var n,r=gc(e);n=function(){var n=!1;try{n=lc()}finally{if(vc=!1,e=r-gc(),!hc)return;n?t.run(1e3):e>0?t.run(e):t.start()}},fc(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,pc)};document.body?t():Zu.addEventListener("DOMContentLoaded",t)},e.prototype.start=function(){var e=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),mc.forEach(function(t){return Zu.addEventListener(t,e.listener,!0)}))},e.prototype.stop=function(){var e=this;this.stopped||(this.observer&&this.observer.disconnect(),mc.forEach(function(t){return Zu.removeEventListener(t,e.listener,!0)}),this.stopped=!0)},e}()),bc=function(e){!hc&&e>0&&yc.start(),!(hc+=e)&&yc.stop()},xc=function(){function e(e,t){this.target=e,this.observedBox=t||Lu.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return e.prototype.isActive=function(){var e,t=ic(this.target,this.observedBox,!0);return e=this.target,Ku(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}(),wc=function(e,t){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=e,this.callback=t},Cc=new WeakMap,Dc=function(e,t){for(var n=0;n<e.length;n+=1)if(e[n].target===t)return n;return-1},Ec=function(){function e(){}return e.connect=function(e,t){var n=new wc(e,t);Cc.set(e,n)},e.observe=function(e,t,n){var r=Cc.get(e),o=0===r.observationTargets.length;Dc(r.observationTargets,t)<0&&(o&&zu.push(r),r.observationTargets.push(new xc(t,n&&n.box)),bc(1),yc.schedule())},e.unobserve=function(e,t){var n=Cc.get(e),r=Dc(n.observationTargets,t),o=1===n.observationTargets.length;r>=0&&(o&&zu.splice(zu.indexOf(n),1),n.observationTargets.splice(r,1),bc(-1))},e.disconnect=function(e){var t=this,n=Cc.get(e);n.observationTargets.slice().forEach(function(n){return t.unobserve(e,n.target)}),n.activeTargets.splice(0,n.activeTargets.length)},e}(),Ac=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.");Ec.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(!Xu(e))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");Ec.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(!Xu(e))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");Ec.unobserve(this,e)},e.prototype.disconnect=function(){Ec.disconnect(this)},e.toString=function(){return"function ResizeObserver () { [polyfill code] }"},e}(),Ic={};Object.defineProperty(Ic,"__esModule",{value:!0});for(var Sc="undefined"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform),Oc={alt:"altKey",control:"ctrlKey",meta:"metaKey",shift:"shiftKey"},Tc={add:"+",break:"pause",cmd:"meta",command:"meta",ctl:"control",ctrl:"control",del:"delete",down:"arrowdown",esc:"escape",ins:"insert",left:"arrowleft",mod:Sc?"meta":"control",opt:"alt",option:"alt",return:"enter",right:"arrowright",space:" ",spacebar:" ",up:"arrowup",win:"meta",windows:"meta"},Bc={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},kc=1;kc<20;kc++)Bc["f"+kc]=111+kc;function _c(e,t,n){t&&!("byKey"in t)&&(n=t,t=null),Array.isArray(e)||(e=[e]);var r=e.map(function(e){return Fc(e,t)}),o=function(e){return r.some(function(t){return jc(t,e)})};return null==n?o:o(n)}function Fc(e,t){var n=t&&t.byKey,r={},o=(e=e.replace("++","+add")).split("+"),i=o.length;for(var s in Oc)r[Oc[s]]=!1;var a=!0,u=!1,c=void 0;try{for(var l,d=o[Symbol.iterator]();!(a=(l=d.next()).done);a=!0){var f=l.value,h=f.endsWith("?")&&f.length>1;h&&(f=f.slice(0,-1));var p=Nc(f),m=Oc[p];if(f.length>1&&!m&&!Tc[f]&&!Bc[p])throw new TypeError('Unknown modifier: "'+f+'"');1!==i&&m||(n?r.key=p:r.which=Rc(f)),m&&(r[m]=!h||null)}}catch(e){u=!0,c=e}finally{try{!a&&d.return&&d.return()}finally{if(u)throw c}}return r}function jc(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 Rc(e){return e=Nc(e),Bc[e]||e.toUpperCase().charCodeAt(0)}function Nc(e){return e=e.toLowerCase(),e=Tc[e]||e}Ic.default=_c;var Pc=Ic.isHotkey=_c;function Mc(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Lc(e){return Lc="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},Lc(e)}function zc(e){var t=function(e,t){if("object"!==Lc(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Lc(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Lc(t)?t:String(t)}function Hc(e,t,n){return(t=zc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Ic.isCodeHotkey=function(e,t){return _c(e,t)},Ic.isKeyHotkey=function(e,t){return _c(e,{byKey:!0},t)},Ic.parseHotkey=Fc,Ic.compareHotkey=jc,Ic.toKeyCode=Rc,Ic.toKeyName=Nc;var Uc,Wc,Vc=t.createContext(null),$c=()=>{var e=t.useContext(Vc);if(!e)throw new Error("The `useSlateStatic` hook must be used inside the <Slate> component's context.");return e},qc=parseInt(a.default.version.split(".")[0],10),Kc="undefined"!=typeof navigator&&/Android/.test(navigator.userAgent),Gc="undefined"!=typeof navigator&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),Xc="undefined"!=typeof navigator&&/AppleWebKit(?!.*Chrome)/i.test(navigator.userAgent),Zc="undefined"!=typeof navigator&&/Edge?\/(?:[0-6][0-9]|[0-7][0-8])(?:\.)/i.test(navigator.userAgent),Yc="undefined"!=typeof navigator&&/Chrome/i.test(navigator.userAgent),Jc="undefined"!=typeof navigator&&/Chrome?\/(?:[0-7][0-5]|[0-6][0-9])(?:\.)/i.test(navigator.userAgent),Qc=Kc&&"undefined"!=typeof navigator&&/Chrome?\/(?:[0-5]?\d)(?:\.)/i.test(navigator.userAgent),el="undefined"!=typeof navigator&&/^(?!.*Seamonkey)(?=.*Firefox\/(?:[0-7][0-9]|[0-8][0-6])(?:\.)).*/i.test(navigator.userAgent),tl="undefined"!=typeof navigator&&/.*UCBrowser/.test(navigator.userAgent),nl="undefined"!=typeof navigator&&/.*Wechat/.test(navigator.userAgent)&&!/.*MacWechat/.test(navigator.userAgent),rl=!("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!==(Uc=navigator.userAgent.match(/Version\/(\d+)/))&&void 0!==Uc&&Uc[1]&&parseInt(null===(Wc=navigator.userAgent.match(/Version\/(\d+)/))||void 0===Wc?void 0:Wc[1],10);var ol=(!Jc||!Qc)&&!Zc&&"undefined"!=typeof globalThis&&globalThis.InputEvent&&"function"==typeof globalThis.InputEvent.prototype.getTargetRanges,il=new WeakMap,sl=new WeakMap,al=new WeakMap,ul=new WeakMap,cl=new WeakMap,ll=new WeakMap,dl=new WeakMap,fl=new WeakMap,hl=new WeakMap,pl=new WeakMap,ml=new WeakMap,gl=new WeakMap,vl=new WeakMap,yl=new WeakMap,bl=new WeakMap,xl=new WeakMap,wl=new WeakMap,Cl=new WeakMap,Dl=new WeakMap,El=new WeakMap,Al=new WeakMap,Il=new WeakMap,Sl=Symbol("placeholder"),Ol=Symbol("mark-placeholder"),Tl=globalThis.Node,Bl=globalThis.Text,kl=e=>e&&e.ownerDocument&&e.ownerDocument.defaultView||null,_l=e=>jl(e)&&8===e.nodeType,Fl=e=>jl(e)&&1===e.nodeType,jl=e=>{var t=kl(e);return!!t&&e instanceof t.Node},Rl=e=>{var t=e&&e.anchorNode&&kl(e.anchorNode);return!!t&&e instanceof t.Selection},Nl=e=>jl(e)&&3===e.nodeType,Pl=(e,t,n)=>{for(var{childNodes:r}=e,o=r[t],i=t,s=!1,a=!1;(_l(o)||Fl(o)&&0===o.childNodes.length||Fl(o)&&"false"===o.getAttribute("contenteditable"))&&(!s||!a);)i>=r.length?(s=!0,i=t-1,n="backward"):i<0?(a=!0,i=t+1,n="forward"):(o=r[i],t=i,i+="forward"===n?1:-1);return[o,t]},Ml=(e,t,n)=>{var[r]=Pl(e,t,n);return r},Ll=e=>{var t="";if(Nl(e)&&e.nodeValue)return e.nodeValue;if(Fl(e)){for(var n of Array.from(e.childNodes))t+=Ll(n);var r=getComputedStyle(e).getPropertyValue("display");"block"!==r&&"list"!==r&&"BR"!==e.tagName||(t+="\n")}return t},zl=/data-slate-fragment="(.+?)"/m,Hl=e=>null!=e.getSelection?e.getSelection():document.getSelection(),Ul=(e,t,n)=>{var{target:r}=t;if(Fl(r)&&r.matches('[contentEditable="false"]'))return!1;var{document:o}=ql.getWindow(e);if(o.contains(r))return ql.hasDOMNode(e,r,{editable:!0});var i=n.find(e=>{var{addedNodes:t,removedNodes:n}=e;for(var o of t)if(o===r||o.contains(r))return!0;for(var i of n)if(i===r||i.contains(r))return!0});return!(!i||i===t)&&Ul(e,i,n)},Wl=(e,t)=>Boolean(e.compareDocumentPosition(t)&Tl.DOCUMENT_POSITION_PRECEDING),Vl=0;class $l{constructor(){Hc(this,"id",void 0),this.id="".concat(Vl++)}}var ql={androidPendingDiffs:e=>Dl.get(e),androidScheduleFlush:e=>{var t;null===(t=xl.get(e))||void 0===t||t()},blur:e=>{var t=ql.toDOMNode(e,e),n=ql.findDocumentOrShadowRoot(e);gl.set(e,!1),n.activeElement===t&&t.blur()},deselect:e=>{var{selection:t}=e,n=ql.findDocumentOrShadowRoot(e),r=Hl(n);r&&r.rangeCount>0&&r.removeAllRanges(),t&&Us.deselect(e)},findDocumentOrShadowRoot:e=>{var t=ql.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 i,s=ql.toSlateNode(e,t.target),a=ql.findPath(e,s);if(Wi.isElement(s)&&Ji.isVoid(e,s)){var u=o.getBoundingClientRect(),c=e.isInline(s)?n-u.left<u.left+u.width-n:r-u.top<u.top+u.height-r,l=Ji.point(e,a,{edge:c?"start":"end"}),d=c?Ji.before(e,l):Ji.after(e,l);if(d)return Ji.range(e,d)}var{document:f}=ql.getWindow(e);if(f.caretRangeFromPoint)i=f.caretRangeFromPoint(n,r);else{var h=f.caretPositionFromPoint(n,r);h&&((i=f.createRange()).setStart(h.offsetNode,h.offset),i.setEnd(h.offsetNode,h.offset))}if(!i)throw new Error("Cannot resolve a Slate range from a DOM event: ".concat(t));return ql.toSlateRange(e,i,{exactMatch:!1,suppressThrow:!1})},findKey:(e,t)=>{var n=hl.get(t);return n||(n=new $l,hl.set(t,n)),n},findPath:(e,t)=>{for(var n=[],r=t;;){var o=al.get(r);if(null==o){if(Ji.isEditor(r))return n;break}var i=sl.get(r);if(null==i)break;n.unshift(i),r=o}throw new Error("Unable to find the path for Slate node: ".concat(os.stringify(t)))},focus:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{retries:5};if(!gl.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(()=>{ql.focus(e,{retries:t.retries-1})},10);else{var n=ql.toDOMNode(e,e),r=ql.findDocumentOrShadowRoot(e);if(r.activeElement!==n){if(e.selection&&r instanceof Document){var o=Hl(r),i=ql.toDOMRange(e,e.selection);null==o||o.removeAllRanges(),null==o||o.addRange(i)}e.selection||Us.select(e,Ji.start(e,[])),gl.set(e,!0),n.focus({preventScroll:!0})}}}},getWindow:e=>{var t=ul.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,i=ql.toDOMNode(e,e);try{n=Fl(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]")!==i||o&&!n.isContentEditable&&("boolean"!=typeof n.isContentEditable||n.closest('[contenteditable="false"]')!==i)&&!n.getAttribute("data-slate-zero-width"))},hasEditableTarget:(e,t)=>jl(t)&&ql.hasDOMNode(e,t,{editable:!0}),hasRange:(e,t)=>{var{anchor:n,focus:r}=t;return Ji.hasPath(e,n.path)&&Ji.hasPath(e,r.path)},hasSelectableTarget:(e,t)=>ql.hasEditableTarget(e,t)||ql.isTargetInsideNonReadonlyVoid(e,t),hasTarget:(e,t)=>jl(t)&&ql.hasDOMNode(e,t),insertData:(e,t)=>{e.insertData(t)},insertFragmentData:(e,t)=>e.insertFragmentData(t),insertTextData:(e,t)=>e.insertTextData(t),isComposing:e=>!!vl.get(e),isFocused:e=>!!gl.get(e),isReadOnly:e=>!!ml.get(e),isTargetInsideNonReadonlyVoid:(e,t)=>{if(ml.get(e))return!1;var n=ql.hasTarget(e,t)&&ql.toSlateNode(e,t);return Wi.isElement(n)&&Ji.isVoid(e,n)},setFragmentData:(e,t,n)=>e.setFragmentData(t,n),toDOMNode:(e,t)=>{var n=pl.get(e),r=Ji.isEditor(t)?cl.get(e):null==n?void 0:n.get(ql.findKey(e,t));if(!r)throw new Error("Cannot resolve a DOM node from Slate node: ".concat(os.stringify(t)));return r},toDOMPoint:(e,t)=>{var n,[r]=Ji.node(e,t.path),o=ql.toDOMNode(e,r);Ji.void(e,{at:t})&&(t={path:t.path,offset:0});for(var i=Array.from(o.querySelectorAll("[data-slate-string], [data-slate-zero-width]")),s=0,a=0;a<i.length;a++){var u=i[a],c=u.childNodes[0];if(null!=c&&null!=c.textContent){var{length:l}=c.textContent,d=u.getAttribute("data-slate-length"),f=s+(null==d?l:parseInt(d,10)),h=i[a+1];if(t.offset===f&&null!=h&&h.hasAttribute("data-slate-mark-placeholder")){var p,m=h.childNodes[0];n=[m instanceof Bl?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-s))];break}s=f}}if(!n)throw new Error("Cannot resolve a DOM point from Slate point: ".concat(os.stringify(t)));return n},toDOMRange:(e,t)=>{var{anchor:n,focus:r}=t,o=Hi.isBackward(t),i=ql.toDOMPoint(e,n),s=Hi.isCollapsed(t)?i:ql.toDOMPoint(e,r),a=ql.getWindow(e).document.createRange(),[u,c]=o?s:i,[l,d]=o?i:s,f=!!(Fl(u)?u:u.parentElement).getAttribute("data-slate-zero-width"),h=!!(Fl(l)?l:l.parentElement).getAttribute("data-slate-zero-width");return a.setStart(u,f?1:c),a.setEnd(l,h?1:d),a},toSlateNode:(e,t)=>{var n=Fl(t)?t:t.parentElement;n&&!n.hasAttribute("data-slate-node")&&(n=n.closest("[data-slate-node]"));var r=n?dl.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:i="backward"}=n,[s,a]=r?t:(e=>{var[t,n]=e;if(Fl(t)&&t.childNodes.length){var r=n===t.childNodes.length,o=r?n-1:n;for([t,o]=Pl(t,o,r?"backward":"forward"),r=o<n;Fl(t)&&t.childNodes.length;){var i=r?t.childNodes.length-1:0;t=Ml(t,i,r?"backward":"forward")}n=r&&null!=t.textContent?t.textContent.length:0}return[t,n]})(t),u=s.parentNode,c=null,l=0;if(u){var d,f,h=ql.toDOMNode(e,e),p=u.closest('[data-slate-void="true"]'),m=p&&h.contains(p)?p:null,g=u.closest('[contenteditable="false"]'),v=g&&h.contains(g)?g:null,y=u.closest("[data-slate-leaf]"),b=null;if(y){if(c=y.closest('[data-slate-node="text"]')){var x=ql.getWindow(e).document.createRange();x.setStart(c,0),x.setEnd(s,a);var w=x.cloneContents();[...Array.prototype.slice.call(w.querySelectorAll("[data-slate-zero-width]")),...Array.prototype.slice.call(w.querySelectorAll("[contenteditable=false]"))].forEach(e=>{Kc&&!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 E=C[D];if(ql.hasDOMNode(e,E)){y=E;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(v){var A,I,S=e=>e?e.querySelectorAll("[data-slate-leaf]:not(:scope [data-slate-editor] [data-slate-leaf])"):[],O=v.closest('[data-slate-node="element"]');if("forward"===i)y=null!==(A=[...S(O),...S(null==O?void 0:O.nextElementSibling)].find(e=>((e,t)=>Boolean(e.compareDocumentPosition(t)&Tl.DOCUMENT_POSITION_FOLLOWING))(v,e)))&&void 0!==A?A:null;else y=null!==(I=[...S(null==O?void 0:O.previousElementSibling),...S(O)].findLast(e=>Wl(v,e)))&&void 0!==I?I:null;y&&(c=y.closest('[data-slate-node="text"]'),b=y,"forward"===i?l=0:(l=b.textContent.length,b.querySelectorAll("[data-slate-zero-width]").forEach(e=>{l-=e.textContent.length})))}b&&l===b.textContent.length&&Kc&&"z"===b.getAttribute("data-slate-zero-width")&&null!==(d=b.textContent)&&void 0!==d&&d.startsWith("\ufeff")&&(u.hasAttribute("data-slate-zero-width")||Gc&&null!==(f=b.textContent)&&void 0!==f&&f.endsWith("\n\n"))&&l--}if(Kc&&!c&&!r){var T=u.hasAttribute("data-slate-node")?u:u.closest("[data-slate-node]");if(T&&ql.hasDOMNode(e,T,{editable:!0})){var B=ql.toSlateNode(e,T),{path:k,offset:_}=Ji.start(e,ql.findPath(e,B));return T.querySelector("[data-slate-leaf]")||(_=a),{path:k,offset:_}}}if(!c){if(o)return null;throw new Error("Cannot resolve a Slate point from DOM point: ".concat(t))}var F=ql.toSlateNode(e,c);return{path:ql.findPath(e,F),offset:l}},toSlateRange:(e,t,n)=>{var r,o,i,s,a,u,{exactMatch:c,suppressThrow:l}=n;if(Rl(t)?t.anchorNode:t.startContainer)if(Rl(t)){if(Gc&&t.rangeCount>1){s=t.focusNode;var d=t.getRangeAt(0),f=t.getRangeAt(t.rangeCount-1);if(s 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,g=h(p.children[d.startOffset]),v=h(m.children[f.startOffset]);a=0,o=v.childNodes.length>0?v.childNodes[0]:v,s=g.childNodes.length>0?g.childNodes[0]:g,i=v instanceof HTMLElement?v.innerHTML.length:0}else d.startContainer===s?(o=f.endContainer,i=f.endOffset,a=d.startOffset):(o=d.startContainer,i=d.endOffset,a=f.startOffset)}else o=t.anchorNode,i=t.anchorOffset,s=t.focusNode,a=t.focusOffset;u=Yc&&(e=>{for(var t=e&&e.parentNode;t;){if("[object ShadowRoot]"===t.toString())return!0;t=t.parentNode}return!1})(o)||Gc?t.anchorNode===t.focusNode&&t.anchorOffset===t.focusOffset:t.isCollapsed}else o=t.startContainer,i=t.startOffset,s=t.endContainer,a=t.endOffset,u=t.collapsed;if(null==o||null==s||null==i||null==a)throw new Error("Cannot resolve a Slate range from DOM range: ".concat(t));Gc&&null!==(r=s.textContent)&&void 0!==r&&r.endsWith("\n\n")&&a===s.textContent.length&&a--;var y=ql.toSlatePoint(e,[o,i],{exactMatch:c,suppressThrow:l});if(!y)return null;var b=Wl(o,s)||o===s&&a<i,x=u?y:ql.toSlatePoint(e,[s,a],{exactMatch:c,suppressThrow:l,searchDirection:b?"forward":"backward"});if(!x)return null;var w={anchor:y,focus:x};return Hi.isExpanded(w)&&Hi.isForward(w)&&Fl(s)&&Ji.void(e,{at:w.focus,mode:"highest"})&&(w=Ji.unhangRange(e,w,{voids:!0})),w}};function Kl(e,t){var{path:n,diff:r}=t;if(!Ji.hasPath(e,n))return!1;var o=Ki.get(e,n);if(!ls.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 i=Oi.next(n);if(!Ji.hasPath(e,i))return!1;var s=Ki.get(e,i);return ls.isText(s)&&s.text.startsWith(r.text)}function Gl(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 Xl(e,t){var{start:n,end:r,text:o}=t,i=e.slice(n,r),s=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}(i,o),a=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}(i,o,Math.min(i.length-s,o.length-s)),u={start:n+s,end:r-a,text:o.slice(s,o.length-a)};return u.start===u.end&&0===u.text.length?null:u}function Zl(e){var{path:t,diff:n}=e;return{anchor:{path:t,offset:n.start},focus:{path:t,offset:n.end}}}function Yl(e,t){var{path:n,offset:r}=t;if(!Ji.hasPath(e,n))return null;var o=Ki.get(e,n);if(!ls.isText(o))return null;var i=Ji.above(e,{match:t=>Wi.isElement(t)&&Ji.isBlock(e,t),at:n});if(!i)return null;for(;r>o.text.length;){var s=Ji.next(e,{at:n,match:ls.isText});if(!s||!Oi.isDescendant(s[1],i[1]))return null;r-=o.text.length,o=s[0],n=s[1]}return{path:n,offset:r}}function Jl(e,t){var n=Yl(e,t.anchor);if(!n)return null;if(Hi.isCollapsed(t))return{anchor:n,focus:n};var r=Yl(e,t.focus);return r?{anchor:n,focus:r}:null}function Ql(e,t,n){var r=Dl.get(e),o=null==r?void 0:r.find(e=>{var{path:n}=e;return Oi.equals(n,t.path)});if(!o||t.offset<=o.diff.start)return ns.transform(t,n,{affinity:"backward"});var{diff:i}=o;if(t.offset<=i.start+i.text.length){var s={path:t.path,offset:i.start},a=ns.transform(s,n,{affinity:"backward"});return a?{path:a.path,offset:a.offset+t.offset-i.start}:null}var u={path:t.path,offset:t.offset-i.text.length+i.end-i.start},c=ns.transform(u,n,{affinity:"backward"});return c?"split_node"===n.type&&Oi.equals(n.path,t.path)&&u.offset<n.position&&i.start<n.position?c:{path:c.path,offset:c.offset+i.text.length-i.end+i.start}:null}function ed(e,t,n){var r=Ql(e,t.anchor,n);if(!r)return null;if(Hi.isCollapsed(t))return{anchor:r,focus:r};var o=Ql(e,t.focus,n);return o?{anchor:r,focus:o}:null}function td(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 nd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?td(Object(n),!0).forEach(function(t){Hc(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):td(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function rd(e){var{editor:t,scheduleOnDOMSelectionChange:n,onDOMSelectionChange:r}=e,o=!1,i=null,s=null,a=null,u=0,c=!1,l=()=>{var e=Al.get(t);if(Al.delete(t),e){var{selection:n}=t,r=Jl(t,e);!r||n&&Hi.equals(r,n)||Us.select(t,r)}},d=()=>{if(s&&(clearTimeout(s),s=null),a&&(clearTimeout(a),a=null),g()||m()){o||(o=!0,setTimeout(()=>o=!1)),m()&&(o="action");var e=t.selection&&Ji.rangeRef(t,t.selection,{affinity:"forward"});Cl.set(t,t.marks),El.get(t),Dl.get(t);for(var i,u=g();i=null===(d=Dl.get(t))||void 0===d?void 0:d[0];){var d,f,h=wl.get(t);void 0!==h&&(wl.delete(t),t.marks=h),h&&!1===c&&(c=null);var p=Zl(i);t.selection&&Hi.equals(t.selection,p)||Us.select(t,p),i.diff.text?Ji.insertText(t,i.diff.text):Ji.deleteFragment(t),Dl.set(t,null===(f=Dl.get(t))||void 0===f?void 0:f.filter(e=>{var{id:t}=e;return t!==i.id})),Kl(t,i)||(u=!1,El.delete(t),Cl.delete(t),o="action",Al.delete(t),n.cancel(),r.cancel(),null==e||e.unref())}var v=null==e?void 0:e.unref();if(!v||Al.get(t)||t.selection&&Hi.equals(v,t.selection)||Us.select(t,v),m())(()=>{var e=El.get(t);if(El.delete(t),e){if(e.at){var n=ns.isPoint(e.at)?Yl(t,e.at):Jl(t,e.at);if(!n)return;var r=Ji.range(t,n);t.selection&&Hi.equals(t.selection,r)||Us.select(t,n)}e.run()}})();else{u&&n(),n.flush(),r.flush(),l();var y=Cl.get(t);Cl.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=ll.get(t);n&&(g()||e?n.style.display="none":n.style.removeProperty("display"))},h=(e,n)=>{var r,o=null!==(r=Dl.get(t))&&void 0!==r?r:[];Dl.set(t,o);var i=Ki.leaf(t,e),s=o.findIndex(t=>Oi.equals(t.path,e));if(s<0)return Xl(i.text,n)&&o.push({path:e,diff:n,id:u++}),void f();var a=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),i=Gl(e,t,n),s=Math.max(n.start+n.text.length,t.start+t.text.length+(t.start+t.text.length>n.start?n.text.length:0)-o),a=i.slice(r,s);return Xl(e,{start:r,end:Math.max(t.end,n.end-t.text.length+(t.end-t.start)),text:a})}(i.text,o[s].diff,n);if(!a)return o.splice(s,1),void f();o[s]=nd(nd({},o[s]),{},{diff:a})},p=function(e){var{at:o}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};c=!1,Al.delete(t),n.cancel(),r.cancel(),m()&&d(),El.set(t,{at:o,run:e}),a=setTimeout(d)},m=()=>!!El.get(t),g=()=>{var e;return!(null===(e=Dl.get(t))||void 0===e||!e.length)},v=e=>{Al.set(t,e),s&&(clearTimeout(s),s=null);var{selection:n}=t;if(e){var r=!n||!Oi.equals(n.anchor.path,e.anchor.path),o=!n||!Oi.equals(n.anchor.path.slice(0,-1),e.anchor.path.slice(0,-1));(r&&c||o)&&(c=!1),(r||g())&&(s=setTimeout(d,200))}},y=()=>{m()||(a=setTimeout(d))};return{flush:d,scheduleFlush:y,hasPendingDiffs:g,hasPendingAction:m,hasPendingChanges:()=>m()||g(),isFlushing:()=>o,handleUserSelect:v,handleCompositionEnd:e=>{i&&clearTimeout(i),i=setTimeout(()=>{vl.set(t,!1),d()},25)},handleCompositionStart:e=>{vl.set(t,!0),i&&(clearTimeout(i),i=null)},handleDOMBeforeInput:e=>{var n;if(s&&(clearTimeout(s),s=null),!il.get(t)){var{inputType:r}=e,o=null,i=e.dataTransfer||e.data||void 0;!1!==c&&"insertText"!==r&&"insertCompositionText"!==r&&(c=!1);var[a]=e.getTargetRanges();a&&(o=ql.toSlateRange(t,a,{exactMatch:!1,suppressThrow:!0}));var u=ql.getWindow(t).getSelection();if(!o&&u&&(a=u,o=ql.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(Hi.isExpanded(o)){var[f,m]=Hi.edges(o);if(Ki.leaf(t,f.path).text.length===f.offset&&0===m.offset){var g=Ji.next(t,{at:f.path,match:ls.isText});g&&Oi.equals(g[1],m.path)&&(o={anchor:m,focus:m})}}var b=r.endsWith("Backward")?"backward":"forward",[x,w]=Hi.edges(o),[C,D]=Ji.leaf(t,x.path),E={text:"",start:x.offset,end:w.offset},A=Dl.get(t),I=null==A?void 0:A.find(e=>Oi.equals(e.path,D)),S=I?[I.diff,E]:[E];if(0===Gl(C.text,...S).length&&(d=!1),Hi.isExpanded(o)){if(d&&Oi.equals(o.anchor.path,o.focus.path)){var O={path:o.anchor.path,offset:x.offset},T=Ji.range(t,O,O);return v(T),h(o.anchor.path,{text:"",end:w.offset,start:x.offset})}return p(()=>Ji.deleteFragment(t,{direction:b}),{at:o})}}switch(r){case"deleteByComposition":case"deleteByCut":case"deleteByDrag":return p(()=>Ji.deleteFragment(t),{at:o});case"deleteContent":case"deleteContentForward":var{anchor:B}=o;if(d&&Hi.isCollapsed(o)){var k=Ki.leaf(t,B.path);if(B.offset<k.text.length)return h(B.path,{text:"",start:B.offset,end:B.offset+1})}return p(()=>Ji.deleteForward(t),{at:o});case"deleteContentBackward":var _,{anchor:F}=o,j=Rl(a)?a.isCollapsed:!(null===(_=a)||void 0===_||!_.collapsed);return d&&j&&Hi.isCollapsed(o)&&F.offset>0?h(F.path,{text:"",start:F.offset-1,end:F.offset}):p(()=>Ji.deleteBackward(t),{at:o});case"deleteEntireSoftLine":return p(()=>{Ji.deleteBackward(t,{unit:"line"}),Ji.deleteForward(t,{unit:"line"})},{at:o});case"deleteHardLineBackward":return p(()=>Ji.deleteBackward(t,{unit:"block"}),{at:o});case"deleteSoftLineBackward":return p(()=>Ji.deleteBackward(t,{unit:"line"}),{at:o});case"deleteHardLineForward":return p(()=>Ji.deleteForward(t,{unit:"block"}),{at:o});case"deleteSoftLineForward":return p(()=>Ji.deleteForward(t,{unit:"line"}),{at:o});case"deleteWordBackward":return p(()=>Ji.deleteBackward(t,{unit:"word"}),{at:o});case"deleteWordForward":return p(()=>Ji.deleteForward(t,{unit:"word"}),{at:o});case"insertLineBreak":return p(()=>Ji.insertSoftBreak(t),{at:o});case"insertParagraph":return p(()=>Ji.insertBreak(t),{at:o});case"insertCompositionText":case"deleteCompositionText":case"insertFromComposition":case"insertFromDrop":case"insertFromPaste":case"insertFromYank":case"insertReplacementText":case"insertText":if("DataTransfer"===(null==(l=i)?void 0:l.constructor.name))return p(()=>ql.insertData(t,i),{at:o});var R=null!=i?i:"";if(wl.get(t)&&(R=R.replace("\ufeff","")),"insertText"===r&&/.*\n.*\n$/.test(R)&&(R=R.slice(0,-1)),R.includes("\n"))return p(()=>{var e=R.split("\n");e.forEach((n,r)=>{n&&Ji.insertText(t,n),r!==e.length-1&&Ji.insertSoftBreak(t)})},{at:o});if(Oi.equals(o.anchor.path,o.focus.path)){var[N,P]=Hi.edges(o),M={start:N.offset,end:P.offset,text:R};if(R&&c&&"insertCompositionText"===r){var L=c.start+c.text.search(/\S|$/);M.start+M.text.search(/\S|$/)===L+1&&M.end===c.start+c.text.length?(M.start-=1,c=null,y()):c=!1}else c="insertText"===r&&(null===c?M:!(!c||!Hi.isCollapsed(o)||c.end+c.text.length!==N.offset)&&nd(nd({},c),{},{text:c.text+R}));if(d)return void h(N.path,M)}return p(()=>Ji.insertText(t,R),{at:o})}}}},handleKeyDown:e=>{g()||(f(!0),setTimeout(f))},handleDomMutations:e=>{var n;g()||m()||e.some(n=>Ul(t,n,e))&&(null===(n=Il.get(t))||void 0===n||n())},handleInput:()=>{!m()&&g()||d()}}}var od=rl?t.useLayoutEffect:t.useEffect;var id=["node"];function sd(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 ad={subtree:!0,childList:!0,characterData:!0},ud=Kc?e=>{var{node:n}=e,r=Mc(e,id);if(!Kc)return null;var o,i=$c(),s=(o=t.useRef(!1),t.useEffect(()=>(o.current=!0,()=>{o.current=!1}),[]),o.current),[a]=t.useState(()=>rd(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?sd(Object(n),!0).forEach(function(t){Hc(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):sd(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({editor:i},r)));return function(e,n,r){var[o]=t.useState(()=>new MutationObserver(n));od(()=>{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,a.handleDomMutations,ad),xl.set(i,a.scheduleFlush),s&&a.flush(),a}:()=>null,cd=["anchor","focus"],ld=["anchor","focus"],dd=(e,t)=>{var n,r,o=Mc(e,cd),i=Mc(t,ld);return e[Sl]===t[Sl]&&(n=o,r=i,Object.keys(n).length===Object.keys(r).length&&Object.keys(n).every(e=>r.hasOwnProperty(e)&&n[e]===r[e]))};function fd(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 hd=e=>{var{isLast:t,leaf:n,parent:r,text:o}=e,i=$c(),s=ql.findPath(i,o),u=Oi.parent(s),c=Boolean(n[Ol]);return i.isVoid(r)?a.default.createElement(gd,{length:Ki.string(r).length}):""!==n.text||r.children[r.children.length-1]!==o||i.isInline(r)||""!==Ji.string(i,u)?""===n.text?a.default.createElement(gd,{isMarkPlaceholder:c}):t&&"\n"===n.text.slice(-1)?a.default.createElement(pd,{isTrailing:!0,text:n.text}):a.default.createElement(pd,{text:n.text}):a.default.createElement(gd,{isLineBreak:!0,isMarkPlaceholder:c})},pd=e=>{var{text:n,isTrailing:r=!1}=e,o=t.useRef(null),i=()=>"".concat(null!=n?n:"").concat(r?"\n":""),[s]=t.useState(i);return od(()=>{var e=i();o.current&&o.current.textContent!==e&&(o.current.textContent=e)}),a.default.createElement(md,{ref:o},s)},md=t.memo(t.forwardRef((e,t)=>a.default.createElement("span",{"data-slate-string":!0,ref:t},e.children))),gd=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),a.default.createElement("span",function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?fd(Object(n),!0).forEach(function(t){Hc(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fd(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},o),Kc&&n?null:"\ufeff",n?a.default.createElement("br",null):null)};function vd(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 yd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?vd(Object(n),!0).forEach(function(t){Hc(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vd(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var bd=Kc?300:0;function xd(e){e.current&&(clearTimeout(e.current),e.current=null)}var wd=e=>{var{leaf:n,isLast:r,text:o,parent:i,renderPlaceholder:s,renderLeaf:u=e=>a.default.createElement(Dd,yd({},e))}=e,c=$c(),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;ll.delete(c),null===(t=n.onPlaceholderResize)||void 0===t||t.call(n,null)}else{if(ll.set(c,e),!l.current){var r=window.ResizeObserver||Ac;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]),g=a.default.createElement(hd,{isLast:r,leaf:n,parent:i,text:o}),v=Boolean(n[Sl]);if(t.useEffect(()=>(v?p.current||(p.current=setTimeout(()=>{h(!0),p.current=null},bd)):(xd(p),h(!1)),()=>xd(p)),[v,h]),v&&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:Xc?"inherit":void 0},contentEditable:!1,ref:m}};g=a.default.createElement(a.default.Fragment,null,s(y),g)}return u({attributes:{"data-slate-leaf":!0},children:g,leaf:n,text:o})},Cd=a.default.memo(wd,(e,t)=>t.parent===e.parent&&t.isLast===e.isLast&&t.renderLeaf===e.renderLeaf&&t.renderPlaceholder===e.renderPlaceholder&&t.text===e.text&&ls.equals(t.leaf,e.leaf)&&t.leaf[Sl]===e.leaf[Sl]),Dd=e=>{var{attributes:t,children:n}=e;return a.default.createElement("span",yd({},t),n)},Ed=e=>{for(var{decorations:n,isLast:r,parent:o,renderPlaceholder:i,renderLeaf:s,text:u}=e,c=$c(),l=t.useRef(null),d=ls.decorations(u,n),f=ql.findKey(c,u),h=[],p=0;p<d.length;p++){var m=d[p];h.push(a.default.createElement(Cd,{isLast:r&&p===d.length-1,key:"".concat(f.id,"-").concat(p),renderPlaceholder:i,leaf:m,text:u,parent:o,renderLeaf:s}))}var g=t.useCallback(e=>{var t=pl.get(c);e?(null==t||t.set(f,e),fl.set(u,e),dl.set(e,u)):(null==t||t.delete(f),fl.delete(u),l.current&&dl.delete(l.current)),l.current=e},[l,c,f,u]);return a.default.createElement("span",{"data-slate-node":"text",ref:g},h)},Ad=a.default.memo(Ed,(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||!dd(r,o))return!1}return!0})(t.decorations,e.decorations));function Id(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 Sd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Id(Object(n),!0).forEach(function(t){Hc(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Id(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Od=e=>{var{decorations:n,element:r,renderElement:o=e=>a.default.createElement(Bd,Sd({},e)),renderPlaceholder:i,renderLeaf:s,selection:u}=e,c=$c(),l=Nd(),d=c.isInline(r),f=ql.findKey(c,r),h=t.useCallback(e=>{var t=pl.get(c);e?(null==t||t.set(f,e),fl.set(r,e),dl.set(e,r)):(null==t||t.delete(f),fl.delete(r))},[c,f,r]),p=jd({decorations:n,node:r,renderElement:o,renderPlaceholder:i,renderLeaf:s,selection:u}),m={"data-slate-node":"element",ref:h};if(d&&(m["data-slate-inline"]=!0),!d&&Ji.hasInlines(c,r)){var g=Ki.string(r),v=Ha(g);"rtl"===v&&(m.dir=v)}if(Ji.isVoid(c,r)){m["data-slate-void"]=!0,!l&&d&&(m.contentEditable=!1);var y=d?"span":"div",[[b]]=Ki.texts(r);p=a.default.createElement(y,{"data-slate-spacer":!0,style:{height:"0",color:"transparent",outline:"none",position:"absolute"}},a.default.createElement(Ad,{renderPlaceholder:i,decorations:[],isLast:!1,parent:r,text:b})),sl.set(b,0),al.set(b,r)}return o({attributes:m,children:p,element:r})},Td=a.default.memo(Od,(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(!Hi.equals(r,o)||!dd(r,o))return!1}return!0})(e.decorations,t.decorations)&&(e.selection===t.selection||!!e.selection&&!!t.selection&&Hi.equals(e.selection,t.selection))),Bd=e=>{var{attributes:t,children:n,element:r}=e,o=$c().isInline(r)?"span":"div";return a.default.createElement(o,Sd(Sd({},t),{},{style:{position:"relative"}}),n)},kd=t.createContext(()=>[]),_d=t.createContext(!1),Fd=()=>t.useContext(_d),jd=e=>{var{decorations:n,node:r,renderElement:o,renderPlaceholder:i,renderLeaf:s,selection:u}=e,c=t.useContext(kd),l=$c();il.set(l,!1);for(var d=ql.findPath(l,r),f=[],h=Wi.isElement(r)&&!l.isInline(r)&&Ji.hasInlines(l,r),p=0;p<r.children.length;p++){var m=d.concat(p),g=r.children[p],v=ql.findKey(l,g),y=Ji.range(l,m),b=u&&Hi.intersection(y,u),x=c([g,m]);for(var w of n){var C=Hi.intersection(w,y);C&&x.push(C)}Wi.isElement(g)?f.push(a.default.createElement(_d.Provider,{key:"provider-".concat(v.id),value:!!b},a.default.createElement(Td,{decorations:x,element:g,key:v.id,renderElement:o,renderPlaceholder:i,renderLeaf:s,selection:b}))):f.push(a.default.createElement(Ad,{decorations:x,key:v.id,isLast:h&&p===r.children.length-1,parent:r,renderPlaceholder:i,renderLeaf:s,text:g})),sl.set(g,p),al.set(g,r)}return f},Rd=t.createContext(!1),Nd=()=>t.useContext(Rd),Pd=t.createContext(null);var Md={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"},Ld={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"},zd={deleteWordBackward:"ctrl+shift?+backspace",deleteWordForward:"ctrl+shift?+delete",redo:["ctrl+y","ctrl+shift+z"]},Hd=e=>{var t=Md[e],n=Ld[e],r=zd[e],o=t&&Pc(t);n&&Pc(n);var i=r&&Pc(r);return e=>!(!o||!o(e))||!(!i||!i(e))},Ud={isBold:Hd("bold"),isCompose:Hd("compose"),isMoveBackward:Hd("moveBackward"),isMoveForward:Hd("moveForward"),isDeleteBackward:Hd("deleteBackward"),isDeleteForward:Hd("deleteForward"),isDeleteLineBackward:Hd("deleteLineBackward"),isDeleteLineForward:Hd("deleteLineForward"),isDeleteWordBackward:Hd("deleteWordBackward"),isDeleteWordForward:Hd("deleteWordForward"),isExtendBackward:Hd("extendBackward"),isExtendForward:Hd("extendForward"),isExtendLineBackward:Hd("extendLineBackward"),isExtendLineForward:Hd("extendLineForward"),isItalic:Hd("italic"),isMoveLineBackward:Hd("moveLineBackward"),isMoveLineForward:Hd("moveLineForward"),isMoveWordBackward:Hd("moveWordBackward"),isMoveWordForward:Hd("moveWordForward"),isRedo:Hd("redo"),isSoftBreak:Hd("insertSoftBreak"),isSplitBlock:Hd("splitBlock"),isTransposeCharacter:Hd("transposeCharacter"),isUndo:Hd("undo")},Wd={subtree:!0,childList:!0,characterData:!0,characterDataOldValue:!0};class Vd extends t.Component{constructor(){super(...arguments),Hc(this,"context",null),Hc(this,"manager",null),Hc(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,Wd)}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=>Ul(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}}Hc(Vd,"contextType",Vc);var $d=Kc?Vd:e=>{var{children:t}=e;return a.default.createElement(a.default.Fragment,null,t)},qd=t.createContext(!1),Kd=["autoFocus","decorate","onDOMBeforeInput","placeholder","readOnly","renderElement","renderLeaf","renderPlaceholder","scrollSelectionIntoView","style","as","disableDefaultStyles"],Gd=["text"];function Xd(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 Zd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Xd(Object(n),!0).forEach(function(t){Hc(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Xd(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Yd=e=>a.default.createElement(a.default.Fragment,null,jd(e)),Jd=t.forwardRef((e,n)=>{var r=t.useCallback(e=>a.default.createElement(Qd,Zd({},e)),[]),{autoFocus:o,decorate:i=ef,onDOMBeforeInput:s,placeholder:u,readOnly:c=!1,renderElement:l,renderLeaf:d,renderPlaceholder:f=r,scrollSelectionIntoView:h=tf,style:p={},as:m="div",disableDefaultStyles:g=!1}=e,v=Mc(e,Kd),y=(()=>{var e=t.useContext(Pd);if(!e)throw new Error("The `useSlate` hook must be used inside the <Slate> component's context.");var{editor:n}=e;return n})(),[b,x]=t.useState(!1),w=t.useRef(null),C=t.useRef([]),[D,E]=t.useState(),A=t.useRef(!1),{onUserInput:I,receivedUserInput:S}=function(){var e=$c(),n=t.useRef(!1),r=t.useRef(0),o=t.useCallback(()=>{if(!n.current){n.current=!0;var t=ql.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);Il.set(y,O),ml.set(y,c);var T=t.useMemo(()=>({isDraggingInternally:!1,isUpdatingSelection:!1,latestElement:null,hasMarkPlaceholder:!1}),[]);t.useEffect(()=>{w.current&&o&&w.current.focus()},[o]);var B=t.useRef(),k=t.useMemo(()=>ku(()=>{if(il.get(y))k();else{var e=ql.toDOMNode(y,y).getRootNode();if(!A.current&&Xc&&e instanceof ShadowRoot){A.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"):Us.deselect(y),void(A.current=!1)}var n=B.current;if((Kc||!ql.isComposing(y))&&(!T.isUpdatingSelection||null!=n&&n.isFlushing())&&!T.isDraggingInternally){var r=ql.findDocumentOrShadowRoot(y),{activeElement:o}=r,i=ql.toDOMNode(y,y),s=Hl(r);if(o===i?(T.latestElement=o,gl.set(y,!0)):gl.delete(y),!s)return Us.deselect(y);var{anchorNode:a,focusNode:u}=s,l=ql.hasEditableTarget(y,a)||ql.isTargetInsideNonReadonlyVoid(y,a),d=ql.hasTarget(y,u);if(l&&d){var f=ql.toSlateRange(y,s,{exactMatch:!1,suppressThrow:!0});f&&(ql.isComposing(y)||null!=n&&n.hasPendingChanges()||null!=n&&n.isFlushing()?null==n||n.handleUserSelect(f):Us.select(y,f))}!c||l&&d||Us.deselect(y)}}},100),[y,c,T]),_=t.useMemo(()=>Ou(k,0),[k]);B.current=ud({node:w,onDOMSelectionChange:k,scheduleOnDOMSelectionChange:_}),od(()=>{var e,t,n;w.current&&(n=kl(w.current))?(ul.set(y,n),cl.set(y,w.current),fl.set(y,w.current),dl.set(w.current,y)):fl.delete(y);var{selection:r}=y,o=ql.findDocumentOrShadowRoot(y),i=Hl(o);if(i&&ql.isFocused(y)&&(null===(e=B.current)||void 0===e||!e.hasPendingAction())){var s=e=>{var t="None"!==i.type;if(r||t){var n,o=i.focusNode;if(Gc&&i.rangeCount>1){var s=i.getRangeAt(0),a=i.getRangeAt(i.rangeCount-1);n=s.startContainer===o?a.endContainer:s.startContainer}else n=i.anchorNode;var u=cl.get(y),c=!1;if(u.contains(n)&&u.contains(o)&&(c=!0),t&&c&&r&&!e){var l=ql.toSlateRange(y,i,{exactMatch:!0,suppressThrow:!0});if(l&&Hi.equals(l,r)){var d;if(!T.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||ql.hasRange(y,r)){T.isUpdatingSelection=!0;var f=r&&ql.toDOMRange(y,r);return f?(ql.isComposing(y)&&!Kc?i.collapseToEnd():Hi.isBackward(r)?i.setBaseAndExtent(f.endContainer,f.endOffset,f.startContainer,f.startOffset):i.setBaseAndExtent(f.startContainer,f.startOffset,f.endContainer,f.endOffset),h(y,f)):i.removeAllRanges(),f}y.selection=ql.toSlateRange(y,i,{exactMatch:!1,suppressThrow:!0})}};i.rangeCount<=1&&s();var a="action"===(null===(t=B.current)||void 0===t?void 0:t.isFlushing());if(Kc&&a){var u=null,c=requestAnimationFrame(()=>{if(a){var e=e=>{try{ql.toDOMNode(y,y).focus(),s(e)}catch(e){}};e(),u=setTimeout(()=>{e(!0),T.isUpdatingSelection=!1})}});return()=>{cancelAnimationFrame(c),u&&clearTimeout(u)}}setTimeout(()=>{T.isUpdatingSelection=!1})}});var F=t.useCallback(e=>{var t=ql.toDOMNode(y,y).getRootNode();if(null!=A&&A.current&&Xc&&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=ql.toSlateRange(y,r,{exactMatch:!1,suppressThrow:!1});return Us.select(y,o),e.preventDefault(),void e.stopImmediatePropagation()}if(I(),!c&&ql.hasEditableTarget(y,e.target)&&!of(e,s)){var i;if(B.current)return B.current.handleDOMBeforeInput(e);_.flush(),k.flush();var{selection:a}=y,{inputType:u}=e,l=e.dataTransfer||e.data||void 0,d="insertCompositionText"===u||"deleteCompositionText"===u;if(d&&ql.isComposing(y))return;var f=!1;if("insertText"===u&&a&&Hi.isCollapsed(a)&&e.data&&1===e.data.length&&/[a-z ]/i.test(e.data)&&0!==a.anchor.offset&&(f=!0,y.marks&&(f=!1),!il.get(y))){var h,p,{anchor:m}=a,[g,v]=ql.toDOMPoint(y,m),b=null===(h=g.parentElement)||void 0===h?void 0:h.closest("a"),w=ql.getWindow(y);if(f&&b&&ql.hasDOMNode(y,b)){var D,E=null==w?void 0:w.document.createTreeWalker(b,NodeFilter.SHOW_TEXT).lastChild();E===g&&(null===(D=E.textContent)||void 0===D?void 0:D.length)===v&&(f=!1)}if(f&&g.parentElement&&"pre"===(null==w||null===(p=w.getComputedStyle(g.parentElement))||void 0===p?void 0:p.whiteSpace)){var S=Ji.above(y,{at:m.path,match:e=>Wi.isElement(e)&&Ji.isBlock(y,e)});S&&Ki.string(S[0]).includes("\t")&&(f=!1)}}if((!u.startsWith("delete")||u.startsWith("deleteBy"))&&!il.get(y)){var[O]=e.getTargetRanges();if(O){var T=ql.toSlateRange(y,O,{exactMatch:!1,suppressThrow:!1});if(!a||!Hi.equals(a,T)){f=!1;var F=!d&&y.selection&&Ji.rangeRef(y,y.selection);Us.select(y,T),F&&yl.set(y,F)}}}if(d)return;if(f||e.preventDefault(),a&&Hi.isExpanded(a)&&u.startsWith("delete")){var j=u.endsWith("Backward")?"backward":"forward";return void Ji.deleteFragment(y,{direction:j})}switch(u){case"deleteByComposition":case"deleteByCut":case"deleteByDrag":Ji.deleteFragment(y);break;case"deleteContent":case"deleteContentForward":Ji.deleteForward(y);break;case"deleteContentBackward":Ji.deleteBackward(y);break;case"deleteEntireSoftLine":Ji.deleteBackward(y,{unit:"line"}),Ji.deleteForward(y,{unit:"line"});break;case"deleteHardLineBackward":Ji.deleteBackward(y,{unit:"block"});break;case"deleteSoftLineBackward":Ji.deleteBackward(y,{unit:"line"});break;case"deleteHardLineForward":Ji.deleteForward(y,{unit:"block"});break;case"deleteSoftLineForward":Ji.deleteForward(y,{unit:"line"});break;case"deleteWordBackward":Ji.deleteBackward(y,{unit:"word"});break;case"deleteWordForward":Ji.deleteForward(y,{unit:"word"});break;case"insertLineBreak":Ji.insertSoftBreak(y);break;case"insertParagraph":Ji.insertBreak(y);break;case"insertFromComposition":case"insertFromDrop":case"insertFromPaste":case"insertFromYank":case"insertReplacementText":case"insertText":"insertFromComposition"===u&&ql.isComposing(y)&&(x(!1),vl.set(y,!1)),"DataTransfer"===(null==l?void 0:l.constructor.name)?ql.insertData(y,l):"string"==typeof l&&(f?C.current.push(()=>Ji.insertText(y,l)):Ji.insertText(y,l))}var R=null===(i=yl.get(y))||void 0===i?void 0:i.unref();yl.delete(y),!R||y.selection&&Hi.equals(y.selection,R)||Us.select(y,R)}},[y,k,I,s,c,_]),j=t.useCallback(e=>{null==e?(k.cancel(),_.cancel(),cl.delete(y),fl.delete(y),w.current&&ol&&w.current.removeEventListener("beforeinput",F)):ol&&e.addEventListener("beforeinput",F),w.current=e,"function"==typeof n?n(e):n&&(n.current=e)},[k,_,y,F,n]);od(()=>{var e=ql.getWindow(y);e.document.addEventListener("selectionchange",_);var t=()=>{T.isDraggingInternally=!1};return e.document.addEventListener("dragend",t),e.document.addEventListener("drop",t),()=>{e.document.removeEventListener("selectionchange",_),e.document.removeEventListener("dragend",t),e.document.removeEventListener("drop",t)}},[_,T]);var R=i([y,[]]),N=u&&1===y.children.length&&1===Array.from(Ki.texts(y)).length&&""===Ki.string(y)&&!b,P=t.useCallback(e=>{var t;e&&N?E(null===(t=e.getBoundingClientRect())||void 0===t?void 0:t.height):E(void 0)},[N]);if(N){var M=Ji.start(y,[]);R.push({[Sl]:!0,placeholder:u,onPlaceholderResize:P,anchor:M,focus:M})}var{marks:L}=y;if(T.hasMarkPlaceholder=!1,y.selection&&Hi.isCollapsed(y.selection)&&L){var{anchor:z}=y.selection,H=Ki.leaf(y,z.path),U=Mc(H,Gd);if(!ls.equals(H,L,{loose:!0})){T.hasMarkPlaceholder=!0;var W=Object.fromEntries(Object.keys(U).map(e=>[e,null]));R.push(Zd(Zd(Zd({[Ol]:!0},W),L),{},{anchor:z,focus:z}))}}return t.useEffect(()=>{setTimeout(()=>{var{selection:e}=y;if(e){var{anchor:t}=e,n=Ki.leaf(y,t.path);if(L&&!ls.equals(n,L,{loose:!0}))return void wl.set(y,L)}wl.delete(y)})}),a.default.createElement(Rd.Provider,{value:c},a.default.createElement(qd.Provider,{value:b},a.default.createElement(kd.Provider,{value:i},a.default.createElement($d,{node:w,receivedUserInput:S},a.default.createElement(m,Zd(Zd({role:c?void 0:"textbox","aria-multiline":!c||void 0},v),{},{spellCheck:!(!ol&&rl)&&v.spellCheck,autoCorrect:ol||!rl?v.autoCorrect:"false",autoCapitalize:ol||!rl?v.autoCapitalize:"false","data-slate-editor":!0,"data-slate-node":"value",contentEditable:!c,zindex:-1,suppressContentEditableWarning:!0,ref:j,style:Zd(Zd({},g?{}:Zd({position:"relative",whiteSpace:"pre-wrap",wordWrap:"break-word"},D?{minHeight:D}:{})),p),onBeforeInput:t.useCallback(e=>{if(!ol&&!c&&!nf(e,v.onBeforeInput)&&ql.hasSelectableTarget(y,e.target)&&(e.preventDefault(),!ql.isComposing(y))){var t=e.data;Ji.insertText(y,t)}},[v.onBeforeInput,y,c]),onInput:t.useCallback(e=>{if(!nf(e,v.onInput))if(B.current)B.current.handleInput();else{for(var t of C.current)t();if(C.current=[],!ql.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()}}},[v.onInput,y]),onBlur:t.useCallback(e=>{if(!c&&!T.isUpdatingSelection&&ql.hasSelectableTarget(y,e.target)&&!nf(e,v.onBlur)){var t=ql.findDocumentOrShadowRoot(y);if(T.latestElement!==t.activeElement){var{relatedTarget:n}=e;if(!(n===ql.toDOMNode(y,y)||Fl(n)&&n.hasAttribute("data-slate-spacer"))){if(null!=n&&jl(n)&&ql.hasDOMNode(y,n)){var r=ql.toSlateNode(y,n);if(Wi.isElement(r)&&!y.isVoid(r))return}if(Xc){var o=Hl(t);null==o||o.removeAllRanges()}gl.delete(y)}}}},[c,T.isUpdatingSelection,T.latestElement,y,v.onBlur]),onClick:t.useCallback(e=>{if(ql.hasTarget(y,e.target)&&!nf(e,v.onClick)&&jl(e.target)){var t=ql.toSlateNode(y,e.target),n=ql.findPath(y,t);if(!Ji.hasPath(y,n)||Ki.get(y,n)!==t)return;if(3===e.detail&&n.length>=1){var r=n;if(!Wi.isElement(t)||!Ji.isBlock(y,t)){var o,i=Ji.above(y,{match:e=>Wi.isElement(e)&&Ji.isBlock(y,e),at:n});r=null!==(o=null==i?void 0:i[1])&&void 0!==o?o:n.slice(0,1)}var s=Ji.range(y,r);return void Us.select(y,s)}if(c)return;var a=Ji.start(y,n),u=Ji.end(y,n),l=Ji.void(y,{at:a}),d=Ji.void(y,{at:u});if(l&&d&&Oi.equals(l[1],d[1])){var f=Ji.range(y,a);Us.select(y,f)}}},[y,v.onClick,c]),onCompositionEnd:t.useCallback(e=>{if(ql.hasSelectableTarget(y,e.target)){var t;if(ql.isComposing(y)&&Promise.resolve().then(()=>{x(!1),vl.set(y,!1)}),null===(t=B.current)||void 0===t||t.handleCompositionEnd(e),nf(e,v.onCompositionEnd)||Kc)return;if(!Xc&&!el&&!nl&&!tl&&e.data){var n=wl.get(y);wl.delete(y),void 0!==n&&(Cl.set(y,y.marks),y.marks=n),Ji.insertText(y,e.data);var r=Cl.get(y);Cl.delete(y),void 0!==r&&(y.marks=r)}}},[v.onCompositionEnd,y]),onCompositionUpdate:t.useCallback(e=>{ql.hasSelectableTarget(y,e.target)&&!nf(e,v.onCompositionUpdate)&&(ql.isComposing(y)||(x(!0),vl.set(y,!0)))},[v.onCompositionUpdate,y]),onCompositionStart:t.useCallback(e=>{if(ql.hasSelectableTarget(y,e.target)){var t;if(null===(t=B.current)||void 0===t||t.handleCompositionStart(e),nf(e,v.onCompositionStart)||Kc)return;x(!0);var{selection:n}=y;if(n&&Hi.isExpanded(n))return void Ji.deleteFragment(y)}},[v.onCompositionStart,y]),onCopy:t.useCallback(e=>{!ql.hasSelectableTarget(y,e.target)||nf(e,v.onCopy)||rf(e)||(e.preventDefault(),ql.setFragmentData(y,e.clipboardData,"copy"))},[v.onCopy,y]),onCut:t.useCallback(e=>{if(!c&&ql.hasSelectableTarget(y,e.target)&&!nf(e,v.onCut)&&!rf(e)){e.preventDefault(),ql.setFragmentData(y,e.clipboardData,"cut");var{selection:t}=y;if(t)if(Hi.isExpanded(t))Ji.deleteFragment(y);else{var n=Ki.parent(y,t.anchor.path);Ji.isVoid(y,n)&&Us.delete(y)}}},[c,y,v.onCut]),onDragOver:t.useCallback(e=>{if(ql.hasTarget(y,e.target)&&!nf(e,v.onDragOver)){var t=ql.toSlateNode(y,e.target);Wi.isElement(t)&&Ji.isVoid(y,t)&&e.preventDefault()}},[v.onDragOver,y]),onDragStart:t.useCallback(e=>{if(!c&&ql.hasTarget(y,e.target)&&!nf(e,v.onDragStart)){var t=ql.toSlateNode(y,e.target),n=ql.findPath(y,t);if(Wi.isElement(t)&&Ji.isVoid(y,t)||Ji.void(y,{at:n,voids:!0})){var r=Ji.range(y,n);Us.select(y,r)}T.isDraggingInternally=!0,ql.setFragmentData(y,e.dataTransfer,"drag")}},[c,y,v.onDragStart,T]),onDrop:t.useCallback(e=>{if(!c&&ql.hasTarget(y,e.target)&&!nf(e,v.onDrop)){e.preventDefault();var t=y.selection,n=ql.findEventRange(y,e),r=e.dataTransfer;Us.select(y,n),T.isDraggingInternally&&(!t||Hi.equals(t,n)||Ji.void(y,{at:n,voids:!0})||Us.delete(y,{at:t})),ql.insertData(y,r),ql.isFocused(y)||ql.focus(y)}},[c,y,v.onDrop,T]),onDragEnd:t.useCallback(e=>{!c&&T.isDraggingInternally&&v.onDragEnd&&ql.hasTarget(y,e.target)&&v.onDragEnd(e)},[c,T,v,y]),onFocus:t.useCallback(e=>{if(!c&&!T.isUpdatingSelection&&ql.hasEditableTarget(y,e.target)&&!nf(e,v.onFocus)){var t=ql.toDOMNode(y,y),n=ql.findDocumentOrShadowRoot(y);if(T.latestElement=n.activeElement,Gc&&e.target!==t)return void t.focus();gl.set(y,!0)}},[c,T,y,v.onFocus]),onKeyDown:t.useCallback(e=>{if(!c&&ql.hasEditableTarget(y,e.target)){var t;null===(t=B.current)||void 0===t||t.handleKeyDown(e);var{nativeEvent:n}=e;if(ql.isComposing(y)&&!1===n.isComposing&&(vl.set(y,!1),x(!1)),nf(e,v.onKeyDown)||ql.isComposing(y))return;var{selection:r}=y,o=y.children[null!==r?r.focus.path[0]:0],i="rtl"===Ha(Ki.string(o));if(Ud.isRedo(n)){e.preventDefault();var s=y;return void("function"==typeof s.redo&&s.redo())}if(Ud.isUndo(n)){e.preventDefault();var a=y;return void("function"==typeof a.undo&&a.undo())}if(Ud.isMoveLineBackward(n))return e.preventDefault(),void Us.move(y,{unit:"line",reverse:!0});if(Ud.isMoveLineForward(n))return e.preventDefault(),void Us.move(y,{unit:"line"});if(Ud.isExtendLineBackward(n))return e.preventDefault(),void Us.move(y,{unit:"line",edge:"focus",reverse:!0});if(Ud.isExtendLineForward(n))return e.preventDefault(),void Us.move(y,{unit:"line",edge:"focus"});if(Ud.isMoveBackward(n))return e.preventDefault(),void(r&&Hi.isCollapsed(r)?Us.move(y,{reverse:!i}):Us.collapse(y,{edge:i?"end":"start"}));if(Ud.isMoveForward(n))return e.preventDefault(),void(r&&Hi.isCollapsed(r)?Us.move(y,{reverse:i}):Us.collapse(y,{edge:i?"start":"end"}));if(Ud.isMoveWordBackward(n))return e.preventDefault(),r&&Hi.isExpanded(r)&&Us.collapse(y,{edge:"focus"}),void Us.move(y,{unit:"word",reverse:!i});if(Ud.isMoveWordForward(n))return e.preventDefault(),r&&Hi.isExpanded(r)&&Us.collapse(y,{edge:"focus"}),void Us.move(y,{unit:"word",reverse:i});if(ol){if((Yc||Xc)&&r&&(Ud.isDeleteBackward(n)||Ud.isDeleteForward(n))&&Hi.isCollapsed(r)){var u=Ki.parent(y,r.anchor.path);if(Wi.isElement(u)&&Ji.isVoid(y,u)&&(Ji.isInline(y,u)||Ji.isBlock(y,u)))return e.preventDefault(),void Ji.deleteBackward(y,{unit:"block"})}}else{if(Ud.isBold(n)||Ud.isItalic(n)||Ud.isTransposeCharacter(n))return void e.preventDefault();if(Ud.isSoftBreak(n))return e.preventDefault(),void Ji.insertSoftBreak(y);if(Ud.isSplitBlock(n))return e.preventDefault(),void Ji.insertBreak(y);if(Ud.isDeleteBackward(n))return e.preventDefault(),void(r&&Hi.isExpanded(r)?Ji.deleteFragment(y,{direction:"backward"}):Ji.deleteBackward(y));if(Ud.isDeleteForward(n))return e.preventDefault(),void(r&&Hi.isExpanded(r)?Ji.deleteFragment(y,{direction:"forward"}):Ji.deleteForward(y));if(Ud.isDeleteLineBackward(n))return e.preventDefault(),void(r&&Hi.isExpanded(r)?Ji.deleteFragment(y,{direction:"backward"}):Ji.deleteBackward(y,{unit:"line"}));if(Ud.isDeleteLineForward(n))return e.preventDefault(),void(r&&Hi.isExpanded(r)?Ji.deleteFragment(y,{direction:"forward"}):Ji.deleteForward(y,{unit:"line"}));if(Ud.isDeleteWordBackward(n))return e.preventDefault(),void(r&&Hi.isExpanded(r)?Ji.deleteFragment(y,{direction:"backward"}):Ji.deleteBackward(y,{unit:"word"}));if(Ud.isDeleteWordForward(n))return e.preventDefault(),void(r&&Hi.isExpanded(r)?Ji.deleteFragment(y,{direction:"forward"}):Ji.deleteForward(y,{unit:"word"}))}}},[c,y,v.onKeyDown]),onPaste:t.useCallback(e=>{c||!ql.hasEditableTarget(y,e.target)||nf(e,v.onPaste)||(!ol||(e=>e.clipboardData&&""!==e.clipboardData.getData("text/plain")&&1===e.clipboardData.types.length)(e.nativeEvent)||Xc)&&(e.preventDefault(),ql.insertData(y,e.clipboardData))},[c,y,v.onPaste])}),a.default.createElement(Yd,{decorations:R,node:y,renderElement:l,renderPlaceholder:f,renderLeaf:d,selection:y.selection}))))))}),Qd=e=>{var{attributes:t,children:n}=e;return a.default.createElement("span",Zd({},t),n,Kc&&a.default.createElement("br",null))},ef=()=>[],tf=(e,t)=>{if(t.getBoundingClientRect&&(!e.selection||e.selection&&Hi.isCollapsed(e.selection))){var n=t.startContainer.parentElement;n.getBoundingClientRect=t.getBoundingClientRect.bind(t),Mu(n,{scrollMode:"if-needed"}),delete n.getBoundingClientRect}},nf=(e,t)=>{if(!t)return!1;var n=t(e);return null!=n?n:e.isDefaultPrevented()||e.isPropagationStopped()},rf=e=>jl(e.target)&&(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement),of=(e,t)=>{if(!t)return!1;var n=t(e);return null!=n?n:e.defaultPrevented},sf=t.createContext(!1),af=t.createContext({});var uf=["editor","children","onChange","onSelectionChange","onValueChange","initialValue"],cf=e=>{var{editor:n,children:r,onChange:o,onSelectionChange:i,onValueChange:s,initialValue:u}=e,c=Mc(e,uf),[l,d]=a.default.useState(()=>{if(!Ki.isNodeList(u))throw new Error("[Slate] initialValue is invalid! Expected a list of elements but got: ".concat(os.stringify(u)));if(!Ji.isEditor(n))throw new Error("[Slate] editor is invalid! You passed: ".concat(os.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==i||i(n.selection);else null==s||s(n.children);d(e=>({v:e.v+1,editor:n})),h(n)},[n,h,o,i,s]);t.useEffect(()=>(bl.set(n,p),()=>{bl.set(n,()=>{})}),[n,p]);var[m,g]=t.useState(ql.isFocused(n));return t.useEffect(()=>{g(ql.isFocused(n))},[n]),od(()=>{var e=()=>g(ql.isFocused(n));return qc>=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)})},[]),a.default.createElement(af.Provider,{value:f},a.default.createElement(Pd.Provider,{value:l},a.default.createElement(Vc.Provider,{value:l.editor},a.default.createElement(sf.Provider,{value:m},r))))},lf=(e,t)=>{var n=(t.top+t.bottom)/2;return e.top<=n&&e.bottom>=n},df=(e,t,n)=>{var r=ql.toDOMRange(e,t).getBoundingClientRect(),o=ql.toDOMRange(e,n).getBoundingClientRect();return lf(r,o)&&lf(o,r)};function ff(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 hf(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ff(Object(n),!0).forEach(function(t){Hc(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ff(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var pf=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"x-slate-fragment",n=e,{apply:r,onChange:o,deleteBackward:i,addMark:s,removeMark:a}=n;return pl.set(n,new WeakMap),n.addMark=(e,t)=>{var r,o;null===(r=xl.get(n))||void 0===r||r(),!wl.get(n)&&null!==(o=Dl.get(n))&&void 0!==o&&o.length&&wl.set(n,null),Cl.delete(n),s(e,t)},n.removeMark=e=>{var t;!wl.get(n)&&null!==(t=Dl.get(n))&&void 0!==t&&t.length&&wl.set(n,null),Cl.delete(n),a(e)},n.deleteBackward=e=>{if("line"!==e)return i(e);if(n.selection&&Hi.isCollapsed(n.selection)){var t=Ji.above(n,{match:e=>Wi.isElement(e)&&Ji.isBlock(n,e),at:n.selection});if(t){var[,r]=t,o=Ji.range(n,r,n.selection.anchor),s=((e,t)=>{var n=Ji.range(e,Hi.end(t)),r=Array.from(Ji.positions(e,{at:t})),o=0,i=r.length,s=Math.floor(i/2);if(df(e,Ji.range(e,r[o]),n))return Ji.range(e,r[o],n);if(r.length<2)return Ji.range(e,r[r.length-1],n);for(;s!==r.length&&s!==o;)df(e,Ji.range(e,r[s]),n)?i=s:o=s,s=Math.floor((o+i)/2);return Ji.range(e,r[i],n)})(n,o);Hi.isCollapsed(s)||Us.delete(n,{at:s})}}},n.apply=t=>{var o=[],i=[],s=Dl.get(n);if(null!=s&&s.length){var a=s.map(e=>function(e,t){var{path:n,diff:r,id:o}=e;switch(t.type){case"insert_text":return!Oi.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!Oi.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!Oi.equals(t.path,n)||t.position>=r.end?{diff:r,id:o,path:Oi.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:Oi.transform(n,t,{affinity:"forward"})};case"merge_node":return Oi.equals(t.path,n)?{diff:{start:r.start+t.position,end:r.end+t.position,text:r.text},id:o,path:Oi.transform(n,t)}:{diff:r,id:o,path:Oi.transform(n,t)}}var i=Oi.transform(n,t);return i?{diff:r,path:i,id:o}:null}(e,t)).filter(Boolean);Dl.set(n,a)}var u=Al.get(n);u&&Al.set(n,ed(n,u,t));var c=El.get(n);if(null!=c&&c.at){var l=ns.isPoint(null==c?void 0:c.at)?Ql(n,c.at,t):ed(n,c.at,t);El.set(n,l?hf(hf({},c),{},{at:l}):null)}switch(t.type){case"insert_text":case"remove_text":case"set_node":case"split_node":o.push(...mf(n,t.path));break;case"set_selection":var d;null===(d=yl.get(n))||void 0===d||d.unref(),yl.delete(n);break;case"insert_node":case"remove_node":o.push(...mf(n,Oi.parent(t.path)));break;case"merge_node":var f=Oi.previous(t.path);o.push(...mf(n,f));break;case"move_node":var h,p=Oi.common(Oi.parent(t.path),Oi.parent(t.newPath));o.push(...mf(n,p)),Oi.isBefore(t.path,t.newPath)?(o.push(...mf(n,Oi.parent(t.path))),h=t.newPath):(o.push(...mf(n,Oi.parent(t.newPath))),h=t.path);var m=Ki.get(e,Oi.parent(h)),g=ql.findKey(n,m),v=Ji.pathRef(n,Oi.parent(h));i.push([v,g])}switch(r(t),t.type){case"insert_node":case"remove_node":case"merge_node":case"move_node":case"split_node":il.set(n,!0)}for(var[y,b]of o){var[x]=Ji.node(n,y);hl.set(x,b)}for(var[w,C]of i){if(w.current){var[D]=Ji.node(n,w.current);hl.set(D,C)}w.unref()}},n.setFragmentData=e=>{var{selection:r}=n;if(r){var[o,i]=Hi.edges(r),s=Ji.void(n,{at:o.path}),a=Ji.void(n,{at:i.path});if(!Hi.isCollapsed(r)||s){var u=ql.toDOMRange(n,r),c=u.cloneContents(),l=c.childNodes[0];if(c.childNodes.forEach(e=>{e.textContent&&""!==e.textContent.trim()&&(l=e)}),a){var[d]=a,f=u.cloneRange(),h=ql.toDOMNode(n,d);f.setEndAfter(h),c=f.cloneContents()}if(s&&(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":""}),Nl(l)){var p=l.ownerDocument.createElement("span");p.style.whiteSpace="pre",p.appendChild(l),c.appendChild(p),l=p}var m=n.getFragment(),g=JSON.stringify(m),v=window.btoa(encodeURIComponent(g));l.setAttribute("data-slate-fragment",v),e.setData("application/".concat(t),v);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",Ll(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(zl)||[];return n})(e);if(r){var o=decodeURIComponent(window.atob(r)),i=JSON.parse(o);return n.insertFragment(i),!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 i of r)o&&Us.splitNodes(n,{always:!0}),n.insertText(i),o=!0;return!0}return!1},n.onChange=e=>{(qc<18?l.default.unstable_batchedUpdates:e=>e())(()=>{var t=bl.get(n);t&&t(e),o(e)})},n},mf=(e,t)=>{var n=[];for(var[r,o]of Ji.levels(e,{at:t})){var i=ql.findKey(e,r);n.push([o,i])}return n};const gf={Anchor:"a"},vf=t.createContext(void 0);function yf({children:e,components:n}){const r=t.useContext(vf),o=t.useMemo(()=>({...gf,...r,...n}),[r,n]);return fn.exports.jsx(vf.Provider,{value:o,children:e})}const bf=t.createContext({});function xf(){return t.useContext(bf)}function wf({overrides:e,components:n,portalContainer:r,preventUnsavedComposerChanges:o=!0,children:i}){const s=t.useMemo(()=>({portalContainer:r,preventUnsavedComposerChanges:o}),[r,o]);return fn.exports.jsx(bf.Provider,{value:s,children:fn.exports.jsx(Eo,{overrides:e,children:fn.exports.jsx(yf,{components:n,children:i})})})}const Cf=[{type:"mark",mark:"bold",character:"*"},{type:"mark",mark:"italic",character:"_"},{type:"mark",mark:"strikethrough",character:"~"},{type:"mark",mark:"code",character:"`"}],Df=Cf.filter(e=>"mark"===e.type).map(e=>e.character);function Ef(e,t,n){if(t!==n.character)return!1;const r=Da(e,e.selection,[n.character]);if(!r||Hi.isCollapsed(r))return!1;const o=xa(e,r);if(!o||o.text!==n.character)return!1;const i=xa(e,o.range);if(i&&!Df.includes(i.text)&&!Ea(i.text))return!1;const s=Ji.string(e,r);return s.trim()===s&&(Us.select(e,r),e.addMark(n.mark,!0),Us.collapse(e,{edge:"end"}),e.removeMark(n.mark),Us.delete(e,{at:o.range}),!0)}function Af(e){return!("type"in e)&&"text"in e&&"string"==typeof e.text}function If(e){return Af(e)&&1===Object.keys(e).length}const Sf={bold:!1,italic:!1,strikethrough:!1,code:!1};function Of(e){if(!e)return{...Sf};const t=Ji.marks(e);return{...Sf,...t}}function Tf(e){return Object.keys(e??{}).filter(e=>"text"!==e)}function Bf(e,t){const n=function(e,t){const n=Ji.marks(e);return!!n&&!0===n[t]}(e,t);n?Ji.removeMark(e,t):Ji.addMark(e,t,!0)}function kf(e){const t=Ji.marks(e);if(t)for(const n in t)Ji.removeMark(e,n)}function _f(e,t){if(e.selection&&Hi.isCollapsed(e.selection)){if(Object.keys(Ji.marks(e)??{}).length>0){("start"===t?xa(e,e.selection):wa(e,e.selection))||kf(e)}}}function Ff(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(Af(r)){if(jf(Ki.parent(e,o))&&!If(r)){const t=Tf(r);Us.unsetNodes(e,t,{at:o})}}n(t)},e.insertData=t=>{const{selection:n}=e,o=t.getData("text/plain");let i=!0;n&&!Hi.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(Ji.nodes(e,{at:n,match:t=>Wi.isElement(t)&&Ji.isBlock(e,t),mode:"lowest"}));for(const[,o]of r){const r=Hi.isRange(n)?Hi.intersection(n,Ji.range(e,o)):n;if(!r)continue;const i=Array.from(Ji.nodes(e,{at:r,match:n=>Ji.isInline(e,n)&&t(n)}));if(i.length>0)return!0}return!1}(e,e=>!Af(e))||(Us.wrapNodes(e,{type:"custom-link",url:o,children:[]},{at:n,split:!0,match:If}),i=!1)),i&&r(t)},e}function jf(e){return Wi.isElement(e)&&"custom-link"===e.type}function Rf(e){return Wi.isElement(e)&&"auto-link"===e.type}const Nf=/((https?:\/\/(www\.)?)|(www\.))[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9().@:%_+~#?&//=]*)/,Pf=/[.,;!?\s()]/,Mf=/^[.?][a-zA-Z0-9]+/,Lf=/[()]/;function zf(e){return Pf.test(e)}function Hf(e){const t=e[e.length-1];return void 0!==t&&zf(t)}function Uf(e){const t=e[0];return void 0!==t&&zf(t)}function Wf(e,t){const n=Ji.previous(e,{at:t});return!n||Af(n[0])&&(Hf(n[0].text)||""===n[0].text)}function Vf(e,t){const n=Ji.next(e,{at:t});return!n||Af(n[0])&&(Uf(n[0].text)||""===n[0].text)}const $f=(e,t)=>{const[n,r]=t,o=Ki.children(e,r);for(const[t]of o)if(!Af(t))return void Us.unwrapNodes(e,{at:r});const i=Ki.string(n),s=Nf.exec(i),a=s?.[0];if(!s||a!==i)return void Us.unwrapNodes(e,{at:r});if("."===(u=i)[u.length-1]||"?"===u[u.length-1]){Us.unwrapNodes(e,{at:r});const t=i.slice(0,i.length-1);return void Us.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(!Lf.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}(i);if(c<i.length){Us.unwrapNodes(e,{at:r});const t=i.slice(0,c);return void Us.wrapNodes(e,{type:"auto-link",url:t,children:[]},{at:{anchor:{path:r,offset:0},focus:{path:r,offset:t.length}},split:!0})}Wf(e,r)&&Vf(e,r)?n.url===i||Us.setNodes(e,{url:a},{at:r}):Us.unwrapNodes(e,{at:r})},qf=(e,t)=>{const[n,r]=t,o=Nf.exec(n.text),i=o?.[0];if(!o||void 0===i)return;const s=o.index,a=s+i.length;(function(e,t,n,r){const[o,i]=t,s=o.text,a=s[n-1],u=n>0&&a?zf(a):Wf(e,i),c=s[r],l=r<s.length&&c?zf(c):Vf(e,i);return u&&l})(e,t,s,a)&&Us.wrapNodes(e,{type:"auto-link",url:i,children:[]},{at:{anchor:{path:r,offset:s},focus:{path:r,offset:a}},split:!0})},Kf=(e,t)=>{const[n,r]=t,o=n.text,i=Ji.previous(e,{at:r});if(i&&Rf(i[0])){if(Mf.test(o))return Us.unwrapNodes(e,{at:i[1]}),void Us.mergeNodes(e,{at:r});if(!Uf(o))return void Us.unwrapNodes(e,{at:i[1]})}const s=Ji.next(e,{at:r});s&&Rf(s[0])&&!Hf(o)&&Us.unwrapNodes(e,{at:s[1]})};function Gf(e,t){for(const n of t)if(Af(n)){if(!Ea(n.text))return!1}else if("paragraph"===n.type){if(n.children.length>1||n.children[0]&&(!Af(n.children[0])||!Ea(n.children[0].text)))return!1}else if(!Ji.isEmpty(e,n))return!1;return!0}function Xf(e){return Xf="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},Xf(e)}function Zf(e){var t=function(e,t){if("object"!==Xf(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Xf(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Xf(t)?t:String(t)}function Yf(e,t,n){return(t=Zf(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Jf=new WeakMap,Qf=new WeakMap;class eh{}class th extends eh{constructor(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),Yf(this,"offset",void 0),Yf(this,"path",void 0);var{offset:t,path:n}=e;this.offset=t,this.path=n}}class nh extends eh{constructor(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),Yf(this,"offset",void 0),Yf(this,"path",void 0);var{offset:t,path:n}=e;this.offset=t,this.path=n}}var rh=e=>Jf.get(e),oh=e=>Qf.get(e);function ih(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 sh(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ih(Object(n),!0).forEach(function(t){Yf(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ih(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var ah=new WeakSet,uh=e=>{var t=[],n=e=>{if(null!=e){var r=t[t.length-1];if("string"==typeof e){var o={text:e};ah.add(o),e=o}if(ls.isText(e)){var i=e;ls.isText(r)&&ah.has(r)&&ah.has(i)&&ls.equals(r,i,{loose:!0})?r.text+=i.text:t.push(i)}else if(Wi.isElement(e))t.push(e);else{if(!(e instanceof eh))throw new Error("Unexpected hyperscript child object: ".concat(e));var s=t[t.length-1];ls.isText(s)||(n(""),s=t[t.length-1]),e instanceof th?((e,t)=>{var n=e.text.length;Jf.set(e,[n,t])})(s,e):e instanceof nh&&((e,t)=>{var n=e.text.length;Qf.set(e,[n,t])})(s,e)}}};for(var r of e.flat(1/0))n(r);return t};function ch(e,t,n){return sh(sh({},t),{},{children:uh(n)})}function lh(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 dh(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?lh(Object(n),!0).forEach(function(t){Yf(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lh(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var fh,hh={anchor:function(e,t,n){return new th(t)},cursor:function(e,t,n){return[new th(t),new nh(t)]},editor:(fh=ba,(e,t,n)=>{var r,o=[];for(var i of n)Hi.isRange(i)?r=i:o.push(i);var s=uh(o),a={},u=fh();for(var[c,l]of(Object.assign(u,t),u.children=s,Ki.texts(u))){var d=rh(c),f=oh(c);if(null!=d){var[h]=d;a.anchor={path:l,offset:h}}if(null!=f){var[p]=f;a.focus={path:l,offset:p}}}if(a.anchor&&!a.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(!a.anchor&&a.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?u.selection=r:Hi.isRange(a)&&(u.selection=a),u}),element:ch,focus:function(e,t,n){return new nh(t)},fragment:function(e,t,n){return uh(n)},selection:function(e,t,n){var r=n.find(e=>e instanceof th),o=n.find(e=>e instanceof nh);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 sh({anchor:{offset:r.offset,path:r.path},focus:{offset:o.offset,path:o.path}},t)},text:function(e,t,n){var r=uh(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:""}),!ls.isText(o))throw new Error("\n The <text> hyperscript tag can only contain text content as children.");return ah.delete(o),Object.assign(o,t),o}},ph=e=>function(t,n){for(var r=arguments.length,o=new Array(r>2?r-2:0),i=2;i<r;i++)o[i-2]=arguments[i];var s=e[t];if(!s)throw new Error("No hyperscript creator found for tag: <".concat(t,">"));return null==n&&(n={}),Io(n)||(o=[n].concat(o),n={}),s(t,n,o=o.filter(e=>Boolean(e)).flat())},mh=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)=>ch(0,dh(dh({},n),t),r)};for(var r in e)n();return t},gh=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{elements:t={}}=e,n=mh(t),r=dh(dh(dh({},hh),n),e.creators);return ph(r)}();function vh(e){return null!=e}function yh(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(vh);return t.length||(t=Array.from(e.files).filter(e=>""!==e.type)),t}function bh(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 xh=()=>({type:"paragraph"}),wh={A:e=>{const t=e.getAttribute("href"),n=e.innerText;return{type:t&&bh(t,n)?"auto-link":"custom-link",url:t??""}},P:xh,BLOCKQUOTE:xh,H1:xh,H2:xh,H3:xh,H4:xh,H5:xh,H6:xh,LI:xh},Ch={CODE:()=>({code:!0}),DEL:()=>({strikethrough:!0}),EM:()=>({italic:!0}),I:()=>({italic:!0}),S:()=>({strikethrough:!0}),STRONG:()=>({bold:!0}),B:()=>({bold:!0})};function Dh(e){const t=[];return"LI"===e.nodeName&&t.push(e),e.childNodes.forEach(e=>{1===e.nodeType&&t.push(...Dh(e))}),t}function Eh(e,t){return e.map(e=>gh("text",t,e))}function Ah(e){if(3===e.nodeType)return e.textContent;if(1!==e.nodeType)return null;if("BR"===e.nodeName)return gh("element",{type:"paragraph"},[]);let t=Array.from(e.childNodes).map(Ah).flat();if("UL"===e.nodeName||"OL"===e.nodeName){t=Dh(e).map(e=>Ah(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("")}]}]),gh("fragment",{},t.filter(e=>"string"!=typeof e));if(wh[e.nodeName]){const n=wh[e.nodeName](e);return gh("element",n,t)}if(Ch[e.nodeName]){const n=Ch[e.nodeName](e);return t.some(e=>e&&"string"!=typeof e&&"type"in e)?gh("fragment",{},t):Eh(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),Eh(t,r)}return t}function Ih(e,t){try{return ql.toDOMRange(e,t)}catch(n){return Ih(e,{anchor:t.anchor,focus:t.anchor})}}const Sh=/Mac|iPod|iPhone|iPad/;function Oh(){return"undefined"!=typeof window&&Sh.test(window.navigator.platform)}const Th={alt:()=>"altKey",ctrl:()=>"ctrlKey",meta:()=>"metaKey",mod:()=>Oh()?"metaKey":"ctrlKey",shift:()=>"shiftKey"};function Bh(e,t,n={}){if(e.key!==t)return!1;return Object.entries(n).filter(([,e])=>"boolean"==typeof e).every(([t,n])=>{const r=Th[t]();return e[r]===n})}const kh=l.default["flushSync".toString()]??function(e){return e()},_h=t.createContext(null);function Fh(){return ye(t.useContext(_h),"Persist is missing from the React tree.")}function jh(e){const[n,r]=Fh(),o=t.useRef(null),i=t.useRef(null);t.useLayoutEffect(()=>{const t=e.current;if(!t)return;const n=e=>{e.animationName===i.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]),t.useLayoutEffect(()=>{const t=e.current;let s;if(t)return n||(s=requestAnimationFrame(()=>{const e=getComputedStyle(t);i.current=e.animationName,"none"!==e.animationName&&e.animationName!==o.current&&"none"!==e.display||r()})),()=>{cancelAnimationFrame(s)}},[n,e,r])}function Rh({children:e}){const[n,r]=t.useState(!0),o=t.useRef(null),i=function(e){const n=Array.isArray(e)?t.Children.only(e):e;return t.isValidElement(n)?n:void 0}(e),s=t.useCallback(()=>{kh(()=>r(!1))},[]);return t.useLayoutEffect(()=>{i&&(r(!0),o.current=i)},[i]),fn.exports.jsx(_h.Provider,{value:[Boolean(i),s],children:i??(n?o.current:null)})}const Nh=t.forwardRef(({container:e=document?.body,asChild:t,...r},o)=>{const i=t?Yr:"div";return e?n.createPortal(fn.exports.jsx(i,{"data-liveblocks-portal":"",...r,ref:o}),e):null});function Ph(e,t,n){return Math.min(Math.max(e,t),n)}function Mh(e,t,n){const r=n-t;return r>0?((e-t)%r+r)%r+t:0}const Lh={wrap:!0};function zh(e){const[n]=t.useState(e);return n}function Hh(e){const n=t.useRef(e);return t.useEffect(()=>{n.current=e},[e]),n}function Uh(e,n){const r=Hh(n);t.useEffect(()=>e.subscribe(()=>r.current()),[e,r])}function Wh(e,t){t&&("function"==typeof e?e(t):e&&"current"in e&&(e.current=t))}function Vh(...e){return t.useCallback(t=>function(e,...t){for(const n of t)Wh(n,e)}(t,...e),[e])}const $h=t.createContext(null),qh=t.createContext(null),Kh=t.createContext(null),Gh=t.createContext(null),Xh=t.createContext(null);function Zh(){return ye(t.useContext(qh),"Composer.Form is missing from the React tree.")}function Yh(){return t.useContext(Kh)}function Jh(){return ye(Yh(),"Composer.Form is missing from the React tree.")}function Qh(e="useComposerSuggestionsContext"){return ye(t.useContext(Gh),`${e} can’t be used outside of Composer.Editor.`)}function ep(){return ye(t.useContext($h),"Composer.Form is missing from the React tree.")}const tp=["top","right","bottom","left"],np=Math.min,rp=Math.max,op=Math.round,ip=Math.floor,sp=e=>({x:e,y:e}),ap={left:"right",right:"left",bottom:"top",top:"bottom"},up={start:"end",end:"start"};function cp(e,t,n){return rp(e,np(t,n))}function lp(e,t){return"function"==typeof e?e(t):e}function dp(e){return e.split("-")[0]}function fp(e){return e.split("-")[1]}function hp(e){return"x"===e?"y":"x"}function pp(e){return"y"===e?"height":"width"}const mp=new Set(["top","bottom"]);function gp(e){return mp.has(dp(e))?"y":"x"}function vp(e){return hp(gp(e))}function yp(e,t,n){void 0===n&&(n=!1);const r=fp(e),o=vp(e),i=pp(o);let s="x"===o?r===(n?"end":"start")?"right":"left":"start"===r?"bottom":"top";return t.reference[i]>t.floating[i]&&(s=Ap(s)),[s,Ap(s)]}function bp(e){return e.replace(/start|end/g,e=>up[e])}const xp=["left","right"],wp=["right","left"],Cp=["top","bottom"],Dp=["bottom","top"];function Ep(e,t,n,r){const o=fp(e);let i=function(e,t,n){switch(e){case"top":case"bottom":return n?t?wp:xp:t?xp:wp;case"left":case"right":return t?Cp:Dp;default:return[]}}(dp(e),"start"===n,r);return o&&(i=i.map(e=>e+"-"+o),t&&(i=i.concat(i.map(bp)))),i}function Ap(e){return e.replace(/left|right|bottom|top/g,e=>ap[e])}function Ip(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 Sp(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 Op(e,t,n){let{reference:r,floating:o}=e;const i=gp(t),s=vp(t),a=pp(s),u=dp(t),c="y"===i,l=r.x+r.width/2-o.width/2,d=r.y+r.height/2-o.height/2,f=r[a]/2-o[a]/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(fp(t)){case"start":h[s]-=f*(n&&c?-1:1);break;case"end":h[s]+=f*(n&&c?-1:1)}return h}async function Tp(e,t){var n;void 0===t&&(t={});const{x:r,y:o,platform:i,rects:s,elements:a,strategy:u}=e,{boundary:c="clippingAncestors",rootBoundary:l="viewport",elementContext:d="floating",altBoundary:f=!1,padding:h=0}=lp(t,e),p=Ip(h),m=a[f?"floating"===d?"reference":"floating":d],g=Sp(await i.getClippingRect({element:null==(n=await(null==i.isElement?void 0:i.isElement(m)))||n?m:m.contextElement||await(null==i.getDocumentElement?void 0:i.getDocumentElement(a.floating)),boundary:c,rootBoundary:l,strategy:u})),v="floating"===d?{x:r,y:o,width:s.floating.width,height:s.floating.height}:s.reference,y=await(null==i.getOffsetParent?void 0:i.getOffsetParent(a.floating)),b=await(null==i.isElement?void 0:i.isElement(y))&&await(null==i.getScale?void 0:i.getScale(y))||{x:1,y:1},x=Sp(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:v,offsetParent:y,strategy:u}):v);return{top:(g.top-x.top+p.top)/b.y,bottom:(x.bottom-g.bottom+p.bottom)/b.y,left:(g.left-x.left+p.left)/b.x,right:(x.right-g.right+p.right)/b.x}}function Bp(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function kp(e){return tp.some(t=>e[t]>=0)}function _p(e){const t=np(...e.map(e=>e.left)),n=np(...e.map(e=>e.top));return{x:t,y:n,width:rp(...e.map(e=>e.right))-t,height:rp(...e.map(e=>e.bottom))-n}}const Fp=new Set(["left","top"]);function jp(){return"undefined"!=typeof window}function Rp(e){return Mp(e)?(e.nodeName||"").toLowerCase():"#document"}function Np(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function Pp(e){var t;return null==(t=(Mp(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function Mp(e){return!!jp()&&(e instanceof Node||e instanceof Np(e).Node)}function Lp(e){return!!jp()&&(e instanceof Element||e instanceof Np(e).Element)}function zp(e){return!!jp()&&(e instanceof HTMLElement||e instanceof Np(e).HTMLElement)}function Hp(e){return!(!jp()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof Np(e).ShadowRoot)}const Up=new Set(["inline","contents"]);function Wp(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=tm(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!Up.has(o)}const Vp=new Set(["table","td","th"]);function $p(e){return Vp.has(Rp(e))}const qp=[":popover-open",":modal"];function Kp(e){return qp.some(t=>{try{return e.matches(t)}catch(e){return!1}})}const Gp=["transform","translate","scale","rotate","perspective"],Xp=["transform","translate","scale","rotate","perspective","filter"],Zp=["paint","layout","strict","content"];function Yp(e){const t=Jp(),n=Lp(e)?tm(e):e;return Gp.some(e=>!!n[e]&&"none"!==n[e])||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||Xp.some(e=>(n.willChange||"").includes(e))||Zp.some(e=>(n.contain||"").includes(e))}function Jp(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}const Qp=new Set(["html","body","#document"]);function em(e){return Qp.has(Rp(e))}function tm(e){return Np(e).getComputedStyle(e)}function nm(e){return Lp(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function rm(e){if("html"===Rp(e))return e;const t=e.assignedSlot||e.parentNode||Hp(e)&&e.host||Pp(e);return Hp(t)?t.host:t}function om(e){const t=rm(e);return em(t)?e.ownerDocument?e.ownerDocument.body:e.body:zp(t)&&Wp(t)?t:om(t)}function im(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);const o=om(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),s=Np(o);if(i){const e=sm(s);return t.concat(s,s.visualViewport||[],Wp(o)?o:[],e&&n?im(e):[])}return t.concat(o,im(o,[],n))}function sm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function am(e){const t=tm(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=zp(e),i=o?e.offsetWidth:n,s=o?e.offsetHeight:r,a=op(n)!==i||op(r)!==s;return a&&(n=i,r=s),{width:n,height:r,$:a}}function um(e){return Lp(e)?e:e.contextElement}function cm(e){const t=um(e);if(!zp(t))return sp(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:i}=am(t);let s=(i?op(n.width):n.width)/r,a=(i?op(n.height):n.height)/o;return s&&Number.isFinite(s)||(s=1),a&&Number.isFinite(a)||(a=1),{x:s,y:a}}const lm=sp(0);function dm(e){const t=Np(e);return Jp()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:lm}function fm(e,t,n,r){void 0===t&&(t=!1),void 0===n&&(n=!1);const o=e.getBoundingClientRect(),i=um(e);let s=sp(1);t&&(r?Lp(r)&&(s=cm(r)):s=cm(e));const a=function(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==Np(e))&&t}(i,n,r)?dm(i):sp(0);let u=(o.left+a.x)/s.x,c=(o.top+a.y)/s.y,l=o.width/s.x,d=o.height/s.y;if(i){const e=Np(i),t=r&&Lp(r)?Np(r):r;let n=e,o=sm(n);for(;o&&r&&t!==n;){const e=cm(o),t=o.getBoundingClientRect(),r=tm(o),i=t.left+(o.clientLeft+parseFloat(r.paddingLeft))*e.x,s=t.top+(o.clientTop+parseFloat(r.paddingTop))*e.y;u*=e.x,c*=e.y,l*=e.x,d*=e.y,u+=i,c+=s,n=Np(o),o=sm(n)}}return Sp({width:l,height:d,x:u,y:c})}function hm(e,t){const n=nm(e).scrollLeft;return t?t.left+n:fm(Pp(e)).left+n}function pm(e,t){const n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-hm(e,n),y:n.top+t.scrollTop}}const mm=new Set(["absolute","fixed"]);function gm(e,t,n){let r;if("viewport"===t)r=function(e,t){const n=Np(e),r=Pp(e),o=n.visualViewport;let i=r.clientWidth,s=r.clientHeight,a=0,u=0;if(o){i=o.width,s=o.height;const e=Jp();(!e||e&&"fixed"===t)&&(a=o.offsetLeft,u=o.offsetTop)}const c=hm(r);if(c<=0){const e=r.ownerDocument,t=e.body,n=getComputedStyle(t),o="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,s=Math.abs(r.clientWidth-t.clientWidth-o);s<=25&&(i-=s)}else c<=25&&(i+=c);return{width:i,height:s,x:a,y:u}}(e,n);else if("document"===t)r=function(e){const t=Pp(e),n=nm(e),r=e.ownerDocument.body,o=rp(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),i=rp(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let s=-n.scrollLeft+hm(e);const a=-n.scrollTop;return"rtl"===tm(r).direction&&(s+=rp(t.clientWidth,r.clientWidth)-o),{width:o,height:i,x:s,y:a}}(Pp(e));else if(Lp(t))r=function(e,t){const n=fm(e,!0,"fixed"===t),r=n.top+e.clientTop,o=n.left+e.clientLeft,i=zp(e)?cm(e):sp(1);return{width:e.clientWidth*i.x,height:e.clientHeight*i.y,x:o*i.x,y:r*i.y}}(t,n);else{const n=dm(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Sp(r)}function vm(e,t){const n=rm(e);return!(n===t||!Lp(n)||em(n))&&("fixed"===tm(n).position||vm(n,t))}function ym(e,t,n){const r=zp(t),o=Pp(t),i="fixed"===n,s=fm(e,!0,i,t);let a={scrollLeft:0,scrollTop:0};const u=sp(0);function c(){u.x=hm(o)}if(r||!r&&!i)if(("body"!==Rp(t)||Wp(o))&&(a=nm(t)),r){const e=fm(t,!0,i,t);u.x=e.x+t.clientLeft,u.y=e.y+t.clientTop}else o&&c();i&&!r&&o&&c();const l=!o||r||i?sp(0):pm(o,a);return{x:s.left+a.scrollLeft-u.x-l.x,y:s.top+a.scrollTop-u.y-l.y,width:s.width,height:s.height}}function bm(e){return"static"===tm(e).position}function xm(e,t){if(!zp(e)||"fixed"===tm(e).position)return null;if(t)return t(e);let n=e.offsetParent;return Pp(e)===n&&(n=n.ownerDocument.body),n}function wm(e,t){const n=Np(e);if(Kp(e))return n;if(!zp(e)){let t=rm(e);for(;t&&!em(t);){if(Lp(t)&&!bm(t))return t;t=rm(t)}return n}let r=xm(e,t);for(;r&&$p(r)&&bm(r);)r=xm(r,t);return r&&em(r)&&bm(r)&&!Yp(r)?n:r||function(e){let t=rm(e);for(;zp(t)&&!em(t);){if(Yp(t))return t;if(Kp(t))return null;t=rm(t)}return null}(e)||n}const Cm={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e;const i="fixed"===o,s=Pp(r),a=!!t&&Kp(t.floating);if(r===s||a&&i)return n;let u={scrollLeft:0,scrollTop:0},c=sp(1);const l=sp(0),d=zp(r);if((d||!d&&!i)&&(("body"!==Rp(r)||Wp(s))&&(u=nm(r)),zp(r))){const e=fm(r);c=cm(r),l.x=e.x+r.clientLeft,l.y=e.y+r.clientTop}const f=!s||d||i?sp(0):pm(s,u);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:Pp,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const i="clippingAncestors"===n?Kp(t)?[]:function(e,t){const n=t.get(e);if(n)return n;let r=im(e,[],!1).filter(e=>Lp(e)&&"body"!==Rp(e)),o=null;const i="fixed"===tm(e).position;let s=i?rm(e):e;for(;Lp(s)&&!em(s);){const t=tm(s),n=Yp(s);n||"fixed"!==t.position||(o=null),(i?!n&&!o:!n&&"static"===t.position&&o&&mm.has(o.position)||Wp(s)&&!n&&vm(e,s))?r=r.filter(e=>e!==s):o=t,s=rm(s)}return t.set(e,r),r}(t,this._c):[].concat(n),s=[...i,r],a=s[0],u=s.reduce((e,n)=>{const r=gm(t,n,o);return e.top=rp(r.top,e.top),e.right=np(r.right,e.right),e.bottom=np(r.bottom,e.bottom),e.left=rp(r.left,e.left),e},gm(t,a,o));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}},getOffsetParent:wm,getElementRects:async function(e){const t=this.getOffsetParent||wm,n=this.getDimensions,r=await n(e.floating);return{reference:ym(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}=am(e);return{width:t,height:n}},getScale:cm,isElement:Lp,isRTL:function(e){return"rtl"===tm(e).direction}};function Dm(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Em(e,t,n,r){void 0===r&&(r={});const{ancestorScroll:o=!0,ancestorResize:i=!0,elementResize:s="function"==typeof ResizeObserver,layoutShift:a="function"==typeof IntersectionObserver,animationFrame:u=!1}=r,c=um(e),l=o||i?[...c?im(c):[],...im(t)]:[];l.forEach(e=>{o&&e.addEventListener("scroll",n,{passive:!0}),i&&e.addEventListener("resize",n)});const d=c&&a?function(e,t){let n,r=null;const o=Pp(e);function i(){var e;clearTimeout(n),null==(e=r)||e.disconnect(),r=null}return function s(a,u){void 0===a&&(a=!1),void 0===u&&(u=1),i();const c=e.getBoundingClientRect(),{left:l,top:d,width:f,height:h}=c;if(a||t(),!f||!h)return;const p={rootMargin:-ip(d)+"px "+-ip(o.clientWidth-(l+f))+"px "+-ip(o.clientHeight-(d+h))+"px "+-ip(l)+"px",threshold:rp(0,np(1,u))||1};let m=!0;function g(t){const r=t[0].intersectionRatio;if(r!==u){if(!m)return s();r?s(!1,r):n=setTimeout(()=>{s(!1,1e-7)},1e3)}1!==r||Dm(c,e.getBoundingClientRect())||s(),m=!1}try{r=new IntersectionObserver(g,{...p,root:o.ownerDocument})}catch(e){r=new IntersectionObserver(g,p)}r.observe(e)}(!0),i}(c,n):null;let f,h=-1,p=null;s&&(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?fm(e):null;return u&&function t(){const r=fm(e);m&&!Dm(m,r)&&n();m=r,f=requestAnimationFrame(t)}(),n(),()=>{var e;l.forEach(e=>{o&&e.removeEventListener("scroll",n),i&&e.removeEventListener("resize",n)}),null==d||d(),null==(e=p)||e.disconnect(),p=null,u&&cancelAnimationFrame(f)}}const Am=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:o,y:i,placement:s,middlewareData:a}=t,u=await async function(e,t){const{placement:n,platform:r,elements:o}=e,i=await(null==r.isRTL?void 0:r.isRTL(o.floating)),s=dp(n),a=fp(n),u="y"===gp(n),c=Fp.has(s)?-1:1,l=i&&u?-1:1,d=lp(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 a&&"number"==typeof p&&(h="end"===a?-1*p:p),u?{x:h*l,y:f*c}:{x:f*c,y:h*l}}(t,e);return s===(null==(n=a.offset)?void 0:n.placement)&&null!=(r=a.arrow)&&r.alignmentOffset?{}:{x:o+u.x,y:i+u.y,data:{...u,placement:s}}}}},Im=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:i=!0,crossAxis:s=!1,limiter:a={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...u}=lp(e,t),c={x:n,y:r},l=await Tp(t,u),d=gp(dp(o)),f=hp(d);let h=c[f],p=c[d];if(i){const e="y"===f?"bottom":"right";h=cp(h+l["y"===f?"top":"left"],h,h-l[e])}if(s){const e="y"===d?"bottom":"right";p=cp(p+l["y"===d?"top":"left"],p,p-l[e])}const m=a.fn({...t,[f]:h,[d]:p});return{...m,data:{x:m.x-n,y:m.y-r,enabled:{[f]:i,[d]:s}}}}}},Sm=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,r;const{placement:o,middlewareData:i,rects:s,initialPlacement:a,platform:u,elements:c}=t,{mainAxis:l=!0,crossAxis:d=!0,fallbackPlacements:f,fallbackStrategy:h="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:m=!0,...g}=lp(e,t);if(null!=(n=i.arrow)&&n.alignmentOffset)return{};const v=dp(o),y=gp(a),b=dp(a)===a,x=await(null==u.isRTL?void 0:u.isRTL(c.floating)),w=f||(b||!m?[Ap(a)]:function(e){const t=Ap(e);return[bp(e),t,bp(t)]}(a)),C="none"!==p;!f&&C&&w.push(...Ep(a,m,p,x));const D=[a,...w],E=await Tp(t,g),A=[];let I=(null==(r=i.flip)?void 0:r.overflows)||[];if(l&&A.push(E[v]),d){const e=yp(o,s,x);A.push(E[e[0]],E[e[1]])}if(I=[...I,{placement:o,overflows:A}],!A.every(e=>e<=0)){var S,O;const e=((null==(S=i.flip)?void 0:S.index)||0)+1,t=D[e];if(t){if(!("alignment"===d&&y!==gp(t))||I.every(e=>gp(e.placement)!==y||e.overflows[0]>0))return{data:{index:e,overflows:I},reset:{placement:t}}}let n=null==(O=I.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 T;const e=null==(T=I.filter(e=>{if(C){const t=gp(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:T[0];e&&(n=e);break}case"initialPlacement":n=a}if(o!==n)return{reset:{placement:n}}}return{}}}},Om=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:o,rects:i,platform:s,elements:a}=t,{apply:u=()=>{},...c}=lp(e,t),l=await Tp(t,c),d=dp(o),f=fp(o),h="y"===gp(o),{width:p,height:m}=i.floating;let g,v;"top"===d||"bottom"===d?(g=d,v=f===(await(null==s.isRTL?void 0:s.isRTL(a.floating))?"start":"end")?"left":"right"):(v=d,g="end"===f?"top":"bottom");const y=m-l.top-l.bottom,b=p-l.left-l.right,x=np(m-l[g],y),w=np(p-l[v],b),C=!t.middlewareData.shift;let D=x,E=w;if(null!=(n=t.middlewareData.shift)&&n.enabled.x&&(E=b),null!=(r=t.middlewareData.shift)&&r.enabled.y&&(D=y),C&&!f){const e=rp(l.left,0),t=rp(l.right,0),n=rp(l.top,0),r=rp(l.bottom,0);h?E=p-2*(0!==e||0!==t?e+t:rp(l.left,l.right)):D=m-2*(0!==n||0!==r?n+r:rp(l.top,l.bottom))}await u({...t,availableWidth:E,availableHeight:D});const A=await s.getDimensions(a.floating);return p!==A.width||m!==A.height?{reset:{rects:!0}}:{}}}},Tm=function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:r="referenceHidden",...o}=lp(e,t);switch(r){case"referenceHidden":{const e=Bp(await Tp(t,{...o,elementContext:"reference"}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:kp(e)}}}case"escaped":{const e=Bp(await Tp(t,{...o,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:kp(e)}}}default:return{}}}}},Bm=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:i,platform:s,elements:a,middlewareData:u}=t,{element:c,padding:l=0}=lp(e,t)||{};if(null==c)return{};const d=Ip(l),f={x:n,y:r},h=vp(o),p=pp(h),m=await s.getDimensions(c),g="y"===h,v=g?"top":"left",y=g?"bottom":"right",b=g?"clientHeight":"clientWidth",x=i.reference[p]+i.reference[h]-f[h]-i.floating[p],w=f[h]-i.reference[h],C=await(null==s.getOffsetParent?void 0:s.getOffsetParent(c));let D=C?C[b]:0;D&&await(null==s.isElement?void 0:s.isElement(C))||(D=a.floating[b]||i.floating[p]);const E=x/2-w/2,A=D/2-m[p]/2-1,I=np(d[v],A),S=np(d[y],A),O=I,T=D-m[p]-S,B=D/2-m[p]/2+E,k=cp(O,B,T),_=!u.arrow&&null!=fp(o)&&B!==k&&i.reference[p]/2-(B<O?I:S)-m[p]/2<0,F=_?B<O?B-O:B-T:0;return{[h]:f[h]+F,data:{[h]:k,centerOffset:B-k-F,..._&&{alignmentOffset:F}},reset:_}}}),km=function(e){return void 0===e&&(e={}),{name:"inline",options:e,async fn(t){const{placement:n,elements:r,rects:o,platform:i,strategy:s}=t,{padding:a=2,x:u,y:c}=lp(e,t),l=Array.from(await(null==i.getClientRects?void 0:i.getClientRects(r.reference))||[]),d=function(e){const t=e.slice().sort((e,t)=>e.y-t.y),n=[];let r=null;for(let e=0;e<t.length;e++){const o=t[e];!r||o.y-r.y>r.height/2?n.push([o]):n[n.length-1].push(o),r=o}return n.map(e=>Sp(_p(e)))}(l),f=Sp(_p(l)),h=Ip(a);const p=await i.getElementRects({reference:{getBoundingClientRect:function(){if(2===d.length&&d[0].left>d[1].right&&null!=u&&null!=c)return d.find(e=>u>e.left-h.left&&u<e.right+h.right&&c>e.top-h.top&&c<e.bottom+h.bottom)||f;if(d.length>=2){if("y"===gp(n)){const e=d[0],t=d[d.length-1],r="top"===dp(n),o=e.top,i=t.bottom,s=r?e.left:t.left,a=r?e.right:t.right;return{top:o,bottom:i,left:s,right:a,width:a-s,height:i-o,x:s,y:o}}const e="left"===dp(n),t=rp(...d.map(e=>e.right)),r=np(...d.map(e=>e.left)),o=d.filter(n=>e?n.left===r:n.right===t),i=o[0].top,s=o[o.length-1].bottom;return{top:i,bottom:s,left:r,right:t,width:t-r,height:s-i,x:r,y:i}}return f}},floating:r.floating,strategy:s});return o.reference.x!==p.reference.x||o.reference.y!==p.reference.y||o.reference.width!==p.reference.width||o.reference.height!==p.reference.height?{reset:{rects:p}}:{}}}},_m=function(e){return void 0===e&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:i,middlewareData:s}=t,{offset:a=0,mainAxis:u=!0,crossAxis:c=!0}=lp(e,t),l={x:n,y:r},d=gp(o),f=hp(d);let h=l[f],p=l[d];const m=lp(a,t),g="number"==typeof m?{mainAxis:m,crossAxis:0}:{mainAxis:0,crossAxis:0,...m};if(u){const e="y"===f?"height":"width",t=i.reference[f]-i.floating[e]+g.mainAxis,n=i.reference[f]+i.reference[e]-g.mainAxis;h<t?h=t:h>n&&(h=n)}if(c){var v,y;const e="y"===f?"width":"height",t=Fp.has(dp(o)),n=i.reference[d]-i.floating[e]+(t&&(null==(v=s.offset)?void 0:v[d])||0)+(t?0:g.crossAxis),r=i.reference[d]+i.reference[e]+(t?0:(null==(y=s.offset)?void 0:y[d])||0)-(t?g.crossAxis:0);p<n?p=n:p>r&&(p=r)}return{[f]:h,[d]:p}}}},Fm=(e,t,n)=>{const r=new Map,o={platform:Cm,...n},i={...o.platform,_c:r};return(async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:s}=n,a=i.filter(Boolean),u=await(null==s.isRTL?void 0:s.isRTL(t));let c=await s.getElementRects({reference:e,floating:t,strategy:o}),{x:l,y:d}=Op(c,r,u),f=r,h={},p=0;for(let n=0;n<a.length;n++){const{name:i,fn:m}=a[n],{x:g,y:v,data:y,reset:b}=await m({x:l,y:d,initialPlacement:r,placement:f,strategy:o,middlewareData:h,rects:c,platform:s,elements:{reference:e,floating:t}});l=null!=g?g:l,d=null!=v?v:d,h={...h,[i]:{...h[i],...y}},b&&p<=50&&(p++,"object"==typeof b&&(b.placement&&(f=b.placement),b.rects&&(c=!0===b.rects?await s.getElementRects({reference:e,floating:t,strategy:o}):b.rects),({x:l,y:d}=Op(c,f,u))),n=-1)}return{x:l,y:d,placement:f,strategy:o,middlewareData:h}})(e,t,{...o,platform:i})};var jm="undefined"!=typeof document?t.useLayoutEffect:function(){};function Rm(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(!Rm(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)&&!Rm(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function Nm(e){if("undefined"==typeof window)return 1;return(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Pm(e,t){const n=Nm(e);return Math.round(t*n)/n}function Mm(e){const t=u.useRef(e);return jm(()=>{t.current=e}),t}function Lm(e){void 0===e&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:i,floating:s}={},transform:a=!0,whileElementsMounted:l,open:d}=e,[f,h]=u.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=u.useState(r);Rm(p,r)||m(r);const[g,v]=u.useState(null),[y,b]=u.useState(null),x=u.useCallback(e=>{e!==E.current&&(E.current=e,v(e))},[]),w=u.useCallback(e=>{e!==A.current&&(A.current=e,b(e))},[]),C=i||g,D=s||y,E=u.useRef(null),A=u.useRef(null),I=u.useRef(f),S=null!=l,O=Mm(l),T=Mm(o),B=Mm(d),k=u.useCallback(()=>{if(!E.current||!A.current)return;const e={placement:t,strategy:n,middleware:p};T.current&&(e.platform=T.current),Fm(E.current,A.current,e).then(e=>{const t={...e,isPositioned:!1!==B.current};_.current&&!Rm(I.current,t)&&(I.current=t,c.flushSync(()=>{h(t)}))})},[p,t,n,T,B]);jm(()=>{!1===d&&I.current.isPositioned&&(I.current.isPositioned=!1,h(e=>({...e,isPositioned:!1})))},[d]);const _=u.useRef(!1);jm(()=>(_.current=!0,()=>{_.current=!1}),[]),jm(()=>{if(C&&(E.current=C),D&&(A.current=D),C&&D){if(O.current)return O.current(C,D,k);k()}},[C,D,k,O,S]);const F=u.useMemo(()=>({reference:E,floating:A,setReference:x,setFloating:w}),[x,w]),j=u.useMemo(()=>({reference:C,floating:D}),[C,D]),R=u.useMemo(()=>{const e={position:n,left:0,top:0};if(!j.floating)return e;const t=Pm(j.floating,f.x),r=Pm(j.floating,f.y);return a?{...e,transform:"translate("+t+"px, "+r+"px)",...Nm(j.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:r}},[n,a,j.floating,f.x,f.y]);return u.useMemo(()=>({...f,update:k,refs:F,elements:j,floatingStyles:R}),[f,k,F,j,R])}const zm=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?Bm({element:n.current,padding:r}).fn(t):{}:n?Bm({element:n,padding:r}).fn(t):{};var o}}),Hm=(e,t)=>({...Am(e),options:[e,t]}),Um=(e,t)=>({...Im(e),options:[e,t]}),Wm=(e,t)=>({..._m(e),options:[e,t]}),Vm=(e,t)=>({...Sm(e),options:[e,t]}),$m=(e,t)=>({...Om(e),options:[e,t]}),qm=(e,t)=>({...Tm(e),options:[e,t]}),Km=(e,t)=>({...km(e),options:[e,t]}),Gm=(e,t)=>({...zm(e),options:[e,t]});var Xm="@liveblocks/react",Zm="2.15.1";function Ym(e){const[n,r]=t.useState(!1);return t.useEffect(()=>{r(!0)},[]),fn.exports.jsx(t.Suspense,{fallback:e.fallback,children:n?"function"==typeof e.children?e.children():e.children:e.fallback})}g(Xm,Zm,"esm");const Jm=[];function Qm(e){switch(e){case"start":return"end";case"end":return"start";default:return"center"}}function eg(e){const[t,n="center"]=e.split("-");return[t,n]}function tg(){const[e,n]=t.useState(null),r=t.useCallback(n,[n]),[o,i]=t.useState();return t.useLayoutEffect(()=>{e&&i(window.getComputedStyle(e).zIndex)},[e]),[r,o]}function ng({type:e="bounds",position:n,alignment:r,dir:o,open:i}){return Lm({...t.useMemo(()=>{const t={padding:10},i=["range"===e?Km(t):null,Vm({...t,crossAxis:!1}),qm(t),Um({...t,limiter:Wm()}),"range"===e?Hm(6):null,$m({...t,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"===r?n:`${n}-${"rtl"===o?Qm(r):r}`,middleware:i,whileElementsMounted:(...e)=>Em(...e,{animationFrame:!0})}},[r,n,o,e]),open:i})}function rg({onDragEnter:e,onDragLeave:n,onDragOver:r,onDrop:o,disabled:i}){const{isDisabled:s}=ep(),a=s||i,{createAttachments:u}=Jh(),[c,l]=t.useState(!1),d=Hh(c);return[c,{onDragEnter:t.useCallback(t=>{if(e?.(t),d.current||a||t.isDefaultPrevented())return;t.dataTransfer.types.includes("Files")&&(t.preventDefault(),t.stopPropagation(),l(!0))},[e,a]),onDragLeave:t.useCallback(e=>{n?.(e),!d.current||a||e.isDefaultPrevented()||(e.relatedTarget?e.relatedTarget===e.currentTarget||e.currentTarget.contains(e.relatedTarget):e.currentTarget!==e.target)||(e.preventDefault(),e.stopPropagation(),l(!1))},[n,a]),onDragOver:t.useCallback(e=>{r?.(e),a||e.isDefaultPrevented()||(e.preventDefault(),e.stopPropagation())},[r,a]),onDrop:t.useCallback(e=>{if(o?.(e),!d.current||a||e.isDefaultPrevented())return;e.preventDefault(),e.stopPropagation(),l(!1);const t=yh(e.dataTransfer);u(t)},[o,a,u]),"data-drop":c?"":void 0,"data-disabled":a?"":void 0}]}class og extends Error{origin;name="AttachmentTooLargeError";constructor(e,t="client"){super(e),this.origin=t}}function ig(e){e.preventDefault()}function sg(e,n){const r=or(),o=zh(e),i=zh(()=>function(e,t,n){const r=new Map,o=new Map,i=$();let s=null;function a(){s=null,i.notify()}function u(n){const i=new AbortController;o.set(n.id,i),e[Xe].httpClient.uploadAttachment({roomId:t,attachment:n,signal:i.signal}).then(()=>{r.set(n.id,{...n,status:"uploaded"}),a()}).catch(e=>{e instanceof Error&&"AbortError"!==e.name&&"TimeoutError"!==e.name&&(r.set(n.id,{...n,status:"error",error:e instanceof z&&413===e.status?new og("File is too large.","server"):e}),a())})}return{addAttachments:function(e){if(0===e.length)return;const t=e.filter(e=>!r.has(e.id)),o=[];for(const e of t)if("localAttachment"===e.type){if(e.file.size>n.maxFileSize){r.set(e.id,{...e,status:"error",error:new og("File is too large.","client")});continue}r.set(e.id,{...e,status:"uploading"}),o.push(e)}else r.set(e.id,e);t.length>0&&a();for(const e of o)u(e)},removeAttachment:function(e){const t=o.get(e);t?.abort(),r.delete(e),o.delete(e),a()},getSnapshot:function(){return s||(s=Array.from(r.values())),s},subscribe:i.subscribe,clear:function(){o.forEach(e=>e.abort()),o.clear(),r.clear(),a()}}}(r,n.roomId,n));t.useEffect(()=>{i.addAttachments(o)},[o,i]),t.useEffect(()=>()=>{i.clear()},[i]);const s=t.useSyncExternalStore(i.subscribe,i.getSnapshot,i.getSnapshot),a=t.useMemo(()=>s.some(e=>"localAttachment"===e.type&&"uploading"===e.status),[s]);return t.useEffect(()=>{if(a)return window.addEventListener("beforeunload",ig),()=>{window.removeEventListener("beforeunload",ig)}},[a]),{attachments:s,isUploadingAttachments:a,addAttachments:i.addAttachments,removeAttachment:i.removeAttachment,clearAttachments:i.clear}}const ag={version:1,content:[{type:"paragraph",children:[{text:""}]}]};function ug({createAttachments:e,pasteFilesAsAttachments:t}){return function(e){const{normalizeNode:t}=e;return e.normalizeNode=n=>{const[r,o]=n;if(Wi.isElement(r)&&"paragraph"===r.type)for(const[t,n]of Ki.children(e,o))if(Wi.isElement(t)&&!e.isInline(t))return void Us.unwrapNodes(e,{at:n});!Wi.isElement(r)||"auto-link"!==r.type&&"custom-link"!==r.type||(0===r.children.length||1===r.children.length&&""===r.children[0]?.text)&&Us.removeNodes(e,{at:o}),t(n)},e}(function(e){const{isInline:t,isVoid:n,markableVoid:r,deleteBackward:o}=e;return e.isInline=e=>Ia(e)||t(e),e.isVoid=e=>Ia(e)||n(e),e.markableVoid=e=>Ia(e)||r(e),e.deleteBackward=t=>{const{selection:n}=e;if(n&&Hi.isCollapsed(n)){const[r]=Ji.nodes(e,{at:"character"===t?Ji.before(e,n,{unit:"character"}):n,match:Ia});o(t),r&&Us.insertText(e,Aa)}else o(t)},e}(Ff(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(!jf(r)){if(Af(r)){const t=Ki.parent(e,o);if(jf(t))return;if(Rf(t)){const n=Oi.parent(o);if($f(e,[t,n]),!If(r)){const t=Tf(r);Us.unsetNodes(e,t,{at:o})}}else qf(e,[r,o]),Kf(e,[r,o])}n(t)}},e.deleteBackward=t=>{r(t);const{selection:n}=e;if(!n)return;if(!Hi.isCollapsed(n))return;const[o]=Ji.nodes(e,{at:n,match:Rf,mode:"lowest"});o&&Us.unwrapNodes(e,{match:Rf})},e}(function(e){const{insertText:t}=e;return e.insertText=(n,r)=>{if(!e.selection||!Hi.isCollapsed(e.selection))return t(n,r);let o=!0;for(const t of Cf)"mark"===t.type&&Ef(e,n,t)&&(o=!1);o&&t(n,r)},e}(function(e){const{onChange:t}=e;return e.onChange=n=>{Gf(e,e.children)&&kf(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=yh(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=Ah(n);if(null!==r&&Array.isArray(r))return void Us.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&&Us.setSelection(t,r.selectionBefore),Ma.withoutSaving(t,()=>{Ji.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];Ma.withoutSaving(t,()=>{Ji.withoutNormalizing(t,()=>{var e=r.operations.map(Zi.inverse).reverse();for(var n of e)t.apply(n);r.selectionBefore&&Us.setSelection(t,r.selectionBefore)})}),t.writeHistory("redos",r),e.undos.pop()}},t.apply=e=>{var{operations:r,history:o}=t,{undos:i}=o,s=i[i.length-1],a=s&&s.operations[s.operations.length-1],u=Ma.isSaving(t),c=Ma.isMerging(t);if(null==u&&(u=za(e)),u){if(null==c&&(c=null!=s&&(0!==r.length||La(e,a))),Ma.isSplittingOnce(t)&&(c=!1,Ma.setSplittingOnce(t,void 0)),s&&c)s.operations.push(e);else{var l={operations:[e],selectionBefore:t.selection};t.writeHistory("undos",l)}for(;i.length>100;)i.shift();o.redos=[]}n(e)},t.writeHistory=(e,n)=>{t.history[e].push(n)},t})(pf(ba())),{createAttachments:e,pasteFilesAsAttachments:t})))))))}function cg({Mention:e,attributes:t,children:n,element:r}){const o=Fd();return fn.exports.jsxs("span",{...t,children:[r.id?fn.exports.jsx(e,{userId:r.id,isSelected:o}):null,n]})}function lg({Link:e,attributes:n,element:r,children:o}){const i=t.useMemo(()=>Ta(r.url)??r.url,[r.url]);return fn.exports.jsx("span",{...n,children:fn.exports.jsx(e,{href:i,children:o})})}function dg({id:e,itemId:n,userIds:r,selectedUserId:o,setSelectedUserId:i,mentionDraft:s,setMentionDraft:a,onItemSelect:u,position:c="top",dir:l,MentionSuggestions:d}){const f=$c(),{onEditorChange:h}=Zh(),{isFocused:p}=ep(),{portalContainer:m}=xf(),[g,v]=tg(),y=p&&void 0!==s?.range&&void 0!==r,{refs:{setReference:b,setFloating:x},strategy:w,isPositioned:C,placement:D,x:E,y:A}=ng({position:c,dir:l,alignment:"start",open:y});return Uh(h,()=>{a(function(e){const{selection:t}=e;if(!t||!Hi.isCollapsed(t))return;const n=Da(e,t);if(!n)return;const r=Ji.string(e,n);return r.startsWith(Aa)?{range:n,text:r.substring(1)}:void 0}(f))}),t.useLayoutEffect(()=>{if(!s)return void b(null);const e=Ih(f,s.range);b(e??null)},[b,f,s]),fn.exports.jsx(Rh,{children:y?fn.exports.jsx(Gh.Provider,{value:{id:e,itemId:n,selectedValue:o,setSelectedValue:i,onItemSelect:u,placement:D,dir:l,ref:g},children:fn.exports.jsx(Nh,{ref:x,container:m,style:{position:w,top:0,left:0,transform:C?`translate3d(${Math.round(E)}px, ${Math.round(A)}px, 0)`:"translate3d(0, -200%, 0)",minWidth:"max-content",zIndex:v},children:fn.exports.jsx(d,{userIds:r,selectedUserId:o})})}):null})}function fg({id:e,position:n="top",dir:r,FloatingToolbar:o,hasFloatingToolbarRange:i,setHasFloatingToolbarRange:s}){const a=$c(),{onEditorChange:u}=Zh(),{isFocused:c}=ep(),{portalContainer:l}=xf(),[d,f]=tg(),[h,p]=t.useState(!1),m=c&&!h&&i,{refs:{setReference:g,setFloating:v},strategy:y,isPositioned:b,placement:x,x:w,y:C}=ng({type:"range",position:n,dir:r,alignment:"center",open:m});return t.useLayoutEffect(()=>{if(!c)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)}},[c]),Uh(u,()=>{g(null),requestAnimationFrame(()=>{const e=window.getSelection();if(a.selection&&!Hi.isCollapsed(a.selection)&&e&&e.rangeCount){s(!0);const t=e.getRangeAt(0);g(t)}else s(!1),g(null)})}),fn.exports.jsx(Rh,{children:m?fn.exports.jsx(Xh.Provider,{value:{id:e,placement:x,dir:r,ref:d},children:fn.exports.jsx(Nh,{ref:v,container:l,style:{position:y,top:0,left:0,transform:b?`translate3d(${Math.round(w)}px, ${Math.round(C)}px, 0)`:"translate3d(0, -200%, 0)",minWidth:"max-content",zIndex:f},children:fn.exports.jsx(o,{})})}):null})}const hg=t.forwardRef(({children:e,onPointerDown:n,style:r,asChild:o,...i},s)=>{const[a]=Fh(),u=t.useRef(null),{id:c,ref:l,placement:d,dir:f}=function(e="useComposerFloatingToolbarContext"){return ye(t.useContext(Xh),`${e} can’t be used outside of Composer.Editor.`)}("ComposerFloatingToolbar"),h=Vh(s,l,u),[p,m]=t.useMemo(()=>eg(d),[d]),g=o?Yr:"div";jh(u);const v=t.useCallback(e=>{n?.(e),e.preventDefault(),e.stopPropagation()},[n]);return fn.exports.jsx(g,{dir:f,role:"toolbar",id:c,"aria-label":"Floating toolbar",...i,onPointerDown:v,"data-state":a?"open":"closed","data-side":p,"data-align":m,style:{display:"flex",flexDirection:"row",maxWidth:"var(--lb-composer-floating-available-width)",overflowX:"auto",...r},ref:h,children:e})});function pg({Mention:e,Link:t,...n}){const{attributes:r,children:o,element:i}=n;switch(i.type){case"mention":return fn.exports.jsx(cg,{Mention:e,...n});case"auto-link":case"custom-link":return fn.exports.jsx(lg,{Link:t,...n});case"paragraph":return fn.exports.jsx("p",{...r,style:{position:"relative"},children:o});default:return null}}function mg({attributes:e,children:t,leaf:n}){return n.bold&&(t=fn.exports.jsx("strong",{children:t})),n.italic&&(t=fn.exports.jsx("em",{children:t})),n.strikethrough&&(t=fn.exports.jsx("s",{children:t})),n.code&&(t=fn.exports.jsx("code",{children:t})),fn.exports.jsx("span",{...e,children:t})}function gg({attributes:e,children:t}){const{opacity:n,...r}=e.style;return fn.exports.jsx("span",{...e,style:r,"data-placeholder":"",children:t})}const vg=t.forwardRef(({children:e,asChild:t,...n},r)=>{const o=t?Yr:"span",i=Fd();return fn.exports.jsx(o,{"data-selected":i||void 0,...n,ref:r,children:e})}),yg=t.forwardRef(({children:e,asChild:t,...n},r)=>{const o=t?Yr:"a";return fn.exports.jsx(o,{target:"_blank",rel:"noopener noreferrer nofollow",...n,ref:r,children:e})}),bg=t.forwardRef(({children:e,style:n,asChild:r,...o},i)=>{const[s]=Fh(),a=t.useRef(null),{ref:u,placement:c,dir:l}=Qh("ComposerSuggestions"),d=Vh(i,u,a),[f,h]=t.useMemo(()=>eg(c),[c]),p=r?Yr:"div";return jh(a),fn.exports.jsx(p,{dir:l,...o,"data-state":s?"open":"closed","data-side":f,"data-align":h,style:{display:"flex",flexDirection:"column",maxHeight:"var(--lb-composer-floating-available-height)",overflowY:"auto",...n},ref:d,children:e})}),xg=t.forwardRef(({children:e,asChild:t,...n},r)=>{const{id:o}=Qh("ComposerSuggestionsList"),i=t?Yr:"ul";return fn.exports.jsx(i,{role:"listbox",id:o,"aria-label":"Suggestions list",...n,ref:r,children:e})}),wg=t.forwardRef(({value:e,children:n,onPointerMove:r,onPointerDown:o,onClick:i,asChild:s,...a},u)=>{const c=t.useRef(null),l=Vh(u,c),{selectedValue:d,setSelectedValue:f,itemId:h,onItemSelect:p}=Qh("ComposerSuggestionsListItem"),m=s?Yr:"li",g=t.useMemo(()=>d===e,[d,e]),v=t.useMemo(()=>h(e),[h,e]);t.useEffect(()=>{c?.current&&g&&c.current.scrollIntoView({block:"nearest"})},[g]);const y=t.useCallback(t=>{r?.(t),t.isDefaultPrevented()||f(e)},[r,f,e]),b=t.useCallback(e=>{o?.(e),e.preventDefault(),e.stopPropagation()},[o]),x=t.useCallback(t=>{i?.(t);const n=t.isDefaultPrevented();t.preventDefault(),t.stopPropagation(),n||p(e)},[i,p,e]);return fn.exports.jsx(m,{role:"option",id:v,"data-selected":g||void 0,"aria-selected":g||void 0,onPointerMove:y,onPointerDown:b,onClick:x,...a,ref:l,children:n})}),Cg={Link:({href:e,children:t})=>fn.exports.jsx(yg,{href:e,children:t}),Mention:({userId:e})=>fn.exports.jsxs(vg,{children:[Aa,e]}),MentionSuggestions:({userIds:e})=>e.length>0?fn.exports.jsx(bg,{children:fn.exports.jsx(xg,{children:e.map(e=>fn.exports.jsx(wg,{value:e,children:e},e))})}):null},Dg=t.forwardRef(({defaultValue:e,onKeyDown:n,onFocus:r,onBlur:o,disabled:i,autoFocus:s,components:a,dir:u,...c},l)=>{const d=rr(),{editor:f,validate:h,setFocused:p,onEditorChange:m,roomId:g}=Zh(),{submit:v,focus:y,blur:b,select:x,canSubmit:w,isDisabled:C,isFocused:D}=ep(),E=C||i,A=zh(e??ag),I=t.useMemo(()=>{return(e=A)&&e?.content?e.content.map(e=>{if("paragraph"!==e.type)return null;const t=e.children.map(e=>{return Sa(e)?{type:"mention",id:e.id,children:[{text:""}]}:Oa(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(vh);return{...e,children:t}}).filter(vh):Jm;var e},[A]),{Link:S,Mention:O,MentionSuggestions:T,FloatingToolbar:B}=t.useMemo(()=>({...Cg,...a}),[a]),[k,_]=t.useState(!1),F=jr(),j=!d||F,[R,N]=t.useState(),P=Ur(g,R?.text),[M,L,z,H]=function(e,n,r){const{wrap:o}=t.useMemo(()=>({...Lh,...r}),[r]),i=t.useMemo(()=>o?Mh:Ph,[o]),[s,a]=t.useState(e);return t.useEffect(()=>{a(e=>Ph(e,0,Math.max(n-1,0)))},[n]),[s,t.useCallback(()=>{a(e=>i(e-1,0,Math.max(n,0)))},[n,i]),t.useCallback(()=>{a(e=>i(e+1,0,Math.max(n,0)))},[n,i]),a]}(0,P?.length??0),U=t.useId(),W=t.useMemo(()=>`liveblocks-floating-toolbar-${U}`,[U]),V=t.useMemo(()=>`liveblocks-suggestions-list-${U}`,[U]),$=t.useCallback(e=>e?`liveblocks-suggestions-list-item-${U}-${e}`:void 0,[U]),q=t.useCallback(e=>fn.exports.jsx(pg,{Mention:O,Link:S,...e}),[S,O]),K=t.useCallback(e=>{h(e),m.notify()},[h,m]),G=t.useCallback(e=>{R&&e&&(Us.select(f,R.range),function(e,t){const n={type:"mention",id:t,children:[{text:""}]};Us.insertNodes(e,n),Us.move(e);const r=e.selection?wa(e,e.selection):void 0;!r||r.void?Us.insertText(e," "):Ea(r.text)&&Us.move(e)}(f,e),N(void 0),H(0))},[f,R,H]),X=t.useCallback(e=>{if(n?.(e),!e.isDefaultPrevented())if(Bh(e,"ArrowLeft")&&_f(f,"start"),Bh(e,"ArrowRight")&&_f(f,"end"),R&&P?.length){if(Bh(e,"ArrowDown")&&(e.preventDefault(),z()),Bh(e,"ArrowUp")&&(e.preventDefault(),L()),Bh(e,"Enter")||Bh(e,"Tab")){e.preventDefault();const t=P?.[M];G(t)}Bh(e,"Escape")&&(e.preventDefault(),N(void 0),H(0))}else k&&Bh(e,"Escape")&&(e.preventDefault(),_(!1)),Bh(e,"Escape")&&(e.preventDefault(),b()),Bh(e,"Enter",{shift:!1})&&(e.preventDefault(),w&&v()),Bh(e,"Enter",{shift:!0})&&(e.preventDefault(),f.insertBreak()),Bh(e,"b",{mod:!0})&&(e.preventDefault(),Bf(f,"bold")),Bh(e,"i",{mod:!0})&&(e.preventDefault(),Bf(f,"italic")),Bh(e,"s",{mod:!0,shift:!0})&&(e.preventDefault(),Bf(f,"strikethrough")),Bh(e,"e",{mod:!0})&&(e.preventDefault(),Bf(f,"code"))},[n,R,P,k,f,z,L,M,G,H,b,w,v]),Z=t.useCallback(e=>{r?.(e),e.isDefaultPrevented()||p(!0)},[r,p]),Y=t.useCallback(e=>{o?.(e),e.isDefaultPrevented()||p(!1)},[o,p]),J=t.useMemo(()=>P?.[M],[M,P]),Q=t.useCallback(e=>{const t=P?.indexOf(e);void 0!==t&&t>=0&&H(t)},[H,P]),ee=t.useMemo(()=>R?{role:"combobox","aria-autocomplete":"list","aria-expanded":!0,"aria-controls":V,"aria-activedescendant":$(J)}:k?{"aria-haspopup":!0,"aria-controls":W}:{},[R,V,$,J,k,W]);return t.useImperativeHandle(l,()=>ql.toDOMNode(f,f),[f]),t.useLayoutEffect(()=>{s&&y()},[s,f,y]),t.useLayoutEffect(()=>{D&&null===f.selection&&x()},[f,x,D]),fn.exports.jsxs(cf,{editor:f,initialValue:I,onChange:K,children:[fn.exports.jsx(Jd,{dir:u,enterKeyHint:R?"enter":"send",autoCapitalize:"sentences","aria-label":"Composer editor","data-focused":D||void 0,"data-disabled":E||void 0,...ee,...c,readOnly:E,disabled:E,onKeyDown:X,onFocus:Z,onBlur:Y,renderElement:q,renderLeaf:mg,renderPlaceholder:gg}),j&&fn.exports.jsx(dg,{dir:u,mentionDraft:R,setMentionDraft:N,selectedUserId:J,setSelectedUserId:Q,userIds:P,id:V,itemId:$,onItemSelect:G,MentionSuggestions:T}),B&&fn.exports.jsx(fg,{dir:u,id:W,hasFloatingToolbarRange:k,setHasFloatingToolbarRange:_,FloatingToolbar:B})]})});const Eg=t.forwardRef(({children:e,onSubmit:n,onComposerSubmit:r,defaultAttachments:o=[],pasteFilesAsAttachments:i,preventUnsavedChanges:s=!0,disabled:a,asChild:u,roomId:c,...l},d)=>{const f=u?Yr:"form",[h,p]=t.useState(!0),[m,g]=t.useState(!1),[v,y]=t.useState(!1),b=mn(),x=void 0!==c?c:b?.id;if(void 0===x)throw new Error("Composer.Form must be a descendant of RoomProvider.");const w=1073741824,{attachments:C,isUploadingAttachments:D,addAttachments:E,removeAttachment:A,clearAttachments:I}=sg(o,{maxFileSize:w,roomId:x}),S=C.length,O=S>=10,T=t.useMemo(()=>m||!0===a,[m,a]),B=t.useMemo(()=>!h&&!D,[h,D]),[k,_]=t.useState(Of),F=t.useRef(null),j=Vh(d,F),R=t.useRef(null),N=function(){const e=or()[Xe].createSyncSource,[n,r]=t.useState();return t.useEffect(()=>{const t=e();return r(t),()=>t.destroy()},[e]),n}(),P=!!s&&(!h||D||C.length>0);t.useEffect(()=>{N?.setSyncStatus(P?"has-local-changes":"synchronized")},[N,P]);const M=t.useCallback(e=>{if(!e.length)return;const t=Math.max(0,10-S);e.splice(t);const n=e.map(e=>function(e){return{type:"localAttachment",status:"idle",id:te(),name:e.name,size:e.size,mimeType:e.type,file:e}}(e));E(n)},[E,10,S]),L=t.useRef(M);t.useEffect(()=>{L.current=M},[M]);const z=t.useCallback(e=>{L.current(e)},[]),H=zh(()=>ug({createAttachments:z,pasteFilesAsAttachments:i})),U=zh($),W=t.useCallback(e=>{p(Gf(H,e))},[H]),V=t.useCallback(()=>{B&&requestAnimationFrame(()=>{F.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))}(F.current)})},[B]),q=t.useCallback(()=>{Us.delete(H,{at:{anchor:Ji.start(H,[]),focus:Ji.end(H,[])}})},[H]),K=t.useCallback(()=>{Us.select(H,Ji.end(H,[]))},[H]),G=t.useCallback((e=!0)=>{ql.isFocused(H)||(Us.select(H,e||!H.selection?Ji.end(H,[]):H.selection),ql.focus(H))},[H]),X=t.useCallback(()=>{ql.blur(H)},[H]),Z=t.useCallback(()=>{a||(G(),function(e){if(!e.selection)return;const t=xa(e,e.selection,{filterVoids:!0}),n=wa(e,e.selection,{filterVoids:!0}),r=t&&!Ea(t.text),o=n&&!Ea(n.text);if(Hi.isCollapsed(e.selection)){const t=(r?" ":"")+Aa;e.insertText(t,{at:Hi.start(e.selection)}),o&&e.insertText(" ",{at:Hi.end(e.selection)}),Us.collapse(e,{edge:"end"})}else{const t=(r?" ":"")+Aa+(o?" ":"");e.insertText(t),o&&Us.move(e,{distance:1,unit:"character",reverse:!0})}}(H))},[a,H,G]),Y=t.useCallback(e=>{a||(G(!1),ra(H,e))},[a,H,G]),J=t.useCallback(()=>{a||R.current&&R.current.click()},[a]),Q=t.useCallback(e=>{a||e.target.files&&(M(Array.from(e.target.files)),e.target.value="")},[M,a]),ee=t.useCallback(()=>{q(),X(),I(),g(!1)},[X,q,I]),ne=t.useCallback(e=>{if(a)return;if(Gf(H,H.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 Ia(e)?{type:"mention",id:e.id}:Rf(e)?{type:"link",url:e.url}:jf(e)?{type:"link",url:(t=e).url,text:t.children.map(e=>e.text).join("")}:Af(e)?e:null;var t}).filter(vh);return{...e,children:t}}).filter(vh)}}(H.children),o=C.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})),i=r({body:t,attachments:o},e);e.preventDefault(),i?(g(!0),i.then(ee)):ee()},[a,H,C,r,n,ee]),re=t.useCallback(e=>{e.stopPropagation()},[]),oe=t.useCallback(e=>{Bf(H,e)},[H]);return Uh(U,()=>{_(Of(H))}),fn.exports.jsx(qh.Provider,{value:{editor:H,validate:W,setFocused:y,onEditorChange:U,roomId:x},children:fn.exports.jsx(Kh.Provider,{value:{createAttachments:M,isUploadingAttachments:D,hasMaxAttachments:O,maxAttachments:10,maxAttachmentSize:w},children:fn.exports.jsx($h.Provider,{value:{isDisabled:T,isFocused:v,isEmpty:h,canSubmit:B,submit:V,clear:q,select:K,focus:G,blur:X,createMention:Z,insertText:Y,attachments:C,attachFiles:J,removeAttachment:A,toggleMark:oe,marks:k},children:fn.exports.jsxs(f,{...l,onSubmit:ne,ref:j,children:[fn.exports.jsx("input",{type:"file",multiple:!0,ref:R,onChange:Q,onClick:re,tabIndex:-1,style:{display:"none"}}),fn.exports.jsx(to,{children:e})]})})})})}),Ag=t.forwardRef(({children:e,disabled:t,asChild:n,...r},o)=>{const i=n?Yr:"button",{canSubmit:s,isDisabled:a}=ep(),u=a||t||!s;return fn.exports.jsx(i,{type:"submit",...r,ref:o,disabled:u,children:e})}),Ig=t.forwardRef(({children:e,onClick:n,disabled:r,asChild:o,...i},s)=>{const a=o?Yr:"button",{hasMaxAttachments:u}=Jh(),{isDisabled:c,attachFiles:l}=ep(),d=c||u||r,f=t.useCallback(e=>{n?.(e),e.isDefaultPrevented()||l()},[l,n]);return fn.exports.jsx(a,{type:"button",...i,onClick:f,ref:s,disabled:d,children:e})});t.forwardRef(({onDragEnter:e,onDragLeave:t,onDragOver:n,onDrop:r,disabled:o,asChild:i,...s},a)=>{const u=i?Yr:"div",{isDisabled:c}=ep(),l=c||o,[,d]=rg({onDragEnter:e,onDragLeave:t,onDragOver:n,onDrop:r,disabled:l});return fn.exports.jsx(u,{...d,"data-disabled":l?"":void 0,...s,ref:a})});const Sg=t.forwardRef(({children:e,mark:n,onValueChange:r,onClick:o,asChild:i,...s},a)=>{const u=i?Yr:"button",{marks:c,toggleMark:l}=ep(),d=t.useCallback(e=>{o?.(e),e.isDefaultPrevented()||(l(n),r?.(n))},[n,o,r,l]);return fn.exports.jsx(ao,{asChild:!0,pressed:c[n],onClick:d,...s,children:fn.exports.jsx(u,{...s,ref:a,children:e})})});function Og(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Tg(e){const t=new Map;return(...n)=>{const r=JSON.stringify(n.map(e=>q(e)));if(t.has(r))return t.get(r);const o=e(...n);return t.set(r,o),o}}const Bg=Tg((...e)=>new Intl.DateTimeFormat(...e)),kg=Tg((...e)=>new Intl.RelativeTimeFormat(...e)),_g=Tg((...e)=>new Intl.ListFormat(...e)),Fg=Tg((...e)=>new Intl.NumberFormat(...e));const jg={seconds:60,minutes:60,hours:24,days:7,weeks:4.34524,months:12};function Rg(e,t){return Og(Bg(t,{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric"}).format(e))}const Ng=["br","fr","nb","nn","no","ro","sv"];function Pg(e,t){return e.getTime()>Date.now()-2592e5?function(e,t){let n;if(t)n=t;else{const e=kg();n=e.resolvedOptions().locale}const r=Ng.some(e=>n===e||n.startsWith(`${e}-`)),o=kg(n,{style:r?"short":"narrow",numeric:"auto"});let i=(e.getTime()-Date.now())/1e3;if(i>-jg.seconds&&i<jg.seconds)return o.format(0,"seconds");for(const[e,t]of Object.entries(jg)){if(Math.abs(i)<t)return o.format(Math.round(i),e);i/=t}return Og(o.format(Math.round(i),"years"))}(e,t):function(e,t){return Og(Bg(t,{month:"short",day:"numeric"}).format(e))}(e,t)}const Mg=t.forwardRef(({date:e,locale:n,children:r=Pg,title:o=Rg,dateTime:i,interval:s=3e4,asChild:a,...u},c)=>{const l=a?Yr:"time",[d,f]=function(){const[e,n]=t.useReducer(e=>e+1,0);return[n,e]}(),h=t.useMemo(()=>new Date(e),[e]),p=t.useMemo(()=>h.toISOString(),[h]),m=t.useMemo(()=>"function"==typeof o?o(h,n):o,[o,h,f]),g=t.useMemo(()=>"function"==typeof r?r(h,n):r,[r,h,f]);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])}(d,s),fn.exports.jsx(l,{...u,ref:c,dateTime:i??p,title:m,children:g})});function Lg(){return Ar(or()[Xe].currentUserId)??null}let zg;const Hg=new WeakMap;function Ug(e){Hg.delete(e),zg?.unobserve(e)}function Wg(e,n,r){const o=r?.enabled??!0,i=Hh(n);t.useEffect(()=>{const t=e.current;if(t)return o?function(e,t){zg||(zg=new IntersectionObserver(e=>{for(const t of e){const e=Hg.get(t.target);e?.(t)}})),Hg.set(e,t),zg.observe(e)}(t,e=>{e.isIntersecting&&i.current()}):Ug(t),()=>{Ug(t)}},[o])}function Vg(e){return window.addEventListener("blur",e),window.addEventListener("focus",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("focus",e)}}function $g(){return document.hasFocus()}function qg(){return!0}function Kg(e){return fn.exports.jsx(co,{...e,children:fn.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 Gg(e){return fn.exports.jsx(co,{...e,children:fn.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 Xg(e){return fn.exports.jsx(co,{...e,children:fn.exports.jsx("path",{d:"m7.5 6-4 4 4 4m5-8 4 4-4 4"})})}function Zg(e){return fn.exports.jsxs(co,{...e,children:[fn.exports.jsx("path",{d:"M10 17a7 7 0 1 0 0-14 7 7 0 0 0 0 14Z"}),fn.exports.jsx("path",{d:"M7.5 11.5S8.25 13 10 13s2.5-1.5 2.5-1.5M8 8h.007"}),fn.exports.jsx("path",{d:"M12 8h.007"}),fn.exports.jsx("circle",{cx:8,cy:8,r:.25}),fn.exports.jsx("circle",{cx:12,cy:8,r:.25})]})}function Yg(e){return fn.exports.jsx(co,{...e,children:fn.exports.jsx("path",{d:"M15 4.25H8m4 11.5H5m6.75-11.5-3.5 11.5"})})}function Jg(e){return fn.exports.jsxs(co,{...e,children:[fn.exports.jsx("path",{d:"M10 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"}),fn.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 Qg(e){return fn.exports.jsx(co,{...e,children:fn.exports.jsx("path",{d:"m5 16 12-6L5 4l2 6-2 6ZM7 10h10"})})}function ev(e){return fn.exports.jsx(co,{...e,children:fn.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 tv(e){return fn.exports.jsx(co,{...e,children:fn.exports.jsx("path",{d:"M3 10a7 7 0 0 1 7-7",className:"lb-icon-spinner"})})}function nv(e){return fn.exports.jsxs(co,{...e,children:[fn.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"}),fn.exports.jsx("circle",{cx:10,cy:12,r:.25})]})}function rv(e){return()=>e}function ov(e){e()}function iv(e,t){return n=>e(t(n))}function sv(e,t){return()=>e(t)}function av(e){return void 0!==e}function uv(){}function cv(e,t){return t(e),e}function lv(e,t){return t(e)}function dv(...e){return e}function fv(e,t){return e(1,t)}function hv(e,t){e(0,t)}function pv(e){e(2)}function mv(e){return e(4)}function gv(e,t){return fv(e,function(e,t){return n=>e(t,n)}(t,0))}function vv(e,t){const n=e(1,e=>{n(),t(e)});return n}function yv(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function bv(e,t){return e===t}function xv(e=bv){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function wv(e){return t=>n=>{e(n)&&t(n)}}function Cv(e){return t=>iv(t,e)}function Dv(e){return t=>()=>{t(e)}}function Ev(e,...t){const n=function(...e){return t=>e.reduceRight(lv,t)}(...t);return(t,r)=>{switch(t){case 2:return void pv(e);case 1:return fv(e,n(r))}}}function Av(e,t){return n=>r=>{n(t=e(t,r))}}function Iv(e){return t=>n=>{e>0?e--:t(n)}}function Sv(e){let t,n=null;return r=>o=>{n=o,!t&&(t=setTimeout(()=>{t=void 0,r(n)},e))}}function Ov(...e){const t=new Array(e.length);let n=0,r=null;const o=Math.pow(2,e.length)-1;return e.forEach((e,i)=>{const s=Math.pow(2,i);fv(e,e=>{const a=n;n|=s,t[i]=e,a!==o&&n===o&&r&&(r(),r=null)})}),e=>i=>{const s=()=>{e([i].concat(t))};n===o?s():r=s}}function Tv(e){let t=e;const n=kv();return(e,r)=>{switch(e){case 0:t=r;break;case 1:r(t);break;case 4:return t}return n(e,r)}}function Bv(e,t){return cv(Tv(t),t=>gv(e,t))}function kv(){const e=[];return(t,n)=>{switch(t){case 0:return void e.slice().forEach(e=>{e(n)});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)}}}}function _v(e){return cv(kv(),t=>gv(e,t))}function Fv(e,t=[],{singleton:n}={singleton:!0}){return{constructor:e,dependencies:t,id:jv(),singleton:n}}const jv=()=>Symbol();function Rv(...e){const t=kv(),n=new Array(e.length);let r=0;const o=Math.pow(2,e.length)-1;return e.forEach((e,i)=>{const s=Math.pow(2,i);fv(e,e=>{n[i]=e,r|=s,r===o&&hv(t,n)})}),function(e,i){switch(e){case 2:return void pv(t);case 1:return r===o&&i(n),fv(t,i)}}}function Nv(e,t=bv){return Ev(e,xv(t))}function Pv(...e){return function(t,n){switch(t){case 2:return;case 1:return function(...e){return()=>{e.map(ov)}}(...e.map(e=>fv(e,n)))}}}var Mv=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(Mv||{});const Lv={0:"debug",3:"error",1:"log",2:"warn"},zv=Fv(()=>{const e=Tv(3);return{log:Tv((t,n,r=1)=>{var o;r>=(null!=(o=(typeof globalThis>"u"?window:globalThis).VIRTUOSO_LOG_LEVEL)?o:mv(e))&&console[Lv[r]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",t,n)}),logLevel:e}},[],{singleton:!0});function Hv(e,t,n){return Uv(e,t,n).callbackRef}function Uv(e,t,n){const r=a.default.useRef(null);let o=e=>{};const i=a.default.useMemo(()=>typeof ResizeObserver<"u"?new ResizeObserver(t=>{const r=()=>{const n=t[0].target;null!==n.offsetParent&&e(n)};n?r():requestAnimationFrame(r)}):null,[e,n]);return o=e=>{e&&t?(null==i||i.observe(e),r.current=e):(r.current&&(null==i||i.unobserve(r.current)),r.current=null)},{callbackRef:o,ref:r}}function Wv(e,t,n,r,o,i,s,u,c){const l=a.default.useCallback(n=>{const a=function(e,t,n,r){const o=e.length;if(0===o)return null;const i=[];for(let s=0;s<o;s++){const o=e.item(s);if(void 0===o.dataset.index)continue;const a=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},Mv.ERROR),c===u)continue;const l=i[i.length-1];0===i.length||l.size!==c||l.endIndex!==a-1?i.push({endIndex:a,size:c,startIndex:a}):i[i.length-1].endIndex++}return i}(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;let d;l&&(d=c.ownerDocument.defaultView);const f=s?u?s.scrollLeft:s.scrollTop:l?u?d.scrollX||d.document.documentElement.scrollLeft:d.scrollY||d.document.documentElement.scrollTop:u?c.scrollLeft:c.scrollTop,h=s?u?s.scrollWidth:s.scrollHeight:l?u?d.document.documentElement.scrollWidth:d.document.documentElement.scrollHeight:u?c.scrollWidth:c.scrollHeight,p=s?u?s.offsetWidth:s.offsetHeight:l?u?d.innerWidth:d.innerHeight:u?c.offsetWidth:c.offsetHeight;r({scrollHeight:h,scrollTop:Math.max(f,0),viewportHeight:p}),null==i||i(u?Vv("column-gap",getComputedStyle(n).columnGap,o):Vv("row-gap",getComputedStyle(n).rowGap,o)),null!==a&&e(a)},[e,t,o,i,s,r,u]);return Uv(l,n,c)}function Vv(e,t,n){return"normal"!==t&&!(null!=t&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,Mv.WARN),"normal"===t?0:parseInt(null!=t?t:"0",10)}function $v(e,t,n){const r=a.default.useRef(null),o=a.default.useCallback(n=>{if(null==n||!n.offsetParent)return;const o=n.getBoundingClientRect(),i=o.width;let a,u;if(t){const e=t.getBoundingClientRect(),n=o.top-e.top;u=e.height-Math.max(0,n),a=n+t.scrollTop}else{const e=s.current.ownerDocument.defaultView;u=e.innerHeight-Math.max(0,o.top),a=o.top+e.scrollY}r.current={offsetTop:a,visibleHeight:u,visibleWidth:i},e(r.current)},[e,t]),{callbackRef:i,ref:s}=Uv(o,!0,n),u=a.default.useCallback(()=>{o(s.current)},[o,s]);return a.default.useEffect(()=>{var e;if(t){t.addEventListener("scroll",u);const e=new ResizeObserver(()=>{requestAnimationFrame(u)});return e.observe(t),()=>{t.removeEventListener("scroll",u),e.unobserve(t)}}{const t=null==(e=s.current)?void 0:e.ownerDocument.defaultView;return null==t||t.addEventListener("scroll",u),null==t||t.addEventListener("resize",u),()=>{null==t||t.removeEventListener("scroll",u),null==t||t.removeEventListener("resize",u)}}},[u,t,s]),i}const qv=Fv(()=>{const e=kv(),t=kv(),n=Tv(0),r=kv(),o=Tv(0),i=kv(),s=kv(),a=Tv(0),u=Tv(0),c=Tv(0),l=Tv(0),d=kv(),f=kv(),h=Tv(!1),p=Tv(!1),m=Tv(!1);return gv(Ev(e,Cv(({scrollTop:e})=>e)),t),gv(Ev(e,Cv(({scrollHeight:e})=>e)),s),gv(t,o),{deviation:n,fixedFooterHeight:c,fixedHeaderHeight:u,footerHeight:l,headerHeight:a,horizontalDirection:p,scrollBy:f,scrollContainerState:e,scrollHeight:s,scrollingInProgress:h,scrollTo:d,scrollTop:t,skipAnimationFrameInResizeObserver:m,smoothScrollTargetReached:r,statefulScrollTop:o,viewportHeight:i}},[],{singleton:!0}),Kv={lvl:0};function Gv(e,t){const n=e.length;if(0===n)return[];let{index:r,value:o}=t(e[0]);const i=[];for(let s=1;s<n;s++){const{index:n,value:a}=t(e[s]);i.push({end:n-1,start:r,value:o}),r=n,o=a}return i.push({end:1/0,start:r,value:o}),i}function Xv(e){return e===Kv}function Zv(e,t){if(!Xv(e))return t===e.k?e.v:t<e.k?Zv(e.l,t):Zv(e.r,t)}function Yv(e,t,n="k"){if(Xv(e))return[-1/0,void 0];if(Number(e[n])===t)return[e.k,e.v];if(Number(e[n])<t){const r=Yv(e.r,t,n);return r[0]===-1/0?[e.k,e.v]:r}return Yv(e.l,t,n)}function Jv(e,t,n){return Xv(e)?cy(t,n,1):t===e.k?iy(e,{k:t,v:n}):t<e.k?ly(iy(e,{l:Jv(e.l,t,n)})):ly(iy(e,{r:Jv(e.r,t,n)}))}function Qv(){return Kv}function ey(e,t,n){if(Xv(e))return[];return function(e){return Gv(e,({k:e,v:t})=>({index:e,value:t}))}(ry(e,Yv(e,t)[0],n))}function ty(e,t){if(Xv(e))return Kv;const{k:n,l:r,r:o}=e;if(t===n){if(Xv(r))return o;if(Xv(o))return r;{const[t,n]=uy(r);return oy(iy(e,{k:t,l:sy(r),v:n}))}}return oy(iy(e,t<n?{l:ty(r,t)}:{r:ty(o,t)}))}function ny(e){return Xv(e)?[]:[...ny(e.l),{k:e.k,v:e.v},...ny(e.r)]}function ry(e,t,n){if(Xv(e))return[];const{k:r,l:o,r:i,v:s}=e;let a=[];return r>t&&(a=a.concat(ry(o,t,n))),r>=t&&r<=n&&a.push({k:r,v:s}),r<=n&&(a=a.concat(ry(i,t,n))),a}function oy(e){const{l:t,lvl:n,r:r}=e;if(r.lvl>=n-1&&t.lvl>=n-1)return e;if(n>r.lvl+1){if(ay(t))return dy(iy(e,{lvl:n-1}));if(!Xv(t)&&!Xv(t.r))return iy(t.r,{l:iy(t,{r:t.r.l}),lvl:n,r:iy(e,{l:t.r.r,lvl:n-1})});throw new Error("Unexpected empty nodes")}if(ay(e))return fy(iy(e,{lvl:n-1}));if(Xv(r)||Xv(r.l))throw new Error("Unexpected empty nodes");{const t=r.l,o=ay(t)?r.lvl-1:r.lvl;return iy(t,{l:iy(e,{lvl:n-1,r:t.l}),lvl:t.lvl+1,r:fy(iy(r,{l:t.r,lvl:o}))})}}function iy(e,t){return cy(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 sy(e){return Xv(e.r)?e.l:oy(iy(e,{r:sy(e.r)}))}function ay(e){return Xv(e)||e.lvl>e.r.lvl}function uy(e){return Xv(e.r)?[e.k,e.v]:uy(e.r)}function cy(e,t,n,r=Kv,o=Kv){return{k:e,l:r,lvl:n,r:o,v:t}}function ly(e){return fy(dy(e))}function dy(e){const{l:t}=e;return Xv(t)||t.lvl!==e.lvl?e:iy(t,{r:iy(e,{l:t.r})})}function fy(e){const{lvl:t,r:n}=e;return Xv(n)||Xv(n.r)||n.lvl!==t||n.r.lvl!==t?e:iy(n,{l:iy(e,{r:n.l}),lvl:t+1})}function hy(e,t){return!(!e||e.startIndex!==t.startIndex||e.endIndex!==t.endIndex)}function py(e,t){return!(!e||e[0]!==t[0]||e[1]!==t[1])}const my=Fv(()=>({recalcInProgress:Tv(!1)}),[],{singleton:!0});function gy(e,t,n){return e[vy(e,t,n)]}function vy(e,t,n,r=0){let o=e.length-1;for(;r<=o;){const i=Math.floor((r+o)/2),s=n(e[i],t);if(0===s)return i;if(-1===s){if(o-r<2)return i-1;o=i-1}else{if(o===r)return i;r=i+1}}throw new Error(`Failed binary finding record in array - ${e.join(",")}, searched for ${t}`)}function yy(e,t){return Math.round(e.getBoundingClientRect()[t])}function by(e){return!Xv(e.groupOffsetTree)}function xy({index:e},t){return t===e?0:t<e?-1:1}function wy({offset:e},t){return t===e?0:t<e?-1:1}function Cy(e,t,n){if(0===t.length)return 0;const{index:r,offset:o,size:i}=gy(t,e,xy),s=e-r,a=i*s+(s-1)*n+o;return a>0?a+n:a}function Dy(e,t){if(!by(t))return e;let n=0;for(;t.groupIndices[n]<=e+n;)n++;return e+n}function Ey(e,t,n){if(function(e){return typeof e.groupIndex<"u"}(e))return t.groupIndices[e.groupIndex]+1;{let r=Dy("LAST"===e.index?n:e.index,t);return r=Math.max(0,r,Math.min(n,r)),r}}function Ay(e,t,n,r=0){return r>0&&(t=Math.max(t,gy(e,r,xy).offset)),Gv(function(e,t,n,r){const o=vy(e,t,r),i=vy(e,n,r,o);return e.slice(o,i+1)}(e,t,n,wy),Ty)}function Iy(e,[t,n,r,o]){t.length>0&&r("received item sizes",t,Mv.DEBUG);const i=e.sizeTree;let s=i,a=0;if(n.length>0&&Xv(i)&&2===t.length){const e=t[0].size,r=t[1].size;s=n.reduce((t,n)=>Jv(Jv(t,n,e),n+1,r),s)}else[s,a]=function(e,t){let n=Xv(e)?0:1/0;for(const r of t){const{endIndex:t,size:o,startIndex:i}=r;if(n=Math.min(n,i),Xv(e)){e=Jv(e,0,o);continue}const s=ey(e,i-1,t+1);if(s.some(By(r)))continue;let a=!1,u=!1;for(const{end:n,start:r,value:i}of s)a?(t>=r||o===i)&&(e=ty(e,r)):(u=i!==o,a=!0),n>t&&t>=r&&i!==o&&(e=Jv(e,t+1,i));u&&(e=Jv(e,i,o))}return[e,n]}(s,t);if(s===i)return e;const{lastIndex:u,lastOffset:c,lastSize:l,offsetTree:d}=Oy(e.offsetTree,a,s,o);return{groupIndices:n,groupOffsetTree:n.reduce((e,t)=>Jv(e,t,Cy(t,d,o)),Qv()),lastIndex:u,lastOffset:c,lastSize:l,offsetTree:d,sizeTree:s}}function Sy(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 Oy(e,t,n,r){let o=e,i=0,s=0,a=0,u=0;if(0!==t){u=vy(o,t-1,xy),a=o[u].offset;const e=Yv(n,t-1);i=e[0],s=e[1],o.length&&o[u].size===Yv(n,t)[1]&&(u-=1),o=o.slice(0,u+1)}else o=[];for(const{start:e,value:u}of ey(n,t,1/0)){const t=e-i,n=t*s+a+t*r;o.push({index:e,offset:n,size:u}),i=e,a=n,s=u}return{lastIndex:i,lastOffset:a,lastSize:s,offsetTree:o}}function Ty(e){return{index:e.index,value:e}}function By(e){const{endIndex:t,size:n,startIndex:r}=e;return e=>e.start===r&&(e.end===t||e.end===1/0)&&e.value===n}const ky={offsetHeight:"height",offsetWidth:"width"},_y=Fv(([{log:e},{recalcInProgress:t}])=>{const n=kv(),r=kv(),o=Bv(r,0),i=kv(),s=kv(),a=Tv(0),u=Tv([]),c=Tv(void 0),l=Tv(void 0),d=Tv((e,t)=>yy(e,ky[t])),f=Tv(void 0),h=Tv(0),p={groupIndices:[],groupOffsetTree:Qv(),lastIndex:0,lastOffset:0,lastSize:0,offsetTree:[],sizeTree:Qv()},m=Bv(Ev(n,Ov(u,e,h),Av(Iy,p),xv()),p),g=Bv(Ev(u,xv(),Av((e,t)=>({current:t,prev:e.current}),{current:[],prev:[]}),Cv(({prev:e})=>e)),[]);gv(Ev(u,wv(e=>e.length>0),Ov(m,h),Cv(([e,t,n])=>{const r=e.reduce((e,r,o)=>Jv(e,r,Cy(r,t.offsetTree,n)||o),Qv());return{...t,groupIndices:e,groupOffsetTree:r}})),m),gv(Ev(r,Ov(m),wv(([e,{lastIndex:t}])=>e<t),Cv(([e,{lastIndex:t,lastSize:n}])=>[{endIndex:t,size:n,startIndex:e}])),n),gv(c,l);const v=Bv(Ev(c,Cv(e=>void 0===e)),!0);gv(Ev(l,wv(e=>void 0!==e&&Xv(mv(m).sizeTree)),Cv(e=>[{endIndex:0,size:e,startIndex:0}])),n);const y=_v(Ev(n,Ov(m),Av(({sizes:e},[t,n])=>({changed:n!==e,sizes:n}),{changed:!1,sizes:p}),Cv(e=>e.changed)));fv(Ev(a,Av((e,t)=>({diff:e.prev-t,prev:t}),{diff:0,prev:0}),Cv(e=>e.diff)),e=>{const{groupIndices:n}=mv(m);if(e>0)hv(t,!0),hv(i,e+Sy(e,n));else if(e<0){const t=mv(g);t.length>0&&(e-=Sy(-e,t)),hv(s,e)}}),fv(Ev(a,Ov(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:a},Mv.ERROR)});const b=_v(i);gv(Ev(i,Ov(m),Cv(([e,t])=>{const n=t.groupIndices.length>0,r=[],o=t.lastSize;if(n){const n=Zv(t.sizeTree,0);let i=0,s=0;for(;i<e;){const e=t.groupIndices[s],a=t.groupIndices.length===s+1?1/0:t.groupIndices[s+1]-e-1;r.push({endIndex:e,size:n,startIndex:e}),r.push({endIndex:e+1+a-1,size:o,startIndex:e+1}),s++,i+=a+1}const a=ny(t.sizeTree);return i!==e&&a.shift(),a.reduce((t,{k:n,v:r})=>{let o=t.ranges;return 0!==t.prevSize&&(o=[...t.ranges,{endIndex:n+e-1,size:t.prevSize,startIndex:t.prevIndex}]),{prevIndex:n+e,prevSize:r,ranges:o}},{prevIndex:e,prevSize:0,ranges:r}).ranges}return ny(t.sizeTree).reduce((t,{k:n,v:r})=>({prevIndex:n+e,prevSize:r,ranges:[...t.ranges,{endIndex:n+e-1,size:t.prevSize,startIndex:t.prevIndex}]}),{prevIndex:0,prevSize:o,ranges:[]}).ranges})),n);const x=_v(Ev(s,Ov(m,h),Cv(([e,{offsetTree:t},n])=>Cy(-e,t,n))));return gv(Ev(s,Ov(m,h),Cv(([e,t,n])=>{if(t.groupIndices.length>0){if(Xv(t.sizeTree))return t;let r=Qv();const o=mv(g);let i=0,s=0,a=0;for(;i<-e;){a=o[s];const e=o[s+1]-a-1;s++,i+=e+1}if(r=ny(t.sizeTree).reduce((t,{k:n,v:r})=>Jv(t,Math.max(0,n+e),r),r),i!==-e){r=Jv(r,0,Zv(t.sizeTree,a));r=Jv(r,1,Yv(t.sizeTree,1-e)[1])}return{...t,sizeTree:r,...Oy(t.offsetTree,0,r,n)}}{const r=ny(t.sizeTree).reduce((t,{k:n,v:r})=>Jv(t,Math.max(0,n+e),r),Qv());return{...t,sizeTree:r,...Oy(t.offsetTree,0,r,n)}}})),m),{beforeUnshiftWith:b,data:f,defaultItemSize:l,firstItemIndex:a,fixedItemSize:c,gap:h,groupIndices:u,itemSize:d,listRefresh:y,shiftWith:s,shiftWithOffset:x,sizeRanges:n,sizes:m,statefulTotalCount:o,totalCount:r,trackItemSizes:v,unshiftWith:i}},dv(zv,my),{singleton:!0});function Fy(e){return e.reduce((e,t)=>(e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e),{groupIndices:[],totalCount:0})}const jy=Fv(([{groupIndices:e,sizes:t,totalCount:n},{headerHeight:r,scrollTop:o}])=>{const i=kv(),s=kv(),a=_v(Ev(i,Cv(Fy)));return gv(Ev(a,Cv(e=>e.totalCount)),n),gv(Ev(a,Cv(e=>e.groupIndices)),e),gv(Ev(Rv(o,t,r),wv(([e,t])=>by(t)),Cv(([e,t,n])=>Yv(t.groupOffsetTree,Math.max(e-n,0),"v")[0]),xv(),Cv(e=>[e])),s),{groupCounts:i,topItemsIndexes:s}},dv(_y,qv)),Ry=Fv(([{log:e}])=>{const t=Tv(!1),n=_v(Ev(t,wv(e=>e),xv()));return fv(t,t=>{t&&mv(e)("props updated",{},Mv.DEBUG)}),{didMount:n,propsReady:t}},dv(zv),{singleton:!0}),Ny=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function Py(e){const t="number"==typeof e?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!Ny)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const My=Fv(([{gap:e,listRefresh:t,sizes:n,totalCount:r},{fixedFooterHeight:o,fixedHeaderHeight:i,footerHeight:s,headerHeight:a,scrollingInProgress:u,scrollTo:c,smoothScrollTargetReached:l,viewportHeight:d},{log:f}])=>{const h=kv(),p=kv(),m=Tv(0);let g=null,v=null,y=null;function b(){g&&(g(),g=null),y&&(y(),y=null),v&&(clearTimeout(v),v=null),hv(u,!1)}return gv(Ev(h,Ov(n,d,r,m,a,s,f),Ov(e,i,o),Cv(([[e,n,r,o,i,s,a,c],d,f,m])=>{const x=Py(e),{align:w,behavior:C,offset:D}=x,E=o-1,A=Ey(x,n,E);let I=Cy(A,n.offsetTree,d)+s;"end"===w?(I+=f+Yv(n.sizeTree,A)[1]-r+m,A===E&&(I+=a)):"center"===w?I+=(f+Yv(n.sizeTree,A)[1]-r+m)/2:I-=i,D&&(I+=D);const S=t=>{b(),t?(c("retrying to scroll to",{location:e},Mv.DEBUG),hv(h,e)):(hv(p,!0),c("list did not change, scroll successful",{},Mv.DEBUG))};if(b(),"smooth"===C){let e=!1;y=fv(t,t=>{e=e||t}),g=vv(l,()=>{S(e)})}else g=vv(Ev(t,function(e){return t=>{const n=setTimeout(()=>{t(!1)},e);return e=>{e&&(t(!0),clearTimeout(n))}}}(150)),S);return v=setTimeout(()=>{b()},1200),hv(u,!0),c("scrolling from index to",{behavior:C,index:A,top:I},Mv.DEBUG),{behavior:C,top:I}})),c),{scrollTargetReached:p,scrollToIndex:h,topListHeight:m}},dv(_y,qv,zv),{singleton:!0});function Ly(e,t){0==e?t():requestAnimationFrame(()=>{Ly(e-1,t)})}function zy(e,t){const n=t-1;return"number"==typeof e?e:"LAST"===e.index?n:e.index}const Hy=Fv(([{defaultItemSize:e,listRefresh:t,sizes:n},{scrollTop:r},{scrollTargetReached:o,scrollToIndex:i},{didMount:s}])=>{const a=Tv(!0),u=Tv(0),c=Tv(!0);return gv(Ev(s,Ov(u),wv(([e,t])=>!!t),Dv(!1)),a),gv(Ev(s,Ov(u),wv(([e,t])=>!!t),Dv(!1)),c),fv(Ev(Rv(t,s),Ov(a,n,e,c),wv(([[,e],t,{sizeTree:n},r,o])=>e&&(!Xv(n)||av(r))&&!t&&!o),Ov(u)),([,e])=>{vv(o,()=>{hv(c,!0)}),Ly(4,()=>{vv(r,()=>{hv(a,!0)}),hv(i,e)})}),{initialItemFinalLocationReached:c,initialTopMostItemIndex:u,scrolledToInitialItem:a}},dv(_y,qv,My,Ry),{singleton:!0});function Uy(e,t){return Math.abs(e-t)<1.01}const Wy="up",Vy="down",$y={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollHeight:0,scrollTop:0,viewportHeight:0}},qy=Fv(([{footerHeight:e,headerHeight:t,scrollBy:n,scrollContainerState:r,scrollTop:o,viewportHeight:i}])=>{const s=Tv(!1),a=Tv(!0),u=kv(),c=kv(),l=Tv(4),d=Tv(0),f=Bv(Ev(Pv(Ev(Nv(o),Iv(1),Dv(!0)),Ev(Nv(o),Iv(1),Dv(!1),yv(100))),xv()),!1),h=Bv(Ev(Pv(Ev(n,Dv(!0)),Ev(n,Dv(!1),yv(200))),xv()),!1);gv(Ev(Rv(Nv(o),Nv(d)),Cv(([e,t])=>e<=t),xv()),a),gv(Ev(a,Sv(50)),c);const p=_v(Ev(Rv(r,Nv(i),Nv(t),Nv(e),Nv(l)),Av((e,[{scrollHeight:t,scrollTop:n},r,o,i,s])=>{const a={scrollHeight:t,scrollTop:n,viewportHeight:r};if(n+r-t>-s){let t,r;return n>e.state.scrollTop?(t="SCROLLED_DOWN",r=e.state.scrollTop-n):(t="SIZE_DECREASED",r=e.state.scrollTop-n||e.scrollTopDelta),{atBottom:!0,atBottomBecause:t,scrollTopDelta:r,state:a}}let u;return u=a.scrollHeight>e.state.scrollHeight?"SIZE_INCREASED":r<e.state.viewportHeight?"VIEWPORT_HEIGHT_DECREASING":n<e.state.scrollTop?"SCROLLING_UPWARDS":"NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:u,state:a}},$y),xv((e,t)=>e&&e.atBottom===t.atBottom))),m=Bv(Ev(r,Av((e,{scrollHeight:t,scrollTop:n,viewportHeight:r})=>{if(Uy(e.scrollHeight,t))return{changed:!1,jump:0,scrollHeight:t,scrollTop:n};{const o=t-(n+r)<1;return e.scrollTop!==n&&o?{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}),wv(e=>e.changed),Cv(e=>e.jump)),0);gv(Ev(p,Cv(e=>e.atBottom)),s),gv(Ev(s,Sv(50)),u);const g=Tv(Vy);gv(Ev(r,Cv(({scrollTop:e})=>e),xv(),Av((e,t)=>mv(h)?{direction:e.direction,prevScrollTop:t}:{direction:t<e.prevScrollTop?Wy:Vy,prevScrollTop:t},{direction:Vy,prevScrollTop:0}),Cv(e=>e.direction)),g),gv(Ev(r,Sv(50),Dv("none")),g);const v=Tv(0);return gv(Ev(f,wv(e=>!e),Dv(0)),v),gv(Ev(o,Sv(100),Ov(f),wv(([e,t])=>!!t),Av(([e,t],[n])=>[t,n],[0,0]),Cv(([e,t])=>t-e)),v),{atBottomState:p,atBottomStateChange:u,atBottomThreshold:l,atTopStateChange:c,atTopThreshold:d,isAtBottom:s,isAtTop:a,isScrolling:f,lastJumpDueToItemResize:m,scrollDirection:g,scrollVelocity:v}},dv(qv)),Ky="top",Gy="bottom",Xy="none";function Zy(e,t,n){return"number"==typeof e?n===Wy&&t===Ky||n===Vy&&t===Gy?e:0:n===Wy?t===Ky?e.main:e.reverse:t===Gy?e.main:e.reverse}function Yy(e,t){var n;return"number"==typeof e?e:null!=(n=e[t])?n:0}const Jy=Fv(([{deviation:e,fixedHeaderHeight:t,headerHeight:n,scrollTop:r,viewportHeight:o}])=>{const i=kv(),s=Tv(0),a=Tv(0),u=Tv(0),c=Bv(Ev(Rv(Nv(r),Nv(o),Nv(n),Nv(i,py),Nv(u),Nv(s),Nv(t),Nv(e),Nv(a)),Cv(([e,t,n,[r,o],i,s,a,u,c])=>{const l=e-u,d=s+a,f=Math.max(n-l,0);let h=Xy;const p=Yy(c,Ky),m=Yy(c,Gy);return r-=u,o+=n+a,(r+=n+a)>e+d-p&&(h=Wy),(o-=u)<e-f+t+m&&(h=Vy),h!==Xy?[Math.max(l-n-Zy(i,Ky,h)-p,0),l-f-a+t+Zy(i,Gy,h)+m]:null}),wv(e=>null!=e),xv(py)),[0,0]);return{increaseViewportBy:a,listBoundary:i,overscan:u,topListHeight:s,visibleRange:c}},dv(qv),{singleton:!0});const Qy={bottom:0,firstItemIndex:0,items:[],offsetBottom:0,offsetTop:0,top:0,topItems:[],topListHeight:0,totalCount:0};function eb(e,t,n,r,o,i){const{lastIndex:s,lastOffset:a,lastSize: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-s,f=c,h=a+d*u+(d-1)*r-l;return{bottom:l,firstItemIndex:i,items:nb(e,o,i),offsetBottom:h,offsetTop:c,top:f,topItems:nb(t,o,i),topListHeight:t.reduce((e,t)=>t.size+e,0),totalCount:n}}function tb(e,t,n,r,o,i){let s=0;if(n.groupIndices.length>0)for(const t of n.groupIndices){if(t-s>=e)break;s++}const a=e+s,u=zy(t,a);return eb(Array.from({length:a}).map((e,t)=>({data:i[t+u],index:t+u,offset:0,size:0})),[],a,o,n,r)}function nb(e,t,n){if(0===e.length)return[];if(!by(t))return e.map(e=>({...e,index:e.index+n,originalIndex:e.index}));const r=e[0].index,o=e[e.length-1].index,i=[],s=ey(t.groupOffsetTree,r,o);let a,u=0;for(const r of e){let e;(!a||a.end<r.index)&&(a=s.shift(),u=t.groupIndices.indexOf(a.start)),e=r.index===a.start?{index:u,type:"group"}:{groupIndex:u,index:r.index-(u+1)+n},i.push({...e,data:r.data,offset:r.offset,originalIndex:r.index,size:r.size})}return i}const rb=Fv(([{data:e,firstItemIndex:t,gap:n,sizes:r,totalCount:o},i,{listBoundary:s,topListHeight:a,visibleRange:u},{initialTopMostItemIndex:c,scrolledToInitialItem:l},{topListHeight:d},f,{didMount:h},{recalcInProgress:p}])=>{const m=Tv([]),g=Tv(0),v=kv();gv(i.topItemsIndexes,m);const y=Bv(Ev(Rv(h,p,Nv(u,py),Nv(o),Nv(r),Nv(c),l,Nv(m),Nv(t),Nv(n),e),wv(([e,t,,n,,,,,,,r])=>{const o=r&&r.length!==n;return e&&!t&&!o}),Cv(([,,[e,t],n,r,o,i,s,a,u,c])=>{const l=r,{offsetTree:d,sizeTree:f}=l,h=mv(g);if(0===n)return{...Qy,totalCount:n};if(0===e&&0===t)return 0===h?{...Qy,totalCount:n}:tb(h,o,r,a,u,c||[]);if(Xv(f))return h>0?null:eb(function(e,t,n){if(by(t)){const r=Dy(e,t);return[{index:Yv(t.groupOffsetTree,r)[0],offset:0,size:0},{data:null==n?void 0:n[0],index:r,offset:0,size:0}]}return[{data:null==n?void 0:n[0],index:e,offset:0,size:0}]}(zy(o,n),l,c),[],n,u,l,a);const p=[];if(s.length>0){const e=s[0],t=s[s.length-1];let n=0;for(const r of ey(f,e,t)){const o=r.value,i=Math.max(r.start,e),s=Math.min(r.end,t);for(let e=i;e<=s;e++)p.push({data:null==c?void 0:c[e],index:e,offset:n,size:o}),n+=o}}if(!i)return eb([],p,n,u,l,a);const m=s.length>0?s[s.length-1]+1:0,v=Ay(d,e,t,m);if(0===v.length)return null;const y=n-1;return eb(cv([],n=>{for(const r of v){const o=r.value;let i=o.offset,s=r.start;const a=o.size;if(o.offset<e){s+=Math.floor((e-o.offset+u)/(a+u));const t=s-r.start;i+=t*a+t*u}s<m&&(i+=(m-s)*a,s=m);const l=Math.min(r.end,y);for(let e=s;e<=l&&!(i>=t);e++)n.push({data:null==c?void 0:c[e],index:e,offset:i,size:a}),i+=a+u}}),p,n,u,l,a)}),wv(e=>null!==e),xv()),Qy);gv(Ev(e,wv(av),Cv(e=>null==e?void 0:e.length)),o),gv(Ev(y,Cv(e=>e.topListHeight)),d),gv(d,a),gv(Ev(y,Cv(e=>[e.top,e.bottom])),s),gv(Ev(y,Cv(e=>e.items)),v);const b=_v(Ev(y,wv(({items:e})=>e.length>0),Ov(o,e),wv(([{items:e},t])=>e[e.length-1].originalIndex===t-1),Cv(([,e,t])=>[e-1,t]),xv(py),Cv(([e])=>e))),x=_v(Ev(y,Sv(200),wv(({items:e,topItems:t})=>e.length>0&&e[0].originalIndex===t.length),Cv(({items:e})=>e[0].index),xv())),w=_v(Ev(y,wv(({items:e})=>e.length>0),Cv(({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}}),xv(hy)));return{endReached:b,initialItemCount:g,itemsRendered:v,listState:y,rangeChanged:w,startReached:x,topItemsIndexes:m,...f}},dv(_y,jy,Jy,Hy,My,qy,Ry,my),{singleton:!0}),ob=Fv(([{fixedFooterHeight:e,fixedHeaderHeight:t,footerHeight:n,headerHeight:r},{listState:o}])=>{const i=kv(),s=Bv(Ev(Rv(n,e,r,t,o),Cv(([e,t,n,r,o])=>e+t+n+r+o.offsetBottom+o.bottom)),0);return gv(Nv(s),i),{totalListHeight:s,totalListHeightChanged:i}},dv(qv,rb),{singleton:!0}),ib=Fv(([{viewportHeight:e},{totalListHeight:t}])=>{const n=Tv(!1),r=Bv(Ev(Rv(n,e,t),wv(([e])=>e),Cv(([,e,t])=>Math.max(0,e-t)),Sv(0),xv()),0);return{alignToBottom:n,paddingTopAddition:r}},dv(qv,ob),{singleton:!0}),sb=Fv(()=>({context:Tv(null)})),ab=({itemBottom:e,itemTop:t,locationParams:{align:n,behavior:r,...o},viewportBottom:i,viewportTop:s})=>t<s?{...o,align:null!=n?n:"start",behavior:r}:e>i?{...o,align:null!=n?n:"end",behavior:r}:null,ub=Fv(([{gap:e,sizes:t,totalCount:n},{fixedFooterHeight:r,fixedHeaderHeight:o,headerHeight:i,scrollingInProgress:s,scrollTop:a,viewportHeight:u},{scrollToIndex:c}])=>{const l=kv();return gv(Ev(l,Ov(t,u,n,i,o,r,a),Ov(e),Cv(([[e,t,n,r,o,i,a,u],c])=>{const{align:l,behavior:d,calculateViewLocation:f=ab,done:h,...p}=e,m=Ey(e,t,r-1),g=Cy(m,t.offsetTree,c)+o+i,v=f({itemBottom:g+Yv(t.sizeTree,m)[1],itemTop:g,locationParams:{align:l,behavior:d,...p},viewportBottom:u+n-a,viewportTop:u+i});return v?h&&vv(Ev(s,wv(e=>!e),Iv(mv(s)?1:2)),h):h&&h(),v}),wv(e=>null!==e)),c),{scrollIntoView:l}},dv(_y,qv,My,rb,zv),{singleton:!0});function cb(e){return!!e&&("smooth"===e?"smooth":"auto")}const lb=Fv(([{listRefresh:e,totalCount:t,fixedItemSize:n,data:r},{atBottomState:o,isAtBottom:i},{scrollToIndex:s},{scrolledToInitialItem:a},{didMount:u,propsReady:c},{log:l},{scrollingInProgress:d},{context:f},{scrollIntoView:h}])=>{const p=Tv(!1),m=kv();let g=null;function v(e){hv(s,{align:"end",behavior:e,index:"LAST"})}function y(e){const t=vv(o,t=>{e&&!t.atBottom&&"SIZE_INCREASED"===t.notAtBottomBecause&&!g&&(mv(l)("scrolling to bottom due to increased size",{},Mv.DEBUG),v("auto"))});setTimeout(t,100)}fv(Ev(Rv(Ev(Nv(t),Iv(1)),u),Ov(Nv(p),i,a,d),Cv(([[e,t],n,r,o,i])=>{let s=t&&o,a="auto";return s&&(a=((e,t)=>"function"==typeof e?cb(e(t)):t&&cb(e))(n,r||i),s=s&&!!a),{followOutputBehavior:a,shouldFollow:s,totalCount:e}}),wv(({shouldFollow:e})=>e)),({followOutputBehavior:t,totalCount:r})=>{g&&(g(),g=null),mv(n)?requestAnimationFrame(()=>{mv(l)("following output to ",{totalCount:r},Mv.DEBUG),v(t)}):g=vv(e,()=>{mv(l)("following output to ",{totalCount:r},Mv.DEBUG),v(t),g=null})}),fv(Ev(Rv(Nv(p),t,c),wv(([e,,t])=>e&&t),Av(({value:e},[,t])=>({refreshed:e===t,value:t}),{refreshed:!1,value:0}),wv(({refreshed:e})=>e),Ov(p,t)),([,e])=>{mv(a)&&y(!1!==e)}),fv(m,()=>{y(!1!==mv(p))}),fv(Rv(Nv(p),o),([e,t])=>{e&&!t.atBottom&&"VIEWPORT_HEIGHT_DECREASING"===t.notAtBottomBecause&&v("auto")});const b=Tv(null),x=kv();return gv(Pv(Ev(Nv(r),Cv(e=>{var t;return null!=(t=null==e?void 0:e.length)?t:0})),Ev(Nv(t))),x),fv(Ev(Rv(Ev(x,Iv(1)),u),Ov(Nv(b),a,d,f),Cv(([[e,t],n,r,o,i])=>t&&r&&(null==n?void 0:n({context:i,totalCount:e,scrollingInProgress:o}))),wv(e=>!!e),Sv(0)),t=>{g&&(g(),g=null),mv(n)?requestAnimationFrame(()=>{mv(l)("scrolling into view",{}),hv(h,t)}):g=vv(e,()=>{mv(l)("scrolling into view",{}),hv(h,t),g=null})}),{autoscrollToBottom:m,followOutput:p,scrollIntoViewOnChange:b}},dv(_y,qy,My,Hy,Ry,zv,qv,sb,ub)),db=Fv(([{data:e,firstItemIndex:t,gap:n,sizes:r},{initialTopMostItemIndex:o},{initialItemCount:i,listState:s},{didMount:a}])=>(gv(Ev(a,Ov(i),wv(([,e])=>0!==e),Ov(o,r,t,n,e),Cv(([[,e],t,n,r,o,i=[]])=>tb(e,t,n,r,o,i))),s),{}),dv(_y,Hy,rb,Ry),{singleton:!0}),fb=Fv(([{didMount:e},{scrollTo:t},{listState:n}])=>{const r=Tv(0);return fv(Ev(e,Ov(r),wv(([,e])=>0!==e),Cv(([,e])=>({top:e}))),e=>{vv(Ev(n,Iv(1),wv(e=>e.items.length>1)),()=>{requestAnimationFrame(()=>{hv(t,e)})})}),{initialScrollTop:r}},dv(Ry,qv,rb),{singleton:!0}),hb=Fv(([{scrollVelocity:e}])=>{const t=Tv(!1),n=kv(),r=Tv(!1);return gv(Ev(e,Ov(r,t,n),wv(([e,t])=>!!t),Cv(([e,t,n,r])=>{const{enter:o,exit:i}=t;if(n){if(i(e,r))return!1}else if(o(e,r))return!0;return n}),xv()),t),fv(Ev(Rv(t,e,n),Ov(r)),([[e,t,n],r])=>{e&&r&&r.change&&r.change(t,n)}),{isSeeking:t,scrollSeekConfiguration:r,scrollSeekRangeChanged:n,scrollVelocity:e}},dv(qy),{singleton:!0}),pb=Fv(([{scrollContainerState:e,scrollTo:t}])=>{const n=kv(),r=kv(),o=kv(),i=Tv(!1),s=Tv(void 0);return gv(Ev(Rv(n,r),Cv(([{scrollHeight:e,scrollTop:t,viewportHeight:n},{offsetTop:r}])=>({scrollHeight:e,scrollTop:Math.max(0,t-r),viewportHeight:n}))),e),gv(Ev(t,Ov(r),Cv(([e,{offsetTop:t}])=>({...e,top:e.top+t}))),o),{customScrollParent:s,useWindowScroll:i,windowScrollContainerState:n,windowScrollTo:o,windowViewportRect:r}},dv(qv)),mb=Fv(([{sizeRanges:e,sizes:t},{headerHeight:n,scrollTop:r},{initialTopMostItemIndex:o},{didMount:i},{useWindowScroll:s,windowScrollContainerState:a,windowViewportRect:u}])=>{const c=kv(),l=Tv(void 0),d=Tv(null),f=Tv(null);return gv(a,d),gv(u,f),fv(Ev(c,Ov(t,r,s,d,f,n)),([e,t,n,r,o,i,s])=>{const a=function(e){return ny(e).map(({k:e,v:t},n,r)=>{const o=r[n+1];return{endIndex:o?o.k-1:1/0,size:t,startIndex:e}})}(t.sizeTree);r&&null!==o&&null!==i&&(n=o.scrollTop-i.offsetTop),e({ranges:a,scrollTop:n-=s})}),gv(Ev(l,wv(av),Cv(gb)),o),gv(Ev(i,Ov(l),wv(([,e])=>void 0!==e),xv(),Cv(([,e])=>e.ranges)),e),{getState:c,restoreStateFrom:l}},dv(_y,qv,Hy,Ry,pb));function gb(e){return{align:"start",index:0,offset:e.scrollTop}}const vb=Fv(([{topItemsIndexes:e}])=>{const t=Tv(0);return gv(Ev(t,wv(e=>e>=0),Cv(e=>Array.from({length:e}).map((e,t)=>t))),e),{topItemCount:t}},dv(rb));function yb(e){let t,n=!1;return()=>(n||(n=!0,t=e()),t)}const bb=yb(()=>/iP(ad|od|hone)/i.test(navigator.userAgent)&&/WebKit/i.test(navigator.userAgent)),xb=Fv(([{deviation:e,scrollBy:t,scrollingInProgress:n,scrollTop:r},{isAtBottom:o,isScrolling:i,lastJumpDueToItemResize:s,scrollDirection:a},{listState:u},{beforeUnshiftWith:c,gap:l,shiftWithOffset:d,sizes:f},{log:h},{recalcInProgress:p}])=>{const m=_v(Ev(u,Ov(s),Av(([,e,t,n],[{bottom:r,items:o,offsetBottom:i,totalCount:s},a])=>{const u=r+i;let c=0;return t===s&&e.length>0&&o.length>0&&(0===o[0].originalIndex&&0===e[0].originalIndex||(c=u-n,0!==c&&(c+=a))),[c,o,s,u]},[0,[],0,0]),wv(([e])=>0!==e),Ov(r,a,n,o,h,p),wv(([,e,t,n,,,r])=>!r&&!n&&0!==e&&t===Wy),Cv(([[e],,,,,t])=>(t("Upward scrolling compensation",{amount:e},Mv.DEBUG),e))));function g(n){n>0?(hv(t,{behavior:"auto",top:-n}),hv(e,0)):(hv(e,0),hv(t,{behavior:"auto",top:-n}))}return fv(Ev(m,Ov(e,i)),([t,n,r])=>{r&&bb()?hv(e,n-t):g(-t)}),fv(Ev(Rv(Bv(i,!1),e,p),wv(([e,t,n])=>!e&&!n&&0!==t),Cv(([e,t])=>t),Sv(1)),g),gv(Ev(d,Cv(e=>({top:-e}))),t),fv(Ev(c,Ov(f,l),Cv(([e,{groupIndices:t,lastSize:n,sizeTree:r},o])=>{function i(e){return e*(n+o)}if(0===t.length)return i(e);{let n=0;const o=Zv(r,0);let s=0,a=0;for(;s<e;){s++,n+=o;let r=t.length===a+1?1/0:t[a+1]-t[a]-1;s+r>e&&(n-=o,r=e-s+1),s+=r,n+=i(r),a++}return n}})),n=>{hv(e,n),requestAnimationFrame(()=>{hv(t,{top:n}),requestAnimationFrame(()=>{hv(e,0),hv(p,!1)})})}),{deviation:e}},dv(qv,qy,rb,_y,zv,my)),wb=Fv(([e,t,n,r,o,i,s,a,u,c,l])=>({...e,...t,...n,...r,...o,...i,...s,...a,...u,...c,...l}),dv(Jy,db,Ry,hb,ob,fb,ib,pb,ub,zv,sb)),Cb=Fv(([{data:e,defaultItemSize:t,firstItemIndex:n,fixedItemSize:r,gap:o,groupIndices:i,itemSize:s,sizeRanges:a,sizes:u,statefulTotalCount:c,totalCount:l,trackItemSizes:d},{initialItemFinalLocationReached:f,initialTopMostItemIndex:h,scrolledToInitialItem:p},m,g,v,{listState:y,topItemsIndexes:b,...x},{scrollToIndex:w},C,{topItemCount:D},{groupCounts:E},A])=>(gv(x.rangeChanged,A.scrollSeekRangeChanged),gv(Ev(A.windowViewportRect,Cv(e=>e.visibleHeight)),m.viewportHeight),{data:e,defaultItemHeight:t,firstItemIndex:n,fixedItemHeight:r,gap:o,groupCounts:E,initialItemFinalLocationReached:f,initialTopMostItemIndex:h,scrolledToInitialItem:p,sizeRanges:a,topItemCount:D,topItemsIndexes:b,totalCount:l,...v,groupIndices:i,itemSize:s,listState:y,scrollToIndex:w,statefulTotalCount:c,trackItemSizes:d,...x,...A,...m,sizes:u,...g}),dv(_y,Hy,qv,mb,lb,rb,My,xb,vb,jy,wb));function Db(e,t){const n={},r={};let o=0;const i=e.length;for(;o<i;)r[e[o]]=1,o+=1;for(const e in t)Object.hasOwn(r,e)||(n[e]=t[e]);return n}const Eb=typeof document<"u"?a.default.useLayoutEffect:a.default.useEffect;function Ab(e,t,n){const r=Object.keys(t.required||{}),o=Object.keys(t.optional||{}),i=Object.keys(t.methods||{}),s=Object.keys(t.events||{}),u=a.default.createContext({});function c(e,n){e.propsReady&&hv(e.propsReady,!1);for(const o of r){hv(e[t.required[o]],n[o])}for(const r of o)if(r in n){hv(e[t.optional[r]],n[r])}e.propsReady&&hv(e.propsReady,!0)}function l(e){return s.reduce((n,r)=>(n[r]=function(e){let t,n;const r=()=>null==t?void 0:t();return function(o,i){switch(o){case 1:return i?n===i?void 0:(r(),n=i,t=fv(e,i),t):(r(),uv);case 2:return r(),void(n=null)}}}(e[t.events[r]]),n),{})}const d=a.default.forwardRef((d,f)=>{const{children:h,...p}=d,[m]=a.default.useState(()=>cv(function(e){const t=new Map,n=({constructor:e,dependencies:r,id:o,singleton:i})=>{if(i&&t.has(o))return t.get(o);const s=e(r.map(e=>n(e)));return i&&t.set(o,s),s};return n(e)}(e),e=>{c(e,p)})),[g]=a.default.useState(sv(l,m));Eb(()=>{for(const e of s)e in p&&fv(g[e],p[e]);return()=>{Object.values(g).map(pv)}},[p,g,m]),Eb(()=>{c(m,p)}),a.default.useImperativeHandle(f,rv(function(e){return i.reduce((n,r)=>(n[r]=n=>{hv(e[t.methods[r]],n)},n),{})}(m)));const v=n;return fn.exports.jsx(u.Provider,{value:m,children:n?fn.exports.jsx(v,{...Db([...r,...o,...s],p),children:h}):h})}),f=a.default.version.startsWith("18")?e=>{const t=a.default.useContext(u)[e],n=a.default.useCallback(e=>fv(t,e),[t]);return a.default.useSyncExternalStore(n,()=>mv(t),()=>mv(t))}:e=>{const t=a.default.useContext(u)[e],[n,r]=a.default.useState(sv(mv,t));return Eb(()=>fv(t,e=>{e!==n&&r(rv(e))}),[t,n]),n};return{Component:d,useEmitter:(e,t)=>{const n=a.default.useContext(u)[e];Eb(()=>fv(n,t),[t,n])},useEmitterValue:f,usePublisher:e=>{const t=a.default.useContext(u);return a.default.useCallback(n=>{hv(t[e],n)},[t,e])}}}const Ib=a.default.createContext(void 0),Sb=a.default.createContext(void 0),Ob=typeof document<"u"?a.default.useLayoutEffect:a.default.useEffect;function Tb(e){return"self"in e}function Bb(e,t,n,r=uv,o,i){const s=a.default.useRef(null),u=a.default.useRef(null),c=a.default.useRef(null),d=a.default.useCallback(n=>{let r,o,s;const a=n.target;if(function(e){return"body"in e}(a)||Tb(a)){const e=Tb(a)?a:a.defaultView;s=i?e.scrollX:e.scrollY,r=i?e.document.documentElement.scrollWidth:e.document.documentElement.scrollHeight,o=i?e.innerWidth:e.innerHeight}else s=i?a.scrollLeft:a.scrollTop,r=i?a.scrollWidth:a.scrollHeight,o=i?a.offsetWidth:a.offsetHeight;const d=()=>{e({scrollHeight:r,scrollTop:Math.max(s,0),viewportHeight:o})};n.suppressFlushSync?d():l.default.flushSync(d),null!==u.current&&(s===u.current||s<=0||s===r-o)&&(u.current=null,t(!0),c.current&&(clearTimeout(c.current),c.current=null))},[e,t,i]);return a.default.useEffect(()=>{const e=o||s.current;return r(o||s.current),d({suppressFlushSync:!0,target:e}),e.addEventListener("scroll",d,{passive:!0}),()=>{r(null),e.removeEventListener("scroll",d)}},[s,d,n,r,o]),{scrollByCallback:function(e){i&&(e={behavior:e.behavior,left:e.top}),s.current.scrollBy(e)},scrollerRef:s,scrollToCallback:function(n){const r=s.current;if(!r||(i?"offsetWidth"in r&&0===r.offsetWidth:"offsetHeight"in r&&0===r.offsetHeight))return;const o="smooth"===n.behavior;let a,l,d;Tb(r)?(l=Math.max(yy(r.document.documentElement,i?"width":"height"),i?r.document.documentElement.scrollWidth:r.document.documentElement.scrollHeight),a=i?r.innerWidth:r.innerHeight,d=i?window.scrollX:window.scrollY):(l=r[i?"scrollWidth":"scrollHeight"],a=yy(r,i?"width":"height"),d=r[i?"scrollLeft":"scrollTop"]);const f=l-a;if(n.top=Math.ceil(Math.max(Math.min(f,n.top),0)),Uy(a,l)||n.top===d)return e({scrollHeight:l,scrollTop:d,viewportHeight:a}),void(o&&t(!0));o?(u.current=n.top,c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,u.current=null,t(!0)},1e3)):u.current=null,i&&(n={behavior:n.behavior,left:n.top}),r.scrollTo(n)}}}const kb="-webkit-sticky",_b="sticky",Fb=yb(()=>{if(typeof document>"u")return _b;const e=document.createElement("div");return e.style.position=kb,e.style.position===kb?kb:_b});function jb(e){return e}const Rb=Fv(()=>{const e=Tv(e=>`Item ${e}`),t=Tv(e=>`Group ${e}`),n=Tv({}),r=Tv(jb),o=Tv("div"),i=Tv(uv),s=(e,t=null)=>Bv(Ev(n,Cv(t=>t[e]),xv()),t);return{components:n,computeItemKey:r,EmptyPlaceholder:s("EmptyPlaceholder"),FooterComponent:s("Footer"),GroupComponent:s("Group","div"),groupContent:t,HeaderComponent:s("Header"),HeaderFooterTag:o,ItemComponent:s("Item","div"),itemContent:e,ListComponent:s("List","div"),ScrollerComponent:s("Scroller","div"),scrollerRef:i,ScrollSeekPlaceholder:s("ScrollSeekPlaceholder"),TopItemListComponent:s("TopItemList")}}),Nb=Fv(([e,t])=>({...e,...t}),dv(Cb,Rb)),Pb=({height:e})=>fn.exports.jsx("div",{style:{height:e}}),Mb={overflowAnchor:"none",position:Fb(),zIndex:1},Lb={overflowAnchor:"none"},zb={...Lb,display:"inline-block",height:"100%"},Hb=a.default.memo(function({showTopList:e=!1}){const n=ox("listState"),r=ix("sizeRanges"),o=ox("useWindowScroll"),i=ox("customScrollParent"),s=ix("windowScrollContainerState"),u=ix("scrollContainerState"),c=i||o?s:u,l=ox("itemContent"),d=ox("context"),f=ox("groupContent"),h=ox("trackItemSizes"),p=ox("itemSize"),m=ox("log"),g=ix("gap"),v=ox("horizontalDirection"),{callbackRef:y}=Wv(r,p,h,e?uv:c,m,g,i,v,ox("skipAnimationFrameInResizeObserver")),[b,x]=a.default.useState(0);rx("deviation",e=>{b!==e&&x(e)});const w=ox("EmptyPlaceholder"),C=ox("ScrollSeekPlaceholder")||Pb,D=ox("ListComponent"),E=ox("ItemComponent"),A=ox("GroupComponent"),I=ox("computeItemKey"),S=ox("isSeeking"),O=ox("groupIndices").length>0,T=ox("alignToBottom"),B=ox("initialItemFinalLocationReached"),k=e?{}:{boxSizing:"border-box",...v?{display:"inline-block",height:"100%",marginLeft:0!==b?b:T?"auto":0,paddingLeft:n.offsetTop,paddingRight:n.offsetBottom,whiteSpace:"nowrap"}:{marginTop:0!==b?b:T?"auto":0,paddingBottom:n.offsetBottom,paddingTop:n.offsetTop},...B?{}:{visibility:"hidden"}};return!e&&0===n.totalCount&&w?fn.exports.jsx(w,{...qb(w,d)}):fn.exports.jsx(D,{...qb(D,d),"data-testid":e?"virtuoso-top-item-list":"virtuoso-item-list",ref:y,style:k,children:(e?n.topItems:n.items).map(e=>{const r=e.originalIndex,o=I(r+n.firstItemIndex,e.data,d);return S?t.createElement(C,{...qb(C,d),height:e.size,index:e.index,key:o,type:e.type||"item",..."group"===e.type?{}:{groupIndex:e.groupIndex}}):"group"===e.type?t.createElement(A,{...qb(A,d),"data-index":r,"data-item-index":e.index,"data-known-size":e.size,key:o,style:Mb},f(e.index,d)):t.createElement(E,{...qb(E,d),...Kb(E,e.data),"data-index":r,"data-item-group-index":e.groupIndex,"data-item-index":e.index,"data-known-size":e.size,key:o,style:v?zb:Lb},O?l(e.index,e.groupIndex,e.data,d):l(e.index,e.data,d))})})}),Ub={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},Wb={outline:"none",overflowX:"auto",position:"relative"},Vb=e=>({height:"100%",position:"absolute",top:0,width:"100%",...e?{display:"flex",flexDirection:"column"}:{}}),$b={position:Fb(),top:0,width:"100%",zIndex:1};function qb(e,t){if("string"!=typeof e)return{context:t}}function Kb(e,t){return{item:"string"==typeof e?void 0:t}}const Gb=a.default.memo(function(){const e=ox("HeaderComponent"),t=ix("headerHeight"),n=ox("HeaderFooterTag"),r=Hv(a.default.useMemo(()=>e=>{t(yy(e,"height"))},[t]),!0,ox("skipAnimationFrameInResizeObserver")),o=ox("context");return e?fn.exports.jsx(n,{ref:r,children:fn.exports.jsx(e,{...qb(e,o)})}):null}),Xb=a.default.memo(function(){const e=ox("FooterComponent"),t=ix("footerHeight"),n=ox("HeaderFooterTag"),r=Hv(a.default.useMemo(()=>e=>{t(yy(e,"height"))},[t]),!0,ox("skipAnimationFrameInResizeObserver")),o=ox("context");return e?fn.exports.jsx(n,{ref:r,children:fn.exports.jsx(e,{...qb(e,o)})}):null});function Zb({useEmitter:e,useEmitterValue:t,usePublisher:n}){return a.default.memo(function({children:r,style:o,...i}){const s=n("scrollContainerState"),a=t("ScrollerComponent"),u=n("smoothScrollTargetReached"),c=t("scrollerRef"),l=t("context"),d=t("horizontalDirection")||!1,{scrollByCallback:f,scrollerRef:h,scrollToCallback:p}=Bb(s,u,a,c,void 0,d);return e("scrollTo",p),e("scrollBy",f),fn.exports.jsx(a,{"data-testid":"virtuoso-scroller","data-virtuoso-scroller":!0,ref:h,style:{...d?Wb:Ub,...o},tabIndex:0,...i,...qb(a,l),children:r})})}function Yb({useEmitter:e,useEmitterValue:t,usePublisher:n}){return a.default.memo(function({children:r,style:o,...i}){const s=n("windowScrollContainerState"),u=t("ScrollerComponent"),c=n("smoothScrollTargetReached"),l=t("totalListHeight"),d=t("deviation"),f=t("customScrollParent"),h=t("context"),p=a.default.useRef(null),m=t("scrollerRef"),{scrollByCallback:g,scrollerRef:v,scrollToCallback:y}=Bb(s,c,u,m,f);return Ob(()=>{var e;return v.current=f||(null==(e=p.current)?void 0:e.ownerDocument.defaultView),()=>{v.current=null}},[v,f]),e("windowScrollTo",y),e("scrollBy",g),fn.exports.jsx(u,{ref:p,"data-virtuoso-scroller":!0,style:{position:"relative",...o,...0!==l?{height:l+d}:{}},...i,...qb(u,h),children:r})})}const Jb=({children:e})=>{const t=a.default.useContext(Ib),n=ix("viewportHeight"),r=ix("fixedItemHeight"),o=ox("alignToBottom"),i=ox("horizontalDirection"),s=Hv(a.default.useMemo(()=>iv(n,e=>yy(e,i?"width":"height")),[n,i]),!0,ox("skipAnimationFrameInResizeObserver"));return a.default.useEffect(()=>{t&&(n(t.viewportHeight),r(t.itemHeight))},[t,n,r]),fn.exports.jsx("div",{"data-viewport-type":"element",ref:s,style:Vb(o),children:e})},Qb=({children:e})=>{const t=a.default.useContext(Ib),n=ix("windowViewportRect"),r=ix("fixedItemHeight"),o=ox("customScrollParent"),i=$v(n,o,ox("skipAnimationFrameInResizeObserver")),s=ox("alignToBottom");return a.default.useEffect(()=>{t&&(r(t.itemHeight),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:100}))},[t,n,r]),fn.exports.jsx("div",{"data-viewport-type":"window",ref:i,style:Vb(s),children:e})},ex=({children:e})=>{const t=ox("TopItemListComponent")||"div",n=ox("headerHeight"),r={...$b,marginTop:`${n}px`},o=ox("context");return fn.exports.jsx(t,{style:r,...qb(t,o),children:e})},tx=a.default.memo(function(e){const t=ox("useWindowScroll"),n=ox("topItemsIndexes").length>0,r=ox("customScrollParent"),o=ox("context"),i=r||t?ax:sx,s=r||t?Qb:Jb;return fn.exports.jsxs(i,{...e,...qb(i,o),children:[n&&fn.exports.jsx(ex,{children:fn.exports.jsx(Hb,{showTopList:!0})}),fn.exports.jsxs(s,{children:[fn.exports.jsx(Gb,{}),fn.exports.jsx(Hb,{}),fn.exports.jsx(Xb,{})]})]})}),{Component:nx,useEmitter:rx,useEmitterValue:ox,usePublisher:ix}=Ab(Nb,{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"}},tx),sx=Zb({useEmitter:rx,useEmitterValue:ox,usePublisher:ix}),ax=Yb({useEmitter:rx,useEmitterValue:ox,usePublisher:ix}),ux=nx;Fb();const cx={bottom:0,itemHeight:0,items:[],itemWidth:0,offsetBottom:0,offsetTop:0,top:0},lx={bottom:0,itemHeight:0,items:[{index:0}],itemWidth:0,offsetBottom:0,offsetTop:0,top:0},{ceil:dx,floor:fx,max:hx,min:px,round:mx}=Math;function gx(e,t,n){return Array.from({length:t-e+1}).map((t,r)=>({data:null===n?null:n[r+e],index:r+e}))}function vx(e,t){return e&&e.width===t.width&&e.height===t.height}function yx(e,t){return e&&e.column===t.column&&e.row===t.row}const bx=Fv(([{increaseViewportBy:e,listBoundary:t,overscan:n,visibleRange:r},{footerHeight:o,headerHeight:i,scrollBy:s,scrollContainerState:a,scrollTo:u,scrollTop:c,smoothScrollTargetReached:l,viewportHeight:d},f,h,{didMount:p,propsReady:m},{customScrollParent:g,useWindowScroll:v,windowScrollContainerState:y,windowScrollTo:b,windowViewportRect:x},w])=>{const C=Tv(0),D=Tv(0),E=Tv(cx),A=Tv({height:0,width:0}),I=Tv({height:0,width:0}),S=kv(),O=kv(),T=Tv(0),B=Tv(null),k=Tv({column:0,row:0}),_=kv(),F=kv(),j=Tv(!1),R=Tv(0),N=Tv(!0),P=Tv(!1),M=Tv(!1);fv(Ev(p,Ov(R),wv(([e,t])=>!!t)),()=>{hv(N,!1)}),fv(Ev(Rv(p,N,I,A,R,P),wv(([e,t,n,r,,o])=>e&&!t&&0!==n.height&&0!==r.height&&!o)),([,,,,e])=>{hv(P,!0),Ly(1,()=>{hv(S,e)}),vv(Ev(c),()=>{hv(t,[0,0]),hv(N,!0)})}),gv(Ev(F,wv(e=>null!=e&&e.scrollTop>0),Dv(0)),D),fv(Ev(p,Ov(F),wv(([,e])=>null!=e)),([,e])=>{e&&(hv(A,e.viewport),hv(I,e.item),hv(k,e.gap),e.scrollTop>0&&(hv(j,!0),vv(Ev(c,Iv(1)),e=>{hv(j,!1)}),hv(u,{top:e.scrollTop})))}),gv(Ev(A,Cv(({height:e})=>e)),d),gv(Ev(Rv(Nv(A,vx),Nv(I,vx),Nv(k,(e,t)=>e&&e.column===t.column&&e.row===t.row),Nv(c)),Cv(([e,t,n,r])=>({gap:n,item:t,scrollTop:r,viewport:e}))),_),gv(Ev(Rv(Nv(C),r,Nv(k,yx),Nv(I,vx),Nv(A,vx),Nv(B),Nv(D),Nv(j),Nv(N),Nv(R)),wv(([,,,,,,,e])=>!e),Cv(([e,[t,n],r,o,i,s,a,,u,c])=>{const{column:l,row:d}=r,{height:f,width:h}=o,{width:p}=i;if(0===a&&(0===e||0===p))return cx;if(0===h){const t=zy(c,e);return function(e){return{...lx,items:e}}(gx(t,t+Math.max(a-1,0),s))}const m=xx(p,h,l);let g,v;u?0===t&&0===n&&a>0?(g=0,v=a-1):(g=m*fx((t+d)/(f+d)),v=m*dx((n+d)/(f+d))-1,v=px(e-1,hx(v,m-1)),g=px(v,hx(0,g))):(g=0,v=-1);const y=gx(g,v,s),{bottom:b,top:x}=wx(i,r,o,y),w=dx(e/m);return{bottom:b,itemHeight:f,items:y,itemWidth:h,offsetBottom:w*f+(w-1)*d-b,offsetTop:x,top:x}})),E),gv(Ev(B,wv(e=>null!==e),Cv(e=>e.length)),C),gv(Ev(Rv(A,I,E,k),wv(([e,t,{items:n}])=>n.length>0&&0!==t.height&&0!==e.height),Cv(([e,t,{items:n},r])=>{const{bottom:o,top:i}=wx(e,r,t,n);return[i,o]}),xv(py)),t);const L=Tv(!1);gv(Ev(c,Ov(L),Cv(([e,t])=>t||0!==e)),L);const z=_v(Ev(Rv(E,C),wv(([{items:e}])=>e.length>0),Ov(L),wv(([[e,t],n])=>{const r=e.items[e.items.length-1].index===t-1;return(n||e.bottom>0&&e.itemHeight>0&&0===e.offsetBottom&&e.items.length===t)&&r}),Cv(([[,e]])=>e-1),xv())),H=_v(Ev(Nv(E),wv(({items:e})=>e.length>0&&0===e[0].index),Dv(0),xv())),U=_v(Ev(Nv(E),Ov(j),wv(([{items:e},t])=>e.length>0&&!t),Cv(([{items:e}])=>({endIndex:e[e.length-1].index,startIndex:e[0].index})),xv(hy),Sv(0)));gv(U,h.scrollSeekRangeChanged),gv(Ev(S,Ov(A,I,C,k),Cv(([e,t,n,r,o])=>{const i=Py(e),{align:s,behavior:a,offset:u}=i;let c=i.index;"LAST"===c&&(c=r-1),c=hx(0,c,px(r-1,c));let l=Cx(t,o,n,c);return"end"===s?l=mx(l-t.height+n.height):"center"===s&&(l=mx(l-t.height/2+n.height/2)),u&&(l+=u),{behavior:a,top:l}})),u);const W=Bv(Ev(E,Cv(e=>e.offsetBottom+e.bottom)),0);return gv(Ev(x,Cv(e=>({height:e.visibleHeight,width:e.visibleWidth}))),A),{customScrollParent:g,data:B,deviation:T,footerHeight:o,gap:k,headerHeight:i,increaseViewportBy:e,initialItemCount:D,itemDimensions:I,overscan:n,restoreStateFrom:F,scrollBy:s,scrollContainerState:a,scrollHeight:O,scrollTo:u,scrollToIndex:S,scrollTop:c,smoothScrollTargetReached:l,totalCount:C,useWindowScroll:v,viewportDimensions:A,windowScrollContainerState:y,windowScrollTo:b,windowViewportRect:x,...h,gridState:E,horizontalDirection:M,initialTopMostItemIndex:R,totalListHeight:W,...f,endReached:z,propsReady:m,rangeChanged:U,startReached:H,stateChanged:_,stateRestoreInProgress:j,...w}},dv(Jy,qv,qy,hb,Ry,pb,zv));function xx(e,t,n){return hx(1,fx((e+n)/(fx(t)+n)))}function wx(e,t,n,r){const{height:o}=n;if(void 0===o||0===r.length)return{bottom:0,top:0};const i=Cx(e,t,n,r[0].index);return{bottom:Cx(e,t,n,r[r.length-1].index)+o,top:i}}function Cx(e,t,n,r){const o=xx(e.width,n.width,t.column),i=fx(r/o),s=i*n.height+hx(0,i-1)*t.row;return s>0?s+t.row:s}const Dx=Fv(()=>{const e=Tv(e=>`Item ${e}`),t=Tv({}),n=Tv(null),r=Tv("virtuoso-grid-item"),o=Tv("virtuoso-grid-list"),i=Tv(jb),s=Tv("div"),a=Tv(uv),u=(e,n=null)=>Bv(Ev(t,Cv(t=>t[e]),xv()),n),c=Tv(!1),l=Tv(!1);return gv(Nv(l),c),{components:t,computeItemKey:i,context:n,FooterComponent:u("Footer"),HeaderComponent:u("Header"),headerFooterTag:s,itemClassName:r,ItemComponent:u("Item","div"),itemContent:e,listClassName:o,ListComponent:u("List","div"),readyStateChanged:c,reportReadyState:l,ScrollerComponent:u("Scroller","div"),scrollerRef:a,ScrollSeekPlaceholder:u("ScrollSeekPlaceholder","div")}}),Ex=Fv(([e,t])=>({...e,...t}),dv(bx,Dx)),Ax=a.default.memo(function(){const e=Fx("gridState"),n=Fx("listClassName"),r=Fx("itemClassName"),o=Fx("itemContent"),i=Fx("computeItemKey"),s=Fx("isSeeking"),u=jx("scrollHeight"),c=Fx("ItemComponent"),l=Fx("ListComponent"),d=Fx("ScrollSeekPlaceholder"),f=Fx("context"),h=jx("itemDimensions"),p=jx("gap"),m=Fx("log"),g=Fx("stateRestoreInProgress"),v=jx("reportReadyState"),y=Hv(a.default.useMemo(()=>e=>{const t=e.parentElement.parentElement.scrollHeight;u(t);const n=e.firstChild;if(n){const{height:e,width:t}=n.getBoundingClientRect();h({height:e,width:t})}p({column:Px("column-gap",getComputedStyle(e).columnGap,m),row:Px("row-gap",getComputedStyle(e).rowGap,m)})},[u,h,p,m]),!0,!1);return Ob(()=>{e.itemHeight>0&&e.itemWidth>0&&v(!0)},[e]),g?null:fn.exports.jsx(l,{className:n,ref:y,...qb(l,f),"data-testid":"virtuoso-item-list",style:{paddingBottom:e.offsetBottom,paddingTop:e.offsetTop},children:e.items.map(n=>{const a=i(n.index,n.data,f);return s?fn.exports.jsx(d,{...qb(d,f),height:e.itemHeight,index:n.index,width:e.itemWidth},a):t.createElement(c,{...qb(c,f),className:r,"data-index":n.index,key:a},o(n.index,n.data,f))})})}),Ix=a.default.memo(function(){const e=Fx("HeaderComponent"),t=jx("headerHeight"),n=Fx("headerFooterTag"),r=Hv(a.default.useMemo(()=>e=>{t(yy(e,"height"))},[t]),!0,!1),o=Fx("context");return e?fn.exports.jsx(n,{ref:r,children:fn.exports.jsx(e,{...qb(e,o)})}):null}),Sx=a.default.memo(function(){const e=Fx("FooterComponent"),t=jx("footerHeight"),n=Fx("headerFooterTag"),r=Hv(a.default.useMemo(()=>e=>{t(yy(e,"height"))},[t]),!0,!1),o=Fx("context");return e?fn.exports.jsx(n,{ref:r,children:fn.exports.jsx(e,{...qb(e,o)})}):null}),Ox=({children:e})=>{const t=a.default.useContext(Sb),n=jx("itemDimensions"),r=jx("viewportDimensions"),o=Hv(a.default.useMemo(()=>e=>{r(e.getBoundingClientRect())},[r]),!0,!1);return a.default.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),fn.exports.jsx("div",{ref:o,style:Vb(!1),children:e})},Tx=({children:e})=>{const t=a.default.useContext(Sb),n=jx("windowViewportRect"),r=jx("itemDimensions"),o=Fx("customScrollParent"),i=$v(n,o,!1);return a.default.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),fn.exports.jsx("div",{ref:i,style:Vb(!1),children:e})},Bx=a.default.memo(function({...e}){const t=Fx("useWindowScroll"),n=Fx("customScrollParent"),r=n||t?Nx:Rx,o=n||t?Tx:Ox,i=Fx("context");return fn.exports.jsx(r,{...e,...qb(r,i),children:fn.exports.jsxs(o,{children:[fn.exports.jsx(Ix,{}),fn.exports.jsx(Ax,{}),fn.exports.jsx(Sx,{})]})})}),{Component:kx,useEmitter:_x,useEmitterValue:Fx,usePublisher:jx}=Ab(Ex,{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"}},Bx),Rx=Zb({useEmitter:_x,useEmitterValue:Fx,usePublisher:jx}),Nx=Yb({useEmitter:_x,useEmitterValue:Fx,usePublisher:jx});function Px(e,t,n){return"normal"!==t&&!(null!=t&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,Mv.WARN),"normal"===t?0:parseInt(null!=t?t:"0",10)}const Mx=("undefined"!=typeof window?window.requestIdleCallback:null)??function(e,t){return setTimeout(e,Math.min(t?.timeout??1/0,100))},Lx=("undefined"!=typeof window?window.cancelIdleCallback:null)??clearTimeout,zx={position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"},Hx=t.createContext(null);function Ux(){return ye(t.useContext(Hx),"EmojiPicker.Root is missing from the React tree.")}const Wx=`${Builder&&Builder.settings&&Builder.settings.unpkgUrl?Builder.settings.unpkgUrl:"https://unpkg.com"}/emojibase-data@15.3.0`,Vx=e=>`${Wx}/${e}/data.json`,$x=e=>`${Wx}/${e}/messages.json`,qx=["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"],Kx=e=>`lb-emoji-data-${e}`,Gx=e=>`lb-emoji-metadata-${e}`,Xx="lb-emoji-metadata",Zx=20;function Yx(e,t){const n=[];for(let r=e;r<=t;r++)n.push(r);return n}function Jx(e,t){const n=e.getItem(t);return n?JSON.parse(n):null}function Qx(e,t,n){e.setItem(t,JSON.stringify(n))}async function ew(e){try{return(await fetch(e,{method:"HEAD"})).headers.get("etag")}catch(e){return null}}async function tw(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(Vx(e)).then(async e=>({emojis:await e.json(),emojisEtag:e.headers.get("etag")})),fetch($x(e)).then(async e=>({messages:await e.json(),messagesEtag:e.headers.get("etag")}))]);return{emojis:t,messages:r,emojisEtag:n,messagesEtag:o}}(e),i=r.subgroups.find(e=>"subdivision-flag"===e.key),s=r.groups.filter(e=>"component"!==e.key),a=t.filter(e=>"group"in e),u=s.map(e=>({key:e.order,name:Og(e.message)})),c=r.skinTones.map(e=>({key:e.key,name:Og(e.message)})),l={emojis:a.map(e=>{const t={emoji:e.emoji,category:e.group,version:e.version,name:Og(e.label),tags:e.tags};return i&&e.subgroup===i.order&&(t.countryFlag=!0),t}),categories:u,skinTones:c};return Qx(localStorage,Kx(e),l),Qx(localStorage,Gx(e),{emojisEtag:n,messagesEtag:o}),l}function nw(e,t){e.clearRect(0,0,40,25),e.fillStyle="#f00",e.fillText(t,0,22),e.fillStyle="#00f",e.fillText(t,Zx,22);const n=e.getImageData(0,0,Zx,25).data,r=n.length;let o=0;for(;o<r&&!n[o+3];o+=4);if(o>=r)return!1;const i=Zx+o/4%Zx,s=Math.floor(o/4/Zx),a=e.getImageData(i,s,1,1).data;return n[o]===a[0]&&n[o+2]===a[2]&&!(e.measureText(t).width>=Zx)}function rw(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 vo}}()}`,o.textBaseline="top",o.canvas.width=40,o.canvas.height=25;const i=nw(o,"🇫🇷");for(const e of n){if(nw(o,t.get(e)))return{emojiVersion:e,countryFlags:i}}return{emojiVersion:r,countryFlags:i}}async function ow(e){const t=function(e){return qx.includes(e)?e:"en"}(e),n=Jx(sessionStorage,Xx),r=Jx(localStorage,Kx(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([ew(Vx(e)),ew($x(e))]);return{emojisEtag:t,messagesEtag:n}}(t),i=Jx(localStorage,Gx(t));o=i&&e===i.emojisEtag&&n===i.messagesEtag?r:await tw(t)}else o=await tw(t);const i=n??rw(o.emojis);Qx(sessionStorage,Xx,i);return{emojis:o.emojis.filter(e=>{const t=e.version<=i.emojiVersion;return e.countryFlag?t&&i.countryFlags:t}),categories:o.categories,skinTones:o.skinTones}}function iw({columns:e=10,locale:n="en",onEmojiSelect:r,children:o}){const i=t.useRef(),s=t.useRef(""),[,a]=t.useTransition(),[u,c]=t.useState(),[l,d]=t.useState(),[f,h]=t.useState(0),[p,m]=t.useState(0),[g,v]=t.useState("none"),y=t.useCallback(()=>{if(r){const e=u?.rows[p]?.[f];e&&r(e.emoji)}},[u?.rows,r,f,p]),b=t.useCallback(()=>{h(0),m(0)},[]),x=t.useCallback((e,t)=>{v("pointer"),h(e),m(t)},[]),w=t.useCallback((e,t)=>{if(u)if(t.preventDefault(),"none"!==g)switch(v("keyboard"),e){case"left":if(0===f){const e=p-1,t=u.rows[e];t&&(m(e),h(t.length-1))}else h(f-1);break;case"right":{const e=u.rows[p];if(!e)return;if(f===e.length-1){const e=p+1;u.rows[e]&&(m(e),h(0))}else h(f+1);break}case"up":{const e=u.rows[p-1];e&&(m(p-1),e[f]||h(e.length-1));break}case"down":{const e=u.rows[p+1];e&&(m(p+1),e[f]||h(e.length-1));break}}else v("keyboard")},[u,g,f,p]),C=t.useCallback(()=>{i.current&&a(()=>{c(()=>{if(!i.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)))}(i.current.emojis,s.current);return function(e,t,n){let r=0;const o=[],i=e.map((e,t)=>({...e,index:t})),s=[],a=[],u=[],c=t.map(e=>({...e,emojis:i.filter(t=>t.category===e.key)})).filter(e=>e.emojis.length>0);for(const e of c){const t=Z(e.emojis,n),i=r+t.length;o.push(...t),u.push(e.name),s.push(t.length),a.push(Yx(r,i-1)),r=i}return{count:e.length,rows:o,categories:u,categoriesRowCounts:s,categoriesRowIndices:a}}(t,i.current.categories,e)}),b()})},[e,b]),D=t.useCallback(e=>{s.current=e,C()},[C]),E=t.useCallback(async e=>{try{i.current=await ow(e),C()}catch(e){d(e)}},[C]);return t.useEffect(()=>{let e;const t=setTimeout(()=>{e=Mx(()=>{E(n)})},100);return()=>{clearTimeout(t),Lx(e)}},[n]),t.useEffect(()=>{"none"===g&&b()},[g]),fn.exports.jsx(Hx.Provider,{value:{data:u,error:l,isLoading:!u&&!l,columns:e,onSearch:D,onEmojiSelect:r,selectCurrentEmoji:y,selectedRowIndex:p,selectedColumnIndex:f,moveSelection:w,setPointerSelection:x,interaction:g,setInteraction:v},children:o})}const sw=t.forwardRef(({asChild:e,value:n,defaultValue:r,onChange:o,...i},s)=>{const a=e?Yr:"input",{onSearch:u,selectCurrentEmoji:c,moveSelection:l,interaction:d,setInteraction:f}=Ux(),h=t.useCallback(e=>{if(o?.(e),e.isDefaultPrevented())return;const t=e.target.value;f(t?"keyboard":"none"),u(t)},[o,u,f]),p=t.useCallback(e=>{e.isDefaultPrevented()||(Bh(e,"ArrowLeft")?l("left",e):Bh(e,"ArrowRight")?l("right",e):Bh(e,"ArrowUp")?l("up",e):Bh(e,"ArrowDown")?l("down",e):Bh(e,"Enter")&&"none"!==d&&(e.preventDefault(),c()))},[d,l,c]);return t.useEffect(()=>{u(n?String(n):r?String(r):"")},[]),fn.exports.jsx(a,{type:"search",value:n,defaultValue:r,onChange:h,onKeyDown:p,...i,ref:s})}),aw={CategoryHeader:({category:e,...t})=>fn.exports.jsx("div",{...t,children:e}),Row:({children:e,attributes:t,...n})=>fn.exports.jsx("div",{...n,children:e}),Emoji:({emoji:e,...t})=>fn.exports.jsx("button",{...t,children:fn.exports.jsx(yo,{emoji:e})}),Loading:e=>fn.exports.jsx("div",{...e}),Empty:e=>fn.exports.jsx("div",{...e}),Grid:e=>fn.exports.jsx("div",{...e}),Error:({error:e,...t})=>fn.exports.jsx("div",{...t})},uw={rowIndex:-1,categoryRowIndex:-1,categoryRowsCount:0},cw=t.forwardRef(({children:e,...t},n)=>fn.exports.jsx("div",{...t,tabIndex:-1,"data-testid":void 0,ref:n,children:e})),lw=t.forwardRef(({children:e,...t},n)=>fn.exports.jsx("div",{...t,"data-testid":void 0,ref:n,children:e})),dw=t.forwardRef(({components:e,asChild:n,...r},o)=>{const i=n?Yr:"div",s=t.useRef(null),a=t.useRef(null),u=t.useRef(0),c=t.useRef(0),l=t.useRef(0),{data:d,error:f,isLoading:h,columns:p,onEmojiSelect:m,selectedColumnIndex:g,selectedRowIndex:v,setPointerSelection:y,interaction:b,setInteraction:x}=Ux(),w=t.useMemo(()=>d?.rows[v]?.[g],[d?.rows,g,v]),{Loading:C,Empty:D,Error:E,CategoryHeader:A,Grid:I,Row:S,Emoji:O}=t.useMemo(()=>({...aw,...e}),[e]),T=t.useMemo(()=>t.forwardRef(({children:e,...t},n)=>fn.exports.jsx("div",{role:"grid","aria-colcount":p,...t,"data-testid":void 0,ref:n,children:e})),[p]),B=t.useMemo(()=>Array(p).fill("🌫️"),[p]),k=t.useCallback(e=>{e.preventDefault()},[]),_=t.useCallback(()=>{"pointer"===b&&x("none")},[b,x]);t.useLayoutEffect(()=>{if(!a.current)return;const e=a.current.childNodes[0],t=a.current.childNodes[1];if(e instanceof HTMLElement){const t=window.getComputedStyle(e);u.current=parseFloat(t.scrollMarginTop),c.current=parseFloat(t.scrollMarginBottom)}t instanceof HTMLElement&&(l.current=t.offsetHeight)},[]);const F=t.useCallback(({itemTop:e,itemBottom:t,viewportTop:n,viewportBottom:r,locationParams:{behavior:o,align:i,...s}})=>e-(l.current+u.current)<n?{...s,behavior:o,align:i??"start"}:t>r?{...s,behavior:o,align:i??"end",offset:c.current}:null,[]);return t.useEffect(()=>{"keyboard"===b&&s.current?.scrollIntoView({index:v,behavior:"auto",calculateViewLocation:F})},[b,v,F]),fn.exports.jsxs(i,{...r,ref:o,children:[fn.exports.jsxs("div",{style:{visibility:"hidden",height:0},ref:a,children:[fn.exports.jsx(S,{attributes:uw,children:B.map((e,t)=>fn.exports.jsx(O,{emoji:e},t))}),fn.exports.jsx(A,{category:"Category"})]}),h?fn.exports.jsx(C,{}):f?fn.exports.jsx(E,{error:f}):0===d.count?fn.exports.jsx(D,{}):fn.exports.jsx(I,{children:fn.exports.jsx(ux,{ref:s,components:{Scroller:cw,List:T,TopItemList:lw},groupCounts:d.categoriesRowCounts,groupContent:e=>{const t=d.categories[e];return t?fn.exports.jsx(A,{category:t}):null},itemContent:(e,t)=>{const n=d.rows[e],r=d.categoriesRowIndices[t]?.indexOf(e),o=d.categoriesRowCounts[t];return void 0===n||void 0===r||void 0===o?null:fn.exports.jsx(S,{attributes:{rowIndex:e,categoryRowIndex:r,categoryRowsCount:o},children:n.map((t,n)=>{const r="none"!==b&&g===n&&v===e;return fn.exports.jsx(O,{role:"gridcell","aria-colindex":n,"aria-selected":r||void 0,"data-selected":r||void 0,onMouseDown:k,tabIndex:-1,onPointerEnter:()=>{y(n,e)},onPointerLeave:_,onClick:e=>{m?.(t.emoji),e.stopPropagation()},emoji:t.emoji},t.emoji)})})}})}),w&&"none"!==b&&fn.exports.jsx("div",{"aria-live":"polite",style:zx,children:w.name})]})}),fw=["B","KB","MB","GB"];function hw(e,t){if(0===e)return`0 ${fw[1]}`;let n;n=0===e?1:Math.max(1,Math.min(Math.floor(Math.log(Math.abs(e))/Math.log(1e3)),fw.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 i=fw[n];return`${Fg(t,{minimumFractionDigits:0,maximumFractionDigits:o}).format(r)} ${i}`}function pw(e,t=[]){let n=[];const r=()=>{const t=n.map(e=>u.createContext(e));return function(n){const r=n?.[e]||t;return u.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return r.scopeName=e,[function(t,r){const o=u.createContext(r),i=n.length;n=[...n,r];const s=t=>{const{scope:n,children:r,...s}=t,a=n?.[e]?.[i]||o,c=u.useMemo(()=>s,Object.values(s));return fn.exports.jsx(a.Provider,{value:c,children:r})};return s.displayName=t+"Provider",[s,function(n,s){const a=s?.[e]?.[i]||o,c=u.useContext(a);if(c)return c;if(void 0!==r)return r;throw new Error(`\`${n}\` must be used within \`${t}\``)}]},mw(r,...t)]}function mw(...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 u.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}function gw(e){const t=u.useRef(e);return u.useEffect(()=>{t.current=e}),u.useMemo(()=>(...e)=>t.current?.(...e),[])}var vw,yw="dismissableLayer.update",bw="dismissableLayer.pointerDownOutside",xw="dismissableLayer.focusOutside",ww=u.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Cw=u.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:i,onInteractOutside:s,onDismiss:a,...c}=e,l=u.useContext(ww),[d,f]=u.useState(null),h=d?.ownerDocument??globalThis?.document,[,p]=u.useState({}),m=Xr(t,e=>f(e)),g=Array.from(l.layers),[v]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),y=g.indexOf(v),b=d?g.indexOf(d):-1,x=l.layersWithOutsidePointerEventsDisabled.size>0,w=b>=y,C=function(e,t=globalThis?.document){const n=gw(e),r=u.useRef(!1),o=u.useRef(()=>{});return u.useEffect(()=>{const e=e=>{if(e.target&&!r.current){let r=function(){Aw(bw,n,i,{discrete:!0})};const i={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},i=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(i),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||a?.())},h),D=function(e,t=globalThis?.document){const n=gw(e),r=u.useRef(!1);return u.useEffect(()=>{const e=e=>{if(e.target&&!r.current){Aw(xw,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))||(i?.(e),s?.(e),e.defaultPrevented||a?.())},h);return function(e,t=globalThis?.document){const n=gw(e);u.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&&a&&(e.preventDefault(),a()))},h),u.useEffect(()=>{if(d)return n&&(0===l.layersWithOutsidePointerEventsDisabled.size&&(vw=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(d)),l.layers.add(d),Ew(),()=>{n&&1===l.layersWithOutsidePointerEventsDisabled.size&&(h.body.style.pointerEvents=vw)}},[d,h,n,l]),u.useEffect(()=>()=>{d&&(l.layers.delete(d),l.layersWithOutsidePointerEventsDisabled.delete(d),Ew())},[d,l]),u.useEffect(()=>{const e=()=>p({});return document.addEventListener(yw,e),()=>document.removeEventListener(yw,e)},[]),fn.exports.jsx(ro.div,{...c,ref:m,style:{pointerEvents:x?w?"auto":"none":void 0,...e.style},onFocusCapture:Wr(e.onFocusCapture,D.onFocusCapture),onBlurCapture:Wr(e.onBlurCapture,D.onBlurCapture),onPointerDownCapture:Wr(e.onPointerDownCapture,C.onPointerDownCapture)})});Cw.displayName="DismissableLayer";var Dw=u.forwardRef((e,t)=>{const n=u.useContext(ww),r=u.useRef(null),o=Xr(t,r);return u.useEffect(()=>{const e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),fn.exports.jsx(ro.div,{...e,ref:o})});function Ew(){const e=new CustomEvent(yw);document.dispatchEvent(e)}function Aw(e,t,n,{discrete:r}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?oo(o,i):o.dispatchEvent(i)}Dw.displayName="DismissableLayerBranch";var Iw=u[" useId ".trim().toString()]||(()=>{}),Sw=0;function Ow(e){const[t,n]=u.useState(Iw());return Vr(()=>{e||n(e=>e??String(Sw++))},[e]),e||(t?`radix-${t}`:"")}var Tw=u.forwardRef((e,t)=>{const{children:n,width:r=10,height:o=5,...i}=e;return fn.exports.jsx(ro.svg,{...i,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:fn.exports.jsx("polygon",{points:"0,0 30,0 15,10"})})});Tw.displayName="Arrow";var Bw=Tw;var kw="Popper",[_w,Fw]=pw(kw),[jw,Rw]=_w(kw),Nw=e=>{const{__scopePopper:t,children:n}=e,[r,o]=u.useState(null);return fn.exports.jsx(jw,{scope:t,anchor:r,onAnchorChange:o,children:n})};Nw.displayName=kw;var Pw="PopperAnchor",Mw=u.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...o}=e,i=Rw(Pw,n),s=u.useRef(null),a=Xr(t,s),c=u.useRef(null);return u.useEffect(()=>{const e=c.current;c.current=r?.current||s.current,e!==c.current&&i.onAnchorChange(c.current)}),r?null:fn.exports.jsx(ro.div,{...o,ref:a})});Mw.displayName=Pw;var Lw="PopperContent",[zw,Hw]=_w(Lw),Uw=u.forwardRef((e,t)=>{const{__scopePopper:n,side:r="bottom",sideOffset:o=0,align:i="center",alignOffset:s=0,arrowPadding:a=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:d=0,sticky:f="partial",hideWhenDetached:h=!1,updatePositionStrategy:p="optimized",onPlaced:m,...g}=e,v=Rw(Lw,n),[y,b]=u.useState(null),x=Xr(t,e=>b(e)),[w,C]=u.useState(null),D=function(e){const[t,n]=u.useState(void 0);return Vr(()=>{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,i;if("borderBoxSize"in r){const e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;o=t.inlineSize,i=t.blockSize}else o=e.offsetWidth,i=e.offsetHeight;n({width:o,height:i})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}n(void 0)},[e]),t}(w),E=D?.width??0,A=D?.height??0,I=r+("center"!==i?"-"+i:""),S="number"==typeof d?d:{top:0,right:0,bottom:0,left:0,...d},O=Array.isArray(l)?l:[l],T=O.length>0,B={padding:S,boundary:O.filter(qw),altBoundary:T},{refs:k,floatingStyles:_,placement:F,isPositioned:j,middlewareData:R}=Lm({strategy:"fixed",placement:I,whileElementsMounted:(...e)=>Em(...e,{animationFrame:"always"===p}),elements:{reference:v.anchor},middleware:[Hm({mainAxis:o+A,alignmentAxis:s}),c&&Um({mainAxis:!0,crossAxis:!1,limiter:"partial"===f?Wm():void 0,...B}),c&&Vm({...B}),$m({...B,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{const{width:o,height:i}=t.reference,s=e.floating.style;s.setProperty("--radix-popper-available-width",`${n}px`),s.setProperty("--radix-popper-available-height",`${r}px`),s.setProperty("--radix-popper-anchor-width",`${o}px`),s.setProperty("--radix-popper-anchor-height",`${i}px`)}}),w&&Gm({element:w,padding:a}),Kw({arrowWidth:E,arrowHeight:A}),h&&qm({strategy:"referenceHidden",...B})]}),[N,P]=Gw(F),M=gw(m);Vr(()=>{j&&M?.()},[j,M]);const L=R.arrow?.x,z=R.arrow?.y,H=0!==R.arrow?.centerOffset,[U,W]=u.useState();return Vr(()=>{y&&W(window.getComputedStyle(y).zIndex)},[y]),fn.exports.jsx("div",{ref:k.setFloating,"data-radix-popper-content-wrapper":"",style:{..._,transform:j?_.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:U,"--radix-popper-transform-origin":[R.transformOrigin?.x,R.transformOrigin?.y].join(" "),...R.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:fn.exports.jsx(zw,{scope:n,placedSide:N,onArrowChange:C,arrowX:L,arrowY:z,shouldHideArrow:H,children:fn.exports.jsx(ro.div,{"data-side":N,"data-align":P,...g,ref:x,style:{...g.style,animation:j?void 0:"none"}})})})});Uw.displayName=Lw;var Ww="PopperArrow",Vw={top:"bottom",right:"left",bottom:"top",left:"right"},$w=u.forwardRef(function(e,t){const{__scopePopper:n,...r}=e,o=Hw(Ww,n),i=Vw[o.placedSide];return fn.exports.jsx("span",{ref:o.onArrowChange,style:{position:"absolute",left:o.arrowX,top:o.arrowY,[i]: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:fn.exports.jsx(Bw,{...r,ref:t,style:{...r.style,display:"block"}})})});function qw(e){return null!==e}$w.displayName=Ww;var Kw=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:r,middlewareData:o}=t,i=0!==o.arrow?.centerOffset,s=i?0:e.arrowWidth,a=i?0:e.arrowHeight,[u,c]=Gw(n),l={start:"0%",center:"50%",end:"100%"}[c],d=(o.arrow?.x??0)+s/2,f=(o.arrow?.y??0)+a/2;let h="",p="";return"bottom"===u?(h=i?l:`${d}px`,p=-a+"px"):"top"===u?(h=i?l:`${d}px`,p=`${r.floating.height+a}px`):"right"===u?(h=-a+"px",p=i?l:`${f}px`):"left"===u&&(h=`${r.floating.width+a}px`,p=i?l:`${f}px`),{data:{x:h,y:p}}}});function Gw(e){const[t,n="center"]=e.split("-");return[t,n]}var Xw=Nw,Zw=Mw,Yw=Uw,Jw=$w,Qw=u.forwardRef((e,t)=>{const{container:n,...r}=e,[o,i]=u.useState(!1);Vr(()=>i(!0),[]);const s=n||o&&globalThis?.document?.body;return s?l.default.createPortal(fn.exports.jsx(ro.div,{...r,ref:t}),s):null});Qw.displayName="Portal";var eC=e=>{const{present:t,children:n}=e,r=function(e){const[t,n]=u.useState(),r=u.useRef(null),o=u.useRef(e),i=u.useRef("none"),s=e?"mounted":"unmounted",[a,c]=function(e,t){return u.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 u.useEffect(()=>{const e=tC(r.current);i.current="mounted"===a?e:"none"},[a]),Vr(()=>{const t=r.current,n=o.current;if(n!==e){const r=i.current,s=tC(t);if(e)c("MOUNT");else if("none"===s||"none"===t?.display)c("UNMOUNT");else{c(n&&r!==s?"ANIMATION_OUT":"UNMOUNT")}o.current=e}},[e,c]),Vr(()=>{if(t){let e;const n=t.ownerDocument.defaultView??window,s=i=>{const s=tC(r.current).includes(CSS.escape(i.animationName));if(i.target===t&&s&&(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)})}},a=e=>{e.target===t&&(i.current=tC(r.current))};return t.addEventListener("animationstart",a),t.addEventListener("animationcancel",s),t.addEventListener("animationend",s),()=>{n.clearTimeout(e),t.removeEventListener("animationstart",a),t.removeEventListener("animationcancel",s),t.removeEventListener("animationend",s)}}c("ANIMATION_END")},[t,c]),{isPresent:["mounted","unmountSuspended"].includes(a),ref:u.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}(t),o="function"==typeof n?n({present:r.isPresent}):u.Children.only(n),i=Xr(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?u.cloneElement(o,{ref:i}):null};function tC(e){return e?.animationName||"none"}eC.displayName="Presence";var nC=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"}),rC=u.forwardRef((e,t)=>fn.exports.jsx(ro.span,{...e,ref:t,style:{...nC,...e.style}}));rC.displayName="VisuallyHidden";var oC=rC,[iC,sC]=pw("Tooltip",[Fw]),aC=Fw(),uC="TooltipProvider",cC=700,lC="tooltip.open",[dC,fC]=iC(uC),hC=e=>{const{__scopeTooltip:t,delayDuration:n=cC,skipDelayDuration:r=300,disableHoverableContent:o=!1,children:i}=e,s=u.useRef(!0),a=u.useRef(!1),c=u.useRef(0);return u.useEffect(()=>{const e=c.current;return()=>window.clearTimeout(e)},[]),fn.exports.jsx(dC,{scope:t,isOpenDelayedRef:s,delayDuration:n,onOpen:u.useCallback(()=>{window.clearTimeout(c.current),s.current=!1},[]),onClose:u.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.current=!0,r)},[r]),isPointerInTransitRef:a,onPointerInTransitChange:u.useCallback(e=>{a.current=e},[]),disableHoverableContent:o,children:i})};hC.displayName=uC;var pC="Tooltip",[mC,gC]=iC(pC),vC=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:o,onOpenChange:i,disableHoverableContent:s,delayDuration:a}=e,c=fC(pC,e.__scopeTooltip),l=aC(t),[d,f]=u.useState(null),h=Ow(),p=u.useRef(0),m=s??c.disableHoverableContent,g=a??c.delayDuration,v=u.useRef(!1),[y,b]=qr({prop:r,defaultProp:o??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(lC))):c.onClose(),i?.(e)},caller:pC}),x=u.useMemo(()=>y?v.current?"delayed-open":"instant-open":"closed",[y]),w=u.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v.current=!1,b(!0)},[b]),C=u.useCallback(()=>{window.clearTimeout(p.current),p.current=0,b(!1)},[b]),D=u.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{v.current=!0,b(!0),p.current=0},g)},[g,b]);return u.useEffect(()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)},[]),fn.exports.jsx(Xw,{...l,children:fn.exports.jsx(mC,{scope:t,contentId:h,open:y,stateAttribute:x,trigger:d,onTriggerChange:f,onTriggerEnter:u.useCallback(()=>{c.isOpenDelayedRef.current?D():w()},[c.isOpenDelayedRef,D,w]),onTriggerLeave:u.useCallback(()=>{m?C():(window.clearTimeout(p.current),p.current=0)},[C,m]),onOpen:w,onClose:C,disableHoverableContent:m,children:n})})};vC.displayName=pC;var yC="TooltipTrigger",bC=u.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=gC(yC,n),i=fC(yC,n),s=aC(n),a=Xr(t,u.useRef(null),o.onTriggerChange),c=u.useRef(!1),l=u.useRef(!1),d=u.useCallback(()=>c.current=!1,[]);return u.useEffect(()=>()=>document.removeEventListener("pointerup",d),[d]),fn.exports.jsx(Zw,{asChild:!0,...s,children:fn.exports.jsx(ro.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...r,ref:a,onPointerMove:Wr(e.onPointerMove,e=>{"touch"!==e.pointerType&&(l.current||i.isPointerInTransitRef.current||(o.onTriggerEnter(),l.current=!0))}),onPointerLeave:Wr(e.onPointerLeave,()=>{o.onTriggerLeave(),l.current=!1}),onPointerDown:Wr(e.onPointerDown,()=>{o.open&&o.onClose(),c.current=!0,document.addEventListener("pointerup",d,{once:!0})}),onFocus:Wr(e.onFocus,()=>{c.current||o.onOpen()}),onBlur:Wr(e.onBlur,o.onClose),onClick:Wr(e.onClick,o.onClose)})})});bC.displayName=yC;var xC="TooltipPortal",[wC,CC]=iC(xC,{forceMount:void 0}),DC=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:o}=e,i=gC(xC,t);return fn.exports.jsx(wC,{scope:t,forceMount:n,children:fn.exports.jsx(eC,{present:n||i.open,children:fn.exports.jsx(Qw,{asChild:!0,container:o,children:r})})})};DC.displayName=xC;var EC="TooltipContent",AC=u.forwardRef((e,t)=>{const n=CC(EC,e.__scopeTooltip),{forceMount:r=n.forceMount,side:o="top",...i}=e,s=gC(EC,e.__scopeTooltip);return fn.exports.jsx(eC,{present:r||s.open,children:s.disableHoverableContent?fn.exports.jsx(BC,{side:o,...i,ref:t}):fn.exports.jsx(IC,{side:o,...i,ref:t})})}),IC=u.forwardRef((e,t)=>{const n=gC(EC,e.__scopeTooltip),r=fC(EC,e.__scopeTooltip),o=u.useRef(null),i=Xr(t,o),[s,a]=u.useState(null),{trigger:c,onClose:l}=n,d=o.current,{onPointerInTransitChange:f}=r,h=u.useCallback(()=>{a(null),f(!1)},[f]),p=u.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),i=Math.abs(t.left-e.x);switch(Math.min(n,r,o,i)){case i:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}(r,n.getBoundingClientRect()),i=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),s=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)}([...i,...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())]);a(s),f(!0)},[f]);return u.useEffect(()=>()=>h(),[h]),u.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]),u.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,i=t.length-1;e<t.length;i=e++){const s=t[e],a=t[i],u=s.x,c=s.y,l=a.x,d=a.y;c>r!=d>r&&n<(l-u)*(r-c)/(d-c)+u&&(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]),fn.exports.jsx(BC,{...e,ref:i})}),[SC,OC]=iC(pC,{isInside:!1}),TC=eo("TooltipContent"),BC=u.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":o,onEscapeKeyDown:i,onPointerDownOutside:s,...a}=e,c=gC(EC,n),l=aC(n),{onClose:d}=c;return u.useEffect(()=>(document.addEventListener(lC,d),()=>document.removeEventListener(lC,d)),[d]),u.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]),fn.exports.jsx(Cw,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:fn.exports.jsxs(Yw,{"data-state":c.stateAttribute,...l,...a,ref:t,style:{...a.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:[fn.exports.jsx(TC,{children:r}),fn.exports.jsx(SC,{scope:n,isInside:!0,children:fn.exports.jsx(oC,{id:c.contentId,role:"tooltip",children:o||r})})]})})});AC.displayName=EC;var kC="TooltipArrow";u.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=aC(n);return OC(kC,n).isInside?null:fn.exports.jsx(Jw,{...o,...r,ref:t})}).displayName=kC;var _C=vC,FC=bC,jC=DC,RC=AC;const NC={alt:()=>({title:"Alt",key:"⌥"}),mod:()=>Oh()?{title:"Command",key:"⌘"}:{title:"Ctrl",key:"⌃"},shift:()=>({title:"Shift",key:"⇧"}),enter:()=>({title:"Enter",key:"⏎"})},PC=t.forwardRef(({children:e,content:t,multiline:n,className:r,...o},i)=>{const{portalContainer:s}=xf();return fn.exports.jsxs(_C,{disableHoverableContent:!0,children:[fn.exports.jsx(FC,{asChild:!0,ref:i,children:e}),fn.exports.jsx(jC,{container:s,children:fn.exports.jsx(RC,{className:uo("lb-root lb-portal lb-tooltip",n&&"lb-tooltip:multiline",r),side:"top",align:"center",sideOffset:6,collisionPadding:10,...o,children:t})})]})}),MC=t.forwardRef(({children:e,content:t,shortcut:n,...r},o)=>fn.exports.jsx(PC,{content:fn.exports.jsxs(fn.exports.Fragment,{children:[t,n&&fn.exports.jsx("kbd",{className:"lb-tooltip-shortcut",children:n})]}),...r,ref:o,children:e}));function LC({name:e,...n}){const{title:r,key:o}=t.useMemo(()=>NC[e]?.(),[e]);return fn.exports.jsx("abbr",{title:r,...n,children:o})}const zC=62914560,HC=/^(.+?)(\.[^.]+)?$/;const UC=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?fn.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/")?fn.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/")?fn.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/")?fn.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/")?fn.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}(e),[e]);return fn.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:[fn.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"}),fn.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"}),fn.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"}),n&&fn.exports.jsx("g",{className:"lb-attachment-icon-glyph",children:n})]})});function WC({attachment:e,markPreviewAsUnsupported:n,roomId:r}){const{url:o}=Lr(e.id,r),[i,s]=t.useState(!1),a=t.useCallback(()=>{s(!0)},[]);return fn.exports.jsxs(fn.exports.Fragment,{children:[i?null:fn.exports.jsx(tv,{}),o?fn.exports.jsx("div",{className:"lb-attachment-preview-media","data-hidden":i?void 0:"",children:fn.exports.jsx("img",{src:o,loading:"lazy",onLoad:a,onError:n})}):null]})}function VC({attachment:e,markPreviewAsUnsupported:n,roomId:r}){const{url:o}=Lr(e.id,r),[i,s]=t.useState(!1),a=t.useCallback(()=>{s(!0)},[]);return fn.exports.jsxs(fn.exports.Fragment,{children:[i?null:fn.exports.jsx(tv,{}),o?fn.exports.jsx("div",{className:"lb-attachment-preview-media","data-hidden":i?void 0:"",children:fn.exports.jsx("video",{src:o,onLoadedData:a,onError:n})}):null]})}function $C({attachment:e,allowMediaPreview:n=!0,roomId:r}){const[o,i]=t.useState(!1),s="attachment"===e.type||"uploaded"===e.status;function a(){i(!0)}if(!o&&n&&s&&e.size<=zC){if(e.mimeType.startsWith("image/"))return fn.exports.jsx(WC,{attachment:e,markPreviewAsUnsupported:a,roomId:r});if(e.mimeType.startsWith("video/"))return fn.exports.jsx(VC,{attachment:e,markPreviewAsUnsupported:a,roomId:r})}return fn.exports.jsx(UC,{mimeType:e.mimeType})}function qC({attachment:e}){const{base:n,extension:r}=t.useMemo(()=>function(e){const t=e.match(HC);return{base:t?.[1]??e,extension:t?.[2]}}(e.name),[e.name]);return fn.exports.jsxs("span",{className:"lb-attachment-name",title:e.name,children:[fn.exports.jsx("span",{className:"lb-attachment-name-base",children:n}),r&&fn.exports.jsx("span",{className:"lb-attachment-name-extension",children:r})]})}function KC(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 GC(e,t){const n=Do(t),r=Yh(),o=Boolean(r),i=r?.maxAttachmentSize,s="localAttachment"===e.type?e.status:void 0,a="uploading"===s,u="error"===s;let c;c="localAttachment"===e.type&&"error"===e.status?e.error instanceof og?"server"===e.error.origin?n.ATTACHMENT_TOO_LARGE():n.ATTACHMENT_TOO_LARGE(i?hw(i,n.locale):void 0):n.ATTACHMENT_ERROR(e.error):hw(e.size,n.locale);return{isUploading:a,isError:u,description:c,deleteLabel:o?n.COMPOSER_REMOVE_ATTACHMENT:n.COMMENT_DELETE_ATTACHMENT}}function XC({attachment:e,overrides:n,onClick:r,onDeleteClick:o,preventFocusOnDelete:i,allowMediaPreview:s=!0,roomId:a,className:u,onKeyDown:c,...l}){const{isUploading:d,isError:f,description:h,deleteLabel:p}=GC(e,n),m=t.useCallback(e=>{i&&e.preventDefault()},[i]),g=KC(c);return fn.exports.jsxs("div",{className:uo("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?g:void 0,children:[fn.exports.jsx("div",{className:"lb-attachment-preview",children:d?fn.exports.jsx(tv,{}):f?fn.exports.jsx(nv,{}):fn.exports.jsx($C,{attachment:e,allowMediaPreview:s,roomId:a})}),fn.exports.jsxs("div",{className:"lb-attachment-details",children:[fn.exports.jsx(qC,{attachment:e}),fn.exports.jsx("span",{className:"lb-attachment-description",title:h,children:h})]}),o&&fn.exports.jsx(PC,{content:p,children:fn.exports.jsx("button",{type:"button",className:"lb-attachment-delete",onClick:o,onPointerDown:m,"aria-label":p,children:fn.exports.jsx(fo,{})})})]})}function ZC({attachment:e,overrides:n,onClick:r,onDeleteClick:o,preventFocusOnDelete:i,allowMediaPreview:s=!0,roomId:a,className:u,onKeyDown:c,...l}){const{isUploading:d,isError:f,description:h,deleteLabel:p}=GC(e,n),m=t.useCallback(e=>{i&&e.preventDefault()},[i]),g=KC(c);return fn.exports.jsxs("div",{className:uo("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?g:void 0,children:[fn.exports.jsx("div",{className:"lb-attachment-preview",children:d?fn.exports.jsx(tv,{}):f?fn.exports.jsx(nv,{}):fn.exports.jsx($C,{attachment:e,allowMediaPreview:s,roomId:a})}),fn.exports.jsxs("div",{className:"lb-attachment-details",children:[fn.exports.jsx(qC,{attachment:e}),fn.exports.jsx("span",{className:"lb-attachment-description",title:h,children:h})]}),o&&fn.exports.jsx(PC,{content:p,children:fn.exports.jsx("button",{type:"button",className:"lb-attachment-delete",onClick:o,onPointerDown:m,"aria-label":p,children:fn.exports.jsx(fo,{})})})]})}function YC({className:e,...t}){return fn.exports.jsx("a",{href:"https://liveblocks.io",target:"_blank",rel:"noopener noreferrer",className:uo("lb-composer-attribution",e),...t,children:fn.exports.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 72","aria-label":"Made with Liveblocks",children:fn.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 JC(e){return e.trim().split(" ").reduce((e,t,n,r)=>(0!==n&&n!==r.length-1||(e+=t.charAt(0).toLocaleUpperCase()),e),"")}function QC({userId:e,className:n,...r}){const{user:o,isLoading:i}=pr(e),s=t.useMemo(()=>o?.name,[o]),a=t.useMemo(()=>o?.avatar,[o]),u=t.useMemo(()=>s?JC(s):void 0,[s]),c=t.useMemo(()=>i||o?void 0:JC(e),[i,o,e]);return fn.exports.jsxs("div",{className:uo("lb-avatar",n),"data-loading":i?"":void 0,...r,children:[a&&fn.exports.jsx("img",{className:"lb-avatar-image",src:a,alt:s}),u?fn.exports.jsx("span",{className:"lb-avatar-fallback","aria-hidden":!0,children:u}):c?fn.exports.jsx("span",{className:"lb-avatar-fallback","aria-label":e,title:e,children:c}):null]})}const eD=t.forwardRef(({variant:e="default",size:t="default",disableable:n=!0,className:r,...o},i)=>fn.exports.jsx("button",{type:"button",className:uo("lb-button",!n&&"lb-button:non-disableable",r),"data-variant":e,"data-size":t,...o,ref:i}));var tD=0;function nD(){u.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??rD()),document.body.insertAdjacentElement("beforeend",e[1]??rD()),tD++,()=>{1===tD&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),tD--}},[])}function rD(){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 oD="focusScope.autoFocusOnMount",iD="focusScope.autoFocusOnUnmount",sD={bubbles:!1,cancelable:!0},aD=u.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...s}=e,[a,c]=u.useState(null),l=gw(o),d=gw(i),f=u.useRef(null),h=Xr(t,e=>c(e)),p=u.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;u.useEffect(()=>{if(r){let e=function(e){if(p.paused||!a)return;const t=e.target;a.contains(t)?f.current=t:dD(f.current,{select:!0})},t=function(e){if(p.paused||!a)return;const t=e.relatedTarget;null!==t&&(a.contains(t)||dD(f.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(const t of e)t.removedNodes.length>0&&dD(a)};document.addEventListener("focusin",e),document.addEventListener("focusout",t);const r=new MutationObserver(n);return a&&r.observe(a,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),r.disconnect()}}},[r,a,p.paused]),u.useEffect(()=>{if(a){fD.add(p);const t=document.activeElement;if(!a.contains(t)){const n=new CustomEvent(oD,sD);a.addEventListener(oD,l),a.dispatchEvent(n),n.defaultPrevented||(!function(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(dD(r,{select:t}),document.activeElement!==n)return}((e=uD(a),e.filter(e=>"A"!==e.tagName)),{select:!0}),document.activeElement===t&&dD(a))}return()=>{a.removeEventListener(oD,l),setTimeout(()=>{const e=new CustomEvent(iD,sD);a.addEventListener(iD,d),a.dispatchEvent(e),e.defaultPrevented||dD(t??document.body,{select:!0}),a.removeEventListener(iD,d),fD.remove(p)},0)}}var e},[a,l,d,p]);const m=u.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,i]=function(e){const t=uD(e),n=cD(t,e),r=cD(t.reverse(),e);return[n,r]}(t);r&&i?e.shiftKey||o!==i?e.shiftKey&&o===r&&(e.preventDefault(),n&&dD(i,{select:!0})):(e.preventDefault(),n&&dD(r,{select:!0})):o===t&&e.preventDefault()}},[n,r,p.paused]);return fn.exports.jsx(ro.div,{tabIndex:-1,...s,ref:h,onKeyDown:m})});function uD(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 cD(e,t){for(const n of e)if(!lD(n,{upTo:t}))return n}function lD(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 dD(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()}}aD.displayName="FocusScope";var fD=function(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=hD(e,t),e.unshift(t)},remove(t){e=hD(e,t),e[0]?.resume()}}}();function hD(e,t){const n=[...e],r=n.indexOf(t);return-1!==r&&n.splice(r,1),n}var pD=new WeakMap,mD=new WeakMap,gD={},vD=0,yD=function(e){return e&&(e.host||yD(e.parentNode))},bD=function(e,t,n,r){var o=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=yD(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]);gD[n]||(gD[n]=new WeakMap);var i=gD[n],s=[],a=new Set,u=new Set(o),c=function(e){e&&!a.has(e)&&(a.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(a.has(e))l(e);else try{var t=e.getAttribute(r),o=null!==t&&"false"!==t,u=(pD.get(e)||0)+1,c=(i.get(e)||0)+1;pD.set(e,u),i.set(e,c),s.push(e),1===u&&o&&mD.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),a.clear(),vD++,function(){s.forEach(function(e){var t=pD.get(e)-1,o=i.get(e)-1;pD.set(e,t),i.set(e,o),t||(mD.has(e)||e.removeAttribute(r),mD.delete(e)),o||e.removeAttribute(n)}),--vD||(pD=new WeakMap,pD=new WeakMap,mD=new WeakMap,gD={})}},xD=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], script"))),bD(r,o,n,"aria-hidden")):function(){return null}},wD=function(){return wD=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},wD.apply(this,arguments)};function CD(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 DD(e,t,n,r){return new(n||(n=Promise))(function(o,i){function s(e){try{u(r.next(e))}catch(e){i(e)}}function a(e){try{u(r.throw(e))}catch(e){i(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(s,a)}u((r=r.apply(e,t||[])).next())})}function ED(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(u){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}}function AD(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return s}"function"==typeof SuppressedError&&SuppressedError;var ID="right-scroll-bar-position",SD="width-before-scroll-bar";function OD(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var TD="undefined"!=typeof window?u.useLayoutEffect:u.useEffect,BD=new WeakMap;function kD(e,n){var r,o,i,s=(r=n||null,o=function(t){return e.forEach(function(e){return OD(e,t)})},i=t.useState(function(){return{value:r,callback:o,facade:{get current(){return i.value},set current(e){var t=i.value;t!==e&&(i.value=e,i.callback(e,t))}}}})[0],i.callback=o,i.facade);return TD(function(){var t=BD.get(s);if(t){var n=new Set(t),r=new Set(e),o=s.current;n.forEach(function(e){r.has(e)||OD(e,null)}),r.forEach(function(e){n.has(e)||OD(e,o)})}BD.set(s,e)},[e]),s}function _D(e){return e}Object.prototype.toString.call("undefined"!=typeof process?process:0);var FD=function(e){var t=e.sideCar,n=CD(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 u.createElement(r,wD({},n))};FD.isSideCarExport=!0;var jD=function(e){void 0===e&&(e={});var t=function(e,t){void 0===t&&(t=_D);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 i=function(){var n=t;t=[],n.forEach(e)},s=function(){return Promise.resolve().then(i)};s(),n={push:function(e){t.push(e),s()},filter:function(e){return t=t.filter(e),n}}}};return o}(null);return t.options=wD({async:!0,ssr:!1},e),t}(),RD=function(){},ND=u.forwardRef(function(e,t){var n=u.useRef(null),r=u.useState({onScrollCapture:RD,onWheelCapture:RD,onTouchMoveCapture:RD}),o=r[0],i=r[1],s=e.forwardProps,a=e.children,c=e.className,l=e.removeScrollBar,d=e.enabled,f=e.shards,h=e.sideCar,p=e.noRelative,m=e.noIsolation,g=e.inert,v=e.allowPinchZoom,y=e.as,b=void 0===y?"div":y,x=e.gapMode,w=CD(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),C=h,D=kD([n,t]),E=wD(wD({},w),o);return u.createElement(u.Fragment,null,d&&u.createElement(C,{sideCar:jD,removeScrollBar:l,shards:f,noRelative:p,noIsolation:m,inert:g,setCallbacks:i,allowPinchZoom:!!v,lockRef:n,gapMode:x}),s?u.cloneElement(u.Children.only(a),wD(wD({},E),{ref:D})):u.createElement(b,wD({},E,{className:c,ref:D}),a))});ND.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},ND.classNames={fullWidth:SD,zeroRight:ID};function PD(){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 MD=function(){var e=0,t=null;return{add:function(n){var r,o;0==e&&(t=PD())&&(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)}}},LD=function(){var e,t=(e=MD(),function(t,n){u.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}},zD={left:0,top:0,right:0,gap:0},HD=function(e){return parseInt(e||"",10)||0},UD=function(e){if(void 0===e&&(e="margin"),"undefined"==typeof window)return zD;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[HD(n),HD(r),HD(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])}},WD=LD(),VD="data-scroll-locked",$D=function(e,t,n,r){var o=e.left,i=e.top,s=e.right,a=e.gap;return void 0===n&&(n="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(r,";\n padding-right: ").concat(a,"px ").concat(r,";\n }\n body[").concat(VD,"] {\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(i,"px;\n padding-right: ").concat(s,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(a,"px ").concat(r,";\n "),"padding"===n&&"padding-right: ".concat(a,"px ").concat(r,";")].filter(Boolean).join(""),"\n }\n \n .").concat(ID," {\n right: ").concat(a,"px ").concat(r,";\n }\n \n .").concat(SD," {\n margin-right: ").concat(a,"px ").concat(r,";\n }\n \n .").concat(ID," .").concat(ID," {\n right: 0 ").concat(r,";\n }\n \n .").concat(SD," .").concat(SD," {\n margin-right: 0 ").concat(r,";\n }\n \n body[").concat(VD,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(a,"px;\n }\n")},qD=function(){var e=parseInt(document.body.getAttribute(VD)||"0",10);return isFinite(e)?e:0},KD=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=void 0===r?"margin":r;u.useEffect(function(){return document.body.setAttribute(VD,(qD()+1).toString()),function(){var e=qD()-1;e<=0?document.body.removeAttribute(VD):document.body.setAttribute(VD,e.toString())}},[]);var i=u.useMemo(function(){return UD(o)},[o]);return u.createElement(WD,{styles:$D(i,!t,o,n?"":"!important")})},GD=!1;if("undefined"!=typeof window)try{var XD=Object.defineProperty({},"passive",{get:function(){return GD=!0,!0}});window.addEventListener("test",XD,XD),window.removeEventListener("test",XD,XD)}catch(e){GD=!1}var ZD=!!GD&&{passive:!1},YD=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])},JD=function(e,t){var n=t.ownerDocument,r=t;do{if("undefined"!=typeof ShadowRoot&&r instanceof ShadowRoot&&(r=r.host),QD(e,r)){var o=eE(e,r);if(o[1]>o[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},QD=function(e,t){return"v"===e?function(e){return YD(e,"overflowY")}(t):function(e){return YD(e,"overflowX")}(t)},eE=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},tE=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},nE=function(e){return[e.deltaX,e.deltaY]},rE=function(e){return e&&"current"in e?e.current:e},oE=function(e){return"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")},iE=0,sE=[];function aE(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var uE,cE=(uE=function(e){var t=u.useRef([]),n=u.useRef([0,0]),r=u.useRef(),o=u.useState(iE++)[0],i=u.useState(LD)[0],s=u.useRef(e);u.useEffect(function(){s.current=e},[e]),u.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,i=t.length;o<i;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(rE),!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 a=u.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!s.current.allowPinchZoom;var o,i=tE(e),a=n.current,u="deltaX"in e?e.deltaX:a[0]-i[0],c="deltaY"in e?e.deltaY:a[1]-i[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=JD(d,l);if(!f)return!0;if(f?o=d:(o="v"===d?"h":"v",f=JD(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 i=function(e,t){return"h"===e&&"rtl"===t?-1:1}(e,window.getComputedStyle(t).direction),s=i*r,a=n.target,u=t.contains(a),c=!1,l=s>0,d=0,f=0;do{if(!a)break;var h=eE(e,a),p=h[0],m=h[1]-h[2]-i*p;(p||m)&&QD(e,a)&&(d+=m,f+=p);var g=a.parentNode;a=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!u&&a!==document.body||u&&(t.contains(a)||t===a));return(l&&(o&&Math.abs(d)<1||!o&&s>d)||!l&&(o&&Math.abs(f)<1||!o&&-s>f))&&(c=!0),c}(h,t,e,"h"===h?u:c,!0)},[]),c=u.useCallback(function(e){var n=e;if(sE.length&&sE[sE.length-1]===i){var r="deltaY"in n?nE(n):tE(n),o=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&function(e,t){return e[0]===t[0]&&e[1]===t[1]}(e.delta,r)})[0];if(o&&o.should)n.cancelable&&n.preventDefault();else if(!o){var u=(s.current.shards||[]).map(rE).filter(Boolean).filter(function(e){return e.contains(n.target)});(u.length>0?a(n,u[0]):!s.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=u.useCallback(function(e,n,r,o){var i={name:e,delta:n,target:r,should:o,shadowParent:aE(r)};t.current.push(i),setTimeout(function(){t.current=t.current.filter(function(e){return e!==i})},1)},[]),d=u.useCallback(function(e){n.current=tE(e),r.current=void 0},[]),f=u.useCallback(function(t){l(t.type,nE(t),t.target,a(t,e.lockRef.current))},[]),h=u.useCallback(function(t){l(t.type,tE(t),t.target,a(t,e.lockRef.current))},[]);u.useEffect(function(){return sE.push(i),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:h}),document.addEventListener("wheel",c,ZD),document.addEventListener("touchmove",c,ZD),document.addEventListener("touchstart",d,ZD),function(){sE=sE.filter(function(e){return e!==i}),document.removeEventListener("wheel",c,ZD),document.removeEventListener("touchmove",c,ZD),document.removeEventListener("touchstart",d,ZD)}},[]);var p=e.removeScrollBar,m=e.inert;return u.createElement(u.Fragment,null,m?u.createElement(i,{styles:oE(o)}):null,p?u.createElement(KD,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},jD.useMedium(uE),FD),lE=u.forwardRef(function(e,t){return u.createElement(ND,wD({},e,{ref:t,sideCar:cE}))});lE.classNames=ND.classNames;var dE="Popover",[fE,hE]=pw(dE,[Fw]),pE=Fw(),[mE,gE]=fE(dE),vE=e=>{const{__scopePopover:t,children:n,open:r,defaultOpen:o,onOpenChange:i,modal:s=!1}=e,a=pE(t),c=u.useRef(null),[l,d]=u.useState(!1),[f,h]=qr({prop:r,defaultProp:o??!1,onChange:i,caller:dE});return fn.exports.jsx(Xw,{...a,children:fn.exports.jsx(mE,{scope:t,contentId:Ow(),triggerRef:c,open:f,onOpenChange:h,onOpenToggle:u.useCallback(()=>h(e=>!e),[h]),hasCustomAnchor:l,onCustomAnchorAdd:u.useCallback(()=>d(!0),[]),onCustomAnchorRemove:u.useCallback(()=>d(!1),[]),modal:s,children:n})})};vE.displayName=dE;var yE="PopoverAnchor";u.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,o=gE(yE,n),i=pE(n),{onCustomAnchorAdd:s,onCustomAnchorRemove:a}=o;return u.useEffect(()=>(s(),()=>a()),[s,a]),fn.exports.jsx(Zw,{...i,...r,ref:t})}).displayName=yE;var bE="PopoverTrigger",xE=u.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,o=gE(bE,n),i=pE(n),s=Xr(t,o.triggerRef),a=fn.exports.jsx(ro.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":_E(o.open),...r,ref:s,onClick:Wr(e.onClick,o.onOpenToggle)});return o.hasCustomAnchor?a:fn.exports.jsx(Zw,{asChild:!0,...i,children:a})});xE.displayName=bE;var wE="PopoverPortal",[CE,DE]=fE(wE,{forceMount:void 0}),EE=e=>{const{__scopePopover:t,forceMount:n,children:r,container:o}=e,i=gE(wE,t);return fn.exports.jsx(CE,{scope:t,forceMount:n,children:fn.exports.jsx(eC,{present:n||i.open,children:fn.exports.jsx(Qw,{asChild:!0,container:o,children:r})})})};EE.displayName=wE;var AE="PopoverContent",IE=u.forwardRef((e,t)=>{const n=DE(AE,e.__scopePopover),{forceMount:r=n.forceMount,...o}=e,i=gE(AE,e.__scopePopover);return fn.exports.jsx(eC,{present:r||i.open,children:i.modal?fn.exports.jsx(OE,{...o,ref:t}):fn.exports.jsx(TE,{...o,ref:t})})});IE.displayName=AE;var SE=Zr("PopoverContent.RemoveScroll"),OE=u.forwardRef((e,t)=>{const n=gE(AE,e.__scopePopover),r=u.useRef(null),o=Xr(t,r),i=u.useRef(!1);return u.useEffect(()=>{const e=r.current;if(e)return xD(e)},[]),fn.exports.jsx(lE,{as:SE,allowPinchZoom:!0,children:fn.exports.jsx(BE,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Wr(e.onCloseAutoFocus,e=>{e.preventDefault(),i.current||n.triggerRef.current?.focus()}),onPointerDownOutside:Wr(e.onPointerDownOutside,e=>{const t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,r=2===t.button||n;i.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:Wr(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),TE=u.forwardRef((e,t)=>{const n=gE(AE,e.__scopePopover),r=u.useRef(!1),o=u.useRef(!1);return fn.exports.jsx(BE,{...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 i=t.target,s=n.triggerRef.current?.contains(i);s&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&o.current&&t.preventDefault()}})}),BE=u.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:i,disableOutsidePointerEvents:s,onEscapeKeyDown:a,onPointerDownOutside:u,onFocusOutside:c,onInteractOutside:l,...d}=e,f=gE(AE,n),h=pE(n);return nD(),fn.exports.jsx(aD,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:i,children:fn.exports.jsx(Cw,{asChild:!0,disableOutsidePointerEvents:s,onInteractOutside:l,onEscapeKeyDown:a,onPointerDownOutside:u,onFocusOutside:c,onDismiss:()=>f.onOpenChange(!1),children:fn.exports.jsx(Yw,{"data-state":_E(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)"}})})})}),kE="PopoverClose";u.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,o=gE(kE,n);return fn.exports.jsx(ro.button,{type:"button",...r,ref:t,onClick:Wr(e.onClick,()=>o.onOpenChange(!1))})}).displayName=kE;function _E(e){return e?"open":"closed"}u.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,o=pE(n);return fn.exports.jsx(Jw,{...o,...r,ref:t})}).displayName="PopoverArrow";var FE=vE,jE=xE,RE=EE,NE=IE;function PE(e){return fn.exports.jsx(co,{...e,children:fn.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 ME({className:e,...t}){return fn.exports.jsx("div",{className:uo("lb-loading lb-emoji-picker-loading",e),...t,children:fn.exports.jsx(tv,{})})}function LE({className:e,...t}){const n=Do();return fn.exports.jsx("div",{className:uo("lb-empty lb-emoji-picker-empty",e),...t,children:n.EMOJI_PICKER_EMPTY})}function zE({error:e,className:t,...n}){const r=Do();return fn.exports.jsx("div",{className:uo("lb-error lb-emoji-picker-error",t),...n,children:r.EMOJI_PICKER_ERROR(e)})}function HE({category:e,className:t,...n}){return fn.exports.jsx("div",{className:uo("lb-emoji-picker-category-header",t),...n,children:fn.exports.jsx("span",{className:"lb-emoji-picker-category-header-title",children:e})})}function UE({children:e,className:t,...n}){return fn.exports.jsx("div",{className:uo("lb-emoji-picker-grid",t),...n,children:e})}function WE({attributes:e,children:n,className:r,...o}){const i=t.useMemo(()=>0===e.categoryRowIndex,[e.categoryRowIndex]),s=t.useMemo(()=>e.categoryRowIndex===e.categoryRowsCount-1,[e.categoryRowIndex,e.categoryRowsCount]);return fn.exports.jsx("div",{className:uo("lb-emoji-picker-row",r),"data-first":i?"":void 0,"data-last":s?"":void 0,...o,children:n})}function VE({emoji:e,className:t,...n}){return fn.exports.jsx("button",{className:uo("lb-emoji-picker-emoji",t),...n,children:fn.exports.jsx(bo,{emoji:e})})}const $E=t.forwardRef(({onEmojiSelect:e,onOpenChange:n,children:r,className:o,...i},s)=>{const[a,u]=t.useState(!1),{portalContainer:c}=xf(),l=Do(),d=t.useCallback(e=>{u(e),n?.(e)},[n]),f=t.useCallback(t=>{u(!1),e?.(t)},[e]);return fn.exports.jsxs(FE,{open:a,onOpenChange:d,children:[r,fn.exports.jsx(RE,{container:c,children:fn.exports.jsx(NE,{side:"top",align:"center",sideOffset:6,collisionPadding:10,className:uo("lb-root lb-portal lb-elevation lb-emoji-picker",o),...i,ref:s,children:fn.exports.jsxs(iw,{onEmojiSelect:f,locale:l.locale,children:[fn.exports.jsx("div",{className:"lb-emoji-picker-header",children:fn.exports.jsxs("div",{className:"lb-emoji-picker-search-container",children:[fn.exports.jsx(sw,{className:"lb-emoji-picker-search",placeholder:l.EMOJI_PICKER_SEARCH_PLACEHOLDER,autoFocus:!0}),fn.exports.jsx(PE,{className:"lb-emoji-picker-search-icon"})]})}),fn.exports.jsx(dw,{className:"lb-emoji-picker-content",components:{Loading:ME,Empty:LE,Error:zE,CategoryHeader:HE,Grid:UE,Row:WE,Emoji:VE}})]})})})]})});function qE({userId:e,replaceSelf:n,className:r,...o}){const i=Lg(),{user:s,isLoading:a}=pr(e),u=Do(),c=t.useMemo(()=>n&&i===e?u.USER_SELF:s?.name??u.USER_UNKNOWN,[n,i,e,u.USER_SELF,u.USER_UNKNOWN,s?.name]);return fn.exports.jsx("span",{className:uo("lb-name lb-user",r),"data-loading":a?"":void 0,...o,children:a?null:c})}function KE({label:e,tooltipLabel:n,className:r,onClick:o,...i}){const{createMention:s}=ep(),a=t.useCallback(e=>{e.preventDefault()},[]),u=t.useCallback(e=>{o?.(e),e.isDefaultPrevented()||(e.stopPropagation(),s())},[s,o]);return fn.exports.jsx(PC,{content:n??e,children:fn.exports.jsx(eD,{className:uo("lb-composer-editor-action",r),onPointerDown:a,onClick:u,"aria-label":e,...i,children:fn.exports.jsx(Jg,{className:"lb-button-icon"})})})}function GE({label:e,tooltipLabel:n,onPickerOpenChange:r,className:o,...i}){const{insertText:s}=ep(),a=t.useCallback(e=>{e.preventDefault()},[]),u=t.useCallback(e=>{e.stopPropagation()},[]);return fn.exports.jsx($E,{onEmojiSelect:s,onOpenChange:r,children:fn.exports.jsx(PC,{content:n??e,children:fn.exports.jsx(xE,{asChild:!0,children:fn.exports.jsx(eD,{className:uo("lb-composer-editor-action",o),onPointerDown:a,onClick:u,"aria-label":e,...i,children:fn.exports.jsx(Zg,{className:"lb-button-icon"})})})})})}function XE({label:e,tooltipLabel:n,className:r,...o}){const i=t.useCallback(e=>{e.preventDefault()},[]),s=t.useCallback(e=>{e.stopPropagation()},[]);return fn.exports.jsx(PC,{content:n??e,children:fn.exports.jsx(Ig,{asChild:!0,children:fn.exports.jsx(eD,{className:uo("lb-composer-editor-action",r),onPointerDown:i,onClick:s,"aria-label":e,...o,children:fn.exports.jsx(Kg,{className:"lb-button-icon"})})})})}function ZE({mark:e,shortcut:n,children:r,...o}){const i=Do(),s=t.useMemo(()=>i.COMPOSER_TOGGLE_MARK(e),[i,e]);return fn.exports.jsx(MC,{content:s,shortcut:n,sideOffset:8,children:fn.exports.jsx(Sg,{mark:e,asChild:!0,...o,children:fn.exports.jsx(eD,{"aria-label":s,variant:"toggle",children:r})})})}const YE={bold:()=>fn.exports.jsx(ZE,{mark:"bold",shortcut:fn.exports.jsxs(fn.exports.Fragment,{children:[fn.exports.jsx(LC,{name:"mod"}),fn.exports.jsx("span",{children:"B"})]}),children:fn.exports.jsx(Gg,{})}),italic:()=>fn.exports.jsx(ZE,{mark:"italic",shortcut:fn.exports.jsxs(fn.exports.Fragment,{children:[fn.exports.jsx(LC,{name:"mod"}),fn.exports.jsx("span",{children:"I"})]}),children:fn.exports.jsx(Yg,{})}),strikethrough:()=>fn.exports.jsx(ZE,{mark:"strikethrough",shortcut:fn.exports.jsxs(fn.exports.Fragment,{children:[fn.exports.jsx(LC,{name:"mod"}),fn.exports.jsx(LC,{name:"shift"}),fn.exports.jsx("span",{children:"S"})]}),children:fn.exports.jsx(ev,{})}),code:()=>fn.exports.jsx(ZE,{mark:"code",shortcut:fn.exports.jsxs(fn.exports.Fragment,{children:[fn.exports.jsx(LC,{name:"mod"}),fn.exports.jsx("span",{children:"E"})]}),children:fn.exports.jsx(Xg,{})})},JE=Object.entries(YE).map(([e,t])=>fn.exports.jsx(t,{},e));function QE(){return fn.exports.jsx(hg,{className:"lb-root lb-portal lb-elevation lb-composer-floating-toolbar",children:JE})}function eA({attachment:e,className:n,overrides:r,...o}){const{removeAttachment:i}=ep(),{roomId:s}=Zh(),a=t.useCallback(()=>{i(e.id)},[e.id,i]);return fn.exports.jsx(ZC,{className:uo("lb-composer-attachment",n),...o,attachment:e,onDeleteClick:a,preventFocusOnDelete:!0,overrides:r,roomId:s})}function tA({overrides:e,className:t,...n}){const{attachments:r}=ep();return 0===r.length?null:fn.exports.jsx("div",{className:uo("lb-composer-attachments",t),...n,children:fn.exports.jsx("div",{className:"lb-attachments",children:r.map(t=>fn.exports.jsx(eA,{attachment:t,overrides:e},t.id))})})}const nA={Mention:function({userId:e}){return fn.exports.jsxs(vg,{className:"lb-composer-mention",children:[Aa,fn.exports.jsx(qE,{userId:e})]})},MentionSuggestions:function({userIds:e}){return e.length>0?fn.exports.jsx(bg,{className:"lb-root lb-portal lb-elevation lb-composer-suggestions lb-composer-mention-suggestions",children:fn.exports.jsx(xg,{className:"lb-composer-suggestions-list lb-composer-mention-suggestions-list",children:e.map(e=>fn.exports.jsxs(wg,{className:"lb-composer-suggestions-list-item lb-composer-mention-suggestion",value:e,children:[fn.exports.jsx(QC,{userId:e,className:"lb-composer-mention-suggestion-avatar"}),fn.exports.jsx(qE,{userId:e,className:"lb-composer-mention-suggestion-user"})]},e))})}):null},Link:function({href:e,children:t}){return fn.exports.jsx(yg,{href:e,className:"lb-composer-link",children:t})}};function rA({showAttachments:e=!0,showFormattingControls:n=!0,showAttribution:r,defaultValue:o,isCollapsed:i,overrides:s,actions:a,autoFocus:u,disabled:c,hasResolveMentionSuggestions:l,onEmojiPickerOpenChange:d,onEmptyChange:f,onEditorClick:h}){const{isEmpty:p}=ep(),{hasMaxAttachments:m}=Jh(),g=Do(s),v=t.useMemo(()=>({...nA,FloatingToolbar:n?QE:void 0}),[n]),[y,b]=rg({disabled:c||m});t.useLayoutEffect(()=>{f(p)},[p,f]);const x=t.useCallback(e=>{e.preventDefault()},[]),w=t.useCallback(e=>{e.stopPropagation()},[]);return fn.exports.jsxs("div",{className:"lb-composer-editor-container",...b,children:[fn.exports.jsx(Dg,{className:"lb-composer-editor",onClick:h,placeholder:g.COMPOSER_PLACEHOLDER,defaultValue:o,autoFocus:u,components:v,disabled:c,dir:g.dir}),e&&fn.exports.jsx(tA,{overrides:s}),(!i||y)&&fn.exports.jsxs("div",{className:"lb-composer-footer",children:[fn.exports.jsxs("div",{className:"lb-composer-editor-actions",children:[l&&fn.exports.jsx(KE,{label:g.COMPOSER_INSERT_MENTION,disabled:c}),fn.exports.jsx(GE,{label:g.COMPOSER_INSERT_EMOJI,onPickerOpenChange:d,disabled:c}),e&&fn.exports.jsx(XE,{label:g.COMPOSER_ATTACH_FILES,disabled:c})]}),r&&fn.exports.jsx(YC,{}),fn.exports.jsx("div",{className:"lb-composer-actions",children:a??fn.exports.jsx(fn.exports.Fragment,{children:fn.exports.jsx(MC,{content:g.COMPOSER_SEND,shortcut:fn.exports.jsx(LC,{name:"enter"}),children:fn.exports.jsx(Ag,{asChild:!0,children:fn.exports.jsx(eD,{onPointerDown:x,onClick:w,className:"lb-composer-action",variant:"primary","aria-label":g.COMPOSER_SEND,children:fn.exports.jsx(Qg,{})})})})})})]}),e&&y&&fn.exports.jsx("div",{className:"lb-composer-attachments-drop-area",children:fn.exports.jsxs("div",{className:"lb-composer-attachments-drop-area-label",children:[fn.exports.jsx(Kg,{}),g.COMPOSER_ATTACH_FILES]})})]})}t.createContext(null);const oA=t.forwardRef(({threadId:e,commentId:n,metadata:r,defaultValue:o,defaultAttachments:i,onComposerSubmit:s,collapsed:a,defaultCollapsed:u,onCollapsedChange:c,overrides:l,actions:d,onBlur:f,className:h,onFocus:p,autoFocus:m,disabled:g,showAttachments:v=!0,showFormattingControls:y=!0,showAttribution:b,roomId:x,...w},C)=>{const D=mn(),E=void 0!==x?x:D?.id;if(void 0===E)throw new Error("Composer must be a descendant of RoomProvider component");const A=function(e){const n=or();return t.useCallback(t=>{const r=t.body,o=t.metadata??{},i=t.attachments,s=Q(),a=ee(),u=new Date,c={id:a,threadId:s,roomId:e,createdAt:u,type:"comment",userId:Or(n),body:r,reactions:[],attachments:i??[]},l={id:s,type:"thread",createdAt:u,updatedAt:u,roomId:e,metadata:o,comments:[c],resolved:!1},{store:d,onMutationFailure:f}=kr(n),h=d.optimisticUpdates.add({type:"create-thread",thread:l,roomId:e}),p=i?.map(e=>e.id);return n[Xe].httpClient.createThread({roomId:e,threadId:s,commentId:a,body:r,metadata:o,attachmentIds:p}).then(e=>{d.createThread(h,e)},t=>f(t,h,t=>new mr(t,{roomId:e,threadId:s,commentId:a,body:r,metadata:o}))),l},[n,e])}(E),I=function(e){const n=or();return t.useCallback(({threadId:t,body:r,attachments:o})=>{const i=ee(),s={id:i,threadId:t,roomId:e,type:"comment",createdAt:new Date,userId:Or(n),body:r,reactions:[],attachments:o??[]},{store:a,onMutationFailure:u}=kr(n),c=a.optimisticUpdates.add({type:"create-comment",comment:s}),l=o?.map(e=>e.id);return n[Xe].httpClient.createComment({roomId:e,threadId:t,commentId:i,body:r,attachmentIds:l}).then(e=>{a.createComment(e,c)},n=>u(n,c,n=>new yr(n,{roomId:e,threadId:t,commentId:i,body:r}))),s},[n,e])}(E),S=Rr(E),{preventUnsavedComposerChanges:O}=xf(),T=void 0!==jr(),B=t.useRef(!0),k=t.useRef(!1),_=Do(l),[F,j]=function(e,n,r){const[o,i]=t.useState(r),s=void 0!==e,a=t.useRef(s);return t.useEffect(()=>{a.current=s},[s]),[s?e:o,t.useCallback(e=>(s||i(e),n?.(e)),[s,n])]}((void 0!==a||void 0!==u)&&a,c,u),R=t.useSyncExternalStore(t.useCallback(e=>null===D?()=>{}:D.events.self.subscribeOnce(e),[D]),t.useCallback(()=>D?.getSelf()?.canComment??!0,[D]),t.useCallback(()=>!0,[])),N=function(e){return Ar(kr(or()).store.permissionHints.signal,t=>t[e]??new Set)}(E),P=N.size>0?N.has(Ve.CommentsWrite)||N.has(Ve.Write):R,M=t.useCallback(e=>{B.current=e},[]),L=t.useCallback(e=>{k.current=e},[]),z=t.useCallback(e=>{p?.(e),e.isDefaultPrevented()||B.current&&P&&j?.(!1)},[j,p,P]),H=t.useCallback(e=>{if(f?.(e),e.isDefaultPrevented())return;!e.currentTarget.contains(e.relatedTarget??document.activeElement)&&B.current&&!k.current&&j?.(!0)},[f,j]),U=t.useCallback(e=>{e.stopPropagation(),B.current&&P&&j?.(!1)},[j,P]),W=t.useCallback((t,o)=>{s?.(t,o),o.isDefaultPrevented()||(n&&e?S({commentId:n,threadId:e,body:t.body,attachments:t.attachments}):e?I({threadId:e,body:t.body,attachments:t.attachments}):A({body:t.body,metadata:r??{},attachments:t.attachments}))},[n,I,A,S,r,s,e]);return fn.exports.jsx(hC,{children:fn.exports.jsx(Eg,{onComposerSubmit:W,className:uo("lb-root lb-composer lb-composer-form",h),dir:_.dir,...w,ref:C,"data-collapsed":F?"":void 0,onFocus:z,onBlur:H,disabled:g||!P,defaultAttachments:i,pasteFilesAsAttachments:v,preventUnsavedChanges:O,roomId:E,children:fn.exports.jsx(rA,{defaultValue:o,actions:d,overrides:l,isCollapsed:F,showAttachments:v,showAttribution:b,showFormattingControls:y,hasResolveMentionSuggestions:T,onEmptyChange:M,onEmojiPickerOpenChange:L,onEditorClick:U,autoFocus:m,disabled:g})})})});function iA(e){const t=e+"CollectionProvider",[n,r]=pw(t),[o,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),s=e=>{const{scope:t,children:n}=e,r=a.default.useRef(null),i=a.default.useRef(new Map).current;return fn.exports.jsx(o,{scope:t,itemMap:i,collectionRef:r,children:n})};s.displayName=t;const u=e+"CollectionSlot",c=Zr(u),l=a.default.forwardRef((e,t)=>{const{scope:n,children:r}=e,o=Xr(t,i(u,n).collectionRef);return fn.exports.jsx(c,{ref:o,children:r})});l.displayName=u;const d=e+"CollectionItemSlot",f="data-radix-collection-item",h=Zr(d),p=a.default.forwardRef((e,t)=>{const{scope:n,children:r,...o}=e,s=a.default.useRef(null),u=Xr(t,s),c=i(d,n);return a.default.useEffect(()=>(c.itemMap.set(s,{ref:s,...o}),()=>{c.itemMap.delete(s)})),fn.exports.jsx(h,{[f]:"",ref:u,children:r})});return p.displayName=d,[{Provider:s,Slot:l,ItemSlot:p},function(t){const n=i(e+"CollectionConsumer",t);return a.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 sA=u.createContext(void 0);function aA(e){const t=u.useContext(sA);return e||t||"ltr"}var uA="rovingFocusGroup.onEntryFocus",cA={bubbles:!1,cancelable:!0},lA="RovingFocusGroup",[dA,fA,hA]=iA(lA),[pA,mA]=pw(lA,[hA]),[gA,vA]=pA(lA),yA=u.forwardRef((e,t)=>fn.exports.jsx(dA.Provider,{scope:e.__scopeRovingFocusGroup,children:fn.exports.jsx(dA.Slot,{scope:e.__scopeRovingFocusGroup,children:fn.exports.jsx(bA,{...e,ref:t})})}));yA.displayName=lA;var bA=u.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:i,currentTabStopId:s,defaultCurrentTabStopId:a,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:d=!1,...f}=e,h=u.useRef(null),p=Xr(t,h),m=aA(i),[g,v]=qr({prop:s,defaultProp:a??null,onChange:c,caller:lA}),[y,b]=u.useState(!1),x=gw(l),w=fA(n),C=u.useRef(!1),[D,E]=u.useState(0);return u.useEffect(()=>{const e=h.current;if(e)return e.addEventListener(uA,x),()=>e.removeEventListener(uA,x)},[x]),fn.exports.jsx(gA,{scope:n,orientation:r,dir:m,loop:o,currentTabStopId:g,onItemFocus:u.useCallback(e=>v(e),[v]),onItemShiftTab:u.useCallback(()=>b(!0),[]),onFocusableItemAdd:u.useCallback(()=>E(e=>e+1),[]),onFocusableItemRemove:u.useCallback(()=>E(e=>e-1),[]),children:fn.exports.jsx(ro.div,{tabIndex:y||0===D?-1:0,"data-orientation":r,...f,ref:p,style:{outline:"none",...e.style},onMouseDown:Wr(e.onMouseDown,()=>{C.current=!0}),onFocus:Wr(e.onFocus,e=>{const t=!C.current;if(e.target===e.currentTarget&&t&&!y){const t=new CustomEvent(uA,cA);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){const e=w().filter(e=>e.focusable);DA([e.find(e=>e.active),e.find(e=>e.id===g),...e].filter(Boolean).map(e=>e.ref.current),d)}}C.current=!1}),onBlur:Wr(e.onBlur,()=>b(!1))})})}),xA="RovingFocusGroupItem",wA=u.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:i,children:s,...a}=e,c=Ow(),l=i||c,d=vA(xA,n),f=d.currentTabStopId===l,h=fA(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:g}=d;return u.useEffect(()=>{if(r)return p(),()=>m()},[r,p,m]),fn.exports.jsx(dA.ItemSlot,{scope:n,id:l,focusable:r,active:o,children:fn.exports.jsx(ro.span,{tabIndex:f?0:-1,"data-orientation":d.orientation,...a,ref:t,onMouseDown:Wr(e.onMouseDown,e=>{r?d.onItemFocus(l):e.preventDefault()}),onFocus:Wr(e.onFocus,()=>d.onItemFocus(l)),onKeyDown:Wr(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void d.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:CA[r]}(e,d.orientation,d.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let o=h().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 i=o.indexOf(e.currentTarget);o=d.loop?(r=i+1,(n=o).map((e,t)=>n[(r+t)%n.length])):o.slice(i+1)}setTimeout(()=>DA(o))}var n,r}),children:"function"==typeof s?s({isCurrentTabStop:f,hasTabStop:null!=g}):s})})});wA.displayName=xA;var CA={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function DA(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 EA=yA,AA=wA,IA=["Enter"," "],SA=["ArrowUp","PageDown","End"],OA=["ArrowDown","PageUp","Home",...SA],TA={ltr:[...IA,"ArrowRight"],rtl:[...IA,"ArrowLeft"]},BA={ltr:["ArrowLeft"],rtl:["ArrowRight"]},kA="Menu",[_A,FA,jA]=iA(kA),[RA,NA]=pw(kA,[jA,Fw,mA]),PA=Fw(),MA=mA(),[LA,zA]=RA(kA),[HA,UA]=RA(kA),WA=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:o,onOpenChange:i,modal:s=!0}=e,a=PA(t),[c,l]=u.useState(null),d=u.useRef(!1),f=gw(i),h=aA(o);return u.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})}},[]),fn.exports.jsx(Xw,{...a,children:fn.exports.jsx(LA,{scope:t,open:n,onOpenChange:f,content:c,onContentChange:l,children:fn.exports.jsx(HA,{scope:t,onClose:u.useCallback(()=>f(!1),[f]),isUsingKeyboardRef:d,dir:h,modal:s,children:r})})})};WA.displayName=kA;var VA=u.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,o=PA(n);return fn.exports.jsx(Zw,{...o,...r,ref:t})});VA.displayName="MenuAnchor";var $A="MenuPortal",[qA,KA]=RA($A,{forceMount:void 0}),GA=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:o}=e,i=zA($A,t);return fn.exports.jsx(qA,{scope:t,forceMount:n,children:fn.exports.jsx(eC,{present:n||i.open,children:fn.exports.jsx(Qw,{asChild:!0,container:o,children:r})})})};GA.displayName=$A;var XA="MenuContent",[ZA,YA]=RA(XA),JA=u.forwardRef((e,t)=>{const n=KA(XA,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,i=zA(XA,e.__scopeMenu),s=UA(XA,e.__scopeMenu);return fn.exports.jsx(_A.Provider,{scope:e.__scopeMenu,children:fn.exports.jsx(eC,{present:r||i.open,children:fn.exports.jsx(_A.Slot,{scope:e.__scopeMenu,children:s.modal?fn.exports.jsx(QA,{...o,ref:t}):fn.exports.jsx(eI,{...o,ref:t})})})})}),QA=u.forwardRef((e,t)=>{const n=zA(XA,e.__scopeMenu),r=u.useRef(null),o=Xr(t,r);return u.useEffect(()=>{const e=r.current;if(e)return xD(e)},[]),fn.exports.jsx(nI,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Wr(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),eI=u.forwardRef((e,t)=>{const n=zA(XA,e.__scopeMenu);return fn.exports.jsx(nI,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),tI=Zr("MenuContent.ScrollLock"),nI=u.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:s,disableOutsidePointerEvents:a,onEntryFocus:c,onEscapeKeyDown:l,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:h,onDismiss:p,disableOutsideScroll:m,...g}=e,v=zA(XA,n),y=UA(XA,n),b=PA(n),x=MA(n),w=FA(n),[C,D]=u.useState(null),E=u.useRef(null),A=Xr(t,E,v.onContentChange),I=u.useRef(0),S=u.useRef(""),O=u.useRef(0),T=u.useRef(null),B=u.useRef("right"),k=u.useRef(0),_=m?lE:u.Fragment,F=m?{as:tI,allowPinchZoom:!0}:void 0,j=e=>{const t=S.current+e,n=w().filter(e=>!e.disabled),r=document.activeElement,o=n.find(e=>e.ref.current===r)?.textValue,i=function(e,t,n){const r=t.length>1&&Array.from(t).every(e=>e===t[0]),o=r?t[0]:t,i=n?e.indexOf(n):-1;let s=(a=e,u=Math.max(i,0),a.map((e,t)=>a[(u+t)%a.length]));var a,u;1===o.length&&(s=s.filter(e=>e!==n));const c=s.find(e=>e.toLowerCase().startsWith(o.toLowerCase()));return c!==n?c:void 0}(n.map(e=>e.textValue),t,o),s=n.find(e=>e.textValue===i)?.ref.current;!function e(t){S.current=t,window.clearTimeout(I.current),""!==t&&(I.current=window.setTimeout(()=>e(""),1e3))}(t),s&&setTimeout(()=>s.focus())};u.useEffect(()=>()=>window.clearTimeout(I.current),[]),nD();const R=u.useCallback(e=>B.current===T.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,i=t.length-1;e<t.length;i=e++){const s=t[e],a=t[i],u=s.x,c=s.y,l=a.x,d=a.y;c>r!=d>r&&n<(l-u)*(r-c)/(d-c)+u&&(o=!o)}return o}(n,t)}(e,T.current?.area),[]);return fn.exports.jsx(ZA,{scope:n,searchRef:S,onItemEnter:u.useCallback(e=>{R(e)&&e.preventDefault()},[R]),onItemLeave:u.useCallback(e=>{R(e)||(E.current?.focus(),D(null))},[R]),onTriggerLeave:u.useCallback(e=>{R(e)&&e.preventDefault()},[R]),pointerGraceTimerRef:O,onPointerGraceIntentChange:u.useCallback(e=>{T.current=e},[]),children:fn.exports.jsx(_,{...F,children:fn.exports.jsx(aD,{asChild:!0,trapped:o,onMountAutoFocus:Wr(i,e=>{e.preventDefault(),E.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:s,children:fn.exports.jsx(Cw,{asChild:!0,disableOutsidePointerEvents:a,onEscapeKeyDown:l,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:h,onDismiss:p,children:fn.exports.jsx(EA,{asChild:!0,...x,dir:y.dir,orientation:"vertical",loop:r,currentTabStopId:C,onCurrentTabStopIdChange:D,onEntryFocus:Wr(c,e=>{y.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:fn.exports.jsx(Yw,{role:"menu","aria-orientation":"vertical","data-state":OI(v.open),"data-radix-menu-content":"",dir:y.dir,...b,...g,ref:A,style:{outline:"none",...g.style},onKeyDown:Wr(g.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&&j(e.key));const o=E.current;if(e.target!==o)return;if(!OA.includes(e.key))return;e.preventDefault();const i=w().filter(e=>!e.disabled).map(e=>e.ref.current);SA.includes(e.key)&&i.reverse(),function(e){const t=document.activeElement;for(const n of e){if(n===t)return;if(n.focus(),document.activeElement!==t)return}}(i)}),onBlur:Wr(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(I.current),S.current="")}),onPointerMove:Wr(e.onPointerMove,kI(e=>{const t=e.target,n=k.current!==e.clientX;if(e.currentTarget.contains(t)&&n){const t=e.clientX>k.current?"right":"left";B.current=t,k.current=e.clientX}}))})})})})})})});JA.displayName=XA;var rI=u.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return fn.exports.jsx(ro.div,{role:"group",...r,ref:t})});rI.displayName="MenuGroup";var oI=u.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return fn.exports.jsx(ro.div,{...r,ref:t})});oI.displayName="MenuLabel";var iI="MenuItem",sI="menu.itemSelect",aI=u.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...o}=e,i=u.useRef(null),s=UA(iI,e.__scopeMenu),a=YA(iI,e.__scopeMenu),c=Xr(t,i),l=u.useRef(!1);return fn.exports.jsx(uI,{...o,ref:c,disabled:n,onClick:Wr(e.onClick,()=>{const e=i.current;if(!n&&e){const t=new CustomEvent(sI,{bubbles:!0,cancelable:!0});e.addEventListener(sI,e=>r?.(e),{once:!0}),oo(e,t),t.defaultPrevented?l.current=!1:s.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:Wr(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:Wr(e.onKeyDown,e=>{const t=""!==a.searchRef.current;n||t&&" "===e.key||IA.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});aI.displayName=iI;var uI=u.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:o,...i}=e,s=YA(iI,n),a=MA(n),c=u.useRef(null),l=Xr(t,c),[d,f]=u.useState(!1),[h,p]=u.useState("");return u.useEffect(()=>{const e=c.current;e&&p((e.textContent??"").trim())},[i.children]),fn.exports.jsx(_A.ItemSlot,{scope:n,disabled:r,textValue:o??h,children:fn.exports.jsx(AA,{asChild:!0,...a,focusable:!r,children:fn.exports.jsx(ro.div,{role:"menuitem","data-highlighted":d?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...i,ref:l,onPointerMove:Wr(e.onPointerMove,kI(e=>{if(r)s.onItemLeave(e);else if(s.onItemEnter(e),!e.defaultPrevented){e.currentTarget.focus({preventScroll:!0})}})),onPointerLeave:Wr(e.onPointerLeave,kI(e=>s.onItemLeave(e))),onFocus:Wr(e.onFocus,()=>f(!0)),onBlur:Wr(e.onBlur,()=>f(!1))})})})}),cI=u.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:r,...o}=e;return fn.exports.jsx(vI,{scope:e.__scopeMenu,checked:n,children:fn.exports.jsx(aI,{role:"menuitemcheckbox","aria-checked":TI(n)?"mixed":n,...o,ref:t,"data-state":BI(n),onSelect:Wr(o.onSelect,()=>r?.(!!TI(n)||!n),{checkForDefaultPrevented:!1})})})});cI.displayName="MenuCheckboxItem";var lI="MenuRadioGroup",[dI,fI]=RA(lI,{value:void 0,onValueChange:()=>{}}),hI=u.forwardRef((e,t)=>{const{value:n,onValueChange:r,...o}=e,i=gw(r);return fn.exports.jsx(dI,{scope:e.__scopeMenu,value:n,onValueChange:i,children:fn.exports.jsx(rI,{...o,ref:t})})});hI.displayName=lI;var pI="MenuRadioItem",mI=u.forwardRef((e,t)=>{const{value:n,...r}=e,o=fI(pI,e.__scopeMenu),i=n===o.value;return fn.exports.jsx(vI,{scope:e.__scopeMenu,checked:i,children:fn.exports.jsx(aI,{role:"menuitemradio","aria-checked":i,...r,ref:t,"data-state":BI(i),onSelect:Wr(r.onSelect,()=>o.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});mI.displayName=pI;var gI="MenuItemIndicator",[vI,yI]=RA(gI,{checked:!1}),bI=u.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:r,...o}=e,i=yI(gI,n);return fn.exports.jsx(eC,{present:r||TI(i.checked)||!0===i.checked,children:fn.exports.jsx(ro.span,{...o,ref:t,"data-state":BI(i.checked)})})});bI.displayName=gI;var xI=u.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return fn.exports.jsx(ro.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});xI.displayName="MenuSeparator";var wI=u.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,o=PA(n);return fn.exports.jsx(Jw,{...o,...r,ref:t})});wI.displayName="MenuArrow";var[CI,DI]=RA("MenuSub"),EI="MenuSubTrigger",AI=u.forwardRef((e,t)=>{const n=zA(EI,e.__scopeMenu),r=UA(EI,e.__scopeMenu),o=DI(EI,e.__scopeMenu),i=YA(EI,e.__scopeMenu),s=u.useRef(null),{pointerGraceTimerRef:a,onPointerGraceIntentChange:c}=i,l={__scopeMenu:e.__scopeMenu},d=u.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);return u.useEffect(()=>d,[d]),u.useEffect(()=>{const e=a.current;return()=>{window.clearTimeout(e),c(null)}},[a,c]),fn.exports.jsx(VA,{asChild:!0,...l,children:fn.exports.jsx(uI,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":o.contentId,"data-state":OI(n.open),...e,ref:Gr(t,o.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:Wr(e.onPointerMove,kI(t=>{i.onItemEnter(t),t.defaultPrevented||e.disabled||n.open||s.current||(i.onPointerGraceIntentChange(null),s.current=window.setTimeout(()=>{n.onOpenChange(!0),d()},100))})),onPointerLeave:Wr(e.onPointerLeave,kI(e=>{d();const t=n.content?.getBoundingClientRect();if(t){const r=n.content?.dataset.side,o="right"===r,s=o?-5:5,u=t[o?"left":"right"],c=t[o?"right":"left"];i.onPointerGraceIntentChange({area:[{x:e.clientX+s,y:e.clientY},{x:u,y:t.top},{x:c,y:t.top},{x:c,y:t.bottom},{x:u,y:t.bottom}],side:r}),window.clearTimeout(a.current),a.current=window.setTimeout(()=>i.onPointerGraceIntentChange(null),300)}else{if(i.onTriggerLeave(e),e.defaultPrevented)return;i.onPointerGraceIntentChange(null)}})),onKeyDown:Wr(e.onKeyDown,t=>{const o=""!==i.searchRef.current;e.disabled||o&&" "===t.key||TA[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});AI.displayName=EI;var II="MenuSubContent",SI=u.forwardRef((e,t)=>{const n=KA(XA,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,i=zA(XA,e.__scopeMenu),s=UA(XA,e.__scopeMenu),a=DI(II,e.__scopeMenu),c=u.useRef(null),l=Xr(t,c);return fn.exports.jsx(_A.Provider,{scope:e.__scopeMenu,children:fn.exports.jsx(eC,{present:r||i.open,children:fn.exports.jsx(_A.Slot,{scope:e.__scopeMenu,children:fn.exports.jsx(nI,{id:a.contentId,"aria-labelledby":a.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:Wr(e.onFocusOutside,e=>{e.target!==a.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:Wr(e.onEscapeKeyDown,e=>{s.onClose(),e.preventDefault()}),onKeyDown:Wr(e.onKeyDown,e=>{const t=e.currentTarget.contains(e.target),n=BA[s.dir].includes(e.key);t&&n&&(i.onOpenChange(!1),a.trigger?.focus(),e.preventDefault())})})})})})});function OI(e){return e?"open":"closed"}function TI(e){return"indeterminate"===e}function BI(e){return TI(e)?"indeterminate":e?"checked":"unchecked"}function kI(e){return t=>"mouse"===t.pointerType?e(t):void 0}SI.displayName=II;var _I=WA,FI=VA,jI=GA,RI=JA,NI=rI,PI=oI,MI=aI,LI=cI,zI=hI,HI=mI,UI=bI,WI=xI,VI=wI,$I=AI,qI=SI,KI="DropdownMenu",[GI,XI]=pw(KI,[NA]),ZI=NA(),[YI,JI]=GI(KI),QI=e=>{const{__scopeDropdownMenu:t,children:n,dir:r,open:o,defaultOpen:i,onOpenChange:s,modal:a=!0}=e,c=ZI(t),l=u.useRef(null),[d,f]=qr({prop:o,defaultProp:i??!1,onChange:s,caller:KI});return fn.exports.jsx(YI,{scope:t,triggerId:Ow(),triggerRef:l,contentId:Ow(),open:d,onOpenChange:f,onOpenToggle:u.useCallback(()=>f(e=>!e),[f]),modal:a,children:fn.exports.jsx(_I,{...c,open:d,onOpenChange:f,dir:r,modal:a,children:n})})};QI.displayName=KI;var eS="DropdownMenuTrigger",tS=u.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:r=!1,...o}=e,i=JI(eS,n),s=ZI(n);return fn.exports.jsx(FI,{asChild:!0,...s,children:fn.exports.jsx(ro.button,{type:"button",id:i.triggerId,"aria-haspopup":"menu","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":i.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...o,ref:Gr(t,i.triggerRef),onPointerDown:Wr(e.onPointerDown,e=>{r||0!==e.button||!1!==e.ctrlKey||(i.onOpenToggle(),i.open||e.preventDefault())}),onKeyDown:Wr(e.onKeyDown,e=>{r||(["Enter"," "].includes(e.key)&&i.onOpenToggle(),"ArrowDown"===e.key&&i.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});tS.displayName=eS;var nS=e=>{const{__scopeDropdownMenu:t,...n}=e,r=ZI(t);return fn.exports.jsx(jI,{...r,...n})};nS.displayName="DropdownMenuPortal";var rS="DropdownMenuContent",oS=u.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=JI(rS,n),i=ZI(n),s=u.useRef(!1);return fn.exports.jsx(RI,{id:o.contentId,"aria-labelledby":o.triggerId,...i,...r,ref:t,onCloseAutoFocus:Wr(e.onCloseAutoFocus,e=>{s.current||o.triggerRef.current?.focus(),s.current=!1,e.preventDefault()}),onInteractOutside:Wr(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)"}})});oS.displayName=rS;u.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=ZI(n);return fn.exports.jsx(NI,{...o,...r,ref:t})}).displayName="DropdownMenuGroup";u.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=ZI(n);return fn.exports.jsx(PI,{...o,...r,ref:t})}).displayName="DropdownMenuLabel";var iS=u.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=ZI(n);return fn.exports.jsx(MI,{...o,...r,ref:t})});iS.displayName="DropdownMenuItem";u.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=ZI(n);return fn.exports.jsx(LI,{...o,...r,ref:t})}).displayName="DropdownMenuCheckboxItem";u.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=ZI(n);return fn.exports.jsx(zI,{...o,...r,ref:t})}).displayName="DropdownMenuRadioGroup";u.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=ZI(n);return fn.exports.jsx(HI,{...o,...r,ref:t})}).displayName="DropdownMenuRadioItem";u.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=ZI(n);return fn.exports.jsx(UI,{...o,...r,ref:t})}).displayName="DropdownMenuItemIndicator";u.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=ZI(n);return fn.exports.jsx(WI,{...o,...r,ref:t})}).displayName="DropdownMenuSeparator";u.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=ZI(n);return fn.exports.jsx(VI,{...o,...r,ref:t})}).displayName="DropdownMenuArrow";u.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=ZI(n);return fn.exports.jsx($I,{...o,...r,ref:t})}).displayName="DropdownMenuSubTrigger";u.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=ZI(n);return fn.exports.jsx(qI,{...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 sS=QI,aS=nS,uS=oS;function cS({children:e,content:t,defaultOpen:n,open:r,onOpenChange:o,className:i,...s}){const a=Do(),{portalContainer:u}=xf();return fn.exports.jsxs(sS,{defaultOpen:n,open:r,onOpenChange:o,dir:a.dir,children:[e,fn.exports.jsx(aS,{container:u,children:fn.exports.jsx(uS,{className:uo("lb-root lb-portal lb-elevation lb-dropdown",i),sideOffset:6,collisionPadding:10,...s,children:t})})]})}const lS=t.forwardRef(({children:e,className:t,...n},r)=>fn.exports.jsx(iS,{className:uo("lb-dropdown-item",t),...n,ref:r,children:e})),dS=t.forwardRef(({values:e,formatRemaining:n,truncate:r,locale:o,className:i,asChild:s,...a},u)=>{const c=s?Yr:"span",l=Do(),d=n??l.LIST_REMAINING,f=t.useMemo(()=>{const t=r&&r<e.length-1?[...e.slice(0,r),d(e.length-r)]:[...e],n=Array(t.length).fill(".");return _g(o).formatToParts(n).map(e=>"element"===e.type?t.shift():e.value)},[d,o,r,e]);return fn.exports.jsx(c,{className:uo("lb-list",i),...a,ref:u,children:f})});function fS({userId:e,className:t,...n}){const r=Lg();return fn.exports.jsxs(Ba,{className:uo("lb-comment-mention",t),"data-self":e===r?"":void 0,...n,children:[Aa,fn.exports.jsx(qE,{userId:e})]})}function hS({href:e,children:t,className:n,...r}){return fn.exports.jsx(ka,{className:uo("lb-comment-link",n),href:e,...r,children:t})}function pS({href:e,children:t,className:n,...r}){return fn.exports.jsx("span",{className:uo("lb-comment-link",n),...r,children:t})}const mS=t.forwardRef(({reaction:e,overrides:t,className:n,...r},o)=>{const i=Do(t);return fn.exports.jsxs(eD,{className:uo("lb-comment-reaction",n),variant:"outline","aria-label":i.COMMENT_REACTION_DESCRIPTION(e.emoji,e.users.length),...r,ref:o,children:[fn.exports.jsx(bo,{className:"lb-comment-reaction-emoji",emoji:e.emoji}),fn.exports.jsx("span",{className:"lb-comment-reaction-count",children:e.users.length})]})}),gS=t.forwardRef(({comment:e,reaction:n,overrides:r,disabled:o,...i},s)=>{const a=Nr(e.roomId),u=Pr(e.roomId),c=Lg(),l=t.useMemo(()=>n.users.some(e=>e.id===c),[c,n]),d=Do(r),f=t.useMemo(()=>fn.exports.jsx("span",{children:d.COMMENT_REACTION_LIST(fn.exports.jsx(dS,{values:n.users.map(e=>fn.exports.jsx(qE,{userId:e.id,replaceSelf:!0},e.id)),formatRemaining:d.LIST_REMAINING_USERS,truncate:5,locale:d.locale}),n.emoji,n.users.length)}),[d,n]),h=t.useCallback(e=>{e.stopPropagation()},[]),p=t.useCallback(t=>{t?a({threadId:e.threadId,commentId:e.id,emoji:n.emoji}):u({threadId:e.threadId,commentId:e.id,emoji:n.emoji})},[a,e.threadId,e.id,n.emoji,u]);return fn.exports.jsx(PC,{content:f,multiline:!0,className:"lb-comment-reaction-tooltip",children:fn.exports.jsx(ao,{asChild:!0,pressed:l,onPressedChange:p,onClick:h,disabled:o,ref:s,children:fn.exports.jsx(mS,{"data-self":l?"":void 0,reaction:n,overrides:r,...i})})})}),vS=t.forwardRef(({reaction:e,overrides:n,...r},o)=>{const i=Lg(),s=t.useMemo(()=>e.users.some(e=>e.id===i),[i,e]);return fn.exports.jsx(mS,{disableable:!1,"data-self":s?"":void 0,reaction:e,overrides:n,...r,ref:o})});function yS({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 bS({attachment:e,onAttachmentClick:n,roomId:r,className:o,overrides:i,...s}){const{url:a}=Lr(e.id,r),u=t.useCallback(t=>{if(!a)return;const r={attachment:e,url:a};n?.(r,t),t.isDefaultPrevented()||yS(r)},[e,n,a]);return fn.exports.jsx(XC,{className:uo("lb-comment-attachment",o),...s,attachment:e,overrides:i,onClick:a?u:void 0,roomId:r})}function xS({attachment:e,onAttachmentClick:n,roomId:r,className:o,overrides:i,...s}){const{url:a}=Lr(e.id,r),u=t.useCallback(t=>{if(!a)return;const r={attachment:e,url:a};n?.(r,t),t.isDefaultPrevented()||yS(r)},[e,n,a]);return fn.exports.jsx(ZC,{className:uo("lb-comment-attachment",o),...s,attachment:e,overrides:i,onClick:a?u:void 0,roomId:r})}function wS({className:e,...t}){return fn.exports.jsx(ZC,{className:uo("lb-comment-attachment",e),allowMediaPreview:!1,...t})}function CS({threadId:e,roomId:n,commentRef:r}){const o=function(e){const n=or();return t.useCallback(t=>{const{store:r,onMutationFailure:o}=kr(n),i=Object.values(r.get1_notifications().notificationsById).find(e=>"thread"===e.kind&&e.threadId===t);if(!i)return;const s=new Date,a=r.optimisticUpdates.add({type:"mark-inbox-notification-as-read",inboxNotificationId:i.id,readAt:s});n[Xe].httpClient.markRoomInboxNotificationAsRead({roomId:e,inboxNotificationId:i.id}).then(()=>{r.markInboxNotificationRead(i.id,s,a)},e=>{o(e,a,e=>new Dr(e,{inboxNotificationId:i.id}))})},[n,e])}(n);return Wg(r,()=>{o(e)},{enabled:t.useSyncExternalStore(Vg,$g,qg)}),null}const DS=t.forwardRef(({comment:e,indentContent:n=!0,showDeleted:r,showActions:o="hover",showReactions:i=!0,showAttachments:s=!0,showComposerFormattingControls:a=!0,onAuthorClick:u,onMentionClick:c,onAttachmentClick:l,onCommentEdit:d,onCommentDelete:f,overrides:h,className:p,additionalActions:m,additionalActionsClassName:g,autoMarkReadThreadId:v,...y},b)=>{const x=t.useRef(null),w=Vh(b,x),C=Lg(),D=function(e){const n=or();return t.useCallback(({threadId:t,commentId:r})=>{const o=new Date,{store:i,onMutationFailure:s}=kr(n),a=i.optimisticUpdates.add({type:"delete-comment",threadId:t,commentId:r,deletedAt:o,roomId:e});n[Xe].httpClient.deleteComment({roomId:e,threadId:t,commentId:r}).then(()=>{i.deleteComment(t,a,r,o)},n=>s(n,a,n=>new xr(n,{roomId:e,threadId:t,commentId:r})))},[n,e])}(e.roomId),E=Rr(e.roomId),A=Nr(e.roomId),I=Pr(e.roomId),S=Do(h),[O,T]=t.useState(!1),[B,k]=t.useState(!1),[_,F]=t.useState(!1),[j,R]=t.useState(!1),{mediaAttachments:N,fileAttachments:P}=t.useMemo(()=>function(e){const t=[],n=[];for(const r of e)(r.mimeType.startsWith("image/")||r.mimeType.startsWith("video/"))&&r.size<=zC?t.push(r):n.push(r);return{mediaAttachments:t,fileAttachments:n}}(e.attachments),[e.attachments]),M=t.useCallback(e=>{e.stopPropagation()},[]),L=t.useCallback(()=>{T(!0)},[]),z=t.useCallback(e=>{e.stopPropagation(),T(!1)},[]),H=t.useCallback(({body:t,attachments:n},r)=>{d?.(e),r.preventDefault(),T(!1),E({commentId:e.id,threadId:e.threadId,body:t,attachments:n})},[e,E,d]),U=t.useCallback(()=>{f?.(e),D({commentId:e.id,threadId:e.threadId})},[e,D,f]),W=t.useCallback(t=>{u?.(e.userId,t)},[e.userId,u]),V=t.useCallback(t=>{const n=e.reactions.findIndex(e=>e.emoji===t);n>=0&&C&&e.reactions[n]?.users.some(e=>e.id===C)?I({threadId:e.threadId,commentId:e.id,emoji:t}):A({threadId:e.threadId,commentId:e.id,emoji:t})},[A,e.id,e.reactions,e.threadId,I,C]);return t.useEffect(()=>{if(!("undefined"!=typeof window))return;window.location.hash.slice(1)===e.id&&k(!0)},[]),r||e.body?fn.exports.jsxs(hC,{children:[v&&fn.exports.jsx(CS,{commentRef:x,threadId:v,roomId:e.roomId}),fn.exports.jsxs("div",{id:e.id,className:uo("lb-root lb-comment",n&&"lb-comment:indent-content","hover"===o&&"lb-comment:show-actions-hover",(_||j)&&"lb-comment:action-open",p),"data-deleted":e.body?void 0:"","data-editing":O?"":void 0,"data-target":B?"":void 0,dir:S.dir,...y,ref:w,children:[fn.exports.jsxs("div",{className:"lb-comment-header",children:[fn.exports.jsxs("div",{className:"lb-comment-details",children:[fn.exports.jsx(QC,{className:"lb-comment-avatar",userId:e.userId,onClick:W}),fn.exports.jsxs("span",{className:"lb-comment-details-labels",children:[fn.exports.jsx(qE,{className:"lb-comment-author",userId:e.userId,onClick:W}),fn.exports.jsxs("span",{className:"lb-comment-date",children:[fn.exports.jsx(Mg,{locale:S.locale,date:e.createdAt,className:"lb-date lb-comment-date-created"}),e.editedAt&&e.body&&fn.exports.jsxs(fn.exports.Fragment,{children:[" ",fn.exports.jsx("span",{className:"lb-comment-date-edited",children:S.COMMENT_EDITED})]})]})]})]}),o&&!O&&fn.exports.jsxs("div",{className:uo("lb-comment-actions",g),children:[m??null,i&&fn.exports.jsx($E,{onEmojiSelect:V,onOpenChange:R,children:fn.exports.jsx(PC,{content:S.COMMENT_ADD_REACTION,children:fn.exports.jsx(xE,{asChild:!0,children:fn.exports.jsx(eD,{className:"lb-comment-action",onClick:M,"aria-label":S.COMMENT_ADD_REACTION,children:fn.exports.jsx(go,{className:"lb-button-icon"})})})})}),e.userId===C&&fn.exports.jsx(cS,{open:_,onOpenChange:F,align:"end",content:fn.exports.jsxs(fn.exports.Fragment,{children:[fn.exports.jsxs(lS,{onSelect:L,onClick:M,children:[fn.exports.jsx(po,{className:"lb-dropdown-item-icon"}),S.COMMENT_EDIT]}),fn.exports.jsxs(lS,{onSelect:U,onClick:M,children:[fn.exports.jsx(ho,{className:"lb-dropdown-item-icon"}),S.COMMENT_DELETE]})]}),children:fn.exports.jsx(PC,{content:S.COMMENT_MORE,children:fn.exports.jsx(tS,{asChild:!0,children:fn.exports.jsx(eD,{className:"lb-comment-action",disabled:!e.body,onClick:M,"aria-label":S.COMMENT_MORE,children:fn.exports.jsx(mo,{className:"lb-button-icon"})})})})})]})]}),fn.exports.jsx("div",{className:"lb-comment-content",children:O?fn.exports.jsx(oA,{className:"lb-comment-composer",onComposerSubmit:H,defaultValue:e.body,defaultAttachments:e.attachments,autoFocus:!0,showAttribution:!1,showAttachments:s,showFormattingControls:a,actions:fn.exports.jsxs(fn.exports.Fragment,{children:[fn.exports.jsx(PC,{content:S.COMMENT_EDIT_COMPOSER_CANCEL,"aria-label":S.COMMENT_EDIT_COMPOSER_CANCEL,children:fn.exports.jsx(eD,{className:"lb-composer-action",onClick:z,children:fn.exports.jsx(fo,{className:"lb-button-icon"})})}),fn.exports.jsx(MC,{content:S.COMMENT_EDIT_COMPOSER_SAVE,shortcut:fn.exports.jsx(LC,{name:"enter"}),children:fn.exports.jsx(Ag,{asChild:!0,children:fn.exports.jsx(eD,{variant:"primary",className:"lb-composer-action",onClick:M,"aria-label":S.COMMENT_EDIT_COMPOSER_SAVE,children:fn.exports.jsx(lo,{className:"lb-button-icon"})})})})]}),overrides:{COMPOSER_PLACEHOLDER:S.COMMENT_EDIT_COMPOSER_PLACEHOLDER},roomId:e.roomId}):e.body?fn.exports.jsxs(fn.exports.Fragment,{children:[fn.exports.jsx(Fa,{className:"lb-comment-body",body:e.body,components:{Mention:({userId:e})=>fn.exports.jsx(fS,{userId:e,onClick:t=>c?.(e,t)}),Link:hS}}),s&&(N.length>0||P.length>0)?fn.exports.jsxs("div",{className:"lb-comment-attachments",children:[N.length>0?fn.exports.jsx("div",{className:"lb-attachments",children:N.map(t=>fn.exports.jsx(bS,{attachment:t,overrides:h,onAttachmentClick:l,roomId:e.roomId},t.id))}):null,P.length>0?fn.exports.jsx("div",{className:"lb-attachments",children:P.map(t=>fn.exports.jsx(xS,{attachment:t,overrides:h,onAttachmentClick:l,roomId:e.roomId},t.id))}):null]}):null,i&&e.reactions.length>0&&fn.exports.jsxs("div",{className:"lb-comment-reactions",children:[e.reactions.map(t=>fn.exports.jsx(gS,{comment:e,reaction:t,overrides:h},t.emoji)),fn.exports.jsx($E,{onEmojiSelect:V,children:fn.exports.jsx(PC,{content:S.COMMENT_ADD_REACTION,children:fn.exports.jsx(xE,{asChild:!0,children:fn.exports.jsx(eD,{className:"lb-comment-reaction lb-comment-reaction-add",variant:"outline",onClick:M,"aria-label":S.COMMENT_ADD_REACTION,children:fn.exports.jsx(go,{className:"lb-button-icon"})})})})})]})]}):fn.exports.jsx("div",{className:"lb-comment-body",children:fn.exports.jsx("p",{className:"lb-comment-deleted",children:S.COMMENT_DELETED})})})]})]}):null}),ES="https://localhost:9999",AS=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/;function IS({comment:e,showHeader:t=!0,showAttachments:n=!0,showReactions:r=!0,overrides:o,className:i,...s}){const a=Do(o);return fn.exports.jsxs("div",{className:uo("lb-root lb-inbox-notification-comment lb-comment",i),...s,children:[t&&fn.exports.jsx("div",{className:"lb-comment-header",children:fn.exports.jsx(qE,{className:"lb-comment-author",userId:e.userId})}),fn.exports.jsx("div",{className:"lb-comment-content",children:e.body?fn.exports.jsxs(fn.exports.Fragment,{children:[fn.exports.jsx(Fa,{className:"lb-comment-body",body:e.body,components:{Mention:fS,Link:pS}}),r&&e.reactions.length>0&&fn.exports.jsx("div",{className:"lb-comment-reactions",children:e.reactions.map(e=>fn.exports.jsx(vS,{reaction:e,overrides:o,disabled:!0},e.emoji))}),n&&e.attachments.length>0?fn.exports.jsx("div",{className:"lb-comment-attachments",children:fn.exports.jsx("div",{className:"lb-attachments",children:e.attachments.map(t=>fn.exports.jsx(wS,{attachment:t,overrides:o,roomId:e.roomId},t.id))})}):null]}):fn.exports.jsx("div",{className:"lb-comment-body",children:fn.exports.jsx("p",{className:"lb-comment-deleted",children:a.COMMENT_DELETED})})})]})}function SS(e){return Array.from(new Set(e.map(e=>e.userId)))}function OS(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:SS(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&&on(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:SS(r),date:e.notifiedAt}}function TS({roomId:e,className:n,...r}){const{info:o,isLoading:i}=fr(e),s=t.useMemo(()=>o?.name??e,[o?.name,e]);return fn.exports.jsx("span",{className:uo("lb-name lb-room",n),"data-loading":i?"":void 0,...r,children:i?null:s})}const BS=t.forwardRef(({inboxNotification:e,children:n,aside:r,title:o,date:i,unread:s,markAsReadOnClick:a,onClick:u,href:c,showActions:l,overrides:d,components:f,className:h,asChild:p,...m},g)=>{const v=Do(d),{Anchor:y}=function(e){const n=t.useContext(vf);return t.useMemo(()=>({...gf,...n,...e}),[n,e])}(f),b=p?Yr:y,[x,w]=t.useState(!1),C=cr(),D=dr(),E=t.useCallback(t=>{u?.(t);const n=a??Boolean(c);s&&n&&C(e.id)},[c,e.id,a,C,u,s]),A=t.useCallback(e=>{e.stopPropagation()},[]),I=t.useCallback(e=>{e.preventDefault(),e.stopPropagation()},[]),S=t.useCallback(e=>{e.preventDefault(),e.stopPropagation(),w(e=>!e)},[]),O=t.useCallback(()=>{C(e.id)},[e.id,C]),T=t.useCallback(()=>{D(e.id)},[e.id,D]);return fn.exports.jsx(hC,{children:fn.exports.jsxs(b,{className:uo("lb-root lb-inbox-notification","hover"===l&&"lb-inbox-notification:show-actions-hover",x&&"lb-inbox-notification:action-open",h),dir:v.dir,"data-unread":s?"":void 0,"data-kind":e.kind,onClick:E,href:c,...m,ref:g,children:[r&&fn.exports.jsx("div",{className:"lb-inbox-notification-aside",children:r}),fn.exports.jsxs("div",{className:"lb-inbox-notification-content",children:[fn.exports.jsxs("div",{className:"lb-inbox-notification-header",children:[fn.exports.jsx("span",{className:"lb-inbox-notification-title",children:o}),fn.exports.jsx("div",{className:"lb-inbox-notification-details",children:fn.exports.jsxs("span",{className:"lb-inbox-notification-details-labels",children:[fn.exports.jsx(Mg,{locale:v.locale,date:i,className:"lb-date lb-inbox-notification-date"}),s&&fn.exports.jsx("span",{className:"lb-inbox-notification-unread-indicator",role:"presentation"})]})}),l&&fn.exports.jsx("div",{className:"lb-inbox-notification-actions",children:fn.exports.jsx(cS,{open:x,onOpenChange:w,align:"end",content:fn.exports.jsxs(fn.exports.Fragment,{children:[s?fn.exports.jsxs(lS,{onSelect:O,onClick:A,children:[fn.exports.jsx(lo,{className:"lb-dropdown-item-icon"}),v.INBOX_NOTIFICATION_MARK_AS_READ]}):null,fn.exports.jsxs(lS,{onSelect:T,onClick:A,children:[fn.exports.jsx(ho,{className:"lb-dropdown-item-icon"}),v.INBOX_NOTIFICATION_DELETE]})]}),children:fn.exports.jsx(PC,{content:v.INBOX_NOTIFICATION_MORE,children:fn.exports.jsx(tS,{asChild:!0,children:fn.exports.jsx(eD,{className:"lb-inbox-notification-action",onClick:S,onPointerDown:I,onPointerUp:I,"aria-label":v.INBOX_NOTIFICATION_MORE,children:fn.exports.jsx(mo,{className:"lb-button-icon"})})})})})})]}),fn.exports.jsx("div",{className:"lb-inbox-notification-body",children:n})]})]})})});function kS({className:e,...t}){return fn.exports.jsx("div",{className:uo("lb-inbox-notification-icon",e),...t})}function _S({className:e,...t}){return fn.exports.jsx(QC,{className:uo("lb-inbox-notification-avatar",e),...t})}const FS=t.forwardRef(({inboxNotification:e,href:n,showRoomName:r=!0,showReactions:o=!0,showAttachments:i=!0,showActions:s="hover",overrides:a,...u},c)=>{const l=Do(a),d=hr(e.id),f=Lg(),{info:h}=fr(e.roomId),p=t.useMemo(()=>{const t=OS(e,d,f??"");if(0===t.comments.length||0===t.userIds.length)return null;switch(t.type){case"comments":{const e=[...t.userIds].reverse(),n=e[0],s=fn.exports.jsx(_S,{userId:n}),u=l.INBOX_NOTIFICATION_THREAD_COMMENTS_LIST(fn.exports.jsx(dS,{values:e.map(e=>fn.exports.jsx(qE,{userId:e,replaceSelf:!0},e)),formatRemaining:l.LIST_REMAINING_USERS,truncate:2,locale:l.locale}),r?fn.exports.jsx(TS,{roomId:d.roomId}):void 0,e.length),c=fn.exports.jsx("div",{className:"lb-inbox-notification-comments",children:t.comments.map(e=>fn.exports.jsx(IS,{comment:e,showHeader:t.comments.length>1,showAttachments:i,showReactions:o,overrides:a},e.id))});return{unread:t.unread,date:t.date,aside:s,title:u,content:c,threadId:d.id,commentId:t.comments[t.comments.length-1].id}}case"mention":{const e=t.userIds[0],n=t.comments[0],s=fn.exports.jsx(_S,{userId:e}),u=l.INBOX_NOTIFICATION_THREAD_MENTION(fn.exports.jsx(qE,{userId:e},e),r?fn.exports.jsx(TS,{roomId:d.roomId}):void 0),c=fn.exports.jsx("div",{className:"lb-inbox-notification-comments",children:fn.exports.jsx(IS,{comment:n,showHeader:!1,showAttachments:i,showReactions:o,overrides:a},n.id)});return{unread:t.unread,date:t.date,aside:s,title:u,content:c,threadId:d.id,commentId:n.id}}default:return ve(0,"Unexpected thread inbox notification type")}},[l,f,e,a,r,i,o,d]),m=t.useMemo(()=>{const e=n??h?.url;return e?function(e,t,n){const r=AS.test(e),o=new URL(e,r?void 0:ES);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(ES,"")}(e,void 0,p?.commentId):void 0},[p?.commentId,n,h?.url]);if(!p)return null;const{aside:g,title:v,content:y,date:b,unread:x}=p;return fn.exports.jsx(BS,{inboxNotification:e,aside:g,title:v,date:b,unread:x,overrides:a,href:m,showActions:s,markAsReadOnClick:!1,...u,ref:c,children:y})}),jS=t.forwardRef(({inboxNotification:e,showActions:n="hover",showRoomName:r=!0,overrides:o,...i},s)=>{const a=Do(o),u=t.useMemo(()=>!e.readAt||e.notifiedAt>e.readAt,[e.notifiedAt,e.readAt]);return fn.exports.jsx(BS,{inboxNotification:e,aside:fn.exports.jsx(_S,{userId:e.createdBy}),title:a.INBOX_NOTIFICATION_TEXT_MENTION(fn.exports.jsx(qE,{userId:e.createdBy},e.createdBy),r?fn.exports.jsx(TS,{roomId:e.roomId}):void 0),date:e.notifiedAt,unread:u,overrides:o,showActions:n,...i,ref:s})}),RS=t.forwardRef(({inboxNotification:e,showActions:n="hover",title:r,aside:o,children:i,overrides:s,...a},u)=>{const c=t.useMemo(()=>!e.readAt||e.notifiedAt>e.readAt,[e.notifiedAt,e.readAt]);return fn.exports.jsx(BS,{inboxNotification:e,aside:o,title:r,date:e.notifiedAt,unread:c,overrides:s,showActions:n,...a,ref:u,children:i})});t.forwardRef(({inboxNotification:e,...t},n)=>fn.exports.jsxs(RS,{inboxNotification:e,...t,title:fn.exports.jsxs(fn.exports.Fragment,{children:["Custom notification kind ",fn.exports.jsx("code",{children:e.kind})," is not handled"]}),aside:fn.exports.jsx(kS,{children:fn.exports.jsx(nv,{})}),ref:n,"data-missing":"",children:["Notifications of this kind won’t be displayed in production. Use the"," ",fn.exports.jsx("code",{children:"kinds"})," prop to define how they should be rendered."]}));const NS=Object.assign(t.forwardRef(({inboxNotification:e,kinds:t,...n},r)=>{switch(e.kind){case"thread":{const o=t?.thread??FS;return fn.exports.jsx(o,{inboxNotification:e,...n,ref:r})}case"textMention":{const o=t?.textMention??jS;return fn.exports.jsx(o,{inboxNotification:e,...n,ref:r})}default:{const o=t?.[e.kind];return o?fn.exports.jsx(o,{inboxNotification:e,...n,ref:r}):null}}}),{Thread:FS,TextMention:jS,Custom:RS,Icon:kS,Avatar:_S});function PS({enabled:e,onReachEnd:n}){const r=t.useRef(null);return Wg(r,n,{enabled:e}),fn.exports.jsx("div",{ref:r,style:{height:0}})}const MS=t.forwardRef(({onReachEnd:e,children:n,className:r,...o},i)=>fn.exports.jsxs("ol",{className:uo("lb-root lb-inbox-notification-list",r),...o,ref:i,children:[t.Children.map(n,(e,t)=>fn.exports.jsx("li",{className:"lb-inbox-notification-list-item",children:e},t)),e&&fn.exports.jsx(PS,{onReachEnd:e,enabled:t.Children.count(n)>0})]}));function LS(e){return fn.exports.jsx(co,{...e,children:fn.exports.jsx("path",{d:"M10 4v12m6-6-6 6-6-6"})})}function zS(e){return fn.exports.jsxs(co,{...e,children:[fn.exports.jsx("circle",{cx:10,cy:10,r:7}),fn.exports.jsx("path",{d:"m13 8-4 4-2-2"})]})}function HS(e){return fn.exports.jsxs(co,{...e,children:[fn.exports.jsx("circle",{cx:10,cy:10,r:7,fill:"currentColor"}),fn.exports.jsx("path",{d:"m13 8-4 4-2-2",stroke:"var(--lb-icon-background)"})]})}const US=t.forwardRef(({thread:e,indentCommentContent:n=!0,showActions:r="hover",showDeletedComments:o,showResolveAction:i=!0,showReactions:s=!0,showComposer:a="collapsed",showAttachments:u=!0,showComposerFormattingControls:c=!0,onResolvedChange:l,onCommentEdit:d,onCommentDelete:f,onThreadDelete:h,onAuthorClick:p,onMentionClick:m,onAttachmentClick:g,onComposerSubmit:v,overrides:y,className:b,...x},w)=>{const C=function(e){const n=or();return t.useCallback(t=>{const r=new Date,{store:o,onMutationFailure:i}=kr(n),s=o.optimisticUpdates.add({type:"mark-thread-as-resolved",threadId:t,updatedAt:r});n[Xe].httpClient.markThreadAsResolved({roomId:e,threadId:t}).then(()=>{o.patchThread(t,s,{resolved:!0},r)},n=>i(n,s,n=>new gr(n,{roomId:e,threadId:t})))},[n,e])}(e.roomId),D=function(e){const n=or();return t.useCallback(t=>{const r=new Date,{store:o,onMutationFailure:i}=kr(n),s=o.optimisticUpdates.add({type:"mark-thread-as-unresolved",threadId:t,updatedAt:r});n[Xe].httpClient.markThreadAsUnresolved({roomId:e,threadId:t}).then(()=>{o.patchThread(t,s,{resolved:!1},r)},n=>i(n,s,n=>new vr(n,{roomId:e,threadId:t})))},[n,e])}(e.roomId),E=Do(y),A=t.useMemo(()=>o?0:e.comments.findIndex(e=>e.body),[o,e.comments]),I=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:S,unreadSince:O}=function(e){const n=or(),{store:r}=kr(n);return Ar(r.outputs.threadifications,t.useCallback(t=>{const n=t.sortedNotifications.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]),un)}(e.id),T=t.useMemo(()=>{if("subscribed"!==S)return;if(null===O)return A;const t=e.comments.findIndex(e=>(!!o||e.body)&&e.createdAt>O);return t>=0&&t<e.comments.length?t:void 0},[A,o,S,e.comments,O]),[B,k]=t.useState(),_=void 0===B?T:B;t.useEffect(()=>{T&&k(e=>Math.min(e??1/0,T))},[T]);const F=t.useCallback(e=>{e.stopPropagation()},[]),j=t.useCallback(t=>{l?.(t),t?C(e.id):D(e.id)},[C,D,l,e.id]),R=t.useCallback(t=>{f?.(t);e.comments.filter(e=>e.body).length<=1&&h?.(e)},[f,h,e]);return fn.exports.jsx(hC,{children:fn.exports.jsxs("div",{className:uo("lb-root lb-thread","hover"===r&&"lb-thread:show-actions-hover",b),"data-resolved":e.resolved?"":void 0,"data-unread":void 0!==T?"":void 0,dir:E.dir,...x,ref:w,children:[fn.exports.jsx("div",{className:"lb-thread-comments",children:e.comments.map((a,l)=>{const f=l===A,h=void 0!==T&&l>=T,v=fn.exports.jsx(DS,{className:"lb-thread-comment","data-unread":h?"":void 0,comment:a,indentContent:n,showDeleted:o,showActions:r,showReactions:s,showAttachments:u,showComposerFormattingControls:c,onCommentEdit:d,onCommentDelete:R,onAuthorClick:p,onMentionClick:m,onAttachmentClick:g,autoMarkReadThreadId:l===I&&h?e.id:void 0,additionalActionsClassName:f?"lb-thread-actions":void 0,additionalActions:f&&i?fn.exports.jsx(PC,{content:e.resolved?E.THREAD_UNRESOLVE:E.THREAD_RESOLVE,children:fn.exports.jsx(ao,{pressed:e.resolved,onPressedChange:j,asChild:!0,children:fn.exports.jsx(eD,{className:"lb-comment-action",onClick:F,"aria-label":e.resolved?E.THREAD_UNRESOLVE:E.THREAD_RESOLVE,children:e.resolved?fn.exports.jsx(HS,{className:"lb-button-icon"}):fn.exports.jsx(zS,{className:"lb-button-icon"})})})}):null},a.id);return l===_&&_!==A&&_<=I?fn.exports.jsxs(t.Fragment,{children:[fn.exports.jsx("div",{className:"lb-thread-new-indicator","aria-label":E.THREAD_NEW_INDICATOR_DESCRIPTION,children:fn.exports.jsxs("span",{className:"lb-thread-new-indicator-label",children:[fn.exports.jsx(LS,{className:"lb-thread-new-indicator-label-icon"}),E.THREAD_NEW_INDICATOR]})}),v]},a.id):v})}),a&&fn.exports.jsx(oA,{className:"lb-thread-composer",threadId:e.id,defaultCollapsed:"collapsed"===a||void 0,showAttachments:u,showFormattingControls:c,onComposerSubmit:v,overrides:{COMPOSER_PLACEHOLDER:E.THREAD_COMPOSER_PLACEHOLDER,COMPOSER_SEND:E.THREAD_COMPOSER_SEND},roomId:e.roomId})]})})});g(Xm,Zm,"esm");const WS=t.createContext(null),VS={didCatch:!1,error:null};class $S extends t.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=VS}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),i=0;i<r;i++)o[i]=arguments[i];null===(t=(n=this.props).onReset)||void 0===t||t.call(n,{args:o,reason:"imperative-api"}),this.setState(VS)}}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,i;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=(i=this.props).onReset)||void 0===o||o.call(i,{next:r,prev:e.resetKeys,reason:"keys"}),this.setState(VS))}render(){const{children:e,fallbackRender:n,FallbackComponent:r,fallback:o}=this.props,{didCatch:i,error:s}=this.state;let a=e;if(i){const e={error:s,resetErrorBoundary:this.resetErrorBoundary};if("function"==typeof n)a=n(e);else if(r)a=t.createElement(r,e);else{if(void 0===o)throw s;a=o}}return t.createElement(WS.Provider,{value:{didCatch:i,error:s,resetErrorBoundary:this.resetErrorBoundary}},a)}}function qS(){return a.default.createElement("svg",{className:"animate-spin h-5 w-5 mr-3 ...",viewBox:"0 0 24 24"})}var KS=function(e){var t=e.indentCommentContent,n=e.showActions,r=e.showDeletedComments,o=e.showResolveAction,i=e.showReactions,s=e.showComposer,u=e.showAttachments,c=e.showComposerFormattingControls,l=Hr().threads;return a.default.createElement(a.default.Fragment,null,l.map(function(e){return a.default.createElement(US,{key:e.id,thread:e,className:"thread",indentCommentContent:t,showActions:n,showDeletedComments:r,showResolveAction:o,showReactions:i,showComposer:s,showAttachments:u,showComposerFormattingControls:c})}),s&&a.default.createElement(oA,{className:"composer"}))};function GS(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=GS(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function XS(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=GS(e))&&(r&&(r+=" "),r+=t);return r}var ZS={frontend_inbox_empty:"There aren’t any notifications yet.",frontend_comment_inbox:"Comment Inbox",frontend_mark_all_read:"Mark all as read",frontend_delete_all:"Delete all",frontend_fallback_error:"There was an error while getting notifications.",frontend_fetch_mention_suggestions_error:"Problem resolving mention suggestions",frontend_fetch_rooms_info_error:"Problem resolving rooms info",frontend_fetch_users_error:"Problem resolving users"},YS={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:"发送"},JS=r.AmisLib.i18next;function QS(e){var t=e.className,n=e.onClick,r=CD(e,["className","onClick"]),o=ar().inboxNotifications;return 0===o.length?a.default.createElement("div",{className:XS(t,"empty")},JS.t("liveblocks:frontend_inbox_empty")):a.default.createElement("div",wD({className:t},r),a.default.createElement(MS,{className:"inbox-list"},o.map(function(e){return a.default.createElement(NS,{key:e.id,inboxNotification:e,onClick:n})})))}function eO(){var e=er(or()).count;return e?a.default.createElement("div",{className:"inbox-unread-count"},e):null}function tO(e){return tO="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},tO(e)}function nO(e){var t=function(e,t){if("object"!=tO(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=tO(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==tO(t)?t:t+""}function rO(e,t,n){return(t=nO(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function oO(){if(console&&console.warn){for(var e,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];"string"==typeof n[0]&&(n[0]="react-i18next:: ".concat(n[0])),(e=console).warn.apply(e,n)}}JS.addResources("en","liveblocks",ZS),JS.addResources("zh-CN","liveblocks",YS);var iO={};function sO(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];"string"==typeof t[0]&&iO[t[0]]||("string"==typeof t[0]&&(iO[t[0]]=new Date),oO.apply(void 0,t))}var aO=function(e,t){return function(){if(e.isInitialized)t();else{e.on("initialized",function n(){setTimeout(function(){e.off("initialized",n)},0),t()})}}};function uO(e,t,n){e.loadNamespaces(t,aO(e,n))}function cO(e,t,n,r){"string"==typeof n&&(n=[n]),n.forEach(function(t){e.options.ns.indexOf(t)<0&&e.options.ns.push(t)}),e.loadLanguages(t,aO(e,r))}var lO=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,dO={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},fO=function(e){return dO[e]},hO={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:function(e){return e.replace(lO,fO)}};function pO(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,nO(r.key),r)}}var mO=t.createContext(),gO=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.usedNamespaces={}}return function(e,t,n){t&&pO(e.prototype,t),n&&pO(e,n),Object.defineProperty(e,"prototype",{writable:!1})}(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 vO(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function yO(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return vO(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)?vO(e,t):void 0}}(e,t)||function(){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 bO(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 xO(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bO(Object(n),!0).forEach(function(t){rO(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bO(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function wO(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.i18n,o=t.useContext(mO)||{},i=o.i18n,s=o.defaultNS,a=r||i||void 0;if(a&&!a.reportNamespaces&&(a.reportNamespaces=new gO),!a){sO("You will need to pass in an i18next instance by using initReactI18next");var u=function(e,t){return"string"==typeof t?t:t&&"object"===tO(t)&&"string"==typeof t.defaultValue?t.defaultValue:Array.isArray(e)?e[e.length-1]:e},c=[u,{},!1];return c.t=u,c.i18n={},c.ready=!1,c}a.options.react&&void 0!==a.options.react.wait&&sO("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var l=xO(xO(xO({},hO),a.options.react),n),d=l.useSuspense,f=l.keyPrefix,h=e||s||a.options&&a.options.defaultNS;h="string"==typeof h?[h]:h||["translation"],a.reportNamespaces.addUsedNamespaces&&a.reportNamespaces.addUsedNamespaces(h);var p=(a.isInitialized||a.initializedStoreOnce)&&h.every(function(e){return function(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,r){if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!r(t.isLanguageChangingTo,e))return!1}}):function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.languages[0],o=!!t.options&&t.options.fallbackLng,i=t.languages[t.languages.length-1];if("cimode"===r.toLowerCase())return!0;var s=function(e,n){var r=t.services.backendConnector.state["".concat(e,"|").concat(n)];return-1===r||2===r};return!(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)||!t.hasResourceBundle(r,e)&&t.services.backendConnector.backend&&(!t.options.resources||t.options.partialBundledLanguages)&&(!s(r,e)||o&&!s(i,e)))}(e,t,n):(sO("i18n.languages were undefined or empty",t.languages),!0)}(e,a,l)});function m(){return a.getFixedT(n.lng||null,"fallback"===l.nsMode?h:h[0],f)}var g=yO(t.useState(m),2),v=g[0],y=g[1],b=h.join();n.lng&&(b="".concat(n.lng).concat(b));var x,w,C,D=(x=b,C=t.useRef(),t.useEffect(function(){C.current=w?C.current:x},[x,w]),C.current),E=t.useRef(!0);t.useEffect(function(){var e=l.bindI18n,t=l.bindI18nStore;function r(){E.current&&y(m)}return E.current=!0,p||d||(n.lng?cO(a,n.lng,h,function(){E.current&&y(m)}):uO(a,h,function(){E.current&&y(m)})),p&&D&&D!==b&&E.current&&y(m),e&&a&&a.on(e,r),t&&a&&a.store.on(t,r),function(){E.current=!1,e&&a&&e.split(" ").forEach(function(e){return a.off(e,r)}),t&&a&&t.split(" ").forEach(function(e){return a.store.off(e,r)})}},[a,b]);var A=t.useRef(!0);t.useEffect(function(){E.current&&!A.current&&y(m),A.current=!1},[a,f]);var I=[v,a,p];if(I.t=v,I.i18n=a,I.ready=p,p)return I;if(!p&&!d)return I;throw new Promise(function(e){n.lng?cO(a,n.lng,h,function(){return e()}):uO(a,h,function(){return e()})})}e.AmisComments=function(e){var n=e.className,r=void 0===n?"m-2 flex flex-col gap-y-2":n,o=e.roomId,i=e.readonly,s=void 0!==i&&i,u=e.indentCommentContent,c=void 0===u||u,l=e.showActions,d=void 0===l?"hover":l,f=e.showDeletedComments,h=e.showResolveAction,p=void 0===h||h,m=e.showReactions,g=void 0===m||m,v=e.showComposer,y=void 0===v?"collapsed":v,b=e.showAttachments,x=void 0===b||b,w=e.showComposerFormattingControls,C=void 0===w||w;return s&&(y=!1,d=!1),a.default.createElement(zr,{id:o},a.default.createElement($S,{fallback:a.default.createElement("div",{className:"error"},"There was an error while getting threads.")},a.default.createElement(t.Suspense,{fallback:a.default.createElement(qS,null)},a.default.createElement("main",{className:r},a.default.createElement(KS,{indentCommentContent:c,showActions:d,showDeletedComments:f,showResolveAction:p,showReactions:g,showComposer:y,showAttachments:x,showComposerFormattingControls:C})))))},e.AmisInboxPopover=function(e){var n=e.className,r=CD(e,["className"]),o=AD(t.useState(!1),2),i=o[0],s=o[1],u=ur(),c=lr();return a.default.createElement(FE,{open:i,onOpenChange:s},a.default.createElement(jE,{className:XS(n,"inbox-button square")},a.default.createElement($S,{fallback:null},a.default.createElement(Ym,{fallback:null},a.default.createElement(eO,null))),a.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",width:"20",height:"20"},a.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"}))),a.default.createElement(RE,null,a.default.createElement(NE,wD({className:"inbox",collisionPadding:16,sideOffset:8},r),a.default.createElement("div",{className:"inbox-header"},a.default.createElement("span",{className:"inbox-title"},JS.t("liveblocks:frontend_comment_inbox")),a.default.createElement("div",{className:"inbox-buttons"},a.default.createElement("button",{className:"inbox-button",onClick:u},JS.t("liveblocks:frontend_mark_all_read")),a.default.createElement("button",{className:"inbox-button destructive",onClick:c},JS.t("liveblocks:frontend_delete_all")))),a.default.createElement($S,{fallback:a.default.createElement("div",{className:"error"},JS.t("liveblocks:frontend_fallback_error"))},a.default.createElement(Ym,{fallback:a.default.createElement(qS,null)},a.default.createElement(QS,{onClick:function(e){console.log("clicked"),s(!1)}}))))))},e.AmisRoomsProvider=function(e){var n,r=e.data,o=e.baseUrl,i=e.children,s=e.body,u=e.render,c=e.readonly,l=void 0!==c&&c,d=AD(t.useState(null),2),f=d[0],h=d[1],p=o||(null===(n=r.context)||void 0===n?void 0:n.rootUrl)||"".concat(window.location.protocol,"//").concat(window.location.host);console.log("liveblocks baseUrl:",p);var m=wO(),g=m.i18n;m.t;var v=g.language,y=JS.getResourceBundle(v,"liveblocks")||{},b=wD({locale:v},y),x=b.INBOX_NOTIFICATION_THREAD_COMMENTS_LIST__commented||"commented",w=b.INBOX_NOTIFICATION_THREAD_COMMENTS_LIST__in||"in",C=b.INBOX_NOTIFICATION_THREAD_COMMENTS_LIST__in_a_thread||"in a thread";return b.INBOX_NOTIFICATION_THREAD_COMMENTS_LIST=function(e,t){return a.default.createElement(a.default.Fragment,null,e," ",x,t?a.default.createElement(a.default.Fragment,null," ",w," ",t):a.default.createElement(a.default.Fragment,null," ",C))},a.default.createElement(wf,{overrides:b},a.default.createElement(sr,{baseUrl:p,authEndpoint:function(e){return DD(void 0,void 0,void 0,function(){var t,n,r,o,i,s;return ED(this,function(a){switch(a.label){case 0:return t="".concat(p,"/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)),i=JSON.stringify({room:e,readonly:l}),[4,fetch(t,{method:"POST",headers:n,body:i,credentials:"include"})];case 1:return[4,a.sent().json()];case 2:return s=a.sent(),h(s.token),[2,s]}})})},resolveRoomsInfo:function(e){return DD(void 0,[e],void 0,function(e){var t,n,r=e.roomIds;return ED(this,function(e){switch(e.label){case 0:return t=new URLSearchParams(r.map(function(e){return["roomIds",e]})),[4,fetch("".concat(p,"/v2/c/rooms?").concat(t),{headers:{Authorization:"Bearer ".concat(f)}})];case 1:if(!(n=e.sent()).ok)throw new Error(JS.t("liveblocks:frontend_fetch_rooms_info_error"));return[4,n.json()];case 2:return[2,e.sent()]}})})},resolveUsers:function(e){return DD(void 0,[e],void 0,function(e){var t,n,r=e.userIds;return ED(this,function(e){switch(e.label){case 0:return t=new URLSearchParams(r.map(function(e){return["userIds",e]})),[4,fetch("".concat(p,"/v2/c/users?").concat(t),{headers:{Authorization:"Bearer ".concat(f)}})];case 1:if(!(n=e.sent()).ok)throw new Error(JS.t("liveblocks:frontend_fetch_users_error"));return[4,n.json()];case 2:return[2,e.sent()]}})})},resolveMentionSuggestions:function(e){return DD(void 0,[e],void 0,function(e){var t,n=e.text,r=void 0===n?"":n;return ED(this,function(e){switch(e.label){case 0:return[4,fetch("".concat(p,"/v2/c/users/search?keyword=").concat(encodeURIComponent(r)),{headers:{Authorization:"Bearer ".concat(f)}})];case 1:if(!(t=e.sent()).ok)throw new Error(JS.t("liveblocks:frontend_fetch_mention_suggestions_error"));return[4,t.json()];case 2:return[2,e.sent()]}})})}},s&&u("body",s,{}),i))},e.Threads=KS,Object.defineProperty(e,"__esModule",{value:!0})});
|