slate-hyperscript
Version:
A hyperscript helper for creating Slate documents.
2 lines (1 loc) • 15 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("slate")):"function"==typeof define&&define.amd?define(["exports","slate"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).SlateHyperscript={},e.Slate)}(this,(function(e,t){"use strict";function r(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,t){return e(t={exports:{}},t.exports),t.exports}var o=n((function(e){function t(r){return e.exports=t="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},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})),i=r(o),f=n((function(e){e.exports=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r},e.exports.__esModule=!0,e.exports.default=e.exports}));r(f);var u=r(n((function(e){e.exports=function(e,t){if(null==e)return{};var r,n,o=f(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o},e.exports.__esModule=!0,e.exports.default=e.exports}))),s=n((function(e){var t=o.default;e.exports=function(e,r){if("object"!=t(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,r||"default");if("object"!=t(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports}));r(s);var a=n((function(e){var t=o.default;e.exports=function(e){var r=s(e,"string");return"symbol"==t(r)?r:r+""},e.exports.__esModule=!0,e.exports.default=e.exports}));r(a);var c=r(n((function(e){e.exports=function(e,t,r){return(t=a(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports}))),l=n((function(e){e.exports=function(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports.default=e.exports}));r(l);var p=n((function(e){e.exports=function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,f,u=[],s=!0,a=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);s=!0);}catch(e){a=!0,o=e}finally{try{if(!s&&null!=r.return&&(f=r.return(),Object(f)!==f))return}finally{if(a)throw o}}return u}},e.exports.__esModule=!0,e.exports.default=e.exports}));r(p);var d=n((function(e){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n},e.exports.__esModule=!0,e.exports.default=e.exports}));r(d);var h=n((function(e){e.exports=function(e,t){if(e){if("string"==typeof e)return d(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?d(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports}));r(h);var y=n((function(e){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports}));r(y);var v=r(n((function(e){e.exports=function(e,t){return l(e)||p(e,t)||h(e,t)||y()},e.exports.__esModule=!0,e.exports.default=e.exports}))),b=n((function(e){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.__esModule=!0,e.exports.default=e.exports}));r(b);var x=n((function(e){var t=o.default;e.exports=function(e,r){if(r&&("object"==t(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return b(e)},e.exports.__esModule=!0,e.exports.default=e.exports})),g=r(x),w=n((function(e){function t(r){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})),O=r(w),m=n((function(e){function t(r,n){return e.exports=t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r,n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}));r(m);var j=r(n((function(e){e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&m(e,t)},e.exports.__esModule=!0,e.exports.default=e.exports}))),_=r(n((function(e){function t(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,a(n.key),n)}}e.exports=function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e},e.exports.__esModule=!0,e.exports.default=e.exports}))),P=r(n((function(e){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports})));function S(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?S(Object(r),!0).forEach((function(t){c(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):S(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function M(e,t,r){return t=O(t),g(e,T()?Reflect.construct(t,r||[],O(e).constructor):t.apply(e,r))}function T(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(T=function(){return!!e})()}var A=new WeakMap,R=new WeakMap,D=new WeakMap,k=_((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};P(this,e),c(this,"offset",void 0),c(this,"path",void 0),c(this,"ref",void 0);var r=t.offset,n=t.path,o=t.ref;if(this.offset=r,this.path=n,o){if(null!=n)throw new Error("The ref prop of a token cannot be used with the path prop.");this.ref=o}})),H=function(e){function t(){return P(this,t),M(this,t,arguments)}return j(t,e),_(t)}(k),I=function(e){function t(){return P(this,t),M(this,t,arguments)}return j(t,e),_(t)}(k),W=function(e){function t(){return P(this,t),M(this,t,arguments)}return j(t,e),_(t)}(k);function B(e){var t=R.get(e);return t?Array.from(t.values(),(function(e){var t=v(e,2),r=t[0],n=t[1];return new I(E(E({},n),{},{offset:r}))})):[]}function C(e){var t=D.get(e);return t?Array.from(t.values(),(function(e){var t=v(e,2),r=t[0],n=t[1];return new W(E(E({},n),{},{offset:r}))})):[]}function N(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 U(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?N(Object(r),!0).forEach((function(t){c(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):N(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function q(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return F(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?F(e,t):void 0}}(e))||t){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,f=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return f=e.done,e},e:function(e){u=!0,i=e},f:function(){try{f||null==r.return||r.return()}finally{if(u)throw i}}}}function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var $=new WeakSet;function z(e){var r=[];function n(e){if(null!=e&&"boolean"!=typeof e){var o=r[r.length-1];if("string"==typeof e||"number"==typeof e){var i={text:e.toString()};$.add(i),e=i}if(t.Text.isText(e)){var f=e;t.Text.isText(o)&&$.has(o)&&$.has(f)&&t.Text.equals(o,f,{loose:!0})?o.text+=f.text:r.push(f)}else if(t.Element.isElement(e))r.push(e);else{if(!(e instanceof k))throw new Error("Unexpected hyperscript child object: ".concat(e));var u=r[r.length-1];t.Text.isText(u)||(n(""),u=r[r.length-1]),e instanceof H?function(e,t){var r=e.text.length,n=A.get(e);n||(n=new Set,A.set(e,n)),n.add([r,t])}(u,e):e instanceof I?function(e,t){var r=e.text.length,n=R.get(e);n||(n=new Set,R.set(e,n)),n.add([r,t])}(u,e):e instanceof W&&function(e,t){var r=e.text.length,n=D.get(e);n||(n=new Set,D.set(e,n)),n.add([r,t])}(u,e)}}}var o,i=q(e.flat(1/0));try{for(i.s();!(o=i.n()).done;){n(o.value)}}catch(e){i.e(e)}finally{i.f()}return r}function G(e,t,r){return U(U({},t),{},{children:z(r)})}function J(e,r,n){var o=z(n);if(o.length>1)throw new Error("The <text> hyperscript tag must only contain a single node's worth of children.");var i=v(o,1)[0];if(null==i&&(i={text:""}),!t.Text.isText(i))throw new Error("\n The <text> hyperscript tag can only contain text content as children.");return $.delete(i),Object.assign(i,r),i}var K=function(e){return function(r,n,o){var i,f,u=[],s=q(o);try{for(s.s();!(f=s.n()).done;){var a=f.value;t.Range.isRange(a)?i=a:u.push(a)}}catch(e){s.e(e)}finally{s.f()}var c=z(u),l={},p=e();Object.assign(p,n),p.children=c;var d,h,y,b=q(t.Node.texts(p));try{for(b.s();!(d=b.n()).done;){var x,g=v(d.value,2),w=g[0],O=g[1],m=q((h=w,y=void 0,(y=A.get(h))?Array.from(y.values(),(function(e){var t=v(e,2),r=t[0],n=t[1];return new H(E(E({},n),{},{offset:r}))})):[]));try{for(m.s();!(x=m.n()).done;){var j=x.value,_=j.ref,P=void 0===_?l:_,S=j.offset;null!=S&&(P.anchor={path:O,offset:S})}}catch(e){m.e(e)}finally{m.f()}var M,T=q(B(w));try{for(T.s();!(M=T.n()).done;){var R=M.value,D=R.ref,k=void 0===D?l:D,I=R.offset;null!=I&&(k.focus={path:O,offset:I})}}catch(e){T.e(e)}finally{T.f()}var W,N=q(C(w));try{for(N.s();!(W=N.n()).done;){var U=W.value,F=U.ref,$=U.offset;F&&(F.offset=$,F.path=O)}}catch(e){N.e(e)}finally{N.f()}}}catch(e){b.e(e)}finally{b.f()}if(l.anchor&&!l.focus)throw new Error("Slate hyperscript ranges must have both `<anchor />` and `<focus />` defined if one is defined, but you only defined `<anchor />`. For collapsed selections, use `<cursor />` instead.");if(!l.anchor&&l.focus)throw new Error("Slate hyperscript ranges must have both `<anchor />` and `<focus />` defined if one is defined, but you only defined `<focus />`. For collapsed selections, use `<cursor />` instead.");return null!=i?p.selection=i:t.Range.isRange(l)&&(p.selection=l),p}},L=["__self","__source"];function Q(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?Q(Object(r),!0).forEach((function(t){c(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Q(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var X={anchor:function(e,t,r){return new H(t)},cursor:function(e,t,r){return[new H(t),new I(t)]},editor:K(t.createEditor),element:G,focus:function(e,t,r){return new I(t)},fragment:function(e,t,r){return z(r)},point:function(e,t,r){return new W(t)},selection:function(e,t,r){var n=r.find((function(e){return e instanceof H})),o=r.find((function(e){return e instanceof I}));if(!n||null==n.offset||null==n.path)throw new Error("The <selection> hyperscript tag must have an <anchor> tag as a child with `path` and `offset` attributes defined.");if(!o||null==o.offset||null==o.path)throw new Error("The <selection> hyperscript tag must have a <focus> tag as a child with `path` and `offset` attributes defined.");return U({anchor:{offset:n.offset,path:n.path},focus:{offset:o.offset,path:o.path}},t)},text:J},Y=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.elements,r=void 0===t?{}:t,n=ee(r),o=V(V(V({},X),n),e.creators),i=Z(o);return i},Z=function(e){return function(r,n){for(var o=arguments.length,i=new Array(o>2?o-2:0),f=2;f<o;f++)i[f-2]=arguments[f];if(t.isObject(n)){var s=n;s.__self,s.__source;var a=u(s,L);n=a}if("function"==typeof r)return r(V({children:i},n));var c=e[r];if(!c)throw new Error("No hyperscript creator found for tag: <".concat(r,">"));null==n&&(n={}),t.isObject(n)||(i=[n].concat(i),n={});var l=c(r,n,i=i.filter((function(e){return Boolean(e)})).flat());return l}},ee=function(e){var t={},r=function(){var r=e[n];if("object"!==i(r))throw new Error("Properties specified for a hyperscript shorthand should be an object, but for the custom element <".concat(n,"> tag you passed: ").concat(r));t[n]=function(e,t,n){return G(0,V(V({},r),t),n)}};for(var n in e)r();return t},te=function(){return _((function e(){P(this,e),c(this,"path",void 0),c(this,"offset",void 0)}),[{key:"point",value:function(){var e=this.path,t=this.offset;if(null==e||null==t)throw new Error("A HyperscriptPointRef must be passed as the ref prop of a <point /> tag that is used inside an <editor>.");return{path:e,offset:t}}}])}(),re=function(){return _((function e(){P(this,e),c(this,"anchor",void 0),c(this,"focus",void 0)}),[{key:"range",value:function(){var e=this.anchor,t=this.focus;if(null==e)throw new Error("A HyperscriptRangeRef must be passed as the ref prop of an <anchor /> tag that is used inside an <editor>.");if(null==t)throw new Error("A HyperscriptRangeRef must be passed as the ref prop of a <focus /> tag that is used inside an <editor>.");return{anchor:e,focus:t}}}])}(),ne=Y();e.HyperscriptPointRef=te,e.HyperscriptRangeRef=re,e.createEditor=K,e.createHyperscript=Y,e.createText=J,e.jsx=ne}));