@servicetitan/web-components 17.5.4 → 19.1.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.
package/dist/common.d.ts CHANGED
@@ -1,11 +1,18 @@
1
1
  import { Log } from '@servicetitan/log-service';
2
+ import { EventBus } from './event-bus';
2
3
  import { HistoryManager } from './history-manager';
4
+ export declare type ExposedDependencies = Record<string, {
5
+ version: string;
6
+ variable: string;
7
+ }>;
3
8
  export declare const BASENAME_TOKEN: import("@servicetitan/react-ioc").SymbolToken<string>;
9
+ export declare const EXPOSED_DEPENDENCIES_TOKEN: import("@servicetitan/react-ioc").SymbolToken<ExposedDependencies>;
4
10
  export declare const IS_WEB_COMPONENT_TOKEN: import("@servicetitan/react-ioc").SymbolToken<boolean>;
5
11
  export declare const RENDER_ROOT_TOKEN: import("@servicetitan/react-ioc").SymbolToken<ShadowRoot>;
6
12
  export interface Entries {
7
13
  logService?: Log;
8
14
  historyManager?: HistoryManager;
15
+ exposedDependencies?: ExposedDependencies;
9
16
  eventBus?: EventBus;
10
17
  basename?: string;
11
18
  onReady: () => void;
@@ -24,13 +31,5 @@ export declare function getJson<T = any>(url: string, { retries, retryDelay, ...
24
31
  headers: Headers;
25
32
  }>;
26
33
  export declare function useCancelation(): AbortController;
27
- export declare type EventHandler = () => void;
28
- export declare class EventBus {
29
- private emitter;
30
- on: (type: string, handler: EventHandler) => void;
31
- off: (type: string, handler: EventHandler) => void;
32
- emit: (type: string) => void;
33
- }
34
- export declare function useEventBus(): EventBus;
35
34
  export {};
36
35
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,eAAO,MAAM,cAAc,uDAAwC,CAAC;AACpE,eAAO,MAAM,sBAAsB,wDAAiD,CAAC;AACrF,eAAO,MAAM,iBAAiB,2DAA+C,CAAC;AAE9E,MAAM,WAAW,OAAO;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACnC;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAkCvE;AAED,UAAU,cAAe,SAAQ,WAAW;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,OAAO,CAAC,CAAC,GAAG,GAAG,EACjC,GAAG,EAAE,MAAM,EACX,EAAE,OAAW,EAAE,UAAiB,EAAE,GAAG,MAAM,EAAE,GAAE,cAAmB,GACnE,OAAO,CAAC;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAmCxC;AAED,wBAAgB,cAAc,oBAE7B;AAED,oBAAY,YAAY,GAAG,MAAM,IAAI,CAAC;AAEtC,qBAAa,QAAQ;IACjB,OAAO,CAAC,OAAO,CAAU;IAEzB,EAAE,SAAU,MAAM,WAAW,YAAY,UAEvC;IAEF,GAAG,SAAU,MAAM,WAAW,YAAY,UAExC;IAEF,IAAI,SAAU,MAAM,UAElB;CACL;AAED,wBAAgB,WAAW,aAE1B"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,oBAAY,mBAAmB,GAAG,MAAM,CACpC,MAAM,EACN;IACI,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB,CACJ,CAAC;AAEF,eAAO,MAAM,cAAc,uDAAwC,CAAC;AACpE,eAAO,MAAM,0BAA0B,oEAEtC,CAAC;AACF,eAAO,MAAM,sBAAsB,wDAAiD,CAAC;AACrF,eAAO,MAAM,iBAAiB,2DAA+C,CAAC;AAE9E,MAAM,WAAW,OAAO;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACnC;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAkCvE;AAED,UAAU,cAAe,SAAQ,WAAW;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,OAAO,CAAC,CAAC,GAAG,GAAG,EACjC,GAAG,EAAE,MAAM,EACX,EAAE,OAAW,EAAE,UAAiB,EAAE,GAAG,MAAM,EAAE,GAAE,cAAmB,GACnE,OAAO,CAAC;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAmCxC;AAED,wBAAgB,cAAc,oBAE7B"}
package/dist/common.js CHANGED
@@ -23,12 +23,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.useEventBus = exports.EventBus = exports.useCancelation = exports.getJson = exports.isCompatible = exports.RENDER_ROOT_TOKEN = exports.IS_WEB_COMPONENT_TOKEN = exports.BASENAME_TOKEN = void 0;
26
+ exports.useCancelation = exports.getJson = exports.isCompatible = exports.RENDER_ROOT_TOKEN = exports.IS_WEB_COMPONENT_TOKEN = exports.EXPOSED_DEPENDENCIES_TOKEN = exports.BASENAME_TOKEN = void 0;
27
27
  const semver_1 = __importDefault(require("semver"));
28
- const mitt_1 = __importDefault(require("mitt"));
29
28
  const react_1 = require("react");
30
29
  const react_ioc_1 = require("@servicetitan/react-ioc");
31
30
  exports.BASENAME_TOKEN = (0, react_ioc_1.symbolToken)('BASENAME_TOKEN');
31
+ exports.EXPOSED_DEPENDENCIES_TOKEN = (0, react_ioc_1.symbolToken)('EXPOSED_DEPENDENCIES_TOKEN');
32
32
  exports.IS_WEB_COMPONENT_TOKEN = (0, react_ioc_1.symbolToken)('IS_WEB_COMPONENT_TOKEN');
33
33
  exports.RENDER_ROOT_TOKEN = (0, react_ioc_1.symbolToken)('RENDER_ROOT_TOKEN');
34
34
  function isCompatible(hostVersion, packageVersion) {
@@ -95,43 +95,4 @@ function useCancelation() {
95
95
  return (0, react_1.useRef)(new AbortController()).current;
96
96
  }
97
97
  exports.useCancelation = useCancelation;
98
- class EventBus {
99
- constructor() {
100
- Object.defineProperty(this, "emitter", {
101
- enumerable: true,
102
- configurable: true,
103
- writable: true,
104
- value: (0, mitt_1.default)()
105
- });
106
- Object.defineProperty(this, "on", {
107
- enumerable: true,
108
- configurable: true,
109
- writable: true,
110
- value: (type, handler) => {
111
- this.emitter.on(type, handler);
112
- }
113
- });
114
- Object.defineProperty(this, "off", {
115
- enumerable: true,
116
- configurable: true,
117
- writable: true,
118
- value: (type, handler) => {
119
- this.emitter.off(type, handler);
120
- }
121
- });
122
- Object.defineProperty(this, "emit", {
123
- enumerable: true,
124
- configurable: true,
125
- writable: true,
126
- value: (type) => {
127
- this.emitter.emit(type);
128
- }
129
- });
130
- }
131
- }
132
- exports.EventBus = EventBus;
133
- function useEventBus() {
134
- return (0, react_1.useRef)(new EventBus()).current;
135
- }
136
- exports.useEventBus = useEventBus;
137
98
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export declare type EventHandler = () => void;
2
+ export declare type JobEventHandler = (defer: {
3
+ resolve(): void;
4
+ reject(reason?: string | Error): void;
5
+ }) => void;
6
+ export declare class EventBus {
7
+ job: {
8
+ on: (type: string, handler: JobEventHandler) => void;
9
+ off: (type: string, handler: JobEventHandler) => void;
10
+ emit: (type: string) => Promise<void>;
11
+ };
12
+ private emitter;
13
+ on: (type: string, handler: EventHandler) => void;
14
+ off: (type: string, handler: EventHandler) => void;
15
+ emit: (type: string) => void;
16
+ }
17
+ export declare function useEventBus(): EventBus;
18
+ //# sourceMappingURL=event-bus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":"AAIA,oBAAY,YAAY,GAAG,MAAM,IAAI,CAAC;AACtC,oBAAY,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;AAEX,qBAAa,QAAQ;IACjB,GAAG;mBACY,MAAM,WAAW,eAAe;oBAG/B,MAAM,WAAW,eAAe;qBAG/B,MAAM;MAcrB;IAEF,OAAO,CAAC,OAAO,CAAe;IAE9B,EAAE,SAAU,MAAM,WAAW,YAAY,UAEvC;IAEF,GAAG,SAAU,MAAM,WAAW,YAAY,UAExC;IAEF,IAAI,SAAU,MAAM,UAElB;CACL;AAED,wBAAgB,WAAW,aAE1B"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useEventBus = exports.EventBus = void 0;
7
+ const mitt_1 = __importDefault(require("mitt"));
8
+ const react_1 = require("react");
9
+ class EventBus {
10
+ constructor() {
11
+ Object.defineProperty(this, "job", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: {
16
+ on: (type, handler) => {
17
+ this.emitter.on(type, handler);
18
+ },
19
+ off: (type, handler) => {
20
+ this.emitter.off(type, handler);
21
+ },
22
+ emit: (type) => {
23
+ return new Promise((resolve, reject) => {
24
+ this.emitter.emit(type, {
25
+ resolve: () => resolve(),
26
+ reject: (reason) => {
27
+ if (typeof reason === 'string' || reason instanceof Error) {
28
+ reject(reason);
29
+ }
30
+ else {
31
+ reject();
32
+ }
33
+ },
34
+ });
35
+ });
36
+ },
37
+ }
38
+ });
39
+ Object.defineProperty(this, "emitter", {
40
+ enumerable: true,
41
+ configurable: true,
42
+ writable: true,
43
+ value: (0, mitt_1.default)()
44
+ });
45
+ Object.defineProperty(this, "on", {
46
+ enumerable: true,
47
+ configurable: true,
48
+ writable: true,
49
+ value: (type, handler) => {
50
+ this.emitter.on(type, handler);
51
+ }
52
+ });
53
+ Object.defineProperty(this, "off", {
54
+ enumerable: true,
55
+ configurable: true,
56
+ writable: true,
57
+ value: (type, handler) => {
58
+ this.emitter.off(type, handler);
59
+ }
60
+ });
61
+ Object.defineProperty(this, "emit", {
62
+ enumerable: true,
63
+ configurable: true,
64
+ writable: true,
65
+ value: (type) => {
66
+ this.emitter.emit(type);
67
+ }
68
+ });
69
+ }
70
+ }
71
+ exports.EventBus = EventBus;
72
+ function useEventBus() {
73
+ return (0, react_1.useRef)(new EventBus()).current;
74
+ }
75
+ exports.useEventBus = useEventBus;
76
+ //# sourceMappingURL=event-bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,iCAA+B;AAQ/B,MAAa,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;oCACvD,MAAM,CAAC,MAAM,CAAC,CAAC;iCAClB;qCAAM;oCACH,MAAM,EAAE,CAAC;iCACZ;4BACL,CAAC;yBACJ,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;gBACP,CAAC;aACJ;WAAC;QAEF;;;;mBAAkB,IAAA,cAAI,GAAO;WAAC;QAE9B;;;;mBAAK,CAAC,IAAY,EAAE,OAAqB,EAAE,EAAE;gBACzC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnC,CAAC;WAAC;QAEF;;;;mBAAM,CAAC,IAAY,EAAE,OAAqB,EAAE,EAAE;gBAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACpC,CAAC;WAAC;QAEF;;;;mBAAO,CAAC,IAAY,EAAE,EAAE;gBACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;WAAC;IACN,CAAC;CAAA;AArCD,4BAqCC;AAED,SAAgB,WAAW;IACvB,OAAO,IAAA,cAAM,EAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC;AAC1C,CAAC;AAFD,kCAEC"}
@@ -0,0 +1,10 @@
1
+ import { ExposedDependencies } from './common';
2
+ declare global {
3
+ export const EXPOSED_DEPENDENCIES: ExposedDependencies | undefined;
4
+ export const WEB_COMPONENT_NAME: string | undefined;
5
+ }
6
+ declare const _EXPOSED_DEPENDENCIES: ExposedDependencies | undefined;
7
+ export { _EXPOSED_DEPENDENCIES as EXPOSED_DEPENDENCIES };
8
+ declare const _WEB_COMPONENT_NAME: string | undefined;
9
+ export { _WEB_COMPONENT_NAME as WEB_COMPONENT_NAME };
10
+ //# sourceMappingURL=globals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../src/globals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,CAAC,MAAM,CAAC;IACX,MAAM,CAAC,MAAM,oBAAoB,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACnE,MAAM,CAAC,MAAM,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;CACvD;AAUD,QAAA,MAAM,qBAAqB,iCAEzB,CAAC;AACH,OAAO,EAAE,qBAAqB,IAAI,oBAAoB,EAAE,CAAC;AAEzD,QAAA,MAAM,mBAAmB,oBAEvB,CAAC;AACH,OAAO,EAAE,mBAAmB,IAAI,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WEB_COMPONENT_NAME = exports.EXPOSED_DEPENDENCIES = void 0;
4
+ function get(fetch) {
5
+ try {
6
+ return fetch();
7
+ }
8
+ catch (_a) {
9
+ return undefined;
10
+ }
11
+ }
12
+ const _EXPOSED_DEPENDENCIES = get(() => {
13
+ return EXPOSED_DEPENDENCIES;
14
+ });
15
+ exports.EXPOSED_DEPENDENCIES = _EXPOSED_DEPENDENCIES;
16
+ const _WEB_COMPONENT_NAME = get(() => {
17
+ return WEB_COMPONENT_NAME;
18
+ });
19
+ exports.WEB_COMPONENT_NAME = _WEB_COMPONENT_NAME;
20
+ //# sourceMappingURL=globals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globals.js","sourceRoot":"","sources":["../src/globals.ts"],"names":[],"mappings":";;;AAQA,SAAS,GAAG,CAAI,KAAc;IAC1B,IAAI;QACA,OAAO,KAAK,EAAE,CAAC;KAClB;IAAC,WAAM;QACJ,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AAED,MAAM,qBAAqB,GAAG,GAAG,CAAC,GAAG,EAAE;IACnC,OAAO,oBAAoB,CAAC;AAChC,CAAC,CAAC,CAAC;AAC+B,qDAAoB;AAEtD,MAAM,mBAAmB,GAAG,GAAG,CAAC,GAAG,EAAE;IACjC,OAAO,kBAAkB,CAAC;AAC9B,CAAC,CAAC,CAAC;AAC6B,iDAAkB"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './common';
2
+ export * from './event-bus';
2
3
  export * from './history-manager';
3
4
  export * from './register';
4
5
  export * from './loader';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -11,6 +11,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./common"), exports);
14
+ __exportStar(require("./event-bus"), exports);
14
15
  __exportStar(require("./history-manager"), exports);
15
16
  __exportStar(require("./register"), exports);
16
17
  __exportStar(require("./loader"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB;AACzB,oDAAkC;AAClC,6CAA2B;AAC3B,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB;AACzB,8CAA4B;AAC5B,oDAAkC;AAClC,6CAA2B;AAC3B,2CAAyB"}
package/dist/loader.d.ts CHANGED
@@ -1,11 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { EventBus } from './common';
3
- declare global {
4
- export const EXPOSED_DEPENDENCIES: Record<string, {
5
- version: string;
6
- variable: string;
7
- }>;
8
- }
2
+ import { EventBus } from './event-bus';
9
3
  export declare type LoaderRef = EventBus;
10
4
  export interface LoaderProps {
11
5
  src: string;
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":"AAAA,OAAO,EASH,SAAS,EACZ,MAAM,OAAO,CAAC;AAUf,OAAO,EAEH,QAAQ,EAKX,MAAM,UAAU,CAAC;AAGlB,OAAO,CAAC,MAAM,CAAC;IACX,MAAM,CAAC,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5F;AAqED,oBAAY,SAAS,GAAG,QAAQ,CAAC;AAEjC,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAChD,aAAa,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,MAAM,kGA2JlB,CAAC"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":"AAAA,OAAO,EASH,SAAS,EACZ,MAAM,OAAO,CAAC;AAkBf,OAAO,EAAE,QAAQ,EAAe,MAAM,aAAa,CAAC;AAyEpD,oBAAY,SAAS,GAAG,QAAQ,CAAC;AAEjC,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAChD,aAAa,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,MAAM,kGAoKlB,CAAC"}
package/dist/loader.js CHANGED
@@ -21,7 +21,9 @@ const error_boundary_1 = require("@servicetitan/error-boundary");
21
21
  const log_service_1 = require("@servicetitan/log-service");
22
22
  const react_ioc_1 = require("@servicetitan/react-ioc");
23
23
  const common_1 = require("./common");
24
+ const event_bus_1 = require("./event-bus");
24
25
  const history_manager_1 = require("./history-manager");
26
+ const globals_1 = require("./globals");
25
27
  function omitPackageVersion(packageUrl) {
26
28
  const chunks = packageUrl.split('@');
27
29
  if (chunks.length > 2) {
@@ -29,7 +31,7 @@ function omitPackageVersion(packageUrl) {
29
31
  }
30
32
  return packageUrl;
31
33
  }
32
- function getBundleInfo(packageUrl, signal) {
34
+ function getBundleInfo(packageUrl, exposedDependencies = {}, signal) {
33
35
  var _a;
34
36
  return __awaiter(this, void 0, void 0, function* () {
35
37
  const { data: { dependencies, version }, headers, } = yield (0, common_1.getJson)(`${packageUrl}/package.json`, { cache: 'no-store', signal });
@@ -37,7 +39,7 @@ function getBundleInfo(packageUrl, signal) {
37
39
  ? `${omitPackageVersion(packageUrl)}@${version}`
38
40
  : packageUrl;
39
41
  const { data: metadata } = yield (0, common_1.getJson)(`${exactPackageUrl}/dist/metadata.json`, { signal });
40
- const mismatch = Object.entries(EXPOSED_DEPENDENCIES).reduce((result, [dependency, { version: hostVersion }]) => {
42
+ const mismatch = Object.entries(exposedDependencies).reduce((result, [dependency, { version: hostVersion }]) => {
41
43
  const packageVersion = dependencies[dependency];
42
44
  if (packageVersion && !(0, common_1.isCompatible)(hostVersion, packageVersion)) {
43
45
  result[dependency] = { host: hostVersion, package: packageVersion };
@@ -46,10 +48,10 @@ function getBundleInfo(packageUrl, signal) {
46
48
  }, {});
47
49
  for (const [dependency, variable] of Object.entries(metadata.sharedDependencies)) {
48
50
  const packageVersion = dependencies[dependency];
49
- if (!EXPOSED_DEPENDENCIES[dependency]) {
51
+ if (!exposedDependencies[dependency]) {
50
52
  mismatch[dependency] = { host: 'missing', package: packageVersion };
51
53
  }
52
- else if (EXPOSED_DEPENDENCIES[dependency].variable !== variable) {
54
+ else if (exposedDependencies[dependency].variable !== variable) {
53
55
  mismatch[dependency] = { host: 'wrong global variable', package: packageVersion };
54
56
  }
55
57
  }
@@ -74,7 +76,7 @@ function getBundleInfo(packageUrl, signal) {
74
76
  }
75
77
  exports.Loader = (0, react_1.forwardRef)(({ src, data = {}, basename, loadingFallback, errorFallback, className }, ref) => {
76
78
  const [isLoading, setIsLoading] = (0, react_1.useState)(true);
77
- const [logService, historyManager] = (0, react_ioc_1.useOptionalDependencies)(log_service_1.Log, history_manager_1.HistoryManager);
79
+ const [logService, historyManager, exposedDependencies = globals_1.EXPOSED_DEPENDENCIES] = (0, react_ioc_1.useOptionalDependencies)(log_service_1.Log, history_manager_1.HistoryManager, common_1.EXPOSED_DEPENDENCIES_TOKEN);
78
80
  const dataAttrs = (0, react_1.useMemo)(() => Object.fromEntries(Object.entries(data).map(([key, value]) => [
79
81
  'data-' + key.replace(/[A-Z]/g, letter => '-' + letter.toLowerCase()),
80
82
  value,
@@ -83,7 +85,7 @@ exports.Loader = (0, react_1.forwardRef)(({ src, data = {}, basename, loadingFal
83
85
  const Loader = (0, react_1.useMemo)(() => {
84
86
  const Component = (0, react_1.forwardRef)((_0, ref) => {
85
87
  const cancelation = (0, common_1.useCancelation)();
86
- const eventBus = (0, common_1.useEventBus)();
88
+ const eventBus = (0, event_bus_1.useEventBus)();
87
89
  (0, react_1.useImperativeHandle)(ref, () => eventBus, [] // eslint-disable-line react-hooks/exhaustive-deps
88
90
  );
89
91
  (0, react_1.useEffect)(() => {
@@ -95,7 +97,7 @@ exports.Loader = (0, react_1.forwardRef)(({ src, data = {}, basename, loadingFal
95
97
  const Lazy = (0, react_1.useMemo)(() => (0, react_1.lazy)(() => __awaiter(void 0, void 0, void 0, function* () {
96
98
  let bundleInfo;
97
99
  try {
98
- bundleInfo = yield getBundleInfo(src, cancelation.signal);
100
+ bundleInfo = yield getBundleInfo(src, exposedDependencies, cancelation.signal);
99
101
  }
100
102
  catch (e) {
101
103
  if (cancelation.signal.aborted) {
@@ -110,7 +112,10 @@ exports.Loader = (0, react_1.forwardRef)(({ src, data = {}, basename, loadingFal
110
112
  logService === null || logService === void 0 ? void 0 : logService.warning({
111
113
  category: 'MicroFrontends.DependenciesMismatch',
112
114
  message: 'Some of the package dependencies have incompatible versions.',
113
- data: { package: src, dependencies: JSON.stringify(mismatch) },
115
+ data: {
116
+ package: src,
117
+ dependencies: JSON.stringify(mismatch),
118
+ },
114
119
  });
115
120
  }
116
121
  const script = Array.from(document.scripts).find(({ src }) => src === url);
@@ -140,6 +145,7 @@ exports.Loader = (0, react_1.forwardRef)(({ src, data = {}, basename, loadingFal
140
145
  webComponent === null || webComponent === void 0 ? void 0 : webComponent.provide({
141
146
  logService,
142
147
  historyManager,
148
+ exposedDependencies,
143
149
  eventBus,
144
150
  basename,
145
151
  onReady: () => {
@@ -158,7 +164,7 @@ exports.Loader = (0, react_1.forwardRef)(({ src, data = {}, basename, loadingFal
158
164
  return (0, jsx_runtime_1.jsx)(Lazy, {}, void 0);
159
165
  });
160
166
  return Component;
161
- }, [src, className, logService, historyManager, basename, dataAttrs]);
167
+ }, [src, className, logService, historyManager, exposedDependencies, basename, dataAttrs]);
162
168
  const LoadingFallback = (0, react_1.useMemo)(() => () => {
163
169
  if (loadingFallback !== undefined) {
164
170
  return loadingFallback;
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,3 @@
1
1
  import { ComponentType } from 'react';
2
- declare global {
3
- export const WEB_COMPONENT_NAME: string;
4
- }
5
2
  export declare function register(Component: ComponentType, light: boolean): void;
6
3
  //# sourceMappingURL=register.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAM,aAAa,EAAE,MAAM,OAAO,CAAC;AAkB1C,OAAO,CAAC,MAAM,CAAC;IACX,MAAM,CAAC,MAAM,kBAAkB,EAAE,MAAM,CAAC;CAC3C;AAgBD,wBAAgB,QAAQ,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,QA4GhE"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAM,aAAa,EAAE,MAAM,OAAO,CAAC;AAkC1C,wBAAgB,QAAQ,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,QAyHhE"}
package/dist/register.js CHANGED
@@ -6,9 +6,10 @@ const react_dom_1 = require("react-dom");
6
6
  const log_service_1 = require("@servicetitan/log-service");
7
7
  const design_system_1 = require("@servicetitan/design-system");
8
8
  const react_ioc_1 = require("@servicetitan/react-ioc");
9
- const optional_value_provider_1 = require("./optional-value-provider");
10
9
  const common_1 = require("./common");
10
+ const event_bus_1 = require("./event-bus");
11
11
  const history_manager_1 = require("./history-manager");
12
+ const globals_1 = require("./globals");
12
13
  function createLink(url, onLoad) {
13
14
  const element = document.createElement('link');
14
15
  element.href = url;
@@ -65,6 +66,12 @@ function register(Component, light) {
65
66
  writable: true,
66
67
  value: void 0
67
68
  });
69
+ Object.defineProperty(this, "exposedDependencies", {
70
+ enumerable: true,
71
+ configurable: true,
72
+ writable: true,
73
+ value: void 0
74
+ });
68
75
  Object.defineProperty(this, "eventBus", {
69
76
  enumerable: true,
70
77
  configurable: true,
@@ -134,7 +141,16 @@ function register(Component, light) {
134
141
  (0, react_dom_1.render)((0, jsx_runtime_1.jsx)(react_ioc_1.Provider, Object.assign({ singletons: [
135
142
  { provide: common_1.IS_WEB_COMPONENT_TOKEN, useValue: true },
136
143
  { provide: common_1.RENDER_ROOT_TOKEN, useValue: this.root },
137
- ] }, { children: (0, jsx_runtime_1.jsx)(design_system_1.DefaultPortalContext.Provider, Object.assign({ value: this.portal }, { children: (0, jsx_runtime_1.jsx)(optional_value_provider_1.OptionalValueProvider, Object.assign({ provide: log_service_1.Log, useValue: this.logService }, { children: (0, jsx_runtime_1.jsx)(optional_value_provider_1.OptionalValueProvider, Object.assign({ provide: history_manager_1.HistoryManager, useValue: this.historyManager }, { children: (0, jsx_runtime_1.jsx)(optional_value_provider_1.OptionalValueProvider, Object.assign({ provide: common_1.EventBus, useValue: this.eventBus }, { children: (0, jsx_runtime_1.jsx)(optional_value_provider_1.OptionalValueProvider, Object.assign({ provide: common_1.BASENAME_TOKEN, useValue: this.basename }, { children: (0, jsx_runtime_1.jsx)(Component, Object.assign({}, this.dataset), void 0) }), void 0) }), void 0) }), void 0) }), void 0) }), void 0) }), void 0), this.root, this.onReady);
144
+ ] }, { children: (0, jsx_runtime_1.jsx)(design_system_1.DefaultPortalContext.Provider, Object.assign({ value: this.portal }, { children: (0, jsx_runtime_1.jsx)(design_system_1.TablePopupPropsContext.Provider, Object.assign({ value: props => (Object.assign(Object.assign({}, props), { appendTo: this.root })) }, { children: (0, jsx_runtime_1.jsx)(react_ioc_1.Provider, Object.assign({ singletons: [
145
+ { provide: log_service_1.Log, useValue: this.logService },
146
+ { provide: history_manager_1.HistoryManager, useValue: this.historyManager },
147
+ {
148
+ provide: common_1.EXPOSED_DEPENDENCIES_TOKEN,
149
+ useValue: this.exposedDependencies,
150
+ },
151
+ { provide: event_bus_1.EventBus, useValue: this.eventBus },
152
+ { provide: common_1.BASENAME_TOKEN, useValue: this.basename },
153
+ ].filter(({ useValue }) => useValue !== undefined) }, { children: (0, jsx_runtime_1.jsx)(Component, Object.assign({}, this.dataset), void 0) }), void 0) }), void 0) }), void 0) }), void 0), this.root, this.onReady);
138
154
  }
139
155
  });
140
156
  }
@@ -154,7 +170,12 @@ function register(Component, light) {
154
170
  (_a = this.onDispose) === null || _a === void 0 ? void 0 : _a.call(this);
155
171
  }
156
172
  }
157
- window.customElements.define(WEB_COMPONENT_NAME, WebComponent);
173
+ if (!globals_1.WEB_COMPONENT_NAME) {
174
+ // eslint-disable-next-line no-console
175
+ console.error('"WEB_COMPONENT_NAME" is not defined!');
176
+ return;
177
+ }
178
+ window.customElements.define(globals_1.WEB_COMPONENT_NAME, WebComponent);
158
179
  }
159
180
  exports.register = register;
160
181
  //# sourceMappingURL=register.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/web-components",
3
- "version": "17.5.4",
3
+ "version": "19.1.0",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -14,18 +14,18 @@
14
14
  "src"
15
15
  ],
16
16
  "dependencies": {
17
- "@servicetitan/error-boundary": "^17.5.4",
17
+ "@servicetitan/error-boundary": "^19.1.0",
18
18
  "lodash.get": "~4.4.2",
19
19
  "mitt": "~3.0.0",
20
20
  "semver": "~7.3.5"
21
21
  },
22
22
  "devDependencies": {
23
- "@servicetitan/design-system": "~10.5.0",
24
- "@servicetitan/log-service": "^17.5.4",
25
- "@servicetitan/react-ioc": "^17.5.4",
23
+ "@servicetitan/design-system": "~10.6.0",
24
+ "@servicetitan/log-service": "^19.1.0",
25
+ "@servicetitan/react-ioc": "^19.1.0",
26
26
  "@types/history": "~4.7.9",
27
27
  "@types/lodash.get": "~4.4.6",
28
- "@types/react": "~17.0.33",
28
+ "@types/react": "~17.0.36",
29
29
  "@types/react-dom": "~17.0.11",
30
30
  "@types/semver": "~7.3.9",
31
31
  "history": "~4.10.1",
@@ -33,7 +33,7 @@
33
33
  "react-dom": "~17.0.2"
34
34
  },
35
35
  "peerDependencies": {
36
- "@servicetitan/design-system": "~10.5.0",
36
+ "@servicetitan/design-system": "~10.6.0",
37
37
  "@servicetitan/log-service": "^17.0.0",
38
38
  "@servicetitan/react-ioc": "^17.0.0",
39
39
  "history": "~4.10.1",
@@ -46,5 +46,5 @@
46
46
  "cli": {
47
47
  "webpack": false
48
48
  },
49
- "gitHead": "acf1acc24831b47478386625f8df3f4496816cf0"
49
+ "gitHead": "9e276cf0db28138e0c5fd29b6b38eecdae98769e"
50
50
  }
package/src/common.ts CHANGED
@@ -1,21 +1,32 @@
1
1
  import semver from 'semver';
2
2
 
3
- import mitt from 'mitt';
4
-
5
3
  import { useRef } from 'react';
6
4
 
7
5
  import { symbolToken } from '@servicetitan/react-ioc';
8
6
  import { Log } from '@servicetitan/log-service';
9
7
 
8
+ import { EventBus } from './event-bus';
10
9
  import { HistoryManager } from './history-manager';
11
10
 
11
+ export type ExposedDependencies = Record<
12
+ string,
13
+ {
14
+ version: string;
15
+ variable: string;
16
+ }
17
+ >;
18
+
12
19
  export const BASENAME_TOKEN = symbolToken<string>('BASENAME_TOKEN');
20
+ export const EXPOSED_DEPENDENCIES_TOKEN = symbolToken<ExposedDependencies>(
21
+ 'EXPOSED_DEPENDENCIES_TOKEN'
22
+ );
13
23
  export const IS_WEB_COMPONENT_TOKEN = symbolToken<boolean>('IS_WEB_COMPONENT_TOKEN');
14
24
  export const RENDER_ROOT_TOKEN = symbolToken<ShadowRoot>('RENDER_ROOT_TOKEN');
15
25
 
16
26
  export interface Entries {
17
27
  logService?: Log;
18
28
  historyManager?: HistoryManager;
29
+ exposedDependencies?: ExposedDependencies;
19
30
  eventBus?: EventBus;
20
31
  basename?: string;
21
32
  onReady: () => void;
@@ -110,25 +121,3 @@ export async function getJson<T = any>(
110
121
  export function useCancelation() {
111
122
  return useRef(new AbortController()).current;
112
123
  }
113
-
114
- export type EventHandler = () => void;
115
-
116
- export class EventBus {
117
- private emitter = mitt();
118
-
119
- on = (type: string, handler: EventHandler) => {
120
- this.emitter.on(type, handler);
121
- };
122
-
123
- off = (type: string, handler: EventHandler) => {
124
- this.emitter.off(type, handler);
125
- };
126
-
127
- emit = (type: string) => {
128
- this.emitter.emit(type);
129
- };
130
- }
131
-
132
- export function useEventBus() {
133
- return useRef(new EventBus()).current;
134
- }
@@ -0,0 +1,52 @@
1
+ import mitt from 'mitt';
2
+
3
+ import { useRef } from 'react';
4
+
5
+ export type EventHandler = () => void;
6
+ export type JobEventHandler = (defer: {
7
+ resolve(): void;
8
+ reject(reason?: string | Error): void;
9
+ }) => void;
10
+
11
+ export class EventBus {
12
+ job = {
13
+ on: (type: string, handler: JobEventHandler) => {
14
+ this.emitter.on(type, handler);
15
+ },
16
+ off: (type: string, handler: JobEventHandler) => {
17
+ this.emitter.off(type, handler);
18
+ },
19
+ emit: (type: string) => {
20
+ return new Promise<void>((resolve, reject) => {
21
+ this.emitter.emit(type, {
22
+ resolve: () => resolve(),
23
+ reject: (reason?: string | Error) => {
24
+ if (typeof reason === 'string' || reason instanceof Error) {
25
+ reject(reason);
26
+ } else {
27
+ reject();
28
+ }
29
+ },
30
+ });
31
+ });
32
+ },
33
+ };
34
+
35
+ private emitter = mitt<any>();
36
+
37
+ on = (type: string, handler: EventHandler) => {
38
+ this.emitter.on(type, handler);
39
+ };
40
+
41
+ off = (type: string, handler: EventHandler) => {
42
+ this.emitter.off(type, handler);
43
+ };
44
+
45
+ emit = (type: string) => {
46
+ this.emitter.emit(type);
47
+ };
48
+ }
49
+
50
+ export function useEventBus() {
51
+ return useRef(new EventBus()).current;
52
+ }
package/src/globals.ts ADDED
@@ -0,0 +1,25 @@
1
+ /* eslint-disable @typescript-eslint/naming-convention */
2
+ import { ExposedDependencies } from './common';
3
+
4
+ declare global {
5
+ export const EXPOSED_DEPENDENCIES: ExposedDependencies | undefined;
6
+ export const WEB_COMPONENT_NAME: string | undefined;
7
+ }
8
+
9
+ function get<T>(fetch: () => T) {
10
+ try {
11
+ return fetch();
12
+ } catch {
13
+ return undefined;
14
+ }
15
+ }
16
+
17
+ const _EXPOSED_DEPENDENCIES = get(() => {
18
+ return EXPOSED_DEPENDENCIES;
19
+ });
20
+ export { _EXPOSED_DEPENDENCIES as EXPOSED_DEPENDENCIES };
21
+
22
+ const _WEB_COMPONENT_NAME = get(() => {
23
+ return WEB_COMPONENT_NAME;
24
+ });
25
+ export { _WEB_COMPONENT_NAME as WEB_COMPONENT_NAME };
package/src/index.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './common';
2
+ export * from './event-bus';
2
3
  export * from './history-manager';
3
4
  export * from './register';
4
5
  export * from './loader';
package/src/loader.tsx CHANGED
@@ -19,20 +19,16 @@ import { Log } from '@servicetitan/log-service';
19
19
  import { useOptionalDependencies } from '@servicetitan/react-ioc';
20
20
 
21
21
  import {
22
+ ExposedDependencies,
23
+ EXPOSED_DEPENDENCIES_TOKEN,
22
24
  useCancelation,
23
- EventBus,
24
- useEventBus,
25
25
  getJson,
26
26
  isCompatible,
27
27
  IWebComponent,
28
28
  } from './common';
29
+ import { EventBus, useEventBus } from './event-bus';
29
30
  import { HistoryManager } from './history-manager';
30
-
31
- declare global {
32
- export const EXPOSED_DEPENDENCIES: Record<string, { version: string; variable: string }>;
33
- }
34
-
35
- type Awaited<T> = T extends PromiseLike<infer U> ? Awaited<U> : T;
31
+ import { EXPOSED_DEPENDENCIES } from './globals';
36
32
 
37
33
  function omitPackageVersion(packageUrl: string) {
38
34
  const chunks = packageUrl.split('@');
@@ -44,7 +40,11 @@ function omitPackageVersion(packageUrl: string) {
44
40
  return packageUrl;
45
41
  }
46
42
 
47
- async function getBundleInfo(packageUrl: string, signal?: AbortSignal) {
43
+ async function getBundleInfo(
44
+ packageUrl: string,
45
+ exposedDependencies: ExposedDependencies = {},
46
+ signal?: AbortSignal
47
+ ) {
48
48
  const {
49
49
  data: { dependencies, version },
50
50
  headers,
@@ -57,7 +57,7 @@ async function getBundleInfo(packageUrl: string, signal?: AbortSignal) {
57
57
 
58
58
  const { data: metadata } = await getJson(`${exactPackageUrl}/dist/metadata.json`, { signal });
59
59
 
60
- const mismatch = Object.entries(EXPOSED_DEPENDENCIES).reduce(
60
+ const mismatch = Object.entries(exposedDependencies).reduce(
61
61
  (result, [dependency, { version: hostVersion }]) => {
62
62
  const packageVersion = dependencies[dependency];
63
63
 
@@ -73,9 +73,9 @@ async function getBundleInfo(packageUrl: string, signal?: AbortSignal) {
73
73
  for (const [dependency, variable] of Object.entries(metadata.sharedDependencies)) {
74
74
  const packageVersion = dependencies[dependency];
75
75
 
76
- if (!EXPOSED_DEPENDENCIES[dependency]) {
76
+ if (!exposedDependencies[dependency]) {
77
77
  mismatch[dependency] = { host: 'missing', package: packageVersion };
78
- } else if (EXPOSED_DEPENDENCIES[dependency].variable !== variable) {
78
+ } else if (exposedDependencies[dependency].variable !== variable) {
79
79
  mismatch[dependency] = { host: 'wrong global variable', package: packageVersion };
80
80
  }
81
81
  }
@@ -114,7 +114,8 @@ export const Loader = forwardRef<LoaderRef, LoaderProps>(
114
114
  ({ src, data = {}, basename, loadingFallback, errorFallback, className }, ref) => {
115
115
  const [isLoading, setIsLoading] = useState(true);
116
116
 
117
- const [logService, historyManager] = useOptionalDependencies(Log, HistoryManager);
117
+ const [logService, historyManager, exposedDependencies = EXPOSED_DEPENDENCIES] =
118
+ useOptionalDependencies(Log, HistoryManager, EXPOSED_DEPENDENCIES_TOKEN);
118
119
 
119
120
  const dataAttrs = useMemo(
120
121
  () =>
@@ -151,7 +152,11 @@ export const Loader = forwardRef<LoaderRef, LoaderProps>(
151
152
  lazy<() => JSX.Element | null>(async () => {
152
153
  let bundleInfo: Awaited<ReturnType<typeof getBundleInfo>>;
153
154
  try {
154
- bundleInfo = await getBundleInfo(src, cancelation.signal);
155
+ bundleInfo = await getBundleInfo(
156
+ src,
157
+ exposedDependencies,
158
+ cancelation.signal
159
+ );
155
160
  } catch (e) {
156
161
  if (cancelation.signal.aborted) {
157
162
  return {
@@ -169,7 +174,10 @@ export const Loader = forwardRef<LoaderRef, LoaderProps>(
169
174
  category: 'MicroFrontends.DependenciesMismatch',
170
175
  message:
171
176
  'Some of the package dependencies have incompatible versions.',
172
- data: { package: src, dependencies: JSON.stringify(mismatch) },
177
+ data: {
178
+ package: src,
179
+ dependencies: JSON.stringify(mismatch),
180
+ },
173
181
  });
174
182
  }
175
183
 
@@ -204,6 +212,7 @@ export const Loader = forwardRef<LoaderRef, LoaderProps>(
204
212
  webComponent?.provide({
205
213
  logService,
206
214
  historyManager,
215
+ exposedDependencies,
207
216
  eventBus,
208
217
  basename,
209
218
  onReady: () => {
@@ -232,7 +241,7 @@ export const Loader = forwardRef<LoaderRef, LoaderProps>(
232
241
  });
233
242
 
234
243
  return Component;
235
- }, [src, className, logService, historyManager, basename, dataAttrs]);
244
+ }, [src, className, logService, historyManager, exposedDependencies, basename, dataAttrs]);
236
245
 
237
246
  const LoadingFallback = useMemo(
238
247
  () => () => {
package/src/register.tsx CHANGED
@@ -2,23 +2,21 @@ import { FC, ComponentType } from 'react';
2
2
  import { render, unmountComponentAtNode } from 'react-dom';
3
3
 
4
4
  import { Log } from '@servicetitan/log-service';
5
- import { DefaultPortalContext } from '@servicetitan/design-system';
5
+ import { DefaultPortalContext, TablePopupPropsContext } from '@servicetitan/design-system';
6
6
  import { Provider } from '@servicetitan/react-ioc';
7
7
 
8
- import { OptionalValueProvider } from './optional-value-provider';
9
8
  import {
9
+ ExposedDependencies,
10
+ EXPOSED_DEPENDENCIES_TOKEN,
10
11
  Entries,
11
- EventBus,
12
12
  IWebComponent,
13
13
  BASENAME_TOKEN,
14
14
  IS_WEB_COMPONENT_TOKEN,
15
15
  RENDER_ROOT_TOKEN,
16
16
  } from './common';
17
+ import { EventBus } from './event-bus';
17
18
  import { HistoryManager } from './history-manager';
18
-
19
- declare global {
20
- export const WEB_COMPONENT_NAME: string;
21
- }
19
+ import { WEB_COMPONENT_NAME } from './globals';
22
20
 
23
21
  function createLink(url: string, onLoad: () => void) {
24
22
  const element = document.createElement('link');
@@ -58,6 +56,7 @@ export function register(Component: ComponentType, light: boolean) {
58
56
 
59
57
  private logService?: Log;
60
58
  private historyManager?: HistoryManager;
59
+ private exposedDependencies?: ExposedDependencies;
61
60
  private eventBus?: EventBus;
62
61
  private basename?: string;
63
62
  private onReady?: () => void;
@@ -118,21 +117,27 @@ export function register(Component: ComponentType, light: boolean) {
118
117
  ]}
119
118
  >
120
119
  <DefaultPortalContext.Provider value={this.portal as unknown as HTMLElement}>
121
- <OptionalValueProvider provide={Log} useValue={this.logService}>
122
- <OptionalValueProvider
123
- provide={HistoryManager}
124
- useValue={this.historyManager}
120
+ <TablePopupPropsContext.Provider
121
+ value={props => ({
122
+ ...props,
123
+ appendTo: this.root as unknown as HTMLElement,
124
+ })}
125
+ >
126
+ <Provider
127
+ singletons={[
128
+ { provide: Log, useValue: this.logService },
129
+ { provide: HistoryManager, useValue: this.historyManager },
130
+ {
131
+ provide: EXPOSED_DEPENDENCIES_TOKEN,
132
+ useValue: this.exposedDependencies,
133
+ },
134
+ { provide: EventBus, useValue: this.eventBus },
135
+ { provide: BASENAME_TOKEN, useValue: this.basename },
136
+ ].filter(({ useValue }) => useValue !== undefined)}
125
137
  >
126
- <OptionalValueProvider provide={EventBus} useValue={this.eventBus}>
127
- <OptionalValueProvider
128
- provide={BASENAME_TOKEN}
129
- useValue={this.basename}
130
- >
131
- <Component {...this.dataset} />
132
- </OptionalValueProvider>
133
- </OptionalValueProvider>
134
- </OptionalValueProvider>
135
- </OptionalValueProvider>
138
+ <Component {...this.dataset} />
139
+ </Provider>
140
+ </TablePopupPropsContext.Provider>
136
141
  </DefaultPortalContext.Provider>
137
142
  </Provider>,
138
143
  this.root,
@@ -141,5 +146,11 @@ export function register(Component: ComponentType, light: boolean) {
141
146
  };
142
147
  }
143
148
 
149
+ if (!WEB_COMPONENT_NAME) {
150
+ // eslint-disable-next-line no-console
151
+ console.error('"WEB_COMPONENT_NAME" is not defined!');
152
+ return;
153
+ }
154
+
144
155
  window.customElements.define(WEB_COMPONENT_NAME, WebComponent);
145
156
  }
@@ -1,9 +0,0 @@
1
- /// <reference types="react" />
2
- import { SymbolToken, interfaces } from '@servicetitan/react-ioc';
3
- export interface OptionalValueProviderProps<T> {
4
- provide: SymbolToken<T> | interfaces.Abstract<T>;
5
- useValue: T | undefined;
6
- children: JSX.Element;
7
- }
8
- export declare const OptionalValueProvider: <T extends unknown>({ provide, useValue, children, }: OptionalValueProviderProps<T>) => JSX.Element;
9
- //# sourceMappingURL=optional-value-provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"optional-value-provider.d.ts","sourceRoot":"","sources":["../src/optional-value-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAY,MAAM,yBAAyB,CAAC;AAE5E,MAAM,WAAW,0BAA0B,CAAC,CAAC;IACzC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjD,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;IACxB,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,qBAAqB,qGAUjC,CAAC"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OptionalValueProvider = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_ioc_1 = require("@servicetitan/react-ioc");
6
- const OptionalValueProvider = ({ provide, useValue, children, }) => {
7
- if (useValue) {
8
- return (0, jsx_runtime_1.jsx)(react_ioc_1.Provider, Object.assign({ singletons: [{ provide, useValue }] }, { children: children }), void 0);
9
- }
10
- return children;
11
- };
12
- exports.OptionalValueProvider = OptionalValueProvider;
13
- //# sourceMappingURL=optional-value-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"optional-value-provider.js","sourceRoot":"","sources":["../src/optional-value-provider.tsx"],"names":[],"mappings":";;;;AAAA,uDAA4E;AAQrE,MAAM,qBAAqB,GAAG,CAAgB,EACjD,OAAO,EACP,QAAQ,EACR,QAAQ,GACoB,EAAE,EAAE;IAChC,IAAI,QAAQ,EAAE;QACV,OAAO,uBAAC,oBAAQ,kBAAC,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,gBAAG,QAAQ,YAAY,CAAC;KAC/E;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAVW,QAAA,qBAAqB,yBAUhC"}
@@ -1,19 +0,0 @@
1
- import { SymbolToken, interfaces, Provider } from '@servicetitan/react-ioc';
2
-
3
- export interface OptionalValueProviderProps<T> {
4
- provide: SymbolToken<T> | interfaces.Abstract<T>;
5
- useValue: T | undefined;
6
- children: JSX.Element;
7
- }
8
-
9
- export const OptionalValueProvider = <T extends any>({
10
- provide,
11
- useValue,
12
- children,
13
- }: OptionalValueProviderProps<T>) => {
14
- if (useValue) {
15
- return <Provider singletons={[{ provide, useValue }]}>{children}</Provider>;
16
- }
17
-
18
- return children;
19
- };