@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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pnkx-lib/ui",
3
3
  "private": false,
4
- "version": "1.9.433",
4
+ "version": "1.9.434",
5
5
  "type": "module",
6
6
  "main": "./es/index.js",
7
7
  "module": "./es/index.js",
@@ -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;