@servicetitan/web-components 28.4.0 → 29.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,14 +1,10 @@
1
1
  /**
2
2
  * Context used to pass data from the host to the MFEs
3
3
  */
4
- type JSONPrimitive = string | number | boolean | null | undefined;
5
- type JSON = {
6
- [key: string]: JSONPrimitive | JSON[] | JSON;
7
- };
4
+ import { JSON, JSONPrimitive } from '../types';
8
5
  export type MFEContextData<T> = {
9
6
  [P in keyof T]: T[P] extends JSONPrimitive ? T[P] : T[P] extends (infer U)[] ? MFEContextData<U>[] : T[P] extends JSON ? MFEContextData<T[P]> : never;
10
7
  };
11
8
  export declare const MFEDataContext: import("react").Context<JSON>;
12
9
  export declare function useMFEDataContext<T extends MFEContextData<T>>(): T;
13
- export {};
14
10
  //# sourceMappingURL=mfe-data-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mfe-data-context.d.ts","sourceRoot":"","sources":["../../src/contexts/mfe-data-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAGlE,KAAK,IAAI,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,EAAE,GAAG,IAAI,CAAA;CAAE,CAAC;AAG7D,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;KAC3B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,GACpC,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACtB,cAAc,CAAC,CAAC,CAAC,EAAE,GACnB,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GACf,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACpB,KAAK;CAClB,CAAC;AAEF,eAAO,MAAM,cAAc,+BAA0B,CAAC;AAEtD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,OAI5D"}
1
+ {"version":3,"file":"mfe-data-context.d.ts","sourceRoot":"","sources":["../../src/contexts/mfe-data-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG/C,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;KAC3B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,GACpC,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACtB,cAAc,CAAC,CAAC,CAAC,EAAE,GACnB,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GACf,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACpB,KAAK;CAClB,CAAC;AAEF,eAAO,MAAM,cAAc,+BAA0B,CAAC;AAEtD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,OAI5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"mfe-data-context.js","sourceRoot":"","sources":["../../src/contexts/mfe-data-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAkBlD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAO,EAAE,CAAC,CAAC;AAEtD,MAAM,UAAU,iBAAiB;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAM,CAAC;IAEhD,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"mfe-data-context.js","sourceRoot":"","sources":["../../src/contexts/mfe-data-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAclD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAO,EAAE,CAAC,CAAC;AAEtD,MAAM,UAAU,iBAAiB;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAM,CAAC;IAEhD,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { SymbolToken } from '@servicetitan/react-ioc';
2
+ import { JSON } from './types';
2
3
  export type EventHandler<T = unknown> = (data: T) => void;
3
- export type JobEventHandler = (defer: {
4
- resolve(): void;
4
+ type JobPayload = JSON | void;
5
+ export type JobEventHandler<Result extends JobPayload = void> = (defer: {
6
+ resolve(result: Result): void;
5
7
  reject(reason?: string | Error): void;
6
8
  }) => void;
7
9
  export type EventType = string | number | symbol;
@@ -9,9 +11,9 @@ export type SymbolTokenEventType<T, U extends EventType = EventType> = U extends
9
11
  export declare const EVENT_BUS_TOKEN: SymbolToken<EventBus>;
10
12
  export declare class EventBus {
11
13
  job: {
12
- on: (type: string, handler: JobEventHandler) => void;
13
- off: (type: string, handler: JobEventHandler) => void;
14
- emit: (type: string) => Promise<void>;
14
+ on: <Result extends JobPayload = void>(type: string, handler: JobEventHandler<Result>) => void;
15
+ off: <Result extends JobPayload = void>(type: string, handler: JobEventHandler<Result>) => void;
16
+ emit: <Result extends JobPayload = void>(type: string) => Promise<Result>;
15
17
  };
16
18
  private emitter;
17
19
  on: <T, U extends EventType = EventType>(type: SymbolTokenEventType<T, U>, handler: EventHandler<T>) => void;
@@ -19,4 +21,5 @@ export declare class EventBus {
19
21
  emit: <T, U extends EventType = EventType>(type: SymbolTokenEventType<T, U>, data?: T) => void;
20
22
  }
21
23
  export declare function useEventBus(): EventBus;
24
+ export {};
22
25
  //# sourceMappingURL=event-bus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAC1D,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE;IAClC,OAAO,IAAI,IAAI,CAAC;IAChB,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;CACzC,KAAK,IAAI,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACjD,MAAM,MAAM,oBAAoB,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,IAC/D,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEpD,eAAO,MAAM,eAAe,uBAA2C,CAAC;AAExE,qBAAa,QAAQ;IACjB,GAAG;mBACY,MAAM,WAAW,eAAe;oBAG/B,MAAM,WAAW,eAAe;qBAG/B,MAAM;MAcrB;IAEF,OAAO,CAAC,OAAO,CAAe;IAE9B,EAAE,GAAI,CAAC,EAAE,CAAC,SAAS,SAAS,oBAClB,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,WACvB,YAAY,CAAC,CAAC,CAAC,UAG1B;IAEF,GAAG,GAAI,CAAC,EAAE,CAAC,SAAS,SAAS,oBACnB,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,WACvB,YAAY,CAAC,CAAC,CAAC,UAG1B;IAEF,IAAI,GAAI,CAAC,EAAE,CAAC,SAAS,SAAS,oBAAoB,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,UAEpF;CACL;AAED,wBAAgB,WAAW,aAE1B"}
1
+ {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAC1D,KAAK,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9B,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;IACpE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;CACzC,KAAK,IAAI,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACjD,MAAM,MAAM,oBAAoB,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,IAC/D,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEpD,eAAO,MAAM,eAAe,uBAA2C,CAAC;AACxE,qBAAa,QAAQ;IACjB,GAAG;aACM,MAAM,SAAS,UAAU,eAAe,MAAM,WAAW,eAAe,CAAC,MAAM,CAAC;cAG/E,MAAM,SAAS,UAAU,eAAe,MAAM,WAAW,eAAe,CAAC,MAAM,CAAC;eAG/E,MAAM,SAAS,UAAU,eAAe,MAAM;MAcvD;IAEF,OAAO,CAAC,OAAO,CAAe;IAE9B,EAAE,GAAI,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,EACpC,MAAM,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,SAAS,YAAY,CAAC,CAAC,CAAC,UAG1B;IAEF,GAAG,GAAI,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,EACrC,MAAM,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,SAAS,YAAY,CAAC,CAAC,CAAC,UAG1B;IAEF,IAAI,GAAI,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,MAAM,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,UAEpF;CACL;AAED,wBAAgB,WAAW,aAE1B"}
package/dist/event-bus.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import mitt from 'mitt';
2
- import { useRef } from 'react';
3
2
  import { symbolToken } from '@servicetitan/react-ioc';
3
+ import { useRef } from 'react';
4
4
  export const EVENT_BUS_TOKEN = symbolToken('EVENT_BUS_TOKEN');
5
5
  export class EventBus {
6
6
  constructor() {
@@ -18,7 +18,7 @@ export class EventBus {
18
18
  emit: (type) => {
19
19
  return new Promise((resolve, reject) => {
20
20
  this.emitter.emit(type, {
21
- resolve: () => resolve(),
21
+ resolve,
22
22
  reject: (reason) => {
23
23
  if (typeof reason === 'string' || reason instanceof Error) {
24
24
  reject(reason);
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAe,MAAM,yBAAyB,CAAC;AAWnE,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAW,iBAAiB,CAAC,CAAC;AAExE,MAAM,OAAO,QAAQ;IAArB;QACI;;;;mBAAM;gBACF,EAAE,EAAE,CAAC,IAAY,EAAE,OAAwB,EAAE,EAAE;oBAC3C,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACnC,CAAC;gBACD,GAAG,EAAE,CAAC,IAAY,EAAE,OAAwB,EAAE,EAAE;oBAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACpC,CAAC;gBACD,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE;oBACnB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;4BACpB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE;4BACxB,MAAM,EAAE,CAAC,MAAuB,EAAE,EAAE;gCAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;oCACxD,MAAM,CAAC,MAAM,CAAC,CAAC;gCACnB,CAAC;qCAAM,CAAC;oCACJ,MAAM,EAAE,CAAC;gCACb,CAAC;4BACL,CAAC;yBACJ,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;gBACP,CAAC;aACJ;WAAC;QAEM;;;;mBAAU,IAAI,EAAO;WAAC;QAE9B;;;;mBAAK,CACD,IAAgC,EAChC,OAAwB,EAC1B,EAAE;gBACA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnC,CAAC;WAAC;QAEF;;;;mBAAM,CACF,IAAgC,EAChC,OAAwB,EAC1B,EAAE;gBACA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACpC,CAAC;WAAC;QAEF;;;;mBAAO,CAAqC,IAAgC,EAAE,IAAQ,EAAE,EAAE;gBACtF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClC,CAAC;WAAC;IACN,CAAC;CAAA;AAED,MAAM,UAAU,WAAW;IACvB,OAAO,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,WAAW,EAAe,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAc/B,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAW,iBAAiB,CAAC,CAAC;AACxE,MAAM,OAAO,QAAQ;IAArB;QACI;;;;mBAAM;gBACF,EAAE,EAAE,CAAmC,IAAY,EAAE,OAAgC,EAAE,EAAE;oBACrF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACnC,CAAC;gBACD,GAAG,EAAE,CAAmC,IAAY,EAAE,OAAgC,EAAE,EAAE;oBACtF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACpC,CAAC;gBACD,IAAI,EAAE,CAAmC,IAAY,EAAE,EAAE;oBACrD,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;4BACpB,OAAO;4BACP,MAAM,EAAE,CAAC,MAAuB,EAAE,EAAE;gCAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;oCACxD,MAAM,CAAC,MAAM,CAAC,CAAC;gCACnB,CAAC;qCAAM,CAAC;oCACJ,MAAM,EAAE,CAAC;gCACb,CAAC;4BACL,CAAC;yBACJ,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;gBACP,CAAC;aACJ;WAAC;QAEM;;;;mBAAU,IAAI,EAAO;WAAC;QAE9B;;;;mBAAK,CACD,IAAgC,EAChC,OAAwB,EAC1B,EAAE;gBACA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnC,CAAC;WAAC;QAEF;;;;mBAAM,CACF,IAAgC,EAChC,OAAwB,EAC1B,EAAE;gBACA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACpC,CAAC;WAAC;QAEF;;;;mBAAO,CAAqC,IAAgC,EAAE,IAAQ,EAAE,EAAE;gBACtF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClC,CAAC;WAAC;IACN,CAAC;CAAA;AAED,MAAM,UAAU,WAAW;IACvB,OAAO,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC;AAC1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"history-manager.d.ts","sourceRoot":"","sources":["../src/history-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIhE,qBACa,cAAc;IAEvB,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;IAEpD,OAAO,4CAA0C;IAEjD,QAAQ,YAAa,OAAO,UAuD1B;IAEF,UAAU,cAAe,OAAO,UAK9B;CACL"}
1
+ {"version":3,"file":"history-manager.d.ts","sourceRoot":"","sources":["../src/history-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIhE,qBACa,cAAc;IAEvB,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;IAEpD,OAAO,4CAA0C;IAEjD,QAAQ,GAAI,SAAS,OAAO,UAuD1B;IAEF,UAAU,GAAI,WAAW,OAAO,UAK9B;CACL"}
@@ -0,0 +1,5 @@
1
+ export type JSONPrimitive = string | number | boolean | null | undefined;
2
+ export type JSON = {
3
+ [key: string]: JSONPrimitive | JSON[] | JSON;
4
+ };
5
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAGzE,MAAM,MAAM,IAAI,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,EAAE,GAAG,IAAI,CAAA;CAAE,CAAC"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"get-version-mismatches.d.ts","sourceRoot":"","sources":["../../src/utils/get-version-mismatches.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGhD,eAAO,MAAM,oBAAoB,wBACR,mBAAmB,gBAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,sBAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;UAeT,MAAM;aAAW,MAAM;EAc3D,CAAC"}
1
+ {"version":3,"file":"get-version-mismatches.d.ts","sourceRoot":"","sources":["../../src/utils/get-version-mismatches.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGhD,eAAO,MAAM,oBAAoB,GAC7B,qBAAqB,mBAAmB,EACxC,cAAc,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,oBAAoB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;UAeT,MAAM;aAAW,MAAM;EAc3D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-versioned-url.d.ts","sourceRoot":"","sources":["../../src/utils/is-versioned-url.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,OAQ5C,CAAC"}
1
+ {"version":3,"file":"is-versioned-url.d.ts","sourceRoot":"","sources":["../../src/utils/is-versioned-url.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,OAQ5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"web-component.d.ts","sourceRoot":"","sources":["../../src/utils/web-component.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAGpE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAiB,MAAM,WAAW,CAAC;AAE5F,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,UAAU,iBAAiB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAC1D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,mCAUV,eAAe,6CAwDzD"}
1
+ {"version":3,"file":"web-component.d.ts","sourceRoot":"","sources":["../../src/utils/web-component.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAGpE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAiB,MAAM,WAAW,CAAC;AAE5F,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,UAAU,iBAAiB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAC1D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,IAUzC,+BAA+B,eAAe,6CAwDzD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/web-components",
3
- "version": "28.4.0",
3
+ "version": "29.0.0",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,17 +15,17 @@
15
15
  "src"
16
16
  ],
17
17
  "dependencies": {
18
- "@servicetitan/error-boundary": "28.4.0",
18
+ "@servicetitan/error-boundary": "29.0.0",
19
19
  "lodash.get": "~4.4.2",
20
20
  "mitt": "~3.0.1",
21
- "semver": "~7.6.3"
21
+ "semver": "~7.7.1"
22
22
  },
23
23
  "devDependencies": {
24
- "@servicetitan/anvil2": "^1.20.2",
24
+ "@servicetitan/anvil2": "^1.24.0",
25
25
  "@servicetitan/design-system": "~14.5.1",
26
- "@servicetitan/launchdarkly-service": "28.4.0",
27
- "@servicetitan/log-service": "28.4.0",
28
- "@servicetitan/react-ioc": "28.4.0",
26
+ "@servicetitan/launchdarkly-service": "29.0.0",
27
+ "@servicetitan/log-service": "29.0.0",
28
+ "@servicetitan/react-ioc": "29.0.0",
29
29
  "@testing-library/dom": "^10.4.0",
30
30
  "@testing-library/jest-dom": "^6.6.3",
31
31
  "@testing-library/react": "^16.2.0",
@@ -35,16 +35,16 @@
35
35
  "@types/react-dom": "~18.3.0",
36
36
  "@types/semver": "~7.5.8",
37
37
  "history": "~4.10.1",
38
- "launchdarkly-react-client-sdk": "^3.6.0",
38
+ "launchdarkly-react-client-sdk": "^3.6.1",
39
39
  "react": "~18.3.1",
40
40
  "react-dom": "~18.3.1",
41
- "shadow-dom-testing-library": "^1.11.3"
41
+ "shadow-dom-testing-library": "^1.12.0"
42
42
  },
43
43
  "peerDependencies": {
44
- "@servicetitan/anvil2": ">=1.20.2",
44
+ "@servicetitan/anvil2": ">=1.24.0",
45
45
  "@servicetitan/design-system": ">=14.5.1",
46
- "@servicetitan/log-service": "28.4.0",
47
- "@servicetitan/react-ioc": "28.4.0",
46
+ "@servicetitan/log-service": "29.0.0",
47
+ "@servicetitan/react-ioc": "29.0.0",
48
48
  "history": "~4.10.1",
49
49
  "react": ">=17.0.2",
50
50
  "react-dom": ">=17.0.2"
@@ -66,5 +66,5 @@
66
66
  "cli": {
67
67
  "webpack": false
68
68
  },
69
- "gitHead": "051b5b2f70ae6be345aa08ffdd49d8c049272940"
69
+ "gitHead": "67b2763ad7c21532ea47c920974f87e8de433d32"
70
70
  }
@@ -3,11 +3,7 @@
3
3
  */
4
4
 
5
5
  import { createContext, useContext } from 'react';
6
-
7
- type JSONPrimitive = string | number | boolean | null | undefined;
8
-
9
- // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
10
- type JSON = { [key: string]: JSONPrimitive | JSON[] | JSON };
6
+ import { JSON, JSONPrimitive } from '../types';
11
7
 
12
8
  // Type complexity below is required to support Interfaces being used
13
9
  export type MFEContextData<T> = {
package/src/event-bus.ts CHANGED
@@ -1,11 +1,14 @@
1
1
  import mitt from 'mitt';
2
2
 
3
- import { useRef } from 'react';
4
3
  import { symbolToken, SymbolToken } from '@servicetitan/react-ioc';
4
+ import { useRef } from 'react';
5
+ import { JSON } from './types';
5
6
 
6
7
  export type EventHandler<T = unknown> = (data: T) => void;
7
- export type JobEventHandler = (defer: {
8
- resolve(): void;
8
+ type JobPayload = JSON | void;
9
+
10
+ export type JobEventHandler<Result extends JobPayload = void> = (defer: {
11
+ resolve(result: Result): void;
9
12
  reject(reason?: string | Error): void;
10
13
  }) => void;
11
14
  export type EventType = string | number | symbol;
@@ -13,19 +16,18 @@ export type SymbolTokenEventType<T, U extends EventType = EventType> =
13
16
  U extends SymbolToken<any> ? SymbolToken<T> : U;
14
17
 
15
18
  export const EVENT_BUS_TOKEN = symbolToken<EventBus>('EVENT_BUS_TOKEN');
16
-
17
19
  export class EventBus {
18
20
  job = {
19
- on: (type: string, handler: JobEventHandler) => {
21
+ on: <Result extends JobPayload = void>(type: string, handler: JobEventHandler<Result>) => {
20
22
  this.emitter.on(type, handler);
21
23
  },
22
- off: (type: string, handler: JobEventHandler) => {
24
+ off: <Result extends JobPayload = void>(type: string, handler: JobEventHandler<Result>) => {
23
25
  this.emitter.off(type, handler);
24
26
  },
25
- emit: (type: string) => {
26
- return new Promise<void>((resolve, reject) => {
27
+ emit: <Result extends JobPayload = void>(type: string) => {
28
+ return new Promise<Result>((resolve, reject) => {
27
29
  this.emitter.emit(type, {
28
- resolve: () => resolve(),
30
+ resolve,
29
31
  reject: (reason?: string | Error) => {
30
32
  if (typeof reason === 'string' || reason instanceof Error) {
31
33
  reject(reason);
package/src/types.ts ADDED
@@ -0,0 +1,4 @@
1
+ export type JSONPrimitive = string | number | boolean | null | undefined;
2
+
3
+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
4
+ export type JSON = { [key: string]: JSONPrimitive | JSON[] | JSON };