@chaibuilder/sdk 0.1.10 → 0.1.12
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.
- package/dist/{AddBlocks-f76f509d.js → AddBlocks-73aa52ed.js} +46 -46
- package/dist/{AddBlocks-2feb85b6.cjs → AddBlocks-eafcb8ab.cjs} +2 -2
- package/dist/{BrandingOptions-96d7aa44.cjs → BrandingOptions-45caece9.cjs} +1 -1
- package/dist/{BrandingOptions-852c1274.js → BrandingOptions-6e8c6721.js} +1 -1
- package/dist/{CanvasArea-714b0fdd.js → CanvasArea-3049f560.js} +2 -2
- package/dist/{CanvasArea-a272e5ce.cjs → CanvasArea-a392ffc1.cjs} +2 -2
- package/dist/{CurrentPage-235f6546.js → CurrentPage-3d3209a1.js} +21 -21
- package/dist/CurrentPage-def95a2d.cjs +1 -0
- package/dist/{ImagesPanel-8ccab6d9.js → ImagesPanel-36a2f276.js} +1 -1
- package/dist/{ImagesPanel-addb2bf9.cjs → ImagesPanel-731cda7a.cjs} +1 -1
- package/dist/{Layers-1ce42e18.js → Layers-23512777.js} +2 -2
- package/dist/{Layers-42588f4e.cjs → Layers-3bdb61c3.cjs} +1 -1
- package/dist/{MarkAsGlobalBlock-f559dc7f.js → MarkAsGlobalBlock-37ae563e.js} +1 -1
- package/dist/{MarkAsGlobalBlock-a75613f0.cjs → MarkAsGlobalBlock-d10b749d.cjs} +1 -1
- package/dist/PagesPanel-2e626ee0.cjs +1 -0
- package/dist/{PagesPanel-40fa913f.js → PagesPanel-a0cb2a3c.js} +8 -14
- package/dist/{ProjectPanel-f8629c81.cjs → ProjectPanel-453caab3.cjs} +1 -1
- package/dist/{ProjectPanel-232d9d07.js → ProjectPanel-590ad7b5.js} +2 -2
- package/dist/{Settings-abd094d0.js → Settings-201df828.js} +3 -3
- package/dist/{Settings-8a78ef02.cjs → Settings-3f024a5e.cjs} +1 -1
- package/dist/{SidePanels-c1f857a8.js → SidePanels-2135b1a7.js} +2 -2
- package/dist/{SidePanels-edb9c3ac.cjs → SidePanels-2d310a73.cjs} +1 -1
- package/dist/{Topbar-8a8249c5.js → Topbar-4e436076.js} +1 -1
- package/dist/{Topbar-a8ca3af7.cjs → Topbar-f722a517.cjs} +1 -1
- package/dist/UploadImages-33c1507a.cjs +1 -0
- package/dist/{UploadImages-1839950f.js → UploadImages-f0ba3215.js} +5 -3
- package/dist/{add-page-modal-1bc36ab2.cjs → add-page-modal-17cd6043.cjs} +1 -1
- package/dist/{add-page-modal-0d32113a.js → add-page-modal-e38900bd.js} +4 -4
- package/dist/core.cjs +1 -1
- package/dist/core.js +1 -1
- package/dist/{delete-page-modal-96c453aa.js → delete-page-modal-69202329.js} +1 -1
- package/dist/{delete-page-modal-22b50aea.cjs → delete-page-modal-7e833472.cjs} +1 -1
- package/dist/{form-526188f9.js → form-52b48fbc.js} +1 -1
- package/dist/{form-431f0141.cjs → form-e9748a4e.cjs} +1 -1
- package/dist/{index-8bd8bb62.cjs → index-4462d894.cjs} +2 -2
- package/dist/{index-3ab5dba5.js → index-9ba9f277.js} +9 -8
- package/dist/{link-8b201d2c.cjs → link-26d3158f.cjs} +1 -1
- package/dist/{link-ebe8a751.js → link-eeef0a29.js} +6 -6
- package/dist/{page-viewer-36ef3ef4.cjs → page-viewer-2fb5485c.cjs} +1 -1
- package/dist/{page-viewer-a32d8269.js → page-viewer-ddaba8df.js} +4 -4
- package/dist/{project-general-setting-6a64c051.js → project-general-setting-5810b457.js} +4 -4
- package/dist/{project-general-setting-f8edd93b.cjs → project-general-setting-fc4ea1f6.cjs} +1 -1
- package/dist/{project-seo-setting-f31a84f5.js → project-seo-setting-23fb5e80.js} +3 -3
- package/dist/{project-seo-setting-157acce4.cjs → project-seo-setting-b3372d3f.cjs} +1 -1
- package/dist/server.cjs +1 -1
- package/dist/server.d.ts +133 -59
- package/dist/server.js +82 -48
- package/dist/{single-page-detail-4f2cce8a.cjs → single-page-detail-128a33a7.cjs} +1 -1
- package/dist/{single-page-detail-8ccf6b26.js → single-page-detail-359a0806.js} +5 -5
- package/dist/ui.cjs +1 -1
- package/dist/ui.js +2 -2
- package/package.json +1 -1
- package/dist/CurrentPage-b22f60aa.cjs +0 -1
- package/dist/PagesPanel-edd76634.cjs +0 -1
- package/dist/UploadImages-d398bc93.cjs +0 -1
|
@@ -1456,7 +1456,7 @@ const zd = () => {
|
|
|
1456
1456
|
const r = Me(e);
|
|
1457
1457
|
$s(r) && (s = [r, ...Xc(t, r)]), n(s);
|
|
1458
1458
|
}, [e, t, n]);
|
|
1459
|
-
}, bf = () => ne(Hi), eu = Pt(() => import("./SidePanels-
|
|
1459
|
+
}, bf = () => ne(Hi), eu = Pt(() => import("./SidePanels-2135b1a7.js")), tu = Pt(() => import("./Topbar-4e436076.js")), nu = Pt(() => import("./CanvasArea-3049f560.js")), su = Pt(() => import("./Settings-201df828.js")), ru = () => {
|
|
1460
1460
|
const [e] = Ua(ss), t = (n) => {
|
|
1461
1461
|
n.preventDefault();
|
|
1462
1462
|
};
|
|
@@ -2711,7 +2711,7 @@ function el() {
|
|
|
2711
2711
|
};
|
|
2712
2712
|
return Qu(Kr(Kr({}, t), e));
|
|
2713
2713
|
}
|
|
2714
|
-
const tl = "@chaibuilder/sdk", nl = "0.1.
|
|
2714
|
+
const tl = "@chaibuilder/sdk", nl = "0.1.12", sl = "module", rl = [
|
|
2715
2715
|
"dist"
|
|
2716
2716
|
], il = "dist/core.js", ol = !1, al = {
|
|
2717
2717
|
".": {
|
|
@@ -4781,13 +4781,13 @@ const In = () => {
|
|
|
4781
4781
|
return $e({
|
|
4782
4782
|
mutationFn: async (t) => {
|
|
4783
4783
|
const n = new FormData();
|
|
4784
|
-
return n.append("file", t), await (await fetch(`${e}/upload`, {
|
|
4784
|
+
return n.append("file", t), (await (await fetch(`${e}/upload`, {
|
|
4785
4785
|
method: "POST",
|
|
4786
4786
|
body: n
|
|
4787
|
-
})).json();
|
|
4787
|
+
})).json()).url;
|
|
4788
4788
|
}
|
|
4789
4789
|
});
|
|
4790
|
-
}, rd = Pt(() => import("./PagesPanel-
|
|
4790
|
+
}, rd = Pt(() => import("./PagesPanel-a0cb2a3c.js")), id = Pt(() => import("./ProjectPanel-590ad7b5.js")), od = Pt(() => import("./CurrentPage-3d3209a1.js")), ad = () => /* @__PURE__ */ _.jsx("h2", { children: "Your Logo" }), cd = () => {
|
|
4791
4791
|
const e = qe();
|
|
4792
4792
|
return /* @__PURE__ */ _.jsx("div", { className: "border-gray-200 rounded-md p-2 mb-2 border", children: /* @__PURE__ */ _.jsx(
|
|
4793
4793
|
oa,
|
|
@@ -4839,7 +4839,8 @@ const In = () => {
|
|
|
4839
4839
|
uploadMediaCallback: g,
|
|
4840
4840
|
fetchMediaCallback: y,
|
|
4841
4841
|
getUILibraryBlocks: O,
|
|
4842
|
-
getExternalPredefinedBlock: C
|
|
4842
|
+
getExternalPredefinedBlock: C,
|
|
4843
|
+
getPages: () => s
|
|
4843
4844
|
}
|
|
4844
4845
|
) });
|
|
4845
4846
|
}, dd = () => {
|
|
@@ -4961,8 +4962,8 @@ export {
|
|
|
4961
4962
|
$d as L,
|
|
4962
4963
|
gc as M,
|
|
4963
4964
|
_o as N,
|
|
4964
|
-
|
|
4965
|
-
|
|
4965
|
+
ir as O,
|
|
4966
|
+
Yl as P,
|
|
4966
4967
|
Xl as Q,
|
|
4967
4968
|
In as R,
|
|
4968
4969
|
Yd as S,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("./jsx-runtime-5c3ac4f7.cjs"),m=require("react-icons-picker"),h=require("react-dom"),g=require("lodash"),d=require("react"),x=require("./dialog-170eaad9.cjs"),j=require("./ImagesPanel-
|
|
1
|
+
"use strict";const e=require("./jsx-runtime-5c3ac4f7.cjs"),m=require("react-icons-picker"),h=require("react-dom"),g=require("lodash"),d=require("react"),x=require("./dialog-170eaad9.cjs"),j=require("./ImagesPanel-731cda7a.cjs"),E=require("react-quill");require("react-i18next");const R=require("./useBuilderProp-5e57d0c8.cjs"),f=t=>{try{const s=document.getElementById("icon-picker-field"),r=document.createElement("div");h.render(e.jsxRuntimeExports.jsx(m.IconPickerItem,{value:t}),r),s.appendChild(r),r.hidden=!0;let l=r.innerHTML;setTimeout(()=>s.removeChild(r),1e3);const o=new DOMParser().parseFromString(l,"image/svg+xml"),n=o.querySelector("svg");return n&&(n.removeAttribute("width"),n.removeAttribute("height")),new XMLSerializer().serializeToString(o)}catch{return""}},b=({value:t,onChange:s,onBlur:r,id:l})=>{const a=o=>{s("<svg />");const n=f(o);s(n),r(l,n)};return e.jsxRuntimeExports.jsxs("div",{className:"mt-1 flex h-20 items-center gap-x-2",id:"icon-picker-field",children:[e.jsxRuntimeExports.jsxs("div",{className:"relative h-12 w-12 group",children:[e.jsxRuntimeExports.jsx("div",{dangerouslySetInnerHTML:{__html:t==null?void 0:t.replace("<svg",'<svg class="h-5 w-5"')},className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 transform cursor-pointer bg-white z-0"}),e.jsxRuntimeExports.jsx(m,{value:t?"BiSolidGrid":null,onChange:a,pickButtonStyle:{position:"relative",height:"48px",width:"48px",border:"1px solid #BBBBBB",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"6px",backgroundColor:"transparent",zIndex:1},searchInputStyle:{backgroundColor:"transparent",width:"100%",border:"1px solid #BBBBBB",margin:"0px 10px",padding:"10px"}})]}),e.jsxRuntimeExports.jsx("textarea",{value:t,onChange:o=>s(o.target.value),className:"h-full border w-full rounded-sm border-foreground/20 px-2 py-1 text-xs shadow-sm focus:border-gray-500/80 focus:outline-none focus:ring-0",placeholder:"Choose icon or enter svg"})]})},k=({children:t,onSelect:s})=>{const[r,l]=d.useState(!1),a=(...o)=>{s.call(void 0,...o),l(!1)};return e.jsxRuntimeExports.jsxs(x.Dialog,{open:r,onOpenChange:o=>l(o),children:[e.jsxRuntimeExports.jsx(x.DialogTrigger,{asChild:!0,children:t}),e.jsxRuntimeExports.jsx(x.DialogContent,{className:"flex h-3/4 max-w-5xl",children:e.jsxRuntimeExports.jsx("div",{className:"h-full w-full",children:e.jsxRuntimeExports.jsx(j.default,{isModalView:!0,onSelect:a})})})]})},p=k,v=({value:t,onChange:s,id:r,onBlur:l})=>e.jsxRuntimeExports.jsxs("div",{className:"mt-1.5 flex items-center gap-x-3",children:[t?e.jsxRuntimeExports.jsx("img",{src:t,className:"h-20 w-20 overflow-hidden rounded-md border object-cover",alt:""}):e.jsxRuntimeExports.jsx(p,{onSelect:s,children:e.jsxRuntimeExports.jsx("div",{className:"h-20 w-20 cursor-pointer rounded-md border bg-[radial-gradient(#AAA,transparent_1px)] duration-300 [background-size:10px_10px] hover:border-gray-400"})}),e.jsxRuntimeExports.jsxs("div",{className:"flex w-3/5 flex-col",children:[e.jsxRuntimeExports.jsx(p,{onSelect:s,children:e.jsxRuntimeExports.jsx("small",{className:"cursor-pointer rounded-full bg-gray-600 px-2 py-1 text-center text-xs text-white hover:bg-gray-500 dark:bg-gray-700",children:t||!g.isEmpty(t)?"Replace Image":"Choose Image"})}),e.jsxRuntimeExports.jsx("small",{className:"-pl-4 pt-2 text-center text-xs text-gray-600",children:"OR"}),e.jsxRuntimeExports.jsx("input",{type:"url",className:"text-xs",placeholder:"Enter image URL",value:t,onBlur:({target:{value:a}})=>l(r,a),onChange:a=>s(a.target.value)})]})]}),y=({id:t,placeholder:s,value:r,onChange:l,onBlur:a})=>{const o={toolbar:[["bold","italic","underline","strike","blockquote"],[{list:"ordered"},{list:"bullet"}],[{color:[]},{background:[]},{align:[]}],["link","clean"]]},n=["header","font","list","bold","italic","underline","strike","blockquote","color","background","align","link","image"];return typeof window>"u"?null:e.jsxRuntimeExports.jsx(E,{id:t,value:r,onBlur:c=>a(t,c),onChange:c=>l(c),modules:o,formats:n,placeholder:s,className:"mt-1 rounded-md"})},w=({schema:t,formData:s,onChange:r})=>{const[l,a]=d.useState([]),o=R.useBuilderProp("getPages",()=>[]),{type:n="page",href:c="",target:u="self"}=s;return d.useEffect(()=>{(async()=>{const i=await o();a(i||[])})()},[o]),e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("span",{className:"text-xs font-medium",children:(t==null?void 0:t.title)??"Link"}),e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col gap-y-1.5",children:[e.jsxRuntimeExports.jsx("select",{name:"type",defaultValue:"page",value:n,onChange:i=>r({...s,type:i.target.value}),children:[{const:"page",title:"Open Page"},{const:"url",title:"Open URL"},{const:"email",title:"Compose Email"},{const:"telephone",title:"Call Phone"},{const:"scroll",title:"Scroll to element"}].map(i=>e.jsxRuntimeExports.jsx("option",{value:i.const,children:i.title},i.const))}),n==="page"?e.jsxRuntimeExports.jsxs("select",{name:"href",defaultValue:"",placeholder:"Choose Page",value:c,onChange:i=>r({...s,href:i.target.value}),children:[e.jsxRuntimeExports.jsx("option",{value:"",children:"Choose page"}),g.map(l,i=>e.jsxRuntimeExports.jsx("option",{value:i.slug,children:i.name},i.uuid))]}):e.jsxRuntimeExports.jsx("input",{name:"href",type:"text",value:c,onChange:i=>r({...s,href:i.target.value}),placeholder:n==="page"||n==="url"?"Enter URL":n==="scroll"?"#ElementID":"Enter detail"}),(n==="page"||n==="url")&&e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-x-2",children:[e.jsxRuntimeExports.jsx("input",{type:"checkbox",defaultChecked:u==="_blank",className:"cursor-pointer rounded-md border border-border",onChange:()=>r({...s,target:u==="_blank"?"_self":"_blank"})}),e.jsxRuntimeExports.jsx("span",{className:"pt-1 text-xs",children:"Open in new tab"})]})]})]})};exports.IconPickerField=b;exports.ImagePickerField=v;exports.LinkField=w;exports.RichTextEditorField=y;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { j as e } from "./jsx-runtime-944c88e2.js";
|
|
2
|
-
import
|
|
2
|
+
import m, { IconPickerItem as g } from "react-icons-picker";
|
|
3
3
|
import x from "react-dom";
|
|
4
4
|
import { isEmpty as h, map as f } from "lodash";
|
|
5
5
|
import { useState as u, useEffect as b } from "react";
|
|
6
6
|
import { D as j, b as v, a as k } from "./dialog-3d4e82ed.js";
|
|
7
|
-
import y from "./ImagesPanel-
|
|
7
|
+
import y from "./ImagesPanel-36a2f276.js";
|
|
8
8
|
import w from "react-quill";
|
|
9
9
|
import "react-i18next";
|
|
10
10
|
import { u as N } from "./useBuilderProp-81a14920.js";
|
|
11
11
|
const B = (t) => {
|
|
12
12
|
try {
|
|
13
13
|
const r = document.getElementById("icon-picker-field"), s = document.createElement("div");
|
|
14
|
-
x.render(/* @__PURE__ */ e.jsx(
|
|
14
|
+
x.render(/* @__PURE__ */ e.jsx(g, { value: t }), s), r.appendChild(s), s.hidden = !0;
|
|
15
15
|
let a = s.innerHTML;
|
|
16
16
|
setTimeout(() => r.removeChild(s), 1e3);
|
|
17
17
|
const n = new DOMParser().parseFromString(a, "image/svg+xml"), l = n.querySelector("svg");
|
|
@@ -35,7 +35,7 @@ const B = (t) => {
|
|
|
35
35
|
}
|
|
36
36
|
),
|
|
37
37
|
/* @__PURE__ */ e.jsx(
|
|
38
|
-
|
|
38
|
+
m,
|
|
39
39
|
{
|
|
40
40
|
value: t ? "BiSolidGrid" : null,
|
|
41
41
|
onChange: i,
|
|
@@ -137,7 +137,7 @@ const B = (t) => {
|
|
|
137
137
|
return b(() => {
|
|
138
138
|
(async () => {
|
|
139
139
|
const o = await n();
|
|
140
|
-
i(o);
|
|
140
|
+
i(o || []);
|
|
141
141
|
})();
|
|
142
142
|
}, [n]), /* @__PURE__ */ e.jsxs("div", { children: [
|
|
143
143
|
/* @__PURE__ */ e.jsx("span", { className: "text-xs font-medium", children: (t == null ? void 0 : t.title) ?? "Link" }),
|
|
@@ -168,7 +168,7 @@ const B = (t) => {
|
|
|
168
168
|
onChange: (o) => s({ ...r, href: o.target.value }),
|
|
169
169
|
children: [
|
|
170
170
|
/* @__PURE__ */ e.jsx("option", { value: "", children: "Choose page" }),
|
|
171
|
-
f(a, (o) => /* @__PURE__ */ e.jsx("option", { value: o.slug, children: o.
|
|
171
|
+
f(a, (o) => /* @__PURE__ */ e.jsx("option", { value: o.slug, children: o.name }, o.uuid))
|
|
172
172
|
]
|
|
173
173
|
}
|
|
174
174
|
) : /* @__PURE__ */ e.jsx(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-5c3ac4f7.cjs"),n=require("react"),u=require("@radix-ui/react-icons"),o=require("./popover-7cb9079b.cjs"),x=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-5c3ac4f7.cjs"),n=require("react"),u=require("@radix-ui/react-icons"),o=require("./popover-7cb9079b.cjs"),x=require("./index-4462d894.cjs");require("@radix-ui/react-popover");require("./utils-3c452dd0.cjs");require("clsx");require("tailwind-merge");require("i18next");require("react-i18next");require("flagged");require("react-dnd");require("lodash");require("@minoru/react-dnd-treeview");require("./useBuilderProp-5e57d0c8.cjs");require("@radix-ui/react-slot");require("class-variance-authority");require("@radix-ui/react-tooltip");require("@radix-ui/react-toast");require("jotai");require("react-hotkeys-hook");require("flat-to-nested");require("./html-to-json-78bfa1f3.cjs");require("./MODIFIERS-70fef873.cjs");require("himalaya");require("redux-undo");require("@react-hookz/web");require("@chaibuilder/blocks");require("lucide-react");require("sonner");const j=n.lazy(()=>Promise.resolve().then(()=>require("./single-page-detail-128a33a7.cjs"))),m=({pageData:s})=>{const[r,t]=n.useState("CLOSE");return e.jsxRuntimeExports.jsxs(o.Popover,{open:r==="OPEN"||r==="ALERT"||r==="PENDING",onOpenChange:i=>{t(r==="PENDING"?"ALERT":i?"OPEN":"CLOSE")},children:[e.jsxRuntimeExports.jsx(o.PopoverTrigger,{asChild:!0,onClick:i=>{i.stopPropagation(),t("OPEN")},children:e.jsxRuntimeExports.jsx("div",{className:"flex items-center justify-between",children:r==="OPEN"||r==="ALERT"||r==="PENDING"?e.jsxRuntimeExports.jsx(u.ChevronRightIcon,{}):e.jsxRuntimeExports.jsx("div",{className:"hidden hover:text-blue-600 group-hover:flex",children:e.jsxRuntimeExports.jsx(u.GearIcon,{})})})}),e.jsxRuntimeExports.jsx(o.PopoverContent,{side:"right",align:"start",alignOffset:-35,className:"h-screen w-96",children:e.jsxRuntimeExports.jsx(n.Suspense,{fallback:e.jsxRuntimeExports.jsxs("div",{className:"flex w-full animate-pulse flex-col gap-y-3",children:[e.jsxRuntimeExports.jsx("div",{className:"bg-background-300 h-6 w-1/2"}),e.jsxRuntimeExports.jsx("div",{className:"bg-background-300 h-20 w-full"}),e.jsxRuntimeExports.jsx("div",{className:"bg-background-300 h-20 w-full"})]}),children:e.jsxRuntimeExports.jsx(j,{pageData:s,open:r,setOpen:t})})})]})},p=s=>{const[r]=x.useCurrentPage(),{data:t}=x.useProject(),i=x.useChangePage(),l=(t==null?void 0:t.homepage)===s.uuid,a=r===s.uuid,c=()=>i(s);return t?e.jsxRuntimeExports.jsxs("button",{className:`group relative flex w-full cursor-pointer items-center justify-between px-2.5 py-2 ${a?"bg-blue-200 ":""}`,onClick:c,type:"button",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-x-1.5",children:[l?e.jsxRuntimeExports.jsx(u.HomeIcon,{}):e.jsxRuntimeExports.jsx(u.FileTextIcon,{})," ",s.name]}),e.jsxRuntimeExports.jsx(m,{pageData:s})]}):null},d=({pages:s,isLoading:r})=>r?e.jsxRuntimeExports.jsxs("div",{className:"flex animate-pulse flex-col gap-y-1 px-2.5 pt-2",children:[e.jsxRuntimeExports.jsx("div",{className:"bg-background-200 h-7 w-full"}),e.jsxRuntimeExports.jsx("div",{className:"bg-background-200 h-7 w-full"}),e.jsxRuntimeExports.jsx("div",{className:"bg-background-200 h-7 w-full"})]}):s.length===0?e.jsxRuntimeExports.jsx("div",{className:"px-2.5 pb-2 pt-4",children:"No pages"}):e.jsxRuntimeExports.jsx("div",{className:"-mb-2",children:n.Children.toArray(s.map(t=>e.jsxRuntimeExports.jsx(p,{...t})))});exports.default=d;
|
|
@@ -2,7 +2,7 @@ import { j as e } from "./jsx-runtime-944c88e2.js";
|
|
|
2
2
|
import o, { useState as m, Suspense as c } from "react";
|
|
3
3
|
import { HomeIcon as p, FileTextIcon as u, ChevronRightIcon as d, GearIcon as x } from "@radix-ui/react-icons";
|
|
4
4
|
import { P as g, a as h, b as f } from "./popover-f7addcf4.js";
|
|
5
|
-
import { R as j,
|
|
5
|
+
import { R as j, O as N, Q as b } from "./index-9ba9f277.js";
|
|
6
6
|
import "@radix-ui/react-popover";
|
|
7
7
|
import "./utils-ac68b2c8.js";
|
|
8
8
|
import "clsx";
|
|
@@ -29,7 +29,7 @@ import "@react-hookz/web";
|
|
|
29
29
|
import "@chaibuilder/blocks";
|
|
30
30
|
import "lucide-react";
|
|
31
31
|
import "sonner";
|
|
32
|
-
const
|
|
32
|
+
const P = o.lazy(() => import("./single-page-detail-359a0806.js")), v = ({ pageData: r }) => {
|
|
33
33
|
const [s, t] = m("CLOSE");
|
|
34
34
|
return /* @__PURE__ */ e.jsxs(
|
|
35
35
|
g,
|
|
@@ -57,14 +57,14 @@ const b = o.lazy(() => import("./single-page-detail-8ccf6b26.js")), v = ({ pageD
|
|
|
57
57
|
/* @__PURE__ */ e.jsx("div", { className: "bg-background-300 h-20 w-full" }),
|
|
58
58
|
/* @__PURE__ */ e.jsx("div", { className: "bg-background-300 h-20 w-full" })
|
|
59
59
|
] }),
|
|
60
|
-
children: /* @__PURE__ */ e.jsx(
|
|
60
|
+
children: /* @__PURE__ */ e.jsx(P, { pageData: r, open: s, setOpen: t })
|
|
61
61
|
}
|
|
62
62
|
) })
|
|
63
63
|
]
|
|
64
64
|
}
|
|
65
65
|
);
|
|
66
66
|
}, E = (r) => {
|
|
67
|
-
const [s] = j(), { data: t } = N(), i =
|
|
67
|
+
const [s] = j(), { data: t } = N(), i = b(), a = (t == null ? void 0 : t.homepage) === r.uuid, n = s === r.uuid, l = () => i(r);
|
|
68
68
|
return t ? /* @__PURE__ */ e.jsxs(
|
|
69
69
|
"button",
|
|
70
70
|
{
|
|
@@ -2,8 +2,8 @@ import { j as i } from "./jsx-runtime-944c88e2.js";
|
|
|
2
2
|
import * as n from "react";
|
|
3
3
|
import { S as f } from "./scroll-area-9f64a082.js";
|
|
4
4
|
import { SingleLineText as c, Image as d } from "@chaibuilder/blocks";
|
|
5
|
-
import { F as u } from "./form-
|
|
6
|
-
import {
|
|
5
|
+
import { F as u } from "./form-52b48fbc.js";
|
|
6
|
+
import { O as x } from "./index-9ba9f277.js";
|
|
7
7
|
import "@radix-ui/react-scroll-area";
|
|
8
8
|
import "./utils-ac68b2c8.js";
|
|
9
9
|
import "clsx";
|
|
@@ -11,13 +11,13 @@ import "tailwind-merge";
|
|
|
11
11
|
import "@rjsf/core";
|
|
12
12
|
import "@rjsf/validator-ajv8";
|
|
13
13
|
import "lodash";
|
|
14
|
-
import "./link-
|
|
14
|
+
import "./link-eeef0a29.js";
|
|
15
15
|
import "react-icons-picker";
|
|
16
16
|
import "react-dom";
|
|
17
17
|
import "./dialog-3d4e82ed.js";
|
|
18
18
|
import "@radix-ui/react-dialog";
|
|
19
19
|
import "@radix-ui/react-icons";
|
|
20
|
-
import "./ImagesPanel-
|
|
20
|
+
import "./ImagesPanel-36a2f276.js";
|
|
21
21
|
import "./tabs-85caa1e8.js";
|
|
22
22
|
import "@radix-ui/react-tabs";
|
|
23
23
|
import "react-quill";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./jsx-runtime-5c3ac4f7.cjs"),a=require("react"),f=require("./scroll-area-088530b9.cjs"),o=require("@chaibuilder/blocks"),m=require("./form-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./jsx-runtime-5c3ac4f7.cjs"),a=require("react"),f=require("./scroll-area-088530b9.cjs"),o=require("@chaibuilder/blocks"),m=require("./form-e9748a4e.cjs"),d=require("./index-4462d894.cjs");require("@radix-ui/react-scroll-area");require("./utils-3c452dd0.cjs");require("clsx");require("tailwind-merge");require("@rjsf/core");require("@rjsf/validator-ajv8");require("lodash");require("./link-26d3158f.cjs");require("react-icons-picker");require("react-dom");require("./dialog-170eaad9.cjs");require("@radix-ui/react-dialog");require("@radix-ui/react-icons");require("./ImagesPanel-731cda7a.cjs");require("./tabs-860e37aa.cjs");require("@radix-ui/react-tabs");require("react-quill");require("react-i18next");require("./useBuilderProp-5e57d0c8.cjs");require("@radix-ui/react-slot");require("class-variance-authority");require("@radix-ui/react-tooltip");require("@radix-ui/react-toast");require("jotai");require("i18next");require("flagged");require("react-dnd");require("@minoru/react-dnd-treeview");require("react-hotkeys-hook");require("flat-to-nested");require("./html-to-json-78bfa1f3.cjs");require("./MODIFIERS-70fef873.cjs");require("himalaya");require("redux-undo");require("@react-hookz/web");require("lucide-react");require("sonner");function g(r){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const u=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(i,e,u.get?u:{enumerable:!0,get:()=>r[e]})}}return i.default=r,Object.freeze(i)}const j=g(a),b=({_projectData:r,seany:i})=>{const{data:e,isLoading:u}=d.useProject();j.useEffect(()=>{e&&i(e)},[e,i]);const q=({formData:l},t)=>{i(s=>({...s,[t]:l[t]}))},c={name:o.SingleLineText({title:"Project Name",default:e==null?void 0:e.name}),favicon:o.Image({title:"Favicon",default:e==null?void 0:e.favicon})};return n.jsxRuntimeExports.jsx(f.ScrollArea,{className:"flex h-full select-none flex-col",children:n.jsxRuntimeExports.jsx(m.Form,{properties:c,disabled:u,formData:r,onChange:q})})};exports.default=b;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { j as p } from "./jsx-runtime-944c88e2.js";
|
|
2
2
|
import { Model as D, SingleLineText as c, MultilineText as g, Image as x } from "@chaibuilder/blocks";
|
|
3
|
-
import { F as v } from "./form-
|
|
3
|
+
import { F as v } from "./form-52b48fbc.js";
|
|
4
4
|
import "react";
|
|
5
5
|
import "@rjsf/core";
|
|
6
6
|
import "@rjsf/validator-ajv8";
|
|
7
7
|
import "lodash";
|
|
8
|
-
import "./link-
|
|
8
|
+
import "./link-eeef0a29.js";
|
|
9
9
|
import "react-icons-picker";
|
|
10
10
|
import "react-dom";
|
|
11
11
|
import "./dialog-3d4e82ed.js";
|
|
@@ -14,7 +14,7 @@ import "@radix-ui/react-icons";
|
|
|
14
14
|
import "./utils-ac68b2c8.js";
|
|
15
15
|
import "clsx";
|
|
16
16
|
import "tailwind-merge";
|
|
17
|
-
import "./ImagesPanel-
|
|
17
|
+
import "./ImagesPanel-36a2f276.js";
|
|
18
18
|
import "./tabs-85caa1e8.js";
|
|
19
19
|
import "@radix-ui/react-tabs";
|
|
20
20
|
import "react-quill";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./jsx-runtime-5c3ac4f7.cjs"),r=require("@chaibuilder/blocks"),g=require("./form-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./jsx-runtime-5c3ac4f7.cjs"),r=require("@chaibuilder/blocks"),g=require("./form-e9748a4e.cjs");require("react");require("@rjsf/core");require("@rjsf/validator-ajv8");require("lodash");require("./link-26d3158f.cjs");require("react-icons-picker");require("react-dom");require("./dialog-170eaad9.cjs");require("@radix-ui/react-dialog");require("@radix-ui/react-icons");require("./utils-3c452dd0.cjs");require("clsx");require("tailwind-merge");require("./ImagesPanel-731cda7a.cjs");require("./tabs-860e37aa.cjs");require("@radix-ui/react-tabs");require("react-quill");require("react-i18next");require("./useBuilderProp-5e57d0c8.cjs");require("@radix-ui/react-slot");require("class-variance-authority");require("@radix-ui/react-tooltip");require("@radix-ui/react-toast");require("jotai");const D=({_projectData:e,seany:q})=>{var t,o,u,s,a,l;const d=({formData:c})=>{const i={...c};i.seoData.title===void 0&&(i.seoData.title=""),i.seoData.description===void 0&&(i.seoData.description=""),i.seoData.image===void 0&&(i.seoData.image=""),q(f=>({...f,...i}))},m={seoData:r.Model({title:"",default:{title:((t=e.seoData)==null?void 0:t.title)||"",description:((o=e.seoData)==null?void 0:o.description)||"",image:((u=e.seoData)==null?void 0:u.image)||""},properties:{title:r.SingleLineText({title:"Default Title",default:((s=e.seoData)==null?void 0:s.title)||""}),description:r.MultilineText({title:"Default Description",default:((a=e.seoData)==null?void 0:a.description)||""}),image:r.Image({title:"Social Media Image",default:((l=e.seoData)==null?void 0:l.image)||""})}})};return n.jsxRuntimeExports.jsx("div",{className:"flex h-full select-none flex-col",children:n.jsxRuntimeExports.jsx(g.Form,{properties:m,formData:e,onChange:d})})};exports.default=D;
|
package/dist/server.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var u=Object.defineProperty;var g=(a,t,e)=>t in a?u(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e;var c=(a,t,e)=>(g(a,typeof t!="symbol"?t+"":t,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("lodash"),i="https://api.chaibuilder.com";class l{constructor(t,e){c(this,"authSecret");c(this,"appKey");if(!t)throw"Please provide valid auth secret.";if(!e)throw"Please provide valid project key.";this.authSecret=t,this.appKey=e}getURL(t,e){const s=new URLSearchParams(e).toString();return h.isEmpty(e)?`${i}/v1/${t}`:`${i}/v1/${t}?${s}`}getHeaders(){const t=new Headers;return t.append("x-chai-app-key",this.appKey),t.append("x-chai-auth-secret",this.authSecret),t}async fetchAPI(t,e){try{const s=await fetch(t,e).then(o=>o.json());if((s==null?void 0:s.result)==="success")return{data:s==null?void 0:s.data,error:null,result:"success"};throw s==null?void 0:s.error}catch(s){return{data:null,error:s,result:"error"}}}async getPageData(t){const e=this.getHeaders(),s=this.getURL("page-data",h.isEmpty(t)?{}:{slug:t}),n={method:"GET",headers:e,next:{tags:[h.isEmpty(t)?"_homepage":t]}};return this.fetchAPI(s,n)}async getPage(t){if(!t)return Promise.reject({data:null,error:{message:"Invalid page uuid"},result:"error"});const e=this.getHeaders(),s=this.getURL("page",{uuid:t}),n={method:"GET",headers:e};return this.fetchAPI(s,n)}async getPages(){const t=this.getHeaders(),e=this.getURL("pages"),o={method:"GET",headers:t};return this.fetchAPI(e,o)}async addPage(t){const e=JSON.stringify(t),s=this.getHeaders(),o=this.getURL("page"),r={method:"POST",headers:s,body:e};return this.fetchAPI(o,r)}async deletePage(t){if(!t)return Promise.reject({data:null,error:{message:"Invalid page uuid"},result:"error"});const e=this.getHeaders(),s=this.getURL("page",{uuid:t}),n={method:"DELETE",headers:e};return this.fetchAPI(s,n)}async updatePage(t){const e=JSON.stringify(t),s=this.getHeaders(),o=this.getURL("page"),r={method:"PUT",headers:s,body:e};return this.fetchAPI(o,r)}async getProject(){const t=this.getHeaders(),e=this.getURL("project"),o={method:"GET",headers:t};return this.fetchAPI(e,o)}async updateProject(t){const e=JSON.stringify(t),s=this.getHeaders(),o=this.getURL("project"),r={method:"PUT",headers:s,body:e};return this.fetchAPI(o,r)}async uploadAsset(t){const e=this.getHeaders(),s=this.getURL("asset"),o="POST",n=await t.get("file"),r=new FormData;r.append("file",n);const d={method:o,headers:e,body:r};return this.fetchAPI(s,d)}async getAssets(t,e){const s=this.getHeaders(),o=this.getURL("asset");t&&o.concat(`?limit=${t}`),e&&o.concat(`&offset=${e}`);const r={method:"GET",headers:s};return this.fetchAPI(o,r)}async authenticate({password:t}){const e=JSON.stringify({password:t}),s=this.getHeaders(),o=this.getURL("authenticate"),r={method:"POST",headers:s,body:e};return this.fetchAPI(o,r)}async verify(t){const e=JSON.stringify({token:t}),s=this.getHeaders(),o=this.getURL("verify"),r={method:"POST",headers:s,body:e};return this.fetchAPI(o,r)}}exports.ChaibuilderBackend=l;
|
package/dist/server.d.ts
CHANGED
|
@@ -1,16 +1,44 @@
|
|
|
1
|
-
import type { ChaiBlock } from '@chaibuilder/sdk';
|
|
2
|
-
import type { ChaiPageData } from '@chaibuilder/sdk/render';
|
|
3
|
-
|
|
4
1
|
declare type ChaiApiResponse<T> = Promise<{
|
|
5
2
|
data: T;
|
|
6
3
|
error: null;
|
|
7
4
|
result: string;
|
|
8
5
|
}>;
|
|
9
6
|
|
|
7
|
+
declare type ChaiAsset = {
|
|
8
|
+
id: string;
|
|
9
|
+
url: string;
|
|
10
|
+
thumbUrl: string;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
declare type ChaiBlock = {
|
|
14
|
+
_id: string;
|
|
15
|
+
_name?: string;
|
|
16
|
+
_parent?: string | null | undefined;
|
|
17
|
+
_bindings?: Record<string, string>;
|
|
18
|
+
readonly _type: string;
|
|
19
|
+
} & Record<string, string>;
|
|
20
|
+
|
|
10
21
|
export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
|
|
11
|
-
private
|
|
12
|
-
private readonly
|
|
13
|
-
constructor(
|
|
22
|
+
private authSecret;
|
|
23
|
+
private readonly appKey;
|
|
24
|
+
constructor(authSecret: string, appKey: string);
|
|
25
|
+
/**
|
|
26
|
+
*
|
|
27
|
+
* @param endpoint
|
|
28
|
+
* @param queryParam
|
|
29
|
+
* @returns api endpoint with query param
|
|
30
|
+
*/
|
|
31
|
+
private getURL;
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* @returns headers for api
|
|
35
|
+
*/
|
|
36
|
+
private getHeaders;
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
* @returns Fetch API
|
|
40
|
+
*/
|
|
41
|
+
private fetchAPI;
|
|
14
42
|
getPageData(slug: string): Promise<{
|
|
15
43
|
data: ChaiPageData;
|
|
16
44
|
error: null;
|
|
@@ -86,74 +114,120 @@ export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
|
|
|
86
114
|
error: null;
|
|
87
115
|
result: string;
|
|
88
116
|
}>;
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
result: string;
|
|
97
|
-
}>;
|
|
98
|
-
verify(token: string): Promise<{
|
|
117
|
+
/**
|
|
118
|
+
*
|
|
119
|
+
* @returns Upload asset
|
|
120
|
+
* @param formData
|
|
121
|
+
* @param req
|
|
122
|
+
*/
|
|
123
|
+
uploadAsset(formData: FormData): Promise<{
|
|
99
124
|
data: {
|
|
100
|
-
|
|
125
|
+
url: string;
|
|
101
126
|
};
|
|
102
127
|
error: null;
|
|
103
128
|
result: string;
|
|
104
129
|
}>;
|
|
105
130
|
/**
|
|
106
131
|
*
|
|
107
|
-
* @
|
|
108
|
-
* @param
|
|
109
|
-
* @
|
|
132
|
+
* @returns Get assets
|
|
133
|
+
* @param limit
|
|
134
|
+
* @param offset
|
|
110
135
|
*/
|
|
111
|
-
|
|
136
|
+
getAssets(limit?: string, offset?: string): Promise<{
|
|
137
|
+
data: ChaiAsset[];
|
|
138
|
+
error: null;
|
|
139
|
+
result: string;
|
|
140
|
+
}>;
|
|
112
141
|
/**
|
|
113
142
|
*
|
|
114
|
-
* @
|
|
143
|
+
* @param { password }
|
|
144
|
+
* @returns { token }
|
|
115
145
|
*/
|
|
116
|
-
|
|
146
|
+
authenticate({ password }: {
|
|
147
|
+
password: string;
|
|
148
|
+
}): Promise<{
|
|
149
|
+
data: {
|
|
150
|
+
token: string;
|
|
151
|
+
};
|
|
152
|
+
error: null;
|
|
153
|
+
result: string;
|
|
154
|
+
}>;
|
|
117
155
|
/**
|
|
118
156
|
*
|
|
119
|
-
* @
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
157
|
+
* @param token
|
|
158
|
+
* @returns { result: 'success' | 'error' }
|
|
159
|
+
*/
|
|
160
|
+
verify(token: string): Promise<{
|
|
161
|
+
data: {
|
|
162
|
+
result: string;
|
|
163
|
+
};
|
|
164
|
+
error: null;
|
|
165
|
+
result: string;
|
|
166
|
+
}>;
|
|
167
|
+
}
|
|
123
168
|
|
|
124
|
-
declare interface ChaibuilderBackendInterface {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
169
|
+
declare interface ChaibuilderBackendInterface {
|
|
170
|
+
getPage(uuid: string): ChaiApiResponse<ChaiPage & {
|
|
171
|
+
subPages: ChaiSubPage[];
|
|
172
|
+
}>;
|
|
173
|
+
getPages(): ChaiApiResponse<ChaiPage>;
|
|
174
|
+
addPage(page: Pick<ChaiPage, "name" | "slug">): ChaiApiResponse<ChaiPage>;
|
|
175
|
+
deletePage(uuid: string): ChaiApiResponse<null>;
|
|
176
|
+
updatePage(page: ChaiPage): ChaiApiResponse<ChaiPage>;
|
|
177
|
+
getProject(): ChaiApiResponse<ChaiProject>;
|
|
178
|
+
updateProject(project: Partial<ChaiProject>): ChaiApiResponse<ChaiProject>;
|
|
179
|
+
uploadAsset(formData: FormData): ChaiApiResponse<{
|
|
180
|
+
url: string;
|
|
181
|
+
}>;
|
|
182
|
+
getAssets(): ChaiApiResponse<ChaiAsset[]>;
|
|
183
|
+
}
|
|
135
184
|
|
|
136
|
-
declare type ChaiPage = {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
185
|
+
declare type ChaiPage = {
|
|
186
|
+
uuid: string;
|
|
187
|
+
name: string;
|
|
188
|
+
slug: string;
|
|
189
|
+
blocks: ChaiBlock[];
|
|
190
|
+
seoData: object;
|
|
191
|
+
type: "STATIC" | "DYNAMIC" | "SUBPAGE";
|
|
192
|
+
project: string;
|
|
193
|
+
};
|
|
144
194
|
|
|
145
|
-
declare type
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
};
|
|
195
|
+
declare type ChaiPageData = {
|
|
196
|
+
page: {
|
|
197
|
+
blocks: ChaiBlock[];
|
|
198
|
+
seoData?: Record<string, string>;
|
|
199
|
+
slug?: string;
|
|
200
|
+
name: string;
|
|
201
|
+
};
|
|
202
|
+
subPages?: {
|
|
203
|
+
uuid: string;
|
|
204
|
+
blocks: ChaiBlock[];
|
|
205
|
+
}[];
|
|
206
|
+
project: {
|
|
207
|
+
name: string;
|
|
208
|
+
favicon: string;
|
|
209
|
+
brandingOptions: Record<string, string | number>;
|
|
210
|
+
seoData?: Record<string, string>;
|
|
211
|
+
primaryLanguage: string;
|
|
212
|
+
languages: string[];
|
|
213
|
+
homepage: string;
|
|
214
|
+
};
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
declare type ChaiProject = {
|
|
218
|
+
uuid: string;
|
|
219
|
+
brandingOptions: Record<string, string | number>;
|
|
220
|
+
favicon: string;
|
|
221
|
+
homepage: string;
|
|
222
|
+
name: string;
|
|
223
|
+
description?: string;
|
|
224
|
+
seoData: Record<string, string>;
|
|
225
|
+
primaryLanguage?: string;
|
|
226
|
+
password?: string;
|
|
227
|
+
languages?: Array<string>;
|
|
228
|
+
user?: string;
|
|
229
|
+
};
|
|
156
230
|
|
|
157
|
-
declare type ChaiSubPage = Pick<ChaiPage, "uuid" | "name" | "blocks" | "type">;
|
|
231
|
+
declare type ChaiSubPage = Pick<ChaiPage, "uuid" | "name" | "blocks" | "type" | "project">;
|
|
158
232
|
|
|
159
|
-
export { }
|
|
233
|
+
export { }
|