@chaibuilder/sdk 1.2.23 → 1.2.25

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 (186) hide show
  1. package/README.md +6 -5
  2. package/dist/AddBlocks-Ol3iIVKa.js +207 -0
  3. package/dist/AddBlocks-a1c-7Ewz.cjs +1 -0
  4. package/dist/BrandingOptions-6rnt0UaA.cjs +1 -0
  5. package/dist/{BrandingOptions-eUSoIgjj.js → BrandingOptions-iTyWpwTs.js} +40 -54
  6. package/dist/CanvasArea-R4ogF9AT.cjs +55 -0
  7. package/dist/{CanvasArea-ulUy_rmB.js → CanvasArea-dZjng782.js} +340 -324
  8. package/dist/ChaiBuilderEditor-m30yoOgJ.cjs +163 -0
  9. package/dist/ChaiBuilderEditor-vP4at00I.js +27974 -0
  10. package/dist/{Class-lGzsNBOK.js → Class-ahc3NIbq.js} +26 -29
  11. package/dist/Class-eieto7e-.cjs +1 -0
  12. package/dist/Controls-3Cc1XYXg.js +105 -0
  13. package/dist/Controls-ky25Ebo3.cjs +1 -0
  14. package/dist/CurrentPage-3gQTH0Zt.cjs +1 -0
  15. package/dist/{CurrentPage-SFhXzQMy.js → CurrentPage-Kmfp-kFk.js} +41 -55
  16. package/dist/Functions-Hvon6AMZ.cjs +1 -0
  17. package/dist/Functions-NzT2Six_.js +15 -0
  18. package/dist/ImagesPanel-J1RlG7xG.cjs +1 -0
  19. package/dist/ImagesPanel-Wb0GF_NA.js +29 -0
  20. package/dist/ListTree-CZ-mtjZ9.cjs +1 -0
  21. package/dist/{ListTree-ZeVWczTF.js → ListTree-N3jeD790.js} +92 -102
  22. package/dist/{MODIFIERS-dytZ-osO.js → MODIFIERS-CNqNUapY.js} +10 -4
  23. package/dist/MODIFIERS-o1p3VnpS.cjs +1 -0
  24. package/dist/PagesPanel-Gi0z6gaf.cjs +1 -0
  25. package/dist/PagesPanel-u1IB-nRr.js +48 -0
  26. package/dist/ProjectPanel-EydGZmMW.js +71 -0
  27. package/dist/ProjectPanel-kiiljG4H.cjs +1 -0
  28. package/dist/{STRINGS--j49GZJP.js → STRINGS-b432aBJJ.js} +2 -2
  29. package/dist/Settings-8ilCSH8b.cjs +1 -0
  30. package/dist/{Settings-FZWm8Fc3.js → Settings-jCcd-VE6.js} +407 -401
  31. package/dist/SidePanels-T36C6Lhc.cjs +1 -0
  32. package/dist/{SidePanels-wrkkpcGE.js → SidePanels-pHMYprpW.js} +107 -117
  33. package/dist/Topbar-CvWQuspR.cjs +1 -0
  34. package/dist/Topbar-pbIDUE_B.js +122 -0
  35. package/dist/UnsplashImages-KBZPd9dv.cjs +1 -0
  36. package/dist/{UnsplashImages-eZedbK2J.js → UnsplashImages-L7x_3RQf.js} +50 -63
  37. package/dist/UploadImages-GkkJVAgG.cjs +1 -0
  38. package/dist/{UploadImages-71QziLbr.js → UploadImages-zdEJRLD8.js} +37 -60
  39. package/dist/accordion-oPUeqPCZ.js +42 -0
  40. package/dist/accordion-ynvFtV_p.cjs +1 -0
  41. package/dist/add-page-modal-9SGv2hgc.cjs +1 -0
  42. package/dist/add-page-modal-JCDXZIPW.js +95 -0
  43. package/dist/alert-dialog-P9xMMB6C.cjs +1 -0
  44. package/dist/alert-dialog-rypfO5ly.js +64 -0
  45. package/dist/badge-E-S7CqUt.cjs +1 -0
  46. package/dist/badge-tEwO7C51.js +23 -0
  47. package/dist/block-helpers-OKHmRRol.cjs +1 -0
  48. package/dist/block-helpers-oSFpSsGz.js +23 -0
  49. package/dist/command-BxR6jaCI.cjs +1 -0
  50. package/dist/command-Pn3HKDuV.js +97 -0
  51. package/dist/confirm-alert-uNm0lZ0y.cjs +1 -0
  52. package/dist/confirm-alert-wR5_VJ1l.js +36 -0
  53. package/dist/context-menu-8dC9uGXj.js +122 -0
  54. package/dist/context-menu-IgLbIuth.cjs +1 -0
  55. package/dist/{controls-OfJWSEqC.js → controls-IS5qnRce.js} +20 -85
  56. package/dist/controls-L7DPvB0m.cjs +1 -0
  57. package/dist/core.cjs +1 -1
  58. package/dist/core.d.ts +7 -4
  59. package/dist/core.js +150 -75
  60. package/dist/{defaultTheme-D8B4-wHO.js → defaultTheme-4kA60XdB.js} +6 -8
  61. package/dist/defaultTheme-mrkeGFGI.cjs +1 -0
  62. package/dist/delete-page-modal-7KmP1elv.js +67 -0
  63. package/dist/delete-page-modal-SgfwvfNu.cjs +1 -0
  64. package/dist/dropdown-menu-El86_9Uo.js +124 -0
  65. package/dist/dropdown-menu-SiHzqWwZ.cjs +1 -0
  66. package/dist/email-blocks.cjs +1 -1
  67. package/dist/email-blocks.js +3 -292
  68. package/dist/email.cjs +1 -1
  69. package/dist/email.d.ts +5 -2
  70. package/dist/email.js +18 -37
  71. package/dist/{form-zKUMQFuB.js → form-0_RLz2TB.js} +12 -12
  72. package/dist/form-W58AVUdf.cjs +1 -0
  73. package/dist/hover-card-KUwpDkW8.cjs +1 -0
  74. package/dist/hover-card-q138xxXR.js +45 -0
  75. package/dist/{html-to-json-ngX9ef2u.js → html-to-json-2xtb7520.js} +41 -41
  76. package/dist/{html-to-json-efmv1pCj.cjs → html-to-json-uSnxl72F.cjs} +1 -1
  77. package/dist/iconBase-gbUAAO2L.cjs +1 -0
  78. package/dist/iconBase-h4DuR_XT.js +63 -0
  79. package/dist/index-9MmykVSc.cjs +1 -0
  80. package/dist/index-hElOGcFr.js +2200 -0
  81. package/dist/index-lDTsQp7h.js +188 -0
  82. package/dist/index-rq5Y9ZDy.cjs +1 -0
  83. package/dist/jsx-runtime-JYMCiFoE.cjs +27 -0
  84. package/dist/{jsx-runtime-WbnYoNE9.js → jsx-runtime-Sp0orL4X.js} +106 -109
  85. package/dist/label-KaP7MRrs.js +10 -0
  86. package/dist/label-tFm8HZdb.cjs +1 -0
  87. package/dist/lib.cjs +2 -2
  88. package/dist/lib.js +62 -66
  89. package/dist/link-WbcKdQ9k.cjs +1 -0
  90. package/dist/link-xuhP-4dN.js +196 -0
  91. package/dist/page-viewer-Hx5hxHKm.cjs +1 -0
  92. package/dist/{page-viewer-7AwzWRtB.js → page-viewer-NnOwmAmu.js} +44 -58
  93. package/dist/popover-a84pbVhQ.js +23 -0
  94. package/dist/popover-fKjgcRUx.cjs +1 -0
  95. package/dist/{project-general-setting-pYPoqvqd.js → project-general-setting-9ju3TDju.js} +35 -43
  96. package/dist/project-general-setting-FxkwjvJz.cjs +1 -0
  97. package/dist/{project-seo-setting-zXKOcjep.js → project-seo-setting-36CdUszM.js} +23 -40
  98. package/dist/project-seo-setting-RU7qiXxb.cjs +1 -0
  99. package/dist/render.cjs +1 -1
  100. package/dist/render.js +13 -14
  101. package/dist/scroll-area-FiHvy-TZ.cjs +1 -0
  102. package/dist/scroll-area-ewXbxc3n.js +30 -0
  103. package/dist/select-7bjg-rr9.cjs +1 -0
  104. package/dist/select-POGdEDHT.js +75 -0
  105. package/dist/separator-3Civ-6hb.cjs +1 -0
  106. package/dist/separator-SctTn0Qi.js +18 -0
  107. package/dist/single-page-detail-beY0MT1b.cjs +1 -0
  108. package/dist/{single-page-detail-q2TDxN-P.js → single-page-detail-hD1jKZ8k.js} +65 -73
  109. package/dist/skeleton-STeL9VrJ.cjs +1 -0
  110. package/dist/skeleton-lu8e7q2y.js +239 -0
  111. package/dist/studio.cjs +1 -1
  112. package/dist/studio.d.ts +5 -2
  113. package/dist/studio.js +24 -40
  114. package/dist/tabs-_4WbA1cc.cjs +1 -0
  115. package/dist/tabs-yQ3oGziM.js +106 -0
  116. package/dist/textarea-1kZEh7ki.cjs +1 -0
  117. package/dist/textarea-b2QvVhrK.js +73 -0
  118. package/dist/ui.cjs +1 -1
  119. package/dist/ui.js +364 -159
  120. package/dist/useAddBlock-8pxOEYIl.cjs +1 -0
  121. package/dist/useAddBlock-FEKFJNwQ.js +69 -0
  122. package/dist/useChaiExternalData-fkFgoS80.js +6 -0
  123. package/dist/useChaiExternalData-rwoAZ6uU.cjs +1 -0
  124. package/dist/useDarkMode-7i57segK.cjs +1 -0
  125. package/dist/useDarkMode-8VHJlYyE.js +23 -0
  126. package/dist/useSelectedBreakpoints-6NK5qd7T.js +10 -0
  127. package/dist/useSelectedBreakpoints-7ONXb-vN.cjs +1 -0
  128. package/dist/useStylingState-Iuj84yvc.js +186 -0
  129. package/dist/useStylingState-OIvJMV6p.cjs +1 -0
  130. package/dist/useUiLibraries-nCdauJ4N.cjs +1 -0
  131. package/dist/useUiLibraries-psyWFbNc.js +12 -0
  132. package/dist/useUpdateBlocksProps-Unn8lUyj.cjs +1 -0
  133. package/dist/useUpdateBlocksProps-vWcDp-P9.js +23 -0
  134. package/dist/utils-dze1SGvB.js +6 -0
  135. package/dist/utils-qK_SjzzV.cjs +1 -0
  136. package/dist/web-blocks.cjs +1 -6
  137. package/dist/web-blocks.js +3 -1153
  138. package/package.json +1 -1
  139. package/dist/AddBlocks-b0Vk6eqO.js +0 -206
  140. package/dist/AddBlocks-bgu08YJC.cjs +0 -1
  141. package/dist/BrandingOptions-AljW1cXz.cjs +0 -1
  142. package/dist/CanvasArea-dp1tzDkK.cjs +0 -55
  143. package/dist/Class-PoYusiA5.cjs +0 -1
  144. package/dist/CurrentPage-rWHgPomd.cjs +0 -1
  145. package/dist/Functions-7jnEwJyw.js +0 -15
  146. package/dist/Functions-N3yhPYKY.cjs +0 -1
  147. package/dist/ListTree-5n8U4-IF.cjs +0 -1
  148. package/dist/MODIFIERS-0g14w5RS.cjs +0 -1
  149. package/dist/PagesPanel-IkZjy0Gn.js +0 -64
  150. package/dist/PagesPanel-sBN51kKZ.cjs +0 -1
  151. package/dist/ProjectPanel-e98TJLfI.js +0 -85
  152. package/dist/ProjectPanel-lbQH31jc.cjs +0 -1
  153. package/dist/Settings-qytQoyTv.cjs +0 -1
  154. package/dist/SidePanels-YRIM1IPq.cjs +0 -1
  155. package/dist/Topbar-LUyDFBkK.js +0 -129
  156. package/dist/Topbar-NOSnWo7V.cjs +0 -1
  157. package/dist/UnsplashImages-f-ObKOC-.cjs +0 -1
  158. package/dist/UploadImages-oOnccvT9.cjs +0 -1
  159. package/dist/_commonjsHelpers-UyOWmZb0.js +0 -8
  160. package/dist/_commonjsHelpers-wDK0ZLPo.cjs +0 -1
  161. package/dist/add-page-modal-g3fd00P5.cjs +0 -1
  162. package/dist/add-page-modal-yQ6qL6Ui.js +0 -104
  163. package/dist/confirm-alert-3flAvzWH.js +0 -60
  164. package/dist/confirm-alert-LQsGNYz8.cjs +0 -1
  165. package/dist/controls-KK2oLIa8.cjs +0 -1
  166. package/dist/defaultTheme-7VqqhOcp.cjs +0 -1
  167. package/dist/delete-page-modal-iMmkPec0.js +0 -83
  168. package/dist/delete-page-modal-tzZmqGzE.cjs +0 -1
  169. package/dist/empty-slot-ZBlsQi6m.js +0 -15
  170. package/dist/empty-slot-nzYOgZuS.cjs +0 -1
  171. package/dist/form-LBHtTduy.cjs +0 -1
  172. package/dist/index--dUsFH1I.cjs +0 -1
  173. package/dist/index-HD1UKc4P.js +0 -3079
  174. package/dist/index-YpnaudSM.js +0 -63
  175. package/dist/index-bOWwCMRF.cjs +0 -206
  176. package/dist/index-e0c8PmRQ.js +0 -205
  177. package/dist/index-ecnGWzh9.cjs +0 -1
  178. package/dist/index-fvMaxES9.cjs +0 -1
  179. package/dist/index-gi1LIOCw.cjs +0 -1
  180. package/dist/index-m4WGov7e.js +0 -2202
  181. package/dist/index-uLtBNl55.js +0 -39503
  182. package/dist/jsx-runtime-Z_BpKhVy.cjs +0 -27
  183. package/dist/page-viewer-5gTszT-n.cjs +0 -1
  184. package/dist/project-general-setting-52CTYL_w.cjs +0 -1
  185. package/dist/project-seo-setting-jTweI1DX.cjs +0 -1
  186. package/dist/single-page-detail-jy2SPcp1.cjs +0 -1
@@ -0,0 +1,23 @@
1
+ import { memoize as n, has as o } from "lodash-es";
2
+ import { getBlockComponent as r } from "@chaibuilder/runtime";
3
+ const l = n((t, e) => {
4
+ if (!t)
5
+ return !0;
6
+ const c = r(t);
7
+ return c && o(c, "canAcceptBlock") ? c.canAcceptBlock(e) : !1;
8
+ }), s = n((t, e) => {
9
+ const c = r(e);
10
+ return c && o(c, "canBeNested") ? c.canBeNested(t) : !0;
11
+ }), u = n((t) => {
12
+ const e = r(t);
13
+ return e && o(e, "canDuplicate") ? e.canDuplicate() : !0;
14
+ }), f = n((t) => {
15
+ const e = r(t);
16
+ return e && o(e, "canDelete") ? e.canDelete() : !0;
17
+ });
18
+ export {
19
+ f as a,
20
+ l as b,
21
+ u as c,
22
+ s as d
23
+ };
@@ -0,0 +1 @@
1
+ "use strict";const a=require("./jsx-runtime-JYMCiFoE.cjs"),C=require("react"),n=require("./utils-qK_SjzzV.cjs"),j=require("@radix-ui/react-icons"),m=require("cmdk"),i=require("./tabs-_4WbA1cc.cjs");function h(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=h(C),p=s.forwardRef(({className:e,type:t,...o},d)=>a.jsxRuntimeExports.jsx("input",{type:t,className:n.cn("flex h-9 w-full rounded-md border border-border bg-background px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:d,...o}));p.displayName="Input";const r=s.forwardRef(({className:e,...t},o)=>a.jsxRuntimeExports.jsx(m.Command,{ref:o,className:n.cn("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));r.displayName=m.Command.displayName;const b=({children:e,...t})=>a.jsxRuntimeExports.jsx(i.Dialog,{...t,children:a.jsxRuntimeExports.jsx(i.DialogContent,{className:"overflow-hidden p-0",children:a.jsxRuntimeExports.jsx(r,{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})})}),c=s.forwardRef(({className:e,...t},o)=>a.jsxRuntimeExports.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[a.jsxRuntimeExports.jsx(j.MagnifyingGlassIcon,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),a.jsxRuntimeExports.jsx(m.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})]}));c.displayName=m.Command.Input.displayName;const u=s.forwardRef(({className:e,...t},o)=>a.jsxRuntimeExports.jsx(m.Command.List,{ref:o,className:n.cn("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));u.displayName=m.Command.List.displayName;const l=s.forwardRef((e,t)=>a.jsxRuntimeExports.jsx(m.Command.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));l.displayName=m.Command.Empty.displayName;const x=s.forwardRef(({className:e,...t},o)=>a.jsxRuntimeExports.jsx(m.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=m.Command.Group.displayName;const f=s.forwardRef(({className:e,...t},o)=>a.jsxRuntimeExports.jsx(m.Command.Separator,{ref:o,className:n.cn("-mx-1 h-px bg-border",e),...t}));f.displayName=m.Command.Separator.displayName;const g=s.forwardRef(({className:e,...t},o)=>a.jsxRuntimeExports.jsx(m.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}));g.displayName=m.Command.Item.displayName;const y=({className:e,...t})=>a.jsxRuntimeExports.jsx("span",{className:n.cn("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});y.displayName="CommandShortcut";exports.Command=r;exports.CommandDialog=b;exports.CommandEmpty=l;exports.CommandGroup=x;exports.CommandInput=c;exports.CommandItem=g;exports.CommandList=u;exports.CommandSeparator=f;exports.CommandShortcut=y;exports.Input=p;
@@ -0,0 +1,97 @@
1
+ import { j as o } from "./jsx-runtime-Sp0orL4X.js";
2
+ import * as t from "react";
3
+ import { c as r } from "./utils-dze1SGvB.js";
4
+ import { MagnifyingGlassIcon as i } from "@radix-ui/react-icons";
5
+ import { Command as d } from "cmdk";
6
+ import { D as p, b as l } from "./tabs-yQ3oGziM.js";
7
+ const c = t.forwardRef(({ className: e, type: a, ...s }, n) => /* @__PURE__ */ o.jsx(
8
+ "input",
9
+ {
10
+ type: a,
11
+ className: r(
12
+ "flex h-9 w-full rounded-md border border-border bg-background px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
13
+ e
14
+ ),
15
+ ref: n,
16
+ ...s
17
+ }
18
+ ));
19
+ c.displayName = "Input";
20
+ const m = t.forwardRef(({ className: e, ...a }, s) => /* @__PURE__ */ o.jsx(
21
+ d,
22
+ {
23
+ ref: s,
24
+ className: r(
25
+ "flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",
26
+ e
27
+ ),
28
+ ...a
29
+ }
30
+ ));
31
+ m.displayName = d.displayName;
32
+ const j = ({ children: e, ...a }) => /* @__PURE__ */ o.jsx(p, { ...a, children: /* @__PURE__ */ o.jsx(l, { className: "overflow-hidden p-0", children: /* @__PURE__ */ o.jsx(m, { 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 }) }) }), u = t.forwardRef(({ className: e, ...a }, s) => /* @__PURE__ */ o.jsxs("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
33
+ /* @__PURE__ */ o.jsx(i, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
34
+ /* @__PURE__ */ o.jsx(
35
+ d.Input,
36
+ {
37
+ ref: s,
38
+ className: r(
39
+ "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",
40
+ e
41
+ ),
42
+ ...a
43
+ }
44
+ )
45
+ ] }));
46
+ u.displayName = d.Input.displayName;
47
+ const f = t.forwardRef(({ className: e, ...a }, s) => /* @__PURE__ */ o.jsx(
48
+ d.List,
49
+ {
50
+ ref: s,
51
+ className: r("max-h-[300px] overflow-y-auto overflow-x-hidden", e),
52
+ ...a
53
+ }
54
+ ));
55
+ f.displayName = d.List.displayName;
56
+ const x = t.forwardRef((e, a) => /* @__PURE__ */ o.jsx(d.Empty, { ref: a, className: "py-6 text-center text-sm", ...e }));
57
+ x.displayName = d.Empty.displayName;
58
+ const g = t.forwardRef(({ className: e, ...a }, s) => /* @__PURE__ */ o.jsx(
59
+ d.Group,
60
+ {
61
+ ref: s,
62
+ className: r(
63
+ "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",
64
+ e
65
+ ),
66
+ ...a
67
+ }
68
+ ));
69
+ g.displayName = d.Group.displayName;
70
+ const h = t.forwardRef(({ className: e, ...a }, s) => /* @__PURE__ */ o.jsx(d.Separator, { ref: s, className: r("-mx-1 h-px bg-border", e), ...a }));
71
+ h.displayName = d.Separator.displayName;
72
+ const y = t.forwardRef(({ className: e, ...a }, s) => /* @__PURE__ */ o.jsx(
73
+ d.Item,
74
+ {
75
+ ref: s,
76
+ className: r(
77
+ "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",
78
+ e
79
+ ),
80
+ ...a
81
+ }
82
+ ));
83
+ y.displayName = d.Item.displayName;
84
+ const N = ({ className: e, ...a }) => /* @__PURE__ */ o.jsx("span", { className: r("ml-auto text-xs tracking-widest text-muted-foreground", e), ...a });
85
+ N.displayName = "CommandShortcut";
86
+ export {
87
+ m as C,
88
+ c as I,
89
+ j as a,
90
+ u as b,
91
+ f as c,
92
+ x as d,
93
+ g as e,
94
+ y as f,
95
+ N as g,
96
+ h
97
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-JYMCiFoE.cjs"),c=require("./skeleton-STeL9VrJ.cjs"),r=require("./alert-dialog-P9xMMB6C.cjs");require("react");require("jotai");require("lodash-es");require("@radix-ui/react-slot");require("class-variance-authority");require("./utils-qK_SjzzV.cjs");require("clsx");require("tailwind-merge");require("@radix-ui/react-tooltip");require("@radix-ui/react-icons");require("@radix-ui/react-toast");require("@radix-ui/react-alert-dialog");const a=({open:s,onCancel:n=()=>{},onConfirm:l,title:u,description:i,disabled:t,cancelText:o="Discard",confirmText:x="Save"})=>e.jsxRuntimeExports.jsx(r.AlertDialog,{open:s,children:e.jsxRuntimeExports.jsxs(r.AlertDialogContent,{children:[e.jsxRuntimeExports.jsx(r.AlertDialogTitle,{children:u}),i&&e.jsxRuntimeExports.jsx(r.AlertDialogDescription,{children:i}),e.jsxRuntimeExports.jsxs("div",{className:"flex items-center justify-end gap-x-3",children:[e.jsxRuntimeExports.jsx(r.AlertDialogCancel,{disabled:t,onClick:n,children:o}),e.jsxRuntimeExports.jsx(c.Button,{variant:"default",onClick:l,disabled:t,children:x})]})]})});exports.default=a;
@@ -0,0 +1,36 @@
1
+ import { j as r } from "./jsx-runtime-Sp0orL4X.js";
2
+ import { B as n } from "./skeleton-lu8e7q2y.js";
3
+ import { A as p, b as c, e as x, f as j, h as d } from "./alert-dialog-rypfO5ly.js";
4
+ import "react";
5
+ import "jotai";
6
+ import "lodash-es";
7
+ import "@radix-ui/react-slot";
8
+ import "class-variance-authority";
9
+ import "./utils-dze1SGvB.js";
10
+ import "clsx";
11
+ import "tailwind-merge";
12
+ import "@radix-ui/react-tooltip";
13
+ import "@radix-ui/react-icons";
14
+ import "@radix-ui/react-toast";
15
+ import "@radix-ui/react-alert-dialog";
16
+ const T = ({
17
+ open: o,
18
+ onCancel: e = () => {
19
+ },
20
+ onConfirm: l,
21
+ title: s,
22
+ description: i,
23
+ disabled: t,
24
+ cancelText: a = "Discard",
25
+ confirmText: m = "Save"
26
+ }) => /* @__PURE__ */ r.jsx(p, { open: o, children: /* @__PURE__ */ r.jsxs(c, { children: [
27
+ /* @__PURE__ */ r.jsx(x, { children: s }),
28
+ i && /* @__PURE__ */ r.jsx(j, { children: i }),
29
+ /* @__PURE__ */ r.jsxs("div", { className: "flex items-center justify-end gap-x-3", children: [
30
+ /* @__PURE__ */ r.jsx(d, { disabled: t, onClick: e, children: a }),
31
+ /* @__PURE__ */ r.jsx(n, { variant: "default", onClick: l, disabled: t, children: m })
32
+ ] })
33
+ ] }) });
34
+ export {
35
+ T as default
36
+ };
@@ -0,0 +1,122 @@
1
+ import { j as o } from "./jsx-runtime-Sp0orL4X.js";
2
+ import * as r from "react";
3
+ import * as e from "@radix-ui/react-context-menu";
4
+ import { ChevronRightIcon as l, CheckIcon as c, DotFilledIcon as m } from "@radix-ui/react-icons";
5
+ import { c as d } from "./utils-dze1SGvB.js";
6
+ const M = e.Root, R = e.Trigger, I = e.Group, v = e.Portal, S = e.Sub, k = e.RadioGroup, u = r.forwardRef(({ className: t, inset: a, children: s, ...n }, i) => /* @__PURE__ */ o.jsxs(
7
+ e.SubTrigger,
8
+ {
9
+ ref: i,
10
+ className: d(
11
+ "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",
12
+ a && "pl-8",
13
+ t
14
+ ),
15
+ ...n,
16
+ children: [
17
+ s,
18
+ /* @__PURE__ */ o.jsx(l, { className: "ml-auto h-4 w-4" })
19
+ ]
20
+ }
21
+ ));
22
+ u.displayName = e.SubTrigger.displayName;
23
+ const p = r.forwardRef(({ className: t, ...a }, s) => /* @__PURE__ */ o.jsx(
24
+ e.SubContent,
25
+ {
26
+ ref: s,
27
+ className: d(
28
+ "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",
29
+ t
30
+ ),
31
+ ...a
32
+ }
33
+ ));
34
+ p.displayName = e.SubContent.displayName;
35
+ const f = r.forwardRef(({ className: t, ...a }, s) => /* @__PURE__ */ o.jsx(e.Portal, { children: /* @__PURE__ */ o.jsx(
36
+ e.Content,
37
+ {
38
+ ref: s,
39
+ className: d(
40
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md 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",
41
+ t
42
+ ),
43
+ ...a
44
+ }
45
+ ) }));
46
+ f.displayName = e.Content.displayName;
47
+ const x = r.forwardRef(({ className: t, inset: a, ...s }, n) => /* @__PURE__ */ o.jsx(
48
+ e.Item,
49
+ {
50
+ ref: n,
51
+ className: d(
52
+ "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",
53
+ a && "pl-8",
54
+ t
55
+ ),
56
+ ...s
57
+ }
58
+ ));
59
+ x.displayName = e.Item.displayName;
60
+ const b = r.forwardRef(({ className: t, children: a, checked: s, ...n }, i) => /* @__PURE__ */ o.jsxs(
61
+ e.CheckboxItem,
62
+ {
63
+ ref: i,
64
+ className: d(
65
+ "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",
66
+ t
67
+ ),
68
+ checked: s,
69
+ ...n,
70
+ children: [
71
+ /* @__PURE__ */ o.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ o.jsx(e.ItemIndicator, { children: /* @__PURE__ */ o.jsx(c, { className: "h-4 w-4" }) }) }),
72
+ a
73
+ ]
74
+ }
75
+ ));
76
+ b.displayName = e.CheckboxItem.displayName;
77
+ const g = r.forwardRef(({ className: t, children: a, ...s }, n) => /* @__PURE__ */ o.jsxs(
78
+ e.RadioItem,
79
+ {
80
+ ref: n,
81
+ className: d(
82
+ "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",
83
+ t
84
+ ),
85
+ ...s,
86
+ children: [
87
+ /* @__PURE__ */ o.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ o.jsx(e.ItemIndicator, { children: /* @__PURE__ */ o.jsx(m, { className: "h-4 w-4 fill-current" }) }) }),
88
+ a
89
+ ]
90
+ }
91
+ ));
92
+ g.displayName = e.RadioItem.displayName;
93
+ const h = r.forwardRef(({ className: t, inset: a, ...s }, n) => /* @__PURE__ */ o.jsx(
94
+ e.Label,
95
+ {
96
+ ref: n,
97
+ className: d("px-2 py-1.5 text-sm font-semibold text-foreground", a && "pl-8", t),
98
+ ...s
99
+ }
100
+ ));
101
+ h.displayName = e.Label.displayName;
102
+ const N = r.forwardRef(({ className: t, ...a }, s) => /* @__PURE__ */ o.jsx(e.Separator, { ref: s, className: d("-mx-1 my-1 h-px bg-border", t), ...a }));
103
+ N.displayName = e.Separator.displayName;
104
+ const C = ({ className: t, ...a }) => /* @__PURE__ */ o.jsx("span", { className: d("ml-auto text-xs tracking-widest text-muted-foreground", t), ...a });
105
+ C.displayName = "ContextMenuShortcut";
106
+ export {
107
+ M as C,
108
+ R as a,
109
+ f as b,
110
+ x as c,
111
+ b as d,
112
+ g as e,
113
+ h as f,
114
+ N as g,
115
+ C as h,
116
+ I as i,
117
+ v as j,
118
+ S as k,
119
+ p as l,
120
+ u as m,
121
+ k as n
122
+ };
@@ -0,0 +1 @@
1
+ "use strict";const a=require("./jsx-runtime-JYMCiFoE.cjs"),R=require("react"),M=require("@radix-ui/react-context-menu"),c=require("@radix-ui/react-icons"),r=require("./utils-qK_SjzzV.cjs");function u(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(o,n,s.get?s:{enumerable:!0,get:()=>t[n]})}}return o.default=t,Object.freeze(o)}const i=u(R),e=u(M),h=e.Root,N=e.Trigger,y=e.Group,w=e.Portal,I=e.Sub,S=e.RadioGroup,l=i.forwardRef(({className:t,inset:o,children:n,...s},d)=>a.jsxRuntimeExports.jsxs(e.SubTrigger,{ref:d,className:r.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",o&&"pl-8",t),...s,children:[n,a.jsxRuntimeExports.jsx(c.ChevronRightIcon,{className:"ml-auto h-4 w-4"})]}));l.displayName=e.SubTrigger.displayName;const m=i.forwardRef(({className:t,...o},n)=>a.jsxRuntimeExports.jsx(e.SubContent,{ref:n,className:r.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",t),...o}));m.displayName=e.SubContent.displayName;const x=i.forwardRef(({className:t,...o},n)=>a.jsxRuntimeExports.jsx(e.Portal,{children:a.jsxRuntimeExports.jsx(e.Content,{ref:n,className:r.cn("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md 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",t),...o})}));x.displayName=e.Content.displayName;const p=i.forwardRef(({className:t,inset:o,...n},s)=>a.jsxRuntimeExports.jsx(e.Item,{ref:s,className:r.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",o&&"pl-8",t),...n}));p.displayName=e.Item.displayName;const f=i.forwardRef(({className:t,children:o,checked:n,...s},d)=>a.jsxRuntimeExports.jsxs(e.CheckboxItem,{ref:d,className:r.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",t),checked:n,...s,children:[a.jsxRuntimeExports.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsxRuntimeExports.jsx(e.ItemIndicator,{children:a.jsxRuntimeExports.jsx(c.CheckIcon,{className:"h-4 w-4"})})}),o]}));f.displayName=e.CheckboxItem.displayName;const b=i.forwardRef(({className:t,children:o,...n},s)=>a.jsxRuntimeExports.jsxs(e.RadioItem,{ref:s,className:r.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",t),...n,children:[a.jsxRuntimeExports.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsxRuntimeExports.jsx(e.ItemIndicator,{children:a.jsxRuntimeExports.jsx(c.DotFilledIcon,{className:"h-4 w-4 fill-current"})})}),o]}));b.displayName=e.RadioItem.displayName;const C=i.forwardRef(({className:t,inset:o,...n},s)=>a.jsxRuntimeExports.jsx(e.Label,{ref:s,className:r.cn("px-2 py-1.5 text-sm font-semibold text-foreground",o&&"pl-8",t),...n}));C.displayName=e.Label.displayName;const g=i.forwardRef(({className:t,...o},n)=>a.jsxRuntimeExports.jsx(e.Separator,{ref:n,className:r.cn("-mx-1 my-1 h-px bg-border",t),...o}));g.displayName=e.Separator.displayName;const j=({className:t,...o})=>a.jsxRuntimeExports.jsx("span",{className:r.cn("ml-auto text-xs tracking-widest text-muted-foreground",t),...o});j.displayName="ContextMenuShortcut";exports.ContextMenu=h;exports.ContextMenuCheckboxItem=f;exports.ContextMenuContent=x;exports.ContextMenuGroup=y;exports.ContextMenuItem=p;exports.ContextMenuLabel=C;exports.ContextMenuPortal=w;exports.ContextMenuRadioGroup=S;exports.ContextMenuRadioItem=b;exports.ContextMenuSeparator=g;exports.ContextMenuShortcut=j;exports.ContextMenuSub=I;exports.ContextMenuSubContent=m;exports.ContextMenuSubTrigger=l;exports.ContextMenuTrigger=N;
@@ -1,6 +1,5 @@
1
- import { get as e, omit as t } from "lodash-es";
2
- const a = "#styles:";
3
- const r = (i) => ({
1
+ import { get as e, omit as n } from "lodash-es";
2
+ const d = (i) => ({
4
3
  type: "singular",
5
4
  default: i.default || "",
6
5
  binding: e(i, "binding", !0),
@@ -9,12 +8,12 @@ const r = (i) => ({
9
8
  required: i.required || !1,
10
9
  schema: {
11
10
  type: "string",
12
- ...t(i, ["i18n", "required"])
11
+ ...n(i, ["i18n", "required"])
13
12
  },
14
13
  uiSchema: {
15
14
  "ui:placeholder": i.placeholder || "Enter here"
16
15
  }
17
- }), u = (i) => ({
16
+ }), a = (i) => ({
18
17
  type: "singular",
19
18
  default: i.default || "",
20
19
  binding: e(i, "binding", !0),
@@ -23,7 +22,7 @@ const r = (i) => ({
23
22
  required: i.required || !1,
24
23
  schema: {
25
24
  type: "string",
26
- ...t(i, ["i18n", "required", "rows"])
25
+ ...n(i, ["i18n", "required", "rows"])
27
26
  },
28
27
  uiSchema: {
29
28
  "ui:widget": "textarea",
@@ -32,7 +31,7 @@ const r = (i) => ({
32
31
  rows: i.rows || 4
33
32
  }
34
33
  }
35
- }), l = (i) => ({
34
+ }), u = (i) => ({
36
35
  type: "singular",
37
36
  i18n: i.i18n || !1,
38
37
  default: i.default || !1,
@@ -40,13 +39,13 @@ const r = (i) => ({
40
39
  binding: e(i, "binding", !0),
41
40
  schema: {
42
41
  type: "boolean",
43
- ...t(i, ["i18n", "required"])
42
+ ...n(i, ["i18n", "required"])
44
43
  },
45
44
  uiSchema: {
46
45
  "ui:title": i.title || "Select Item",
47
46
  "ui:description": ""
48
47
  }
49
- }), s = (i) => ({
48
+ }), l = (i) => ({
50
49
  type: "singular",
51
50
  default: i.default || "",
52
51
  binding: e(i, "binding", !0),
@@ -55,7 +54,7 @@ const r = (i) => ({
55
54
  required: i.required || !1,
56
55
  schema: {
57
56
  type: "number",
58
- ...t(i, ["i18n", "required"])
57
+ ...n(i, ["i18n", "required"])
59
58
  },
60
59
  uiSchema: {}
61
60
  }), g = (i) => ({
@@ -67,8 +66,8 @@ const r = (i) => ({
67
66
  dataType: "string",
68
67
  schema: {
69
68
  type: "string",
70
- ...t(i, ["i18n", "required", "options", "binding"]),
71
- oneOf: i.options.map((n) => ({ const: n.value, title: n.title }))
69
+ ...n(i, ["i18n", "required", "options", "binding"]),
70
+ oneOf: i.options.map((t) => ({ const: t.value, title: t.title }))
72
71
  },
73
72
  uiSchema: {
74
73
  "ui:widget": "select"
@@ -81,26 +80,12 @@ const r = (i) => ({
81
80
  dataType: "string",
82
81
  schema: {
83
82
  type: "string",
84
- ...t(i, ["i18n", "required"])
83
+ ...n(i, ["i18n", "required"])
85
84
  },
86
85
  uiSchema: {
87
86
  "ui:widget": "color"
88
87
  }
89
- });
90
- const y = (i) => ({
91
- type: "singular",
92
- default: i.default || "",
93
- i18n: i.i18n || !1,
94
- binding: e(i, "binding", !0),
95
- dataType: "string",
96
- schema: {
97
- type: "string",
98
- ...t(i, ["i18n", "required"])
99
- },
100
- uiSchema: {
101
- "ui:widget": "richtext"
102
- }
103
- }), m = (i) => ({
88
+ }), s = (i) => ({
104
89
  type: "model",
105
90
  title: i.title,
106
91
  dataType: "object",
@@ -108,51 +93,6 @@ const y = (i) => ({
108
93
  binding: e(i, "binding", !0),
109
94
  properties: i.properties
110
95
  }), o = (i) => ({
111
- type: "list",
112
- itemProperties: i.itemProperties,
113
- binding: e(i, "binding", !0),
114
- title: i.title,
115
- dataType: "array",
116
- default: i.default || [],
117
- itemTitle: i.getItemLabel ? i.getItemLabel({}) : () => ""
118
- }), c = (i) => ({
119
- type: "styles",
120
- binding: !1,
121
- default: `${a},${i.default || ""}`,
122
- presets: i.presets || {}
123
- }), b = (i) => ({
124
- default: i.default || "",
125
- binding: e(i, "binding", !0),
126
- type: "singular",
127
- i18n: i.i18n || !1,
128
- dataType: "string",
129
- schema: {
130
- type: "string",
131
- title: "Icon",
132
- default: i.default || ""
133
- },
134
- uiSchema: {
135
- "ui:widget": "icon"
136
- }
137
- }), f = (i) => ({
138
- default: i.default,
139
- type: "singular",
140
- binding: e(i, "binding", !0),
141
- dataType: "object",
142
- i18n: i.i18n || !1,
143
- schema: {
144
- type: "object",
145
- ...i || {},
146
- properties: {
147
- type: { type: "string" },
148
- href: { type: "string" },
149
- target: { type: "string" }
150
- }
151
- },
152
- uiSchema: {
153
- "ui:field": "link"
154
- }
155
- }), h = (i) => ({
156
96
  type: "singular",
157
97
  default: i.default || "",
158
98
  binding: e(i, "binding", !0),
@@ -160,24 +100,19 @@ const y = (i) => ({
160
100
  i18n: i.i18n || !1,
161
101
  schema: {
162
102
  type: "string",
163
- ...t(i, ["i18n", "required"])
103
+ ...n(i, ["i18n", "required"])
164
104
  },
165
105
  uiSchema: {
166
106
  "ui:widget": "image"
167
107
  }
168
108
  });
169
109
  export {
170
- c as S,
171
- b as T,
172
- m as b,
173
- s as c,
110
+ s as b,
111
+ l as c,
174
112
  p as f,
175
- u as g,
176
- o as h,
177
- y as m,
178
- h as o,
179
- f as q,
180
- l as r,
113
+ a as g,
114
+ o,
115
+ u as r,
181
116
  g as s,
182
- r as u
117
+ d as u
183
118
  };
@@ -0,0 +1 @@
1
+ "use strict";const e=require("lodash-es"),n=i=>({type:"singular",default:i.default||"",binding:e.get(i,"binding",!0),i18n:i.i18n||!1,dataType:"string",required:i.required||!1,schema:{type:"string",...e.omit(i,["i18n","required"])},uiSchema:{"ui:placeholder":i.placeholder||"Enter here"}}),r=i=>({type:"singular",default:i.default||"",binding:e.get(i,"binding",!0),dataType:"string",i18n:i.i18n||!1,required:i.required||!1,schema:{type:"string",...e.omit(i,["i18n","required","rows"])},uiSchema:{"ui:widget":"textarea","ui:placeholder":i.placeholder||"Enter here","ui:options":{rows:i.rows||4}}}),d=i=>({type:"singular",i18n:i.i18n||!1,default:i.default||!1,dataType:"boolean",binding:e.get(i,"binding",!0),schema:{type:"boolean",...e.omit(i,["i18n","required"])},uiSchema:{"ui:title":i.title||"Select Item","ui:description":""}}),a=i=>({type:"singular",default:i.default||"",binding:e.get(i,"binding",!0),dataType:"number",i18n:i.i18n||!1,required:i.required||!1,schema:{type:"number",...e.omit(i,["i18n","required"])},uiSchema:{}}),u=i=>({type:"singular",default:i.default||"",binding:e.get(i,"binding",!0),i18n:i.i18n||!1,required:i.required||!1,dataType:"string",schema:{type:"string",...e.omit(i,["i18n","required","options","binding"]),oneOf:i.options.map(t=>({const:t.value,title:t.title}))},uiSchema:{"ui:widget":"select"}}),g=i=>({type:"singular",i18n:i.i18n||!1,default:i.default||"",binding:e.get(i,"binding",!0),dataType:"string",schema:{type:"string",...e.omit(i,["i18n","required"])},uiSchema:{"ui:widget":"color"}}),l=i=>({type:"model",title:i.title,dataType:"object",default:i.default||{},binding:e.get(i,"binding",!0),properties:i.properties}),s=i=>({type:"singular",default:i.default||"",binding:e.get(i,"binding",!0),dataType:"string",i18n:i.i18n||!1,schema:{type:"string",...e.omit(i,["i18n","required"])},uiSchema:{"ui:widget":"image"}});exports.b=l;exports.c=a;exports.f=g;exports.g=r;exports.o=s;exports.r=d;exports.s=u;exports.u=n;
package/dist/core.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index-bOWwCMRF.cjs"),e=require("./index-fvMaxES9.cjs"),r=require("react-i18next");require("i18next");require("./jsx-runtime-Z_BpKhVy.cjs");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("react");require("clsx");require("react-dom");require("@radix-ui/react-scroll-area");require("@floating-ui/react-dom");require("jotai");require("flagged");require("lodash-es");require("./Functions-N3yhPYKY.cjs");require("tailwind-merge");require("@radix-ui/react-icons");require("react-hotkeys-hook");require("@chaibuilder/runtime");require("@react-hookz/web");require("./STRINGS-gPz7CUOk.cjs");require("./MODIFIERS-0g14w5RS.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("./Class-PoYusiA5.cjs");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-quill");exports.ChaiBuilderEditor=s.ChaiBuilderEditor;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.useBrandingOptions=e.useBrandingOptions;exports.useBuilderProp=e.useBuilderProp;exports.useBuilderReset=e.useBuilderReset;exports.useCanvasWidth=e.useCanvasWidth;exports.useCanvasZoom=e.useCanvasZoom;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.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;Object.defineProperty(exports,"useTranslation",{enumerable:!0,get:()=>r.useTranslation});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./ChaiBuilderEditor-m30yoOgJ.cjs"),u=require("jotai"),c=require("react"),a=require("lodash-es"),S=require("./useAddBlock-8pxOEYIl.cjs"),n=require("./useStylingState-OIvJMV6p.cjs"),k=require("./useDarkMode-7i57segK.cjs"),p=require("./useSelectedBreakpoints-7ONXb-vN.cjs"),g=require("./skeleton-STeL9VrJ.cjs"),P=require("react-i18next"),y=require("./useUiLibraries-nCdauJ4N.cjs"),C=require("./useUpdateBlocksProps-Unn8lUyj.cjs");require("./jsx-runtime-JYMCiFoE.cjs");require("./MODIFIERS-o1p3VnpS.cjs");require("clsx");require("@radix-ui/react-scroll-area");require("react-dom");require("@floating-ui/react-dom");require("i18next");require("flagged");require("./Functions-Hvon6AMZ.cjs");require("tailwind-merge");require("@radix-ui/react-icons");require("react-hotkeys-hook");require("@react-hookz/web");require("@chaibuilder/runtime");require("./block-helpers-OKHmRRol.cjs");require("./Controls-ky25Ebo3.cjs");require("./STRINGS-gPz7CUOk.cjs");require("./Class-eieto7e-.cjs");require("@radix-ui/react-slot");require("class-variance-authority");require("./utils-qK_SjzzV.cjs");require("@radix-ui/react-tooltip");require("@radix-ui/react-toast");const m=u.atom([]),A=()=>{const[s,e]=u.useAtom(m),r=u.useSetAtom(B),l=c.useCallback(o=>{e(o),r([])},[e,r]);return[s,l]},B=u.atom([]),I=()=>{const[s,e]=u.useAtom(B),r=u.useSetAtom(m),l=c.useCallback(o=>{e(o),r([])},[e,r]);return[s,l]},v=u.atom([]),M=()=>{const[s,e]=u.useAtom(v),r=c.useCallback(l=>{e(o=>a.includes(o,l)?a.without(o,l):[...o,l])},[e]);return[s,e,r]},b=()=>{const s=u.useAtomValue(t.presentBlocksAtom);return c.useCallback((e,r)=>{const l=a.map(s,o=>(a.includes(e,a.get(o,"_id"))&&a.set(o,"_parent",r),o));console.log("newBlocks",l)},[s])},h=()=>{console.warn("usePasteBlocks is not implemented");const s=u.useAtomValue(B),[e,r]=A(),l=t.useDuplicateBlocks(),o=b();return{canPaste:c.useMemo(()=>e.length>0||s.length>0,[s,e]),pasteBlocks:c.useCallback(i=>{a.isEmpty(s)?o(e,i):l(s,i),r(()=>[])},[e,s,l,o,r])}},q={name:"",props:{},modalProps:{},backdropClose:!0},R=u.atom(q),w=()=>{const[s,e]=u.useAtom(R),r=c.useCallback((o,d={},i={})=>{e({name:o,props:d,modalProps:i})},[e]),l=c.useCallback((...o)=>{a.get(s,"props.onClose",()=>{})(...o),e(q)},[e,s]);return{activeModal:s,openModal:r,closeModal:l}},D=()=>(console.warn("useAllBlocks is deprecated, use useBlocksStore() instead"),u.useAtomValue(t.presentBlocksAtom)),T=()=>u.useAtomValue(t.readOnlyModeAtom),U=u.atom(""),f=u.atom(null),O=()=>u.useAtom(U),E=()=>u.useAtom(f),H=()=>{const[s,e]=c.useState(null),r=c.useCallback(async l=>{if(!(navigator!=null&&navigator.clipboard))return console.warn("Clipboard not supported"),!1;try{return await navigator.clipboard.writeText(l),e(l),!0}catch(o){return console.warn("Copy failed",o),e(null),!1}},[]);return[s,r]};exports.ChaiBuilderEditor=t.ChaiBuilderEditor;exports.useBlocksStore=t.useBlocksStore;exports.useBrandingOptions=t.useBrandingOptions;exports.useBuilderReset=t.useBuilderReset;exports.useCurrentPage=t.useCurrentPage;exports.useDuplicateBlocks=t.useDuplicateBlocks;exports.useGetPageData=t.useGetPageData;exports.useHighlightBlockId=t.useHighlightBlockId;exports.usePreviewMode=t.usePreviewMode;exports.useRemoveBlocks=t.useRemoveBlocks;exports.useSavePage=t.useSavePage;exports.useSelectedBlock=t.useSelectedBlock;exports.useSelectedBlockIds=t.useSelectedBlockIds;exports.useSelectedBlocksDisplayChild=t.useSelectedBlocksDisplayChild;exports.useSelectedStylingBlocks=t.useSelectedStylingBlocks;exports.useUndoManager=t.useUndoManager;exports.useAddBlock=S.useAddBlock;exports.useAddClassesToBlocks=n.useAddClassesToBlocks;exports.useRemoveClassesFromBlocks=n.useRemoveClassesFromBlocks;exports.useSelectedBlockAllClasses=n.useSelectedBlockAllClasses;exports.useSelectedBlockCurrentClasses=n.useSelectedBlockCurrentClasses;exports.useStylingState=n.useStylingState;exports.useCanvasWidth=k.useCanvasWidth;exports.useDarkMode=k.useDarkMode;exports.useStylingBreakpoint=k.useStylingBreakpoint;exports.useCanvasZoom=p.useCanvasZoom;exports.useSelectedBreakpoints=p.useSelectedBreakpoints;exports.useBuilderProp=g.useBuilderProp;Object.defineProperty(exports,"useTranslation",{enumerable:!0,get:()=>P.useTranslation});exports.useUILibraryBlocks=y.useUILibraryBlocks;exports.useUpdateBlocksProps=C.useUpdateBlocksProps;exports.useUpdateBlocksPropsRealtime=C.useUpdateBlocksPropsRealtime;exports.useActiveModal=w;exports.useActivePanel=O;exports.useAddBlockParent=E;exports.useAllBlocks=D;exports.useCopyBlockIds=I;exports.useCopyToClipboard=H;exports.useCutBlockIds=A;exports.useHiddenBlockIds=M;exports.usePasteBlocks=h;exports.useReadOnlyMode=T;
package/dist/core.d.ts CHANGED
@@ -39,6 +39,7 @@ export declare type ChaiBlock = {
39
39
  export declare const ChaiBuilderEditor: (props: ChaiBuilderEditorProps) => JSX_2.Element;
40
40
 
41
41
  export declare interface ChaiBuilderEditorProps {
42
+ hideSaveButton?: boolean;
42
43
  filterChaiBlock?: (block: any) => boolean;
43
44
  showDebugLogs?: boolean;
44
45
  autoSaveSupport?: boolean;
@@ -76,7 +77,7 @@ export declare interface ChaiBuilderEditorProps {
76
77
  onSave?: ({ blocks, providers }: SavePageData) => Promise<boolean | Error>;
77
78
  brandingOptions?: Record<string, string>;
78
79
  onSaveBrandingOptions?: (brandingOptions: Record<string, any>) => Promise<boolean | Error>;
79
- onSyncStatusChange?: (syncStatus: "UNSAVED" | "SAVED") => void;
80
+ onSaveStateChange?: (syncStatus: "UNSAVED" | "SAVED" | "SAVING") => void;
80
81
  previewComponent?: ReactComponentType;
81
82
  sideBarComponents?: {
82
83
  bottom?: ReactComponentType[];
@@ -128,7 +129,9 @@ declare type DataProvider = {
128
129
  declare type ExcludedBuilderProps = "blocks" | "subPages" | "brandingOptions" | "dataProviders";
129
130
 
130
131
  declare type OutlineMenuItem = {
131
- item: (blockId: string) => ReactNode;
132
+ item: React_2.ComponentType<{
133
+ blockId: string;
134
+ }>;
132
135
  tooltip: string | ReactNode;
133
136
  };
134
137
 
@@ -255,8 +258,8 @@ export declare const useRemoveClassesFromBlocks: () => Function;
255
258
 
256
259
  export declare const useSavePage: () => {
257
260
  savePage: ThrottledFunction<() => Promise<boolean>>;
258
- syncState: "UNSAVED" | "SAVED" | "SAVING";
259
- setSyncState: (args_0: "UNSAVED" | "SAVED" | "SAVING" | ((prev: "UNSAVED" | "SAVED" | "SAVING") => "UNSAVED" | "SAVED" | "SAVING")) => void;
261
+ saveState: "UNSAVED" | "SAVED" | "SAVING";
262
+ setSaveState: (args_0: "UNSAVED" | "SAVED" | "SAVING" | ((prev: "UNSAVED" | "SAVED" | "SAVING") => "UNSAVED" | "SAVED" | "SAVING")) => void;
260
263
  };
261
264
 
262
265
  /**