sera-components 1.3.0 → 1.4.0
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/basic/Menu.d.ts +24 -28
- package/dist/basic/Transition.d.ts +3 -1
- package/dist/data/display/ForeignKeyDisplay.d.ts +2 -2
- package/dist/data/display/index.d.ts +1 -7
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3053 -2689
- package/dist/index.umd.cjs +25 -15
- package/dist/sera-context.d.ts +10 -0
- package/dist/table/makeColumns.d.ts +5 -6
- package/dist/types.d.ts +40 -0
- package/dist/view/View.d.ts +2 -3
- package/dist/view/ViewItem.d.ts +2 -3
- package/dist/view/ViewNestedPropertyItem.d.ts +2 -3
- package/dist/view/ViewTab.d.ts +0 -2
- package/package.json +2 -3
package/dist/basic/Menu.d.ts
CHANGED
|
@@ -1,11 +1,30 @@
|
|
|
1
|
-
import { NoArgsPathDef } from 'sera-route';
|
|
2
1
|
import { Trie } from '../misc';
|
|
2
|
+
import { NavigateFunction, Permission, NoArgsRoute } from '../types';
|
|
3
3
|
type MenuKey = string;
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Pending = 2
|
|
4
|
+
export interface MenuRoute<R> {
|
|
5
|
+
path: NoArgsRoute;
|
|
6
|
+
role: R;
|
|
8
7
|
}
|
|
8
|
+
export interface SeraMenuItem<R> {
|
|
9
|
+
key: MenuKey;
|
|
10
|
+
label: React.ReactElement | string;
|
|
11
|
+
icon?: React.ReactElement;
|
|
12
|
+
route?: MenuRoute<R>;
|
|
13
|
+
children?: SeraMenuItem<R>[];
|
|
14
|
+
}
|
|
15
|
+
export declare function buildMenuItemIndex<R>(items: SeraMenuItem<R>[]): {
|
|
16
|
+
key2item: Record<MenuKey, SeraMenuItem<R>>;
|
|
17
|
+
key2fullpath: Record<MenuKey, MenuKey[]>;
|
|
18
|
+
key2route: {
|
|
19
|
+
[key: MenuKey]: MenuRoute<R>;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export declare function filterAllowedItems<R>(items: SeraMenuItem<R>[], checkPermission: (role: R) => Permission): SeraMenuItem<R>[];
|
|
23
|
+
export declare const SeraVerticalMenu: <R>(props: {
|
|
24
|
+
items: SeraMenuItem<R>[];
|
|
25
|
+
checkPermission: (role: R) => Permission;
|
|
26
|
+
navigate: NavigateFunction;
|
|
27
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
9
28
|
/**
|
|
10
29
|
* Specialized Trie data structure for efficient menu route matching and navigation.
|
|
11
30
|
*
|
|
@@ -36,27 +55,4 @@ export declare class MenuTrie extends Trie {
|
|
|
36
55
|
*/
|
|
37
56
|
findMatchingKey(route: string): string | undefined;
|
|
38
57
|
}
|
|
39
|
-
export interface MenuRoute<R> {
|
|
40
|
-
path: NoArgsPathDef<any>;
|
|
41
|
-
role: R;
|
|
42
|
-
}
|
|
43
|
-
export interface SeraMenuItem<R> {
|
|
44
|
-
key: MenuKey;
|
|
45
|
-
label: React.ReactElement | string;
|
|
46
|
-
icon?: React.ReactElement;
|
|
47
|
-
route?: MenuRoute<R>;
|
|
48
|
-
children?: SeraMenuItem<R>[];
|
|
49
|
-
}
|
|
50
|
-
export declare function buildMenuItemIndex<R>(items: SeraMenuItem<R>[]): {
|
|
51
|
-
key2item: Record<MenuKey, SeraMenuItem<R>>;
|
|
52
|
-
key2fullpath: Record<MenuKey, MenuKey[]>;
|
|
53
|
-
key2route: {
|
|
54
|
-
[key: MenuKey]: MenuRoute<R>;
|
|
55
|
-
};
|
|
56
|
-
};
|
|
57
|
-
export declare function filterAllowedItems<R>(items: SeraMenuItem<R>[], checkPermission: (role: R) => Permission): SeraMenuItem<R>[];
|
|
58
|
-
export declare const SeraVerticalMenu: <R>(props: {
|
|
59
|
-
items: SeraMenuItem<R>[];
|
|
60
|
-
checkPermission: (role: R) => Permission;
|
|
61
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
62
58
|
export {};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { NavigateFunction } from '../types';
|
|
2
|
+
export declare const NotFound: ({ message, navigate, }: {
|
|
2
3
|
message?: string;
|
|
4
|
+
navigate: NavigateFunction;
|
|
3
5
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
4
6
|
export declare const NotFoundSubPage: ({ message }: {
|
|
5
7
|
message?: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DisplayInterface } from '.';
|
|
2
|
-
export declare const SingleForeignKeyDisplay: (<ID extends string | number>({ db, property, value,
|
|
2
|
+
export declare const SingleForeignKeyDisplay: (<ID extends string | number>({ db, property, value, }: DisplayInterface<ID>) => import("react/jsx-runtime").JSX.Element) & {
|
|
3
3
|
displayName: string;
|
|
4
4
|
};
|
|
5
|
-
export declare const MultiForeignKeyDisplay: (<ID extends string | number>({ db, property, value,
|
|
5
|
+
export declare const MultiForeignKeyDisplay: (<ID extends string | number>({ db, property, value, }: DisplayInterface<ID[]>) => import("react/jsx-runtime").JSX.Element) & {
|
|
6
6
|
displayName: string;
|
|
7
7
|
};
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { NoQueryArgsPathDef } from 'sera-route';
|
|
1
|
+
import { DataProperty, DataType, DB, ObjectProperty } from 'sera-db';
|
|
3
2
|
import { DateDisplay, DateTimeDisplay, DateTimeHideTimeDisplay } from './DateTimeDisplay';
|
|
4
3
|
export { SingleForeignKeyDisplay, MultiForeignKeyDisplay } from './ForeignKeyDisplay';
|
|
5
|
-
export type EntityRoute = NoQueryArgsPathDef<{
|
|
6
|
-
id: "string" | "number";
|
|
7
|
-
}, any>;
|
|
8
|
-
export type EntityRoutes = Record<ClassName, EntityRoute>;
|
|
9
4
|
export type DisplayInterface<T> = {
|
|
10
5
|
db: DB;
|
|
11
6
|
property: DataProperty | ObjectProperty;
|
|
12
7
|
nestedProperty?: DataProperty | ObjectProperty;
|
|
13
8
|
value: T;
|
|
14
|
-
entityRoutes: EntityRoutes;
|
|
15
9
|
};
|
|
16
10
|
export declare const DataType2DisplayComponent: Partial<Record<DataType, React.ComponentType<DisplayInterface<any>>>>;
|
|
17
11
|
export { DateDisplay, DateTimeDisplay, DateTimeHideTimeDisplay };
|
package/dist/index.d.ts
CHANGED
|
@@ -4,4 +4,6 @@ export * from './form';
|
|
|
4
4
|
export * from './table';
|
|
5
5
|
export * from './view';
|
|
6
6
|
export * from './misc';
|
|
7
|
-
export
|
|
7
|
+
export * from './types';
|
|
8
|
+
export type { SeraContext, SeraContextProvider } from './sera-context';
|
|
9
|
+
export type { LinkComponent, NavigateFunction } from './types';
|