@chaibuilder/sdk 1.2.84 → 1.2.87

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-JYMCiFoE.cjs"),b=require("@monaco-editor/react"),k=require("./context-menu-Lx_MAqsu.cjs"),C=require("react-i18next"),u=require("react"),n=require("./index-gUzYgMk2.cjs"),E=require("@radix-ui/react-icons"),R=require("@react-hookz/web");require("@radix-ui/react-switch");require("@radix-ui/react-accordion");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-slot");require("class-variance-authority");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-hover-card");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-context-menu");require("clsx");require("tailwind-merge");require("lodash-es");require("jotai");require("./iconBase-vJD0OXxU.cjs");require("@chaibuilder/runtime");require("./plugin-_F-KZp1i.cjs");require("tree-model");require("react-quill");require("./STRINGS-Yl7cSWDc.cjs");require("react-hotkeys-hook");require("@floating-ui/dom");require("@floating-ui/react-dom");require("flagged");require("react-event-hook");require("@tailwindcss/typography");require("@tailwindcss/forms");require("@tailwindcss/aspect-ratio");require("tailwindcss-palette-generator");require("react-wrap-balancer");require("react-dom");require("prop-types");require("react-error-boundary");require("re-resizable");require("@rjsf/validator-ajv8");require("@rjsf/core");require("react-arborist");require("lucide-react");require("himalaya");require("react-icons-picker");require("react-autosuggest");require("fuse.js");require("i18next");require("framer-motion");const a=s=>{const i=document.createElement("div");return i.innerHTML=s,i.innerHTML};function g(){const{t:s}=C.useTranslation(),[i,d]=u.useState(!1),[l,q]=u.useState(""),[r,o]=n.useCodeEditor(),[c]=n.useSelectedBlockIds(),x=n.useUpdateBlocksProps(),m=n.useUpdateBlocksPropsRealtime(),p=R.useThrottledCallback(t=>{const h=a(t);m([r.blockId],{[r.blockProp]:h})},[],300),j=u.useCallback(()=>{if(i){const t=a(l);x([r.blockId],{[r.blockProp]:t})}},[i,l]);u.useEffect(()=>{c.includes(r==null?void 0:r.blockId)||(j(),o(null))},[c]);const f=()=>{o(null)};return e.jsxRuntimeExports.jsxs("div",{className:"h-full rounded-t-lg border-t-4 border-black bg-black text-white",children:[e.jsxRuntimeExports.jsx("button",{onClick:f,className:"fixed inset-0 z-[100000] cursor-default bg-gray-400/20"}),e.jsxRuntimeExports.jsxs("div",{className:"relative z-[100001] h-full w-full flex-col gap-y-1",children:[e.jsxRuntimeExports.jsxs("div",{className:"-mt-1 flex items-center justify-between px-2 py-2",children:[e.jsxRuntimeExports.jsxs("h3",{className:"space-x-3 text-sm font-semibold",children:[e.jsxRuntimeExports.jsx("span",{children:s("HTML Code Editor |")}),e.jsxRuntimeExports.jsx("span",{className:"text-xs text-gray-400",children:s("Scripts will be only executed in preview and live mode.")})]}),e.jsxRuntimeExports.jsx("div",{className:"flex gap-x-2",children:e.jsxRuntimeExports.jsx(k.Button,{onClick:()=>o(null),size:"sm",variant:"destructive",className:"h-6 w-fit",children:e.jsxRuntimeExports.jsx(E.Cross2Icon,{})})})]}),e.jsxRuntimeExports.jsx(b,{onMount:t=>{t.setValue(r.initialCode)},onChange:t=>{d(!0),q(t),p(t)},height:"100%",defaultLanguage:"html",theme:"vs-dark",defaultValue:"",options:{minimap:{enabled:!1}}})]})]})}exports.default=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-JYMCiFoE.cjs"),b=require("@monaco-editor/react"),k=require("./context-menu-Lx_MAqsu.cjs"),C=require("react-i18next"),u=require("react"),n=require("./index-m4trCUDW.cjs"),E=require("@radix-ui/react-icons"),R=require("@react-hookz/web");require("@radix-ui/react-switch");require("@radix-ui/react-accordion");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-slot");require("class-variance-authority");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-hover-card");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-context-menu");require("clsx");require("tailwind-merge");require("lodash-es");require("jotai");require("./iconBase-vJD0OXxU.cjs");require("@chaibuilder/runtime");require("./plugin-_F-KZp1i.cjs");require("tree-model");require("react-quill");require("./STRINGS-Yl7cSWDc.cjs");require("flagged");require("react-hotkeys-hook");require("@floating-ui/dom");require("@floating-ui/react-dom");require("react-event-hook");require("@tailwindcss/typography");require("@tailwindcss/forms");require("@tailwindcss/aspect-ratio");require("tailwindcss-palette-generator");require("react-wrap-balancer");require("react-dom");require("prop-types");require("react-error-boundary");require("re-resizable");require("@rjsf/validator-ajv8");require("@rjsf/core");require("react-arborist");require("lucide-react");require("himalaya");require("react-icons-picker");require("react-autosuggest");require("fuse.js");require("i18next");require("framer-motion");const a=s=>{const i=document.createElement("div");return i.innerHTML=s,i.innerHTML};function g(){const{t:s}=C.useTranslation(),[i,d]=u.useState(!1),[l,q]=u.useState(""),[r,o]=n.useCodeEditor(),[c]=n.useSelectedBlockIds(),x=n.useUpdateBlocksProps(),m=n.useUpdateBlocksPropsRealtime(),p=R.useThrottledCallback(t=>{const h=a(t);m([r.blockId],{[r.blockProp]:h})},[],300),j=u.useCallback(()=>{if(i){const t=a(l);x([r.blockId],{[r.blockProp]:t})}},[i,l]);u.useEffect(()=>{c.includes(r==null?void 0:r.blockId)||(j(),o(null))},[c]);const f=()=>{o(null)};return e.jsxRuntimeExports.jsxs("div",{className:"h-full rounded-t-lg border-t-4 border-black bg-black text-white",children:[e.jsxRuntimeExports.jsx("button",{onClick:f,className:"fixed inset-0 z-[100000] cursor-default bg-gray-400/20"}),e.jsxRuntimeExports.jsxs("div",{className:"relative z-[100001] h-full w-full flex-col gap-y-1",children:[e.jsxRuntimeExports.jsxs("div",{className:"-mt-1 flex items-center justify-between px-2 py-2",children:[e.jsxRuntimeExports.jsxs("h3",{className:"space-x-3 text-sm font-semibold",children:[e.jsxRuntimeExports.jsx("span",{children:s("HTML Code Editor |")}),e.jsxRuntimeExports.jsx("span",{className:"text-xs text-gray-400",children:s("Scripts will be only executed in preview and live mode.")})]}),e.jsxRuntimeExports.jsx("div",{className:"flex gap-x-2",children:e.jsxRuntimeExports.jsx(k.Button,{onClick:()=>o(null),size:"sm",variant:"destructive",className:"h-6 w-fit",children:e.jsxRuntimeExports.jsx(E.Cross2Icon,{})})})]}),e.jsxRuntimeExports.jsx(b,{onMount:t=>{t.setValue(r.initialCode)},onChange:t=>{d(!0),q(t),p(t)},height:"100%",defaultLanguage:"html",theme:"vs-dark",defaultValue:"",options:{minimap:{enabled:!1}}})]})]})}exports.default=g;
@@ -1,9 +1,9 @@
1
1
  import { j as t } from "./jsx-runtime-Sp0orL4X.js";
2
2
  import k from "@monaco-editor/react";
3
- import { B as C } from "./context-menu-zu6r7B6f.js";
3
+ import { B as C } from "./context-menu-LFlr5p9-.js";
4
4
  import { useTranslation as j } from "react-i18next";
5
5
  import { useState as l, useCallback as v, useEffect as g } from "react";
6
- import { u as y, a as N, b as T, c as E } from "./index--qRAS_YQ.js";
6
+ import { u as y, a as N, b as T, c as E } from "./index-RyHuirjY.js";
7
7
  import { Cross2Icon as w } from "@radix-ui/react-icons";
8
8
  import { useThrottledCallback as B } from "@react-hookz/web";
9
9
  import "@radix-ui/react-switch";
@@ -33,10 +33,10 @@ import "./plugin-sJ3Hzvpv.js";
33
33
  import "tree-model";
34
34
  import "react-quill";
35
35
  import "./STRINGS-TDN5UhWi.js";
36
+ import "flagged";
36
37
  import "react-hotkeys-hook";
37
38
  import "@floating-ui/dom";
38
39
  import "@floating-ui/react-dom";
39
- import "flagged";
40
40
  import "react-event-hook";
41
41
  import "@tailwindcss/typography";
42
42
  import "@tailwindcss/forms";
@@ -1,11 +1,11 @@
1
1
  import { j as e } from "./jsx-runtime-Sp0orL4X.js";
2
2
  import l, { Suspense as m } from "react";
3
- import { FontFamilyIcon as d, EyeOpenIcon as h } from "@radix-ui/react-icons";
4
- import { S as j, c as f, b as g, d as v, a as b, e as N, f as n } from "./select-1WwjQDp6.js";
5
- import { d as a, e as S, F as w, f as y } from "./index--qRAS_YQ.js";
6
- import { B as c, S as p, ac as C } from "./context-menu-zu6r7B6f.js";
3
+ import { FontFamilyIcon as d, EyeOpenIcon as u } from "@radix-ui/react-icons";
4
+ import { S as h, c as j, b as g, d as f, a as v, e as b, f as n } from "./select-8MHQqep3.js";
5
+ import { d as a, e as N, F as S, f as w } from "./index-RyHuirjY.js";
6
+ import { B as c, S as p, ac as y } from "./context-menu-LFlr5p9-.js";
7
7
  import { useTranslation as x } from "react-i18next";
8
- import { c as B } from "./iconBase-zweRWSz0.js";
8
+ import { c as C } from "./iconBase-zweRWSz0.js";
9
9
  import "@radix-ui/react-select";
10
10
  import "lodash-es";
11
11
  import "jotai";
@@ -15,10 +15,10 @@ import "@react-hookz/web";
15
15
  import "tree-model";
16
16
  import "react-quill";
17
17
  import "./STRINGS-TDN5UhWi.js";
18
+ import "flagged";
18
19
  import "react-hotkeys-hook";
19
20
  import "@floating-ui/dom";
20
21
  import "@floating-ui/react-dom";
21
- import "flagged";
22
22
  import "react-event-hook";
23
23
  import "@tailwindcss/typography";
24
24
  import "@tailwindcss/forms";
@@ -58,8 +58,8 @@ import "@radix-ui/react-toast";
58
58
  import "cmdk";
59
59
  import "@radix-ui/react-dialog";
60
60
  import "@radix-ui/react-context-menu";
61
- const A = () => a("languages", ["en"]), P = () => A().length === 1 ? null : /* @__PURE__ */ e.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ e.jsxs(j, { children: [
62
- /* @__PURE__ */ e.jsx(f, { className: "w-[150px] border-0", children: /* @__PURE__ */ e.jsx(
61
+ const k = () => a("languages", ["en"]), A = () => k().length === 1 ? null : /* @__PURE__ */ e.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ e.jsxs(h, { children: [
62
+ /* @__PURE__ */ e.jsx(j, { className: "w-[150px] border-0", children: /* @__PURE__ */ e.jsx(
63
63
  g,
64
64
  {
65
65
  placeholder: /* @__PURE__ */ e.jsxs("span", { className: "flex items-center", children: [
@@ -68,62 +68,59 @@ const A = () => a("languages", ["en"]), P = () => A().length === 1 ? null : /* @
68
68
  ] })
69
69
  }
70
70
  ) }),
71
- /* @__PURE__ */ e.jsx(v, { children: /* @__PURE__ */ e.jsxs(b, { children: [
72
- /* @__PURE__ */ e.jsx(N, { children: "Fruits" }),
71
+ /* @__PURE__ */ e.jsx(f, { children: /* @__PURE__ */ e.jsxs(v, { children: [
72
+ /* @__PURE__ */ e.jsx(b, { children: "Fruits" }),
73
73
  /* @__PURE__ */ e.jsx(n, { value: "apple", children: "Apple" }),
74
74
  /* @__PURE__ */ e.jsx(n, { value: "banana", children: "Banana" }),
75
75
  /* @__PURE__ */ e.jsx(n, { value: "blueberry", children: "Blueberry" }),
76
76
  /* @__PURE__ */ e.jsx(n, { value: "grapes", children: "Grapes" }),
77
77
  /* @__PURE__ */ e.jsx(n, { value: "pineapple", children: "Pineapple" })
78
78
  ] }) })
79
- ] }) }), k = () => {
80
- const { savePage: i, saveState: t } = S(), o = a("hideSaveButton", !1), { t: s } = x();
81
- if (o)
82
- return null;
83
- const r = /* @__PURE__ */ e.jsxs(
79
+ ] }) }), B = () => {
80
+ const { savePage: i, saveState: t } = N(), { t: s } = x(), o = /* @__PURE__ */ e.jsxs(
84
81
  c,
85
82
  {
86
83
  disabled: t === "SAVING",
87
- onClick: (u) => {
88
- u.preventDefault(), i();
84
+ onClick: (r) => {
85
+ r.preventDefault(), i();
89
86
  },
90
- className: B(
87
+ className: C(
91
88
  "flex h-auto w-fit items-center gap-x-2 p-1 px-2",
92
89
  // UNSAVED sate
93
- "bg-gray-200 text-gray-500 hover:bg-gray-100",
90
+ "bg-gray-200 text-gray-500 hover:bg-gray-100 dark:bg-gray-800 dark:text-gray-400",
94
91
  {
95
92
  "animate-pulse bg-gray-300 text-gray-900": t === "SAVING",
96
- "bg-green-500 text-white hover:bg-green-600 hover:text-white": t === "SAVED"
93
+ "bg-green-500 text-white hover:bg-green-600 hover:text-white dark:bg-green-600 dark:text-white": t === "SAVED"
97
94
  }
98
95
  ),
99
96
  size: "sm",
100
97
  variant: "outline",
101
98
  children: [
102
- /* @__PURE__ */ e.jsx(w, { className: "text-sm text-white" }),
99
+ /* @__PURE__ */ e.jsx(S, { className: "text-sm text-white" }),
103
100
  /* @__PURE__ */ e.jsx("span", { className: "text-sm", children: s(t === "SAVING" ? "saving" : t === "SAVED" ? "saved" : "unsaved") })
104
101
  ]
105
102
  }
106
103
  );
107
- return /* @__PURE__ */ e.jsx("div", { className: "flex items-center", children: r });
108
- }, I = function() {
109
- const t = a("previewComponent"), [, o] = y(), { t: s } = x();
104
+ return /* @__PURE__ */ e.jsx("div", { className: "flex items-center", children: o });
105
+ }, P = function() {
106
+ const t = a("previewComponent"), [, s] = w(), { t: o } = x();
110
107
  return t ? /* @__PURE__ */ e.jsxs(
111
108
  c,
112
109
  {
113
110
  onClick: (r) => {
114
- r.preventDefault(), o(!0);
111
+ r.preventDefault(), s(!0);
115
112
  },
116
- className: "flex h-auto w-fit items-center gap-x-2 bg-gray-200 p-1 px-2",
113
+ className: "flex h-auto w-fit items-center gap-x-2 p-1 px-2",
117
114
  size: "sm",
118
115
  variant: "outline",
119
116
  children: [
120
- /* @__PURE__ */ e.jsx(h, { className: "text-xs" }),
121
- /* @__PURE__ */ e.jsx("span", { className: "text-sm", children: s("preview") })
117
+ /* @__PURE__ */ e.jsx(u, { className: "text-xs" }),
118
+ /* @__PURE__ */ e.jsx("span", { className: "text-sm", children: o("preview") })
122
119
  ]
123
120
  }
124
121
  ) : null;
125
- }, Te = () => {
126
- const i = a("topBarComponents.left", []), t = a("topBarComponents.center", []), o = a("topBarComponents.right", []), s = a("editable", !0);
122
+ }, Le = () => {
123
+ const i = a("topBarComponents.left", []), t = a("topBarComponents.center", []), s = a("topBarComponents.right", []), o = a("editable", !0);
127
124
  return /* @__PURE__ */ e.jsxs("div", { className: "flex h-14 items-center justify-between px-2", children: [
128
125
  /* @__PURE__ */ e.jsx("div", { className: "flex items-center space-x-2", children: /* @__PURE__ */ e.jsx("div", { className: "flex items-center space-x-2 font-bold", children: l.Children.toArray(
129
126
  i.map((r) => /* @__PURE__ */ e.jsx(m, { fallback: /* @__PURE__ */ e.jsx(p, { className: "h-10" }), children: /* @__PURE__ */ e.jsx(r, {}) }))
@@ -132,16 +129,16 @@ const A = () => a("languages", ["en"]), P = () => A().length === 1 ? null : /* @
132
129
  t.map((r) => /* @__PURE__ */ e.jsx(m, { fallback: /* @__PURE__ */ e.jsx(p, { className: "h-10" }), children: /* @__PURE__ */ e.jsx(r, {}) }))
133
130
  ) }),
134
131
  /* @__PURE__ */ e.jsxs("div", { className: "flex items-center space-x-1", children: [
132
+ /* @__PURE__ */ e.jsx(A, {}),
135
133
  /* @__PURE__ */ e.jsx(P, {}),
136
- /* @__PURE__ */ e.jsx(I, {}),
137
- /* @__PURE__ */ e.jsx(C, { orientation: "vertical" }),
138
- s ? /* @__PURE__ */ e.jsx(k, {}) : null,
134
+ /* @__PURE__ */ e.jsx(y, { orientation: "vertical" }),
135
+ o ? /* @__PURE__ */ e.jsx(B, {}) : null,
139
136
  l.Children.toArray(
140
- o.map((r) => /* @__PURE__ */ e.jsx(m, { fallback: /* @__PURE__ */ e.jsx(p, { className: "h-10" }), children: /* @__PURE__ */ e.jsx(r, {}) }))
137
+ s.map((r) => /* @__PURE__ */ e.jsx(m, { fallback: /* @__PURE__ */ e.jsx(p, { className: "h-10" }), children: /* @__PURE__ */ e.jsx(r, {}) }))
141
138
  )
142
139
  ] })
143
140
  ] });
144
141
  };
145
142
  export {
146
- Te as default
143
+ Le as default
147
144
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-JYMCiFoE.cjs"),u=require("react"),o=require("@radix-ui/react-icons"),r=require("./select-FnytvxNn.cjs"),i=require("./index-m4trCUDW.cjs"),x=require("./context-menu-Lx_MAqsu.cjs"),c=require("react-i18next"),p=require("./iconBase-vJD0OXxU.cjs");require("@radix-ui/react-select");require("lodash-es");require("jotai");require("@chaibuilder/runtime");require("./plugin-_F-KZp1i.cjs");require("@react-hookz/web");require("tree-model");require("react-quill");require("./STRINGS-Yl7cSWDc.cjs");require("flagged");require("react-hotkeys-hook");require("@floating-ui/dom");require("@floating-ui/react-dom");require("react-event-hook");require("@tailwindcss/typography");require("@tailwindcss/forms");require("@tailwindcss/aspect-ratio");require("tailwindcss-palette-generator");require("tailwind-merge");require("react-wrap-balancer");require("react-dom");require("prop-types");require("react-error-boundary");require("re-resizable");require("@rjsf/validator-ajv8");require("@rjsf/core");require("react-arborist");require("lucide-react");require("himalaya");require("react-icons-picker");require("react-autosuggest");require("fuse.js");require("clsx");require("i18next");require("@radix-ui/react-scroll-area");require("framer-motion");require("@radix-ui/react-switch");require("@radix-ui/react-accordion");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-slot");require("class-variance-authority");require("@radix-ui/react-label");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-hover-card");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-context-menu");const m=()=>i.useBuilderProp("languages",["en"]),j=()=>m().length===1?null:e.jsxRuntimeExports.jsx("div",{className:"flex items-center",children:e.jsxRuntimeExports.jsxs(r.Select,{children:[e.jsxRuntimeExports.jsx(r.SelectTrigger,{className:"w-[150px] border-0",children:e.jsxRuntimeExports.jsx(r.SelectValue,{placeholder:e.jsxRuntimeExports.jsxs("span",{className:"flex items-center",children:[e.jsxRuntimeExports.jsx(o.FontFamilyIcon,{className:"h-4 w-4"})," English(US)"]})})}),e.jsxRuntimeExports.jsx(r.SelectContent,{children:e.jsxRuntimeExports.jsxs(r.SelectGroup,{children:[e.jsxRuntimeExports.jsx(r.SelectLabel,{children:"Fruits"}),e.jsxRuntimeExports.jsx(r.SelectItem,{value:"apple",children:"Apple"}),e.jsxRuntimeExports.jsx(r.SelectItem,{value:"banana",children:"Banana"}),e.jsxRuntimeExports.jsx(r.SelectItem,{value:"blueberry",children:"Blueberry"}),e.jsxRuntimeExports.jsx(r.SelectItem,{value:"grapes",children:"Grapes"}),e.jsxRuntimeExports.jsx(r.SelectItem,{value:"pineapple",children:"Pineapple"})]})})]})}),q=()=>{const{savePage:a,saveState:s}=i.useSavePage(),{t:n}=c.useTranslation(),l=e.jsxRuntimeExports.jsxs(x.Button,{disabled:s==="SAVING",onClick:t=>{t.preventDefault(),a()},className:p.cn("flex h-auto w-fit items-center gap-x-2 p-1 px-2","bg-gray-200 text-gray-500 hover:bg-gray-100 dark:bg-gray-800 dark:text-gray-400",{"animate-pulse bg-gray-300 text-gray-900":s==="SAVING","bg-green-500 text-white hover:bg-green-600 hover:text-white dark:bg-green-600 dark:text-white":s==="SAVED"}),size:"sm",variant:"outline",children:[e.jsxRuntimeExports.jsx(i.FaCheck,{className:"text-sm text-white"}),e.jsxRuntimeExports.jsx("span",{className:"text-sm",children:n(s==="SAVING"?"saving":s==="SAVED"?"saved":"unsaved")})]});return e.jsxRuntimeExports.jsx("div",{className:"flex items-center",children:l})},d=function(){const s=i.useBuilderProp("previewComponent"),[,n]=i.usePreviewMode(),{t:l}=c.useTranslation();return s?e.jsxRuntimeExports.jsxs(x.Button,{onClick:t=>{t.preventDefault(),n(!0)},className:"flex h-auto w-fit items-center gap-x-2 p-1 px-2",size:"sm",variant:"outline",children:[e.jsxRuntimeExports.jsx(o.EyeOpenIcon,{className:"text-xs"}),e.jsxRuntimeExports.jsx("span",{className:"text-sm",children:l("preview")})]}):null},h=()=>{const a=i.useBuilderProp("topBarComponents.left",[]),s=i.useBuilderProp("topBarComponents.center",[]),n=i.useBuilderProp("topBarComponents.right",[]),l=i.useBuilderProp("editable",!0);return e.jsxRuntimeExports.jsxs("div",{className:"flex h-14 items-center justify-between px-2",children:[e.jsxRuntimeExports.jsx("div",{className:"flex items-center space-x-2",children:e.jsxRuntimeExports.jsx("div",{className:"flex items-center space-x-2 font-bold",children:u.Children.toArray(a.map(t=>e.jsxRuntimeExports.jsx(u.Suspense,{fallback:e.jsxRuntimeExports.jsx(x.Skeleton,{className:"h-10"}),children:e.jsxRuntimeExports.jsx(t,{})})))})}),e.jsxRuntimeExports.jsx("div",{className:"flex items-center space-x-2",children:u.Children.toArray(s.map(t=>e.jsxRuntimeExports.jsx(u.Suspense,{fallback:e.jsxRuntimeExports.jsx(x.Skeleton,{className:"h-10"}),children:e.jsxRuntimeExports.jsx(t,{})})))}),e.jsxRuntimeExports.jsxs("div",{className:"flex items-center space-x-1",children:[e.jsxRuntimeExports.jsx(j,{}),e.jsxRuntimeExports.jsx(d,{}),e.jsxRuntimeExports.jsx(x.Separator,{orientation:"vertical"}),l?e.jsxRuntimeExports.jsx(q,{}):null,u.Children.toArray(n.map(t=>e.jsxRuntimeExports.jsx(u.Suspense,{fallback:e.jsxRuntimeExports.jsx(x.Skeleton,{className:"h-10"}),children:e.jsxRuntimeExports.jsx(t,{})})))]})]})};exports.default=h;
@@ -2,9 +2,9 @@ import { j as e } from "./jsx-runtime-Sp0orL4X.js";
2
2
  import { useState as c, useEffect as S } from "react";
3
3
  import { isEmpty as d } from "lodash-es";
4
4
  import { createApi as B } from "unsplash-js";
5
- import { N as D, V as E, B as L } from "./context-menu-zu6r7B6f.js";
5
+ import { N as D, V as E, B as L } from "./context-menu-LFlr5p9-.js";
6
6
  import { useTranslation as T } from "react-i18next";
7
- import { d as V, C } from "./index--qRAS_YQ.js";
7
+ import { d as V, C } from "./index-RyHuirjY.js";
8
8
  import { useDebouncedState as F } from "@react-hookz/web";
9
9
  import { Loader as K } from "lucide-react";
10
10
  import "@radix-ui/react-switch";
@@ -34,10 +34,10 @@ import "./plugin-sJ3Hzvpv.js";
34
34
  import "tree-model";
35
35
  import "react-quill";
36
36
  import "./STRINGS-TDN5UhWi.js";
37
+ import "flagged";
37
38
  import "react-hotkeys-hook";
38
39
  import "@floating-ui/dom";
39
40
  import "@floating-ui/react-dom";
40
- import "flagged";
41
41
  import "react-event-hook";
42
42
  import "@tailwindcss/typography";
43
43
  import "@tailwindcss/forms";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-JYMCiFoE.cjs"),n=require("react"),p=require("lodash-es"),A=require("unsplash-js"),f=require("./context-menu-Lx_MAqsu.cjs"),_=require("react-i18next"),g=require("./index-gUzYgMk2.cjs"),T=require("@react-hookz/web"),B=require("lucide-react");require("@radix-ui/react-switch");require("@radix-ui/react-accordion");require("@radix-ui/react-icons");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-slot");require("class-variance-authority");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-hover-card");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-context-menu");require("clsx");require("tailwind-merge");require("jotai");require("./iconBase-vJD0OXxU.cjs");require("@chaibuilder/runtime");require("./plugin-_F-KZp1i.cjs");require("tree-model");require("react-quill");require("./STRINGS-Yl7cSWDc.cjs");require("react-hotkeys-hook");require("@floating-ui/dom");require("@floating-ui/react-dom");require("flagged");require("react-event-hook");require("@tailwindcss/typography");require("@tailwindcss/forms");require("@tailwindcss/aspect-ratio");require("tailwindcss-palette-generator");require("react-wrap-balancer");require("react-dom");require("prop-types");require("react-error-boundary");require("re-resizable");require("@rjsf/validator-ajv8");require("@rjsf/core");require("react-arborist");require("himalaya");require("react-icons-picker");require("react-autosuggest");require("fuse.js");require("i18next");require("framer-motion");const v=async(h,j)=>new Promise((i,a)=>{A.createApi({accessKey:j}).search.getPhotos(h).then(l=>{i(l)}).catch(l=>a(l))}),D=({isModalView:h,onSelect:j})=>{const i=g.useBuilderProp("unsplashAccessKey",""),[a,q]=n.useState([]),[l,y]=n.useState(0),[o,w]=n.useState(),[u,C]=n.useState(),[P,b]=n.useState(0),[m,k]=T.useDebouncedState("",1e3),[d,c]=n.useState(!1),{t:E}=_.useTranslation(),I=async r=>{if(p.isEmpty(m))return;let t=l+1;r&&(r.preventDefault(),t=1),c(!0),y(t);const x={query:m,page:t};o&&(x.orientation=o),u&&(x.color=u),v(x,i).then(s=>{var R,N,S;q(t===1?((R=s==null?void 0:s.response)==null?void 0:R.results)||[]:[...a,...((N=s==null?void 0:s.response)==null?void 0:N.results)||[]]),b((S=s==null?void 0:s.response)==null?void 0:S.total_pages),c(!1)}).catch(()=>{c(!1)})};return n.useEffect(()=>{if(!p.isEmpty(m)&&i){c(!0);const r={query:m,page:1};o&&(r.orientation=o),u&&(r.color=u),y(1),v(r,i).then(t=>{var x,s;q(((x=t==null?void 0:t.response)==null?void 0:x.results)||[]),b((s=t==null?void 0:t.response)==null?void 0:s.total_pages),c(!1)}).catch(()=>{c(!1)})}},[o,u,m,i]),p.isEmpty(i)?e.jsxRuntimeExports.jsx("div",{className:"flex h-full flex-col items-center justify-center",children:e.jsxRuntimeExports.jsxs("p",{className:"max-w-3xl text-center text-gray-500",children:["To enable Unsplash, kindly provide your",e.jsxRuntimeExports.jsx("a",{href:"https://unsplash.com/documentation#public-authentication",className:"px-1 underline hover:text-blue-400",target:"_blank",rel:"noopener noreferrer",children:"Unsplash Access Key"})]})}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsxs("form",{className:"flex items-center gap-x-2 rounded-md border bg-gray-100 p-px",children:[e.jsxRuntimeExports.jsx(f.Input,{type:"text",name:"query",className:"input",placeholder:'Try "dog" or "apple"',onChange:r=>k(r.target.value)}),e.jsxRuntimeExports.jsx("div",{children:e.jsxRuntimeExports.jsx(g.ChaiSelect,{className:"w-40",placeholder:E("Orientation"),options:[{value:"",label:"All"},{value:"landscape",label:"Landscape"},{value:"portrait",label:"Portrait"},{value:"squarish",label:"Square"}],defaultValue:o,onValueChange:r=>w(r)})}),e.jsxRuntimeExports.jsx("div",{children:e.jsxRuntimeExports.jsx(g.ChaiSelect,{placeholder:E("Color"),options:[{value:"",label:"All"},{value:"black_and_white",label:"Black and White"},{value:"black",label:"Black"},{value:"white",label:"White"},{value:"night",label:"Night"},{value:"warm",label:"Warm"},{value:"cool",label:"Cool"},{value:"sepia",label:"Sepia"}],defaultValue:u,onValueChange:r=>C(r)})})]}),e.jsxRuntimeExports.jsxs(f.ScrollArea,{className:`h-full ${h&&!p.isEmpty(a)?"-mx-2 flex flex-wrap px-2":"-mx-2 flex flex-col pb-8 pt-2"}`,children:[p.isEmpty(a)&&!d&&e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col items-center justify-center py-6",children:[e.jsxRuntimeExports.jsx("div",{className:"font-medium",children:"No Data"}),e.jsxRuntimeExports.jsx("div",{className:"text-sm text-gray-500",children:"Enter query and press enter"})]}),h?e.jsxRuntimeExports.jsx("div",{className:"h-full columns-5 py-2",children:a.map(r=>e.jsxRuntimeExports.jsx("div",{role:"button",tabIndex:0,className:"my-1 flex",onClick:()=>j(r.urls.regular),children:e.jsxRuntimeExports.jsx("div",{className:"relative overflow-hidden rounded-md bg-cover bg-no-repeat",children:e.jsxRuntimeExports.jsx("img",{className:"h-auto flex-1 cursor-pointer rounded-md transition duration-300 ease-in-out hover:scale-105",alt:r.alt_description,src:r.urls.small})})},r.id))}):a.map(r=>e.jsxRuntimeExports.jsx("div",{className:"w-full px-2 py-1",children:e.jsxRuntimeExports.jsx("div",{className:"relative overflow-hidden rounded-md bg-cover bg-no-repeat",children:e.jsxRuntimeExports.jsx("img",{className:"h-auto cursor-pointer transition duration-300 ease-in-out hover:scale-105",alt:r.alt_description,src:r.urls.small})})},r.id)),d&&e.jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-center py-8",children:[e.jsxRuntimeExports.jsx(B.Loader,{className:"h-6 w-6 animate-spin"}),"  Loading..."]}),!p.isEmpty(a)&&l<P&&!d&&e.jsxRuntimeExports.jsx(f.Button,{size:"sm",variant:"link",className:"w-full",onClick:()=>I(void 0),disabled:d,children:d?"":"Load More"})]})]})};exports.default=D;exports.fetchImage=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-JYMCiFoE.cjs"),n=require("react"),p=require("lodash-es"),A=require("unsplash-js"),f=require("./context-menu-Lx_MAqsu.cjs"),_=require("react-i18next"),g=require("./index-m4trCUDW.cjs"),T=require("@react-hookz/web"),B=require("lucide-react");require("@radix-ui/react-switch");require("@radix-ui/react-accordion");require("@radix-ui/react-icons");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-slot");require("class-variance-authority");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-hover-card");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-context-menu");require("clsx");require("tailwind-merge");require("jotai");require("./iconBase-vJD0OXxU.cjs");require("@chaibuilder/runtime");require("./plugin-_F-KZp1i.cjs");require("tree-model");require("react-quill");require("./STRINGS-Yl7cSWDc.cjs");require("flagged");require("react-hotkeys-hook");require("@floating-ui/dom");require("@floating-ui/react-dom");require("react-event-hook");require("@tailwindcss/typography");require("@tailwindcss/forms");require("@tailwindcss/aspect-ratio");require("tailwindcss-palette-generator");require("react-wrap-balancer");require("react-dom");require("prop-types");require("react-error-boundary");require("re-resizable");require("@rjsf/validator-ajv8");require("@rjsf/core");require("react-arborist");require("himalaya");require("react-icons-picker");require("react-autosuggest");require("fuse.js");require("i18next");require("framer-motion");const v=async(h,j)=>new Promise((i,a)=>{A.createApi({accessKey:j}).search.getPhotos(h).then(l=>{i(l)}).catch(l=>a(l))}),D=({isModalView:h,onSelect:j})=>{const i=g.useBuilderProp("unsplashAccessKey",""),[a,q]=n.useState([]),[l,y]=n.useState(0),[o,w]=n.useState(),[u,C]=n.useState(),[P,b]=n.useState(0),[m,k]=T.useDebouncedState("",1e3),[d,c]=n.useState(!1),{t:E}=_.useTranslation(),I=async r=>{if(p.isEmpty(m))return;let t=l+1;r&&(r.preventDefault(),t=1),c(!0),y(t);const x={query:m,page:t};o&&(x.orientation=o),u&&(x.color=u),v(x,i).then(s=>{var R,N,S;q(t===1?((R=s==null?void 0:s.response)==null?void 0:R.results)||[]:[...a,...((N=s==null?void 0:s.response)==null?void 0:N.results)||[]]),b((S=s==null?void 0:s.response)==null?void 0:S.total_pages),c(!1)}).catch(()=>{c(!1)})};return n.useEffect(()=>{if(!p.isEmpty(m)&&i){c(!0);const r={query:m,page:1};o&&(r.orientation=o),u&&(r.color=u),y(1),v(r,i).then(t=>{var x,s;q(((x=t==null?void 0:t.response)==null?void 0:x.results)||[]),b((s=t==null?void 0:t.response)==null?void 0:s.total_pages),c(!1)}).catch(()=>{c(!1)})}},[o,u,m,i]),p.isEmpty(i)?e.jsxRuntimeExports.jsx("div",{className:"flex h-full flex-col items-center justify-center",children:e.jsxRuntimeExports.jsxs("p",{className:"max-w-3xl text-center text-gray-500",children:["To enable Unsplash, kindly provide your",e.jsxRuntimeExports.jsx("a",{href:"https://unsplash.com/documentation#public-authentication",className:"px-1 underline hover:text-blue-400",target:"_blank",rel:"noopener noreferrer",children:"Unsplash Access Key"})]})}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsxs("form",{className:"flex items-center gap-x-2 rounded-md border bg-gray-100 p-px",children:[e.jsxRuntimeExports.jsx(f.Input,{type:"text",name:"query",className:"input",placeholder:'Try "dog" or "apple"',onChange:r=>k(r.target.value)}),e.jsxRuntimeExports.jsx("div",{children:e.jsxRuntimeExports.jsx(g.ChaiSelect,{className:"w-40",placeholder:E("Orientation"),options:[{value:"",label:"All"},{value:"landscape",label:"Landscape"},{value:"portrait",label:"Portrait"},{value:"squarish",label:"Square"}],defaultValue:o,onValueChange:r=>w(r)})}),e.jsxRuntimeExports.jsx("div",{children:e.jsxRuntimeExports.jsx(g.ChaiSelect,{placeholder:E("Color"),options:[{value:"",label:"All"},{value:"black_and_white",label:"Black and White"},{value:"black",label:"Black"},{value:"white",label:"White"},{value:"night",label:"Night"},{value:"warm",label:"Warm"},{value:"cool",label:"Cool"},{value:"sepia",label:"Sepia"}],defaultValue:u,onValueChange:r=>C(r)})})]}),e.jsxRuntimeExports.jsxs(f.ScrollArea,{className:`h-full ${h&&!p.isEmpty(a)?"-mx-2 flex flex-wrap px-2":"-mx-2 flex flex-col pb-8 pt-2"}`,children:[p.isEmpty(a)&&!d&&e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col items-center justify-center py-6",children:[e.jsxRuntimeExports.jsx("div",{className:"font-medium",children:"No Data"}),e.jsxRuntimeExports.jsx("div",{className:"text-sm text-gray-500",children:"Enter query and press enter"})]}),h?e.jsxRuntimeExports.jsx("div",{className:"h-full columns-5 py-2",children:a.map(r=>e.jsxRuntimeExports.jsx("div",{role:"button",tabIndex:0,className:"my-1 flex",onClick:()=>j(r.urls.regular),children:e.jsxRuntimeExports.jsx("div",{className:"relative overflow-hidden rounded-md bg-cover bg-no-repeat",children:e.jsxRuntimeExports.jsx("img",{className:"h-auto flex-1 cursor-pointer rounded-md transition duration-300 ease-in-out hover:scale-105",alt:r.alt_description,src:r.urls.small})})},r.id))}):a.map(r=>e.jsxRuntimeExports.jsx("div",{className:"w-full px-2 py-1",children:e.jsxRuntimeExports.jsx("div",{className:"relative overflow-hidden rounded-md bg-cover bg-no-repeat",children:e.jsxRuntimeExports.jsx("img",{className:"h-auto cursor-pointer transition duration-300 ease-in-out hover:scale-105",alt:r.alt_description,src:r.urls.small})})},r.id)),d&&e.jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-center py-8",children:[e.jsxRuntimeExports.jsx(B.Loader,{className:"h-6 w-6 animate-spin"}),"  Loading..."]}),!p.isEmpty(a)&&l<P&&!d&&e.jsxRuntimeExports.jsx(f.Button,{size:"sm",variant:"link",className:"w-full",onClick:()=>I(void 0),disabled:d,children:d?"":"Load More"})]})]})};exports.default=D;exports.fetchImage=v;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-JYMCiFoE.cjs"),i=require("react"),n=require("lodash-es"),E=require("jotai"),I=require("./context-menu-Lx_MAqsu.cjs"),w=require("react-i18next"),g=require("./index-m4trCUDW.cjs"),b=require("lucide-react");require("@radix-ui/react-switch");require("@radix-ui/react-accordion");require("@radix-ui/react-icons");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-slot");require("class-variance-authority");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-hover-card");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-context-menu");require("clsx");require("tailwind-merge");require("./iconBase-vJD0OXxU.cjs");require("@chaibuilder/runtime");require("./plugin-_F-KZp1i.cjs");require("@react-hookz/web");require("tree-model");require("react-quill");require("./STRINGS-Yl7cSWDc.cjs");require("flagged");require("react-hotkeys-hook");require("@floating-ui/dom");require("@floating-ui/react-dom");require("react-event-hook");require("@tailwindcss/typography");require("@tailwindcss/forms");require("@tailwindcss/aspect-ratio");require("tailwindcss-palette-generator");require("react-wrap-balancer");require("react-dom");require("prop-types");require("react-error-boundary");require("re-resizable");require("@rjsf/validator-ajv8");require("@rjsf/core");require("react-arborist");require("himalaya");require("react-icons-picker");require("react-autosuggest");require("fuse.js");require("i18next");require("framer-motion");const k=E.atom([]),S=({isModalView:a,onSelect:o})=>{const{t:s}=w.useTranslation(),d=g.useBuilderProp("uploadMediaCallback"),x=g.useBuilderProp("fetchMediaCallback"),[u,c]=E.useAtom(k),[R,p]=i.useState(!1),[j,q]=i.useState(!1),[,y]=i.useState(),[h,m]=i.useState("");i.useEffect(()=>{(async()=>{if(!x)return;q(!0);const r=await x();c(r||[]),q(!1)})()},[]);const N=r=>{var t,l;if(m(""),r&&((l=(t=r==null?void 0:r.target)==null?void 0:t.files)==null?void 0:l.length)>0){const f=r.target.files[0];f.type.startsWith("image")?v(f):m(s("Please select an image"))}},v=async r=>{if(d){p(!0);try{const{url:t}=await d(r);o(t),y(void 0);const l=await x();c(l)}catch(t){c([]),m((t==null?void 0:t.message)||"Something went wrong.")}p(!1)}};return e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsxs("label",{htmlFor:a?"upload-in-modal":"upload-in-panel",children:[e.jsxRuntimeExports.jsx("div",{className:"flex flex-col items-center rounded-lg",children:e.jsxRuntimeExports.jsxs("label",{htmlFor:"image-upload",className:"flex w-full cursor-pointer flex-col items-center justify-center rounded-lg border-2 border-dashed border-border bg-gray-50 hover:bg-gray-100",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex flex-col items-center justify-center pb-6 pt-5",children:[e.jsxRuntimeExports.jsx(b.Upload,{className:"mb-3 h-10 w-10 text-gray-400"}),e.jsxRuntimeExports.jsx("p",{className:"mb-2 text-sm text-gray-500 dark:text-gray-400",children:e.jsxRuntimeExports.jsx("span",{className:"font-semibold",children:s("Click to upload")})}),e.jsxRuntimeExports.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:s("SVG, PNG, JPG or GIF (Max. 2mb)")})]}),R?e.jsxRuntimeExports.jsxs("div",{className:"flex h-full w-full items-center justify-center",children:[e.jsxRuntimeExports.jsx(b.Loader,{className:"h-6 w-6 animate-spin"}),e.jsxRuntimeExports.jsx("span",{className:"ml-2 text-sm text-gray-500",children:s("Uploading...")})]}):null,h&&e.jsxRuntimeExports.jsx("p",{className:"pb-2 text-xs text-red-500",children:h||s("Something went wrong")})]})}),e.jsxRuntimeExports.jsx("input",{type:"file",id:"image-upload",accept:"image/*",hidden:!0,onChange:N})]}),e.jsxRuntimeExports.jsxs(I.ScrollArea,{className:`-mx-2 flex h-full flex-col pb-8 pt-2 ${a?"px-2":""} pt-2`,children:[n.isEmpty(u)&&j&&e.jsxRuntimeExports.jsx("div",{className:"flex flex-col items-center justify-center py-6",children:e.jsxRuntimeExports.jsx("div",{className:"animate-pulse font-medium",children:s("Fetching...")})}),n.isEmpty(u)&&!j&&e.jsxRuntimeExports.jsxs("div",{className:"flex h-full flex-col items-center justify-center text-center",children:[e.jsxRuntimeExports.jsx("div",{className:"mb-4 h-12 rounded-full p-6"}),e.jsxRuntimeExports.jsx("h3",{className:"mb-2 text-sm font-semibold",children:s("No images found")}),e.jsxRuntimeExports.jsx("p",{className:"mb-4 max-w-sm text-muted-foreground",children:s("It looks like you haven't uploaded any images yet. Start by clicking the upload button above.")})]}),a?e.jsxRuntimeExports.jsx("div",{className:"h-full columns-5 py-2",children:n.map(u,r=>e.jsxRuntimeExports.jsx("div",{role:"button",tabIndex:0,className:"my-1 flex",onClick:()=>o(r.url),children:e.jsxRuntimeExports.jsx("div",{className:"relative overflow-hidden rounded-md bg-cover bg-no-repeat",children:e.jsxRuntimeExports.jsx("img",{className:"h-auto flex-1 cursor-pointer rounded-md transition duration-300 ease-in-out hover:scale-105",alt:r.name,src:r.thumbUrl})})},r.id))}):n.map(u,r=>e.jsxRuntimeExports.jsx("div",{role:"button",tabIndex:0,className:"px-2 py-1",onClick:()=>o(r.url),children:e.jsxRuntimeExports.jsx("div",{className:"relative overflow-hidden rounded-md bg-cover bg-no-repeat",children:e.jsxRuntimeExports.jsx("img",{className:"h-auto w-full cursor-pointer transition duration-300 ease-in-out hover:scale-105",alt:r.name,src:r.url})})},r.id))]})]})};exports.default=S;
@@ -2,9 +2,9 @@ import { j as e } from "./jsx-runtime-Sp0orL4X.js";
2
2
  import { useState as l, useEffect as k } from "react";
3
3
  import { isEmpty as j, map as b } from "lodash-es";
4
4
  import { atom as F, useAtom as U } from "jotai";
5
- import { V as C } from "./context-menu-zu6r7B6f.js";
5
+ import { V as C } from "./context-menu-LFlr5p9-.js";
6
6
  import { useTranslation as E } from "react-i18next";
7
- import { d as y } from "./index--qRAS_YQ.js";
7
+ import { d as y } from "./index-RyHuirjY.js";
8
8
  import { Upload as G, Loader as P } from "lucide-react";
9
9
  import "@radix-ui/react-switch";
10
10
  import "@radix-ui/react-accordion";
@@ -33,10 +33,10 @@ import "@react-hookz/web";
33
33
  import "tree-model";
34
34
  import "react-quill";
35
35
  import "./STRINGS-TDN5UhWi.js";
36
+ import "flagged";
36
37
  import "react-hotkeys-hook";
37
38
  import "@floating-ui/dom";
38
39
  import "@floating-ui/react-dom";
39
- import "flagged";
40
40
  import "react-event-hook";
41
41
  import "@tailwindcss/typography";
42
42
  import "@tailwindcss/forms";
@@ -93,7 +93,7 @@ const S = F([]), Me = ({ isModalView: s, onSelect: m }) => {
93
93
  "label",
94
94
  {
95
95
  htmlFor: "image-upload",
96
- className: "flex w-full cursor-pointer flex-col items-center justify-center rounded-lg border-2 border-dashed border-gray-300 bg-gray-50 hover:bg-gray-100",
96
+ className: "flex w-full cursor-pointer flex-col items-center justify-center rounded-lg border-2 border-dashed border-border bg-gray-50 hover:bg-gray-100",
97
97
  children: [
98
98
  /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col items-center justify-center pb-6 pt-5", children: [
99
99
  /* @__PURE__ */ e.jsx(G, { className: "mb-3 h-10 w-10 text-gray-400" }),
@@ -824,10 +824,10 @@ export {
824
824
  Ee as Z,
825
825
  Fe as _,
826
826
  qt as a,
827
- Ct as a0,
828
- re as a1,
829
- de as a2,
830
- ie as a3,
827
+ re as a0,
828
+ de as a1,
829
+ ie as a2,
830
+ Ct as a3,
831
831
  le as a4,
832
832
  ne as a5,
833
833
  me as a6,
package/dist/core.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-gUzYgMk2.cjs"),r=require("./iconBase-vJD0OXxU.cjs"),s=require("react-i18next"),u=require("i18next");require("./jsx-runtime-JYMCiFoE.cjs");require("react");require("./context-menu-Lx_MAqsu.cjs");require("@radix-ui/react-switch");require("@radix-ui/react-accordion");require("@radix-ui/react-icons");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-slot");require("class-variance-authority");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-hover-card");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-context-menu");require("clsx");require("tailwind-merge");require("lodash-es");require("jotai");require("@chaibuilder/runtime");require("./plugin-_F-KZp1i.cjs");require("@react-hookz/web");require("tree-model");require("react-quill");require("./STRINGS-Yl7cSWDc.cjs");require("react-hotkeys-hook");require("@floating-ui/dom");require("@floating-ui/react-dom");require("flagged");require("react-event-hook");require("@tailwindcss/typography");require("@tailwindcss/forms");require("@tailwindcss/aspect-ratio");require("tailwindcss-palette-generator");require("react-wrap-balancer");require("react-dom");require("prop-types");require("react-error-boundary");require("re-resizable");require("@rjsf/validator-ajv8");require("@rjsf/core");require("react-arborist");require("lucide-react");require("himalaya");require("react-icons-picker");require("react-autosuggest");require("fuse.js");require("framer-motion");exports.AISetContext=e.AISetContext;exports.AIUserPrompt=e.AIUserPrompt;exports.AddBlocksPanel=e.AddBlocksPanel;exports.BlockAttributesEditor=e.BlockAttributesEditor;exports.BlockPropsEditor=e.BlockSettings;exports.BlockStyleEditor=e.BlockStyling;exports.CHAI_BUILDER_EVENTS=e.CHAI_BUILDER_EVENTS;exports.ChaiBuilderCanvas=e.CanvasArea;exports.ChaiBuilderEditor=e.ChaiBuilderEditor;exports.DarkModeSwitcher=e.DarkMode;exports.DefaultChaiBlocks=e.DefaultChaiBlocks;exports.ImportHTML=e.ImportHTML;exports.Outline=e.Outline;exports.ScreenSizes=e.Breakpoints;exports.ThemeOptions=e.ThemeOptions;exports.UILibraries=e.UILibraries;exports.UndoRedo=e.UndoRedo;exports.emitChaiBuilderMsg=e.emitChaiBuilderMsg;exports.getBlocksFromHTML=e.getBlocksFromHTML;exports.useActiveModal=e.useActiveModal;exports.useActivePanel=e.useActivePanel;exports.useAddBlock=e.useAddBlock;exports.useAddBlockParent=e.useAddBlockParent;exports.useAddClassesToBlocks=e.useAddClassesToBlocks;exports.useAllBlocks=e.useAllBlocks;exports.useBlocksStore=e.useBlocksStore;exports.useBlocksStoreUndoableActions=e.useBlocksStoreUndoableActions;exports.useBrandingOptions=e.useBrandingOptions;exports.useBuilderProp=e.useBuilderProp;exports.useBuilderReset=e.useBuilderReset;exports.useCanvasWidth=e.useCanvasWidth;exports.useCanvasZoom=e.useCanvasZoom;exports.useChaiBuilderMsgListener=e.useChaiBuilderMsgListener;exports.useCodeEditor=e.useCodeEditor;exports.useCopyBlockIds=e.useCopyBlockIds;exports.useCopyToClipboard=e.useCopyToClipboard;exports.useCurrentPage=e.useCurrentPage;exports.useCutBlockIds=e.useCutBlockIds;exports.useDarkMode=e.useDarkMode;exports.useDuplicateBlocks=e.useDuplicateBlocks;exports.useGetPageData=e.useGetPageData;exports.useHiddenBlockIds=e.useHiddenBlockIds;exports.useHighlightBlockId=e.useHighlightBlockId;exports.useLayoutVariant=e.useLayoutVariant;exports.usePasteBlocks=e.usePasteBlocks;exports.usePreviewMode=e.usePreviewMode;exports.useReadOnlyMode=e.useReadOnlyMode;exports.useRemoveBlocks=e.useRemoveBlocks;exports.useRemoveClassesFromBlocks=e.useRemoveClassesFromBlocks;exports.useSavePage=e.useSavePage;exports.useSelectedBlock=e.useSelectedBlock;exports.useSelectedBlockAllClasses=e.useSelectedBlockAllClasses;exports.useSelectedBlockCurrentClasses=e.useSelectedBlockCurrentClasses;exports.useSelectedBlockIds=e.useSelectedBlockIds;exports.useSelectedBlocksDisplayChild=e.useSelectedBlocksDisplayChild;exports.useSelectedBreakpoints=e.useSelectedBreakpoints;exports.useSelectedStylingBlocks=e.useSelectedStylingBlocks;exports.useStylingBreakpoint=e.useStylingBreakpoint;exports.useStylingState=e.useStylingState;exports.useUILibraryBlocks=e.useUILibraryBlocks;exports.useUndoManager=e.useUndoManager;exports.useUpdateBlocksProps=e.useUpdateBlocksProps;exports.useUpdateBlocksPropsRealtime=e.useUpdateBlocksPropsRealtime;exports.generateBlockId=r.generateUUID;exports.mergeClasses=r.cn;Object.defineProperty(exports,"useTranslation",{enumerable:!0,get:()=>s.useTranslation});exports.i18n=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-m4trCUDW.cjs"),r=require("./iconBase-vJD0OXxU.cjs"),s=require("react-i18next"),u=require("i18next");require("./jsx-runtime-JYMCiFoE.cjs");require("react");require("./context-menu-Lx_MAqsu.cjs");require("@radix-ui/react-switch");require("@radix-ui/react-accordion");require("@radix-ui/react-icons");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-slot");require("class-variance-authority");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-hover-card");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-context-menu");require("clsx");require("tailwind-merge");require("lodash-es");require("jotai");require("@chaibuilder/runtime");require("./plugin-_F-KZp1i.cjs");require("@react-hookz/web");require("tree-model");require("react-quill");require("./STRINGS-Yl7cSWDc.cjs");require("flagged");require("react-hotkeys-hook");require("@floating-ui/dom");require("@floating-ui/react-dom");require("react-event-hook");require("@tailwindcss/typography");require("@tailwindcss/forms");require("@tailwindcss/aspect-ratio");require("tailwindcss-palette-generator");require("react-wrap-balancer");require("react-dom");require("prop-types");require("react-error-boundary");require("re-resizable");require("@rjsf/validator-ajv8");require("@rjsf/core");require("react-arborist");require("lucide-react");require("himalaya");require("react-icons-picker");require("react-autosuggest");require("fuse.js");require("framer-motion");exports.AISetContext=e.AISetContext;exports.AIUserPrompt=e.AIUserPrompt;exports.AddBlocksDialog=e.AddBlocksDialog;exports.AddBlocksPanel=e.AddBlocksPanel;exports.BlockAttributesEditor=e.BlockAttributesEditor;exports.BlockPropsEditor=e.BlockSettings;exports.BlockStyleEditor=e.BlockStyling;exports.CHAI_BUILDER_EVENTS=e.CHAI_BUILDER_EVENTS;exports.ChaiBuilderCanvas=e.CanvasArea;exports.ChaiBuilderEditor=e.ChaiBuilderEditor;exports.DarkModeSwitcher=e.DarkMode;exports.DefaultChaiBlocks=e.DefaultChaiBlocks;exports.ImportHTML=e.ImportHTML;exports.Outline=e.Outline;exports.ScreenSizes=e.Breakpoints;exports.ThemeOptions=e.ThemeOptions;exports.UILibraries=e.UILibraries;exports.UndoRedo=e.UndoRedo;exports.emitChaiBuilderMsg=e.emitChaiBuilderMsg;exports.getBlocksFromHTML=e.getBlocksFromHTML;exports.useActiveModal=e.useActiveModal;exports.useActivePanel=e.useActivePanel;exports.useAddBlock=e.useAddBlock;exports.useAddBlockParent=e.useAddBlockParent;exports.useAddClassesToBlocks=e.useAddClassesToBlocks;exports.useAllBlocks=e.useAllBlocks;exports.useBlocksStore=e.useBlocksStore;exports.useBlocksStoreUndoableActions=e.useBlocksStoreUndoableActions;exports.useBrandingOptions=e.useBrandingOptions;exports.useBuilderProp=e.useBuilderProp;exports.useBuilderReset=e.useBuilderReset;exports.useCanvasWidth=e.useCanvasWidth;exports.useCanvasZoom=e.useCanvasZoom;exports.useChaiBuilderMsgListener=e.useChaiBuilderMsgListener;exports.useCodeEditor=e.useCodeEditor;exports.useCopyBlockIds=e.useCopyBlockIds;exports.useCopyToClipboard=e.useCopyToClipboard;exports.useCurrentPage=e.useCurrentPage;exports.useCutBlockIds=e.useCutBlockIds;exports.useDarkMode=e.useDarkMode;exports.useDuplicateBlocks=e.useDuplicateBlocks;exports.useGetPageData=e.useGetPageData;exports.useHiddenBlockIds=e.useHiddenBlockIds;exports.useHighlightBlockId=e.useHighlightBlockId;exports.useLayoutVariant=e.useLayoutVariant;exports.usePasteBlocks=e.usePasteBlocks;exports.usePreviewMode=e.usePreviewMode;exports.useReadOnlyMode=e.useReadOnlyMode;exports.useRemoveBlocks=e.useRemoveBlocks;exports.useRemoveClassesFromBlocks=e.useRemoveClassesFromBlocks;exports.useSavePage=e.useSavePage;exports.useSelectedBlock=e.useSelectedBlock;exports.useSelectedBlockAllClasses=e.useSelectedBlockAllClasses;exports.useSelectedBlockCurrentClasses=e.useSelectedBlockCurrentClasses;exports.useSelectedBlockIds=e.useSelectedBlockIds;exports.useSelectedBlocksDisplayChild=e.useSelectedBlocksDisplayChild;exports.useSelectedBreakpoints=e.useSelectedBreakpoints;exports.useSelectedStylingBlocks=e.useSelectedStylingBlocks;exports.useStylingBreakpoint=e.useStylingBreakpoint;exports.useStylingState=e.useStylingState;exports.useUILibraryBlocks=e.useUILibraryBlocks;exports.useUndoManager=e.useUndoManager;exports.useUpdateBlocksProps=e.useUpdateBlocksProps;exports.useUpdateBlocksPropsRealtime=e.useUpdateBlocksPropsRealtime;exports.generateBlockId=r.generateUUID;exports.mergeClasses=r.cn;Object.defineProperty(exports,"useTranslation",{enumerable:!0,get:()=>s.useTranslation});exports.i18n=u;
package/dist/core.d.ts CHANGED
@@ -14,6 +14,8 @@ declare type AddBlocks = {
14
14
  addPredefinedBlock: any;
15
15
  };
16
16
 
17
+ export declare const AddBlocksDialog: () => JSX_2.Element;
18
+
17
19
  export declare const AddBlocksPanel: ({ className, showHeading, parentId, }: {
18
20
  parentId?: string;
19
21
  showHeading?: boolean;
@@ -34,11 +36,6 @@ declare type AskAiResponse = {
34
36
  error?: any;
35
37
  };
36
38
 
37
- declare interface Block {
38
- type: string;
39
- [key: string]: any;
40
- }
41
-
42
39
  export declare const BlockAttributesEditor: React_2.MemoExoticComponent<() => JSX_2.Element>;
43
40
 
44
41
  /**
@@ -75,29 +72,72 @@ export declare const ChaiBuilderCanvas: React_3.FC;
75
72
 
76
73
  /**
77
74
  * ChaiBuilder is the main entry point for the Chai Builder Studio.
78
- * @param props
79
- * @constructor
80
75
  */
81
- export declare const ChaiBuilderEditor: (props: ChaiBuilderEditorProps) => JSX_2.Element;
76
+ export declare const ChaiBuilderEditor: React_3.FC<ChaiBuilderEditorProps>;
82
77
 
83
78
  export declare interface ChaiBuilderEditorProps {
79
+ /**
80
+ * onError callback function
81
+ * @param error
82
+ */
84
83
  onError?: (error: Error) => void;
84
+ /**
85
+ * Translations object
86
+ */
85
87
  translations?: Record<string, Record<string, any>>;
88
+ /**
89
+ * onLoad callback function
90
+ * @param editorInstance
91
+ */
86
92
  onLoad?: (editorInstance: ChaiBuilderInstance) => void;
93
+ /**
94
+ * Custom layout component
95
+ */
87
96
  layout?: React_3.ComponentType;
97
+ /**
98
+ * Layout variant. Not supported with custom layout
99
+ */
88
100
  layoutVariant?: LayoutVariant;
101
+ /**
102
+ * HTML direction.
103
+ */
89
104
  htmlDir?: "ltr" | "rtl";
90
- hideSaveButton?: boolean;
105
+ /**
106
+ * Filter function for blocks to be shown in the builder
107
+ */
91
108
  filterChaiBlock?: (block: any) => boolean;
109
+ /**
110
+ * Show debug logs
111
+ */
92
112
  showDebugLogs?: boolean;
113
+ /**
114
+ * Auto save support
115
+ */
93
116
  autoSaveSupport?: boolean;
117
+ /**
118
+ * Auto save interval in seconds
119
+ */
94
120
  autoSaveInterval?: TimeInSeconds;
121
+ /**
122
+ * Breakpoints
123
+ */
95
124
  breakpoints?: Breakpoint[];
125
+ /**
126
+ * Editable
127
+ */
96
128
  editable?: boolean;
129
+ /**
130
+ * Loading state
131
+ */
97
132
  loading?: boolean;
133
+ /**
134
+ * Locale
135
+ */
98
136
  locale?: string;
99
137
  nonEditableComponent?: ReactComponentType;
100
- canvas?: React_3.FC<any>;
138
+ /**
139
+ * Canvas component. Not supported with custom layout
140
+ */
101
141
  canvasTopBarComponents?: {
102
142
  right?: ReactComponentType[];
103
143
  };
@@ -105,7 +145,6 @@ export declare interface ChaiBuilderEditorProps {
105
145
  dataBindingSupport?: boolean;
106
146
  dataProviders?: DataProvider[];
107
147
  darkMode?: boolean;
108
- dndOptions?: any;
109
148
  importHTMLSupport?: boolean;
110
149
  fetchMediaCallback?: (limit?: number, offset?: number) => Promise<any[]>;
111
150
  uploadMediaCallback?: (file: File) => Promise<{
@@ -114,23 +153,28 @@ export declare interface ChaiBuilderEditorProps {
114
153
  askAiCallBack?: (type: "styles" | "content", prompt: string, blocks: ChaiBlock[]) => Promise<AskAiResponse>;
115
154
  saveAiContextCallback?: (content: string) => Promise<true | Error>;
116
155
  aiContext?: string;
117
- getExternalPredefinedBlock?: (block: PredefinedBlock) => Promise<PredefinedBlock & {
118
- blocks: ChaiBlock[];
119
- html: string;
120
- }>;
121
156
  uiLibraries?: Omit<UILibrary, "blocks">[];
122
157
  getUILibraryBlocks?: (library: UILibrary) => Promise<UiLibraryBlock[]>;
123
158
  getUILibraryBlock?: (library: UILibrary, uiLibBlock: UiLibraryBlock) => Promise<ChaiBlock[]>;
124
- subPages?: Block[];
125
- subPagesSupport?: boolean;
126
159
  blocks?: ChaiBlock[];
127
- onSaveBlocks?: ({ blocks, providers }: any) => Promise<any>;
128
- onSavePage?: ({ blocks, providers }: SavePageData) => Promise<boolean | Error>;
129
160
  onSave?: ({ blocks, providers }: SavePageData) => Promise<boolean | Error>;
130
161
  brandingOptions?: Record<string, string>;
131
- onSaveBrandingOptions?: (brandingOptions: Record<string, any>) => Promise<boolean | Error>;
162
+ /**
163
+ * Theme configuration
164
+ */
165
+ themeConfiguration?: Record<string, string>;
166
+ /**
167
+ * onSaveStateChange callback function
168
+ * @param syncStatus
169
+ */
132
170
  onSaveStateChange?: (syncStatus: "UNSAVED" | "SAVED" | "SAVING") => void;
171
+ /**
172
+ * Preview component
173
+ */
133
174
  previewComponent?: ReactComponentType;
175
+ /**
176
+ * Sidebar components. Not supported with custom layout
177
+ */
134
178
  sideBarComponents?: {
135
179
  bottom?: ReactComponentType[];
136
180
  top?: {
@@ -139,13 +183,25 @@ export declare interface ChaiBuilderEditorProps {
139
183
  component: ReactComponentType;
140
184
  }[];
141
185
  };
186
+ /**
187
+ * Topbar components. Not supported with custom layout
188
+ */
142
189
  topBarComponents?: {
143
190
  center?: ReactComponentType[];
144
191
  left?: ReactComponentType[];
145
192
  right?: ReactComponentType[];
146
193
  };
194
+ /**
195
+ * Outline menu items
196
+ */
147
197
  outlineMenuItems?: OutlineMenuItems;
198
+ /**
199
+ * getPages callback function
200
+ */
148
201
  getPages?: () => Promise<ChaiPage[]>;
202
+ /**
203
+ * Unsplash access key
204
+ */
149
205
  unsplashAccessKey?: string;
150
206
  _flags?: Record<string, boolean>;
151
207
  }
@@ -238,14 +294,6 @@ declare type OutlineMenuItem = {
238
294
 
239
295
  declare type OutlineMenuItems = OutlineMenuItem[];
240
296
 
241
- declare type PredefinedBlock = {
242
- uuid: string;
243
- name: string;
244
- preview: string;
245
- blocks?: ChaiBlock[];
246
- html?: string;
247
- };
248
-
249
297
  declare type ReactComponentType = React_3.ComponentType<any>;
250
298
 
251
299
  declare type RichText = string;
@@ -356,6 +404,11 @@ export declare const useChaiBuilderMsgListener: (handler: (payload: {
356
404
  data?: any;
357
405
  }) => void) => void;
358
406
 
407
+ /**
408
+ * Custom hook to access the current state of the code editor.
409
+ * @category Hooks
410
+ * @returns The current state of the code editor from the `codeEditorAtom`.
411
+ */
359
412
  export declare const useCodeEditor: () => [CodeEditorProps, never];
360
413
 
361
414
  export declare const useCopyBlockIds: () => [Array<string>, Function];
@@ -439,7 +492,8 @@ export declare const useSelectedBlocksDisplayChild: () => {
439
492
  export declare const useSelectedBreakpoints: () => [string[], Function];
440
493
 
441
494
  /**
442
- *
495
+ * @group Hooks
496
+ * @returns {TStyleBlock[]} selected styling blocks
443
497
  */
444
498
  export declare const useSelectedStylingBlocks: () => [TStyleBlock[], (args_0: TStyleBlock[] | ((prev: TStyleBlock[]) => TStyleBlock[])) => void];
445
499