@wangeditor-next/plugin-float-image 6.5.2 → 6.6.0

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.d.ts CHANGED
@@ -12,6 +12,7 @@ declare const module: Partial<IModuleConf>;
12
12
  type EmptyText = {
13
13
  text: '';
14
14
  };
15
+ type ImageLoading = 'lazy' | 'eager';
15
16
  type ImageStyle = {
16
17
  width?: string;
17
18
  height?: string;
@@ -24,9 +25,10 @@ type ImageElement = {
24
25
  href?: string;
25
26
  width?: string;
26
27
  height?: string;
28
+ loading?: ImageLoading;
27
29
  style?: ImageStyle;
28
30
  children: EmptyText[];
29
31
  };
30
32
  //#endregion
31
- export { ImageElement, ImageStyle, module as default };
33
+ export { ImageElement, ImageLoading, ImageStyle, module as default };
32
34
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t(require(`@wangeditor-next/editor`),require(`dom7`)):typeof define==`function`&&define.amd?define([`@wangeditor-next/editor`,`dom7`],t):(e=typeof globalThis<`u`?globalThis:e||self,e.WangEditorFloatImagePlugin=t(e.wangEditor,e.$))})(this,function(e,t){var n=Object.create,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),l=(e,t,n,o)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=a(t),l=0,u=c.length,d;l<u;l++)d=c[l],!s.call(e,d)&&d!==n&&r(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(o=i(t,d))||o.enumerable});return e},u=(e,t,i)=>(i=e==null?{}:n(o(e)),l(t||!e||!e.__esModule?r(i,`default`,{value:e,enumerable:!0}):i,e));t=u(t),(0,e.i18nAddResources)(`en`,{float:{none:`Default`,left:`Float Left`,right:`Float Right`}}),(0,e.i18nAddResources)(`zh-CN`,{float:{none:`默认`,left:`左浮动`,right:`右浮动`}});function d(e){let t=(e||``).trim().toLowerCase();return t===`left`?`w-e-float-image-left`:t===`right`?`w-e-float-image-right`:t===`none`?`w-e-float-image-none`:``}function f(t,n,r){let{src:i,alt:a=``,href:o=``,style:s={}}=t,{width:c=``,height:l=``,float:u=``}=s;if((0,e.getTextStyleMode)(r)===`class`){let e=c?` data-w-e-style-width="${c}"`:``,t=l?` data-w-e-style-height="${l}"`:``,n=u?` data-w-e-style-float="${u}"`:``,r=d(u);return`<img src="${i}" alt="${a}" data-href="${o}" width="${c}" height="${l}"${r?` class="${r}"`:``}${e}${t}${n}/>`}let f=``;return c&&(f+=`width: ${c};`),l&&(f+=`height: ${l};`),u&&(f+=`float: ${u};`),`<img src="${i}" alt="${a}" data-href="${o}" style="${f}"/>`}var p={type:`image`,elemToHtml:f};function m(e){"@babel/helpers - typeof";return m=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},m(e)}function h(e,t){if(m(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(m(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function g(e){var t=h(e,`string`);return m(t)==`symbol`?t:t+``}function _(e,t,n){return(t=g(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function y(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?v(Object(n),!0).forEach(function(t){_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var b=class{constructor(){this.tag=`button`}getValue(e){return``}isActive(e){return!1}getSelectedNode(t){return e.DomEditor.getSelectedNodeByType(t,`image`)}isDisabled(e){return e.selection==null?!0:this.getSelectedNode(e)==null}exec(t,n){if(this.isDisabled(t))return;let r=this.getSelectedNode(t);if(r==null)return;let i=e.DomEditor.getHoverbar(t);i&&i.hideAndClean();let{style:a={}}=r,o={style:y(y({},a),{},{float:this.value})};e.SlateTransforms.setNodes(t,o,{match:t=>e.DomEditor.checkNodeType(t,`image`)})}},x=class extends b{constructor(...t){super(...t),this.title=(0,e.t)(`float.left`),this.value=`left`,this.iconSvg=`<svg viewBox="0 0 1024 1024"><path d="M77.03514075 117.83964445m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.4275674l0 68.35162074q0 12.42756741-12.4275674 12.42756741l-845.0745837 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162074q0-12.42756741 12.4275674-12.4275674Z"></path><path d="M77.03514075 801.35585185m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.42756741l0 68.35162074q0 12.42756741-12.4275674 12.42756742l-845.0745837 0q-12.42756741 0-12.4275674-12.42756742l0-68.35162074q0-12.42756741 12.4275674-12.42756741Z"></path><path d="M89.46270815 304.25315556h347.9718874c6.83516208 0 12.42756741 5.59240533 12.42756742 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.42756742 12.4275674h-347.9718874a12.42756741 12.42756741 0 0 1-12.4275674-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.4275674-12.42756741z"></path><path d="M512 552.8045037m12.42756741 0l410.10972444 0q12.42756741 0 12.4275674 12.42756742l0 68.35162073q0 12.42756741-12.4275674 12.42756741l-410.10972444 0q-12.42756741 0-12.42756741-12.42756741l0-68.35162073q0-12.42756741 12.42756741-12.42756742Z"></path><path d="M512 366.39099259m12.42756741 0l410.10972444 0q12.42756741 0 12.4275674 12.42756741l0 68.35162075q0 12.42756741-12.4275674 12.4275674l-410.10972444 0q-12.42756741 0-12.42756741-12.4275674l0-68.35162075q0-12.42756741 12.42756741-12.42756741Z"></path></svg>`}},S=class extends b{constructor(...t){super(...t),this.title=(0,e.t)(`float.none`),this.value=`none`,this.iconSvg=`<svg viewBox="0 0 1024 1024"><path d="M76.73805432 117.83964445m12.42756741 0l845.0745837 0q12.42756741 0 12.42756741 12.4275674l0 68.35162074q0 12.42756741-12.42756741 12.42756741l-845.0745837 0q-12.42756741 0-12.42756741-12.42756741l0-68.35162074q0-12.42756741 12.42756741-12.4275674Z"></path><path d="M76.73805432 801.35585185m12.42756741 0l845.0745837 0q12.42756741 0 12.42756741 12.42756741l0 68.35162074q0 12.42756741-12.42756741 12.42756742l-845.0745837 0q-12.42756741 0-12.42756741-12.42756742l0-68.35162074q0-12.42756741 12.42756741-12.42756741Z"></path><path d="M89.16562173 304.25315556h410.10972444c6.83516208 0 12.42756741 5.59240533 12.42756741 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.42756741 12.4275674h-410.10972444a12.42756741 12.42756741 0 0 1-12.42756741-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.42756741-12.42756741z"></path></svg>`}},C=class extends b{constructor(...t){super(...t),this.title=(0,e.t)(`float.right`),this.value=`right`,this.iconSvg=`<svg viewBox="0 0 1024 1024"><path d="M77.03514075 117.83964445m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.4275674l0 68.35162074q0 12.42756741-12.4275674 12.42756741l-845.0745837 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162074q0-12.42756741 12.4275674-12.4275674Z"></path><path d="M77.03514075 801.35585185m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.42756741l0 68.35162074q0 12.42756741-12.4275674 12.42756742l-845.0745837 0q-12.42756741 0-12.4275674-12.42756742l0-68.35162074q0-12.42756741 12.4275674-12.42756741Z"></path><path d="M586.56540445 304.25315556h347.9718874c6.83516208 0 12.42756741 5.59240533 12.4275674 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.4275674 12.4275674h-347.9718874a12.42756741 12.42756741 0 0 1-12.42756742-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.42756742-12.42756741z"></path><path d="M77.03514075 552.8045037m12.4275674 0l410.10972444 0q12.42756741 0 12.42756741 12.42756742l0 68.35162073q0 12.42756741-12.42756741 12.42756741l-410.10972444 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162073q0-12.42756741 12.4275674-12.42756742Z"></path><path d="M77.03514075 366.39099259m12.4275674 0l410.10972444 0q12.42756741 0 12.42756741 12.42756741l0 68.35162075q0 12.42756741-12.42756741 12.4275674l-410.10972444 0q-12.42756741 0-12.4275674-12.4275674l0-68.35162075q0-12.42756741 12.4275674-12.42756741Z"></path></svg>`}};let w={key:`imageFloatNone`,factory(){return new S}},T={key:`imageFloatLeft`,factory(){return new x}},E={key:`imageFloatRight`,factory(){return new C}};globalThis.Node,globalThis.Comment,globalThis.Element,globalThis.Text,globalThis.Range,globalThis.Selection,globalThis.StaticRange,t.css&&(t.default.fn.css=t.css),t.append&&(t.default.fn.append=t.append),t.prepend&&(t.default.fn.prepend=t.prepend),t.addClass&&(t.default.fn.addClass=t.addClass),t.removeClass&&(t.default.fn.removeClass=t.removeClass),t.hasClass&&(t.default.fn.hasClass=t.hasClass),t.on&&(t.default.fn.on=t.on),t.off&&(t.default.fn.off=t.off),t.focus&&(t.default.fn.focus=t.focus),t.attr&&(t.default.fn.attr=t.attr),t.removeAttr&&(t.default.fn.removeAttr=t.removeAttr),t.hide&&(t.default.fn.hide=t.hide),t.show&&(t.default.fn.show=t.show),t.parents&&(t.default.fn.parents=t.parents),t.dataset&&(t.default.fn.dataset=t.dataset),t.val&&(t.default.fn.val=t.val),t.text&&(t.default.fn.text=t.text),t.html&&(t.default.fn.html=t.html),t.children&&(t.default.fn.children=t.children),t.remove&&(t.default.fn.remove=t.remove),t.find&&(t.default.fn.find=t.find),t.width&&(t.default.fn.width=t.width),t.height&&(t.default.fn.height=t.height),t.filter&&(t.default.fn.filter=t.filter),t.empty&&(t.default.fn.empty=t.empty);function D(e,t){let n=``,r=(e.attr(`style`)||``).split(`;`),i=r.length;for(let e=0;e<i;e+=1){let i=r[e];if(i){let e=i.split(`:`);e[0].trim()===t&&(n=e[1].trim())}}return n}var O=t.default;function k(e){let t=D(e,`float`);if(t)return t;let n=(e.attr(`data-w-e-style-float`)||``).trim();if(n)return n;let r=(e.attr(`class`)||``).trim().split(/\s+/).filter(Boolean);return r.includes(`w-e-float-image-left`)?`left`:r.includes(`w-e-float-image-right`)?`right`:r.includes(`w-e-float-image-none`)?`none`:``}function A(e,t,n){let r=O(e),i=r.attr(`data-href`)||``,a=r.attr(`width`)||``,o=r.attr(`height`)||``,s=D(r,`width`)||r.attr(`data-w-e-style-width`)||a,c=D(r,`height`)||r.attr(`data-w-e-style-height`)||o,l=k(r);return i=decodeURIComponent(i),{type:`image`,src:r.attr(`src`)||``,alt:r.attr(`alt`)||``,href:i,style:{width:s,height:c,float:l},width:a,height:o,children:[{text:``}]}}let j={selector:`img:not([data-w-e-type])`,parseElemHtml:A};var M=u(c(((e,t)=>{var n=`Expected a function`,r=NaN,i=`[object Symbol]`,a=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt,u=typeof global==`object`&&global&&global.Object===Object&&global,d=typeof self==`object`&&self&&self.Object===Object&&self,f=u||d||Function(`return this`)(),p=Object.prototype.toString,m=Math.max,h=Math.min,g=function(){return f.Date.now()};function _(e,t,r){var i,a,o,s,c,l,u=0,d=!1,f=!1,p=!0;if(typeof e!=`function`)throw TypeError(n);t=S(t)||0,y(r)&&(d=!!r.leading,f=`maxWait`in r,o=f?m(S(r.maxWait)||0,t):o,p=`trailing`in r?!!r.trailing:p);function _(t){var n=i,r=a;return i=a=void 0,u=t,s=e.apply(r,n),s}function v(e){return u=e,c=setTimeout(C,t),d?_(e):s}function b(e){var n=e-l,r=e-u,i=t-n;return f?h(i,o-r):i}function x(e){var n=e-l,r=e-u;return l===void 0||n>=t||n<0||f&&r>=o}function C(){var e=g();if(x(e))return w(e);c=setTimeout(C,b(e))}function w(e){return c=void 0,p&&i?_(e):(i=a=void 0,s)}function T(){c!==void 0&&clearTimeout(c),u=0,i=l=a=c=void 0}function E(){return c===void 0?s:w(g())}function D(){var e=g(),n=x(e);if(i=arguments,a=this,l=e,n){if(c===void 0)return v(l);if(f)return c=setTimeout(C,t),_(l)}return c===void 0&&(c=setTimeout(C,t)),s}return D.cancel=T,D.flush=E,D}function v(e,t,r){var i=!0,a=!0;if(typeof e!=`function`)throw TypeError(n);return y(r)&&(i=`leading`in r?!!r.leading:i,a=`trailing`in r?!!r.trailing:a),_(e,t,{leading:i,maxWait:t,trailing:a})}function y(e){var t=typeof e;return!!e&&(t==`object`||t==`function`)}function b(e){return!!e&&typeof e==`object`}function x(e){return typeof e==`symbol`||b(e)&&p.call(e)==i}function S(e){if(typeof e==`number`)return e;if(x(e))return r;if(y(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=y(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=e.replace(a,``);var n=s.test(e);return n||c.test(e)?l(e.slice(2),n?2:8):o.test(e)?r:+e}t.exports=v}))());function N(t,n){let{id:r}=e.DomEditor.findKey(t,n);return`w-e-image-container-${r}`}function P(e,t,n,r){let{width:i,height:a,float:o}=r,s={};i&&(s.width=i),a&&(s.height=a),o&&(s.float=o);let c=N(e,t);return jsx(`div`,{id:c,style:s,className:`w-e-image-container`},n)}function F(t,n,r,i){let a=O(`body`),o=N(t,n),{width:s,height:c,float:l}=i,u=0,d=0,f=0,p=0,m=!1,h=null;function g(){let e=O(`#${o}`);if(e.length===0)throw Error(`Cannot find image container elem`);return e}let _=(0,M.default)(e=>{e.preventDefault();let{clientX:t}=e,n=m?u-t:t-u,r=d+n,i=r/d*f;h!=null&&(r<=15||i<=15||(h.css(`width`,`${r}px`),h.css(`height`,`${i}px`)))},100);function v(r){var i,o;if(a.off(`mousemove`,_),h==null)return;let s=h.width().toFixed(2),c=h.height().toFixed(2),l=(i=t.getConfig().imageResize)==null?void 0:i.resizeUnit,u=l===`%`&&p>0?`${(Number(s)/p*100).toFixed(2)}%`:`${s}px`,m=l===`%`?``:`${c}px`,g=(o=t.getConfig().imageResize)==null?void 0:o.checkImageSize,b=g==null?void 0:g({width:u,height:m,rawWidth:u,rawHeight:m,source:`drag`});if(typeof b==`string`){t.alert(b,`error`),h.css(`width`,`${d}px`),h.css(`height`,`${f}px`),a.off(`mouseup`,v);return}if(g&&b!==!0){h.css(`width`,`${d}px`),h.css(`height`,`${f}px`),a.off(`mouseup`,v);return}let x={style:y(y({},n.style),{},{width:u,height:m})};e.SlateTransforms.setNodes(t,x,{at:e.DomEditor.findPath(t,n)}),a.off(`mouseup`,v)}function b(n,r){h=g(),u=n,p=r;let i=h.find(`img`);if(i.length===0)throw Error(`Cannot find image elem`);d=i.width(),f=i.height(),a.on(`mousemove`,_),a.on(`mouseup`,v);let o=e.DomEditor.getHoverbar(t);o&&o.hideAndClean()}let x={};return s&&(x.width=s),c&&(x.height=c),l&&(x.float=l),jsx(`div`,{id:o,style:x,className:`w-e-image-container w-e-selected-image-container`,on:{mousedown:r=>{let i=O(r.target);if(!i.hasClass(`w-e-image-dragger`))return;r.preventDefault(),(i.hasClass(`left-top`)||i.hasClass(`left-bottom`))&&(m=!0);let a=e.DomEditor.getParentNode(t,n);if(a==null)return;let o=e.DomEditor.toDOMNode(t,a),s=o.getBoundingClientRect?o.getBoundingClientRect():{width:0};b(r.clientX,s.width)}}},r,jsx(`div`,{className:`w-e-image-dragger left-top`}),jsx(`div`,{className:`w-e-image-dragger right-top`}),jsx(`div`,{className:`w-e-image-dragger left-bottom`}),jsx(`div`,{className:`w-e-image-dragger right-bottom`}))}function I(t,n,r){let{src:i,alt:a=``,href:o=``,style:s={}}=t,{width:c=``,height:l=``,float:u}=s,d=e.DomEditor.isNodeSelected(r,t),f={};c&&(f.width=`100%`),l&&(f.height=`100%`),u&&(f.float=u);let p=jsx(`img`,{style:f,src:i,alt:a,"data-href":o}),m=r.isDisabled();return d&&!m?F(r,t,p,{width:c,height:l,float:u}):P(r,t,p,{width:c,height:l,float:u})}return{renderElems:[{type:`image`,renderElem:I}],elemsToHtml:[p],parseElemsHtml:[j],menus:[T,E,w]}});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t(require(`@wangeditor-next/editor`),require(`dom7`)):typeof define==`function`&&define.amd?define([`@wangeditor-next/editor`,`dom7`],t):(e=typeof globalThis<`u`?globalThis:e||self,e.WangEditorFloatImagePlugin=t(e.wangEditor,e.$))})(this,function(e,t){var n=Object.create,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),l=(e,t,n,o)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=a(t),l=0,u=c.length,d;l<u;l++)d=c[l],!s.call(e,d)&&d!==n&&r(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(o=i(t,d))||o.enumerable});return e},u=(e,t,i)=>(i=e==null?{}:n(o(e)),l(t||!e||!e.__esModule?r(i,`default`,{value:e,enumerable:!0}):i,e));t=u(t),(0,e.i18nAddResources)(`en`,{float:{none:`Default`,left:`Float Left`,right:`Float Right`}}),(0,e.i18nAddResources)(`zh-CN`,{float:{none:`默认`,left:`左浮动`,right:`右浮动`}});function d(e){if(typeof e!=`string`)return;let t=e.trim().toLowerCase();if(t===`lazy`||t===`eager`)return t}function f(e){let t=(e||``).trim().toLowerCase();return t===`left`?`w-e-float-image-left`:t===`right`?`w-e-float-image-right`:t===`none`?`w-e-float-image-none`:``}function p(t,n,r){let{src:i,alt:a=``,href:o=``,loading:s,style:c={}}=t,{width:l=``,height:u=``,float:p=``}=c,m=(0,e.getTextStyleMode)(r),h=d(s),g=h?` loading="${h}"`:``;if(m===`class`){let e=l?` data-w-e-style-width="${l}"`:``,t=u?` data-w-e-style-height="${u}"`:``,n=p?` data-w-e-style-float="${p}"`:``,r=f(p);return`<img src="${i}" alt="${a}" data-href="${o}" width="${l}" height="${u}"${r?` class="${r}"`:``}${e}${t}${n}${g}/>`}let _=``;return l&&(_+=`width: ${l};`),u&&(_+=`height: ${u};`),p&&(_+=`float: ${p};`),`<img src="${i}" alt="${a}" data-href="${o}" style="${_}"${g}/>`}var m={type:`image`,elemToHtml:p};function h(e){"@babel/helpers - typeof";return h=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},h(e)}function g(e,t){if(h(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(h(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function _(e){var t=g(e,`string`);return h(t)==`symbol`?t:t+``}function v(e,t,n){return(t=_(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function b(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?y(Object(n),!0).forEach(function(t){v(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var x=class{constructor(){this.tag=`button`}getValue(e){return``}isActive(e){return!1}getSelectedNode(t){return e.DomEditor.getSelectedNodeByType(t,`image`)}isDisabled(e){return e.selection==null?!0:this.getSelectedNode(e)==null}exec(t,n){if(this.isDisabled(t))return;let r=this.getSelectedNode(t);if(r==null)return;let i=e.DomEditor.getHoverbar(t);i&&i.hideAndClean();let{style:a={}}=r,o={style:b(b({},a),{},{float:this.value})};e.SlateTransforms.setNodes(t,o,{match:t=>e.DomEditor.checkNodeType(t,`image`)})}},S=class extends x{constructor(...t){super(...t),this.title=(0,e.t)(`float.left`),this.value=`left`,this.iconSvg=`<svg viewBox="0 0 1024 1024"><path d="M77.03514075 117.83964445m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.4275674l0 68.35162074q0 12.42756741-12.4275674 12.42756741l-845.0745837 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162074q0-12.42756741 12.4275674-12.4275674Z"></path><path d="M77.03514075 801.35585185m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.42756741l0 68.35162074q0 12.42756741-12.4275674 12.42756742l-845.0745837 0q-12.42756741 0-12.4275674-12.42756742l0-68.35162074q0-12.42756741 12.4275674-12.42756741Z"></path><path d="M89.46270815 304.25315556h347.9718874c6.83516208 0 12.42756741 5.59240533 12.42756742 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.42756742 12.4275674h-347.9718874a12.42756741 12.42756741 0 0 1-12.4275674-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.4275674-12.42756741z"></path><path d="M512 552.8045037m12.42756741 0l410.10972444 0q12.42756741 0 12.4275674 12.42756742l0 68.35162073q0 12.42756741-12.4275674 12.42756741l-410.10972444 0q-12.42756741 0-12.42756741-12.42756741l0-68.35162073q0-12.42756741 12.42756741-12.42756742Z"></path><path d="M512 366.39099259m12.42756741 0l410.10972444 0q12.42756741 0 12.4275674 12.42756741l0 68.35162075q0 12.42756741-12.4275674 12.4275674l-410.10972444 0q-12.42756741 0-12.42756741-12.4275674l0-68.35162075q0-12.42756741 12.42756741-12.42756741Z"></path></svg>`}},C=class extends x{constructor(...t){super(...t),this.title=(0,e.t)(`float.none`),this.value=`none`,this.iconSvg=`<svg viewBox="0 0 1024 1024"><path d="M76.73805432 117.83964445m12.42756741 0l845.0745837 0q12.42756741 0 12.42756741 12.4275674l0 68.35162074q0 12.42756741-12.42756741 12.42756741l-845.0745837 0q-12.42756741 0-12.42756741-12.42756741l0-68.35162074q0-12.42756741 12.42756741-12.4275674Z"></path><path d="M76.73805432 801.35585185m12.42756741 0l845.0745837 0q12.42756741 0 12.42756741 12.42756741l0 68.35162074q0 12.42756741-12.42756741 12.42756742l-845.0745837 0q-12.42756741 0-12.42756741-12.42756742l0-68.35162074q0-12.42756741 12.42756741-12.42756741Z"></path><path d="M89.16562173 304.25315556h410.10972444c6.83516208 0 12.42756741 5.59240533 12.42756741 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.42756741 12.4275674h-410.10972444a12.42756741 12.42756741 0 0 1-12.42756741-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.42756741-12.42756741z"></path></svg>`}},w=class extends x{constructor(...t){super(...t),this.title=(0,e.t)(`float.right`),this.value=`right`,this.iconSvg=`<svg viewBox="0 0 1024 1024"><path d="M77.03514075 117.83964445m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.4275674l0 68.35162074q0 12.42756741-12.4275674 12.42756741l-845.0745837 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162074q0-12.42756741 12.4275674-12.4275674Z"></path><path d="M77.03514075 801.35585185m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.42756741l0 68.35162074q0 12.42756741-12.4275674 12.42756742l-845.0745837 0q-12.42756741 0-12.4275674-12.42756742l0-68.35162074q0-12.42756741 12.4275674-12.42756741Z"></path><path d="M586.56540445 304.25315556h347.9718874c6.83516208 0 12.42756741 5.59240533 12.4275674 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.4275674 12.4275674h-347.9718874a12.42756741 12.42756741 0 0 1-12.42756742-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.42756742-12.42756741z"></path><path d="M77.03514075 552.8045037m12.4275674 0l410.10972444 0q12.42756741 0 12.42756741 12.42756742l0 68.35162073q0 12.42756741-12.42756741 12.42756741l-410.10972444 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162073q0-12.42756741 12.4275674-12.42756742Z"></path><path d="M77.03514075 366.39099259m12.4275674 0l410.10972444 0q12.42756741 0 12.42756741 12.42756741l0 68.35162075q0 12.42756741-12.42756741 12.4275674l-410.10972444 0q-12.42756741 0-12.4275674-12.4275674l0-68.35162075q0-12.42756741 12.4275674-12.42756741Z"></path></svg>`}};let T={key:`imageFloatNone`,factory(){return new C}},E={key:`imageFloatLeft`,factory(){return new S}},D={key:`imageFloatRight`,factory(){return new w}};globalThis.Node,globalThis.Comment,globalThis.Element,globalThis.Text,globalThis.Range,globalThis.Selection,globalThis.StaticRange,t.css&&(t.default.fn.css=t.css),t.append&&(t.default.fn.append=t.append),t.prepend&&(t.default.fn.prepend=t.prepend),t.addClass&&(t.default.fn.addClass=t.addClass),t.removeClass&&(t.default.fn.removeClass=t.removeClass),t.hasClass&&(t.default.fn.hasClass=t.hasClass),t.on&&(t.default.fn.on=t.on),t.off&&(t.default.fn.off=t.off),t.focus&&(t.default.fn.focus=t.focus),t.attr&&(t.default.fn.attr=t.attr),t.removeAttr&&(t.default.fn.removeAttr=t.removeAttr),t.hide&&(t.default.fn.hide=t.hide),t.show&&(t.default.fn.show=t.show),t.parents&&(t.default.fn.parents=t.parents),t.dataset&&(t.default.fn.dataset=t.dataset),t.val&&(t.default.fn.val=t.val),t.text&&(t.default.fn.text=t.text),t.html&&(t.default.fn.html=t.html),t.children&&(t.default.fn.children=t.children),t.remove&&(t.default.fn.remove=t.remove),t.find&&(t.default.fn.find=t.find),t.width&&(t.default.fn.width=t.width),t.height&&(t.default.fn.height=t.height),t.filter&&(t.default.fn.filter=t.filter),t.empty&&(t.default.fn.empty=t.empty);function O(e,t){let n=``,r=(e.attr(`style`)||``).split(`;`),i=r.length;for(let e=0;e<i;e+=1){let i=r[e];if(i){let e=i.split(`:`);e[0].trim()===t&&(n=e[1].trim())}}return n}var k=t.default;function ee(e){let t=O(e,`float`);if(t)return t;let n=(e.attr(`data-w-e-style-float`)||``).trim();if(n)return n;let r=(e.attr(`class`)||``).trim().split(/\s+/).filter(Boolean);return r.includes(`w-e-float-image-left`)?`left`:r.includes(`w-e-float-image-right`)?`right`:r.includes(`w-e-float-image-none`)?`none`:``}function te(e,t,n){let r=k(e),i=r.attr(`data-href`)||``,a=r.attr(`width`)||``,o=r.attr(`height`)||``,s=O(r,`width`)||r.attr(`data-w-e-style-width`)||a,c=O(r,`height`)||r.attr(`data-w-e-style-height`)||o,l=ee(r),u=d(r.attr(`loading`));return i=decodeURIComponent(i),b(b({type:`image`,src:r.attr(`src`)||``,alt:r.attr(`alt`)||``,href:i,style:{width:s,height:c,float:l},width:a,height:o},u?{loading:u}:{}),{},{children:[{text:``}]})}let ne={selector:`img:not([data-w-e-type])`,parseElemHtml:te};var A=c(((e,t)=>{var n=function(e){return e&&e.Math===Math&&e};t.exports=n(typeof globalThis==`object`&&globalThis)||n(typeof window==`object`&&window)||n(typeof self==`object`&&self)||n(typeof global==`object`&&global)||n(typeof e==`object`&&e)||(function(){return this})()||Function(`return this`)()})),j=c(((e,t)=>{t.exports=function(e){try{return!!e()}catch(e){return!0}}})),M=c(((e,t)=>{t.exports=!j()(function(){var e=(function(){}).bind();return typeof e!=`function`||e.hasOwnProperty(`prototype`)})})),re=c(((e,t)=>{var n=M(),r=Function.prototype,i=r.apply,a=r.call;t.exports=typeof Reflect==`object`&&Reflect.apply||(n?a.bind(i):function(){return a.apply(i,arguments)})})),N=c(((e,t)=>{var n=M(),r=Function.prototype,i=r.call,a=n&&r.bind.bind(i,i);t.exports=n?a:function(e){return function(){return i.apply(e,arguments)}}})),ie=c(((e,t)=>{var n=N(),r=n({}.toString),i=n(``.slice);t.exports=function(e){return i(r(e),8,-1)}})),P=c(((e,t)=>{var n=ie(),r=N();t.exports=function(e){if(n(e)===`Function`)return r(e)}})),F=c(((e,t)=>{var n=typeof document==`object`&&document.all;t.exports=n===void 0&&n!==void 0?function(e){return typeof e==`function`||e===n}:function(e){return typeof e==`function`}})),I=c(((e,t)=>{t.exports=!j()(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})})),L=c(((e,t)=>{var n=M(),r=Function.prototype.call;t.exports=n?r.bind(r):function(){return r.apply(r,arguments)}})),R=c((e=>{var t={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor;e.f=n&&!t.call({1:2},1)?function(e){var t=n(this,e);return!!t&&t.enumerable}:t})),z=c(((e,t)=>{t.exports=function(e,t){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:t}}})),B=c(((e,t)=>{var n=N(),r=j(),i=ie(),a=Object,o=n(``.split);t.exports=r(function(){return!a(`z`).propertyIsEnumerable(0)})?function(e){return i(e)===`String`?o(e,``):a(e)}:a})),V=c(((e,t)=>{t.exports=function(e){return e==null}})),H=c(((e,t)=>{var n=V(),r=TypeError;t.exports=function(e){if(n(e))throw new r(`Can't call method on `+e);return e}})),U=c(((e,t)=>{var n=B(),r=H();t.exports=function(e){return n(r(e))}})),W=c(((e,t)=>{var n=F();t.exports=function(e){return typeof e==`object`?e!==null:n(e)}})),G=c(((e,t)=>{t.exports={}})),ae=c(((e,t)=>{var n=G(),r=A(),i=F(),a=function(e){return i(e)?e:void 0};t.exports=function(e,t){return arguments.length<2?a(n[e])||a(r[e]):n[e]&&n[e][t]||r[e]&&r[e][t]}})),K=c(((e,t)=>{t.exports=N()({}.isPrototypeOf)})),oe=c(((e,t)=>{var n=A().navigator,r=n&&n.userAgent;t.exports=r?String(r):``})),se=c(((e,t)=>{var n=A(),r=oe(),i=n.process,a=n.Deno,o=i&&i.versions||a&&a.version,s=o&&o.v8,c,l;s&&(c=s.split(`.`),l=c[0]>0&&c[0]<4?1:+(c[0]+c[1])),!l&&r&&(c=r.match(/Edge\/(\d+)/),(!c||c[1]>=74)&&(c=r.match(/Chrome\/(\d+)/),c&&(l=+c[1]))),t.exports=l})),q=c(((e,t)=>{var n=se(),r=j(),i=A().String;t.exports=!!Object.getOwnPropertySymbols&&!r(function(){var e=Symbol(`symbol detection`);return!i(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&n&&n<41})})),J=c(((e,t)=>{t.exports=q()&&!Symbol.sham&&typeof Symbol.iterator==`symbol`})),Y=c(((e,t)=>{var n=ae(),r=F(),i=K(),a=J(),o=Object;t.exports=a?function(e){return typeof e==`symbol`}:function(e){var t=n(`Symbol`);return r(t)&&i(t.prototype,o(e))}})),ce=c(((e,t)=>{var n=String;t.exports=function(e){try{return n(e)}catch(e){return`Object`}}})),X=c(((e,t)=>{var n=F(),r=ce(),i=TypeError;t.exports=function(e){if(n(e))return e;throw new i(r(e)+` is not a function`)}})),le=c(((e,t)=>{var n=X(),r=V();t.exports=function(e,t){var i=e[t];return r(i)?void 0:n(i)}})),ue=c(((e,t)=>{var n=L(),r=F(),i=W(),a=TypeError;t.exports=function(e,t){var o,s;if(t===`string`&&r(o=e.toString)&&!i(s=n(o,e))||r(o=e.valueOf)&&!i(s=n(o,e))||t!==`string`&&r(o=e.toString)&&!i(s=n(o,e)))return s;throw new a(`Can't convert object to primitive value`)}})),de=c(((e,t)=>{t.exports=!0})),fe=c(((e,t)=>{var n=A(),r=Object.defineProperty;t.exports=function(e,t){try{r(n,e,{value:t,configurable:!0,writable:!0})}catch(r){n[e]=t}return t}})),Z=c(((e,t)=>{var n=de(),r=A(),i=fe(),a=`__core-js_shared__`,o=t.exports=r[a]||i(a,{});(o.versions||(o.versions=[])).push({version:`3.47.0`,mode:n?`pure`:`global`,copyright:`© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)`,license:`https://github.com/zloirock/core-js/blob/v3.47.0/LICENSE`,source:`https://github.com/zloirock/core-js`})})),pe=c(((e,t)=>{var n=Z();t.exports=function(e,t){return n[e]||(n[e]=t||{})}})),me=c(((e,t)=>{var n=H(),r=Object;t.exports=function(e){return r(n(e))}})),Q=c(((e,t)=>{var n=N(),r=me(),i=n({}.hasOwnProperty);t.exports=Object.hasOwn||function(e,t){return i(r(e),t)}})),he=c(((e,t)=>{var n=N(),r=0,i=Math.random(),a=n(1.1.toString);t.exports=function(e){return`Symbol(`+(e===void 0?``:e)+`)_`+a(++r+i,36)}})),ge=c(((e,t)=>{var n=A(),r=pe(),i=Q(),a=he(),o=q(),s=J(),c=n.Symbol,l=r(`wks`),u=s?c.for||c:c&&c.withoutSetter||a;t.exports=function(e){return i(l,e)||(l[e]=o&&i(c,e)?c[e]:u(`Symbol.`+e)),l[e]}})),_e=c(((e,t)=>{var n=L(),r=W(),i=Y(),a=le(),o=ue(),s=ge(),c=TypeError,l=s(`toPrimitive`);t.exports=function(e,t){if(!r(e)||i(e))return e;var s=a(e,l),u;if(s){if(t===void 0&&(t=`default`),u=n(s,e,t),!r(u)||i(u))return u;throw new c(`Can't convert object to primitive value`)}return t===void 0&&(t=`number`),o(e,t)}})),ve=c(((e,t)=>{var n=_e(),r=Y();t.exports=function(e){var t=n(e,`string`);return r(t)?t:t+``}})),ye=c(((e,t)=>{var n=A(),r=W(),i=n.document,a=r(i)&&r(i.createElement);t.exports=function(e){return a?i.createElement(e):{}}})),be=c(((e,t)=>{var n=I(),r=j(),i=ye();t.exports=!n&&!r(function(){return Object.defineProperty(i(`div`),`a`,{get:function(){return 7}}).a!==7})})),xe=c((e=>{var t=I(),n=L(),r=R(),i=z(),a=U(),o=ve(),s=Q(),c=be(),l=Object.getOwnPropertyDescriptor;e.f=t?l:function(e,t){if(e=a(e),t=o(t),c)try{return l(e,t)}catch(e){}if(s(e,t))return i(!n(r.f,e,t),e[t])}})),Se=c(((e,t)=>{var n=j(),r=F(),i=/#|\.prototype\./,a=function(e,t){var i=s[o(e)];return i===l?!0:i===c?!1:r(t)?n(t):!!t},o=a.normalize=function(e){return String(e).replace(i,`.`).toLowerCase()},s=a.data={},c=a.NATIVE=`N`,l=a.POLYFILL=`P`;t.exports=a})),Ce=c(((e,t)=>{var n=P(),r=X(),i=M(),a=n(n.bind);t.exports=function(e,t){return r(e),t===void 0?e:i?a(e,t):function(){return e.apply(t,arguments)}}})),we=c(((e,t)=>{var n=I(),r=j();t.exports=n&&r(function(){return Object.defineProperty(function(){},`prototype`,{value:42,writable:!1}).prototype!==42})})),Te=c(((e,t)=>{var n=W(),r=String,i=TypeError;t.exports=function(e){if(n(e))return e;throw new i(r(e)+` is not an object`)}})),Ee=c((e=>{var t=I(),n=be(),r=we(),i=Te(),a=ve(),o=TypeError,s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,l=`enumerable`,u=`configurable`,d=`writable`;e.f=t?r?function(e,t,n){if(i(e),t=a(t),i(n),typeof e==`function`&&t===`prototype`&&`value`in n&&d in n&&!n[d]){var r=c(e,t);r&&r[d]&&(e[t]=n.value,n={configurable:u in n?n[u]:r[u],enumerable:l in n?n[l]:r[l],writable:!1})}return s(e,t,n)}:s:function(e,t,r){if(i(e),t=a(t),i(r),n)try{return s(e,t,r)}catch(e){}if(`get`in r||`set`in r)throw new o(`Accessors not supported`);return`value`in r&&(e[t]=r.value),e}})),De=c(((e,t)=>{var n=I(),r=Ee(),i=z();t.exports=n?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}})),Oe=c(((e,t)=>{var n=A(),r=re(),i=P(),a=F(),o=xe().f,s=Se(),c=G(),l=Ce(),u=De(),d=Q();Z();var f=function(e){var t=function(n,i,a){if(this instanceof t){switch(arguments.length){case 0:return new e;case 1:return new e(n);case 2:return new e(n,i)}return new e(n,i,a)}return r(e,this,arguments)};return t.prototype=e.prototype,t};t.exports=function(e,t){var r=e.target,p=e.global,m=e.stat,h=e.proto,g=p?n:m?n[r]:n[r]&&n[r].prototype,_=p?c:c[r]||u(c,r,{})[r],v=_.prototype,y,b,x,S,C,w,T,E,D;for(S in t)y=s(p?S:r+(m?`.`:`#`)+S,e.forced),b=!y&&g&&d(g,S),w=_[S],b&&(e.dontCallGetSet?(D=o(g,S),T=D&&D.value):T=g[S]),C=b&&T?T:t[S],!(!y&&!h&&typeof w==typeof C)&&(E=e.bind&&b?l(C,n):e.wrap&&b?f(C):h&&a(C)?i(C):C,(e.sham||C&&C.sham||w&&w.sham)&&u(E,`sham`,!0),u(_,S,E),h&&(x=r+`Prototype`,d(c,x)||u(c,x,{}),u(c[x],S,C),e.real&&v&&(y||!v[S])&&u(v,S,C)))}})),ke=c(((e,t)=>{var n=Math.ceil,r=Math.floor;t.exports=Math.trunc||function(e){var t=+e;return(t>0?r:n)(t)}})),Ae=c(((e,t)=>{var n=ke();t.exports=function(e){var t=+e;return t!==t||t===0?0:n(t)}})),je=c(((e,t)=>{var n=Ae(),r=Math.max,i=Math.min;t.exports=function(e,t){var a=n(e);return a<0?r(a+t,0):i(a,t)}})),Me=c(((e,t)=>{var n=Ae(),r=Math.min;t.exports=function(e){var t=n(e);return t>0?r(t,9007199254740991):0}})),Ne=c(((e,t)=>{var n=Me();t.exports=function(e){return n(e.length)}})),Pe=c(((e,t)=>{var n=U(),r=je(),i=Ne(),a=function(e){return function(t,a,o){var s=n(t),c=i(s);if(c===0)return!e&&-1;var l=r(o,c),u;if(e&&a!==a){for(;c>l;)if(u=s[l++],u!==u)return!0}else for(;c>l;l++)if((e||l in s)&&s[l]===a)return e||l||0;return!e&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}})),Fe=c(((e,t)=>{t.exports={}})),Ie=c(((e,t)=>{var n=N(),r=Q(),i=U(),a=Pe().indexOf,o=Fe(),s=n([].push);t.exports=function(e,t){var n=i(e),c=0,l=[],u;for(u in n)!r(o,u)&&r(n,u)&&s(l,u);for(;t.length>c;)r(n,u=t[c++])&&(~a(l,u)||s(l,u));return l}})),Le=c(((e,t)=>{t.exports=[`constructor`,`hasOwnProperty`,`isPrototypeOf`,`propertyIsEnumerable`,`toLocaleString`,`toString`,`valueOf`]})),Re=c(((e,t)=>{var n=Ie(),r=Le();t.exports=Object.keys||function(e){return n(e,r)}})),ze=c((e=>{e.f=Object.getOwnPropertySymbols})),Be=c(((e,t)=>{var n=I(),r=N(),i=L(),a=j(),o=Re(),s=ze(),c=R(),l=me(),u=B(),d=Object.assign,f=Object.defineProperty,p=r([].concat);t.exports=!d||a(function(){if(n&&d({b:1},d(f({},`a`,{enumerable:!0,get:function(){f(this,`b`,{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var e={},t={},r=Symbol(`assign detection`),i=`abcdefghijklmnopqrst`;return e[r]=7,i.split(``).forEach(function(e){t[e]=e}),d({},e)[r]!==7||o(d({},t)).join(``)!==i})?function(e,t){for(var r=l(e),a=arguments.length,d=1,f=s.f,m=c.f;a>d;)for(var h=u(arguments[d++]),g=f?p(o(h),f(h)):o(h),_=g.length,v=0,y;_>v;)y=g[v++],(!n||i(m,h,y))&&(r[y]=h[y]);return r}:d})),Ve=c((()=>{var e=Oe(),t=Be();e({target:`Object`,stat:!0,arity:2,forced:Object.assign!==t},{assign:t})})),He=c(((e,t)=>{Ve(),t.exports=G().Object.assign})),Ue=c(((e,t)=>{t.exports=He()})),We=c(((e,t)=>{t.exports=Ue()})),Ge=c(((e,t)=>{t.exports=We()})),Ke=c(((e,t)=>{t.exports=Ge()})),qe=c(((e,t)=>{t.exports=N()([].slice)})),Je=c(((e,t)=>{var n=N(),r=X(),i=W(),a=Q(),o=qe(),s=M(),c=Function,l=n([].concat),u=n([].join),d={},f=function(e,t,n){if(!a(d,t)){for(var r=[],i=0;i<t;i++)r[i]=`a[`+i+`]`;d[t]=c(`C,a`,`return new C(`+u(r,`,`)+`)`)}return d[t](e,n)};t.exports=s?c.bind:function(e){var t=r(this),n=t.prototype,a=o(arguments,1),s=function(){var n=l(a,o(arguments));return this instanceof s?f(t,n.length,n):t.apply(e,n)};return i(n)&&(s.prototype=n),s}})),Ye=c((()=>{var e=Oe(),t=Je();e({target:`Function`,proto:!0,forced:Function.bind!==t},{bind:t})})),Xe=c(((e,t)=>{var n=A(),r=G();t.exports=function(e,t){var i=r[e+`Prototype`],a=i&&i[t];if(a)return a;var o=n[e],s=o&&o.prototype;return s&&s[t]}})),Ze=c(((e,t)=>{Ye(),t.exports=Xe()(`Function`,`bind`)})),Qe=c(((e,t)=>{var n=K(),r=Ze(),i=Function.prototype;t.exports=function(e){var t=e.bind;return e===i||n(i,e)&&t===i.bind?r:t}})),$e=c(((e,t)=>{t.exports=Qe()})),et=c(((e,t)=>{t.exports=$e()})),tt=c(((e,t)=>{t.exports=et()})),nt=c(((e,t)=>{t.exports=tt()})),rt=u(Ke(),1),it=u(nt(),1);function $(){var e;return $=rt.default?(0,it.default)(e=rt.default).call(e):function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},$.apply(null,arguments)}var at=u(c(((e,t)=>{var n=`Expected a function`,r=NaN,i=`[object Symbol]`,a=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt,u=typeof global==`object`&&global&&global.Object===Object&&global,d=typeof self==`object`&&self&&self.Object===Object&&self,f=u||d||Function(`return this`)(),p=Object.prototype.toString,m=Math.max,h=Math.min,g=function(){return f.Date.now()};function _(e,t,r){var i,a,o,s,c,l,u=0,d=!1,f=!1,p=!0;if(typeof e!=`function`)throw TypeError(n);t=S(t)||0,y(r)&&(d=!!r.leading,f=`maxWait`in r,o=f?m(S(r.maxWait)||0,t):o,p=`trailing`in r?!!r.trailing:p);function _(t){var n=i,r=a;return i=a=void 0,u=t,s=e.apply(r,n),s}function v(e){return u=e,c=setTimeout(C,t),d?_(e):s}function b(e){var n=e-l,r=e-u,i=t-n;return f?h(i,o-r):i}function x(e){var n=e-l,r=e-u;return l===void 0||n>=t||n<0||f&&r>=o}function C(){var e=g();if(x(e))return w(e);c=setTimeout(C,b(e))}function w(e){return c=void 0,p&&i?_(e):(i=a=void 0,s)}function T(){c!==void 0&&clearTimeout(c),u=0,i=l=a=c=void 0}function E(){return c===void 0?s:w(g())}function D(){var e=g(),n=x(e);if(i=arguments,a=this,l=e,n){if(c===void 0)return v(l);if(f)return c=setTimeout(C,t),_(l)}return c===void 0&&(c=setTimeout(C,t)),s}return D.cancel=T,D.flush=E,D}function v(e,t,r){var i=!0,a=!0;if(typeof e!=`function`)throw TypeError(n);return y(r)&&(i=`leading`in r?!!r.leading:i,a=`trailing`in r?!!r.trailing:a),_(e,t,{leading:i,maxWait:t,trailing:a})}function y(e){var t=typeof e;return!!e&&(t==`object`||t==`function`)}function b(e){return!!e&&typeof e==`object`}function x(e){return typeof e==`symbol`||b(e)&&p.call(e)==i}function S(e){if(typeof e==`number`)return e;if(x(e))return r;if(y(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=y(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=e.replace(a,``);var n=s.test(e);return n||c.test(e)?l(e.slice(2),n?2:8):o.test(e)?r:+e}t.exports=v}))());function ot(t,n){let{id:r}=e.DomEditor.findKey(t,n);return`w-e-image-container-${r}`}function st(e,t,n,r){let{width:i,height:a,float:o}=r,s={};i&&(s.width=i),a&&(s.height=a),o&&(s.float=o);let c=ot(e,t);return jsx(`div`,{id:c,style:s,className:`w-e-image-container`},n)}function ct(t,n,r,i){let a=k(`body`),o=ot(t,n),{width:s,height:c,float:l}=i,u=0,d=0,f=0,p=0,m=!1,h=null;function g(){let e=k(`#${o}`);if(e.length===0)throw Error(`Cannot find image container elem`);return e}let _=(0,at.default)(e=>{e.preventDefault();let{clientX:t}=e,n=m?u-t:t-u,r=d+n,i=r/d*f;h!=null&&(r<=15||i<=15||(h.css(`width`,`${r}px`),h.css(`height`,`${i}px`)))},100);function v(r){var i,o;if(a.off(`mousemove`,_),h==null)return;let s=h.width().toFixed(2),c=h.height().toFixed(2),l=(i=t.getConfig().imageResize)==null?void 0:i.resizeUnit,u=l===`%`&&p>0?`${(Number(s)/p*100).toFixed(2)}%`:`${s}px`,m=l===`%`?``:`${c}px`,g=(o=t.getConfig().imageResize)==null?void 0:o.checkImageSize,y=g==null?void 0:g({width:u,height:m,rawWidth:u,rawHeight:m,source:`drag`});if(typeof y==`string`){t.alert(y,`error`),h.css(`width`,`${d}px`),h.css(`height`,`${f}px`),a.off(`mouseup`,v);return}if(g&&y!==!0){h.css(`width`,`${d}px`),h.css(`height`,`${f}px`),a.off(`mouseup`,v);return}let x={style:b(b({},n.style),{},{width:u,height:m})};e.SlateTransforms.setNodes(t,x,{at:e.DomEditor.findPath(t,n)}),a.off(`mouseup`,v)}function y(n,r){h=g(),u=n,p=r;let i=h.find(`img`);if(i.length===0)throw Error(`Cannot find image elem`);d=i.width(),f=i.height(),a.on(`mousemove`,_),a.on(`mouseup`,v);let o=e.DomEditor.getHoverbar(t);o&&o.hideAndClean()}let x={};return s&&(x.width=s),c&&(x.height=c),l&&(x.float=l),jsx(`div`,{id:o,style:x,className:`w-e-image-container w-e-selected-image-container`,on:{mousedown:r=>{let i=k(r.target);if(!i.hasClass(`w-e-image-dragger`))return;r.preventDefault(),(i.hasClass(`left-top`)||i.hasClass(`left-bottom`))&&(m=!0);let a=e.DomEditor.getParentNode(t,n);if(a==null)return;let o=e.DomEditor.toDOMNode(t,a),s=o.getBoundingClientRect?o.getBoundingClientRect():{width:0};y(r.clientX,s.width)}}},r,jsx(`div`,{className:`w-e-image-dragger left-top`}),jsx(`div`,{className:`w-e-image-dragger right-top`}),jsx(`div`,{className:`w-e-image-dragger left-bottom`}),jsx(`div`,{className:`w-e-image-dragger right-bottom`}))}function lt(t,n,r){let{src:i,alt:a=``,href:o=``,loading:s,style:c={}}=t,{width:l=``,height:u=``,float:f}=c,p=d(s),m=e.DomEditor.isNodeSelected(r,t),h={};l&&(h.width=`100%`),u&&(h.height=`100%`),f&&(h.float=f);let g=jsx(`img`,$({style:h,src:i,alt:a,"data-href":o},p?{loading:p}:{})),_=r.isDisabled();return m&&!_?ct(r,t,g,{width:l,height:u,float:f}):st(r,t,g,{width:l,height:u,float:f})}return{renderElems:[{type:`image`,renderElem:lt}],elemsToHtml:[m],parseElemsHtml:[ne],menus:[E,D,T]}});
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["i18nAddResources","float","none","left","right","getTextStyleMode","getFloatClass","float","val","trim","toLowerCase","imageToHtml","elem","_childrenHtml","editor","src","alt","href","style","width","height","mode","widthData","heightData","floatData","floatClass","classAttr","styleStr","conf","type","elemToHtml","DEFAULT_FLOAT_SVG","LEFT_FLOAT_SVG","RIGHT_FLOAT_SVG","DomEditor","SlateTransforms","ImageFloatBaseClass","tag","getValue","_editor","isActive","getSelectedNode","editor","getSelectedNodeByType","isDisabled","selection","imageNode","exec","_value","hoverbar","getHoverbar","hideAndClean","style","props","float","value","setNodes","match","n","checkNodeType","t","LEFT_FLOAT_SVG","ImageFloatBaseClass","FloatLeft","title","value","iconSvg","t","DEFAULT_FLOAT_SVG","ImageFloatBaseClass","FloatNone","title","value","iconSvg","t","RIGHT_FLOAT_SVG","ImageFloatBaseClass","FloatRight","title","value","iconSvg","ImageFloatLeft","ImageFloatNone","ImageFloatRight","imageFloatNoneMenuConf","key","factory","imageFloatLeftMenuConf","imageFloatRightMenuConf","$","addClass","append","attr","children","css","dataset","empty","filter","find","focus","hasClass","height","hide","html","off","on","parents","prepend","remove","removeAttr","removeClass","show","text","val","width","DOMNode","globalThis","Node","DOMComment","Comment","DOMElement","Element","DOMText","Text","DOMRange","Range","DOMSelection","Selection","DOMStaticRange","StaticRange","fn","getStyleValue","$elem","styleKey","res","styleStr","styleArr","split","length","i","styleItemStr","arr","trim","$","getStyleValue","getFloatValue","$elem","styleFloat","dataFloat","attr","trim","classAttr","classList","split","filter","Boolean","includes","parseHtml","elem","_children","_editor","href","widthAttr","heightAttr","styleWidth","styleHeight","decodeURIComponent","type","src","alt","style","width","height","float","children","text","parseHtmlConf","selector","parseElemHtml","result","DomEditor","SlateTransforms","throttle","$$","genContainerId","editor","elemNode","id","findKey","renderContainer","imageVnode","imageInfo","width","height","float","style","containerId","jsx","className","renderResizeContainer","$body","originalX","originalWith","originalHeight","maxWidth","revers","$container","getContainerElem","$containerFromDom","length","Error","onMousemove","e","preventDefault","clientX","gap","newWidth","newHeight","css","onMouseup","_e","off","toFixed","resizeUnit","getConfig","imageResize","resizedWidth","Number","resizedHeight","checkImageSize","checkResult","rawWidth","rawHeight","source","alert","props","setNodes","at","findPath","init","parentNodeWidth","$img","find","on","hoverbar","getHoverbar","hideAndClean","mousedown","$target","target","hasClass","parentNode","getParentNode","parentNodeDom","toDOMNode","rect","getBoundingClientRect","renderImage","children","src","alt","href","selected","isNodeSelected","imageStyle","vnode","isDisabled","renderImageConf","type","renderElem","elemToHtmlConf","imageFloatLeftMenuConf","imageFloatNoneMenuConf","imageFloatRightMenuConf","parseHtmlConf","renderImageConf","module","renderElems","elemsToHtml","parseElemsHtml","menus","module"],"sources":["../src/module/local.ts","../src/module/elem-to-html.ts","../src/constants/icon-svg.ts","../src/module/menu/FloatBase.ts","../src/module/menu/FloatLeft.ts","../src/module/menu/FloatNone.ts","../src/module/menu/FloatRight.ts","../src/module/menu/index.ts","../src/utils/dom.ts","../src/module/parse-elem-html.ts","../../../node_modules/.pnpm/lodash.throttle@4.1.1/node_modules/lodash.throttle/index.js","../src/module/render-elem.tsx","../src/module/index.ts","../src/index.ts"],"sourcesContent":["/**\n * @description 多语言\n * @author cycleccc\n */\n\nimport { i18nAddResources } from '@wangeditor-next/editor'\n\ni18nAddResources('en', {\n float: {\n none: 'Default',\n left: 'Float Left',\n right: 'Float Right',\n },\n})\n\ni18nAddResources('zh-CN', {\n float: {\n none: '默认',\n left: '左浮动',\n right: '右浮动',\n },\n})\n","/**\n * @description elem to html\n * @author cycleccc\n */\n\nimport { getTextStyleMode, IDomEditor, SlateElement } from '@wangeditor-next/editor'\n\nimport { ImageElement } from './custom-types'\n\nfunction getFloatClass(float: string): string {\n const val = (float || '').trim().toLowerCase()\n\n if (val === 'left') { return 'w-e-float-image-left' }\n if (val === 'right') { return 'w-e-float-image-right' }\n if (val === 'none') { return 'w-e-float-image-none' }\n\n return ''\n}\n\n// 生成 html 的函数\nfunction imageToHtml(elem: SlateElement, _childrenHtml: string, editor?: IDomEditor): string {\n const {\n src, alt = '', href = '', style = {},\n } = elem as ImageElement\n const { width = '', height = '', float = '' } = style\n const mode = getTextStyleMode(editor)\n\n if (mode === 'class') {\n const widthData = width ? ` data-w-e-style-width=\"${width}\"` : ''\n const heightData = height ? ` data-w-e-style-height=\"${height}\"` : ''\n const floatData = float ? ` data-w-e-style-float=\"${float}\"` : ''\n const floatClass = getFloatClass(float)\n const classAttr = floatClass ? ` class=\"${floatClass}\"` : ''\n\n return `<img src=\"${src}\" alt=\"${alt}\" data-href=\"${href}\" width=\"${width}\" height=\"${height}\"${classAttr}${widthData}${heightData}${floatData}/>`\n }\n\n let styleStr = ''\n\n if (width) { styleStr += `width: ${width};` }\n if (height) { styleStr += `height: ${height};` }\n if (float) { styleStr += `float: ${float};` }\n return `<img src=\"${src}\" alt=\"${alt}\" data-href=\"${href}\" style=\"${styleStr}\"/>`\n}\n\n// 配置\nconst conf = {\n type: 'image', // 节点 type ,重要!!!\n elemToHtml: imageToHtml,\n}\n\nexport default conf\n","/**\n * @description icon svg\n * @author cycleccc\n */\n\n/**\n * 【注意】svg 字符串的长度 ,否则会导致代码体积过大\n * 尽量选择 https://www.iconfont.cn/collections/detail?spm=a313x.7781069.0.da5a778a4&cid=20293\n * 找不到再从 iconfont.com 搜索\n */\n\n// 默认不浮动\nexport const DEFAULT_FLOAT_SVG = '<svg viewBox=\"0 0 1024 1024\"><path d=\"M76.73805432 117.83964445m12.42756741 0l845.0745837 0q12.42756741 0 12.42756741 12.4275674l0 68.35162074q0 12.42756741-12.42756741 12.42756741l-845.0745837 0q-12.42756741 0-12.42756741-12.42756741l0-68.35162074q0-12.42756741 12.42756741-12.4275674Z\"></path><path d=\"M76.73805432 801.35585185m12.42756741 0l845.0745837 0q12.42756741 0 12.42756741 12.42756741l0 68.35162074q0 12.42756741-12.42756741 12.42756742l-845.0745837 0q-12.42756741 0-12.42756741-12.42756742l0-68.35162074q0-12.42756741 12.42756741-12.42756741Z\"></path><path d=\"M89.16562173 304.25315556h410.10972444c6.83516208 0 12.42756741 5.59240533 12.42756741 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.42756741 12.4275674h-410.10972444a12.42756741 12.42756741 0 0 1-12.42756741-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.42756741-12.42756741z\"></path></svg>'\n// 左浮动\nexport const LEFT_FLOAT_SVG = '<svg viewBox=\"0 0 1024 1024\"><path d=\"M77.03514075 117.83964445m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.4275674l0 68.35162074q0 12.42756741-12.4275674 12.42756741l-845.0745837 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162074q0-12.42756741 12.4275674-12.4275674Z\"></path><path d=\"M77.03514075 801.35585185m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.42756741l0 68.35162074q0 12.42756741-12.4275674 12.42756742l-845.0745837 0q-12.42756741 0-12.4275674-12.42756742l0-68.35162074q0-12.42756741 12.4275674-12.42756741Z\"></path><path d=\"M89.46270815 304.25315556h347.9718874c6.83516208 0 12.42756741 5.59240533 12.42756742 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.42756742 12.4275674h-347.9718874a12.42756741 12.42756741 0 0 1-12.4275674-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.4275674-12.42756741z\"></path><path d=\"M512 552.8045037m12.42756741 0l410.10972444 0q12.42756741 0 12.4275674 12.42756742l0 68.35162073q0 12.42756741-12.4275674 12.42756741l-410.10972444 0q-12.42756741 0-12.42756741-12.42756741l0-68.35162073q0-12.42756741 12.42756741-12.42756742Z\"></path><path d=\"M512 366.39099259m12.42756741 0l410.10972444 0q12.42756741 0 12.4275674 12.42756741l0 68.35162075q0 12.42756741-12.4275674 12.4275674l-410.10972444 0q-12.42756741 0-12.42756741-12.4275674l0-68.35162075q0-12.42756741 12.42756741-12.42756741Z\"></path></svg>'\n// 右浮动\nexport const RIGHT_FLOAT_SVG = '<svg viewBox=\"0 0 1024 1024\"><path d=\"M77.03514075 117.83964445m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.4275674l0 68.35162074q0 12.42756741-12.4275674 12.42756741l-845.0745837 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162074q0-12.42756741 12.4275674-12.4275674Z\"></path><path d=\"M77.03514075 801.35585185m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.42756741l0 68.35162074q0 12.42756741-12.4275674 12.42756742l-845.0745837 0q-12.42756741 0-12.4275674-12.42756742l0-68.35162074q0-12.42756741 12.4275674-12.42756741Z\"></path><path d=\"M586.56540445 304.25315556h347.9718874c6.83516208 0 12.42756741 5.59240533 12.4275674 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.4275674 12.4275674h-347.9718874a12.42756741 12.42756741 0 0 1-12.42756742-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.42756742-12.42756741z\"></path><path d=\"M77.03514075 552.8045037m12.4275674 0l410.10972444 0q12.42756741 0 12.42756741 12.42756742l0 68.35162073q0 12.42756741-12.42756741 12.42756741l-410.10972444 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162073q0-12.42756741 12.4275674-12.42756742Z\"></path><path d=\"M77.03514075 366.39099259m12.4275674 0l410.10972444 0q12.42756741 0 12.42756741 12.42756741l0 68.35162075q0 12.42756741-12.42756741 12.4275674l-410.10972444 0q-12.42756741 0-12.4275674-12.4275674l0-68.35162075q0-12.42756741 12.4275674-12.42756741Z\"></path></svg>'\n","/**\n * @description image float base class\n * @author cycleccc\n */\n\nimport {\n DomEditor, IButtonMenu, IDomEditor, SlateNode, SlateTransforms,\n} from '@wangeditor-next/editor'\n\nimport { ImageElement } from '../custom-types'\n\nabstract class ImageFloatBaseClass implements IButtonMenu {\n abstract readonly title: string // 菜单标题\n\n abstract readonly iconSvg: string // 图标\n\n abstract readonly value: string // css float 的值\n\n readonly tag = 'button'\n\n getValue(_editor: IDomEditor): string | boolean {\n // 无需获取 val\n return ''\n }\n\n isActive(_editor: IDomEditor): boolean {\n // 无需 active\n return false\n }\n\n private getSelectedNode(editor: IDomEditor): SlateNode | null {\n return DomEditor.getSelectedNodeByType(editor, 'image')\n }\n\n isDisabled(editor: IDomEditor): boolean {\n if (editor.selection == null) { return true }\n\n const imageNode = this.getSelectedNode(editor)\n\n return imageNode == null\n }\n\n exec(editor: IDomEditor, _value: string | boolean) {\n if (this.isDisabled(editor)) { return }\n\n const imageNode = this.getSelectedNode(editor)\n\n if (imageNode == null) { return }\n\n // 隐藏 hoverbar\n const hoverbar = DomEditor.getHoverbar(editor)\n\n if (hoverbar) { hoverbar.hideAndClean() }\n\n const { style = {} } = imageNode as ImageElement\n const props: Partial<ImageElement> = {\n style: {\n ...style,\n float: this.value, // 修改 float 的值\n },\n }\n\n SlateTransforms.setNodes(editor, props, {\n match: n => DomEditor.checkNodeType(n, 'image'),\n })\n }\n}\n\nexport default ImageFloatBaseClass\n","/**\n * @description float image left\n * @author cycleccc\n */\n\nimport { t } from '@wangeditor-next/editor'\n\nimport { LEFT_FLOAT_SVG } from '../../constants/icon-svg'\nimport ImageFloatBaseClass from './FloatBase'\n\nclass FloatLeft extends ImageFloatBaseClass {\n readonly title = t('float.left') // 菜单标题\n\n readonly value = 'left' // css float 的值\n\n readonly iconSvg = LEFT_FLOAT_SVG\n}\n\nexport default FloatLeft\n","/**\n * @description float image none\n * @author cycleccc\n */\n\nimport { t } from '@wangeditor-next/editor'\n\nimport { DEFAULT_FLOAT_SVG } from '../../constants/icon-svg'\nimport ImageFloatBaseClass from './FloatBase'\n\nclass FloatNone extends ImageFloatBaseClass {\n readonly title = t('float.none') // 菜单标题\n\n readonly value = 'none' // css float 的值\n\n readonly iconSvg = DEFAULT_FLOAT_SVG\n}\n\nexport default FloatNone\n","/**\n * @description float image right\n * @author cycleccc\n */\n\nimport { t } from '@wangeditor-next/editor'\n\nimport { RIGHT_FLOAT_SVG } from '../../constants/icon-svg'\nimport ImageFloatBaseClass from './FloatBase'\n\nclass FloatRight extends ImageFloatBaseClass {\n readonly title = t('float.right') // 菜单标题\n\n readonly value = 'right' // css float 的值\n\n readonly iconSvg = RIGHT_FLOAT_SVG\n}\n\nexport default FloatRight\n","/**\n * @description menu index\n * @author cycleccc\n */\n\nimport ImageFloatLeft from './FloatLeft'\nimport ImageFloatNone from './FloatNone'\nimport ImageFloatRight from './FloatRight'\n\nexport const imageFloatNoneMenuConf = {\n key: 'imageFloatNone',\n factory() {\n return new ImageFloatNone()\n },\n}\n\nexport const imageFloatLeftMenuConf = {\n key: 'imageFloatLeft',\n factory() {\n return new ImageFloatLeft()\n },\n}\n\nexport const imageFloatRightMenuConf = {\n key: 'imageFloatRight',\n factory() {\n return new ImageFloatRight()\n },\n}\n","/**\n * @description DOM 操作\n * @author cycleccc\n */\n\nimport $, {\n addClass,\n append,\n attr,\n children,\n css,\n dataset,\n Dom7Array,\n empty,\n filter,\n find,\n focus,\n hasClass,\n height,\n hide,\n html,\n off,\n on,\n parents,\n prepend,\n remove,\n removeAttr,\n removeClass,\n show,\n text,\n val,\n width,\n} from 'dom7'\n\n// COMPAT: This is required to prevent TypeScript aliases from doing some very\n// weird things for Slate's types with the same name as globals. (2019/11/27)\n// https://github.com/microsoft/TypeScript/issues/35002\nimport DOMNode = globalThis.Node\nimport DOMComment = globalThis.Comment\nimport DOMElement = globalThis.Element\nimport DOMText = globalThis.Text\nimport DOMRange = globalThis.Range\nimport DOMSelection = globalThis.Selection\nimport DOMStaticRange = globalThis.StaticRange\n\nexport type { Dom7Array } from 'dom7'\n\nif (css) { $.fn.css = css }\nif (append) { $.fn.append = append }\nif (prepend) { $.fn.prepend = prepend }\nif (addClass) { $.fn.addClass = addClass }\nif (removeClass) { $.fn.removeClass = removeClass }\nif (hasClass) { $.fn.hasClass = hasClass }\nif (on) { $.fn.on = on }\nif (off) { $.fn.off = off }\nif (focus) { $.fn.focus = focus }\nif (attr) { $.fn.attr = attr }\nif (removeAttr) { $.fn.removeAttr = removeAttr }\nif (hide) { $.fn.hide = hide }\nif (show) { $.fn.show = show }\nif (parents) { $.fn.parents = parents }\nif (dataset) { $.fn.dataset = dataset }\nif (val) { $.fn.val = val }\nif (text) { $.fn.text = text }\nif (html) { $.fn.html = html }\nif (children) { $.fn.children = children }\nif (remove) { $.fn.remove = remove }\nif (find) { $.fn.find = find }\nif (width) { $.fn.width = width }\nif (height) { $.fn.height = height }\nif (filter) { $.fn.filter = filter }\nif (empty) { $.fn.empty = empty }\n\nexport function getStyleValue($elem: Dom7Array, styleKey: string): string {\n let res = ''\n\n const styleStr = $elem.attr('style') || ''\n const styleArr = styleStr.split(';')\n const length = styleArr.length\n\n for (let i = 0; i < length; i += 1) {\n const styleItemStr = styleArr[i]\n\n if (styleItemStr) {\n const arr = styleItemStr.split(':')\n\n if (arr[0].trim() === styleKey) {\n res = arr[1].trim()\n }\n }\n }\n\n return res\n}\n\nexport default $\nexport {\n DOMComment, DOMElement, DOMNode, DOMRange, DOMSelection, DOMStaticRange, DOMText,\n}\n","/**\n * @description parse elem html\n * @author cycleccc\n */\n\nimport { IDomEditor, SlateDescendant } from '@wangeditor-next/editor'\n\nimport $, { Dom7Array, DOMElement, getStyleValue } from '../utils/dom'\nimport { ImageElement } from './custom-types'\n\nfunction getFloatValue($elem: Dom7Array): string {\n const styleFloat = getStyleValue($elem, 'float')\n\n if (styleFloat) { return styleFloat }\n\n const dataFloat = ($elem.attr('data-w-e-style-float') || '').trim()\n\n if (dataFloat) { return dataFloat }\n\n const classAttr = $elem.attr('class') || ''\n const classList = classAttr.trim().split(/\\s+/).filter(Boolean)\n\n if (classList.includes('w-e-float-image-left')) { return 'left' }\n if (classList.includes('w-e-float-image-right')) { return 'right' }\n if (classList.includes('w-e-float-image-none')) { return 'none' }\n\n return ''\n}\n\nfunction parseHtml(elem: DOMElement, _children: SlateDescendant[], _editor: IDomEditor): ImageElement {\n const $elem = $(elem)\n let href = $elem.attr('data-href') || ''\n const widthAttr = $elem.attr('width') || ''\n const heightAttr = $elem.attr('height') || ''\n const styleWidth = getStyleValue($elem, 'width') || $elem.attr('data-w-e-style-width') || widthAttr\n const styleHeight = getStyleValue($elem, 'height') || $elem.attr('data-w-e-style-height') || heightAttr\n const styleFloat = getFloatValue($elem)\n\n href = decodeURIComponent(href) // 兼容 V4\n\n return {\n type: 'image',\n src: $elem.attr('src') || '',\n alt: $elem.attr('alt') || '',\n href,\n style: {\n width: styleWidth,\n height: styleHeight,\n float: styleFloat,\n },\n width: widthAttr,\n height: heightAttr,\n children: [{ text: '' }], // void node 有一个空白 text\n }\n}\n\nexport const parseHtmlConf = {\n selector: 'img:not([data-w-e-type])', // data-w-e-type 属性,留给自定义元素,保证扩展性\n parseElemHtml: parseHtml,\n}\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n","/**\n * @description image render elem\n * @author wangfupeng\n */\n\nimport {\n DomEditor, IDomEditor, SlateElement, SlateTransforms,\n} from '@wangeditor-next/editor'\nimport throttle from 'lodash.throttle'\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { jsx, VNode } from 'snabbdom'\n\nimport $$, { Dom7Array } from '../utils/dom'\nimport { ImageElement } from './custom-types'\n\ninterface IImageSize {\n width?: string\n height?: string\n float?: string\n}\n\nfunction genContainerId(editor: IDomEditor, elemNode: SlateElement) {\n const { id } = DomEditor.findKey(editor, elemNode) // node 唯一 id\n\n return `w-e-image-container-${id}`\n}\n\n/**\n * 未选中时,渲染 image container\n */\nfunction renderContainer(\n editor: IDomEditor,\n elemNode: SlateElement,\n imageVnode: VNode,\n imageInfo: IImageSize,\n): VNode {\n const { width, height, float } = imageInfo\n\n const style: any = {}\n\n if (width) { style.width = width }\n if (height) { style.height = height }\n if (float) { style.float = float }\n\n const containerId = genContainerId(editor, elemNode)\n\n return (\n <div id={containerId} style={style} className=\"w-e-image-container\">\n {imageVnode}\n </div>\n ) as VNode\n}\n\n/**\n * 选中状态下,渲染 image container(渲染拖拽容器,修改图片尺寸)\n */\nfunction renderResizeContainer(\n editor: IDomEditor,\n elemNode: SlateElement,\n imageVnode: VNode,\n imageInfo: IImageSize,\n) {\n const $body = $$('body')\n const containerId = genContainerId(editor, elemNode)\n const { width, height, float } = imageInfo\n\n let originalX = 0\n let originalWith = 0\n let originalHeight = 0\n let maxWidth = 0\n let revers = false // 是否反转。如向右拖拽 right-top 需增加宽度(非反转),但向右拖拽 left-top 则需要减少宽度(反转)\n let $container: Dom7Array | null = null\n\n function getContainerElem(): Dom7Array {\n const $containerFromDom = $$(`#${containerId}`)\n\n if ($containerFromDom.length === 0) { throw new Error('Cannot find image container elem') }\n return $containerFromDom\n }\n\n // mouseover callback (节流)\n const onMousemove = throttle((e: Event) => {\n e.preventDefault()\n\n const { clientX } = e as MouseEvent\n const gap = revers ? originalX - clientX : clientX - originalX // 考虑是否反转\n const newWidth = originalWith + gap\n const newHeight = originalHeight * (newWidth / originalWith) // 根据 width ,按比例计算 height\n\n // 实时修改 img 宽高 -【注意】这里只修改 DOM ,mouseup 时再统一不修改 node\n if ($container == null) { return }\n if (newWidth <= 15 || newHeight <= 15) { return } // 最小就是 15px\n\n $container.css('width', `${newWidth}px`)\n $container.css('height', `${newHeight}px`)\n }, 100)\n\n function onMouseup(_e: Event) {\n // 取消监听 mousemove\n $body.off('mousemove', onMousemove)\n\n if ($container == null) { return }\n const newWidth = $container.width().toFixed(2)\n const newHeight = $container.height().toFixed(2)\n const resizeUnit = editor.getConfig().imageResize?.resizeUnit\n const resizedWidth = resizeUnit === '%' && maxWidth > 0\n ? `${((Number(newWidth) / maxWidth) * 100).toFixed(2)}%`\n : `${newWidth}px`\n const resizedHeight = resizeUnit === '%' ? '' : `${newHeight}px`\n const checkImageSize = editor.getConfig().imageResize?.checkImageSize\n const checkResult = checkImageSize?.({\n width: resizedWidth,\n height: resizedHeight,\n rawWidth: resizedWidth,\n rawHeight: resizedHeight,\n source: 'drag',\n })\n\n if (typeof checkResult === 'string') {\n editor.alert(checkResult, 'error')\n $container.css('width', `${originalWith}px`)\n $container.css('height', `${originalHeight}px`)\n $body.off('mouseup', onMouseup)\n return\n }\n if (checkImageSize && checkResult !== true) {\n $container.css('width', `${originalWith}px`)\n $container.css('height', `${originalHeight}px`)\n $body.off('mouseup', onMouseup)\n return\n }\n\n // 修改 node\n const props: Partial<ImageElement> = {\n style: {\n ...(elemNode as ImageElement).style,\n width: resizedWidth,\n height: resizedHeight,\n },\n }\n\n SlateTransforms.setNodes(editor, props, { at: DomEditor.findPath(editor, elemNode) })\n\n // 取消监听 mouseup\n $body.off('mouseup', onMouseup)\n }\n\n /**\n * 初始化。监听事件,记录原始数据\n */\n function init(clientX: number, parentNodeWidth: number) {\n $container = getContainerElem()\n\n // 记录当前 x 坐标值\n originalX = clientX\n maxWidth = parentNodeWidth\n\n // 记录 img 原始宽高\n const $img = $container.find('img')\n\n if ($img.length === 0) { throw new Error('Cannot find image elem') }\n originalWith = $img.width()\n originalHeight = $img.height()\n\n // 监听 mousemove\n $body.on('mousemove', onMousemove)\n\n // 监听 mouseup\n $body.on('mouseup', onMouseup)\n\n // 隐藏 hoverbar\n const hoverbar = DomEditor.getHoverbar(editor)\n\n if (hoverbar) { hoverbar.hideAndClean() }\n }\n\n const style: any = {}\n\n if (width) { style.width = width }\n if (height) { style.height = height }\n if (float) { style.float = float }\n // style.boxShadow = '0 0 0 1px #B4D5FF' // 自定义 selected 样式,因为有拖拽触手\n\n return (\n <div\n id={containerId}\n style={style}\n className=\"w-e-image-container w-e-selected-image-container\"\n on={{\n // 统一绑定拖拽触手的 mousedown 事件\n mousedown: (e: MouseEvent) => {\n const $target = $$(e.target as Element)\n\n if (!$target.hasClass('w-e-image-dragger')) {\n // target 不是 .w-e-image-dragger 拖拽触手,则忽略\n return\n }\n e.preventDefault()\n\n if ($target.hasClass('left-top') || $target.hasClass('left-bottom')) {\n revers = true // 反转。向右拖拽,减少宽度\n }\n\n const parentNode = DomEditor.getParentNode(editor, elemNode)\n\n if (parentNode == null) { return }\n const parentNodeDom = DomEditor.toDOMNode(editor, parentNode)\n const rect = parentNodeDom.getBoundingClientRect\n ? parentNodeDom.getBoundingClientRect()\n : { width: 0 }\n\n init(e.clientX, rect.width) // 初始化\n },\n }}\n >\n {imageVnode}\n\n {/* 拖拽的触手,会统一在上级 DOM 绑定拖拽事件 */}\n <div className=\"w-e-image-dragger left-top\"></div>\n <div className=\"w-e-image-dragger right-top\"></div>\n <div className=\"w-e-image-dragger left-bottom\"></div>\n <div className=\"w-e-image-dragger right-bottom\"></div>\n </div>\n )\n}\n\nfunction renderImage(elemNode: SlateElement, children: VNode[] | null, editor: IDomEditor): VNode {\n const {\n src, alt = '', href = '', style = {},\n } = elemNode as ImageElement\n const { width = '', height = '', float } = style\n const selected = DomEditor.isNodeSelected(editor, elemNode) // 图片是否选中\n\n const imageStyle: any = {}\n\n if (width) { imageStyle.width = '100%' }\n if (height) { imageStyle.height = '100%' }\n if (float) { imageStyle.float = float }\n\n // 【注意】void node 中,renderElem 不用处理 children 。core 会统一处理。\n const vnode = <img style={imageStyle} src={src} alt={alt} data-href={href}/>\n\n const isDisabled = editor.isDisabled()\n\n if (selected && !isDisabled) {\n // 选中,未禁用 - 渲染 resize container\n return renderResizeContainer(editor, elemNode, vnode, { width, height, float })\n }\n\n // 其他,渲染普通 image container\n return renderContainer(editor, elemNode, vnode, { width, height, float })\n}\n\nconst renderImageConf = {\n type: 'image', // 和 elemNode.type 一致\n renderElem: renderImage,\n}\n\nexport { renderImageConf }\n","/**\n * @description module entry\n * @author cycleccc\n */\n\nimport './local' // 多语言\n\nimport { IModuleConf } from '@wangeditor-next/editor'\n\nimport elemToHtmlConf from './elem-to-html'\nimport { imageFloatLeftMenuConf, imageFloatNoneMenuConf, imageFloatRightMenuConf } from './menu'\nimport { parseHtmlConf } from './parse-elem-html'\nimport { renderImageConf } from './render-elem'\n\nconst module: Partial<IModuleConf> = {\n renderElems: [renderImageConf],\n elemsToHtml: [elemToHtmlConf],\n parseElemsHtml: [parseHtmlConf],\n menus: [imageFloatLeftMenuConf, imageFloatRightMenuConf, imageFloatNoneMenuConf],\n}\n\nexport default module\n","/**\n * @description src entry\n * @author cycleccc\n */\n\nimport './asserts/index.less'\n\nimport module from './module/index'\n\nexport * from './module/custom-types'\n\nexport default module\n"],"x_google_ignoreList":[10],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["i18nAddResources","float","none","left","right","normalizeImageLoading","value","undefined","loading","trim","toLowerCase","getTextStyleMode","normalizeImageLoading","getFloatClass","float","val","trim","toLowerCase","imageToHtml","elem","_childrenHtml","editor","src","alt","href","loading","style","width","height","mode","normalizedLoading","loadingAttr","widthData","heightData","floatData","floatClass","classAttr","styleStr","conf","type","elemToHtml","DEFAULT_FLOAT_SVG","LEFT_FLOAT_SVG","RIGHT_FLOAT_SVG","DomEditor","SlateTransforms","ImageFloatBaseClass","tag","getValue","_editor","isActive","getSelectedNode","editor","getSelectedNodeByType","isDisabled","selection","imageNode","exec","_value","hoverbar","getHoverbar","hideAndClean","style","props","float","value","setNodes","match","n","checkNodeType","t","LEFT_FLOAT_SVG","ImageFloatBaseClass","FloatLeft","title","value","iconSvg","t","DEFAULT_FLOAT_SVG","ImageFloatBaseClass","FloatNone","title","value","iconSvg","t","RIGHT_FLOAT_SVG","ImageFloatBaseClass","FloatRight","title","value","iconSvg","ImageFloatLeft","ImageFloatNone","ImageFloatRight","imageFloatNoneMenuConf","key","factory","imageFloatLeftMenuConf","imageFloatRightMenuConf","$","addClass","append","attr","children","css","dataset","empty","filter","find","focus","hasClass","height","hide","html","off","on","parents","prepend","remove","removeAttr","removeClass","show","text","val","width","DOMNode","globalThis","Node","DOMComment","Comment","DOMElement","Element","DOMText","Text","DOMRange","Range","DOMSelection","Selection","DOMStaticRange","StaticRange","fn","getStyleValue","$elem","styleKey","res","styleStr","styleArr","split","length","i","styleItemStr","arr","trim","$","getStyleValue","normalizeImageLoading","getFloatValue","$elem","styleFloat","dataFloat","attr","trim","classAttr","classList","split","filter","Boolean","includes","parseHtml","elem","_children","_editor","href","widthAttr","heightAttr","styleWidth","styleHeight","loading","decodeURIComponent","type","src","alt","style","width","height","float","children","text","parseHtmlConf","selector","parseElemHtml","val","_Object$assign","t","result","DomEditor","SlateTransforms","throttle","$$","normalizeImageLoading","genContainerId","editor","elemNode","id","findKey","renderContainer","imageVnode","imageInfo","width","height","float","style","containerId","jsx","className","renderResizeContainer","$body","originalX","originalWith","originalHeight","maxWidth","revers","$container","getContainerElem","$containerFromDom","length","Error","onMousemove","e","preventDefault","clientX","gap","newWidth","newHeight","css","onMouseup","_e","off","toFixed","resizeUnit","getConfig","imageResize","resizedWidth","Number","resizedHeight","checkImageSize","checkResult","rawWidth","rawHeight","source","alert","props","setNodes","at","findPath","init","parentNodeWidth","$img","find","on","hoverbar","getHoverbar","hideAndClean","mousedown","$target","target","hasClass","parentNode","getParentNode","parentNodeDom","toDOMNode","rect","getBoundingClientRect","renderImage","children","src","alt","href","loading","normalizedLoading","selected","isNodeSelected","imageStyle","vnode","_extends","isDisabled","renderImageConf","type","renderElem","elemToHtmlConf","imageFloatLeftMenuConf","imageFloatNoneMenuConf","imageFloatRightMenuConf","parseHtmlConf","renderImageConf","module","renderElems","elemsToHtml","parseElemsHtml","menus","module"],"sources":["../src/module/local.ts","../src/utils/loading.ts","../src/module/elem-to-html.ts","../src/constants/icon-svg.ts","../src/module/menu/FloatBase.ts","../src/module/menu/FloatLeft.ts","../src/module/menu/FloatNone.ts","../src/module/menu/FloatRight.ts","../src/module/menu/index.ts","../src/utils/dom.ts","../src/module/parse-elem-html.ts","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/global-this.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/fails.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/function-bind-native.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/function-apply.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/function-uncurry-this.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/classof-raw.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/function-uncurry-this-clause.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/is-callable.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/descriptors.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/function-call.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/object-property-is-enumerable.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/create-property-descriptor.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/indexed-object.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/is-null-or-undefined.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/require-object-coercible.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/to-indexed-object.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/is-object.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/path.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/get-built-in.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/object-is-prototype-of.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/environment-user-agent.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/environment-v8-version.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/symbol-constructor-detection.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/use-symbol-as-uid.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/is-symbol.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/try-to-string.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/a-callable.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/get-method.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/ordinary-to-primitive.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/is-pure.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/define-global-property.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/shared-store.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/shared.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/to-object.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/has-own-property.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/uid.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/well-known-symbol.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/to-primitive.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/to-property-key.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/document-create-element.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/ie8-dom-define.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/is-forced.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/function-bind-context.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/v8-prototype-define-bug.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/an-object.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/object-define-property.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/create-non-enumerable-property.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/export.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/math-trunc.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/to-integer-or-infinity.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/to-absolute-index.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/to-length.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/length-of-array-like.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/array-includes.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/hidden-keys.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/object-keys-internal.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/enum-bug-keys.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/object-keys.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/object-get-own-property-symbols.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/object-assign.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/modules/es.object.assign.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/es/object/assign.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/stable/object/assign.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/actual/object/assign.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/full/object/assign.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/features/object/assign.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/array-slice.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/function-bind.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/modules/es.function.bind.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/get-built-in-prototype-method.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/es/function/virtual/bind.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/es/instance/bind.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/stable/instance/bind.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/actual/instance/bind.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/full/instance/bind.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/features/instance/bind.js","../../../node_modules/.pnpm/@babel+runtime-corejs3@7.28.4/node_modules/@babel/runtime-corejs3/helpers/esm/extends.js","../../../node_modules/.pnpm/lodash.throttle@4.1.1/node_modules/lodash.throttle/index.js","../src/module/render-elem.tsx","../src/module/index.ts","../src/index.ts"],"sourcesContent":["/**\n * @description 多语言\n * @author cycleccc\n */\n\nimport { i18nAddResources } from '@wangeditor-next/editor'\n\ni18nAddResources('en', {\n float: {\n none: 'Default',\n left: 'Float Left',\n right: 'Float Right',\n },\n})\n\ni18nAddResources('zh-CN', {\n float: {\n none: '默认',\n left: '左浮动',\n right: '右浮动',\n },\n})\n","/**\n * @description image loading attribute\n */\n\nimport { ImageLoading } from '../module/custom-types'\n\n/**\n * 规范化 <img> 的 loading 属性值,仅保留浏览器支持的 lazy / eager\n * @param value loading 属性值\n * @returns 合法的 loading 值,否则返回 undefined\n */\nexport function normalizeImageLoading(value: unknown): ImageLoading | undefined {\n if (typeof value !== 'string') { return undefined }\n\n const loading = value.trim().toLowerCase()\n\n if (loading === 'lazy' || loading === 'eager') { return loading }\n return undefined\n}\n","/**\n * @description elem to html\n * @author cycleccc\n */\n\nimport { getTextStyleMode, IDomEditor, SlateElement } from '@wangeditor-next/editor'\n\nimport { normalizeImageLoading } from '../utils/loading'\nimport { ImageElement } from './custom-types'\n\nfunction getFloatClass(float: string): string {\n const val = (float || '').trim().toLowerCase()\n\n if (val === 'left') { return 'w-e-float-image-left' }\n if (val === 'right') { return 'w-e-float-image-right' }\n if (val === 'none') { return 'w-e-float-image-none' }\n\n return ''\n}\n\n// 生成 html 的函数\nfunction imageToHtml(elem: SlateElement, _childrenHtml: string, editor?: IDomEditor): string {\n const {\n src, alt = '', href = '', loading, style = {},\n } = elem as ImageElement\n const { width = '', height = '', float = '' } = style\n const mode = getTextStyleMode(editor)\n const normalizedLoading = normalizeImageLoading(loading)\n const loadingAttr = normalizedLoading ? ` loading=\"${normalizedLoading}\"` : ''\n\n if (mode === 'class') {\n const widthData = width ? ` data-w-e-style-width=\"${width}\"` : ''\n const heightData = height ? ` data-w-e-style-height=\"${height}\"` : ''\n const floatData = float ? ` data-w-e-style-float=\"${float}\"` : ''\n const floatClass = getFloatClass(float)\n const classAttr = floatClass ? ` class=\"${floatClass}\"` : ''\n\n return `<img src=\"${src}\" alt=\"${alt}\" data-href=\"${href}\" width=\"${width}\" height=\"${height}\"${classAttr}${widthData}${heightData}${floatData}${loadingAttr}/>`\n }\n\n let styleStr = ''\n\n if (width) { styleStr += `width: ${width};` }\n if (height) { styleStr += `height: ${height};` }\n if (float) { styleStr += `float: ${float};` }\n return `<img src=\"${src}\" alt=\"${alt}\" data-href=\"${href}\" style=\"${styleStr}\"${loadingAttr}/>`\n}\n\n// 配置\nconst conf = {\n type: 'image', // 节点 type ,重要!!!\n elemToHtml: imageToHtml,\n}\n\nexport default conf\n","/**\n * @description icon svg\n * @author cycleccc\n */\n\n/**\n * 【注意】svg 字符串的长度 ,否则会导致代码体积过大\n * 尽量选择 https://www.iconfont.cn/collections/detail?spm=a313x.7781069.0.da5a778a4&cid=20293\n * 找不到再从 iconfont.com 搜索\n */\n\n// 默认不浮动\nexport const DEFAULT_FLOAT_SVG = '<svg viewBox=\"0 0 1024 1024\"><path d=\"M76.73805432 117.83964445m12.42756741 0l845.0745837 0q12.42756741 0 12.42756741 12.4275674l0 68.35162074q0 12.42756741-12.42756741 12.42756741l-845.0745837 0q-12.42756741 0-12.42756741-12.42756741l0-68.35162074q0-12.42756741 12.42756741-12.4275674Z\"></path><path d=\"M76.73805432 801.35585185m12.42756741 0l845.0745837 0q12.42756741 0 12.42756741 12.42756741l0 68.35162074q0 12.42756741-12.42756741 12.42756742l-845.0745837 0q-12.42756741 0-12.42756741-12.42756742l0-68.35162074q0-12.42756741 12.42756741-12.42756741Z\"></path><path d=\"M89.16562173 304.25315556h410.10972444c6.83516208 0 12.42756741 5.59240533 12.42756741 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.42756741 12.4275674h-410.10972444a12.42756741 12.42756741 0 0 1-12.42756741-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.42756741-12.42756741z\"></path></svg>'\n// 左浮动\nexport const LEFT_FLOAT_SVG = '<svg viewBox=\"0 0 1024 1024\"><path d=\"M77.03514075 117.83964445m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.4275674l0 68.35162074q0 12.42756741-12.4275674 12.42756741l-845.0745837 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162074q0-12.42756741 12.4275674-12.4275674Z\"></path><path d=\"M77.03514075 801.35585185m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.42756741l0 68.35162074q0 12.42756741-12.4275674 12.42756742l-845.0745837 0q-12.42756741 0-12.4275674-12.42756742l0-68.35162074q0-12.42756741 12.4275674-12.42756741Z\"></path><path d=\"M89.46270815 304.25315556h347.9718874c6.83516208 0 12.42756741 5.59240533 12.42756742 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.42756742 12.4275674h-347.9718874a12.42756741 12.42756741 0 0 1-12.4275674-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.4275674-12.42756741z\"></path><path d=\"M512 552.8045037m12.42756741 0l410.10972444 0q12.42756741 0 12.4275674 12.42756742l0 68.35162073q0 12.42756741-12.4275674 12.42756741l-410.10972444 0q-12.42756741 0-12.42756741-12.42756741l0-68.35162073q0-12.42756741 12.42756741-12.42756742Z\"></path><path d=\"M512 366.39099259m12.42756741 0l410.10972444 0q12.42756741 0 12.4275674 12.42756741l0 68.35162075q0 12.42756741-12.4275674 12.4275674l-410.10972444 0q-12.42756741 0-12.42756741-12.4275674l0-68.35162075q0-12.42756741 12.42756741-12.42756741Z\"></path></svg>'\n// 右浮动\nexport const RIGHT_FLOAT_SVG = '<svg viewBox=\"0 0 1024 1024\"><path d=\"M77.03514075 117.83964445m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.4275674l0 68.35162074q0 12.42756741-12.4275674 12.42756741l-845.0745837 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162074q0-12.42756741 12.4275674-12.4275674Z\"></path><path d=\"M77.03514075 801.35585185m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.42756741l0 68.35162074q0 12.42756741-12.4275674 12.42756742l-845.0745837 0q-12.42756741 0-12.4275674-12.42756742l0-68.35162074q0-12.42756741 12.4275674-12.42756741Z\"></path><path d=\"M586.56540445 304.25315556h347.9718874c6.83516208 0 12.42756741 5.59240533 12.4275674 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.4275674 12.4275674h-347.9718874a12.42756741 12.42756741 0 0 1-12.42756742-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.42756742-12.42756741z\"></path><path d=\"M77.03514075 552.8045037m12.4275674 0l410.10972444 0q12.42756741 0 12.42756741 12.42756742l0 68.35162073q0 12.42756741-12.42756741 12.42756741l-410.10972444 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162073q0-12.42756741 12.4275674-12.42756742Z\"></path><path d=\"M77.03514075 366.39099259m12.4275674 0l410.10972444 0q12.42756741 0 12.42756741 12.42756741l0 68.35162075q0 12.42756741-12.42756741 12.4275674l-410.10972444 0q-12.42756741 0-12.4275674-12.4275674l0-68.35162075q0-12.42756741 12.4275674-12.42756741Z\"></path></svg>'\n","/**\n * @description image float base class\n * @author cycleccc\n */\n\nimport {\n DomEditor, IButtonMenu, IDomEditor, SlateNode, SlateTransforms,\n} from '@wangeditor-next/editor'\n\nimport { ImageElement } from '../custom-types'\n\nabstract class ImageFloatBaseClass implements IButtonMenu {\n abstract readonly title: string // 菜单标题\n\n abstract readonly iconSvg: string // 图标\n\n abstract readonly value: string // css float 的值\n\n readonly tag = 'button'\n\n getValue(_editor: IDomEditor): string | boolean {\n // 无需获取 val\n return ''\n }\n\n isActive(_editor: IDomEditor): boolean {\n // 无需 active\n return false\n }\n\n private getSelectedNode(editor: IDomEditor): SlateNode | null {\n return DomEditor.getSelectedNodeByType(editor, 'image')\n }\n\n isDisabled(editor: IDomEditor): boolean {\n if (editor.selection == null) { return true }\n\n const imageNode = this.getSelectedNode(editor)\n\n return imageNode == null\n }\n\n exec(editor: IDomEditor, _value: string | boolean) {\n if (this.isDisabled(editor)) { return }\n\n const imageNode = this.getSelectedNode(editor)\n\n if (imageNode == null) { return }\n\n // 隐藏 hoverbar\n const hoverbar = DomEditor.getHoverbar(editor)\n\n if (hoverbar) { hoverbar.hideAndClean() }\n\n const { style = {} } = imageNode as ImageElement\n const props: Partial<ImageElement> = {\n style: {\n ...style,\n float: this.value, // 修改 float 的值\n },\n }\n\n SlateTransforms.setNodes(editor, props, {\n match: n => DomEditor.checkNodeType(n, 'image'),\n })\n }\n}\n\nexport default ImageFloatBaseClass\n","/**\n * @description float image left\n * @author cycleccc\n */\n\nimport { t } from '@wangeditor-next/editor'\n\nimport { LEFT_FLOAT_SVG } from '../../constants/icon-svg'\nimport ImageFloatBaseClass from './FloatBase'\n\nclass FloatLeft extends ImageFloatBaseClass {\n readonly title = t('float.left') // 菜单标题\n\n readonly value = 'left' // css float 的值\n\n readonly iconSvg = LEFT_FLOAT_SVG\n}\n\nexport default FloatLeft\n","/**\n * @description float image none\n * @author cycleccc\n */\n\nimport { t } from '@wangeditor-next/editor'\n\nimport { DEFAULT_FLOAT_SVG } from '../../constants/icon-svg'\nimport ImageFloatBaseClass from './FloatBase'\n\nclass FloatNone extends ImageFloatBaseClass {\n readonly title = t('float.none') // 菜单标题\n\n readonly value = 'none' // css float 的值\n\n readonly iconSvg = DEFAULT_FLOAT_SVG\n}\n\nexport default FloatNone\n","/**\n * @description float image right\n * @author cycleccc\n */\n\nimport { t } from '@wangeditor-next/editor'\n\nimport { RIGHT_FLOAT_SVG } from '../../constants/icon-svg'\nimport ImageFloatBaseClass from './FloatBase'\n\nclass FloatRight extends ImageFloatBaseClass {\n readonly title = t('float.right') // 菜单标题\n\n readonly value = 'right' // css float 的值\n\n readonly iconSvg = RIGHT_FLOAT_SVG\n}\n\nexport default FloatRight\n","/**\n * @description menu index\n * @author cycleccc\n */\n\nimport ImageFloatLeft from './FloatLeft'\nimport ImageFloatNone from './FloatNone'\nimport ImageFloatRight from './FloatRight'\n\nexport const imageFloatNoneMenuConf = {\n key: 'imageFloatNone',\n factory() {\n return new ImageFloatNone()\n },\n}\n\nexport const imageFloatLeftMenuConf = {\n key: 'imageFloatLeft',\n factory() {\n return new ImageFloatLeft()\n },\n}\n\nexport const imageFloatRightMenuConf = {\n key: 'imageFloatRight',\n factory() {\n return new ImageFloatRight()\n },\n}\n","/**\n * @description DOM 操作\n * @author cycleccc\n */\n\nimport $, {\n addClass,\n append,\n attr,\n children,\n css,\n dataset,\n Dom7Array,\n empty,\n filter,\n find,\n focus,\n hasClass,\n height,\n hide,\n html,\n off,\n on,\n parents,\n prepend,\n remove,\n removeAttr,\n removeClass,\n show,\n text,\n val,\n width,\n} from 'dom7'\n\n// COMPAT: This is required to prevent TypeScript aliases from doing some very\n// weird things for Slate's types with the same name as globals. (2019/11/27)\n// https://github.com/microsoft/TypeScript/issues/35002\nimport DOMNode = globalThis.Node\nimport DOMComment = globalThis.Comment\nimport DOMElement = globalThis.Element\nimport DOMText = globalThis.Text\nimport DOMRange = globalThis.Range\nimport DOMSelection = globalThis.Selection\nimport DOMStaticRange = globalThis.StaticRange\n\nexport type { Dom7Array } from 'dom7'\n\nif (css) { $.fn.css = css }\nif (append) { $.fn.append = append }\nif (prepend) { $.fn.prepend = prepend }\nif (addClass) { $.fn.addClass = addClass }\nif (removeClass) { $.fn.removeClass = removeClass }\nif (hasClass) { $.fn.hasClass = hasClass }\nif (on) { $.fn.on = on }\nif (off) { $.fn.off = off }\nif (focus) { $.fn.focus = focus }\nif (attr) { $.fn.attr = attr }\nif (removeAttr) { $.fn.removeAttr = removeAttr }\nif (hide) { $.fn.hide = hide }\nif (show) { $.fn.show = show }\nif (parents) { $.fn.parents = parents }\nif (dataset) { $.fn.dataset = dataset }\nif (val) { $.fn.val = val }\nif (text) { $.fn.text = text }\nif (html) { $.fn.html = html }\nif (children) { $.fn.children = children }\nif (remove) { $.fn.remove = remove }\nif (find) { $.fn.find = find }\nif (width) { $.fn.width = width }\nif (height) { $.fn.height = height }\nif (filter) { $.fn.filter = filter }\nif (empty) { $.fn.empty = empty }\n\nexport function getStyleValue($elem: Dom7Array, styleKey: string): string {\n let res = ''\n\n const styleStr = $elem.attr('style') || ''\n const styleArr = styleStr.split(';')\n const length = styleArr.length\n\n for (let i = 0; i < length; i += 1) {\n const styleItemStr = styleArr[i]\n\n if (styleItemStr) {\n const arr = styleItemStr.split(':')\n\n if (arr[0].trim() === styleKey) {\n res = arr[1].trim()\n }\n }\n }\n\n return res\n}\n\nexport default $\nexport {\n DOMComment, DOMElement, DOMNode, DOMRange, DOMSelection, DOMStaticRange, DOMText,\n}\n","/**\n * @description parse elem html\n * @author cycleccc\n */\n\nimport { IDomEditor, SlateDescendant } from '@wangeditor-next/editor'\n\nimport $, { Dom7Array, DOMElement, getStyleValue } from '../utils/dom'\nimport { normalizeImageLoading } from '../utils/loading'\nimport { ImageElement } from './custom-types'\n\nfunction getFloatValue($elem: Dom7Array): string {\n const styleFloat = getStyleValue($elem, 'float')\n\n if (styleFloat) { return styleFloat }\n\n const dataFloat = ($elem.attr('data-w-e-style-float') || '').trim()\n\n if (dataFloat) { return dataFloat }\n\n const classAttr = $elem.attr('class') || ''\n const classList = classAttr.trim().split(/\\s+/).filter(Boolean)\n\n if (classList.includes('w-e-float-image-left')) { return 'left' }\n if (classList.includes('w-e-float-image-right')) { return 'right' }\n if (classList.includes('w-e-float-image-none')) { return 'none' }\n\n return ''\n}\n\nfunction parseHtml(elem: DOMElement, _children: SlateDescendant[], _editor: IDomEditor): ImageElement {\n const $elem = $(elem)\n let href = $elem.attr('data-href') || ''\n const widthAttr = $elem.attr('width') || ''\n const heightAttr = $elem.attr('height') || ''\n const styleWidth = getStyleValue($elem, 'width') || $elem.attr('data-w-e-style-width') || widthAttr\n const styleHeight = getStyleValue($elem, 'height') || $elem.attr('data-w-e-style-height') || heightAttr\n const styleFloat = getFloatValue($elem)\n const loading = normalizeImageLoading($elem.attr('loading'))\n\n href = decodeURIComponent(href) // 兼容 V4\n\n return {\n type: 'image',\n src: $elem.attr('src') || '',\n alt: $elem.attr('alt') || '',\n href,\n style: {\n width: styleWidth,\n height: styleHeight,\n float: styleFloat,\n },\n width: widthAttr,\n height: heightAttr,\n ...(loading ? { loading } : {}),\n children: [{ text: '' }], // void node 有一个空白 text\n }\n}\n\nexport const parseHtmlConf = {\n selector: 'img:not([data-w-e-type])', // data-w-e-type 属性,留给自定义元素,保证扩展性\n parseElemHtml: parseHtml,\n}\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n !Symbol.sham &&\n typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = true;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.47.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)',\n license: 'https://github.com/zloirock/core-js/blob/v3.47.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.1.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind methods to global for calling from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n // wrap global constructors for prevent changes in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n // eslint-disable-next-line es/no-array-prototype-foreach -- safe\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nrequire('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n","'use strict';\nvar parent = require('../../es/object/assign');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/object/assign');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/object/assign');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/object/assign');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar $Function = Function;\nvar concat = uncurryThis([].concat);\nvar join = uncurryThis([].join);\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!hasOwn(factories, argsLength)) {\n var list = [];\n var i = 0;\n for (; i < argsLength; i++) list[i] = 'a[' + i + ']';\n factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\n// eslint-disable-next-line es/no-function-prototype-bind -- detection\nmodule.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) {\n var F = aCallable(this);\n var Prototype = F.prototype;\n var partArgs = arraySlice(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = concat(partArgs, arraySlice(arguments));\n return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);\n };\n if (isObject(Prototype)) boundFunction.prototype = Prototype;\n return boundFunction;\n};\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar bind = require('../internals/function-bind');\n\n// `Function.prototype.bind` method\n// https://tc39.es/ecma262/#sec-function.prototype.bind\n// eslint-disable-next-line es/no-function-prototype-bind -- detection\n$({ target: 'Function', proto: true, forced: Function.bind !== bind }, {\n bind: bind\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar path = require('../internals/path');\n\nmodule.exports = function (CONSTRUCTOR, METHOD) {\n var Namespace = path[CONSTRUCTOR + 'Prototype'];\n var pureMethod = Namespace && Namespace[METHOD];\n if (pureMethod) return pureMethod;\n var NativeConstructor = globalThis[CONSTRUCTOR];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n return NativePrototype && NativePrototype[METHOD];\n};\n","'use strict';\nrequire('../../../modules/es.function.bind');\nvar getBuiltInPrototypeMethod = require('../../../internals/get-built-in-prototype-method');\n\nmodule.exports = getBuiltInPrototypeMethod('Function', 'bind');\n","'use strict';\nvar isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../function/virtual/bind');\n\nvar FunctionPrototype = Function.prototype;\n\nmodule.exports = function (it) {\n var own = it.bind;\n return it === FunctionPrototype || (isPrototypeOf(FunctionPrototype, it) && own === FunctionPrototype.bind) ? method : own;\n};\n","'use strict';\nvar parent = require('../../es/instance/bind');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/instance/bind');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/instance/bind');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/instance/bind');\n","import _Object$assign from \"core-js-pure/features/object/assign.js\";\nimport _bindInstanceProperty from \"core-js-pure/features/instance/bind.js\";\nfunction _extends() {\n var _context;\n return _extends = _Object$assign ? _bindInstanceProperty(_context = _Object$assign).call(_context) : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n","/**\n * @description image render elem\n * @author wangfupeng\n */\n\nimport {\n DomEditor, IDomEditor, SlateElement, SlateTransforms,\n} from '@wangeditor-next/editor'\nimport throttle from 'lodash.throttle'\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { jsx, VNode } from 'snabbdom'\n\nimport $$, { Dom7Array } from '../utils/dom'\nimport { normalizeImageLoading } from '../utils/loading'\nimport { ImageElement } from './custom-types'\n\ninterface IImageSize {\n width?: string\n height?: string\n float?: string\n}\n\nfunction genContainerId(editor: IDomEditor, elemNode: SlateElement) {\n const { id } = DomEditor.findKey(editor, elemNode) // node 唯一 id\n\n return `w-e-image-container-${id}`\n}\n\n/**\n * 未选中时,渲染 image container\n */\nfunction renderContainer(\n editor: IDomEditor,\n elemNode: SlateElement,\n imageVnode: VNode,\n imageInfo: IImageSize,\n): VNode {\n const { width, height, float } = imageInfo\n\n const style: any = {}\n\n if (width) { style.width = width }\n if (height) { style.height = height }\n if (float) { style.float = float }\n\n const containerId = genContainerId(editor, elemNode)\n\n return (\n <div id={containerId} style={style} className=\"w-e-image-container\">\n {imageVnode}\n </div>\n ) as VNode\n}\n\n/**\n * 选中状态下,渲染 image container(渲染拖拽容器,修改图片尺寸)\n */\nfunction renderResizeContainer(\n editor: IDomEditor,\n elemNode: SlateElement,\n imageVnode: VNode,\n imageInfo: IImageSize,\n) {\n const $body = $$('body')\n const containerId = genContainerId(editor, elemNode)\n const { width, height, float } = imageInfo\n\n let originalX = 0\n let originalWith = 0\n let originalHeight = 0\n let maxWidth = 0\n let revers = false // 是否反转。如向右拖拽 right-top 需增加宽度(非反转),但向右拖拽 left-top 则需要减少宽度(反转)\n let $container: Dom7Array | null = null\n\n function getContainerElem(): Dom7Array {\n const $containerFromDom = $$(`#${containerId}`)\n\n if ($containerFromDom.length === 0) { throw new Error('Cannot find image container elem') }\n return $containerFromDom\n }\n\n // mouseover callback (节流)\n const onMousemove = throttle((e: Event) => {\n e.preventDefault()\n\n const { clientX } = e as MouseEvent\n const gap = revers ? originalX - clientX : clientX - originalX // 考虑是否反转\n const newWidth = originalWith + gap\n const newHeight = originalHeight * (newWidth / originalWith) // 根据 width ,按比例计算 height\n\n // 实时修改 img 宽高 -【注意】这里只修改 DOM ,mouseup 时再统一不修改 node\n if ($container == null) { return }\n if (newWidth <= 15 || newHeight <= 15) { return } // 最小就是 15px\n\n $container.css('width', `${newWidth}px`)\n $container.css('height', `${newHeight}px`)\n }, 100)\n\n function onMouseup(_e: Event) {\n // 取消监听 mousemove\n $body.off('mousemove', onMousemove)\n\n if ($container == null) { return }\n const newWidth = $container.width().toFixed(2)\n const newHeight = $container.height().toFixed(2)\n const resizeUnit = editor.getConfig().imageResize?.resizeUnit\n const resizedWidth = resizeUnit === '%' && maxWidth > 0\n ? `${((Number(newWidth) / maxWidth) * 100).toFixed(2)}%`\n : `${newWidth}px`\n const resizedHeight = resizeUnit === '%' ? '' : `${newHeight}px`\n const checkImageSize = editor.getConfig().imageResize?.checkImageSize\n const checkResult = checkImageSize?.({\n width: resizedWidth,\n height: resizedHeight,\n rawWidth: resizedWidth,\n rawHeight: resizedHeight,\n source: 'drag',\n })\n\n if (typeof checkResult === 'string') {\n editor.alert(checkResult, 'error')\n $container.css('width', `${originalWith}px`)\n $container.css('height', `${originalHeight}px`)\n $body.off('mouseup', onMouseup)\n return\n }\n if (checkImageSize && checkResult !== true) {\n $container.css('width', `${originalWith}px`)\n $container.css('height', `${originalHeight}px`)\n $body.off('mouseup', onMouseup)\n return\n }\n\n // 修改 node\n const props: Partial<ImageElement> = {\n style: {\n ...(elemNode as ImageElement).style,\n width: resizedWidth,\n height: resizedHeight,\n },\n }\n\n SlateTransforms.setNodes(editor, props, { at: DomEditor.findPath(editor, elemNode) })\n\n // 取消监听 mouseup\n $body.off('mouseup', onMouseup)\n }\n\n /**\n * 初始化。监听事件,记录原始数据\n */\n function init(clientX: number, parentNodeWidth: number) {\n $container = getContainerElem()\n\n // 记录当前 x 坐标值\n originalX = clientX\n maxWidth = parentNodeWidth\n\n // 记录 img 原始宽高\n const $img = $container.find('img')\n\n if ($img.length === 0) { throw new Error('Cannot find image elem') }\n originalWith = $img.width()\n originalHeight = $img.height()\n\n // 监听 mousemove\n $body.on('mousemove', onMousemove)\n\n // 监听 mouseup\n $body.on('mouseup', onMouseup)\n\n // 隐藏 hoverbar\n const hoverbar = DomEditor.getHoverbar(editor)\n\n if (hoverbar) { hoverbar.hideAndClean() }\n }\n\n const style: any = {}\n\n if (width) { style.width = width }\n if (height) { style.height = height }\n if (float) { style.float = float }\n // style.boxShadow = '0 0 0 1px #B4D5FF' // 自定义 selected 样式,因为有拖拽触手\n\n return (\n <div\n id={containerId}\n style={style}\n className=\"w-e-image-container w-e-selected-image-container\"\n on={{\n // 统一绑定拖拽触手的 mousedown 事件\n mousedown: (e: MouseEvent) => {\n const $target = $$(e.target as Element)\n\n if (!$target.hasClass('w-e-image-dragger')) {\n // target 不是 .w-e-image-dragger 拖拽触手,则忽略\n return\n }\n e.preventDefault()\n\n if ($target.hasClass('left-top') || $target.hasClass('left-bottom')) {\n revers = true // 反转。向右拖拽,减少宽度\n }\n\n const parentNode = DomEditor.getParentNode(editor, elemNode)\n\n if (parentNode == null) { return }\n const parentNodeDom = DomEditor.toDOMNode(editor, parentNode)\n const rect = parentNodeDom.getBoundingClientRect\n ? parentNodeDom.getBoundingClientRect()\n : { width: 0 }\n\n init(e.clientX, rect.width) // 初始化\n },\n }}\n >\n {imageVnode}\n\n {/* 拖拽的触手,会统一在上级 DOM 绑定拖拽事件 */}\n <div className=\"w-e-image-dragger left-top\"></div>\n <div className=\"w-e-image-dragger right-top\"></div>\n <div className=\"w-e-image-dragger left-bottom\"></div>\n <div className=\"w-e-image-dragger right-bottom\"></div>\n </div>\n )\n}\n\nfunction renderImage(elemNode: SlateElement, children: VNode[] | null, editor: IDomEditor): VNode {\n const {\n src, alt = '', href = '', loading, style = {},\n } = elemNode as ImageElement\n const { width = '', height = '', float } = style\n const normalizedLoading = normalizeImageLoading(loading)\n const selected = DomEditor.isNodeSelected(editor, elemNode) // 图片是否选中\n\n const imageStyle: any = {}\n\n if (width) { imageStyle.width = '100%' }\n if (height) { imageStyle.height = '100%' }\n if (float) { imageStyle.float = float }\n\n // 【注意】void node 中,renderElem 不用处理 children 。core 会统一处理。\n const vnode = (\n <img style={imageStyle} src={src} alt={alt} data-href={href} {...(normalizedLoading ? { loading: normalizedLoading } : {})}/>\n )\n\n const isDisabled = editor.isDisabled()\n\n if (selected && !isDisabled) {\n // 选中,未禁用 - 渲染 resize container\n return renderResizeContainer(editor, elemNode, vnode, { width, height, float })\n }\n\n // 其他,渲染普通 image container\n return renderContainer(editor, elemNode, vnode, { width, height, float })\n}\n\nconst renderImageConf = {\n type: 'image', // 和 elemNode.type 一致\n renderElem: renderImage,\n}\n\nexport { renderImageConf }\n","/**\n * @description module entry\n * @author cycleccc\n */\n\nimport './local' // 多语言\n\nimport { IModuleConf } from '@wangeditor-next/editor'\n\nimport elemToHtmlConf from './elem-to-html'\nimport { imageFloatLeftMenuConf, imageFloatNoneMenuConf, imageFloatRightMenuConf } from './menu'\nimport { parseHtmlConf } from './parse-elem-html'\nimport { renderImageConf } from './render-elem'\n\nconst module: Partial<IModuleConf> = {\n renderElems: [renderImageConf],\n elemsToHtml: [elemToHtmlConf],\n parseElemsHtml: [parseHtmlConf],\n menus: [imageFloatLeftMenuConf, imageFloatRightMenuConf, imageFloatNoneMenuConf],\n}\n\nexport default module\n","/**\n * @description src entry\n * @author cycleccc\n */\n\nimport './asserts/index.less'\n\nimport module from './module/index'\n\nexport * from './module/custom-types'\n\nexport default module\n"],"x_google_ignoreList":[11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{DomEditor as e,SlateTransforms as t,getTextStyleMode as n,i18nAddResources as r,t as i}from"@wangeditor-next/editor";import a,{addClass as o,append as s,attr as c,children as l,css as u,dataset as d,empty as f,filter as p,find as m,focus as h,hasClass as g,height as _,hide as v,html as y,off as b,on as x,parents as S,prepend as C,remove as w,removeAttr as T,removeClass as E,show as D,text as O,val as k,width as A}from"dom7";var j=Object.create,M=Object.defineProperty,N=Object.getOwnPropertyDescriptor,P=Object.getOwnPropertyNames,F=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty,te=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ne=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=P(t),a=0,o=i.length,s;a<o;a++)s=i[a],!ee.call(e,s)&&s!==n&&M(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=N(t,s))||r.enumerable});return e},re=(e,t,n)=>(n=e==null?{}:j(F(e)),ne(t||!e||!e.__esModule?M(n,`default`,{value:e,enumerable:!0}):n,e));r(`en`,{float:{none:`Default`,left:`Float Left`,right:`Float Right`}}),r(`zh-CN`,{float:{none:`默认`,left:`左浮动`,right:`右浮动`}});function I(e){let t=(e||``).trim().toLowerCase();return t===`left`?`w-e-float-image-left`:t===`right`?`w-e-float-image-right`:t===`none`?`w-e-float-image-none`:``}function L(e,t,r){let{src:i,alt:a=``,href:o=``,style:s={}}=e,{width:c=``,height:l=``,float:u=``}=s;if(n(r)===`class`){let e=c?` data-w-e-style-width="${c}"`:``,t=l?` data-w-e-style-height="${l}"`:``,n=u?` data-w-e-style-float="${u}"`:``,r=I(u);return`<img src="${i}" alt="${a}" data-href="${o}" width="${c}" height="${l}"${r?` class="${r}"`:``}${e}${t}${n}/>`}let d=``;return c&&(d+=`width: ${c};`),l&&(d+=`height: ${l};`),u&&(d+=`float: ${u};`),`<img src="${i}" alt="${a}" data-href="${o}" style="${d}"/>`}var R={type:`image`,elemToHtml:L};function z(e){"@babel/helpers - typeof";return z=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},z(e)}function B(e,t){if(z(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(z(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function V(e){var t=B(e,`string`);return z(t)==`symbol`?t:t+``}function H(e,t,n){return(t=V(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function U(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function W(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?U(Object(n),!0).forEach(function(t){H(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):U(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var G=class{constructor(){this.tag=`button`}getValue(e){return``}isActive(e){return!1}getSelectedNode(t){return e.getSelectedNodeByType(t,`image`)}isDisabled(e){return e.selection==null?!0:this.getSelectedNode(e)==null}exec(n,r){if(this.isDisabled(n))return;let i=this.getSelectedNode(n);if(i==null)return;let a=e.getHoverbar(n);a&&a.hideAndClean();let{style:o={}}=i,s={style:W(W({},o),{},{float:this.value})};t.setNodes(n,s,{match:t=>e.checkNodeType(t,`image`)})}},K=class extends G{constructor(...e){super(...e),this.title=i(`float.left`),this.value=`left`,this.iconSvg=`<svg viewBox="0 0 1024 1024"><path d="M77.03514075 117.83964445m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.4275674l0 68.35162074q0 12.42756741-12.4275674 12.42756741l-845.0745837 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162074q0-12.42756741 12.4275674-12.4275674Z"></path><path d="M77.03514075 801.35585185m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.42756741l0 68.35162074q0 12.42756741-12.4275674 12.42756742l-845.0745837 0q-12.42756741 0-12.4275674-12.42756742l0-68.35162074q0-12.42756741 12.4275674-12.42756741Z"></path><path d="M89.46270815 304.25315556h347.9718874c6.83516208 0 12.42756741 5.59240533 12.42756742 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.42756742 12.4275674h-347.9718874a12.42756741 12.42756741 0 0 1-12.4275674-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.4275674-12.42756741z"></path><path d="M512 552.8045037m12.42756741 0l410.10972444 0q12.42756741 0 12.4275674 12.42756742l0 68.35162073q0 12.42756741-12.4275674 12.42756741l-410.10972444 0q-12.42756741 0-12.42756741-12.42756741l0-68.35162073q0-12.42756741 12.42756741-12.42756742Z"></path><path d="M512 366.39099259m12.42756741 0l410.10972444 0q12.42756741 0 12.4275674 12.42756741l0 68.35162075q0 12.42756741-12.4275674 12.4275674l-410.10972444 0q-12.42756741 0-12.42756741-12.4275674l0-68.35162075q0-12.42756741 12.42756741-12.42756741Z"></path></svg>`}},q=class extends G{constructor(...e){super(...e),this.title=i(`float.none`),this.value=`none`,this.iconSvg=`<svg viewBox="0 0 1024 1024"><path d="M76.73805432 117.83964445m12.42756741 0l845.0745837 0q12.42756741 0 12.42756741 12.4275674l0 68.35162074q0 12.42756741-12.42756741 12.42756741l-845.0745837 0q-12.42756741 0-12.42756741-12.42756741l0-68.35162074q0-12.42756741 12.42756741-12.4275674Z"></path><path d="M76.73805432 801.35585185m12.42756741 0l845.0745837 0q12.42756741 0 12.42756741 12.42756741l0 68.35162074q0 12.42756741-12.42756741 12.42756742l-845.0745837 0q-12.42756741 0-12.42756741-12.42756742l0-68.35162074q0-12.42756741 12.42756741-12.42756741Z"></path><path d="M89.16562173 304.25315556h410.10972444c6.83516208 0 12.42756741 5.59240533 12.42756741 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.42756741 12.4275674h-410.10972444a12.42756741 12.42756741 0 0 1-12.42756741-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.42756741-12.42756741z"></path></svg>`}},J=class extends G{constructor(...e){super(...e),this.title=i(`float.right`),this.value=`right`,this.iconSvg=`<svg viewBox="0 0 1024 1024"><path d="M77.03514075 117.83964445m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.4275674l0 68.35162074q0 12.42756741-12.4275674 12.42756741l-845.0745837 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162074q0-12.42756741 12.4275674-12.4275674Z"></path><path d="M77.03514075 801.35585185m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.42756741l0 68.35162074q0 12.42756741-12.4275674 12.42756742l-845.0745837 0q-12.42756741 0-12.4275674-12.42756742l0-68.35162074q0-12.42756741 12.4275674-12.42756741Z"></path><path d="M586.56540445 304.25315556h347.9718874c6.83516208 0 12.42756741 5.59240533 12.4275674 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.4275674 12.4275674h-347.9718874a12.42756741 12.42756741 0 0 1-12.42756742-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.42756742-12.42756741z"></path><path d="M77.03514075 552.8045037m12.4275674 0l410.10972444 0q12.42756741 0 12.42756741 12.42756742l0 68.35162073q0 12.42756741-12.42756741 12.42756741l-410.10972444 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162073q0-12.42756741 12.4275674-12.42756742Z"></path><path d="M77.03514075 366.39099259m12.4275674 0l410.10972444 0q12.42756741 0 12.42756741 12.42756741l0 68.35162075q0 12.42756741-12.42756741 12.4275674l-410.10972444 0q-12.42756741 0-12.4275674-12.4275674l0-68.35162075q0-12.42756741 12.4275674-12.42756741Z"></path></svg>`}};const Y={key:`imageFloatNone`,factory(){return new q}},ie={key:`imageFloatLeft`,factory(){return new K}},ae={key:`imageFloatRight`,factory(){return new J}};globalThis.Node,globalThis.Comment,globalThis.Element,globalThis.Text,globalThis.Range,globalThis.Selection,globalThis.StaticRange,u&&(a.fn.css=u),s&&(a.fn.append=s),C&&(a.fn.prepend=C),o&&(a.fn.addClass=o),E&&(a.fn.removeClass=E),g&&(a.fn.hasClass=g),x&&(a.fn.on=x),b&&(a.fn.off=b),h&&(a.fn.focus=h),c&&(a.fn.attr=c),T&&(a.fn.removeAttr=T),v&&(a.fn.hide=v),D&&(a.fn.show=D),S&&(a.fn.parents=S),d&&(a.fn.dataset=d),k&&(a.fn.val=k),O&&(a.fn.text=O),y&&(a.fn.html=y),l&&(a.fn.children=l),w&&(a.fn.remove=w),m&&(a.fn.find=m),A&&(a.fn.width=A),_&&(a.fn.height=_),p&&(a.fn.filter=p),f&&(a.fn.empty=f);function X(e,t){let n=``,r=(e.attr(`style`)||``).split(`;`),i=r.length;for(let e=0;e<i;e+=1){let i=r[e];if(i){let e=i.split(`:`);e[0].trim()===t&&(n=e[1].trim())}}return n}var Z=a;function oe(e){let t=X(e,`float`);if(t)return t;let n=(e.attr(`data-w-e-style-float`)||``).trim();if(n)return n;let r=(e.attr(`class`)||``).trim().split(/\s+/).filter(Boolean);return r.includes(`w-e-float-image-left`)?`left`:r.includes(`w-e-float-image-right`)?`right`:r.includes(`w-e-float-image-none`)?`none`:``}function se(e,t,n){let r=Z(e),i=r.attr(`data-href`)||``,a=r.attr(`width`)||``,o=r.attr(`height`)||``,s=X(r,`width`)||r.attr(`data-w-e-style-width`)||a,c=X(r,`height`)||r.attr(`data-w-e-style-height`)||o,l=oe(r);return i=decodeURIComponent(i),{type:`image`,src:r.attr(`src`)||``,alt:r.attr(`alt`)||``,href:i,style:{width:s,height:c,float:l},width:a,height:o,children:[{text:``}]}}const ce={selector:`img:not([data-w-e-type])`,parseElemHtml:se};var le=re(te(((e,t)=>{var n=`Expected a function`,r=NaN,i=`[object Symbol]`,a=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt,u=typeof global==`object`&&global&&global.Object===Object&&global,d=typeof self==`object`&&self&&self.Object===Object&&self,f=u||d||Function(`return this`)(),p=Object.prototype.toString,m=Math.max,h=Math.min,g=function(){return f.Date.now()};function _(e,t,r){var i,a,o,s,c,l,u=0,d=!1,f=!1,p=!0;if(typeof e!=`function`)throw TypeError(n);t=S(t)||0,y(r)&&(d=!!r.leading,f=`maxWait`in r,o=f?m(S(r.maxWait)||0,t):o,p=`trailing`in r?!!r.trailing:p);function _(t){var n=i,r=a;return i=a=void 0,u=t,s=e.apply(r,n),s}function v(e){return u=e,c=setTimeout(C,t),d?_(e):s}function b(e){var n=e-l,r=e-u,i=t-n;return f?h(i,o-r):i}function x(e){var n=e-l,r=e-u;return l===void 0||n>=t||n<0||f&&r>=o}function C(){var e=g();if(x(e))return w(e);c=setTimeout(C,b(e))}function w(e){return c=void 0,p&&i?_(e):(i=a=void 0,s)}function T(){c!==void 0&&clearTimeout(c),u=0,i=l=a=c=void 0}function E(){return c===void 0?s:w(g())}function D(){var e=g(),n=x(e);if(i=arguments,a=this,l=e,n){if(c===void 0)return v(l);if(f)return c=setTimeout(C,t),_(l)}return c===void 0&&(c=setTimeout(C,t)),s}return D.cancel=T,D.flush=E,D}function v(e,t,r){var i=!0,a=!0;if(typeof e!=`function`)throw TypeError(n);return y(r)&&(i=`leading`in r?!!r.leading:i,a=`trailing`in r?!!r.trailing:a),_(e,t,{leading:i,maxWait:t,trailing:a})}function y(e){var t=typeof e;return!!e&&(t==`object`||t==`function`)}function b(e){return!!e&&typeof e==`object`}function x(e){return typeof e==`symbol`||b(e)&&p.call(e)==i}function S(e){if(typeof e==`number`)return e;if(x(e))return r;if(y(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=y(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=e.replace(a,``);var n=s.test(e);return n||c.test(e)?l(e.slice(2),n?2:8):o.test(e)?r:+e}t.exports=v}))());function Q(t,n){let{id:r}=e.findKey(t,n);return`w-e-image-container-${r}`}function $(e,t,n,r){let{width:i,height:a,float:o}=r,s={};i&&(s.width=i),a&&(s.height=a),o&&(s.float=o);let c=Q(e,t);return jsx(`div`,{id:c,style:s,className:`w-e-image-container`},n)}function ue(n,r,i,a){let o=Z(`body`),s=Q(n,r),{width:c,height:l,float:u}=a,d=0,f=0,p=0,m=0,h=!1,g=null;function _(){let e=Z(`#${s}`);if(e.length===0)throw Error(`Cannot find image container elem`);return e}let v=(0,le.default)(e=>{e.preventDefault();let{clientX:t}=e,n=h?d-t:t-d,r=f+n,i=r/f*p;g!=null&&(r<=15||i<=15||(g.css(`width`,`${r}px`),g.css(`height`,`${i}px`)))},100);function y(i){var a,s;if(o.off(`mousemove`,v),g==null)return;let c=g.width().toFixed(2),l=g.height().toFixed(2),u=(a=n.getConfig().imageResize)==null?void 0:a.resizeUnit,d=u===`%`&&m>0?`${(Number(c)/m*100).toFixed(2)}%`:`${c}px`,h=u===`%`?``:`${l}px`,_=(s=n.getConfig().imageResize)==null?void 0:s.checkImageSize,b=_==null?void 0:_({width:d,height:h,rawWidth:d,rawHeight:h,source:`drag`});if(typeof b==`string`){n.alert(b,`error`),g.css(`width`,`${f}px`),g.css(`height`,`${p}px`),o.off(`mouseup`,y);return}if(_&&b!==!0){g.css(`width`,`${f}px`),g.css(`height`,`${p}px`),o.off(`mouseup`,y);return}let x={style:W(W({},r.style),{},{width:d,height:h})};t.setNodes(n,x,{at:e.findPath(n,r)}),o.off(`mouseup`,y)}function b(t,r){g=_(),d=t,m=r;let i=g.find(`img`);if(i.length===0)throw Error(`Cannot find image elem`);f=i.width(),p=i.height(),o.on(`mousemove`,v),o.on(`mouseup`,y);let a=e.getHoverbar(n);a&&a.hideAndClean()}let x={};return c&&(x.width=c),l&&(x.height=l),u&&(x.float=u),jsx(`div`,{id:s,style:x,className:`w-e-image-container w-e-selected-image-container`,on:{mousedown:t=>{let i=Z(t.target);if(!i.hasClass(`w-e-image-dragger`))return;t.preventDefault(),(i.hasClass(`left-top`)||i.hasClass(`left-bottom`))&&(h=!0);let a=e.getParentNode(n,r);if(a==null)return;let o=e.toDOMNode(n,a),s=o.getBoundingClientRect?o.getBoundingClientRect():{width:0};b(t.clientX,s.width)}}},i,jsx(`div`,{className:`w-e-image-dragger left-top`}),jsx(`div`,{className:`w-e-image-dragger right-top`}),jsx(`div`,{className:`w-e-image-dragger left-bottom`}),jsx(`div`,{className:`w-e-image-dragger right-bottom`}))}function de(t,n,r){let{src:i,alt:a=``,href:o=``,style:s={}}=t,{width:c=``,height:l=``,float:u}=s,d=e.isNodeSelected(r,t),f={};c&&(f.width=`100%`),l&&(f.height=`100%`),u&&(f.float=u);let p=jsx(`img`,{style:f,src:i,alt:a,"data-href":o}),m=r.isDisabled();return d&&!m?ue(r,t,p,{width:c,height:l,float:u}):$(r,t,p,{width:c,height:l,float:u})}var fe={renderElems:[{type:`image`,renderElem:de}],elemsToHtml:[R],parseElemsHtml:[ce],menus:[ie,ae,Y]};export{fe as default};
1
+ import{DomEditor as e,SlateTransforms as t,getTextStyleMode as n,i18nAddResources as r,t as i}from"@wangeditor-next/editor";import a,{addClass as o,append as s,attr as c,children as l,css as u,dataset as d,empty as f,filter as p,find as m,focus as h,hasClass as g,height as _,hide as v,html as y,off as b,on as x,parents as S,prepend as C,remove as w,removeAttr as T,removeClass as E,show as D,text as O,val as k,width as ee}from"dom7";var te=Object.create,ne=Object.defineProperty,re=Object.getOwnPropertyDescriptor,ie=Object.getOwnPropertyNames,ae=Object.getPrototypeOf,oe=Object.prototype.hasOwnProperty,A=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),se=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=ie(t),a=0,o=i.length,s;a<o;a++)s=i[a],!oe.call(e,s)&&s!==n&&ne(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=re(t,s))||r.enumerable});return e},j=(e,t,n)=>(n=e==null?{}:te(ae(e)),se(t||!e||!e.__esModule?ne(n,`default`,{value:e,enumerable:!0}):n,e));r(`en`,{float:{none:`Default`,left:`Float Left`,right:`Float Right`}}),r(`zh-CN`,{float:{none:`默认`,left:`左浮动`,right:`右浮动`}});function M(e){if(typeof e!=`string`)return;let t=e.trim().toLowerCase();if(t===`lazy`||t===`eager`)return t}function ce(e){let t=(e||``).trim().toLowerCase();return t===`left`?`w-e-float-image-left`:t===`right`?`w-e-float-image-right`:t===`none`?`w-e-float-image-none`:``}function le(e,t,r){let{src:i,alt:a=``,href:o=``,loading:s,style:c={}}=e,{width:l=``,height:u=``,float:d=``}=c,f=n(r),p=M(s),m=p?` loading="${p}"`:``;if(f===`class`){let e=l?` data-w-e-style-width="${l}"`:``,t=u?` data-w-e-style-height="${u}"`:``,n=d?` data-w-e-style-float="${d}"`:``,r=ce(d);return`<img src="${i}" alt="${a}" data-href="${o}" width="${l}" height="${u}"${r?` class="${r}"`:``}${e}${t}${n}${m}/>`}let h=``;return l&&(h+=`width: ${l};`),u&&(h+=`height: ${u};`),d&&(h+=`float: ${d};`),`<img src="${i}" alt="${a}" data-href="${o}" style="${h}"${m}/>`}var ue={type:`image`,elemToHtml:le};function N(e){"@babel/helpers - typeof";return N=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},N(e)}function de(e,t){if(N(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(N(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function fe(e){var t=de(e,`string`);return N(t)==`symbol`?t:t+``}function pe(e,t,n){return(t=fe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function P(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?me(Object(n),!0).forEach(function(t){pe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):me(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var F=class{constructor(){this.tag=`button`}getValue(e){return``}isActive(e){return!1}getSelectedNode(t){return e.getSelectedNodeByType(t,`image`)}isDisabled(e){return e.selection==null?!0:this.getSelectedNode(e)==null}exec(n,r){if(this.isDisabled(n))return;let i=this.getSelectedNode(n);if(i==null)return;let a=e.getHoverbar(n);a&&a.hideAndClean();let{style:o={}}=i,s={style:P(P({},o),{},{float:this.value})};t.setNodes(n,s,{match:t=>e.checkNodeType(t,`image`)})}},he=class extends F{constructor(...e){super(...e),this.title=i(`float.left`),this.value=`left`,this.iconSvg=`<svg viewBox="0 0 1024 1024"><path d="M77.03514075 117.83964445m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.4275674l0 68.35162074q0 12.42756741-12.4275674 12.42756741l-845.0745837 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162074q0-12.42756741 12.4275674-12.4275674Z"></path><path d="M77.03514075 801.35585185m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.42756741l0 68.35162074q0 12.42756741-12.4275674 12.42756742l-845.0745837 0q-12.42756741 0-12.4275674-12.42756742l0-68.35162074q0-12.42756741 12.4275674-12.42756741Z"></path><path d="M89.46270815 304.25315556h347.9718874c6.83516208 0 12.42756741 5.59240533 12.42756742 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.42756742 12.4275674h-347.9718874a12.42756741 12.42756741 0 0 1-12.4275674-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.4275674-12.42756741z"></path><path d="M512 552.8045037m12.42756741 0l410.10972444 0q12.42756741 0 12.4275674 12.42756742l0 68.35162073q0 12.42756741-12.4275674 12.42756741l-410.10972444 0q-12.42756741 0-12.42756741-12.42756741l0-68.35162073q0-12.42756741 12.42756741-12.42756742Z"></path><path d="M512 366.39099259m12.42756741 0l410.10972444 0q12.42756741 0 12.4275674 12.42756741l0 68.35162075q0 12.42756741-12.4275674 12.4275674l-410.10972444 0q-12.42756741 0-12.42756741-12.4275674l0-68.35162075q0-12.42756741 12.42756741-12.42756741Z"></path></svg>`}},ge=class extends F{constructor(...e){super(...e),this.title=i(`float.none`),this.value=`none`,this.iconSvg=`<svg viewBox="0 0 1024 1024"><path d="M76.73805432 117.83964445m12.42756741 0l845.0745837 0q12.42756741 0 12.42756741 12.4275674l0 68.35162074q0 12.42756741-12.42756741 12.42756741l-845.0745837 0q-12.42756741 0-12.42756741-12.42756741l0-68.35162074q0-12.42756741 12.42756741-12.4275674Z"></path><path d="M76.73805432 801.35585185m12.42756741 0l845.0745837 0q12.42756741 0 12.42756741 12.42756741l0 68.35162074q0 12.42756741-12.42756741 12.42756742l-845.0745837 0q-12.42756741 0-12.42756741-12.42756742l0-68.35162074q0-12.42756741 12.42756741-12.42756741Z"></path><path d="M89.16562173 304.25315556h410.10972444c6.83516208 0 12.42756741 5.59240533 12.42756741 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.42756741 12.4275674h-410.10972444a12.42756741 12.42756741 0 0 1-12.42756741-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.42756741-12.42756741z"></path></svg>`}},_e=class extends F{constructor(...e){super(...e),this.title=i(`float.right`),this.value=`right`,this.iconSvg=`<svg viewBox="0 0 1024 1024"><path d="M77.03514075 117.83964445m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.4275674l0 68.35162074q0 12.42756741-12.4275674 12.42756741l-845.0745837 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162074q0-12.42756741 12.4275674-12.4275674Z"></path><path d="M77.03514075 801.35585185m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.42756741l0 68.35162074q0 12.42756741-12.4275674 12.42756742l-845.0745837 0q-12.42756741 0-12.4275674-12.42756742l0-68.35162074q0-12.42756741 12.4275674-12.42756741Z"></path><path d="M586.56540445 304.25315556h347.9718874c6.83516208 0 12.42756741 5.59240533 12.4275674 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.4275674 12.4275674h-347.9718874a12.42756741 12.42756741 0 0 1-12.42756742-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.42756742-12.42756741z"></path><path d="M77.03514075 552.8045037m12.4275674 0l410.10972444 0q12.42756741 0 12.42756741 12.42756742l0 68.35162073q0 12.42756741-12.42756741 12.42756741l-410.10972444 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162073q0-12.42756741 12.4275674-12.42756742Z"></path><path d="M77.03514075 366.39099259m12.4275674 0l410.10972444 0q12.42756741 0 12.42756741 12.42756741l0 68.35162075q0 12.42756741-12.42756741 12.4275674l-410.10972444 0q-12.42756741 0-12.4275674-12.4275674l0-68.35162075q0-12.42756741 12.4275674-12.42756741Z"></path></svg>`}};const ve={key:`imageFloatNone`,factory(){return new ge}},ye={key:`imageFloatLeft`,factory(){return new he}},be={key:`imageFloatRight`,factory(){return new _e}};globalThis.Node,globalThis.Comment,globalThis.Element,globalThis.Text,globalThis.Range,globalThis.Selection,globalThis.StaticRange,u&&(a.fn.css=u),s&&(a.fn.append=s),C&&(a.fn.prepend=C),o&&(a.fn.addClass=o),E&&(a.fn.removeClass=E),g&&(a.fn.hasClass=g),x&&(a.fn.on=x),b&&(a.fn.off=b),h&&(a.fn.focus=h),c&&(a.fn.attr=c),T&&(a.fn.removeAttr=T),v&&(a.fn.hide=v),D&&(a.fn.show=D),S&&(a.fn.parents=S),d&&(a.fn.dataset=d),k&&(a.fn.val=k),O&&(a.fn.text=O),y&&(a.fn.html=y),l&&(a.fn.children=l),w&&(a.fn.remove=w),m&&(a.fn.find=m),ee&&(a.fn.width=ee),_&&(a.fn.height=_),p&&(a.fn.filter=p),f&&(a.fn.empty=f);function I(e,t){let n=``,r=(e.attr(`style`)||``).split(`;`),i=r.length;for(let e=0;e<i;e+=1){let i=r[e];if(i){let e=i.split(`:`);e[0].trim()===t&&(n=e[1].trim())}}return n}var L=a;function xe(e){let t=I(e,`float`);if(t)return t;let n=(e.attr(`data-w-e-style-float`)||``).trim();if(n)return n;let r=(e.attr(`class`)||``).trim().split(/\s+/).filter(Boolean);return r.includes(`w-e-float-image-left`)?`left`:r.includes(`w-e-float-image-right`)?`right`:r.includes(`w-e-float-image-none`)?`none`:``}function Se(e,t,n){let r=L(e),i=r.attr(`data-href`)||``,a=r.attr(`width`)||``,o=r.attr(`height`)||``,s=I(r,`width`)||r.attr(`data-w-e-style-width`)||a,c=I(r,`height`)||r.attr(`data-w-e-style-height`)||o,l=xe(r),u=M(r.attr(`loading`));return i=decodeURIComponent(i),P(P({type:`image`,src:r.attr(`src`)||``,alt:r.attr(`alt`)||``,href:i,style:{width:s,height:c,float:l},width:a,height:o},u?{loading:u}:{}),{},{children:[{text:``}]})}const Ce={selector:`img:not([data-w-e-type])`,parseElemHtml:Se};var R=A(((e,t)=>{var n=function(e){return e&&e.Math===Math&&e};t.exports=n(typeof globalThis==`object`&&globalThis)||n(typeof window==`object`&&window)||n(typeof self==`object`&&self)||n(typeof global==`object`&&global)||n(typeof e==`object`&&e)||(function(){return this})()||Function(`return this`)()})),z=A(((e,t)=>{t.exports=function(e){try{return!!e()}catch(e){return!0}}})),B=A(((e,t)=>{t.exports=!z()(function(){var e=(function(){}).bind();return typeof e!=`function`||e.hasOwnProperty(`prototype`)})})),we=A(((e,t)=>{var n=B(),r=Function.prototype,i=r.apply,a=r.call;t.exports=typeof Reflect==`object`&&Reflect.apply||(n?a.bind(i):function(){return a.apply(i,arguments)})})),V=A(((e,t)=>{var n=B(),r=Function.prototype,i=r.call,a=n&&r.bind.bind(i,i);t.exports=n?a:function(e){return function(){return i.apply(e,arguments)}}})),H=A(((e,t)=>{var n=V(),r=n({}.toString),i=n(``.slice);t.exports=function(e){return i(r(e),8,-1)}})),Te=A(((e,t)=>{var n=H(),r=V();t.exports=function(e){if(n(e)===`Function`)return r(e)}})),U=A(((e,t)=>{var n=typeof document==`object`&&document.all;t.exports=n===void 0&&n!==void 0?function(e){return typeof e==`function`||e===n}:function(e){return typeof e==`function`}})),W=A(((e,t)=>{t.exports=!z()(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})})),G=A(((e,t)=>{var n=B(),r=Function.prototype.call;t.exports=n?r.bind(r):function(){return r.apply(r,arguments)}})),K=A((e=>{var t={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor;e.f=n&&!t.call({1:2},1)?function(e){var t=n(this,e);return!!t&&t.enumerable}:t})),Ee=A(((e,t)=>{t.exports=function(e,t){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:t}}})),De=A(((e,t)=>{var n=V(),r=z(),i=H(),a=Object,o=n(``.split);t.exports=r(function(){return!a(`z`).propertyIsEnumerable(0)})?function(e){return i(e)===`String`?o(e,``):a(e)}:a})),Oe=A(((e,t)=>{t.exports=function(e){return e==null}})),ke=A(((e,t)=>{var n=Oe(),r=TypeError;t.exports=function(e){if(n(e))throw new r(`Can't call method on `+e);return e}})),q=A(((e,t)=>{var n=De(),r=ke();t.exports=function(e){return n(r(e))}})),J=A(((e,t)=>{var n=U();t.exports=function(e){return typeof e==`object`?e!==null:n(e)}})),Y=A(((e,t)=>{t.exports={}})),Ae=A(((e,t)=>{var n=Y(),r=R(),i=U(),a=function(e){return i(e)?e:void 0};t.exports=function(e,t){return arguments.length<2?a(n[e])||a(r[e]):n[e]&&n[e][t]||r[e]&&r[e][t]}})),je=A(((e,t)=>{t.exports=V()({}.isPrototypeOf)})),Me=A(((e,t)=>{var n=R().navigator,r=n&&n.userAgent;t.exports=r?String(r):``})),Ne=A(((e,t)=>{var n=R(),r=Me(),i=n.process,a=n.Deno,o=i&&i.versions||a&&a.version,s=o&&o.v8,c,l;s&&(c=s.split(`.`),l=c[0]>0&&c[0]<4?1:+(c[0]+c[1])),!l&&r&&(c=r.match(/Edge\/(\d+)/),(!c||c[1]>=74)&&(c=r.match(/Chrome\/(\d+)/),c&&(l=+c[1]))),t.exports=l})),Pe=A(((e,t)=>{var n=Ne(),r=z(),i=R().String;t.exports=!!Object.getOwnPropertySymbols&&!r(function(){var e=Symbol(`symbol detection`);return!i(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&n&&n<41})})),Fe=A(((e,t)=>{t.exports=Pe()&&!Symbol.sham&&typeof Symbol.iterator==`symbol`})),Ie=A(((e,t)=>{var n=Ae(),r=U(),i=je(),a=Fe(),o=Object;t.exports=a?function(e){return typeof e==`symbol`}:function(e){var t=n(`Symbol`);return r(t)&&i(t.prototype,o(e))}})),Le=A(((e,t)=>{var n=String;t.exports=function(e){try{return n(e)}catch(e){return`Object`}}})),X=A(((e,t)=>{var n=U(),r=Le(),i=TypeError;t.exports=function(e){if(n(e))return e;throw new i(r(e)+` is not a function`)}})),Re=A(((e,t)=>{var n=X(),r=Oe();t.exports=function(e,t){var i=e[t];return r(i)?void 0:n(i)}})),ze=A(((e,t)=>{var n=G(),r=U(),i=J(),a=TypeError;t.exports=function(e,t){var o,s;if(t===`string`&&r(o=e.toString)&&!i(s=n(o,e))||r(o=e.valueOf)&&!i(s=n(o,e))||t!==`string`&&r(o=e.toString)&&!i(s=n(o,e)))return s;throw new a(`Can't convert object to primitive value`)}})),Be=A(((e,t)=>{t.exports=!0})),Ve=A(((e,t)=>{var n=R(),r=Object.defineProperty;t.exports=function(e,t){try{r(n,e,{value:t,configurable:!0,writable:!0})}catch(r){n[e]=t}return t}})),He=A(((e,t)=>{var n=Be(),r=R(),i=Ve(),a=`__core-js_shared__`,o=t.exports=r[a]||i(a,{});(o.versions||(o.versions=[])).push({version:`3.47.0`,mode:n?`pure`:`global`,copyright:`© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)`,license:`https://github.com/zloirock/core-js/blob/v3.47.0/LICENSE`,source:`https://github.com/zloirock/core-js`})})),Ue=A(((e,t)=>{var n=He();t.exports=function(e,t){return n[e]||(n[e]=t||{})}})),We=A(((e,t)=>{var n=ke(),r=Object;t.exports=function(e){return r(n(e))}})),Z=A(((e,t)=>{var n=V(),r=We(),i=n({}.hasOwnProperty);t.exports=Object.hasOwn||function(e,t){return i(r(e),t)}})),Ge=A(((e,t)=>{var n=V(),r=0,i=Math.random(),a=n(1.1.toString);t.exports=function(e){return`Symbol(`+(e===void 0?``:e)+`)_`+a(++r+i,36)}})),Ke=A(((e,t)=>{var n=R(),r=Ue(),i=Z(),a=Ge(),o=Pe(),s=Fe(),c=n.Symbol,l=r(`wks`),u=s?c.for||c:c&&c.withoutSetter||a;t.exports=function(e){return i(l,e)||(l[e]=o&&i(c,e)?c[e]:u(`Symbol.`+e)),l[e]}})),qe=A(((e,t)=>{var n=G(),r=J(),i=Ie(),a=Re(),o=ze(),s=Ke(),c=TypeError,l=s(`toPrimitive`);t.exports=function(e,t){if(!r(e)||i(e))return e;var s=a(e,l),u;if(s){if(t===void 0&&(t=`default`),u=n(s,e,t),!r(u)||i(u))return u;throw new c(`Can't convert object to primitive value`)}return t===void 0&&(t=`number`),o(e,t)}})),Je=A(((e,t)=>{var n=qe(),r=Ie();t.exports=function(e){var t=n(e,`string`);return r(t)?t:t+``}})),Ye=A(((e,t)=>{var n=R(),r=J(),i=n.document,a=r(i)&&r(i.createElement);t.exports=function(e){return a?i.createElement(e):{}}})),Xe=A(((e,t)=>{var n=W(),r=z(),i=Ye();t.exports=!n&&!r(function(){return Object.defineProperty(i(`div`),`a`,{get:function(){return 7}}).a!==7})})),Ze=A((e=>{var t=W(),n=G(),r=K(),i=Ee(),a=q(),o=Je(),s=Z(),c=Xe(),l=Object.getOwnPropertyDescriptor;e.f=t?l:function(e,t){if(e=a(e),t=o(t),c)try{return l(e,t)}catch(e){}if(s(e,t))return i(!n(r.f,e,t),e[t])}})),Qe=A(((e,t)=>{var n=z(),r=U(),i=/#|\.prototype\./,a=function(e,t){var i=s[o(e)];return i===l?!0:i===c?!1:r(t)?n(t):!!t},o=a.normalize=function(e){return String(e).replace(i,`.`).toLowerCase()},s=a.data={},c=a.NATIVE=`N`,l=a.POLYFILL=`P`;t.exports=a})),$e=A(((e,t)=>{var n=Te(),r=X(),i=B(),a=n(n.bind);t.exports=function(e,t){return r(e),t===void 0?e:i?a(e,t):function(){return e.apply(t,arguments)}}})),et=A(((e,t)=>{var n=W(),r=z();t.exports=n&&r(function(){return Object.defineProperty(function(){},`prototype`,{value:42,writable:!1}).prototype!==42})})),tt=A(((e,t)=>{var n=J(),r=String,i=TypeError;t.exports=function(e){if(n(e))return e;throw new i(r(e)+` is not an object`)}})),nt=A((e=>{var t=W(),n=Xe(),r=et(),i=tt(),a=Je(),o=TypeError,s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,l=`enumerable`,u=`configurable`,d=`writable`;e.f=t?r?function(e,t,n){if(i(e),t=a(t),i(n),typeof e==`function`&&t===`prototype`&&`value`in n&&d in n&&!n[d]){var r=c(e,t);r&&r[d]&&(e[t]=n.value,n={configurable:u in n?n[u]:r[u],enumerable:l in n?n[l]:r[l],writable:!1})}return s(e,t,n)}:s:function(e,t,r){if(i(e),t=a(t),i(r),n)try{return s(e,t,r)}catch(e){}if(`get`in r||`set`in r)throw new o(`Accessors not supported`);return`value`in r&&(e[t]=r.value),e}})),rt=A(((e,t)=>{var n=W(),r=nt(),i=Ee();t.exports=n?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}})),it=A(((e,t)=>{var n=R(),r=we(),i=Te(),a=U(),o=Ze().f,s=Qe(),c=Y(),l=$e(),u=rt(),d=Z();He();var f=function(e){var t=function(n,i,a){if(this instanceof t){switch(arguments.length){case 0:return new e;case 1:return new e(n);case 2:return new e(n,i)}return new e(n,i,a)}return r(e,this,arguments)};return t.prototype=e.prototype,t};t.exports=function(e,t){var r=e.target,p=e.global,m=e.stat,h=e.proto,g=p?n:m?n[r]:n[r]&&n[r].prototype,_=p?c:c[r]||u(c,r,{})[r],v=_.prototype,y,b,x,S,C,w,T,E,D;for(S in t)y=s(p?S:r+(m?`.`:`#`)+S,e.forced),b=!y&&g&&d(g,S),w=_[S],b&&(e.dontCallGetSet?(D=o(g,S),T=D&&D.value):T=g[S]),C=b&&T?T:t[S],!(!y&&!h&&typeof w==typeof C)&&(E=e.bind&&b?l(C,n):e.wrap&&b?f(C):h&&a(C)?i(C):C,(e.sham||C&&C.sham||w&&w.sham)&&u(E,`sham`,!0),u(_,S,E),h&&(x=r+`Prototype`,d(c,x)||u(c,x,{}),u(c[x],S,C),e.real&&v&&(y||!v[S])&&u(v,S,C)))}})),at=A(((e,t)=>{var n=Math.ceil,r=Math.floor;t.exports=Math.trunc||function(e){var t=+e;return(t>0?r:n)(t)}})),ot=A(((e,t)=>{var n=at();t.exports=function(e){var t=+e;return t!==t||t===0?0:n(t)}})),st=A(((e,t)=>{var n=ot(),r=Math.max,i=Math.min;t.exports=function(e,t){var a=n(e);return a<0?r(a+t,0):i(a,t)}})),ct=A(((e,t)=>{var n=ot(),r=Math.min;t.exports=function(e){var t=n(e);return t>0?r(t,9007199254740991):0}})),lt=A(((e,t)=>{var n=ct();t.exports=function(e){return n(e.length)}})),ut=A(((e,t)=>{var n=q(),r=st(),i=lt(),a=function(e){return function(t,a,o){var s=n(t),c=i(s);if(c===0)return!e&&-1;var l=r(o,c),u;if(e&&a!==a){for(;c>l;)if(u=s[l++],u!==u)return!0}else for(;c>l;l++)if((e||l in s)&&s[l]===a)return e||l||0;return!e&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}})),dt=A(((e,t)=>{t.exports={}})),ft=A(((e,t)=>{var n=V(),r=Z(),i=q(),a=ut().indexOf,o=dt(),s=n([].push);t.exports=function(e,t){var n=i(e),c=0,l=[],u;for(u in n)!r(o,u)&&r(n,u)&&s(l,u);for(;t.length>c;)r(n,u=t[c++])&&(~a(l,u)||s(l,u));return l}})),pt=A(((e,t)=>{t.exports=[`constructor`,`hasOwnProperty`,`isPrototypeOf`,`propertyIsEnumerable`,`toLocaleString`,`toString`,`valueOf`]})),mt=A(((e,t)=>{var n=ft(),r=pt();t.exports=Object.keys||function(e){return n(e,r)}})),ht=A((e=>{e.f=Object.getOwnPropertySymbols})),gt=A(((e,t)=>{var n=W(),r=V(),i=G(),a=z(),o=mt(),s=ht(),c=K(),l=We(),u=De(),d=Object.assign,f=Object.defineProperty,p=r([].concat);t.exports=!d||a(function(){if(n&&d({b:1},d(f({},`a`,{enumerable:!0,get:function(){f(this,`b`,{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var e={},t={},r=Symbol(`assign detection`),i=`abcdefghijklmnopqrst`;return e[r]=7,i.split(``).forEach(function(e){t[e]=e}),d({},e)[r]!==7||o(d({},t)).join(``)!==i})?function(e,t){for(var r=l(e),a=arguments.length,d=1,f=s.f,m=c.f;a>d;)for(var h=u(arguments[d++]),g=f?p(o(h),f(h)):o(h),_=g.length,v=0,y;_>v;)y=g[v++],(!n||i(m,h,y))&&(r[y]=h[y]);return r}:d})),_t=A((()=>{var e=it(),t=gt();e({target:`Object`,stat:!0,arity:2,forced:Object.assign!==t},{assign:t})})),vt=A(((e,t)=>{_t(),t.exports=Y().Object.assign})),yt=A(((e,t)=>{t.exports=vt()})),bt=A(((e,t)=>{t.exports=yt()})),xt=A(((e,t)=>{t.exports=bt()})),St=A(((e,t)=>{t.exports=xt()})),Ct=A(((e,t)=>{t.exports=V()([].slice)})),wt=A(((e,t)=>{var n=V(),r=X(),i=J(),a=Z(),o=Ct(),s=B(),c=Function,l=n([].concat),u=n([].join),d={},f=function(e,t,n){if(!a(d,t)){for(var r=[],i=0;i<t;i++)r[i]=`a[`+i+`]`;d[t]=c(`C,a`,`return new C(`+u(r,`,`)+`)`)}return d[t](e,n)};t.exports=s?c.bind:function(e){var t=r(this),n=t.prototype,a=o(arguments,1),s=function(){var n=l(a,o(arguments));return this instanceof s?f(t,n.length,n):t.apply(e,n)};return i(n)&&(s.prototype=n),s}})),Tt=A((()=>{var e=it(),t=wt();e({target:`Function`,proto:!0,forced:Function.bind!==t},{bind:t})})),Et=A(((e,t)=>{var n=R(),r=Y();t.exports=function(e,t){var i=r[e+`Prototype`],a=i&&i[t];if(a)return a;var o=n[e],s=o&&o.prototype;return s&&s[t]}})),Dt=A(((e,t)=>{Tt(),t.exports=Et()(`Function`,`bind`)})),Ot=A(((e,t)=>{var n=je(),r=Dt(),i=Function.prototype;t.exports=function(e){var t=e.bind;return e===i||n(i,e)&&t===i.bind?r:t}})),kt=A(((e,t)=>{t.exports=Ot()})),At=A(((e,t)=>{t.exports=kt()})),jt=A(((e,t)=>{t.exports=At()})),Mt=A(((e,t)=>{t.exports=jt()})),Nt=j(St(),1),Pt=j(Mt(),1);function Q(){var e;return Q=Nt.default?(0,Pt.default)(e=Nt.default).call(e):function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Q.apply(null,arguments)}var Ft=j(A(((e,t)=>{var n=`Expected a function`,r=NaN,i=`[object Symbol]`,a=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt,u=typeof global==`object`&&global&&global.Object===Object&&global,d=typeof self==`object`&&self&&self.Object===Object&&self,f=u||d||Function(`return this`)(),p=Object.prototype.toString,m=Math.max,h=Math.min,g=function(){return f.Date.now()};function _(e,t,r){var i,a,o,s,c,l,u=0,d=!1,f=!1,p=!0;if(typeof e!=`function`)throw TypeError(n);t=S(t)||0,y(r)&&(d=!!r.leading,f=`maxWait`in r,o=f?m(S(r.maxWait)||0,t):o,p=`trailing`in r?!!r.trailing:p);function _(t){var n=i,r=a;return i=a=void 0,u=t,s=e.apply(r,n),s}function v(e){return u=e,c=setTimeout(C,t),d?_(e):s}function b(e){var n=e-l,r=e-u,i=t-n;return f?h(i,o-r):i}function x(e){var n=e-l,r=e-u;return l===void 0||n>=t||n<0||f&&r>=o}function C(){var e=g();if(x(e))return w(e);c=setTimeout(C,b(e))}function w(e){return c=void 0,p&&i?_(e):(i=a=void 0,s)}function T(){c!==void 0&&clearTimeout(c),u=0,i=l=a=c=void 0}function E(){return c===void 0?s:w(g())}function D(){var e=g(),n=x(e);if(i=arguments,a=this,l=e,n){if(c===void 0)return v(l);if(f)return c=setTimeout(C,t),_(l)}return c===void 0&&(c=setTimeout(C,t)),s}return D.cancel=T,D.flush=E,D}function v(e,t,r){var i=!0,a=!0;if(typeof e!=`function`)throw TypeError(n);return y(r)&&(i=`leading`in r?!!r.leading:i,a=`trailing`in r?!!r.trailing:a),_(e,t,{leading:i,maxWait:t,trailing:a})}function y(e){var t=typeof e;return!!e&&(t==`object`||t==`function`)}function b(e){return!!e&&typeof e==`object`}function x(e){return typeof e==`symbol`||b(e)&&p.call(e)==i}function S(e){if(typeof e==`number`)return e;if(x(e))return r;if(y(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=y(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=e.replace(a,``);var n=s.test(e);return n||c.test(e)?l(e.slice(2),n?2:8):o.test(e)?r:+e}t.exports=v}))());function $(t,n){let{id:r}=e.findKey(t,n);return`w-e-image-container-${r}`}function It(e,t,n,r){let{width:i,height:a,float:o}=r,s={};i&&(s.width=i),a&&(s.height=a),o&&(s.float=o);let c=$(e,t);return jsx(`div`,{id:c,style:s,className:`w-e-image-container`},n)}function Lt(n,r,i,a){let o=L(`body`),s=$(n,r),{width:c,height:l,float:u}=a,d=0,f=0,p=0,m=0,h=!1,g=null;function _(){let e=L(`#${s}`);if(e.length===0)throw Error(`Cannot find image container elem`);return e}let v=(0,Ft.default)(e=>{e.preventDefault();let{clientX:t}=e,n=h?d-t:t-d,r=f+n,i=r/f*p;g!=null&&(r<=15||i<=15||(g.css(`width`,`${r}px`),g.css(`height`,`${i}px`)))},100);function y(i){var a,s;if(o.off(`mousemove`,v),g==null)return;let c=g.width().toFixed(2),l=g.height().toFixed(2),u=(a=n.getConfig().imageResize)==null?void 0:a.resizeUnit,d=u===`%`&&m>0?`${(Number(c)/m*100).toFixed(2)}%`:`${c}px`,h=u===`%`?``:`${l}px`,_=(s=n.getConfig().imageResize)==null?void 0:s.checkImageSize,b=_==null?void 0:_({width:d,height:h,rawWidth:d,rawHeight:h,source:`drag`});if(typeof b==`string`){n.alert(b,`error`),g.css(`width`,`${f}px`),g.css(`height`,`${p}px`),o.off(`mouseup`,y);return}if(_&&b!==!0){g.css(`width`,`${f}px`),g.css(`height`,`${p}px`),o.off(`mouseup`,y);return}let x={style:P(P({},r.style),{},{width:d,height:h})};t.setNodes(n,x,{at:e.findPath(n,r)}),o.off(`mouseup`,y)}function b(t,r){g=_(),d=t,m=r;let i=g.find(`img`);if(i.length===0)throw Error(`Cannot find image elem`);f=i.width(),p=i.height(),o.on(`mousemove`,v),o.on(`mouseup`,y);let a=e.getHoverbar(n);a&&a.hideAndClean()}let x={};return c&&(x.width=c),l&&(x.height=l),u&&(x.float=u),jsx(`div`,{id:s,style:x,className:`w-e-image-container w-e-selected-image-container`,on:{mousedown:t=>{let i=L(t.target);if(!i.hasClass(`w-e-image-dragger`))return;t.preventDefault(),(i.hasClass(`left-top`)||i.hasClass(`left-bottom`))&&(h=!0);let a=e.getParentNode(n,r);if(a==null)return;let o=e.toDOMNode(n,a),s=o.getBoundingClientRect?o.getBoundingClientRect():{width:0};b(t.clientX,s.width)}}},i,jsx(`div`,{className:`w-e-image-dragger left-top`}),jsx(`div`,{className:`w-e-image-dragger right-top`}),jsx(`div`,{className:`w-e-image-dragger left-bottom`}),jsx(`div`,{className:`w-e-image-dragger right-bottom`}))}function Rt(t,n,r){let{src:i,alt:a=``,href:o=``,loading:s,style:c={}}=t,{width:l=``,height:u=``,float:d}=c,f=M(s),p=e.isNodeSelected(r,t),m={};l&&(m.width=`100%`),u&&(m.height=`100%`),d&&(m.float=d);let h=jsx(`img`,Q({style:m,src:i,alt:a,"data-href":o},f?{loading:f}:{})),g=r.isDisabled();return p&&!g?Lt(r,t,h,{width:l,height:u,float:d}):It(r,t,h,{width:l,height:u,float:d})}var zt={renderElems:[{type:`image`,renderElem:Rt}],elemsToHtml:[ue],parseElemsHtml:[Ce],menus:[ye,be,ve]};export{zt as default};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["i18nAddResources","float","none","left","right","getTextStyleMode","getFloatClass","float","val","trim","toLowerCase","imageToHtml","elem","_childrenHtml","editor","src","alt","href","style","width","height","mode","widthData","heightData","floatData","floatClass","classAttr","styleStr","conf","type","elemToHtml","DEFAULT_FLOAT_SVG","LEFT_FLOAT_SVG","RIGHT_FLOAT_SVG","DomEditor","SlateTransforms","ImageFloatBaseClass","tag","getValue","_editor","isActive","getSelectedNode","editor","getSelectedNodeByType","isDisabled","selection","imageNode","exec","_value","hoverbar","getHoverbar","hideAndClean","style","props","float","value","setNodes","match","n","checkNodeType","t","LEFT_FLOAT_SVG","ImageFloatBaseClass","FloatLeft","title","value","iconSvg","t","DEFAULT_FLOAT_SVG","ImageFloatBaseClass","FloatNone","title","value","iconSvg","t","RIGHT_FLOAT_SVG","ImageFloatBaseClass","FloatRight","title","value","iconSvg","ImageFloatLeft","ImageFloatNone","ImageFloatRight","imageFloatNoneMenuConf","key","factory","imageFloatLeftMenuConf","imageFloatRightMenuConf","$","addClass","append","attr","children","css","dataset","empty","filter","find","focus","hasClass","height","hide","html","off","on","parents","prepend","remove","removeAttr","removeClass","show","text","val","width","DOMNode","globalThis","Node","DOMComment","Comment","DOMElement","Element","DOMText","Text","DOMRange","Range","DOMSelection","Selection","DOMStaticRange","StaticRange","fn","getStyleValue","$elem","styleKey","res","styleStr","styleArr","split","length","i","styleItemStr","arr","trim","$","getStyleValue","getFloatValue","$elem","styleFloat","dataFloat","attr","trim","classAttr","classList","split","filter","Boolean","includes","parseHtml","elem","_children","_editor","href","widthAttr","heightAttr","styleWidth","styleHeight","decodeURIComponent","type","src","alt","style","width","height","float","children","text","parseHtmlConf","selector","parseElemHtml","result","DomEditor","SlateTransforms","throttle","$$","genContainerId","editor","elemNode","id","findKey","renderContainer","imageVnode","imageInfo","width","height","float","style","containerId","jsx","className","renderResizeContainer","$body","originalX","originalWith","originalHeight","maxWidth","revers","$container","getContainerElem","$containerFromDom","length","Error","onMousemove","e","preventDefault","clientX","gap","newWidth","newHeight","css","onMouseup","_e","off","toFixed","resizeUnit","getConfig","imageResize","resizedWidth","Number","resizedHeight","checkImageSize","checkResult","rawWidth","rawHeight","source","alert","props","setNodes","at","findPath","init","parentNodeWidth","$img","find","on","hoverbar","getHoverbar","hideAndClean","mousedown","$target","target","hasClass","parentNode","getParentNode","parentNodeDom","toDOMNode","rect","getBoundingClientRect","renderImage","children","src","alt","href","selected","isNodeSelected","imageStyle","vnode","isDisabled","renderImageConf","type","renderElem","elemToHtmlConf","imageFloatLeftMenuConf","imageFloatNoneMenuConf","imageFloatRightMenuConf","parseHtmlConf","renderImageConf","module","renderElems","elemsToHtml","parseElemsHtml","menus","module"],"sources":["../src/module/local.ts","../src/module/elem-to-html.ts","../src/constants/icon-svg.ts","../src/module/menu/FloatBase.ts","../src/module/menu/FloatLeft.ts","../src/module/menu/FloatNone.ts","../src/module/menu/FloatRight.ts","../src/module/menu/index.ts","../src/utils/dom.ts","../src/module/parse-elem-html.ts","../../../node_modules/.pnpm/lodash.throttle@4.1.1/node_modules/lodash.throttle/index.js","../src/module/render-elem.tsx","../src/module/index.ts","../src/index.ts"],"sourcesContent":["/**\n * @description 多语言\n * @author cycleccc\n */\n\nimport { i18nAddResources } from '@wangeditor-next/editor'\n\ni18nAddResources('en', {\n float: {\n none: 'Default',\n left: 'Float Left',\n right: 'Float Right',\n },\n})\n\ni18nAddResources('zh-CN', {\n float: {\n none: '默认',\n left: '左浮动',\n right: '右浮动',\n },\n})\n","/**\n * @description elem to html\n * @author cycleccc\n */\n\nimport { getTextStyleMode, IDomEditor, SlateElement } from '@wangeditor-next/editor'\n\nimport { ImageElement } from './custom-types'\n\nfunction getFloatClass(float: string): string {\n const val = (float || '').trim().toLowerCase()\n\n if (val === 'left') { return 'w-e-float-image-left' }\n if (val === 'right') { return 'w-e-float-image-right' }\n if (val === 'none') { return 'w-e-float-image-none' }\n\n return ''\n}\n\n// 生成 html 的函数\nfunction imageToHtml(elem: SlateElement, _childrenHtml: string, editor?: IDomEditor): string {\n const {\n src, alt = '', href = '', style = {},\n } = elem as ImageElement\n const { width = '', height = '', float = '' } = style\n const mode = getTextStyleMode(editor)\n\n if (mode === 'class') {\n const widthData = width ? ` data-w-e-style-width=\"${width}\"` : ''\n const heightData = height ? ` data-w-e-style-height=\"${height}\"` : ''\n const floatData = float ? ` data-w-e-style-float=\"${float}\"` : ''\n const floatClass = getFloatClass(float)\n const classAttr = floatClass ? ` class=\"${floatClass}\"` : ''\n\n return `<img src=\"${src}\" alt=\"${alt}\" data-href=\"${href}\" width=\"${width}\" height=\"${height}\"${classAttr}${widthData}${heightData}${floatData}/>`\n }\n\n let styleStr = ''\n\n if (width) { styleStr += `width: ${width};` }\n if (height) { styleStr += `height: ${height};` }\n if (float) { styleStr += `float: ${float};` }\n return `<img src=\"${src}\" alt=\"${alt}\" data-href=\"${href}\" style=\"${styleStr}\"/>`\n}\n\n// 配置\nconst conf = {\n type: 'image', // 节点 type ,重要!!!\n elemToHtml: imageToHtml,\n}\n\nexport default conf\n","/**\n * @description icon svg\n * @author cycleccc\n */\n\n/**\n * 【注意】svg 字符串的长度 ,否则会导致代码体积过大\n * 尽量选择 https://www.iconfont.cn/collections/detail?spm=a313x.7781069.0.da5a778a4&cid=20293\n * 找不到再从 iconfont.com 搜索\n */\n\n// 默认不浮动\nexport const DEFAULT_FLOAT_SVG = '<svg viewBox=\"0 0 1024 1024\"><path d=\"M76.73805432 117.83964445m12.42756741 0l845.0745837 0q12.42756741 0 12.42756741 12.4275674l0 68.35162074q0 12.42756741-12.42756741 12.42756741l-845.0745837 0q-12.42756741 0-12.42756741-12.42756741l0-68.35162074q0-12.42756741 12.42756741-12.4275674Z\"></path><path d=\"M76.73805432 801.35585185m12.42756741 0l845.0745837 0q12.42756741 0 12.42756741 12.42756741l0 68.35162074q0 12.42756741-12.42756741 12.42756742l-845.0745837 0q-12.42756741 0-12.42756741-12.42756742l0-68.35162074q0-12.42756741 12.42756741-12.42756741Z\"></path><path d=\"M89.16562173 304.25315556h410.10972444c6.83516208 0 12.42756741 5.59240533 12.42756741 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.42756741 12.4275674h-410.10972444a12.42756741 12.42756741 0 0 1-12.42756741-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.42756741-12.42756741z\"></path></svg>'\n// 左浮动\nexport const LEFT_FLOAT_SVG = '<svg viewBox=\"0 0 1024 1024\"><path d=\"M77.03514075 117.83964445m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.4275674l0 68.35162074q0 12.42756741-12.4275674 12.42756741l-845.0745837 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162074q0-12.42756741 12.4275674-12.4275674Z\"></path><path d=\"M77.03514075 801.35585185m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.42756741l0 68.35162074q0 12.42756741-12.4275674 12.42756742l-845.0745837 0q-12.42756741 0-12.4275674-12.42756742l0-68.35162074q0-12.42756741 12.4275674-12.42756741Z\"></path><path d=\"M89.46270815 304.25315556h347.9718874c6.83516208 0 12.42756741 5.59240533 12.42756742 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.42756742 12.4275674h-347.9718874a12.42756741 12.42756741 0 0 1-12.4275674-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.4275674-12.42756741z\"></path><path d=\"M512 552.8045037m12.42756741 0l410.10972444 0q12.42756741 0 12.4275674 12.42756742l0 68.35162073q0 12.42756741-12.4275674 12.42756741l-410.10972444 0q-12.42756741 0-12.42756741-12.42756741l0-68.35162073q0-12.42756741 12.42756741-12.42756742Z\"></path><path d=\"M512 366.39099259m12.42756741 0l410.10972444 0q12.42756741 0 12.4275674 12.42756741l0 68.35162075q0 12.42756741-12.4275674 12.4275674l-410.10972444 0q-12.42756741 0-12.42756741-12.4275674l0-68.35162075q0-12.42756741 12.42756741-12.42756741Z\"></path></svg>'\n// 右浮动\nexport const RIGHT_FLOAT_SVG = '<svg viewBox=\"0 0 1024 1024\"><path d=\"M77.03514075 117.83964445m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.4275674l0 68.35162074q0 12.42756741-12.4275674 12.42756741l-845.0745837 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162074q0-12.42756741 12.4275674-12.4275674Z\"></path><path d=\"M77.03514075 801.35585185m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.42756741l0 68.35162074q0 12.42756741-12.4275674 12.42756742l-845.0745837 0q-12.42756741 0-12.4275674-12.42756742l0-68.35162074q0-12.42756741 12.4275674-12.42756741Z\"></path><path d=\"M586.56540445 304.25315556h347.9718874c6.83516208 0 12.42756741 5.59240533 12.4275674 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.4275674 12.4275674h-347.9718874a12.42756741 12.42756741 0 0 1-12.42756742-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.42756742-12.42756741z\"></path><path d=\"M77.03514075 552.8045037m12.4275674 0l410.10972444 0q12.42756741 0 12.42756741 12.42756742l0 68.35162073q0 12.42756741-12.42756741 12.42756741l-410.10972444 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162073q0-12.42756741 12.4275674-12.42756742Z\"></path><path d=\"M77.03514075 366.39099259m12.4275674 0l410.10972444 0q12.42756741 0 12.42756741 12.42756741l0 68.35162075q0 12.42756741-12.42756741 12.4275674l-410.10972444 0q-12.42756741 0-12.4275674-12.4275674l0-68.35162075q0-12.42756741 12.4275674-12.42756741Z\"></path></svg>'\n","/**\n * @description image float base class\n * @author cycleccc\n */\n\nimport {\n DomEditor, IButtonMenu, IDomEditor, SlateNode, SlateTransforms,\n} from '@wangeditor-next/editor'\n\nimport { ImageElement } from '../custom-types'\n\nabstract class ImageFloatBaseClass implements IButtonMenu {\n abstract readonly title: string // 菜单标题\n\n abstract readonly iconSvg: string // 图标\n\n abstract readonly value: string // css float 的值\n\n readonly tag = 'button'\n\n getValue(_editor: IDomEditor): string | boolean {\n // 无需获取 val\n return ''\n }\n\n isActive(_editor: IDomEditor): boolean {\n // 无需 active\n return false\n }\n\n private getSelectedNode(editor: IDomEditor): SlateNode | null {\n return DomEditor.getSelectedNodeByType(editor, 'image')\n }\n\n isDisabled(editor: IDomEditor): boolean {\n if (editor.selection == null) { return true }\n\n const imageNode = this.getSelectedNode(editor)\n\n return imageNode == null\n }\n\n exec(editor: IDomEditor, _value: string | boolean) {\n if (this.isDisabled(editor)) { return }\n\n const imageNode = this.getSelectedNode(editor)\n\n if (imageNode == null) { return }\n\n // 隐藏 hoverbar\n const hoverbar = DomEditor.getHoverbar(editor)\n\n if (hoverbar) { hoverbar.hideAndClean() }\n\n const { style = {} } = imageNode as ImageElement\n const props: Partial<ImageElement> = {\n style: {\n ...style,\n float: this.value, // 修改 float 的值\n },\n }\n\n SlateTransforms.setNodes(editor, props, {\n match: n => DomEditor.checkNodeType(n, 'image'),\n })\n }\n}\n\nexport default ImageFloatBaseClass\n","/**\n * @description float image left\n * @author cycleccc\n */\n\nimport { t } from '@wangeditor-next/editor'\n\nimport { LEFT_FLOAT_SVG } from '../../constants/icon-svg'\nimport ImageFloatBaseClass from './FloatBase'\n\nclass FloatLeft extends ImageFloatBaseClass {\n readonly title = t('float.left') // 菜单标题\n\n readonly value = 'left' // css float 的值\n\n readonly iconSvg = LEFT_FLOAT_SVG\n}\n\nexport default FloatLeft\n","/**\n * @description float image none\n * @author cycleccc\n */\n\nimport { t } from '@wangeditor-next/editor'\n\nimport { DEFAULT_FLOAT_SVG } from '../../constants/icon-svg'\nimport ImageFloatBaseClass from './FloatBase'\n\nclass FloatNone extends ImageFloatBaseClass {\n readonly title = t('float.none') // 菜单标题\n\n readonly value = 'none' // css float 的值\n\n readonly iconSvg = DEFAULT_FLOAT_SVG\n}\n\nexport default FloatNone\n","/**\n * @description float image right\n * @author cycleccc\n */\n\nimport { t } from '@wangeditor-next/editor'\n\nimport { RIGHT_FLOAT_SVG } from '../../constants/icon-svg'\nimport ImageFloatBaseClass from './FloatBase'\n\nclass FloatRight extends ImageFloatBaseClass {\n readonly title = t('float.right') // 菜单标题\n\n readonly value = 'right' // css float 的值\n\n readonly iconSvg = RIGHT_FLOAT_SVG\n}\n\nexport default FloatRight\n","/**\n * @description menu index\n * @author cycleccc\n */\n\nimport ImageFloatLeft from './FloatLeft'\nimport ImageFloatNone from './FloatNone'\nimport ImageFloatRight from './FloatRight'\n\nexport const imageFloatNoneMenuConf = {\n key: 'imageFloatNone',\n factory() {\n return new ImageFloatNone()\n },\n}\n\nexport const imageFloatLeftMenuConf = {\n key: 'imageFloatLeft',\n factory() {\n return new ImageFloatLeft()\n },\n}\n\nexport const imageFloatRightMenuConf = {\n key: 'imageFloatRight',\n factory() {\n return new ImageFloatRight()\n },\n}\n","/**\n * @description DOM 操作\n * @author cycleccc\n */\n\nimport $, {\n addClass,\n append,\n attr,\n children,\n css,\n dataset,\n Dom7Array,\n empty,\n filter,\n find,\n focus,\n hasClass,\n height,\n hide,\n html,\n off,\n on,\n parents,\n prepend,\n remove,\n removeAttr,\n removeClass,\n show,\n text,\n val,\n width,\n} from 'dom7'\n\n// COMPAT: This is required to prevent TypeScript aliases from doing some very\n// weird things for Slate's types with the same name as globals. (2019/11/27)\n// https://github.com/microsoft/TypeScript/issues/35002\nimport DOMNode = globalThis.Node\nimport DOMComment = globalThis.Comment\nimport DOMElement = globalThis.Element\nimport DOMText = globalThis.Text\nimport DOMRange = globalThis.Range\nimport DOMSelection = globalThis.Selection\nimport DOMStaticRange = globalThis.StaticRange\n\nexport type { Dom7Array } from 'dom7'\n\nif (css) { $.fn.css = css }\nif (append) { $.fn.append = append }\nif (prepend) { $.fn.prepend = prepend }\nif (addClass) { $.fn.addClass = addClass }\nif (removeClass) { $.fn.removeClass = removeClass }\nif (hasClass) { $.fn.hasClass = hasClass }\nif (on) { $.fn.on = on }\nif (off) { $.fn.off = off }\nif (focus) { $.fn.focus = focus }\nif (attr) { $.fn.attr = attr }\nif (removeAttr) { $.fn.removeAttr = removeAttr }\nif (hide) { $.fn.hide = hide }\nif (show) { $.fn.show = show }\nif (parents) { $.fn.parents = parents }\nif (dataset) { $.fn.dataset = dataset }\nif (val) { $.fn.val = val }\nif (text) { $.fn.text = text }\nif (html) { $.fn.html = html }\nif (children) { $.fn.children = children }\nif (remove) { $.fn.remove = remove }\nif (find) { $.fn.find = find }\nif (width) { $.fn.width = width }\nif (height) { $.fn.height = height }\nif (filter) { $.fn.filter = filter }\nif (empty) { $.fn.empty = empty }\n\nexport function getStyleValue($elem: Dom7Array, styleKey: string): string {\n let res = ''\n\n const styleStr = $elem.attr('style') || ''\n const styleArr = styleStr.split(';')\n const length = styleArr.length\n\n for (let i = 0; i < length; i += 1) {\n const styleItemStr = styleArr[i]\n\n if (styleItemStr) {\n const arr = styleItemStr.split(':')\n\n if (arr[0].trim() === styleKey) {\n res = arr[1].trim()\n }\n }\n }\n\n return res\n}\n\nexport default $\nexport {\n DOMComment, DOMElement, DOMNode, DOMRange, DOMSelection, DOMStaticRange, DOMText,\n}\n","/**\n * @description parse elem html\n * @author cycleccc\n */\n\nimport { IDomEditor, SlateDescendant } from '@wangeditor-next/editor'\n\nimport $, { Dom7Array, DOMElement, getStyleValue } from '../utils/dom'\nimport { ImageElement } from './custom-types'\n\nfunction getFloatValue($elem: Dom7Array): string {\n const styleFloat = getStyleValue($elem, 'float')\n\n if (styleFloat) { return styleFloat }\n\n const dataFloat = ($elem.attr('data-w-e-style-float') || '').trim()\n\n if (dataFloat) { return dataFloat }\n\n const classAttr = $elem.attr('class') || ''\n const classList = classAttr.trim().split(/\\s+/).filter(Boolean)\n\n if (classList.includes('w-e-float-image-left')) { return 'left' }\n if (classList.includes('w-e-float-image-right')) { return 'right' }\n if (classList.includes('w-e-float-image-none')) { return 'none' }\n\n return ''\n}\n\nfunction parseHtml(elem: DOMElement, _children: SlateDescendant[], _editor: IDomEditor): ImageElement {\n const $elem = $(elem)\n let href = $elem.attr('data-href') || ''\n const widthAttr = $elem.attr('width') || ''\n const heightAttr = $elem.attr('height') || ''\n const styleWidth = getStyleValue($elem, 'width') || $elem.attr('data-w-e-style-width') || widthAttr\n const styleHeight = getStyleValue($elem, 'height') || $elem.attr('data-w-e-style-height') || heightAttr\n const styleFloat = getFloatValue($elem)\n\n href = decodeURIComponent(href) // 兼容 V4\n\n return {\n type: 'image',\n src: $elem.attr('src') || '',\n alt: $elem.attr('alt') || '',\n href,\n style: {\n width: styleWidth,\n height: styleHeight,\n float: styleFloat,\n },\n width: widthAttr,\n height: heightAttr,\n children: [{ text: '' }], // void node 有一个空白 text\n }\n}\n\nexport const parseHtmlConf = {\n selector: 'img:not([data-w-e-type])', // data-w-e-type 属性,留给自定义元素,保证扩展性\n parseElemHtml: parseHtml,\n}\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n","/**\n * @description image render elem\n * @author wangfupeng\n */\n\nimport {\n DomEditor, IDomEditor, SlateElement, SlateTransforms,\n} from '@wangeditor-next/editor'\nimport throttle from 'lodash.throttle'\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { jsx, VNode } from 'snabbdom'\n\nimport $$, { Dom7Array } from '../utils/dom'\nimport { ImageElement } from './custom-types'\n\ninterface IImageSize {\n width?: string\n height?: string\n float?: string\n}\n\nfunction genContainerId(editor: IDomEditor, elemNode: SlateElement) {\n const { id } = DomEditor.findKey(editor, elemNode) // node 唯一 id\n\n return `w-e-image-container-${id}`\n}\n\n/**\n * 未选中时,渲染 image container\n */\nfunction renderContainer(\n editor: IDomEditor,\n elemNode: SlateElement,\n imageVnode: VNode,\n imageInfo: IImageSize,\n): VNode {\n const { width, height, float } = imageInfo\n\n const style: any = {}\n\n if (width) { style.width = width }\n if (height) { style.height = height }\n if (float) { style.float = float }\n\n const containerId = genContainerId(editor, elemNode)\n\n return (\n <div id={containerId} style={style} className=\"w-e-image-container\">\n {imageVnode}\n </div>\n ) as VNode\n}\n\n/**\n * 选中状态下,渲染 image container(渲染拖拽容器,修改图片尺寸)\n */\nfunction renderResizeContainer(\n editor: IDomEditor,\n elemNode: SlateElement,\n imageVnode: VNode,\n imageInfo: IImageSize,\n) {\n const $body = $$('body')\n const containerId = genContainerId(editor, elemNode)\n const { width, height, float } = imageInfo\n\n let originalX = 0\n let originalWith = 0\n let originalHeight = 0\n let maxWidth = 0\n let revers = false // 是否反转。如向右拖拽 right-top 需增加宽度(非反转),但向右拖拽 left-top 则需要减少宽度(反转)\n let $container: Dom7Array | null = null\n\n function getContainerElem(): Dom7Array {\n const $containerFromDom = $$(`#${containerId}`)\n\n if ($containerFromDom.length === 0) { throw new Error('Cannot find image container elem') }\n return $containerFromDom\n }\n\n // mouseover callback (节流)\n const onMousemove = throttle((e: Event) => {\n e.preventDefault()\n\n const { clientX } = e as MouseEvent\n const gap = revers ? originalX - clientX : clientX - originalX // 考虑是否反转\n const newWidth = originalWith + gap\n const newHeight = originalHeight * (newWidth / originalWith) // 根据 width ,按比例计算 height\n\n // 实时修改 img 宽高 -【注意】这里只修改 DOM ,mouseup 时再统一不修改 node\n if ($container == null) { return }\n if (newWidth <= 15 || newHeight <= 15) { return } // 最小就是 15px\n\n $container.css('width', `${newWidth}px`)\n $container.css('height', `${newHeight}px`)\n }, 100)\n\n function onMouseup(_e: Event) {\n // 取消监听 mousemove\n $body.off('mousemove', onMousemove)\n\n if ($container == null) { return }\n const newWidth = $container.width().toFixed(2)\n const newHeight = $container.height().toFixed(2)\n const resizeUnit = editor.getConfig().imageResize?.resizeUnit\n const resizedWidth = resizeUnit === '%' && maxWidth > 0\n ? `${((Number(newWidth) / maxWidth) * 100).toFixed(2)}%`\n : `${newWidth}px`\n const resizedHeight = resizeUnit === '%' ? '' : `${newHeight}px`\n const checkImageSize = editor.getConfig().imageResize?.checkImageSize\n const checkResult = checkImageSize?.({\n width: resizedWidth,\n height: resizedHeight,\n rawWidth: resizedWidth,\n rawHeight: resizedHeight,\n source: 'drag',\n })\n\n if (typeof checkResult === 'string') {\n editor.alert(checkResult, 'error')\n $container.css('width', `${originalWith}px`)\n $container.css('height', `${originalHeight}px`)\n $body.off('mouseup', onMouseup)\n return\n }\n if (checkImageSize && checkResult !== true) {\n $container.css('width', `${originalWith}px`)\n $container.css('height', `${originalHeight}px`)\n $body.off('mouseup', onMouseup)\n return\n }\n\n // 修改 node\n const props: Partial<ImageElement> = {\n style: {\n ...(elemNode as ImageElement).style,\n width: resizedWidth,\n height: resizedHeight,\n },\n }\n\n SlateTransforms.setNodes(editor, props, { at: DomEditor.findPath(editor, elemNode) })\n\n // 取消监听 mouseup\n $body.off('mouseup', onMouseup)\n }\n\n /**\n * 初始化。监听事件,记录原始数据\n */\n function init(clientX: number, parentNodeWidth: number) {\n $container = getContainerElem()\n\n // 记录当前 x 坐标值\n originalX = clientX\n maxWidth = parentNodeWidth\n\n // 记录 img 原始宽高\n const $img = $container.find('img')\n\n if ($img.length === 0) { throw new Error('Cannot find image elem') }\n originalWith = $img.width()\n originalHeight = $img.height()\n\n // 监听 mousemove\n $body.on('mousemove', onMousemove)\n\n // 监听 mouseup\n $body.on('mouseup', onMouseup)\n\n // 隐藏 hoverbar\n const hoverbar = DomEditor.getHoverbar(editor)\n\n if (hoverbar) { hoverbar.hideAndClean() }\n }\n\n const style: any = {}\n\n if (width) { style.width = width }\n if (height) { style.height = height }\n if (float) { style.float = float }\n // style.boxShadow = '0 0 0 1px #B4D5FF' // 自定义 selected 样式,因为有拖拽触手\n\n return (\n <div\n id={containerId}\n style={style}\n className=\"w-e-image-container w-e-selected-image-container\"\n on={{\n // 统一绑定拖拽触手的 mousedown 事件\n mousedown: (e: MouseEvent) => {\n const $target = $$(e.target as Element)\n\n if (!$target.hasClass('w-e-image-dragger')) {\n // target 不是 .w-e-image-dragger 拖拽触手,则忽略\n return\n }\n e.preventDefault()\n\n if ($target.hasClass('left-top') || $target.hasClass('left-bottom')) {\n revers = true // 反转。向右拖拽,减少宽度\n }\n\n const parentNode = DomEditor.getParentNode(editor, elemNode)\n\n if (parentNode == null) { return }\n const parentNodeDom = DomEditor.toDOMNode(editor, parentNode)\n const rect = parentNodeDom.getBoundingClientRect\n ? parentNodeDom.getBoundingClientRect()\n : { width: 0 }\n\n init(e.clientX, rect.width) // 初始化\n },\n }}\n >\n {imageVnode}\n\n {/* 拖拽的触手,会统一在上级 DOM 绑定拖拽事件 */}\n <div className=\"w-e-image-dragger left-top\"></div>\n <div className=\"w-e-image-dragger right-top\"></div>\n <div className=\"w-e-image-dragger left-bottom\"></div>\n <div className=\"w-e-image-dragger right-bottom\"></div>\n </div>\n )\n}\n\nfunction renderImage(elemNode: SlateElement, children: VNode[] | null, editor: IDomEditor): VNode {\n const {\n src, alt = '', href = '', style = {},\n } = elemNode as ImageElement\n const { width = '', height = '', float } = style\n const selected = DomEditor.isNodeSelected(editor, elemNode) // 图片是否选中\n\n const imageStyle: any = {}\n\n if (width) { imageStyle.width = '100%' }\n if (height) { imageStyle.height = '100%' }\n if (float) { imageStyle.float = float }\n\n // 【注意】void node 中,renderElem 不用处理 children 。core 会统一处理。\n const vnode = <img style={imageStyle} src={src} alt={alt} data-href={href}/>\n\n const isDisabled = editor.isDisabled()\n\n if (selected && !isDisabled) {\n // 选中,未禁用 - 渲染 resize container\n return renderResizeContainer(editor, elemNode, vnode, { width, height, float })\n }\n\n // 其他,渲染普通 image container\n return renderContainer(editor, elemNode, vnode, { width, height, float })\n}\n\nconst renderImageConf = {\n type: 'image', // 和 elemNode.type 一致\n renderElem: renderImage,\n}\n\nexport { renderImageConf }\n","/**\n * @description module entry\n * @author cycleccc\n */\n\nimport './local' // 多语言\n\nimport { IModuleConf } from '@wangeditor-next/editor'\n\nimport elemToHtmlConf from './elem-to-html'\nimport { imageFloatLeftMenuConf, imageFloatNoneMenuConf, imageFloatRightMenuConf } from './menu'\nimport { parseHtmlConf } from './parse-elem-html'\nimport { renderImageConf } from './render-elem'\n\nconst module: Partial<IModuleConf> = {\n renderElems: [renderImageConf],\n elemsToHtml: [elemToHtmlConf],\n parseElemsHtml: [parseHtmlConf],\n menus: [imageFloatLeftMenuConf, imageFloatRightMenuConf, imageFloatNoneMenuConf],\n}\n\nexport default module\n","/**\n * @description src entry\n * @author cycleccc\n */\n\nimport './asserts/index.less'\n\nimport module from './module/index'\n\nexport * from './module/custom-types'\n\nexport default module\n"],"x_google_ignoreList":[10],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["i18nAddResources","float","none","left","right","normalizeImageLoading","value","undefined","loading","trim","toLowerCase","getTextStyleMode","normalizeImageLoading","getFloatClass","float","val","trim","toLowerCase","imageToHtml","elem","_childrenHtml","editor","src","alt","href","loading","style","width","height","mode","normalizedLoading","loadingAttr","widthData","heightData","floatData","floatClass","classAttr","styleStr","conf","type","elemToHtml","DEFAULT_FLOAT_SVG","LEFT_FLOAT_SVG","RIGHT_FLOAT_SVG","DomEditor","SlateTransforms","ImageFloatBaseClass","tag","getValue","_editor","isActive","getSelectedNode","editor","getSelectedNodeByType","isDisabled","selection","imageNode","exec","_value","hoverbar","getHoverbar","hideAndClean","style","props","float","value","setNodes","match","n","checkNodeType","t","LEFT_FLOAT_SVG","ImageFloatBaseClass","FloatLeft","title","value","iconSvg","t","DEFAULT_FLOAT_SVG","ImageFloatBaseClass","FloatNone","title","value","iconSvg","t","RIGHT_FLOAT_SVG","ImageFloatBaseClass","FloatRight","title","value","iconSvg","ImageFloatLeft","ImageFloatNone","ImageFloatRight","imageFloatNoneMenuConf","key","factory","imageFloatLeftMenuConf","imageFloatRightMenuConf","$","addClass","append","attr","children","css","dataset","empty","filter","find","focus","hasClass","height","hide","html","off","on","parents","prepend","remove","removeAttr","removeClass","show","text","val","width","DOMNode","globalThis","Node","DOMComment","Comment","DOMElement","Element","DOMText","Text","DOMRange","Range","DOMSelection","Selection","DOMStaticRange","StaticRange","fn","getStyleValue","$elem","styleKey","res","styleStr","styleArr","split","length","i","styleItemStr","arr","trim","$","getStyleValue","normalizeImageLoading","getFloatValue","$elem","styleFloat","dataFloat","attr","trim","classAttr","classList","split","filter","Boolean","includes","parseHtml","elem","_children","_editor","href","widthAttr","heightAttr","styleWidth","styleHeight","loading","decodeURIComponent","type","src","alt","style","width","height","float","children","text","parseHtmlConf","selector","parseElemHtml","val","_Object$assign","t","result","DomEditor","SlateTransforms","throttle","$$","normalizeImageLoading","genContainerId","editor","elemNode","id","findKey","renderContainer","imageVnode","imageInfo","width","height","float","style","containerId","jsx","className","renderResizeContainer","$body","originalX","originalWith","originalHeight","maxWidth","revers","$container","getContainerElem","$containerFromDom","length","Error","onMousemove","e","preventDefault","clientX","gap","newWidth","newHeight","css","onMouseup","_e","off","toFixed","resizeUnit","getConfig","imageResize","resizedWidth","Number","resizedHeight","checkImageSize","checkResult","rawWidth","rawHeight","source","alert","props","setNodes","at","findPath","init","parentNodeWidth","$img","find","on","hoverbar","getHoverbar","hideAndClean","mousedown","$target","target","hasClass","parentNode","getParentNode","parentNodeDom","toDOMNode","rect","getBoundingClientRect","renderImage","children","src","alt","href","loading","normalizedLoading","selected","isNodeSelected","imageStyle","vnode","_extends","isDisabled","renderImageConf","type","renderElem","elemToHtmlConf","imageFloatLeftMenuConf","imageFloatNoneMenuConf","imageFloatRightMenuConf","parseHtmlConf","renderImageConf","module","renderElems","elemsToHtml","parseElemsHtml","menus","module"],"sources":["../src/module/local.ts","../src/utils/loading.ts","../src/module/elem-to-html.ts","../src/constants/icon-svg.ts","../src/module/menu/FloatBase.ts","../src/module/menu/FloatLeft.ts","../src/module/menu/FloatNone.ts","../src/module/menu/FloatRight.ts","../src/module/menu/index.ts","../src/utils/dom.ts","../src/module/parse-elem-html.ts","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/global-this.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/fails.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/function-bind-native.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/function-apply.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/function-uncurry-this.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/classof-raw.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/function-uncurry-this-clause.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/is-callable.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/descriptors.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/function-call.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/object-property-is-enumerable.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/create-property-descriptor.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/indexed-object.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/is-null-or-undefined.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/require-object-coercible.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/to-indexed-object.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/is-object.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/path.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/get-built-in.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/object-is-prototype-of.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/environment-user-agent.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/environment-v8-version.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/symbol-constructor-detection.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/use-symbol-as-uid.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/is-symbol.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/try-to-string.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/a-callable.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/get-method.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/ordinary-to-primitive.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/is-pure.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/define-global-property.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/shared-store.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/shared.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/to-object.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/has-own-property.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/uid.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/well-known-symbol.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/to-primitive.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/to-property-key.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/document-create-element.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/ie8-dom-define.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/is-forced.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/function-bind-context.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/v8-prototype-define-bug.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/an-object.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/object-define-property.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/create-non-enumerable-property.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/export.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/math-trunc.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/to-integer-or-infinity.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/to-absolute-index.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/to-length.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/length-of-array-like.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/array-includes.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/hidden-keys.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/object-keys-internal.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/enum-bug-keys.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/object-keys.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/object-get-own-property-symbols.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/object-assign.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/modules/es.object.assign.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/es/object/assign.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/stable/object/assign.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/actual/object/assign.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/full/object/assign.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/features/object/assign.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/array-slice.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/function-bind.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/modules/es.function.bind.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/internals/get-built-in-prototype-method.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/es/function/virtual/bind.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/es/instance/bind.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/stable/instance/bind.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/actual/instance/bind.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/full/instance/bind.js","../../../node_modules/.pnpm/core-js-pure@3.47.0/node_modules/core-js-pure/features/instance/bind.js","../../../node_modules/.pnpm/@babel+runtime-corejs3@7.28.4/node_modules/@babel/runtime-corejs3/helpers/esm/extends.js","../../../node_modules/.pnpm/lodash.throttle@4.1.1/node_modules/lodash.throttle/index.js","../src/module/render-elem.tsx","../src/module/index.ts","../src/index.ts"],"sourcesContent":["/**\n * @description 多语言\n * @author cycleccc\n */\n\nimport { i18nAddResources } from '@wangeditor-next/editor'\n\ni18nAddResources('en', {\n float: {\n none: 'Default',\n left: 'Float Left',\n right: 'Float Right',\n },\n})\n\ni18nAddResources('zh-CN', {\n float: {\n none: '默认',\n left: '左浮动',\n right: '右浮动',\n },\n})\n","/**\n * @description image loading attribute\n */\n\nimport { ImageLoading } from '../module/custom-types'\n\n/**\n * 规范化 <img> 的 loading 属性值,仅保留浏览器支持的 lazy / eager\n * @param value loading 属性值\n * @returns 合法的 loading 值,否则返回 undefined\n */\nexport function normalizeImageLoading(value: unknown): ImageLoading | undefined {\n if (typeof value !== 'string') { return undefined }\n\n const loading = value.trim().toLowerCase()\n\n if (loading === 'lazy' || loading === 'eager') { return loading }\n return undefined\n}\n","/**\n * @description elem to html\n * @author cycleccc\n */\n\nimport { getTextStyleMode, IDomEditor, SlateElement } from '@wangeditor-next/editor'\n\nimport { normalizeImageLoading } from '../utils/loading'\nimport { ImageElement } from './custom-types'\n\nfunction getFloatClass(float: string): string {\n const val = (float || '').trim().toLowerCase()\n\n if (val === 'left') { return 'w-e-float-image-left' }\n if (val === 'right') { return 'w-e-float-image-right' }\n if (val === 'none') { return 'w-e-float-image-none' }\n\n return ''\n}\n\n// 生成 html 的函数\nfunction imageToHtml(elem: SlateElement, _childrenHtml: string, editor?: IDomEditor): string {\n const {\n src, alt = '', href = '', loading, style = {},\n } = elem as ImageElement\n const { width = '', height = '', float = '' } = style\n const mode = getTextStyleMode(editor)\n const normalizedLoading = normalizeImageLoading(loading)\n const loadingAttr = normalizedLoading ? ` loading=\"${normalizedLoading}\"` : ''\n\n if (mode === 'class') {\n const widthData = width ? ` data-w-e-style-width=\"${width}\"` : ''\n const heightData = height ? ` data-w-e-style-height=\"${height}\"` : ''\n const floatData = float ? ` data-w-e-style-float=\"${float}\"` : ''\n const floatClass = getFloatClass(float)\n const classAttr = floatClass ? ` class=\"${floatClass}\"` : ''\n\n return `<img src=\"${src}\" alt=\"${alt}\" data-href=\"${href}\" width=\"${width}\" height=\"${height}\"${classAttr}${widthData}${heightData}${floatData}${loadingAttr}/>`\n }\n\n let styleStr = ''\n\n if (width) { styleStr += `width: ${width};` }\n if (height) { styleStr += `height: ${height};` }\n if (float) { styleStr += `float: ${float};` }\n return `<img src=\"${src}\" alt=\"${alt}\" data-href=\"${href}\" style=\"${styleStr}\"${loadingAttr}/>`\n}\n\n// 配置\nconst conf = {\n type: 'image', // 节点 type ,重要!!!\n elemToHtml: imageToHtml,\n}\n\nexport default conf\n","/**\n * @description icon svg\n * @author cycleccc\n */\n\n/**\n * 【注意】svg 字符串的长度 ,否则会导致代码体积过大\n * 尽量选择 https://www.iconfont.cn/collections/detail?spm=a313x.7781069.0.da5a778a4&cid=20293\n * 找不到再从 iconfont.com 搜索\n */\n\n// 默认不浮动\nexport const DEFAULT_FLOAT_SVG = '<svg viewBox=\"0 0 1024 1024\"><path d=\"M76.73805432 117.83964445m12.42756741 0l845.0745837 0q12.42756741 0 12.42756741 12.4275674l0 68.35162074q0 12.42756741-12.42756741 12.42756741l-845.0745837 0q-12.42756741 0-12.42756741-12.42756741l0-68.35162074q0-12.42756741 12.42756741-12.4275674Z\"></path><path d=\"M76.73805432 801.35585185m12.42756741 0l845.0745837 0q12.42756741 0 12.42756741 12.42756741l0 68.35162074q0 12.42756741-12.42756741 12.42756742l-845.0745837 0q-12.42756741 0-12.42756741-12.42756742l0-68.35162074q0-12.42756741 12.42756741-12.42756741Z\"></path><path d=\"M89.16562173 304.25315556h410.10972444c6.83516208 0 12.42756741 5.59240533 12.42756741 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.42756741 12.4275674h-410.10972444a12.42756741 12.42756741 0 0 1-12.42756741-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.42756741-12.42756741z\"></path></svg>'\n// 左浮动\nexport const LEFT_FLOAT_SVG = '<svg viewBox=\"0 0 1024 1024\"><path d=\"M77.03514075 117.83964445m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.4275674l0 68.35162074q0 12.42756741-12.4275674 12.42756741l-845.0745837 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162074q0-12.42756741 12.4275674-12.4275674Z\"></path><path d=\"M77.03514075 801.35585185m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.42756741l0 68.35162074q0 12.42756741-12.4275674 12.42756742l-845.0745837 0q-12.42756741 0-12.4275674-12.42756742l0-68.35162074q0-12.42756741 12.4275674-12.42756741Z\"></path><path d=\"M89.46270815 304.25315556h347.9718874c6.83516208 0 12.42756741 5.59240533 12.42756742 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.42756742 12.4275674h-347.9718874a12.42756741 12.42756741 0 0 1-12.4275674-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.4275674-12.42756741z\"></path><path d=\"M512 552.8045037m12.42756741 0l410.10972444 0q12.42756741 0 12.4275674 12.42756742l0 68.35162073q0 12.42756741-12.4275674 12.42756741l-410.10972444 0q-12.42756741 0-12.42756741-12.42756741l0-68.35162073q0-12.42756741 12.42756741-12.42756742Z\"></path><path d=\"M512 366.39099259m12.42756741 0l410.10972444 0q12.42756741 0 12.4275674 12.42756741l0 68.35162075q0 12.42756741-12.4275674 12.4275674l-410.10972444 0q-12.42756741 0-12.42756741-12.4275674l0-68.35162075q0-12.42756741 12.42756741-12.42756741Z\"></path></svg>'\n// 右浮动\nexport const RIGHT_FLOAT_SVG = '<svg viewBox=\"0 0 1024 1024\"><path d=\"M77.03514075 117.83964445m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.4275674l0 68.35162074q0 12.42756741-12.4275674 12.42756741l-845.0745837 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162074q0-12.42756741 12.4275674-12.4275674Z\"></path><path d=\"M77.03514075 801.35585185m12.4275674 0l845.0745837 0q12.42756741 0 12.4275674 12.42756741l0 68.35162074q0 12.42756741-12.4275674 12.42756742l-845.0745837 0q-12.42756741 0-12.4275674-12.42756742l0-68.35162074q0-12.42756741 12.4275674-12.42756741Z\"></path><path d=\"M586.56540445 304.25315556h347.9718874c6.83516208 0 12.42756741 5.59240533 12.4275674 12.42756741v410.10972445a12.42756741 12.42756741 0 0 1-12.4275674 12.4275674h-347.9718874a12.42756741 12.42756741 0 0 1-12.42756742-12.4275674v-410.10972445c0-6.83516208 5.59240533-12.42756741 12.42756742-12.42756741z\"></path><path d=\"M77.03514075 552.8045037m12.4275674 0l410.10972444 0q12.42756741 0 12.42756741 12.42756742l0 68.35162073q0 12.42756741-12.42756741 12.42756741l-410.10972444 0q-12.42756741 0-12.4275674-12.42756741l0-68.35162073q0-12.42756741 12.4275674-12.42756742Z\"></path><path d=\"M77.03514075 366.39099259m12.4275674 0l410.10972444 0q12.42756741 0 12.42756741 12.42756741l0 68.35162075q0 12.42756741-12.42756741 12.4275674l-410.10972444 0q-12.42756741 0-12.4275674-12.4275674l0-68.35162075q0-12.42756741 12.4275674-12.42756741Z\"></path></svg>'\n","/**\n * @description image float base class\n * @author cycleccc\n */\n\nimport {\n DomEditor, IButtonMenu, IDomEditor, SlateNode, SlateTransforms,\n} from '@wangeditor-next/editor'\n\nimport { ImageElement } from '../custom-types'\n\nabstract class ImageFloatBaseClass implements IButtonMenu {\n abstract readonly title: string // 菜单标题\n\n abstract readonly iconSvg: string // 图标\n\n abstract readonly value: string // css float 的值\n\n readonly tag = 'button'\n\n getValue(_editor: IDomEditor): string | boolean {\n // 无需获取 val\n return ''\n }\n\n isActive(_editor: IDomEditor): boolean {\n // 无需 active\n return false\n }\n\n private getSelectedNode(editor: IDomEditor): SlateNode | null {\n return DomEditor.getSelectedNodeByType(editor, 'image')\n }\n\n isDisabled(editor: IDomEditor): boolean {\n if (editor.selection == null) { return true }\n\n const imageNode = this.getSelectedNode(editor)\n\n return imageNode == null\n }\n\n exec(editor: IDomEditor, _value: string | boolean) {\n if (this.isDisabled(editor)) { return }\n\n const imageNode = this.getSelectedNode(editor)\n\n if (imageNode == null) { return }\n\n // 隐藏 hoverbar\n const hoverbar = DomEditor.getHoverbar(editor)\n\n if (hoverbar) { hoverbar.hideAndClean() }\n\n const { style = {} } = imageNode as ImageElement\n const props: Partial<ImageElement> = {\n style: {\n ...style,\n float: this.value, // 修改 float 的值\n },\n }\n\n SlateTransforms.setNodes(editor, props, {\n match: n => DomEditor.checkNodeType(n, 'image'),\n })\n }\n}\n\nexport default ImageFloatBaseClass\n","/**\n * @description float image left\n * @author cycleccc\n */\n\nimport { t } from '@wangeditor-next/editor'\n\nimport { LEFT_FLOAT_SVG } from '../../constants/icon-svg'\nimport ImageFloatBaseClass from './FloatBase'\n\nclass FloatLeft extends ImageFloatBaseClass {\n readonly title = t('float.left') // 菜单标题\n\n readonly value = 'left' // css float 的值\n\n readonly iconSvg = LEFT_FLOAT_SVG\n}\n\nexport default FloatLeft\n","/**\n * @description float image none\n * @author cycleccc\n */\n\nimport { t } from '@wangeditor-next/editor'\n\nimport { DEFAULT_FLOAT_SVG } from '../../constants/icon-svg'\nimport ImageFloatBaseClass from './FloatBase'\n\nclass FloatNone extends ImageFloatBaseClass {\n readonly title = t('float.none') // 菜单标题\n\n readonly value = 'none' // css float 的值\n\n readonly iconSvg = DEFAULT_FLOAT_SVG\n}\n\nexport default FloatNone\n","/**\n * @description float image right\n * @author cycleccc\n */\n\nimport { t } from '@wangeditor-next/editor'\n\nimport { RIGHT_FLOAT_SVG } from '../../constants/icon-svg'\nimport ImageFloatBaseClass from './FloatBase'\n\nclass FloatRight extends ImageFloatBaseClass {\n readonly title = t('float.right') // 菜单标题\n\n readonly value = 'right' // css float 的值\n\n readonly iconSvg = RIGHT_FLOAT_SVG\n}\n\nexport default FloatRight\n","/**\n * @description menu index\n * @author cycleccc\n */\n\nimport ImageFloatLeft from './FloatLeft'\nimport ImageFloatNone from './FloatNone'\nimport ImageFloatRight from './FloatRight'\n\nexport const imageFloatNoneMenuConf = {\n key: 'imageFloatNone',\n factory() {\n return new ImageFloatNone()\n },\n}\n\nexport const imageFloatLeftMenuConf = {\n key: 'imageFloatLeft',\n factory() {\n return new ImageFloatLeft()\n },\n}\n\nexport const imageFloatRightMenuConf = {\n key: 'imageFloatRight',\n factory() {\n return new ImageFloatRight()\n },\n}\n","/**\n * @description DOM 操作\n * @author cycleccc\n */\n\nimport $, {\n addClass,\n append,\n attr,\n children,\n css,\n dataset,\n Dom7Array,\n empty,\n filter,\n find,\n focus,\n hasClass,\n height,\n hide,\n html,\n off,\n on,\n parents,\n prepend,\n remove,\n removeAttr,\n removeClass,\n show,\n text,\n val,\n width,\n} from 'dom7'\n\n// COMPAT: This is required to prevent TypeScript aliases from doing some very\n// weird things for Slate's types with the same name as globals. (2019/11/27)\n// https://github.com/microsoft/TypeScript/issues/35002\nimport DOMNode = globalThis.Node\nimport DOMComment = globalThis.Comment\nimport DOMElement = globalThis.Element\nimport DOMText = globalThis.Text\nimport DOMRange = globalThis.Range\nimport DOMSelection = globalThis.Selection\nimport DOMStaticRange = globalThis.StaticRange\n\nexport type { Dom7Array } from 'dom7'\n\nif (css) { $.fn.css = css }\nif (append) { $.fn.append = append }\nif (prepend) { $.fn.prepend = prepend }\nif (addClass) { $.fn.addClass = addClass }\nif (removeClass) { $.fn.removeClass = removeClass }\nif (hasClass) { $.fn.hasClass = hasClass }\nif (on) { $.fn.on = on }\nif (off) { $.fn.off = off }\nif (focus) { $.fn.focus = focus }\nif (attr) { $.fn.attr = attr }\nif (removeAttr) { $.fn.removeAttr = removeAttr }\nif (hide) { $.fn.hide = hide }\nif (show) { $.fn.show = show }\nif (parents) { $.fn.parents = parents }\nif (dataset) { $.fn.dataset = dataset }\nif (val) { $.fn.val = val }\nif (text) { $.fn.text = text }\nif (html) { $.fn.html = html }\nif (children) { $.fn.children = children }\nif (remove) { $.fn.remove = remove }\nif (find) { $.fn.find = find }\nif (width) { $.fn.width = width }\nif (height) { $.fn.height = height }\nif (filter) { $.fn.filter = filter }\nif (empty) { $.fn.empty = empty }\n\nexport function getStyleValue($elem: Dom7Array, styleKey: string): string {\n let res = ''\n\n const styleStr = $elem.attr('style') || ''\n const styleArr = styleStr.split(';')\n const length = styleArr.length\n\n for (let i = 0; i < length; i += 1) {\n const styleItemStr = styleArr[i]\n\n if (styleItemStr) {\n const arr = styleItemStr.split(':')\n\n if (arr[0].trim() === styleKey) {\n res = arr[1].trim()\n }\n }\n }\n\n return res\n}\n\nexport default $\nexport {\n DOMComment, DOMElement, DOMNode, DOMRange, DOMSelection, DOMStaticRange, DOMText,\n}\n","/**\n * @description parse elem html\n * @author cycleccc\n */\n\nimport { IDomEditor, SlateDescendant } from '@wangeditor-next/editor'\n\nimport $, { Dom7Array, DOMElement, getStyleValue } from '../utils/dom'\nimport { normalizeImageLoading } from '../utils/loading'\nimport { ImageElement } from './custom-types'\n\nfunction getFloatValue($elem: Dom7Array): string {\n const styleFloat = getStyleValue($elem, 'float')\n\n if (styleFloat) { return styleFloat }\n\n const dataFloat = ($elem.attr('data-w-e-style-float') || '').trim()\n\n if (dataFloat) { return dataFloat }\n\n const classAttr = $elem.attr('class') || ''\n const classList = classAttr.trim().split(/\\s+/).filter(Boolean)\n\n if (classList.includes('w-e-float-image-left')) { return 'left' }\n if (classList.includes('w-e-float-image-right')) { return 'right' }\n if (classList.includes('w-e-float-image-none')) { return 'none' }\n\n return ''\n}\n\nfunction parseHtml(elem: DOMElement, _children: SlateDescendant[], _editor: IDomEditor): ImageElement {\n const $elem = $(elem)\n let href = $elem.attr('data-href') || ''\n const widthAttr = $elem.attr('width') || ''\n const heightAttr = $elem.attr('height') || ''\n const styleWidth = getStyleValue($elem, 'width') || $elem.attr('data-w-e-style-width') || widthAttr\n const styleHeight = getStyleValue($elem, 'height') || $elem.attr('data-w-e-style-height') || heightAttr\n const styleFloat = getFloatValue($elem)\n const loading = normalizeImageLoading($elem.attr('loading'))\n\n href = decodeURIComponent(href) // 兼容 V4\n\n return {\n type: 'image',\n src: $elem.attr('src') || '',\n alt: $elem.attr('alt') || '',\n href,\n style: {\n width: styleWidth,\n height: styleHeight,\n float: styleFloat,\n },\n width: widthAttr,\n height: heightAttr,\n ...(loading ? { loading } : {}),\n children: [{ text: '' }], // void node 有一个空白 text\n }\n}\n\nexport const parseHtmlConf = {\n selector: 'img:not([data-w-e-type])', // data-w-e-type 属性,留给自定义元素,保证扩展性\n parseElemHtml: parseHtml,\n}\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n !Symbol.sham &&\n typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = true;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.47.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)',\n license: 'https://github.com/zloirock/core-js/blob/v3.47.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.1.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind methods to global for calling from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n // wrap global constructors for prevent changes in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n // eslint-disable-next-line es/no-array-prototype-foreach -- safe\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nrequire('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n","'use strict';\nvar parent = require('../../es/object/assign');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/object/assign');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/object/assign');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/object/assign');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar $Function = Function;\nvar concat = uncurryThis([].concat);\nvar join = uncurryThis([].join);\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!hasOwn(factories, argsLength)) {\n var list = [];\n var i = 0;\n for (; i < argsLength; i++) list[i] = 'a[' + i + ']';\n factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\n// eslint-disable-next-line es/no-function-prototype-bind -- detection\nmodule.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) {\n var F = aCallable(this);\n var Prototype = F.prototype;\n var partArgs = arraySlice(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = concat(partArgs, arraySlice(arguments));\n return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);\n };\n if (isObject(Prototype)) boundFunction.prototype = Prototype;\n return boundFunction;\n};\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar bind = require('../internals/function-bind');\n\n// `Function.prototype.bind` method\n// https://tc39.es/ecma262/#sec-function.prototype.bind\n// eslint-disable-next-line es/no-function-prototype-bind -- detection\n$({ target: 'Function', proto: true, forced: Function.bind !== bind }, {\n bind: bind\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar path = require('../internals/path');\n\nmodule.exports = function (CONSTRUCTOR, METHOD) {\n var Namespace = path[CONSTRUCTOR + 'Prototype'];\n var pureMethod = Namespace && Namespace[METHOD];\n if (pureMethod) return pureMethod;\n var NativeConstructor = globalThis[CONSTRUCTOR];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n return NativePrototype && NativePrototype[METHOD];\n};\n","'use strict';\nrequire('../../../modules/es.function.bind');\nvar getBuiltInPrototypeMethod = require('../../../internals/get-built-in-prototype-method');\n\nmodule.exports = getBuiltInPrototypeMethod('Function', 'bind');\n","'use strict';\nvar isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../function/virtual/bind');\n\nvar FunctionPrototype = Function.prototype;\n\nmodule.exports = function (it) {\n var own = it.bind;\n return it === FunctionPrototype || (isPrototypeOf(FunctionPrototype, it) && own === FunctionPrototype.bind) ? method : own;\n};\n","'use strict';\nvar parent = require('../../es/instance/bind');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/instance/bind');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/instance/bind');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/instance/bind');\n","import _Object$assign from \"core-js-pure/features/object/assign.js\";\nimport _bindInstanceProperty from \"core-js-pure/features/instance/bind.js\";\nfunction _extends() {\n var _context;\n return _extends = _Object$assign ? _bindInstanceProperty(_context = _Object$assign).call(_context) : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n","/**\n * @description image render elem\n * @author wangfupeng\n */\n\nimport {\n DomEditor, IDomEditor, SlateElement, SlateTransforms,\n} from '@wangeditor-next/editor'\nimport throttle from 'lodash.throttle'\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { jsx, VNode } from 'snabbdom'\n\nimport $$, { Dom7Array } from '../utils/dom'\nimport { normalizeImageLoading } from '../utils/loading'\nimport { ImageElement } from './custom-types'\n\ninterface IImageSize {\n width?: string\n height?: string\n float?: string\n}\n\nfunction genContainerId(editor: IDomEditor, elemNode: SlateElement) {\n const { id } = DomEditor.findKey(editor, elemNode) // node 唯一 id\n\n return `w-e-image-container-${id}`\n}\n\n/**\n * 未选中时,渲染 image container\n */\nfunction renderContainer(\n editor: IDomEditor,\n elemNode: SlateElement,\n imageVnode: VNode,\n imageInfo: IImageSize,\n): VNode {\n const { width, height, float } = imageInfo\n\n const style: any = {}\n\n if (width) { style.width = width }\n if (height) { style.height = height }\n if (float) { style.float = float }\n\n const containerId = genContainerId(editor, elemNode)\n\n return (\n <div id={containerId} style={style} className=\"w-e-image-container\">\n {imageVnode}\n </div>\n ) as VNode\n}\n\n/**\n * 选中状态下,渲染 image container(渲染拖拽容器,修改图片尺寸)\n */\nfunction renderResizeContainer(\n editor: IDomEditor,\n elemNode: SlateElement,\n imageVnode: VNode,\n imageInfo: IImageSize,\n) {\n const $body = $$('body')\n const containerId = genContainerId(editor, elemNode)\n const { width, height, float } = imageInfo\n\n let originalX = 0\n let originalWith = 0\n let originalHeight = 0\n let maxWidth = 0\n let revers = false // 是否反转。如向右拖拽 right-top 需增加宽度(非反转),但向右拖拽 left-top 则需要减少宽度(反转)\n let $container: Dom7Array | null = null\n\n function getContainerElem(): Dom7Array {\n const $containerFromDom = $$(`#${containerId}`)\n\n if ($containerFromDom.length === 0) { throw new Error('Cannot find image container elem') }\n return $containerFromDom\n }\n\n // mouseover callback (节流)\n const onMousemove = throttle((e: Event) => {\n e.preventDefault()\n\n const { clientX } = e as MouseEvent\n const gap = revers ? originalX - clientX : clientX - originalX // 考虑是否反转\n const newWidth = originalWith + gap\n const newHeight = originalHeight * (newWidth / originalWith) // 根据 width ,按比例计算 height\n\n // 实时修改 img 宽高 -【注意】这里只修改 DOM ,mouseup 时再统一不修改 node\n if ($container == null) { return }\n if (newWidth <= 15 || newHeight <= 15) { return } // 最小就是 15px\n\n $container.css('width', `${newWidth}px`)\n $container.css('height', `${newHeight}px`)\n }, 100)\n\n function onMouseup(_e: Event) {\n // 取消监听 mousemove\n $body.off('mousemove', onMousemove)\n\n if ($container == null) { return }\n const newWidth = $container.width().toFixed(2)\n const newHeight = $container.height().toFixed(2)\n const resizeUnit = editor.getConfig().imageResize?.resizeUnit\n const resizedWidth = resizeUnit === '%' && maxWidth > 0\n ? `${((Number(newWidth) / maxWidth) * 100).toFixed(2)}%`\n : `${newWidth}px`\n const resizedHeight = resizeUnit === '%' ? '' : `${newHeight}px`\n const checkImageSize = editor.getConfig().imageResize?.checkImageSize\n const checkResult = checkImageSize?.({\n width: resizedWidth,\n height: resizedHeight,\n rawWidth: resizedWidth,\n rawHeight: resizedHeight,\n source: 'drag',\n })\n\n if (typeof checkResult === 'string') {\n editor.alert(checkResult, 'error')\n $container.css('width', `${originalWith}px`)\n $container.css('height', `${originalHeight}px`)\n $body.off('mouseup', onMouseup)\n return\n }\n if (checkImageSize && checkResult !== true) {\n $container.css('width', `${originalWith}px`)\n $container.css('height', `${originalHeight}px`)\n $body.off('mouseup', onMouseup)\n return\n }\n\n // 修改 node\n const props: Partial<ImageElement> = {\n style: {\n ...(elemNode as ImageElement).style,\n width: resizedWidth,\n height: resizedHeight,\n },\n }\n\n SlateTransforms.setNodes(editor, props, { at: DomEditor.findPath(editor, elemNode) })\n\n // 取消监听 mouseup\n $body.off('mouseup', onMouseup)\n }\n\n /**\n * 初始化。监听事件,记录原始数据\n */\n function init(clientX: number, parentNodeWidth: number) {\n $container = getContainerElem()\n\n // 记录当前 x 坐标值\n originalX = clientX\n maxWidth = parentNodeWidth\n\n // 记录 img 原始宽高\n const $img = $container.find('img')\n\n if ($img.length === 0) { throw new Error('Cannot find image elem') }\n originalWith = $img.width()\n originalHeight = $img.height()\n\n // 监听 mousemove\n $body.on('mousemove', onMousemove)\n\n // 监听 mouseup\n $body.on('mouseup', onMouseup)\n\n // 隐藏 hoverbar\n const hoverbar = DomEditor.getHoverbar(editor)\n\n if (hoverbar) { hoverbar.hideAndClean() }\n }\n\n const style: any = {}\n\n if (width) { style.width = width }\n if (height) { style.height = height }\n if (float) { style.float = float }\n // style.boxShadow = '0 0 0 1px #B4D5FF' // 自定义 selected 样式,因为有拖拽触手\n\n return (\n <div\n id={containerId}\n style={style}\n className=\"w-e-image-container w-e-selected-image-container\"\n on={{\n // 统一绑定拖拽触手的 mousedown 事件\n mousedown: (e: MouseEvent) => {\n const $target = $$(e.target as Element)\n\n if (!$target.hasClass('w-e-image-dragger')) {\n // target 不是 .w-e-image-dragger 拖拽触手,则忽略\n return\n }\n e.preventDefault()\n\n if ($target.hasClass('left-top') || $target.hasClass('left-bottom')) {\n revers = true // 反转。向右拖拽,减少宽度\n }\n\n const parentNode = DomEditor.getParentNode(editor, elemNode)\n\n if (parentNode == null) { return }\n const parentNodeDom = DomEditor.toDOMNode(editor, parentNode)\n const rect = parentNodeDom.getBoundingClientRect\n ? parentNodeDom.getBoundingClientRect()\n : { width: 0 }\n\n init(e.clientX, rect.width) // 初始化\n },\n }}\n >\n {imageVnode}\n\n {/* 拖拽的触手,会统一在上级 DOM 绑定拖拽事件 */}\n <div className=\"w-e-image-dragger left-top\"></div>\n <div className=\"w-e-image-dragger right-top\"></div>\n <div className=\"w-e-image-dragger left-bottom\"></div>\n <div className=\"w-e-image-dragger right-bottom\"></div>\n </div>\n )\n}\n\nfunction renderImage(elemNode: SlateElement, children: VNode[] | null, editor: IDomEditor): VNode {\n const {\n src, alt = '', href = '', loading, style = {},\n } = elemNode as ImageElement\n const { width = '', height = '', float } = style\n const normalizedLoading = normalizeImageLoading(loading)\n const selected = DomEditor.isNodeSelected(editor, elemNode) // 图片是否选中\n\n const imageStyle: any = {}\n\n if (width) { imageStyle.width = '100%' }\n if (height) { imageStyle.height = '100%' }\n if (float) { imageStyle.float = float }\n\n // 【注意】void node 中,renderElem 不用处理 children 。core 会统一处理。\n const vnode = (\n <img style={imageStyle} src={src} alt={alt} data-href={href} {...(normalizedLoading ? { loading: normalizedLoading } : {})}/>\n )\n\n const isDisabled = editor.isDisabled()\n\n if (selected && !isDisabled) {\n // 选中,未禁用 - 渲染 resize container\n return renderResizeContainer(editor, elemNode, vnode, { width, height, float })\n }\n\n // 其他,渲染普通 image container\n return renderContainer(editor, elemNode, vnode, { width, height, float })\n}\n\nconst renderImageConf = {\n type: 'image', // 和 elemNode.type 一致\n renderElem: renderImage,\n}\n\nexport { renderImageConf }\n","/**\n * @description module entry\n * @author cycleccc\n */\n\nimport './local' // 多语言\n\nimport { IModuleConf } from '@wangeditor-next/editor'\n\nimport elemToHtmlConf from './elem-to-html'\nimport { imageFloatLeftMenuConf, imageFloatNoneMenuConf, imageFloatRightMenuConf } from './menu'\nimport { parseHtmlConf } from './parse-elem-html'\nimport { renderImageConf } from './render-elem'\n\nconst module: Partial<IModuleConf> = {\n renderElems: [renderImageConf],\n elemsToHtml: [elemToHtmlConf],\n parseElemsHtml: [parseHtmlConf],\n menus: [imageFloatLeftMenuConf, imageFloatRightMenuConf, imageFloatNoneMenuConf],\n}\n\nexport default module\n","/**\n * @description src entry\n * @author cycleccc\n */\n\nimport './asserts/index.less'\n\nimport module from './module/index'\n\nexport * from './module/custom-types'\n\nexport default module\n"],"x_google_ignoreList":[11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wangeditor-next/plugin-float-image",
3
- "version": "6.5.2",
3
+ "version": "6.6.0",
4
4
  "description": "wangEditor float image plugin",
5
5
  "author": "cycleccc <2991205548@qq.com>",
6
6
  "type": "module",
@@ -37,7 +37,7 @@
37
37
  "dom7": "^3.0.0 || ^4.0.0",
38
38
  "slate": "^0.124.0 || ^0.126.2",
39
39
  "snabbdom": "^3.6.0",
40
- "@wangeditor-next/editor": "^6.5.2"
40
+ "@wangeditor-next/editor": "^6.6.0"
41
41
  },
42
42
  "devDependencies": {},
43
43
  "scripts": {