@chaibuilder/sdk 1.2.16 → 1.2.18

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 (108) hide show
  1. package/README.md +6 -4
  2. package/dist/AddBlocks-5Q5w5lPJ.cjs +1 -0
  3. package/dist/{AddBlocks-TBFBvBvo.js → AddBlocks-uCdu9Xpr.js} +81 -81
  4. package/dist/{BrandingOptions-t_MjeHSM.js → BrandingOptions-JbHRN7V5.js} +18 -19
  5. package/dist/BrandingOptions-xrGQI1Kn.cjs +1 -0
  6. package/dist/{CanvasArea-ZYC8QbQB.js → CanvasArea-aWzbzB9p.js} +89 -95
  7. package/dist/{CanvasArea-oTylYgH9.cjs → CanvasArea-oUIvLfdq.cjs} +3 -3
  8. package/dist/{Class-17XFhL48.js → Class-3k8xjeiM.js} +1 -1
  9. package/dist/{Class-5ARpH_Tu.cjs → Class-MmCxz2Ay.cjs} +1 -1
  10. package/dist/{CurrentPage-4vC6olJo.js → CurrentPage-AlOLPG4o.js} +16 -16
  11. package/dist/CurrentPage-atmd8UrZ.cjs +1 -0
  12. package/dist/MODIFIERS-9EwxLM8V.cjs +1 -0
  13. package/dist/{MODIFIERS-RiXS5Mn1.js → MODIFIERS-WQdaNvb8.js} +5 -4
  14. package/dist/{Layers-m61dThGR.js → Outline-oGoAdnBw.js} +153 -145
  15. package/dist/Outline-uMUTwN-R.cjs +1 -0
  16. package/dist/{PagesPanel-v3KV_vfG.js → PagesPanel-VbSQHEu_.js} +10 -10
  17. package/dist/PagesPanel-nN3QUwXp.cjs +1 -0
  18. package/dist/ProjectPanel-UIEFhref.cjs +1 -0
  19. package/dist/{ProjectPanel-xsUuVX64.js → ProjectPanel-fqux215P.js} +8 -8
  20. package/dist/Settings-8qUW0Iow.cjs +1 -0
  21. package/dist/{Settings-ZNxfF14G.js → Settings-IhWI1ice.js} +293 -293
  22. package/dist/SidePanels-cOHgPE9y.cjs +1 -0
  23. package/dist/SidePanels-lMCXrchR.js +389 -0
  24. package/dist/Topbar-DYiisBtw.js +129 -0
  25. package/dist/Topbar-vLD-rWl5.cjs +1 -0
  26. package/dist/{UnsplashImages-SrxA-yNu.cjs → UnsplashImages-1JWfKlBc.cjs} +1 -1
  27. package/dist/{UnsplashImages-ppQXZ28F.js → UnsplashImages-lGLcqo4M.js} +13 -13
  28. package/dist/{UploadImages-IKR4oX2k.js → UploadImages-06m6vjbL.js} +35 -31
  29. package/dist/UploadImages-T4MYMOhW.cjs +1 -0
  30. package/dist/{add-page-modal-pc5-Yw4C.js → add-page-modal-mEbIXSKX.js} +13 -12
  31. package/dist/add-page-modal-niwhffYL.cjs +1 -0
  32. package/dist/{confirm-alert-QKtbNbWz.js → confirm-alert-YETlIRpE.js} +5 -5
  33. package/dist/{confirm-alert-uV_PtYc3.cjs → confirm-alert-ZpEIxh3X.cjs} +1 -1
  34. package/dist/controls-Dy1qa8Dc.cjs +1 -0
  35. package/dist/{empty-slot-5FRrRq1E.js → controls-XPXGHKht.js} +50 -61
  36. package/dist/core.cjs +1 -1
  37. package/dist/core.d.ts +18 -3
  38. package/dist/core.js +47 -53
  39. package/dist/{defaultTheme-IH19g4fv.cjs → defaultTheme-1XwPZT2b.cjs} +1 -1
  40. package/dist/{defaultTheme-YY8mlQS3.js → defaultTheme-s0cpA5Oy.js} +1 -1
  41. package/dist/{delete-page-modal-Zf3-4wLg.js → delete-page-modal-J_SmPWrw.js} +12 -12
  42. package/dist/delete-page-modal-sOqRlmKb.cjs +1 -0
  43. package/dist/email-blocks.cjs +1 -1
  44. package/dist/email-blocks.js +11 -10
  45. package/dist/email.cjs +1 -1
  46. package/dist/email.d.ts +15 -2
  47. package/dist/email.js +7 -12
  48. package/dist/empty-slot-ZBlsQi6m.js +15 -0
  49. package/dist/empty-slot-nzYOgZuS.cjs +1 -0
  50. package/dist/{form-faX0Yn4Q.js → form-2xJcQs_Y.js} +1 -1
  51. package/dist/{form-KkP1F7h1.cjs → form-Y0Vb4m04.cjs} +1 -1
  52. package/dist/{html-to-json-57841sEK.js → html-to-json-C5sExaSD.js} +1 -1
  53. package/dist/{html-to-json-2PeOCVey.cjs → html-to-json-FGufPv9R.cjs} +1 -1
  54. package/dist/index-3TQsdso6.cjs +1 -0
  55. package/dist/index-627XtO9e.js +2202 -0
  56. package/dist/{index-rktN6W1Y.js → index-LF3KXx4u.js} +22845 -25123
  57. package/dist/index-T3wfa1kz.cjs +1 -0
  58. package/dist/index-YpnaudSM.js +63 -0
  59. package/dist/{index-QGA4ayU7.js → index-ZBqiaKhx.js} +378 -378
  60. package/dist/index-ZwpjuB-N.cjs +206 -0
  61. package/dist/index-ecnGWzh9.cjs +1 -0
  62. package/dist/lib.cjs +1 -1
  63. package/dist/lib.js +5 -5
  64. package/dist/page-viewer-6UDraUKW.cjs +1 -0
  65. package/dist/{page-viewer-Cv_WZY-t.js → page-viewer-7u0SWWmO.js} +11 -11
  66. package/dist/project-general-setting-AW5Vtmgx.cjs +1 -0
  67. package/dist/{project-general-setting-x6qqF0T8.js → project-general-setting-SqC85J7F.js} +11 -10
  68. package/dist/{project-seo-setting-Sl6AE-Q7.js → project-seo-setting-TlQherop.js} +7 -7
  69. package/dist/project-seo-setting-cWiNZcxW.cjs +1 -0
  70. package/dist/render.cjs +1 -1
  71. package/dist/render.js +2 -2
  72. package/dist/{single-page-detail-sGbwXXs1.js → single-page-detail-ClZYIdSO.js} +43 -42
  73. package/dist/single-page-detail-kJUW6FE9.cjs +1 -0
  74. package/dist/studio.cjs +1 -1
  75. package/dist/studio.d.ts +15 -2
  76. package/dist/studio.js +7 -7
  77. package/dist/ui.cjs +1 -1
  78. package/dist/ui.d.ts +4 -4
  79. package/dist/ui.js +50 -50
  80. package/dist/useAddBlockByDrop-E343zoB3.cjs +1 -0
  81. package/dist/useAddBlockByDrop-sPX4lN-O.js +20 -0
  82. package/dist/web-blocks.cjs +1 -1
  83. package/dist/web-blocks.js +4 -3
  84. package/package.json +1 -1
  85. package/dist/AddBlocks-FUKuRbn6.cjs +0 -1
  86. package/dist/BrandingOptions-tBWzqas5.cjs +0 -1
  87. package/dist/CurrentPage-g8aT56B2.cjs +0 -1
  88. package/dist/Layers-fEb6biiU.cjs +0 -1
  89. package/dist/MODIFIERS-2FeVfZQ9.cjs +0 -1
  90. package/dist/PagesPanel-ewHplHej.cjs +0 -1
  91. package/dist/ProjectPanel-pgpe3fyR.cjs +0 -1
  92. package/dist/Settings-zk2jUrHc.cjs +0 -1
  93. package/dist/SidePanels-MbJufIbe.js +0 -352
  94. package/dist/SidePanels-zXHw8T3P.cjs +0 -1
  95. package/dist/Topbar-iH2L4pe0.cjs +0 -1
  96. package/dist/Topbar-ryFhl-PC.js +0 -114
  97. package/dist/UploadImages-VBiO6lqp.cjs +0 -1
  98. package/dist/add-page-modal-myA0a2nW.cjs +0 -1
  99. package/dist/delete-page-modal-q4G_-zBl.cjs +0 -1
  100. package/dist/empty-slot-2LSrWJaY.cjs +0 -1
  101. package/dist/index-DT71IahS.cjs +0 -206
  102. package/dist/index-ERorPL9q.cjs +0 -1
  103. package/dist/page-viewer-z9Kn4i1K.cjs +0 -1
  104. package/dist/project-general-setting-ZiLidijs.cjs +0 -1
  105. package/dist/project-seo-setting-8oJUrOqk.cjs +0 -1
  106. package/dist/single-page-detail-cnwttu4D.cjs +0 -1
  107. package/dist/useAddBlockByDrop-LBgi6GL7.cjs +0 -1
  108. package/dist/useAddBlockByDrop-Y-g4O8UC.js +0 -20
@@ -0,0 +1 @@
1
+ "use strict";const o=require("react");var h={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},m=o.createContext&&o.createContext(h),c=function(){return c=Object.assign||function(e){for(var i,t=1,s=arguments.length;t<s;t++){i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},c.apply(this,arguments)},g=function(e,i){var t={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&i.indexOf(s)<0&&(t[s]=e[s]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,s=Object.getOwnPropertySymbols(e);n<s.length;n++)i.indexOf(s[n])<0&&Object.prototype.propertyIsEnumerable.call(e,s[n])&&(t[s[n]]=e[s[n]]);return t};function p(e){return e&&e.map(function(i,t){return o.createElement(i.tag,c({key:t},i.attr),p(i.child))})}function b(e){return function(i){return o.createElement(d,c({attr:c({},e.attr)},i),p(e.child))}}function d(e){var i=function(t){var s=e.attr,n=e.size,l=e.title,u=g(e,["attr","size","title"]),a=n||t.size||"1em",r;return t.className&&(r=t.className),e.className&&(r=(r?r+" ":"")+e.className),o.createElement("svg",c({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,s,u,{className:r,style:c(c({color:e.color||t.color},t.style),e.style),height:a,width:a,xmlns:"http://www.w3.org/2000/svg"}),l&&o.createElement("title",null,l),e.children)};return m!==void 0?o.createElement(m.Consumer,null,function(t){return i(t)}):i(h)}exports.GenIcon=b;
package/dist/lib.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("./Class-5ARpH_Tu.cjs"),w=require("./Functions-N3yhPYKY.cjs"),S=require("./html-to-json-2PeOCVey.cjs"),t=require("lodash-es"),p=require("./defaultTheme-IH19g4fv.cjs"),k=require("@bobthered/tailwindcss-palette-generator"),F=require("@mhsdesign/jit-browser-tailwindcss"),_=require("@tailwindcss/forms"),C=require("@tailwindcss/typography"),O=require("@tailwindcss/aspect-ratio"),$=require("./MODIFIERS-2FeVfZQ9.cjs");require("clsx");require("tailwind-merge");require("himalaya");require("./_commonjsHelpers-wDK0ZLPo.cjs");const T={25:"1/4","33.33":"1/3",50:"1/2","66.67":"2/3",75:"3/4",20:"1/5",40:"2/5",60:"3/5",80:"4/5","16.67":"1/6","83.33":"5/6","8.33":"1/12","41.67":"5/12","58.33":"7/12","91.67":"11/12",100:"full"},I={0:"0",1:"px",2:"0.5",4:"1",6:"1.5",8:"2",10:"2.5",12:"3",14:"3.5",16:"4",20:"5",24:"6",28:"7",32:"8",36:"9",40:"10",44:"11",48:"12",56:"14",64:"16",80:"20",96:"24",112:"28",128:"32",144:"36",160:"40",176:"44",192:"48",208:"52",224:"56",240:"60",256:"64",288:"72",320:"80",384:"96"};const P=16,B=4;function E(s){return s.indexOf("rem")!==-1&&(s=`${parseFloat(s.replace("rem",""))*P}px`),s}const V=s=>{const r=s.match(/\[.*\]/);if(r===null)return s;const n=y.constructClassObject(s);if(n===null)return s;const{property:c}=n;let e=t.first(r).replace(/\]/i,"").replace(/\[/i,"");const i=s.replace(/\[.*\]/i,"");e=E(e);let a=s;switch(c){case"top":case"right":case"left":case"bottom":case"inset":case"insetX":case"insetY":case"gap":case"gapX":case"gapY":case"padding":case"paddingX":case"paddingY":case"paddingTop":case"paddingRight":case"paddingBottom":case"paddingLeft":case"margin":case"marginX":case"marginY":case"marginTop":case"marginRight":case"marginBottom":case"marginLeft":case"flexBasis":case"width":case"height":case"maxHeight":case"textIndent":case"spaceX":case"spaceY":if(e.indexOf("px")!==-1){const o=t.map(t.keys(I),l=>`${l}px`);if(t.includes(o,e)){const l=t.parseInt(e.replace("px",""),10);l===1?a=`${i}px`:a=i+l/B}}if(e.indexOf("%")!==-1){const o=t.map(t.keys(T),l=>`${l}%`);if(t.includes(o,e)){const l=parseFloat(e.replace("%",""));a=i+t.get(T,l)}}e.indexOf("vw")!==-1&&parseFloat(e.replace("vw",""))===100&&(a=`${i}screen`),e.indexOf("vh")!==-1&&parseFloat(e.replace("vh",""))===100&&(a=`${i}screen`);break;case"minWidth":e.indexOf("%")!==-1&&parseFloat(e.replace("%",""))===100&&(a=`${i}full`),e==="0px"&&(a="min-w-0");break;case"maxWidth":e==="0px"&&(a="max-w-0");const x={"320px":"xs","384px":"sm","448px":"md","512px":"lg","576px":"xl","672px":"2xl","768px":"3xl","896px":"4xl","1024px":"5xl","1152px":"6xl","1280px":"7xl","100%":"full","65ch":"prose","640px":"screen-sm","1536px":"screen-2xl"};t.includes(t.keys(x),e)&&(a=`max-w-${x[e]}`);break;case"minHeight":e.indexOf("%")!==-1&&parseFloat(e.replace("%",""))===100&&(a=`${i}full`),e==="0px"&&(a="min-h-0"),e==="100vh"&&(a="min-h-screen");break;case"fontSize":const u={"12px":"xs","14px":"sm","16px":"base","18px":"lg","20px":"xl","24px":"2xl","30px":"3xl","36px":"4xl","48px":"5xl","60px":"6xl","72px":"7xl","96px":"8xl","128px":"9xl"};t.includes(t.keys(u),e)&&(a=i+u[e]);break;case"lineHeight":const d={"12px":"3","16px":"4","20px":"5","24px":"6","28px":"7","32px":"8","36px":"9","40px":"10",1:"none","1.25":"tight","1.375":"snug","1.5":"normal","1.625":"relaxed",2:"loose"};t.includes(t.keys(d),e)&&(a=i+d[e]);break;case"zIndex":a=["0","10","20","30","40","50"].indexOf(e)!==-1?`${i}${e}`:s;break;case"opacity":const h=["0","5","10","20","25","30","40","50","60","70","75","80","90","95","100"],g=parseFloat(e)*100;t.includes(h,g.toString())&&(a=`opacity-${g}`);break;default:break}return a};async function b(s,r,n=[],c="c-",e=!1){const i=t.get(s,"primaryColor","#000"),a=t.get(s,"secondaryColor","#ccc"),x=t.get(s,"headingFont","Inter"),u=t.get(s,"bodyFont","Inter"),d=t.get(s,"roundedCorners","0"),m=k.tailwindcssPaletteGenerator({colors:[i,a],names:["primary","secondary"]});return t.set(m,"primary.DEFAULT",i),t.set(m,"secondary.DEFAULT",a),`${await F.createTailwindcss({tailwindConfig:{darkMode:"class",safelist:n,theme:{fontFamily:{heading:[x,...p.defaultTheme.fontFamily.sans],body:[u,...p.defaultTheme.fontFamily.sans]},extend:{borderRadius:{global:`${d||"0"}px`},colors:m}},plugins:[_,C,O],corePlugins:{preflight:e},...c?{prefix:`${c}`}:{}}}).generateStylesFromContent(` ${e?"@tailwind base;":""}
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("./Class-MmCxz2Ay.cjs"),w=require("./Functions-N3yhPYKY.cjs"),S=require("./html-to-json-FGufPv9R.cjs"),t=require("lodash-es"),p=require("./defaultTheme-1XwPZT2b.cjs"),k=require("@bobthered/tailwindcss-palette-generator"),F=require("@mhsdesign/jit-browser-tailwindcss"),_=require("@tailwindcss/forms"),C=require("@tailwindcss/typography"),O=require("@tailwindcss/aspect-ratio"),$=require("./MODIFIERS-9EwxLM8V.cjs");require("clsx");require("tailwind-merge");require("himalaya");require("./_commonjsHelpers-wDK0ZLPo.cjs");const T={25:"1/4","33.33":"1/3",50:"1/2","66.67":"2/3",75:"3/4",20:"1/5",40:"2/5",60:"3/5",80:"4/5","16.67":"1/6","83.33":"5/6","8.33":"1/12","41.67":"5/12","58.33":"7/12","91.67":"11/12",100:"full"},I={0:"0",1:"px",2:"0.5",4:"1",6:"1.5",8:"2",10:"2.5",12:"3",14:"3.5",16:"4",20:"5",24:"6",28:"7",32:"8",36:"9",40:"10",44:"11",48:"12",56:"14",64:"16",80:"20",96:"24",112:"28",128:"32",144:"36",160:"40",176:"44",192:"48",208:"52",224:"56",240:"60",256:"64",288:"72",320:"80",384:"96"};const P=16,B=4;function E(s){return s.indexOf("rem")!==-1&&(s=`${parseFloat(s.replace("rem",""))*P}px`),s}const V=s=>{const r=s.match(/\[.*\]/);if(r===null)return s;const n=y.constructClassObject(s);if(n===null)return s;const{property:c}=n;let e=t.first(r).replace(/\]/i,"").replace(/\[/i,"");const i=s.replace(/\[.*\]/i,"");e=E(e);let a=s;switch(c){case"top":case"right":case"left":case"bottom":case"inset":case"insetX":case"insetY":case"gap":case"gapX":case"gapY":case"padding":case"paddingX":case"paddingY":case"paddingTop":case"paddingRight":case"paddingBottom":case"paddingLeft":case"margin":case"marginX":case"marginY":case"marginTop":case"marginRight":case"marginBottom":case"marginLeft":case"flexBasis":case"width":case"height":case"maxHeight":case"textIndent":case"spaceX":case"spaceY":if(e.indexOf("px")!==-1){const o=t.map(t.keys(I),l=>`${l}px`);if(t.includes(o,e)){const l=t.parseInt(e.replace("px",""),10);l===1?a=`${i}px`:a=i+l/B}}if(e.indexOf("%")!==-1){const o=t.map(t.keys(T),l=>`${l}%`);if(t.includes(o,e)){const l=parseFloat(e.replace("%",""));a=i+t.get(T,l)}}e.indexOf("vw")!==-1&&parseFloat(e.replace("vw",""))===100&&(a=`${i}screen`),e.indexOf("vh")!==-1&&parseFloat(e.replace("vh",""))===100&&(a=`${i}screen`);break;case"minWidth":e.indexOf("%")!==-1&&parseFloat(e.replace("%",""))===100&&(a=`${i}full`),e==="0px"&&(a="min-w-0");break;case"maxWidth":e==="0px"&&(a="max-w-0");const x={"320px":"xs","384px":"sm","448px":"md","512px":"lg","576px":"xl","672px":"2xl","768px":"3xl","896px":"4xl","1024px":"5xl","1152px":"6xl","1280px":"7xl","100%":"full","65ch":"prose","640px":"screen-sm","1536px":"screen-2xl"};t.includes(t.keys(x),e)&&(a=`max-w-${x[e]}`);break;case"minHeight":e.indexOf("%")!==-1&&parseFloat(e.replace("%",""))===100&&(a=`${i}full`),e==="0px"&&(a="min-h-0"),e==="100vh"&&(a="min-h-screen");break;case"fontSize":const u={"12px":"xs","14px":"sm","16px":"base","18px":"lg","20px":"xl","24px":"2xl","30px":"3xl","36px":"4xl","48px":"5xl","60px":"6xl","72px":"7xl","96px":"8xl","128px":"9xl"};t.includes(t.keys(u),e)&&(a=i+u[e]);break;case"lineHeight":const d={"12px":"3","16px":"4","20px":"5","24px":"6","28px":"7","32px":"8","36px":"9","40px":"10",1:"none","1.25":"tight","1.375":"snug","1.5":"normal","1.625":"relaxed",2:"loose"};t.includes(t.keys(d),e)&&(a=i+d[e]);break;case"zIndex":a=["0","10","20","30","40","50"].indexOf(e)!==-1?`${i}${e}`:s;break;case"opacity":const h=["0","5","10","20","25","30","40","50","60","70","75","80","90","95","100"],g=parseFloat(e)*100;t.includes(h,g.toString())&&(a=`opacity-${g}`);break;default:break}return a};async function b(s,r,n=[],c="c-",e=!1){const i=t.get(s,"primaryColor","#000"),a=t.get(s,"secondaryColor","#ccc"),x=t.get(s,"headingFont","Inter"),u=t.get(s,"bodyFont","Inter"),d=t.get(s,"roundedCorners","0"),m=k.tailwindcssPaletteGenerator({colors:[i,a],names:["primary","secondary"]});return t.set(m,"primary.DEFAULT",i),t.set(m,"secondary.DEFAULT",a),`${await F.createTailwindcss({tailwindConfig:{darkMode:"class",safelist:n,theme:{fontFamily:{heading:[x,...p.defaultTheme.fontFamily.sans],body:[u,...p.defaultTheme.fontFamily.sans]},extend:{borderRadius:{global:`${d||"0"}px`},colors:m}},plugins:[_,C,O],corePlugins:{preflight:e},...c?{prefix:`${c}`}:{}}}).generateStylesFromContent(` ${e?"@tailwind base;":""}
2
2
  @tailwind components;
3
3
  @tailwind utilities;`,r)}
4
4
  .${c}bg-clip-text{background-clip: text;-webkit-background-clip: text;} h1,h2,h3,h4,h5,h6{font-family: "${x}",${p.defaultTheme.fontFamily.sans.join(", ")};}`}const q=(s,r)=>s.map(n=>{const c={};return Object.keys(n).forEach(e=>{t.startsWith(n[e],$.STYLES_KEY)&&(c[e]=p.addPrefixToClasses(n[e],r))}),c}),f=(s,r,n="c-",c=!1)=>{const e=p.getBrandingClasses(r,n);return b(r,[t.replace(JSON.stringify(q(s,n)),/#styles:/g,"")],e.split(" ").concat(`${n}inline-block`,`${n}w-full`,`${n}h-full`),n,c)},A=async(s,r="c-",n=!1)=>{const c=s.page.blocks;return await f(c,s.project.brandingOptions,r,n)},L=async(s,r,n="c-",c=!1)=>await f(s,r,n,c);exports.cn=y.cn;exports.generateUUID=w.generateUUID;exports.getBreakpointValue=w.getBreakpointValue;exports.getBlocksFromHTML=S.getBlocksFromHTML;exports.addPrefixToClasses=p.addPrefixToClasses;exports.getBrandingClasses=p.getBrandingClasses;exports.convertArbitraryToTailwindClass=V;exports.getBlocksTailwindCSS=f;exports.getStylesForBlocks=L;exports.getStylesForPageData=A;exports.getTailwindCSS=b;
package/dist/lib.js CHANGED
@@ -1,15 +1,15 @@
1
- import { c as _ } from "./Class-17XFhL48.js";
2
- import { a as ce } from "./Class-17XFhL48.js";
1
+ import { c as _ } from "./Class-3k8xjeiM.js";
2
+ import { a as ce } from "./Class-3k8xjeiM.js";
3
3
  import { g as oe, a as le } from "./Functions-7jnEwJyw.js";
4
- import { g as xe } from "./html-to-json-57841sEK.js";
4
+ import { g as xe } from "./html-to-json-C5sExaSD.js";
5
5
  import { first as F, includes as l, keys as d, map as T, parseInt as $, get as p, set as b, startsWith as k, replace as O } from "lodash-es";
6
- import { d as h, a as C, g as I } from "./defaultTheme-YY8mlQS3.js";
6
+ import { d as h, a as C, g as I } from "./defaultTheme-s0cpA5Oy.js";
7
7
  import { tailwindcssPaletteGenerator as E } from "@bobthered/tailwindcss-palette-generator";
8
8
  import { createTailwindcss as V } from "@mhsdesign/jit-browser-tailwindcss";
9
9
  import A from "@tailwindcss/forms";
10
10
  import L from "@tailwindcss/typography";
11
11
  import P from "@tailwindcss/aspect-ratio";
12
- import { a as R } from "./MODIFIERS-RiXS5Mn1.js";
12
+ import { a as R } from "./MODIFIERS-WQdaNvb8.js";
13
13
  import "clsx";
14
14
  import "tailwind-merge";
15
15
  import "himalaya";
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-Z_BpKhVy.cjs"),u=require("react"),n=require("@radix-ui/react-icons"),o=require("./index-T3wfa1kz.cjs"),x=require("./index-3TQsdso6.cjs");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("lodash-es");require("./Functions-N3yhPYKY.cjs");require("clsx");require("tailwind-merge");require("@chaibuilder/runtime");require("jotai");require("flat-to-nested");require("./MODIFIERS-9EwxLM8V.cjs");require("@react-hookz/web");require("@radix-ui/react-toggle");require("class-variance-authority");require("./Class-MmCxz2Ay.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-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("react-quill");require("react-i18next");require("./index-ZwpjuB-N.cjs");require("i18next");require("@floating-ui/react-dom");require("react-textarea-autosize");require("flagged");require("react-dnd");require("@minoru/react-dnd-treeview");require("react-hotkeys-hook");require("sonner");require("./html-to-json-FGufPv9R.cjs");require("himalaya");require("lucide-react");require("./index-ecnGWzh9.cjs");const m=u.lazy(()=>Promise.resolve().then(()=>require("./single-page-detail-kJUW6FE9.cjs"))),j=({pageData:s})=>{const[r,i]=u.useState("CLOSE");return e.jsxRuntimeExports.jsxs(o.Popover,{open:r==="OPEN"||r==="ALERT"||r==="PENDING",onOpenChange:t=>{i(r==="PENDING"?"ALERT":t?"OPEN":"CLOSE")},children:[e.jsxRuntimeExports.jsx(o.PopoverTrigger,{asChild:!0,onClick:t=>{t.stopPropagation(),i("OPEN")},children:e.jsxRuntimeExports.jsx("div",{className:"flex items-center justify-between",children:r==="OPEN"||r==="ALERT"||r==="PENDING"?e.jsxRuntimeExports.jsx(n.ChevronRightIcon,{}):e.jsxRuntimeExports.jsx("div",{className:"hidden hover:text-blue-600 group-hover:flex",children:e.jsxRuntimeExports.jsx(n.GearIcon,{})})})}),e.jsxRuntimeExports.jsx(o.PopoverContent,{side:"right",align:"start",alignOffset:-35,className:"h-screen w-96",children:e.jsxRuntimeExports.jsx(u.Suspense,{fallback:e.jsxRuntimeExports.jsxs("div",{className:"flex w-full animate-pulse flex-col gap-y-3",children:[e.jsxRuntimeExports.jsx("div",{className:"bg-background-300 h-6 w-1/2"}),e.jsxRuntimeExports.jsx("div",{className:"bg-background-300 h-20 w-full"}),e.jsxRuntimeExports.jsx("div",{className:"bg-background-300 h-20 w-full"})]}),children:e.jsxRuntimeExports.jsx(m,{pageData:s,open:r,setOpen:i})})})]})},q=s=>{const[r]=x.useCurrentPage(),{data:i}=x.useProject(),t=x.useChangePage(),l=(i==null?void 0:i.homepage)===s.uuid,a=r===s.uuid,c=()=>t(s);return i?e.jsxRuntimeExports.jsxs("button",{className:`group relative flex w-full cursor-pointer items-center justify-between px-2.5 py-2 ${a?"bg-blue-200 ":""}`,onClick:c,type:"button",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex text-sm items-center gap-x-1.5",children:[l?e.jsxRuntimeExports.jsx(n.HomeIcon,{}):e.jsxRuntimeExports.jsx(n.FileTextIcon,{})," ",s.name]}),e.jsxRuntimeExports.jsx(j,{pageData:s})]}):null},p=({pages:s,isLoading:r})=>r?e.jsxRuntimeExports.jsxs("div",{className:"flex animate-pulse flex-col gap-y-1 px-2.5 pt-2",children:[e.jsxRuntimeExports.jsx("div",{className:"bg-background-200 h-7 w-full"}),e.jsxRuntimeExports.jsx("div",{className:"bg-background-200 h-7 w-full"}),e.jsxRuntimeExports.jsx("div",{className:"bg-background-200 h-7 w-full"})]}):s.length===0?e.jsxRuntimeExports.jsx("div",{className:"px-2.5 pb-2 pt-4",children:"No pages"}):e.jsxRuntimeExports.jsx("div",{className:"-mb-2",children:u.Children.toArray(s.map(i=>e.jsxRuntimeExports.jsx(q,{...i})))});exports.default=p;
@@ -1,8 +1,8 @@
1
1
  import { j as e } from "./jsx-runtime-WbnYoNE9.js";
2
2
  import s, { useState as n, Suspense as l } from "react";
3
3
  import { ChevronRightIcon as c, GearIcon as u, HomeIcon as d, FileTextIcon as x } from "@radix-ui/react-icons";
4
- import { aT as g, aU as h, aV as f } from "./index-QGA4ayU7.js";
5
- import { e as j, b as N, d as b } from "./index-rktN6W1Y.js";
4
+ import { aV as g, aW as h, aX as f } from "./index-ZBqiaKhx.js";
5
+ import { d as j, a as N, c as b } from "./index-627XtO9e.js";
6
6
  import "./_commonjsHelpers-UyOWmZb0.js";
7
7
  import "lodash-es";
8
8
  import "./Functions-7jnEwJyw.js";
@@ -11,11 +11,11 @@ import "tailwind-merge";
11
11
  import "@chaibuilder/runtime";
12
12
  import "jotai";
13
13
  import "flat-to-nested";
14
- import "./MODIFIERS-RiXS5Mn1.js";
14
+ import "./MODIFIERS-WQdaNvb8.js";
15
15
  import "@react-hookz/web";
16
16
  import "@radix-ui/react-toggle";
17
17
  import "class-variance-authority";
18
- import "./Class-17XFhL48.js";
18
+ import "./Class-3k8xjeiM.js";
19
19
  import "@radix-ui/react-switch";
20
20
  import "@radix-ui/react-slot";
21
21
  import "@radix-ui/react-accordion";
@@ -38,6 +38,7 @@ import "react-icons-picker";
38
38
  import "react-dom";
39
39
  import "react-quill";
40
40
  import "react-i18next";
41
+ import "./index-LF3KXx4u.js";
41
42
  import "i18next";
42
43
  import "@floating-ui/react-dom";
43
44
  import "react-textarea-autosize";
@@ -46,12 +47,11 @@ import "react-dnd";
46
47
  import "@minoru/react-dnd-treeview";
47
48
  import "react-hotkeys-hook";
48
49
  import "sonner";
49
- import "./html-to-json-57841sEK.js";
50
+ import "./html-to-json-C5sExaSD.js";
50
51
  import "himalaya";
51
52
  import "lucide-react";
52
- import "./web-blocks.js";
53
- import "./empty-slot-5FRrRq1E.js";
54
- const v = s.lazy(() => import("./single-page-detail-sGbwXXs1.js")), P = ({ pageData: r }) => {
53
+ import "./index-YpnaudSM.js";
54
+ const v = s.lazy(() => import("./single-page-detail-ClZYIdSO.js")), P = ({ pageData: r }) => {
55
55
  const [t, i] = n("CLOSE");
56
56
  return /* @__PURE__ */ e.jsxs(
57
57
  g,
@@ -86,16 +86,16 @@ const v = s.lazy(() => import("./single-page-detail-sGbwXXs1.js")), P = ({ pageD
86
86
  }
87
87
  );
88
88
  }, E = (r) => {
89
- const [t] = j(), { data: i } = N(), o = b(), m = (i == null ? void 0 : i.homepage) === r.uuid, a = t === r.uuid, p = () => o(r);
89
+ const [t] = j(), { data: i } = N(), o = b(), a = (i == null ? void 0 : i.homepage) === r.uuid, m = t === r.uuid, p = () => o(r);
90
90
  return i ? /* @__PURE__ */ e.jsxs(
91
91
  "button",
92
92
  {
93
- className: `group relative flex w-full cursor-pointer items-center justify-between px-2.5 py-2 ${a ? "bg-blue-200 " : ""}`,
93
+ className: `group relative flex w-full cursor-pointer items-center justify-between px-2.5 py-2 ${m ? "bg-blue-200 " : ""}`,
94
94
  onClick: p,
95
95
  type: "button",
96
96
  children: [
97
97
  /* @__PURE__ */ e.jsxs("div", { className: "flex text-sm items-center gap-x-1.5", children: [
98
- m ? /* @__PURE__ */ e.jsx(d, {}) : /* @__PURE__ */ e.jsx(x, {}),
98
+ a ? /* @__PURE__ */ e.jsx(d, {}) : /* @__PURE__ */ e.jsx(x, {}),
99
99
  " ",
100
100
  r.name
101
101
  ] }),
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("./jsx-runtime-Z_BpKhVy.cjs"),a=require("react"),f=require("./index-T3wfa1kz.cjs"),o=require("./controls-Dy1qa8Dc.cjs"),d=require("./form-Y0Vb4m04.cjs"),m=require("./index-3TQsdso6.cjs");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("lodash-es");require("./Functions-N3yhPYKY.cjs");require("clsx");require("tailwind-merge");require("@chaibuilder/runtime");require("jotai");require("flat-to-nested");require("./MODIFIERS-9EwxLM8V.cjs");require("@react-hookz/web");require("@radix-ui/react-toggle");require("class-variance-authority");require("./Class-MmCxz2Ay.cjs");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-icons");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("react-quill");require("react-i18next");require("@rjsf/core");require("@rjsf/validator-ajv8");require("./index-ZwpjuB-N.cjs");require("i18next");require("@floating-ui/react-dom");require("react-textarea-autosize");require("flagged");require("react-dnd");require("@minoru/react-dnd-treeview");require("react-hotkeys-hook");require("sonner");require("./html-to-json-FGufPv9R.cjs");require("himalaya");require("lucide-react");require("./index-ecnGWzh9.cjs");function j(r){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const u=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(i,e,u.get?u:{enumerable:!0,get:()=>r[e]})}}return i.default=r,Object.freeze(i)}const g=j(a),b=({_projectData:r,seany:i})=>{const{data:e,isLoading:u}=m.useProject();g.useEffect(()=>{e&&i(e)},[e,i]);const n=({formData:s},t)=>{i(l=>({...l,[t]:s[t]}))},c={name:o.u({title:"Project Name",default:e==null?void 0:e.name}),favicon:o.o({title:"Favicon",default:e==null?void 0:e.favicon})};return q.jsxRuntimeExports.jsx(f.ScrollArea,{className:"flex h-full select-none flex-col",children:q.jsxRuntimeExports.jsx(d.Form,{properties:c,disabled:u,formData:r,onChange:n})})};exports.default=b;
@@ -1,9 +1,9 @@
1
1
  import { j as i } from "./jsx-runtime-WbnYoNE9.js";
2
2
  import * as l from "react";
3
- import { bf as n } from "./index-QGA4ayU7.js";
4
- import { u as c, o as u } from "./empty-slot-5FRrRq1E.js";
5
- import { F as d } from "./form-faX0Yn4Q.js";
6
- import { b as x } from "./index-rktN6W1Y.js";
3
+ import { bg as n } from "./index-ZBqiaKhx.js";
4
+ import { u as c, o as u } from "./controls-XPXGHKht.js";
5
+ import { F as d } from "./form-2xJcQs_Y.js";
6
+ import { a as x } from "./index-627XtO9e.js";
7
7
  import "./_commonjsHelpers-UyOWmZb0.js";
8
8
  import "lodash-es";
9
9
  import "./Functions-7jnEwJyw.js";
@@ -12,11 +12,11 @@ import "tailwind-merge";
12
12
  import "@chaibuilder/runtime";
13
13
  import "jotai";
14
14
  import "flat-to-nested";
15
- import "./MODIFIERS-RiXS5Mn1.js";
15
+ import "./MODIFIERS-WQdaNvb8.js";
16
16
  import "@react-hookz/web";
17
17
  import "@radix-ui/react-toggle";
18
18
  import "class-variance-authority";
19
- import "./Class-17XFhL48.js";
19
+ import "./Class-3k8xjeiM.js";
20
20
  import "@radix-ui/react-switch";
21
21
  import "@radix-ui/react-slot";
22
22
  import "@radix-ui/react-accordion";
@@ -42,6 +42,7 @@ import "react-quill";
42
42
  import "react-i18next";
43
43
  import "@rjsf/core";
44
44
  import "@rjsf/validator-ajv8";
45
+ import "./index-LF3KXx4u.js";
45
46
  import "i18next";
46
47
  import "@floating-ui/react-dom";
47
48
  import "react-textarea-autosize";
@@ -50,11 +51,11 @@ import "react-dnd";
50
51
  import "@minoru/react-dnd-treeview";
51
52
  import "react-hotkeys-hook";
52
53
  import "sonner";
53
- import "./html-to-json-57841sEK.js";
54
+ import "./html-to-json-C5sExaSD.js";
54
55
  import "himalaya";
55
56
  import "lucide-react";
56
- import "./web-blocks.js";
57
- const bo = ({
57
+ import "./index-YpnaudSM.js";
58
+ const ho = ({
58
59
  _projectData: m,
59
60
  seany: t
60
61
  }) => {
@@ -77,5 +78,5 @@ const bo = ({
77
78
  return /* @__PURE__ */ i.jsx(n, { className: "flex h-full select-none flex-col", children: /* @__PURE__ */ i.jsx(d, { properties: a, disabled: p, formData: m, onChange: e }) });
78
79
  };
79
80
  export {
80
- bo as default
81
+ ho as default
81
82
  };
@@ -1,23 +1,23 @@
1
1
  import { j as s } from "./jsx-runtime-WbnYoNE9.js";
2
- import { b as D, u as c, g, o as x } from "./empty-slot-5FRrRq1E.js";
3
- import { F as v } from "./form-faX0Yn4Q.js";
2
+ import { b as D, u as c, g, o as x } from "./controls-XPXGHKht.js";
3
+ import { F as v } from "./form-2xJcQs_Y.js";
4
4
  import "./_commonjsHelpers-UyOWmZb0.js";
5
5
  import "react";
6
6
  import "lodash-es";
7
+ import "@rjsf/core";
8
+ import "@rjsf/validator-ajv8";
9
+ import "./index-ZBqiaKhx.js";
7
10
  import "./Functions-7jnEwJyw.js";
8
11
  import "clsx";
9
12
  import "tailwind-merge";
10
- import "@rjsf/core";
11
- import "@rjsf/validator-ajv8";
12
- import "./index-QGA4ayU7.js";
13
13
  import "@chaibuilder/runtime";
14
14
  import "jotai";
15
15
  import "flat-to-nested";
16
- import "./MODIFIERS-RiXS5Mn1.js";
16
+ import "./MODIFIERS-WQdaNvb8.js";
17
17
  import "@react-hookz/web";
18
18
  import "@radix-ui/react-toggle";
19
19
  import "class-variance-authority";
20
- import "./Class-17XFhL48.js";
20
+ import "./Class-3k8xjeiM.js";
21
21
  import "@radix-ui/react-switch";
22
22
  import "@radix-ui/react-slot";
23
23
  import "@radix-ui/react-accordion";
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./jsx-runtime-Z_BpKhVy.cjs"),i=require("./controls-Dy1qa8Dc.cjs"),g=require("./form-Y0Vb4m04.cjs");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("react");require("lodash-es");require("@rjsf/core");require("@rjsf/validator-ajv8");require("./index-T3wfa1kz.cjs");require("./Functions-N3yhPYKY.cjs");require("clsx");require("tailwind-merge");require("@chaibuilder/runtime");require("jotai");require("flat-to-nested");require("./MODIFIERS-9EwxLM8V.cjs");require("@react-hookz/web");require("@radix-ui/react-toggle");require("class-variance-authority");require("./Class-MmCxz2Ay.cjs");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-icons");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("react-quill");require("react-i18next");const D=({_projectData:e,seany:n})=>{var t,u,o,q,s,a;const d=({formData:f})=>{const r={...f};r.seoData.title===void 0&&(r.seoData.title=""),r.seoData.description===void 0&&(r.seoData.description=""),r.seoData.image===void 0&&(r.seoData.image=""),n(m=>({...m,...r}))},c={seoData:i.b({title:"",default:{title:((t=e.seoData)==null?void 0:t.title)||"",description:((u=e.seoData)==null?void 0:u.description)||"",image:((o=e.seoData)==null?void 0:o.image)||""},properties:{title:i.u({title:"Default Title",default:((q=e.seoData)==null?void 0:q.title)||""}),description:i.g({title:"Default Description",default:((s=e.seoData)==null?void 0:s.description)||""}),image:i.o({title:"Social Media Image",default:((a=e.seoData)==null?void 0:a.image)||""})}})};return l.jsxRuntimeExports.jsx("div",{className:"flex h-full select-none flex-col",children:l.jsxRuntimeExports.jsx(g.Form,{properties:c,formData:e,onChange:d})})};exports.default=D;
package/dist/render.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./jsx-runtime-Z_BpKhVy.cjs"),f=require("react"),n=require("lodash-es"),S=require("tailwind-merge"),d=require("./MODIFIERS-2FeVfZQ9.cjs"),T=require("@chaibuilder/runtime"),y=require("./defaultTheme-IH19g4fv.cjs"),F=require("react-wrap-balancer"),_=require("@react-email/render"),p=require("@react-email/components"),C=require("@bobthered/tailwindcss-palette-generator");require("./_commonjsHelpers-wDK0ZLPo.cjs");const q=t=>{const r={};return Object.keys(t).forEach(e=>{n.isString(t[e])&&t[e].startsWith(d.SLOT_KEY)&&(r[e]=t[e].replace(d.SLOT_KEY,"").split(","))}),r},B=n.memoize((t,r)=>{const e=t.replace(d.STYLES_KEY,"").split(","),s=S.twMerge(e[0],e[1]);return y.addPrefixToClasses(s,r).replace(d.STYLES_KEY,"").trim()});function w(t,r){return n.get(t,`${r}_attrs`,{})}function O(t,r){const e={};return Object.keys(t).forEach(s=>{if(n.isString(t[s])&&t[s].startsWith(d.STYLES_KEY)){const o=B(t[s],r);e[s]={className:o,...w(t,s)}}}),e}function A(t,r){const e=n.get(t,"_bindings",{});return n.isEmpty(e)?{...t}:(n.each(e,(s,o)=>{n.isString(s)&&n.get(r,s,null)&&(t[o]=n.get(r,s,null))}),t)}function m({blocks:t,parent:r,classPrefix:e="c-",externalData:s={}}){const o=t,l=a=>O(a,e),u=r?n.filter(t,{_parent:r}):n.filter(t,a=>n.isEmpty(a._parent));return i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:f.Children.toArray(u.map((a,h)=>{const g=q(a),x={};n.isEmpty(g)||Object.keys(g).forEach(c=>{x[c]=f.Children.toArray(g[c].map(j=>i.jsxRuntimeExports.jsx(m,{externalData:s,classPrefix:e,blocks:o,parent:j})))});const R=n.filter(o,{_parent:a._id});x.children=R.length>0?i.jsxRuntimeExports.jsx(m,{externalData:s,classPrefix:e,parent:a._id,blocks:o}):null;const E=T.getBlockComponent(a._type);if(E!==null){let c=a;const j=E.component;return c={...E.defaults,...a},f.createElement(j,n.omit({blockProps:{},inBuilder:!1,...c,index:h,...A(a,s),...l(c),...x},["_parent"]))}return i.jsxRuntimeExports.jsxs("noscript",{children:[a._type," not found"]})}))})}const L=({pageData:t,externalData:r={},before:e=null,after:s=null,classPrefix:o="c-"})=>{const l=n.get(t.project,"brandingOptions",d.BRANDING_OPTIONS_DEFAULTS);return i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[e,i.jsxRuntimeExports.jsx("div",{className:o.replace("-","")+" "+y.getBrandingClasses(l,o)+" min-h-screen",children:i.jsxRuntimeExports.jsx(F.Provider,{children:i.jsxRuntimeExports.jsx(m,{externalData:r,blocks:t.page.blocks||[],classPrefix:o})})}),s]})},Y=(t,r="c-")=>{const e=n.get(t,"primaryColor","#000"),s=n.get(t,"secondaryColor","#ccc"),o=n.get(t,"bodyFont","Inter"),l=n.get(t,"roundedCorners","0"),u=C.tailwindcssPaletteGenerator({colors:[e,s],names:["primary","secondary"]});return n.set(u,"primary.DEFAULT",e),n.set(u,"secondary.DEFAULT",s),{theme:{fontFamily:{body:[o,...y.defaultTheme.fontFamily.sans]},extend:{borderRadius:{global:`${l||"0"}px`},colors:u}},...r?{prefix:r}:{}}},b=t=>({fontFamily:t,fallbackFontFamily:"Verdana",webFont:{url:`https://fonts.googleapis.com/css2?family=${t}&display=swap`,format:"woff"},fontWeight:400,fontStyle:"normal"}),N=(t,r,e="html")=>{const s=Y(r);return _.render(i.jsxRuntimeExports.jsx(p.Tailwind,{config:s,children:i.jsxRuntimeExports.jsxs(p.Html,{lang:"en",dir:"ltr",children:[i.jsxRuntimeExports.jsx(p.Head,{children:i.jsxRuntimeExports.jsx(p.Font,{...b(n.get(r,"bodyFont","Verdana"))})}),i.jsxRuntimeExports.jsx("body",{children:i.jsxRuntimeExports.jsx(m,{blocks:t})})]})}),e==="html"?{pretty:!0}:{plainText:!0})};exports.RenderChaiBlocks=m;exports.RenderChaiPage=L;exports.generateEmailTemplate=N;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./jsx-runtime-Z_BpKhVy.cjs"),f=require("react"),n=require("lodash-es"),S=require("tailwind-merge"),d=require("./MODIFIERS-9EwxLM8V.cjs"),T=require("@chaibuilder/runtime"),y=require("./defaultTheme-1XwPZT2b.cjs"),F=require("react-wrap-balancer"),_=require("@react-email/render"),p=require("@react-email/components"),C=require("@bobthered/tailwindcss-palette-generator");require("./_commonjsHelpers-wDK0ZLPo.cjs");const q=t=>{const r={};return Object.keys(t).forEach(e=>{n.isString(t[e])&&t[e].startsWith(d.SLOT_KEY)&&(r[e]=t[e].replace(d.SLOT_KEY,"").split(","))}),r},B=n.memoize((t,r)=>{const e=t.replace(d.STYLES_KEY,"").split(","),s=S.twMerge(e[0],e[1]);return y.addPrefixToClasses(s,r).replace(d.STYLES_KEY,"").trim()});function w(t,r){return n.get(t,`${r}_attrs`,{})}function O(t,r){const e={};return Object.keys(t).forEach(s=>{if(n.isString(t[s])&&t[s].startsWith(d.STYLES_KEY)){const o=B(t[s],r);e[s]={className:o,...w(t,s)}}}),e}function A(t,r){const e=n.get(t,"_bindings",{});return n.isEmpty(e)?{...t}:(n.each(e,(s,o)=>{n.isString(s)&&n.get(r,s,null)&&(t[o]=n.get(r,s,null))}),t)}function m({blocks:t,parent:r,classPrefix:e="c-",externalData:s={}}){const o=t,l=a=>O(a,e),u=r?n.filter(t,{_parent:r}):n.filter(t,a=>n.isEmpty(a._parent));return i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:f.Children.toArray(u.map((a,h)=>{const g=q(a),x={};n.isEmpty(g)||Object.keys(g).forEach(c=>{x[c]=f.Children.toArray(g[c].map(j=>i.jsxRuntimeExports.jsx(m,{externalData:s,classPrefix:e,blocks:o,parent:j})))});const R=n.filter(o,{_parent:a._id});x.children=R.length>0?i.jsxRuntimeExports.jsx(m,{externalData:s,classPrefix:e,parent:a._id,blocks:o}):null;const E=T.getBlockComponent(a._type);if(E!==null){let c=a;const j=E.component;return c={...E.defaults,...a},f.createElement(j,n.omit({blockProps:{},inBuilder:!1,...c,index:h,...A(a,s),...l(c),...x},["_parent"]))}return i.jsxRuntimeExports.jsxs("noscript",{children:[a._type," not found"]})}))})}const L=({pageData:t,externalData:r={},before:e=null,after:s=null,classPrefix:o="c-"})=>{const l=n.get(t.project,"brandingOptions",d.BRANDING_OPTIONS_DEFAULTS);return i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[e,i.jsxRuntimeExports.jsx("div",{className:o.replace("-","")+" "+y.getBrandingClasses(l,o)+" min-h-screen",children:i.jsxRuntimeExports.jsx(F.Provider,{children:i.jsxRuntimeExports.jsx(m,{externalData:r,blocks:t.page.blocks||[],classPrefix:o})})}),s]})},Y=(t,r="c-")=>{const e=n.get(t,"primaryColor","#000"),s=n.get(t,"secondaryColor","#ccc"),o=n.get(t,"bodyFont","Inter"),l=n.get(t,"roundedCorners","0"),u=C.tailwindcssPaletteGenerator({colors:[e,s],names:["primary","secondary"]});return n.set(u,"primary.DEFAULT",e),n.set(u,"secondary.DEFAULT",s),{theme:{fontFamily:{body:[o,...y.defaultTheme.fontFamily.sans]},extend:{borderRadius:{global:`${l||"0"}px`},colors:u}},...r?{prefix:r}:{}}},b=t=>({fontFamily:t,fallbackFontFamily:"Verdana",webFont:{url:`https://fonts.googleapis.com/css2?family=${t}&display=swap`,format:"woff"},fontWeight:400,fontStyle:"normal"}),N=(t,r,e="html")=>{const s=Y(r);return _.render(i.jsxRuntimeExports.jsx(p.Tailwind,{config:s,children:i.jsxRuntimeExports.jsxs(p.Html,{lang:"en",dir:"ltr",children:[i.jsxRuntimeExports.jsx(p.Head,{children:i.jsxRuntimeExports.jsx(p.Font,{...b(n.get(r,"bodyFont","Verdana"))})}),i.jsxRuntimeExports.jsx("body",{children:i.jsxRuntimeExports.jsx(m,{blocks:t})})]})}),e==="html"?{pretty:!0}:{plainText:!0})};exports.RenderChaiBlocks=m;exports.RenderChaiPage=L;exports.generateEmailTemplate=N;
package/dist/render.js CHANGED
@@ -2,9 +2,9 @@ import { j as s } from "./jsx-runtime-WbnYoNE9.js";
2
2
  import y from "react";
3
3
  import { isString as _, memoize as S, get as a, isEmpty as j, each as B, filter as h, omit as A, set as x } from "lodash-es";
4
4
  import { twMerge as w } from "tailwind-merge";
5
- import { S as C, a as F, B as O } from "./MODIFIERS-RiXS5Mn1.js";
5
+ import { S as C, a as F, B as O } from "./MODIFIERS-WQdaNvb8.js";
6
6
  import { getBlockComponent as R } from "@chaibuilder/runtime";
7
- import { a as N, g as L, d as b } from "./defaultTheme-YY8mlQS3.js";
7
+ import { a as N, g as L, d as b } from "./defaultTheme-s0cpA5Oy.js";
8
8
  import { Provider as I } from "react-wrap-balancer";
9
9
  import { render as U } from "@react-email/render";
10
10
  import { Tailwind as W, Html as Y, Head as $, Font as G } from "@react-email/components";
@@ -1,12 +1,12 @@
1
- import { j as t } from "./jsx-runtime-WbnYoNE9.js";
1
+ import { j as s } from "./jsx-runtime-WbnYoNE9.js";
2
2
  import I, { useState as j, useEffect as z } from "react";
3
3
  import { isString as L, isEmpty as x, isEqual as C, omit as y, kebabCase as B } from "lodash-es";
4
4
  import { HomeIcon as G } from "@radix-ui/react-icons";
5
- import { bf as Y, B as q } from "./index-QGA4ayU7.js";
6
- import { u as g, b as Z, g as $, o as F, r as Q } from "./empty-slot-5FRrRq1E.js";
5
+ import { bg as Y, B as q } from "./index-ZBqiaKhx.js";
6
+ import { u as g, b as Z, g as $, o as F, r as Q } from "./controls-XPXGHKht.js";
7
7
  import { toast as U } from "sonner";
8
- import { F as h } from "./form-faX0Yn4Q.js";
9
- import { h as V, b as X, i as _, c as K } from "./index-rktN6W1Y.js";
8
+ import { F as P } from "./form-2xJcQs_Y.js";
9
+ import { f as V, a as X, g as _, b as K } from "./index-627XtO9e.js";
10
10
  import "./_commonjsHelpers-UyOWmZb0.js";
11
11
  import "./Functions-7jnEwJyw.js";
12
12
  import "clsx";
@@ -14,11 +14,11 @@ import "tailwind-merge";
14
14
  import "@chaibuilder/runtime";
15
15
  import "jotai";
16
16
  import "flat-to-nested";
17
- import "./MODIFIERS-RiXS5Mn1.js";
17
+ import "./MODIFIERS-WQdaNvb8.js";
18
18
  import "@react-hookz/web";
19
19
  import "@radix-ui/react-toggle";
20
20
  import "class-variance-authority";
21
- import "./Class-17XFhL48.js";
21
+ import "./Class-3k8xjeiM.js";
22
22
  import "@radix-ui/react-switch";
23
23
  import "@radix-ui/react-slot";
24
24
  import "@radix-ui/react-accordion";
@@ -43,6 +43,7 @@ import "react-quill";
43
43
  import "react-i18next";
44
44
  import "@rjsf/core";
45
45
  import "@rjsf/validator-ajv8";
46
+ import "./index-LF3KXx4u.js";
46
47
  import "i18next";
47
48
  import "@floating-ui/react-dom";
48
49
  import "react-textarea-autosize";
@@ -50,35 +51,35 @@ import "flagged";
50
51
  import "react-dnd";
51
52
  import "@minoru/react-dnd-treeview";
52
53
  import "react-hotkeys-hook";
53
- import "./html-to-json-57841sEK.js";
54
+ import "./html-to-json-C5sExaSD.js";
54
55
  import "himalaya";
55
56
  import "lucide-react";
56
- import "./web-blocks.js";
57
- const O = I.lazy(() => import("./delete-page-modal-Zf3-4wLg.js")), J = I.lazy(() => import("./confirm-alert-QKtbNbWz.js")), P = (r) => {
57
+ import "./index-YpnaudSM.js";
58
+ const O = I.lazy(() => import("./delete-page-modal-J_SmPWrw.js")), J = I.lazy(() => import("./confirm-alert-YETlIRpE.js")), h = (r) => {
58
59
  if (!L(r) || !(r.includes("/[") && r.includes("]")))
59
60
  return !1;
60
- const s = /^\[((?:\.{3})?[a-zA-Z0-9_-]+)\]$/, u = /^[a-zA-Z0-9_-]+$/;
61
+ const t = /^\[((?:\.{3})?[a-zA-Z0-9_-]+)\]$/, u = /^[a-zA-Z0-9_-]+$/;
61
62
  let e = !0;
62
63
  return r.split("/").forEach((n) => {
63
- e && (n.includes("[[") && n.includes("]]") ? e = /^\[\[\.{3}[a-zA-Z0-9_-]+\]\]$/.test(n) : n.includes("[") && n.includes("]") ? e = s.test(n) : e = u.test(n));
64
+ e && (n.includes("[[") && n.includes("]]") ? e = /^\[\[\.{3}[a-zA-Z0-9_-]+\]\]$/.test(n) : n.includes("[") && n.includes("]") ? e = t.test(n) : e = u.test(n));
64
65
  }), e;
65
66
  }, f = (r) => r && x(r.seoData) ? {
66
67
  ...r,
67
68
  seoData: { title: "", description: "", image: "" }
68
69
  } : r, W = (r, m) => {
69
- const s = !C(y(r, ["seoData"]), y(m, ["seoData"])), u = !C(f(m).seoData, f(r).seoData);
70
- return s || u;
71
- }, ei = ({ open: r, setOpen: m, pageData: s }) => {
72
- const u = V(), { data: e } = X(), n = _(), c = K("Homepage updated successfully."), [i, T] = j(f(s)), [d, v] = j({
73
- isHomePage: (e == null ? void 0 : e.homepage) === s.uuid
74
- }), N = W(i, s);
70
+ const t = !C(y(r, ["seoData"]), y(m, ["seoData"])), u = !C(f(m).seoData, f(r).seoData);
71
+ return t || u;
72
+ }, ii = ({ open: r, setOpen: m, pageData: t }) => {
73
+ const u = V(), { data: e } = X(), n = _(), c = K("Homepage updated successfully."), [i, T] = j(f(t)), [d, v] = j({
74
+ isHomePage: (e == null ? void 0 : e.homepage) === t.uuid
75
+ }), N = W(i, t);
75
76
  z(() => {
76
- const l = !C(f(s), i), o = (e == null ? void 0 : e.homepage) !== s.uuid && d.isHomePage;
77
+ const l = !C(f(t), i), o = (e == null ? void 0 : e.homepage) !== t.uuid && d.isHomePage;
77
78
  m(l || o ? "PENDING" : "OPEN");
78
- }, [e, s, i, d, m]);
79
+ }, [e, t, i, d, m]);
79
80
  const S = () => {
80
81
  if (N) {
81
- if (s.type === "DYNAMIC" && !P((i == null ? void 0 : i.slug) || "")) {
82
+ if (t.type === "DYNAMIC" && !h((i == null ? void 0 : i.slug) || "")) {
82
83
  r === "ALERT" && m("PENDING");
83
84
  return;
84
85
  }
@@ -91,7 +92,7 @@ const O = I.lazy(() => import("./delete-page-modal-Zf3-4wLg.js")), J = I.lazy(()
91
92
  }
92
93
  });
93
94
  }
94
- d.isHomePage && (e == null ? void 0 : e.homepage) !== s.uuid && c.mutate({ ...e, homepage: s == null ? void 0 : s.uuid }, { onSuccess: () => m("CLOSE") });
95
+ d.isHomePage && (e == null ? void 0 : e.homepage) !== t.uuid && c.mutate({ ...e, homepage: t == null ? void 0 : t.uuid }, { onSuccess: () => m("CLOSE") });
95
96
  }, b = ({ formData: l }, o) => {
96
97
  T((p) => {
97
98
  var E, A;
@@ -148,8 +149,8 @@ const O = I.lazy(() => import("./delete-page-modal-Zf3-4wLg.js")), J = I.lazy(()
148
149
  default: d.isHomePage
149
150
  })
150
151
  };
151
- return /* @__PURE__ */ t.jsxs(Y, { className: "flex h-full select-none flex-col", children: [
152
- /* @__PURE__ */ t.jsx(
152
+ return /* @__PURE__ */ s.jsxs(Y, { className: "flex h-full select-none flex-col", children: [
153
+ /* @__PURE__ */ s.jsx(
153
154
  J,
154
155
  {
155
156
  open: r === "ALERT",
@@ -159,10 +160,10 @@ const O = I.lazy(() => import("./delete-page-modal-Zf3-4wLg.js")), J = I.lazy(()
159
160
  disabled: c.isPending || n.isPending
160
161
  }
161
162
  ),
162
- /* @__PURE__ */ t.jsx("div", { className: "rounded-md bg-background/30 px-2.5 py-1", children: /* @__PURE__ */ t.jsx("h1", { className: "px-1 font-semibold", children: "Page Details" }) }),
163
- /* @__PURE__ */ t.jsx("div", { className: "px-2.5 pt-2", children: /* @__PURE__ */ t.jsxs("div", { className: "flex flex-col space-y-2", children: [
164
- /* @__PURE__ */ t.jsx(
165
- h,
163
+ /* @__PURE__ */ s.jsx("div", { className: "rounded-md bg-background/30 px-2.5 py-1", children: /* @__PURE__ */ s.jsx("h1", { className: "px-1 font-semibold", children: "Page Details" }) }),
164
+ /* @__PURE__ */ s.jsx("div", { className: "px-2.5 pt-2", children: /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col space-y-2", children: [
165
+ /* @__PURE__ */ s.jsx(
166
+ P,
166
167
  {
167
168
  title: "Basic Details",
168
169
  formData: i,
@@ -171,9 +172,9 @@ const O = I.lazy(() => import("./delete-page-modal-Zf3-4wLg.js")), J = I.lazy(()
171
172
  disabled: n.isPending || c.isPending
172
173
  }
173
174
  ),
174
- /* @__PURE__ */ t.jsx("div", { className: "h-2 w-full" }),
175
- /* @__PURE__ */ t.jsx(
176
- h,
175
+ /* @__PURE__ */ s.jsx("div", { className: "h-2 w-full" }),
176
+ /* @__PURE__ */ s.jsx(
177
+ P,
177
178
  {
178
179
  title: "SEO Details",
179
180
  formData: i,
@@ -182,39 +183,39 @@ const O = I.lazy(() => import("./delete-page-modal-Zf3-4wLg.js")), J = I.lazy(()
182
183
  disabled: n.isPending || c.isPending
183
184
  }
184
185
  ),
185
- (e == null ? void 0 : e.homepage) !== s.uuid && s.type === "STATIC" ? /* @__PURE__ */ t.jsx(
186
- h,
186
+ (e == null ? void 0 : e.homepage) !== t.uuid && t.type === "STATIC" ? /* @__PURE__ */ s.jsx(
187
+ P,
187
188
  {
188
189
  formData: d,
189
190
  properties: R,
190
191
  onChange: H,
191
192
  disabled: n.isPending || c.isPending
192
193
  }
193
- ) : s.type === "STATIC" && /* @__PURE__ */ t.jsxs("div", { className: "flex items-center gap-x-1 px-1 pt-2 text-xs font-medium text-gray-500", children: [
194
- /* @__PURE__ */ t.jsx(G, {}),
194
+ ) : t.type === "STATIC" && /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-x-1 px-1 pt-2 text-xs font-medium text-gray-500", children: [
195
+ /* @__PURE__ */ s.jsx(G, {}),
195
196
  " This is homepage",
196
197
  " "
197
198
  ] }),
198
- i.type === "DYNAMIC" && !P((i == null ? void 0 : i.slug) || "") && /* @__PURE__ */ t.jsxs("small", { className: "px-1 text-red-400", children: [
199
+ i.type === "DYNAMIC" && !h((i == null ? void 0 : i.slug) || "") && /* @__PURE__ */ s.jsxs("small", { className: "px-1 text-red-400", children: [
199
200
  "Add dynamic ID in page slug Eg: ",
200
- /* @__PURE__ */ t.jsx("i", { className: "underline", children: "some-url/[some-id]" })
201
+ /* @__PURE__ */ s.jsx("i", { className: "underline", children: "some-url/[some-id]" })
201
202
  ] }),
202
- /* @__PURE__ */ t.jsxs("div", { className: "my-2 flex w-full items-center justify-between gap-x-2 px-1", children: [
203
- /* @__PURE__ */ t.jsx(
203
+ /* @__PURE__ */ s.jsxs("div", { className: "my-2 flex w-full items-center justify-between gap-x-2 px-1", children: [
204
+ /* @__PURE__ */ s.jsx(
204
205
  q,
205
206
  {
206
207
  className: "w-full",
207
208
  type: "submit",
208
209
  onClick: S,
209
- disabled: (e == null ? void 0 : e.homepage) !== s.uuid && d.isHomePage ? !1 : x(i.name) || x(i.slug) || !N || n.isPending || c.isPending || i.type === "DYNAMIC" && !P((i == null ? void 0 : i.slug) || ""),
210
+ disabled: (e == null ? void 0 : e.homepage) !== t.uuid && d.isHomePage ? !1 : x(i.name) || x(i.slug) || !N || n.isPending || c.isPending || i.type === "DYNAMIC" && !h((i == null ? void 0 : i.slug) || ""),
210
211
  children: "Save"
211
212
  }
212
213
  ),
213
- /* @__PURE__ */ t.jsx(O, { pageData: s, projectData: e })
214
+ /* @__PURE__ */ s.jsx(O, { pageData: t, projectData: e })
214
215
  ] })
215
216
  ] }) })
216
217
  ] });
217
218
  };
218
219
  export {
219
- ei as default
220
+ ii as default
220
221
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./jsx-runtime-Z_BpKhVy.cjs"),f=require("react"),c=require("lodash-es"),H=require("@radix-ui/react-icons"),y=require("./index-T3wfa1kz.cjs"),d=require("./controls-Dy1qa8Dc.cjs"),w=require("sonner"),p=require("./form-Y0Vb4m04.cjs"),P=require("./index-3TQsdso6.cjs");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("./Functions-N3yhPYKY.cjs");require("clsx");require("tailwind-merge");require("@chaibuilder/runtime");require("jotai");require("flat-to-nested");require("./MODIFIERS-9EwxLM8V.cjs");require("@react-hookz/web");require("@radix-ui/react-toggle");require("class-variance-authority");require("./Class-MmCxz2Ay.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-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("react-quill");require("react-i18next");require("@rjsf/core");require("@rjsf/validator-ajv8");require("./index-ZwpjuB-N.cjs");require("i18next");require("@floating-ui/react-dom");require("react-textarea-autosize");require("flagged");require("react-dnd");require("@minoru/react-dnd-treeview");require("react-hotkeys-hook");require("./html-to-json-FGufPv9R.cjs");require("himalaya");require("lucide-react");require("./index-ecnGWzh9.cjs");const z=f.lazy(()=>Promise.resolve().then(()=>require("./delete-page-modal-sOqRlmKb.cjs"))),L=f.lazy(()=>Promise.resolve().then(()=>require("./confirm-alert-ZpEIxh3X.cjs"))),E=u=>{if(!c.isString(u)||!(u.includes("/[")&&u.includes("]")))return!1;const s=/^\[((?:\.{3})?[a-zA-Z0-9_-]+)\]$/,q=/^[a-zA-Z0-9_-]+$/;let e=!0;return u.split("/").forEach(n=>{e&&(n.includes("[[")&&n.includes("]]")?e=/^\[\[\.{3}[a-zA-Z0-9_-]+\]\]$/.test(n):n.includes("[")&&n.includes("]")?e=s.test(n):e=q.test(n))}),e},h=u=>u&&c.isEmpty(u.seoData)?{...u,seoData:{title:"",description:"",image:""}}:u,G=(u,o)=>{const s=!c.isEqual(c.omit(u,["seoData"]),c.omit(o,["seoData"])),q=!c.isEqual(h(o).seoData,h(u).seoData);return s||q},Y=({open:u,setOpen:o,pageData:s})=>{const q=P.useQueryClient(),{data:e}=P.useProject(),n=P.useUpdatePage(),m=P.useUpdateProject("Homepage updated successfully."),[i,b]=f.useState(h(s)),[a,A]=f.useState({isHomePage:(e==null?void 0:e.homepage)===s.uuid}),j=G(i,s);f.useEffect(()=>{const l=!c.isEqual(h(s),i),t=(e==null?void 0:e.homepage)!==s.uuid&&a.isHomePage;o(l||t?"PENDING":"OPEN")},[e,s,i,a,o]);const C=()=>{if(j){if(s.type==="DYNAMIC"&&!E((i==null?void 0:i.slug)||"")){u==="ALERT"&&o("PENDING");return}n.mutate(i,{onSuccess:()=>{q.invalidateQueries({refetchType:"active",queryKey:["pages",e==null?void 0:e.uuid]}),o("CLOSE"),w.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")})},R=({formData:l},t)=>{b(g=>{var S,N;if(!t)return g;const x={[t]:l[t]};return t==="name"?x.slug=c.kebabCase((S=l[t])==null?void 0:S.replace(/\d/g,"")):t==="slug"?x.slug=(N=l[t])==null?void 0:N.replace(/\d/g,"").replace(/\s+/g,"").replace("--","-").replace("__","_"):t==="seoData"&&(x.seoData={title:l[t].title||"",description:l[t].description||"",image:l[t].image||""}),{...g,...x}})},I=({formData:l},t)=>{A(g=>{const x={[t]:l[t]};return{...g,...x}})},v={name:d.u({title:"Page Name",default:i.name}),slug:d.u({title:"Page Slug",default:i.slug})},T={seoData:d.b({title:"",description:"",default:{title:"",description:"",image:""},properties:{title:d.u({title:"Meta Title",default:i.name}),description:d.g({title:"Meta Description",default:i.slug}),image:d.o({title:"Social Media Image",default:""})}})},M={isHomePage:d.r({title:"Set as homepage",default:a.isHomePage})};return r.jsxRuntimeExports.jsxs(y.ScrollArea,{className:"flex h-full select-none flex-col",children:[r.jsxRuntimeExports.jsx(L,{open:u==="ALERT",title:"Do yo want to save changes?",onCancel:()=>o("CLOSE"),onConfirm:C,disabled:m.isPending||n.isPending}),r.jsxRuntimeExports.jsx("div",{className:"rounded-md bg-background/30 px-2.5 py-1",children:r.jsxRuntimeExports.jsx("h1",{className:"px-1 font-semibold",children:"Page Details"})}),r.jsxRuntimeExports.jsx("div",{className:"px-2.5 pt-2",children:r.jsxRuntimeExports.jsxs("div",{className:"flex flex-col space-y-2",children:[r.jsxRuntimeExports.jsx(p.Form,{title:"Basic Details",formData:i,properties:v,onChange:R,disabled:n.isPending||m.isPending}),r.jsxRuntimeExports.jsx("div",{className:"h-2 w-full"}),r.jsxRuntimeExports.jsx(p.Form,{title:"SEO Details",formData:i,properties:T,onChange:R,disabled:n.isPending||m.isPending}),(e==null?void 0:e.homepage)!==s.uuid&&s.type==="STATIC"?r.jsxRuntimeExports.jsx(p.Form,{formData:a,properties:M,onChange:I,disabled:n.isPending||m.isPending}):s.type==="STATIC"&&r.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-x-1 px-1 pt-2 text-xs font-medium text-gray-500",children:[r.jsxRuntimeExports.jsx(H.HomeIcon,{})," This is homepage"," "]}),i.type==="DYNAMIC"&&!E((i==null?void 0:i.slug)||"")&&r.jsxRuntimeExports.jsxs("small",{className:"px-1 text-red-400",children:["Add dynamic ID in page slug Eg: ",r.jsxRuntimeExports.jsx("i",{className:"underline",children:"some-url/[some-id]"})]}),r.jsxRuntimeExports.jsxs("div",{className:"my-2 flex w-full items-center justify-between gap-x-2 px-1",children:[r.jsxRuntimeExports.jsx(y.Button,{className:"w-full",type:"submit",onClick:C,disabled:(e==null?void 0:e.homepage)!==s.uuid&&a.isHomePage?!1:c.isEmpty(i.name)||c.isEmpty(i.slug)||!j||n.isPending||m.isPending||i.type==="DYNAMIC"&&!E((i==null?void 0:i.slug)||""),children:"Save"}),r.jsxRuntimeExports.jsx(z,{pageData:s,projectData:e})]})]})})]})};exports.default=Y;
package/dist/studio.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./jsx-runtime-Z_BpKhVy.cjs");const e=require("./index-DT71IahS.cjs");require("react");require("sonner");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("i18next");require("react-i18next");require("./index-ERorPL9q.cjs");require("lodash-es");require("./Functions-N3yhPYKY.cjs");require("clsx");require("tailwind-merge");require("@chaibuilder/runtime");require("jotai");require("flat-to-nested");require("./MODIFIERS-2FeVfZQ9.cjs");require("@react-hookz/web");require("@radix-ui/react-toggle");require("class-variance-authority");require("./Class-5ARpH_Tu.cjs");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-icons");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("react-quill");require("@floating-ui/react-dom");require("react-textarea-autosize");require("flagged");require("react-dnd");require("@minoru/react-dnd-treeview");require("react-hotkeys-hook");require("./html-to-json-2PeOCVey.cjs");require("himalaya");require("lucide-react");require("./web-blocks.cjs");require("./empty-slot-2LSrWJaY.cjs");exports.ChaiBuilderStudio=e.ChaiBuilderStudio;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./jsx-runtime-Z_BpKhVy.cjs");const e=require("./index-3TQsdso6.cjs");require("react");require("sonner");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("./index-ZwpjuB-N.cjs");require("i18next");require("react-i18next");require("./index-T3wfa1kz.cjs");require("lodash-es");require("./Functions-N3yhPYKY.cjs");require("clsx");require("tailwind-merge");require("@chaibuilder/runtime");require("jotai");require("flat-to-nested");require("./MODIFIERS-9EwxLM8V.cjs");require("@react-hookz/web");require("@radix-ui/react-toggle");require("class-variance-authority");require("./Class-MmCxz2Ay.cjs");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-icons");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("react-quill");require("@floating-ui/react-dom");require("react-textarea-autosize");require("flagged");require("react-dnd");require("@minoru/react-dnd-treeview");require("react-hotkeys-hook");require("./html-to-json-FGufPv9R.cjs");require("himalaya");require("lucide-react");require("./index-ecnGWzh9.cjs");exports.ChaiBuilderStudio=e.ChaiBuilderStudio;
package/dist/studio.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { JSX as JSX_2 } from 'react/jsx-runtime';
2
2
  import { default as React_2 } from 'react';
3
+ import { ReactNode } from 'react';
3
4
 
4
5
  declare interface Block {
5
6
  type: string;
@@ -23,6 +24,8 @@ declare type ChaiBlock = {
23
24
  } & Record<string, any>;
24
25
 
25
26
  declare interface ChaiBuilderEditorProps {
27
+ autoSaveSupport?: boolean;
28
+ autoSaveInterval?: TimeInSeconds;
26
29
  breakpoints?: Breakpoint[];
27
30
  editable?: boolean;
28
31
  loading?: boolean;
@@ -53,10 +56,9 @@ declare interface ChaiBuilderEditorProps {
53
56
  blocks?: ChaiBlock[];
54
57
  onSaveBlocks?: ({ blocks, providers }: any) => Promise<any>;
55
58
  onSavePage?: ({ blocks, providers }: SavePageData) => Promise<boolean | Error>;
59
+ onSave?: ({ blocks, providers }: SavePageData) => Promise<boolean | Error>;
56
60
  brandingOptions?: Record<string, string>;
57
61
  onSaveBrandingOptions?: (brandingOptions: Record<string, any>) => Promise<boolean | Error>;
58
- container?: ChaiBlock | "Body" | "Container";
59
- onSaveContainer?: (container: ChaiBlock) => Promise<boolean | Error>;
60
62
  onSyncStatusChange?: (syncStatus: "UNSAVED" | "SAVED") => void;
61
63
  previewComponent?: ReactComponentType;
62
64
  sideBarComponents?: {
@@ -72,6 +74,7 @@ declare interface ChaiBuilderEditorProps {
72
74
  left?: ReactComponentType[];
73
75
  right?: ReactComponentType[];
74
76
  };
77
+ outlineMenuItems?: OutlineMenuItems;
75
78
  getPages?: () => Promise<ChaiPage[]>;
76
79
  unsplashAccessKey?: string;
77
80
  }
@@ -98,6 +101,13 @@ declare type DataProvider = {
98
101
  args: Record<string, any>;
99
102
  };
100
103
 
104
+ declare type OutlineMenuItem = {
105
+ item: (blockId: string) => ReactNode;
106
+ tooltip: string | ReactNode;
107
+ };
108
+
109
+ declare type OutlineMenuItems = OutlineMenuItem[];
110
+
101
111
  declare type PredefinedBlock = {
102
112
  uuid: string;
103
113
  name: string;
@@ -111,8 +121,11 @@ declare type ReactComponentType = React_2.ComponentType<any>;
111
121
  declare type SavePageData = {
112
122
  blocks: ChaiBlock[];
113
123
  providers?: DataProvider[];
124
+ brandingOptions?: Record<string, any>;
114
125
  };
115
126
 
127
+ declare type TimeInSeconds = number;
128
+
116
129
  declare interface UILibrary {
117
130
  name: string;
118
131
  uuid: string;
package/dist/studio.js CHANGED
@@ -1,11 +1,12 @@
1
1
  import "./jsx-runtime-WbnYoNE9.js";
2
- import { k as ii } from "./index-rktN6W1Y.js";
2
+ import { C as ii } from "./index-627XtO9e.js";
3
3
  import "react";
4
4
  import "sonner";
5
5
  import "./_commonjsHelpers-UyOWmZb0.js";
6
+ import "./index-LF3KXx4u.js";
6
7
  import "i18next";
7
8
  import "react-i18next";
8
- import "./index-QGA4ayU7.js";
9
+ import "./index-ZBqiaKhx.js";
9
10
  import "lodash-es";
10
11
  import "./Functions-7jnEwJyw.js";
11
12
  import "clsx";
@@ -13,11 +14,11 @@ import "tailwind-merge";
13
14
  import "@chaibuilder/runtime";
14
15
  import "jotai";
15
16
  import "flat-to-nested";
16
- import "./MODIFIERS-RiXS5Mn1.js";
17
+ import "./MODIFIERS-WQdaNvb8.js";
17
18
  import "@react-hookz/web";
18
19
  import "@radix-ui/react-toggle";
19
20
  import "class-variance-authority";
20
- import "./Class-17XFhL48.js";
21
+ import "./Class-3k8xjeiM.js";
21
22
  import "@radix-ui/react-switch";
22
23
  import "@radix-ui/react-slot";
23
24
  import "@radix-ui/react-accordion";
@@ -46,11 +47,10 @@ import "flagged";
46
47
  import "react-dnd";
47
48
  import "@minoru/react-dnd-treeview";
48
49
  import "react-hotkeys-hook";
49
- import "./html-to-json-57841sEK.js";
50
+ import "./html-to-json-C5sExaSD.js";
50
51
  import "himalaya";
51
52
  import "lucide-react";
52
- import "./web-blocks.js";
53
- import "./empty-slot-5FRrRq1E.js";
53
+ import "./index-YpnaudSM.js";
54
54
  export {
55
55
  ii as ChaiBuilderStudio
56
56
  };