@servicetitan/marketing-ui 3.3.0 → 3.5.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 +1 @@
1
- {"version":3,"file":"stat-card.d.ts","sourceRoot":"","sources":["../../../src/components/stat/stat-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,OAAO,EAEH,mBAAmB,EAItB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAe,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAgCtE,UAAU,aAAa;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAgDtC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAgDtC,CAAC"}
1
+ {"version":3,"file":"stat-card.d.ts","sourceRoot":"","sources":["../../../src/components/stat/stat-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,OAAO,EAEH,mBAAmB,EAItB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAe,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAgCtE,UAAU,aAAa;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAgDtC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAyDtC,CAAC"}
@@ -53,10 +53,10 @@ export const StatDiff = ({ value, prev, size, format, inverted, neutral, classNa
53
53
  export const StatCard = ({ title, description, value, percent, money, rate, prev, clean, inverted, neutral, fill, valueOnly, className, diffPercentOnly = false, }) => {
54
54
  const format = money ? 'money' : percent ? 'percent' : rate ? 'rate' : 'number';
55
55
  const val = value === undefined ? '\u00A0' : formatValue(value, format);
56
- const eyebrow = _jsx(Eyebrow, Object.assign({ className: classNames(Styles.title, 'ta-center') }, { children: title }));
56
+ const eyebrow = (_jsx(Eyebrow, Object.assign({ className: classNames(Styles.title, 'ta-center'), "data-cy": `marketing-stat-${title}-title` }, { children: title })));
57
57
  return (_jsxs(Stack, Object.assign({ direction: "column", alignItems: "center", className: classNames('p-y-3', {
58
58
  'bg-white border-radius-2 border': !clean,
59
59
  'flex-grow-1 flex-basis-0': fill,
60
- }, className) }, { children: [description ? _jsx(Tooltip, Object.assign({ text: description }, { children: eyebrow })) : eyebrow, _jsx(BodyText, Object.assign({ className: "fs-6-i ff-display" }, { children: val })), !valueOnly && (_jsx(StatDiff, { value: value, prev: prev, format: format, inverted: inverted, neutral: neutral, diffPercentOnly: diffPercentOnly }))] })));
60
+ }, className) }, { children: [description ? _jsx(Tooltip, Object.assign({ text: description }, { children: eyebrow })) : eyebrow, _jsx(BodyText, Object.assign({ className: "fs-6-i ff-display", "data-cy": `marketing-stat-${title}-value` }, { children: val })), !valueOnly && (_jsx(StatDiff, { value: value, prev: prev, format: format, inverted: inverted, neutral: neutral, diffPercentOnly: diffPercentOnly }))] })));
61
61
  };
62
62
  //# sourceMappingURL=stat-card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stat-card.js","sourceRoot":"","sources":["../../../src/components/stat/stat-card.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stat-card.js","sourceRoot":"","sources":["../../../src/components/stat/stat-card.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import type { AxiosInstance } from 'axios';
2
2
  export interface AuthResponse {
3
3
  redirect_uri: string;
4
4
  redirect_query_param: string;
5
+ auth_tenant_query_param?: string;
6
+ auth_tenant_query_param_source?: string;
5
7
  }
6
8
  export declare type RedirectTarget = '_self' | '_blank' | '_parent' | '_top';
7
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"marketing-parner-handlers.d.ts","sourceRoot":"","sources":["../../src/utils/marketing-parner-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,MAAM,WAAW,YAAY;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED,oBAAY,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAOrE;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,GAAG,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,YAAY,CAAA;CAAE,GAAG,SAAS,EACxD,MAAM,CAAC,EAAE,cAAc,wBAc1B;AAED,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,cAAc,UAKpF"}
1
+ {"version":3,"file":"marketing-parner-handlers.d.ts","sourceRoot":"","sources":["../../src/utils/marketing-parner-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,MAAM,WAAW,YAAY;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,8BAA8B,CAAC,EAAE,MAAM,CAAC;CAC3C;AAED,oBAAY,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAUrE;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,GAAG,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,YAAY,CAAA;CAAE,GAAG,SAAS,EACxD,MAAM,CAAC,EAAE,cAAc,wBAqB1B;AAED,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,cAAc,UAKpF"}
@@ -2,13 +2,22 @@ const joinUrlParameter = (url, key, value) => {
2
2
  const separator = url.includes('?') ? '&' : '?';
3
3
  return `${url}${separator}${key}=${encodeURIComponent(value)}`;
4
4
  };
5
+ const readTenantAuthParam = (paramName) => new URLSearchParams(window.location.search).get(paramName);
5
6
  /**
6
7
  * @see https://servicetitan.atlassian.net/wiki/spaces/EN/pages/2459272255/Frontend+redirect+issue
7
8
  */
8
9
  export function execPartnerRedirect(res, target) {
9
10
  var _a, _b;
10
11
  if ((res === null || res === void 0 ? void 0 : res.status) === 401 && ((_a = res.data) === null || _a === void 0 ? void 0 : _a.redirect_uri) && ((_b = res.data) === null || _b === void 0 ? void 0 : _b.redirect_query_param)) {
11
- return window.open(joinUrlParameter(res.data.redirect_uri, res.data.redirect_query_param, window.location.href), target !== null && target !== void 0 ? target : '_self');
12
+ let uri = joinUrlParameter(res.data.redirect_uri, res.data.redirect_query_param, window.location.href);
13
+ /** @see https://servicetitan.atlassian.net/browse/MPA-1255 */
14
+ if (res.data.auth_tenant_query_param && res.data.auth_tenant_query_param_source) {
15
+ const tenantParam = readTenantAuthParam(res.data.auth_tenant_query_param_source);
16
+ uri = tenantParam
17
+ ? joinUrlParameter(uri, res.data.auth_tenant_query_param, tenantParam)
18
+ : uri;
19
+ }
20
+ return window.open(uri, target !== null && target !== void 0 ? target : '_self');
12
21
  }
13
22
  return true;
14
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"marketing-parner-handlers.js","sourceRoot":"","sources":["../../src/utils/marketing-parner-handlers.ts"],"names":[],"mappings":"AAUA,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,KAAa,EAAE,EAAE;IACjE,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAChD,OAAO,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;AACnE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAC/B,GAAwD,EACxD,MAAuB;;IAEvB,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,MAAK,GAAG,KAAI,MAAA,GAAG,CAAC,IAAI,0CAAE,YAAY,CAAA,KAAI,MAAA,GAAG,CAAC,IAAI,0CAAE,oBAAoB,CAAA,EAAE;QACjF,OAAO,MAAM,CAAC,IAAI,CACd,gBAAgB,CACZ,GAAG,CAAC,IAAI,CAAC,YAAY,EACrB,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAC7B,MAAM,CAAC,QAAQ,CAAC,IAAI,CACvB,EACD,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,OAAO,CACpB,CAAC;KACL;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,YAA2B,EAAE,MAAuB;IACjF,OAAO,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CACzC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EACpB,GAAG,CAAC,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAC1E,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"marketing-parner-handlers.js","sourceRoot":"","sources":["../../src/utils/marketing-parner-handlers.ts"],"names":[],"mappings":"AAYA,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,KAAa,EAAE,EAAE;IACjE,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAChD,OAAO,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,EAAE,CAC9C,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAE/D;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAC/B,GAAwD,EACxD,MAAuB;;IAEvB,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,MAAK,GAAG,KAAI,MAAA,GAAG,CAAC,IAAI,0CAAE,YAAY,CAAA,KAAI,MAAA,GAAG,CAAC,IAAI,0CAAE,oBAAoB,CAAA,EAAE;QACjF,IAAI,GAAG,GAAG,gBAAgB,CACtB,GAAG,CAAC,IAAI,CAAC,YAAY,EACrB,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAC7B,MAAM,CAAC,QAAQ,CAAC,IAAI,CACvB,CAAC;QAEF,8DAA8D;QAC9D,IAAI,GAAG,CAAC,IAAI,CAAC,uBAAuB,IAAI,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE;YAC7E,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACjF,GAAG,GAAG,WAAW;gBACb,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,WAAW,CAAC;gBACtE,CAAC,CAAC,GAAG,CAAC;SACb;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,OAAO,CAAC,CAAC;KAC9C;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,YAA2B,EAAE,MAAuB;IACjF,OAAO,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CACzC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EACpB,GAAG,CAAC,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAC1E,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/marketing-ui",
3
- "version": "3.3.0",
3
+ "version": "3.5.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": "a0f93bd089adb9bf7f293b43d345d9b5a4da28da"
55
+ "gitHead": "95981200499527947829b04821eb66b6e7320a42"
56
56
  }
@@ -137,7 +137,14 @@ export const StatCard: FC<StatCardProps> = ({
137
137
  const format = money ? 'money' : percent ? 'percent' : rate ? 'rate' : 'number';
138
138
  const val = value === undefined ? '\u00A0' : formatValue(value, format);
139
139
 
140
- const eyebrow = <Eyebrow className={classNames(Styles.title, 'ta-center')}>{title}</Eyebrow>;
140
+ const eyebrow = (
141
+ <Eyebrow
142
+ className={classNames(Styles.title, 'ta-center')}
143
+ data-cy={`marketing-stat-${title}-title`}
144
+ >
145
+ {title}
146
+ </Eyebrow>
147
+ );
141
148
 
142
149
  return (
143
150
  <Stack
@@ -153,7 +160,9 @@ export const StatCard: FC<StatCardProps> = ({
153
160
  )}
154
161
  >
155
162
  {description ? <Tooltip text={description}>{eyebrow}</Tooltip> : eyebrow}
156
- <BodyText className="fs-6-i ff-display">{val}</BodyText>
163
+ <BodyText className="fs-6-i ff-display" data-cy={`marketing-stat-${title}-value`}>
164
+ {val}
165
+ </BodyText>
157
166
  {!valueOnly && (
158
167
  <StatDiff
159
168
  value={value}
@@ -4,6 +4,8 @@ import type { AxiosInstance } from 'axios';
4
4
  export interface AuthResponse {
5
5
  redirect_uri: string;
6
6
  redirect_query_param: string;
7
+ auth_tenant_query_param?: string;
8
+ auth_tenant_query_param_source?: string;
7
9
  }
8
10
 
9
11
  export type RedirectTarget = '_self' | '_blank' | '_parent' | '_top';
@@ -13,6 +15,9 @@ const joinUrlParameter = (url: string, key: string, value: string) => {
13
15
  return `${url}${separator}${key}=${encodeURIComponent(value)}`;
14
16
  };
15
17
 
18
+ const readTenantAuthParam = (paramName: string) =>
19
+ new URLSearchParams(window.location.search).get(paramName);
20
+
16
21
  /**
17
22
  * @see https://servicetitan.atlassian.net/wiki/spaces/EN/pages/2459272255/Frontend+redirect+issue
18
23
  */
@@ -21,14 +26,21 @@ export function execPartnerRedirect(
21
26
  target?: RedirectTarget
22
27
  ) {
23
28
  if (res?.status === 401 && res.data?.redirect_uri && res.data?.redirect_query_param) {
24
- return window.open(
25
- joinUrlParameter(
26
- res.data.redirect_uri,
27
- res.data.redirect_query_param,
28
- window.location.href
29
- ),
30
- target ?? '_self'
29
+ let uri = joinUrlParameter(
30
+ res.data.redirect_uri,
31
+ res.data.redirect_query_param,
32
+ window.location.href
31
33
  );
34
+
35
+ /** @see https://servicetitan.atlassian.net/browse/MPA-1255 */
36
+ if (res.data.auth_tenant_query_param && res.data.auth_tenant_query_param_source) {
37
+ const tenantParam = readTenantAuthParam(res.data.auth_tenant_query_param_source);
38
+ uri = tenantParam
39
+ ? joinUrlParameter(uri, res.data.auth_tenant_query_param, tenantParam)
40
+ : uri;
41
+ }
42
+
43
+ return window.open(uri, target ?? '_self');
32
44
  }
33
45
 
34
46
  return true;