@chaibuilder/sdk 1.2.64 → 1.2.65

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.
Files changed (78) hide show
  1. package/dist/CanvasArea-fSdH_RiN.cjs +1 -0
  2. package/dist/{CanvasArea-kB6ky_uL.js → CanvasArea-ut5yknzX.js} +58 -54
  3. package/dist/{CodeEditor-37od44Ou.js → CodeEditor-Qff4q7sx.js} +1 -1
  4. package/dist/{CurrentPage-bHq9Uusr.js → CurrentPage-jHSVy3hq.js} +38 -26
  5. package/dist/CurrentPage-p_AM4lrF.cjs +1 -0
  6. package/dist/{PagesPanel-wIPAyjJK.js → PagesPanel-U3InJ9Db.js} +20 -8
  7. package/dist/PagesPanel-wqDb4D-x.cjs +1 -0
  8. package/dist/{ProjectPanel-L-SlDizV.js → ProjectPanel-XODJTO4J.js} +36 -24
  9. package/dist/ProjectPanel-fWESzHr6.cjs +1 -0
  10. package/dist/{SidePanels-UQj0XTnb.js → SidePanels-ijaUKSek.js} +96 -82
  11. package/dist/SidePanels-lrMQqc0h.cjs +1 -0
  12. package/dist/Topbar-RrCDxd0i.cjs +1 -0
  13. package/dist/{Topbar-1O05wogM.js → Topbar-vHlnfxPs.js} +45 -30
  14. package/dist/UILibrariesPanel-7btHgBD0.cjs +1 -0
  15. package/dist/{UILibrariesPanel-vshiYI6G.js → UILibrariesPanel-NVUMUPUj.js} +85 -65
  16. package/dist/{UnsplashImages-Eq7hprBO.js → UnsplashImages-UkHihhA5.js} +18 -18
  17. package/dist/{UploadImages-lco2Tea3.js → UploadImages-HtuJZJlo.js} +1 -1
  18. package/dist/add-page-modal-RwIj1FxH.cjs +1 -0
  19. package/dist/{add-page-modal-qr7rvJzN.js → add-page-modal-TOfMfmPA.js} +33 -24
  20. package/dist/{confirm-alert-P6TAevaP.js → confirm-alert-eIp2cAkc.js} +1 -1
  21. package/dist/core.cjs +1 -1
  22. package/dist/core.d.ts +7 -8
  23. package/dist/core.js +74 -59
  24. package/dist/{delete-page-modal-55oioI9i.js → delete-page-modal-4bxjpVBD.js} +33 -21
  25. package/dist/delete-page-modal-qYDZmpgT.cjs +1 -0
  26. package/dist/email.cjs +1 -1
  27. package/dist/email.js +20 -5
  28. package/dist/{form-5ke_lZv8.js → form-NAzFjGs0.js} +9 -9
  29. package/dist/html-to-json-NqRjgFqp.cjs +1 -0
  30. package/dist/html-to-json-l_mw5y-e.js +243 -0
  31. package/dist/{index-6w-6HYBd.cjs → index--k2M8kzI.cjs} +1 -1
  32. package/dist/{index-audsIPBC.cjs → index-5XyNUAjc.cjs} +81 -22
  33. package/dist/{index-b33n_-zO.js → index-C7mB4XFm.js} +117 -117
  34. package/dist/{index-fnkMn4Pk.js → index-YZhtVcj_.js} +4 -4
  35. package/dist/{index-wRAIA8zZ.js → index-lFgDm1oa.js} +48587 -45055
  36. package/dist/lib.cjs +2 -2
  37. package/dist/lib.js +22 -22
  38. package/dist/page-viewer-4wrnWnK0.js +124 -0
  39. package/dist/page-viewer-ra0GLx1p.cjs +1 -0
  40. package/dist/{project-general-setting-NEkNjf7V.js → project-general-setting-IwZUkYF3.js} +18 -9
  41. package/dist/project-general-setting-lFjTUhHD.cjs +1 -0
  42. package/dist/{project-seo-setting-YmspOYsF.js → project-seo-setting-e1fTqVsd.js} +2 -2
  43. package/dist/{single-page-detail-jHzoDP7B.js → single-page-detail-ZNWFKqLW.js} +64 -55
  44. package/dist/single-page-detail-g55Anu7R.cjs +1 -0
  45. package/dist/studio.cjs +1 -1
  46. package/dist/studio.js +18 -6
  47. package/dist/style.css +2 -2
  48. package/dist/ui.js +67 -67
  49. package/package.json +1 -1
  50. package/dist/AddBlocks-6dJmFSgk.js +0 -142
  51. package/dist/AddBlocks-doCNVVbk.cjs +0 -1
  52. package/dist/CanvasArea-kdnkFfKR.cjs +0 -1
  53. package/dist/CurrentPage-Ekl5Cwbv.cjs +0 -1
  54. package/dist/PagesPanel-SMHrEmCb.cjs +0 -1
  55. package/dist/ProjectPanel-YruLal65.cjs +0 -1
  56. package/dist/Settings-WXkCyhAv.js +0 -2380
  57. package/dist/Settings-_5VHcgFC.cjs +0 -1
  58. package/dist/SidePanels-UeIZB3e1.cjs +0 -1
  59. package/dist/StaticCanvas-7C52tXAv.js +0 -749
  60. package/dist/StaticCanvas-ll9VTXI5.cjs +0 -60
  61. package/dist/ThemeConfigPanel-_86vVxLz.cjs +0 -1
  62. package/dist/ThemeConfigPanel-gw8B2zvx.js +0 -194
  63. package/dist/Topbar-gb17oHdJ.cjs +0 -1
  64. package/dist/UILibrariesPanel-03Y3F3A_.cjs +0 -1
  65. package/dist/add-page-modal-rOKavDFX.cjs +0 -1
  66. package/dist/atoms-KQpaDRnF.cjs +0 -1
  67. package/dist/atoms-Oomqut88.js +0 -6
  68. package/dist/delete-page-modal-wdAiMVnL.cjs +0 -1
  69. package/dist/html-to-json-_01DXd-a.js +0 -192
  70. package/dist/html-to-json-ndxaXRT8.cjs +0 -1
  71. package/dist/index-e0c8PmRQ.js +0 -205
  72. package/dist/index-gi1LIOCw.cjs +0 -1
  73. package/dist/page-viewer-t44DP65U.js +0 -112
  74. package/dist/page-viewer-wU7T0f48.cjs +0 -1
  75. package/dist/plugin-2hf9pCRy.cjs +0 -1
  76. package/dist/plugin-wDnsBVPp.js +0 -54
  77. package/dist/project-general-setting-87cX9vvO.cjs +0 -1
  78. package/dist/single-page-detail-27UjWK8L.cjs +0 -1
@@ -1,60 +0,0 @@
1
- "use strict";var st=Object.defineProperty;var ot=(n,e,t)=>e in n?st(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var q=(n,e,t)=>(ot(n,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("./jsx-runtime-Z_BpKhVy.cjs"),f=require("react"),l=require("lodash-es"),E=require("jotai"),a=require("./index-aeDphKpP.cjs"),K=require("react-dom"),S=require("prop-types"),it=require("react-quill"),D=require("./atoms-KQpaDRnF.cjs"),U=require("./index-audsIPBC.cjs"),rt=require("@floating-ui/dom"),V=require("@floating-ui/react-dom"),L=require("@radix-ui/react-icons"),lt=require("@react-hookz/web"),at=require("flagged"),ct=require("@tailwindcss/typography"),dt=require("@tailwindcss/forms"),ut=require("@tailwindcss/aspect-ratio"),pt=require("tailwindcss-palette-generator"),gt=require("./plugin-2hf9pCRy.cjs"),ft=require("tailwind-merge"),F=require("./MODIFIERS-mVmfEGgo.cjs"),mt=require("@chaibuilder/runtime"),G=require("lodash"),ht=require("react-wrap-balancer");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("./utils-D_vtk3zK.cjs");require("clsx");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("./Functions-N3yhPYKY.cjs");require("tree-model");require("react-i18next");require("i18next");require("react-arborist");require("lucide-react");require("./index--mLLy7QQ.cjs");require("react-hotkeys-hook");const xt=`<!doctype html>
2
- <html lang="en" dir="__HTML_DIR__" class="scroll-smooth h-full overflow-y-auto">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <script src="https://cdn.tailwindcss.com?plugins=forms,typography,aspect-ratio"><\/script>
7
- <style>
8
- html { height: 100%; overflow:auto; }
9
- body { height: 100%; }
10
- .air-highlight{ outline: 1px solid #42a1fc !important; outline-offset: -1px;}
11
- .air-highlight-multi{ outline: 1px solid #29e503 !important; outline-offset: -1px;}
12
- body{ -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none;
13
- -moz-user-select: none;-ms-user-select: none; user-select: none; }
14
- html{
15
- -ms-overflow-style: none; /* IE and Edge */
16
- scrollbar-width: none; /* Firefox */
17
- }
18
- /** IMPORTANT: Make fields content editable in SAFARI */
19
- [contenteditable] {-webkit-user-select: text;user-select: text;}
20
-
21
- html::-webkit-scrollbar { width: 0 !important }
22
- .aspect-auto{aspect-ratio: auto;}
23
- .aspect-square{aspect-ratio: 1/1;}
24
- .aspect-video{aspect-ratio: 16/9;}
25
- .dragging [data-dnd="leaf"] { pointer-events: none; } .dragging [data-dnd="leaf"] * { pointer-events: none; }
26
- .dragging [data-dnd="ignore"], .dragging [data-dnd="ignore"] * { pointer-events: none; }
27
- a{ pointer-events: none !important; }
28
- [contenteditable="true"], [contenteditable="true"] * { cursor: text !important; }
29
- [contenteditable="true"] {
30
- outline: none;
31
- box-shadow: 0 0 0px 4px rgba(36, 150, 255, 0.2);
32
- -webkit-user-select: text;
33
- -moz-user-select: text;
34
- user-select: text;
35
- }
36
- .frame-root .frame-content { height: 100%; }
37
- [data-drop="yes"] { outline: 2px dashed orange !important; outline-offset: -2px }
38
- [data-dnd="yes"] { pointer-events: auto !important}
39
- [data-dnd="no"] { pointer-events: none !important; }
40
- [data-dnd-dragged="yes"] { opacity: 0.6; pointer-events: none; }
41
- [data-dnd-dragged="no"] { opacity: 1; pointer-events: auto !important; }
42
- [force-show] { display: block !important; }
43
- </style>
44
- <style id="hidden-blocks"></style>
45
- <style id="selected-block"></style>
46
- <style id="selected-styling-block"></style>
47
- <style id="highlighted-block"></style>
48
- <style id="dragged-block"></style>
49
- <style id="drop-target-block"></style>
50
-
51
- </head>
52
- <body class="font-body antialiased h-full">
53
- <div class="frame-root h-full"></div>
54
- <script src="https://cdn.jsdelivr.net/npm/quill@2.0.0/dist/quill.js"><\/script>
55
- </body>
56
- </html>`,yt=n=>{const[e]=a.useCanvasWidth(),[,t]=a.useCanvasZoom(),[s,c]=f.useState({}),u=f.useCallback(()=>{const{width:r,height:i}=n;if(r<e){const o=parseFloat((r/e).toFixed(2).toString());let m={};const d=i*o;i&&(m={height:100+(i-d)/d*100+"%"}),c({position:"relative",top:0,transform:`scale(${o})`,transformOrigin:"top left",...m,maxWidth:"none"}),t(o*100)}else c({}),t(100)},[e,n,t]);return f.useEffect(()=>{u()},[e,n,t,u]),s};let Z,J;typeof document<"u"&&(Z=document);typeof window<"u"&&(J=window);const tt=f.createContext({document:Z,window:J}),H=()=>f.useContext(tt),{Provider:bt,Consumer:Vt}=tt;class et extends f.Component{componentDidMount(){this.props.contentDidMount()}componentDidUpdate(){this.props.contentDidUpdate()}render(){return f.Children.only(this.props.children)}}q(et,"propTypes",{children:S.element.isRequired,contentDidMount:S.func.isRequired,contentDidUpdate:S.func.isRequired});class $ extends f.Component{constructor(t,s){super(t,s);q(this,"setRef",t=>{this.nodeRef.current=t;const{forwardedRef:s}=this.props;typeof s=="function"?s(t):s&&(s.current=t)});q(this,"handleLoad",()=>{clearInterval(this.loadCheck),this.state.iframeLoaded||this.setState({iframeLoaded:!0})});q(this,"loadCheck",()=>setInterval(()=>{this.handleLoad()},500));this._isMounted=!1,this.nodeRef=f.createRef(),this.state={iframeLoaded:!1}}componentDidMount(){this._isMounted=!0,this.getDoc()&&this.nodeRef.current.contentWindow.addEventListener("DOMContentLoaded",this.handleLoad)}componentWillUnmount(){this._isMounted=!1,this.nodeRef.current.removeEventListener("DOMContentLoaded",this.handleLoad)}getDoc(){return this.nodeRef.current?this.nodeRef.current.contentDocument:null}getMountTarget(){const t=this.getDoc();return this.props.mountTarget?t.querySelector(this.props.mountTarget):t.body.children[0]}renderFrameContents(){if(!this._isMounted)return null;const t=this.getDoc();if(!t)return null;const s=this.props.contentDidMount,c=this.props.contentDidUpdate,u=t.defaultView||t.parentView,r=p.jsxRuntimeExports.jsx(et,{contentDidMount:s,contentDidUpdate:c,children:p.jsxRuntimeExports.jsx(bt,{value:{document:t,window:u},children:p.jsxRuntimeExports.jsx("div",{className:"frame-content",children:this.props.children})})}),i=this.getMountTarget();return[K.createPortal(this.props.head,this.getDoc().head),K.createPortal(r,i)]}render(){const t={...this.props,srcDoc:this.props.initialContent,children:void 0};return delete t.head,delete t.initialContent,delete t.mountTarget,delete t.contentDidMount,delete t.contentDidUpdate,delete t.forwardedRef,p.jsxRuntimeExports.jsx("iframe",{...t,ref:this.setRef,onLoad:this.handleLoad,children:this.state.iframeLoaded&&this.renderFrameContents()})}}q($,"propTypes",{style:S.object,head:S.node,initialContent:S.string,mountTarget:S.string,className:S.string,contentDidMount:S.func,contentDidUpdate:S.func,children:S.oneOfType([S.element,S.arrayOf(S.element)])}),q($,"defaultProps",{style:{},head:null,children:void 0,mountTarget:void 0,contentDidMount:()=>{},contentDidUpdate:()=>{},initialContent:'<!DOCTYPE html><html><head></head><body><div class="frame-root"></div></body></html>'});const kt=f.forwardRef((n,e)=>p.jsxRuntimeExports.jsx($,{...n,forwardedRef:e}));function z(n){const e=window.getComputedStyle(n),t=e.display;if(t==="flex"||t==="inline-flex"){const s=e.flexDirection;return s==="column"||s==="column-reverse"?"vertical":"horizontal"}else if(t==="grid"){const s=e.gridAutoFlow,c=e.gridTemplateRows,u=e.gridTemplateColumns;return s.includes("column")||c.split(" ").length>u.split(" ").length?"vertical":"horizontal"}else if(t==="block"||t==="inline-block")return"vertical";return"horizontal"}let k=null,w=[],X=null,O=null;const Q=(n,e,t)=>{if(!k||!n)return;const s=k==null?void 0:k.getElementById("placeholder"),c=w.map(([o])=>o),u=c.reduce((o,m)=>Math.abs(m-t)<Math.abs(o-t)?m:o,0),r=c.indexOf(u);if(!w[r])return;const i=w[r];s.style.width=e==="vertical"?i[2]+"px":"2px",s.style.height=e==="vertical"?"2px":i[2]+"px",s.style.display="block",e==="vertical"?(s.style.top=i[0]+"px",s.style.left=i[1]+"px"):(s.style.top=i[1]+"px",s.style.left=i[0]+"px")};function vt(n,e){let t=0,s=1/0;return e.forEach((c,u)=>{const r=Math.abs(c[0]-n);r<s&&(s=r,t=u)}),t}const Et=n=>{const t=z(n)==="horizontal";w=[],Array.from(n.children).forEach((s,c)=>{if(s.classList.contains("pointer-events-none"))return;const u=t?s.offsetLeft:s.offsetTop,r=t?[s.offsetTop,s.clientHeight]:[s.offsetLeft,s.clientWidth];if(w.push([u,r[0],r[1]]),c===n.children.length-1){const i=t?s.offsetLeft+s.clientWidth:s.offsetTop+s.clientHeight;w.push([i,r[0],r[1]])}})},St=l.throttle(n=>{var c;const e=n.target,t=z(e),s=(c=k==null?void 0:k.defaultView)==null?void 0:c.scrollY;t==="vertical"?Q(e,t,n.clientY+s):Q(e,t,n.clientX)},0);function N(){const n=k==null?void 0:k.getElementById("placeholder");n.style.display="none",At("pointer-none"),jt()}function At(n){(k==null?void 0:k.querySelectorAll(`.${n}`)).forEach(t=>{t.classList.remove(n)})}function jt(){const n=k==null?void 0:k.querySelector('[data-drop="yes"]');n&&n.removeAttribute("data-drop")}const Bt=()=>{const{document:n}=H(),[e,t]=E.useAtom(a.draggingFlagAtom),{addCoreBlock:s}=a.useAddBlock(),[,c]=a.useHighlightBlockId(),[,u]=a.useSelectedBlockIds(),{moveBlocks:r}=a.useBlocksStoreUndoableActions(),[i,o]=E.useAtom(D.draggedBlockAtom),[,m]=E.useAtom(D.dropTargetBlockIdAtom),d=()=>{N(),t(!1),u([i._id]),o(null),m(null),w=[]};return k=n,{isDragging:e,onDragOver:h=>{h.preventDefault(),h.stopPropagation(),St(h)},onDrop:h=>{var I;const g=X,v=z(g)==="vertical"?h.clientY+((I=k==null?void 0:k.defaultView)==null?void 0:I.scrollY):h.clientX;O=vt(v,w);const x=i,A=g.getAttribute("data-block-id");if(!l.has(x,"_id")){s(x,A==="canvas"?null:A,O),setTimeout(d,300);return}let j=g.getAttribute("data-block-id");j===null&&(j=h.target.parentElement.getAttribute("data-block-id")),r([x._id],j==="canvas"?null:j,O),d(),setTimeout(N,300)},onDragEnter:h=>{const g=h,y=g.target;X=y;const v=y.getAttribute("data-block-id");m(v),g.stopPropagation(),g.preventDefault(),w=[],Et(y),t(!0),c(""),u([])},onDragLeave:h=>{h.target.getAttribute("data-block-id")==="canvas"&&(m(null),t(!1),N(),w=[])}}};function Y(n){return n.getAttribute("data-block-id")?n:n.closest("[data-block-id]")}function wt(n){n.container.innerHTML="",n.container.parentNode.removeChild(n.container);var e=document.querySelector(".ql-toolbar");e&&e.parentNode.removeChild(e),n=null}const Ct=()=>{const n=["Heading","Paragraph","Text","Link","Span","Button"],e=a.useUpdateBlocksProps(),[,t]=a.useHighlightBlockId(),[s,c]=E.useAtom(a.inlineEditingActiveAtom);return u=>{var h;if(s)return;const r=Y(u.target),i=r.getAttribute("data-block-type");if(!i||!n.includes(i))return;const o=r.cloneNode(!0);r.style.display="none",Array.from(o.attributes).forEach(g=>{g.name!=="class"&&o.removeAttribute(g.name)}),i==="Text"&&(o.style.display="inline-block"),r.parentNode.insertBefore(o,r.nextSibling);const m=new it.Quill(o,{placeholder:"Type here..."});function d(){const g=m.getText(0,m.getLength());e([r.getAttribute("data-block-id")],{content:g}),r.removeAttribute("style"),o.removeEventListener("blur",d,!0),wt(m),c(""),t("")}o.addEventListener("blur",d,!0),o.addEventListener("keydown",g=>{(g.key==="Enter"||g.key==="Escape")&&d()}),m.focus(),(h=o.querySelector(".ql-clipboard"))==null||h.remove(),c(r.getAttribute("data-block-id"))}},It=()=>{const[,n]=a.useSelectedStylingBlocks(),[e,t]=a.useSelectedBlockIds(),[,s]=a.useHighlightBlockId(),[c]=E.useAtom(a.inlineEditingActiveAtom),[u]=E.useAtom(a.treeRefAtom);return r=>{if(c)return;r.stopPropagation();const i=Y(r.target);if(i!=null&&i.getAttribute("data-block-id")&&(i==null?void 0:i.getAttribute("data-block-id"))==="container"){t([]),n([]),s("");return}if(i!=null&&i.getAttribute("data-block-parent")){const o=i.getAttribute("data-style-prop"),m=i.getAttribute("data-style-id"),d=i.getAttribute("data-block-parent");e.includes(d)||u==null||u.closeAll(),n([{id:m,prop:o,blockId:d}]),t([d])}else if(i!=null&&i.getAttribute("data-block-id")){let o=i.getAttribute("data-block-id");e.includes(o)||u==null||u.closeAll(),n([]),t([o])}s("")}},Rt=l.throttle((n,e)=>{const t=Y(n.target);t!=null&&t.getAttribute("data-style-id")&&e(t.getAttribute("data-style-id"))},100),qt=()=>{const[,n]=a.useHighlightBlockId(),[e]=E.useAtom(a.inlineEditingActiveAtom);return t=>{e||Rt(t,n)}},Tt=({children:n})=>{const{document:e}=H(),[t]=a.useSelectedBlockIds(),[s,c]=a.useSelectedStylingBlocks();f.useEffect(()=>{setTimeout(()=>{if(!l.isEmpty(s))return;const m=nt(e,l.first(t));if(m){const d=m.getAttribute("data-style-prop");if(d){const h=m.getAttribute("data-style-id"),g=m.getAttribute("data-block-parent");c([{id:h,prop:d,blockId:g}])}}},100)},[e,t,c,s]);const u=Ct(),r=It(),i=qt(),o=Bt();return p.jsxRuntimeExports.jsx("div",{"data-block-id":"canvas",id:"canvas",onClick:r,onDoubleClick:u,onMouseMove:i,...l.omit(o,"isDragging"),className:"relative mb-5 h-full max-w-full px-1 "+(o.isDragging?"dragging":""),children:n})},nt=(n,e)=>n.querySelector(`[data-block-id="${e}"]`),_t=()=>{const{document:n}=H();return U.useKeyEventWatcher(n),null},Dt=({block:n,label:e})=>{const[,t]=a.useSelectedBlockIds(),[,s]=a.useHighlightBlockId(),[,c]=E.useAtom(D.draggedBlockAtom),u=at.useFeature("dnd");return p.jsxRuntimeExports.jsxs("div",{className:"mr-10 flex cursor-default items-center space-x-1 px-1",draggable:u?"true":"false",onDragStart:r=>{r.dataTransfer.setData("text/plain",JSON.stringify(l.pick(n,["_id","_type","_name"]))),c(n),setTimeout(()=>{t([]),s(null)},200)},children:[p.jsxRuntimeExports.jsx(L.DragHandleDots2Icon,{}),e]})},Mt=({selectedBlockElement:n,block:e})=>{const t=a.useRemoveBlocks(),s=a.useDuplicateBlocks(),[,c]=a.useSelectedBlockIds(),[,u]=a.useHighlightBlockId(),[,r]=a.useSelectedStylingBlocks(),[i]=E.useAtom(a.inlineEditingActiveAtom),{floatingStyles:o,refs:m,update:d}=V.useFloating({placement:"top-start",middleware:[V.shift(),rt.flip()],elements:{reference:n}});lt.useResizeObserver(n,()=>d(),n!==null);const h=l.get(e,"_parent",null),g=l.isEmpty(l.get(e,"_name",""))?l.get(e,"_type",""):l.get(e,"_name","");return!n||!e||i?null:p.jsxRuntimeExports.jsx(p.jsxRuntimeExports.Fragment,{children:p.jsxRuntimeExports.jsxs("div",{role:"button",tabIndex:0,ref:m.setFloating,style:o,onClick:y=>{y.stopPropagation(),y.preventDefault()},onMouseEnter:y=>{y.stopPropagation(),u(null)},onKeyDown:y=>y.stopPropagation(),className:"z-[99999] flex h-6 items-center bg-blue-500 py-2 text-xs text-white",children:[p.jsxRuntimeExports.jsx(Dt,{label:g,block:e}),p.jsxRuntimeExports.jsxs("div",{className:"flex gap-2 px-1",children:[h&&p.jsxRuntimeExports.jsx(L.ArrowUpIcon,{className:"hover:scale-105",onClick:()=>{r([]),c([h])}}),a.canDuplicateBlock(l.get(e,"_type",""))?p.jsxRuntimeExports.jsx(L.CopyIcon,{className:"hover:scale-105",onClick:()=>s([e==null?void 0:e._id])}):null,a.canDeleteBlock(l.get(e,"_type",""))?p.jsxRuntimeExports.jsx(L.TrashIcon,{className:"hover:scale-105",onClick:()=>t([e==null?void 0:e._id])}):null]})]})})},Lt=({model:n})=>{const[e]=a.useBrandingOptions(),[t]=a.useSelectedBlockIds(),[s]=a.useDarkMode(),[c]=a.useHighlightBlockId(),[u]=a.useSelectedStylingBlocks(),[r]=E.useAtom(D.draggedBlockAtom),[i]=E.useAtom(D.dropTargetBlockIdAtom),{document:o,window:m}=H(),[d]=f.useState(o==null?void 0:o.getElementById("highlighted-block")),[h]=f.useState(o==null?void 0:o.getElementById("selected-block")),[g]=f.useState(o==null?void 0:o.getElementById("selected-styling-block")),[y]=f.useState(o==null?void 0:o.getElementById("dragged-block"));f.useEffect(()=>{s?o==null||o.documentElement.classList.add("dark"):o==null||o.documentElement.classList.remove("dark")},[s,o]);const v=l.get(e,"headingFont","DM Sans"),x=l.get(e,"bodyFont","DM Sans");return f.useEffect(()=>{const A=l.get(e,"primaryColor","#000"),j=l.get(e,"secondaryColor","#FFF"),I=l.get(e,"bodyBgLightColor","#fff"),R=l.get(e,"bodyBgDarkColor","#000"),T=l.get(e,"bodyTextDarkColor","#000"),M=l.get(e,"bodyTextLightColor","#fff"),P=pt([{color:A,name:"primary"},{color:j,name:"secondary"}]),b={"bg-light":I,"bg-dark":R,"text-dark":T,"text-light":M},B=l.get(e,"roundedCorners","0");!m||!m.tailwind||(m.tailwind.config={darkMode:"class",theme:{extend:{container:{center:!0,padding:"1rem",screens:{"2xl":"1400px"}},fontFamily:{heading:[v],body:[x]},borderRadius:{DEFAULT:`${B||"0"}px`},colors:{...b,...P}}},plugins:[ct,dt,ut,gt.plugin(function({addBase:C,theme:_}){C({"h1,h2,h3,h4,h5,h6":{fontFamily:_("fontFamily.heading")},body:{fontFamily:_("fontFamily.body"),color:_("colors.text-light"),backgroundColor:_("colors.bg-light")},".dark body":{color:_("colors.text-dark"),backgroundColor:_("colors.bg-dark")}})})]})},[e,m,v,x]),f.useEffect(()=>{h&&(h.textContent=`${l.map(t,A=>`[data-block-id="${A}"]`).join(",")}{
57
- outline: 1px solid ${t.length===1?"#42a1fc":"orange"} !important; outline-offset: -1px;
58
- }`)},[t,h]),f.useEffect(()=>{y.textContent=r?`[data-block-id="${r._id}"], [data-block-id="${r._id}"] > * { pointer-events: none !important; opacity: 0.6 !important}`:""},[r,y]),f.useEffect(()=>{d&&(d.textContent=c?`[data-style-id="${c}"]{ outline: 1px solid #42a1fc !important; outline-offset: -1px;}`:"")},[c,t,d]),f.useEffect(()=>{g&&(g.textContent=`${l.map(u,({id:A})=>`[data-style-id="${A}"]`).join(",")}{
59
- outline: 1px solid #42a1fc !important; outline-offset: -1px;
60
- }`)},[u,g]),f.useEffect(()=>{o.querySelector("#drop-target-block").innerHTML=i?`[data-block-id="${i}"]{ outline: 1px dashed orange !important; outline-offset: -1px;}`:""},[i]),p.jsxRuntimeExports.jsx(p.jsxRuntimeExports.Fragment,{children:(v||x)&&p.jsxRuntimeExports.jsx("link",{rel:"stylesheet",href:`https://fonts.googleapis.com/css2?family=${v?`${v.replace(/ /g,"+")}:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900`:""}${v&&x&&v!==x?"&":""}${x&&x!==v?`family=${x.replace(/ /g,"+")}:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900`:""}&display=swap`})})},Ft=()=>E.useAtom(a.canvasSettingsAtom),Ht=(n,e)=>{const t=["xs","sm","md","lg","xl","2xl"],s=t.indexOf(e),c=n.split(" ");let u=new Array(t.length).fill(!1);for(const r of c){let[i,o]=r.split(":");o||(o=i,i="xs");const m=t.indexOf(i);if(m<=s){const d=["block","flex","inline","inline-block","inline-flex","grid","table"],h=["hidden"];if(d.includes(o))for(let g=m;g<t.length;g++)u[g]=!0;else if(h.includes(o))for(let g=m;g<t.length;g++)u[g]=!1}}return u[s]},Pt=n=>{const e={};return Object.keys(n).forEach(t=>{l.isString(n[t])&&n[t].startsWith(F.SLOT_KEY)&&(e[t]=n[t].replace(F.SLOT_KEY,"").split(","))}),e},Ot=l.memoize(n=>{const e=n.replace(F.STYLES_KEY,"").split(",");return ft.twMerge(e[0],e[1])});function Nt(n,e){return l.get(n,`${e}_attrs`,{})}function $t(n,e){const t={};return Object.keys(n).forEach(s=>{if(l.isString(n[s])&&n[s].startsWith(F.STYLES_KEY)){const c=Ot(n[s]),u=Nt(n,s);t[s]={className:c,"data-style-prop":s,"data-block-parent":n._id,"data-style-id":`${s}-${n._id}`,...u};const r=l.has(u,"x-show")||l.has(u,"x-if");r&&(t.__isHidden=r&&!Ht(c,e))}}),t}function Wt(n,e){const t=l.get(n,"_bindings",{});return l.isEmpty(t)?{...n}:(l.each(t,(s,c)=>{l.isString(s)&&l.get(e,s,null)&&(n[c]=l.get(e,s,null))}),n)}function W({blocks:n}){const[e]=a.useBlocksStore(),[t]=E.useAtom(a.xShowBlocksAtom),[s]=E.useAtom(D.draggedBlockAtom),[,c]=a.useCanvasWidth(),[u]=Ft(),r=f.useCallback(d=>$t(d,c),[c]),[i]=U.useChaiExternalData(),[o]=E.useAtom(a.inlineEditingActiveAtom),m=f.useCallback(d=>d.reduce((h,g)=>{const y=l.get(u,g,{});return{...h,...y}},{}),[u,e]);return p.jsxRuntimeExports.jsx(p.jsxRuntimeExports.Fragment,{children:f.Children.toArray(n.map((d,h)=>{if(o===d._id)return null;const g=Pt(d),y={};l.isEmpty(g)||Object.keys(g).forEach(T=>{y[T]=f.Children.toArray(g[T].map(M=>p.jsxRuntimeExports.jsx(W,{blocks:[l.find(e,{_id:M})]})))});const v=l.filter(e,{_parent:d._id});y.children=v.length?p.jsxRuntimeExports.jsx(W,{blocks:v}):null;const x=mt.getBlockComponent(d._type),A=l.get(x,"builderComponent",l.get(x,"component",null));if(l.isNull(A))return p.jsxRuntimeExports.jsx("noscript",{children:`<!-- ${d==null?void 0:d._type} not registered -->`});const j=l.has(x,"getBlockStateFrom")?x==null?void 0:x.getBlockStateFrom(d,e):[],I=m(j),R=r(d);return l.get(R,"__isHidden",!1)&&!G.includes(t,d._id)?null:p.jsxRuntimeExports.jsx(f.Suspense,{children:f.createElement(A,{blockProps:{...G.includes(t,d._id)?{"force-show":""}:{},"data-block-id":d._id,"data-block-type":d._type,...s?{"data-dnd":a.canAcceptChildBlock(d._type,s==null?void 0:s._type)?"yes":"no"}:{}},index:h,...Wt(d,i),...l.omit(R,["__isHidden"]),...y,inBuilder:!0,blockState:I})})}))})}const Ut=()=>{const[n]=a.useBlocksStore(),e=l.isEmpty(n)?null:p.jsxRuntimeExports.jsx(U.BlocksExternalDataProvider,{children:p.jsxRuntimeExports.jsx(W,{blocks:l.filter(n,t=>l.isEmpty(t._parent))})});return p.jsxRuntimeExports.jsx(p.jsxRuntimeExports.Fragment,{children:e})},zt=(n,e)=>n.querySelector(`[data-style-id="${e}"]`),Yt=()=>{const[n]=E.useAtom(a.networkModeAtom),[e]=a.usePreviewMode(),[t]=a.useCanvasWidth(),[,s]=a.useSelectedBlockIds(),c=a.useSelectedBlock(),[,u]=a.useHighlightBlockId(),r=f.useRef(null),i=f.useRef(null),[o,m]=f.useState({width:0,height:0}),d=yt(o),[h,g]=f.useState(0),[y,v]=f.useState([]),[,x]=f.useState([]),[,A]=E.useAtom(a.canvasIframeAtom),[j,I]=a.useSelectedStylingBlocks(),R=a.useBuilderProp("loading",!1),T=a.useBuilderProp("htmlDir","ltr");f.useEffect(()=>{const{clientWidth:b,clientHeight:B}=i.current;m({width:b,height:B}),h===0&&g(b)},[i,t,h]);const M=(b,B=0)=>{const{top:C}=b.getBoundingClientRect();return C+B>=0&&C-B<=window.innerHeight};f.useEffect(()=>{var b,B;if(c&&c.type!=="Multiple"&&r.current){const C=nt(r.current.contentDocument,c._id);C&&(M(C)||(B=(b=r.current)==null?void 0:b.contentWindow)==null||B.scrollTo({top:C.offsetTop,behavior:"smooth"}),v([C]))}},[c]),f.useEffect(()=>{if(!l.isEmpty(j)&&r.current){const b=zt(r.current.contentDocument,l.first(j).id);x(b?[b]:[null])}else x([null])},[j]);const P=f.useMemo(()=>{let b=xt;return b=b.replace("__HTML_DIR__",T),n==="offline"&&(b=b.replace("https://old.chaibuilder.com/offline/tailwind.cdn.js","/offline/tailwind.cdn.js"),b=b.replace("https://unpkg.com/aos@next/dist/aos.css","/offline/aos.css"),b=b.replace("https://unpkg.com/aos@next/dist/aos.js","/offline/aos.js")),b},[n]);return p.jsxRuntimeExports.jsx("div",{onClick:()=>{s([]),I([])},onMouseLeave:()=>setTimeout(()=>u(""),300),className:"relative mx-auto h-full w-full overflow-hidden",style:h>0&&!l.isEmpty(d)?{width:e?"100%":h}:{},ref:i,children:p.jsxRuntimeExports.jsxs(kt,{contentDidMount:()=>A(r.current),ref:r,id:"canvas-iframe",style:{width:`${t}px`,...d},className:"relative mx-auto box-content h-full max-w-full shadow-lg transition-all duration-300 ease-linear",initialContent:P,children:[p.jsxRuntimeExports.jsx(_t,{}),p.jsxRuntimeExports.jsx(Mt,{block:c,selectedBlockElement:l.first(y)}),p.jsxRuntimeExports.jsx(Lt,{model:"page"}),p.jsxRuntimeExports.jsx(ht.Provider,{children:p.jsxRuntimeExports.jsx(Tt,{children:R?p.jsxRuntimeExports.jsx("div",{className:"h-full p-4",children:p.jsxRuntimeExports.jsx(a.Skeleton,{className:"h-full"})}):p.jsxRuntimeExports.jsx(Ut,{})})}),p.jsxRuntimeExports.jsx("br",{}),p.jsxRuntimeExports.jsx("div",{id:"placeholder",className:"pointer-events-none absolute z-[99999] max-w-full bg-green-500 transition-transform"})]})})};exports.default=Yt;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./jsx-runtime-Z_BpKhVy.cjs"),E=require("react"),P=require("@rjsf/validator-ajv8"),k=require("@rjsf/core"),p=require("./index-aeDphKpP.cjs"),r=require("./controls-rRZhz0vu.cjs"),m=require("lodash-es"),T=require("react-i18next"),D=require("./Functions-N3yhPYKY.cjs");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("./utils-D_vtk3zK.cjs");require("./MODIFIERS-mVmfEGgo.cjs");require("clsx");require("tailwind-merge");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-icons");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("react-quill");require("@chaibuilder/runtime");require("jotai");require("@react-hookz/web");require("tree-model");function w(e){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const t=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(l,i,t.get?t:{enumerable:!0,get:()=>e[i]})}}return l.default=e,Object.freeze(l)}const f=w(E),M=({value:e,onChange:l,id:i,onBlur:t})=>{const d=m.debounce(l,200),v=o=>d(o.target.value);return a.jsxRuntimeExports.jsx("div",{className:"mt-1.5 flex items-center gap-x-3",children:a.jsxRuntimeExports.jsx("div",{className:"flex w-3/5 flex-col",children:a.jsxRuntimeExports.jsx("input",{type:"color",className:"text-xs p-0",value:e,onBlur:({target:{value:o}})=>t(i,o),onChange:v})})})},g=[{title:"Roboto",value:"Roboto"},{title:"Open Sans",value:"Open Sans"},{title:"Montserrat",value:"Montserrat"},{title:"Lato",value:"Lato"},{title:"Poppins",value:"Poppins"},{title:"Oswald",value:"Oswald"},{title:"Raleway",value:"Raleway"},{title:"Ubuntu",value:"Ubuntu"},{title:"Nunito",value:"Nunito"},{title:"Merriweather",value:"Merriweather"},{title:"Nunito Sans",value:"Nunito Sans"},{title:"Playfair Display",value:"Playfair Display"},{title:"Rubik",value:"Rubik"},{title:"Inter",value:"Inter"},{title:"Lora",value:"Lora"},{title:"Kanit",value:"Kanit"},{title:"Fira Sans",value:"Fira Sans"},{title:"Hind",value:"Hind"},{title:"Quicksand",value:"Quicksand"},{title:"Mulish",value:"Mulish"},{title:"Barlow",value:"Barlow"},{title:"Inconsolata",value:"Inconsolata"},{title:"Titillium Web",value:"Titillium Web"},{title:"Heebo",value:"Heebo"},{title:"IBM Plex Sans",value:"IBM Plex Sans"},{title:"DM Sans",value:"DM Sans"},{title:"Nanum Gothic",value:"Nanum Gothic"},{title:"Karla",value:"Karla"},{title:"Arimo",value:"Arimo"},{title:"Cabin",value:"Cabin"},{title:"Oxygen",value:"Oxygen"},{title:"Overpass",value:"Overpass"},{title:"Assistant",value:"Assistant"},{title:"Tajawal",value:"Tajawal"},{title:"Play",value:"Play"},{title:"Exo",value:"Exo"},{title:"Cinzel",value:"Cinzel"},{title:"Faustina",value:"Faustina"},{title:"Philosopher",value:"Philosopher"},{title:"Gelasio",value:"Gelasio"},{title:"Sofia Sans Condensed",value:"Sofia Sans Condensed"},{title:"Noto Sans Devanagari",value:"Noto Sans Devanagari"},{title:"Actor",value:"Actor"},{title:"Epilogue",value:"Epilogue"},{title:"Glegoo",value:"Glegoo"},{title:"Overlock",value:"Overlock"},{title:"Lustria",value:"Lustria"},{title:"Ovo",value:"Ovo"},{title:"Suranna",value:"Suranna"},{title:"Bebas Neue",value:"Bebas Neue"},{title:"Manrope",value:"Manrope"}],F=({showHeading:e=!0,className:l=""})=>{const i=p.useBuilderProp("onSaveBrandingOptions",m.noop),[t,d]=p.useBrandingOptions(),[v]=p.useBlocksContainer(),o=f.useRef(t),{t:q}=T.useTranslation();f.useEffect(()=>()=>{m.isEqual(t,o.current)||i(o.current)},[]);const b=({formData:n},c)=>{c&&(d(n),o.current=n)},{bodyFont:h,headingFont:y,primaryColor:C,bodyTextDarkColor:S,bodyTextLightColor:j,bodyBgDarkColor:O,secondaryColor:R,bodyBgLightColor:B,roundedCorners:N}=t;let u={headingFont:r.f({title:"Heading font",default:y,options:g}),bodyFont:r.f({title:"Body font",default:h,options:g}),roundedCorners:r.y({title:"Rounded Corner",default:parseInt(N||5,10)}),primaryColor:r.s({title:"Primary",default:C}),secondaryColor:r.s({title:"Secondary",default:R})};v||(u={...u,bodyBgLightColor:r.s({title:"Background",default:B}),bodyTextLightColor:r.s({title:"Text color",default:S}),bodyBgDarkColor:r.s({title:"Background (Dark mode)",default:O}),bodyTextDarkColor:r.s({title:"Text color(Dark mode)",default:j})});const s={type:"object",properties:{}},x={};return Object.keys(u).forEach(n=>{const c=u[n];return s.properties||(s.properties={}),s.properties[n]=c.schema,x[n]=c.uiSchema,!0}),a.jsxRuntimeExports.jsxs("div",{className:D.cn("flex h-full w-60 select-none flex-col",l),children:[e?a.jsxRuntimeExports.jsx("div",{className:"rounded-md bg-background/30 p-1",children:a.jsxRuntimeExports.jsx("h1",{className:"px-1 font-semibold",children:q("Theme Configuration")})}):null,a.jsxRuntimeExports.jsx("div",{className:"-mx-2",children:a.jsxRuntimeExports.jsx(k,{widgets:{color:M},idSeparator:".",autoComplete:"off",omitExtraData:!0,liveOmit:!0,liveValidate:!0,uiSchema:x,schema:s,formData:t,validator:P,onChange:b})})]})};exports.default=F;
@@ -1,194 +0,0 @@
1
- import { j as t } from "./jsx-runtime-WbnYoNE9.js";
2
- import * as c from "react";
3
- import P from "@rjsf/validator-ajv8";
4
- import T from "@rjsf/core";
5
- import { h as w, aj as D, br as R } from "./index-b33n_-zO.js";
6
- import { f, y as M, s as i } from "./controls-yjgoZzB6.js";
7
- import { debounce as F, noop as L, isEqual as E } from "lodash-es";
8
- import { useTranslation as I } from "react-i18next";
9
- import { c as A } from "./Functions-7jnEwJyw.js";
10
- import "./_commonjsHelpers-UyOWmZb0.js";
11
- import "@radix-ui/react-toggle";
12
- import "class-variance-authority";
13
- import "./utils-VpVqnC9m.js";
14
- import "./MODIFIERS-fd5XOmum.js";
15
- import "clsx";
16
- import "tailwind-merge";
17
- import "@radix-ui/react-switch";
18
- import "@radix-ui/react-slot";
19
- import "@radix-ui/react-accordion";
20
- import "@radix-ui/react-icons";
21
- import "@radix-ui/react-alert-dialog";
22
- import "@radix-ui/react-dialog";
23
- import "@radix-ui/react-label";
24
- import "@radix-ui/react-scroll-area";
25
- import "@radix-ui/react-tabs";
26
- import "@radix-ui/react-tooltip";
27
- import "@radix-ui/react-popover";
28
- import "@radix-ui/react-menubar";
29
- import "@radix-ui/react-hover-card";
30
- import "@radix-ui/react-select";
31
- import "@radix-ui/react-dropdown-menu";
32
- import "@radix-ui/react-separator";
33
- import "@radix-ui/react-toast";
34
- import "cmdk";
35
- import "@radix-ui/react-context-menu";
36
- import "react-icons-picker";
37
- import "react-dom";
38
- import "react-quill";
39
- import "@chaibuilder/runtime";
40
- import "jotai";
41
- import "@react-hookz/web";
42
- import "tree-model";
43
- const G = ({ value: s, onChange: u, id: p, onBlur: o }) => {
44
- const m = F(u, 200), d = (e) => m(e.target.value);
45
- return /* @__PURE__ */ t.jsx("div", { className: "mt-1.5 flex items-center gap-x-3", children: /* @__PURE__ */ t.jsx("div", { className: "flex w-3/5 flex-col", children: /* @__PURE__ */ t.jsx(
46
- "input",
47
- {
48
- type: "color",
49
- className: "text-xs p-0",
50
- value: s,
51
- onBlur: ({ target: { value: e } }) => o(p, e),
52
- onChange: d
53
- }
54
- ) }) });
55
- }, g = [
56
- { title: "Roboto", value: "Roboto" },
57
- { title: "Open Sans", value: "Open Sans" },
58
- { title: "Montserrat", value: "Montserrat" },
59
- { title: "Lato", value: "Lato" },
60
- { title: "Poppins", value: "Poppins" },
61
- { title: "Oswald", value: "Oswald" },
62
- { title: "Raleway", value: "Raleway" },
63
- { title: "Ubuntu", value: "Ubuntu" },
64
- { title: "Nunito", value: "Nunito" },
65
- { title: "Merriweather", value: "Merriweather" },
66
- { title: "Nunito Sans", value: "Nunito Sans" },
67
- { title: "Playfair Display", value: "Playfair Display" },
68
- { title: "Rubik", value: "Rubik" },
69
- { title: "Inter", value: "Inter" },
70
- { title: "Lora", value: "Lora" },
71
- { title: "Kanit", value: "Kanit" },
72
- { title: "Fira Sans", value: "Fira Sans" },
73
- { title: "Hind", value: "Hind" },
74
- { title: "Quicksand", value: "Quicksand" },
75
- { title: "Mulish", value: "Mulish" },
76
- { title: "Barlow", value: "Barlow" },
77
- { title: "Inconsolata", value: "Inconsolata" },
78
- { title: "Titillium Web", value: "Titillium Web" },
79
- { title: "Heebo", value: "Heebo" },
80
- { title: "IBM Plex Sans", value: "IBM Plex Sans" },
81
- { title: "DM Sans", value: "DM Sans" },
82
- { title: "Nanum Gothic", value: "Nanum Gothic" },
83
- { title: "Karla", value: "Karla" },
84
- { title: "Arimo", value: "Arimo" },
85
- { title: "Cabin", value: "Cabin" },
86
- { title: "Oxygen", value: "Oxygen" },
87
- { title: "Overpass", value: "Overpass" },
88
- { title: "Assistant", value: "Assistant" },
89
- { title: "Tajawal", value: "Tajawal" },
90
- { title: "Play", value: "Play" },
91
- { title: "Exo", value: "Exo" },
92
- { title: "Cinzel", value: "Cinzel" },
93
- { title: "Faustina", value: "Faustina" },
94
- { title: "Philosopher", value: "Philosopher" },
95
- { title: "Gelasio", value: "Gelasio" },
96
- { title: "Sofia Sans Condensed", value: "Sofia Sans Condensed" },
97
- { title: "Noto Sans Devanagari", value: "Noto Sans Devanagari" },
98
- { title: "Actor", value: "Actor" },
99
- { title: "Epilogue", value: "Epilogue" },
100
- { title: "Glegoo", value: "Glegoo" },
101
- { title: "Overlock", value: "Overlock" },
102
- { title: "Lustria", value: "Lustria" },
103
- { title: "Ovo", value: "Ovo" },
104
- { title: "Suranna", value: "Suranna" },
105
- { title: "Bebas Neue", value: "Bebas Neue" },
106
- { title: "Manrope", value: "Manrope" }
107
- ], kt = ({
108
- showHeading: s = !0,
109
- className: u = ""
110
- }) => {
111
- const p = w("onSaveBrandingOptions", L), [o, m] = D(), [d] = R(), e = c.useRef(o), { t: h } = I();
112
- c.useEffect(() => () => {
113
- E(o, e.current) || p(e.current);
114
- }, []);
115
- const b = ({ formData: a }, n) => {
116
- n && (m(a), e.current = a);
117
- }, {
118
- bodyFont: x,
119
- headingFont: C,
120
- primaryColor: y,
121
- bodyTextDarkColor: S,
122
- bodyTextLightColor: B,
123
- bodyBgDarkColor: O,
124
- secondaryColor: N,
125
- bodyBgLightColor: j,
126
- roundedCorners: k
127
- } = o;
128
- let l = {
129
- headingFont: f({
130
- title: "Heading font",
131
- default: C,
132
- options: g
133
- }),
134
- bodyFont: f({
135
- title: "Body font",
136
- default: x,
137
- options: g
138
- }),
139
- roundedCorners: M({
140
- title: "Rounded Corner",
141
- default: parseInt(k || 5, 10)
142
- }),
143
- primaryColor: i({ title: "Primary", default: y }),
144
- secondaryColor: i({ title: "Secondary", default: N })
145
- };
146
- d || (l = {
147
- ...l,
148
- bodyBgLightColor: i({
149
- title: "Background",
150
- default: j
151
- }),
152
- bodyTextLightColor: i({
153
- title: "Text color",
154
- default: S
155
- }),
156
- bodyBgDarkColor: i({
157
- title: "Background (Dark mode)",
158
- default: O
159
- }),
160
- bodyTextDarkColor: i({
161
- title: "Text color(Dark mode)",
162
- default: B
163
- })
164
- });
165
- const r = {
166
- type: "object",
167
- properties: {}
168
- }, v = {};
169
- return Object.keys(l).forEach((a) => {
170
- const n = l[a];
171
- return r.properties || (r.properties = {}), r.properties[a] = n.schema, v[a] = n.uiSchema, !0;
172
- }), /* @__PURE__ */ t.jsxs("div", { className: A("flex h-full w-60 select-none flex-col", u), children: [
173
- s ? /* @__PURE__ */ t.jsx("div", { className: "rounded-md bg-background/30 p-1", children: /* @__PURE__ */ t.jsx("h1", { className: "px-1 font-semibold", children: h("Theme Configuration") }) }) : null,
174
- /* @__PURE__ */ t.jsx("div", { className: "-mx-2", children: /* @__PURE__ */ t.jsx(
175
- T,
176
- {
177
- widgets: { color: G },
178
- idSeparator: ".",
179
- autoComplete: "off",
180
- omitExtraData: !0,
181
- liveOmit: !0,
182
- liveValidate: !0,
183
- uiSchema: v,
184
- schema: r,
185
- formData: o,
186
- validator: P,
187
- onChange: b
188
- }
189
- ) })
190
- ] });
191
- };
192
- export {
193
- kt as default
194
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-Z_BpKhVy.cjs"),n=require("react"),a=require("@radix-ui/react-icons"),r=require("./index-aeDphKpP.cjs"),p=require("./index-audsIPBC.cjs"),l=require("react-i18next");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("./utils-D_vtk3zK.cjs");require("lodash-es");require("./MODIFIERS-mVmfEGgo.cjs");require("clsx");require("tailwind-merge");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("react-quill");require("./Functions-N3yhPYKY.cjs");require("@chaibuilder/runtime");require("jotai");require("@react-hookz/web");require("tree-model");require("i18next");require("react-arborist");require("lucide-react");require("./index--mLLy7QQ.cjs");require("@floating-ui/react-dom");require("flagged");require("react-hotkeys-hook");const m=()=>r.useBuilderProp("languages",["en"]),j=()=>m().length===1?null:e.jsxRuntimeExports.jsx("div",{className:"flex items-center",children:e.jsxRuntimeExports.jsxs(r.Select,{children:[e.jsxRuntimeExports.jsx(r.SelectTrigger,{className:"w-[150px] border-0",children:e.jsxRuntimeExports.jsx(r.SelectValue,{placeholder:e.jsxRuntimeExports.jsxs("span",{className:"flex items-center",children:[e.jsxRuntimeExports.jsx(a.FontFamilyIcon,{className:"h-4 w-4"})," English(US)"]})})}),e.jsxRuntimeExports.jsx(r.SelectContent,{children:e.jsxRuntimeExports.jsxs(r.SelectGroup,{children:[e.jsxRuntimeExports.jsx(r.SelectLabel,{children:"Fruits"}),e.jsxRuntimeExports.jsx(r.SelectItem,{value:"apple",children:"Apple"}),e.jsxRuntimeExports.jsx(r.SelectItem,{value:"banana",children:"Banana"}),e.jsxRuntimeExports.jsx(r.SelectItem,{value:"blueberry",children:"Blueberry"}),e.jsxRuntimeExports.jsx(r.SelectItem,{value:"grapes",children:"Grapes"}),e.jsxRuntimeExports.jsx(r.SelectItem,{value:"pineapple",children:"Pineapple"})]})})]})}),d=()=>{const{savePage:u,saveState:s}=r.useSavePage(),{t:i}=l.useTranslation(),x=r.useBuilderProp("hideSaveButton",!1),t=n.useMemo(()=>{switch(s){case"SAVING":return"animate-pulse bg-gray-300 text-gray-900";case"SAVED":return"bg-green-500 text-white hover:bg-green-600 hover:text-white";default:return"bg-gray-200 text-gray-500 hover:bg-gray-100"}},[s]);if(x)return null;const o=e.jsxRuntimeExports.jsxs(r.Button,{disabled:s==="SAVING",onClick:c=>{c.preventDefault(),u()},className:`flex h-auto w-fit items-center gap-x-2 rounded-full p-1.5 px-3 ${t}`,size:"sm",variant:"outline",children:[e.jsxRuntimeExports.jsx(p.FaCircleCheck,{className:"text-lg"}),e.jsxRuntimeExports.jsx("span",{className:"text-sm",children:s==="SAVING"?"Saving...":i(s==="SAVED"?"Saved":"Unsaved")})]});return e.jsxRuntimeExports.jsx("div",{className:"flex items-center",children:o})},h=function(){const s=r.useBuilderProp("previewComponent"),[,i]=r.usePreviewMode(),{t:x}=l.useTranslation();return s?e.jsxRuntimeExports.jsxs(r.Button,{onClick:t=>{t.preventDefault(),i(!0)},className:"flex h-auto w-fit items-center gap-x-2 rounded-full bg-gray-200 px-3 py-1",size:"sm",variant:"outline",children:[e.jsxRuntimeExports.jsx(a.EyeOpenIcon,{className:"text-xs"}),e.jsxRuntimeExports.jsx("span",{className:"text-sm",children:x("Preview")})]}):null},q=()=>{const u=r.useBuilderProp("topBarComponents.left",[]),s=r.useBuilderProp("topBarComponents.center",[]),i=r.useBuilderProp("topBarComponents.right",[]),x=r.useBuilderProp("editable",!0);return e.jsxRuntimeExports.jsxs("div",{className:"flex h-14 items-center justify-between px-2",children:[e.jsxRuntimeExports.jsx("div",{className:"flex items-center space-x-2",children:e.jsxRuntimeExports.jsx("div",{className:"flex items-center space-x-2 font-bold",children:n.Children.toArray(u.map(t=>e.jsxRuntimeExports.jsx(n.Suspense,{fallback:e.jsxRuntimeExports.jsx(r.Skeleton,{className:"h-10"}),children:e.jsxRuntimeExports.jsx(t,{})})))})}),e.jsxRuntimeExports.jsx("div",{className:"flex items-center space-x-2",children:n.Children.toArray(s.map(t=>e.jsxRuntimeExports.jsx(n.Suspense,{fallback:e.jsxRuntimeExports.jsx(r.Skeleton,{className:"h-10"}),children:e.jsxRuntimeExports.jsx(t,{})})))}),e.jsxRuntimeExports.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsxRuntimeExports.jsx(j,{}),e.jsxRuntimeExports.jsx(h,{}),e.jsxRuntimeExports.jsx(r.Separator,{orientation:"vertical"}),x?e.jsxRuntimeExports.jsx(d,{}):null,n.Children.toArray(i.map(t=>e.jsxRuntimeExports.jsx(n.Suspense,{fallback:e.jsxRuntimeExports.jsx(r.Skeleton,{className:"h-10"}),children:e.jsxRuntimeExports.jsx(t,{})})))]})]})};exports.default=q;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-Z_BpKhVy.cjs"),r=require("lodash-es"),f=require("react"),s=require("./index-aeDphKpP.cjs"),y=require("@chaibuilder/runtime"),I=require("lucide-react"),E=require("jotai"),C=require("./Functions-N3yhPYKY.cjs"),B=require("@radix-ui/react-icons"),L=require("./MODIFIERS-mVmfEGgo.cjs"),S=require("react-i18next"),T=require("./atoms-KQpaDRnF.cjs"),A=require("clsx"),P=require("flagged");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("./utils-D_vtk3zK.cjs");require("tailwind-merge");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("react-quill");require("@react-hookz/web");require("tree-model");function O(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const i in t)if(i!=="default"){const l=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(o,i,l.get?l:{enumerable:!0,get:()=>t[i]})}}return o.default=t,Object.freeze(o)}const D=O(f);function _({uiLibraries:t,library:o,setLibrary:i}){var p;const[l,x]=D.useState(!1),{t:n}=S.useTranslation();return o?e.jsxRuntimeExports.jsxs(s.Popover,{open:l,onOpenChange:x,children:[e.jsxRuntimeExports.jsx(s.PopoverTrigger,{asChild:!0,children:e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-x-2",children:[e.jsxRuntimeExports.jsx("span",{children:n("Choose Library")}),e.jsxRuntimeExports.jsxs(s.Button,{variant:"outline",size:"sm",role:"combobox","aria-expanded":l,className:"w-[200px] justify-between",children:[o?(p=t.find(u=>u.uuid===o))==null?void 0:p.name:n("Select library"),e.jsxRuntimeExports.jsx(B.CaretSortIcon,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})]})}),e.jsxRuntimeExports.jsx(s.PopoverContent,{className:"w-[200px] p-0",children:e.jsxRuntimeExports.jsxs(s.Command,{children:[e.jsxRuntimeExports.jsx(s.CommandInput,{placeholder:"Search library...",className:"h-9"}),e.jsxRuntimeExports.jsxs(s.CommandList,{children:[e.jsxRuntimeExports.jsx(s.CommandEmpty,{children:"No library found."}),e.jsxRuntimeExports.jsx(s.CommandGroup,{children:t.map(u=>e.jsxRuntimeExports.jsxs(s.CommandItem,{value:u.uuid,onSelect:j=>{i(j),x(!1)},children:[u.name,e.jsxRuntimeExports.jsx(B.CheckIcon,{className:C.cn("ml-auto h-4 w-4",o===u.uuid?"opacity-100":"opacity-0")})]},u.uuid))})]})]})})]}):null}const M=({block:t,closePopover:o,library:i})=>{const[l,x]=f.useState(!1),n=s.useBuilderProp("getUILibraryBlock",r.noop),{addCoreBlock:p,addPredefinedBlock:u}=s.useAddBlock(),[j,R]=s.useSelectedBlockIds(),[,q]=s.useHighlightBlockId(),g=r.get(t,"name",r.get(t,"label")),b=P.useFeature("dnd"),[,k]=E.useAtom(T.draggedBlockAtom),a=c=>{const m=r.has(c,"styles_attrs.data-page-section");return c._type==="Box"&&m},v=f.useCallback(async c=>{if(c.stopPropagation(),r.has(t,"component")){p(t,r.first(j)),o();return}x(!0);const m=await n(i,t);let h=r.first(j);a(r.first(m))&&(h=null),r.isEmpty(m)||u(y.syncBlocksWithDefaults(m),h),o()},[t]),d=async c=>{const m=await n(i,t);let h=r.first(j);if(a(r.first(m))&&(h=null),!r.isEmpty(m)){const N={blocks:m,uiLibrary:!0,parent:h};if(c.dataTransfer.setData("text/plain",JSON.stringify(N)),t.preview){const w=new Image;w.src=t.preview,w.onload=()=>{c.dataTransfer.setDragImage(w,0,0)}}else c.dataTransfer.setDragImage(new Image,0,0);k(N),setTimeout(()=>{R([]),q(null),o()},200)}};return e.jsxRuntimeExports.jsxs(s.Tooltip,{children:[e.jsxRuntimeExports.jsx(s.TooltipTrigger,{asChild:!0,children:e.jsxRuntimeExports.jsxs("div",{onClick:l?()=>{}:v,draggable:b?"true":"false",onDragStart:d,className:A("relative mt-2 cursor-pointer overflow-hidden rounded-md border border-gray-300 bg-white duration-200 hover:border-blue-500 hover:shadow-xl"),children:[l&&e.jsxRuntimeExports.jsxs("div",{className:"absolute flex h-full w-full items-center justify-center bg-black/70",children:[e.jsxRuntimeExports.jsx(I.Loader,{className:"animate-spin",size:15,color:"white"}),e.jsxRuntimeExports.jsx("span",{className:"pl-2 text-sm text-white",children:"Adding..."})]}),t.preview?e.jsxRuntimeExports.jsx("img",{src:t.preview,className:"min-h-[25px] w-full rounded-md",alt:g}):e.jsxRuntimeExports.jsx("div",{className:"flex h-20 items-center justify-center rounded-md border border-border border-gray-300 bg-gray-200",children:e.jsxRuntimeExports.jsx("p",{className:"max-w-xs text-center text-sm text-gray-700",children:g})})]})}),e.jsxRuntimeExports.jsx(s.TooltipContent,{children:e.jsxRuntimeExports.jsx("p",{children:g})})]})},U=E.atom({}),z=t=>{const[o,i]=E.useAtom(U),l=s.useBuilderProp("getUILibraryBlocks",r.noop),x=r.get(o,`${t==null?void 0:t.uuid}.blocks`,[]),n=r.get(o,`${t==null?void 0:t.uuid}.loading`,!1);return f.useEffect(()=>{(async()=>{if(n||x.length>0||!t)return;i(u=>({...u,[t==null?void 0:t.uuid]:{loading:!0,blocks:[]}}));const p=await l(t);i(u=>({...u,[t==null?void 0:t.uuid]:{loading:!1,blocks:p||[]}}))})()},[t,x,n]),{data:x,isLoading:n}},F=s.atomWithStorage("_selectedLibrary",null),G=()=>{const[t,o]=E.useAtom(F),i=s.useBuilderProp("uiLibraries",[]),l=y.useChaiBlocks(),x=r.values(l).filter(d=>d.category==="custom"),n=i.find(d=>d.uuid===t)||r.first(i),{data:p,isLoading:u}=z(n),j=r.groupBy([...p,...x],"group"),[R,q]=f.useState("Hero"),[,g]=E.useAtom(s.activePanelAtom),b=r.get(j,R,[]),{t:k}=S.useTranslation(),a=f.useRef(null),v=d=>{a.current&&(clearTimeout(a.current),a.current=null),a.current=setTimeout(()=>{a.current&&q(d)},300)};return u?e.jsxRuntimeExports.jsx(s.Skeleton,{className:"h-full w-full"}):e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs("div",{className:"relative flex h-full max-h-full w-[460px] flex-col overflow-hidden bg-background",children:[n!=null&&n.uuid?e.jsxRuntimeExports.jsx("div",{className:"sticky top-0 flex h-fit flex-col",children:e.jsxRuntimeExports.jsx("div",{className:"mb-2 flex flex-col justify-between rounded-md bg-background/30 p-1",children:e.jsxRuntimeExports.jsx("h1",{className:"flex w-full flex-col items-baseline truncate px-1 text-sm font-semibold xl:flex-col",children:e.jsxRuntimeExports.jsx(_,{library:n==null?void 0:n.uuid,setLibrary:o,uiLibraries:i})})})}):null,e.jsxRuntimeExports.jsxs("div",{className:"flex h-[95%] border-t border-gray-300 pt-2",children:[e.jsxRuntimeExports.jsx("div",{className:"flex h-full w-40 flex-col gap-1 px-1",children:f.Children.toArray(r.map(j,(d,c)=>e.jsxRuntimeExports.jsxs("div",{onMouseEnter:()=>v(c),onMouseLeave:()=>clearTimeout(a.current),onClick:()=>q(c),className:C.cn("flex w-full cursor-pointer items-center justify-between rounded-md p-1 text-sm transition-all ease-in-out hover:bg-gray-200",c===R?"bg-blue-500 text-white hover:bg-blue-600":""),children:[e.jsxRuntimeExports.jsx("span",{children:r.capitalize(c)}),e.jsxRuntimeExports.jsx(B.CaretRightIcon,{className:"ml-2 h-5 w-5"})]},c)))}),e.jsxRuntimeExports.jsxs(s.ScrollArea,{onMouseEnter:()=>a.current?clearTimeout(a.current):null,className:"z-10 -mt-2 flex h-full max-h-full w-[300px] flex-col gap-2 border-l border-gray-300 transition-all ease-linear",children:[e.jsxRuntimeExports.jsx("div",{className:"sticky top-0 z-30 border-b border-gray-300 bg-gray-200 p-2 text-[9px] font-light leading-3 text-gray-500",children:k("Click on a block to add it to the page")}),e.jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-2 px-2",children:f.Children.toArray(b.map(d=>e.jsxRuntimeExports.jsx(M,{block:d,library:n,closePopover:()=>g(L.OUTLINE_KEY)})))}),e.jsxRuntimeExports.jsx("br",{}),e.jsxRuntimeExports.jsx("br",{}),e.jsxRuntimeExports.jsx("br",{})]})]})]})})},H=()=>e.jsxRuntimeExports.jsx(G,{});exports.default=H;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-Z_BpKhVy.cjs"),x=require("react"),P=require("lodash-es"),t=require("./index-aeDphKpP.cjs"),g=require("./controls-rRZhz0vu.cjs"),R=require("./form-4jTocVbZ.cjs"),f=require("./index-6w-6HYBd.cjs");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("./utils-D_vtk3zK.cjs");require("./MODIFIERS-mVmfEGgo.cjs");require("clsx");require("tailwind-merge");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-icons");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("react-quill");require("./Functions-N3yhPYKY.cjs");require("@chaibuilder/runtime");require("jotai");require("@react-hookz/web");require("tree-model");require("react-i18next");require("@rjsf/core");require("@rjsf/validator-ajv8");require("./index-audsIPBC.cjs");require("i18next");require("react-arborist");require("lucide-react");require("./index--mLLy7QQ.cjs");require("@floating-ui/react-dom");require("flagged");require("react-hotkeys-hook");require("sonner");require("./html-to-json-ndxaXRT8.cjs");require("himalaya");require("lodash");const b=({closeModal:i})=>{var l,o;const u=f.useAddPage(),[r,m]=x.useState({name:"",slug:"",blocks:[],type:"STATIC",seoData:{},template:""}),p=()=>{u.mutate(r,{onSuccess:()=>i()})},j=({formData:n},s)=>{m(q=>{var d,c;const a={[s]:n[s]};return s==="name"?a.slug=P.kebabCase((d=n[s])==null?void 0:d.replace(/\d/g,"")):s==="slug"&&(a.slug=(c=n[s])==null?void 0:c.replace(/\d/g,"").replace(/\s+/g,"").replace("--","-").replace("__","_")),{...q,...a}})},h={name:g.g({title:"Page Name",default:r.name}),slug:g.g({title:"Page Slug",default:r.slug})};return e.jsxRuntimeExports.jsxs(t.DialogContent,{children:[e.jsxRuntimeExports.jsx("div",{className:"px-1 font-bold",children:"Add Page"}),e.jsxRuntimeExports.jsx(R.Form,{formData:r,properties:h,onChange:j,disabled:u.isPending}),e.jsxRuntimeExports.jsx("div",{className:"flex items-center justify-end",children:e.jsxRuntimeExports.jsx(t.Button,{type:"submit",disabled:!r.name||!r.slug||((l=r.name)==null?void 0:l.length)<2||((o=r.slug)==null?void 0:o.length)<2||u.isPending,onClick:p,children:"Add Page"})})]})},E=()=>{const[i,u]=x.useState(!1);return e.jsxRuntimeExports.jsxs(t.Dialog,{open:i,onOpenChange:()=>u(!i),children:[e.jsxRuntimeExports.jsx(t.DialogTrigger,{asChild:!0,children:e.jsxRuntimeExports.jsx(t.Button,{size:"sm",variant:"link",className:"text-blue-500",onClick:()=>u(!i),children:"+ New Page"})}),i&&e.jsxRuntimeExports.jsx(b,{closeModal:()=>u(!i)})]})};exports.default=E;
@@ -1 +0,0 @@
1
- "use strict";const o=require("jotai"),t=o.atom(null),r=o.atom(null);exports.draggedBlockAtom=t;exports.dropTargetBlockIdAtom=r;
@@ -1,6 +0,0 @@
1
- import { atom as o } from "jotai";
2
- const a = o(null), l = o(null);
3
- export {
4
- l as a,
5
- a as d
6
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-Z_BpKhVy.cjs"),r=require("./index-aeDphKpP.cjs"),l=require("./index-6w-6HYBd.cjs"),q=require("@radix-ui/react-icons");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("react");require("@radix-ui/react-toggle");require("class-variance-authority");require("./utils-D_vtk3zK.cjs");require("lodash-es");require("./MODIFIERS-mVmfEGgo.cjs");require("clsx");require("tailwind-merge");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("react-quill");require("./Functions-N3yhPYKY.cjs");require("@chaibuilder/runtime");require("jotai");require("@react-hookz/web");require("tree-model");require("react-i18next");require("./index-audsIPBC.cjs");require("i18next");require("react-arborist");require("lucide-react");require("./index--mLLy7QQ.cjs");require("@floating-ui/react-dom");require("flagged");require("react-hotkeys-hook");require("sonner");require("./html-to-json-ndxaXRT8.cjs");require("himalaya");require("lodash");const d=({pageData:i,projectData:t})=>{const n={},u=l.useDeletePage(),s=i.uuid===t.homepage,o=()=>{u.mutate(i,{onSuccess:()=>{n({uuid:t.homepage,slug:"/home"})}})};return e.jsxRuntimeExports.jsxs(r.AlertDialog,{children:[e.jsxRuntimeExports.jsx(r.AlertDialogTrigger,{disabled:s,children:e.jsxRuntimeExports.jsx("div",{className:`flex h-full items-center justify-center rounded-md border px-2 py-2 font-medium hover:bg-red-400 hover:text-white ${s?"cursor-not-allowed border-red-200 text-red-200":"cursor-pointer border-red-400 text-red-400"}`,children:e.jsxRuntimeExports.jsx(q.TrashIcon,{})})}),e.jsxRuntimeExports.jsxs(r.AlertDialogContent,{children:[e.jsxRuntimeExports.jsxs(r.AlertDialogTitle,{children:["Are you sure you want to delete ",e.jsxRuntimeExports.jsx("i",{className:"text-red-500",children:i.name})," page?"]}),e.jsxRuntimeExports.jsx(r.AlertDialogDescription,{children:"This action cannot be undone. This will permanently delete your page."}),e.jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-end gap-x-3",children:[e.jsxRuntimeExports.jsx(r.AlertDialogCancel,{disabled:u.isPending,children:"Cancel"}),e.jsxRuntimeExports.jsx(r.Button,{variant:"destructive",onClick:o,disabled:u.isPending,children:"Yes, Delete"})]})]})]})};exports.default=d;
@@ -1,192 +0,0 @@
1
- import { stringify as y, parse as N } from "himalaya";
2
- import { g as L, c as k } from "./Functions-7jnEwJyw.js";
3
- import { isEmpty as m, includes as g, get as n, forEach as S, find as u, set as o, capitalize as $, flatMapDeep as A, filter as B, flatten as C } from "lodash-es";
4
- import { a as p } from "./MODIFIERS-fd5XOmum.js";
5
- import { has as R, startsWith as E } from "lodash";
6
- const M = (t) => {
7
- const e = /(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/, a = /(?:https?:\/\/)?(?:www\.)?(player)?.vimeo\.com/;
8
- return e.test(t) || a.test(t);
9
- }, H = (t) => {
10
- if (m(t))
11
- return t;
12
- const e = /<video[^>]+src=['"]([^'">]+)['"]/, a = /<iframe[^>]+src=['"]([^'">]+)['"]/, r = t.match(e), c = t.match(a), i = r ? r[1] : c ? c[1] : null, s = /(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/, l = /(?:https?:\/\/)?(?:www\.)?player.vimeo\.com/;
13
- return i && (s.test(i) || l.test(i)) ? i : t;
14
- }, b = "$name", I = {
15
- img: { alt: "alt", width: "width", height: "height", src: "image" },
16
- video: {
17
- src: "url",
18
- autoplay: "controls.autoPlay",
19
- muted: "controls.muted",
20
- loop: "controls.loop",
21
- controls: "controls.widgets"
22
- },
23
- a: {
24
- href: "link.href",
25
- target: "link.target",
26
- type: ""
27
- // @TODO: Detect here what to url, email, phone, elementId
28
- },
29
- input: {
30
- placeholder: "placeholder",
31
- required: "required",
32
- type: "inputType",
33
- name: "fieldName"
34
- },
35
- textarea: {
36
- placeholder: "placeholder",
37
- required: "required",
38
- type: "inputType",
39
- name: "fieldName"
40
- },
41
- select: {
42
- placeholder: "placeholder",
43
- required: "required",
44
- multiple: "multiple",
45
- name: "fieldName"
46
- }
47
- }, q = (t, e) => t.children.length === 1 && g(["Heading", "Paragraph", "Span", "ListItem", "Button", "Label", "TableCell", "Link"], e._type), _ = (t) => t.map((e) => e.type === "text" ? n(e, "content", "") : m(e.children) ? "" : _(e.children)).join(""), h = (t) => t === null ? "" : t, f = (t) => {
48
- if (t.tagName === "svg")
49
- return {};
50
- const e = {}, a = I[t.tagName] || {}, r = t.attributes;
51
- return S(r, ({ key: c, value: i }) => {
52
- if (c !== b)
53
- if (a[c]) {
54
- if (t.tagName === "img" && c === "src" && !i.startsWith("http")) {
55
- const s = u(t.attributes, { key: "width" }), l = u(t.attributes, { key: "height" });
56
- s && l ? i = `https://via.placeholder.com/${s == null ? void 0 : s.value}x${l == null ? void 0 : l.value}` : i = "https://via.placeholder.com/150x150";
57
- }
58
- o(e, a[c], h(i));
59
- } else
60
- g(["style", "class", "srcset"], c) || (R(e, "styles_attrs") || (e.styles_attrs = {}), E(c, "@") && (c = c.replace("@", "x-on:")), e.styles_attrs[`${c}`] = h(i));
61
- }), delete e.class, e;
62
- }, P = (t, e = "styles") => {
63
- if (!t.attributes)
64
- return { [e]: `${p},` };
65
- const a = u(t.attributes, { key: "class" });
66
- if (a) {
67
- const r = a.value;
68
- return { [e]: `${p},${r}` };
69
- }
70
- return { [e]: `${p},` };
71
- }, U = (t) => {
72
- switch (t.tagName) {
73
- case "img":
74
- return { _type: "Image" };
75
- case "input":
76
- return { _type: "Input", showLabel: !1 };
77
- case "hr":
78
- return { _type: "Divider" };
79
- case "br":
80
- return { _type: "LineBreak" };
81
- case "textarea":
82
- return { _type: "TextArea", showLabel: !1 };
83
- case "audio":
84
- return { _type: "Audio" };
85
- case "canvas":
86
- return { _type: "Canvas" };
87
- case "video":
88
- case "iframe":
89
- return { _type: "CustomHTML" };
90
- case "svg":
91
- return { _type: "Icon" };
92
- case "select":
93
- return { _type: "Select", options: [] };
94
- case "option":
95
- return { _type: "Option" };
96
- case "ul":
97
- case "ol":
98
- case "dl":
99
- return {
100
- _type: "List",
101
- tag: t.tagName,
102
- _listType: t.tagName === "ol" ? "list-decimal" : "list-none"
103
- };
104
- case "li":
105
- case "dt":
106
- return { _type: "ListItem", tag: t.tagName };
107
- case "span":
108
- case "figcaption":
109
- case "legend":
110
- return { _type: "Span", tag: t.tagName };
111
- case "p":
112
- return { _type: "Paragraph", content: "" };
113
- case "a":
114
- return { _type: "Link" };
115
- case "form":
116
- return { _type: "Form" };
117
- case "label":
118
- return { _type: "Label" };
119
- case "button":
120
- return { _type: "Button" };
121
- case "code":
122
- return { _type: "Code" };
123
- case "h1":
124
- case "h2":
125
- case "h3":
126
- case "h4":
127
- case "h5":
128
- case "h6":
129
- return { _type: "Heading", tag: t.tagName };
130
- case "table":
131
- return { _type: "Table" };
132
- case "tr":
133
- return { _type: "TableRow" };
134
- case "td":
135
- case "th":
136
- return { _type: "TableCell", tag: t.tagName };
137
- case "thead":
138
- return { _type: "TableHead" };
139
- case "tbody":
140
- return { _type: "TableBody" };
141
- case "tfoot":
142
- return { _type: "TableFooter" };
143
- default:
144
- const e = n(t, "children", []).length > 0 ? "Box" : "EmptyBox";
145
- return {
146
- _type: e,
147
- tag: t.tagName,
148
- _name: e == "EmptyBox" || t.tagName === "div" ? e : $(t.tagName)
149
- };
150
- }
151
- }, d = (t, e = null) => A(t, (a) => {
152
- var i;
153
- if (a.type === "comment")
154
- return [];
155
- let r = { _id: L() };
156
- if (e && (r._parent = e.block._id), a.type === "text")
157
- return m(n(a, "content", "")) ? [] : e && q(e.node, e.block) ? (o(e, "block.content", n(a, "content", "")), []) : { ...r, _type: "Text", content: n(a, "content", "") };
158
- if (r = {
159
- ...r,
160
- ...U(a),
161
- ...f(a),
162
- ...P(a)
163
- }, a.attributes) {
164
- const s = a.attributes.find((l) => l.key === b);
165
- s && (r._name = s.value);
166
- }
167
- if (r._type === "Input") {
168
- const s = r.inputType || "text";
169
- s === "checkbox" ? o(r, "_type", "Checkbox") : s === "radio" && o(r, "_type", "Radio");
170
- } else if (a.tagName === "video" || a.tagName === "iframe") {
171
- const s = y([a]);
172
- return M(s) && (o(r, "_type", "Video"), o(r, "url", H(s)), o(r, "styles", `${p},absolute top-0 left-0 w-full h-full`), o(r, "controls", { autoPlay: !1, muted: !0, loop: !1, controls: !1 })), r.content = s, [r];
173
- } else if (a.tagName === "svg") {
174
- const s = u(a.attributes, { key: "height" }), l = u(a.attributes, { key: "width" }), v = n(s, "value") ? `[${n(s, "value")}px]` : "24px", T = n(l, "value") ? `[${n(l, "value")}px]` : "24px", x = n(u(a.attributes, { key: "class" }), "value", "w-full h-full");
175
- return r.styles = `${p}, ${k(`w-${T} h-${v}`, x)}`.trim(), a.attributes = B(a.attributes, (w) => !g(["style", "width", "height", "class"], w.key)), r.icon = y([a]), [r];
176
- } else if (a.tagName == "option" && e && ((i = e.block) == null ? void 0 : i._type) === "Select")
177
- return e.block.options.push({
178
- label: _(a.children),
179
- ...f(a)
180
- }), [];
181
- const c = d(a.children, { block: r, node: a });
182
- return [r, ...c];
183
- }), z = (t) => {
184
- const e = t.match(/<body[^>]*>[\s\S]*?<\/body>/);
185
- return (e && e.length > 0 ? e[0].replace(/<body/, "<div").replace(/<\/body>/, "</div>") : t).replace(/\s+/g, " ").replaceAll("> <", "><").replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, "").trim();
186
- }, Z = (t) => {
187
- const e = N(z(t));
188
- return m(t) ? [] : C(d(e));
189
- };
190
- export {
191
- Z as g
192
- };
@@ -1 +0,0 @@
1
- "use strict";const u=require("himalaya"),p=require("./Functions-N3yhPYKY.cjs"),r=require("lodash-es"),o=require("./MODIFIERS-mVmfEGgo.cjs"),g=require("lodash"),x=t=>{const e=/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/,s=/(?:https?:\/\/)?(?:www\.)?(player)?.vimeo\.com/;return e.test(t)||s.test(t)},w=t=>{if(r.isEmpty(t))return t;const e=/<video[^>]+src=['"]([^'">]+)['"]/,s=/<iframe[^>]+src=['"]([^'">]+)['"]/,a=t.match(e),c=t.match(s),l=a?a[1]:c?c[1]:null,i=/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/,n=/(?:https?:\/\/)?(?:www\.)?player.vimeo\.com/;return l&&(i.test(l)||n.test(l))?l:t},h="$name",S={img:{alt:"alt",width:"width",height:"height",src:"image"},video:{src:"url",autoplay:"controls.autoPlay",muted:"controls.muted",loop:"controls.loop",controls:"controls.widgets"},a:{href:"link.href",target:"link.target",type:""},input:{placeholder:"placeholder",required:"required",type:"inputType",name:"fieldName"},textarea:{placeholder:"placeholder",required:"required",type:"inputType",name:"fieldName"},select:{placeholder:"placeholder",required:"required",multiple:"multiple",name:"fieldName"}},E=(t,e)=>t.children.length===1&&r.includes(["Heading","Paragraph","Span","ListItem","Button","Label","TableCell","Link"],e._type),f=t=>t.map(e=>e.type==="text"?r.get(e,"content",""):r.isEmpty(e.children)?"":f(e.children)).join(""),y=t=>t===null?"":t,m=t=>{if(t.tagName==="svg")return{};const e={},s=S[t.tagName]||{},a=t.attributes;return r.forEach(a,({key:c,value:l})=>{if(c!==h)if(s[c]){if(t.tagName==="img"&&c==="src"&&!l.startsWith("http")){const i=r.find(t.attributes,{key:"width"}),n=r.find(t.attributes,{key:"height"});i&&n?l=`https://via.placeholder.com/${i==null?void 0:i.value}x${n==null?void 0:n.value}`:l="https://via.placeholder.com/150x150"}r.set(e,s[c],y(l))}else r.includes(["style","class","srcset"],c)||(g.has(e,"styles_attrs")||(e.styles_attrs={}),g.startsWith(c,"@")&&(c=c.replace("@","x-on:")),e.styles_attrs[`${c}`]=y(l))}),delete e.class,e},N=(t,e="styles")=>{if(!t.attributes)return{[e]:`${o.STYLES_KEY},`};const s=r.find(t.attributes,{key:"class"});if(s){const a=s.value;return{[e]:`${o.STYLES_KEY},${a}`}}return{[e]:`${o.STYLES_KEY},`}},L=t=>{switch(t.tagName){case"img":return{_type:"Image"};case"input":return{_type:"Input",showLabel:!1};case"hr":return{_type:"Divider"};case"br":return{_type:"LineBreak"};case"textarea":return{_type:"TextArea",showLabel:!1};case"audio":return{_type:"Audio"};case"canvas":return{_type:"Canvas"};case"video":case"iframe":return{_type:"CustomHTML"};case"svg":return{_type:"Icon"};case"select":return{_type:"Select",options:[]};case"option":return{_type:"Option"};case"ul":case"ol":case"dl":return{_type:"List",tag:t.tagName,_listType:t.tagName==="ol"?"list-decimal":"list-none"};case"li":case"dt":return{_type:"ListItem",tag:t.tagName};case"span":case"figcaption":case"legend":return{_type:"Span",tag:t.tagName};case"p":return{_type:"Paragraph",content:""};case"a":return{_type:"Link"};case"form":return{_type:"Form"};case"label":return{_type:"Label"};case"button":return{_type:"Button"};case"code":return{_type:"Code"};case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":return{_type:"Heading",tag:t.tagName};case"table":return{_type:"Table"};case"tr":return{_type:"TableRow"};case"td":case"th":return{_type:"TableCell",tag:t.tagName};case"thead":return{_type:"TableHead"};case"tbody":return{_type:"TableBody"};case"tfoot":return{_type:"TableFooter"};default:const e=r.get(t,"children",[]).length>0?"Box":"EmptyBox";return{_type:e,tag:t.tagName,_name:e=="EmptyBox"||t.tagName==="div"?e:r.capitalize(t.tagName)}}},b=(t,e=null)=>r.flatMapDeep(t,s=>{var l;if(s.type==="comment")return[];let a={_id:p.generateUUID()};if(e&&(a._parent=e.block._id),s.type==="text")return r.isEmpty(r.get(s,"content",""))?[]:e&&E(e.node,e.block)?(r.set(e,"block.content",r.get(s,"content","")),[]):{...a,_type:"Text",content:r.get(s,"content","")};if(a={...a,...L(s),...m(s),...N(s)},s.attributes){const i=s.attributes.find(n=>n.key===h);i&&(a._name=i.value)}if(a._type==="Input"){const i=a.inputType||"text";i==="checkbox"?r.set(a,"_type","Checkbox"):i==="radio"&&r.set(a,"_type","Radio")}else if(s.tagName==="video"||s.tagName==="iframe"){const i=u.stringify([s]);return x(i)&&(r.set(a,"_type","Video"),r.set(a,"url",w(i)),r.set(a,"styles",`${o.STYLES_KEY},absolute top-0 left-0 w-full h-full`),r.set(a,"controls",{autoPlay:!1,muted:!0,loop:!1,controls:!1})),a.content=i,[a]}else if(s.tagName==="svg"){const i=r.find(s.attributes,{key:"height"}),n=r.find(s.attributes,{key:"width"}),d=r.get(i,"value")?`[${r.get(i,"value")}px]`:"24px",_=r.get(n,"value")?`[${r.get(n,"value")}px]`:"24px",T=r.get(r.find(s.attributes,{key:"class"}),"value","w-full h-full");return a.styles=`${o.STYLES_KEY}, ${p.cn(`w-${_} h-${d}`,T)}`.trim(),s.attributes=r.filter(s.attributes,v=>!r.includes(["style","width","height","class"],v.key)),a.icon=u.stringify([s]),[a]}else if(s.tagName=="option"&&e&&((l=e.block)==null?void 0:l._type)==="Select")return e.block.options.push({label:f(s.children),...m(s)}),[];const c=b(s.children,{block:a,node:s});return[a,...c]}),k=t=>{const e=t.match(/<body[^>]*>[\s\S]*?<\/body>/);return(e&&e.length>0?e[0].replace(/<body/,"<div").replace(/<\/body>/,"</div>"):t).replace(/\s+/g," ").replaceAll("> <","><").replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").trim()},$=t=>{const e=u.parse(k(t));return r.isEmpty(t)?[]:r.flatten(b(e))};exports.getBlocksFromHTML=$;