react-toolkits 0.0.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 (50) hide show
  1. package/.eslintignore +2 -0
  2. package/.eslintrc.js +4 -0
  3. package/.turbo/turbo-build.log +20 -0
  4. package/CHANGELOG.md +10 -0
  5. package/dist/512_orange_nobackground-L6MFCL6M.png +0 -0
  6. package/dist/index.css +230 -0
  7. package/dist/index.css.map +1 -0
  8. package/dist/index.d.mts +191 -0
  9. package/dist/index.esm.js +3152 -0
  10. package/dist/index.esm.js.map +1 -0
  11. package/package.json +63 -0
  12. package/postcss.config.js +9 -0
  13. package/src/assets/512_orange_nobackground.png +0 -0
  14. package/src/components/DynamicTags/index.tsx +160 -0
  15. package/src/components/FilterForm/index.tsx +62 -0
  16. package/src/components/FormModal/hooks.tsx +48 -0
  17. package/src/components/FormModal/index.tsx +138 -0
  18. package/src/components/Highlight/index.tsx +51 -0
  19. package/src/components/PermissionButton/index.tsx +36 -0
  20. package/src/components/QueryList/index.tsx +158 -0
  21. package/src/components/index.ts +27 -0
  22. package/src/constants/index.ts +3 -0
  23. package/src/features/permission/components/PermissionList.tsx +129 -0
  24. package/src/features/permission/hooks/index.ts +140 -0
  25. package/src/features/permission/index.ts +5 -0
  26. package/src/features/permission/types/index.ts +33 -0
  27. package/src/hooks/index.ts +2 -0
  28. package/src/hooks/use-fetcher.tsx +102 -0
  29. package/src/hooks/use-permission.tsx +58 -0
  30. package/src/index.ts +7 -0
  31. package/src/layouts/Layout.tsx +81 -0
  32. package/src/layouts/NavBar.tsx +176 -0
  33. package/src/layouts/index.ts +6 -0
  34. package/src/pages/Login/default.tsx +864 -0
  35. package/src/pages/Login/index.tsx +111 -0
  36. package/src/pages/index.ts +4 -0
  37. package/src/pages/permission/RoleDetail.tsx +40 -0
  38. package/src/pages/permission/RoleList.tsx +226 -0
  39. package/src/pages/permission/UserList.tsx +248 -0
  40. package/src/pages/permission/index.tsx +31 -0
  41. package/src/shims.d.ts +20 -0
  42. package/src/stores/index.ts +3 -0
  43. package/src/stores/menu.ts +27 -0
  44. package/src/stores/queryTrigger.ts +27 -0
  45. package/src/stores/token.ts +25 -0
  46. package/src/styles/index.css +5 -0
  47. package/src/types/index.ts +27 -0
  48. package/tailwind.config.js +5 -0
  49. package/tsconfig.json +11 -0
  50. package/tsup.config.ts +26 -0
package/.eslintignore ADDED
@@ -0,0 +1,2 @@
1
+ dist
2
+ public
package/.eslintrc.js ADDED
@@ -0,0 +1,4 @@
1
+ module.exports = {
2
+ root: true,
3
+ extends: [require.resolve('@everythingflow/eslint-config-mono/react')],
4
+ }
@@ -0,0 +1,20 @@
1
+
2
+ > react-toolkits@0.0.1 build /home/runner/work/everythingflow/everythingflow/packages/react-toolkits
3
+ > tsup
4
+
5
+ CLI Building entry: src/index.ts
6
+ CLI Using tsconfig: tsconfig.json
7
+ CLI tsup v7.1.0
8
+ CLI Using tsup config: /home/runner/work/everythingflow/everythingflow/packages/react-toolkits/tsup.config.ts
9
+ CLI Target: es6
10
+ CLI Cleaning output folder
11
+ ESM Build start
12
+ DTS Build start
13
+ ESM dist/512_orange_nobackground-L6MFCL6M.png 9.49 KB
14
+ ESM dist/index.css 4.48 KB
15
+ ESM dist/index.css.map 7.60 KB
16
+ ESM dist/index.esm.js 116.12 KB
17
+ ESM dist/index.esm.js.map 161.86 KB
18
+ ESM ⚡️ Build success in 1818ms
19
+ DTS ⚡️ Build success in 8437ms
20
+ DTS dist/index.d.mts 7.49 KB
package/CHANGELOG.md ADDED
@@ -0,0 +1,10 @@
1
+ # react-toolkits
2
+
3
+ ## 0.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - e7f10f0: release
8
+ - afa5306: release
9
+
10
+ Please enter a summary for your changes.
package/dist/index.css ADDED
@@ -0,0 +1,230 @@
1
+ @import "antd/dist/reset.css";
2
+
3
+ /* src/styles/index.css */
4
+ *,
5
+ ::before,
6
+ ::after {
7
+ --tw-border-spacing-x: 0;
8
+ --tw-border-spacing-y: 0;
9
+ --tw-translate-x: 0;
10
+ --tw-translate-y: 0;
11
+ --tw-rotate: 0;
12
+ --tw-skew-x: 0;
13
+ --tw-skew-y: 0;
14
+ --tw-scale-x: 1;
15
+ --tw-scale-y: 1;
16
+ --tw-pan-x: ;
17
+ --tw-pan-y: ;
18
+ --tw-pinch-zoom: ;
19
+ --tw-scroll-snap-strictness: proximity;
20
+ --tw-gradient-from-position: ;
21
+ --tw-gradient-via-position: ;
22
+ --tw-gradient-to-position: ;
23
+ --tw-ordinal: ;
24
+ --tw-slashed-zero: ;
25
+ --tw-numeric-figure: ;
26
+ --tw-numeric-spacing: ;
27
+ --tw-numeric-fraction: ;
28
+ --tw-ring-inset: ;
29
+ --tw-ring-offset-width: 0px;
30
+ --tw-ring-offset-color: #fff;
31
+ --tw-ring-color: rgb(59 130 246 / 0.5);
32
+ --tw-ring-offset-shadow: 0 0 #0000;
33
+ --tw-ring-shadow: 0 0 #0000;
34
+ --tw-shadow: 0 0 #0000;
35
+ --tw-shadow-colored: 0 0 #0000;
36
+ --tw-blur: ;
37
+ --tw-brightness: ;
38
+ --tw-contrast: ;
39
+ --tw-grayscale: ;
40
+ --tw-hue-rotate: ;
41
+ --tw-invert: ;
42
+ --tw-saturate: ;
43
+ --tw-sepia: ;
44
+ --tw-drop-shadow: ;
45
+ --tw-backdrop-blur: ;
46
+ --tw-backdrop-brightness: ;
47
+ --tw-backdrop-contrast: ;
48
+ --tw-backdrop-grayscale: ;
49
+ --tw-backdrop-hue-rotate: ;
50
+ --tw-backdrop-invert: ;
51
+ --tw-backdrop-opacity: ;
52
+ --tw-backdrop-saturate: ;
53
+ --tw-backdrop-sepia: ;
54
+ }
55
+ ::backdrop {
56
+ --tw-border-spacing-x: 0;
57
+ --tw-border-spacing-y: 0;
58
+ --tw-translate-x: 0;
59
+ --tw-translate-y: 0;
60
+ --tw-rotate: 0;
61
+ --tw-skew-x: 0;
62
+ --tw-skew-y: 0;
63
+ --tw-scale-x: 1;
64
+ --tw-scale-y: 1;
65
+ --tw-pan-x: ;
66
+ --tw-pan-y: ;
67
+ --tw-pinch-zoom: ;
68
+ --tw-scroll-snap-strictness: proximity;
69
+ --tw-gradient-from-position: ;
70
+ --tw-gradient-via-position: ;
71
+ --tw-gradient-to-position: ;
72
+ --tw-ordinal: ;
73
+ --tw-slashed-zero: ;
74
+ --tw-numeric-figure: ;
75
+ --tw-numeric-spacing: ;
76
+ --tw-numeric-fraction: ;
77
+ --tw-ring-inset: ;
78
+ --tw-ring-offset-width: 0px;
79
+ --tw-ring-offset-color: #fff;
80
+ --tw-ring-color: rgb(59 130 246 / 0.5);
81
+ --tw-ring-offset-shadow: 0 0 #0000;
82
+ --tw-ring-shadow: 0 0 #0000;
83
+ --tw-shadow: 0 0 #0000;
84
+ --tw-shadow-colored: 0 0 #0000;
85
+ --tw-blur: ;
86
+ --tw-brightness: ;
87
+ --tw-contrast: ;
88
+ --tw-grayscale: ;
89
+ --tw-hue-rotate: ;
90
+ --tw-invert: ;
91
+ --tw-saturate: ;
92
+ --tw-sepia: ;
93
+ --tw-drop-shadow: ;
94
+ --tw-backdrop-blur: ;
95
+ --tw-backdrop-brightness: ;
96
+ --tw-backdrop-contrast: ;
97
+ --tw-backdrop-grayscale: ;
98
+ --tw-backdrop-hue-rotate: ;
99
+ --tw-backdrop-invert: ;
100
+ --tw-backdrop-opacity: ;
101
+ --tw-backdrop-saturate: ;
102
+ --tw-backdrop-sepia: ;
103
+ }
104
+ .container {
105
+ width: 100%;
106
+ }
107
+ @media (min-width: 640px) {
108
+ .container {
109
+ max-width: 640px;
110
+ }
111
+ }
112
+ @media (min-width: 768px) {
113
+ .container {
114
+ max-width: 768px;
115
+ }
116
+ }
117
+ @media (min-width: 1024px) {
118
+ .container {
119
+ max-width: 1024px;
120
+ }
121
+ }
122
+ @media (min-width: 1280px) {
123
+ .container {
124
+ max-width: 1280px;
125
+ }
126
+ }
127
+ @media (min-width: 1536px) {
128
+ .container {
129
+ max-width: 1536px;
130
+ }
131
+ }
132
+ .fixed {
133
+ position: fixed;
134
+ }
135
+ .absolute {
136
+ position: absolute;
137
+ }
138
+ .relative {
139
+ position: relative;
140
+ }
141
+ .-top-12 {
142
+ top: -3rem;
143
+ }
144
+ .left-0 {
145
+ left: 0px;
146
+ }
147
+ .right-0 {
148
+ right: 0px;
149
+ }
150
+ .top-1\/2 {
151
+ top: 50%;
152
+ }
153
+ .mb-6 {
154
+ margin-bottom: 1.5rem;
155
+ }
156
+ .ml-2 {
157
+ margin-left: 0.5rem;
158
+ }
159
+ .ml-64 {
160
+ margin-left: 16rem;
161
+ }
162
+ .inline {
163
+ display: inline;
164
+ }
165
+ .flex {
166
+ display: flex;
167
+ }
168
+ .hidden {
169
+ display: none;
170
+ }
171
+ .h-screen {
172
+ height: 100vh;
173
+ }
174
+ .w-8 {
175
+ width: 2rem;
176
+ }
177
+ .w-full {
178
+ width: 100%;
179
+ }
180
+ .-translate-y-1\/2 {
181
+ --tw-translate-y: -50%;
182
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
183
+ }
184
+ .transform {
185
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
186
+ }
187
+ .items-end {
188
+ align-items: flex-end;
189
+ }
190
+ .items-center {
191
+ align-items: center;
192
+ }
193
+ .justify-end {
194
+ justify-content: flex-end;
195
+ }
196
+ .justify-center {
197
+ justify-content: center;
198
+ }
199
+ .overflow-auto {
200
+ overflow: auto;
201
+ }
202
+ .bg-gray-50 {
203
+ --tw-bg-opacity: 1;
204
+ background-color: rgb(249 250 251 / var(--tw-bg-opacity));
205
+ }
206
+ .p-6 {
207
+ padding: 1.5rem;
208
+ }
209
+ .px-6 {
210
+ padding-left: 1.5rem;
211
+ padding-right: 1.5rem;
212
+ }
213
+ .py-4 {
214
+ padding-top: 1rem;
215
+ padding-bottom: 1rem;
216
+ }
217
+ .text-center {
218
+ text-align: center;
219
+ }
220
+ .text-lg {
221
+ font-size: 1.125rem;
222
+ line-height: 1.75rem;
223
+ }
224
+ .font-bold {
225
+ font-weight: 700;
226
+ }
227
+ .filter {
228
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
229
+ }
230
+ /*# sourceMappingURL=index.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/styles/index.css"],"sourcesContent":["@import \"antd/dist/reset.css\";\n\n*, ::before, ::after{\n\n --tw-border-spacing-x: 0;\n\n --tw-border-spacing-y: 0;\n\n --tw-translate-x: 0;\n\n --tw-translate-y: 0;\n\n --tw-rotate: 0;\n\n --tw-skew-x: 0;\n\n --tw-skew-y: 0;\n\n --tw-scale-x: 1;\n\n --tw-scale-y: 1;\n\n --tw-pan-x: ;\n\n --tw-pan-y: ;\n\n --tw-pinch-zoom: ;\n\n --tw-scroll-snap-strictness: proximity;\n\n --tw-gradient-from-position: ;\n\n --tw-gradient-via-position: ;\n\n --tw-gradient-to-position: ;\n\n --tw-ordinal: ;\n\n --tw-slashed-zero: ;\n\n --tw-numeric-figure: ;\n\n --tw-numeric-spacing: ;\n\n --tw-numeric-fraction: ;\n\n --tw-ring-inset: ;\n\n --tw-ring-offset-width: 0px;\n\n --tw-ring-offset-color: #fff;\n\n --tw-ring-color: rgb(59 130 246 / 0.5);\n\n --tw-ring-offset-shadow: 0 0 #0000;\n\n --tw-ring-shadow: 0 0 #0000;\n\n --tw-shadow: 0 0 #0000;\n\n --tw-shadow-colored: 0 0 #0000;\n\n --tw-blur: ;\n\n --tw-brightness: ;\n\n --tw-contrast: ;\n\n --tw-grayscale: ;\n\n --tw-hue-rotate: ;\n\n --tw-invert: ;\n\n --tw-saturate: ;\n\n --tw-sepia: ;\n\n --tw-drop-shadow: ;\n\n --tw-backdrop-blur: ;\n\n --tw-backdrop-brightness: ;\n\n --tw-backdrop-contrast: ;\n\n --tw-backdrop-grayscale: ;\n\n --tw-backdrop-hue-rotate: ;\n\n --tw-backdrop-invert: ;\n\n --tw-backdrop-opacity: ;\n\n --tw-backdrop-saturate: ;\n\n --tw-backdrop-sepia: \n}\n\n::backdrop{\n\n --tw-border-spacing-x: 0;\n\n --tw-border-spacing-y: 0;\n\n --tw-translate-x: 0;\n\n --tw-translate-y: 0;\n\n --tw-rotate: 0;\n\n --tw-skew-x: 0;\n\n --tw-skew-y: 0;\n\n --tw-scale-x: 1;\n\n --tw-scale-y: 1;\n\n --tw-pan-x: ;\n\n --tw-pan-y: ;\n\n --tw-pinch-zoom: ;\n\n --tw-scroll-snap-strictness: proximity;\n\n --tw-gradient-from-position: ;\n\n --tw-gradient-via-position: ;\n\n --tw-gradient-to-position: ;\n\n --tw-ordinal: ;\n\n --tw-slashed-zero: ;\n\n --tw-numeric-figure: ;\n\n --tw-numeric-spacing: ;\n\n --tw-numeric-fraction: ;\n\n --tw-ring-inset: ;\n\n --tw-ring-offset-width: 0px;\n\n --tw-ring-offset-color: #fff;\n\n --tw-ring-color: rgb(59 130 246 / 0.5);\n\n --tw-ring-offset-shadow: 0 0 #0000;\n\n --tw-ring-shadow: 0 0 #0000;\n\n --tw-shadow: 0 0 #0000;\n\n --tw-shadow-colored: 0 0 #0000;\n\n --tw-blur: ;\n\n --tw-brightness: ;\n\n --tw-contrast: ;\n\n --tw-grayscale: ;\n\n --tw-hue-rotate: ;\n\n --tw-invert: ;\n\n --tw-saturate: ;\n\n --tw-sepia: ;\n\n --tw-drop-shadow: ;\n\n --tw-backdrop-blur: ;\n\n --tw-backdrop-brightness: ;\n\n --tw-backdrop-contrast: ;\n\n --tw-backdrop-grayscale: ;\n\n --tw-backdrop-hue-rotate: ;\n\n --tw-backdrop-invert: ;\n\n --tw-backdrop-opacity: ;\n\n --tw-backdrop-saturate: ;\n\n --tw-backdrop-sepia: \n}\n.container{\n\n width: 100%\n}\n@media (min-width: 640px){\n\n .container{\n\n max-width: 640px\n }\n}\n@media (min-width: 768px){\n\n .container{\n\n max-width: 768px\n }\n}\n@media (min-width: 1024px){\n\n .container{\n\n max-width: 1024px\n }\n}\n@media (min-width: 1280px){\n\n .container{\n\n max-width: 1280px\n }\n}\n@media (min-width: 1536px){\n\n .container{\n\n max-width: 1536px\n }\n}\n.fixed{\n\n position: fixed\n}\n.absolute{\n\n position: absolute\n}\n.relative{\n\n position: relative\n}\n.-top-12{\n\n top: -3rem\n}\n.left-0{\n\n left: 0px\n}\n.right-0{\n\n right: 0px\n}\n.top-1\\/2{\n\n top: 50%\n}\n.mb-6{\n\n margin-bottom: 1.5rem\n}\n.ml-2{\n\n margin-left: 0.5rem\n}\n.ml-64{\n\n margin-left: 16rem\n}\n.inline{\n\n display: inline\n}\n.flex{\n\n display: flex\n}\n.hidden{\n\n display: none\n}\n.h-screen{\n\n height: 100vh\n}\n.w-8{\n\n width: 2rem\n}\n.w-full{\n\n width: 100%\n}\n.-translate-y-1\\/2{\n\n --tw-translate-y: -50%;\n\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))\n}\n.transform{\n\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))\n}\n.items-end{\n\n align-items: flex-end\n}\n.items-center{\n\n align-items: center\n}\n.justify-end{\n\n justify-content: flex-end\n}\n.justify-center{\n\n justify-content: center\n}\n.overflow-auto{\n\n overflow: auto\n}\n.bg-gray-50{\n\n --tw-bg-opacity: 1;\n\n background-color: rgb(249 250 251 / var(--tw-bg-opacity))\n}\n.p-6{\n\n padding: 1.5rem\n}\n.px-6{\n\n padding-left: 1.5rem;\n\n padding-right: 1.5rem\n}\n.py-4{\n\n padding-top: 1rem;\n\n padding-bottom: 1rem\n}\n.text-center{\n\n text-align: center\n}\n.text-lg{\n\n font-size: 1.125rem;\n\n line-height: 1.75rem\n}\n.font-bold{\n\n font-weight: 700\n}\n.filter{\n\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,191 @@
1
+ import * as react from 'react';
2
+ import { FC, PropsWithChildren, ForwardedRef, ReactNode } from 'react';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+ import { FormProps, FormInstance, ModalProps, ButtonProps } from 'antd';
5
+ import { Merge } from 'ts-essentials';
6
+ import { TableProps } from 'antd/es/table';
7
+ import { AxiosRequestConfig } from 'axios';
8
+ import * as zustand_middleware from 'zustand/middleware';
9
+ import * as zustand from 'zustand';
10
+ import { RouteObject } from 'react-router-dom';
11
+ import { MenuDividerType, MenuItemType, SubMenuType, MenuItemGroupType } from 'antd/es/menu/hooks/useItems';
12
+
13
+ interface DynamicTagsProps {
14
+ initialTags?: string[];
15
+ addable?: boolean;
16
+ removable?: boolean;
17
+ addCallback?: (addedTag: string) => Promise<boolean>;
18
+ removeCallback?: (removedTag: string) => Promise<boolean>;
19
+ }
20
+ declare const DynamicTags: FC<DynamicTagsProps>;
21
+
22
+ interface FilterFormProps<Values> extends Pick<FormProps<Values>, 'initialValues' | 'requiredMark' | 'onError' | 'onChange' | 'onValuesChange' | 'onFinish' | 'onFinishFailed' | 'layout' | 'labelCol'> {
23
+ form?: FormInstance<Values>;
24
+ onReset?: () => void;
25
+ confirmText?: React.ReactNode;
26
+ }
27
+ declare const FilterForm: <Values = unknown>(props: PropsWithChildren<FilterFormProps<Values>>) => react_jsx_runtime.JSX.Element;
28
+
29
+ type RenderChildren<T> = (props: {
30
+ form: FormInstance<T>;
31
+ open?: boolean;
32
+ closeFn?: VoidFunction;
33
+ }) => JSX.Element | JSX.Element[];
34
+ type ChildrenType<T> = RenderChildren<T> | JSX.Element | JSX.Element[];
35
+ type RecursivePartial<T> = T extends object ? {
36
+ [P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial<U>[] : T[P] extends object ? RecursivePartial<T[P]> : T[P];
37
+ } : any;
38
+ interface FormModalProps<T> extends Pick<ModalProps, 'width' | 'title' | 'open' | 'afterClose' | 'bodyStyle' | 'maskClosable'>, Pick<FormProps, 'labelCol' | 'layout' | 'colon'> {
39
+ children?: ChildrenType<T>;
40
+ footer?: ModalProps['footer'];
41
+ closeFn?: VoidFunction;
42
+ initialValues?: RecursivePartial<T>;
43
+ onConfirm?: (values: T) => void;
44
+ }
45
+ interface FormModalRef<T = object> {
46
+ setFieldsValue: (values: RecursivePartial<T>) => void;
47
+ }
48
+ declare const FormModal: <T extends object>(props: FormModalProps<T> & {
49
+ ref?: ForwardedRef<FormModalRef<T>> | undefined;
50
+ }) => React.ReactElement;
51
+
52
+ type UseFormModalProps<T> = Merge<Omit<FormModalProps<T>, 'open' | 'onCancel' | 'closeFn' | 'children' | 'onConfirm'>, {
53
+ content: FormModalProps<T>['children'];
54
+ onConfirm?: (values: T) => void;
55
+ }>;
56
+ declare function useFormModal<T extends object>(props: UseFormModalProps<T>): {
57
+ Modal: react.ReactPortal;
58
+ showModal: (options?: {
59
+ initialValues?: RecursivePartial<T> | undefined;
60
+ title?: FormModalProps<T>['title'];
61
+ } | undefined) => void;
62
+ closeModal: () => void;
63
+ };
64
+
65
+ interface HighlightTextsProps extends PropsWithChildren {
66
+ texts: Array<string | number>;
67
+ }
68
+ declare const Highlight: (props: HighlightTextsProps) => react_jsx_runtime.JSX.Element;
69
+
70
+ interface PermissionButtonProps extends Omit<ButtonProps, 'disabled'> {
71
+ code: string;
72
+ showLoading?: boolean;
73
+ }
74
+ declare const PermissionButton: FC<PropsWithChildren<PermissionButtonProps>>;
75
+
76
+ type MenuItemType2 = Merge<Omit<MenuItemType, 'icon'>, {
77
+ code /** 权限编号 **/?: string;
78
+ route /** 前端路由地址 **/?: string;
79
+ icon?: string;
80
+ }>;
81
+ type SubMenuType2 = Merge<Omit<SubMenuType, 'icon'>, {
82
+ children?: ItemType2[];
83
+ icon?: string;
84
+ }>;
85
+ type MenuItemGroupType2 = Merge<MenuItemGroupType, {
86
+ children?: ItemType2[];
87
+ }>;
88
+ type ItemType2 = MenuItemType2 | SubMenuType2 | MenuItemGroupType2 | MenuDividerType | null;
89
+ interface NavBarProps {
90
+ items: ItemType2[];
91
+ }
92
+
93
+ type PaginationParams = {
94
+ page: number;
95
+ perPage: number;
96
+ };
97
+
98
+ type QueryListKey = Omit<AxiosRequestConfig, 'data' | 'params'>;
99
+ interface QueryListProps<Item, Values> extends Pick<TableProps<Item>, 'columns' | 'rowKey' | 'tableLayout' | 'expandable' | 'rowSelection' | 'bordered'>, Pick<FormProps<Values>, 'initialValues' | 'labelCol'> {
100
+ swrKey: QueryListKey;
101
+ confirmText?: ReactNode;
102
+ code?: string;
103
+ renderForm?: (form: FormInstance<Values>) => ReactNode;
104
+ transformArg?: (arg: Values & PaginationParams) => unknown;
105
+ }
106
+ declare const QueryList: <Item extends object, Values = {}>(props: QueryListProps<Item, Values>) => react_jsx_runtime.JSX.Element;
107
+
108
+ declare class FetcherError extends Error {
109
+ code: number;
110
+ skip: boolean;
111
+ constructor(message: string, code: number, skip?: boolean);
112
+ }
113
+ declare function useFetcher(): <T = unknown>(config: AxiosRequestConfig) => Promise<T>;
114
+
115
+ interface PermissionCheckResult {
116
+ [k: string]: boolean;
117
+ }
118
+ declare function usePermissions(codes: Record<string, string>): {
119
+ data: Record<string, boolean> | undefined;
120
+ isLoading: boolean;
121
+ };
122
+ declare function usePermission(code?: string): {
123
+ accessible: boolean;
124
+ isValidating: boolean;
125
+ };
126
+
127
+ interface MenuState {
128
+ openKeys: string[];
129
+ selectedKeys: string[];
130
+ setOpenKeys: (keys: string[]) => void;
131
+ setSelectedKeys: (keys: string[]) => void;
132
+ }
133
+ declare const useMenuStore: zustand.UseBoundStore<Omit<zustand.StoreApi<MenuState>, "persist"> & {
134
+ persist: {
135
+ setOptions: (options: Partial<zustand_middleware.PersistOptions<MenuState, {
136
+ openKeys: string[];
137
+ selectedKeys: string[];
138
+ }>>) => void;
139
+ clearStorage: () => void;
140
+ rehydrate: () => void | Promise<void>;
141
+ hasHydrated: () => boolean;
142
+ onHydrate: (fn: (state: MenuState) => void) => () => void;
143
+ onFinishHydration: (fn: (state: MenuState) => void) => () => void;
144
+ getOptions: () => Partial<zustand_middleware.PersistOptions<MenuState, {
145
+ openKeys: string[];
146
+ selectedKeys: string[];
147
+ }>>;
148
+ };
149
+ }>;
150
+
151
+ interface TokenState {
152
+ token: string;
153
+ setToken: (token: string) => void;
154
+ clearToken: () => void;
155
+ }
156
+ declare const useTokenStore: zustand.UseBoundStore<Omit<zustand.StoreApi<TokenState>, "persist"> & {
157
+ persist: {
158
+ setOptions: (options: Partial<zustand_middleware.PersistOptions<TokenState, {
159
+ token: string;
160
+ }>>) => void;
161
+ clearStorage: () => void;
162
+ rehydrate: () => void | Promise<void>;
163
+ hasHydrated: () => boolean;
164
+ onHydrate: (fn: (state: TokenState) => void) => () => void;
165
+ onFinishHydration: (fn: (state: TokenState) => void) => () => void;
166
+ getOptions: () => Partial<zustand_middleware.PersistOptions<TokenState, {
167
+ token: string;
168
+ }>>;
169
+ };
170
+ }>;
171
+
172
+ type TriggerFunction = (arg?: Partial<PaginationParams>) => void;
173
+ interface QueryTriggerState {
174
+ triggers: Map<QueryListKey, TriggerFunction>;
175
+ setTrigger: (key: QueryListKey, trigger: TriggerFunction) => void;
176
+ trigger: (key: QueryListKey, arg?: Partial<PaginationParams>) => void;
177
+ }
178
+ declare const useQueryTriggerStore: zustand.UseBoundStore<zustand.StoreApi<QueryTriggerState>>;
179
+
180
+ declare const Login: FC<PropsWithChildren>;
181
+
182
+ declare const routes: RouteObject;
183
+
184
+ interface LayoutProps {
185
+ title?: ReactNode;
186
+ items: ItemType2[];
187
+ header?: ReactNode;
188
+ }
189
+ declare const Layout: FC<LayoutProps>;
190
+
191
+ export { DynamicTags, DynamicTagsProps, FetcherError, FilterForm, FilterFormProps, FormModal, FormModalProps, FormModalRef, Highlight, HighlightTextsProps, ItemType2, Layout, LayoutProps, Login, MenuState, NavBarProps, PermissionButton, PermissionButtonProps, PermissionCheckResult, QueryList, QueryListKey, QueryListProps, QueryTriggerState, TokenState, UseFormModalProps, routes as permission, useFetcher, useFormModal, useMenuStore, usePermission, usePermissions, useQueryTriggerStore, useTokenStore };