draftify-react 0.2.1 → 0.2.2

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.
@@ -1 +1 @@
1
- .df-heading{border:none;width:100%;outline:none;font-size:24px;font-weight:600}.df-subheading{border:none;width:100%;outline:none;font-size:20px;font-weight:600}.df-paragraph{border:none;width:100%;height:fit-content;outline:none}.df-quote{border:none;width:100%;border-left:4px solid var(--draftify-theme-color);outline:none;font-size:18px;font-style:italic;padding-left:8px}.df-list{border:none;width:100%;outline:none;font-size:14px;list-style-type:disc}.df-link{border:none;flex:-1;width:100%;outline:none;font-size:14px}.df-subheading{border:none;outline:none;width:100%;font-size:20px;font-weight:600}.draftify-root{--draftify-theme-color: rgb(59, 130, 246);--hovered-draftify-theme-color: rgb(30, 64, 175);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}.df-quote{border:none;outline:none;width:100%;border-left:4px solid var(--draftify-theme-color);font-size:18px;font-style:italic;padding-left:8px}.df-paragraph{border:none;outline:none;width:100%;height:fit-content}.df-list{border:none;outline:none;width:100%;font-size:14px;list-style-type:disc}.df-link{border:none;outline:none;flex:-1;width:100%;font-size:14px}.df-code{font-family:monospace;background-color:#000;color:#fff;padding:8px;width:100%;white-space:pre-wrap;border-radius:6px}.df-media{width:100%;height:100%;object-fit:cover;border-radius:10px}.row-col-button-setter{border:1px solid var(--draftify-theme-color);border-radius:5px;line-height:normal;padding:0 4px;color:var(--draftify-theme-color);cursor:pointer}.row-col-button-setter:hover{background-color:var(--draftify-theme-color);color:#fff}.draftify-root{--draftify-theme-color: #3b82f6;--hovered-draftify-theme-color: rgb(30, 64, 175);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}._container_1mz3p_3{border:1px solid #e5e7eb;width:100%;height:275px;position:relative;overflow:hidden}._mediaWrapper_1mz3p_19{width:100%;height:100%;display:flex;flex-direction:column;color:var(--draftify-theme-color);font-weight:500}._mediaItem_1mz3p_37{flex:1;width:100%;object-fit:cover}._footerOverlay_1mz3p_49{bottom:2px;display:flex;gap:8px;align-items:center;width:100%;height:25px;font-size:12px}._refreshButton_1mz3p_69{display:flex;gap:8px;border:1px solid currentColor;border-radius:5px;align-items:center;padding:0 4px;background-color:var(--draftify-theme-color);color:#fff;cursor:pointer}._dropzone_1mz3p_95{border:2px dashed #d1d5db;width:100%;height:100%;display:grid;place-items:center}._uploadLabel_1mz3p_111{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:20px;padding:8px 16px;border-radius:10px;cursor:pointer}._uploadIconCircle_1mz3p_135{border:1px solid #d1d5db;border-radius:50%;display:flex;justify-content:center;align-items:center;width:60px;height:60px;font-size:20px}._donutContainer_1mz3p_159{width:100%;height:100%;display:flex;justify-content:center;align-items:center}._donutOuter_1mz3p_175{display:grid;place-items:center;width:128px;height:128px;border-radius:50%}._donutInner_1mz3p_191{width:120px;height:120px;background-color:#fff;border-radius:50%;display:grid;place-items:center;text-align:center;color:var(--draftify-theme-color)}._optionsContainer_1bxps_1{display:flex;flex-wrap:wrap;align-items:center;gap:5px}._optionButton_1bxps_15{display:flex;align-items:center;gap:10px;height:20px;padding:8px;border:2px solid #4b5563;border-radius:10px;cursor:pointer;font-size:14px;transition:color .2s ease}@media(min-width:768px){._optionButton_1bxps_15{font-size:16px}}._iconWrapper_1bxps_53{display:flex;position:relative}._subscript_1bxps_63{font-size:12px;line-height:1}.container{border:1px solid #e5e7eb;width:100%;height:275px;position:relative;overflow:hidden}.mediaWrapper{width:100%;height:100%;display:flex;flex-direction:column;color:var(--draftify-theme-color);font-weight:500}.mediaItem{flex:1;width:100%;object-fit:cover}.footerOverlay{bottom:2px;display:flex;gap:8px;align-items:center;width:100%;height:25px;font-size:12px}.refreshButton{display:flex;gap:8px;border:1px solid currentColor;border-radius:5px;align-items:center;padding:0 4px;background-color:var(--draftify-theme-color);color:#fff;cursor:pointer}.dropzone{border:2px dashed #d1d5db;width:100%;height:100%;display:grid;place-items:center}.uploadLabel{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:20px;padding:8px 16px;border-radius:10px;cursor:pointer}.uploadIconCircle{border:1px solid #d1d5db;border-radius:50%;display:flex;justify-content:center;align-items:center;width:60px;height:60px;font-size:20px}.donutContainer{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.donutOuter{display:grid;place-items:center;width:128px;height:128px;border-radius:50%}.donutInner{width:120px;height:120px;background-color:#fff;border-radius:50%;display:grid;place-items:center;text-align:center;color:var(--draftify-theme-color)}.optionsContainer{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.optionButton{display:flex;align-items:center;gap:10px;height:20px;padding:8px;border:2px solid #4b5563;border-radius:10px;cursor:pointer;font-size:14px;transition:color .2s ease}@media(min-width:768px){.optionButton{font-size:16px}}.iconWrapper{display:flex;position:relative}.subscript{font-size:12px;line-height:1}.draftify-root{--draftify-theme-color: #3b82f6;--hovered-draftify-theme-color: rgb(30, 64, 175);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}.draftify-root .draftify-container{box-sizing:border-box;position:relative;display:flex;flex-direction:column;gap:20px;width:100%;min-height:450px;height:fit-content;border:1px solid var(--draftify-theme-color);border-radius:16px;padding:8px;background-color:#fff}.draftify-root .doc-metadata-prompt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;border:1px solid var(--draftify-theme-color);border-radius:16px;padding:20px;box-shadow:0 10px 25px #00000026;z-index:10}.draftify-root .editor-area{flex:1;border:1px solid var(--draftify-theme-color);border-radius:16px;padding:2.5px 0}@media(min-width:768px){.draftify-root .editor-area{padding:20px}}.draftify-root .output-area{display:grid;gap:10px;border:1px solid var(--draftify-theme-color);border-radius:16px;padding:12px}@media(min-width:768px){.draftify-root .output-area{padding:20px}}.draftify-root .block-container{display:flex;align-items:center;gap:5px;border-radius:6px;padding:5px;transition:background-color .2s ease,color .2s ease}.draftify-root .logo-text{display:flex;gap:10px;align-items:center;font-weight:700;font-size:20px;background:linear-gradient(to bottom right,#1e40af,#a855f7);background-clip:text;-webkit-background-clip:text;color:transparent}.draftify-root .logo-description{text-decoration:underline;font-weight:400;font-size:12px}.draftify-root .delete-icon{cursor:pointer}.draftify-root .delete-icon :hover{color:#ef4444}
1
+ .df-heading{border:none;width:100%;outline:none;font-size:24px;font-weight:600}.df-subheading{border:none;width:100%;outline:none;font-size:20px;font-weight:600}.df-paragraph{border:none;width:100%;height:fit-content;outline:none}.df-quote{border:none;width:100%;border-left:4px solid var(--draftify-theme-color);outline:none;font-size:18px;font-style:italic;padding-left:8px}.df-list{border:none;width:100%;outline:none;font-size:14px;list-style-type:disc}.df-link{border:none;flex:-1;width:100%;outline:none;font-size:14px}.df-subheading{border:none;outline:none;width:100%;font-size:20px;font-weight:600}.draftify-root{--draftify-theme-color: rgb(59, 130, 246);--hovered-draftify-theme-color: rgb(30, 64, 175);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}.df-quote{border:none;outline:none;width:100%;border-left:4px solid var(--draftify-theme-color);font-size:18px;font-style:italic;padding-left:8px}.df-paragraph{border:none;outline:none;width:100%;height:fit-content}.df-list{border:none;outline:none;width:100%;font-size:14px;list-style-type:disc}.df-link{border:none;outline:none;flex:-1;width:100%;font-size:14px}.df-code{font-family:monospace;background-color:#000;color:#fff;padding:8px;width:100%;white-space:pre-wrap;border-radius:6px}.df-media{width:100%;height:100%;object-fit:cover;border-radius:10px}.row-col-button-setter{border:1px solid var(--draftify-theme-color);border-radius:5px;line-height:normal;padding:0 4px;color:var(--draftify-theme-color);cursor:pointer}.row-col-button-setter:hover{background-color:var(--draftify-theme-color);color:#fff}._optionsContainer_1bxps_1{display:flex;flex-wrap:wrap;align-items:center;gap:5px}._optionButton_1bxps_15{display:flex;align-items:center;gap:10px;height:20px;padding:8px;border:2px solid #4b5563;border-radius:10px;cursor:pointer;font-size:14px;transition:color .2s ease}@media(min-width:768px){._optionButton_1bxps_15{font-size:16px}}._iconWrapper_1bxps_53{display:flex;position:relative}._subscript_1bxps_63{font-size:12px;line-height:1}.optionButton{display:flex;align-items:center;gap:10px;height:20px;padding:8px;border:2px solid #4b5563;border-radius:10px;cursor:pointer;font-size:14px;transition:color .2s ease}.draftify-root{--draftify-theme-color: #3b82f6;--hovered-draftify-theme-color: rgb(30, 64, 175);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}._container_1mz3p_3{border:1px solid #e5e7eb;width:100%;height:275px;position:relative;overflow:hidden}._mediaWrapper_1mz3p_19{width:100%;height:100%;display:flex;flex-direction:column;color:var(--draftify-theme-color);font-weight:500}._mediaItem_1mz3p_37{flex:1;width:100%;object-fit:cover}._footerOverlay_1mz3p_49{bottom:2px;display:flex;gap:8px;align-items:center;width:100%;height:25px;font-size:12px}._refreshButton_1mz3p_69{display:flex;gap:8px;border:1px solid currentColor;border-radius:5px;align-items:center;padding:0 4px;background-color:var(--draftify-theme-color);color:#fff;cursor:pointer}._dropzone_1mz3p_95{border:2px dashed #d1d5db;width:100%;height:100%;display:grid;place-items:center}._uploadLabel_1mz3p_111{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:20px;padding:8px 16px;border-radius:10px;cursor:pointer}._uploadIconCircle_1mz3p_135{border:1px solid #d1d5db;border-radius:50%;display:flex;justify-content:center;align-items:center;width:60px;height:60px;font-size:20px}._donutContainer_1mz3p_159{width:100%;height:100%;display:flex;justify-content:center;align-items:center}._donutOuter_1mz3p_175{display:grid;place-items:center;width:128px;height:128px;border-radius:50%}._donutInner_1mz3p_191{width:120px;height:120px;background-color:#fff;border-radius:50%;display:grid;place-items:center;text-align:center;color:var(--draftify-theme-color)}._optionsContainer_114lu_1{display:flex;flex-wrap:wrap;align-items:center;gap:5px}@media(min-width:768px){._optionsContainer_114lu_1{gap:10px}}._optionButton_114lu_27{display:flex;align-items:center;gap:10px;height:40px;padding:8px;border:2px solid #4b5563;border-radius:10px;cursor:pointer;font-size:14px;transition:color .2s ease}@media(min-width:768px){._optionButton_114lu_27{font-size:16px}}._iconWrapper_114lu_65{display:flex;position:relative}._subscript_114lu_75{font-size:12px;line-height:1}.container{border:1px solid #e5e7eb;width:100%;height:275px;position:relative;overflow:hidden}.mediaWrapper{width:100%;height:100%;display:flex;flex-direction:column;color:var(--draftify-theme-color);font-weight:500}.mediaItem{flex:1;width:100%;object-fit:cover}.footerOverlay{bottom:2px;display:flex;gap:8px;align-items:center;width:100%;height:25px;font-size:12px}.refreshButton{display:flex;gap:8px;border:1px solid currentColor;border-radius:5px;align-items:center;padding:0 4px;background-color:var(--draftify-theme-color);color:#fff;cursor:pointer}.dropzone{border:2px dashed #d1d5db;width:100%;height:100%;display:grid;place-items:center}.uploadLabel{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:20px;padding:8px 16px;border-radius:10px;cursor:pointer}.uploadIconCircle{border:1px solid #d1d5db;border-radius:50%;display:flex;justify-content:center;align-items:center;width:60px;height:60px;font-size:20px}.donutContainer{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.donutOuter{display:grid;place-items:center;width:128px;height:128px;border-radius:50%}.donutInner{width:120px;height:120px;background-color:#fff;border-radius:50%;display:grid;place-items:center;text-align:center;color:var(--draftify-theme-color)}.optionsContainer{display:flex;flex-wrap:wrap;align-items:center;gap:5px}@media(min-width:768px){.optionsContainer{gap:10px}}.optionButton{display:flex;align-items:center;gap:10px;height:40px;padding:8px;border:2px solid #4b5563;border-radius:10px;cursor:pointer;font-size:14px;transition:color .2s ease}@media(min-width:768px){.optionButton{font-size:16px}}.iconWrapper{display:flex;position:relative}.subscript{font-size:12px;line-height:1}.draftify-root{--draftify-theme-color: #3b82f6;--hovered-draftify-theme-color: rgb(30, 64, 175);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}.draftify-root .draftify-container{box-sizing:border-box;position:relative;display:flex;flex-direction:column;gap:20px;width:100%;min-height:450px;height:fit-content;border:1px solid var(--draftify-theme-color);border-radius:16px;padding:8px;background-color:#fff}@media(min-width:768px){.draftify-root .draftify-container{gap:10px;padding:20px}}.draftify-root .doc-metadata-prompt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;border:1px solid var(--draftify-theme-color);border-radius:16px;padding:20px;box-shadow:0 10px 25px #00000026;z-index:10}.draftify-root .editor-area{flex:1;border:1px solid var(--draftify-theme-color);border-radius:16px;padding:2.5px 0}@media(min-width:768px){.draftify-root .editor-area{padding:20px}}.draftify-root .output-area{display:grid;gap:10px;border:1px solid var(--draftify-theme-color);border-radius:16px;padding:12px}@media(min-width:768px){.draftify-root .output-area{padding:20px}}.draftify-root .block-container{display:flex;align-items:center;gap:5px;border-radius:6px;padding:5px;transition:background-color .2s ease,color .2s ease}.draftify-root .logo-text{display:flex;gap:10px;align-items:center;font-weight:700;font-size:20px;background:linear-gradient(to bottom right,#1e40af,#a855f7);background-clip:text;-webkit-background-clip:text;color:transparent}.draftify-root .logo-description{text-decoration:underline;font-weight:400;font-size:12px}.draftify-root .delete-icon{cursor:pointer}.draftify-root .delete-icon :hover{color:#ef4444}
@@ -13,7 +13,7 @@ const mf = "_container_1mz3p_3", pf = "_mediaWrapper_1mz3p_19", gf = "_mediaItem
13
13
  donutContainer: Af,
14
14
  donutOuter: Sf,
15
15
  donutInner: Tf
16
- }, Pf = "_optionsContainer_1bxps_1", Ef = "_optionButton_1bxps_15", Cf = "_iconWrapper_1bxps_53", kf = "_subscript_1bxps_63", kn = {
16
+ }, Pf = "_optionsContainer_114lu_1", Ef = "_optionButton_114lu_27", Cf = "_iconWrapper_114lu_65", kf = "_subscript_114lu_75", kn = {
17
17
  optionsContainer: Pf,
18
18
  optionButton: Ef,
19
19
  iconWrapper: Cf,
@@ -10535,7 +10535,7 @@ async function uv(t, e, n, r, i) {
10535
10535
  r,
10536
10536
  i
10537
10537
  );
10538
- e(URL.createObjectURL(o)), n(o.name);
10538
+ e(o), n(o.name);
10539
10539
  }
10540
10540
  }
10541
10541
  async function fv(t, e, n, r, i) {
@@ -10546,7 +10546,7 @@ async function fv(t, e, n, r, i) {
10546
10546
  r,
10547
10547
  i
10548
10548
  );
10549
- e(URL.createObjectURL(s)), n(s.name);
10549
+ e(s), n(s.name);
10550
10550
  }
10551
10551
  function dv(t, e) {
10552
10552
  t.preventDefault(), e.current && (e.current.style.borderColor = "blue");
@@ -1,4 +1,4 @@
1
- (function(Ae,z){typeof exports=="object"&&typeof module<"u"?z(exports,require("react"),require("draftify")):typeof define=="function"&&define.amd?define(["exports","react","draftify"],z):(Ae=typeof globalThis<"u"?globalThis:Ae||self,z(Ae.DraftifyReact={},Ae.React,Ae.Draftify))})(this,(function(Ae,z,te){"use strict";function Mc(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const Tn=Mc(z),je={container:"_container_1mz3p_3",mediaWrapper:"_mediaWrapper_1mz3p_19",mediaItem:"_mediaItem_1mz3p_37",footerOverlay:"_footerOverlay_1mz3p_49",refreshButton:"_refreshButton_1mz3p_69",dropzone:"_dropzone_1mz3p_95",uploadLabel:"_uploadLabel_1mz3p_111",uploadIconCircle:"_uploadIconCircle_1mz3p_135",donutContainer:"_donutContainer_1mz3p_159",donutOuter:"_donutOuter_1mz3p_175",donutInner:"_donutInner_1mz3p_191"},Pn={optionsContainer:"_optionsContainer_1bxps_1",optionButton:"_optionButton_1bxps_15",iconWrapper:"_iconWrapper_1bxps_53",subscript:"_subscript_1bxps_63"};var Cn={exports:{}},Xt={};var ms;function Dc(){if(ms)return Xt;ms=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,i,s){var a=null;if(s!==void 0&&(a=""+s),i.key!==void 0&&(a=""+i.key),"key"in i){s={};for(var o in i)o!=="key"&&(s[o]=i[o])}else s=i;return i=s.ref,{$$typeof:e,type:r,key:a,ref:i!==void 0?i:null,props:s}}return Xt.Fragment=t,Xt.jsx=n,Xt.jsxs=n,Xt}var qt={};var ps;function jc(){return ps||(ps=1,process.env.NODE_ENV!=="production"&&(function(){function e(F){if(F==null)return null;if(typeof F=="function")return F.$$typeof===I?null:F.displayName||F.name||null;if(typeof F=="string")return F;switch(F){case A:return"Fragment";case k:return"Profiler";case v:return"StrictMode";case w:return"Suspense";case O:return"SuspenseList";case T:return"Activity"}if(typeof F=="object")switch(typeof F.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),F.$$typeof){case b:return"Portal";case E:return F.displayName||"Context";case S:return(F._context.displayName||"Context")+".Consumer";case P:var N=F.render;return F=F.displayName,F||(F=N.displayName||N.name||"",F=F!==""?"ForwardRef("+F+")":"ForwardRef"),F;case p:return N=F.displayName||null,N!==null?N:e(F.type)||"Memo";case y:N=F._payload,F=F._init;try{return e(F(N))}catch{}}return null}function t(F){return""+F}function n(F){try{t(F);var N=!1}catch{N=!0}if(N){N=console;var W=N.error,B=typeof Symbol=="function"&&Symbol.toStringTag&&F[Symbol.toStringTag]||F.constructor.name||"Object";return W.call(N,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",B),t(F)}}function r(F){if(F===A)return"<>";if(typeof F=="object"&&F!==null&&F.$$typeof===y)return"<...>";try{var N=e(F);return N?"<"+N+">":"<...>"}catch{return"<...>"}}function i(){var F=M.A;return F===null?null:F.getOwner()}function s(){return Error("react-stack-top-frame")}function a(F){if(j.call(F,"key")){var N=Object.getOwnPropertyDescriptor(F,"key").get;if(N&&N.isReactWarning)return!1}return F.key!==void 0}function o(F,N){function W(){x||(x=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",N))}W.isReactWarning=!0,Object.defineProperty(F,"key",{get:W,configurable:!0})}function u(){var F=e(this.type);return g[F]||(g[F]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),F=this.props.ref,F!==void 0?F:null}function d(F,N,W,B,V,X){var Z=W.ref;return F={$$typeof:m,type:F,key:N,props:W,_owner:B},(Z!==void 0?Z:null)!==null?Object.defineProperty(F,"ref",{enumerable:!1,get:u}):Object.defineProperty(F,"ref",{enumerable:!1,value:null}),F._store={},Object.defineProperty(F._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(F,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(F,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:V}),Object.defineProperty(F,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:X}),Object.freeze&&(Object.freeze(F.props),Object.freeze(F)),F}function l(F,N,W,B,V,X){var Z=N.children;if(Z!==void 0)if(B)if(C(Z)){for(B=0;B<Z.length;B++)c(Z[B]);Object.freeze&&Object.freeze(Z)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else c(Z);if(j.call(N,"key")){Z=e(F);var ee=Object.keys(N).filter(function(G){return G!=="key"});B=0<ee.length?"{key: someKey, "+ee.join(": ..., ")+": ...}":"{key: someKey}",U[Z+B]||(ee=0<ee.length?"{"+ee.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
1
+ (function(Ae,z){typeof exports=="object"&&typeof module<"u"?z(exports,require("react"),require("draftify")):typeof define=="function"&&define.amd?define(["exports","react","draftify"],z):(Ae=typeof globalThis<"u"?globalThis:Ae||self,z(Ae.DraftifyReact={},Ae.React,Ae.Draftify))})(this,(function(Ae,z,te){"use strict";function Mc(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const Tn=Mc(z),je={container:"_container_1mz3p_3",mediaWrapper:"_mediaWrapper_1mz3p_19",mediaItem:"_mediaItem_1mz3p_37",footerOverlay:"_footerOverlay_1mz3p_49",refreshButton:"_refreshButton_1mz3p_69",dropzone:"_dropzone_1mz3p_95",uploadLabel:"_uploadLabel_1mz3p_111",uploadIconCircle:"_uploadIconCircle_1mz3p_135",donutContainer:"_donutContainer_1mz3p_159",donutOuter:"_donutOuter_1mz3p_175",donutInner:"_donutInner_1mz3p_191"},Pn={optionsContainer:"_optionsContainer_114lu_1",optionButton:"_optionButton_114lu_27",iconWrapper:"_iconWrapper_114lu_65",subscript:"_subscript_114lu_75"};var Cn={exports:{}},Xt={};var ms;function Dc(){if(ms)return Xt;ms=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,i,s){var a=null;if(s!==void 0&&(a=""+s),i.key!==void 0&&(a=""+i.key),"key"in i){s={};for(var o in i)o!=="key"&&(s[o]=i[o])}else s=i;return i=s.ref,{$$typeof:e,type:r,key:a,ref:i!==void 0?i:null,props:s}}return Xt.Fragment=t,Xt.jsx=n,Xt.jsxs=n,Xt}var qt={};var ps;function jc(){return ps||(ps=1,process.env.NODE_ENV!=="production"&&(function(){function e(F){if(F==null)return null;if(typeof F=="function")return F.$$typeof===I?null:F.displayName||F.name||null;if(typeof F=="string")return F;switch(F){case A:return"Fragment";case k:return"Profiler";case v:return"StrictMode";case w:return"Suspense";case O:return"SuspenseList";case T:return"Activity"}if(typeof F=="object")switch(typeof F.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),F.$$typeof){case b:return"Portal";case E:return F.displayName||"Context";case S:return(F._context.displayName||"Context")+".Consumer";case P:var N=F.render;return F=F.displayName,F||(F=N.displayName||N.name||"",F=F!==""?"ForwardRef("+F+")":"ForwardRef"),F;case p:return N=F.displayName||null,N!==null?N:e(F.type)||"Memo";case y:N=F._payload,F=F._init;try{return e(F(N))}catch{}}return null}function t(F){return""+F}function n(F){try{t(F);var N=!1}catch{N=!0}if(N){N=console;var W=N.error,B=typeof Symbol=="function"&&Symbol.toStringTag&&F[Symbol.toStringTag]||F.constructor.name||"Object";return W.call(N,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",B),t(F)}}function r(F){if(F===A)return"<>";if(typeof F=="object"&&F!==null&&F.$$typeof===y)return"<...>";try{var N=e(F);return N?"<"+N+">":"<...>"}catch{return"<...>"}}function i(){var F=M.A;return F===null?null:F.getOwner()}function s(){return Error("react-stack-top-frame")}function a(F){if(j.call(F,"key")){var N=Object.getOwnPropertyDescriptor(F,"key").get;if(N&&N.isReactWarning)return!1}return F.key!==void 0}function o(F,N){function W(){x||(x=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",N))}W.isReactWarning=!0,Object.defineProperty(F,"key",{get:W,configurable:!0})}function u(){var F=e(this.type);return g[F]||(g[F]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),F=this.props.ref,F!==void 0?F:null}function d(F,N,W,B,V,X){var Z=W.ref;return F={$$typeof:m,type:F,key:N,props:W,_owner:B},(Z!==void 0?Z:null)!==null?Object.defineProperty(F,"ref",{enumerable:!1,get:u}):Object.defineProperty(F,"ref",{enumerable:!1,value:null}),F._store={},Object.defineProperty(F._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(F,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(F,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:V}),Object.defineProperty(F,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:X}),Object.freeze&&(Object.freeze(F.props),Object.freeze(F)),F}function l(F,N,W,B,V,X){var Z=N.children;if(Z!==void 0)if(B)if(C(Z)){for(B=0;B<Z.length;B++)c(Z[B]);Object.freeze&&Object.freeze(Z)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else c(Z);if(j.call(N,"key")){Z=e(F);var ee=Object.keys(N).filter(function(G){return G!=="key"});B=0<ee.length?"{key: someKey, "+ee.join(": ..., ")+": ...}":"{key: someKey}",U[Z+B]||(ee=0<ee.length?"{"+ee.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
2
2
  let props = %s;
3
3
  <%s {...props} />
4
4
  React keys must be passed directly to JSX without using spread:
@@ -586,4 +586,4 @@ self.addEventListener('message', async (e) => {
586
586
  self.postMessage({ error: e.message + '\\n' + e.stack, id })
587
587
  }
588
588
  })
589
- `;let cs;function ly(e,t){return new Promise(((n,r)=>{cs||(cs=(function(a){const o=[];return o.push(a),URL.createObjectURL(new Blob(o))})(oy));const i=new Worker(cs);i.addEventListener("message",(function(a){if(t.signal&&t.signal.aborted)i.terminate();else if(a.data.progress===void 0){if(a.data.error)return r(new Error(a.data.error)),void i.terminate();n(a.data.file),i.terminate()}else t.onProgress(a.data.progress)})),i.addEventListener("error",r),t.signal&&t.signal.addEventListener("abort",(()=>{r(t.signal.reason),i.terminate()})),i.postMessage({file:e,imageCompressionLibUrl:t.libURL,options:{...t,onProgress:void 0,signal:void 0}})}))}function xe(e,t){return new Promise((function(n,r){let i,s,a,o,u,d;if(i={...t},a=0,{onProgress:o}=i,i.maxSizeMB=i.maxSizeMB||Number.POSITIVE_INFINITY,u=typeof i.useWebWorker!="boolean"||i.useWebWorker,delete i.useWebWorker,i.onProgress=h=>{a=h,typeof o=="function"&&o(a)},!(e instanceof Blob||e instanceof ay))return r(new Error("The file given is not an instance of Blob or File"));if(!/^image/.test(e.type))return r(new Error("The file given is not an image"));if(d=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,!u||typeof Worker!="function"||d)return mc(e,i).then((function(h){try{return s=h,f.call(this)}catch(m){return r(m)}}).bind(this),r);var l=(function(){try{return f.call(this)}catch(h){return r(h)}}).bind(this),c=function(h){try{return mc(e,i).then((function(m){try{return s=m,l()}catch(b){return r(b)}}),r)}catch(m){return r(m)}};try{return i.libURL=i.libURL||"https://cdn.jsdelivr.net/npm/browser-image-compression@2.0.2/dist/browser-image-compression.js",ly(e,i).then((function(h){try{return s=h,l()}catch{return c()}}),c)}catch{c()}function f(){try{s.name=e.name,s.lastModified=e.lastModified}catch{}try{i.preserveExif&&e.type==="image/jpeg"&&(!i.fileType||i.fileType&&i.fileType===e.type)&&(s=rc(e,s))}catch{}return n(s)}}))}xe.getDataUrlFromFile=oc,xe.getFilefromDataUrl=us,xe.loadImage=lc,xe.drawImageInCanvas=cc,xe.drawFileInCanvas=lr,xe.canvasToFile=ur,xe.getExifOrientation=fc,xe.handleMaxWidthOrHeight=dc,xe.followExifOrientation=hc,xe.cleanupCanvasMemory=Ge,xe.isAutoOrientationInBrowser=Gt,xe.approximateBelowMaximumCanvasSizeOfBrowser=uc,xe.copyExifWithoutOrientation=rc,xe.getBrowserName=St,xe.version="2.0.2";const pc=e=>{if(!e||typeof e!="string")return"unknown";const t=[".jpg",".jpeg",".png",".gif",".bmp",".webp",".svg"],n=[".mp4",".avi",".mov",".wmv",".flv",".mkv",".webm"];for(const r of t)if(e.toLowerCase().includes(r))return"image";for(const r of n)if(e.toLowerCase().includes(r))return"video";return"unknown"};async function gc(e,t,n){if(pc(e.name)!=="image")return e;const r={maxSizeMB:1,maxWidthOrHeight:1920,useWebWorker:!0,onProgress:i=>n(i)};try{t(!0);const i=await xe(e,r);return i instanceof File?i:new File([i],e.name,{type:e.type})}catch(i){return console.error("Compression failed; using original file:",i),e}finally{t(!1)}}async function yc(e,t,n,r,i){e.preventDefault();for(const s of e.dataTransfer.items)if(s.kind==="file"){const a=s.getAsFile();if(!a)continue;const o=await gc(a,r,i);t(URL.createObjectURL(o)),n(o.name)}}async function vc(e,t,n,r,i){const s=e.target.files?.[0];if(!s)return;const a=await gc(s,r,i);t(URL.createObjectURL(a)),n(a.name)}function bc(e,t){e.preventDefault(),t.current&&(t.current.style.borderColor="blue")}function xc(e,t){e.preventDefault(),t.current&&(t.current.style.borderColor="grey")}const wc={width:"100%",height:"100%",objectFit:"cover",borderRadius:"10px"};function uy({progress:e=null}){const t=e!==null?e/100*360:0;return D.jsx("div",{className:je.donutContainer,children:D.jsx("div",{className:je.donutOuter,style:{background:`conic-gradient(rgb(59, 130, 246) ${t}deg, transparent 0)`},children:D.jsx("div",{className:je.donutInner,children:D.jsxs("div",{children:[D.jsx("div",{style:{fontStyle:"italic",fontSize:"13px"},children:"progress"}),D.jsx("div",{style:{fontSize:"1.25rem",fontWeight:"bold"},children:e!==null&&`${e}%`})]})})})})}function Ac({mediaBlock:e,modifyMedia:t}){const[n,r]=z.useState(""),[i,s]=z.useState(""),[a,o]=z.useState(""),[u,d]=z.useState(""),[l,c]=z.useState(!1),[f,h]=z.useState(null),m=z.useRef(null);z.useEffect(()=>{window.addEventListener("dragover",A=>A.preventDefault()),window.addEventListener("drop",A=>A.preventDefault())},[]),z.useEffect(()=>{r("To remove image or video component, refresh first."),e.data.src!==""&&(s(e.data.src),o(e.type))},[e.data.src,e.type]),z.useEffect(()=>{e.type==="image"?t({imageBlockId:e.id,src:i,alt:e.data.alt,caption:e.data.caption}):e.type==="video"&&t({videoBlockId:e.id,src:i,provider:e.data.provider}),u&&o(pc(u))},[i]);const b=()=>{s(""),d("")};return D.jsxs("div",{style:{width:"100%"},children:[D.jsx("div",{className:je.container,children:i&&!l?D.jsx("div",{className:je.mediaWrapper,children:a==="image"?D.jsx("img",{src:i,alt:"",className:je.mediaItem}):D.jsx("video",{autoPlay:!0,muted:!0,controls:!0,className:je.mediaItem,children:D.jsx("source",{src:i,type:"video/mp4"})})}):l?D.jsx(uy,{progress:f}):D.jsxs("div",{ref:m,onDrop:A=>yc(A,s,d,c,h),onDragOver:A=>bc(A,m),onDragLeave:A=>xc(A,m),className:je.dropzone,children:[D.jsx("input",{type:"file",id:"file",style:{display:"none"},onChange:A=>vc(A,s,d,c,h)}),D.jsxs("label",{htmlFor:"file",className:je.uploadLabel,children:[D.jsx("div",{className:je.uploadIconCircle,children:D.jsx(Ye,{icon:["fas","arrow-up-from-bracket"]})}),D.jsxs("div",{children:["Drop your"," ",D.jsx("strong",{children:e.type==="image"?"image/GIF":"video"})," ","here",D.jsx("div",{style:{color:"var(--grey-secondary)"},children:"or click to browse"})]})]})]})}),D.jsxs("div",{className:je.footerOverlay,children:[n&&D.jsx("div",{children:n}),D.jsxs("div",{onClick:b,className:je.refreshButton,children:["refresh",D.jsx(Ye,{icon:["fas","refresh"]})]})]})]})}function cy({imageBlock:e}){return D.jsx("div",{children:D.jsx("img",{src:e.data.src===""?null:e.data.src,alt:"",style:wc})},e.id)}function fy({videoBlock:e}){return D.jsx("div",{children:e.data.src&&D.jsx("video",{autoPlay:!0,muted:!0,controls:!0,style:wc,children:D.jsx("source",{src:e.data.src===""?null:e.data.src,type:"video/mp4"})})},e.id)}const fs={fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol",border:"none",outline:"none",width:"100%",fontSize:"14px"};function dy({linkBlock:e,modifyLink:t}){const[n,r]=z.useState(e.data.linkText),[i,s]=z.useState(e.data.url);return z.useEffect(()=>{t({linkBlockId:e.id,linkText:n,url:i})},[n,i,e.id]),D.jsxs("div",{style:{display:"flex"},children:[D.jsx("input",{style:{...fs,color:"#232323",borderBottom:"1px solid #232323"},type:"text",placeholder:"Enter link text...",autoFocus:!0,value:e.data.linkText,onChange:a=>r(a.target.value)}),D.jsx("span",{children:"["}),D.jsx("input",{style:{...fs,color:"var(--hovered-draftify-theme-color)",borderBottom:"1px solid #232323"},type:"url",placeholder:"url",autoFocus:!0,value:e.data.url,onChange:a=>s(a.target.value)}),D.jsx("span",{children:"]"})]})}function hy({linkBlock:e}){return D.jsx("a",{style:{...fs,color:"#3b82f6"},href:e.data.url,children:e.data.linkText},e.id)}const Sc={fontFamily:"monospace",backgroundColor:"black",color:"white",padding:"8px",whiteSpace:"pre-wrap",borderRadius:"6px",width:"100%"};function my({codeBlock:e,modifyCode:t}){return D.jsx("textarea",{style:Sc,placeholder:"Code block...",autoFocus:!0,value:e.data.code,onChange:n=>t({codeBlockId:e.id,language:e.data.language,code:n.target.value})})}function py({codeBlock:e}){return D.jsx("pre",{style:Sc,children:D.jsx("code",{children:e.data.code})},e.id)}function gy({block:e,modifyHeading:t,modifySubheading:n,modifyParagraph:r,modifyQuote:i,modifyList:s,modifyTable:a,modifyImage:o,modifyVideo:u,modifyLink:d,modifyCode:l,modifyCustom:c,CustomEditor1:f,CustomEditor2:h,CustomEditor3:m}){switch(e.type){case"heading":return D.jsx(zg,{headingBlock:e,modifyHeading:t});case"subheading":return D.jsx(Wg,{subheadingBlock:e,modifySubheading:n});case"paragraph":return D.jsx(Yg,{paragraphBlock:e,modifyParagraph:r});case"quote":return D.jsx(qg,{quoteBlock:e,modifyQuote:i});case"list":return D.jsx(Kg,{listBlock:e,modifyList:s});case"table":return D.jsx(Zg,{tableBlock:e,modifyTable:a});case"image":return D.jsx(Ac,{mediaBlock:e,modifyMedia:o});case"video":return D.jsx(Ac,{mediaBlock:e,modifyMedia:u});case"link":return D.jsx(dy,{linkBlock:e,modifyLink:d});case"code":return D.jsx(my,{codeBlock:e,modifyCode:l});case"custom-1":return f?D.jsx(f,{customBlock:e,modifyCustom:c}):null;case"custom-2":return h?D.jsx(h,{customBlock:e,modifyCustom:c}):null;case"custom-3":return m?D.jsx(m,{customBlock:e,modifyCustom:c}):null;default:return null}}function wn({text:e,children:t}){const[n,r]=z.useState(!1),i={position:"relative",display:"inline-block"},s={position:"absolute",bottom:"100%",left:"50%",transform:n?"translateX(-50%) translateY(-5px)":"translateX(-50%) translateY(0)",marginBottom:"8px",padding:"4px 8px",whiteSpace:"nowrap",zIndex:10,backgroundColor:"#1f2937",color:"#ffffff",fontSize:"0.75rem",borderRadius:"0.25rem",opacity:n?1:0,transition:"all 300ms ease",pointerEvents:"none"};return D.jsxs("div",{style:i,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:[t,D.jsx("span",{style:s,children:e})]})}const Tc=[{id:1,type:"heading",icon:["fas","heading"]},{id:2,type:"subheading",icon:["fas","heading"]},{id:3,type:"paragraph",icon:["fas","paragraph"]},{id:4,type:"quote",icon:["fas","quote-right"]},{id:5,type:"list",icon:["fas","list"]},{id:6,type:"table",icon:["fas","table-list"]},{id:7,type:"image",icon:["far","image"]},{id:8,type:"video",icon:["fas","play"]},{id:9,type:"link",icon:["fas","link"]},{id:10,type:"code",icon:["fas","code"]},{id:11,type:"custom-1",iconText:"C1"},{id:12,type:"custom-2",iconText:"C2"},{id:13,type:"custom-3",iconText:"C3"}];function yy({handleClick:e,options:t}){const[n,r]=z.useState(null),i=(o,u)=>{r(o),e(u)},s=t.map(o=>{if(o.includes("-")){const u=o.split("-");if(u[0]==="custom")return u.slice(0,2).join("-")}return o}),a=s?Tc.filter(o=>s.includes(o.type)):Tc;return D.jsx("div",{className:Pn.optionsContainer,children:a.map(o=>{const u=l=>l.type.split("-")[0]==="custom",d=u(o)?(()=>{const l=t.find(c=>c.startsWith(o.type+"-"));return l&&l.split("-")[2]||o.iconText})():o.type;return D.jsx(wn,{text:d,children:D.jsxs("div",{className:Pn.optionButton,style:{color:n===o.id?"var(--draftify-theme-color)":"#4b5563"},onClick:()=>o.type!=="table"&&i(o.id,o.type),children:[D.jsxs("div",{className:Pn.iconWrapper,children:[u(o)?D.jsx("div",{children:(()=>{const l=t.find(c=>c.startsWith(o.type+"-"));return l&&l.split("-")[2]||o.iconText})()}):D.jsx(Ye,{icon:o.icon,onClick:()=>o.type==="table"&&i(o.id,o.type)}),D.jsx("div",{className:Pn.subscript,children:o.type==="subheading"?"2":""})]}),o.type==="table"&&D.jsx(ey,{handleClick:e,block:o})]})},o.id)})})}function Pc({blocksData:e,CustomOutput1:t,CustomOutput2:n,CustomOutput3:r}){return e.length!==0&&e.map(i=>{switch(i.type){case"heading":return D.jsx($g,{headingBlock:i},i.id);case"subheading":return D.jsx(Hg,{subheadingBlock:i},i.id);case"paragraph":return D.jsx(Gg,{paragraphBlock:i},i.id);case"quote":return D.jsx(Qg,{quoteBlock:i},i.id);case"list":return D.jsx(Xg,{listBlock:i},i.id);case"table":return D.jsx(Jg,{tableBlock:i},i.id);case"image":return D.jsx(cy,{imageBlock:i},i.id);case"video":return D.jsx(fy,{videoBlock:i},i.id);case"link":return D.jsx(hy,{linkBlock:i},i.id);case"code":return D.jsx(py,{codeBlock:i},i.id);case"custom-1":return t?D.jsx(t,{customBlock:i},i.id):null;case"custom-2":return n?D.jsx(n,{customBlock:i},i.id):null;case"custom-3":return r?D.jsx(r,{customBlock:i},i.id):null;default:return null}})}function vy({view:e,setView:t,setPromptVisiblility:n,blocksData:r,setPromptAction:i,handleCopy:s}){const[a,o]=z.useState(!1),[u,d]=z.useState(null),l=z.useRef(null);z.useEffect(()=>{l.current&&(l.current.style.transform=e==="editor"?"translateX(14px)":"translateX(1px)")},[e]),z.useEffect(()=>{if(a){const m=setTimeout(()=>o(!1),3e3);return()=>clearTimeout(m)}},[a]);const c=m=>({border:"1px solid #d1d5db",borderRadius:"10px",backgroundColor:u===m?"var(--draftify-theme-color)":"var(--hovered-draftify-theme-color)",color:"white",fontWeight:u===m?"600":"400",padding:"0.25rem",cursor:"pointer",transition:"all 0.2s ease"}),f={width:"30px",height:"16px",border:"1px solid #232323",borderRadius:"1rem",cursor:"pointer",display:"flex",alignItems:"center",padding:"0",position:"relative"},h={width:"12px",height:"12px",borderRadius:"50%",backgroundColor:"#232323",transition:"transform 0.3s ease",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"9px"};return D.jsxs("div",{style:{height:"auto",minHeight:"40px",position:"relative",display:"flex",flexWrap:"wrap",alignItems:"center",fontSize:"12px",fontStyle:"italic",gap:"10px"},children:[D.jsxs("div",{className:"logo-text",children:["DRAFTIFY",D.jsx("div",{className:"logo-description",children:"Write. Create. Build your story block by block."})]}),D.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px",marginLeft:"auto"},children:[D.jsx(wn,{text:"e.g. for dev dummy data",children:D.jsxs("button",{style:c("json"),onMouseEnter:()=>d("json"),onMouseLeave:()=>d(null),onClick:()=>{i("downloadJSON"),n(!0)},children:["Download JSON ",D.jsx(Ye,{icon:["fas","download"]})]})}),D.jsx(wn,{text:"Download as document",children:D.jsxs("button",{style:c("docx"),onMouseEnter:()=>d("docx"),onMouseLeave:()=>d(null),onClick:()=>{i("exportDocx"),n(!0)},children:["Export .docx ",D.jsx(Ye,{icon:["fas","download"]})]})}),D.jsx(wn,{text:"copy to clipboard",children:D.jsx("button",{style:{padding:"0.25rem",cursor:"pointer",border:"none",background:"none",color:a?"#4ade80":"var(--hovered-draftify-theme-color)"},onClick:()=>s(r,o),children:D.jsx(Ye,{icon:["fas",a?"check":"copy"]})})}),D.jsx(wn,{text:"toggle btn editor & preview",children:D.jsx("div",{style:f,onClick:()=>t(m=>m==="editor"?"preview":"editor"),children:D.jsx("div",{ref:l,style:h,children:D.jsx("div",{style:{color:"white",transform:"translateY(-1px)"},children:e==="editor"?"e":"p"})})})}),D.jsxs("div",{style:{width:"100px"},children:["viewing ",e]})]})]})}function by(){const[e,t]=z.useState(!1),n={display:"flex",flexDirection:"column",justifyContent:"center",gap:"3px",width:"15px",height:"100%",border:`1px solid ${e?"black":"var(--draftify-theme-color)"}`,borderTopLeftRadius:"5px",borderBottomLeftRadius:"5px",cursor:"move",transition:"border-color 0.2s ease"},r={width:"4px",height:"4px",borderRadius:"10px",backgroundColor:e?"black":"var(--draftify-theme-color)",alignSelf:"center",transition:"background-color 0.2s ease"};return D.jsx("div",{style:n,onMouseEnter:()=>t(!0),onMouseLeave:()=>t(!1),children:[1,2,3].map(i=>D.jsx("div",{style:r},i))})}function xy({gridDots:e}){const t={position:"fixed",top:0,left:0,width:"100%",height:"100%",zIndex:-1},n={position:"absolute",width:"1px",height:"1px",backgroundColor:"black"};return D.jsx("div",{style:t,children:e.map(r=>D.jsx("div",{"data-x":r.x,"data-y":r.y,style:{...n,left:`${r.x*20}px`,top:`${r.y*20}px`}},r.key))})}function wy({docTitle:e,setDocTitle:t,description:n,setDescription:r,author:i,setAuthor:s,promptAction:a,handlePromptAction:o,setPromptVisiblility:u}){const[d,l]=z.useState(null),c={width:"100%",border:"1px solid #d1d5db",borderRadius:"0.375rem",padding:"0.25rem",marginTop:"0.25rem",marginBottom:"0.75rem"},f={flex:1,padding:"0.5rem 1rem",borderRadius:"0.375rem",cursor:"pointer",border:"none",transition:"background-color 0.2s"};return D.jsxs("div",{style:{padding:"1rem"},children:[D.jsxs("div",{style:{display:"flex"},children:[D.jsx("div",{style:{flex:1,marginBottom:"0.625rem"},children:"Would you like to add metadata before downloading?"}),D.jsx("div",{style:{cursor:"pointer"},onClick:()=>u(!1),children:D.jsx(Ye,{icon:["fas","xmark"]})})]}),D.jsxs("div",{style:{fontWeight:600},children:[D.jsxs("div",{children:[D.jsx("div",{children:" document title: (optional)"}),D.jsx("input",{type:"text",style:c,value:e,onChange:h=>t(h.target.value)})]}),D.jsxs("div",{children:[D.jsx("div",{children:"description: (optional)"}),D.jsx("textarea",{name:"description",style:{...c,minHeight:"60px"},value:n,onChange:h=>r(h.target.value)})]}),D.jsxs("div",{children:[D.jsx("div",{children:"author: (optional)"}),D.jsx("input",{type:"text",style:c,value:i,onChange:h=>s(h.target.value)})]})]}),D.jsxs("div",{style:{marginTop:"1rem",display:"flex",gap:"0.5rem"},children:[D.jsx("button",{style:{...f,backgroundColor:d==="ignore"?"#9ca3af":"#d1d5db",color:"black"},onMouseEnter:()=>l("ignore"),onMouseLeave:()=>l(null),onClick:()=>o(a,"ignore"),children:"Ignore"}),D.jsx("button",{style:{...f,backgroundColor:d==="add"?"#2563eb":"#3b82f6",color:"white"},onMouseEnter:()=>l("add"),onMouseLeave:()=>l(null),onClick:()=>o(a,"add"),children:"Add"})]})]})}function Cc({blocksData:e,modifyBlocks:t,defaultCustomData1:n,defaultCustomData2:r,defaultCustomData3:i}){const[s,a]=z.useState({metadata:{},version:"1.0.0",blocks:e}),[o,u]=z.useState(""),[d,l]=z.useState(""),[c,f]=z.useState(""),[h,m]=z.useState([]),[b,A]=z.useState("editor"),[v,k]=z.useState(!1),[S,E]=z.useState("");z.useEffect(()=>{if(!Array.isArray(e))throw new Error("DraftifyReact: blocksData must be an array of DraftifyBlock[]");if(typeof window<"u"&&localStorage.getItem("draftifyDoc")){const H=localStorage.getItem("draftifyDoc"),G=JSON.parse(H);a(G),u(G.metadata?.docTitle||""),l(G.metadata?.description||""),f(G.metadata?.author||""),t(te.normalizeDocument(G).blocks||te.normalizeBlock(e))}else t(te.normalizeBlock(e))},[]),z.useEffect(()=>{(async G=>{const Y=await Promise.all(G.map(async q=>{if(q.type==="image"&&q.file){const Te=await te.imageToBase64(q);return{...q,content:Te,file:void 0}}return q}));localStorage.setItem("draftifyDoc",JSON.stringify({...s,blocks:Y}))})(e)},[e,s]),z.useEffect(()=>{const H={docTitle:o||"Untitled",description:d||"",author:c||"Unknown",createdAt:new Date().toISOString()};a(G=>({...G,metadata:H}))},[o,d,c]);const P=(H,G)=>{const Y={docTitle:"Untitled Document",description:"",author:"Unknown Author",createdAt:new Date().toISOString()};H==="downloadJSON"?te.handleDownloadJSON(G==="add"?s:{...s,metadata:Y}):H==="exportDocx"&&te.exportBlocksToDocx(G==="add"?s:{...s,metadata:Y}),k(!1)},w=(H,G)=>{switch(H){case"heading":t(Y=>[...Y,te.createHeadingBlock()]);break;case"subheading":t(Y=>[...Y,te.createSubheadingBlock()]);break;case"paragraph":t(Y=>[...Y,te.createParagraphBlock()]);break;case"quote":t(Y=>[...Y,te.createQuoteBlock()]);break;case"list":t(Y=>[...Y,te.createListBlock()]);break;case"table":t(Y=>[...Y,te.createTableBlock(G)]);break;case"image":t(Y=>[...Y,te.createImageBlock()]);break;case"video":t(Y=>[...Y,te.createVideoBlock()]);break;case"link":t(Y=>[...Y,te.createLinkBlock()]);break;case"code":t(Y=>[...Y,te.createCodeBlock()]);break;case"custom-1":t(Y=>[...Y,te.createCustomBlock("custom-1",n)]);break;case"custom-2":t(Y=>[...Y,te.createCustomBlock("custom-2",r)]);break;case"custom-3":t(Y=>[...Y,te.createCustomBlock("custom-3",i)]);break}},O=({headingBlockId:H,newContent:G,level:Y})=>{t(q=>te.modifyHeadingBlock(q,H,G,Y))},p=({subheadingBlockId:H,newContent:G})=>{t(Y=>te.modifySubheadingBlock(Y,H,G))},y=({paragraphBlockId:H,newContent:G})=>{t(Y=>te.modifyParagraphBlock(Y,H,G))},T=({quoteBlockId:H,newContent:G,author:Y})=>{t(q=>te.modifyQuoteBlock(q,H,G,Y))},I=({listBlockId:H,listStyle:G,items:Y})=>{t(q=>te.modifyListBlock(q,H,G,Y))},M=({tableBlockId:H,tableContent:G})=>{t(Y=>te.modifyTableBlock(Y,H,G))},j=({imageBlockId:H,src:G,alt:Y,caption:q})=>{t(Te=>te.modifyImageBlock(Te,H,G,Y,q))},C=({videoBlockId:H,src:G,provider:Y})=>{t(q=>te.modifyVideoBlock(q,H,G,Y))},R=({linkBlockId:H,linkText:G,url:Y})=>{t(q=>te.modifyLinkBlock(q,H,G,Y))},x=({codeBlockId:H,language:G,code:Y})=>{t(q=>te.modifyCodeBlock(q,H,G,Y))},g=({customBlockId:H,data:G})=>{t(Y=>te.modifyCustomBlock(Y,H,G))},_=H=>{const G=e.find(Y=>Y.id===H);(G.type==="image"||G.type==="video")&&G.data.src!==""||t(Y=>Y.filter(q=>q.id!==H))},L=(H,G)=>{t(Y=>{const q=[...Y],[Te]=q.splice(H,1);return q.splice(G,0,Te),q})},U=(H,G)=>{H.preventDefault(),H.currentTarget.classList.remove("bg-gray-100");const Y=parseInt(H.dataTransfer.getData("text/plain")),q=G;Y!==q&&L(Y,q)},F=(H,G)=>{H.dataTransfer.setData("text/plain",G),H.currentTarget.style.opacity="0.5"},N=H=>{H.currentTarget.style.opacity="1"},W=H=>{H.currentTarget.classList.add("bg-gray-100")},B=H=>{H.currentTarget.classList.remove("bg-gray-100")},V={show:{transition:{staggerChildren:.07}}},X={hidden:{opacity:0,y:20},show:{opacity:1,y:0},exit:{opacity:0,y:-20}},Z={type:"spring",stiffness:300,damping:20},ee={scale:1.02,backgroundColor:"rgba(243, 244, 246, 0.8)"};return{view:b,setView:A,gridDots:h,setGridDots:m,docTitle:o,setDocTitle:u,description:d,setDescription:l,author:c,setAuthor:f,handleCopy:te.handleCopy,handlePromptAction:P,promptAction:S,setPromptAction:E,promptVisibility:v,setPromptVisiblility:k,blocksData:e,handleClick:w,modifyHeading:O,modifySubheading:p,modifyParagraph:y,modifyQuote:T,modifyList:I,modifyTable:M,modifyImage:j,modifyVideo:C,modifyLink:R,modifyCode:x,modifyCustom:g,onDropHandler:U,onDragStart:F,onDragEnd:N,onDragEnter:W,onDragLeave:B,containerVariants:V,itemVariants:X,transitions:Z,whileHover:ee,handleDelete:_}}function Ay(e){z.useEffect(()=>{function t(){const r=Math.ceil(window.innerWidth/20),i=Math.ceil(document.documentElement.scrollHeight/20),s=[];for(let a=0;a<i;a++)for(let o=0;o<r;o++)s.push({x:o,y:a,key:`${o}-${a}`});e(s)}return t(),window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[e])}var Sy={prefix:"fas",iconName:"trash",icon:[448,512,[],"f1f8","M136.7 5.9L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-8.7-26.1C306.9-7.2 294.7-16 280.9-16L167.1-16c-13.8 0-26 8.8-30.4 21.9zM416 144L32 144 53.1 467.1C54.7 492.4 75.7 512 101 512L347 512c25.3 0 46.3-19.6 47.9-44.9L416 144z"]},Ty={prefix:"fas",iconName:"code",icon:[576,512,[],"f121","M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z"]},Py={prefix:"fas",iconName:"arrow-up-from-bracket",icon:[448,512,[],"e09a","M246.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 109.3 192 320c0 17.7 14.3 32 32 32s32-14.3 32-32l0-210.7 73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128zM64 352c0-17.7-14.3-32-32-32S0 334.3 0 352l0 64c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-64z"]},Cy={prefix:"fas",iconName:"table-list",icon:[448,512,["th-list"],"f00b","M0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm64 0l0 64 64 0 0-64-64 0zm320 0l-192 0 0 64 192 0 0-64zM64 224l0 64 64 0 0-64-64 0zm320 0l-192 0 0 64 192 0 0-64zM64 352l0 64 64 0 0-64-64 0zm320 0l-192 0 0 64 192 0 0-64z"]},Ey={prefix:"fas",iconName:"link",icon:[576,512,[128279,"chain"],"f0c1","M419.5 96c-16.6 0-32.7 4.5-46.8 12.7-15.8-16-34.2-29.4-54.5-39.5 28.2-24 64.1-37.2 101.3-37.2 86.4 0 156.5 70 156.5 156.5 0 41.5-16.5 81.3-45.8 110.6l-71.1 71.1c-29.3 29.3-69.1 45.8-110.6 45.8-86.4 0-156.5-70-156.5-156.5 0-1.5 0-3 .1-4.5 .5-17.7 15.2-31.6 32.9-31.1s31.6 15.2 31.1 32.9c0 .9 0 1.8 0 2.6 0 51.1 41.4 92.5 92.5 92.5 24.5 0 48-9.7 65.4-27.1l71.1-71.1c17.3-17.3 27.1-40.9 27.1-65.4 0-51.1-41.4-92.5-92.5-92.5zM275.2 173.3c-1.9-.8-3.8-1.9-5.5-3.1-12.6-6.5-27-10.2-42.1-10.2-24.5 0-48 9.7-65.4 27.1L91.1 258.2c-17.3 17.3-27.1 40.9-27.1 65.4 0 51.1 41.4 92.5 92.5 92.5 16.5 0 32.6-4.4 46.7-12.6 15.8 16 34.2 29.4 54.6 39.5-28.2 23.9-64 37.2-101.3 37.2-86.4 0-156.5-70-156.5-156.5 0-41.5 16.5-81.3 45.8-110.6l71.1-71.1c29.3-29.3 69.1-45.8 110.6-45.8 86.6 0 156.5 70.6 156.5 156.9 0 1.3 0 2.6 0 3.9-.4 17.7-15.1 31.6-32.8 31.2s-31.6-15.1-31.2-32.8c0-.8 0-1.5 0-2.3 0-33.7-18-63.3-44.8-79.6z"]},ky={prefix:"fas",iconName:"paragraph",icon:[448,512,[182],"f1dd","M160 0L416 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0 0 416c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-416-48 0 0 416c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-160-48 0C71.6 320 0 248.4 0 160S71.6 0 160 0z"]},Iy={prefix:"fas",iconName:"play",icon:[448,512,[9654],"f04b","M91.2 36.9c-12.4-6.8-27.4-6.5-39.6 .7S32 57.9 32 72l0 368c0 14.1 7.5 27.2 19.6 34.4s27.2 7.5 39.6 .7l336-184c12.8-7 20.8-20.5 20.8-35.1s-8-28.1-20.8-35.1l-336-184z"]},My={prefix:"fas",iconName:"check",icon:[448,512,[10003,10004],"f00c","M434.8 70.1c14.3 10.4 17.5 30.4 7.1 44.7l-256 352c-5.5 7.6-14 12.3-23.4 13.1s-18.5-2.7-25.1-9.3l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l101.5 101.5 234-321.7c10.4-14.3 30.4-17.5 44.7-7.1z"]},Dy={prefix:"fas",iconName:"xmark",icon:[384,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"]},jy={prefix:"fas",iconName:"quote-right",icon:[448,512,[8221,"quote-right-alt"],"f10e","M448 296c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 136zm-256 0c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 136z"]},Fy={prefix:"fas",iconName:"list",icon:[512,512,["list-squares"],"f03a","M40 48C26.7 48 16 58.7 16 72l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24L40 48zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM16 232l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0z"]},Ly={prefix:"fas",iconName:"angle-down",icon:[384,512,[8964],"f107","M169.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 306.7 54.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"]},Oy={prefix:"fas",iconName:"heading",icon:[448,512,["header"],"f1dc","M0 64C0 46.3 14.3 32 32 32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 112 224 0 0-112-16 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 320 16 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-144-224 0 0 144 16 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-320-16 0C14.3 96 0 81.7 0 64z"]},Ry={prefix:"fas",iconName:"download",icon:[448,512,[],"f019","M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 210.7-41.4-41.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 242.7 256 32zM64 320c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-46.9 0-56.6 56.6c-31.2 31.2-81.9 31.2-113.1 0L110.9 320 64 320zm304 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"]},_y={prefix:"fas",iconName:"copy",icon:[448,512,[],"f0c5","M192 0c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-200.6c0-17.4-7.1-34.1-19.7-46.2L370.6 17.8C358.7 6.4 342.8 0 326.3 0L192 0zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-16-64 0 0 16-192 0 0-256 16 0 0-64-16 0z"]},Vy={prefix:"fas",iconName:"arrows-rotate",icon:[512,512,[128472,"refresh","sync"],"f021","M65.9 228.5c13.3-93 93.4-164.5 190.1-164.5 53 0 101 21.5 135.8 56.2 .2 .2 .4 .4 .6 .6l7.6 7.2-47.9 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 53.4-11.3-10.7C390.5 28.6 326.5 0 256 0 127 0 20.3 95.4 2.6 219.5 .1 237 12.2 253.2 29.7 255.7s33.7-9.7 36.2-27.1zm443.5 64c2.5-17.5-9.7-33.7-27.1-36.2s-33.7 9.7-36.2 27.1c-13.3 93-93.4 164.5-190.1 164.5-53 0-101-21.5-135.8-56.2-.2-.2-.4-.4-.6-.6l-7.6-7.2 47.9 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 320c-8.5 0-16.7 3.4-22.7 9.5S-.1 343.7 0 352.3l1 127c.1 17.7 14.6 31.9 32.3 31.7S65.2 496.4 65 478.7l-.4-51.5 10.7 10.1c46.3 46.1 110.2 74.7 180.7 74.7 129 0 235.7-95.4 253.4-219.5z"]},Ny=Vy;var Uy={prefix:"far",iconName:"image",icon:[448,512,[],"f03e","M64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80zM0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm136 72c8.5 0 16.4 4.5 20.7 11.8l80 136c4.4 7.4 4.4 16.6 .1 24.1S352.6 384 344 384l-240 0c-8.9 0-17.2-5-21.3-12.9s-3.5-17.5 1.6-24.8l56-80c4.5-6.4 11.8-10.2 19.7-10.2s15.2 3.8 19.7 10.2l17.2 24.6 46.5-79c4.3-7.3 12.2-11.8 20.7-11.8z"]};Tg.add(Oy,ky,Cy,Fy,Ey,Ty,Uy,jy,Iy,Ly,Dy,Py,Sy,Ry,Ny,_y,My);function Ec({blocksData:e,modifyBlocks:t,options:n,CustomEditor1:r,CustomEditor2:i,CustomEditor3:s,CustomOutput1:a,CustomOutput2:o,CustomOutput3:u,defaultCustomData1:d,defaultCustomData2:l,defaultCustomData3:c}){const{view:f,setView:h,gridDots:m,setGridDots:b,docTitle:A,setDocTitle:v,description:k,setDescription:S,author:E,setAuthor:P,handleCopy:w,handlePromptAction:O,promptAction:p,setPromptAction:y,promptVisibility:T,setPromptVisiblility:I,handleClick:M,modifyHeading:j,modifySubheading:C,modifyParagraph:R,modifyQuote:x,modifyList:g,modifyTable:_,modifyImage:L,modifyVideo:U,modifyLink:F,modifyCode:N,modifyCustom:W,onDropHandler:B,onDragStart:V,onDragEnd:X,onDragEnter:Z,onDragLeave:ee,containerVariants:H,itemVariants:G,transitions:Y,whileHover:q,handleDelete:Te}=Cc({blocksData:e,modifyBlocks:t,defaultCustomData1:d,defaultCustomData2:l,defaultCustomData3:c});return Ay(b),D.jsxs("div",{className:"draftify-root",children:[D.jsx(xy,{gridDots:m}),D.jsxs("div",{className:"draftify-container",children:[D.jsx(vy,{view:f,setView:h,blocksData:e,setPromptAction:y,setPromptVisiblility:I,handleCopy:w}),T&&D.jsx(wy,{docTitle:A,setDocTitle:v,description:k,setDescription:S,author:E,setAuthor:P,promptAction:p,handlePromptAction:O,setPromptVisiblility:I}),f==="editor"&&D.jsxs(D.Fragment,{children:[D.jsx(yy,{handleClick:M,options:n}),D.jsx("div",{className:"editor-area",onSubmit:pe=>pe.preventDefault(),children:D.jsx(dl.div,{style:{display:"grid",gap:"10px"},variants:H,animate:"show",exit:"hidden",children:D.jsx(Rd,{children:e.map((pe,ie)=>D.jsxs(dl.div,{layout:!0,variants:G,transition:Y,whileHover:q,draggable:!0,onDragStart:ne=>V(ne,ie),onDragEnd:ne=>X(ne),onDragOver:ne=>ne.preventDefault(),onDragEnter:ne=>Z(ne),onDragLeave:ne=>ee(ne),onDrop:ne=>B(ne,ie),className:"block-container",children:[D.jsx(by,{}),D.jsx(gy,{block:pe,modifyHeading:j,modifySubheading:C,modifyParagraph:R,modifyQuote:x,modifyList:g,modifyTable:_,modifyImage:L,modifyVideo:U,modifyLink:F,modifyCode:N,modifyCustom:W,CustomEditor1:r,CustomEditor2:i,CustomEditor3:s}),D.jsx(Ye,{icon:["fas","trash"],className:"delete-icon",onClick:()=>Te(pe.id)})]},pe.id))})})})]}),f==="preview"&&D.jsx("div",{className:"output-area",onSubmit:pe=>pe.preventDefault(),children:D.jsx(Pc,{blocksData:e,CustomOutput1:a,CustomOutput2:o,CustomOutput3:u})})]})]})}Ae.DraftifyBlocksReader=Pc,Ae.DraftifyReact=Ec,Ae.default=Ec,Ae.dragHandler=bc,Ae.dragLeaveHandler=xc,Ae.dropHandler=yc,Ae.onFileChange=vc,Ae.useDraftifyReact=Cc,Object.defineProperties(Ae,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
589
+ `;let cs;function ly(e,t){return new Promise(((n,r)=>{cs||(cs=(function(a){const o=[];return o.push(a),URL.createObjectURL(new Blob(o))})(oy));const i=new Worker(cs);i.addEventListener("message",(function(a){if(t.signal&&t.signal.aborted)i.terminate();else if(a.data.progress===void 0){if(a.data.error)return r(new Error(a.data.error)),void i.terminate();n(a.data.file),i.terminate()}else t.onProgress(a.data.progress)})),i.addEventListener("error",r),t.signal&&t.signal.addEventListener("abort",(()=>{r(t.signal.reason),i.terminate()})),i.postMessage({file:e,imageCompressionLibUrl:t.libURL,options:{...t,onProgress:void 0,signal:void 0}})}))}function xe(e,t){return new Promise((function(n,r){let i,s,a,o,u,d;if(i={...t},a=0,{onProgress:o}=i,i.maxSizeMB=i.maxSizeMB||Number.POSITIVE_INFINITY,u=typeof i.useWebWorker!="boolean"||i.useWebWorker,delete i.useWebWorker,i.onProgress=h=>{a=h,typeof o=="function"&&o(a)},!(e instanceof Blob||e instanceof ay))return r(new Error("The file given is not an instance of Blob or File"));if(!/^image/.test(e.type))return r(new Error("The file given is not an image"));if(d=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,!u||typeof Worker!="function"||d)return mc(e,i).then((function(h){try{return s=h,f.call(this)}catch(m){return r(m)}}).bind(this),r);var l=(function(){try{return f.call(this)}catch(h){return r(h)}}).bind(this),c=function(h){try{return mc(e,i).then((function(m){try{return s=m,l()}catch(b){return r(b)}}),r)}catch(m){return r(m)}};try{return i.libURL=i.libURL||"https://cdn.jsdelivr.net/npm/browser-image-compression@2.0.2/dist/browser-image-compression.js",ly(e,i).then((function(h){try{return s=h,l()}catch{return c()}}),c)}catch{c()}function f(){try{s.name=e.name,s.lastModified=e.lastModified}catch{}try{i.preserveExif&&e.type==="image/jpeg"&&(!i.fileType||i.fileType&&i.fileType===e.type)&&(s=rc(e,s))}catch{}return n(s)}}))}xe.getDataUrlFromFile=oc,xe.getFilefromDataUrl=us,xe.loadImage=lc,xe.drawImageInCanvas=cc,xe.drawFileInCanvas=lr,xe.canvasToFile=ur,xe.getExifOrientation=fc,xe.handleMaxWidthOrHeight=dc,xe.followExifOrientation=hc,xe.cleanupCanvasMemory=Ge,xe.isAutoOrientationInBrowser=Gt,xe.approximateBelowMaximumCanvasSizeOfBrowser=uc,xe.copyExifWithoutOrientation=rc,xe.getBrowserName=St,xe.version="2.0.2";const pc=e=>{if(!e||typeof e!="string")return"unknown";const t=[".jpg",".jpeg",".png",".gif",".bmp",".webp",".svg"],n=[".mp4",".avi",".mov",".wmv",".flv",".mkv",".webm"];for(const r of t)if(e.toLowerCase().includes(r))return"image";for(const r of n)if(e.toLowerCase().includes(r))return"video";return"unknown"};async function gc(e,t,n){if(pc(e.name)!=="image")return e;const r={maxSizeMB:1,maxWidthOrHeight:1920,useWebWorker:!0,onProgress:i=>n(i)};try{t(!0);const i=await xe(e,r);return i instanceof File?i:new File([i],e.name,{type:e.type})}catch(i){return console.error("Compression failed; using original file:",i),e}finally{t(!1)}}async function yc(e,t,n,r,i){e.preventDefault();for(const s of e.dataTransfer.items)if(s.kind==="file"){const a=s.getAsFile();if(!a)continue;const o=await gc(a,r,i);t(o),n(o.name)}}async function vc(e,t,n,r,i){const s=e.target.files?.[0];if(!s)return;const a=await gc(s,r,i);t(a),n(a.name)}function bc(e,t){e.preventDefault(),t.current&&(t.current.style.borderColor="blue")}function xc(e,t){e.preventDefault(),t.current&&(t.current.style.borderColor="grey")}const wc={width:"100%",height:"100%",objectFit:"cover",borderRadius:"10px"};function uy({progress:e=null}){const t=e!==null?e/100*360:0;return D.jsx("div",{className:je.donutContainer,children:D.jsx("div",{className:je.donutOuter,style:{background:`conic-gradient(rgb(59, 130, 246) ${t}deg, transparent 0)`},children:D.jsx("div",{className:je.donutInner,children:D.jsxs("div",{children:[D.jsx("div",{style:{fontStyle:"italic",fontSize:"13px"},children:"progress"}),D.jsx("div",{style:{fontSize:"1.25rem",fontWeight:"bold"},children:e!==null&&`${e}%`})]})})})})}function Ac({mediaBlock:e,modifyMedia:t}){const[n,r]=z.useState(""),[i,s]=z.useState(""),[a,o]=z.useState(""),[u,d]=z.useState(""),[l,c]=z.useState(!1),[f,h]=z.useState(null),m=z.useRef(null);z.useEffect(()=>{window.addEventListener("dragover",A=>A.preventDefault()),window.addEventListener("drop",A=>A.preventDefault())},[]),z.useEffect(()=>{r("To remove image or video component, refresh first."),e.data.src!==""&&(s(e.data.src),o(e.type))},[e.data.src,e.type]),z.useEffect(()=>{e.type==="image"?t({imageBlockId:e.id,src:i,alt:e.data.alt,caption:e.data.caption}):e.type==="video"&&t({videoBlockId:e.id,src:i,provider:e.data.provider}),u&&o(pc(u))},[i]);const b=()=>{s(""),d("")};return D.jsxs("div",{style:{width:"100%"},children:[D.jsx("div",{className:je.container,children:i&&!l?D.jsx("div",{className:je.mediaWrapper,children:a==="image"?D.jsx("img",{src:i,alt:"",className:je.mediaItem}):D.jsx("video",{autoPlay:!0,muted:!0,controls:!0,className:je.mediaItem,children:D.jsx("source",{src:i,type:"video/mp4"})})}):l?D.jsx(uy,{progress:f}):D.jsxs("div",{ref:m,onDrop:A=>yc(A,s,d,c,h),onDragOver:A=>bc(A,m),onDragLeave:A=>xc(A,m),className:je.dropzone,children:[D.jsx("input",{type:"file",id:"file",style:{display:"none"},onChange:A=>vc(A,s,d,c,h)}),D.jsxs("label",{htmlFor:"file",className:je.uploadLabel,children:[D.jsx("div",{className:je.uploadIconCircle,children:D.jsx(Ye,{icon:["fas","arrow-up-from-bracket"]})}),D.jsxs("div",{children:["Drop your"," ",D.jsx("strong",{children:e.type==="image"?"image/GIF":"video"})," ","here",D.jsx("div",{style:{color:"var(--grey-secondary)"},children:"or click to browse"})]})]})]})}),D.jsxs("div",{className:je.footerOverlay,children:[n&&D.jsx("div",{children:n}),D.jsxs("div",{onClick:b,className:je.refreshButton,children:["refresh",D.jsx(Ye,{icon:["fas","refresh"]})]})]})]})}function cy({imageBlock:e}){return D.jsx("div",{children:D.jsx("img",{src:e.data.src===""?null:e.data.src,alt:"",style:wc})},e.id)}function fy({videoBlock:e}){return D.jsx("div",{children:e.data.src&&D.jsx("video",{autoPlay:!0,muted:!0,controls:!0,style:wc,children:D.jsx("source",{src:e.data.src===""?null:e.data.src,type:"video/mp4"})})},e.id)}const fs={fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol",border:"none",outline:"none",width:"100%",fontSize:"14px"};function dy({linkBlock:e,modifyLink:t}){const[n,r]=z.useState(e.data.linkText),[i,s]=z.useState(e.data.url);return z.useEffect(()=>{t({linkBlockId:e.id,linkText:n,url:i})},[n,i,e.id]),D.jsxs("div",{style:{display:"flex"},children:[D.jsx("input",{style:{...fs,color:"#232323",borderBottom:"1px solid #232323"},type:"text",placeholder:"Enter link text...",autoFocus:!0,value:e.data.linkText,onChange:a=>r(a.target.value)}),D.jsx("span",{children:"["}),D.jsx("input",{style:{...fs,color:"var(--hovered-draftify-theme-color)",borderBottom:"1px solid #232323"},type:"url",placeholder:"url",autoFocus:!0,value:e.data.url,onChange:a=>s(a.target.value)}),D.jsx("span",{children:"]"})]})}function hy({linkBlock:e}){return D.jsx("a",{style:{...fs,color:"#3b82f6"},href:e.data.url,children:e.data.linkText},e.id)}const Sc={fontFamily:"monospace",backgroundColor:"black",color:"white",padding:"8px",whiteSpace:"pre-wrap",borderRadius:"6px",width:"100%"};function my({codeBlock:e,modifyCode:t}){return D.jsx("textarea",{style:Sc,placeholder:"Code block...",autoFocus:!0,value:e.data.code,onChange:n=>t({codeBlockId:e.id,language:e.data.language,code:n.target.value})})}function py({codeBlock:e}){return D.jsx("pre",{style:Sc,children:D.jsx("code",{children:e.data.code})},e.id)}function gy({block:e,modifyHeading:t,modifySubheading:n,modifyParagraph:r,modifyQuote:i,modifyList:s,modifyTable:a,modifyImage:o,modifyVideo:u,modifyLink:d,modifyCode:l,modifyCustom:c,CustomEditor1:f,CustomEditor2:h,CustomEditor3:m}){switch(e.type){case"heading":return D.jsx(zg,{headingBlock:e,modifyHeading:t});case"subheading":return D.jsx(Wg,{subheadingBlock:e,modifySubheading:n});case"paragraph":return D.jsx(Yg,{paragraphBlock:e,modifyParagraph:r});case"quote":return D.jsx(qg,{quoteBlock:e,modifyQuote:i});case"list":return D.jsx(Kg,{listBlock:e,modifyList:s});case"table":return D.jsx(Zg,{tableBlock:e,modifyTable:a});case"image":return D.jsx(Ac,{mediaBlock:e,modifyMedia:o});case"video":return D.jsx(Ac,{mediaBlock:e,modifyMedia:u});case"link":return D.jsx(dy,{linkBlock:e,modifyLink:d});case"code":return D.jsx(my,{codeBlock:e,modifyCode:l});case"custom-1":return f?D.jsx(f,{customBlock:e,modifyCustom:c}):null;case"custom-2":return h?D.jsx(h,{customBlock:e,modifyCustom:c}):null;case"custom-3":return m?D.jsx(m,{customBlock:e,modifyCustom:c}):null;default:return null}}function wn({text:e,children:t}){const[n,r]=z.useState(!1),i={position:"relative",display:"inline-block"},s={position:"absolute",bottom:"100%",left:"50%",transform:n?"translateX(-50%) translateY(-5px)":"translateX(-50%) translateY(0)",marginBottom:"8px",padding:"4px 8px",whiteSpace:"nowrap",zIndex:10,backgroundColor:"#1f2937",color:"#ffffff",fontSize:"0.75rem",borderRadius:"0.25rem",opacity:n?1:0,transition:"all 300ms ease",pointerEvents:"none"};return D.jsxs("div",{style:i,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:[t,D.jsx("span",{style:s,children:e})]})}const Tc=[{id:1,type:"heading",icon:["fas","heading"]},{id:2,type:"subheading",icon:["fas","heading"]},{id:3,type:"paragraph",icon:["fas","paragraph"]},{id:4,type:"quote",icon:["fas","quote-right"]},{id:5,type:"list",icon:["fas","list"]},{id:6,type:"table",icon:["fas","table-list"]},{id:7,type:"image",icon:["far","image"]},{id:8,type:"video",icon:["fas","play"]},{id:9,type:"link",icon:["fas","link"]},{id:10,type:"code",icon:["fas","code"]},{id:11,type:"custom-1",iconText:"C1"},{id:12,type:"custom-2",iconText:"C2"},{id:13,type:"custom-3",iconText:"C3"}];function yy({handleClick:e,options:t}){const[n,r]=z.useState(null),i=(o,u)=>{r(o),e(u)},s=t.map(o=>{if(o.includes("-")){const u=o.split("-");if(u[0]==="custom")return u.slice(0,2).join("-")}return o}),a=s?Tc.filter(o=>s.includes(o.type)):Tc;return D.jsx("div",{className:Pn.optionsContainer,children:a.map(o=>{const u=l=>l.type.split("-")[0]==="custom",d=u(o)?(()=>{const l=t.find(c=>c.startsWith(o.type+"-"));return l&&l.split("-")[2]||o.iconText})():o.type;return D.jsx(wn,{text:d,children:D.jsxs("div",{className:Pn.optionButton,style:{color:n===o.id?"var(--draftify-theme-color)":"#4b5563"},onClick:()=>o.type!=="table"&&i(o.id,o.type),children:[D.jsxs("div",{className:Pn.iconWrapper,children:[u(o)?D.jsx("div",{children:(()=>{const l=t.find(c=>c.startsWith(o.type+"-"));return l&&l.split("-")[2]||o.iconText})()}):D.jsx(Ye,{icon:o.icon,onClick:()=>o.type==="table"&&i(o.id,o.type)}),D.jsx("div",{className:Pn.subscript,children:o.type==="subheading"?"2":""})]}),o.type==="table"&&D.jsx(ey,{handleClick:e,block:o})]})},o.id)})})}function Pc({blocksData:e,CustomOutput1:t,CustomOutput2:n,CustomOutput3:r}){return e.length!==0&&e.map(i=>{switch(i.type){case"heading":return D.jsx($g,{headingBlock:i},i.id);case"subheading":return D.jsx(Hg,{subheadingBlock:i},i.id);case"paragraph":return D.jsx(Gg,{paragraphBlock:i},i.id);case"quote":return D.jsx(Qg,{quoteBlock:i},i.id);case"list":return D.jsx(Xg,{listBlock:i},i.id);case"table":return D.jsx(Jg,{tableBlock:i},i.id);case"image":return D.jsx(cy,{imageBlock:i},i.id);case"video":return D.jsx(fy,{videoBlock:i},i.id);case"link":return D.jsx(hy,{linkBlock:i},i.id);case"code":return D.jsx(py,{codeBlock:i},i.id);case"custom-1":return t?D.jsx(t,{customBlock:i},i.id):null;case"custom-2":return n?D.jsx(n,{customBlock:i},i.id):null;case"custom-3":return r?D.jsx(r,{customBlock:i},i.id):null;default:return null}})}function vy({view:e,setView:t,setPromptVisiblility:n,blocksData:r,setPromptAction:i,handleCopy:s}){const[a,o]=z.useState(!1),[u,d]=z.useState(null),l=z.useRef(null);z.useEffect(()=>{l.current&&(l.current.style.transform=e==="editor"?"translateX(14px)":"translateX(1px)")},[e]),z.useEffect(()=>{if(a){const m=setTimeout(()=>o(!1),3e3);return()=>clearTimeout(m)}},[a]);const c=m=>({border:"1px solid #d1d5db",borderRadius:"10px",backgroundColor:u===m?"var(--draftify-theme-color)":"var(--hovered-draftify-theme-color)",color:"white",fontWeight:u===m?"600":"400",padding:"0.25rem",cursor:"pointer",transition:"all 0.2s ease"}),f={width:"30px",height:"16px",border:"1px solid #232323",borderRadius:"1rem",cursor:"pointer",display:"flex",alignItems:"center",padding:"0",position:"relative"},h={width:"12px",height:"12px",borderRadius:"50%",backgroundColor:"#232323",transition:"transform 0.3s ease",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"9px"};return D.jsxs("div",{style:{height:"auto",minHeight:"40px",position:"relative",display:"flex",flexWrap:"wrap",alignItems:"center",fontSize:"12px",fontStyle:"italic",gap:"10px"},children:[D.jsxs("div",{className:"logo-text",children:["DRAFTIFY",D.jsx("div",{className:"logo-description",children:"Write. Create. Build your story block by block."})]}),D.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px",marginLeft:"auto"},children:[D.jsx(wn,{text:"e.g. for dev dummy data",children:D.jsxs("button",{style:c("json"),onMouseEnter:()=>d("json"),onMouseLeave:()=>d(null),onClick:()=>{i("downloadJSON"),n(!0)},children:["Download JSON ",D.jsx(Ye,{icon:["fas","download"]})]})}),D.jsx(wn,{text:"Download as document",children:D.jsxs("button",{style:c("docx"),onMouseEnter:()=>d("docx"),onMouseLeave:()=>d(null),onClick:()=>{i("exportDocx"),n(!0)},children:["Export .docx ",D.jsx(Ye,{icon:["fas","download"]})]})}),D.jsx(wn,{text:"copy to clipboard",children:D.jsx("button",{style:{padding:"0.25rem",cursor:"pointer",border:"none",background:"none",color:a?"#4ade80":"var(--hovered-draftify-theme-color)"},onClick:()=>s(r,o),children:D.jsx(Ye,{icon:["fas",a?"check":"copy"]})})}),D.jsx(wn,{text:"toggle btn editor & preview",children:D.jsx("div",{style:f,onClick:()=>t(m=>m==="editor"?"preview":"editor"),children:D.jsx("div",{ref:l,style:h,children:D.jsx("div",{style:{color:"white",transform:"translateY(-1px)"},children:e==="editor"?"e":"p"})})})}),D.jsxs("div",{style:{width:"100px"},children:["viewing ",e]})]})]})}function by(){const[e,t]=z.useState(!1),n={display:"flex",flexDirection:"column",justifyContent:"center",gap:"3px",width:"15px",height:"100%",border:`1px solid ${e?"black":"var(--draftify-theme-color)"}`,borderTopLeftRadius:"5px",borderBottomLeftRadius:"5px",cursor:"move",transition:"border-color 0.2s ease"},r={width:"4px",height:"4px",borderRadius:"10px",backgroundColor:e?"black":"var(--draftify-theme-color)",alignSelf:"center",transition:"background-color 0.2s ease"};return D.jsx("div",{style:n,onMouseEnter:()=>t(!0),onMouseLeave:()=>t(!1),children:[1,2,3].map(i=>D.jsx("div",{style:r},i))})}function xy({gridDots:e}){const t={position:"fixed",top:0,left:0,width:"100%",height:"100%",zIndex:-1},n={position:"absolute",width:"1px",height:"1px",backgroundColor:"black"};return D.jsx("div",{style:t,children:e.map(r=>D.jsx("div",{"data-x":r.x,"data-y":r.y,style:{...n,left:`${r.x*20}px`,top:`${r.y*20}px`}},r.key))})}function wy({docTitle:e,setDocTitle:t,description:n,setDescription:r,author:i,setAuthor:s,promptAction:a,handlePromptAction:o,setPromptVisiblility:u}){const[d,l]=z.useState(null),c={width:"100%",border:"1px solid #d1d5db",borderRadius:"0.375rem",padding:"0.25rem",marginTop:"0.25rem",marginBottom:"0.75rem"},f={flex:1,padding:"0.5rem 1rem",borderRadius:"0.375rem",cursor:"pointer",border:"none",transition:"background-color 0.2s"};return D.jsxs("div",{style:{padding:"1rem"},children:[D.jsxs("div",{style:{display:"flex"},children:[D.jsx("div",{style:{flex:1,marginBottom:"0.625rem"},children:"Would you like to add metadata before downloading?"}),D.jsx("div",{style:{cursor:"pointer"},onClick:()=>u(!1),children:D.jsx(Ye,{icon:["fas","xmark"]})})]}),D.jsxs("div",{style:{fontWeight:600},children:[D.jsxs("div",{children:[D.jsx("div",{children:" document title: (optional)"}),D.jsx("input",{type:"text",style:c,value:e,onChange:h=>t(h.target.value)})]}),D.jsxs("div",{children:[D.jsx("div",{children:"description: (optional)"}),D.jsx("textarea",{name:"description",style:{...c,minHeight:"60px"},value:n,onChange:h=>r(h.target.value)})]}),D.jsxs("div",{children:[D.jsx("div",{children:"author: (optional)"}),D.jsx("input",{type:"text",style:c,value:i,onChange:h=>s(h.target.value)})]})]}),D.jsxs("div",{style:{marginTop:"1rem",display:"flex",gap:"0.5rem"},children:[D.jsx("button",{style:{...f,backgroundColor:d==="ignore"?"#9ca3af":"#d1d5db",color:"black"},onMouseEnter:()=>l("ignore"),onMouseLeave:()=>l(null),onClick:()=>o(a,"ignore"),children:"Ignore"}),D.jsx("button",{style:{...f,backgroundColor:d==="add"?"#2563eb":"#3b82f6",color:"white"},onMouseEnter:()=>l("add"),onMouseLeave:()=>l(null),onClick:()=>o(a,"add"),children:"Add"})]})]})}function Cc({blocksData:e,modifyBlocks:t,defaultCustomData1:n,defaultCustomData2:r,defaultCustomData3:i}){const[s,a]=z.useState({metadata:{},version:"1.0.0",blocks:e}),[o,u]=z.useState(""),[d,l]=z.useState(""),[c,f]=z.useState(""),[h,m]=z.useState([]),[b,A]=z.useState("editor"),[v,k]=z.useState(!1),[S,E]=z.useState("");z.useEffect(()=>{if(!Array.isArray(e))throw new Error("DraftifyReact: blocksData must be an array of DraftifyBlock[]");if(typeof window<"u"&&localStorage.getItem("draftifyDoc")){const H=localStorage.getItem("draftifyDoc"),G=JSON.parse(H);a(G),u(G.metadata?.docTitle||""),l(G.metadata?.description||""),f(G.metadata?.author||""),t(te.normalizeDocument(G).blocks||te.normalizeBlock(e))}else t(te.normalizeBlock(e))},[]),z.useEffect(()=>{(async G=>{const Y=await Promise.all(G.map(async q=>{if(q.type==="image"&&q.file){const Te=await te.imageToBase64(q);return{...q,content:Te,file:void 0}}return q}));localStorage.setItem("draftifyDoc",JSON.stringify({...s,blocks:Y}))})(e)},[e,s]),z.useEffect(()=>{const H={docTitle:o||"Untitled",description:d||"",author:c||"Unknown",createdAt:new Date().toISOString()};a(G=>({...G,metadata:H}))},[o,d,c]);const P=(H,G)=>{const Y={docTitle:"Untitled Document",description:"",author:"Unknown Author",createdAt:new Date().toISOString()};H==="downloadJSON"?te.handleDownloadJSON(G==="add"?s:{...s,metadata:Y}):H==="exportDocx"&&te.exportBlocksToDocx(G==="add"?s:{...s,metadata:Y}),k(!1)},w=(H,G)=>{switch(H){case"heading":t(Y=>[...Y,te.createHeadingBlock()]);break;case"subheading":t(Y=>[...Y,te.createSubheadingBlock()]);break;case"paragraph":t(Y=>[...Y,te.createParagraphBlock()]);break;case"quote":t(Y=>[...Y,te.createQuoteBlock()]);break;case"list":t(Y=>[...Y,te.createListBlock()]);break;case"table":t(Y=>[...Y,te.createTableBlock(G)]);break;case"image":t(Y=>[...Y,te.createImageBlock()]);break;case"video":t(Y=>[...Y,te.createVideoBlock()]);break;case"link":t(Y=>[...Y,te.createLinkBlock()]);break;case"code":t(Y=>[...Y,te.createCodeBlock()]);break;case"custom-1":t(Y=>[...Y,te.createCustomBlock("custom-1",n)]);break;case"custom-2":t(Y=>[...Y,te.createCustomBlock("custom-2",r)]);break;case"custom-3":t(Y=>[...Y,te.createCustomBlock("custom-3",i)]);break}},O=({headingBlockId:H,newContent:G,level:Y})=>{t(q=>te.modifyHeadingBlock(q,H,G,Y))},p=({subheadingBlockId:H,newContent:G})=>{t(Y=>te.modifySubheadingBlock(Y,H,G))},y=({paragraphBlockId:H,newContent:G})=>{t(Y=>te.modifyParagraphBlock(Y,H,G))},T=({quoteBlockId:H,newContent:G,author:Y})=>{t(q=>te.modifyQuoteBlock(q,H,G,Y))},I=({listBlockId:H,listStyle:G,items:Y})=>{t(q=>te.modifyListBlock(q,H,G,Y))},M=({tableBlockId:H,tableContent:G})=>{t(Y=>te.modifyTableBlock(Y,H,G))},j=({imageBlockId:H,src:G,alt:Y,caption:q})=>{t(Te=>te.modifyImageBlock(Te,H,G,Y,q))},C=({videoBlockId:H,src:G,provider:Y})=>{t(q=>te.modifyVideoBlock(q,H,G,Y))},R=({linkBlockId:H,linkText:G,url:Y})=>{t(q=>te.modifyLinkBlock(q,H,G,Y))},x=({codeBlockId:H,language:G,code:Y})=>{t(q=>te.modifyCodeBlock(q,H,G,Y))},g=({customBlockId:H,data:G})=>{t(Y=>te.modifyCustomBlock(Y,H,G))},_=H=>{const G=e.find(Y=>Y.id===H);(G.type==="image"||G.type==="video")&&G.data.src!==""||t(Y=>Y.filter(q=>q.id!==H))},L=(H,G)=>{t(Y=>{const q=[...Y],[Te]=q.splice(H,1);return q.splice(G,0,Te),q})},U=(H,G)=>{H.preventDefault(),H.currentTarget.classList.remove("bg-gray-100");const Y=parseInt(H.dataTransfer.getData("text/plain")),q=G;Y!==q&&L(Y,q)},F=(H,G)=>{H.dataTransfer.setData("text/plain",G),H.currentTarget.style.opacity="0.5"},N=H=>{H.currentTarget.style.opacity="1"},W=H=>{H.currentTarget.classList.add("bg-gray-100")},B=H=>{H.currentTarget.classList.remove("bg-gray-100")},V={show:{transition:{staggerChildren:.07}}},X={hidden:{opacity:0,y:20},show:{opacity:1,y:0},exit:{opacity:0,y:-20}},Z={type:"spring",stiffness:300,damping:20},ee={scale:1.02,backgroundColor:"rgba(243, 244, 246, 0.8)"};return{view:b,setView:A,gridDots:h,setGridDots:m,docTitle:o,setDocTitle:u,description:d,setDescription:l,author:c,setAuthor:f,handleCopy:te.handleCopy,handlePromptAction:P,promptAction:S,setPromptAction:E,promptVisibility:v,setPromptVisiblility:k,blocksData:e,handleClick:w,modifyHeading:O,modifySubheading:p,modifyParagraph:y,modifyQuote:T,modifyList:I,modifyTable:M,modifyImage:j,modifyVideo:C,modifyLink:R,modifyCode:x,modifyCustom:g,onDropHandler:U,onDragStart:F,onDragEnd:N,onDragEnter:W,onDragLeave:B,containerVariants:V,itemVariants:X,transitions:Z,whileHover:ee,handleDelete:_}}function Ay(e){z.useEffect(()=>{function t(){const r=Math.ceil(window.innerWidth/20),i=Math.ceil(document.documentElement.scrollHeight/20),s=[];for(let a=0;a<i;a++)for(let o=0;o<r;o++)s.push({x:o,y:a,key:`${o}-${a}`});e(s)}return t(),window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[e])}var Sy={prefix:"fas",iconName:"trash",icon:[448,512,[],"f1f8","M136.7 5.9L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-8.7-26.1C306.9-7.2 294.7-16 280.9-16L167.1-16c-13.8 0-26 8.8-30.4 21.9zM416 144L32 144 53.1 467.1C54.7 492.4 75.7 512 101 512L347 512c25.3 0 46.3-19.6 47.9-44.9L416 144z"]},Ty={prefix:"fas",iconName:"code",icon:[576,512,[],"f121","M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z"]},Py={prefix:"fas",iconName:"arrow-up-from-bracket",icon:[448,512,[],"e09a","M246.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 109.3 192 320c0 17.7 14.3 32 32 32s32-14.3 32-32l0-210.7 73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128zM64 352c0-17.7-14.3-32-32-32S0 334.3 0 352l0 64c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-64z"]},Cy={prefix:"fas",iconName:"table-list",icon:[448,512,["th-list"],"f00b","M0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm64 0l0 64 64 0 0-64-64 0zm320 0l-192 0 0 64 192 0 0-64zM64 224l0 64 64 0 0-64-64 0zm320 0l-192 0 0 64 192 0 0-64zM64 352l0 64 64 0 0-64-64 0zm320 0l-192 0 0 64 192 0 0-64z"]},Ey={prefix:"fas",iconName:"link",icon:[576,512,[128279,"chain"],"f0c1","M419.5 96c-16.6 0-32.7 4.5-46.8 12.7-15.8-16-34.2-29.4-54.5-39.5 28.2-24 64.1-37.2 101.3-37.2 86.4 0 156.5 70 156.5 156.5 0 41.5-16.5 81.3-45.8 110.6l-71.1 71.1c-29.3 29.3-69.1 45.8-110.6 45.8-86.4 0-156.5-70-156.5-156.5 0-1.5 0-3 .1-4.5 .5-17.7 15.2-31.6 32.9-31.1s31.6 15.2 31.1 32.9c0 .9 0 1.8 0 2.6 0 51.1 41.4 92.5 92.5 92.5 24.5 0 48-9.7 65.4-27.1l71.1-71.1c17.3-17.3 27.1-40.9 27.1-65.4 0-51.1-41.4-92.5-92.5-92.5zM275.2 173.3c-1.9-.8-3.8-1.9-5.5-3.1-12.6-6.5-27-10.2-42.1-10.2-24.5 0-48 9.7-65.4 27.1L91.1 258.2c-17.3 17.3-27.1 40.9-27.1 65.4 0 51.1 41.4 92.5 92.5 92.5 16.5 0 32.6-4.4 46.7-12.6 15.8 16 34.2 29.4 54.6 39.5-28.2 23.9-64 37.2-101.3 37.2-86.4 0-156.5-70-156.5-156.5 0-41.5 16.5-81.3 45.8-110.6l71.1-71.1c29.3-29.3 69.1-45.8 110.6-45.8 86.6 0 156.5 70.6 156.5 156.9 0 1.3 0 2.6 0 3.9-.4 17.7-15.1 31.6-32.8 31.2s-31.6-15.1-31.2-32.8c0-.8 0-1.5 0-2.3 0-33.7-18-63.3-44.8-79.6z"]},ky={prefix:"fas",iconName:"paragraph",icon:[448,512,[182],"f1dd","M160 0L416 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0 0 416c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-416-48 0 0 416c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-160-48 0C71.6 320 0 248.4 0 160S71.6 0 160 0z"]},Iy={prefix:"fas",iconName:"play",icon:[448,512,[9654],"f04b","M91.2 36.9c-12.4-6.8-27.4-6.5-39.6 .7S32 57.9 32 72l0 368c0 14.1 7.5 27.2 19.6 34.4s27.2 7.5 39.6 .7l336-184c12.8-7 20.8-20.5 20.8-35.1s-8-28.1-20.8-35.1l-336-184z"]},My={prefix:"fas",iconName:"check",icon:[448,512,[10003,10004],"f00c","M434.8 70.1c14.3 10.4 17.5 30.4 7.1 44.7l-256 352c-5.5 7.6-14 12.3-23.4 13.1s-18.5-2.7-25.1-9.3l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l101.5 101.5 234-321.7c10.4-14.3 30.4-17.5 44.7-7.1z"]},Dy={prefix:"fas",iconName:"xmark",icon:[384,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"]},jy={prefix:"fas",iconName:"quote-right",icon:[448,512,[8221,"quote-right-alt"],"f10e","M448 296c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 136zm-256 0c0 66.3-53.7 120-120 120l-8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l8 0c30.9 0 56-25.1 56-56l0-8-64 0c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l64 0c35.3 0 64 28.7 64 64l0 136z"]},Fy={prefix:"fas",iconName:"list",icon:[512,512,["list-squares"],"f03a","M40 48C26.7 48 16 58.7 16 72l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24L40 48zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM16 232l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0z"]},Ly={prefix:"fas",iconName:"angle-down",icon:[384,512,[8964],"f107","M169.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 306.7 54.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"]},Oy={prefix:"fas",iconName:"heading",icon:[448,512,["header"],"f1dc","M0 64C0 46.3 14.3 32 32 32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 112 224 0 0-112-16 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 320 16 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-144-224 0 0 144 16 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-320-16 0C14.3 96 0 81.7 0 64z"]},Ry={prefix:"fas",iconName:"download",icon:[448,512,[],"f019","M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 210.7-41.4-41.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 242.7 256 32zM64 320c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-46.9 0-56.6 56.6c-31.2 31.2-81.9 31.2-113.1 0L110.9 320 64 320zm304 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"]},_y={prefix:"fas",iconName:"copy",icon:[448,512,[],"f0c5","M192 0c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-200.6c0-17.4-7.1-34.1-19.7-46.2L370.6 17.8C358.7 6.4 342.8 0 326.3 0L192 0zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-16-64 0 0 16-192 0 0-256 16 0 0-64-16 0z"]},Vy={prefix:"fas",iconName:"arrows-rotate",icon:[512,512,[128472,"refresh","sync"],"f021","M65.9 228.5c13.3-93 93.4-164.5 190.1-164.5 53 0 101 21.5 135.8 56.2 .2 .2 .4 .4 .6 .6l7.6 7.2-47.9 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 53.4-11.3-10.7C390.5 28.6 326.5 0 256 0 127 0 20.3 95.4 2.6 219.5 .1 237 12.2 253.2 29.7 255.7s33.7-9.7 36.2-27.1zm443.5 64c2.5-17.5-9.7-33.7-27.1-36.2s-33.7 9.7-36.2 27.1c-13.3 93-93.4 164.5-190.1 164.5-53 0-101-21.5-135.8-56.2-.2-.2-.4-.4-.6-.6l-7.6-7.2 47.9 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 320c-8.5 0-16.7 3.4-22.7 9.5S-.1 343.7 0 352.3l1 127c.1 17.7 14.6 31.9 32.3 31.7S65.2 496.4 65 478.7l-.4-51.5 10.7 10.1c46.3 46.1 110.2 74.7 180.7 74.7 129 0 235.7-95.4 253.4-219.5z"]},Ny=Vy;var Uy={prefix:"far",iconName:"image",icon:[448,512,[],"f03e","M64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80zM0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm136 72c8.5 0 16.4 4.5 20.7 11.8l80 136c4.4 7.4 4.4 16.6 .1 24.1S352.6 384 344 384l-240 0c-8.9 0-17.2-5-21.3-12.9s-3.5-17.5 1.6-24.8l56-80c4.5-6.4 11.8-10.2 19.7-10.2s15.2 3.8 19.7 10.2l17.2 24.6 46.5-79c4.3-7.3 12.2-11.8 20.7-11.8z"]};Tg.add(Oy,ky,Cy,Fy,Ey,Ty,Uy,jy,Iy,Ly,Dy,Py,Sy,Ry,Ny,_y,My);function Ec({blocksData:e,modifyBlocks:t,options:n,CustomEditor1:r,CustomEditor2:i,CustomEditor3:s,CustomOutput1:a,CustomOutput2:o,CustomOutput3:u,defaultCustomData1:d,defaultCustomData2:l,defaultCustomData3:c}){const{view:f,setView:h,gridDots:m,setGridDots:b,docTitle:A,setDocTitle:v,description:k,setDescription:S,author:E,setAuthor:P,handleCopy:w,handlePromptAction:O,promptAction:p,setPromptAction:y,promptVisibility:T,setPromptVisiblility:I,handleClick:M,modifyHeading:j,modifySubheading:C,modifyParagraph:R,modifyQuote:x,modifyList:g,modifyTable:_,modifyImage:L,modifyVideo:U,modifyLink:F,modifyCode:N,modifyCustom:W,onDropHandler:B,onDragStart:V,onDragEnd:X,onDragEnter:Z,onDragLeave:ee,containerVariants:H,itemVariants:G,transitions:Y,whileHover:q,handleDelete:Te}=Cc({blocksData:e,modifyBlocks:t,defaultCustomData1:d,defaultCustomData2:l,defaultCustomData3:c});return Ay(b),D.jsxs("div",{className:"draftify-root",children:[D.jsx(xy,{gridDots:m}),D.jsxs("div",{className:"draftify-container",children:[D.jsx(vy,{view:f,setView:h,blocksData:e,setPromptAction:y,setPromptVisiblility:I,handleCopy:w}),T&&D.jsx(wy,{docTitle:A,setDocTitle:v,description:k,setDescription:S,author:E,setAuthor:P,promptAction:p,handlePromptAction:O,setPromptVisiblility:I}),f==="editor"&&D.jsxs(D.Fragment,{children:[D.jsx(yy,{handleClick:M,options:n}),D.jsx("div",{className:"editor-area",onSubmit:pe=>pe.preventDefault(),children:D.jsx(dl.div,{style:{display:"grid",gap:"10px"},variants:H,animate:"show",exit:"hidden",children:D.jsx(Rd,{children:e.map((pe,ie)=>D.jsxs(dl.div,{layout:!0,variants:G,transition:Y,whileHover:q,draggable:!0,onDragStart:ne=>V(ne,ie),onDragEnd:ne=>X(ne),onDragOver:ne=>ne.preventDefault(),onDragEnter:ne=>Z(ne),onDragLeave:ne=>ee(ne),onDrop:ne=>B(ne,ie),className:"block-container",children:[D.jsx(by,{}),D.jsx(gy,{block:pe,modifyHeading:j,modifySubheading:C,modifyParagraph:R,modifyQuote:x,modifyList:g,modifyTable:_,modifyImage:L,modifyVideo:U,modifyLink:F,modifyCode:N,modifyCustom:W,CustomEditor1:r,CustomEditor2:i,CustomEditor3:s}),D.jsx(Ye,{icon:["fas","trash"],className:"delete-icon",onClick:()=>Te(pe.id)})]},pe.id))})})})]}),f==="preview"&&D.jsx("div",{className:"output-area",onSubmit:pe=>pe.preventDefault(),children:D.jsx(Pc,{blocksData:e,CustomOutput1:a,CustomOutput2:o,CustomOutput3:u})})]})]})}Ae.DraftifyBlocksReader=Pc,Ae.DraftifyReact=Ec,Ae.default=Ec,Ae.dragHandler=bc,Ae.dragLeaveHandler=xc,Ae.dropHandler=yc,Ae.onFileChange=vc,Ae.useDraftifyReact=Cc,Object.defineProperties(Ae,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "draftify-react",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "type": "module",
5
5
  "main": "dist/draftify-react.umd.js",
6
6
  "module": "dist/draftify-react.es.js",