@chaibuilder/sdk 3.2.6 → 3.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/render.cjs CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("./plugin-CSgw-f78.cjs"),d=require("./apply-binding-DWIWrG2P.cjs"),m=require("react/jsx-runtime"),b=require("@chaibuilder/runtime"),t=require("lodash-es"),g=require("react"),D=require("@tailwindcss/aspect-ratio"),F=require("@tailwindcss/forms"),q=require("@tailwindcss/typography");require("tailwindcss-animate");const j=require("./get-chai-builder-theme-B1tr_NJB.cjs"),K=require("@mhsdesign/jit-browser-tailwindcss"),M=require("@tailwindcss/container-queries");async function O(e){const a={pageProps:e.pageProps,block:e.block,lang:e.lang,draft:e.draft,inBuilder:!1},n=await e.dataProvider(a);return t.has(n,"$metadata")&&t.isFunction(e.dataProviderMetadataCallback)&&e.dataProviderMetadataCallback(e.block,n.$metadata),e.children({...t.omit(n,"$metadata")})}const N=()=>m.jsx("div",{}),H=e=>{const{block:a,lang:n,fallbackLang:s,children:i,externalData:o,blocks:l,draft:r,pageProps:c,dataProviderMetadataCallback:k}=e,u=b.getRegisteredChaiBlock(a._type),p=t.get(u,"component",null),P=t.get(e.repeaterData,"index",-1),f=t.get(e.repeaterData,"dataKey",""),I=n===s?"":n,y=d.applyBindingToBlockProps(d.applyLanguage(a,I,u),o,{index:P,key:f}),h=d.getBlockTagAttributes(a,!1),T=L(l,a._id,d.getBlockRuntimeProps(a._type)),S=t.has(u,"dataProvider")&&t.isFunction(u.dataProvider),B={...y,...h,...T},_={blockProps:{},inBuilder:!1,lang:n||s,...B},v=t.get(B,"_show",!0);if(t.isNull(p)||!v)return null;if(S){const $=t.get(u,"suspenseFallback",N);return m.jsx(g.Suspense,{fallback:g.createElement($),children:m.jsx(O,{lang:n,pageProps:c,block:B,dataProvider:u.dataProvider,...k?{dataProviderMetadataCallback:k}:{},draft:r,children:x=>g.createElement(p,{..._,...x,children:i({_id:a._id,_type:a._type,...t.isArray(y.repeaterItems)?{repeaterItems:d.applyLimit(y.repeaterItems,a),$repeaterItemsKey:y.$repeaterItemsKey,repeaterTotalItems:y.repeaterTotalItems??-1}:{}})})})})}return m.jsx(g.Suspense,{children:g.createElement(p,{..._,children:i({_id:a._id,_type:a._type,...t.isArray(y.repeaterItems)?{repeaterItems:d.applyLimit(y.repeaterItems,a),$repeaterItemsKey:y.$repeaterItemsKey,repeaterTotalItems:y.repeaterTotalItems??-1}:{}})})})},E=e=>{const{blocks:a,parent:n,repeaterData:s,type:i}=e;let o=t.uniqBy(t.filter(a,r=>t.has(r,"_id")&&(t.isEmpty(n)?!r._parent:r._parent===n)),"_id");const l=r=>t.filter(a,c=>c._parent===r).length>0;return(i==="Heading"||i==="Paragraph"||i==="Link"||i==="Span")&&(o=d.adjustSpacingInContentBlocks(o)),t.map(o,r=>r?g.createElement(H,{...e,key:r._id,block:r},({_id:c,_type:k,repeaterItems:u,$repeaterItemsKey:p})=>k==="Repeater"?t.isArray(u)&&u.map((P,f)=>g.createElement(E,{...e,parent:r._id,key:`${t.get(r,"_parent","root")}-${r._id}-${f}`,repeaterData:{index:f,dataKey:p}})):l(c)?g.createElement(E,{...e,parent:r._id,key:`${t.get(r,"_parent","root")}-${r._id}`,repeaterData:s,type:r._type}):null):null)},L=(e,a,n)=>t.isEmpty(n)?{}:Object.entries(n).reduce((s,[i,o])=>{const l=[];let r=t.find(e,{_id:a});for(;r;)l.push(r),r=t.find(e,{_id:r._parent});const c=t.find(l,{_type:o.block});return c&&(s[i]=t.get(c,t.get(o,"prop"),null)),s},{});function J(e){if(t.isEmpty(e.lang)&&!t.isEmpty(e.fallbackLang))throw new Error("lang prop is required when fallbackLang is provided");if(t.isEmpty(e.blocks))return null;const a=e.lang??"en",n=e.fallbackLang??a;return m.jsx(E,{...e,lang:a,fallbackLang:n})}async function V(e){const a=await e.dataProvider;return t.has(a,"$metadata")&&t.isFunction(e.dataProviderMetadataCallback)&&e.dataProviderMetadataCallback(e.block,a.$metadata),e.children({...t.omit(a,"$metadata")})}const W=()=>m.jsx("div",{}),U=async e=>{const{block:a,lang:n,fallbackLang:s,children:i,externalData:o,blocks:l,draft:r,pageProps:c,dataProviderMetadataCallback:k,dataProviders:u}=e,p=b.getRegisteredChaiBlock(a._type),P=t.get(p,"component",null),f=t.get(e.repeaterData,"index",-1),I=t.get(e.repeaterData,"dataKey",""),y=n===s?"":n,h=d.applyBindingToBlockProps(d.applyLanguage(a,y,p),o,{index:f,key:I}),T=d.getBlockTagAttributes(a,!1),S=L(l,a._id,d.getBlockRuntimeProps(a._type)),B=t.has(p,"dataProvider")&&t.isFunction(p.dataProvider),_={...h,...T,...S},v={blockProps:{},inBuilder:!1,lang:n||s,..._},$=t.get(_,"_show",!0);if(t.isNull(P)||!$)return null;if(B){const x=t.get(u,a._id,Promise.resolve({})),R=t.get(p,"suspenseFallback",W);return m.jsx(g.Suspense,{fallback:g.createElement(R),children:m.jsx(V,{lang:n,pageProps:c,block:_,dataProvider:x,...k?{dataProviderMetadataCallback:k}:{},draft:r,children:A=>g.createElement(P,{...v,draft:r,...A,children:i({_id:a._id,_type:a._type,...t.isArray(h.repeaterItems)?{repeaterItems:d.applyLimit(h.repeaterItems,a),$repeaterItemsKey:h.$repeaterItemsKey,repeaterTotalItems:h.repeaterTotalItems??-1}:{}})})})})}return g.createElement(P,{...v,draft:r,children:i({_id:a._id,_type:a._type,...t.isArray(h.repeaterItems)?{repeaterItems:d.applyLimit(h.repeaterItems,a),$repeaterItemsKey:h.$repeaterItemsKey,repeaterTotalItems:h.repeaterTotalItems??-1}:{}})})},C=async e=>{const{blocks:a,parent:n,repeaterData:s,type:i}=e;let o=t.uniqBy(t.filter(a,r=>t.has(r,"_id")&&(t.isEmpty(n)?!r._parent:r._parent===n)),"_id");const l=r=>t.filter(a,c=>c._parent===r).length>0;return(i==="Heading"||i==="Paragraph"||i==="Link")&&(o=d.adjustSpacingInContentBlocks(o)),t.map(o,r=>r?g.createElement(U,{dataProviders:e.dataProviders,...e,key:r._id,block:r},({_id:c,_type:k,repeaterItems:u,$repeaterItemsKey:p})=>k==="Repeater"?t.isArray(u)&&u.map((P,f)=>g.createElement(C,{...e,parent:r._id,key:`${t.get(r,"_parent","root")}-${r._id}-${f}`,repeaterData:{index:f,dataKey:p}})):l(c)?g.createElement(C,{...e,parent:r._id,key:`${t.get(r,"_parent","root")}-${r._id}`,repeaterData:s,type:r._type}):null):null)};async function G(e){if(t.isEmpty(e.lang)&&!t.isEmpty(e.fallbackLang))throw new Error("lang prop is required when fallbackLang is provided");if(t.isEmpty(e.blocks))return null;const a=e.lang??"en",n=e.fallbackLang??a;if(e.dataProviders)return m.jsx(C,{...e,lang:a,fallbackLang:n,dataProviders:e.dataProviders});const i=e.blocks.filter(o=>{const l=b.getRegisteredChaiBlock(o._type);return!!(t.has(l,"dataProvider")&&t.isFunction(l.dataProvider))}).reduce((o,l)=>{const r=b.getRegisteredChaiBlock(l._type),c={pageProps:e.pageProps,block:l,lang:e.lang,draft:e.draft,inBuilder:!1};return o[l._id]=r.dataProvider(c),o},{});return m.jsx(C,{...e,lang:a,fallbackLang:n,dataProviders:i})}function z(e,a){const n=e.filter(({_type:s})=>s==="GlobalBlock"||s==="PartialBlock");for(let s=0;s<n.length;s++){const i=n[s],o=t.get(i,"partialBlockId",t.get(i,"globalBlock",""));if(o==="")continue;let l=t.cloneDeep(t.get(a,o,[]));i._parent&&(l==null?void 0:l.length)>0&&(l=l.map(c=>(t.isEmpty(c._parent)&&(c._parent=i._parent),c)));const r=e.indexOf(i);e.splice(r,1,...l)}return e}const Q=e=>{if(!e)return[];try{return JSON.parse(X(e)).filter(n=>!n._type.startsWith("@chai"))}catch{return[{_type:"Paragraph",_id:"error",content:"Invalid JSON. Please check the JSON string."}]}};function X(e){const a=/(asset:\/\/|https:\/\/asset\.localhost\/)(?:localhost\/)?[^"']+/g;return e.replace(a,n=>{const s=decodeURIComponent(n),i=s.indexOf("public");return i!==-1?s.substring(i+6):s})}async function Y(e,a=[],n=!1){return await K.createTailwindcss({tailwindConfig:{darkMode:"class",safelist:a,theme:{extend:{...j.getChaiBuilderTheme(),keyframes:{"accordion-down":{from:{height:"0"},to:{height:"var(--radix-accordion-content-height)"}},"accordion-up":{from:{height:"var(--radix-accordion-content-height)"},to:{height:"0"}}},animation:{"accordion-down":"accordion-down 0.2s ease-out","accordion-up":"accordion-up 0.2s ease-out"}}},plugins:[F,q,D,M,w.chaiBuilderPlugin],corePlugins:{preflight:n}}}).generateStylesFromContent(` ${n?"@tailwind base;":""}
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("./plugin-CSgw-f78.cjs"),d=require("./apply-binding-DWIWrG2P.cjs"),m=require("react/jsx-runtime"),b=require("@chaibuilder/runtime"),t=require("lodash-es"),g=require("react"),A=require("@tailwindcss/aspect-ratio"),F=require("@tailwindcss/forms"),q=require("@tailwindcss/typography");require("tailwindcss-animate");const j=require("./get-chai-builder-theme-B1tr_NJB.cjs"),K=require("@mhsdesign/jit-browser-tailwindcss"),M=require("@tailwindcss/container-queries");async function O(e){const a={pageProps:e.pageProps,block:e.block,lang:e.lang,draft:e.draft,inBuilder:!1},n=await e.dataProvider(a);return t.has(n,"$metadata")&&t.isFunction(e.dataProviderMetadataCallback)&&e.dataProviderMetadataCallback(e.block,n.$metadata),e.children({...t.omit(n,"$metadata")})}const N=()=>m.jsx("div",{}),H=e=>{const{block:a,lang:n,fallbackLang:s,children:i,externalData:l,blocks:o,draft:r,pageProps:c,dataProviderMetadataCallback:k}=e,u=b.getRegisteredChaiBlock(a._type),p=t.get(u,"component",null),P=t.get(e.repeaterData,"index",-1),f=t.get(e.repeaterData,"dataKey",""),I=n===s?"":n,y=d.applyBindingToBlockProps(d.applyLanguage(a,I,u),l,{index:P,key:f}),h=d.getBlockTagAttributes(a,!1),T=L(o,a._id,d.getBlockRuntimeProps(a._type)),S=t.has(u,"dataProvider")&&t.isFunction(u.dataProvider),B={...y,...h,...T},_={blockProps:{},inBuilder:!1,lang:n||s,pageData:l,...B},v=t.get(B,"_show",!0);if(t.isNull(p)||!v)return null;if(S){const $=t.get(u,"suspenseFallback",N);return m.jsx(g.Suspense,{fallback:g.createElement($),children:m.jsx(O,{lang:n,pageProps:c,block:B,dataProvider:u.dataProvider,...k?{dataProviderMetadataCallback:k}:{},draft:r,children:x=>g.createElement(p,{..._,...x,children:i({_id:a._id,_type:a._type,...t.isArray(y.repeaterItems)?{repeaterItems:d.applyLimit(y.repeaterItems,a),$repeaterItemsKey:y.$repeaterItemsKey,repeaterTotalItems:y.repeaterTotalItems??-1}:{}})})})})}return m.jsx(g.Suspense,{children:g.createElement(p,{..._,children:i({_id:a._id,_type:a._type,...t.isArray(y.repeaterItems)?{repeaterItems:d.applyLimit(y.repeaterItems,a),$repeaterItemsKey:y.$repeaterItemsKey,repeaterTotalItems:y.repeaterTotalItems??-1}:{}})})})},E=e=>{const{blocks:a,parent:n,repeaterData:s,type:i}=e;let l=t.uniqBy(t.filter(a,r=>t.has(r,"_id")&&(t.isEmpty(n)?!r._parent:r._parent===n)),"_id");const o=r=>t.filter(a,c=>c._parent===r).length>0;return(i==="Heading"||i==="Paragraph"||i==="Link"||i==="Span")&&(l=d.adjustSpacingInContentBlocks(l)),t.map(l,r=>r?g.createElement(H,{...e,key:r._id,block:r},({_id:c,_type:k,repeaterItems:u,$repeaterItemsKey:p})=>k==="Repeater"?t.isArray(u)&&u.map((P,f)=>g.createElement(E,{...e,parent:r._id,key:`${t.get(r,"_parent","root")}-${r._id}-${f}`,repeaterData:{index:f,dataKey:p}})):o(c)?g.createElement(E,{...e,parent:r._id,key:`${t.get(r,"_parent","root")}-${r._id}`,repeaterData:s,type:r._type}):null):null)},L=(e,a,n)=>t.isEmpty(n)?{}:Object.entries(n).reduce((s,[i,l])=>{const o=[];let r=t.find(e,{_id:a});for(;r;)o.push(r),r=t.find(e,{_id:r._parent});const c=t.find(o,{_type:l.block});return c&&(s[i]=t.get(c,t.get(l,"prop"),null)),s},{});function J(e){if(t.isEmpty(e.lang)&&!t.isEmpty(e.fallbackLang))throw new Error("lang prop is required when fallbackLang is provided");if(t.isEmpty(e.blocks))return null;const a=e.lang??"en",n=e.fallbackLang??a;return m.jsx(E,{...e,lang:a,fallbackLang:n})}async function V(e){const a=await e.dataProvider;return t.has(a,"$metadata")&&t.isFunction(e.dataProviderMetadataCallback)&&e.dataProviderMetadataCallback(e.block,a.$metadata),e.children({...t.omit(a,"$metadata")})}const W=()=>m.jsx("div",{}),U=async e=>{const{block:a,lang:n,fallbackLang:s,children:i,externalData:l,blocks:o,draft:r,pageProps:c,dataProviderMetadataCallback:k,dataProviders:u}=e,p=b.getRegisteredChaiBlock(a._type),P=t.get(p,"component",null),f=t.get(e.repeaterData,"index",-1),I=t.get(e.repeaterData,"dataKey",""),y=n===s?"":n,h=d.applyBindingToBlockProps(d.applyLanguage(a,y,p),l,{index:f,key:I}),T=d.getBlockTagAttributes(a,!1),S=L(o,a._id,d.getBlockRuntimeProps(a._type)),B=t.has(p,"dataProvider")&&t.isFunction(p.dataProvider),_={...h,...T,...S},v={blockProps:{},inBuilder:!1,lang:n||s,pageData:l,..._},$=t.get(_,"_show",!0);if(t.isNull(P)||!$)return null;if(B){const x=t.get(u,a._id,Promise.resolve({})),D=t.get(p,"suspenseFallback",W);return m.jsx(g.Suspense,{fallback:g.createElement(D),children:m.jsx(V,{lang:n,pageProps:c,block:_,dataProvider:x,...k?{dataProviderMetadataCallback:k}:{},draft:r,children:R=>g.createElement(P,{...v,draft:r,...R,children:i({_id:a._id,_type:a._type,...t.isArray(h.repeaterItems)?{repeaterItems:d.applyLimit(h.repeaterItems,a),$repeaterItemsKey:h.$repeaterItemsKey,repeaterTotalItems:h.repeaterTotalItems??-1}:{}})})})})}return g.createElement(P,{...v,draft:r,children:i({_id:a._id,_type:a._type,...t.isArray(h.repeaterItems)?{repeaterItems:d.applyLimit(h.repeaterItems,a),$repeaterItemsKey:h.$repeaterItemsKey,repeaterTotalItems:h.repeaterTotalItems??-1}:{}})})},C=async e=>{const{blocks:a,parent:n,repeaterData:s,type:i}=e;let l=t.uniqBy(t.filter(a,r=>t.has(r,"_id")&&(t.isEmpty(n)?!r._parent:r._parent===n)),"_id");const o=r=>t.filter(a,c=>c._parent===r).length>0;return(i==="Heading"||i==="Paragraph"||i==="Link")&&(l=d.adjustSpacingInContentBlocks(l)),t.map(l,r=>r?g.createElement(U,{dataProviders:e.dataProviders,...e,key:r._id,block:r},({_id:c,_type:k,repeaterItems:u,$repeaterItemsKey:p})=>k==="Repeater"?t.isArray(u)&&u.map((P,f)=>g.createElement(C,{...e,parent:r._id,key:`${t.get(r,"_parent","root")}-${r._id}-${f}`,repeaterData:{index:f,dataKey:p}})):o(c)?g.createElement(C,{...e,parent:r._id,key:`${t.get(r,"_parent","root")}-${r._id}`,repeaterData:s,type:r._type}):null):null)};async function G(e){if(t.isEmpty(e.lang)&&!t.isEmpty(e.fallbackLang))throw new Error("lang prop is required when fallbackLang is provided");if(t.isEmpty(e.blocks))return null;const a=e.lang??"en",n=e.fallbackLang??a;if(e.dataProviders)return m.jsx(C,{...e,lang:a,fallbackLang:n,dataProviders:e.dataProviders});const i=e.blocks.filter(l=>{const o=b.getRegisteredChaiBlock(l._type);return!!(t.has(o,"dataProvider")&&t.isFunction(o.dataProvider))}).reduce((l,o)=>{const r=b.getRegisteredChaiBlock(o._type),c={pageProps:e.pageProps,block:o,lang:e.lang,draft:e.draft,inBuilder:!1};return l[o._id]=r.dataProvider(c),l},{});return m.jsx(C,{...e,lang:a,fallbackLang:n,dataProviders:i})}function z(e,a){const n=e.filter(({_type:s})=>s==="GlobalBlock"||s==="PartialBlock");for(let s=0;s<n.length;s++){const i=n[s],l=t.get(i,"partialBlockId",t.get(i,"globalBlock",""));if(l==="")continue;let o=t.cloneDeep(t.get(a,l,[]));i._parent&&(o==null?void 0:o.length)>0&&(o=o.map(c=>(t.isEmpty(c._parent)&&(c._parent=i._parent),c)));const r=e.indexOf(i);e.splice(r,1,...o)}return e}const Q=e=>{if(!e)return[];try{return JSON.parse(X(e)).filter(n=>!n._type.startsWith("@chai"))}catch{return[{_type:"Paragraph",_id:"error",content:"Invalid JSON. Please check the JSON string."}]}};function X(e){const a=/(asset:\/\/|https:\/\/asset\.localhost\/)(?:localhost\/)?[^"']+/g;return e.replace(a,n=>{const s=decodeURIComponent(n),i=s.indexOf("public");return i!==-1?s.substring(i+6):s})}async function Y(e,a=[],n=!1){return await K.createTailwindcss({tailwindConfig:{darkMode:"class",safelist:a,theme:{extend:{...j.getChaiBuilderTheme(),keyframes:{"accordion-down":{from:{height:"0"},to:{height:"var(--radix-accordion-content-height)"}},"accordion-up":{from:{height:"var(--radix-accordion-content-height)"},to:{height:"0"}}},animation:{"accordion-down":"accordion-down 0.2s ease-out","accordion-up":"accordion-up 0.2s ease-out"}}},plugins:[F,q,A,M,w.chaiBuilderPlugin],corePlugins:{preflight:n}}}).generateStylesFromContent(` ${n?"@tailwind base;":""}
2
2
  @tailwind components;
3
3
  @tailwind utilities;`,e)}const Z=(e,a)=>{const n=JSON.stringify(e).replace(/#styles:([^"]*)/g,(s,i)=>`#styles:${i.replace(/,/g," ")}`.replace(/#styles:/g,""));return Y([n],[],a)},ee=async(e,a=!1)=>await Z(e,a);exports.getChaiThemeCssVariables=w.getChaiThemeCssVariables;exports.getThemeFontsCSSImport=w.getThemeFontsCSSImport;exports.getThemeFontsLinkMarkup=w.getThemeFontsLinkMarkup;exports.applyChaiDataBinding=d.applyChaiDataBinding;exports.applyDesignTokens=d.applyDesignTokens;exports.convertHTMLToChaiBlocks=d.getBlocksFromHTML;exports.AsyncRenderChaiBlocks=G;exports.RenderChaiBlocks=J;exports.convertToBlocks=Q;exports.getMergedPartialBlocks=z;exports.getStylesForBlocks=ee;
package/dist/render.d.ts CHANGED
@@ -104,7 +104,7 @@ declare type RenderChaiBlocksProps = {
104
104
  declare type RenderChaiBlocksProps_2 = {
105
105
  blocks: ChaiBlock[];
106
106
  parent?: string;
107
- externalData?: Record<string, any>;
107
+ externalData?: Record<string, unknown>;
108
108
  lang?: string;
109
109
  fallbackLang?: string;
110
110
  pageProps?: ChaiPageProps;
package/dist/render.js CHANGED
@@ -26,11 +26,11 @@ async function ne(e) {
26
26
  });
27
27
  }
28
28
  const ie = () => /* @__PURE__ */ m("div", {}), oe = (e) => {
29
- const { block: t, lang: r, fallbackLang: i, children: n, externalData: s, blocks: o, draft: a, pageProps: l, dataProviderMetadataCallback: k } = e, c = $(t._type), u = d(c, "component", null), _ = d(e.repeaterData, "index", -1), y = d(e.repeaterData, "dataKey", ""), f = O(
29
+ const { block: t, lang: r, fallbackLang: i, children: n, externalData: o, blocks: s, draft: a, pageProps: l, dataProviderMetadataCallback: k } = e, c = $(t._type), u = d(c, "component", null), _ = d(e.repeaterData, "index", -1), y = d(e.repeaterData, "dataKey", ""), f = O(
30
30
  N(t, r === i ? "" : r, c),
31
- s,
31
+ o,
32
32
  { index: _, key: y }
33
- ), g = E(t, !1), x = V(o, t._id, J(t._type)), L = P(c, "dataProvider") && w(c.dataProvider), B = {
33
+ ), g = E(t, !1), x = V(s, t._id, J(t._type)), L = P(c, "dataProvider") && w(c.dataProvider), B = {
34
34
  ...f,
35
35
  ...g,
36
36
  ...x
@@ -38,6 +38,7 @@ const ie = () => /* @__PURE__ */ m("div", {}), oe = (e) => {
38
38
  blockProps: {},
39
39
  inBuilder: !1,
40
40
  lang: r || i,
41
+ pageData: o,
41
42
  ...B
42
43
  }, I = d(B, "_show", !0);
43
44
  if (H(u) || !I) return null;
@@ -82,12 +83,12 @@ const ie = () => /* @__PURE__ */ m("div", {}), oe = (e) => {
82
83
  }) });
83
84
  }, F = (e) => {
84
85
  const { blocks: t, parent: r, repeaterData: i, type: n } = e;
85
- let s = W(
86
+ let o = W(
86
87
  S(t, (a) => P(a, "_id") && (h(r) ? !a._parent : a._parent === r)),
87
88
  "_id"
88
89
  );
89
- const o = (a) => S(t, (l) => l._parent === a).length > 0;
90
- return (n === "Heading" || n === "Paragraph" || n === "Link" || n === "Span") && (s = j(s)), U(s, (a) => a ? /* @__PURE__ */ p(oe, { ...e, key: a._id, block: a }, ({ _id: l, _type: k, repeaterItems: c, $repeaterItemsKey: u }) => k === "Repeater" ? b(c) && c.map((_, y) => /* @__PURE__ */ p(
90
+ const s = (a) => S(t, (l) => l._parent === a).length > 0;
91
+ return (n === "Heading" || n === "Paragraph" || n === "Link" || n === "Span") && (o = j(o)), U(o, (a) => a ? /* @__PURE__ */ p(oe, { ...e, key: a._id, block: a }, ({ _id: l, _type: k, repeaterItems: c, $repeaterItemsKey: u }) => k === "Repeater" ? b(c) && c.map((_, y) => /* @__PURE__ */ p(
91
92
  F,
92
93
  {
93
94
  ...e,
@@ -95,7 +96,7 @@ const ie = () => /* @__PURE__ */ m("div", {}), oe = (e) => {
95
96
  key: `${d(a, "_parent", "root")}-${a._id}-${y}`,
96
97
  repeaterData: { index: y, dataKey: u }
97
98
  }
98
- )) : o(l) ? /* @__PURE__ */ p(
99
+ )) : s(l) ? /* @__PURE__ */ p(
99
100
  F,
100
101
  {
101
102
  ...e,
@@ -105,13 +106,13 @@ const ie = () => /* @__PURE__ */ m("div", {}), oe = (e) => {
105
106
  type: a._type
106
107
  }
107
108
  ) : null) : null);
108
- }, V = (e, t, r) => h(r) ? {} : Object.entries(r).reduce((i, [n, s]) => {
109
- const o = [];
109
+ }, V = (e, t, r) => h(r) ? {} : Object.entries(r).reduce((i, [n, o]) => {
110
+ const s = [];
110
111
  let a = R(e, { _id: t });
111
112
  for (; a; )
112
- o.push(a), a = R(e, { _id: a._parent });
113
- const l = R(o, { _type: s.block });
114
- return l && (i[n] = d(l, d(s, "prop"), null)), i;
113
+ s.push(a), a = R(e, { _id: a._parent });
114
+ const l = R(s, { _type: o.block });
115
+ return l && (i[n] = d(l, d(o, "prop"), null)), i;
115
116
  }, {});
116
117
  function Ce(e) {
117
118
  if (h(e.lang) && !h(e.fallbackLang))
@@ -133,17 +134,17 @@ const le = () => /* @__PURE__ */ m("div", {}), de = async (e) => {
133
134
  lang: r,
134
135
  fallbackLang: i,
135
136
  children: n,
136
- externalData: s,
137
- blocks: o,
137
+ externalData: o,
138
+ blocks: s,
138
139
  draft: a,
139
140
  pageProps: l,
140
141
  dataProviderMetadataCallback: k,
141
142
  dataProviders: c
142
143
  } = e, u = $(t._type), _ = d(u, "component", null), y = d(e.repeaterData, "index", -1), M = d(e.repeaterData, "dataKey", ""), g = O(
143
144
  N(t, r === i ? "" : r, u),
144
- s,
145
+ o,
145
146
  { index: y, key: M }
146
- ), x = E(t, !1), L = V(o, t._id, J(t._type)), B = P(u, "dataProvider") && w(u.dataProvider), v = {
147
+ ), x = E(t, !1), L = V(s, t._id, J(t._type)), B = P(u, "dataProvider") && w(u.dataProvider), v = {
147
148
  ...g,
148
149
  ...x,
149
150
  ...L
@@ -151,6 +152,7 @@ const le = () => /* @__PURE__ */ m("div", {}), de = async (e) => {
151
152
  blockProps: {},
152
153
  inBuilder: !1,
153
154
  lang: r || i,
155
+ pageData: o,
154
156
  ...v
155
157
  }, D = d(v, "_show", !0);
156
158
  if (H(_) || !D) return null;
@@ -197,12 +199,12 @@ const le = () => /* @__PURE__ */ m("div", {}), de = async (e) => {
197
199
  });
198
200
  }, T = async (e) => {
199
201
  const { blocks: t, parent: r, repeaterData: i, type: n } = e;
200
- let s = W(
202
+ let o = W(
201
203
  S(t, (a) => P(a, "_id") && (h(r) ? !a._parent : a._parent === r)),
202
204
  "_id"
203
205
  );
204
- const o = (a) => S(t, (l) => l._parent === a).length > 0;
205
- return (n === "Heading" || n === "Paragraph" || n === "Link") && (s = j(s)), U(s, (a) => a ? /* @__PURE__ */ p(de, { dataProviders: e.dataProviders, ...e, key: a._id, block: a }, ({ _id: l, _type: k, repeaterItems: c, $repeaterItemsKey: u }) => k === "Repeater" ? b(c) && c.map((_, y) => /* @__PURE__ */ p(
206
+ const s = (a) => S(t, (l) => l._parent === a).length > 0;
207
+ return (n === "Heading" || n === "Paragraph" || n === "Link") && (o = j(o)), U(o, (a) => a ? /* @__PURE__ */ p(de, { dataProviders: e.dataProviders, ...e, key: a._id, block: a }, ({ _id: l, _type: k, repeaterItems: c, $repeaterItemsKey: u }) => k === "Repeater" ? b(c) && c.map((_, y) => /* @__PURE__ */ p(
206
208
  T,
207
209
  {
208
210
  ...e,
@@ -210,7 +212,7 @@ const le = () => /* @__PURE__ */ m("div", {}), de = async (e) => {
210
212
  key: `${d(a, "_parent", "root")}-${a._id}-${y}`,
211
213
  repeaterData: { index: y, dataKey: u }
212
214
  }
213
- )) : o(l) ? /* @__PURE__ */ p(
215
+ )) : s(l) ? /* @__PURE__ */ p(
214
216
  T,
215
217
  {
216
218
  ...e,
@@ -229,19 +231,19 @@ async function $e(e) {
229
231
  const t = e.lang ?? "en", r = e.fallbackLang ?? t;
230
232
  if (e.dataProviders)
231
233
  return /* @__PURE__ */ m(T, { ...e, lang: t, fallbackLang: r, dataProviders: e.dataProviders });
232
- const n = e.blocks.filter((s) => {
233
- const o = $(s._type);
234
- return !!(P(o, "dataProvider") && w(o.dataProvider));
234
+ const n = e.blocks.filter((o) => {
235
+ const s = $(o._type);
236
+ return !!(P(s, "dataProvider") && w(s.dataProvider));
235
237
  }).reduce(
236
- (s, o) => {
237
- const a = $(o._type), l = {
238
+ (o, s) => {
239
+ const a = $(s._type), l = {
238
240
  pageProps: e.pageProps,
239
- block: o,
241
+ block: s,
240
242
  lang: e.lang,
241
243
  draft: e.draft,
242
244
  inBuilder: !1
243
245
  };
244
- return s[o._id] = a.dataProvider(l), s;
246
+ return o[s._id] = a.dataProvider(l), o;
245
247
  },
246
248
  {}
247
249
  );
@@ -250,12 +252,12 @@ async function $e(e) {
250
252
  function Se(e, t) {
251
253
  const r = e.filter(({ _type: i }) => i === "GlobalBlock" || i === "PartialBlock");
252
254
  for (let i = 0; i < r.length; i++) {
253
- const n = r[i], s = d(n, "partialBlockId", d(n, "globalBlock", ""));
254
- if (s === "") continue;
255
- let o = X(d(t, s, []));
256
- n._parent && (o == null ? void 0 : o.length) > 0 && (o = o.map((l) => (h(l._parent) && (l._parent = n._parent), l)));
255
+ const n = r[i], o = d(n, "partialBlockId", d(n, "globalBlock", ""));
256
+ if (o === "") continue;
257
+ let s = X(d(t, o, []));
258
+ n._parent && (s == null ? void 0 : s.length) > 0 && (s = s.map((l) => (h(l._parent) && (l._parent = n._parent), l)));
257
259
  const a = e.indexOf(n);
258
- e.splice(a, 1, ...o);
260
+ e.splice(a, 1, ...s);
259
261
  }
260
262
  return e;
261
263
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),u=require("./index-Dm31eXM7.cjs"),n=require("./tooltip-Ba1-8jmj.cjs");require("clsx");require("tailwind-merge");const S=({isOpen:m,onClose:l,editor:t,rteElement:f})=>{const r=u.usePageExternalData(),j=o=>{if(!t)return;const i=`{{${o}}}`;t.commands.focus();const{from:p,to:g}=t.state.selection;if(p!==g)t.chain().deleteSelection().insertContent(i).run();else{const{state:c}=t,s=c.selection.from,x=c.doc.textBetween(Math.max(0,s-1),s),a=c.doc.textBetween(s,Math.min(s+1,c.doc.content.size));let d="";s>0&&x!==" "&&!/[.,!?;:]/.test(x)&&(d=" ");let h="";a&&a!==" "&&!/[.,!?;:]/.test(a)&&(h=" "),t.chain().insertContent(d+i+h).run()}};return e.jsx(n.Dialog,{open:m,onOpenChange:o=>!o&&l(),children:e.jsxs(n.DialogContent,{className:"max-h-[90vh] overflow-y-auto sm:max-w-[800px]",children:[e.jsx(n.DialogHeader,{children:e.jsxs(n.DialogTitle,{className:"flex items-center justify-between pr-8",children:[e.jsx("span",{children:"Rich Text Editor"}),Object.keys(r).length>0&&e.jsxs("div",{className:"flex items-center",children:[e.jsx("span",{className:"mr-2 text-sm text-muted-foreground",children:"Add field:"}),e.jsx("div",{className:"rte-path-selector",children:e.jsx(u.NestedPathSelector,{data:r,onSelect:j})})]})]})}),f,e.jsx("div",{className:"mt-4 flex justify-end",children:e.jsx(n.Button,{onClick:l,children:"Done"})})]})})};exports.default=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),u=require("./index-BVbLLob7.cjs"),n=require("./tooltip-Ba1-8jmj.cjs");require("clsx");require("tailwind-merge");const S=({isOpen:m,onClose:l,editor:t,rteElement:f})=>{const r=u.usePageExternalData(),j=o=>{if(!t)return;const i=`{{${o}}}`;t.commands.focus();const{from:p,to:g}=t.state.selection;if(p!==g)t.chain().deleteSelection().insertContent(i).run();else{const{state:c}=t,s=c.selection.from,x=c.doc.textBetween(Math.max(0,s-1),s),a=c.doc.textBetween(s,Math.min(s+1,c.doc.content.size));let d="";s>0&&x!==" "&&!/[.,!?;:]/.test(x)&&(d=" ");let h="";a&&a!==" "&&!/[.,!?;:]/.test(a)&&(h=" "),t.chain().insertContent(d+i+h).run()}};return e.jsx(n.Dialog,{open:m,onOpenChange:o=>!o&&l(),children:e.jsxs(n.DialogContent,{className:"max-h-[90vh] overflow-y-auto sm:max-w-[800px]",children:[e.jsx(n.DialogHeader,{children:e.jsxs(n.DialogTitle,{className:"flex items-center justify-between pr-8",children:[e.jsx("span",{children:"Rich Text Editor"}),Object.keys(r).length>0&&e.jsxs("div",{className:"flex items-center",children:[e.jsx("span",{className:"mr-2 text-sm text-muted-foreground",children:"Add field:"}),e.jsx("div",{className:"rte-path-selector",children:e.jsx(u.NestedPathSelector,{data:r,onSelect:j})})]})]})}),f,e.jsx("div",{className:"mt-4 flex justify-end",children:e.jsx(n.Button,{onClick:l,children:"Done"})})]})})};exports.default=S;
@@ -1,5 +1,5 @@
1
1
  import { jsx as e, jsxs as c } from "react/jsx-runtime";
2
- import { d as N, N as D } from "./index-CnHzCMny.js";
2
+ import { d as N, N as D } from "./index-H6m-0wVZ.js";
3
3
  import { a1 as v, a3 as S, a6 as j, a9 as w, v as y } from "./tooltip-DUosa-uC.js";
4
4
  import "clsx";
5
5
  import "tailwind-merge";
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "author": "Suraj Air",
6
6
  "license": "BSD-3-Clause",
7
7
  "homepage": "https://chaibuilder.com",
8
- "version": "3.2.6",
8
+ "version": "3.2.7",
9
9
  "type": "module",
10
10
  "repository": {
11
11
  "type": "git",
@@ -69,7 +69,7 @@
69
69
  }
70
70
  },
71
71
  "dependencies": {
72
- "@chaibuilder/runtime": "2.2.0",
72
+ "@chaibuilder/runtime": "2.3.0",
73
73
  "@floating-ui/dom": "1.7.4",
74
74
  "@floating-ui/react-dom": "2.1.6",
75
75
  "@iconify-json/lucide": "^1.2.71",
@@ -108,18 +108,19 @@
108
108
  "@tailwindcss/line-clamp": "^0.4.4",
109
109
  "@tailwindcss/typography": "^0.5.16",
110
110
  "@tanstack/react-virtual": "^3.13.12",
111
- "@tiptap/extension-bubble-menu": "^3.7.0",
112
- "@tiptap/extension-bullet-list": "^2.12.0",
113
- "@tiptap/extension-highlight": "^3.6.5",
114
- "@tiptap/extension-link": "^2.11.5",
115
- "@tiptap/extension-ordered-list": "^2.12.0",
116
- "@tiptap/extension-placeholder": "^2.12.0",
117
- "@tiptap/extension-text-align": "^2.11.5",
118
- "@tiptap/extension-text-style": "^3.6.5",
119
- "@tiptap/extension-underline": "^2.11.5",
120
- "@tiptap/pm": "^2.11.5",
121
- "@tiptap/react": "^2.11.5",
122
- "@tiptap/starter-kit": "^2.11.5",
111
+ "@tiptap/extension-bubble-menu": "^2.27.1",
112
+ "@tiptap/extension-bullet-list": "^2.27.1",
113
+ "@tiptap/extension-color": "^2.27.1",
114
+ "@tiptap/extension-highlight": "^2.27.1",
115
+ "@tiptap/extension-link": "^2.27.1",
116
+ "@tiptap/extension-ordered-list": "^2.27.1",
117
+ "@tiptap/extension-placeholder": "^2.27.1",
118
+ "@tiptap/extension-text-align": "^2.27.1",
119
+ "@tiptap/extension-text-style": "^2.27.1",
120
+ "@tiptap/extension-underline": "^2.27.1",
121
+ "@tiptap/pm": "^2.27.1",
122
+ "@tiptap/react": "^2.27.1",
123
+ "@tiptap/starter-kit": "^2.27.1",
123
124
  "class-variance-authority": "0.7.1",
124
125
  "clsx": "2.1.1",
125
126
  "cmdk": "^1.1.1",