@chaibuilder/sdk 1.0.20 → 1.0.21

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 (94) hide show
  1. package/dist/{AddBlocks-U6bHEqmk.js → AddBlocks-0-e393Fn.js} +7 -5
  2. package/dist/AddBlocks-p68Cz79o.cjs +3 -0
  3. package/dist/BrandingOptions-HtNCJO9_.cjs +1 -0
  4. package/dist/{BrandingOptions-qDgIOayU.js → BrandingOptions-QqqJ-YRb.js} +14 -21
  5. package/dist/{CanvasArea-_poBbOON.js → CanvasArea-0hMAhzxn.js} +14 -13
  6. package/dist/{CanvasArea-yXpQHB6x.cjs → CanvasArea-pZz5czrV.cjs} +4 -4
  7. package/dist/{CurrentPage-SrovfgGL.js → CurrentPage-UOkxZISs.js} +15 -14
  8. package/dist/CurrentPage-phMDH1Ub.cjs +1 -0
  9. package/dist/Layers-NKZXi2LV.cjs +1 -0
  10. package/dist/{Layers-OKJ5nkTF.js → Layers-TB-Lriju.js} +17 -16
  11. package/dist/MODIFIERS-MLfpKQY1.js +73 -0
  12. package/dist/MODIFIERS-WFzDQfiT.cjs +1 -0
  13. package/dist/MarkAsGlobalBlock-5h3wP4zj.cjs +1 -0
  14. package/dist/{MarkAsGlobalBlock-Ynq-S6mW.js → MarkAsGlobalBlock-Pa8po8qP.js} +10 -9
  15. package/dist/PagesPanel-ffrNyFyp.cjs +1 -0
  16. package/dist/{PagesPanel-5macGkBU.js → PagesPanel-mAMSbYPt.js} +20 -19
  17. package/dist/ProjectPanel-1ywILLme.cjs +1 -0
  18. package/dist/{ProjectPanel-HS_TJ2k0.js → ProjectPanel-XvsYajju.js} +16 -15
  19. package/dist/{Settings-23ZBoDkz.js → Settings-8AbHXcDP.js} +18 -16
  20. package/dist/Settings-hdmnT_mI.cjs +1 -0
  21. package/dist/{SidePanels-HzpyQU1x.js → SidePanels-LQg3mdC4.js} +27 -26
  22. package/dist/SidePanels-xaNrI3oK.cjs +1 -0
  23. package/dist/Topbar-A3WZDrK4.cjs +1 -0
  24. package/dist/{Topbar-tfg74vbT.js → Topbar-wA6jhMj9.js} +26 -25
  25. package/dist/UnsplashImages-E8zPMgJf.cjs +1 -0
  26. package/dist/{UnsplashImages-tvUZGbHK.js → UnsplashImages-mzIO1QeT.js} +8 -7
  27. package/dist/UploadImages-qEuDUEMn.cjs +1 -0
  28. package/dist/{UploadImages-pKoVEsI7.js → UploadImages-qMeaY4sk.js} +8 -7
  29. package/dist/add-page-modal-9deiA1W9.cjs +1 -0
  30. package/dist/{add-page-modal-217go3Eh.js → add-page-modal-oER3yE4F.js} +20 -18
  31. package/dist/{confirm-alert-AG96Fmck.js → confirm-alert-rDSai_jQ.js} +9 -8
  32. package/dist/confirm-alert-tH8UCCSF.cjs +1 -0
  33. package/dist/controls-G0puEH71.js +120 -0
  34. package/dist/controls-aHZq-q4b.cjs +1 -0
  35. package/dist/core.cjs +1 -1
  36. package/dist/core.js +72 -71
  37. package/dist/{delete-page-modal-YYt_TVmB.js → delete-page-modal-QzQdrLYI.js} +21 -20
  38. package/dist/delete-page-modal-ShTRkqkB.cjs +1 -0
  39. package/dist/{form-Ik57WNLs.cjs → form-MlgUSEy_.cjs} +1 -1
  40. package/dist/{form-gIapXg-W.js → form-vWeEsG9Y.js} +2 -2
  41. package/dist/functions-eu6BbvqO.cjs +2 -0
  42. package/dist/functions-hmbWDcnW.js +1108 -0
  43. package/dist/{index-PrUoEet_.js → index-G55KtqnU.js} +190 -189
  44. package/dist/index-T5MFAHA0.cjs +1 -0
  45. package/dist/{index-4DQm5fFW.js → index-mLIwGF5W.js} +5439 -5429
  46. package/dist/{index-tTN-yd28.cjs → index-pCHSFoQO.cjs} +44 -44
  47. package/dist/{jsx-runtime-qAwJ85SY.js → jsx-runtime-NV737rRe.js} +1 -1
  48. package/dist/{jsx-runtime-WKRPbKtm.cjs → jsx-runtime-WUGKV8jN.cjs} +6 -6
  49. package/dist/lib.cjs +1 -2
  50. package/dist/lib.js +116 -1208
  51. package/dist/page-viewer-GPNN1H92.cjs +1 -0
  52. package/dist/{page-viewer-LQSQxs98.js → page-viewer-X3IEOrUC.js} +17 -16
  53. package/dist/project-general-setting-HZeYf9A1.cjs +1 -0
  54. package/dist/{project-general-setting-04N25MvJ.js → project-general-setting-oujmeWOG.js} +21 -19
  55. package/dist/project-seo-setting-3FZQXaTn.cjs +1 -0
  56. package/dist/{project-seo-setting-zxnjvt3c.js → project-seo-setting-_X6ckVa4.js} +17 -24
  57. package/dist/render.cjs +1 -1
  58. package/dist/render.js +40 -44
  59. package/dist/single-page-detail-ILshOKys.cjs +1 -0
  60. package/dist/{single-page-detail-lJHZSKqK.js → single-page-detail-SxboE7TI.js} +46 -44
  61. package/dist/studio.cjs +1 -1
  62. package/dist/studio.js +20 -19
  63. package/dist/ui.cjs +1 -1
  64. package/dist/ui.d.ts +4 -4
  65. package/dist/ui.js +144 -143
  66. package/dist/utils-It2K33fU.cjs +1 -0
  67. package/dist/{Class-nQk08vqd.js → utils-PPBbw5bk.js} +115 -183
  68. package/package.json +2 -7
  69. package/dist/AddBlocks-LvIqNyBE.cjs +0 -3
  70. package/dist/BrandingOptions-viABH78W.cjs +0 -1
  71. package/dist/Class-RZuPYbUS.cjs +0 -1
  72. package/dist/CurrentPage-XWSb_RZ8.cjs +0 -1
  73. package/dist/Layers-oluQMEyo.cjs +0 -1
  74. package/dist/MarkAsGlobalBlock-PG9EQfno.cjs +0 -1
  75. package/dist/PagesPanel-wYA8ksbF.cjs +0 -1
  76. package/dist/ProjectPanel-4hGK3CSo.cjs +0 -1
  77. package/dist/Settings-KS4sVa5a.cjs +0 -1
  78. package/dist/SidePanels-IfwzrWxw.cjs +0 -1
  79. package/dist/Topbar-zZtHp9g8.cjs +0 -1
  80. package/dist/UnsplashImages-nA7MSE46.cjs +0 -1
  81. package/dist/UploadImages-Ne7knL-U.cjs +0 -1
  82. package/dist/add-page-modal-az5Y2__Z.cjs +0 -1
  83. package/dist/blocks.cjs +0 -1
  84. package/dist/blocks.d.ts +0 -4
  85. package/dist/blocks.js +0 -20
  86. package/dist/confirm-alert-tADWj_Cs.cjs +0 -1
  87. package/dist/delete-page-modal-iits21u4.cjs +0 -1
  88. package/dist/index-SSmZipiF.js +0 -1191
  89. package/dist/index-UXNvQkHk.cjs +0 -1
  90. package/dist/index-plLNWLKk.cjs +0 -9
  91. package/dist/page-viewer-2SE5kCoO.cjs +0 -1
  92. package/dist/project-general-setting-XunBDyuZ.cjs +0 -1
  93. package/dist/project-seo-setting-_nu22LPz.cjs +0 -1
  94. package/dist/single-page-detail-TjWZvxFa.cjs +0 -1
@@ -1,14 +1,15 @@
1
- import { j as e } from "./jsx-runtime-qAwJ85SY.js";
1
+ import { j as e } from "./jsx-runtime-NV737rRe.js";
2
2
  import v, { createElement as K, useState as j, useCallback as q, useMemo as V, useEffect as W, Suspense as J } from "react";
3
3
  import { has as z, first as g, isEmpty as w, filter as k, values as B, groupBy as I, mergeWith as Q, isArray as H, get as X, map as L, includes as P, find as E, uniq as Y, reject as M } from "lodash";
4
4
  import { useAtom as h } from "jotai";
5
- import { O as F, j as C, az as D, aA as N, aH as Z, aI as $, aK as ee, i as se, a8 as O, bv as re, bw as te, bx as oe, by as le, bz as ae, bA as ie, aM as ce, bB as ne, bC as de, B as me, bD as pe, bE as ue, bF as xe, ae as he, aB as fe, aC as be, aD as A, bp as ge, bi as je, bj as ye, bk as we, bl as ke, S as Be } from "./index-PrUoEet_.js";
5
+ import { O as F, j as C, az as D, aA as N, aH as Z, aI as $, aK as ee, i as se, a8 as O, bv as re, bw as te, bx as oe, by as le, bz as ae, bA as ie, aM as ce, bB as ne, bC as de, B as me, bD as pe, bE as ue, bF as xe, ae as he, aB as fe, aC as be, aD as A, bp as ge, bi as je, bj as ye, bk as we, bl as ke, S as Be } from "./index-G55KtqnU.js";
6
6
  import { useDrag as R, DragPreviewImage as _ } from "react-dnd";
7
7
  import { BoxIcon as ve, ExclamationTriangleIcon as Ce, Cross1Icon as Ne } from "@radix-ui/react-icons";
8
8
  import { syncBlocksWithDefaults as G, useChaiBlocks as U } from "@chaibuilder/runtime";
9
9
  import { Loader as Te } from "lucide-react";
10
10
  import { getBlocksFromHTML as Ae } from "./lib.js";
11
- import { b as Ie } from "./Class-nQk08vqd.js";
11
+ import { c as Ie } from "./utils-PPBbw5bk.js";
12
+ import "./MODIFIERS-MLfpKQY1.js";
12
13
  import "@radix-ui/react-toggle";
13
14
  import "class-variance-authority";
14
15
  import "@radix-ui/react-switch";
@@ -37,6 +38,7 @@ import "redux-undo";
37
38
  import "@react-hookz/web";
38
39
  import "react-i18next";
39
40
  import "himalaya";
41
+ import "./functions-hmbWDcnW.js";
40
42
  import "@mhsdesign/jit-browser-tailwindcss";
41
43
  import "@bobthered/tailwindcss-palette-generator";
42
44
  import "@tailwindcss/forms";
@@ -203,7 +205,7 @@ const Le = ({ block: s }) => {
203
205
  return !P(S, r);
204
206
  const t = s._type;
205
207
  return t === "List" ? r === "ListItem" : t === "Table" ? r === "TableHead" || r === "TableBody" : t === "TableHead" || t === "TableBody" ? r === "TableRow" : t === "TableRow" ? r === "TableCell" : t === "Row" ? r === "Column" : !P(S, r);
206
- }, As = () => {
208
+ }, Ls = () => {
207
209
  const [s, r] = j("core"), [t, a] = j("basic"), c = U(), [, d] = h(xe), [, m] = h(N), [n] = C(), o = he(), f = E(o, { _id: g(n) }), { data: x, isLoading: p } = O(), b = I(
208
210
  k(c, (i) => Ee(f, i.type)),
209
211
  "category"
@@ -263,5 +265,5 @@ const Le = ({ block: s }) => {
263
265
  ] });
264
266
  };
265
267
  export {
266
- As as default
268
+ Ls as default
267
269
  };
@@ -0,0 +1,3 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-WUGKV8jN.cjs"),n=require("react"),t=require("lodash"),g=require("jotai"),s=require("./index-T5MFAHA0.cjs"),y=require("react-dnd"),w=require("@radix-ui/react-icons"),k=require("@chaibuilder/runtime"),q=require("lucide-react"),A=require("./lib.cjs"),T=require("./utils-It2K33fU.cjs");require("./MODIFIERS-WFzDQfiT.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");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("flat-to-nested");require("redux-undo");require("@react-hookz/web");require("react-i18next");require("himalaya");require("./functions-eu6BbvqO.cjs");require("@mhsdesign/jit-browser-tailwindcss");require("@bobthered/tailwindcss-palette-generator");require("@tailwindcss/forms");require("@tailwindcss/typography");require("@tailwindcss/aspect-ratio");require("@tailwindcss/line-clamp");require("clsx");require("tailwind-merge");const C=({block:r})=>{const{type:o,icon:l,label:c}=r,{addCoreBlock:d,addPredefinedBlock:m}=s.useAddBlock(),[p]=s.useSelectedBlockIds(),[,x]=g.useAtom(s.activePanelAtom),[,i]=g.useAtom(s.addBlocksModalAtom),E=()=>{t.has(r,"blocks")?m(k.syncBlocksWithDefaults(r.blocks),t.first(p)):d(r,t.first(p)),i(!1),x("layers")},[,f,j]=y.useDrag(()=>({type:"CHAI_BLOCK",item:r}));return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(y.DragPreviewImage,{connect:j,src:"https://placehold.co/100x30/000000/FFF?text="+(c||o).replace(/ /g,"+")}),e.jsxRuntimeExports.jsxs(s.Tooltip,{children:[e.jsxRuntimeExports.jsx(s.TooltipTrigger,{asChild:!0,children:e.jsxRuntimeExports.jsxs("button",{onClick:E,type:"button",ref:f,className:"cursor-grab space-y-2 rounded-lg border border-border p-3 text-center hover:bg-slate-300/50",children:[n.createElement(l||w.BoxIcon,{className:"w-4 h-4 mx-auto"}),e.jsxRuntimeExports.jsx("p",{className:"truncate text-xs",children:c||o})]})}),e.jsxRuntimeExports.jsx(s.TooltipContent,{children:e.jsxRuntimeExports.jsx("p",{children:c||o})})]})]})},N=({block:r,closePopover:o})=>{var j;const[l,c]=n.useState(!1),d=s.useBuilderProp("getExternalPredefinedBlock"),{addCoreBlock:m,addPredefinedBlock:p}=s.useAddBlock(),[x]=s.useSelectedBlockIds(),[,i,E]=y.useDrag(()=>({type:"CHAI_BLOCK",item:r}),[r]),f=n.useCallback(async b=>{if(b.stopPropagation(),t.has(r,"component")){m(r,t.first(x)),o();return}c(!0);const a=await d(r);t.isEmpty(a)||p(k.syncBlocksWithDefaults(a),t.first(x)),o()},[r]);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(y.DragPreviewImage,{connect:E,src:"https://placehold.co/100x30/000000/FFF?text="+((j=r.name||r.label)==null?void 0:j.replace(" ","+"))}),e.jsxRuntimeExports.jsxs("div",{ref:i,onClick:l?()=>{}:f,className:"relative cursor-grab overflow-hidden rounded-md border border-transparent duration-200 hover:scale-x-105 hover:border-foreground/20 hover:shadow-2xl",children:[l&&e.jsxRuntimeExports.jsxs("div",{className:"absolute flex h-full w-full items-center justify-center bg-black bg-opacity-70",children:[e.jsxRuntimeExports.jsx(q.Loader,{className:"animate-spin",size:15,color:"white"})," ",e.jsxRuntimeExports.jsx("span",{className:"pl-2 text-sm text-white",children:"Adding..."})]}),r.preview?e.jsxRuntimeExports.jsx("img",{src:r.preview,className:"min-h-[50px] w-full rounded-md border border-gray-300",alt:r.name}):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:r.name})})]})]})},I=()=>{const{data:r,isLoading:o}=s.useUILibraryBlocks(),l=k.useChaiBlocks(),c=t.filter(t.values(l),{category:"custom"}),d=t.groupBy(c,"group"),m=t.groupBy(r,"group"),[p,x]=n.useState(null),i=n.useMemo(()=>t.mergeWith(d,m,(a,h)=>{if(t.isArray(a)&&t.isArray(h))return[...a,...h]}),[d,m]),[,E]=g.useAtom(s.addBlocksModalAtom),[f,j]=n.useState("Navbar"),b=t.get(i,f,[]);return e.jsxRuntimeExports.jsxs("div",{className:"relative flex h-full max-h-full overflow-hidden py-2",children:[e.jsxRuntimeExports.jsx("ul",{className:"sticky top-0 h-full w-48 space-y-1 overflow-y-auto border-r px-2",children:o?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("li",{className:"h-8 w-full animate-pulse bg-gray-200"}),e.jsxRuntimeExports.jsx("li",{className:"mt-2 h-8 w-full animate-pulse bg-gray-200"}),e.jsxRuntimeExports.jsx("li",{className:"mt-2 h-8 w-full animate-pulse bg-gray-200"}),e.jsxRuntimeExports.jsx("li",{className:"mt-2 h-8 w-full animate-pulse bg-gray-200"}),e.jsxRuntimeExports.jsx("li",{className:"mt-2 h-8 w-full animate-pulse bg-gray-200"}),e.jsxRuntimeExports.jsx("li",{className:"mt-2 h-8 w-full animate-pulse bg-gray-200"})]}):n.Children.toArray(t.map(i,(a,h)=>e.jsxRuntimeExports.jsx("li",{onMouseOut:()=>{clearTimeout(p),x(null)},onMouseEnter:()=>{const R=setTimeout(()=>{j(h)},300);x(R)},onClick:()=>j(h),className:T.cn("-mx-2 cursor-default rounded-md rounded-r-none px-2 py-1 text-sm font-medium capitalize",f===h?"bg-blue-500 text-white":" text-gray-700 hover:bg-foreground/10"),children:h})))}),e.jsxRuntimeExports.jsx("div",{className:"h-full w-full space-y-2 overflow-y-auto px-8",children:n.Children.toArray(b.map(a=>e.jsxRuntimeExports.jsx(N,{block:a,closePopover:()=>E(!1)})))})]})},L=()=>{const[r,o]=n.useState(""),{addPredefinedBlock:l}=s.useAddBlock(),[c]=s.useSelectedBlockIds(),[,d]=g.useAtom(s.addBlockOffCanvasAtom),[,m]=g.useAtom(s.activePanelAtom),[,p]=g.useAtom(s.addBlocksModalAtom),x=()=>{const i=A.getBlocksFromHTML(r);l([...i],t.first(c)||null),o(""),d(!1),m("layers"),p(!1)};return e.jsxRuntimeExports.jsxs(s.Card,{className:"border-border/0 p-0 shadow-none",children:[e.jsxRuntimeExports.jsxs(s.CardHeader,{className:"p-3",children:[e.jsxRuntimeExports.jsx(s.CardTitle,{children:"Import HTML"}),e.jsxRuntimeExports.jsx(s.CardDescription,{children:"Use HTML snippets from component libraries like Tailwind UI, Flowbite, Preline, Kitwind, Tailblocks etc. or just copy paste your own HTML code. Only Tailwind CSS markup is supported."})]}),e.jsxRuntimeExports.jsx(s.CardContent,{className:"space-y-2 px-3 py-0",children:e.jsxRuntimeExports.jsxs("div",{className:"space-y-1",children:[e.jsxRuntimeExports.jsx(s.Label,{htmlFor:"current",className:"text-sm",children:"Enter HTML Code:"}),e.jsxRuntimeExports.jsx(s.Textarea,{autoFocus:!0,tabIndex:1,ref:i=>i&&i.focus(),defaultValue:r,onChange:i=>o(i.target.value),rows:12,placeholder:`<div>
2
+ <h1>Enter code here</h1>
3
+ </div>`,className:"resize-none overflow-x-auto whitespace-pre font-mono font-normal"})]})}),e.jsxRuntimeExports.jsxs(s.CardFooter,{className:"flex flex-col justify-end p-3",children:[e.jsxRuntimeExports.jsx(s.Button,{disabled:r.trim()==="",onClick:()=>x(),size:"sm",className:"w-full",children:"Import"}),e.jsxRuntimeExports.jsxs(s.Alert,{variant:"default",className:"mt-2 p-1 text-blue-400",children:[e.jsxRuntimeExports.jsx(w.ExclamationTriangleIcon,{className:"h-4 w-4"}),e.jsxRuntimeExports.jsx(s.AlertTitle,{className:"text-sm leading-4",children:"Imported html will be added to the currently selected block. If no block is selected, the html will be added to the page."})]})]})]})},v=["ListItem","TableHead","TableBody","TableRow","TableCell","Column"],P=(r,o)=>{if(!r)return!t.includes(v,o);const l=r._type;return l==="List"?o==="ListItem":l==="Table"?o==="TableHead"||o==="TableBody":l==="TableHead"||l==="TableBody"?o==="TableRow":l==="TableRow"?o==="TableCell":l==="Row"?o==="Column":!t.includes(v,o)},S=()=>{const[r,o]=n.useState("core"),[l,c]=n.useState("basic"),d=k.useChaiBlocks(),[,m]=g.useAtom(s.showPredefinedBlockCategoryAtom),[,p]=g.useAtom(s.addBlocksModalAtom),[x]=s.useSelectedBlockIds(),i=s.useAllBlocks(),E=t.find(i,{_id:t.first(x)}),{data:f,isLoading:j}=s.useUILibraryBlocks(),b=t.groupBy(t.filter(d,u=>P(E,u.type)),"category"),a=t.uniq(t.map(b.core,"group"));n.useEffect(()=>{!t.includes(a,l)&&!t.isEmpty(a)&&!t.isEmpty(l)&&c(t.first(a))},[a,l]);const h=u=>c(B=>B===u?"":u),R=!j&&!t.isEmpty(f)||t.find(t.values(d),{category:"custom"})!==void 0;return e.jsxRuntimeExports.jsxs("div",{className:"flex h-full flex-col overflow-hidden",children:[e.jsxRuntimeExports.jsxs("div",{className:"mb-2 flex justify-between rounded-md bg-background/30 p-1",children:[e.jsxRuntimeExports.jsxs("h1",{className:"flex flex-col items-baseline px-1 text-2xl font-semibold xl:flex-row",children:["Add block",e.jsxRuntimeExports.jsx("span",{className:"p-0 text-xs font-light leading-3 opacity-80 xl:pl-1",children:r==="html"?"(Enter or paste your own HTML code)":"(Drag & drop into tree view or click to add)"})]}),e.jsxRuntimeExports.jsxs("button",{onClick:()=>p(!1),className:"flex h-max items-center gap-x-1 rounded-full border p-px text-xs text-gray-800 hover:bg-gray-100 md:p-2",children:[e.jsxRuntimeExports.jsx(w.Cross1Icon,{width:12})," Close"]})]}),e.jsxRuntimeExports.jsx(s.Tabs,{onValueChange:u=>{m(""),o(u)},value:r,className:"h-max",children:e.jsxRuntimeExports.jsxs(s.TabsList,{className:"grid w-full "+(R?"grid-cols-3":"grid-cols-2"),children:[e.jsxRuntimeExports.jsx(s.TabsTrigger,{value:"core",children:"Core"}),R?e.jsxRuntimeExports.jsx(s.TabsTrigger,{value:"ui-blocks",children:"UI Blocks"}):null,e.jsxRuntimeExports.jsx(s.TabsTrigger,{value:"html",children:"Import"})]})}),r==="core"&&e.jsxRuntimeExports.jsx(s.ScrollArea,{className:"-mx-1.5 h-full",children:e.jsxRuntimeExports.jsx(s.Accordion,{type:"single",value:l,className:"w-full px-3",children:n.Children.toArray(t.map(a,u=>t.reject(t.filter(t.values(b.core),{group:u}),{hidden:!0}).length?e.jsxRuntimeExports.jsxs(s.AccordionItem,{value:u,className:"border-border",children:[e.jsxRuntimeExports.jsx(s.AccordionTrigger,{onClick:()=>h(u),className:"py-2 capitalize",children:u}),e.jsxRuntimeExports.jsx(s.AccordionContent,{children:e.jsxRuntimeExports.jsx("div",{className:"grid grid-cols-4 gap-2",children:n.Children.toArray(t.reject(t.filter(t.values(b.core),{group:u}),{hidden:!0}).map(B=>e.jsxRuntimeExports.jsx(C,{block:B})))})})]}):null))})}),r==="ui-blocks"&&e.jsxRuntimeExports.jsx(n.Suspense,{fallback:e.jsxRuntimeExports.jsx(s.Skeleton,{className:"h-32 w-full"}),children:e.jsxRuntimeExports.jsx(I,{})}),r==="html"&&e.jsxRuntimeExports.jsx(L,{})]})};exports.default=S;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./jsx-runtime-WUGKV8jN.cjs"),C=require("react"),B=require("@rjsf/validator-ajv8"),j=require("@rjsf/core"),c=require("./index-T5MFAHA0.cjs"),e=require("./controls-aHZq-q4b.cjs"),R=require("lodash");require("./MODIFIERS-WFzDQfiT.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("./utils-It2K33fU.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("jotai");require("flat-to-nested");require("redux-undo");require("@chaibuilder/runtime");require("@react-hookz/web");require("react-i18next");function P(r){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const i in r)if(i!=="default"){const a=Object.getOwnPropertyDescriptor(r,i);Object.defineProperty(t,i,a.get?a:{enumerable:!0,get:()=>r[i]})}}return t.default=r,Object.freeze(t)}const v=P(C),p=[{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"}],k=()=>{const r=c.useBuilderProp("onSaveBrandingOptions",async()=>{}),[t,i]=c.useBrandingOptions(),a=v.useRef(t);v.useEffect(()=>()=>{R.isEqual(t,a.current)||r(a.current)},[]);const y=({formData:l},n)=>{n&&(i(l),a.current=l)},{bodyFont:f,headingFont:g,primaryColor:q,bodyTextDarkColor:b,bodyTextLightColor:m,bodyBgDarkColor:x,secondaryColor:h,bodyBgLightColor:S,roundedCorners:O}=t,s={headingFont:e.f({title:"Heading font",default:g,options:p}),bodyFont:e.f({title:"Body font",default:f,options:p}),roundedCorners:e.c({title:"Rounded Corner",default:parseInt(O||5,10)}),primaryColor:e.y({title:"Primary",default:q}),secondaryColor:e.y({title:"Secondary",default:h}),bodyBgLightColor:e.y({title:"Body Background (Light)",default:S}),bodyBgDarkColor:e.y({title:"Body Background (Dark)",default:x}),bodyTextLightColor:e.y({title:"Body Text (Light)",default:b}),bodyTextDarkColor:e.y({title:"Body Text (Dark)",default:m})},u={type:"object",properties:{}},d={};return Object.keys(s).forEach(l=>{const n=s[l];return u.properties||(u.properties={}),u.properties[l]=n.schema,d[l]=n.uiSchema,!0}),o.jsxRuntimeExports.jsxs("div",{className:"flex h-full select-none flex-col",children:[o.jsxRuntimeExports.jsx("div",{className:"rounded-md bg-background/30 p-1",children:o.jsxRuntimeExports.jsx("h1",{className:"px-1 font-semibold",children:"Branding Options"})}),o.jsxRuntimeExports.jsx("div",{className:"-mx-2",children:o.jsxRuntimeExports.jsx(j,{idSeparator:".",autoComplete:"off",omitExtraData:!0,liveOmit:!0,liveValidate:!0,uiSchema:d,schema:u,formData:t,validator:B,onChange:y})})]})};exports.default=k;
@@ -1,15 +1,16 @@
1
- import { j as i } from "./jsx-runtime-qAwJ85SY.js";
1
+ import { j as i } from "./jsx-runtime-NV737rRe.js";
2
2
  import * as s from "react";
3
3
  import O from "@rjsf/validator-ajv8";
4
4
  import k from "@rjsf/core";
5
- import { i as D, x as N } from "./index-PrUoEet_.js";
6
- import { f as p, c as P, y as e } from "./index-SSmZipiF.js";
5
+ import { i as D, x as N } from "./index-G55KtqnU.js";
6
+ import { f as p, c as P, y as e } from "./controls-G0puEH71.js";
7
7
  import { isEqual as R } from "lodash";
8
- import "./Class-nQk08vqd.js";
9
- import "clsx";
10
- import "tailwind-merge";
8
+ import "./MODIFIERS-MLfpKQY1.js";
11
9
  import "@radix-ui/react-toggle";
12
10
  import "class-variance-authority";
11
+ import "./utils-PPBbw5bk.js";
12
+ import "clsx";
13
+ import "tailwind-merge";
13
14
  import "@radix-ui/react-switch";
14
15
  import "@radix-ui/react-slot";
15
16
  import "@radix-ui/react-accordion";
@@ -38,15 +39,7 @@ import "redux-undo";
38
39
  import "@chaibuilder/runtime";
39
40
  import "@react-hookz/web";
40
41
  import "react-i18next";
41
- import "./lib.js";
42
- import "himalaya";
43
- import "@mhsdesign/jit-browser-tailwindcss";
44
- import "@bobthered/tailwindcss-palette-generator";
45
- import "@tailwindcss/forms";
46
- import "@tailwindcss/typography";
47
- import "@tailwindcss/aspect-ratio";
48
- import "@tailwindcss/line-clamp";
49
- const m = [
42
+ const d = [
50
43
  { title: "Roboto", value: "Roboto" },
51
44
  { title: "Open Sans", value: "Open Sans" },
52
45
  { title: "Montserrat", value: "Montserrat" },
@@ -96,11 +89,11 @@ const m = [
96
89
  { title: "Lustria", value: "Lustria" },
97
90
  { title: "Ovo", value: "Ovo" },
98
91
  { title: "Suranna", value: "Suranna" }
99
- ], Bt = () => {
100
- const d = D("onSaveBrandingOptions", async () => {
92
+ ], gt = () => {
93
+ const m = D("onSaveBrandingOptions", async () => {
101
94
  }), [o, v] = N(), r = s.useRef(o);
102
95
  s.useEffect(() => () => {
103
- R(o, r.current) || d(r.current);
96
+ R(o, r.current) || m(r.current);
104
97
  }, []);
105
98
  const c = ({ formData: t }, l) => {
106
99
  l && (v(t), r.current = t);
@@ -118,12 +111,12 @@ const m = [
118
111
  headingFont: p({
119
112
  title: "Heading font",
120
113
  default: g,
121
- options: m
114
+ options: d
122
115
  }),
123
116
  bodyFont: p({
124
117
  title: "Body font",
125
118
  default: f,
126
- options: m
119
+ options: d
127
120
  }),
128
121
  roundedCorners: P({
129
122
  title: "Rounded Corner",
@@ -175,5 +168,5 @@ const m = [
175
168
  ] });
176
169
  };
177
170
  export {
178
- Bt as default
171
+ gt as default
179
172
  };
@@ -1,16 +1,16 @@
1
1
  var at = Object.defineProperty;
2
2
  var lt = (n, t, r) => t in n ? at(n, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : n[t] = r;
3
3
  var q = (n, t, r) => (lt(n, typeof t != "symbol" ? t + "" : t, r), r);
4
- import { j as e } from "./jsx-runtime-qAwJ85SY.js";
4
+ import { j as e } from "./jsx-runtime-NV737rRe.js";
5
5
  import z, { createElement as ct, useCallback as V, useState as F, useEffect as _, Component as _e, Children as dt, Suspense as Me, useRef as je, useMemo as ut, lazy as pt } from "react";
6
6
  import { map as Q, includes as we, toUpper as oe, round as ft, isEmpty as U, first as ee, get as A, isString as he, memoize as ht, each as mt, find as yt, filter as Ne, isNull as gt } from "lodash";
7
7
  import { ResetIcon as ke, MobileIcon as Ce, LaptopIcon as vt, DesktopIcon as xt, DotsVerticalIcon as bt, EraserIcon as jt, ZoomInIcon as wt, DragHandleDots2Icon as kt, ArrowUpIcon as Ct, CopyIcon as Tt, TrashIcon as Et } from "@radix-ui/react-icons";
8
- import { p as me, B as te, W as Le, aM as St, aN as Ot, aO as Dt, aP as It, aQ as At, R as ye, ai as Bt, aR as Pt, aS as Rt, aT as _t, aU as Mt, aV as Nt, aW as Lt, w as Wt, j as H, aj as Y, D as $t, E as Ft, F as Ut, G as qt, H as zt, I as Ht, J as Yt, K as Kt, at as Vt, L as Xt, U as We, aL as G, m as $e, n as Jt, k as Zt, o as Gt, h as Fe, l as Ue, ag as Qt, aX as en, aY as tn, aZ as nn, a_ as rn, x as sn, _ as ge, ae as qe, a$ as on, a6 as an, b0 as ln, i as cn, S as ze, aA as dn } from "./index-PrUoEet_.js";
8
+ import { p as me, B as te, W as Le, aM as St, aN as Ot, aO as Dt, aP as It, aQ as At, R as ye, ai as Bt, aR as Pt, aS as Rt, aT as _t, aU as Mt, aV as Nt, aW as Lt, w as Wt, j as H, aj as Y, D as $t, E as Ft, F as Ut, G as qt, H as zt, I as Ht, J as Yt, K as Kt, at as Vt, L as Xt, U as We, aL as G, m as $e, n as Jt, k as Zt, o as Gt, h as Fe, l as Ue, ag as Qt, aX as en, aY as tn, aZ as nn, a_ as rn, x as sn, _ as ge, ae as qe, a$ as on, a6 as an, b0 as ln, i as cn, S as ze, aA as dn } from "./index-G55KtqnU.js";
9
9
  import { useTranslation as He } from "react-i18next";
10
10
  import { useAtom as J } from "jotai";
11
11
  import Te from "react-dom";
12
- import { g as un, S as Ee, a as Ye } from "./Class-nQk08vqd.js";
13
- import { r as Ke, u as pn, B as fn, E as hn } from "./index-4DQm5fFW.js";
12
+ import { g as un, S as Ee, a as Ye } from "./MODIFIERS-MLfpKQY1.js";
13
+ import { r as Ke, u as pn, B as fn, E as hn } from "./index-mLIwGF5W.js";
14
14
  import { flip as mn } from "@floating-ui/dom";
15
15
  import { useFloating as yn, shift as gn } from "@floating-ui/react-dom";
16
16
  import { useDrag as vn } from "react-dnd";
@@ -21,6 +21,8 @@ import { twMerge as wn } from "tailwind-merge";
21
21
  import { getBlockComponent as kn } from "@chaibuilder/runtime";
22
22
  import "@radix-ui/react-toggle";
23
23
  import "class-variance-authority";
24
+ import "./utils-PPBbw5bk.js";
25
+ import "clsx";
24
26
  import "@radix-ui/react-switch";
25
27
  import "@radix-ui/react-slot";
26
28
  import "@radix-ui/react-accordion";
@@ -43,19 +45,18 @@ import "react-icons-picker";
43
45
  import "react-quill";
44
46
  import "flat-to-nested";
45
47
  import "redux-undo";
46
- import "clsx";
47
48
  import "i18next";
48
- import "./index-SSmZipiF.js";
49
+ import "react-textarea-autosize";
50
+ import "flagged";
51
+ import "@minoru/react-dnd-treeview";
49
52
  import "./lib.js";
50
53
  import "himalaya";
54
+ import "./functions-hmbWDcnW.js";
51
55
  import "@mhsdesign/jit-browser-tailwindcss";
52
56
  import "@tailwindcss/forms";
53
57
  import "@tailwindcss/typography";
54
58
  import "@tailwindcss/aspect-ratio";
55
59
  import "@tailwindcss/line-clamp";
56
- import "react-textarea-autosize";
57
- import "flagged";
58
- import "@minoru/react-dnd-treeview";
59
60
  import "react-hotkeys-hook";
60
61
  import "sonner";
61
62
  import "lucide-react";
@@ -795,7 +796,7 @@ function _n() {
795
796
  return o.PropTypes = o, o;
796
797
  }, ue;
797
798
  }
798
- var as = ne.exports;
799
+ var ls = ne.exports;
799
800
  if (process.env.NODE_ENV !== "production") {
800
801
  var Mn = Ke, Nn = !0;
801
802
  ne.exports = Rn()(Mn.isElement, Nn);
@@ -806,7 +807,7 @@ const P = /* @__PURE__ */ un(Ln);
806
807
  let Xe, Je;
807
808
  typeof document < "u" && (Xe = document);
808
809
  typeof window < "u" && (Je = window);
809
- const Ze = z.createContext({ document: Xe, window: Je }), xe = () => z.useContext(Ze), { Provider: Wn, Consumer: ls } = Ze;
810
+ const Ze = z.createContext({ document: Xe, window: Je }), xe = () => z.useContext(Ze), { Provider: Wn, Consumer: cs } = Ze;
810
811
  class Ge extends _e {
811
812
  componentDidMount() {
812
813
  this.props.contentDidMount();
@@ -1267,7 +1268,7 @@ const Gn = () => {
1267
1268
  )
1268
1269
  }
1269
1270
  );
1270
- }, tr = pt(() => import("./AddBlocks-U6bHEqmk.js")), cs = () => {
1271
+ }, tr = pt(() => import("./AddBlocks-0-e393Fn.js")), ds = () => {
1271
1272
  const [n, t] = J(dn);
1272
1273
  return /* @__PURE__ */ e.jsxs("div", { className: "flex h-full w-full flex-col", children: [
1273
1274
  /* @__PURE__ */ e.jsx(Dn, {}),
@@ -1292,5 +1293,5 @@ const Gn = () => {
1292
1293
  ] });
1293
1294
  };
1294
1295
  export {
1295
- cs as default
1296
+ ds as default
1296
1297
  };
@@ -1,4 +1,4 @@
1
- "use strict";var Ae=Object.defineProperty;var Pe=(n,t,s)=>t in n?Ae(n,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[t]=s;var U=(n,t,s)=>(Pe(n,typeof t!="symbol"?t+"":t,s),s);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-WKRPbKtm.cjs"),h=require("react"),x=require("lodash"),M=require("@radix-ui/react-icons"),i=require("./index-UXNvQkHk.cjs"),je=require("react-i18next"),Y=require("jotai"),ue=require("react-dom"),K=require("./Class-RZuPYbUS.cjs"),V=require("./index-tTN-yd28.cjs"),Me=require("@floating-ui/dom"),de=require("@floating-ui/react-dom"),_e=require("react-dnd"),Ne=require("@react-hookz/web"),Le=require("@bobthered/tailwindcss-palette-generator"),We=require("react-wrap-balancer"),$e=require("tailwind-merge"),Fe=require("@chaibuilder/runtime");require("@radix-ui/react-toggle");require("class-variance-authority");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-quill");require("flat-to-nested");require("redux-undo");require("clsx");require("i18next");require("./index-plLNWLKk.cjs");require("./lib.cjs");require("himalaya");require("@mhsdesign/jit-browser-tailwindcss");require("@tailwindcss/forms");require("@tailwindcss/typography");require("@tailwindcss/aspect-ratio");require("@tailwindcss/line-clamp");require("react-textarea-autosize");require("flagged");require("@minoru/react-dnd-treeview");require("react-hotkeys-hook");require("sonner");require("lucide-react");const Ue=()=>{const{undoCount:n,redoCount:t,undo:s,redo:c}=i.useCanvasHistory();return e.jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[e.jsxRuntimeExports.jsx(i.Button,{disabled:!n,size:"sm",onClick:s,className:"rounded-full",variant:"ghost",children:e.jsxRuntimeExports.jsx(M.ResetIcon,{})}),e.jsxRuntimeExports.jsx(i.Button,{disabled:!t,onClick:c,size:"sm",className:"rounded-full",variant:"ghost",children:e.jsxRuntimeExports.jsx(M.ResetIcon,{className:"rotate-180 scale-y-[-1] transform"})})]})};function He(){const[n,t]=i.useDarkMode(),{t:s}=je.useTranslation();return e.jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[e.jsxRuntimeExports.jsx(i.Label,{htmlFor:"dark-mode-switch",children:s("dark_mode")}),e.jsxRuntimeExports.jsxs(i.Switch,{id:"dark-mode-switch",checked:n,onCheckedChange:()=>{t(!n)},className:`${n?"bg-violet-600":"bg-violet-300"}
1
+ "use strict";var Ae=Object.defineProperty;var Pe=(n,t,s)=>t in n?Ae(n,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[t]=s;var U=(n,t,s)=>(Pe(n,typeof t!="symbol"?t+"":t,s),s);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-WUGKV8jN.cjs"),h=require("react"),x=require("lodash"),M=require("@radix-ui/react-icons"),i=require("./index-T5MFAHA0.cjs"),je=require("react-i18next"),Y=require("jotai"),ue=require("react-dom"),K=require("./MODIFIERS-WFzDQfiT.cjs"),V=require("./index-pCHSFoQO.cjs"),Me=require("@floating-ui/dom"),de=require("@floating-ui/react-dom"),_e=require("react-dnd"),Ne=require("@react-hookz/web"),Le=require("@bobthered/tailwindcss-palette-generator"),We=require("react-wrap-balancer"),Fe=require("tailwind-merge"),$e=require("@chaibuilder/runtime");require("@radix-ui/react-toggle");require("class-variance-authority");require("./utils-It2K33fU.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("react-quill");require("flat-to-nested");require("redux-undo");require("i18next");require("react-textarea-autosize");require("flagged");require("@minoru/react-dnd-treeview");require("./lib.cjs");require("himalaya");require("./functions-eu6BbvqO.cjs");require("@mhsdesign/jit-browser-tailwindcss");require("@tailwindcss/forms");require("@tailwindcss/typography");require("@tailwindcss/aspect-ratio");require("@tailwindcss/line-clamp");require("react-hotkeys-hook");require("sonner");require("lucide-react");const Ue=()=>{const{undoCount:n,redoCount:t,undo:s,redo:c}=i.useCanvasHistory();return e.jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[e.jsxRuntimeExports.jsx(i.Button,{disabled:!n,size:"sm",onClick:s,className:"rounded-full",variant:"ghost",children:e.jsxRuntimeExports.jsx(M.ResetIcon,{})}),e.jsxRuntimeExports.jsx(i.Button,{disabled:!t,onClick:c,size:"sm",className:"rounded-full",variant:"ghost",children:e.jsxRuntimeExports.jsx(M.ResetIcon,{className:"rotate-180 scale-y-[-1] transform"})})]})};function He(){const[n,t]=i.useDarkMode(),{t:s}=je.useTranslation();return e.jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[e.jsxRuntimeExports.jsx(i.Label,{htmlFor:"dark-mode-switch",children:s("dark_mode")}),e.jsxRuntimeExports.jsxs(i.Switch,{id:"dark-mode-switch",checked:n,onCheckedChange:()=>{t(!n)},className:`${n?"bg-violet-600":"bg-violet-300"}
2
2
  relative ml-2 inline-flex h-[20px] w-[40px] shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-opacity-75`,children:[e.jsxRuntimeExports.jsx("span",{className:"sr-only",children:"Use setting"}),e.jsxRuntimeExports.jsx("span",{"aria-hidden":"true",className:`${n?"translate-x-5":"translate-x-0"}
3
3
  pointer-events-none -mt-px inline-block h-[18px] w-[20px] transform rounded-full bg-white shadow-lg ring-0 transition duration-200 ease-in-out`})]})]})}const pe=({landscape:n=!1})=>e.jsxRuntimeExports.jsxs("svg",{className:n?"rotate-90":"",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 13 13",xmlSpace:"preserve",width:13,height:13,children:[e.jsxRuntimeExports.jsx("g",{strokeWidth:0}),e.jsxRuntimeExports.jsx("g",{strokeLinecap:"round",strokeLinejoin:"round"}),e.jsxRuntimeExports.jsx("path",{d:"M10.65 0H2.349a.851.851 0 0 0-.851.852v11.299c0 .47.382.852.851.852h8.3a.851.851 0 0 0 .851-.852V.852A.851.851 0 0 0 10.65 0zM6.599 12.466a.367.367 0 1 1 0-.735.367.367 0 0 1 0 .735zm3.9-1.267H2.5V1h8.001v10.199z",style:{fill:"#000"}})]}),fe=[{title:"Mobile (XS)",content:"Styles set here are applied to all screen unless edited at higher breakpoint",breakpoint:"xs",icon:e.jsxRuntimeExports.jsx(M.MobileIcon,{}),width:400},{title:"Mobile landscape (SM)",content:"Styles set here are applied at 640px and up unless edited at higher breakpoint",breakpoint:"sm",icon:e.jsxRuntimeExports.jsx(M.MobileIcon,{className:"rotate-90"}),width:640},{title:"Tablet (MD)",content:"Styles set here are applied at 768px and up",breakpoint:"md",icon:e.jsxRuntimeExports.jsx(pe,{}),width:800},{title:"Tablet Landscape (LG)",content:"Styles set here are applied at 1024px and up unless edited at higher breakpoint",breakpoint:"lg",icon:e.jsxRuntimeExports.jsx(pe,{landscape:!0}),width:1024},{title:"Desktop (XL)",content:"Styles set here are applied at 1280px and up unless edited at higher breakpoint",breakpoint:"xl",icon:e.jsxRuntimeExports.jsx(M.LaptopIcon,{}),width:1420},{title:"Large Desktop (2XL)",content:"Styles set here are applied at 1536px and up",breakpoint:"2xl",icon:e.jsxRuntimeExports.jsx(M.DesktopIcon,{}),width:1920}],ze=({title:n,content:t,currentBreakpoint:s,breakpoint:c,width:u,icon:o,onClick:a})=>e.jsxRuntimeExports.jsxs(i.HoverCard,{children:[e.jsxRuntimeExports.jsx(i.HoverCardTrigger,{asChild:!0,children:e.jsxRuntimeExports.jsx(i.Button,{onClick:()=>a(u),size:"sm",variant:c===s?"secondary":"ghost",children:o})}),e.jsxRuntimeExports.jsx(i.HoverCardContent,{className:"w-52 border-border",children:e.jsxRuntimeExports.jsx("div",{className:"flex justify-between space-x-4",children:e.jsxRuntimeExports.jsxs("div",{className:"space-y-1",children:[e.jsxRuntimeExports.jsx("h4",{className:"text-sm font-semibold",children:n}),e.jsxRuntimeExports.jsx("p",{className:"text-xs",children:t})]})})})]}),Ye=()=>{const[,n,t]=i.useCanvasWidth(),[s,c]=i.useSelectedBreakpoints(),u=o=>{s.includes(o)?s.length>2&&c(s.filter(a=>a!==o)):c(a=>[...a,o])};return e.jsxRuntimeExports.jsxs("div",{className:"flex items-center rounded-md",children:[x.map(fe.filter(o=>x.includes(s,x.toUpper(o.breakpoint))),o=>h.createElement(ze,{...o,onClick:t,key:o.breakpoint,currentBreakpoint:n})),e.jsxRuntimeExports.jsxs(i.DropdownMenu,{children:[e.jsxRuntimeExports.jsx(i.DropdownMenuTrigger,{asChild:!0,children:e.jsxRuntimeExports.jsx("span",{className:"cursor-pointer px-2.5 hover:opacity-80",children:e.jsxRuntimeExports.jsx(M.DotsVerticalIcon,{className:"scale-90 transform"})})}),e.jsxRuntimeExports.jsxs(i.DropdownMenuContent,{className:"w-56 border-border text-xs",children:[e.jsxRuntimeExports.jsx(i.DropdownMenuLabel,{children:"Breakpoints"}),e.jsxRuntimeExports.jsx(i.DropdownMenuSeparator,{}),x.map(fe,o=>e.jsxRuntimeExports.jsx(i.DropdownMenuCheckboxItem,{disabled:o.breakpoint==="xs",onCheckedChange:()=>u(x.toUpper(o.breakpoint)),checked:x.includes(s,x.toUpper(o.breakpoint)),children:o.title},o.breakpoint))]})]})]})},Ke=()=>{const[n]=i.useSetAllBlocks(),{createSnapshot:t}=i.useCanvasHistory(),[,s]=i.useSelectedBlockIds(),[,c]=i.useSelectedStylingBlocks(),u=h.useCallback(()=>{n([]),s([]),c([]),t()},[n,t]);return e.jsxRuntimeExports.jsx("div",{className:"flex items-center",children:e.jsxRuntimeExports.jsxs(i.AlertDialog,{children:[e.jsxRuntimeExports.jsx(i.AlertDialogTrigger,{asChild:!0,children:e.jsxRuntimeExports.jsxs(i.Button,{size:"sm",variant:"ghost",className:"flex items-center gap-x-1",children:[e.jsxRuntimeExports.jsx(M.EraserIcon,{})," Clear"]})}),e.jsxRuntimeExports.jsxs(i.AlertDialogContent,{className:"border-border",children:[e.jsxRuntimeExports.jsxs(i.AlertDialogHeader,{children:[e.jsxRuntimeExports.jsx(i.AlertDialogTitle,{children:"Clear whole canvas?"}),e.jsxRuntimeExports.jsx(i.AlertDialogDescription,{children:"Are you sure you want to clear the whole canvas?"})]}),e.jsxRuntimeExports.jsxs(i.AlertDialogFooter,{children:[e.jsxRuntimeExports.jsx(i.AlertDialogCancel,{children:"Cancel"}),e.jsxRuntimeExports.jsx(i.AlertDialogAction,{onClick:u,children:"Yes"})]})]})]})})},Ve=()=>{const n=i.useFeatureSupport("darkMode",!1),[t]=i.useCanvasZoom();return e.jsxRuntimeExports.jsxs("div",{className:"flex h-10 items-center justify-between border-b bg-background/70 px-2",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex h-full space-x-2",children:[n?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(He,{}),e.jsxRuntimeExports.jsx(i.Separator,{orientation:"vertical"})]}):null,e.jsxRuntimeExports.jsx(Ye,{}),e.jsxRuntimeExports.jsx(i.Separator,{orientation:"vertical"}),e.jsxRuntimeExports.jsxs("div",{className:"flex w-12 items-center justify-center gap-x-1 space-x-0 font-medium",children:[e.jsxRuntimeExports.jsx(M.ZoomInIcon,{className:"h-3.5 w-3.5 flex-shrink-0"})," ",e.jsxRuntimeExports.jsxs("div",{className:"text-xs leading-3",children:[x.round(t,0),"%"]})]}),e.jsxRuntimeExports.jsx(i.Separator,{orientation:"vertical"}),e.jsxRuntimeExports.jsx(Ue,{})]}),e.jsxRuntimeExports.jsxs("div",{className:"flex h-full items-center space-x-2",children:[e.jsxRuntimeExports.jsx(i.Separator,{orientation:"vertical"}),e.jsxRuntimeExports.jsx(Ke,{})]})]})},Xe=`<!doctype html>
4
4
  <html class="scroll-smooth h-full overflow-y-auto">
@@ -38,9 +38,9 @@
38
38
  object-assign
39
39
  (c) Sindre Sorhus
40
40
  @license MIT
41
- */var Q,xe;function Ge(){if(xe)return Q;xe=1;var n=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;function c(o){if(o==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(o)}function u(){try{if(!Object.assign)return!1;var o=new String("abc");if(o[5]="de",Object.getOwnPropertyNames(o)[0]==="5")return!1;for(var a={},f=0;f<10;f++)a["_"+String.fromCharCode(f)]=f;var j=Object.getOwnPropertyNames(a).map(function(p){return a[p]});if(j.join("")!=="0123456789")return!1;var R={};return"abcdefghijklmnopqrst".split("").forEach(function(p){R[p]=p}),Object.keys(Object.assign({},R)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return Q=u()?Object.assign:function(o,a){for(var f,j=c(o),R,p=1;p<arguments.length;p++){f=Object(arguments[p]);for(var d in f)t.call(f,d)&&(j[d]=f[d]);if(n){R=n(f);for(var g=0;g<R.length;g++)s.call(f,R[g])&&(j[R[g]]=f[R[g]])}}return j},Q}var ee,he;function ae(){if(he)return ee;he=1;var n="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return ee=n,ee}var te,me;function Ee(){return me||(me=1,te=Function.call.bind(Object.prototype.hasOwnProperty)),te}var ne,ye;function Je(){if(ye)return ne;ye=1;var n=function(){};if(process.env.NODE_ENV!=="production"){var t=ae(),s={},c=Ee();n=function(o){var a="Warning: "+o;typeof console<"u"&&console.error(a);try{throw new Error(a)}catch{}}}function u(o,a,f,j,R){if(process.env.NODE_ENV!=="production"){for(var p in o)if(c(o,p)){var d;try{if(typeof o[p]!="function"){var g=Error((j||"React class")+": "+f+" type `"+p+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof o[p]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw g.name="Invariant Violation",g}d=o[p](a,p,j,f,null,t)}catch(O){d=O}if(d&&!(d instanceof Error)&&n((j||"React class")+": type specification of "+f+" `"+p+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof d+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),d instanceof Error&&!(d.message in s)){s[d.message]=!0;var S=R?R():"";n("Failed "+f+" type: "+d.message+(S??""))}}}}return u.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(s={})},ne=u,ne}var se,ge;function Qe(){if(ge)return se;ge=1;var n=V.reactIsExports,t=Ge(),s=ae(),c=Ee(),u=Je(),o=function(){};process.env.NODE_ENV!=="production"&&(o=function(f){var j="Warning: "+f;typeof console<"u"&&console.error(j);try{throw new Error(j)}catch{}});function a(){return null}return se=function(f,j){var R=typeof Symbol=="function"&&Symbol.iterator,p="@@iterator";function d(r){var l=r&&(R&&r[R]||r[p]);if(typeof l=="function")return l}var g="<<anonymous>>",S={array:m("array"),bigint:m("bigint"),bool:m("boolean"),func:m("function"),number:m("number"),object:m("object"),string:m("string"),symbol:m("symbol"),any:$(),arrayOf:N,element:G(),elementType:J(),instanceOf:q,node:Te(),objectOf:W,oneOf:L,oneOfType:Ce,shape:Ie,exact:Be};function O(r,l){return r===l?r!==0||1/r===1/l:r!==r&&l!==l}function w(r,l){this.message=r,this.data=l&&typeof l=="object"?l:{},this.stack=""}w.prototype=Error.prototype;function B(r){if(process.env.NODE_ENV!=="production")var l={},k=0;function E(C,v,b,T,D,I,_){if(T=T||g,I=I||b,_!==s){if(j){var A=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw A.name="Invariant Violation",A}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var H=T+":"+b;!l[H]&&k<3&&(o("You are manually calling a React.PropTypes validation function for the `"+I+"` prop on `"+T+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),l[H]=!0,k++)}}return v[b]==null?C?v[b]===null?new w("The "+D+" `"+I+"` is marked as required "+("in `"+T+"`, but its value is `null`.")):new w("The "+D+" `"+I+"` is marked as required in "+("`"+T+"`, but its value is `undefined`.")):null:r(v,b,T,D,I)}var y=E.bind(null,!1);return y.isRequired=E.bind(null,!0),y}function m(r){function l(k,E,y,C,v,b){var T=k[E],D=F(T);if(D!==r){var I=z(T);return new w("Invalid "+C+" `"+v+"` of type "+("`"+I+"` supplied to `"+y+"`, expected ")+("`"+r+"`."),{expectedType:r})}return null}return B(l)}function $(){return B(a)}function N(r){function l(k,E,y,C,v){if(typeof r!="function")return new w("Property `"+v+"` of component `"+y+"` has invalid PropType notation inside arrayOf.");var b=k[E];if(!Array.isArray(b)){var T=F(b);return new w("Invalid "+C+" `"+v+"` of type "+("`"+T+"` supplied to `"+y+"`, expected an array."))}for(var D=0;D<b.length;D++){var I=r(b,D,y,C,v+"["+D+"]",s);if(I instanceof Error)return I}return null}return B(l)}function G(){function r(l,k,E,y,C){var v=l[k];if(!f(v)){var b=F(v);return new w("Invalid "+y+" `"+C+"` of type "+("`"+b+"` supplied to `"+E+"`, expected a single ReactElement."))}return null}return B(r)}function J(){function r(l,k,E,y,C){var v=l[k];if(!n.isValidElementType(v)){var b=F(v);return new w("Invalid "+y+" `"+C+"` of type "+("`"+b+"` supplied to `"+E+"`, expected a single ReactElement type."))}return null}return B(r)}function q(r){function l(k,E,y,C,v){if(!(k[E]instanceof r)){var b=r.name||g,T=qe(k[E]);return new w("Invalid "+C+" `"+v+"` of type "+("`"+T+"` supplied to `"+y+"`, expected ")+("instance of `"+b+"`."))}return null}return B(l)}function L(r){if(!Array.isArray(r))return process.env.NODE_ENV!=="production"&&(arguments.length>1?o("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):o("Invalid argument supplied to oneOf, expected an array.")),a;function l(k,E,y,C,v){for(var b=k[E],T=0;T<r.length;T++)if(O(b,r[T]))return null;var D=JSON.stringify(r,function(_,A){var H=z(A);return H==="symbol"?String(A):A});return new w("Invalid "+C+" `"+v+"` of value `"+String(b)+"` "+("supplied to `"+y+"`, expected one of "+D+"."))}return B(l)}function W(r){function l(k,E,y,C,v){if(typeof r!="function")return new w("Property `"+v+"` of component `"+y+"` has invalid PropType notation inside objectOf.");var b=k[E],T=F(b);if(T!=="object")return new w("Invalid "+C+" `"+v+"` of type "+("`"+T+"` supplied to `"+y+"`, expected an object."));for(var D in b)if(c(b,D)){var I=r(b,D,y,C,v+"."+D,s);if(I instanceof Error)return I}return null}return B(l)}function Ce(r){if(!Array.isArray(r))return process.env.NODE_ENV!=="production"&&o("Invalid argument supplied to oneOfType, expected an instance of array."),a;for(var l=0;l<r.length;l++){var k=r[l];if(typeof k!="function")return o("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+Oe(k)+" at index "+l+"."),a}function E(y,C,v,b,T){for(var D=[],I=0;I<r.length;I++){var _=r[I],A=_(y,C,v,b,T,s);if(A==null)return null;A.data&&c(A.data,"expectedType")&&D.push(A.data.expectedType)}var H=D.length>0?", expected one of type ["+D.join(", ")+"]":"";return new w("Invalid "+b+" `"+T+"` supplied to "+("`"+v+"`"+H+"."))}return B(E)}function Te(){function r(l,k,E,y,C){return X(l[k])?null:new w("Invalid "+y+" `"+C+"` supplied to "+("`"+E+"`, expected a ReactNode."))}return B(r)}function le(r,l,k,E,y){return new w((r||"React class")+": "+l+" type `"+k+"."+E+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+y+"`.")}function Ie(r){function l(k,E,y,C,v){var b=k[E],T=F(b);if(T!=="object")return new w("Invalid "+C+" `"+v+"` of type `"+T+"` "+("supplied to `"+y+"`, expected `object`."));for(var D in r){var I=r[D];if(typeof I!="function")return le(y,C,v,D,z(I));var _=I(b,D,y,C,v+"."+D,s);if(_)return _}return null}return B(l)}function Be(r){function l(k,E,y,C,v){var b=k[E],T=F(b);if(T!=="object")return new w("Invalid "+C+" `"+v+"` of type `"+T+"` "+("supplied to `"+y+"`, expected `object`."));var D=t({},k[E],r);for(var I in D){var _=r[I];if(c(r,I)&&typeof _!="function")return le(y,C,v,I,z(_));if(!_)return new w("Invalid "+C+" `"+v+"` key `"+I+"` supplied to `"+y+"`.\nBad object: "+JSON.stringify(k[E],null," ")+`
42
- Valid keys: `+JSON.stringify(Object.keys(r),null," "));var A=_(b,I,y,C,v+"."+I,s);if(A)return A}return null}return B(l)}function X(r){switch(typeof r){case"number":case"string":case"undefined":return!0;case"boolean":return!r;case"object":if(Array.isArray(r))return r.every(X);if(r===null||f(r))return!0;var l=d(r);if(l){var k=l.call(r),E;if(l!==r.entries){for(;!(E=k.next()).done;)if(!X(E.value))return!1}else for(;!(E=k.next()).done;){var y=E.value;if(y&&!X(y[1]))return!1}}else return!1;return!0;default:return!1}}function De(r,l){return r==="symbol"?!0:l?l["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&l instanceof Symbol:!1}function F(r){var l=typeof r;return Array.isArray(r)?"array":r instanceof RegExp?"object":De(l,r)?"symbol":l}function z(r){if(typeof r>"u"||r===null)return""+r;var l=F(r);if(l==="object"){if(r instanceof Date)return"date";if(r instanceof RegExp)return"regexp"}return l}function Oe(r){var l=z(r);switch(l){case"array":case"object":return"an "+l;case"boolean":case"date":case"regexp":return"a "+l;default:return l}}function qe(r){return!r.constructor||!r.constructor.name?g:r.constructor.name}return S.checkPropTypes=u,S.resetWarningCache=u.resetWarningCache,S.PropTypes=S,S},se}var re,ve;function et(){if(ve)return re;ve=1;var n=ae();function t(){}function s(){}return s.resetWarningCache=t,re=function(){function c(a,f,j,R,p,d){if(d!==n){var g=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw g.name="Invariant Violation",g}}c.isRequired=c;function u(){return c}var o={array:c,bigint:c,bool:c,func:c,number:c,object:c,string:c,symbol:c,any:c,arrayOf:u,element:c,elementType:c,instanceOf:u,node:c,objectOf:u,oneOf:u,oneOfType:u,shape:u,exact:u,checkPropTypes:s,resetWarningCache:t};return o.PropTypes=o,o},re}var Rt=Z.exports;if(process.env.NODE_ENV!=="production"){var tt=V.reactIsExports,nt=!0;Z.exports=Qe()(tt.isElement,nt)}else Z.exports=et()();var st=Z.exports;const P=K.getDefaultExportFromCjs(st);let be,Re;typeof document<"u"&&(be=document);typeof window<"u"&&(Re=window);const ke=h.createContext({document:be,window:Re}),ce=()=>h.useContext(ke),{Provider:rt,Consumer:kt}=ke;class we extends h.Component{componentDidMount(){this.props.contentDidMount()}componentDidUpdate(){this.props.contentDidUpdate()}render(){return h.Children.only(this.props.children)}}U(we,"propTypes",{children:P.element.isRequired,contentDidMount:P.func.isRequired,contentDidUpdate:P.func.isRequired});class ie extends h.Component{constructor(s,c){super(s,c);U(this,"setRef",s=>{this.nodeRef.current=s;const{forwardedRef:c}=this.props;typeof c=="function"?c(s):c&&(c.current=s)});U(this,"handleLoad",()=>{clearInterval(this.loadCheck),this.state.iframeLoaded||this.setState({iframeLoaded:!0})});U(this,"loadCheck",()=>setInterval(()=>{this.handleLoad()},500));this._isMounted=!1,this.nodeRef=h.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 s=this.getDoc();return this.props.mountTarget?s.querySelector(this.props.mountTarget):s.body.children[0]}renderFrameContents(){if(!this._isMounted)return null;const s=this.getDoc();if(!s)return null;const c=this.props.contentDidMount,u=this.props.contentDidUpdate,o=s.defaultView||s.parentView,a=e.jsxRuntimeExports.jsx(we,{contentDidMount:c,contentDidUpdate:u,children:e.jsxRuntimeExports.jsx(rt,{value:{document:s,window:o},children:e.jsxRuntimeExports.jsx("div",{className:"frame-content",children:this.props.children})})}),f=this.getMountTarget();return[ue.createPortal(this.props.head,this.getDoc().head),ue.createPortal(a,f)]}render(){const s={...this.props,srcDoc:this.props.initialContent,children:void 0};return delete s.head,delete s.initialContent,delete s.mountTarget,delete s.contentDidMount,delete s.contentDidUpdate,delete s.forwardedRef,e.jsxRuntimeExports.jsx("iframe",{...s,ref:this.setRef,onLoad:this.handleLoad,children:this.state.iframeLoaded&&this.renderFrameContents()})}}U(ie,"propTypes",{style:P.object,head:P.node,initialContent:P.string,mountTarget:P.string,contentDidMount:P.func,contentDidUpdate:P.func,children:P.oneOfType([P.element,P.arrayOf(P.element)])}),U(ie,"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 it=h.forwardRef((n,t)=>e.jsxRuntimeExports.jsx(ie,{...n,forwardedRef:t})),ot=({children:n})=>{const{document:t}=ce(),[s]=i.useSelectedBlockIds(),[c,u]=i.useSelectedStylingBlocks();return h.useEffect(()=>{setTimeout(()=>{if(!x.isEmpty(c))return;const o=Se(t,x.first(s));if(o){const a=o.getAttribute("data-style-prop");if(a){const f=o.getAttribute("data-style-id"),j=o.getAttribute("data-block-parent");u([{id:f,prop:a,blockId:j}])}}},100)},[t,s,u,c]),e.jsxRuntimeExports.jsx("div",{id:"canvas",className:"relative h-screen max-w-full outline-2",children:n})},Se=(n,t)=>n.querySelector(`[data-block-id="${t}"]`),at=()=>{const{window:n}=ce(),[t,s]=i.useSelectedBlockIds(),[,c]=i.useSelectedStylingBlocks(),{undo:u,redo:o}=i.useCanvasHistory(),a=i.useDuplicateBlocks(),[,f]=i.useCutBlockIds(),[,j]=i.useCopyBlockIds(),{pasteBlocks:R}=i.usePasteBlocks(),[,p]=i.usePreviewMode(),d=i.useRemoveBlocks(),{savePage:g}=i.useSavePage(),[S]=Y.useAtom(i.inlineEditingActiveAtom),[,O]=Y.useAtom(i.editLayerNameAtom),w=B=>{B.key==="Enter"&&(B.preventDefault(),t.length===1&&O(x.first(t)))};return h.useEffect(()=>{const B=m=>{if(m.key==="Escape"){s([]),c([]);return}if(w(m),!S&&(m.key==="Delete"||m.key==="Backspace")&&(m.preventDefault(),d(t)),m.ctrlKey||m.metaKey){if(["z","y","d","x","c","p","s","v"].includes(m.key)){if(S&&["x","z","v"].includes(m.key))return!0;m.preventDefault()}m.key==="s"&&(m.stopPropagation(),m.preventDefault(),g()),m.key==="z"&&u(),m.key==="y"&&o(),m.key==="d"&&a(t),m.key==="x"&&f(t),m.key==="c"&&j(t),m.key==="v"&&t.length>0&&R(t[0])}};return n.removeEventListener("keydown",B),n.addEventListener("keydown",B),()=>{n.removeEventListener("keydown",B)}},[t,s,u,d,p,o,a,f,j,R,S,g,n]),null},ct=({block:n,label:t})=>{const[,s]=_e.useDrag(()=>({type:"CANVAS_BLOCK",item:n}));return e.jsxRuntimeExports.jsxs("div",{className:"mr-10 flex cursor-grab items-center space-x-1 px-1",ref:s,onDragStart:()=>{console.log("drag start")},children:[e.jsxRuntimeExports.jsx(M.DragHandleDots2Icon,{}),t]})},lt=({selectedBlockElement:n,block:t})=>{const s=i.useRemoveBlocks(),c=i.useDuplicateBlocks(),[,u]=i.useSelectedBlockIds(),[,o]=i.useSelectedStylingBlocks(),{floatingStyles:a,refs:f,update:j}=de.useFloating({placement:"top-start",middleware:[de.shift(),Me.flip()],elements:{reference:n}});Ne.useResizeObserver(n,()=>j(),n!==null);const R=x.get(t,"_parent",null),p=x.isEmpty(x.get(t,"_name",""))?x.get(t,"_type",""):x.get(t,"_name","");return!n||!t?null:e.jsxRuntimeExports.jsxs("div",{role:"button",tabIndex:0,ref:f.setFloating,style:a,onClick:d=>{d.stopPropagation(),d.preventDefault()},onKeyDown:d=>d.stopPropagation(),className:"z-50 flex h-6 items-center bg-blue-500 py-2 text-xs text-white",children:[e.jsxRuntimeExports.jsx(ct,{label:p,block:t}),e.jsxRuntimeExports.jsxs("div",{className:"flex gap-2 px-1 ",children:[R&&e.jsxRuntimeExports.jsx(M.ArrowUpIcon,{className:"hover:scale-105 ",onClick:()=>{o([]),u([R])}}),i.canDuplicateBlock(x.get(t,"_type",""))?e.jsxRuntimeExports.jsx(M.CopyIcon,{className:"hover:scale-105 ",onClick:()=>c([t==null?void 0:t._id])}):null,i.canDeleteBlock(x.get(t,"_type",""))?e.jsxRuntimeExports.jsx(M.TrashIcon,{className:"hover:scale-105 ",onClick:()=>s([t==null?void 0:t._id])}):null]})]})},ut=({model:n})=>{const[t]=i.useBrandingOptions(),[s]=i.useSelectedBlockIds(),[c]=i.useDarkMode(),[u]=i.useHighlightBlockId(),[o]=i.useSelectedStylingBlocks(),{document:a,window:f}=ce(),[j]=h.useState(a==null?void 0:a.getElementById("highlighted-block")),[R]=h.useState(a==null?void 0:a.getElementById("selected-block")),[p]=h.useState(a==null?void 0:a.getElementById("selected-styling-block"));h.useEffect(()=>{c?a==null||a.documentElement.classList.add("dark"):a==null||a.documentElement.classList.remove("dark")},[c,a]);const d=x.get(t,"headingFont","DM Sans"),g=x.get(t,"bodyFont","DM Sans");return h.useEffect(()=>{const S=x.get(t,"primaryColor","#000"),O=x.get(t,"secondaryColor","#FFF"),w=Le.tailwindcssPaletteGenerator({colors:[S,O],names:["primary","secondary"]});w.primary.DEFAULT=S,w.secondary.DEFAULT=O;const B=x.get(t,"roundedCorners","0");!f||!f.tailwind||(f.tailwind.config={darkMode:"class",theme:{fontFamily:{heading:[d],body:[g]},extend:{borderRadius:{global:`${B||"0"}px`},colors:w}},plugins:[f.tailwind.plugin.withOptions(({prefix:m="ui"}={})=>({addVariant:$})=>{for(const N of["open","checked","selected","active","disabled"])$(`${m}-${N}`,[`&[data-headlessui-state~="${N}"]`,`:where([data-headlessui-state~="${N}"]) &`]),$(`${m}-not-${N}`,[`&[data-headlessui-state]:not([data-headlessui-state~="${N}"])`,`:where([data-headlessui-state]:not([data-headlessui-state~="${N}"])) &:not([data-headlessui-state])`])})]})},[t,f,d,g]),h.useEffect(()=>{R&&(R.textContent=`${x.map(s,S=>`[data-block-id="${S}"]`).join(",")}{
41
+ */var Q,xe;function Ge(){if(xe)return Q;xe=1;var n=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;function c(o){if(o==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(o)}function u(){try{if(!Object.assign)return!1;var o=new String("abc");if(o[5]="de",Object.getOwnPropertyNames(o)[0]==="5")return!1;for(var a={},f=0;f<10;f++)a["_"+String.fromCharCode(f)]=f;var j=Object.getOwnPropertyNames(a).map(function(p){return a[p]});if(j.join("")!=="0123456789")return!1;var R={};return"abcdefghijklmnopqrst".split("").forEach(function(p){R[p]=p}),Object.keys(Object.assign({},R)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return Q=u()?Object.assign:function(o,a){for(var f,j=c(o),R,p=1;p<arguments.length;p++){f=Object(arguments[p]);for(var d in f)t.call(f,d)&&(j[d]=f[d]);if(n){R=n(f);for(var g=0;g<R.length;g++)s.call(f,R[g])&&(j[R[g]]=f[R[g]])}}return j},Q}var ee,he;function ae(){if(he)return ee;he=1;var n="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return ee=n,ee}var te,me;function Ee(){return me||(me=1,te=Function.call.bind(Object.prototype.hasOwnProperty)),te}var ne,ye;function Je(){if(ye)return ne;ye=1;var n=function(){};if(process.env.NODE_ENV!=="production"){var t=ae(),s={},c=Ee();n=function(o){var a="Warning: "+o;typeof console<"u"&&console.error(a);try{throw new Error(a)}catch{}}}function u(o,a,f,j,R){if(process.env.NODE_ENV!=="production"){for(var p in o)if(c(o,p)){var d;try{if(typeof o[p]!="function"){var g=Error((j||"React class")+": "+f+" type `"+p+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof o[p]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw g.name="Invariant Violation",g}d=o[p](a,p,j,f,null,t)}catch(O){d=O}if(d&&!(d instanceof Error)&&n((j||"React class")+": type specification of "+f+" `"+p+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof d+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),d instanceof Error&&!(d.message in s)){s[d.message]=!0;var S=R?R():"";n("Failed "+f+" type: "+d.message+(S??""))}}}}return u.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(s={})},ne=u,ne}var se,ge;function Qe(){if(ge)return se;ge=1;var n=V.reactIsExports,t=Ge(),s=ae(),c=Ee(),u=Je(),o=function(){};process.env.NODE_ENV!=="production"&&(o=function(f){var j="Warning: "+f;typeof console<"u"&&console.error(j);try{throw new Error(j)}catch{}});function a(){return null}return se=function(f,j){var R=typeof Symbol=="function"&&Symbol.iterator,p="@@iterator";function d(r){var l=r&&(R&&r[R]||r[p]);if(typeof l=="function")return l}var g="<<anonymous>>",S={array:m("array"),bigint:m("bigint"),bool:m("boolean"),func:m("function"),number:m("number"),object:m("object"),string:m("string"),symbol:m("symbol"),any:F(),arrayOf:N,element:G(),elementType:J(),instanceOf:q,node:Te(),objectOf:W,oneOf:L,oneOfType:Ce,shape:Ie,exact:Be};function O(r,l){return r===l?r!==0||1/r===1/l:r!==r&&l!==l}function w(r,l){this.message=r,this.data=l&&typeof l=="object"?l:{},this.stack=""}w.prototype=Error.prototype;function B(r){if(process.env.NODE_ENV!=="production")var l={},k=0;function E(C,v,b,T,D,I,_){if(T=T||g,I=I||b,_!==s){if(j){var A=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw A.name="Invariant Violation",A}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var H=T+":"+b;!l[H]&&k<3&&(o("You are manually calling a React.PropTypes validation function for the `"+I+"` prop on `"+T+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),l[H]=!0,k++)}}return v[b]==null?C?v[b]===null?new w("The "+D+" `"+I+"` is marked as required "+("in `"+T+"`, but its value is `null`.")):new w("The "+D+" `"+I+"` is marked as required in "+("`"+T+"`, but its value is `undefined`.")):null:r(v,b,T,D,I)}var y=E.bind(null,!1);return y.isRequired=E.bind(null,!0),y}function m(r){function l(k,E,y,C,v,b){var T=k[E],D=$(T);if(D!==r){var I=z(T);return new w("Invalid "+C+" `"+v+"` of type "+("`"+I+"` supplied to `"+y+"`, expected ")+("`"+r+"`."),{expectedType:r})}return null}return B(l)}function F(){return B(a)}function N(r){function l(k,E,y,C,v){if(typeof r!="function")return new w("Property `"+v+"` of component `"+y+"` has invalid PropType notation inside arrayOf.");var b=k[E];if(!Array.isArray(b)){var T=$(b);return new w("Invalid "+C+" `"+v+"` of type "+("`"+T+"` supplied to `"+y+"`, expected an array."))}for(var D=0;D<b.length;D++){var I=r(b,D,y,C,v+"["+D+"]",s);if(I instanceof Error)return I}return null}return B(l)}function G(){function r(l,k,E,y,C){var v=l[k];if(!f(v)){var b=$(v);return new w("Invalid "+y+" `"+C+"` of type "+("`"+b+"` supplied to `"+E+"`, expected a single ReactElement."))}return null}return B(r)}function J(){function r(l,k,E,y,C){var v=l[k];if(!n.isValidElementType(v)){var b=$(v);return new w("Invalid "+y+" `"+C+"` of type "+("`"+b+"` supplied to `"+E+"`, expected a single ReactElement type."))}return null}return B(r)}function q(r){function l(k,E,y,C,v){if(!(k[E]instanceof r)){var b=r.name||g,T=qe(k[E]);return new w("Invalid "+C+" `"+v+"` of type "+("`"+T+"` supplied to `"+y+"`, expected ")+("instance of `"+b+"`."))}return null}return B(l)}function L(r){if(!Array.isArray(r))return process.env.NODE_ENV!=="production"&&(arguments.length>1?o("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):o("Invalid argument supplied to oneOf, expected an array.")),a;function l(k,E,y,C,v){for(var b=k[E],T=0;T<r.length;T++)if(O(b,r[T]))return null;var D=JSON.stringify(r,function(_,A){var H=z(A);return H==="symbol"?String(A):A});return new w("Invalid "+C+" `"+v+"` of value `"+String(b)+"` "+("supplied to `"+y+"`, expected one of "+D+"."))}return B(l)}function W(r){function l(k,E,y,C,v){if(typeof r!="function")return new w("Property `"+v+"` of component `"+y+"` has invalid PropType notation inside objectOf.");var b=k[E],T=$(b);if(T!=="object")return new w("Invalid "+C+" `"+v+"` of type "+("`"+T+"` supplied to `"+y+"`, expected an object."));for(var D in b)if(c(b,D)){var I=r(b,D,y,C,v+"."+D,s);if(I instanceof Error)return I}return null}return B(l)}function Ce(r){if(!Array.isArray(r))return process.env.NODE_ENV!=="production"&&o("Invalid argument supplied to oneOfType, expected an instance of array."),a;for(var l=0;l<r.length;l++){var k=r[l];if(typeof k!="function")return o("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+Oe(k)+" at index "+l+"."),a}function E(y,C,v,b,T){for(var D=[],I=0;I<r.length;I++){var _=r[I],A=_(y,C,v,b,T,s);if(A==null)return null;A.data&&c(A.data,"expectedType")&&D.push(A.data.expectedType)}var H=D.length>0?", expected one of type ["+D.join(", ")+"]":"";return new w("Invalid "+b+" `"+T+"` supplied to "+("`"+v+"`"+H+"."))}return B(E)}function Te(){function r(l,k,E,y,C){return X(l[k])?null:new w("Invalid "+y+" `"+C+"` supplied to "+("`"+E+"`, expected a ReactNode."))}return B(r)}function le(r,l,k,E,y){return new w((r||"React class")+": "+l+" type `"+k+"."+E+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+y+"`.")}function Ie(r){function l(k,E,y,C,v){var b=k[E],T=$(b);if(T!=="object")return new w("Invalid "+C+" `"+v+"` of type `"+T+"` "+("supplied to `"+y+"`, expected `object`."));for(var D in r){var I=r[D];if(typeof I!="function")return le(y,C,v,D,z(I));var _=I(b,D,y,C,v+"."+D,s);if(_)return _}return null}return B(l)}function Be(r){function l(k,E,y,C,v){var b=k[E],T=$(b);if(T!=="object")return new w("Invalid "+C+" `"+v+"` of type `"+T+"` "+("supplied to `"+y+"`, expected `object`."));var D=t({},k[E],r);for(var I in D){var _=r[I];if(c(r,I)&&typeof _!="function")return le(y,C,v,I,z(_));if(!_)return new w("Invalid "+C+" `"+v+"` key `"+I+"` supplied to `"+y+"`.\nBad object: "+JSON.stringify(k[E],null," ")+`
42
+ Valid keys: `+JSON.stringify(Object.keys(r),null," "));var A=_(b,I,y,C,v+"."+I,s);if(A)return A}return null}return B(l)}function X(r){switch(typeof r){case"number":case"string":case"undefined":return!0;case"boolean":return!r;case"object":if(Array.isArray(r))return r.every(X);if(r===null||f(r))return!0;var l=d(r);if(l){var k=l.call(r),E;if(l!==r.entries){for(;!(E=k.next()).done;)if(!X(E.value))return!1}else for(;!(E=k.next()).done;){var y=E.value;if(y&&!X(y[1]))return!1}}else return!1;return!0;default:return!1}}function De(r,l){return r==="symbol"?!0:l?l["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&l instanceof Symbol:!1}function $(r){var l=typeof r;return Array.isArray(r)?"array":r instanceof RegExp?"object":De(l,r)?"symbol":l}function z(r){if(typeof r>"u"||r===null)return""+r;var l=$(r);if(l==="object"){if(r instanceof Date)return"date";if(r instanceof RegExp)return"regexp"}return l}function Oe(r){var l=z(r);switch(l){case"array":case"object":return"an "+l;case"boolean":case"date":case"regexp":return"a "+l;default:return l}}function qe(r){return!r.constructor||!r.constructor.name?g:r.constructor.name}return S.checkPropTypes=u,S.resetWarningCache=u.resetWarningCache,S.PropTypes=S,S},se}var re,ve;function et(){if(ve)return re;ve=1;var n=ae();function t(){}function s(){}return s.resetWarningCache=t,re=function(){function c(a,f,j,R,p,d){if(d!==n){var g=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw g.name="Invariant Violation",g}}c.isRequired=c;function u(){return c}var o={array:c,bigint:c,bool:c,func:c,number:c,object:c,string:c,symbol:c,any:c,arrayOf:u,element:c,elementType:c,instanceOf:u,node:c,objectOf:u,oneOf:u,oneOfType:u,shape:u,exact:u,checkPropTypes:s,resetWarningCache:t};return o.PropTypes=o,o},re}var Rt=Z.exports;if(process.env.NODE_ENV!=="production"){var tt=V.reactIsExports,nt=!0;Z.exports=Qe()(tt.isElement,nt)}else Z.exports=et()();var st=Z.exports;const P=K.getDefaultExportFromCjs(st);let be,Re;typeof document<"u"&&(be=document);typeof window<"u"&&(Re=window);const ke=h.createContext({document:be,window:Re}),ce=()=>h.useContext(ke),{Provider:rt,Consumer:kt}=ke;class we extends h.Component{componentDidMount(){this.props.contentDidMount()}componentDidUpdate(){this.props.contentDidUpdate()}render(){return h.Children.only(this.props.children)}}U(we,"propTypes",{children:P.element.isRequired,contentDidMount:P.func.isRequired,contentDidUpdate:P.func.isRequired});class ie extends h.Component{constructor(s,c){super(s,c);U(this,"setRef",s=>{this.nodeRef.current=s;const{forwardedRef:c}=this.props;typeof c=="function"?c(s):c&&(c.current=s)});U(this,"handleLoad",()=>{clearInterval(this.loadCheck),this.state.iframeLoaded||this.setState({iframeLoaded:!0})});U(this,"loadCheck",()=>setInterval(()=>{this.handleLoad()},500));this._isMounted=!1,this.nodeRef=h.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 s=this.getDoc();return this.props.mountTarget?s.querySelector(this.props.mountTarget):s.body.children[0]}renderFrameContents(){if(!this._isMounted)return null;const s=this.getDoc();if(!s)return null;const c=this.props.contentDidMount,u=this.props.contentDidUpdate,o=s.defaultView||s.parentView,a=e.jsxRuntimeExports.jsx(we,{contentDidMount:c,contentDidUpdate:u,children:e.jsxRuntimeExports.jsx(rt,{value:{document:s,window:o},children:e.jsxRuntimeExports.jsx("div",{className:"frame-content",children:this.props.children})})}),f=this.getMountTarget();return[ue.createPortal(this.props.head,this.getDoc().head),ue.createPortal(a,f)]}render(){const s={...this.props,srcDoc:this.props.initialContent,children:void 0};return delete s.head,delete s.initialContent,delete s.mountTarget,delete s.contentDidMount,delete s.contentDidUpdate,delete s.forwardedRef,e.jsxRuntimeExports.jsx("iframe",{...s,ref:this.setRef,onLoad:this.handleLoad,children:this.state.iframeLoaded&&this.renderFrameContents()})}}U(ie,"propTypes",{style:P.object,head:P.node,initialContent:P.string,mountTarget:P.string,contentDidMount:P.func,contentDidUpdate:P.func,children:P.oneOfType([P.element,P.arrayOf(P.element)])}),U(ie,"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 it=h.forwardRef((n,t)=>e.jsxRuntimeExports.jsx(ie,{...n,forwardedRef:t})),ot=({children:n})=>{const{document:t}=ce(),[s]=i.useSelectedBlockIds(),[c,u]=i.useSelectedStylingBlocks();return h.useEffect(()=>{setTimeout(()=>{if(!x.isEmpty(c))return;const o=Se(t,x.first(s));if(o){const a=o.getAttribute("data-style-prop");if(a){const f=o.getAttribute("data-style-id"),j=o.getAttribute("data-block-parent");u([{id:f,prop:a,blockId:j}])}}},100)},[t,s,u,c]),e.jsxRuntimeExports.jsx("div",{id:"canvas",className:"relative h-screen max-w-full outline-2",children:n})},Se=(n,t)=>n.querySelector(`[data-block-id="${t}"]`),at=()=>{const{window:n}=ce(),[t,s]=i.useSelectedBlockIds(),[,c]=i.useSelectedStylingBlocks(),{undo:u,redo:o}=i.useCanvasHistory(),a=i.useDuplicateBlocks(),[,f]=i.useCutBlockIds(),[,j]=i.useCopyBlockIds(),{pasteBlocks:R}=i.usePasteBlocks(),[,p]=i.usePreviewMode(),d=i.useRemoveBlocks(),{savePage:g}=i.useSavePage(),[S]=Y.useAtom(i.inlineEditingActiveAtom),[,O]=Y.useAtom(i.editLayerNameAtom),w=B=>{B.key==="Enter"&&(B.preventDefault(),t.length===1&&O(x.first(t)))};return h.useEffect(()=>{const B=m=>{if(m.key==="Escape"){s([]),c([]);return}if(w(m),!S&&(m.key==="Delete"||m.key==="Backspace")&&(m.preventDefault(),d(t)),m.ctrlKey||m.metaKey){if(["z","y","d","x","c","p","s","v"].includes(m.key)){if(S&&["x","z","v"].includes(m.key))return!0;m.preventDefault()}m.key==="s"&&(m.stopPropagation(),m.preventDefault(),g()),m.key==="z"&&u(),m.key==="y"&&o(),m.key==="d"&&a(t),m.key==="x"&&f(t),m.key==="c"&&j(t),m.key==="v"&&t.length>0&&R(t[0])}};return n.removeEventListener("keydown",B),n.addEventListener("keydown",B),()=>{n.removeEventListener("keydown",B)}},[t,s,u,d,p,o,a,f,j,R,S,g,n]),null},ct=({block:n,label:t})=>{const[,s]=_e.useDrag(()=>({type:"CANVAS_BLOCK",item:n}));return e.jsxRuntimeExports.jsxs("div",{className:"mr-10 flex cursor-grab items-center space-x-1 px-1",ref:s,onDragStart:()=>{console.log("drag start")},children:[e.jsxRuntimeExports.jsx(M.DragHandleDots2Icon,{}),t]})},lt=({selectedBlockElement:n,block:t})=>{const s=i.useRemoveBlocks(),c=i.useDuplicateBlocks(),[,u]=i.useSelectedBlockIds(),[,o]=i.useSelectedStylingBlocks(),{floatingStyles:a,refs:f,update:j}=de.useFloating({placement:"top-start",middleware:[de.shift(),Me.flip()],elements:{reference:n}});Ne.useResizeObserver(n,()=>j(),n!==null);const R=x.get(t,"_parent",null),p=x.isEmpty(x.get(t,"_name",""))?x.get(t,"_type",""):x.get(t,"_name","");return!n||!t?null:e.jsxRuntimeExports.jsxs("div",{role:"button",tabIndex:0,ref:f.setFloating,style:a,onClick:d=>{d.stopPropagation(),d.preventDefault()},onKeyDown:d=>d.stopPropagation(),className:"z-50 flex h-6 items-center bg-blue-500 py-2 text-xs text-white",children:[e.jsxRuntimeExports.jsx(ct,{label:p,block:t}),e.jsxRuntimeExports.jsxs("div",{className:"flex gap-2 px-1 ",children:[R&&e.jsxRuntimeExports.jsx(M.ArrowUpIcon,{className:"hover:scale-105 ",onClick:()=>{o([]),u([R])}}),i.canDuplicateBlock(x.get(t,"_type",""))?e.jsxRuntimeExports.jsx(M.CopyIcon,{className:"hover:scale-105 ",onClick:()=>c([t==null?void 0:t._id])}):null,i.canDeleteBlock(x.get(t,"_type",""))?e.jsxRuntimeExports.jsx(M.TrashIcon,{className:"hover:scale-105 ",onClick:()=>s([t==null?void 0:t._id])}):null]})]})},ut=({model:n})=>{const[t]=i.useBrandingOptions(),[s]=i.useSelectedBlockIds(),[c]=i.useDarkMode(),[u]=i.useHighlightBlockId(),[o]=i.useSelectedStylingBlocks(),{document:a,window:f}=ce(),[j]=h.useState(a==null?void 0:a.getElementById("highlighted-block")),[R]=h.useState(a==null?void 0:a.getElementById("selected-block")),[p]=h.useState(a==null?void 0:a.getElementById("selected-styling-block"));h.useEffect(()=>{c?a==null||a.documentElement.classList.add("dark"):a==null||a.documentElement.classList.remove("dark")},[c,a]);const d=x.get(t,"headingFont","DM Sans"),g=x.get(t,"bodyFont","DM Sans");return h.useEffect(()=>{const S=x.get(t,"primaryColor","#000"),O=x.get(t,"secondaryColor","#FFF"),w=Le.tailwindcssPaletteGenerator({colors:[S,O],names:["primary","secondary"]});w.primary.DEFAULT=S,w.secondary.DEFAULT=O;const B=x.get(t,"roundedCorners","0");!f||!f.tailwind||(f.tailwind.config={darkMode:"class",theme:{fontFamily:{heading:[d],body:[g]},extend:{borderRadius:{global:`${B||"0"}px`},colors:w}},plugins:[f.tailwind.plugin.withOptions(({prefix:m="ui"}={})=>({addVariant:F})=>{for(const N of["open","checked","selected","active","disabled"])F(`${m}-${N}`,[`&[data-headlessui-state~="${N}"]`,`:where([data-headlessui-state~="${N}"]) &`]),F(`${m}-not-${N}`,[`&[data-headlessui-state]:not([data-headlessui-state~="${N}"])`,`:where([data-headlessui-state]:not([data-headlessui-state~="${N}"])) &:not([data-headlessui-state])`])})]})},[t,f,d,g]),h.useEffect(()=>{R&&(R.textContent=`${x.map(s,S=>`[data-block-id="${S}"]`).join(",")}{
43
43
  outline: 1px solid ${s.length===1?"#42a1fc":"orange"} !important; outline-offset: -1px;
44
44
  }`)},[s,R]),h.useEffect(()=>{j&&(j.textContent=u?`[data-style-id="${u}"]{ outline: 1px solid orange !important; outline-offset: -1px;}`:"")},[u,s,j]),h.useEffect(()=>{p&&(p.textContent=`${x.map(o,({id:S})=>`[data-style-id="${S}"]`).join(",")}{
45
45
  outline: 1px solid orange !important; outline-offset: -1px;
46
- }`)},[o,p]),h.useEffect(()=>{if(n==="section")return;const S=x.get(t,"bodyTextLightColor","#64748b"),O=x.get(t,"bodyTextDarkColor","#94a3b8"),w=x.get(t,"bodyBgLightColor","#FFFFFF"),B=x.get(t,"bodyBgDarkColor","#0f172a");a.body.className=`font-body antialiased text-[${S}] bg-[${w}] dark:text-[${O}] dark:bg-[${B}]`},[t,a,n]),n==="page"?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[d&&e.jsxRuntimeExports.jsx("link",{id:"heading-font",rel:"stylesheet",type:"text/css",href:`https://fonts.googleapis.com/css2?family=${d.replace(/ /g,"+")}:wght@300;400;500;600;700;800;900&display=swap`,media:"all"}),g&&d!==g&&e.jsxRuntimeExports.jsx("link",{id:"body-font",rel:"stylesheet",type:"text/css",href:`https://fonts.googleapis.com/css2?family=${g.replace(/ /g,"+")}:wght@300;400;500;600;700;800;900&display=swap`,media:"all"}),d&&e.jsxRuntimeExports.jsx("style",{children:`h1,h2,h3,h4,h5,h6{font-family: "${d}",ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";}`})]}):null},dt=()=>{const{t:n}=je.useTranslation();return e.jsxRuntimeExports.jsx("div",{className:"my-auto py-24 text-center text-gray-600 dark:text-white",children:e.jsxRuntimeExports.jsx("h1",{className:"mb-10 text-4xl ",children:n("canvas_empty")})})},pt=n=>{const t={};return Object.keys(n).forEach(s=>{x.isString(n[s])&&n[s].startsWith(K.SLOT_KEY)&&(t[s]=n[s].replace(K.SLOT_KEY,"").split(","))}),t},ft=x.memoize(n=>{const t=n.replace(K.STYLES_KEY,"").split(",");return $e.twMerge(t[0],t[1])});function xt(n,t){return x.get(n,`${t}_attrs`,{})}function ht(n,t,s,c){const u={};return Object.keys(n).forEach(o=>{if(x.isString(n[o])&&n[o].startsWith(K.STYLES_KEY)){const a=ft(n[o]);u[o]={className:a,"data-style-prop":o,"data-block-parent":n._id,"data-style-id":`${o}-${n._id}`,onMouseEnter:t,onMouseLeave:s,onClick:c,...xt(n,o)}}}),u}function mt(n,t){const s=x.get(n,"_bindings",{});return x.isEmpty(s)?{...n}:(x.each(s,(c,u)=>{x.isString(c)&&x.get(t,c,null)&&(n[u]=x.get(t,c,null))}),n)}function oe({blocks:n}){const t=i.useAllBlocks(),[,s]=i.useHighlightBlockId(),[,c]=i.useSelectedStylingBlocks(),[,u]=i.useSelectedBlockIds(),o=h.useCallback(p=>{var g;const d=(g=p.currentTarget)==null?void 0:g.getAttribute("data-style-id");s(d||""),p.stopPropagation()},[s]),a=h.useCallback(p=>{s(""),p.stopPropagation()},[s]),f=h.useCallback(p=>{p.stopPropagation();const d=p.currentTarget;if(d.getAttribute("data-block-parent")){const g=d.getAttribute("data-style-prop"),S=d.getAttribute("data-style-id"),O=d.getAttribute("data-block-parent");c([{id:S,prop:g,blockId:O}]),u([O])}else if(d.getAttribute("data-block-id")&&(u([d.getAttribute("data-block-id")]),d.getAttribute("data-block-parent"))){const g=d.getAttribute("data-style-prop"),S=d.getAttribute("data-style-id"),O=d.getAttribute("data-block-parent");c([{id:S,prop:g,blockId:O}])}},[c,u]),j=h.useCallback(p=>ht(p,o,a,f),[f,o,a]),[R]=V.useChaiExternalData();return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:h.Children.toArray(n.map((p,d)=>{const g=pt(p),S={};x.isEmpty(g)||Object.keys(g).forEach(m=>{S[m]=h.Children.toArray(g[m].map($=>e.jsxRuntimeExports.jsx(oe,{blocks:[x.find(t,{_id:$})]})))});const O=x.filter(t,{_parent:p._id});S.children=O.length?e.jsxRuntimeExports.jsx(oe,{blocks:O}):null;const w=Fe.getBlockComponent(p._type),B=x.get(w,"component",null);return x.isNull(B)?e.jsxRuntimeExports.jsx("noscript",{children:`<!-- ${p==null?void 0:p._type} not registered -->`}):e.jsxRuntimeExports.jsx(h.Suspense,{children:h.createElement(B,{blockProps:{onClick:f,"data-block-id":p._id,"data-block-type":p._type},inBuilder:!0,index:d,...mt(p,R),...j(p),...S})})}))})}const yt=()=>{const n=i.useAllBlocks();return e.jsxRuntimeExports.jsx(We.Provider,{children:x.isEmpty(n)?e.jsxRuntimeExports.jsx(dt,{}):e.jsxRuntimeExports.jsx(V.BlocksExternalDataProvider,{children:e.jsxRuntimeExports.jsx(oe,{blocks:x.filter(n,t=>x.isEmpty(t._parent))})})})},gt=(n,t)=>n.querySelector(`[data-style-id="${t}"]`),vt=()=>{const[n]=Y.useAtom(i.networkModeAtom),[t]=i.usePreviewMode(),[s]=i.useCanvasWidth(),[,c]=i.useSelectedBlockIds(),u=i.useSelectedBlock(),[,o]=i.useHighlightBlockId(),a=h.useRef(null),f=h.useRef(null),[j,R]=h.useState({width:0,height:0}),p=Ze(j),[d,g]=h.useState(0),[S,O]=h.useState([]),[,w]=h.useState([]),[,B]=Y.useAtom(i.canvasIframeAtom),[m,$]=i.useSelectedStylingBlocks(),N=i.useBuilderProp("loadingCanvas",!1);h.useEffect(()=>{const{clientWidth:q,clientHeight:L}=f.current;R({width:q,height:L}),d===0&&g(q)},[f,s,d]);const G=(q,L=0)=>{const{top:W}=q.getBoundingClientRect();return W+L>=0&&W-L<=window.innerHeight};h.useEffect(()=>{var q,L;if(u&&u.type!=="Multiple"&&a.current){const W=Se(a.current.contentDocument,u._id);W&&(G(W)||(L=(q=a.current)==null?void 0:q.contentWindow)==null||L.scrollTo({top:W.offsetTop,behavior:"smooth"}),O([W]))}},[u]),h.useEffect(()=>{if(!x.isEmpty(m)&&a.current){const q=gt(a.current.contentDocument,x.first(m).id);w(q?[q]:[null])}else w([null])},[m]);const J=h.useMemo(()=>{let q=Xe;return n==="offline"&&(q=q.replace("https://old.chaibuilder.com/offline/tailwind.cdn.js","/offline/tailwind.cdn.js"),q=q.replace("https://unpkg.com/aos@next/dist/aos.css","/offline/aos.css"),q=q.replace("https://unpkg.com/aos@next/dist/aos.js","/offline/aos.js")),q},[n]);return e.jsxRuntimeExports.jsx("div",{onClick:()=>{c([]),$([])},onMouseLeave:()=>setTimeout(()=>o(""),300),className:"relative mx-auto h-full w-full",style:d>0&&!x.isEmpty(p)?{width:t?"100%":d}:{},ref:f,children:e.jsxRuntimeExports.jsxs(it,{contentDidMount:()=>B(a.current),ref:a,id:"canvas-iframe",style:{width:`${s}px`,...p},className:"relative mx-auto box-content h-full max-w-full shadow-md transition-all duration-300 ease-linear",initialContent:J,children:[e.jsxRuntimeExports.jsx(at,{}),e.jsxRuntimeExports.jsx(lt,{block:u,selectedBlockElement:x.first(S)}),e.jsxRuntimeExports.jsx(ut,{model:"page"}),e.jsxRuntimeExports.jsxs(ot,{children:[N?e.jsxRuntimeExports.jsx("div",{className:"h-full p-4",children:e.jsxRuntimeExports.jsx(i.Skeleton,{className:"h-full"})}):e.jsxRuntimeExports.jsx(yt,{}),e.jsxRuntimeExports.jsx("div",{className:"h-60"})]})]})})},jt=h.lazy(()=>Promise.resolve().then(()=>require("./AddBlocks-LvIqNyBE.cjs"))),Et=()=>{const[n,t]=Y.useAtom(i.addBlocksModalAtom);return e.jsxRuntimeExports.jsxs("div",{className:"flex h-full w-full flex-col",children:[e.jsxRuntimeExports.jsx(Ve,{}),e.jsxRuntimeExports.jsxs("div",{className:"relative flex-1 overflow-hidden bg-slate-800/80 px-2 bg-[linear-gradient(to_right,#EEE_0.5px,transparent_0.5px),linear-gradient(to_bottom,#EEE_0.5px,transparent_0.5px)] bg-[size:12px_12px]",children:[e.jsxRuntimeExports.jsx(h.Suspense,{fallback:e.jsxRuntimeExports.jsx(i.Skeleton,{className:"h-full"}),children:e.jsxRuntimeExports.jsx(V.ErrorBoundary,{children:e.jsxRuntimeExports.jsx(vt,{})})}),n?e.jsxRuntimeExports.jsx("div",{onClick:()=>t(!1),className:"absolute inset-0 z-50 flex items-center bg-black/30 backdrop-blur-sm",children:e.jsxRuntimeExports.jsx("div",{onClick:s=>s.stopPropagation(),className:"mx-auto h-[90%] w-[90%] max-w-3xl rounded-md bg-white p-4 shadow-lg shadow-black/10 xl:w-[65%]",children:e.jsxRuntimeExports.jsx(jt,{})})}):null]})]})};exports.default=Et;
46
+ }`)},[o,p]),h.useEffect(()=>{if(n==="section")return;const S=x.get(t,"bodyTextLightColor","#64748b"),O=x.get(t,"bodyTextDarkColor","#94a3b8"),w=x.get(t,"bodyBgLightColor","#FFFFFF"),B=x.get(t,"bodyBgDarkColor","#0f172a");a.body.className=`font-body antialiased text-[${S}] bg-[${w}] dark:text-[${O}] dark:bg-[${B}]`},[t,a,n]),n==="page"?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[d&&e.jsxRuntimeExports.jsx("link",{id:"heading-font",rel:"stylesheet",type:"text/css",href:`https://fonts.googleapis.com/css2?family=${d.replace(/ /g,"+")}:wght@300;400;500;600;700;800;900&display=swap`,media:"all"}),g&&d!==g&&e.jsxRuntimeExports.jsx("link",{id:"body-font",rel:"stylesheet",type:"text/css",href:`https://fonts.googleapis.com/css2?family=${g.replace(/ /g,"+")}:wght@300;400;500;600;700;800;900&display=swap`,media:"all"}),d&&e.jsxRuntimeExports.jsx("style",{children:`h1,h2,h3,h4,h5,h6{font-family: "${d}",ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";}`})]}):null},dt=()=>{const{t:n}=je.useTranslation();return e.jsxRuntimeExports.jsx("div",{className:"my-auto py-24 text-center text-gray-600 dark:text-white",children:e.jsxRuntimeExports.jsx("h1",{className:"mb-10 text-4xl ",children:n("canvas_empty")})})},pt=n=>{const t={};return Object.keys(n).forEach(s=>{x.isString(n[s])&&n[s].startsWith(K.SLOT_KEY)&&(t[s]=n[s].replace(K.SLOT_KEY,"").split(","))}),t},ft=x.memoize(n=>{const t=n.replace(K.STYLES_KEY,"").split(",");return Fe.twMerge(t[0],t[1])});function xt(n,t){return x.get(n,`${t}_attrs`,{})}function ht(n,t,s,c){const u={};return Object.keys(n).forEach(o=>{if(x.isString(n[o])&&n[o].startsWith(K.STYLES_KEY)){const a=ft(n[o]);u[o]={className:a,"data-style-prop":o,"data-block-parent":n._id,"data-style-id":`${o}-${n._id}`,onMouseEnter:t,onMouseLeave:s,onClick:c,...xt(n,o)}}}),u}function mt(n,t){const s=x.get(n,"_bindings",{});return x.isEmpty(s)?{...n}:(x.each(s,(c,u)=>{x.isString(c)&&x.get(t,c,null)&&(n[u]=x.get(t,c,null))}),n)}function oe({blocks:n}){const t=i.useAllBlocks(),[,s]=i.useHighlightBlockId(),[,c]=i.useSelectedStylingBlocks(),[,u]=i.useSelectedBlockIds(),o=h.useCallback(p=>{var g;const d=(g=p.currentTarget)==null?void 0:g.getAttribute("data-style-id");s(d||""),p.stopPropagation()},[s]),a=h.useCallback(p=>{s(""),p.stopPropagation()},[s]),f=h.useCallback(p=>{p.stopPropagation();const d=p.currentTarget;if(d.getAttribute("data-block-parent")){const g=d.getAttribute("data-style-prop"),S=d.getAttribute("data-style-id"),O=d.getAttribute("data-block-parent");c([{id:S,prop:g,blockId:O}]),u([O])}else if(d.getAttribute("data-block-id")&&(u([d.getAttribute("data-block-id")]),d.getAttribute("data-block-parent"))){const g=d.getAttribute("data-style-prop"),S=d.getAttribute("data-style-id"),O=d.getAttribute("data-block-parent");c([{id:S,prop:g,blockId:O}])}},[c,u]),j=h.useCallback(p=>ht(p,o,a,f),[f,o,a]),[R]=V.useChaiExternalData();return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:h.Children.toArray(n.map((p,d)=>{const g=pt(p),S={};x.isEmpty(g)||Object.keys(g).forEach(m=>{S[m]=h.Children.toArray(g[m].map(F=>e.jsxRuntimeExports.jsx(oe,{blocks:[x.find(t,{_id:F})]})))});const O=x.filter(t,{_parent:p._id});S.children=O.length?e.jsxRuntimeExports.jsx(oe,{blocks:O}):null;const w=$e.getBlockComponent(p._type),B=x.get(w,"component",null);return x.isNull(B)?e.jsxRuntimeExports.jsx("noscript",{children:`<!-- ${p==null?void 0:p._type} not registered -->`}):e.jsxRuntimeExports.jsx(h.Suspense,{children:h.createElement(B,{blockProps:{onClick:f,"data-block-id":p._id,"data-block-type":p._type},inBuilder:!0,index:d,...mt(p,R),...j(p),...S})})}))})}const yt=()=>{const n=i.useAllBlocks();return e.jsxRuntimeExports.jsx(We.Provider,{children:x.isEmpty(n)?e.jsxRuntimeExports.jsx(dt,{}):e.jsxRuntimeExports.jsx(V.BlocksExternalDataProvider,{children:e.jsxRuntimeExports.jsx(oe,{blocks:x.filter(n,t=>x.isEmpty(t._parent))})})})},gt=(n,t)=>n.querySelector(`[data-style-id="${t}"]`),vt=()=>{const[n]=Y.useAtom(i.networkModeAtom),[t]=i.usePreviewMode(),[s]=i.useCanvasWidth(),[,c]=i.useSelectedBlockIds(),u=i.useSelectedBlock(),[,o]=i.useHighlightBlockId(),a=h.useRef(null),f=h.useRef(null),[j,R]=h.useState({width:0,height:0}),p=Ze(j),[d,g]=h.useState(0),[S,O]=h.useState([]),[,w]=h.useState([]),[,B]=Y.useAtom(i.canvasIframeAtom),[m,F]=i.useSelectedStylingBlocks(),N=i.useBuilderProp("loadingCanvas",!1);h.useEffect(()=>{const{clientWidth:q,clientHeight:L}=f.current;R({width:q,height:L}),d===0&&g(q)},[f,s,d]);const G=(q,L=0)=>{const{top:W}=q.getBoundingClientRect();return W+L>=0&&W-L<=window.innerHeight};h.useEffect(()=>{var q,L;if(u&&u.type!=="Multiple"&&a.current){const W=Se(a.current.contentDocument,u._id);W&&(G(W)||(L=(q=a.current)==null?void 0:q.contentWindow)==null||L.scrollTo({top:W.offsetTop,behavior:"smooth"}),O([W]))}},[u]),h.useEffect(()=>{if(!x.isEmpty(m)&&a.current){const q=gt(a.current.contentDocument,x.first(m).id);w(q?[q]:[null])}else w([null])},[m]);const J=h.useMemo(()=>{let q=Xe;return n==="offline"&&(q=q.replace("https://old.chaibuilder.com/offline/tailwind.cdn.js","/offline/tailwind.cdn.js"),q=q.replace("https://unpkg.com/aos@next/dist/aos.css","/offline/aos.css"),q=q.replace("https://unpkg.com/aos@next/dist/aos.js","/offline/aos.js")),q},[n]);return e.jsxRuntimeExports.jsx("div",{onClick:()=>{c([]),F([])},onMouseLeave:()=>setTimeout(()=>o(""),300),className:"relative mx-auto h-full w-full",style:d>0&&!x.isEmpty(p)?{width:t?"100%":d}:{},ref:f,children:e.jsxRuntimeExports.jsxs(it,{contentDidMount:()=>B(a.current),ref:a,id:"canvas-iframe",style:{width:`${s}px`,...p},className:"relative mx-auto box-content h-full max-w-full shadow-md transition-all duration-300 ease-linear",initialContent:J,children:[e.jsxRuntimeExports.jsx(at,{}),e.jsxRuntimeExports.jsx(lt,{block:u,selectedBlockElement:x.first(S)}),e.jsxRuntimeExports.jsx(ut,{model:"page"}),e.jsxRuntimeExports.jsxs(ot,{children:[N?e.jsxRuntimeExports.jsx("div",{className:"h-full p-4",children:e.jsxRuntimeExports.jsx(i.Skeleton,{className:"h-full"})}):e.jsxRuntimeExports.jsx(yt,{}),e.jsxRuntimeExports.jsx("div",{className:"h-60"})]})]})})},jt=h.lazy(()=>Promise.resolve().then(()=>require("./AddBlocks-p68Cz79o.cjs"))),Et=()=>{const[n,t]=Y.useAtom(i.addBlocksModalAtom);return e.jsxRuntimeExports.jsxs("div",{className:"flex h-full w-full flex-col",children:[e.jsxRuntimeExports.jsx(Ve,{}),e.jsxRuntimeExports.jsxs("div",{className:"relative flex-1 overflow-hidden bg-slate-800/80 px-2 bg-[linear-gradient(to_right,#EEE_0.5px,transparent_0.5px),linear-gradient(to_bottom,#EEE_0.5px,transparent_0.5px)] bg-[size:12px_12px]",children:[e.jsxRuntimeExports.jsx(h.Suspense,{fallback:e.jsxRuntimeExports.jsx(i.Skeleton,{className:"h-full"}),children:e.jsxRuntimeExports.jsx(V.ErrorBoundary,{children:e.jsxRuntimeExports.jsx(vt,{})})}),n?e.jsxRuntimeExports.jsx("div",{onClick:()=>t(!1),className:"absolute inset-0 z-50 flex items-center bg-black/30 backdrop-blur-sm",children:e.jsxRuntimeExports.jsx("div",{onClick:s=>s.stopPropagation(),className:"mx-auto h-[90%] w-[90%] max-w-3xl rounded-md bg-white p-4 shadow-lg shadow-black/10 xl:w-[65%]",children:e.jsxRuntimeExports.jsx(jt,{})})}):null]})]})};exports.default=Et;
@@ -1,15 +1,16 @@
1
- import { j as e } from "./jsx-runtime-qAwJ85SY.js";
2
- import { ag as x, au as h, av as f, aw as j, ax as y, ay as v } from "./index-PrUoEet_.js";
1
+ import { j as e } from "./jsx-runtime-NV737rRe.js";
2
+ import { ag as x, au as h, av as f, aw as j, ax as y, ay as v } from "./index-G55KtqnU.js";
3
3
  import { sortBy as P, filter as b, get as w, isEmpty as s, find as n, capitalize as C, map as N } from "lodash";
4
4
  import { toast as S } from "sonner";
5
5
  import { useEffect as p } from "react";
6
- import { b as k, a as B, d as E, e as I } from "./index-4DQm5fFW.js";
6
+ import { b as k, a as B, d as E, e as I } from "./index-mLIwGF5W.js";
7
7
  import { BriefcaseIcon as L } from "lucide-react";
8
- import "./Class-nQk08vqd.js";
9
- import "clsx";
10
- import "tailwind-merge";
8
+ import "./MODIFIERS-MLfpKQY1.js";
11
9
  import "@radix-ui/react-toggle";
12
10
  import "class-variance-authority";
11
+ import "./utils-PPBbw5bk.js";
12
+ import "clsx";
13
+ import "tailwind-merge";
13
14
  import "@radix-ui/react-switch";
14
15
  import "@radix-ui/react-slot";
15
16
  import "@radix-ui/react-accordion";
@@ -39,22 +40,22 @@ import "@chaibuilder/runtime";
39
40
  import "@react-hookz/web";
40
41
  import "react-i18next";
41
42
  import "i18next";
42
- import "./index-SSmZipiF.js";
43
+ import "@floating-ui/react-dom";
44
+ import "react-textarea-autosize";
45
+ import "flagged";
46
+ import "react-dnd";
47
+ import "@minoru/react-dnd-treeview";
43
48
  import "./lib.js";
44
49
  import "himalaya";
50
+ import "./functions-hmbWDcnW.js";
45
51
  import "@mhsdesign/jit-browser-tailwindcss";
46
52
  import "@bobthered/tailwindcss-palette-generator";
47
53
  import "@tailwindcss/forms";
48
54
  import "@tailwindcss/typography";
49
55
  import "@tailwindcss/aspect-ratio";
50
56
  import "@tailwindcss/line-clamp";
51
- import "@floating-ui/react-dom";
52
- import "react-textarea-autosize";
53
- import "flagged";
54
- import "react-dnd";
55
- import "@minoru/react-dnd-treeview";
56
57
  import "react-hotkeys-hook";
57
- const ze = () => {
58
+ const Ae = () => {
58
59
  const { data: t } = k(), { data: i, isLoading: l } = B(), { syncState: c } = x(), d = E(), [o, a] = I(), m = P(b(i, { type: "STATIC" }), (r) => w(r, "uuid") === (t == null ? void 0 : t.homepage) ? 0 : 1);
59
60
  p(() => {
60
61
  !s(i) && t.homepage && !n(i, { uuid: o }) && a(t.homepage);
@@ -108,5 +109,5 @@ const ze = () => {
108
109
  );
109
110
  };
110
111
  export {
111
- ze as default
112
+ Ae as default
112
113
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-WUGKV8jN.cjs"),s=require("./index-T5MFAHA0.cjs"),i=require("lodash"),h=require("sonner"),l=require("react"),o=require("./index-pCHSFoQO.cjs"),j=require("lucide-react");require("./MODIFIERS-WFzDQfiT.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("./utils-It2K33fU.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("jotai");require("flat-to-nested");require("redux-undo");require("@chaibuilder/runtime");require("@react-hookz/web");require("react-i18next");require("i18next");require("@floating-ui/react-dom");require("react-textarea-autosize");require("flagged");require("react-dnd");require("@minoru/react-dnd-treeview");require("./lib.cjs");require("himalaya");require("./functions-eu6BbvqO.cjs");require("@mhsdesign/jit-browser-tailwindcss");require("@bobthered/tailwindcss-palette-generator");require("@tailwindcss/forms");require("@tailwindcss/typography");require("@tailwindcss/aspect-ratio");require("@tailwindcss/line-clamp");require("react-hotkeys-hook");const p=()=>{const{data:t}=o.useProject(),{data:u,isLoading:x}=o.usePages(),{syncState:q}=s.useSavePage(),d=o.useChangePage(),[n,a]=o.useCurrentPage(),c=i.sortBy(i.filter(u,{type:"STATIC"}),r=>i.get(r,"uuid")===(t==null?void 0:t.homepage)?0:1);l.useEffect(()=>{!i.isEmpty(u)&&t.homepage&&!i.find(u,{uuid:n})&&a(t.homepage)},[n,u,t,a]),l.useEffect(()=>()=>a(null),[a]);const m=r=>{if(q!=="SAVED")h.toast.error("You have unsaved changes. Please save before changing the page.");else{const g=i.find(c,{uuid:r});d(g)}};return x||i.isEmpty(n)?null:e.jsxRuntimeExports.jsx("nav",{className:"flex rounded-lg border border-gray-200 bg-gray-50 px-3 pr-0 py-1 text-gray-700 dark:border-gray-700 dark:bg-gray-800","aria-label":"Breadcrumb",children:e.jsxRuntimeExports.jsxs("ol",{className:"inline-flex items-center space-x-1 md:space-x-3",children:[e.jsxRuntimeExports.jsx("li",{className:"inline-flex items-center",children:e.jsxRuntimeExports.jsxs("div",{className:"inline-flex items-center text-sm font-medium text-gray-500 dark:text-gray-400",children:[e.jsxRuntimeExports.jsx(j.BriefcaseIcon,{className:"w-4 h-4 mr-2"}),i.capitalize(t.name)]})}),e.jsxRuntimeExports.jsx("li",{"aria-current":"page",children:e.jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[e.jsxRuntimeExports.jsx("svg",{className:"mx-1 h-3 w-3 text-gray-400","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 6 10",children:e.jsxRuntimeExports.jsx("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"m1 9 4-4-4-4"})}),e.jsxRuntimeExports.jsxs(s.Select,{value:n||"",onValueChange:m,children:[e.jsxRuntimeExports.jsx(s.SelectTrigger,{className:"h-max border-0 py-0 text-sm font-medium text-gray-600 shadow-none outline-none ring-0 focus:ring-0 dark:text-gray-400",children:e.jsxRuntimeExports.jsx(s.SelectValue,{placeholder:"Page"})}),e.jsxRuntimeExports.jsx(s.SelectContent,{className:"z-[999]",children:i.map(c,r=>e.jsxRuntimeExports.jsx(s.SelectItem,{value:r.uuid,children:r==null?void 0:r.name},r.uuid))})]})]})})]})})};exports.default=p;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-WUGKV8jN.cjs"),u=require("lodash"),s=require("@radix-ui/react-icons"),f=require("react-dnd"),B=require("@minoru/react-dnd-treeview"),N=require("react-i18next"),r=require("./index-T5MFAHA0.cjs"),O=require("lucide-react");require("./lib.cjs");const p=require("react"),A=require("./MODIFIERS-WFzDQfiT.cjs"),q=require("./utils-It2K33fU.cjs"),_=require("./index-pCHSFoQO.cjs"),P=require("jotai");require("@radix-ui/react-toggle");require("class-variance-authority");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("flat-to-nested");require("redux-undo");require("@chaibuilder/runtime");require("@react-hookz/web");require("himalaya");require("./functions-eu6BbvqO.cjs");require("@mhsdesign/jit-browser-tailwindcss");require("@bobthered/tailwindcss-palette-generator");require("@tailwindcss/forms");require("@tailwindcss/typography");require("@tailwindcss/aspect-ratio");require("@tailwindcss/line-clamp");require("clsx");require("tailwind-merge");require("i18next");require("@floating-ui/react-dom");require("react-textarea-autosize");require("flagged");require("react-hotkeys-hook");require("sonner");const C=t=>{switch(t.type){case"Image":return e.jsxRuntimeExports.jsx(s.ImageIcon,{});case"Heading":return e.jsxRuntimeExports.jsx(s.HeadingIcon,{});case"Text":return e.jsxRuntimeExports.jsx(s.TextIcon,{});case"Link":return e.jsxRuntimeExports.jsx(s.Link1Icon,{});case"Video":return e.jsxRuntimeExports.jsx(s.VideoIcon,{});case"RichText":return e.jsxRuntimeExports.jsx(s.CursorTextIcon,{});case"Button":return e.jsxRuntimeExports.jsx(s.ButtonIcon,{});case"CustomHTML":return e.jsxRuntimeExports.jsx(s.CodeIcon,{});case"Divider":return e.jsxRuntimeExports.jsx(s.DividerHorizontalIcon,{});case"Icon":return e.jsxRuntimeExports.jsx(s.SketchLogoIcon,{});case"List":return e.jsxRuntimeExports.jsx(s.RowsIcon,{});case"Paragraph":return e.jsxRuntimeExports.jsx(s.TextIcon,{});case"Row":return e.jsxRuntimeExports.jsx(s.RowsIcon,{});case"ListItem":return e.jsxRuntimeExports.jsx(s.ColumnsIcon,{});case"LineBreak":return e.jsxRuntimeExports.jsx(s.SpaceBetweenVerticallyIcon,{});case"Form":return e.jsxRuntimeExports.jsx(s.GroupIcon,{});case"Checkbox":return e.jsxRuntimeExports.jsx(s.CheckboxIcon,{});case"FormButton":return e.jsxRuntimeExports.jsx(s.ButtonIcon,{});case"Input":case"TextArea":return e.jsxRuntimeExports.jsx(s.InputIcon,{});case"Radio":return e.jsxRuntimeExports.jsx(s.RadiobuttonIcon,{});case"Select":return e.jsxRuntimeExports.jsx(s.DropdownMenuIcon,{});case"Table":return e.jsxRuntimeExports.jsx(s.TableIcon,{});case"TableHead":return e.jsxRuntimeExports.jsx(s.BorderTopIcon,{});case"TableBody":return e.jsxRuntimeExports.jsx(s.BorderAllIcon,{});case"TableRow":return e.jsxRuntimeExports.jsx(s.ViewHorizontalIcon,{});case"TableCell":return e.jsxRuntimeExports.jsx(s.DragHandleHorizontalIcon,{});case"DataProvider":return e.jsxRuntimeExports.jsx(O.DatabaseIcon,{size:16});case"Box":return e.jsxRuntimeExports.jsx(s.BoxIcon,{});default:return e.jsxRuntimeExports.jsx(s.BoxModelIcon,{})}};function H(t=""){const n={xs:"390px",sm:"640px",md:"768px",lg:"1024px",xl:"1366px","2xl":"1536px"};if(new RegExp(/\bsr-only\b/).test(t))return"Sr Only";if(new RegExp(/\b(sm|md|lg|xl|2xl):hidden\b/).test(t))return"Visible on mobile";if(t.match(/(^| )hidden( |$)/g)){const c=new RegExp(/\b(sm|md|lg|xl|2xl):(block|grid|flex|inline|inline-grid|inline-flex|inline-block)\b/),l=t.match(c);if(u.nth(l,1))return`Visible >=${n[u.nth(l,1)]}`}return""}const L=t=>{let n="";return Object.keys(t).forEach(o=>{u.startsWith(t[o],A.STYLES_KEY)&&(n=t[o])}),n},F=t=>{var g;const[,n]=r.useHighlightBlockId(),[o]=r.useHiddenBlockIds(),{isSelected:x}=t,{id:c,data:l}=t.node,a=t.depth*10,m=d=>{d.stopPropagation(),t.onToggle(t.node.id)},E=B.useDragOver(c,t.isOpen,t.onToggle),j=p.useMemo(()=>{const d=L(t.node.data);return H(d)},[t.node.data]);return e.jsxRuntimeExports.jsx("div",{onMouseEnter:()=>n(c),className:q.cn("group flex w-full items-center justify-between space-x-px py-px ",x?"bg-blue-500 text-white":"hover:bg-gray-200 dark:hover:bg-gray-800"),onClick:d=>{d.stopPropagation(),!o.includes(c)&&t.onSelect(c)},onContextMenu:()=>t.onSelect(c),style:{paddingInlineStart:a},...E,children:e.jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[e.jsxRuntimeExports.jsx("div",{className:`flex h-4 w-4 rotate-0 transform cursor-pointer items-center justify-center text-xs transition-transform duration-100 ${t.isOpen?"rotate-90":""}`,children:t.node.droppable&&e.jsxRuntimeExports.jsx("button",{onClick:m,type:"button",children:e.jsxRuntimeExports.jsx(s.TriangleRightIcon,{})})}),e.jsxRuntimeExports.jsxs("button",{type:"button",className:"flex items-center",children:[e.jsxRuntimeExports.jsx("div",{className:"-mt-1 h-3 w-3",children:e.jsxRuntimeExports.jsx(C,{type:l==null?void 0:l._type})}),e.jsxRuntimeExports.jsx("div",{className:"ml-2 truncate text-[11px]",children:((g=t.node.data)==null?void 0:g._name)||t.node.text}),j?e.jsxRuntimeExports.jsxs("span",{className:"ml-2 flex items-center text-[10px] italic "+(x?"text-gray-200":"text-gray-500"),children:["(",j,")"]}):null]})]})})},V=t=>{var o;const{item:n}=t.monitorProps;return e.jsxRuntimeExports.jsxs("div",{className:"flex w-max items-center bg-blue-200 bg-opacity-30 p-1 font-semibold text-blue-700",children:[e.jsxRuntimeExports.jsx("div",{className:"",children:e.jsxRuntimeExports.jsx(C,{type:(o=n==null?void 0:n.data)==null?void 0:o._type})}),e.jsxRuntimeExports.jsx("div",{className:"ml-2 truncate text-[11px]",children:n.text})]})},z=t=>{const n=t.depth*10+16;return e.jsxRuntimeExports.jsx("div",{className:"absolute right-0 top-0 h-0.5 -translate-y-1/2 transform bg-green-500",style:{left:n}})},G=p.lazy(()=>Promise.resolve().then(()=>require("./MarkAsGlobalBlock-5h3wP4zj.cjs"))),$=()=>{const[t]=r.useSelectedBlockIds(),[,n]=r.useCutBlockIds();return e.jsxRuntimeExports.jsxs(r.ContextMenuItem,{className:"flex items-center gap-x-4 text-xs",onClick:()=>n(t),children:[e.jsxRuntimeExports.jsx(s.ScissorsIcon,{})," Cut"]})},K=()=>{const[t]=r.useSelectedBlockIds(),[,n]=r.useCopyBlockIds();return e.jsxRuntimeExports.jsxs(r.ContextMenuItem,{className:"flex items-center gap-x-4 text-xs",onClick:()=>n(t),children:[e.jsxRuntimeExports.jsx(s.ClipboardIcon,{})," Copy"]})},Q=()=>{const[t]=r.useSelectedBlockIds(),n=r.useRemoveBlocks(),o=r.useSelectedBlock();return e.jsxRuntimeExports.jsxs(r.ContextMenuItem,{disabled:(o==null?void 0:o._type)==="Slot",className:"flex items-center gap-x-4 text-xs",onClick:()=>n(t),children:[e.jsxRuntimeExports.jsx(s.TrashIcon,{})," Remove"]})},U=({id:t=null,openMarkAsGlobalModal:n})=>{const[o]=r.useSelectedBlockIds(),x=r.useDuplicateBlocks(),{pasteBlocks:c,canPaste:l}=r.usePasteBlocks(),a=r.useBuilderProp("globalBlocksSupport",!1),m=p.useCallback(()=>{x(o)},[o,x]);return e.jsxRuntimeExports.jsxs(r.ContextMenuContent,{className:"text-xs",children:[a&&e.jsxRuntimeExports.jsx(r.ContextMenuItem,{className:"flex items-center gap-x-4 border-b text-xs",onClick:n,children:e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-x-4",children:[e.jsxRuntimeExports.jsx(s.GlobeIcon,{})," Mark as global"]})}),e.jsxRuntimeExports.jsxs(r.ContextMenuItem,{className:"flex items-center gap-x-4 text-xs",onClick:m,children:[e.jsxRuntimeExports.jsx(s.CopyIcon,{})," Duplicate"]}),e.jsxRuntimeExports.jsx($,{}),e.jsxRuntimeExports.jsx(K,{}),e.jsxRuntimeExports.jsxs(r.ContextMenuItem,{className:"flex items-center gap-x-4 text-xs",onClick:()=>c(t),disabled:!l,children:[e.jsxRuntimeExports.jsx(s.ClipboardCopyIcon,{})," Paste"]}),e.jsxRuntimeExports.jsx(Q,{})]})},Y=({children:t,id:n=null})=>{const[o,x]=p.useState(!1);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(r.Dialog,{open:o,onOpenChange:x,children:o&&e.jsxRuntimeExports.jsx(r.DialogContent,{children:e.jsxRuntimeExports.jsx(p.Suspense,{fallback:e.jsxRuntimeExports.jsx("div",{className:"h-96 w-full animate-pulse bg-gray-200"}),children:e.jsxRuntimeExports.jsx(G,{closeModal:()=>x(!1),id:n})})})}),e.jsxRuntimeExports.jsxs(r.ContextMenu,{children:[e.jsxRuntimeExports.jsx(r.ContextMenuTrigger,{children:t}),e.jsxRuntimeExports.jsx(U,{id:n,openMarkAsGlobalModal:()=>x(!0)})]})]})},W=()=>{const{addCoreBlock:t}=r.useAddBlock(),n=r.useBuilderProp("getExternalPredefinedBlock");return p.useCallback(async o=>{const{block:x,dropTargetId:c,relativeIndex:l}=o;if(u.has(x,"format")){const a=await n(x);return t({blocks:a},c===0?null:c,l)}return t(x,c===0?null:c,l)},[t])};function J(t){return u.map(t,n=>{const{data:o}=n;return{...o,_parent:n.parent===0?null:n.parent}})}const X=()=>{const t=r.useAllBlocks(),[n]=r.useSetAllBlocks(),[o,x,c]=r.useSelectedBlockIds(),[,l]=r.useSelectedStylingBlocks(),{t:a}=N.useTranslation(),{createSnapshot:m}=r.useCanvasHistory(),E=_.useExpandedIds(),j=W(),[,g]=P.useAtom(r.addBlocksModalAtom),d=async(i,R)=>{const{dragSource:h,destinationIndex:b,relativeIndex:k,dropTargetId:T,monitor:D}=R,M=J(i);n(M),h?m():(await j({block:D.getItem(),dropTargetId:T,destinationIndex:b,relativeIndex:k}),g(!1))},y=u.map(t,i=>({id:i._id,text:i._type,parent:i._parent||0,droppable:!u.isUndefined(u.find(t,{_parent:i._id})),data:i})),v=()=>{x([]),l([])},[{isOver:I},S]=f.useDrop(()=>({accept:["CHAI_BLOCK"],collect:i=>({canDrop:i.canDrop(),isOver:i.isOver()}),drop:i=>{(async()=>(await j({block:i,dropTargetId:"",destinationIndex:0,relativeIndex:0}),g(!1)))()}})),{isDragging:w}=f.useDragLayer(i=>({isDragging:i.isDragging()}));return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx("div",{onClick:()=>v(),className:q.cn("-mx-1 -mt-1 flex h-full select-none flex-col space-y-1",w?"bg-green-50/80":"bg-background"),children:u.isEmpty(t)?e.jsxRuntimeExports.jsxs("div",{ref:S,className:`mx-1 mt-4 max-w-full h-full p-6 text-center text-sm text-gray-400 ${I?"bg-blue-200":""}`,children:[I?e.jsxRuntimeExports.jsx(s.DoubleArrowDownIcon,{className:"mx-auto h-12 w-12 animate-bounce"}):e.jsxRuntimeExports.jsx(s.StackIcon,{className:"mx-auto h-10 w-10"}),e.jsxRuntimeExports.jsx("p",{className:"mt-2",children:a(I?"drop_here_message":"tree_view_no_blocks")})]}):e.jsxRuntimeExports.jsx(r.ScrollArea,{id:"layers-view",className:"no-scrollbar h-full overflow-y-auto p-1",children:e.jsxRuntimeExports.jsx(B.Tree,{initialOpen:E,extraAcceptTypes:["CHAI_BLOCK"],tree:y,rootId:0,render:(i,{depth:R,isOpen:h,onToggle:b})=>e.jsxRuntimeExports.jsx(Y,{id:i.id,children:e.jsxRuntimeExports.jsx(F,{onSelect:k=>{l([]),x([k])},isSelected:u.includes(o,i.id),node:i,depth:R,isOpen:h,onToggle:b,toggleIds:c})}),dragPreviewRender:i=>e.jsxRuntimeExports.jsx(V,{monitorProps:i}),onDrop:d,classes:{root:"h-full pt-2",draggingSource:"opacity-30",dropTarget:"bg-green-100",placeholder:"relative"},sort:!1,insertDroppableFirst:!1,canDrop:r.canDropBlock,dropTargetOffset:2,enableAnimateExpand:!0,placeholderRender:(i,{depth:R})=>e.jsxRuntimeExports.jsx(z,{node:i,depth:R})})})})})};exports.default=X;