@chaibuilder/sdk 1.2.33 → 1.2.35

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 (95) hide show
  1. package/dist/{AddBlocks-0eVRNr1d.js → AddBlocks-fpRgZNZT.js} +36 -32
  2. package/dist/AddBlocks-i2OFXcGZ.cjs +1 -0
  3. package/dist/BrandingOptions-BuV0XItY.cjs +1 -0
  4. package/dist/{BrandingOptions-yYAznnw2.js → BrandingOptions-RxIUds41.js} +37 -31
  5. package/dist/CanvasArea-C1VfoHjl.js +1200 -0
  6. package/dist/CanvasArea-a-I0uB7y.cjs +55 -0
  7. package/dist/{index-AJalHhkO.js → ChaiBuilderEditor-ChKigulx.js} +26119 -22752
  8. package/dist/ChaiBuilderEditor-pWAMhLiq.cjs +206 -0
  9. package/dist/CurrentPage-JgJ2XITk.cjs +1 -0
  10. package/dist/{CurrentPage-1v40uk8K.js → CurrentPage-tWXo7zPq.js} +19 -19
  11. package/dist/{ListTree-0ZrRreCs.js → ListTree-_JJ1Ka3e.js} +86 -81
  12. package/dist/ListTree-rJ4eHyKn.cjs +1 -0
  13. package/dist/{PagesPanel-AxQX-BX2.js → PagesPanel-bwRvd7HB.js} +14 -14
  14. package/dist/PagesPanel-zd48fj10.cjs +1 -0
  15. package/dist/{ProjectPanel-GYdge5v9.js → ProjectPanel-S7X2GDYk.js} +16 -16
  16. package/dist/ProjectPanel-sIURK9WR.cjs +1 -0
  17. package/dist/{Settings-9JAzGHau.js → Settings-59DRCnXh.js} +53 -53
  18. package/dist/Settings-Lw_UvEWj.cjs +1 -0
  19. package/dist/SidePanels-FX3WxtRi.cjs +1 -0
  20. package/dist/{SidePanels-bLwsW29O.js → SidePanels-QwN_fVWJ.js} +70 -70
  21. package/dist/Topbar-_k5gwR_4.js +133 -0
  22. package/dist/Topbar-cRmIAzUg.cjs +1 -0
  23. package/dist/{UnsplashImages-NYwOOgYa.js → UnsplashImages-hI0Zvl2t.js} +27 -22
  24. package/dist/UnsplashImages-texUmBiW.cjs +1 -0
  25. package/dist/{UploadImages-vpZeW-YW.js → UploadImages-diXySdpc.js} +33 -27
  26. package/dist/UploadImages-kRSLsKBv.cjs +1 -0
  27. package/dist/{add-page-modal-hDyzsEU7.js → add-page-modal-Md_OotSU.js} +22 -22
  28. package/dist/add-page-modal-R9nsF97c.cjs +1 -0
  29. package/dist/{confirm-alert-FGQKKQJU.js → confirm-alert-DS8nMVJP.js} +16 -10
  30. package/dist/confirm-alert-gKJ-H8aH.cjs +1 -0
  31. package/dist/{controls-OfJWSEqC.js → controls-VTdJhdSz.js} +44 -41
  32. package/dist/controls-jWJDao88.cjs +1 -0
  33. package/dist/core.cjs +1 -1
  34. package/dist/core.d.ts +9 -0
  35. package/dist/core.js +46 -45
  36. package/dist/{delete-page-modal-KxeyBri2.js → delete-page-modal-PVpCkC06.js} +15 -15
  37. package/dist/delete-page-modal-ez831xRV.cjs +1 -0
  38. package/dist/email-blocks.cjs +1 -1
  39. package/dist/email-blocks.js +1 -1
  40. package/dist/email.cjs +1 -1
  41. package/dist/email.d.ts +9 -0
  42. package/dist/email.js +18 -16
  43. package/dist/form-6D7DLOsP.cjs +1 -0
  44. package/dist/{form-77dY98bF.js → form-BcCd02eY.js} +7 -7
  45. package/dist/index-F_-wLCKB.cjs +1 -0
  46. package/dist/{index-5zkCTSAM.js → index-NmcmhDTV.js} +28 -29
  47. package/dist/{page-viewer-umQaut1j.js → page-viewer-1bDdfbfY.js} +21 -21
  48. package/dist/page-viewer-MyIBh0H7.cjs +1 -0
  49. package/dist/project-general-setting-1UvYceGY.cjs +1 -0
  50. package/dist/{project-general-setting-uuCemMCU.js → project-general-setting-cAuIqXqs.js} +24 -24
  51. package/dist/{project-seo-setting-asvbPQiI.js → project-seo-setting-DIspBN3U.js} +26 -20
  52. package/dist/project-seo-setting-ePXNygH3.cjs +1 -0
  53. package/dist/single-page-detail-6M4by4GP.cjs +1 -0
  54. package/dist/{single-page-detail-F6pKWyq1.js → single-page-detail-VEdxOlo1.js} +25 -25
  55. package/dist/studio.cjs +1 -1
  56. package/dist/studio.d.ts +9 -0
  57. package/dist/studio.js +13 -13
  58. package/dist/ui.cjs +1 -1
  59. package/dist/ui.js +153 -147
  60. package/dist/useCanvasSettings-YdWIGhpI.js +6 -0
  61. package/dist/useCanvasSettings-xq3gcMsb.cjs +1 -0
  62. package/dist/web-blocks.cjs +4 -4
  63. package/dist/web-blocks.js +137 -113
  64. package/package.json +9 -3
  65. package/dist/AddBlocks-t0hKDSud.cjs +0 -1
  66. package/dist/BrandingOptions-NVmCxZfD.cjs +0 -1
  67. package/dist/CanvasArea-2b4oSjRx.js +0 -1177
  68. package/dist/CanvasArea-OzyCq6UU.cjs +0 -55
  69. package/dist/CurrentPage-YBMhEBZG.cjs +0 -1
  70. package/dist/ListTree-jPwxgI6R.cjs +0 -1
  71. package/dist/PagesPanel-ivEL9tIQ.cjs +0 -1
  72. package/dist/ProjectPanel-shgvg_yT.cjs +0 -1
  73. package/dist/Settings-MMwEBADN.cjs +0 -1
  74. package/dist/SidePanels-iaaRCUeQ.cjs +0 -1
  75. package/dist/Topbar-0Ql8pHVc.js +0 -132
  76. package/dist/Topbar-CkUhCnSW.cjs +0 -1
  77. package/dist/UnsplashImages-juwtWvXe.cjs +0 -1
  78. package/dist/UploadImages-4_jmnoVi.cjs +0 -1
  79. package/dist/add-page-modal-2ZPjc54F.cjs +0 -1
  80. package/dist/confirm-alert-QRxOc76t.cjs +0 -1
  81. package/dist/controls-KK2oLIa8.cjs +0 -1
  82. package/dist/delete-page-modal--N1nPPIL.cjs +0 -1
  83. package/dist/form-hT5dGoJH.cjs +0 -1
  84. package/dist/index-FPBudsRF.cjs +0 -1
  85. package/dist/index-JIcsKKoG.cjs +0 -1
  86. package/dist/index-YpnaudSM.js +0 -63
  87. package/dist/index-ecnGWzh9.cjs +0 -1
  88. package/dist/index-hH5SIZ29.js +0 -3116
  89. package/dist/index-sJ9Uc9UY.cjs +0 -206
  90. package/dist/page-viewer-k-g15j8B.cjs +0 -1
  91. package/dist/project-general-setting-1leAiCJQ.cjs +0 -1
  92. package/dist/project-seo-setting-kDBSOzgX.cjs +0 -1
  93. package/dist/single-page-detail-IFtVxwl5.cjs +0 -1
  94. package/dist/useCanvasSettings-Am2o80hW.cjs +0 -1
  95. package/dist/useCanvasSettings-ikt217kv.js +0 -6
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "author": "Suraj Air",
6
6
  "license": "BSD-3-Clause",
7
7
  "homepage": "https://chaibuilder.com",
8
- "version": "1.2.33",
8
+ "version": "1.2.35",
9
9
  "type": "module",
10
10
  "repository": {
11
11
  "type": "git",
@@ -87,7 +87,8 @@
87
87
  "prepare": "husky"
88
88
  },
89
89
  "dependencies": {
90
- "@chaibuilder/runtime": "0.2.6",
90
+ "@ai-sdk/openai": "^0.0.37",
91
+ "@chaibuilder/runtime": "0.2.7",
91
92
  "@floating-ui/dom": "1.4.5",
92
93
  "@floating-ui/react-dom": "2.0.1",
93
94
  "@mhsdesign/jit-browser-tailwindcss": "0.4.0",
@@ -122,6 +123,7 @@
122
123
  "@tailwindcss/line-clamp": "^0.4.4",
123
124
  "@tailwindcss/typography": "^0.5.10",
124
125
  "@tanstack/react-query": "^5.8.4",
126
+ "ai": "^3.2.32",
125
127
  "class-variance-authority": "0.6.1",
126
128
  "clsx": "1.2.1",
127
129
  "cmdk": "0.2.0",
@@ -176,6 +178,8 @@
176
178
  "autoprefixer": "^10.4.16",
177
179
  "better-docs": "^2.7.2",
178
180
  "better-sqlite3": "^9.1.1",
181
+ "cheerio": "1.0.0-rc.12",
182
+ "dotenv": "^16.4.5",
179
183
  "drizzle-kit": "^0.20.4",
180
184
  "drizzle-orm": "^0.29.0",
181
185
  "eslint": "^8.53.0",
@@ -195,9 +199,11 @@
195
199
  "tailwindcss": "^3.3.5",
196
200
  "tailwindcss-animate": "1.0.6",
197
201
  "ts-jest": "^29.1.1",
202
+ "ts-node": "^10.9.2",
198
203
  "typescript": "^5.2.2",
199
204
  "vite": "^5.0.12",
200
- "vite-plugin-dts": "^3.6.3"
205
+ "vite-plugin-dts": "^3.6.3",
206
+ "zod": "^3.23.8"
201
207
  },
202
208
  "msw": {
203
209
  "workerDirectory": "public"
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-Z_BpKhVy.cjs"),n=require("react"),t=require("lodash-es"),y=require("jotai"),v=require("react-i18next"),s=require("./index-FPBudsRF.cjs"),B=require("@radix-ui/react-icons"),b=require("@chaibuilder/runtime"),q=require("flagged"),R=require("./STRINGS-gPz7CUOk.cjs"),N=require("lucide-react"),C=require("./html-to-json-Xhu27KFD.cjs");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("./Functions-N3yhPYKY.cjs");require("clsx");require("tailwind-merge");require("@react-hookz/web");require("./MODIFIERS-YPHRtwrM.cjs");require("./Class-Zc8hpE7f.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("react-quill");require("himalaya");const T=({block:r})=>{const{type:i,icon:u,label:c}=r,{addCoreBlock:m,addPredefinedBlock:d}=s.useAddBlock(),[x,o]=s.useSelectedBlockIds(),[,j]=s.useHighlightBlockId(),[,p]=y.useAtom(s.activePanelAtom),l=()=>{if(t.has(r,"blocks")){const h=t.isFunction(r.blocks)?r.blocks():r.blocks;d(b.syncBlocksWithDefaults(h),t.first(x))}else m(r,t.first(x));p(R.OUTLINE_KEY)},a=q.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:l,type:"button",onDragStart:h=>{h.dataTransfer.setData("text/plain",JSON.stringify(t.omit(r,["component","icon"]))),setTimeout(()=>{o([]),j(null),p(R.OUTLINE_KEY)},200)},draggable:a?"true":"false",className:"space-y-2 rounded-lg border border-border p-3 text-center hover:bg-slate-300/50 "+(a?"cursor-grab":"cursor-pointer"),children:[n.createElement(u||B.BoxIcon,{className:"w-4 h-4 mx-auto"}),e.jsxRuntimeExports.jsx("p",{className:"text-xs",children:c||i})]})}),e.jsxRuntimeExports.jsx(s.TooltipContent,{children:e.jsxRuntimeExports.jsx("p",{children:c||i})})]})})},A=({block:r,closePopover:i})=>{const[u,c]=n.useState(!1),m=s.useBuilderProp("getExternalPredefinedBlock",t.noop()),{addCoreBlock:d,addPredefinedBlock:x}=s.useAddBlock(),[o]=s.useSelectedBlockIds(),j=n.useCallback(async p=>{if(p.stopPropagation(),t.has(r,"component")){d(r,t.first(o)),i();return}c(!0);const l=await m(r);t.isEmpty(l)||x(b.syncBlocksWithDefaults(l),t.first(o)),i()},[r]);return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs("div",{onClick:u?()=>{}:j,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:[u&&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})})]})})},w=()=>{const{data:r}=s.useUILibraryBlocks(),i=b.useChaiBlocks(),u=t.filter(t.values(i),{category:"custom"}),c=t.groupBy(u,"group"),m=t.groupBy(r,"group"),d=n.useMemo(()=>t.mergeWith(c,m,(l,a)=>{if(t.isArray(l)&&t.isArray(a))return[...l,...a]}),[c,m]),[x,o]=n.useState(t.first(t.keys(d))||""),[,j]=y.useAtom(s.activePanelAtom),p=t.get(d,x,[]);return e.jsxRuntimeExports.jsxs("div",{className:"relative flex h-full max-h-full flex-col overflow-hidden py-2",children:[e.jsxRuntimeExports.jsx("div",{className:"sticky top-0 flex w-full items-center p-3",children:e.jsxRuntimeExports.jsxs(s.Select,{value:x,onValueChange:l=>o(l),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"}),n.Children.toArray(t.map(d,(l,a)=>e.jsxRuntimeExports.jsx(s.SelectItem,{value:a,children:a},a)))]})]})}),e.jsxRuntimeExports.jsx("div",{className:"h-full w-full space-y-2 overflow-y-auto px-2",children:n.Children.toArray(p.map(l=>e.jsxRuntimeExports.jsx(A,{block:l,closePopover:()=>j(R.OUTLINE_KEY)})))})]})},S=()=>{const{t:r}=v.useTranslation(),[i,u]=n.useState(""),{addPredefinedBlock:c}=s.useAddBlock(),[m]=s.useSelectedBlockIds(),[,d]=y.useAtom(s.activePanelAtom),x=()=>{const o=C.getBlocksFromHTML(i);c([...o],t.first(m)||null),u(""),d(R.OUTLINE_KEY)};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:o=>o&&o.focus(),onChange:o=>u(o.target.value),rows:12,value:i,placeholder:r("enter_code_snippet"),className:"resize-none overflow-x-auto whitespace-pre bg-gray-100 font-mono text-xs font-normal"})]})}),e.jsxRuntimeExports.jsxs(s.CardFooter,{className:"flex flex-col justify-end p-3",children:[e.jsxRuntimeExports.jsx(s.Button,{disabled:i.trim()==="",onClick:()=>x(),size:"sm",className:"w-full",children:r("import_html")}),e.jsxRuntimeExports.jsx(s.Alert,{variant:"default",className:"mt-2 border-none p-1 text-gray-400",children:e.jsxRuntimeExports.jsx(s.AlertTitle,{className:"text-xs font-normal leading-4",children:r("note_imported_html")})})]})]})},_=()=>{const{t:r}=v.useTranslation(),[i,u]=n.useState("core"),[c,m]=n.useState("basic"),d=b.useChaiBlocks(),[,x]=y.useAtom(s.showPredefinedBlockCategoryAtom),o=s.useBuilderProp("importHTMLSupport",!0),j=s.useBuilderProp("filterChaiBlock",()=>!0),{data:p,isLoading:l}=s.useUILibraryBlocks(),a=t.filter(d,j),h=t.groupBy(a,"category"),g=t.uniq(t.map(h.core,"group"));n.useEffect(()=>{!t.includes(g,c)&&!t.isEmpty(g)&&!t.isEmpty(c)&&m(t.first(g))},[g,c]);const E=!l&&!t.isEmpty(p)||t.find(t.values(a),{category:"custom"})!==void 0;return e.jsxRuntimeExports.jsxs("div",{className:"flex h-full w-72 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(i==="html"?"enter_paste_tailwind_html":"click_to_add_block")})]}),e.jsxRuntimeExports.jsx(s.Tabs,{onValueChange:f=>{x(""),u(f)},value:i,className:"h-max",children:e.jsxRuntimeExports.jsxs(s.TabsList,{className:"grid w-full "+(E&&o?"grid-cols-3":E&&!o||!E&&o?"grid-cols-2":"grid-cols-1"),children:[e.jsxRuntimeExports.jsx(s.TabsTrigger,{value:"core",children:r("Blocks")}),E?e.jsxRuntimeExports.jsx(s.TabsTrigger,{value:"ui-blocks",children:r("ui_library")}):null,o?e.jsxRuntimeExports.jsx(s.TabsTrigger,{value:"html",children:r("import")}):null]})}),i==="core"&&e.jsxRuntimeExports.jsx(s.ScrollArea,{className:"-mx-1.5 h-full",children:e.jsxRuntimeExports.jsx("div",{className:"mt-2 w-full",children:n.Children.toArray(t.map(g,f=>t.reject(t.filter(t.values(h.core),{group:f}),{hidden:!0}).length?e.jsxRuntimeExports.jsx(s.Accordion,{type:"single",value:f,collapsible:!0,className:"w-full",children:e.jsxRuntimeExports.jsxs(s.AccordionItem,{value:f,children:[e.jsxRuntimeExports.jsx(s.AccordionTrigger,{className:"rounded-md bg-gray-100 px-4 py-2 capitalize",children:f}),e.jsxRuntimeExports.jsx(s.AccordionContent,{className:"p-3",children:e.jsxRuntimeExports.jsx("div",{className:"grid grid-cols-3 gap-2",children:n.Children.toArray(t.reject(t.filter(t.values(h.core),{group:f}),{hidden:!0}).map(k=>e.jsxRuntimeExports.jsx(T,{block:k})))})})]})}):null))})}),i==="ui-blocks"&&e.jsxRuntimeExports.jsx(n.Suspense,{fallback:e.jsxRuntimeExports.jsx(s.Skeleton,{className:"h-32 w-full"}),children:e.jsxRuntimeExports.jsx(w,{})}),i==="html"&&o?e.jsxRuntimeExports.jsx(S,{}):null]})};exports.default=_;
@@ -1 +0,0 @@
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-FPBudsRF.cjs"),r=require("./controls-KK2oLIa8.cjs"),f=require("lodash-es");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("./Functions-N3yhPYKY.cjs");require("clsx");require("tailwind-merge");require("@chaibuilder/runtime");require("jotai");require("./STRINGS-gPz7CUOk.cjs");require("@react-hookz/web");require("./MODIFIERS-YPHRtwrM.cjs");require("./Class-Zc8hpE7f.cjs");require("react-i18next");require("@radix-ui/react-toggle");require("class-variance-authority");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-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");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=f.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})})})},m=[{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",f.noop),[e,i]=p.useBrandingOptions(),[l]=p.useBlocksContainer(),n=x.useRef(e);x.useEffect(()=>()=>{f.isEqual(e,n.current)||t(n.current)},[]);const v=({formData:o},c)=>{c&&(i(o),n.current=o)},{bodyFont:u,headingFont:q,primaryColor:b,bodyTextDarkColor:h,bodyTextLightColor:y,bodyBgDarkColor:S,secondaryColor:C,bodyBgLightColor:O,roundedCorners:j}=e;let s={headingFont:r.s({title:"Heading font",default:q,options:m}),bodyFont:r.s({title:"Body font",default:u,options:m}),roundedCorners:r.c({title:"Rounded Corner",default:parseInt(j||5,10)}),primaryColor:r.f({title:"Primary",default:b}),secondaryColor:r.f({title:"Secondary",default:C})};l||(s={...s,bodyBgLightColor:r.f({title:"Body Background (Light Mode)",default:O}),bodyTextLightColor:r.f({title:"Body Text (Light Mode)",default:h}),bodyBgDarkColor:r.f({title:"Body Background (Dark mode)",default:S}),bodyTextDarkColor:r.f({title:"Body Text (Dark mode)",default:y})});const d={type:"object",properties:{}},g={};return Object.keys(s).forEach(o=>{const c=s[o];return d.properties||(d.properties={}),d.properties[o]=c.schema,g[o]=c.uiSchema,!0}),a.jsxRuntimeExports.jsxs("div",{className:"flex h-full w-60 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:d,formData:e,validator:R,onChange:v})})]})};exports.default=P;