@servicetitan/onboarding-ui 4.0.0 → 5.0.0

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,5 +1,3 @@
1
- export * from '@servicetitan/contentful';
2
1
  export * from './marketing-carousel.store';
3
2
  export * from './interfaces';
4
- export * from './utils';
5
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contentful/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contentful/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC"}
@@ -1,5 +1,3 @@
1
- export * from '@servicetitan/contentful';
2
1
  export * from './marketing-carousel.store';
3
2
  export * from './interfaces';
4
- export * from './utils';
5
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contentful/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contentful/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC"}
@@ -1,6 +1,6 @@
1
- import { Asset, Entry } from '@servicetitan/contentful';
2
1
  import { Document as RichText } from '@contentful/rich-text-types/dist/types/types';
3
- export interface OxPhotoGalleryItemFields {
2
+ import { Asset, EntryMetadata, EntryMetadataWithCode } from '@servicetitan/contentful-proxy';
3
+ export interface OxPhotoGalleryItemFields extends EntryMetadata {
4
4
  name: string;
5
5
  media: Asset;
6
6
  headline: string;
@@ -11,25 +11,25 @@ export interface OxPhotoGalleryItemFields {
11
11
  showDate?: string;
12
12
  hideDate?: string;
13
13
  }
14
- export interface OxPhotoGalleryFields {
14
+ export interface OxPhotoGalleryFields extends EntryMetadataWithCode {
15
15
  name: string;
16
- items: Entry<OxPhotoGalleryItemFields>[];
16
+ items: OxPhotoGalleryItemFields[];
17
17
  }
18
- export interface OxCallAssistantStepFields {
18
+ export interface OxCallAssistantStepFields extends EntryMetadataWithCode {
19
19
  internalName: string;
20
20
  stepHeader: string;
21
21
  stepSubHeader?: string;
22
22
  stepHintText?: string;
23
23
  helperText?: RichText;
24
24
  }
25
- export interface OxCallAssistantSectionFields {
25
+ export interface OxCallAssistantSectionFields extends EntryMetadataWithCode {
26
26
  internalName: string;
27
27
  sectionName: string;
28
- steps: Entry<OxCallAssistantStepFields>[];
28
+ steps: OxCallAssistantStepFields[];
29
29
  }
30
- export interface OxCallAssistantFields {
30
+ export interface OxCallAssistantFields extends EntryMetadataWithCode {
31
31
  internalName: string;
32
- sections: Entry<OxCallAssistantSectionFields>[];
32
+ sections: OxCallAssistantSectionFields[];
33
33
  finishPageText: RichText;
34
34
  welcomeModalText: RichText;
35
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/contentful/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AAEpF,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,yBAAyB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,QAAQ,CAAC;CACzB;AAED,MAAM,WAAW,4BAA4B;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,qBAAqB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,4BAA4B,CAAC,EAAE,CAAC;IAChD,cAAc,EAAE,QAAQ,CAAC;IACzB,gBAAgB,EAAE,QAAQ,CAAC;CAC9B"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/contentful/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE7F,MAAM,WAAW,wBAAyB,SAAQ,aAAa;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAqB,SAAQ,qBAAqB;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,wBAAwB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,yBAA0B,SAAQ,qBAAqB;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,QAAQ,CAAC;CACzB;AAED,MAAM,WAAW,4BAA6B,SAAQ,qBAAqB;IACvE,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,yBAAyB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,4BAA4B,EAAE,CAAC;IACzC,cAAc,EAAE,QAAQ,CAAC;IACzB,gBAAgB,EAAE,QAAQ,CAAC;CAC9B"}
@@ -1,4 +1,4 @@
1
- import { ContentfulDataStore } from '@servicetitan/contentful';
1
+ import { IContentfulApi } from '@servicetitan/contentful-proxy';
2
2
  export declare enum MarketingCarouselColorTheme {
3
3
  Light = "Light",
4
4
  Dark = "Dark"
@@ -24,12 +24,12 @@ interface MarketingCarouselItem {
24
24
  description: string;
25
25
  }
26
26
  export declare class MarketingCarouselStore {
27
- private contentfulDataStore;
27
+ private contentfulApi;
28
28
  isInitializing: boolean;
29
29
  private photoGalleryData?;
30
30
  private utmSource?;
31
31
  private fallbackData?;
32
- constructor(contentfulDataStore: ContentfulDataStore);
32
+ constructor(contentfulApi: IContentfulApi);
33
33
  initialize: ({ codeId, utmSource, fallbackData, isPreview, }: MarketingCarouselStoreOptions) => Promise<void>;
34
34
  get carouselSettings(): {
35
35
  colorTheme: MarketingCarouselColorTheme;
@@ -1 +1 @@
1
- {"version":3,"file":"marketing-carousel.store.d.ts","sourceRoot":"","sources":["../../src/contentful/marketing-carousel.store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAMtE,oBAAY,2BAA2B;IACnC,KAAK,UAAU;IACf,IAAI,SAAS;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC1C,gBAAgB,EAAE;QACd,UAAU,EAAE,2BAA2B,CAAC;QACxC,kBAAkB,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,YAAY,EAAE,qBAAqB,EAAE,CAAC;CACzC;AAED,UAAU,6BAA6B;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,6BAA6B,CAAC;CAChD;AAED,UAAU,qBAAqB;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,qBACa,sBAAsB;IAMU,OAAO,CAAC,mBAAmB;IALxD,cAAc,UAAS;IACvB,OAAO,CAAC,gBAAgB,CAAC,CAA8B;IACvD,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAC,CAAgC;gBAEhB,mBAAmB,EAAE,mBAAmB;IAKzF,UAAU,oDAKP,6BAA6B,mBAqB9B;IAGF,IACI,gBAAgB;;;kBAOnB;IAED,IACI,YAAY,IAAI,qBAAqB,EAAE,GAAG,SAAS,CAgBtD;IAED,OAAO,CAAC,UAAU,CAShB;IAEF,OAAO,CAAC,iBAAiB,CAQvB;CACL"}
1
+ {"version":3,"file":"marketing-carousel.store.d.ts","sourceRoot":"","sources":["../../src/contentful/marketing-carousel.store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAwB,MAAM,gCAAgC,CAAC;AAMtF,oBAAY,2BAA2B;IACnC,KAAK,UAAU;IACf,IAAI,SAAS;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC1C,gBAAgB,EAAE;QACd,UAAU,EAAE,2BAA2B,CAAC;QACxC,kBAAkB,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,YAAY,EAAE,qBAAqB,EAAE,CAAC;CACzC;AAED,UAAU,6BAA6B;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,6BAA6B,CAAC;CAChD;AAED,UAAU,qBAAqB;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,qBACa,sBAAsB;IAMW,OAAO,CAAC,aAAa;IALnD,cAAc,UAAS;IACvB,OAAO,CAAC,gBAAgB,CAAC,CAAuB;IAChD,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAC,CAAgC;gBAEf,aAAa,EAAE,cAAc;IAK/E,UAAU,oDAKP,6BAA6B,mBAqB9B;IAGF,IACI,gBAAgB;;;kBAOnB;IAED,IACI,YAAY,IAAI,qBAAqB,EAAE,GAAG,SAAS,CAiBtD;IAED,OAAO,CAAC,UAAU,CAShB;IAEF,OAAO,CAAC,iBAAiB,CAQvB;CACL"}
@@ -33,7 +33,7 @@ var __rest = (this && this.__rest) || function (s, e) {
33
33
  import { inject, injectable } from '@servicetitan/react-ioc';
34
34
  import { action, computed, makeObservable, observable, runInAction } from 'mobx';
35
35
  import queryString from 'query-string';
36
- import { ContentfulDataStore } from '@servicetitan/contentful';
36
+ import { CONTENTFUL_API_TOKEN } from '@servicetitan/contentful-proxy';
37
37
  const carouselBackgroundLightPath = 'https://static.servicetitan.com/acm/auth/sign-in-carousel-background.png';
38
38
  export var MarketingCarouselColorTheme;
39
39
  (function (MarketingCarouselColorTheme) {
@@ -41,12 +41,12 @@ export var MarketingCarouselColorTheme;
41
41
  MarketingCarouselColorTheme["Dark"] = "Dark";
42
42
  })(MarketingCarouselColorTheme || (MarketingCarouselColorTheme = {}));
43
43
  let MarketingCarouselStore = class MarketingCarouselStore {
44
- constructor(contentfulDataStore) {
45
- Object.defineProperty(this, "contentfulDataStore", {
44
+ constructor(contentfulApi) {
45
+ Object.defineProperty(this, "contentfulApi", {
46
46
  enumerable: true,
47
47
  configurable: true,
48
48
  writable: true,
49
- value: contentfulDataStore
49
+ value: contentfulApi
50
50
  });
51
51
  Object.defineProperty(this, "isInitializing", {
52
52
  enumerable: true,
@@ -81,12 +81,12 @@ let MarketingCarouselStore = class MarketingCarouselStore {
81
81
  this.utmSource = utmSource;
82
82
  this.fallbackData = fallbackData;
83
83
  try {
84
- const data = yield this.contentfulDataStore.getContentfulData({
84
+ const data = yield this.contentfulApi.getContentfulData({
85
85
  entryType: 'oxPhotoGallery',
86
86
  codeId,
87
- isPreview,
87
+ isPreview: isPreview !== null && isPreview !== void 0 ? isPreview : false,
88
88
  });
89
- if (data === null || data === void 0 ? void 0 : data.fields.items.some(({ fields }) => fields === undefined)) {
89
+ if (!(data === null || data === void 0 ? void 0 : data.items.length)) {
90
90
  return;
91
91
  }
92
92
  runInAction(() => {
@@ -142,15 +142,20 @@ let MarketingCarouselStore = class MarketingCarouselStore {
142
142
  : (_a = this.fallbackData) === null || _a === void 0 ? void 0 : _a.carouselSettings;
143
143
  }
144
144
  get carouselData() {
145
- var _a, _b, _c, _d;
145
+ var _a, _b, _c, _d, _e;
146
146
  try {
147
- return ((_b = (_a = this.photoGalleryData) === null || _a === void 0 ? void 0 : _a.fields.items.filter(({ fields: { showDate, hideDate } }) => this.isDateRangeActive(showDate, hideDate)).map((_a) => {
148
- var _b = _a.fields, { ctaLink, ctaTrackingCode, media } = _b, fields = __rest(_b, ["ctaLink", "ctaTrackingCode", "media"]);
149
- return (Object.assign(Object.assign({}, fields), { ctaLink: this.getCtaLink(ctaLink, ctaTrackingCode), imageUrl: media.fields.file.url.replace('//', 'https://') }));
150
- })) !== null && _b !== void 0 ? _b : (_c = this.fallbackData) === null || _c === void 0 ? void 0 : _c.carouselData);
147
+ if (!((_a = this.photoGalleryData) === null || _a === void 0 ? void 0 : _a.items)) {
148
+ return (_b = this.fallbackData) === null || _b === void 0 ? void 0 : _b.carouselData;
149
+ }
150
+ return ((_c = this.photoGalleryData.items
151
+ .filter(({ showDate, hideDate }) => this.isDateRangeActive(showDate, hideDate))
152
+ .map((_a) => {
153
+ var { ctaLink, ctaTrackingCode, media } = _a, fields = __rest(_a, ["ctaLink", "ctaTrackingCode", "media"]);
154
+ return (Object.assign(Object.assign({}, fields), { ctaLink: this.getCtaLink(ctaLink, ctaTrackingCode), imageUrl: media.file.url.replace('//', 'https://') }));
155
+ })) !== null && _c !== void 0 ? _c : (_d = this.fallbackData) === null || _d === void 0 ? void 0 : _d.carouselData);
151
156
  }
152
- catch (_e) {
153
- return (_d = this.fallbackData) === null || _d === void 0 ? void 0 : _d.carouselData;
157
+ catch (_f) {
158
+ return (_e = this.fallbackData) === null || _e === void 0 ? void 0 : _e.carouselData;
154
159
  }
155
160
  }
156
161
  };
@@ -186,8 +191,8 @@ __decorate([
186
191
  ], MarketingCarouselStore.prototype, "carouselData", null);
187
192
  MarketingCarouselStore = __decorate([
188
193
  injectable(),
189
- __param(0, inject(ContentfulDataStore)),
190
- __metadata("design:paramtypes", [ContentfulDataStore])
194
+ __param(0, inject(CONTENTFUL_API_TOKEN)),
195
+ __metadata("design:paramtypes", [Object])
191
196
  ], MarketingCarouselStore);
192
197
  export { MarketingCarouselStore };
193
198
  //# sourceMappingURL=marketing-carousel.store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"marketing-carousel.store.js","sourceRoot":"","sources":["../../src/contentful/marketing-carousel.store.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACjF,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,EAAS,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGtE,MAAM,2BAA2B,GAC7B,0EAA0E,CAAC;AAE/E,MAAM,CAAN,IAAY,2BAGX;AAHD,WAAY,2BAA2B;IACnC,8CAAe,CAAA;IACf,4CAAa,CAAA;AACjB,CAAC,EAHW,2BAA2B,KAA3B,2BAA2B,QAGtC;AA0BD,IAAa,sBAAsB,GAAnC,MAAa,sBAAsB;IAM/B,YAAiD,mBAAwC;;;;;mBAAxC;;QALrC;;;;mBAAiB,KAAK;WAAC;QACvB;;;;;WAAuD;QACvD;;;;;WAA2B;QAC3B;;;;;WAAqD;QAOjE;;;;mBAAa,CAAO,EAChB,MAAM,EACN,SAAS,EACT,YAAY,EACZ,SAAS,GAAG,KAAK,GACW,EAAE,EAAE;gBAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;gBACjC,IAAI;oBACA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAuB;wBAChF,SAAS,EAAE,gBAAgB;wBAC3B,MAAM;wBACN,SAAS;qBACZ,CAAC,CAAC;oBACH,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE;wBAC/D,OAAO;qBACV;oBACD,WAAW,CAAC,GAAG,EAAE;wBACb,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBACjC,CAAC,CAAC,CAAC;iBACN;wBAAS;oBACN,WAAW,CAAC,GAAG,EAAE;wBACb,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oBAChC,CAAC,CAAC,CAAC;iBACN;YACL,CAAC,CAAA;WAAC;QAgCF;;;;mBAAqB,CAAC,OAAe,EAAE,eAAwB,EAAE,EAAE;gBAC/D,IAAI,CAAC,eAAe,EAAE;oBAClB,OAAO,OAAO,CAAC;iBAClB;gBACD,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC9C,IAAI,IAAI,CAAC,SAAS,EAAE;oBAChB,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;iBAClC;gBACD,OAAO,GAAG,OAAO,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YACrD,CAAC;WAAC;QAEF;;;;mBAA4B,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;gBACzD,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE;oBAChB,OAAO,IAAI,CAAC;iBACf;gBACD,MAAM,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBAC9C,MAAM,YAAY,GAAG,CAAC,KAAK,IAAI,gBAAgB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC7E,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,gBAAgB,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;gBACtE,OAAO,YAAY,IAAI,UAAU,CAAC;YACtC,CAAC;WAAC;QAjFE,cAAc,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IA+BD,sFAAsF;IAEtF,IAAI,gBAAgB;;QAChB,OAAO,IAAI,CAAC,gBAAgB;YACxB,CAAC,CAAC;gBACI,kBAAkB,EAAE,2BAA2B;gBAC/C,UAAU,EAAE,2BAA2B,CAAC,KAAK;aAChD;YACH,CAAC,CAAC,MAAA,IAAI,CAAC,YAAY,0CAAE,gBAAgB,CAAC;IAC9C,CAAC;IAGD,IAAI,YAAY;;QACZ,IAAI;YACA,OAAO,CACH,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,CAAC,KAAK,CAC9B,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,CAC3C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAE7C,GAAG,CAAC,CAAC,EAA0D,EAAE,EAAE;oBAA5D,cAAsD,EAAtD,EAAU,OAAO,EAAE,eAAe,EAAE,KAAK,OAAa,EAAR,MAAM,cAA5C,uCAA8C,CAAF;gBAAS,OAAA,iCAC9D,MAAM,KACT,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,EAClD,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,IAC3D,CAAA;aAAA,CAAC,mCAAI,MAAA,IAAI,CAAC,YAAY,0CAAE,YAAY,CAC7C,CAAC;SACL;QAAC,WAAM;YACJ,OAAO,MAAA,IAAI,CAAC,YAAY,0CAAE,YAAY,CAAC;SAC1C;IACL,CAAC;CAsBJ,CAAA;AAxFe;IAAX,UAAU;;8DAAwB;AACvB;IAAX,UAAU;;gEAAwD;AACvD;IAAX,UAAU;;yDAA4B;AAC3B;IAAX,UAAU;;4DAAsD;AAOjE;IADC,MAAM;;0DA2BL;AAIF;IADC,QAAQ;;;8DAQR;AAGD;IADC,QAAQ;;;0DAiBR;AAnEQ,sBAAsB;IADlC,UAAU,EAAE;IAOI,WAAA,MAAM,CAAC,mBAAmB,CAAC,CAAA;qCAA8B,mBAAmB;GANhF,sBAAsB,CAyFlC;SAzFY,sBAAsB"}
1
+ {"version":3,"file":"marketing-carousel.store.js","sourceRoot":"","sources":["../../src/contentful/marketing-carousel.store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/onboarding-ui",
3
- "version": "4.0.0",
3
+ "version": "5.0.0",
4
4
  "description": "Shared components between servicetitan monolith and Onboarding",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,7 +17,6 @@
17
17
  ],
18
18
  "peerDependencies": {
19
19
  "@servicetitan/confirm": ">=22.0.0",
20
- "@servicetitan/contentful": ">=0.0.1",
21
20
  "@servicetitan/culture": ">=22.0.0",
22
21
  "@servicetitan/data-query": ">=22.0.0",
23
22
  "@servicetitan/design-system": ">=12.4.1",
@@ -33,7 +32,6 @@
33
32
  },
34
33
  "devDependencies": {
35
34
  "@servicetitan/confirm": "^23.0.2",
36
- "@servicetitan/contentful": "^0.0.2",
37
35
  "@servicetitan/culture": ">=22.0.0",
38
36
  "@servicetitan/data-query": ">=22.0.0",
39
37
  "@servicetitan/design-system": ">=12.4.1",
@@ -53,6 +51,7 @@
53
51
  "dependencies": {
54
52
  "@contentful/rich-text-react-renderer": "^15.6.2",
55
53
  "@contentful/rich-text-types": "^15.7.0",
54
+ "@servicetitan/contentful-proxy": "^1.1.10",
56
55
  "@servicetitan/react-hooks": "^2.7.0",
57
56
  "@types/google.maps": "^3.45.6",
58
57
  "classnames": "~2.3.1",
@@ -70,5 +69,5 @@
70
69
  "less": true,
71
70
  "webpack": false
72
71
  },
73
- "gitHead": "d0df408eb7e34a00169ad6d6e1d463a4bd00e960"
72
+ "gitHead": "487169312d1a37359318ec58dfd65328190765cc"
74
73
  }
@@ -1,4 +1,2 @@
1
- export * from '@servicetitan/contentful';
2
1
  export * from './marketing-carousel.store';
3
2
  export * from './interfaces';
4
- export * from './utils';
@@ -1,7 +1,7 @@
1
- import { Asset, Entry } from '@servicetitan/contentful';
2
1
  import { Document as RichText } from '@contentful/rich-text-types/dist/types/types';
2
+ import { Asset, EntryMetadata, EntryMetadataWithCode } from '@servicetitan/contentful-proxy';
3
3
 
4
- export interface OxPhotoGalleryItemFields {
4
+ export interface OxPhotoGalleryItemFields extends EntryMetadata {
5
5
  name: string;
6
6
  media: Asset;
7
7
  headline: string;
@@ -13,12 +13,12 @@ export interface OxPhotoGalleryItemFields {
13
13
  hideDate?: string;
14
14
  }
15
15
 
16
- export interface OxPhotoGalleryFields {
16
+ export interface OxPhotoGalleryFields extends EntryMetadataWithCode {
17
17
  name: string;
18
- items: Entry<OxPhotoGalleryItemFields>[];
18
+ items: OxPhotoGalleryItemFields[];
19
19
  }
20
20
 
21
- export interface OxCallAssistantStepFields {
21
+ export interface OxCallAssistantStepFields extends EntryMetadataWithCode {
22
22
  internalName: string;
23
23
  stepHeader: string;
24
24
  stepSubHeader?: string;
@@ -26,15 +26,15 @@ export interface OxCallAssistantStepFields {
26
26
  helperText?: RichText;
27
27
  }
28
28
 
29
- export interface OxCallAssistantSectionFields {
29
+ export interface OxCallAssistantSectionFields extends EntryMetadataWithCode {
30
30
  internalName: string;
31
31
  sectionName: string;
32
- steps: Entry<OxCallAssistantStepFields>[];
32
+ steps: OxCallAssistantStepFields[];
33
33
  }
34
34
 
35
- export interface OxCallAssistantFields {
35
+ export interface OxCallAssistantFields extends EntryMetadataWithCode {
36
36
  internalName: string;
37
- sections: Entry<OxCallAssistantSectionFields>[];
37
+ sections: OxCallAssistantSectionFields[];
38
38
  finishPageText: RichText;
39
39
  welcomeModalText: RichText;
40
40
  }
@@ -1,7 +1,7 @@
1
1
  import { inject, injectable } from '@servicetitan/react-ioc';
2
2
  import { action, computed, makeObservable, observable, runInAction } from 'mobx';
3
3
  import queryString from 'query-string';
4
- import { Entry, ContentfulDataStore } from '@servicetitan/contentful';
4
+ import { IContentfulApi, CONTENTFUL_API_TOKEN } from '@servicetitan/contentful-proxy';
5
5
  import { OxPhotoGalleryFields } from './interfaces';
6
6
 
7
7
  const carouselBackgroundLightPath =
@@ -38,11 +38,11 @@ interface MarketingCarouselItem {
38
38
  @injectable()
39
39
  export class MarketingCarouselStore {
40
40
  @observable isInitializing = false;
41
- @observable private photoGalleryData?: Entry<OxPhotoGalleryFields>;
41
+ @observable private photoGalleryData?: OxPhotoGalleryFields;
42
42
  @observable private utmSource?: string;
43
43
  @observable private fallbackData?: MarketingCarouselFallbackData;
44
44
 
45
- constructor(@inject(ContentfulDataStore) private contentfulDataStore: ContentfulDataStore) {
45
+ constructor(@inject(CONTENTFUL_API_TOKEN) private contentfulApi: IContentfulApi) {
46
46
  makeObservable(this);
47
47
  }
48
48
 
@@ -57,12 +57,12 @@ export class MarketingCarouselStore {
57
57
  this.utmSource = utmSource;
58
58
  this.fallbackData = fallbackData;
59
59
  try {
60
- const data = await this.contentfulDataStore.getContentfulData<OxPhotoGalleryFields>({
60
+ const data = await this.contentfulApi.getContentfulData<OxPhotoGalleryFields>({
61
61
  entryType: 'oxPhotoGallery',
62
62
  codeId,
63
- isPreview,
63
+ isPreview: isPreview ?? false,
64
64
  });
65
- if (data?.fields.items.some(({ fields }) => fields === undefined)) {
65
+ if (!data?.items.length) {
66
66
  return;
67
67
  }
68
68
  runInAction(() => {
@@ -89,15 +89,16 @@ export class MarketingCarouselStore {
89
89
  @computed
90
90
  get carouselData(): MarketingCarouselItem[] | undefined {
91
91
  try {
92
+ if (!this.photoGalleryData?.items) {
93
+ return this.fallbackData?.carouselData;
94
+ }
92
95
  return (
93
- this.photoGalleryData?.fields.items
94
- .filter(({ fields: { showDate, hideDate } }) =>
95
- this.isDateRangeActive(showDate, hideDate)
96
- )
97
- .map(({ fields: { ctaLink, ctaTrackingCode, media, ...fields } }) => ({
96
+ this.photoGalleryData.items
97
+ .filter(({ showDate, hideDate }) => this.isDateRangeActive(showDate, hideDate))
98
+ .map(({ ctaLink, ctaTrackingCode, media, ...fields }) => ({
98
99
  ...fields,
99
100
  ctaLink: this.getCtaLink(ctaLink, ctaTrackingCode),
100
- imageUrl: media.fields.file.url.replace('//', 'https://'),
101
+ imageUrl: media.file.url.replace('//', 'https://'),
101
102
  })) ?? this.fallbackData?.carouselData
102
103
  );
103
104
  } catch {
@@ -1,8 +0,0 @@
1
- import { Entry, OxPermissionFields, ContentContainerFields, TextEntryFields } from '@servicetitan/contentful';
2
- export declare const isEntryTypeOf: (entry: Entry<unknown>, type: string) => boolean;
3
- export declare const isContentContainerEntry: (entry: Entry<unknown>) => entry is Entry<ContentContainerFields>;
4
- export declare const isTextEntry: (entry: Entry<unknown>) => entry is Entry<TextEntryFields>;
5
- export declare const isHeaderEntry: (entry: Entry<unknown>) => entry is Entry<TextEntryFields>;
6
- export declare const isDescriptionEntry: (entry: Entry<unknown>) => entry is Entry<TextEntryFields>;
7
- export declare const isOxPermissionsEntry: (entry: Entry<unknown>) => entry is Entry<OxPermissionFields>;
8
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/contentful/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,EACL,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EAClB,MAAM,0BAA0B,CAAC;AAElC,eAAO,MAAM,aAAa,UAAW,MAAM,OAAO,CAAC,QAAQ,MAAM,YACxB,CAAC;AAE1C,eAAO,MAAM,uBAAuB,UACzB,MAAM,OAAO,CAAC,2CAGxB,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,MAAM,OAAO,CAAC,oCAEhD,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,MAAM,OAAO,CAAC,oCAElD,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAW,MAAM,OAAO,CAAC,oCAEvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAAW,MAAM,OAAO,CAAC,uCAEzD,CAAC"}
@@ -1,17 +0,0 @@
1
- export const isEntryTypeOf = (entry, type) => entry.sys.contentType.sys.id === type;
2
- export const isContentContainerEntry = (entry) => {
3
- return isEntryTypeOf(entry, 'serviceTitanContentContainer');
4
- };
5
- export const isTextEntry = (entry) => {
6
- return isEntryTypeOf(entry, 'serviceTitanText');
7
- };
8
- export const isHeaderEntry = (entry) => {
9
- return isTextEntry(entry) && entry.fields.codeId.endsWith('-header');
10
- };
11
- export const isDescriptionEntry = (entry) => {
12
- return isTextEntry(entry) && entry.fields.codeId.endsWith('-description');
13
- };
14
- export const isOxPermissionsEntry = (entry) => {
15
- return isEntryTypeOf(entry, 'oxPermission');
16
- };
17
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/contentful/utils.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAqB,EAAE,IAAY,EAAE,EAAE,CACjE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC;AAE1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,KAAqB,EACiB,EAAE;IACxC,OAAO,aAAa,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAqB,EAAmC,EAAE;IAClF,OAAO,aAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAqB,EAAmC,EAAE;IACpF,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAqB,EAAmC,EAAE;IACzF,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAqB,EAAsC,EAAE;IAC9F,OAAO,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AAChD,CAAC,CAAC"}
@@ -1,31 +0,0 @@
1
- import {
2
- Entry,
3
- OxPermissionFields,
4
- ContentContainerFields,
5
- TextEntryFields,
6
- } from '@servicetitan/contentful';
7
-
8
- export const isEntryTypeOf = (entry: Entry<unknown>, type: string) =>
9
- entry.sys.contentType.sys.id === type;
10
-
11
- export const isContentContainerEntry = (
12
- entry: Entry<unknown>
13
- ): entry is Entry<ContentContainerFields> => {
14
- return isEntryTypeOf(entry, 'serviceTitanContentContainer');
15
- };
16
-
17
- export const isTextEntry = (entry: Entry<unknown>): entry is Entry<TextEntryFields> => {
18
- return isEntryTypeOf(entry, 'serviceTitanText');
19
- };
20
-
21
- export const isHeaderEntry = (entry: Entry<unknown>): entry is Entry<TextEntryFields> => {
22
- return isTextEntry(entry) && entry.fields.codeId.endsWith('-header');
23
- };
24
-
25
- export const isDescriptionEntry = (entry: Entry<unknown>): entry is Entry<TextEntryFields> => {
26
- return isTextEntry(entry) && entry.fields.codeId.endsWith('-description');
27
- };
28
-
29
- export const isOxPermissionsEntry = (entry: Entry<unknown>): entry is Entry<OxPermissionFields> => {
30
- return isEntryTypeOf(entry, 'oxPermission');
31
- };