@servicetitan/marketing-ui 5.5.0 → 5.6.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.
@@ -2,16 +2,15 @@ import { FC } from 'react';
2
2
  import { StatCardProps } from '../stat/stat-card';
3
3
  import { StatExtendedCardProps } from '../stat/stat-extended-card';
4
4
  import { AdsStatType } from '../../utils/ads-texts';
5
- interface AdsPerformanceStatProps extends Omit<StatCardProps, 'title'> {
5
+ export interface AdsPerformanceStatProps extends Omit<StatCardProps, 'title'> {
6
6
  stat: AdsStatType;
7
7
  title?: string;
8
8
  }
9
9
  export declare const AdsPerformanceStatCard: FC<AdsPerformanceStatProps>;
10
- interface AdsPerformanceStatExtendedProps extends Omit<StatExtendedCardProps, 'title'> {
10
+ export interface AdsPerformanceStatExtendedProps extends Omit<StatExtendedCardProps, 'title'> {
11
11
  stat: AdsStatType;
12
12
  title?: string;
13
13
  title2: string;
14
14
  }
15
15
  export declare const AdsPerformanceStatExtendedCard: FC<AdsPerformanceStatExtendedProps>;
16
- export {};
17
16
  //# sourceMappingURL=ads-stat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ads-stat.d.ts","sourceRoot":"","sources":["../../../src/components/ads/ads-stat.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAY,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAoB,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAuB,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzE,UAAU,uBAAwB,SAAQ,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC;IAClE,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,uBAAuB,CAK9D,CAAC;AAEF,UAAU,+BAAgC,SAAQ,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC;IAClF,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,8BAA8B,EAAE,EAAE,CAAC,+BAA+B,CAK9E,CAAC"}
1
+ {"version":3,"file":"ads-stat.d.ts","sourceRoot":"","sources":["../../../src/components/ads/ads-stat.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAY,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAoB,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAuB,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzE,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC;IACzE,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,uBAAuB,CAK9D,CAAC;AAEF,MAAM,WAAW,+BAAgC,SAAQ,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACzF,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,8BAA8B,EAAE,EAAE,CAAC,+BAA+B,CAK9E,CAAC"}
@@ -1,3 +1,3 @@
1
- export type AdsStatType = 'impressions' | 'views' | 'clicks' | 'clickRate' | 'conversionRate' | 'closeRate' | 'sessions' | 'conversions' | 'allConversions' | 'transactions' | 'bookedJobs' | 'ranJobs' | 'ranRate' | 'leads' | 'leadRate' | 'completedJobs' | 'soldJobs' | 'revenue' | 'marketingRevenue' | 'expenseToIncomeRatio' | 'costPerBookedJob' | 'costPerLead' | 'costPerRanJob' | 'costPerSoldJob' | 'costPerConversion' | 'cost' | 'averageCostPerClick' | 'averageJobValue' | 'roi' | 'bookingRate' | 'callBookingRate' | 'opportunityRate' | 'newCustomerLeads' | 'newCustomerLeadRate' | 'ranJobsFromMarketing' | 'existingCustomerLeads';
1
+ export type AdsStatType = 'impressions' | 'views' | 'clicks' | 'clickRate' | 'conversionRate' | 'closeRate' | 'sessions' | 'conversions' | 'allConversions' | 'transactions' | 'bookedJobs' | 'ranJobs' | 'ranRate' | 'leads' | 'leadRate' | 'completedJobs' | 'soldJobs' | 'revenue' | 'marketingRevenue' | 'expenseToIncomeRatio' | 'costPerBookedJob' | 'costPerLead' | 'costPerRanJob' | 'costPerSoldJob' | 'costPerConversion' | 'cost' | 'averageCostPerClick' | 'averageJobValue' | 'roi' | 'bookingRate' | 'callBookingRate' | 'opportunityRate' | 'newCustomerLeads' | 'newCustomerLeadRate' | 'ranJobsFromMarketing' | 'existingCustomerLeads' | 'returnOnInvestment';
2
2
  export declare const adsStatDescriptions: Record<AdsStatType, string>;
3
3
  //# sourceMappingURL=ads-texts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ads-texts.d.ts","sourceRoot":"","sources":["../../src/utils/ads-texts.tsx"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GACjB,aAAa,GACb,OAAO,GACP,QAAQ,GACR,WAAW,GACX,gBAAgB,GAChB,WAAW,GACX,UAAU,GACV,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,YAAY,GACZ,SAAS,GACT,SAAS,GACT,OAAO,GACP,UAAU,GACV,eAAe,GACf,UAAU,GACV,SAAS,GACT,kBAAkB,GAClB,sBAAsB,GACtB,kBAAkB,GAClB,aAAa,GACb,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,MAAM,GACN,qBAAqB,GACrB,iBAAiB,GACjB,KAAK,GACL,aAAa,GACb,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,sBAAsB,GACtB,uBAAuB,CAAC;AAE9B,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAuD3D,CAAC"}
1
+ {"version":3,"file":"ads-texts.d.ts","sourceRoot":"","sources":["../../src/utils/ads-texts.tsx"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GACjB,aAAa,GACb,OAAO,GACP,QAAQ,GACR,WAAW,GACX,gBAAgB,GAChB,WAAW,GACX,UAAU,GACV,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,YAAY,GACZ,SAAS,GACT,SAAS,GACT,OAAO,GACP,UAAU,GACV,eAAe,GACf,UAAU,GACV,SAAS,GACT,kBAAkB,GAClB,sBAAsB,GACtB,kBAAkB,GAClB,aAAa,GACb,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,MAAM,GACN,qBAAqB,GACrB,iBAAiB,GACjB,KAAK,GACL,aAAa,GACb,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,sBAAsB,GACtB,uBAAuB,GACvB,oBAAoB,CAAC;AAE3B,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAyD3D,CAAC"}
@@ -35,5 +35,6 @@ export const adsStatDescriptions = {
35
35
  newCustomerLeadRate: 'The percentage of Leads that came from someone not already part of your database. If this number is low, then you are mostly reaching your existing customers with marketing',
36
36
  existingCustomerLeads: 'Leads that came from someone already in your database, ie. you have ran a job for them previously',
37
37
  ranJobsFromMarketing: 'Ran Jobs with Campaigns/Categories that match the filter selected at the top of this page',
38
+ returnOnInvestment: 'Shown as a percentage, this is the ratio of what revenue you make from marketing versus what you spend on your marketing activity',
38
39
  };
39
40
  //# sourceMappingURL=ads-texts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ads-texts.js","sourceRoot":"","sources":["../../src/utils/ads-texts.tsx"],"names":[],"mappings":"AAsCA,MAAM,CAAC,MAAM,mBAAmB,GAAgC;IAC5D,WAAW,EAAE,oCAAoC;IACjD,KAAK,EAAE,2HAA2H;IAClI,MAAM,EAAE,4EAA4E;IACpF,QAAQ,EACJ,gSAAgS;IACpS,WAAW,EACP,sLAAsL;IAC1L,cAAc,EACV,uHAAuH;IAC3H,YAAY,EAAE,0DAA0D;IACxE,KAAK,EAAE,qGAAqG;IAC5G,OAAO,EACH,sHAAsH;IAC1H,OAAO,EACH,0IAA0I;IAC9I,UAAU,EAAE,4CAA4C;IACxD,aAAa,EAAE,6CAA6C;IAC5D,QAAQ,EACJ,kIAAkI;IACtI,OAAO,EAAE,uEAAuE;IAChF,gBAAgB,EACZ,wFAAwF;IAC5F,oBAAoB,EAChB,2HAA2H;IAC/H,WAAW,EAAE,0CAA0C;IACvD,gBAAgB,EAAE,gDAAgD;IAClE,aAAa,EACT,iGAAiG;IACrG,cAAc,EAAE,mDAAmD;IACnE,iBAAiB,EAAE,0DAA0D;IAC7E,mBAAmB,EACf,8JAA8J;IAClK,IAAI,EAAE,2DAA2D;IAEjE,SAAS,EAAE,kEAAkE;IAC7E,cAAc,EACV,wLAAwL;IAC5L,SAAS,EACL,2LAA2L;IAC/L,QAAQ,EACJ,iJAAiJ;IACrJ,eAAe,EAAE,mDAAmD;IACpE,GAAG,EAAE,+JAA+J;IACpK,WAAW,EAAE,qDAAqD;IAClE,eAAe,EAAE,2DAA2D;IAC5E,eAAe,EAAE,4DAA4D;IAC7E,gBAAgB,EACZ,8GAA8G;IAClH,mBAAmB,EACf,8KAA8K;IAClL,qBAAqB,EACjB,mGAAmG;IACvG,oBAAoB,EAChB,2FAA2F;CAClG,CAAC"}
1
+ {"version":3,"file":"ads-texts.js","sourceRoot":"","sources":["../../src/utils/ads-texts.tsx"],"names":[],"mappings":"AAuCA,MAAM,CAAC,MAAM,mBAAmB,GAAgC;IAC5D,WAAW,EAAE,oCAAoC;IACjD,KAAK,EAAE,2HAA2H;IAClI,MAAM,EAAE,4EAA4E;IACpF,QAAQ,EACJ,gSAAgS;IACpS,WAAW,EACP,sLAAsL;IAC1L,cAAc,EACV,uHAAuH;IAC3H,YAAY,EAAE,0DAA0D;IACxE,KAAK,EAAE,qGAAqG;IAC5G,OAAO,EACH,sHAAsH;IAC1H,OAAO,EACH,0IAA0I;IAC9I,UAAU,EAAE,4CAA4C;IACxD,aAAa,EAAE,6CAA6C;IAC5D,QAAQ,EACJ,kIAAkI;IACtI,OAAO,EAAE,uEAAuE;IAChF,gBAAgB,EACZ,wFAAwF;IAC5F,oBAAoB,EAChB,2HAA2H;IAC/H,WAAW,EAAE,0CAA0C;IACvD,gBAAgB,EAAE,gDAAgD;IAClE,aAAa,EACT,iGAAiG;IACrG,cAAc,EAAE,mDAAmD;IACnE,iBAAiB,EAAE,0DAA0D;IAC7E,mBAAmB,EACf,8JAA8J;IAClK,IAAI,EAAE,2DAA2D;IAEjE,SAAS,EAAE,kEAAkE;IAC7E,cAAc,EACV,wLAAwL;IAC5L,SAAS,EACL,2LAA2L;IAC/L,QAAQ,EACJ,iJAAiJ;IACrJ,eAAe,EAAE,mDAAmD;IACpE,GAAG,EAAE,+JAA+J;IACpK,WAAW,EAAE,qDAAqD;IAClE,eAAe,EAAE,2DAA2D;IAC5E,eAAe,EAAE,4DAA4D;IAC7E,gBAAgB,EACZ,8GAA8G;IAClH,mBAAmB,EACf,8KAA8K;IAClL,qBAAqB,EACjB,mGAAmG;IACvG,oBAAoB,EAChB,2FAA2F;IAC/F,kBAAkB,EACd,mIAAmI;CAC1I,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/marketing-ui",
3
- "version": "5.5.0",
3
+ "version": "5.6.0",
4
4
  "description": "Marketing UI component and utils",
5
5
  "repository": {
6
6
  "type": "git",
@@ -52,5 +52,5 @@
52
52
  "less": true,
53
53
  "webpack": false
54
54
  },
55
- "gitHead": "9b1b75a1aaa10cdacb9bb363b99aa867f31320a8"
55
+ "gitHead": "0a035dd9fe9c3e29cfbc9f123bcd5bae836206da"
56
56
  }
@@ -4,7 +4,7 @@ import { StatExtendedCard, StatExtendedCardProps } from '../stat/stat-extended-c
4
4
  import { adsStatDescriptions, AdsStatType } from '../../utils/ads-texts';
5
5
  import { camelCaseToTitleCase } from '../../utils/string-case';
6
6
 
7
- interface AdsPerformanceStatProps extends Omit<StatCardProps, 'title'> {
7
+ export interface AdsPerformanceStatProps extends Omit<StatCardProps, 'title'> {
8
8
  stat: AdsStatType;
9
9
  title?: string;
10
10
  }
@@ -16,7 +16,7 @@ export const AdsPerformanceStatCard: FC<AdsPerformanceStatProps> = props => {
16
16
  return <StatCard {...props} title={titleText} description={hintText} />;
17
17
  };
18
18
 
19
- interface AdsPerformanceStatExtendedProps extends Omit<StatExtendedCardProps, 'title'> {
19
+ export interface AdsPerformanceStatExtendedProps extends Omit<StatExtendedCardProps, 'title'> {
20
20
  stat: AdsStatType;
21
21
  title?: string;
22
22
  title2: string;
@@ -34,7 +34,8 @@ export type AdsStatType =
34
34
  | 'newCustomerLeads'
35
35
  | 'newCustomerLeadRate'
36
36
  | 'ranJobsFromMarketing'
37
- | 'existingCustomerLeads';
37
+ | 'existingCustomerLeads'
38
+ | 'returnOnInvestment';
38
39
 
39
40
  export const adsStatDescriptions: Record<AdsStatType, string> = {
40
41
  impressions: 'The number of times an ad was seen',
@@ -91,4 +92,6 @@ export const adsStatDescriptions: Record<AdsStatType, string> = {
91
92
  'Leads that came from someone already in your database, ie. you have ran a job for them previously',
92
93
  ranJobsFromMarketing:
93
94
  'Ran Jobs with Campaigns/Categories that match the filter selected at the top of this page',
95
+ returnOnInvestment:
96
+ 'Shown as a percentage, this is the ratio of what revenue you make from marketing versus what you spend on your marketing activity',
94
97
  };