@common-stack/client-react 8.0.1-alpha.2 → 8.0.2-alpha.1

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.
Files changed (46) hide show
  1. package/lib/connector/base-connector.d.ts +2 -2
  2. package/lib/connector/base-connector.js +1 -1
  3. package/lib/connector/base-connector.js.map +1 -1
  4. package/lib/connector/connector.d.ts +4 -5
  5. package/lib/connector/connector.js +3 -3
  6. package/lib/connector/connector.js.map +1 -1
  7. package/lib/connector/connector.native.d.ts +2 -2
  8. package/lib/index.js +1 -1
  9. package/lib/index.native.js +1 -1
  10. package/lib/interfaces/extended-feature.d.ts +26 -25
  11. package/lib/interfaces/feature.d.ts +2 -3
  12. package/lib/interfaces/index.d.ts +1 -2
  13. package/lib/interfaces/menu.d.ts +3 -111
  14. package/lib/interfaces/route.d.ts +18 -0
  15. package/lib/plugin-area/base-plugin-area.d.ts +6 -2
  16. package/lib/plugin-area/base-plugin-area.js +7 -4
  17. package/lib/plugin-area/base-plugin-area.js.map +1 -1
  18. package/lib/plugin-area/plugin-api.js +6 -2
  19. package/lib/plugin-area/plugin-api.js.map +1 -1
  20. package/lib/route/get-routes.d.ts +3 -3
  21. package/lib/route/get-routes.js +1 -1
  22. package/lib/route/get-routes.js.map +1 -1
  23. package/lib/route/index.d.ts +0 -1
  24. package/lib/route/react-navigation/get-navigation-utils.d.ts +3 -11
  25. package/lib/route/react-navigation/get-navigation-utils.js +13 -13
  26. package/lib/route/react-navigation/get-navigation-utils.js.map +1 -1
  27. package/lib/route/react-navigation/index.d.ts +2 -1
  28. package/lib/route/react-navigation/interfaces/route.d.ts +16 -0
  29. package/lib/route-based-plugin-area/plugin-api.js +6 -2
  30. package/lib/route-based-plugin-area/plugin-api.js.map +1 -1
  31. package/lib/utils/filteredRoutes.d.ts +4 -3
  32. package/lib/utils/filteredRoutes.js.map +1 -1
  33. package/lib/utils/matchRoute.d.ts +2 -1
  34. package/lib/utils/sort-keys.d.ts +3 -2
  35. package/lib/utils/sort-keys.js +38 -37
  36. package/lib/utils/sort-keys.js.map +1 -1
  37. package/package.json +5 -4
  38. package/lib/interfaces/menu.js +0 -13
  39. package/lib/interfaces/menu.js.map +0 -1
  40. package/lib/interfaces/new-router.d.ts +0 -55
  41. package/lib/interfaces/router.d.ts +0 -41
  42. package/lib/route/__tests__/admin-new-routes.test.d.ts +0 -1
  43. package/lib/route/render-routes.d.ts +0 -3
  44. package/lib/route/render-routes.js +0 -96
  45. package/lib/route/render-routes.js.map +0 -1
  46. /package/lib/{route/__tests__/route-type.test.d.ts → utils/__tests__/filteredRoutes.test.d.ts} +0 -0
@@ -1,11 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { AbstractFeature } from '@common-stack/client-core';
3
- import { FeatureParam, IReactFeature } from '../interfaces';
3
+ import { FeatureParam, IReactFeature, IComputedRoutesArray } from '../interfaces';
4
4
  export declare abstract class BaseFeature extends AbstractFeature implements IReactFeature {
5
5
  componentFillPlugins: any;
6
6
  hydrate: FeatureParam['hydrate'];
7
7
  beforeSSR: FeatureParam['beforeSSR'];
8
- routeConfig: any;
8
+ routeConfig: IComputedRoutesArray;
9
9
  reduxConfig: any;
10
10
  menuConfig: any;
11
11
  authWrapper: (ele: React.ReactElement, props: Record<string, any>) => void;
@@ -1,4 +1,4 @@
1
- import*as React from'react';import {AbstractFeature}from'@common-stack/client-core';import {merge,sortBy,find}from'lodash-es';import'@wordpress/hooks';import'../plugin-area/plugin-context.js';import {getPlugin,registerPlugin,getPlugins}from'../plugin-area/plugin-api.js';import'sort-keys';import {combine}from'../utils/combine.js';import {hydrate}from'../utils/hydrate.js';import {beforeSSR}from'../utils/before-ssr.js';const getFirst = (features, extractor) => extractor(find(features, (res) => extractor(res)) || {});
1
+ import*as React from'react';import {AbstractFeature}from'@common-stack/client-core';import {merge,sortBy,find}from'lodash-es';import'@wordpress/hooks';import'@common-stack/components-pro';import'../plugin-area/plugin-context.js';import {getPlugin,registerPlugin,getPlugins}from'../plugin-area/plugin-api.js';import'sort-keys';import {combine}from'../utils/combine.js';import {hydrate}from'../utils/hydrate.js';import {beforeSSR}from'../utils/before-ssr.js';const getFirst = (features, extractor) => extractor(find(features, (res) => extractor(res)) || {});
2
2
  class BaseFeature extends AbstractFeature {
3
3
  // private logger;
4
4
  componentFillPlugins;
@@ -1 +1 @@
1
- {"version":3,"file":"base-connector.js","sources":["../../src/connector/base-connector.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-connector.js","sources":["../../src/connector/base-connector.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import { IReactFeature } from '../interfaces';
2
2
  import { BaseFeature } from './base-connector';
3
- import { renderRoutes2 } from '../route/render-routes';
4
3
  export declare class Feature extends BaseFeature implements IReactFeature {
5
- protected renderRoutes: typeof renderRoutes2;
6
- protected renderRoutes2: typeof renderRoutes2;
7
- protected getSortedRoutes: (path: string, routeData: import("../interfaces").IRouteData, authWrapper?: (ele: React.ReactElement, props: Record<string, any>) => void) => any;
8
- protected getSortedRoutes2: (path: string, routeData: import("../interfaces").IRouteData, authWrapper?: (ele: React.ReactElement, props: Record<string, any>) => void) => any;
4
+ protected renderRoutes: any;
5
+ protected renderRoutes2: any;
6
+ protected getSortedRoutes: (path: string, routeData: import("packages/common-core/lib/component/interfaces/routeJson").IComputedRoutesArray, authWrapper?: (ele: React.ReactElement, props: Record<string, any>) => void) => any;
7
+ protected getSortedRoutes2: (path: string, routeData: import("packages/common-core/lib/component/interfaces/routeJson").IComputedRoutesArray, authWrapper?: (ele: React.ReactElement, props: Record<string, any>) => void) => any;
9
8
  }
@@ -1,6 +1,6 @@
1
- import {BaseFeature}from'./base-connector.js';import {renderRoutes2 as renderRoutes}from'../route/render-routes.js';import {getSortedRoutes}from'../route/get-routes.js';class Feature extends BaseFeature {
2
- renderRoutes = renderRoutes;
3
- renderRoutes2 = renderRoutes;
1
+ import {BaseFeature}from'./base-connector.js';import {getSortedRoutes}from'../route/get-routes.js';class Feature extends BaseFeature {
2
+ renderRoutes = null;
3
+ renderRoutes2 = null;
4
4
  getSortedRoutes = getSortedRoutes;
5
5
  getSortedRoutes2 = getSortedRoutes;
6
6
  }export{Feature};//# sourceMappingURL=connector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connector.js","sources":["../../src/connector/connector.tsx"],"sourcesContent":[null],"names":["renderRoutes2"],"mappings":"yKAMM,MAAO,OAAQ,SAAQ,WAAW,CAAA;IAC1B,YAAY,GAAGA,YAAa,CAAC;IAC7B,aAAa,GAAGA,YAAa,CAAC;IAC9B,eAAe,GAAG,eAAe,CAAC;IAClC,gBAAgB,GAAG,eAAe,CAAC;AAChD"}
1
+ {"version":3,"file":"connector.js","sources":["../../src/connector/connector.tsx"],"sourcesContent":[null],"names":[],"mappings":"mGAIM,MAAO,OAAQ,SAAQ,WAAW,CAAA;IAC1B,YAAY,GAAG,IAAI,CAAC;IACpB,aAAa,GAAG,IAAI,CAAC;IACrB,eAAe,GAAG,eAAe,CAAC;IAClC,gBAAgB,GAAG,eAAe,CAAC;AAChD"}
@@ -9,9 +9,9 @@ export declare class Feature extends BaseFeature implements IReactFeature {
9
9
  * @returns
10
10
  */
11
11
  protected renderRoutes2: (arg1: any, arg2: any) => import("react").JSX.Element;
12
- protected getSortedRoutes: (path: string, routeData: import("../interfaces").IRouteData, authWrapper?: ((component: React.FC) => import("react").ReactElement)) => any;
12
+ protected getSortedRoutes: (path: string, routeData: import("..").IComputedMobileRoutesArray, authWrapper?: (component: React.FC) => import("react").ReactElement) => any;
13
13
  /**
14
14
  * @deprecated use getSortedRoutes
15
15
  */
16
- protected getSortedRoutes2: (path: string, routeData: import("../interfaces").IRouteData, authWrapper?: ((component: React.FC) => import("react").ReactElement)) => any;
16
+ protected getSortedRoutes2: (path: string, routeData: import("..").IComputedMobileRoutesArray, authWrapper?: (component: React.FC) => import("react").ReactElement) => any;
17
17
  }
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- export{ClientTypes}from'@common-stack/client-core';export{Feature}from'./connector/connector.js';export{FeatureWithRouterFactory}from'./router-factory/index.js';export{renderRoutes2}from'./route/render-routes.js';import'react';export{getNavigation,getSortedNavigations}from'./route/react-navigation/get-navigation-utils.js';export{navigate,navigationRef}from'./route/root-navigation.js';export{sortByPaths,sortKeys}from'./utils/sort-keys.js';export{formatSlash}from'./utils/utils.js';export{combine}from'./utils/combine.js';export{hydrate}from'./utils/hydrate.js';export{beforeSSR}from'./utils/before-ssr.js';export{getFilteredMenus,getFilteredRoutes,getFilteredTabs}from'./utils/filteredRoutes.js';export{IMenuPosition}from'./interfaces/menu.js';export{PluginArea}from'./plugin-area/index.js';export{RouteBasedPluginArea}from'./route-based-plugin-area/route-based-plugin-area.js';export{getRouteBasePlugin,getRouteBasePlugins,registerRouteBasePlugin,unregisterRouteBasePlugin}from'./route-based-plugin-area/plugin-api.js';export{InversifyContext,InversifyProvider,useInjection}from'./inversify/InversifyContext.js';export{getPlugin,getPlugins,registerPlugin,unregisterPlugin}from'./plugin-area/plugin-api.js';//# sourceMappingURL=index.js.map
1
+ export{ClientTypes}from'@common-stack/client-core';export{Feature}from'./connector/connector.js';export{FeatureWithRouterFactory}from'./router-factory/index.js';export{default as resolveRootRoute}from'./route/react-navigation/react-navigation-render.js';export{getNavigation,getSortedNavigations}from'./route/react-navigation/get-navigation-utils.js';export{navigate,navigationRef}from'./route/root-navigation.js';export{sortByPaths,sortKeys}from'./utils/sort-keys.js';export{formatSlash}from'./utils/utils.js';export{combine}from'./utils/combine.js';export{hydrate}from'./utils/hydrate.js';export{beforeSSR}from'./utils/before-ssr.js';export{getFilteredMenus,getFilteredRoutes,getFilteredTabs}from'./utils/filteredRoutes.js';export{IMenuPosition}from'@common-stack/core/lib/component/interfaces/menu.js';export{PluginArea}from'./plugin-area/index.js';export{RouteBasedPluginArea}from'./route-based-plugin-area/route-based-plugin-area.js';export{getRouteBasePlugin,getRouteBasePlugins,registerRouteBasePlugin,unregisterRouteBasePlugin}from'./route-based-plugin-area/plugin-api.js';export{InversifyContext,InversifyProvider,useInjection}from'./inversify/InversifyContext.js';export{getPlugin,getPlugins,registerPlugin,unregisterPlugin}from'./plugin-area/plugin-api.js';//# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- export{ClientTypes}from'@common-stack/client-core';export{Feature}from'./connector/connector.native.js';export{FeatureWithRouterFactory}from'./router-factory/index.native.js';export{navigate,navigationRef}from'./route/react-navigation/root-navigation.js';export{sortByPaths,sortKeys}from'./utils/sort-keys.js';export{formatSlash}from'./utils/utils.js';export{combine}from'./utils/combine.js';export{hydrate}from'./utils/hydrate.js';export{beforeSSR}from'./utils/before-ssr.js';export{getFilteredMenus,getFilteredRoutes,getFilteredTabs}from'./utils/filteredRoutes.js';export{IMenuPosition}from'./interfaces/menu.js';export{PluginArea}from'./plugin-area/index.native.js';export{RouteBasedPluginArea}from'./route-based-plugin-area/route-based-plugin-area.js';export{getRouteBasePlugin,getRouteBasePlugins,registerRouteBasePlugin,unregisterRouteBasePlugin}from'./route-based-plugin-area/plugin-api.js';export{InversifyContext,InversifyProvider,useInjection}from'./inversify/InversifyContext.js';export{getPlugin,getPlugins,registerPlugin,unregisterPlugin}from'./plugin-area/plugin-api.js';//# sourceMappingURL=index.native.js.map
1
+ export{ClientTypes}from'@common-stack/client-core';export{Feature}from'./connector/connector.native.js';export{FeatureWithRouterFactory}from'./router-factory/index.native.js';export{navigate,navigationRef}from'./route/react-navigation/root-navigation.js';export{sortByPaths,sortKeys}from'./utils/sort-keys.js';export{formatSlash}from'./utils/utils.js';export{combine}from'./utils/combine.js';export{hydrate}from'./utils/hydrate.js';export{beforeSSR}from'./utils/before-ssr.js';export{getFilteredMenus,getFilteredRoutes,getFilteredTabs}from'./utils/filteredRoutes.js';export{IMenuPosition}from'@common-stack/core/lib/component/interfaces/menu.js';export{PluginArea}from'./plugin-area/index.native.js';export{RouteBasedPluginArea}from'./route-based-plugin-area/route-based-plugin-area.js';export{getRouteBasePlugin,getRouteBasePlugins,registerRouteBasePlugin,unregisterRouteBasePlugin}from'./route-based-plugin-area/plugin-api.js';export{InversifyContext,InversifyProvider,useInjection}from'./inversify/InversifyContext.js';export{getPlugin,getPlugins,registerPlugin,unregisterPlugin}from'./plugin-area/plugin-api.js';//# sourceMappingURL=index.native.js.map
@@ -1,37 +1,17 @@
1
1
  import * as React from 'react';
2
2
  import { IFeature } from '@common-stack/client-core';
3
- import { IMappedData, IRouteData } from './router';
4
- import { IMenuData } from './menu';
5
3
  import { ComponentElement } from 'react';
4
+ import { IMenuData } from './menu';
5
+ import { IComputedRoutesArray } from './route';
6
6
  export interface IPlugin {
7
7
  name: string;
8
8
  icon?: string | ComponentElement<any, any> | Function;
9
- render: React.FC<any>;
9
+ render?: React.FC<any>;
10
+ renderImporter?: string | Function | any;
10
11
  }
11
12
  export interface IReduxConfig {
12
13
  ignoredActions?: string[];
13
14
  }
14
- export type IReactFeature = IFeature & IReactModuleShape & {
15
- readonly getRouter: any;
16
- /**
17
- * @returns client-side React route components list
18
- */
19
- readonly getRoutes: any;
20
- readonly getConfiguredRoutes: any;
21
- readonly getMenus: any;
22
- readonly getConfiguredMenus: any;
23
- readonly routeConfig: IRouteData;
24
- readonly menuConfig: IMappedData;
25
- componentFillPlugins: IPlugin[];
26
- /**
27
- * React component of all fill of each plugin.
28
- */
29
- getComponentFillPlugins(): IPlugin[];
30
- /**
31
- * Authentication Wrapper for secured routes
32
- */
33
- readonly authWrapper?: (ele: React.ReactElement, props: Record<string, any>) => void;
34
- };
35
15
  export type IReactModuleShape = {
36
16
  /**
37
17
  * @param route Route list
@@ -40,7 +20,7 @@ export type IReactModuleShape = {
40
20
  /**
41
21
  * @param routeConfig Custom route data to create React Routers
42
22
  */
43
- readonly routeConfig?: IRouteData | IRouteData[];
23
+ readonly routeConfig?: IComputedRoutesArray;
44
24
  /**
45
25
  * @param reduxConfig Custom route data to create React Routers
46
26
  */
@@ -50,6 +30,27 @@ export type IReactModuleShape = {
50
30
  */
51
31
  readonly menuConfig?: IMenuData | IMenuData[];
52
32
  readonly componentFillPlugins?: IPlugin[];
33
+ /**
34
+ * Authentication Wrapper for secured routes
35
+ */
36
+ readonly authWrapper?: (ele: React.ReactElement, props: Record<string, never>) => void;
37
+ };
38
+ export type IReactFeature = IFeature & IReactModuleShape & {
39
+ readonly getRouter: any;
40
+ /**
41
+ * @returns client-side React route components list
42
+ */
43
+ readonly getRoutes: any;
44
+ readonly getConfiguredRoutes: any;
45
+ readonly getMenus: any;
46
+ readonly getConfiguredMenus: any;
47
+ readonly routeConfig: IComputedRoutesArray;
48
+ readonly menuConfig: IMenuData;
49
+ componentFillPlugins: IPlugin[];
50
+ /**
51
+ * React component of all fill of each plugin.
52
+ */
53
+ getComponentFillPlugins(): IPlugin[];
53
54
  /**
54
55
  * Authentication Wrapper for secured routes
55
56
  */
@@ -1,12 +1,11 @@
1
1
  import { IModuleShape } from '@common-stack/client-core';
2
2
  import { Container } from 'inversify';
3
- import { IReactModuleShape } from './extended-feature';
4
- import { Feature } from '../connector';
3
+ import { IReactModuleShape, IReactFeature } from './extended-feature';
5
4
  type SSRFeatureOptions = {
6
5
  readonly hydrate?: (container: Container, state: never) => void;
7
6
  readonly beforeSSR?: (options: {
8
7
  request: any;
9
- module: Feature;
8
+ module: IReactFeature;
10
9
  }) => Promise<void>;
11
10
  };
12
11
  export type FeatureParam = IModuleShape & IReactModuleShape & SSRFeatureOptions;
@@ -1,5 +1,4 @@
1
- export * from './router';
2
1
  export * from './extended-feature';
3
2
  export * from './menu';
4
- export * from './new-router';
3
+ export * from './route';
5
4
  export * from './feature';
@@ -1,113 +1,5 @@
1
- import * as React from 'react';
2
- /**
3
- * @deprecated Will be removed, don't use it. It is replaced by
4
- */
1
+ import type { IMenuDataItem } from '@common-stack/core/lib/component/interfaces/menu.js';
2
+ export { IMenuPosition } from '@common-stack/core/lib/component/interfaces/menu.js';
5
3
  export interface IMenuData {
6
- [key: string]: {
7
- name: any;
8
- position?: IMenuPosition;
9
- icon?: any;
10
- authority?: any;
11
- exact?: boolean;
12
- strict?: boolean;
13
- [key: string]: any;
14
- };
15
- }
16
- /**
17
- * @deprecated Will be removed, don't use it. Replaced by IMenuDataItem
18
- */
19
- export interface IMenuItem {
20
- path?: string;
21
- name: any;
22
- icon?: any;
23
- position: IMenuPosition;
24
- authority?: any;
25
- loading?: any;
26
- exact?: boolean;
27
- strict?: boolean;
28
- children?: IMenuItem[];
29
- priority?: number;
30
- }
31
- export interface IMenuDataItem {
32
- /**
33
- * @name submenu
34
- */
35
- children?: IMenuDataItem[];
36
- /**
37
- * @name Hide child nodes in the menu
38
- */
39
- hideChildrenInMenu?: boolean;
40
- /**
41
- * @name hideSelf and children in menu
42
- */
43
- hideInMenu?: boolean;
44
- /**
45
- * @name Icon of the menu
46
- */
47
- icon?: React.ReactNode;
48
- /**
49
- * @name Internationalization key for custom menus
50
- */
51
- locale?: string | false;
52
- /**
53
- * @name The name of the menu
54
- */
55
- name?: string;
56
- /**
57
- * @name is used to calibrate the selected value, default is path
58
- */
59
- key?: string;
60
- /**
61
- * @name disable menu option
62
- */
63
- disabled?: boolean;
64
- /**
65
- * Disable menu tooltip menu option
66
- */
67
- disabledTooltip?: boolean;
68
- /**
69
- * @name path
70
- */
71
- path?: string;
72
- /**
73
- * @name custom parent node
74
- * @description When this node is selected, the node of parentKeys is also selected
75
- */
76
- parentKeys?: string[];
77
- /**
78
- * @name hides itself and elevates child nodes to its level
79
- */
80
- flatMenu?: boolean;
81
- /** @name Specify the external link opening mode, same as a tag */
82
- target?: string;
83
- /**
84
- * @name position of the Menu
85
- * @enum IMenuPosition
86
- */
87
- position?: IMenuPosition;
88
- /**
89
- * @name permissions to determine whether to render menu or not
90
- */
91
- authority?: string[];
92
- /**
93
- * @name priority of the menu to display in the order. Lower values shows first.
94
- */
95
- priority?: number;
96
- /**
97
- * The path displayed by the menuItem's tooltip
98
- */
99
- tooltip?: string;
100
- [key: string]: any;
101
- }
102
- export declare enum IMenuPosition {
103
- LOGO = "LOGO",
104
- UPPER = "UPPER",
105
- MIDDLE = "MIDDLE",
106
- LOWER = "LOWER",
107
- BOTTOM = "BOTTOM",
108
- Logo = "LOGO",
109
- Upper = "UPPER",
110
- Middle = "MIDDLE",
111
- Lower = "LOWER",
112
- Bottom = "BOTTOM"
4
+ [key: string]: IMenuDataItem;
113
5
  }
@@ -0,0 +1,18 @@
1
+ import type { IRouteMap, IComputedRoutesArray } from '@common-stack/core/lib/component/interfaces/routeJson.js';
2
+ import type { IRouteModule } from '@common-stack/core/lib/component/interfaces/routeCompute.js';
3
+ import type { IRollupBuildGenerated } from '@common-stack/core/lib/component/interfaces/rollupRouteGenerated.js';
4
+ type IInternalRouteProcessing<T = unknown> = {
5
+ route: string;
6
+ parentPath?: string;
7
+ relativePath?: string;
8
+ _pathPrefix?: string;
9
+ routes?: IProcessedRoute<T>[];
10
+ };
11
+ export type IProcessedRoute<T = unknown> = IRouteModule & IInternalRouteProcessing<T> & T & {
12
+ path: string;
13
+ routes?: any;
14
+ };
15
+ export type IComputedInternalRoutesArray = Array<{
16
+ [key: string]: IRouteModule & IRollupBuildGenerated;
17
+ }>;
18
+ export { IRouteMap, IComputedRoutesArray, IRouteModule };
@@ -11,9 +11,13 @@ export declare class BasePluginArea extends React.Component<{}, {
11
11
  getCurrentPluginsState(): {
12
12
  plugins: {
13
13
  Plugin: any;
14
+ props: {
15
+ name: any;
16
+ renderImporter: any;
17
+ };
14
18
  context: {
15
- name: string;
16
- icon: string | Function | React.ComponentElement<any, any>;
19
+ name: any;
20
+ icon: any;
17
21
  };
18
22
  }[];
19
23
  };
@@ -1,4 +1,4 @@
1
- import {map}from'lodash-es';import*as React from'react';import {addAction,removeAction}from'@wordpress/hooks';import {PluginContextProvider as Provider}from'./plugin-context.js';import {getPlugins}from'./plugin-api.js';/**
1
+ import {map}from'lodash-es';import*as React from'react';import {addAction,removeAction}from'@wordpress/hooks';import {Fill}from'@common-stack/components-pro';import {PluginContextProvider as Provider}from'./plugin-context.js';import {getPlugins}from'./plugin-api.js';/**
2
2
  * A component that renders all plugin fills in a hidden div.
3
3
  */
4
4
  class BasePluginArea extends React.Component {
@@ -9,9 +9,13 @@ class BasePluginArea extends React.Component {
9
9
  }
10
10
  getCurrentPluginsState() {
11
11
  return {
12
- plugins: map(getPlugins(), ({ icon, name, render }) => {
12
+ plugins: map(getPlugins(), ({ icon, name, render, renderImporter }) => {
13
13
  return {
14
14
  Plugin: render,
15
+ props: {
16
+ name,
17
+ renderImporter,
18
+ },
15
19
  context: {
16
20
  name,
17
21
  icon,
@@ -39,7 +43,6 @@ class BasePluginArea extends React.Component {
39
43
  const pluginsState = this.getCurrentPluginsState();
40
44
  plugins = pluginsState.plugins;
41
45
  }
42
- return (React.createElement(React.Fragment, null, map(plugins, ({ context, Plugin }) => (React.createElement(Provider, { key: context.name, value: context },
43
- React.createElement(Plugin, null))))));
46
+ return (React.createElement(React.Fragment, null, map(plugins, ({ context, Plugin, props }) => (React.createElement(Provider, { key: context.name, value: context }, Plugin ? React.createElement(Plugin, null) : React.createElement(Fill, { ...props }))))));
44
47
  }
45
48
  }export{BasePluginArea};//# sourceMappingURL=base-plugin-area.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-plugin-area.js","sources":["../../src/plugin-area/base-plugin-area.tsx"],"sourcesContent":[null],"names":["PluginContextProvider"],"mappings":"2NAMA;;AAEG;AAEU,MAAA,cAAe,SAAQ,KAAK,CAAC,SAAkD,CAAA;AAE1F,IAAA,WAAA,CAAY,IAAI,EAAA;QACd,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;KAC9B;IAEM,sBAAsB,GAAA;QAC3B,OAAO;AACL,YAAA,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAI;gBACpD,OAAO;AACL,oBAAA,MAAM,EAAE,MAAM;AACd,oBAAA,OAAO,EAAE;wBACP,IAAI;wBACJ,IAAI;AACL,qBAAA;iBACF,CAAC;AACJ,aAAC,CAAC;SACH,CAAC;KACH;IAEM,iBAAiB,GAAA;QACtB,SAAS,CACP,0BAA0B,EAC1B,6CAA6C,EAC7C,IAAI,CAAC,UAAU,CAChB,CAAC;QACF,SAAS,CACP,4BAA4B,EAC5B,+CAA+C,EAC/C,IAAI,CAAC,UAAU,CAChB,CAAC;QACF,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IAEM,oBAAoB,GAAA;AACzB,QAAA,YAAY,CACV,0BAA0B,EAC1B,6CAA6C,CAC9C,CAAC;AACF,QAAA,YAAY,CACV,4BAA4B,EAC5B,+CAA+C,CAChD,CAAC;KACH;IAEM,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KAC5C;IAEM,MAAM,GAAA;AACX,QAAA,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAC7B,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;;AAEjC,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;AACnD,YAAA,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;SAChC;QACD,QACE,KACG,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EAAA,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAChC,KAAA,CAAA,aAAA,CAACA,QAAqB,EAAA,EACpB,GAAG,EAAE,OAAO,CAAC,IAAI,EACjB,KAAK,EAAE,OAAO,EAAA;AAEd,YAAA,KAAA,CAAA,aAAA,CAAC,MAAM,EAAG,IAAA,CAAA,CACY,CACzB,CAAC,CACD,EACH;KACH;AACF"}
1
+ {"version":3,"file":"base-plugin-area.js","sources":["../../src/plugin-area/base-plugin-area.tsx"],"sourcesContent":[null],"names":["PluginContextProvider"],"mappings":"2QAOA;;AAEG;AAEU,MAAA,cAAe,SAAQ,KAAK,CAAC,SAAkD,CAAA;AACxF,IAAA,WAAA,CAAY,IAAI,EAAA;QACZ,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;KAChC;IAEM,sBAAsB,GAAA;QACzB,OAAO;AACH,YAAA,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAO,KAAI;gBACvE,OAAO;AACH,oBAAA,MAAM,EAAE,MAAM;AACd,oBAAA,KAAK,EAAE;wBACH,IAAI;wBACJ,cAAc;AACjB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,IAAI;wBACJ,IAAI;AACP,qBAAA;iBACJ,CAAC;AACN,aAAC,CAAC;SACL,CAAC;KACL;IAEM,iBAAiB,GAAA;QACpB,SAAS,CAAC,0BAA0B,EAAE,6CAA6C,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACtG,SAAS,CAAC,4BAA4B,EAAE,+CAA+C,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1G,IAAI,CAAC,UAAU,EAAE,CAAC;KACrB;IAEM,oBAAoB,GAAA;AACvB,QAAA,YAAY,CAAC,0BAA0B,EAAE,6CAA6C,CAAC,CAAC;AACxF,QAAA,YAAY,CAAC,4BAA4B,EAAE,+CAA+C,CAAC,CAAC;KAC/F;IAEM,UAAU,GAAA;AACb,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KAC9C;IAEM,MAAM,GAAA;AACT,QAAA,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAC7B,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;;AAE/B,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;AACnD,YAAA,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;SAClC;QACD,QACI,0CACK,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MACrC,oBAACA,QAAqB,EAAA,EAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EACnD,EAAA,MAAM,GAAG,KAAC,CAAA,aAAA,CAAA,MAAM,EAAG,IAAA,CAAA,GAAG,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAA,GAAK,KAAK,EAAA,CAAI,CACtB,CAC3B,CAAC,CACH,EACL;KACL;AACJ"}
@@ -25,8 +25,12 @@ function registerPlugin(name, settings) {
25
25
  console.error(`Plugin "${name}" is alread registered.`);
26
26
  }
27
27
  settings = applyFilters('plugins.registerPlugin', settings, name);
28
- if (!isFunction(settings.render)) {
29
- console.error('The "render" property must be specified and must be a valid function.');
28
+ if (!settings.render && !settings.renderImporter) {
29
+ console.error('Plugin must have either a "render" or "renderImporter" property.');
30
+ return null;
31
+ }
32
+ if (settings.render && !isFunction(settings.render)) {
33
+ console.error('The "render" property must be a valid function.');
30
34
  return null;
31
35
  }
32
36
  plugins[name] = {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-api.js","sources":["../../src/plugin-area/plugin-api.ts"],"sourcesContent":[null],"names":[],"mappings":"wFAkBA;;AAEG;AACH,MAAM,OAAO,GAAyC,EAAE,CAAC;AAEzD;;;;;AAKG;AACa,SAAA,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAA;AACzC,IAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAC9B,QAAA,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAC9C,QAAA,OAAO,IAAI,CAAC;KACf;AACD,IAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC1B,QAAA,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;AAC/C,QAAA,OAAO,IAAI,CAAC;KACf;IACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAClC,QAAA,OAAO,CAAC,KAAK,CACT,0IAA0I,CAC7I,CAAC;AACF,QAAA,OAAO,IAAI,CAAC;KACf;AACD,IAAA,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;AACf,QAAA,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAA,uBAAA,CAAyB,CAAC,CAAC;KAC3D;IACD,QAAQ,GAAG,YAAY,CAAC,wBAAwB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAElE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC9B,QAAA,OAAO,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;AACvF,QAAA,OAAO,IAAI,CAAC;KACf;IACD,OAAO,CAAC,IAAI,CAAC,GAAG;QACZ,IAAI;AACJ,QAAA,IAAI,EAAE,eAAe;AACrB,QAAA,GAAG,QAAQ;KACd,CAAC;AAEF,IAAA,QAAQ,CAAC,0BAA0B,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAErD,IAAA,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;;AAKG;AACG,SAAU,gBAAgB,CAAC,IAAI,EAAA;AACjC,IAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAChB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,GAAG,sBAAsB,CAAC,CAAC;QAC1D,OAAO;KACV;AACD,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAChC,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AAErB,IAAA,QAAQ,CAAC,2BAA2B,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAEvD,IAAA,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;;AAMG;AACG,SAAU,SAAS,CAAC,IAAI,EAAA;AAC1B,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED;;;;AAIG;SACa,UAAU,GAAA;AACtB,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAClC"}
1
+ {"version":3,"file":"plugin-api.js","sources":["../../src/plugin-area/plugin-api.ts"],"sourcesContent":[null],"names":[],"mappings":"wFAkBA;;AAEG;AACH,MAAM,OAAO,GAAyC,EAAE,CAAC;AAEzD;;;;;AAKG;AACa,SAAA,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAA;AACzC,IAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAC9B,QAAA,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAC9C,QAAA,OAAO,IAAI,CAAC;KACf;AACD,IAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC1B,QAAA,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;AAC/C,QAAA,OAAO,IAAI,CAAC;KACf;IACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAClC,QAAA,OAAO,CAAC,KAAK,CACT,0IAA0I,CAC7I,CAAC;AACF,QAAA,OAAO,IAAI,CAAC;KACf;AACD,IAAA,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;AACf,QAAA,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAA,uBAAA,CAAyB,CAAC,CAAC;KAC3D;IACD,QAAQ,GAAG,YAAY,CAAC,wBAAwB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAElE,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;AAC9C,QAAA,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;AAClF,QAAA,OAAO,IAAI,CAAC;KACf;AACD,IAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACjD,QAAA,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;AACjE,QAAA,OAAO,IAAI,CAAC;KACf;IAED,OAAO,CAAC,IAAI,CAAC,GAAG;QACZ,IAAI;AACJ,QAAA,IAAI,EAAE,eAAe;AACrB,QAAA,GAAG,QAAQ;KACd,CAAC;AAEF,IAAA,QAAQ,CAAC,0BAA0B,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAErD,IAAA,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;;AAKG;AACG,SAAU,gBAAgB,CAAC,IAAI,EAAA;AACjC,IAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAChB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,GAAG,sBAAsB,CAAC,CAAC;QAC1D,OAAO;KACV;AACD,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAChC,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AAErB,IAAA,QAAQ,CAAC,2BAA2B,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAEvD,IAAA,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;;AAMG;AACG,SAAU,SAAS,CAAC,IAAI,EAAA;AAC1B,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED;;;;AAIG;SACa,UAAU,GAAA;AACtB,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAClC"}
@@ -1,3 +1,3 @@
1
- import { IRouteData } from '../interfaces';
2
- export declare const getSortedRoutes: (path: string, routeData: IRouteData, authWrapper?: (ele: React.ReactElement, props: Record<string, any>) => void) => any;
3
- export declare function getRoutes(path: string, routeData: IRouteData, authWrapper?: (ele: any, props: any) => void): any;
1
+ import { IComputedRoutesArray } from '../interfaces';
2
+ export declare const getSortedRoutes: (path: string, routeData: IComputedRoutesArray, authWrapper?: (ele: React.ReactElement, props: Record<string, any>) => void) => any;
3
+ export declare function getRoutes(path: string, routeData: IComputedRoutesArray, authWrapper?: (ele: any, props: any) => void): any;
@@ -1,4 +1,4 @@
1
- import {IMenuPosition}from'../interfaces/menu.js';import {sortKeys}from'../utils/sort-keys.js';import {formatSlash}from'../utils/utils.js';// Function to get sorted routes based on a given path, route data, and an optional authentication wrapper.
1
+ import {IMenuPosition}from'@common-stack/core/lib/component/interfaces/menu.js';import {sortKeys}from'../utils/sort-keys.js';import {formatSlash}from'../utils/utils.js';// Function to get sorted routes based on a given path, route data, and an optional authentication wrapper.
2
2
  const getSortedRoutes = (path, routeData, authWrapper = null) => {
3
3
  // Sort the keys of the route data for consistency.
4
4
  const sortedRoutes = sortKeys(routeData);
@@ -1 +1 @@
1
- {"version":3,"file":"get-routes.js","sources":["../../src/route/get-routes.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-routes.js","sources":["../../src/route/get-routes.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,2 +1 @@
1
- export * from './render-routes';
2
1
  export * from './react-navigation';
@@ -1,12 +1,4 @@
1
1
  import { ReactElement } from 'react';
2
- import { IRouteData } from '../../interfaces';
3
- export interface RouteProps {
4
- caseSensitive?: boolean;
5
- children?: React.ReactNode;
6
- element?: React.ReactNode | null;
7
- index?: boolean;
8
- path?: string;
9
- exact?: boolean;
10
- }
11
- export declare const getSortedNavigations: (path: string, routeData: IRouteData, authWrapper?: ((component: React.FC) => ReactElement)) => any;
12
- export declare function getNavigation(path: string, routeData: any, authWrapper?: ((component: React.FC, unauthenticatedComponent: React.FC) => ReactElement)): any;
2
+ import { IComputedMobileRoutesArray } from './interfaces/route';
3
+ export declare const getSortedNavigations: (path: string, routeData: IComputedMobileRoutesArray, authWrapper?: (component: React.FC) => ReactElement) => any;
4
+ export declare function getNavigation(path: string, routeData: IComputedMobileRoutesArray, authWrapper?: (component: React.FC, unauthenticatedComponent: React.FC) => ReactElement): import("packages/common-core/lib").IMenuDataItem[];
@@ -1,4 +1,4 @@
1
- import {uniq,isEmpty}from'lodash-es';import {IMenuPosition}from'../../interfaces/menu.js';import {sortKeys}from'../../utils/sort-keys.js';import {formatSlash}from'../../utils/utils.js';import'@common-stack/client-core';const getSortedNavigations = (path, routeData, authWrapper) => {
1
+ import {uniq,isEmpty}from'lodash-es';import {IMenuPosition}from'@common-stack/core/lib/component/interfaces/menu.js';import {sortKeys}from'../../utils/sort-keys.js';import {formatSlash}from'../../utils/utils.js';import'@common-stack/client-core';const getSortedNavigations = (path, routeData, authWrapper) => {
2
2
  const sortedRoutes = sortKeys(routeData);
3
3
  const result = addRouteParams(getNavigation(path, sortedRoutes, authWrapper));
4
4
  return result;
@@ -10,9 +10,9 @@ const addRouteParams = (result, routeParams = []) => {
10
10
  item.routeParams = params;
11
11
  }
12
12
  if (item?.children?.length) {
13
- if (item.path !== '/' && item.path.includes(":")) {
13
+ if (item.path !== '/' && item.path.includes(':')) {
14
14
  const matched = item.path.match(/:([^\/]+)/g);
15
- params = uniq(params.concat(...matched.map((item) => item.replace(':', ""))));
15
+ params = uniq(params.concat(...matched.map((item) => item.replace(':', ''))));
16
16
  }
17
17
  item.children = addRouteParams(item.children, uniq(params));
18
18
  }
@@ -27,10 +27,10 @@ function getNavigation(path, routeData, authWrapper) {
27
27
  if (path[path.length - 1] !== '/') {
28
28
  searchPath = path + '/';
29
29
  }
30
- const childrens = Object.keys(routeData).filter(menuPath => {
30
+ const childrens = Object.keys(routeData).filter((menuPath) => {
31
31
  return menuPath.indexOf(searchPath) === 0 || menuPath === path;
32
32
  });
33
- const mappedMenuPaths = childrens.map(mPath => {
33
+ const mappedMenuPaths = childrens.map((mPath) => {
34
34
  return {
35
35
  route: mPath,
36
36
  position: IMenuPosition.Middle,
@@ -43,7 +43,7 @@ function getNavigation(path, routeData, authWrapper) {
43
43
  name: 'root',
44
44
  position: IMenuPosition.Logo,
45
45
  };
46
- mappedMenuPaths.forEach(routeItem => {
46
+ mappedMenuPaths.forEach((routeItem) => {
47
47
  const children = routeItem.route.split('/');
48
48
  children.shift();
49
49
  // if the route is `/` then add this correction.
@@ -54,7 +54,7 @@ function getNavigation(path, routeData, authWrapper) {
54
54
  const depth = children.length;
55
55
  let lastNode = root;
56
56
  for (let i = 0; i < depth; i++) {
57
- const lastIndex = (lastNode.children || []).findIndex(item => {
57
+ const lastIndex = (lastNode.children || []).findIndex((item) => {
58
58
  const routePath = `${item._pathPrefix}${item.path}`;
59
59
  if (routeItem.route.startsWith(routePath)) {
60
60
  // only if the parent path has `exact: false` allows to nested
@@ -78,12 +78,12 @@ function getNavigation(path, routeData, authWrapper) {
78
78
  ...(!isEmpty(rest.props) && {
79
79
  props: {
80
80
  ...rest.props,
81
- ...(rest.props.component
82
- && {
83
- component: (auth && authWrapper) ?
84
- authWrapper(rest.props?.component, rest.props?.unauthenticatedComponent) : rest.props?.component
85
- })
86
- }
81
+ ...(rest.props.component && {
82
+ component: auth && authWrapper
83
+ ? authWrapper(rest.props?.component, rest.props?.unauthenticatedComponent)
84
+ : rest.props?.component,
85
+ }),
86
+ },
87
87
  }),
88
88
  // path: formatSlash(routeItem.route),
89
89
  // path: routeItem.route,
@@ -1 +1 @@
1
- {"version":3,"file":"get-navigation-utils.js","sources":["../../../src/route/react-navigation/get-navigation-utils.tsx"],"sourcesContent":[null],"names":[],"mappings":"2NAca,MAAA,oBAAoB,GAAG,CAClC,IAAY,EACZ,SAAqB,EACrB,WAAqD,KACnD;AACF,IAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;AACzC,IAAA,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;AAC9E,IAAA,OAAO,MAAM,CAAA;AACf,EAAE;AAGF,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,EAAE,KAAI;AAClD,IAAA,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;QACzB,IAAI,MAAM,GAAG,WAAW,CAAC;QACzB,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACpC,YAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAA;SAC1B;AACD,QAAA,IAAI,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE;AAC1B,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAChD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAC9C,gBAAA,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;aAC9E;AACD,YAAA,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;SAC5D;AACD,QAAA,OAAO,IAAI,CAAA;AACb,KAAC,CAAC,CAAA;AACJ,CAAC,CAAA;SAEe,aAAa,CAC3B,IAAY,EACZ,SAAc,EACd,WAAyF,EAAA;IAEzF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AACzB,QAAA,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;KAClC;IACD,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;AACjC,QAAA,UAAU,GAAG,IAAI,GAAG,GAAG,CAAC;KACzB;AACD,IAAA,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAG;AACzD,QAAA,OAAO,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,QAAQ,KAAK,IAAI,CAAC;AACjE,KAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAuB,SAAS,CAAC,GAAG,CAAC,KAAK,IAAG;QAChE,OAAO;AACL,YAAA,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,aAAa,CAAC,MAAM;YAC9B,GAAG,SAAS,CAAC,KAAK,CAAC;SACpB,CAAC;AACJ,KAAC,CAAC,CAAC;AACH,IAAA,MAAM,IAAI,GAAoC;;;AAG5C,QAAA,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,aAAa,CAAC,IAAI;KACtB,CAAC;AACT,IAAA,eAAe,CAAC,OAAO,CAAC,SAAS,IAAG;QAClC,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,QAAQ,CAAC,KAAK,EAAE,CAAC;;AAGjB,QAAA,IAAI,SAAS,CAAC,IAAI,KAAK,GAAG,EAAE;YAC1B,QAAQ,CAAC,KAAK,EAAE,CAAC;AACjB,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACpB;AACD,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC9B,IAAI,QAAQ,GAAG,IAAI,CAAC;AACpB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;AAC9B,YAAA,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE,SAAS,CAAC,IAAI,IAAG;gBAC3D,MAAM,SAAS,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,CAAA,EAAG,IAAI,CAAC,IAAI,CAAA,CAAE,CAAC;gBAEpD,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;;AAEzC,oBAAA,OAAO,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC;iBAC3F;AACH,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;gBACpB,MAAM;aACP;AACD,YAAA,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACxC,MAAM,YAAY,GAAG,CAAA,EAAI,QAAgB,CAAC,WAAW,CAAA,EAAG,QAAQ,CAAC,IAAI,CAAA,CAAE,CAAC;YACxE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;SAC1G;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AACtB,YAAA,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC;SACxB;AACD,QAAA,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC;QACnD,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAEhD,QAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;AACrB,YAAA,GAAG,IAAI;YACP,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;AAC1B,gBAAA,KAAK,EAAE;oBACL,GAAG,IAAI,CAAC,KAAK;AACb,oBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;AACnB,2BAAA;AACH,4BAAA,SAAS,EAAE,CAAC,IAAI,IAAI,WAAW;gCAC7B,WAAW,CACT,IAAI,CAAC,KAAK,EAAE,SAAS,EACrB,IAAI,CAAC,KAAK,EAAE,wBAAwB,CACrC,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS;yBAC5B,CAAC;AACH,iBAAA;aACF,CAAC;;;AAGF,YAAA,GAAG,UAAU;YACb,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI;AACpG,SAAA,CAAC,CAAC;AACL,KAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB"}
1
+ {"version":3,"file":"get-navigation-utils.js","sources":["../../../src/route/react-navigation/get-navigation-utils.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
- export * from './react-navigation-render';
1
+ export { default as resolveRootRoute } from './react-navigation-render';
2
2
  export * from './get-navigation-utils';
3
+ export * from './interfaces/route';
@@ -0,0 +1,16 @@
1
+ import type { createStackNavigator } from '@react-navigation/stack';
2
+ import type { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
3
+ import type { createDrawerNavigator } from '@react-navigation/drawer';
4
+ import type { IRouteMobileAdditions, IReactNavigationProps } from '@common-stack/core/lib/component/interfaces/routeMobileAdditions.js';
5
+ import type { IRollupBuildGenerated } from '@common-stack/core/lib/component/interfaces/rollupRouteGenerated.js';
6
+ import type { IRouteMap, IRouteModule } from '../../../interfaces';
7
+ export { IReactNavigationProps };
8
+ type OptionalPath<T extends {
9
+ path: string;
10
+ }> = Omit<T, 'path'> & Partial<Pick<T, 'path'>>;
11
+ export interface IReactNavigationRoute extends IRouteMobileAdditions {
12
+ container?: ReturnType<typeof createStackNavigator> | ReturnType<typeof createBottomTabNavigator> | ReturnType<typeof createDrawerNavigator>;
13
+ }
14
+ export type IRouteMobileModule = IRouteModule & IReactNavigationRoute;
15
+ export type IRouteMapWithMobile = IRouteMap<IRollupBuildGenerated & OptionalPath<IReactNavigationRoute>>;
16
+ export type IComputedMobileRoutesArray = Array<IRouteMapWithMobile>;
@@ -25,8 +25,12 @@ function registerRouteBasePlugin(name, settings) {
25
25
  console.error(`Plugin "${name}" is alread registered.`);
26
26
  }
27
27
  settings = applyFilters('plugins.registerPlugin', settings, name);
28
- if (!isFunction(settings.render)) {
29
- console.error('The "render" property must be specified and must be a valid function.');
28
+ if (!settings.render && !settings.renderImporter) {
29
+ console.error('Plugin must have either a "render" or "renderImporter" property.');
30
+ return null;
31
+ }
32
+ if (settings.render && !isFunction(settings.render)) {
33
+ console.error('The "render" property must be a valid function.');
30
34
  return null;
31
35
  }
32
36
  plugins[name] = {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-api.js","sources":["../../src/route-based-plugin-area/plugin-api.ts"],"sourcesContent":[null],"names":[],"mappings":"wFAmBA;;AAEG;AACH,MAAM,OAAO,GAAyC,EAAE,CAAC;AAEzD;;;;;AAKG;AACa,SAAA,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAA;AAClD,IAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAC9B,QAAA,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAC9C,QAAA,OAAO,IAAI,CAAC;KACf;AACD,IAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC1B,QAAA,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;AAC/C,QAAA,OAAO,IAAI,CAAC;KACf;IACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACjC,QAAA,OAAO,CAAC,KAAK,CACT,2HAA2H,CAC9H,CAAC;AACF,QAAA,OAAO,IAAI,CAAC;KACf;AACD,IAAA,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;AACf,QAAA,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAA,uBAAA,CAAyB,CAAC,CAAC;KAC3D;IACD,QAAQ,GAAG,YAAY,CAAC,wBAAwB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAElE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC9B,QAAA,OAAO,CAAC,KAAK,CACT,uEAAuE,CAC1E,CAAC;AACF,QAAA,OAAO,IAAI,CAAC;KACf;IACD,OAAO,CAAC,IAAI,CAAC,GAAG;QACZ,IAAI;AACJ,QAAA,IAAI,EAAE,eAAe;AACrB,QAAA,GAAG,QAAQ;KACd,CAAC;AAEF,IAAA,QAAQ,CAAC,0BAA0B,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAErD,IAAA,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;;AAKG;AACG,SAAU,yBAAyB,CAAC,IAAI,EAAA;AAC1C,IAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAChB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,GAAG,sBAAsB,CAAC,CAAC;QAC1D,OAAO;KACV;AACD,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAChC,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AAErB,IAAA,QAAQ,CAAC,2BAA2B,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAEvD,IAAA,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;;AAMG;AACG,SAAU,kBAAkB,CAAC,IAAI,EAAA;AACnC,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED;;;;AAIG;SACa,mBAAmB,GAAA;AAC/B,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAClC"}
1
+ {"version":3,"file":"plugin-api.js","sources":["../../src/route-based-plugin-area/plugin-api.ts"],"sourcesContent":[null],"names":[],"mappings":"wFAmBA;;AAEG;AACH,MAAM,OAAO,GAAyC,EAAE,CAAC;AAEzD;;;;;AAKG;AACa,SAAA,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAA;AAClD,IAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAC9B,QAAA,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAC9C,QAAA,OAAO,IAAI,CAAC;KACf;AACD,IAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC1B,QAAA,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;AAC/C,QAAA,OAAO,IAAI,CAAC;KACf;IACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACjC,QAAA,OAAO,CAAC,KAAK,CACT,2HAA2H,CAC9H,CAAC;AACF,QAAA,OAAO,IAAI,CAAC;KACf;AACD,IAAA,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;AACf,QAAA,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAA,uBAAA,CAAyB,CAAC,CAAC;KAC3D;IACD,QAAQ,GAAG,YAAY,CAAC,wBAAwB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAElE,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;AAC9C,QAAA,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;AAClF,QAAA,OAAO,IAAI,CAAC;KACf;AACD,IAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACjD,QAAA,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;AACjE,QAAA,OAAO,IAAI,CAAC;KACf;IAED,OAAO,CAAC,IAAI,CAAC,GAAG;QACZ,IAAI;AACJ,QAAA,IAAI,EAAE,eAAe;AACrB,QAAA,GAAG,QAAQ;KACd,CAAC;AAEF,IAAA,QAAQ,CAAC,0BAA0B,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAErD,IAAA,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;;AAKG;AACG,SAAU,yBAAyB,CAAC,IAAI,EAAA;AAC1C,IAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAChB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,GAAG,sBAAsB,CAAC,CAAC;QAC1D,OAAO;KACV;AACD,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAChC,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AAErB,IAAA,QAAQ,CAAC,2BAA2B,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAEvD,IAAA,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;;AAMG;AACG,SAAU,kBAAkB,CAAC,IAAI,EAAA;AACnC,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED;;;;AAIG;SACa,mBAAmB,GAAA;AAC/B,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAClC"}
@@ -1,5 +1,6 @@
1
+ import { IRouteMap, IRouteModule } from '../interfaces';
1
2
  type SelectedType = '*' | string[];
2
- export declare const getFilteredMenus: (accountPageStore: any, selectedMenu?: SelectedType) => any;
3
- export declare const getFilteredRoutes: (accountPageStore: any, selectedRoutes?: SelectedType) => any;
4
- export declare const getFilteredTabs: (accountPageStore: any, selectedTabs?: SelectedType) => any;
3
+ export declare const getFilteredMenus: (accountPageStore: IRouteModule[], selectedMenu?: SelectedType) => IRouteMap[];
4
+ export declare const getFilteredRoutes: (accountPageStore: IRouteModule[], selectedRoutes?: SelectedType) => IRouteMap[];
5
+ export declare const getFilteredTabs: (accountPageStore: IRouteModule[], selectedTabs?: SelectedType) => Omit<IRouteModule, "component">[];
5
6
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"filteredRoutes.js","sources":["../../src/utils/filteredRoutes.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGO,MAAM,gBAAgB,GAAG,CAAC,gBAAgB,EAAE,YAAA,GAAe,GAAmB,KACjF,gBAAgB;AACX,KAAA,GAAG,CAAC,CAAC,IAAI,KAAI;AACV,IAAA,IAAI,YAAY,KAAK,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACzD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAC1C,OAAO;AACH,YAAA,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE;SACtC,CAAC;KACL;AACD,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;KACD,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE;AAE3B,MAAM,iBAAiB,GAAG,CAAC,gBAAgB,EAAE,cAAA,GAAiB,GAAmB,KACpF,gBAAgB;AACX,KAAA,GAAG,CAAC,CAAC,IAAI,KAAI;AACV,IAAA,IAAI,cAAc,KAAK,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC7D,QAAA,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtB,OAAO;YACH,CAAC,IAAI,GAAG,IAAI;SACf,CAAC;KACL;AACD,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;KACD,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE;AAE3B,MAAM,eAAe,GAAG,CAAC,gBAAgB,EAAE,YAAA,GAAe,GAAmB,KAChF,gBAAgB;AACX,KAAA,GAAG,CAAC,CAAC,IAAI,KAAI;AACV,IAAA,IAAI,YAAY,KAAK,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;AACpC,QAAA,OAAO,IAAI,CAAC;KACf;AACD,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;KACD,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK"}
1
+ {"version":3,"file":"filteredRoutes.js","sources":["../../src/utils/filteredRoutes.ts"],"sourcesContent":[null],"names":[],"mappings":"AAKO,MAAM,gBAAgB,GAAG,CAAC,gBAAgC,EAAE,YAAA,GAAe,GAAmB,KACjG,gBAAgB;AACX,KAAA,GAAG,CAAC,CAAC,IAAI,KAAI;AACV,IAAA,IAAI,YAAY,KAAK,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACzD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAC1C,OAAO;AACH,YAAA,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE;SACtC,CAAC;KACL;AACD,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;KACD,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE;AAE3B,MAAM,iBAAiB,GAAG,CAC7B,gBAAgC,EAChC,cAAA,GAAiB,GAAmB,KAEpC,gBAAgB;AACX,KAAA,GAAG,CAAC,CAAC,IAAI,KAAI;AACV,IAAA,IAAI,cAAc,KAAK,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC7D,QAAA,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtB,OAAO;YACH,CAAC,IAAI,GAAG,IAAI;SACf,CAAC;KACL;AACD,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;KACD,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE;AAE3B,MAAM,eAAe,GAAG,CAC3B,gBAAgC,EAChC,YAAA,GAAe,GAAmB,KAElC,gBAAgB;AACX,KAAA,GAAG,CAAC,CAAC,IAAI,KAAI;AACV,IAAA,IAAI,YAAY,KAAK,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;AACpC,QAAA,OAAO,IAAI,CAAC;KACf;AACD,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;KACD,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK"}
@@ -1 +1,2 @@
1
- export declare function findRouteByPath(routes: any, targetPath: any): any;
1
+ import { IRouteModule } from '../interfaces';
2
+ export declare function findRouteByPath(routes: IRouteModule[], targetPath: string): any;
@@ -1,2 +1,3 @@
1
- export declare function sortKeys(routeData: any): any;
2
- export declare function sortByPaths(routes: any): any[];
1
+ import { IRouteModule, IComputedRoutesArray } from '../interfaces';
2
+ export declare function sortKeys(routeData: IComputedRoutesArray): IComputedRoutesArray;
3
+ export declare function sortByPaths(routes: IRouteModule[]): (Omit<IRouteModule, "path"> & Partial<Pick<IRouteModule, "path">>)[];
@@ -1,16 +1,30 @@
1
- import defaultSortKeys from'sort-keys';function sortKeys(routeData) {
2
- return defaultSortKeys(routeData, { compare });
3
- }
4
- function sortByPaths(routes) {
5
- const routeData = {};
6
- routes.forEach((route) => {
7
- if (typeof route.path === 'undefined') {
8
- route.path = '*';
1
+ import defaultSortKeys from'sort-keys';/* eslint-disable no-param-reassign */
2
+ function notStartWithColon(str) {
3
+ const match = (str.match(/^[\/, *, :]{1,}/) || [-1])[0];
4
+ if (match === -1) {
5
+ return -1;
6
+ }
7
+ let i = match.length;
8
+ let count = 0;
9
+ while (i--) {
10
+ const char = match[i];
11
+ if (char === '/') {
12
+ if (str === '/') {
13
+ // if it is root only we put at the last
14
+ count += 6;
15
+ }
16
+ else {
17
+ count += 3;
18
+ }
9
19
  }
10
- routeData[route.path] = route;
11
- });
12
- const sortedRoutes = defaultSortKeys(routeData, { compare });
13
- return Object.keys(sortedRoutes).map((key) => sortedRoutes[key]);
20
+ else if (char === ':') {
21
+ count += 1;
22
+ }
23
+ else if (char === '*') {
24
+ count += 2;
25
+ }
26
+ }
27
+ return count;
14
28
  }
15
29
  const compare = (a, b) => {
16
30
  const aStr = String(a).toLowerCase();
@@ -50,30 +64,17 @@ const compare = (a, b) => {
50
64
  // In all other cases, default to usual sort order.
51
65
  return aStr.localeCompare(bStr);
52
66
  };
53
- function notStartWithColon(str) {
54
- const match = (str.match(/^[\/, *, :]{1,}/) || [-1])[0];
55
- if (match === -1) {
56
- return -1;
57
- }
58
- let i = match.length;
59
- let count = 0;
60
- while (i--) {
61
- const char = match[i];
62
- if (char === '/') {
63
- if (str === '/') {
64
- // if it is root only we put at the last
65
- count += 6;
66
- }
67
- else {
68
- count += 3;
69
- }
70
- }
71
- else if (char === ':') {
72
- count += 1;
73
- }
74
- else if (char === '*') {
75
- count += 2;
67
+ function sortKeys(routeData) {
68
+ return defaultSortKeys(routeData, { compare });
69
+ }
70
+ function sortByPaths(routes) {
71
+ const routeData = {};
72
+ routes.forEach((route) => {
73
+ if (typeof route.path === 'undefined') {
74
+ route.path = '*';
76
75
  }
77
- }
78
- return count;
76
+ routeData[route.path] = route;
77
+ });
78
+ const sortedRoutes = defaultSortKeys(routeData, { compare });
79
+ return Object.keys(sortedRoutes).map((key) => sortedRoutes[key]);
79
80
  }export{sortByPaths,sortKeys};//# sourceMappingURL=sort-keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sort-keys.js","sources":["../../src/utils/sort-keys.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sort-keys.js","sources":["../../src/utils/sort-keys.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@common-stack/client-react",
3
- "version": "8.0.1-alpha.2",
3
+ "version": "8.0.2-alpha.1",
4
4
  "description": "Client Module for react app",
5
5
  "homepage": "https://github.com/cdmbase/fullstack-pro#readme",
6
6
  "bugs": {
@@ -27,11 +27,12 @@
27
27
  "test": "jest",
28
28
  "test:debug": "npm test -- --runInBand",
29
29
  "test:watch": "npm test -- --watch",
30
+ "vitest": "vitest",
30
31
  "watch": "npm run build:lib:watch"
31
32
  },
32
33
  "dependencies": {
33
- "@common-stack/client-core": "8.0.1-alpha.0",
34
- "@common-stack/core": "8.0.1-alpha.0",
34
+ "@common-stack/client-core": "8.0.2-alpha.0",
35
+ "@common-stack/core": "8.0.2-alpha.0",
35
36
  "@wordpress/hooks": "^3.53.0",
36
37
  "browser-bunyan": "^1.6.3",
37
38
  "history-with-query": "^4.10.4",
@@ -59,5 +60,5 @@
59
60
  "typescript": {
60
61
  "definition": "lib/index.d.ts"
61
62
  },
62
- "gitHead": "740324071e77326fc0d9dd3ce4a1bc4a64a472f8"
63
+ "gitHead": "82a7dcad7dc514c2cc92ec8f12832838c1fbec1a"
63
64
  }
@@ -1,13 +0,0 @@
1
- var IMenuPosition;
2
- (function (IMenuPosition) {
3
- IMenuPosition["LOGO"] = "LOGO";
4
- IMenuPosition["UPPER"] = "UPPER";
5
- IMenuPosition["MIDDLE"] = "MIDDLE";
6
- IMenuPosition["LOWER"] = "LOWER";
7
- IMenuPosition["BOTTOM"] = "BOTTOM";
8
- IMenuPosition["Logo"] = "LOGO";
9
- IMenuPosition["Upper"] = "UPPER";
10
- IMenuPosition["Middle"] = "MIDDLE";
11
- IMenuPosition["Lower"] = "LOWER";
12
- IMenuPosition["Bottom"] = "BOTTOM";
13
- })(IMenuPosition || (IMenuPosition = {}));export{IMenuPosition};//# sourceMappingURL=menu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"menu.js","sources":["../../src/interfaces/menu.ts"],"sourcesContent":[null],"names":[],"mappings":"IA8GY,cAWX;AAXD,CAAA,UAAY,aAAa,EAAA;AACrB,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACrB,CAAC,EAXW,aAAa,KAAb,aAAa,GAWxB,EAAA,CAAA,CAAA"}
@@ -1,55 +0,0 @@
1
- import { FunctionComponent } from 'react';
2
- import { matchPath } from '@remix-run/react';
3
- export interface IComponent extends FunctionComponent {
4
- getInitialProps?: Function;
5
- preload?: () => Promise<any>;
6
- }
7
- export interface IRouterRederOptions {
8
- routes: IRoute[];
9
- plugin?: Plugin;
10
- extraProps?: object;
11
- pageInitialProps?: object;
12
- getInitialPropsCtx?: object;
13
- isServer?: boolean;
14
- ssrProps?: object;
15
- rootRoutes?: IRoute[];
16
- auth?: boolean;
17
- key?: any;
18
- authWrapper?: () => void;
19
- withRoutesElement?: boolean;
20
- loaderArgs?: any;
21
- }
22
- export interface IGetRouteElementOpts {
23
- route: IRoute;
24
- index: number;
25
- opts: IRouterRederOptions;
26
- }
27
- export interface IRouteMap<T = unknown> {
28
- [key: string]: IRoute & T;
29
- }
30
- export interface IRoute {
31
- path?: string;
32
- index?: boolean;
33
- exact?: boolean;
34
- redirect?: string;
35
- component?: IComponent | null;
36
- routes?: IRoute[];
37
- key?: any;
38
- strict?: boolean;
39
- sensitive?: boolean;
40
- wrappers?: unknown[];
41
- loader?: (arg: unknown) => unknown;
42
- action?: (arg: unknown) => unknown;
43
- [k: string]: unknown;
44
- }
45
- export interface IRouteComponentProps<Params extends {
46
- [K in keyof Params]?: string;
47
- } = {}, Query extends {
48
- [K in keyof Query]?: string;
49
- } = {}> {
50
- children: JSX.Element;
51
- location: any /** Location & { query: Query }; * */;
52
- route: IRoute;
53
- history: any /** History;* */;
54
- match: typeof matchPath;
55
- }
@@ -1,41 +0,0 @@
1
- export interface ICoreRouteData<T> {
2
- [key: string]: {
3
- loading?: T;
4
- component?: any;
5
- container?: any;
6
- name?: string;
7
- props?: Object;
8
- exact?: boolean;
9
- strict?: boolean;
10
- };
11
- }
12
- interface CommonMenuData {
13
- /** @name hideSelf and children in menu */
14
- hideInMenu?: boolean;
15
- /** @name Hide child nodes in the menu */
16
- hideChildrenInMenu?: boolean;
17
- /** @name Internationalization key for custom menus */
18
- locale?: string | false;
19
- /** @name The name of the menu */
20
- name?: string;
21
- /** @name is used to calibrate the selected value, default is path */
22
- key?: string;
23
- /** @name Icon of the menu */
24
- icon?: any;
25
- /** @name disable menu option */
26
- disabled?: boolean;
27
- /** @name hides itself and elevates child nodes to its level */
28
- flatMenu?: boolean;
29
- }
30
- export interface IMappedData extends CommonMenuData {
31
- /** @name path */
32
- path?: string;
33
- component?: any;
34
- route?: string;
35
- exact?: boolean;
36
- strict?: boolean;
37
- [key: string]: any;
38
- }
39
- export interface IRouteData extends ICoreRouteData<React.ComponentType<any> | (() => null)> {
40
- }
41
- export {};
@@ -1 +0,0 @@
1
- import 'jest';
@@ -1,3 +0,0 @@
1
- import { IRouterRederOptions } from '../interfaces/new-router';
2
- declare function renderRoutes(options: IRouterRederOptions): any;
3
- export { renderRoutes as renderRoutes2 };
@@ -1,96 +0,0 @@
1
- import*as React from'react';import {useState,useEffect,cloneElement,createElement}from'react';import {Routes,Route,Navigate,useLocation}from'@remix-run/react';import {sortByPaths}from'../utils/sort-keys.js';import'lodash-es';import'@common-stack/client-core';function createRouteElement(route, { isServer, withRoutesElement, ...options }, children) {
2
- if (typeof route.redirect === 'string') {
3
- return React.createElement(Navigate, { to: route.redirect, replace: true });
4
- }
5
- if (!route.component) {
6
- return null;
7
- }
8
- const Component = route.component;
9
- const routeProps = { route, routes: options.routes };
10
- function ComponentWithRoute(innerProps) {
11
- const [initialProps, setInitialProps] = useState({});
12
- const location = useLocation();
13
- useEffect(() => {
14
- handleInitialProps(routeProps);
15
- }, []);
16
- const handleInitialProps = async (param) => {
17
- if (typeof Component.getInitialProps === 'function') {
18
- const initialProps = await Component.getInitialProps(param);
19
- setInitialProps(initialProps);
20
- }
21
- };
22
- const cloneChild = (ui, props) => {
23
- if (ui) {
24
- return cloneElement(ui, props);
25
- }
26
- else {
27
- return createElement(React.Fragment, props);
28
- }
29
- };
30
- if (isServer) {
31
- // Since React.useEffect will not run in server side,
32
- // this function will be called manually.
33
- handleInitialProps(routeProps);
34
- }
35
- let childrenElement = null;
36
- if (children) {
37
- childrenElement = !!withRoutesElement
38
- ? React.Children.map(children, (child, key) => cloneChild(child.props.element, { key }))
39
- : children.map((child, key) => cloneChild(child.element, { key }));
40
- }
41
- return (React.createElement(Component, { ...routeProps, ...initialProps, ...innerProps, location: location }, childrenElement));
42
- }
43
- let routeElement = React.createElement(ComponentWithRoute, null);
44
- const wrappers = route.wrappers || [];
45
- let len = wrappers.length - 1;
46
- while (len >= 0) {
47
- const Wrapper = wrappers[len];
48
- routeElement = React.createElement(Wrapper, { ...routeProps }, routeElement);
49
- len -= 1;
50
- }
51
- return routeElement;
52
- }
53
- function getRoute({ key, options, route }) {
54
- const { index, path, sensitive, routes, ...routeOptions } = route;
55
- const routeObject = {
56
- path: !!index ? null : path,
57
- index: !!index,
58
- caseSensitive: !!sensitive,
59
- children: getRoutes({ options, routes: routes }),
60
- ...routeOptions,
61
- };
62
- if (routeOptions?.loader) {
63
- routeObject.loader = (loaderContext) => {
64
- return routeOptions?.loader({ ...loaderContext, ...options.loaderArgs });
65
- };
66
- }
67
- routeObject.element = createRouteElement(route, { ...options, key }, routeObject.children);
68
- return routeObject;
69
- }
70
- function renderRoute(params) {
71
- const routeObject = getRoute(params);
72
- return !!params.options.withRoutesElement ? React.createElement(Route, { key: params.key, ...routeObject }) : routeObject;
73
- }
74
- function getRoutes({ routes, options }) {
75
- if (routes) {
76
- const sortedRoutes = sortByPaths(routes);
77
- return sortedRoutes.map((route, key) => {
78
- return renderRoute({
79
- key,
80
- options,
81
- route,
82
- });
83
- });
84
- }
85
- return null;
86
- }
87
- function renderRoutes(options) {
88
- if (options.routes) {
89
- const routes = getRoutes({
90
- options,
91
- routes: options.routes,
92
- });
93
- return !!options.withRoutesElement ? React.createElement(Routes, null, routes) : routes;
94
- }
95
- return null;
96
- }export{renderRoutes as renderRoutes2};//# sourceMappingURL=render-routes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"render-routes.js","sources":["../../src/route/render-routes.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}