@yoopta/table 6.0.0-beta.2 → 6.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -31,6 +31,7 @@ export type TableCommands = {
|
|
|
31
31
|
insertTableColumn: (editor: YooEditor, blockId: string, options?: Options) => void;
|
|
32
32
|
deleteTableColumn: (editor: YooEditor, blockId: string, options?: DeleteOptions) => void;
|
|
33
33
|
updateColumnWidth: (editor: YooEditor, blockId: string, columnIndex: number, width: number) => void;
|
|
34
|
+
setColumnWidth: (editor: YooEditor, blockId: string, columnIndex: number, width: number) => void;
|
|
34
35
|
toggleHeaderRow: (editor: YooEditor, blockId: string) => void;
|
|
35
36
|
toggleHeaderColumn: (editor: YooEditor, blockId: string) => void;
|
|
36
37
|
clearContents: (editor: YooEditor, blockId: string, options: ClearContentsOptions) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-commands.d.ts","sourceRoot":"","sources":["../../src/commands/table-commands.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"table-commands.d.ts","sourceRoot":"","sources":["../../src/commands/table-commands.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{Blocks as t,generateId as r,Elements as n,serializeTextNodes as o,deserializeTextNodes as a,serializeTextNodesIntoMarkdown as i,YooptaPlugin as s}from"@yoopta/editor";var l={ancestors(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,n=l.levels(e,t);return n=r?n.slice(1):n.slice(0,-1)},common(e,t){for(var r=[],n=0;n<e.length&&n<t.length;n++){var o=e[n];if(o!==t[n])break;r.push(o)}return r},compare(e,t){for(var r=Math.min(e.length,t.length),n=0;n<r;n++){if(e[n]<t[n])return-1;if(e[n]>t[n])return 1}return 0},endsAfter(e,t){var r=e.length-1,n=e.slice(0,r),o=t.slice(0,r),a=e[r],i=t[r];return l.equals(n,o)&&a>i},endsAt(e,t){var r=e.length,n=e.slice(0,r),o=t.slice(0,r);return l.equals(n,o)},endsBefore(e,t){var r=e.length-1,n=e.slice(0,r),o=t.slice(0,r),a=e[r],i=t[r];return l.equals(n,o)&&a<i},equals:(e,t)=>e.length===t.length&&e.every((e,r)=>e===t[r]),hasPrevious:e=>e[e.length-1]>0,isAfter:(e,t)=>1===l.compare(e,t),isAncestor:(e,t)=>e.length<t.length&&0===l.compare(e,t),isBefore:(e,t)=>-1===l.compare(e,t),isChild:(e,t)=>e.length===t.length+1&&0===l.compare(e,t),isCommon:(e,t)=>e.length<=t.length&&0===l.compare(e,t),isDescendant:(e,t)=>e.length>t.length&&0===l.compare(e,t),isParent:(e,t)=>e.length+1===t.length&&0===l.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 r=e.slice(0,-1),n=t.slice(0,-1);return e[e.length-1]!==t[t.length-1]&&l.equals(r,n)},levels(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,n=[],o=0;o<=e.length;o++)n.push(e.slice(0,o));return r&&n.reverse(),n},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(!l.isAncestor(t,e)&&!l.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 r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e)return null;var n=[...e],{affinity:o="forward"}=r;if(0===e.length)return n;switch(t.type){case"insert_node":var{path:a}=t;(l.equals(a,n)||l.endsBefore(a,n)||l.isAncestor(a,n))&&(n[a.length-1]+=1);break;case"remove_node":var{path:i}=t;if(l.equals(i,n)||l.isAncestor(i,n))return null;l.endsBefore(i,n)&&(n[i.length-1]-=1);break;case"merge_node":var{path:s,position:c}=t;l.equals(s,n)||l.endsBefore(s,n)?n[s.length-1]-=1:l.isAncestor(s,n)&&(n[s.length-1]-=1,n[s.length]+=c);break;case"split_node":var{path:d,position:p}=t;if(l.equals(d,n)){if("forward"===o)n[n.length-1]+=1;else if("backward"!==o)return null}else l.endsBefore(d,n)?n[d.length-1]+=1:l.isAncestor(d,n)&&e[d.length]>=p&&(n[d.length-1]+=1,n[d.length]-=p);break;case"move_node":var{path:f,newPath:h}=t;if(l.equals(f,h))return n;if(l.isAncestor(f,n)||l.equals(f,n)){var u=h.slice();return l.endsBefore(f,h)&&f.length<h.length&&(u[f.length-1]-=1),u.concat(n.slice(f.length))}l.isSibling(f,h)&&(l.isAncestor(h,n)||l.equals(h,n))?l.endsBefore(f,n)?n[f.length-1]-=1:n[f.length-1]+=1:l.endsBefore(h,n)||l.equals(h,n)||l.isAncestor(h,n)?(l.endsBefore(f,n)&&(n[f.length-1]-=1),n[h.length-1]+=1):l.endsBefore(f,n)&&(l.equals(h,n)&&(n[h.length-1]+=1),n[f.length-1]-=1)}return n}};function c(e){return c="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},c(e)}function d(e){var t=function(e,t){if("object"!==c(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===c(t)?t:String(t)}function p(e,t,r){return(t=d(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var h=["anchor","focus"];function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var g={edges(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,{anchor:n,focus:o}=e;return g.isBackward(e)===r?[n,o]:[o,n]},end(e){var[,t]=g.edges(e);return t},equals:(e,t)=>B.equals(e.anchor,t.anchor)&&B.equals(e.focus,t.focus),surrounds(e,t){var r=g.intersection(e,t);return!!r&&g.equals(r,t)},includes(e,t){if(g.isRange(t)){if(g.includes(e,t.anchor)||g.includes(e,t.focus))return!0;var[r,n]=g.edges(e),[o,a]=g.edges(t);return B.isBefore(r,o)&&B.isAfter(n,a)}var[i,s]=g.edges(e),c=!1,d=!1;return B.isPoint(t)?(c=B.compare(t,i)>=0,d=B.compare(t,s)<=0):(c=l.compare(t,i.path)>=0,d=l.compare(t,s.path)<=0),c&&d},intersection(e,t){var r=f(e,h),[n,o]=g.edges(e),[a,i]=g.edges(t),s=B.isBefore(n,a)?a:n,l=B.isBefore(o,i)?o:i;return B.isBefore(l,s)?null:function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({anchor:s,focus:l},r)},isBackward(e){var{anchor:t,focus:r}=e;return B.isAfter(t,r)},isCollapsed(e){var{anchor:t,focus:r}=e;return B.equals(t,r)},isExpanded:e=>!g.isCollapsed(e),isForward:e=>!g.isBackward(e),isRange:e=>N(e)&&B.isPoint(e.anchor)&&B.isPoint(e.focus),*points(e){yield[e.anchor,"anchor"],yield[e.focus,"focus"]},start(e){var[t]=g.edges(e);return t},transform(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null===e)return null;var n,o,{affinity:a="inward"}=r;if("inward"===a){var i=g.isCollapsed(e);g.isForward(e)?(n="forward",o=i?n:"backward"):(n="backward",o=i?n:"forward")}else"outward"===a?g.isForward(e)?(n="backward",o="forward"):(n="forward",o="backward"):(n=a,o=a);var s=B.transform(e.anchor,t,{affinity:n}),l=B.transform(e.focus,t,{affinity:o});return s&&l?{anchor:s,focus:l}:null}},v=function(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return!!N(e)&&("function"!=typeof e.apply&&(t?x.isNodeList(e.children):Array.isArray(e.children)))},m={isAncestor(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return N(e)&&x.isNodeList(e.children,{deep:t})},isElement:v,isElementList(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Array.isArray(e)&&e.every(e=>m.isElement(e,{deep:t}))},isElementProps:e=>void 0!==e.children,isElementType:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"type";return v(e)&&e[r]===t},matches(e,t){for(var r in t)if("children"!==r&&e[r]!==t[r])return!1;return!0}},b=["children"],y=["text"];function w(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function O(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?w(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):w(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var x={ancestor(e,t){var r=x.get(e,t);if(L.isText(r))throw new Error("Cannot get the ancestor node at path [".concat(t,"] because it refers to a text node instead: ").concat(R.stringify(r)));return r},ancestors(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var n of l.ancestors(t,r)){var o=[x.ancestor(e,n),n];yield o}}()},child(e,t){if(L.isText(e))throw new Error("Cannot get the child of a text node: ".concat(R.stringify(e)));var r=e.children[t];if(null==r)throw new Error("Cannot get child at index `".concat(t,"` in node: ").concat(R.stringify(e)));return r},children(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var{reverse:n=!1}=r,o=x.ancestor(e,t),{children:a}=o,i=n?a.length-1:0;n?i>=0:i<a.length;){var s=x.child(o,i),l=t.concat(i);yield[s,l],i=n?i-1:i+1}}()},common(e,t,r){var n=l.common(t,r);return[x.get(e,n),n]},descendant(e,t){var r=x.get(e,t);if(A.isEditor(r))throw new Error("Cannot get the descendant node at path [".concat(t,"] because it refers to the root editor node instead: ").concat(R.stringify(r)));return r},descendants(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of x.nodes(e,t))0!==n.length&&(yield[r,n])}()},elements(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of x.nodes(e,t))m.isElement(r)&&(yield[r,n])}()},extractProps:e=>m.isAncestor(e)?f(e,b):f(e,y),first(e,t){for(var r=t.slice(),n=x.get(e,r);n&&!L.isText(n)&&0!==n.children.length;)n=n.children[0],r.push(0);return[n,r]},fragment(e,t){var r={children:e.children},[n,o]=g.edges(t),a=x.nodes(r,{reverse:!0,pass:e=>{var[,r]=e;return!g.includes(t,r)}}),i=function(){if(!g.includes(t,s)){var e=s[s.length-1];J(r,l.parent(s),t=>W(t,e,1))}l.equals(s,o.path)&&Z(r,s,e=>{var t=e.text.slice(0,o.offset);return O(O({},e),{},{text:t})}),l.equals(s,n.path)&&Z(r,s,e=>{var t=e.text.slice(n.offset);return O(O({},e),{},{text:t})})};for(var[,s]of a)i();return r.children},get(e,t){var r=x.getIf(e,t);if(void 0===r)throw new Error("Cannot find a descendant at path [".concat(t,"] in node: ").concat(R.stringify(e)));return r},getIf(e,t){for(var r=e,n=0;n<t.length;n++){var o=t[n];if(L.isText(r)||!r.children[o])return;r=r.children[o]}return r},has(e,t){for(var r=e,n=0;n<t.length;n++){var o=t[n];if(L.isText(r)||!r.children[o])return!1;r=r.children[o]}return!0},isNode(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return L.isText(e)||m.isElement(e,{deep:t})||A.isEditor(e,{deep:t})},isNodeList(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Array.isArray(e)&&e.every(e=>x.isNode(e,{deep:t}))},last(e,t){for(var r=t.slice(),n=x.get(e,r);n&&!L.isText(n)&&0!==n.children.length;){var o=n.children.length-1;n=n.children[o],r.push(o)}return[n,r]},leaf(e,t){var r=x.get(e,t);if(!L.isText(r))throw new Error("Cannot get the leaf node at path [".concat(t,"] because it refers to a non-leaf node: ").concat(R.stringify(r)));return r},levels(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var n of l.levels(t,r)){var o=x.get(e,n);yield[o,n]}}()},matches:(e,t)=>m.isElement(e)&&m.isElementProps(t)&&m.matches(e,t)||L.isText(e)&&L.isTextProps(t)&&L.matches(e,t),nodes(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var{pass:r,reverse:n=!1}=t,{from:o=[],to:a}=t,i=new Set,s=[],c=e;!a||!(n?l.isBefore(s,a):l.isAfter(s,a));)if(i.has(c)||(yield[c,s]),i.has(c)||L.isText(c)||0===c.children.length||null!=r&&!1!==r([c,s])){if(0===s.length)break;if(!n){var d=l.next(s);if(x.has(e,d)){s=d,c=x.get(e,s);continue}}if(n&&0!==s[s.length-1])s=l.previous(s),c=x.get(e,s);else s=l.parent(s),c=x.get(e,s),i.add(c)}else{i.add(c);var p=n?c.children.length-1:0;l.isAncestor(s,o)&&(p=o[s.length]),s=s.concat(p),c=x.get(e,s)}}()},parent(e,t){var r=l.parent(t),n=x.get(e,r);if(L.isText(n))throw new Error("Cannot get the parent of path [".concat(t,"] because it does not exist in the root."));return n},string:e=>L.isText(e)?e.text:e.children.map(x.string).join(""),texts(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of x.nodes(e,t))L.isText(r)&&(yield[r,n])}()}};function j(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function E(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?j(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):j(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var P,k={isNodeOperation:e=>k.isOperation(e)&&e.type.endsWith("_node"),isOperation(e){if(!N(e))return!1;switch(e.type){case"insert_node":case"remove_node":return l.isPath(e.path)&&x.isNode(e.node);case"insert_text":case"remove_text":return"number"==typeof e.offset&&"string"==typeof e.text&&l.isPath(e.path);case"merge_node":return"number"==typeof e.position&&l.isPath(e.path)&&N(e.properties);case"move_node":return l.isPath(e.path)&&l.isPath(e.newPath);case"set_node":return l.isPath(e.path)&&N(e.properties)&&N(e.newProperties);case"set_selection":return null===e.properties&&g.isRange(e.newProperties)||null===e.newProperties&&g.isRange(e.properties)||N(e.properties)&&N(e.newProperties);case"split_node":return l.isPath(e.path)&&"number"==typeof e.position&&N(e.properties);default:return!1}},isOperationList:e=>Array.isArray(e)&&e.every(e=>k.isOperation(e)),isSelectionOperation:e=>k.isOperation(e)&&e.type.endsWith("_selection"),isTextOperation:e=>k.isOperation(e)&&e.type.endsWith("_text"),inverse(e){switch(e.type){case"insert_node":return E(E({},e),{},{type:"remove_node"});case"insert_text":return E(E({},e),{},{type:"remove_text"});case"merge_node":return E(E({},e),{},{type:"split_node",path:l.previous(e.path)});case"move_node":var{newPath:t,path:r}=e;if(l.equals(t,r))return e;if(l.isSibling(r,t))return E(E({},e),{},{path:t,newPath:r});var n=l.transform(r,e),o=l.transform(l.next(r),e);return E(E({},e),{},{path:n,newPath:o});case"remove_node":return E(E({},e),{},{type:"insert_node"});case"remove_text":return E(E({},e),{},{type:"insert_text"});case"set_node":var{properties:a,newProperties:i}=e;return E(E({},e),{},{properties:i,newProperties:a});case"set_selection":var{properties:s,newProperties:c}=e;return E(E({},e),{},null==s?{properties:c,newProperties:null}:null==c?{properties:null,newProperties:s}:{properties:c,newProperties:s});case"split_node":return E(E({},e),{},{type:"merge_node",path:l.next(e.path)})}}},N=e=>"object"==typeof e&&null!==e,T=(e,t)=>{for(var r in e){var n=e[r],o=t[r];if(Array.isArray(n)&&Array.isArray(o)){if(n.length!==o.length)return!1;for(var a=0;a<n.length;a++)if(n[a]!==o[a])return!1}else if(N(n)&&N(o)){if(!T(n,o))return!1}else if(n!==o)return!1}for(var i in t)if(void 0===e[i]&&void 0!==t[i])return!1;return!0},S=e=>e.selection?e.selection:e.children.length>0?A.end(e,[]):[0];!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"}(P||(P={})),P.L,P.L,P.V,P.LV,P.LVT,P.LV,P.V,P.V,P.T,P.LVT,P.T,P.T,P.Any,P.Extend,P.ZWJ,P.Any,P.SpacingMark,P.Prepend,P.Any,P.ZWJ,P.ExtPict,P.RI,P.RI;var A={above:(e,t)=>e.above(t),addMark(e,t,r){e.addMark(t,r)},after:(e,t,r)=>e.after(t,r),before:(e,t,r)=>e.before(t,r),deleteBackward(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{unit:r="character"}=t;e.deleteBackward(r)},deleteForward(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{unit:r="character"}=t;e.deleteForward(r)},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,r){e.insertFragment(t,r)},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,r)=>e.isEdge(t,r),isEditor:e=>function(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!N(e))return!1;var r="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||N(e.marks))&&(null===e.selection||g.isRange(e.selection))&&(!t||x.isNodeList(e.children))&&k.isOperationList(e.operations);return r}(e),isElementReadOnly:(e,t)=>e.isElementReadOnly(t),isEmpty:(e,t)=>e.isEmpty(t),isEnd:(e,t,r)=>e.isEnd(t,r),isInline:(e,t)=>e.isInline(t),isNormalizing:e=>e.isNormalizing(),isSelectable:(e,t)=>e.isSelectable(t),isStart:(e,t,r)=>e.isStart(t,r),isVoid:(e,t)=>e.isVoid(t),last:(e,t)=>e.last(t),leaf:(e,t,r)=>e.leaf(t,r),levels:(e,t)=>e.levels(t),marks:e=>e.getMarks(),next:(e,t)=>e.next(t),node:(e,t,r)=>e.node(t,r),nodes:(e,t)=>e.nodes(t),normalize(e,t){e.normalize(t)},parent:(e,t,r)=>e.parent(t,r),path:(e,t,r)=>e.path(t,r),pathRef:(e,t,r)=>e.pathRef(t,r),pathRefs:e=>e.pathRefs(),point:(e,t,r)=>e.point(t,r),pointRef:(e,t,r)=>e.pointRef(t,r),pointRefs:e=>e.pointRefs(),positions:(e,t)=>e.positions(t),previous:(e,t)=>e.previous(t),range:(e,t,r)=>e.range(t,r),rangeRef:(e,t,r)=>e.rangeRef(t,r),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,r)=>e.string(t,r),unhangRange:(e,t,r)=>e.unhangRange(t,r),void:(e,t)=>e.void(t),withoutNormalizing(e,t){e.withoutNormalizing(t)},shouldMergeNodesRemovePrevNode:(e,t,r)=>e.shouldMergeNodesRemovePrevNode(t,r)};function C(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?C(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):C(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var B={compare(e,t){var r=l.compare(e.path,t.path);return 0===r?e.offset<t.offset?-1:e.offset>t.offset?1:0:r},isAfter:(e,t)=>1===B.compare(e,t),isBefore:(e,t)=>-1===B.compare(e,t),equals:(e,t)=>e.offset===t.offset&&l.equals(e.path,t.path),isPoint:e=>N(e)&&"number"==typeof e.offset&&l.isPath(e.path),transform(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null===e)return null;var{affinity:n="forward"}=r,{path:o,offset:a}=e;switch(t.type){case"insert_node":case"move_node":o=l.transform(o,t,r);break;case"insert_text":l.equals(t.path,o)&&(t.offset<a||t.offset===a&&"forward"===n)&&(a+=t.text.length);break;case"merge_node":l.equals(t.path,o)&&(a+=t.position),o=l.transform(o,t,r);break;case"remove_text":l.equals(t.path,o)&&t.offset<=a&&(a-=Math.min(a-t.offset,t.text.length));break;case"remove_node":if(l.equals(t.path,o)||l.isAncestor(t.path,o))return null;o=l.transform(o,t,r);break;case"split_node":if(l.equals(t.path,o)){if(t.position===a&&null==n)return null;(t.position<a||t.position===a&&"forward"===n)&&(a-=t.position,o=l.transform(o,t,_(_({},r),{},{affinity:"forward"})))}else o=l.transform(o,t,r);break;default:return e}return{path:o,offset:a}}},D=void 0,R={setScrubber(e){D=e},stringify:e=>JSON.stringify(e,D)},q=["text"],z=["anchor","focus","merge"];function I(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function M(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?I(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var L={equals(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{loose:n=!1}=r;function o(e){return f(e,q)}return T(n?o(e):e,n?o(t):t)},isText:e=>N(e)&&"string"==typeof e.text,isTextList:e=>Array.isArray(e)&&e.every(e=>L.isText(e)),isTextProps:e=>void 0!==e.text,matches(e,t){for(var r in t)if("text"!==r&&(!e.hasOwnProperty(r)||e[r]!==t[r]))return!1;return!0},decorations(e,t){var r=[{leaf:M({},e)}];for(var n of t){var{anchor:o,focus:a,merge:i}=n,s=f(n,z),[l,c]=g.edges(n),d=[],p=0,h=l.offset,u=c.offset,v=null!=i?i:Object.assign;for(var{leaf:m}of r){var{length:b}=m.text,y=p;if(p+=b,h<=y&&p<=u)v(m,s),d.push({leaf:m});else if(h!==u&&(h===p||u===y)||h>p||u<y||u===y&&0!==y)d.push({leaf:m});else{var w=m,O=void 0,x=void 0;if(u<p){var j=u-y;x={leaf:M(M({},w),{},{text:w.text.slice(j)})},w=M(M({},w),{},{text:w.text.slice(0,j)})}if(h>y){var E=h-y;O={leaf:M(M({},w),{},{text:w.text.slice(0,E)})},w=M(M({},w),{},{text:w.text.slice(E)})}v(w,s),O&&d.push(O),d.push({leaf:w}),x&&d.push(x)}}r=d}if(r.length>1){var P=0;for(var[k,N]of r.entries()){var T=P,S=T+N.leaf.text.length,A={start:T,end:S};0===k&&(A.isFirst=!0),k===r.length-1&&(A.isLast=!0),N.position=A,P=S}}return r}};function $(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function H(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?$(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var V=function(e,t){for(var r=arguments.length,n=new Array(r>2?r-2:0),o=2;o<r;o++)n[o-2]=arguments[o];return[...e.slice(0,t),...n,...e.slice(t)]},F=function(e,t,r){for(var n=arguments.length,o=new Array(n>3?n-3:0),a=3;a<n;a++)o[a-3]=arguments[a];return[...e.slice(0,t),...o,...e.slice(t+r)]},W=F,K=(e,t,r)=>{if(0===t.length)throw new Error("Cannot modify the editor");for(var n=x.get(e,t),o=t.slice(),a=r(n);o.length>1;){var i=o.pop(),s=x.get(e,o);a=H(H({},s),{},{children:F(s.children,i,1,a)})}var l=o.pop();e.children=F(e.children,l,1,a)},J=(e,t,r)=>{0===t.length?e.children=r(e.children):K(e,t,e=>{if(L.isText(e))throw new Error("Cannot get the element at path [".concat(t,"] because it refers to a leaf node: ").concat(R.stringify(e)));return H(H({},e),{},{children:r(e.children)})})},Z=(e,t,r)=>K(e,t,e=>{if(!L.isText(e))throw new Error("Cannot get the leaf node at path [".concat(t,"] because it refers to a non-leaf node: ").concat(R.stringify(e)));return r(e)});function G(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Q(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?G(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):G(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var U={transform(e,t){var r=!1;switch(t.type){case"insert_node":var{path:n,node:o}=t;J(e,l.parent(n),e=>{var t=n[n.length-1];if(t>e.length)throw new Error('Cannot apply an "insert_node" operation at path ['.concat(n,"] because the destination is past the end of the node."));return V(e,t,o)}),r=!0;break;case"insert_text":var{path:a,offset:i,text:s}=t;if(0===s.length)break;Z(e,a,e=>{var t=e.text.slice(0,i),r=e.text.slice(i);return Q(Q({},e),{},{text:t+s+r})}),r=!0;break;case"merge_node":var{path:c}=t,d=c[c.length-1],p=l.previous(c),f=p[p.length-1];J(e,l.parent(c),e=>{var t,r=e[d],n=e[f];if(L.isText(r)&&L.isText(n))t=Q(Q({},n),{},{text:n.text+r.text});else{if(L.isText(r)||L.isText(n))throw new Error('Cannot apply a "merge_node" operation at path ['.concat(c,"] to nodes of different interfaces: ").concat(R.stringify(r)," ").concat(R.stringify(n)));t=Q(Q({},n),{},{children:n.children.concat(r.children)})}return F(e,f,2,t)}),r=!0;break;case"move_node":var{path:h,newPath:u}=t,v=h[h.length-1];if(l.isAncestor(h,u))throw new Error("Cannot move a path [".concat(h,"] to new path [").concat(u,"] because the destination is inside itself."));var m=x.get(e,h);J(e,l.parent(h),e=>W(e,v,1));var b=l.transform(h,t),y=b[b.length-1];J(e,l.parent(b),e=>V(e,y,m)),r=!0;break;case"remove_node":var{path:w}=t,O=w[w.length-1];if(J(e,l.parent(w),e=>W(e,O,1)),e.selection){var j=Q({},e.selection);for(var[E,P]of g.points(j)){var k=B.transform(E,t);if(null!=j&&null!=k)j[P]=k;else{var N=void 0,T=void 0;for(var[S,A]of x.texts(e)){if(-1!==l.compare(A,w)){T=[S,A];break}N=[S,A]}var C=!1;N&&T&&(C=!l.isSibling(N[1],w)&&(!!l.equals(T[1],w)||l.common(N[1],w).length<l.common(T[1],w).length)),N&&!C?j[P]={path:N[1],offset:N[0].text.length}:T?j[P]={path:T[1],offset:0}:j=null}}j&&g.equals(j,e.selection)||(e.selection=j)}break;case"remove_text":var{path:_,offset:D,text:q}=t;if(0===q.length)break;Z(e,_,e=>{var t=e.text.slice(0,D),r=e.text.slice(D+q.length);return Q(Q({},e),{},{text:t+r})}),r=!0;break;case"set_node":var{path:z,properties:I,newProperties:M}=t;if(0===z.length)throw new Error("Cannot set properties on the root node!");K(e,z,e=>{var t=Q({},e);for(var r in M){if("children"===r||"text"===r)throw new Error('Cannot set the "'.concat(r,'" property of nodes!'));var n=M[r];null==n?delete t[r]:t[r]=n}for(var o in I)M.hasOwnProperty(o)||delete t[o];return t});break;case"set_selection":var{newProperties:$}=t;if(null==$){e.selection=null;break}if(null==e.selection){if(!g.isRange($))throw new Error('Cannot apply an incomplete "set_selection" operation properties '.concat(R.stringify($)," when there is no current selection."));e.selection=Q({},$);break}var H=Q({},e.selection);for(var G in $){var U=$[G];if(null==U){if("anchor"===G||"focus"===G)throw new Error('Cannot remove the "'.concat(G,'" selection property'));delete H[G]}else H[G]=U}e.selection=H;break;case"split_node":var{path:X,position:Y,properties:ee}=t,te=X[X.length-1];if(0===X.length)throw new Error('Cannot apply a "split_node" operation at path ['.concat(X,"] because the root node cannot be split."));J(e,l.parent(X),e=>{var t,r,n=e[te];if(L.isText(n)){var o=n.text.slice(0,Y),a=n.text.slice(Y);t=Q(Q({},n),{},{text:o}),r=Q(Q({},ee),{},{text:a})}else{var i=n.children.slice(0,Y),s=n.children.slice(Y);t=Q(Q({},n),{},{children:i}),r=Q(Q({},ee),{},{children:s})}return F(e,te,1,t,r)}),r=!0}if(r&&e.selection){var re=Q({},e.selection);for(var[ne,oe]of g.points(re))re[oe]=B.transform(ne,t);g.equals(re,e.selection)||(e.selection=re)}}},X={insertNodes(e,t,r){e.insertNodes(t,r)},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,r){e.setNodes(t,r)},splitNodes(e,t){e.splitNodes(t)},unsetNodes(e,t,r){e.unsetNodes(t,r)},unwrapNodes(e,t){e.unwrapNodes(t)},wrapNodes(e,t,r){e.wrapNodes(t,r)}},Y={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,r){e.setPoint(t,r)},setSelection(e,t){e.setSelection(t)}},ee={delete(e,t){e.delete(t)},insertFragment(e,t,r){e.insertFragment(t,r)},insertText(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};A.withoutNormalizing(e,()=>{var{voids:n=!1}=r,{at:o=S(e)}=r;if(l.isPath(o)&&(o=A.range(e,o)),g.isRange(o))if(g.isCollapsed(o))o=o.anchor;else{var a=g.end(o);if(!n&&A.void(e,{at:a}))return;var i=g.start(o),s=A.pointRef(e,i),c=A.pointRef(e,a);ne.delete(e,{at:o,voids:n});var d=s.unref(),p=c.unref();o=d||p,ne.setSelection(e,{anchor:o,focus:o})}if(!(!n&&A.void(e,{at:o})||A.elementReadOnly(e,{at:o}))){var{path:f,offset:h}=o;t.length>0&&e.apply({type:"insert_text",path:f,offset:h,text:t})}})}};function te(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function re(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?te(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):te(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ne=re(re(re(re({},U),X),Y),ee);function oe(e){return{rowIndex:e[e.length-2],colIndex:e[e.length-1]}}const ae={buildTableElements:(e,t)=>{const{rows:n=3,columns:o=3,columnWidth:a=200,headerColumn:i=!1,headerRow:s=!1}=t||{},l={id:r(),type:"table",children:[],props:{headerColumn:i,headerRow:s}};for(let e=0;e<n;e+=1){const t={id:r(),type:"table-row",children:[]};for(let n=0;n<o;n+=1){const n={id:r(),type:"table-data-cell",children:[{text:""}],props:{asHeader:0===e&&!!s}};t.children.push(n)}l.children.push(t)}return l},insertTable:(e,r)=>{const n=ae.buildTableElements(e,r),o=t.buildBlockData({value:[n],type:"Table"});t.insertBlock(e,o.type,Object.assign(Object.assign({},r),{blockData:o}))},deleteTable:(e,t)=>{e.deleteBlock({blockId:t})},insertTableRow:(e,o,a)=>{const i=t.getBlockSlate(e,{id:o});i&&A.withoutNormalizing(i,()=>{var t;const{insertMode:s="after",select:c=!0}=a||{},d=n.getElementEntry(e,{blockId:o,path:null===(t=i.selection)||void 0===t?void 0:t.anchor.path,type:"table-row"});if(!d)return;const[p,f]=d,h="before"===s?f:l.next(f),u={id:r(),type:"table-row",children:p.children.map(e=>({id:r(),type:"table-data-cell",children:[{text:""}]})),props:{nodeType:"block"}};ne.insertNodes(i,u,{at:h}),c&&ne.select(i,[...h,0])})},deleteTableRow:(e,r,o)=>{const a=t.getBlockSlate(e,{id:r});a&&A.withoutNormalizing(a,()=>{var t;const o=n.getElementEntry(e,{blockId:r,path:null===(t=a.selection)||void 0===t?void 0:t.anchor.path,type:"table-row"});if(!o)return;const[,i]=o,s=A.nodes(a,{at:[0],match:e=>m.isElement(e)&&"table-row"===e.type,mode:"highest"});1!==Array.from(s).length&&ne.removeNodes(a,{at:i,match:e=>m.isElement(e)&&"table-row"===e.type})})},moveTableRow:(e,r,{from:n,to:o})=>{const a=t.getBlockSlate(e,{id:r});a&&A.withoutNormalizing(a,()=>{ne.moveNodes(a,{at:n,to:o,match:e=>m.isElement(e)&&"table-row"===e.type})})},moveTableColumn:(e,r,{from:n,to:o})=>{const a=t.getBlockSlate(e,{id:r});a&&A.withoutNormalizing(a,()=>{const e=A.nodes(a,{at:[0],match:e=>m.isElement(e)&&"table-row"===e.type,mode:"all"});Array.from(e).forEach(([e,t])=>{ne.moveNodes(a,{at:t.concat(n[n.length-1]),to:[...t,o[o.length-1]],match:e=>m.isElement(e)})})})},insertTableColumn:(e,o,a)=>{const i=t.getBlockSlate(e,{id:o});i&&A.withoutNormalizing(i,()=>{var t;const{insertMode:s="after",select:c=!0}=a||{},d=n.getElementEntry(e,{blockId:o,path:null===(t=i.selection)||void 0===t?void 0:t.anchor.path,type:"table-data-cell"});if(!d)return;const[,p]=d,f=p[p.length-1],h="before"===s?f:l.next(p)[p.length-1],u=A.nodes(i,{at:[0],match:e=>m.isElement(e)&&"table-row"===e.type,mode:"lowest"});for(const[,e]of u){const t={id:r(),type:"table-data-cell",children:[{text:""}]};ne.insertNodes(i,t,{at:[...e,h]})}c&&ne.select(i,[0,0,h,0])})},deleteTableColumn:(e,r,o)=>{const a=t.getBlockSlate(e,{id:r});a&&A.withoutNormalizing(a,()=>{var t;const o=A.nodes(a,{at:[0],match:e=>m.isElement(e)&&"table-row"===e.type,mode:"all"}),i=Array.from(o);if(i[0][0].children.length<=1)return;const s=n.getElementEntry(e,{blockId:r,path:null===(t=a.selection)||void 0===t?void 0:t.anchor.path,type:"table-data-cell"});if(!s)return;const[l,c]=s,d=c[c.length-1];i.map(([e,t])=>e.children[d]?[...t,d]:null).forEach(e=>{e&&ne.removeNodes(a,{at:e})})})},updateColumnWidth:(e,r,n,o)=>{const a=t.getBlockSlate(e,{id:r});a&&A.withoutNormalizing(a,()=>{const e=A.nodes(a,{at:[0],match:e=>m.isElement(e)&&"table-data-cell"===e.type,mode:"all"});Array.from(e).forEach(([e,t])=>{t[t.length-1]===n&&ne.setNodes(a,Object.assign(Object.assign({},e),{props:Object.assign(Object.assign({},e.props),{width:o})}),{at:t,match:e=>m.isElement(e)&&"table-data-cell"===e.type})})})},toggleHeaderRow:(e,r)=>{const o=t.getBlockSlate(e,{id:r});o&&A.withoutNormalizing(o,()=>{var t;const a=n.getElement(e,{blockId:r,type:"table",path:[0]}),i=(null===(t=null==a?void 0:a.props)||void 0===t?void 0:t.headerRow)||!1,s=A.nodes(o,{at:[0,0],match:e=>m.isElement(e)&&"table-data-cell"===e.type,mode:"all"});Array.from(s).forEach(([e,t])=>{var r;ne.setNodes(o,Object.assign(Object.assign({},e),{props:Object.assign(Object.assign({},e.props),{asHeader:!(null===(r=e.props)||void 0===r?void 0:r.asHeader)})}),{at:t,match:e=>m.isElement(e)&&"table-data-cell"===e.type})}),ne.setNodes(o,Object.assign(Object.assign({},a),{props:Object.assign(Object.assign({},null==a?void 0:a.props),{headerRow:!i})}),{at:[0],match:e=>m.isElement(e)&&"table"===e.type})})},toggleHeaderColumn:(e,r)=>{const o=t.getBlockSlate(e,{id:r});o&&A.withoutNormalizing(o,()=>{var t;const a=n.getElement(e,{blockId:r,type:"table",path:[0]}),i=(null===(t=null==a?void 0:a.props)||void 0===t?void 0:t.headerColumn)||!1,s=A.nodes(o,{at:[0],match:e=>m.isElement(e)&&"table-row"===e.type,mode:"all"});Array.from(s).forEach(([e,t])=>{var r;const n=e.children[0];ne.setNodes(o,Object.assign(Object.assign({},n),{props:Object.assign(Object.assign({},n.props),{asHeader:!(null===(r=n.props)||void 0===r?void 0:r.asHeader)})}),{at:t.concat(0),match:e=>m.isElement(e)&&"table-data-cell"===e.type})}),ne.setNodes(o,Object.assign(Object.assign({},a),{props:Object.assign(Object.assign({},null==a?void 0:a.props),{headerColumn:!i})}),{at:[0],match:e=>m.isElement(e)&&"table"===e.type})})},clearContents:(e,r,n)=>{((e,r,n)=>{const{cells:o}=n;if(!o||0===o.length)return void console.warn("No cells to clear");const a=t.getBlockSlate(e,{id:r});a&&A.withoutNormalizing(a,()=>{o.forEach(([e,t])=>{for(let r=e.children.length-1;r>=0;r--)ne.removeNodes(a,{at:[...t,r]});ne.insertNodes(a,{text:""},{at:[...t,0]})})})})(e,r,n)},mergeCells:(e,r,n)=>{((e,r,n)=>{const{cells:o}=n;if(!o||o.length<=1)return void console.warn("Need at least 2 cells to merge");const a=t.getBlockSlate(e,{id:r});if(!a)return;let i=1/0,s=-1/0,l=1/0,c=-1/0;const d=new Map;o.forEach(([e,t])=>{const{rowIndex:r,colIndex:n}=oe(t);i=Math.min(i,r),s=Math.max(s,r),l=Math.min(l,n),c=Math.max(c,n),d.set(`${r}-${n}`,[e,t])});const p=s-i+1,f=c-l+1,h=`${i}-${l}`,u=d.get(h);if(!u)return void console.warn("Anchor cell not found");const[g,v]=u,m=[];o.forEach(([e,t])=>{const{rowIndex:r,colIndex:n}=oe(t);r===i&&n===l||e.children&&e.children.length>0&&e.children.forEach(e=>{e.text&&e.text.trim()&&m.push(e)})}),A.withoutNormalizing(a,()=>{const e=[...g.children,...m.length>0?m:[]];if(ne.setNodes(a,{props:Object.assign(Object.assign({},g.props),{rowSpan:p,colSpan:f})},{at:v}),m.length>0){for(let e=g.children.length-1;e>=0;e--)ne.removeNodes(a,{at:[...v,e]});e.forEach((e,t)=>{ne.insertNodes(a,e,{at:[...v,t]})})}const t=[];for(let e=s;e>=i;e--)for(let r=c;r>=l;r--){if(e===i&&r===l)continue;const n=`${e}-${r}`,o=d.get(n);o&&t.push(o[1])}t.forEach(e=>{try{ne.removeNodes(a,{at:e})}catch(t){console.warn("Failed to remove cell at path:",e)}})})})(e,r,n)},setCellBackgroundColor:(e,r,n)=>{const{cells:o,color:a}=n;if(!o||0===o.length)return void console.warn("No cells to update");const i=t.getBlockSlate(e,{id:r});i&&A.withoutNormalizing(i,()=>{o.forEach(([e,t])=>{ne.setNodes(i,Object.assign(Object.assign({},e),{props:Object.assign(Object.assign({},e.props),{backgroundColor:"transparent"===a?void 0:a})}),{at:t,match:e=>m.isElement(e)&&"table-data-cell"===e.type})})})},setCellTextColor:(e,r,n)=>{const{cells:o,color:a}=n;if(console.log("setCellTextColor cells",o),!o||0===o.length)return void console.warn("No cells to update");const i=t.getBlockSlate(e,{id:r});i&&A.withoutNormalizing(i,()=>{o.forEach(([e,t])=>{ne.setNodes(i,Object.assign(Object.assign({},e),{props:Object.assign(Object.assign({},e.props),{color:"inherit"===a?void 0:a})}),{at:t,match:e=>m.isElement(e)&&"table-data-cell"===e.type})})})},setCellHorizontalAlign:(e,r,n)=>{const{cells:o,align:a}=n;if(!o||0===o.length)return void console.warn("No cells to update");const i=t.getBlockSlate(e,{id:r});i&&A.withoutNormalizing(i,()=>{o.forEach(([e,t])=>{ne.setNodes(i,Object.assign(Object.assign({},e),{props:Object.assign(Object.assign({},e.props),{align:a})}),{at:t,match:e=>m.isElement(e)&&"table-data-cell"===e.type})})})},setCellVerticalAlign:(e,r,n)=>{const{cells:o,align:a}=n;if(!o||0===o.length)return void console.warn("No cells to update");const i=t.getBlockSlate(e,{id:r});i&&A.withoutNormalizing(i,()=>{o.forEach(([e,t])=>{ne.setNodes(i,Object.assign(Object.assign({},e),{props:Object.assign(Object.assign({},e.props),{verticalAlign:a})}),{at:t,match:e=>m.isElement(e)&&"table-data-cell"===e.type})})})}},ie=new WeakMap,se=new WeakMap;function le(e){return{rowIndex:e[e.length-2],colIndex:e[e.length-1]}}function ce(e,t){try{const r=t.slice(0,-2),n=x.get(e,r);if(m.isElement(n)&&"table"===n.type)return[n,r]}catch(e){}return null}function de(e){const{apply:t}=e;return e.apply=r=>{if(!k.isSelectionOperation(r)||!r.newProperties)return se.delete(e),ie.delete(e),t(r);const n=Object.assign(Object.assign({},e.selection),r.newProperties);if(!g.isRange(n))return se.delete(e),ie.delete(e),t(r);const[o]=A.nodes(e,{match:e=>m.isElement(e)&&"table-data-cell"===e.type,at:g.start(n)}),[a]=A.nodes(e,{match:e=>m.isElement(e)&&"table-data-cell"===e.type,at:g.end(n)});if(!o||!a)return se.delete(e),ie.delete(e),t(r);const[,i]=o,[,s]=a;if(l.equals(i,s))return se.delete(e),ie.delete(e),t(r);const c=le(i),d=le(s),p=ce(e,i),f=ce(e,s);if(!p||!f)return se.delete(e),ie.delete(e),t(r);const[,h]=p,[,u]=f;if(!l.equals(h,u))return se.delete(e),ie.delete(e),t(r);const v=function(e,t,r,n,o,a){const i=[],s=Math.min(r,o),l=Math.max(r,o),c=Math.min(n,a),d=Math.max(n,a);for(let r=s;r<=l;r+=1){const n=[...t,r];try{const t=x.get(e,n);if(!m.isElement(t)||"table-row"!==t.type)continue;for(let t=c;t<=d;t+=1){const r=[...n,t];try{const t=x.get(e,r);m.isElement(t)&&"table-data-cell"===t.type&&i.push([t,r])}catch(e){continue}}}catch(e){continue}}return i}(e,h,c.rowIndex,c.colIndex,d.rowIndex,d.colIndex);if(0===v.length)return se.delete(e),ie.delete(e),t(r);const b=new WeakSet;v.forEach(([e])=>{b.add(e)}),ie.set(e,v),se.set(e,b),t(r)},e}const pe={asHeader:!1,verticalAlign:"top",align:"left",colSpan:1,rowSpan:1,backgroundColor:void 0,color:void 0},fe={headerRow:!1,headerColumn:!1,columnWidths:[200,150,250]},he=new s({type:"Table",elements:e("table",Object.assign({render:t=>e("table",Object.assign({},t.attributes,fe,{children:e("tbody",Object.assign({},t.attributes,{children:t.children}))})),nodeType:"block"},{children:e("table-row",Object.assign({render:t=>e("tr",Object.assign({},t.attributes,{children:t.children})),nodeType:"block"},{children:e("table-data-cell",{render:t=>e("td",Object.assign({},t.attributes,{children:t.children})),props:pe,nodeType:"block"})}))})),events:{onKeyDown:function(e,t,{hotkeys:r,currentBlock:n}){return o=>{if(t.selection){if(r.isBackspace(o)){const e=l.parent(t.selection.anchor.path),r=A.isStart(t,t.selection.anchor,e),n=ie.get(t);if(n)return o.preventDefault(),void A.withoutNormalizing(t,()=>{for(const[,e]of n)for(const[r,n]of x.children(t,e))if(L.isText(r)){const e=x.string(r).length;e>0&&ne.delete(t,{at:{anchor:{path:n,offset:0},focus:{path:n,offset:e}}})}ne.select(t,{path:n[0][1].concat(0),offset:0})});if(r&&g.isCollapsed(t.selection))return void o.preventDefault()}if(r.isCmdShiftEnter(o))return o.preventDefault(),void ae.insertTableRow(e,n.id,{select:!0,insertMode:"before"});if(r.isShiftEnter(o))return o.preventDefault(),void ae.insertTableRow(e,n.id,{select:!0,insertMode:"after"});if(r.isCmdShiftRight(o))return o.preventDefault(),void ae.insertTableColumn(e,n.id,{select:!0,insertMode:"after"});if(r.isCmdShiftLeft(o))return o.preventDefault(),void ae.insertTableColumn(e,n.id,{select:!0,insertMode:"before"});if(r.isCmdShiftDelete(o))return o.preventDefault(),void ae.deleteTableRow(e,n.id);if(r.isCmdAltDelete(o))return o.preventDefault(),void ae.deleteTableColumn(e,n.id);if(r.isEnter(o))return o.preventDefault(),void ne.insertText(t,"\n");if(r.isSelect(o)){const r=A.above(t,{match:e=>m.isElement(e)&&"table-data-cell"===e.type});if(r){o.preventDefault();const[,a]=r,i=A.string(t,a);if(g.isExpanded(t.selection)||0===i.length)return e.blur(),void e.setPath({current:null,selected:[n.meta.order]});ne.select(t,a)}}(o.metaKey||o.ctrlKey)&&o.shiftKey&&"h"===o.key&&(o.preventDefault(),ae.toggleHeaderRow(e,n.id)),(o.metaKey||o.ctrlKey)&&o.shiftKey&&"v"===o.key&&(o.preventDefault(),ae.toggleHeaderColumn(e,n.id))}}},onBlur:(e,t)=>()=>{se.delete(t),ie.delete(t)}},lifecycle:{beforeCreate:e=>ae.buildTableElements(e,{rows:3,columns:3})},parsers:{html:{deserialize:{nodeNames:["TABLE"],parse:function(e,t){const n=e.querySelector("tbody"),o=e.querySelector("thead"),i={id:r(),type:"table",children:[],props:{headerRow:"true"===e.getAttribute("data-header-row"),headerColumn:"true"===e.getAttribute("data-header-column")}};if(!n&&!o)return;const s=null==o?void 0:o.querySelector("tr");if(s&&(i.props.headerRow=!0),s){const e={id:r(),type:"table-row",children:[]};Array.from(s.childNodes).forEach(n=>{if("TH"===n.nodeName){const o={id:r(),type:"table-data-cell",children:[{text:""}],props:{asHeader:!0,width:200}};n instanceof HTMLElement&&(null==n?void 0:n.hasAttribute("data-width"))&&(o.props.width=parseInt(n.getAttribute("data-width")||"200",10));const i=a(t,n.childNodes);o.children=i,e.children.push(o)}}),i.children.push(e)}return null==n||n.childNodes.forEach(e=>{const n=Array.from(e.childNodes).filter(e=>"TD"===e.nodeName||"TH"===e.nodeName);if(n.length>0){const e={id:r(),type:"table-row",children:[]};n.forEach(n=>{const o={id:r(),type:"table-data-cell",children:[{text:""}],props:{asHeader:!1,width:200}};if("TH"===n.nodeName&&(o.props.asHeader=!0),"TD"===n.nodeName&&(o.props.asHeader=!1),"TD"===n.nodeName||"TH"===n.nodeName){n instanceof HTMLElement&&(null==n?void 0:n.hasAttribute("data-width"))&&(o.props.width=parseInt(n.getAttribute("data-width")||"200",10));const r=a(t,n.childNodes);o.children=r,e.children.push(o)}}),i.children.push(e)}}),i}}},markdown:{serialize:function(e,t){let r="";return e.children.forEach((e,t)=>{const n=e.children.map(e=>` ${i(e.children)} `).join("|");if(r+=`|${n}|\n`,0===t){const t=e.children.map(()=>" --- ").join("|");r+=`|${t}|\n`}}),r}},email:{serialize:function(e,t,r){var n,a;const i=e.children[0].children,{align:s="left",depth:l=0}=r||{};return`\n <table style="margin-left: ${20*l}px; text-align: ${s};\n border-collapse: collapse;\n border-spacing: 0px 0px;\n caption-side: bottom;\n font-size: .875rem;\n line-height: 1.25rem;\n table-layout: fixed;\n user-select: none;\n width: auto;\n overflow-x: auto;\n overflow-y: hidden;\n padding-bottom: .5rem;\n padding-top: .5rem;\n position: relative;\n width: 100%;\n " data-meta-align="${s}" data-meta-depth="${l}" data-header-row="${null===(n=e.props)||void 0===n?void 0:n.headerRow}" data-header-column="${null===(a=e.props)||void 0===a?void 0:a.headerColumn}">\n <colgroup>\n ${i.map(e=>{var t,r;return`<col style="width: ${(null===(t=e.props)||void 0===t?void 0:t.width)?`${null===(r=e.props)||void 0===r?void 0:r.width}px`:"auto"}" />`}).join("")}\n </colgroup>\n <tbody>${e.children.map(e=>`<tr style="position: relative;">${e.children.map(e=>{var t,r,n;const a=o(e.children);return(null===(t=e.props)||void 0===t?void 0:t.asHeader)?`<th style="\n border-width: 1px;\n border: 1px solid #e9e9e7;\n color: inherit;\n min-height: 32px;\n position: relative;\n vertical-align: top;\n background-color: #f7f6f3;\n font-size: 14px;\n line-height: 20px;\n max-width: 100%;\n overflow-wrap: break-word;\n padding: 7px 9px;\n white-space: pre-wrap;\n width: 100%;" data-width="${(null===(r=e.props)||void 0===r?void 0:r.width)||200}" rowspan="1" colspan="1">${a}</th>`:`<td style="\n border-width: 1px;\n border: 1px solid #e9e9e7;\n color: inherit;\n min-height: 32px;\n position: relative;\n vertical-align: top;\n background-color: transparent;\n font-size: 14px;\n line-height: 20px;\n max-width: 100%;\n overflow-wrap: break-word;\n padding: 7px 9px;\n white-space: pre-wrap;\n width: 100%;" data-width="${(null===(n=e.props)||void 0===n?void 0:n.width)||200}" rowspan="1" colspan="1">${a}</td>`}).join("")}</tr>`).join("")}</tbody></table>`}}},extensions:function(e,t){return e=function(e){const{deleteBackward:t}=e;return e.deleteBackward=r=>{const{selection:n}=e;if(!n||g.isExpanded(n))return t(r);const[o]=A.nodes(e,{match:e=>m.isElement(e)&&"table-data-cell"===e.type,at:n}),a=A.before(e,n,{unit:r}),[i]=a?A.nodes(e,{match:e=>m.isElement(e)&&"table-data-cell"===e.type,at:a}):[void 0];if(!o&&!i)return t(r);if(!o&&i&&a)return ne.select(e,a);const[,s]=o,l=A.start(e,s);B.equals(n.anchor,l)||t(r)},e}(e=function(e){const{normalizeNode:t}=e;return e.normalizeNode=(n,o)=>{const[a,i]=n;if(m.isElement(a)&&"table-data-cell"===a.type)for(const[t,r]of x.children(e,i)){if(m.isElement(t)&&"table"===t.type)return void ne.unwrapNodes(e,{at:r});if(m.isElement(t)&&"table-row"===t.type)return void ne.unwrapNodes(e,{at:r});if(m.isElement(t)&&"table-data-cell"===t.type)return void ne.unwrapNodes(e,{at:r})}if(m.isElement(a)&&"table-row"===a.type)for(const[t,n]of x.children(e,i))if(!m.isElement(t)||"table-data-cell"!==t.type)return ne.wrapNodes(e,{id:r(),type:"table-data-cell",children:[t]},{at:n});t(n,o)},e}(e=de(e)))},options:{display:{title:"Table",description:"Add simple table"},shortcuts:["table","||","3x3"]},commands:ae});export{ie as TABLE_CELLS_IN_SELECTION,se as TABLE_SLATE_TO_SELECTION_SET,ae as TableCommands,he as default};
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{Blocks as t,generateId as r,Elements as n,serializeTextNodes as o,deserializeTextNodes as a,serializeTextNodesIntoMarkdown as i,YooptaPlugin as s}from"@yoopta/editor";var l={ancestors(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,n=l.levels(e,t);return n=r?n.slice(1):n.slice(0,-1)},common(e,t){for(var r=[],n=0;n<e.length&&n<t.length;n++){var o=e[n];if(o!==t[n])break;r.push(o)}return r},compare(e,t){for(var r=Math.min(e.length,t.length),n=0;n<r;n++){if(e[n]<t[n])return-1;if(e[n]>t[n])return 1}return 0},endsAfter(e,t){var r=e.length-1,n=e.slice(0,r),o=t.slice(0,r),a=e[r],i=t[r];return l.equals(n,o)&&a>i},endsAt(e,t){var r=e.length,n=e.slice(0,r),o=t.slice(0,r);return l.equals(n,o)},endsBefore(e,t){var r=e.length-1,n=e.slice(0,r),o=t.slice(0,r),a=e[r],i=t[r];return l.equals(n,o)&&a<i},equals:(e,t)=>e.length===t.length&&e.every((e,r)=>e===t[r]),hasPrevious:e=>e[e.length-1]>0,isAfter:(e,t)=>1===l.compare(e,t),isAncestor:(e,t)=>e.length<t.length&&0===l.compare(e,t),isBefore:(e,t)=>-1===l.compare(e,t),isChild:(e,t)=>e.length===t.length+1&&0===l.compare(e,t),isCommon:(e,t)=>e.length<=t.length&&0===l.compare(e,t),isDescendant:(e,t)=>e.length>t.length&&0===l.compare(e,t),isParent:(e,t)=>e.length+1===t.length&&0===l.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 r=e.slice(0,-1),n=t.slice(0,-1);return e[e.length-1]!==t[t.length-1]&&l.equals(r,n)},levels(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,n=[],o=0;o<=e.length;o++)n.push(e.slice(0,o));return r&&n.reverse(),n},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(!l.isAncestor(t,e)&&!l.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 r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e)return null;var n=[...e],{affinity:o="forward"}=r;if(0===e.length)return n;switch(t.type){case"insert_node":var{path:a}=t;(l.equals(a,n)||l.endsBefore(a,n)||l.isAncestor(a,n))&&(n[a.length-1]+=1);break;case"remove_node":var{path:i}=t;if(l.equals(i,n)||l.isAncestor(i,n))return null;l.endsBefore(i,n)&&(n[i.length-1]-=1);break;case"merge_node":var{path:s,position:c}=t;l.equals(s,n)||l.endsBefore(s,n)?n[s.length-1]-=1:l.isAncestor(s,n)&&(n[s.length-1]-=1,n[s.length]+=c);break;case"split_node":var{path:d,position:p}=t;if(l.equals(d,n)){if("forward"===o)n[n.length-1]+=1;else if("backward"!==o)return null}else l.endsBefore(d,n)?n[d.length-1]+=1:l.isAncestor(d,n)&&e[d.length]>=p&&(n[d.length-1]+=1,n[d.length]-=p);break;case"move_node":var{path:h,newPath:f}=t;if(l.equals(h,f))return n;if(l.isAncestor(h,n)||l.equals(h,n)){var u=f.slice();return l.endsBefore(h,f)&&h.length<f.length&&(u[h.length-1]-=1),u.concat(n.slice(h.length))}l.isSibling(h,f)&&(l.isAncestor(f,n)||l.equals(f,n))?l.endsBefore(h,n)?n[h.length-1]-=1:n[h.length-1]+=1:l.endsBefore(f,n)||l.equals(f,n)||l.isAncestor(f,n)?(l.endsBefore(h,n)&&(n[h.length-1]-=1),n[f.length-1]+=1):l.endsBefore(h,n)&&(l.equals(f,n)&&(n[f.length-1]+=1),n[h.length-1]-=1)}return n}};function c(e){return c="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},c(e)}function d(e){var t=function(e,t){if("object"!==c(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===c(t)?t:String(t)}function p(e,t,r){return(t=d(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function h(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var f=["anchor","focus"];function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var g={edges(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,{anchor:n,focus:o}=e;return g.isBackward(e)===r?[n,o]:[o,n]},end(e){var[,t]=g.edges(e);return t},equals:(e,t)=>_.equals(e.anchor,t.anchor)&&_.equals(e.focus,t.focus),surrounds(e,t){var r=g.intersection(e,t);return!!r&&g.equals(r,t)},includes(e,t){if(g.isRange(t)){if(g.includes(e,t.anchor)||g.includes(e,t.focus))return!0;var[r,n]=g.edges(e),[o,a]=g.edges(t);return _.isBefore(r,o)&&_.isAfter(n,a)}var[i,s]=g.edges(e),c=!1,d=!1;return _.isPoint(t)?(c=_.compare(t,i)>=0,d=_.compare(t,s)<=0):(c=l.compare(t,i.path)>=0,d=l.compare(t,s.path)<=0),c&&d},intersection(e,t){var r=h(e,f),[n,o]=g.edges(e),[a,i]=g.edges(t),s=_.isBefore(n,a)?a:n,l=_.isBefore(o,i)?o:i;return _.isBefore(l,s)?null:function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({anchor:s,focus:l},r)},isBackward(e){var{anchor:t,focus:r}=e;return _.isAfter(t,r)},isCollapsed(e){var{anchor:t,focus:r}=e;return _.equals(t,r)},isExpanded:e=>!g.isCollapsed(e),isForward:e=>!g.isBackward(e),isRange:e=>N(e)&&_.isPoint(e.anchor)&&_.isPoint(e.focus),*points(e){yield[e.anchor,"anchor"],yield[e.focus,"focus"]},start(e){var[t]=g.edges(e);return t},transform(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null===e)return null;var n,o,{affinity:a="inward"}=r;if("inward"===a){var i=g.isCollapsed(e);g.isForward(e)?(n="forward",o=i?n:"backward"):(n="backward",o=i?n:"forward")}else"outward"===a?g.isForward(e)?(n="backward",o="forward"):(n="forward",o="backward"):(n=a,o=a);var s=_.transform(e.anchor,t,{affinity:n}),l=_.transform(e.focus,t,{affinity:o});return s&&l?{anchor:s,focus:l}:null}},v=function(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return!!N(e)&&("function"!=typeof e.apply&&(t?x.isNodeList(e.children):Array.isArray(e.children)))},m={isAncestor(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return N(e)&&x.isNodeList(e.children,{deep:t})},isElement:v,isElementList(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Array.isArray(e)&&e.every(e=>m.isElement(e,{deep:t}))},isElementProps:e=>void 0!==e.children,isElementType:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"type";return v(e)&&e[r]===t},matches(e,t){for(var r in t)if("children"!==r&&e[r]!==t[r])return!1;return!0}},b=["children"],y=["text"];function w(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function O(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?w(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):w(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var x={ancestor(e,t){var r=x.get(e,t);if(L.isText(r))throw new Error("Cannot get the ancestor node at path [".concat(t,"] because it refers to a text node instead: ").concat(R.stringify(r)));return r},ancestors(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var n of l.ancestors(t,r)){var o=[x.ancestor(e,n),n];yield o}}()},child(e,t){if(L.isText(e))throw new Error("Cannot get the child of a text node: ".concat(R.stringify(e)));var r=e.children[t];if(null==r)throw new Error("Cannot get child at index `".concat(t,"` in node: ").concat(R.stringify(e)));return r},children(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var{reverse:n=!1}=r,o=x.ancestor(e,t),{children:a}=o,i=n?a.length-1:0;n?i>=0:i<a.length;){var s=x.child(o,i),l=t.concat(i);yield[s,l],i=n?i-1:i+1}}()},common(e,t,r){var n=l.common(t,r);return[x.get(e,n),n]},descendant(e,t){var r=x.get(e,t);if(A.isEditor(r))throw new Error("Cannot get the descendant node at path [".concat(t,"] because it refers to the root editor node instead: ").concat(R.stringify(r)));return r},descendants(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of x.nodes(e,t))0!==n.length&&(yield[r,n])}()},elements(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of x.nodes(e,t))m.isElement(r)&&(yield[r,n])}()},extractProps:e=>m.isAncestor(e)?h(e,b):h(e,y),first(e,t){for(var r=t.slice(),n=x.get(e,r);n&&!L.isText(n)&&0!==n.children.length;)n=n.children[0],r.push(0);return[n,r]},fragment(e,t){var r={children:e.children},[n,o]=g.edges(t),a=x.nodes(r,{reverse:!0,pass:e=>{var[,r]=e;return!g.includes(t,r)}}),i=function(){if(!g.includes(t,s)){var e=s[s.length-1];J(r,l.parent(s),t=>F(t,e,1))}l.equals(s,o.path)&&Z(r,s,e=>{var t=e.text.slice(0,o.offset);return O(O({},e),{},{text:t})}),l.equals(s,n.path)&&Z(r,s,e=>{var t=e.text.slice(n.offset);return O(O({},e),{},{text:t})})};for(var[,s]of a)i();return r.children},get(e,t){var r=x.getIf(e,t);if(void 0===r)throw new Error("Cannot find a descendant at path [".concat(t,"] in node: ").concat(R.stringify(e)));return r},getIf(e,t){for(var r=e,n=0;n<t.length;n++){var o=t[n];if(L.isText(r)||!r.children[o])return;r=r.children[o]}return r},has(e,t){for(var r=e,n=0;n<t.length;n++){var o=t[n];if(L.isText(r)||!r.children[o])return!1;r=r.children[o]}return!0},isNode(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return L.isText(e)||m.isElement(e,{deep:t})||A.isEditor(e,{deep:t})},isNodeList(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Array.isArray(e)&&e.every(e=>x.isNode(e,{deep:t}))},last(e,t){for(var r=t.slice(),n=x.get(e,r);n&&!L.isText(n)&&0!==n.children.length;){var o=n.children.length-1;n=n.children[o],r.push(o)}return[n,r]},leaf(e,t){var r=x.get(e,t);if(!L.isText(r))throw new Error("Cannot get the leaf node at path [".concat(t,"] because it refers to a non-leaf node: ").concat(R.stringify(r)));return r},levels(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var n of l.levels(t,r)){var o=x.get(e,n);yield[o,n]}}()},matches:(e,t)=>m.isElement(e)&&m.isElementProps(t)&&m.matches(e,t)||L.isText(e)&&L.isTextProps(t)&&L.matches(e,t),nodes(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var{pass:r,reverse:n=!1}=t,{from:o=[],to:a}=t,i=new Set,s=[],c=e;!a||!(n?l.isBefore(s,a):l.isAfter(s,a));)if(i.has(c)||(yield[c,s]),i.has(c)||L.isText(c)||0===c.children.length||null!=r&&!1!==r([c,s])){if(0===s.length)break;if(!n){var d=l.next(s);if(x.has(e,d)){s=d,c=x.get(e,s);continue}}if(n&&0!==s[s.length-1])s=l.previous(s),c=x.get(e,s);else s=l.parent(s),c=x.get(e,s),i.add(c)}else{i.add(c);var p=n?c.children.length-1:0;l.isAncestor(s,o)&&(p=o[s.length]),s=s.concat(p),c=x.get(e,s)}}()},parent(e,t){var r=l.parent(t),n=x.get(e,r);if(L.isText(n))throw new Error("Cannot get the parent of path [".concat(t,"] because it does not exist in the root."));return n},string:e=>L.isText(e)?e.text:e.children.map(x.string).join(""),texts(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of x.nodes(e,t))L.isText(r)&&(yield[r,n])}()}};function j(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function E(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?j(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):j(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var P,k={isNodeOperation:e=>k.isOperation(e)&&e.type.endsWith("_node"),isOperation(e){if(!N(e))return!1;switch(e.type){case"insert_node":case"remove_node":return l.isPath(e.path)&&x.isNode(e.node);case"insert_text":case"remove_text":return"number"==typeof e.offset&&"string"==typeof e.text&&l.isPath(e.path);case"merge_node":return"number"==typeof e.position&&l.isPath(e.path)&&N(e.properties);case"move_node":return l.isPath(e.path)&&l.isPath(e.newPath);case"set_node":return l.isPath(e.path)&&N(e.properties)&&N(e.newProperties);case"set_selection":return null===e.properties&&g.isRange(e.newProperties)||null===e.newProperties&&g.isRange(e.properties)||N(e.properties)&&N(e.newProperties);case"split_node":return l.isPath(e.path)&&"number"==typeof e.position&&N(e.properties);default:return!1}},isOperationList:e=>Array.isArray(e)&&e.every(e=>k.isOperation(e)),isSelectionOperation:e=>k.isOperation(e)&&e.type.endsWith("_selection"),isTextOperation:e=>k.isOperation(e)&&e.type.endsWith("_text"),inverse(e){switch(e.type){case"insert_node":return E(E({},e),{},{type:"remove_node"});case"insert_text":return E(E({},e),{},{type:"remove_text"});case"merge_node":return E(E({},e),{},{type:"split_node",path:l.previous(e.path)});case"move_node":var{newPath:t,path:r}=e;if(l.equals(t,r))return e;if(l.isSibling(r,t))return E(E({},e),{},{path:t,newPath:r});var n=l.transform(r,e),o=l.transform(l.next(r),e);return E(E({},e),{},{path:n,newPath:o});case"remove_node":return E(E({},e),{},{type:"insert_node"});case"remove_text":return E(E({},e),{},{type:"insert_text"});case"set_node":var{properties:a,newProperties:i}=e;return E(E({},e),{},{properties:i,newProperties:a});case"set_selection":var{properties:s,newProperties:c}=e;return E(E({},e),{},null==s?{properties:c,newProperties:null}:null==c?{properties:null,newProperties:s}:{properties:c,newProperties:s});case"split_node":return E(E({},e),{},{type:"merge_node",path:l.next(e.path)})}}},N=e=>"object"==typeof e&&null!==e,T=(e,t)=>{for(var r in e){var n=e[r],o=t[r];if(Array.isArray(n)&&Array.isArray(o)){if(n.length!==o.length)return!1;for(var a=0;a<n.length;a++)if(n[a]!==o[a])return!1}else if(N(n)&&N(o)){if(!T(n,o))return!1}else if(n!==o)return!1}for(var i in t)if(void 0===e[i]&&void 0!==t[i])return!1;return!0},S=e=>e.selection?e.selection:e.children.length>0?A.end(e,[]):[0];!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"}(P||(P={})),P.L,P.L,P.V,P.LV,P.LVT,P.LV,P.V,P.V,P.T,P.LVT,P.T,P.T,P.Any,P.Extend,P.ZWJ,P.Any,P.SpacingMark,P.Prepend,P.Any,P.ZWJ,P.ExtPict,P.RI,P.RI;var A={above:(e,t)=>e.above(t),addMark(e,t,r){e.addMark(t,r)},after:(e,t,r)=>e.after(t,r),before:(e,t,r)=>e.before(t,r),deleteBackward(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{unit:r="character"}=t;e.deleteBackward(r)},deleteForward(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{unit:r="character"}=t;e.deleteForward(r)},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,r){e.insertFragment(t,r)},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,r)=>e.isEdge(t,r),isEditor:e=>function(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!N(e))return!1;var r="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||N(e.marks))&&(null===e.selection||g.isRange(e.selection))&&(!t||x.isNodeList(e.children))&&k.isOperationList(e.operations);return r}(e),isElementReadOnly:(e,t)=>e.isElementReadOnly(t),isEmpty:(e,t)=>e.isEmpty(t),isEnd:(e,t,r)=>e.isEnd(t,r),isInline:(e,t)=>e.isInline(t),isNormalizing:e=>e.isNormalizing(),isSelectable:(e,t)=>e.isSelectable(t),isStart:(e,t,r)=>e.isStart(t,r),isVoid:(e,t)=>e.isVoid(t),last:(e,t)=>e.last(t),leaf:(e,t,r)=>e.leaf(t,r),levels:(e,t)=>e.levels(t),marks:e=>e.getMarks(),next:(e,t)=>e.next(t),node:(e,t,r)=>e.node(t,r),nodes:(e,t)=>e.nodes(t),normalize(e,t){e.normalize(t)},parent:(e,t,r)=>e.parent(t,r),path:(e,t,r)=>e.path(t,r),pathRef:(e,t,r)=>e.pathRef(t,r),pathRefs:e=>e.pathRefs(),point:(e,t,r)=>e.point(t,r),pointRef:(e,t,r)=>e.pointRef(t,r),pointRefs:e=>e.pointRefs(),positions:(e,t)=>e.positions(t),previous:(e,t)=>e.previous(t),range:(e,t,r)=>e.range(t,r),rangeRef:(e,t,r)=>e.rangeRef(t,r),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,r)=>e.string(t,r),unhangRange:(e,t,r)=>e.unhangRange(t,r),void:(e,t)=>e.void(t),withoutNormalizing(e,t){e.withoutNormalizing(t)},shouldMergeNodesRemovePrevNode:(e,t,r)=>e.shouldMergeNodesRemovePrevNode(t,r)};function C(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function B(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?C(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):C(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var _={compare(e,t){var r=l.compare(e.path,t.path);return 0===r?e.offset<t.offset?-1:e.offset>t.offset?1:0:r},isAfter:(e,t)=>1===_.compare(e,t),isBefore:(e,t)=>-1===_.compare(e,t),equals:(e,t)=>e.offset===t.offset&&l.equals(e.path,t.path),isPoint:e=>N(e)&&"number"==typeof e.offset&&l.isPath(e.path),transform(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null===e)return null;var{affinity:n="forward"}=r,{path:o,offset:a}=e;switch(t.type){case"insert_node":case"move_node":o=l.transform(o,t,r);break;case"insert_text":l.equals(t.path,o)&&(t.offset<a||t.offset===a&&"forward"===n)&&(a+=t.text.length);break;case"merge_node":l.equals(t.path,o)&&(a+=t.position),o=l.transform(o,t,r);break;case"remove_text":l.equals(t.path,o)&&t.offset<=a&&(a-=Math.min(a-t.offset,t.text.length));break;case"remove_node":if(l.equals(t.path,o)||l.isAncestor(t.path,o))return null;o=l.transform(o,t,r);break;case"split_node":if(l.equals(t.path,o)){if(t.position===a&&null==n)return null;(t.position<a||t.position===a&&"forward"===n)&&(a-=t.position,o=l.transform(o,t,B(B({},r),{},{affinity:"forward"})))}else o=l.transform(o,t,r);break;default:return e}return{path:o,offset:a}}},D=void 0,R={setScrubber(e){D=e},stringify:e=>JSON.stringify(e,D)},q=["text"],z=["anchor","focus","merge"];function I(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function M(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?I(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var L={equals(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{loose:n=!1}=r;function o(e){return h(e,q)}return T(n?o(e):e,n?o(t):t)},isText:e=>N(e)&&"string"==typeof e.text,isTextList:e=>Array.isArray(e)&&e.every(e=>L.isText(e)),isTextProps:e=>void 0!==e.text,matches(e,t){for(var r in t)if("text"!==r&&(!e.hasOwnProperty(r)||e[r]!==t[r]))return!1;return!0},decorations(e,t){var r=[{leaf:M({},e)}];for(var n of t){var{anchor:o,focus:a,merge:i}=n,s=h(n,z),[l,c]=g.edges(n),d=[],p=0,f=l.offset,u=c.offset,v=null!=i?i:Object.assign;for(var{leaf:m}of r){var{length:b}=m.text,y=p;if(p+=b,f<=y&&p<=u)v(m,s),d.push({leaf:m});else if(f!==u&&(f===p||u===y)||f>p||u<y||u===y&&0!==y)d.push({leaf:m});else{var w=m,O=void 0,x=void 0;if(u<p){var j=u-y;x={leaf:M(M({},w),{},{text:w.text.slice(j)})},w=M(M({},w),{},{text:w.text.slice(0,j)})}if(f>y){var E=f-y;O={leaf:M(M({},w),{},{text:w.text.slice(0,E)})},w=M(M({},w),{},{text:w.text.slice(E)})}v(w,s),O&&d.push(O),d.push({leaf:w}),x&&d.push(x)}}r=d}if(r.length>1){var P=0;for(var[k,N]of r.entries()){var T=P,S=T+N.leaf.text.length,A={start:T,end:S};0===k&&(A.isFirst=!0),k===r.length-1&&(A.isLast=!0),N.position=A,P=S}}return r}};function $(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function H(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?$(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var W=function(e,t){for(var r=arguments.length,n=new Array(r>2?r-2:0),o=2;o<r;o++)n[o-2]=arguments[o];return[...e.slice(0,t),...n,...e.slice(t)]},V=function(e,t,r){for(var n=arguments.length,o=new Array(n>3?n-3:0),a=3;a<n;a++)o[a-3]=arguments[a];return[...e.slice(0,t),...o,...e.slice(t+r)]},F=V,K=(e,t,r)=>{if(0===t.length)throw new Error("Cannot modify the editor");for(var n=x.get(e,t),o=t.slice(),a=r(n);o.length>1;){var i=o.pop(),s=x.get(e,o);a=H(H({},s),{},{children:V(s.children,i,1,a)})}var l=o.pop();e.children=V(e.children,l,1,a)},J=(e,t,r)=>{0===t.length?e.children=r(e.children):K(e,t,e=>{if(L.isText(e))throw new Error("Cannot get the element at path [".concat(t,"] because it refers to a leaf node: ").concat(R.stringify(e)));return H(H({},e),{},{children:r(e.children)})})},Z=(e,t,r)=>K(e,t,e=>{if(!L.isText(e))throw new Error("Cannot get the leaf node at path [".concat(t,"] because it refers to a non-leaf node: ").concat(R.stringify(e)));return r(e)});function G(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Q(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?G(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):G(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var U={transform(e,t){var r=!1;switch(t.type){case"insert_node":var{path:n,node:o}=t;J(e,l.parent(n),e=>{var t=n[n.length-1];if(t>e.length)throw new Error('Cannot apply an "insert_node" operation at path ['.concat(n,"] because the destination is past the end of the node."));return W(e,t,o)}),r=!0;break;case"insert_text":var{path:a,offset:i,text:s}=t;if(0===s.length)break;Z(e,a,e=>{var t=e.text.slice(0,i),r=e.text.slice(i);return Q(Q({},e),{},{text:t+s+r})}),r=!0;break;case"merge_node":var{path:c}=t,d=c[c.length-1],p=l.previous(c),h=p[p.length-1];J(e,l.parent(c),e=>{var t,r=e[d],n=e[h];if(L.isText(r)&&L.isText(n))t=Q(Q({},n),{},{text:n.text+r.text});else{if(L.isText(r)||L.isText(n))throw new Error('Cannot apply a "merge_node" operation at path ['.concat(c,"] to nodes of different interfaces: ").concat(R.stringify(r)," ").concat(R.stringify(n)));t=Q(Q({},n),{},{children:n.children.concat(r.children)})}return V(e,h,2,t)}),r=!0;break;case"move_node":var{path:f,newPath:u}=t,v=f[f.length-1];if(l.isAncestor(f,u))throw new Error("Cannot move a path [".concat(f,"] to new path [").concat(u,"] because the destination is inside itself."));var m=x.get(e,f);J(e,l.parent(f),e=>F(e,v,1));var b=l.transform(f,t),y=b[b.length-1];J(e,l.parent(b),e=>W(e,y,m)),r=!0;break;case"remove_node":var{path:w}=t,O=w[w.length-1];if(J(e,l.parent(w),e=>F(e,O,1)),e.selection){var j=Q({},e.selection);for(var[E,P]of g.points(j)){var k=_.transform(E,t);if(null!=j&&null!=k)j[P]=k;else{var N=void 0,T=void 0;for(var[S,A]of x.texts(e)){if(-1!==l.compare(A,w)){T=[S,A];break}N=[S,A]}var C=!1;N&&T&&(C=!l.isSibling(N[1],w)&&(!!l.equals(T[1],w)||l.common(N[1],w).length<l.common(T[1],w).length)),N&&!C?j[P]={path:N[1],offset:N[0].text.length}:T?j[P]={path:T[1],offset:0}:j=null}}j&&g.equals(j,e.selection)||(e.selection=j)}break;case"remove_text":var{path:B,offset:D,text:q}=t;if(0===q.length)break;Z(e,B,e=>{var t=e.text.slice(0,D),r=e.text.slice(D+q.length);return Q(Q({},e),{},{text:t+r})}),r=!0;break;case"set_node":var{path:z,properties:I,newProperties:M}=t;if(0===z.length)throw new Error("Cannot set properties on the root node!");K(e,z,e=>{var t=Q({},e);for(var r in M){if("children"===r||"text"===r)throw new Error('Cannot set the "'.concat(r,'" property of nodes!'));var n=M[r];null==n?delete t[r]:t[r]=n}for(var o in I)M.hasOwnProperty(o)||delete t[o];return t});break;case"set_selection":var{newProperties:$}=t;if(null==$){e.selection=null;break}if(null==e.selection){if(!g.isRange($))throw new Error('Cannot apply an incomplete "set_selection" operation properties '.concat(R.stringify($)," when there is no current selection."));e.selection=Q({},$);break}var H=Q({},e.selection);for(var G in $){var U=$[G];if(null==U){if("anchor"===G||"focus"===G)throw new Error('Cannot remove the "'.concat(G,'" selection property'));delete H[G]}else H[G]=U}e.selection=H;break;case"split_node":var{path:X,position:Y,properties:ee}=t,te=X[X.length-1];if(0===X.length)throw new Error('Cannot apply a "split_node" operation at path ['.concat(X,"] because the root node cannot be split."));J(e,l.parent(X),e=>{var t,r,n=e[te];if(L.isText(n)){var o=n.text.slice(0,Y),a=n.text.slice(Y);t=Q(Q({},n),{},{text:o}),r=Q(Q({},ee),{},{text:a})}else{var i=n.children.slice(0,Y),s=n.children.slice(Y);t=Q(Q({},n),{},{children:i}),r=Q(Q({},ee),{},{children:s})}return V(e,te,1,t,r)}),r=!0}if(r&&e.selection){var re=Q({},e.selection);for(var[ne,oe]of g.points(re))re[oe]=_.transform(ne,t);g.equals(re,e.selection)||(e.selection=re)}}},X={insertNodes(e,t,r){e.insertNodes(t,r)},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,r){e.setNodes(t,r)},splitNodes(e,t){e.splitNodes(t)},unsetNodes(e,t,r){e.unsetNodes(t,r)},unwrapNodes(e,t){e.unwrapNodes(t)},wrapNodes(e,t,r){e.wrapNodes(t,r)}},Y={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,r){e.setPoint(t,r)},setSelection(e,t){e.setSelection(t)}},ee={delete(e,t){e.delete(t)},insertFragment(e,t,r){e.insertFragment(t,r)},insertText(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};A.withoutNormalizing(e,()=>{var{voids:n=!1}=r,{at:o=S(e)}=r;if(l.isPath(o)&&(o=A.range(e,o)),g.isRange(o))if(g.isCollapsed(o))o=o.anchor;else{var a=g.end(o);if(!n&&A.void(e,{at:a}))return;var i=g.start(o),s=A.pointRef(e,i),c=A.pointRef(e,a);ne.delete(e,{at:o,voids:n});var d=s.unref(),p=c.unref();o=d||p,ne.setSelection(e,{anchor:o,focus:o})}if(!(!n&&A.void(e,{at:o})||A.elementReadOnly(e,{at:o}))){var{path:h,offset:f}=o;t.length>0&&e.apply({type:"insert_text",path:h,offset:f,text:t})}})}};function te(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function re(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?te(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):te(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ne=re(re(re(re({},U),X),Y),ee);function oe(e){return{rowIndex:e[e.length-2],colIndex:e[e.length-1]}}const ae={buildTableElements:(e,t)=>{const{rows:n=3,columns:o=3,columnWidth:a=200,headerColumn:i=!1,headerRow:s=!1}=t||{},l=Array(o).fill(a),c={id:r(),type:"table",children:[],props:{headerColumn:i,headerRow:s,columnWidths:l}};for(let e=0;e<n;e+=1){const t={id:r(),type:"table-row",children:[]};for(let n=0;n<o;n+=1){const n={id:r(),type:"table-data-cell",children:[{text:""}],props:{asHeader:0===e&&!!s}};t.children.push(n)}c.children.push(t)}return c},insertTable:(e,r)=>{const n=ae.buildTableElements(e,r),o=t.buildBlockData({value:[n],type:"Table"});t.insertBlock(e,o.type,Object.assign(Object.assign({},r),{blockData:o}))},deleteTable:(e,t)=>{e.deleteBlock({blockId:t})},insertTableRow:(e,o,a)=>{const i=t.getBlockSlate(e,{id:o});i&&A.withoutNormalizing(i,()=>{var t;const{insertMode:s="after",select:c=!0}=a||{},d=n.getElementEntry(e,{blockId:o,path:null===(t=i.selection)||void 0===t?void 0:t.anchor.path,type:"table-row"});if(!d)return;const[p,h]=d,f="before"===s?h:l.next(h),u={id:r(),type:"table-row",children:p.children.map(e=>({id:r(),type:"table-data-cell",children:[{text:""}]})),props:{nodeType:"block"}};ne.insertNodes(i,u,{at:f}),c&&ne.select(i,[...f,0])})},deleteTableRow:(e,r,o)=>{const a=t.getBlockSlate(e,{id:r});a&&A.withoutNormalizing(a,()=>{var t;const o=n.getElementEntry(e,{blockId:r,path:null===(t=a.selection)||void 0===t?void 0:t.anchor.path,type:"table-row"});if(!o)return;const[,i]=o,s=A.nodes(a,{at:[0],match:e=>m.isElement(e)&&"table-row"===e.type,mode:"highest"});1!==Array.from(s).length&&ne.removeNodes(a,{at:i,match:e=>m.isElement(e)&&"table-row"===e.type})})},moveTableRow:(e,r,{from:n,to:o})=>{const a=t.getBlockSlate(e,{id:r});a&&A.withoutNormalizing(a,()=>{ne.moveNodes(a,{at:n,to:o,match:e=>m.isElement(e)&&"table-row"===e.type})})},moveTableColumn:(e,r,{from:n,to:o})=>{const a=t.getBlockSlate(e,{id:r});a&&A.withoutNormalizing(a,()=>{const e=A.nodes(a,{at:[0],match:e=>m.isElement(e)&&"table-row"===e.type,mode:"all"});Array.from(e).forEach(([e,t])=>{ne.moveNodes(a,{at:t.concat(n[n.length-1]),to:[...t,o[o.length-1]],match:e=>m.isElement(e)})})})},insertTableColumn:(e,o,a)=>{const i=t.getBlockSlate(e,{id:o});i&&A.withoutNormalizing(i,()=>{var t,s,c;const{insertMode:d="after",select:p=!0}=a||{},h=n.getElementEntry(e,{blockId:o,path:null===(t=i.selection)||void 0===t?void 0:t.anchor.path,type:"table-data-cell"});if(!h)return;const[,f]=h,u=f[f.length-1],g="before"===d?u:l.next(f)[f.length-1],v=A.nodes(i,{at:[0],match:e=>m.isElement(e)&&"table-row"===e.type,mode:"lowest"});for(const[,e]of v){const t={id:r(),type:"table-data-cell",children:[{text:""}]};ne.insertNodes(i,t,{at:[...e,g]})}const b=A.nodes(i,{at:[0],match:e=>m.isElement(e)&&"table"===e.type,mode:"highest"}),y=Array.from(b);if(y.length>0){const[e,t]=y[0],r=[...null!==(c=null===(s=e.props)||void 0===s?void 0:s.columnWidths)&&void 0!==c?c:[]];r.splice(g,0,200),ne.setNodes(i,{props:Object.assign(Object.assign({},e.props),{columnWidths:r})},{at:t,match:e=>m.isElement(e)&&"table"===e.type})}p&&ne.select(i,[0,0,g,0])})},deleteTableColumn:(e,r,o)=>{const a=t.getBlockSlate(e,{id:r});a&&A.withoutNormalizing(a,()=>{var t,o,i;const s=A.nodes(a,{at:[0],match:e=>m.isElement(e)&&"table-row"===e.type,mode:"all"}),l=Array.from(s);if(l[0][0].children.length<=1)return;const c=n.getElementEntry(e,{blockId:r,path:null===(t=a.selection)||void 0===t?void 0:t.anchor.path,type:"table-data-cell"});if(!c)return;const[d,p]=c,h=p[p.length-1];l.map(([e,t])=>e.children[h]?[...t,h]:null).forEach(e=>{e&&ne.removeNodes(a,{at:e})});const f=A.nodes(a,{at:[0],match:e=>m.isElement(e)&&"table"===e.type,mode:"highest"}),u=Array.from(f);if(u.length>0){const[e,t]=u[0],r=[...null!==(i=null===(o=e.props)||void 0===o?void 0:o.columnWidths)&&void 0!==i?i:[]];r.splice(h,1),ne.setNodes(a,{props:Object.assign(Object.assign({},e.props),{columnWidths:r})},{at:t,match:e=>m.isElement(e)&&"table"===e.type})}})},updateColumnWidth:(e,r,n,o)=>{const a=t.getBlockSlate(e,{id:r});a&&A.withoutNormalizing(a,()=>{const e=A.nodes(a,{at:[0],match:e=>m.isElement(e)&&"table-data-cell"===e.type,mode:"all"});Array.from(e).forEach(([e,t])=>{t[t.length-1]===n&&ne.setNodes(a,Object.assign(Object.assign({},e),{props:Object.assign(Object.assign({},e.props),{width:o})}),{at:t,match:e=>m.isElement(e)&&"table-data-cell"===e.type})})})},setColumnWidth:(e,r,n,o)=>{const a=t.getBlockSlate(e,{id:r});if(!a)return;const i=Math.max(50,o);A.withoutNormalizing(a,()=>{var e,t,r,o;const s=A.nodes(a,{at:[0],match:e=>m.isElement(e)&&"table"===e.type,mode:"highest"}),l=Array.from(s);if(0===l.length)return;const[c,d]=l[0],p=null!==(t=null===(e=c.props)||void 0===e?void 0:e.columnWidths)&&void 0!==t?t:[],h=c.children[0],f=null!==(o=null===(r=null==h?void 0:h.children)||void 0===r?void 0:r.length)&&void 0!==o?o:0,u=[];for(let e=0;e<f;e++)e===n?u.push(i):void 0!==p[e]?u.push("number"==typeof p[e]?p[e]:parseInt(String(p[e]),10)||200):u.push(200);ne.setNodes(a,{props:Object.assign(Object.assign({},c.props),{columnWidths:u})},{at:d,match:e=>m.isElement(e)&&"table"===e.type})})},toggleHeaderRow:(e,r)=>{const o=t.getBlockSlate(e,{id:r});o&&A.withoutNormalizing(o,()=>{var t;const a=n.getElement(e,{blockId:r,type:"table",path:[0]}),i=(null===(t=null==a?void 0:a.props)||void 0===t?void 0:t.headerRow)||!1,s=A.nodes(o,{at:[0,0],match:e=>m.isElement(e)&&"table-data-cell"===e.type,mode:"all"});Array.from(s).forEach(([e,t])=>{var r;ne.setNodes(o,Object.assign(Object.assign({},e),{props:Object.assign(Object.assign({},e.props),{asHeader:!(null===(r=e.props)||void 0===r?void 0:r.asHeader)})}),{at:t,match:e=>m.isElement(e)&&"table-data-cell"===e.type})}),ne.setNodes(o,Object.assign(Object.assign({},a),{props:Object.assign(Object.assign({},null==a?void 0:a.props),{headerRow:!i})}),{at:[0],match:e=>m.isElement(e)&&"table"===e.type})})},toggleHeaderColumn:(e,r)=>{const o=t.getBlockSlate(e,{id:r});o&&A.withoutNormalizing(o,()=>{var t;const a=n.getElement(e,{blockId:r,type:"table",path:[0]}),i=(null===(t=null==a?void 0:a.props)||void 0===t?void 0:t.headerColumn)||!1,s=A.nodes(o,{at:[0],match:e=>m.isElement(e)&&"table-row"===e.type,mode:"all"});Array.from(s).forEach(([e,t])=>{var r;const n=e.children[0];ne.setNodes(o,Object.assign(Object.assign({},n),{props:Object.assign(Object.assign({},n.props),{asHeader:!(null===(r=n.props)||void 0===r?void 0:r.asHeader)})}),{at:t.concat(0),match:e=>m.isElement(e)&&"table-data-cell"===e.type})}),ne.setNodes(o,Object.assign(Object.assign({},a),{props:Object.assign(Object.assign({},null==a?void 0:a.props),{headerColumn:!i})}),{at:[0],match:e=>m.isElement(e)&&"table"===e.type})})},clearContents:(e,r,n)=>{((e,r,n)=>{const{cells:o}=n;if(!o||0===o.length)return void console.warn("No cells to clear");const a=t.getBlockSlate(e,{id:r});a&&A.withoutNormalizing(a,()=>{o.forEach(([e,t])=>{for(let r=e.children.length-1;r>=0;r--)ne.removeNodes(a,{at:[...t,r]});ne.insertNodes(a,{text:""},{at:[...t,0]})})})})(e,r,n)},mergeCells:(e,r,n)=>{((e,r,n)=>{const{cells:o}=n;if(!o||o.length<=1)return void console.warn("Need at least 2 cells to merge");const a=t.getBlockSlate(e,{id:r});if(!a)return;let i=1/0,s=-1/0,l=1/0,c=-1/0;const d=new Map;o.forEach(([e,t])=>{const{rowIndex:r,colIndex:n}=oe(t);i=Math.min(i,r),s=Math.max(s,r),l=Math.min(l,n),c=Math.max(c,n),d.set(`${r}-${n}`,[e,t])});const p=s-i+1,h=c-l+1,f=`${i}-${l}`,u=d.get(f);if(!u)return void console.warn("Anchor cell not found");const[g,v]=u,m=[];o.forEach(([e,t])=>{const{rowIndex:r,colIndex:n}=oe(t);r===i&&n===l||e.children&&e.children.length>0&&e.children.forEach(e=>{e.text&&e.text.trim()&&m.push(e)})}),A.withoutNormalizing(a,()=>{const e=[...g.children,...m.length>0?m:[]];if(ne.setNodes(a,{props:Object.assign(Object.assign({},g.props),{rowSpan:p,colSpan:h})},{at:v}),m.length>0){for(let e=g.children.length-1;e>=0;e--)ne.removeNodes(a,{at:[...v,e]});e.forEach((e,t)=>{ne.insertNodes(a,e,{at:[...v,t]})})}const t=[];for(let e=s;e>=i;e--)for(let r=c;r>=l;r--){if(e===i&&r===l)continue;const n=`${e}-${r}`,o=d.get(n);o&&t.push(o[1])}t.forEach(e=>{try{ne.removeNodes(a,{at:e})}catch(t){console.warn("Failed to remove cell at path:",e)}})})})(e,r,n)},setCellBackgroundColor:(e,r,n)=>{const{cells:o,color:a}=n;if(!o||0===o.length)return void console.warn("No cells to update");const i=t.getBlockSlate(e,{id:r});i&&A.withoutNormalizing(i,()=>{o.forEach(([e,t])=>{ne.setNodes(i,Object.assign(Object.assign({},e),{props:Object.assign(Object.assign({},e.props),{backgroundColor:"transparent"===a?void 0:a})}),{at:t,match:e=>m.isElement(e)&&"table-data-cell"===e.type})})})},setCellTextColor:(e,r,n)=>{const{cells:o,color:a}=n;if(console.log("setCellTextColor cells",o),!o||0===o.length)return void console.warn("No cells to update");const i=t.getBlockSlate(e,{id:r});i&&A.withoutNormalizing(i,()=>{o.forEach(([e,t])=>{ne.setNodes(i,Object.assign(Object.assign({},e),{props:Object.assign(Object.assign({},e.props),{color:"inherit"===a?void 0:a})}),{at:t,match:e=>m.isElement(e)&&"table-data-cell"===e.type})})})},setCellHorizontalAlign:(e,r,n)=>{const{cells:o,align:a}=n;if(!o||0===o.length)return void console.warn("No cells to update");const i=t.getBlockSlate(e,{id:r});i&&A.withoutNormalizing(i,()=>{o.forEach(([e,t])=>{ne.setNodes(i,Object.assign(Object.assign({},e),{props:Object.assign(Object.assign({},e.props),{align:a})}),{at:t,match:e=>m.isElement(e)&&"table-data-cell"===e.type})})})},setCellVerticalAlign:(e,r,n)=>{const{cells:o,align:a}=n;if(!o||0===o.length)return void console.warn("No cells to update");const i=t.getBlockSlate(e,{id:r});i&&A.withoutNormalizing(i,()=>{o.forEach(([e,t])=>{ne.setNodes(i,Object.assign(Object.assign({},e),{props:Object.assign(Object.assign({},e.props),{verticalAlign:a})}),{at:t,match:e=>m.isElement(e)&&"table-data-cell"===e.type})})})}},ie=new WeakMap,se=new WeakMap;function le(e){return{rowIndex:e[e.length-2],colIndex:e[e.length-1]}}function ce(e,t){try{const r=t.slice(0,-2),n=x.get(e,r);if(m.isElement(n)&&"table"===n.type)return[n,r]}catch(e){}return null}function de(e){const{apply:t}=e;return e.apply=r=>{if(!k.isSelectionOperation(r)||!r.newProperties)return se.delete(e),ie.delete(e),t(r);const n=Object.assign(Object.assign({},e.selection),r.newProperties);if(!g.isRange(n))return se.delete(e),ie.delete(e),t(r);const[o]=A.nodes(e,{match:e=>m.isElement(e)&&"table-data-cell"===e.type,at:g.start(n)}),[a]=A.nodes(e,{match:e=>m.isElement(e)&&"table-data-cell"===e.type,at:g.end(n)});if(!o||!a)return se.delete(e),ie.delete(e),t(r);const[,i]=o,[,s]=a;if(l.equals(i,s))return se.delete(e),ie.delete(e),t(r);const c=le(i),d=le(s),p=ce(e,i),h=ce(e,s);if(!p||!h)return se.delete(e),ie.delete(e),t(r);const[,f]=p,[,u]=h;if(!l.equals(f,u))return se.delete(e),ie.delete(e),t(r);const v=function(e,t,r,n,o,a){const i=[],s=Math.min(r,o),l=Math.max(r,o),c=Math.min(n,a),d=Math.max(n,a);for(let r=s;r<=l;r+=1){const n=[...t,r];try{const t=x.get(e,n);if(!m.isElement(t)||"table-row"!==t.type)continue;for(let t=c;t<=d;t+=1){const r=[...n,t];try{const t=x.get(e,r);m.isElement(t)&&"table-data-cell"===t.type&&i.push([t,r])}catch(e){continue}}}catch(e){continue}}return i}(e,f,c.rowIndex,c.colIndex,d.rowIndex,d.colIndex);if(0===v.length)return se.delete(e),ie.delete(e),t(r);const b=new WeakSet;v.forEach(([e])=>{b.add(e)}),ie.set(e,v),se.set(e,b),t(r)},e}const pe={asHeader:!1,verticalAlign:"top",align:"left",colSpan:1,rowSpan:1,backgroundColor:void 0,color:void 0},he={headerRow:!1,headerColumn:!1,columnWidths:[200,150,250]},fe=new s({type:"Table",elements:e("table",Object.assign({render:t=>e("table",Object.assign({},t.attributes,he,{children:e("tbody",Object.assign({},t.attributes,{children:t.children}))})),nodeType:"block"},{children:e("table-row",Object.assign({render:t=>e("tr",Object.assign({},t.attributes,{children:t.children})),nodeType:"block"},{children:e("table-data-cell",{render:t=>e("td",Object.assign({},t.attributes,{children:t.children})),props:pe,nodeType:"block"})}))})),events:{onKeyDown:function(e,t,{hotkeys:r,currentBlock:n}){return o=>{if(t.selection){if(r.isBackspace(o)){const e=l.parent(t.selection.anchor.path),r=A.isStart(t,t.selection.anchor,e),n=ie.get(t);if(n)return o.preventDefault(),void A.withoutNormalizing(t,()=>{for(const[,e]of n)for(const[r,n]of x.children(t,e))if(L.isText(r)){const e=x.string(r).length;e>0&&ne.delete(t,{at:{anchor:{path:n,offset:0},focus:{path:n,offset:e}}})}ne.select(t,{path:n[0][1].concat(0),offset:0})});if(r&&g.isCollapsed(t.selection))return void o.preventDefault()}if(r.isCmdShiftEnter(o))return o.preventDefault(),void ae.insertTableRow(e,n.id,{select:!0,insertMode:"before"});if(r.isShiftEnter(o))return o.preventDefault(),void ae.insertTableRow(e,n.id,{select:!0,insertMode:"after"});if(r.isCmdShiftRight(o))return o.preventDefault(),void ae.insertTableColumn(e,n.id,{select:!0,insertMode:"after"});if(r.isCmdShiftLeft(o))return o.preventDefault(),void ae.insertTableColumn(e,n.id,{select:!0,insertMode:"before"});if(r.isCmdShiftDelete(o))return o.preventDefault(),void ae.deleteTableRow(e,n.id);if(r.isCmdAltDelete(o))return o.preventDefault(),void ae.deleteTableColumn(e,n.id);if(r.isEnter(o))return o.preventDefault(),void ne.insertText(t,"\n");if(r.isSelect(o)){const r=A.above(t,{match:e=>m.isElement(e)&&"table-data-cell"===e.type});if(r){o.preventDefault();const[,a]=r,i=A.string(t,a);if(g.isExpanded(t.selection)||0===i.length)return e.blur(),void e.setPath({current:null,selected:[n.meta.order]});ne.select(t,a)}}(o.metaKey||o.ctrlKey)&&o.shiftKey&&"h"===o.key&&(o.preventDefault(),ae.toggleHeaderRow(e,n.id)),(o.metaKey||o.ctrlKey)&&o.shiftKey&&"v"===o.key&&(o.preventDefault(),ae.toggleHeaderColumn(e,n.id))}}},onBlur:(e,t)=>()=>{se.delete(t),ie.delete(t)}},lifecycle:{beforeCreate:e=>ae.buildTableElements(e,{rows:3,columns:3})},parsers:{html:{deserialize:{nodeNames:["TABLE"],parse:function(e,t){const n=e.querySelector("tbody"),o=e.querySelector("thead"),i={id:r(),type:"table",children:[],props:{headerRow:"true"===e.getAttribute("data-header-row"),headerColumn:"true"===e.getAttribute("data-header-column")}};if(!n&&!o)return;const s=null==o?void 0:o.querySelector("tr");if(s&&(i.props.headerRow=!0),s){const e={id:r(),type:"table-row",children:[]};Array.from(s.childNodes).forEach(n=>{if("TH"===n.nodeName){const o={id:r(),type:"table-data-cell",children:[{text:""}],props:{asHeader:!0,width:200}};n instanceof HTMLElement&&(null==n?void 0:n.hasAttribute("data-width"))&&(o.props.width=parseInt(n.getAttribute("data-width")||"200",10));const i=a(t,n.childNodes);o.children=i,e.children.push(o)}}),i.children.push(e)}return null==n||n.childNodes.forEach(e=>{const n=Array.from(e.childNodes).filter(e=>"TD"===e.nodeName||"TH"===e.nodeName);if(n.length>0){const e={id:r(),type:"table-row",children:[]};n.forEach(n=>{const o={id:r(),type:"table-data-cell",children:[{text:""}],props:{asHeader:!1,width:200}};if("TH"===n.nodeName&&(o.props.asHeader=!0),"TD"===n.nodeName&&(o.props.asHeader=!1),"TD"===n.nodeName||"TH"===n.nodeName){n instanceof HTMLElement&&(null==n?void 0:n.hasAttribute("data-width"))&&(o.props.width=parseInt(n.getAttribute("data-width")||"200",10));const r=a(t,n.childNodes);o.children=r,e.children.push(o)}}),i.children.push(e)}}),i}}},markdown:{serialize:function(e,t){let r="";return e.children.forEach((e,t)=>{const n=e.children.map(e=>` ${i(e.children)} `).join("|");if(r+=`|${n}|\n`,0===t){const t=e.children.map(()=>" --- ").join("|");r+=`|${t}|\n`}}),r}},email:{serialize:function(e,t,r){var n,a;const i=e.children[0].children,{align:s="left",depth:l=0}=r||{};return`\n <table style="margin-left: ${20*l}px; text-align: ${s};\n border-collapse: collapse;\n border-spacing: 0px 0px;\n caption-side: bottom;\n font-size: .875rem;\n line-height: 1.25rem;\n table-layout: fixed;\n user-select: none;\n width: auto;\n overflow-x: auto;\n overflow-y: hidden;\n padding-bottom: .5rem;\n padding-top: .5rem;\n position: relative;\n width: 100%;\n " data-meta-align="${s}" data-meta-depth="${l}" data-header-row="${null===(n=e.props)||void 0===n?void 0:n.headerRow}" data-header-column="${null===(a=e.props)||void 0===a?void 0:a.headerColumn}">\n <colgroup>\n ${i.map(e=>{var t,r;return`<col style="width: ${(null===(t=e.props)||void 0===t?void 0:t.width)?`${null===(r=e.props)||void 0===r?void 0:r.width}px`:"auto"}" />`}).join("")}\n </colgroup>\n <tbody>${e.children.map(e=>`<tr style="position: relative;">${e.children.map(e=>{var t,r,n;const a=o(e.children);return(null===(t=e.props)||void 0===t?void 0:t.asHeader)?`<th style="\n border-width: 1px;\n border: 1px solid #e9e9e7;\n color: inherit;\n min-height: 32px;\n position: relative;\n vertical-align: top;\n background-color: #f7f6f3;\n font-size: 14px;\n line-height: 20px;\n max-width: 100%;\n overflow-wrap: break-word;\n padding: 7px 9px;\n white-space: pre-wrap;\n width: 100%;" data-width="${(null===(r=e.props)||void 0===r?void 0:r.width)||200}" rowspan="1" colspan="1">${a}</th>`:`<td style="\n border-width: 1px;\n border: 1px solid #e9e9e7;\n color: inherit;\n min-height: 32px;\n position: relative;\n vertical-align: top;\n background-color: transparent;\n font-size: 14px;\n line-height: 20px;\n max-width: 100%;\n overflow-wrap: break-word;\n padding: 7px 9px;\n white-space: pre-wrap;\n width: 100%;" data-width="${(null===(n=e.props)||void 0===n?void 0:n.width)||200}" rowspan="1" colspan="1">${a}</td>`}).join("")}</tr>`).join("")}</tbody></table>`}}},extensions:function(e,t){return e=function(e){const{deleteBackward:t}=e;return e.deleteBackward=r=>{const{selection:n}=e;if(!n||g.isExpanded(n))return t(r);const[o]=A.nodes(e,{match:e=>m.isElement(e)&&"table-data-cell"===e.type,at:n}),a=A.before(e,n,{unit:r}),[i]=a?A.nodes(e,{match:e=>m.isElement(e)&&"table-data-cell"===e.type,at:a}):[void 0];if(!o&&!i)return t(r);if(!o&&i&&a)return ne.select(e,a);const[,s]=o,l=A.start(e,s);_.equals(n.anchor,l)||t(r)},e}(e=function(e){const{normalizeNode:t}=e;return e.normalizeNode=(n,o)=>{const[a,i]=n;if(m.isElement(a)&&"table-data-cell"===a.type)for(const[t,r]of x.children(e,i)){if(m.isElement(t)&&"table"===t.type)return void ne.unwrapNodes(e,{at:r});if(m.isElement(t)&&"table-row"===t.type)return void ne.unwrapNodes(e,{at:r});if(m.isElement(t)&&"table-data-cell"===t.type)return void ne.unwrapNodes(e,{at:r})}if(m.isElement(a)&&"table-row"===a.type)for(const[t,n]of x.children(e,i))if(!m.isElement(t)||"table-data-cell"!==t.type)return ne.wrapNodes(e,{id:r(),type:"table-data-cell",children:[t]},{at:n});t(n,o)},e}(e=de(e)))},options:{display:{title:"Table",description:"Add simple table"},shortcuts:["table","||","3x3"]},commands:ae});export{ie as TABLE_CELLS_IN_SELECTION,se as TABLE_SLATE_TO_SELECTION_SET,ae as TableCommands,fe as default};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yoopta/table",
|
|
3
|
-
"version": "6.0.0-beta.
|
|
3
|
+
"version": "6.0.0-beta.4",
|
|
4
4
|
"description": "Table plugin for Yoopta Editor [IN PROGRESS]",
|
|
5
5
|
"author": "Darginec05 <devopsbanda@gmail.com>",
|
|
6
6
|
"homepage": "https://github.com/Darginec05/Yoopta-Editor#readme",
|
|
@@ -35,5 +35,5 @@
|
|
|
35
35
|
"bugs": {
|
|
36
36
|
"url": "https://github.com/Darginec05/Yoopta-Editor/issues"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "7259edee990882228148adcca6a6adafa1aa8b03"
|
|
39
39
|
}
|