@pnkx-lib/ui 1.9.433 → 1.9.434
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/es/index.js
CHANGED
|
@@ -86,6 +86,7 @@ export { Cascader } from './fields/CascaderField.js';
|
|
|
86
86
|
export { InputRangePicker } from './fields/InputRangePicker.js';
|
|
87
87
|
export { useToast } from './hooks/useToast.js';
|
|
88
88
|
export { useMessage } from './hooks/useMessage.js';
|
|
89
|
+
import React__default from 'react';
|
|
89
90
|
|
|
90
91
|
const extractRoutesFromMenu = (menuItems) => {
|
|
91
92
|
const routes = [];
|
|
@@ -94,7 +95,8 @@ const extractRoutesFromMenu = (menuItems) => {
|
|
|
94
95
|
if (item.path && item.component && typeof item.component !== "string") {
|
|
95
96
|
routes.push({
|
|
96
97
|
path: item.path,
|
|
97
|
-
component: item.component
|
|
98
|
+
component: item.component,
|
|
99
|
+
componentProps: item.componentProps
|
|
98
100
|
});
|
|
99
101
|
}
|
|
100
102
|
if (item.children && item.children.length > 0) {
|
|
@@ -105,10 +107,13 @@ const extractRoutesFromMenu = (menuItems) => {
|
|
|
105
107
|
traverseMenu(menuItems);
|
|
106
108
|
return routes;
|
|
107
109
|
};
|
|
110
|
+
const createComponentWithProps = (Component, componentProps = {}) => {
|
|
111
|
+
return (props) => React__default.createElement(Component, { ...componentProps, ...props });
|
|
112
|
+
};
|
|
108
113
|
|
|
109
114
|
const generateId = (name, path) => {
|
|
110
115
|
const source = `${name}-${path || ""}`;
|
|
111
116
|
return source.toLowerCase().replace(/[^a-z0-9]/g, "-").replace(/--+/g, "-").replace(/^-|-$/g, "");
|
|
112
117
|
};
|
|
113
118
|
|
|
114
|
-
export { extractRoutesFromMenu, generateId };
|
|
119
|
+
export { createComponentWithProps, extractRoutesFromMenu, generateId };
|
package/package.json
CHANGED
|
@@ -3,6 +3,7 @@ import { MenuTypeV3 } from '../ui';
|
|
|
3
3
|
export interface RouteItem {
|
|
4
4
|
path: string;
|
|
5
5
|
component: React.ComponentType;
|
|
6
|
+
componentProps?: Record<string, any>;
|
|
6
7
|
}
|
|
7
8
|
/**
|
|
8
9
|
* Function đệ quy để extract tất cả routes từ menu structure
|
|
@@ -10,3 +11,10 @@ export interface RouteItem {
|
|
|
10
11
|
* @returns Mảng routes được extract từ menu
|
|
11
12
|
*/
|
|
12
13
|
export declare const extractRoutesFromMenu: (menuItems: MenuTypeV3[]) => RouteItem[];
|
|
14
|
+
/**
|
|
15
|
+
* Function tạo wrapper component để truyền componentProps
|
|
16
|
+
* @param Component - React component
|
|
17
|
+
* @param componentProps - Props để truyền cho component
|
|
18
|
+
* @returns Wrapper component với props được truyền
|
|
19
|
+
*/
|
|
20
|
+
export declare const createComponentWithProps: (Component: React.ComponentType<any>, componentProps?: Record<string, any>) => React.ComponentType;
|