@yoopta/tabs 6.0.0-beta.7 → 6.0.0-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{Blocks as r,generateId as n,YooptaPlugin as o}from"@yoopta/editor";var i={ancestors(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,n=i.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],s=t[r];return i.equals(n,o)&&a>s},endsAt(e,t){var r=e.length,n=e.slice(0,r),o=t.slice(0,r);return i.equals(n,o)},endsBefore(e,t){var r=e.length-1,n=e.slice(0,r),o=t.slice(0,r),a=e[r],s=t[r];return i.equals(n,o)&&a<s},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===i.compare(e,t),isAncestor:(e,t)=>e.length<t.length&&0===i.compare(e,t),isBefore:(e,t)=>-1===i.compare(e,t),isChild:(e,t)=>e.length===t.length+1&&0===i.compare(e,t),isCommon:(e,t)=>e.length<=t.length&&0===i.compare(e,t),isDescendant:(e,t)=>e.length>t.length&&0===i.compare(e,t),isParent:(e,t)=>e.length+1===t.length&&0===i.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]&&i.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(!i.isAncestor(t,e)&&!i.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;(i.equals(a,n)||i.endsBefore(a,n)||i.isAncestor(a,n))&&(n[a.length-1]+=1);break;case"remove_node":var{path:s}=t;if(i.equals(s,n)||i.isAncestor(s,n))return null;i.endsBefore(s,n)&&(n[s.length-1]-=1);break;case"merge_node":var{path:c,position:l}=t;i.equals(c,n)||i.endsBefore(c,n)?n[c.length-1]-=1:i.isAncestor(c,n)&&(n[c.length-1]-=1,n[c.length]+=l);break;case"split_node":var{path:f,position:p}=t;if(i.equals(f,n)){if("forward"===o)n[n.length-1]+=1;else if("backward"!==o)return null}else i.endsBefore(f,n)?n[f.length-1]+=1:i.isAncestor(f,n)&&e[f.length]>=p&&(n[f.length-1]+=1,n[f.length]-=p);break;case"move_node":var{path:d,newPath:h}=t;if(i.equals(d,h))return n;if(i.isAncestor(d,n)||i.equals(d,n)){var u=h.slice();return i.endsBefore(d,h)&&d.length<h.length&&(u[d.length-1]-=1),u.concat(n.slice(d.length))}i.isSibling(d,h)&&(i.isAncestor(h,n)||i.equals(h,n))?i.endsBefore(d,n)?n[d.length-1]-=1:n[d.length-1]+=1:i.endsBefore(h,n)||i.equals(h,n)||i.isAncestor(h,n)?(i.endsBefore(d,n)&&(n[d.length-1]-=1),n[h.length-1]+=1):i.endsBefore(d,n)&&(i.equals(h,n)&&(n[h.length-1]+=1),n[d.length-1]-=1)}return n}};function a(e){return a="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},a(e)}function s(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}function c(e,t,r){return(t=s(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var f=["anchor","focus"];function p(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 d={edges(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,{anchor:n,focus:o}=e;return d.isBackward(e)===r?[n,o]:[o,n]},end(e){var[,t]=d.edges(e);return t},equals:(e,t)=>A.equals(e.anchor,t.anchor)&&A.equals(e.focus,t.focus),surrounds(e,t){var r=d.intersection(e,t);return!!r&&d.equals(r,t)},includes(e,t){if(d.isRange(t)){if(d.includes(e,t.anchor)||d.includes(e,t.focus))return!0;var[r,n]=d.edges(e),[o,a]=d.edges(t);return A.isBefore(r,o)&&A.isAfter(n,a)}var[s,c]=d.edges(e),l=!1,f=!1;return A.isPoint(t)?(l=A.compare(t,s)>=0,f=A.compare(t,c)<=0):(l=i.compare(t,s.path)>=0,f=i.compare(t,c.path)<=0),l&&f},intersection(e,t){var r=l(e,f),[n,o]=d.edges(e),[i,a]=d.edges(t),s=A.isBefore(n,i)?i:n,h=A.isBefore(o,a)?o:a;return A.isBefore(h,s)?null:function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(Object(r),!0).forEach(function(t){c(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({anchor:s,focus:h},r)},isBackward(e){var{anchor:t,focus:r}=e;return A.isAfter(t,r)},isCollapsed(e){var{anchor:t,focus:r}=e;return A.equals(t,r)},isExpanded:e=>!d.isCollapsed(e),isForward:e=>!d.isBackward(e),isRange:e=>j(e)&&A.isPoint(e.anchor)&&A.isPoint(e.focus),*points(e){yield[e.anchor,"anchor"],yield[e.focus,"focus"]},start(e){var[t]=d.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:i="inward"}=r;if("inward"===i){var a=d.isCollapsed(e);d.isForward(e)?(n="forward",o=a?n:"backward"):(n="backward",o=a?n:"forward")}else"outward"===i?d.isForward(e)?(n="backward",o="forward"):(n="forward",o="backward"):(n=i,o=i);var s=A.transform(e.anchor,t,{affinity:n}),c=A.transform(e.focus,t,{affinity:o});return s&&c?{anchor:s,focus:c}:null}},h=function(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return!!j(e)&&("function"!=typeof e.apply&&(t?m.isNodeList(e.children):Array.isArray(e.children)))},u={isAncestor(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return j(e)&&m.isNodeList(e.children,{deep:t})},isElement:h,isElementList(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Array.isArray(e)&&e.every(e=>u.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 h(e)&&e[r]===t},matches(e,t){for(var r in t)if("children"!==r&&e[r]!==t[r])return!1;return!0}},v=["children"],g=["text"];function y(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?y(Object(r),!0).forEach(function(t){c(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var m={ancestor(e,t){var r=m.get(e,t);if(I.isText(r))throw new Error("Cannot get the ancestor node at path [".concat(t,"] because it refers to a text node instead: ").concat(D.stringify(r)));return r},ancestors(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var n of i.ancestors(t,r)){var o=[m.ancestor(e,n),n];yield o}}()},child(e,t){if(I.isText(e))throw new Error("Cannot get the child of a text node: ".concat(D.stringify(e)));var r=e.children[t];if(null==r)throw new Error("Cannot get child at index `".concat(t,"` in node: ").concat(D.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=m.ancestor(e,t),{children:i}=o,a=n?i.length-1:0;n?a>=0:a<i.length;){var s=m.child(o,a),c=t.concat(a);yield[s,c],a=n?a-1:a+1}}()},common(e,t,r){var n=i.common(t,r);return[m.get(e,n),n]},descendant(e,t){var r=m.get(e,t);if(T.isEditor(r))throw new Error("Cannot get the descendant node at path [".concat(t,"] because it refers to the root editor node instead: ").concat(D.stringify(r)));return r},descendants(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of m.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 m.nodes(e,t))u.isElement(r)&&(yield[r,n])}()},extractProps:e=>u.isAncestor(e)?l(e,v):l(e,g),first(e,t){for(var r=t.slice(),n=m.get(e,r);n&&!I.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]=d.edges(t),a=m.nodes(r,{reverse:!0,pass:e=>{var[,r]=e;return!d.includes(t,r)}}),s=function(){if(!d.includes(t,c)){var e=c[c.length-1];J(r,i.parent(c),t=>M(t,e,1))}i.equals(c,o.path)&&Z(r,c,e=>{var t=e.text.slice(0,o.offset);return b(b({},e),{},{text:t})}),i.equals(c,n.path)&&Z(r,c,e=>{var t=e.text.slice(n.offset);return b(b({},e),{},{text:t})})};for(var[,c]of a)s();return r.children},get(e,t){var r=m.getIf(e,t);if(void 0===r)throw new Error("Cannot find a descendant at path [".concat(t,"] in node: ").concat(D.stringify(e)));return r},getIf(e,t){for(var r=e,n=0;n<t.length;n++){var o=t[n];if(I.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(I.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 I.isText(e)||u.isElement(e,{deep:t})||T.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=>m.isNode(e,{deep:t}))},last(e,t){for(var r=t.slice(),n=m.get(e,r);n&&!I.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=m.get(e,t);if(!I.isText(r))throw new Error("Cannot get the leaf node at path [".concat(t,"] because it refers to a non-leaf node: ").concat(D.stringify(r)));return r},levels(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var n of i.levels(t,r)){var o=m.get(e,n);yield[o,n]}}()},matches:(e,t)=>u.isElement(e)&&u.isElementProps(t)&&u.matches(e,t)||I.isText(e)&&I.isTextProps(t)&&I.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,s=new Set,c=[],l=e;!a||!(n?i.isBefore(c,a):i.isAfter(c,a));)if(s.has(l)||(yield[l,c]),s.has(l)||I.isText(l)||0===l.children.length||null!=r&&!1!==r([l,c])){if(0===c.length)break;if(!n){var f=i.next(c);if(m.has(e,f)){c=f,l=m.get(e,c);continue}}if(n&&0!==c[c.length-1])c=i.previous(c),l=m.get(e,c);else c=i.parent(c),l=m.get(e,c),s.add(l)}else{s.add(l);var p=n?l.children.length-1:0;i.isAncestor(c,o)&&(p=o[c.length]),c=c.concat(p),l=m.get(e,c)}}()},parent(e,t){var r=i.parent(t),n=m.get(e,r);if(I.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=>I.isText(e)?e.text:e.children.map(m.string).join(""),texts(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of m.nodes(e,t))I.isText(r)&&(yield[r,n])}()}};function O(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 w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?O(Object(r),!0).forEach(function(t){c(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):O(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var P,x={isNodeOperation:e=>x.isOperation(e)&&e.type.endsWith("_node"),isOperation(e){if(!j(e))return!1;switch(e.type){case"insert_node":case"remove_node":return i.isPath(e.path)&&m.isNode(e.node);case"insert_text":case"remove_text":return"number"==typeof e.offset&&"string"==typeof e.text&&i.isPath(e.path);case"merge_node":return"number"==typeof e.position&&i.isPath(e.path)&&j(e.properties);case"move_node":return i.isPath(e.path)&&i.isPath(e.newPath);case"set_node":return i.isPath(e.path)&&j(e.properties)&&j(e.newProperties);case"set_selection":return null===e.properties&&d.isRange(e.newProperties)||null===e.newProperties&&d.isRange(e.properties)||j(e.properties)&&j(e.newProperties);case"split_node":return i.isPath(e.path)&&"number"==typeof e.position&&j(e.properties);default:return!1}},isOperationList:e=>Array.isArray(e)&&e.every(e=>x.isOperation(e)),isSelectionOperation:e=>x.isOperation(e)&&e.type.endsWith("_selection"),isTextOperation:e=>x.isOperation(e)&&e.type.endsWith("_text"),inverse(e){switch(e.type){case"insert_node":return w(w({},e),{},{type:"remove_node"});case"insert_text":return w(w({},e),{},{type:"remove_text"});case"merge_node":return w(w({},e),{},{type:"split_node",path:i.previous(e.path)});case"move_node":var{newPath:t,path:r}=e;if(i.equals(t,r))return e;if(i.isSibling(r,t))return w(w({},e),{},{path:t,newPath:r});var n=i.transform(r,e),o=i.transform(i.next(r),e);return w(w({},e),{},{path:n,newPath:o});case"remove_node":return w(w({},e),{},{type:"insert_node"});case"remove_text":return w(w({},e),{},{type:"insert_text"});case"set_node":var{properties:a,newProperties:s}=e;return w(w({},e),{},{properties:s,newProperties:a});case"set_selection":var{properties:c,newProperties:l}=e;return w(w({},e),{},null==c?{properties:l,newProperties:null}:null==l?{properties:null,newProperties:c}:{properties:l,newProperties:c});case"split_node":return w(w({},e),{},{type:"merge_node",path:i.next(e.path)})}}},j=e=>"object"==typeof e&&null!==e,E=(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 i=0;i<n.length;i++)if(n[i]!==o[i])return!1}else if(j(n)&&j(o)){if(!E(n,o))return!1}else if(n!==o)return!1}for(var a in t)if(void 0===e[a]&&void 0!==t[a])return!1;return!0},k=e=>e.selection?e.selection:e.children.length>0?T.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 T={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(!j(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||j(e.marks))&&(null===e.selection||d.isRange(e.selection))&&(!t||m.isNodeList(e.children))&&x.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 _(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 N(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?_(Object(r),!0).forEach(function(t){c(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 A={compare(e,t){var r=i.compare(e.path,t.path);return 0===r?e.offset<t.offset?-1:e.offset>t.offset?1:0:r},isAfter:(e,t)=>1===A.compare(e,t),isBefore:(e,t)=>-1===A.compare(e,t),equals:(e,t)=>e.offset===t.offset&&i.equals(e.path,t.path),isPoint:e=>j(e)&&"number"==typeof e.offset&&i.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=i.transform(o,t,r);break;case"insert_text":i.equals(t.path,o)&&(t.offset<a||t.offset===a&&"forward"===n)&&(a+=t.text.length);break;case"merge_node":i.equals(t.path,o)&&(a+=t.position),o=i.transform(o,t,r);break;case"remove_text":i.equals(t.path,o)&&t.offset<=a&&(a-=Math.min(a-t.offset,t.text.length));break;case"remove_node":if(i.equals(t.path,o)||i.isAncestor(t.path,o))return null;o=i.transform(o,t,r);break;case"split_node":if(i.equals(t.path,o)){if(t.position===a&&null==n)return null;(t.position<a||t.position===a&&"forward"===n)&&(a-=t.position,o=i.transform(o,t,N(N({},r),{},{affinity:"forward"})))}else o=i.transform(o,t,r);break;default:return e}return{path:o,offset:a}}},S=void 0,D={setScrubber(e){S=e},stringify:e=>JSON.stringify(e,S)},B=["text"],q=["anchor","focus","merge"];function R(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 C(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?R(Object(r),!0).forEach(function(t){c(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):R(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var I={equals(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{loose:n=!1}=r;function o(e){return l(e,B)}return E(n?o(e):e,n?o(t):t)},isText:e=>j(e)&&"string"==typeof e.text,isTextList:e=>Array.isArray(e)&&e.every(e=>I.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:C({},e)}];for(var n of t){var{anchor:o,focus:i,merge:a}=n,s=l(n,q),[c,f]=d.edges(n),p=[],h=0,u=c.offset,v=f.offset,g=null!=a?a:Object.assign;for(var{leaf:y}of r){var{length:b}=y.text,m=h;if(h+=b,u<=m&&h<=v)g(y,s),p.push({leaf:y});else if(u!==v&&(u===h||v===m)||u>h||v<m||v===m&&0!==m)p.push({leaf:y});else{var O=y,w=void 0,P=void 0;if(v<h){var x=v-m;P={leaf:C(C({},O),{},{text:O.text.slice(x)})},O=C(C({},O),{},{text:O.text.slice(0,x)})}if(u>m){var j=u-m;w={leaf:C(C({},O),{},{text:O.text.slice(0,j)})},O=C(C({},O),{},{text:O.text.slice(j)})}g(O,s),w&&p.push(w),p.push({leaf:O}),P&&p.push(P)}}r=p}if(r.length>1){var E=0;for(var[k,T]of r.entries()){var _=E,N=_+T.leaf.text.length,A={start:_,end:N};0===k&&(A.isFirst=!0),k===r.length-1&&(A.isLast=!0),T.position=A,E=N}}return r}};function L(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 V(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?L(Object(r),!0).forEach(function(t){c(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):L(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var z=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),i=3;i<n;i++)o[i-3]=arguments[i];return[...e.slice(0,t),...o,...e.slice(t+r)]},M=F,W=(e,t,r)=>{if(0===t.length)throw new Error("Cannot modify the editor");for(var n=m.get(e,t),o=t.slice(),i=r(n);o.length>1;){var a=o.pop(),s=m.get(e,o);i=V(V({},s),{},{children:F(s.children,a,1,i)})}var c=o.pop();e.children=F(e.children,c,1,i)},J=(e,t,r)=>{0===t.length?e.children=r(e.children):W(e,t,e=>{if(I.isText(e))throw new Error("Cannot get the element at path [".concat(t,"] because it refers to a leaf node: ").concat(D.stringify(e)));return V(V({},e),{},{children:r(e.children)})})},Z=(e,t,r)=>W(e,t,e=>{if(!I.isText(e))throw new Error("Cannot get the leaf node at path [".concat(t,"] because it refers to a non-leaf node: ").concat(D.stringify(e)));return r(e)});function K(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 G(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?K(Object(r),!0).forEach(function(t){c(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):K(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var H={transform(e,t){var r=!1;switch(t.type){case"insert_node":var{path:n,node:o}=t;J(e,i.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 z(e,t,o)}),r=!0;break;case"insert_text":var{path:a,offset:s,text:c}=t;if(0===c.length)break;Z(e,a,e=>{var t=e.text.slice(0,s),r=e.text.slice(s);return G(G({},e),{},{text:t+c+r})}),r=!0;break;case"merge_node":var{path:l}=t,f=l[l.length-1],p=i.previous(l),h=p[p.length-1];J(e,i.parent(l),e=>{var t,r=e[f],n=e[h];if(I.isText(r)&&I.isText(n))t=G(G({},n),{},{text:n.text+r.text});else{if(I.isText(r)||I.isText(n))throw new Error('Cannot apply a "merge_node" operation at path ['.concat(l,"] to nodes of different interfaces: ").concat(D.stringify(r)," ").concat(D.stringify(n)));t=G(G({},n),{},{children:n.children.concat(r.children)})}return F(e,h,2,t)}),r=!0;break;case"move_node":var{path:u,newPath:v}=t,g=u[u.length-1];if(i.isAncestor(u,v))throw new Error("Cannot move a path [".concat(u,"] to new path [").concat(v,"] because the destination is inside itself."));var y=m.get(e,u);J(e,i.parent(u),e=>M(e,g,1));var b=i.transform(u,t),O=b[b.length-1];J(e,i.parent(b),e=>z(e,O,y)),r=!0;break;case"remove_node":var{path:w}=t,P=w[w.length-1];if(J(e,i.parent(w),e=>M(e,P,1)),e.selection){var x=G({},e.selection);for(var[j,E]of d.points(x)){var k=A.transform(j,t);if(null!=x&&null!=k)x[E]=k;else{var T=void 0,_=void 0;for(var[N,S]of m.texts(e)){if(-1!==i.compare(S,w)){_=[N,S];break}T=[N,S]}var B=!1;T&&_&&(B=!i.isSibling(T[1],w)&&(!!i.equals(_[1],w)||i.common(T[1],w).length<i.common(_[1],w).length)),T&&!B?x[E]={path:T[1],offset:T[0].text.length}:_?x[E]={path:_[1],offset:0}:x=null}}x&&d.equals(x,e.selection)||(e.selection=x)}break;case"remove_text":var{path:q,offset:R,text:C}=t;if(0===C.length)break;Z(e,q,e=>{var t=e.text.slice(0,R),r=e.text.slice(R+C.length);return G(G({},e),{},{text:t+r})}),r=!0;break;case"set_node":var{path:L,properties:V,newProperties:K}=t;if(0===L.length)throw new Error("Cannot set properties on the root node!");W(e,L,e=>{var t=G({},e);for(var r in K){if("children"===r||"text"===r)throw new Error('Cannot set the "'.concat(r,'" property of nodes!'));var n=K[r];null==n?delete t[r]:t[r]=n}for(var o in V)K.hasOwnProperty(o)||delete t[o];return t});break;case"set_selection":var{newProperties:H}=t;if(null==H){e.selection=null;break}if(null==e.selection){if(!d.isRange(H))throw new Error('Cannot apply an incomplete "set_selection" operation properties '.concat(D.stringify(H)," when there is no current selection."));e.selection=G({},H);break}var Q=G({},e.selection);for(var U in H){var X=H[U];if(null==X){if("anchor"===U||"focus"===U)throw new Error('Cannot remove the "'.concat(U,'" selection property'));delete Q[U]}else Q[U]=X}e.selection=Q;break;case"split_node":var{path:Y,position:$,properties:ee}=t,te=Y[Y.length-1];if(0===Y.length)throw new Error('Cannot apply a "split_node" operation at path ['.concat(Y,"] because the root node cannot be split."));J(e,i.parent(Y),e=>{var t,r,n=e[te];if(I.isText(n)){var o=n.text.slice(0,$),i=n.text.slice($);t=G(G({},n),{},{text:o}),r=G(G({},ee),{},{text:i})}else{var a=n.children.slice(0,$),s=n.children.slice($);t=G(G({},n),{},{children:a}),r=G(G({},ee),{},{children:s})}return F(e,te,1,t,r)}),r=!0}if(r&&e.selection){var re=G({},e.selection);for(var[ne,oe]of d.points(re))re[oe]=A.transform(ne,t);d.equals(re,e.selection)||(e.selection=re)}}},Q={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)}},U={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)}},X={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]:{};T.withoutNormalizing(e,()=>{var{voids:n=!1}=r,{at:o=k(e)}=r;if(i.isPath(o)&&(o=T.range(e,o)),d.isRange(o))if(d.isCollapsed(o))o=o.anchor;else{var a=d.end(o);if(!n&&T.void(e,{at:a}))return;var s=d.start(o),c=T.pointRef(e,s),l=T.pointRef(e,a);ee.delete(e,{at:o,voids:n});var f=c.unref(),p=l.unref();o=f||p,ee.setSelection(e,{anchor:o,focus:o})}if(!(!n&&T.void(e,{at:o})||T.elementReadOnly(e,{at:o}))){var{path:h,offset:u}=o;t.length>0&&e.apply({type:"insert_text",path:h,offset:u,text:t})}})}};function Y(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?Y(Object(r),!0).forEach(function(t){c(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Y(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ee=$($($($({},H),Q),U),X);const te={addTabItem(e,t,o){const a=r.getBlockSlate(e,{id:t});if(!a)return;const s=T.nodes(a,{at:[0],match:e=>u.isElement(e)&&"tabs-container"===e.type}),c=Array.from(s)[0];if(!c)return;const[,l]=c,f=T.nodes(a,{at:l,match:e=>u.isElement(e)&&"tabs-list"===e.type}),p=Array.from(f)[0];if(!p)return;const[,d]=p,h=T.nodes(a,{at:d,match:e=>u.isElement(e)&&"tabs-item-heading"===e.type}),v=Array.from(h);let g;if((null==o?void 0:o.at)&&i.isPath(o.at))g=i.next(o.at);else if(null==o?void 0:o.afterTabId){const e=v.find(([e])=>e.id===o.afterTabId);if(e){const[,t]=e;g=i.next(t)}else g=[...d,v.length]}else if(a.selection){const e=a.selection.anchor.path;let t;const r=T.above(a,{at:e,match:e=>u.isElement(e)&&"tabs-item-heading"===e.type});if(r){const[,e]=r;t=e}else for(const[,r]of v)if(i.isDescendant(e,r)||i.equals(e,r)){t=r;break}g=t?i.next(t):[...d,v.length]}else g=[...d,v.length];const y=T.nodes(a,{at:l,match:e=>u.isElement(e)&&"tabs-item-content"===e.type}),b=Array.from(y),m=[...l,b.length+1],O=n(),w=e.y("tabs-item-heading",{id:O,children:[e.y.text("New Tab")]}),P=e.y("tabs-item-content",{props:{referenceId:O},children:[e.y.text("")]});T.withoutNormalizing(a,()=>{ee.insertNodes(a,w,{at:g}),ee.insertNodes(a,P,{at:m}),ee.setNodes(a,{props:Object.assign(Object.assign({},c[0].props),{activeTabId:O})},{at:l});const e=[...g,0];setTimeout(()=>{ee.select(a,{offset:0,path:e})},0)})},deleteTabItem(e,t,n){const o=r.getBlockSlate(e,{id:t});if(!o)return;const i=T.nodes(o,{at:[0],match:e=>u.isElement(e)&&"tabs-container"===e.type}),a=Array.from(i)[0];if(!a)return;const[,s]=a,c=Array.from(T.nodes(o,{at:[0],match:e=>u.isElement(e)&&"tabs-item-heading"===e.type}));T.withoutNormalizing(o,()=>{if(1===c.length)return void r.deleteBlock(e,{blockId:t});const i=T.nodes(o,{at:s,match:e=>{var t;return u.isElement(e)&&"tabs-item-content"===e.type&&(null===(t=e.props)||void 0===t?void 0:t.referenceId)===n.tabId}}),a=Array.from(i)[0];if(a){const[,e]=a;ee.removeNodes(o,{at:e})}const l=T.nodes(o,{at:[0],match:e=>u.isElement(e)&&"tabs-item-heading"===e.type&&e.id===n.tabId}),f=Array.from(l)[0];if(f){const[,e]=f;ee.removeNodes(o,{at:e})}})}};const re=new o({type:"Tabs",elements:e("tabs-container",Object.assign({render:({attributes:e,children:r})=>t("div",Object.assign({},e,{children:r})),props:{activeTabId:null}},{children:[t("tabs-list",Object.assign({render:({attributes:e,children:r})=>t("div",Object.assign({},e,{children:r}))},{children:t("tabs-item-heading",{render:({attributes:e,children:r})=>t("div",Object.assign({},e,{children:r}))})})),t("tabs-item-content",{render:({attributes:e,children:r})=>t("div",Object.assign({},e,{children:r})),props:{referenceId:null}})]})),commands:te,options:{display:{title:"Tabs",description:"Toggle content in tabs"}},lifecycle:{beforeCreate:e=>{const t=n();return e.y("tabs-container",{props:{activeTabId:t},children:[e.y("tabs-list",{children:[e.y("tabs-item-heading",{id:t,children:[e.y.text("Tab 1")]})]}),e.y("tabs-item-content",{props:{referenceId:t},children:[e.y.text("Tab 1 content")]})]})}},extensions:function(e,t){return e=function(e){const{normalizeNode:t}=e;return e.normalizeNode=(e,r)=>{t(e,r)},e}(e)},events:{onKeyDown:(e,t,r)=>n=>{if(r.hotkeys.isEnter(n)){if(!t.selection)return;n.preventDefault();const o=T.above(t,{at:t.selection,match:e=>u.isElement(e)});if(!o)return;const[i]=o;if("tabs-item-content"===i.type)return n.preventDefault(),void ee.insertText(t,"\n");if("tabs-item-heading"===i.type)return n.preventDefault(),void te.addTabItem(e,r.currentBlock.id,{at:t.selection});ee.insertText(t,"\n")}if(r.hotkeys.isBackspace(n)){if(!t.selection)return;const e=T.above(t,{at:t.selection,match:e=>u.isElement(e)});if(!e)return;const[r,o]=e,i=T.isStart(t,t.selection.anchor,o),a=d.isCollapsed(t.selection);i&&a&&("tabs-item-content"===r.type||"tabs-item-heading"===r.type)&&n.preventDefault()}if(r.hotkeys.isSelect(n)){if(!t.selection)return void n.preventDefault();const e=T.above(t,{at:t.selection,match:e=>u.isElement(e)});if(!e)return void n.preventDefault();const[r,o]=e;if("tabs-item-content"===r.type||"tabs-item-heading"===r.type)return n.preventDefault(),void ee.select(t,o);n.preventDefault()}}}});export{te as TabsCommands,re as default};
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{Blocks as r,generateId as n,YooptaPlugin as o,serializeTextNodes as i,serializeTextNodesIntoMarkdown as a}from"@yoopta/editor";var s={ancestors(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,n=s.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),i=e[r],a=t[r];return s.equals(n,o)&&i>a},endsAt(e,t){var r=e.length,n=e.slice(0,r),o=t.slice(0,r);return s.equals(n,o)},endsBefore(e,t){var r=e.length-1,n=e.slice(0,r),o=t.slice(0,r),i=e[r],a=t[r];return s.equals(n,o)&&i<a},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===s.compare(e,t),isAncestor:(e,t)=>e.length<t.length&&0===s.compare(e,t),isBefore:(e,t)=>-1===s.compare(e,t),isChild:(e,t)=>e.length===t.length+1&&0===s.compare(e,t),isCommon:(e,t)=>e.length<=t.length&&0===s.compare(e,t),isDescendant:(e,t)=>e.length>t.length&&0===s.compare(e,t),isParent:(e,t)=>e.length+1===t.length&&0===s.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]&&s.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(!s.isAncestor(t,e)&&!s.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:i}=t;(s.equals(i,n)||s.endsBefore(i,n)||s.isAncestor(i,n))&&(n[i.length-1]+=1);break;case"remove_node":var{path:a}=t;if(s.equals(a,n)||s.isAncestor(a,n))return null;s.endsBefore(a,n)&&(n[a.length-1]-=1);break;case"merge_node":var{path:c,position:l}=t;s.equals(c,n)||s.endsBefore(c,n)?n[c.length-1]-=1:s.isAncestor(c,n)&&(n[c.length-1]-=1,n[c.length]+=l);break;case"split_node":var{path:f,position:d}=t;if(s.equals(f,n)){if("forward"===o)n[n.length-1]+=1;else if("backward"!==o)return null}else s.endsBefore(f,n)?n[f.length-1]+=1:s.isAncestor(f,n)&&e[f.length]>=d&&(n[f.length-1]+=1,n[f.length]-=d);break;case"move_node":var{path:p,newPath:u}=t;if(s.equals(p,u))return n;if(s.isAncestor(p,n)||s.equals(p,n)){var h=u.slice();return s.endsBefore(p,u)&&p.length<u.length&&(h[p.length-1]-=1),h.concat(n.slice(p.length))}s.isSibling(p,u)&&(s.isAncestor(u,n)||s.equals(u,n))?s.endsBefore(p,n)?n[p.length-1]-=1:n[p.length-1]+=1:s.endsBefore(u,n)||s.equals(u,n)||s.isAncestor(u,n)?(s.endsBefore(p,n)&&(n[p.length-1]-=1),n[u.length-1]+=1):s.endsBefore(p,n)&&(s.equals(u,n)&&(n[u.length-1]+=1),n[p.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 l(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 f(e,t,r){return(t=l(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=["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 h={edges(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{reverse:r=!1}=t,{anchor:n,focus:o}=e;return h.isBackward(e)===r?[n,o]:[o,n]},end(e){var[,t]=h.edges(e);return t},equals:(e,t)=>D.equals(e.anchor,t.anchor)&&D.equals(e.focus,t.focus),surrounds(e,t){var r=h.intersection(e,t);return!!r&&h.equals(r,t)},includes(e,t){if(h.isRange(t)){if(h.includes(e,t.anchor)||h.includes(e,t.focus))return!0;var[r,n]=h.edges(e),[o,i]=h.edges(t);return D.isBefore(r,o)&&D.isAfter(n,i)}var[a,c]=h.edges(e),l=!1,f=!1;return D.isPoint(t)?(l=D.compare(t,a)>=0,f=D.compare(t,c)<=0):(l=s.compare(t,a.path)>=0,f=s.compare(t,c.path)<=0),l&&f},intersection(e,t){var r=d(e,p),[n,o]=h.edges(e),[i,a]=h.edges(t),s=D.isBefore(n,i)?i:n,c=D.isBefore(o,a)?o:a;return D.isBefore(c,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){f(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:c},r)},isBackward(e){var{anchor:t,focus:r}=e;return D.isAfter(t,r)},isCollapsed(e){var{anchor:t,focus:r}=e;return D.equals(t,r)},isExpanded:e=>!h.isCollapsed(e),isForward:e=>!h.isBackward(e),isRange:e=>k(e)&&D.isPoint(e.anchor)&&D.isPoint(e.focus),*points(e){yield[e.anchor,"anchor"],yield[e.focus,"focus"]},start(e){var[t]=h.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:i="inward"}=r;if("inward"===i){var a=h.isCollapsed(e);h.isForward(e)?(n="forward",o=a?n:"backward"):(n="backward",o=a?n:"forward")}else"outward"===i?h.isForward(e)?(n="backward",o="forward"):(n="forward",o="backward"):(n=i,o=i);var s=D.transform(e.anchor,t,{affinity:n}),c=D.transform(e.focus,t,{affinity:o});return s&&c?{anchor:s,focus:c}:null}},v=function(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return!!k(e)&&("function"!=typeof e.apply&&(t?O.isNodeList(e.children):Array.isArray(e.children)))},g={isAncestor(e){var{deep:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return k(e)&&O.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=>g.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 m(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 w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?m(Object(r),!0).forEach(function(t){f(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):m(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var O={ancestor(e,t){var r=O.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(B.stringify(r)));return r},ancestors(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var n of s.ancestors(t,r)){var o=[O.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(B.stringify(e)));var r=e.children[t];if(null==r)throw new Error("Cannot get child at index `".concat(t,"` in node: ").concat(B.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=O.ancestor(e,t),{children:i}=o,a=n?i.length-1:0;n?a>=0:a<i.length;){var s=O.child(o,a),c=t.concat(a);yield[s,c],a=n?a-1:a+1}}()},common(e,t,r){var n=s.common(t,r);return[O.get(e,n),n]},descendant(e,t){var r=O.get(e,t);if(_.isEditor(r))throw new Error("Cannot get the descendant node at path [".concat(t,"] because it refers to the root editor node instead: ").concat(B.stringify(r)));return r},descendants(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of O.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 O.nodes(e,t))g.isElement(r)&&(yield[r,n])}()},extractProps:e=>g.isAncestor(e)?d(e,b):d(e,y),first(e,t){for(var r=t.slice(),n=O.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]=h.edges(t),i=O.nodes(r,{reverse:!0,pass:e=>{var[,r]=e;return!h.includes(t,r)}}),a=function(){if(!h.includes(t,c)){var e=c[c.length-1];Z(r,s.parent(c),t=>W(t,e,1))}s.equals(c,o.path)&&K(r,c,e=>{var t=e.text.slice(0,o.offset);return w(w({},e),{},{text:t})}),s.equals(c,n.path)&&K(r,c,e=>{var t=e.text.slice(n.offset);return w(w({},e),{},{text:t})})};for(var[,c]of i)a();return r.children},get(e,t){var r=O.getIf(e,t);if(void 0===r)throw new Error("Cannot find a descendant at path [".concat(t,"] in node: ").concat(B.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)||g.isElement(e,{deep:t})||_.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=>O.isNode(e,{deep:t}))},last(e,t){for(var r=t.slice(),n=O.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=O.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(B.stringify(r)));return r},levels(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){for(var n of s.levels(t,r)){var o=O.get(e,n);yield[o,n]}}()},matches:(e,t)=>g.isElement(e)&&g.isElementProps(t)&&g.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:i}=t,a=new Set,c=[],l=e;!i||!(n?s.isBefore(c,i):s.isAfter(c,i));)if(a.has(l)||(yield[l,c]),a.has(l)||L.isText(l)||0===l.children.length||null!=r&&!1!==r([l,c])){if(0===c.length)break;if(!n){var f=s.next(c);if(O.has(e,f)){c=f,l=O.get(e,c);continue}}if(n&&0!==c[c.length-1])c=s.previous(c),l=O.get(e,c);else c=s.parent(c),l=O.get(e,c),a.add(l)}else{a.add(l);var d=n?l.children.length-1:0;s.isAncestor(c,o)&&(d=o[c.length]),c=c.concat(d),l=O.get(e,c)}}()},parent(e,t){var r=s.parent(t),n=O.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(O.string).join(""),texts(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){for(var[r,n]of O.nodes(e,t))L.isText(r)&&(yield[r,n])}()}};function x(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 P(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?x(Object(r),!0).forEach(function(t){f(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):x(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var j,E={isNodeOperation:e=>E.isOperation(e)&&e.type.endsWith("_node"),isOperation(e){if(!k(e))return!1;switch(e.type){case"insert_node":case"remove_node":return s.isPath(e.path)&&O.isNode(e.node);case"insert_text":case"remove_text":return"number"==typeof e.offset&&"string"==typeof e.text&&s.isPath(e.path);case"merge_node":return"number"==typeof e.position&&s.isPath(e.path)&&k(e.properties);case"move_node":return s.isPath(e.path)&&s.isPath(e.newPath);case"set_node":return s.isPath(e.path)&&k(e.properties)&&k(e.newProperties);case"set_selection":return null===e.properties&&h.isRange(e.newProperties)||null===e.newProperties&&h.isRange(e.properties)||k(e.properties)&&k(e.newProperties);case"split_node":return s.isPath(e.path)&&"number"==typeof e.position&&k(e.properties);default:return!1}},isOperationList:e=>Array.isArray(e)&&e.every(e=>E.isOperation(e)),isSelectionOperation:e=>E.isOperation(e)&&e.type.endsWith("_selection"),isTextOperation:e=>E.isOperation(e)&&e.type.endsWith("_text"),inverse(e){switch(e.type){case"insert_node":return P(P({},e),{},{type:"remove_node"});case"insert_text":return P(P({},e),{},{type:"remove_text"});case"merge_node":return P(P({},e),{},{type:"split_node",path:s.previous(e.path)});case"move_node":var{newPath:t,path:r}=e;if(s.equals(t,r))return e;if(s.isSibling(r,t))return P(P({},e),{},{path:t,newPath:r});var n=s.transform(r,e),o=s.transform(s.next(r),e);return P(P({},e),{},{path:n,newPath:o});case"remove_node":return P(P({},e),{},{type:"insert_node"});case"remove_text":return P(P({},e),{},{type:"insert_text"});case"set_node":var{properties:i,newProperties:a}=e;return P(P({},e),{},{properties:a,newProperties:i});case"set_selection":var{properties:c,newProperties:l}=e;return P(P({},e),{},null==c?{properties:l,newProperties:null}:null==l?{properties:null,newProperties:c}:{properties:l,newProperties:c});case"split_node":return P(P({},e),{},{type:"merge_node",path:s.next(e.path)})}}},k=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 i=0;i<n.length;i++)if(n[i]!==o[i])return!1}else if(k(n)&&k(o)){if(!T(n,o))return!1}else if(n!==o)return!1}for(var a in t)if(void 0===e[a]&&void 0!==t[a])return!1;return!0},N=e=>e.selection?e.selection:e.children.length>0?_.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"}(j||(j={})),j.L,j.L,j.V,j.LV,j.LVT,j.LV,j.V,j.V,j.T,j.LVT,j.T,j.T,j.Any,j.Extend,j.ZWJ,j.Any,j.SpacingMark,j.Prepend,j.Any,j.ZWJ,j.ExtPict,j.RI,j.RI;var _={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(!k(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||k(e.marks))&&(null===e.selection||h.isRange(e.selection))&&(!t||O.isNodeList(e.children))&&E.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 A(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 S(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?A(Object(r),!0).forEach(function(t){f(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):A(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var D={compare(e,t){var r=s.compare(e.path,t.path);return 0===r?e.offset<t.offset?-1:e.offset>t.offset?1:0:r},isAfter:(e,t)=>1===D.compare(e,t),isBefore:(e,t)=>-1===D.compare(e,t),equals:(e,t)=>e.offset===t.offset&&s.equals(e.path,t.path),isPoint:e=>k(e)&&"number"==typeof e.offset&&s.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:i}=e;switch(t.type){case"insert_node":case"move_node":o=s.transform(o,t,r);break;case"insert_text":s.equals(t.path,o)&&(t.offset<i||t.offset===i&&"forward"===n)&&(i+=t.text.length);break;case"merge_node":s.equals(t.path,o)&&(i+=t.position),o=s.transform(o,t,r);break;case"remove_text":s.equals(t.path,o)&&t.offset<=i&&(i-=Math.min(i-t.offset,t.text.length));break;case"remove_node":if(s.equals(t.path,o)||s.isAncestor(t.path,o))return null;o=s.transform(o,t,r);break;case"split_node":if(s.equals(t.path,o)){if(t.position===i&&null==n)return null;(t.position<i||t.position===i&&"forward"===n)&&(i-=t.position,o=s.transform(o,t,S(S({},r),{},{affinity:"forward"})))}else o=s.transform(o,t,r);break;default:return e}return{path:o,offset:i}}},q=void 0,B={setScrubber(e){q=e},stringify:e=>JSON.stringify(e,q)},C=["text"],I=["anchor","focus","merge"];function R(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?R(Object(r),!0).forEach(function(t){f(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):R(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 d(e,C)}return T(n?o(e):e,n?o(t):t)},isText:e=>k(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:$({},e)}];for(var n of t){var{anchor:o,focus:i,merge:a}=n,s=d(n,I),[c,l]=h.edges(n),f=[],p=0,u=c.offset,v=l.offset,g=null!=a?a:Object.assign;for(var{leaf:b}of r){var{length:y}=b.text,m=p;if(p+=y,u<=m&&p<=v)g(b,s),f.push({leaf:b});else if(u!==v&&(u===p||v===m)||u>p||v<m||v===m&&0!==m)f.push({leaf:b});else{var w=b,O=void 0,x=void 0;if(v<p){var P=v-m;x={leaf:$($({},w),{},{text:w.text.slice(P)})},w=$($({},w),{},{text:w.text.slice(0,P)})}if(u>m){var j=u-m;O={leaf:$($({},w),{},{text:w.text.slice(0,j)})},w=$($({},w),{},{text:w.text.slice(j)})}g(w,s),O&&f.push(O),f.push({leaf:w}),x&&f.push(x)}}r=f}if(r.length>1){var E=0;for(var[k,T]of r.entries()){var N=E,_=N+T.leaf.text.length,A={start:N,end:_};0===k&&(A.isFirst=!0),k===r.length-1&&(A.isLast=!0),T.position=A,E=_}}return r}};function z(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 V(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?z(Object(r),!0).forEach(function(t){f(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):z(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var F=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)]},M=function(e,t,r){for(var n=arguments.length,o=new Array(n>3?n-3:0),i=3;i<n;i++)o[i-3]=arguments[i];return[...e.slice(0,t),...o,...e.slice(t+r)]},W=M,J=(e,t,r)=>{if(0===t.length)throw new Error("Cannot modify the editor");for(var n=O.get(e,t),o=t.slice(),i=r(n);o.length>1;){var a=o.pop(),s=O.get(e,o);i=V(V({},s),{},{children:M(s.children,a,1,i)})}var c=o.pop();e.children=M(e.children,c,1,i)},Z=(e,t,r)=>{0===t.length?e.children=r(e.children):J(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(B.stringify(e)));return V(V({},e),{},{children:r(e.children)})})},K=(e,t,r)=>J(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(B.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 H(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){f(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 Q={transform(e,t){var r=!1;switch(t.type){case"insert_node":var{path:n,node:o}=t;Z(e,s.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 F(e,t,o)}),r=!0;break;case"insert_text":var{path:i,offset:a,text:c}=t;if(0===c.length)break;K(e,i,e=>{var t=e.text.slice(0,a),r=e.text.slice(a);return H(H({},e),{},{text:t+c+r})}),r=!0;break;case"merge_node":var{path:l}=t,f=l[l.length-1],d=s.previous(l),p=d[d.length-1];Z(e,s.parent(l),e=>{var t,r=e[f],n=e[p];if(L.isText(r)&&L.isText(n))t=H(H({},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(l,"] to nodes of different interfaces: ").concat(B.stringify(r)," ").concat(B.stringify(n)));t=H(H({},n),{},{children:n.children.concat(r.children)})}return M(e,p,2,t)}),r=!0;break;case"move_node":var{path:u,newPath:v}=t,g=u[u.length-1];if(s.isAncestor(u,v))throw new Error("Cannot move a path [".concat(u,"] to new path [").concat(v,"] because the destination is inside itself."));var b=O.get(e,u);Z(e,s.parent(u),e=>W(e,g,1));var y=s.transform(u,t),m=y[y.length-1];Z(e,s.parent(y),e=>F(e,m,b)),r=!0;break;case"remove_node":var{path:w}=t,x=w[w.length-1];if(Z(e,s.parent(w),e=>W(e,x,1)),e.selection){var P=H({},e.selection);for(var[j,E]of h.points(P)){var k=D.transform(j,t);if(null!=P&&null!=k)P[E]=k;else{var T=void 0,N=void 0;for(var[_,A]of O.texts(e)){if(-1!==s.compare(A,w)){N=[_,A];break}T=[_,A]}var S=!1;T&&N&&(S=!s.isSibling(T[1],w)&&(!!s.equals(N[1],w)||s.common(T[1],w).length<s.common(N[1],w).length)),T&&!S?P[E]={path:T[1],offset:T[0].text.length}:N?P[E]={path:N[1],offset:0}:P=null}}P&&h.equals(P,e.selection)||(e.selection=P)}break;case"remove_text":var{path:q,offset:C,text:I}=t;if(0===I.length)break;K(e,q,e=>{var t=e.text.slice(0,C),r=e.text.slice(C+I.length);return H(H({},e),{},{text:t+r})}),r=!0;break;case"set_node":var{path:R,properties:$,newProperties:z}=t;if(0===R.length)throw new Error("Cannot set properties on the root node!");J(e,R,e=>{var t=H({},e);for(var r in z){if("children"===r||"text"===r)throw new Error('Cannot set the "'.concat(r,'" property of nodes!'));var n=z[r];null==n?delete t[r]:t[r]=n}for(var o in $)z.hasOwnProperty(o)||delete t[o];return t});break;case"set_selection":var{newProperties:V}=t;if(null==V){e.selection=null;break}if(null==e.selection){if(!h.isRange(V))throw new Error('Cannot apply an incomplete "set_selection" operation properties '.concat(B.stringify(V)," when there is no current selection."));e.selection=H({},V);break}var G=H({},e.selection);for(var Q in V){var U=V[Q];if(null==U){if("anchor"===Q||"focus"===Q)throw new Error('Cannot remove the "'.concat(Q,'" selection property'));delete G[Q]}else G[Q]=U}e.selection=G;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."));Z(e,s.parent(X),e=>{var t,r,n=e[te];if(L.isText(n)){var o=n.text.slice(0,Y),i=n.text.slice(Y);t=H(H({},n),{},{text:o}),r=H(H({},ee),{},{text:i})}else{var a=n.children.slice(0,Y),s=n.children.slice(Y);t=H(H({},n),{},{children:a}),r=H(H({},ee),{},{children:s})}return M(e,te,1,t,r)}),r=!0}if(r&&e.selection){var re=H({},e.selection);for(var[ne,oe]of h.points(re))re[oe]=D.transform(ne,t);h.equals(re,e.selection)||(e.selection=re)}}},U={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)}},X={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)}},Y={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]:{};_.withoutNormalizing(e,()=>{var{voids:n=!1}=r,{at:o=N(e)}=r;if(s.isPath(o)&&(o=_.range(e,o)),h.isRange(o))if(h.isCollapsed(o))o=o.anchor;else{var i=h.end(o);if(!n&&_.void(e,{at:i}))return;var a=h.start(o),c=_.pointRef(e,a),l=_.pointRef(e,i);re.delete(e,{at:o,voids:n});var f=c.unref(),d=l.unref();o=f||d,re.setSelection(e,{anchor:o,focus:o})}if(!(!n&&_.void(e,{at:o})||_.elementReadOnly(e,{at:o}))){var{path:p,offset:u}=o;t.length>0&&e.apply({type:"insert_text",path:p,offset:u,text:t})}})}};function ee(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 te(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ee(Object(r),!0).forEach(function(t){f(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ee(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var re=te(te(te(te({},Q),U),X),Y);const ne={addTabItem(e,t,o){const i=r.getBlockSlate(e,{id:t});if(!i)return;const a=_.nodes(i,{at:[0],match:e=>g.isElement(e)&&"tabs-container"===e.type}),c=Array.from(a)[0];if(!c)return;const[,l]=c,f=_.nodes(i,{at:l,match:e=>g.isElement(e)&&"tabs-list"===e.type}),d=Array.from(f)[0];if(!d)return;const[,p]=d,u=_.nodes(i,{at:p,match:e=>g.isElement(e)&&"tabs-item-heading"===e.type}),h=Array.from(u);let v;if((null==o?void 0:o.at)&&s.isPath(o.at))v=s.next(o.at);else if(null==o?void 0:o.afterTabId){const e=h.find(([e])=>e.id===o.afterTabId);if(e){const[,t]=e;v=s.next(t)}else v=[...p,h.length]}else if(i.selection){const e=i.selection.anchor.path;let t;const r=_.above(i,{at:e,match:e=>g.isElement(e)&&"tabs-item-heading"===e.type});if(r){const[,e]=r;t=e}else for(const[,r]of h)if(s.isDescendant(e,r)||s.equals(e,r)){t=r;break}v=t?s.next(t):[...p,h.length]}else v=[...p,h.length];const b=_.nodes(i,{at:l,match:e=>g.isElement(e)&&"tabs-item-content"===e.type}),y=Array.from(b),m=[...l,y.length+1],w=n(),O=e.y("tabs-item-heading",{id:w,children:[e.y.text("New Tab")]}),x=e.y("tabs-item-content",{props:{referenceId:w},children:[e.y.text("")]});_.withoutNormalizing(i,()=>{re.insertNodes(i,O,{at:v}),re.insertNodes(i,x,{at:m}),re.setNodes(i,{props:Object.assign(Object.assign({},c[0].props),{activeTabId:w})},{at:l});const e=[...v,0];setTimeout(()=>{re.select(i,{offset:0,path:e})},0)})},deleteTabItem(e,t,n){const o=r.getBlockSlate(e,{id:t});if(!o)return;const i=_.nodes(o,{at:[0],match:e=>g.isElement(e)&&"tabs-container"===e.type}),a=Array.from(i)[0];if(!a)return;const[,s]=a,c=Array.from(_.nodes(o,{at:[0],match:e=>g.isElement(e)&&"tabs-item-heading"===e.type}));_.withoutNormalizing(o,()=>{if(1===c.length)return void r.deleteBlock(e,{blockId:t});const i=_.nodes(o,{at:s,match:e=>{var t;return g.isElement(e)&&"tabs-item-content"===e.type&&(null===(t=e.props)||void 0===t?void 0:t.referenceId)===n.tabId}}),a=Array.from(i)[0];if(a){const[,e]=a;re.removeNodes(o,{at:e})}const l=_.nodes(o,{at:[0],match:e=>g.isElement(e)&&"tabs-item-heading"===e.type&&e.id===n.tabId}),f=Array.from(l)[0];if(f){const[,e]=f;re.removeNodes(o,{at:e})}})}};const oe=new o({type:"Tabs",elements:e("tabs-container",Object.assign({render:({attributes:e,children:r})=>t("div",Object.assign({},e,{children:r})),props:{activeTabId:null}},{children:[t("tabs-list",Object.assign({render:({attributes:e,children:r})=>t("div",Object.assign({},e,{children:r}))},{children:t("tabs-item-heading",{render:({attributes:e,children:r})=>t("div",Object.assign({},e,{children:r}))})})),t("tabs-item-content",{render:({attributes:e,children:r})=>t("div",Object.assign({},e,{children:r})),props:{referenceId:null}})]})),commands:ne,options:{display:{title:"Tabs",description:"Toggle content in tabs"}},lifecycle:{beforeCreate:e=>{const t=n();return e.y("tabs-container",{props:{activeTabId:t},children:[e.y("tabs-list",{children:[e.y("tabs-item-heading",{id:t,children:[e.y.text("Tab 1")]})]}),e.y("tabs-item-content",{props:{referenceId:t},children:[e.y.text("Tab 1 content")]})]})}},parsers:{html:{deserialize:{nodeNames:["DIV"],parse:e=>{if("tabs-container"!==e.getAttribute("data-type"))return;const t=e.querySelector(':scope > div[style*="display: flex"]');if(!t)return;const r=t.querySelectorAll("button[data-tab-id]");if(0===r.length)return;const n=[],o=[];let i=null;r.forEach((e,t)=>{const r=e.getAttribute("data-tab-id")||`tab-${t}`;0===t&&(i=r),n.push({id:r,type:"tabs-item-heading",children:[{text:e.textContent||`Tab ${t+1}`}]})});return e.querySelectorAll("[data-tab-content-id]").forEach(e=>{const t=e.getAttribute("data-tab-content-id")||"";o.push({id:`content-${t}`,type:"tabs-item-content",children:[{text:e.textContent||""}],props:{referenceId:t}})}),0!==n.length?{id:"tabs-container",type:"tabs-container",children:[{id:"tabs-list",type:"tabs-list",children:n},...o],props:{activeTabId:i,nodeType:"block"}}:void 0}},serialize:(e,t,r)=>{var n,o,a;const{depth:s=0}=r||{};if("tabs-container"===e.type){const t=null===(n=e.children)||void 0===n?void 0:n.find(e=>"tabs-list"===e.type),r=null===(o=e.children)||void 0===o?void 0:o.filter(e=>"tabs-item-content"===e.type),c=(null==t?void 0:t.children)||[],l=null===(a=e.props)||void 0===a?void 0:a.activeTabId,f=c.map(e=>{const t=e.id===l,r=i(e.children);return`<button style="padding: 8px 16px; border: none; background: ${t?"#f3f4f6":"transparent"}; cursor: pointer; font-weight: ${t?"600":"400"};" data-tab-id="${e.id}">${r}</button>`}).join(""),d=(r||[]).map(e=>{var t,r;const n=(null===(t=e.props)||void 0===t?void 0:t.referenceId)===l,o=i(e.children);return`<div style="display: ${n?"block":"none"}; padding: 16px; border: 1px solid #e5e7eb; border-top: none;" data-tab-content-id="${null===(r=e.props)||void 0===r?void 0:r.referenceId}">${o}</div>`}).join("");return`\n <div data-type="tabs-container" data-meta-depth="${s}" style="margin-left: ${20*s}px;">\n <div style="display: flex; border-bottom: 1px solid #e5e7eb;">${f}</div>\n ${d}\n </div>`}return""}},markdown:{serialize:(e,t,r)=>{var n,o;const{depth:i=0}=r||{},s=" ".repeat(i);if("tabs-container"===e.type){const t=null===(n=e.children)||void 0===n?void 0:n.find(e=>"tabs-list"===e.type),r=null===(o=e.children)||void 0===o?void 0:o.filter(e=>"tabs-item-content"===e.type);return((null==t?void 0:t.children)||[]).map((e,t)=>{const n=a(e.children),o=(r||[]).find(t=>{var r;return(null===(r=t.props)||void 0===r?void 0:r.referenceId)===e.id}),i=o?a(o.children):"";return`${s}### ${n}\n${s}${i}`}).join("\n\n")}return""}},email:{serialize:(e,t,r)=>{var n,o;const{depth:a=0}=r||{};if("tabs-container"===e.type){const t=null===(n=e.children)||void 0===n?void 0:n.find(e=>"tabs-list"===e.type),r=null===(o=e.children)||void 0===o?void 0:o.filter(e=>"tabs-item-content"===e.type),s=((null==t?void 0:t.children)||[]).map(e=>{const t=i(e.children),n=(r||[]).find(t=>{var r;return(null===(r=t.props)||void 0===r?void 0:r.referenceId)===e.id});return`\n <tr>\n <td style="padding: 12px 0;">\n <div style="font-weight: 600; margin-bottom: 8px; padding: 8px; background: #f3f4f6;">${t}</div>\n <div style="padding: 8px;">${n?i(n.children):""}</div>\n </td>\n </tr>`}).join("");return`\n <table style="width: 100%; margin-left: ${20*a}px; border: 1px solid #e5e7eb;">\n <tbody>\n ${s}\n </tbody>\n </table>`}return""}}},extensions:function(e,t){return e=function(e){const{normalizeNode:t}=e;return e.normalizeNode=(e,r)=>{t(e,r)},e}(e)},events:{onKeyDown:(e,t,r)=>n=>{if(r.hotkeys.isEnter(n)){if(!t.selection)return;n.preventDefault();const o=_.above(t,{at:t.selection,match:e=>g.isElement(e)});if(!o)return;const[i]=o;if("tabs-item-content"===i.type)return n.preventDefault(),void re.insertText(t,"\n");if("tabs-item-heading"===i.type)return n.preventDefault(),void ne.addTabItem(e,r.currentBlock.id,{at:t.selection});re.insertText(t,"\n")}if(r.hotkeys.isBackspace(n)){if(!t.selection)return;const e=_.above(t,{at:t.selection,match:e=>g.isElement(e)});if(!e)return;const[r,o]=e,i=_.isStart(t,t.selection.anchor,o),a=h.isCollapsed(t.selection);i&&a&&("tabs-item-content"===r.type||"tabs-item-heading"===r.type)&&n.preventDefault()}if(r.hotkeys.isSelect(n)){if(!t.selection)return void n.preventDefault();const e=_.above(t,{at:t.selection,match:e=>g.isElement(e)});if(!e)return void n.preventDefault();const[r,o]=e;if("tabs-item-content"===r.type||"tabs-item-heading"===r.type)return n.preventDefault(),void re.select(t,o);n.preventDefault()}}}});export{ne as TabsCommands,oe as default};
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-plugin.d.ts","sourceRoot":"","sources":["../../src/plugin/tabs-plugin.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAc,MAAM,gBAAgB,CAAC;AAK1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AA0B/C,QAAA,MAAM,IAAI,uDAqHR,CAAC;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"tabs-plugin.d.ts","sourceRoot":"","sources":["../../src/plugin/tabs-plugin.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAkE,MAAM,gBAAgB,CAAC;AAK9G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AA0B/C,QAAA,MAAM,IAAI,uDAiSR,CAAC;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yoopta/tabs",
3
- "version": "6.0.0-beta.7",
3
+ "version": "6.0.0-beta.9",
4
4
  "description": "Tabs plugin for Yoopta Editor",
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": "7cc1d045b5737a810e4f7820c495f7a42dfcc09d"
38
+ "gitHead": "4a55643c3f8ffc0d0373ff2643cf12099976c28e"
39
39
  }