@servicetitan/web-components 22.0.4 → 22.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/event-bus.d.ts +8 -4
- package/dist/event-bus.d.ts.map +1 -1
- package/dist/event-bus.js +4 -2
- package/dist/event-bus.js.map +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +4 -3
- package/dist/loader.js.map +1 -1
- package/dist/register.js +2 -2
- package/dist/register.js.map +1 -1
- package/package.json +7 -7
- package/src/event-bus.ts +18 -5
- package/src/loader.tsx +14 -4
- package/src/register.tsx +2 -2
package/dist/event-bus.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import { SymbolToken } from '@servicetitan/react-ioc';
|
|
2
|
+
export declare type EventHandler<T = unknown> = (data: T) => void;
|
|
2
3
|
export declare type JobEventHandler = (defer: {
|
|
3
4
|
resolve(): void;
|
|
4
5
|
reject(reason?: string | Error): void;
|
|
5
6
|
}) => void;
|
|
7
|
+
export declare type EventType = string | number | symbol;
|
|
8
|
+
export declare type SymbolTokenEventType<T, U extends EventType = EventType> = U extends SymbolToken<any> ? SymbolToken<T> : U;
|
|
9
|
+
export declare const EVENT_BUS_TOKEN: SymbolToken<EventBus>;
|
|
6
10
|
export declare class EventBus {
|
|
7
11
|
job: {
|
|
8
12
|
on: (type: string, handler: JobEventHandler) => void;
|
|
@@ -10,9 +14,9 @@ export declare class EventBus {
|
|
|
10
14
|
emit: (type: string) => Promise<void>;
|
|
11
15
|
};
|
|
12
16
|
private emitter;
|
|
13
|
-
on: (type:
|
|
14
|
-
off: (type:
|
|
15
|
-
emit: (type:
|
|
17
|
+
on: <T, U extends EventType = EventType>(type: SymbolTokenEventType<T, U>, handler: EventHandler<T>) => void;
|
|
18
|
+
off: <T, U extends EventType = EventType>(type: SymbolTokenEventType<T, U>, handler: EventHandler<T>) => void;
|
|
19
|
+
emit: <T, U extends EventType = EventType>(type: SymbolTokenEventType<T, U>, data?: T | undefined) => void;
|
|
16
20
|
}
|
|
17
21
|
export declare function useEventBus(): EventBus;
|
|
18
22
|
//# sourceMappingURL=event-bus.d.ts.map
|
package/dist/event-bus.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":"
|
|
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,oBAAY,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAC1D,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;AACX,oBAAY,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACjD,oBAAY,oBAAoB,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,GAC3F,WAAW,CAAC,CAAC,CAAC,GACd,CAAC,CAAC;AAER,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,2GAKA;IAEF,GAAG,2GAKD;IAEF,IAAI,uGAEF;CACL;AAED,wBAAgB,WAAW,aAE1B"}
|
package/dist/event-bus.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import mitt from 'mitt';
|
|
2
2
|
import { useRef } from 'react';
|
|
3
|
+
import { symbolToken } from '@servicetitan/react-ioc';
|
|
4
|
+
export const EVENT_BUS_TOKEN = symbolToken('EVENT_BUS_TOKEN');
|
|
3
5
|
export class EventBus {
|
|
4
6
|
constructor() {
|
|
5
7
|
Object.defineProperty(this, "job", {
|
|
@@ -56,8 +58,8 @@ export class EventBus {
|
|
|
56
58
|
enumerable: true,
|
|
57
59
|
configurable: true,
|
|
58
60
|
writable: true,
|
|
59
|
-
value: (type) => {
|
|
60
|
-
this.emitter.emit(type);
|
|
61
|
+
value: (type, data) => {
|
|
62
|
+
this.emitter.emit(type, data);
|
|
61
63
|
}
|
|
62
64
|
});
|
|
63
65
|
}
|
package/dist/event-bus.js.map
CHANGED
|
@@ -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;
|
|
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;AAYnE,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;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,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"}
|
package/dist/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":"AAAA,OAAO,EASH,SAAS,EACZ,MAAM,OAAO,CAAC;AAiBf,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":"AAAA,OAAO,EASH,SAAS,EACZ,MAAM,OAAO,CAAC;AAiBf,OAAO,EAAE,QAAQ,EAAgC,MAAM,aAAa,CAAC;AA4GrE,oBAAY,SAAS,GAAG,QAAQ,CAAC;AAEjC,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,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,kGAqMlB,CAAC"}
|
package/dist/loader.js
CHANGED
|
@@ -15,7 +15,7 @@ import { ErrorBoundary } from '@servicetitan/error-boundary';
|
|
|
15
15
|
import { Log } from '@servicetitan/log-service';
|
|
16
16
|
import { useOptionalDependencies } from '@servicetitan/react-ioc';
|
|
17
17
|
import { EXPOSED_DEPENDENCIES_TOKEN, useCancelation, getJson, } from './common';
|
|
18
|
-
import { useEventBus } from './event-bus';
|
|
18
|
+
import { EVENT_BUS_TOKEN, useEventBus } from './event-bus';
|
|
19
19
|
import { HistoryManager } from './history-manager';
|
|
20
20
|
import { EXPOSED_DEPENDENCIES } from './globals';
|
|
21
21
|
import { getVersionMismatches, isVersionedUrl } from './utils';
|
|
@@ -97,7 +97,8 @@ function getBundleInfo(mainPackageUrl, fallbackPackageUrl, exposedDependencies =
|
|
|
97
97
|
}
|
|
98
98
|
export const Loader = forwardRef(({ src, fallbackSrc, data = {}, basename, loadingFallback, errorFallback, className }, ref) => {
|
|
99
99
|
const [isLoading, setIsLoading] = useState(true);
|
|
100
|
-
const
|
|
100
|
+
const bus = useEventBus();
|
|
101
|
+
const [logService, historyManager, exposedDependencies = EXPOSED_DEPENDENCIES, eventBus = bus,] = useOptionalDependencies(Log, HistoryManager, EXPOSED_DEPENDENCIES_TOKEN, EVENT_BUS_TOKEN);
|
|
101
102
|
const dataAttrs = useMemo(() => Object.fromEntries(Object.entries(data).map(([key, value]) => [
|
|
102
103
|
'data-' + key.replace(/[A-Z]/g, letter => '-' + letter.toLowerCase()),
|
|
103
104
|
value,
|
|
@@ -106,7 +107,6 @@ export const Loader = forwardRef(({ src, fallbackSrc, data = {}, basename, loadi
|
|
|
106
107
|
const Loader = useMemo(() => {
|
|
107
108
|
const Component = forwardRef((_0, ref) => {
|
|
108
109
|
const cancelation = useCancelation();
|
|
109
|
-
const eventBus = useEventBus();
|
|
110
110
|
useImperativeHandle(ref, () => eventBus, [] // eslint-disable-line react-hooks/exhaustive-deps
|
|
111
111
|
);
|
|
112
112
|
useEffect(() => {
|
|
@@ -201,6 +201,7 @@ export const Loader = forwardRef(({ src, fallbackSrc, data = {}, basename, loadi
|
|
|
201
201
|
exposedDependencies,
|
|
202
202
|
basename,
|
|
203
203
|
dataAttrs,
|
|
204
|
+
eventBus,
|
|
204
205
|
]);
|
|
205
206
|
const LoadingFallback = useMemo(() => () => {
|
|
206
207
|
if (loadingFallback !== undefined) {
|
package/dist/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EACH,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,UAAU,EACV,mBAAmB,GAGtB,MAAM,OAAO,CAAC;AAEf,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAEH,0BAA0B,EAC1B,cAAc,EACd,OAAO,GAEV,MAAM,UAAU,CAAC;AAClB,OAAO,EAAY,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":"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"}
|
package/dist/register.js
CHANGED
|
@@ -4,7 +4,7 @@ import { Log } from '@servicetitan/log-service';
|
|
|
4
4
|
import { DefaultPortalContext, TablePopupPropsContext } from '@servicetitan/design-system';
|
|
5
5
|
import { Provider } from '@servicetitan/react-ioc';
|
|
6
6
|
import { EXPOSED_DEPENDENCIES_TOKEN, BASENAME_TOKEN, IS_WEB_COMPONENT_TOKEN, RENDER_ROOT_TOKEN, } from './common';
|
|
7
|
-
import {
|
|
7
|
+
import { EVENT_BUS_TOKEN } from './event-bus';
|
|
8
8
|
import { HistoryManager } from './history-manager';
|
|
9
9
|
import { WEB_COMPONENT_NAME } from './globals';
|
|
10
10
|
function createLink(url, onLoad) {
|
|
@@ -136,7 +136,7 @@ export function register(Component, light) {
|
|
|
136
136
|
provide: EXPOSED_DEPENDENCIES_TOKEN,
|
|
137
137
|
useValue: this.exposedDependencies,
|
|
138
138
|
},
|
|
139
|
-
{ provide:
|
|
139
|
+
{ provide: EVENT_BUS_TOKEN, useValue: this.eventBus },
|
|
140
140
|
{ provide: BASENAME_TOKEN, useValue: this.basename },
|
|
141
141
|
].filter(({ useValue }) => useValue !== undefined) }, { children: _jsx(Component, Object.assign({}, this.dataset)) })) })) })) })), this.root, this.onReady);
|
|
142
142
|
}
|
package/dist/register.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAEH,0BAA0B,EAG1B,cAAc,EACd,sBAAsB,EACtB,iBAAiB,GACpB,MAAM,UAAU,CAAC;AAClB,OAAO,
|
|
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": "22.0
|
|
3
|
+
"version": "22.1.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -15,15 +15,15 @@
|
|
|
15
15
|
"src"
|
|
16
16
|
],
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@servicetitan/error-boundary": "22.0
|
|
18
|
+
"@servicetitan/error-boundary": "22.1.0",
|
|
19
19
|
"lodash.get": "~4.4.2",
|
|
20
20
|
"mitt": "~3.0.0",
|
|
21
21
|
"semver": "~7.3.8"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@servicetitan/design-system": "~12.6.2",
|
|
25
|
-
"@servicetitan/log-service": "22.0
|
|
26
|
-
"@servicetitan/react-ioc": "22.0
|
|
25
|
+
"@servicetitan/log-service": "22.1.0",
|
|
26
|
+
"@servicetitan/react-ioc": "22.1.0",
|
|
27
27
|
"@types/history": "~4.7.10",
|
|
28
28
|
"@types/lodash.get": "~4.4.6",
|
|
29
29
|
"@types/react": "~17.0.38",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
37
|
"@servicetitan/design-system": "~12.6.2",
|
|
38
|
-
"@servicetitan/log-service": "22.0
|
|
39
|
-
"@servicetitan/react-ioc": "22.0
|
|
38
|
+
"@servicetitan/log-service": "22.1.0",
|
|
39
|
+
"@servicetitan/react-ioc": "22.1.0",
|
|
40
40
|
"history": "~4.10.1",
|
|
41
41
|
"react": "~17.0.2",
|
|
42
42
|
"react-dom": "~17.0.2"
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"cli": {
|
|
48
48
|
"webpack": false
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "56ffd93619b8fd85a355c00eb2d57e95389a23e8"
|
|
51
51
|
}
|
package/src/event-bus.ts
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import mitt from 'mitt';
|
|
2
2
|
|
|
3
3
|
import { useRef } from 'react';
|
|
4
|
+
import { symbolToken, SymbolToken } from '@servicetitan/react-ioc';
|
|
4
5
|
|
|
5
|
-
export type EventHandler = () => void;
|
|
6
|
+
export type EventHandler<T = unknown> = (data: T) => void;
|
|
6
7
|
export type JobEventHandler = (defer: {
|
|
7
8
|
resolve(): void;
|
|
8
9
|
reject(reason?: string | Error): void;
|
|
9
10
|
}) => void;
|
|
11
|
+
export type EventType = string | number | symbol;
|
|
12
|
+
export type SymbolTokenEventType<T, U extends EventType = EventType> = U extends SymbolToken<any>
|
|
13
|
+
? SymbolToken<T>
|
|
14
|
+
: U;
|
|
15
|
+
|
|
16
|
+
export const EVENT_BUS_TOKEN = symbolToken<EventBus>('EVENT_BUS_TOKEN');
|
|
10
17
|
|
|
11
18
|
export class EventBus {
|
|
12
19
|
job = {
|
|
@@ -34,16 +41,22 @@ export class EventBus {
|
|
|
34
41
|
|
|
35
42
|
private emitter = mitt<any>();
|
|
36
43
|
|
|
37
|
-
on =
|
|
44
|
+
on = <T, U extends EventType = EventType>(
|
|
45
|
+
type: SymbolTokenEventType<T, U>,
|
|
46
|
+
handler: EventHandler<T>
|
|
47
|
+
) => {
|
|
38
48
|
this.emitter.on(type, handler);
|
|
39
49
|
};
|
|
40
50
|
|
|
41
|
-
off =
|
|
51
|
+
off = <T, U extends EventType = EventType>(
|
|
52
|
+
type: SymbolTokenEventType<T, U>,
|
|
53
|
+
handler: EventHandler<T>
|
|
54
|
+
) => {
|
|
42
55
|
this.emitter.off(type, handler);
|
|
43
56
|
};
|
|
44
57
|
|
|
45
|
-
emit = (type:
|
|
46
|
-
this.emitter.emit(type);
|
|
58
|
+
emit = <T, U extends EventType = EventType>(type: SymbolTokenEventType<T, U>, data?: T) => {
|
|
59
|
+
this.emitter.emit(type, data);
|
|
47
60
|
};
|
|
48
61
|
}
|
|
49
62
|
|
package/src/loader.tsx
CHANGED
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
getJson,
|
|
26
26
|
IWebComponent,
|
|
27
27
|
} from './common';
|
|
28
|
-
import { EventBus, useEventBus } from './event-bus';
|
|
28
|
+
import { EventBus, EVENT_BUS_TOKEN, useEventBus } from './event-bus';
|
|
29
29
|
import { HistoryManager } from './history-manager';
|
|
30
30
|
import { EXPOSED_DEPENDENCIES } from './globals';
|
|
31
31
|
import { getVersionMismatches, isVersionedUrl } from './utils';
|
|
@@ -149,8 +149,18 @@ export const Loader = forwardRef<LoaderRef, LoaderProps>(
|
|
|
149
149
|
({ src, fallbackSrc, data = {}, basename, loadingFallback, errorFallback, className }, ref) => {
|
|
150
150
|
const [isLoading, setIsLoading] = useState(true);
|
|
151
151
|
|
|
152
|
-
const
|
|
153
|
-
|
|
152
|
+
const bus = useEventBus();
|
|
153
|
+
const [
|
|
154
|
+
logService,
|
|
155
|
+
historyManager,
|
|
156
|
+
exposedDependencies = EXPOSED_DEPENDENCIES,
|
|
157
|
+
eventBus = bus,
|
|
158
|
+
] = useOptionalDependencies(
|
|
159
|
+
Log,
|
|
160
|
+
HistoryManager,
|
|
161
|
+
EXPOSED_DEPENDENCIES_TOKEN,
|
|
162
|
+
EVENT_BUS_TOKEN
|
|
163
|
+
);
|
|
154
164
|
|
|
155
165
|
const dataAttrs = useMemo(
|
|
156
166
|
() =>
|
|
@@ -166,7 +176,6 @@ export const Loader = forwardRef<LoaderRef, LoaderProps>(
|
|
|
166
176
|
const Loader = useMemo(() => {
|
|
167
177
|
const Component = forwardRef<LoaderRef>((_0, ref) => {
|
|
168
178
|
const cancelation = useCancelation();
|
|
169
|
-
const eventBus = useEventBus();
|
|
170
179
|
|
|
171
180
|
useImperativeHandle(
|
|
172
181
|
ref,
|
|
@@ -299,6 +308,7 @@ export const Loader = forwardRef<LoaderRef, LoaderProps>(
|
|
|
299
308
|
exposedDependencies,
|
|
300
309
|
basename,
|
|
301
310
|
dataAttrs,
|
|
311
|
+
eventBus,
|
|
302
312
|
]);
|
|
303
313
|
|
|
304
314
|
const LoadingFallback = useMemo(
|
package/src/register.tsx
CHANGED
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
IS_WEB_COMPONENT_TOKEN,
|
|
15
15
|
RENDER_ROOT_TOKEN,
|
|
16
16
|
} from './common';
|
|
17
|
-
import { EventBus } from './event-bus';
|
|
17
|
+
import { EventBus, EVENT_BUS_TOKEN } from './event-bus';
|
|
18
18
|
import { HistoryManager } from './history-manager';
|
|
19
19
|
import { WEB_COMPONENT_NAME } from './globals';
|
|
20
20
|
|
|
@@ -148,7 +148,7 @@ export function register(Component: ComponentType, light: boolean) {
|
|
|
148
148
|
provide: EXPOSED_DEPENDENCIES_TOKEN,
|
|
149
149
|
useValue: this.exposedDependencies,
|
|
150
150
|
},
|
|
151
|
-
{ provide:
|
|
151
|
+
{ provide: EVENT_BUS_TOKEN, useValue: this.eventBus },
|
|
152
152
|
{ provide: BASENAME_TOKEN, useValue: this.basename },
|
|
153
153
|
].filter(({ useValue }) => useValue !== undefined)}
|
|
154
154
|
>
|