react-toolkits 0.8.21 → 0.8.23

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.
@@ -1,6 +1,6 @@
1
- import { a as S, j as e, d as $ } from "./index-2I_COrHX.chunk.js";
1
+ import { a as S, j as e, d as $ } from "./index-Jf-VYQNs.chunk.js";
2
2
  import { Collapse as D, Checkbox as k, Row as G, Col as _, Skeleton as T, Typography as A, Divider as w, Card as K, Space as M, Select as E, Button as N, Empty as O } from "antd";
3
- import { h as R, i as B } from "./index-EAawrEpf.chunk.js";
3
+ import { h as R, i as B } from "./index-AkY1QPaq.chunk.js";
4
4
  import { useState as P, useCallback as F, useEffect as b } from "react";
5
5
  const q = (x) => {
6
6
  const { permissions: l, readonly: t, expand: d, value: a, onChange: r } = x, [m, p] = P([]), [g, u] = P({}), [c, f] = P(a ?? []), C = S(), h = F((s) => {
@@ -0,0 +1,189 @@
1
+ import { A as T, _ as N, u as j, a as b, j as e, P as h, H as z, Q as R, b as A } from "./index-Jf-VYQNs.chunk.js";
2
+ import { App as U, Row as F, Col as E, Tag as w, Space as G, Card as D, Form as p, Input as L, Select as y } from "antd";
3
+ import { p as I } from "./immer-BLf7GM7E.chunk.js";
4
+ import { Link as P } from "react-router-dom";
5
+ import { u as Q, a as V, b as k, c as _ } from "./index-AkY1QPaq.chunk.js";
6
+ import * as M from "react";
7
+ import "react-dom";
8
+ var $ = { icon: { tag: "svg", attrs: { viewBox: "64 64 896 896", focusable: "false" }, children: [{ tag: "path", attrs: { d: "M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 00-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00137 888.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 008.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 01340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 01683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, name: "user-add", theme: "outlined" };
9
+ const q = $;
10
+ var O = function(i, o) {
11
+ return /* @__PURE__ */ M.createElement(T, N({}, i, {
12
+ ref: o,
13
+ icon: q
14
+ }));
15
+ };
16
+ process.env.NODE_ENV !== "production" && (O.displayName = "UserAddOutlined");
17
+ const B = /* @__PURE__ */ M.forwardRef(O), { Option: H } = y, g = "/api/usystem/user/list";
18
+ function K() {
19
+ const { message: d } = U.useApp(), i = V(), { data: o, isLoading: u } = k(), { setPayload: m } = j(), n = b();
20
+ return A({
21
+ title: n("UserList.createTitle"),
22
+ labelCol: { flex: "80px" },
23
+ content: /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
24
+ /* @__PURE__ */ e.jsx(p.Item, { label: n("global.name"), name: "name", rules: [{ required: !0 }], children: /* @__PURE__ */ e.jsx(L, {}) }),
25
+ /* @__PURE__ */ e.jsx(p.Item, { label: n("global.role"), name: "roles", children: /* @__PURE__ */ e.jsx(y, { allowClear: !0, mode: "multiple", loading: u, children: (o ?? []).map((t) => /* @__PURE__ */ e.jsx(H, { value: t.name, children: t.name }, t.id)) }) })
26
+ ] }),
27
+ async onConfirm(t) {
28
+ await i.trigger(t), m(g, { page: 1 }), d.success(n("UserList.createSuccessfully"));
29
+ }
30
+ });
31
+ }
32
+ function J() {
33
+ const { message: d } = U.useApp(), i = _(), { data: o, isLoading: u } = k(), { mutate: m } = j(), n = b();
34
+ return A({
35
+ title: n("UserList.updateTitle"),
36
+ labelCol: { flex: "80px" },
37
+ content: /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
38
+ /* @__PURE__ */ e.jsx(p.Item, { label: n("global.name"), name: "name", rules: [{ required: !0 }], children: /* @__PURE__ */ e.jsx(L, { readOnly: !0 }) }),
39
+ /* @__PURE__ */ e.jsx(p.Item, { label: n("global.role"), name: "roles", children: /* @__PURE__ */ e.jsx(
40
+ y,
41
+ {
42
+ allowClear: !0,
43
+ mode: "multiple",
44
+ loading: u,
45
+ options: o == null ? void 0 : o.map((t) => ({
46
+ label: t.name,
47
+ value: t.name
48
+ })),
49
+ dropdownStyle: { zIndex: 9999 }
50
+ }
51
+ ) })
52
+ ] }),
53
+ async onConfirm(t, x) {
54
+ await i.trigger(t), m(
55
+ g,
56
+ (a) => I(a, (c) => {
57
+ var s;
58
+ if (c != null && c.dataSource) {
59
+ const l = (s = c.dataSource) == null ? void 0 : s.findIndex((r) => r.id === x.id);
60
+ l !== -1 && (c.dataSource[l].roles = t.roles);
61
+ }
62
+ }),
63
+ { revalidate: !1 }
64
+ ), d.success(n("UserList.updateSuccessfully"));
65
+ }
66
+ });
67
+ }
68
+ const te = () => {
69
+ const { modal: d, message: i } = U.useApp(), o = Q(), { mutate: u } = j(), { show: m, modal: n } = K(), { show: t, modal: x } = J(), a = b(), c = [
70
+ {
71
+ title: a("global.name"),
72
+ dataIndex: "name",
73
+ key: "name"
74
+ },
75
+ {
76
+ title: "ID",
77
+ dataIndex: "id",
78
+ key: "id"
79
+ },
80
+ {
81
+ title: a("global.role"),
82
+ dataIndex: "roles",
83
+ key: "roles",
84
+ width: "40%",
85
+ render(s) {
86
+ return /* @__PURE__ */ e.jsx(F, { gutter: [4, 4], children: (s || []).map((l) => /* @__PURE__ */ e.jsx(E, { children: l === "root" ? /* @__PURE__ */ e.jsx(w, { color: "#f50", children: l }) : /* @__PURE__ */ e.jsx(w, { color: "#ff5a00", children: /* @__PURE__ */ e.jsx(P, { to: `/permission/role/${l}`, children: l }) }) }, l)) });
87
+ }
88
+ },
89
+ {
90
+ title: a("global.creationTime"),
91
+ dataIndex: "Ctime",
92
+ key: "ctime"
93
+ },
94
+ {
95
+ title: a("global.operation"),
96
+ width: 150,
97
+ align: "center",
98
+ render: (s) => /* @__PURE__ */ e.jsxs(G, { children: [
99
+ /* @__PURE__ */ e.jsx(
100
+ h,
101
+ {
102
+ isGlobalNS: !0,
103
+ size: "small",
104
+ type: "link",
105
+ code: "100003",
106
+ onClick: () => {
107
+ t({
108
+ initialValues: {
109
+ name: s.name,
110
+ roles: s.roles
111
+ },
112
+ extraValues: {
113
+ id: s.id
114
+ }
115
+ });
116
+ },
117
+ children: a("global.update")
118
+ }
119
+ ),
120
+ /* @__PURE__ */ e.jsx(
121
+ h,
122
+ {
123
+ isGlobalNS: !0,
124
+ danger: !0,
125
+ size: "small",
126
+ code: "100004",
127
+ type: "link",
128
+ onClick: () => {
129
+ d.confirm({
130
+ title: a("UserList.deleteTitle"),
131
+ content: /* @__PURE__ */ e.jsx(z, { texts: [s.name], children: a("UserList.deleteContent", { user: s.name }) }),
132
+ async onOk() {
133
+ await o.trigger({
134
+ id: s.id,
135
+ name: s.name
136
+ }), u(g, (l) => I(l, (r) => {
137
+ var C, f;
138
+ const S = (C = r == null ? void 0 : r.dataSource) == null ? void 0 : C.findIndex((v) => v.id === s.id);
139
+ S && ((f = r == null ? void 0 : r.dataSource) == null || f.splice(S, 1));
140
+ })), i.success(a("UserList.deleteSuccessfully"));
141
+ }
142
+ });
143
+ },
144
+ children: a("global.delete")
145
+ }
146
+ )
147
+ ] })
148
+ }
149
+ ];
150
+ return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
151
+ /* @__PURE__ */ e.jsx(
152
+ D,
153
+ {
154
+ title: a("global.user"),
155
+ extra: /* @__PURE__ */ e.jsx(
156
+ h,
157
+ {
158
+ isGlobalNS: !0,
159
+ type: "primary",
160
+ icon: /* @__PURE__ */ e.jsx(B, {}),
161
+ code: "100002",
162
+ onClick: () => {
163
+ m();
164
+ },
165
+ children: a("UserList.createTitle")
166
+ }
167
+ ),
168
+ children: /* @__PURE__ */ e.jsx(
169
+ R,
170
+ {
171
+ isGlobalNS: !0,
172
+ code: "100001",
173
+ action: g,
174
+ rowKey: "id",
175
+ columns: c,
176
+ getTotal: (s) => s.Total,
177
+ getDataSource: (s) => s.List
178
+ }
179
+ )
180
+ }
181
+ ),
182
+ n,
183
+ x
184
+ ] });
185
+ };
186
+ export {
187
+ g as action,
188
+ te as default
189
+ };
package/lib/index.d.ts CHANGED
@@ -2,20 +2,21 @@ import type { ButtonProps } from 'antd';
2
2
  import type { ComponentType } from 'react';
3
3
  import type { FC } from 'react';
4
4
  import type { FormInstance } from 'antd';
5
+ import type { FormProps } from 'antd';
5
6
  import { JSX as JSX_2 } from 'react/jsx-runtime';
6
7
  import type { Key } from 'react';
7
8
  import type { MenuDividerType } from 'antd/es/menu/hooks/useItems';
8
9
  import type { MenuItemGroupType } from 'antd/es/menu/hooks/useItems';
9
10
  import type { MenuItemType } from 'antd/es/menu/hooks/useItems';
10
11
  import type { Merge } from 'ts-essentials';
11
- import type { ModalFuncProps } from 'antd';
12
+ import type { ModalProps } from 'antd';
12
13
  import type { MutatorCallback } from 'swr/_internal';
13
14
  import type { MutatorOptions } from 'swr/_internal';
14
15
  import { NamedExoticComponent } from 'react';
15
16
  import { PersistOptions } from 'zustand/middleware';
16
17
  import type { PropsWithChildren } from 'react';
17
18
  import type { ReactElement } from 'react';
18
- import type { ReactNode } from 'react';
19
+ import { ReactNode } from 'react';
19
20
  import type { Ref } from 'react';
20
21
  import type { StateStorage } from 'zustand/middleware';
21
22
  import { StoreApi } from 'zustand';
@@ -227,6 +228,12 @@ declare type MenuItemType2 = Merge<MenuItemType, {
227
228
 
228
229
  export declare const mixedStorage: StateStorage;
229
230
 
231
+ declare interface ModalState {
232
+ open: Map<string, boolean>;
233
+ getOpen: (id: string) => boolean;
234
+ setOpen: (id: string, open: boolean) => void;
235
+ }
236
+
230
237
  export declare const NavMenu: NamedExoticComponent<object>;
231
238
 
232
239
  export declare type NavMenuItem = MenuItemType2 | SubMenuType2 | MenuItemGroupType2 | MenuDividerType | null;
@@ -354,23 +361,17 @@ export declare interface TokenState {
354
361
  }
355
362
 
356
363
  export declare function useFormModal<Values>(props: UseFormModalProps<Values>): {
357
- show: (scopedProps?: Partial<Pick<UseFormModalProps<Values>, 'title'> & {
358
- initialValues?: RecursivePartial<Values>;
364
+ show: (config?: {
365
+ initialValues?: RecursivePartial<Values> | undefined;
359
366
  extraValues?: any;
360
- }>) => {
361
- destroy: () => void;
362
- update: (configUpdate: ModalFuncProps | ((prevConfig: ModalFuncProps) => ModalFuncProps)) => void;
363
- } & {
364
- then<T>(resolve: (confirmed: boolean) => T, reject: VoidFunction): Promise<T>;
365
- };
366
- form: FormInstance<Values>;
367
- contextHolder: JSX_2.Element;
367
+ }) => void;
368
+ hide: () => void;
369
+ modal: JSX_2.Element;
368
370
  };
369
371
 
370
- export declare interface UseFormModalProps<Values> extends Omit<ModalFuncProps, 'icon' | 'className' | 'content' | 'type' | 'onOk' | 'onCancel'> {
371
- content?: (form: FormInstance<Values>) => ReactNode;
372
- onConfirm?: (values: Values, form: FormInstance<Values>, extraValues: any) => Promise<void>;
373
- onCancel?: (form: FormInstance<Values>) => void;
372
+ export declare interface UseFormModalProps<Values> extends Pick<ModalProps, 'title' | 'width' | 'maskClosable'>, Pick<FormProps, 'labelCol' | 'layout' | 'initialValues'> {
373
+ content?: ReactNode;
374
+ onConfirm?: (values: Values, extraValues: any) => Promise<void>;
374
375
  }
375
376
 
376
377
  export declare const useGameStore: UseBoundStore<Omit<StoreApi<GameState>, "persist"> & {
@@ -385,6 +386,18 @@ export declare const useGameStore: UseBoundStore<Omit<StoreApi<GameState>, "pers
385
386
  };
386
387
  }>;
387
388
 
389
+ export declare function useModal(props: UseModalProps): {
390
+ show: () => void;
391
+ hide: () => void;
392
+ modal: JSX_2.Element;
393
+ };
394
+
395
+ declare interface UseModalProps extends Pick<ModalProps, 'title' | 'width' | 'maskClosable' | 'onOk' | 'afterClose'> {
396
+ content?: ReactNode;
397
+ }
398
+
399
+ export declare const useModalStore: UseBoundStore<StoreApi<ModalState>>;
400
+
388
401
  export declare function usePermission(code: string | undefined, isGlobalNS?: boolean, config?: SWRConfiguration): {
389
402
  accessible: boolean;
390
403
  isValidating: boolean;
package/lib/index.js CHANGED
@@ -1,17 +1,17 @@
1
- import { C as r, D as n, F as u, G as m, H as p, i as L, L as d, N as l, k as S, O as g, l as y, P, n as x, Q as c, o as F, R as G, p as T, S as h, q as k, t as q, v as Q, r as R, b as v, x as B, c as C, y as N, u as f, z as w, B as D, d as E, a as H, E as I, J as M } from "./index-2I_COrHX.chunk.js";
1
+ import { C as r, D as u, F as n, G as m, H as d, i as l, L as p, N as L, k as S, O as g, l as y, P, n as x, Q as c, o as F, R as G, p as M, S as T, q as h, t as k, v as q, r as Q, b as R, x as v, y as B, z as C, c as N, B as f, u as w, E as D, J as E, d as H, a as I, K as O, M as W } from "./index-Jf-VYQNs.chunk.js";
2
2
  import "react";
3
3
  import "antd";
4
4
  import "react-dom";
5
5
  import "react-router-dom";
6
6
  export {
7
7
  r as ContextProvider,
8
- n as DynamicTags,
9
- u as FilterFormWrapper,
8
+ u as DynamicTags,
9
+ n as FilterFormWrapper,
10
10
  m as GameSelect,
11
- p as Highlight,
12
- L as InfiniteList,
13
- d as Layout,
14
- l as NavMenu,
11
+ d as Highlight,
12
+ l as InfiniteList,
13
+ p as Layout,
14
+ L as NavMenu,
15
15
  S as NotFound,
16
16
  g as OperationLogList,
17
17
  y as Permission,
@@ -20,21 +20,23 @@ export {
20
20
  c as QueryList,
21
21
  F as QueryListAction,
22
22
  G as RequestError,
23
- T as RequireGame,
24
- h as SignIn,
25
- k as UserWidget,
26
- q as contextStore,
27
- Q as mixedStorage,
28
- R as request,
29
- v as useFormModal,
30
- B as useGameStore,
31
- C as usePermission,
32
- N as usePermissions,
33
- f as useQueryListStore,
34
- w as useTokenStore,
35
- D as useTokenValidation,
36
- E as useToolkitsContext,
37
- H as useTranslation,
38
- I as withBaseRoutes,
39
- M as withLayout
23
+ M as RequireGame,
24
+ T as SignIn,
25
+ h as UserWidget,
26
+ k as contextStore,
27
+ q as mixedStorage,
28
+ Q as request,
29
+ R as useFormModal,
30
+ v as useGameStore,
31
+ B as useModal,
32
+ C as useModalStore,
33
+ N as usePermission,
34
+ f as usePermissions,
35
+ w as useQueryListStore,
36
+ D as useTokenStore,
37
+ E as useTokenValidation,
38
+ H as useToolkitsContext,
39
+ I as useTranslation,
40
+ O as withBaseRoutes,
41
+ W as withLayout
40
42
  };
package/lib/style.css CHANGED
@@ -1 +1 @@
1
- *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.left-0{left:0}.left-14{left:3.5rem}.right-0{right:0}.right-16{right:4rem}.top-0{top:0}.top-1\/2{top:50%}.top-16{top:4rem}.top-6{top:1.5rem}.z-10{z-index:10}.my-12{margin-top:3rem;margin-bottom:3rem}.-mb-0{margin-bottom:-0px}.-mb-0\.5{margin-bottom:-.125rem}.mb-12{margin-bottom:3rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-2{margin-left:.5rem}.ml-64{margin-left:16rem}.ml-8{margin-left:2rem}.mr-2{margin-right:.5rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.h-10{height:2.5rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:8rem}.w-10\/12{width:83.333333%}.w-12{width:3rem}.w-8{width:2rem}.w-\[18px\]{width:18px}.w-\[650px\]{width:650px}.w-full{width:100%}.w-screen{width:100vw}.flex-1{flex:1 1 0%}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-10{--tw-translate-y: -2.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.overflow-auto{overflow:auto}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.p-6{padding:1.5rem}.px-36{padding-left:9rem;padding-right:9rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.filter{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)}html,body{padding:0;margin:0}.toolkits-modal .ant-modal-confirm .ant-modal-confirm-paragraph{max-width:100%!important}
1
+ *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.left-0{left:0}.left-14{left:3.5rem}.right-0{right:0}.right-16{right:4rem}.top-0{top:0}.top-1\/2{top:50%}.top-16{top:4rem}.top-6{top:1.5rem}.z-10{z-index:10}.my-12{margin-top:3rem;margin-bottom:3rem}.-mb-0{margin-bottom:-0px}.-mb-0\.5{margin-bottom:-.125rem}.mb-12{margin-bottom:3rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-2{margin-left:.5rem}.ml-64{margin-left:16rem}.ml-8{margin-left:2rem}.mr-2{margin-right:.5rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.h-10{height:2.5rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:8rem}.w-10\/12{width:83.333333%}.w-12{width:3rem}.w-8{width:2rem}.w-\[18px\]{width:18px}.w-\[650px\]{width:650px}.w-full{width:100%}.w-screen{width:100vw}.flex-1{flex:1 1 0%}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-10{--tw-translate-y: -2.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.overflow-auto{overflow:auto}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.p-6{padding:1.5rem}.px-36{padding-left:9rem;padding-right:9rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.filter{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)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-toolkits",
3
- "version": "0.8.21",
3
+ "version": "0.8.23",
4
4
  "packageManager": "^pnpm@8.7.5",
5
5
  "sideEffects": [
6
6
  "**/*.css"
@@ -1,187 +0,0 @@
1
- import { A as M, _ as N, u as b, a as U, j as e, P as j, H as z, Q as H, b as A } from "./index-2I_COrHX.chunk.js";
2
- import { App as y, Row as R, Col as E, Tag as w, Space as G, Card as _, Form as u, Input as L, Select as C } from "antd";
3
- import { p as I } from "./immer-BLf7GM7E.chunk.js";
4
- import { Link as D } from "react-router-dom";
5
- import { u as P, a as Q, b as k, c as V } from "./index-EAawrEpf.chunk.js";
6
- import * as O from "react";
7
- import "react-dom";
8
- var $ = { icon: { tag: "svg", attrs: { viewBox: "64 64 896 896", focusable: "false" }, children: [{ tag: "path", attrs: { d: "M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 00-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00137 888.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 008.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 01340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 01683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, name: "user-add", theme: "outlined" };
9
- const q = $;
10
- var v = function(c, a) {
11
- return /* @__PURE__ */ O.createElement(M, N({}, c, {
12
- ref: a,
13
- icon: q
14
- }));
15
- };
16
- process.env.NODE_ENV !== "production" && (v.displayName = "UserAddOutlined");
17
- const B = /* @__PURE__ */ O.forwardRef(v), { Option: F } = C, g = "/api/usystem/user/list";
18
- function K() {
19
- const { message: d } = y.useApp(), c = Q(), { data: a, isLoading: m } = k(), { setPayload: p } = b(), n = U();
20
- return A({
21
- title: n("UserList.createTitle"),
22
- content: (o) => /* @__PURE__ */ e.jsxs(u, { form: o, labelCol: { flex: "80px" }, children: [
23
- /* @__PURE__ */ e.jsx(u.Item, { label: n("global.name"), name: "name", rules: [{ required: !0 }], children: /* @__PURE__ */ e.jsx(L, {}) }),
24
- /* @__PURE__ */ e.jsx(u.Item, { label: n("global.role"), name: "roles", children: /* @__PURE__ */ e.jsx(C, { allowClear: !0, mode: "multiple", loading: m, children: (a ?? []).map((r) => /* @__PURE__ */ e.jsx(F, { value: r.name, children: r.name }, r.id)) }) })
25
- ] }),
26
- async onConfirm(o) {
27
- await c.trigger(o), p(g, { page: 1 }), d.success(n("UserList.createSuccessfully"));
28
- }
29
- });
30
- }
31
- function J() {
32
- const { message: d } = y.useApp(), c = V(), { data: a, isLoading: m } = k(), { mutate: p } = b(), n = U();
33
- return A({
34
- title: n("UserList.updateTitle"),
35
- content: (o) => /* @__PURE__ */ e.jsxs(u, { form: o, labelCol: { flex: "80px" }, children: [
36
- /* @__PURE__ */ e.jsx(u.Item, { label: n("global.name"), name: "name", rules: [{ required: !0 }], children: /* @__PURE__ */ e.jsx(L, { readOnly: !0 }) }),
37
- /* @__PURE__ */ e.jsx(u.Item, { label: n("global.role"), name: "roles", children: /* @__PURE__ */ e.jsx(
38
- C,
39
- {
40
- allowClear: !0,
41
- mode: "multiple",
42
- loading: m,
43
- options: a == null ? void 0 : a.map((r) => ({
44
- label: r.name,
45
- value: r.name
46
- })),
47
- dropdownStyle: { zIndex: 9999 }
48
- }
49
- ) })
50
- ] }),
51
- async onConfirm(o, r, s) {
52
- await c.trigger(o), p(
53
- g,
54
- (h) => I(h, (t) => {
55
- var l;
56
- if (t != null && t.dataSource) {
57
- const i = (l = t.dataSource) == null ? void 0 : l.findIndex((x) => x.id === s.id);
58
- i !== -1 && (t.dataSource[i].roles = o.roles);
59
- }
60
- }),
61
- { revalidate: !1 }
62
- ), d.success(n("UserList.updateSuccessfully"));
63
- }
64
- });
65
- }
66
- const se = () => {
67
- const { modal: d, message: c } = y.useApp(), a = P(), { mutate: m } = b(), { show: p, contextHolder: n } = K(), { show: o, contextHolder: r } = J(), s = U(), h = [
68
- {
69
- title: s("global.name"),
70
- dataIndex: "name",
71
- key: "name"
72
- },
73
- {
74
- title: "ID",
75
- dataIndex: "id",
76
- key: "id"
77
- },
78
- {
79
- title: s("global.role"),
80
- dataIndex: "roles",
81
- key: "roles",
82
- width: "40%",
83
- render(t) {
84
- return /* @__PURE__ */ e.jsx(R, { gutter: [4, 4], children: (t || []).map((l) => /* @__PURE__ */ e.jsx(E, { children: l === "root" ? /* @__PURE__ */ e.jsx(w, { color: "#f50", children: l }) : /* @__PURE__ */ e.jsx(w, { color: "#ff5a00", children: /* @__PURE__ */ e.jsx(D, { to: `/permission/role/${l}`, children: l }) }) }, l)) });
85
- }
86
- },
87
- {
88
- title: s("global.creationTime"),
89
- dataIndex: "Ctime",
90
- key: "ctime"
91
- },
92
- {
93
- title: s("global.operation"),
94
- width: 150,
95
- align: "center",
96
- render: (t) => /* @__PURE__ */ e.jsxs(G, { children: [
97
- /* @__PURE__ */ e.jsx(
98
- j,
99
- {
100
- isGlobalNS: !0,
101
- size: "small",
102
- type: "link",
103
- code: "100003",
104
- onClick: () => {
105
- o({
106
- initialValues: {
107
- name: t.name,
108
- roles: t.roles
109
- },
110
- extraValues: {
111
- id: t.id
112
- }
113
- });
114
- },
115
- children: s("global.update")
116
- }
117
- ),
118
- /* @__PURE__ */ e.jsx(
119
- j,
120
- {
121
- isGlobalNS: !0,
122
- danger: !0,
123
- size: "small",
124
- code: "100004",
125
- type: "link",
126
- onClick: () => {
127
- d.confirm({
128
- title: s("UserList.deleteTitle"),
129
- content: /* @__PURE__ */ e.jsx(z, { texts: [t.name], children: s("UserList.deleteContent", { user: t.name }) }),
130
- async onOk() {
131
- await a.trigger({
132
- id: t.id,
133
- name: t.name
134
- }), m(g, (l) => I(l, (i) => {
135
- var S, f;
136
- const x = (S = i == null ? void 0 : i.dataSource) == null ? void 0 : S.findIndex((T) => T.id === t.id);
137
- x && ((f = i == null ? void 0 : i.dataSource) == null || f.splice(x, 1));
138
- })), c.success(s("UserList.deleteSuccessfully"));
139
- }
140
- });
141
- },
142
- children: s("global.delete")
143
- }
144
- )
145
- ] })
146
- }
147
- ];
148
- return /* @__PURE__ */ e.jsxs(
149
- _,
150
- {
151
- title: s("global.user"),
152
- extra: /* @__PURE__ */ e.jsx(
153
- j,
154
- {
155
- isGlobalNS: !0,
156
- type: "primary",
157
- icon: /* @__PURE__ */ e.jsx(B, {}),
158
- code: "100002",
159
- onClick: () => {
160
- p();
161
- },
162
- children: s("UserList.createTitle")
163
- }
164
- ),
165
- children: [
166
- /* @__PURE__ */ e.jsx(
167
- H,
168
- {
169
- isGlobalNS: !0,
170
- code: "100001",
171
- action: g,
172
- rowKey: "id",
173
- columns: h,
174
- getTotal: (t) => t.Total,
175
- getDataSource: (t) => t.List
176
- }
177
- ),
178
- n,
179
- r
180
- ]
181
- }
182
- );
183
- };
184
- export {
185
- g as action,
186
- se as default
187
- };