@steedos-widgets/liveblocks 6.10.1-beta.56 → 6.10.1-beta.58
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/liveblocks.umd.js +1 -1
- package/package.json +3 -3
package/dist/liveblocks.umd.js
CHANGED
|
@@ -4,4 +4,4 @@
|
|
|
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&&(e.set=e.add=e.clear=e.delete=dontMutateFrozenCollections),Object.freeze(e),t&&Object.entries(e).forEach((([e,t])=>freeze$1(t,!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||!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;immer.produceWithPatches.bind(immer),immer.setAutoFreeze.bind(immer),immer.setUseStrictShallowCopy.bind(immer),immer.applyPatches.bind(immer);var 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:u}=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]>=u&&(o[c.length-1]+=1,o[c.length]-=u);break;case"move_node":var{path:d,newPath:p}=t;if(Path.equals(d,p))return o;if(Path.isAncestor(d,o)||Path.equals(d,o)){var f=p.slice();return Path.endsBefore(d,p)&&d.length<p.length&&(f[d.length-1]-=1),f.concat(o.slice(d.length))}Path.isSibling(d,p)&&(Path.isAncestor(p,o)||Path.equals(p,o))?Path.endsBefore(d,o)?o[d.length-1]-=1:o[d.length-1]+=1:Path.endsBefore(p,o)||Path.equals(p,o)||Path.isAncestor(p,o)?(Path.endsBefore(d,o)&&(o[d.length-1]-=1),o[p.length-1]+=1):Path.endsBefore(d,o)&&(Path.equals(p,o)&&(o[p.length-1]+=1),o[d.length-1]-=1)}return o}};function _typeof$4(e){return _typeof$4="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$4(e)}function _toPrimitive$4(e,t){if("object"!==_typeof$4(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==_typeof$4(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function _toPropertyKey$4(e){var t=_toPrimitive$4(e,"string");return"symbol"===_typeof$4(t)?t:String(t)}function _defineProperty$4(e,t,n){return(t=_toPropertyKey$4(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$4(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:u,text:d}=n;if(0===d.length)break;var p=Node$1.leaf(e,c),f=p.text.slice(0,u),m=p.text.slice(u);if(p.text=f+d+m,t)for(var[h,_]of Range.points(t))t[_]=Point.transform(h,n);break;case"merge_node":var{path:g}=n,v=Node$1.get(e,g),b=Path.previous(g),y=Node$1.get(e,b),E=Node$1.parent(e,g),w=g[g.length-1];if(Text$1.isText(v)&&Text$1.isText(y))y.text+=v.text;else{if(Text$1.isText(v)||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(v)," ").concat(Scrubber.stringify(y)));y.children.push(...v.children)}if(E.children.splice(w,1),t)for(var[C,x]of Range.points(t))t[x]=Point.transform(C,n);break;case"move_node":var{path:R,newPath:S}=n;if(Path.isAncestor(R,S))throw new Error("Cannot move a path [".concat(R,"] to new path [").concat(S,"] because the destination is inside itself."));var D=Node$1.get(e,R),T=Node$1.parent(e,R),O=R[R.length-1];T.children.splice(O,1);var I=Path.transform(R,n),A=Node$1.get(e,Path.parent(I)),N=I[I.length-1];if(A.children.splice(N,0,D),t)for(var[k,$]of Range.points(t))t[$]=Point.transform(k,n);break;case"remove_node":var{path:F}=n,j=F[F.length-1];if(Node$1.parent(e,F).children.splice(j,1),t)for(var[P,M]of Range.points(t)){var L=Point.transform(P,n);if(null!=t&&null!=L)t[M]=L;else{var B=void 0,U=void 0;for(var[V,H]of Node$1.texts(e)){if(-1!==Path.compare(H,F)){U=[V,H];break}B=[V,H]}var z=!1;B&&U&&(z=Path.equals(U[1],F)?!Path.hasPrevious(U[1]):Path.common(B[1],F).length<Path.common(U[1],F).length),B&&!z?(P.path=B[1],P.offset=B[0].text.length):U?(P.path=U[1],P.offset=0):t=null}}break;case"remove_text":var{path:K,offset:W,text:q}=n;if(0===q.length)break;var G=Node$1.leaf(e,K),Y=G.text.slice(0,W),J=G.text.slice(W+q.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:ue,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 pe,fe=Node$1.get(e,ce),me=Node$1.parent(e,ce),he=ce[ce.length-1];if(Text$1.isText(fe)){var _e=fe.text.slice(0,ue),ge=fe.text.slice(ue);fe.text=_e,pe=_objectSpread$e(_objectSpread$e({},de),{},{text:ge})}else{var ve=fe.children.slice(0,ue),be=fe.children.slice(ue);fe.children=ve,pe=_objectSpread$e(_objectSpread$e({},de),{},{children:be})}if(me.children.splice(he+1,0,pe),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$4(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 u=o?l.children.length-1:0;Path.isAncestor(s,r)&&(u=r[s.length]),s=s.concat(u),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$4(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$4(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$4(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,u=i.offset;for(var d of n){var{length:p}=d.text,f=l;if(l+=p,c<=f&&l<=u)Object.assign(d,r),s.push(d);else if(c!==u&&(c===l||u===f)||c>l||u<f||u===f&&0!==f)s.push(d);else{var m=d,h=void 0,_=void 0;if(u<l){var g=u-f;_=_objectSpread$a(_objectSpread$a({},m),{},{text:m.text.slice(g)}),m=_objectSpread$a(_objectSpread$a({},m),{},{text:m.text.slice(0,g)})}if(c>f){var v=c-f;h=_objectSpread$a(_objectSpread$a({},m),{},{text:m.text.slice(0,v)}),m=_objectSpread$a(_objectSpread$a({},m),{},{text:m.text.slice(v)})}Object.assign(m,r),h&&s.push(h),s.push(m),_&&s.push(_)}}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 u=getCodepointType(l,c);if([r,a]=n?[a,u]:[u,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!!(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(),u=l.unref();r=c||u,Transforms.setSelection(e,{anchor:r,focus:r})}if(!(!o&&Editor.void(e,{at:r})||Editor.elementReadOnly(e,{at:r}))){var{path:d,offset:p}=r;t.length>0&&e.apply({type:"insert_text",path:d,offset:p,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$4(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 u=[],d=[];for(var p of Path.ancestors(l)){var f=Path.transform(p,t);u.push(f)}for(var m of Path.ancestors(c)){var h=Path.transform(m,t);d.push(h)}var _=d[d.length-1],g=c[c.length-1],v=_.concat(g);return[...u,...d,v];case"remove_node":var{path:b}=t;return[...Path.ancestors(b)];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],u=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(u){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$4(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 u=_objectSpread$8$1(_objectSpread$8$1({},Editor.marks(e)||{}),{},{[t]:n});e.marks=u,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$4(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$4(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$4(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$4(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$4(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$1=(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 u=Editor.previous(e,{at:l,match:Text$1.isText}),d=Editor.above(e,{match:t=>Element$2.isElement(t)&&Editor.isVoid(e,t)&&e.markableVoid(t)});if(!d){var p=Editor.above(e,{match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t)});if(u&&p){var[f,m]=u,[,h]=p;Path.isAncestor(h,m)&&(c=f)}}}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[u]=Editor.nodes(e,{at:l,match:r,mode:n,voids:o});return u}}},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,u;if(Span.isSpan(n))c=n[0],u=n[1];else{var d=Editor.path(e,n,{edge:"start"}),p=Editor.path(e,n,{edge:"end"});c=a?p:d,u=a?d:p}var f,m=Node$1.nodes(e,{reverse:a,from:c,to:u,pass:t=>{var[n]=t;return!!Element$2.isElement(n)&&(!(i||!Editor.isVoid(e,n)&&!Editor.isElementReadOnly(e,n))||!(!s||Editor.isSelectable(e,n)))}}),h=[];for(var[_,g]of m)if(!s||!Element$2.isElement(_)||Editor.isSelectable(e,_)){var v=f&&0===Path.compare(g,f[1]);if("highest"!==o||!v)if(l(_,g))if("lowest"===o&&v)f=[_,g];else{var b="lowest"===o?f:[_,g];b&&(r?h.push(b):yield b),f=[_,g]}else if(r&&!v&&Text$1.isText(_))return}"lowest"===o&&f&&(r?h.push(f):yield f),r&&(yield*h)}}()}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,u=0;0!==l.length;){if(!e.shouldNormalize({dirtyPaths:l,iteration:u,initialDirtyPathsLength:c,operation:o}))return;var d=a(e);if(Node$1.has(e,d)){var p=Editor.node(e,d);e.normalizeNode(p,{operation:o})}u++,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),u=r?c:l,d=!1,p="",f=0,m=0,h=0;for(var[_,g]of Editor.nodes(e,{at:n,reverse:r,voids:a,ignoreNonSelectable:i})){if(Element$2.isElement(_)){if(!a&&(e.isVoid(_)||e.isElementReadOnly(_))){yield Editor.start(e,g);continue}if(e.isInline(_))continue;if(Editor.hasInlines(e,_)){var v=Path.isAncestor(g,c.path)?c:Editor.end(e,g),b=Path.isAncestor(g,l.path)?l:Editor.start(e,g);p=Editor.string(e,{anchor:b,focus:v},{voids:a}),d=!0}}if(Text$1.isText(_)){var y=Path.equals(g,u.path);for(y?(m=r?u.offset:_.text.length-u.offset,h=u.offset):(m=_.text.length,h=r?m:0),(y||d||"offset"===o)&&(yield{path:g,offset:h},d=!1);;){if(0===f){if(""===p)break;f=E(p,o,r),p=splitByCharacterDistance(p,f,r)[1]}if(h=r?h-f:h+f,(m-=f)<0){f=-m;break}f=0,yield{path:g,offset:h}}}}}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[u]=Editor.nodes(e,{reverse:!0,at:l,match:r,mode:n,voids:o});return u}}},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$4(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 u=l.text;Path.equals(c,i.path)&&(u=u.slice(0,i.offset)),Path.equals(c,a.path)&&(u=u.slice(a.offset)),s+=u}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[u,d]of Editor.nodes(e,{at:l,match:Text$1.isText,reverse:!0,voids:o}))if(c)c=!1;else if(""!==u.text||Path.isBefore(d,s)){a={path:d,offset:u.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 u=!1;if(Range.isRange(l)&&Range.isCollapsed(l)&&(u=!0,l=l.anchor),Point.isPoint(l)){var d=Editor.void(e,{at:l,mode:"highest"});if(!s&&d){var[,p]=d;l=p}else{var f={unit:a,distance:i};l={anchor:l,focus:r?Editor.before(e,l,f)||Editor.start(e,[]):Editor.after(e,l,f)||Editor.end(e,[])},c=!0}}if(Path.isPath(l))Transforms.removeNodes(e,{at:l,voids:s});else if(!Range.isCollapsed(l)){if(!c){var[,m]=Range.edges(l),h=Editor.end(e,[]);Point.equals(m,h)||(l=Editor.unhangRange(e,l,{voids:s}))}var[_,g]=Range.edges(l),v=Editor.above(e,{match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t),at:_,voids:s}),b=Editor.above(e,{match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t),at:g,voids:s}),y=v&&b&&!Path.equals(v[1],b[1]),E=Path.equals(_.path,g.path),w=s?null:null!==(n=Editor.void(e,{at:_,mode:"highest"}))&&void 0!==n?n:Editor.elementReadOnly(e,{at:_,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,_);x&&v&&Path.isAncestor(v[1],x.path)&&(_=x)}if(C){var R=Editor.after(e,g);R&&b&&Path.isAncestor(b[1],R.path)&&(g=R)}var S,D=[];for(var T of Editor.nodes(e,{at:l,voids:s})){var[O,I]=T;S&&0===Path.compare(I,S)||(!s&&Element$2.isElement(O)&&(Editor.isVoid(e,O)||Editor.isElementReadOnly(e,O))||!Path.isCommon(I,_.path)&&!Path.isCommon(I,g.path))&&(D.push(T),S=I)}var A=Array.from(D,(t=>{var[,n]=t;return Editor.pathRef(e,n)})),N=Editor.pointRef(e,_),k=Editor.pointRef(e,g),$="";if(!E&&!w){var F=N.current,[j]=Editor.leaf(e,F),{path:P}=F,{offset:M}=_,L=j.text.slice(M);L.length>0&&(e.apply({type:"remove_text",path:P,offset:M,text:L}),$=L)}if(A.reverse().map((e=>e.unref())).filter((e=>null!==e)).forEach((t=>Transforms.removeNodes(e,{at:t,voids:s}))),!C){var B=k.current,[U]=Editor.leaf(e,B),{path:V}=B,H=E?_.offset:0,z=U.text.slice(H,g.offset);z.length>0&&(e.apply({type:"remove_text",path:V,offset:H,text:z}),$=z)}!E&&y&&k.current&&N.current&&Transforms.mergeNodes(e,{at:k.current,hanging:!0,voids:s}),u&&r&&"character"===a&&$.length>1&&$.match(/[\u0E00-\u0E7F]+/)&&Transforms.insertText(e,$.slice(0,$.length-i));var K=N.unref(),W=k.unref(),q=r?K||W:W||K;null==t.at&&q&&Transforms.select(e,q)}}}))},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[,u]=c;if(Editor.isEnd(e,a,u))a=Editor.after(e,u);else if(Editor.isStart(e,a,u)){a=Editor.before(e,u)}}var d=Editor.above(e,{match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t),at:a,voids:r}),[,p]=d,f=Editor.isStart(e,a,p),m=Editor.isEnd(e,a,p),h=f&&m,_=!f||f&&m,g=!m,[,v]=Node$1.first({children:t},[]),[,b]=Node$1.last({children:t},[]),y=[],E=t=>{var[n,o]=t;return!(0===o.length)&&(!!h||!(_&&Path.isAncestor(o,v)&&Element$2.isElement(n)&&!e.isVoid(n)&&!e.isInline(n))&&!(g&&Path.isAncestor(o,b)&&Element$2.isElement(n)&&!e.isVoid(n)&&!e.isInline(n)))};for(var w of Node$1.nodes({children:t},{pass:E}))E(w)&&y.push(w);var C=[],x=[],R=[],S=!0,D=!1;for(var[T]of y)Element$2.isElement(T)&&!e.isInline(T)?(S=!1,D=!0,x.push(T)):S?C.push(T):R.push(T);var[O]=Editor.nodes(e,{at:a,match:t=>Text$1.isText(t)||Editor.isInline(e,t),mode:"highest",voids:r}),[,I]=O,A=Editor.isStart(e,a,I),N=Editor.isEnd(e,a,I),k=Editor.pathRef(e,m&&!R.length?Path.next(p):p),$=Editor.pathRef(e,N?Path.next(I):I);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&&(!f||C.length>0)&&(!m||R.length>0),voids:r});var F,j=Editor.pathRef(e,!A||A&&N?Path.next(I):I);if(Transforms.insertNodes(e,C,{at:j.current,match:t=>Text$1.isText(t)||Editor.isInline(e,t),mode:"highest",voids:r,batchDirty:i}),h&&!C.length&&x.length&&!R.length&&Transforms.delete(e,{at:p,voids:r}),Transforms.insertNodes(e,x,{at:k.current,match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t),mode:"lowest",voids:r,batchDirty:i}),Transforms.insertNodes(e,R,{at:$.current,match:t=>Text$1.isText(t)||Editor.isInline(e,t),mode:"highest",voids:r,batchDirty:i}),!n.at)if(R.length>0&&$.current?F=Path.previous($.current):x.length>0&&k.current?F=Path.previous(k.current):j.current&&(F=Path.previous(j.current)),F){var P=Editor.end(e,F);Transforms.select(e,P)}j.unref(),k.unref(),$.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},u={};if(null==i||"anchor"===i){var d=a?Editor.before(e,s,c):Editor.after(e,s,c);d&&(u.anchor=d)}if(null==i||"focus"===i){var p=a?Editor.before(e,l,c):Editor.after(e,l,c);p&&(u.focus=p)}Transforms.setSelection(e,u)}},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$4(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[u]=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[,d]=Range.edges(s),p=Editor.pointRef(e,d);Transforms.delete(e,{at:s}),s=p.unref()}if(Point.isPoint(s)){null==l&&(l=Text$1.isText(u)?e=>Text$1.isText(e):e.isInline(u)?t=>Text$1.isText(t)||Editor.isInline(e,t):t=>Element$2.isElement(t)&&Editor.isBlock(e,t));var[f]=Editor.nodes(e,{at:s.path,match:l,mode:a,voids:r});if(!f)return;var[,m]=f,h=Editor.pathRef(e,m),_=Editor.isEnd(e,s,m);Transforms.splitNodes(e,{at:s,match:l,mode:a,voids:r});var g=h.unref();s=_?Path.next(g):g}var v=Path.parent(s),b=s[s.length-1];if(r||!Editor.void(e,{at:v})){if(i){var y=[],E=Path.levels(v);batchDirtyPaths(e,(()=>{var n=function(){var t=v.concat(b);b++;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=v.concat(b);b++,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 u=Editor.node(e,Path.parent(c)),[d,p]=u,f=c[c.length-1],{length:m}=d.children;if(1===m){var h=Path.next(p);Transforms.moveNodes(e,{at:c,to:h,voids:r}),Transforms.removeNodes(e,{at:p,voids:r})}else if(0===f)Transforms.moveNodes(e,{at:c,to:p,voids:r});else if(f===m-1){var _=Path.next(p);Transforms.moveNodes(e,{at:c,to:_,voids:r})}else{var g=Path.next(c),v=Path.next(p);Transforms.splitNodes(e,{at:g,voids:r}),Transforms.moveNodes(e,{at:c,to:v,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[u]=Editor.nodes(e,{at:o,match:n,voids:a,mode:i}),d=Editor.previous(e,{at:o,match:n,voids:a,mode:i});if(u&&d){var[p,f]=u,[m,h]=d;if(0!==f.length&&0!==h.length){var _,g,v=Path.next(h),b=Path.common(f,h),y=Path.isSibling(f,h),E=Array.from(Editor.levels(e,{at:f}),(e=>{var[t]=e;return t})).slice(b.length).slice(0,-1),w=Editor.above(e,{at:f,mode:"highest",match:t=>E.includes(t)&&hasSingleChildNest(e,t)}),C=w&&Editor.pathRef(e,w[1]);if(Text$1.isText(p)&&Text$1.isText(m)){var x=_objectWithoutProperties$1(p,_excluded$5);g=m.text.length,_=x}else{if(!Element$2.isElement(p)||!Element$2.isElement(m))throw new Error("Cannot merge the node at path [".concat(f,"] with the previous sibling because it is not the same kind: ").concat(Scrubber.stringify(p)," ").concat(Scrubber.stringify(m)));x=_objectWithoutProperties$1(p,_excluded2$4);g=m.children.length,_=x}y||Transforms.moveNodes(e,{at:f,to:v,voids:a}),C&&Transforms.removeNodes(e,{at:C.current,voids:a}),Editor.shouldMergeNodesRemovePrevNode(e,d,u)?Transforms.removeNodes(e,{at:h,voids:a}):e.apply({type:"merge_node",path:v,position:g,properties:_}),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 u of c){var d=u.unref(),p=s.current;0!==d.length&&e.apply({type:"move_node",path:d,newPath:p}),s.current&&Path.isSibling(p,d)&&Path.isAfter(p,d)&&(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 u=c.unref();if(u){var[d]=Editor.node(e,u);e.apply({type:"remove_node",path:u,node:d})}}}}))},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:u=!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:u})),c&&Range.isRange(r)){if(Range.isCollapsed(r)&&Editor.leaf(e,r.anchor)[0].text.length>0)return;var d=Editor.rangeRef(e,r,{affinity:"inward"}),[p,f]=Range.edges(r),m="lowest"===l?"lowest":"highest",h=Editor.isEnd(e,f,f.path);Transforms.splitNodes(e,{at:f,match:o,mode:m,voids:u,always:!h});var _=Editor.isStart(e,p,p.path);Transforms.splitNodes(e,{at:p,match:o,mode:m,voids:u,always:!_}),r=d.unref(),null==n.at&&Transforms.select(e,r)}for(var[g,v]of(a||(a=(e,t)=>e!==t),Editor.nodes(e,{at:r,match:o,mode:l,voids:u}))){var b={},y={};if(0!==v.length){var E=!1;for(var w in t)"children"!==w&&"text"!==w&&a(t[w],g[w])&&(E=!0,g.hasOwnProperty(w)&&(b[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:v,properties:b,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),[u]=Editor.parent(e,l);r=e=>e===u,i=c.path.length-l.length+1,a=c,s=!0}if(a){var d,p=Editor.pointRef(e,a,{affinity:"backward"});try{var[f]=Editor.nodes(e,{at:a,match:r,mode:n,voids:o});if(!f)return;var m=Editor.void(e,{at:a,mode:"highest"});if(!o&&m){var[h,_]=m;if(Element$2.isElement(h)&&e.isInline(h)){var g=Editor.after(e,_);if(!g){var v=Path.next(_);Transforms.insertNodes(e,{text:""},{at:v,voids:o}),g=Editor.point(e,v)}a=g,s=!0}i=a.path.length-_.length+1,s=!0}d=Editor.pointRef(e,a);var b=a.path.length-i,[,y]=f,E=a.path.slice(0,b),w=0===i?a.offset:a.path[b]+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=p.current,D=Editor.isEnd(e,S,x);if(s||!p||!Editor.isEdge(e,S,x)){R=!0;var T=Node$1.extractProps(C);e.apply({type:"split_node",path:x,position:w,properties:T})}w=x[x.length-1]+(R||D?1:0)}if(null==t.at){var O=d.current||Editor.end(e,[]);Transforms.select(e,O)}}finally{var I;p.unref(),null===(I=d)||void 0===I||I.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(),u=function(){var t=d.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 d of c)u();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$4(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),u=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=u.unref(),null==n.at&&Transforms.select(e,s)}var d=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})),p=function(){var n=Range.isRange(s)?Range.intersection(s,Editor.range(e,f)):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],[,u]=l,[,d]=c;if(0===u.length&&0===d.length)return 0;var p=Path.equals(u,d)?Path.parent(u):Path.common(u,d),m=Editor.range(e,u,d),h=Editor.node(e,p),[_]=h,g=p.length+1,v=Path.next(d.slice(0,g)),b=_objectSpread$f(_objectSpread$f({},t),{},{children:[]});Transforms.insertNodes(e,b,{at:v,voids:a}),Transforms.moveNodes(e,{at:m,match:e=>Element$2.isAncestor(_)&&_.children.includes(e),to:v.concat(0),voids:a})}};for(var[,f]of d)p()}}))},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$1(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:"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:"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:"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 u={operations:[e],selectionBefore:t.selection};t.writeHistory("undos",u)}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,u=!1,d=!1,p=!0;if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT$1);function f(t){var n=o,a=r;return o=r=void 0,c=t,i=e.apply(a,n)}function m(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-c>=a}function h(){var e=now();if(m(e))return _(e);s=setTimeout(h,function(e){var n=t-(e-l);return d?nativeMin(n,a-(e-c)):n}(e))}function _(e){return s=void 0,p&&o?f(e):(o=r=void 0,i)}function g(){var e=now(),n=m(e);if(o=arguments,r=this,l=e,n){if(void 0===s)return function(e){return c=e,s=setTimeout(h,t),u?f(e):i}(l);if(d)return clearTimeout(s),s=setTimeout(h,t),f(l)}return void 0===s&&(s=setTimeout(h,t)),i}return t=toNumber(t)||0,isObject$1(n)&&(u=!!n.leading,a=(d="maxWait"in n)?nativeMax(toNumber(n.maxWait)||0,t):a,p="trailing"in n?!!n.trailing:p),g.cancel=function(){void 0!==s&&clearTimeout(s),c=0,o=l=r=s=void 0},g.flush=function(){return void 0===s?i:_(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:u,boundary:d,skipOverflowHiddenElements:p}=n,f="function"==typeof d?d:e=>e!==d;if(!t(e))throw new TypeError("Invalid target");const m=document.scrollingElement||document.documentElement,h=[];let _=e;for(;t(_)&&f(_);){if(_=l(_),_===m){h.push(_);break}null!=_&&_===document.body&&n$1(_)&&!n$1(document.documentElement)||null!=_&&n$1(_,p)&&h.push(_)}const g=null!=(r=null==(o=window.visualViewport)?void 0:o.width)?r:innerWidth,v=null!=(i=null==(a=window.visualViewport)?void 0:a.height)?i:innerHeight,{scrollX:b,scrollY:y}=window,{height:E,width:w,top:C,right:x,bottom:R,left:S}=e.getBoundingClientRect(),{top:D,right:T,bottom:O,left:I}=(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 A="start"===c||"nearest"===c?C-D:"end"===c?R+O:C+E/2-D+O,N="center"===u?S+w/2-I+T:"end"===u?x+T:S-I;const k=[];for(let e=0;e<h.length;e++){const t=h[e],{height:n,width:o,top:r,right:a,bottom:i,left:l}=t.getBoundingClientRect();if("if-needed"===s&&C>=0&&S>=0&&R<=v&&x<=g&&(t===m&&!n$1(t)||C>=r&&R<=i&&S>=l&&x<=a))return k;const d=getComputedStyle(t),p=parseInt(d.borderLeftWidth,10),f=parseInt(d.borderTopWidth,10),_=parseInt(d.borderRightWidth,10),D=parseInt(d.borderBottomWidth,10);let T=0,O=0;const I="offsetWidth"in t?t.offsetWidth-t.clientWidth-p-_:0,$="offsetHeight"in t?t.offsetHeight-t.clientHeight-f-D:0,F="offsetWidth"in t?0===t.offsetWidth?0:o/t.offsetWidth:0,j="offsetHeight"in t?0===t.offsetHeight?0:n/t.offsetHeight:0;if(m===t)T="start"===c?A:"end"===c?A-v:"nearest"===c?o$1(y,y+v,v,f,D,y+A,y+A+E,E):A-v/2,O="start"===u?N:"center"===u?N-g/2:"end"===u?N-g:o$1(b,b+g,g,p,_,b+N,b+N+w,w),T=Math.max(0,T+y),O=Math.max(0,O+b);else{T="start"===c?A-r-f:"end"===c?A-i+D+$:"nearest"===c?o$1(r,i,n,f,D+$,A,A+E,E):A-(r+n/2)+$/2,O="start"===u?N-l-p:"center"===u?N-(l+o/2)+I/2:"end"===u?N-a+_+I:o$1(l,a,o,p,_+I,N,N+w,w);const{scrollLeft:e,scrollTop:s}=t;T=0===j?0:Math.max(0,Math.min(s+T/j,t.scrollHeight-n/j+$)),O=0===F?0:Math.max(0,Math.min(e+O/F,t.scrollWidth-o/F+I)),A+=s-T,N+=e-O}k.push({el:t,top:T,left:O})}return k},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),u=o?0:parseDimension(n.paddingBottom),d=o?0:parseDimension(n.paddingLeft),p=o?0:parseDimension(n.borderTopWidth),f=o?0:parseDimension(n.borderRightWidth),m=o?0:parseDimension(n.borderBottomWidth),h=d+c,_=l+u,g=(o?0:parseDimension(n.borderLeftWidth))+f,v=p+m,b=s?e.offsetHeight-v-e.clientHeight:0,y=i?e.offsetWidth-g-e.clientWidth:0,E=r?h+g:0,w=r?_+v:0,C=o?o.width:parseDimension(n.width)-E-y,x=o?o.height:parseDimension(n.height)-w-b,R=C+h+y+g,S=x+_+b+v,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(d,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 u,d=r[Symbol.iterator]();!(s=(u=d.next()).done);s=!0){var p=u.value,f=p.endsWith("?")&&p.length>1;f&&(p=p.slice(0,-1));var m=toKeyName(p),h=MODIFIERS$1[m];if(p.length>1&&!h&&!ALIASES[p]&&!CODES[m])throw new TypeError('Unknown modifier: "'+p+'"');1!==a&&h||(n?o.key=m:o.which=toKeyCode(p)),h&&(o[h]=!f||null)}}catch(e){l=!0,c=e}finally{try{!s&&d.return&&d.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$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$3(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$3(e){var t=_toPrimitive$3(e,"string");return"symbol"===_typeof$3(t)?t:String(t)}function _defineProperty$3(e,t,n){return(t=_toPropertyKey$3(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$3(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,u=Editor.point(e,s,{edge:c?"start":"end"}),d=c?Editor.before(e,u):Editor.after(e,u);if(d)return Editor.range(e,d)}var{document:p}=ReactEditor.getWindow(e);if(p.caretRangeFromPoint)a=p.caretRangeFromPoint(n,o);else{var f=p.caretPositionFromPoint(n,o);f&&((a=p.createRange()).setStart(f.offsetNode,f.offset),a.setEnd(f.offsetNode,f.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:u}=c.textContent,d=l.getAttribute("data-slate-length"),p=i+(null==d?u:parseInt(d,10)),f=a[s+1];if(t.offset===p&&null!=f&&f.hasAttribute("data-slate-mark-placeholder")){var m,h=f.childNodes[0];n=[h instanceof DOMText?h:f,null!==(m=f.textContent)&&void 0!==m&&m.startsWith("\ufeff")?1:0];break}if(t.offset<=p){n=[c,Math.min(u,Math.max(0,t.offset-i))];break}i=p}}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,[u,d]=r?a:i,p=!!(isDOMElement(l)?l:l.parentElement).getAttribute("data-slate-zero-width"),f=!!(isDOMElement(u)?u:u.parentElement).getAttribute("data-slate-zero-width");return s.setStart(l,p?1:c),s.setEnd(u,f?1:d),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,u=0;if(l){var d,p,f=ReactEditor.toDOMNode(e,e),m=l.closest('[data-slate-void="true"]'),h=m&&f.contains(m)?m:null,_=l.closest('[contenteditable="false"]'),g=_&&f.contains(_)?_:null,v=l.closest("[data-slate-leaf]"),b=null;if(v){if(c=v.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)})),u=E.textContent.length,b=c}}else if(h){for(var w=h.querySelectorAll("[data-slate-leaf]"),C=0;C<w.length;C++){var x=w[C];if(ReactEditor.hasDOMNode(e,x)){v=x;break}}v?(c=v.closest('[data-slate-node="text"]'),u=(b=v).textContent.length,b.querySelectorAll("[data-slate-zero-width]").forEach((e=>{u-=e.textContent.length}))):u=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)v=null!==(R=[...D(T),...D(null==T?void 0:T.nextElementSibling)].find((e=>isAfter(g,e))))&&void 0!==R?R:null;else v=null!==(S=[...D(null==T?void 0:T.previousElementSibling),...D(T)].findLast((e=>isBefore(g,e))))&&void 0!==S?S:null;v&&(c=v.closest('[data-slate-node="text"]'),b=v,"forward"===a?u=0:(u=b.textContent.length,b.querySelectorAll("[data-slate-zero-width]").forEach((e=>{u-=e.textContent.length}))))}b&&u===b.textContent.length&&IS_ANDROID&&"z"===b.getAttribute("data-slate-zero-width")&&null!==(d=b.textContent)&&void 0!==d&&d.startsWith("\ufeff")&&(l.hasAttribute("data-slate-zero-width")||IS_FIREFOX&&null!==(p=b.textContent)&&void 0!==p&&p.endsWith("\n\n"))&&u--}if(IS_ANDROID&&!c&&!o){var O=l.hasAttribute("data-slate-node")?l:l.closest("[data-slate-node]");if(O&&ReactEditor.hasDOMNode(e,O,{editable:!0})){var I=ReactEditor.toSlateNode(e,O),{path:A,offset:N}=Editor.start(e,ReactEditor.findPath(e,I));return O.querySelector("[data-slate-leaf]")||(N=s),{path:A,offset:N}}}if(!c){if(r)return null;throw new Error("Cannot resolve a Slate point from DOM point: ".concat(t))}var k=ReactEditor.toSlateNode(e,c);return{path:ReactEditor.findPath(e,k),offset:u}},toSlateRange:(e,t,n)=>{var o,r,a,i,s,l,{exactMatch:c,suppressThrow:u}=n;if(isDOMSelection(t)?t.anchorNode:t.startContainer)if(isDOMSelection(t)){if(IS_FIREFOX&&t.rangeCount>1){i=t.focusNode;var d=t.getRangeAt(0),p=t.getRangeAt(t.rangeCount-1);if(i instanceof HTMLTableRowElement&&d.startContainer instanceof HTMLTableRowElement&&p.startContainer instanceof HTMLTableRowElement){function f(e){return e.childElementCount>0?f(e.children[0]):e}var m=d.startContainer,h=p.startContainer,_=f(m.children[d.startOffset]),g=f(h.children[p.startOffset]);s=0,r=g.childNodes.length>0?g.childNodes[0]:g,i=_.childNodes.length>0?_.childNodes[0]:_,a=g instanceof HTMLElement?g.innerHTML.length:0}else d.startContainer===i?(r=p.endContainer,a=p.endOffset,s=d.startOffset):(r=d.startContainer,a=d.endOffset,s=p.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 v=ReactEditor.toSlatePoint(e,[r,a],{exactMatch:c,suppressThrow:u});if(!v)return null;var b=isBefore(r,i)||r===i&&s<a,y=l?v:ReactEditor.toSlatePoint(e,[i,s],{exactMatch:c,suppressThrow:u,searchDirection:b?"forward":"backward"});if(!y)return null;var E={anchor:v,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$3(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,u=()=>{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)}},d=()=>{if(i&&(clearTimeout(i),i=null),s&&(clearTimeout(s),s=null),_()||h()){r||(r=!0,setTimeout((()=>r=!1))),h()&&(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=_();a=null===(d=EDITOR_TO_PENDING_DIFFS.get(t))||void 0===d?void 0:d[0];){var d,p,f=EDITOR_TO_PENDING_INSERTION_MARKS.get(t);void 0!==f&&(EDITOR_TO_PENDING_INSERTION_MARKS.delete(t),t.marks=f),f&&!1===c&&(c=null);var m=targetRange(a);t.selection&&Range.equals(t.selection,m)||Transforms.select(t,m),a.diff.text?Editor.insertText(t,a.diff.text):Editor.deleteFragment(t),EDITOR_TO_PENDING_DIFFS.set(t,null===(p=EDITOR_TO_PENDING_DIFFS.get(t))||void 0===p?void 0:p.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),h())(()=>{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(),u();var v=EDITOR_TO_USER_MARKS.get(t);EDITOR_TO_USER_MARKS.delete(t),void 0!==v&&(t.marks=v,t.onChange())}}else u()},p=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=EDITOR_TO_PLACEHOLDER_ELEMENT.get(t);n&&(_()||e?n.style.display="none":n.style.removeProperty("display"))},f=(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 p();var s=mergeStringDiffs(a.text,r[i].diff,n);if(!s)return r.splice(i,1),void p();r[i]=_objectSpread$6$1(_objectSpread$6$1({},r[i]),{},{diff:s})},m=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(),h()&&d(),EDITOR_TO_PENDING_ACTION.set(t,{at:r,run:e}),s=setTimeout(d)},h=()=>!!EDITOR_TO_PENDING_ACTION.get(t),_=()=>{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||_())&&(i=setTimeout(d,FLUSH_DELAY))}},v=()=>{h()||(s=setTimeout(d))};return{flush:d,scheduleFlush:v,hasPendingDiffs:_,hasPendingAction:h,hasPendingChanges:()=>h()||_(),isFlushing:()=>r,handleUserSelect:g,handleCompositionEnd:e=>{a&&clearTimeout(a),a=setTimeout((()=>{IS_COMPOSING.set(t,!1),d()}),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 u=!0;if(o.startsWith("delete")){if(Range.isExpanded(r)){var[d,p]=Range.edges(r);if(Node$1.leaf(t,d.path).text.length===d.offset&&0===p.offset){var h=Editor.next(t,{at:d.path,match:Text$1.isText});h&&Path.equals(h[1],p.path)&&(r={anchor:p,focus:p})}}var _=o.endsWith("Backward")?"backward":"forward",[b,y]=Range.edges(r),[E,w]=Editor.leaf(t,b.path),C={text:"",start:b.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&&(u=!1),Range.isExpanded(r)){if(u&&Path.equals(r.anchor.path,r.focus.path)){var D={path:r.anchor.path,offset:b.offset},T=Editor.range(t,D,D);return g(T),f(r.anchor.path,{text:"",end:y.offset,start:b.offset})}return m((()=>Editor.deleteFragment(t,{direction:_})),{at:r})}}switch(o){case"deleteByComposition":case"deleteByCut":case"deleteByDrag":return m((()=>Editor.deleteFragment(t)),{at:r});case"deleteContent":case"deleteContentForward":var{anchor:O}=r;if(u&&Range.isCollapsed(r)){var I=Node$1.leaf(t,O.path);if(O.offset<I.text.length)return f(O.path,{text:"",start:O.offset,end:O.offset+1})}return m((()=>Editor.deleteForward(t)),{at:r});case"deleteContentBackward":var A,{anchor:N}=r,k=isDOMSelection(s)?s.isCollapsed:!(null===(A=s)||void 0===A||!A.collapsed);return u&&k&&Range.isCollapsed(r)&&N.offset>0?f(N.path,{text:"",start:N.offset-1,end:N.offset}):m((()=>Editor.deleteBackward(t)),{at:r});case"deleteEntireSoftLine":return m((()=>{Editor.deleteBackward(t,{unit:"line"}),Editor.deleteForward(t,{unit:"line"})}),{at:r});case"deleteHardLineBackward":return m((()=>Editor.deleteBackward(t,{unit:"block"})),{at:r});case"deleteSoftLineBackward":return m((()=>Editor.deleteBackward(t,{unit:"line"})),{at:r});case"deleteHardLineForward":return m((()=>Editor.deleteForward(t,{unit:"block"})),{at:r});case"deleteSoftLineForward":return m((()=>Editor.deleteForward(t,{unit:"line"})),{at:r});case"deleteWordBackward":return m((()=>Editor.deleteBackward(t,{unit:"word"})),{at:r});case"deleteWordForward":return m((()=>Editor.deleteForward(t,{unit:"word"})),{at:r});case"insertLineBreak":return m((()=>Editor.insertSoftBreak(t)),{at:r});case"insertParagraph":return m((()=>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 m((()=>ReactEditor.insertData(t,a)),{at:r});var $=null!=a?a:"";if(EDITOR_TO_PENDING_INSERTION_MARKS.get(t)&&($=$.replace("\ufeff","")),"insertText"===o&&/.*\n.*\n$/.test($)&&($=$.slice(0,-1)),$.includes("\n"))return m((()=>{var e=$.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,j]=Range.edges(r),P={start:F.offset,end:j.offset,text:$};if($&&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,v()):c=!1}else c="insertText"===o&&(null===c?P:!(!c||!Range.isCollapsed(r)||c.end+c.text.length!==F.offset)&&_objectSpread$6$1(_objectSpread$6$1({},c),{},{text:c.text+$}));if(u)return void f(F.path,P)}return m((()=>Editor.insertText(t,$)),{at:r})}}}},handleKeyDown:e=>{_()||(p(!0),setTimeout(p))},handleDomMutations:e=>{var n;_()||h()||e.some((n=>isTrackedMutation(t,n,e)))&&(null===(n=EDITOR_TO_FORCE_RENDER.get(t))||void 0===n||n())},handleInput:()=>{!h()&&_()||d()}}}function useIsMounted(){var e=React.useRef(!1);return React.useEffect((()=>(e.current=!0,()=>{e.current=!1})),[]),e.current}var useIsomorphicLayoutEffect$3=CAN_USE_DOM?React.useLayoutEffect:React.useEffect;function useMutationObserver(e,t,n){var[o]=React.useState((()=>new MutationObserver(t)));useIsomorphicLayoutEffect$3((()=>{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$3(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$3(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$3((()=>{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$3(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),[u,d]=React.useState(!1),p=React.useRef(null),f=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]),m=React__default.default.createElement(String$1,{isLast:n,leaf:t,parent:r,text:o}),h=Boolean(t[PLACEHOLDER_SYMBOL]);if(React.useEffect((()=>(h?p.current||(p.current=setTimeout((()=>{d(!0),p.current=null}),PLACEHOLDER_DELAY)):(clearTimeoutRef(p),d(!1)),()=>clearTimeoutRef(p))),[h,d]),h&&u){var _={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:f}};m=React__default.default.createElement(React__default.default.Fragment,null,a(_),m)}return i({attributes:{"data-slate-leaf":!0},children:m,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),u=ReactEditor.findKey(s,i),d=[],p=0;p<c.length;p++){var f=c[p];d.push(React__default.default.createElement(MemoizedLeaf,{isLast:n&&p===c.length-1,key:"".concat(u.id,"-").concat(p),renderPlaceholder:r,leaf:f,text:i,parent:o,renderLeaf:a}))}var m=React.useCallback((e=>{var t=EDITOR_TO_KEY_TO_ELEMENT.get(s);e?(null==t||t.set(u,e),NODE_TO_ELEMENT.set(i,e),ELEMENT_TO_NODE.set(e,i)):(null==t||t.delete(u),NODE_TO_ELEMENT.delete(i),l.current&&ELEMENT_TO_NODE.delete(l.current)),l.current=e}),[l,s,u,i]);return React__default.default.createElement("span",{"data-slate-node":"text",ref:m},d)},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$3(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),u=ReactEditor.findKey(s,n),d=React.useCallback((e=>{var t=EDITOR_TO_KEY_TO_ELEMENT.get(s);e?(null==t||t.set(u,e),NODE_TO_ELEMENT.set(n,e),ELEMENT_TO_NODE.set(e,n)):(null==t||t.delete(u),NODE_TO_ELEMENT.delete(n))}),[s,u,n]),p=useChildren({decorations:t,node:n,renderElement:o,renderPlaceholder:r,renderLeaf:a,selection:i}),f={"data-slate-node":"element",ref:d};if(c&&(f["data-slate-inline"]=!0),!c&&Editor.hasInlines(s,n)){var m=Node$1.string(n),h=direction_1(m);"rtl"===h&&(f.dir=h)}if(Editor.isVoid(s,n)){f["data-slate-void"]=!0,!l&&c&&(f.contentEditable=!1);var _=c?"span":"div",[[g]]=Node$1.texts(n);p=React__default.default.createElement(_,{"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:f,children:p,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),u=[],d=Element$2.isElement(n)&&!l.isInline(n)&&Editor.hasInlines(l,n),p=0;p<n.children.length;p++){var f=c.concat(p),m=n.children[p],h=ReactEditor.findKey(l,m),_=Editor.range(l,f),g=i&&Range.intersection(_,i),v=s([m,f]);for(var b of t){var y=Range.intersection(b,_);y&&v.push(y)}Element$2.isElement(m)?u.push(React__default.default.createElement(SelectedContext.Provider,{key:"provider-".concat(h.id),value:!!g},React__default.default.createElement(MemoizedElement,{decorations:v,element:m,key:h.id,renderElement:o,renderPlaceholder:r,renderLeaf:a,selection:g}))):u.push(React__default.default.createElement(MemoizedText,{decorations:v,key:h.id,isLast:d&&p===n.children.length-1,parent:n,renderPlaceholder:r,renderLeaf:a,text:m})),NODE_TO_INDEX.set(m,p),NODE_TO_PARENT.set(m,n)}return u},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$3(this,"context",null),_defineProperty$3(this,"manager",null),_defineProperty$3(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$3(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$3(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:u=n,scrollSelectionIntoView:d=defaultScrollSelectionIntoView,style:p={},as:f="div",disableDefaultStyles:m=!1}=e,h=_objectWithoutProperties(e,_excluded$1),_=useSlate(),[g,v]=React.useState(!1),b=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(_,S),IS_READ_ONLY.set(_,s);var D=React.useMemo((()=>({isDraggingInternally:!1,isUpdatingSelection:!1,latestElement:null,hasMarkPlaceholder:!1})),[]);React.useEffect((()=>{b.current&&o&&b.current.focus()}),[o]);var T=React.useRef(),O=React.useMemo((()=>throttle_1((()=>{if(IS_NODE_MAP_DIRTY.get(_))O();else{var e=ReactEditor.toDOMNode(_,_).getRootNode();if(!C.current&&IS_WEBKIT&&e instanceof ShadowRoot)return C.current=!0,getActiveElement()?document.execCommand("indent"):Transforms.deselect(_),void(C.current=!1);var t=T.current;if((IS_ANDROID||!ReactEditor.isComposing(_))&&(!D.isUpdatingSelection||null!=t&&t.isFlushing())&&!D.isDraggingInternally){var n=ReactEditor.findDocumentOrShadowRoot(_),{activeElement:o}=n,r=ReactEditor.toDOMNode(_,_),a=getSelection(n);if(o===r?(D.latestElement=o,IS_FOCUSED.set(_,!0)):IS_FOCUSED.delete(_),!a)return Transforms.deselect(_);var{anchorNode:i,focusNode:l}=a,c=ReactEditor.hasEditableTarget(_,i)||ReactEditor.isTargetInsideNonReadonlyVoid(_,i),u=ReactEditor.hasTarget(_,l);if(c&&u){var d=ReactEditor.toSlateRange(_,a,{exactMatch:!1,suppressThrow:!0});d&&(ReactEditor.isComposing(_)||null!=t&&t.hasPendingChanges()||null!=t&&t.isFlushing()?null==t||t.handleUserSelect(d):Transforms.select(_,d))}!s||c&&u||Transforms.deselect(_)}}}),100)),[_,s,D]),I=React.useMemo((()=>debounce_1(O,0)),[O]);T.current=useAndroidInputManager({node:b,onDOMSelectionChange:O,scheduleOnDOMSelectionChange:I}),useIsomorphicLayoutEffect$3((()=>{var e,t,n;b.current&&(n=getDefaultView(b.current))?(EDITOR_TO_WINDOW.set(_,n),EDITOR_TO_ELEMENT.set(_,b.current),NODE_TO_ELEMENT.set(_,b.current),ELEMENT_TO_NODE.set(b.current,_)):NODE_TO_ELEMENT.delete(_);var{selection:o}=_,r=ReactEditor.findDocumentOrShadowRoot(_),a=getSelection(r);if(a&&ReactEditor.isFocused(_)&&(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(_),c=!1;if(l.contains(n)&&l.contains(r)&&(c=!0),t&&c&&o&&!e){var u=ReactEditor.toSlateRange(_,a,{exactMatch:!0,suppressThrow:!0});if(u&&Range.equals(u,o)){var p;if(!D.hasMarkPlaceholder)return;if(null!==(p=n)&&void 0!==p&&null!==(p=p.parentElement)&&void 0!==p&&p.hasAttribute("data-slate-mark-placeholder"))return}}if(!o||ReactEditor.hasRange(_,o)){D.isUpdatingSelection=!0;var f=o&&ReactEditor.toDOMRange(_,o);return f?(ReactEditor.isComposing(_)&&!IS_ANDROID?a.collapseToEnd():Range.isBackward(o)?a.setBaseAndExtent(f.endContainer,f.endOffset,f.startContainer,f.startOffset):a.setBaseAndExtent(f.startContainer,f.startOffset,f.endContainer,f.endOffset),d(_,f)):a.removeAllRanges(),f}_.selection=ReactEditor.toSlateRange(_,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(_,_).focus(),i(e)}catch(e){}};e(),l=setTimeout((()=>{e(!0),D.isUpdatingSelection=!1}))}}));return()=>{cancelAnimationFrame(c),l&&clearTimeout(l)}}setTimeout((()=>{D.isUpdatingSelection=!1}))}}));var A=React.useCallback((e=>{var t=ReactEditor.toDOMNode(_,_).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(_,o,{exactMatch:!1,suppressThrow:!1});return Transforms.select(_,r),e.preventDefault(),void e.stopImmediatePropagation()}if(x(),!s&&ReactEditor.hasEditableTarget(_,e.target)&&!isDOMEventHandled(e,a)){var i;if(T.current)return T.current.handleDOMBeforeInput(e);I.flush(),O.flush();var{selection:l}=_,{inputType:c}=e,u=e.dataTransfer||e.data||void 0,d="insertCompositionText"===c||"deleteCompositionText"===c;if(d&&ReactEditor.isComposing(_))return;var p=!1;if("insertText"===c&&l&&Range.isCollapsed(l)&&e.data&&1===e.data.length&&/[a-z ]/i.test(e.data)&&0!==l.anchor.offset&&(p=!0,_.marks&&(p=!1),!IS_NODE_MAP_DIRTY.get(_))){var f,m,{anchor:h}=l,[g,b]=ReactEditor.toDOMPoint(_,h),E=null===(f=g.parentElement)||void 0===f?void 0:f.closest("a"),w=ReactEditor.getWindow(_);if(p&&E&&ReactEditor.hasDOMNode(_,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)===b&&(p=!1)}if(p&&g.parentElement&&"pre"===(null==w||null===(m=w.getComputedStyle(g.parentElement))||void 0===m?void 0:m.whiteSpace)){var D=Editor.above(_,{at:h.path,match:e=>Element$2.isElement(e)&&Editor.isBlock(_,e)});D&&Node$1.string(D[0]).includes("\t")&&(p=!1)}}if((!c.startsWith("delete")||c.startsWith("deleteBy"))&&!IS_NODE_MAP_DIRTY.get(_)){var[A]=e.getTargetRanges();if(A){var N=ReactEditor.toSlateRange(_,A,{exactMatch:!1,suppressThrow:!1});if(!l||!Range.equals(l,N)){p=!1;var k=!d&&_.selection&&Editor.rangeRef(_,_.selection);Transforms.select(_,N),k&&EDITOR_TO_USER_SELECTION.set(_,k)}}}if(d)return;if(p||e.preventDefault(),l&&Range.isExpanded(l)&&c.startsWith("delete")){var $=c.endsWith("Backward")?"backward":"forward";return void Editor.deleteFragment(_,{direction:$})}switch(c){case"deleteByComposition":case"deleteByCut":case"deleteByDrag":Editor.deleteFragment(_);break;case"deleteContent":case"deleteContentForward":Editor.deleteForward(_);break;case"deleteContentBackward":Editor.deleteBackward(_);break;case"deleteEntireSoftLine":Editor.deleteBackward(_,{unit:"line"}),Editor.deleteForward(_,{unit:"line"});break;case"deleteHardLineBackward":Editor.deleteBackward(_,{unit:"block"});break;case"deleteSoftLineBackward":Editor.deleteBackward(_,{unit:"line"});break;case"deleteHardLineForward":Editor.deleteForward(_,{unit:"block"});break;case"deleteSoftLineForward":Editor.deleteForward(_,{unit:"line"});break;case"deleteWordBackward":Editor.deleteBackward(_,{unit:"word"});break;case"deleteWordForward":Editor.deleteForward(_,{unit:"word"});break;case"insertLineBreak":Editor.insertSoftBreak(_);break;case"insertParagraph":Editor.insertBreak(_);break;case"insertFromComposition":case"insertFromDrop":case"insertFromPaste":case"insertFromYank":case"insertReplacementText":case"insertText":"insertFromComposition"===c&&ReactEditor.isComposing(_)&&(v(!1),IS_COMPOSING.set(_,!1)),"DataTransfer"===(null==u?void 0:u.constructor.name)?ReactEditor.insertData(_,u):"string"==typeof u&&(p?y.current.push((()=>Editor.insertText(_,u))):Editor.insertText(_,u))}var F=null===(i=EDITOR_TO_USER_SELECTION.get(_))||void 0===i?void 0:i.unref();EDITOR_TO_USER_SELECTION.delete(_),!F||_.selection&&Range.equals(_.selection,F)||Transforms.select(_,F)}}),[_,O,x,a,s,I]),N=React.useCallback((e=>{null==e?(O.cancel(),I.cancel(),EDITOR_TO_ELEMENT.delete(_),NODE_TO_ELEMENT.delete(_),b.current&&HAS_BEFORE_INPUT_SUPPORT&&b.current.removeEventListener("beforeinput",A)):HAS_BEFORE_INPUT_SUPPORT&&e.addEventListener("beforeinput",A),b.current=e,"function"==typeof t?t(e):t&&(t.current=e)}),[O,I,_,A,t]);useIsomorphicLayoutEffect$3((()=>{var e=ReactEditor.getWindow(_);e.document.addEventListener("selectionchange",I);var t=()=>{D.isDraggingInternally=!1};return e.document.addEventListener("dragend",t),e.document.addEventListener("drop",t),()=>{e.document.removeEventListener("selectionchange",I),e.document.removeEventListener("dragend",t),e.document.removeEventListener("drop",t)}}),[I,D]);var k=r([_,[]]),$=i&&1===_.children.length&&1===Array.from(Node$1.texts(_)).length&&""===Node$1.string(_)&&!g,F=React.useCallback((e=>{var t;e&&$?w(null===(t=e.getBoundingClientRect())||void 0===t?void 0:t.height):w(void 0)}),[$]);if($){var j=Editor.start(_,[]);k.push({[PLACEHOLDER_SYMBOL]:!0,placeholder:i,onPlaceholderResize:F,anchor:j,focus:j})}var{marks:P}=_;if(D.hasMarkPlaceholder=!1,_.selection&&Range.isCollapsed(_.selection)&&P){var{anchor:M}=_.selection,L=Node$1.leaf(_,M.path),B=_objectWithoutProperties(L,_excluded2);if(!Text$1.equals(L,P,{loose:!0})){D.hasMarkPlaceholder=!0;var U=Object.fromEntries(Object.keys(B).map((e=>[e,null])));k.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}=_;if(e){var{anchor:t}=e,n=Node$1.leaf(_,t.path);if(P&&!Text$1.equals(n,P,{loose:!0}))return void EDITOR_TO_PENDING_INSERTION_MARKS.set(_,P)}EDITOR_TO_PENDING_INSERTION_MARKS.delete(_)}))})),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:b,receivedUserInput:R},React__default.default.createElement(f,_objectSpread$1$3(_objectSpread$1$3({role:s?void 0:"textbox","aria-multiline":!s||void 0},h),{},{spellCheck:!(!HAS_BEFORE_INPUT_SUPPORT&&CAN_USE_DOM)&&h.spellCheck,autoCorrect:HAS_BEFORE_INPUT_SUPPORT||!CAN_USE_DOM?h.autoCorrect:"false",autoCapitalize:HAS_BEFORE_INPUT_SUPPORT||!CAN_USE_DOM?h.autoCapitalize:"false","data-slate-editor":!0,"data-slate-node":"value",contentEditable:!s,zindex:-1,suppressContentEditableWarning:!0,ref:N,style:_objectSpread$1$3(_objectSpread$1$3({},m?{}:_objectSpread$1$3({position:"relative",whiteSpace:"pre-wrap",wordWrap:"break-word"},E?{minHeight:E}:{})),p),onBeforeInput:React.useCallback((e=>{if(!HAS_BEFORE_INPUT_SUPPORT&&!s&&!isEventHandled(e,h.onBeforeInput)&&ReactEditor.hasSelectableTarget(_,e.target)&&(e.preventDefault(),!ReactEditor.isComposing(_))){var t=e.data;Editor.insertText(_,t)}}),[h.onBeforeInput,_,s]),onInput:React.useCallback((e=>{if(!isEventHandled(e,h.onInput))if(T.current)T.current.handleInput();else{for(var t of y.current)t();if(y.current=[],!ReactEditor.isFocused(_)){var n=e.nativeEvent,o=_;if("historyUndo"===n.inputType&&"function"==typeof o.undo)return void o.undo();if("historyRedo"===n.inputType&&"function"==typeof o.redo)return void o.redo()}}}),[h.onInput,_]),onBlur:React.useCallback((e=>{if(!s&&!D.isUpdatingSelection&&ReactEditor.hasSelectableTarget(_,e.target)&&!isEventHandled(e,h.onBlur)){var t=ReactEditor.findDocumentOrShadowRoot(_);if(D.latestElement!==t.activeElement){var{relatedTarget:n}=e;if(!(n===ReactEditor.toDOMNode(_,_)||isDOMElement(n)&&n.hasAttribute("data-slate-spacer"))){if(null!=n&&isDOMNode(n)&&ReactEditor.hasDOMNode(_,n)){var o=ReactEditor.toSlateNode(_,n);if(Element$2.isElement(o)&&!_.isVoid(o))return}if(IS_WEBKIT){var r=getSelection(t);null==r||r.removeAllRanges()}IS_FOCUSED.delete(_)}}}}),[s,D.isUpdatingSelection,D.latestElement,_,h.onBlur]),onClick:React.useCallback((e=>{if(ReactEditor.hasTarget(_,e.target)&&!isEventHandled(e,h.onClick)&&isDOMNode(e.target)){var t=ReactEditor.toSlateNode(_,e.target),n=ReactEditor.findPath(_,t);if(!Editor.hasPath(_,n)||Node$1.get(_,n)!==t)return;if(e.detail===TRIPLE_CLICK&&n.length>=1){var o=n;if(!Element$2.isElement(t)||!Editor.isBlock(_,t)){var r,a=Editor.above(_,{match:e=>Element$2.isElement(e)&&Editor.isBlock(_,e),at:n});o=null!==(r=null==a?void 0:a[1])&&void 0!==r?r:n.slice(0,1)}var i=Editor.range(_,o);return void Transforms.select(_,i)}if(s)return;var l=Editor.start(_,n),c=Editor.end(_,n),u=Editor.void(_,{at:l}),d=Editor.void(_,{at:c});if(u&&d&&Path.equals(u[1],d[1])){var p=Editor.range(_,l);Transforms.select(_,p)}}}),[_,h.onClick,s]),onCompositionEnd:React.useCallback((e=>{if(ReactEditor.hasSelectableTarget(_,e.target)){var t;if(ReactEditor.isComposing(_)&&Promise.resolve().then((()=>{v(!1),IS_COMPOSING.set(_,!1)})),null===(t=T.current)||void 0===t||t.handleCompositionEnd(e),isEventHandled(e,h.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(_);EDITOR_TO_PENDING_INSERTION_MARKS.delete(_),void 0!==n&&(EDITOR_TO_USER_MARKS.set(_,_.marks),_.marks=n),Editor.insertText(_,e.data);var o=EDITOR_TO_USER_MARKS.get(_);EDITOR_TO_USER_MARKS.delete(_),void 0!==o&&(_.marks=o)}}}),[h.onCompositionEnd,_]),onCompositionUpdate:React.useCallback((e=>{ReactEditor.hasSelectableTarget(_,e.target)&&!isEventHandled(e,h.onCompositionUpdate)&&(ReactEditor.isComposing(_)||(v(!0),IS_COMPOSING.set(_,!0)))}),[h.onCompositionUpdate,_]),onCompositionStart:React.useCallback((e=>{if(ReactEditor.hasSelectableTarget(_,e.target)){var t;if(null===(t=T.current)||void 0===t||t.handleCompositionStart(e),isEventHandled(e,h.onCompositionStart)||IS_ANDROID)return;v(!0);var{selection:n}=_;if(n&&Range.isExpanded(n))return void Editor.deleteFragment(_)}}),[h.onCompositionStart,_]),onCopy:React.useCallback((e=>{!ReactEditor.hasSelectableTarget(_,e.target)||isEventHandled(e,h.onCopy)||isDOMEventTargetInput(e)||(e.preventDefault(),ReactEditor.setFragmentData(_,e.clipboardData,"copy"))}),[h.onCopy,_]),onCut:React.useCallback((e=>{if(!s&&ReactEditor.hasSelectableTarget(_,e.target)&&!isEventHandled(e,h.onCut)&&!isDOMEventTargetInput(e)){e.preventDefault(),ReactEditor.setFragmentData(_,e.clipboardData,"cut");var{selection:t}=_;if(t)if(Range.isExpanded(t))Editor.deleteFragment(_);else{var n=Node$1.parent(_,t.anchor.path);Editor.isVoid(_,n)&&Transforms.delete(_)}}}),[s,_,h.onCut]),onDragOver:React.useCallback((e=>{if(ReactEditor.hasTarget(_,e.target)&&!isEventHandled(e,h.onDragOver)){var t=ReactEditor.toSlateNode(_,e.target);Element$2.isElement(t)&&Editor.isVoid(_,t)&&e.preventDefault()}}),[h.onDragOver,_]),onDragStart:React.useCallback((e=>{if(!s&&ReactEditor.hasTarget(_,e.target)&&!isEventHandled(e,h.onDragStart)){var t=ReactEditor.toSlateNode(_,e.target),n=ReactEditor.findPath(_,t);if(Element$2.isElement(t)&&Editor.isVoid(_,t)||Editor.void(_,{at:n,voids:!0})){var o=Editor.range(_,n);Transforms.select(_,o)}D.isDraggingInternally=!0,ReactEditor.setFragmentData(_,e.dataTransfer,"drag")}}),[s,_,h.onDragStart,D]),onDrop:React.useCallback((e=>{if(!s&&ReactEditor.hasTarget(_,e.target)&&!isEventHandled(e,h.onDrop)){e.preventDefault();var t=_.selection,n=ReactEditor.findEventRange(_,e),o=e.dataTransfer;Transforms.select(_,n),D.isDraggingInternally&&(!t||Range.equals(t,n)||Editor.void(_,{at:n,voids:!0})||Transforms.delete(_,{at:t})),ReactEditor.insertData(_,o),ReactEditor.isFocused(_)||ReactEditor.focus(_)}}),[s,_,h.onDrop,D]),onDragEnd:React.useCallback((e=>{!s&&D.isDraggingInternally&&h.onDragEnd&&ReactEditor.hasTarget(_,e.target)&&h.onDragEnd(e)}),[s,D,h,_]),onFocus:React.useCallback((e=>{if(!s&&!D.isUpdatingSelection&&ReactEditor.hasEditableTarget(_,e.target)&&!isEventHandled(e,h.onFocus)){var t=ReactEditor.toDOMNode(_,_),n=ReactEditor.findDocumentOrShadowRoot(_);if(D.latestElement=n.activeElement,IS_FIREFOX&&e.target!==t)return void t.focus();IS_FOCUSED.set(_,!0)}}),[s,D,_,h.onFocus]),onKeyDown:React.useCallback((e=>{if(!s&&ReactEditor.hasEditableTarget(_,e.target)){var t;null===(t=T.current)||void 0===t||t.handleKeyDown(e);var{nativeEvent:n}=e;if(ReactEditor.isComposing(_)&&!1===n.isComposing&&(IS_COMPOSING.set(_,!1),v(!1)),isEventHandled(e,h.onKeyDown)||ReactEditor.isComposing(_))return;var{selection:o}=_,r=_.children[null!==o?o.focus.path[0]:0],a="rtl"===direction_1(Node$1.string(r));if(Hotkeys.isRedo(n)){e.preventDefault();var i=_;return void("function"==typeof i.redo&&i.redo())}if(Hotkeys.isUndo(n)){e.preventDefault();var l=_;return void("function"==typeof l.undo&&l.undo())}if(Hotkeys.isMoveLineBackward(n))return e.preventDefault(),void Transforms.move(_,{unit:"line",reverse:!0});if(Hotkeys.isMoveLineForward(n))return e.preventDefault(),void Transforms.move(_,{unit:"line"});if(Hotkeys.isExtendLineBackward(n))return e.preventDefault(),void Transforms.move(_,{unit:"line",edge:"focus",reverse:!0});if(Hotkeys.isExtendLineForward(n))return e.preventDefault(),void Transforms.move(_,{unit:"line",edge:"focus"});if(Hotkeys.isMoveBackward(n))return e.preventDefault(),void(o&&Range.isCollapsed(o)?Transforms.move(_,{reverse:!a}):Transforms.collapse(_,{edge:a?"end":"start"}));if(Hotkeys.isMoveForward(n))return e.preventDefault(),void(o&&Range.isCollapsed(o)?Transforms.move(_,{reverse:a}):Transforms.collapse(_,{edge:a?"start":"end"}));if(Hotkeys.isMoveWordBackward(n))return e.preventDefault(),o&&Range.isExpanded(o)&&Transforms.collapse(_,{edge:"focus"}),void Transforms.move(_,{unit:"word",reverse:!a});if(Hotkeys.isMoveWordForward(n))return e.preventDefault(),o&&Range.isExpanded(o)&&Transforms.collapse(_,{edge:"focus"}),void Transforms.move(_,{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(_,o.anchor.path);if(Element$2.isElement(c)&&Editor.isVoid(_,c)&&(Editor.isInline(_,c)||Editor.isBlock(_,c)))return e.preventDefault(),void Editor.deleteBackward(_,{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(_);if(Hotkeys.isSplitBlock(n))return e.preventDefault(),void Editor.insertBreak(_);if(Hotkeys.isDeleteBackward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(_,{direction:"backward"}):Editor.deleteBackward(_));if(Hotkeys.isDeleteForward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(_,{direction:"forward"}):Editor.deleteForward(_));if(Hotkeys.isDeleteLineBackward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(_,{direction:"backward"}):Editor.deleteBackward(_,{unit:"line"}));if(Hotkeys.isDeleteLineForward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(_,{direction:"forward"}):Editor.deleteForward(_,{unit:"line"}));if(Hotkeys.isDeleteWordBackward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(_,{direction:"backward"}):Editor.deleteBackward(_,{unit:"word"}));if(Hotkeys.isDeleteWordForward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(_,{direction:"forward"}):Editor.deleteForward(_,{unit:"word"}))}}}),[s,_,h.onKeyDown]),onPaste:React.useCallback((e=>{s||!ReactEditor.hasEditableTarget(_,e.target)||isEventHandled(e,h.onPaste)||(!HAS_BEFORE_INPUT_SUPPORT||isPlainTextOnlyPaste(e.nativeEvent)||IS_WEBKIT)&&(e.preventDefault(),ReactEditor.insertData(_,e.clipboardData))}),[s,_,h.onPaste])}),React__default.default.createElement(Children,{decorations:k,node:_,renderElement:l,renderPlaceholder:u,renderLeaf:c,selection:_.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:u,onChange:d}=useSelectorContext(t),p=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}))),d(t)}),[t,d,o,r,a]);React.useEffect((()=>(EDITOR_TO_ON_CHANGE.set(t,p),()=>{EDITOR_TO_ON_CHANGE.set(t,(()=>{}))})),[t,p]);var[f,m]=React.useState(ReactEditor.isFocused(t));return React.useEffect((()=>{m(ReactEditor.isFocused(t))}),[t]),useIsomorphicLayoutEffect$3((()=>{var e=()=>m(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:u},React__default.default.createElement(SlateContext.Provider,{value:l},React__default.default.createElement(EditorContext.Provider,{value:l.editor},React__default.default.createElement(FocusedContext.Provider,{value:f},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$3(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 u=Point.isPoint(null==c?void 0:c.at)?transformPendingPoint(n,c.at,t):transformPendingRange(n,c.at,t);EDITOR_TO_PENDING_ACTION.set(n,u?_objectSpread$9(_objectSpread$9({},c),{},{at:u}):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 d;null===(d=EDITOR_TO_USER_SELECTION.get(n))||void 0===d||d.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 p=Path.previous(t.path);r.push(...getMatches(n,p));break;case"move_node":var f,m=Path.common(Path.parent(t.path),Path.parent(t.newPath));r.push(...getMatches(n,m)),Path.isBefore(t.path,t.newPath)?(r.push(...getMatches(n,Path.parent(t.path))),f=t.newPath):(r.push(...getMatches(n,Path.parent(t.newPath))),f=t.path);var h=Node$1.get(e,Path.parent(f)),_=ReactEditor.findKey(n,h),g=Editor.pathRef(n,Path.parent(f));a.push([g,_])}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[v,b]of r){var[y]=Editor.node(n,v);NODE_TO_KEY.set(y,b)}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(),u=c.childNodes[0];if(c.childNodes.forEach((e=>{e.textContent&&""!==e.textContent.trim()&&(u=e)})),s){var[d]=s,p=l.cloneRange(),f=ReactEditor.toDOMNode(n,d);p.setEndAfter(f),c=p.cloneContents()}if(i&&(u=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(u)){var m=u.ownerDocument.createElement("span");m.style.whiteSpace="pre",m.appendChild(u),c.appendChild(m),u=m}var h=n.getFragment(),_=JSON.stringify(h),g=window.btoa(encodeURIComponent(_));u.setAttribute("data-slate-fragment",g),e.setData("application/".concat(t),g);var v=c.ownerDocument.createElement("div");return v.appendChild(c),v.setAttribute("hidden","true"),c.ownerDocument.body.appendChild(v),e.setData("text/html",v.innerHTML),e.setData("text/plain",getPlainText(v)),c.ownerDocument.body.removeChild(v),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],u=o<i.length&&c?isSeparator(c):isNextNodeValid(e,a);return l&&u}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);Transforms.wrapNodes(e,{type:"auto-link",url:t,children:[]},{at:{anchor:{path:o,offset:0},focus:{path:o,offset:t.length}},split:!0})}else 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$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$2(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$2(e){var t=_toPrimitive$2(e,"string");return"symbol"===_typeof$2(t)?t:String(t)}function _defineProperty$2(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}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$2(this,"offset",void 0),_defineProperty$2(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$2(this,"offset",void 0),_defineProperty$2(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$2(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[u,d]of(Object.assign(c,n),c.children=s,Node$1.texts(c))){var p=getAnchorOffset(u),f=getFocusOffset(u);if(null!=p){var[m]=p;l.anchor={path:d,offset:m}}if(null!=f){var[h]=f;l.focus={path:d,offset:h}}}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$2(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:"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$1=Math.min,max$1=Math.max,round$1=Math.round,floor$1=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$1(e,min$1(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"}function getSideAxis(e){return["top","bottom"].includes(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]))}function getSideList(e,t,n){const o=["left","right"],r=["right","left"],a=["top","bottom"],i=["bottom","top"];switch(e){case"top":case"bottom":return n?t?r:o:t?o:r;case"left":case"right":return t?a:i;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,u=o.x+o.width/2-r.width/2,d=o.y+o.height/2-r.height/2,p=o[s]/2-r[s]/2;let f;switch(l){case"top":f={x:u,y:o.y-r.height};break;case"bottom":f={x:u,y:o.y+o.height};break;case"right":f={x:o.x+o.width,y:d};break;case"left":f={x:o.x-r.width,y:d};break;default:f={x:o.x,y:o.y}}switch(getAlignment(t)){case"start":f[i]-=p*(n&&c?-1:1);break;case"end":f[i]+=p*(n&&c?-1:1)}return f}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:u,y:d}=computeCoordsFromPlacement(c,o,l),p=o,f={},m=0;for(let n=0;n<s.length;n++){const{name:a,fn:h}=s[n],{x:_,y:g,data:v,reset:b}=await h({x:u,y:d,initialPlacement:o,placement:p,strategy:r,middlewareData:f,rects:c,platform:i,elements:{reference:e,floating:t}});u=null!=_?_:u,d=null!=g?g:d,f={...f,[a]:{...f[a],...v}},b&&m<=50&&(m++,"object"==typeof b&&(b.placement&&(p=b.placement),b.rects&&(c=!0===b.rects?await i.getElementRects({reference:e,floating:t,strategy:r}):b.rects),({x:u,y:d}=computeCoordsFromPlacement(c,p,l))),n=-1)}return{x:u,y:d,placement:p,strategy:r,middlewareData:f}};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:u="viewport",elementContext:d="floating",altBoundary:p=!1,padding:f=0}=evaluate(t,e),m=getPaddingObject(f),h=s[p?"floating"===d?"reference":"floating":d],_=rectToClientRect(await a.getClippingRect({element:null==(n=await(null==a.isElement?void 0:a.isElement(h)))||n?h:h.contextElement||await(null==a.getDocumentElement?void 0:a.getDocumentElement(s.floating)),boundary:c,rootBoundary:u,strategy:l})),g="floating"===d?{x:o,y:r,width:i.floating.width,height:i.floating.height}:i.reference,v=await(null==a.getOffsetParent?void 0:a.getOffsetParent(s.floating)),b=await(null==a.isElement?void 0:a.isElement(v))&&await(null==a.getScale?void 0:a.getScale(v))||{x:1,y:1},y=rectToClientRect(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:g,offsetParent:v,strategy:l}):g);return{top:(_.top-y.top+m.top)/b.y,bottom:(y.bottom-_.bottom+m.bottom)/b.y,left:(_.left-y.left+m.left)/b.x,right:(y.right-_.right+m.right)/b.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:u=0}=evaluate(e,t)||{};if(null==c)return{};const d=getPaddingObject(u),p={x:n,y:o},f=getAlignmentAxis(r),m=getAxisLength(f),h=await i.getDimensions(c),_="y"===f,g=_?"top":"left",v=_?"bottom":"right",b=_?"clientHeight":"clientWidth",y=a.reference[m]+a.reference[f]-p[f]-a.floating[m],E=p[f]-a.reference[f],w=await(null==i.getOffsetParent?void 0:i.getOffsetParent(c));let C=w?w[b]:0;C&&await(null==i.isElement?void 0:i.isElement(w))||(C=s.floating[b]||a.floating[m]);const x=y/2-E/2,R=C/2-h[m]/2-1,S=min$1(d[g],R),D=min$1(d[v],R),T=S,O=C-h[m]-D,I=C/2-h[m]/2+x,A=clamp(T,I,O),N=!l.arrow&&null!=getAlignment(r)&&I!==A&&a.reference[m]/2-(I<T?S:D)-h[m]/2<0,k=N?I<T?I-T:I-O:0;return{[f]:p[f]+k,data:{[f]:A,centerOffset:I-A-k,...N&&{alignmentOffset:k}},reset:N}}});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:u=!1,alignment:d,allowedPlacements:p=placements,autoAlignment:f=!0,...m}=evaluate(e,t),h=void 0!==d||p===placements?getPlacementList(d||null,f,p):p,_=await detectOverflow(t,m),g=(null==(n=i.autoPlacement)?void 0:n.index)||0,v=h[g];if(null==v)return{};const b=getAlignmentSides(v,a,await(null==l.isRTL?void 0:l.isRTL(c.floating)));if(s!==v)return{reset:{placement:h[0]}};const y=[_[getSide(v)],_[b[0]],_[b[1]]],E=[...(null==(o=i.autoPlacement)?void 0:o.overflows)||[],{placement:v,overflows:y}],w=h[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&&u?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:u=!0,crossAxis:d=!0,fallbackPlacements:p,fallbackStrategy:f="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:h=!0,..._}=evaluate(e,t);if(null!=(n=a.arrow)&&n.alignmentOffset)return{};const g=getSide(r),v=getSideAxis(s),b=getSide(s)===s,y=await(null==l.isRTL?void 0:l.isRTL(c.floating)),E=p||(b||!h?[getOppositePlacement(s)]:getExpandedPlacements(s)),w="none"!==m;!p&&w&&E.push(...getOppositeAxisPlacements(s,h,m,y));const C=[s,...E],x=await detectOverflow(t,_),R=[];let S=(null==(o=a.flip)?void 0:o.overflows)||[];if(u&&R.push(x[g]),d){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)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(f){case"bestFit":{var O;const e=null==(O=S.filter((e=>{if(w){const t=getSideAxis(e.placement);return t===v||"y"===t}return!0})).map((e=>[e.placement,e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)])).sort(((e,t)=>e[1]-t[1]))[0])?void 0:O[0];e&&(n=e);break}case"initialPlacement":n=s}if(r!==n)return{reset:{placement:n}}}return{}}}};function getSideOffsets(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function isAnySideFullyClipped(e){return sides.some((t=>e[t]>=0))}const hide$2=function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:o="referenceHidden",...r}=evaluate(e,t);switch(o){case"referenceHidden":{const e=getSideOffsets(await detectOverflow(t,{...r,elementContext:"reference"}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:isAnySideFullyClipped(e)}}}case"escaped":{const e=getSideOffsets(await detectOverflow(t,{...r,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:isAnySideFullyClipped(e)}}}default:return{}}}}};function getBoundingRect(e){const t=min$1(...e.map((e=>e.left))),n=min$1(...e.map((e=>e.top)));return{x:t,y:n,width:max$1(...e.map((e=>e.right)))-t,height:max$1(...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),u=Array.from(await(null==a.getClientRects?void 0:a.getClientRects(o.reference))||[]),d=getRectsByLine(u),p=rectToClientRect(getBoundingRect(u)),f=getPaddingObject(s);const m=await a.getElementRects({reference:{getBoundingClientRect:function(){if(2===d.length&&d[0].left>d[1].right&&null!=l&&null!=c)return d.find((e=>l>e.left-f.left&&l<e.right+f.right&&c>e.top-f.top&&c<e.bottom+f.bottom))||p;if(d.length>=2){if("y"===getSideAxis(n)){const e=d[0],t=d[d.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$1(...d.map((e=>e.right))),o=min$1(...d.map((e=>e.left))),r=d.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 p}},floating:o.floating,strategy:i});return r.reference.x!==m.reference.x||r.reference.y!==m.reference.y||r.reference.width!==m.reference.width||r.reference.height!==m.reference.height?{reset:{rects:m}}:{}}}};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=["left","top"].includes(i)?-1:1,u=a&&l?-1:1,d=evaluate(t,e);let{mainAxis:p,crossAxis:f,alignmentAxis:m}="number"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&"number"==typeof m&&(f="end"===s?-1*m:m),l?{x:f*u,y:p*c}:{x:p*c,y:f*u}}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},u=await detectOverflow(t,l),d=getSideAxis(getSide(r)),p=getOppositeAxis(d);let f=c[p],m=c[d];if(a){const e="y"===p?"bottom":"right";f=clamp(f+u["y"===p?"top":"left"],f,f-u[e])}if(i){const e="y"===d?"bottom":"right";m=clamp(m+u["y"===d?"top":"left"],m,m-u[e])}const h=s.fn({...t,[p]:f,[d]:m});return{...h,data:{x:h.x-n,y:h.y-o,enabled:{[p]:a,[d]: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),u={x:n,y:o},d=getSideAxis(r),p=getOppositeAxis(d);let f=u[p],m=u[d];const h=evaluate(s,t),_="number"==typeof h?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(l){const e="y"===p?"height":"width",t=a.reference[p]-a.floating[e]+_.mainAxis,n=a.reference[p]+a.reference[e]-_.mainAxis;f<t?f=t:f>n&&(f=n)}if(c){var g,v;const e="y"===p?"width":"height",t=["top","left"].includes(getSide(r)),n=a.reference[d]-a.floating[e]+(t&&(null==(g=i.offset)?void 0:g[d])||0)+(t?0:_.crossAxis),o=a.reference[d]+a.reference[e]+(t?0:(null==(v=i.offset)?void 0:v[d])||0)-(t?_.crossAxis:0);m<n?m=n:m>o&&(m=o)}return{[p]:f,[d]:m}}}},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),u=await detectOverflow(t,c),d=getSide(r),p=getAlignment(r),f="y"===getSideAxis(r),{width:m,height:h}=a.floating;let _,g;"top"===d||"bottom"===d?(_=d,g=p===(await(null==i.isRTL?void 0:i.isRTL(s.floating))?"start":"end")?"left":"right"):(g=d,_="end"===p?"top":"bottom");const v=h-u.top-u.bottom,b=m-u.left-u.right,y=min$1(h-u[_],v),E=min$1(m-u[g],b),w=!t.middlewareData.shift;let C=y,x=E;if(null!=(n=t.middlewareData.shift)&&n.enabled.x&&(x=b),null!=(o=t.middlewareData.shift)&&o.enabled.y&&(C=v),w&&!p){const e=max$1(u.left,0),t=max$1(u.right,0),n=max$1(u.top,0),o=max$1(u.bottom,0);f?x=m-2*(0!==e||0!==t?e+t:max$1(u.left,u.right)):C=h-2*(0!==n||0!==o?n+o:max$1(u.top,u.bottom))}await l({...t,availableWidth:x,availableHeight:C});const R=await i.getDimensions(s.floating);return m!==R.width||h!==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)}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)&&!["inline","contents"].includes(r)}function isTableElement(e){return["table","td","th"].includes(getNodeName(e))}function isTopLayer(e){return[":popover-open",":modal"].some((t=>{try{return e.matches(t)}catch(e){return!1}}))}function isContainingBlock(e){const t=isWebKit(),n=isElement(e)?getComputedStyle$1(e):e;return"none"!==n.transform||"none"!==n.perspective||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||["transform","perspective","filter"].some((e=>(n.willChange||"").includes(e)))||["paint","layout","strict","content"].some((e=>(n.contain||"").includes(e)))}function 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")}function isLastTraversableNode(e){return["html","body","#document"].includes(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$1(n)!==a||round$1(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$1(n.width):n.width)/o,s=(a?round$1(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,u=r.width/i.x,d=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,u*=e.x,d*=e.y,l+=a,c+=i,n=getWindow(r),r=getFrameElement(n)}}return rectToClientRect({width:u,height:d,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,n){void 0===n&&(n=!1);const o=e.getBoundingClientRect();return{x:o.left+t.scrollLeft-(n?0:getWindowScrollBarX(e,o)),y:o.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 u=createCoords(0),d=isHTMLElement(o);if((d||!d&&!a)&&(("body"!==getNodeName(o)||isOverflowElement(i))&&(l=getNodeScroll(o)),isHTMLElement(o))){const e=getBoundingClientRect(o);c=getScale(o),u.x=e.x+o.clientLeft,u.y=e.y+o.clientTop}const p=!i||d||a?createCoords(0):getHTMLOffset(i,l,!0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-l.scrollLeft*c.x+u.x+p.x,y:n.y*c.y-l.scrollTop*c.y+u.y+p.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$1(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),a=max$1(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$1(t.clientWidth,o.clientWidth)-r),{width:r,height:a,x:i,y:s}}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)}return{width:a,height:i,x:s,y:l}}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&&["absolute","fixed"].includes(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$1(o.top,e.top),e.right=min$1(o.right,e.right),e.bottom=min$1(o.bottom,e.bottom),e.left=max$1(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);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&&(l.x=getWindowScrollBarX(r));const c=!r||o||a?createCoords(0):getHTMLOffset(r,s);return{x:i.left+s.scrollLeft-l.x-c.x,y:i.top+s.scrollTop-l.y-c.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 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{left:c,top:u,width:d,height:p}=e.getBoundingClientRect();if(s||t(),!d||!p)return;const f={rootMargin:-floor$1(u)+"px "+-floor$1(r.clientWidth-(c+d))+"px "+-floor$1(r.clientHeight-(u+p))+"px "+-floor$1(c)+"px",threshold:max$1(0,min$1(1,l))||1};let m=!0;function h(e){const t=e[0].intersectionRatio;if(t!==l){if(!m)return i();t?i(!1,t):n=setTimeout((()=>{i(!1,1e-7)}),1e3)}m=!1}try{o=new IntersectionObserver(h,{...f,root:r.ownerDocument})}catch(e){o=new IntersectionObserver(h,f)}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),u=r||a?[...c?getOverflowAncestors(c):[],...getOverflowAncestors(t)]:[];u.forEach((e=>{r&&e.addEventListener("scroll",n,{passive:!0}),a&&e.addEventListener("resize",n)}));const d=c&&s?observeMove(c,n):null;let p,f=-1,m=null;i&&(m=new ResizeObserver((e=>{let[o]=e;o&&o.target===c&&m&&(m.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame((()=>{var e;null==(e=m)||e.observe(t)}))),n()})),c&&!l&&m.observe(c),m.observe(t));let h=l?getBoundingClientRect(e):null;return l&&function t(){const o=getBoundingClientRect(e);!h||o.x===h.x&&o.y===h.y&&o.width===h.width&&o.height===h.height||n();h=o,p=requestAnimationFrame(t)}(),n(),()=>{var e;u.forEach((e=>{r&&e.removeEventListener("scroll",n),a&&e.removeEventListener("resize",n)})),null==d||d(),null==(e=m)||e.disconnect(),m=null,l&&cancelAnimationFrame(p)}}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 index="undefined"!=typeof document?React.useLayoutEffect:React.useEffect;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,[u,d]=React__namespace.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,f]=React__namespace.useState(o);deepEqual(p,o)||f(o);const[m,h]=React__namespace.useState(null),[_,g]=React__namespace.useState(null),v=React__namespace.useCallback((e=>{e!==w.current&&(w.current=e,h(e))}),[]),b=React__namespace.useCallback((e=>{e!==C.current&&(C.current=e,g(e))}),[]),y=a||m,E=i||_,w=React__namespace.useRef(null),C=React__namespace.useRef(null),x=React__namespace.useRef(u),R=null!=l,S=useLatestRef(l),D=useLatestRef(r),T=useLatestRef(c),O=React__namespace.useCallback((()=>{if(!w.current||!C.current)return;const e={placement:t,strategy:n,middleware:p};D.current&&(e.platform=D.current),computePosition(w.current,C.current,e).then((e=>{const t={...e,isPositioned:!1!==T.current};I.current&&!deepEqual(x.current,t)&&(x.current=t,ReactDOM__namespace.flushSync((()=>{d(t)})))}))}),[p,t,n,D,T]);index((()=>{!1===c&&x.current.isPositioned&&(x.current.isPositioned=!1,d((e=>({...e,isPositioned:!1}))))}),[c]);const I=React__namespace.useRef(!1);index((()=>(I.current=!0,()=>{I.current=!1})),[]),index((()=>{if(y&&(w.current=y),E&&(C.current=E),y&&E){if(S.current)return S.current(y,E,O);O()}}),[y,E,O,S,R]);const A=React__namespace.useMemo((()=>({reference:w,floating:C,setReference:v,setFloating:b})),[v,b]),N=React__namespace.useMemo((()=>({reference:y,floating:E})),[y,E]),k=React__namespace.useMemo((()=>{const e={position:n,left:0,top:0};if(!N.floating)return e;const t=roundByDPR(N.floating,u.x),o=roundByDPR(N.floating,u.y);return s?{...e,transform:"translate("+t+"px, "+o+"px)",...getDPR(N.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:o}}),[n,s,N.floating,u.x,u.y]);return React__namespace.useMemo((()=>({...u,update:O,refs:A,elements:N,floatingStyles:k})),[u,O,A,N,k])}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),u=useLatest(l);return[l,{onDragEnter:React.useCallback((t=>{if(e?.(t),u.current||i||t.isDefaultPrevented())return;t.dataTransfer.types.includes("Files")&&(t.preventDefault(),t.stopPropagation(),c(!0))}),[e,i]),onDragLeave:React.useCallback((e=>{t?.(e),!u.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),!u.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:u}){const d=useSlateStatic(),{onEditorChange:p}=useComposerEditorContext(),{isFocused:f}=useComposer(),{portalContainer:m}=useLiveblocksUIConfig(),[h,_]=useContentZIndex(),g=f&&void 0!==a?.range&&void 0!==n,{refs:{setReference:v,setFloating:b},strategy:y,isPositioned:E,placement:w,x:C,y:x}=useFloatingWithOptions({position:l,dir:c,alignment:"start",open:g});return useObservable(p,(()=>{i(getMentionDraftAtSelection(d))})),React.useLayoutEffect((()=>{if(!a)return void v(null);const e=getDOMRange(d,a.range);v(e??null)}),[v,d,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:h},children:jsxRuntime.exports.jsx(Portal$4,{ref:b,container:m,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:_},children:jsxRuntime.exports.jsx(u,{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(),[u,d]=useContentZIndex(),[p,f]=React.useState(!1),m=l&&!p&&r,{refs:{setReference:h,setFloating:_},strategy:g,isPositioned:v,placement:b,x:y,y:E}=useFloatingWithOptions({type:"range",position:t,dir:n,alignment:"center",open:m});return React.useLayoutEffect((()=>{if(!l)return;const e=()=>f(!0),t=()=>f(!1);return document.addEventListener("pointerdown",e),document.addEventListener("pointerup",t),()=>{document.removeEventListener("pointerdown",e),document.removeEventListener("pointerup",t)}}),[l]),useObservable(s,(()=>{h(null),requestAnimationFrame((()=>{const e=window.getSelection();if(i.selection&&!Range.isCollapsed(i.selection)&&e&&e.rangeCount){a(!0);const t=e.getRangeAt(0);h(t)}else a(!1),h(null)}))})),jsxRuntime.exports.jsx(Persist,{children:m?jsxRuntime.exports.jsx(ComposerFloatingToolbarContext.Provider,{value:{id:e,placement:b,dir:n,ref:u},children:jsxRuntime.exports.jsx(Portal$4,{ref:_,container:c,style:{position:g,top:0,left:0,transform:v?`translate3d(${Math.round(y)}px, ${Math.round(E)}px, 0)`:"translate3d(0, -200%, 0)",minWidth:"max-content",zIndex:d},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:u,dir:d}=useComposerFloatingToolbarContext(COMPOSER_FLOATING_TOOLBAR_NAME),p=useRefs(a,c,s),[f,m]=React.useMemo((()=>getSideAndAlignFromFloatingPlacement(u)),[u]),h=o?Slot:"div";useAnimationPersist(s);const _=React.useCallback((e=>{t?.(e),e.preventDefault(),e.stopPropagation()}),[t]);return jsxRuntime.exports.jsx(h,{dir:d,role:"toolbar",id:l,"aria-label":"Floating toolbar",...r,onPointerDown:_,"data-state":i?"open":"closed","data-side":f,"data-align":m,style:{display:"flex",flexDirection:"row",maxWidth:"var(--lb-composer-floating-available-width)",overflowX:"auto",...n},ref:p,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:"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:"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),u=useRefs(r,s,i),[d,p]=React.useMemo((()=>getSideAndAlignFromFloatingPlacement(l)),[l]),f=n?Slot:"div";return useAnimationPersist(i),jsxRuntime.exports.jsx(f,{dir:c,...o,"data-state":a?"open":"closed","data-side":d,"data-align":p,style:{display:"flex",flexDirection:"column",maxHeight:"var(--lb-composer-floating-available-height)",overflowY:"auto",...t},ref:u,children:e})})),ComposerSuggestionsList=React.forwardRef((({children:e,asChild:t,...n},o)=>{const{id:r}=useComposerSuggestionsContext(COMPOSER_SUGGESTIONS_LIST_NAME),a=t?Slot:"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:u,setSelectedValue:d,itemId:p,onItemSelect:f}=useComposerSuggestionsContext(COMPOSER_SUGGESTIONS_LIST_ITEM_NAME),m=a?Slot:"li",h=React.useMemo((()=>u===e),[u,e]),_=React.useMemo((()=>p(e)),[p,e]);React.useEffect((()=>{l?.current&&h&&l.current.scrollIntoView({block:"nearest"})}),[h]);const g=React.useCallback((t=>{n?.(t),t.isDefaultPrevented()||d(e)}),[n,d,e]),v=React.useCallback((e=>{o?.(e),e.preventDefault(),e.stopPropagation()}),[o]),b=React.useCallback((t=>{r?.(t);const n=t.isDefaultPrevented();t.preventDefault(),t.stopPropagation(),n||f(e)}),[r,f,e]);return jsxRuntime.exports.jsx(m,{role:"option",id:_,"data-selected":h||void 0,"aria-selected":h||void 0,onPointerMove:g,onPointerDown:v,onClick:b,...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 u=useClientOrNull(),{editor:d,validate:p,setFocused:f,onEditorChange:m,roomId:h}=useComposerEditorContext(),{submit:_,focus:g,blur:v,select:b,canSubmit:y,isDisabled:E,isFocused:w}=useComposer(),C=E||r,x=useInitial(e??emptyCommentBody),R=React.useMemo((()=>commentBodyToComposerBody(x)),[x]),{Link:S,Mention:D,MentionSuggestions:T,FloatingToolbar:O}=React.useMemo((()=>({...defaultEditorComponents,...i})),[i]),[I,A]=React.useState(!1),N=useResolveMentionSuggestions(),k=!u||N,[$,F]=React.useState(),j=useMentionSuggestions(h,$?.text),[P,M,L,B]=useIndex(0,j?.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]),K=React.useCallback((e=>jsxRuntime.exports.jsx(ComposerEditorElement,{Mention:D,Link:S,...e})),[S,D]),W=React.useCallback((e=>{p(e),m.notify()}),[p,m]),q=React.useCallback((e=>{$&&e&&(Transforms.select(d,$.range),insertMention(d,e),F(void 0),B(0))}),[d,$,B]),G=React.useCallback((e=>{if(t?.(e),!e.isDefaultPrevented())if(isKey(e,"ArrowLeft")&&leaveMarkEdge(d,"start"),isKey(e,"ArrowRight")&&leaveMarkEdge(d,"end"),$&&j?.length){if(isKey(e,"ArrowDown")&&(e.preventDefault(),L()),isKey(e,"ArrowUp")&&(e.preventDefault(),M()),isKey(e,"Enter")||isKey(e,"Tab")){e.preventDefault();const t=j?.[P];q(t)}isKey(e,"Escape")&&(e.preventDefault(),F(void 0),B(0))}else I&&isKey(e,"Escape")&&(e.preventDefault(),A(!1)),isKey(e,"Escape")&&(e.preventDefault(),v()),isKey(e,"Enter",{shift:!1})&&(e.preventDefault(),y&&_()),isKey(e,"Enter",{shift:!0})&&(e.preventDefault(),d.insertBreak()),isKey(e,"b",{mod:!0})&&(e.preventDefault(),toggleMark(d,"bold")),isKey(e,"i",{mod:!0})&&(e.preventDefault(),toggleMark(d,"italic")),isKey(e,"s",{mod:!0,shift:!0})&&(e.preventDefault(),toggleMark(d,"strikethrough")),isKey(e,"e",{mod:!0})&&(e.preventDefault(),toggleMark(d,"code"))}),[t,$,j,I,d,L,M,P,q,B,v,y,_]),Y=React.useCallback((e=>{n?.(e),e.isDefaultPrevented()||f(!0)}),[n,f]),J=React.useCallback((e=>{o?.(e),e.isDefaultPrevented()||f(!1)}),[o,f]),X=React.useMemo((()=>j?.[P]),[P,j]),Z=React.useCallback((e=>{const t=j?.indexOf(e);void 0!==t&&t>=0&&B(t)}),[B,j]),Q=React.useMemo((()=>$?{role:"combobox","aria-autocomplete":"list","aria-expanded":!0,"aria-controls":H,"aria-activedescendant":z(X)}:I?{"aria-haspopup":!0,"aria-controls":V}:{}),[$,H,z,X,I,V]);return React.useImperativeHandle(c,(()=>ReactEditor.toDOMNode(d,d)),[d]),React.useLayoutEffect((()=>{a&&g()}),[a,d,g]),React.useLayoutEffect((()=>{w&&null===d.selection&&b()}),[d,b,w]),jsxRuntime.exports.jsxs(Slate,{editor:d,initialValue:R,onChange:W,children:[jsxRuntime.exports.jsx(Editable,{dir:s,enterKeyHint:$?"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:K,renderLeaf:ComposerEditorLeaf,renderPlaceholder:ComposerEditorPlaceholder}),k&&jsxRuntime.exports.jsx(ComposerEditorMentionSuggestionsWrapper,{dir:s,mentionDraft:$,setMentionDraft:F,selectedUserId:X,setSelectedUserId:Z,userIds:j,id:H,itemId:z,onItemSelect:q,MentionSuggestions:T}),O&&jsxRuntime.exports.jsx(ComposerEditorFloatingToolbarWrapper,{dir:s,id:V,hasFloatingToolbarRange:I,setHasFloatingToolbarRange:A,FloatingToolbar:O})]})})),MAX_ATTACHMENTS=10,MAX_ATTACHMENT_SIZE=1073741824;function prepareAttachment(e){return{type:"localAttachment",status:"idle",id:createCommentAttachmentId(),name:e.name,size:e.size,mimeType:e.type,file:e}}const ComposerForm=React.forwardRef((({children:e,onSubmit:t,onComposerSubmit:n,defaultAttachments:o=[],pasteFilesAsAttachments:r,preventUnsavedChanges:a=!0,disabled:i,asChild:s,roomId:l,...c},u)=>{const d=s?Slot:"form",[p,f]=React.useState(!0),[m,h]=React.useState(!1),[_,g]=React.useState(!1),v=useRoomOrNull(),b=void 0!==l?l:v?.id;if(void 0===b)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:b}),D=w.length,T=D>=y,O=React.useMemo((()=>m||!0===i),[m,i]),I=React.useMemo((()=>!p&&!C),[p,C]),[A,N]=React.useState(getMarks),k=React.useRef(null),$=useRefs(u,k),F=React.useRef(null),j=useSyncSource(),P=!!a&&(!p||C||w.length>0);React.useEffect((()=>{j?.setSyncStatus(P?"has-local-changes":"synchronized")}),[j,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]),L=React.useRef(M);React.useEffect((()=>{L.current=M}),[M]);const B=React.useCallback((e=>{L.current(e)}),[]),U=useInitial((()=>createComposerEditor({createAttachments:B,pasteFilesAsAttachments:r}))),V=useInitial(makeEventSource),H=React.useCallback((e=>{f(isEmpty(U,e))}),[U]),z=React.useCallback((()=>{I&&requestAnimationFrame((()=>{k.current&&requestSubmit(k.current)}))}),[I]),K=React.useCallback((()=>{Transforms.delete(U,{at:{anchor:Editor.start(U,[]),focus:Editor.end(U,[])}})}),[U]),W=React.useCallback((()=>{Transforms.select(U,Editor.end(U,[]))}),[U]),q=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||(q(),insertMentionCharacter(U))}),[i,U,q]),J=React.useCallback((e=>{i||(q(!1),insertText(U,e))}),[i,U,q]),X=React.useCallback((()=>{i||F.current&&F.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((()=>{K(),G(),S(),h(!1)}),[G,K,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?(h(!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,(()=>{N(getMarks(U))})),jsxRuntime.exports.jsx(ComposerEditorContext.Provider,{value:{editor:U,validate:H,setFocused:g,onEditorChange:V,roomId:b},children:jsxRuntime.exports.jsx(ComposerAttachmentsContext.Provider,{value:{createAttachments:M,isUploadingAttachments:C,hasMaxAttachments:T,maxAttachments:y,maxAttachmentSize:E},children:jsxRuntime.exports.jsx(ComposerContext.Provider,{value:{isDisabled:O,isFocused:_,isEmpty:p,canSubmit:I,submit:z,clear:K,select:W,focus:q,blur:G,createMention:Y,insertText:J,attachments:w,attachFiles:X,removeAttachment:R,toggleMark:ne,marks:A},children:jsxRuntime.exports.jsxs(d,{...c,onSubmit:ee,ref:$,children:[jsxRuntime.exports.jsx("input",{type:"file",multiple:!0,ref:F,onChange:Z,onClick:te,tabIndex:-1,style:{display:"none"}}),jsxRuntime.exports.jsx(Slottable,{children:e})]})})})})})),ComposerSubmit=React.forwardRef((({children:e,disabled:t,asChild:n,...o},r)=>{const a=n?Slot:"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:"button",{hasMaxAttachments:s}=useComposerAttachmentsContext(),{isDisabled:l,attachFiles:c}=useComposer(),u=l||s||n,d=React.useCallback((e=>{t?.(e),e.isDefaultPrevented()||c()}),[c,t]);return jsxRuntime.exports.jsx(i,{type:"button",...r,onClick:d,ref:a,disabled:u,children:e})}));React.forwardRef((({onDragEnter:e,onDragLeave:t,onDragOver:n,onDrop:o,disabled:r,asChild:a,...i},s)=>{const l=a?Slot:"div",{isDisabled:c}=useComposer(),u=c||r,[,d]=useComposerAttachmentsDropArea({onDragEnter:e,onDragLeave:t,onDragOver:n,onDrop:o,disabled:u});return jsxRuntime.exports.jsx(l,{...d,"data-disabled":u?"":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:"button",{marks:l,toggleMark:c}=useComposer(),u=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:u,...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:"time",[u,d]=useRerender(),p=React.useMemo((()=>new Date(e)),[e]),f=React.useMemo((()=>p.toISOString()),[p]),m=React.useMemo((()=>"function"==typeof o?o(p,t):o),[o,p,d]),h=React.useMemo((()=>"function"==typeof n?n(p,t):n),[n,p,d]);return useInterval(u,a),jsxRuntime.exports.jsx(c,{...s,ref:l,dateTime:r??f,title:m,children:h})}));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$1(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$1,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 PUBLISH=0,SUBSCRIBE=1,RESET=2,VALUE=4;function compose(e,t){return n=>e(t(n))}function thrush(e,t){return t(e)}function curry2to1(e,t){return n=>e(t,n)}function curry1to0(e,t){return()=>e(t)}function tap(e,t){return t(e),e}function tup(...e){return e}function call(e){e()}function always(e){return()=>e}function joinProc(...e){return()=>{e.map(call)}}function isDefined(e){return void 0!==e}function noop$1(){}function subscribe(e,t){return e(SUBSCRIBE,t)}function publish(e,t){e(PUBLISH,t)}function reset$2(e){e(RESET)}function getValue(e){return e(VALUE)}function connect(e,t){return subscribe(e,curry2to1(t,PUBLISH))}function handleNext(e,t){const n=e(SUBSCRIBE,(e=>{n(),t(e)}));return n}function stream(){const e=[];return(t,n)=>{switch(t){case RESET:return void e.splice(0,e.length);case SUBSCRIBE:return e.push(n),()=>{const t=e.indexOf(n);t>-1&&e.splice(t,1)};case PUBLISH:return void e.slice().forEach((e=>{e(n)}));default:throw new Error(`unrecognized action ${t}`)}}}function statefulStream(e){let t=e;const n=stream();return(e,o)=>{switch(e){case SUBSCRIBE:o(t);break;case PUBLISH:t=o;break;case VALUE:return t}return n(e,o)}}function eventHandler(e){let t,n;const o=()=>t&&t();return function(r,a){switch(r){case SUBSCRIBE:if(a){if(n===a)return;return o(),n=a,t=subscribe(e,a),t}return o(),noop$1;case RESET:return o(),void(n=null);default:throw new Error(`unrecognized action ${r}`)}}}function streamFromEmitter(e){return tap(stream(),(t=>connect(e,t)))}function statefulStreamFromEmitter(e,t){return tap(statefulStream(t),(t=>connect(e,t)))}function combineOperators(...e){return t=>e.reduceRight(thrush,t)}function pipe(e,...t){const n=combineOperators(...t);return(t,o)=>{switch(t){case SUBSCRIBE:return subscribe(e,n(o));case RESET:return void reset$2(e)}}}function defaultComparator(e,t){return e===t}function distinctUntilChanged(e=defaultComparator){let t;return n=>o=>{e(t,o)||(t=o,n(o))}}function filter(e){return t=>n=>{e(n)&&t(n)}}function map(e){return t=>compose(t,e)}function mapTo(e){return t=>()=>t(e)}function scan(e,t){return n=>o=>n(t=e(t,o))}function skip(e){return t=>n=>{e>0?e--:t(n)}}function throttleTime(e){let t,n=null;return o=>r=>{n=r,t||(t=setTimeout((()=>{t=void 0,o(n)}),e))}}function debounceTime(e){let t,n;return o=>r=>{t=r,n&&clearTimeout(n),n=setTimeout((()=>{o(t)}),e)}}function withLatestFrom(...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);subscribe(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 merge(...e){return function(t,n){switch(t){case SUBSCRIBE:return joinProc(...e.map((e=>subscribe(e,n))));case RESET:return;default:throw new Error(`unrecognized action ${t}`)}}}function duc(e,t=defaultComparator){return pipe(e,distinctUntilChanged(t))}function combineLatest(...e){const t=stream(),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);subscribe(e,(e=>{n[a]=e,o|=i,o===r&&publish(t,n)}))})),function(e,a){switch(e){case SUBSCRIBE:return o===r&&a(n),subscribe(t,a);case RESET:return reset$2(t);default:throw new Error(`unrecognized action ${e}`)}}}function system(e,t=[],{singleton:n}={singleton:!0}){return{id:id(),constructor:e,dependencies:t,singleton:n}}const id=()=>Symbol();function init(e){const t=new Map,n=({id:e,constructor:o,dependencies:r,singleton:a})=>{if(a&&t.has(e))return t.get(e);const i=o(r.map((e=>n(e))));return a&&t.set(e,i),i};return n(e)}function omit(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)o.hasOwnProperty(e)||(n[e]=t[e]);return n}const useIsomorphicLayoutEffect$1="undefined"!=typeof document?React__default.default.useLayoutEffect:React__default.default.useEffect;function systemToComponent(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&&publish(e.propsReady,!1);for(const r of o){publish(e[t.required[r]],n[r])}for(const o of r)if(o in n){publish(e[t.optional[o]],n[o])}e.propsReady&&publish(e.propsReady,!0)}function c(e){return i.reduce(((n,o)=>(n[o]=eventHandler(e[t.events[o]]),n)),{})}const u=React__default.default.forwardRef(((u,d)=>{const{children:p,...f}=u,[m]=React__default.default.useState((()=>tap(init(e),(e=>l(e,f))))),[h]=React__default.default.useState(curry1to0(c,m));useIsomorphicLayoutEffect$1((()=>{for(const e of i)e in f&&subscribe(h[e],f[e]);return()=>{Object.values(h).map(reset$2)}}),[f,h,m]),useIsomorphicLayoutEffect$1((()=>{l(m,f)})),React__default.default.useImperativeHandle(d,always(function(e){return a.reduce(((n,o)=>(n[o]=n=>{publish(e[t.methods[o]],n)},n)),{})}(m)));const _=n;return jsxRuntime.exports.jsx(s.Provider,{value:m,children:n?jsxRuntime.exports.jsx(_,{...omit([...o,...r,...i],f),children:p}):p})})),d=React__default.default.version.startsWith("18")?e=>{const t=React__default.default.useContext(s)[e],n=React__default.default.useCallback((e=>subscribe(t,e)),[t]);return React__default.default.useSyncExternalStore(n,(()=>getValue(t)),(()=>getValue(t)))}:e=>{const t=React__default.default.useContext(s)[e],[n,o]=React__default.default.useState(curry1to0(getValue,t));return useIsomorphicLayoutEffect$1((()=>subscribe(t,(e=>{e!==n&&o(always(e))}))),[t,n]),n};return{Component:u,usePublisher:e=>React__default.default.useCallback(curry2to1(publish,React__default.default.useContext(s)[e]),[e]),useEmitterValue:d,useEmitter:(e,t)=>{const n=React__default.default.useContext(s)[e];useIsomorphicLayoutEffect$1((()=>subscribe(n,t)),[t,n])}}}const useIsomorphicLayoutEffect$2="undefined"!=typeof document?React__default.default.useLayoutEffect:React__default.default.useEffect;var LogLevel=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(LogLevel||{});const CONSOLE_METHOD_MAP={0:"debug",1:"log",2:"warn",3:"error"},getGlobalThis=()=>"undefined"==typeof globalThis?window:globalThis,loggerSystem=system((()=>{const e=statefulStream(3);return{log:statefulStream(((t,n,o=1)=>{var r;o>=(null!=(r=getGlobalThis().VIRTUOSO_LOG_LEVEL)?r:getValue(e))&&console[CONSOLE_METHOD_MAP[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",t,n)})),logLevel:e}}),[],{singleton:!0});function useSizeWithElRef(e,t,n){const o=React__default.default.useRef(null);let r=e=>{};if("undefined"!=typeof ResizeObserver){const a=React__default.default.useMemo((()=>new ResizeObserver((t=>{const o=()=>{const n=t[0].target;null!==n.offsetParent&&e(n)};n?o():requestAnimationFrame(o)}))),[e]);r=e=>{e&&t?(a.observe(e),o.current=e):(o.current&&a.unobserve(o.current),o.current=null)}}return{ref:o,callbackRef:r}}function useSize$1(e,t,n){return useSizeWithElRef(e,t,n).callbackRef}function useChangedListContentsSizes(e,t,n,o,r,a,i,s,l){return useSizeWithElRef(React__default.default.useCallback((n=>{const l=getChangedChildSizes(n.children,t,s?"offsetWidth":"offsetHeight",r);let c=n.parentElement;for(;!c.dataset.virtuosoScroller;)c=c.parentElement;const u="window"===c.lastElementChild.dataset.viewportType,d=i?s?i.scrollLeft:i.scrollTop:u?s?window.pageXOffset||document.documentElement.scrollLeft:window.pageYOffset||document.documentElement.scrollTop:s?c.scrollLeft:c.scrollTop,p=i?s?i.scrollWidth:i.scrollHeight:u?s?document.documentElement.scrollWidth:document.documentElement.scrollHeight:s?c.scrollWidth:c.scrollHeight,f=i?s?i.offsetWidth:i.offsetHeight:u?s?window.innerWidth:window.innerHeight:s?c.offsetWidth:c.offsetHeight;o({scrollTop:Math.max(d,0),scrollHeight:p,viewportHeight:f}),null==a||a(s?resolveGapValue$1("column-gap",getComputedStyle(n).columnGap,r):resolveGapValue$1("row-gap",getComputedStyle(n).rowGap,r)),null!==l&&e(l)}),[e,t,r,a,i,o]),n,l)}function getChangedChildSizes(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(!r||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},LogLevel.ERROR),c===l)continue;const u=a[a.length-1];0===a.length||u.size!==c||u.endIndex!==s-1?a.push({startIndex:s,endIndex:s,size:c}):a[a.length-1].endIndex++}return a}function resolveGapValue$1(e,t,n){return"normal"===t||(null==t?void 0:t.endsWith("px"))||n(`${e} was not resolved to pixel value correctly`,t,LogLevel.WARN),"normal"===t?0:parseInt(null!=t?t:"0",10)}function correctItemSize(e,t){return Math.round(e.getBoundingClientRect()[t])}function approximatelyEqual(e,t){return Math.abs(e-t)<1.01}function useScrollTop(e,t,n,o=noop$1,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=>{const o=n.target,r=o===window||o===document,i=a?r?window.pageXOffset||document.documentElement.scrollLeft:o.scrollLeft:r?window.pageYOffset||document.documentElement.scrollTop:o.scrollTop,c=a?r?document.documentElement.scrollWidth:o.scrollWidth:r?document.documentElement.scrollHeight:o.scrollHeight,u=a?r?window.innerWidth:o.offsetWidth:r?window.innerHeight:o.offsetHeight,d=()=>{e({scrollTop:Math.max(i,0),scrollHeight:c,viewportHeight:u})};n.suppressFlushSync?d():ReactDOM__default.default.flushSync(d),null!==s.current&&(i===s.current||i<=0||i===c-u)&&(s.current=null,t(!0),l.current&&(clearTimeout(l.current),l.current=null))}),[e,t]);return React__default.default.useEffect((()=>{const e=r||i.current;return o(r||i.current),c({target:e,suppressFlushSync:!0}),e.addEventListener("scroll",c,{passive:!0}),()=>{o(null),e.removeEventListener("scroll",c)}}),[i,c,n,o,r]),{scrollerRef:i,scrollByCallback:function(e){a&&(e={left:e.top,behavior:e.behavior}),i.current.scrollBy(e)},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,u,d;o===window?(u=Math.max(correctItemSize(document.documentElement,a?"width":"height"),a?document.documentElement.scrollWidth:document.documentElement.scrollHeight),c=a?window.innerWidth:window.innerHeight,d=a?document.documentElement.scrollLeft:document.documentElement.scrollTop):(u=o[a?"scrollWidth":"scrollHeight"],c=correctItemSize(o,a?"width":"height"),d=o[a?"scrollLeft":"scrollTop"]);const p=u-c;if(n.top=Math.ceil(Math.max(Math.min(p,n.top),0)),approximatelyEqual(c,u)||n.top===d)return e({scrollTop:d,scrollHeight: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={left:n.top,behavior:n.behavior}),o.scrollTo(n)}}}const domIOSystem=system((()=>{const e=stream(),t=stream(),n=statefulStream(0),o=stream(),r=statefulStream(0),a=stream(),i=stream(),s=statefulStream(0),l=statefulStream(0),c=statefulStream(0),u=statefulStream(0),d=stream(),p=stream(),f=statefulStream(!1),m=statefulStream(!1),h=statefulStream(!1);return connect(pipe(e,map((({scrollTop:e})=>e))),t),connect(pipe(e,map((({scrollHeight:e})=>e))),i),connect(t,r),{scrollContainerState:e,scrollTop:t,viewportHeight:a,headerHeight:s,fixedHeaderHeight:l,fixedFooterHeight:c,footerHeight:u,scrollHeight:i,smoothScrollTargetReached:o,horizontalDirection:m,skipAnimationFrameInResizeObserver:h,scrollTo:d,scrollBy:p,statefulScrollTop:r,deviation:n,scrollingInProgress:f}}),[],{singleton:!0}),NIL_NODE={lvl:0};function newAANode(e,t,n,o=NIL_NODE,r=NIL_NODE){return{k:e,v:t,lvl:n,l:o,r:r}}function empty(e){return e===NIL_NODE}function newTree(){return NIL_NODE}function remove(e,t){if(empty(e))return NIL_NODE;const{k:n,l:o,r:r}=e;if(t===n){if(empty(o))return r;if(empty(r))return o;{const[t,n]=last(o);return adjust(clone(e,{k:t,v:n,l:deleteLast(o)}))}}return adjust(clone(e,t<n?{l:remove(o,t)}:{r:remove(r,t)}))}function find(e,t){if(!empty(e))return t===e.k?e.v:t<e.k?find(e.l,t):find(e.r,t)}function findMaxKeyValue(e,t,n="k"){if(empty(e))return[-1/0,void 0];if(Number(e[n])===t)return[e.k,e.v];if(Number(e[n])<t){const o=findMaxKeyValue(e.r,t,n);return o[0]===-1/0?[e.k,e.v]:o}return findMaxKeyValue(e.l,t,n)}function insert(e,t,n){return empty(e)?newAANode(t,n,1):t===e.k?clone(e,{k:t,v:n}):t<e.k?rebalance(clone(e,{l:insert(e.l,t,n)})):rebalance(clone(e,{r:insert(e.r,t,n)}))}function walkWithin(e,t,n){if(empty(e))return[];const{k:o,v:r,l:a,r:i}=e;let s=[];return o>t&&(s=s.concat(walkWithin(a,t,n))),o>=t&&o<=n&&s.push({k:o,v:r}),o<=n&&(s=s.concat(walkWithin(i,t,n))),s}function walk(e){return empty(e)?[]:[...walk(e.l),{k:e.k,v:e.v},...walk(e.r)]}function last(e){return empty(e.r)?[e.k,e.v]:last(e.r)}function deleteLast(e){return empty(e.r)?e.l:adjust(clone(e,{r:deleteLast(e.r)}))}function clone(e,t){return newAANode(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 isSingle(e){return empty(e)||e.lvl>e.r.lvl}function rebalance(e){return split(skew(e))}function adjust(e){const{l:t,r:n,lvl:o}=e;if(n.lvl>=o-1&&t.lvl>=o-1)return e;if(o>n.lvl+1){if(isSingle(t))return skew(clone(e,{lvl:o-1}));if(empty(t)||empty(t.r))throw new Error("Unexpected empty nodes");return clone(t.r,{l:clone(t,{r:t.r.l}),r:clone(e,{l:t.r.r,lvl:o-1}),lvl:o})}if(isSingle(e))return split(clone(e,{lvl:o-1}));if(empty(n)||empty(n.l))throw new Error("Unexpected empty nodes");{const t=n.l,r=isSingle(t)?n.lvl-1:n.lvl;return clone(t,{l:clone(e,{r:t.l,lvl:o-1}),r:split(clone(n,{l:t.r,lvl:r})),lvl:t.lvl+1})}}function rangesWithin(e,t,n){if(empty(e))return[];return toRanges(walkWithin(e,findMaxKeyValue(e,t)[0],n))}function arrayToRanges(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({start:o,end:n-1,value:r}),o=n,r=s}return a.push({start:o,end:1/0,value:r}),a}function toRanges(e){return arrayToRanges(e,(({k:e,v:t})=>({index:e,value:t})))}function split(e){const{r:t,lvl:n}=e;return empty(t)||empty(t.r)||t.lvl!==n||t.r.lvl!==n?e:clone(t,{l:clone(e,{r:t.l}),lvl:n+1})}function skew(e){const{l:t}=e;return empty(t)||t.lvl!==e.lvl?e:clone(t,{r:clone(e,{l:t.r})})}function findIndexOfClosestSmallerOrEqual(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 findClosestSmallerOrEqual(e,t,n){return e[findIndexOfClosestSmallerOrEqual(e,t,n)]}function findRange(e,t,n,o){const r=findIndexOfClosestSmallerOrEqual(e,t,o),a=findIndexOfClosestSmallerOrEqual(e,n,o,r);return e.slice(r,a+1)}const recalcSystem=system((()=>({recalcInProgress:statefulStream(!1)})),[],{singleton:!0});function rangeIncludes(e){const{size:t,startIndex:n,endIndex:o}=e;return e=>e.start===n&&(e.end===o||e.end===1/0)&&e.value===t}function affectedGroupCount(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 insertRanges(e,t){let n=empty(e)?0:1/0;for(const o of t){const{size:t,startIndex:r,endIndex:a}=o;if(n=Math.min(n,r),empty(e)){e=insert(e,0,t);continue}const i=rangesWithin(e,r-1,a+1);if(i.some(rangeIncludes(o)))continue;let s=!1,l=!1;for(const{start:n,end:o,value:r}of i)s?(a>=n||t===r)&&(e=remove(e,n)):(l=r!==t,s=!0),o>a&&a>=n&&r!==t&&(e=insert(e,a+1,r));l&&(e=insert(e,r,t))}return[e,n]}function initialSizeState(){return{offsetTree:[],sizeTree:newTree(),groupOffsetTree:newTree(),lastIndex:0,lastOffset:0,lastSize:0,groupIndices:[]}}function indexComparator({index:e},t){return t===e?0:t<e?-1:1}function offsetComparator({offset:e},t){return t===e?0:t<e?-1:1}function offsetPointParser(e){return{index:e.index,value:e}}function rangesWithinOffsets(e,t,n,o=0){return o>0&&(t=Math.max(t,findClosestSmallerOrEqual(e,o,indexComparator).offset)),arrayToRanges(findRange(e,t,n,offsetComparator),offsetPointParser)}function createOffsetTree(e,t,n,o){let r=e,a=0,i=0,s=0,l=0;if(0!==t){l=findIndexOfClosestSmallerOrEqual(r,t-1,indexComparator);s=r[l].offset;const e=findMaxKeyValue(n,t-1);a=e[0],i=e[1],r.length&&r[l].size===findMaxKeyValue(n,t)[1]&&(l-=1),r=r.slice(0,l+1)}else r=[];for(const{start:e,value:l}of rangesWithin(n,t,1/0)){const t=e-a,n=t*i+s+t*o;r.push({offset:n,size:l,index:e}),a=e,s=n,i=l}return{offsetTree:r,lastIndex:a,lastOffset:s,lastSize:i}}function sizeStateReducer(e,[t,n,o,r]){t.length>0&&o("received item sizes",t,LogLevel.DEBUG);const a=e.sizeTree;let i=a,s=0;if(n.length>0&&empty(a)&&2===t.length){const e=t[0].size,o=t[1].size;i=n.reduce(((t,n)=>insert(insert(t,n,e),n+1,o)),i)}else[i,s]=insertRanges(i,t);if(i===a)return e;const{offsetTree:l,lastIndex:c,lastSize:u,lastOffset:d}=createOffsetTree(e.offsetTree,s,i,r);return{sizeTree:i,offsetTree:l,lastIndex:c,lastOffset:d,lastSize:u,groupOffsetTree:n.reduce(((e,t)=>insert(e,t,offsetOf(t,l,r))),newTree()),groupIndices:n}}function offsetOf(e,t,n){if(0===t.length)return 0;const{offset:o,index:r,size:a}=findClosestSmallerOrEqual(t,e,indexComparator),i=e-r,s=a*i+(i-1)*n+o;return s>0?s+n:s}function isGroupLocation(e){return void 0!==e.groupIndex}function originalIndexFromLocation(e,t,n){if(isGroupLocation(e))return t.groupIndices[e.groupIndex]+1;{let o=originalIndexFromItemIndex("LAST"===e.index?n:e.index,t);return o=Math.max(0,o,Math.min(n,o)),o}}function originalIndexFromItemIndex(e,t){if(!hasGroups(t))return e;let n=0;for(;t.groupIndices[n]<=e+n;)n++;return e+n}function hasGroups(e){return!empty(e.groupOffsetTree)}function sizeTreeToRanges(e){return walk(e).map((({k:e,v:t},n,o)=>{const r=o[n+1];return{startIndex:e,endIndex:r?r.k-1:1/0,size:t}}))}const SIZE_MAP={offsetHeight:"height",offsetWidth:"width"},sizeSystem=system((([{log:e},{recalcInProgress:t}])=>{const n=stream(),o=stream(),r=statefulStreamFromEmitter(o,0),a=stream(),i=stream(),s=statefulStream(0),l=statefulStream([]),c=statefulStream(void 0),u=statefulStream(void 0),d=statefulStream(((e,t)=>correctItemSize(e,SIZE_MAP[t]))),p=statefulStream(void 0),f=statefulStream(0),m=initialSizeState(),h=statefulStreamFromEmitter(pipe(n,withLatestFrom(l,e,f),scan(sizeStateReducer,m),distinctUntilChanged()),m),_=statefulStreamFromEmitter(pipe(l,distinctUntilChanged(),scan(((e,t)=>({prev:e.current,current:t})),{prev:[],current:[]}),map((({prev:e})=>e))),[]);connect(pipe(l,filter((e=>e.length>0)),withLatestFrom(h,f),map((([e,t,n])=>{const o=e.reduce(((e,o,r)=>insert(e,o,offsetOf(o,t.offsetTree,n)||r)),newTree());return{...t,groupIndices:e,groupOffsetTree:o}}))),h),connect(pipe(o,withLatestFrom(h),filter((([e,{lastIndex:t}])=>e<t)),map((([e,{lastIndex:t,lastSize:n}])=>[{startIndex:e,endIndex:t,size:n}]))),n),connect(c,u);const g=statefulStreamFromEmitter(pipe(c,map((e=>void 0===e))),!0);connect(pipe(u,filter((e=>void 0!==e&&empty(getValue(h).sizeTree))),map((e=>[{startIndex:0,endIndex:0,size:e}]))),n);const v=streamFromEmitter(pipe(n,withLatestFrom(h),scan((({sizes:e},[t,n])=>({changed:n!==e,sizes:n})),{changed:!1,sizes:m}),map((e=>e.changed))));subscribe(pipe(s,scan(((e,t)=>({diff:e.prev-t,prev:t})),{diff:0,prev:0}),map((e=>e.diff))),(e=>{const{groupIndices:n}=getValue(h);if(e>0)publish(t,!0),publish(a,e+affectedGroupCount(e,n));else if(e<0){const t=getValue(_);t.length>0&&(e-=affectedGroupCount(-e,t)),publish(i,e)}})),subscribe(pipe(s,withLatestFrom(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},LogLevel.ERROR)}));const b=streamFromEmitter(a);connect(pipe(a,withLatestFrom(h),map((([e,t])=>{const n=t.groupIndices.length>0,o=[],r=t.lastSize;if(n){const n=find(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({startIndex:e,endIndex:e,size:n}),o.push({startIndex:e+1,endIndex:e+1+s-1,size:r}),i++,a+=s+1}const s=walk(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,{startIndex:t.prevIndex,endIndex:n+e-1,size:t.prevSize}]),{ranges:r,prevIndex:n+e,prevSize:o}}),{ranges:o,prevIndex:e,prevSize:0}).ranges}return walk(t.sizeTree).reduce(((t,{k:n,v:o})=>({ranges:[...t.ranges,{startIndex:t.prevIndex,endIndex:n+e-1,size:t.prevSize}],prevIndex:n+e,prevSize:o})),{ranges:[],prevIndex:0,prevSize:r}).ranges}))),n);const y=streamFromEmitter(pipe(i,withLatestFrom(h,f),map((([e,{offsetTree:t},n])=>offsetOf(-e,t,n)))));return connect(pipe(i,withLatestFrom(h,f),map((([e,t,n])=>{if(t.groupIndices.length>0){if(empty(t.sizeTree))return t;let o=newTree();const r=getValue(_);let a=0,i=0,s=0;for(;a<-e;){s=r[i];const e=r[i+1]-s-1;i++,a+=e+1}o=walk(t.sizeTree).reduce(((t,{k:n,v:o})=>insert(t,Math.max(0,n+e),o)),o);if(a!==-e){o=insert(o,0,find(t.sizeTree,s));o=insert(o,1,findMaxKeyValue(t.sizeTree,1-e)[1])}return{...t,sizeTree:o,...createOffsetTree(t.offsetTree,0,o,n)}}{const o=walk(t.sizeTree).reduce(((t,{k:n,v:o})=>insert(t,Math.max(0,n+e),o)),newTree());return{...t,sizeTree:o,...createOffsetTree(t.offsetTree,0,o,n)}}}))),h),{data:p,totalCount:o,sizeRanges:n,groupIndices:l,defaultItemSize:u,fixedItemSize:c,unshiftWith:a,shiftWith:i,shiftWithOffset:y,beforeUnshiftWith:b,firstItemIndex:s,gap:f,sizes:h,listRefresh:v,statefulTotalCount:r,trackItemSizes:g,itemSize:d}}),tup(loggerSystem,recalcSystem),{singleton:!0}),SUPPORTS_SCROLL_TO_OPTIONS="undefined"!=typeof document&&"scrollBehavior"in document.documentElement.style;function normalizeIndexLocation(e){const t="number"==typeof e?{index:e}:e;return t.align||(t.align="start"),t.behavior&&SUPPORTS_SCROLL_TO_OPTIONS||(t.behavior="auto"),t.offset||(t.offset=0),t}const scrollToIndexSystem=system((([{sizes:e,totalCount:t,listRefresh:n,gap:o},{scrollingInProgress:r,viewportHeight:a,scrollTo:i,smoothScrollTargetReached:s,headerHeight:l,footerHeight:c,fixedHeaderHeight:u,fixedFooterHeight:d},{log:p}])=>{const f=stream(),m=stream(),h=statefulStream(0);let _=null,g=null,v=null;function b(){_&&(_(),_=null),v&&(v(),v=null),g&&(clearTimeout(g),g=null),publish(r,!1)}return connect(pipe(f,withLatestFrom(e,a,t,h,l,c,p),withLatestFrom(o,u,d),map((([[e,t,o,a,i,l,c,u],d,p,h])=>{const y=normalizeIndexLocation(e),{align:E,behavior:w,offset:C}=y,x=a-1,R=originalIndexFromLocation(y,t,x);let S=offsetOf(R,t.offsetTree,d)+l;"end"===E?(S+=p+findMaxKeyValue(t.sizeTree,R)[1]-o+h,R===x&&(S+=c)):"center"===E?S+=(p+findMaxKeyValue(t.sizeTree,R)[1]-o+h)/2:S-=i,C&&(S+=C);const D=t=>{b(),t?(u("retrying to scroll to",{location:e},LogLevel.DEBUG),publish(f,e)):(publish(m,!0),u("list did not change, scroll successful",{},LogLevel.DEBUG))};if(b(),"smooth"===w){let e=!1;v=subscribe(n,(t=>{e=e||t})),_=handleNext(s,(()=>{D(e)}))}else _=handleNext(pipe(n,watchChangesFor(150)),D);return g=setTimeout((()=>{b()}),1200),publish(r,!0),u("scrolling from index to",{index:R,top:S,behavior:w},LogLevel.DEBUG),{top:S,behavior:w}}))),i),{scrollToIndex:f,scrollTargetReached:m,topListHeight:h}}),tup(sizeSystem,domIOSystem,loggerSystem),{singleton:!0});function watchChangesFor(e){return t=>{const n=setTimeout((()=>{t(!1)}),e);return e=>{e&&(t(!0),clearTimeout(n))}}}const UP="up",DOWN="down",NONE$1="none",INITIAL_BOTTOM_STATE={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},DEFAULT_AT_TOP_THRESHOLD=0,stateFlagsSystem=system((([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:o,footerHeight:r,scrollBy:a}])=>{const i=statefulStream(!1),s=statefulStream(!0),l=stream(),c=stream(),u=statefulStream(4),d=statefulStream(DEFAULT_AT_TOP_THRESHOLD),p=statefulStreamFromEmitter(pipe(merge(pipe(duc(t),skip(1),mapTo(!0)),pipe(duc(t),skip(1),mapTo(!1),debounceTime(100))),distinctUntilChanged()),!1),f=statefulStreamFromEmitter(pipe(merge(pipe(a,mapTo(!0)),pipe(a,mapTo(!1),debounceTime(200))),distinctUntilChanged()),!1);connect(pipe(combineLatest(duc(t),duc(d)),map((([e,t])=>e<=t)),distinctUntilChanged()),s),connect(pipe(s,throttleTime(50)),c);const m=streamFromEmitter(pipe(combineLatest(e,duc(n),duc(o),duc(r),duc(u)),scan(((e,[{scrollTop:t,scrollHeight:n},o,r,a,i])=>{const s={viewportHeight:o,scrollTop:t,scrollHeight:n};if(t+o-n>-i){let n,o;return t>e.state.scrollTop?(n="SCROLLED_DOWN",o=e.state.scrollTop-t):(n="SIZE_DECREASED",o=e.state.scrollTop-t||e.scrollTopDelta),{atBottom:!0,state:s,atBottomBecause:n,scrollTopDelta:o}}let l;return l=s.scrollHeight>e.state.scrollHeight?"SIZE_INCREASED":o<e.state.viewportHeight?"VIEWPORT_HEIGHT_DECREASING":t<e.state.scrollTop?"SCROLLING_UPWARDS":"NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:l,state:s}}),INITIAL_BOTTOM_STATE),distinctUntilChanged(((e,t)=>e&&e.atBottom===t.atBottom)))),h=statefulStreamFromEmitter(pipe(e,scan(((e,{scrollTop:t,scrollHeight:n,viewportHeight:o})=>{if(approximatelyEqual(e.scrollHeight,n))return{scrollTop:t,scrollHeight:n,jump:0,changed:!1};{const r=n-(t+o)<1;return e.scrollTop!==t&&r?{scrollHeight:n,scrollTop:t,jump:e.scrollTop-t,changed:!0}:{scrollHeight:n,scrollTop:t,jump:0,changed:!0}}}),{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),filter((e=>e.changed)),map((e=>e.jump))),0);connect(pipe(m,map((e=>e.atBottom))),i),connect(pipe(i,throttleTime(50)),l);const _=statefulStream(DOWN);connect(pipe(e,map((({scrollTop:e})=>e)),distinctUntilChanged(),scan(((e,t)=>getValue(f)?{direction:e.direction,prevScrollTop:t}:{direction:t<e.prevScrollTop?UP:DOWN,prevScrollTop:t}),{direction:DOWN,prevScrollTop:0}),map((e=>e.direction))),_),connect(pipe(e,throttleTime(50),mapTo(NONE$1)),_);const g=statefulStream(0);return connect(pipe(p,filter((e=>!e)),mapTo(0)),g),connect(pipe(t,throttleTime(100),withLatestFrom(p),filter((([e,t])=>!!t)),scan((([e,t],[n])=>[t,n]),[0,0]),map((([e,t])=>t-e))),g),{isScrolling:p,isAtTop:s,isAtBottom:i,atBottomState:m,atTopStateChange:c,atBottomStateChange:l,scrollDirection:_,atBottomThreshold:u,atTopThreshold:d,scrollVelocity:g,lastJumpDueToItemResize:h}}),tup(domIOSystem)),propsReadySystem=system((([{log:e}])=>{const t=statefulStream(!1),n=streamFromEmitter(pipe(t,filter((e=>e)),distinctUntilChanged()));return subscribe(t,(t=>{t&&getValue(e)("props updated",{},LogLevel.DEBUG)})),{propsReady:t,didMount:n}}),tup(loggerSystem),{singleton:!0});function skipFrames(e,t){0==e?t():requestAnimationFrame((()=>skipFrames(e-1,t)))}function getInitialTopMostItemIndexNumber(e,t){const n=t-1;return"number"==typeof e?e:"LAST"===e.index?n:e.index}const initialTopMostItemIndexSystem=system((([{sizes:e,listRefresh:t,defaultItemSize:n},{scrollTop:o},{scrollToIndex:r,scrollTargetReached:a},{didMount:i}])=>{const s=statefulStream(!0),l=statefulStream(0),c=statefulStream(!0);return connect(pipe(i,withLatestFrom(l),filter((([e,t])=>!!t)),mapTo(!1)),s),connect(pipe(i,withLatestFrom(l),filter((([e,t])=>!!t)),mapTo(!1)),c),subscribe(pipe(combineLatest(t,i),withLatestFrom(s,e,n,c),filter((([[,e],t,{sizeTree:n},o,r])=>e&&(!empty(n)||isDefined(o))&&!t&&!r)),withLatestFrom(l)),(([,e])=>{handleNext(a,(()=>{publish(c,!0)})),skipFrames(4,(()=>{handleNext(o,(()=>{publish(s,!0)})),publish(r,e)}))})),{scrolledToInitialItem:s,initialTopMostItemIndex:l,initialItemFinalLocationReached:c}}),tup(sizeSystem,domIOSystem,scrollToIndexSystem,propsReadySystem),{singleton:!0});function normalizeFollowOutput(e){return!!e&&("smooth"===e?"smooth":"auto")}const behaviorFromFollowOutput=(e,t)=>"function"==typeof e?normalizeFollowOutput(e(t)):t&&normalizeFollowOutput(e),followOutputSystem=system((([{totalCount:e,listRefresh:t},{isAtBottom:n,atBottomState:o},{scrollToIndex:r},{scrolledToInitialItem:a},{propsReady:i,didMount:s},{log:l},{scrollingInProgress:c}])=>{const u=statefulStream(!1),d=stream();let p=null;function f(e){publish(r,{index:"LAST",align:"end",behavior:e})}function m(e){const t=handleNext(o,(t=>{!e||t.atBottom||"SIZE_INCREASED"!==t.notAtBottomBecause||p||(getValue(l)("scrolling to bottom due to increased size",{},LogLevel.DEBUG),f("auto"))}));setTimeout(t,100)}return subscribe(pipe(combineLatest(pipe(duc(e),skip(1)),s),withLatestFrom(duc(u),n,a,c),map((([[e,t],n,o,r,a])=>{let i=t&&r,s="auto";return i&&(s=behaviorFromFollowOutput(n,o||a),i=i&&!!s),{totalCount:e,shouldFollow:i,followOutputBehavior:s}})),filter((({shouldFollow:e})=>e))),(({totalCount:e,followOutputBehavior:n})=>{p&&(p(),p=null),p=handleNext(t,(()=>{getValue(l)("following output to ",{totalCount:e},LogLevel.DEBUG),f(n),p=null}))})),subscribe(pipe(combineLatest(duc(u),e,i),filter((([e,,t])=>e&&t)),scan((({value:e},[,t])=>({refreshed:e===t,value:t})),{refreshed:!1,value:0}),filter((({refreshed:e})=>e)),withLatestFrom(u,e)),(([,e])=>{getValue(a)&&m(!1!==e)})),subscribe(d,(()=>{m(!1!==getValue(u))})),subscribe(combineLatest(duc(u),o),(([e,t])=>{e&&!t.atBottom&&"VIEWPORT_HEIGHT_DECREASING"===t.notAtBottomBecause&&f("auto")})),{followOutput:u,autoscrollToBottom:d}}),tup(sizeSystem,stateFlagsSystem,scrollToIndexSystem,initialTopMostItemIndexSystem,propsReadySystem,loggerSystem,domIOSystem));function groupCountsToIndicesAndCount(e){return e.reduce(((e,t)=>(e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e)),{totalCount:0,groupIndices:[]})}const groupedListSystem=system((([{totalCount:e,groupIndices:t,sizes:n},{scrollTop:o,headerHeight:r}])=>{const a=stream(),i=stream(),s=streamFromEmitter(pipe(a,map(groupCountsToIndicesAndCount)));return connect(pipe(s,map((e=>e.totalCount))),e),connect(pipe(s,map((e=>e.groupIndices))),t),connect(pipe(combineLatest(o,n,r),filter((([e,t])=>hasGroups(t))),map((([e,t,n])=>findMaxKeyValue(t.groupOffsetTree,Math.max(e-n,0),"v")[0])),distinctUntilChanged(),map((e=>[e]))),i),{groupCounts:a,topItemsIndexes:i}}),tup(sizeSystem,domIOSystem));function tupleComparator(e,t){return!(!e||e[0]!==t[0]||e[1]!==t[1])}function rangeComparator(e,t){return!(!e||e.startIndex!==t.startIndex||e.endIndex!==t.endIndex)}const TOP="top",BOTTOM="bottom",NONE="none";function getOverscan(e,t,n){return"number"==typeof e?n===UP&&t===TOP||n===DOWN&&t===BOTTOM?e:0:n===UP?t===TOP?e.main:e.reverse:t===BOTTOM?e.main:e.reverse}function getViewportIncrease(e,t){return"number"==typeof e?e:e[t]||0}const sizeRangeSystem=system((([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:o,fixedHeaderHeight:r}])=>{const a=stream(),i=statefulStream(0),s=statefulStream(0),l=statefulStream(0),c=statefulStreamFromEmitter(pipe(combineLatest(duc(e),duc(t),duc(o),duc(a,tupleComparator),duc(l),duc(i),duc(r),duc(n),duc(s)),map((([e,t,n,[o,r],a,i,s,l,c])=>{const u=e-l,d=i+s,p=Math.max(n-u,0);let f=NONE;const m=getViewportIncrease(c,TOP),h=getViewportIncrease(c,BOTTOM);return o-=l,r+=n+s,(o+=n+s)>e+d-m&&(f=UP),(r-=l)<e-p+t+h&&(f=DOWN),f!==NONE?[Math.max(u-n-getOverscan(a,TOP,f)-m,0),u-p-s+t+getOverscan(a,BOTTOM,f)+h]:null})),filter((e=>null!=e)),distinctUntilChanged(tupleComparator)),[0,0]);return{listBoundary:a,overscan:l,topListHeight:i,increaseViewportBy:s,visibleRange:c}}),tup(domIOSystem),{singleton:!0});function probeItemSet(e,t,n){if(hasGroups(t)){const o=originalIndexFromItemIndex(e,t);return[{index:findMaxKeyValue(t.groupOffsetTree,o)[0],size:0,offset:0},{index:o,size:0,offset:0,data:n&&n[0]}]}return[{index:e,size:0,offset:0,data:n&&n[0]}]}const EMPTY_LIST_STATE={items:[],topItems:[],offsetTop:0,offsetBottom:0,top:0,bottom:0,topListHeight:0,totalCount:0,firstItemIndex:0};function transposeItems(e,t,n){if(0===e.length)return[];if(!hasGroups(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=rangesWithin(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?{type:"group",index:l}:{index:o.index-(l+1)+n,groupIndex:l},a.push({...e,size:o.size,offset:o.offset,originalIndex:o.index,data:o.data})}return a}function buildListState(e,t,n,o,r,a){const{lastSize:i,lastOffset:s,lastIndex:l}=r;let c=0,u=0;if(e.length>0){c=e[0].offset;const t=e[e.length-1];u=t.offset+t.size}const d=n-l,p=c,f=s+d*i+(d-1)*o-u;return{items:transposeItems(e,r,a),topItems:transposeItems(t,r,a),topListHeight:t.reduce(((e,t)=>t.size+e),0),offsetTop:c,offsetBottom:f,top:p,bottom:u,totalCount:n,firstItemIndex:a}}function buildListStateFromItemCount(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=getInitialTopMostItemIndexNumber(t,s),c=Array.from({length:s}).map(((e,t)=>({index:t+l,size:0,offset:0,data:a[t+l]})));return buildListState(c,[],s,r,n,o)}const listStateSystem=system((([{sizes:e,totalCount:t,data:n,firstItemIndex:o,gap:r},a,{visibleRange:i,listBoundary:s,topListHeight:l},{scrolledToInitialItem:c,initialTopMostItemIndex:u},{topListHeight:d},p,{didMount:f},{recalcInProgress:m}])=>{const h=statefulStream([]),_=statefulStream(0),g=stream();connect(a.topItemsIndexes,h);const v=statefulStreamFromEmitter(pipe(combineLatest(f,m,duc(i,tupleComparator),duc(t),duc(e),duc(u),c,duc(h),duc(o),duc(r),n),filter((([e,t,,n,,,,,,,o])=>{const r=o&&o.length!==n;return e&&!t&&!r})),map((([,,[e,t],n,o,r,a,i,s,l,c])=>{const u=o,{sizeTree:d,offsetTree:p}=u,f=getValue(_);if(0===n)return{...EMPTY_LIST_STATE,totalCount:n};if(0===e&&0===t)return 0===f?{...EMPTY_LIST_STATE,totalCount:n}:buildListStateFromItemCount(f,r,o,s,l,c||[]);if(empty(d)){if(f>0)return null;return buildListState(probeItemSet(getInitialTopMostItemIndexNumber(r,n),u,c),[],n,l,u,s)}const m=[];if(i.length>0){const e=i[0],t=i[i.length-1];let n=0;for(const o of rangesWithin(d,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++)m.push({index:e,size:r,offset:n,data:c&&c[e]}),n+=r}}if(!a)return buildListState([],m,n,l,u,s);const h=i.length>0?i[i.length-1]+1:0,g=rangesWithinOffsets(p,e,t,h);if(0===g.length)return null;const v=n-1,b=tap([],(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<h&&(a+=(h-i)*s,i=h);const u=Math.min(o.end,v);for(let e=i;e<=u&&!(a>=t);e++)n.push({index:e,size:s,offset:a,data:c&&c[e]}),a+=s+l}}));return buildListState(b,m,n,l,u,s)})),filter((e=>null!==e)),distinctUntilChanged()),EMPTY_LIST_STATE);connect(pipe(n,filter(isDefined),map((e=>null==e?void 0:e.length))),t),connect(pipe(v,map((e=>e.topListHeight))),d),connect(d,l),connect(pipe(v,map((e=>[e.top,e.bottom]))),s),connect(pipe(v,map((e=>e.items))),g);const b=streamFromEmitter(pipe(v,filter((({items:e})=>e.length>0)),withLatestFrom(t,n),filter((([{items:e},t])=>e[e.length-1].originalIndex===t-1)),map((([,e,t])=>[e-1,t])),distinctUntilChanged(tupleComparator),map((([e])=>e))));return{listState:v,topItemsIndexes:h,endReached:b,startReached:streamFromEmitter(pipe(v,throttleTime(200),filter((({items:e,topItems:t})=>e.length>0&&e[0].originalIndex===t.length)),map((({items:e})=>e[0].index)),distinctUntilChanged())),rangeChanged:streamFromEmitter(pipe(v,filter((({items:e})=>e.length>0)),map((({items:e})=>{let t=0,n=e.length-1;for(;"group"===e[t].type&&t<n;)t++;for(;"group"===e[n].type&&n>t;)n--;return{startIndex:e[t].index,endIndex:e[n].index}})),distinctUntilChanged(rangeComparator))),itemsRendered:g,initialItemCount:_,...p}}),tup(sizeSystem,groupedListSystem,sizeRangeSystem,initialTopMostItemIndexSystem,scrollToIndexSystem,stateFlagsSystem,propsReadySystem,recalcSystem),{singleton:!0}),initialItemCountSystem=system((([{sizes:e,firstItemIndex:t,data:n,gap:o},{initialTopMostItemIndex:r},{initialItemCount:a,listState:i},{didMount:s}])=>(connect(pipe(s,withLatestFrom(a),filter((([,e])=>0!==e)),withLatestFrom(r,e,t,o,n),map((([[,e],t,n,o,r,a=[]])=>buildListStateFromItemCount(e,t,n,o,r,a)))),i),{})),tup(sizeSystem,initialTopMostItemIndexSystem,listStateSystem,propsReadySystem),{singleton:!0}),scrollSeekSystem=system((([{scrollVelocity:e}])=>{const t=statefulStream(!1),n=stream(),o=statefulStream(!1);return connect(pipe(e,withLatestFrom(o,t,n),filter((([e,t])=>!!t)),map((([e,t,n,o])=>{const{exit:r,enter:a}=t;if(n){if(r(e,o))return!1}else if(a(e,o))return!0;return n})),distinctUntilChanged()),t),subscribe(pipe(combineLatest(t,e,n),withLatestFrom(o)),(([[e,t,n],o])=>e&&o&&o.change&&o.change(t,n))),{isSeeking:t,scrollSeekConfiguration:o,scrollVelocity:e,scrollSeekRangeChanged:n}}),tup(stateFlagsSystem),{singleton:!0}),topItemCountSystem=system((([{topItemsIndexes:e}])=>{const t=statefulStream(0);return connect(pipe(t,filter((e=>e>=0)),map((e=>Array.from({length:e}).map(((e,t)=>t))))),e),{topItemCount:t}}),tup(listStateSystem)),totalListHeightSystem=system((([{footerHeight:e,headerHeight:t,fixedHeaderHeight:n,fixedFooterHeight:o},{listState:r}])=>{const a=stream(),i=statefulStreamFromEmitter(pipe(combineLatest(e,o,t,n,r),map((([e,t,n,o,r])=>e+t+n+o+r.offsetBottom+r.bottom))),0);return connect(duc(i),a),{totalListHeight:i,totalListHeightChanged:a}}),tup(domIOSystem,listStateSystem),{singleton:!0});function simpleMemoize(e){let t,n=!1;return()=>(n||(n=!0,t=e()),t)}const isMobileSafari=simpleMemoize((()=>/iP(ad|od|hone)/i.test(navigator.userAgent)&&/WebKit/i.test(navigator.userAgent))),upwardScrollFixSystem=system((([{scrollBy:e,scrollTop:t,deviation:n,scrollingInProgress:o},{isScrolling:r,isAtBottom:a,scrollDirection:i,lastJumpDueToItemResize:s},{listState:l},{beforeUnshiftWith:c,shiftWithOffset:u,sizes:d,gap:p},{log:f},{recalcInProgress:m}])=>{const h=streamFromEmitter(pipe(l,withLatestFrom(s),scan((([,e,t,n],[{items:o,totalCount:r,bottom:a,offsetBottom:i},s])=>{const l=a+i;let c=0;if(t===r&&e.length>0&&o.length>0){0===o[0].originalIndex&&0===e[0].originalIndex||(c=l-n,0!==c&&(c+=s))}return[c,o,r,l]}),[0,[],0,0]),filter((([e])=>0!==e)),withLatestFrom(t,i,o,a,f,m),filter((([,e,t,n,,,o])=>!o&&!n&&0!==e&&t===UP)),map((([[e],,,,,t])=>(t("Upward scrolling compensation",{amount:e},LogLevel.DEBUG),e)))));function _(t){t>0?(publish(e,{top:-t,behavior:"auto"}),publish(n,0)):(publish(n,0),publish(e,{top:-t,behavior:"auto"}))}return subscribe(pipe(h,withLatestFrom(n,r)),(([e,t,o])=>{o&&isMobileSafari()?publish(n,t-e):_(-e)})),subscribe(pipe(combineLatest(statefulStreamFromEmitter(r,!1),n,m),filter((([e,t,n])=>!e&&!n&&0!==t)),map((([e,t])=>t)),throttleTime(1)),_),connect(pipe(u,map((e=>({top:-e})))),e),subscribe(pipe(c,withLatestFrom(d,p),map((([e,{lastSize:t,groupIndices:n,sizeTree:o},r])=>{function a(e){return e*(t+r)}if(0===n.length)return a(e);{let t=0;const r=find(o,0);let i=0,s=0;for(;i<e;){i++,t+=r;let o=n.length===s+1?1/0:n[s+1]-n[s]-1;i+o>e&&(t-=r,o=e-i+1),i+=o,t+=a(o),s++}return t}}))),(t=>{publish(n,t),requestAnimationFrame((()=>{publish(e,{top:t}),requestAnimationFrame((()=>{publish(n,0),publish(m,!1)}))}))})),{deviation:n}}),tup(domIOSystem,stateFlagsSystem,listStateSystem,sizeSystem,loggerSystem,recalcSystem)),initialScrollTopSystem=system((([{didMount:e},{scrollTo:t},{listState:n}])=>{const o=statefulStream(0);return subscribe(pipe(e,withLatestFrom(o),filter((([,e])=>0!==e)),map((([,e])=>({top:e})))),(e=>{handleNext(pipe(n,skip(1),filter((e=>e.items.length>1))),(()=>{requestAnimationFrame((()=>{publish(t,e)}))}))})),{initialScrollTop:o}}),tup(propsReadySystem,domIOSystem,listStateSystem),{singleton:!0}),alignToBottomSystem=system((([{viewportHeight:e},{totalListHeight:t}])=>{const n=statefulStream(!1);return{alignToBottom:n,paddingTopAddition:statefulStreamFromEmitter(pipe(combineLatest(n,e,t),filter((([e])=>e)),map((([,e,t])=>Math.max(0,e-t))),throttleTime(0),distinctUntilChanged()),0)}}),tup(domIOSystem,totalListHeightSystem),{singleton:!0}),windowScrollerSystem=system((([{scrollTo:e,scrollContainerState:t}])=>{const n=stream(),o=stream(),r=stream(),a=statefulStream(!1),i=statefulStream(void 0);return connect(pipe(combineLatest(n,o),map((([{viewportHeight:e,scrollTop:t,scrollHeight:n},{offsetTop:o}])=>({scrollTop:Math.max(0,t-o),scrollHeight:n,viewportHeight:e})))),t),connect(pipe(e,withLatestFrom(o),map((([e,{offsetTop:t}])=>({...e,top:e.top+t})))),r),{useWindowScroll:a,customScrollParent:i,windowScrollContainerState:n,windowViewportRect:o,windowScrollTo:r}}),tup(domIOSystem)),defaultCalculateViewLocation=({itemTop:e,itemBottom:t,viewportTop:n,viewportBottom:o,locationParams:{behavior:r,align:a,...i}})=>e<n?{...i,behavior:r,align:null!=a?a:"start"}:t>o?{...i,behavior:r,align:null!=a?a:"end"}:null,scrollIntoViewSystem=system((([{sizes:e,totalCount:t,gap:n},{scrollTop:o,viewportHeight:r,headerHeight:a,fixedHeaderHeight:i,fixedFooterHeight:s,scrollingInProgress:l},{scrollToIndex:c}])=>{const u=stream();return connect(pipe(u,withLatestFrom(e,r,t,a,i,s,o),withLatestFrom(n),map((([[e,t,n,o,r,a,i,s],c])=>{const{done:u,behavior:d,align:p,calculateViewLocation:f=defaultCalculateViewLocation,...m}=e,h=originalIndexFromLocation(e,t,o-1),_=offsetOf(h,t.offsetTree,c)+r+a,g=f({itemTop:_,itemBottom:_+findMaxKeyValue(t.sizeTree,h)[1],viewportTop:s+a,viewportBottom:s+n-i,locationParams:{behavior:d,align:p,...m}});return g?u&&handleNext(pipe(l,filter((e=>!1===e)),skip(getValue(l)?1:2)),u):u&&u(),g})),filter((e=>null!==e))),c),{scrollIntoView:u}}),tup(sizeSystem,domIOSystem,scrollToIndexSystem,listStateSystem,loggerSystem),{singleton:!0}),stateLoadSystem=system((([{sizes:e,sizeRanges:t},{scrollTop:n,headerHeight:o},{initialTopMostItemIndex:r},{didMount:a},{useWindowScroll:i,windowScrollContainerState:s,windowViewportRect:l}])=>{const c=stream(),u=statefulStream(void 0),d=statefulStream(null),p=statefulStream(null);return connect(s,d),connect(l,p),subscribe(pipe(c,withLatestFrom(e,n,i,d,p,o)),(([e,t,n,o,r,a,i])=>{const s=sizeTreeToRanges(t.sizeTree);o&&null!==r&&null!==a&&(n=r.scrollTop-a.offsetTop),e({ranges:s,scrollTop:n-=i})})),connect(pipe(u,filter(isDefined),map(locationFromSnapshot)),r),connect(pipe(a,withLatestFrom(u),filter((([,e])=>void 0!==e)),distinctUntilChanged(),map((([,e])=>e.ranges))),t),{getState:c,restoreStateFrom:u}}),tup(sizeSystem,domIOSystem,initialTopMostItemIndexSystem,propsReadySystem,windowScrollerSystem));function locationFromSnapshot(e){return{offset:e.scrollTop,index:0,align:"start"}}const featureGroup1System=system((([e,t,n,o,r,a,i,s,l,c])=>({...e,...t,...n,...o,...r,...a,...i,...s,...l,...c})),tup(sizeRangeSystem,initialItemCountSystem,propsReadySystem,scrollSeekSystem,totalListHeightSystem,initialScrollTopSystem,alignToBottomSystem,windowScrollerSystem,scrollIntoViewSystem,loggerSystem)),listSystem=system((([{totalCount:e,sizeRanges:t,fixedItemSize:n,defaultItemSize:o,trackItemSizes:r,itemSize:a,data:i,firstItemIndex:s,groupIndices:l,statefulTotalCount:c,gap:u,sizes:d},{initialTopMostItemIndex:p,scrolledToInitialItem:f,initialItemFinalLocationReached:m},h,_,g,{listState:v,topItemsIndexes:b,...y},{scrollToIndex:E},w,{topItemCount:C},{groupCounts:x},R])=>(connect(y.rangeChanged,R.scrollSeekRangeChanged),connect(pipe(R.windowViewportRect,map((e=>e.visibleHeight))),h.viewportHeight),{totalCount:e,data:i,firstItemIndex:s,sizeRanges:t,initialTopMostItemIndex:p,scrolledToInitialItem:f,initialItemFinalLocationReached:m,topItemsIndexes:b,topItemCount:C,groupCounts:x,fixedItemHeight:n,defaultItemHeight:o,gap:u,...g,statefulTotalCount:c,listState:v,scrollToIndex:E,trackItemSizes:r,itemSize:a,groupIndices:l,...y,...R,...h,sizes:d,..._})),tup(sizeSystem,initialTopMostItemIndexSystem,domIOSystem,stateLoadSystem,followOutputSystem,listStateSystem,scrollToIndexSystem,upwardScrollFixSystem,topItemCountSystem,groupedListSystem,featureGroup1System)),WEBKIT_STICKY="-webkit-sticky",STICKY="sticky",positionStickyCssValue=simpleMemoize((()=>{if("undefined"==typeof document)return STICKY;const e=document.createElement("div");return e.style.position=WEBKIT_STICKY,e.style.position===WEBKIT_STICKY?WEBKIT_STICKY:STICKY}));function useWindowViewportRectRef(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 i,s;if(t){const e=t.getBoundingClientRect(),n=r.top-e.top;i=e.height-Math.max(0,n),s=n+t.scrollTop}else i=window.innerHeight-Math.max(0,r.top),s=r.top+window.pageYOffset;o.current={offsetTop:s,visibleHeight:i,visibleWidth:a},e(o.current)}),[e,t]),{callbackRef:a,ref:i}=useSizeWithElRef(r,!0,n),s=React__default.default.useCallback((()=>{r(i.current)}),[r,i]);return React__default.default.useEffect((()=>{if(t){t.addEventListener("scroll",s);const e=new ResizeObserver((()=>{requestAnimationFrame(s)}));return e.observe(t),()=>{t.removeEventListener("scroll",s),e.unobserve(t)}}return window.addEventListener("scroll",s),window.addEventListener("resize",s),()=>{window.removeEventListener("scroll",s),window.removeEventListener("resize",s)}}),[s,t]),a}const VirtuosoMockContext=React__default.default.createContext(void 0),VirtuosoGridMockContext=React__default.default.createContext(void 0);function identity(e){return e}const listComponentPropsSystem=system((()=>{const e=statefulStream((e=>`Item ${e}`)),t=statefulStream(null),n=statefulStream((e=>`Group ${e}`)),o=statefulStream({}),r=statefulStream(identity),a=statefulStream("div"),i=statefulStream(noop$1),s=(e,t=null)=>statefulStreamFromEmitter(pipe(o,map((t=>t[e])),distinctUntilChanged()),t);return{context:t,itemContent:e,groupContent:n,components:o,computeItemKey:r,HeaderFooterTag:a,scrollerRef:i,FooterComponent:s("Footer"),HeaderComponent:s("Header"),TopItemListComponent:s("TopItemList"),ListComponent:s("List","div"),ItemComponent:s("Item","div"),GroupComponent:s("Group","div"),ScrollerComponent:s("Scroller","div"),EmptyPlaceholder:s("EmptyPlaceholder"),ScrollSeekPlaceholder:s("ScrollSeekPlaceholder")}})),combinedSystem$2=system((([e,t])=>({...e,...t})),tup(listSystem,listComponentPropsSystem)),DefaultScrollSeekPlaceholder$1=({height:e})=>jsxRuntime.exports.jsx("div",{style:{height:e}}),GROUP_STYLE={position:positionStickyCssValue(),zIndex:1,overflowAnchor:"none"},ITEM_STYLE$1={overflowAnchor:"none"},HORIZONTAL_ITEM_STYLE={...ITEM_STYLE$1,display:"inline-block",height:"100%"},Items$1=React__default.default.memo((function({showTopList:e=!1}){const t=useEmitterValue$2("listState"),n=usePublisher$2("sizeRanges"),o=useEmitterValue$2("useWindowScroll"),r=useEmitterValue$2("customScrollParent"),a=usePublisher$2("windowScrollContainerState"),i=usePublisher$2("scrollContainerState"),s=r||o?a:i,l=useEmitterValue$2("itemContent"),c=useEmitterValue$2("context"),u=useEmitterValue$2("groupContent"),d=useEmitterValue$2("trackItemSizes"),p=useEmitterValue$2("itemSize"),f=useEmitterValue$2("log"),m=usePublisher$2("gap"),h=useEmitterValue$2("horizontalDirection"),{callbackRef:_}=useChangedListContentsSizes(n,p,d,e?noop$1:s,f,m,r,h,useEmitterValue$2("skipAnimationFrameInResizeObserver")),[g,v]=React__default.default.useState(0);useEmitter$2("deviation",(e=>{g!==e&&v(e)}));const b=useEmitterValue$2("EmptyPlaceholder"),y=useEmitterValue$2("ScrollSeekPlaceholder")||DefaultScrollSeekPlaceholder$1,E=useEmitterValue$2("ListComponent"),w=useEmitterValue$2("ItemComponent"),C=useEmitterValue$2("GroupComponent"),x=useEmitterValue$2("computeItemKey"),R=useEmitterValue$2("isSeeking"),S=useEmitterValue$2("groupIndices").length>0,D=useEmitterValue$2("alignToBottom"),T=useEmitterValue$2("initialItemFinalLocationReached"),O=e?{}:{boxSizing:"border-box",...h?{whiteSpace:"nowrap",display:"inline-block",height:"100%",paddingLeft:t.offsetTop,paddingRight:t.offsetBottom,marginLeft:0!==g?g:D?"auto":0}:{marginTop:0!==g?g:D?"auto":0,paddingTop:t.offsetTop,paddingBottom:t.offsetBottom},...T?{}:{visibility:"hidden"}};return!e&&0===t.totalCount&&b?jsxRuntime.exports.jsx(b,{...contextPropIfNotDomElement(b,c)}):jsxRuntime.exports.jsx(E,{...contextPropIfNotDomElement(E,c),ref:_,style:O,"data-testid":e?"virtuoso-top-item-list":"virtuoso-item-list",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,{...contextPropIfNotDomElement(y,c),key:o,index:e.index,height:e.size,type:e.type||"item",..."group"===e.type?{}:{groupIndex:e.groupIndex}}):"group"===e.type?React.createElement(C,{...contextPropIfNotDomElement(C,c),key:o,"data-index":n,"data-known-size":e.size,"data-item-index":e.index,style:GROUP_STYLE},u(e.index,c)):React.createElement(w,{...contextPropIfNotDomElement(w,c),...itemPropIfNotDomElement(w,e.data),key:o,"data-index":n,"data-known-size":e.size,"data-item-index":e.index,"data-item-group-index":e.groupIndex,style:h?HORIZONTAL_ITEM_STYLE:ITEM_STYLE$1},S?l(e.index,e.groupIndex,e.data,c):l(e.index,e.data,c))}))})})),scrollerStyle={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},horizontalScrollerStyle={outline:"none",overflowX:"auto",position:"relative"},viewportStyle=e=>({width:"100%",height:"100%",position:"absolute",top:0,...e?{display:"flex",flexDirection:"column"}:{}}),topItemListStyle={width:"100%",position:positionStickyCssValue(),top:0,zIndex:1};function contextPropIfNotDomElement(e,t){if("string"!=typeof e)return{context:t}}function itemPropIfNotDomElement(e,t){return{item:"string"==typeof e?void 0:t}}const Header$1=React__default.default.memo((function(){const e=useEmitterValue$2("HeaderComponent"),t=usePublisher$2("headerHeight"),n=useEmitterValue$2("HeaderFooterTag"),o=useSize$1(React__default.default.useMemo((()=>e=>t(correctItemSize(e,"height"))),[t]),!0,useEmitterValue$2("skipAnimationFrameInResizeObserver")),r=useEmitterValue$2("context");return e?jsxRuntime.exports.jsx(n,{ref:o,children:jsxRuntime.exports.jsx(e,{...contextPropIfNotDomElement(e,r)})}):null})),Footer$1=React__default.default.memo((function(){const e=useEmitterValue$2("FooterComponent"),t=usePublisher$2("footerHeight"),n=useEmitterValue$2("HeaderFooterTag"),o=useSize$1(React__default.default.useMemo((()=>e=>t(correctItemSize(e,"height"))),[t]),!0,useEmitterValue$2("skipAnimationFrameInResizeObserver")),r=useEmitterValue$2("context");return e?jsxRuntime.exports.jsx(n,{ref:o,children:jsxRuntime.exports.jsx(e,{...contextPropIfNotDomElement(e,r)})}):null}));function buildScroller({usePublisher:e,useEmitter:t,useEmitterValue:n}){return React__default.default.memo((function({style:o,children:r,...a}){const i=e("scrollContainerState"),s=n("ScrollerComponent"),l=e("smoothScrollTargetReached"),c=n("scrollerRef"),u=n("context"),d=n("horizontalDirection")||!1,{scrollerRef:p,scrollByCallback:f,scrollToCallback:m}=useScrollTop(i,l,s,c,void 0,d);t("scrollTo",m),t("scrollBy",f);const h=d?horizontalScrollerStyle:scrollerStyle;return jsxRuntime.exports.jsx(s,{ref:p,style:{...h,...o},"data-testid":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...a,...contextPropIfNotDomElement(s,u),children:r})}))}function buildWindowScroller({usePublisher:e,useEmitter:t,useEmitterValue:n}){return React__default.default.memo((function({style:o,children:r,...a}){const i=e("windowScrollContainerState"),s=n("ScrollerComponent"),l=e("smoothScrollTargetReached"),c=n("totalListHeight"),u=n("deviation"),d=n("customScrollParent"),p=n("context"),{scrollerRef:f,scrollByCallback:m,scrollToCallback:h}=useScrollTop(i,l,s,noop$1,d);return useIsomorphicLayoutEffect$2((()=>(f.current=d||window,()=>{f.current=null})),[f,d]),t("windowScrollTo",h),t("scrollBy",m),jsxRuntime.exports.jsx(s,{style:{position:"relative",...o,...0!==c?{height:c+u}:{}},"data-virtuoso-scroller":!0,...a,...contextPropIfNotDomElement(s,p),children:r})}))}const Viewport$2=({children:e})=>{const t=React__default.default.useContext(VirtuosoMockContext),n=usePublisher$2("viewportHeight"),o=usePublisher$2("fixedItemHeight"),r=useEmitterValue$2("alignToBottom"),a=useEmitterValue$2("horizontalDirection"),i=useSize$1(React__default.default.useMemo((()=>compose(n,(e=>correctItemSize(e,a?"width":"height")))),[n,a]),!0,useEmitterValue$2("skipAnimationFrameInResizeObserver"));return React__default.default.useEffect((()=>{t&&(n(t.viewportHeight),o(t.itemHeight))}),[t,n,o]),jsxRuntime.exports.jsx("div",{style:viewportStyle(r),ref:i,"data-viewport-type":"element",children:e})},WindowViewport$2=({children:e})=>{const t=React__default.default.useContext(VirtuosoMockContext),n=usePublisher$2("windowViewportRect"),o=usePublisher$2("fixedItemHeight"),r=useEmitterValue$2("customScrollParent"),a=useWindowViewportRectRef(n,r,useEmitterValue$2("skipAnimationFrameInResizeObserver")),i=useEmitterValue$2("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",{ref:a,style:viewportStyle(i),"data-viewport-type":"window",children:e})},TopItemListContainer=({children:e})=>{const t=useEmitterValue$2("TopItemListComponent")||"div",n=useEmitterValue$2("headerHeight"),o={...topItemListStyle,marginTop:`${n}px`},r=useEmitterValue$2("context");return jsxRuntime.exports.jsx(t,{style:o,...contextPropIfNotDomElement(t,r),children:e})},ListRoot=React__default.default.memo((function(e){const t=useEmitterValue$2("useWindowScroll"),n=useEmitterValue$2("topItemsIndexes").length>0,o=useEmitterValue$2("customScrollParent"),r=o||t?WindowScroller$2:Scroller$2,a=o||t?WindowViewport$2:Viewport$2;return jsxRuntime.exports.jsxs(r,{...e,children:[n&&jsxRuntime.exports.jsx(TopItemListContainer,{children:jsxRuntime.exports.jsx(Items$1,{showTopList:!0})}),jsxRuntime.exports.jsxs(a,{children:[jsxRuntime.exports.jsx(Header$1,{}),jsxRuntime.exports.jsx(Items$1,{}),jsxRuntime.exports.jsx(Footer$1,{})]})]})})),{Component:List$1,usePublisher:usePublisher$2,useEmitterValue:useEmitterValue$2,useEmitter:useEmitter$2}=systemToComponent(combinedSystem$2,{required:{},optional:{restoreStateFrom:"restoreStateFrom",context:"context",followOutput:"followOutput",itemContent:"itemContent",groupContent:"groupContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",totalCount:"totalCount",groupCounts:"groupCounts",topItemCount:"topItemCount",firstItemIndex:"firstItemIndex",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",atBottomThreshold:"atBottomThreshold",atTopThreshold:"atTopThreshold",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedItemHeight:"fixedItemHeight",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"HeaderFooterTag",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",horizontalDirection:"horizontalDirection",skipAnimationFrameInResizeObserver:"skipAnimationFrameInResizeObserver"},methods:{scrollToIndex:"scrollToIndex",scrollIntoView:"scrollIntoView",scrollTo:"scrollTo",scrollBy:"scrollBy",autoscrollToBottom:"autoscrollToBottom",getState:"getState"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",totalListHeightChanged:"totalListHeightChanged",itemsRendered:"itemsRendered",groupIndices:"groupIndices"}},ListRoot),Scroller$2=buildScroller({usePublisher:usePublisher$2,useEmitterValue:useEmitterValue$2,useEmitter:useEmitter$2}),WindowScroller$2=buildWindowScroller({usePublisher:usePublisher$2,useEmitterValue:useEmitterValue$2,useEmitter:useEmitter$2}),GroupedVirtuoso=List$1,INITIAL_GRID_STATE={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},PROBE_GRID_STATE={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:round,ceil:ceil,floor:floor,min:min,max:max}=Math;function buildProbeGridState(e){return{...PROBE_GRID_STATE,items:e}}function buildItems(e,t,n){return Array.from({length:t-e+1}).map(((t,o)=>{const r=null===n?null:n[o+e];return{index:o+e,data:r}}))}function gapComparator(e,t){return e&&e.column===t.column&&e.row===t.row}function dimensionComparator(e,t){return e&&e.width===t.width&&e.height===t.height}const gridSystem=system((([{overscan:e,visibleRange:t,listBoundary:n,increaseViewportBy:o},{scrollTop:r,viewportHeight:a,scrollBy:i,scrollTo:s,smoothScrollTargetReached:l,scrollContainerState:c,footerHeight:u,headerHeight:d},p,f,{propsReady:m,didMount:h},{windowViewportRect:_,useWindowScroll:g,customScrollParent:v,windowScrollContainerState:b,windowScrollTo:y},E])=>{const w=statefulStream(0),C=statefulStream(0),x=statefulStream(INITIAL_GRID_STATE),R=statefulStream({height:0,width:0}),S=statefulStream({height:0,width:0}),D=stream(),T=stream(),O=statefulStream(0),I=statefulStream(null),A=statefulStream({row:0,column:0}),N=stream(),k=stream(),$=statefulStream(!1),F=statefulStream(0),j=statefulStream(!0),P=statefulStream(!1),M=statefulStream(!1);subscribe(pipe(h,withLatestFrom(F),filter((([e,t])=>!!t))),(()=>{publish(j,!1)})),subscribe(pipe(combineLatest(h,j,S,R,F,P),filter((([e,t,n,o,,r])=>e&&!t&&0!==n.height&&0!==o.height&&!r))),(([,,,,e])=>{publish(P,!0),skipFrames(1,(()=>{publish(D,e)})),handleNext(pipe(r),(()=>{publish(n,[0,0]),publish(j,!0)}))})),connect(pipe(k,filter((e=>null!=e&&e.scrollTop>0)),mapTo(0)),C),subscribe(pipe(h,withLatestFrom(k),filter((([,e])=>null!=e))),(([,e])=>{e&&(publish(R,e.viewport),publish(S,null==e?void 0:e.item),publish(A,e.gap),e.scrollTop>0&&(publish($,!0),handleNext(pipe(r,skip(1)),(e=>{publish($,!1)})),publish(s,{top:e.scrollTop})))})),connect(pipe(R,map((({height:e})=>e))),a),connect(pipe(combineLatest(duc(R,dimensionComparator),duc(S,dimensionComparator),duc(A,((e,t)=>e&&e.column===t.column&&e.row===t.row)),duc(r)),map((([e,t,n,o])=>({viewport:e,item:t,gap:n,scrollTop:o})))),N),connect(pipe(combineLatest(duc(w),t,duc(A,gapComparator),duc(S,dimensionComparator),duc(R,dimensionComparator),duc(I),duc(C),duc($),duc(j),duc(F)),filter((([,,,,,,,e])=>!e)),map((([e,[t,n],o,r,a,i,s,,l,c])=>{const{row:u,column:d}=o,{height:p,width:f}=r,{width:m}=a;if(0===s&&(0===e||0===m))return INITIAL_GRID_STATE;if(0===f){const t=getInitialTopMostItemIndexNumber(c,e);return buildProbeGridState(buildItems(t,t+Math.max(s-1,0),i))}const h=itemsPerRow(m,f,d);let _,g;l?0===t&&0===n&&s>0?(_=0,g=s-1):(_=h*floor((t+u)/(p+u)),g=h*ceil((n+u)/(p+u))-1,g=min(e-1,max(g,h-1)),_=min(g,max(0,_))):(_=0,g=-1);const v=buildItems(_,g,i),{top:b,bottom:y}=gridLayout(a,o,r,v),E=ceil(e/h);return{items:v,offsetTop:b,offsetBottom:E*p+(E-1)*u-y,top:b,bottom:y,itemHeight:p,itemWidth:f}}))),x),connect(pipe(I,filter((e=>null!==e)),map((e=>e.length))),w),connect(pipe(combineLatest(R,S,x,A),filter((([e,t,{items:n}])=>n.length>0&&0!==t.height&&0!==e.height)),map((([e,t,{items:n},o])=>{const{top:r,bottom:a}=gridLayout(e,o,t,n);return[r,a]})),distinctUntilChanged(tupleComparator)),n);const L=statefulStream(!1);connect(pipe(r,withLatestFrom(L),map((([e,t])=>t||0!==e))),L);const B=streamFromEmitter(pipe(combineLatest(x,w),filter((([{items:e}])=>e.length>0)),withLatestFrom(L),filter((([[e,t],n])=>{const o=e.items[e.items.length-1].index===t-1;if(n)return o;return e.bottom>0&&e.itemHeight>0&&0===e.offsetBottom&&e.items.length===t&&o})),map((([[,e]])=>e-1)),distinctUntilChanged())),U=streamFromEmitter(pipe(duc(x),filter((({items:e})=>e.length>0&&0===e[0].index)),mapTo(0),distinctUntilChanged())),V=streamFromEmitter(pipe(duc(x),withLatestFrom($),filter((([{items:e},t])=>e.length>0&&!t)),map((([{items:e}])=>({startIndex:e[0].index,endIndex:e[e.length-1].index}))),distinctUntilChanged(rangeComparator),throttleTime(0)));connect(V,f.scrollSeekRangeChanged),connect(pipe(D,withLatestFrom(R,S,w,A),map((([e,t,n,o,r])=>{const a=normalizeIndexLocation(e),{align:i,behavior:s,offset:l}=a;let c=a.index;"LAST"===c&&(c=o-1),c=max(0,c,min(o-1,c));let u=itemTop(t,r,n,c);return"end"===i?u=round(u-t.height+n.height):"center"===i&&(u=round(u-t.height/2+n.height/2)),l&&(u+=l),{top:u,behavior:s}}))),s);const H=statefulStreamFromEmitter(pipe(x,map((e=>e.offsetBottom+e.bottom))),0);return connect(pipe(_,map((e=>({width:e.visibleWidth,height:e.visibleHeight})))),R),{data:I,totalCount:w,viewportDimensions:R,itemDimensions:S,scrollTop:r,scrollHeight:T,overscan:e,increaseViewportBy:o,scrollBy:i,scrollTo:s,scrollToIndex:D,smoothScrollTargetReached:l,windowViewportRect:_,windowScrollTo:y,useWindowScroll:g,customScrollParent:v,windowScrollContainerState:b,deviation:O,scrollContainerState:c,footerHeight:u,headerHeight:d,initialItemCount:C,gap:A,restoreStateFrom:k,...f,initialTopMostItemIndex:F,horizontalDirection:M,gridState:x,totalListHeight:H,...p,startReached:U,endReached:B,rangeChanged:V,stateChanged:N,propsReady:m,stateRestoreInProgress:$,...E}}),tup(sizeRangeSystem,domIOSystem,stateFlagsSystem,scrollSeekSystem,propsReadySystem,windowScrollerSystem,loggerSystem));function gridLayout(e,t,n,o){const{height:r}=n;if(void 0===r||0===o.length)return{top:0,bottom:0};return{top:itemTop(e,t,n,o[0].index),bottom:itemTop(e,t,n,o[o.length-1].index)+r}}function itemTop(e,t,n,o){const r=itemsPerRow(e.width,n.width,t.column),a=floor(o/r),i=a*n.height+max(0,a-1)*t.row;return i>0?i+t.row:i}function itemsPerRow(e,t,n){return max(1,floor((e+n)/(floor(t)+n)))}const gridComponentPropsSystem=system((()=>{const e=statefulStream((e=>`Item ${e}`)),t=statefulStream({}),n=statefulStream(null),o=statefulStream("virtuoso-grid-item"),r=statefulStream("virtuoso-grid-list"),a=statefulStream(identity),i=statefulStream("div"),s=statefulStream(noop$1),l=(e,n=null)=>statefulStreamFromEmitter(pipe(t,map((t=>t[e])),distinctUntilChanged()),n),c=statefulStream(!1),u=statefulStream(!1);return connect(duc(u),c),{readyStateChanged:c,reportReadyState:u,context:n,itemContent:e,components:t,computeItemKey:a,itemClassName:o,listClassName:r,headerFooterTag:i,scrollerRef:s,FooterComponent:l("Footer"),HeaderComponent:l("Header"),ListComponent:l("List","div"),ItemComponent:l("Item","div"),ScrollerComponent:l("Scroller","div"),ScrollSeekPlaceholder:l("ScrollSeekPlaceholder","div")}})),combinedSystem$1=system((([e,t])=>({...e,...t})),tup(gridSystem,gridComponentPropsSystem)),GridItems=React__default.default.memo((function(){const e=useEmitterValue$1("gridState"),t=useEmitterValue$1("listClassName"),n=useEmitterValue$1("itemClassName"),o=useEmitterValue$1("itemContent"),r=useEmitterValue$1("computeItemKey"),a=useEmitterValue$1("isSeeking"),i=usePublisher$1("scrollHeight"),s=useEmitterValue$1("ItemComponent"),l=useEmitterValue$1("ListComponent"),c=useEmitterValue$1("ScrollSeekPlaceholder"),u=useEmitterValue$1("context"),d=usePublisher$1("itemDimensions"),p=usePublisher$1("gap"),f=useEmitterValue$1("log"),m=useEmitterValue$1("stateRestoreInProgress"),h=usePublisher$1("reportReadyState"),_=useSize$1(React__default.default.useMemo((()=>e=>{const t=e.parentElement.parentElement.scrollHeight;i(t);const n=e.firstChild;if(n){const{width:e,height:t}=n.getBoundingClientRect();d({width:e,height:t})}p({row:resolveGapValue("row-gap",getComputedStyle(e).rowGap,f),column:resolveGapValue("column-gap",getComputedStyle(e).columnGap,f)})}),[i,d,p,f]),!0,!1);return useIsomorphicLayoutEffect$2((()=>{e.itemHeight>0&&e.itemWidth>0&&h(!0)}),[e]),m?null:jsxRuntime.exports.jsx(l,{ref:_,className:t,...contextPropIfNotDomElement(l,u),style:{paddingTop:e.offsetTop,paddingBottom:e.offsetBottom},"data-testid":"virtuoso-item-list",children:e.items.map((t=>{const i=r(t.index,t.data,u);return a?jsxRuntime.exports.jsx(c,{...contextPropIfNotDomElement(c,u),index:t.index,height:e.itemHeight,width:e.itemWidth},i):React.createElement(s,{...contextPropIfNotDomElement(s,u),className:n,"data-index":t.index,key:i},o(t.index,t.data,u))}))})})),Header=React__default.default.memo((function(){const e=useEmitterValue$1("HeaderComponent"),t=usePublisher$1("headerHeight"),n=useEmitterValue$1("headerFooterTag"),o=useSize$1(React__default.default.useMemo((()=>e=>t(correctItemSize(e,"height"))),[t]),!0,!1),r=useEmitterValue$1("context");return e?jsxRuntime.exports.jsx(n,{ref:o,children:jsxRuntime.exports.jsx(e,{...contextPropIfNotDomElement(e,r)})}):null})),Footer=React__default.default.memo((function(){const e=useEmitterValue$1("FooterComponent"),t=usePublisher$1("footerHeight"),n=useEmitterValue$1("headerFooterTag"),o=useSize$1(React__default.default.useMemo((()=>e=>t(correctItemSize(e,"height"))),[t]),!0,!1),r=useEmitterValue$1("context");return e?jsxRuntime.exports.jsx(n,{ref:o,children:jsxRuntime.exports.jsx(e,{...contextPropIfNotDomElement(e,r)})}):null})),Viewport$1=({children:e})=>{const t=React__default.default.useContext(VirtuosoGridMockContext),n=usePublisher$1("itemDimensions"),o=usePublisher$1("viewportDimensions"),r=useSize$1(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",{style:viewportStyle(!1),ref:r,children:e})},WindowViewport$1=({children:e})=>{const t=React__default.default.useContext(VirtuosoGridMockContext),n=usePublisher$1("windowViewportRect"),o=usePublisher$1("itemDimensions"),r=useEmitterValue$1("customScrollParent"),a=useWindowViewportRectRef(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:viewportStyle(!1),children:e})},GridRoot=React__default.default.memo((function({...e}){const t=useEmitterValue$1("useWindowScroll"),n=useEmitterValue$1("customScrollParent"),o=n||t?WindowScroller$1:Scroller$1,r=n||t?WindowViewport$1:Viewport$1;return jsxRuntime.exports.jsx(o,{...e,children:jsxRuntime.exports.jsxs(r,{children:[jsxRuntime.exports.jsx(Header,{}),jsxRuntime.exports.jsx(GridItems,{}),jsxRuntime.exports.jsx(Footer,{})]})})})),{Component:Grid,usePublisher:usePublisher$1,useEmitterValue:useEmitterValue$1,useEmitter:useEmitter$1}=systemToComponent(combinedSystem$1,{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"}},GridRoot),Scroller$1=buildScroller({usePublisher:usePublisher$1,useEmitterValue:useEmitterValue$1,useEmitter:useEmitter$1}),WindowScroller$1=buildWindowScroller({usePublisher:usePublisher$1,useEmitterValue:useEmitterValue$1,useEmitter:useEmitter$1});function resolveGapValue(e,t,n){return"normal"===t||(null==t?void 0:t.endsWith("px"))||n(`${e} was not resolved to pixel value correctly`,t,LogLevel.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)}))),u={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),u),setStorageItem(localStorage,CACHE_EMOJI_METADATA_KEY(e),{emojisEtag:n,messagesEtag:r}),u}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,u]=React.useState(),[d,p]=React.useState(0),[f,m]=React.useState(0),[h,_]=React.useState("none"),g=React.useCallback((()=>{if(n){const e=s?.rows[f]?.[d];e&&n(e.emoji)}}),[s?.rows,n,d,f]),v=React.useCallback((()=>{p(0),m(0)}),[]),b=React.useCallback(((e,t)=>{_("pointer"),p(e),m(t)}),[]),y=React.useCallback(((e,t)=>{if(s)if(t.preventDefault(),"none"!==h)switch(_("keyboard"),e){case"left":if(0===d){const e=f-1,t=s.rows[e];t&&(m(e),p(t.length-1))}else p(d-1);break;case"right":{const e=s.rows[f];if(!e)return;if(d===e.length-1){const e=f+1;s.rows[e]&&(m(e),p(0))}else p(d+1);break}case"up":{const e=s.rows[f-1];e&&(m(f-1),e[d]||p(e.length-1));break}case"down":{const e=s.rows[f+1];e&&(m(f+1),e[d]||p(e.length-1));break}}else _("keyboard")}),[s,h,d,f]),E=React.useCallback((()=>{r.current&&i((()=>{l((()=>{if(!r.current)return;return generateEmojiPickerData(filterEmojis(r.current.emojis,a.current),r.current.categories,e)})),v()}))}),[e,v]),w=React.useCallback((e=>{a.current=e,E()}),[E]),C=React.useCallback((async e=>{try{r.current=await getEmojiData(e),E()}catch(e){u(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"===h&&v()}),[h]),jsxRuntime.exports.jsx(EmojiPickerContext.Provider,{value:{data:s,error:c,isLoading:!s&&!c,columns:e,onSearch:w,onEmojiSelect:n,selectCurrentEmoji:g,selectedRowIndex:f,selectedColumnIndex:d,moveSelection:y,setPointerSelection:b,interaction:h,setInteraction:_},children:o})}const EmojiPickerSearch=React.forwardRef((({asChild:e,value:t,defaultValue:n,onChange:o,...r},a)=>{const i=e?Slot:"input",{onSearch:s,selectCurrentEmoji:l,moveSelection:c,interaction:u,setInteraction:d}=useEmojiPicker(),p=React.useCallback((e=>{if(o?.(e),e.isDefaultPrevented())return;const t=e.target.value;d(t?"keyboard":"none"),s(t)}),[o,s,d]),f=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"!==u&&(e.preventDefault(),l()))}),[u,c,l]);return React.useEffect((()=>{s(t?String(t):n?String(n):"")}),[]),jsxRuntime.exports.jsx(i,{type:"search",value:t,defaultValue:n,onChange:p,onKeyDown:f,...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:"div",a=React.useRef(null),i=React.useRef(null),s=React.useRef(0),l=React.useRef(0),c=React.useRef(0),{data:u,error:d,isLoading:p,columns:f,onEmojiSelect:m,selectedColumnIndex:h,selectedRowIndex:_,setPointerSelection:g,interaction:v,setInteraction:b}=useEmojiPicker(),y=React.useMemo((()=>u?.rows[_]?.[h]),[u?.rows,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":f,...t,"data-testid":void 0,ref:n,children:e})))),[f]),O=React.useMemo((()=>Array(f).fill("🌫️")),[f]),I=React.useCallback((e=>{e.preventDefault()}),[]),A=React.useCallback((()=>{"pointer"===v&&b("none")}),[v,b]);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 N=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"===v&&a.current?.scrollIntoView({index:_,behavior:"auto",calculateViewLocation:N})}),[v,_,N]),jsxRuntime.exports.jsxs(r,{...n,ref:o,children:[jsxRuntime.exports.jsxs("div",{style:{visibility:"hidden",height:0},ref:i,children:[jsxRuntime.exports.jsx(S,{attributes:placeholderRowAttributes,children:O.map(((e,t)=>jsxRuntime.exports.jsx(D,{emoji:e},t)))}),jsxRuntime.exports.jsx(x,{category:"Category"})]}),p?jsxRuntime.exports.jsx(E,{}):d?jsxRuntime.exports.jsx(C,{error:d}):0===u.count?jsxRuntime.exports.jsx(w,{}):jsxRuntime.exports.jsx(R,{children:jsxRuntime.exports.jsx(GroupedVirtuoso,{ref:a,components:{Scroller:VirtuosoScroller,List:T,TopItemList:VirtuosoTopList},groupCounts:u.categoriesRowCounts,groupContent:e=>{const t=u.categories[e];return t?jsxRuntime.exports.jsx(x,{category:t}):null},itemContent:(e,t)=>{const n=u.rows[e],o=u.categoriesRowIndices[t]?.indexOf(e),r=u.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"!==v&&h===n&&_===e;return jsxRuntime.exports.jsx(D,{role:"gridcell","aria-colindex":n,"aria-selected":o||void 0,"data-selected":o||void 0,onMouseDown:I,tabIndex:-1,onPointerEnter:()=>{g(n,e)},onPointerLeave:A,onClick:e=>{m?.(t.emoji),e.stopPropagation()},emoji:t.emoji},t.emoji)}))})}})}),y&&"none"!==v&&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$3(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$3(o,...t)]}function composeContextScopes$3(...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 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),[u,d]=React__namespace.useState(null),p=u?.ownerDocument??globalThis?.document,[,f]=React__namespace.useState({}),m=useComposedRefs(t,(e=>d(e))),h=Array.from(c.layers),[_]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),g=h.indexOf(_),v=u?h.indexOf(u):-1,b=c.layersWithOutsidePointerEventsDisabled.size>0,y=v>=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?.())}),p),w=useFocusOutside((e=>{const t=e.target;[...c.branches].some((e=>e.contains(t)))||(a?.(e),i?.(e),e.defaultPrevented||s?.())}),p);return useEscapeKeydown((e=>{v===c.layers.size-1&&(o?.(e),!e.defaultPrevented&&s&&(e.preventDefault(),s()))}),p),React__namespace.useEffect((()=>{if(u)return n&&(0===c.layersWithOutsidePointerEventsDisabled.size&&(originalBodyPointerEvents=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(u)),c.layers.add(u),dispatchUpdate(),()=>{n&&1===c.layersWithOutsidePointerEventsDisabled.size&&(p.body.style.pointerEvents=originalBodyPointerEvents)}}),[u,p,n,c]),React__namespace.useEffect((()=>()=>{u&&(c.layers.delete(u),c.layersWithOutsidePointerEventsDisabled.delete(u),dispatchUpdate())}),[u,c]),React__namespace.useEffect((()=>{const e=()=>f({});return document.addEventListener(CONTEXT_UPDATE,e),()=>document.removeEventListener(CONTEXT_UPDATE,e)}),[]),jsxRuntime.exports.jsx(Primitive.div,{...l,ref:m,style:{pointerEvents:b?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 useLayoutEffect2=Boolean(globalThis?.document)?React__namespace.useLayoutEffect:()=>{},useReactId=React__namespace["useId".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 createContextScope$2(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;function 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 n=[...n,o],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$2(o,...t)]}function composeContextScopes$2(...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 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$2(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);return React__namespace.useEffect((()=>{a.onAnchorChange(o?.current||i.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:u=0,sticky:d="partial",hideWhenDetached:p=!1,updatePositionStrategy:f="optimized",onPlaced:m,...h}=e,_=usePopperContext(CONTENT_NAME$4,n),[g,v]=React__namespace.useState(null),b=useComposedRefs(t,(e=>v(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 u?u:{top:0,right:0,bottom:0,left:0,...u},D=Array.isArray(c)?c:[c],T=D.length>0,O={padding:S,boundary:D.filter(isNotNull),altBoundary:T},{refs:I,floatingStyles:A,placement:N,isPositioned:k,middlewareData:$}=useFloating({strategy:"fixed",placement:R,whileElementsMounted:(...e)=>autoUpdate(...e,{animationFrame:"always"===f}),elements:{reference:_.anchor},middleware:[offset({mainAxis:r+x,alignmentAxis:i}),l&&shift({mainAxis:!0,crossAxis:!1,limiter:"partial"===d?limitShift():void 0,...O}),l&&flip({...O}),size({...O,apply:({elements:e,rects:t,availableWidth:n,availableHeight:o})=>{const{width:r,height:a}=t.reference,i=e.floating.style;i.setProperty("--radix-popper-available-width",`${n}px`),i.setProperty("--radix-popper-available-height",`${o}px`),i.setProperty("--radix-popper-anchor-width",`${r}px`),i.setProperty("--radix-popper-anchor-height",`${a}px`)}}),y&&arrow({element:y,padding:s}),transformOrigin({arrowWidth:C,arrowHeight:x}),p&&hide({strategy:"referenceHidden",...O})]}),[F,j]=getSideAndAlignFromPlacement(N),P=useCallbackRef$1(m);useLayoutEffect2((()=>{k&&P?.()}),[k,P]);const M=$.arrow?.x,L=$.arrow?.y,B=0!==$.arrow?.centerOffset,[U,V]=React__namespace.useState();return useLayoutEffect2((()=>{g&&V(window.getComputedStyle(g).zIndex)}),[g]),jsxRuntime.exports.jsx("div",{ref:I.setFloating,"data-radix-popper-content-wrapper":"",style:{...A,transform:k?A.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:U,"--radix-popper-transform-origin":[$.transformOrigin?.x,$.transformOrigin?.y].join(" "),...$.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:jsxRuntime.exports.jsx(PopperContentProvider,{scope:n,placedSide:F,onArrowChange:E,arrowX:M,arrowY:L,shouldHideArrow:B,children:jsxRuntime.exports.jsx(Primitive.div,{"data-side":F,"data-align":j,...h,ref:b,style:{...h.style,animation:k?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),u={start:"0%",center:"50%",end:"100%"}[c],d=(r.arrow?.x??0)+i/2,p=(r.arrow?.y??0)+s/2;let f="",m="";return"bottom"===l?(f=a?u:`${d}px`,m=-s+"px"):"top"===l?(f=a?u:`${d}px`,m=`${o.floating.height+s}px`):"right"===l?(f=-s+"px",m=a?u:`${p}px`):"left"===l&&(f=`${o.floating.width+s}px`,m=a?u:`${p}px`),{data:{x:f,y:m}}}});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({}),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(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=>{e&&(o.current=getComputedStyle(e)),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 NAME="VisuallyHidden",VisuallyHidden=React__namespace.forwardRef(((e,t)=>jsxRuntime.exports.jsx(Primitive.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}})));VisuallyHidden.displayName=NAME;var Root$1=VisuallyHidden,[createTooltipContext,createTooltipScope]=createContextScope$3("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,s]=React__namespace.useState(!0),l=React__namespace.useRef(!1),c=React__namespace.useRef(0);return React__namespace.useEffect((()=>{const e=c.current;return()=>window.clearTimeout(e)}),[]),jsxRuntime.exports.jsx(TooltipProviderContextProvider,{scope:t,isOpenDelayed:i,delayDuration:n,onOpen:React__namespace.useCallback((()=>{window.clearTimeout(c.current),s(!1)}),[]),onClose:React__namespace.useCallback((()=>{window.clearTimeout(c.current),c.current=window.setTimeout((()=>s(!0)),o)}),[o]),isPointerInTransitRef:l,onPointerInTransitChange:React__namespace.useCallback((e=>{l.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=!1,onOpenChange:a,disableHoverableContent:i,delayDuration:s}=e,l=useTooltipProviderContext(TOOLTIP_NAME,e.__scopeTooltip),c=usePopperScope$2(t),[u,d]=React__namespace.useState(null),p=useId(),f=React__namespace.useRef(0),m=i??l.disableHoverableContent,h=s??l.delayDuration,_=React__namespace.useRef(!1),[g=!1,v]=useControllableState$1({prop:o,defaultProp:r,onChange:e=>{e?(l.onOpen(),document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN))):l.onClose(),a?.(e)}}),b=React__namespace.useMemo((()=>g?_.current?"delayed-open":"instant-open":"closed"),[g]),y=React__namespace.useCallback((()=>{window.clearTimeout(f.current),f.current=0,_.current=!1,v(!0)}),[v]),E=React__namespace.useCallback((()=>{window.clearTimeout(f.current),f.current=0,v(!1)}),[v]),w=React__namespace.useCallback((()=>{window.clearTimeout(f.current),f.current=window.setTimeout((()=>{_.current=!0,v(!0),f.current=0}),h)}),[h,v]);return React__namespace.useEffect((()=>()=>{f.current&&(window.clearTimeout(f.current),f.current=0)}),[]),jsxRuntime.exports.jsx(Root2$2,{...c,children:jsxRuntime.exports.jsx(TooltipContextProvider,{scope:t,contentId:p,open:g,stateAttribute:b,trigger:u,onTriggerChange:d,onTriggerEnter:React__namespace.useCallback((()=>{l.isOpenDelayed?w():y()}),[l.isOpenDelayed,w,y]),onTriggerLeave:React__namespace.useCallback((()=>{m?E():(window.clearTimeout(f.current),f.current=0)}),[E,m]),onOpen:y,onClose:E,disableHoverableContent:m,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),u=React__namespace.useCallback((()=>l.current=!1),[]);return React__namespace.useEffect((()=>()=>document.removeEventListener("pointerup",u)),[u]),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,(()=>{l.current=!0,document.addEventListener("pointerup",u,{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,u=r.current,{onPointerInTransitChange:d}=o,p=React__namespace.useCallback((()=>{s(null),d(!1)}),[d]),f=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),d(!0)}),[d]);return React__namespace.useEffect((()=>()=>p()),[p]),React__namespace.useEffect((()=>{if(l&&u){const e=e=>f(e,u),t=e=>f(e,l);return l.addEventListener("pointerleave",e),u.addEventListener("pointerleave",t),()=>{l.removeEventListener("pointerleave",e),u.removeEventListener("pointerleave",t)}}}),[l,u,f,p]),React__namespace.useEffect((()=>{if(i){const e=e=>{const t=e.target,n={x:e.clientX,y:e.clientY},o=l?.contains(t)||u?.contains(t),r=!isPointInPolygon$1(n,i);o?p():r&&(p(),c())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}}),[l,u,i,c,p]),jsxRuntime.exports.jsx(TooltipContentImpl,{...e,ref:a})})),[VisuallyHiddenContentContextProvider,useVisuallyHiddenContentContext]=createTooltipContext(TOOLTIP_NAME,{isInside:!1}),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:u}=l;return React__namespace.useEffect((()=>(document.addEventListener(TOOLTIP_OPEN,u),()=>document.removeEventListener(TOOLTIP_OPEN,u))),[u]),React__namespace.useEffect((()=>{if(l.trigger){const e=e=>{const t=e.target;t?.contains(l.trigger)&&u()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}}),[l.trigger,u]),jsxRuntime.exports.jsx(DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:e=>e.preventDefault(),onDismiss:u,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].x,s=t[e].y,l=t[a].x,c=t[a].y;s>o!=c>o&&n<(l-i)*(o-s)/(c-s)+i&&(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:u,isError:d,description:p,deleteLabel:f}=useAttachmentContent(e,t),m=React.useCallback((e=>{r&&e.preventDefault()}),[r]),h=useClickOnKeyDown(l);return jsxRuntime.exports.jsxs("div",{className:classNames("lb-attachment lb-media-attachment",s),"data-error":d?"":void 0,...c,role:n?"button":void 0,onClick:n,tabIndex:n?0:-1,onKeyDown:n?h:void 0,children:[jsxRuntime.exports.jsx("div",{className:"lb-attachment-preview",children:u?jsxRuntime.exports.jsx(SpinnerIcon,{}):d?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:p,children:p})]}),o&&jsxRuntime.exports.jsx(Tooltip,{content:f,children:jsxRuntime.exports.jsx("button",{type:"button",className:"lb-attachment-delete",onClick:o,onPointerDown:m,"aria-label":f,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:u,isError:d,description:p,deleteLabel:f}=useAttachmentContent(e,t),m=React.useCallback((e=>{r&&e.preventDefault()}),[r]),h=useClickOnKeyDown(l);return jsxRuntime.exports.jsxs("div",{className:classNames("lb-attachment lb-file-attachment",s),"data-error":d?"":void 0,...c,role:n?"button":void 0,onClick:n,tabIndex:n?0:-1,onKeyDown:n?h:void 0,children:[jsxRuntime.exports.jsx("div",{className:"lb-attachment-preview",children:u?jsxRuntime.exports.jsx(SpinnerIcon,{}):d?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:p,children:p})]}),o&&jsxRuntime.exports.jsx(Tooltip,{content:f,children:jsxRuntime.exports.jsx("button",{type:"button",className:"lb-attachment-delete",onClick:o,onPointerDown:m,"aria-label":f,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),u=useCallbackRef$1(a),d=React__namespace.useRef(null),p=useComposedRefs(t,(e=>l(e))),f=React__namespace.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;React__namespace.useEffect((()=>{if(o){let e=function(e){if(f.paused||!s)return;const t=e.target;s.contains(t)?d.current=t:focus(d.current,{select:!0})},t=function(e){if(f.paused||!s)return;const t=e.relatedTarget;null!==t&&(s.contains(t)||focus(d.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,f.paused]),React__namespace.useEffect((()=>{if(s){focusScopesStack.add(f);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,u),s.dispatchEvent(t),t.defaultPrevented||focus(e??document.body,{select:!0}),s.removeEventListener(AUTOFOCUS_ON_UNMOUNT,u),focusScopesStack.remove(f)}),0)}}}),[s,c,u,f]);const m=React__namespace.useCallback((e=>{if(!n&&!o)return;if(f.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,f.paused]);return jsxRuntime.exports.jsx(Primitive.div,{tabIndex:-1,...i,ref:p,onKeyDown:m})}));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 u=function(e){e&&!l.has(e)&&Array.prototype.forEach.call(e.children,(function(e){if(s.has(e))u(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 u(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]"))),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,u=e.enabled,d=e.shards,p=e.sideCar,f=e.noIsolation,m=e.inert,h=e.allowPinchZoom,_=e.as,g=void 0===_?"div":_,v=e.gapMode,b=__rest(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),y=p,E=useMergeRefs([n,t]),w=__assign(__assign({},b),r);return React__namespace.createElement(React__namespace.Fragment,null,u&&React__namespace.createElement(y,{sideCar:effectCar,removeScrollBar:c,shards:d,noIsolation:f,inert:m,setCallbacks:a,allowPinchZoom:!!h,lockRef:n,gapMode:v}),i?React__namespace.cloneElement(React__namespace.Children.only(s),__assign(__assign({},w),{ref:E})):React__namespace.createElement(g,__assign({},w,{className:l,ref:E}),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,u=i>0,d=0,p=0;do{var f=getScrollVariables(e,s),m=f[0],h=f[1]-f[2]-a*m;(m||h)&&elementCouldBeScrolled(e,s)&&(d+=h,p+=m),s=s instanceof ShadowRoot?s.host:s.parentNode}while(!l&&s!==document.body||l&&(t.contains(s)||t===s));return(u&&(r&&Math.abs(d)<1||!r&&i>d)||!u&&(r&&Math.abs(p)<1||!r&&-i>p))&&(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],u=e.target,d=Math.abs(l)>Math.abs(c)?"h":"v";if("touches"in e&&"h"===d&&"range"===u.type)return!1;var p=locationCouldBeScrolled(d,u);if(!p)return!0;if(p?r=d:(r="v"===d?"h":"v",p=locationCouldBeScrolled(d,u)),!p)return!1;if(!o.current&&"changedTouches"in e&&(l||c)&&(o.current=r),!r)return!0;var f=o.current||r;return handleScroll(f,t,e,"h"===f?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)}),[]),u=React__namespace.useCallback((function(e){n.current=getTouchXY(e),o.current=void 0}),[]),d=React__namespace.useCallback((function(t){c(t.type,getDeltaXY(t),t.target,s(t,e.lockRef.current))}),[]),p=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:d,onWheelCapture:d,onTouchMoveCapture:p}),document.addEventListener("wheel",l,nonPassive),document.addEventListener("touchmove",l,nonPassive),document.addEventListener("touchstart",u,nonPassive),function(){lockStack=lockStack.filter((function(e){return e!==a})),document.removeEventListener("wheel",l,nonPassive),document.removeEventListener("touchmove",l,nonPassive),document.removeEventListener("touchstart",u,nonPassive)}}),[]);var f=e.removeScrollBar,m=e.inert;return React__namespace.createElement(React__namespace.Fragment,null,m?React__namespace.createElement(a,{styles:generateStyle(r)}):null,f?React__namespace.createElement(RemoveScrollBar,{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$3(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,u]=React__namespace.useState(!1),[d=!1,p]=useControllableState$1({prop:o,defaultProp:r,onChange:a});return jsxRuntime.exports.jsx(Root2$2,{...s,children:jsxRuntime.exports.jsx(PopoverProvider,{scope:t,contentId:useId(),triggerRef:l,open:d,onOpenChange:p,onOpenToggle:React__namespace.useCallback((()=>p((e=>!e))),[p]),hasCustomAnchor:c,onCustomAnchorAdd:React__namespace.useCallback((()=>u(!0)),[]),onCustomAnchorRemove:React__namespace.useCallback((()=>u(!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 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,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:u,...d}=e,p=usePopoverContext(CONTENT_NAME$2,n),f=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:u,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:c,onDismiss:()=>p.onOpenChange(!1),children:jsxRuntime.exports.jsx(Content$1,{"data-state":getState(p.open),role:"dialog",id:p.contentId,...f,...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)"}})})})})),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(),u=React.useCallback((e=>{s(e),t?.(e)}),[t]),d=React.useCallback((t=>{s(!1),e?.(t)}),[e]);return jsxRuntime.exports.jsxs(Root2$1,{open:i,onOpenChange:u,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:d,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:u,onEmptyChange:d,onEditorClick:p}){const{isEmpty:f}=useComposer(),{hasMaxAttachments:m}=useComposerAttachmentsContext(),h=useOverrides(a),_=React.useMemo((()=>({...editorRequiredComponents,FloatingToolbar:t?ComposerFloatingToolbar:void 0})),[t]),[g,v]=useComposerAttachmentsDropArea({disabled:l||m});React.useLayoutEffect((()=>{d(f)}),[f,d]);const b=React.useCallback((e=>{e.preventDefault()}),[]),y=React.useCallback((e=>{e.stopPropagation()}),[]);return jsxRuntime.exports.jsxs("div",{className:"lb-composer-editor-container",...v,children:[jsxRuntime.exports.jsx(ComposerEditor,{className:"lb-composer-editor",onClick:p,placeholder:h.COMPOSER_PLACEHOLDER,defaultValue:o,autoFocus:s,components:_,disabled:l,dir:h.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:h.COMPOSER_INSERT_MENTION,disabled:l}),jsxRuntime.exports.jsx(ComposerInsertEmojiEditorAction,{label:h.COMPOSER_INSERT_EMOJI,onPickerOpenChange:u,disabled:l}),e&&jsxRuntime.exports.jsx(ComposerAttachFilesEditorAction,{label:h.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:h.COMPOSER_SEND,shortcut:jsxRuntime.exports.jsx(ShortcutTooltipKey,{name:"enter"}),children:jsxRuntime.exports.jsx(ComposerSubmit,{asChild:!0,children:jsxRuntime.exports.jsx(Button,{onPointerDown:b,onClick:y,className:"lb-composer-action",variant:"primary","aria-label":h.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,{}),h.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:u,onBlur:d,className:p,onFocus:f,autoFocus:m,disabled:h,showAttachments:_=!0,showFormattingControls:g=!0,showAttribution:v,roomId:b,...y},E)=>{const w=useRoomOrNull(),C=void 0!==b?b:w?.id;if(void 0===C)throw new Error("Composer must be a descendant of RoomProvider component");const x=useCreateRoomThread(C),R=useCreateRoomComment(C),S=useEditRoomComment(C),{preventUnsavedComposerChanges:D}=useLiveblocksUIConfig(),T=void 0!==useResolveMentionSuggestions(),O=React.useRef(!0),I=React.useRef(!1),A=useOverrides(c),[N,k]=useControllableState((void 0!==i||void 0!==s)&&i,l,s),$=React.useSyncExternalStore(React.useCallback((e=>null===w?()=>{}:w.events.self.subscribeOnce(e)),[w]),React.useCallback((()=>w?.getSelf()?.canComment??!0),[w]),React.useCallback((()=>!0),[])),F=useRoomPermissions(C),j=F.size>0?F.has(Permission.CommentsWrite)||F.has(Permission.Write):$,P=React.useCallback((e=>{O.current=e}),[]),M=React.useCallback((e=>{I.current=e}),[]),L=React.useCallback((e=>{f?.(e),e.isDefaultPrevented()||O.current&&j&&k?.(!1)}),[k,f,j]),B=React.useCallback((e=>{if(d?.(e),e.isDefaultPrevented())return;!e.currentTarget.contains(e.relatedTarget??document.activeElement)&&O.current&&!I.current&&k?.(!0)}),[d,k]),U=React.useCallback((e=>{e.stopPropagation(),O.current&&j&&k?.(!1)}),[k,j]),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",p),dir:A.dir,...y,ref:E,"data-collapsed":N?"":void 0,onFocus:L,onBlur:B,disabled:h||!j,defaultAttachments:r,pasteFilesAsAttachments:_,preventUnsavedChanges:D,roomId:C,children:jsxRuntime.exports.jsx(ComposerEditorContainer,{defaultValue:o,actions:u,overrides:c,isCollapsed:N,showAttachments:_,showAttribution:v,showFormattingControls:g,hasResolveMentionSuggestions:T,onEmptyChange:P,onEmojiPickerOpenChange:M,onEditorClick:U,autoFocus:m,disabled:h})})})}));function createContextScope$1(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;function 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 n=[...n,o],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$1(o,...t)]}function composeContextScopes$1(...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 createCollection(e){const t=e+"CollectionProvider",[n,o]=createContextScope$1(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=React__default.default.forwardRef(((e,t)=>{const{scope:n,children:o}=e,r=useComposedRefs(t,a(s,n).collectionRef);return jsxRuntime.exports.jsx(Slot,{ref:r,children:o})}));l.displayName=s;const c=e+"CollectionItemSlot",u="data-radix-collection-item",d=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(c,n);return React__default.default.useEffect((()=>(l.itemMap.set(i,{ref:i,...r}),()=>{l.itemMap.delete(i)}))),jsxRuntime.exports.jsx(Slot,{[u]:"",ref:s,children:o})}));return d.displayName=c,[{Provider:i,Slot:l,ItemSlot:d},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"}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;function 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 n=[...n,o],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}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:u=!1,...d}=e,p=React__namespace.useRef(null),f=useComposedRefs(t,p),m=useDirection(a),[h=null,_]=useControllableState$1({prop:i,defaultProp:s,onChange:l}),[g,v]=React__namespace.useState(!1),b=useCallbackRef$1(c),y=useCollection$1(n),E=React__namespace.useRef(!1),[w,C]=React__namespace.useState(0);return React__namespace.useEffect((()=>{const e=p.current;if(e)return e.addEventListener(ENTRY_FOCUS,b),()=>e.removeEventListener(ENTRY_FOCUS,b)}),[b]),jsxRuntime.exports.jsx(RovingFocusProvider,{scope:n,orientation:o,dir:m,loop:r,currentTabStopId:h,onItemFocus:React__namespace.useCallback((e=>_(e)),[_]),onItemShiftTab:React__namespace.useCallback((()=>v(!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,...d,ref:f,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===h)),...e].filter(Boolean).map((e=>e.ref.current)),u)}}E.current=!1})),onBlur:composeEventHandlers(e.onBlur,(()=>v(!1)))})})})),ITEM_NAME$2="RovingFocusGroupItem",RovingFocusGroupItem=React__namespace.forwardRef(((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:o=!0,active:r=!1,tabStopId:a,...i}=e,s=useId(),l=a||s,c=useRovingFocusContext(ITEM_NAME$2,n),u=c.currentTabStopId===l,d=useCollection$1(n),{onFocusableItemAdd:p,onFocusableItemRemove:f}=c;return React__namespace.useEffect((()=>{if(o)return p(),()=>f()}),[o,p,f]),jsxRuntime.exports.jsx(Collection$1.ItemSlot,{scope:n,id:l,focusable:o,active:r,children:jsxRuntime.exports.jsx(Primitive.span,{tabIndex:u?0:-1,"data-orientation":c.orientation,...i,ref:t,onMouseDown:composeEventHandlers(e.onMouseDown,(e=>{o?c.onItemFocus(l):e.preventDefault()})),onFocus:composeEventHandlers(e.onFocus,(()=>c.onItemFocus(l))),onKeyDown:composeEventHandlers(e.onKeyDown,(e=>{if("Tab"===e.key&&e.shiftKey)return void c.onItemShiftTab();if(e.target!==e.currentTarget)return;const t=getFocusIntent(e,c.orientation,c.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=d().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=c.loop?wrapArray$1(n,o+1):n.slice(o+1)}setTimeout((()=>focusFirst$1(n)))}}))})})}));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$3(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),u=React__namespace.useRef(!1),d=useCallbackRef$1(a),p=useDirection(r);return React__namespace.useEffect((()=>{const e=()=>{u.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>u.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:d,content:l,onContentChange:c,children:jsxRuntime.exports.jsx(MenuRootProvider,{scope:t,onClose:React__namespace.useCallback((()=>d(!1)),[d]),isUsingKeyboardRef:u,dir:p,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)})})),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:u,onFocusOutside:d,onInteractOutside:p,onDismiss:f,disableOutsideScroll:m,...h}=e,_=useMenuContext(CONTENT_NAME$1,n),g=useMenuRootContext(CONTENT_NAME$1,n),v=usePopperScope(n),b=useRovingFocusGroupScope(n),y=useCollection(n),[E,w]=React__namespace.useState(null),C=React__namespace.useRef(null),x=useComposedRefs(t,C,_.onContentChange),R=React__namespace.useRef(0),S=React__namespace.useRef(""),D=React__namespace.useRef(0),T=React__namespace.useRef(null),O=React__namespace.useRef("right"),I=React__namespace.useRef(0),A=m?ReactRemoveScroll:React__namespace.Fragment,N=m?{as:Slot,allowPinchZoom:!0}:void 0;React__namespace.useEffect((()=>()=>window.clearTimeout(R.current)),[]),useFocusGuards();const k=React__namespace.useCallback((e=>O.current===T.current?.side&&isPointerInGraceArea(e,T.current?.area)),[]);return jsxRuntime.exports.jsx(MenuContentProvider,{scope:n,searchRef:S,onItemEnter:React__namespace.useCallback((e=>{k(e)&&e.preventDefault()}),[k]),onItemLeave:React__namespace.useCallback((e=>{k(e)||(C.current?.focus(),w(null))}),[k]),onTriggerLeave:React__namespace.useCallback((e=>{k(e)&&e.preventDefault()}),[k]),pointerGraceTimerRef:D,onPointerGraceIntentChange:React__namespace.useCallback((e=>{T.current=e}),[]),children:jsxRuntime.exports.jsx(A,{...N,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:u,onFocusOutside:d,onInteractOutside:p,onDismiss:f,children:jsxRuntime.exports.jsx(Root,{asChild:!0,...b,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(_.open),"data-radix-menu-content":"",dir:g.dir,...v,...h,ref:x,style:{outline:"none",...h.style},onKeyDown:composeEventHandlers(h.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=I.current!==e.clientX;if(e.currentTarget.contains(t)&&n){const t=e.clientX>I.current?"right":"left";O.current=t,I.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),[u,d]=React__namespace.useState(!1),[p,f]=React__namespace.useState("");return React__namespace.useEffect((()=>{const e=l.current;e&&f((e.textContent??"").trim())}),[a.children]),jsxRuntime.exports.jsx(Collection.ItemSlot,{scope:n,disabled:o,textValue:r??p,children:jsxRuntime.exports.jsx(Item,{asChild:!0,...s,focusable:!o,children:jsxRuntime.exports.jsx(Primitive.div,{role:"menuitem","data-highlighted":u?"":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,(()=>d(!0))),onBlur:composeEventHandlers(e.onBlur,(()=>d(!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},u=React__namespace.useCallback((()=>{i.current&&window.clearTimeout(i.current),i.current=null}),[]);return React__namespace.useEffect((()=>u),[u]),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),u()}),100))}))),onPointerLeave:composeEventHandlers(e.onPointerLeave,whenMouse((e=>{u();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].x,s=t[e].y,l=t[a].x,c=t[a].y;s>o!=c>o&&n<(l-i)*(o-s)/(c-s)+i&&(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$3(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),[u=!1,d]=useControllableState$1({prop:r,defaultProp:a,onChange:i});return jsxRuntime.exports.jsx(DropdownMenuProvider,{scope:t,triggerId:useId(),triggerRef:c,contentId:useId(),open:u,onOpenChange:d,onOpenToggle:React__namespace.useCallback((()=>d((e=>!e))),[d]),modal:s,children:jsxRuntime.exports.jsx(Root3,{...l,open:u,onOpenChange:d,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:"span",c=useOverrides(),u=t??c.LIST_REMAINING,d=React.useMemo((()=>{const t=n&&n<e.length-1?[...e.slice(0,n),u(e.length-n)]:[...e],r=Array(t.length).fill(".");return listFormat(o).formatToParts(r).map((e=>"element"===e.type?t.shift():e.value))}),[u,o,n,e]);return jsxRuntime.exports.jsx(l,{className:classNames("lb-list",r),...i,ref:s,children:d})})),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]),u=useOverrides(n),d=React.useMemo((()=>jsxRuntime.exports.jsx("span",{children:u.COMMENT_REACTION_LIST(jsxRuntime.exports.jsx(List,{values:t.users.map((e=>jsxRuntime.exports.jsx(User,{userId:e.id,replaceSelf:!0},e.id))),formatRemaining:u.LIST_REMAINING_USERS,truncate:REACTIONS_TRUNCATE,locale:u.locale}),t.emoji,t.users.length)})),[u,t]),p=React.useCallback((e=>{e.stopPropagation()}),[]),f=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:d,multiline:!0,className:"lb-comment-reaction-tooltip",children:jsxRuntime.exports.jsx(Root$3,{asChild:!0,pressed:c,onPressedChange:f,onClick:p,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:u,onCommentDelete:d,overrides:p,className:f,additionalActions:m,additionalActionsClassName:h,autoMarkReadThreadId:_,...g},v)=>{const b=React.useRef(null),y=useRefs(v,b),E=useCurrentUserId(),w=useDeleteRoomComment(e.roomId),C=useEditRoomComment(e.roomId),x=useAddRoomCommentReaction(e.roomId),R=useRemoveRoomCommentReaction(e.roomId),S=useOverrides(p),[D,T]=React.useState(!1),[O,I]=React.useState(!1),[A,N]=React.useState(!1),[k,$]=React.useState(!1),{mediaAttachments:F,fileAttachments:j}=React.useMemo((()=>separateMediaAttachments(e.attachments)),[e.attachments]),P=React.useCallback((e=>{e.stopPropagation()}),[]),M=React.useCallback((()=>{T(!0)}),[]),L=React.useCallback((e=>{e.stopPropagation(),T(!1)}),[]),B=React.useCallback((({body:t,attachments:n},o)=>{u?.(e),o.preventDefault(),T(!1),C({commentId:e.id,threadId:e.threadId,body:t,attachments:n})}),[e,C,u]),U=React.useCallback((()=>{d?.(e),w({commentId:e.id,threadId:e.threadId})}),[e,w,d]),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&&I(!0)}),[]),n||e.body?jsxRuntime.exports.jsxs(TooltipProvider,{children:[_&&jsxRuntime.exports.jsx(AutoMarkReadThreadIdHandler,{commentRef:b,threadId:_,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",(A||k)&&"lb-comment:action-open",f),"data-deleted":e.body?void 0:"","data-editing":D?"":void 0,"data-target":O?"":void 0,dir:S.dir,...g,ref:y,children:[jsxRuntime.exports.jsxs("div",{className:"lb-comment-header",children:[jsxRuntime.exports.jsxs("div",{className:"lb-comment-details",children:[jsxRuntime.exports.jsx(Avatar,{className:"lb-comment-avatar",userId:e.userId,onClick:V}),jsxRuntime.exports.jsxs("span",{className:"lb-comment-details-labels",children:[jsxRuntime.exports.jsx(User,{className:"lb-comment-author",userId:e.userId,onClick:V}),jsxRuntime.exports.jsxs("span",{className:"lb-comment-date",children:[jsxRuntime.exports.jsx(Timestamp,{locale:S.locale,date:e.createdAt,className:"lb-date lb-comment-date-created"}),e.editedAt&&e.body&&jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[" ",jsxRuntime.exports.jsx("span",{className:"lb-comment-date-edited",children:S.COMMENT_EDITED})]})]})]})]}),o&&!D&&jsxRuntime.exports.jsxs("div",{className:classNames("lb-comment-actions",h),children:[m??null,r&&jsxRuntime.exports.jsx(EmojiPicker,{onEmojiSelect:H,onOpenChange:$,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:A,onOpenChange:N,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:B,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:L,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&&(F.length>0||j.length>0)?jsxRuntime.exports.jsxs("div",{className:"lb-comment-attachments",children:[F.length>0?jsxRuntime.exports.jsx("div",{className:"lb-attachments",children:F.map((t=>jsxRuntime.exports.jsx(CommentMediaAttachment,{attachment:t,overrides:p,onAttachmentClick:c,roomId:e.roomId},t.id)))}):null,j.length>0?jsxRuntime.exports.jsx("div",{className:"lb-attachments",children:j.map((t=>jsxRuntime.exports.jsx(CommentFileAttachment,{attachment:t,overrides:p,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:p},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:u,components:d,className:p,asChild:f,...m},h)=>{const _=useOverrides(u),{Anchor:g}=useComponents(d),v=f?Slot:g,[b,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(v,{className:classNames("lb-root lb-inbox-notification","hover"===c&&"lb-inbox-notification:show-actions-hover",b&&"lb-inbox-notification:action-open",p),dir:_.dir,"data-unread":a?"":void 0,"data-kind":e.kind,onClick:C,href:l,...m,ref:h,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:_.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:b,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"}),_.INBOX_NOTIFICATION_MARK_AS_READ]}):null,jsxRuntime.exports.jsxs(DropdownItem,{onSelect:T,onClick:x,children:[jsxRuntime.exports.jsx(DeleteIcon,{className:"lb-dropdown-item-icon"}),_.INBOX_NOTIFICATION_DELETE]})]}),children:jsxRuntime.exports.jsx(Tooltip,{content:_.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":_.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),u=_useInboxNotificationThread(e.id),d=useCurrentUserId(),{info:p}=useRoomInfo(e.roomId),f=React.useMemo((()=>{const t=generateInboxNotificationThreadContents(e,u,d??"");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:u.roomId}):void 0,e.length),d=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:d,threadId:u.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:u.roomId}):void 0),d=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:d,threadId:u.id,commentId:a.id}}default:return assertNever(t,"Unexpected thread inbox notification type")}}),[c,d,e,i,n,r,o,u]),m=React.useMemo((()=>{const e=t??p?.url;return e?generateURL(e,void 0,f?.commentId):void 0}),[f?.commentId,t,p?.url]);if(!f)return null;const{aside:h,title:_,content:g,date:v,unread:b}=f;return jsxRuntime.exports.jsx(InboxNotificationLayout,{inboxNotification:e,aside:h,title:_,date:v,unread:b,overrides:i,href:m,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:u,onCommentDelete:d,onThreadDelete:p,onAuthorClick:f,onMentionClick:m,onAttachmentClick:h,onComposerSubmit:_,overrides:g,className:v,...b},y)=>{const E=useMarkRoomThreadAsResolved(e.roomId),w=useMarkRoomThreadAsUnresolved(e.roomId),C=useOverrides(g),x=React.useMemo((()=>o?0:e.comments.findIndex((e=>e.body))),[o,e.comments]),R=React.useMemo((()=>o?e.comments.length-1:findLastIndex(e.comments,(e=>e.body))),[o,e.comments]),{status:S,unreadSince:D}=useThreadSubscription(e.id),T=React.useMemo((()=>{if("subscribed"!==S)return;if(null===D)return x;const t=e.comments.findIndex((e=>(!!o||e.body)&&e.createdAt>D));return t>=0&&t<e.comments.length?t:void 0}),[x,o,S,e.comments,D]),[O,I]=React.useState(),A=void 0===O?T:O;React.useEffect((()=>{T&&I((e=>Math.min(e??1/0,T)))}),[T]);const N=React.useCallback((e=>{e.stopPropagation()}),[]),k=React.useCallback((t=>{c?.(t),t?E(e.id):w(e.id)}),[E,w,c,e.id]),$=React.useCallback((t=>{d?.(t);e.comments.filter((e=>e.body)).length<=1&&p?.(e)}),[d,p,e]);return jsxRuntime.exports.jsx(TooltipProvider,{children:jsxRuntime.exports.jsxs("div",{className:classNames("lb-root lb-thread","hover"===n&&"lb-thread:show-actions-hover",v),"data-resolved":e.resolved?"":void 0,"data-unread":void 0!==T?"":void 0,dir:C.dir,...b,ref:y,children:[jsxRuntime.exports.jsx("div",{className:"lb-thread-comments",children:e.comments.map(((i,c)=>{const d=c===x,p=void 0!==T&&c>=T,_=jsxRuntime.exports.jsx(Comment,{className:"lb-thread-comment","data-unread":p?"":void 0,comment:i,indentContent:t,showDeleted:o,showActions:n,showReactions:a,showAttachments:s,showComposerFormattingControls:l,onCommentEdit:u,onCommentDelete:$,onAuthorClick:f,onMentionClick:m,onAttachmentClick:h,autoMarkReadThreadId:c===R&&p?e.id:void 0,additionalActionsClassName:d?"lb-thread-actions":void 0,additionalActions:d&&r?jsxRuntime.exports.jsx(Tooltip,{content:e.resolved?C.THREAD_UNRESOLVE:C.THREAD_RESOLVE,children:jsxRuntime.exports.jsx(Root$3,{pressed:e.resolved,onPressedChange:k,asChild:!0,children:jsxRuntime.exports.jsx(Button,{className:"lb-comment-action",onClick:N,"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===A&&A!==x&&A<=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]})}),_]},i.id):_}))}),i&&jsxRuntime.exports.jsx(Composer,{className:"lb-thread-composer",threadId:e.id,defaultCollapsed:"collapsed"===i||void 0,showAttachments:s,showFormattingControls:l,onComposerSubmit:_,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,u=e.showDeletedComments,d=e.showResolveAction,p=void 0===d||d,f=e.showReactions,m=void 0===f||f,h=e.showComposer,_=void 0===h?"collapsed":h,g=e.showAttachments,v=void 0===g||g,b=e.showComposerFormattingControls,y=void 0===b||b;return a&&(_=!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:u,showResolveAction:p,showReactions:m,showComposer:_,showAttachments:v,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$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 _classCallCheck$1(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _toPrimitive$1(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$1(e){var t=_toPrimitive$1(e,"string");return"symbol"===_typeof$1(t)?t:String(t)}function _defineProperties$1(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$1(o.key),o)}}function _createClass$1(e,t,n){return t&&_defineProperties$1(e.prototype,t),n&&_defineProperties$1(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$1(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$1(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}function _arrayWithHoles$1(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$1(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function _unsupportedIterableToArray$1(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray$1(e,t);var n=Object.prototype.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$1(e,t):void 0}}function _nonIterableRest$1(){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$1(e)||_iterableToArray(e)||_unsupportedIterableToArray$1(e)||_nonIterableRest$1()}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$1(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$1(this,e),this.init(t,n)}return _createClass$1(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$1(this,e),this.observers={}}return _createClass$1(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$1(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$1(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$1(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$1(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$1(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$1(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$1(t)&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"===_typeof$1(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,u=c[c.length-1],d=t.lng||this.language,p=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d&&"cimode"===d.toLowerCase()){if(p){var f=t.nsSeparator||this.options.nsSeparator;return a?{res:"".concat(u).concat(f).concat(l),usedKey:l,exactUsedKey:l,usedLng:d,usedNS:u}:"".concat(u).concat(f).concat(l)}return a?{res:l,usedKey:l,exactUsedKey:l,usedLng:d,usedNS:u}:l}var m=this.resolve(e,t),h=m&&m.res,_=m&&m.usedKey||l,g=m&&m.exactUsedKey||l,v=Object.prototype.toString.apply(h),b=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject;if(y&&h&&("string"!=typeof h&&"boolean"!=typeof h&&"number"!=typeof h)&&["[object Number]","[object Function]","[object RegExp]"].indexOf(v)<0&&("string"!=typeof b||"[object Array]"!==v)){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,_objectSpread$4(_objectSpread$4({},t),{},{ns:c})):"key '".concat(l," (").concat(this.language,")' returned an object instead of string.");return a?(m.res=E,m):E}if(i){var w="[object Array]"===v,C=w?[]:{},x=w?g:_;for(var R in h)if(Object.prototype.hasOwnProperty.call(h,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]=h[R])}h=C}}else if(y&&"string"==typeof b&&"[object Array]"===v)(h=h.join(b))&&(h=this.extendTranslation(h,e,t,o));else{var D=!1,T=!1,O=void 0!==t.count&&"string"!=typeof t.count,I=n.hasDefaultValue(t),A=O?this.pluralResolver.getSuffix(d,t.count,t):"",N=t["defaultValue".concat(A)]||t.defaultValue;!this.isValidLookup(h)&&I&&(D=!0,h=N),this.isValidLookup(h)||(T=!0,h=l);var k=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&T?void 0:h,$=I&&N!==h&&this.options.updateMissing;if(T||D||$){if(this.logger.log($?"updateKey":"missingKey",d,u,l,$?N:h),i){var F=this.resolve(l,_objectSpread$4(_objectSpread$4({},t),{},{keySeparator:!1}));F&&F.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 j=[],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++)j.push(P[M]);else"all"===this.options.saveMissingTo?j=this.languageUtils.toResolveHierarchy(t.lng||this.language):j.push(t.lng||this.language);var L=function(e,n,o){var a=I&&o!==h?o:k;r.options.missingKeyHandler?r.options.missingKeyHandler(e,u,n,a,$,t):r.backendConnector&&r.backendConnector.saveMissing&&r.backendConnector.saveMissing(e,u,n,a,$,t),r.emit("missingKey",e,u,n,h)};this.options.saveMissing&&(this.options.saveMissingPlurals&&O?j.forEach((function(e){r.pluralResolver.getSuffixes(e,t).forEach((function(n){L([e],l+n,t["defaultValue".concat(n)]||N)}))})):L(j,l,N))}h=this.extendTranslation(h,e,t,m,o),T&&h===l&&this.options.appendNamespaceToMissingKey&&(h="".concat(u,":").concat(l)),(T||D)&&this.options.parseMissingKeyHandler&&(h="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?"".concat(u,":").concat(l):l,D?h:void 0):this.options.parseMissingKeyHandler(h))}return a?(m.res=h,m):h}},{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 u=e.match(this.interpolator.nestingRegexp);i<(u&&u.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 d=n.postProcess||this.options.postProcess,p="string"==typeof d?[d]:d;return null!=e&&p&&p.length&&!1!==n.applyPostProcessor&&(e=postProcessor.handle(p,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 u=l.namespaces;i.options.fallbackNS&&(u=u.concat(i.options.fallbackNS));var d=void 0!==s.count&&"string"!=typeof s.count,p=d&&!s.ordinal&&0===s.count&&i.pluralResolver.shouldUseIntlApi(),f=void 0!==s.context&&("string"==typeof s.context||"number"==typeof s.context)&&""!==s.context,m=s.lngs?s.lngs:i.languageUtils.toResolveHierarchy(s.lng||i.language,s.fallbackLng);u.forEach((function(e){i.isValidLookup(t)||(a=e,!checkedLoadedFor["".concat(m[0],"-").concat(e)]&&i.utils&&i.utils.hasLoadedNamespace&&!i.utils.hasLoadedNamespace(a)&&(checkedLoadedFor["".concat(m[0],"-").concat(e)]=!0,i.logger.warn('key "'.concat(n,'" for languages "').concat(m.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!!!")),m.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 u;d&&(u=i.pluralResolver.getSuffix(n,s.count,s));var m="".concat(i.options.pluralSeparator,"zero");if(d&&(l.push(c+u),p&&l.push(c+m)),f){var h="".concat(c).concat(i.options.contextSeparator).concat(s.context);l.push(h),d&&(l.push(h+u),p&&l.push(h+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$1(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=baseLogger.create("languageUtils")}return _createClass$1(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$1(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$1(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$1(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$1(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$1(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 u=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 d=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,p=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=u(n)))if("function"==typeof d){var l=d(e,r,o);a="string"==typeof l?l:""}else if(o&&Object.prototype.hasOwnProperty.call(o,n))a="";else{if(p){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),p?(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 u=n[1].split(this.formatSeparator).map((function(e){return e.trim()}));n[1]=u.shift(),l=u,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$1(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$1(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$1(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]||{},u=c.locale||c.lng||r.locale||r.lng||n;l=o.formats[i](e,u,_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$1(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$1(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$1(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$1(e[1])&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"===_typeof$1(e[2])||"object"===_typeof$1(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$1(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$1(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$1(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(),u=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?u():setTimeout(u,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$1(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,u=o.options.keySeparator||".";return c=a.keyPrefix&&Array.isArray(t)?t.map((function(e){return"".concat(a.keyPrefix).concat(u).concat(e)})):a.keyPrefix?"".concat(a.keyPrefix).concat(u).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$1(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 _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 _toPrimitive(e,t){if("object"!==_typeof(e)||null===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:String(t)}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 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}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}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}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 _arrayWithHoles(e){if(Array.isArray(e))return 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 _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new 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=Object.prototype.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 _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),u=c.useSuspense,d=c.keyPrefix,p=e||a||i.options&&i.options.defaultNS;p="string"==typeof p?[p]:p||["translation"],i.reportNamespaces.addUsedNamespaces&&i.reportNamespaces.addUsedNamespaces(p);var f=(i.isInitialized||i.initializedStoreOnce)&&p.every((function(e){return hasLoadedNamespace(e,i,c)}));function m(){return i.getFixedT(t.lng||null,"fallback"===c.nsMode?p:p[0],d)}var h=_slicedToArray(React.useState(m),2),_=h[0],g=h[1],v=p.join();t.lng&&(v="".concat(t.lng).concat(v));var b=usePrevious(v),y=React.useRef(!0);React.useEffect((function(){var e=c.bindI18n,n=c.bindI18nStore;function o(){y.current&&g(m)}return y.current=!0,f||u||(t.lng?loadLanguages(i,t.lng,p,(function(){y.current&&g(m)})):loadNamespaces(i,p,(function(){y.current&&g(m)}))),f&&b&&b!==v&&y.current&&g(m),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,v]);var E=React.useRef(!0);React.useEffect((function(){y.current&&!E.current&&g(m),E.current=!1}),[i,d]);var w=[_,i,f];if(w.t=_,w.i18n=i,w.ready=f,f)return w;if(!f&&!u)return w;throw new Promise((function(e){t.lng?loadLanguages(i,t.lng,p,(function(){return e()})):loadNamespaces(i,p,(function(){return e()}))}))}var funcProto=Function.prototype,funcToString=funcProto.toString;funcToString.call(Object);const getBuilderContext=()=>"undefined"==typeof window?{}:Builder.settings.context?Builder.settings.context:Builder.settings;async function fetchAPI(e,t={credentials:"include"}){const n={"Content-Type":"application/json"},o=getAuthorization();o&&(n.Authorization=o),t.headers=Object.assign({},n,t.headers),t.credentials="include";const r=await fetch(`${getRootUrl()}${e}`,t);if(401===r.status)throw new Error(401);const a=await r.json();if(a.errors)throw console.error(a.errors),new Error("Failed to fetch API");return a}function getAuthorization(){try{const e=getBuilderContext();let t=e.tenantId,n=e.authToken;return t&&n?`Bearer ${t},${n}`:null}catch(e){console.error(e)}}function getUserId(){try{let e=getBuilderContext().userId;return e||null}catch(e){console.error(e)}}function getRootUrl(e){const t=getBuilderContext();if(t.rootUrl)return t.rootUrl;const n="undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"";return n||(e||"")}const Router={getTabDisplayAs(e,t){var n=new URLSearchParams(document.location.search);if(n.has("display"))return n.get("display");const o=`tab_${e}_display`,r=sessionStorage.getItem(o);let a="grid";return!0===t&&(a="split"),window.innerWidth<=768?"grid":r||a},setTabDisplayAs(e,t){const n=`tab_${e}_display`;sessionStorage.setItem(n,t)},getAppPath:({formFactor:e,appId:t})=>`/app/${t}`,getPagePath(){},getObjectListViewPath:({formFactor:e,appId:t,objectName:n,listViewName:o})=>`/app/${t}/${n}/grid/${o}`,getObjectDetailPath(e){const{formFactor:t,appId:n,objectName:o,recordId:r,listViewName:a,_templateType:i}=e;return"JavaScript"===i?`/app/${n}/${o}/view/${r}?side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>`:`/app/${n}/${o}/view/${r}?side_object=\${objectName}&side_listview_id=\${listName}`},getObjectRelatedViewPath:({formFactor:e,appId:t,masterObjectName:n,masterRecordId:o,objectName:r,foreignKey:a})=>`/app/${t}/${n}/${o}/${r}/grid?related_field_name=${a}`};function getImageFieldUrl(e,t){if(window.Meteor){if(1!=window.Meteor.isCordova){const t=e.indexOf("//"),n=e.indexOf("/",t+2);return e.substring(n)}if(t||e.startsWith("http"))return`${e}?token=${window.btoa(JSON.stringify({authToken:Builder.settings.context.authToken}))}`}return e}function toGrayscale(e,t,n){return.2126*e+.7152*t+.0722*n}function isLight(e,t,n){return toGrayscale(e,t,n)>200}function getContrastColor(e){var t="#"===e.charAt(0)?e.substring(1,7):e;return isLight(parseInt(t.substr(0,2),16),parseInt(t.substr(2,2),16),parseInt(t.substr(4,2),16))?"#000000":"#ffffff"}function getLookupListView(e){if(!e)return null;let t,n;return _.each(e.list_views,((e,o)=>{"all"===o?(t=e,t.name||(t.name=o)):"lookup"===o&&(n=e,n.name||(n.name=o))})),n||t}function getComparableAmisVersion(){let e=window.amisRequire&&window.amisRequire("amis")||window.Amis,t=e&&e.version;if(t){let e=t.split(".");return parseFloat(e[0].toString()+"."+e[1].toString())}}function getBowserType(){const e=navigator.userAgent;return-1!==e.indexOf("Chrome")&&-1!==e.indexOf("Safari")&&-1===e.indexOf("Edg")?"Chrome":-1!==e.indexOf("Firefox")?"Firefox":-1!==e.indexOf("Safari")&&-1===e.indexOf("Chrome")&&-1===e.indexOf("Edge")?"Safari":-1!==e.indexOf("Edg")?"Edge":"Unknown browser"}function getNumberTpl(e){return`<span>\${_display.${e.name}}</span>`}function getTimeTpl(e){return`<span>\${_display.${e.name}}</span>`}function getDateTpl(e){return`<span>\${_display.${e.name}}</span>`}function getDateTimeTpl(e){return`<span>\${_display.${e.name}}</span>`}function getUiFieldTpl(e){return`<span>\${_display.${e.name}}</span>`}function getUiFileSizeTpl(e){return`<span>\${_display.${e.name}}</span>`}async function getRefObjectNameFieldName(e){return(await getUISchema(e.reference_to)).NAME_FIELD_KEY||"name"}function getSelectTpl(e){return`<span>\${_display.${e.name}}</span>`}function getSelectMap(e){let t={};return _$1.forEach(e,(e=>{const n=e.value+"",o=e.color+"";if(o&&"undefined"!=o){const r="#"===o.charAt(0)?o:"#"+o,a="background:"+r+";color:"+getContrastColor(r)+";line-height:1.5rem;font-size:14px";t[n]=`<span class="rounded-xl px-2 py-1" style='${a}'>${e.label}</span>`}else t[n]=e.label})),t}function getNameTplUrl(e,t){return Router.getObjectDetailPath({...t,formFactor:t.formFactor,appId:"${appId}",objectName:t.objectName||"${objectName}",recordId:`\${${t.idFieldName}}`})}function getNameTpl(e,t){const n=getNameTplUrl(e,t);let o="";t&&t.isLookup&&(o="target='_blank'");let r=e.name;return"lookup"==e.type||"master_detail"==e.type?!e.reference_to&&(e.optionsFunction||e._optionsFunction||e.options)?e.isTableField||(r=`\${${e.name}__label}`):r=`\${_display.${e.name}.label}`:r=`\${_display.${e.name} || ${e.name}}`,t.isRelated&&window.innerWidth>=768?`<a href="${n}" ${o} onclick="return false;">\${${r} | raw}</a>`:`<a href="${n}" ${o}>\${${r} | raw}</a>`}function getRelatedFieldTpl(e,t){let n="";if(!e.reference_to&&(e.optionsFunction||e._optionsFunction||e.options))return e.isTableField?`\${${e.name}}`:`\${${e.name}__label}`;let o="";t&&t.isLookup&&(o="target='_blank'");const r=t.onlyDisplayLookLabel;let a=`data._display.${e.name}`;if(e.isTableField&&(a=`data.${e.name}`),_.isString(e.reference_to)||!e.reference_to)if(e.multiple){let e="<%=item.label%>";if(t.isRelated&&(o="target='_blank'"),!r){e=`<a href="${Router.getObjectDetailPath({formFactor:t.formFactor,appId:"<%=data.appId%>",objectName:"<%=item.objectName%>",recordId:"<%=item.value%>",_templateType:"JavaScript"})}" ${o}><%=item.label%></a>`}n=`\n <% if (${a} && ${a}.length) { %><% ${a}.forEach(function(item,index) { %> <% if(index>0 && index<${a}.length){ %> , <% } %> ${e} <% }); %><% } %>\n `}else{let a=`\${_display.${e.name}.label}`,i=`\${_display.${e.name}.objectName}`,s=`\${_display.${e.name}.value}`;if(e.isTableField&&(a=`\${${e.name}.label}`,i=`\${${e.name}.objectName}`,s=`\${${e.name}.value}`),!r){const e=Router.getObjectDetailPath({formFactor:t.formFactor,appId:"${appId}",objectName:`${i}`,recordId:`${s}`});a=window.innerWidth>=768?`<a href="${e}" ${o} onclick="return false;">${a}</a>`:`<a href="${e}" ${o}>${a}</a>`}n=a}else{let e="<%=item.label%>";if(!r){e=`<a href="${Router.getObjectDetailPath({formFactor:t.formFactor,appId:"<%=data.appId%>",objectName:"<%=item.objectName%>",recordId:"<%=item.value%>",_templateType:"JavaScript"})}" ${o}><%=item.label%></a>`}n=`\n <% if (${a} && ${a}.length) { %><% ${a}.forEach(function(item) { %> ${e} <% }); %><% } %>\n `}return n}async function getLookupTpl(e,t){if(!e.reference_to)return getSelectTpl(e);const n=await getRefObjectNameFieldName(e);if(e.multiple){const o=Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:e.reference_to,recordId:"<%=item._id%>",_templateType:"JavaScript"});return`\n <% if (data.${e.name} && data.${e.name}.length) { %><% data.${e.name}.forEach(function(item) { %> <a href="${o}"><%=item.${n}%></a> <% }); %><% } %>\n `}return`<a href="${Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:e.reference_to,recordId:`\${${e.name}._id}`})}">\${${e.name}.${n}}</a>`}function getSwitchTpl(e){let t=`data._display.${e.name}`;return e.isTableField&&(t=`data.${e.name}`),`<% if (data.${e.name}) { %>\n <span class="slds-icon_container slds-icon-utility-check slds-current-color" title="<%=${t}%>">\n <span ><%= ${t} === "√" ? "<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-4 h-4'><path stroke-linecap='round' stroke-linejoin='round' d='M4.5 12.75l6 6 9-13.5' /></svg>" : ${t} %></span>\n </span>\n <% } %>`}function getPasswordTpl(e){return`<% if (data.${e.name}) { %>\n <span>******</span>\n <% } %>`}function getLocationTpl(e){return`\${${e.name} ? ${e.name}.address : ''}`}async function getFieldTpl(e,t){if((e.is_name||e.name===t.labelFieldName)&&!t.onlyDisplayLookLabel&&!0!==e.multiple)return getNameTpl(e,t);switch(e.type){case"password":return getPasswordTpl(e);case"boolean":case"toggle":return getSwitchTpl(e);case"select":return getSelectTpl(e);case"time":return getTimeTpl(e);case"date":return getDateTpl(e);case"datetime":return getDateTimeTpl(e);case"lookup":case"master_detail":return await getRelatedFieldTpl(e,t);case"location":return await getLocationTpl(e);case"number":case"currency":return await getNumberTpl(e);case"percent":case"formula":case"summary":return getUiFieldTpl(e);case"filesize":return getUiFileSizeTpl(e)}}async function getFieldsTemplate(e,t,n){let o=[];0!=n&&(n=!0);let r=["_id"];e.datasource&&"default"!==e.datasource&&"meteor"!==e.datasource||r.push("space");let a=[],i=[];i=_$1__namespace.isArray(t)?t:_$1__namespace.values(t);for(const e of i)e.name&&(e.expand?o.push(e):e.name.indexOf(".")<0?(!n||"lookup"!=e.type&&"master_detail"!=e.type?r.push(e.alias?`${e.alias}:${e.name}`:e.name):(r.push(`${e.name}`),a.push(`${e.name}`)),_$1.includes(["time","date","datetime","boolean","number","currency"],e.type)&&r.push(`${e.name}`),_$1.includes(["percent","time","filesize","date","datetime","boolean","number","currency","select","file","image","avatar","formula","summary","object","grid"],e.type)&&a.push(`${e.name}`)):(objectFieldName=e.name.split(".")[0],r.push(objectFieldName),a.push(objectFieldName)));a=_$1__namespace.uniq(a),r=_$1__namespace.uniq(r);let s="";return o.length>0&&_$1__namespace.each(o,(function(e){s+=`${e.expandInfo.fieldName}__expand{${e.expandInfo.displayName}}`})),a.length>0?`${r.join(",")},${s},_display:_ui{${a.join(",")}}`:_$1.trimEnd(`${r.join(" ")},${s}`,",")}async function getFindQuery(e,t,n,o){let r=o.limit||10,a=`(top: ${r})`;t&&(a=`(filters:["_id", "=", "${t}"], top: ${r})`);let i="data";o&&(o.alias&&(i=o.alias),o.filters&&(a=`(filters:${o.filters})`),o.queryOptions&&(a=`(${o.queryOptions})`));var s="";e.enable_tree&&_$1__namespace.includes(_$1__namespace.keys(e.fields),"parent")&&_$1__namespace.includes(_$1__namespace.keys(e.fields),"children")&&(s=",parent,children");var l="";"cms_files"===e.name&&(l=",versions");const c=!1===o.count?"":`,count:${e.name}__count(filters:{__filters})`,u=`${await getFieldsTemplate(e,n,o.expand)}${s}${l}`;return{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",queryFields:u,query:`{${i}:${e.name}${a}{${u}}${c}}`}}function getApi$2(e){if(!e)return"${context.rootUrl}/graphql?reload=${additionalFilters|join}&listName=${listName}"}"undefined"!=typeof window&&(window.getImageFieldUrl=getImageFieldUrl);var config={listView:{newRecordMode:"modal",editRecordMode:"modal",perPage:20}};const AmisFormInputs=["text","date","file","avatar","image","datetime","time","number","currency","percent","password","url","color","email"];function getAmisStaticFieldType(e,t,n){return t?_$1__namespace.includes(["text","image","color"],e)?"text"===e&&n&&n.amis&&n.amis.tpl?"static":"image"===e&&n&&n.multiple?"static-images":`static-${e}`:"url"===e?"input-url":"static":_$1__namespace.includes(AmisFormInputs,e)?`input-${e}`:"location"===e?"location-picker":e}let pageCache={};async function getPage({type:e,pageId:t="",appId:n,objectName:o="",recordId:r="",formFactor:a="LARGE"}){const i=`/api/pageSchema/${e}?app=${n}&objectApiName=${o}&recordId=${r}&pageId=${t}&formFactor=${a}`;if(_$1.has(pageCache,i))return pageCache[i];const s=await fetchAPI(i);if(s&&s.schema)return s.schema=JSON.parse(s.schema),s.schema.data&&(delete s.schema.data.recordId,delete s.schema.data.objectName,delete s.schema.data.context,delete s.schema.data.global),pageCache[i]=s,JSON.parse(JSON.stringify(s));pageCache[i]=null}const getFileTableName=e=>{switch(e.type){case"avatar":return"avatars";case"image":return"images";case"file":return"files"}},getAmisFieldType$1=(e,t)=>getAmisStaticFieldType("avatar"===e.type?"image":e.type,t,{multiple:e.multiple});async function getLookupLinkOnClick(e,t){const n=await getPage({type:"record",appId:t.appId,objectName:t.objectName,formFactor:t.formFactor}),o=n?Object.assign({},n.schema,{recordId:"file"==e.type?"${value}":`\${${e.name}}`,data:{...n.schema.data,_inDrawer:!0,recordLoaded:!1,objectName:t.objectName}}):{type:"steedos-record-detail",objectApiName:t.objectName,recordId:"file"==e.type?"${value}":`\${${e.name}}`,showBackButton:!1,showButtons:!0,data:{_inDrawer:!0,recordLoaded:!1}};return{click:{actions:[{actionType:"drawer",drawer:{type:"drawer",title:" ",headerClassName:"hidden",size:"lg",width:window.drawerWidth||"70%",bodyClassName:"p-0 m-0 bg-gray-100",closeOnEsc:!0,closeOnOutside:!0,resizable:!0,actions:[],body:[o],className:"steedos-record-detail-drawer app-popover"},preventDefault:!0}]}}}const getAmisFileReadonlySchema=async(e,t={})=>{const n=e.type,{appId:o,formFactor:r}=t.amisData||{},a=getAmisFieldType$1(e,!0);let i='onclick="return false;"';return window.innerWidth<768&&(i=""),_.includes(["avatar","image"],n)?{type:a,defaultImage:"",enlargeAble:!0,showToolbar:!0}:"file"===n?window.Meteor?.isCordova?{type:"control",body:e.multiple?{type:"each",name:"_display."+e.name,items:{type:"tpl",tpl:"${name}",className:"antd-Button--link inline-block mr-2",onEvent:{click:{actions:[{script:"\n Steedos.cordovaDownload(encodeURI(event.data.url), event.data.name);\n ",actionType:"custom"}],weight:0}}}}:{type:"tpl",tpl:"${_display."+e.name+".name}",className:"antd-Button--link inline-block",onEvent:{click:{actions:[{script:`\n const data = event.data._display.${e.name};\n Steedos.cordovaDownload(encodeURI(data.url), data.name);\n `,actionType:"custom"}],weight:0}}}}:{type:"control",name:"",body:{type:"each",placeholder:"",className:e.multiple?"flex flex-col":"",source:`\${_display.${e.name}|asArray}`,items:{type:"static",labelClassName:"hidden",label:!1,className:"m-0",tpl:`<a href="/app/-/cfs_files_filerecord/view/\${value}" ${i}>\${name}</a>`,onEvent:window.innerWidth<768?null:await getLookupLinkOnClick(e,{appId:o,objectName:"cfs_files_filerecord",formFactor:r})}}}:void 0},getAmisFileEditSchema=e=>{const t=getFileTableName(e);let n={type:getAmisFieldType$1(e,!1),useChunk:!1,receiver:{method:"post",dataType:"form-data",url:`\${context.rootUrl}/api/v6/files/cfs.${t}.filerecord`,requestAdaptor:"\n const superData = (typeof context != 'undefined') ? context : api.body; \n const { _master, global } = superData;\n // const { recordId, objectName } = _master;\n const { spaceId, userId, user } = global;\n /*\n record_id: recordId,\n parent: recordId,\n object_name: objectName,\n owner_name: user.name,\n space: spaceId,\n owner: userId\n */\n // 参考platform 2.2版本,附件字段保存时cfs.files.filerecord、cfs.images.filerecord表中的metadata下只保存space、owner两个属性值。\n api.data.append('space', spaceId);\n api.data.append('owner', userId);\n\n return api;\n ",adaptor:`\n const superData = (typeof context != 'undefined') ? context : api.body; \n const { context:pageContext } = superData; \n var rootUrl = pageContext.rootUrl + "/api/v6/files/download/cfs.${t}.filerecord/";\n payload = {\n status: response.status == 200 ? 0 : response.status,\n msg: response.statusText,\n data: {\n value: payload._id,\n name: payload.original.name,\n url: rootUrl + payload._id + "/" + payload.original.name,\n }\n }\n return payload;\n `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return e.multiple&&(n.multiple=!0,n.joinValues=!1,n.extractValue=!0,"image"===e.type&&Steedos.isCordova()&&Steedos.isCordova()&&(n.accept="")),n},getAmisFileSchema=async(e,t,n)=>t?await getAmisFileReadonlySchema(e,n):getAmisFileEditSchema(e);var frontend_field_group_generalization$1="General",frontend_download$1="Download",frontend_form_save$1="Save",frontend_form_save_and_new$1="Save and New",frontend_form_cancel$1="Cancel",frontend_form_reset$1="Reset",frontend_form_new$1="New",frontend_form_edit$1="Edit",frontend_form_preview$1="Preview",frontend_form_select$1="Select",frontend_form_please_select$1="Please select",frontend_form_confirm$1="Confirm",frontend_form_delete$1="Delete",frontend_form_view$1="view",frontend_form_details$1="Details",frontend_form_validation_failed_url$1="The URL format is incorrect",frontend_delete_confirm_text$1="Are you sure you want to delete this item?",frontend_delete_many_selected_required$1="Please select the item to be deleted",frontend_delete_many_confirm_text$1="Are you sure you want to delete?",frontend_display_type_is_table$1="Table",frontend_display_type_is_split$1="Split View",frontend_display_as$1="Displayed as",frontend_record_sum$1="items",frontend_button_reload_tooltip$1="Refresh",frontend_button_search_tooltip$1="Filter",frontend_fields_filter_button_search$1="Search",frontend_fields_filter_button_settings$1="Set search options",frontend_button_listview_control_tooltip$1="List View Controls",frontend_button_listview_control_label$1="LIST VIEW CONTROLS",frontend_listview_control_columns$1="Show List",frontend_listview_control_columns_mobile_group$1="Mobile side",frontend_listview_control_clone_label$1="Clone",frontend_listview_control_clone_title$1="Clone List View",frontend_listview_control_clone_defaultData_label_start$1="Copy of",frontend_listview_control_clone_defaultData_label_end$1="",frontend_listview_control_delete_label$1="Delete",frontend_listview_control_delete_confirm_text$1="If you delete this list view it will be permanently removed for all users with access. Are you sure you want to delete?",frontend_listview_control_delete_message_success$1="Deletion successful",frontend_listview_control_filters$1="Filter settings",frontend_listview_control_filters_fields_extend$1="Conditional component 1",frontend_listview_control_new_label$1="New",frontend_listview_control_new_title$1="New List View",frontend_listview_control_new_message_success$1="Success",frontend_listview_control_new_message_failed$1="Failure",frontend_listview_control_rename_label$1="Rename",frontend_listview_control_rename_title$1="Rename List View",frontend_listview_control_share$1="Sharing Settings",frontend_listview_control_sort$1="Default sorting rule",frontend_export_excel$1="Export Excel",frontend_export_excel_toast$1="Exporting, please wait",frontend_operation$1="Operation",frontend_import_data$1="Import data",frontend_import_data_object_name$1="Import object",frontend_import_data_queue_import$1="Data import",frontend_import_data_queue_import_description$1="Import description",frontend_import_data_queue_import_encoding$1="Character code",frontend_import_data_queue_import_template_url$1="Import template",frontend_import_data_file$1="Excel file",frontend_import_data_message_success$1="Importing has started...",frontend_import_data_message_failed$1="Import failed",frontend_record_detail_tab_detailed$1="Details",frontend_record_detail_tab_related$1="Related",frontend_all_apps$1="All apps",frontend_all_projects$1="All projects",frontend_open_app_launcher$1="Open App Launcher",frontend_application_launcher$1="Application launcher",frontend_menu$1="Menu",frontend_help$1="Help",frontend_setup$1="Setup",frontend_notifications$1="Notifications",frontend_notifications_allread$1="Mark all as read",frontend_notifications_allread_message$1="All marked as read",frontend_notifications_close_dialog$1="Close",frontend_profile$1="Profile",switch_space$1="Switch Space",frontend_about$1="About",frontend_log_out$1="Log out",frontend_listview_warning_start$1="The current ",frontend_listview_warning_end$1=" view does not exist!",frontend_record_detail_related_list_warning$1="Missing parent object, parent record, or related list object property!",frontend_record_detail_related_lists_warning$1="Missing parent object, or parent record property!",frontend_record_detail_related_lists_info$1="No related child tables found",frontend_calendar_listWeek$1="List",frontend_message_no_permission_to_edit$1="You don't have permission to edit this record!",frontend_message_modification_successful$1="Modification successful!",frontend_message_modification_failed$1="Modification failed!",frontend_objects_related_alert_start$1="No related table fields associated with the related list object",frontend_objects_related_alert_end$1="were found.",frontend_no_records_found$1="No records found.",frontend_records_no_allowedit$1="You do not have edit permission for this record",frontend_app_menu_save_order_group_nesting_error$1="Group nesting is not supported",frontend_menu_new_object$1="New Object",frontend_menu_view_object$1="View Object",frontend_menu_new_micro_page$1="New Micro Page",frontend_menu_edit_micro_page$1="Edit Micro Page",frontend_menu_new_url$1="New URL link",frontend_menu_edit_url$1="Edit URL link",frontend_menu_add_existing_tabs$1="Add existing Tabs",frontend_menu_edit_tab$1="Edit Tab",frontend_menu_delete_tab$1="Delete Tab",frontend_menu_new_group$1="New Group",frontend_menu_edit_group$1="Edit Group",frontend_menu_delete_group$1="Delete Group",frontend_menu_move_group$1="Move Group",frontend_menu_dialog_move_group$1="Move to another Group",frontend_menu_edit_app$1="Edit App",frontend_menu_dialog_name_placeholder$1="Unique identifier",frontend_menu_tabs_group_name_label$1="Name",frontend_menu_tabs_group_name_placeholder$1="Group Name",frontend_menu_tabs_group_default_open_label$1="Whether to expand by default",frontend_button_delete_confirm_text$1="Are you sure you want to delete it?",frontend_app_launcher_button_more$1="More",frontend_app_launcher_button_new_app$1="+ New App",frontend_app_launcher_dialog_new_app_title$1="New App",frontend_app_launcher_dialog_new_app_code_label$1="App ID",frontend_app_launcher_dialog_new_app_name_label$1="Label",frontend_app_launcher_dialog_new_app_icon_label$1="Icon",frontend_crud_toolbar_quick_search_placeholder$1="Quick Search",frontend_crud_toolbar_quick_search_tooltip_prefix$1="Searchable fields:",frontend_lookup_left_tree_search_organizations$1="Search for organizations",frontend_input_table_button_new$1="New",frontend_input_table_button_new_tooltip$1="Save and add a new line, that is, save the current line data and add a new blank line",frontend_input_table_button_copy$1="Copy",frontend_input_table_button_copy_tooltip$1="Copy and add a new row, that is, save the current row data and copy the current row data to the new row",frontend_input_table_button_delete$1="Delete",frontend_input_table_button_confirm$1="Done",frontend_input_table_dialog_title_suffix$1="Details",frontend_workflow_instances_applicant_name_prefix$1="Applicant name:",frontend_workflow_instance_submit_date_prefix$1="Submission date:",frontend_workflow_approval_judge_returned$1="Returned",frontend_workflow_approval_judge_terminated$1="Cancelled",frontend_workflow_approval_judge_pending$1="In Progress",frontend_workflow_approval_judge_approved$1="Approved",frontend_workflow_approval_judge_rejected$1="Rejected",frontend_workflow_approval_judge_finished$1="Completed",frontend_workflow_approval_judge_reassigned$1="Reassigned",frontend_workflow_approval_judge_inhand$1="In Progress",frontend_workflow_approval_judge_relocated$1="Relocate",frontend_workflow_approval_judge_readed$1="Read",frontend_workflow_approval_suggestion_readed$1="Read",frontend_workflow_approval_suggestion_completed$1="Done",frontend_workflow_approval_suggestion_agree$1="Agree",frontend_workflow_approval_suggestion_other$1="Select opinions",frontend_workflow_suggestion_placeholder$1="Please fill in your comments.",frontend_workflow_instance_button_sign$1="Sign",frontend_workflow_approval_history$1="Approval History",frontend_workflow_approval_history_read$1="Read",frontend_workflow_approval_history_unprocessed$1="Unprocessed",frontend_workflow_attachment$1="Attachment",frontend_workflow_attachment_upload$1="Upload",frontend_workflow_attachment_upload_success$1="Uploaded successfully",frontend_workflow_related_file$1="Related File",frontend_workflow_judge_option_approved$1="Approved",frontend_workflow_judge_option_rejected$1="Rejected",frontend_workflow_judge_option_readed$1="Readed",frontend_workflow_next_step$1="Next Step",frontend_workflow_next_users$1="To",frontend_workflow_submit_validate_error_title$1="Submission failed",frontend_workflow_submit_validate_error_msg$1="Please fill in the required fields",frontend_workflow_related_records_link_title$1="Related Records",frontend_formula_variables_tab_form_fields$1="Form Fields",frontend_formula_variables_tab_form_global$1="Global Variables",frontend_formula_variables_global_userId$1="User ID",frontend_formula_variables_global_spaceId$1="Space ID",frontend_formula_variables_global_user_roles$1="Permission Set",frontend_formula_variables_global_user_spaceUserId$1="Space User ID",frontend_formula_variables_global_user_is_space_admin$1="Is Space Admin",en_us$1={frontend_field_group_generalization:frontend_field_group_generalization$1,frontend_download:frontend_download$1,frontend_form_save:frontend_form_save$1,frontend_form_save_and_new:frontend_form_save_and_new$1,frontend_form_cancel:frontend_form_cancel$1,frontend_form_reset:frontend_form_reset$1,frontend_form_new:frontend_form_new$1,frontend_form_edit:frontend_form_edit$1,frontend_form_preview:frontend_form_preview$1,frontend_form_select:frontend_form_select$1,frontend_form_please_select:frontend_form_please_select$1,frontend_form_confirm:frontend_form_confirm$1,frontend_form_delete:frontend_form_delete$1,frontend_form_view:frontend_form_view$1,frontend_form_details:frontend_form_details$1,frontend_form_validation_failed_url:frontend_form_validation_failed_url$1,frontend_delete_confirm_text:frontend_delete_confirm_text$1,frontend_delete_many_selected_required:frontend_delete_many_selected_required$1,frontend_delete_many_confirm_text:frontend_delete_many_confirm_text$1,frontend_display_type_is_table:frontend_display_type_is_table$1,frontend_display_type_is_split:frontend_display_type_is_split$1,frontend_display_as:frontend_display_as$1,frontend_record_sum:frontend_record_sum$1,frontend_button_reload_tooltip:frontend_button_reload_tooltip$1,frontend_button_search_tooltip:frontend_button_search_tooltip$1,frontend_fields_filter_button_search:frontend_fields_filter_button_search$1,frontend_fields_filter_button_settings:frontend_fields_filter_button_settings$1,frontend_button_listview_control_tooltip:frontend_button_listview_control_tooltip$1,frontend_button_listview_control_label:frontend_button_listview_control_label$1,frontend_listview_control_columns:frontend_listview_control_columns$1,frontend_listview_control_columns_mobile_group:frontend_listview_control_columns_mobile_group$1,frontend_listview_control_clone_label:frontend_listview_control_clone_label$1,frontend_listview_control_clone_title:frontend_listview_control_clone_title$1,frontend_listview_control_clone_defaultData_label_start:frontend_listview_control_clone_defaultData_label_start$1,frontend_listview_control_clone_defaultData_label_end:frontend_listview_control_clone_defaultData_label_end$1,frontend_listview_control_delete_label:frontend_listview_control_delete_label$1,frontend_listview_control_delete_confirm_text:frontend_listview_control_delete_confirm_text$1,frontend_listview_control_delete_message_success:frontend_listview_control_delete_message_success$1,frontend_listview_control_filters:frontend_listview_control_filters$1,frontend_listview_control_filters_fields_extend:frontend_listview_control_filters_fields_extend$1,frontend_listview_control_new_label:frontend_listview_control_new_label$1,frontend_listview_control_new_title:frontend_listview_control_new_title$1,frontend_listview_control_new_message_success:frontend_listview_control_new_message_success$1,frontend_listview_control_new_message_failed:frontend_listview_control_new_message_failed$1,frontend_listview_control_rename_label:frontend_listview_control_rename_label$1,frontend_listview_control_rename_title:frontend_listview_control_rename_title$1,frontend_listview_control_share:frontend_listview_control_share$1,frontend_listview_control_sort:frontend_listview_control_sort$1,frontend_export_excel:frontend_export_excel$1,frontend_export_excel_toast:frontend_export_excel_toast$1,frontend_operation:frontend_operation$1,frontend_import_data:frontend_import_data$1,frontend_import_data_object_name:frontend_import_data_object_name$1,frontend_import_data_queue_import:frontend_import_data_queue_import$1,frontend_import_data_queue_import_description:frontend_import_data_queue_import_description$1,frontend_import_data_queue_import_encoding:frontend_import_data_queue_import_encoding$1,frontend_import_data_queue_import_template_url:frontend_import_data_queue_import_template_url$1,frontend_import_data_file:frontend_import_data_file$1,frontend_import_data_message_success:frontend_import_data_message_success$1,frontend_import_data_message_failed:frontend_import_data_message_failed$1,frontend_record_detail_tab_detailed:frontend_record_detail_tab_detailed$1,frontend_record_detail_tab_related:frontend_record_detail_tab_related$1,frontend_all_apps:frontend_all_apps$1,frontend_all_projects:frontend_all_projects$1,frontend_open_app_launcher:frontend_open_app_launcher$1,frontend_application_launcher:frontend_application_launcher$1,frontend_menu:frontend_menu$1,frontend_help:frontend_help$1,frontend_setup:frontend_setup$1,frontend_notifications:frontend_notifications$1,frontend_notifications_allread:frontend_notifications_allread$1,frontend_notifications_allread_message:frontend_notifications_allread_message$1,frontend_notifications_close_dialog:frontend_notifications_close_dialog$1,frontend_profile:frontend_profile$1,switch_space:switch_space$1,frontend_about:frontend_about$1,frontend_log_out:frontend_log_out$1,frontend_listview_warning_start:frontend_listview_warning_start$1,frontend_listview_warning_end:frontend_listview_warning_end$1,frontend_record_detail_related_list_warning:frontend_record_detail_related_list_warning$1,frontend_record_detail_related_lists_warning:frontend_record_detail_related_lists_warning$1,frontend_record_detail_related_lists_info:frontend_record_detail_related_lists_info$1,frontend_calendar_listWeek:frontend_calendar_listWeek$1,frontend_message_no_permission_to_edit:frontend_message_no_permission_to_edit$1,frontend_message_modification_successful:frontend_message_modification_successful$1,frontend_message_modification_failed:frontend_message_modification_failed$1,frontend_objects_related_alert_start:frontend_objects_related_alert_start$1,frontend_objects_related_alert_end:frontend_objects_related_alert_end$1,frontend_no_records_found:frontend_no_records_found$1,frontend_records_no_allowedit:frontend_records_no_allowedit$1,frontend_app_menu_save_order_group_nesting_error:frontend_app_menu_save_order_group_nesting_error$1,frontend_menu_new_object:frontend_menu_new_object$1,frontend_menu_view_object:frontend_menu_view_object$1,frontend_menu_new_micro_page:frontend_menu_new_micro_page$1,frontend_menu_edit_micro_page:frontend_menu_edit_micro_page$1,frontend_menu_new_url:frontend_menu_new_url$1,frontend_menu_edit_url:frontend_menu_edit_url$1,frontend_menu_add_existing_tabs:frontend_menu_add_existing_tabs$1,frontend_menu_edit_tab:frontend_menu_edit_tab$1,frontend_menu_delete_tab:frontend_menu_delete_tab$1,frontend_menu_new_group:frontend_menu_new_group$1,frontend_menu_edit_group:frontend_menu_edit_group$1,frontend_menu_delete_group:frontend_menu_delete_group$1,frontend_menu_move_group:frontend_menu_move_group$1,frontend_menu_dialog_move_group:frontend_menu_dialog_move_group$1,frontend_menu_edit_app:frontend_menu_edit_app$1,frontend_menu_dialog_name_placeholder:frontend_menu_dialog_name_placeholder$1,frontend_menu_tabs_group_name_label:frontend_menu_tabs_group_name_label$1,frontend_menu_tabs_group_name_placeholder:frontend_menu_tabs_group_name_placeholder$1,frontend_menu_tabs_group_default_open_label:frontend_menu_tabs_group_default_open_label$1,frontend_button_delete_confirm_text:frontend_button_delete_confirm_text$1,frontend_app_launcher_button_more:frontend_app_launcher_button_more$1,frontend_app_launcher_button_new_app:frontend_app_launcher_button_new_app$1,frontend_app_launcher_dialog_new_app_title:frontend_app_launcher_dialog_new_app_title$1,frontend_app_launcher_dialog_new_app_code_label:frontend_app_launcher_dialog_new_app_code_label$1,frontend_app_launcher_dialog_new_app_name_label:frontend_app_launcher_dialog_new_app_name_label$1,frontend_app_launcher_dialog_new_app_icon_label:frontend_app_launcher_dialog_new_app_icon_label$1,frontend_crud_toolbar_quick_search_placeholder:frontend_crud_toolbar_quick_search_placeholder$1,frontend_crud_toolbar_quick_search_tooltip_prefix:frontend_crud_toolbar_quick_search_tooltip_prefix$1,frontend_lookup_left_tree_search_organizations:frontend_lookup_left_tree_search_organizations$1,frontend_input_table_button_new:frontend_input_table_button_new$1,frontend_input_table_button_new_tooltip:frontend_input_table_button_new_tooltip$1,frontend_input_table_button_copy:frontend_input_table_button_copy$1,frontend_input_table_button_copy_tooltip:frontend_input_table_button_copy_tooltip$1,frontend_input_table_button_delete:frontend_input_table_button_delete$1,frontend_input_table_button_confirm:frontend_input_table_button_confirm$1,frontend_input_table_dialog_title_suffix:frontend_input_table_dialog_title_suffix$1,frontend_workflow_instances_applicant_name_prefix:frontend_workflow_instances_applicant_name_prefix$1,frontend_workflow_instance_submit_date_prefix:frontend_workflow_instance_submit_date_prefix$1,frontend_workflow_approval_judge_returned:frontend_workflow_approval_judge_returned$1,frontend_workflow_approval_judge_terminated:frontend_workflow_approval_judge_terminated$1,frontend_workflow_approval_judge_pending:frontend_workflow_approval_judge_pending$1,frontend_workflow_approval_judge_approved:frontend_workflow_approval_judge_approved$1,frontend_workflow_approval_judge_rejected:frontend_workflow_approval_judge_rejected$1,frontend_workflow_approval_judge_finished:frontend_workflow_approval_judge_finished$1,frontend_workflow_approval_judge_reassigned:frontend_workflow_approval_judge_reassigned$1,frontend_workflow_approval_judge_inhand:frontend_workflow_approval_judge_inhand$1,frontend_workflow_approval_judge_relocated:frontend_workflow_approval_judge_relocated$1,frontend_workflow_approval_judge_readed:frontend_workflow_approval_judge_readed$1,frontend_workflow_approval_suggestion_readed:frontend_workflow_approval_suggestion_readed$1,frontend_workflow_approval_suggestion_completed:frontend_workflow_approval_suggestion_completed$1,frontend_workflow_approval_suggestion_agree:frontend_workflow_approval_suggestion_agree$1,frontend_workflow_approval_suggestion_other:frontend_workflow_approval_suggestion_other$1,frontend_workflow_suggestion_placeholder:frontend_workflow_suggestion_placeholder$1,frontend_workflow_instance_button_sign:frontend_workflow_instance_button_sign$1,frontend_workflow_approval_history:frontend_workflow_approval_history$1,frontend_workflow_approval_history_read:frontend_workflow_approval_history_read$1,frontend_workflow_approval_history_unprocessed:frontend_workflow_approval_history_unprocessed$1,frontend_workflow_attachment:frontend_workflow_attachment$1,frontend_workflow_attachment_upload:frontend_workflow_attachment_upload$1,frontend_workflow_attachment_upload_success:frontend_workflow_attachment_upload_success$1,frontend_workflow_related_file:frontend_workflow_related_file$1,frontend_workflow_judge_option_approved:frontend_workflow_judge_option_approved$1,frontend_workflow_judge_option_rejected:frontend_workflow_judge_option_rejected$1,frontend_workflow_judge_option_readed:frontend_workflow_judge_option_readed$1,frontend_workflow_next_step:frontend_workflow_next_step$1,frontend_workflow_next_users:frontend_workflow_next_users$1,frontend_workflow_submit_validate_error_title:frontend_workflow_submit_validate_error_title$1,frontend_workflow_submit_validate_error_msg:frontend_workflow_submit_validate_error_msg$1,frontend_workflow_related_records_link_title:frontend_workflow_related_records_link_title$1,frontend_formula_variables_tab_form_fields:frontend_formula_variables_tab_form_fields$1,frontend_formula_variables_tab_form_global:frontend_formula_variables_tab_form_global$1,frontend_formula_variables_global_userId:frontend_formula_variables_global_userId$1,frontend_formula_variables_global_spaceId:frontend_formula_variables_global_spaceId$1,frontend_formula_variables_global_user_roles:frontend_formula_variables_global_user_roles$1,frontend_formula_variables_global_user_spaceUserId:frontend_formula_variables_global_user_spaceUserId$1,frontend_formula_variables_global_user_is_space_admin:frontend_formula_variables_global_user_is_space_admin$1},frontend_field_group_generalization="通用",frontend_download="下载",frontend_form_save="保存",frontend_form_save_and_new="保存并新建",frontend_form_cancel="取消",frontend_form_reset="重置",frontend_form_new="新建",frontend_form_edit="编辑",frontend_form_preview="预览",frontend_form_select="选择",frontend_form_please_select="请选择",frontend_form_confirm="确认",frontend_form_delete="删除",frontend_form_view="查看",frontend_form_details="详情",frontend_form_validation_failed_url="URL 格式不正确",frontend_delete_confirm_text="确定要删除此项目?",frontend_delete_many_selected_required="请选择要删除的项",frontend_delete_many_confirm_text="确定要删除吗?",frontend_display_type_is_table="表格",frontend_display_type_is_split="分栏视图",frontend_display_as="显示为",frontend_record_sum="个项目",frontend_button_reload_tooltip="刷新",frontend_button_search_tooltip="筛选",frontend_fields_filter_button_search="搜索",frontend_fields_filter_button_settings="选择搜索项",frontend_button_listview_control_tooltip="列表视图控制",frontend_button_listview_control_label="列表视图控制",frontend_listview_control_columns="显示的列",frontend_listview_control_columns_mobile_group="手机端",frontend_listview_control_clone="复制",frontend_listview_control_clone_label="复制",frontend_listview_control_clone_title="复制 列表视图",frontend_listview_control_clone_defaultData_label_start="",frontend_listview_control_clone_defaultData_label_end="的副本",frontend_listview_control_delete_label="删除",frontend_listview_control_delete_confirm_text="如果您删除此列表视图,该视图将为所有具备访问权限的用户永久删除。是否确定要删除?",frontend_listview_control_delete_message_success="删除成功",frontend_listview_control_filters="过滤设置",frontend_listview_control_filters_fields_extend="条件组件",frontend_listview_control_new_label="新建",frontend_listview_control_new_title="新建 列表视图",frontend_listview_control_new_message_success="成功",frontend_listview_control_new_message_failed="失败",frontend_listview_control_rename_label="重命名",frontend_listview_control_rename_title="重命名 列表视图",frontend_listview_control_share="共享设置",frontend_listview_control_sort="默认排序规则",frontend_export_excel="导出",frontend_export_excel_toast="正在导出,请稍后...",frontend_operation="操作",frontend_import_data="导入数据",frontend_import_data_object_name="导入对象",frontend_import_data_queue_import="数据导入",frontend_import_data_queue_import_description="导入描述",frontend_import_data_queue_import_encoding="字符代码",frontend_import_data_queue_import_template_url="导入模板",frontend_import_data_file="Excel文件",frontend_import_data_message_success="已开始导入...",frontend_import_data_message_failed="导入失败",frontend_record_detail_tab_detailed="详细",frontend_record_detail_tab_related="相关",frontend_all_apps="所有应用",frontend_all_projects="所有项目",frontend_open_app_launcher="打开应用程序启动器",frontend_application_launcher="应用程序启动器",frontend_menu="菜单",frontend_help="帮助",frontend_setup="设置",frontend_notifications="通知",frontend_notifications_allread="全部标记为已读",frontend_notifications_allread_message="已全部标记为已读",frontend_notifications_close_dialog="关闭",frontend_profile="个人资料",switch_space="切换工作区",frontend_about="关于",frontend_log_out="注销",frontend_listview_warning_start="当前",frontend_listview_warning_end="视图不存在!",frontend_record_detail_related_list_warning="缺少父级对象、父级记录或相关列表对象属性!",frontend_record_detail_related_lists_warning="缺少父级对象或父级记录属性!",frontend_record_detail_related_lists_info="没有相关子表",frontend_calendar_listWeek="列表",frontend_message_no_permission_to_edit="您没有编辑该记录的权限!",frontend_message_modification_successful="修改成功!",frontend_message_modification_failed="修改失败!",frontend_objects_related_alert_start="未找到与相关列表对象",frontend_objects_related_alert_end="关联的相关表字段",frontend_no_records_found="无法找到记录",frontend_records_no_allowedit="您对这条记录没有编辑权限",frontend_app_menu_save_order_group_nesting_error="不支持分组嵌套",frontend_menu_new_object="新建对象",frontend_menu_view_object="查看对象",frontend_menu_new_micro_page="新建微页面",frontend_menu_edit_micro_page="编辑微页面",frontend_menu_new_url="新建外部链接",frontend_menu_edit_url="编辑外部链接",frontend_menu_add_existing_tabs="添加现有选项卡",frontend_menu_edit_tab="编辑选项卡",frontend_menu_delete_tab="删除选项卡",frontend_menu_new_group="新建分组",frontend_menu_edit_group="编辑分组",frontend_menu_delete_group="删除分组",frontend_menu_move_group="移动分组",frontend_menu_dialog_move_group="移动到指定分组",frontend_menu_edit_app="编辑应用",frontend_menu_dialog_name_placeholder="唯一标识",frontend_menu_tabs_group_name_label="名称",frontend_menu_tabs_group_name_placeholder="分组名称",frontend_menu_tabs_group_default_open_label="是否默认展开",frontend_button_delete_confirm_text="确定要删除吗?",frontend_app_launcher_button_more="更多",frontend_app_launcher_button_new_app="+ 新建应用",frontend_app_launcher_dialog_new_app_title="新建应用",frontend_app_launcher_dialog_new_app_code_label="应用唯一标识",frontend_app_launcher_dialog_new_app_name_label="显示名称",frontend_app_launcher_dialog_new_app_icon_label="图标",frontend_crud_toolbar_quick_search_placeholder="快捷搜索",frontend_crud_toolbar_quick_search_tooltip_prefix="可搜索字段:",frontend_lookup_left_tree_search_organizations="查找部门",frontend_input_table_button_new="新增",frontend_input_table_button_new_tooltip="保存并新增一行,即保存当前行数据并新增一条空白行",frontend_input_table_button_copy="复制",frontend_input_table_button_copy_tooltip="复制并新增一行,即保存当前行数据并复制当前行数据到新增行",frontend_input_table_button_delete="删除",frontend_input_table_button_confirm="完成",frontend_input_table_dialog_title_suffix="明细",frontend_workflow_instances_applicant_name_prefix="提交人:",frontend_workflow_instance_submit_date_prefix="提交日期:",frontend_workflow_approval_judge_returned="已退回",frontend_workflow_approval_judge_terminated="被取回",frontend_workflow_approval_judge_pending="审核中",frontend_workflow_approval_judge_approved="已核准",frontend_workflow_approval_judge_rejected="已驳回",frontend_workflow_approval_judge_finished="已完成",frontend_workflow_approval_judge_reassigned="转签核",frontend_workflow_approval_judge_inhand="处理中",frontend_workflow_approval_judge_relocated="重定位",frontend_workflow_approval_judge_readed="已阅",frontend_workflow_approval_suggestion_readed="已阅",frontend_workflow_approval_suggestion_completed="已办",frontend_workflow_approval_suggestion_agree="同意",frontend_workflow_approval_suggestion_other="其他常用意见",frontend_workflow_suggestion_placeholder="请填写意见",frontend_workflow_instance_button_sign="签批",frontend_workflow_approval_history="签批历程",frontend_workflow_approval_history_read="已读",frontend_workflow_approval_history_unprocessed="未处理",frontend_workflow_attachment="附件",frontend_workflow_attachment_upload="上传",frontend_workflow_attachment_upload_success="上传成功",frontend_workflow_related_file="相关文件",frontend_workflow_judge_option_approved="核准",frontend_workflow_judge_option_rejected="驳回",frontend_workflow_judge_option_readed="已阅",frontend_workflow_next_step="下一步",frontend_workflow_next_users="处理人",frontend_workflow_submit_validate_error_title="提交失败",frontend_workflow_submit_validate_error_msg="请填写必填字段",frontend_workflow_related_records_link_title="相关台账信息",frontend_formula_variables_tab_form_fields="表单字段",frontend_formula_variables_tab_form_global="全局变量",frontend_formula_variables_global_userId="用户ID",frontend_formula_variables_global_spaceId="工作区ID",frontend_formula_variables_global_user_roles="权限集",frontend_formula_variables_global_user_spaceUserId="人员ID",frontend_formula_variables_global_user_is_space_admin="是否工作区管理员",zh_cn$1={frontend_field_group_generalization:frontend_field_group_generalization,frontend_download:frontend_download,frontend_form_save:frontend_form_save,frontend_form_save_and_new:frontend_form_save_and_new,frontend_form_cancel:frontend_form_cancel,frontend_form_reset:frontend_form_reset,frontend_form_new:frontend_form_new,frontend_form_edit:frontend_form_edit,frontend_form_preview:frontend_form_preview,frontend_form_select:frontend_form_select,frontend_form_please_select:frontend_form_please_select,frontend_form_confirm:frontend_form_confirm,frontend_form_delete:frontend_form_delete,frontend_form_view:frontend_form_view,frontend_form_details:frontend_form_details,frontend_form_validation_failed_url:frontend_form_validation_failed_url,frontend_delete_confirm_text:frontend_delete_confirm_text,frontend_delete_many_selected_required:frontend_delete_many_selected_required,frontend_delete_many_confirm_text:frontend_delete_many_confirm_text,frontend_display_type_is_table:frontend_display_type_is_table,frontend_display_type_is_split:frontend_display_type_is_split,frontend_display_as:frontend_display_as,frontend_record_sum:frontend_record_sum,frontend_button_reload_tooltip:frontend_button_reload_tooltip,frontend_button_search_tooltip:frontend_button_search_tooltip,frontend_fields_filter_button_search:frontend_fields_filter_button_search,frontend_fields_filter_button_settings:frontend_fields_filter_button_settings,frontend_button_listview_control_tooltip:frontend_button_listview_control_tooltip,frontend_button_listview_control_label:frontend_button_listview_control_label,frontend_listview_control_columns:frontend_listview_control_columns,frontend_listview_control_columns_mobile_group:frontend_listview_control_columns_mobile_group,frontend_listview_control_clone:frontend_listview_control_clone,frontend_listview_control_clone_label:frontend_listview_control_clone_label,frontend_listview_control_clone_title:frontend_listview_control_clone_title,frontend_listview_control_clone_defaultData_label_start:frontend_listview_control_clone_defaultData_label_start,frontend_listview_control_clone_defaultData_label_end:frontend_listview_control_clone_defaultData_label_end,frontend_listview_control_delete_label:frontend_listview_control_delete_label,frontend_listview_control_delete_confirm_text:frontend_listview_control_delete_confirm_text,frontend_listview_control_delete_message_success:frontend_listview_control_delete_message_success,frontend_listview_control_filters:frontend_listview_control_filters,frontend_listview_control_filters_fields_extend:frontend_listview_control_filters_fields_extend,frontend_listview_control_new_label:frontend_listview_control_new_label,frontend_listview_control_new_title:frontend_listview_control_new_title,frontend_listview_control_new_message_success:frontend_listview_control_new_message_success,frontend_listview_control_new_message_failed:frontend_listview_control_new_message_failed,frontend_listview_control_rename_label:frontend_listview_control_rename_label,frontend_listview_control_rename_title:frontend_listview_control_rename_title,frontend_listview_control_share:frontend_listview_control_share,frontend_listview_control_sort:frontend_listview_control_sort,frontend_export_excel:frontend_export_excel,frontend_export_excel_toast:frontend_export_excel_toast,frontend_operation:frontend_operation,frontend_import_data:frontend_import_data,frontend_import_data_object_name:frontend_import_data_object_name,frontend_import_data_queue_import:frontend_import_data_queue_import,frontend_import_data_queue_import_description:frontend_import_data_queue_import_description,frontend_import_data_queue_import_encoding:frontend_import_data_queue_import_encoding,frontend_import_data_queue_import_template_url:frontend_import_data_queue_import_template_url,frontend_import_data_file:frontend_import_data_file,frontend_import_data_message_success:frontend_import_data_message_success,frontend_import_data_message_failed:frontend_import_data_message_failed,frontend_record_detail_tab_detailed:frontend_record_detail_tab_detailed,frontend_record_detail_tab_related:frontend_record_detail_tab_related,frontend_all_apps:frontend_all_apps,frontend_all_projects:frontend_all_projects,frontend_open_app_launcher:frontend_open_app_launcher,frontend_application_launcher:frontend_application_launcher,frontend_menu:frontend_menu,frontend_help:frontend_help,frontend_setup:frontend_setup,frontend_notifications:frontend_notifications,frontend_notifications_allread:frontend_notifications_allread,frontend_notifications_allread_message:frontend_notifications_allread_message,frontend_notifications_close_dialog:frontend_notifications_close_dialog,frontend_profile:frontend_profile,switch_space:switch_space,frontend_about:frontend_about,frontend_log_out:frontend_log_out,frontend_listview_warning_start:frontend_listview_warning_start,frontend_listview_warning_end:frontend_listview_warning_end,frontend_record_detail_related_list_warning:frontend_record_detail_related_list_warning,frontend_record_detail_related_lists_warning:frontend_record_detail_related_lists_warning,frontend_record_detail_related_lists_info:frontend_record_detail_related_lists_info,frontend_calendar_listWeek:frontend_calendar_listWeek,frontend_message_no_permission_to_edit:frontend_message_no_permission_to_edit,frontend_message_modification_successful:frontend_message_modification_successful,frontend_message_modification_failed:frontend_message_modification_failed,frontend_objects_related_alert_start:frontend_objects_related_alert_start,frontend_objects_related_alert_end:frontend_objects_related_alert_end,frontend_no_records_found:frontend_no_records_found,frontend_records_no_allowedit:frontend_records_no_allowedit,frontend_app_menu_save_order_group_nesting_error:frontend_app_menu_save_order_group_nesting_error,frontend_menu_new_object:frontend_menu_new_object,frontend_menu_view_object:frontend_menu_view_object,frontend_menu_new_micro_page:frontend_menu_new_micro_page,frontend_menu_edit_micro_page:frontend_menu_edit_micro_page,frontend_menu_new_url:frontend_menu_new_url,frontend_menu_edit_url:frontend_menu_edit_url,frontend_menu_add_existing_tabs:frontend_menu_add_existing_tabs,frontend_menu_edit_tab:frontend_menu_edit_tab,frontend_menu_delete_tab:frontend_menu_delete_tab,frontend_menu_new_group:frontend_menu_new_group,frontend_menu_edit_group:frontend_menu_edit_group,frontend_menu_delete_group:frontend_menu_delete_group,frontend_menu_move_group:frontend_menu_move_group,frontend_menu_dialog_move_group:frontend_menu_dialog_move_group,frontend_menu_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};const resources={en:{translation:en_us$1},"zh-CN":{translation:zh_cn$1}},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 u="";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 `,u=`\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 `,u=`\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(u);break;case"avatar":case"image":i.body[0].receiver.adaptor=`\n const superData = (typeof context != 'undefined') ? context : api.body; \n const { context:pageContext } = superData; \n var rootUrl = pageContext.rootUrl + "/api/files/${o.type}s/";\n payload = {\n status: response.status == 200 ? 0 : response.status,\n msg: response.statusText,\n data: {\n value: rootUrl + payload._id,//为了实现图片crud的回显,需要将value从id改为url,当保存数据数据时,再在发送适配器内重新将id提取出来\n name: payload.original.name,\n url: rootUrl + payload._id,\n }\n }\n return payload;\n `}i.body[0].visibleOn="${quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}",i.body.push({type:"service",body:[{type:"tpl",tpl:instance.t("frontend_records_no_allowedit"),visibleOn:"${!quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}"},{type:"spinner",showOn:"${quickedit_record_permissions_loading}"}],onEvent:{init:{actions:[{actionType:"custom",script:`\n crudScoped = event.context.scoped.getComponentById('${n.crudId}');\n const selectedItems = crudScoped && crudScoped.control.getSelected();\n doAction({\n "componentId": "${a}",\n "actionType": "setValue",\n "args": {\n "value": {\n selectedItems\n }\n }\n });\n `},{actionType:"setValue",componentId:a,args:{value:{quickedit_record_permissions_loading:!0}}},{actionType:"ajax",args:{api:{url:"${context.rootUrl}/service/api/@${objectName}/recordPermissions/${_id}",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},cache:3e4,messages:{failed:"失败了呢。。"}}},expression:"${!recordPermissions.modifyAllRecords}"},{actionType:"setValue",componentId:a,args:{value:{quickedit_record_permissions_loading:!1}}},{actionType:"setValue",componentId:a,args:{value:{quickedit_record_permissions:"${recordPermissions.modifyAllRecords ? {'allowEdit': true} : event.data}"}}}]}}}),"avatar"!=o.type&&"image"!=o.type&&"file"!=o.type&&r&&i.body.push({name:"isBatchEdit",type:"checkbox",option:[{type:"tpl",tpl:"更新${COUNT(selectedItems)}个选定记录"},{type:"spinner",showOn:"${batchPermissionLoading}",size:"sm",className:"mr-4"}],visibleOn:"${ARRAYSOME(selectedItems, item => item._id === _id) && COUNT(selectedItems)>1 && quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}",disabledOn:"${batchPermissionLoading}",onEvent:{change:{actions:[{actionType:"setValue",componentId:a,args:{value:{batchPermissionLoading:!0}},expression:"${event.data.value}"},{actionType:"ajax",args:{api:{url:"${context.rootUrl}/graphql",method:"post",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},data:{query:'{rows:${objectName}(filters:["_id","in",${selectedItems | pick:_id | split | json}]){_id,_permissions{allowEdit}}}'},adaptor:"\n const noPermission = [];\n payload.data.rows.forEach(function (row) {\n if(!row._permissions.allowEdit){\n noPermission.push(row._id);\n }\n })\n payload.data.noPermission = noPermission;\n return payload;\n "}},expression:"${event.data.value && !recordPermissions.modifyAllRecords}"},{actionType:"setValue",componentId:a,args:{value:{batchPermissionLoading:!1}},expression:"${event.data.value}"},{actionType:"dialog",dialog:{title:"记录权限",showCloseButton:!1,body:[{type:"tpl",tpl:"当前选中记录中,有${COUNT(noPermission)}条记录无编辑权限,是否需要批量编辑其他记录?"}],onEvent:{confirm:{actions:[{actionType:"custom",script:`\n const noPermission = event.data.noPermission;\n const crudComponent = event.context.scoped.getComponentById("${n.crudId}");\n let selectedItems = crudComponent && crudComponent.props.store.selectedItems.concat();\n noPermission.forEach(function (item) {\n crudComponent && crudComponent.unSelectItem(_.find(selectedItems,{_id:item}));\n _.remove(selectedItems, (selected) => selected._id === item);\n })\n doAction({\n "componentId": "${a}",\n "actionType": "setValue",\n "args": {\n "value": {\n selectedItems\n }\n }\n });\n `},{actionType:"setValue",componentId:a,args:{value:{isBatchEdit:!0}}}]},cancel:{actions:[{actionType:"setValue",componentId:a,args:{value:{isBatchEdit:!1}}}]}}},expression:"${COUNT(event.data.noPermission)>0}"}]}}})}else i=!1;"lookup"!=o.type||r||(i=!1),"file"==o.type&&o.multiple&&(i=!1),"location"==o.type&&(i=!1),"color"==o.type&&(i={type:"input-color"})}return i}function getFieldWidth(e){const t=null;return"string"==typeof e?isNaN(e)?e||t:Number(e)||t:"number"==typeof e?e:t}async function getColumnItemOnClick(e,t){let n=t.objectName;e.is_name||e.name===t.labelFieldName||(n=e.reference_to);const o=await getPage({type:"record",appId:t.appId,objectName:n,formFactor:t.formFactor}),r=o?Object.assign({},o.schema,{recordId:`\${${t.idFieldName}}`,data:{...o.schema.data,_inDrawer:!0,recordLoaded:!1,recordId:`\${${t.idFieldName}}`,_lookupObjectName:t.objectName}}):{type:"steedos-record-detail",objectApiName:"${objectName}",recordId:`\${${t.idFieldName}}`,showBackButton:!1,showButtons:!0,data:{_inDrawer:!0,recordLoaded:!1,_lookupObjectName:t.objectName}};return e.is_name||e.name===t.labelFieldName||(r.objectApiName=e.reference_to,r.recordId=`\${_display.${e.name}.value}`),{click:{actions:[{actionType:"drawer",drawer:{type:"drawer",title:" ",headerClassName:"hidden",size:"lg",width:window.drawerWidth||"70%",bodyClassName:"p-0 m-0 bg-gray-100",closeOnEsc:!0,closeOnOutside:!0,resizable:!0,actions:[],body:[r],className:"steedos-record-detail-drawer app-popover",id:"u:fc5f055afa8c"},preventDefault:!0}]}}}async function getTableColumns(e,t,n){const o=[];n.isLookup||n.isInputTable||n.enable_tree||o.push({name:"_index",type:"text",width:32,placeholder:""});const r=n.permissions?.allowEdit&&!n.isLookup&&0!=n.enable_inline_edit;for(const a of t){if(a.hidden||a.extra)continue;const t=r?await getQuickEditSchema(e,a,n):r;let i=`steedos-table-${a.type}-field`;"Safari"===getBowserType()||1!=a.wrap?i+=" whitespace-nowrap ":i+=" break-words ","object"==typeof a.amis?.className?i={[i]:"true",...a.amis.className}:"string"==typeof a.amis?.className&&(i=`${i} ${a.amis.className} `);let s,l=_$1__namespace.clone(a.amis);delete l?.className;let c=!!(window&&window.nw&&window.nw.require);if((a.is_name||a.name===n.labelFieldName)&&"cms_files"===n.objectName&&c){const e=`\n var data = event.data;\n var file_name = data.versions ? data.name : "${a.label}";\n var file_id = data.versions && data.versions[0] && data.versions[0]._id;\n window.previewFile && window.previewFile({file_name, file_id});\n `;s=Object.assign({},{type:"button",label:`<%=data.versions ? data.name : "${a.label}"%>`,className:i,level:"link",onEvent:{click:{actions:[{args:{},actionType:"custom",script:e,expression:"!!(window && window.nw && window.nw.require)"}]}}},l)}else if("toggle"===a.type)s=Object.assign({},{type:"switch",name:a.name,label:a.label,width:getFieldWidth(a.width),toggled:a.toggled,static:!0,className:i},l,{name:a.name});else if("avatar"===a.type||"image"===a.type||"file"===a.type)s=Object.assign({},{type:"switch",name:a.name,label:a.label,width:getFieldWidth(a.width),toggled:a.toggled,static:!0,className:i,...await getAmisFileReadonlySchema(a)},l);else if("select"===a.type){const e=getSelectMap(a.options);s=Object.assign({},{type:"static-mapping",name:a.name,label:a.label,map:e,sortable:a.sortable,width:getFieldWidth(a.width),toggled:a.toggled,className:i,inputClassName:"inline",static:!0},l,{name:a.name})}else if("lookup"===a.type||"master_detail"===a.type)s=Object.assign({},{type:"static-wrapper",name:a.name,label:a.label,sortable:a.sortable,width:getFieldWidth(a.width),toggled:a.toggled,className:i,size:"none",inputClassName:"inline",body:{type:"steedos-field",static:!0,isLookupInTable:!0,config:{type:"lookup",reference_to:a.reference_to,name:a.name,is_name:a.is_name,label:null,multiple:a.multiple,amis:Object.assign({},l,{label:null})}}},l,{name:a.name});else{const e=await getFieldTpl(a,n);let t="static-text";if(e?t="static":"html"===a.type?t="static-markdown":"url"===a.type&&(t=a.show_as_qr?"static-qr-code":"input-url"),"textarea"===a.type&&(i+="min-w-56"),!a.hidden&&!a.extra){s=Object.assign({},{name:a.name,label:a.label,sortable:a.sortable,width:getFieldWidth(a.width),type:t,tpl:e,toggled:a.toggled,className:i,inputClassName:"inline",static:!0,options:"html"===a.type?{html:!0}:null},l,{name:a.name}),"color"===a.type&&(s.type="color",s.defaultColor=null);let o=!1;o=n.isRelated&&(a.is_name||a.name===n.labelFieldName),window.innerWidth>=768&&o&&(s.onEvent=await getColumnItemOnClick(a,n))}}s&&(t&&(s.quickEdit=t,s.quickEditEnabledOn="${is_system !== true}"),s.id=`${n.objectName}_${a.name}_\${_index}`,o.push(s))}if(!n.isLookup&&!n.isInputTable&&!_$1__namespace.some(o,{name:n.labelFieldName})){const e=Router.getObjectDetailPath({...n,formFactor:n.formFactor,appId:"${appId}",objectName:n.objectName||"${objectName}",recordId:`\${${n.idFieldName}}`});o[0].type="tpl",o[0].tpl=`<a href="${e}">\${${o[0].name}}</a>`}return o}function getMobileLines(e){let t=[],n=[],o=!1,r=!0,a="",i="flex items-center justify-between mb-1";return e.forEach((function(e){var s;o&&t.length<3&&(t.push({type:"wrapper",body:n,size:"none",className:i}),n=[]),r?(a="steedos-listview-item-left truncate",e.field.is_wide&&(a="steedos-listview-item-wide"),0===t.length&&(a+=" font-bold text-gray-800")):a="steedos-listview-item-right truncate ml-2 flex flex-shrink-0",s="object"==typeof e.field.amis?.className?{[a]:"true",...e.field.amis.className}:"string"==typeof e.field.amis?.className?`${a} ${e.field.amis.className} `:a,n.push({type:"tpl",tpl:e.tpl,className:s}),e.field.is_wide?(r=!0,o=!0):(r=!r,o=r)})),n.length&&t.length<3&&t.push({type:"wrapper",body:n,size:"none",className:i}),t}async function getMobileTableColumns(e,t){const n=[];let o={},r=[];for(const n of e){let e="";n.is_name||n.name===t.labelFieldName?(o=n,t=Object.assign({},t,{onlyDisplayLookLabel:!0}),e=await getFieldTpl(n,t)):"avatar"===n.type||"image"===n.type||"file"===n.type?e=`\${_display.${n.name}.name}`:("lookup"!==n.type&&"master_detail"!==n.type||(t=Object.assign({},t,{onlyDisplayLookLabel:!0})),e=await getFieldTpl(n,t)),e||(e=`\${${n.name}}`),n.hidden||n.extra||r.push({field:n,tpl:e})}const a=getNameTplUrl(o,t),i=getMobileLines(r);let s={name:o.name,label:"split"==t.displayAs?"":o.label,sortable:o.sortable,type:"button",level:"link",actionType:"link",link:a,innerClassName:{"steedos-listview-item block text-gray-500":"true","max-w-[360px]":"${display == 'split'}"},body:{type:"wrapper",body:i,size:"none",className:"p-1"}};return"cms_files"===t.objectName&&(s=window.Meteor?.isCordova?{...s,actionType:"",link:"",onEvent:{click:{actions:[{script:'\n let cms_url = \'\';\n let value = event.data.versions[0];\n if(value){\n if(value.url){\n cms_url = value.url;\n }else{\n cms_url = Steedos.absoluteUrl("/api/files/files/"+value+"?download=true");\n }\n }\n Steedos.cordovaDownload(encodeURI(cms_url), event.data.name);\n ',actionType:"custom"}],weight:0}}}:{...s,actionType:"",link:"",onEvent:{click:{actions:[{actionType:"link",args:{link:a}}],weight:0}}}),n.push(s),n}function getDefaultParams$1(e){return{perPage:e.top||e.perPage||config.listView.perPage}}function getButtonVisibleOn$1(e){let t=e.visible;if(e._visible&&(t=e._visible),_$1.isBoolean(t)&&(t=t.toString()),t){if(t.trim().startsWith("function")){t=t.replace("function","function __visible");return`(function _visible(){try{return (${t})(objectName, typeof _id === 'undefined' ? null: _id, typeof record === 'undefined' ? (typeof recordPermissions === 'undefined' ? {} : recordPermissions) : record.recordPermissions, data)}catch(e){console.error(e)}})()`}return t}if("amis_button"===e.type){const t=e.amis_schema;if(t&&t.body&&t.body.length>0){return t.body[0].visibleOn}}}async function getTableOperation(e){const t=e.buttons,n=[];if(_$1.each(t,(e=>{_$1.isBoolean(e.visible)&&(e.visible=e.visible.toString()),n.push({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOnAlias:getButtonVisibleOn$1(e),className:"antd-Button--default"})})),!(n.length<1))return{type:"operation",label:" ",fixed:"right",labelClassName:"text-center",className:"text-center steedos-listview-operation w-10 is-sticky is-sticky-right is-sticky-first-right",buttons:[{type:"steedos-dropdown-button",label:"xxx",buttons:n,placement:"bottomRight",overlayClassName:"border rounded !min-w-[160px]",trigger:["click"],id:"u:c2140a365019",onOpenApi:{url:"${context.rootUrl}/service/api/@${objectName}/recordPermissions/${_id}",method:"get",requestAdaptor:"api.data={}; return api;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:"\n payload = {\n record: {\n recordPermissions: payload\n }\n };\n return payload;\n "}}]}}async function getDefaultCrudCard(e,t){let n,o=t?.labelFieldName||"name",r=[];e.forEach((function(e){delete e.quickEdit,delete e.width,e.name===o?n=e:"_index"!==e.name&&r.push(e)}));let a={header:{title:n.tpl},body:r,toolbar:[]};if(!("SMALL"===t.formFactor||["split"].indexOf(t.displayAs)>-1)){let e=await getTableOperation(t);e&&(e.className+=" inline-block w-auto"),a.toolbar.push(e)}return a}async function getTableSchema$1(e,t,n){n||(n={});let{isLookup:o,hiddenColumnOperation:r}=n;const a=n.defaults,i=a&&a.listSchema||{};let s=[],l="SMALL"===n.formFactor||["split"].indexOf(n.displayAs)>-1;if(o&&(l=!1),i.mode&&"table"!==i.mode&&(l=!1),l)s=await getMobileTableColumns(t,n);else{if(s=await getTableColumns(e,t,n),"cards"===i.mode){let e=i.card;return e||(e=await getDefaultCrudCard(s,n)),{mode:"cards",perPageAvailable:[20,50,100,500],name:"thelist",headerToolbarClassName:"py-2 px-2 border-gray-300 border-solid border-b",className:"",draggable:!1,card:e,syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!!o,labelTpl:`\${${n.labelFieldName}}`,autoFillHeight:!1,columnsTogglable:!1,...getDefaultParams$1(n)}}if(!o&&!r){const e=await getTableOperation(n);s.push(e)}}const c={};return n.enable_tree&&(c.expandConfig={expand:"first"}),{mode:"table",perPageAvailable:[20,50,100,500],name:"thelist",headerToolbarClassName:"py-2 px-2 border-gray-300 border-solid border-b",className:"",draggable:!1,columns:s,syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!!o,labelTpl:`\${${n.labelFieldName}}`,autoFillHeight:!1,columnsTogglable:!1,...c,...getDefaultParams$1(n)}}function getScriptForAddUrlPrefixForImgFields(e,t){let n=[],o={};return e.forEach((e=>{_$1__namespace.includes(["image","avatar"],e.type)&&(n.push(e.name),o[e.name]={name:e.name,type:e.type,multiple:e.multiple})})),n.length?`\n // image字段值添加URL前缀\n let imgFieldsKeys = ${JSON.stringify(n)};\n let imgFields = ${JSON.stringify(o)};\n imgFieldsKeys.forEach((item)=>{\n let imgFieldValue = data[item];\n let imgFieldDisplayValue = data._display && data._display[item];\n if(imgFieldValue && imgFieldValue.length){\n let fieldProps = imgFields[item];\n if(fieldProps.multiple){\n if(imgFieldDisplayValue instanceof Array){\n data[item] = imgFieldDisplayValue.map((i)=>{ \n const url = window.getImageFieldUrl(i.url, ${t});\n return url;\n });\n }\n }else{\n const url = imgFieldDisplayValue && window.getImageFieldUrl(imgFieldDisplayValue.url, ${t});\n data[item] = url;\n }\n }\n })\n `:""}async function getListBody(e,t){const n=[];for(const o of e){const e=await getFieldTpl(o,t);let r="text";e&&(r="tpl"),o.hidden||o.extra||n.push({name:o.name,label:o.label,sortable:o.sortable,width:o.width,type:r,tpl:e,toggled:o.toggled})}return{type:"hbox",columns:n}}function getDefaultParams(e){return{perPage:e.top||e.perPage||20}}async function getListSchema$1(e,t){return{mode:"list",name:"thelist",draggable:!1,headerToolbar:["reload"],syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:"${name}",listItem:{body:[...(await getListBody(e,t)).columns],actions:!1===t.actions?null:[{icon:"fa fa-eye",label:instance.t("frontend_form_view"),type:"button",actionType:"link",link:Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:t.tabId,listView:t.listView,recordId:"${_id}"})}]},...getDefaultParams(t)}}"undefined"!=typeof window&&(window.steedosI18next=instance,locale$1=getUserLanguage$1()),instance.use(initReactI18next).init({resources:resources,lng:locale$1,interpolation:{escapeValue:!1}}),"function"==typeof SuppressedError&&SuppressedError;const getSchema$5=async(e,t)=>{const n=`\n let formSchema = {\n "type": "steedos-object-form",\n "label": "对象表单",\n "objectApiName": "\${objectName}",\n "recordId": "",\n "mode": "edit",\n };\n\n if (payload && payload.schema) {\n formSchema = _.isString(payload.schema) ? JSON.parse(payload.schema) : payload.schema;\n }\n\n const fields = ${JSON.stringify(e.fields)};\n const selectedRowResponseResult = api.body.selectedRowResponseResult;\n let defaultData = {}; \n\n if(!_.isEmpty(selectedRowResponseResult)){\n const fieldsKeys = _.keys(fields);\n // 如果新建记录时复制的数据中有omit或其他不相关字段数据时不应该一起保存到数据库,\n // 原规则见:https://github.com/steedos/steedos-frontend/issues/297\n _.forEach(selectedRowResponseResult, (val, key) => {\n if (fieldsKeys.indexOf(key) > -1 && fields[key].omit !== true && key != 'owner') {\n defaultData[key] = val;\n }\n })\n }\n\n const _master = api.body._master;\n if(_master && _master._isRelated){\n const relatedKey = _master.relatedKey;\n const masterObjectName = _master.objectName;\n const recordId = _master.recordId || _master.record._id;\n let relatedKeySaveValue = recordId;\n const relatedField = fields[relatedKey];\n if(relatedField && relatedField.reference_to_field && relatedField.reference_to_field !== '_id'){\n relatedKeySaveValue = _master.record[relatedField.reference_to_field];\n }\n let relatedKeyValue; \n if(relatedField && !_.isString(relatedField.reference_to)){\n relatedKeyValue = { o: masterObjectName, ids: [relatedKeySaveValue] };\n }else if (relatedField && relatedField.multiple) {\n relatedKeyValue = [relatedKeySaveValue];\n } else {\n relatedKeyValue = relatedKeySaveValue;\n }\n defaultData[relatedKey]=relatedKeyValue;\n }\n\n if(!_.isEmpty(defaultData)){\n if(payload.schema){\n // 表单微页面第一层要求是page\n formSchema.data.defaultData = defaultData;\n }else{\n formSchema.defaultData = defaultData;\n }\n }\n return {\n data: formSchema\n };\n `;return{type:"service",body:[{type:"button",level:"primary",label:instance.t("frontend_form_new"),id:"u:standard_new",onEvent:{click:{weight:0,actions:[{actionType:"custom",script:"\n const isLookup = event.data.isLookup;\n if(isLookup){\n // lookup弹出窗口的新建功能不需要支持复制新建\n return;\n }\n const uiSchema = event.data.uiSchema;\n const objectName = event.data.objectName;\n const crudId = event.data.crudId || \"listview_\" + objectName;\n const listViewRef = event.context.scoped.getComponentById(crudId);\n const selectedItems = listViewRef && listViewRef.props.store.toJSON().selectedItems || [];\n event.data.selectedIds = _.map(selectedItems, uiSchema.idFieldName || '_id');\n "},{actionType:"ajax",outputVar:"selectedRowResponseResult",args:{api:{url:"${context.rootUrl}/api/v1/${uiSchema.name}/${selectedIds|first}",method:"get"}},expression:"${selectedIds.length > 0}"},{actionType:"dialog",dialog:{type:"dialog",data:{$master:"$$",_master:"${_master}","_master._isRelated":"${_isRelated}","_master.relatedKey":"${relatedKey}",appId:"${appId}",objectName:"${objectName}",context:"${context}",global:"${global}",listViewId:"${listViewId}",displayAs:"${displayAs}",uiSchema:"${uiSchema}",isLookup:"${isLookup}",listName:"${listName}",selectedRowResponseResult:"${selectedRowResponseResult}",_lookupObjectName:"${_lookupObjectName}"},title:instance.t("frontend_form_new")+" ${uiSchema.label | raw}",body:[{type:"service",id:"u:1678e148c4d2",messages:{},schemaApi:{data:{isLookup:"${isLookup}",_master:"${_master}",url:"${context.rootUrl}/api/pageSchema/form?app=${appId}&objectApiName=${objectName}&formFactor=${formFactor}",selectedRowResponseResult:"${selectedRowResponseResult}"},url:"${context.rootUrl}/api/pageSchema/form?app=${appId}&objectApiName=${objectName}&formFactor=${formFactor}",method:"get",messages:{},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"return { ...api, url: api.body.url }",adaptor:n}}],showCloseButton:!0,id:"u:e11347411d2d",closeOnEsc:!1,closeOnOutside:!1,size:"lg",actions:[{type:"button",actionType:"cancel",label:instance.t("frontend_form_cancel"),className:"form-btn-cancel"},{type:"button",label:instance.t("frontend_form_save_and_new"),actionType:"confirm",close:!1,id:"confirmAndNew",className:"form-btn-save_and_new"},{type:"button",actionType:"confirm",label:instance.t("frontend_form_save"),primary:!0,className:"form-btn-save"}]}}]}}}],regions:["body"],className:"p-0 border-0",id:"u:aef99d937b10"}};async function getObjectFieldsFilterFormSchema(e){e||(e={});return{type:"service",visibleOn:"this.filterFormSearchableFields && this.filterFormSearchableFields.length",className:"SMALL"===e.formFactor?"slds-filters__body p-0 mb-2 overflow-y-auto overflow-x-hidden":"slds-filters__body p-0 sm:grid sm:gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 p-1",style:{"max-height":"SMALL"===e.formFactor?"30vh":"unset"},schemaApi:{method:"post",data:{$self:"$$",query:""},url:"/api/amis/health_check?reload=${filterFormSearchableFields|join}",adaptor:`\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n const selfData = api.body.$self;\n const uiSchema = selfData.uiSchema;\n const fields = uiSchema.fields;\n const filterFormSearchableFields = (selfData.filterFormSearchableFields || []).filter(function(item){\n return !!fields[item]\n });\n const resolveAll = function(values){\n payload.data = {\n "body": values\n };\n return payload;\n }\n\n const rejectAll = function(){\n console.warn("run function getFieldSearchable failed.");\n }\n\n return Promise.all(filterFormSearchableFields.map(function (item) {\n const field = _.clone(fields[item]);\n if (\n field && window.isFieldTypeSearchable(field.type)\n ) {\n var ctx = ${JSON.stringify(e)};\n const amisField = window.getFieldSearchable(field, fields, ctx);\n return amisField;\n }\n })).then(resolveAll, rejectAll);\n `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}}async function getObjectFieldsFilterBarSchema(e,t){t||(t={});const n=t.searchable_fields,o=!!t.auto_open_filter,r="btn_filter_form_search_"+(new Date).getTime(),a=await getObjectFieldsFilterFormSchema(t),i=t.keywordsSearchBoxName||"__keywords",s=`\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === "form";\n });\n // 使用filterForm.getValues()的话,并不能拿到本地存储中的过滤条件,所以需要从event.data中取,因为本地存储中的过滤条件自动填充到表单上时filterForm.getValues()拿不到。\n let filterFormValues = event.data;\n filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据\n const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});\n // 同步__changedFilterFormValues中的值\n // crud && crud.setData({__changedFilterFormValues: {}});\n let __changedFilterFormValuesKey = "__changedFilterFormValues";\n if(isLookup && __lookupField){\n let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += "__" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = changedFilterFormValues;\n crud.setData(crudData);\n }\n filterForm.handleFormSubmit(event);\n // var filterFormValues = filterForm.getValues();\n // var listView = scope.parent.parent.parent.getComponents().find(function(n){\n // return n.props.type === "crud";\n // });\n // const removedValues = {};\n // // 设置搜索项中移除搜索项后,filterFormValues未把其字段的空值保存为own property,即hasOwnProperty属性中\n // // 这会造成handleFilterSubmit时把移除掉的搜索项字段之前的值加到过滤条件中\n // for(var k in filterFormValues){\n // if(filterFormValues[k] === "" && !filterFormValues.hasOwnProperty(k)){\n // removedValues[k] = null;\n // }\n // }\n // listView.handleFilterSubmit(Object.assign({}, removedValues, filterFormValues));\n // 点击搜索的时候自动收起搜索栏\n //触发amis crud 高度重算\n doAction({\n "actionType": "broadcast",\n "args": {\n "eventName": "@height.changed.${e.name}"\n },\n "data": {\n "timeOut": 500\n }\n });\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === "service";\n });\n let showFieldsFilter = true;\n // const isMobile = window.innerWidth < 768;\n // if(event.data.__from_fields_filter_settings_confirm){\n // // 如果是从设置搜索项点击确认按钮触发的搜索事件不应该自动关闭搜索栏\n // showFieldsFilter = true;\n // }\n // else if(isMobile){\n // // 如果是手机端,点击搜索后自动关闭搜索栏\n // showFieldsFilter = false;\n // }\n // else if(event.data.displayAs === "split") {\n // // PC上分栏模式下的列表,始终按手机上效果处理,即自动关闭搜索栏\n // showFieldsFilter = false;\n // }\n // else if(window.innerHeight >= 1200){\n // // 高分辨率屏幕(2k+),列表高度比较高,没必要自动关闭搜索栏\n // showFieldsFilter = true;\n // }\n filterService.setData({showFieldsFilter});\n // resizeWindow();//已迁移到搜索栏表单提交事件中执行,因为表单项change后也会触发表单提交了\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});\n crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter});\n `,l=`\n // console.log("===onCancelScript=form==");\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === "form";\n });\n var filterFormValues = filterForm.getValues();\n let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");\n const removedValues = {};\n for(var k in filterFormValues){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n if(!event.data.isLookup){\n // 刷新浏览器后,filterFormValues值是空的,只能从本地存储中取出并重置为空值\n const listName = event.data.listName;\n const listViewPropsStoreKey = location.pathname + "/crud";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n for(var k in localListViewProps){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n }\n }\n else{\n const keywordsSearchBoxName = "${i}";\n //lookup字段保留快速搜索条件\n removedValues[keywordsSearchBoxName] = filterFormValues[keywordsSearchBoxName];\n }\n filterForm.setValues(removedValues);//会把表单提交到toolbar的快速搜索区域,造成在快速搜索框中触发搜索时再次把搜索表单中的字段值清除掉的bug,已单独在快速搜索框那边添加搜索事件代码处理过了\n // 以下方法都无法实现清除表单值\n // filterForm.setValues({}, true)\n // filterForm.reset();\n // filterForm.handleAction({},{\n // "actionType": "setValue",\n // "args": {\n // "value": removedValues\n // }\n // });\n // 下面触发clear动作可以清除表单值,且不会把表单提交到toolbar的快速搜索区域,但是会把金额等范围字段清空成非范围字段\n // filterForm.handleAction({},{\n // "actionType": "clear"\n // });\n\n // 清除__changedFilterFormValues中的值\n // crud && crud.setData({__changedFilterFormValues: {}});\n let __changedFilterFormValuesKey = "__changedFilterFormValues";\n if(isLookup && __lookupField){\n let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += "__" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = {};\n crud.setData(crudData);\n }\n filterForm.handleFormSubmit(event);\n // crud.handleFilterSubmit(removedValues);\n\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, "service");\n filterFormService.setData({showFieldsFilter: !!!filterFormService.props.data.showFieldsFilter});\n //触发amis crud 高度重算\n doAction({\n "actionType": "broadcast",\n "args": {\n "eventName": "@height.changed.${e.name}"\n },\n "data": {\n "timeOut": 100\n }\n });\n \n // 移除搜索按钮上的红点\n // let crudService = scope.getComponentById("service_listview_" + event.data.objectName);\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});\n crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});\n `,c=t.filter_form_data,u=`\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 `,d=`\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:u},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:d},{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 `,u=`\n ${c}\n\n // 下面的脚本只为解决点击搜索表单取消按钮,再重新在其中输入过滤条件但是不点击搜索按钮或回车按键触发搜索,此时在快速搜索框输入过滤条件按回车按键会把搜索表单中的过滤条件清空的问题\n // const scope = event.context.scoped;\n // 如果点击过顶部搜索栏表单的取消按钮,会把此处event.data.__super.__super.__super中的搜索表单项的所有字段设置为null\n // 点击取消按钮后继续在表单项中输入过滤条件且最后没有点击回车按键或点击表单项搜索按钮的话,在快速搜索中点击回车按钮提交搜索会所顶部搜索表单中的字段值清空\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, "form");\n if(!filterForm){\n return;\n }\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n let __changedFilterFormValuesKey = "__changedFilterFormValues";\n if(isLookup && __lookupField){\n let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += "__" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n setTimeout(function(){\n filterForm && filterForm.setValues(event.data[__changedFilterFormValuesKey]);\n }, 500);\n `;return{type:"tooltip-wrapper",id:"steedos_crud_toolbar_quick_search",align:"right",title:"",content:instance.t("frontend_crud_toolbar_quick_search_tooltip_prefix")+a.join(","),placement:"bottom",tooltipTheme:"dark",trigger:"click",className:"SMALL"!==n?"mr-1":"",visible:!!a.length,body:[{type:"search-box",name:r,placeholder:instance.t("frontend_crud_toolbar_quick_search_placeholder"),value:l,mini:!0,clearable:!0,clearAndSubmit:!0,searchImediately:!1,onEvent:{search:{actions:[{actionType:"custom",script:u}]},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,u;window.innerWidth,r||(c={type:"tpl",align:"left",className:"text-gray-500 mr-2",tpl:"${count} "+instance.t("frontend_record_sum")});let d;u={type:"button",align:"right",tooltipPlacement:"top",className:"bg-white p-2 rounded text-gray-500 list-view-btn-reload",label:"",icon:"fa fa-sync",onEvent:{click:{actions:[{actionType:"custom",script:'\n // 触发搜索,而不是reload,因为使用search-box可以在amissdk是3.6.3-patch.8+实现在非第一页的情况下,快速搜索输入框中过滤条件变更时再点刷新可以自动跳转翻页到第一页\n const scope = event.context.scoped;\n const sb = SteedosUI.getClosestAmisComponentByType(scope, "search-box");\n if (sb) {\n const sbValue = sb.state.value;\n sb.handleSearch(sbValue);\n }else{\n var listView = scope.parent.getComponents().find(function(n){\n return n.props.type === "crud";\n });\n listView.handleChangePage(1);\n }\n \n '}]}}},i&&(d={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 p=getDisplayAsButton(e?.name,e?.enable_split),f=getObjectHeaderQuickSearchBox(e,t,n,{isLookup:s,keywordsSearchBoxName:l}),m=[];return"SMALL"===n?(m.push(f),d&&m.push(d),m.push(p),[...a||[],...m]):(m.push(f),m.push(u),m.push(p),e?.permissions?.allowCreateListViews&&m.push(getSettingListviewToolbarButtonSchema()),d&&m.push(d),c&&m.push(c),[...a||[],"bulkActions",...m])}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 u=o.defaults||{};u.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),u.listSchema=_$1.defaultsDeep({},e,u.listSchema||{})}}catch(e){console.error("本地存储中crud参数解析异常:",e)}window.innerWidth>768&&(u.listSchema=_$1.defaultsDeep({},u.listSchema||{},{autoFillHeight:!0})),o.defaults=u,"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 u=getLookupListView(r),d=u&&u.name;u&&u.columns?(_$1__namespace.each(u.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(u.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 p=e.auto_fill_mapping;p&&p.length&&p.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 f={[o.labelField.name]:o.labelField,[o.valueField.name]:o.valueField};_$1__namespace.each(i,(e=>{e.hidden||(f[e.name]=e)}));let m=getListViewFilter(u),h=u&&u._filters,_="";u&&(_=getListViewSort(u));const g=await getApi(r,null,f,{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 v=`__keywords_lookup__${e.name.replace(/\./g,"_")}__to__${r.name}`;const b=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 ${m&&!n.inFilterForm?`var filters = ${JSON.stringify(m)};`:"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 : "${_}";\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(b)?JSON.stringify(b):'"'+b+'"'} || {};\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.${v}, 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 = ${h};\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:v}),"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,u=!_$1__namespace.isBoolean(e.create)||e.create;let p=!_$1__namespace.isEmpty(e.filters)||!!e.filtersFunction||!!e._filtersFunction;if(s&&u&&!p){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,f,{...n,isLookup:!0,keywordsSearchBoxName:v,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:d,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:m,listviewFiltersFunction:h}}),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),u=getListViewFilter(c),d=c&&c._filters,p="";if(c&&(p=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 ${u&&!n.inFilterForm?`var filters = ${JSON.stringify(u)};`:"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 = ${d};\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 = "${p}";\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 f={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&&(f.source=i,delete f.autoComplete);return r&&e.multiple||(f.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&&(f.multiple=!0,f.extractValue=!0),t&&(f.tpl=await getLookupTpl(e,n)),f}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),u="";c&&(u=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 : "${u}";\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 d=null;"SMALL"===n.formFactor?d=await getListSchema$1(s,{top:1e3,...n,actions:!1}):(d=await getTableSchema$1(r,s,{labelFieldName:r.NAME_FIELD_KEY,top:1e3,isLookup:!0,...n}),d.affixHeader=!1);const p={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:d,joinValues:!1,extractValue:!0};return e.multiple&&(p.multiple=!0,p.extractValue=!0),n.value&&(p.value=n.value),null!=n.selectFirst&&(p.selectFirst=n.selectFirst),t&&(p.tpl=await getLookupTpl(e,n)),p}"undefined"!=typeof window&&(window.getReferenceTo=getReferenceTo,window.getReferenceToSync=getReferenceToSync);const getMarkdownFieldSchema=(e,t,n)=>t?{type:"control",label:e.label,body:{type:"markdown",name:e.name,options:{linkify:!0,html:!0,breaks:!0}}}:{type:"control",label:e.label,body:[{type:"tabs",tabsMode:"strong",className:"steedos-markdown",tabs:[{title:instance.t("frontend_form_edit"),tab:[{type:"editor",name:e.name,labelClassName:"none",language:"markdown",options:e.amis?e.amis.editorOptions:null}]},{title:instance.t("frontend_form_preview"),tab:[{type:"markdown",name:e.name,options:{linkify:!0,html:!0,breaks:!0}}]}]}]},getHtmlFieldSchema=(e,t,n)=>t?{type:"input-rich-text",receiver:"${context.rootUrl}/s3/images",name:e.name,options:{plugins:["autoresize"],statusbar:!1,readonly:!0,toolbar:!1,menubar:!1}}:{type:"input-rich-text",receiver:"${context.rootUrl}/s3/images",options:{statusbar:!1,menubar:!1},name:e.name},QUICK_SEARCHABLE_FIELD_TYPES=["text","textarea","autonumber","url","email"],OMIT_FIELDS=["created","created_by","modified","modified_by"];function getObjectFieldSubFields(e,t){const n=Object.assign({subFields:[]},e),o=_$1__namespace.filter(t,(function(t){let n=t.name.startsWith(`${e.name}.`)&&_$1__namespace.split(t.name,".").length<3;return n&&(t._prefix=`${e.name}.`),n}));return n.subFields=o,n}function getGridFieldSubFields(e,t){const n=Object.assign({subFields:[]},e),o=_$1__namespace.filter(t,(function(t){let n=t.name.startsWith(`${e.name}.`);return n&&(t._prefix=`${e.name}.`),n}));return n.subFields=o,n}function getTabledFieldSubFields(e,t){const n=Object.assign({subFields:[]},e),o=_$1__namespace.filter(t,(function(t){let n=t.name.startsWith(`${e.name}.`);return n&&(t._prefix=`${e.name}.`),n}));return n.subFields=o,n}function getSelectFieldOptions(e){const t=e.data_type||"text",n=[];return _$1__namespace.each(e.options,(e=>{switch(t){case"number":n.push({label:e.label,value:Number(e.value),icon:e.icon});break;case"text":n.push({label:e.label,value:String(e.value),icon:e.icon});break;case"boolean":n.push({label:e.label,value:"false"!==e.value,icon:e.icon})}})),n}async function convertSFieldToAmisField(e,t,n){const o=window.innerWidth<=768;if(_$1__namespace.includes(OMIT_FIELDS,e.name)&&1!=n.showSystemFields)return;const r={name:n.fieldNamePrefix?`${n.fieldNamePrefix}${e.name}`:e.name,label:e.label,labelRemark:e.inlineHelpText,description:e.description,required:_$1__namespace.has(n,"required")?n.required:e.required};let a={};switch(e.type){case"text":a.type=getAmisStaticFieldType("text",t,e);break;case"textarea":a.type=getAmisStaticFieldType("textarea",t),a.tpl=`<%=(data.${e.name} || "").split("\\n").join('<br>')%>`;break;case"html":a=getHtmlFieldSchema(e,t);break;case"markdown":a=getMarkdownFieldSchema(e,t);break;case"select":if(t){const t=getSelectMap(e.options);a={type:"static-mapping",name:e.name,label:e.label,options:e.options,map:t}}else{a={type:getAmisStaticFieldType("select",t),joinValues:!1,options:getSelectFieldOptions(e),extractValue:!0,clearable:!0,labelField:"label",valueField:"value"};const n="${icon ? `"+"<span class='flex items-center mt-0.5'>\n <span role='img' aria-label='smile' class='anticon anticon-smile'>\n <span class='slds-icon_container slds-icon-standard-${REPLACE(icon,'_','-')}'>\n <svg class='slds-icon slds-icon_x-small' aria-hidden='true'>\n <use xlink:href='/assets/icons/standard-sprite/svg/symbols.svg#${icon}'></use>\n </svg>\n </span> \n </span>\n <span class='pl-1.5'>${label}</span>\n </span>"+"` : label}";o&&e.multiple||(a.menuTpl=n),e.multiple&&(a.multiple=!0,a.extractValue=!0)}break;case"color":a={type:getAmisStaticFieldType("color",t),name:e.name,label:e.label},t?a.defaultColor=null:a.pipeIn=(e,t)=>e&&e.indexOf("#")<0?"#"+e:e;break;case"boolean":a={type:getAmisStaticFieldType("checkbox",t),tpl:t?getSwitchTpl(e):null};break;case"input-date-range":a={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:t?getDateTpl(e):null,joinValues:!1,shortcuts:["thismonth","2monthsago","3monthslater","prevquarter","thisquarter","thisyear","lastYear"]};break;case"date":a={type:getAmisStaticFieldType("date",t),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:t?getDateTpl(e):null};break;case"input-datetime-range":a={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSSZ",tpl:t?getDateTimeTpl(e):null,utc:!0,joinValues:!1,shortcuts:["thismonth","2monthsago","3monthslater","prevquarter","thisquarter","thisyear","lastYear"]};break;case"datetime":a={type:getAmisStaticFieldType("datetime",t),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:00.000Z",tpl:t?getDateTimeTpl(e):null,utc:!0};break;case"input-time-range":a={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:t?getDateTimeTpl(e):null,joinValues:!1};break;case"time":a={type:getAmisStaticFieldType("time",t),inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:t?getDateTimeTpl(e):null};break;case"currency":case"number":a=t?{type:"static-tpl",tpl:getNumberTpl(e)}:{type:getAmisStaticFieldType("number",t),min:e.min,max:e.max,precision:e.scale};break;case"input-array":a=Object.assign({},e,r);break;case"input-range":a={type:"input-range",min:e.min,max:e.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":a=t?{type:"static-progress",name:"progress",pipeIn:(t,n)=>{if(t){return Number((100*t).toFixed(e.scale))}return t}}:{type:getAmisStaticFieldType("number",t),min:e.min,max:e.max,precision:e.scale,suffix:"%",pipeIn:(t,n)=>{if(t){return Number((100*t).toFixed(e.scale))}return t},pipeOut:(t,n,o)=>{if(t){return Number((t/100).toFixed(e.scale+2))}return t}};break;case"password":a={type:getAmisStaticFieldType("password",t),tpl:t?getPasswordTpl(e):null};break;case"lookup":case"master_detail":a=await lookupToAmis(e,t,n);break;case"autonumber":t?a={type:"static-text"}:e.autonumber_enable_modify&&(a={type:"input-group",body:[{type:"input-text",name:e.name},{type:"button",label:"自动获取",actionType:"ajax",api:{url:`\${context.rootUrl}/api/autonumber/generator/\${objectName}/${e.name}`,method:"post",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`\n var tempValue = payload.data && payload.data.autonumber;\n delete payload.data.autonumber;\n payload.data["${e.name}"] = tempValue;\n return payload;\n `},messages:{success:"获取成功"}}]});break;case"url":if(a={type:getAmisStaticFieldType("url",t,e),static:!!t},!t){let t=e.amis?.validations;void 0===t&&Object.assign(a,{validations:{matchRegexp:"^((http:\\/\\/|https:\\/\\/|ftp:\\/\\/|sftp:\\/\\/)+([^\\s\\/\\.]+(\\.[^\\s\\/\\.]+)+))*(\\/[^\\s\\.\\/]+)*$"},validationErrors:{matchRegexp:instance.t("frontend_form_validation_failed_url")}})}t&&e.show_as_qr&&(a={type:"control",label:e.label,body:{type:"qr-code",codeSize:128,name:e.name}});break;case"email":a={type:getAmisStaticFieldType("email",t)};break;case"location":let i="LiZT5dVbGTsPI91tFGcOlSpe5FDehpf7",s="baidu";if(window.Meteor){const e=Meteor.settings?.public?.amis?.map_ak;e&&(i=e);const t=Meteor.settings?.public?.amis?.map_vendor;t&&(s=t)}const l=e.coordinatesType||"bd09";a={type:getAmisStaticFieldType("location",t),tpl:t?getLocationTpl(e):null,ak:i,vendor:s,clearable:!0,coordinatesType:l,label:e.label,pipeOut:(e,t,n)=>{if(e){const t=e.lng,n=e.lat;let o=[t,n];if(window.coordtransform)if("bd09"===l.toLowerCase()){const e=window.coordtransform.bd09togcj02(t,n);o=window.coordtransform.gcj02towgs84(e[0],e[1])}else"gcj02"===l.toLowerCase()&&(o=window.coordtransform.gcj02towgs84(t,n));return e.wgs84={type:"Point",coordinates:o},e}}};break;case"avatar":case"image":case"file":a=await getAmisFileSchema(e,t,n);break;case"formula":case"summary":t&&(a={type:"static-tpl",tpl:getUiFieldTpl(e)});break;case"code":a={type:"editor",disabled:!!t,language:e.language,editorDidMount:new Function("editor","monaco",e.editorDidMount)};break;case"toggle":a={type:"switch",name:e.name,label:e.label,width:e.width,toggled:e.toggled,disabled:t};break;case"grid":if(e.subFields){a={type:"input-table",showIndex:!0,columnsTogglable:!1,strictMode:!1,affixHeader:!1,needConfirm:!1,editable:!t,addable:!t,removable:!t,draggable:!t,columns:[]};for(const o of e.subFields){const r=o.name.replace(`${e._prefix||""}${e.name}.$.`,"").replace(`${e.name}.`,""),i=await convertSFieldToAmisField(Object.assign({},o,{name:r,isTableField:!0}),t,n);if(i){delete i.name,delete i.label;const e={name:r,label:o.label,quickEdit:!t&&i};["lookup","boolean","toggle"].indexOf(o.type)>-1&&(e.type=i.type,e.tpl=i.tpl),a.columns.push(Object.assign({},e,o.amis,{name:r}))}}}break;case"table":if(e.subFields){a={type:"steedos-input-table",editable:!t,addable:!t,removable:!t,fields:[],amis:{columnsTogglable:!1}};for(const t of e.subFields)if(!t.name.endsWith(".$")){const n=t.name.replace(`${e._prefix||""}${e.name}.$.`,"").replace(`${e.name}.`,"");a.fields.push(Object.assign({},t,{name:n}))}}break;case"object":if(e.subFields){a={type:"combo",items:[]};for(let o of e.subFields){let r=o.name.replace(`${e.name}.$.`,"").replace(`${e.name}.`,"");"grid"===o.type?o=await getGridFieldSubFields(o,n.__formFields):"table"===o.type?o=await getTabledFieldSubFields(o,n.__formFields):t&&(r=`${e.name}.${r}`);const i=await convertSFieldToAmisField(Object.assign({},o,{name:r}),t,n);i&&(delete i.name,delete i.label,i.className=i.className.replace("border-b",""),a.items.push(Object.assign({},i,{label:o.label},o.amis,{name:r})))}}}if(!_$1__namespace.isEmpty(a)){const o=a.className;e.is_wide||"group"===a.type?a.className=o?"col-span-2 m-0 "+o:"col-span-2 m-0":a.className=o?"m-0 "+o:"m-0",t&&"edit"!==n.mode&&(a.className=`${a.className} border-b`),t&&(a.quickEdit=!1,a.static=!0);let i,s=" steedos-"+a.type+(t?"-readonly":"-edit");return a.className=a.className+s,e.visible_on&&!n.inFilterForm&&(e.visible_on.startsWith("{{")?a.visibleOn=`${e.visible_on.substring(2,e.visible_on.length-2).replace(/formData./g,"data.")}`:a.visibleOn=`${e.visible_on.replace(/formData./g,"data.")}`),n.amisData&&n.amisData._master&&n.amisData._master.relatedKey===e.name&&(a.className=`${a.className||""} hidden`),_$1__namespace.isString(r.required)&&r.required.startsWith("{{")&&(r.requiredOn=`${r.required.substring(2,r.required.length-2).replace(/formData./g,"data.")}`,delete r.required),"group"===a.type?(a.body[0]=Object.assign({},r,a.body[0],{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:e.name}),a):(i="steedos-field"==a.type?Object.assign({},r,a,{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:e.name},{name:r.name}):Object.assign({},r,a,{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:e.name},e.amis,{name:r.name}),t&&"file"==e.type&&(i.name=""),i)}}async function getFieldSearchable(e,t,n){n||(n={});let o=e;"grid"===o.type?o=await getGridFieldSubFields(e,t):"object"===e.type&&(o=await getObjectFieldSubFields(e,t));let r="__searchable__";if(o.name.indexOf(".")<0){let e=_$1.cloneDeep(o);_$1.includes(["textarea","html","code","autonumber"],o.type)&&(e.type="text"),_$1.includes(["formula","summary"],o.type)&&(e.type=o.data_type,e.precision=o.precision,e.scale=o.scale),"number"!==e.type&&"currency"!==e.type||(e.type="input-array",e.inline=!0,e.addable=!1,e.removable=!1,e.value=[null,null],e.items={type:"input-number",clearValueOnEmpty:!0},e.is_wide=!0,r=`${r}between__`),"date"===e.type&&(e.type="input-date-range",e.is_wide=!0,r=`${r}between__`),"datetime"===e.type&&(e.type="input-datetime-range",e.is_wide=!0,r=`${r}between__`),"time"===e.type&&(e.type="input-time-range",e.is_wide=!0,r=`${r}between__`),"users"===e.reference_to&&(e.reference_to="space_users",e.reference_to_field="user"),e.readonly=!1,e.disabled=!1,e.multiple=!0,e.is_wide=!1,e.defaultValue=void 0,e.required=!1,e.hidden=!1,e.omit=!1,e.amis&&(delete e.amis.static,delete e.amis.staticOn,delete e.amis.disabled,delete e.amis.disabledOn,delete e.amis.required,delete e.amis.requiredOn,delete e.amis.visible,delete e.amis.visibleOn,delete e.amis.hidden,delete e.amis.hiddenOn,delete e.amis.autoFill,(e.type.indexOf("-range")>-1||"input-array"===e.type)&&delete e.amis.type);const t=await convertSFieldToAmisField(e,!1,Object.assign({},n,{fieldNamePrefix:r,required:!1,showSystemFields:!0,inFilterForm:!0}));if(t)return t}}function isFieldTypeSearchable(e){return!_$1__namespace.includes(["grid","table","avatar","image","object","[object]","[Object]","[grid]","[text]","audio","file"],e)}function isFieldQuickSearchable(e,t){let n=e.searchable;return!1!==n&&e.name===t&&(n=!0),!!(n&&QUICK_SEARCHABLE_FIELD_TYPES.indexOf(e.type)>-1)}"undefined"!=typeof window&&(window.getFieldSearchable=getFieldSearchable),"undefined"!=typeof window&&(window.isFieldTypeSearchable=isFieldTypeSearchable);var asc$1="Asc",cancel$1="Cancel",clear$1="Clear",add$1="New",confirm$1="Confirm",deleteConfirm$1="Are your sure to delete?",deleteFailed$1="Delete failed",desc$1="Desc",fetchFailed$1="Fetch api failed",link$1="Link",loading$1="Loading",networkError$1="Network error or missing CORS configuration",noResult$1="No Result",reset$1="Reset",saveFailed$1="Save failed",saveSuccess$1="Saved successfully",search$1="Search",searchHistory$1="Search History",searchResult$1="Search result",sort$1="Sort",stop$1="Stop",validateFailed$1="Validate failed",reload$1="Reload",rotate$1="Rotate",TimeNow$1="Now",en_us={"Action.countDown":"Wait for ${timeLeft}s","Alert.info":"System Info","App.home":"Home","App.navigation":"Navigation",asc:asc$1,"Calendar.datepicker":"Date Picker","Calendar.yearmonth":"YYYY MM","Calendar.year":"YYYY","Calendar.begin":"begin","Calendar.end":"end","Calendar.beginAndEnd":"b/e","Calendar.toast":"Out of date range","Calendar.startPick":"Select start time","Calendar.endPick":"Select end time",cancel:cancel$1,"Card.dragTip":"Drag top button to sort","Card.toggleDrag":"Toggle drag to sort","City.street":"Enter street info",clear:clear$1,"ColorPicker.placeholder":"Select color","SubForm.add":"New",add:add$1,"Combo.dragDropSort":"Drag to sort","Combo.invalidData":"invalid data, please remove","Combo.maxLength":"Maximum item ia {{MaxLength}}}. Please delete some","Combo.minLength":"A least {{minLength}} item. Please add more","Combo.type":"Type",confirm:confirm$1,"Copyable.tip":"Copy","CRUD.exportCSV":"Export CSV","CRUD.exportExcel":"Export Excel","CRUD.fetchFailed":"Fetch failed","CRUD.filter":"Filter","CRUD.selected":"selected {{total}} items","CRUD.invalidArray":"data.items must be an array","CRUD.invalidData":"data is empty","CRUD.loadMore":"Load more","CRUD.perPage":"Per page","CRUD.stat":"{{page}} of {{lastPage}} total: {{total}}.","CRUD.paginationGoText":"Go to","CRUD.paginationPageText":"page","PaginationWrapper.placeholder":"please config body","Pagination.select":"{{count}} items/page","Pagination.goto":"goto","Pagination.go":"GO","Pagination.totalPage":"total {{lastPage}} pages","Pagination.totalCount":"total {{total}} items","Date.titleYear":"select year","Date.titleMonth":"select month and year","Date.titleDate":"select month, year and day","Date.titleTime":"select time","Date.daysago":"{{days}} day(s) ago","Date.dayslater":"{{days}} day(s) later","Date.endOfMonth":"last day of the month","Date.endOfLastMonth":"last day of last month","Date.endOfWeek":"Saturday","Date.hoursago":"{{hours}} hour(s) ago","Date.hourslater":"{{hours}} hour(s) later","Date.invalid":"Invalid date","Date.monday":"Monday","Date.monthsago":"{{months}} month(s) ago","Date.monthslater":"{{months}} month(s) later","Date.now":"Now","Date.placeholder":"Select Date","Date.quartersago":"{{quarters}} quarter(s) ago","Date.quarterslater":"{{quarters}} quarter(s) later","Date.startOfLastMonth":"First day of the last month","Date.startOfLastQuarter":"First day of the last quarter","Date.startOfMonth":"First day of the month","Date.startOfQuarter":"First day of the quarter","Date.today":"Today","Date.tomorrow":"Tomorrow","Date.weeksago":"{{weeks}} week(s) ago","Date.weekslater":"{{weeks}} week(s) later","Date.yesterday":"Yesterday","dateformat.year":"YYYY","DateRange.daysago":"Last {{days}} day(s)","DateRange.dayslater":"Within {{days}} day(s)","DateRange.weeksago":"Last {{weeks}} week(s)","DateRange.weekslater":"Within {{weeks}} week(s)","DateRange.monthsago":"Last {{months}} month(s)","DateRange.monthslater":"Within {{months}} month(s)","DateRange.quartersago":"Last {{quarters}} quarter(s)","DateRange.quarterslater":"Within {{quarters}} quarter(s)","DateRange.yearsago":"Last {{years}} year(s)","DateRange.yearslater":"Within {{years}} year(s)","DateRange.hoursago":"Last {{hours}} hour(s)","DateRange.hourslater":"Within {{hours}} hour(s)","DateRange.1dayago":"1 day ago","DateRange.1daysago":"1 day ago","DateRange.7daysago":"7 days ago","DateRange.30daysago":"30 days ago","DateRange.90daysago":"90 days ago","DateRange.lastMonth":"Last month","DateRange.lastWeek":"Last week","DateRange.lastQuarter":"Last quarter","DateRange.placeholder":"Select a Date range","YearRange.placeholder":"Select a Year range","DateRange.thisWeek":"This Week","DateRange.thisMonth":"This month","DateRange.thisQuarter":"This quarter","DateRange.thisYear":"This year","DateRange.lastYear":"Last year","DateRange.valueConcat":" to ","DateTime.placeholder":"Select Datetime",delete:"Delete",deleteConfirm:deleteConfirm$1,deleteFailed:deleteFailed$1,desc:desc$1,"Dialog.close":"Close","Dialog.title":"Title","Embed.invalidRoot":"Invalid root selector","Embed.downloading":"Start downloading","Excel.placeholder":"Drag 'n' drop excel here, or click to select","Excel.parsed":"{{filename}} Parsed",fetchFailed:fetchFailed$1,"File.continueAdd":"Continue add","File.downloadTpl":"Download template","File.dragDrop":"Drag 'n' drop some files here or","File.clickUpload":"click here to upload","File.helpText":"Help documentation","File.errorRetry":"File upload failed, please try again","File.failed":"Failed files.","File.invalidType":"{{files}} does not match type `{{accept}}`","File.maxLength":"The maximum limit is {{maxLength}}","File.maxSize":"{{filename}} you selected exceeds the maximum limit of {{maxsize}} (in bytes)","File.pause":"Pause uplaod","File.repick":"Repick","File.result":"Successfully uploaded {{uploaded}} files, failed to upload {{failed}} files","File.retry":"Retry","File.sizeLimit":"The maximum file size is {{maxSize}}","File.start":"Start upload","File.upload":"Upload","Image.upload":"Upload image","File.uploadFailed":"return data of udpload api is empty","File.uploading":"Uploading","FormItem.autoFillLoadFailed":"return data of autoUpdate api is error","FormItem.autoFillSuggest":"Reference data entry","Form.loadOptionsFailed":"Failed to load options because: {{reason}}","Form.submit":"Submit","Form.title":"Form","Form.unique":"Current value is not unique","Form.validateFailed":"Form input validation failed","Form.nestedError":"Form cannot appear as a descendant of form","Image.configError":"Can only set one of crop or multiple","Image.crop":"Crop image","Image.dragDrop":"Drag 'n' drop some photos here","Image.height":"height: {{height}}px","Image.limitMax":"Minimum image size is {{info}}","Image.limitMin":"Maximum image size is {{info}}","Image.limitRatio":"Please upload image with the size ratio of {{ration}}","Image.pasteTip":"You can paste image from the clipboard","Image.placeholder":"Click to select image or drag into this area","Image.size":"size: ({{width}}px x {{height}}px)","Image.sizeNotEqual":"The image you selected does not meet the size requirements {{info}}","Image.width":"width: {{width}}px","Image.zoomIn":"Zoom In","Log.mustHaveSource":"Must have source in config","Log.showLineNumber":"Display line number","Log.notShowLineNumber":"Hide line number","Log.expand":"Expand Operation","Log.collapse":"Collapse Operation",link:link$1,loading:loading$1,"LocationPicker.placeholder":"Pick location","Month.placeholder":"Select a month","Nav.sourceError":"Fetch link error",networkError:networkError$1,noResult:noResult$1,"NumberInput.placeholder":"Please enter a number","Options.addPlaceholder":"Please enter a name","Options.deleteAPI":"Must have deleteAPI","Options.editLabel":"Edit {{label}}","Options.label":"option","Options.createFailed":"create failed, please check","placeholder.empty":"<Empty>","placeholder.enter":"Enter","placeholder.noData":"No data","placeholder.noOption":"No option","placeholder.selectData":"Select data","Quarter.placeholder":"Select a quarter","Repeat.pre":"Per",reset:reset$1,saveFailed:saveFailed$1,saveSuccess:saveSuccess$1,search:search$1,searchHistory:searchHistory$1,searchResult:searchResult$1,"Checkboxes.selectAll":"Select/Deselect All","Select.checkAll":"Check all","Select.clear":"Clear","Select.upload":"Re upload","Select.clearAll":"Clear all","Select.createLabel":"New option","Select.placeholder":"Select","Select.searchPromptText":"Input to search",sort:sort$1,stop:stop$1,"SubForm.button":"Config","SubForm.editDetail":"Edit Detail","System.error":"System error","System.notify":"System notify","System.copy":"Content copied","System.requestError":"Request error: ","System.requestErrorStatus":"Request error, status code: ","Table.addRow":"Add row","Table.copyRow":"Copy row","Table.columnsVisibility":"Click to control columns visibility","Table.deleteRow":"Delete current row","Table.discard":"Discard","Table.dragTip":"Drag the button on the left to sort","Table.editing":"You should finished editing","Table.editRow":"Edit current row","Table.modified":"There are {{modified}} records have been modified, you can:","Table.moved":"There are {{moved}} records changed the order, you can:","Table.operation":"Operation","Table.playload":"Must have playload","Table.startSort":"Click to start sorting","Table.valueField":"Must have valueField","Table.index":"Index","Table.toggleColumn":"Display columns","Table.searchFields":"Set query fields","Tag.placeholder":"No tag yet","Tag.tip":"Recently used tag","Text.add":"New {{label}}","Time.placeholder":"Select Time","Transfer.configError":"Config error","Transfer.refreshIcon":"Click to refresh","Transfer.searchKeyword":"Enter keywords","Transfer.available":"Available","Transfer.selectd":"Selected","Transfer.selectFromLeft":"Select from the left","Tree.addChild":"Add child","Tree.addRoot":"Add root node","Tree.editNode":"Edit this node","Tree.removeNode":"Remove this node","Tree.root":"Root","validate.equals":"value must be $1","validate.equalsField":"value must be $1","validate.gt":"Please enter a value greater than $1","validate.isAlpha":"Please enter letters","validate.isAlphanumeric":"Please enter letters or numbers","validate.isEmail":"Email format is incorrect","validate.isFloat":"Please enter a floating point value","validate.isId":"invalid ID Card number","validate.isInt":"Please enter an integer number","validate.isJson":"invalid JSON format.","validate.isLength":"Please make sure the length of contents is $1","validate.isNumeric":"Please enter a number","validate.isPhoneNumber":"invalid phone number","validate.isRequired":"This is required","validate.isTelNumber":"invalid telephone number","validate.isUrl":"Incorrect URL format","validate.isUrlPath":"You can only enter letters, numbers, `-` and`_` .","validate.isWords":"Please enter word","validate.isZipcode":"invalid postal address","validate.lt":"Please enter a value less than $1","validate.matchRegexp":"The format is not correct. Please enter the content with the rule `${1| raw}`.","validate.maximum":"The input value exceeds the maximum value of $1","validate.maxLength":"Please control the content length, do not enter more than $1 letters","validate.minimum":"The input value is lower than the minimum value of $1","validate.minLength":"Please enter more, at least $1 characters.","validate.notEmptyString":"Please do not enter all blank characters",validateFailed:validateFailed$1,"Wizard.configError":"Config error","Wizard.finish":"Finish","Wizard.next":"Next","Wizard.prev":"Prev","Wizard.saveAndNext":"Save & Next","year-to-year":"{{from}} - {{to}}","Year.placeholder":"Select a Year",reload:reload$1,rotate:rotate$1,"Editor.fullscreen":"full screen","Editor.exitFullscreen":"exit fullscreen mode","Condition.not":"not","Condition.and":"and","Condition.or":"or","Condition.add_cond":"add condition","Condition.add_cond_group":"add condition group","Condition.delete_cond_group":"delete condition group","Condition.equal":"equal","Condition.not_equal":"not equal","Condition.less":"less","Condition.less_or_equal":"less or equal","Condition.greater":"greater","Condition.greater_or_equal":"greater or equal","Condition.between":"between","Condition.not_between":"not between","Condition.is_empty":"empty","Condition.is_not_empty":"not empty","Condition.like":"contains","Condition.not_like":"not contains","Condition.starts_with":"starts with","Condition.ends_with":"ends with","Condition.select_equals":"equals","Condition.select_not_equals":"not equal","Condition.select_any_in":"contains","Condition.select_not_any_in":"not contains","Condition.placeholder":"Please enter text","Condition.cond_placeholder":"select condition","Condition.field_placeholder":"select field","Condition.blank":"blank","Condition.expression":"expression","Condition.formula_placeholder":"Please enter a formula","Condition.fun_error":"Function is undefined","InputTable.uniqueError":"Column `{{label}}` unique validate failed","Timeline.collapseText":"Unfold","Timeline.expandText":"Fold","FormulaEditor.btnLabel":"Formula Edit","FormulaEditor.title":"Formula Editor","FormulaEditor.variable":"Variable","FormulaEditor.function":"Function","FormulaEditor.invalidData":"invalid data, position or reason is {{err}}","pullRefresh.pullingText":"Pull down to refresh...","pullRefresh.loosingText":"Release to refresh...","pullRefresh.loadingText":"Loading...","pullRefresh.successText":"Loading success","Picker.placeholder":"Click icon on the right","UserSelect.edit":"edit","UserSelect.save":"preservation","UserSelect.resultSort":"Select result sort","UserSelect.selected":"Selected","UserSelect.clear":"empty","SchemaType.string":"String","SchemaType.number":"Number","SchemaType.integer":"integer","SchemaType.object":"Object","SchemaType.array":"Array","SchemaType.boolean":"Boolean","SchemaType.any":"Any","SchemaType.null":"Null","JSONSchema.title":"Title","JSONSchema.default":"Default","JSONSchema.description":"Description","JSONSchema.key":"Key","JSONSchema.array_items":"Items",TimeNow:TimeNow$1},asc="正序",Schedule="日程",Time="时间",Content="内容",cancel="取消",clear="清空",add="新增",confirm="确认",deleteConfirm="确认要删除?",deleteFailed="删除失败",desc="降序",fetchFailed="初始化失败",link="链接",loading="加载中",networkError="网络错误,可能是未配置跨域 CORS",noResult="未找到任何结果",reset="重置",saveFailed="保存失败",saveSuccess="保存成功",search="搜索",searchHistory="搜索历史",searchResult="搜索结果",stop="停止",sort="排序",validateFailed="表单验证失败",reload="刷新",rotate="旋转",collapse="展开",expand="折叠",Required="必填",TimeNow="此刻",zh_cn={"Action.countDown":"请等待 ${timeLeft} 秒","Alert.info":"系统消息","App.home":"首页","App.navigation":"导航",asc:asc,"Calendar.datepicker":"日期选择","Calendar.yearmonth":"YYYY年MM月","Calendar.year":"YYYY年","Calendar.begin":"开始","Calendar.end":"结束","Calendar.beginAndEnd":"始/终","Calendar.toast":"超出日期范围","Calendar.startPick":"开始时间","Calendar.endPick":"结束时间",Schedule:Schedule,Time:Time,Content:Content,cancel:cancel,"Card.dragTip":"请拖动顶部的按钮进行排序","Card.toggleDrag":"对卡片进行排序操作","City.street":"请输入街道信息",clear:clear,"ColorPicker.placeholder":"请选择颜色","SubForm.add":"新增一项",add:add,"Combo.dragDropSort":"拖拽排序","Combo.invalidData":"数值格式不正确","Combo.maxLength":"组合表单超出{{maxLength}}个,请删除","Combo.minLength":"组合表单数量不足{{minLength}}个,请添加更多","Combo.type":"类型",confirm:confirm,"Copyable.tip":"点击复制","CRUD.exportCSV":"导出 CSV","CRUD.exportExcel":"导出 Excel","CRUD.fetchFailed":"获取失败","CRUD.filter":"筛选","CRUD.selected":"已选{{total}}条:","CRUD.invalidArray":"data.items 必须是数组","CRUD.invalidData":"返回数据格式不正确,data 没有数据","CRUD.loadMore":"加载更多","CRUD.perPage":"每页显示","CRUD.stat":"{{page}}/{{lastPage}} 总共:{{total}} 项","CRUD.paginationGoText":"前往","CRUD.paginationPageText":"页","PaginationWrapper.placeholder":"请配置内容","Pagination.select":"{{count}} 条/页","Pagination.goto":"跳转至","Pagination.go":"跳转","Pagination.totalPage":"共 {{lastPage}} 页","Pagination.totalCount":"共 {{total}} 条","Date.titleYear":"选择年","Date.titleMonth":"选择年月","Date.titleDate":"选择年月日","Date.titleTime":"选择时间","Date.daysago":"{{days}}天前","Date.dayslater":"{{days}}天后","Date.endOfMonth":"本月最后一天","Date.endOfWeek":"周日","Date.endOfLastMonth":"上月最后一天","Date.hoursago":"{{hours}}小时前","Date.hourslater":"{{hours}}小时后","Date.invalid":"日期无效","Date.monday":"本周一","Date.monthsago":"{{months}}月前","Date.monthslater":"{{months}}月后","Date.now":"现在","Date.placeholder":"请选择日期","Date.quartersago":"{{quarters}}季度前","Date.quarterslater":"{{quarters}}季度后","Date.startOfLastMonth":"上个月第一天","Date.startOfLastQuarter":"上个季度第一天","Date.startOfMonth":"本月第一天","Date.startOfQuarter":"本季度第一天","Date.today":"今天","Date.tomorrow":"明天","Date.weeksago":"{{weeks}}周前","Date.weekslater":"{{weeks}}周后","Date.yesterday":"昨天","dateformat.year":"YYYY年","DateRange.daysago":"最近{{days}}天","DateRange.dayslater":"{{days}}天以内","DateRange.weeksago":"最近{{weeks}}周","DateRange.weekslater":"{{weeks}}周以内","DateRange.monthsago":"最近{{months}}月","DateRange.monthslater":"{{months}}月以内","DateRange.quartersago":"最近{{quarters}}季度","DateRange.quarterslater":"{{quarters}}季度以内","DateRange.yearsago":"最近{{years}}年","DateRange.yearslater":"{{years}}年以内","DateRange.hoursago":"最近{{hours}}小时","DateRange.hourslater":"{{hours}}小时以内","DateRange.1daysago":"最近1天","DateRange.1dayago":"最近1天","DateRange.7daysago":"最近7天","DateRange.30daysago":"最近30天","DateRange.90daysago":"最近90天","DateRange.lastWeek":"上周","DateRange.lastMonth":"上个月","DateRange.lastQuarter":"上个季度","DateRange.placeholder":"请选择日期范围","DateRange.thisWeek":"这个周","DateRange.thisMonth":"这个月","DateRange.thisQuarter":"这个季度","DateRange.valueConcat":" 至 ","DateTime.placeholder":"请选择日期以及时间","MonthRange.placeholder":"请选择月份范围","QuarterRange.placeholder":"请选择季度范围","YearRange.placeholder":"请选择年份范围","DateRange.thisYear":"今年","DateRange.lastYear":"去年",delete:"删除",deleteConfirm:deleteConfirm,deleteFailed:deleteFailed,desc:desc,"Dialog.close":"关闭","Dialog.title":"弹框","Embed.invalidRoot":"选择器不对,页面上没有此元素","Embed.downloading":"文件即将开始下载","Excel.placeholder":"拖拽 Excel 到这,或点击上传","Excel.parsed":"已解析 {{filename}}",fetchFailed:fetchFailed,"File.continueAdd":"继续添加","File.downloadTpl":"下载模板","File.dragDrop":"将文件拖到此处,或","File.clickUpload":"点击上传","File.helpText":"帮助文档","File.errorRetry":"文件上传失败请重试","File.failed":"失败文件","File.invalidType":"{{files}} 不符合类型的 {{accept}} 的设定,请仔细检查","File.maxLength":"最多上传 {{maxLength}} 个文件","File.maxSize":"{{filename}} 大小为 {{actualSize}} 超出了最大为 {{maxSize}} (字节)的限制","File.pause":"暂停上传","File.repick":"重新选择","File.result":"已成功上传 {{uploaded}} 个文件,{{failed}} 个文件上传失败,","File.retry":"重试上传","File.sizeLimit":"文件大小不超过 {{maxSize}}","File.start":"开始上传","File.upload":"文件上传","Image.upload":"图片上传","File.uploadFailed":"接口返回错误,请仔细检查","File.uploading":"上传中...","FormItem.autoFillLoadFailed":"接口返回错误,请仔细检查","FormItem.autoFillSuggest":"参照录入数据","Form.loadOptionsFailed":"加载选项失败,原因:{{reason}}","Form.submit":"提交","Form.title":"表单","Form.unique":"当前值不唯一","Form.validateFailed":"依赖的部分字段没有通过验证","Form.nestedError":"表单不要直接嵌套在表单下面","Image.configError":"图片多选配置和裁剪配置只能设置一个","Image.crop":"裁剪图片","Image.dragDrop":"将图片拖拽到此处","Image.height":"高度 {{height}}px","Image.limitRatio":"请上传尺寸比率为 {{ratio}} 的图片","Image.pasteTip":"可以粘贴剪切板中的图片","Image.placeholder":"点击选择图片或拖拽图片到这里","Image.size":"尺寸({{width}} x {{height}})","Image.sizeMax":"请上传不要大于{{info}}的图片","Image.sizeMin":"请上传不要小于{{info}}的图片","Image.sizeNotEqual":"请上传{{info}}的图片","Image.width":"宽度 {{width}}px","Image.zoomIn":"查看大图","Image.limitMax":"上传图片大于{{info}},请检查图片尺寸","Image.limitMin":"上传图片小于{{info}},请检查图片尺寸","Log.mustHaveSource":"需要配置 Source","Log.showLineNumber":"显示行数","Log.notShowLineNumber":"不现实行数","Log.expand":"展开工具栏","Log.collapse":"收起工具栏",link:link,loading:loading,"LocationPicker.placeholder":"请选择位置","Month.placeholder":"请选择月份","Nav.sourceError":"获取链接错误",networkError:networkError,noResult:noResult,"NumberInput.placeholder":"请输入数字","Options.addPlaceholder":"请输入名称","Options.deleteAPI":"必须设置 deleteAPI","Options.editLabel":"编辑{{label}}","Options.label":"选项","Options.createFailed":"新增失败,请仔细检查","placeholder.empty":"<空>","placeholder.enter":"请输入","placeholder.noData":"暂无数据","placeholder.noOption":"暂无选项","placeholder.selectData":"请先选择数据","Quarter.placeholder":"请选择季度","Repeat.pre":"每",reset:reset,saveFailed:saveFailed,saveSuccess:saveSuccess,search:search,searchHistory:searchHistory,searchResult:searchResult,stop:stop,"Checkboxes.selectAll":"全选/不选","Select.checkAll":"全选","Select.clear":"移除","Select.upload":"重新上传","Select.clearAll":"移除所有","Select.createLabel":"新增选项","Select.placeholder":"请选择","Select.searchPromptText":"搜索",sort:sort,"SubForm.button":"设置","SubForm.editDetail":"编辑详情","System.error":"系统错误","System.notify":"系统消息","System.copy":"内容已复制到粘贴板","System.requestError":"接口报错:","System.requestErrorStatus":"接口出错,状态码是:","Table.addRow":"新增一行","Table.copyRow":"复制一行","Table.columnsVisibility":"点击选择显示列","Table.deleteRow":"删除当前行","Table.discard":"放弃","Table.dragTip":"请拖动左边的按钮进行排序","Table.editing":"请先处理表格编辑项","Table.editRow":"编辑当前行","Table.modified":"当前有 {{modified}} 条记录修改但没有提交,你可以:","Table.moved":"当前有 {{moved}} 条记录修改了顺序但没有提交,你可以:","Table.operation":"操作","Table.playload":"action 上请配置 payload, 否则不清楚要删除哪个","Table.startSort":"点击开始排序","Table.valueField":"请配置 valueField","Table.index":"序号","Table.toggleColumn":"显示列","Table.searchFields":"设置查询字段","Tag.placeholder":"请输入/选择标签","Tag.tip":"最近使用的标签","Text.add":"新增:{{label}}","Time.placeholder":"请选择时间","Transfer.configError":"配置错误,选项无法与左侧选项对应","Transfer.refreshIcon":"点击刷新重新加载","Transfer.searchKeyword":"请输入关键字","Transfer.available":"可选项","Transfer.selectd":"已选项","Transfer.selectFromLeft":"请选择左侧数据","Tree.addChild":"添加子节点","Tree.addRoot":"添加一级节点","Tree.editNode":"编辑该节点","Tree.removeNode":"移除该节点","Tree.root":"顶级","validate.equals":"输入的数据与 $1 不一致","validate.equalsField":"输入的数据与 $1 值不一致","validate.gt":"请输入大于 $1 的值","validate.isAlpha":"请输入字母","validate.isAlphanumeric":"请输入字母或者数字","validate.isEmail":"Email 格式不正确","validate.isFloat":"请输入浮点型数值","validate.isId":"请输入合法的身份证号","validate.isInt":"请输入整型数字","validate.isJson":"JSON 格式不正确","validate.isLength":"请输入长度为 $1 的内容","validate.isNumeric":"请输入数字","validate.isPhoneNumber":"请输入合法的手机号码","validate.isRequired":"这是必填项","validate.isTelNumber":"请输入合法的电话号码","validate.isUrl":"URL 格式不正确","validate.isUrlPath":"只能输入字母、数字、`-` 和 `_`.","validate.isWords":"请输入单词","validate.isZipcode":"请输入合法的邮编地址","validate.lt":"请输入小于 $1 的值","validate.matchRegexp":"格式不正确, 请输入符合规则为 `${1|raw}` 的内容。","validate.maximum":"当前输入值超出最大值 $1","validate.maxLength":"请控制内容长度, 不要输入 $1 个以上字符","validate.minimum":"当前输入值低于最小值 $1","validate.minLength":"请输入更多的内容,至少输入 $1 个字符。","validate.notEmptyString":"请不要全输入空白字符",validateFailed:validateFailed,"Wizard.configError":"配置错误","Wizard.finish":"完成","Wizard.next":"下一步","Wizard.prev":"上一步","Wizard.saveAndNext":"保存并下一步","year-to-year":"{{from}} 年 - {{to}} 年","Year.placeholder":"请选择年",reload:reload,rotate:rotate,"Editor.fullscreen":"全屏","Editor.exitFullscreen":"退出全屏","Condition.not":"非","Condition.and":"并","Condition.or":"或","Condition.add_cond":"添加条件","Condition.add_cond_group":"添加条件组","Condition.delete_cond_group":"删除组","Condition.equal":"等于","Condition.not_equal":"不等于","Condition.less":"小于","Condition.less_or_equal":"小于或等于","Condition.greater":"大于","Condition.greater_or_equal":"大于或等于","Condition.between":"属于范围","Condition.not_between":"不属于范围","Condition.is_empty":"为空","Condition.is_not_empty":"不为空","Condition.like":"模糊匹配","Condition.not_like":"不匹配","Condition.starts_with":"匹配开头","Condition.ends_with":"匹配结尾","Condition.select_equals":"等于","Condition.select_not_equals":"不等于","Condition.select_any_in":"包含","Condition.select_not_any_in":"不包含","Condition.placeholder":"请输入文本","Condition.cond_placeholder":"请选择操作","Condition.field_placeholder":"请选择字段","Condition.blank":"空","Condition.expression":"表达式","Condition.formula_placeholder":"请输入公式","Condition.fun_error":"方法未定义","InputTable.uniqueError":"列`{{label}}`没有通过唯一验证","Timeline.collapseText":"展开","Timeline.expandText":"折叠",collapse:collapse,expand:expand,"FormulaEditor.btnLabel":"公式编辑","FormulaEditor.title":"公式编辑器","FormulaEditor.variable":"变量","FormulaEditor.function":"函数","FormulaEditor.invalidData":"公式值校验错误,错误的位置/原因是 {{err}}","pullRefresh.pullingText":"下拉即可刷新...","pullRefresh.loosingText":"释放即可刷新...","pullRefresh.loadingText":"加载中...","pullRefresh.successText":"加载成功","Picker.placeholder":"请点击右侧的图标","UserSelect.edit":"编辑","UserSelect.save":"保存","UserSelect.resultSort":"选择结果排序","UserSelect.selected":"已选","UserSelect.clear":"清空","SchemaType.string":"文本","SchemaType.number":"数字","SchemaType.integer":"整数","SchemaType.object":"对象","SchemaType.array":"数组","SchemaType.boolean":"布尔","SchemaType.null":"Null","SchemaType.any":"任意","JSONSchema.title":"名称","JSONSchema.default":"默认值","JSONSchema.key":"字段名","JSONSchema.description":"描述","JSONSchema.add_prop":"添加属性","JSONSchema.array_items":"成员类型",Required:Required,TimeNow:TimeNow};const resourcesMap={"en-US":en_us,"zh-CN":zh_cn},getUserLanguage=()=>{var e=Builder.settings.context?.user?.language||window.navigator.language;return"en"===e&&(e="en-US"),e};var locale="zh-CN";function getAmisLocaleResource(){var e=resourcesMap[locale];return e||resourcesMap["zh-CN"]}if("undefined"!=typeof window&&(locale=getUserLanguage()),"undefined"!=typeof window){var currentAmis=window.amisRequire&&window.amisRequire("amis")||Amis;currentAmis&¤tAmis.registerLocale(locale,getAmisLocaleResource())}function Inbox(e){var t=e.className,n=e.onClick,o=__rest(e,["className","onClick"]),r=useInboxNotificationsSuspense().inboxNotifications;return 0===r.length?React__default.default.createElement("div",{className:clsx(t,"empty")},instance.t("liveblocks:frontend_inbox_empty")):React__default.default.createElement("div",__assign({className:t},o),React__default.default.createElement(InboxNotificationList,{className:"inbox-list"},r.map((function(e){return React__default.default.createElement(InboxNotification,{key:e.id,inboxNotification:e,onClick:n})}))))}function InboxPopoverUnreadCount(){var e=useUnreadInboxNotificationsCountSuspense().count;return e?React__default.default.createElement("div",{className:"inbox-unread-count"},e):null}function AmisInboxPopover(e){var t=e.className,n=__rest(e,["className"]),o=__read(React.useState(!1),2),r=o[0],a=o[1],i=useMarkAllInboxNotificationsAsRead(),s=useDeleteAllInboxNotifications();return React__default.default.createElement(Root2$1,{open:r,onOpenChange:a},React__default.default.createElement(Trigger,{className:clsx(t,"inbox-button square")},React__default.default.createElement(ErrorBoundary,{fallback:null},React__default.default.createElement(ClientSideSuspense,{fallback:null},React__default.default.createElement(InboxPopoverUnreadCount,null))),React__default.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",width:"20",height:"20"},React__default.default.createElement("path",{"fill-rule":"evenodd",d:"M12 2.25c-2.429 0-4.817.178-7.152.521C2.87 3.061 1.5 4.795 1.5 6.741v6.018c0 1.946 1.37 3.68 3.348 3.97.877.129 1.761.234 2.652.316V21a.75.75 0 0 0 1.28.53l4.184-4.183a.39.39 0 0 1 .266-.112c2.006-.05 3.982-.22 5.922-.506 1.978-.29 3.348-2.023 3.348-3.97V6.741c0-1.947-1.37-3.68-3.348-3.97A49.145 49.145 0 0 0 12 2.25ZM8.25 8.625a1.125 1.125 0 1 0 0 2.25 1.125 1.125 0 0 0 0-2.25Zm2.625 1.125a1.125 1.125 0 1 1 2.25 0 1.125 1.125 0 0 1-2.25 0Zm4.875-1.125a1.125 1.125 0 1 0 0 2.25 1.125 1.125 0 0 0 0-2.25Z","clip-rule":"evenodd"}))),React__default.default.createElement(Portal$1,null,React__default.default.createElement(Content2$2,__assign({className:"inbox",collisionPadding:16,sideOffset:8},n),React__default.default.createElement("div",{className:"inbox-header"},React__default.default.createElement("span",{className:"inbox-title"},instance.t("liveblocks:frontend_comment_inbox")),React__default.default.createElement("div",{className:"inbox-buttons"},React__default.default.createElement("button",{className:"inbox-button",onClick:i},instance.t("liveblocks:frontend_mark_all_read")),React__default.default.createElement("button",{className:"inbox-button destructive",onClick:s},instance.t("liveblocks:frontend_delete_all")))),React__default.default.createElement(ErrorBoundary,{fallback:React__default.default.createElement("div",{className:"error"},instance.t("liveblocks:frontend_fallback_error"))},React__default.default.createElement(ClientSideSuspense,{fallback:React__default.default.createElement(Loading,null)},React__default.default.createElement(Inbox,{onClick:function(e){console.log("clicked"),a(!1)}}))))))}instance.addResources("en","liveblocks",en_us$2),instance.addResources("zh-CN","liveblocks",zh_cn$2);var AmisRoomsProvider=function(e){var t,n=e.data,o=e.baseUrl,r=e.children,a=e.body,i=e.render,s=e.readonly,l=void 0!==s&&s,c=__read(React.useState(null),2),u=c[0],d=c[1],p=o||(null===(t=n.context)||void 0===t?void 0:t.rootUrl)||"".concat(window.location.protocol,"//").concat(window.location.host);console.log("liveblocks baseUrl:",p);var f=useTranslation(),m=f.i18n;f.t;var h=m.language,_=instance.getResourceBundle(h,"liveblocks")||{},g=__assign({locale:h},_),v=g.INBOX_NOTIFICATION_THREAD_COMMENTS_LIST__commented||"commented",b=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," ",v,t?React__default.default.createElement(React__default.default.Fragment,null," ",b," ",t):React__default.default.createElement(React__default.default.Fragment,null," ",y))},React__default.default.createElement(LiveblocksUIConfig,{overrides:g},React__default.default.createElement(LiveblocksProvider,{baseUrl:p,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(p,"/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(),d(i.token),[2,i]}}))}))},resolveRoomsInfo:function(e){var t=e.roomIds;return __awaiter(void 0,void 0,void 0,(function(){var e,n;return __generator(this,(function(o){switch(o.label){case 0:return e=new URLSearchParams(t.map((function(e){return["roomIds",e]}))),[4,fetch("".concat(p,"/v2/c/rooms?").concat(e),{headers:{Authorization:"Bearer ".concat(u)}})];case 1:if(!(n=o.sent()).ok)throw new Error(instance.t("liveblocks:frontend_fetch_rooms_info_error"));return[4,n.json()];case 2:return[2,o.sent()]}}))}))},resolveUsers:function(e){var t=e.userIds;return __awaiter(void 0,void 0,void 0,(function(){var e,n;return __generator(this,(function(o){switch(o.label){case 0:return e=new URLSearchParams(t.map((function(e){return["userIds",e]}))),[4,fetch("".concat(p,"/v2/c/users?").concat(e),{headers:{Authorization:"Bearer ".concat(u)}})];case 1:if(!(n=o.sent()).ok)throw new Error(instance.t("liveblocks:frontend_fetch_users_error"));return[4,n.json()];case 2:return[2,o.sent()]}}))}))},resolveMentionSuggestions:function(e){var t=e.text,n=void 0===t?"":t;return __awaiter(void 0,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,fetch("".concat(p,"/v2/c/users/search?keyword=").concat(encodeURIComponent(n)),{headers:{Authorization:"Bearer ".concat(u)}})];case 1:if(!(e=t.sent()).ok)throw new Error(instance.t("liveblocks:frontend_fetch_mention_suggestions_error"));return[4,e.json()];case 2:return[2,t.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 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&&(e.set=e.add=e.clear=e.delete=dontMutateFrozenCollections),Object.freeze(e),t&&Object.entries(e).forEach((([e,t])=>freeze$1(t,!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||!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;immer.produceWithPatches.bind(immer),immer.setAutoFreeze.bind(immer),immer.setUseStrictShallowCopy.bind(immer),immer.applyPatches.bind(immer);var 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:u}=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]>=u&&(o[c.length-1]+=1,o[c.length]-=u);break;case"move_node":var{path:d,newPath:p}=t;if(Path.equals(d,p))return o;if(Path.isAncestor(d,o)||Path.equals(d,o)){var f=p.slice();return Path.endsBefore(d,p)&&d.length<p.length&&(f[d.length-1]-=1),f.concat(o.slice(d.length))}Path.isSibling(d,p)&&(Path.isAncestor(p,o)||Path.equals(p,o))?Path.endsBefore(d,o)?o[d.length-1]-=1:o[d.length-1]+=1:Path.endsBefore(p,o)||Path.equals(p,o)||Path.isAncestor(p,o)?(Path.endsBefore(d,o)&&(o[d.length-1]-=1),o[p.length-1]+=1):Path.endsBefore(d,o)&&(Path.equals(p,o)&&(o[p.length-1]+=1),o[d.length-1]-=1)}return o}};function _typeof$4(e){return _typeof$4="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$4(e)}function _toPrimitive$4(e,t){if("object"!==_typeof$4(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==_typeof$4(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function _toPropertyKey$4(e){var t=_toPrimitive$4(e,"string");return"symbol"===_typeof$4(t)?t:String(t)}function _defineProperty$4(e,t,n){return(t=_toPropertyKey$4(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$4(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:u,text:d}=n;if(0===d.length)break;var p=Node$1.leaf(e,c),f=p.text.slice(0,u),m=p.text.slice(u);if(p.text=f+d+m,t)for(var[h,_]of Range.points(t))t[_]=Point.transform(h,n);break;case"merge_node":var{path:g}=n,v=Node$1.get(e,g),b=Path.previous(g),y=Node$1.get(e,b),E=Node$1.parent(e,g),w=g[g.length-1];if(Text$1.isText(v)&&Text$1.isText(y))y.text+=v.text;else{if(Text$1.isText(v)||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(v)," ").concat(Scrubber.stringify(y)));y.children.push(...v.children)}if(E.children.splice(w,1),t)for(var[C,x]of Range.points(t))t[x]=Point.transform(C,n);break;case"move_node":var{path:R,newPath:S}=n;if(Path.isAncestor(R,S))throw new Error("Cannot move a path [".concat(R,"] to new path [").concat(S,"] because the destination is inside itself."));var D=Node$1.get(e,R),T=Node$1.parent(e,R),O=R[R.length-1];T.children.splice(O,1);var I=Path.transform(R,n),A=Node$1.get(e,Path.parent(I)),N=I[I.length-1];if(A.children.splice(N,0,D),t)for(var[k,$]of Range.points(t))t[$]=Point.transform(k,n);break;case"remove_node":var{path:F}=n,j=F[F.length-1];if(Node$1.parent(e,F).children.splice(j,1),t)for(var[P,M]of Range.points(t)){var L=Point.transform(P,n);if(null!=t&&null!=L)t[M]=L;else{var B=void 0,U=void 0;for(var[V,H]of Node$1.texts(e)){if(-1!==Path.compare(H,F)){U=[V,H];break}B=[V,H]}var z=!1;B&&U&&(z=Path.equals(U[1],F)?!Path.hasPrevious(U[1]):Path.common(B[1],F).length<Path.common(U[1],F).length),B&&!z?(P.path=B[1],P.offset=B[0].text.length):U?(P.path=U[1],P.offset=0):t=null}}break;case"remove_text":var{path:K,offset:W,text:q}=n;if(0===q.length)break;var G=Node$1.leaf(e,K),Y=G.text.slice(0,W),J=G.text.slice(W+q.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:ue,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 pe,fe=Node$1.get(e,ce),me=Node$1.parent(e,ce),he=ce[ce.length-1];if(Text$1.isText(fe)){var _e=fe.text.slice(0,ue),ge=fe.text.slice(ue);fe.text=_e,pe=_objectSpread$e(_objectSpread$e({},de),{},{text:ge})}else{var ve=fe.children.slice(0,ue),be=fe.children.slice(ue);fe.children=ve,pe=_objectSpread$e(_objectSpread$e({},de),{},{children:be})}if(me.children.splice(he+1,0,pe),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$4(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 u=o?l.children.length-1:0;Path.isAncestor(s,r)&&(u=r[s.length]),s=s.concat(u),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$4(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$4(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$4(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,u=i.offset;for(var d of n){var{length:p}=d.text,f=l;if(l+=p,c<=f&&l<=u)Object.assign(d,r),s.push(d);else if(c!==u&&(c===l||u===f)||c>l||u<f||u===f&&0!==f)s.push(d);else{var m=d,h=void 0,_=void 0;if(u<l){var g=u-f;_=_objectSpread$a(_objectSpread$a({},m),{},{text:m.text.slice(g)}),m=_objectSpread$a(_objectSpread$a({},m),{},{text:m.text.slice(0,g)})}if(c>f){var v=c-f;h=_objectSpread$a(_objectSpread$a({},m),{},{text:m.text.slice(0,v)}),m=_objectSpread$a(_objectSpread$a({},m),{},{text:m.text.slice(v)})}Object.assign(m,r),h&&s.push(h),s.push(m),_&&s.push(_)}}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 u=getCodepointType(l,c);if([r,a]=n?[a,u]:[u,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!!(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(),u=l.unref();r=c||u,Transforms.setSelection(e,{anchor:r,focus:r})}if(!(!o&&Editor.void(e,{at:r})||Editor.elementReadOnly(e,{at:r}))){var{path:d,offset:p}=r;t.length>0&&e.apply({type:"insert_text",path:d,offset:p,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$4(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 u=[],d=[];for(var p of Path.ancestors(l)){var f=Path.transform(p,t);u.push(f)}for(var m of Path.ancestors(c)){var h=Path.transform(m,t);d.push(h)}var _=d[d.length-1],g=c[c.length-1],v=_.concat(g);return[...u,...d,v];case"remove_node":var{path:b}=t;return[...Path.ancestors(b)];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],u=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(u){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$4(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 u=_objectSpread$8$1(_objectSpread$8$1({},Editor.marks(e)||{}),{},{[t]:n});e.marks=u,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$4(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$4(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$4(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$4(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$4(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$1=(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 u=Editor.previous(e,{at:l,match:Text$1.isText}),d=Editor.above(e,{match:t=>Element$2.isElement(t)&&Editor.isVoid(e,t)&&e.markableVoid(t)});if(!d){var p=Editor.above(e,{match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t)});if(u&&p){var[f,m]=u,[,h]=p;Path.isAncestor(h,m)&&(c=f)}}}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[u]=Editor.nodes(e,{at:l,match:r,mode:n,voids:o});return u}}},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,u;if(Span.isSpan(n))c=n[0],u=n[1];else{var d=Editor.path(e,n,{edge:"start"}),p=Editor.path(e,n,{edge:"end"});c=a?p:d,u=a?d:p}var f,m=Node$1.nodes(e,{reverse:a,from:c,to:u,pass:t=>{var[n]=t;return!!Element$2.isElement(n)&&(!(i||!Editor.isVoid(e,n)&&!Editor.isElementReadOnly(e,n))||!(!s||Editor.isSelectable(e,n)))}}),h=[];for(var[_,g]of m)if(!s||!Element$2.isElement(_)||Editor.isSelectable(e,_)){var v=f&&0===Path.compare(g,f[1]);if("highest"!==o||!v)if(l(_,g))if("lowest"===o&&v)f=[_,g];else{var b="lowest"===o?f:[_,g];b&&(r?h.push(b):yield b),f=[_,g]}else if(r&&!v&&Text$1.isText(_))return}"lowest"===o&&f&&(r?h.push(f):yield f),r&&(yield*h)}}()}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,u=0;0!==l.length;){if(!e.shouldNormalize({dirtyPaths:l,iteration:u,initialDirtyPathsLength:c,operation:o}))return;var d=a(e);if(Node$1.has(e,d)){var p=Editor.node(e,d);e.normalizeNode(p,{operation:o})}u++,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),u=r?c:l,d=!1,p="",f=0,m=0,h=0;for(var[_,g]of Editor.nodes(e,{at:n,reverse:r,voids:a,ignoreNonSelectable:i})){if(Element$2.isElement(_)){if(!a&&(e.isVoid(_)||e.isElementReadOnly(_))){yield Editor.start(e,g);continue}if(e.isInline(_))continue;if(Editor.hasInlines(e,_)){var v=Path.isAncestor(g,c.path)?c:Editor.end(e,g),b=Path.isAncestor(g,l.path)?l:Editor.start(e,g);p=Editor.string(e,{anchor:b,focus:v},{voids:a}),d=!0}}if(Text$1.isText(_)){var y=Path.equals(g,u.path);for(y?(m=r?u.offset:_.text.length-u.offset,h=u.offset):(m=_.text.length,h=r?m:0),(y||d||"offset"===o)&&(yield{path:g,offset:h},d=!1);;){if(0===f){if(""===p)break;f=E(p,o,r),p=splitByCharacterDistance(p,f,r)[1]}if(h=r?h-f:h+f,(m-=f)<0){f=-m;break}f=0,yield{path:g,offset:h}}}}}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[u]=Editor.nodes(e,{reverse:!0,at:l,match:r,mode:n,voids:o});return u}}},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$4(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 u=l.text;Path.equals(c,i.path)&&(u=u.slice(0,i.offset)),Path.equals(c,a.path)&&(u=u.slice(a.offset)),s+=u}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[u,d]of Editor.nodes(e,{at:l,match:Text$1.isText,reverse:!0,voids:o}))if(c)c=!1;else if(""!==u.text||Path.isBefore(d,s)){a={path:d,offset:u.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 u=!1;if(Range.isRange(l)&&Range.isCollapsed(l)&&(u=!0,l=l.anchor),Point.isPoint(l)){var d=Editor.void(e,{at:l,mode:"highest"});if(!s&&d){var[,p]=d;l=p}else{var f={unit:a,distance:i};l={anchor:l,focus:r?Editor.before(e,l,f)||Editor.start(e,[]):Editor.after(e,l,f)||Editor.end(e,[])},c=!0}}if(Path.isPath(l))Transforms.removeNodes(e,{at:l,voids:s});else if(!Range.isCollapsed(l)){if(!c){var[,m]=Range.edges(l),h=Editor.end(e,[]);Point.equals(m,h)||(l=Editor.unhangRange(e,l,{voids:s}))}var[_,g]=Range.edges(l),v=Editor.above(e,{match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t),at:_,voids:s}),b=Editor.above(e,{match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t),at:g,voids:s}),y=v&&b&&!Path.equals(v[1],b[1]),E=Path.equals(_.path,g.path),w=s?null:null!==(n=Editor.void(e,{at:_,mode:"highest"}))&&void 0!==n?n:Editor.elementReadOnly(e,{at:_,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,_);x&&v&&Path.isAncestor(v[1],x.path)&&(_=x)}if(C){var R=Editor.after(e,g);R&&b&&Path.isAncestor(b[1],R.path)&&(g=R)}var S,D=[];for(var T of Editor.nodes(e,{at:l,voids:s})){var[O,I]=T;S&&0===Path.compare(I,S)||(!s&&Element$2.isElement(O)&&(Editor.isVoid(e,O)||Editor.isElementReadOnly(e,O))||!Path.isCommon(I,_.path)&&!Path.isCommon(I,g.path))&&(D.push(T),S=I)}var A=Array.from(D,(t=>{var[,n]=t;return Editor.pathRef(e,n)})),N=Editor.pointRef(e,_),k=Editor.pointRef(e,g),$="";if(!E&&!w){var F=N.current,[j]=Editor.leaf(e,F),{path:P}=F,{offset:M}=_,L=j.text.slice(M);L.length>0&&(e.apply({type:"remove_text",path:P,offset:M,text:L}),$=L)}if(A.reverse().map((e=>e.unref())).filter((e=>null!==e)).forEach((t=>Transforms.removeNodes(e,{at:t,voids:s}))),!C){var B=k.current,[U]=Editor.leaf(e,B),{path:V}=B,H=E?_.offset:0,z=U.text.slice(H,g.offset);z.length>0&&(e.apply({type:"remove_text",path:V,offset:H,text:z}),$=z)}!E&&y&&k.current&&N.current&&Transforms.mergeNodes(e,{at:k.current,hanging:!0,voids:s}),u&&r&&"character"===a&&$.length>1&&$.match(/[\u0E00-\u0E7F]+/)&&Transforms.insertText(e,$.slice(0,$.length-i));var K=N.unref(),W=k.unref(),q=r?K||W:W||K;null==t.at&&q&&Transforms.select(e,q)}}}))},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[,u]=c;if(Editor.isEnd(e,a,u))a=Editor.after(e,u);else if(Editor.isStart(e,a,u)){a=Editor.before(e,u)}}var d=Editor.above(e,{match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t),at:a,voids:r}),[,p]=d,f=Editor.isStart(e,a,p),m=Editor.isEnd(e,a,p),h=f&&m,_=!f||f&&m,g=!m,[,v]=Node$1.first({children:t},[]),[,b]=Node$1.last({children:t},[]),y=[],E=t=>{var[n,o]=t;return!(0===o.length)&&(!!h||!(_&&Path.isAncestor(o,v)&&Element$2.isElement(n)&&!e.isVoid(n)&&!e.isInline(n))&&!(g&&Path.isAncestor(o,b)&&Element$2.isElement(n)&&!e.isVoid(n)&&!e.isInline(n)))};for(var w of Node$1.nodes({children:t},{pass:E}))E(w)&&y.push(w);var C=[],x=[],R=[],S=!0,D=!1;for(var[T]of y)Element$2.isElement(T)&&!e.isInline(T)?(S=!1,D=!0,x.push(T)):S?C.push(T):R.push(T);var[O]=Editor.nodes(e,{at:a,match:t=>Text$1.isText(t)||Editor.isInline(e,t),mode:"highest",voids:r}),[,I]=O,A=Editor.isStart(e,a,I),N=Editor.isEnd(e,a,I),k=Editor.pathRef(e,m&&!R.length?Path.next(p):p),$=Editor.pathRef(e,N?Path.next(I):I);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&&(!f||C.length>0)&&(!m||R.length>0),voids:r});var F,j=Editor.pathRef(e,!A||A&&N?Path.next(I):I);if(Transforms.insertNodes(e,C,{at:j.current,match:t=>Text$1.isText(t)||Editor.isInline(e,t),mode:"highest",voids:r,batchDirty:i}),h&&!C.length&&x.length&&!R.length&&Transforms.delete(e,{at:p,voids:r}),Transforms.insertNodes(e,x,{at:k.current,match:t=>Element$2.isElement(t)&&Editor.isBlock(e,t),mode:"lowest",voids:r,batchDirty:i}),Transforms.insertNodes(e,R,{at:$.current,match:t=>Text$1.isText(t)||Editor.isInline(e,t),mode:"highest",voids:r,batchDirty:i}),!n.at)if(R.length>0&&$.current?F=Path.previous($.current):x.length>0&&k.current?F=Path.previous(k.current):j.current&&(F=Path.previous(j.current)),F){var P=Editor.end(e,F);Transforms.select(e,P)}j.unref(),k.unref(),$.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},u={};if(null==i||"anchor"===i){var d=a?Editor.before(e,s,c):Editor.after(e,s,c);d&&(u.anchor=d)}if(null==i||"focus"===i){var p=a?Editor.before(e,l,c):Editor.after(e,l,c);p&&(u.focus=p)}Transforms.setSelection(e,u)}},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$4(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[u]=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[,d]=Range.edges(s),p=Editor.pointRef(e,d);Transforms.delete(e,{at:s}),s=p.unref()}if(Point.isPoint(s)){null==l&&(l=Text$1.isText(u)?e=>Text$1.isText(e):e.isInline(u)?t=>Text$1.isText(t)||Editor.isInline(e,t):t=>Element$2.isElement(t)&&Editor.isBlock(e,t));var[f]=Editor.nodes(e,{at:s.path,match:l,mode:a,voids:r});if(!f)return;var[,m]=f,h=Editor.pathRef(e,m),_=Editor.isEnd(e,s,m);Transforms.splitNodes(e,{at:s,match:l,mode:a,voids:r});var g=h.unref();s=_?Path.next(g):g}var v=Path.parent(s),b=s[s.length-1];if(r||!Editor.void(e,{at:v})){if(i){var y=[],E=Path.levels(v);batchDirtyPaths(e,(()=>{var n=function(){var t=v.concat(b);b++;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=v.concat(b);b++,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 u=Editor.node(e,Path.parent(c)),[d,p]=u,f=c[c.length-1],{length:m}=d.children;if(1===m){var h=Path.next(p);Transforms.moveNodes(e,{at:c,to:h,voids:r}),Transforms.removeNodes(e,{at:p,voids:r})}else if(0===f)Transforms.moveNodes(e,{at:c,to:p,voids:r});else if(f===m-1){var _=Path.next(p);Transforms.moveNodes(e,{at:c,to:_,voids:r})}else{var g=Path.next(c),v=Path.next(p);Transforms.splitNodes(e,{at:g,voids:r}),Transforms.moveNodes(e,{at:c,to:v,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[u]=Editor.nodes(e,{at:o,match:n,voids:a,mode:i}),d=Editor.previous(e,{at:o,match:n,voids:a,mode:i});if(u&&d){var[p,f]=u,[m,h]=d;if(0!==f.length&&0!==h.length){var _,g,v=Path.next(h),b=Path.common(f,h),y=Path.isSibling(f,h),E=Array.from(Editor.levels(e,{at:f}),(e=>{var[t]=e;return t})).slice(b.length).slice(0,-1),w=Editor.above(e,{at:f,mode:"highest",match:t=>E.includes(t)&&hasSingleChildNest(e,t)}),C=w&&Editor.pathRef(e,w[1]);if(Text$1.isText(p)&&Text$1.isText(m)){var x=_objectWithoutProperties$1(p,_excluded$5);g=m.text.length,_=x}else{if(!Element$2.isElement(p)||!Element$2.isElement(m))throw new Error("Cannot merge the node at path [".concat(f,"] with the previous sibling because it is not the same kind: ").concat(Scrubber.stringify(p)," ").concat(Scrubber.stringify(m)));x=_objectWithoutProperties$1(p,_excluded2$4);g=m.children.length,_=x}y||Transforms.moveNodes(e,{at:f,to:v,voids:a}),C&&Transforms.removeNodes(e,{at:C.current,voids:a}),Editor.shouldMergeNodesRemovePrevNode(e,d,u)?Transforms.removeNodes(e,{at:h,voids:a}):e.apply({type:"merge_node",path:v,position:g,properties:_}),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 u of c){var d=u.unref(),p=s.current;0!==d.length&&e.apply({type:"move_node",path:d,newPath:p}),s.current&&Path.isSibling(p,d)&&Path.isAfter(p,d)&&(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 u=c.unref();if(u){var[d]=Editor.node(e,u);e.apply({type:"remove_node",path:u,node:d})}}}}))},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:u=!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:u})),c&&Range.isRange(r)){if(Range.isCollapsed(r)&&Editor.leaf(e,r.anchor)[0].text.length>0)return;var d=Editor.rangeRef(e,r,{affinity:"inward"}),[p,f]=Range.edges(r),m="lowest"===l?"lowest":"highest",h=Editor.isEnd(e,f,f.path);Transforms.splitNodes(e,{at:f,match:o,mode:m,voids:u,always:!h});var _=Editor.isStart(e,p,p.path);Transforms.splitNodes(e,{at:p,match:o,mode:m,voids:u,always:!_}),r=d.unref(),null==n.at&&Transforms.select(e,r)}for(var[g,v]of(a||(a=(e,t)=>e!==t),Editor.nodes(e,{at:r,match:o,mode:l,voids:u}))){var b={},y={};if(0!==v.length){var E=!1;for(var w in t)"children"!==w&&"text"!==w&&a(t[w],g[w])&&(E=!0,g.hasOwnProperty(w)&&(b[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:v,properties:b,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),[u]=Editor.parent(e,l);r=e=>e===u,i=c.path.length-l.length+1,a=c,s=!0}if(a){var d,p=Editor.pointRef(e,a,{affinity:"backward"});try{var[f]=Editor.nodes(e,{at:a,match:r,mode:n,voids:o});if(!f)return;var m=Editor.void(e,{at:a,mode:"highest"});if(!o&&m){var[h,_]=m;if(Element$2.isElement(h)&&e.isInline(h)){var g=Editor.after(e,_);if(!g){var v=Path.next(_);Transforms.insertNodes(e,{text:""},{at:v,voids:o}),g=Editor.point(e,v)}a=g,s=!0}i=a.path.length-_.length+1,s=!0}d=Editor.pointRef(e,a);var b=a.path.length-i,[,y]=f,E=a.path.slice(0,b),w=0===i?a.offset:a.path[b]+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=p.current,D=Editor.isEnd(e,S,x);if(s||!p||!Editor.isEdge(e,S,x)){R=!0;var T=Node$1.extractProps(C);e.apply({type:"split_node",path:x,position:w,properties:T})}w=x[x.length-1]+(R||D?1:0)}if(null==t.at){var O=d.current||Editor.end(e,[]);Transforms.select(e,O)}}finally{var I;p.unref(),null===(I=d)||void 0===I||I.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(),u=function(){var t=d.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 d of c)u();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$4(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),u=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=u.unref(),null==n.at&&Transforms.select(e,s)}var d=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})),p=function(){var n=Range.isRange(s)?Range.intersection(s,Editor.range(e,f)):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],[,u]=l,[,d]=c;if(0===u.length&&0===d.length)return 0;var p=Path.equals(u,d)?Path.parent(u):Path.common(u,d),m=Editor.range(e,u,d),h=Editor.node(e,p),[_]=h,g=p.length+1,v=Path.next(d.slice(0,g)),b=_objectSpread$f(_objectSpread$f({},t),{},{children:[]});Transforms.insertNodes(e,b,{at:v,voids:a}),Transforms.moveNodes(e,{at:m,match:e=>Element$2.isAncestor(_)&&_.children.includes(e),to:v.concat(0),voids:a})}};for(var[,f]of d)p()}}))},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$1(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:"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:"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:"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 u={operations:[e],selectionBefore:t.selection};t.writeHistory("undos",u)}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,u=!1,d=!1,p=!0;if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT$1);function f(t){var n=o,a=r;return o=r=void 0,c=t,i=e.apply(a,n)}function m(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-c>=a}function h(){var e=now();if(m(e))return _(e);s=setTimeout(h,function(e){var n=t-(e-l);return d?nativeMin(n,a-(e-c)):n}(e))}function _(e){return s=void 0,p&&o?f(e):(o=r=void 0,i)}function g(){var e=now(),n=m(e);if(o=arguments,r=this,l=e,n){if(void 0===s)return function(e){return c=e,s=setTimeout(h,t),u?f(e):i}(l);if(d)return clearTimeout(s),s=setTimeout(h,t),f(l)}return void 0===s&&(s=setTimeout(h,t)),i}return t=toNumber(t)||0,isObject$1(n)&&(u=!!n.leading,a=(d="maxWait"in n)?nativeMax(toNumber(n.maxWait)||0,t):a,p="trailing"in n?!!n.trailing:p),g.cancel=function(){void 0!==s&&clearTimeout(s),c=0,o=l=r=s=void 0},g.flush=function(){return void 0===s?i:_(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:u,boundary:d,skipOverflowHiddenElements:p}=n,f="function"==typeof d?d:e=>e!==d;if(!t(e))throw new TypeError("Invalid target");const m=document.scrollingElement||document.documentElement,h=[];let _=e;for(;t(_)&&f(_);){if(_=l(_),_===m){h.push(_);break}null!=_&&_===document.body&&n$1(_)&&!n$1(document.documentElement)||null!=_&&n$1(_,p)&&h.push(_)}const g=null!=(r=null==(o=window.visualViewport)?void 0:o.width)?r:innerWidth,v=null!=(i=null==(a=window.visualViewport)?void 0:a.height)?i:innerHeight,{scrollX:b,scrollY:y}=window,{height:E,width:w,top:C,right:x,bottom:R,left:S}=e.getBoundingClientRect(),{top:D,right:T,bottom:O,left:I}=(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 A="start"===c||"nearest"===c?C-D:"end"===c?R+O:C+E/2-D+O,N="center"===u?S+w/2-I+T:"end"===u?x+T:S-I;const k=[];for(let e=0;e<h.length;e++){const t=h[e],{height:n,width:o,top:r,right:a,bottom:i,left:l}=t.getBoundingClientRect();if("if-needed"===s&&C>=0&&S>=0&&R<=v&&x<=g&&(t===m&&!n$1(t)||C>=r&&R<=i&&S>=l&&x<=a))return k;const d=getComputedStyle(t),p=parseInt(d.borderLeftWidth,10),f=parseInt(d.borderTopWidth,10),_=parseInt(d.borderRightWidth,10),D=parseInt(d.borderBottomWidth,10);let T=0,O=0;const I="offsetWidth"in t?t.offsetWidth-t.clientWidth-p-_:0,$="offsetHeight"in t?t.offsetHeight-t.clientHeight-f-D:0,F="offsetWidth"in t?0===t.offsetWidth?0:o/t.offsetWidth:0,j="offsetHeight"in t?0===t.offsetHeight?0:n/t.offsetHeight:0;if(m===t)T="start"===c?A:"end"===c?A-v:"nearest"===c?o$1(y,y+v,v,f,D,y+A,y+A+E,E):A-v/2,O="start"===u?N:"center"===u?N-g/2:"end"===u?N-g:o$1(b,b+g,g,p,_,b+N,b+N+w,w),T=Math.max(0,T+y),O=Math.max(0,O+b);else{T="start"===c?A-r-f:"end"===c?A-i+D+$:"nearest"===c?o$1(r,i,n,f,D+$,A,A+E,E):A-(r+n/2)+$/2,O="start"===u?N-l-p:"center"===u?N-(l+o/2)+I/2:"end"===u?N-a+_+I:o$1(l,a,o,p,_+I,N,N+w,w);const{scrollLeft:e,scrollTop:s}=t;T=0===j?0:Math.max(0,Math.min(s+T/j,t.scrollHeight-n/j+$)),O=0===F?0:Math.max(0,Math.min(e+O/F,t.scrollWidth-o/F+I)),A+=s-T,N+=e-O}k.push({el:t,top:T,left:O})}return k},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),u=o?0:parseDimension(n.paddingBottom),d=o?0:parseDimension(n.paddingLeft),p=o?0:parseDimension(n.borderTopWidth),f=o?0:parseDimension(n.borderRightWidth),m=o?0:parseDimension(n.borderBottomWidth),h=d+c,_=l+u,g=(o?0:parseDimension(n.borderLeftWidth))+f,v=p+m,b=s?e.offsetHeight-v-e.clientHeight:0,y=i?e.offsetWidth-g-e.clientWidth:0,E=r?h+g:0,w=r?_+v:0,C=o?o.width:parseDimension(n.width)-E-y,x=o?o.height:parseDimension(n.height)-w-b,R=C+h+y+g,S=x+_+b+v,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(d,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 u,d=r[Symbol.iterator]();!(s=(u=d.next()).done);s=!0){var p=u.value,f=p.endsWith("?")&&p.length>1;f&&(p=p.slice(0,-1));var m=toKeyName(p),h=MODIFIERS$1[m];if(p.length>1&&!h&&!ALIASES[p]&&!CODES[m])throw new TypeError('Unknown modifier: "'+p+'"');1!==a&&h||(n?o.key=m:o.which=toKeyCode(p)),h&&(o[h]=!f||null)}}catch(e){l=!0,c=e}finally{try{!s&&d.return&&d.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$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$3(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$3(e){var t=_toPrimitive$3(e,"string");return"symbol"===_typeof$3(t)?t:String(t)}function _defineProperty$3(e,t,n){return(t=_toPropertyKey$3(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$3(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,u=Editor.point(e,s,{edge:c?"start":"end"}),d=c?Editor.before(e,u):Editor.after(e,u);if(d)return Editor.range(e,d)}var{document:p}=ReactEditor.getWindow(e);if(p.caretRangeFromPoint)a=p.caretRangeFromPoint(n,o);else{var f=p.caretPositionFromPoint(n,o);f&&((a=p.createRange()).setStart(f.offsetNode,f.offset),a.setEnd(f.offsetNode,f.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:u}=c.textContent,d=l.getAttribute("data-slate-length"),p=i+(null==d?u:parseInt(d,10)),f=a[s+1];if(t.offset===p&&null!=f&&f.hasAttribute("data-slate-mark-placeholder")){var m,h=f.childNodes[0];n=[h instanceof DOMText?h:f,null!==(m=f.textContent)&&void 0!==m&&m.startsWith("\ufeff")?1:0];break}if(t.offset<=p){n=[c,Math.min(u,Math.max(0,t.offset-i))];break}i=p}}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,[u,d]=r?a:i,p=!!(isDOMElement(l)?l:l.parentElement).getAttribute("data-slate-zero-width"),f=!!(isDOMElement(u)?u:u.parentElement).getAttribute("data-slate-zero-width");return s.setStart(l,p?1:c),s.setEnd(u,f?1:d),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,u=0;if(l){var d,p,f=ReactEditor.toDOMNode(e,e),m=l.closest('[data-slate-void="true"]'),h=m&&f.contains(m)?m:null,_=l.closest('[contenteditable="false"]'),g=_&&f.contains(_)?_:null,v=l.closest("[data-slate-leaf]"),b=null;if(v){if(c=v.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)})),u=E.textContent.length,b=c}}else if(h){for(var w=h.querySelectorAll("[data-slate-leaf]"),C=0;C<w.length;C++){var x=w[C];if(ReactEditor.hasDOMNode(e,x)){v=x;break}}v?(c=v.closest('[data-slate-node="text"]'),u=(b=v).textContent.length,b.querySelectorAll("[data-slate-zero-width]").forEach((e=>{u-=e.textContent.length}))):u=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)v=null!==(R=[...D(T),...D(null==T?void 0:T.nextElementSibling)].find((e=>isAfter(g,e))))&&void 0!==R?R:null;else v=null!==(S=[...D(null==T?void 0:T.previousElementSibling),...D(T)].findLast((e=>isBefore(g,e))))&&void 0!==S?S:null;v&&(c=v.closest('[data-slate-node="text"]'),b=v,"forward"===a?u=0:(u=b.textContent.length,b.querySelectorAll("[data-slate-zero-width]").forEach((e=>{u-=e.textContent.length}))))}b&&u===b.textContent.length&&IS_ANDROID&&"z"===b.getAttribute("data-slate-zero-width")&&null!==(d=b.textContent)&&void 0!==d&&d.startsWith("\ufeff")&&(l.hasAttribute("data-slate-zero-width")||IS_FIREFOX&&null!==(p=b.textContent)&&void 0!==p&&p.endsWith("\n\n"))&&u--}if(IS_ANDROID&&!c&&!o){var O=l.hasAttribute("data-slate-node")?l:l.closest("[data-slate-node]");if(O&&ReactEditor.hasDOMNode(e,O,{editable:!0})){var I=ReactEditor.toSlateNode(e,O),{path:A,offset:N}=Editor.start(e,ReactEditor.findPath(e,I));return O.querySelector("[data-slate-leaf]")||(N=s),{path:A,offset:N}}}if(!c){if(r)return null;throw new Error("Cannot resolve a Slate point from DOM point: ".concat(t))}var k=ReactEditor.toSlateNode(e,c);return{path:ReactEditor.findPath(e,k),offset:u}},toSlateRange:(e,t,n)=>{var o,r,a,i,s,l,{exactMatch:c,suppressThrow:u}=n;if(isDOMSelection(t)?t.anchorNode:t.startContainer)if(isDOMSelection(t)){if(IS_FIREFOX&&t.rangeCount>1){i=t.focusNode;var d=t.getRangeAt(0),p=t.getRangeAt(t.rangeCount-1);if(i instanceof HTMLTableRowElement&&d.startContainer instanceof HTMLTableRowElement&&p.startContainer instanceof HTMLTableRowElement){function f(e){return e.childElementCount>0?f(e.children[0]):e}var m=d.startContainer,h=p.startContainer,_=f(m.children[d.startOffset]),g=f(h.children[p.startOffset]);s=0,r=g.childNodes.length>0?g.childNodes[0]:g,i=_.childNodes.length>0?_.childNodes[0]:_,a=g instanceof HTMLElement?g.innerHTML.length:0}else d.startContainer===i?(r=p.endContainer,a=p.endOffset,s=d.startOffset):(r=d.startContainer,a=d.endOffset,s=p.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 v=ReactEditor.toSlatePoint(e,[r,a],{exactMatch:c,suppressThrow:u});if(!v)return null;var b=isBefore(r,i)||r===i&&s<a,y=l?v:ReactEditor.toSlatePoint(e,[i,s],{exactMatch:c,suppressThrow:u,searchDirection:b?"forward":"backward"});if(!y)return null;var E={anchor:v,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$3(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,u=()=>{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)}},d=()=>{if(i&&(clearTimeout(i),i=null),s&&(clearTimeout(s),s=null),_()||h()){r||(r=!0,setTimeout((()=>r=!1))),h()&&(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=_();a=null===(d=EDITOR_TO_PENDING_DIFFS.get(t))||void 0===d?void 0:d[0];){var d,p,f=EDITOR_TO_PENDING_INSERTION_MARKS.get(t);void 0!==f&&(EDITOR_TO_PENDING_INSERTION_MARKS.delete(t),t.marks=f),f&&!1===c&&(c=null);var m=targetRange(a);t.selection&&Range.equals(t.selection,m)||Transforms.select(t,m),a.diff.text?Editor.insertText(t,a.diff.text):Editor.deleteFragment(t),EDITOR_TO_PENDING_DIFFS.set(t,null===(p=EDITOR_TO_PENDING_DIFFS.get(t))||void 0===p?void 0:p.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),h())(()=>{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(),u();var v=EDITOR_TO_USER_MARKS.get(t);EDITOR_TO_USER_MARKS.delete(t),void 0!==v&&(t.marks=v,t.onChange())}}else u()},p=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=EDITOR_TO_PLACEHOLDER_ELEMENT.get(t);n&&(_()||e?n.style.display="none":n.style.removeProperty("display"))},f=(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 p();var s=mergeStringDiffs(a.text,r[i].diff,n);if(!s)return r.splice(i,1),void p();r[i]=_objectSpread$6$1(_objectSpread$6$1({},r[i]),{},{diff:s})},m=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(),h()&&d(),EDITOR_TO_PENDING_ACTION.set(t,{at:r,run:e}),s=setTimeout(d)},h=()=>!!EDITOR_TO_PENDING_ACTION.get(t),_=()=>{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||_())&&(i=setTimeout(d,FLUSH_DELAY))}},v=()=>{h()||(s=setTimeout(d))};return{flush:d,scheduleFlush:v,hasPendingDiffs:_,hasPendingAction:h,hasPendingChanges:()=>h()||_(),isFlushing:()=>r,handleUserSelect:g,handleCompositionEnd:e=>{a&&clearTimeout(a),a=setTimeout((()=>{IS_COMPOSING.set(t,!1),d()}),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 u=!0;if(o.startsWith("delete")){if(Range.isExpanded(r)){var[d,p]=Range.edges(r);if(Node$1.leaf(t,d.path).text.length===d.offset&&0===p.offset){var h=Editor.next(t,{at:d.path,match:Text$1.isText});h&&Path.equals(h[1],p.path)&&(r={anchor:p,focus:p})}}var _=o.endsWith("Backward")?"backward":"forward",[b,y]=Range.edges(r),[E,w]=Editor.leaf(t,b.path),C={text:"",start:b.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&&(u=!1),Range.isExpanded(r)){if(u&&Path.equals(r.anchor.path,r.focus.path)){var D={path:r.anchor.path,offset:b.offset},T=Editor.range(t,D,D);return g(T),f(r.anchor.path,{text:"",end:y.offset,start:b.offset})}return m((()=>Editor.deleteFragment(t,{direction:_})),{at:r})}}switch(o){case"deleteByComposition":case"deleteByCut":case"deleteByDrag":return m((()=>Editor.deleteFragment(t)),{at:r});case"deleteContent":case"deleteContentForward":var{anchor:O}=r;if(u&&Range.isCollapsed(r)){var I=Node$1.leaf(t,O.path);if(O.offset<I.text.length)return f(O.path,{text:"",start:O.offset,end:O.offset+1})}return m((()=>Editor.deleteForward(t)),{at:r});case"deleteContentBackward":var A,{anchor:N}=r,k=isDOMSelection(s)?s.isCollapsed:!(null===(A=s)||void 0===A||!A.collapsed);return u&&k&&Range.isCollapsed(r)&&N.offset>0?f(N.path,{text:"",start:N.offset-1,end:N.offset}):m((()=>Editor.deleteBackward(t)),{at:r});case"deleteEntireSoftLine":return m((()=>{Editor.deleteBackward(t,{unit:"line"}),Editor.deleteForward(t,{unit:"line"})}),{at:r});case"deleteHardLineBackward":return m((()=>Editor.deleteBackward(t,{unit:"block"})),{at:r});case"deleteSoftLineBackward":return m((()=>Editor.deleteBackward(t,{unit:"line"})),{at:r});case"deleteHardLineForward":return m((()=>Editor.deleteForward(t,{unit:"block"})),{at:r});case"deleteSoftLineForward":return m((()=>Editor.deleteForward(t,{unit:"line"})),{at:r});case"deleteWordBackward":return m((()=>Editor.deleteBackward(t,{unit:"word"})),{at:r});case"deleteWordForward":return m((()=>Editor.deleteForward(t,{unit:"word"})),{at:r});case"insertLineBreak":return m((()=>Editor.insertSoftBreak(t)),{at:r});case"insertParagraph":return m((()=>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 m((()=>ReactEditor.insertData(t,a)),{at:r});var $=null!=a?a:"";if(EDITOR_TO_PENDING_INSERTION_MARKS.get(t)&&($=$.replace("\ufeff","")),"insertText"===o&&/.*\n.*\n$/.test($)&&($=$.slice(0,-1)),$.includes("\n"))return m((()=>{var e=$.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,j]=Range.edges(r),P={start:F.offset,end:j.offset,text:$};if($&&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,v()):c=!1}else c="insertText"===o&&(null===c?P:!(!c||!Range.isCollapsed(r)||c.end+c.text.length!==F.offset)&&_objectSpread$6$1(_objectSpread$6$1({},c),{},{text:c.text+$}));if(u)return void f(F.path,P)}return m((()=>Editor.insertText(t,$)),{at:r})}}}},handleKeyDown:e=>{_()||(p(!0),setTimeout(p))},handleDomMutations:e=>{var n;_()||h()||e.some((n=>isTrackedMutation(t,n,e)))&&(null===(n=EDITOR_TO_FORCE_RENDER.get(t))||void 0===n||n())},handleInput:()=>{!h()&&_()||d()}}}function useIsMounted(){var e=React.useRef(!1);return React.useEffect((()=>(e.current=!0,()=>{e.current=!1})),[]),e.current}var useIsomorphicLayoutEffect$3=CAN_USE_DOM?React.useLayoutEffect:React.useEffect;function useMutationObserver(e,t,n){var[o]=React.useState((()=>new MutationObserver(t)));useIsomorphicLayoutEffect$3((()=>{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$3(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$3(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$3((()=>{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$3(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),[u,d]=React.useState(!1),p=React.useRef(null),f=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]),m=React__default.default.createElement(String$1,{isLast:n,leaf:t,parent:r,text:o}),h=Boolean(t[PLACEHOLDER_SYMBOL]);if(React.useEffect((()=>(h?p.current||(p.current=setTimeout((()=>{d(!0),p.current=null}),PLACEHOLDER_DELAY)):(clearTimeoutRef(p),d(!1)),()=>clearTimeoutRef(p))),[h,d]),h&&u){var _={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:f}};m=React__default.default.createElement(React__default.default.Fragment,null,a(_),m)}return i({attributes:{"data-slate-leaf":!0},children:m,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),u=ReactEditor.findKey(s,i),d=[],p=0;p<c.length;p++){var f=c[p];d.push(React__default.default.createElement(MemoizedLeaf,{isLast:n&&p===c.length-1,key:"".concat(u.id,"-").concat(p),renderPlaceholder:r,leaf:f,text:i,parent:o,renderLeaf:a}))}var m=React.useCallback((e=>{var t=EDITOR_TO_KEY_TO_ELEMENT.get(s);e?(null==t||t.set(u,e),NODE_TO_ELEMENT.set(i,e),ELEMENT_TO_NODE.set(e,i)):(null==t||t.delete(u),NODE_TO_ELEMENT.delete(i),l.current&&ELEMENT_TO_NODE.delete(l.current)),l.current=e}),[l,s,u,i]);return React__default.default.createElement("span",{"data-slate-node":"text",ref:m},d)},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$3(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),u=ReactEditor.findKey(s,n),d=React.useCallback((e=>{var t=EDITOR_TO_KEY_TO_ELEMENT.get(s);e?(null==t||t.set(u,e),NODE_TO_ELEMENT.set(n,e),ELEMENT_TO_NODE.set(e,n)):(null==t||t.delete(u),NODE_TO_ELEMENT.delete(n))}),[s,u,n]),p=useChildren({decorations:t,node:n,renderElement:o,renderPlaceholder:r,renderLeaf:a,selection:i}),f={"data-slate-node":"element",ref:d};if(c&&(f["data-slate-inline"]=!0),!c&&Editor.hasInlines(s,n)){var m=Node$1.string(n),h=direction_1(m);"rtl"===h&&(f.dir=h)}if(Editor.isVoid(s,n)){f["data-slate-void"]=!0,!l&&c&&(f.contentEditable=!1);var _=c?"span":"div",[[g]]=Node$1.texts(n);p=React__default.default.createElement(_,{"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:f,children:p,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),u=[],d=Element$2.isElement(n)&&!l.isInline(n)&&Editor.hasInlines(l,n),p=0;p<n.children.length;p++){var f=c.concat(p),m=n.children[p],h=ReactEditor.findKey(l,m),_=Editor.range(l,f),g=i&&Range.intersection(_,i),v=s([m,f]);for(var b of t){var y=Range.intersection(b,_);y&&v.push(y)}Element$2.isElement(m)?u.push(React__default.default.createElement(SelectedContext.Provider,{key:"provider-".concat(h.id),value:!!g},React__default.default.createElement(MemoizedElement,{decorations:v,element:m,key:h.id,renderElement:o,renderPlaceholder:r,renderLeaf:a,selection:g}))):u.push(React__default.default.createElement(MemoizedText,{decorations:v,key:h.id,isLast:d&&p===n.children.length-1,parent:n,renderPlaceholder:r,renderLeaf:a,text:m})),NODE_TO_INDEX.set(m,p),NODE_TO_PARENT.set(m,n)}return u},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$3(this,"context",null),_defineProperty$3(this,"manager",null),_defineProperty$3(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$3(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$3(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:u=n,scrollSelectionIntoView:d=defaultScrollSelectionIntoView,style:p={},as:f="div",disableDefaultStyles:m=!1}=e,h=_objectWithoutProperties(e,_excluded$1),_=useSlate(),[g,v]=React.useState(!1),b=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(_,S),IS_READ_ONLY.set(_,s);var D=React.useMemo((()=>({isDraggingInternally:!1,isUpdatingSelection:!1,latestElement:null,hasMarkPlaceholder:!1})),[]);React.useEffect((()=>{b.current&&o&&b.current.focus()}),[o]);var T=React.useRef(),O=React.useMemo((()=>throttle_1((()=>{if(IS_NODE_MAP_DIRTY.get(_))O();else{var e=ReactEditor.toDOMNode(_,_).getRootNode();if(!C.current&&IS_WEBKIT&&e instanceof ShadowRoot)return C.current=!0,getActiveElement()?document.execCommand("indent"):Transforms.deselect(_),void(C.current=!1);var t=T.current;if((IS_ANDROID||!ReactEditor.isComposing(_))&&(!D.isUpdatingSelection||null!=t&&t.isFlushing())&&!D.isDraggingInternally){var n=ReactEditor.findDocumentOrShadowRoot(_),{activeElement:o}=n,r=ReactEditor.toDOMNode(_,_),a=getSelection(n);if(o===r?(D.latestElement=o,IS_FOCUSED.set(_,!0)):IS_FOCUSED.delete(_),!a)return Transforms.deselect(_);var{anchorNode:i,focusNode:l}=a,c=ReactEditor.hasEditableTarget(_,i)||ReactEditor.isTargetInsideNonReadonlyVoid(_,i),u=ReactEditor.hasTarget(_,l);if(c&&u){var d=ReactEditor.toSlateRange(_,a,{exactMatch:!1,suppressThrow:!0});d&&(ReactEditor.isComposing(_)||null!=t&&t.hasPendingChanges()||null!=t&&t.isFlushing()?null==t||t.handleUserSelect(d):Transforms.select(_,d))}!s||c&&u||Transforms.deselect(_)}}}),100)),[_,s,D]),I=React.useMemo((()=>debounce_1(O,0)),[O]);T.current=useAndroidInputManager({node:b,onDOMSelectionChange:O,scheduleOnDOMSelectionChange:I}),useIsomorphicLayoutEffect$3((()=>{var e,t,n;b.current&&(n=getDefaultView(b.current))?(EDITOR_TO_WINDOW.set(_,n),EDITOR_TO_ELEMENT.set(_,b.current),NODE_TO_ELEMENT.set(_,b.current),ELEMENT_TO_NODE.set(b.current,_)):NODE_TO_ELEMENT.delete(_);var{selection:o}=_,r=ReactEditor.findDocumentOrShadowRoot(_),a=getSelection(r);if(a&&ReactEditor.isFocused(_)&&(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(_),c=!1;if(l.contains(n)&&l.contains(r)&&(c=!0),t&&c&&o&&!e){var u=ReactEditor.toSlateRange(_,a,{exactMatch:!0,suppressThrow:!0});if(u&&Range.equals(u,o)){var p;if(!D.hasMarkPlaceholder)return;if(null!==(p=n)&&void 0!==p&&null!==(p=p.parentElement)&&void 0!==p&&p.hasAttribute("data-slate-mark-placeholder"))return}}if(!o||ReactEditor.hasRange(_,o)){D.isUpdatingSelection=!0;var f=o&&ReactEditor.toDOMRange(_,o);return f?(ReactEditor.isComposing(_)&&!IS_ANDROID?a.collapseToEnd():Range.isBackward(o)?a.setBaseAndExtent(f.endContainer,f.endOffset,f.startContainer,f.startOffset):a.setBaseAndExtent(f.startContainer,f.startOffset,f.endContainer,f.endOffset),d(_,f)):a.removeAllRanges(),f}_.selection=ReactEditor.toSlateRange(_,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(_,_).focus(),i(e)}catch(e){}};e(),l=setTimeout((()=>{e(!0),D.isUpdatingSelection=!1}))}}));return()=>{cancelAnimationFrame(c),l&&clearTimeout(l)}}setTimeout((()=>{D.isUpdatingSelection=!1}))}}));var A=React.useCallback((e=>{var t=ReactEditor.toDOMNode(_,_).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(_,o,{exactMatch:!1,suppressThrow:!1});return Transforms.select(_,r),e.preventDefault(),void e.stopImmediatePropagation()}if(x(),!s&&ReactEditor.hasEditableTarget(_,e.target)&&!isDOMEventHandled(e,a)){var i;if(T.current)return T.current.handleDOMBeforeInput(e);I.flush(),O.flush();var{selection:l}=_,{inputType:c}=e,u=e.dataTransfer||e.data||void 0,d="insertCompositionText"===c||"deleteCompositionText"===c;if(d&&ReactEditor.isComposing(_))return;var p=!1;if("insertText"===c&&l&&Range.isCollapsed(l)&&e.data&&1===e.data.length&&/[a-z ]/i.test(e.data)&&0!==l.anchor.offset&&(p=!0,_.marks&&(p=!1),!IS_NODE_MAP_DIRTY.get(_))){var f,m,{anchor:h}=l,[g,b]=ReactEditor.toDOMPoint(_,h),E=null===(f=g.parentElement)||void 0===f?void 0:f.closest("a"),w=ReactEditor.getWindow(_);if(p&&E&&ReactEditor.hasDOMNode(_,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)===b&&(p=!1)}if(p&&g.parentElement&&"pre"===(null==w||null===(m=w.getComputedStyle(g.parentElement))||void 0===m?void 0:m.whiteSpace)){var D=Editor.above(_,{at:h.path,match:e=>Element$2.isElement(e)&&Editor.isBlock(_,e)});D&&Node$1.string(D[0]).includes("\t")&&(p=!1)}}if((!c.startsWith("delete")||c.startsWith("deleteBy"))&&!IS_NODE_MAP_DIRTY.get(_)){var[A]=e.getTargetRanges();if(A){var N=ReactEditor.toSlateRange(_,A,{exactMatch:!1,suppressThrow:!1});if(!l||!Range.equals(l,N)){p=!1;var k=!d&&_.selection&&Editor.rangeRef(_,_.selection);Transforms.select(_,N),k&&EDITOR_TO_USER_SELECTION.set(_,k)}}}if(d)return;if(p||e.preventDefault(),l&&Range.isExpanded(l)&&c.startsWith("delete")){var $=c.endsWith("Backward")?"backward":"forward";return void Editor.deleteFragment(_,{direction:$})}switch(c){case"deleteByComposition":case"deleteByCut":case"deleteByDrag":Editor.deleteFragment(_);break;case"deleteContent":case"deleteContentForward":Editor.deleteForward(_);break;case"deleteContentBackward":Editor.deleteBackward(_);break;case"deleteEntireSoftLine":Editor.deleteBackward(_,{unit:"line"}),Editor.deleteForward(_,{unit:"line"});break;case"deleteHardLineBackward":Editor.deleteBackward(_,{unit:"block"});break;case"deleteSoftLineBackward":Editor.deleteBackward(_,{unit:"line"});break;case"deleteHardLineForward":Editor.deleteForward(_,{unit:"block"});break;case"deleteSoftLineForward":Editor.deleteForward(_,{unit:"line"});break;case"deleteWordBackward":Editor.deleteBackward(_,{unit:"word"});break;case"deleteWordForward":Editor.deleteForward(_,{unit:"word"});break;case"insertLineBreak":Editor.insertSoftBreak(_);break;case"insertParagraph":Editor.insertBreak(_);break;case"insertFromComposition":case"insertFromDrop":case"insertFromPaste":case"insertFromYank":case"insertReplacementText":case"insertText":"insertFromComposition"===c&&ReactEditor.isComposing(_)&&(v(!1),IS_COMPOSING.set(_,!1)),"DataTransfer"===(null==u?void 0:u.constructor.name)?ReactEditor.insertData(_,u):"string"==typeof u&&(p?y.current.push((()=>Editor.insertText(_,u))):Editor.insertText(_,u))}var F=null===(i=EDITOR_TO_USER_SELECTION.get(_))||void 0===i?void 0:i.unref();EDITOR_TO_USER_SELECTION.delete(_),!F||_.selection&&Range.equals(_.selection,F)||Transforms.select(_,F)}}),[_,O,x,a,s,I]),N=React.useCallback((e=>{null==e?(O.cancel(),I.cancel(),EDITOR_TO_ELEMENT.delete(_),NODE_TO_ELEMENT.delete(_),b.current&&HAS_BEFORE_INPUT_SUPPORT&&b.current.removeEventListener("beforeinput",A)):HAS_BEFORE_INPUT_SUPPORT&&e.addEventListener("beforeinput",A),b.current=e,"function"==typeof t?t(e):t&&(t.current=e)}),[O,I,_,A,t]);useIsomorphicLayoutEffect$3((()=>{var e=ReactEditor.getWindow(_);e.document.addEventListener("selectionchange",I);var t=()=>{D.isDraggingInternally=!1};return e.document.addEventListener("dragend",t),e.document.addEventListener("drop",t),()=>{e.document.removeEventListener("selectionchange",I),e.document.removeEventListener("dragend",t),e.document.removeEventListener("drop",t)}}),[I,D]);var k=r([_,[]]),$=i&&1===_.children.length&&1===Array.from(Node$1.texts(_)).length&&""===Node$1.string(_)&&!g,F=React.useCallback((e=>{var t;e&&$?w(null===(t=e.getBoundingClientRect())||void 0===t?void 0:t.height):w(void 0)}),[$]);if($){var j=Editor.start(_,[]);k.push({[PLACEHOLDER_SYMBOL]:!0,placeholder:i,onPlaceholderResize:F,anchor:j,focus:j})}var{marks:P}=_;if(D.hasMarkPlaceholder=!1,_.selection&&Range.isCollapsed(_.selection)&&P){var{anchor:M}=_.selection,L=Node$1.leaf(_,M.path),B=_objectWithoutProperties(L,_excluded2);if(!Text$1.equals(L,P,{loose:!0})){D.hasMarkPlaceholder=!0;var U=Object.fromEntries(Object.keys(B).map((e=>[e,null])));k.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}=_;if(e){var{anchor:t}=e,n=Node$1.leaf(_,t.path);if(P&&!Text$1.equals(n,P,{loose:!0}))return void EDITOR_TO_PENDING_INSERTION_MARKS.set(_,P)}EDITOR_TO_PENDING_INSERTION_MARKS.delete(_)}))})),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:b,receivedUserInput:R},React__default.default.createElement(f,_objectSpread$1$3(_objectSpread$1$3({role:s?void 0:"textbox","aria-multiline":!s||void 0},h),{},{spellCheck:!(!HAS_BEFORE_INPUT_SUPPORT&&CAN_USE_DOM)&&h.spellCheck,autoCorrect:HAS_BEFORE_INPUT_SUPPORT||!CAN_USE_DOM?h.autoCorrect:"false",autoCapitalize:HAS_BEFORE_INPUT_SUPPORT||!CAN_USE_DOM?h.autoCapitalize:"false","data-slate-editor":!0,"data-slate-node":"value",contentEditable:!s,zindex:-1,suppressContentEditableWarning:!0,ref:N,style:_objectSpread$1$3(_objectSpread$1$3({},m?{}:_objectSpread$1$3({position:"relative",whiteSpace:"pre-wrap",wordWrap:"break-word"},E?{minHeight:E}:{})),p),onBeforeInput:React.useCallback((e=>{if(!HAS_BEFORE_INPUT_SUPPORT&&!s&&!isEventHandled(e,h.onBeforeInput)&&ReactEditor.hasSelectableTarget(_,e.target)&&(e.preventDefault(),!ReactEditor.isComposing(_))){var t=e.data;Editor.insertText(_,t)}}),[h.onBeforeInput,_,s]),onInput:React.useCallback((e=>{if(!isEventHandled(e,h.onInput))if(T.current)T.current.handleInput();else{for(var t of y.current)t();if(y.current=[],!ReactEditor.isFocused(_)){var n=e.nativeEvent,o=_;if("historyUndo"===n.inputType&&"function"==typeof o.undo)return void o.undo();if("historyRedo"===n.inputType&&"function"==typeof o.redo)return void o.redo()}}}),[h.onInput,_]),onBlur:React.useCallback((e=>{if(!s&&!D.isUpdatingSelection&&ReactEditor.hasSelectableTarget(_,e.target)&&!isEventHandled(e,h.onBlur)){var t=ReactEditor.findDocumentOrShadowRoot(_);if(D.latestElement!==t.activeElement){var{relatedTarget:n}=e;if(!(n===ReactEditor.toDOMNode(_,_)||isDOMElement(n)&&n.hasAttribute("data-slate-spacer"))){if(null!=n&&isDOMNode(n)&&ReactEditor.hasDOMNode(_,n)){var o=ReactEditor.toSlateNode(_,n);if(Element$2.isElement(o)&&!_.isVoid(o))return}if(IS_WEBKIT){var r=getSelection(t);null==r||r.removeAllRanges()}IS_FOCUSED.delete(_)}}}}),[s,D.isUpdatingSelection,D.latestElement,_,h.onBlur]),onClick:React.useCallback((e=>{if(ReactEditor.hasTarget(_,e.target)&&!isEventHandled(e,h.onClick)&&isDOMNode(e.target)){var t=ReactEditor.toSlateNode(_,e.target),n=ReactEditor.findPath(_,t);if(!Editor.hasPath(_,n)||Node$1.get(_,n)!==t)return;if(e.detail===TRIPLE_CLICK&&n.length>=1){var o=n;if(!Element$2.isElement(t)||!Editor.isBlock(_,t)){var r,a=Editor.above(_,{match:e=>Element$2.isElement(e)&&Editor.isBlock(_,e),at:n});o=null!==(r=null==a?void 0:a[1])&&void 0!==r?r:n.slice(0,1)}var i=Editor.range(_,o);return void Transforms.select(_,i)}if(s)return;var l=Editor.start(_,n),c=Editor.end(_,n),u=Editor.void(_,{at:l}),d=Editor.void(_,{at:c});if(u&&d&&Path.equals(u[1],d[1])){var p=Editor.range(_,l);Transforms.select(_,p)}}}),[_,h.onClick,s]),onCompositionEnd:React.useCallback((e=>{if(ReactEditor.hasSelectableTarget(_,e.target)){var t;if(ReactEditor.isComposing(_)&&Promise.resolve().then((()=>{v(!1),IS_COMPOSING.set(_,!1)})),null===(t=T.current)||void 0===t||t.handleCompositionEnd(e),isEventHandled(e,h.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(_);EDITOR_TO_PENDING_INSERTION_MARKS.delete(_),void 0!==n&&(EDITOR_TO_USER_MARKS.set(_,_.marks),_.marks=n),Editor.insertText(_,e.data);var o=EDITOR_TO_USER_MARKS.get(_);EDITOR_TO_USER_MARKS.delete(_),void 0!==o&&(_.marks=o)}}}),[h.onCompositionEnd,_]),onCompositionUpdate:React.useCallback((e=>{ReactEditor.hasSelectableTarget(_,e.target)&&!isEventHandled(e,h.onCompositionUpdate)&&(ReactEditor.isComposing(_)||(v(!0),IS_COMPOSING.set(_,!0)))}),[h.onCompositionUpdate,_]),onCompositionStart:React.useCallback((e=>{if(ReactEditor.hasSelectableTarget(_,e.target)){var t;if(null===(t=T.current)||void 0===t||t.handleCompositionStart(e),isEventHandled(e,h.onCompositionStart)||IS_ANDROID)return;v(!0);var{selection:n}=_;if(n&&Range.isExpanded(n))return void Editor.deleteFragment(_)}}),[h.onCompositionStart,_]),onCopy:React.useCallback((e=>{!ReactEditor.hasSelectableTarget(_,e.target)||isEventHandled(e,h.onCopy)||isDOMEventTargetInput(e)||(e.preventDefault(),ReactEditor.setFragmentData(_,e.clipboardData,"copy"))}),[h.onCopy,_]),onCut:React.useCallback((e=>{if(!s&&ReactEditor.hasSelectableTarget(_,e.target)&&!isEventHandled(e,h.onCut)&&!isDOMEventTargetInput(e)){e.preventDefault(),ReactEditor.setFragmentData(_,e.clipboardData,"cut");var{selection:t}=_;if(t)if(Range.isExpanded(t))Editor.deleteFragment(_);else{var n=Node$1.parent(_,t.anchor.path);Editor.isVoid(_,n)&&Transforms.delete(_)}}}),[s,_,h.onCut]),onDragOver:React.useCallback((e=>{if(ReactEditor.hasTarget(_,e.target)&&!isEventHandled(e,h.onDragOver)){var t=ReactEditor.toSlateNode(_,e.target);Element$2.isElement(t)&&Editor.isVoid(_,t)&&e.preventDefault()}}),[h.onDragOver,_]),onDragStart:React.useCallback((e=>{if(!s&&ReactEditor.hasTarget(_,e.target)&&!isEventHandled(e,h.onDragStart)){var t=ReactEditor.toSlateNode(_,e.target),n=ReactEditor.findPath(_,t);if(Element$2.isElement(t)&&Editor.isVoid(_,t)||Editor.void(_,{at:n,voids:!0})){var o=Editor.range(_,n);Transforms.select(_,o)}D.isDraggingInternally=!0,ReactEditor.setFragmentData(_,e.dataTransfer,"drag")}}),[s,_,h.onDragStart,D]),onDrop:React.useCallback((e=>{if(!s&&ReactEditor.hasTarget(_,e.target)&&!isEventHandled(e,h.onDrop)){e.preventDefault();var t=_.selection,n=ReactEditor.findEventRange(_,e),o=e.dataTransfer;Transforms.select(_,n),D.isDraggingInternally&&(!t||Range.equals(t,n)||Editor.void(_,{at:n,voids:!0})||Transforms.delete(_,{at:t})),ReactEditor.insertData(_,o),ReactEditor.isFocused(_)||ReactEditor.focus(_)}}),[s,_,h.onDrop,D]),onDragEnd:React.useCallback((e=>{!s&&D.isDraggingInternally&&h.onDragEnd&&ReactEditor.hasTarget(_,e.target)&&h.onDragEnd(e)}),[s,D,h,_]),onFocus:React.useCallback((e=>{if(!s&&!D.isUpdatingSelection&&ReactEditor.hasEditableTarget(_,e.target)&&!isEventHandled(e,h.onFocus)){var t=ReactEditor.toDOMNode(_,_),n=ReactEditor.findDocumentOrShadowRoot(_);if(D.latestElement=n.activeElement,IS_FIREFOX&&e.target!==t)return void t.focus();IS_FOCUSED.set(_,!0)}}),[s,D,_,h.onFocus]),onKeyDown:React.useCallback((e=>{if(!s&&ReactEditor.hasEditableTarget(_,e.target)){var t;null===(t=T.current)||void 0===t||t.handleKeyDown(e);var{nativeEvent:n}=e;if(ReactEditor.isComposing(_)&&!1===n.isComposing&&(IS_COMPOSING.set(_,!1),v(!1)),isEventHandled(e,h.onKeyDown)||ReactEditor.isComposing(_))return;var{selection:o}=_,r=_.children[null!==o?o.focus.path[0]:0],a="rtl"===direction_1(Node$1.string(r));if(Hotkeys.isRedo(n)){e.preventDefault();var i=_;return void("function"==typeof i.redo&&i.redo())}if(Hotkeys.isUndo(n)){e.preventDefault();var l=_;return void("function"==typeof l.undo&&l.undo())}if(Hotkeys.isMoveLineBackward(n))return e.preventDefault(),void Transforms.move(_,{unit:"line",reverse:!0});if(Hotkeys.isMoveLineForward(n))return e.preventDefault(),void Transforms.move(_,{unit:"line"});if(Hotkeys.isExtendLineBackward(n))return e.preventDefault(),void Transforms.move(_,{unit:"line",edge:"focus",reverse:!0});if(Hotkeys.isExtendLineForward(n))return e.preventDefault(),void Transforms.move(_,{unit:"line",edge:"focus"});if(Hotkeys.isMoveBackward(n))return e.preventDefault(),void(o&&Range.isCollapsed(o)?Transforms.move(_,{reverse:!a}):Transforms.collapse(_,{edge:a?"end":"start"}));if(Hotkeys.isMoveForward(n))return e.preventDefault(),void(o&&Range.isCollapsed(o)?Transforms.move(_,{reverse:a}):Transforms.collapse(_,{edge:a?"start":"end"}));if(Hotkeys.isMoveWordBackward(n))return e.preventDefault(),o&&Range.isExpanded(o)&&Transforms.collapse(_,{edge:"focus"}),void Transforms.move(_,{unit:"word",reverse:!a});if(Hotkeys.isMoveWordForward(n))return e.preventDefault(),o&&Range.isExpanded(o)&&Transforms.collapse(_,{edge:"focus"}),void Transforms.move(_,{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(_,o.anchor.path);if(Element$2.isElement(c)&&Editor.isVoid(_,c)&&(Editor.isInline(_,c)||Editor.isBlock(_,c)))return e.preventDefault(),void Editor.deleteBackward(_,{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(_);if(Hotkeys.isSplitBlock(n))return e.preventDefault(),void Editor.insertBreak(_);if(Hotkeys.isDeleteBackward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(_,{direction:"backward"}):Editor.deleteBackward(_));if(Hotkeys.isDeleteForward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(_,{direction:"forward"}):Editor.deleteForward(_));if(Hotkeys.isDeleteLineBackward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(_,{direction:"backward"}):Editor.deleteBackward(_,{unit:"line"}));if(Hotkeys.isDeleteLineForward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(_,{direction:"forward"}):Editor.deleteForward(_,{unit:"line"}));if(Hotkeys.isDeleteWordBackward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(_,{direction:"backward"}):Editor.deleteBackward(_,{unit:"word"}));if(Hotkeys.isDeleteWordForward(n))return e.preventDefault(),void(o&&Range.isExpanded(o)?Editor.deleteFragment(_,{direction:"forward"}):Editor.deleteForward(_,{unit:"word"}))}}}),[s,_,h.onKeyDown]),onPaste:React.useCallback((e=>{s||!ReactEditor.hasEditableTarget(_,e.target)||isEventHandled(e,h.onPaste)||(!HAS_BEFORE_INPUT_SUPPORT||isPlainTextOnlyPaste(e.nativeEvent)||IS_WEBKIT)&&(e.preventDefault(),ReactEditor.insertData(_,e.clipboardData))}),[s,_,h.onPaste])}),React__default.default.createElement(Children,{decorations:k,node:_,renderElement:l,renderPlaceholder:u,renderLeaf:c,selection:_.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:u,onChange:d}=useSelectorContext(t),p=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}))),d(t)}),[t,d,o,r,a]);React.useEffect((()=>(EDITOR_TO_ON_CHANGE.set(t,p),()=>{EDITOR_TO_ON_CHANGE.set(t,(()=>{}))})),[t,p]);var[f,m]=React.useState(ReactEditor.isFocused(t));return React.useEffect((()=>{m(ReactEditor.isFocused(t))}),[t]),useIsomorphicLayoutEffect$3((()=>{var e=()=>m(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:u},React__default.default.createElement(SlateContext.Provider,{value:l},React__default.default.createElement(EditorContext.Provider,{value:l.editor},React__default.default.createElement(FocusedContext.Provider,{value:f},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$3(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 u=Point.isPoint(null==c?void 0:c.at)?transformPendingPoint(n,c.at,t):transformPendingRange(n,c.at,t);EDITOR_TO_PENDING_ACTION.set(n,u?_objectSpread$9(_objectSpread$9({},c),{},{at:u}):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 d;null===(d=EDITOR_TO_USER_SELECTION.get(n))||void 0===d||d.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 p=Path.previous(t.path);r.push(...getMatches(n,p));break;case"move_node":var f,m=Path.common(Path.parent(t.path),Path.parent(t.newPath));r.push(...getMatches(n,m)),Path.isBefore(t.path,t.newPath)?(r.push(...getMatches(n,Path.parent(t.path))),f=t.newPath):(r.push(...getMatches(n,Path.parent(t.newPath))),f=t.path);var h=Node$1.get(e,Path.parent(f)),_=ReactEditor.findKey(n,h),g=Editor.pathRef(n,Path.parent(f));a.push([g,_])}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[v,b]of r){var[y]=Editor.node(n,v);NODE_TO_KEY.set(y,b)}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(),u=c.childNodes[0];if(c.childNodes.forEach((e=>{e.textContent&&""!==e.textContent.trim()&&(u=e)})),s){var[d]=s,p=l.cloneRange(),f=ReactEditor.toDOMNode(n,d);p.setEndAfter(f),c=p.cloneContents()}if(i&&(u=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(u)){var m=u.ownerDocument.createElement("span");m.style.whiteSpace="pre",m.appendChild(u),c.appendChild(m),u=m}var h=n.getFragment(),_=JSON.stringify(h),g=window.btoa(encodeURIComponent(_));u.setAttribute("data-slate-fragment",g),e.setData("application/".concat(t),g);var v=c.ownerDocument.createElement("div");return v.appendChild(c),v.setAttribute("hidden","true"),c.ownerDocument.body.appendChild(v),e.setData("text/html",v.innerHTML),e.setData("text/plain",getPlainText(v)),c.ownerDocument.body.removeChild(v),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],u=o<i.length&&c?isSeparator(c):isNextNodeValid(e,a);return l&&u}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);Transforms.wrapNodes(e,{type:"auto-link",url:t,children:[]},{at:{anchor:{path:o,offset:0},focus:{path:o,offset:t.length}},split:!0})}else 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$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$2(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$2(e){var t=_toPrimitive$2(e,"string");return"symbol"===_typeof$2(t)?t:String(t)}function _defineProperty$2(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}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$2(this,"offset",void 0),_defineProperty$2(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$2(this,"offset",void 0),_defineProperty$2(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$2(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[u,d]of(Object.assign(c,n),c.children=s,Node$1.texts(c))){var p=getAnchorOffset(u),f=getFocusOffset(u);if(null!=p){var[m]=p;l.anchor={path:d,offset:m}}if(null!=f){var[h]=f;l.focus={path:d,offset:h}}}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$2(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:"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$1=Math.min,max$1=Math.max,round$1=Math.round,floor$1=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$1(e,min$1(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"}function getSideAxis(e){return["top","bottom"].includes(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]))}function getSideList(e,t,n){const o=["left","right"],r=["right","left"],a=["top","bottom"],i=["bottom","top"];switch(e){case"top":case"bottom":return n?t?r:o:t?o:r;case"left":case"right":return t?a:i;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,u=o.x+o.width/2-r.width/2,d=o.y+o.height/2-r.height/2,p=o[s]/2-r[s]/2;let f;switch(l){case"top":f={x:u,y:o.y-r.height};break;case"bottom":f={x:u,y:o.y+o.height};break;case"right":f={x:o.x+o.width,y:d};break;case"left":f={x:o.x-r.width,y:d};break;default:f={x:o.x,y:o.y}}switch(getAlignment(t)){case"start":f[i]-=p*(n&&c?-1:1);break;case"end":f[i]+=p*(n&&c?-1:1)}return f}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:u,y:d}=computeCoordsFromPlacement(c,o,l),p=o,f={},m=0;for(let n=0;n<s.length;n++){const{name:a,fn:h}=s[n],{x:_,y:g,data:v,reset:b}=await h({x:u,y:d,initialPlacement:o,placement:p,strategy:r,middlewareData:f,rects:c,platform:i,elements:{reference:e,floating:t}});u=null!=_?_:u,d=null!=g?g:d,f={...f,[a]:{...f[a],...v}},b&&m<=50&&(m++,"object"==typeof b&&(b.placement&&(p=b.placement),b.rects&&(c=!0===b.rects?await i.getElementRects({reference:e,floating:t,strategy:r}):b.rects),({x:u,y:d}=computeCoordsFromPlacement(c,p,l))),n=-1)}return{x:u,y:d,placement:p,strategy:r,middlewareData:f}};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:u="viewport",elementContext:d="floating",altBoundary:p=!1,padding:f=0}=evaluate(t,e),m=getPaddingObject(f),h=s[p?"floating"===d?"reference":"floating":d],_=rectToClientRect(await a.getClippingRect({element:null==(n=await(null==a.isElement?void 0:a.isElement(h)))||n?h:h.contextElement||await(null==a.getDocumentElement?void 0:a.getDocumentElement(s.floating)),boundary:c,rootBoundary:u,strategy:l})),g="floating"===d?{x:o,y:r,width:i.floating.width,height:i.floating.height}:i.reference,v=await(null==a.getOffsetParent?void 0:a.getOffsetParent(s.floating)),b=await(null==a.isElement?void 0:a.isElement(v))&&await(null==a.getScale?void 0:a.getScale(v))||{x:1,y:1},y=rectToClientRect(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:g,offsetParent:v,strategy:l}):g);return{top:(_.top-y.top+m.top)/b.y,bottom:(y.bottom-_.bottom+m.bottom)/b.y,left:(_.left-y.left+m.left)/b.x,right:(y.right-_.right+m.right)/b.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:u=0}=evaluate(e,t)||{};if(null==c)return{};const d=getPaddingObject(u),p={x:n,y:o},f=getAlignmentAxis(r),m=getAxisLength(f),h=await i.getDimensions(c),_="y"===f,g=_?"top":"left",v=_?"bottom":"right",b=_?"clientHeight":"clientWidth",y=a.reference[m]+a.reference[f]-p[f]-a.floating[m],E=p[f]-a.reference[f],w=await(null==i.getOffsetParent?void 0:i.getOffsetParent(c));let C=w?w[b]:0;C&&await(null==i.isElement?void 0:i.isElement(w))||(C=s.floating[b]||a.floating[m]);const x=y/2-E/2,R=C/2-h[m]/2-1,S=min$1(d[g],R),D=min$1(d[v],R),T=S,O=C-h[m]-D,I=C/2-h[m]/2+x,A=clamp(T,I,O),N=!l.arrow&&null!=getAlignment(r)&&I!==A&&a.reference[m]/2-(I<T?S:D)-h[m]/2<0,k=N?I<T?I-T:I-O:0;return{[f]:p[f]+k,data:{[f]:A,centerOffset:I-A-k,...N&&{alignmentOffset:k}},reset:N}}});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:u=!1,alignment:d,allowedPlacements:p=placements,autoAlignment:f=!0,...m}=evaluate(e,t),h=void 0!==d||p===placements?getPlacementList(d||null,f,p):p,_=await detectOverflow(t,m),g=(null==(n=i.autoPlacement)?void 0:n.index)||0,v=h[g];if(null==v)return{};const b=getAlignmentSides(v,a,await(null==l.isRTL?void 0:l.isRTL(c.floating)));if(s!==v)return{reset:{placement:h[0]}};const y=[_[getSide(v)],_[b[0]],_[b[1]]],E=[...(null==(o=i.autoPlacement)?void 0:o.overflows)||[],{placement:v,overflows:y}],w=h[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&&u?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:u=!0,crossAxis:d=!0,fallbackPlacements:p,fallbackStrategy:f="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:h=!0,..._}=evaluate(e,t);if(null!=(n=a.arrow)&&n.alignmentOffset)return{};const g=getSide(r),v=getSideAxis(s),b=getSide(s)===s,y=await(null==l.isRTL?void 0:l.isRTL(c.floating)),E=p||(b||!h?[getOppositePlacement(s)]:getExpandedPlacements(s)),w="none"!==m;!p&&w&&E.push(...getOppositeAxisPlacements(s,h,m,y));const C=[s,...E],x=await detectOverflow(t,_),R=[];let S=(null==(o=a.flip)?void 0:o.overflows)||[];if(u&&R.push(x[g]),d){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)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(f){case"bestFit":{var O;const e=null==(O=S.filter((e=>{if(w){const t=getSideAxis(e.placement);return t===v||"y"===t}return!0})).map((e=>[e.placement,e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)])).sort(((e,t)=>e[1]-t[1]))[0])?void 0:O[0];e&&(n=e);break}case"initialPlacement":n=s}if(r!==n)return{reset:{placement:n}}}return{}}}};function getSideOffsets(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function isAnySideFullyClipped(e){return sides.some((t=>e[t]>=0))}const hide$2=function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:o="referenceHidden",...r}=evaluate(e,t);switch(o){case"referenceHidden":{const e=getSideOffsets(await detectOverflow(t,{...r,elementContext:"reference"}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:isAnySideFullyClipped(e)}}}case"escaped":{const e=getSideOffsets(await detectOverflow(t,{...r,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:isAnySideFullyClipped(e)}}}default:return{}}}}};function getBoundingRect(e){const t=min$1(...e.map((e=>e.left))),n=min$1(...e.map((e=>e.top)));return{x:t,y:n,width:max$1(...e.map((e=>e.right)))-t,height:max$1(...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),u=Array.from(await(null==a.getClientRects?void 0:a.getClientRects(o.reference))||[]),d=getRectsByLine(u),p=rectToClientRect(getBoundingRect(u)),f=getPaddingObject(s);const m=await a.getElementRects({reference:{getBoundingClientRect:function(){if(2===d.length&&d[0].left>d[1].right&&null!=l&&null!=c)return d.find((e=>l>e.left-f.left&&l<e.right+f.right&&c>e.top-f.top&&c<e.bottom+f.bottom))||p;if(d.length>=2){if("y"===getSideAxis(n)){const e=d[0],t=d[d.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$1(...d.map((e=>e.right))),o=min$1(...d.map((e=>e.left))),r=d.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 p}},floating:o.floating,strategy:i});return r.reference.x!==m.reference.x||r.reference.y!==m.reference.y||r.reference.width!==m.reference.width||r.reference.height!==m.reference.height?{reset:{rects:m}}:{}}}};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=["left","top"].includes(i)?-1:1,u=a&&l?-1:1,d=evaluate(t,e);let{mainAxis:p,crossAxis:f,alignmentAxis:m}="number"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&"number"==typeof m&&(f="end"===s?-1*m:m),l?{x:f*u,y:p*c}:{x:p*c,y:f*u}}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},u=await detectOverflow(t,l),d=getSideAxis(getSide(r)),p=getOppositeAxis(d);let f=c[p],m=c[d];if(a){const e="y"===p?"bottom":"right";f=clamp(f+u["y"===p?"top":"left"],f,f-u[e])}if(i){const e="y"===d?"bottom":"right";m=clamp(m+u["y"===d?"top":"left"],m,m-u[e])}const h=s.fn({...t,[p]:f,[d]:m});return{...h,data:{x:h.x-n,y:h.y-o,enabled:{[p]:a,[d]: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),u={x:n,y:o},d=getSideAxis(r),p=getOppositeAxis(d);let f=u[p],m=u[d];const h=evaluate(s,t),_="number"==typeof h?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(l){const e="y"===p?"height":"width",t=a.reference[p]-a.floating[e]+_.mainAxis,n=a.reference[p]+a.reference[e]-_.mainAxis;f<t?f=t:f>n&&(f=n)}if(c){var g,v;const e="y"===p?"width":"height",t=["top","left"].includes(getSide(r)),n=a.reference[d]-a.floating[e]+(t&&(null==(g=i.offset)?void 0:g[d])||0)+(t?0:_.crossAxis),o=a.reference[d]+a.reference[e]+(t?0:(null==(v=i.offset)?void 0:v[d])||0)-(t?_.crossAxis:0);m<n?m=n:m>o&&(m=o)}return{[p]:f,[d]:m}}}},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),u=await detectOverflow(t,c),d=getSide(r),p=getAlignment(r),f="y"===getSideAxis(r),{width:m,height:h}=a.floating;let _,g;"top"===d||"bottom"===d?(_=d,g=p===(await(null==i.isRTL?void 0:i.isRTL(s.floating))?"start":"end")?"left":"right"):(g=d,_="end"===p?"top":"bottom");const v=h-u.top-u.bottom,b=m-u.left-u.right,y=min$1(h-u[_],v),E=min$1(m-u[g],b),w=!t.middlewareData.shift;let C=y,x=E;if(null!=(n=t.middlewareData.shift)&&n.enabled.x&&(x=b),null!=(o=t.middlewareData.shift)&&o.enabled.y&&(C=v),w&&!p){const e=max$1(u.left,0),t=max$1(u.right,0),n=max$1(u.top,0),o=max$1(u.bottom,0);f?x=m-2*(0!==e||0!==t?e+t:max$1(u.left,u.right)):C=h-2*(0!==n||0!==o?n+o:max$1(u.top,u.bottom))}await l({...t,availableWidth:x,availableHeight:C});const R=await i.getDimensions(s.floating);return m!==R.width||h!==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)}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)&&!["inline","contents"].includes(r)}function isTableElement(e){return["table","td","th"].includes(getNodeName(e))}function isTopLayer(e){return[":popover-open",":modal"].some((t=>{try{return e.matches(t)}catch(e){return!1}}))}function isContainingBlock(e){const t=isWebKit(),n=isElement(e)?getComputedStyle$1(e):e;return"none"!==n.transform||"none"!==n.perspective||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||["transform","perspective","filter"].some((e=>(n.willChange||"").includes(e)))||["paint","layout","strict","content"].some((e=>(n.contain||"").includes(e)))}function 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")}function isLastTraversableNode(e){return["html","body","#document"].includes(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$1(n)!==a||round$1(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$1(n.width):n.width)/o,s=(a?round$1(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,u=r.width/i.x,d=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,u*=e.x,d*=e.y,l+=a,c+=i,n=getWindow(r),r=getFrameElement(n)}}return rectToClientRect({width:u,height:d,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,n){void 0===n&&(n=!1);const o=e.getBoundingClientRect();return{x:o.left+t.scrollLeft-(n?0:getWindowScrollBarX(e,o)),y:o.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 u=createCoords(0),d=isHTMLElement(o);if((d||!d&&!a)&&(("body"!==getNodeName(o)||isOverflowElement(i))&&(l=getNodeScroll(o)),isHTMLElement(o))){const e=getBoundingClientRect(o);c=getScale(o),u.x=e.x+o.clientLeft,u.y=e.y+o.clientTop}const p=!i||d||a?createCoords(0):getHTMLOffset(i,l,!0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-l.scrollLeft*c.x+u.x+p.x,y:n.y*c.y-l.scrollTop*c.y+u.y+p.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$1(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),a=max$1(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$1(t.clientWidth,o.clientWidth)-r),{width:r,height:a,x:i,y:s}}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)}return{width:a,height:i,x:s,y:l}}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&&["absolute","fixed"].includes(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$1(o.top,e.top),e.right=min$1(o.right,e.right),e.bottom=min$1(o.bottom,e.bottom),e.left=max$1(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);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&&(l.x=getWindowScrollBarX(r));const c=!r||o||a?createCoords(0):getHTMLOffset(r,s);return{x:i.left+s.scrollLeft-l.x-c.x,y:i.top+s.scrollTop-l.y-c.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 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{left:c,top:u,width:d,height:p}=e.getBoundingClientRect();if(s||t(),!d||!p)return;const f={rootMargin:-floor$1(u)+"px "+-floor$1(r.clientWidth-(c+d))+"px "+-floor$1(r.clientHeight-(u+p))+"px "+-floor$1(c)+"px",threshold:max$1(0,min$1(1,l))||1};let m=!0;function h(e){const t=e[0].intersectionRatio;if(t!==l){if(!m)return i();t?i(!1,t):n=setTimeout((()=>{i(!1,1e-7)}),1e3)}m=!1}try{o=new IntersectionObserver(h,{...f,root:r.ownerDocument})}catch(e){o=new IntersectionObserver(h,f)}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),u=r||a?[...c?getOverflowAncestors(c):[],...getOverflowAncestors(t)]:[];u.forEach((e=>{r&&e.addEventListener("scroll",n,{passive:!0}),a&&e.addEventListener("resize",n)}));const d=c&&s?observeMove(c,n):null;let p,f=-1,m=null;i&&(m=new ResizeObserver((e=>{let[o]=e;o&&o.target===c&&m&&(m.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame((()=>{var e;null==(e=m)||e.observe(t)}))),n()})),c&&!l&&m.observe(c),m.observe(t));let h=l?getBoundingClientRect(e):null;return l&&function t(){const o=getBoundingClientRect(e);!h||o.x===h.x&&o.y===h.y&&o.width===h.width&&o.height===h.height||n();h=o,p=requestAnimationFrame(t)}(),n(),()=>{var e;u.forEach((e=>{r&&e.removeEventListener("scroll",n),a&&e.removeEventListener("resize",n)})),null==d||d(),null==(e=m)||e.disconnect(),m=null,l&&cancelAnimationFrame(p)}}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 index="undefined"!=typeof document?React.useLayoutEffect:React.useEffect;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,[u,d]=React__namespace.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,f]=React__namespace.useState(o);deepEqual(p,o)||f(o);const[m,h]=React__namespace.useState(null),[_,g]=React__namespace.useState(null),v=React__namespace.useCallback((e=>{e!==w.current&&(w.current=e,h(e))}),[]),b=React__namespace.useCallback((e=>{e!==C.current&&(C.current=e,g(e))}),[]),y=a||m,E=i||_,w=React__namespace.useRef(null),C=React__namespace.useRef(null),x=React__namespace.useRef(u),R=null!=l,S=useLatestRef(l),D=useLatestRef(r),T=useLatestRef(c),O=React__namespace.useCallback((()=>{if(!w.current||!C.current)return;const e={placement:t,strategy:n,middleware:p};D.current&&(e.platform=D.current),computePosition(w.current,C.current,e).then((e=>{const t={...e,isPositioned:!1!==T.current};I.current&&!deepEqual(x.current,t)&&(x.current=t,ReactDOM__namespace.flushSync((()=>{d(t)})))}))}),[p,t,n,D,T]);index((()=>{!1===c&&x.current.isPositioned&&(x.current.isPositioned=!1,d((e=>({...e,isPositioned:!1}))))}),[c]);const I=React__namespace.useRef(!1);index((()=>(I.current=!0,()=>{I.current=!1})),[]),index((()=>{if(y&&(w.current=y),E&&(C.current=E),y&&E){if(S.current)return S.current(y,E,O);O()}}),[y,E,O,S,R]);const A=React__namespace.useMemo((()=>({reference:w,floating:C,setReference:v,setFloating:b})),[v,b]),N=React__namespace.useMemo((()=>({reference:y,floating:E})),[y,E]),k=React__namespace.useMemo((()=>{const e={position:n,left:0,top:0};if(!N.floating)return e;const t=roundByDPR(N.floating,u.x),o=roundByDPR(N.floating,u.y);return s?{...e,transform:"translate("+t+"px, "+o+"px)",...getDPR(N.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:o}}),[n,s,N.floating,u.x,u.y]);return React__namespace.useMemo((()=>({...u,update:O,refs:A,elements:N,floatingStyles:k})),[u,O,A,N,k])}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),u=useLatest(l);return[l,{onDragEnter:React.useCallback((t=>{if(e?.(t),u.current||i||t.isDefaultPrevented())return;t.dataTransfer.types.includes("Files")&&(t.preventDefault(),t.stopPropagation(),c(!0))}),[e,i]),onDragLeave:React.useCallback((e=>{t?.(e),!u.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),!u.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:u}){const d=useSlateStatic(),{onEditorChange:p}=useComposerEditorContext(),{isFocused:f}=useComposer(),{portalContainer:m}=useLiveblocksUIConfig(),[h,_]=useContentZIndex(),g=f&&void 0!==a?.range&&void 0!==n,{refs:{setReference:v,setFloating:b},strategy:y,isPositioned:E,placement:w,x:C,y:x}=useFloatingWithOptions({position:l,dir:c,alignment:"start",open:g});return useObservable(p,(()=>{i(getMentionDraftAtSelection(d))})),React.useLayoutEffect((()=>{if(!a)return void v(null);const e=getDOMRange(d,a.range);v(e??null)}),[v,d,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:h},children:jsxRuntime.exports.jsx(Portal$4,{ref:b,container:m,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:_},children:jsxRuntime.exports.jsx(u,{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(),[u,d]=useContentZIndex(),[p,f]=React.useState(!1),m=l&&!p&&r,{refs:{setReference:h,setFloating:_},strategy:g,isPositioned:v,placement:b,x:y,y:E}=useFloatingWithOptions({type:"range",position:t,dir:n,alignment:"center",open:m});return React.useLayoutEffect((()=>{if(!l)return;const e=()=>f(!0),t=()=>f(!1);return document.addEventListener("pointerdown",e),document.addEventListener("pointerup",t),()=>{document.removeEventListener("pointerdown",e),document.removeEventListener("pointerup",t)}}),[l]),useObservable(s,(()=>{h(null),requestAnimationFrame((()=>{const e=window.getSelection();if(i.selection&&!Range.isCollapsed(i.selection)&&e&&e.rangeCount){a(!0);const t=e.getRangeAt(0);h(t)}else a(!1),h(null)}))})),jsxRuntime.exports.jsx(Persist,{children:m?jsxRuntime.exports.jsx(ComposerFloatingToolbarContext.Provider,{value:{id:e,placement:b,dir:n,ref:u},children:jsxRuntime.exports.jsx(Portal$4,{ref:_,container:c,style:{position:g,top:0,left:0,transform:v?`translate3d(${Math.round(y)}px, ${Math.round(E)}px, 0)`:"translate3d(0, -200%, 0)",minWidth:"max-content",zIndex:d},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:u,dir:d}=useComposerFloatingToolbarContext(COMPOSER_FLOATING_TOOLBAR_NAME),p=useRefs(a,c,s),[f,m]=React.useMemo((()=>getSideAndAlignFromFloatingPlacement(u)),[u]),h=o?Slot:"div";useAnimationPersist(s);const _=React.useCallback((e=>{t?.(e),e.preventDefault(),e.stopPropagation()}),[t]);return jsxRuntime.exports.jsx(h,{dir:d,role:"toolbar",id:l,"aria-label":"Floating toolbar",...r,onPointerDown:_,"data-state":i?"open":"closed","data-side":f,"data-align":m,style:{display:"flex",flexDirection:"row",maxWidth:"var(--lb-composer-floating-available-width)",overflowX:"auto",...n},ref:p,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:"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:"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),u=useRefs(r,s,i),[d,p]=React.useMemo((()=>getSideAndAlignFromFloatingPlacement(l)),[l]),f=n?Slot:"div";return useAnimationPersist(i),jsxRuntime.exports.jsx(f,{dir:c,...o,"data-state":a?"open":"closed","data-side":d,"data-align":p,style:{display:"flex",flexDirection:"column",maxHeight:"var(--lb-composer-floating-available-height)",overflowY:"auto",...t},ref:u,children:e})})),ComposerSuggestionsList=React.forwardRef((({children:e,asChild:t,...n},o)=>{const{id:r}=useComposerSuggestionsContext(COMPOSER_SUGGESTIONS_LIST_NAME),a=t?Slot:"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:u,setSelectedValue:d,itemId:p,onItemSelect:f}=useComposerSuggestionsContext(COMPOSER_SUGGESTIONS_LIST_ITEM_NAME),m=a?Slot:"li",h=React.useMemo((()=>u===e),[u,e]),_=React.useMemo((()=>p(e)),[p,e]);React.useEffect((()=>{l?.current&&h&&l.current.scrollIntoView({block:"nearest"})}),[h]);const g=React.useCallback((t=>{n?.(t),t.isDefaultPrevented()||d(e)}),[n,d,e]),v=React.useCallback((e=>{o?.(e),e.preventDefault(),e.stopPropagation()}),[o]),b=React.useCallback((t=>{r?.(t);const n=t.isDefaultPrevented();t.preventDefault(),t.stopPropagation(),n||f(e)}),[r,f,e]);return jsxRuntime.exports.jsx(m,{role:"option",id:_,"data-selected":h||void 0,"aria-selected":h||void 0,onPointerMove:g,onPointerDown:v,onClick:b,...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 u=useClientOrNull(),{editor:d,validate:p,setFocused:f,onEditorChange:m,roomId:h}=useComposerEditorContext(),{submit:_,focus:g,blur:v,select:b,canSubmit:y,isDisabled:E,isFocused:w}=useComposer(),C=E||r,x=useInitial(e??emptyCommentBody),R=React.useMemo((()=>commentBodyToComposerBody(x)),[x]),{Link:S,Mention:D,MentionSuggestions:T,FloatingToolbar:O}=React.useMemo((()=>({...defaultEditorComponents,...i})),[i]),[I,A]=React.useState(!1),N=useResolveMentionSuggestions(),k=!u||N,[$,F]=React.useState(),j=useMentionSuggestions(h,$?.text),[P,M,L,B]=useIndex(0,j?.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]),K=React.useCallback((e=>jsxRuntime.exports.jsx(ComposerEditorElement,{Mention:D,Link:S,...e})),[S,D]),W=React.useCallback((e=>{p(e),m.notify()}),[p,m]),q=React.useCallback((e=>{$&&e&&(Transforms.select(d,$.range),insertMention(d,e),F(void 0),B(0))}),[d,$,B]),G=React.useCallback((e=>{if(t?.(e),!e.isDefaultPrevented())if(isKey(e,"ArrowLeft")&&leaveMarkEdge(d,"start"),isKey(e,"ArrowRight")&&leaveMarkEdge(d,"end"),$&&j?.length){if(isKey(e,"ArrowDown")&&(e.preventDefault(),L()),isKey(e,"ArrowUp")&&(e.preventDefault(),M()),isKey(e,"Enter")||isKey(e,"Tab")){e.preventDefault();const t=j?.[P];q(t)}isKey(e,"Escape")&&(e.preventDefault(),F(void 0),B(0))}else I&&isKey(e,"Escape")&&(e.preventDefault(),A(!1)),isKey(e,"Escape")&&(e.preventDefault(),v()),isKey(e,"Enter",{shift:!1})&&(e.preventDefault(),y&&_()),isKey(e,"Enter",{shift:!0})&&(e.preventDefault(),d.insertBreak()),isKey(e,"b",{mod:!0})&&(e.preventDefault(),toggleMark(d,"bold")),isKey(e,"i",{mod:!0})&&(e.preventDefault(),toggleMark(d,"italic")),isKey(e,"s",{mod:!0,shift:!0})&&(e.preventDefault(),toggleMark(d,"strikethrough")),isKey(e,"e",{mod:!0})&&(e.preventDefault(),toggleMark(d,"code"))}),[t,$,j,I,d,L,M,P,q,B,v,y,_]),Y=React.useCallback((e=>{n?.(e),e.isDefaultPrevented()||f(!0)}),[n,f]),J=React.useCallback((e=>{o?.(e),e.isDefaultPrevented()||f(!1)}),[o,f]),X=React.useMemo((()=>j?.[P]),[P,j]),Z=React.useCallback((e=>{const t=j?.indexOf(e);void 0!==t&&t>=0&&B(t)}),[B,j]),Q=React.useMemo((()=>$?{role:"combobox","aria-autocomplete":"list","aria-expanded":!0,"aria-controls":H,"aria-activedescendant":z(X)}:I?{"aria-haspopup":!0,"aria-controls":V}:{}),[$,H,z,X,I,V]);return React.useImperativeHandle(c,(()=>ReactEditor.toDOMNode(d,d)),[d]),React.useLayoutEffect((()=>{a&&g()}),[a,d,g]),React.useLayoutEffect((()=>{w&&null===d.selection&&b()}),[d,b,w]),jsxRuntime.exports.jsxs(Slate,{editor:d,initialValue:R,onChange:W,children:[jsxRuntime.exports.jsx(Editable,{dir:s,enterKeyHint:$?"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:K,renderLeaf:ComposerEditorLeaf,renderPlaceholder:ComposerEditorPlaceholder}),k&&jsxRuntime.exports.jsx(ComposerEditorMentionSuggestionsWrapper,{dir:s,mentionDraft:$,setMentionDraft:F,selectedUserId:X,setSelectedUserId:Z,userIds:j,id:H,itemId:z,onItemSelect:q,MentionSuggestions:T}),O&&jsxRuntime.exports.jsx(ComposerEditorFloatingToolbarWrapper,{dir:s,id:V,hasFloatingToolbarRange:I,setHasFloatingToolbarRange:A,FloatingToolbar:O})]})})),MAX_ATTACHMENTS=10,MAX_ATTACHMENT_SIZE=1073741824;function prepareAttachment(e){return{type:"localAttachment",status:"idle",id:createCommentAttachmentId(),name:e.name,size:e.size,mimeType:e.type,file:e}}const ComposerForm=React.forwardRef((({children:e,onSubmit:t,onComposerSubmit:n,defaultAttachments:o=[],pasteFilesAsAttachments:r,preventUnsavedChanges:a=!0,disabled:i,asChild:s,roomId:l,...c},u)=>{const d=s?Slot:"form",[p,f]=React.useState(!0),[m,h]=React.useState(!1),[_,g]=React.useState(!1),v=useRoomOrNull(),b=void 0!==l?l:v?.id;if(void 0===b)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:b}),D=w.length,T=D>=y,O=React.useMemo((()=>m||!0===i),[m,i]),I=React.useMemo((()=>!p&&!C),[p,C]),[A,N]=React.useState(getMarks),k=React.useRef(null),$=useRefs(u,k),F=React.useRef(null),j=useSyncSource(),P=!!a&&(!p||C||w.length>0);React.useEffect((()=>{j?.setSyncStatus(P?"has-local-changes":"synchronized")}),[j,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]),L=React.useRef(M);React.useEffect((()=>{L.current=M}),[M]);const B=React.useCallback((e=>{L.current(e)}),[]),U=useInitial((()=>createComposerEditor({createAttachments:B,pasteFilesAsAttachments:r}))),V=useInitial(makeEventSource),H=React.useCallback((e=>{f(isEmpty(U,e))}),[U]),z=React.useCallback((()=>{I&&requestAnimationFrame((()=>{k.current&&requestSubmit(k.current)}))}),[I]),K=React.useCallback((()=>{Transforms.delete(U,{at:{anchor:Editor.start(U,[]),focus:Editor.end(U,[])}})}),[U]),W=React.useCallback((()=>{Transforms.select(U,Editor.end(U,[]))}),[U]),q=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||(q(),insertMentionCharacter(U))}),[i,U,q]),J=React.useCallback((e=>{i||(q(!1),insertText(U,e))}),[i,U,q]),X=React.useCallback((()=>{i||F.current&&F.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((()=>{K(),G(),S(),h(!1)}),[G,K,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?(h(!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,(()=>{N(getMarks(U))})),jsxRuntime.exports.jsx(ComposerEditorContext.Provider,{value:{editor:U,validate:H,setFocused:g,onEditorChange:V,roomId:b},children:jsxRuntime.exports.jsx(ComposerAttachmentsContext.Provider,{value:{createAttachments:M,isUploadingAttachments:C,hasMaxAttachments:T,maxAttachments:y,maxAttachmentSize:E},children:jsxRuntime.exports.jsx(ComposerContext.Provider,{value:{isDisabled:O,isFocused:_,isEmpty:p,canSubmit:I,submit:z,clear:K,select:W,focus:q,blur:G,createMention:Y,insertText:J,attachments:w,attachFiles:X,removeAttachment:R,toggleMark:ne,marks:A},children:jsxRuntime.exports.jsxs(d,{...c,onSubmit:ee,ref:$,children:[jsxRuntime.exports.jsx("input",{type:"file",multiple:!0,ref:F,onChange:Z,onClick:te,tabIndex:-1,style:{display:"none"}}),jsxRuntime.exports.jsx(Slottable,{children:e})]})})})})})),ComposerSubmit=React.forwardRef((({children:e,disabled:t,asChild:n,...o},r)=>{const a=n?Slot:"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:"button",{hasMaxAttachments:s}=useComposerAttachmentsContext(),{isDisabled:l,attachFiles:c}=useComposer(),u=l||s||n,d=React.useCallback((e=>{t?.(e),e.isDefaultPrevented()||c()}),[c,t]);return jsxRuntime.exports.jsx(i,{type:"button",...r,onClick:d,ref:a,disabled:u,children:e})}));React.forwardRef((({onDragEnter:e,onDragLeave:t,onDragOver:n,onDrop:o,disabled:r,asChild:a,...i},s)=>{const l=a?Slot:"div",{isDisabled:c}=useComposer(),u=c||r,[,d]=useComposerAttachmentsDropArea({onDragEnter:e,onDragLeave:t,onDragOver:n,onDrop:o,disabled:u});return jsxRuntime.exports.jsx(l,{...d,"data-disabled":u?"":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:"button",{marks:l,toggleMark:c}=useComposer(),u=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:u,...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:"time",[u,d]=useRerender(),p=React.useMemo((()=>new Date(e)),[e]),f=React.useMemo((()=>p.toISOString()),[p]),m=React.useMemo((()=>"function"==typeof o?o(p,t):o),[o,p,d]),h=React.useMemo((()=>"function"==typeof n?n(p,t):n),[n,p,d]);return useInterval(u,a),jsxRuntime.exports.jsx(c,{...s,ref:l,dateTime:r??f,title:m,children:h})}));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$1(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$1,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 PUBLISH=0,SUBSCRIBE=1,RESET=2,VALUE=4;function compose(e,t){return n=>e(t(n))}function thrush(e,t){return t(e)}function curry2to1(e,t){return n=>e(t,n)}function curry1to0(e,t){return()=>e(t)}function tap(e,t){return t(e),e}function tup(...e){return e}function call(e){e()}function always(e){return()=>e}function joinProc(...e){return()=>{e.map(call)}}function isDefined(e){return void 0!==e}function noop$1(){}function subscribe(e,t){return e(SUBSCRIBE,t)}function publish(e,t){e(PUBLISH,t)}function reset$2(e){e(RESET)}function getValue(e){return e(VALUE)}function connect(e,t){return subscribe(e,curry2to1(t,PUBLISH))}function handleNext(e,t){const n=e(SUBSCRIBE,(e=>{n(),t(e)}));return n}function stream(){const e=[];return(t,n)=>{switch(t){case RESET:return void e.splice(0,e.length);case SUBSCRIBE:return e.push(n),()=>{const t=e.indexOf(n);t>-1&&e.splice(t,1)};case PUBLISH:return void e.slice().forEach((e=>{e(n)}));default:throw new Error(`unrecognized action ${t}`)}}}function statefulStream(e){let t=e;const n=stream();return(e,o)=>{switch(e){case SUBSCRIBE:o(t);break;case PUBLISH:t=o;break;case VALUE:return t}return n(e,o)}}function eventHandler(e){let t,n;const o=()=>t&&t();return function(r,a){switch(r){case SUBSCRIBE:if(a){if(n===a)return;return o(),n=a,t=subscribe(e,a),t}return o(),noop$1;case RESET:return o(),void(n=null);default:throw new Error(`unrecognized action ${r}`)}}}function streamFromEmitter(e){return tap(stream(),(t=>connect(e,t)))}function statefulStreamFromEmitter(e,t){return tap(statefulStream(t),(t=>connect(e,t)))}function combineOperators(...e){return t=>e.reduceRight(thrush,t)}function pipe(e,...t){const n=combineOperators(...t);return(t,o)=>{switch(t){case SUBSCRIBE:return subscribe(e,n(o));case RESET:return void reset$2(e)}}}function defaultComparator(e,t){return e===t}function distinctUntilChanged(e=defaultComparator){let t;return n=>o=>{e(t,o)||(t=o,n(o))}}function filter(e){return t=>n=>{e(n)&&t(n)}}function map(e){return t=>compose(t,e)}function mapTo(e){return t=>()=>t(e)}function scan(e,t){return n=>o=>n(t=e(t,o))}function skip(e){return t=>n=>{e>0?e--:t(n)}}function throttleTime(e){let t,n=null;return o=>r=>{n=r,t||(t=setTimeout((()=>{t=void 0,o(n)}),e))}}function debounceTime(e){let t,n;return o=>r=>{t=r,n&&clearTimeout(n),n=setTimeout((()=>{o(t)}),e)}}function withLatestFrom(...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);subscribe(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 merge(...e){return function(t,n){switch(t){case SUBSCRIBE:return joinProc(...e.map((e=>subscribe(e,n))));case RESET:return;default:throw new Error(`unrecognized action ${t}`)}}}function duc(e,t=defaultComparator){return pipe(e,distinctUntilChanged(t))}function combineLatest(...e){const t=stream(),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);subscribe(e,(e=>{n[a]=e,o|=i,o===r&&publish(t,n)}))})),function(e,a){switch(e){case SUBSCRIBE:return o===r&&a(n),subscribe(t,a);case RESET:return reset$2(t);default:throw new Error(`unrecognized action ${e}`)}}}function system(e,t=[],{singleton:n}={singleton:!0}){return{id:id(),constructor:e,dependencies:t,singleton:n}}const id=()=>Symbol();function init(e){const t=new Map,n=({id:e,constructor:o,dependencies:r,singleton:a})=>{if(a&&t.has(e))return t.get(e);const i=o(r.map((e=>n(e))));return a&&t.set(e,i),i};return n(e)}function omit(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)o.hasOwnProperty(e)||(n[e]=t[e]);return n}const useIsomorphicLayoutEffect$1="undefined"!=typeof document?React__default.default.useLayoutEffect:React__default.default.useEffect;function systemToComponent(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&&publish(e.propsReady,!1);for(const r of o){publish(e[t.required[r]],n[r])}for(const o of r)if(o in n){publish(e[t.optional[o]],n[o])}e.propsReady&&publish(e.propsReady,!0)}function c(e){return i.reduce(((n,o)=>(n[o]=eventHandler(e[t.events[o]]),n)),{})}const u=React__default.default.forwardRef(((u,d)=>{const{children:p,...f}=u,[m]=React__default.default.useState((()=>tap(init(e),(e=>l(e,f))))),[h]=React__default.default.useState(curry1to0(c,m));useIsomorphicLayoutEffect$1((()=>{for(const e of i)e in f&&subscribe(h[e],f[e]);return()=>{Object.values(h).map(reset$2)}}),[f,h,m]),useIsomorphicLayoutEffect$1((()=>{l(m,f)})),React__default.default.useImperativeHandle(d,always(function(e){return a.reduce(((n,o)=>(n[o]=n=>{publish(e[t.methods[o]],n)},n)),{})}(m)));const _=n;return jsxRuntime.exports.jsx(s.Provider,{value:m,children:n?jsxRuntime.exports.jsx(_,{...omit([...o,...r,...i],f),children:p}):p})})),d=React__default.default.version.startsWith("18")?e=>{const t=React__default.default.useContext(s)[e],n=React__default.default.useCallback((e=>subscribe(t,e)),[t]);return React__default.default.useSyncExternalStore(n,(()=>getValue(t)),(()=>getValue(t)))}:e=>{const t=React__default.default.useContext(s)[e],[n,o]=React__default.default.useState(curry1to0(getValue,t));return useIsomorphicLayoutEffect$1((()=>subscribe(t,(e=>{e!==n&&o(always(e))}))),[t,n]),n};return{Component:u,usePublisher:e=>React__default.default.useCallback(curry2to1(publish,React__default.default.useContext(s)[e]),[e]),useEmitterValue:d,useEmitter:(e,t)=>{const n=React__default.default.useContext(s)[e];useIsomorphicLayoutEffect$1((()=>subscribe(n,t)),[t,n])}}}const useIsomorphicLayoutEffect$2="undefined"!=typeof document?React__default.default.useLayoutEffect:React__default.default.useEffect;var LogLevel=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(LogLevel||{});const CONSOLE_METHOD_MAP={0:"debug",1:"log",2:"warn",3:"error"},getGlobalThis=()=>"undefined"==typeof globalThis?window:globalThis,loggerSystem=system((()=>{const e=statefulStream(3);return{log:statefulStream(((t,n,o=1)=>{var r;o>=(null!=(r=getGlobalThis().VIRTUOSO_LOG_LEVEL)?r:getValue(e))&&console[CONSOLE_METHOD_MAP[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",t,n)})),logLevel:e}}),[],{singleton:!0});function useSizeWithElRef(e,t,n){const o=React__default.default.useRef(null);let r=e=>{};if("undefined"!=typeof ResizeObserver){const a=React__default.default.useMemo((()=>new ResizeObserver((t=>{const o=()=>{const n=t[0].target;null!==n.offsetParent&&e(n)};n?o():requestAnimationFrame(o)}))),[e]);r=e=>{e&&t?(a.observe(e),o.current=e):(o.current&&a.unobserve(o.current),o.current=null)}}return{ref:o,callbackRef:r}}function useSize$1(e,t,n){return useSizeWithElRef(e,t,n).callbackRef}function useChangedListContentsSizes(e,t,n,o,r,a,i,s,l){return useSizeWithElRef(React__default.default.useCallback((n=>{const l=getChangedChildSizes(n.children,t,s?"offsetWidth":"offsetHeight",r);let c=n.parentElement;for(;!c.dataset.virtuosoScroller;)c=c.parentElement;const u="window"===c.lastElementChild.dataset.viewportType,d=i?s?i.scrollLeft:i.scrollTop:u?s?window.pageXOffset||document.documentElement.scrollLeft:window.pageYOffset||document.documentElement.scrollTop:s?c.scrollLeft:c.scrollTop,p=i?s?i.scrollWidth:i.scrollHeight:u?s?document.documentElement.scrollWidth:document.documentElement.scrollHeight:s?c.scrollWidth:c.scrollHeight,f=i?s?i.offsetWidth:i.offsetHeight:u?s?window.innerWidth:window.innerHeight:s?c.offsetWidth:c.offsetHeight;o({scrollTop:Math.max(d,0),scrollHeight:p,viewportHeight:f}),null==a||a(s?resolveGapValue$1("column-gap",getComputedStyle(n).columnGap,r):resolveGapValue$1("row-gap",getComputedStyle(n).rowGap,r)),null!==l&&e(l)}),[e,t,r,a,i,o]),n,l)}function getChangedChildSizes(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(!r||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},LogLevel.ERROR),c===l)continue;const u=a[a.length-1];0===a.length||u.size!==c||u.endIndex!==s-1?a.push({startIndex:s,endIndex:s,size:c}):a[a.length-1].endIndex++}return a}function resolveGapValue$1(e,t,n){return"normal"===t||(null==t?void 0:t.endsWith("px"))||n(`${e} was not resolved to pixel value correctly`,t,LogLevel.WARN),"normal"===t?0:parseInt(null!=t?t:"0",10)}function correctItemSize(e,t){return Math.round(e.getBoundingClientRect()[t])}function approximatelyEqual(e,t){return Math.abs(e-t)<1.01}function useScrollTop(e,t,n,o=noop$1,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=>{const o=n.target,r=o===window||o===document,i=a?r?window.pageXOffset||document.documentElement.scrollLeft:o.scrollLeft:r?window.pageYOffset||document.documentElement.scrollTop:o.scrollTop,c=a?r?document.documentElement.scrollWidth:o.scrollWidth:r?document.documentElement.scrollHeight:o.scrollHeight,u=a?r?window.innerWidth:o.offsetWidth:r?window.innerHeight:o.offsetHeight,d=()=>{e({scrollTop:Math.max(i,0),scrollHeight:c,viewportHeight:u})};n.suppressFlushSync?d():ReactDOM__default.default.flushSync(d),null!==s.current&&(i===s.current||i<=0||i===c-u)&&(s.current=null,t(!0),l.current&&(clearTimeout(l.current),l.current=null))}),[e,t]);return React__default.default.useEffect((()=>{const e=r||i.current;return o(r||i.current),c({target:e,suppressFlushSync:!0}),e.addEventListener("scroll",c,{passive:!0}),()=>{o(null),e.removeEventListener("scroll",c)}}),[i,c,n,o,r]),{scrollerRef:i,scrollByCallback:function(e){a&&(e={left:e.top,behavior:e.behavior}),i.current.scrollBy(e)},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,u,d;o===window?(u=Math.max(correctItemSize(document.documentElement,a?"width":"height"),a?document.documentElement.scrollWidth:document.documentElement.scrollHeight),c=a?window.innerWidth:window.innerHeight,d=a?document.documentElement.scrollLeft:document.documentElement.scrollTop):(u=o[a?"scrollWidth":"scrollHeight"],c=correctItemSize(o,a?"width":"height"),d=o[a?"scrollLeft":"scrollTop"]);const p=u-c;if(n.top=Math.ceil(Math.max(Math.min(p,n.top),0)),approximatelyEqual(c,u)||n.top===d)return e({scrollTop:d,scrollHeight: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={left:n.top,behavior:n.behavior}),o.scrollTo(n)}}}const domIOSystem=system((()=>{const e=stream(),t=stream(),n=statefulStream(0),o=stream(),r=statefulStream(0),a=stream(),i=stream(),s=statefulStream(0),l=statefulStream(0),c=statefulStream(0),u=statefulStream(0),d=stream(),p=stream(),f=statefulStream(!1),m=statefulStream(!1),h=statefulStream(!1);return connect(pipe(e,map((({scrollTop:e})=>e))),t),connect(pipe(e,map((({scrollHeight:e})=>e))),i),connect(t,r),{scrollContainerState:e,scrollTop:t,viewportHeight:a,headerHeight:s,fixedHeaderHeight:l,fixedFooterHeight:c,footerHeight:u,scrollHeight:i,smoothScrollTargetReached:o,horizontalDirection:m,skipAnimationFrameInResizeObserver:h,scrollTo:d,scrollBy:p,statefulScrollTop:r,deviation:n,scrollingInProgress:f}}),[],{singleton:!0}),NIL_NODE={lvl:0};function newAANode(e,t,n,o=NIL_NODE,r=NIL_NODE){return{k:e,v:t,lvl:n,l:o,r:r}}function empty(e){return e===NIL_NODE}function newTree(){return NIL_NODE}function remove(e,t){if(empty(e))return NIL_NODE;const{k:n,l:o,r:r}=e;if(t===n){if(empty(o))return r;if(empty(r))return o;{const[t,n]=last(o);return adjust(clone(e,{k:t,v:n,l:deleteLast(o)}))}}return adjust(clone(e,t<n?{l:remove(o,t)}:{r:remove(r,t)}))}function find(e,t){if(!empty(e))return t===e.k?e.v:t<e.k?find(e.l,t):find(e.r,t)}function findMaxKeyValue(e,t,n="k"){if(empty(e))return[-1/0,void 0];if(Number(e[n])===t)return[e.k,e.v];if(Number(e[n])<t){const o=findMaxKeyValue(e.r,t,n);return o[0]===-1/0?[e.k,e.v]:o}return findMaxKeyValue(e.l,t,n)}function insert(e,t,n){return empty(e)?newAANode(t,n,1):t===e.k?clone(e,{k:t,v:n}):t<e.k?rebalance(clone(e,{l:insert(e.l,t,n)})):rebalance(clone(e,{r:insert(e.r,t,n)}))}function walkWithin(e,t,n){if(empty(e))return[];const{k:o,v:r,l:a,r:i}=e;let s=[];return o>t&&(s=s.concat(walkWithin(a,t,n))),o>=t&&o<=n&&s.push({k:o,v:r}),o<=n&&(s=s.concat(walkWithin(i,t,n))),s}function walk(e){return empty(e)?[]:[...walk(e.l),{k:e.k,v:e.v},...walk(e.r)]}function last(e){return empty(e.r)?[e.k,e.v]:last(e.r)}function deleteLast(e){return empty(e.r)?e.l:adjust(clone(e,{r:deleteLast(e.r)}))}function clone(e,t){return newAANode(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 isSingle(e){return empty(e)||e.lvl>e.r.lvl}function rebalance(e){return split(skew(e))}function adjust(e){const{l:t,r:n,lvl:o}=e;if(n.lvl>=o-1&&t.lvl>=o-1)return e;if(o>n.lvl+1){if(isSingle(t))return skew(clone(e,{lvl:o-1}));if(empty(t)||empty(t.r))throw new Error("Unexpected empty nodes");return clone(t.r,{l:clone(t,{r:t.r.l}),r:clone(e,{l:t.r.r,lvl:o-1}),lvl:o})}if(isSingle(e))return split(clone(e,{lvl:o-1}));if(empty(n)||empty(n.l))throw new Error("Unexpected empty nodes");{const t=n.l,r=isSingle(t)?n.lvl-1:n.lvl;return clone(t,{l:clone(e,{r:t.l,lvl:o-1}),r:split(clone(n,{l:t.r,lvl:r})),lvl:t.lvl+1})}}function rangesWithin(e,t,n){if(empty(e))return[];return toRanges(walkWithin(e,findMaxKeyValue(e,t)[0],n))}function arrayToRanges(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({start:o,end:n-1,value:r}),o=n,r=s}return a.push({start:o,end:1/0,value:r}),a}function toRanges(e){return arrayToRanges(e,(({k:e,v:t})=>({index:e,value:t})))}function split(e){const{r:t,lvl:n}=e;return empty(t)||empty(t.r)||t.lvl!==n||t.r.lvl!==n?e:clone(t,{l:clone(e,{r:t.l}),lvl:n+1})}function skew(e){const{l:t}=e;return empty(t)||t.lvl!==e.lvl?e:clone(t,{r:clone(e,{l:t.r})})}function findIndexOfClosestSmallerOrEqual(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 findClosestSmallerOrEqual(e,t,n){return e[findIndexOfClosestSmallerOrEqual(e,t,n)]}function findRange(e,t,n,o){const r=findIndexOfClosestSmallerOrEqual(e,t,o),a=findIndexOfClosestSmallerOrEqual(e,n,o,r);return e.slice(r,a+1)}const recalcSystem=system((()=>({recalcInProgress:statefulStream(!1)})),[],{singleton:!0});function rangeIncludes(e){const{size:t,startIndex:n,endIndex:o}=e;return e=>e.start===n&&(e.end===o||e.end===1/0)&&e.value===t}function affectedGroupCount(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 insertRanges(e,t){let n=empty(e)?0:1/0;for(const o of t){const{size:t,startIndex:r,endIndex:a}=o;if(n=Math.min(n,r),empty(e)){e=insert(e,0,t);continue}const i=rangesWithin(e,r-1,a+1);if(i.some(rangeIncludes(o)))continue;let s=!1,l=!1;for(const{start:n,end:o,value:r}of i)s?(a>=n||t===r)&&(e=remove(e,n)):(l=r!==t,s=!0),o>a&&a>=n&&r!==t&&(e=insert(e,a+1,r));l&&(e=insert(e,r,t))}return[e,n]}function initialSizeState(){return{offsetTree:[],sizeTree:newTree(),groupOffsetTree:newTree(),lastIndex:0,lastOffset:0,lastSize:0,groupIndices:[]}}function indexComparator({index:e},t){return t===e?0:t<e?-1:1}function offsetComparator({offset:e},t){return t===e?0:t<e?-1:1}function offsetPointParser(e){return{index:e.index,value:e}}function rangesWithinOffsets(e,t,n,o=0){return o>0&&(t=Math.max(t,findClosestSmallerOrEqual(e,o,indexComparator).offset)),arrayToRanges(findRange(e,t,n,offsetComparator),offsetPointParser)}function createOffsetTree(e,t,n,o){let r=e,a=0,i=0,s=0,l=0;if(0!==t){l=findIndexOfClosestSmallerOrEqual(r,t-1,indexComparator);s=r[l].offset;const e=findMaxKeyValue(n,t-1);a=e[0],i=e[1],r.length&&r[l].size===findMaxKeyValue(n,t)[1]&&(l-=1),r=r.slice(0,l+1)}else r=[];for(const{start:e,value:l}of rangesWithin(n,t,1/0)){const t=e-a,n=t*i+s+t*o;r.push({offset:n,size:l,index:e}),a=e,s=n,i=l}return{offsetTree:r,lastIndex:a,lastOffset:s,lastSize:i}}function sizeStateReducer(e,[t,n,o,r]){t.length>0&&o("received item sizes",t,LogLevel.DEBUG);const a=e.sizeTree;let i=a,s=0;if(n.length>0&&empty(a)&&2===t.length){const e=t[0].size,o=t[1].size;i=n.reduce(((t,n)=>insert(insert(t,n,e),n+1,o)),i)}else[i,s]=insertRanges(i,t);if(i===a)return e;const{offsetTree:l,lastIndex:c,lastSize:u,lastOffset:d}=createOffsetTree(e.offsetTree,s,i,r);return{sizeTree:i,offsetTree:l,lastIndex:c,lastOffset:d,lastSize:u,groupOffsetTree:n.reduce(((e,t)=>insert(e,t,offsetOf(t,l,r))),newTree()),groupIndices:n}}function offsetOf(e,t,n){if(0===t.length)return 0;const{offset:o,index:r,size:a}=findClosestSmallerOrEqual(t,e,indexComparator),i=e-r,s=a*i+(i-1)*n+o;return s>0?s+n:s}function isGroupLocation(e){return void 0!==e.groupIndex}function originalIndexFromLocation(e,t,n){if(isGroupLocation(e))return t.groupIndices[e.groupIndex]+1;{let o=originalIndexFromItemIndex("LAST"===e.index?n:e.index,t);return o=Math.max(0,o,Math.min(n,o)),o}}function originalIndexFromItemIndex(e,t){if(!hasGroups(t))return e;let n=0;for(;t.groupIndices[n]<=e+n;)n++;return e+n}function hasGroups(e){return!empty(e.groupOffsetTree)}function sizeTreeToRanges(e){return walk(e).map((({k:e,v:t},n,o)=>{const r=o[n+1];return{startIndex:e,endIndex:r?r.k-1:1/0,size:t}}))}const SIZE_MAP={offsetHeight:"height",offsetWidth:"width"},sizeSystem=system((([{log:e},{recalcInProgress:t}])=>{const n=stream(),o=stream(),r=statefulStreamFromEmitter(o,0),a=stream(),i=stream(),s=statefulStream(0),l=statefulStream([]),c=statefulStream(void 0),u=statefulStream(void 0),d=statefulStream(((e,t)=>correctItemSize(e,SIZE_MAP[t]))),p=statefulStream(void 0),f=statefulStream(0),m=initialSizeState(),h=statefulStreamFromEmitter(pipe(n,withLatestFrom(l,e,f),scan(sizeStateReducer,m),distinctUntilChanged()),m),_=statefulStreamFromEmitter(pipe(l,distinctUntilChanged(),scan(((e,t)=>({prev:e.current,current:t})),{prev:[],current:[]}),map((({prev:e})=>e))),[]);connect(pipe(l,filter((e=>e.length>0)),withLatestFrom(h,f),map((([e,t,n])=>{const o=e.reduce(((e,o,r)=>insert(e,o,offsetOf(o,t.offsetTree,n)||r)),newTree());return{...t,groupIndices:e,groupOffsetTree:o}}))),h),connect(pipe(o,withLatestFrom(h),filter((([e,{lastIndex:t}])=>e<t)),map((([e,{lastIndex:t,lastSize:n}])=>[{startIndex:e,endIndex:t,size:n}]))),n),connect(c,u);const g=statefulStreamFromEmitter(pipe(c,map((e=>void 0===e))),!0);connect(pipe(u,filter((e=>void 0!==e&&empty(getValue(h).sizeTree))),map((e=>[{startIndex:0,endIndex:0,size:e}]))),n);const v=streamFromEmitter(pipe(n,withLatestFrom(h),scan((({sizes:e},[t,n])=>({changed:n!==e,sizes:n})),{changed:!1,sizes:m}),map((e=>e.changed))));subscribe(pipe(s,scan(((e,t)=>({diff:e.prev-t,prev:t})),{diff:0,prev:0}),map((e=>e.diff))),(e=>{const{groupIndices:n}=getValue(h);if(e>0)publish(t,!0),publish(a,e+affectedGroupCount(e,n));else if(e<0){const t=getValue(_);t.length>0&&(e-=affectedGroupCount(-e,t)),publish(i,e)}})),subscribe(pipe(s,withLatestFrom(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},LogLevel.ERROR)}));const b=streamFromEmitter(a);connect(pipe(a,withLatestFrom(h),map((([e,t])=>{const n=t.groupIndices.length>0,o=[],r=t.lastSize;if(n){const n=find(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({startIndex:e,endIndex:e,size:n}),o.push({startIndex:e+1,endIndex:e+1+s-1,size:r}),i++,a+=s+1}const s=walk(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,{startIndex:t.prevIndex,endIndex:n+e-1,size:t.prevSize}]),{ranges:r,prevIndex:n+e,prevSize:o}}),{ranges:o,prevIndex:e,prevSize:0}).ranges}return walk(t.sizeTree).reduce(((t,{k:n,v:o})=>({ranges:[...t.ranges,{startIndex:t.prevIndex,endIndex:n+e-1,size:t.prevSize}],prevIndex:n+e,prevSize:o})),{ranges:[],prevIndex:0,prevSize:r}).ranges}))),n);const y=streamFromEmitter(pipe(i,withLatestFrom(h,f),map((([e,{offsetTree:t},n])=>offsetOf(-e,t,n)))));return connect(pipe(i,withLatestFrom(h,f),map((([e,t,n])=>{if(t.groupIndices.length>0){if(empty(t.sizeTree))return t;let o=newTree();const r=getValue(_);let a=0,i=0,s=0;for(;a<-e;){s=r[i];const e=r[i+1]-s-1;i++,a+=e+1}o=walk(t.sizeTree).reduce(((t,{k:n,v:o})=>insert(t,Math.max(0,n+e),o)),o);if(a!==-e){o=insert(o,0,find(t.sizeTree,s));o=insert(o,1,findMaxKeyValue(t.sizeTree,1-e)[1])}return{...t,sizeTree:o,...createOffsetTree(t.offsetTree,0,o,n)}}{const o=walk(t.sizeTree).reduce(((t,{k:n,v:o})=>insert(t,Math.max(0,n+e),o)),newTree());return{...t,sizeTree:o,...createOffsetTree(t.offsetTree,0,o,n)}}}))),h),{data:p,totalCount:o,sizeRanges:n,groupIndices:l,defaultItemSize:u,fixedItemSize:c,unshiftWith:a,shiftWith:i,shiftWithOffset:y,beforeUnshiftWith:b,firstItemIndex:s,gap:f,sizes:h,listRefresh:v,statefulTotalCount:r,trackItemSizes:g,itemSize:d}}),tup(loggerSystem,recalcSystem),{singleton:!0}),SUPPORTS_SCROLL_TO_OPTIONS="undefined"!=typeof document&&"scrollBehavior"in document.documentElement.style;function normalizeIndexLocation(e){const t="number"==typeof e?{index:e}:e;return t.align||(t.align="start"),t.behavior&&SUPPORTS_SCROLL_TO_OPTIONS||(t.behavior="auto"),t.offset||(t.offset=0),t}const scrollToIndexSystem=system((([{sizes:e,totalCount:t,listRefresh:n,gap:o},{scrollingInProgress:r,viewportHeight:a,scrollTo:i,smoothScrollTargetReached:s,headerHeight:l,footerHeight:c,fixedHeaderHeight:u,fixedFooterHeight:d},{log:p}])=>{const f=stream(),m=stream(),h=statefulStream(0);let _=null,g=null,v=null;function b(){_&&(_(),_=null),v&&(v(),v=null),g&&(clearTimeout(g),g=null),publish(r,!1)}return connect(pipe(f,withLatestFrom(e,a,t,h,l,c,p),withLatestFrom(o,u,d),map((([[e,t,o,a,i,l,c,u],d,p,h])=>{const y=normalizeIndexLocation(e),{align:E,behavior:w,offset:C}=y,x=a-1,R=originalIndexFromLocation(y,t,x);let S=offsetOf(R,t.offsetTree,d)+l;"end"===E?(S+=p+findMaxKeyValue(t.sizeTree,R)[1]-o+h,R===x&&(S+=c)):"center"===E?S+=(p+findMaxKeyValue(t.sizeTree,R)[1]-o+h)/2:S-=i,C&&(S+=C);const D=t=>{b(),t?(u("retrying to scroll to",{location:e},LogLevel.DEBUG),publish(f,e)):(publish(m,!0),u("list did not change, scroll successful",{},LogLevel.DEBUG))};if(b(),"smooth"===w){let e=!1;v=subscribe(n,(t=>{e=e||t})),_=handleNext(s,(()=>{D(e)}))}else _=handleNext(pipe(n,watchChangesFor(150)),D);return g=setTimeout((()=>{b()}),1200),publish(r,!0),u("scrolling from index to",{index:R,top:S,behavior:w},LogLevel.DEBUG),{top:S,behavior:w}}))),i),{scrollToIndex:f,scrollTargetReached:m,topListHeight:h}}),tup(sizeSystem,domIOSystem,loggerSystem),{singleton:!0});function watchChangesFor(e){return t=>{const n=setTimeout((()=>{t(!1)}),e);return e=>{e&&(t(!0),clearTimeout(n))}}}const UP="up",DOWN="down",NONE$1="none",INITIAL_BOTTOM_STATE={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},DEFAULT_AT_TOP_THRESHOLD=0,stateFlagsSystem=system((([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:o,footerHeight:r,scrollBy:a}])=>{const i=statefulStream(!1),s=statefulStream(!0),l=stream(),c=stream(),u=statefulStream(4),d=statefulStream(DEFAULT_AT_TOP_THRESHOLD),p=statefulStreamFromEmitter(pipe(merge(pipe(duc(t),skip(1),mapTo(!0)),pipe(duc(t),skip(1),mapTo(!1),debounceTime(100))),distinctUntilChanged()),!1),f=statefulStreamFromEmitter(pipe(merge(pipe(a,mapTo(!0)),pipe(a,mapTo(!1),debounceTime(200))),distinctUntilChanged()),!1);connect(pipe(combineLatest(duc(t),duc(d)),map((([e,t])=>e<=t)),distinctUntilChanged()),s),connect(pipe(s,throttleTime(50)),c);const m=streamFromEmitter(pipe(combineLatest(e,duc(n),duc(o),duc(r),duc(u)),scan(((e,[{scrollTop:t,scrollHeight:n},o,r,a,i])=>{const s={viewportHeight:o,scrollTop:t,scrollHeight:n};if(t+o-n>-i){let n,o;return t>e.state.scrollTop?(n="SCROLLED_DOWN",o=e.state.scrollTop-t):(n="SIZE_DECREASED",o=e.state.scrollTop-t||e.scrollTopDelta),{atBottom:!0,state:s,atBottomBecause:n,scrollTopDelta:o}}let l;return l=s.scrollHeight>e.state.scrollHeight?"SIZE_INCREASED":o<e.state.viewportHeight?"VIEWPORT_HEIGHT_DECREASING":t<e.state.scrollTop?"SCROLLING_UPWARDS":"NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:l,state:s}}),INITIAL_BOTTOM_STATE),distinctUntilChanged(((e,t)=>e&&e.atBottom===t.atBottom)))),h=statefulStreamFromEmitter(pipe(e,scan(((e,{scrollTop:t,scrollHeight:n,viewportHeight:o})=>{if(approximatelyEqual(e.scrollHeight,n))return{scrollTop:t,scrollHeight:n,jump:0,changed:!1};{const r=n-(t+o)<1;return e.scrollTop!==t&&r?{scrollHeight:n,scrollTop:t,jump:e.scrollTop-t,changed:!0}:{scrollHeight:n,scrollTop:t,jump:0,changed:!0}}}),{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),filter((e=>e.changed)),map((e=>e.jump))),0);connect(pipe(m,map((e=>e.atBottom))),i),connect(pipe(i,throttleTime(50)),l);const _=statefulStream(DOWN);connect(pipe(e,map((({scrollTop:e})=>e)),distinctUntilChanged(),scan(((e,t)=>getValue(f)?{direction:e.direction,prevScrollTop:t}:{direction:t<e.prevScrollTop?UP:DOWN,prevScrollTop:t}),{direction:DOWN,prevScrollTop:0}),map((e=>e.direction))),_),connect(pipe(e,throttleTime(50),mapTo(NONE$1)),_);const g=statefulStream(0);return connect(pipe(p,filter((e=>!e)),mapTo(0)),g),connect(pipe(t,throttleTime(100),withLatestFrom(p),filter((([e,t])=>!!t)),scan((([e,t],[n])=>[t,n]),[0,0]),map((([e,t])=>t-e))),g),{isScrolling:p,isAtTop:s,isAtBottom:i,atBottomState:m,atTopStateChange:c,atBottomStateChange:l,scrollDirection:_,atBottomThreshold:u,atTopThreshold:d,scrollVelocity:g,lastJumpDueToItemResize:h}}),tup(domIOSystem)),propsReadySystem=system((([{log:e}])=>{const t=statefulStream(!1),n=streamFromEmitter(pipe(t,filter((e=>e)),distinctUntilChanged()));return subscribe(t,(t=>{t&&getValue(e)("props updated",{},LogLevel.DEBUG)})),{propsReady:t,didMount:n}}),tup(loggerSystem),{singleton:!0});function skipFrames(e,t){0==e?t():requestAnimationFrame((()=>skipFrames(e-1,t)))}function getInitialTopMostItemIndexNumber(e,t){const n=t-1;return"number"==typeof e?e:"LAST"===e.index?n:e.index}const initialTopMostItemIndexSystem=system((([{sizes:e,listRefresh:t,defaultItemSize:n},{scrollTop:o},{scrollToIndex:r,scrollTargetReached:a},{didMount:i}])=>{const s=statefulStream(!0),l=statefulStream(0),c=statefulStream(!0);return connect(pipe(i,withLatestFrom(l),filter((([e,t])=>!!t)),mapTo(!1)),s),connect(pipe(i,withLatestFrom(l),filter((([e,t])=>!!t)),mapTo(!1)),c),subscribe(pipe(combineLatest(t,i),withLatestFrom(s,e,n,c),filter((([[,e],t,{sizeTree:n},o,r])=>e&&(!empty(n)||isDefined(o))&&!t&&!r)),withLatestFrom(l)),(([,e])=>{handleNext(a,(()=>{publish(c,!0)})),skipFrames(4,(()=>{handleNext(o,(()=>{publish(s,!0)})),publish(r,e)}))})),{scrolledToInitialItem:s,initialTopMostItemIndex:l,initialItemFinalLocationReached:c}}),tup(sizeSystem,domIOSystem,scrollToIndexSystem,propsReadySystem),{singleton:!0});function normalizeFollowOutput(e){return!!e&&("smooth"===e?"smooth":"auto")}const behaviorFromFollowOutput=(e,t)=>"function"==typeof e?normalizeFollowOutput(e(t)):t&&normalizeFollowOutput(e),followOutputSystem=system((([{totalCount:e,listRefresh:t},{isAtBottom:n,atBottomState:o},{scrollToIndex:r},{scrolledToInitialItem:a},{propsReady:i,didMount:s},{log:l},{scrollingInProgress:c}])=>{const u=statefulStream(!1),d=stream();let p=null;function f(e){publish(r,{index:"LAST",align:"end",behavior:e})}function m(e){const t=handleNext(o,(t=>{!e||t.atBottom||"SIZE_INCREASED"!==t.notAtBottomBecause||p||(getValue(l)("scrolling to bottom due to increased size",{},LogLevel.DEBUG),f("auto"))}));setTimeout(t,100)}return subscribe(pipe(combineLatest(pipe(duc(e),skip(1)),s),withLatestFrom(duc(u),n,a,c),map((([[e,t],n,o,r,a])=>{let i=t&&r,s="auto";return i&&(s=behaviorFromFollowOutput(n,o||a),i=i&&!!s),{totalCount:e,shouldFollow:i,followOutputBehavior:s}})),filter((({shouldFollow:e})=>e))),(({totalCount:e,followOutputBehavior:n})=>{p&&(p(),p=null),p=handleNext(t,(()=>{getValue(l)("following output to ",{totalCount:e},LogLevel.DEBUG),f(n),p=null}))})),subscribe(pipe(combineLatest(duc(u),e,i),filter((([e,,t])=>e&&t)),scan((({value:e},[,t])=>({refreshed:e===t,value:t})),{refreshed:!1,value:0}),filter((({refreshed:e})=>e)),withLatestFrom(u,e)),(([,e])=>{getValue(a)&&m(!1!==e)})),subscribe(d,(()=>{m(!1!==getValue(u))})),subscribe(combineLatest(duc(u),o),(([e,t])=>{e&&!t.atBottom&&"VIEWPORT_HEIGHT_DECREASING"===t.notAtBottomBecause&&f("auto")})),{followOutput:u,autoscrollToBottom:d}}),tup(sizeSystem,stateFlagsSystem,scrollToIndexSystem,initialTopMostItemIndexSystem,propsReadySystem,loggerSystem,domIOSystem));function groupCountsToIndicesAndCount(e){return e.reduce(((e,t)=>(e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e)),{totalCount:0,groupIndices:[]})}const groupedListSystem=system((([{totalCount:e,groupIndices:t,sizes:n},{scrollTop:o,headerHeight:r}])=>{const a=stream(),i=stream(),s=streamFromEmitter(pipe(a,map(groupCountsToIndicesAndCount)));return connect(pipe(s,map((e=>e.totalCount))),e),connect(pipe(s,map((e=>e.groupIndices))),t),connect(pipe(combineLatest(o,n,r),filter((([e,t])=>hasGroups(t))),map((([e,t,n])=>findMaxKeyValue(t.groupOffsetTree,Math.max(e-n,0),"v")[0])),distinctUntilChanged(),map((e=>[e]))),i),{groupCounts:a,topItemsIndexes:i}}),tup(sizeSystem,domIOSystem));function tupleComparator(e,t){return!(!e||e[0]!==t[0]||e[1]!==t[1])}function rangeComparator(e,t){return!(!e||e.startIndex!==t.startIndex||e.endIndex!==t.endIndex)}const TOP="top",BOTTOM="bottom",NONE="none";function getOverscan(e,t,n){return"number"==typeof e?n===UP&&t===TOP||n===DOWN&&t===BOTTOM?e:0:n===UP?t===TOP?e.main:e.reverse:t===BOTTOM?e.main:e.reverse}function getViewportIncrease(e,t){return"number"==typeof e?e:e[t]||0}const sizeRangeSystem=system((([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:o,fixedHeaderHeight:r}])=>{const a=stream(),i=statefulStream(0),s=statefulStream(0),l=statefulStream(0),c=statefulStreamFromEmitter(pipe(combineLatest(duc(e),duc(t),duc(o),duc(a,tupleComparator),duc(l),duc(i),duc(r),duc(n),duc(s)),map((([e,t,n,[o,r],a,i,s,l,c])=>{const u=e-l,d=i+s,p=Math.max(n-u,0);let f=NONE;const m=getViewportIncrease(c,TOP),h=getViewportIncrease(c,BOTTOM);return o-=l,r+=n+s,(o+=n+s)>e+d-m&&(f=UP),(r-=l)<e-p+t+h&&(f=DOWN),f!==NONE?[Math.max(u-n-getOverscan(a,TOP,f)-m,0),u-p-s+t+getOverscan(a,BOTTOM,f)+h]:null})),filter((e=>null!=e)),distinctUntilChanged(tupleComparator)),[0,0]);return{listBoundary:a,overscan:l,topListHeight:i,increaseViewportBy:s,visibleRange:c}}),tup(domIOSystem),{singleton:!0});function probeItemSet(e,t,n){if(hasGroups(t)){const o=originalIndexFromItemIndex(e,t);return[{index:findMaxKeyValue(t.groupOffsetTree,o)[0],size:0,offset:0},{index:o,size:0,offset:0,data:n&&n[0]}]}return[{index:e,size:0,offset:0,data:n&&n[0]}]}const EMPTY_LIST_STATE={items:[],topItems:[],offsetTop:0,offsetBottom:0,top:0,bottom:0,topListHeight:0,totalCount:0,firstItemIndex:0};function transposeItems(e,t,n){if(0===e.length)return[];if(!hasGroups(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=rangesWithin(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?{type:"group",index:l}:{index:o.index-(l+1)+n,groupIndex:l},a.push({...e,size:o.size,offset:o.offset,originalIndex:o.index,data:o.data})}return a}function buildListState(e,t,n,o,r,a){const{lastSize:i,lastOffset:s,lastIndex:l}=r;let c=0,u=0;if(e.length>0){c=e[0].offset;const t=e[e.length-1];u=t.offset+t.size}const d=n-l,p=c,f=s+d*i+(d-1)*o-u;return{items:transposeItems(e,r,a),topItems:transposeItems(t,r,a),topListHeight:t.reduce(((e,t)=>t.size+e),0),offsetTop:c,offsetBottom:f,top:p,bottom:u,totalCount:n,firstItemIndex:a}}function buildListStateFromItemCount(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=getInitialTopMostItemIndexNumber(t,s),c=Array.from({length:s}).map(((e,t)=>({index:t+l,size:0,offset:0,data:a[t+l]})));return buildListState(c,[],s,r,n,o)}const listStateSystem=system((([{sizes:e,totalCount:t,data:n,firstItemIndex:o,gap:r},a,{visibleRange:i,listBoundary:s,topListHeight:l},{scrolledToInitialItem:c,initialTopMostItemIndex:u},{topListHeight:d},p,{didMount:f},{recalcInProgress:m}])=>{const h=statefulStream([]),_=statefulStream(0),g=stream();connect(a.topItemsIndexes,h);const v=statefulStreamFromEmitter(pipe(combineLatest(f,m,duc(i,tupleComparator),duc(t),duc(e),duc(u),c,duc(h),duc(o),duc(r),n),filter((([e,t,,n,,,,,,,o])=>{const r=o&&o.length!==n;return e&&!t&&!r})),map((([,,[e,t],n,o,r,a,i,s,l,c])=>{const u=o,{sizeTree:d,offsetTree:p}=u,f=getValue(_);if(0===n)return{...EMPTY_LIST_STATE,totalCount:n};if(0===e&&0===t)return 0===f?{...EMPTY_LIST_STATE,totalCount:n}:buildListStateFromItemCount(f,r,o,s,l,c||[]);if(empty(d)){if(f>0)return null;return buildListState(probeItemSet(getInitialTopMostItemIndexNumber(r,n),u,c),[],n,l,u,s)}const m=[];if(i.length>0){const e=i[0],t=i[i.length-1];let n=0;for(const o of rangesWithin(d,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++)m.push({index:e,size:r,offset:n,data:c&&c[e]}),n+=r}}if(!a)return buildListState([],m,n,l,u,s);const h=i.length>0?i[i.length-1]+1:0,g=rangesWithinOffsets(p,e,t,h);if(0===g.length)return null;const v=n-1,b=tap([],(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<h&&(a+=(h-i)*s,i=h);const u=Math.min(o.end,v);for(let e=i;e<=u&&!(a>=t);e++)n.push({index:e,size:s,offset:a,data:c&&c[e]}),a+=s+l}}));return buildListState(b,m,n,l,u,s)})),filter((e=>null!==e)),distinctUntilChanged()),EMPTY_LIST_STATE);connect(pipe(n,filter(isDefined),map((e=>null==e?void 0:e.length))),t),connect(pipe(v,map((e=>e.topListHeight))),d),connect(d,l),connect(pipe(v,map((e=>[e.top,e.bottom]))),s),connect(pipe(v,map((e=>e.items))),g);const b=streamFromEmitter(pipe(v,filter((({items:e})=>e.length>0)),withLatestFrom(t,n),filter((([{items:e},t])=>e[e.length-1].originalIndex===t-1)),map((([,e,t])=>[e-1,t])),distinctUntilChanged(tupleComparator),map((([e])=>e))));return{listState:v,topItemsIndexes:h,endReached:b,startReached:streamFromEmitter(pipe(v,throttleTime(200),filter((({items:e,topItems:t})=>e.length>0&&e[0].originalIndex===t.length)),map((({items:e})=>e[0].index)),distinctUntilChanged())),rangeChanged:streamFromEmitter(pipe(v,filter((({items:e})=>e.length>0)),map((({items:e})=>{let t=0,n=e.length-1;for(;"group"===e[t].type&&t<n;)t++;for(;"group"===e[n].type&&n>t;)n--;return{startIndex:e[t].index,endIndex:e[n].index}})),distinctUntilChanged(rangeComparator))),itemsRendered:g,initialItemCount:_,...p}}),tup(sizeSystem,groupedListSystem,sizeRangeSystem,initialTopMostItemIndexSystem,scrollToIndexSystem,stateFlagsSystem,propsReadySystem,recalcSystem),{singleton:!0}),initialItemCountSystem=system((([{sizes:e,firstItemIndex:t,data:n,gap:o},{initialTopMostItemIndex:r},{initialItemCount:a,listState:i},{didMount:s}])=>(connect(pipe(s,withLatestFrom(a),filter((([,e])=>0!==e)),withLatestFrom(r,e,t,o,n),map((([[,e],t,n,o,r,a=[]])=>buildListStateFromItemCount(e,t,n,o,r,a)))),i),{})),tup(sizeSystem,initialTopMostItemIndexSystem,listStateSystem,propsReadySystem),{singleton:!0}),scrollSeekSystem=system((([{scrollVelocity:e}])=>{const t=statefulStream(!1),n=stream(),o=statefulStream(!1);return connect(pipe(e,withLatestFrom(o,t,n),filter((([e,t])=>!!t)),map((([e,t,n,o])=>{const{exit:r,enter:a}=t;if(n){if(r(e,o))return!1}else if(a(e,o))return!0;return n})),distinctUntilChanged()),t),subscribe(pipe(combineLatest(t,e,n),withLatestFrom(o)),(([[e,t,n],o])=>e&&o&&o.change&&o.change(t,n))),{isSeeking:t,scrollSeekConfiguration:o,scrollVelocity:e,scrollSeekRangeChanged:n}}),tup(stateFlagsSystem),{singleton:!0}),topItemCountSystem=system((([{topItemsIndexes:e}])=>{const t=statefulStream(0);return connect(pipe(t,filter((e=>e>=0)),map((e=>Array.from({length:e}).map(((e,t)=>t))))),e),{topItemCount:t}}),tup(listStateSystem)),totalListHeightSystem=system((([{footerHeight:e,headerHeight:t,fixedHeaderHeight:n,fixedFooterHeight:o},{listState:r}])=>{const a=stream(),i=statefulStreamFromEmitter(pipe(combineLatest(e,o,t,n,r),map((([e,t,n,o,r])=>e+t+n+o+r.offsetBottom+r.bottom))),0);return connect(duc(i),a),{totalListHeight:i,totalListHeightChanged:a}}),tup(domIOSystem,listStateSystem),{singleton:!0});function simpleMemoize(e){let t,n=!1;return()=>(n||(n=!0,t=e()),t)}const isMobileSafari=simpleMemoize((()=>/iP(ad|od|hone)/i.test(navigator.userAgent)&&/WebKit/i.test(navigator.userAgent))),upwardScrollFixSystem=system((([{scrollBy:e,scrollTop:t,deviation:n,scrollingInProgress:o},{isScrolling:r,isAtBottom:a,scrollDirection:i,lastJumpDueToItemResize:s},{listState:l},{beforeUnshiftWith:c,shiftWithOffset:u,sizes:d,gap:p},{log:f},{recalcInProgress:m}])=>{const h=streamFromEmitter(pipe(l,withLatestFrom(s),scan((([,e,t,n],[{items:o,totalCount:r,bottom:a,offsetBottom:i},s])=>{const l=a+i;let c=0;if(t===r&&e.length>0&&o.length>0){0===o[0].originalIndex&&0===e[0].originalIndex||(c=l-n,0!==c&&(c+=s))}return[c,o,r,l]}),[0,[],0,0]),filter((([e])=>0!==e)),withLatestFrom(t,i,o,a,f,m),filter((([,e,t,n,,,o])=>!o&&!n&&0!==e&&t===UP)),map((([[e],,,,,t])=>(t("Upward scrolling compensation",{amount:e},LogLevel.DEBUG),e)))));function _(t){t>0?(publish(e,{top:-t,behavior:"auto"}),publish(n,0)):(publish(n,0),publish(e,{top:-t,behavior:"auto"}))}return subscribe(pipe(h,withLatestFrom(n,r)),(([e,t,o])=>{o&&isMobileSafari()?publish(n,t-e):_(-e)})),subscribe(pipe(combineLatest(statefulStreamFromEmitter(r,!1),n,m),filter((([e,t,n])=>!e&&!n&&0!==t)),map((([e,t])=>t)),throttleTime(1)),_),connect(pipe(u,map((e=>({top:-e})))),e),subscribe(pipe(c,withLatestFrom(d,p),map((([e,{lastSize:t,groupIndices:n,sizeTree:o},r])=>{function a(e){return e*(t+r)}if(0===n.length)return a(e);{let t=0;const r=find(o,0);let i=0,s=0;for(;i<e;){i++,t+=r;let o=n.length===s+1?1/0:n[s+1]-n[s]-1;i+o>e&&(t-=r,o=e-i+1),i+=o,t+=a(o),s++}return t}}))),(t=>{publish(n,t),requestAnimationFrame((()=>{publish(e,{top:t}),requestAnimationFrame((()=>{publish(n,0),publish(m,!1)}))}))})),{deviation:n}}),tup(domIOSystem,stateFlagsSystem,listStateSystem,sizeSystem,loggerSystem,recalcSystem)),initialScrollTopSystem=system((([{didMount:e},{scrollTo:t},{listState:n}])=>{const o=statefulStream(0);return subscribe(pipe(e,withLatestFrom(o),filter((([,e])=>0!==e)),map((([,e])=>({top:e})))),(e=>{handleNext(pipe(n,skip(1),filter((e=>e.items.length>1))),(()=>{requestAnimationFrame((()=>{publish(t,e)}))}))})),{initialScrollTop:o}}),tup(propsReadySystem,domIOSystem,listStateSystem),{singleton:!0}),alignToBottomSystem=system((([{viewportHeight:e},{totalListHeight:t}])=>{const n=statefulStream(!1);return{alignToBottom:n,paddingTopAddition:statefulStreamFromEmitter(pipe(combineLatest(n,e,t),filter((([e])=>e)),map((([,e,t])=>Math.max(0,e-t))),throttleTime(0),distinctUntilChanged()),0)}}),tup(domIOSystem,totalListHeightSystem),{singleton:!0}),windowScrollerSystem=system((([{scrollTo:e,scrollContainerState:t}])=>{const n=stream(),o=stream(),r=stream(),a=statefulStream(!1),i=statefulStream(void 0);return connect(pipe(combineLatest(n,o),map((([{viewportHeight:e,scrollTop:t,scrollHeight:n},{offsetTop:o}])=>({scrollTop:Math.max(0,t-o),scrollHeight:n,viewportHeight:e})))),t),connect(pipe(e,withLatestFrom(o),map((([e,{offsetTop:t}])=>({...e,top:e.top+t})))),r),{useWindowScroll:a,customScrollParent:i,windowScrollContainerState:n,windowViewportRect:o,windowScrollTo:r}}),tup(domIOSystem)),defaultCalculateViewLocation=({itemTop:e,itemBottom:t,viewportTop:n,viewportBottom:o,locationParams:{behavior:r,align:a,...i}})=>e<n?{...i,behavior:r,align:null!=a?a:"start"}:t>o?{...i,behavior:r,align:null!=a?a:"end"}:null,scrollIntoViewSystem=system((([{sizes:e,totalCount:t,gap:n},{scrollTop:o,viewportHeight:r,headerHeight:a,fixedHeaderHeight:i,fixedFooterHeight:s,scrollingInProgress:l},{scrollToIndex:c}])=>{const u=stream();return connect(pipe(u,withLatestFrom(e,r,t,a,i,s,o),withLatestFrom(n),map((([[e,t,n,o,r,a,i,s],c])=>{const{done:u,behavior:d,align:p,calculateViewLocation:f=defaultCalculateViewLocation,...m}=e,h=originalIndexFromLocation(e,t,o-1),_=offsetOf(h,t.offsetTree,c)+r+a,g=f({itemTop:_,itemBottom:_+findMaxKeyValue(t.sizeTree,h)[1],viewportTop:s+a,viewportBottom:s+n-i,locationParams:{behavior:d,align:p,...m}});return g?u&&handleNext(pipe(l,filter((e=>!1===e)),skip(getValue(l)?1:2)),u):u&&u(),g})),filter((e=>null!==e))),c),{scrollIntoView:u}}),tup(sizeSystem,domIOSystem,scrollToIndexSystem,listStateSystem,loggerSystem),{singleton:!0}),stateLoadSystem=system((([{sizes:e,sizeRanges:t},{scrollTop:n,headerHeight:o},{initialTopMostItemIndex:r},{didMount:a},{useWindowScroll:i,windowScrollContainerState:s,windowViewportRect:l}])=>{const c=stream(),u=statefulStream(void 0),d=statefulStream(null),p=statefulStream(null);return connect(s,d),connect(l,p),subscribe(pipe(c,withLatestFrom(e,n,i,d,p,o)),(([e,t,n,o,r,a,i])=>{const s=sizeTreeToRanges(t.sizeTree);o&&null!==r&&null!==a&&(n=r.scrollTop-a.offsetTop),e({ranges:s,scrollTop:n-=i})})),connect(pipe(u,filter(isDefined),map(locationFromSnapshot)),r),connect(pipe(a,withLatestFrom(u),filter((([,e])=>void 0!==e)),distinctUntilChanged(),map((([,e])=>e.ranges))),t),{getState:c,restoreStateFrom:u}}),tup(sizeSystem,domIOSystem,initialTopMostItemIndexSystem,propsReadySystem,windowScrollerSystem));function locationFromSnapshot(e){return{offset:e.scrollTop,index:0,align:"start"}}const featureGroup1System=system((([e,t,n,o,r,a,i,s,l,c])=>({...e,...t,...n,...o,...r,...a,...i,...s,...l,...c})),tup(sizeRangeSystem,initialItemCountSystem,propsReadySystem,scrollSeekSystem,totalListHeightSystem,initialScrollTopSystem,alignToBottomSystem,windowScrollerSystem,scrollIntoViewSystem,loggerSystem)),listSystem=system((([{totalCount:e,sizeRanges:t,fixedItemSize:n,defaultItemSize:o,trackItemSizes:r,itemSize:a,data:i,firstItemIndex:s,groupIndices:l,statefulTotalCount:c,gap:u,sizes:d},{initialTopMostItemIndex:p,scrolledToInitialItem:f,initialItemFinalLocationReached:m},h,_,g,{listState:v,topItemsIndexes:b,...y},{scrollToIndex:E},w,{topItemCount:C},{groupCounts:x},R])=>(connect(y.rangeChanged,R.scrollSeekRangeChanged),connect(pipe(R.windowViewportRect,map((e=>e.visibleHeight))),h.viewportHeight),{totalCount:e,data:i,firstItemIndex:s,sizeRanges:t,initialTopMostItemIndex:p,scrolledToInitialItem:f,initialItemFinalLocationReached:m,topItemsIndexes:b,topItemCount:C,groupCounts:x,fixedItemHeight:n,defaultItemHeight:o,gap:u,...g,statefulTotalCount:c,listState:v,scrollToIndex:E,trackItemSizes:r,itemSize:a,groupIndices:l,...y,...R,...h,sizes:d,..._})),tup(sizeSystem,initialTopMostItemIndexSystem,domIOSystem,stateLoadSystem,followOutputSystem,listStateSystem,scrollToIndexSystem,upwardScrollFixSystem,topItemCountSystem,groupedListSystem,featureGroup1System)),WEBKIT_STICKY="-webkit-sticky",STICKY="sticky",positionStickyCssValue=simpleMemoize((()=>{if("undefined"==typeof document)return STICKY;const e=document.createElement("div");return e.style.position=WEBKIT_STICKY,e.style.position===WEBKIT_STICKY?WEBKIT_STICKY:STICKY}));function useWindowViewportRectRef(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 i,s;if(t){const e=t.getBoundingClientRect(),n=r.top-e.top;i=e.height-Math.max(0,n),s=n+t.scrollTop}else i=window.innerHeight-Math.max(0,r.top),s=r.top+window.pageYOffset;o.current={offsetTop:s,visibleHeight:i,visibleWidth:a},e(o.current)}),[e,t]),{callbackRef:a,ref:i}=useSizeWithElRef(r,!0,n),s=React__default.default.useCallback((()=>{r(i.current)}),[r,i]);return React__default.default.useEffect((()=>{if(t){t.addEventListener("scroll",s);const e=new ResizeObserver((()=>{requestAnimationFrame(s)}));return e.observe(t),()=>{t.removeEventListener("scroll",s),e.unobserve(t)}}return window.addEventListener("scroll",s),window.addEventListener("resize",s),()=>{window.removeEventListener("scroll",s),window.removeEventListener("resize",s)}}),[s,t]),a}const VirtuosoMockContext=React__default.default.createContext(void 0),VirtuosoGridMockContext=React__default.default.createContext(void 0);function identity(e){return e}const listComponentPropsSystem=system((()=>{const e=statefulStream((e=>`Item ${e}`)),t=statefulStream(null),n=statefulStream((e=>`Group ${e}`)),o=statefulStream({}),r=statefulStream(identity),a=statefulStream("div"),i=statefulStream(noop$1),s=(e,t=null)=>statefulStreamFromEmitter(pipe(o,map((t=>t[e])),distinctUntilChanged()),t);return{context:t,itemContent:e,groupContent:n,components:o,computeItemKey:r,HeaderFooterTag:a,scrollerRef:i,FooterComponent:s("Footer"),HeaderComponent:s("Header"),TopItemListComponent:s("TopItemList"),ListComponent:s("List","div"),ItemComponent:s("Item","div"),GroupComponent:s("Group","div"),ScrollerComponent:s("Scroller","div"),EmptyPlaceholder:s("EmptyPlaceholder"),ScrollSeekPlaceholder:s("ScrollSeekPlaceholder")}})),combinedSystem$2=system((([e,t])=>({...e,...t})),tup(listSystem,listComponentPropsSystem)),DefaultScrollSeekPlaceholder$1=({height:e})=>jsxRuntime.exports.jsx("div",{style:{height:e}}),GROUP_STYLE={position:positionStickyCssValue(),zIndex:1,overflowAnchor:"none"},ITEM_STYLE$1={overflowAnchor:"none"},HORIZONTAL_ITEM_STYLE={...ITEM_STYLE$1,display:"inline-block",height:"100%"},Items$1=React__default.default.memo((function({showTopList:e=!1}){const t=useEmitterValue$2("listState"),n=usePublisher$2("sizeRanges"),o=useEmitterValue$2("useWindowScroll"),r=useEmitterValue$2("customScrollParent"),a=usePublisher$2("windowScrollContainerState"),i=usePublisher$2("scrollContainerState"),s=r||o?a:i,l=useEmitterValue$2("itemContent"),c=useEmitterValue$2("context"),u=useEmitterValue$2("groupContent"),d=useEmitterValue$2("trackItemSizes"),p=useEmitterValue$2("itemSize"),f=useEmitterValue$2("log"),m=usePublisher$2("gap"),h=useEmitterValue$2("horizontalDirection"),{callbackRef:_}=useChangedListContentsSizes(n,p,d,e?noop$1:s,f,m,r,h,useEmitterValue$2("skipAnimationFrameInResizeObserver")),[g,v]=React__default.default.useState(0);useEmitter$2("deviation",(e=>{g!==e&&v(e)}));const b=useEmitterValue$2("EmptyPlaceholder"),y=useEmitterValue$2("ScrollSeekPlaceholder")||DefaultScrollSeekPlaceholder$1,E=useEmitterValue$2("ListComponent"),w=useEmitterValue$2("ItemComponent"),C=useEmitterValue$2("GroupComponent"),x=useEmitterValue$2("computeItemKey"),R=useEmitterValue$2("isSeeking"),S=useEmitterValue$2("groupIndices").length>0,D=useEmitterValue$2("alignToBottom"),T=useEmitterValue$2("initialItemFinalLocationReached"),O=e?{}:{boxSizing:"border-box",...h?{whiteSpace:"nowrap",display:"inline-block",height:"100%",paddingLeft:t.offsetTop,paddingRight:t.offsetBottom,marginLeft:0!==g?g:D?"auto":0}:{marginTop:0!==g?g:D?"auto":0,paddingTop:t.offsetTop,paddingBottom:t.offsetBottom},...T?{}:{visibility:"hidden"}};return!e&&0===t.totalCount&&b?jsxRuntime.exports.jsx(b,{...contextPropIfNotDomElement(b,c)}):jsxRuntime.exports.jsx(E,{...contextPropIfNotDomElement(E,c),ref:_,style:O,"data-testid":e?"virtuoso-top-item-list":"virtuoso-item-list",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,{...contextPropIfNotDomElement(y,c),key:o,index:e.index,height:e.size,type:e.type||"item",..."group"===e.type?{}:{groupIndex:e.groupIndex}}):"group"===e.type?React.createElement(C,{...contextPropIfNotDomElement(C,c),key:o,"data-index":n,"data-known-size":e.size,"data-item-index":e.index,style:GROUP_STYLE},u(e.index,c)):React.createElement(w,{...contextPropIfNotDomElement(w,c),...itemPropIfNotDomElement(w,e.data),key:o,"data-index":n,"data-known-size":e.size,"data-item-index":e.index,"data-item-group-index":e.groupIndex,style:h?HORIZONTAL_ITEM_STYLE:ITEM_STYLE$1},S?l(e.index,e.groupIndex,e.data,c):l(e.index,e.data,c))}))})})),scrollerStyle={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},horizontalScrollerStyle={outline:"none",overflowX:"auto",position:"relative"},viewportStyle=e=>({width:"100%",height:"100%",position:"absolute",top:0,...e?{display:"flex",flexDirection:"column"}:{}}),topItemListStyle={width:"100%",position:positionStickyCssValue(),top:0,zIndex:1};function contextPropIfNotDomElement(e,t){if("string"!=typeof e)return{context:t}}function itemPropIfNotDomElement(e,t){return{item:"string"==typeof e?void 0:t}}const Header$1=React__default.default.memo((function(){const e=useEmitterValue$2("HeaderComponent"),t=usePublisher$2("headerHeight"),n=useEmitterValue$2("HeaderFooterTag"),o=useSize$1(React__default.default.useMemo((()=>e=>t(correctItemSize(e,"height"))),[t]),!0,useEmitterValue$2("skipAnimationFrameInResizeObserver")),r=useEmitterValue$2("context");return e?jsxRuntime.exports.jsx(n,{ref:o,children:jsxRuntime.exports.jsx(e,{...contextPropIfNotDomElement(e,r)})}):null})),Footer$1=React__default.default.memo((function(){const e=useEmitterValue$2("FooterComponent"),t=usePublisher$2("footerHeight"),n=useEmitterValue$2("HeaderFooterTag"),o=useSize$1(React__default.default.useMemo((()=>e=>t(correctItemSize(e,"height"))),[t]),!0,useEmitterValue$2("skipAnimationFrameInResizeObserver")),r=useEmitterValue$2("context");return e?jsxRuntime.exports.jsx(n,{ref:o,children:jsxRuntime.exports.jsx(e,{...contextPropIfNotDomElement(e,r)})}):null}));function buildScroller({usePublisher:e,useEmitter:t,useEmitterValue:n}){return React__default.default.memo((function({style:o,children:r,...a}){const i=e("scrollContainerState"),s=n("ScrollerComponent"),l=e("smoothScrollTargetReached"),c=n("scrollerRef"),u=n("context"),d=n("horizontalDirection")||!1,{scrollerRef:p,scrollByCallback:f,scrollToCallback:m}=useScrollTop(i,l,s,c,void 0,d);t("scrollTo",m),t("scrollBy",f);const h=d?horizontalScrollerStyle:scrollerStyle;return jsxRuntime.exports.jsx(s,{ref:p,style:{...h,...o},"data-testid":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...a,...contextPropIfNotDomElement(s,u),children:r})}))}function buildWindowScroller({usePublisher:e,useEmitter:t,useEmitterValue:n}){return React__default.default.memo((function({style:o,children:r,...a}){const i=e("windowScrollContainerState"),s=n("ScrollerComponent"),l=e("smoothScrollTargetReached"),c=n("totalListHeight"),u=n("deviation"),d=n("customScrollParent"),p=n("context"),{scrollerRef:f,scrollByCallback:m,scrollToCallback:h}=useScrollTop(i,l,s,noop$1,d);return useIsomorphicLayoutEffect$2((()=>(f.current=d||window,()=>{f.current=null})),[f,d]),t("windowScrollTo",h),t("scrollBy",m),jsxRuntime.exports.jsx(s,{style:{position:"relative",...o,...0!==c?{height:c+u}:{}},"data-virtuoso-scroller":!0,...a,...contextPropIfNotDomElement(s,p),children:r})}))}const Viewport$2=({children:e})=>{const t=React__default.default.useContext(VirtuosoMockContext),n=usePublisher$2("viewportHeight"),o=usePublisher$2("fixedItemHeight"),r=useEmitterValue$2("alignToBottom"),a=useEmitterValue$2("horizontalDirection"),i=useSize$1(React__default.default.useMemo((()=>compose(n,(e=>correctItemSize(e,a?"width":"height")))),[n,a]),!0,useEmitterValue$2("skipAnimationFrameInResizeObserver"));return React__default.default.useEffect((()=>{t&&(n(t.viewportHeight),o(t.itemHeight))}),[t,n,o]),jsxRuntime.exports.jsx("div",{style:viewportStyle(r),ref:i,"data-viewport-type":"element",children:e})},WindowViewport$2=({children:e})=>{const t=React__default.default.useContext(VirtuosoMockContext),n=usePublisher$2("windowViewportRect"),o=usePublisher$2("fixedItemHeight"),r=useEmitterValue$2("customScrollParent"),a=useWindowViewportRectRef(n,r,useEmitterValue$2("skipAnimationFrameInResizeObserver")),i=useEmitterValue$2("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",{ref:a,style:viewportStyle(i),"data-viewport-type":"window",children:e})},TopItemListContainer=({children:e})=>{const t=useEmitterValue$2("TopItemListComponent")||"div",n=useEmitterValue$2("headerHeight"),o={...topItemListStyle,marginTop:`${n}px`},r=useEmitterValue$2("context");return jsxRuntime.exports.jsx(t,{style:o,...contextPropIfNotDomElement(t,r),children:e})},ListRoot=React__default.default.memo((function(e){const t=useEmitterValue$2("useWindowScroll"),n=useEmitterValue$2("topItemsIndexes").length>0,o=useEmitterValue$2("customScrollParent"),r=o||t?WindowScroller$2:Scroller$2,a=o||t?WindowViewport$2:Viewport$2;return jsxRuntime.exports.jsxs(r,{...e,children:[n&&jsxRuntime.exports.jsx(TopItemListContainer,{children:jsxRuntime.exports.jsx(Items$1,{showTopList:!0})}),jsxRuntime.exports.jsxs(a,{children:[jsxRuntime.exports.jsx(Header$1,{}),jsxRuntime.exports.jsx(Items$1,{}),jsxRuntime.exports.jsx(Footer$1,{})]})]})})),{Component:List$1,usePublisher:usePublisher$2,useEmitterValue:useEmitterValue$2,useEmitter:useEmitter$2}=systemToComponent(combinedSystem$2,{required:{},optional:{restoreStateFrom:"restoreStateFrom",context:"context",followOutput:"followOutput",itemContent:"itemContent",groupContent:"groupContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",totalCount:"totalCount",groupCounts:"groupCounts",topItemCount:"topItemCount",firstItemIndex:"firstItemIndex",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",atBottomThreshold:"atBottomThreshold",atTopThreshold:"atTopThreshold",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedItemHeight:"fixedItemHeight",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"HeaderFooterTag",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",horizontalDirection:"horizontalDirection",skipAnimationFrameInResizeObserver:"skipAnimationFrameInResizeObserver"},methods:{scrollToIndex:"scrollToIndex",scrollIntoView:"scrollIntoView",scrollTo:"scrollTo",scrollBy:"scrollBy",autoscrollToBottom:"autoscrollToBottom",getState:"getState"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",totalListHeightChanged:"totalListHeightChanged",itemsRendered:"itemsRendered",groupIndices:"groupIndices"}},ListRoot),Scroller$2=buildScroller({usePublisher:usePublisher$2,useEmitterValue:useEmitterValue$2,useEmitter:useEmitter$2}),WindowScroller$2=buildWindowScroller({usePublisher:usePublisher$2,useEmitterValue:useEmitterValue$2,useEmitter:useEmitter$2}),GroupedVirtuoso=List$1,INITIAL_GRID_STATE={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},PROBE_GRID_STATE={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:round,ceil:ceil,floor:floor,min:min,max:max}=Math;function buildProbeGridState(e){return{...PROBE_GRID_STATE,items:e}}function buildItems(e,t,n){return Array.from({length:t-e+1}).map(((t,o)=>{const r=null===n?null:n[o+e];return{index:o+e,data:r}}))}function gapComparator(e,t){return e&&e.column===t.column&&e.row===t.row}function dimensionComparator(e,t){return e&&e.width===t.width&&e.height===t.height}const gridSystem=system((([{overscan:e,visibleRange:t,listBoundary:n,increaseViewportBy:o},{scrollTop:r,viewportHeight:a,scrollBy:i,scrollTo:s,smoothScrollTargetReached:l,scrollContainerState:c,footerHeight:u,headerHeight:d},p,f,{propsReady:m,didMount:h},{windowViewportRect:_,useWindowScroll:g,customScrollParent:v,windowScrollContainerState:b,windowScrollTo:y},E])=>{const w=statefulStream(0),C=statefulStream(0),x=statefulStream(INITIAL_GRID_STATE),R=statefulStream({height:0,width:0}),S=statefulStream({height:0,width:0}),D=stream(),T=stream(),O=statefulStream(0),I=statefulStream(null),A=statefulStream({row:0,column:0}),N=stream(),k=stream(),$=statefulStream(!1),F=statefulStream(0),j=statefulStream(!0),P=statefulStream(!1),M=statefulStream(!1);subscribe(pipe(h,withLatestFrom(F),filter((([e,t])=>!!t))),(()=>{publish(j,!1)})),subscribe(pipe(combineLatest(h,j,S,R,F,P),filter((([e,t,n,o,,r])=>e&&!t&&0!==n.height&&0!==o.height&&!r))),(([,,,,e])=>{publish(P,!0),skipFrames(1,(()=>{publish(D,e)})),handleNext(pipe(r),(()=>{publish(n,[0,0]),publish(j,!0)}))})),connect(pipe(k,filter((e=>null!=e&&e.scrollTop>0)),mapTo(0)),C),subscribe(pipe(h,withLatestFrom(k),filter((([,e])=>null!=e))),(([,e])=>{e&&(publish(R,e.viewport),publish(S,null==e?void 0:e.item),publish(A,e.gap),e.scrollTop>0&&(publish($,!0),handleNext(pipe(r,skip(1)),(e=>{publish($,!1)})),publish(s,{top:e.scrollTop})))})),connect(pipe(R,map((({height:e})=>e))),a),connect(pipe(combineLatest(duc(R,dimensionComparator),duc(S,dimensionComparator),duc(A,((e,t)=>e&&e.column===t.column&&e.row===t.row)),duc(r)),map((([e,t,n,o])=>({viewport:e,item:t,gap:n,scrollTop:o})))),N),connect(pipe(combineLatest(duc(w),t,duc(A,gapComparator),duc(S,dimensionComparator),duc(R,dimensionComparator),duc(I),duc(C),duc($),duc(j),duc(F)),filter((([,,,,,,,e])=>!e)),map((([e,[t,n],o,r,a,i,s,,l,c])=>{const{row:u,column:d}=o,{height:p,width:f}=r,{width:m}=a;if(0===s&&(0===e||0===m))return INITIAL_GRID_STATE;if(0===f){const t=getInitialTopMostItemIndexNumber(c,e);return buildProbeGridState(buildItems(t,t+Math.max(s-1,0),i))}const h=itemsPerRow(m,f,d);let _,g;l?0===t&&0===n&&s>0?(_=0,g=s-1):(_=h*floor((t+u)/(p+u)),g=h*ceil((n+u)/(p+u))-1,g=min(e-1,max(g,h-1)),_=min(g,max(0,_))):(_=0,g=-1);const v=buildItems(_,g,i),{top:b,bottom:y}=gridLayout(a,o,r,v),E=ceil(e/h);return{items:v,offsetTop:b,offsetBottom:E*p+(E-1)*u-y,top:b,bottom:y,itemHeight:p,itemWidth:f}}))),x),connect(pipe(I,filter((e=>null!==e)),map((e=>e.length))),w),connect(pipe(combineLatest(R,S,x,A),filter((([e,t,{items:n}])=>n.length>0&&0!==t.height&&0!==e.height)),map((([e,t,{items:n},o])=>{const{top:r,bottom:a}=gridLayout(e,o,t,n);return[r,a]})),distinctUntilChanged(tupleComparator)),n);const L=statefulStream(!1);connect(pipe(r,withLatestFrom(L),map((([e,t])=>t||0!==e))),L);const B=streamFromEmitter(pipe(combineLatest(x,w),filter((([{items:e}])=>e.length>0)),withLatestFrom(L),filter((([[e,t],n])=>{const o=e.items[e.items.length-1].index===t-1;if(n)return o;return e.bottom>0&&e.itemHeight>0&&0===e.offsetBottom&&e.items.length===t&&o})),map((([[,e]])=>e-1)),distinctUntilChanged())),U=streamFromEmitter(pipe(duc(x),filter((({items:e})=>e.length>0&&0===e[0].index)),mapTo(0),distinctUntilChanged())),V=streamFromEmitter(pipe(duc(x),withLatestFrom($),filter((([{items:e},t])=>e.length>0&&!t)),map((([{items:e}])=>({startIndex:e[0].index,endIndex:e[e.length-1].index}))),distinctUntilChanged(rangeComparator),throttleTime(0)));connect(V,f.scrollSeekRangeChanged),connect(pipe(D,withLatestFrom(R,S,w,A),map((([e,t,n,o,r])=>{const a=normalizeIndexLocation(e),{align:i,behavior:s,offset:l}=a;let c=a.index;"LAST"===c&&(c=o-1),c=max(0,c,min(o-1,c));let u=itemTop(t,r,n,c);return"end"===i?u=round(u-t.height+n.height):"center"===i&&(u=round(u-t.height/2+n.height/2)),l&&(u+=l),{top:u,behavior:s}}))),s);const H=statefulStreamFromEmitter(pipe(x,map((e=>e.offsetBottom+e.bottom))),0);return connect(pipe(_,map((e=>({width:e.visibleWidth,height:e.visibleHeight})))),R),{data:I,totalCount:w,viewportDimensions:R,itemDimensions:S,scrollTop:r,scrollHeight:T,overscan:e,increaseViewportBy:o,scrollBy:i,scrollTo:s,scrollToIndex:D,smoothScrollTargetReached:l,windowViewportRect:_,windowScrollTo:y,useWindowScroll:g,customScrollParent:v,windowScrollContainerState:b,deviation:O,scrollContainerState:c,footerHeight:u,headerHeight:d,initialItemCount:C,gap:A,restoreStateFrom:k,...f,initialTopMostItemIndex:F,horizontalDirection:M,gridState:x,totalListHeight:H,...p,startReached:U,endReached:B,rangeChanged:V,stateChanged:N,propsReady:m,stateRestoreInProgress:$,...E}}),tup(sizeRangeSystem,domIOSystem,stateFlagsSystem,scrollSeekSystem,propsReadySystem,windowScrollerSystem,loggerSystem));function gridLayout(e,t,n,o){const{height:r}=n;if(void 0===r||0===o.length)return{top:0,bottom:0};return{top:itemTop(e,t,n,o[0].index),bottom:itemTop(e,t,n,o[o.length-1].index)+r}}function itemTop(e,t,n,o){const r=itemsPerRow(e.width,n.width,t.column),a=floor(o/r),i=a*n.height+max(0,a-1)*t.row;return i>0?i+t.row:i}function itemsPerRow(e,t,n){return max(1,floor((e+n)/(floor(t)+n)))}const gridComponentPropsSystem=system((()=>{const e=statefulStream((e=>`Item ${e}`)),t=statefulStream({}),n=statefulStream(null),o=statefulStream("virtuoso-grid-item"),r=statefulStream("virtuoso-grid-list"),a=statefulStream(identity),i=statefulStream("div"),s=statefulStream(noop$1),l=(e,n=null)=>statefulStreamFromEmitter(pipe(t,map((t=>t[e])),distinctUntilChanged()),n),c=statefulStream(!1),u=statefulStream(!1);return connect(duc(u),c),{readyStateChanged:c,reportReadyState:u,context:n,itemContent:e,components:t,computeItemKey:a,itemClassName:o,listClassName:r,headerFooterTag:i,scrollerRef:s,FooterComponent:l("Footer"),HeaderComponent:l("Header"),ListComponent:l("List","div"),ItemComponent:l("Item","div"),ScrollerComponent:l("Scroller","div"),ScrollSeekPlaceholder:l("ScrollSeekPlaceholder","div")}})),combinedSystem$1=system((([e,t])=>({...e,...t})),tup(gridSystem,gridComponentPropsSystem)),GridItems=React__default.default.memo((function(){const e=useEmitterValue$1("gridState"),t=useEmitterValue$1("listClassName"),n=useEmitterValue$1("itemClassName"),o=useEmitterValue$1("itemContent"),r=useEmitterValue$1("computeItemKey"),a=useEmitterValue$1("isSeeking"),i=usePublisher$1("scrollHeight"),s=useEmitterValue$1("ItemComponent"),l=useEmitterValue$1("ListComponent"),c=useEmitterValue$1("ScrollSeekPlaceholder"),u=useEmitterValue$1("context"),d=usePublisher$1("itemDimensions"),p=usePublisher$1("gap"),f=useEmitterValue$1("log"),m=useEmitterValue$1("stateRestoreInProgress"),h=usePublisher$1("reportReadyState"),_=useSize$1(React__default.default.useMemo((()=>e=>{const t=e.parentElement.parentElement.scrollHeight;i(t);const n=e.firstChild;if(n){const{width:e,height:t}=n.getBoundingClientRect();d({width:e,height:t})}p({row:resolveGapValue("row-gap",getComputedStyle(e).rowGap,f),column:resolveGapValue("column-gap",getComputedStyle(e).columnGap,f)})}),[i,d,p,f]),!0,!1);return useIsomorphicLayoutEffect$2((()=>{e.itemHeight>0&&e.itemWidth>0&&h(!0)}),[e]),m?null:jsxRuntime.exports.jsx(l,{ref:_,className:t,...contextPropIfNotDomElement(l,u),style:{paddingTop:e.offsetTop,paddingBottom:e.offsetBottom},"data-testid":"virtuoso-item-list",children:e.items.map((t=>{const i=r(t.index,t.data,u);return a?jsxRuntime.exports.jsx(c,{...contextPropIfNotDomElement(c,u),index:t.index,height:e.itemHeight,width:e.itemWidth},i):React.createElement(s,{...contextPropIfNotDomElement(s,u),className:n,"data-index":t.index,key:i},o(t.index,t.data,u))}))})})),Header=React__default.default.memo((function(){const e=useEmitterValue$1("HeaderComponent"),t=usePublisher$1("headerHeight"),n=useEmitterValue$1("headerFooterTag"),o=useSize$1(React__default.default.useMemo((()=>e=>t(correctItemSize(e,"height"))),[t]),!0,!1),r=useEmitterValue$1("context");return e?jsxRuntime.exports.jsx(n,{ref:o,children:jsxRuntime.exports.jsx(e,{...contextPropIfNotDomElement(e,r)})}):null})),Footer=React__default.default.memo((function(){const e=useEmitterValue$1("FooterComponent"),t=usePublisher$1("footerHeight"),n=useEmitterValue$1("headerFooterTag"),o=useSize$1(React__default.default.useMemo((()=>e=>t(correctItemSize(e,"height"))),[t]),!0,!1),r=useEmitterValue$1("context");return e?jsxRuntime.exports.jsx(n,{ref:o,children:jsxRuntime.exports.jsx(e,{...contextPropIfNotDomElement(e,r)})}):null})),Viewport$1=({children:e})=>{const t=React__default.default.useContext(VirtuosoGridMockContext),n=usePublisher$1("itemDimensions"),o=usePublisher$1("viewportDimensions"),r=useSize$1(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",{style:viewportStyle(!1),ref:r,children:e})},WindowViewport$1=({children:e})=>{const t=React__default.default.useContext(VirtuosoGridMockContext),n=usePublisher$1("windowViewportRect"),o=usePublisher$1("itemDimensions"),r=useEmitterValue$1("customScrollParent"),a=useWindowViewportRectRef(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:viewportStyle(!1),children:e})},GridRoot=React__default.default.memo((function({...e}){const t=useEmitterValue$1("useWindowScroll"),n=useEmitterValue$1("customScrollParent"),o=n||t?WindowScroller$1:Scroller$1,r=n||t?WindowViewport$1:Viewport$1;return jsxRuntime.exports.jsx(o,{...e,children:jsxRuntime.exports.jsxs(r,{children:[jsxRuntime.exports.jsx(Header,{}),jsxRuntime.exports.jsx(GridItems,{}),jsxRuntime.exports.jsx(Footer,{})]})})})),{Component:Grid,usePublisher:usePublisher$1,useEmitterValue:useEmitterValue$1,useEmitter:useEmitter$1}=systemToComponent(combinedSystem$1,{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"}},GridRoot),Scroller$1=buildScroller({usePublisher:usePublisher$1,useEmitterValue:useEmitterValue$1,useEmitter:useEmitter$1}),WindowScroller$1=buildWindowScroller({usePublisher:usePublisher$1,useEmitterValue:useEmitterValue$1,useEmitter:useEmitter$1});function resolveGapValue(e,t,n){return"normal"===t||(null==t?void 0:t.endsWith("px"))||n(`${e} was not resolved to pixel value correctly`,t,LogLevel.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)}))),u={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),u),setStorageItem(localStorage,CACHE_EMOJI_METADATA_KEY(e),{emojisEtag:n,messagesEtag:r}),u}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,u]=React.useState(),[d,p]=React.useState(0),[f,m]=React.useState(0),[h,_]=React.useState("none"),g=React.useCallback((()=>{if(n){const e=s?.rows[f]?.[d];e&&n(e.emoji)}}),[s?.rows,n,d,f]),v=React.useCallback((()=>{p(0),m(0)}),[]),b=React.useCallback(((e,t)=>{_("pointer"),p(e),m(t)}),[]),y=React.useCallback(((e,t)=>{if(s)if(t.preventDefault(),"none"!==h)switch(_("keyboard"),e){case"left":if(0===d){const e=f-1,t=s.rows[e];t&&(m(e),p(t.length-1))}else p(d-1);break;case"right":{const e=s.rows[f];if(!e)return;if(d===e.length-1){const e=f+1;s.rows[e]&&(m(e),p(0))}else p(d+1);break}case"up":{const e=s.rows[f-1];e&&(m(f-1),e[d]||p(e.length-1));break}case"down":{const e=s.rows[f+1];e&&(m(f+1),e[d]||p(e.length-1));break}}else _("keyboard")}),[s,h,d,f]),E=React.useCallback((()=>{r.current&&i((()=>{l((()=>{if(!r.current)return;return generateEmojiPickerData(filterEmojis(r.current.emojis,a.current),r.current.categories,e)})),v()}))}),[e,v]),w=React.useCallback((e=>{a.current=e,E()}),[E]),C=React.useCallback((async e=>{try{r.current=await getEmojiData(e),E()}catch(e){u(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"===h&&v()}),[h]),jsxRuntime.exports.jsx(EmojiPickerContext.Provider,{value:{data:s,error:c,isLoading:!s&&!c,columns:e,onSearch:w,onEmojiSelect:n,selectCurrentEmoji:g,selectedRowIndex:f,selectedColumnIndex:d,moveSelection:y,setPointerSelection:b,interaction:h,setInteraction:_},children:o})}const EmojiPickerSearch=React.forwardRef((({asChild:e,value:t,defaultValue:n,onChange:o,...r},a)=>{const i=e?Slot:"input",{onSearch:s,selectCurrentEmoji:l,moveSelection:c,interaction:u,setInteraction:d}=useEmojiPicker(),p=React.useCallback((e=>{if(o?.(e),e.isDefaultPrevented())return;const t=e.target.value;d(t?"keyboard":"none"),s(t)}),[o,s,d]),f=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"!==u&&(e.preventDefault(),l()))}),[u,c,l]);return React.useEffect((()=>{s(t?String(t):n?String(n):"")}),[]),jsxRuntime.exports.jsx(i,{type:"search",value:t,defaultValue:n,onChange:p,onKeyDown:f,...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:"div",a=React.useRef(null),i=React.useRef(null),s=React.useRef(0),l=React.useRef(0),c=React.useRef(0),{data:u,error:d,isLoading:p,columns:f,onEmojiSelect:m,selectedColumnIndex:h,selectedRowIndex:_,setPointerSelection:g,interaction:v,setInteraction:b}=useEmojiPicker(),y=React.useMemo((()=>u?.rows[_]?.[h]),[u?.rows,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":f,...t,"data-testid":void 0,ref:n,children:e})))),[f]),O=React.useMemo((()=>Array(f).fill("🌫️")),[f]),I=React.useCallback((e=>{e.preventDefault()}),[]),A=React.useCallback((()=>{"pointer"===v&&b("none")}),[v,b]);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 N=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"===v&&a.current?.scrollIntoView({index:_,behavior:"auto",calculateViewLocation:N})}),[v,_,N]),jsxRuntime.exports.jsxs(r,{...n,ref:o,children:[jsxRuntime.exports.jsxs("div",{style:{visibility:"hidden",height:0},ref:i,children:[jsxRuntime.exports.jsx(S,{attributes:placeholderRowAttributes,children:O.map(((e,t)=>jsxRuntime.exports.jsx(D,{emoji:e},t)))}),jsxRuntime.exports.jsx(x,{category:"Category"})]}),p?jsxRuntime.exports.jsx(E,{}):d?jsxRuntime.exports.jsx(C,{error:d}):0===u.count?jsxRuntime.exports.jsx(w,{}):jsxRuntime.exports.jsx(R,{children:jsxRuntime.exports.jsx(GroupedVirtuoso,{ref:a,components:{Scroller:VirtuosoScroller,List:T,TopItemList:VirtuosoTopList},groupCounts:u.categoriesRowCounts,groupContent:e=>{const t=u.categories[e];return t?jsxRuntime.exports.jsx(x,{category:t}):null},itemContent:(e,t)=>{const n=u.rows[e],o=u.categoriesRowIndices[t]?.indexOf(e),r=u.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"!==v&&h===n&&_===e;return jsxRuntime.exports.jsx(D,{role:"gridcell","aria-colindex":n,"aria-selected":o||void 0,"data-selected":o||void 0,onMouseDown:I,tabIndex:-1,onPointerEnter:()=>{g(n,e)},onPointerLeave:A,onClick:e=>{m?.(t.emoji),e.stopPropagation()},emoji:t.emoji},t.emoji)}))})}})}),y&&"none"!==v&&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$3(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$3(o,...t)]}function composeContextScopes$3(...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 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),[u,d]=React__namespace.useState(null),p=u?.ownerDocument??globalThis?.document,[,f]=React__namespace.useState({}),m=useComposedRefs(t,(e=>d(e))),h=Array.from(c.layers),[_]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),g=h.indexOf(_),v=u?h.indexOf(u):-1,b=c.layersWithOutsidePointerEventsDisabled.size>0,y=v>=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?.())}),p),w=useFocusOutside((e=>{const t=e.target;[...c.branches].some((e=>e.contains(t)))||(a?.(e),i?.(e),e.defaultPrevented||s?.())}),p);return useEscapeKeydown((e=>{v===c.layers.size-1&&(o?.(e),!e.defaultPrevented&&s&&(e.preventDefault(),s()))}),p),React__namespace.useEffect((()=>{if(u)return n&&(0===c.layersWithOutsidePointerEventsDisabled.size&&(originalBodyPointerEvents=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(u)),c.layers.add(u),dispatchUpdate(),()=>{n&&1===c.layersWithOutsidePointerEventsDisabled.size&&(p.body.style.pointerEvents=originalBodyPointerEvents)}}),[u,p,n,c]),React__namespace.useEffect((()=>()=>{u&&(c.layers.delete(u),c.layersWithOutsidePointerEventsDisabled.delete(u),dispatchUpdate())}),[u,c]),React__namespace.useEffect((()=>{const e=()=>f({});return document.addEventListener(CONTEXT_UPDATE,e),()=>document.removeEventListener(CONTEXT_UPDATE,e)}),[]),jsxRuntime.exports.jsx(Primitive.div,{...l,ref:m,style:{pointerEvents:b?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 useLayoutEffect2=Boolean(globalThis?.document)?React__namespace.useLayoutEffect:()=>{},useReactId=React__namespace["useId".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 createContextScope$2(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;function 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 n=[...n,o],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$2(o,...t)]}function composeContextScopes$2(...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 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$2(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);return React__namespace.useEffect((()=>{a.onAnchorChange(o?.current||i.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:u=0,sticky:d="partial",hideWhenDetached:p=!1,updatePositionStrategy:f="optimized",onPlaced:m,...h}=e,_=usePopperContext(CONTENT_NAME$4,n),[g,v]=React__namespace.useState(null),b=useComposedRefs(t,(e=>v(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 u?u:{top:0,right:0,bottom:0,left:0,...u},D=Array.isArray(c)?c:[c],T=D.length>0,O={padding:S,boundary:D.filter(isNotNull),altBoundary:T},{refs:I,floatingStyles:A,placement:N,isPositioned:k,middlewareData:$}=useFloating({strategy:"fixed",placement:R,whileElementsMounted:(...e)=>autoUpdate(...e,{animationFrame:"always"===f}),elements:{reference:_.anchor},middleware:[offset({mainAxis:r+x,alignmentAxis:i}),l&&shift({mainAxis:!0,crossAxis:!1,limiter:"partial"===d?limitShift():void 0,...O}),l&&flip({...O}),size({...O,apply:({elements:e,rects:t,availableWidth:n,availableHeight:o})=>{const{width:r,height:a}=t.reference,i=e.floating.style;i.setProperty("--radix-popper-available-width",`${n}px`),i.setProperty("--radix-popper-available-height",`${o}px`),i.setProperty("--radix-popper-anchor-width",`${r}px`),i.setProperty("--radix-popper-anchor-height",`${a}px`)}}),y&&arrow({element:y,padding:s}),transformOrigin({arrowWidth:C,arrowHeight:x}),p&&hide({strategy:"referenceHidden",...O})]}),[F,j]=getSideAndAlignFromPlacement(N),P=useCallbackRef$1(m);useLayoutEffect2((()=>{k&&P?.()}),[k,P]);const M=$.arrow?.x,L=$.arrow?.y,B=0!==$.arrow?.centerOffset,[U,V]=React__namespace.useState();return useLayoutEffect2((()=>{g&&V(window.getComputedStyle(g).zIndex)}),[g]),jsxRuntime.exports.jsx("div",{ref:I.setFloating,"data-radix-popper-content-wrapper":"",style:{...A,transform:k?A.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:U,"--radix-popper-transform-origin":[$.transformOrigin?.x,$.transformOrigin?.y].join(" "),...$.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:jsxRuntime.exports.jsx(PopperContentProvider,{scope:n,placedSide:F,onArrowChange:E,arrowX:M,arrowY:L,shouldHideArrow:B,children:jsxRuntime.exports.jsx(Primitive.div,{"data-side":F,"data-align":j,...h,ref:b,style:{...h.style,animation:k?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),u={start:"0%",center:"50%",end:"100%"}[c],d=(r.arrow?.x??0)+i/2,p=(r.arrow?.y??0)+s/2;let f="",m="";return"bottom"===l?(f=a?u:`${d}px`,m=-s+"px"):"top"===l?(f=a?u:`${d}px`,m=`${o.floating.height+s}px`):"right"===l?(f=-s+"px",m=a?u:`${p}px`):"left"===l&&(f=`${o.floating.width+s}px`,m=a?u:`${p}px`),{data:{x:f,y:m}}}});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({}),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(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=>{e&&(o.current=getComputedStyle(e)),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 NAME="VisuallyHidden",VisuallyHidden=React__namespace.forwardRef(((e,t)=>jsxRuntime.exports.jsx(Primitive.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}})));VisuallyHidden.displayName=NAME;var Root$1=VisuallyHidden,[createTooltipContext,createTooltipScope]=createContextScope$3("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,s]=React__namespace.useState(!0),l=React__namespace.useRef(!1),c=React__namespace.useRef(0);return React__namespace.useEffect((()=>{const e=c.current;return()=>window.clearTimeout(e)}),[]),jsxRuntime.exports.jsx(TooltipProviderContextProvider,{scope:t,isOpenDelayed:i,delayDuration:n,onOpen:React__namespace.useCallback((()=>{window.clearTimeout(c.current),s(!1)}),[]),onClose:React__namespace.useCallback((()=>{window.clearTimeout(c.current),c.current=window.setTimeout((()=>s(!0)),o)}),[o]),isPointerInTransitRef:l,onPointerInTransitChange:React__namespace.useCallback((e=>{l.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=!1,onOpenChange:a,disableHoverableContent:i,delayDuration:s}=e,l=useTooltipProviderContext(TOOLTIP_NAME,e.__scopeTooltip),c=usePopperScope$2(t),[u,d]=React__namespace.useState(null),p=useId(),f=React__namespace.useRef(0),m=i??l.disableHoverableContent,h=s??l.delayDuration,_=React__namespace.useRef(!1),[g=!1,v]=useControllableState$1({prop:o,defaultProp:r,onChange:e=>{e?(l.onOpen(),document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN))):l.onClose(),a?.(e)}}),b=React__namespace.useMemo((()=>g?_.current?"delayed-open":"instant-open":"closed"),[g]),y=React__namespace.useCallback((()=>{window.clearTimeout(f.current),f.current=0,_.current=!1,v(!0)}),[v]),E=React__namespace.useCallback((()=>{window.clearTimeout(f.current),f.current=0,v(!1)}),[v]),w=React__namespace.useCallback((()=>{window.clearTimeout(f.current),f.current=window.setTimeout((()=>{_.current=!0,v(!0),f.current=0}),h)}),[h,v]);return React__namespace.useEffect((()=>()=>{f.current&&(window.clearTimeout(f.current),f.current=0)}),[]),jsxRuntime.exports.jsx(Root2$2,{...c,children:jsxRuntime.exports.jsx(TooltipContextProvider,{scope:t,contentId:p,open:g,stateAttribute:b,trigger:u,onTriggerChange:d,onTriggerEnter:React__namespace.useCallback((()=>{l.isOpenDelayed?w():y()}),[l.isOpenDelayed,w,y]),onTriggerLeave:React__namespace.useCallback((()=>{m?E():(window.clearTimeout(f.current),f.current=0)}),[E,m]),onOpen:y,onClose:E,disableHoverableContent:m,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),u=React__namespace.useCallback((()=>l.current=!1),[]);return React__namespace.useEffect((()=>()=>document.removeEventListener("pointerup",u)),[u]),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,(()=>{l.current=!0,document.addEventListener("pointerup",u,{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,u=r.current,{onPointerInTransitChange:d}=o,p=React__namespace.useCallback((()=>{s(null),d(!1)}),[d]),f=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),d(!0)}),[d]);return React__namespace.useEffect((()=>()=>p()),[p]),React__namespace.useEffect((()=>{if(l&&u){const e=e=>f(e,u),t=e=>f(e,l);return l.addEventListener("pointerleave",e),u.addEventListener("pointerleave",t),()=>{l.removeEventListener("pointerleave",e),u.removeEventListener("pointerleave",t)}}}),[l,u,f,p]),React__namespace.useEffect((()=>{if(i){const e=e=>{const t=e.target,n={x:e.clientX,y:e.clientY},o=l?.contains(t)||u?.contains(t),r=!isPointInPolygon$1(n,i);o?p():r&&(p(),c())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}}),[l,u,i,c,p]),jsxRuntime.exports.jsx(TooltipContentImpl,{...e,ref:a})})),[VisuallyHiddenContentContextProvider,useVisuallyHiddenContentContext]=createTooltipContext(TOOLTIP_NAME,{isInside:!1}),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:u}=l;return React__namespace.useEffect((()=>(document.addEventListener(TOOLTIP_OPEN,u),()=>document.removeEventListener(TOOLTIP_OPEN,u))),[u]),React__namespace.useEffect((()=>{if(l.trigger){const e=e=>{const t=e.target;t?.contains(l.trigger)&&u()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}}),[l.trigger,u]),jsxRuntime.exports.jsx(DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:e=>e.preventDefault(),onDismiss:u,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].x,s=t[e].y,l=t[a].x,c=t[a].y;s>o!=c>o&&n<(l-i)*(o-s)/(c-s)+i&&(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:u,isError:d,description:p,deleteLabel:f}=useAttachmentContent(e,t),m=React.useCallback((e=>{r&&e.preventDefault()}),[r]),h=useClickOnKeyDown(l);return jsxRuntime.exports.jsxs("div",{className:classNames("lb-attachment lb-media-attachment",s),"data-error":d?"":void 0,...c,role:n?"button":void 0,onClick:n,tabIndex:n?0:-1,onKeyDown:n?h:void 0,children:[jsxRuntime.exports.jsx("div",{className:"lb-attachment-preview",children:u?jsxRuntime.exports.jsx(SpinnerIcon,{}):d?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:p,children:p})]}),o&&jsxRuntime.exports.jsx(Tooltip,{content:f,children:jsxRuntime.exports.jsx("button",{type:"button",className:"lb-attachment-delete",onClick:o,onPointerDown:m,"aria-label":f,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:u,isError:d,description:p,deleteLabel:f}=useAttachmentContent(e,t),m=React.useCallback((e=>{r&&e.preventDefault()}),[r]),h=useClickOnKeyDown(l);return jsxRuntime.exports.jsxs("div",{className:classNames("lb-attachment lb-file-attachment",s),"data-error":d?"":void 0,...c,role:n?"button":void 0,onClick:n,tabIndex:n?0:-1,onKeyDown:n?h:void 0,children:[jsxRuntime.exports.jsx("div",{className:"lb-attachment-preview",children:u?jsxRuntime.exports.jsx(SpinnerIcon,{}):d?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:p,children:p})]}),o&&jsxRuntime.exports.jsx(Tooltip,{content:f,children:jsxRuntime.exports.jsx("button",{type:"button",className:"lb-attachment-delete",onClick:o,onPointerDown:m,"aria-label":f,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),u=useCallbackRef$1(a),d=React__namespace.useRef(null),p=useComposedRefs(t,(e=>l(e))),f=React__namespace.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;React__namespace.useEffect((()=>{if(o){let e=function(e){if(f.paused||!s)return;const t=e.target;s.contains(t)?d.current=t:focus(d.current,{select:!0})},t=function(e){if(f.paused||!s)return;const t=e.relatedTarget;null!==t&&(s.contains(t)||focus(d.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,f.paused]),React__namespace.useEffect((()=>{if(s){focusScopesStack.add(f);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,u),s.dispatchEvent(t),t.defaultPrevented||focus(e??document.body,{select:!0}),s.removeEventListener(AUTOFOCUS_ON_UNMOUNT,u),focusScopesStack.remove(f)}),0)}}}),[s,c,u,f]);const m=React__namespace.useCallback((e=>{if(!n&&!o)return;if(f.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,f.paused]);return jsxRuntime.exports.jsx(Primitive.div,{tabIndex:-1,...i,ref:p,onKeyDown:m})}));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 u=function(e){e&&!l.has(e)&&Array.prototype.forEach.call(e.children,(function(e){if(s.has(e))u(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 u(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]"))),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,u=e.enabled,d=e.shards,p=e.sideCar,f=e.noIsolation,m=e.inert,h=e.allowPinchZoom,_=e.as,g=void 0===_?"div":_,v=e.gapMode,b=__rest(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),y=p,E=useMergeRefs([n,t]),w=__assign(__assign({},b),r);return React__namespace.createElement(React__namespace.Fragment,null,u&&React__namespace.createElement(y,{sideCar:effectCar,removeScrollBar:c,shards:d,noIsolation:f,inert:m,setCallbacks:a,allowPinchZoom:!!h,lockRef:n,gapMode:v}),i?React__namespace.cloneElement(React__namespace.Children.only(s),__assign(__assign({},w),{ref:E})):React__namespace.createElement(g,__assign({},w,{className:l,ref:E}),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,u=i>0,d=0,p=0;do{var f=getScrollVariables(e,s),m=f[0],h=f[1]-f[2]-a*m;(m||h)&&elementCouldBeScrolled(e,s)&&(d+=h,p+=m),s=s instanceof ShadowRoot?s.host:s.parentNode}while(!l&&s!==document.body||l&&(t.contains(s)||t===s));return(u&&(r&&Math.abs(d)<1||!r&&i>d)||!u&&(r&&Math.abs(p)<1||!r&&-i>p))&&(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],u=e.target,d=Math.abs(l)>Math.abs(c)?"h":"v";if("touches"in e&&"h"===d&&"range"===u.type)return!1;var p=locationCouldBeScrolled(d,u);if(!p)return!0;if(p?r=d:(r="v"===d?"h":"v",p=locationCouldBeScrolled(d,u)),!p)return!1;if(!o.current&&"changedTouches"in e&&(l||c)&&(o.current=r),!r)return!0;var f=o.current||r;return handleScroll(f,t,e,"h"===f?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)}),[]),u=React__namespace.useCallback((function(e){n.current=getTouchXY(e),o.current=void 0}),[]),d=React__namespace.useCallback((function(t){c(t.type,getDeltaXY(t),t.target,s(t,e.lockRef.current))}),[]),p=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:d,onWheelCapture:d,onTouchMoveCapture:p}),document.addEventListener("wheel",l,nonPassive),document.addEventListener("touchmove",l,nonPassive),document.addEventListener("touchstart",u,nonPassive),function(){lockStack=lockStack.filter((function(e){return e!==a})),document.removeEventListener("wheel",l,nonPassive),document.removeEventListener("touchmove",l,nonPassive),document.removeEventListener("touchstart",u,nonPassive)}}),[]);var f=e.removeScrollBar,m=e.inert;return React__namespace.createElement(React__namespace.Fragment,null,m?React__namespace.createElement(a,{styles:generateStyle(r)}):null,f?React__namespace.createElement(RemoveScrollBar,{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$3(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,u]=React__namespace.useState(!1),[d=!1,p]=useControllableState$1({prop:o,defaultProp:r,onChange:a});return jsxRuntime.exports.jsx(Root2$2,{...s,children:jsxRuntime.exports.jsx(PopoverProvider,{scope:t,contentId:useId(),triggerRef:l,open:d,onOpenChange:p,onOpenToggle:React__namespace.useCallback((()=>p((e=>!e))),[p]),hasCustomAnchor:c,onCustomAnchorAdd:React__namespace.useCallback((()=>u(!0)),[]),onCustomAnchorRemove:React__namespace.useCallback((()=>u(!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 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,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:u,...d}=e,p=usePopoverContext(CONTENT_NAME$2,n),f=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:u,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:c,onDismiss:()=>p.onOpenChange(!1),children:jsxRuntime.exports.jsx(Content$1,{"data-state":getState(p.open),role:"dialog",id:p.contentId,...f,...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)"}})})})})),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(),u=React.useCallback((e=>{s(e),t?.(e)}),[t]),d=React.useCallback((t=>{s(!1),e?.(t)}),[e]);return jsxRuntime.exports.jsxs(Root2$1,{open:i,onOpenChange:u,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:d,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:u,onEmptyChange:d,onEditorClick:p}){const{isEmpty:f}=useComposer(),{hasMaxAttachments:m}=useComposerAttachmentsContext(),h=useOverrides(a),_=React.useMemo((()=>({...editorRequiredComponents,FloatingToolbar:t?ComposerFloatingToolbar:void 0})),[t]),[g,v]=useComposerAttachmentsDropArea({disabled:l||m});React.useLayoutEffect((()=>{d(f)}),[f,d]);const b=React.useCallback((e=>{e.preventDefault()}),[]),y=React.useCallback((e=>{e.stopPropagation()}),[]);return jsxRuntime.exports.jsxs("div",{className:"lb-composer-editor-container",...v,children:[jsxRuntime.exports.jsx(ComposerEditor,{className:"lb-composer-editor",onClick:p,placeholder:h.COMPOSER_PLACEHOLDER,defaultValue:o,autoFocus:s,components:_,disabled:l,dir:h.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:h.COMPOSER_INSERT_MENTION,disabled:l}),jsxRuntime.exports.jsx(ComposerInsertEmojiEditorAction,{label:h.COMPOSER_INSERT_EMOJI,onPickerOpenChange:u,disabled:l}),e&&jsxRuntime.exports.jsx(ComposerAttachFilesEditorAction,{label:h.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:h.COMPOSER_SEND,shortcut:jsxRuntime.exports.jsx(ShortcutTooltipKey,{name:"enter"}),children:jsxRuntime.exports.jsx(ComposerSubmit,{asChild:!0,children:jsxRuntime.exports.jsx(Button,{onPointerDown:b,onClick:y,className:"lb-composer-action",variant:"primary","aria-label":h.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,{}),h.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:u,onBlur:d,className:p,onFocus:f,autoFocus:m,disabled:h,showAttachments:_=!0,showFormattingControls:g=!0,showAttribution:v,roomId:b,...y},E)=>{const w=useRoomOrNull(),C=void 0!==b?b:w?.id;if(void 0===C)throw new Error("Composer must be a descendant of RoomProvider component");const x=useCreateRoomThread(C),R=useCreateRoomComment(C),S=useEditRoomComment(C),{preventUnsavedComposerChanges:D}=useLiveblocksUIConfig(),T=void 0!==useResolveMentionSuggestions(),O=React.useRef(!0),I=React.useRef(!1),A=useOverrides(c),[N,k]=useControllableState((void 0!==i||void 0!==s)&&i,l,s),$=React.useSyncExternalStore(React.useCallback((e=>null===w?()=>{}:w.events.self.subscribeOnce(e)),[w]),React.useCallback((()=>w?.getSelf()?.canComment??!0),[w]),React.useCallback((()=>!0),[])),F=useRoomPermissions(C),j=F.size>0?F.has(Permission.CommentsWrite)||F.has(Permission.Write):$,P=React.useCallback((e=>{O.current=e}),[]),M=React.useCallback((e=>{I.current=e}),[]),L=React.useCallback((e=>{f?.(e),e.isDefaultPrevented()||O.current&&j&&k?.(!1)}),[k,f,j]),B=React.useCallback((e=>{if(d?.(e),e.isDefaultPrevented())return;!e.currentTarget.contains(e.relatedTarget??document.activeElement)&&O.current&&!I.current&&k?.(!0)}),[d,k]),U=React.useCallback((e=>{e.stopPropagation(),O.current&&j&&k?.(!1)}),[k,j]),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",p),dir:A.dir,...y,ref:E,"data-collapsed":N?"":void 0,onFocus:L,onBlur:B,disabled:h||!j,defaultAttachments:r,pasteFilesAsAttachments:_,preventUnsavedChanges:D,roomId:C,children:jsxRuntime.exports.jsx(ComposerEditorContainer,{defaultValue:o,actions:u,overrides:c,isCollapsed:N,showAttachments:_,showAttribution:v,showFormattingControls:g,hasResolveMentionSuggestions:T,onEmptyChange:P,onEmojiPickerOpenChange:M,onEditorClick:U,autoFocus:m,disabled:h})})})}));function createContextScope$1(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;function 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 n=[...n,o],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$1(o,...t)]}function composeContextScopes$1(...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 createCollection(e){const t=e+"CollectionProvider",[n,o]=createContextScope$1(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=React__default.default.forwardRef(((e,t)=>{const{scope:n,children:o}=e,r=useComposedRefs(t,a(s,n).collectionRef);return jsxRuntime.exports.jsx(Slot,{ref:r,children:o})}));l.displayName=s;const c=e+"CollectionItemSlot",u="data-radix-collection-item",d=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(c,n);return React__default.default.useEffect((()=>(l.itemMap.set(i,{ref:i,...r}),()=>{l.itemMap.delete(i)}))),jsxRuntime.exports.jsx(Slot,{[u]:"",ref:s,children:o})}));return d.displayName=c,[{Provider:i,Slot:l,ItemSlot:d},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"}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;function 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 n=[...n,o],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}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:u=!1,...d}=e,p=React__namespace.useRef(null),f=useComposedRefs(t,p),m=useDirection(a),[h=null,_]=useControllableState$1({prop:i,defaultProp:s,onChange:l}),[g,v]=React__namespace.useState(!1),b=useCallbackRef$1(c),y=useCollection$1(n),E=React__namespace.useRef(!1),[w,C]=React__namespace.useState(0);return React__namespace.useEffect((()=>{const e=p.current;if(e)return e.addEventListener(ENTRY_FOCUS,b),()=>e.removeEventListener(ENTRY_FOCUS,b)}),[b]),jsxRuntime.exports.jsx(RovingFocusProvider,{scope:n,orientation:o,dir:m,loop:r,currentTabStopId:h,onItemFocus:React__namespace.useCallback((e=>_(e)),[_]),onItemShiftTab:React__namespace.useCallback((()=>v(!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,...d,ref:f,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===h)),...e].filter(Boolean).map((e=>e.ref.current)),u)}}E.current=!1})),onBlur:composeEventHandlers(e.onBlur,(()=>v(!1)))})})})),ITEM_NAME$2="RovingFocusGroupItem",RovingFocusGroupItem=React__namespace.forwardRef(((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:o=!0,active:r=!1,tabStopId:a,...i}=e,s=useId(),l=a||s,c=useRovingFocusContext(ITEM_NAME$2,n),u=c.currentTabStopId===l,d=useCollection$1(n),{onFocusableItemAdd:p,onFocusableItemRemove:f}=c;return React__namespace.useEffect((()=>{if(o)return p(),()=>f()}),[o,p,f]),jsxRuntime.exports.jsx(Collection$1.ItemSlot,{scope:n,id:l,focusable:o,active:r,children:jsxRuntime.exports.jsx(Primitive.span,{tabIndex:u?0:-1,"data-orientation":c.orientation,...i,ref:t,onMouseDown:composeEventHandlers(e.onMouseDown,(e=>{o?c.onItemFocus(l):e.preventDefault()})),onFocus:composeEventHandlers(e.onFocus,(()=>c.onItemFocus(l))),onKeyDown:composeEventHandlers(e.onKeyDown,(e=>{if("Tab"===e.key&&e.shiftKey)return void c.onItemShiftTab();if(e.target!==e.currentTarget)return;const t=getFocusIntent(e,c.orientation,c.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=d().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=c.loop?wrapArray$1(n,o+1):n.slice(o+1)}setTimeout((()=>focusFirst$1(n)))}}))})})}));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$3(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),u=React__namespace.useRef(!1),d=useCallbackRef$1(a),p=useDirection(r);return React__namespace.useEffect((()=>{const e=()=>{u.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>u.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:d,content:l,onContentChange:c,children:jsxRuntime.exports.jsx(MenuRootProvider,{scope:t,onClose:React__namespace.useCallback((()=>d(!1)),[d]),isUsingKeyboardRef:u,dir:p,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)})})),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:u,onFocusOutside:d,onInteractOutside:p,onDismiss:f,disableOutsideScroll:m,...h}=e,_=useMenuContext(CONTENT_NAME$1,n),g=useMenuRootContext(CONTENT_NAME$1,n),v=usePopperScope(n),b=useRovingFocusGroupScope(n),y=useCollection(n),[E,w]=React__namespace.useState(null),C=React__namespace.useRef(null),x=useComposedRefs(t,C,_.onContentChange),R=React__namespace.useRef(0),S=React__namespace.useRef(""),D=React__namespace.useRef(0),T=React__namespace.useRef(null),O=React__namespace.useRef("right"),I=React__namespace.useRef(0),A=m?ReactRemoveScroll:React__namespace.Fragment,N=m?{as:Slot,allowPinchZoom:!0}:void 0;React__namespace.useEffect((()=>()=>window.clearTimeout(R.current)),[]),useFocusGuards();const k=React__namespace.useCallback((e=>O.current===T.current?.side&&isPointerInGraceArea(e,T.current?.area)),[]);return jsxRuntime.exports.jsx(MenuContentProvider,{scope:n,searchRef:S,onItemEnter:React__namespace.useCallback((e=>{k(e)&&e.preventDefault()}),[k]),onItemLeave:React__namespace.useCallback((e=>{k(e)||(C.current?.focus(),w(null))}),[k]),onTriggerLeave:React__namespace.useCallback((e=>{k(e)&&e.preventDefault()}),[k]),pointerGraceTimerRef:D,onPointerGraceIntentChange:React__namespace.useCallback((e=>{T.current=e}),[]),children:jsxRuntime.exports.jsx(A,{...N,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:u,onFocusOutside:d,onInteractOutside:p,onDismiss:f,children:jsxRuntime.exports.jsx(Root,{asChild:!0,...b,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(_.open),"data-radix-menu-content":"",dir:g.dir,...v,...h,ref:x,style:{outline:"none",...h.style},onKeyDown:composeEventHandlers(h.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=I.current!==e.clientX;if(e.currentTarget.contains(t)&&n){const t=e.clientX>I.current?"right":"left";O.current=t,I.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),[u,d]=React__namespace.useState(!1),[p,f]=React__namespace.useState("");return React__namespace.useEffect((()=>{const e=l.current;e&&f((e.textContent??"").trim())}),[a.children]),jsxRuntime.exports.jsx(Collection.ItemSlot,{scope:n,disabled:o,textValue:r??p,children:jsxRuntime.exports.jsx(Item,{asChild:!0,...s,focusable:!o,children:jsxRuntime.exports.jsx(Primitive.div,{role:"menuitem","data-highlighted":u?"":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,(()=>d(!0))),onBlur:composeEventHandlers(e.onBlur,(()=>d(!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},u=React__namespace.useCallback((()=>{i.current&&window.clearTimeout(i.current),i.current=null}),[]);return React__namespace.useEffect((()=>u),[u]),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),u()}),100))}))),onPointerLeave:composeEventHandlers(e.onPointerLeave,whenMouse((e=>{u();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].x,s=t[e].y,l=t[a].x,c=t[a].y;s>o!=c>o&&n<(l-i)*(o-s)/(c-s)+i&&(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$3(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),[u=!1,d]=useControllableState$1({prop:r,defaultProp:a,onChange:i});return jsxRuntime.exports.jsx(DropdownMenuProvider,{scope:t,triggerId:useId(),triggerRef:c,contentId:useId(),open:u,onOpenChange:d,onOpenToggle:React__namespace.useCallback((()=>d((e=>!e))),[d]),modal:s,children:jsxRuntime.exports.jsx(Root3,{...l,open:u,onOpenChange:d,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:"span",c=useOverrides(),u=t??c.LIST_REMAINING,d=React.useMemo((()=>{const t=n&&n<e.length-1?[...e.slice(0,n),u(e.length-n)]:[...e],r=Array(t.length).fill(".");return listFormat(o).formatToParts(r).map((e=>"element"===e.type?t.shift():e.value))}),[u,o,n,e]);return jsxRuntime.exports.jsx(l,{className:classNames("lb-list",r),...i,ref:s,children:d})})),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]),u=useOverrides(n),d=React.useMemo((()=>jsxRuntime.exports.jsx("span",{children:u.COMMENT_REACTION_LIST(jsxRuntime.exports.jsx(List,{values:t.users.map((e=>jsxRuntime.exports.jsx(User,{userId:e.id,replaceSelf:!0},e.id))),formatRemaining:u.LIST_REMAINING_USERS,truncate:REACTIONS_TRUNCATE,locale:u.locale}),t.emoji,t.users.length)})),[u,t]),p=React.useCallback((e=>{e.stopPropagation()}),[]),f=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:d,multiline:!0,className:"lb-comment-reaction-tooltip",children:jsxRuntime.exports.jsx(Root$3,{asChild:!0,pressed:c,onPressedChange:f,onClick:p,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:u,onCommentDelete:d,overrides:p,className:f,additionalActions:m,additionalActionsClassName:h,autoMarkReadThreadId:_,...g},v)=>{const b=React.useRef(null),y=useRefs(v,b),E=useCurrentUserId(),w=useDeleteRoomComment(e.roomId),C=useEditRoomComment(e.roomId),x=useAddRoomCommentReaction(e.roomId),R=useRemoveRoomCommentReaction(e.roomId),S=useOverrides(p),[D,T]=React.useState(!1),[O,I]=React.useState(!1),[A,N]=React.useState(!1),[k,$]=React.useState(!1),{mediaAttachments:F,fileAttachments:j}=React.useMemo((()=>separateMediaAttachments(e.attachments)),[e.attachments]),P=React.useCallback((e=>{e.stopPropagation()}),[]),M=React.useCallback((()=>{T(!0)}),[]),L=React.useCallback((e=>{e.stopPropagation(),T(!1)}),[]),B=React.useCallback((({body:t,attachments:n},o)=>{u?.(e),o.preventDefault(),T(!1),C({commentId:e.id,threadId:e.threadId,body:t,attachments:n})}),[e,C,u]),U=React.useCallback((()=>{d?.(e),w({commentId:e.id,threadId:e.threadId})}),[e,w,d]),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&&I(!0)}),[]),n||e.body?jsxRuntime.exports.jsxs(TooltipProvider,{children:[_&&jsxRuntime.exports.jsx(AutoMarkReadThreadIdHandler,{commentRef:b,threadId:_,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",(A||k)&&"lb-comment:action-open",f),"data-deleted":e.body?void 0:"","data-editing":D?"":void 0,"data-target":O?"":void 0,dir:S.dir,...g,ref:y,children:[jsxRuntime.exports.jsxs("div",{className:"lb-comment-header",children:[jsxRuntime.exports.jsxs("div",{className:"lb-comment-details",children:[jsxRuntime.exports.jsx(Avatar,{className:"lb-comment-avatar",userId:e.userId,onClick:V}),jsxRuntime.exports.jsxs("span",{className:"lb-comment-details-labels",children:[jsxRuntime.exports.jsx(User,{className:"lb-comment-author",userId:e.userId,onClick:V}),jsxRuntime.exports.jsxs("span",{className:"lb-comment-date",children:[jsxRuntime.exports.jsx(Timestamp,{locale:S.locale,date:e.createdAt,className:"lb-date lb-comment-date-created"}),e.editedAt&&e.body&&jsxRuntime.exports.jsxs(jsxRuntime.exports.Fragment,{children:[" ",jsxRuntime.exports.jsx("span",{className:"lb-comment-date-edited",children:S.COMMENT_EDITED})]})]})]})]}),o&&!D&&jsxRuntime.exports.jsxs("div",{className:classNames("lb-comment-actions",h),children:[m??null,r&&jsxRuntime.exports.jsx(EmojiPicker,{onEmojiSelect:H,onOpenChange:$,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:A,onOpenChange:N,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:B,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:L,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&&(F.length>0||j.length>0)?jsxRuntime.exports.jsxs("div",{className:"lb-comment-attachments",children:[F.length>0?jsxRuntime.exports.jsx("div",{className:"lb-attachments",children:F.map((t=>jsxRuntime.exports.jsx(CommentMediaAttachment,{attachment:t,overrides:p,onAttachmentClick:c,roomId:e.roomId},t.id)))}):null,j.length>0?jsxRuntime.exports.jsx("div",{className:"lb-attachments",children:j.map((t=>jsxRuntime.exports.jsx(CommentFileAttachment,{attachment:t,overrides:p,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:p},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:u,components:d,className:p,asChild:f,...m},h)=>{const _=useOverrides(u),{Anchor:g}=useComponents(d),v=f?Slot:g,[b,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(v,{className:classNames("lb-root lb-inbox-notification","hover"===c&&"lb-inbox-notification:show-actions-hover",b&&"lb-inbox-notification:action-open",p),dir:_.dir,"data-unread":a?"":void 0,"data-kind":e.kind,onClick:C,href:l,...m,ref:h,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:_.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:b,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"}),_.INBOX_NOTIFICATION_MARK_AS_READ]}):null,jsxRuntime.exports.jsxs(DropdownItem,{onSelect:T,onClick:x,children:[jsxRuntime.exports.jsx(DeleteIcon,{className:"lb-dropdown-item-icon"}),_.INBOX_NOTIFICATION_DELETE]})]}),children:jsxRuntime.exports.jsx(Tooltip,{content:_.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":_.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),u=_useInboxNotificationThread(e.id),d=useCurrentUserId(),{info:p}=useRoomInfo(e.roomId),f=React.useMemo((()=>{const t=generateInboxNotificationThreadContents(e,u,d??"");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:u.roomId}):void 0,e.length),d=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:d,threadId:u.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:u.roomId}):void 0),d=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:d,threadId:u.id,commentId:a.id}}default:return assertNever(t,"Unexpected thread inbox notification type")}}),[c,d,e,i,n,r,o,u]),m=React.useMemo((()=>{const e=t??p?.url;return e?generateURL(e,void 0,f?.commentId):void 0}),[f?.commentId,t,p?.url]);if(!f)return null;const{aside:h,title:_,content:g,date:v,unread:b}=f;return jsxRuntime.exports.jsx(InboxNotificationLayout,{inboxNotification:e,aside:h,title:_,date:v,unread:b,overrides:i,href:m,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:u,onCommentDelete:d,onThreadDelete:p,onAuthorClick:f,onMentionClick:m,onAttachmentClick:h,onComposerSubmit:_,overrides:g,className:v,...b},y)=>{const E=useMarkRoomThreadAsResolved(e.roomId),w=useMarkRoomThreadAsUnresolved(e.roomId),C=useOverrides(g),x=React.useMemo((()=>o?0:e.comments.findIndex((e=>e.body))),[o,e.comments]),R=React.useMemo((()=>o?e.comments.length-1:findLastIndex(e.comments,(e=>e.body))),[o,e.comments]),{status:S,unreadSince:D}=useThreadSubscription(e.id),T=React.useMemo((()=>{if("subscribed"!==S)return;if(null===D)return x;const t=e.comments.findIndex((e=>(!!o||e.body)&&e.createdAt>D));return t>=0&&t<e.comments.length?t:void 0}),[x,o,S,e.comments,D]),[O,I]=React.useState(),A=void 0===O?T:O;React.useEffect((()=>{T&&I((e=>Math.min(e??1/0,T)))}),[T]);const N=React.useCallback((e=>{e.stopPropagation()}),[]),k=React.useCallback((t=>{c?.(t),t?E(e.id):w(e.id)}),[E,w,c,e.id]),$=React.useCallback((t=>{d?.(t);e.comments.filter((e=>e.body)).length<=1&&p?.(e)}),[d,p,e]);return jsxRuntime.exports.jsx(TooltipProvider,{children:jsxRuntime.exports.jsxs("div",{className:classNames("lb-root lb-thread","hover"===n&&"lb-thread:show-actions-hover",v),"data-resolved":e.resolved?"":void 0,"data-unread":void 0!==T?"":void 0,dir:C.dir,...b,ref:y,children:[jsxRuntime.exports.jsx("div",{className:"lb-thread-comments",children:e.comments.map(((i,c)=>{const d=c===x,p=void 0!==T&&c>=T,_=jsxRuntime.exports.jsx(Comment,{className:"lb-thread-comment","data-unread":p?"":void 0,comment:i,indentContent:t,showDeleted:o,showActions:n,showReactions:a,showAttachments:s,showComposerFormattingControls:l,onCommentEdit:u,onCommentDelete:$,onAuthorClick:f,onMentionClick:m,onAttachmentClick:h,autoMarkReadThreadId:c===R&&p?e.id:void 0,additionalActionsClassName:d?"lb-thread-actions":void 0,additionalActions:d&&r?jsxRuntime.exports.jsx(Tooltip,{content:e.resolved?C.THREAD_UNRESOLVE:C.THREAD_RESOLVE,children:jsxRuntime.exports.jsx(Root$3,{pressed:e.resolved,onPressedChange:k,asChild:!0,children:jsxRuntime.exports.jsx(Button,{className:"lb-comment-action",onClick:N,"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===A&&A!==x&&A<=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]})}),_]},i.id):_}))}),i&&jsxRuntime.exports.jsx(Composer,{className:"lb-thread-composer",threadId:e.id,defaultCollapsed:"collapsed"===i||void 0,showAttachments:s,showFormattingControls:l,onComposerSubmit:_,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,u=e.showDeletedComments,d=e.showResolveAction,p=void 0===d||d,f=e.showReactions,m=void 0===f||f,h=e.showComposer,_=void 0===h?"collapsed":h,g=e.showAttachments,v=void 0===g||g,b=e.showComposerFormattingControls,y=void 0===b||b;return a&&(_=!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:u,showResolveAction:p,showReactions:m,showComposer:_,showAttachments:v,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$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 _classCallCheck$1(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _toPrimitive$1(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$1(e){var t=_toPrimitive$1(e,"string");return"symbol"===_typeof$1(t)?t:String(t)}function _defineProperties$1(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$1(o.key),o)}}function _createClass$1(e,t,n){return t&&_defineProperties$1(e.prototype,t),n&&_defineProperties$1(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$1(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$1(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}function _arrayWithHoles$1(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$1(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function _unsupportedIterableToArray$1(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray$1(e,t);var n=Object.prototype.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$1(e,t):void 0}}function _nonIterableRest$1(){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$1(e)||_iterableToArray(e)||_unsupportedIterableToArray$1(e)||_nonIterableRest$1()}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$1(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$1(this,e),this.init(t,n)}return _createClass$1(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$1(this,e),this.observers={}}return _createClass$1(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$1(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$1(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$1(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$1(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$1(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$1(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$1(t)&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"===_typeof$1(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,u=c[c.length-1],d=t.lng||this.language,p=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d&&"cimode"===d.toLowerCase()){if(p){var f=t.nsSeparator||this.options.nsSeparator;return a?{res:"".concat(u).concat(f).concat(l),usedKey:l,exactUsedKey:l,usedLng:d,usedNS:u}:"".concat(u).concat(f).concat(l)}return a?{res:l,usedKey:l,exactUsedKey:l,usedLng:d,usedNS:u}:l}var m=this.resolve(e,t),h=m&&m.res,_=m&&m.usedKey||l,g=m&&m.exactUsedKey||l,v=Object.prototype.toString.apply(h),b=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject;if(y&&h&&("string"!=typeof h&&"boolean"!=typeof h&&"number"!=typeof h)&&["[object Number]","[object Function]","[object RegExp]"].indexOf(v)<0&&("string"!=typeof b||"[object Array]"!==v)){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,_objectSpread$4(_objectSpread$4({},t),{},{ns:c})):"key '".concat(l," (").concat(this.language,")' returned an object instead of string.");return a?(m.res=E,m):E}if(i){var w="[object Array]"===v,C=w?[]:{},x=w?g:_;for(var R in h)if(Object.prototype.hasOwnProperty.call(h,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]=h[R])}h=C}}else if(y&&"string"==typeof b&&"[object Array]"===v)(h=h.join(b))&&(h=this.extendTranslation(h,e,t,o));else{var D=!1,T=!1,O=void 0!==t.count&&"string"!=typeof t.count,I=n.hasDefaultValue(t),A=O?this.pluralResolver.getSuffix(d,t.count,t):"",N=t["defaultValue".concat(A)]||t.defaultValue;!this.isValidLookup(h)&&I&&(D=!0,h=N),this.isValidLookup(h)||(T=!0,h=l);var k=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&T?void 0:h,$=I&&N!==h&&this.options.updateMissing;if(T||D||$){if(this.logger.log($?"updateKey":"missingKey",d,u,l,$?N:h),i){var F=this.resolve(l,_objectSpread$4(_objectSpread$4({},t),{},{keySeparator:!1}));F&&F.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 j=[],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++)j.push(P[M]);else"all"===this.options.saveMissingTo?j=this.languageUtils.toResolveHierarchy(t.lng||this.language):j.push(t.lng||this.language);var L=function(e,n,o){var a=I&&o!==h?o:k;r.options.missingKeyHandler?r.options.missingKeyHandler(e,u,n,a,$,t):r.backendConnector&&r.backendConnector.saveMissing&&r.backendConnector.saveMissing(e,u,n,a,$,t),r.emit("missingKey",e,u,n,h)};this.options.saveMissing&&(this.options.saveMissingPlurals&&O?j.forEach((function(e){r.pluralResolver.getSuffixes(e,t).forEach((function(n){L([e],l+n,t["defaultValue".concat(n)]||N)}))})):L(j,l,N))}h=this.extendTranslation(h,e,t,m,o),T&&h===l&&this.options.appendNamespaceToMissingKey&&(h="".concat(u,":").concat(l)),(T||D)&&this.options.parseMissingKeyHandler&&(h="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?"".concat(u,":").concat(l):l,D?h:void 0):this.options.parseMissingKeyHandler(h))}return a?(m.res=h,m):h}},{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 u=e.match(this.interpolator.nestingRegexp);i<(u&&u.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 d=n.postProcess||this.options.postProcess,p="string"==typeof d?[d]:d;return null!=e&&p&&p.length&&!1!==n.applyPostProcessor&&(e=postProcessor.handle(p,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 u=l.namespaces;i.options.fallbackNS&&(u=u.concat(i.options.fallbackNS));var d=void 0!==s.count&&"string"!=typeof s.count,p=d&&!s.ordinal&&0===s.count&&i.pluralResolver.shouldUseIntlApi(),f=void 0!==s.context&&("string"==typeof s.context||"number"==typeof s.context)&&""!==s.context,m=s.lngs?s.lngs:i.languageUtils.toResolveHierarchy(s.lng||i.language,s.fallbackLng);u.forEach((function(e){i.isValidLookup(t)||(a=e,!checkedLoadedFor["".concat(m[0],"-").concat(e)]&&i.utils&&i.utils.hasLoadedNamespace&&!i.utils.hasLoadedNamespace(a)&&(checkedLoadedFor["".concat(m[0],"-").concat(e)]=!0,i.logger.warn('key "'.concat(n,'" for languages "').concat(m.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!!!")),m.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 u;d&&(u=i.pluralResolver.getSuffix(n,s.count,s));var m="".concat(i.options.pluralSeparator,"zero");if(d&&(l.push(c+u),p&&l.push(c+m)),f){var h="".concat(c).concat(i.options.contextSeparator).concat(s.context);l.push(h),d&&(l.push(h+u),p&&l.push(h+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$1(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=baseLogger.create("languageUtils")}return _createClass$1(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$1(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$1(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$1(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$1(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$1(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 u=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 d=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,p=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=u(n)))if("function"==typeof d){var l=d(e,r,o);a="string"==typeof l?l:""}else if(o&&Object.prototype.hasOwnProperty.call(o,n))a="";else{if(p){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),p?(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 u=n[1].split(this.formatSeparator).map((function(e){return e.trim()}));n[1]=u.shift(),l=u,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$1(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$1(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$1(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]||{},u=c.locale||c.lng||r.locale||r.lng||n;l=o.formats[i](e,u,_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$1(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$1(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$1(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$1(e[1])&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"===_typeof$1(e[2])||"object"===_typeof$1(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$1(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$1(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$1(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(),u=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?u():setTimeout(u,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$1(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,u=o.options.keySeparator||".";return c=a.keyPrefix&&Array.isArray(t)?t.map((function(e){return"".concat(a.keyPrefix).concat(u).concat(e)})):a.keyPrefix?"".concat(a.keyPrefix).concat(u).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$1(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 _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 _toPrimitive(e,t){if("object"!==_typeof(e)||null===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:String(t)}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 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}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}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}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 _arrayWithHoles(e){if(Array.isArray(e))return 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 _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new 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=Object.prototype.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 _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),u=c.useSuspense,d=c.keyPrefix,p=e||a||i.options&&i.options.defaultNS;p="string"==typeof p?[p]:p||["translation"],i.reportNamespaces.addUsedNamespaces&&i.reportNamespaces.addUsedNamespaces(p);var f=(i.isInitialized||i.initializedStoreOnce)&&p.every((function(e){return hasLoadedNamespace(e,i,c)}));function m(){return i.getFixedT(t.lng||null,"fallback"===c.nsMode?p:p[0],d)}var h=_slicedToArray(React.useState(m),2),_=h[0],g=h[1],v=p.join();t.lng&&(v="".concat(t.lng).concat(v));var b=usePrevious(v),y=React.useRef(!0);React.useEffect((function(){var e=c.bindI18n,n=c.bindI18nStore;function o(){y.current&&g(m)}return y.current=!0,f||u||(t.lng?loadLanguages(i,t.lng,p,(function(){y.current&&g(m)})):loadNamespaces(i,p,(function(){y.current&&g(m)}))),f&&b&&b!==v&&y.current&&g(m),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,v]);var E=React.useRef(!0);React.useEffect((function(){y.current&&!E.current&&g(m),E.current=!1}),[i,d]);var w=[_,i,f];if(w.t=_,w.i18n=i,w.ready=f,f)return w;if(!f&&!u)return w;throw new Promise((function(e){t.lng?loadLanguages(i,t.lng,p,(function(){return e()})):loadNamespaces(i,p,(function(){return e()}))}))}var funcProto=Function.prototype,funcToString=funcProto.toString;funcToString.call(Object);const getBuilderContext=()=>"undefined"==typeof window?{}:Builder.settings.context?Builder.settings.context:Builder.settings;async function fetchAPI(e,t={credentials:"include"}){const n={"Content-Type":"application/json"},o=getAuthorization();o&&(n.Authorization=o),t.headers=Object.assign({},n,t.headers),t.credentials="include";const r=await fetch(`${getRootUrl()}${e}`,t);if(401===r.status)throw new Error(401);const a=await r.json();if(a.errors)throw console.error(a.errors),new Error("Failed to fetch API");return a}function getAuthorization(){try{const e=getBuilderContext();let t=e.tenantId,n=e.authToken;return t&&n?`Bearer ${t},${n}`:null}catch(e){console.error(e)}}function getUserId(){try{let e=getBuilderContext().userId;return e||null}catch(e){console.error(e)}}function getRootUrl(e){const t=getBuilderContext();if(t.rootUrl)return t.rootUrl;const n="undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"";return n||(e||"")}const Router={getTabDisplayAs(e,t){var n=new URLSearchParams(document.location.search);if(n.has("display"))return n.get("display");const o=`tab_${e}_display`,r=sessionStorage.getItem(o);let a="grid";return!0===t&&(a="split"),window.innerWidth<=768?"grid":r||a},setTabDisplayAs(e,t){const n=`tab_${e}_display`;sessionStorage.setItem(n,t)},getAppPath:({formFactor:e,appId:t})=>`/app/${t}`,getPagePath(){},getObjectListViewPath:({formFactor:e,appId:t,objectName:n,listViewName:o})=>`/app/${t}/${n}/grid/${o}`,getObjectDetailPath(e){const{formFactor:t,appId:n,objectName:o,recordId:r,listViewName:a,_templateType:i}=e;return"JavaScript"===i?`/app/${n}/${o}/view/${r}?side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>`:`/app/${n}/${o}/view/${r}?side_object=\${objectName}&side_listview_id=\${listName}`},getObjectRelatedViewPath:({formFactor:e,appId:t,masterObjectName:n,masterRecordId:o,objectName:r,foreignKey:a})=>`/app/${t}/${n}/${o}/${r}/grid?related_field_name=${a}`};function getImageFieldUrl(e,t){if(window.Meteor){if(1!=window.Meteor.isCordova){const t=e.indexOf("//"),n=e.indexOf("/",t+2);return e.substring(n)}if(t||e.startsWith("http"))return`${e}?token=${window.btoa(JSON.stringify({authToken:Builder.settings.context.authToken}))}`}return e}function toGrayscale(e,t,n){return.2126*e+.7152*t+.0722*n}function isLight(e,t,n){return toGrayscale(e,t,n)>200}function getContrastColor(e){var t="#"===e.charAt(0)?e.substring(1,7):e;return isLight(parseInt(t.substr(0,2),16),parseInt(t.substr(2,2),16),parseInt(t.substr(4,2),16))?"#000000":"#ffffff"}function getLookupListView(e){if(!e)return null;let t,n;return _.each(e.list_views,((e,o)=>{"all"===o?(t=e,t.name||(t.name=o)):"lookup"===o&&(n=e,n.name||(n.name=o))})),n||t}function getComparableAmisVersion(){let e=window.amisRequire&&window.amisRequire("amis")||window.Amis,t=e&&e.version;if(t){let e=t.split(".");return parseFloat(e[0].toString()+"."+e[1].toString())}}function getBowserType(){const e=navigator.userAgent;return-1!==e.indexOf("Chrome")&&-1!==e.indexOf("Safari")&&-1===e.indexOf("Edg")?"Chrome":-1!==e.indexOf("Firefox")?"Firefox":-1!==e.indexOf("Safari")&&-1===e.indexOf("Chrome")&&-1===e.indexOf("Edge")?"Safari":-1!==e.indexOf("Edg")?"Edge":"Unknown browser"}function getNumberTpl(e){return`<span>\${_display.${e.name}}</span>`}function getTimeTpl(e){return`<span>\${_display.${e.name}}</span>`}function getDateTpl(e){return`<span>\${_display.${e.name}}</span>`}function getDateTimeTpl(e){return`<span>\${_display.${e.name}}</span>`}function getUiFieldTpl(e){return`<span>\${_display.${e.name}}</span>`}function getUiFileSizeTpl(e){return`<span>\${_display.${e.name}}</span>`}async function getRefObjectNameFieldName(e){return(await getUISchema(e.reference_to)).NAME_FIELD_KEY||"name"}function getSelectTpl(e){return`<span>\${_display.${e.name}}</span>`}function getSelectMap(e){let t={};return _$1.forEach(e,(e=>{const n=e.value+"",o=e.color+"";if(o&&"undefined"!=o){const r="#"===o.charAt(0)?o:"#"+o,a="background:"+r+";color:"+getContrastColor(r)+";line-height:1.5rem;font-size:14px";t[n]=`<span class="rounded-xl px-2 py-1" style='${a}'>${e.label}</span>`}else t[n]=e.label})),t}function getNameTplUrl(e,t){return Router.getObjectDetailPath({...t,formFactor:t.formFactor,appId:"${appId}",objectName:t.objectName||"${objectName}",recordId:`\${${t.idFieldName}}`})}function getNameTpl(e,t){const n=getNameTplUrl(e,t);let o="";t&&t.isLookup&&(o="target='_blank'");let r=e.name;return"lookup"==e.type||"master_detail"==e.type?!e.reference_to&&(e.optionsFunction||e._optionsFunction||e.options)?e.isTableField||(r=`\${${e.name}__label}`):r=`\${_display.${e.name}.label}`:r=`\${_display.${e.name} || ${e.name}}`,t.isRelated&&window.innerWidth>=768?`<a href="${n}" ${o} onclick="return false;">\${${r} | raw}</a>`:`<a href="${n}" ${o}>\${${r} | raw}</a>`}function getRelatedFieldTpl(e,t){let n="";if(!e.reference_to&&(e.optionsFunction||e._optionsFunction||e.options))return e.isTableField?`\${${e.name}}`:`\${${e.name}__label}`;let o="";t&&t.isLookup&&(o="target='_blank'");const r=t.onlyDisplayLookLabel;let a=`data._display.${e.name}`;if(e.isTableField&&(a=`data.${e.name}`),_.isString(e.reference_to)||!e.reference_to)if(e.multiple){let e="<%=item.label%>";if(t.isRelated&&(o="target='_blank'"),!r){e=`<a href="${Router.getObjectDetailPath({formFactor:t.formFactor,appId:"<%=data.appId%>",objectName:"<%=item.objectName%>",recordId:"<%=item.value%>",_templateType:"JavaScript"})}" ${o}><%=item.label%></a>`}n=`\n <% if (${a} && ${a}.length) { %><% ${a}.forEach(function(item,index) { %> <% if(index>0 && index<${a}.length){ %> , <% } %> ${e} <% }); %><% } %>\n `}else{let a=`\${_display.${e.name}.label}`,i=`\${_display.${e.name}.objectName}`,s=`\${_display.${e.name}.value}`;if(e.isTableField&&(a=`\${${e.name}.label}`,i=`\${${e.name}.objectName}`,s=`\${${e.name}.value}`),!r){const e=Router.getObjectDetailPath({formFactor:t.formFactor,appId:"${appId}",objectName:`${i}`,recordId:`${s}`});a=window.innerWidth>=768?`<a href="${e}" ${o} onclick="return false;">${a}</a>`:`<a href="${e}" ${o}>${a}</a>`}n=a}else{let e="<%=item.label%>";if(!r){e=`<a href="${Router.getObjectDetailPath({formFactor:t.formFactor,appId:"<%=data.appId%>",objectName:"<%=item.objectName%>",recordId:"<%=item.value%>",_templateType:"JavaScript"})}" ${o}><%=item.label%></a>`}n=`\n <% if (${a} && ${a}.length) { %><% ${a}.forEach(function(item) { %> ${e} <% }); %><% } %>\n `}return n}async function getLookupTpl(e,t){if(!e.reference_to)return getSelectTpl(e);const n=await getRefObjectNameFieldName(e);if(e.multiple){const o=Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:e.reference_to,recordId:"<%=item._id%>",_templateType:"JavaScript"});return`\n <% if (data.${e.name} && data.${e.name}.length) { %><% data.${e.name}.forEach(function(item) { %> <a href="${o}"><%=item.${n}%></a> <% }); %><% } %>\n `}return`<a href="${Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:e.reference_to,recordId:`\${${e.name}._id}`})}">\${${e.name}.${n}}</a>`}function getSwitchTpl(e){let t=`data._display.${e.name}`;return e.isTableField&&(t=`data.${e.name}`),`<% if (data.${e.name}) { %>\n <span class="slds-icon_container slds-icon-utility-check slds-current-color" title="<%=${t}%>">\n <span ><%= ${t} === "√" ? "<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-4 h-4'><path stroke-linecap='round' stroke-linejoin='round' d='M4.5 12.75l6 6 9-13.5' /></svg>" : ${t} %></span>\n </span>\n <% } %>`}function getPasswordTpl(e){return`<% if (data.${e.name}) { %>\n <span>******</span>\n <% } %>`}function getLocationTpl(e){return`\${${e.name} ? ${e.name}.address : ''}`}async function getFieldTpl(e,t){if((e.is_name||e.name===t.labelFieldName)&&!t.onlyDisplayLookLabel&&!0!==e.multiple)return getNameTpl(e,t);switch(e.type){case"password":return getPasswordTpl(e);case"boolean":case"toggle":return getSwitchTpl(e);case"select":return getSelectTpl(e);case"time":return getTimeTpl(e);case"date":return getDateTpl(e);case"datetime":return getDateTimeTpl(e);case"lookup":case"master_detail":return await getRelatedFieldTpl(e,t);case"location":return await getLocationTpl(e);case"number":case"currency":return await getNumberTpl(e);case"percent":case"formula":case"summary":return getUiFieldTpl(e);case"filesize":return getUiFileSizeTpl(e)}}async function getFieldsTemplate(e,t,n){let o=[];0!=n&&(n=!0);let r=["_id"];e.datasource&&"default"!==e.datasource&&"meteor"!==e.datasource||r.push("space");let a=[],i=[];i=_$1__namespace.isArray(t)?t:_$1__namespace.values(t);for(const e of i)e.name&&(e.expand?o.push(e):e.name.indexOf(".")<0?(!n||"lookup"!=e.type&&"master_detail"!=e.type?r.push(e.alias?`${e.alias}:${e.name}`:e.name):(r.push(`${e.name}`),a.push(`${e.name}`)),_$1.includes(["time","date","datetime","boolean","number","currency"],e.type)&&r.push(`${e.name}`),_$1.includes(["percent","time","filesize","date","datetime","boolean","number","currency","select","file","image","avatar","formula","summary","object","grid"],e.type)&&a.push(`${e.name}`)):(objectFieldName=e.name.split(".")[0],r.push(objectFieldName),a.push(objectFieldName)));a=_$1__namespace.uniq(a),r=_$1__namespace.uniq(r);let s="";return o.length>0&&_$1__namespace.each(o,(function(e){s+=`${e.expandInfo.fieldName}__expand{${e.expandInfo.displayName}}`})),a.length>0?`${r.join(",")},${s},_display:_ui{${a.join(",")}}`:_$1.trimEnd(`${r.join(" ")},${s}`,",")}async function getFindQuery(e,t,n,o){let r=o.limit||10,a=`(top: ${r})`;t&&(a=`(filters:["_id", "=", "${t}"], top: ${r})`);let i="data";o&&(o.alias&&(i=o.alias),o.filters&&(a=`(filters:${o.filters})`),o.queryOptions&&(a=`(${o.queryOptions})`));var s="";e.enable_tree&&_$1__namespace.includes(_$1__namespace.keys(e.fields),"parent")&&_$1__namespace.includes(_$1__namespace.keys(e.fields),"children")&&(s=",parent,children");var l="";"cms_files"===e.name&&(l=",versions");const c=!1===o.count?"":`,count:${e.name}__count(filters:{__filters})`,u=`${await getFieldsTemplate(e,n,o.expand)}${s}${l}`;return{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",queryFields:u,query:`{${i}:${e.name}${a}{${u}}${c}}`}}function getApi$2(e){if(!e)return"${context.rootUrl}/graphql?reload=${additionalFilters|join}&listName=${listName}"}"undefined"!=typeof window&&(window.getImageFieldUrl=getImageFieldUrl);var config={listView:{newRecordMode:"modal",editRecordMode:"modal",perPage:20}};const AmisFormInputs=["text","date","file","avatar","image","datetime","time","number","currency","percent","password","url","color","email"];function getAmisStaticFieldType(e,t,n){return t?_$1__namespace.includes(["text","image","color"],e)?"text"===e&&n&&n.amis&&n.amis.tpl?"static":"image"===e&&n&&n.multiple?"static-images":`static-${e}`:"url"===e?"input-url":"static":_$1__namespace.includes(AmisFormInputs,e)?`input-${e}`:"location"===e?"location-picker":e}let pageCache={};async function getPage({type:e,pageId:t="",appId:n,objectName:o="",recordId:r="",formFactor:a="LARGE"}){const i=`/api/pageSchema/${e}?app=${n}&objectApiName=${o}&recordId=${r}&pageId=${t}&formFactor=${a}`;if(_$1.has(pageCache,i))return pageCache[i];const s=await fetchAPI(i);if(s&&s.schema)return s.schema=JSON.parse(s.schema),s.schema.data&&(delete s.schema.data.recordId,delete s.schema.data.objectName,delete s.schema.data.context,delete s.schema.data.global),pageCache[i]=s,JSON.parse(JSON.stringify(s));pageCache[i]=null}const getFileTableName=e=>{switch(e.type){case"avatar":return"avatars";case"image":return"images";case"file":return"files"}},getAmisFieldType$1=(e,t)=>getAmisStaticFieldType("avatar"===e.type?"image":e.type,t,{multiple:e.multiple});async function getLookupLinkOnClick(e,t){const n=await getPage({type:"record",appId:t.appId,objectName:t.objectName,formFactor:t.formFactor}),o=n?Object.assign({},n.schema,{recordId:"file"==e.type?"${value}":`\${${e.name}}`,data:{...n.schema.data,_inDrawer:!0,recordLoaded:!1,objectName:t.objectName}}):{type:"steedos-record-detail",objectApiName:t.objectName,recordId:"file"==e.type?"${value}":`\${${e.name}}`,showBackButton:!1,showButtons:!0,data:{_inDrawer:!0,recordLoaded:!1}};return{click:{actions:[{actionType:"drawer",drawer:{type:"drawer",title:" ",headerClassName:"hidden",size:"lg",width:window.drawerWidth||"70%",bodyClassName:"p-0 m-0 bg-gray-100",closeOnEsc:!0,closeOnOutside:!0,resizable:!0,actions:[],body:[o],className:"steedos-record-detail-drawer app-popover"},preventDefault:!0}]}}}const getAmisFileReadonlySchema=async(e,t={})=>{const n=e.type,{appId:o,formFactor:r}=t.amisData||{},a=getAmisFieldType$1(e,!0);let i='onclick="return false;"';return window.innerWidth<768&&(i=""),_.includes(["avatar","image"],n)?{type:a,defaultImage:"",enlargeAble:!0,showToolbar:!0}:"file"===n?window.Meteor?.isCordova?{type:"control",body:e.multiple?{type:"each",name:"_display."+e.name,items:{type:"tpl",tpl:"${name}",className:"antd-Button--link inline-block mr-2",onEvent:{click:{actions:[{script:"\n Steedos.cordovaDownload(encodeURI(event.data.url), event.data.name);\n ",actionType:"custom"}],weight:0}}}}:{type:"tpl",tpl:"${_display."+e.name+".name}",className:"antd-Button--link inline-block",onEvent:{click:{actions:[{script:`\n const data = event.data._display.${e.name};\n Steedos.cordovaDownload(encodeURI(data.url), data.name);\n `,actionType:"custom"}],weight:0}}}}:{type:"control",name:"",body:{type:"each",placeholder:"",className:e.multiple?"flex flex-col":"",source:`\${_display.${e.name}|asArray}`,items:{type:"static",labelClassName:"hidden",label:!1,className:"m-0",tpl:`<a href="/app/-/cfs_files_filerecord/view/\${value}" ${i}>\${name}</a>`,onEvent:window.innerWidth<768?null:await getLookupLinkOnClick(e,{appId:o,objectName:"cfs_files_filerecord",formFactor:r})}}}:void 0},getAmisFileEditSchema=e=>{const t=getFileTableName(e);let n={type:getAmisFieldType$1(e,!1),useChunk:!1,receiver:{method:"post",dataType:"form-data",url:`\${context.rootUrl}/api/v6/files/cfs.${t}.filerecord`,requestAdaptor:"\n const superData = (typeof context != 'undefined') ? context : api.body; \n const { _master, global } = superData;\n // const { recordId, objectName } = _master;\n const { spaceId, userId, user } = global;\n /*\n record_id: recordId,\n parent: recordId,\n object_name: objectName,\n owner_name: user.name,\n space: spaceId,\n owner: userId\n */\n // 参考platform 2.2版本,附件字段保存时cfs.files.filerecord、cfs.images.filerecord表中的metadata下只保存space、owner两个属性值。\n api.data.append('space', spaceId);\n api.data.append('owner', userId);\n\n return api;\n ",adaptor:`\n const superData = (typeof context != 'undefined') ? context : api.body; \n const { context:pageContext } = superData; \n var rootUrl = pageContext.rootUrl + "/api/v6/files/download/cfs.${t}.filerecord/";\n payload = {\n status: response.status == 200 ? 0 : response.status,\n msg: response.statusText,\n data: {\n value: payload._id,\n name: payload.original.name,\n url: rootUrl + payload._id + "/" + payload.original.name,\n }\n }\n return payload;\n `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return e.multiple&&(n.multiple=!0,n.joinValues=!1,n.extractValue=!0,"image"===e.type&&Steedos.isCordova()&&Steedos.isCordova()&&(n.accept="")),n},getAmisFileSchema=async(e,t,n)=>t?await getAmisFileReadonlySchema(e,n):getAmisFileEditSchema(e);var frontend_field_group_generalization$1="General",frontend_download$1="Download",frontend_form_save$1="Save",frontend_form_save_and_new$1="Save and New",frontend_form_cancel$1="Cancel",frontend_form_reset$1="Reset",frontend_form_new$1="New",frontend_form_edit$1="Edit",frontend_form_preview$1="Preview",frontend_form_select$1="Select",frontend_form_please_select$1="Please select",frontend_form_confirm$1="Confirm",frontend_form_delete$1="Delete",frontend_form_view$1="view",frontend_form_details$1="Details",frontend_form_validation_failed_url$1="The URL format is incorrect",frontend_delete_confirm_text$1="Are you sure you want to delete this item?",frontend_delete_many_selected_required$1="Please select the item to be deleted",frontend_delete_many_confirm_text$1="Are you sure you want to delete?",frontend_display_type_is_table$1="Table",frontend_display_type_is_split$1="Split View",frontend_display_as$1="Displayed as",frontend_record_sum$1="items",frontend_button_reload_tooltip$1="Refresh",frontend_button_search_tooltip$1="Filter",frontend_fields_filter_button_search$1="Search",frontend_fields_filter_button_settings$1="Set search options",frontend_button_listview_control_tooltip$1="List View Controls",frontend_button_listview_control_label$1="LIST VIEW CONTROLS",frontend_listview_control_columns$1="Show List",frontend_listview_control_columns_mobile_group$1="Mobile side",frontend_listview_control_clone_label$1="Clone",frontend_listview_control_clone_title$1="Clone List View",frontend_listview_control_clone_defaultData_label_start$1="Copy of",frontend_listview_control_clone_defaultData_label_end$1="",frontend_listview_control_delete_label$1="Delete",frontend_listview_control_delete_confirm_text$1="If you delete this list view it will be permanently removed for all users with access. Are you sure you want to delete?",frontend_listview_control_delete_message_success$1="Deletion successful",frontend_listview_control_filters$1="Filter settings",frontend_listview_control_filters_fields_extend$1="Conditional component 1",frontend_listview_control_new_label$1="New",frontend_listview_control_new_title$1="New List View",frontend_listview_control_new_message_success$1="Success",frontend_listview_control_new_message_failed$1="Failure",frontend_listview_control_rename_label$1="Rename",frontend_listview_control_rename_title$1="Rename List View",frontend_listview_control_share$1="Sharing Settings",frontend_listview_control_sort$1="Default sorting rule",frontend_export_excel$1="Export Excel",frontend_export_excel_toast$1="Exporting, please wait",frontend_operation$1="Operation",frontend_import_data$1="Import data",frontend_import_data_object_name$1="Import object",frontend_import_data_queue_import$1="Data import",frontend_import_data_queue_import_description$1="Import description",frontend_import_data_queue_import_encoding$1="Character code",frontend_import_data_queue_import_template_url$1="Import template",frontend_import_data_file$1="Excel file",frontend_import_data_message_success$1="Importing has started...",frontend_import_data_message_failed$1="Import failed",frontend_record_detail_tab_detailed$1="Details",frontend_record_detail_tab_related$1="Related",frontend_all_apps$1="All apps",frontend_all_projects$1="All projects",frontend_open_app_launcher$1="Open App Launcher",frontend_application_launcher$1="Application launcher",frontend_menu$1="Menu",frontend_help$1="Help",frontend_setup$1="Setup",frontend_notifications$1="Notifications",frontend_notifications_allread$1="Mark all as read",frontend_notifications_allread_message$1="All marked as read",frontend_notifications_close_dialog$1="Close",frontend_profile$1="Profile",switch_space$1="Switch Space",frontend_about$1="About",frontend_log_out$1="Log out",frontend_listview_warning_start$1="The current ",frontend_listview_warning_end$1=" view does not exist!",frontend_record_detail_related_list_warning$1="Missing parent object, parent record, or related list object property!",frontend_record_detail_related_lists_warning$1="Missing parent object, or parent record property!",frontend_record_detail_related_lists_info$1="No related child tables found",frontend_calendar_listWeek$1="List",frontend_message_no_permission_to_edit$1="You don't have permission to edit this record!",frontend_message_modification_successful$1="Modification successful!",frontend_message_modification_failed$1="Modification failed!",frontend_objects_related_alert_start$1="No related table fields associated with the related list object",frontend_objects_related_alert_end$1="were found.",frontend_no_records_found$1="No records found.",frontend_records_no_allowedit$1="You do not have edit permission for this record",frontend_app_menu_save_order_group_nesting_error$1="Group nesting is not supported",frontend_menu_new_object$1="New Object",frontend_menu_view_object$1="View Object",frontend_menu_new_micro_page$1="New Micro Page",frontend_menu_edit_micro_page$1="Edit Micro Page",frontend_menu_new_url$1="New URL link",frontend_menu_edit_url$1="Edit URL link",frontend_menu_add_existing_tabs$1="Add existing Tabs",frontend_menu_edit_tab$1="Edit Tab",frontend_menu_delete_tab$1="Delete Tab",frontend_menu_new_group$1="New Group",frontend_menu_edit_group$1="Edit Group",frontend_menu_delete_group$1="Delete Group",frontend_menu_move_group$1="Move Group",frontend_menu_dialog_move_group$1="Move to another Group",frontend_menu_group_none_children$1="none menu",frontend_menu_edit_app$1="Edit App",frontend_menu_dialog_name_placeholder$1="Unique identifier",frontend_menu_tabs_group_name_label$1="Name",frontend_menu_tabs_group_name_placeholder$1="Group Name",frontend_menu_tabs_group_default_open_label$1="Whether to expand by default",frontend_button_delete_confirm_text$1="Are you sure you want to delete it?",frontend_app_launcher_button_more$1="More",frontend_app_launcher_button_new_app$1="+ New App",frontend_app_launcher_dialog_new_app_title$1="New App",frontend_app_launcher_dialog_new_app_code_label$1="App ID",frontend_app_launcher_dialog_new_app_name_label$1="Label",frontend_app_launcher_dialog_new_app_icon_label$1="Icon",frontend_crud_toolbar_quick_search_placeholder$1="Quick Search",frontend_crud_toolbar_quick_search_tooltip_prefix$1="Searchable fields:",frontend_lookup_left_tree_search_organizations$1="Search for organizations",frontend_input_table_button_new$1="New",frontend_input_table_button_new_tooltip$1="Save and add a new line, that is, save the current line data and add a new blank line",frontend_input_table_button_copy$1="Copy",frontend_input_table_button_copy_tooltip$1="Copy and add a new row, that is, save the current row data and copy the current row data to the new row",frontend_input_table_button_delete$1="Delete",frontend_input_table_button_confirm$1="Done",frontend_input_table_dialog_title_suffix$1="Details",frontend_workflow_instances_applicant_name_prefix$1="Applicant name:",frontend_workflow_instance_submit_date_prefix$1="Submission date:",frontend_workflow_approval_judge_returned$1="Returned",frontend_workflow_approval_judge_terminated$1="Cancelled",frontend_workflow_approval_judge_pending$1="In Progress",frontend_workflow_approval_judge_approved$1="Approved",frontend_workflow_approval_judge_rejected$1="Rejected",frontend_workflow_approval_judge_finished$1="Completed",frontend_workflow_approval_judge_reassigned$1="Reassigned",frontend_workflow_approval_judge_inhand$1="In Progress",frontend_workflow_approval_judge_relocated$1="Relocate",frontend_workflow_approval_judge_readed$1="Read",frontend_workflow_approval_suggestion_readed$1="Read",frontend_workflow_approval_suggestion_completed$1="Done",frontend_workflow_approval_suggestion_agree$1="Agree",frontend_workflow_approval_suggestion_other$1="Select opinions",frontend_workflow_suggestion_placeholder$1="Please fill in your comments.",frontend_workflow_instance_button_sign$1="Sign",frontend_workflow_approval_history$1="Approval History",frontend_workflow_approval_history_read$1="Read",frontend_workflow_approval_history_unprocessed$1="Unprocessed",frontend_workflow_attachment$1="Attachment",frontend_workflow_attachment_upload$1="Upload",frontend_workflow_attachment_upload_success$1="Uploaded successfully",frontend_workflow_related_file$1="Related File",frontend_workflow_judge_option_approved$1="Approved",frontend_workflow_judge_option_rejected$1="Rejected",frontend_workflow_judge_option_readed$1="Readed",frontend_workflow_next_step$1="Next Step",frontend_workflow_next_users$1="To",frontend_workflow_submit_validate_error_title$1="Submission failed",frontend_workflow_submit_validate_error_msg$1="Please fill in the required fields",frontend_workflow_related_records_link_title$1="Related Records",frontend_formula_variables_tab_form_fields$1="Form Fields",frontend_formula_variables_tab_form_global$1="Global Variables",frontend_formula_variables_global_userId$1="User ID",frontend_formula_variables_global_spaceId$1="Space ID",frontend_formula_variables_global_user_roles$1="Permission Set",frontend_formula_variables_global_user_spaceUserId$1="Space User ID",frontend_formula_variables_global_user_is_space_admin$1="Is Space Admin",en_us$1={frontend_field_group_generalization:frontend_field_group_generalization$1,frontend_download:frontend_download$1,frontend_form_save:frontend_form_save$1,frontend_form_save_and_new:frontend_form_save_and_new$1,frontend_form_cancel:frontend_form_cancel$1,frontend_form_reset:frontend_form_reset$1,frontend_form_new:frontend_form_new$1,frontend_form_edit:frontend_form_edit$1,frontend_form_preview:frontend_form_preview$1,frontend_form_select:frontend_form_select$1,frontend_form_please_select:frontend_form_please_select$1,frontend_form_confirm:frontend_form_confirm$1,frontend_form_delete:frontend_form_delete$1,frontend_form_view:frontend_form_view$1,frontend_form_details:frontend_form_details$1,frontend_form_validation_failed_url:frontend_form_validation_failed_url$1,frontend_delete_confirm_text:frontend_delete_confirm_text$1,frontend_delete_many_selected_required:frontend_delete_many_selected_required$1,frontend_delete_many_confirm_text:frontend_delete_many_confirm_text$1,frontend_display_type_is_table:frontend_display_type_is_table$1,frontend_display_type_is_split:frontend_display_type_is_split$1,frontend_display_as:frontend_display_as$1,frontend_record_sum:frontend_record_sum$1,frontend_button_reload_tooltip:frontend_button_reload_tooltip$1,frontend_button_search_tooltip:frontend_button_search_tooltip$1,frontend_fields_filter_button_search:frontend_fields_filter_button_search$1,frontend_fields_filter_button_settings:frontend_fields_filter_button_settings$1,frontend_button_listview_control_tooltip:frontend_button_listview_control_tooltip$1,frontend_button_listview_control_label:frontend_button_listview_control_label$1,frontend_listview_control_columns:frontend_listview_control_columns$1,frontend_listview_control_columns_mobile_group:frontend_listview_control_columns_mobile_group$1,frontend_listview_control_clone_label:frontend_listview_control_clone_label$1,frontend_listview_control_clone_title:frontend_listview_control_clone_title$1,frontend_listview_control_clone_defaultData_label_start:frontend_listview_control_clone_defaultData_label_start$1,frontend_listview_control_clone_defaultData_label_end:frontend_listview_control_clone_defaultData_label_end$1,frontend_listview_control_delete_label:frontend_listview_control_delete_label$1,frontend_listview_control_delete_confirm_text:frontend_listview_control_delete_confirm_text$1,frontend_listview_control_delete_message_success:frontend_listview_control_delete_message_success$1,frontend_listview_control_filters:frontend_listview_control_filters$1,frontend_listview_control_filters_fields_extend:frontend_listview_control_filters_fields_extend$1,frontend_listview_control_new_label:frontend_listview_control_new_label$1,frontend_listview_control_new_title:frontend_listview_control_new_title$1,frontend_listview_control_new_message_success:frontend_listview_control_new_message_success$1,frontend_listview_control_new_message_failed:frontend_listview_control_new_message_failed$1,frontend_listview_control_rename_label:frontend_listview_control_rename_label$1,frontend_listview_control_rename_title:frontend_listview_control_rename_title$1,frontend_listview_control_share:frontend_listview_control_share$1,frontend_listview_control_sort:frontend_listview_control_sort$1,frontend_export_excel:frontend_export_excel$1,frontend_export_excel_toast:frontend_export_excel_toast$1,frontend_operation:frontend_operation$1,frontend_import_data:frontend_import_data$1,frontend_import_data_object_name:frontend_import_data_object_name$1,frontend_import_data_queue_import:frontend_import_data_queue_import$1,frontend_import_data_queue_import_description:frontend_import_data_queue_import_description$1,frontend_import_data_queue_import_encoding:frontend_import_data_queue_import_encoding$1,frontend_import_data_queue_import_template_url:frontend_import_data_queue_import_template_url$1,frontend_import_data_file:frontend_import_data_file$1,frontend_import_data_message_success:frontend_import_data_message_success$1,frontend_import_data_message_failed:frontend_import_data_message_failed$1,frontend_record_detail_tab_detailed:frontend_record_detail_tab_detailed$1,frontend_record_detail_tab_related:frontend_record_detail_tab_related$1,frontend_all_apps:frontend_all_apps$1,frontend_all_projects:frontend_all_projects$1,frontend_open_app_launcher:frontend_open_app_launcher$1,frontend_application_launcher:frontend_application_launcher$1,frontend_menu:frontend_menu$1,frontend_help:frontend_help$1,frontend_setup:frontend_setup$1,frontend_notifications:frontend_notifications$1,frontend_notifications_allread:frontend_notifications_allread$1,frontend_notifications_allread_message:frontend_notifications_allread_message$1,frontend_notifications_close_dialog:frontend_notifications_close_dialog$1,frontend_profile:frontend_profile$1,switch_space:switch_space$1,frontend_about:frontend_about$1,frontend_log_out:frontend_log_out$1,frontend_listview_warning_start:frontend_listview_warning_start$1,frontend_listview_warning_end:frontend_listview_warning_end$1,frontend_record_detail_related_list_warning:frontend_record_detail_related_list_warning$1,frontend_record_detail_related_lists_warning:frontend_record_detail_related_lists_warning$1,frontend_record_detail_related_lists_info:frontend_record_detail_related_lists_info$1,frontend_calendar_listWeek:frontend_calendar_listWeek$1,frontend_message_no_permission_to_edit:frontend_message_no_permission_to_edit$1,frontend_message_modification_successful:frontend_message_modification_successful$1,frontend_message_modification_failed:frontend_message_modification_failed$1,frontend_objects_related_alert_start:frontend_objects_related_alert_start$1,frontend_objects_related_alert_end:frontend_objects_related_alert_end$1,frontend_no_records_found:frontend_no_records_found$1,frontend_records_no_allowedit:frontend_records_no_allowedit$1,frontend_app_menu_save_order_group_nesting_error:frontend_app_menu_save_order_group_nesting_error$1,frontend_menu_new_object:frontend_menu_new_object$1,frontend_menu_view_object:frontend_menu_view_object$1,frontend_menu_new_micro_page:frontend_menu_new_micro_page$1,frontend_menu_edit_micro_page:frontend_menu_edit_micro_page$1,frontend_menu_new_url:frontend_menu_new_url$1,frontend_menu_edit_url:frontend_menu_edit_url$1,frontend_menu_add_existing_tabs:frontend_menu_add_existing_tabs$1,frontend_menu_edit_tab:frontend_menu_edit_tab$1,frontend_menu_delete_tab:frontend_menu_delete_tab$1,frontend_menu_new_group:frontend_menu_new_group$1,frontend_menu_edit_group:frontend_menu_edit_group$1,frontend_menu_delete_group:frontend_menu_delete_group$1,frontend_menu_move_group:frontend_menu_move_group$1,frontend_menu_dialog_move_group:frontend_menu_dialog_move_group$1,frontend_menu_group_none_children:frontend_menu_group_none_children$1,frontend_menu_edit_app:frontend_menu_edit_app$1,frontend_menu_dialog_name_placeholder:frontend_menu_dialog_name_placeholder$1,frontend_menu_tabs_group_name_label:frontend_menu_tabs_group_name_label$1,frontend_menu_tabs_group_name_placeholder:frontend_menu_tabs_group_name_placeholder$1,frontend_menu_tabs_group_default_open_label:frontend_menu_tabs_group_default_open_label$1,frontend_button_delete_confirm_text:frontend_button_delete_confirm_text$1,frontend_app_launcher_button_more:frontend_app_launcher_button_more$1,frontend_app_launcher_button_new_app:frontend_app_launcher_button_new_app$1,frontend_app_launcher_dialog_new_app_title:frontend_app_launcher_dialog_new_app_title$1,frontend_app_launcher_dialog_new_app_code_label:frontend_app_launcher_dialog_new_app_code_label$1,frontend_app_launcher_dialog_new_app_name_label:frontend_app_launcher_dialog_new_app_name_label$1,frontend_app_launcher_dialog_new_app_icon_label:frontend_app_launcher_dialog_new_app_icon_label$1,frontend_crud_toolbar_quick_search_placeholder:frontend_crud_toolbar_quick_search_placeholder$1,frontend_crud_toolbar_quick_search_tooltip_prefix:frontend_crud_toolbar_quick_search_tooltip_prefix$1,frontend_lookup_left_tree_search_organizations:frontend_lookup_left_tree_search_organizations$1,frontend_input_table_button_new:frontend_input_table_button_new$1,frontend_input_table_button_new_tooltip:frontend_input_table_button_new_tooltip$1,frontend_input_table_button_copy:frontend_input_table_button_copy$1,frontend_input_table_button_copy_tooltip:frontend_input_table_button_copy_tooltip$1,frontend_input_table_button_delete:frontend_input_table_button_delete$1,frontend_input_table_button_confirm:frontend_input_table_button_confirm$1,frontend_input_table_dialog_title_suffix:frontend_input_table_dialog_title_suffix$1,frontend_workflow_instances_applicant_name_prefix:frontend_workflow_instances_applicant_name_prefix$1,frontend_workflow_instance_submit_date_prefix:frontend_workflow_instance_submit_date_prefix$1,frontend_workflow_approval_judge_returned:frontend_workflow_approval_judge_returned$1,frontend_workflow_approval_judge_terminated:frontend_workflow_approval_judge_terminated$1,frontend_workflow_approval_judge_pending:frontend_workflow_approval_judge_pending$1,frontend_workflow_approval_judge_approved:frontend_workflow_approval_judge_approved$1,frontend_workflow_approval_judge_rejected:frontend_workflow_approval_judge_rejected$1,frontend_workflow_approval_judge_finished:frontend_workflow_approval_judge_finished$1,frontend_workflow_approval_judge_reassigned:frontend_workflow_approval_judge_reassigned$1,frontend_workflow_approval_judge_inhand:frontend_workflow_approval_judge_inhand$1,frontend_workflow_approval_judge_relocated:frontend_workflow_approval_judge_relocated$1,frontend_workflow_approval_judge_readed:frontend_workflow_approval_judge_readed$1,frontend_workflow_approval_suggestion_readed:frontend_workflow_approval_suggestion_readed$1,frontend_workflow_approval_suggestion_completed:frontend_workflow_approval_suggestion_completed$1,frontend_workflow_approval_suggestion_agree:frontend_workflow_approval_suggestion_agree$1,frontend_workflow_approval_suggestion_other:frontend_workflow_approval_suggestion_other$1,frontend_workflow_suggestion_placeholder:frontend_workflow_suggestion_placeholder$1,frontend_workflow_instance_button_sign:frontend_workflow_instance_button_sign$1,frontend_workflow_approval_history:frontend_workflow_approval_history$1,frontend_workflow_approval_history_read:frontend_workflow_approval_history_read$1,frontend_workflow_approval_history_unprocessed:frontend_workflow_approval_history_unprocessed$1,frontend_workflow_attachment:frontend_workflow_attachment$1,frontend_workflow_attachment_upload:frontend_workflow_attachment_upload$1,frontend_workflow_attachment_upload_success:frontend_workflow_attachment_upload_success$1,frontend_workflow_related_file:frontend_workflow_related_file$1,frontend_workflow_judge_option_approved:frontend_workflow_judge_option_approved$1,frontend_workflow_judge_option_rejected:frontend_workflow_judge_option_rejected$1,frontend_workflow_judge_option_readed:frontend_workflow_judge_option_readed$1,frontend_workflow_next_step:frontend_workflow_next_step$1,frontend_workflow_next_users:frontend_workflow_next_users$1,frontend_workflow_submit_validate_error_title:frontend_workflow_submit_validate_error_title$1,frontend_workflow_submit_validate_error_msg:frontend_workflow_submit_validate_error_msg$1,frontend_workflow_related_records_link_title:frontend_workflow_related_records_link_title$1,frontend_formula_variables_tab_form_fields:frontend_formula_variables_tab_form_fields$1,frontend_formula_variables_tab_form_global:frontend_formula_variables_tab_form_global$1,frontend_formula_variables_global_userId:frontend_formula_variables_global_userId$1,frontend_formula_variables_global_spaceId:frontend_formula_variables_global_spaceId$1,frontend_formula_variables_global_user_roles:frontend_formula_variables_global_user_roles$1,frontend_formula_variables_global_user_spaceUserId:frontend_formula_variables_global_user_spaceUserId$1,frontend_formula_variables_global_user_is_space_admin:frontend_formula_variables_global_user_is_space_admin$1},frontend_field_group_generalization="通用",frontend_download="下载",frontend_form_save="保存",frontend_form_save_and_new="保存并新建",frontend_form_cancel="取消",frontend_form_reset="重置",frontend_form_new="新建",frontend_form_edit="编辑",frontend_form_preview="预览",frontend_form_select="选择",frontend_form_please_select="请选择",frontend_form_confirm="确认",frontend_form_delete="删除",frontend_form_view="查看",frontend_form_details="详情",frontend_form_validation_failed_url="URL 格式不正确",frontend_delete_confirm_text="确定要删除此项目?",frontend_delete_many_selected_required="请选择要删除的项",frontend_delete_many_confirm_text="确定要删除吗?",frontend_display_type_is_table="表格",frontend_display_type_is_split="分栏视图",frontend_display_as="显示为",frontend_record_sum="个项目",frontend_button_reload_tooltip="刷新",frontend_button_search_tooltip="筛选",frontend_fields_filter_button_search="搜索",frontend_fields_filter_button_settings="选择搜索项",frontend_button_listview_control_tooltip="列表视图控制",frontend_button_listview_control_label="列表视图控制",frontend_listview_control_columns="显示的列",frontend_listview_control_columns_mobile_group="手机端",frontend_listview_control_clone="复制",frontend_listview_control_clone_label="复制",frontend_listview_control_clone_title="复制 列表视图",frontend_listview_control_clone_defaultData_label_start="",frontend_listview_control_clone_defaultData_label_end="的副本",frontend_listview_control_delete_label="删除",frontend_listview_control_delete_confirm_text="如果您删除此列表视图,该视图将为所有具备访问权限的用户永久删除。是否确定要删除?",frontend_listview_control_delete_message_success="删除成功",frontend_listview_control_filters="过滤设置",frontend_listview_control_filters_fields_extend="条件组件",frontend_listview_control_new_label="新建",frontend_listview_control_new_title="新建 列表视图",frontend_listview_control_new_message_success="成功",frontend_listview_control_new_message_failed="失败",frontend_listview_control_rename_label="重命名",frontend_listview_control_rename_title="重命名 列表视图",frontend_listview_control_share="共享设置",frontend_listview_control_sort="默认排序规则",frontend_export_excel="导出",frontend_export_excel_toast="正在导出,请稍后...",frontend_operation="操作",frontend_import_data="导入数据",frontend_import_data_object_name="导入对象",frontend_import_data_queue_import="数据导入",frontend_import_data_queue_import_description="导入描述",frontend_import_data_queue_import_encoding="字符代码",frontend_import_data_queue_import_template_url="导入模板",frontend_import_data_file="Excel文件",frontend_import_data_message_success="已开始导入...",frontend_import_data_message_failed="导入失败",frontend_record_detail_tab_detailed="详细",frontend_record_detail_tab_related="相关",frontend_all_apps="所有应用",frontend_all_projects="所有项目",frontend_open_app_launcher="打开应用程序启动器",frontend_application_launcher="应用程序启动器",frontend_menu="菜单",frontend_help="帮助",frontend_setup="设置",frontend_notifications="通知",frontend_notifications_allread="全部标记为已读",frontend_notifications_allread_message="已全部标记为已读",frontend_notifications_close_dialog="关闭",frontend_profile="个人资料",switch_space="切换工作区",frontend_about="关于",frontend_log_out="注销",frontend_listview_warning_start="当前",frontend_listview_warning_end="视图不存在!",frontend_record_detail_related_list_warning="缺少父级对象、父级记录或相关列表对象属性!",frontend_record_detail_related_lists_warning="缺少父级对象或父级记录属性!",frontend_record_detail_related_lists_info="没有相关子表",frontend_calendar_listWeek="列表",frontend_message_no_permission_to_edit="您没有编辑该记录的权限!",frontend_message_modification_successful="修改成功!",frontend_message_modification_failed="修改失败!",frontend_objects_related_alert_start="未找到与相关列表对象",frontend_objects_related_alert_end="关联的相关表字段",frontend_no_records_found="无法找到记录",frontend_records_no_allowedit="您对这条记录没有编辑权限",frontend_app_menu_save_order_group_nesting_error="不支持分组嵌套",frontend_menu_new_object="新建对象",frontend_menu_view_object="查看对象",frontend_menu_new_micro_page="新建微页面",frontend_menu_edit_micro_page="编辑微页面",frontend_menu_new_url="新建外部链接",frontend_menu_edit_url="编辑外部链接",frontend_menu_add_existing_tabs="添加现有选项卡",frontend_menu_edit_tab="编辑选项卡",frontend_menu_delete_tab="删除选项卡",frontend_menu_new_group="新建分组",frontend_menu_edit_group="编辑分组",frontend_menu_delete_group="删除分组",frontend_menu_move_group="移动分组",frontend_menu_dialog_move_group="移动到指定分组",frontend_menu_group_none_children="无菜单",frontend_menu_edit_app="编辑应用",frontend_menu_dialog_name_placeholder="唯一标识",frontend_menu_tabs_group_name_label="名称",frontend_menu_tabs_group_name_placeholder="分组名称",frontend_menu_tabs_group_default_open_label="是否默认展开",frontend_button_delete_confirm_text="确定要删除吗?",frontend_app_launcher_button_more="更多",frontend_app_launcher_button_new_app="+ 新建应用",frontend_app_launcher_dialog_new_app_title="新建应用",frontend_app_launcher_dialog_new_app_code_label="应用唯一标识",frontend_app_launcher_dialog_new_app_name_label="显示名称",frontend_app_launcher_dialog_new_app_icon_label="图标",frontend_crud_toolbar_quick_search_placeholder="快捷搜索",frontend_crud_toolbar_quick_search_tooltip_prefix="可搜索字段:",frontend_lookup_left_tree_search_organizations="查找部门",frontend_input_table_button_new="新增",frontend_input_table_button_new_tooltip="保存并新增一行,即保存当前行数据并新增一条空白行",frontend_input_table_button_copy="复制",frontend_input_table_button_copy_tooltip="复制并新增一行,即保存当前行数据并复制当前行数据到新增行",frontend_input_table_button_delete="删除",frontend_input_table_button_confirm="完成",frontend_input_table_dialog_title_suffix="明细",frontend_workflow_instances_applicant_name_prefix="提交人:",frontend_workflow_instance_submit_date_prefix="提交日期:",frontend_workflow_approval_judge_returned="已退回",frontend_workflow_approval_judge_terminated="被取回",frontend_workflow_approval_judge_pending="审核中",frontend_workflow_approval_judge_approved="已核准",frontend_workflow_approval_judge_rejected="已驳回",frontend_workflow_approval_judge_finished="已完成",frontend_workflow_approval_judge_reassigned="转签核",frontend_workflow_approval_judge_inhand="处理中",frontend_workflow_approval_judge_relocated="重定位",frontend_workflow_approval_judge_readed="已阅",frontend_workflow_approval_suggestion_readed="已阅",frontend_workflow_approval_suggestion_completed="已办",frontend_workflow_approval_suggestion_agree="同意",frontend_workflow_approval_suggestion_other="其他常用意见",frontend_workflow_suggestion_placeholder="请填写意见",frontend_workflow_instance_button_sign="签批",frontend_workflow_approval_history="签批历程",frontend_workflow_approval_history_read="已读",frontend_workflow_approval_history_unprocessed="未处理",frontend_workflow_attachment="附件",frontend_workflow_attachment_upload="上传",frontend_workflow_attachment_upload_success="上传成功",frontend_workflow_related_file="相关文件",frontend_workflow_judge_option_approved="核准",frontend_workflow_judge_option_rejected="驳回",frontend_workflow_judge_option_readed="已阅",frontend_workflow_next_step="下一步",frontend_workflow_next_users="处理人",frontend_workflow_submit_validate_error_title="提交失败",frontend_workflow_submit_validate_error_msg="请填写必填字段",frontend_workflow_related_records_link_title="相关台账信息",frontend_formula_variables_tab_form_fields="表单字段",frontend_formula_variables_tab_form_global="全局变量",frontend_formula_variables_global_userId="用户ID",frontend_formula_variables_global_spaceId="工作区ID",frontend_formula_variables_global_user_roles="权限集",frontend_formula_variables_global_user_spaceUserId="人员ID",frontend_formula_variables_global_user_is_space_admin="是否工作区管理员",zh_cn$1={frontend_field_group_generalization:frontend_field_group_generalization,frontend_download:frontend_download,frontend_form_save:frontend_form_save,frontend_form_save_and_new:frontend_form_save_and_new,frontend_form_cancel:frontend_form_cancel,frontend_form_reset:frontend_form_reset,frontend_form_new:frontend_form_new,frontend_form_edit:frontend_form_edit,frontend_form_preview:frontend_form_preview,frontend_form_select:frontend_form_select,frontend_form_please_select:frontend_form_please_select,frontend_form_confirm:frontend_form_confirm,frontend_form_delete:frontend_form_delete,frontend_form_view:frontend_form_view,frontend_form_details:frontend_form_details,frontend_form_validation_failed_url:frontend_form_validation_failed_url,frontend_delete_confirm_text:frontend_delete_confirm_text,frontend_delete_many_selected_required:frontend_delete_many_selected_required,frontend_delete_many_confirm_text:frontend_delete_many_confirm_text,frontend_display_type_is_table:frontend_display_type_is_table,frontend_display_type_is_split:frontend_display_type_is_split,frontend_display_as:frontend_display_as,frontend_record_sum:frontend_record_sum,frontend_button_reload_tooltip:frontend_button_reload_tooltip,frontend_button_search_tooltip:frontend_button_search_tooltip,frontend_fields_filter_button_search:frontend_fields_filter_button_search,frontend_fields_filter_button_settings:frontend_fields_filter_button_settings,frontend_button_listview_control_tooltip:frontend_button_listview_control_tooltip,frontend_button_listview_control_label:frontend_button_listview_control_label,frontend_listview_control_columns:frontend_listview_control_columns,frontend_listview_control_columns_mobile_group:frontend_listview_control_columns_mobile_group,frontend_listview_control_clone:frontend_listview_control_clone,frontend_listview_control_clone_label:frontend_listview_control_clone_label,frontend_listview_control_clone_title:frontend_listview_control_clone_title,frontend_listview_control_clone_defaultData_label_start:frontend_listview_control_clone_defaultData_label_start,frontend_listview_control_clone_defaultData_label_end:frontend_listview_control_clone_defaultData_label_end,frontend_listview_control_delete_label:frontend_listview_control_delete_label,frontend_listview_control_delete_confirm_text:frontend_listview_control_delete_confirm_text,frontend_listview_control_delete_message_success:frontend_listview_control_delete_message_success,frontend_listview_control_filters:frontend_listview_control_filters,frontend_listview_control_filters_fields_extend:frontend_listview_control_filters_fields_extend,frontend_listview_control_new_label:frontend_listview_control_new_label,frontend_listview_control_new_title:frontend_listview_control_new_title,frontend_listview_control_new_message_success:frontend_listview_control_new_message_success,frontend_listview_control_new_message_failed:frontend_listview_control_new_message_failed,frontend_listview_control_rename_label:frontend_listview_control_rename_label,frontend_listview_control_rename_title:frontend_listview_control_rename_title,frontend_listview_control_share:frontend_listview_control_share,frontend_listview_control_sort:frontend_listview_control_sort,frontend_export_excel:frontend_export_excel,frontend_export_excel_toast:frontend_export_excel_toast,frontend_operation:frontend_operation,frontend_import_data:frontend_import_data,frontend_import_data_object_name:frontend_import_data_object_name,frontend_import_data_queue_import:frontend_import_data_queue_import,frontend_import_data_queue_import_description:frontend_import_data_queue_import_description,frontend_import_data_queue_import_encoding:frontend_import_data_queue_import_encoding,frontend_import_data_queue_import_template_url:frontend_import_data_queue_import_template_url,frontend_import_data_file:frontend_import_data_file,frontend_import_data_message_success:frontend_import_data_message_success,frontend_import_data_message_failed:frontend_import_data_message_failed,frontend_record_detail_tab_detailed:frontend_record_detail_tab_detailed,frontend_record_detail_tab_related:frontend_record_detail_tab_related,frontend_all_apps:frontend_all_apps,frontend_all_projects:frontend_all_projects,frontend_open_app_launcher:frontend_open_app_launcher,frontend_application_launcher:frontend_application_launcher,frontend_menu:frontend_menu,frontend_help:frontend_help,frontend_setup:frontend_setup,frontend_notifications:frontend_notifications,frontend_notifications_allread:frontend_notifications_allread,frontend_notifications_allread_message:frontend_notifications_allread_message,frontend_notifications_close_dialog:frontend_notifications_close_dialog,frontend_profile:frontend_profile,switch_space:switch_space,frontend_about:frontend_about,frontend_log_out:frontend_log_out,frontend_listview_warning_start:frontend_listview_warning_start,frontend_listview_warning_end:frontend_listview_warning_end,frontend_record_detail_related_list_warning:frontend_record_detail_related_list_warning,frontend_record_detail_related_lists_warning:frontend_record_detail_related_lists_warning,frontend_record_detail_related_lists_info:frontend_record_detail_related_lists_info,frontend_calendar_listWeek:frontend_calendar_listWeek,frontend_message_no_permission_to_edit:frontend_message_no_permission_to_edit,frontend_message_modification_successful:frontend_message_modification_successful,frontend_message_modification_failed:frontend_message_modification_failed,frontend_objects_related_alert_start:frontend_objects_related_alert_start,frontend_objects_related_alert_end:frontend_objects_related_alert_end,frontend_no_records_found:frontend_no_records_found,frontend_records_no_allowedit:frontend_records_no_allowedit,frontend_app_menu_save_order_group_nesting_error:frontend_app_menu_save_order_group_nesting_error,frontend_menu_new_object:frontend_menu_new_object,frontend_menu_view_object:frontend_menu_view_object,frontend_menu_new_micro_page:frontend_menu_new_micro_page,frontend_menu_edit_micro_page:frontend_menu_edit_micro_page,frontend_menu_new_url:frontend_menu_new_url,frontend_menu_edit_url:frontend_menu_edit_url,frontend_menu_add_existing_tabs:frontend_menu_add_existing_tabs,frontend_menu_edit_tab:frontend_menu_edit_tab,frontend_menu_delete_tab:frontend_menu_delete_tab,frontend_menu_new_group:frontend_menu_new_group,frontend_menu_edit_group:frontend_menu_edit_group,frontend_menu_delete_group:frontend_menu_delete_group,frontend_menu_move_group:frontend_menu_move_group,frontend_menu_dialog_move_group:frontend_menu_dialog_move_group,frontend_menu_group_none_children:frontend_menu_group_none_children,frontend_menu_edit_app:frontend_menu_edit_app,frontend_menu_dialog_name_placeholder:frontend_menu_dialog_name_placeholder,frontend_menu_tabs_group_name_label:frontend_menu_tabs_group_name_label,frontend_menu_tabs_group_name_placeholder:frontend_menu_tabs_group_name_placeholder,frontend_menu_tabs_group_default_open_label:frontend_menu_tabs_group_default_open_label,frontend_button_delete_confirm_text:frontend_button_delete_confirm_text,frontend_app_launcher_button_more:frontend_app_launcher_button_more,frontend_app_launcher_button_new_app:frontend_app_launcher_button_new_app,frontend_app_launcher_dialog_new_app_title:frontend_app_launcher_dialog_new_app_title,frontend_app_launcher_dialog_new_app_code_label:frontend_app_launcher_dialog_new_app_code_label,frontend_app_launcher_dialog_new_app_name_label:frontend_app_launcher_dialog_new_app_name_label,frontend_app_launcher_dialog_new_app_icon_label:frontend_app_launcher_dialog_new_app_icon_label,frontend_crud_toolbar_quick_search_placeholder:frontend_crud_toolbar_quick_search_placeholder,frontend_crud_toolbar_quick_search_tooltip_prefix:frontend_crud_toolbar_quick_search_tooltip_prefix,frontend_lookup_left_tree_search_organizations:frontend_lookup_left_tree_search_organizations,frontend_input_table_button_new:frontend_input_table_button_new,frontend_input_table_button_new_tooltip:frontend_input_table_button_new_tooltip,frontend_input_table_button_copy:frontend_input_table_button_copy,frontend_input_table_button_copy_tooltip:frontend_input_table_button_copy_tooltip,frontend_input_table_button_delete:frontend_input_table_button_delete,frontend_input_table_button_confirm:frontend_input_table_button_confirm,frontend_input_table_dialog_title_suffix:frontend_input_table_dialog_title_suffix,frontend_workflow_instances_applicant_name_prefix:frontend_workflow_instances_applicant_name_prefix,frontend_workflow_instance_submit_date_prefix:frontend_workflow_instance_submit_date_prefix,frontend_workflow_approval_judge_returned:frontend_workflow_approval_judge_returned,frontend_workflow_approval_judge_terminated:frontend_workflow_approval_judge_terminated,frontend_workflow_approval_judge_pending:frontend_workflow_approval_judge_pending,frontend_workflow_approval_judge_approved:frontend_workflow_approval_judge_approved,frontend_workflow_approval_judge_rejected:frontend_workflow_approval_judge_rejected,frontend_workflow_approval_judge_finished:frontend_workflow_approval_judge_finished,frontend_workflow_approval_judge_reassigned:frontend_workflow_approval_judge_reassigned,frontend_workflow_approval_judge_inhand:frontend_workflow_approval_judge_inhand,frontend_workflow_approval_judge_relocated:frontend_workflow_approval_judge_relocated,frontend_workflow_approval_judge_readed:frontend_workflow_approval_judge_readed,frontend_workflow_approval_suggestion_readed:frontend_workflow_approval_suggestion_readed,frontend_workflow_approval_suggestion_completed:frontend_workflow_approval_suggestion_completed,frontend_workflow_approval_suggestion_agree:frontend_workflow_approval_suggestion_agree,frontend_workflow_approval_suggestion_other:frontend_workflow_approval_suggestion_other,frontend_workflow_suggestion_placeholder:frontend_workflow_suggestion_placeholder,frontend_workflow_instance_button_sign:frontend_workflow_instance_button_sign,frontend_workflow_approval_history:frontend_workflow_approval_history,frontend_workflow_approval_history_read:frontend_workflow_approval_history_read,frontend_workflow_approval_history_unprocessed:frontend_workflow_approval_history_unprocessed,frontend_workflow_attachment:frontend_workflow_attachment,frontend_workflow_attachment_upload:frontend_workflow_attachment_upload,frontend_workflow_attachment_upload_success:frontend_workflow_attachment_upload_success,frontend_workflow_related_file:frontend_workflow_related_file,frontend_workflow_judge_option_approved:frontend_workflow_judge_option_approved,frontend_workflow_judge_option_rejected:frontend_workflow_judge_option_rejected,frontend_workflow_judge_option_readed:frontend_workflow_judge_option_readed,frontend_workflow_next_step:frontend_workflow_next_step,frontend_workflow_next_users:frontend_workflow_next_users,frontend_workflow_submit_validate_error_title:frontend_workflow_submit_validate_error_title,frontend_workflow_submit_validate_error_msg:frontend_workflow_submit_validate_error_msg,frontend_workflow_related_records_link_title:frontend_workflow_related_records_link_title,frontend_formula_variables_tab_form_fields:frontend_formula_variables_tab_form_fields,frontend_formula_variables_tab_form_global:frontend_formula_variables_tab_form_global,frontend_formula_variables_global_userId:frontend_formula_variables_global_userId,frontend_formula_variables_global_spaceId:frontend_formula_variables_global_spaceId,frontend_formula_variables_global_user_roles:frontend_formula_variables_global_user_roles,frontend_formula_variables_global_user_spaceUserId:frontend_formula_variables_global_user_spaceUserId,frontend_formula_variables_global_user_is_space_admin:frontend_formula_variables_global_user_is_space_admin};const resources={en:{translation:en_us$1},"zh-CN":{translation:zh_cn$1}},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 u="";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 `,u=`\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 `,u=`\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(u);break;case"avatar":case"image":i.body[0].receiver.adaptor=`\n const superData = (typeof context != 'undefined') ? context : api.body; \n const { context:pageContext } = superData; \n var rootUrl = pageContext.rootUrl + "/api/files/${o.type}s/";\n payload = {\n status: response.status == 200 ? 0 : response.status,\n msg: response.statusText,\n data: {\n value: rootUrl + payload._id,//为了实现图片crud的回显,需要将value从id改为url,当保存数据数据时,再在发送适配器内重新将id提取出来\n name: payload.original.name,\n url: rootUrl + payload._id,\n }\n }\n return payload;\n `}i.body[0].visibleOn="${quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}",i.body.push({type:"service",body:[{type:"tpl",tpl:instance.t("frontend_records_no_allowedit"),visibleOn:"${!quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}"},{type:"spinner",showOn:"${quickedit_record_permissions_loading}"}],onEvent:{init:{actions:[{actionType:"custom",script:`\n crudScoped = event.context.scoped.getComponentById('${n.crudId}');\n const selectedItems = crudScoped && crudScoped.control.getSelected();\n doAction({\n "componentId": "${a}",\n "actionType": "setValue",\n "args": {\n "value": {\n selectedItems\n }\n }\n });\n `},{actionType:"setValue",componentId:a,args:{value:{quickedit_record_permissions_loading:!0}}},{actionType:"ajax",args:{api:{url:"${context.rootUrl}/service/api/@${objectName}/recordPermissions/${_id}",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},cache:3e4,messages:{failed:"失败了呢。。"}}},expression:"${!recordPermissions.modifyAllRecords}"},{actionType:"setValue",componentId:a,args:{value:{quickedit_record_permissions_loading:!1}}},{actionType:"setValue",componentId:a,args:{value:{quickedit_record_permissions:"${recordPermissions.modifyAllRecords ? {'allowEdit': true} : event.data}"}}}]}}}),"avatar"!=o.type&&"image"!=o.type&&"file"!=o.type&&r&&i.body.push({name:"isBatchEdit",type:"checkbox",option:[{type:"tpl",tpl:"更新${COUNT(selectedItems)}个选定记录"},{type:"spinner",showOn:"${batchPermissionLoading}",size:"sm",className:"mr-4"}],visibleOn:"${ARRAYSOME(selectedItems, item => item._id === _id) && COUNT(selectedItems)>1 && quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}",disabledOn:"${batchPermissionLoading}",onEvent:{change:{actions:[{actionType:"setValue",componentId:a,args:{value:{batchPermissionLoading:!0}},expression:"${event.data.value}"},{actionType:"ajax",args:{api:{url:"${context.rootUrl}/graphql",method:"post",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},data:{query:'{rows:${objectName}(filters:["_id","in",${selectedItems | pick:_id | split | json}]){_id,_permissions{allowEdit}}}'},adaptor:"\n const noPermission = [];\n payload.data.rows.forEach(function (row) {\n if(!row._permissions.allowEdit){\n noPermission.push(row._id);\n }\n })\n payload.data.noPermission = noPermission;\n return payload;\n "}},expression:"${event.data.value && !recordPermissions.modifyAllRecords}"},{actionType:"setValue",componentId:a,args:{value:{batchPermissionLoading:!1}},expression:"${event.data.value}"},{actionType:"dialog",dialog:{title:"记录权限",showCloseButton:!1,body:[{type:"tpl",tpl:"当前选中记录中,有${COUNT(noPermission)}条记录无编辑权限,是否需要批量编辑其他记录?"}],onEvent:{confirm:{actions:[{actionType:"custom",script:`\n const noPermission = event.data.noPermission;\n const crudComponent = event.context.scoped.getComponentById("${n.crudId}");\n let selectedItems = crudComponent && crudComponent.props.store.selectedItems.concat();\n noPermission.forEach(function (item) {\n crudComponent && crudComponent.unSelectItem(_.find(selectedItems,{_id:item}));\n _.remove(selectedItems, (selected) => selected._id === item);\n })\n doAction({\n "componentId": "${a}",\n "actionType": "setValue",\n "args": {\n "value": {\n selectedItems\n }\n }\n });\n `},{actionType:"setValue",componentId:a,args:{value:{isBatchEdit:!0}}}]},cancel:{actions:[{actionType:"setValue",componentId:a,args:{value:{isBatchEdit:!1}}}]}}},expression:"${COUNT(event.data.noPermission)>0}"}]}}})}else i=!1;"lookup"!=o.type||r||(i=!1),"file"==o.type&&o.multiple&&(i=!1),"location"==o.type&&(i=!1),"color"==o.type&&(i={type:"input-color"})}return i}function getFieldWidth(e){const t=null;return"string"==typeof e?isNaN(e)?e||t:Number(e)||t:"number"==typeof e?e:t}async function getColumnItemOnClick(e,t){let n=t.objectName;e.is_name||e.name===t.labelFieldName||(n=e.reference_to);const o=await getPage({type:"record",appId:t.appId,objectName:n,formFactor:t.formFactor}),r=o?Object.assign({},o.schema,{recordId:`\${${t.idFieldName}}`,data:{...o.schema.data,_inDrawer:!0,recordLoaded:!1,recordId:`\${${t.idFieldName}}`,_lookupObjectName:t.objectName}}):{type:"steedos-record-detail",objectApiName:"${objectName}",recordId:`\${${t.idFieldName}}`,showBackButton:!1,showButtons:!0,data:{_inDrawer:!0,recordLoaded:!1,_lookupObjectName:t.objectName}};return e.is_name||e.name===t.labelFieldName||(r.objectApiName=e.reference_to,r.recordId=`\${_display.${e.name}.value}`),{click:{actions:[{actionType:"drawer",drawer:{type:"drawer",title:" ",headerClassName:"hidden",size:"lg",width:window.drawerWidth||"70%",bodyClassName:"p-0 m-0 bg-gray-100",closeOnEsc:!0,closeOnOutside:!0,resizable:!0,actions:[],body:[r],className:"steedos-record-detail-drawer app-popover",id:"u:fc5f055afa8c"},preventDefault:!0}]}}}async function getTableColumns(e,t,n){const o=[];n.isLookup||n.isInputTable||n.enable_tree||o.push({name:"_index",type:"text",width:32,placeholder:""});const r=n.permissions?.allowEdit&&!n.isLookup&&0!=n.enable_inline_edit;for(const a of t){if(a.hidden||a.extra)continue;const t=r?await getQuickEditSchema(e,a,n):r;let i=`steedos-table-${a.type}-field`;"Safari"===getBowserType()||1!=a.wrap?i+=" whitespace-nowrap ":i+=" break-words ","object"==typeof a.amis?.className?i={[i]:"true",...a.amis.className}:"string"==typeof a.amis?.className&&(i=`${i} ${a.amis.className} `);let s,l=_$1__namespace.clone(a.amis);delete l?.className;let c=!!(window&&window.nw&&window.nw.require);if((a.is_name||a.name===n.labelFieldName)&&"cms_files"===n.objectName&&c){const e=`\n var data = event.data;\n var file_name = data.versions ? data.name : "${a.label}";\n var file_id = data.versions && data.versions[0] && data.versions[0]._id;\n window.previewFile && window.previewFile({file_name, file_id});\n `;s=Object.assign({},{type:"button",label:`<%=data.versions ? data.name : "${a.label}"%>`,className:i,level:"link",onEvent:{click:{actions:[{args:{},actionType:"custom",script:e,expression:"!!(window && window.nw && window.nw.require)"}]}}},l)}else if("toggle"===a.type)s=Object.assign({},{type:"switch",name:a.name,label:a.label,width:getFieldWidth(a.width),toggled:a.toggled,static:!0,className:i},l,{name:a.name});else if("avatar"===a.type||"image"===a.type||"file"===a.type)s=Object.assign({},{type:"switch",name:a.name,label:a.label,width:getFieldWidth(a.width),toggled:a.toggled,static:!0,className:i,...await getAmisFileReadonlySchema(a)},l);else if("select"===a.type){const e=getSelectMap(a.options);s=Object.assign({},{type:"static-mapping",name:a.name,label:a.label,map:e,sortable:a.sortable,width:getFieldWidth(a.width),toggled:a.toggled,className:i,inputClassName:"inline",static:!0},l,{name:a.name})}else if("lookup"===a.type||"master_detail"===a.type)s=Object.assign({},{type:"static-wrapper",name:a.name,label:a.label,sortable:a.sortable,width:getFieldWidth(a.width),toggled:a.toggled,className:i,size:"none",inputClassName:"inline",body:{type:"steedos-field",static:!0,isLookupInTable:!0,config:{type:"lookup",reference_to:a.reference_to,name:a.name,is_name:a.is_name,label:null,multiple:a.multiple,amis:Object.assign({},l,{label:null})}}},l,{name:a.name});else{const e=await getFieldTpl(a,n);let t="static-text";if(e?t="static":"html"===a.type?t="static-markdown":"url"===a.type&&(t=a.show_as_qr?"static-qr-code":"input-url"),"textarea"===a.type&&(i+="min-w-56"),!a.hidden&&!a.extra){s=Object.assign({},{name:a.name,label:a.label,sortable:a.sortable,width:getFieldWidth(a.width),type:t,tpl:e,toggled:a.toggled,className:i,inputClassName:"inline",static:!0,options:"html"===a.type?{html:!0}:null},l,{name:a.name}),"color"===a.type&&(s.type="color",s.defaultColor=null);let o=!1;o=n.isRelated&&(a.is_name||a.name===n.labelFieldName),window.innerWidth>=768&&o&&(s.onEvent=await getColumnItemOnClick(a,n))}}s&&(t&&(s.quickEdit=t,s.quickEditEnabledOn="${is_system !== true}"),s.id=`${n.objectName}_${a.name}_\${_index}`,o.push(s))}if(!n.isLookup&&!n.isInputTable&&!_$1__namespace.some(o,{name:n.labelFieldName})){const e=Router.getObjectDetailPath({...n,formFactor:n.formFactor,appId:"${appId}",objectName:n.objectName||"${objectName}",recordId:`\${${n.idFieldName}}`});o[0].type="tpl",o[0].tpl=`<a href="${e}">\${${o[0].name}}</a>`}return o}function getMobileLines(e){let t=[],n=[],o=!1,r=!0,a="",i="flex items-center justify-between mb-1";return e.forEach((function(e){var s;o&&t.length<3&&(t.push({type:"wrapper",body:n,size:"none",className:i}),n=[]),r?(a="steedos-listview-item-left truncate",e.field.is_wide&&(a="steedos-listview-item-wide"),0===t.length&&(a+=" font-bold text-gray-800")):a="steedos-listview-item-right truncate ml-2 flex flex-shrink-0",s="object"==typeof e.field.amis?.className?{[a]:"true",...e.field.amis.className}:"string"==typeof e.field.amis?.className?`${a} ${e.field.amis.className} `:a,n.push({type:"tpl",tpl:e.tpl,className:s}),e.field.is_wide?(r=!0,o=!0):(r=!r,o=r)})),n.length&&t.length<3&&t.push({type:"wrapper",body:n,size:"none",className:i}),t}async function getMobileTableColumns(e,t){const n=[];let o={},r=[];for(const n of e){let e="";n.is_name||n.name===t.labelFieldName?(o=n,t=Object.assign({},t,{onlyDisplayLookLabel:!0}),e=await getFieldTpl(n,t)):"avatar"===n.type||"image"===n.type||"file"===n.type?e=`\${_display.${n.name}.name}`:("lookup"!==n.type&&"master_detail"!==n.type||(t=Object.assign({},t,{onlyDisplayLookLabel:!0})),e=await getFieldTpl(n,t)),e||(e=`\${${n.name}}`),n.hidden||n.extra||r.push({field:n,tpl:e})}const a=getNameTplUrl(o,t),i=getMobileLines(r);let s={name:o.name,label:"split"==t.displayAs?"":o.label,sortable:o.sortable,type:"button",level:"link",actionType:"link",link:a,innerClassName:{"steedos-listview-item block text-gray-500":"true","max-w-[360px]":"${display == 'split'}"},body:{type:"wrapper",body:i,size:"none",className:"p-1"}};return"cms_files"===t.objectName&&(s=window.Meteor?.isCordova?{...s,actionType:"",link:"",onEvent:{click:{actions:[{script:'\n let cms_url = \'\';\n let value = event.data.versions[0];\n if(value){\n if(value.url){\n cms_url = value.url;\n }else{\n cms_url = Steedos.absoluteUrl("/api/files/files/"+value+"?download=true");\n }\n }\n Steedos.cordovaDownload(encodeURI(cms_url), event.data.name);\n ',actionType:"custom"}],weight:0}}}:{...s,actionType:"",link:"",onEvent:{click:{actions:[{actionType:"link",args:{link:a}}],weight:0}}}),n.push(s),n}function getDefaultParams$1(e){return{perPage:e.top||e.perPage||config.listView.perPage}}function getButtonVisibleOn$1(e){let t=e.visible;if(e._visible&&(t=e._visible),_$1.isBoolean(t)&&(t=t.toString()),t){if(t.trim().startsWith("function")){t=t.replace("function","function __visible");return`(function _visible(){try{return (${t})(objectName, typeof _id === 'undefined' ? null: _id, typeof record === 'undefined' ? (typeof recordPermissions === 'undefined' ? {} : recordPermissions) : record.recordPermissions, data)}catch(e){console.error(e)}})()`}return t}if("amis_button"===e.type){const t=e.amis_schema;if(t&&t.body&&t.body.length>0){return t.body[0].visibleOn}}}async function getTableOperation(e){const t=e.buttons,n=[];if(_$1.each(t,(e=>{_$1.isBoolean(e.visible)&&(e.visible=e.visible.toString()),n.push({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOnAlias:getButtonVisibleOn$1(e),className:"antd-Button--default"})})),!(n.length<1))return{type:"operation",label:" ",fixed:"right",labelClassName:"text-center",className:"text-center steedos-listview-operation w-10 is-sticky is-sticky-right is-sticky-first-right",buttons:[{type:"steedos-dropdown-button",label:"xxx",buttons:n,placement:"bottomRight",overlayClassName:"border rounded !min-w-[160px]",trigger:["click"],id:"u:c2140a365019",onOpenApi:{url:"${context.rootUrl}/service/api/@${objectName}/recordPermissions/${_id}",method:"get",requestAdaptor:"api.data={}; return api;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:"\n payload = {\n record: {\n recordPermissions: payload\n }\n };\n return payload;\n "}}]}}async function getDefaultCrudCard(e,t){let n,o=t?.labelFieldName||"name",r=[];e.forEach((function(e){delete e.quickEdit,delete e.width,e.name===o?n=e:"_index"!==e.name&&r.push(e)}));let a={header:{title:n.tpl},body:r,toolbar:[]};if(!("SMALL"===t.formFactor||["split"].indexOf(t.displayAs)>-1)){let e=await getTableOperation(t);e&&(e.className+=" inline-block w-auto"),a.toolbar.push(e)}return a}async function getTableSchema$1(e,t,n){n||(n={});let{isLookup:o,hiddenColumnOperation:r}=n;const a=n.defaults,i=a&&a.listSchema||{};let s=[],l="SMALL"===n.formFactor||["split"].indexOf(n.displayAs)>-1;if(o&&(l=!1),i.mode&&"table"!==i.mode&&(l=!1),l)s=await getMobileTableColumns(t,n);else{if(s=await getTableColumns(e,t,n),"cards"===i.mode){let e=i.card;return e||(e=await getDefaultCrudCard(s,n)),{mode:"cards",perPageAvailable:[20,50,100,500],name:"thelist",headerToolbarClassName:"py-2 px-2 border-gray-300 border-solid border-b",className:"",draggable:!1,card:e,syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!!o,labelTpl:`\${${n.labelFieldName}}`,autoFillHeight:!1,columnsTogglable:!1,...getDefaultParams$1(n)}}if(!o&&!r){const e=await getTableOperation(n);s.push(e)}}const c={};return n.enable_tree&&(c.expandConfig={expand:"first"}),{mode:"table",perPageAvailable:[20,50,100,500],name:"thelist",headerToolbarClassName:"py-2 px-2 border-gray-300 border-solid border-b",className:"",draggable:!1,columns:s,syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!!o,labelTpl:`\${${n.labelFieldName}}`,autoFillHeight:!1,columnsTogglable:!1,...c,...getDefaultParams$1(n)}}function getScriptForAddUrlPrefixForImgFields(e,t){let n=[],o={};return e.forEach((e=>{_$1__namespace.includes(["image","avatar"],e.type)&&(n.push(e.name),o[e.name]={name:e.name,type:e.type,multiple:e.multiple})})),n.length?`\n // image字段值添加URL前缀\n let imgFieldsKeys = ${JSON.stringify(n)};\n let imgFields = ${JSON.stringify(o)};\n imgFieldsKeys.forEach((item)=>{\n let imgFieldValue = data[item];\n let imgFieldDisplayValue = data._display && data._display[item];\n if(imgFieldValue && imgFieldValue.length){\n let fieldProps = imgFields[item];\n if(fieldProps.multiple){\n if(imgFieldDisplayValue instanceof Array){\n data[item] = imgFieldDisplayValue.map((i)=>{ \n const url = window.getImageFieldUrl(i.url, ${t});\n return url;\n });\n }\n }else{\n const url = imgFieldDisplayValue && window.getImageFieldUrl(imgFieldDisplayValue.url, ${t});\n data[item] = url;\n }\n }\n })\n `:""}async function getListBody(e,t){const n=[];for(const o of e){const e=await getFieldTpl(o,t);let r="text";e&&(r="tpl"),o.hidden||o.extra||n.push({name:o.name,label:o.label,sortable:o.sortable,width:o.width,type:r,tpl:e,toggled:o.toggled})}return{type:"hbox",columns:n}}function getDefaultParams(e){return{perPage:e.top||e.perPage||20}}async function getListSchema$1(e,t){return{mode:"list",name:"thelist",draggable:!1,headerToolbar:["reload"],syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:"${name}",listItem:{body:[...(await getListBody(e,t)).columns],actions:!1===t.actions?null:[{icon:"fa fa-eye",label:instance.t("frontend_form_view"),type:"button",actionType:"link",link:Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:t.tabId,listView:t.listView,recordId:"${_id}"})}]},...getDefaultParams(t)}}"undefined"!=typeof window&&(window.steedosI18next=instance,locale$1=getUserLanguage$1()),instance.use(initReactI18next).init({resources:resources,lng:locale$1,interpolation:{escapeValue:!1}}),"function"==typeof SuppressedError&&SuppressedError;const getSchema$5=async(e,t)=>{const n=`\n let formSchema = {\n "type": "steedos-object-form",\n "label": "对象表单",\n "objectApiName": "\${objectName}",\n "recordId": "",\n "mode": "edit",\n };\n\n if (payload && payload.schema) {\n formSchema = _.isString(payload.schema) ? JSON.parse(payload.schema) : payload.schema;\n }\n\n const fields = ${JSON.stringify(e.fields)};\n const selectedRowResponseResult = api.body.selectedRowResponseResult;\n let defaultData = {}; \n\n if(!_.isEmpty(selectedRowResponseResult)){\n const fieldsKeys = _.keys(fields);\n // 如果新建记录时复制的数据中有omit或其他不相关字段数据时不应该一起保存到数据库,\n // 原规则见:https://github.com/steedos/steedos-frontend/issues/297\n _.forEach(selectedRowResponseResult, (val, key) => {\n if (fieldsKeys.indexOf(key) > -1 && fields[key].omit !== true && key != 'owner') {\n defaultData[key] = val;\n }\n })\n }\n\n const _master = api.body._master;\n if(_master && _master._isRelated){\n const relatedKey = _master.relatedKey;\n const masterObjectName = _master.objectName;\n const recordId = _master.recordId || _master.record._id;\n let relatedKeySaveValue = recordId;\n const relatedField = fields[relatedKey];\n if(relatedField && relatedField.reference_to_field && relatedField.reference_to_field !== '_id'){\n relatedKeySaveValue = _master.record[relatedField.reference_to_field];\n }\n let relatedKeyValue; \n if(relatedField && !_.isString(relatedField.reference_to)){\n relatedKeyValue = { o: masterObjectName, ids: [relatedKeySaveValue] };\n }else if (relatedField && relatedField.multiple) {\n relatedKeyValue = [relatedKeySaveValue];\n } else {\n relatedKeyValue = relatedKeySaveValue;\n }\n defaultData[relatedKey]=relatedKeyValue;\n }\n\n if(!_.isEmpty(defaultData)){\n if(payload.schema){\n // 表单微页面第一层要求是page\n formSchema.data.defaultData = defaultData;\n }else{\n formSchema.defaultData = defaultData;\n }\n }\n return {\n data: formSchema\n };\n `;return{type:"service",body:[{type:"button",level:"primary",label:instance.t("frontend_form_new"),id:"u:standard_new",onEvent:{click:{weight:0,actions:[{actionType:"custom",script:"\n const isLookup = event.data.isLookup;\n if(isLookup){\n // lookup弹出窗口的新建功能不需要支持复制新建\n return;\n }\n const uiSchema = event.data.uiSchema;\n const objectName = event.data.objectName;\n const crudId = event.data.crudId || \"listview_\" + objectName;\n const listViewRef = event.context.scoped.getComponentById(crudId);\n const selectedItems = listViewRef && listViewRef.props.store.toJSON().selectedItems || [];\n event.data.selectedIds = _.map(selectedItems, uiSchema.idFieldName || '_id');\n "},{actionType:"ajax",outputVar:"selectedRowResponseResult",args:{api:{url:"${context.rootUrl}/api/v1/${uiSchema.name}/${selectedIds|first}",method:"get"}},expression:"${selectedIds.length > 0}"},{actionType:"dialog",dialog:{type:"dialog",data:{$master:"$$",_master:"${_master}","_master._isRelated":"${_isRelated}","_master.relatedKey":"${relatedKey}",appId:"${appId}",objectName:"${objectName}",context:"${context}",global:"${global}",listViewId:"${listViewId}",displayAs:"${displayAs}",uiSchema:"${uiSchema}",isLookup:"${isLookup}",listName:"${listName}",selectedRowResponseResult:"${selectedRowResponseResult}",_lookupObjectName:"${_lookupObjectName}"},title:instance.t("frontend_form_new")+" ${uiSchema.label | raw}",body:[{type:"service",id:"u:1678e148c4d2",messages:{},schemaApi:{data:{isLookup:"${isLookup}",_master:"${_master}",url:"${context.rootUrl}/api/pageSchema/form?app=${appId}&objectApiName=${objectName}&formFactor=${formFactor}",selectedRowResponseResult:"${selectedRowResponseResult}"},url:"${context.rootUrl}/api/pageSchema/form?app=${appId}&objectApiName=${objectName}&formFactor=${formFactor}",method:"get",messages:{},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"return { ...api, url: api.body.url }",adaptor:n}}],showCloseButton:!0,id:"u:e11347411d2d",closeOnEsc:!1,closeOnOutside:!1,size:"lg",actions:[{type:"button",actionType:"cancel",label:instance.t("frontend_form_cancel"),className:"form-btn-cancel"},{type:"button",label:instance.t("frontend_form_save_and_new"),actionType:"confirm",close:!1,id:"confirmAndNew",className:"form-btn-save_and_new"},{type:"button",actionType:"confirm",label:instance.t("frontend_form_save"),primary:!0,className:"form-btn-save"}]}}]}}}],regions:["body"],className:"p-0 border-0",id:"u:aef99d937b10"}};async function getObjectFieldsFilterFormSchema(e){e||(e={});return{type:"service",visibleOn:"this.filterFormSearchableFields && this.filterFormSearchableFields.length",className:"SMALL"===e.formFactor?"slds-filters__body p-0 mb-2 overflow-y-auto overflow-x-hidden":"slds-filters__body p-0 sm:grid sm:gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 p-1",style:{"max-height":"SMALL"===e.formFactor?"30vh":"unset"},schemaApi:{method:"post",data:{$self:"$$",query:""},url:"/api/amis/health_check?reload=${filterFormSearchableFields|join}",adaptor:`\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n const selfData = api.body.$self;\n const uiSchema = selfData.uiSchema;\n const fields = uiSchema.fields;\n const filterFormSearchableFields = (selfData.filterFormSearchableFields || []).filter(function(item){\n return !!fields[item]\n });\n const resolveAll = function(values){\n payload.data = {\n "body": values\n };\n return payload;\n }\n\n const rejectAll = function(){\n console.warn("run function getFieldSearchable failed.");\n }\n\n return Promise.all(filterFormSearchableFields.map(function (item) {\n const field = _.clone(fields[item]);\n if (\n field && window.isFieldTypeSearchable(field.type)\n ) {\n var ctx = ${JSON.stringify(e)};\n const amisField = window.getFieldSearchable(field, fields, ctx);\n return amisField;\n }\n })).then(resolveAll, rejectAll);\n `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}}async function getObjectFieldsFilterBarSchema(e,t){t||(t={});const n=t.searchable_fields,o=!!t.auto_open_filter,r="btn_filter_form_search_"+(new Date).getTime(),a=await getObjectFieldsFilterFormSchema(t),i=t.keywordsSearchBoxName||"__keywords",s=`\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === "form";\n });\n // 使用filterForm.getValues()的话,并不能拿到本地存储中的过滤条件,所以需要从event.data中取,因为本地存储中的过滤条件自动填充到表单上时filterForm.getValues()拿不到。\n let filterFormValues = event.data;\n filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据\n const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});\n // 同步__changedFilterFormValues中的值\n // crud && crud.setData({__changedFilterFormValues: {}});\n let __changedFilterFormValuesKey = "__changedFilterFormValues";\n if(isLookup && __lookupField){\n let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += "__" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = changedFilterFormValues;\n crud.setData(crudData);\n }\n filterForm.handleFormSubmit(event);\n // var filterFormValues = filterForm.getValues();\n // var listView = scope.parent.parent.parent.getComponents().find(function(n){\n // return n.props.type === "crud";\n // });\n // const removedValues = {};\n // // 设置搜索项中移除搜索项后,filterFormValues未把其字段的空值保存为own property,即hasOwnProperty属性中\n // // 这会造成handleFilterSubmit时把移除掉的搜索项字段之前的值加到过滤条件中\n // for(var k in filterFormValues){\n // if(filterFormValues[k] === "" && !filterFormValues.hasOwnProperty(k)){\n // removedValues[k] = null;\n // }\n // }\n // listView.handleFilterSubmit(Object.assign({}, removedValues, filterFormValues));\n // 点击搜索的时候自动收起搜索栏\n //触发amis crud 高度重算\n doAction({\n "actionType": "broadcast",\n "args": {\n "eventName": "@height.changed.${e.name}"\n },\n "data": {\n "timeOut": 500\n }\n });\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === "service";\n });\n let showFieldsFilter = true;\n // const isMobile = window.innerWidth < 768;\n // if(event.data.__from_fields_filter_settings_confirm){\n // // 如果是从设置搜索项点击确认按钮触发的搜索事件不应该自动关闭搜索栏\n // showFieldsFilter = true;\n // }\n // else if(isMobile){\n // // 如果是手机端,点击搜索后自动关闭搜索栏\n // showFieldsFilter = false;\n // }\n // else if(event.data.displayAs === "split") {\n // // PC上分栏模式下的列表,始终按手机上效果处理,即自动关闭搜索栏\n // showFieldsFilter = false;\n // }\n // else if(window.innerHeight >= 1200){\n // // 高分辨率屏幕(2k+),列表高度比较高,没必要自动关闭搜索栏\n // showFieldsFilter = true;\n // }\n filterService.setData({showFieldsFilter});\n // resizeWindow();//已迁移到搜索栏表单提交事件中执行,因为表单项change后也会触发表单提交了\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});\n crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter});\n `,l=`\n // console.log("===onCancelScript=form==");\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === "form";\n });\n var filterFormValues = filterForm.getValues();\n let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");\n const removedValues = {};\n for(var k in filterFormValues){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n if(!event.data.isLookup){\n // 刷新浏览器后,filterFormValues值是空的,只能从本地存储中取出并重置为空值\n const listName = event.data.listName;\n const listViewPropsStoreKey = location.pathname + "/crud";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n for(var k in localListViewProps){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n }\n }\n else{\n const keywordsSearchBoxName = "${i}";\n //lookup字段保留快速搜索条件\n removedValues[keywordsSearchBoxName] = filterFormValues[keywordsSearchBoxName];\n }\n filterForm.setValues(removedValues);//会把表单提交到toolbar的快速搜索区域,造成在快速搜索框中触发搜索时再次把搜索表单中的字段值清除掉的bug,已单独在快速搜索框那边添加搜索事件代码处理过了\n // 以下方法都无法实现清除表单值\n // filterForm.setValues({}, true)\n // filterForm.reset();\n // filterForm.handleAction({},{\n // "actionType": "setValue",\n // "args": {\n // "value": removedValues\n // }\n // });\n // 下面触发clear动作可以清除表单值,且不会把表单提交到toolbar的快速搜索区域,但是会把金额等范围字段清空成非范围字段\n // filterForm.handleAction({},{\n // "actionType": "clear"\n // });\n\n // 清除__changedFilterFormValues中的值\n // crud && crud.setData({__changedFilterFormValues: {}});\n let __changedFilterFormValuesKey = "__changedFilterFormValues";\n if(isLookup && __lookupField){\n let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += "__" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = {};\n crud.setData(crudData);\n }\n filterForm.handleFormSubmit(event);\n // crud.handleFilterSubmit(removedValues);\n\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, "service");\n filterFormService.setData({showFieldsFilter: !!!filterFormService.props.data.showFieldsFilter});\n //触发amis crud 高度重算\n doAction({\n "actionType": "broadcast",\n "args": {\n "eventName": "@height.changed.${e.name}"\n },\n "data": {\n "timeOut": 100\n }\n });\n \n // 移除搜索按钮上的红点\n // let crudService = scope.getComponentById("service_listview_" + event.data.objectName);\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service", {name: "service_object_table_crud"});\n crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});\n `,c=t.filter_form_data,u=`\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 `,d=`\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:u},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:d},{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 `,u=`\n ${c}\n\n // 下面的脚本只为解决点击搜索表单取消按钮,再重新在其中输入过滤条件但是不点击搜索按钮或回车按键触发搜索,此时在快速搜索框输入过滤条件按回车按键会把搜索表单中的过滤条件清空的问题\n // const scope = event.context.scoped;\n // 如果点击过顶部搜索栏表单的取消按钮,会把此处event.data.__super.__super.__super中的搜索表单项的所有字段设置为null\n // 点击取消按钮后继续在表单项中输入过滤条件且最后没有点击回车按键或点击表单项搜索按钮的话,在快速搜索中点击回车按钮提交搜索会所顶部搜索表单中的字段值清空\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, "form");\n if(!filterForm){\n return;\n }\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n let __changedFilterFormValuesKey = "__changedFilterFormValues";\n if(isLookup && __lookupField){\n let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += "__" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n setTimeout(function(){\n filterForm && filterForm.setValues(event.data[__changedFilterFormValuesKey]);\n }, 500);\n `;return{type:"tooltip-wrapper",id:"steedos_crud_toolbar_quick_search",align:"right",title:"",content:instance.t("frontend_crud_toolbar_quick_search_tooltip_prefix")+a.join(","),placement:"bottom",tooltipTheme:"dark",trigger:"click",className:"SMALL"!==n?"mr-1":"",visible:!!a.length,body:[{type:"search-box",name:r,placeholder:instance.t("frontend_crud_toolbar_quick_search_placeholder"),value:l,mini:!0,clearable:!0,clearAndSubmit:!0,searchImediately:!1,onEvent:{search:{actions:[{actionType:"custom",script:u}]},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,u;window.innerWidth,r||(c={type:"tpl",align:"left",className:"text-gray-500 mr-2",tpl:"${count} "+instance.t("frontend_record_sum")});let d;u={type:"button",align:"right",tooltipPlacement:"top",className:"bg-white p-2 rounded text-gray-500 list-view-btn-reload",label:"",icon:"fa fa-sync",onEvent:{click:{actions:[{actionType:"custom",script:'\n // 触发搜索,而不是reload,因为使用search-box可以在amissdk是3.6.3-patch.8+实现在非第一页的情况下,快速搜索输入框中过滤条件变更时再点刷新可以自动跳转翻页到第一页\n const scope = event.context.scoped;\n const sb = SteedosUI.getClosestAmisComponentByType(scope, "search-box");\n if (sb) {\n const sbValue = sb.state.value;\n sb.handleSearch(sbValue);\n }else{\n var listView = scope.parent.getComponents().find(function(n){\n return n.props.type === "crud";\n });\n listView.handleChangePage(1);\n }\n \n '}]}}},i&&(d={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 p=getDisplayAsButton(e?.name,e?.enable_split),f=getObjectHeaderQuickSearchBox(e,t,n,{isLookup:s,keywordsSearchBoxName:l}),m=[];return"SMALL"===n?(m.push(f),d&&m.push(d),m.push(p),[...a||[],...m]):(m.push(f),m.push(u),m.push(p),e?.permissions?.allowCreateListViews&&m.push(getSettingListviewToolbarButtonSchema()),d&&m.push(d),c&&m.push(c),[...a||[],"bulkActions",...m])}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 u=o.defaults||{};u.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),u.listSchema=_$1.defaultsDeep({},e,u.listSchema||{})}}catch(e){console.error("本地存储中crud参数解析异常:",e)}window.innerWidth>768&&(u.listSchema=_$1.defaultsDeep({},u.listSchema||{},{autoFillHeight:!0})),o.defaults=u,"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 u=getLookupListView(r),d=u&&u.name;u&&u.columns?(_$1__namespace.each(u.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(u.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 p=e.auto_fill_mapping;p&&p.length&&p.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 f={[o.labelField.name]:o.labelField,[o.valueField.name]:o.valueField};_$1__namespace.each(i,(e=>{e.hidden||(f[e.name]=e)}));let m=getListViewFilter(u),h=u&&u._filters,_="";u&&(_=getListViewSort(u));const g=await getApi(r,null,f,{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 v=`__keywords_lookup__${e.name.replace(/\./g,"_")}__to__${r.name}`;const b=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 ${m&&!n.inFilterForm?`var filters = ${JSON.stringify(m)};`:"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 : "${_}";\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(b)?JSON.stringify(b):'"'+b+'"'} || {};\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.${v}, 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 = ${h};\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:v}),"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,u=!_$1__namespace.isBoolean(e.create)||e.create;let p=!_$1__namespace.isEmpty(e.filters)||!!e.filtersFunction||!!e._filtersFunction;if(s&&u&&!p){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,f,{...n,isLookup:!0,keywordsSearchBoxName:v,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:d,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:m,listviewFiltersFunction:h}}),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),u=getListViewFilter(c),d=c&&c._filters,p="";if(c&&(p=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 ${u&&!n.inFilterForm?`var filters = ${JSON.stringify(u)};`:"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 = ${d};\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 = "${p}";\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 f={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&&(f.source=i,delete f.autoComplete);return r&&e.multiple||(f.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&&(f.multiple=!0,f.extractValue=!0),t&&(f.tpl=await getLookupTpl(e,n)),f}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),u="";c&&(u=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 : "${u}";\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 d=null;"SMALL"===n.formFactor?d=await getListSchema$1(s,{top:1e3,...n,actions:!1}):(d=await getTableSchema$1(r,s,{labelFieldName:r.NAME_FIELD_KEY,top:1e3,isLookup:!0,...n}),d.affixHeader=!1);const p={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:d,joinValues:!1,extractValue:!0};return e.multiple&&(p.multiple=!0,p.extractValue=!0),n.value&&(p.value=n.value),null!=n.selectFirst&&(p.selectFirst=n.selectFirst),t&&(p.tpl=await getLookupTpl(e,n)),p}"undefined"!=typeof window&&(window.getReferenceTo=getReferenceTo,window.getReferenceToSync=getReferenceToSync);const getMarkdownFieldSchema=(e,t,n)=>t?{type:"control",label:e.label,body:{type:"markdown",name:e.name,options:{linkify:!0,html:!0,breaks:!0}}}:{type:"control",label:e.label,body:[{type:"tabs",tabsMode:"strong",className:"steedos-markdown",tabs:[{title:instance.t("frontend_form_edit"),tab:[{type:"editor",name:e.name,labelClassName:"none",language:"markdown",options:e.amis?e.amis.editorOptions:null}]},{title:instance.t("frontend_form_preview"),tab:[{type:"markdown",name:e.name,options:{linkify:!0,html:!0,breaks:!0}}]}]}]},getHtmlFieldSchema=(e,t,n)=>t?{type:"input-rich-text",receiver:"${context.rootUrl}/s3/images",name:e.name,options:{plugins:["autoresize"],statusbar:!1,readonly:!0,toolbar:!1,menubar:!1}}:{type:"input-rich-text",receiver:"${context.rootUrl}/s3/images",options:{statusbar:!1,menubar:!1},name:e.name},QUICK_SEARCHABLE_FIELD_TYPES=["text","textarea","autonumber","url","email"],OMIT_FIELDS=["created","created_by","modified","modified_by"];function getObjectFieldSubFields(e,t){const n=Object.assign({subFields:[]},e),o=_$1__namespace.filter(t,(function(t){let n=t.name.startsWith(`${e.name}.`)&&_$1__namespace.split(t.name,".").length<3;return n&&(t._prefix=`${e.name}.`),n}));return n.subFields=o,n}function getGridFieldSubFields(e,t){const n=Object.assign({subFields:[]},e),o=_$1__namespace.filter(t,(function(t){let n=t.name.startsWith(`${e.name}.`);return n&&(t._prefix=`${e.name}.`),n}));return n.subFields=o,n}function getTabledFieldSubFields(e,t){const n=Object.assign({subFields:[]},e),o=_$1__namespace.filter(t,(function(t){let n=t.name.startsWith(`${e.name}.`);return n&&(t._prefix=`${e.name}.`),n}));return n.subFields=o,n}function getSelectFieldOptions(e){const t=e.data_type||"text",n=[];return _$1__namespace.each(e.options,(e=>{switch(t){case"number":n.push({label:e.label,value:Number(e.value),icon:e.icon});break;case"text":n.push({label:e.label,value:String(e.value),icon:e.icon});break;case"boolean":n.push({label:e.label,value:"false"!==e.value,icon:e.icon})}})),n}async function convertSFieldToAmisField(e,t,n){const o=window.innerWidth<=768;if(_$1__namespace.includes(OMIT_FIELDS,e.name)&&1!=n.showSystemFields)return;const r={name:n.fieldNamePrefix?`${n.fieldNamePrefix}${e.name}`:e.name,label:e.label,labelRemark:e.inlineHelpText,description:e.description,required:_$1__namespace.has(n,"required")?n.required:e.required};let a={};switch(e.type){case"text":a.type=getAmisStaticFieldType("text",t,e);break;case"textarea":a.type=getAmisStaticFieldType("textarea",t),a.tpl=`<%=(data.${e.name} || "").split("\\n").join('<br>')%>`;break;case"html":a=getHtmlFieldSchema(e,t);break;case"markdown":a=getMarkdownFieldSchema(e,t);break;case"select":if(t){const t=getSelectMap(e.options);a={type:"static-mapping",name:e.name,label:e.label,options:e.options,map:t}}else{a={type:getAmisStaticFieldType("select",t),joinValues:!1,options:getSelectFieldOptions(e),extractValue:!0,clearable:!0,labelField:"label",valueField:"value"};const n="${icon ? `"+"<span class='flex items-center mt-0.5'>\n <span role='img' aria-label='smile' class='anticon anticon-smile'>\n <span class='slds-icon_container slds-icon-standard-${REPLACE(icon,'_','-')}'>\n <svg class='slds-icon slds-icon_x-small' aria-hidden='true'>\n <use xlink:href='/assets/icons/standard-sprite/svg/symbols.svg#${icon}'></use>\n </svg>\n </span> \n </span>\n <span class='pl-1.5'>${label}</span>\n </span>"+"` : label}";o&&e.multiple||(a.menuTpl=n),e.multiple&&(a.multiple=!0,a.extractValue=!0)}break;case"color":a={type:getAmisStaticFieldType("color",t),name:e.name,label:e.label},t?a.defaultColor=null:a.pipeIn=(e,t)=>e&&e.indexOf("#")<0?"#"+e:e;break;case"boolean":a={type:getAmisStaticFieldType("checkbox",t),tpl:t?getSwitchTpl(e):null};break;case"input-date-range":a={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:t?getDateTpl(e):null,joinValues:!1,shortcuts:["thismonth","2monthsago","3monthslater","prevquarter","thisquarter","thisyear","lastYear"]};break;case"date":a={type:getAmisStaticFieldType("date",t),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:t?getDateTpl(e):null};break;case"input-datetime-range":a={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSSZ",tpl:t?getDateTimeTpl(e):null,utc:!0,joinValues:!1,shortcuts:["thismonth","2monthsago","3monthslater","prevquarter","thisquarter","thisyear","lastYear"]};break;case"datetime":a={type:getAmisStaticFieldType("datetime",t),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:00.000Z",tpl:t?getDateTimeTpl(e):null,utc:!0};break;case"input-time-range":a={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:t?getDateTimeTpl(e):null,joinValues:!1};break;case"time":a={type:getAmisStaticFieldType("time",t),inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:t?getDateTimeTpl(e):null};break;case"currency":case"number":a=t?{type:"static-tpl",tpl:getNumberTpl(e)}:{type:getAmisStaticFieldType("number",t),min:e.min,max:e.max,precision:e.scale};break;case"input-array":a=Object.assign({},e,r);break;case"input-range":a={type:"input-range",min:e.min,max:e.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":a=t?{type:"static-progress",name:"progress",pipeIn:(t,n)=>{if(t){return Number((100*t).toFixed(e.scale))}return t}}:{type:getAmisStaticFieldType("number",t),min:e.min,max:e.max,precision:e.scale,suffix:"%",pipeIn:(t,n)=>{if(t){return Number((100*t).toFixed(e.scale))}return t},pipeOut:(t,n,o)=>{if(t){return Number((t/100).toFixed(e.scale+2))}return t}};break;case"password":a={type:getAmisStaticFieldType("password",t),tpl:t?getPasswordTpl(e):null};break;case"lookup":case"master_detail":a=await lookupToAmis(e,t,n);break;case"autonumber":t?a={type:"static-text"}:e.autonumber_enable_modify&&(a={type:"input-group",body:[{type:"input-text",name:e.name},{type:"button",label:"自动获取",actionType:"ajax",api:{url:`\${context.rootUrl}/api/autonumber/generator/\${objectName}/${e.name}`,method:"post",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`\n var tempValue = payload.data && payload.data.autonumber;\n delete payload.data.autonumber;\n payload.data["${e.name}"] = tempValue;\n return payload;\n `},messages:{success:"获取成功"}}]});break;case"url":if(a={type:getAmisStaticFieldType("url",t,e),static:!!t},!t){let t=e.amis?.validations;void 0===t&&Object.assign(a,{validations:{matchRegexp:"^((http:\\/\\/|https:\\/\\/|ftp:\\/\\/|sftp:\\/\\/)+([^\\s\\/\\.]+(\\.[^\\s\\/\\.]+)+))*(\\/[^\\s\\.\\/]+)*$"},validationErrors:{matchRegexp:instance.t("frontend_form_validation_failed_url")}})}t&&e.show_as_qr&&(a={type:"control",label:e.label,body:{type:"qr-code",codeSize:128,name:e.name}});break;case"email":a={type:getAmisStaticFieldType("email",t)};break;case"location":let i="LiZT5dVbGTsPI91tFGcOlSpe5FDehpf7",s="baidu";if(window.Meteor){const e=Meteor.settings?.public?.amis?.map_ak;e&&(i=e);const t=Meteor.settings?.public?.amis?.map_vendor;t&&(s=t)}const l=e.coordinatesType||"bd09";a={type:getAmisStaticFieldType("location",t),tpl:t?getLocationTpl(e):null,ak:i,vendor:s,clearable:!0,coordinatesType:l,label:e.label,pipeOut:(e,t,n)=>{if(e){const t=e.lng,n=e.lat;let o=[t,n];if(window.coordtransform)if("bd09"===l.toLowerCase()){const e=window.coordtransform.bd09togcj02(t,n);o=window.coordtransform.gcj02towgs84(e[0],e[1])}else"gcj02"===l.toLowerCase()&&(o=window.coordtransform.gcj02towgs84(t,n));return e.wgs84={type:"Point",coordinates:o},e}}};break;case"avatar":case"image":case"file":a=await getAmisFileSchema(e,t,n);break;case"formula":case"summary":t&&(a={type:"static-tpl",tpl:getUiFieldTpl(e)});break;case"code":a={type:"editor",disabled:!!t,language:e.language,editorDidMount:new Function("editor","monaco",e.editorDidMount)};break;case"toggle":a={type:"switch",name:e.name,label:e.label,width:e.width,toggled:e.toggled,disabled:t};break;case"grid":if(e.subFields){a={type:"input-table",showIndex:!0,columnsTogglable:!1,strictMode:!1,affixHeader:!1,needConfirm:!1,editable:!t,addable:!t,removable:!t,draggable:!t,columns:[]};for(const o of e.subFields){const r=o.name.replace(`${e._prefix||""}${e.name}.$.`,"").replace(`${e.name}.`,""),i=await convertSFieldToAmisField(Object.assign({},o,{name:r,isTableField:!0}),t,n);if(i){delete i.name,delete i.label;const e={name:r,label:o.label,quickEdit:!t&&i};["lookup","boolean","toggle"].indexOf(o.type)>-1&&(e.type=i.type,e.tpl=i.tpl),a.columns.push(Object.assign({},e,o.amis,{name:r}))}}}break;case"table":if(e.subFields){a={type:"steedos-input-table",editable:!t,addable:!t,removable:!t,fields:[],amis:{columnsTogglable:!1}};for(const t of e.subFields)if(!t.name.endsWith(".$")){const n=t.name.replace(`${e._prefix||""}${e.name}.$.`,"").replace(`${e.name}.`,"");a.fields.push(Object.assign({},t,{name:n}))}}break;case"object":if(e.subFields){a={type:"combo",items:[]};for(let o of e.subFields){let r=o.name.replace(`${e.name}.$.`,"").replace(`${e.name}.`,"");"grid"===o.type?o=await getGridFieldSubFields(o,n.__formFields):"table"===o.type?o=await getTabledFieldSubFields(o,n.__formFields):t&&(r=`${e.name}.${r}`);const i=await convertSFieldToAmisField(Object.assign({},o,{name:r}),t,n);i&&(delete i.name,delete i.label,i.className=i.className.replace("border-b",""),a.items.push(Object.assign({},i,{label:o.label},o.amis,{name:r})))}}}if(!_$1__namespace.isEmpty(a)){const o=a.className;e.is_wide||"group"===a.type?a.className=o?"col-span-2 m-0 "+o:"col-span-2 m-0":a.className=o?"m-0 "+o:"m-0",t&&"edit"!==n.mode&&(a.className=`${a.className} border-b`),t&&(a.quickEdit=!1,a.static=!0);let i,s=" steedos-"+a.type+(t?"-readonly":"-edit");return a.className=a.className+s,e.visible_on&&!n.inFilterForm&&(e.visible_on.startsWith("{{")?a.visibleOn=`${e.visible_on.substring(2,e.visible_on.length-2).replace(/formData./g,"data.")}`:a.visibleOn=`${e.visible_on.replace(/formData./g,"data.")}`),n.amisData&&n.amisData._master&&n.amisData._master.relatedKey===e.name&&(a.className=`${a.className||""} hidden`),_$1__namespace.isString(r.required)&&r.required.startsWith("{{")&&(r.requiredOn=`${r.required.substring(2,r.required.length-2).replace(/formData./g,"data.")}`,delete r.required),"group"===a.type?(a.body[0]=Object.assign({},r,a.body[0],{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:e.name}),a):(i="steedos-field"==a.type?Object.assign({},r,a,{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:e.name},{name:r.name}):Object.assign({},r,a,{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:e.name},e.amis,{name:r.name}),t&&"file"==e.type&&(i.name=""),i)}}async function getFieldSearchable(e,t,n){n||(n={});let o=e;"grid"===o.type?o=await getGridFieldSubFields(e,t):"object"===e.type&&(o=await getObjectFieldSubFields(e,t));let r="__searchable__";if(o.name.indexOf(".")<0){let e=_$1.cloneDeep(o);_$1.includes(["textarea","html","code","autonumber"],o.type)&&(e.type="text"),_$1.includes(["formula","summary"],o.type)&&(e.type=o.data_type,e.precision=o.precision,e.scale=o.scale),"number"!==e.type&&"currency"!==e.type||(e.type="input-array",e.inline=!0,e.addable=!1,e.removable=!1,e.value=[null,null],e.items={type:"input-number",clearValueOnEmpty:!0},e.is_wide=!0,r=`${r}between__`),"date"===e.type&&(e.type="input-date-range",e.is_wide=!0,r=`${r}between__`),"datetime"===e.type&&(e.type="input-datetime-range",e.is_wide=!0,r=`${r}between__`),"time"===e.type&&(e.type="input-time-range",e.is_wide=!0,r=`${r}between__`),"users"===e.reference_to&&(e.reference_to="space_users",e.reference_to_field="user"),e.readonly=!1,e.disabled=!1,e.multiple=!0,e.is_wide=!1,e.defaultValue=void 0,e.required=!1,e.hidden=!1,e.omit=!1,e.amis&&(delete e.amis.static,delete e.amis.staticOn,delete e.amis.disabled,delete e.amis.disabledOn,delete e.amis.required,delete e.amis.requiredOn,delete e.amis.visible,delete e.amis.visibleOn,delete e.amis.hidden,delete e.amis.hiddenOn,delete e.amis.autoFill,(e.type.indexOf("-range")>-1||"input-array"===e.type)&&delete e.amis.type);const t=await convertSFieldToAmisField(e,!1,Object.assign({},n,{fieldNamePrefix:r,required:!1,showSystemFields:!0,inFilterForm:!0}));if(t)return t}}function isFieldTypeSearchable(e){return!_$1__namespace.includes(["grid","table","avatar","image","object","[object]","[Object]","[grid]","[text]","audio","file"],e)}function isFieldQuickSearchable(e,t){let n=e.searchable;return!1!==n&&e.name===t&&(n=!0),!!(n&&QUICK_SEARCHABLE_FIELD_TYPES.indexOf(e.type)>-1)}"undefined"!=typeof window&&(window.getFieldSearchable=getFieldSearchable),"undefined"!=typeof window&&(window.isFieldTypeSearchable=isFieldTypeSearchable);var asc$1="Asc",cancel$1="Cancel",clear$1="Clear",add$1="New",confirm$1="Confirm",deleteConfirm$1="Are your sure to delete?",deleteFailed$1="Delete failed",desc$1="Desc",fetchFailed$1="Fetch api failed",link$1="Link",loading$1="Loading",networkError$1="Network error or missing CORS configuration",noResult$1="No Result",reset$1="Reset",saveFailed$1="Save failed",saveSuccess$1="Saved successfully",search$1="Search",searchHistory$1="Search History",searchResult$1="Search result",sort$1="Sort",stop$1="Stop",validateFailed$1="Validate failed",reload$1="Reload",rotate$1="Rotate",TimeNow$1="Now",en_us={"Action.countDown":"Wait for ${timeLeft}s","Alert.info":"System Info","App.home":"Home","App.navigation":"Navigation",asc:asc$1,"Calendar.datepicker":"Date Picker","Calendar.yearmonth":"YYYY MM","Calendar.year":"YYYY","Calendar.begin":"begin","Calendar.end":"end","Calendar.beginAndEnd":"b/e","Calendar.toast":"Out of date range","Calendar.startPick":"Select start time","Calendar.endPick":"Select end time",cancel:cancel$1,"Card.dragTip":"Drag top button to sort","Card.toggleDrag":"Toggle drag to sort","City.street":"Enter street info",clear:clear$1,"ColorPicker.placeholder":"Select color","SubForm.add":"New",add:add$1,"Combo.dragDropSort":"Drag to sort","Combo.invalidData":"invalid data, please remove","Combo.maxLength":"Maximum item ia {{MaxLength}}}. Please delete some","Combo.minLength":"A least {{minLength}} item. Please add more","Combo.type":"Type",confirm:confirm$1,"Copyable.tip":"Copy","CRUD.exportCSV":"Export CSV","CRUD.exportExcel":"Export Excel","CRUD.fetchFailed":"Fetch failed","CRUD.filter":"Filter","CRUD.selected":"selected {{total}} items","CRUD.invalidArray":"data.items must be an array","CRUD.invalidData":"data is empty","CRUD.loadMore":"Load more","CRUD.perPage":"Per page","CRUD.stat":"{{page}} of {{lastPage}} total: {{total}}.","CRUD.paginationGoText":"Go to","CRUD.paginationPageText":"page","PaginationWrapper.placeholder":"please config body","Pagination.select":"{{count}} items/page","Pagination.goto":"goto","Pagination.go":"GO","Pagination.totalPage":"total {{lastPage}} pages","Pagination.totalCount":"total {{total}} items","Date.titleYear":"select year","Date.titleMonth":"select month and year","Date.titleDate":"select month, year and day","Date.titleTime":"select time","Date.daysago":"{{days}} day(s) ago","Date.dayslater":"{{days}} day(s) later","Date.endOfMonth":"last day of the month","Date.endOfLastMonth":"last day of last month","Date.endOfWeek":"Saturday","Date.hoursago":"{{hours}} hour(s) ago","Date.hourslater":"{{hours}} hour(s) later","Date.invalid":"Invalid date","Date.monday":"Monday","Date.monthsago":"{{months}} month(s) ago","Date.monthslater":"{{months}} month(s) later","Date.now":"Now","Date.placeholder":"Select Date","Date.quartersago":"{{quarters}} quarter(s) ago","Date.quarterslater":"{{quarters}} quarter(s) later","Date.startOfLastMonth":"First day of the last month","Date.startOfLastQuarter":"First day of the last quarter","Date.startOfMonth":"First day of the month","Date.startOfQuarter":"First day of the quarter","Date.today":"Today","Date.tomorrow":"Tomorrow","Date.weeksago":"{{weeks}} week(s) ago","Date.weekslater":"{{weeks}} week(s) later","Date.yesterday":"Yesterday","dateformat.year":"YYYY","DateRange.daysago":"Last {{days}} day(s)","DateRange.dayslater":"Within {{days}} day(s)","DateRange.weeksago":"Last {{weeks}} week(s)","DateRange.weekslater":"Within {{weeks}} week(s)","DateRange.monthsago":"Last {{months}} month(s)","DateRange.monthslater":"Within {{months}} month(s)","DateRange.quartersago":"Last {{quarters}} quarter(s)","DateRange.quarterslater":"Within {{quarters}} quarter(s)","DateRange.yearsago":"Last {{years}} year(s)","DateRange.yearslater":"Within {{years}} year(s)","DateRange.hoursago":"Last {{hours}} hour(s)","DateRange.hourslater":"Within {{hours}} hour(s)","DateRange.1dayago":"1 day ago","DateRange.1daysago":"1 day ago","DateRange.7daysago":"7 days ago","DateRange.30daysago":"30 days ago","DateRange.90daysago":"90 days ago","DateRange.lastMonth":"Last month","DateRange.lastWeek":"Last week","DateRange.lastQuarter":"Last quarter","DateRange.placeholder":"Select a Date range","YearRange.placeholder":"Select a Year range","DateRange.thisWeek":"This Week","DateRange.thisMonth":"This month","DateRange.thisQuarter":"This quarter","DateRange.thisYear":"This year","DateRange.lastYear":"Last year","DateRange.valueConcat":" to ","DateTime.placeholder":"Select Datetime",delete:"Delete",deleteConfirm:deleteConfirm$1,deleteFailed:deleteFailed$1,desc:desc$1,"Dialog.close":"Close","Dialog.title":"Title","Embed.invalidRoot":"Invalid root selector","Embed.downloading":"Start downloading","Excel.placeholder":"Drag 'n' drop excel here, or click to select","Excel.parsed":"{{filename}} Parsed",fetchFailed:fetchFailed$1,"File.continueAdd":"Continue add","File.downloadTpl":"Download template","File.dragDrop":"Drag 'n' drop some files here or","File.clickUpload":"click here to upload","File.helpText":"Help documentation","File.errorRetry":"File upload failed, please try again","File.failed":"Failed files.","File.invalidType":"{{files}} does not match type `{{accept}}`","File.maxLength":"The maximum limit is {{maxLength}}","File.maxSize":"{{filename}} you selected exceeds the maximum limit of {{maxsize}} (in bytes)","File.pause":"Pause uplaod","File.repick":"Repick","File.result":"Successfully uploaded {{uploaded}} files, failed to upload {{failed}} files","File.retry":"Retry","File.sizeLimit":"The maximum file size is {{maxSize}}","File.start":"Start upload","File.upload":"Upload","Image.upload":"Upload image","File.uploadFailed":"return data of udpload api is empty","File.uploading":"Uploading","FormItem.autoFillLoadFailed":"return data of autoUpdate api is error","FormItem.autoFillSuggest":"Reference data entry","Form.loadOptionsFailed":"Failed to load options because: {{reason}}","Form.submit":"Submit","Form.title":"Form","Form.unique":"Current value is not unique","Form.validateFailed":"Form input validation failed","Form.nestedError":"Form cannot appear as a descendant of form","Image.configError":"Can only set one of crop or multiple","Image.crop":"Crop image","Image.dragDrop":"Drag 'n' drop some photos here","Image.height":"height: {{height}}px","Image.limitMax":"Minimum image size is {{info}}","Image.limitMin":"Maximum image size is {{info}}","Image.limitRatio":"Please upload image with the size ratio of {{ration}}","Image.pasteTip":"You can paste image from the clipboard","Image.placeholder":"Click to select image or drag into this area","Image.size":"size: ({{width}}px x {{height}}px)","Image.sizeNotEqual":"The image you selected does not meet the size requirements {{info}}","Image.width":"width: {{width}}px","Image.zoomIn":"Zoom In","Log.mustHaveSource":"Must have source in config","Log.showLineNumber":"Display line number","Log.notShowLineNumber":"Hide line number","Log.expand":"Expand Operation","Log.collapse":"Collapse Operation",link:link$1,loading:loading$1,"LocationPicker.placeholder":"Pick location","Month.placeholder":"Select a month","Nav.sourceError":"Fetch link error",networkError:networkError$1,noResult:noResult$1,"NumberInput.placeholder":"Please enter a number","Options.addPlaceholder":"Please enter a name","Options.deleteAPI":"Must have deleteAPI","Options.editLabel":"Edit {{label}}","Options.label":"option","Options.createFailed":"create failed, please check","placeholder.empty":"<Empty>","placeholder.enter":"Enter","placeholder.noData":"No data","placeholder.noOption":"No option","placeholder.selectData":"Select data","Quarter.placeholder":"Select a quarter","Repeat.pre":"Per",reset:reset$1,saveFailed:saveFailed$1,saveSuccess:saveSuccess$1,search:search$1,searchHistory:searchHistory$1,searchResult:searchResult$1,"Checkboxes.selectAll":"Select/Deselect All","Select.checkAll":"Check all","Select.clear":"Clear","Select.upload":"Re upload","Select.clearAll":"Clear all","Select.createLabel":"New option","Select.placeholder":"Select","Select.searchPromptText":"Input to search",sort:sort$1,stop:stop$1,"SubForm.button":"Config","SubForm.editDetail":"Edit Detail","System.error":"System error","System.notify":"System notify","System.copy":"Content copied","System.requestError":"Request error: ","System.requestErrorStatus":"Request error, status code: ","Table.addRow":"Add row","Table.copyRow":"Copy row","Table.columnsVisibility":"Click to control columns visibility","Table.deleteRow":"Delete current row","Table.discard":"Discard","Table.dragTip":"Drag the button on the left to sort","Table.editing":"You should finished editing","Table.editRow":"Edit current row","Table.modified":"There are {{modified}} records have been modified, you can:","Table.moved":"There are {{moved}} records changed the order, you can:","Table.operation":"Operation","Table.playload":"Must have playload","Table.startSort":"Click to start sorting","Table.valueField":"Must have valueField","Table.index":"Index","Table.toggleColumn":"Display columns","Table.searchFields":"Set query fields","Tag.placeholder":"No tag yet","Tag.tip":"Recently used tag","Text.add":"New {{label}}","Time.placeholder":"Select Time","Transfer.configError":"Config error","Transfer.refreshIcon":"Click to refresh","Transfer.searchKeyword":"Enter keywords","Transfer.available":"Available","Transfer.selectd":"Selected","Transfer.selectFromLeft":"Select from the left","Tree.addChild":"Add child","Tree.addRoot":"Add root node","Tree.editNode":"Edit this node","Tree.removeNode":"Remove this node","Tree.root":"Root","validate.equals":"value must be $1","validate.equalsField":"value must be $1","validate.gt":"Please enter a value greater than $1","validate.isAlpha":"Please enter letters","validate.isAlphanumeric":"Please enter letters or numbers","validate.isEmail":"Email format is incorrect","validate.isFloat":"Please enter a floating point value","validate.isId":"invalid ID Card number","validate.isInt":"Please enter an integer number","validate.isJson":"invalid JSON format.","validate.isLength":"Please make sure the length of contents is $1","validate.isNumeric":"Please enter a number","validate.isPhoneNumber":"invalid phone number","validate.isRequired":"This is required","validate.isTelNumber":"invalid telephone number","validate.isUrl":"Incorrect URL format","validate.isUrlPath":"You can only enter letters, numbers, `-` and`_` .","validate.isWords":"Please enter word","validate.isZipcode":"invalid postal address","validate.lt":"Please enter a value less than $1","validate.matchRegexp":"The format is not correct. Please enter the content with the rule `${1| raw}`.","validate.maximum":"The input value exceeds the maximum value of $1","validate.maxLength":"Please control the content length, do not enter more than $1 letters","validate.minimum":"The input value is lower than the minimum value of $1","validate.minLength":"Please enter more, at least $1 characters.","validate.notEmptyString":"Please do not enter all blank characters",validateFailed:validateFailed$1,"Wizard.configError":"Config error","Wizard.finish":"Finish","Wizard.next":"Next","Wizard.prev":"Prev","Wizard.saveAndNext":"Save & Next","year-to-year":"{{from}} - {{to}}","Year.placeholder":"Select a Year",reload:reload$1,rotate:rotate$1,"Editor.fullscreen":"full screen","Editor.exitFullscreen":"exit fullscreen mode","Condition.not":"not","Condition.and":"and","Condition.or":"or","Condition.add_cond":"add condition","Condition.add_cond_group":"add condition group","Condition.delete_cond_group":"delete condition group","Condition.equal":"equal","Condition.not_equal":"not equal","Condition.less":"less","Condition.less_or_equal":"less or equal","Condition.greater":"greater","Condition.greater_or_equal":"greater or equal","Condition.between":"between","Condition.not_between":"not between","Condition.is_empty":"empty","Condition.is_not_empty":"not empty","Condition.like":"contains","Condition.not_like":"not contains","Condition.starts_with":"starts with","Condition.ends_with":"ends with","Condition.select_equals":"equals","Condition.select_not_equals":"not equal","Condition.select_any_in":"contains","Condition.select_not_any_in":"not contains","Condition.placeholder":"Please enter text","Condition.cond_placeholder":"select condition","Condition.field_placeholder":"select field","Condition.blank":"blank","Condition.expression":"expression","Condition.formula_placeholder":"Please enter a formula","Condition.fun_error":"Function is undefined","InputTable.uniqueError":"Column `{{label}}` unique validate failed","Timeline.collapseText":"Unfold","Timeline.expandText":"Fold","FormulaEditor.btnLabel":"Formula Edit","FormulaEditor.title":"Formula Editor","FormulaEditor.variable":"Variable","FormulaEditor.function":"Function","FormulaEditor.invalidData":"invalid data, position or reason is {{err}}","pullRefresh.pullingText":"Pull down to refresh...","pullRefresh.loosingText":"Release to refresh...","pullRefresh.loadingText":"Loading...","pullRefresh.successText":"Loading success","Picker.placeholder":"Click icon on the right","UserSelect.edit":"edit","UserSelect.save":"preservation","UserSelect.resultSort":"Select result sort","UserSelect.selected":"Selected","UserSelect.clear":"empty","SchemaType.string":"String","SchemaType.number":"Number","SchemaType.integer":"integer","SchemaType.object":"Object","SchemaType.array":"Array","SchemaType.boolean":"Boolean","SchemaType.any":"Any","SchemaType.null":"Null","JSONSchema.title":"Title","JSONSchema.default":"Default","JSONSchema.description":"Description","JSONSchema.key":"Key","JSONSchema.array_items":"Items",TimeNow:TimeNow$1},asc="正序",Schedule="日程",Time="时间",Content="内容",cancel="取消",clear="清空",add="新增",confirm="确认",deleteConfirm="确认要删除?",deleteFailed="删除失败",desc="降序",fetchFailed="初始化失败",link="链接",loading="加载中",networkError="网络错误,可能是未配置跨域 CORS",noResult="未找到任何结果",reset="重置",saveFailed="保存失败",saveSuccess="保存成功",search="搜索",searchHistory="搜索历史",searchResult="搜索结果",stop="停止",sort="排序",validateFailed="表单验证失败",reload="刷新",rotate="旋转",collapse="展开",expand="折叠",Required="必填",TimeNow="此刻",zh_cn={"Action.countDown":"请等待 ${timeLeft} 秒","Alert.info":"系统消息","App.home":"首页","App.navigation":"导航",asc:asc,"Calendar.datepicker":"日期选择","Calendar.yearmonth":"YYYY年MM月","Calendar.year":"YYYY年","Calendar.begin":"开始","Calendar.end":"结束","Calendar.beginAndEnd":"始/终","Calendar.toast":"超出日期范围","Calendar.startPick":"开始时间","Calendar.endPick":"结束时间",Schedule:Schedule,Time:Time,Content:Content,cancel:cancel,"Card.dragTip":"请拖动顶部的按钮进行排序","Card.toggleDrag":"对卡片进行排序操作","City.street":"请输入街道信息",clear:clear,"ColorPicker.placeholder":"请选择颜色","SubForm.add":"新增一项",add:add,"Combo.dragDropSort":"拖拽排序","Combo.invalidData":"数值格式不正确","Combo.maxLength":"组合表单超出{{maxLength}}个,请删除","Combo.minLength":"组合表单数量不足{{minLength}}个,请添加更多","Combo.type":"类型",confirm:confirm,"Copyable.tip":"点击复制","CRUD.exportCSV":"导出 CSV","CRUD.exportExcel":"导出 Excel","CRUD.fetchFailed":"获取失败","CRUD.filter":"筛选","CRUD.selected":"已选{{total}}条:","CRUD.invalidArray":"data.items 必须是数组","CRUD.invalidData":"返回数据格式不正确,data 没有数据","CRUD.loadMore":"加载更多","CRUD.perPage":"每页显示","CRUD.stat":"{{page}}/{{lastPage}} 总共:{{total}} 项","CRUD.paginationGoText":"前往","CRUD.paginationPageText":"页","PaginationWrapper.placeholder":"请配置内容","Pagination.select":"{{count}} 条/页","Pagination.goto":"跳转至","Pagination.go":"跳转","Pagination.totalPage":"共 {{lastPage}} 页","Pagination.totalCount":"共 {{total}} 条","Date.titleYear":"选择年","Date.titleMonth":"选择年月","Date.titleDate":"选择年月日","Date.titleTime":"选择时间","Date.daysago":"{{days}}天前","Date.dayslater":"{{days}}天后","Date.endOfMonth":"本月最后一天","Date.endOfWeek":"周日","Date.endOfLastMonth":"上月最后一天","Date.hoursago":"{{hours}}小时前","Date.hourslater":"{{hours}}小时后","Date.invalid":"日期无效","Date.monday":"本周一","Date.monthsago":"{{months}}月前","Date.monthslater":"{{months}}月后","Date.now":"现在","Date.placeholder":"请选择日期","Date.quartersago":"{{quarters}}季度前","Date.quarterslater":"{{quarters}}季度后","Date.startOfLastMonth":"上个月第一天","Date.startOfLastQuarter":"上个季度第一天","Date.startOfMonth":"本月第一天","Date.startOfQuarter":"本季度第一天","Date.today":"今天","Date.tomorrow":"明天","Date.weeksago":"{{weeks}}周前","Date.weekslater":"{{weeks}}周后","Date.yesterday":"昨天","dateformat.year":"YYYY年","DateRange.daysago":"最近{{days}}天","DateRange.dayslater":"{{days}}天以内","DateRange.weeksago":"最近{{weeks}}周","DateRange.weekslater":"{{weeks}}周以内","DateRange.monthsago":"最近{{months}}月","DateRange.monthslater":"{{months}}月以内","DateRange.quartersago":"最近{{quarters}}季度","DateRange.quarterslater":"{{quarters}}季度以内","DateRange.yearsago":"最近{{years}}年","DateRange.yearslater":"{{years}}年以内","DateRange.hoursago":"最近{{hours}}小时","DateRange.hourslater":"{{hours}}小时以内","DateRange.1daysago":"最近1天","DateRange.1dayago":"最近1天","DateRange.7daysago":"最近7天","DateRange.30daysago":"最近30天","DateRange.90daysago":"最近90天","DateRange.lastWeek":"上周","DateRange.lastMonth":"上个月","DateRange.lastQuarter":"上个季度","DateRange.placeholder":"请选择日期范围","DateRange.thisWeek":"这个周","DateRange.thisMonth":"这个月","DateRange.thisQuarter":"这个季度","DateRange.valueConcat":" 至 ","DateTime.placeholder":"请选择日期以及时间","MonthRange.placeholder":"请选择月份范围","QuarterRange.placeholder":"请选择季度范围","YearRange.placeholder":"请选择年份范围","DateRange.thisYear":"今年","DateRange.lastYear":"去年",delete:"删除",deleteConfirm:deleteConfirm,deleteFailed:deleteFailed,desc:desc,"Dialog.close":"关闭","Dialog.title":"弹框","Embed.invalidRoot":"选择器不对,页面上没有此元素","Embed.downloading":"文件即将开始下载","Excel.placeholder":"拖拽 Excel 到这,或点击上传","Excel.parsed":"已解析 {{filename}}",fetchFailed:fetchFailed,"File.continueAdd":"继续添加","File.downloadTpl":"下载模板","File.dragDrop":"将文件拖到此处,或","File.clickUpload":"点击上传","File.helpText":"帮助文档","File.errorRetry":"文件上传失败请重试","File.failed":"失败文件","File.invalidType":"{{files}} 不符合类型的 {{accept}} 的设定,请仔细检查","File.maxLength":"最多上传 {{maxLength}} 个文件","File.maxSize":"{{filename}} 大小为 {{actualSize}} 超出了最大为 {{maxSize}} (字节)的限制","File.pause":"暂停上传","File.repick":"重新选择","File.result":"已成功上传 {{uploaded}} 个文件,{{failed}} 个文件上传失败,","File.retry":"重试上传","File.sizeLimit":"文件大小不超过 {{maxSize}}","File.start":"开始上传","File.upload":"文件上传","Image.upload":"图片上传","File.uploadFailed":"接口返回错误,请仔细检查","File.uploading":"上传中...","FormItem.autoFillLoadFailed":"接口返回错误,请仔细检查","FormItem.autoFillSuggest":"参照录入数据","Form.loadOptionsFailed":"加载选项失败,原因:{{reason}}","Form.submit":"提交","Form.title":"表单","Form.unique":"当前值不唯一","Form.validateFailed":"依赖的部分字段没有通过验证","Form.nestedError":"表单不要直接嵌套在表单下面","Image.configError":"图片多选配置和裁剪配置只能设置一个","Image.crop":"裁剪图片","Image.dragDrop":"将图片拖拽到此处","Image.height":"高度 {{height}}px","Image.limitRatio":"请上传尺寸比率为 {{ratio}} 的图片","Image.pasteTip":"可以粘贴剪切板中的图片","Image.placeholder":"点击选择图片或拖拽图片到这里","Image.size":"尺寸({{width}} x {{height}})","Image.sizeMax":"请上传不要大于{{info}}的图片","Image.sizeMin":"请上传不要小于{{info}}的图片","Image.sizeNotEqual":"请上传{{info}}的图片","Image.width":"宽度 {{width}}px","Image.zoomIn":"查看大图","Image.limitMax":"上传图片大于{{info}},请检查图片尺寸","Image.limitMin":"上传图片小于{{info}},请检查图片尺寸","Log.mustHaveSource":"需要配置 Source","Log.showLineNumber":"显示行数","Log.notShowLineNumber":"不现实行数","Log.expand":"展开工具栏","Log.collapse":"收起工具栏",link:link,loading:loading,"LocationPicker.placeholder":"请选择位置","Month.placeholder":"请选择月份","Nav.sourceError":"获取链接错误",networkError:networkError,noResult:noResult,"NumberInput.placeholder":"请输入数字","Options.addPlaceholder":"请输入名称","Options.deleteAPI":"必须设置 deleteAPI","Options.editLabel":"编辑{{label}}","Options.label":"选项","Options.createFailed":"新增失败,请仔细检查","placeholder.empty":"<空>","placeholder.enter":"请输入","placeholder.noData":"暂无数据","placeholder.noOption":"暂无选项","placeholder.selectData":"请先选择数据","Quarter.placeholder":"请选择季度","Repeat.pre":"每",reset:reset,saveFailed:saveFailed,saveSuccess:saveSuccess,search:search,searchHistory:searchHistory,searchResult:searchResult,stop:stop,"Checkboxes.selectAll":"全选/不选","Select.checkAll":"全选","Select.clear":"移除","Select.upload":"重新上传","Select.clearAll":"移除所有","Select.createLabel":"新增选项","Select.placeholder":"请选择","Select.searchPromptText":"搜索",sort:sort,"SubForm.button":"设置","SubForm.editDetail":"编辑详情","System.error":"系统错误","System.notify":"系统消息","System.copy":"内容已复制到粘贴板","System.requestError":"接口报错:","System.requestErrorStatus":"接口出错,状态码是:","Table.addRow":"新增一行","Table.copyRow":"复制一行","Table.columnsVisibility":"点击选择显示列","Table.deleteRow":"删除当前行","Table.discard":"放弃","Table.dragTip":"请拖动左边的按钮进行排序","Table.editing":"请先处理表格编辑项","Table.editRow":"编辑当前行","Table.modified":"当前有 {{modified}} 条记录修改但没有提交,你可以:","Table.moved":"当前有 {{moved}} 条记录修改了顺序但没有提交,你可以:","Table.operation":"操作","Table.playload":"action 上请配置 payload, 否则不清楚要删除哪个","Table.startSort":"点击开始排序","Table.valueField":"请配置 valueField","Table.index":"序号","Table.toggleColumn":"显示列","Table.searchFields":"设置查询字段","Tag.placeholder":"请输入/选择标签","Tag.tip":"最近使用的标签","Text.add":"新增:{{label}}","Time.placeholder":"请选择时间","Transfer.configError":"配置错误,选项无法与左侧选项对应","Transfer.refreshIcon":"点击刷新重新加载","Transfer.searchKeyword":"请输入关键字","Transfer.available":"可选项","Transfer.selectd":"已选项","Transfer.selectFromLeft":"请选择左侧数据","Tree.addChild":"添加子节点","Tree.addRoot":"添加一级节点","Tree.editNode":"编辑该节点","Tree.removeNode":"移除该节点","Tree.root":"顶级","validate.equals":"输入的数据与 $1 不一致","validate.equalsField":"输入的数据与 $1 值不一致","validate.gt":"请输入大于 $1 的值","validate.isAlpha":"请输入字母","validate.isAlphanumeric":"请输入字母或者数字","validate.isEmail":"Email 格式不正确","validate.isFloat":"请输入浮点型数值","validate.isId":"请输入合法的身份证号","validate.isInt":"请输入整型数字","validate.isJson":"JSON 格式不正确","validate.isLength":"请输入长度为 $1 的内容","validate.isNumeric":"请输入数字","validate.isPhoneNumber":"请输入合法的手机号码","validate.isRequired":"这是必填项","validate.isTelNumber":"请输入合法的电话号码","validate.isUrl":"URL 格式不正确","validate.isUrlPath":"只能输入字母、数字、`-` 和 `_`.","validate.isWords":"请输入单词","validate.isZipcode":"请输入合法的邮编地址","validate.lt":"请输入小于 $1 的值","validate.matchRegexp":"格式不正确, 请输入符合规则为 `${1|raw}` 的内容。","validate.maximum":"当前输入值超出最大值 $1","validate.maxLength":"请控制内容长度, 不要输入 $1 个以上字符","validate.minimum":"当前输入值低于最小值 $1","validate.minLength":"请输入更多的内容,至少输入 $1 个字符。","validate.notEmptyString":"请不要全输入空白字符",validateFailed:validateFailed,"Wizard.configError":"配置错误","Wizard.finish":"完成","Wizard.next":"下一步","Wizard.prev":"上一步","Wizard.saveAndNext":"保存并下一步","year-to-year":"{{from}} 年 - {{to}} 年","Year.placeholder":"请选择年",reload:reload,rotate:rotate,"Editor.fullscreen":"全屏","Editor.exitFullscreen":"退出全屏","Condition.not":"非","Condition.and":"并","Condition.or":"或","Condition.add_cond":"添加条件","Condition.add_cond_group":"添加条件组","Condition.delete_cond_group":"删除组","Condition.equal":"等于","Condition.not_equal":"不等于","Condition.less":"小于","Condition.less_or_equal":"小于或等于","Condition.greater":"大于","Condition.greater_or_equal":"大于或等于","Condition.between":"属于范围","Condition.not_between":"不属于范围","Condition.is_empty":"为空","Condition.is_not_empty":"不为空","Condition.like":"模糊匹配","Condition.not_like":"不匹配","Condition.starts_with":"匹配开头","Condition.ends_with":"匹配结尾","Condition.select_equals":"等于","Condition.select_not_equals":"不等于","Condition.select_any_in":"包含","Condition.select_not_any_in":"不包含","Condition.placeholder":"请输入文本","Condition.cond_placeholder":"请选择操作","Condition.field_placeholder":"请选择字段","Condition.blank":"空","Condition.expression":"表达式","Condition.formula_placeholder":"请输入公式","Condition.fun_error":"方法未定义","InputTable.uniqueError":"列`{{label}}`没有通过唯一验证","Timeline.collapseText":"展开","Timeline.expandText":"折叠",collapse:collapse,expand:expand,"FormulaEditor.btnLabel":"公式编辑","FormulaEditor.title":"公式编辑器","FormulaEditor.variable":"变量","FormulaEditor.function":"函数","FormulaEditor.invalidData":"公式值校验错误,错误的位置/原因是 {{err}}","pullRefresh.pullingText":"下拉即可刷新...","pullRefresh.loosingText":"释放即可刷新...","pullRefresh.loadingText":"加载中...","pullRefresh.successText":"加载成功","Picker.placeholder":"请点击右侧的图标","UserSelect.edit":"编辑","UserSelect.save":"保存","UserSelect.resultSort":"选择结果排序","UserSelect.selected":"已选","UserSelect.clear":"清空","SchemaType.string":"文本","SchemaType.number":"数字","SchemaType.integer":"整数","SchemaType.object":"对象","SchemaType.array":"数组","SchemaType.boolean":"布尔","SchemaType.null":"Null","SchemaType.any":"任意","JSONSchema.title":"名称","JSONSchema.default":"默认值","JSONSchema.key":"字段名","JSONSchema.description":"描述","JSONSchema.add_prop":"添加属性","JSONSchema.array_items":"成员类型",Required:Required,TimeNow:TimeNow};const resourcesMap={"en-US":en_us,"zh-CN":zh_cn},getUserLanguage=()=>{var e=Builder.settings.context?.user?.language||window.navigator.language;return"en"===e&&(e="en-US"),e};var locale="zh-CN";function getAmisLocaleResource(){var e=resourcesMap[locale];return e||resourcesMap["zh-CN"]}if("undefined"!=typeof window&&(locale=getUserLanguage()),"undefined"!=typeof window){var currentAmis=window.amisRequire&&window.amisRequire("amis")||Amis;currentAmis&¤tAmis.registerLocale(locale,getAmisLocaleResource())}function Inbox(e){var t=e.className,n=e.onClick,o=__rest(e,["className","onClick"]),r=useInboxNotificationsSuspense().inboxNotifications;return 0===r.length?React__default.default.createElement("div",{className:clsx(t,"empty")},instance.t("liveblocks:frontend_inbox_empty")):React__default.default.createElement("div",__assign({className:t},o),React__default.default.createElement(InboxNotificationList,{className:"inbox-list"},r.map((function(e){return React__default.default.createElement(InboxNotification,{key:e.id,inboxNotification:e,onClick:n})}))))}function InboxPopoverUnreadCount(){var e=useUnreadInboxNotificationsCountSuspense().count;return e?React__default.default.createElement("div",{className:"inbox-unread-count"},e):null}function AmisInboxPopover(e){var t=e.className,n=__rest(e,["className"]),o=__read(React.useState(!1),2),r=o[0],a=o[1],i=useMarkAllInboxNotificationsAsRead(),s=useDeleteAllInboxNotifications();return React__default.default.createElement(Root2$1,{open:r,onOpenChange:a},React__default.default.createElement(Trigger,{className:clsx(t,"inbox-button square")},React__default.default.createElement(ErrorBoundary,{fallback:null},React__default.default.createElement(ClientSideSuspense,{fallback:null},React__default.default.createElement(InboxPopoverUnreadCount,null))),React__default.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",width:"20",height:"20"},React__default.default.createElement("path",{"fill-rule":"evenodd",d:"M12 2.25c-2.429 0-4.817.178-7.152.521C2.87 3.061 1.5 4.795 1.5 6.741v6.018c0 1.946 1.37 3.68 3.348 3.97.877.129 1.761.234 2.652.316V21a.75.75 0 0 0 1.28.53l4.184-4.183a.39.39 0 0 1 .266-.112c2.006-.05 3.982-.22 5.922-.506 1.978-.29 3.348-2.023 3.348-3.97V6.741c0-1.947-1.37-3.68-3.348-3.97A49.145 49.145 0 0 0 12 2.25ZM8.25 8.625a1.125 1.125 0 1 0 0 2.25 1.125 1.125 0 0 0 0-2.25Zm2.625 1.125a1.125 1.125 0 1 1 2.25 0 1.125 1.125 0 0 1-2.25 0Zm4.875-1.125a1.125 1.125 0 1 0 0 2.25 1.125 1.125 0 0 0 0-2.25Z","clip-rule":"evenodd"}))),React__default.default.createElement(Portal$1,null,React__default.default.createElement(Content2$2,__assign({className:"inbox",collisionPadding:16,sideOffset:8},n),React__default.default.createElement("div",{className:"inbox-header"},React__default.default.createElement("span",{className:"inbox-title"},instance.t("liveblocks:frontend_comment_inbox")),React__default.default.createElement("div",{className:"inbox-buttons"},React__default.default.createElement("button",{className:"inbox-button",onClick:i},instance.t("liveblocks:frontend_mark_all_read")),React__default.default.createElement("button",{className:"inbox-button destructive",onClick:s},instance.t("liveblocks:frontend_delete_all")))),React__default.default.createElement(ErrorBoundary,{fallback:React__default.default.createElement("div",{className:"error"},instance.t("liveblocks:frontend_fallback_error"))},React__default.default.createElement(ClientSideSuspense,{fallback:React__default.default.createElement(Loading,null)},React__default.default.createElement(Inbox,{onClick:function(e){console.log("clicked"),a(!1)}}))))))}instance.addResources("en","liveblocks",en_us$2),instance.addResources("zh-CN","liveblocks",zh_cn$2);var AmisRoomsProvider=function(e){var t,n=e.data,o=e.baseUrl,r=e.children,a=e.body,i=e.render,s=e.readonly,l=void 0!==s&&s,c=__read(React.useState(null),2),u=c[0],d=c[1],p=o||(null===(t=n.context)||void 0===t?void 0:t.rootUrl)||"".concat(window.location.protocol,"//").concat(window.location.host);console.log("liveblocks baseUrl:",p);var f=useTranslation(),m=f.i18n;f.t;var h=m.language,_=instance.getResourceBundle(h,"liveblocks")||{},g=__assign({locale:h},_),v=g.INBOX_NOTIFICATION_THREAD_COMMENTS_LIST__commented||"commented",b=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," ",v,t?React__default.default.createElement(React__default.default.Fragment,null," ",b," ",t):React__default.default.createElement(React__default.default.Fragment,null," ",y))},React__default.default.createElement(LiveblocksUIConfig,{overrides:g},React__default.default.createElement(LiveblocksProvider,{baseUrl:p,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(p,"/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(),d(i.token),[2,i]}}))}))},resolveRoomsInfo:function(e){var t=e.roomIds;return __awaiter(void 0,void 0,void 0,(function(){var e,n;return __generator(this,(function(o){switch(o.label){case 0:return e=new URLSearchParams(t.map((function(e){return["roomIds",e]}))),[4,fetch("".concat(p,"/v2/c/rooms?").concat(e),{headers:{Authorization:"Bearer ".concat(u)}})];case 1:if(!(n=o.sent()).ok)throw new Error(instance.t("liveblocks:frontend_fetch_rooms_info_error"));return[4,n.json()];case 2:return[2,o.sent()]}}))}))},resolveUsers:function(e){var t=e.userIds;return __awaiter(void 0,void 0,void 0,(function(){var e,n;return __generator(this,(function(o){switch(o.label){case 0:return e=new URLSearchParams(t.map((function(e){return["userIds",e]}))),[4,fetch("".concat(p,"/v2/c/users?").concat(e),{headers:{Authorization:"Bearer ".concat(u)}})];case 1:if(!(n=o.sent()).ok)throw new Error(instance.t("liveblocks:frontend_fetch_users_error"));return[4,n.json()];case 2:return[2,o.sent()]}}))}))},resolveMentionSuggestions:function(e){var t=e.text,n=void 0===t?"":t;return __awaiter(void 0,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,fetch("".concat(p,"/v2/c/users/search?keyword=").concat(encodeURIComponent(n)),{headers:{Authorization:"Bearer ".concat(u)}})];case 1:if(!(e=t.sent()).ok)throw new Error(instance.t("liveblocks:frontend_fetch_mention_suggestions_error"));return[4,e.json()];case 2:return[2,t.sent()]}}))}))}},a&&i("body",a,{}),r))};exports.AmisComments=AmisComments,exports.AmisInboxPopover=AmisInboxPopover,exports.AmisRoomsProvider=AmisRoomsProvider,exports.Threads=Threads,Object.defineProperty(exports,"__esModule",{value:!0})}));
|