react-simple-loadable 2.3.0 → 2.3.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/loadable.d.ts CHANGED
@@ -1,17 +1,21 @@
1
- import { ComponentType } from 'react';
1
+ import { ComponentType, ReactNode } from 'react';
2
2
  export type LoadComponentFn<P = Record<string, any>> = () => Promise<ComponentType<P>>;
3
3
  export type LoadableMixin = {
4
4
  preload(): void;
5
5
  };
6
- export type LoadableComponent<P = Record<string, any>> = ComponentType<P> & LoadableMixin;
6
+ export type LoadableComponent<P = Record<string, any>> = ((props: P) => ReactNode) & LoadableMixin;
7
7
  export interface LoaderComponentProps {
8
8
  error?: any;
9
9
  isLoading?: boolean;
10
10
  }
11
- export type LoaderComponent = ComponentType<LoaderComponentProps>;
11
+ export type LoadingComponent = ComponentType<LoaderComponentProps>;
12
12
  export interface LoadableConfig {
13
13
  throwOnError?: boolean;
14
- loader?: LoaderComponent;
14
+ loading?: LoadingComponent | ComponentType<Record<string, any>>;
15
+ /**
16
+ * @deprecated use {loading}
17
+ */
18
+ loader?: LoadingComponent | ComponentType<Record<string, any>>;
15
19
  /**
16
20
  * Component which renders with the lazy component
17
21
  */
@@ -19,6 +23,6 @@ export interface LoadableConfig {
19
23
  }
20
24
  type LoadableComponent$<P> = LoadableComponent<P>;
21
25
  export declare const loadableDefaultConfig: Partial<LoadableConfig>;
22
- export declare function loadable<P = any>(loadFn: LoadComponentFn<P>, loaderOrConfig?: null | undefined | LoadableConfig['loader'] | LoadableConfig): LoadableComponent$<P>;
26
+ export declare function loadable<P = any>(loadFn: LoadComponentFn<P>, loadingOrConfig?: null | undefined | LoadableConfig['loading'] | LoadableConfig): LoadableComponent$<P>;
23
27
  export {};
24
28
  //# sourceMappingURL=loadable.d.ts.map
package/loadable.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"loadable.d.ts","sourceRoot":"","sources":["../src/loadable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAE,MAAM,OAAO,CAAC;AAEjD,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,OAAO,CAClE,aAAa,CAAC,CAAC,CAAC,CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,GACvE,aAAa,CAAC;AAIhB,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;CAC5B;AAoID,KAAK,kBAAkB,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAElD,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,cAAc,CAEzD,CAAC;AAEF,wBAAgB,QAAQ,CAAC,CAAC,GAAG,GAAG,EAC9B,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,EAC1B,cAAc,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,cAAc,GAC5E,kBAAkB,CAAC,CAAC,CAAC,CAqBvB"}
1
+ {"version":3,"file":"loadable.d.ts","sourceRoot":"","sources":["../src/loadable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5D,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,OAAO,CAClE,aAAa,CAAC,CAAC,CAAC,CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CACxD,KAAK,EAAE,CAAC,KACL,SAAS,CAAC,GACb,aAAa,CAAC;AAIhB,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAEnE,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE;;OAEG;IACH,MAAM,CAAC,EAAE,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/D;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;CAC5B;AAwID,KAAK,kBAAkB,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAElD,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,cAAc,CAEzD,CAAC;AAEF,wBAAgB,QAAQ,CAAC,CAAC,GAAG,GAAG,EAC9B,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,EAC1B,eAAe,CAAC,EACZ,IAAI,GACJ,SAAS,GACT,cAAc,CAAC,SAAS,CAAC,GACzB,cAAc,GACjB,kBAAkB,CAAC,CAAC,CAAC,CAqBvB"}
package/loadable.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Component } from 'react';
3
- const DefaultLoader = () => null;
3
+ const DefaultLoadingComponent = () => null;
4
4
  const loadingStates = new WeakMap();
5
5
  const getLoadingState = (loadFn, modify) => {
6
6
  if (!loadingStates.has(loadFn)) {
@@ -63,8 +63,8 @@ class LoadableComponentBase extends Component {
63
63
  });
64
64
  }
65
65
  render() {
66
- const { loader, throwOnError } = this.config;
67
- const Loader = loader || DefaultLoader;
66
+ const { loading, loader, throwOnError } = this.config;
67
+ const Loader = loading || loader || DefaultLoadingComponent;
68
68
  if (throwOnError && this.state.error) {
69
69
  throw this.state.error;
70
70
  }
@@ -93,10 +93,10 @@ class LoadableComponentBase extends Component {
93
93
  export const loadableDefaultConfig = {
94
94
  throwOnError: false,
95
95
  };
96
- export function loadable(loadFn, loaderOrConfig) {
97
- const config = typeof loaderOrConfig === 'object'
98
- ? { ...loadableDefaultConfig, ...loaderOrConfig }
99
- : { ...loadableDefaultConfig, loader: loaderOrConfig };
96
+ export function loadable(loadFn, loadingOrConfig) {
97
+ const config = typeof loadingOrConfig === 'object'
98
+ ? { ...loadableDefaultConfig, ...loadingOrConfig }
99
+ : { ...loadableDefaultConfig, loading: loadingOrConfig };
100
100
  class LoadableComponent extends LoadableComponentBase {
101
101
  static loadFn = loadFn;
102
102
  constructor(props) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simple-loadable",
3
- "version": "2.3.0",
3
+ "version": "2.3.2",
4
4
  "description": "Really simple React Loadable component",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,7 +17,7 @@
17
17
  "license": "MIT",
18
18
  "type": "module",
19
19
  "peerDependencies": {
20
- "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
20
+ "react": "^18.0.0 || ^19.0.0"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/react": "^18.3.18",