@chaibuilder/sdk 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/AddBlocks-8bcba532.cjs +3 -0
  2. package/dist/{AddBlocks-0d80d14e.js → AddBlocks-a9d3b6c0.js} +26 -27
  3. package/dist/BrandingOptions-c4c8676e.cjs +1 -0
  4. package/dist/{BrandingOptions-2eb3a20f.js → BrandingOptions-c8dba155.js} +19 -16
  5. package/dist/{CanvasArea-366fc7f5.js → CanvasArea-77c280f6.js} +92 -91
  6. package/dist/{CanvasArea-35fe4de9.cjs → CanvasArea-c8892280.cjs} +7 -7
  7. package/dist/CurrentPage-6ca95592.js +85 -0
  8. package/dist/CurrentPage-ebe20c9e.cjs +1 -0
  9. package/dist/Layers-c1be574f.cjs +1 -0
  10. package/dist/{Layers-c375ab6b.js → Layers-d3c8eea6.js} +14 -13
  11. package/dist/{MarkAsGlobalBlock-3ecff4e8.js → MarkAsGlobalBlock-04b2d169.js} +8 -7
  12. package/dist/MarkAsGlobalBlock-d40a9947.cjs +1 -0
  13. package/dist/PagesPanel-27f7a791.cjs +1 -0
  14. package/dist/{PagesPanel-28b02d06.js → PagesPanel-78e3bbb9.js} +6 -5
  15. package/dist/{ProjectPanel-e6e95d71.js → ProjectPanel-22ec7598.js} +7 -6
  16. package/dist/ProjectPanel-8cec3a82.cjs +1 -0
  17. package/dist/Settings-675c7a84.cjs +1 -0
  18. package/dist/{Settings-4c13f136.js → Settings-e49b1212.js} +7 -6
  19. package/dist/SidePanels-35ad2f5f.cjs +1 -0
  20. package/dist/{SidePanels-0f011b5d.js → SidePanels-7371a5c6.js} +7 -6
  21. package/dist/Topbar-3bda931b.cjs +1 -0
  22. package/dist/{Topbar-d609b15e.js → Topbar-da90da83.js} +6 -5
  23. package/dist/add-page-modal-15f377cc.cjs +1 -0
  24. package/dist/{add-page-modal-fb1e7f3d.js → add-page-modal-6b37b90c.js} +21 -20
  25. package/dist/core.cjs +1 -1
  26. package/dist/core.d.ts +0 -8
  27. package/dist/core.js +52 -53
  28. package/dist/{delete-page-modal-1e7c44c4.js → delete-page-modal-3b1edeb1.js} +6 -5
  29. package/dist/delete-page-modal-92a70848.cjs +1 -0
  30. package/dist/{form-6eac0287.cjs → form-431f0141.cjs} +1 -1
  31. package/dist/{form-5d5c5c9e.js → form-526188f9.js} +1 -1
  32. package/dist/html-to-json-78bfa1f3.cjs +1 -0
  33. package/dist/{Class-1fb4c0c4.js → html-to-json-8397fab5.js} +363 -190
  34. package/dist/{index-0f2acc34.js → index-67c3fc28.js} +1906 -1859
  35. package/dist/index-d214d8c8.cjs +2 -0
  36. package/dist/lib.cjs +1 -1
  37. package/dist/lib.d.ts +8 -0
  38. package/dist/lib.js +34 -33
  39. package/dist/link-8b201d2c.cjs +1 -0
  40. package/dist/{link-f80a947d.js → link-ebe8a751.js} +60 -51
  41. package/dist/page-viewer-584e4c45.cjs +1 -0
  42. package/dist/{page-viewer-791fb7c7.js → page-viewer-dcd98e40.js} +10 -9
  43. package/dist/project-general-setting-09427e43.cjs +1 -0
  44. package/dist/{project-general-setting-ba6333d9.js → project-general-setting-f4614eb4.js} +8 -7
  45. package/dist/{project-seo-setting-e3924578.cjs → project-seo-setting-157acce4.cjs} +1 -1
  46. package/dist/{project-seo-setting-01536592.js → project-seo-setting-f31a84f5.js} +2 -2
  47. package/dist/render.cjs +2 -2
  48. package/dist/render.d.ts +12 -14
  49. package/dist/render.js +74 -71
  50. package/dist/server.cjs +1 -1
  51. package/dist/server.d.ts +38 -24
  52. package/dist/server.js +23 -16
  53. package/dist/{single-page-detail-69dd268b.js → single-page-detail-20bf1b52.js} +8 -7
  54. package/dist/single-page-detail-e9713757.cjs +1 -0
  55. package/dist/ui.cjs +1 -1
  56. package/dist/ui.js +1 -1
  57. package/package.json +2 -1
  58. package/dist/AddBlocks-263e048b.cjs +0 -3
  59. package/dist/BrandingOptions-fe2c729f.cjs +0 -1
  60. package/dist/Class-6c695ccb.cjs +0 -1
  61. package/dist/Layers-ec26b885.cjs +0 -1
  62. package/dist/MarkAsGlobalBlock-b60aa4a5.cjs +0 -1
  63. package/dist/PagesPanel-27e831e4.cjs +0 -1
  64. package/dist/ProjectPanel-d77ca4b1.cjs +0 -1
  65. package/dist/Settings-f533682d.cjs +0 -1
  66. package/dist/SidePanels-8a461fbd.cjs +0 -1
  67. package/dist/Topbar-e3b28705.cjs +0 -1
  68. package/dist/add-page-modal-345f02a4.cjs +0 -1
  69. package/dist/delete-page-modal-83b69ad2.cjs +0 -1
  70. package/dist/html-to-json-01cc5fe0.cjs +0 -1
  71. package/dist/html-to-json-d20aafdd.js +0 -178
  72. package/dist/index-334beafe.cjs +0 -2
  73. package/dist/link-86c532b5.cjs +0 -1
  74. package/dist/page-viewer-83157368.cjs +0 -1
  75. package/dist/project-general-setting-b8508aa1.cjs +0 -1
  76. package/dist/single-page-detail-a186cd56.cjs +0 -1
package/dist/render.js CHANGED
@@ -1,18 +1,18 @@
1
1
  import { j as m } from "./jsx-runtime-944c88e2.js";
2
2
  import f from "react";
3
- import { get as i, includes as b, last as _, replace as v, set as z, startsWith as L, memoize as $, filter as h, isEmpty as T, omit as j, isString as k } from "lodash";
4
- import { twMerge as U } from "tailwind-merge";
5
- import { S as g, a as D, B } from "./MODIFIERS-c2e02614.js";
6
- import { getBlockComponent as O } from "@chaibuilder/blocks";
7
- import { createTailwindcss as R } from "@mhsdesign/jit-browser-tailwindcss";
8
- import { tailwindcssPaletteGenerator as H } from "@bobthered/tailwindcss-palette-generator";
9
- import { g as M } from "./_commonjsHelpers-d4512b9c.js";
3
+ import { get as p, includes as b, last as _, replace as j, set as F, startsWith as L, memoize as U, filter as h, isEmpty as T, omit as O, isString as E } from "lodash";
4
+ import { twMerge as $ } from "tailwind-merge";
5
+ import { S as g, a as S, B as R } from "./MODIFIERS-c2e02614.js";
6
+ import { getBlockComponent as B } from "@chaibuilder/blocks";
7
+ import { createTailwindcss as H } from "@mhsdesign/jit-browser-tailwindcss";
8
+ import { tailwindcssPaletteGenerator as M } from "@bobthered/tailwindcss-palette-generator";
9
+ import { g as I } from "./_commonjsHelpers-d4512b9c.js";
10
10
  import P from "@tailwindcss/forms";
11
- import I from "@tailwindcss/typography";
12
- import W from "@tailwindcss/aspect-ratio";
13
- import N from "@tailwindcss/line-clamp";
14
- import { Provider as q } from "react-wrap-balancer";
15
- var S = {}, E = {};
11
+ import W from "@tailwindcss/typography";
12
+ import N from "@tailwindcss/aspect-ratio";
13
+ import q from "@tailwindcss/line-clamp";
14
+ import { Provider as G } from "react-wrap-balancer";
15
+ var k = {}, D = {};
16
16
  (function(e) {
17
17
  Object.defineProperty(e, "__esModule", {
18
18
  value: !0
@@ -28,8 +28,8 @@ var S = {}, E = {};
28
28
  r(o)
29
29
  ])) : t;
30
30
  }
31
- })(E);
32
- var G = {
31
+ })(D);
32
+ var Y = {
33
33
  content: [],
34
34
  presets: [],
35
35
  darkMode: "media",
@@ -1029,48 +1029,48 @@ var G = {
1029
1029
  return o;
1030
1030
  }
1031
1031
  });
1032
- const r = E, t = /* @__PURE__ */ n(G);
1033
- function n(s) {
1034
- return s && s.__esModule ? s : {
1035
- default: s
1032
+ const r = D, t = /* @__PURE__ */ n(Y);
1033
+ function n(i) {
1034
+ return i && i.__esModule ? i : {
1035
+ default: i
1036
1036
  };
1037
1037
  }
1038
1038
  const o = (0, r.cloneDeep)(t.default.theme);
1039
- })(S);
1040
- let y = S;
1041
- var Y = (y.__esModule ? y : { default: y }).default;
1042
- const w = /* @__PURE__ */ M(Y), K = (e, r = "c-") => {
1043
- const t = i(e, "bodyTextLightColor", "#64748b"), n = i(e, "bodyTextDarkColor", "#94a3b8"), o = i(e, "bodyBgLightColor", "#FFFFFF"), s = i(e, "bodyBgDarkColor", "#0f172a");
1044
- return `${r}font-body ${r}antialiased ${r}text-[${t}] ${r}bg-[${o}] dark:${r}text-[${n}] dark:${r}bg-[${s}]`;
1045
- }, A = (e, r = "c-") => {
1046
- const n = e.replace(g, "").split(",").map((o) => o.split(" ").map((l) => {
1047
- if (l === "")
1039
+ })(k);
1040
+ let y = k;
1041
+ var K = (y.__esModule ? y : { default: y }).default;
1042
+ const w = /* @__PURE__ */ I(K), A = (e, r = "c-") => {
1043
+ const t = p(e, "bodyTextLightColor", "#64748b"), n = p(e, "bodyTextDarkColor", "#94a3b8"), o = p(e, "bodyBgLightColor", "#FFFFFF"), i = p(e, "bodyBgDarkColor", "#0f172a");
1044
+ return `${r}font-body ${r}antialiased ${r}text-[${t}] ${r}bg-[${o}] dark:${r}text-[${n}] dark:${r}bg-[${i}]`;
1045
+ }, v = (e, r = "c-") => {
1046
+ const n = e.replace(g, "").split(",").map((o) => o.split(" ").map((s) => {
1047
+ if (s === "")
1048
1048
  return "";
1049
- if (b(l, "hs-") || b(l, "[--") || b(l, "paddle"))
1050
- return l;
1051
- if (l.includes(":")) {
1052
- const p = l.split(":");
1053
- return p[p.length - 1] = r + _(p), p.join(":");
1049
+ if (b(s, "hs-") || b(s, "[--") || b(s, "paddle"))
1050
+ return s;
1051
+ if (s.includes(":")) {
1052
+ const l = s.split(":");
1053
+ return l[l.length - 1] = r + _(l), l.join(":");
1054
1054
  }
1055
- return `${r}${l}`;
1055
+ return `${r}${s}`;
1056
1056
  }).join(" "));
1057
1057
  return `${g}${n.join(" , ")}`;
1058
1058
  }, J = (e, r) => e.map((t) => (Object.keys(t).forEach((n) => {
1059
- L(t[n], g) && (t[n] = A(t[n], r));
1060
- }), t)), fe = (e, r, t = "c-") => {
1061
- const n = K(r, t);
1059
+ L(t[n], g) && (t[n] = v(t[n], r));
1060
+ }), { ...t })), xe = (e, r, t = "c-") => {
1061
+ const n = A(r, t);
1062
1062
  return Q(
1063
1063
  r,
1064
- [v(JSON.stringify(J(e, t)), /#styles:/g, "")],
1064
+ [j(JSON.stringify(J(e, t)), /#styles:/g, "")],
1065
1065
  n.split(" ").concat(`${t}inline-block`, `${t}w-full`, `${t}h-full`)
1066
1066
  );
1067
1067
  };
1068
1068
  async function Q(e, r, t = [], n = "c-") {
1069
- const o = i(e, "primaryColor", "#000"), s = i(e, "secondaryColor", "#ccc"), a = i(e, "headingFont", "Inter"), l = i(e, "bodyFont", "Inter"), p = i(e, "roundedCorners", "0"), c = H({
1070
- colors: [o, s],
1069
+ const o = p(e, "primaryColor", "#000"), i = p(e, "secondaryColor", "#ccc"), a = p(e, "headingFont", "Inter"), s = p(e, "bodyFont", "Inter"), l = p(e, "roundedCorners", "0"), c = M({
1070
+ colors: [o, i],
1071
1071
  names: ["primary", "secondary"]
1072
1072
  });
1073
- return z(c, "primary.DEFAULT", o), z(c, "secondary.DEFAULT", s), `${await R({
1073
+ return F(c, "primary.DEFAULT", o), F(c, "secondary.DEFAULT", i), `${await H({
1074
1074
  tailwindConfig: {
1075
1075
  prefix: n,
1076
1076
  darkMode: "class",
@@ -1078,16 +1078,16 @@ async function Q(e, r, t = [], n = "c-") {
1078
1078
  theme: {
1079
1079
  fontFamily: {
1080
1080
  heading: [a, ...w.fontFamily.sans],
1081
- body: [l, ...w.fontFamily.sans]
1081
+ body: [s, ...w.fontFamily.sans]
1082
1082
  },
1083
1083
  extend: {
1084
1084
  borderRadius: {
1085
- global: `${p || "0"}px`
1085
+ global: `${l || "0"}px`
1086
1086
  },
1087
1087
  colors: c
1088
1088
  }
1089
1089
  },
1090
- plugins: [P, I, W, N],
1090
+ plugins: [P, W, N, q],
1091
1091
  corePlugins: { preflight: !1 }
1092
1092
  }
1093
1093
  }).generateStylesFromContent(
@@ -1098,7 +1098,7 @@ async function Q(e, r, t = [], n = "c-") {
1098
1098
  ", "
1099
1099
  )};}`;
1100
1100
  }
1101
- function be(e = 6, r = "abcdefghijklmnopqrstuvwxyzABCD") {
1101
+ function fe(e = 6, r = "abcdefghijklmnopqrstuvwxyzABCD") {
1102
1102
  let t = "";
1103
1103
  for (let n = e; n > 0; --n)
1104
1104
  t += r[Math.floor(Math.random() * r.length)];
@@ -1107,19 +1107,19 @@ function be(e = 6, r = "abcdefghijklmnopqrstuvwxyzABCD") {
1107
1107
  const V = (e) => {
1108
1108
  const r = {};
1109
1109
  return Object.keys(e).forEach((t) => {
1110
- k(e[t]) && e[t].startsWith(D) && (r[t] = e[t].replace(D, "").split(","));
1110
+ E(e[t]) && e[t].startsWith(S) && (r[t] = e[t].replace(S, "").split(","));
1111
1111
  }), r;
1112
- }, X = $((e, r) => {
1113
- const t = e.replace(g, "").split(","), n = U(t[0], t[1]);
1114
- return A(n, r).replace(g, "").trim();
1112
+ }, X = U((e, r) => {
1113
+ const t = e.replace(g, "").split(","), n = $(t[0], t[1]);
1114
+ return v(n, r).replace(g, "").trim();
1115
1115
  });
1116
1116
  function Z(e, r) {
1117
- return i(e, `${r}_attrs`, {});
1117
+ return p(e, `${r}_attrs`, {});
1118
1118
  }
1119
1119
  function ee(e, r) {
1120
1120
  const t = {};
1121
1121
  return Object.keys(e).forEach((n) => {
1122
- if (k(e[n]) && e[n].startsWith(g)) {
1122
+ if (E(e[n]) && e[n].startsWith(g)) {
1123
1123
  const o = X(e[n], r);
1124
1124
  t[n] = {
1125
1125
  className: o,
@@ -1133,28 +1133,28 @@ function C({
1133
1133
  parent: r,
1134
1134
  classPrefix: t = "c-"
1135
1135
  }) {
1136
- const n = e, o = (a) => ee(a, t), s = r ? h(e, { _parent: r }) : h(e, (a) => T(a._parent));
1136
+ const n = e, o = (a) => ee(a, t), i = r ? h(e, { _parent: r }) : h(e, (a) => T(a._parent));
1137
1137
  return /* @__PURE__ */ m.jsx(m.Fragment, { children: f.Children.toArray(
1138
- s.map((a, l) => {
1139
- const p = V(a), c = {};
1140
- T(p) || Object.keys(p).forEach((d) => {
1138
+ i.map((a, s) => {
1139
+ const l = V(a), c = {};
1140
+ T(l) || Object.keys(l).forEach((d) => {
1141
1141
  c[d] = f.Children.toArray(
1142
- p[d].map((x) => /* @__PURE__ */ m.jsx(C, { classPrefix: t, blocks: n, parent: x }))
1142
+ l[d].map((x) => /* @__PURE__ */ m.jsx(C, { classPrefix: t, blocks: n, parent: x }))
1143
1143
  );
1144
1144
  });
1145
- const F = h(n, { _parent: a._id });
1146
- c.children = F.length > 0 ? /* @__PURE__ */ m.jsx(C, { classPrefix: t, parent: a._id, blocks: n }) : null;
1147
- const u = O(a._type);
1145
+ const z = h(n, { _parent: a._id });
1146
+ c.children = z.length > 0 ? /* @__PURE__ */ m.jsx(C, { classPrefix: t, parent: a._id, blocks: n }) : null;
1147
+ const u = B(a._type);
1148
1148
  if (u !== null) {
1149
1149
  let d = a;
1150
1150
  const x = u.component;
1151
1151
  return d = { ...u.defaults, ...a }, f.createElement(
1152
1152
  x,
1153
- j(
1153
+ O(
1154
1154
  {
1155
1155
  blockProps: {},
1156
1156
  ...d,
1157
- index: l,
1157
+ index: s,
1158
1158
  ...o(d),
1159
1159
  ...c,
1160
1160
  inBuilder: !1
@@ -1170,22 +1170,25 @@ function C({
1170
1170
  })
1171
1171
  ) });
1172
1172
  }
1173
- const te = (e) => {
1174
- const r = i(e, "_bodyTextLightColor", "#64748b"), t = i(e, "_bodyTextDarkColor", "#94a3b8"), n = i(e, "_bodyBgLightColor", "#FFFFFF"), o = i(e, "_bodyBgDarkColor", "#0f172a");
1175
- return `font-body antialiased text-[${r}] bg-[${n}] dark:text-[${t}] dark:bg-[${o}]`;
1176
- }, he = ({ snapshot: e, before: r = null, after: t = null, classPrefix: n = "c-" }) => {
1177
- const o = i(e.projectData, "brandingOptions", B);
1173
+ const be = ({ pageData: e, before: r = null, after: t = null, classPrefix: n = "c-" }) => {
1174
+ const o = p(e.project, "brandingOptions", R);
1178
1175
  return /* @__PURE__ */ m.jsxs(m.Fragment, { children: [
1179
1176
  r,
1180
- /* @__PURE__ */ m.jsx("div", { className: n.replace("-", "") + " " + te(o) + " min-h-screen", children: /* @__PURE__ */ m.jsx(q, { children: /* @__PURE__ */ m.jsx(C, { blocks: e.pageData.blocks || [], classPrefix: n }) }) }),
1177
+ /* @__PURE__ */ m.jsx(
1178
+ "div",
1179
+ {
1180
+ className: n.replace("-", "") + " " + A(o, n) + " min-h-screen",
1181
+ children: /* @__PURE__ */ m.jsx(G, { children: /* @__PURE__ */ m.jsx(C, { blocks: e.page.blocks || [], classPrefix: n }) })
1182
+ }
1183
+ ),
1181
1184
  t
1182
1185
  ] });
1183
1186
  };
1184
1187
  export {
1185
1188
  C as RenderChaiBlocks,
1186
- he as RenderChaiPage,
1187
- A as addPrefixToClasses,
1188
- be as generateUUID,
1189
- fe as getBlocksTailwindCSS,
1190
- K as getBrandingClasses
1189
+ be as RenderChaiPage,
1190
+ v as addPrefixToClasses,
1191
+ fe as generateUUID,
1192
+ xe as getBlocksTailwindCSS,
1193
+ A as getBrandingClasses
1191
1194
  };
package/dist/server.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var d=Object.defineProperty;var u=(o,t,e)=>t in o?d(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;var c=(o,t,e)=>(u(o,typeof t!="symbol"?t+"":t,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("lodash"),i="https://api.chaibuilder.com";class g{constructor(t,e){c(this,"authToken");c(this,"projectKey");if(!t)throw"Please provide valid auth token.";if(!e)throw"Please provide valid project key.";this.authToken=t,this.projectKey=e}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"),r={method:"GET",headers:t};return this.fetchAPI(e,r)}async addPage(t){h.set(t,"project",this.projectKey);const e=JSON.stringify(t),s=this.getHeaders(),r=this.getURL("page"),a={method:"POST",headers:s,body:e};return this.fetchAPI(r,a)}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(),r=this.getURL("page"),a={method:"PUT",headers:s,body:e};return this.fetchAPI(r,a)}async getProject(){const t=this.getHeaders(),e=this.getURL("project"),r={method:"GET",headers:t};return this.fetchAPI(e,r)}async updateProject(t){t.uuid=this.projectKey,h.set(t,"uuid",this.projectKey);const e=JSON.stringify(t),s=this.getHeaders(),r=this.getURL("project"),a={method:"PUT",headers:s,body:e};return this.fetchAPI(r,a)}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.projectKey),t.append("x-chai-auth-token",this.authToken),t.append("Content-Type","application/json"),t}async fetchAPI(t,e){try{const s=await fetch(t,e).then(r=>r.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"}}}}exports.ChaibuilderBackend=g;
1
+ "use strict";var i=Object.defineProperty;var d=(c,t,e)=>t in c?i(c,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):c[t]=e;var a=(c,t,e)=>(d(c,typeof t!="symbol"?t+"":t,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("lodash"),h="https://api.chaibuilder.com";class g{constructor(t,e){a(this,"authToken");a(this,"projectKey");if(!t)throw"Please provide valid auth token.";if(!e)throw"Please provide valid project key.";this.authToken=t,this.projectKey=e}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"),r={method:"GET",headers:t};return this.fetchAPI(e,r)}async addPage(t){const e=JSON.stringify(t),s=this.getHeaders(),r=this.getURL("page"),o={method:"POST",headers:s,body:e};return this.fetchAPI(r,o)}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(),r=this.getURL("page"),o={method:"PUT",headers:s,body:e};return this.fetchAPI(r,o)}async getProject(){const t=this.getHeaders(),e=this.getURL("project"),r={method:"GET",headers:t};return this.fetchAPI(e,r)}async updateProject(t){const e=JSON.stringify(t),s=this.getHeaders(),r=this.getURL("project"),o={method:"PUT",headers:s,body:e};return this.fetchAPI(r,o)}async authenticate({password:t}){const e=JSON.stringify({password:t}),s=this.getHeaders(),r=this.getURL("authenticate"),o={method:"POST",headers:s,body:e};return this.fetchAPI(r,o)}async verify(t){const e=JSON.stringify({token:t}),s=this.getHeaders(),r=this.getURL("verify"),o={method:"POST",headers:s,body:e};return this.fetchAPI(r,o)}getURL(t,e){const s=new URLSearchParams(e).toString();return u.isEmpty(e)?`${h}/v1/${t}`:`${h}/v1/${t}?${s}`}getHeaders(){const t=new Headers;return t.append("x-chai-app-key",this.projectKey),t.append("x-chai-auth-token",this.authToken),t.append("Content-Type","application/json"),t}async fetchAPI(t,e){try{const s=await fetch(t,e).then(r=>r.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"}}}}exports.ChaibuilderBackend=g;
package/dist/server.d.ts CHANGED
@@ -1,5 +1,11 @@
1
1
  import type { ChaiBlock } from '@chaibuilder/sdk';
2
2
 
3
+ declare type ChaiApiResponse<T> = Promise<{
4
+ data: T;
5
+ error: null | string;
6
+ result: string;
7
+ }>;
8
+
3
9
  export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
4
10
  private authToken;
5
11
  private readonly projectKey;
@@ -13,7 +19,7 @@ export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
13
19
  data: ChaiPage & {
14
20
  subPages: ChaiSubPage[];
15
21
  };
16
- error: null;
22
+ error: string;
17
23
  result: string;
18
24
  }>;
19
25
  /**
@@ -21,10 +27,8 @@ export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
21
27
  * @returns List of all pages
22
28
  */
23
29
  getPages(): Promise<{
24
- data: ChaiPage & {
25
- subPages: ChaiSubPage[];
26
- }[];
27
- error: null;
30
+ data: Omit<ChaiPage, "blocks">[];
31
+ error: string;
28
32
  result: string;
29
33
  }>;
30
34
  /**
@@ -34,7 +38,7 @@ export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
34
38
  */
35
39
  addPage(page: Pick<ChaiPage, "name" | "slug">): Promise<{
36
40
  data: ChaiPage;
37
- error: null;
41
+ error: string;
38
42
  result: string;
39
43
  }>;
40
44
  /**
@@ -44,7 +48,7 @@ export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
44
48
  */
45
49
  deletePage(uuid: string): Promise<{
46
50
  data: null;
47
- error: null;
51
+ error: string;
48
52
  result: string;
49
53
  }>;
50
54
  /**
@@ -54,7 +58,7 @@ export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
54
58
  */
55
59
  updatePage(page: ChaiPage): Promise<{
56
60
  data: ChaiPage;
57
- error: null;
61
+ error: string;
58
62
  result: string;
59
63
  }>;
60
64
  /**
@@ -63,7 +67,7 @@ export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
63
67
  */
64
68
  getProject(): Promise<{
65
69
  data: ChaiProject;
66
- error: null;
70
+ error: string;
67
71
  result: string;
68
72
  }>;
69
73
  /**
@@ -73,7 +77,23 @@ export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
73
77
  */
74
78
  updateProject(project: Partial<ChaiProject>): Promise<{
75
79
  data: ChaiProject;
76
- error: null;
80
+ error: string;
81
+ result: string;
82
+ }>;
83
+ authenticate({ password }: {
84
+ password: string;
85
+ }): Promise<{
86
+ data: {
87
+ token: string;
88
+ };
89
+ error: string;
90
+ result: string;
91
+ }>;
92
+ verify(token: string): Promise<{
93
+ data: {
94
+ result: string;
95
+ };
96
+ error: string;
77
97
  result: string;
78
98
  }>;
79
99
  /**
@@ -95,16 +115,16 @@ export declare class ChaibuilderBackend implements ChaibuilderBackendInterface {
95
115
  private fetchAPI;
96
116
  }
97
117
 
98
- export declare interface ChaibuilderBackendInterface {
99
- getPage(uuid: string): TChaiResponse<ChaiPage & {
118
+ declare interface ChaibuilderBackendInterface {
119
+ getPage(uuid: string): ChaiApiResponse<ChaiPage & {
100
120
  subPages: ChaiSubPage[];
101
121
  }>;
102
- getPages(): TChaiResponse<ChaiPage>;
103
- addPage(page: Pick<ChaiPage, "name" | "slug">): TChaiResponse<ChaiPage>;
104
- deletePage(uuid: string): TChaiResponse<null>;
105
- updatePage(page: ChaiPage): TChaiResponse<ChaiPage>;
106
- getProject(): TChaiResponse<ChaiProject>;
107
- updateProject(project: Partial<ChaiProject>): TChaiResponse<ChaiProject>;
122
+ getPages(): ChaiApiResponse<ChaiPage>;
123
+ addPage(page: Pick<ChaiPage, "name" | "slug">): ChaiApiResponse<ChaiPage>;
124
+ deletePage(uuid: string): ChaiApiResponse<null>;
125
+ updatePage(page: ChaiPage): ChaiApiResponse<ChaiPage>;
126
+ getProject(): ChaiApiResponse<ChaiProject>;
127
+ updateProject(project: Partial<ChaiProject>): ChaiApiResponse<ChaiProject>;
108
128
  }
109
129
 
110
130
  declare type ChaiPage = {
@@ -133,10 +153,4 @@ declare type ChaiProject = {
133
153
 
134
154
  declare type ChaiSubPage = Pick<ChaiPage, "uuid" | "name" | "blocks" | "type" | "project">;
135
155
 
136
- declare type TChaiResponse<T> = Promise<{
137
- data: T;
138
- error: null;
139
- result: string;
140
- }>;
141
-
142
156
  export { }
package/dist/server.js CHANGED
@@ -1,9 +1,9 @@
1
- var d = Object.defineProperty;
2
- var u = (o, t, e) => t in o ? d(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;
3
- var a = (o, t, e) => (u(o, typeof t != "symbol" ? t + "" : t, e), e);
4
- import { set as h, isEmpty as g } from "lodash";
5
- const i = "https://api.chaibuilder.com";
6
- class y {
1
+ var i = Object.defineProperty;
2
+ var d = (c, t, e) => t in c ? i(c, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : c[t] = e;
3
+ var a = (c, t, e) => (d(c, typeof t != "symbol" ? t + "" : t, e), e);
4
+ import { isEmpty as u } from "lodash";
5
+ const h = "https://api.chaibuilder.com";
6
+ class l {
7
7
  constructor(t, e) {
8
8
  a(this, "authToken");
9
9
  a(this, "projectKey");
@@ -32,6 +32,7 @@ class y {
32
32
  *
33
33
  * @returns List of all pages
34
34
  */
35
+ // @ts-ignore
35
36
  async getPages() {
36
37
  const t = this.getHeaders(), e = this.getURL("pages"), r = { method: "GET", headers: t };
37
38
  return this.fetchAPI(e, r);
@@ -42,9 +43,8 @@ class y {
42
43
  * @returns Detail of new page
43
44
  */
44
45
  async addPage(t) {
45
- h(t, "project", this.projectKey);
46
- const e = JSON.stringify(t), s = this.getHeaders(), r = this.getURL("page"), c = { method: "POST", headers: s, body: e };
47
- return this.fetchAPI(r, c);
46
+ const e = JSON.stringify(t), s = this.getHeaders(), r = this.getURL("page"), o = { method: "POST", headers: s, body: e };
47
+ return this.fetchAPI(r, o);
48
48
  }
49
49
  /**
50
50
  *
@@ -67,8 +67,8 @@ class y {
67
67
  * @returns Update page information or Error response
68
68
  */
69
69
  async updatePage(t) {
70
- const e = JSON.stringify(t), s = this.getHeaders(), r = this.getURL("page"), c = { method: "PUT", headers: s, body: e };
71
- return this.fetchAPI(r, c);
70
+ const e = JSON.stringify(t), s = this.getHeaders(), r = this.getURL("page"), o = { method: "PUT", headers: s, body: e };
71
+ return this.fetchAPI(r, o);
72
72
  }
73
73
  /**
74
74
  *
@@ -84,9 +84,16 @@ class y {
84
84
  * @returns Updated project detail
85
85
  */
86
86
  async updateProject(t) {
87
- t.uuid = this.projectKey, h(t, "uuid", this.projectKey);
88
- const e = JSON.stringify(t), s = this.getHeaders(), r = this.getURL("project"), c = { method: "PUT", headers: s, body: e };
89
- return this.fetchAPI(r, c);
87
+ const e = JSON.stringify(t), s = this.getHeaders(), r = this.getURL("project"), o = { method: "PUT", headers: s, body: e };
88
+ return this.fetchAPI(r, o);
89
+ }
90
+ async authenticate({ password: t }) {
91
+ const e = JSON.stringify({ password: t }), s = this.getHeaders(), r = this.getURL("authenticate"), o = { method: "POST", headers: s, body: e };
92
+ return this.fetchAPI(r, o);
93
+ }
94
+ async verify(t) {
95
+ const e = JSON.stringify({ token: t }), s = this.getHeaders(), r = this.getURL("verify"), o = { method: "POST", headers: s, body: e };
96
+ return this.fetchAPI(r, o);
90
97
  }
91
98
  /**
92
99
  *
@@ -96,7 +103,7 @@ class y {
96
103
  */
97
104
  getURL(t, e) {
98
105
  const s = new URLSearchParams(e).toString();
99
- return g(e) ? `${i}/v1/${t}` : `${i}/v1/${t}?${s}`;
106
+ return u(e) ? `${h}/v1/${t}` : `${h}/v1/${t}?${s}`;
100
107
  }
101
108
  /**
102
109
  *
@@ -122,5 +129,5 @@ class y {
122
129
  }
123
130
  }
124
131
  export {
125
- y as ChaibuilderBackend
132
+ l as ChaibuilderBackend
126
133
  };
@@ -6,8 +6,8 @@ import { B as Y } from "./useBuilderProp-81a14920.js";
6
6
  import { S as $ } from "./scroll-area-9f64a082.js";
7
7
  import { SingleLineText as g, Model as q, MultilineText as Z, Image as F, Checkbox as O } from "@chaibuilder/blocks";
8
8
  import { toast as Q } from "sonner";
9
- import { F as P } from "./form-5d5c5c9e.js";
10
- import { $ as U, P as V, a0 as X, O as _ } from "./index-0f2acc34.js";
9
+ import { F as P } from "./form-526188f9.js";
10
+ import { $ as U, P as V, a0 as X, O as _ } from "./index-67c3fc28.js";
11
11
  import "@radix-ui/react-slot";
12
12
  import "class-variance-authority";
13
13
  import "./utils-ac68b2c8.js";
@@ -19,7 +19,7 @@ import "jotai";
19
19
  import "@radix-ui/react-scroll-area";
20
20
  import "@rjsf/core";
21
21
  import "@rjsf/validator-ajv8";
22
- import "./link-f80a947d.js";
22
+ import "./link-ebe8a751.js";
23
23
  import "react-icons-picker";
24
24
  import "react-dom";
25
25
  import "./dialog-3d4e82ed.js";
@@ -35,12 +35,13 @@ import "react-dnd";
35
35
  import "@minoru/react-dnd-treeview";
36
36
  import "react-hotkeys-hook";
37
37
  import "flat-to-nested";
38
- import "./Class-1fb4c0c4.js";
38
+ import "./html-to-json-8397fab5.js";
39
39
  import "./MODIFIERS-c2e02614.js";
40
+ import "himalaya";
40
41
  import "redux-undo";
41
42
  import "@react-hookz/web";
42
43
  import "lucide-react";
43
- const K = y.lazy(() => import("./delete-page-modal-1e7c44c4.js")), J = y.lazy(() => import("./confirm-alert-f2a47cc7.js")), h = (n) => {
44
+ const K = y.lazy(() => import("./delete-page-modal-3b1edeb1.js")), J = y.lazy(() => import("./confirm-alert-f2a47cc7.js")), h = (n) => {
44
45
  if (!z(n) || !(n.includes("/[") && n.includes("]")))
45
46
  return !1;
46
47
  const s = /^\[((?:\.{3})?[a-zA-Z0-9_-]+)\]$/, u = /^[a-zA-Z0-9_-]+$/;
@@ -54,7 +55,7 @@ const K = y.lazy(() => import("./delete-page-modal-1e7c44c4.js")), J = y.lazy(()
54
55
  } : n, W = (n, l) => {
55
56
  const s = !x(j(n, ["seoData"]), j(l, ["seoData"])), u = !x(f(l).seoData, f(n).seoData);
56
57
  return s || u;
57
- }, qe = ({ open: n, setOpen: l, pageData: s }) => {
58
+ }, Ze = ({ open: n, setOpen: l, pageData: s }) => {
58
59
  const u = U(), { data: e } = V(), r = X(), c = _("Homepage updated successfully."), [i, T] = I(f(s)), [d, M] = I({
59
60
  isHomePage: (e == null ? void 0 : e.homepage) === s.uuid
60
61
  }), S = W(i, s);
@@ -202,5 +203,5 @@ const K = y.lazy(() => import("./delete-page-modal-1e7c44c4.js")), J = y.lazy(()
202
203
  ] });
203
204
  };
204
205
  export {
205
- qe as default
206
+ Ze as default
206
207
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./jsx-runtime-5c3ac4f7.cjs"),q=require("react"),c=require("lodash"),M=require("@radix-ui/react-icons"),H=require("./useBuilderProp-5e57d0c8.cjs"),w=require("./scroll-area-088530b9.cjs"),d=require("@chaibuilder/blocks"),L=require("sonner"),p=require("./form-431f0141.cjs"),P=require("./index-d214d8c8.cjs");require("@radix-ui/react-slot");require("class-variance-authority");require("./utils-3c452dd0.cjs");require("clsx");require("tailwind-merge");require("@radix-ui/react-tooltip");require("@radix-ui/react-toast");require("jotai");require("@radix-ui/react-scroll-area");require("@rjsf/core");require("@rjsf/validator-ajv8");require("./link-8b201d2c.cjs");require("react-icons-picker");require("react-dom");require("./dialog-170eaad9.cjs");require("@radix-ui/react-dialog");require("./ImagesPanel-addb2bf9.cjs");require("./tabs-860e37aa.cjs");require("@radix-ui/react-tabs");require("react-quill");require("react-i18next");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");const z=q.lazy(()=>Promise.resolve().then(()=>require("./delete-page-modal-92a70848.cjs"))),B=q.lazy(()=>Promise.resolve().then(()=>require("./confirm-alert-4f50caa7.cjs"))),E=n=>{if(!c.isString(n)||!(n.includes("/[")&&n.includes("]")))return!1;const s=/^\[((?:\.{3})?[a-zA-Z0-9_-]+)\]$/,g=/^[a-zA-Z0-9_-]+$/;let e=!0;return n.split("/").forEach(u=>{e&&(u.includes("[[")&&u.includes("]]")?e=/^\[\[\.{3}[a-zA-Z0-9_-]+\]\]$/.test(u):u.includes("[")&&u.includes("]")?e=s.test(u):e=g.test(u))}),e},h=n=>n&&c.isEmpty(n.seoData)?{...n,seoData:{title:"",description:"",image:""}}:n,G=(n,o)=>{const s=!c.isEqual(c.omit(n,["seoData"]),c.omit(o,["seoData"])),g=!c.isEqual(h(o).seoData,h(n).seoData);return s||g},Y=({open:n,setOpen:o,pageData:s})=>{const g=P.useQueryClient(),{data:e}=P.useProject(),u=P.useUpdatePage(),m=P.useUpdateProject("Homepage updated successfully."),[i,b]=q.useState(h(s)),[a,y]=q.useState({isHomePage:(e==null?void 0:e.homepage)===s.uuid}),j=G(i,s);q.useEffect(()=>{const l=!c.isEqual(h(s),i),r=(e==null?void 0:e.homepage)!==s.uuid&&a.isHomePage;o(l||r?"PENDING":"OPEN")},[e,s,i,a,o]);const S=()=>{if(j){if(s.type==="DYNAMIC"&&!E((i==null?void 0:i.slug)||"")){n==="ALERT"&&o("PENDING");return}u.mutate(i,{onSuccess:()=>{g.invalidateQueries({refetchType:"active",queryKey:["pages",e==null?void 0:e.uuid]}),o("CLOSE"),L.toast.success("Page updated successfully.")}})}a.isHomePage&&(e==null?void 0:e.homepage)!==s.uuid&&m.mutate({...e,homepage:s==null?void 0:s.uuid},{onSuccess:()=>o("CLOSE")})},C=({formData:l},r)=>{b(f=>{var R,N;if(!r)return f;const x={[r]:l[r]};return r==="name"?x.slug=c.kebabCase((R=l[r])==null?void 0:R.replace(/\d/g,"")):r==="slug"?x.slug=(N=l[r])==null?void 0:N.replace(/\d/g,"").replace(/\s+/g,"").replace("--","-").replace("__","_"):r==="seoData"&&(x.seoData={title:l[r].title||"",description:l[r].description||"",image:l[r].image||""}),{...f,...x}})},A=({formData:l},r)=>{y(f=>{const x={[r]:l[r]};return{...f,...x}})},I={name:d.SingleLineText({title:"Page Name",default:i.name}),slug:d.SingleLineText({title:"Page Slug",default:i.slug})},T={seoData:d.Model({title:"",description:"",default:{title:"",description:"",image:""},properties:{title:d.SingleLineText({title:"Meta Title",default:i.name}),description:d.MultilineText({title:"Meta Description",default:i.slug}),image:d.Image({title:"Social Media Image",default:""})}})},v={isHomePage:d.Checkbox({title:"Set as homepage",default:a.isHomePage})};return t.jsxRuntimeExports.jsxs(w.ScrollArea,{className:"flex h-full select-none flex-col",children:[t.jsxRuntimeExports.jsx(B,{open:n==="ALERT",title:"Do yo want to save changes?",onCancel:()=>o("CLOSE"),onConfirm:S,disabled:m.isPending||u.isPending}),t.jsxRuntimeExports.jsx("div",{className:"rounded-md bg-background/30 px-2.5 py-1",children:t.jsxRuntimeExports.jsx("h1",{className:"px-1 font-semibold",children:"Page Details"})}),t.jsxRuntimeExports.jsx("div",{className:"px-2.5 pt-2",children:t.jsxRuntimeExports.jsxs("div",{className:"flex flex-col space-y-2",children:[t.jsxRuntimeExports.jsx(p.Form,{title:"Basic Details",formData:i,properties:I,onChange:C,disabled:u.isPending||m.isPending}),t.jsxRuntimeExports.jsx("div",{className:"h-2 w-full"}),t.jsxRuntimeExports.jsx(p.Form,{title:"SEO Details",formData:i,properties:T,onChange:C,disabled:u.isPending||m.isPending}),(e==null?void 0:e.homepage)!==s.uuid&&s.type==="STATIC"?t.jsxRuntimeExports.jsx(p.Form,{formData:a,properties:v,onChange:A,disabled:u.isPending||m.isPending}):s.type==="STATIC"&&t.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-x-1 px-1 pt-2 text-xs font-medium text-gray-500",children:[t.jsxRuntimeExports.jsx(M.HomeIcon,{})," This is homepage"," "]}),i.type==="DYNAMIC"&&!E((i==null?void 0:i.slug)||"")&&t.jsxRuntimeExports.jsxs("small",{className:"px-1 text-red-400",children:["Add dynamic ID in page slug Eg: ",t.jsxRuntimeExports.jsx("i",{className:"underline",children:"some-url/[some-id]"})]}),t.jsxRuntimeExports.jsxs("div",{className:"my-2 flex w-full items-center justify-between gap-x-2 px-1",children:[t.jsxRuntimeExports.jsx(H.Button,{className:"w-full",type:"submit",onClick:S,disabled:(e==null?void 0:e.homepage)!==s.uuid&&a.isHomePage?!1:c.isEmpty(i.name)||c.isEmpty(i.slug)||!j||u.isPending||m.isPending||i.type==="DYNAMIC"&&!E((i==null?void 0:i.slug)||""),children:"Save"}),t.jsxRuntimeExports.jsx(z,{pageData:s,projectData:e})]})]})})]})};exports.default=Y;
package/dist/ui.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("./toggle-b90fed97.cjs"),i=require("./dropdown-menu-84b2439e.cjs"),m=require("./useBuilderProp-5e57d0c8.cjs"),h=require("./accordion-0afd8143.cjs"),p=require("./textarea-a338ede6.cjs"),r=require("./jsx-runtime-5c3ac4f7.cjs"),N=require("class-variance-authority"),n=require("./utils-3c452dd0.cjs"),g=require("./alert-dialog-4ce6ed22.cjs"),x=require("./dialog-170eaad9.cjs"),te=require("./input-42acea7e.cjs"),oe=require("./label-167415e5.cjs"),D=require("./scroll-area-088530b9.cjs"),M=require("./tabs-860e37aa.cjs"),j=require("./popover-7cb9079b.cjs"),re=require("react"),C=require("@radix-ui/react-icons"),ae=require("@radix-ui/react-menubar"),f=require("./select-0e32300c.cjs"),ne=require("@radix-ui/react-dialog"),se=require("./separator-a597dba7.cjs"),c=require("cmdk"),l=require("./context-menu-fec580f2.cjs"),y=require("./link-86c532b5.cjs");require("@radix-ui/react-toggle");require("@radix-ui/react-switch");require("@radix-ui/react-hover-card");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-slot");require("@radix-ui/react-tooltip");require("@radix-ui/react-toast");require("jotai");require("lodash");require("@radix-ui/react-accordion");require("clsx");require("tailwind-merge");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-popover");require("@radix-ui/react-select");require("@radix-ui/react-separator");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("./ImagesPanel-addb2bf9.cjs");require("react-quill");require("react-i18next");function S(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const d=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,d.get?d:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const s=S(re),a=S(ae),u=S(ne),T=N.cva("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}}),ie=({className:e,variant:t,...o})=>r.jsxRuntimeExports.jsx("div",{className:n.cn(T({variant:t}),e),...o}),de=a.Menu,le=a.Group,ue=a.Portal,ce=a.Sub,me=a.RadioGroup,v=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(a.Root,{ref:o,className:n.cn("flex h-9 items-center space-x-1 rounded-md border bg-background p-1 shadow-sm",e),...t}));v.displayName=a.Root.displayName;const I=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(a.Trigger,{ref:o,className:n.cn("flex cursor-default select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",e),...t}));I.displayName=a.Trigger.displayName;const E=s.forwardRef(({className:e,inset:t,children:o,...d},b)=>r.jsxRuntimeExports.jsxs(a.SubTrigger,{ref:b,className:n.cn("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",t&&"pl-8",e),...d,children:[o,r.jsxRuntimeExports.jsx(C.ChevronRightIcon,{className:"ml-auto h-4 w-4"})]}));E.displayName=a.SubTrigger.displayName;const q=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(a.SubContent,{ref:o,className:n.cn("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...t}));q.displayName=a.SubContent.displayName;const k=s.forwardRef(({className:e,align:t="start",alignOffset:o=-4,sideOffset:d=8,...b},ee)=>r.jsxRuntimeExports.jsx(a.Portal,{children:r.jsxRuntimeExports.jsx(a.Content,{ref:ee,align:t,alignOffset:o,sideOffset:d,className:n.cn("z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...b})}));k.displayName=a.Content.displayName;const A=s.forwardRef(({className:e,inset:t,...o},d)=>r.jsxRuntimeExports.jsx(a.Item,{ref:d,className:n.cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...o}));A.displayName=a.Item.displayName;const P=s.forwardRef(({className:e,children:t,checked:o,...d},b)=>r.jsxRuntimeExports.jsxs(a.CheckboxItem,{ref:b,className:n.cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:o,...d,children:[r.jsxRuntimeExports.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:r.jsxRuntimeExports.jsx(a.ItemIndicator,{children:r.jsxRuntimeExports.jsx(C.CheckIcon,{className:"h-4 w-4"})})}),t]}));P.displayName=a.CheckboxItem.displayName;const _=s.forwardRef(({className:e,children:t,...o},d)=>r.jsxRuntimeExports.jsxs(a.RadioItem,{ref:d,className:n.cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...o,children:[r.jsxRuntimeExports.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:r.jsxRuntimeExports.jsx(a.ItemIndicator,{children:r.jsxRuntimeExports.jsx(C.DotFilledIcon,{className:"h-4 w-4 fill-current"})})}),t]}));_.displayName=a.RadioItem.displayName;const G=s.forwardRef(({className:e,inset:t,...o},d)=>r.jsxRuntimeExports.jsx(a.Label,{ref:d,className:n.cn("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...o}));G.displayName=a.Label.displayName;const L=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(a.Separator,{ref:o,className:n.cn("-mx-1 my-1 h-px bg-muted",e),...t}));L.displayName=a.Separator.displayName;const F=({className:e,...t})=>r.jsxRuntimeExports.jsx("span",{className:n.cn("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});F.displayname="MenubarShortcut";const pe=u.Root,xe=u.Trigger,ge=u.Close,H=({className:e,...t})=>r.jsxRuntimeExports.jsx(u.Portal,{className:n.cn(e),...t});H.displayName=u.Portal.displayName;const V=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(u.Overlay,{className:n.cn("fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:o}));V.displayName=u.Overlay.displayName;const fe=N.cva("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),z=s.forwardRef(({side:e="right",className:t,children:o,...d},b)=>r.jsxRuntimeExports.jsxs(H,{children:[r.jsxRuntimeExports.jsx(V,{}),r.jsxRuntimeExports.jsxs(u.Content,{ref:b,className:n.cn(fe({side:e}),t),...d,children:[o,r.jsxRuntimeExports.jsxs(u.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[r.jsxRuntimeExports.jsx(C.Cross2Icon,{className:"h-4 w-4"}),r.jsxRuntimeExports.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));z.displayName=u.Content.displayName;const O=({className:e,...t})=>r.jsxRuntimeExports.jsx("div",{className:n.cn("flex flex-col space-y-2 text-center sm:text-left",e),...t});O.displayName="SheetHeader";const B=({className:e,...t})=>r.jsxRuntimeExports.jsx("div",{className:n.cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});B.displayName="SheetFooter";const J=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(u.Title,{ref:o,className:n.cn("text-lg font-semibold text-foreground",e),...t}));J.displayName=u.Title.displayName;const K=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(u.Description,{ref:o,className:n.cn("text-sm text-muted-foreground",e),...t}));K.displayName=u.Description.displayName;const w=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command,{ref:o,className:n.cn("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));w.displayName=c.Command.displayName;const be=({children:e,...t})=>r.jsxRuntimeExports.jsx(x.Dialog,{...t,children:r.jsxRuntimeExports.jsx(x.DialogContent,{className:"overflow-hidden p-0",children:r.jsxRuntimeExports.jsx(w,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:e})})}),Q=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[r.jsxRuntimeExports.jsx(C.MagnifyingGlassIcon,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),r.jsxRuntimeExports.jsx(c.Command.Input,{ref:o,className:n.cn("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));Q.displayName=c.Command.Input.displayName;const U=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command.List,{ref:o,className:n.cn("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));U.displayName=c.Command.List.displayName;const W=s.forwardRef((e,t)=>r.jsxRuntimeExports.jsx(c.Command.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));W.displayName=c.Command.Empty.displayName;const X=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command.Group,{ref:o,className:n.cn("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t}));X.displayName=c.Command.Group.displayName;const Y=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command.Separator,{ref:o,className:n.cn("-mx-1 h-px bg-border",e),...t}));Y.displayName=c.Command.Separator.displayName;const Z=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command.Item,{ref:o,className:n.cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...t}));Z.displayName=c.Command.Item.displayName;const $=({className:e,...t})=>r.jsxRuntimeExports.jsx("span",{className:n.cn("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});$.displayName="CommandShortcut";exports.Toggle=R.Toggle;exports.toggleVariants=R.toggleVariants;exports.DropdownMenu=i.DropdownMenu;exports.DropdownMenuCheckboxItem=i.DropdownMenuCheckboxItem;exports.DropdownMenuContent=i.DropdownMenuContent;exports.DropdownMenuGroup=i.DropdownMenuGroup;exports.DropdownMenuItem=i.DropdownMenuItem;exports.DropdownMenuLabel=i.DropdownMenuLabel;exports.DropdownMenuPortal=i.DropdownMenuPortal;exports.DropdownMenuRadioGroup=i.DropdownMenuRadioGroup;exports.DropdownMenuRadioItem=i.DropdownMenuRadioItem;exports.DropdownMenuSeparator=i.DropdownMenuSeparator;exports.DropdownMenuShortcut=i.DropdownMenuShortcut;exports.DropdownMenuSub=i.DropdownMenuSub;exports.DropdownMenuSubContent=i.DropdownMenuSubContent;exports.DropdownMenuSubTrigger=i.DropdownMenuSubTrigger;exports.DropdownMenuTrigger=i.DropdownMenuTrigger;exports.HoverCard=i.HoverCard;exports.HoverCardContent=i.HoverCardContent;exports.HoverCardTrigger=i.HoverCardTrigger;exports.Switch=i.Switch;exports.Button=m.Button;exports.Skeleton=m.Skeleton;exports.Toaster=m.Toaster;exports.Tooltip=m.Tooltip;exports.TooltipContent=m.TooltipContent;exports.TooltipPortal=m.TooltipPortal;exports.TooltipProvider=m.TooltipProvider;exports.TooltipTrigger=m.TooltipTrigger;exports.buttonVariants=m.buttonVariants;exports.reducer=m.reducer;exports.toast=m.toast;exports.useToast=m.useToast;exports.Accordion=h.Accordion;exports.AccordionContent=h.AccordionContent;exports.AccordionItem=h.AccordionItem;exports.AccordionTrigger=h.AccordionTrigger;exports.Alert=p.Alert;exports.AlertDescription=p.AlertDescription;exports.AlertTitle=p.AlertTitle;exports.Card=p.Card;exports.CardContent=p.CardContent;exports.CardDescription=p.CardDescription;exports.CardFooter=p.CardFooter;exports.CardHeader=p.CardHeader;exports.CardTitle=p.CardTitle;exports.Textarea=p.Textarea;exports.AlertDialog=g.AlertDialog;exports.AlertDialogAction=g.AlertDialogAction;exports.AlertDialogCancel=g.AlertDialogCancel;exports.AlertDialogContent=g.AlertDialogContent;exports.AlertDialogDescription=g.AlertDialogDescription;exports.AlertDialogFooter=g.AlertDialogFooter;exports.AlertDialogHeader=g.AlertDialogHeader;exports.AlertDialogTitle=g.AlertDialogTitle;exports.AlertDialogTrigger=g.AlertDialogTrigger;exports.Dialog=x.Dialog;exports.DialogContent=x.DialogContent;exports.DialogDescription=x.DialogDescription;exports.DialogFooter=x.DialogFooter;exports.DialogHeader=x.DialogHeader;exports.DialogTitle=x.DialogTitle;exports.DialogTrigger=x.DialogTrigger;exports.Input=te.Input;exports.Label=oe.Label;exports.ScrollArea=D.ScrollArea;exports.ScrollBar=D.ScrollBar;exports.Tabs=M.Tabs;exports.TabsContent=M.TabsContent;exports.TabsList=M.TabsList;exports.TabsTrigger=M.TabsTrigger;exports.Popover=j.Popover;exports.PopoverContent=j.PopoverContent;exports.PopoverTrigger=j.PopoverTrigger;exports.Select=f.Select;exports.SelectContent=f.SelectContent;exports.SelectGroup=f.SelectGroup;exports.SelectItem=f.SelectItem;exports.SelectLabel=f.SelectLabel;exports.SelectSeparator=f.SelectSeparator;exports.SelectTrigger=f.SelectTrigger;exports.SelectValue=f.SelectValue;exports.Separator=se.Separator;exports.ContextMenu=l.ContextMenu;exports.ContextMenuCheckboxItem=l.ContextMenuCheckboxItem;exports.ContextMenuContent=l.ContextMenuContent;exports.ContextMenuGroup=l.ContextMenuGroup;exports.ContextMenuItem=l.ContextMenuItem;exports.ContextMenuLabel=l.ContextMenuLabel;exports.ContextMenuPortal=l.ContextMenuPortal;exports.ContextMenuRadioGroup=l.ContextMenuRadioGroup;exports.ContextMenuRadioItem=l.ContextMenuRadioItem;exports.ContextMenuSeparator=l.ContextMenuSeparator;exports.ContextMenuShortcut=l.ContextMenuShortcut;exports.ContextMenuSub=l.ContextMenuSub;exports.ContextMenuSubContent=l.ContextMenuSubContent;exports.ContextMenuSubTrigger=l.ContextMenuSubTrigger;exports.ContextMenuTrigger=l.ContextMenuTrigger;exports.IconPickerField=y.IconPickerField;exports.ImagePickerField=y.ImagePickerField;exports.LinkField=y.LinkField;exports.RTEField=y.RichTextEditorField;exports.Badge=ie;exports.Command=w;exports.CommandDialog=be;exports.CommandEmpty=W;exports.CommandGroup=X;exports.CommandInput=Q;exports.CommandItem=Z;exports.CommandList=U;exports.CommandSeparator=Y;exports.CommandShortcut=$;exports.Menubar=v;exports.MenubarCheckboxItem=P;exports.MenubarContent=k;exports.MenubarGroup=le;exports.MenubarItem=A;exports.MenubarLabel=G;exports.MenubarMenu=de;exports.MenubarPortal=ue;exports.MenubarRadioGroup=me;exports.MenubarRadioItem=_;exports.MenubarSeparator=L;exports.MenubarShortcut=F;exports.MenubarSub=ce;exports.MenubarSubContent=q;exports.MenubarSubTrigger=E;exports.MenubarTrigger=I;exports.Sheet=pe;exports.SheetClose=ge;exports.SheetContent=z;exports.SheetDescription=K;exports.SheetFooter=B;exports.SheetHeader=O;exports.SheetTitle=J;exports.SheetTrigger=xe;exports.badgeVariants=T;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("./toggle-b90fed97.cjs"),i=require("./dropdown-menu-84b2439e.cjs"),m=require("./useBuilderProp-5e57d0c8.cjs"),h=require("./accordion-0afd8143.cjs"),p=require("./textarea-a338ede6.cjs"),r=require("./jsx-runtime-5c3ac4f7.cjs"),N=require("class-variance-authority"),n=require("./utils-3c452dd0.cjs"),g=require("./alert-dialog-4ce6ed22.cjs"),x=require("./dialog-170eaad9.cjs"),te=require("./input-42acea7e.cjs"),oe=require("./label-167415e5.cjs"),D=require("./scroll-area-088530b9.cjs"),M=require("./tabs-860e37aa.cjs"),j=require("./popover-7cb9079b.cjs"),re=require("react"),C=require("@radix-ui/react-icons"),ae=require("@radix-ui/react-menubar"),f=require("./select-0e32300c.cjs"),ne=require("@radix-ui/react-dialog"),se=require("./separator-a597dba7.cjs"),c=require("cmdk"),l=require("./context-menu-fec580f2.cjs"),y=require("./link-8b201d2c.cjs");require("@radix-ui/react-toggle");require("@radix-ui/react-switch");require("@radix-ui/react-hover-card");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-slot");require("@radix-ui/react-tooltip");require("@radix-ui/react-toast");require("jotai");require("lodash");require("@radix-ui/react-accordion");require("clsx");require("tailwind-merge");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-popover");require("@radix-ui/react-select");require("@radix-ui/react-separator");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("./ImagesPanel-addb2bf9.cjs");require("react-quill");require("react-i18next");function S(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const d=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,d.get?d:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const s=S(re),a=S(ae),u=S(ne),T=N.cva("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}}),ie=({className:e,variant:t,...o})=>r.jsxRuntimeExports.jsx("div",{className:n.cn(T({variant:t}),e),...o}),de=a.Menu,le=a.Group,ue=a.Portal,ce=a.Sub,me=a.RadioGroup,v=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(a.Root,{ref:o,className:n.cn("flex h-9 items-center space-x-1 rounded-md border bg-background p-1 shadow-sm",e),...t}));v.displayName=a.Root.displayName;const I=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(a.Trigger,{ref:o,className:n.cn("flex cursor-default select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",e),...t}));I.displayName=a.Trigger.displayName;const E=s.forwardRef(({className:e,inset:t,children:o,...d},b)=>r.jsxRuntimeExports.jsxs(a.SubTrigger,{ref:b,className:n.cn("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",t&&"pl-8",e),...d,children:[o,r.jsxRuntimeExports.jsx(C.ChevronRightIcon,{className:"ml-auto h-4 w-4"})]}));E.displayName=a.SubTrigger.displayName;const q=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(a.SubContent,{ref:o,className:n.cn("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...t}));q.displayName=a.SubContent.displayName;const k=s.forwardRef(({className:e,align:t="start",alignOffset:o=-4,sideOffset:d=8,...b},ee)=>r.jsxRuntimeExports.jsx(a.Portal,{children:r.jsxRuntimeExports.jsx(a.Content,{ref:ee,align:t,alignOffset:o,sideOffset:d,className:n.cn("z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...b})}));k.displayName=a.Content.displayName;const A=s.forwardRef(({className:e,inset:t,...o},d)=>r.jsxRuntimeExports.jsx(a.Item,{ref:d,className:n.cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...o}));A.displayName=a.Item.displayName;const P=s.forwardRef(({className:e,children:t,checked:o,...d},b)=>r.jsxRuntimeExports.jsxs(a.CheckboxItem,{ref:b,className:n.cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:o,...d,children:[r.jsxRuntimeExports.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:r.jsxRuntimeExports.jsx(a.ItemIndicator,{children:r.jsxRuntimeExports.jsx(C.CheckIcon,{className:"h-4 w-4"})})}),t]}));P.displayName=a.CheckboxItem.displayName;const _=s.forwardRef(({className:e,children:t,...o},d)=>r.jsxRuntimeExports.jsxs(a.RadioItem,{ref:d,className:n.cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...o,children:[r.jsxRuntimeExports.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:r.jsxRuntimeExports.jsx(a.ItemIndicator,{children:r.jsxRuntimeExports.jsx(C.DotFilledIcon,{className:"h-4 w-4 fill-current"})})}),t]}));_.displayName=a.RadioItem.displayName;const G=s.forwardRef(({className:e,inset:t,...o},d)=>r.jsxRuntimeExports.jsx(a.Label,{ref:d,className:n.cn("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...o}));G.displayName=a.Label.displayName;const L=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(a.Separator,{ref:o,className:n.cn("-mx-1 my-1 h-px bg-muted",e),...t}));L.displayName=a.Separator.displayName;const F=({className:e,...t})=>r.jsxRuntimeExports.jsx("span",{className:n.cn("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});F.displayname="MenubarShortcut";const pe=u.Root,xe=u.Trigger,ge=u.Close,H=({className:e,...t})=>r.jsxRuntimeExports.jsx(u.Portal,{className:n.cn(e),...t});H.displayName=u.Portal.displayName;const V=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(u.Overlay,{className:n.cn("fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:o}));V.displayName=u.Overlay.displayName;const fe=N.cva("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),z=s.forwardRef(({side:e="right",className:t,children:o,...d},b)=>r.jsxRuntimeExports.jsxs(H,{children:[r.jsxRuntimeExports.jsx(V,{}),r.jsxRuntimeExports.jsxs(u.Content,{ref:b,className:n.cn(fe({side:e}),t),...d,children:[o,r.jsxRuntimeExports.jsxs(u.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[r.jsxRuntimeExports.jsx(C.Cross2Icon,{className:"h-4 w-4"}),r.jsxRuntimeExports.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));z.displayName=u.Content.displayName;const O=({className:e,...t})=>r.jsxRuntimeExports.jsx("div",{className:n.cn("flex flex-col space-y-2 text-center sm:text-left",e),...t});O.displayName="SheetHeader";const B=({className:e,...t})=>r.jsxRuntimeExports.jsx("div",{className:n.cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});B.displayName="SheetFooter";const J=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(u.Title,{ref:o,className:n.cn("text-lg font-semibold text-foreground",e),...t}));J.displayName=u.Title.displayName;const K=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(u.Description,{ref:o,className:n.cn("text-sm text-muted-foreground",e),...t}));K.displayName=u.Description.displayName;const w=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command,{ref:o,className:n.cn("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));w.displayName=c.Command.displayName;const be=({children:e,...t})=>r.jsxRuntimeExports.jsx(x.Dialog,{...t,children:r.jsxRuntimeExports.jsx(x.DialogContent,{className:"overflow-hidden p-0",children:r.jsxRuntimeExports.jsx(w,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:e})})}),Q=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[r.jsxRuntimeExports.jsx(C.MagnifyingGlassIcon,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),r.jsxRuntimeExports.jsx(c.Command.Input,{ref:o,className:n.cn("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));Q.displayName=c.Command.Input.displayName;const U=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command.List,{ref:o,className:n.cn("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));U.displayName=c.Command.List.displayName;const W=s.forwardRef((e,t)=>r.jsxRuntimeExports.jsx(c.Command.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));W.displayName=c.Command.Empty.displayName;const X=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command.Group,{ref:o,className:n.cn("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t}));X.displayName=c.Command.Group.displayName;const Y=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command.Separator,{ref:o,className:n.cn("-mx-1 h-px bg-border",e),...t}));Y.displayName=c.Command.Separator.displayName;const Z=s.forwardRef(({className:e,...t},o)=>r.jsxRuntimeExports.jsx(c.Command.Item,{ref:o,className:n.cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...t}));Z.displayName=c.Command.Item.displayName;const $=({className:e,...t})=>r.jsxRuntimeExports.jsx("span",{className:n.cn("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});$.displayName="CommandShortcut";exports.Toggle=R.Toggle;exports.toggleVariants=R.toggleVariants;exports.DropdownMenu=i.DropdownMenu;exports.DropdownMenuCheckboxItem=i.DropdownMenuCheckboxItem;exports.DropdownMenuContent=i.DropdownMenuContent;exports.DropdownMenuGroup=i.DropdownMenuGroup;exports.DropdownMenuItem=i.DropdownMenuItem;exports.DropdownMenuLabel=i.DropdownMenuLabel;exports.DropdownMenuPortal=i.DropdownMenuPortal;exports.DropdownMenuRadioGroup=i.DropdownMenuRadioGroup;exports.DropdownMenuRadioItem=i.DropdownMenuRadioItem;exports.DropdownMenuSeparator=i.DropdownMenuSeparator;exports.DropdownMenuShortcut=i.DropdownMenuShortcut;exports.DropdownMenuSub=i.DropdownMenuSub;exports.DropdownMenuSubContent=i.DropdownMenuSubContent;exports.DropdownMenuSubTrigger=i.DropdownMenuSubTrigger;exports.DropdownMenuTrigger=i.DropdownMenuTrigger;exports.HoverCard=i.HoverCard;exports.HoverCardContent=i.HoverCardContent;exports.HoverCardTrigger=i.HoverCardTrigger;exports.Switch=i.Switch;exports.Button=m.Button;exports.Skeleton=m.Skeleton;exports.Toaster=m.Toaster;exports.Tooltip=m.Tooltip;exports.TooltipContent=m.TooltipContent;exports.TooltipPortal=m.TooltipPortal;exports.TooltipProvider=m.TooltipProvider;exports.TooltipTrigger=m.TooltipTrigger;exports.buttonVariants=m.buttonVariants;exports.reducer=m.reducer;exports.toast=m.toast;exports.useToast=m.useToast;exports.Accordion=h.Accordion;exports.AccordionContent=h.AccordionContent;exports.AccordionItem=h.AccordionItem;exports.AccordionTrigger=h.AccordionTrigger;exports.Alert=p.Alert;exports.AlertDescription=p.AlertDescription;exports.AlertTitle=p.AlertTitle;exports.Card=p.Card;exports.CardContent=p.CardContent;exports.CardDescription=p.CardDescription;exports.CardFooter=p.CardFooter;exports.CardHeader=p.CardHeader;exports.CardTitle=p.CardTitle;exports.Textarea=p.Textarea;exports.AlertDialog=g.AlertDialog;exports.AlertDialogAction=g.AlertDialogAction;exports.AlertDialogCancel=g.AlertDialogCancel;exports.AlertDialogContent=g.AlertDialogContent;exports.AlertDialogDescription=g.AlertDialogDescription;exports.AlertDialogFooter=g.AlertDialogFooter;exports.AlertDialogHeader=g.AlertDialogHeader;exports.AlertDialogTitle=g.AlertDialogTitle;exports.AlertDialogTrigger=g.AlertDialogTrigger;exports.Dialog=x.Dialog;exports.DialogContent=x.DialogContent;exports.DialogDescription=x.DialogDescription;exports.DialogFooter=x.DialogFooter;exports.DialogHeader=x.DialogHeader;exports.DialogTitle=x.DialogTitle;exports.DialogTrigger=x.DialogTrigger;exports.Input=te.Input;exports.Label=oe.Label;exports.ScrollArea=D.ScrollArea;exports.ScrollBar=D.ScrollBar;exports.Tabs=M.Tabs;exports.TabsContent=M.TabsContent;exports.TabsList=M.TabsList;exports.TabsTrigger=M.TabsTrigger;exports.Popover=j.Popover;exports.PopoverContent=j.PopoverContent;exports.PopoverTrigger=j.PopoverTrigger;exports.Select=f.Select;exports.SelectContent=f.SelectContent;exports.SelectGroup=f.SelectGroup;exports.SelectItem=f.SelectItem;exports.SelectLabel=f.SelectLabel;exports.SelectSeparator=f.SelectSeparator;exports.SelectTrigger=f.SelectTrigger;exports.SelectValue=f.SelectValue;exports.Separator=se.Separator;exports.ContextMenu=l.ContextMenu;exports.ContextMenuCheckboxItem=l.ContextMenuCheckboxItem;exports.ContextMenuContent=l.ContextMenuContent;exports.ContextMenuGroup=l.ContextMenuGroup;exports.ContextMenuItem=l.ContextMenuItem;exports.ContextMenuLabel=l.ContextMenuLabel;exports.ContextMenuPortal=l.ContextMenuPortal;exports.ContextMenuRadioGroup=l.ContextMenuRadioGroup;exports.ContextMenuRadioItem=l.ContextMenuRadioItem;exports.ContextMenuSeparator=l.ContextMenuSeparator;exports.ContextMenuShortcut=l.ContextMenuShortcut;exports.ContextMenuSub=l.ContextMenuSub;exports.ContextMenuSubContent=l.ContextMenuSubContent;exports.ContextMenuSubTrigger=l.ContextMenuSubTrigger;exports.ContextMenuTrigger=l.ContextMenuTrigger;exports.IconPickerField=y.IconPickerField;exports.ImagePickerField=y.ImagePickerField;exports.LinkField=y.LinkField;exports.RTEField=y.RichTextEditorField;exports.Badge=ie;exports.Command=w;exports.CommandDialog=be;exports.CommandEmpty=W;exports.CommandGroup=X;exports.CommandInput=Q;exports.CommandItem=Z;exports.CommandList=U;exports.CommandSeparator=Y;exports.CommandShortcut=$;exports.Menubar=v;exports.MenubarCheckboxItem=P;exports.MenubarContent=k;exports.MenubarGroup=le;exports.MenubarItem=A;exports.MenubarLabel=G;exports.MenubarMenu=de;exports.MenubarPortal=ue;exports.MenubarRadioGroup=me;exports.MenubarRadioItem=_;exports.MenubarSeparator=L;exports.MenubarShortcut=F;exports.MenubarSub=ce;exports.MenubarSubContent=q;exports.MenubarSubTrigger=E;exports.MenubarTrigger=I;exports.Sheet=pe;exports.SheetClose=ge;exports.SheetContent=z;exports.SheetDescription=K;exports.SheetFooter=B;exports.SheetHeader=O;exports.SheetTitle=J;exports.SheetTrigger=xe;exports.badgeVariants=T;
package/dist/ui.js CHANGED
@@ -22,7 +22,7 @@ import * as d from "@radix-ui/react-dialog";
22
22
  import { S as Ca } from "./separator-a80d065b.js";
23
23
  import { Command as i } from "cmdk";
24
24
  import { C as va, d as ja, b as Ma, i as Ta, c as Da, f as ka, j as Ra, n as Ia, e as _a, g as Aa, h as Pa, k as La, l as Ga, m as Fa, a as Ha } from "./context-menu-e1c240ce.js";
25
- import { I as Va, a as Ea, L as Ba, R as Oa } from "./link-f80a947d.js";
25
+ import { I as Va, a as Ea, L as Ba, R as Oa } from "./link-ebe8a751.js";
26
26
  import "@radix-ui/react-toggle";
27
27
  import "@radix-ui/react-switch";
28
28
  import "@radix-ui/react-hover-card";