@e1011/es-kit 1.1.12 → 1.1.14
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/hooks/esm/index.css +28 -28
- package/dist/hooks/index.css +28 -28
- package/dist/lib/cjs/src/core/ui/components/container/lazyComponent/LazyComponent.js +1 -1
- package/dist/lib/cjs/src/core/ui/components/container/lazyComponent/LazyComponent.js.map +1 -1
- package/dist/lib/esm/src/core/ui/components/container/lazyComponent/LazyComponent.js +1 -1
- package/dist/lib/esm/src/core/ui/components/container/lazyComponent/LazyComponent.js.map +1 -1
- package/dist/lib/tsconfig.tsbuildinfo +1 -1
- package/dist/types/src/core/ui/components/container/lazyComponent/LazyComponent.d.ts.map +1 -1
- package/dist/ui/esm/src/core/ui/components/container/lazyComponent/LazyComponent.js +1 -1
- package/dist/ui/esm/src/core/ui/components/container/lazyComponent/LazyComponent.js.map +1 -1
- package/dist/ui/src/core/ui/components/container/lazyComponent/LazyComponent.js +1 -1
- package/dist/ui/src/core/ui/components/container/lazyComponent/LazyComponent.js.map +1 -1
- package/dist/ui/styles/generic.anims.css +169 -0
- package/dist/ui/styles/generic.anims.css.map +1 -0
- package/dist/utils/esm/index.css +28 -28
- package/dist/utils/index.css +28 -28
- package/package.json +1 -1
package/dist/hooks/esm/index.css
CHANGED
|
@@ -1,3 +1,31 @@
|
|
|
1
|
+
.divider-module_divider-line__6CesR {
|
|
2
|
+
position: relative;
|
|
3
|
+
display: block;
|
|
4
|
+
transition: opacity, width, height 250ms ease-in-out;
|
|
5
|
+
background-color: var(--color);
|
|
6
|
+
opacity: var(--opacity);
|
|
7
|
+
}
|
|
8
|
+
.divider-module_divider-line__6CesR.divider-module_vertical__qSVWD {
|
|
9
|
+
height: var(--length);
|
|
10
|
+
left: var(--left);
|
|
11
|
+
width: var(--width);
|
|
12
|
+
margin: var(--margin);
|
|
13
|
+
}
|
|
14
|
+
.divider-module_divider-line__6CesR.divider-module_horizontal__Gz-Oj {
|
|
15
|
+
width: var(--length);
|
|
16
|
+
left: var(--left);
|
|
17
|
+
height: var(--height);
|
|
18
|
+
margin: var(--margin);
|
|
19
|
+
}
|
|
20
|
+
.errorBoundary-module_errorBoundary__gk9ps {
|
|
21
|
+
background: #EFEFEF;
|
|
22
|
+
width: 100%;
|
|
23
|
+
height: 100%;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.errorBoundary-module_StyledIcon__IYHiU {
|
|
27
|
+
margin-right: 10px;
|
|
28
|
+
}
|
|
1
29
|
.icon-module_icon-base-parent__nOMvW {
|
|
2
30
|
line-height: 1px !important;
|
|
3
31
|
}
|
|
@@ -61,34 +89,6 @@
|
|
|
61
89
|
max-width: var(--prop-value);
|
|
62
90
|
opacity: 1;
|
|
63
91
|
}
|
|
64
|
-
.divider-module_divider-line__6CesR {
|
|
65
|
-
position: relative;
|
|
66
|
-
display: block;
|
|
67
|
-
transition: opacity, width, height 250ms ease-in-out;
|
|
68
|
-
background-color: var(--color);
|
|
69
|
-
opacity: var(--opacity);
|
|
70
|
-
}
|
|
71
|
-
.divider-module_divider-line__6CesR.divider-module_vertical__qSVWD {
|
|
72
|
-
height: var(--length);
|
|
73
|
-
left: var(--left);
|
|
74
|
-
width: var(--width);
|
|
75
|
-
margin: var(--margin);
|
|
76
|
-
}
|
|
77
|
-
.divider-module_divider-line__6CesR.divider-module_horizontal__Gz-Oj {
|
|
78
|
-
width: var(--length);
|
|
79
|
-
left: var(--left);
|
|
80
|
-
height: var(--height);
|
|
81
|
-
margin: var(--margin);
|
|
82
|
-
}
|
|
83
|
-
.errorBoundary-module_errorBoundary__gk9ps {
|
|
84
|
-
background: #EFEFEF;
|
|
85
|
-
width: 100%;
|
|
86
|
-
height: 100%;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.errorBoundary-module_StyledIcon__IYHiU {
|
|
90
|
-
margin-right: 10px;
|
|
91
|
-
}
|
|
92
92
|
.field-module_field__UfKm3 {
|
|
93
93
|
opacity: 1;
|
|
94
94
|
pointer-events: auto;
|
package/dist/hooks/index.css
CHANGED
|
@@ -1,3 +1,31 @@
|
|
|
1
|
+
.divider-module_divider-line__6CesR {
|
|
2
|
+
position: relative;
|
|
3
|
+
display: block;
|
|
4
|
+
transition: opacity, width, height 250ms ease-in-out;
|
|
5
|
+
background-color: var(--color);
|
|
6
|
+
opacity: var(--opacity);
|
|
7
|
+
}
|
|
8
|
+
.divider-module_divider-line__6CesR.divider-module_vertical__qSVWD {
|
|
9
|
+
height: var(--length);
|
|
10
|
+
left: var(--left);
|
|
11
|
+
width: var(--width);
|
|
12
|
+
margin: var(--margin);
|
|
13
|
+
}
|
|
14
|
+
.divider-module_divider-line__6CesR.divider-module_horizontal__Gz-Oj {
|
|
15
|
+
width: var(--length);
|
|
16
|
+
left: var(--left);
|
|
17
|
+
height: var(--height);
|
|
18
|
+
margin: var(--margin);
|
|
19
|
+
}
|
|
20
|
+
.errorBoundary-module_errorBoundary__gk9ps {
|
|
21
|
+
background: #EFEFEF;
|
|
22
|
+
width: 100%;
|
|
23
|
+
height: 100%;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.errorBoundary-module_StyledIcon__IYHiU {
|
|
27
|
+
margin-right: 10px;
|
|
28
|
+
}
|
|
1
29
|
.icon-module_icon-base-parent__nOMvW {
|
|
2
30
|
line-height: 1px !important;
|
|
3
31
|
}
|
|
@@ -61,34 +89,6 @@
|
|
|
61
89
|
max-width: var(--prop-value);
|
|
62
90
|
opacity: 1;
|
|
63
91
|
}
|
|
64
|
-
.divider-module_divider-line__6CesR {
|
|
65
|
-
position: relative;
|
|
66
|
-
display: block;
|
|
67
|
-
transition: opacity, width, height 250ms ease-in-out;
|
|
68
|
-
background-color: var(--color);
|
|
69
|
-
opacity: var(--opacity);
|
|
70
|
-
}
|
|
71
|
-
.divider-module_divider-line__6CesR.divider-module_vertical__qSVWD {
|
|
72
|
-
height: var(--length);
|
|
73
|
-
left: var(--left);
|
|
74
|
-
width: var(--width);
|
|
75
|
-
margin: var(--margin);
|
|
76
|
-
}
|
|
77
|
-
.divider-module_divider-line__6CesR.divider-module_horizontal__Gz-Oj {
|
|
78
|
-
width: var(--length);
|
|
79
|
-
left: var(--left);
|
|
80
|
-
height: var(--height);
|
|
81
|
-
margin: var(--margin);
|
|
82
|
-
}
|
|
83
|
-
.errorBoundary-module_errorBoundary__gk9ps {
|
|
84
|
-
background: #EFEFEF;
|
|
85
|
-
width: 100%;
|
|
86
|
-
height: 100%;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.errorBoundary-module_StyledIcon__IYHiU {
|
|
90
|
-
margin-right: 10px;
|
|
91
|
-
}
|
|
92
92
|
.field-module_field__UfKm3 {
|
|
93
93
|
opacity: 1;
|
|
94
94
|
pointer-events: auto;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("../../../../../../_virtual/_rollupPluginBabelHelpers.js"),r=require("react"),t=require("../../error/ErrorBoundary.js"),n=require("./lazyComponent.module.scss.js");const a={},o=e=>{let r,t="pending";const n=("function"==typeof e?e():e).then((e=>{t="success",r=e}),(e=>{t="error",r=e}));return{read(){if("pending"===t)throw n;if("error"===t)throw r;if("success"===t)return r}}},l=
|
|
1
|
+
"use strict";var e=require("../../../../../../_virtual/_rollupPluginBabelHelpers.js"),r=require("react"),t=require("../../error/ErrorBoundary.js"),n=require("./lazyComponent.module.scss.js");const a={},o=e=>{let r,t="pending";const n=("function"==typeof e?e():e).then((e=>{t="success",r=e}),(e=>{t="error",r=e}));return{read(){if("pending"===t)throw n;if("error"===t)throw r;if("success"===t)return r}}},l=React.createElement("div",{className:n.default.loader},React.createElement("svg",{className:"spinner",viewBox:"0 0 50 50"},React.createElement("circle",{className:"path",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"5"}))),c=r.memo((e=>{let{children:n,Component:a,LoaderJSX:o,...c}=e;return React.createElement(t.ErrorBoundary,null,React.createElement(r.Suspense,{fallback:o||l},a&&React.createElement(a,c),n&&n))}));c.displayName="LazyComponent";const s=r.memo((e=>{let{pendingPromise:t,promise:n,fallback:a,children:l}=e;const s=r.useRef(t||n&&o(n)),i=r.useMemo((()=>e=>{let{children:r}=e;const t=s.current?.read?.();return t?.then?null:r}),[]);return React.createElement(c,{LoaderJSX:a},React.createElement(i,null,l))}));s.displayName="PendingBoundary";exports.LazyComponent=c,exports.PendingBoundary=s,exports.createLazyModule=function(t,n){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!a[n]){const l=r.lazy(t);a[n]=r.memo((r=>React.createElement(c,e.extends({Component:l},o,r)))),a[n].displayName=n}return a[n]},exports.createLazyModuleWithStore=(t,n,o)=>l=>{if(!a[n]){const s=r.lazy((()=>t(l)));a[n]=r.memo((r=>React.createElement(c,e.extends({Component:s},o,r)))),a[n].displayName=n}return a[n]},exports.wrapPromise=o;
|
|
2
2
|
//# sourceMappingURL=LazyComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LazyComponent.js","sources":["../../../../../../../../../src/core/ui/components/container/lazyComponent/LazyComponent.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport { FC, memo, Suspense, lazy, ComponentType, PropsWithChildren, useRef, useMemo } from 'react'\n\nimport { ErrorBoundary } from '../../error/ErrorBoundary'\n\nimport classes from './lazyComponent.module.scss'\n\n\n// not always necessary, since createLayzModule is called once per module,\n// but when nesting, inside loaded modules...\nconst map: Record<string, FC<any>> = {}\n\ntype ReactModule = {\n default: ComponentType<any>\n}\n\nexport type LazyComponentProps = PropsWithChildren<any> & {\n PropsWithChildren?: ComponentType<any>\n LoaderJSX?: JSX.Element\n}\n\nexport type wrapPromiseType = (promise: (() => Promise<any>) | Promise<any>) => { read: () => Promise<unknown> }\n\nexport const wrapPromise: wrapPromiseType = (promise: (() => Promise<any>) | Promise<any>) => {\n let status = 'pending'\n let result: any\n const suspend = (typeof promise === 'function' ? promise() : promise).then(\n (res) => {\n status = 'success'\n result = res\n },\n (err) => {\n status = 'error'\n result = err\n },\n )\n\n return {\n // eslint-disable-next-line consistent-return\n read(): any {\n if (status === 'pending') {\n throw suspend\n } else if (status === 'error') {\n throw result\n } else if (status === 'success') {\n return result\n }\n },\n }\n}\n\
|
|
1
|
+
{"version":3,"file":"LazyComponent.js","sources":["../../../../../../../../../src/core/ui/components/container/lazyComponent/LazyComponent.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport { FC, memo, Suspense, lazy, ComponentType, PropsWithChildren, useRef, useMemo } from 'react'\n\nimport { ErrorBoundary } from '../../error/ErrorBoundary'\n\nimport classes from './lazyComponent.module.scss'\n\n\n// not always necessary, since createLayzModule is called once per module,\n// but when nesting, inside loaded modules...\nconst map: Record<string, FC<any>> = {}\n\ntype ReactModule = {\n default: ComponentType<any>\n}\n\nexport type LazyComponentProps = PropsWithChildren<any> & {\n PropsWithChildren?: ComponentType<any>\n LoaderJSX?: JSX.Element\n}\n\nexport type wrapPromiseType = (promise: (() => Promise<any>) | Promise<any>) => { read: () => Promise<unknown> }\n\nexport const wrapPromise: wrapPromiseType = (promise: (() => Promise<any>) | Promise<any>) => {\n let status = 'pending'\n let result: any\n const suspend = (typeof promise === 'function' ? promise() : promise).then(\n (res) => {\n status = 'success'\n result = res\n },\n (err) => {\n status = 'error'\n result = err\n },\n )\n\n return {\n // eslint-disable-next-line consistent-return\n read(): any {\n if (status === 'pending') {\n throw suspend\n } else if (status === 'error') {\n throw result\n } else if (status === 'success') {\n return result\n }\n },\n }\n}\n\nconst DefaultLoader: React.ReactNode = (\n <div className={classes.loader}>\n <svg className='spinner' viewBox='0 0 50 50'>\n <circle className='path' cx='25' cy='25' r='20' fill='none' strokeWidth='5' />\n </svg>\n </div>\n)\n\nexport const LazyComponent: FC<LazyComponentProps>\n= memo<LazyComponentProps>(({ children, Component, LoaderJSX, ...props }: LazyComponentProps) => (\n <ErrorBoundary>\n <Suspense fallback={LoaderJSX || DefaultLoader}>\n {Component && <Component {...props} />}\n {children && children}\n </Suspense>\n </ErrorBoundary>\n))\n\nLazyComponent.displayName = 'LazyComponent'\n\nexport type PendingBoundaryProps = PropsWithChildren & {\n fallback?: JSX.Element\n promise?: Promise<unknown>\n pendingPromise?: { read: () => Promise<unknown> }\n}\n\nexport const PendingBoundary: FC<PendingBoundaryProps>\n= memo<PendingBoundaryProps>(({ pendingPromise, promise, fallback, children }: PendingBoundaryProps) => {\n const wrappedPromiseRef = useRef(pendingPromise || (promise && wrapPromise(promise)))\n\n const InnerComponent: FC<PropsWithChildren<any>> = useMemo(() => ({ children }: PropsWithChildren<any>) => {\n const innerPromise = wrappedPromiseRef.current?.read?.()\n\n return innerPromise?.then ? null : children\n }, [])\n\n return (\n <LazyComponent LoaderJSX={fallback}>\n <InnerComponent>{children}</InnerComponent>\n </LazyComponent>\n )\n})\n\nPendingBoundary.displayName = 'PendingBoundary'\n\n\nexport const createLazyModule = (\n lazyResolver: () => Promise<ReactModule>,\n displayName: string,\n defaultProps: Record<string, unknown> = {},\n): FC<unknown> => {\n if (!map[displayName]) {\n const Component = lazy(lazyResolver)\n\n // eslint-disable-next-line react/display-name\n map[displayName] = memo((props) => (<LazyComponent Component={Component} {...defaultProps} {...props} />))\n map[displayName].displayName = displayName\n }\n\n return map[displayName]\n}\n\n\nexport const createLazyModuleWithStore = <T, ComponentType>(\n lazyResolver: (store: T) => Promise<ReactModule>,\n displayName: string,\n defaultProps: Record<string, unknown>,\n): (store: T) => FC<ComponentType> => (store: T) => {\n if (!map[displayName]) {\n const Component = lazy(() => lazyResolver(store))\n\n // eslint-disable-next-line react/display-name\n map[displayName] = memo((props) => (<LazyComponent Component={Component} {...defaultProps} {...props} />))\n map[displayName].displayName = displayName\n }\n\n return map[displayName]\n }\n"],"names":["map","wrapPromise","promise","result","status","suspend","then","res","err","read","DefaultLoader","React","createElement","className","classes","default","loader","viewBox","cx","cy","r","fill","strokeWidth","LazyComponent","memo","_ref","children","Component","LoaderJSX","props","ErrorBoundary","Suspense","fallback","displayName","PendingBoundary","_ref2","pendingPromise","wrappedPromiseRef","useRef","InnerComponent","useMemo","_ref3","innerPromise","current","lazyResolver","defaultProps","arguments","length","undefined","lazy","_extends","createLazyModuleWithStore","store"],"mappings":"+LAUA,MAAMA,EAA+B,CAAA,EAaxBC,EAAgCC,IAC3C,IACIC,EADAC,EAAS,UAEb,MAAMC,GAA8B,mBAAZH,EAAyBA,IAAYA,GAASI,MACnEC,IACCH,EAAS,UACTD,EAASI,CAAG,IAEbC,IACCJ,EAAS,QACTD,EAASK,CAAG,IAIhB,MAAO,CAELC,IAAAA,GACE,GAAe,YAAXL,EACF,MAAMC,EACD,GAAe,UAAXD,EACT,MAAMD,EACD,GAAe,YAAXC,EACT,OAAOD,CAEX,EACD,EAGGO,EACJC,MAAAC,cAAA,MAAA,CAAKC,UAAWC,EAAOC,QAACC,QACtBL,MAAAC,cAAA,MAAA,CAAKC,UAAU,UAAUI,QAAQ,aAC/BN,MAAAC,cAAA,SAAA,CAAQC,UAAU,OAAOK,GAAG,KAAKC,GAAG,KAAKC,EAAE,KAAKC,KAAK,OAAOC,YAAY,QAKjEC,EACXC,EAAIA,MAAqBC,IAAA,IAACC,SAAEA,EAAQC,UAAEA,EAASC,UAAEA,KAAcC,GAA2BJ,EAAA,OAC1Fd,MAAAC,cAACkB,EAAaA,mBACZnB,MAAAC,cAACmB,WAAQ,CAACC,SAAUJ,GAAalB,GAC9BiB,GAAahB,MAAAC,cAACe,EAAcE,GAC5BH,GAAYA,GAED,IAGlBH,EAAcU,YAAc,sBAQfC,EACXV,EAAIA,MAAuBW,IAA2E,IAA1EC,eAAEA,EAAclC,QAAEA,EAAO8B,SAAEA,EAAQN,SAAEA,GAAgCS,EACjG,MAAME,EAAoBC,EAAAA,OAAOF,GAAmBlC,GAAWD,EAAYC,IAErEqC,EAA6CC,WAAQ,IAAMC,IAA0C,IAAzCf,SAAEA,GAAkCe,EACpG,MAAMC,EAAeL,EAAkBM,SAASlC,SAEhD,OAAOiC,GAAcpC,KAAO,KAAOoB,CAAQ,GAC1C,IAEH,OACEf,MAAAC,cAACW,EAAa,CAACK,UAAWI,GACxBrB,MAAAC,cAAC2B,EAAgBb,KAAAA,GACH,IAIpBQ,EAAgBD,YAAc,6FAGE,SAC9BW,EACAX,GAEgB,IADhBY,EAAqCC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAA,EAExC,IAAK9C,EAAIiC,GAAc,CACrB,MAAMN,EAAYsB,OAAKL,GAGvB5C,EAAIiC,GAAeT,QAAMK,GAAWlB,MAAAC,cAACW,EAAa2B,UAAA,CAACvB,UAAWA,GAAekB,EAAkBhB,MAC/F7B,EAAIiC,GAAaA,YAAcA,CACjC,CAEA,OAAOjC,EAAIiC,EACb,oCAGyCkB,CACvCP,EACAX,EACAY,IACqCO,IACnC,IAAKpD,EAAIiC,GAAc,CACrB,MAAMN,EAAYsB,EAAIA,MAAC,IAAML,EAAaQ,KAG1CpD,EAAIiC,GAAeT,QAAMK,GAAWlB,MAAAC,cAACW,EAAa2B,UAAA,CAACvB,UAAWA,GAAekB,EAAkBhB,MAC/F7B,EAAIiC,GAAaA,YAAcA,CACjC,CAEA,OAAOjC,EAAIiC,EAAY"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{extends as e}from"../../../../../../_virtual/_rollupPluginBabelHelpers.js";import{memo as t,
|
|
1
|
+
import{extends as e}from"../../../../../../_virtual/_rollupPluginBabelHelpers.js";import{memo as t,Suspense as r,useRef as n,useMemo as a,lazy as c}from"react";import{ErrorBoundary as o}from"../../error/ErrorBoundary.js";import l from"./lazyComponent.module.scss.js";const s={},i=e=>{let t,r="pending";const n=("function"==typeof e?e():e).then((e=>{r="success",t=e}),(e=>{r="error",t=e}));return{read(){if("pending"===r)throw n;if("error"===r)throw t;if("success"===r)return t}}},m=React.createElement("div",{className:l.loader},React.createElement("svg",{className:"spinner",viewBox:"0 0 50 50"},React.createElement("circle",{className:"path",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"5"}))),d=t((e=>{let{children:t,Component:n,LoaderJSX:a,...c}=e;return React.createElement(o,null,React.createElement(r,{fallback:a||m},n&&React.createElement(n,c),t&&t))}));d.displayName="LazyComponent";const p=t((e=>{let{pendingPromise:t,promise:r,fallback:c,children:o}=e;const l=n(t||r&&i(r)),s=a((()=>e=>{let{children:t}=e;const r=l.current?.read?.();return r?.then?null:t}),[]);return React.createElement(d,{LoaderJSX:c},React.createElement(s,null,o))}));p.displayName="PendingBoundary";const u=function(r,n){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!s[n]){const o=c(r);s[n]=t((t=>React.createElement(d,e({Component:o},a,t)))),s[n].displayName=n}return s[n]},f=(r,n,a)=>o=>{if(!s[n]){const l=c((()=>r(o)));s[n]=t((t=>React.createElement(d,e({Component:l},a,t)))),s[n].displayName=n}return s[n]};export{d as LazyComponent,p as PendingBoundary,u as createLazyModule,f as createLazyModuleWithStore,i as wrapPromise};
|
|
2
2
|
//# sourceMappingURL=LazyComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LazyComponent.js","sources":["../../../../../../../../../src/core/ui/components/container/lazyComponent/LazyComponent.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport { FC, memo, Suspense, lazy, ComponentType, PropsWithChildren, useRef, useMemo } from 'react'\n\nimport { ErrorBoundary } from '../../error/ErrorBoundary'\n\nimport classes from './lazyComponent.module.scss'\n\n\n// not always necessary, since createLayzModule is called once per module,\n// but when nesting, inside loaded modules...\nconst map: Record<string, FC<any>> = {}\n\ntype ReactModule = {\n default: ComponentType<any>\n}\n\nexport type LazyComponentProps = PropsWithChildren<any> & {\n PropsWithChildren?: ComponentType<any>\n LoaderJSX?: JSX.Element\n}\n\nexport type wrapPromiseType = (promise: (() => Promise<any>) | Promise<any>) => { read: () => Promise<unknown> }\n\nexport const wrapPromise: wrapPromiseType = (promise: (() => Promise<any>) | Promise<any>) => {\n let status = 'pending'\n let result: any\n const suspend = (typeof promise === 'function' ? promise() : promise).then(\n (res) => {\n status = 'success'\n result = res\n },\n (err) => {\n status = 'error'\n result = err\n },\n )\n\n return {\n // eslint-disable-next-line consistent-return\n read(): any {\n if (status === 'pending') {\n throw suspend\n } else if (status === 'error') {\n throw result\n } else if (status === 'success') {\n return result\n }\n },\n }\n}\n\
|
|
1
|
+
{"version":3,"file":"LazyComponent.js","sources":["../../../../../../../../../src/core/ui/components/container/lazyComponent/LazyComponent.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport { FC, memo, Suspense, lazy, ComponentType, PropsWithChildren, useRef, useMemo } from 'react'\n\nimport { ErrorBoundary } from '../../error/ErrorBoundary'\n\nimport classes from './lazyComponent.module.scss'\n\n\n// not always necessary, since createLayzModule is called once per module,\n// but when nesting, inside loaded modules...\nconst map: Record<string, FC<any>> = {}\n\ntype ReactModule = {\n default: ComponentType<any>\n}\n\nexport type LazyComponentProps = PropsWithChildren<any> & {\n PropsWithChildren?: ComponentType<any>\n LoaderJSX?: JSX.Element\n}\n\nexport type wrapPromiseType = (promise: (() => Promise<any>) | Promise<any>) => { read: () => Promise<unknown> }\n\nexport const wrapPromise: wrapPromiseType = (promise: (() => Promise<any>) | Promise<any>) => {\n let status = 'pending'\n let result: any\n const suspend = (typeof promise === 'function' ? promise() : promise).then(\n (res) => {\n status = 'success'\n result = res\n },\n (err) => {\n status = 'error'\n result = err\n },\n )\n\n return {\n // eslint-disable-next-line consistent-return\n read(): any {\n if (status === 'pending') {\n throw suspend\n } else if (status === 'error') {\n throw result\n } else if (status === 'success') {\n return result\n }\n },\n }\n}\n\nconst DefaultLoader: React.ReactNode = (\n <div className={classes.loader}>\n <svg className='spinner' viewBox='0 0 50 50'>\n <circle className='path' cx='25' cy='25' r='20' fill='none' strokeWidth='5' />\n </svg>\n </div>\n)\n\nexport const LazyComponent: FC<LazyComponentProps>\n= memo<LazyComponentProps>(({ children, Component, LoaderJSX, ...props }: LazyComponentProps) => (\n <ErrorBoundary>\n <Suspense fallback={LoaderJSX || DefaultLoader}>\n {Component && <Component {...props} />}\n {children && children}\n </Suspense>\n </ErrorBoundary>\n))\n\nLazyComponent.displayName = 'LazyComponent'\n\nexport type PendingBoundaryProps = PropsWithChildren & {\n fallback?: JSX.Element\n promise?: Promise<unknown>\n pendingPromise?: { read: () => Promise<unknown> }\n}\n\nexport const PendingBoundary: FC<PendingBoundaryProps>\n= memo<PendingBoundaryProps>(({ pendingPromise, promise, fallback, children }: PendingBoundaryProps) => {\n const wrappedPromiseRef = useRef(pendingPromise || (promise && wrapPromise(promise)))\n\n const InnerComponent: FC<PropsWithChildren<any>> = useMemo(() => ({ children }: PropsWithChildren<any>) => {\n const innerPromise = wrappedPromiseRef.current?.read?.()\n\n return innerPromise?.then ? null : children\n }, [])\n\n return (\n <LazyComponent LoaderJSX={fallback}>\n <InnerComponent>{children}</InnerComponent>\n </LazyComponent>\n )\n})\n\nPendingBoundary.displayName = 'PendingBoundary'\n\n\nexport const createLazyModule = (\n lazyResolver: () => Promise<ReactModule>,\n displayName: string,\n defaultProps: Record<string, unknown> = {},\n): FC<unknown> => {\n if (!map[displayName]) {\n const Component = lazy(lazyResolver)\n\n // eslint-disable-next-line react/display-name\n map[displayName] = memo((props) => (<LazyComponent Component={Component} {...defaultProps} {...props} />))\n map[displayName].displayName = displayName\n }\n\n return map[displayName]\n}\n\n\nexport const createLazyModuleWithStore = <T, ComponentType>(\n lazyResolver: (store: T) => Promise<ReactModule>,\n displayName: string,\n defaultProps: Record<string, unknown>,\n): (store: T) => FC<ComponentType> => (store: T) => {\n if (!map[displayName]) {\n const Component = lazy(() => lazyResolver(store))\n\n // eslint-disable-next-line react/display-name\n map[displayName] = memo((props) => (<LazyComponent Component={Component} {...defaultProps} {...props} />))\n map[displayName].displayName = displayName\n }\n\n return map[displayName]\n }\n"],"names":["map","wrapPromise","promise","result","status","suspend","then","res","err","read","DefaultLoader","React","createElement","className","classes","loader","viewBox","cx","cy","r","fill","strokeWidth","LazyComponent","memo","_ref","children","Component","LoaderJSX","props","ErrorBoundary","Suspense","fallback","displayName","PendingBoundary","_ref2","pendingPromise","wrappedPromiseRef","useRef","InnerComponent","useMemo","_ref3","innerPromise","current","createLazyModule","lazyResolver","defaultProps","arguments","length","undefined","lazy","_extends","createLazyModuleWithStore","store"],"mappings":"2QAUA,MAAMA,EAA+B,CAAA,EAaxBC,EAAgCC,IAC3C,IACIC,EADAC,EAAS,UAEb,MAAMC,GAA8B,mBAAZH,EAAyBA,IAAYA,GAASI,MACnEC,IACCH,EAAS,UACTD,EAASI,CAAG,IAEbC,IACCJ,EAAS,QACTD,EAASK,CAAG,IAIhB,MAAO,CAELC,IAAAA,GACE,GAAe,YAAXL,EACF,MAAMC,EACD,GAAe,UAAXD,EACT,MAAMD,EACD,GAAe,YAAXC,EACT,OAAOD,CAEX,EACD,EAGGO,EACJC,MAAAC,cAAA,MAAA,CAAKC,UAAWC,EAAQC,QACtBJ,MAAAC,cAAA,MAAA,CAAKC,UAAU,UAAUG,QAAQ,aAC/BL,MAAAC,cAAA,SAAA,CAAQC,UAAU,OAAOI,GAAG,KAAKC,GAAG,KAAKC,EAAE,KAAKC,KAAK,OAAOC,YAAY,QAKjEC,EACXC,GAAyBC,IAAA,IAACC,SAAEA,EAAQC,UAAEA,EAASC,UAAEA,KAAcC,GAA2BJ,EAAA,OAC1Fb,MAAAC,cAACiB,OACClB,MAAAC,cAACkB,EAAQ,CAACC,SAAUJ,GAAajB,GAC9BgB,GAAaf,MAAAC,cAACc,EAAcE,GAC5BH,GAAYA,GAED,IAGlBH,EAAcU,YAAc,sBAQfC,EACXV,GAA2BW,IAA2E,IAA1EC,eAAEA,EAAcjC,QAAEA,EAAO6B,SAAEA,EAAQN,SAAEA,GAAgCS,EACjG,MAAME,EAAoBC,EAAOF,GAAmBjC,GAAWD,EAAYC,IAErEoC,EAA6CC,GAAQ,IAAMC,IAA0C,IAAzCf,SAAEA,GAAkCe,EACpG,MAAMC,EAAeL,EAAkBM,SAASjC,SAEhD,OAAOgC,GAAcnC,KAAO,KAAOmB,CAAQ,GAC1C,IAEH,OACEd,MAAAC,cAACU,EAAa,CAACK,UAAWI,GACxBpB,MAAAC,cAAC0B,EAAgBb,KAAAA,GACH,IAIpBQ,EAAgBD,YAAc,kBAGvB,MAAMW,EAAmB,SAC9BC,EACAZ,GAEgB,IADhBa,EAAqCC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAA,EAExC,IAAK9C,EAAIgC,GAAc,CACrB,MAAMN,EAAYuB,EAAKL,GAGvB5C,EAAIgC,GAAeT,GAAMK,GAAWjB,MAAAC,cAACU,EAAa4B,EAAA,CAACxB,UAAWA,GAAemB,EAAkBjB,MAC/F5B,EAAIgC,GAAaA,YAAcA,CACjC,CAEA,OAAOhC,EAAIgC,EACb,EAGamB,EAA4BA,CACvCP,EACAZ,EACAa,IACqCO,IACnC,IAAKpD,EAAIgC,GAAc,CACrB,MAAMN,EAAYuB,GAAK,IAAML,EAAaQ,KAG1CpD,EAAIgC,GAAeT,GAAMK,GAAWjB,MAAAC,cAACU,EAAa4B,EAAA,CAACxB,UAAWA,GAAemB,EAAkBjB,MAC/F5B,EAAIgC,GAAaA,YAAcA,CACjC,CAEA,OAAOhC,EAAIgC,EAAY"}
|