react-bricks 4.7.8 → 5.0.0-alpha.1

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 (56) hide show
  1. package/astro/index.js +1 -1
  2. package/astro/package.json +1 -1
  3. package/astro/react-bricks-astro.d.ts +52 -3
  4. package/astro/react-bricks-astro.esm.js +1 -1
  5. package/astro/server/index.js +1 -1
  6. package/astro/server/package.json +1 -1
  7. package/astro/server/react-bricks-astro-server.d.ts +38 -2
  8. package/astro/server/react-bricks-astro-server.esm.js +1 -1
  9. package/frontend/index.js +1 -1
  10. package/frontend/package.json +1 -1
  11. package/frontend/react-bricks-frontend.esm.js +1 -1
  12. package/index.js +1 -1
  13. package/package.json +2 -2
  14. package/{react-bricks-G-FCJ1Kd.js → react-bricks-1p8UGL33.js} +2 -2
  15. package/{react-bricks-ChFEEzaf.esm.js → react-bricks-A7FR30z7.esm.js} +2 -2
  16. package/react-bricks-B2-owpzT.js +2 -0
  17. package/react-bricks-B4rfjfZG.js +2 -0
  18. package/{react-bricks-OncRrHCV.esm.js → react-bricks-B5_r9nGa.esm.js} +2 -2
  19. package/react-bricks-BJIqw1i4.js +2 -0
  20. package/{react-bricks-DQcHsMAz.esm.js → react-bricks-BbdMRyhe.esm.js} +2 -2
  21. package/{react-bricks-1q9g5617.js → react-bricks-Bn33fA9o.js} +2 -2
  22. package/{react-bricks-CjbRDz77.esm.js → react-bricks-BzVkoQQ1.esm.js} +2 -2
  23. package/{react-bricks-DamkhdwS.js → react-bricks-CCMdKnAu.js} +2 -2
  24. package/{react-bricks-DoXRatbL.js → react-bricks-CG7Lgn2K.js} +2 -2
  25. package/react-bricks-CfYUaV-v.esm.js +2 -0
  26. package/react-bricks-CtrB_G-F.js +2 -0
  27. package/react-bricks-CyebRIWY.esm.js +2 -0
  28. package/{react-bricks-BUGrDTgq.esm.js → react-bricks-D4vAUrlY.esm.js} +2 -2
  29. package/{react-bricks-C-nvbiap.js → react-bricks-D7o5gAZ3.js} +2 -2
  30. package/react-bricks-DB7WG0RJ.esm.js +2 -0
  31. package/{react-bricks-DqbdURsm.esm.js → react-bricks-DXZRgY8i.esm.js} +2 -2
  32. package/{react-bricks-tEFCCN5P.esm.js → react-bricks-EKI8_92y.esm.js} +2 -2
  33. package/{react-bricks-CI8avgJu.js → react-bricks-QRnivVKt.js} +2 -2
  34. package/{react-bricks-DRIKzHUS.js → react-bricks-YMWwwVZL.js} +2 -2
  35. package/react-bricks-eSFEHqJY.js +2 -0
  36. package/react-bricks-fTP_ZCtN.esm.js +2 -0
  37. package/{react-bricks-Co69y3so.esm.js → react-bricks-mgdoIOZ0.esm.js} +2 -2
  38. package/react-bricks.d.ts +52 -3
  39. package/react-bricks.esm.js +1 -1
  40. package/rsc/client/index.js +1 -1
  41. package/rsc/client/package.json +1 -1
  42. package/rsc/client/react-bricks-rsc-client.d.ts +46 -3
  43. package/rsc/client/react-bricks-rsc-client.esm.js +1 -1
  44. package/rsc/index.js +1 -1
  45. package/rsc/package.json +1 -1
  46. package/rsc/react-bricks-rsc.d.ts +45 -3
  47. package/rsc/react-bricks-rsc.esm.js +1 -1
  48. package/react-bricks-BHz2hAKU.js +0 -2
  49. package/react-bricks-BI4w4a7p.esm.js +0 -2
  50. package/react-bricks-Bbj8bihf.esm.js +0 -2
  51. package/react-bricks-CCxmA27g.js +0 -2
  52. package/react-bricks-CWWIdXlz.esm.js +0 -2
  53. package/react-bricks-CXY4gR9A.js +0 -2
  54. package/react-bricks-CxG_ydhT.js +0 -2
  55. package/react-bricks-Dk66W1Cf.js +0 -2
  56. package/react-bricks-DolCp8Cn.esm.js +0 -2
@@ -1,2 +1,2 @@
1
- import{f as e,h as t,A as a,e as n,b as c,c as r,i as o,j as s}from"./react-bricks-DQcHsMAz.esm.js";import{c as i,a as u,g as l,b as p}from"./react-bricks-tEFCCN5P.esm.js";var g={data:null,updatedAt:null},d=function(c,r){return e(void 0,void 0,void 0,(function(){var e,o,s,i,u;return t(this,(function(t){switch(t.label){case 0:return g.data&&g.updatedAt&&g.updatedAt.getTime()>(new Date).getTime()-6e4?[2,g.data]:(o=(e=r||{}).cache,s=e.next,i={cache:o,next:s},[4,fetch("".concat(a,"/app"),n({headers:{Authorization:"Bearer ".concat(c)}},i))]);case 1:return[4,t.sent().json()];case 2:return u=t.sent(),g.data=u,g.updatedAt=new Date,[2,u]}}))}))},f=function(c,r){return function(o){return e(void 0,void 0,void 0,(function(){var e,s,i,u;return t(this,(function(t){switch(t.label){case 0:return s=(e=r||{}).cache,i=e.next,u={cache:s,next:i},[4,fetch(o.language?"".concat(a,"/app/pages/").concat(o.slug,"/translations/").concat(o.language):"".concat(a,"/app/pages/").concat(o.slug),n({headers:{Authorization:"Bearer ".concat(c)}},u))];case 1:return[2,t.sent().json()]}}))}))}},h=function(c,r){return function(o){return e(void 0,void 0,void 0,(function(){var e,s,i,u;return t(this,(function(t){switch(t.label){case 0:return s=(e=r||{}).cache,i=e.next,u={cache:s,next:i},[4,fetch(o.language?"".concat(a,"/app/find_page?pageId=").concat(o.id,"&language=").concat(o.language):"".concat(a,"/app/find_page?pageId=").concat(o.id),n({headers:{Authorization:"Bearer ".concat(c)}},u))];case 1:return[2,t.sent().json()]}}))}))}};function v(g,f){return e(this,void 0,void 0,(function(){var e,v,y,b,m,x,w,A,j,z,D,_,B,S,I,T,k,M,P,V,E,O,J,K,N,q,C,F,G,H,L,Q;return t(this,(function(R){switch(R.label){case 0:return D=!1,"string"!=typeof g&&g?(e=g.config.apiKey,v=g.type||"",y=g.types||[],b=g.tag||"",m=g.language||"",x=g.page||1,w=g.pageSize||100,A=g.sort||"",j=g.filterBy||{},z=!!g.usePagination,D=!!g.fetchExternalData,B=g.getExternalDataArgs||null,_=g.config,S=g.fetchOptions):(e=g,v=(null==f?void 0:f.type)||"",y=(null==f?void 0:f.types)||[],b=(null==f?void 0:f.tag)||"",m=(null==f?void 0:f.language)||"",x=(null==f?void 0:f.page)||1,w=(null==f?void 0:f.pageSize)||100,A=(null==f?void 0:f.sort)||"",j=(null==f?void 0:f.filterBy)||{},z=!!(null==f?void 0:f.usePagination)),w<=0&&(w=100),I="type=".concat(v,"&types=").concat(null==y?void 0:y.join(","),"&tag=").concat(b,"&language=").concat(m,"&page=").concat(x,"&pageSize=").concat(w,"&sort=").concat(A,"&filterBy=").concat(JSON.stringify(j)),e||"undefined"==typeof window||(e=localStorage.getItem(s)||""),T=!1,[4,d(e,S)];case 1:return(null==(k=R.sent())?void 0:k.p)&&(i(k.p),T=u(k.p)),M=(S||{}).cache,P={cache:M},V=h(e,S),[4,fetch("".concat(a,"/app/pages?").concat(I),n({headers:{Authorization:"Bearer ".concat(e)}},P))];case 2:return[4,(E=R.sent()).json()];case 3:if(O=R.sent(),J=[],!_)return[3,12];K=function(e){var a,c,r;return t(this,(function(t){switch(t.label){case 0:return D?(e.customValues=n(n({},e.customValues),{___t:null==k?void 0:k.token,___p:null==k?void 0:k.p}),[4,p(e,_.pageTypes,B,T)]):[3,2];case 1:a=t.sent(),e.externalData=n({},a||{}),(c=null===(Q=_.pageTypes)||void 0===Q?void 0:Q.find((function(t){return t.name===e.type})))&&c.getDefaultMeta&&"function"==typeof c.getDefaultMeta&&(e.meta=n(n({},e.meta),c.getDefaultMeta(e,a||{}))),t.label=2;case 2:return _.bricks?[4,l(e,_.pageTypes||[],V)]:[3,4];case 3:r=t.sent(),e.customValues=r,t.label=4;case 4:return J.push(e),[2]}}))},R.label=4;case 4:R.trys.push([4,9,10,11]),N=o(O),q=N.next(),R.label=5;case 5:return q.done?[3,8]:(C=q.value,[5,K(C)]);case 6:R.sent(),R.label=7;case 7:return q=N.next(),[3,5];case 8:return[3,11];case 9:return F=R.sent(),H={error:F},[3,11];case 10:try{q&&!q.done&&(L=N.return)&&L.call(N)}finally{if(H)throw H.error}return[7];case 11:return[3,13];case 12:J.push.apply(J,c([],r(O),!1)),R.label=13;case 13:return z?(G=E.headers.has("x-total-count")?parseInt(E.headers.get("x-total-count")||"0",10):0,[2,{items:J,pagination:{page:x,pageSize:w,totalItems:G,totalPages:Math.ceil(G/w)}}]):[2,J]}}))}))}export{h as a,f as b,v as f,d as g};
2
- //# sourceMappingURL=react-bricks-Co69y3so.esm.js.map
1
+ import{f as e,h as t,A as a,e as n,b as c,c as r,i as o,j as s}from"./react-bricks-BbdMRyhe.esm.js";import{c as i,a as u,g as l,b as p}from"./react-bricks-EKI8_92y.esm.js";var g={data:null,updatedAt:null},d=function(c,r){return e(void 0,void 0,void 0,(function(){var e,o,s,i,u;return t(this,(function(t){switch(t.label){case 0:return g.data&&g.updatedAt&&g.updatedAt.getTime()>(new Date).getTime()-6e4?[2,g.data]:(o=(e=r||{}).cache,s=e.next,i={cache:o,next:s},[4,fetch("".concat(a,"/app"),n({headers:{Authorization:"Bearer ".concat(c)}},i))]);case 1:return[4,t.sent().json()];case 2:return u=t.sent(),g.data=u,g.updatedAt=new Date,[2,u]}}))}))},f=function(c,r){return function(o){return e(void 0,void 0,void 0,(function(){var e,s,i,u;return t(this,(function(t){switch(t.label){case 0:return s=(e=r||{}).cache,i=e.next,u={cache:s,next:i},[4,fetch(o.language?"".concat(a,"/app/pages/").concat(o.slug,"/translations/").concat(o.language):"".concat(a,"/app/pages/").concat(o.slug),n({headers:{Authorization:"Bearer ".concat(c)}},u))];case 1:return[2,t.sent().json()]}}))}))}},h=function(c,r){return function(o){return e(void 0,void 0,void 0,(function(){var e,s,i,u;return t(this,(function(t){switch(t.label){case 0:return s=(e=r||{}).cache,i=e.next,u={cache:s,next:i},[4,fetch(o.language?"".concat(a,"/app/find_page?pageId=").concat(o.id,"&language=").concat(o.language):"".concat(a,"/app/find_page?pageId=").concat(o.id),n({headers:{Authorization:"Bearer ".concat(c)}},u))];case 1:return[2,t.sent().json()]}}))}))}};function v(g,f){return e(this,void 0,void 0,(function(){var e,v,y,b,m,x,w,A,j,z,D,_,B,S,I,T,k,M,P,V,E,O,J,K,N,q,C,F,G,H,L,Q;return t(this,(function(R){switch(R.label){case 0:return D=!1,"string"!=typeof g&&g?(e=g.config.apiKey,v=g.type||"",y=g.types||[],b=g.tag||"",m=g.language||"",x=g.page||1,w=g.pageSize||100,A=g.sort||"",j=g.filterBy||{},z=!!g.usePagination,D=!!g.fetchExternalData,B=g.getExternalDataArgs||null,_=g.config,S=g.fetchOptions):(e=g,v=(null==f?void 0:f.type)||"",y=(null==f?void 0:f.types)||[],b=(null==f?void 0:f.tag)||"",m=(null==f?void 0:f.language)||"",x=(null==f?void 0:f.page)||1,w=(null==f?void 0:f.pageSize)||100,A=(null==f?void 0:f.sort)||"",j=(null==f?void 0:f.filterBy)||{},z=!!(null==f?void 0:f.usePagination)),w<=0&&(w=100),I="type=".concat(v,"&types=").concat(null==y?void 0:y.join(","),"&tag=").concat(b,"&language=").concat(m,"&page=").concat(x,"&pageSize=").concat(w,"&sort=").concat(A,"&filterBy=").concat(JSON.stringify(j)),e||"undefined"==typeof window||(e=localStorage.getItem(s)||""),T=!1,[4,d(e,S)];case 1:return(null==(k=R.sent())?void 0:k.p)&&(i(k.p),T=u(k.p)),M=(S||{}).cache,P={cache:M},V=h(e,S),[4,fetch("".concat(a,"/app/pages?").concat(I),n({headers:{Authorization:"Bearer ".concat(e)}},P))];case 2:return[4,(E=R.sent()).json()];case 3:if(O=R.sent(),J=[],!_)return[3,12];K=function(e){var a,c,r;return t(this,(function(t){switch(t.label){case 0:return D?(e.customValues=n(n({},e.customValues),{___t:null==k?void 0:k.token,___p:null==k?void 0:k.p}),[4,p(e,_.pageTypes,B,T)]):[3,2];case 1:a=t.sent(),e.externalData=n({},a||{}),(c=null===(Q=_.pageTypes)||void 0===Q?void 0:Q.find((function(t){return t.name===e.type})))&&c.getDefaultMeta&&"function"==typeof c.getDefaultMeta&&(e.meta=n(n({},e.meta),c.getDefaultMeta(e,a||{}))),t.label=2;case 2:return _.bricks?[4,l(e,_.pageTypes||[],V)]:[3,4];case 3:r=t.sent(),e.customValues=r,t.label=4;case 4:return J.push(e),[2]}}))},R.label=4;case 4:R.trys.push([4,9,10,11]),N=o(O),q=N.next(),R.label=5;case 5:return q.done?[3,8]:(C=q.value,[5,K(C)]);case 6:R.sent(),R.label=7;case 7:return q=N.next(),[3,5];case 8:return[3,11];case 9:return F=R.sent(),H={error:F},[3,11];case 10:try{q&&!q.done&&(L=N.return)&&L.call(N)}finally{if(H)throw H.error}return[7];case 11:return[3,13];case 12:J.push.apply(J,c([],r(O),!1)),R.label=13;case 13:return z?(G=E.headers.has("x-total-count")?parseInt(E.headers.get("x-total-count")||"0",10):0,[2,{items:J,pagination:{page:x,pageSize:w,totalItems:G,totalPages:Math.ceil(G/w)}}]):[2,J]}}))}))}export{h as a,f as b,v as f,d as g};
2
+ //# sourceMappingURL=react-bricks-mgdoIOZ0.esm.js.map
package/react-bricks.d.ts CHANGED
@@ -248,6 +248,15 @@ declare namespace types {
248
248
  aiText: boolean;
249
249
  aiGen: boolean;
250
250
  aiSeo: boolean;
251
+ emailMarketing: boolean;
252
+ forms: boolean;
253
+ };
254
+ emailMarketingConfig?: {
255
+ providers: Array<{
256
+ value: string;
257
+ label: string;
258
+ }>;
259
+ testRecipients: string[];
251
260
  };
252
261
  } | null;
253
262
  /**
@@ -280,6 +289,26 @@ declare namespace types {
280
289
  date: string;
281
290
  user: EditingUser;
282
291
  };
292
+ /**
293
+ * Provider to send EmailMarketing
294
+ */
295
+ export type EmailMarketingProvider = 'brevo' | 'getresponse' | 'mailchimp' | 'mailerlite' | 'resend' | 'sendgrid';
296
+ /** EmailMarketing Sender (from address) */
297
+ export type EmailMarketingSender = {
298
+ email: string;
299
+ name: string;
300
+ id?: string;
301
+ };
302
+ /**
303
+ * EmailMarketing configuration on Page
304
+ */
305
+ export type EmailMarketingConfig = {
306
+ provider: EmailMarketingProvider;
307
+ sender: string;
308
+ listId: string;
309
+ campaignName: string;
310
+ subject: string;
311
+ };
283
312
  /**
284
313
  * AppOnPage
285
314
  */
@@ -298,6 +327,7 @@ declare namespace types {
298
327
  meta: IMeta;
299
328
  customValues?: Props;
300
329
  externalData?: Props;
330
+ emailMarketingConfig?: EmailMarketingConfig;
301
331
  content: IContentBlock[];
302
332
  workingContent?: IContentBlock[];
303
333
  committedContent?: IContentBlock[];
@@ -557,6 +587,7 @@ declare namespace types {
557
587
  multiple: boolean;
558
588
  embedValues?: boolean;
559
589
  };
590
+ onChange?: (props: T) => Partial<T>;
560
591
  }
561
592
  /**
562
593
  * Sidebar Edit Props
@@ -654,12 +685,16 @@ declare namespace types {
654
685
  editable?: boolean;
655
686
  getDefaultContent?: () => (string | IBrickStory | IContentBlock)[];
656
687
  };
657
- export type RenderEnvironment = 'Frontend' | 'Preview' | 'Admin';
688
+ export type RenderEnvironment = 'Frontend' | 'Preview' | 'Admin' | 'Email';
658
689
  export interface IRenderWrapperArgs {
659
690
  children: React__default.ReactElement;
660
691
  page: PageValues;
661
692
  renderEnvironment: RenderEnvironment;
662
693
  }
694
+ export interface IRenderEmailHtmlArgs {
695
+ children: React__default.ReactElement;
696
+ page: PageValues;
697
+ }
663
698
  /**
664
699
  * Page type
665
700
  */
@@ -681,8 +716,9 @@ declare namespace types {
681
716
  slugPrefix?: ISlugPrefix;
682
717
  template?: Array<TemplateSlot>;
683
718
  headlessView?: boolean;
684
- isEmail?: boolean;
719
+ isEmailMarketing?: boolean;
685
720
  renderWrapper?: (args: IRenderWrapperArgs) => React__default.ReactElement;
721
+ renderEmailHtml?: (args: IRenderEmailHtmlArgs) => string | Promise<string>;
686
722
  }
687
723
  /**
688
724
  * Structure returned by the cleanBlocks function
@@ -1273,6 +1309,19 @@ declare const Meta: React.FC<MetaProps>;
1273
1309
 
1274
1310
  declare const renderMeta: React.FC<types.Page>;
1275
1311
 
1312
+ interface SendFormSubmissionResult {
1313
+ success: boolean;
1314
+ statusCode: number;
1315
+ message: string;
1316
+ }
1317
+ declare const sendFormSubmission: ({ appId, appEnv, token, formId, emailAddress, data, }: SendFormSubmissionParams) => Promise<SendFormSubmissionResult>;
1318
+
1319
+ interface Form {
1320
+ id: string;
1321
+ name: string;
1322
+ }
1323
+ declare const fetchForms: () => Promise<Form[]>;
1324
+
1276
1325
  declare const usePage$1: (pageId: string, language?: string) => _tanstack_react_query.UseQueryResult<types.Page, Error>;
1277
1326
 
1278
1327
  declare const usePage: (slug: string, language?: string) => _tanstack_react_query.UseQueryResult<types.Page, Error>;
@@ -1582,4 +1631,4 @@ declare const useAuth: () => {
1582
1631
  logoutUser: () => void;
1583
1632
  };
1584
1633
 
1585
- export { Admin, AppSettings, Editor, File$1 as File, Icon, Image$1 as Image, JsonLd, Link, Login, MediaLibrary, Meta, PageViewer, _default as Plain, Playground, Preview, ReactBricks, Repeater, CompatibleRichText as RichText, RichText as RichTextExt, Slot, SsoLogin, SsoLoginFailure, SsoLoginSuccess, Text, blockPluginConstructor, blockWithModalPluginConstructor, cleanPage, fetchPage, fetchPages, fetchTags, getPagePlainText, getSchemaOrgData, markPluginConstructor, index as plugins, renderJsonLd, renderMeta, types, useAdminContext, useAuth, usePage$1 as usePage, usePage as usePagePublic, usePageValues, usePages, usePagesPublic, useReactBricksContext, useTagsPublic, useVisualEdit };
1634
+ export { Admin, AppSettings, Editor, File$1 as File, Icon, Image$1 as Image, JsonLd, Link, Login, MediaLibrary, Meta, PageViewer, _default as Plain, Playground, Preview, ReactBricks, Repeater, CompatibleRichText as RichText, RichText as RichTextExt, Slot, SsoLogin, SsoLoginFailure, SsoLoginSuccess, Text, blockPluginConstructor, blockWithModalPluginConstructor, cleanPage, fetchForms, fetchPage, fetchPages, fetchTags, getPagePlainText, getSchemaOrgData, markPluginConstructor, index as plugins, renderJsonLd, renderMeta, sendFormSubmission, types, useAdminContext, useAuth, usePage$1 as usePage, usePage as usePagePublic, usePageValues, usePages, usePagesPublic, useReactBricksContext, useTagsPublic, useVisualEdit };