@cakemail-org/ui-components-v2 2.0.60 → 2.0.61

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.
@@ -1,9 +1,12 @@
1
- import { FormModel } from "../../models";
1
+ import { EnhancedFormModel, FormModel, SummaryEnhancedFormModel } from "../../models";
2
2
  import { TGenericListParams, TGenericListReturn } from "../../types/services";
3
3
  export declare class FormsFactory {
4
4
  static get({ id }: {
5
5
  id: string;
6
- }): Promise<FormModel>;
7
- static list({ ...options }: TGenericListParams): Promise<TGenericListReturn<FormModel>>;
6
+ }): Promise<FormModel | EnhancedFormModel>;
7
+ static list({ ...options }: TGenericListParams): Promise<TGenericListReturn<FormModel | SummaryEnhancedFormModel>>;
8
+ static create({ form }: {
9
+ form: Partial<FormModel | EnhancedFormModel>;
10
+ }): Promise<EnhancedFormModel | FormModel>;
8
11
  }
9
12
  export * from "./types";
package/dist/cjs/index.js CHANGED
@@ -5243,6 +5243,11 @@ exports.EEvents = void 0;
5243
5243
  EEvents["FORM_CREATED"] = "Form.Created";
5244
5244
  EEvents["FORM_UPDATED"] = "Form.Updated";
5245
5245
  EEvents["FORM_DELETED"] = "Form.Deleted";
5246
+ EEvents["FORM_ENABLED"] = "Form.Enabled";
5247
+ EEvents["FORM_DISABLED"] = "Form.Disabled";
5248
+ EEvents["FORM_PUBLISHED"] = "Form.Published";
5249
+ EEvents["FORM_RENDERED"] = "Form.Rendered";
5250
+ EEvents["FORM_RENDERED_PUBLISHED"] = "Form.Rendered.Published";
5246
5251
  EEvents["AUTOMATION_CREATED"] = "Automation.Created";
5247
5252
  EEvents["AUTOMATION_UPDATED"] = "Automation.Updated";
5248
5253
  EEvents["AUTOMATION_DELETED"] = "Automation.Deleted";
@@ -9726,6 +9731,16 @@ function getEmail(_a) {
9726
9731
  });
9727
9732
  }
9728
9733
 
9734
+ function createForm(_a) {
9735
+ var form = _a.form;
9736
+ return callApi({
9737
+ url: uiKitConfig.GATEWAY_PROXY + "/forms",
9738
+ fetchOptions: {
9739
+ body: form,
9740
+ method: exports.EMethods.post
9741
+ }
9742
+ });
9743
+ }
9729
9744
  function listForms(_a) {
9730
9745
  var useImpersonationTree = _a.useImpersonationTree, options = __rest(_a, ["useImpersonationTree"]);
9731
9746
  return callApi({
@@ -9737,6 +9752,16 @@ function listForms(_a) {
9737
9752
  useImpersonationTree: useImpersonationTree
9738
9753
  });
9739
9754
  }
9755
+ function patchForm(_a) {
9756
+ var id = _a.id, data = _a.data;
9757
+ return callApi({
9758
+ url: uiKitConfig.GATEWAY_PROXY + "/forms/" + id,
9759
+ fetchOptions: {
9760
+ method: exports.EMethods.patch,
9761
+ body: data
9762
+ }
9763
+ });
9764
+ }
9740
9765
  function getForm(_a) {
9741
9766
  var id = _a.id;
9742
9767
  return callApi({
@@ -9746,6 +9771,52 @@ function getForm(_a) {
9746
9771
  }
9747
9772
  });
9748
9773
  }
9774
+ function deleteForm(_a) {
9775
+ var id = _a.id;
9776
+ return callApi({
9777
+ url: uiKitConfig.GATEWAY_PROXY + "/forms/" + id,
9778
+ fetchOptions: {
9779
+ method: exports.EMethods.delete
9780
+ }
9781
+ });
9782
+ }
9783
+ function enableForm(_a) {
9784
+ var id = _a.id;
9785
+ return callApi({
9786
+ url: uiKitConfig.GATEWAY_PROXY + "/forms/" + id + "/enable",
9787
+ fetchOptions: {
9788
+ method: exports.EMethods.post
9789
+ }
9790
+ });
9791
+ }
9792
+ function disableForm(_a) {
9793
+ var id = _a.id;
9794
+ return callApi({
9795
+ url: uiKitConfig.GATEWAY_PROXY + "/forms/" + id + "/disable",
9796
+ fetchOptions: {
9797
+ method: exports.EMethods.post
9798
+ }
9799
+ });
9800
+ }
9801
+ function publishForm(_a) {
9802
+ var id = _a.id;
9803
+ return callApi({
9804
+ url: uiKitConfig.GATEWAY_PROXY + "/forms/" + id + "/publish",
9805
+ fetchOptions: {
9806
+ method: exports.EMethods.post
9807
+ }
9808
+ });
9809
+ }
9810
+ function renderForm(_a) {
9811
+ var id = _a.id, published = _a.published;
9812
+ return callApi({
9813
+ url: uiKitConfig.GATEWAY_PROXY + "/forms/" + id + "/render",
9814
+ query: camelCase({ published: published }),
9815
+ fetchOptions: {
9816
+ method: exports.EMethods.get
9817
+ }
9818
+ });
9819
+ }
9749
9820
 
9750
9821
  function requestSupportService(_a) {
9751
9822
  var requestOptions = __rest(_a, []);
@@ -16535,22 +16606,48 @@ var EmailAPIFactory = /** @class */ (function () {
16535
16606
  return EmailAPIFactory;
16536
16607
  }());
16537
16608
 
16538
- var FormModel = /** @class */ (function () {
16539
- function FormModel(_a) {
16540
- var id = _a.id, name = _a.name, status = _a.status, content = _a.content, language = _a.language, created_on = _a.created_on, last_updated_on = _a.last_updated_on, url = _a.url, thumbnail_url = _a.thumbnail_url, redirections = _a.redirections, list_id = _a.list_id, double_opt_in = _a.double_opt_in;
16609
+ var CommonFormModel = /** @class */ (function () {
16610
+ function CommonFormModel(_a) {
16611
+ var id = _a.id, name = _a.name, list_id = _a.list_id, double_opt_in = _a.double_opt_in;
16541
16612
  this.id = id;
16542
16613
  this.name = name;
16543
- this.status = status;
16544
- this.content = content;
16545
- this.language = language;
16546
- this.created_on = created_on;
16547
- this.last_updated_on = last_updated_on;
16548
- this.url = url;
16549
- this.thumbnail_url = thumbnail_url;
16550
- this.redirections = redirections;
16551
16614
  this.list_id = list_id;
16552
16615
  this.double_opt_in = double_opt_in;
16553
16616
  }
16617
+ CommonFormModel.prototype.toJson = function () {
16618
+ return modelToJson(this);
16619
+ };
16620
+ CommonFormModel.prototype.set = function (property, value) {
16621
+ modelSet(this, property, value);
16622
+ };
16623
+ CommonFormModel.prototype.delete = function () {
16624
+ return __awaiter(this, void 0, void 0, function () {
16625
+ var _this = this;
16626
+ return __generator(this, function (_a) {
16627
+ return [2 /*return*/, deleteForm({ id: this.id.toString() }).then(function (data) {
16628
+ trackEvent(exports.EEvents.FORM_DELETED, { id: _this.id });
16629
+ return data;
16630
+ })];
16631
+ });
16632
+ });
16633
+ };
16634
+ return CommonFormModel;
16635
+ }());
16636
+ var FormModel = /** @class */ (function (_super) {
16637
+ __extends(FormModel, _super);
16638
+ function FormModel(_a) {
16639
+ var id = _a.id, name = _a.name, status = _a.status, content = _a.content, language = _a.language, created_on = _a.created_on, last_updated_on = _a.last_updated_on, url = _a.url, thumbnail_url = _a.thumbnail_url, redirections = _a.redirections, list_id = _a.list_id, double_opt_in = _a.double_opt_in;
16640
+ var _this = _super.call(this, { id: id, name: name, list_id: list_id, double_opt_in: double_opt_in }) || this;
16641
+ _this.status = status;
16642
+ _this.content = content;
16643
+ _this.language = language;
16644
+ _this.created_on = created_on;
16645
+ _this.last_updated_on = last_updated_on;
16646
+ _this.url = url;
16647
+ _this.thumbnail_url = thumbnail_url;
16648
+ _this.redirections = redirections;
16649
+ return _this;
16650
+ }
16554
16651
  FormModel.prototype.toJson = function () {
16555
16652
  return modelToJson(this);
16556
16653
  };
@@ -16558,7 +16655,106 @@ var FormModel = /** @class */ (function () {
16558
16655
  modelSet(this, property, value);
16559
16656
  };
16560
16657
  return FormModel;
16561
- }());
16658
+ }(CommonFormModel));
16659
+ var SummaryEnhancedFormModel = /** @class */ (function (_super) {
16660
+ __extends(SummaryEnhancedFormModel, _super);
16661
+ function SummaryEnhancedFormModel(_a) {
16662
+ var id = _a.id, list_id = _a.list_id, enabled = _a.enabled, name = _a.name, description = _a.description, tags = _a.tags, post_redirect_url = _a.post_redirect_url, double_opt_in = _a.double_opt_in, double_opt_in_redirect_url = _a.double_opt_in_redirect_url, submission_url = _a.submission_url, async_processing = _a.async_processing, branding = _a.branding, created_at = _a.created_at, updated_at = _a.updated_at, published_at = _a.published_at, edited_by = _a.edited_by, thumbnail_url = _a.thumbnail_url, recaptcha = _a.recaptcha;
16663
+ var _this = _super.call(this, { id: id, name: name, list_id: list_id, double_opt_in: double_opt_in }) || this;
16664
+ _this.enabled = enabled;
16665
+ _this.description = description;
16666
+ _this.tags = tags;
16667
+ _this.post_redirect_url = post_redirect_url;
16668
+ _this.double_opt_in_redirect_url = double_opt_in_redirect_url;
16669
+ _this.submission_url = submission_url;
16670
+ _this.async_processing = async_processing;
16671
+ _this.branding = branding;
16672
+ _this.created_at = created_at;
16673
+ _this.updated_at = updated_at;
16674
+ _this.published_at = published_at;
16675
+ _this.edited_by = edited_by;
16676
+ _this.thumbnail_url = thumbnail_url;
16677
+ _this.recaptcha = recaptcha;
16678
+ return _this;
16679
+ }
16680
+ SummaryEnhancedFormModel.prototype.enable = function () {
16681
+ return __awaiter(this, void 0, void 0, function () {
16682
+ var _this = this;
16683
+ return __generator(this, function (_a) {
16684
+ return [2 /*return*/, enableForm({ id: this.id.toString() }).then(function (data) {
16685
+ trackEvent(exports.EEvents.FORM_ENABLED, { id: _this.id });
16686
+ return data;
16687
+ })];
16688
+ });
16689
+ });
16690
+ };
16691
+ SummaryEnhancedFormModel.prototype.disable = function () {
16692
+ return __awaiter(this, void 0, void 0, function () {
16693
+ var _this = this;
16694
+ return __generator(this, function (_a) {
16695
+ return [2 /*return*/, disableForm({ id: this.id.toString() }).then(function (data) {
16696
+ trackEvent(exports.EEvents.FORM_DISABLED, { id: _this.id });
16697
+ return data;
16698
+ })];
16699
+ });
16700
+ });
16701
+ };
16702
+ SummaryEnhancedFormModel.prototype.publish = function () {
16703
+ return __awaiter(this, void 0, void 0, function () {
16704
+ var _this = this;
16705
+ return __generator(this, function (_a) {
16706
+ return [2 /*return*/, publishForm({ id: this.id.toString() }).then(function (data) {
16707
+ trackEvent(exports.EEvents.FORM_PUBLISHED, { id: _this.id });
16708
+ return data;
16709
+ })];
16710
+ });
16711
+ });
16712
+ };
16713
+ SummaryEnhancedFormModel.prototype.render = function () {
16714
+ return __awaiter(this, arguments, void 0, function (published) {
16715
+ var _this = this;
16716
+ if (published === void 0) { published = false; }
16717
+ return __generator(this, function (_a) {
16718
+ return [2 /*return*/, renderForm({ id: this.id.toString(), published: published }).then(function (data) {
16719
+ trackEvent(published ? exports.EEvents.FORM_RENDERED_PUBLISHED : exports.EEvents.FORM_RENDERED, { id: _this.id });
16720
+ return data;
16721
+ })];
16722
+ });
16723
+ });
16724
+ };
16725
+ SummaryEnhancedFormModel.prototype.save = function () {
16726
+ return __awaiter(this, void 0, void 0, function () {
16727
+ var _this = this;
16728
+ return __generator(this, function (_a) {
16729
+ return [2 /*return*/, patchForm({ id: this.id.toString(), data: this.toJson() }).then(function (data) {
16730
+ trackEvent(exports.EEvents.FORM_UPDATED, { id: _this.id });
16731
+ return data;
16732
+ })];
16733
+ });
16734
+ });
16735
+ };
16736
+ SummaryEnhancedFormModel.prototype.toJson = function () {
16737
+ return modelToJson(this);
16738
+ };
16739
+ SummaryEnhancedFormModel.prototype.set = function (property, value) {
16740
+ modelSet(this, property, value);
16741
+ };
16742
+ return SummaryEnhancedFormModel;
16743
+ }(CommonFormModel));
16744
+ var EnhancedFormModel = /** @class */ (function (_super) {
16745
+ __extends(EnhancedFormModel, _super);
16746
+ function EnhancedFormModel(_a) {
16747
+ var _this = this;
16748
+ var content = _a.content, rest = __rest(_a, ["content"]);
16749
+ _this = _super.call(this, rest) || this;
16750
+ _this.content = content;
16751
+ return _this;
16752
+ }
16753
+ EnhancedFormModel.prototype.toJson = function () {
16754
+ return modelToJson(this);
16755
+ };
16756
+ return EnhancedFormModel;
16757
+ }(SummaryEnhancedFormModel));
16562
16758
 
16563
16759
  var ListModel = /** @class */ (function () {
16564
16760
  function ListModel(params) {
@@ -16757,6 +16953,9 @@ var FormsFactory = /** @class */ (function () {
16757
16953
  var id = _b.id;
16758
16954
  return __generator(this, function (_c) {
16759
16955
  return [2 /*return*/, getForm({ id: id }).then(function (data) {
16956
+ if ("enabled" in data.data) {
16957
+ return new EnhancedFormModel(data.data);
16958
+ }
16760
16959
  return new FormModel(data.data);
16761
16960
  })];
16762
16961
  });
@@ -16768,6 +16967,9 @@ var FormsFactory = /** @class */ (function () {
16768
16967
  return __generator(this, function (_b) {
16769
16968
  return [2 /*return*/, listForms(options).then(function (data) {
16770
16969
  data.data = data.data.map(function (form) {
16970
+ if ("enabled" in form) {
16971
+ return new SummaryEnhancedFormModel(form);
16972
+ }
16771
16973
  return new FormModel(form);
16772
16974
  });
16773
16975
  return data;
@@ -16775,6 +16977,19 @@ var FormsFactory = /** @class */ (function () {
16775
16977
  });
16776
16978
  });
16777
16979
  };
16980
+ FormsFactory.create = function (_a) {
16981
+ return __awaiter(this, arguments, void 0, function (_b) {
16982
+ var form = _b.form;
16983
+ return __generator(this, function (_c) {
16984
+ return [2 /*return*/, createForm({ form: form }).then(function (data) {
16985
+ if ("enabled" in data.data) {
16986
+ return new EnhancedFormModel(data.data);
16987
+ }
16988
+ return new FormModel(data.data);
16989
+ })];
16990
+ });
16991
+ });
16992
+ };
16778
16993
  return FormsFactory;
16779
16994
  }());
16780
16995
 
@@ -17059,6 +17274,7 @@ exports.CircularProgress = CircularProgress;
17059
17274
  exports.CodeInput = CodeInput;
17060
17275
  exports.ColManager = ColManager;
17061
17276
  exports.ColorTextField = ColorTextField;
17277
+ exports.CommonFormModel = CommonFormModel;
17062
17278
  exports.ContactModel = ContactModel;
17063
17279
  exports.ContactsFactory = ContactsFactory;
17064
17280
  exports.ContentSectionContainer = ContentSectionContainer;
@@ -17085,6 +17301,7 @@ exports.ElementContains = ElementContains;
17085
17301
  exports.Email = Email;
17086
17302
  exports.EmailAPIFactory = EmailAPIFactory;
17087
17303
  exports.EmptyContent = EmptyContent;
17304
+ exports.EnhancedFormModel = EnhancedFormModel;
17088
17305
  exports.FileUpload = FileUpload;
17089
17306
  exports.FilterBar = FilterBar;
17090
17307
  exports.FormModel = FormModel;
@@ -17120,6 +17337,7 @@ exports.SideMenu = SideMenu;
17120
17337
  exports.SideMenuContainer = SideMenuContainer;
17121
17338
  exports.SideMenuItem = SideMenuItem;
17122
17339
  exports.SubNav = SubNav;
17340
+ exports.SummaryEnhancedFormModel = SummaryEnhancedFormModel;
17123
17341
  exports.SupportFactory = SupportFactory;
17124
17342
  exports.SystemEmailsFactory = SystemEmailsFactory;
17125
17343
  exports.SystemEmailsModel = SystemEmailsModel;
@@ -17154,18 +17372,22 @@ exports.createBrand = createBrand;
17154
17372
  exports.createCampaign = createCampaign;
17155
17373
  exports.createCampaignLogsExports = createCampaignLogsExports;
17156
17374
  exports.createCampaignsReportsExport = createCampaignsReportsExport;
17375
+ exports.createForm = createForm;
17157
17376
  exports.createTemplate = createTemplate;
17158
17377
  exports.deepMergeObject = deepMergeObject;
17159
17378
  exports.deleteCampaign = deleteCampaign;
17160
17379
  exports.deleteCampaignsReportsExport = deleteCampaignsReportsExport;
17380
+ exports.deleteForm = deleteForm;
17161
17381
  exports.deletePartialInformation = deletePartialInformation;
17162
17382
  exports.deleteStorageItem = deleteStorageItem;
17163
17383
  exports.deleteTemplate = deleteTemplate;
17164
17384
  exports.descendingComparator = descendingComparator;
17385
+ exports.disableForm = disableForm;
17165
17386
  exports.downloadCampaignLogExport = downloadCampaignLogExport;
17166
17387
  exports.downloadCampaignsReportsExport = downloadCampaignsReportsExport;
17167
17388
  exports.emptyAccountAddress = emptyAccountAddress;
17168
17389
  exports.emptyAccountLimits = emptyAccountLimits;
17390
+ exports.enableForm = enableForm;
17169
17391
  exports.enrichBrand = enrichBrand;
17170
17392
  exports.enrichOrganization = enrichOrganization;
17171
17393
  exports.enrichProfile = enrichProfile;
@@ -17248,13 +17470,16 @@ exports.miliToSecond = miliToSecond;
17248
17470
  exports.modelSet = modelSet;
17249
17471
  exports.modelToJson = modelToJson;
17250
17472
  exports.originalBrand = originalBrand;
17473
+ exports.patchForm = patchForm;
17251
17474
  exports.popImpersonificationTree = popImpersonificationTree;
17252
17475
  exports.postMessage = postMessage;
17476
+ exports.publishForm = publishForm;
17253
17477
  exports.reScheduleCampaign = reScheduleCampaign;
17254
17478
  exports.removeEmptyProperties = removeEmptyProperties;
17255
17479
  exports.removeQueryParams = removeQueryParams;
17256
17480
  exports.removeTrailingChar = removeTrailingChar;
17257
17481
  exports.renderCampaign = renderCampaign;
17482
+ exports.renderForm = renderForm;
17258
17483
  exports.renderTemplate = renderTemplate;
17259
17484
  exports.requestSupportService = requestSupportService;
17260
17485
  exports.resumeCampaign = resumeCampaign;
@@ -1,8 +1,21 @@
1
- import { EApiLanguages } from "../../types";
2
- import { TFormModel } from "./types";
3
- export declare class FormModel {
4
- readonly id: number;
1
+ import { EApiLanguages, TDeleteApiResource, TDisableApiResource, TEnableApiResource, TGenericReturn } from "../../types";
2
+ import { TEnhancedFormContent, TEnhancedFormEditedBy, TEnhancedFormModel, TEnhancedFormRecaptcha, TFormModel, TSummaryEnhancedFormModel } from "./types";
3
+ export declare class CommonFormModel {
4
+ readonly id: string;
5
5
  name: string;
6
+ list_id: number;
7
+ double_opt_in: boolean;
8
+ constructor({ id, name, list_id, double_opt_in }: {
9
+ id: string;
10
+ name: string;
11
+ list_id: number;
12
+ double_opt_in: boolean;
13
+ });
14
+ toJson(): any;
15
+ set<T extends keyof this>(property: T, value: this[T]): void;
16
+ delete(): Promise<TDeleteApiResource>;
17
+ }
18
+ export declare class FormModel extends CommonFormModel {
6
19
  readonly status: string;
7
20
  content: {
8
21
  linked: string;
@@ -21,10 +34,37 @@ export declare class FormModel {
21
34
  after_double_opt_in: string;
22
35
  after_opt_out: string;
23
36
  };
24
- list_id: number;
25
- double_opt_in: boolean;
26
37
  constructor({ id, name, status, content, language, created_on, last_updated_on, url, thumbnail_url, redirections, list_id, double_opt_in, }: TFormModel);
27
38
  toJson(): any;
28
39
  set<T extends keyof this>(property: T, value: this[T]): void;
29
40
  }
41
+ export declare class SummaryEnhancedFormModel extends CommonFormModel {
42
+ readonly enabled: boolean;
43
+ description: string;
44
+ tags: string[];
45
+ post_redirect_url: string;
46
+ double_opt_in_redirect_url: string;
47
+ submission_url: string;
48
+ async_processing: boolean;
49
+ branding: string;
50
+ readonly created_at: number;
51
+ readonly updated_at: number;
52
+ readonly published_at: number;
53
+ readonly edited_by: TEnhancedFormEditedBy;
54
+ readonly thumbnail_url: string;
55
+ recaptcha: TEnhancedFormRecaptcha;
56
+ constructor({ id, list_id, enabled, name, description, tags, post_redirect_url, double_opt_in, double_opt_in_redirect_url, submission_url, async_processing, branding, created_at, updated_at, published_at, edited_by, thumbnail_url, recaptcha, }: TSummaryEnhancedFormModel);
57
+ enable(): Promise<TEnableApiResource>;
58
+ disable(): Promise<TDisableApiResource>;
59
+ publish(): Promise<TGenericReturn<EnhancedFormModel>>;
60
+ render(published?: boolean): Promise<TGenericReturn<EnhancedFormModel>>;
61
+ save(): Promise<TGenericReturn<EnhancedFormModel>>;
62
+ toJson(): any;
63
+ set<T extends keyof this>(property: T, value: this[T]): void;
64
+ }
65
+ export declare class EnhancedFormModel extends SummaryEnhancedFormModel {
66
+ content: TEnhancedFormContent;
67
+ constructor({ content, ...rest }: TEnhancedFormModel);
68
+ toJson(): any;
69
+ }
30
70
  export * from "./types";
@@ -1,6 +1,6 @@
1
1
  import { EApiLanguages } from "../../types";
2
2
  export type TFormModel = {
3
- readonly id: number;
3
+ readonly id: string;
4
4
  name: string;
5
5
  readonly status: string;
6
6
  content: {
@@ -23,3 +23,37 @@ export type TFormModel = {
23
23
  list_id: number;
24
24
  double_opt_in: boolean;
25
25
  };
26
+ export type TEnhancedFormEditedBy = {
27
+ id: number;
28
+ email: string;
29
+ };
30
+ export type TEnhancedFormRecaptcha = {
31
+ secret: string;
32
+ domain: string;
33
+ };
34
+ export type TEnhancedFormContent = {
35
+ json: any;
36
+ };
37
+ export interface TSummaryEnhancedFormModel {
38
+ readonly id: string;
39
+ list_id: number;
40
+ readonly enabled: boolean;
41
+ name: string;
42
+ description: string;
43
+ tags: string[];
44
+ post_redirect_url: string;
45
+ double_opt_in: boolean;
46
+ double_opt_in_redirect_url: string;
47
+ submission_url: string;
48
+ async_processing: boolean;
49
+ branding: string;
50
+ readonly created_at: number;
51
+ readonly updated_at: number;
52
+ readonly published_at: number;
53
+ readonly edited_by: TEnhancedFormEditedBy;
54
+ readonly thumbnail_url: string;
55
+ recaptcha: TEnhancedFormRecaptcha;
56
+ }
57
+ export interface TEnhancedFormModel extends TSummaryEnhancedFormModel {
58
+ content: TEnhancedFormContent;
59
+ }
@@ -1,6 +1,30 @@
1
+ import { EnhancedFormModel, FormModel } from "../../models";
1
2
  import { TGenericListParams } from "../../types";
3
+ export declare function createForm({ form }: {
4
+ form: Partial<FormModel | EnhancedFormModel>;
5
+ }): Promise<any>;
2
6
  export declare function listForms({ useImpersonationTree, ...options }: TGenericListParams): Promise<any>;
7
+ export declare function patchForm({ id, data }: {
8
+ id: string;
9
+ data: Partial<FormModel | EnhancedFormModel>;
10
+ }): Promise<any>;
3
11
  export declare function getForm({ id }: {
4
12
  id: string;
5
13
  }): Promise<any>;
14
+ export declare function deleteForm({ id }: {
15
+ id: string;
16
+ }): Promise<any>;
17
+ export declare function enableForm({ id }: {
18
+ id: string;
19
+ }): Promise<any>;
20
+ export declare function disableForm({ id }: {
21
+ id: string;
22
+ }): Promise<any>;
23
+ export declare function publishForm({ id }: {
24
+ id: string;
25
+ }): Promise<any>;
26
+ export declare function renderForm({ id, published }: {
27
+ id: string;
28
+ published: boolean;
29
+ }): Promise<any>;
6
30
  export * from "./types";
@@ -90,6 +90,16 @@ export type TDeleteApiResource = {
90
90
  object: string;
91
91
  deleted: boolean;
92
92
  };
93
+ export type TEnableApiResource = {
94
+ id: TNumStr;
95
+ object: string;
96
+ enabled: boolean;
97
+ };
98
+ export type TDisableApiResource = {
99
+ id: TNumStr;
100
+ object: string;
101
+ disabled: boolean;
102
+ };
93
103
  export type TUpdateApiResource<T> = {
94
104
  updated: boolean;
95
105
  object: string;
@@ -88,6 +88,11 @@ export declare enum EEvents {
88
88
  FORM_CREATED = "Form.Created",
89
89
  FORM_UPDATED = "Form.Updated",
90
90
  FORM_DELETED = "Form.Deleted",
91
+ FORM_ENABLED = "Form.Enabled",
92
+ FORM_DISABLED = "Form.Disabled",
93
+ FORM_PUBLISHED = "Form.Published",
94
+ FORM_RENDERED = "Form.Rendered",
95
+ FORM_RENDERED_PUBLISHED = "Form.Rendered.Published",
91
96
  AUTOMATION_CREATED = "Automation.Created",
92
97
  AUTOMATION_UPDATED = "Automation.Updated",
93
98
  AUTOMATION_DELETED = "Automation.Deleted",
@@ -1,9 +1,12 @@
1
- import { FormModel } from "../../models";
1
+ import { EnhancedFormModel, FormModel, SummaryEnhancedFormModel } from "../../models";
2
2
  import { TGenericListParams, TGenericListReturn } from "../../types/services";
3
3
  export declare class FormsFactory {
4
4
  static get({ id }: {
5
5
  id: string;
6
- }): Promise<FormModel>;
7
- static list({ ...options }: TGenericListParams): Promise<TGenericListReturn<FormModel>>;
6
+ }): Promise<FormModel | EnhancedFormModel>;
7
+ static list({ ...options }: TGenericListParams): Promise<TGenericListReturn<FormModel | SummaryEnhancedFormModel>>;
8
+ static create({ form }: {
9
+ form: Partial<FormModel | EnhancedFormModel>;
10
+ }): Promise<EnhancedFormModel | FormModel>;
8
11
  }
9
12
  export * from "./types";
package/dist/esm/index.js CHANGED
@@ -5223,6 +5223,11 @@ var EEvents;
5223
5223
  EEvents["FORM_CREATED"] = "Form.Created";
5224
5224
  EEvents["FORM_UPDATED"] = "Form.Updated";
5225
5225
  EEvents["FORM_DELETED"] = "Form.Deleted";
5226
+ EEvents["FORM_ENABLED"] = "Form.Enabled";
5227
+ EEvents["FORM_DISABLED"] = "Form.Disabled";
5228
+ EEvents["FORM_PUBLISHED"] = "Form.Published";
5229
+ EEvents["FORM_RENDERED"] = "Form.Rendered";
5230
+ EEvents["FORM_RENDERED_PUBLISHED"] = "Form.Rendered.Published";
5226
5231
  EEvents["AUTOMATION_CREATED"] = "Automation.Created";
5227
5232
  EEvents["AUTOMATION_UPDATED"] = "Automation.Updated";
5228
5233
  EEvents["AUTOMATION_DELETED"] = "Automation.Deleted";
@@ -9706,6 +9711,16 @@ function getEmail(_a) {
9706
9711
  });
9707
9712
  }
9708
9713
 
9714
+ function createForm(_a) {
9715
+ var form = _a.form;
9716
+ return callApi({
9717
+ url: uiKitConfig.GATEWAY_PROXY + "/forms",
9718
+ fetchOptions: {
9719
+ body: form,
9720
+ method: EMethods.post
9721
+ }
9722
+ });
9723
+ }
9709
9724
  function listForms(_a) {
9710
9725
  var useImpersonationTree = _a.useImpersonationTree, options = __rest(_a, ["useImpersonationTree"]);
9711
9726
  return callApi({
@@ -9717,6 +9732,16 @@ function listForms(_a) {
9717
9732
  useImpersonationTree: useImpersonationTree
9718
9733
  });
9719
9734
  }
9735
+ function patchForm(_a) {
9736
+ var id = _a.id, data = _a.data;
9737
+ return callApi({
9738
+ url: uiKitConfig.GATEWAY_PROXY + "/forms/" + id,
9739
+ fetchOptions: {
9740
+ method: EMethods.patch,
9741
+ body: data
9742
+ }
9743
+ });
9744
+ }
9720
9745
  function getForm(_a) {
9721
9746
  var id = _a.id;
9722
9747
  return callApi({
@@ -9726,6 +9751,52 @@ function getForm(_a) {
9726
9751
  }
9727
9752
  });
9728
9753
  }
9754
+ function deleteForm(_a) {
9755
+ var id = _a.id;
9756
+ return callApi({
9757
+ url: uiKitConfig.GATEWAY_PROXY + "/forms/" + id,
9758
+ fetchOptions: {
9759
+ method: EMethods.delete
9760
+ }
9761
+ });
9762
+ }
9763
+ function enableForm(_a) {
9764
+ var id = _a.id;
9765
+ return callApi({
9766
+ url: uiKitConfig.GATEWAY_PROXY + "/forms/" + id + "/enable",
9767
+ fetchOptions: {
9768
+ method: EMethods.post
9769
+ }
9770
+ });
9771
+ }
9772
+ function disableForm(_a) {
9773
+ var id = _a.id;
9774
+ return callApi({
9775
+ url: uiKitConfig.GATEWAY_PROXY + "/forms/" + id + "/disable",
9776
+ fetchOptions: {
9777
+ method: EMethods.post
9778
+ }
9779
+ });
9780
+ }
9781
+ function publishForm(_a) {
9782
+ var id = _a.id;
9783
+ return callApi({
9784
+ url: uiKitConfig.GATEWAY_PROXY + "/forms/" + id + "/publish",
9785
+ fetchOptions: {
9786
+ method: EMethods.post
9787
+ }
9788
+ });
9789
+ }
9790
+ function renderForm(_a) {
9791
+ var id = _a.id, published = _a.published;
9792
+ return callApi({
9793
+ url: uiKitConfig.GATEWAY_PROXY + "/forms/" + id + "/render",
9794
+ query: camelCase({ published: published }),
9795
+ fetchOptions: {
9796
+ method: EMethods.get
9797
+ }
9798
+ });
9799
+ }
9729
9800
 
9730
9801
  function requestSupportService(_a) {
9731
9802
  var requestOptions = __rest(_a, []);
@@ -16515,22 +16586,48 @@ var EmailAPIFactory = /** @class */ (function () {
16515
16586
  return EmailAPIFactory;
16516
16587
  }());
16517
16588
 
16518
- var FormModel = /** @class */ (function () {
16519
- function FormModel(_a) {
16520
- var id = _a.id, name = _a.name, status = _a.status, content = _a.content, language = _a.language, created_on = _a.created_on, last_updated_on = _a.last_updated_on, url = _a.url, thumbnail_url = _a.thumbnail_url, redirections = _a.redirections, list_id = _a.list_id, double_opt_in = _a.double_opt_in;
16589
+ var CommonFormModel = /** @class */ (function () {
16590
+ function CommonFormModel(_a) {
16591
+ var id = _a.id, name = _a.name, list_id = _a.list_id, double_opt_in = _a.double_opt_in;
16521
16592
  this.id = id;
16522
16593
  this.name = name;
16523
- this.status = status;
16524
- this.content = content;
16525
- this.language = language;
16526
- this.created_on = created_on;
16527
- this.last_updated_on = last_updated_on;
16528
- this.url = url;
16529
- this.thumbnail_url = thumbnail_url;
16530
- this.redirections = redirections;
16531
16594
  this.list_id = list_id;
16532
16595
  this.double_opt_in = double_opt_in;
16533
16596
  }
16597
+ CommonFormModel.prototype.toJson = function () {
16598
+ return modelToJson(this);
16599
+ };
16600
+ CommonFormModel.prototype.set = function (property, value) {
16601
+ modelSet(this, property, value);
16602
+ };
16603
+ CommonFormModel.prototype.delete = function () {
16604
+ return __awaiter(this, void 0, void 0, function () {
16605
+ var _this = this;
16606
+ return __generator(this, function (_a) {
16607
+ return [2 /*return*/, deleteForm({ id: this.id.toString() }).then(function (data) {
16608
+ trackEvent(EEvents.FORM_DELETED, { id: _this.id });
16609
+ return data;
16610
+ })];
16611
+ });
16612
+ });
16613
+ };
16614
+ return CommonFormModel;
16615
+ }());
16616
+ var FormModel = /** @class */ (function (_super) {
16617
+ __extends(FormModel, _super);
16618
+ function FormModel(_a) {
16619
+ var id = _a.id, name = _a.name, status = _a.status, content = _a.content, language = _a.language, created_on = _a.created_on, last_updated_on = _a.last_updated_on, url = _a.url, thumbnail_url = _a.thumbnail_url, redirections = _a.redirections, list_id = _a.list_id, double_opt_in = _a.double_opt_in;
16620
+ var _this = _super.call(this, { id: id, name: name, list_id: list_id, double_opt_in: double_opt_in }) || this;
16621
+ _this.status = status;
16622
+ _this.content = content;
16623
+ _this.language = language;
16624
+ _this.created_on = created_on;
16625
+ _this.last_updated_on = last_updated_on;
16626
+ _this.url = url;
16627
+ _this.thumbnail_url = thumbnail_url;
16628
+ _this.redirections = redirections;
16629
+ return _this;
16630
+ }
16534
16631
  FormModel.prototype.toJson = function () {
16535
16632
  return modelToJson(this);
16536
16633
  };
@@ -16538,7 +16635,106 @@ var FormModel = /** @class */ (function () {
16538
16635
  modelSet(this, property, value);
16539
16636
  };
16540
16637
  return FormModel;
16541
- }());
16638
+ }(CommonFormModel));
16639
+ var SummaryEnhancedFormModel = /** @class */ (function (_super) {
16640
+ __extends(SummaryEnhancedFormModel, _super);
16641
+ function SummaryEnhancedFormModel(_a) {
16642
+ var id = _a.id, list_id = _a.list_id, enabled = _a.enabled, name = _a.name, description = _a.description, tags = _a.tags, post_redirect_url = _a.post_redirect_url, double_opt_in = _a.double_opt_in, double_opt_in_redirect_url = _a.double_opt_in_redirect_url, submission_url = _a.submission_url, async_processing = _a.async_processing, branding = _a.branding, created_at = _a.created_at, updated_at = _a.updated_at, published_at = _a.published_at, edited_by = _a.edited_by, thumbnail_url = _a.thumbnail_url, recaptcha = _a.recaptcha;
16643
+ var _this = _super.call(this, { id: id, name: name, list_id: list_id, double_opt_in: double_opt_in }) || this;
16644
+ _this.enabled = enabled;
16645
+ _this.description = description;
16646
+ _this.tags = tags;
16647
+ _this.post_redirect_url = post_redirect_url;
16648
+ _this.double_opt_in_redirect_url = double_opt_in_redirect_url;
16649
+ _this.submission_url = submission_url;
16650
+ _this.async_processing = async_processing;
16651
+ _this.branding = branding;
16652
+ _this.created_at = created_at;
16653
+ _this.updated_at = updated_at;
16654
+ _this.published_at = published_at;
16655
+ _this.edited_by = edited_by;
16656
+ _this.thumbnail_url = thumbnail_url;
16657
+ _this.recaptcha = recaptcha;
16658
+ return _this;
16659
+ }
16660
+ SummaryEnhancedFormModel.prototype.enable = function () {
16661
+ return __awaiter(this, void 0, void 0, function () {
16662
+ var _this = this;
16663
+ return __generator(this, function (_a) {
16664
+ return [2 /*return*/, enableForm({ id: this.id.toString() }).then(function (data) {
16665
+ trackEvent(EEvents.FORM_ENABLED, { id: _this.id });
16666
+ return data;
16667
+ })];
16668
+ });
16669
+ });
16670
+ };
16671
+ SummaryEnhancedFormModel.prototype.disable = function () {
16672
+ return __awaiter(this, void 0, void 0, function () {
16673
+ var _this = this;
16674
+ return __generator(this, function (_a) {
16675
+ return [2 /*return*/, disableForm({ id: this.id.toString() }).then(function (data) {
16676
+ trackEvent(EEvents.FORM_DISABLED, { id: _this.id });
16677
+ return data;
16678
+ })];
16679
+ });
16680
+ });
16681
+ };
16682
+ SummaryEnhancedFormModel.prototype.publish = function () {
16683
+ return __awaiter(this, void 0, void 0, function () {
16684
+ var _this = this;
16685
+ return __generator(this, function (_a) {
16686
+ return [2 /*return*/, publishForm({ id: this.id.toString() }).then(function (data) {
16687
+ trackEvent(EEvents.FORM_PUBLISHED, { id: _this.id });
16688
+ return data;
16689
+ })];
16690
+ });
16691
+ });
16692
+ };
16693
+ SummaryEnhancedFormModel.prototype.render = function () {
16694
+ return __awaiter(this, arguments, void 0, function (published) {
16695
+ var _this = this;
16696
+ if (published === void 0) { published = false; }
16697
+ return __generator(this, function (_a) {
16698
+ return [2 /*return*/, renderForm({ id: this.id.toString(), published: published }).then(function (data) {
16699
+ trackEvent(published ? EEvents.FORM_RENDERED_PUBLISHED : EEvents.FORM_RENDERED, { id: _this.id });
16700
+ return data;
16701
+ })];
16702
+ });
16703
+ });
16704
+ };
16705
+ SummaryEnhancedFormModel.prototype.save = function () {
16706
+ return __awaiter(this, void 0, void 0, function () {
16707
+ var _this = this;
16708
+ return __generator(this, function (_a) {
16709
+ return [2 /*return*/, patchForm({ id: this.id.toString(), data: this.toJson() }).then(function (data) {
16710
+ trackEvent(EEvents.FORM_UPDATED, { id: _this.id });
16711
+ return data;
16712
+ })];
16713
+ });
16714
+ });
16715
+ };
16716
+ SummaryEnhancedFormModel.prototype.toJson = function () {
16717
+ return modelToJson(this);
16718
+ };
16719
+ SummaryEnhancedFormModel.prototype.set = function (property, value) {
16720
+ modelSet(this, property, value);
16721
+ };
16722
+ return SummaryEnhancedFormModel;
16723
+ }(CommonFormModel));
16724
+ var EnhancedFormModel = /** @class */ (function (_super) {
16725
+ __extends(EnhancedFormModel, _super);
16726
+ function EnhancedFormModel(_a) {
16727
+ var _this = this;
16728
+ var content = _a.content, rest = __rest(_a, ["content"]);
16729
+ _this = _super.call(this, rest) || this;
16730
+ _this.content = content;
16731
+ return _this;
16732
+ }
16733
+ EnhancedFormModel.prototype.toJson = function () {
16734
+ return modelToJson(this);
16735
+ };
16736
+ return EnhancedFormModel;
16737
+ }(SummaryEnhancedFormModel));
16542
16738
 
16543
16739
  var ListModel = /** @class */ (function () {
16544
16740
  function ListModel(params) {
@@ -16737,6 +16933,9 @@ var FormsFactory = /** @class */ (function () {
16737
16933
  var id = _b.id;
16738
16934
  return __generator(this, function (_c) {
16739
16935
  return [2 /*return*/, getForm({ id: id }).then(function (data) {
16936
+ if ("enabled" in data.data) {
16937
+ return new EnhancedFormModel(data.data);
16938
+ }
16740
16939
  return new FormModel(data.data);
16741
16940
  })];
16742
16941
  });
@@ -16748,6 +16947,9 @@ var FormsFactory = /** @class */ (function () {
16748
16947
  return __generator(this, function (_b) {
16749
16948
  return [2 /*return*/, listForms(options).then(function (data) {
16750
16949
  data.data = data.data.map(function (form) {
16950
+ if ("enabled" in form) {
16951
+ return new SummaryEnhancedFormModel(form);
16952
+ }
16751
16953
  return new FormModel(form);
16752
16954
  });
16753
16955
  return data;
@@ -16755,6 +16957,19 @@ var FormsFactory = /** @class */ (function () {
16755
16957
  });
16756
16958
  });
16757
16959
  };
16960
+ FormsFactory.create = function (_a) {
16961
+ return __awaiter(this, arguments, void 0, function (_b) {
16962
+ var form = _b.form;
16963
+ return __generator(this, function (_c) {
16964
+ return [2 /*return*/, createForm({ form: form }).then(function (data) {
16965
+ if ("enabled" in data.data) {
16966
+ return new EnhancedFormModel(data.data);
16967
+ }
16968
+ return new FormModel(data.data);
16969
+ })];
16970
+ });
16971
+ });
16972
+ };
16758
16973
  return FormsFactory;
16759
16974
  }());
16760
16975
 
@@ -17019,4 +17234,4 @@ var UsersFactory = /** @class */ (function () {
17019
17234
  return UsersFactory;
17020
17235
  }());
17021
17236
 
17022
- export { AccountModel, AccountsFactory, ActionBarContainer, ActionBarContainerHandler, AssetManager, AutomationsFactory, Avatar, BillingFactory, BrandWrapper, BrandsFactory, Button, ButtonMenu, CampaignModel, CampaignsFactory, Checkbox, Chip, CircularProgress, CodeInput, ColManager, ColorTextField, ContactModel, ContactsFactory, ContentSectionContainer, CopyToClipboard, CountryDropdown, CustomerModel, DataTable, DataTableHead, DataTableRow, DateCalendar, DatePicker, DateTimeCalendar, DateTimePicker, Dialog, DialogActions, DialogHandler, DialogTitle, Divider, Drawer, DrawerHandler, DropMenu, Dropdown, EApiLanguages, ECampaignStatuses, EEMailSummaryStatuses, EEmailAttachementTypes, EEmailLogType, EEmailLogTypeParam, EEmailProviders, EEmailSummaryEngagement, EEvents, EMethods, EOperatorTypes, EPartialInfoPool, EStorageType, ElementContains, Email, EmailAPIFactory, EmptyContent, FileUpload, FilterBar, FormModel, FormsFactory, FullBar, GenericWrapper, GenericWrapperContext, GroupedActions, Header, Icon, IconPill, InformationGroup, InlineTextEdit, LinearProgress, ListCampaignModel, ListModel, ListTemplateModel, ListsFactory, LoadingContainer, LocationTextField, Logo, MD5, MetricCard, Modal, ModalHandler, ModalHeading, OverlayHandler, PhoneTextField, Search, SenderModel, SendersFactory, SideMenu, SideMenuContainer, SideMenuItem, SubNav, SupportFactory, SystemEmailsFactory, SystemEmailsModel, TemplateModel, TemplatesFactory, TextField, TimePicker, TimeSelector, Toggle, TopMenu, Typography, UserModel, UsersFactory, addPartialInformation, addToImpersonificationTree, amIImpersonating, amILoggedInService, archiveCampaign, areAllPropertiesEmpty, buildMUITheme, callApi, camelCase, camelToSnakeCase, cancelCampaign, capitalizeFirstLetter, cleanPostHogId, clearImpersonificationTree, clearStorage, connectToZendeskSupportService, createAccount, createBrand, createCampaign, createCampaignLogsExports, createCampaignsReportsExport, createTemplate, deepMergeObject, deleteCampaign, deleteCampaignsReportsExport, deletePartialInformation, deleteStorageItem, deleteTemplate, descendingComparator, downloadCampaignLogExport, downloadCampaignsReportsExport, emptyAccountAddress, emptyAccountLimits, enrichBrand, enrichOrganization, enrichProfile, eventCondition, eventIdentify, eventLogout, fetchRetry, fetchRoute, findNestedProperty, formatNumber, getAccount, getAccountReport, getAdjustedBillingCycle, getBestLocalMatch, getBrand, getBrandService, getBrandUrl, getCalendarFormat, getCampaign, getCampaignLinks, getCampaignLinksReport, getCampaignLogs, getCampaignLogsExports, getCampaignReport, getCampaignRevisions, getCampaignsReportsExport, getComparator, getCustomerProfile, getDate, getDomainFromEmail, getDomainsFromEmails, getDomainsService, getEmail, getEmailActivitySummary, getEmailReport, getEndOfDate, getForm, getHashQueryWithoutHistory, getIconSize, getList, getListLogs, getListReport, getNestedProperty, getPropertyValue, getSender, getStartOfDate, getStorage, getTColor, getTemplate, getUnixTime, getUrlQueryParam, getUser, getUtmCookies, googlePlacesMapper, hasDecimal, impersonateService, initFieldValidation, initPostHog, isColorLight, isDomainValidService, isSimpleType, isValidEmail, isValidString, isValidUrl, lisTEmailTags, listAccounts, listCampaigns, listCampaignsReportsExports, listContacts, listEmailLogs, listForms, listList, listSenders, listSystemEmails, listTemplates, listUsers, logOutService, loginService, miliToSecond, modelSet, modelToJson, originalBrand, popImpersonificationTree, postMessage, reScheduleCampaign, removeEmptyProperties, removeQueryParams, removeTrailingChar, renderCampaign, renderTemplate, requestSupportService, resumeCampaign, scheduleCampaign, searchCustomerProfiles, sendCampaignTest, setBrandHeadElements, setStorage, shareTemplate, splitArray, splitObject, stableSort, startPromisePool, suspendCampaign, trackEvent, truncateEmail, truncateText, uiKitConfig, unArchiveCampaign, unScheduleCampaign, unshareTemplate, updateAccount, updateAndClearUrlParams, updateCampaign, updateSystemEmails, updateTemplate, updateUser, validateColor, validateEmail, validateGenericInput, validateUrl, wait, whiteLabelBrand, whoAmi };
17237
+ export { AccountModel, AccountsFactory, ActionBarContainer, ActionBarContainerHandler, AssetManager, AutomationsFactory, Avatar, BillingFactory, BrandWrapper, BrandsFactory, Button, ButtonMenu, CampaignModel, CampaignsFactory, Checkbox, Chip, CircularProgress, CodeInput, ColManager, ColorTextField, CommonFormModel, ContactModel, ContactsFactory, ContentSectionContainer, CopyToClipboard, CountryDropdown, CustomerModel, DataTable, DataTableHead, DataTableRow, DateCalendar, DatePicker, DateTimeCalendar, DateTimePicker, Dialog, DialogActions, DialogHandler, DialogTitle, Divider, Drawer, DrawerHandler, DropMenu, Dropdown, EApiLanguages, ECampaignStatuses, EEMailSummaryStatuses, EEmailAttachementTypes, EEmailLogType, EEmailLogTypeParam, EEmailProviders, EEmailSummaryEngagement, EEvents, EMethods, EOperatorTypes, EPartialInfoPool, EStorageType, ElementContains, Email, EmailAPIFactory, EmptyContent, EnhancedFormModel, FileUpload, FilterBar, FormModel, FormsFactory, FullBar, GenericWrapper, GenericWrapperContext, GroupedActions, Header, Icon, IconPill, InformationGroup, InlineTextEdit, LinearProgress, ListCampaignModel, ListModel, ListTemplateModel, ListsFactory, LoadingContainer, LocationTextField, Logo, MD5, MetricCard, Modal, ModalHandler, ModalHeading, OverlayHandler, PhoneTextField, Search, SenderModel, SendersFactory, SideMenu, SideMenuContainer, SideMenuItem, SubNav, SummaryEnhancedFormModel, SupportFactory, SystemEmailsFactory, SystemEmailsModel, TemplateModel, TemplatesFactory, TextField, TimePicker, TimeSelector, Toggle, TopMenu, Typography, UserModel, UsersFactory, addPartialInformation, addToImpersonificationTree, amIImpersonating, amILoggedInService, archiveCampaign, areAllPropertiesEmpty, buildMUITheme, callApi, camelCase, camelToSnakeCase, cancelCampaign, capitalizeFirstLetter, cleanPostHogId, clearImpersonificationTree, clearStorage, connectToZendeskSupportService, createAccount, createBrand, createCampaign, createCampaignLogsExports, createCampaignsReportsExport, createForm, createTemplate, deepMergeObject, deleteCampaign, deleteCampaignsReportsExport, deleteForm, deletePartialInformation, deleteStorageItem, deleteTemplate, descendingComparator, disableForm, downloadCampaignLogExport, downloadCampaignsReportsExport, emptyAccountAddress, emptyAccountLimits, enableForm, enrichBrand, enrichOrganization, enrichProfile, eventCondition, eventIdentify, eventLogout, fetchRetry, fetchRoute, findNestedProperty, formatNumber, getAccount, getAccountReport, getAdjustedBillingCycle, getBestLocalMatch, getBrand, getBrandService, getBrandUrl, getCalendarFormat, getCampaign, getCampaignLinks, getCampaignLinksReport, getCampaignLogs, getCampaignLogsExports, getCampaignReport, getCampaignRevisions, getCampaignsReportsExport, getComparator, getCustomerProfile, getDate, getDomainFromEmail, getDomainsFromEmails, getDomainsService, getEmail, getEmailActivitySummary, getEmailReport, getEndOfDate, getForm, getHashQueryWithoutHistory, getIconSize, getList, getListLogs, getListReport, getNestedProperty, getPropertyValue, getSender, getStartOfDate, getStorage, getTColor, getTemplate, getUnixTime, getUrlQueryParam, getUser, getUtmCookies, googlePlacesMapper, hasDecimal, impersonateService, initFieldValidation, initPostHog, isColorLight, isDomainValidService, isSimpleType, isValidEmail, isValidString, isValidUrl, lisTEmailTags, listAccounts, listCampaigns, listCampaignsReportsExports, listContacts, listEmailLogs, listForms, listList, listSenders, listSystemEmails, listTemplates, listUsers, logOutService, loginService, miliToSecond, modelSet, modelToJson, originalBrand, patchForm, popImpersonificationTree, postMessage, publishForm, reScheduleCampaign, removeEmptyProperties, removeQueryParams, removeTrailingChar, renderCampaign, renderForm, renderTemplate, requestSupportService, resumeCampaign, scheduleCampaign, searchCustomerProfiles, sendCampaignTest, setBrandHeadElements, setStorage, shareTemplate, splitArray, splitObject, stableSort, startPromisePool, suspendCampaign, trackEvent, truncateEmail, truncateText, uiKitConfig, unArchiveCampaign, unScheduleCampaign, unshareTemplate, updateAccount, updateAndClearUrlParams, updateCampaign, updateSystemEmails, updateTemplate, updateUser, validateColor, validateEmail, validateGenericInput, validateUrl, wait, whiteLabelBrand, whoAmi };
@@ -1,8 +1,21 @@
1
- import { EApiLanguages } from "../../types";
2
- import { TFormModel } from "./types";
3
- export declare class FormModel {
4
- readonly id: number;
1
+ import { EApiLanguages, TDeleteApiResource, TDisableApiResource, TEnableApiResource, TGenericReturn } from "../../types";
2
+ import { TEnhancedFormContent, TEnhancedFormEditedBy, TEnhancedFormModel, TEnhancedFormRecaptcha, TFormModel, TSummaryEnhancedFormModel } from "./types";
3
+ export declare class CommonFormModel {
4
+ readonly id: string;
5
5
  name: string;
6
+ list_id: number;
7
+ double_opt_in: boolean;
8
+ constructor({ id, name, list_id, double_opt_in }: {
9
+ id: string;
10
+ name: string;
11
+ list_id: number;
12
+ double_opt_in: boolean;
13
+ });
14
+ toJson(): any;
15
+ set<T extends keyof this>(property: T, value: this[T]): void;
16
+ delete(): Promise<TDeleteApiResource>;
17
+ }
18
+ export declare class FormModel extends CommonFormModel {
6
19
  readonly status: string;
7
20
  content: {
8
21
  linked: string;
@@ -21,10 +34,37 @@ export declare class FormModel {
21
34
  after_double_opt_in: string;
22
35
  after_opt_out: string;
23
36
  };
24
- list_id: number;
25
- double_opt_in: boolean;
26
37
  constructor({ id, name, status, content, language, created_on, last_updated_on, url, thumbnail_url, redirections, list_id, double_opt_in, }: TFormModel);
27
38
  toJson(): any;
28
39
  set<T extends keyof this>(property: T, value: this[T]): void;
29
40
  }
41
+ export declare class SummaryEnhancedFormModel extends CommonFormModel {
42
+ readonly enabled: boolean;
43
+ description: string;
44
+ tags: string[];
45
+ post_redirect_url: string;
46
+ double_opt_in_redirect_url: string;
47
+ submission_url: string;
48
+ async_processing: boolean;
49
+ branding: string;
50
+ readonly created_at: number;
51
+ readonly updated_at: number;
52
+ readonly published_at: number;
53
+ readonly edited_by: TEnhancedFormEditedBy;
54
+ readonly thumbnail_url: string;
55
+ recaptcha: TEnhancedFormRecaptcha;
56
+ constructor({ id, list_id, enabled, name, description, tags, post_redirect_url, double_opt_in, double_opt_in_redirect_url, submission_url, async_processing, branding, created_at, updated_at, published_at, edited_by, thumbnail_url, recaptcha, }: TSummaryEnhancedFormModel);
57
+ enable(): Promise<TEnableApiResource>;
58
+ disable(): Promise<TDisableApiResource>;
59
+ publish(): Promise<TGenericReturn<EnhancedFormModel>>;
60
+ render(published?: boolean): Promise<TGenericReturn<EnhancedFormModel>>;
61
+ save(): Promise<TGenericReturn<EnhancedFormModel>>;
62
+ toJson(): any;
63
+ set<T extends keyof this>(property: T, value: this[T]): void;
64
+ }
65
+ export declare class EnhancedFormModel extends SummaryEnhancedFormModel {
66
+ content: TEnhancedFormContent;
67
+ constructor({ content, ...rest }: TEnhancedFormModel);
68
+ toJson(): any;
69
+ }
30
70
  export * from "./types";
@@ -1,6 +1,6 @@
1
1
  import { EApiLanguages } from "../../types";
2
2
  export type TFormModel = {
3
- readonly id: number;
3
+ readonly id: string;
4
4
  name: string;
5
5
  readonly status: string;
6
6
  content: {
@@ -23,3 +23,37 @@ export type TFormModel = {
23
23
  list_id: number;
24
24
  double_opt_in: boolean;
25
25
  };
26
+ export type TEnhancedFormEditedBy = {
27
+ id: number;
28
+ email: string;
29
+ };
30
+ export type TEnhancedFormRecaptcha = {
31
+ secret: string;
32
+ domain: string;
33
+ };
34
+ export type TEnhancedFormContent = {
35
+ json: any;
36
+ };
37
+ export interface TSummaryEnhancedFormModel {
38
+ readonly id: string;
39
+ list_id: number;
40
+ readonly enabled: boolean;
41
+ name: string;
42
+ description: string;
43
+ tags: string[];
44
+ post_redirect_url: string;
45
+ double_opt_in: boolean;
46
+ double_opt_in_redirect_url: string;
47
+ submission_url: string;
48
+ async_processing: boolean;
49
+ branding: string;
50
+ readonly created_at: number;
51
+ readonly updated_at: number;
52
+ readonly published_at: number;
53
+ readonly edited_by: TEnhancedFormEditedBy;
54
+ readonly thumbnail_url: string;
55
+ recaptcha: TEnhancedFormRecaptcha;
56
+ }
57
+ export interface TEnhancedFormModel extends TSummaryEnhancedFormModel {
58
+ content: TEnhancedFormContent;
59
+ }
@@ -1,6 +1,30 @@
1
+ import { EnhancedFormModel, FormModel } from "../../models";
1
2
  import { TGenericListParams } from "../../types";
3
+ export declare function createForm({ form }: {
4
+ form: Partial<FormModel | EnhancedFormModel>;
5
+ }): Promise<any>;
2
6
  export declare function listForms({ useImpersonationTree, ...options }: TGenericListParams): Promise<any>;
7
+ export declare function patchForm({ id, data }: {
8
+ id: string;
9
+ data: Partial<FormModel | EnhancedFormModel>;
10
+ }): Promise<any>;
3
11
  export declare function getForm({ id }: {
4
12
  id: string;
5
13
  }): Promise<any>;
14
+ export declare function deleteForm({ id }: {
15
+ id: string;
16
+ }): Promise<any>;
17
+ export declare function enableForm({ id }: {
18
+ id: string;
19
+ }): Promise<any>;
20
+ export declare function disableForm({ id }: {
21
+ id: string;
22
+ }): Promise<any>;
23
+ export declare function publishForm({ id }: {
24
+ id: string;
25
+ }): Promise<any>;
26
+ export declare function renderForm({ id, published }: {
27
+ id: string;
28
+ published: boolean;
29
+ }): Promise<any>;
6
30
  export * from "./types";
@@ -90,6 +90,16 @@ export type TDeleteApiResource = {
90
90
  object: string;
91
91
  deleted: boolean;
92
92
  };
93
+ export type TEnableApiResource = {
94
+ id: TNumStr;
95
+ object: string;
96
+ enabled: boolean;
97
+ };
98
+ export type TDisableApiResource = {
99
+ id: TNumStr;
100
+ object: string;
101
+ disabled: boolean;
102
+ };
93
103
  export type TUpdateApiResource<T> = {
94
104
  updated: boolean;
95
105
  object: string;
@@ -88,6 +88,11 @@ export declare enum EEvents {
88
88
  FORM_CREATED = "Form.Created",
89
89
  FORM_UPDATED = "Form.Updated",
90
90
  FORM_DELETED = "Form.Deleted",
91
+ FORM_ENABLED = "Form.Enabled",
92
+ FORM_DISABLED = "Form.Disabled",
93
+ FORM_PUBLISHED = "Form.Published",
94
+ FORM_RENDERED = "Form.Rendered",
95
+ FORM_RENDERED_PUBLISHED = "Form.Rendered.Published",
91
96
  AUTOMATION_CREATED = "Automation.Created",
92
97
  AUTOMATION_UPDATED = "Automation.Updated",
93
98
  AUTOMATION_DELETED = "Automation.Deleted",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cakemail-org/ui-components-v2",
3
- "version": "2.0.60",
3
+ "version": "2.0.61",
4
4
  "description": "ui library kit made with material UI",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",