@chaibuilder/sdk 1.2.6 → 1.2.7

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 (96) hide show
  1. package/dist/AddBlocks-MKhgtI8x.cjs +1 -0
  2. package/dist/{AddBlocks-gbfzju1d.js → AddBlocks-pjLrzkvz.js} +52 -53
  3. package/dist/{BrandingOptions-mZXO7thQ.js → BrandingOptions-PXCI0z-H.js} +57 -53
  4. package/dist/BrandingOptions-tZaUILYP.cjs +1 -0
  5. package/dist/CanvasArea-C2ak1ui1.cjs +60 -0
  6. package/dist/{CanvasArea-7GpvsKP6.js → CanvasArea-Fhg-6_nZ.js} +407 -407
  7. package/dist/CurrentPage-4O-iqW3w.cjs +1 -0
  8. package/dist/{CurrentPage-C52wu_r7.js → CurrentPage-Zz9LEdez.js} +15 -17
  9. package/dist/{Layers-NDtp2-im.js → Layers-cgmxKAP9.js} +173 -152
  10. package/dist/Layers-uo4KpGCs.cjs +1 -0
  11. package/dist/MarkAsGlobalBlock-1kOwPbPm.cjs +1 -0
  12. package/dist/{MarkAsGlobalBlock-SPWd6Flk.js → MarkAsGlobalBlock-htrpRVJM.js} +6 -6
  13. package/dist/{PagesPanel-qV7yGT-K.js → PagesPanel-TYBKN2Am.js} +8 -10
  14. package/dist/PagesPanel-z5qHpU24.cjs +1 -0
  15. package/dist/{ProjectPanel-RJqNz-uq.js → ProjectPanel-PJ1iPaLY.js} +15 -17
  16. package/dist/ProjectPanel-mEVh8sLb.cjs +1 -0
  17. package/dist/{Settings-t0I7LKxe.js → Settings-Na0NVS-E.js} +175 -175
  18. package/dist/Settings-YNxmjfAl.cjs +1 -0
  19. package/dist/{SidePanels-rXx-fGjB.js → SidePanels-bHll6xCt.js} +99 -98
  20. package/dist/SidePanels-jsHvSEtM.cjs +1 -0
  21. package/dist/{Topbar-ks1ckGLz.js → Topbar-JKdXHH8P.js} +4 -4
  22. package/dist/Topbar-jWRuTvxv.cjs +1 -0
  23. package/dist/UnsplashImages-dBdqJNux.cjs +1 -0
  24. package/dist/{UnsplashImages-8vJPuqrF.js → UnsplashImages-jiOES16m.js} +7 -7
  25. package/dist/UploadImages-OD3RPS7j.cjs +1 -0
  26. package/dist/{UploadImages-6N6UrjLo.js → UploadImages-imersU7l.js} +4 -4
  27. package/dist/{add-page-modal-2VlONTs5.js → add-page-modal-EQWWxbry.js} +10 -11
  28. package/dist/add-page-modal-nFQ8TUBM.cjs +1 -0
  29. package/dist/{confirm-alert-biqvaLT-.js → confirm-alert-HOs52FKE.js} +4 -4
  30. package/dist/confirm-alert-j6hcFSlG.cjs +1 -0
  31. package/dist/{controls-XPXGHKht.js → controls-QGClapUl.js} +9 -45
  32. package/dist/{controls-Dy1qa8Dc.cjs → controls-hpe3HxsR.cjs} +1 -1
  33. package/dist/core.cjs +1 -1
  34. package/dist/core.js +56 -58
  35. package/dist/{delete-page-modal-_8O4RCkG.js → delete-page-modal-DU388lPm.js} +21 -23
  36. package/dist/delete-page-modal-bkSWhTxz.cjs +1 -0
  37. package/dist/email-blocks.cjs +1 -1
  38. package/dist/email-blocks.js +263 -24
  39. package/dist/{form-Moz_psOw.js → form-7E1GY3U7.js} +1 -1
  40. package/dist/{form-lJhy9DEC.cjs → form-lF5eSfMe.cjs} +1 -1
  41. package/dist/html-to-json-JS8zQjYB.cjs +1 -0
  42. package/dist/{html-to-json-yjzEN9OX.js → html-to-json-lNLC8Y7D.js} +26 -27
  43. package/dist/{index-482XFRhB.js → index-7vwIQQ-T.js} +5402 -5366
  44. package/dist/index-98CxilGX.cjs +1 -0
  45. package/dist/{index-3OU9zl6c.cjs → index-Hf23Fq9m.cjs} +33 -33
  46. package/dist/{index-_OgCuSUz.js → index-WKIG_VPl.js} +1043 -1036
  47. package/dist/index-e0c8PmRQ.js +205 -0
  48. package/dist/index-gi1LIOCw.cjs +1 -0
  49. package/dist/lib.cjs +2 -2
  50. package/dist/lib.js +20 -22
  51. package/dist/mockServiceWorker.js +1 -1
  52. package/dist/page-viewer-6a4GFMUg.cjs +1 -0
  53. package/dist/{page-viewer-ajtG_WZC.js → page-viewer-fohh_Dwv.js} +9 -11
  54. package/dist/{project-general-setting-TIHLI4Qg.js → project-general-setting-Ryf5OhPd.js} +10 -11
  55. package/dist/project-general-setting-j4lKlLUE.cjs +1 -0
  56. package/dist/project-seo-setting-CATo4bEL.cjs +1 -0
  57. package/dist/{project-seo-setting-dXclexQW.js → project-seo-setting-KKOCl416.js} +6 -6
  58. package/dist/{single-page-detail-lST7hWvC.js → single-page-detail-mJBo7VRe.js} +11 -12
  59. package/dist/single-page-detail-zms-5Fa_.cjs +1 -0
  60. package/dist/studio.cjs +1 -1
  61. package/dist/studio.js +7 -9
  62. package/dist/style.css +1 -1
  63. package/dist/ui.cjs +1 -1
  64. package/dist/ui.js +18 -18
  65. package/dist/{useAddBlockByDrop-uPXvrg4G.js → useAddBlockByDrop-CmSt8dRr.js} +1 -1
  66. package/dist/{useAddBlockByDrop-_nd8yZBa.cjs → useAddBlockByDrop-pVcDjcgp.cjs} +1 -1
  67. package/dist/{utils-AvyFzbPC.js → utils-Jw11nj1S.js} +35 -26
  68. package/dist/utils-j7Kg63NR.cjs +1 -0
  69. package/dist/web-blocks.cjs +1 -9
  70. package/dist/web-blocks.js +3 -1049
  71. package/package.json +5 -5
  72. package/dist/AddBlocks-wuKI1ieB.cjs +0 -1
  73. package/dist/BrandingOptions-arKT1zCy.cjs +0 -1
  74. package/dist/CanvasArea-jvwkPvtQ.cjs +0 -59
  75. package/dist/CurrentPage-tHBommaV.cjs +0 -1
  76. package/dist/Functions-7jnEwJyw.js +0 -15
  77. package/dist/Functions-N3yhPYKY.cjs +0 -1
  78. package/dist/Layers-4G-0aNk9.cjs +0 -1
  79. package/dist/MarkAsGlobalBlock-S2BhHTsK.cjs +0 -1
  80. package/dist/PagesPanel-qZ_-tybb.cjs +0 -1
  81. package/dist/ProjectPanel-vzyFbBNU.cjs +0 -1
  82. package/dist/Settings-SV08lVcH.cjs +0 -1
  83. package/dist/SidePanels-TOJotvzn.cjs +0 -1
  84. package/dist/Topbar-u5XKdWgQ.cjs +0 -1
  85. package/dist/UnsplashImages-V8oKEHfi.cjs +0 -1
  86. package/dist/UploadImages-eHYxwWAp.cjs +0 -1
  87. package/dist/add-page-modal-a8r8poMY.cjs +0 -1
  88. package/dist/confirm-alert-f3DYO5Hj.cjs +0 -1
  89. package/dist/delete-page-modal-NmwHGjZP.cjs +0 -1
  90. package/dist/html-to-json-5UoswV2Q.cjs +0 -1
  91. package/dist/index-IIJ_o44s.cjs +0 -1
  92. package/dist/page-viewer-k2VlWE3T.cjs +0 -1
  93. package/dist/project-general-setting-tAgCjUtR.cjs +0 -1
  94. package/dist/project-seo-setting-9JGBPzcA.cjs +0 -1
  95. package/dist/single-page-detail-6btKDNjs.cjs +0 -1
  96. package/dist/utils-PTxFk6qT.cjs +0 -1
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-Z_BpKhVy.cjs"),a=require("react"),t=require("lodash-es"),R=require("jotai"),q=require("react-i18next"),s=require("./index-98CxilGX.cjs"),C=require("@radix-ui/react-icons"),b=require("@chaibuilder/runtime"),w=require("flagged"),N=require("lucide-react"),B=require("react-dnd"),A=require("./html-to-json-JS8zQjYB.cjs");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("./utils-j7Kg63NR.cjs");require("clsx");require("tailwind-merge");require("./MODIFIERS-2FeVfZQ9.cjs");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("lodash");require("@react-hookz/web");require("himalaya");const S=({block:r})=>{const{type:o,icon:i,label:n}=r,{addCoreBlock:m,addPredefinedBlock:d}=s.useAddBlock(),[p,l]=s.useSelectedBlockIds(),[,h]=s.useHighlightBlockId(),[,j]=R.useAtom(s.activePanelAtom),u=()=>{t.has(r,"blocks")?d(b.syncBlocksWithDefaults(r.blocks),t.first(p)):m(r,t.first(p)),j("layers")},c=w.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:u,type:"button",onDragStart:g=>{g.dataTransfer.setData("text/plain",JSON.stringify(t.omit(r,["component","icon"]))),setTimeout(()=>{l([]),h(null),j("layers")},200)},draggable:c?"true":"false",className:"space-y-2 rounded-lg border border-border p-3 text-center hover:bg-slate-300/50 "+(c?"cursor-grab":"cursor-pointer"),children:[a.createElement(i||C.BoxIcon,{className:"w-4 h-4 mx-auto"}),e.jsxRuntimeExports.jsx("p",{className:"truncate text-xs",children:n||o})]})}),e.jsxRuntimeExports.jsx(s.TooltipContent,{children:e.jsxRuntimeExports.jsx("p",{children:n||o})})]})})},I=({block:r,closePopover:o})=>{var c;const[i,n]=a.useState(!1),m=s.useBuilderProp("getExternalPredefinedBlock"),{addCoreBlock:d,addPredefinedBlock:p}=s.useAddBlock(),[l]=s.useSelectedBlockIds(),[,h,j]=B.useDrag(()=>({type:"CHAI_BLOCK",item:r}),[r]),u=a.useCallback(async g=>{if(g.stopPropagation(),t.has(r,"component")){d(r,t.first(l)),o();return}n(!0);const f=await m(r);t.isEmpty(f)||p(b.syncBlocksWithDefaults(f),t.first(l)),o()},[r]);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(B.DragPreviewImage,{connect:j,src:"https://placehold.co/100x30/000000/FFF?text="+((c=r.name||r.label)==null?void 0:c.replace(" ","+"))}),e.jsxRuntimeExports.jsxs("div",{ref:h,onClick:i?()=>{}:u,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:[i&&e.jsxRuntimeExports.jsxs("div",{className:"absolute flex h-full w-full items-center justify-center bg-black bg-opacity-70",children:[e.jsxRuntimeExports.jsx(N.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})})]})]})},P=()=>{const{data:r}=s.useUILibraryBlocks(),o=b.useChaiBlocks(),i=t.filter(t.values(o),{category:"custom"}),n=t.groupBy(i,"group"),m=t.groupBy(r,"group"),d=a.useMemo(()=>t.mergeWith(n,m,(u,c)=>{if(t.isArray(u)&&t.isArray(c))return[...u,...c]}),[n,m]),[p,l]=a.useState(t.first(t.keys(d))||""),[,h]=R.useAtom(s.activePanelAtom),j=t.get(d,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:u=>l(u),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"}),a.Children.toArray(t.map(d,(u,c)=>e.jsxRuntimeExports.jsx(s.SelectItem,{value:c,children:c},c)))]})]})}),e.jsxRuntimeExports.jsx("div",{className:"h-full w-full space-y-2 overflow-y-auto px-2",children:a.Children.toArray(j.map(u=>e.jsxRuntimeExports.jsx(I,{block:u,closePopover:()=>h("layers")})))})]})},_=()=>{const{t:r}=q.useTranslation(),[o,i]=a.useState(""),{addPredefinedBlock:n}=s.useAddBlock(),[m]=s.useSelectedBlockIds(),[,d]=R.useAtom(s.activePanelAtom),p=()=>{const l=A.getBlocksFromHTML(o);n([...l],t.first(m)||null),i(""),d("layers")};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:r("html_snippet_description")})}),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:r("tailwind_html_snippet")}),e.jsxRuntimeExports.jsx(s.Textarea,{autoFocus:!0,tabIndex:1,ref:l=>l&&l.focus(),onChange:l=>i(l.target.value),rows:12,value:o,placeholder:r("enter_code_snippet"),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:o.trim()==="",onClick:()=>p(),size:"sm",className:"w-full",children:r("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:r("note_imported_html")})})]})]})},k=["ListItem","TableHead","TableBody","TableRow","TableCell","Column"],L=(r,o)=>{if(!r)return!t.includes(k,o);const i=r._type;return i==="List"?o==="ListItem":i==="Table"?o==="TableHead"||o==="TableBody":i==="TableHead"||i==="TableBody"?o==="TableRow":i==="TableRow"?o==="TableCell":i==="Row"?o==="Column":i==="Heading"||i==="Text"?o==="RawText":!t.includes(k,o)},H=()=>{const{t:r}=q.useTranslation(),[o,i]=a.useState("core"),[n,m]=a.useState("basic"),d=b.useChaiBlocks(),[,p]=R.useAtom(s.showPredefinedBlockCategoryAtom),l=s.useBuilderProp("importHTMLSupport",!0),[h]=s.useSelectedBlockIds(),j=s.useAllBlocks(),u=t.find(j,{_id:t.first(h)}),{data:c,isLoading:g}=s.useUILibraryBlocks(),f=t.groupBy(t.filter(d,x=>L(u,x.type)),"category"),E=t.uniq(t.map(f.core,"group"));a.useEffect(()=>{!t.includes(E,n)&&!t.isEmpty(E)&&!t.isEmpty(n)&&m(t.first(E))},[E,n]);const T=x=>m(y=>y===x?"":x),v=!g&&!t.isEmpty(c)||t.find(t.values(d),{category:"custom"})!==void 0;return e.jsxRuntimeExports.jsxs("div",{className:"flex h-full flex-col overflow-hidden",children:[e.jsxRuntimeExports.jsxs("div",{className:"mb-2 flex 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:r("add_block")}),e.jsxRuntimeExports.jsx("span",{className:"p-0 text-xs font-light leading-3 opacity-80 xl:pl-1",children:r(o==="html"?"enter_paste_tailwind_html":"click_to_add_block")})]}),e.jsxRuntimeExports.jsx(s.Tabs,{onValueChange:x=>{p(""),i(x)},value:o,className:"h-max",children:e.jsxRuntimeExports.jsxs(s.TabsList,{className:"grid w-full "+(v&&l?"grid-cols-3":"grid-cols-2"),children:[e.jsxRuntimeExports.jsx(s.TabsTrigger,{value:"core",children:r("core")}),v?e.jsxRuntimeExports.jsx(s.TabsTrigger,{value:"ui-blocks",children:r("custom_blocks")}):null,l?e.jsxRuntimeExports.jsx(s.TabsTrigger,{value:"html",children:r("import")}):null]})}),o==="core"&&e.jsxRuntimeExports.jsx(s.ScrollArea,{className:"-mx-1.5 h-full",children:e.jsxRuntimeExports.jsx(s.Accordion,{type:"single",value:n,className:"w-full px-3",children:a.Children.toArray(t.map(E,x=>t.reject(t.filter(t.values(f.core),{group:x}),{hidden:!0}).length?e.jsxRuntimeExports.jsxs(s.AccordionItem,{value:x,className:"border-border",children:[e.jsxRuntimeExports.jsx(s.AccordionTrigger,{onClick:()=>T(x),className:"py-2 capitalize",children:x}),e.jsxRuntimeExports.jsx(s.AccordionContent,{children:e.jsxRuntimeExports.jsx("div",{className:"grid grid-cols-3 gap-2",children:a.Children.toArray(t.reject(t.filter(t.values(f.core),{group:x}),{hidden:!0}).map(y=>e.jsxRuntimeExports.jsx(S,{block:y})))})})]}):null))})}),o==="ui-blocks"&&e.jsxRuntimeExports.jsx(a.Suspense,{fallback:e.jsxRuntimeExports.jsx(s.Skeleton,{className:"h-32 w-full"}),children:e.jsxRuntimeExports.jsx(P,{})}),o==="html"&&l?e.jsxRuntimeExports.jsx(_,{}):null]})};exports.default=H;
@@ -1,22 +1,22 @@
1
1
  import { j as e } from "./jsx-runtime-WbnYoNE9.js";
2
- import B, { createElement as U, useState as b, useCallback as W, useMemo as J, useEffect as K, Suspense as Q } from "react";
3
- import { has as R, first as u, omit as X, isEmpty as j, filter as y, values as v, groupBy as T, mergeWith as Y, isArray as I, keys as Z, get as $, map as A, includes as _, find as H, uniq as ee, reject as F } from "lodash-es";
2
+ import B, { createElement as U, useState as b, useCallback as W, useMemo as J, useEffect as K, Suspense as $ } from "react";
3
+ import { has as D, first as u, omit as Q, isEmpty as j, filter as v, values as y, groupBy as N, mergeWith as X, isArray as L, keys as Y, get as Z, map as A, includes as _, find as H, uniq as ee, reject as F } from "lodash-es";
4
4
  import { useAtom as k } from "jotai";
5
5
  import { useTranslation as G } from "react-i18next";
6
- import { O as P, j as w, _ as se, av as S, aC as re, aD as te, aF as oe, i as M, a8 as q, aq as le, ar as ae, as as ie, at as ce, au as D, bo as ne, bp as de, bq as me, br as pe, aH as ue, bs as xe, bt as he, B as fe, bu as ge, bv as be, bw as je, ae as ye, aw as ve, ax as Be, ay as N, bn as ke, bg as we, bh as Ce, bi as Ne, bj as Te, S as Ae } from "./index-_OgCuSUz.js";
6
+ import { P, j as w, $ as se, aw as S, aD as re, aE as te, aG as oe, i as z, a9 as M, ar as le, as as ae, at as ie, au as ne, av as E, bo as ce, bp as de, bq as me, br as pe, aI as ue, bs as xe, bt as he, B as fe, bu as ge, bv as be, bw as je, af as ve, ax as ye, ay as Be, az as C, bn as ke, bg as we, bh as Te, bi as Ce, bj as Ne, S as Ae } from "./index-WKIG_VPl.js";
7
7
  import { BoxIcon as _e } from "@radix-ui/react-icons";
8
- import { syncBlocksWithDefaults as z, useChaiBlocks as O } from "@chaibuilder/runtime";
8
+ import { syncBlocksWithDefaults as q, useChaiBlocks as V } from "@chaibuilder/runtime";
9
9
  import { useFeature as Pe } from "flagged";
10
10
  import { Loader as Se } from "lucide-react";
11
- import { useDrag as Le, DragPreviewImage as Ie } from "react-dnd";
12
- import { g as He } from "./html-to-json-yjzEN9OX.js";
11
+ import { useDrag as Ie, DragPreviewImage as Le } from "react-dnd";
12
+ import { g as He } from "./html-to-json-lNLC8Y7D.js";
13
13
  import "./_commonjsHelpers-UyOWmZb0.js";
14
14
  import "@radix-ui/react-toggle";
15
15
  import "class-variance-authority";
16
- import "./utils-AvyFzbPC.js";
17
- import "./MODIFIERS-RiXS5Mn1.js";
16
+ import "./utils-Jw11nj1S.js";
18
17
  import "clsx";
19
18
  import "tailwind-merge";
19
+ import "./MODIFIERS-RiXS5Mn1.js";
20
20
  import "@radix-ui/react-switch";
21
21
  import "@radix-ui/react-slot";
22
22
  import "@radix-ui/react-accordion";
@@ -39,14 +39,13 @@ import "react-icons-picker";
39
39
  import "react-dom";
40
40
  import "react-quill";
41
41
  import "flat-to-nested";
42
- import "./Functions-7jnEwJyw.js";
43
42
  import "redux-undo";
43
+ import "lodash";
44
44
  import "@react-hookz/web";
45
45
  import "himalaya";
46
- import "lodash";
47
46
  const Fe = ({ block: s }) => {
48
- const { type: r, icon: t, label: l } = s, { addCoreBlock: d, addPredefinedBlock: c } = P(), [m, o] = w(), [, x] = se(), [, p] = k(S), i = () => {
49
- R(s, "blocks") ? c(z(s.blocks), u(m)) : d(s, u(m)), p("layers");
47
+ const { type: r, icon: t, label: l } = s, { addCoreBlock: d, addPredefinedBlock: n } = P(), [m, o] = w(), [, x] = se(), [, p] = k(S), i = () => {
48
+ D(s, "blocks") ? n(q(s.blocks), u(m)) : d(s, u(m)), p("layers");
50
49
  }, a = Pe("dnd");
51
50
  return /* @__PURE__ */ e.jsx(e.Fragment, { children: /* @__PURE__ */ e.jsxs(re, { children: [
52
51
  /* @__PURE__ */ e.jsx(te, { asChild: !0, children: /* @__PURE__ */ e.jsxs(
@@ -55,7 +54,7 @@ const Fe = ({ block: s }) => {
55
54
  onClick: i,
56
55
  type: "button",
57
56
  onDragStart: (f) => {
58
- f.dataTransfer.setData("text/plain", JSON.stringify(X(s, ["component", "icon"]))), setTimeout(() => {
57
+ f.dataTransfer.setData("text/plain", JSON.stringify(Q(s, ["component", "icon"]))), setTimeout(() => {
59
58
  o([]), x(null), p("layers");
60
59
  }, 200);
61
60
  },
@@ -69,9 +68,9 @@ const Fe = ({ block: s }) => {
69
68
  ) }),
70
69
  /* @__PURE__ */ e.jsx(oe, { children: /* @__PURE__ */ e.jsx("p", { children: l || r }) })
71
70
  ] }) });
72
- }, De = ({ block: s, closePopover: r }) => {
71
+ }, Ee = ({ block: s, closePopover: r }) => {
73
72
  var a;
74
- const [t, l] = b(!1), d = M("getExternalPredefinedBlock"), { addCoreBlock: c, addPredefinedBlock: m } = P(), [o] = w(), [, x, p] = Le(
73
+ const [t, l] = b(!1), d = z("getExternalPredefinedBlock"), { addCoreBlock: n, addPredefinedBlock: m } = P(), [o] = w(), [, x, p] = Ie(
75
74
  () => ({
76
75
  type: "CHAI_BLOCK",
77
76
  item: s
@@ -79,19 +78,19 @@ const Fe = ({ block: s }) => {
79
78
  [s]
80
79
  ), i = W(
81
80
  async (f) => {
82
- if (f.stopPropagation(), R(s, "component")) {
83
- c(s, u(o)), r();
81
+ if (f.stopPropagation(), D(s, "component")) {
82
+ n(s, u(o)), r();
84
83
  return;
85
84
  }
86
85
  l(!0);
87
86
  const h = await d(s);
88
- j(h) || m(z(h), u(o)), r();
87
+ j(h) || m(q(h), u(o)), r();
89
88
  },
90
89
  [s]
91
90
  );
92
91
  return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
93
92
  /* @__PURE__ */ e.jsx(
94
- Ie,
93
+ Le,
95
94
  {
96
95
  connect: p,
97
96
  src: "https://placehold.co/100x30/000000/FFF?text=" + ((a = s.name || s.label) == null ? void 0 : a.replace(" ", "+"))
@@ -122,31 +121,31 @@ const Fe = ({ block: s }) => {
122
121
  }
123
122
  )
124
123
  ] });
125
- }, Ee = () => {
126
- const { data: s } = q(), r = O(), t = y(v(r), { category: "custom" }), l = T(t, "group"), d = T(s, "group"), c = J(() => Y(l, d, (i, a) => {
127
- if (I(i) && I(a))
124
+ }, Re = () => {
125
+ const { data: s } = M(), r = V(), t = v(y(r), { category: "custom" }), l = N(t, "group"), d = N(s, "group"), n = J(() => X(l, d, (i, a) => {
126
+ if (L(i) && L(a))
128
127
  return [...i, ...a];
129
- }), [l, d]), [m, o] = b(u(Z(c)) || ""), [, x] = k(S), p = $(c, m, []);
128
+ }), [l, d]), [m, o] = b(u(Y(n)) || ""), [, x] = k(S), p = Z(n, m, []);
130
129
  return /* @__PURE__ */ e.jsxs("div", { className: "relative flex flex-col h-full max-h-full overflow-hidden py-2", children: [
131
130
  /* @__PURE__ */ e.jsx("div", { className: "p-3 sticky top-0 flex w-full items-center", children: /* @__PURE__ */ e.jsxs(le, { value: m, onValueChange: (i) => o(i), children: [
132
131
  /* @__PURE__ */ e.jsx(ae, { className: "w-full", children: /* @__PURE__ */ e.jsx(ie, { placeholder: "Select a provider" }) }),
133
- /* @__PURE__ */ e.jsxs(ce, { children: [
134
- /* @__PURE__ */ e.jsx(D, { value: "", children: "Choose" }),
132
+ /* @__PURE__ */ e.jsxs(ne, { children: [
133
+ /* @__PURE__ */ e.jsx(E, { value: "", children: "Choose" }),
135
134
  B.Children.toArray(
136
- A(c, (i, a) => /* @__PURE__ */ e.jsx(D, { value: a, children: a }, a))
135
+ A(n, (i, a) => /* @__PURE__ */ e.jsx(E, { value: a, children: a }, a))
137
136
  )
138
137
  ] })
139
138
  ] }) }),
140
139
  /* @__PURE__ */ e.jsx("div", { className: "h-full w-full space-y-2 overflow-y-auto px-2", children: B.Children.toArray(
141
- p.map((i) => /* @__PURE__ */ e.jsx(De, { block: i, closePopover: () => x("layers") }))
140
+ p.map((i) => /* @__PURE__ */ e.jsx(Ee, { block: i, closePopover: () => x("layers") }))
142
141
  ) })
143
142
  ] });
144
- }, Re = () => {
145
- const { t: s } = G(), [r, t] = b(""), { addPredefinedBlock: l } = P(), [d] = w(), [, c] = k(S), m = () => {
143
+ }, De = () => {
144
+ const { t: s } = G(), [r, t] = b(""), { addPredefinedBlock: l } = P(), [d] = w(), [, n] = k(S), m = () => {
146
145
  const o = He(r);
147
- l([...o], u(d) || null), t(""), c("layers");
146
+ l([...o], u(d) || null), t(""), n("layers");
148
147
  };
149
- return /* @__PURE__ */ e.jsxs(ne, { className: "border-border/0 p-0 shadow-none", children: [
148
+ return /* @__PURE__ */ e.jsxs(ce, { className: "border-border/0 p-0 shadow-none", children: [
150
149
  /* @__PURE__ */ e.jsx(de, { className: "p-3", children: /* @__PURE__ */ e.jsx(me, { children: s("html_snippet_description") }) }),
151
150
  /* @__PURE__ */ e.jsx(pe, { className: "space-y-2 px-3 py-0", children: /* @__PURE__ */ e.jsxs("div", { className: "space-y-1", children: [
152
151
  /* @__PURE__ */ e.jsx(ue, { htmlFor: "current", className: "text-sm", children: s("tailwind_html_snippet") }),
@@ -169,57 +168,57 @@ const Fe = ({ block: s }) => {
169
168
  /* @__PURE__ */ e.jsx(ge, { variant: "default", className: "mt-2 p-1 border-none text-gray-400", children: /* @__PURE__ */ e.jsx(be, { className: "text-xs font-normal leading-4", children: s("note_imported_html") }) })
170
169
  ] })
171
170
  ] });
172
- }, E = ["ListItem", "TableHead", "TableBody", "TableRow", "TableCell", "Column"], Ge = (s, r) => {
171
+ }, R = ["ListItem", "TableHead", "TableBody", "TableRow", "TableCell", "Column"], Ge = (s, r) => {
173
172
  if (!s)
174
- return !_(E, r);
173
+ return !_(R, r);
175
174
  const t = s._type;
176
- return t === "List" ? r === "ListItem" : t === "Table" ? r === "TableHead" || r === "TableBody" : t === "TableHead" || t === "TableBody" ? r === "TableRow" : t === "TableRow" ? r === "TableCell" : t === "Row" ? r === "Column" : !_(E, r);
177
- }, Ls = () => {
178
- const { t: s } = G(), [r, t] = b("core"), [l, d] = b("basic"), c = O(), [, m] = k(je), o = M("importHTMLSupport", !0), [x] = w(), p = ye(), i = H(p, { _id: u(x) }), { data: a, isLoading: f } = q(), h = T(
179
- y(c, (n) => Ge(i, n.type)),
175
+ return t === "List" ? r === "ListItem" : t === "Table" ? r === "TableHead" || r === "TableBody" : t === "TableHead" || t === "TableBody" ? r === "TableRow" : t === "TableRow" ? r === "TableCell" : t === "Row" ? r === "Column" : t === "Heading" || t === "Text" ? r === "RawText" : !_(R, r);
176
+ }, Ss = () => {
177
+ const { t: s } = G(), [r, t] = b("core"), [l, d] = b("basic"), n = V(), [, m] = k(je), o = z("importHTMLSupport", !0), [x] = w(), p = ve(), i = H(p, { _id: u(x) }), { data: a, isLoading: f } = M(), h = N(
178
+ v(n, (c) => Ge(i, c.type)),
180
179
  "category"
181
180
  ), g = ee(A(h.core, "group"));
182
181
  K(() => {
183
182
  !_(g, l) && !j(g) && !j(l) && d(u(g));
184
183
  }, [g, l]);
185
- const V = (n) => d((C) => C === n ? "" : n), L = !f && !j(a) || H(v(c), { category: "custom" }) !== void 0;
184
+ const O = (c) => d((T) => T === c ? "" : c), I = !f && !j(a) || H(y(n), { category: "custom" }) !== void 0;
186
185
  return /* @__PURE__ */ e.jsxs("div", { className: "flex h-full flex-col overflow-hidden", children: [
187
186
  /* @__PURE__ */ e.jsxs("div", { className: "mb-2 flex flex-col justify-between rounded-md bg-background/30 p-1", children: [
188
187
  /* @__PURE__ */ e.jsx("h1", { className: "flex flex-col items-baseline px-1 text-xl font-semibold xl:flex-col", children: s("add_block") }),
189
188
  /* @__PURE__ */ e.jsx("span", { className: "p-0 text-xs font-light leading-3 opacity-80 xl:pl-1", children: s(r === "html" ? "enter_paste_tailwind_html" : "click_to_add_block") })
190
189
  ] }),
191
190
  /* @__PURE__ */ e.jsx(
192
- ve,
191
+ ye,
193
192
  {
194
- onValueChange: (n) => {
195
- m(""), t(n);
193
+ onValueChange: (c) => {
194
+ m(""), t(c);
196
195
  },
197
196
  value: r,
198
197
  className: "h-max",
199
- children: /* @__PURE__ */ e.jsxs(Be, { className: "grid w-full " + (L && o ? "grid-cols-3" : "grid-cols-2"), children: [
200
- /* @__PURE__ */ e.jsx(N, { value: "core", children: s("core") }),
201
- L ? /* @__PURE__ */ e.jsx(N, { value: "ui-blocks", children: s("custom_blocks") }) : null,
202
- o ? /* @__PURE__ */ e.jsx(N, { value: "html", children: s("import") }) : null
198
+ children: /* @__PURE__ */ e.jsxs(Be, { className: "grid w-full " + (I && o ? "grid-cols-3" : "grid-cols-2"), children: [
199
+ /* @__PURE__ */ e.jsx(C, { value: "core", children: s("core") }),
200
+ I ? /* @__PURE__ */ e.jsx(C, { value: "ui-blocks", children: s("custom_blocks") }) : null,
201
+ o ? /* @__PURE__ */ e.jsx(C, { value: "html", children: s("import") }) : null
203
202
  ] })
204
203
  }
205
204
  ),
206
205
  r === "core" && /* @__PURE__ */ e.jsx(ke, { className: "-mx-1.5 h-full", children: /* @__PURE__ */ e.jsx(we, { type: "single", value: l, className: "w-full px-3", children: B.Children.toArray(
207
206
  A(
208
207
  g,
209
- (n) => F(y(v(h.core), { group: n }), {
208
+ (c) => F(v(y(h.core), { group: c }), {
210
209
  hidden: !0
211
- }).length ? /* @__PURE__ */ e.jsxs(Ce, { value: n, className: "border-border", children: [
212
- /* @__PURE__ */ e.jsx(Ne, { onClick: () => V(n), className: "py-2 capitalize", children: n }),
213
- /* @__PURE__ */ e.jsx(Te, { children: /* @__PURE__ */ e.jsx("div", { className: "grid grid-cols-3 gap-2", children: B.Children.toArray(
214
- F(y(v(h.core), { group: n }), { hidden: !0 }).map((C) => /* @__PURE__ */ e.jsx(Fe, { block: C }))
210
+ }).length ? /* @__PURE__ */ e.jsxs(Te, { value: c, className: "border-border", children: [
211
+ /* @__PURE__ */ e.jsx(Ce, { onClick: () => O(c), className: "py-2 capitalize", children: c }),
212
+ /* @__PURE__ */ e.jsx(Ne, { children: /* @__PURE__ */ e.jsx("div", { className: "grid grid-cols-3 gap-2", children: B.Children.toArray(
213
+ F(v(y(h.core), { group: c }), { hidden: !0 }).map((T) => /* @__PURE__ */ e.jsx(Fe, { block: T }))
215
214
  ) }) })
216
215
  ] }) : null
217
216
  )
218
217
  ) }) }),
219
- r === "ui-blocks" && /* @__PURE__ */ e.jsx(Q, { fallback: /* @__PURE__ */ e.jsx(Ae, { className: "h-32 w-full" }), children: /* @__PURE__ */ e.jsx(Ee, {}) }),
220
- r === "html" && o ? /* @__PURE__ */ e.jsx(Re, {}) : null
218
+ r === "ui-blocks" && /* @__PURE__ */ e.jsx($, { fallback: /* @__PURE__ */ e.jsx(Ae, { className: "h-32 w-full" }), children: /* @__PURE__ */ e.jsx(Re, {}) }),
219
+ r === "html" && o ? /* @__PURE__ */ e.jsx(De, {}) : null
221
220
  ] });
222
221
  };
223
222
  export {
224
- Ls as default
223
+ Ss as default
225
224
  };
@@ -1,17 +1,17 @@
1
1
  import { j as t } from "./jsx-runtime-WbnYoNE9.js";
2
2
  import * as c from "react";
3
- import O from "@rjsf/validator-ajv8";
4
- import N from "@rjsf/core";
5
- import { i as j, x as k } from "./index-_OgCuSUz.js";
6
- import { f as g, c as D, y as a } from "./controls-XPXGHKht.js";
7
- import { debounce as P, isEqual as R } from "lodash-es";
3
+ import N from "@rjsf/validator-ajv8";
4
+ import j from "@rjsf/core";
5
+ import { i as k, x as D, y as P } from "./index-WKIG_VPl.js";
6
+ import { f, c as R, y as a } from "./controls-QGClapUl.js";
7
+ import { debounce as w, isEqual as L } from "lodash-es";
8
8
  import "./_commonjsHelpers-UyOWmZb0.js";
9
9
  import "@radix-ui/react-toggle";
10
10
  import "class-variance-authority";
11
- import "./utils-AvyFzbPC.js";
12
- import "./MODIFIERS-RiXS5Mn1.js";
11
+ import "./utils-Jw11nj1S.js";
13
12
  import "clsx";
14
13
  import "tailwind-merge";
14
+ import "./MODIFIERS-RiXS5Mn1.js";
15
15
  import "@radix-ui/react-switch";
16
16
  import "@radix-ui/react-slot";
17
17
  import "@radix-ui/react-accordion";
@@ -36,24 +36,24 @@ import "react-dom";
36
36
  import "react-quill";
37
37
  import "jotai";
38
38
  import "flat-to-nested";
39
- import "./Functions-7jnEwJyw.js";
40
39
  import "redux-undo";
41
40
  import "@chaibuilder/runtime";
41
+ import "lodash";
42
42
  import "@react-hookz/web";
43
43
  import "react-i18next";
44
- const w = ({ value: s, onChange: e, id: u, onBlur: i }) => {
45
- const p = P(e, 200), d = (l) => p(l.target.value);
44
+ const F = ({ value: u, onChange: e, id: p, onBlur: d }) => {
45
+ const i = w(e, 200), m = (l) => i(l.target.value);
46
46
  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(
47
47
  "input",
48
48
  {
49
49
  type: "color",
50
50
  className: "text-xs p-0",
51
- value: s,
52
- onBlur: ({ target: { value: l } }) => i(u, l),
53
- onChange: d
51
+ value: u,
52
+ onBlur: ({ target: { value: l } }) => d(p, l),
53
+ onChange: m
54
54
  }
55
55
  ) }) });
56
- }, f = [
56
+ }, g = [
57
57
  { title: "Roboto", value: "Roboto" },
58
58
  { title: "Open Sans", value: "Open Sans" },
59
59
  { title: "Montserrat", value: "Montserrat" },
@@ -103,48 +103,52 @@ const w = ({ value: s, onChange: e, id: u, onBlur: i }) => {
103
103
  { title: "Lustria", value: "Lustria" },
104
104
  { title: "Ovo", value: "Ovo" },
105
105
  { title: "Suranna", value: "Suranna" }
106
- ], bt = () => {
107
- const s = j("onSaveBrandingOptions", async () => {
108
- }), [e, u] = k(), i = c.useRef(e);
106
+ ], St = () => {
107
+ const u = k("onSaveBrandingOptions", async () => {
108
+ }), [e, p] = D(), [d] = P(), i = c.useRef(e);
109
109
  c.useEffect(() => () => {
110
- R(e, i.current) || s(i.current);
110
+ L(e, i.current) || u(i.current);
111
111
  }, []);
112
- const p = ({ formData: o }, n) => {
113
- n && (u(o), i.current = o);
112
+ const m = ({ formData: o }, s) => {
113
+ s && (p(o), i.current = o);
114
114
  }, {
115
- bodyFont: d,
116
- headingFont: l,
117
- primaryColor: h,
115
+ bodyFont: l,
116
+ headingFont: h,
117
+ primaryColor: y,
118
118
  bodyTextDarkColor: x,
119
- bodyTextLightColor: y,
120
- bodyBgDarkColor: b,
121
- secondaryColor: C,
122
- bodyBgLightColor: S,
123
- roundedCorners: B
124
- } = e, m = {
125
- headingFont: g({
119
+ bodyTextLightColor: b,
120
+ bodyBgDarkColor: C,
121
+ secondaryColor: S,
122
+ bodyBgLightColor: B,
123
+ roundedCorners: O
124
+ } = e;
125
+ let r = {
126
+ headingFont: f({
126
127
  title: "Heading font",
127
- default: l,
128
- options: f
128
+ default: h,
129
+ options: g
129
130
  }),
130
- bodyFont: g({
131
+ bodyFont: f({
131
132
  title: "Body font",
132
- default: d,
133
- options: f
133
+ default: l,
134
+ options: g
134
135
  }),
135
- roundedCorners: D({
136
+ roundedCorners: R({
136
137
  title: "Rounded Corner",
137
- default: parseInt(B || 5, 10)
138
+ default: parseInt(O || 5, 10)
138
139
  }),
139
- primaryColor: a({ title: "Primary", default: h }),
140
- secondaryColor: a({ title: "Secondary", default: C }),
140
+ primaryColor: a({ title: "Primary", default: y }),
141
+ secondaryColor: a({ title: "Secondary", default: S })
142
+ };
143
+ d || (r = {
144
+ ...r,
141
145
  bodyBgLightColor: a({
142
146
  title: "Body Background (Light)",
143
- default: S
147
+ default: B
144
148
  }),
145
149
  bodyBgDarkColor: a({
146
150
  title: "Body Background (Dark)",
147
- default: b
151
+ default: C
148
152
  }),
149
153
  bodyTextLightColor: a({
150
154
  title: "Body Text (Light)",
@@ -152,23 +156,23 @@ const w = ({ value: s, onChange: e, id: u, onBlur: i }) => {
152
156
  }),
153
157
  bodyTextDarkColor: a({
154
158
  title: "Body Text (Dark)",
155
- default: y
159
+ default: b
156
160
  })
157
- // TODO: exteend more options from user
158
- }, r = {
161
+ });
162
+ const n = {
159
163
  type: "object",
160
164
  properties: {}
161
165
  }, v = {};
162
- return Object.keys(m).forEach((o) => {
163
- const n = m[o];
164
- return r.properties || (r.properties = {}), r.properties[o] = n.schema, v[o] = n.uiSchema, !0;
166
+ return Object.keys(r).forEach((o) => {
167
+ const s = r[o];
168
+ return n.properties || (n.properties = {}), n.properties[o] = s.schema, v[o] = s.uiSchema, !0;
165
169
  }), /* @__PURE__ */ t.jsxs("div", { className: "flex h-full select-none flex-col", children: [
166
170
  /* @__PURE__ */ t.jsx("div", { className: "rounded-md bg-background/30 p-1", children: /* @__PURE__ */ t.jsx("h1", { className: "px-1 font-semibold", children: "Branding Options" }) }),
167
171
  /* @__PURE__ */ t.jsx("div", { className: "-mx-2", children: /* @__PURE__ */ t.jsx(
168
- N,
172
+ j,
169
173
  {
170
174
  widgets: {
171
- color: w
175
+ color: F
172
176
  },
173
177
  idSeparator: ".",
174
178
  autoComplete: "off",
@@ -176,14 +180,14 @@ const w = ({ value: s, onChange: e, id: u, onBlur: i }) => {
176
180
  liveOmit: !0,
177
181
  liveValidate: !0,
178
182
  uiSchema: v,
179
- schema: r,
183
+ schema: n,
180
184
  formData: e,
181
- validator: O,
182
- onChange: p
185
+ validator: N,
186
+ onChange: m
183
187
  }
184
188
  ) })
185
189
  ] });
186
190
  };
187
191
  export {
188
- bt as default
192
+ St as default
189
193
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./jsx-runtime-Z_BpKhVy.cjs"),B=require("react"),R=require("@rjsf/validator-ajv8"),E=require("@rjsf/core"),p=require("./index-98CxilGX.cjs"),r=require("./controls-hpe3HxsR.cjs"),m=require("lodash-es");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("./utils-j7Kg63NR.cjs");require("clsx");require("tailwind-merge");require("./MODIFIERS-2FeVfZQ9.cjs");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("lodash");require("@react-hookz/web");require("react-i18next");function N(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const i in t)if(i!=="default"){const l=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,l.get?l:{enumerable:!0,get:()=>t[i]})}}return e.default=t,Object.freeze(e)}const x=N(B),k=({value:t,onChange:e,id:i,onBlur:l})=>{const n=m.debounce(e,200),v=u=>n(u.target.value);return a.jsxRuntimeExports.jsx("div",{className:"mt-1.5 flex items-center gap-x-3",children:a.jsxRuntimeExports.jsx("div",{className:"flex w-3/5 flex-col",children:a.jsxRuntimeExports.jsx("input",{type:"color",className:"text-xs p-0",value:t,onBlur:({target:{value:u}})=>l(i,u),onChange:v})})})},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=p.useBuilderProp("onSaveBrandingOptions",async()=>{}),[e,i]=p.useBrandingOptions(),[l]=p.useBlocksContainer(),n=x.useRef(e);x.useEffect(()=>()=>{m.isEqual(e,n.current)||t(n.current)},[]);const v=({formData:o},d)=>{d&&(i(o),n.current=o)},{bodyFont:u,headingFont:y,primaryColor:q,bodyTextDarkColor:b,bodyTextLightColor:h,bodyBgDarkColor:S,secondaryColor:C,bodyBgLightColor:O,roundedCorners:j}=e;let s={headingFont:r.f({title:"Heading font",default:y,options:f}),bodyFont:r.f({title:"Body font",default:u,options:f}),roundedCorners:r.c({title:"Rounded Corner",default:parseInt(j||5,10)}),primaryColor:r.y({title:"Primary",default:q}),secondaryColor:r.y({title:"Secondary",default:C})};l||(s={...s,bodyBgLightColor:r.y({title:"Body Background (Light)",default:O}),bodyBgDarkColor:r.y({title:"Body Background (Dark)",default:S}),bodyTextLightColor:r.y({title:"Body Text (Light)",default:b}),bodyTextDarkColor:r.y({title:"Body Text (Dark)",default:h})});const c={type:"object",properties:{}},g={};return Object.keys(s).forEach(o=>{const d=s[o];return c.properties||(c.properties={}),c.properties[o]=d.schema,g[o]=d.uiSchema,!0}),a.jsxRuntimeExports.jsxs("div",{className:"flex h-full select-none flex-col",children:[a.jsxRuntimeExports.jsx("div",{className:"rounded-md bg-background/30 p-1",children:a.jsxRuntimeExports.jsx("h1",{className:"px-1 font-semibold",children:"Branding Options"})}),a.jsxRuntimeExports.jsx("div",{className:"-mx-2",children:a.jsxRuntimeExports.jsx(E,{widgets:{color:k},idSeparator:".",autoComplete:"off",omitExtraData:!0,liveOmit:!0,liveValidate:!0,uiSchema:g,schema:c,formData:e,validator:R,onChange:v})})]})};exports.default=P;
@@ -0,0 +1,60 @@
1
+ "use strict";var Ue=Object.defineProperty;var ze=(e,t,n)=>t in e?Ue(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var K=(e,t,n)=>(ze(e,typeof t!="symbol"?t+"":t,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./jsx-runtime-Z_BpKhVy.cjs"),g=require("react"),p=require("lodash-es"),L=require("@radix-ui/react-icons"),o=require("./index-98CxilGX.cjs"),ne=require("react-i18next"),H=require("jotai"),ge=require("react-dom"),Ye=require("./_commonjsHelpers-wDK0ZLPo.cjs"),G=require("./index-Hf23Fq9m.cjs"),Ke=require("react-quill"),Je=require("./useAddBlockByDrop-pVcDjcgp.cjs"),Ce=require("flagged"),Ve=require("@floating-ui/dom"),me=require("@floating-ui/react-dom"),Ze=require("@react-hookz/web"),Qe=require("@bobthered/tailwindcss-palette-generator"),Ge=require("react-wrap-balancer"),Xe=require("tailwind-merge"),ee=require("./MODIFIERS-2FeVfZQ9.cjs"),Te=require("@chaibuilder/runtime"),et=require("lodash");require("@radix-ui/react-toggle");require("class-variance-authority");require("./utils-j7Kg63NR.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-JS8zQjYB.cjs");require("himalaya");require("lucide-react");require("./web-blocks.cjs");const tt=()=>{const{undoCount:e,redoCount:t,undo:n,redo:i}=o.useCanvasHistory();return s.jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[s.jsxRuntimeExports.jsx(o.Button,{disabled:!e,size:"sm",onClick:n,className:"rounded-full",variant:"ghost",children:s.jsxRuntimeExports.jsx(L.ResetIcon,{})}),s.jsxRuntimeExports.jsx(o.Button,{disabled:!t,onClick:i,size:"sm",className:"rounded-full",variant:"ghost",children:s.jsxRuntimeExports.jsx(L.ResetIcon,{className:"rotate-180 scale-y-[-1] transform"})})]})};function nt(){const[e,t]=o.useDarkMode(),{t:n}=ne.useTranslation();return s.jsxRuntimeExports.jsxs("div",{className:"flex items-center",children:[s.jsxRuntimeExports.jsx(o.Label,{htmlFor:"dark-mode-switch",children:n("dark_mode")}),s.jsxRuntimeExports.jsxs(o.Switch,{id:"dark-mode-switch",checked:e,onCheckedChange:()=>{t(!e)},className:`${e?"bg-violet-600":"bg-violet-300"}
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:n("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 ye=({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"}})]}),st=[{title:"mobile_xs_title",content:"mobile_xs_content",breakpoint:"xs",icon:s.jsxRuntimeExports.jsx(L.MobileIcon,{}),width:400},{title:"mobile_sm_title",content:"mobile_sm_content",breakpoint:"sm",icon:s.jsxRuntimeExports.jsx(L.MobileIcon,{className:"rotate-90"}),width:640},{title:"tablet_md_title",content:"tablet_md_content",breakpoint:"md",icon:s.jsxRuntimeExports.jsx(ye,{}),width:800},{title:"tablet_lg_title",content:"tablet_lg_content",breakpoint:"lg",icon:s.jsxRuntimeExports.jsx(ye,{landscape:!0}),width:1024},{title:"desktop_xl_title",content:"desktop_xl_content",breakpoint:"xl",icon:s.jsxRuntimeExports.jsx(L.LaptopIcon,{}),width:1420},{title:"large_desktop_2xl_title",content:"large_desktop_2xl_content",breakpoint:"2xl",icon:s.jsxRuntimeExports.jsx(L.DesktopIcon,{}),width:1920}],ve=({title:e,content:t,currentBreakpoint:n,breakpoint:i,width:a,icon:c,onClick:u})=>{const{t:r}=ne.useTranslation();return s.jsxRuntimeExports.jsxs(o.HoverCard,{children:[s.jsxRuntimeExports.jsx(o.HoverCardTrigger,{asChild:!0,children:s.jsxRuntimeExports.jsx(o.Button,{onClick:()=>u(a),size:"sm",variant:i===n?"secondary":"ghost",children:c})}),s.jsxRuntimeExports.jsx(o.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:r(e)}),s.jsxRuntimeExports.jsx("p",{className:"text-xs",children:r(t)})]})})})]})},rt=()=>{const[,e,t]=o.useCanvasWidth(),[n,i]=o.useSelectedBreakpoints(),{t:a}=ne.useTranslation(),c=o.useBuilderProp("breakpoints",st),u=r=>{n.includes(r)?n.length>2&&i(n.filter(d=>d!==r)):i(d=>[...d,r])};return c.length<4?s.jsxRuntimeExports.jsx("div",{className:"flex items-center rounded-md",children:p.map(c,r=>g.createElement(ve,{...r,onClick:t,key:r.breakpoint,currentBreakpoint:e}))}):s.jsxRuntimeExports.jsxs("div",{className:"flex items-center rounded-md",children:[p.map(c.filter(r=>p.includes(n,p.toUpper(r.breakpoint))),r=>g.createElement(ve,{...r,onClick:t,key:r.breakpoint,currentBreakpoint:e})),s.jsxRuntimeExports.jsxs(o.DropdownMenu,{children:[s.jsxRuntimeExports.jsx(o.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(o.DropdownMenuContent,{className:"w-56 border-border text-xs",children:[s.jsxRuntimeExports.jsx(o.DropdownMenuLabel,{children:a("Breakpoints")}),s.jsxRuntimeExports.jsx(o.DropdownMenuSeparator,{}),p.map(c,r=>s.jsxRuntimeExports.jsx(o.DropdownMenuCheckboxItem,{disabled:r.breakpoint==="xs",onCheckedChange:()=>u(p.toUpper(r.breakpoint)),checked:p.includes(n,p.toUpper(r.breakpoint)),children:a(r.title)},r.breakpoint))]})]})]})},ot=()=>{const{t:e}=ne.useTranslation(),[t]=o.useSetAllBlocks(),{createSnapshot:n}=o.useCanvasHistory(),[,i]=o.useSelectedBlockIds(),[,a]=o.useSelectedStylingBlocks(),c=g.useCallback(()=>{t([]),i([]),a([]),n()},[t,n]);return s.jsxRuntimeExports.jsx("div",{className:"flex items-center",children:s.jsxRuntimeExports.jsxs(o.AlertDialog,{children:[s.jsxRuntimeExports.jsx(o.AlertDialogTrigger,{asChild:!0,children:s.jsxRuntimeExports.jsxs(o.Button,{size:"sm",variant:"ghost",className:"flex items-center gap-x-1",children:[s.jsxRuntimeExports.jsx(L.EraserIcon,{})," ",e("clear")]})}),s.jsxRuntimeExports.jsxs(o.AlertDialogContent,{className:"border-border",children:[s.jsxRuntimeExports.jsxs(o.AlertDialogHeader,{children:[s.jsxRuntimeExports.jsx(o.AlertDialogTitle,{children:e("clear_canvas_title")}),s.jsxRuntimeExports.jsx(o.AlertDialogDescription,{children:e("clear_canvas_description")})]}),s.jsxRuntimeExports.jsxs(o.AlertDialogFooter,{children:[s.jsxRuntimeExports.jsx(o.AlertDialogCancel,{children:e("cancel")}),s.jsxRuntimeExports.jsx(o.AlertDialogAction,{onClick:c,children:e("yes")})]})]})]})})},it=()=>{const e=o.useFeatureSupport("darkMode",!1),[t]=o.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(nt,{}),s.jsxRuntimeExports.jsx(o.Separator,{orientation:"vertical"})]}):null,s.jsxRuntimeExports.jsx(rt,{}),s.jsxRuntimeExports.jsx(o.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:[p.round(t,0),"%"]})]}),s.jsxRuntimeExports.jsx(o.Separator,{orientation:"vertical"}),s.jsxRuntimeExports.jsx(tt,{})]}),s.jsxRuntimeExports.jsxs("div",{className:"flex h-full items-center space-x-2",children:[s.jsxRuntimeExports.jsx(o.Separator,{orientation:"vertical"}),s.jsxRuntimeExports.jsx(ot,{})]})]})},at=`<!doctype html>
4
+ <html class="scroll-smooth h-full overflow-y-auto">
5
+ <head>
6
+ <meta charset="UTF-8">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
+ <script src="https://old.chaibuilder.com/offline/tailwind.cdn.js"><\/script>
9
+ <style>
10
+ html { height: 100%; overflow:auto; }
11
+ body { height: 100%; }
12
+ .air-highlight{ outline: 1px solid #42a1fc !important; outline-offset: -1px;}
13
+ .air-highlight-multi{ outline: 1px solid #29e503 !important; outline-offset: -1px;}
14
+ body{ -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none;
15
+ -moz-user-select: none;-ms-user-select: none; user-select: none; }
16
+ html{
17
+ -ms-overflow-style: none; /* IE and Edge */
18
+ scrollbar-width: none; /* Firefox */
19
+ }
20
+ /** IMPORTANT: Make fields content editable in SAFARI */
21
+ [contenteditable] {-webkit-user-select: text;user-select: text;}
22
+
23
+ html::-webkit-scrollbar { width: 0 !important }
24
+ .aspect-auto{aspect-ratio: auto;}
25
+ .aspect-square{aspect-ratio: 1/1;}
26
+ .aspect-video{aspect-ratio: 16/9;}
27
+ .dragging [data-dnd="leaf"] { pointer-events: none; } .dragging [data-dnd="leaf"] * { pointer-events: none; }
28
+ .dragging [data-dnd="ignore"], .dragging [data-dnd="ignore"] * { pointer-events: none; }
29
+ a{ pointer-events: none !important; }
30
+ [contenteditable="true"], [contenteditable="true"] * { cursor: text !important; }
31
+ [contenteditable="true"] {
32
+ outline: none;
33
+ box-shadow: 0 0 0px 4px rgba(36, 150, 255, 0.2);
34
+ -webkit-user-select: text;
35
+ -moz-user-select: text;
36
+ user-select: text;
37
+ }
38
+ .frame-root .frame-content { height: 100%; }
39
+ </style>
40
+ <style id="hidden-blocks"></style>
41
+ <style id="selected-block"></style>
42
+ <style id="selected-styling-block"></style>
43
+ <style id="highlighted-block"></style>
44
+ <style id="dragged-block"></style>
45
+
46
+ </head>
47
+ <body class="font-body antialiased h-full">
48
+ <div class="frame-root h-full"></div>
49
+ <script src="https://cdn.jsdelivr.net/npm/quill@2.0.0/dist/quill.js"><\/script>
50
+ </body>
51
+ </html>`,lt=e=>{const[t]=o.useCanvasWidth(),[,n]=o.useCanvasZoom(),[i,a]=g.useState({}),c=g.useCallback(()=>{const{width:u,height:r}=e;if(u<t){const d=parseFloat((u/t).toFixed(2).toString());let x={};const h=r*d;r&&(x={height:100+(r-h)/h*100+"%"}),a({position:"relative",top:0,transform:`scale(${d})`,transformOrigin:"top left",...x,maxWidth:"none"}),n(d*100)}else a({}),n(100)},[t,e,n]);return g.useEffect(()=>{c()},[t,e,n,c]),i};var te={exports:{}};/*
52
+ object-assign
53
+ (c) Sindre Sorhus
54
+ @license MIT
55
+ */var re,je;function ct(){if(je)return re;je=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function i(c){if(c==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(c)}function a(){try{if(!Object.assign)return!1;var c=new String("abc");if(c[5]="de",Object.getOwnPropertyNames(c)[0]==="5")return!1;for(var u={},r=0;r<10;r++)u["_"+String.fromCharCode(r)]=r;var d=Object.getOwnPropertyNames(u).map(function(h){return u[h]});if(d.join("")!=="0123456789")return!1;var x={};return"abcdefghijklmnopqrst".split("").forEach(function(h){x[h]=h}),Object.keys(Object.assign({},x)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return re=a()?Object.assign:function(c,u){for(var r,d=i(c),x,h=1;h<arguments.length;h++){r=Object(arguments[h]);for(var m in r)t.call(r,m)&&(d[m]=r[m]);if(e){x=e(r);for(var y=0;y<x.length;y++)n.call(r,x[y])&&(d[x[y]]=r[x[y]])}}return d},re}var oe,be;function fe(){if(be)return oe;be=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return oe=e,oe}var ie,Ee;function Ie(){return Ee||(Ee=1,ie=Function.call.bind(Object.prototype.hasOwnProperty)),ie}var ae,ke;function dt(){if(ke)return ae;ke=1;var e=function(){};if(process.env.NODE_ENV!=="production"){var t=fe(),n={},i=Ie();e=function(c){var u="Warning: "+c;typeof console<"u"&&console.error(u);try{throw new Error(u)}catch{}}}function a(c,u,r,d,x){if(process.env.NODE_ENV!=="production"){for(var h in c)if(i(c,h)){var m;try{if(typeof c[h]!="function"){var y=Error((d||"React class")+": "+r+" type `"+h+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof c[h]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw y.name="Invariant Violation",y}m=c[h](u,h,d,r,null,t)}catch(q){m=q}if(m&&!(m instanceof Error)&&e((d||"React class")+": type specification of "+r+" `"+h+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof m+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),m instanceof Error&&!(m.message in n)){n[m.message]=!0;var B=x?x():"";e("Failed "+r+" type: "+m.message+(B??""))}}}}return a.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(n={})},ae=a,ae}var le,Re;function ut(){if(Re)return le;Re=1;var e=G.reactIsExports,t=ct(),n=fe(),i=Ie(),a=dt(),c=function(){};process.env.NODE_ENV!=="production"&&(c=function(r){var d="Warning: "+r;typeof console<"u"&&console.error(d);try{throw new Error(d)}catch{}});function u(){return null}return le=function(r,d){var x=typeof Symbol=="function"&&Symbol.iterator,h="@@iterator";function m(l){var f=l&&(x&&l[x]||l[h]);if(typeof f=="function")return f}var y="<<anonymous>>",B={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:O(),arrayOf:w,element:F(),elementType:W(),instanceOf:_,node:Le(),objectOf:U,oneOf:$,oneOfType:Me,shape:Ne,exact:He};function q(l,f){return l===f?l!==0||1/l===1/f:l!==l&&f!==f}function k(l,f){this.message=l,this.data=f&&typeof f=="object"?f:{},this.stack=""}k.prototype=Error.prototype;function A(l){if(process.env.NODE_ENV!=="production")var f={},R=0;function b(S,j,E,C,I,T,N){if(C=C||y,T=T||E,N!==n){if(d){var P=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 P.name="Invariant Violation",P}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var J=C+":"+E;!f[J]&&R<3&&(c("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,R++)}}return j[E]==null?S?j[E]===null?new k("The "+I+" `"+T+"` is marked as required "+("in `"+C+"`, but its value is `null`.")):new k("The "+I+" `"+T+"` is marked as required in "+("`"+C+"`, but its value is `undefined`.")):null:l(j,E,C,I,T)}var v=b.bind(null,!1);return v.isRequired=b.bind(null,!0),v}function D(l){function f(R,b,v,S,j,E){var C=R[b],I=z(C);if(I!==l){var T=V(C);return new k("Invalid "+S+" `"+j+"` of type "+("`"+T+"` supplied to `"+v+"`, expected ")+("`"+l+"`."),{expectedType:l})}return null}return A(f)}function O(){return A(u)}function w(l){function f(R,b,v,S,j){if(typeof l!="function")return new k("Property `"+j+"` of component `"+v+"` has invalid PropType notation inside arrayOf.");var E=R[b];if(!Array.isArray(E)){var C=z(E);return new k("Invalid "+S+" `"+j+"` of type "+("`"+C+"` supplied to `"+v+"`, expected an array."))}for(var I=0;I<E.length;I++){var T=l(E,I,v,S,j+"["+I+"]",n);if(T instanceof Error)return T}return null}return A(f)}function F(){function l(f,R,b,v,S){var j=f[R];if(!r(j)){var E=z(j);return new k("Invalid "+v+" `"+S+"` of type "+("`"+E+"` supplied to `"+b+"`, expected a single ReactElement."))}return null}return A(l)}function W(){function l(f,R,b,v,S){var j=f[R];if(!e.isValidElementType(j)){var E=z(j);return new k("Invalid "+v+" `"+S+"` of type "+("`"+E+"` supplied to `"+b+"`, expected a single ReactElement type."))}return null}return A(l)}function _(l){function f(R,b,v,S,j){if(!(R[b]instanceof l)){var E=l.name||y,C=$e(R[b]);return new k("Invalid "+S+" `"+j+"` of type "+("`"+C+"` supplied to `"+v+"`, expected ")+("instance of `"+E+"`."))}return null}return A(f)}function $(l){if(!Array.isArray(l))return process.env.NODE_ENV!=="production"&&(arguments.length>1?c("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])."):c("Invalid argument supplied to oneOf, expected an array.")),u;function f(R,b,v,S,j){for(var E=R[b],C=0;C<l.length;C++)if(q(E,l[C]))return null;var I=JSON.stringify(l,function(N,P){var J=V(P);return J==="symbol"?String(P):P});return new k("Invalid "+S+" `"+j+"` of value `"+String(E)+"` "+("supplied to `"+v+"`, expected one of "+I+"."))}return A(f)}function U(l){function f(R,b,v,S,j){if(typeof l!="function")return new k("Property `"+j+"` of component `"+v+"` has invalid PropType notation inside objectOf.");var E=R[b],C=z(E);if(C!=="object")return new k("Invalid "+S+" `"+j+"` of type "+("`"+C+"` supplied to `"+v+"`, expected an object."));for(var I in E)if(i(E,I)){var T=l(E,I,v,S,j+"."+I,n);if(T instanceof Error)return T}return null}return A(f)}function Me(l){if(!Array.isArray(l))return process.env.NODE_ENV!=="production"&&c("Invalid argument supplied to oneOfType, expected an instance of array."),u;for(var f=0;f<l.length;f++){var R=l[f];if(typeof R!="function")return c("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+We(R)+" at index "+f+"."),u}function b(v,S,j,E,C){for(var I=[],T=0;T<l.length;T++){var N=l[T],P=N(v,S,j,E,C,n);if(P==null)return null;P.data&&i(P.data,"expectedType")&&I.push(P.data.expectedType)}var J=I.length>0?", expected one of type ["+I.join(", ")+"]":"";return new k("Invalid "+E+" `"+C+"` supplied to "+("`"+j+"`"+J+"."))}return A(b)}function Le(){function l(f,R,b,v,S){return X(f[R])?null:new k("Invalid "+v+" `"+S+"` supplied to "+("`"+b+"`, expected a ReactNode."))}return A(l)}function he(l,f,R,b,v){return new k((l||"React class")+": "+f+" type `"+R+"."+b+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+v+"`.")}function Ne(l){function f(R,b,v,S,j){var E=R[b],C=z(E);if(C!=="object")return new k("Invalid "+S+" `"+j+"` of type `"+C+"` "+("supplied to `"+v+"`, expected `object`."));for(var I in l){var T=l[I];if(typeof T!="function")return he(v,S,j,I,V(T));var N=T(E,I,v,S,j+"."+I,n);if(N)return N}return null}return A(f)}function He(l){function f(R,b,v,S,j){var E=R[b],C=z(E);if(C!=="object")return new k("Invalid "+S+" `"+j+"` of type `"+C+"` "+("supplied to `"+v+"`, expected `object`."));var I=t({},R[b],l);for(var T in I){var N=l[T];if(i(l,T)&&typeof N!="function")return he(v,S,j,T,V(N));if(!N)return new k("Invalid "+S+" `"+j+"` key `"+T+"` supplied to `"+v+"`.\nBad object: "+JSON.stringify(R[b],null," ")+`
56
+ Valid keys: `+JSON.stringify(Object.keys(l),null," "));var P=N(E,T,v,S,j+"."+T,n);if(P)return P}return null}return A(f)}function X(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(X);if(l===null||r(l))return!0;var f=m(l);if(f){var R=f.call(l),b;if(f!==l.entries){for(;!(b=R.next()).done;)if(!X(b.value))return!1}else for(;!(b=R.next()).done;){var v=b.value;if(v&&!X(v[1]))return!1}}else return!1;return!0;default:return!1}}function Fe(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":Fe(f,l)?"symbol":f}function V(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 We(l){var f=V(l);switch(f){case"array":case"object":return"an "+f;case"boolean":case"date":case"regexp":return"a "+f;default:return f}}function $e(l){return!l.constructor||!l.constructor.name?y:l.constructor.name}return B.checkPropTypes=a,B.resetWarningCache=a.resetWarningCache,B.PropTypes=B,B},le}var ce,we;function pt(){if(we)return ce;we=1;var e=fe();function t(){}function n(){}return n.resetWarningCache=t,ce=function(){function i(u,r,d,x,h,m){if(m!==e){var y=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 y.name="Invariant Violation",y}}i.isRequired=i;function a(){return i}var c={array:i,bigint:i,bool:i,func:i,number:i,object:i,string:i,symbol:i,any:i,arrayOf:a,element:i,elementType:i,instanceOf:a,node:i,objectOf:a,oneOf:a,oneOfType:a,shape:a,exact:a,checkPropTypes:n,resetWarningCache:t};return c.PropTypes=c,c},ce}var $t=te.exports;if(process.env.NODE_ENV!=="production"){var ft=G.reactIsExports,xt=!0;te.exports=ut()(ft.isElement,xt)}else te.exports=pt()();var ht=te.exports;const M=Ye.getDefaultExportFromCjs(ht);let Be,Ae;typeof document<"u"&&(Be=document);typeof window<"u"&&(Ae=window);const De=g.createContext({document:Be,window:Ae}),se=()=>g.useContext(De),{Provider:gt,Consumer:Ut}=De;class _e extends g.Component{componentDidMount(){this.props.contentDidMount()}componentDidUpdate(){this.props.contentDidUpdate()}render(){return g.Children.only(this.props.children)}}K(_e,"propTypes",{children:M.element.isRequired,contentDidMount:M.func.isRequired,contentDidUpdate:M.func.isRequired});class ue extends g.Component{constructor(n,i){super(n,i);K(this,"setRef",n=>{this.nodeRef.current=n;const{forwardedRef:i}=this.props;typeof i=="function"?i(n):i&&(i.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=g.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 i=this.props.contentDidMount,a=this.props.contentDidUpdate,c=n.defaultView||n.parentView,u=s.jsxRuntimeExports.jsx(_e,{contentDidMount:i,contentDidUpdate:a,children:s.jsxRuntimeExports.jsx(gt,{value:{document:n,window:c},children:s.jsxRuntimeExports.jsx("div",{className:"frame-content",children:this.props.children})})}),r=this.getMountTarget();return[ge.createPortal(this.props.head,this.getDoc().head),ge.createPortal(u,r)]}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(ue,"propTypes",{style:M.object,head:M.node,initialContent:M.string,mountTarget:M.string,contentDidMount:M.func,contentDidUpdate:M.func,children:M.oneOfType([M.element,M.arrayOf(M.element)])}),K(ue,"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 mt=g.forwardRef((e,t)=>s.jsxRuntimeExports.jsx(ue,{...e,forwardedRef:t}));let Y=null,Q=[],Z=null,Oe=null;function yt(e){const t=window.getComputedStyle(e),n=parseInt(t.paddingLeft,10),i=parseInt(t.paddingTop,10),a=parseInt(t.paddingRight,10),c=parseInt(t.paddingBottom,10);return{paddingLeft:n,paddingTop:i,paddingRight:a,paddingBottom:c}}const Se=(e,t,n)=>{if(!Y)return;const i=e.getBoundingClientRect(),a=Y==null?void 0:Y.getElementById("placeholder"),{paddingLeft:c,paddingTop:u,paddingRight:r,paddingBottom:d}=yt(e);a.style.width=t==="vertical"?i.width-c-r+"px":"2px",a.style.height=t==="vertical"?"2px":i.height-u-d+"px",a.style.display="block";const x=Q.reduce((h,m)=>Math.abs(m-n)<Math.abs(h-n)?m:h);Oe=Q.indexOf(x),t==="vertical"?(a.style.top=e.offsetTop+x+"px",a.style.left=e.offsetLeft+c+"px"):(a.style.top=e.offsetTop+u+"px",a.style.left=e.offsetLeft+x+"px")},vt=e=>{const t=qe(e),n=window.getComputedStyle(e),i=t==="horizontal",a=parseInt(n.paddingLeft),c=parseInt(n.paddingTop);let u=i?a:c;Q=[u],Array.from(e.children).forEach(r=>{const d=window.getComputedStyle(r),x=parseInt(i?d.marginLeft+d.marginRight:d.marginTop+d.marginBottom),h=i?r.offsetWidth:r.offsetHeight;Q.push(u+h+x),u+=h+x})};function qe(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 i=window.getComputedStyle(e).gridTemplateRows,a=window.getComputedStyle(e).gridTemplateColumns;if(i.includes("auto"))return"vertical";if(a.includes("auto"))return"horizontal"}return t==="block"?"vertical":"horizontal"}const jt=p.throttle(e=>{const t=e.target,n=qe(t);if(n==="vertical"){const i=e.clientY-t.offsetTop;Se(t,n,i)}else{const i=e.clientX-t.offsetLeft;Se(t,n,i)}},200),bt=e=>{e.preventDefault(),e.stopPropagation(),jt(e)};function de(){const e=Y==null?void 0:Y.getElementById("placeholder");e.style.display="none"}const Et=()=>{const{document:e}=se(),[t,n]=H.useAtom(o.draggingFlagAtom),i=Je.useAddBlockByDrop(),a=Ce.useFeature("dnd"),[,c]=o.useHighlightBlockId(),[,u]=o.useSelectedBlockIds();return Y=e,{isDragging:t,"data-dnd":"branch",onDragOver:a?bt:p.noop,onDrop:a?r=>{Z==null||Z.classList.remove("outline","outline-green-300","outline-2","-outline-offset-2");const d=JSON.parse(r.dataTransfer.getData("text/plain"));let x=r.target.getAttribute("data-block-id");x===null&&(x=r.target.parentElement.getAttribute("data-block-id")),i({block:d,dropTargetId:x||null,relativeIndex:Oe}),n(!1),de(),setTimeout(()=>{de()},300)}:p.noop,onDragEnter:a?r=>{const d=r;Z=d.target,d.stopPropagation(),d.preventDefault(),Q=[];const x=d.target;vt(x),x.classList.add("outline","outline-green-300","outline-2","-outline-offset-2"),n(!0),c(""),u([])}:p.noop,onDragLeave:a?r=>{const d=r;Z=null,d.stopPropagation(),d.preventDefault(),d.target.classList.remove("outline","outline-green-300","outline-2","-outline-offset-2")}:p.noop,onMouseOut:a?()=>{n(!1),de()}:p.noop}};function xe(e){return e.getAttribute("data-block-id")?e:e.closest("[data-block-id]")}function kt(e){e.container.innerHTML="",e.container.parentNode.removeChild(e.container);var t=document.querySelector(".ql-toolbar");t&&t.parentNode.removeChild(t),e=null}const Rt=()=>{const e=["Heading","Paragraph","Text","Link","Span","Button"],t=o.useUpdateBlocksProps(),[,n]=o.useHighlightBlockId(),[i,a]=H.useAtom(o.inlineEditingActiveAtom);return c=>{var m;if(i)return;const u=xe(c.target),r=u.getAttribute("data-block-type");if(!r||!e.includes(r))return;const d=u.cloneNode(!0);u.style.display="none",Array.from(d.attributes).forEach(y=>{y.name!=="class"&&d.removeAttribute(y.name)}),r==="Text"&&(d.style.display="inline-block"),u.parentNode.insertBefore(d,u.nextSibling);const x=new Ke.Quill(d,{placeholder:"Type here..."});function h(){const y=x.getText(0,x.getLength());t([u.getAttribute("data-block-id")],{content:y}),u.removeAttribute("style"),d.removeEventListener("blur",h,!0),kt(x),a(""),n("")}d.addEventListener("blur",h,!0),x.focus(),(m=d.querySelector(".ql-clipboard"))==null||m.remove(),a(u.getAttribute("data-block-id"))}},wt=()=>{const[,e]=o.useSelectedStylingBlocks(),[,t]=o.useSelectedBlockIds(),[n]=H.useAtom(o.inlineEditingActiveAtom);return i=>{if(n)return;i.stopPropagation();const a=xe(i.target);if(a!=null&&a.getAttribute("data-block-parent")){const c=a.getAttribute("data-style-prop"),u=a.getAttribute("data-style-id"),r=a.getAttribute("data-block-parent");e([{id:u,prop:c,blockId:r}]),t([r])}else a!=null&&a.getAttribute("data-block-id")&&t([a.getAttribute("data-block-id")])}},St=p.throttle((e,t)=>{const n=xe(e.target);n!=null&&n.getAttribute("data-style-id")&&t(n.getAttribute("data-style-id"))},100),Ct=()=>{const[,e]=o.useHighlightBlockId(),[t]=H.useAtom(o.inlineEditingActiveAtom);return n=>{t||St(n,e)}},Tt=({children:e})=>{const{document:t}=se(),[n]=o.useSelectedBlockIds(),[i,a]=o.useSelectedStylingBlocks();g.useEffect(()=>{setTimeout(()=>{if(!p.isEmpty(i))return;const x=Pe(t,p.first(n));if(x){const h=x.getAttribute("data-style-prop");if(h){const m=x.getAttribute("data-style-id"),y=x.getAttribute("data-block-parent");a([{id:m,prop:h,blockId:y}])}}},100)},[t,n,a,i]);const c=Rt(),u=wt(),r=Ct(),d=Et();return s.jsxRuntimeExports.jsx("div",{"data-block-id":"container",id:"canvas",onClick:u,onDoubleClick:c,onMouseMove:r,...p.omit(d,"isDragging"),className:"relative mb-5 h-full max-w-full "+(d.isDragging?"dragging":""),children:e})},Pe=(e,t)=>e.querySelector(`[data-block-id="${t}"]`),It=()=>{const{window:e}=se(),[t,n]=o.useSelectedBlockIds(),i=o.useAllBlocks(),[,a]=o.useSelectedStylingBlocks(),{undo:c,redo:u}=o.useCanvasHistory(),r=o.useDuplicateBlocks(),[,d]=o.useCutBlockIds(),[,x]=o.useCopyBlockIds(),{pasteBlocks:h}=o.usePasteBlocks(),[,m]=o.usePreviewMode(),y=o.useRemoveBlocks(),{savePage:B}=o.useSavePage(),[q]=H.useAtom(o.inlineEditingActiveAtom),[,k]=H.useAtom(o.editLayerNameAtom),A=O=>{O.key==="Enter"&&(O.preventDefault(),t.length===1&&k(p.first(t)))},D=O=>{const w=i.find(F=>F._id===O);return w?w._parent:null};return g.useEffect(()=>{const O=w=>{if(w.key==="Escape"){n([]),a([]);return}if(A(w),!q&&(w.key==="Delete"||w.key==="Backspace")&&(w.preventDefault(),y(t)),w.ctrlKey||w.metaKey){if(w.key==="ArrowUp"){w.preventDefault();const F=t.length>0?D(t[0]):null;F&&n([F])}if(["z","y","d","x","c","p","s","v"].includes(w.key)){if(q&&["x","z","v"].includes(w.key))return!0;w.preventDefault()}w.key==="s"&&(w.stopPropagation(),w.preventDefault(),B()),w.key==="z"&&c(),w.key==="y"&&u(),w.key==="d"&&r(t),w.key==="x"&&d(t),w.key==="c"&&x(t),w.key==="v"&&t.length>0&&h(t[0])}};return e.removeEventListener("keydown",O),e.addEventListener("keydown",O),()=>{e.removeEventListener("keydown",O)}},[t,n,c,y,m,u,r,d,x,h,q,B,e]),null},Bt=({block:e,label:t})=>{const[,n]=o.useSelectedBlockIds(),[,i]=o.useHighlightBlockId(),[,a]=H.useAtom(o.draggedBlockIdAtom),c=Ce.useFeature("dnd");return s.jsxRuntimeExports.jsxs("div",{className:"mr-10 flex cursor-grab items-center space-x-1 px-1",draggable:c?"true":"false",onDragStart:u=>{u.dataTransfer.setData("text/plain",JSON.stringify(p.pick(e,["_id","_type"]))),a(e._id),setTimeout(()=>{n([]),i(null)},200)},children:[s.jsxRuntimeExports.jsx(L.DragHandleDots2Icon,{}),t]})},At=({selectedBlockElement:e,block:t})=>{const n=o.useRemoveBlocks(),i=o.useDuplicateBlocks(),[,a]=o.useSelectedBlockIds(),[,c]=o.useSelectedStylingBlocks(),[u]=H.useAtom(o.inlineEditingActiveAtom),{floatingStyles:r,refs:d,update:x}=me.useFloating({placement:"top-start",middleware:[me.shift(),Ve.flip()],elements:{reference:e}});Ze.useResizeObserver(e,()=>x(),e!==null);const h=p.get(t,"_parent",null),m=p.isEmpty(p.get(t,"_name",""))?p.get(t,"_type",""):p.get(t,"_name","");return!e||!t||u?null:s.jsxRuntimeExports.jsxs("div",{role:"button",tabIndex:0,ref:d.setFloating,style:r,onClick:y=>{y.stopPropagation(),y.preventDefault()},onKeyDown:y=>y.stopPropagation(),className:"z-[99999] flex h-6 items-center bg-blue-500 py-2 text-xs text-white",children:[s.jsxRuntimeExports.jsx(Bt,{label:m,block:t}),s.jsxRuntimeExports.jsxs("div",{className:"flex gap-2 px-1 ",children:[h&&s.jsxRuntimeExports.jsx(L.ArrowUpIcon,{className:"hover:scale-105 ",onClick:()=>{c([]),a([h])}}),o.canDuplicateBlock(p.get(t,"_type",""))?s.jsxRuntimeExports.jsx(L.CopyIcon,{className:"hover:scale-105 ",onClick:()=>i([t==null?void 0:t._id])}):null,o.canDeleteBlock(p.get(t,"_type",""))?s.jsxRuntimeExports.jsx(L.TrashIcon,{className:"hover:scale-105 ",onClick:()=>n([t==null?void 0:t._id])}):null]})]})},Dt=({model:e})=>{const[t]=o.useBrandingOptions(),[n]=o.useSelectedBlockIds(),[i]=o.useDarkMode(),[a]=o.useHighlightBlockId(),[c]=o.useSelectedStylingBlocks(),[u]=H.useAtom(o.draggedBlockIdAtom),{document:r,window:d}=se(),[x]=g.useState(r==null?void 0:r.getElementById("highlighted-block")),[h]=g.useState(r==null?void 0:r.getElementById("selected-block")),[m]=g.useState(r==null?void 0:r.getElementById("selected-styling-block")),[y]=g.useState(r==null?void 0:r.getElementById("dragged-block"));g.useEffect(()=>{i?r==null||r.documentElement.classList.add("dark"):r==null||r.documentElement.classList.remove("dark")},[i,r]);const B=p.get(t,"headingFont","DM Sans"),q=p.get(t,"bodyFont","DM Sans");return g.useEffect(()=>{const k=p.get(t,"primaryColor","#000"),A=p.get(t,"secondaryColor","#FFF"),D=Qe.tailwindcssPaletteGenerator({colors:[k,A],names:["primary","secondary"]});D.primary.DEFAULT=k,D.secondary.DEFAULT=A;const O=p.get(t,"roundedCorners","0");!d||!d.tailwind||(d.tailwind.config={darkMode:"class",theme:{fontFamily:{heading:[B],body:[q]},extend:{borderRadius:{global:`${O||"0"}px`},colors:D}},plugins:[d.tailwind.plugin.withOptions(({prefix:w="ui"}={})=>({addVariant:F})=>{for(const W of["open","checked","selected","active","disabled"])F(`${w}-${W}`,[`&[data-headlessui-state~="${W}"]`,`:where([data-headlessui-state~="${W}"]) &`]),F(`${w}-not-${W}`,[`&[data-headlessui-state]:not([data-headlessui-state~="${W}"])`,`:where([data-headlessui-state]:not([data-headlessui-state~="${W}"])) &:not([data-headlessui-state])`])})]})},[t,d,B,q]),g.useEffect(()=>{h&&(h.textContent=`${p.map(n,k=>`[data-block-id="${k}"]`).join(",")}{
57
+ outline: 1px solid ${n.length===1?"#42a1fc":"orange"} !important; outline-offset: -1px;
58
+ }`)},[n,h]),g.useEffect(()=>{if(!u){y.textContent="";return}y.textContent=`[data-block-id="${u}"]{ pointer-events: none !important; opacity: 0.2 !important}`},[u]),g.useEffect(()=>{x&&(x.textContent=a?`[data-style-id="${a}"]{ outline: 1px solid #42a1fc !important; outline-offset: -1px;}`:"")},[a,n,x]),g.useEffect(()=>{m&&(m.textContent=`${p.map(c,({id:k})=>`[data-style-id="${k}"]`).join(",")}{
59
+ outline: 1px solid #42a1fc !important; outline-offset: -1px;
60
+ }`)},[c,m]),g.useEffect(()=>{const k=p.get(t,"bodyTextLightColor","#64748b"),A=p.get(t,"bodyTextDarkColor","#94a3b8"),D=p.get(t,"bodyBgLightColor","#FFFFFF"),O=p.get(t,"bodyBgDarkColor","#0f172a");r.body.className=`font-body antialiased text-[${k}] bg-[${D}] dark:text-[${A}] dark:bg-[${O}]`},[t,r,e]),e==="page"?s.jsxRuntimeExports.jsxs(s.jsxRuntimeExports.Fragment,{children:[B&&s.jsxRuntimeExports.jsx("link",{id:"heading-font",rel:"stylesheet",type:"text/css",href:`https://fonts.googleapis.com/css2?family=${B.replace(/ /g,"+")}:wght@300;400;500;600;700;800;900&display=swap`,media:"all"}),q&&B!==q&&s.jsxRuntimeExports.jsx("link",{id:"body-font",rel:"stylesheet",type:"text/css",href:`https://fonts.googleapis.com/css2?family=${q.replace(/ /g,"+")}:wght@300;400;500;600;700;800;900&display=swap`,media:"all"}),B&&s.jsxRuntimeExports.jsx("style",{children:`h1,h2,h3,h4,h5,h6{font-family: "${B}",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},_t=e=>{const t={};return Object.keys(e).forEach(n=>{p.isString(e[n])&&e[n].startsWith(ee.SLOT_KEY)&&(t[n]=e[n].replace(ee.SLOT_KEY,"").split(","))}),t},Ot=p.memoize(e=>{const t=e.replace(ee.STYLES_KEY,"").split(",");return Xe.twMerge(t[0],t[1])});function qt(e,t){return p.get(e,`${t}_attrs`,{})}function Pt(e){const t={};return Object.keys(e).forEach(n=>{if(p.isString(e[n])&&e[n].startsWith(ee.STYLES_KEY)){const i=Ot(e[n]);t[n]={className:i,"data-style-prop":n,"data-block-parent":e._id,"data-style-id":`${n}-${e._id}`,...qt(e,n)}}}),t}function Mt(e,t){const n=p.get(e,"_bindings",{});return p.isEmpty(n)?{...e}:(p.each(n,(i,a)=>{p.isString(i)&&p.get(t,i,null)&&(e[a]=p.get(t,i,null))}),e)}function pe({blocks:e}){const t=o.useAllBlocks(),n=g.useCallback(c=>Pt(c),[]),[i]=G.useChaiExternalData(),[a]=H.useAtom(o.inlineEditingActiveAtom);return s.jsxRuntimeExports.jsx(s.jsxRuntimeExports.Fragment,{children:g.Children.toArray(e.map((c,u)=>{if(a===c._id)return null;const r=_t(c),d={};p.isEmpty(r)||Object.keys(r).forEach(y=>{d[y]=g.Children.toArray(r[y].map(B=>s.jsxRuntimeExports.jsx(pe,{blocks:[p.find(t,{_id:B})]})))});const x=p.filter(t,{_parent:c._id});d.children=x.length?s.jsxRuntimeExports.jsx(pe,{blocks:x}):null;const h=Te.getBlockComponent(c._type),m=p.get(h,"builderComponent",p.get(h,"component",null));return p.isNull(m)?s.jsxRuntimeExports.jsx("noscript",{children:`<!-- ${c==null?void 0:c._type} not registered -->`}):s.jsxRuntimeExports.jsx(g.Suspense,{children:g.createElement(m,{blockProps:{"data-block-id":c._id,"data-block-type":c._type,"data-dnd":et.has(h,"canAcceptBlock")?"branch":"leaf"},inBuilder:!0,index:u,...Mt(c,i),...n(c),...d})})}))})}const Lt=()=>{const e=o.useAllBlocks(),t=o.useBuilderProp("container",null),n=p.isEmpty(e)?null:s.jsxRuntimeExports.jsx(G.BlocksExternalDataProvider,{children:s.jsxRuntimeExports.jsx(pe,{blocks:p.filter(e,a=>p.isEmpty(a._parent))})}),i=t?g.createElement(Te.getBlockComponent(t).component,{},n):n;return s.jsxRuntimeExports.jsx(Ge.Provider,{children:i})},Nt=(e,t)=>e.querySelector(`[data-style-id="${t}"]`),Ht=()=>{const[e]=H.useAtom(o.networkModeAtom),[t]=o.usePreviewMode(),[n]=o.useCanvasWidth(),[,i]=o.useSelectedBlockIds(),a=o.useSelectedBlock(),[,c]=o.useHighlightBlockId(),u=g.useRef(null),r=g.useRef(null),[d,x]=g.useState({width:0,height:0}),h=lt(d),[m,y]=g.useState(0),[B,q]=g.useState([]),[,k]=g.useState([]),[,A]=H.useAtom(o.canvasIframeAtom),[D,O]=o.useSelectedStylingBlocks(),w=o.useBuilderProp("loadingCanvas",!1);g.useEffect(()=>{const{clientWidth:_,clientHeight:$}=r.current;x({width:_,height:$}),m===0&&y(_)},[r,n,m]);const F=(_,$=0)=>{const{top:U}=_.getBoundingClientRect();return U+$>=0&&U-$<=window.innerHeight};g.useEffect(()=>{var _,$;if(a&&a.type!=="Multiple"&&u.current){const U=Pe(u.current.contentDocument,a._id);U&&(F(U)||($=(_=u.current)==null?void 0:_.contentWindow)==null||$.scrollTo({top:U.offsetTop,behavior:"smooth"}),q([U]))}},[a]),g.useEffect(()=>{if(!p.isEmpty(D)&&u.current){const _=Nt(u.current.contentDocument,p.first(D).id);k(_?[_]:[null])}else k([null])},[D]);const W=g.useMemo(()=>{let _=at;return e==="offline"&&(_=_.replace("https://old.chaibuilder.com/offline/tailwind.cdn.js","/offline/tailwind.cdn.js"),_=_.replace("https://unpkg.com/aos@next/dist/aos.css","/offline/aos.css"),_=_.replace("https://unpkg.com/aos@next/dist/aos.js","/offline/aos.js")),_},[e]);return s.jsxRuntimeExports.jsx("div",{onClick:()=>{i([]),O([])},onMouseLeave:()=>setTimeout(()=>c(""),300),className:"relative mx-auto overflow-hidden h-full w-full",style:m>0&&!p.isEmpty(h)?{width:t?"100%":m}:{},ref:r,children:s.jsxRuntimeExports.jsxs(mt,{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(It,{}),s.jsxRuntimeExports.jsx(At,{block:a,selectedBlockElement:p.first(B)}),s.jsxRuntimeExports.jsx(Dt,{model:"page"}),s.jsxRuntimeExports.jsx(Tt,{children:w?s.jsxRuntimeExports.jsx("div",{className:"h-full p-4",children:s.jsxRuntimeExports.jsx(o.Skeleton,{className:"h-full"})}):s.jsxRuntimeExports.jsx(Lt,{})}),s.jsxRuntimeExports.jsx("br",{}),s.jsxRuntimeExports.jsx("div",{id:"placeholder",className:"absolute bg-green-500 z-[99999] max-w-full transition-transform"})]})})},Ft=()=>s.jsxRuntimeExports.jsxs("div",{className:"flex h-full w-full flex-col",children:[s.jsxRuntimeExports.jsx(it,{}),s.jsxRuntimeExports.jsx("div",{className:"relative h-full overflow-hidden bg-slate-800/90 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] px-2",children:s.jsxRuntimeExports.jsx(g.Suspense,{fallback:s.jsxRuntimeExports.jsx(o.Skeleton,{className:"h-full"}),children:s.jsxRuntimeExports.jsx(G.ErrorBoundary,{children:s.jsxRuntimeExports.jsx(Ht,{})})})})]});exports.default=Ft;