@chaibuilder/sdk 1.1.13 → 1.1.14

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 (97) hide show
  1. package/dist/AddBlocks-AG_J7s2Z.cjs +1 -0
  2. package/dist/{AddBlocks-A7WofxHV.js → AddBlocks-FsdsASNp.js} +51 -51
  3. package/dist/{BrandingOptions-wkFrLFI_.js → BrandingOptions-4qzTYdj5.js} +6 -5
  4. package/dist/BrandingOptions-xBuqDpj0.cjs +1 -0
  5. package/dist/{CanvasArea-kF46NWZK.cjs → CanvasArea-4m1-c1yq.cjs} +7 -7
  6. package/dist/{CanvasArea-chEYQhH8.js → CanvasArea-U3egqewu.js} +7 -7
  7. package/dist/{CurrentPage-Wd7F9Egg.js → CurrentPage-spjJpQSM.js} +10 -10
  8. package/dist/CurrentPage-zxrdTVsG.cjs +1 -0
  9. package/dist/{Layers-qMOMP2Mi.js → Layers-QNAlCI4j.js} +81 -81
  10. package/dist/Layers-YyBChBtg.cjs +1 -0
  11. package/dist/MarkAsGlobalBlock-LXDkmFUr.cjs +1 -0
  12. package/dist/{MarkAsGlobalBlock-Czq45Amf.js → MarkAsGlobalBlock-xOHhiMDl.js} +3 -3
  13. package/dist/{PagesPanel-ay4uk4mg.js → PagesPanel--LI-BoSj.js} +6 -6
  14. package/dist/PagesPanel-BeJrveus.cjs +1 -0
  15. package/dist/ProjectPanel-MjcAymKT.cjs +1 -0
  16. package/dist/{ProjectPanel-eLlbfAtj.js → ProjectPanel-VNj0jXca.js} +10 -10
  17. package/dist/Settings-BrYkhn3H.cjs +1 -0
  18. package/dist/{Settings-lpoxaMDu.js → Settings-LZJwbkO6.js} +433 -432
  19. package/dist/{SidePanels-iRXV69vh.js → SidePanels-4lvmnnlw.js} +36 -36
  20. package/dist/SidePanels-_5oUp-eI.cjs +1 -0
  21. package/dist/{Topbar-dQYhW4iv.js → Topbar-_-1HX-EE.js} +3 -3
  22. package/dist/Topbar-gQxbcPtG.cjs +1 -0
  23. package/dist/UnsplashImages-PNp5fYCc.cjs +1 -0
  24. package/dist/{UnsplashImages-AL1ASAoD.js → UnsplashImages-mqK09h8E.js} +6 -6
  25. package/dist/UploadImages-BoSSsLtD.cjs +1 -0
  26. package/dist/{UploadImages-09wuhk2O.js → UploadImages-IDkkRuhx.js} +3 -3
  27. package/dist/{add-page-modal-TXREEFPZ.js → add-page-modal-fZnKopNf.js} +14 -13
  28. package/dist/add-page-modal-rWhPuGd9.cjs +1 -0
  29. package/dist/confirm-alert-dHRDZrA1.cjs +1 -0
  30. package/dist/{confirm-alert-GkfW9chS.js → confirm-alert-ea5xpncD.js} +3 -3
  31. package/dist/core.cjs +1 -1
  32. package/dist/core.d.ts +5 -15
  33. package/dist/core.js +5 -5
  34. package/dist/delete-page-modal-P_KKu12n.cjs +1 -0
  35. package/dist/{delete-page-modal-LNME2FwD.js → delete-page-modal-fRoXPfhG.js} +5 -5
  36. package/dist/form-6qGAOYI3.cjs +1 -0
  37. package/dist/{form-Fk4CaX1A.js → form-irY39wvJ.js} +29 -29
  38. package/dist/functions-86L6n983.js +23 -0
  39. package/dist/functions-Jr7gX_RX.cjs +1 -0
  40. package/dist/{html-to-json-kGgp07Hv.js → html-to-json-Y5M0N8PH.js} +33 -33
  41. package/dist/html-to-json-aAZkA0f5.cjs +1 -0
  42. package/dist/{index-89A3jPHh.js → index-0OqmBgqo.js} +3 -3
  43. package/dist/{index-61c5wSJn.cjs → index-1Dr-VtaT.cjs} +2 -2
  44. package/dist/{index-Q5q5Y_8a.js → index-CQz6j3ex.js} +6 -6
  45. package/dist/index-d55M5MRz.cjs +1 -0
  46. package/dist/lib.cjs +1 -1
  47. package/dist/lib.js +27 -27
  48. package/dist/lodash-2us0VT8I.cjs +36 -0
  49. package/dist/lodash-3gkdNK5u.js +4538 -0
  50. package/dist/{page-viewer-LPx-OTCC.js → page-viewer-39ZtxLzx.js} +6 -6
  51. package/dist/page-viewer-_lc8vqU4.cjs +1 -0
  52. package/dist/{project-general-setting-sSpFUD_Y.js → project-general-setting-CCVuGyHh.js} +9 -8
  53. package/dist/project-general-setting-LEzDhwoq.cjs +1 -0
  54. package/dist/{project-seo-setting-CGVegBtM.js → project-seo-setting-Wo7E46w7.js} +6 -5
  55. package/dist/project-seo-setting-orwH-Ufg.cjs +1 -0
  56. package/dist/render.cjs +1 -1
  57. package/dist/render.js +46 -46
  58. package/dist/server.cjs +1 -1
  59. package/dist/server.js +11 -11
  60. package/dist/single-page-detail-jkDYF7lW.cjs +1 -0
  61. package/dist/{single-page-detail-32H1_IG4.js → single-page-detail-r1GJF00l.js} +29 -28
  62. package/dist/studio.cjs +1 -1
  63. package/dist/studio.js +5 -5
  64. package/dist/ui.cjs +1 -1
  65. package/dist/ui.js +3 -3
  66. package/dist/useAddBlockByDrop-5QW86HjG.js +20 -0
  67. package/dist/useAddBlockByDrop-Ckzuvu-s.cjs +1 -0
  68. package/dist/utils-37UXq2O5.cjs +1 -0
  69. package/dist/{utils-zWMk4dB2.js → utils-XsPKXMVo.js} +5 -5
  70. package/package.json +2 -2
  71. package/dist/AddBlocks-Yuc4t0Z_.cjs +0 -1
  72. package/dist/BrandingOptions-KkPF1OGn.cjs +0 -1
  73. package/dist/CurrentPage-p9MaXTOB.cjs +0 -1
  74. package/dist/Layers-wQ0Fv9Xc.cjs +0 -1
  75. package/dist/MarkAsGlobalBlock-sb3hMXLq.cjs +0 -1
  76. package/dist/PagesPanel--maZxwX5.cjs +0 -1
  77. package/dist/ProjectPanel-KhIpO7m3.cjs +0 -1
  78. package/dist/Settings-n2DpS5Ta.cjs +0 -1
  79. package/dist/SidePanels-Dud5Xh9L.cjs +0 -1
  80. package/dist/Topbar-vqzjB75a.cjs +0 -1
  81. package/dist/UnsplashImages-3Sh4UZ-7.cjs +0 -1
  82. package/dist/UploadImages-mPzLhMiH.cjs +0 -1
  83. package/dist/add-page-modal-FPnIWwqA.cjs +0 -1
  84. package/dist/confirm-alert-YNyc3WEo.cjs +0 -1
  85. package/dist/delete-page-modal-sTbqZPvk.cjs +0 -1
  86. package/dist/form-OhgCJlVA.cjs +0 -1
  87. package/dist/functions-ZWGlwlQY.cjs +0 -1
  88. package/dist/functions-slns6ONz.js +0 -23
  89. package/dist/html-to-json-po8on2ju.cjs +0 -1
  90. package/dist/index-GNmGzavZ.cjs +0 -1
  91. package/dist/page-viewer-wQO9oV9h.cjs +0 -1
  92. package/dist/project-general-setting-8EwuN5lN.cjs +0 -1
  93. package/dist/project-seo-setting-R77SKM1I.cjs +0 -1
  94. package/dist/single-page-detail-nyBEHLtT.cjs +0 -1
  95. package/dist/useAddBlockByDrop-4VH-SMj7.cjs +0 -1
  96. package/dist/useAddBlockByDrop-_kyR0iI4.js +0 -20
  97. package/dist/utils-tx6hqsHY.cjs +0 -1
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-WUGKV8jN.cjs"),c=require("react"),t=require("./lodash-2us0VT8I.cjs"),g=require("jotai"),s=require("./index-d55M5MRz.cjs"),v=require("@radix-ui/react-icons"),b=require("@chaibuilder/runtime"),T=require("flagged"),q=require("lucide-react"),B=require("react-dnd"),A=require("./html-to-json-aAZkA0f5.cjs");require("./MODIFIERS-WFzDQfiT.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("./utils-37UXq2O5.cjs");require("clsx");require("tailwind-merge");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("react-quill");require("flat-to-nested");require("redux-undo");require("@react-hookz/web");require("react-i18next");require("himalaya");const C=({block:r})=>{const{type:o,icon:l,label:d}=r,{addCoreBlock:x,addPredefinedBlock:m}=s.useAddBlock(),[j,p]=s.useSelectedBlockIds(),[,i]=s.useHighlightBlockId(),[,f]=g.useAtom(s.activePanelAtom),[,a]=g.useAtom(s.addBlocksModalAtom),n=()=>{t.has(r,"blocks")?m(b.syncBlocksWithDefaults(r.blocks),t.head(j)):x(r,t.head(j)),a(!1),f("layers")},h=T.useFeature("dnd");return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs(s.Tooltip,{children:[e.jsxRuntimeExports.jsx(s.TooltipTrigger,{asChild:!0,children:e.jsxRuntimeExports.jsxs("button",{onClick:n,type:"button",onDragStart:E=>{E.dataTransfer.setData("text/plain",JSON.stringify(t.omit(r,["component","icon"]))),setTimeout(()=>{p([]),i(null),a(!1),f("layers")},200)},draggable:h?"true":"false",className:"space-y-2 rounded-lg border border-border p-3 text-center hover:bg-slate-300/50 "+(h?"cursor-grab":"cursor-pointer"),children:[c.createElement(l||v.BoxIcon,{className:"w-4 h-4 mx-auto"}),e.jsxRuntimeExports.jsx("p",{className:"truncate text-xs",children:d||o})]})}),e.jsxRuntimeExports.jsx(s.TooltipContent,{children:e.jsxRuntimeExports.jsx("p",{children:d||o})})]})})},w=({block:r,closePopover:o})=>{var n;const[l,d]=c.useState(!1),x=s.useBuilderProp("getExternalPredefinedBlock"),{addCoreBlock:m,addPredefinedBlock:j}=s.useAddBlock(),[p]=s.useSelectedBlockIds(),[,i,f]=B.useDrag(()=>({type:"CHAI_BLOCK",item:r}),[r]),a=c.useCallback(async h=>{if(h.stopPropagation(),t.has(r,"component")){m(r,t.head(p)),o();return}d(!0);const E=await x(r);t.isEmpty(E)||j(b.syncBlocksWithDefaults(E),t.head(p)),o()},[r]);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(B.DragPreviewImage,{connect:f,src:"https://placehold.co/100x30/000000/FFF?text="+((n=r.name||r.label)==null?void 0:n.replace(" ","+"))}),e.jsxRuntimeExports.jsxs("div",{ref:i,onClick:l?()=>{}:a,className:"relative cursor-pointer 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.label}):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.label})})]})]})},N=()=>{const{data:r}=s.useUILibraryBlocks(),o=b.useChaiBlocks(),l=t.filter(t.values(o),{category:"custom"}),d=t.groupBy(l,"group"),x=t.groupBy(r,"group"),m=c.useMemo(()=>t.mergeWith(d,x,(a,n)=>{if(t.isArray(a)&&t.isArray(n))return[...a,...n]}),[d,x]),[,j]=g.useAtom(s.addBlocksModalAtom),[p,i]=c.useState(t.head(t.keys(m))||""),f=t.get(m,p,[]);return e.jsxRuntimeExports.jsxs("div",{className:"relative flex flex-col h-full max-h-full overflow-hidden py-2",children:[e.jsxRuntimeExports.jsx("div",{className:"p-3 sticky top-0 flex w-full items-center",children:e.jsxRuntimeExports.jsxs(s.Select,{value:p,onValueChange:a=>i(a),children:[e.jsxRuntimeExports.jsx(s.SelectTrigger,{className:"w-full",children:e.jsxRuntimeExports.jsx(s.SelectValue,{placeholder:"Select a provider"})}),e.jsxRuntimeExports.jsxs(s.SelectContent,{children:[e.jsxRuntimeExports.jsx(s.SelectItem,{value:"",children:"Choose"}),c.Children.toArray(t.map(m,(a,n)=>e.jsxRuntimeExports.jsx(s.SelectItem,{value:n,children:n},n)))]})]})}),e.jsxRuntimeExports.jsx("div",{className:"h-full w-full space-y-2 overflow-y-auto px-2",children:c.Children.toArray(f.map(a=>e.jsxRuntimeExports.jsx(w,{block:a,closePopover:()=>j(!1)})))})]})},S=()=>{const[r,o]=c.useState(""),{addPredefinedBlock:l}=s.useAddBlock(),[d]=s.useSelectedBlockIds(),[,x]=g.useAtom(s.addBlockOffCanvasAtom),[,m]=g.useAtom(s.activePanelAtom),[,j]=g.useAtom(s.addBlocksModalAtom),p=()=>{const i=A.getBlocksFromHTML(r);l([...i],t.head(d)||null),o(""),x(!1),m("layers"),j(!1)};return e.jsxRuntimeExports.jsxs(s.Card,{className:"border-border/0 p-0 shadow-none",children:[e.jsxRuntimeExports.jsx(s.CardHeader,{className:"p-3",children:e.jsxRuntimeExports.jsx(s.CardDescription,{children:"Use HTML snippets from Tailwind CSS component libraries etc. or just copy paste your own HTML code."})}),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:"Tailwind HTML snippet:"}),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:"Enter your code snippet here...",className:"resize-none bg-gray-100 overflow-x-auto whitespace-pre text-xs 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:()=>p(),size:"sm",className:"w-full",children:"Import HTML"}),e.jsxRuntimeExports.jsx(s.Alert,{variant:"default",className:"mt-2 p-1 border-none text-gray-400",children:e.jsxRuntimeExports.jsx(s.AlertTitle,{className:"text-xs font-normal leading-4",children:"NOTE: Imported html will be added to the currently selected block. If no block is selected, the html will be added to the page."})})]})]})},k=["ListItem","TableHead","TableBody","TableRow","TableCell","Column"],I=(r,o)=>{if(!r)return!t.includes(k,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(k,o)},L=()=>{const[r,o]=c.useState("core"),[l,d]=c.useState("basic"),x=b.useChaiBlocks(),[,m]=g.useAtom(s.showPredefinedBlockCategoryAtom),[j]=s.useSelectedBlockIds(),p=s.useAllBlocks(),i=t.find(p,{_id:t.head(j)}),{data:f,isLoading:a}=s.useUILibraryBlocks(),n=t.groupBy(t.filter(x,u=>I(i,u.type)),"category"),h=t.uniq(t.map(n.core,"group"));c.useEffect(()=>{!t.includes(h,l)&&!t.isEmpty(h)&&!t.isEmpty(l)&&d(t.head(h))},[h,l]);const E=u=>d(R=>R===u?"":u),y=!a&&!t.isEmpty(f)||t.find(t.values(x),{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 flex-col justify-between rounded-md bg-background/30 p-1",children:[e.jsxRuntimeExports.jsx("h1",{className:"flex flex-col items-baseline px-1 text-xl font-semibold xl:flex-col",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 TailwindCSS HTML snippet)":"(Click to add block to page)"})]}),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 "+(y?"grid-cols-3":"grid-cols-2"),children:[e.jsxRuntimeExports.jsx(s.TabsTrigger,{value:"core",children:"Core"}),y?e.jsxRuntimeExports.jsx(s.TabsTrigger,{value:"ui-blocks",children:"Custom 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:c.Children.toArray(t.map(h,u=>t.reject(t.filter(t.values(n.core),{group:u}),{hidden:!0}).length?e.jsxRuntimeExports.jsxs(s.AccordionItem,{value:u,className:"border-border",children:[e.jsxRuntimeExports.jsx(s.AccordionTrigger,{onClick:()=>E(u),className:"py-2 capitalize",children:u}),e.jsxRuntimeExports.jsx(s.AccordionContent,{children:e.jsxRuntimeExports.jsx("div",{className:"grid grid-cols-3 gap-2",children:c.Children.toArray(t.reject(t.filter(t.values(n.core),{group:u}),{hidden:!0}).map(R=>e.jsxRuntimeExports.jsx(C,{block:R})))})})]}):null))})}),r==="ui-blocks"&&e.jsxRuntimeExports.jsx(c.Suspense,{fallback:e.jsxRuntimeExports.jsx(s.Skeleton,{className:"h-32 w-full"}),children:e.jsxRuntimeExports.jsx(N,{})}),r==="html"&&e.jsxRuntimeExports.jsx(S,{})]})};exports.default=L;
@@ -1,18 +1,18 @@
1
1
  import { j as e } from "./jsx-runtime-NV737rRe.js";
2
2
  import B, { createElement as z, useState as b, useCallback as q, useMemo as V, useEffect as U, Suspense as W } from "react";
3
- import { has as D, first as h, omit as J, isEmpty as j, filter as y, values as k, groupBy as T, mergeWith as K, isArray as P, keys as Q, get as X, map as N, includes as A, find as H, uniq as Y, reject as E } from "lodash";
3
+ import { t as R, h, o as J, a as j, b as y, F as k, Y as T, Z as K, L as P, k as Y, g as Z, d as N, c as A, j as H, _ as Q, R as E } from "./lodash-3gkdNK5u.js";
4
4
  import { useAtom as f } from "jotai";
5
- import { O as I, j as v, _ as Z, av as R, aw as S, aD as $, aE as ee, aG as se, i as te, a8 as _, aq as re, ar as oe, as as le, at as ae, au as F, bp as ce, bq as ne, br as ie, bs as de, bt as me, aI as pe, bu as ue, bv as xe, B as he, bw as fe, bx as ge, by as be, ae as je, ax as ye, ay as ke, az as w, bo as Be, bh as ve, bi as Ce, bj as we, bk as Te, S as Ne } from "./index-89A3jPHh.js";
5
+ import { O as I, j as v, _ as X, av as _, aw as L, aD as $, aE as ee, aG as se, i as te, a8 as D, aq as oe, ar as re, as as ae, at as le, au as F, bp as ce, bq as ne, br as ie, bs as de, bt as me, aI as pe, bu as ue, bv as xe, B as he, bw as fe, bx as ge, by as be, ae as je, ax as ye, ay as ke, az as w, bo as Be, bh as ve, bi as Ce, bj as we, bk as Te, S as Ne } from "./index-0OqmBgqo.js";
6
6
  import { BoxIcon as Ae } from "@radix-ui/react-icons";
7
7
  import { syncBlocksWithDefaults as G, useChaiBlocks as O } from "@chaibuilder/runtime";
8
8
  import { useFeature as Ie } from "flagged";
9
- import { Loader as Se } from "lucide-react";
10
- import { useDrag as Le, DragPreviewImage as Pe } from "react-dnd";
11
- import { g as He } from "./html-to-json-kGgp07Hv.js";
9
+ import { Loader as Le } from "lucide-react";
10
+ import { useDrag as Se, DragPreviewImage as Pe } from "react-dnd";
11
+ import { g as He } from "./html-to-json-Y5M0N8PH.js";
12
12
  import "./MODIFIERS-MLfpKQY1.js";
13
13
  import "@radix-ui/react-toggle";
14
14
  import "class-variance-authority";
15
- import "./utils-zWMk4dB2.js";
15
+ import "./utils-XsPKXMVo.js";
16
16
  import "clsx";
17
17
  import "tailwind-merge";
18
18
  import "@radix-ui/react-switch";
@@ -42,24 +42,24 @@ import "@react-hookz/web";
42
42
  import "react-i18next";
43
43
  import "himalaya";
44
44
  const Ee = ({ block: s }) => {
45
- const { type: t, icon: r, label: c } = s, { addCoreBlock: i, addPredefinedBlock: d } = I(), [p, m] = v(), [, l] = Z(), [, x] = f(R), [, a] = f(S), o = () => {
46
- D(s, "blocks") ? d(G(s.blocks), h(p)) : i(s, h(p)), a(!1), x("layers");
45
+ const { type: t, icon: o, label: c } = s, { addCoreBlock: i, addPredefinedBlock: d } = I(), [p, m] = v(), [, a] = X(), [, x] = f(_), [, l] = f(L), r = () => {
46
+ R(s, "blocks") ? d(G(s.blocks), h(p)) : i(s, h(p)), l(!1), x("layers");
47
47
  }, u = Ie("dnd");
48
48
  return /* @__PURE__ */ e.jsx(e.Fragment, { children: /* @__PURE__ */ e.jsxs($, { children: [
49
49
  /* @__PURE__ */ e.jsx(ee, { asChild: !0, children: /* @__PURE__ */ e.jsxs(
50
50
  "button",
51
51
  {
52
- onClick: o,
52
+ onClick: r,
53
53
  type: "button",
54
54
  onDragStart: (g) => {
55
55
  g.dataTransfer.setData("text/plain", JSON.stringify(J(s, ["component", "icon"]))), setTimeout(() => {
56
- m([]), l(null), a(!1), x("layers");
56
+ m([]), a(null), l(!1), x("layers");
57
57
  }, 200);
58
58
  },
59
59
  draggable: u ? "true" : "false",
60
60
  className: "space-y-2 rounded-lg border border-border p-3 text-center hover:bg-slate-300/50 " + (u ? "cursor-grab" : "cursor-pointer"),
61
61
  children: [
62
- z(r || Ae, { className: "w-4 h-4 mx-auto" }),
62
+ z(o || Ae, { className: "w-4 h-4 mx-auto" }),
63
63
  /* @__PURE__ */ e.jsx("p", { className: "truncate text-xs", children: c || t })
64
64
  ]
65
65
  }
@@ -67,16 +67,16 @@ const Ee = ({ block: s }) => {
67
67
  /* @__PURE__ */ e.jsx(se, { children: /* @__PURE__ */ e.jsx("p", { children: c || t }) })
68
68
  ] }) });
69
69
  }, Fe = ({ block: s, closePopover: t }) => {
70
- var o;
71
- const [r, c] = b(!1), i = te("getExternalPredefinedBlock"), { addCoreBlock: d, addPredefinedBlock: p } = I(), [m] = v(), [, l, x] = Le(
70
+ var r;
71
+ const [o, c] = b(!1), i = te("getExternalPredefinedBlock"), { addCoreBlock: d, addPredefinedBlock: p } = I(), [m] = v(), [, a, x] = Se(
72
72
  () => ({
73
73
  type: "CHAI_BLOCK",
74
74
  item: s
75
75
  }),
76
76
  [s]
77
- ), a = q(
77
+ ), l = q(
78
78
  async (u) => {
79
- if (u.stopPropagation(), D(s, "component")) {
79
+ if (u.stopPropagation(), R(s, "component")) {
80
80
  d(s, h(m)), t();
81
81
  return;
82
82
  }
@@ -91,19 +91,19 @@ const Ee = ({ block: s }) => {
91
91
  Pe,
92
92
  {
93
93
  connect: x,
94
- src: "https://placehold.co/100x30/000000/FFF?text=" + ((o = s.name || s.label) == null ? void 0 : o.replace(" ", "+"))
94
+ src: "https://placehold.co/100x30/000000/FFF?text=" + ((r = s.name || s.label) == null ? void 0 : r.replace(" ", "+"))
95
95
  }
96
96
  ),
97
97
  /* @__PURE__ */ e.jsxs(
98
98
  "div",
99
99
  {
100
- ref: l,
101
- onClick: r ? () => {
102
- } : a,
100
+ ref: a,
101
+ onClick: o ? () => {
102
+ } : l,
103
103
  className: "relative cursor-pointer overflow-hidden rounded-md border border-transparent duration-200 hover:scale-x-105 hover:border-foreground/20 hover:shadow-2xl",
104
104
  children: [
105
- r && /* @__PURE__ */ e.jsxs("div", { className: "absolute flex h-full w-full items-center justify-center bg-black bg-opacity-70", children: [
106
- /* @__PURE__ */ e.jsx(Se, { className: "animate-spin", size: 15, color: "white" }),
105
+ o && /* @__PURE__ */ e.jsxs("div", { className: "absolute flex h-full w-full items-center justify-center bg-black bg-opacity-70", children: [
106
+ /* @__PURE__ */ e.jsx(Le, { className: "animate-spin", size: 15, color: "white" }),
107
107
  " ",
108
108
  /* @__PURE__ */ e.jsx("span", { className: "pl-2 text-sm text-white", children: "Adding..." })
109
109
  ] }),
@@ -120,28 +120,28 @@ const Ee = ({ block: s }) => {
120
120
  )
121
121
  ] });
122
122
  }, Me = () => {
123
- const { data: s } = _(), t = O(), r = y(k(t), { category: "custom" }), c = T(r, "group"), i = T(s, "group"), d = V(() => K(c, i, (a, o) => {
124
- if (P(a) && P(o))
125
- return [...a, ...o];
126
- }), [c, i]), [, p] = f(S), [m, l] = b(h(Q(d)) || ""), x = X(d, m, []);
123
+ const { data: s } = D(), t = O(), o = y(k(t), { category: "custom" }), c = T(o, "group"), i = T(s, "group"), d = V(() => K(c, i, (l, r) => {
124
+ if (P(l) && P(r))
125
+ return [...l, ...r];
126
+ }), [c, i]), [, p] = f(L), [m, a] = b(h(Y(d)) || ""), x = Z(d, m, []);
127
127
  return /* @__PURE__ */ e.jsxs("div", { className: "relative flex flex-col h-full max-h-full overflow-hidden py-2", children: [
128
- /* @__PURE__ */ e.jsx("div", { className: "p-3 sticky top-0 flex w-full items-center", children: /* @__PURE__ */ e.jsxs(re, { value: m, onValueChange: (a) => l(a), children: [
129
- /* @__PURE__ */ e.jsx(oe, { className: "w-full", children: /* @__PURE__ */ e.jsx(le, { placeholder: "Select a provider" }) }),
130
- /* @__PURE__ */ e.jsxs(ae, { children: [
128
+ /* @__PURE__ */ e.jsx("div", { className: "p-3 sticky top-0 flex w-full items-center", children: /* @__PURE__ */ e.jsxs(oe, { value: m, onValueChange: (l) => a(l), children: [
129
+ /* @__PURE__ */ e.jsx(re, { className: "w-full", children: /* @__PURE__ */ e.jsx(ae, { placeholder: "Select a provider" }) }),
130
+ /* @__PURE__ */ e.jsxs(le, { children: [
131
131
  /* @__PURE__ */ e.jsx(F, { value: "", children: "Choose" }),
132
132
  B.Children.toArray(
133
- N(d, (a, o) => /* @__PURE__ */ e.jsx(F, { value: o, children: o }, o))
133
+ N(d, (l, r) => /* @__PURE__ */ e.jsx(F, { value: r, children: r }, r))
134
134
  )
135
135
  ] })
136
136
  ] }) }),
137
137
  /* @__PURE__ */ e.jsx("div", { className: "h-full w-full space-y-2 overflow-y-auto px-2", children: B.Children.toArray(
138
- x.map((a) => /* @__PURE__ */ e.jsx(Fe, { block: a, closePopover: () => p(!1) }))
138
+ x.map((l) => /* @__PURE__ */ e.jsx(Fe, { block: l, closePopover: () => p(!1) }))
139
139
  ) })
140
140
  ] });
141
- }, De = () => {
142
- const [s, t] = b(""), { addPredefinedBlock: r } = I(), [c] = v(), [, i] = f(ce), [, d] = f(R), [, p] = f(S), m = () => {
143
- const l = He(s);
144
- r([...l], h(c) || null), t(""), i(!1), d("layers"), p(!1);
141
+ }, Re = () => {
142
+ const [s, t] = b(""), { addPredefinedBlock: o } = I(), [c] = v(), [, i] = f(ce), [, d] = f(_), [, p] = f(L), m = () => {
143
+ const a = He(s);
144
+ o([...a], h(c) || null), t(""), i(!1), d("layers"), p(!1);
145
145
  };
146
146
  return /* @__PURE__ */ e.jsxs(ne, { className: "border-border/0 p-0 shadow-none", children: [
147
147
  /* @__PURE__ */ e.jsx(ie, { className: "p-3", children: /* @__PURE__ */ e.jsx(de, { children: "Use HTML snippets from Tailwind CSS component libraries etc. or just copy paste your own HTML code." }) }),
@@ -152,9 +152,9 @@ const Ee = ({ block: s }) => {
152
152
  {
153
153
  autoFocus: !0,
154
154
  tabIndex: 1,
155
- ref: (l) => l && l.focus(),
155
+ ref: (a) => a && a.focus(),
156
156
  defaultValue: s,
157
- onChange: (l) => t(l.target.value),
157
+ onChange: (a) => t(a.target.value),
158
158
  rows: 12,
159
159
  placeholder: "Enter your code snippet here...",
160
160
  className: "resize-none bg-gray-100 overflow-x-auto whitespace-pre text-xs font-mono font-normal"
@@ -166,20 +166,20 @@ const Ee = ({ block: s }) => {
166
166
  /* @__PURE__ */ e.jsx(fe, { variant: "default", className: "mt-2 p-1 border-none text-gray-400", children: /* @__PURE__ */ e.jsx(ge, { className: "text-xs font-normal leading-4", children: "NOTE: Imported html will be added to the currently selected block. If no block is selected, the html will be added to the page." }) })
167
167
  ] })
168
168
  ] });
169
- }, M = ["ListItem", "TableHead", "TableBody", "TableRow", "TableCell", "Column"], Re = (s, t) => {
169
+ }, M = ["ListItem", "TableHead", "TableBody", "TableRow", "TableCell", "Column"], _e = (s, t) => {
170
170
  if (!s)
171
171
  return !A(M, t);
172
- const r = s._type;
173
- return r === "List" ? t === "ListItem" : r === "Table" ? t === "TableHead" || t === "TableBody" : r === "TableHead" || r === "TableBody" ? t === "TableRow" : r === "TableRow" ? t === "TableCell" : r === "Row" ? t === "Column" : !A(M, t);
172
+ const o = s._type;
173
+ return o === "List" ? t === "ListItem" : o === "Table" ? t === "TableHead" || t === "TableBody" : o === "TableHead" || o === "TableBody" ? t === "TableRow" : o === "TableRow" ? t === "TableCell" : o === "Row" ? t === "Column" : !A(M, t);
174
174
  }, As = () => {
175
- const [s, t] = b("core"), [r, c] = b("basic"), i = O(), [, d] = f(be), [p] = v(), m = je(), l = H(m, { _id: h(p) }), { data: x, isLoading: a } = _(), o = T(
176
- y(i, (n) => Re(l, n.type)),
175
+ const [s, t] = b("core"), [o, c] = b("basic"), i = O(), [, d] = f(be), [p] = v(), m = je(), a = H(m, { _id: h(p) }), { data: x, isLoading: l } = D(), r = T(
176
+ y(i, (n) => _e(a, n.type)),
177
177
  "category"
178
- ), u = Y(N(o.core, "group"));
178
+ ), u = Q(N(r.core, "group"));
179
179
  U(() => {
180
- !A(u, r) && !j(u) && !j(r) && c(h(u));
181
- }, [u, r]);
182
- const g = (n) => c((C) => C === n ? "" : n), L = !a && !j(x) || H(k(i), { category: "custom" }) !== void 0;
180
+ !A(u, o) && !j(u) && !j(o) && c(h(u));
181
+ }, [u, o]);
182
+ const g = (n) => c((C) => C === n ? "" : n), S = !l && !j(x) || H(k(i), { category: "custom" }) !== void 0;
183
183
  return /* @__PURE__ */ e.jsxs("div", { className: "flex h-full flex-col overflow-hidden", children: [
184
184
  /* @__PURE__ */ e.jsxs("div", { className: "mb-2 flex flex-col justify-between rounded-md bg-background/30 p-1", children: [
185
185
  /* @__PURE__ */ e.jsx("h1", { className: "flex flex-col items-baseline px-1 text-xl font-semibold xl:flex-col", children: "Add block" }),
@@ -193,28 +193,28 @@ const Ee = ({ block: s }) => {
193
193
  },
194
194
  value: s,
195
195
  className: "h-max",
196
- children: /* @__PURE__ */ e.jsxs(ke, { className: "grid w-full " + (L ? "grid-cols-3" : "grid-cols-2"), children: [
196
+ children: /* @__PURE__ */ e.jsxs(ke, { className: "grid w-full " + (S ? "grid-cols-3" : "grid-cols-2"), children: [
197
197
  /* @__PURE__ */ e.jsx(w, { value: "core", children: "Core" }),
198
- L ? /* @__PURE__ */ e.jsx(w, { value: "ui-blocks", children: "Custom Blocks" }) : null,
198
+ S ? /* @__PURE__ */ e.jsx(w, { value: "ui-blocks", children: "Custom Blocks" }) : null,
199
199
  /* @__PURE__ */ e.jsx(w, { value: "html", children: "Import " })
200
200
  ] })
201
201
  }
202
202
  ),
203
- s === "core" && /* @__PURE__ */ e.jsx(Be, { className: "-mx-1.5 h-full", children: /* @__PURE__ */ e.jsx(ve, { type: "single", value: r, className: "w-full px-3", children: B.Children.toArray(
203
+ s === "core" && /* @__PURE__ */ e.jsx(Be, { className: "-mx-1.5 h-full", children: /* @__PURE__ */ e.jsx(ve, { type: "single", value: o, className: "w-full px-3", children: B.Children.toArray(
204
204
  N(
205
205
  u,
206
- (n) => E(y(k(o.core), { group: n }), {
206
+ (n) => E(y(k(r.core), { group: n }), {
207
207
  hidden: !0
208
208
  }).length ? /* @__PURE__ */ e.jsxs(Ce, { value: n, className: "border-border", children: [
209
209
  /* @__PURE__ */ e.jsx(we, { onClick: () => g(n), className: "py-2 capitalize", children: n }),
210
210
  /* @__PURE__ */ e.jsx(Te, { children: /* @__PURE__ */ e.jsx("div", { className: "grid grid-cols-3 gap-2", children: B.Children.toArray(
211
- E(y(k(o.core), { group: n }), { hidden: !0 }).map((C) => /* @__PURE__ */ e.jsx(Ee, { block: C }))
211
+ E(y(k(r.core), { group: n }), { hidden: !0 }).map((C) => /* @__PURE__ */ e.jsx(Ee, { block: C }))
212
212
  ) }) })
213
213
  ] }) : null
214
214
  )
215
215
  ) }) }),
216
216
  s === "ui-blocks" && /* @__PURE__ */ e.jsx(W, { fallback: /* @__PURE__ */ e.jsx(Ne, { className: "h-32 w-full" }), children: /* @__PURE__ */ e.jsx(Me, {}) }),
217
- s === "html" && /* @__PURE__ */ e.jsx(De, {})
217
+ s === "html" && /* @__PURE__ */ e.jsx(Re, {})
218
218
  ] });
219
219
  };
220
220
  export {
@@ -2,13 +2,13 @@ import { j as t } from "./jsx-runtime-NV737rRe.js";
2
2
  import * as c from "react";
3
3
  import O from "@rjsf/validator-ajv8";
4
4
  import N from "@rjsf/core";
5
- import { i as j, x as k } from "./index-89A3jPHh.js";
5
+ import { i as j, x as k } from "./index-0OqmBgqo.js";
6
6
  import { f as g, c as D, y as a } from "./controls-G0puEH71.js";
7
- import { debounce as P, isEqual as R } from "lodash";
7
+ import { $ as P, X as R } from "./lodash-3gkdNK5u.js";
8
8
  import "./MODIFIERS-MLfpKQY1.js";
9
9
  import "@radix-ui/react-toggle";
10
10
  import "class-variance-authority";
11
- import "./utils-zWMk4dB2.js";
11
+ import "./utils-XsPKXMVo.js";
12
12
  import "clsx";
13
13
  import "tailwind-merge";
14
14
  import "@radix-ui/react-switch";
@@ -39,6 +39,7 @@ import "redux-undo";
39
39
  import "@chaibuilder/runtime";
40
40
  import "@react-hookz/web";
41
41
  import "react-i18next";
42
+ import "lodash";
42
43
  const w = ({ value: s, onChange: e, id: u, onBlur: i }) => {
43
44
  const p = P(e, 200), d = (l) => p(l.target.value);
44
45
  return /* @__PURE__ */ t.jsx("div", { className: "mt-1.5 flex items-center gap-x-3", children: /* @__PURE__ */ t.jsx("div", { className: "flex w-3/5 flex-col", children: /* @__PURE__ */ t.jsx(
@@ -101,7 +102,7 @@ const w = ({ value: s, onChange: e, id: u, onBlur: i }) => {
101
102
  { title: "Lustria", value: "Lustria" },
102
103
  { title: "Ovo", value: "Ovo" },
103
104
  { title: "Suranna", value: "Suranna" }
104
- ], xt = () => {
105
+ ], yt = () => {
105
106
  const s = j("onSaveBrandingOptions", async () => {
106
107
  }), [e, u] = k(), i = c.useRef(e);
107
108
  c.useEffect(() => () => {
@@ -183,5 +184,5 @@ const w = ({ value: s, onChange: e, id: u, onBlur: i }) => {
183
184
  ] });
184
185
  };
185
186
  export {
186
- xt as default
187
+ yt as default
187
188
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./jsx-runtime-WUGKV8jN.cjs"),j=require("react"),B=require("@rjsf/validator-ajv8"),R=require("@rjsf/core"),g=require("./index-d55M5MRz.cjs"),r=require("./controls-aHZq-q4b.cjs"),m=require("./lodash-2us0VT8I.cjs");require("./MODIFIERS-WFzDQfiT.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("./utils-37UXq2O5.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("lodash");function N(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const i in t)if(i!=="default"){const a=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,a.get?a:{enumerable:!0,get:()=>t[i]})}}return e.default=t,Object.freeze(e)}const x=N(j),E=({value:t,onChange:e,id:i,onBlur:a})=>{const d=m.debounce(e,200),c=n=>d(n.target.value);return l.jsxRuntimeExports.jsx("div",{className:"mt-1.5 flex items-center gap-x-3",children:l.jsxRuntimeExports.jsx("div",{className:"flex w-3/5 flex-col",children:l.jsxRuntimeExports.jsx("input",{type:"color",className:"text-xs p-0",value:t,onBlur:({target:{value:n}})=>a(i,n),onChange:c})})})},f=[{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"}],P=()=>{const t=g.useBuilderProp("onSaveBrandingOptions",async()=>{}),[e,i]=g.useBrandingOptions(),a=x.useRef(e);x.useEffect(()=>()=>{m.isEqual(e,a.current)||t(a.current)},[]);const d=({formData:o},s)=>{s&&(i(o),a.current=o)},{bodyFont:c,headingFont:n,primaryColor:y,bodyTextDarkColor:q,bodyTextLightColor:b,bodyBgDarkColor:h,secondaryColor:S,bodyBgLightColor:C,roundedCorners:O}=e,v={headingFont:r.f({title:"Heading font",default:n,options:f}),bodyFont:r.f({title:"Body font",default:c,options:f}),roundedCorners:r.c({title:"Rounded Corner",default:parseInt(O||5,10)}),primaryColor:r.y({title:"Primary",default:y}),secondaryColor:r.y({title:"Secondary",default:S}),bodyBgLightColor:r.y({title:"Body Background (Light)",default:C}),bodyBgDarkColor:r.y({title:"Body Background (Dark)",default:h}),bodyTextLightColor:r.y({title:"Body Text (Light)",default:q}),bodyTextDarkColor:r.y({title:"Body Text (Dark)",default:b})},u={type:"object",properties:{}},p={};return Object.keys(v).forEach(o=>{const s=v[o];return u.properties||(u.properties={}),u.properties[o]=s.schema,p[o]=s.uiSchema,!0}),l.jsxRuntimeExports.jsxs("div",{className:"flex h-full select-none flex-col",children:[l.jsxRuntimeExports.jsx("div",{className:"rounded-md bg-background/30 p-1",children:l.jsxRuntimeExports.jsx("h1",{className:"px-1 font-semibold",children:"Branding Options"})}),l.jsxRuntimeExports.jsx("div",{className:"-mx-2",children:l.jsxRuntimeExports.jsx(R,{widgets:{color:E},idSeparator:".",autoComplete:"off",omitExtraData:!0,liveOmit:!0,liveValidate:!0,uiSchema:p,schema:u,formData:e,validator:B,onChange:d})})]})};exports.default=P;
@@ -1,6 +1,6 @@
1
- "use strict";var We=Object.defineProperty;var $e=(e,t,n)=>t in e?We(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var K=(e,t,n)=>($e(e,typeof t!="symbol"?t+"":t,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./jsx-runtime-WUGKV8jN.cjs"),m=require("react"),x=require("lodash"),L=require("@radix-ui/react-icons"),r=require("./index-GNmGzavZ.cjs"),Ue=require("react-i18next"),H=require("jotai"),he=require("react-dom"),Z=require("./MODIFIERS-WFzDQfiT.cjs"),Q=require("./index-61c5wSJn.cjs"),ze=require("react-quill"),Ye=require("./useAddBlockByDrop-4VH-SMj7.cjs"),Se=require("flagged"),Ke=require("@floating-ui/dom"),ge=require("@floating-ui/react-dom"),Je=require("@react-hookz/web"),Xe=require("@bobthered/tailwindcss-palette-generator"),Ve=require("react-wrap-balancer"),Ze=require("tailwind-merge"),Ge=require("@chaibuilder/runtime");require("@radix-ui/react-toggle");require("class-variance-authority");require("./utils-tx6hqsHY.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("flat-to-nested");require("redux-undo");require("i18next");require("react-textarea-autosize");require("react-dnd");require("@minoru/react-dnd-treeview");require("react-hotkeys-hook");require("sonner");require("./html-to-json-po8on2ju.cjs");require("himalaya");require("lucide-react");const Qe=()=>{const{undoCount:e,redoCount:t,undo:n,redo:a}=r.useCanvasHistory();return s.jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[s.jsxRuntimeExports.jsx(r.Button,{disabled:!e,size:"sm",onClick:n,className:"rounded-full",variant:"ghost",children:s.jsxRuntimeExports.jsx(L.ResetIcon,{})}),s.jsxRuntimeExports.jsx(r.Button,{disabled:!t,onClick:a,size:"sm",className:"rounded-full",variant:"ghost",children:s.jsxRuntimeExports.jsx(L.ResetIcon,{className:"rotate-180 scale-y-[-1] transform"})})]})};function et(){const[e,t]=r.useDarkMode(),{t:n}=Ue.useTranslation();return s.jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[s.jsxRuntimeExports.jsx(r.Label,{htmlFor:"dark-mode-switch",children:n("dark_mode")}),s.jsxRuntimeExports.jsxs(r.Switch,{id:"dark-mode-switch",checked:e,onCheckedChange:()=>{t(!e)},className:`${e?"bg-violet-600":"bg-violet-300"}
1
+ "use strict";var We=Object.defineProperty;var $e=(e,t,n)=>t in e?We(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var K=(e,t,n)=>($e(e,typeof t!="symbol"?t+"":t,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./jsx-runtime-WUGKV8jN.cjs"),m=require("react"),h=require("./lodash-2us0VT8I.cjs"),L=require("@radix-ui/react-icons"),r=require("./index-d55M5MRz.cjs"),Ue=require("react-i18next"),H=require("jotai"),xe=require("react-dom"),Z=require("./MODIFIERS-WFzDQfiT.cjs"),Q=require("./index-1Dr-VtaT.cjs"),ze=require("react-quill"),Ye=require("./useAddBlockByDrop-Ckzuvu-s.cjs"),Se=require("flagged"),Ke=require("@floating-ui/dom"),ge=require("@floating-ui/react-dom"),Je=require("@react-hookz/web"),Xe=require("@bobthered/tailwindcss-palette-generator"),Ve=require("react-wrap-balancer"),Ze=require("tailwind-merge"),Ge=require("@chaibuilder/runtime");require("@radix-ui/react-toggle");require("class-variance-authority");require("./utils-37UXq2O5.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("flat-to-nested");require("redux-undo");require("i18next");require("react-textarea-autosize");require("react-dnd");require("@minoru/react-dnd-treeview");require("react-hotkeys-hook");require("sonner");require("./html-to-json-aAZkA0f5.cjs");require("himalaya");require("lucide-react");const Qe=()=>{const{undoCount:e,redoCount:t,undo:n,redo:a}=r.useCanvasHistory();return s.jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[s.jsxRuntimeExports.jsx(r.Button,{disabled:!e,size:"sm",onClick:n,className:"rounded-full",variant:"ghost",children:s.jsxRuntimeExports.jsx(L.ResetIcon,{})}),s.jsxRuntimeExports.jsx(r.Button,{disabled:!t,onClick:a,size:"sm",className:"rounded-full",variant:"ghost",children:s.jsxRuntimeExports.jsx(L.ResetIcon,{className:"rotate-180 scale-y-[-1] transform"})})]})};function et(){const[e,t]=r.useDarkMode(),{t:n}=Ue.useTranslation();return s.jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[s.jsxRuntimeExports.jsx(r.Label,{htmlFor:"dark-mode-switch",children:n("dark_mode")}),s.jsxRuntimeExports.jsxs(r.Switch,{id:"dark-mode-switch",checked:e,onCheckedChange:()=>{t(!e)},className:`${e?"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:[s.jsxRuntimeExports.jsx("span",{className:"sr-only",children:"Use setting"}),s.jsxRuntimeExports.jsx("span",{"aria-hidden":"true",className:`${e?"translate-x-5":"translate-x-0"}
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 me=({landscape:e=!1})=>s.jsxRuntimeExports.jsxs("svg",{className:e?"rotate-90":"",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 13 13",xmlSpace:"preserve",width:13,height:13,children:[s.jsxRuntimeExports.jsx("g",{strokeWidth:0}),s.jsxRuntimeExports.jsx("g",{strokeLinecap:"round",strokeLinejoin:"round"}),s.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"}})]}),ye=[{title:"Mobile (XS)",content:"Styles set here are applied to all screen unless edited at higher breakpoint",breakpoint:"xs",icon:s.jsxRuntimeExports.jsx(L.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:s.jsxRuntimeExports.jsx(L.MobileIcon,{className:"rotate-90"}),width:640},{title:"Tablet (MD)",content:"Styles set here are applied at 768px and up",breakpoint:"md",icon:s.jsxRuntimeExports.jsx(me,{}),width:800},{title:"Tablet Landscape (LG)",content:"Styles set here are applied at 1024px and up unless edited at higher breakpoint",breakpoint:"lg",icon:s.jsxRuntimeExports.jsx(me,{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:s.jsxRuntimeExports.jsx(L.LaptopIcon,{}),width:1420},{title:"Large Desktop (2XL)",content:"Styles set here are applied at 1536px and up",breakpoint:"2xl",icon:s.jsxRuntimeExports.jsx(L.DesktopIcon,{}),width:1920}],tt=({title:e,content:t,currentBreakpoint:n,breakpoint:a,width:c,icon:i,onClick:u})=>s.jsxRuntimeExports.jsxs(r.HoverCard,{children:[s.jsxRuntimeExports.jsx(r.HoverCardTrigger,{asChild:!0,children:s.jsxRuntimeExports.jsx(r.Button,{onClick:()=>u(c),size:"sm",variant:a===n?"secondary":"ghost",children:i})}),s.jsxRuntimeExports.jsx(r.HoverCardContent,{className:"w-52 border-border",children:s.jsxRuntimeExports.jsx("div",{className:"flex justify-between space-x-4",children:s.jsxRuntimeExports.jsxs("div",{className:"space-y-1",children:[s.jsxRuntimeExports.jsx("h4",{className:"text-sm font-semibold",children:e}),s.jsxRuntimeExports.jsx("p",{className:"text-xs",children:t})]})})})]}),nt=()=>{const[,e,t]=r.useCanvasWidth(),[n,a]=r.useSelectedBreakpoints(),c=i=>{n.includes(i)?n.length>2&&a(n.filter(u=>u!==i)):a(u=>[...u,i])};return s.jsxRuntimeExports.jsxs("div",{className:"flex items-center rounded-md",children:[x.map(ye.filter(i=>x.includes(n,x.toUpper(i.breakpoint))),i=>m.createElement(tt,{...i,onClick:t,key:i.breakpoint,currentBreakpoint:e})),s.jsxRuntimeExports.jsxs(r.DropdownMenu,{children:[s.jsxRuntimeExports.jsx(r.DropdownMenuTrigger,{asChild:!0,children:s.jsxRuntimeExports.jsx("span",{className:"cursor-pointer px-2.5 hover:opacity-80",children:s.jsxRuntimeExports.jsx(L.DotsVerticalIcon,{className:"scale-90 transform"})})}),s.jsxRuntimeExports.jsxs(r.DropdownMenuContent,{className:"w-56 border-border text-xs",children:[s.jsxRuntimeExports.jsx(r.DropdownMenuLabel,{children:"Breakpoints"}),s.jsxRuntimeExports.jsx(r.DropdownMenuSeparator,{}),x.map(ye,i=>s.jsxRuntimeExports.jsx(r.DropdownMenuCheckboxItem,{disabled:i.breakpoint==="xs",onCheckedChange:()=>c(x.toUpper(i.breakpoint)),checked:x.includes(n,x.toUpper(i.breakpoint)),children:i.title},i.breakpoint))]})]})]})},st=()=>{const[e]=r.useSetAllBlocks(),{createSnapshot:t}=r.useCanvasHistory(),[,n]=r.useSelectedBlockIds(),[,a]=r.useSelectedStylingBlocks(),c=m.useCallback(()=>{e([]),n([]),a([]),t()},[e,t]);return s.jsxRuntimeExports.jsx("div",{className:"flex items-center",children:s.jsxRuntimeExports.jsxs(r.AlertDialog,{children:[s.jsxRuntimeExports.jsx(r.AlertDialogTrigger,{asChild:!0,children:s.jsxRuntimeExports.jsxs(r.Button,{size:"sm",variant:"ghost",className:"flex items-center gap-x-1",children:[s.jsxRuntimeExports.jsx(L.EraserIcon,{})," Clear"]})}),s.jsxRuntimeExports.jsxs(r.AlertDialogContent,{className:"border-border",children:[s.jsxRuntimeExports.jsxs(r.AlertDialogHeader,{children:[s.jsxRuntimeExports.jsx(r.AlertDialogTitle,{children:"Clear whole canvas?"}),s.jsxRuntimeExports.jsx(r.AlertDialogDescription,{children:"Are you sure you want to clear the whole canvas?"})]}),s.jsxRuntimeExports.jsxs(r.AlertDialogFooter,{children:[s.jsxRuntimeExports.jsx(r.AlertDialogCancel,{children:"Cancel"}),s.jsxRuntimeExports.jsx(r.AlertDialogAction,{onClick:c,children:"Yes"})]})]})]})})},rt=()=>{const e=r.useFeatureSupport("darkMode",!1),[t]=r.useCanvasZoom();return s.jsxRuntimeExports.jsxs("div",{className:"flex h-10 items-center justify-between border-b bg-background/70 px-2",children:[s.jsxRuntimeExports.jsxs("div",{className:"flex h-full space-x-2",children:[e?s.jsxRuntimeExports.jsxs(s.jsxRuntimeExports.Fragment,{children:[s.jsxRuntimeExports.jsx(et,{}),s.jsxRuntimeExports.jsx(r.Separator,{orientation:"vertical"})]}):null,s.jsxRuntimeExports.jsx(nt,{}),s.jsxRuntimeExports.jsx(r.Separator,{orientation:"vertical"}),s.jsxRuntimeExports.jsxs("div",{className:"flex w-12 items-center justify-center gap-x-1 space-x-0 font-medium",children:[s.jsxRuntimeExports.jsx(L.ZoomInIcon,{className:"h-3.5 w-3.5 flex-shrink-0"})," ",s.jsxRuntimeExports.jsxs("div",{className:"text-xs leading-3",children:[x.round(t,0),"%"]})]}),s.jsxRuntimeExports.jsx(r.Separator,{orientation:"vertical"}),s.jsxRuntimeExports.jsx(Qe,{})]}),s.jsxRuntimeExports.jsxs("div",{className:"flex h-full items-center space-x-2",children:[s.jsxRuntimeExports.jsx(r.Separator,{orientation:"vertical"}),s.jsxRuntimeExports.jsx(st,{})]})]})},ot=`<!doctype html>
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 me=({landscape:e=!1})=>s.jsxRuntimeExports.jsxs("svg",{className:e?"rotate-90":"",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 13 13",xmlSpace:"preserve",width:13,height:13,children:[s.jsxRuntimeExports.jsx("g",{strokeWidth:0}),s.jsxRuntimeExports.jsx("g",{strokeLinecap:"round",strokeLinejoin:"round"}),s.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"}})]}),ye=[{title:"Mobile (XS)",content:"Styles set here are applied to all screen unless edited at higher breakpoint",breakpoint:"xs",icon:s.jsxRuntimeExports.jsx(L.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:s.jsxRuntimeExports.jsx(L.MobileIcon,{className:"rotate-90"}),width:640},{title:"Tablet (MD)",content:"Styles set here are applied at 768px and up",breakpoint:"md",icon:s.jsxRuntimeExports.jsx(me,{}),width:800},{title:"Tablet Landscape (LG)",content:"Styles set here are applied at 1024px and up unless edited at higher breakpoint",breakpoint:"lg",icon:s.jsxRuntimeExports.jsx(me,{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:s.jsxRuntimeExports.jsx(L.LaptopIcon,{}),width:1420},{title:"Large Desktop (2XL)",content:"Styles set here are applied at 1536px and up",breakpoint:"2xl",icon:s.jsxRuntimeExports.jsx(L.DesktopIcon,{}),width:1920}],tt=({title:e,content:t,currentBreakpoint:n,breakpoint:a,width:c,icon:i,onClick:u})=>s.jsxRuntimeExports.jsxs(r.HoverCard,{children:[s.jsxRuntimeExports.jsx(r.HoverCardTrigger,{asChild:!0,children:s.jsxRuntimeExports.jsx(r.Button,{onClick:()=>u(c),size:"sm",variant:a===n?"secondary":"ghost",children:i})}),s.jsxRuntimeExports.jsx(r.HoverCardContent,{className:"w-52 border-border",children:s.jsxRuntimeExports.jsx("div",{className:"flex justify-between space-x-4",children:s.jsxRuntimeExports.jsxs("div",{className:"space-y-1",children:[s.jsxRuntimeExports.jsx("h4",{className:"text-sm font-semibold",children:e}),s.jsxRuntimeExports.jsx("p",{className:"text-xs",children:t})]})})})]}),nt=()=>{const[,e,t]=r.useCanvasWidth(),[n,a]=r.useSelectedBreakpoints(),c=i=>{n.includes(i)?n.length>2&&a(n.filter(u=>u!==i)):a(u=>[...u,i])};return s.jsxRuntimeExports.jsxs("div",{className:"flex items-center rounded-md",children:[h.map(ye.filter(i=>h.includes(n,h.toUpper(i.breakpoint))),i=>m.createElement(tt,{...i,onClick:t,key:i.breakpoint,currentBreakpoint:e})),s.jsxRuntimeExports.jsxs(r.DropdownMenu,{children:[s.jsxRuntimeExports.jsx(r.DropdownMenuTrigger,{asChild:!0,children:s.jsxRuntimeExports.jsx("span",{className:"cursor-pointer px-2.5 hover:opacity-80",children:s.jsxRuntimeExports.jsx(L.DotsVerticalIcon,{className:"scale-90 transform"})})}),s.jsxRuntimeExports.jsxs(r.DropdownMenuContent,{className:"w-56 border-border text-xs",children:[s.jsxRuntimeExports.jsx(r.DropdownMenuLabel,{children:"Breakpoints"}),s.jsxRuntimeExports.jsx(r.DropdownMenuSeparator,{}),h.map(ye,i=>s.jsxRuntimeExports.jsx(r.DropdownMenuCheckboxItem,{disabled:i.breakpoint==="xs",onCheckedChange:()=>c(h.toUpper(i.breakpoint)),checked:h.includes(n,h.toUpper(i.breakpoint)),children:i.title},i.breakpoint))]})]})]})},st=()=>{const[e]=r.useSetAllBlocks(),{createSnapshot:t}=r.useCanvasHistory(),[,n]=r.useSelectedBlockIds(),[,a]=r.useSelectedStylingBlocks(),c=m.useCallback(()=>{e([]),n([]),a([]),t()},[e,t]);return s.jsxRuntimeExports.jsx("div",{className:"flex items-center",children:s.jsxRuntimeExports.jsxs(r.AlertDialog,{children:[s.jsxRuntimeExports.jsx(r.AlertDialogTrigger,{asChild:!0,children:s.jsxRuntimeExports.jsxs(r.Button,{size:"sm",variant:"ghost",className:"flex items-center gap-x-1",children:[s.jsxRuntimeExports.jsx(L.EraserIcon,{})," Clear"]})}),s.jsxRuntimeExports.jsxs(r.AlertDialogContent,{className:"border-border",children:[s.jsxRuntimeExports.jsxs(r.AlertDialogHeader,{children:[s.jsxRuntimeExports.jsx(r.AlertDialogTitle,{children:"Clear whole canvas?"}),s.jsxRuntimeExports.jsx(r.AlertDialogDescription,{children:"Are you sure you want to clear the whole canvas?"})]}),s.jsxRuntimeExports.jsxs(r.AlertDialogFooter,{children:[s.jsxRuntimeExports.jsx(r.AlertDialogCancel,{children:"Cancel"}),s.jsxRuntimeExports.jsx(r.AlertDialogAction,{onClick:c,children:"Yes"})]})]})]})})},rt=()=>{const e=r.useFeatureSupport("darkMode",!1),[t]=r.useCanvasZoom();return s.jsxRuntimeExports.jsxs("div",{className:"flex h-10 items-center justify-between border-b bg-background/70 px-2",children:[s.jsxRuntimeExports.jsxs("div",{className:"flex h-full space-x-2",children:[e?s.jsxRuntimeExports.jsxs(s.jsxRuntimeExports.Fragment,{children:[s.jsxRuntimeExports.jsx(et,{}),s.jsxRuntimeExports.jsx(r.Separator,{orientation:"vertical"})]}):null,s.jsxRuntimeExports.jsx(nt,{}),s.jsxRuntimeExports.jsx(r.Separator,{orientation:"vertical"}),s.jsxRuntimeExports.jsxs("div",{className:"flex w-12 items-center justify-center gap-x-1 space-x-0 font-medium",children:[s.jsxRuntimeExports.jsx(L.ZoomInIcon,{className:"h-3.5 w-3.5 flex-shrink-0"})," ",s.jsxRuntimeExports.jsxs("div",{className:"text-xs leading-3",children:[h.round(t,0),"%"]})]}),s.jsxRuntimeExports.jsx(r.Separator,{orientation:"vertical"}),s.jsxRuntimeExports.jsx(Qe,{})]}),s.jsxRuntimeExports.jsxs("div",{className:"flex h-full items-center space-x-2",children:[s.jsxRuntimeExports.jsx(r.Separator,{orientation:"vertical"}),s.jsxRuntimeExports.jsx(st,{})]})]})},ot=`<!doctype html>
4
4
  <html class="scroll-smooth h-full overflow-y-auto">
5
5
  <head>
6
6
  <meta charset="UTF-8">
@@ -47,13 +47,13 @@
47
47
  <div class="frame-root"></div>
48
48
  <script src="https://cdn.jsdelivr.net/npm/quill@2.0.0/dist/quill.js"><\/script>
49
49
  </body>
50
- </html>`,it=e=>{const[t]=r.useCanvasWidth(),[,n]=r.useCanvasZoom(),[a,c]=m.useState({}),i=m.useCallback(()=>{const{width:u,height:o}=e;if(u<t){const p=parseFloat((u/t).toFixed(2).toString());let d={};const h=o*p;o&&(d={height:100+(o-h)/h*100+"%"}),c({position:"relative",top:0,transform:`scale(${p})`,transformOrigin:"top left",...d,maxWidth:"none"}),n(p*100)}else c({}),n(100)},[t,e,n]);return m.useEffect(()=>{i()},[t,e,n,i]),a};var te={exports:{}};/*
50
+ </html>`,it=e=>{const[t]=r.useCanvasWidth(),[,n]=r.useCanvasZoom(),[a,c]=m.useState({}),i=m.useCallback(()=>{const{width:u,height:o}=e;if(u<t){const p=parseFloat((u/t).toFixed(2).toString());let d={};const x=o*p;o&&(d={height:100+(o-x)/x*100+"%"}),c({position:"relative",top:0,transform:`scale(${p})`,transformOrigin:"top left",...d,maxWidth:"none"}),n(p*100)}else c({}),n(100)},[t,e,n]);return m.useEffect(()=>{i()},[t,e,n,i]),a};var te={exports:{}};/*
51
51
  object-assign
52
52
  (c) Sindre Sorhus
53
53
  @license MIT
54
- */var se,ve;function at(){if(ve)return se;ve=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function a(i){if(i==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}function c(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de",Object.getOwnPropertyNames(i)[0]==="5")return!1;for(var u={},o=0;o<10;o++)u["_"+String.fromCharCode(o)]=o;var p=Object.getOwnPropertyNames(u).map(function(h){return u[h]});if(p.join("")!=="0123456789")return!1;var d={};return"abcdefghijklmnopqrst".split("").forEach(function(h){d[h]=h}),Object.keys(Object.assign({},d)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return se=c()?Object.assign:function(i,u){for(var o,p=a(i),d,h=1;h<arguments.length;h++){o=Object(arguments[h]);for(var g in o)t.call(o,g)&&(p[g]=o[g]);if(e){d=e(o);for(var w=0;w<d.length;w++)n.call(o,d[w])&&(p[d[w]]=o[d[w]])}}return p},se}var re,je;function pe(){if(je)return re;je=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return re=e,re}var oe,be;function Ce(){return be||(be=1,oe=Function.call.bind(Object.prototype.hasOwnProperty)),oe}var ie,Ee;function lt(){if(Ee)return ie;Ee=1;var e=function(){};if(process.env.NODE_ENV!=="production"){var t=pe(),n={},a=Ce();e=function(i){var u="Warning: "+i;typeof console<"u"&&console.error(u);try{throw new Error(u)}catch{}}}function c(i,u,o,p,d){if(process.env.NODE_ENV!=="production"){for(var h in i)if(a(i,h)){var g;try{if(typeof i[h]!="function"){var w=Error((p||"React class")+": "+o+" type `"+h+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof i[h]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw w.name="Invariant Violation",w}g=i[h](u,h,p,o,null,t)}catch(P){g=P}if(g&&!(g instanceof Error)&&e((p||"React class")+": type specification of "+o+" `"+h+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof g+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),g instanceof Error&&!(g.message in n)){n[g.message]=!0;var I=d?d():"";e("Failed "+o+" type: "+g.message+(I??""))}}}}return c.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(n={})},ie=c,ie}var ae,ke;function ct(){if(ke)return ae;ke=1;var e=Q.reactIsExports,t=at(),n=pe(),a=Ce(),c=lt(),i=function(){};process.env.NODE_ENV!=="production"&&(i=function(o){var p="Warning: "+o;typeof console<"u"&&console.error(p);try{throw new Error(p)}catch{}});function u(){return null}return ae=function(o,p){var d=typeof Symbol=="function"&&Symbol.iterator,h="@@iterator";function g(l){var f=l&&(d&&l[d]||l[h]);if(typeof f=="function")return f}var w="<<anonymous>>",I={array:D("array"),bigint:D("bigint"),bool:D("boolean"),func:D("function"),number:D("number"),object:D("object"),string:D("string"),symbol:D("symbol"),any:q(),arrayOf:R,element:F(),elementType:W(),instanceOf:O,node:Me(),objectOf:U,oneOf:$,oneOfType:Pe,shape:_e,exact:Le};function P(l,f){return l===f?l!==0||1/l===1/f:l!==l&&f!==f}function E(l,f){this.message=l,this.data=f&&typeof f=="object"?f:{},this.stack=""}E.prototype=Error.prototype;function A(l){if(process.env.NODE_ENV!=="production")var f={},k=0;function j(S,v,b,C,B,T,N){if(C=C||w,T=T||b,N!==n){if(p){var M=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 M.name="Invariant Violation",M}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var J=C+":"+b;!f[J]&&k<3&&(i("You are manually calling a React.PropTypes validation function for the `"+T+"` prop on `"+C+"`. 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."),f[J]=!0,k++)}}return v[b]==null?S?v[b]===null?new E("The "+B+" `"+T+"` is marked as required "+("in `"+C+"`, but its value is `null`.")):new E("The "+B+" `"+T+"` is marked as required in "+("`"+C+"`, but its value is `undefined`.")):null:l(v,b,C,B,T)}var y=j.bind(null,!1);return y.isRequired=j.bind(null,!0),y}function D(l){function f(k,j,y,S,v,b){var C=k[j],B=z(C);if(B!==l){var T=X(C);return new E("Invalid "+S+" `"+v+"` of type "+("`"+T+"` supplied to `"+y+"`, expected ")+("`"+l+"`."),{expectedType:l})}return null}return A(f)}function q(){return A(u)}function R(l){function f(k,j,y,S,v){if(typeof l!="function")return new E("Property `"+v+"` of component `"+y+"` has invalid PropType notation inside arrayOf.");var b=k[j];if(!Array.isArray(b)){var C=z(b);return new E("Invalid "+S+" `"+v+"` of type "+("`"+C+"` supplied to `"+y+"`, expected an array."))}for(var B=0;B<b.length;B++){var T=l(b,B,y,S,v+"["+B+"]",n);if(T instanceof Error)return T}return null}return A(f)}function F(){function l(f,k,j,y,S){var v=f[k];if(!o(v)){var b=z(v);return new E("Invalid "+y+" `"+S+"` of type "+("`"+b+"` supplied to `"+j+"`, expected a single ReactElement."))}return null}return A(l)}function W(){function l(f,k,j,y,S){var v=f[k];if(!e.isValidElementType(v)){var b=z(v);return new E("Invalid "+y+" `"+S+"` of type "+("`"+b+"` supplied to `"+j+"`, expected a single ReactElement type."))}return null}return A(l)}function O(l){function f(k,j,y,S,v){if(!(k[j]instanceof l)){var b=l.name||w,C=He(k[j]);return new E("Invalid "+S+" `"+v+"` of type "+("`"+C+"` supplied to `"+y+"`, expected ")+("instance of `"+b+"`."))}return null}return A(f)}function $(l){if(!Array.isArray(l))return process.env.NODE_ENV!=="production"&&(arguments.length>1?i("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])."):i("Invalid argument supplied to oneOf, expected an array.")),u;function f(k,j,y,S,v){for(var b=k[j],C=0;C<l.length;C++)if(P(b,l[C]))return null;var B=JSON.stringify(l,function(N,M){var J=X(M);return J==="symbol"?String(M):M});return new E("Invalid "+S+" `"+v+"` of value `"+String(b)+"` "+("supplied to `"+y+"`, expected one of "+B+"."))}return A(f)}function U(l){function f(k,j,y,S,v){if(typeof l!="function")return new E("Property `"+v+"` of component `"+y+"` has invalid PropType notation inside objectOf.");var b=k[j],C=z(b);if(C!=="object")return new E("Invalid "+S+" `"+v+"` of type "+("`"+C+"` supplied to `"+y+"`, expected an object."));for(var B in b)if(a(b,B)){var T=l(b,B,y,S,v+"."+B,n);if(T instanceof Error)return T}return null}return A(f)}function Pe(l){if(!Array.isArray(l))return process.env.NODE_ENV!=="production"&&i("Invalid argument supplied to oneOfType, expected an instance of array."),u;for(var f=0;f<l.length;f++){var k=l[f];if(typeof k!="function")return i("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+Fe(k)+" at index "+f+"."),u}function j(y,S,v,b,C){for(var B=[],T=0;T<l.length;T++){var N=l[T],M=N(y,S,v,b,C,n);if(M==null)return null;M.data&&a(M.data,"expectedType")&&B.push(M.data.expectedType)}var J=B.length>0?", expected one of type ["+B.join(", ")+"]":"";return new E("Invalid "+b+" `"+C+"` supplied to "+("`"+v+"`"+J+"."))}return A(j)}function Me(){function l(f,k,j,y,S){return ee(f[k])?null:new E("Invalid "+y+" `"+S+"` supplied to "+("`"+j+"`, expected a ReactNode."))}return A(l)}function xe(l,f,k,j,y){return new E((l||"React class")+": "+f+" type `"+k+"."+j+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+y+"`.")}function _e(l){function f(k,j,y,S,v){var b=k[j],C=z(b);if(C!=="object")return new E("Invalid "+S+" `"+v+"` of type `"+C+"` "+("supplied to `"+y+"`, expected `object`."));for(var B in l){var T=l[B];if(typeof T!="function")return xe(y,S,v,B,X(T));var N=T(b,B,y,S,v+"."+B,n);if(N)return N}return null}return A(f)}function Le(l){function f(k,j,y,S,v){var b=k[j],C=z(b);if(C!=="object")return new E("Invalid "+S+" `"+v+"` of type `"+C+"` "+("supplied to `"+y+"`, expected `object`."));var B=t({},k[j],l);for(var T in B){var N=l[T];if(a(l,T)&&typeof N!="function")return xe(y,S,v,T,X(N));if(!N)return new E("Invalid "+S+" `"+v+"` key `"+T+"` supplied to `"+y+"`.\nBad object: "+JSON.stringify(k[j],null," ")+`
55
- Valid keys: `+JSON.stringify(Object.keys(l),null," "));var M=N(b,T,y,S,v+"."+T,n);if(M)return M}return null}return A(f)}function ee(l){switch(typeof l){case"number":case"string":case"undefined":return!0;case"boolean":return!l;case"object":if(Array.isArray(l))return l.every(ee);if(l===null||o(l))return!0;var f=g(l);if(f){var k=f.call(l),j;if(f!==l.entries){for(;!(j=k.next()).done;)if(!ee(j.value))return!1}else for(;!(j=k.next()).done;){var y=j.value;if(y&&!ee(y[1]))return!1}}else return!1;return!0;default:return!1}}function Ne(l,f){return l==="symbol"?!0:f?f["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&f instanceof Symbol:!1}function z(l){var f=typeof l;return Array.isArray(l)?"array":l instanceof RegExp?"object":Ne(f,l)?"symbol":f}function X(l){if(typeof l>"u"||l===null)return""+l;var f=z(l);if(f==="object"){if(l instanceof Date)return"date";if(l instanceof RegExp)return"regexp"}return f}function Fe(l){var f=X(l);switch(f){case"array":case"object":return"an "+f;case"boolean":case"date":case"regexp":return"a "+f;default:return f}}function He(l){return!l.constructor||!l.constructor.name?w:l.constructor.name}return I.checkPropTypes=c,I.resetWarningCache=c.resetWarningCache,I.PropTypes=I,I},ae}var le,we;function dt(){if(we)return le;we=1;var e=pe();function t(){}function n(){}return n.resetWarningCache=t,le=function(){function a(u,o,p,d,h,g){if(g!==e){var w=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 w.name="Invariant Violation",w}}a.isRequired=a;function c(){return a}var i={array:a,bigint:a,bool:a,func:a,number:a,object:a,string:a,symbol:a,any:a,arrayOf:c,element:a,elementType:a,instanceOf:c,node:a,objectOf:c,oneOf:c,oneOfType:c,shape:c,exact:c,checkPropTypes:n,resetWarningCache:t};return i.PropTypes=i,i},le}var Wt=te.exports;if(process.env.NODE_ENV!=="production"){var ut=Q.reactIsExports,pt=!0;te.exports=ct()(ut.isElement,pt)}else te.exports=dt()();var ft=te.exports;const _=Z.getDefaultExportFromCjs(ft);let Te,Ie;typeof document<"u"&&(Te=document);typeof window<"u"&&(Ie=window);const Be=m.createContext({document:Te,window:Ie}),ne=()=>m.useContext(Be),{Provider:xt,Consumer:$t}=Be;class Ae extends m.Component{componentDidMount(){this.props.contentDidMount()}componentDidUpdate(){this.props.contentDidUpdate()}render(){return m.Children.only(this.props.children)}}K(Ae,"propTypes",{children:_.element.isRequired,contentDidMount:_.func.isRequired,contentDidUpdate:_.func.isRequired});class de extends m.Component{constructor(n,a){super(n,a);K(this,"setRef",n=>{this.nodeRef.current=n;const{forwardedRef:a}=this.props;typeof a=="function"?a(n):a&&(a.current=n)});K(this,"handleLoad",()=>{clearInterval(this.loadCheck),this.state.iframeLoaded||this.setState({iframeLoaded:!0})});K(this,"loadCheck",()=>setInterval(()=>{this.handleLoad()},500));this._isMounted=!1,this.nodeRef=m.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 n=this.getDoc();return this.props.mountTarget?n.querySelector(this.props.mountTarget):n.body.children[0]}renderFrameContents(){if(!this._isMounted)return null;const n=this.getDoc();if(!n)return null;const a=this.props.contentDidMount,c=this.props.contentDidUpdate,i=n.defaultView||n.parentView,u=s.jsxRuntimeExports.jsx(Ae,{contentDidMount:a,contentDidUpdate:c,children:s.jsxRuntimeExports.jsx(xt,{value:{document:n,window:i},children:s.jsxRuntimeExports.jsx("div",{className:"frame-content",children:this.props.children})})}),o=this.getMountTarget();return[he.createPortal(this.props.head,this.getDoc().head),he.createPortal(u,o)]}render(){const n={...this.props,srcDoc:this.props.initialContent,children:void 0};return delete n.head,delete n.initialContent,delete n.mountTarget,delete n.contentDidMount,delete n.contentDidUpdate,delete n.forwardedRef,s.jsxRuntimeExports.jsx("iframe",{...n,ref:this.setRef,onLoad:this.handleLoad,children:this.state.iframeLoaded&&this.renderFrameContents()})}}K(de,"propTypes",{style:_.object,head:_.node,initialContent:_.string,mountTarget:_.string,contentDidMount:_.func,contentDidUpdate:_.func,children:_.oneOfType([_.element,_.arrayOf(_.element)])}),K(de,"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 ht=m.forwardRef((e,t)=>s.jsxRuntimeExports.jsx(de,{...e,forwardedRef:t}));let Y=null,G=[],V=null,De=null;function gt(e){const t=window.getComputedStyle(e),n=parseInt(t.paddingLeft,10),a=parseInt(t.paddingTop,10),c=parseInt(t.paddingRight,10),i=parseInt(t.paddingBottom,10);return{paddingLeft:n,paddingTop:a,paddingRight:c,paddingBottom:i}}const Re=(e,t,n)=>{if(!Y)return;const a=e.getBoundingClientRect(),c=Y==null?void 0:Y.getElementById("placeholder"),{paddingLeft:i,paddingTop:u,paddingRight:o,paddingBottom:p}=gt(e);c.style.width=t==="vertical"?a.width-i-o+"px":"2px",c.style.height=t==="vertical"?"2px":a.height-u-p+"px",c.style.display="block";const d=G.reduce((h,g)=>Math.abs(g-n)<Math.abs(h-n)?g:h);De=G.indexOf(d),t==="vertical"?(c.style.top=e.offsetTop+d+"px",c.style.left=e.offsetLeft+i+"px"):(c.style.top=e.offsetTop+u+"px",c.style.left=e.offsetLeft+d+"px")},mt=e=>{const t=Oe(e),n=window.getComputedStyle(e),a=t==="horizontal",c=parseInt(n.paddingLeft),i=parseInt(n.paddingTop);let u=a?c:i;G=[u],Array.from(e.children).forEach(o=>{const p=window.getComputedStyle(o),d=parseInt(a?p.marginLeft+p.marginRight:p.marginTop+p.marginBottom),h=a?o.offsetWidth:o.offsetHeight;G.push(u+h+d),u+=h+d})};function Oe(e){const t=window.getComputedStyle(e).display,n=window.getComputedStyle(e).flexDirection;if(t==="flex")return n==="column"||n==="column-reverse"?"vertical":"horizontal";if(t==="grid"){const a=window.getComputedStyle(e).gridTemplateRows,c=window.getComputedStyle(e).gridTemplateColumns;if(a.includes("auto"))return"vertical";if(c.includes("auto"))return"horizontal"}return t==="block"?"vertical":"horizontal"}const yt=x.throttle(e=>{const t=e.target,n=Oe(t);if(n==="vertical"){const a=e.clientY-t.offsetTop;Re(t,n,a)}else{const a=e.clientX-t.offsetLeft;Re(t,n,a)}},200),vt=e=>{e.preventDefault(),e.stopPropagation(),yt(e)};function ce(){const e=Y==null?void 0:Y.getElementById("placeholder");e.style.display="none"}const jt=()=>{const{document:e}=ne(),[t,n]=H.useAtom(r.draggingFlagAtom),a=Ye.useAddBlockByDrop(),c=Se.useFeature("dnd"),[,i]=r.useHighlightBlockId(),[,u]=r.useSelectedBlockIds();return Y=e,{isDragging:t,"data-dnd":"branch",onDragOver:c?vt:x.noop,onDrop:c?o=>{V==null||V.classList.remove("outline","outline-green-300","outline-2","-outline-offset-2");const p=JSON.parse(o.dataTransfer.getData("text/plain"));let d=o.target.getAttribute("data-block-id");d===null&&(d=o.target.parentElement.getAttribute("data-block-id")),a({block:p,dropTargetId:d||null,relativeIndex:De}),n(!1),ce(),setTimeout(()=>{ce()},300)}:x.noop,onDragEnter:c?o=>{const p=o;V=p.target,p.stopPropagation(),p.preventDefault(),G=[];const d=p.target;mt(d),d.classList.add("outline","outline-green-300","outline-2","-outline-offset-2"),n(!0),i(""),u([])}:x.noop,onDragLeave:c?o=>{const p=o;V=null,p.stopPropagation(),p.preventDefault(),p.target.classList.remove("outline","outline-green-300","outline-2","-outline-offset-2")}:x.noop,onMouseOut:c?()=>{n(!1),ce()}:x.noop}};function fe(e){return e.getAttribute("data-block-id")?e:e.closest("[data-block-id]")}function bt(e){e.container.innerHTML="",e.container.parentNode.removeChild(e.container);var t=document.querySelector(".ql-toolbar");t&&t.parentNode.removeChild(t),e=null}const Et=()=>{const e=["Heading","Paragraph","Text","Link","Span","Button"],t=r.useUpdateBlocksProps(),[,n]=r.useSelectedBlockIds(),[,a]=r.useHighlightBlockId(),[c,i]=H.useAtom(r.inlineEditingActiveAtom);return u=>{var w;if(c)return;const o=fe(u.target),p=o.getAttribute("data-block-type");if(!p||!e.includes(p))return;const d=o.cloneNode(!0);o.style.display="none",Array.from(d.attributes).forEach(I=>{I.name!=="class"&&d.removeAttribute(I.name)}),p==="Text"&&(d.style.display="inline-block"),o.parentNode.insertBefore(d,o.nextSibling);const h=new ze.Quill(d,{placeholder:"Type here..."});function g(){const I=h.getText(0,h.getLength());t([o.getAttribute("data-block-id")],{content:I}),o.removeAttribute("style"),d.removeEventListener("blur",g,!0),bt(h),i(""),a("")}d.addEventListener("blur",g,!0),h.focus(),(w=d.querySelector(".ql-clipboard"))==null||w.remove(),n([]),i(o.getAttribute("data-block-id"))}},kt=()=>{const[,e]=r.useSelectedStylingBlocks(),[,t]=r.useSelectedBlockIds(),[n]=H.useAtom(r.inlineEditingActiveAtom);return a=>{if(n)return;a.stopPropagation();const c=fe(a.target);if(c!=null&&c.getAttribute("data-block-parent")){const i=c.getAttribute("data-style-prop"),u=c.getAttribute("data-style-id"),o=c.getAttribute("data-block-parent");e([{id:u,prop:i,blockId:o}]),t([o])}else c!=null&&c.getAttribute("data-block-id")&&t([c.getAttribute("data-block-id")])}},wt=x.throttle((e,t)=>{const n=fe(e.target);n!=null&&n.getAttribute("data-style-id")&&t(n.getAttribute("data-style-id"))},100),Rt=()=>{const[,e]=r.useHighlightBlockId(),[t]=H.useAtom(r.inlineEditingActiveAtom);return n=>{t||wt(n,e)}},St=({children:e})=>{const{document:t}=ne(),[n]=r.useSelectedBlockIds(),[a,c]=r.useSelectedStylingBlocks();m.useEffect(()=>{setTimeout(()=>{if(!x.isEmpty(a))return;const d=qe(t,x.first(n));if(d){const h=d.getAttribute("data-style-prop");if(h){const g=d.getAttribute("data-style-id"),w=d.getAttribute("data-block-parent");c([{id:g,prop:h,blockId:w}])}}},100)},[t,n,c,a]);const i=Et(),u=kt(),o=Rt(),p=jt();return s.jsxRuntimeExports.jsx("div",{id:"canvas",onClick:u,onDoubleClick:i,onMouseMove:o,...x.omit(p,"isDragging"),className:"relative mb-5 max-w-full "+(p.isDragging?"dragging":""),children:e})},qe=(e,t)=>e.querySelector(`[data-block-id="${t}"]`),Ct=()=>{const{window:e}=ne(),[t,n]=r.useSelectedBlockIds(),a=r.useAllBlocks(),[,c]=r.useSelectedStylingBlocks(),{undo:i,redo:u}=r.useCanvasHistory(),o=r.useDuplicateBlocks(),[,p]=r.useCutBlockIds(),[,d]=r.useCopyBlockIds(),{pasteBlocks:h}=r.usePasteBlocks(),[,g]=r.usePreviewMode(),w=r.useRemoveBlocks(),{savePage:I}=r.useSavePage(),[P]=H.useAtom(r.inlineEditingActiveAtom),[,E]=H.useAtom(r.editLayerNameAtom),A=q=>{q.key==="Enter"&&(q.preventDefault(),t.length===1&&E(x.first(t)))},D=q=>{const R=a.find(F=>F._id===q);return R?R._parent:null};return m.useEffect(()=>{const q=R=>{if(R.key==="Escape"){n([]),c([]);return}if(A(R),!P&&(R.key==="Delete"||R.key==="Backspace")&&(R.preventDefault(),w(t)),R.ctrlKey||R.metaKey){if(R.key==="ArrowUp"){R.preventDefault();const F=t.length>0?D(t[0]):null;F&&n([F])}if(["z","y","d","x","c","p","s","v"].includes(R.key)){if(P&&["x","z","v"].includes(R.key))return!0;R.preventDefault()}R.key==="s"&&(R.stopPropagation(),R.preventDefault(),I()),R.key==="z"&&i(),R.key==="y"&&u(),R.key==="d"&&o(t),R.key==="x"&&p(t),R.key==="c"&&d(t),R.key==="v"&&t.length>0&&h(t[0])}};return e.removeEventListener("keydown",q),e.addEventListener("keydown",q),()=>{e.removeEventListener("keydown",q)}},[t,n,i,w,g,u,o,p,d,h,P,I,e]),null},Tt=({block:e,label:t})=>{const[,n]=r.useSelectedBlockIds(),[,a]=r.useHighlightBlockId(),[,c]=H.useAtom(r.draggedBlockIdAtom),i=Se.useFeature("dnd");return s.jsxRuntimeExports.jsxs("div",{className:"mr-10 flex cursor-grab items-center space-x-1 px-1",draggable:i?"true":"false",onDragStart:u=>{u.dataTransfer.setData("text/plain",JSON.stringify(x.pick(e,["_id","_type"]))),c(e._id),setTimeout(()=>{n([]),a(null)},200)},children:[s.jsxRuntimeExports.jsx(L.DragHandleDots2Icon,{}),t]})},It=({selectedBlockElement:e,block:t})=>{const n=r.useRemoveBlocks(),a=r.useDuplicateBlocks(),[,c]=r.useSelectedBlockIds(),[,i]=r.useSelectedStylingBlocks(),{floatingStyles:u,refs:o,update:p}=ge.useFloating({placement:"top-start",middleware:[ge.shift(),Ke.flip()],elements:{reference:e}});Je.useResizeObserver(e,()=>p(),e!==null);const d=x.get(t,"_parent",null),h=x.isEmpty(x.get(t,"_name",""))?x.get(t,"_type",""):x.get(t,"_name","");return!e||!t?null:s.jsxRuntimeExports.jsxs("div",{role:"button",tabIndex:0,ref:o.setFloating,style:u,onClick:g=>{g.stopPropagation(),g.preventDefault()},onKeyDown:g=>g.stopPropagation(),className:"z-[99999] flex h-6 items-center bg-blue-500 py-2 text-xs text-white",children:[s.jsxRuntimeExports.jsx(Tt,{label:h,block:t}),s.jsxRuntimeExports.jsxs("div",{className:"flex gap-2 px-1 ",children:[d&&s.jsxRuntimeExports.jsx(L.ArrowUpIcon,{className:"hover:scale-105 ",onClick:()=>{i([]),c([d])}}),r.canDuplicateBlock(x.get(t,"_type",""))?s.jsxRuntimeExports.jsx(L.CopyIcon,{className:"hover:scale-105 ",onClick:()=>a([t==null?void 0:t._id])}):null,r.canDeleteBlock(x.get(t,"_type",""))?s.jsxRuntimeExports.jsx(L.TrashIcon,{className:"hover:scale-105 ",onClick:()=>n([t==null?void 0:t._id])}):null]})]})},Bt=({model:e})=>{const[t]=r.useBrandingOptions(),[n]=r.useSelectedBlockIds(),[a]=r.useDarkMode(),[c]=r.useHighlightBlockId(),[i]=r.useSelectedStylingBlocks(),[u]=H.useAtom(r.draggedBlockIdAtom),{document:o,window:p}=ne(),[d]=m.useState(o==null?void 0:o.getElementById("highlighted-block")),[h]=m.useState(o==null?void 0:o.getElementById("selected-block")),[g]=m.useState(o==null?void 0:o.getElementById("selected-styling-block")),[w]=m.useState(o==null?void 0:o.getElementById("dragged-block"));m.useEffect(()=>{a?o==null||o.documentElement.classList.add("dark"):o==null||o.documentElement.classList.remove("dark")},[a,o]);const I=x.get(t,"headingFont","DM Sans"),P=x.get(t,"bodyFont","DM Sans");return m.useEffect(()=>{const E=x.get(t,"primaryColor","#000"),A=x.get(t,"secondaryColor","#FFF"),D=Xe.tailwindcssPaletteGenerator({colors:[E,A],names:["primary","secondary"]});D.primary.DEFAULT=E,D.secondary.DEFAULT=A;const q=x.get(t,"roundedCorners","0");!p||!p.tailwind||(p.tailwind.config={darkMode:"class",theme:{fontFamily:{heading:[I],body:[P]},extend:{borderRadius:{global:`${q||"0"}px`},colors:D}},plugins:[p.tailwind.plugin.withOptions(({prefix:R="ui"}={})=>({addVariant:F})=>{for(const W of["open","checked","selected","active","disabled"])F(`${R}-${W}`,[`&[data-headlessui-state~="${W}"]`,`:where([data-headlessui-state~="${W}"]) &`]),F(`${R}-not-${W}`,[`&[data-headlessui-state]:not([data-headlessui-state~="${W}"])`,`:where([data-headlessui-state]:not([data-headlessui-state~="${W}"])) &:not([data-headlessui-state])`])})]})},[t,p,I,P]),m.useEffect(()=>{h&&(h.textContent=`${x.map(n,E=>`[data-block-id="${E}"]`).join(",")}{
54
+ */var se,ve;function at(){if(ve)return se;ve=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function a(i){if(i==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}function c(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de",Object.getOwnPropertyNames(i)[0]==="5")return!1;for(var u={},o=0;o<10;o++)u["_"+String.fromCharCode(o)]=o;var p=Object.getOwnPropertyNames(u).map(function(x){return u[x]});if(p.join("")!=="0123456789")return!1;var d={};return"abcdefghijklmnopqrst".split("").forEach(function(x){d[x]=x}),Object.keys(Object.assign({},d)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return se=c()?Object.assign:function(i,u){for(var o,p=a(i),d,x=1;x<arguments.length;x++){o=Object(arguments[x]);for(var g in o)t.call(o,g)&&(p[g]=o[g]);if(e){d=e(o);for(var w=0;w<d.length;w++)n.call(o,d[w])&&(p[d[w]]=o[d[w]])}}return p},se}var re,je;function pe(){if(je)return re;je=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return re=e,re}var oe,be;function Ce(){return be||(be=1,oe=Function.call.bind(Object.prototype.hasOwnProperty)),oe}var ie,Ee;function lt(){if(Ee)return ie;Ee=1;var e=function(){};if(process.env.NODE_ENV!=="production"){var t=pe(),n={},a=Ce();e=function(i){var u="Warning: "+i;typeof console<"u"&&console.error(u);try{throw new Error(u)}catch{}}}function c(i,u,o,p,d){if(process.env.NODE_ENV!=="production"){for(var x in i)if(a(i,x)){var g;try{if(typeof i[x]!="function"){var w=Error((p||"React class")+": "+o+" type `"+x+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof i[x]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw w.name="Invariant Violation",w}g=i[x](u,x,p,o,null,t)}catch(P){g=P}if(g&&!(g instanceof Error)&&e((p||"React class")+": type specification of "+o+" `"+x+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof g+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),g instanceof Error&&!(g.message in n)){n[g.message]=!0;var I=d?d():"";e("Failed "+o+" type: "+g.message+(I??""))}}}}return c.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(n={})},ie=c,ie}var ae,ke;function ct(){if(ke)return ae;ke=1;var e=Q.reactIsExports,t=at(),n=pe(),a=Ce(),c=lt(),i=function(){};process.env.NODE_ENV!=="production"&&(i=function(o){var p="Warning: "+o;typeof console<"u"&&console.error(p);try{throw new Error(p)}catch{}});function u(){return null}return ae=function(o,p){var d=typeof Symbol=="function"&&Symbol.iterator,x="@@iterator";function g(l){var f=l&&(d&&l[d]||l[x]);if(typeof f=="function")return f}var w="<<anonymous>>",I={array:D("array"),bigint:D("bigint"),bool:D("boolean"),func:D("function"),number:D("number"),object:D("object"),string:D("string"),symbol:D("symbol"),any:q(),arrayOf:R,element:F(),elementType:W(),instanceOf:O,node:Me(),objectOf:U,oneOf:$,oneOfType:Pe,shape:_e,exact:Le};function P(l,f){return l===f?l!==0||1/l===1/f:l!==l&&f!==f}function E(l,f){this.message=l,this.data=f&&typeof f=="object"?f:{},this.stack=""}E.prototype=Error.prototype;function A(l){if(process.env.NODE_ENV!=="production")var f={},k=0;function j(S,v,b,C,B,T,N){if(C=C||w,T=T||b,N!==n){if(p){var M=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 M.name="Invariant Violation",M}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var J=C+":"+b;!f[J]&&k<3&&(i("You are manually calling a React.PropTypes validation function for the `"+T+"` prop on `"+C+"`. 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."),f[J]=!0,k++)}}return v[b]==null?S?v[b]===null?new E("The "+B+" `"+T+"` is marked as required "+("in `"+C+"`, but its value is `null`.")):new E("The "+B+" `"+T+"` is marked as required in "+("`"+C+"`, but its value is `undefined`.")):null:l(v,b,C,B,T)}var y=j.bind(null,!1);return y.isRequired=j.bind(null,!0),y}function D(l){function f(k,j,y,S,v,b){var C=k[j],B=z(C);if(B!==l){var T=X(C);return new E("Invalid "+S+" `"+v+"` of type "+("`"+T+"` supplied to `"+y+"`, expected ")+("`"+l+"`."),{expectedType:l})}return null}return A(f)}function q(){return A(u)}function R(l){function f(k,j,y,S,v){if(typeof l!="function")return new E("Property `"+v+"` of component `"+y+"` has invalid PropType notation inside arrayOf.");var b=k[j];if(!Array.isArray(b)){var C=z(b);return new E("Invalid "+S+" `"+v+"` of type "+("`"+C+"` supplied to `"+y+"`, expected an array."))}for(var B=0;B<b.length;B++){var T=l(b,B,y,S,v+"["+B+"]",n);if(T instanceof Error)return T}return null}return A(f)}function F(){function l(f,k,j,y,S){var v=f[k];if(!o(v)){var b=z(v);return new E("Invalid "+y+" `"+S+"` of type "+("`"+b+"` supplied to `"+j+"`, expected a single ReactElement."))}return null}return A(l)}function W(){function l(f,k,j,y,S){var v=f[k];if(!e.isValidElementType(v)){var b=z(v);return new E("Invalid "+y+" `"+S+"` of type "+("`"+b+"` supplied to `"+j+"`, expected a single ReactElement type."))}return null}return A(l)}function O(l){function f(k,j,y,S,v){if(!(k[j]instanceof l)){var b=l.name||w,C=He(k[j]);return new E("Invalid "+S+" `"+v+"` of type "+("`"+C+"` supplied to `"+y+"`, expected ")+("instance of `"+b+"`."))}return null}return A(f)}function $(l){if(!Array.isArray(l))return process.env.NODE_ENV!=="production"&&(arguments.length>1?i("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])."):i("Invalid argument supplied to oneOf, expected an array.")),u;function f(k,j,y,S,v){for(var b=k[j],C=0;C<l.length;C++)if(P(b,l[C]))return null;var B=JSON.stringify(l,function(N,M){var J=X(M);return J==="symbol"?String(M):M});return new E("Invalid "+S+" `"+v+"` of value `"+String(b)+"` "+("supplied to `"+y+"`, expected one of "+B+"."))}return A(f)}function U(l){function f(k,j,y,S,v){if(typeof l!="function")return new E("Property `"+v+"` of component `"+y+"` has invalid PropType notation inside objectOf.");var b=k[j],C=z(b);if(C!=="object")return new E("Invalid "+S+" `"+v+"` of type "+("`"+C+"` supplied to `"+y+"`, expected an object."));for(var B in b)if(a(b,B)){var T=l(b,B,y,S,v+"."+B,n);if(T instanceof Error)return T}return null}return A(f)}function Pe(l){if(!Array.isArray(l))return process.env.NODE_ENV!=="production"&&i("Invalid argument supplied to oneOfType, expected an instance of array."),u;for(var f=0;f<l.length;f++){var k=l[f];if(typeof k!="function")return i("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+Fe(k)+" at index "+f+"."),u}function j(y,S,v,b,C){for(var B=[],T=0;T<l.length;T++){var N=l[T],M=N(y,S,v,b,C,n);if(M==null)return null;M.data&&a(M.data,"expectedType")&&B.push(M.data.expectedType)}var J=B.length>0?", expected one of type ["+B.join(", ")+"]":"";return new E("Invalid "+b+" `"+C+"` supplied to "+("`"+v+"`"+J+"."))}return A(j)}function Me(){function l(f,k,j,y,S){return ee(f[k])?null:new E("Invalid "+y+" `"+S+"` supplied to "+("`"+j+"`, expected a ReactNode."))}return A(l)}function he(l,f,k,j,y){return new E((l||"React class")+": "+f+" type `"+k+"."+j+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+y+"`.")}function _e(l){function f(k,j,y,S,v){var b=k[j],C=z(b);if(C!=="object")return new E("Invalid "+S+" `"+v+"` of type `"+C+"` "+("supplied to `"+y+"`, expected `object`."));for(var B in l){var T=l[B];if(typeof T!="function")return he(y,S,v,B,X(T));var N=T(b,B,y,S,v+"."+B,n);if(N)return N}return null}return A(f)}function Le(l){function f(k,j,y,S,v){var b=k[j],C=z(b);if(C!=="object")return new E("Invalid "+S+" `"+v+"` of type `"+C+"` "+("supplied to `"+y+"`, expected `object`."));var B=t({},k[j],l);for(var T in B){var N=l[T];if(a(l,T)&&typeof N!="function")return he(y,S,v,T,X(N));if(!N)return new E("Invalid "+S+" `"+v+"` key `"+T+"` supplied to `"+y+"`.\nBad object: "+JSON.stringify(k[j],null," ")+`
55
+ Valid keys: `+JSON.stringify(Object.keys(l),null," "));var M=N(b,T,y,S,v+"."+T,n);if(M)return M}return null}return A(f)}function ee(l){switch(typeof l){case"number":case"string":case"undefined":return!0;case"boolean":return!l;case"object":if(Array.isArray(l))return l.every(ee);if(l===null||o(l))return!0;var f=g(l);if(f){var k=f.call(l),j;if(f!==l.entries){for(;!(j=k.next()).done;)if(!ee(j.value))return!1}else for(;!(j=k.next()).done;){var y=j.value;if(y&&!ee(y[1]))return!1}}else return!1;return!0;default:return!1}}function Ne(l,f){return l==="symbol"?!0:f?f["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&f instanceof Symbol:!1}function z(l){var f=typeof l;return Array.isArray(l)?"array":l instanceof RegExp?"object":Ne(f,l)?"symbol":f}function X(l){if(typeof l>"u"||l===null)return""+l;var f=z(l);if(f==="object"){if(l instanceof Date)return"date";if(l instanceof RegExp)return"regexp"}return f}function Fe(l){var f=X(l);switch(f){case"array":case"object":return"an "+f;case"boolean":case"date":case"regexp":return"a "+f;default:return f}}function He(l){return!l.constructor||!l.constructor.name?w:l.constructor.name}return I.checkPropTypes=c,I.resetWarningCache=c.resetWarningCache,I.PropTypes=I,I},ae}var le,we;function dt(){if(we)return le;we=1;var e=pe();function t(){}function n(){}return n.resetWarningCache=t,le=function(){function a(u,o,p,d,x,g){if(g!==e){var w=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 w.name="Invariant Violation",w}}a.isRequired=a;function c(){return a}var i={array:a,bigint:a,bool:a,func:a,number:a,object:a,string:a,symbol:a,any:a,arrayOf:c,element:a,elementType:a,instanceOf:c,node:a,objectOf:c,oneOf:c,oneOfType:c,shape:c,exact:c,checkPropTypes:n,resetWarningCache:t};return i.PropTypes=i,i},le}var Wt=te.exports;if(process.env.NODE_ENV!=="production"){var ut=Q.reactIsExports,pt=!0;te.exports=ct()(ut.isElement,pt)}else te.exports=dt()();var ft=te.exports;const _=Z.getDefaultExportFromCjs(ft);let Te,Ie;typeof document<"u"&&(Te=document);typeof window<"u"&&(Ie=window);const Be=m.createContext({document:Te,window:Ie}),ne=()=>m.useContext(Be),{Provider:ht,Consumer:$t}=Be;class Ae extends m.Component{componentDidMount(){this.props.contentDidMount()}componentDidUpdate(){this.props.contentDidUpdate()}render(){return m.Children.only(this.props.children)}}K(Ae,"propTypes",{children:_.element.isRequired,contentDidMount:_.func.isRequired,contentDidUpdate:_.func.isRequired});class de extends m.Component{constructor(n,a){super(n,a);K(this,"setRef",n=>{this.nodeRef.current=n;const{forwardedRef:a}=this.props;typeof a=="function"?a(n):a&&(a.current=n)});K(this,"handleLoad",()=>{clearInterval(this.loadCheck),this.state.iframeLoaded||this.setState({iframeLoaded:!0})});K(this,"loadCheck",()=>setInterval(()=>{this.handleLoad()},500));this._isMounted=!1,this.nodeRef=m.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 n=this.getDoc();return this.props.mountTarget?n.querySelector(this.props.mountTarget):n.body.children[0]}renderFrameContents(){if(!this._isMounted)return null;const n=this.getDoc();if(!n)return null;const a=this.props.contentDidMount,c=this.props.contentDidUpdate,i=n.defaultView||n.parentView,u=s.jsxRuntimeExports.jsx(Ae,{contentDidMount:a,contentDidUpdate:c,children:s.jsxRuntimeExports.jsx(ht,{value:{document:n,window:i},children:s.jsxRuntimeExports.jsx("div",{className:"frame-content",children:this.props.children})})}),o=this.getMountTarget();return[xe.createPortal(this.props.head,this.getDoc().head),xe.createPortal(u,o)]}render(){const n={...this.props,srcDoc:this.props.initialContent,children:void 0};return delete n.head,delete n.initialContent,delete n.mountTarget,delete n.contentDidMount,delete n.contentDidUpdate,delete n.forwardedRef,s.jsxRuntimeExports.jsx("iframe",{...n,ref:this.setRef,onLoad:this.handleLoad,children:this.state.iframeLoaded&&this.renderFrameContents()})}}K(de,"propTypes",{style:_.object,head:_.node,initialContent:_.string,mountTarget:_.string,contentDidMount:_.func,contentDidUpdate:_.func,children:_.oneOfType([_.element,_.arrayOf(_.element)])}),K(de,"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 xt=m.forwardRef((e,t)=>s.jsxRuntimeExports.jsx(de,{...e,forwardedRef:t}));let Y=null,G=[],V=null,De=null;function gt(e){const t=window.getComputedStyle(e),n=parseInt(t.paddingLeft,10),a=parseInt(t.paddingTop,10),c=parseInt(t.paddingRight,10),i=parseInt(t.paddingBottom,10);return{paddingLeft:n,paddingTop:a,paddingRight:c,paddingBottom:i}}const Re=(e,t,n)=>{if(!Y)return;const a=e.getBoundingClientRect(),c=Y==null?void 0:Y.getElementById("placeholder"),{paddingLeft:i,paddingTop:u,paddingRight:o,paddingBottom:p}=gt(e);c.style.width=t==="vertical"?a.width-i-o+"px":"2px",c.style.height=t==="vertical"?"2px":a.height-u-p+"px",c.style.display="block";const d=G.reduce((x,g)=>Math.abs(g-n)<Math.abs(x-n)?g:x);De=G.indexOf(d),t==="vertical"?(c.style.top=e.offsetTop+d+"px",c.style.left=e.offsetLeft+i+"px"):(c.style.top=e.offsetTop+u+"px",c.style.left=e.offsetLeft+d+"px")},mt=e=>{const t=Oe(e),n=window.getComputedStyle(e),a=t==="horizontal",c=parseInt(n.paddingLeft),i=parseInt(n.paddingTop);let u=a?c:i;G=[u],Array.from(e.children).forEach(o=>{const p=window.getComputedStyle(o),d=parseInt(a?p.marginLeft+p.marginRight:p.marginTop+p.marginBottom),x=a?o.offsetWidth:o.offsetHeight;G.push(u+x+d),u+=x+d})};function Oe(e){const t=window.getComputedStyle(e).display,n=window.getComputedStyle(e).flexDirection;if(t==="flex")return n==="column"||n==="column-reverse"?"vertical":"horizontal";if(t==="grid"){const a=window.getComputedStyle(e).gridTemplateRows,c=window.getComputedStyle(e).gridTemplateColumns;if(a.includes("auto"))return"vertical";if(c.includes("auto"))return"horizontal"}return t==="block"?"vertical":"horizontal"}const yt=h.throttle(e=>{const t=e.target,n=Oe(t);if(n==="vertical"){const a=e.clientY-t.offsetTop;Re(t,n,a)}else{const a=e.clientX-t.offsetLeft;Re(t,n,a)}},200),vt=e=>{e.preventDefault(),e.stopPropagation(),yt(e)};function ce(){const e=Y==null?void 0:Y.getElementById("placeholder");e.style.display="none"}const jt=()=>{const{document:e}=ne(),[t,n]=H.useAtom(r.draggingFlagAtom),a=Ye.useAddBlockByDrop(),c=Se.useFeature("dnd"),[,i]=r.useHighlightBlockId(),[,u]=r.useSelectedBlockIds();return Y=e,{isDragging:t,"data-dnd":"branch",onDragOver:c?vt:h.noop,onDrop:c?o=>{V==null||V.classList.remove("outline","outline-green-300","outline-2","-outline-offset-2");const p=JSON.parse(o.dataTransfer.getData("text/plain"));let d=o.target.getAttribute("data-block-id");d===null&&(d=o.target.parentElement.getAttribute("data-block-id")),a({block:p,dropTargetId:d||null,relativeIndex:De}),n(!1),ce(),setTimeout(()=>{ce()},300)}:h.noop,onDragEnter:c?o=>{const p=o;V=p.target,p.stopPropagation(),p.preventDefault(),G=[];const d=p.target;mt(d),d.classList.add("outline","outline-green-300","outline-2","-outline-offset-2"),n(!0),i(""),u([])}:h.noop,onDragLeave:c?o=>{const p=o;V=null,p.stopPropagation(),p.preventDefault(),p.target.classList.remove("outline","outline-green-300","outline-2","-outline-offset-2")}:h.noop,onMouseOut:c?()=>{n(!1),ce()}:h.noop}};function fe(e){return e.getAttribute("data-block-id")?e:e.closest("[data-block-id]")}function bt(e){e.container.innerHTML="",e.container.parentNode.removeChild(e.container);var t=document.querySelector(".ql-toolbar");t&&t.parentNode.removeChild(t),e=null}const Et=()=>{const e=["Heading","Paragraph","Text","Link","Span","Button"],t=r.useUpdateBlocksProps(),[,n]=r.useSelectedBlockIds(),[,a]=r.useHighlightBlockId(),[c,i]=H.useAtom(r.inlineEditingActiveAtom);return u=>{var w;if(c)return;const o=fe(u.target),p=o.getAttribute("data-block-type");if(!p||!e.includes(p))return;const d=o.cloneNode(!0);o.style.display="none",Array.from(d.attributes).forEach(I=>{I.name!=="class"&&d.removeAttribute(I.name)}),p==="Text"&&(d.style.display="inline-block"),o.parentNode.insertBefore(d,o.nextSibling);const x=new ze.Quill(d,{placeholder:"Type here..."});function g(){const I=x.getText(0,x.getLength());t([o.getAttribute("data-block-id")],{content:I}),o.removeAttribute("style"),d.removeEventListener("blur",g,!0),bt(x),i(""),a("")}d.addEventListener("blur",g,!0),x.focus(),(w=d.querySelector(".ql-clipboard"))==null||w.remove(),n([]),i(o.getAttribute("data-block-id"))}},kt=()=>{const[,e]=r.useSelectedStylingBlocks(),[,t]=r.useSelectedBlockIds(),[n]=H.useAtom(r.inlineEditingActiveAtom);return a=>{if(n)return;a.stopPropagation();const c=fe(a.target);if(c!=null&&c.getAttribute("data-block-parent")){const i=c.getAttribute("data-style-prop"),u=c.getAttribute("data-style-id"),o=c.getAttribute("data-block-parent");e([{id:u,prop:i,blockId:o}]),t([o])}else c!=null&&c.getAttribute("data-block-id")&&t([c.getAttribute("data-block-id")])}},wt=h.throttle((e,t)=>{const n=fe(e.target);n!=null&&n.getAttribute("data-style-id")&&t(n.getAttribute("data-style-id"))},100),Rt=()=>{const[,e]=r.useHighlightBlockId(),[t]=H.useAtom(r.inlineEditingActiveAtom);return n=>{t||wt(n,e)}},St=({children:e})=>{const{document:t}=ne(),[n]=r.useSelectedBlockIds(),[a,c]=r.useSelectedStylingBlocks();m.useEffect(()=>{setTimeout(()=>{if(!h.isEmpty(a))return;const d=qe(t,h.head(n));if(d){const x=d.getAttribute("data-style-prop");if(x){const g=d.getAttribute("data-style-id"),w=d.getAttribute("data-block-parent");c([{id:g,prop:x,blockId:w}])}}},100)},[t,n,c,a]);const i=Et(),u=kt(),o=Rt(),p=jt();return s.jsxRuntimeExports.jsx("div",{id:"canvas",onClick:u,onDoubleClick:i,onMouseMove:o,...h.omit(p,"isDragging"),className:"relative mb-5 max-w-full "+(p.isDragging?"dragging":""),children:e})},qe=(e,t)=>e.querySelector(`[data-block-id="${t}"]`),Ct=()=>{const{window:e}=ne(),[t,n]=r.useSelectedBlockIds(),a=r.useAllBlocks(),[,c]=r.useSelectedStylingBlocks(),{undo:i,redo:u}=r.useCanvasHistory(),o=r.useDuplicateBlocks(),[,p]=r.useCutBlockIds(),[,d]=r.useCopyBlockIds(),{pasteBlocks:x}=r.usePasteBlocks(),[,g]=r.usePreviewMode(),w=r.useRemoveBlocks(),{savePage:I}=r.useSavePage(),[P]=H.useAtom(r.inlineEditingActiveAtom),[,E]=H.useAtom(r.editLayerNameAtom),A=q=>{q.key==="Enter"&&(q.preventDefault(),t.length===1&&E(h.head(t)))},D=q=>{const R=a.find(F=>F._id===q);return R?R._parent:null};return m.useEffect(()=>{const q=R=>{if(R.key==="Escape"){n([]),c([]);return}if(A(R),!P&&(R.key==="Delete"||R.key==="Backspace")&&(R.preventDefault(),w(t)),R.ctrlKey||R.metaKey){if(R.key==="ArrowUp"){R.preventDefault();const F=t.length>0?D(t[0]):null;F&&n([F])}if(["z","y","d","x","c","p","s","v"].includes(R.key)){if(P&&["x","z","v"].includes(R.key))return!0;R.preventDefault()}R.key==="s"&&(R.stopPropagation(),R.preventDefault(),I()),R.key==="z"&&i(),R.key==="y"&&u(),R.key==="d"&&o(t),R.key==="x"&&p(t),R.key==="c"&&d(t),R.key==="v"&&t.length>0&&x(t[0])}};return e.removeEventListener("keydown",q),e.addEventListener("keydown",q),()=>{e.removeEventListener("keydown",q)}},[t,n,i,w,g,u,o,p,d,x,P,I,e]),null},Tt=({block:e,label:t})=>{const[,n]=r.useSelectedBlockIds(),[,a]=r.useHighlightBlockId(),[,c]=H.useAtom(r.draggedBlockIdAtom),i=Se.useFeature("dnd");return s.jsxRuntimeExports.jsxs("div",{className:"mr-10 flex cursor-grab items-center space-x-1 px-1",draggable:i?"true":"false",onDragStart:u=>{u.dataTransfer.setData("text/plain",JSON.stringify(h.pick(e,["_id","_type"]))),c(e._id),setTimeout(()=>{n([]),a(null)},200)},children:[s.jsxRuntimeExports.jsx(L.DragHandleDots2Icon,{}),t]})},It=({selectedBlockElement:e,block:t})=>{const n=r.useRemoveBlocks(),a=r.useDuplicateBlocks(),[,c]=r.useSelectedBlockIds(),[,i]=r.useSelectedStylingBlocks(),{floatingStyles:u,refs:o,update:p}=ge.useFloating({placement:"top-start",middleware:[ge.shift(),Ke.flip()],elements:{reference:e}});Je.useResizeObserver(e,()=>p(),e!==null);const d=h.get(t,"_parent",null),x=h.isEmpty(h.get(t,"_name",""))?h.get(t,"_type",""):h.get(t,"_name","");return!e||!t?null:s.jsxRuntimeExports.jsxs("div",{role:"button",tabIndex:0,ref:o.setFloating,style:u,onClick:g=>{g.stopPropagation(),g.preventDefault()},onKeyDown:g=>g.stopPropagation(),className:"z-[99999] flex h-6 items-center bg-blue-500 py-2 text-xs text-white",children:[s.jsxRuntimeExports.jsx(Tt,{label:x,block:t}),s.jsxRuntimeExports.jsxs("div",{className:"flex gap-2 px-1 ",children:[d&&s.jsxRuntimeExports.jsx(L.ArrowUpIcon,{className:"hover:scale-105 ",onClick:()=>{i([]),c([d])}}),r.canDuplicateBlock(h.get(t,"_type",""))?s.jsxRuntimeExports.jsx(L.CopyIcon,{className:"hover:scale-105 ",onClick:()=>a([t==null?void 0:t._id])}):null,r.canDeleteBlock(h.get(t,"_type",""))?s.jsxRuntimeExports.jsx(L.TrashIcon,{className:"hover:scale-105 ",onClick:()=>n([t==null?void 0:t._id])}):null]})]})},Bt=({model:e})=>{const[t]=r.useBrandingOptions(),[n]=r.useSelectedBlockIds(),[a]=r.useDarkMode(),[c]=r.useHighlightBlockId(),[i]=r.useSelectedStylingBlocks(),[u]=H.useAtom(r.draggedBlockIdAtom),{document:o,window:p}=ne(),[d]=m.useState(o==null?void 0:o.getElementById("highlighted-block")),[x]=m.useState(o==null?void 0:o.getElementById("selected-block")),[g]=m.useState(o==null?void 0:o.getElementById("selected-styling-block")),[w]=m.useState(o==null?void 0:o.getElementById("dragged-block"));m.useEffect(()=>{a?o==null||o.documentElement.classList.add("dark"):o==null||o.documentElement.classList.remove("dark")},[a,o]);const I=h.get(t,"headingFont","DM Sans"),P=h.get(t,"bodyFont","DM Sans");return m.useEffect(()=>{const E=h.get(t,"primaryColor","#000"),A=h.get(t,"secondaryColor","#FFF"),D=Xe.tailwindcssPaletteGenerator({colors:[E,A],names:["primary","secondary"]});D.primary.DEFAULT=E,D.secondary.DEFAULT=A;const q=h.get(t,"roundedCorners","0");!p||!p.tailwind||(p.tailwind.config={darkMode:"class",theme:{fontFamily:{heading:[I],body:[P]},extend:{borderRadius:{global:`${q||"0"}px`},colors:D}},plugins:[p.tailwind.plugin.withOptions(({prefix:R="ui"}={})=>({addVariant:F})=>{for(const W of["open","checked","selected","active","disabled"])F(`${R}-${W}`,[`&[data-headlessui-state~="${W}"]`,`:where([data-headlessui-state~="${W}"]) &`]),F(`${R}-not-${W}`,[`&[data-headlessui-state]:not([data-headlessui-state~="${W}"])`,`:where([data-headlessui-state]:not([data-headlessui-state~="${W}"])) &:not([data-headlessui-state])`])})]})},[t,p,I,P]),m.useEffect(()=>{x&&(x.textContent=`${h.map(n,E=>`[data-block-id="${E}"]`).join(",")}{
56
56
  outline: 1px solid ${n.length===1?"#42a1fc":"orange"} !important; outline-offset: -1px;
57
- }`)},[n,h]),m.useEffect(()=>{if(!u){w.textContent="";return}w.textContent=`[data-block-id="${u}"]{ pointer-events: none !important; opacity: 0.2 !important}`},[u]),m.useEffect(()=>{d&&(d.textContent=c?`[data-style-id="${c}"]{ outline: 1px solid #42a1fc !important; outline-offset: -1px;}`:"")},[c,n,d]),m.useEffect(()=>{g&&(g.textContent=`${x.map(i,({id:E})=>`[data-style-id="${E}"]`).join(",")}{
57
+ }`)},[n,x]),m.useEffect(()=>{if(!u){w.textContent="";return}w.textContent=`[data-block-id="${u}"]{ pointer-events: none !important; opacity: 0.2 !important}`},[u]),m.useEffect(()=>{d&&(d.textContent=c?`[data-style-id="${c}"]{ outline: 1px solid #42a1fc !important; outline-offset: -1px;}`:"")},[c,n,d]),m.useEffect(()=>{g&&(g.textContent=`${h.map(i,({id:E})=>`[data-style-id="${E}"]`).join(",")}{
58
58
  outline: 1px solid #42a1fc !important; outline-offset: -1px;
59
- }`)},[i,g]),m.useEffect(()=>{const E=x.get(t,"bodyTextLightColor","#64748b"),A=x.get(t,"bodyTextDarkColor","#94a3b8"),D=x.get(t,"bodyBgLightColor","#FFFFFF"),q=x.get(t,"bodyBgDarkColor","#0f172a");o.body.className=`font-body antialiased text-[${E}] bg-[${D}] dark:text-[${A}] dark:bg-[${q}]`},[t,o,e]),e==="page"?s.jsxRuntimeExports.jsxs(s.jsxRuntimeExports.Fragment,{children:[I&&s.jsxRuntimeExports.jsx("link",{id:"heading-font",rel:"stylesheet",type:"text/css",href:`https://fonts.googleapis.com/css2?family=${I.replace(/ /g,"+")}:wght@300;400;500;600;700;800;900&display=swap`,media:"all"}),P&&I!==P&&s.jsxRuntimeExports.jsx("link",{id:"body-font",rel:"stylesheet",type:"text/css",href:`https://fonts.googleapis.com/css2?family=${P.replace(/ /g,"+")}:wght@300;400;500;600;700;800;900&display=swap`,media:"all"}),I&&s.jsxRuntimeExports.jsx("style",{children:`h1,h2,h3,h4,h5,h6{font-family: "${I}",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},At=e=>{const t={};return Object.keys(e).forEach(n=>{x.isString(e[n])&&e[n].startsWith(Z.SLOT_KEY)&&(t[n]=e[n].replace(Z.SLOT_KEY,"").split(","))}),t},Dt=x.memoize(e=>{const t=e.replace(Z.STYLES_KEY,"").split(",");return Ze.twMerge(t[0],t[1])});function Ot(e,t){return x.get(e,`${t}_attrs`,{})}function qt(e){const t={};return Object.keys(e).forEach(n=>{if(x.isString(e[n])&&e[n].startsWith(Z.STYLES_KEY)){const a=Dt(e[n]);t[n]={className:a,"data-style-prop":n,"data-block-parent":e._id,"data-style-id":`${n}-${e._id}`,...Ot(e,n)}}}),t}function Pt(e,t){const n=x.get(e,"_bindings",{});return x.isEmpty(n)?{...e}:(x.each(n,(a,c)=>{x.isString(a)&&x.get(t,a,null)&&(e[c]=x.get(t,a,null))}),e)}function ue({blocks:e}){const t=r.useAllBlocks(),n=m.useCallback(i=>qt(i),[]),[a]=Q.useChaiExternalData(),[c]=r.useAtom(r.inlineEditingActiveAtom);return s.jsxRuntimeExports.jsx(s.jsxRuntimeExports.Fragment,{children:m.Children.toArray(e.map((i,u)=>{if(c===i._id)return null;const o=At(i),p={};x.isEmpty(o)||Object.keys(o).forEach(w=>{p[w]=m.Children.toArray(o[w].map(I=>s.jsxRuntimeExports.jsx(ue,{blocks:[x.find(t,{_id:I})]})))});const d=x.filter(t,{_parent:i._id});p.children=d.length?s.jsxRuntimeExports.jsx(ue,{blocks:d}):null;const h=Ge.getBlockComponent(i._type),g=x.get(h,"component",null);return x.isNull(g)?s.jsxRuntimeExports.jsx("noscript",{children:`<!-- ${i==null?void 0:i._type} not registered -->`}):s.jsxRuntimeExports.jsx(m.Suspense,{children:m.createElement(g,{blockProps:{"data-block-id":i._id,"data-block-type":i._type,"data-dnd":r.canAddChildBlock(i._type)?"branch":"leaf"},inBuilder:!0,index:u,...Pt(i,a),...n(i),...p})})}))})}const Mt=()=>{const e=r.useAllBlocks();return s.jsxRuntimeExports.jsx(Ve.Provider,{children:x.isEmpty(e)?null:s.jsxRuntimeExports.jsx(Q.BlocksExternalDataProvider,{children:s.jsxRuntimeExports.jsx(ue,{blocks:x.filter(e,t=>x.isEmpty(t._parent))})})})},_t=(e,t)=>e.querySelector(`[data-style-id="${t}"]`),Lt=()=>{const[e]=H.useAtom(r.networkModeAtom),[t]=r.usePreviewMode(),[n]=r.useCanvasWidth(),[,a]=r.useSelectedBlockIds(),c=r.useSelectedBlock(),[,i]=r.useHighlightBlockId(),u=m.useRef(null),o=m.useRef(null),[p,d]=m.useState({width:0,height:0}),h=it(p),[g,w]=m.useState(0),[I,P]=m.useState([]),[,E]=m.useState([]),[,A]=H.useAtom(r.canvasIframeAtom),[D,q]=r.useSelectedStylingBlocks(),R=r.useBuilderProp("loadingCanvas",!1);m.useEffect(()=>{const{clientWidth:O,clientHeight:$}=o.current;d({width:O,height:$}),g===0&&w(O)},[o,n,g]);const F=(O,$=0)=>{const{top:U}=O.getBoundingClientRect();return U+$>=0&&U-$<=window.innerHeight};m.useEffect(()=>{var O,$;if(c&&c.type!=="Multiple"&&u.current){const U=qe(u.current.contentDocument,c._id);U&&(F(U)||($=(O=u.current)==null?void 0:O.contentWindow)==null||$.scrollTo({top:U.offsetTop,behavior:"smooth"}),P([U]))}},[c]),m.useEffect(()=>{if(!x.isEmpty(D)&&u.current){const O=_t(u.current.contentDocument,x.first(D).id);E(O?[O]:[null])}else E([null])},[D]);const W=m.useMemo(()=>{let O=ot;return e==="offline"&&(O=O.replace("https://old.chaibuilder.com/offline/tailwind.cdn.js","/offline/tailwind.cdn.js"),O=O.replace("https://unpkg.com/aos@next/dist/aos.css","/offline/aos.css"),O=O.replace("https://unpkg.com/aos@next/dist/aos.js","/offline/aos.js")),O},[e]);return s.jsxRuntimeExports.jsx("div",{onClick:()=>{a([]),q([])},onMouseLeave:()=>setTimeout(()=>i(""),300),className:"relative mx-auto overflow-hidden h-full w-full",style:g>0&&!x.isEmpty(h)?{width:t?"100%":g}:{},ref:o,children:s.jsxRuntimeExports.jsxs(ht,{contentDidMount:()=>A(u.current),ref:u,id:"canvas-iframe",style:{width:`${n}px`,...h},className:"relative mx-auto box-content h-full max-w-full shadow-lg transition-all duration-300 ease-linear",initialContent:W,children:[s.jsxRuntimeExports.jsx(Ct,{}),s.jsxRuntimeExports.jsx(It,{block:c,selectedBlockElement:x.first(I)}),s.jsxRuntimeExports.jsx(Bt,{model:"page"}),s.jsxRuntimeExports.jsx(St,{children:R?s.jsxRuntimeExports.jsx("div",{className:"h-full p-4",children:s.jsxRuntimeExports.jsx(r.Skeleton,{className:"h-full"})}):s.jsxRuntimeExports.jsx(Mt,{})}),s.jsxRuntimeExports.jsx("br",{}),s.jsxRuntimeExports.jsx("div",{id:"placeholder",className:"absolute bg-green-500 z-[99999] max-w-full transition-transform"})]})})},Nt=m.lazy(()=>Promise.resolve().then(()=>require("./AddBlocks-Yuc4t0Z_.cjs"))),Ft=()=>{const[e,t]=H.useAtom(r.addBlocksModalAtom);return s.jsxRuntimeExports.jsxs("div",{className:"flex h-full w-full flex-col",children:[s.jsxRuntimeExports.jsx(rt,{}),s.jsxRuntimeExports.jsxs("div",{className:"relative h-full overflow-hidden bg-slate-800/90 px-2 bg-[linear-gradient(to_right,#222_0.5px,transparent_0.5px),linear-gradient(to_bottom,#222_0.5px,transparent_0.5px)] bg-[size:12px_12px]",children:[s.jsxRuntimeExports.jsx(m.Suspense,{fallback:s.jsxRuntimeExports.jsx(r.Skeleton,{className:"h-full"}),children:s.jsxRuntimeExports.jsx(Q.ErrorBoundary,{children:s.jsxRuntimeExports.jsx(Lt,{})})}),e?s.jsxRuntimeExports.jsx("div",{onClick:()=>t(!1),className:"absolute inset-0 z-50 flex items-center bg-black/30 backdrop-blur-sm",children:s.jsxRuntimeExports.jsx("div",{onClick:n=>n.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:s.jsxRuntimeExports.jsx(Nt,{})})}):null]})]})};exports.default=Ft;
59
+ }`)},[i,g]),m.useEffect(()=>{const E=h.get(t,"bodyTextLightColor","#64748b"),A=h.get(t,"bodyTextDarkColor","#94a3b8"),D=h.get(t,"bodyBgLightColor","#FFFFFF"),q=h.get(t,"bodyBgDarkColor","#0f172a");o.body.className=`font-body antialiased text-[${E}] bg-[${D}] dark:text-[${A}] dark:bg-[${q}]`},[t,o,e]),e==="page"?s.jsxRuntimeExports.jsxs(s.jsxRuntimeExports.Fragment,{children:[I&&s.jsxRuntimeExports.jsx("link",{id:"heading-font",rel:"stylesheet",type:"text/css",href:`https://fonts.googleapis.com/css2?family=${I.replace(/ /g,"+")}:wght@300;400;500;600;700;800;900&display=swap`,media:"all"}),P&&I!==P&&s.jsxRuntimeExports.jsx("link",{id:"body-font",rel:"stylesheet",type:"text/css",href:`https://fonts.googleapis.com/css2?family=${P.replace(/ /g,"+")}:wght@300;400;500;600;700;800;900&display=swap`,media:"all"}),I&&s.jsxRuntimeExports.jsx("style",{children:`h1,h2,h3,h4,h5,h6{font-family: "${I}",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},At=e=>{const t={};return Object.keys(e).forEach(n=>{h.isString(e[n])&&e[n].startsWith(Z.SLOT_KEY)&&(t[n]=e[n].replace(Z.SLOT_KEY,"").split(","))}),t},Dt=h.memoize(e=>{const t=e.replace(Z.STYLES_KEY,"").split(",");return Ze.twMerge(t[0],t[1])});function Ot(e,t){return h.get(e,`${t}_attrs`,{})}function qt(e){const t={};return Object.keys(e).forEach(n=>{if(h.isString(e[n])&&e[n].startsWith(Z.STYLES_KEY)){const a=Dt(e[n]);t[n]={className:a,"data-style-prop":n,"data-block-parent":e._id,"data-style-id":`${n}-${e._id}`,...Ot(e,n)}}}),t}function Pt(e,t){const n=h.get(e,"_bindings",{});return h.isEmpty(n)?{...e}:(h.forEach(n,(a,c)=>{h.isString(a)&&h.get(t,a,null)&&(e[c]=h.get(t,a,null))}),e)}function ue({blocks:e}){const t=r.useAllBlocks(),n=m.useCallback(i=>qt(i),[]),[a]=Q.useChaiExternalData(),[c]=r.useAtom(r.inlineEditingActiveAtom);return s.jsxRuntimeExports.jsx(s.jsxRuntimeExports.Fragment,{children:m.Children.toArray(e.map((i,u)=>{if(c===i._id)return null;const o=At(i),p={};h.isEmpty(o)||Object.keys(o).forEach(w=>{p[w]=m.Children.toArray(o[w].map(I=>s.jsxRuntimeExports.jsx(ue,{blocks:[h.find(t,{_id:I})]})))});const d=h.filter(t,{_parent:i._id});p.children=d.length?s.jsxRuntimeExports.jsx(ue,{blocks:d}):null;const x=Ge.getBlockComponent(i._type),g=h.get(x,"component",null);return h.isNull(g)?s.jsxRuntimeExports.jsx("noscript",{children:`<!-- ${i==null?void 0:i._type} not registered -->`}):s.jsxRuntimeExports.jsx(m.Suspense,{children:m.createElement(g,{blockProps:{"data-block-id":i._id,"data-block-type":i._type,"data-dnd":r.canAddChildBlock(i._type)?"branch":"leaf"},inBuilder:!0,index:u,...Pt(i,a),...n(i),...p})})}))})}const Mt=()=>{const e=r.useAllBlocks();return s.jsxRuntimeExports.jsx(Ve.Provider,{children:h.isEmpty(e)?null:s.jsxRuntimeExports.jsx(Q.BlocksExternalDataProvider,{children:s.jsxRuntimeExports.jsx(ue,{blocks:h.filter(e,t=>h.isEmpty(t._parent))})})})},_t=(e,t)=>e.querySelector(`[data-style-id="${t}"]`),Lt=()=>{const[e]=H.useAtom(r.networkModeAtom),[t]=r.usePreviewMode(),[n]=r.useCanvasWidth(),[,a]=r.useSelectedBlockIds(),c=r.useSelectedBlock(),[,i]=r.useHighlightBlockId(),u=m.useRef(null),o=m.useRef(null),[p,d]=m.useState({width:0,height:0}),x=it(p),[g,w]=m.useState(0),[I,P]=m.useState([]),[,E]=m.useState([]),[,A]=H.useAtom(r.canvasIframeAtom),[D,q]=r.useSelectedStylingBlocks(),R=r.useBuilderProp("loadingCanvas",!1);m.useEffect(()=>{const{clientWidth:O,clientHeight:$}=o.current;d({width:O,height:$}),g===0&&w(O)},[o,n,g]);const F=(O,$=0)=>{const{top:U}=O.getBoundingClientRect();return U+$>=0&&U-$<=window.innerHeight};m.useEffect(()=>{var O,$;if(c&&c.type!=="Multiple"&&u.current){const U=qe(u.current.contentDocument,c._id);U&&(F(U)||($=(O=u.current)==null?void 0:O.contentWindow)==null||$.scrollTo({top:U.offsetTop,behavior:"smooth"}),P([U]))}},[c]),m.useEffect(()=>{if(!h.isEmpty(D)&&u.current){const O=_t(u.current.contentDocument,h.head(D).id);E(O?[O]:[null])}else E([null])},[D]);const W=m.useMemo(()=>{let O=ot;return e==="offline"&&(O=O.replace("https://old.chaibuilder.com/offline/tailwind.cdn.js","/offline/tailwind.cdn.js"),O=O.replace("https://unpkg.com/aos@next/dist/aos.css","/offline/aos.css"),O=O.replace("https://unpkg.com/aos@next/dist/aos.js","/offline/aos.js")),O},[e]);return s.jsxRuntimeExports.jsx("div",{onClick:()=>{a([]),q([])},onMouseLeave:()=>setTimeout(()=>i(""),300),className:"relative mx-auto overflow-hidden h-full w-full",style:g>0&&!h.isEmpty(x)?{width:t?"100%":g}:{},ref:o,children:s.jsxRuntimeExports.jsxs(xt,{contentDidMount:()=>A(u.current),ref:u,id:"canvas-iframe",style:{width:`${n}px`,...x},className:"relative mx-auto box-content h-full max-w-full shadow-lg transition-all duration-300 ease-linear",initialContent:W,children:[s.jsxRuntimeExports.jsx(Ct,{}),s.jsxRuntimeExports.jsx(It,{block:c,selectedBlockElement:h.head(I)}),s.jsxRuntimeExports.jsx(Bt,{model:"page"}),s.jsxRuntimeExports.jsx(St,{children:R?s.jsxRuntimeExports.jsx("div",{className:"h-full p-4",children:s.jsxRuntimeExports.jsx(r.Skeleton,{className:"h-full"})}):s.jsxRuntimeExports.jsx(Mt,{})}),s.jsxRuntimeExports.jsx("br",{}),s.jsxRuntimeExports.jsx("div",{id:"placeholder",className:"absolute bg-green-500 z-[99999] max-w-full transition-transform"})]})})},Nt=m.lazy(()=>Promise.resolve().then(()=>require("./AddBlocks-AG_J7s2Z.cjs"))),Ft=()=>{const[e,t]=H.useAtom(r.addBlocksModalAtom);return s.jsxRuntimeExports.jsxs("div",{className:"flex h-full w-full flex-col",children:[s.jsxRuntimeExports.jsx(rt,{}),s.jsxRuntimeExports.jsxs("div",{className:"relative h-full overflow-hidden bg-slate-800/90 px-2 bg-[linear-gradient(to_right,#222_0.5px,transparent_0.5px),linear-gradient(to_bottom,#222_0.5px,transparent_0.5px)] bg-[size:12px_12px]",children:[s.jsxRuntimeExports.jsx(m.Suspense,{fallback:s.jsxRuntimeExports.jsx(r.Skeleton,{className:"h-full"}),children:s.jsxRuntimeExports.jsx(Q.ErrorBoundary,{children:s.jsxRuntimeExports.jsx(Lt,{})})}),e?s.jsxRuntimeExports.jsx("div",{onClick:()=>t(!1),className:"absolute inset-0 z-50 flex items-center bg-black/30 backdrop-blur-sm",children:s.jsxRuntimeExports.jsx("div",{onClick:n=>n.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:s.jsxRuntimeExports.jsx(Nt,{})})}):null]})]})};exports.default=Ft;