@servicetitan/web-components 24.0.1 → 24.0.2
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/loader.d.ts.map +1 -1
- package/dist/loader.js +5 -5
- package/dist/loader.js.map +1 -1
- package/package.json +7 -7
- package/src/__tests__/loader.test.tsx +25 -1
- package/src/loader.tsx +5 -6
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,EAEH,SAAS,EAOZ,MAAM,OAAO,CAAC;AAKf,OAAO,EAGH,YAAY,EAEf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAgC,MAAM,aAAa,CAAC;AAIrE,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC;AAEjC,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;AAEzD,MAAM,WAAW,WAAW,CAAC,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uHAAuH;IACvH,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC;CACjD;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG;IACxE,eAAe,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,SAAS,EAOZ,MAAM,OAAO,CAAC;AAKf,OAAO,EAGH,YAAY,EAEf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAgC,MAAM,aAAa,CAAC;AAIrE,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC;AAEjC,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;AAEzD,MAAM,WAAW,WAAW,CAAC,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uHAAuH;IACvH,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC;CACjD;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG;IACxE,eAAe,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,MAAM,sGAyDjB,CAAC"}
|
package/dist/loader.js
CHANGED
|
@@ -45,20 +45,20 @@ export const Loader = forwardRef((props, ref) => {
|
|
|
45
45
|
retries,
|
|
46
46
|
src,
|
|
47
47
|
]);
|
|
48
|
-
|
|
48
|
+
useImperativeHandle(ref, () => eventBus, [eventBus]);
|
|
49
|
+
return (_jsx(ErrorBoundary, { moduleName: src, fallback: ErrorFallback, children: _jsx(Suspense, { fallback: _jsx(LoadingFallback, {}), children: _jsx(Loader, { data: (_a = props.data) !== null && _a !== void 0 ? _a : {}, className: props.className, LoadingFallback: LoadingFallback }) }) }));
|
|
49
50
|
});
|
|
50
51
|
function lazyLoader(props) {
|
|
51
|
-
const { cancelation
|
|
52
|
+
const { cancelation } = props;
|
|
52
53
|
const LazyWebComponent = lazyWebComponent(props);
|
|
53
|
-
return
|
|
54
|
-
useImperativeHandle(ref, () => eventBus, []);
|
|
54
|
+
return (props) => {
|
|
55
55
|
useEffect(() => {
|
|
56
56
|
return () => {
|
|
57
57
|
cancelation.abort();
|
|
58
58
|
};
|
|
59
59
|
}, []);
|
|
60
60
|
return (_jsx(LazyWebComponent, { data: props.data, className: props.className, LoadingFallback: props.LoadingFallback }));
|
|
61
|
-
}
|
|
61
|
+
};
|
|
62
62
|
}
|
|
63
63
|
function lazyWebComponent(props) {
|
|
64
64
|
const { basename, cancelation, exposedDependencies, eventBus, fallbackSrc, logService, onRequestError, retries, src, } = props;
|
package/dist/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAGH,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,SAAS,EACT,mBAAmB,EACnB,OAAO,GACV,MAAM,OAAO,CAAC;AACf,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,EACH,0BAA0B,EAG1B,cAAc,GACjB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAY,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAc,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAuBnG,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAA6B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;;IACxE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,MAAM,CAAC,UAAU,EAAE,mBAAmB,GAAG,oBAAoB,EAAE,QAAQ,GAAG,GAAG,CAAC,GAC1E,uBAAuB,CAAC,GAAG,EAAE,0BAA0B,EAAE,eAAe,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,MAAM,eAAe,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,EAAE,YAAY,CAAC,EACtD,CAAC,KAAK,CAAC,eAAe,CAAC,CAC1B,CAAC;IAEF,MAAM,aAAa,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,EAAE,sBAAsB,CAAC,EAC9D,CAAC,KAAK,CAAC,aAAa,CAAC,CACxB,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAClB,GAAG,EAAE,CACD,UAAU,CAAC;QACP,QAAQ;QACR,WAAW;QACX,mBAAmB;QACnB,QAAQ;QACR,WAAW;QACX,UAAU;QACV,cAAc;QACd,OAAO;QACP,GAAG;KACN,CAAC,EACN;QACI,QAAQ;QACR,WAAW;QACX,mBAAmB;QACnB,QAAQ;QACR,UAAU;QACV,cAAc;QACd,WAAW;QACX,OAAO;QACP,GAAG;KACN,CACJ,CAAC;IAEF,OAAO,CACH,KAAC,aAAa,IAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,aAAa,YACnD,KAAC,QAAQ,IAAC,QAAQ,EAAE,KAAC,eAAe,KAAG,YACnC,KAAC,MAAM,IACH,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.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": "24.0.
|
|
3
|
+
"version": "24.0.2",
|
|
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": "24.0.
|
|
18
|
+
"@servicetitan/error-boundary": "24.0.2",
|
|
19
19
|
"lodash.get": "~4.4.2",
|
|
20
20
|
"mitt": "~3.0.1",
|
|
21
21
|
"semver": "~7.6.2"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@servicetitan/design-system": "~14.0.0",
|
|
25
|
-
"@servicetitan/log-service": "24.0.
|
|
26
|
-
"@servicetitan/react-ioc": "24.0.
|
|
25
|
+
"@servicetitan/log-service": "24.0.2",
|
|
26
|
+
"@servicetitan/react-ioc": "24.0.2",
|
|
27
27
|
"@testing-library/dom": "^9.0.0",
|
|
28
28
|
"@testing-library/jest-dom": "^6.4.5",
|
|
29
29
|
"@testing-library/react": "^15.0.7",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"@servicetitan/design-system": ">=12.6.2",
|
|
42
|
-
"@servicetitan/log-service": "24.0.
|
|
43
|
-
"@servicetitan/react-ioc": "24.0.
|
|
42
|
+
"@servicetitan/log-service": "24.0.2",
|
|
43
|
+
"@servicetitan/react-ioc": "24.0.2",
|
|
44
44
|
"history": "~4.10.1",
|
|
45
45
|
"react": ">=17.0.2",
|
|
46
46
|
"react-dom": ">=17.0.2"
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"cli": {
|
|
52
52
|
"webpack": false
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "6638c969e43e87ee7d888512308430f89e0b6a58"
|
|
55
55
|
}
|
|
@@ -2,7 +2,7 @@ import '@testing-library/jest-dom';
|
|
|
2
2
|
import { act, render, screen, waitFor } from '@testing-library/react';
|
|
3
3
|
import { Log } from '@servicetitan/log-service';
|
|
4
4
|
import { Provider, ProviderProps } from '@servicetitan/react-ioc';
|
|
5
|
-
import { FC } from 'react';
|
|
5
|
+
import { FC, RefObject, useEffect, useRef } from 'react';
|
|
6
6
|
|
|
7
7
|
import * as common from '../common';
|
|
8
8
|
import { Entries, EXPOSED_DEPENDENCIES_TOKEN } from '../common';
|
|
@@ -133,6 +133,30 @@ describe('[web-components] Loader', () => {
|
|
|
133
133
|
expect(screen.getByText(/loading/i)).toBeInTheDocument();
|
|
134
134
|
});
|
|
135
135
|
|
|
136
|
+
describe('with ref parameter', () => {
|
|
137
|
+
let loaderRef: RefObject<any> | undefined;
|
|
138
|
+
|
|
139
|
+
const RootWithRef = () => {
|
|
140
|
+
const ref = useRef(null);
|
|
141
|
+
|
|
142
|
+
useEffect(() => {
|
|
143
|
+
loaderRef = ref;
|
|
144
|
+
}, []);
|
|
145
|
+
|
|
146
|
+
return <Loader {...props} ref={ref} />;
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
const subject = () => render(<RootWithRef />);
|
|
150
|
+
|
|
151
|
+
beforeEach(() => (loaderRef = undefined));
|
|
152
|
+
|
|
153
|
+
test('initializes ref object', () => {
|
|
154
|
+
subject();
|
|
155
|
+
|
|
156
|
+
expect(loaderRef?.current).not.toBeNull();
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
|
|
136
160
|
describe('when loadingFallback is provided', () => {
|
|
137
161
|
beforeEach(() => {
|
|
138
162
|
props.loadingFallback = <div>foo</div>;
|
package/src/loader.tsx
CHANGED
|
@@ -88,11 +88,12 @@ export const Loader = forwardRef<LoaderRef, LoaderProps<{}>>((props, ref) => {
|
|
|
88
88
|
]
|
|
89
89
|
);
|
|
90
90
|
|
|
91
|
+
useImperativeHandle(ref, () => eventBus, [eventBus]);
|
|
92
|
+
|
|
91
93
|
return (
|
|
92
94
|
<ErrorBoundary moduleName={src} fallback={ErrorFallback}>
|
|
93
95
|
<Suspense fallback={<LoadingFallback />}>
|
|
94
96
|
<Loader
|
|
95
|
-
ref={ref}
|
|
96
97
|
data={props.data ?? {}}
|
|
97
98
|
className={props.className}
|
|
98
99
|
LoadingFallback={LoadingFallback}
|
|
@@ -110,13 +111,11 @@ type LazyLoaderProps = LoaderProps<any> & {
|
|
|
110
111
|
};
|
|
111
112
|
|
|
112
113
|
function lazyLoader(props: LazyLoaderProps) {
|
|
113
|
-
const { cancelation
|
|
114
|
+
const { cancelation } = props;
|
|
114
115
|
|
|
115
116
|
const LazyWebComponent = lazyWebComponent(props);
|
|
116
117
|
|
|
117
|
-
return
|
|
118
|
-
useImperativeHandle(ref, () => eventBus, []);
|
|
119
|
-
|
|
118
|
+
return (props: LoaderDataProps) => {
|
|
120
119
|
useEffect(() => {
|
|
121
120
|
return () => {
|
|
122
121
|
cancelation.abort();
|
|
@@ -130,7 +129,7 @@ function lazyLoader(props: LazyLoaderProps) {
|
|
|
130
129
|
LoadingFallback={props.LoadingFallback}
|
|
131
130
|
/>
|
|
132
131
|
);
|
|
133
|
-
}
|
|
132
|
+
};
|
|
134
133
|
}
|
|
135
134
|
|
|
136
135
|
function lazyWebComponent(props: LazyLoaderProps) {
|