@dinhn1202/ui-kit 0.1.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.
- package/README.md +129 -0
- package/dist/components/Button/Button.d.ts +6 -0
- package/dist/components/Button/Button.d.ts.map +1 -0
- package/dist/components/Button/index.d.ts +3 -0
- package/dist/components/Button/index.d.ts.map +1 -0
- package/dist/components/DatePicker/DatePicker.d.ts +6 -0
- package/dist/components/DatePicker/DatePicker.d.ts.map +1 -0
- package/dist/components/DatePicker/index.d.ts +2 -0
- package/dist/components/DatePicker/index.d.ts.map +1 -0
- package/dist/components/Input/Input.d.ts +4 -0
- package/dist/components/Input/Input.d.ts.map +1 -0
- package/dist/components/Input/index.d.ts +3 -0
- package/dist/components/Input/index.d.ts.map +1 -0
- package/dist/components/InputNumber/InputNumber.d.ts +6 -0
- package/dist/components/InputNumber/InputNumber.d.ts.map +1 -0
- package/dist/components/InputNumber/index.d.ts +3 -0
- package/dist/components/InputNumber/index.d.ts.map +1 -0
- package/dist/components/Loading/Loading.d.ts +18 -0
- package/dist/components/Loading/Loading.d.ts.map +1 -0
- package/dist/components/Loading/index.d.ts +3 -0
- package/dist/components/Loading/index.d.ts.map +1 -0
- package/dist/components/Modal/Modal.d.ts +4 -0
- package/dist/components/Modal/Modal.d.ts.map +1 -0
- package/dist/components/Modal/index.d.ts +3 -0
- package/dist/components/Modal/index.d.ts.map +1 -0
- package/dist/components/Radio/Radio.d.ts +9 -0
- package/dist/components/Radio/Radio.d.ts.map +1 -0
- package/dist/components/Radio/index.d.ts +3 -0
- package/dist/components/Radio/index.d.ts.map +1 -0
- package/dist/components/Select/Select.d.ts +9 -0
- package/dist/components/Select/Select.d.ts.map +1 -0
- package/dist/components/Select/index.d.ts +3 -0
- package/dist/components/Select/index.d.ts.map +1 -0
- package/dist/components/Table/Table.d.ts +12 -0
- package/dist/components/Table/Table.d.ts.map +1 -0
- package/dist/components/Table/index.d.ts +3 -0
- package/dist/components/Table/index.d.ts.map +1 -0
- package/dist/components/TimePicker/TimePicker.d.ts +6 -0
- package/dist/components/TimePicker/TimePicker.d.ts.map +1 -0
- package/dist/components/TimePicker/index.d.ts +2 -0
- package/dist/components/TimePicker/index.d.ts.map +1 -0
- package/dist/components/TreeSelect/TreeSelect.d.ts +6 -0
- package/dist/components/TreeSelect/TreeSelect.d.ts.map +1 -0
- package/dist/components/TreeSelect/index.d.ts +3 -0
- package/dist/components/TreeSelect/index.d.ts.map +1 -0
- package/dist/components/Upload/Upload.d.ts +6 -0
- package/dist/components/Upload/Upload.d.ts.map +1 -0
- package/dist/components/Upload/index.d.ts +3 -0
- package/dist/components/Upload/index.d.ts.map +1 -0
- package/dist/components/UserSelect/UserSelect.d.ts +30 -0
- package/dist/components/UserSelect/UserSelect.d.ts.map +1 -0
- package/dist/components/UserSelect/index.d.ts +2 -0
- package/dist/components/UserSelect/index.d.ts.map +1 -0
- package/dist/components/index.d.ts +14 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/dto-ui-kit.cjs +22 -0
- package/dist/dto-ui-kit.css +1 -0
- package/dist/dto-ui-kit.js +919 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/theme/ThemeProvider.d.ts +8 -0
- package/dist/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/theme/components.d.ts +3 -0
- package/dist/theme/components.d.ts.map +1 -0
- package/dist/theme/index.d.ts +5 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/theme.d.ts +3 -0
- package/dist/theme/theme.d.ts.map +1 -0
- package/dist/theme/tokens.d.ts +3 -0
- package/dist/theme/tokens.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/vite.svg +1 -0
- package/package.json +58 -0
package/README.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# @dto/ui-kit
|
|
2
|
+
|
|
3
|
+
DTO shared React TypeScript UI kit based on Ant Design v6.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @dto/ui-kit
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Peer dependencies:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install react react-dom antd@^6.5.0
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
```tsx
|
|
20
|
+
import { CustomButton, CustomThemeProvider } from "@dto/ui-kit";
|
|
21
|
+
|
|
22
|
+
function App() {
|
|
23
|
+
return (
|
|
24
|
+
<CustomThemeProvider>
|
|
25
|
+
<CustomButton type="primary">Save</CustomButton>
|
|
26
|
+
</CustomThemeProvider>
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export default App;
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Override theme
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
import { CustomThemeProvider } from "@dto/ui-kit";
|
|
37
|
+
|
|
38
|
+
const customTheme = {
|
|
39
|
+
token: {
|
|
40
|
+
colorPrimary: "#722ed1",
|
|
41
|
+
borderRadius: 12,
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
function App() {
|
|
46
|
+
return (
|
|
47
|
+
<CustomThemeProvider theme={customTheme}>
|
|
48
|
+
<YourApp />
|
|
49
|
+
</CustomThemeProvider>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Available components
|
|
55
|
+
|
|
56
|
+
```tsx
|
|
57
|
+
import {
|
|
58
|
+
CustomButton,
|
|
59
|
+
CustomDatePicker,
|
|
60
|
+
CustomInput,
|
|
61
|
+
CustomInputNumber,
|
|
62
|
+
CustomLoading,
|
|
63
|
+
CustomModal,
|
|
64
|
+
CustomRadio,
|
|
65
|
+
CustomRadioGroup,
|
|
66
|
+
CustomSelect,
|
|
67
|
+
CustomTable,
|
|
68
|
+
CustomThemeProvider,
|
|
69
|
+
CustomTimePicker,
|
|
70
|
+
CustomTreeSelect,
|
|
71
|
+
CustomUpload,
|
|
72
|
+
CustomUploadDragger,
|
|
73
|
+
CustomUserSelect,
|
|
74
|
+
type UserSearchService,
|
|
75
|
+
} from "@dto/ui-kit";
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
`CustomButton` provides an optional `customVariant` (`primary`, `secondary`, or
|
|
79
|
+
`danger`). `CustomSelect`, `CustomInputNumber`, `CustomDatePicker`, `CustomTimePicker`, `CustomTreeSelect`, and `CustomTable` provide an optional `fullWidth` prop. By
|
|
80
|
+
default, `CustomTable` adds client-side sorting, value filters, global search, and
|
|
81
|
+
multi-column text filtering to flat, simple `dataIndex` columns. Its toolbar
|
|
82
|
+
also provides a searchable column chooser with drag-and-drop reordering. Set
|
|
83
|
+
`enableColumnFeatures={false}` to render the unenhanced Ant Design table;
|
|
84
|
+
`enableGlobalSearch` and `enableMultiColumnFiltering` can be disabled
|
|
85
|
+
independently. Pagination is shown by default with a page size selector and
|
|
86
|
+
quick jumper; pass `pagination={false}` to disable it.
|
|
87
|
+
All other Ant Design props remain available on their DTO wrappers.
|
|
88
|
+
|
|
89
|
+
`CustomLoading` renders the four-color animated dot treatment from the Framas splash reference. Pass `fullScreen` for a fixed viewport overlay, or wrap content with `overlay` to cover only that content area. Use `logoSrc` to render a brand image above the dots.
|
|
90
|
+
|
|
91
|
+
## User Select service
|
|
92
|
+
|
|
93
|
+
`CustomUserSelect` does not include the Microsoft Graph SDK or own authentication. Pass a service that searches your directory and, optionally, resolves each photo URL. The component debounces queries, cancels stale requests, and fetches missing avatars in parallel.
|
|
94
|
+
|
|
95
|
+
```tsx
|
|
96
|
+
import { CustomUserSelect, type UserSearchService } from "@dto/ui-kit";
|
|
97
|
+
|
|
98
|
+
const graphUserService: UserSearchService = {
|
|
99
|
+
searchUsers: (query, signal) => graphDirectory.searchUsers(query, signal),
|
|
100
|
+
getUserAvatar: (user, signal) => graphDirectory.getAvatarUrl(user.id, signal),
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
<CustomUserSelect
|
|
104
|
+
fullWidth
|
|
105
|
+
placeholder="Search by name or email"
|
|
106
|
+
service={graphUserService}
|
|
107
|
+
onChange={(userId, user) => console.log(userId, user)}
|
|
108
|
+
/>
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
`searchUsers` must return `{ id, displayName, email?, avatarUrl? }`. If `avatarUrl` is not included, implement `getUserAvatar` to fetch the Graph profile photo; initials are shown while no photo is available.
|
|
112
|
+
|
|
113
|
+
## Node.js compatibility
|
|
114
|
+
|
|
115
|
+
This package is configured for:
|
|
116
|
+
|
|
117
|
+
```txt
|
|
118
|
+
Node.js v18.20.8
|
|
119
|
+
Vite 6.4.3
|
|
120
|
+
@vitejs/plugin-react 4.7.0
|
|
121
|
+
vite-plugin-dts 4.5.4
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Do not upgrade Vite to v7+ unless Node.js is upgraded to a compatible version.
|
|
125
|
+
|
|
126
|
+
## Notes
|
|
127
|
+
|
|
128
|
+
This package wraps Ant Design components while preserving their original props.
|
|
129
|
+
Each DTO component extends the corresponding Ant Design component props.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ButtonProps as AntButtonProps } from 'antd';
|
|
2
|
+
export interface ButtonProps extends AntButtonProps {
|
|
3
|
+
customVariant?: "primary" | "secondary" | "danger";
|
|
4
|
+
}
|
|
5
|
+
export declare const CustomButton: ({ customVariant, className, children, ...props }: ButtonProps) => import("react").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,MAAM,CAAC;AAI1D,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,aAAa,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;CACpD;AAED,eAAO,MAAM,YAAY,GAAI,kDAK1B,WAAW,gCAOb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DatePickerProps as AntDatePickerProps } from 'antd';
|
|
2
|
+
export interface DatePickerProps extends AntDatePickerProps {
|
|
3
|
+
fullWidth?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare const CustomDatePicker: ({ fullWidth, className, style, ...props }: DatePickerProps) => import("react").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=DatePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,IAAI,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAIlE,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,gBAAgB,GAAI,2CAK9B,eAAe,gCAMjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAIxD,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;AAEvC,eAAO,MAAM,WAAW,GAAI,yBAAyB,UAAU,gCAE9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { InputNumberProps as AntInputNumberProps } from 'antd';
|
|
2
|
+
export interface InputNumberProps extends AntInputNumberProps {
|
|
3
|
+
fullWidth?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare const CustomInputNumber: ({ fullWidth, className, style, ...props }: InputNumberProps) => import("react").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=InputNumber.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputNumber.d.ts","sourceRoot":"","sources":["../../../src/components/InputNumber/InputNumber.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,IAAI,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAIpE,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,GAAI,2CAK/B,gBAAgB,gCAMlB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/InputNumber/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface LoadingProps {
|
|
3
|
+
/** Renders the loader as a fixed viewport overlay. */
|
|
4
|
+
fullScreen?: boolean;
|
|
5
|
+
/** Covers only the wrapped children instead of taking up its own layout space. */
|
|
6
|
+
overlay?: boolean;
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
/** Optional brand image displayed above the animated dots. */
|
|
9
|
+
logoSrc?: string;
|
|
10
|
+
logoAlt?: string;
|
|
11
|
+
/** Width of the logo and the dot track in pixels. */
|
|
12
|
+
logoWidth?: number;
|
|
13
|
+
/** Accessible text announced while the loader is visible. */
|
|
14
|
+
label?: string;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare const CustomLoading: ({ fullScreen, overlay, children, logoSrc, logoAlt, logoWidth, label, className, }: LoadingProps) => import("react").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=Loading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Loading.d.ts","sourceRoot":"","sources":["../../../src/components/Loading/Loading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,GAAI,mFAS3B,YAAY,gCAgCd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Loading/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAIxD,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;AAEvC,eAAO,MAAM,WAAW,GAAI,mCAAmC,UAAU,gCAIxE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RadioGroupProps as AntRadioGroupProps, RadioProps as AntRadioProps } from 'antd';
|
|
2
|
+
export type RadioProps = AntRadioProps;
|
|
3
|
+
export interface RadioGroupProps extends AntRadioGroupProps {
|
|
4
|
+
fullWidth?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const CustomRadio: ({ className, ...props }: RadioProps) => import("react").JSX.Element;
|
|
7
|
+
export declare const CustomRadioButton: ({ className, ...props }: RadioProps) => import("react").JSX.Element;
|
|
8
|
+
export declare const CustomRadioGroup: ({ fullWidth, className, style, ...props }: RadioGroupProps) => import("react").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=Radio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../../src/components/Radio/Radio.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,IAAI,kBAAkB,EACrC,UAAU,IAAI,aAAa,EAC5B,MAAM,MAAM,CAAC;AAId,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;AAEvC,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,WAAW,GAAI,yBAAyB,UAAU,gCAE9D,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,yBAAyB,UAAU,gCAEpE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,2CAK9B,eAAe,gCAMjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Radio/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3E,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SelectProps as AntSelectProps } from 'antd';
|
|
2
|
+
import { BaseOptionType, DefaultOptionType } from 'antd/es/select';
|
|
3
|
+
type DefaultSelectValueType = AntSelectProps["value"];
|
|
4
|
+
export interface SelectProps<ValueType = DefaultSelectValueType, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType> extends AntSelectProps<ValueType, OptionType> {
|
|
5
|
+
fullWidth?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const CustomSelect: <ValueType = DefaultSelectValueType, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>({ fullWidth, className, popupClassName, style, ...props }: SelectProps<ValueType, OptionType>) => import("react").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,MAAM,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAIxE,KAAK,sBAAsB,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;AAEtD,MAAM,WAAW,WAAW,CAC1B,SAAS,GAAG,sBAAsB,EAClC,UAAU,SAAS,cAAc,GAAG,iBAAiB,GAAG,iBAAiB,CACzE,SAAQ,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,GACvB,SAAS,GAAG,sBAAsB,EAClC,UAAU,SAAS,cAAc,GAAG,iBAAiB,GAAG,iBAAiB,EACzE,2DAMC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,gCAOpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TableProps as AntTableProps } from 'antd';
|
|
2
|
+
export interface TableProps<RecordType extends object = object> extends AntTableProps<RecordType> {
|
|
3
|
+
fullWidth?: boolean;
|
|
4
|
+
/** Enables automatic sort/filter controls and the table toolbar. */
|
|
5
|
+
enableColumnFeatures?: boolean;
|
|
6
|
+
/** Enables client-side search across simple dataIndex columns. */
|
|
7
|
+
enableGlobalSearch?: boolean;
|
|
8
|
+
/** Enables client-side text filters that are combined across columns. */
|
|
9
|
+
enableMultiColumnFiltering?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const CustomTable: <RecordType extends object = object>({ fullWidth, enableColumnFeatures, enableGlobalSearch, enableMultiColumnFiltering, className, columns, dataSource, pagination, style, ...props }: TableProps<RecordType>) => import("react").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=Table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/components/Table/Table.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAIV,UAAU,IAAI,aAAa,EAC5B,MAAM,MAAM,CAAC;AAkHd,MAAM,WAAW,UAAU,CAAC,UAAU,SAAS,MAAM,GAAG,MAAM,CAC5D,SAAQ,aAAa,CAAC,UAAU,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,yEAAyE;IACzE,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,eAAO,MAAM,WAAW,GAAI,UAAU,SAAS,MAAM,GAAG,MAAM,EAAE,kJAW7D,UAAU,CAAC,UAAU,CAAC,gCAgbxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TimePickerProps as AntTimePickerProps } from 'antd';
|
|
2
|
+
export interface TimePickerProps extends AntTimePickerProps {
|
|
3
|
+
fullWidth?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare const CustomTimePicker: ({ fullWidth, className, style, ...props }: TimePickerProps) => import("react").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=TimePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimePicker.d.ts","sourceRoot":"","sources":["../../../src/components/TimePicker/TimePicker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,IAAI,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAIlE,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,gBAAgB,GAAI,2CAK9B,eAAe,gCAMjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/TimePicker/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TreeSelectProps as AntTreeSelectProps } from 'antd';
|
|
2
|
+
export interface TreeSelectProps extends AntTreeSelectProps {
|
|
3
|
+
fullWidth?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare const CustomTreeSelect: ({ fullWidth, className, popupClassName, style, ...props }: TreeSelectProps) => import("react").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=TreeSelect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeSelect.d.ts","sourceRoot":"","sources":["../../../src/components/TreeSelect/TreeSelect.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,IAAI,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAIlE,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,gBAAgB,GAAI,2DAM9B,eAAe,gCAOjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/TreeSelect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DraggerProps as AntUploadDraggerProps, UploadProps as AntUploadProps } from 'antd';
|
|
2
|
+
export type UploadProps = AntUploadProps;
|
|
3
|
+
export type UploadDraggerProps = AntUploadDraggerProps;
|
|
4
|
+
export declare const CustomUpload: ({ className, ...props }: UploadProps) => import("react").JSX.Element;
|
|
5
|
+
export declare const CustomUploadDragger: ({ className, ...props }: UploadDraggerProps) => import("react").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=Upload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Upload.d.ts","sourceRoot":"","sources":["../../../src/components/Upload/Upload.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,IAAI,qBAAqB,EACrC,WAAW,IAAI,cAAc,EAC9B,MAAM,MAAM,CAAC;AAId,MAAM,MAAM,WAAW,GAAG,cAAc,CAAC;AACzC,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAEvD,eAAO,MAAM,YAAY,GAAI,yBAAyB,WAAW,gCAEhE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,yBAAyB,kBAAkB,gCAE9E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Upload/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC7D,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { SelectProps as AntSelectProps } from 'antd';
|
|
2
|
+
import { DefaultOptionType } from 'antd/es/select';
|
|
3
|
+
export interface UserSelectUser {
|
|
4
|
+
id: string;
|
|
5
|
+
displayName: string;
|
|
6
|
+
email?: string;
|
|
7
|
+
avatarUrl?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface UserSearchService {
|
|
10
|
+
searchUsers: (query: string, signal?: AbortSignal) => Promise<UserSelectUser[]>;
|
|
11
|
+
getUserAvatar?: (user: UserSelectUser, signal?: AbortSignal) => Promise<string | undefined>;
|
|
12
|
+
}
|
|
13
|
+
interface UserSelectOption extends DefaultOptionType {
|
|
14
|
+
value: string;
|
|
15
|
+
label: string;
|
|
16
|
+
user: UserSelectUser;
|
|
17
|
+
}
|
|
18
|
+
export interface UserSelectProps extends Omit<AntSelectProps<string, UserSelectOption>, "filterOption" | "labelRender" | "loading" | "mode" | "notFoundContent" | "onChange" | "onSearch" | "options" | "optionRender" | "searchValue" | "showSearch"> {
|
|
19
|
+
/** Service that searches Microsoft Graph (or another user directory). */
|
|
20
|
+
service: UserSearchService;
|
|
21
|
+
/** Minimum number of characters required before searching. */
|
|
22
|
+
minSearchLength?: number;
|
|
23
|
+
/** Delay before submitting a search request. */
|
|
24
|
+
debounceMs?: number;
|
|
25
|
+
fullWidth?: boolean;
|
|
26
|
+
onChange?: (userId: string | undefined, user?: UserSelectUser) => void;
|
|
27
|
+
}
|
|
28
|
+
export declare const CustomUserSelect: ({ className, debounceMs, fullWidth, minSearchLength, onChange, popupClassName, service, ...props }: UserSelectProps) => import("react").JSX.Element;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=UserSelect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserSelect.d.ts","sourceRoot":"","sources":["../../../src/components/UserSelect/UserSelect.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,MAAM,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAMxD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAChF,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC7F;AAED,UAAU,gBAAiB,SAAQ,iBAAiB;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,cAAc,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACtC,cAAc,GACd,aAAa,GACb,SAAS,GACT,MAAM,GACN,iBAAiB,GACjB,UAAU,GACV,UAAU,GACV,SAAS,GACT,cAAc,GACd,aAAa,GACb,YAAY,CACf;IACC,yEAAyE;IACzE,OAAO,EAAE,iBAAiB,CAAC;IAC3B,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;CACxE;AAuBD,eAAO,MAAM,gBAAgB,GAAI,oGAS9B,eAAe,gCAyHjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/UserSelect/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from './Button';
|
|
2
|
+
export * from './Input';
|
|
3
|
+
export * from './Select';
|
|
4
|
+
export * from './UserSelect';
|
|
5
|
+
export * from './Modal';
|
|
6
|
+
export * from './Table';
|
|
7
|
+
export * from './Loading';
|
|
8
|
+
export * from './InputNumber';
|
|
9
|
+
export * from './DatePicker';
|
|
10
|
+
export * from './TimePicker';
|
|
11
|
+
export * from './Radio';
|
|
12
|
+
export * from './TreeSelect';
|
|
13
|
+
export * from './Upload';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react"),b=require("antd"),K=require("@ant-design/icons");var le={exports:{}},ee={};/**
|
|
2
|
+
* @license React
|
|
3
|
+
* react-jsx-runtime.production.js
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/var me;function Ne(){if(me)return ee;me=1;var t=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function i(a,u,m){var g=null;if(m!==void 0&&(g=""+m),u.key!==void 0&&(g=""+u.key),"key"in u){m={};for(var N in u)N!=="key"&&(m[N]=u[N])}else m=u;return u=m.ref,{$$typeof:t,type:a,key:g,ref:u!==void 0?u:null,props:m}}return ee.Fragment=r,ee.jsx=i,ee.jsxs=i,ee}var te={};/**
|
|
10
|
+
* @license React
|
|
11
|
+
* react-jsx-runtime.development.js
|
|
12
|
+
*
|
|
13
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
14
|
+
*
|
|
15
|
+
* This source code is licensed under the MIT license found in the
|
|
16
|
+
* LICENSE file in the root directory of this source tree.
|
|
17
|
+
*/var fe;function Te(){return fe||(fe=1,process.env.NODE_ENV!=="production"&&(function(){function t(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===B?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case O:return"Fragment";case F:return"Profiler";case H:return"StrictMode";case x:return"Suspense";case j:return"SuspenseList";case D:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case z:return"Portal";case U:return e.displayName||"Context";case q:return(e._context.displayName||"Context")+".Consumer";case S:var c=e.render;return e=e.displayName,e||(e=c.displayName||c.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case X:return c=e.displayName||null,c!==null?c:t(e.type)||"Memo";case T:c=e._payload,e=e._init;try{return t(e(c))}catch{}}return null}function r(e){return""+e}function i(e){try{r(e);var c=!1}catch{c=!0}if(c){c=console;var f=c.error,h=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return f.call(c,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",h),r(e)}}function a(e){if(e===O)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===T)return"<...>";try{var c=t(e);return c?"<"+c+">":"<...>"}catch{return"<...>"}}function u(){var e=_.A;return e===null?null:e.getOwner()}function m(){return Error("react-stack-top-frame")}function g(e){if(y.call(e,"key")){var c=Object.getOwnPropertyDescriptor(e,"key").get;if(c&&c.isReactWarning)return!1}return e.key!==void 0}function N(e,c){function f(){Z||(Z=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",c))}f.isReactWarning=!0,Object.defineProperty(e,"key",{get:f,configurable:!0})}function P(){var e=t(this.type);return oe[e]||(oe[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function J(e,c,f,h,s,l){var n=f.ref;return e={$$typeof:M,type:e,key:c,props:f,_owner:h},(n!==void 0?n:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:P}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:s}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:l}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function $(e,c,f,h,s,l){var n=c.children;if(n!==void 0)if(h)if(G(n)){for(h=0;h<n.length;h++)I(n[h]);Object.freeze&&Object.freeze(n)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else I(n);if(y.call(c,"key")){n=t(e);var p=Object.keys(c).filter(function(L){return L!=="key"});h=0<p.length?"{key: someKey, "+p.join(": ..., ")+": ...}":"{key: someKey}",ae[n+h]||(p=0<p.length?"{"+p.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
18
|
+
let props = %s;
|
|
19
|
+
<%s {...props} />
|
|
20
|
+
React keys must be passed directly to JSX without using spread:
|
|
21
|
+
let props = %s;
|
|
22
|
+
<%s key={someKey} {...props} />`,h,n,p,n),ae[n+h]=!0)}if(n=null,f!==void 0&&(i(f),n=""+f),g(c)&&(i(c.key),n=""+c.key),"key"in c){f={};for(var R in c)R!=="key"&&(f[R]=c[R])}else f=c;return n&&N(f,typeof e=="function"?e.displayName||e.name||"Unknown":e),J(e,n,f,u(),s,l)}function I(e){Y(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===T&&(e._payload.status==="fulfilled"?Y(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function Y(e){return typeof e=="object"&&e!==null&&e.$$typeof===M}var A=d,M=Symbol.for("react.transitional.element"),z=Symbol.for("react.portal"),O=Symbol.for("react.fragment"),H=Symbol.for("react.strict_mode"),F=Symbol.for("react.profiler"),q=Symbol.for("react.consumer"),U=Symbol.for("react.context"),S=Symbol.for("react.forward_ref"),x=Symbol.for("react.suspense"),j=Symbol.for("react.suspense_list"),X=Symbol.for("react.memo"),T=Symbol.for("react.lazy"),D=Symbol.for("react.activity"),B=Symbol.for("react.client.reference"),_=A.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,y=Object.prototype.hasOwnProperty,G=Array.isArray,Q=console.createTask?console.createTask:function(){return null};A={react_stack_bottom_frame:function(e){return e()}};var Z,oe={},se=A.react_stack_bottom_frame.bind(A,m)(),ne=Q(a(m)),ae={};te.Fragment=O,te.jsx=function(e,c,f){var h=1e4>_.recentlyCreatedOwnerStacks++;return $(e,c,f,!1,h?Error("react-stack-top-frame"):se,h?Q(a(e)):ne)},te.jsxs=function(e,c,f){var h=1e4>_.recentlyCreatedOwnerStacks++;return $(e,c,f,!0,h?Error("react-stack-top-frame"):se,h?Q(a(e)):ne)}})()),te}var pe;function Re(){return pe||(pe=1,process.env.NODE_ENV==="production"?le.exports=Ne():le.exports=Te()),le.exports}var o=Re();function xe(t){var r,i,a="";if(typeof t=="string"||typeof t=="number")a+=t;else if(typeof t=="object")if(Array.isArray(t)){var u=t.length;for(r=0;r<u;r++)t[r]&&(i=xe(t[r]))&&(a&&(a+=" "),a+=i)}else for(i in t)t[i]&&(a&&(a+=" "),a+=i);return a}function v(){for(var t,r,i=0,a="",u=arguments.length;i<u;i++)(t=arguments[i])&&(r=xe(t))&&(a&&(a+=" "),a+=r);return a}const Ee="_button_1wcp1_1",ke="_secondary_1wcp1_31",Pe="_danger_1wcp1_37",_e={button:Ee,secondary:ke,danger:Pe},re=({customVariant:t="primary",className:r,children:i,...a})=>o.jsx(b.Button,{...a,className:v(_e.button,_e[t],r),children:i}),Ie="_input_1tcmw_1",Ae={input:Ie},ie=({className:t,...r})=>o.jsx(b.Input,{...r,className:v(Ae.input,t)}),Oe="_select_e8rgx_1",De="_popup_e8rgx_10",ge={select:Oe,popup:De},ye=({fullWidth:t,className:r,popupClassName:i,style:a,...u})=>o.jsx(b.Select,{...u,className:v(ge.select,r),popupClassName:v(ge.popup,i),style:{...t?{width:"100%"}:{},...a}}),$e="_userSelect_zu1fg_1",Me="_identity_zu1fg_5",Fe="_identityCompact_zu1fg_12",Ue="_avatar_zu1fg_16",ze="_userDetails_zu1fg_24",He="_displayName_zu1fg_30",Be="_email_zu1fg_31",Le="_message_zu1fg_47",Ye="_popup_zu1fg_58",k={userSelect:$e,identity:Me,identityCompact:Fe,avatar:Ue,userDetails:ze,displayName:He,email:Be,message:Le,popup:Ye},qe=t=>t.split(" ").filter(Boolean).slice(0,2).map(r=>r[0]).join("").toUpperCase(),he=({compact:t=!1,user:r})=>o.jsxs("span",{className:v(k.identity,{[k.identityCompact]:t}),children:[o.jsx(b.Avatar,{alt:r.displayName,className:k.avatar,size:t?22:32,src:r.avatarUrl,children:qe(r.displayName)}),o.jsxs("span",{className:k.userDetails,children:[o.jsx("span",{className:k.displayName,children:r.displayName}),!t&&r.email?o.jsx("span",{className:k.email,children:r.email}):null]})]}),Ge=({className:t,debounceMs:r=300,fullWidth:i,minSearchLength:a=2,onChange:u,popupClassName:m,service:g,...N})=>{const[P,J]=d.useState(""),[$,I]=d.useState([]),[Y,A]=d.useState({}),[M,z]=d.useState(!1),[O,H]=d.useState(!1),F=d.useRef(0);d.useEffect(()=>{const S=P.trim(),x=++F.current;if(S.length<a){I([]),H(!1),z(!1);return}const j=new AbortController,X=window.setTimeout(()=>{(async()=>{z(!0),H(!0);try{const D=await g.searchUsers(S,j.signal);if(j.signal.aborted||x!==F.current||(I(D),A(_=>({..._,...Object.fromEntries(D.map(y=>[y.id,y]))})),!g.getUserAvatar))return;const B=await Promise.all(D.map(async _=>{var y;if(_.avatarUrl)return _;try{const G=await((y=g.getUserAvatar)==null?void 0:y.call(g,_,j.signal));return G?{..._,avatarUrl:G}:_}catch{return _}}));if(j.signal.aborted||x!==F.current)return;I(B),A(_=>({..._,...Object.fromEntries(B.map(y=>[y.id,y]))}))}catch{!j.signal.aborted&&x===F.current&&I([])}finally{!j.signal.aborted&&x===F.current&&z(!1)}})()},r);return()=>{window.clearTimeout(X),j.abort()}},[r,a,P,g]);const q=d.useMemo(()=>$.map(S=>({label:S.displayName,user:S,value:S.id})),[$]),U=M?o.jsxs("span",{className:k.message,children:[o.jsx(b.Spin,{size:"small"})," Searching users..."]}):P.trim().length<a?o.jsxs("span",{className:k.message,children:["Type at least ",a," characters to search."]}):O?o.jsx("span",{className:k.message,children:"No users found."}):null;return o.jsx(ye,{...N,className:v(k.userSelect,t),filterOption:!1,fullWidth:i,labelRender:({value:S})=>{const x=Y[String(S)];return x?o.jsx(he,{compact:!0,user:x}):String(S)},loading:M,notFoundContent:U,options:q,optionRender:({data:S})=>o.jsx(he,{user:S.user}),popupClassName:v(k.popup,m),showSearch:!0,onChange:(S,x)=>{const j=Array.isArray(x)?x[0]:x;u==null||u(S,j==null?void 0:j.user)},onSearch:J})},Ve={},We=({className:t,children:r,...i})=>o.jsx(b.Modal,{...i,className:v(Ve.modal,t),children:r}),Je="_container_we3bi_1",Xe="_toolbar_we3bi_5",Qe="_toolbarActions_we3bi_13",Ze="_globalSearch_we3bi_19",Ke="_columnChooser_we3bi_23",et="_filterPanel_we3bi_24",tt="_popoverHeader_we3bi_30",rt="_popoverSearch_we3bi_52",ot="_columnList_we3bi_56",st="_columnItem_we3bi_63",nt="_columnItemDragging_we3bi_79",at="_columnItemDropTarget_we3bi_83",lt="_columnItemContent_we3bi_88",it="_dragHandle_we3bi_95",ct="_filterFields_we3bi_107",ut="_filterField_we3bi_107",dt="_keywordHighlight_we3bi_122",mt="_emptyState_we3bi_129",ft="_table_we3bi_136",C={container:Je,toolbar:Xe,toolbarActions:Qe,globalSearch:Ze,columnChooser:Ke,filterPanel:et,popoverHeader:tt,popoverSearch:rt,columnList:ot,columnItem:st,columnItemDragging:nt,columnItemDropTarget:at,columnItemContent:lt,dragHandle:it,filterFields:ct,filterField:ut,keywordHighlight:dt,emptyState:mt,table:ft},pt=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),_t=(t,r,i)=>!r||typeof t!="string"&&typeof t!="number"?t:String(t).split(r).map((a,u)=>r.test(a)?o.jsx("mark",{className:i,children:a},`${a}-${u}`):a),be=t=>"children"in t,gt=(t,r)=>t.key!==void 0?String(t.key):t.dataIndex!==void 0?Array.isArray(t.dataIndex)?t.dataIndex.join("."):String(t.dataIndex):`column-${r}`,ue=(t,r)=>typeof t.title=="string"||typeof t.title=="number"?String(t.title):r,V=(t,r)=>r===void 0?void 0:(Array.isArray(r)?r:[r]).reduce((a,u)=>{if(!(a===null||typeof a!="object")&&!(typeof u!="string"&&typeof u!="number"&&typeof u!="symbol"))return a[u]},t),W=t=>String(t??"").toLocaleLowerCase(),ht=(t,r)=>typeof t=="number"&&typeof r=="number"?t-r:String(t??"").localeCompare(String(r??""),void 0,{numeric:!0,sensitivity:"base"}),bt=({fullWidth:t,enableColumnFeatures:r=!0,enableGlobalSearch:i=!0,enableMultiColumnFiltering:a=!0,className:u,columns:m,dataSource:g,pagination:N,style:P,...J})=>{const[$,I]=d.useState(()=>new Set),[Y,A]=d.useState([]),[M,z]=d.useState(""),[O,H]=d.useState(null),[F,q]=d.useState(null),[U,S]=d.useState(""),[x,j]=d.useState({}),X=d.useMemo(()=>N===!1?!1:{pageSize:10,showSizeChanger:!0,showQuickJumper:!0,hideOnSinglePage:!1,showTotal:(s,l)=>`${l[0]}-${l[1]} of ${s} items`,...N},[N]),T=d.useMemo(()=>m?m.flatMap((s,l)=>be(s)?[]:[{column:s,id:gt(s,l)}]):[],[m]),D=d.useMemo(()=>new Map(T.map(s=>[s.id,s])),[T]),B=d.useMemo(()=>(m==null?void 0:m.some(s=>be(s)))??!1,[m]),_=d.useMemo(()=>T.filter(s=>s.column.dataIndex!==void 0),[T]),y=d.useMemo(()=>{const s=T.map(n=>n.id),l=Y.filter(n=>s.includes(n));return[...l,...s.filter(n=>!l.includes(n))]},[T,Y]),G=d.useMemo(()=>{const s=W(M).trim();return y.flatMap(l=>{const n=D.get(l);if(!n)return[];const p=ue(n.column,l);return s&&!W(p).includes(s)?[]:[n]})},[D,M,y]),Q=d.useMemo(()=>{if(!g||_.length===0)return g;const s=W(U).trim(),l=_.filter(({id:n})=>{var p;return!!((p=x[n])!=null&&p.trim())});return!s&&l.length===0?g:g.filter(n=>{const p=!s||_.some(({column:L})=>W(V(n,L.dataIndex)).includes(s)),R=l.every(({column:L,id:w})=>W(V(n,L.dataIndex)).includes(W(x[w]).trim()));return p&&R})},[g,_,U,x]),Z=d.useMemo(()=>{const s=Array.from(new Set([U,...Object.values(x)].map(l=>l.trim()).filter(Boolean).sort((l,n)=>n.length-l.length)));return s.length>0?new RegExp(`(${s.map(pt).join("|")})`,"i"):void 0},[U,x]),oe=d.useMemo(()=>!m||!r||B?m:y.flatMap(s=>{var L;if($.has(s))return[];const l=(L=D.get(s))==null?void 0:L.column;if(!l)return[];const n=l.dataIndex;if(n===void 0)return[l];const R=Array.from(new Set((g??[]).map(w=>V(w,n)).filter(w=>w!=null))).map(w=>({text:String(w),value:String(w)}));return[{...l,render:l.render??(w=>_t(w,Z,C.keywordHighlight)),...l.sorter===void 0?{sorter:(w,ce)=>ht(V(w,n),V(ce,n))}:{},...l.filters===void 0&&l.onFilter===void 0&&l.filterDropdown===void 0&&R.length>0?{filterSearch:!0,filters:R,onFilter:(w,ce)=>String(V(ce,n))===String(w)}:{}}]}),[D,m,g,r,B,$,Z,y]),se=s=>{I(l=>{const n=new Set(l);return n.has(s)?n.delete(s):n.add(s),n})},ne=(s,l)=>{A(()=>{const n=y.indexOf(s),p=y.indexOf(l);if(n<0||p<0||n===p)return y;const R=[...y];return R.splice(n,1),R.splice(n<p?p-1:p,0,s),R})},ae=()=>{I(new Set),A([]),z("")},e=(s,l)=>{j(n=>({...n,[s]:l}))},c=r&&T.length>0&&!B?o.jsx(b.Popover,{trigger:"click",placement:"bottomRight",content:o.jsxs("div",{className:C.columnChooser,children:[o.jsxs("div",{className:C.popoverHeader,children:[o.jsxs("div",{children:[o.jsx("strong",{children:"Manage columns"}),o.jsx("span",{children:"Choose visibility and order"})]}),o.jsx(re,{size:"small",type:"link",onClick:ae,children:"Reset"})]}),o.jsx(ie,{className:C.popoverSearch,value:M,allowClear:!0,placeholder:"Search columns",prefix:o.jsx(K.SearchOutlined,{}),onChange:s=>z(s.target.value)}),o.jsx("div",{className:C.columnList,role:"list",children:G.length>0?G.map(s=>{const l=ue(s.column,s.id);return o.jsx("div",{"aria-label":`Drag ${l} to change column order`,className:v(C.columnItem,{[C.columnItemDragging]:O===s.id,[C.columnItemDropTarget]:F===s.id&&O!==s.id}),draggable:!0,role:"listitem",onDragEnd:()=>{H(null),q(null)},onDragOver:n=>{n.preventDefault(),n.dataTransfer.dropEffect="move",O!==s.id&&q(s.id)},onDragStart:n=>{n.dataTransfer.effectAllowed="move",n.dataTransfer.setData("text/plain",s.id),H(s.id)},onDrop:n=>{n.preventDefault();const p=O??n.dataTransfer.getData("text/plain");p&&p!==s.id&&ne(p,s.id),H(null),q(null)},children:o.jsxs("div",{className:C.columnItemContent,children:[o.jsx("span",{className:C.dragHandle,"aria-hidden":"true",children:o.jsx(K.HolderOutlined,{})}),o.jsx(b.Checkbox,{checked:!$.has(s.id),onChange:()=>se(s.id),children:l})]})},s.id)}):o.jsx("p",{className:C.emptyState,children:"No matching columns"})})]}),children:o.jsx(re,{icon:o.jsx(K.SettingOutlined,{}),size:"small",type:"text",children:"Columns"})}):null,f=a&&_.length>0?o.jsx(b.Popover,{trigger:"click",placement:"bottomRight",content:o.jsxs("div",{className:C.filterPanel,children:[o.jsxs("div",{className:C.popoverHeader,children:[o.jsxs("div",{children:[o.jsx("strong",{children:"Filter rows"}),o.jsx("span",{children:"Match all conditions"})]}),o.jsx(re,{size:"small",type:"link",onClick:()=>j({}),children:"Clear"})]}),o.jsx("div",{className:C.filterFields,children:_.map(s=>{const l=ue(s.column,s.id);return o.jsxs("label",{className:C.filterField,children:[o.jsx("span",{children:l}),o.jsx(ie,{value:x[s.id]??"",allowClear:!0,placeholder:`Filter ${l}`,onChange:n=>e(s.id,n.target.value)})]},s.id)})})]}),children:o.jsx(re,{icon:o.jsx(K.FilterOutlined,{}),size:"small",type:"text",children:"Filters"})}):null,h=i&&_.length>0||f||c?o.jsxs("div",{className:C.toolbar,children:[i&&_.length>0?o.jsx(ie,{className:C.globalSearch,value:U,allowClear:!0,placeholder:"Search all columns",prefix:o.jsx(K.SearchOutlined,{}),onChange:s=>S(s.target.value)}):o.jsx("span",{}),o.jsxs("div",{className:C.toolbarActions,children:[f,c]})]}):null;return o.jsxs("div",{className:C.container,children:[h,o.jsx(b.Table,{...J,columns:oe,dataSource:Q,pagination:X,className:v(C.table,u),style:{...t?{width:"100%"}:{},...P}})]})},vt="_loading_10h4y_1",xt="_fullScreen_10h4y_9",yt="_overlayContainer_10h4y_16",Ct="_overlay_10h4y_16",St="_content_10h4y_27",jt="_logo_10h4y_33",wt="_dots_10h4y_39",Nt="_dot_10h4y_39",E={loading:vt,fullScreen:xt,overlayContainer:yt,overlay:Ct,content:St,logo:jt,dots:wt,dot:Nt},Tt=({fullScreen:t=!1,overlay:r=!1,children:i,logoSrc:a,logoAlt:u="",logoWidth:m=160,label:g="Loading",className:N})=>{const P=o.jsx("div",{"aria-label":g,"aria-live":"polite",className:v(E.loading,{[E.fullScreen]:t&&!r,[E.overlay]:r},N),role:"status",children:o.jsxs("div",{className:E.content,style:{width:m},children:[a?o.jsx("img",{alt:u,className:E.logo,src:a}):null,o.jsxs("div",{"aria-hidden":"true",className:E.dots,children:[o.jsx("span",{className:E.dot}),o.jsx("span",{className:E.dot}),o.jsx("span",{className:E.dot}),o.jsx("span",{className:E.dot})]})]})});return r?o.jsxs("div",{className:E.overlayContainer,children:[i,P]}):P},Rt="_inputNumber_121a8_1",Et={inputNumber:Rt},kt=({fullWidth:t,className:r,style:i,...a})=>o.jsx(b.InputNumber,{...a,className:v(Et.inputNumber,r),style:{...t?{width:"100%"}:{},...i}}),Pt="_datePicker_zf87q_1",It={datePicker:Pt},At=({fullWidth:t,className:r,style:i,...a})=>o.jsx(b.DatePicker,{...a,className:v(It.datePicker,r),style:{...t?{width:"100%"}:{},...i}}),Ot="_timePicker_1usbo_1",Dt={timePicker:Ot},$t=({fullWidth:t,className:r,style:i,...a})=>o.jsx(b.TimePicker,{...a,className:v(Dt.timePicker,r),style:{...t?{width:"100%"}:{},...i}}),Mt="_radio_16nmm_1",Ft="_radioButton_16nmm_2",Ut="_group_16nmm_3",de={radio:Mt,radioButton:Ft,group:Ut},zt=({className:t,...r})=>o.jsx(b.Radio,{...r,className:v(de.radio,t)}),Ht=({className:t,...r})=>o.jsx(b.Radio.Button,{...r,className:v(de.radioButton,t)}),Bt=({fullWidth:t,className:r,style:i,...a})=>o.jsx(b.Radio.Group,{...a,className:v(de.group,r),style:{...t?{width:"100%"}:{},...i}}),Lt="_treeSelect_16xy2_1",Yt="_popup_16xy2_10",ve={treeSelect:Lt,popup:Yt},qt=({fullWidth:t,className:r,popupClassName:i,style:a,...u})=>o.jsx(b.TreeSelect,{...u,className:v(ve.treeSelect,r),popupClassName:v(ve.popup,i),style:{...t?{width:"100%"}:{},...a}}),Gt="_upload_wwgt2_1",Vt="_dragger_wwgt2_2",Ce={upload:Gt,dragger:Vt},Wt=({className:t,...r})=>o.jsx(b.Upload,{...r,className:v(Ce.upload,t)}),Jt=({className:t,...r})=>o.jsx(b.Upload.Dragger,{...r,className:v(Ce.dragger,t)}),Se={Button:{borderRadius:8,controlHeight:40},Input:{borderRadius:8,controlHeight:40,hoverBorderColor:"#000000",activeBorderColor:"#000000",activeShadow:"0 0 0 2px rgb(0 0 0 / 12%)"},Select:{borderRadius:8,controlHeight:40,hoverBorderColor:"#000000",activeBorderColor:"#000000",activeOutlineColor:"rgb(0 0 0 / 12%)",optionSelectedBg:"#404040",optionSelectedColor:"#ffffff"},Modal:{},Table:{}},je={colorPrimary:"#1677ff",borderRadius:8,controlHeight:40},we={token:je,components:Se},Xt=({children:t,theme:r})=>o.jsx(b.ConfigProvider,{theme:r??we,children:o.jsx(b.App,{children:t})});exports.CustomButton=re;exports.CustomDatePicker=At;exports.CustomInput=ie;exports.CustomInputNumber=kt;exports.CustomLoading=Tt;exports.CustomModal=We;exports.CustomRadio=zt;exports.CustomRadioButton=Ht;exports.CustomRadioGroup=Bt;exports.CustomSelect=ye;exports.CustomTable=bt;exports.CustomThemeProvider=Xt;exports.CustomTimePicker=$t;exports.CustomTreeSelect=qt;exports.CustomUpload=Wt;exports.CustomUploadDragger=Jt;exports.CustomUserSelect=Ge;exports.baseTokens=je;exports.componentTokens=Se;exports.dtoTheme=we;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._button_1wcp1_1{border-radius:var(--ant-border-radius)}._button_1wcp1_1.ant-btn-primary:not(:disabled){color:#fff!important;background-color:#404040!important;border-color:#404040!important}._button_1wcp1_1.ant-btn-primary:not(:disabled):hover{background-color:#525252!important;border-color:#525252!important}._button_1wcp1_1.ant-btn-primary:not(:disabled):active{background-color:#2f2f2f!important;border-color:#2f2f2f!important}._button_1wcp1_1.ant-btn-link:not(:disabled),._button_1wcp1_1.ant-btn-text:not(:disabled){color:#404040!important}._button_1wcp1_1.ant-btn-link:not(:disabled):hover,._button_1wcp1_1.ant-btn-text:not(:disabled):hover{color:#000!important}._secondary_1wcp1_31{background-color:transparent;border-color:var(--ant-color-border);color:var(--ant-color-text)}._danger_1wcp1_37{background-color:var(--ant-color-error);border-color:var(--ant-color-error);color:var(--ant-color-text-light-solid)}._danger_1wcp1_37.ant-btn-primary:not(:disabled){background-color:var(--ant-color-error)!important;border-color:var(--ant-color-error)!important}._input_1tcmw_1{box-sizing:border-box}._input_1tcmw_1.ant-input-outlined:hover,._input_1tcmw_1.ant-input-outlined:focus{border-color:#000!important}._input_1tcmw_1.ant-input-outlined:focus{box-shadow:0 0 0 2px #0000001f!important}._select_e8rgx_1.ant-select-outlined:hover,._select_e8rgx_1.ant-select-outlined.ant-select-focused{border-color:#000!important}._select_e8rgx_1.ant-select-outlined.ant-select-focused{box-shadow:0 0 0 2px #0000001f!important}._popup_e8rgx_10 .ant-select-item-option-selected:not(.ant-select-item-option-disabled){color:#fff!important;background:#404040!important}._popup_e8rgx_10 .ant-select-item-option-selected .ant-select-item-option-state{color:#fff!important}._userSelect_zu1fg_1{box-sizing:border-box}._identity_zu1fg_5{display:flex;align-items:center;gap:10px;min-width:0}._identityCompact_zu1fg_12{gap:8px}._avatar_zu1fg_16{flex:0 0 auto;color:#fff!important;background:#404040!important;font-size:11px;font-weight:700}._userDetails_zu1fg_24{display:grid;min-width:0;line-height:1.35}._displayName_zu1fg_30,._email_zu1fg_31{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._displayName_zu1fg_30{color:#1d2939;font-weight:600}._email_zu1fg_31{color:#667085;font-size:12px}._message_zu1fg_47{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;color:#667085;font-size:13px;text-align:center}._popup_zu1fg_58 .ant-select-item-option-content{display:block}._container_we3bi_1{width:100%}._toolbar_we3bi_5{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}._toolbarActions_we3bi_13{display:inline-flex;align-items:center;gap:2px}._globalSearch_we3bi_19{width:min(100%,320px)}._columnChooser_we3bi_23,._filterPanel_we3bi_24{display:grid;width:min(340px,100vw - 48px);gap:14px}._popoverHeader_we3bi_30{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}._popoverHeader_we3bi_30>div{display:grid;gap:3px}._popoverHeader_we3bi_30 strong{color:#182230;font-size:14px}._popoverHeader_we3bi_30 span{color:#667085;font-size:12px}._popoverSearch_we3bi_52{width:100%}._columnList_we3bi_56{display:grid;max-height:280px;gap:2px;overflow-y:auto}._columnItem_we3bi_63{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;padding:3px 8px;border-radius:8px;cursor:grab;transition:background-color .12s ease,box-shadow .12s ease,opacity .12s ease}._columnItem_we3bi_63:hover{background:#f8fafc}._columnItemDragging_we3bi_79{opacity:.45}._columnItemDropTarget_we3bi_83{background:#eff8ff;box-shadow:inset 0 0 0 1px #84caff}._columnItemContent_we3bi_88{display:inline-flex;align-items:center;min-width:0;gap:8px}._dragHandle_we3bi_95{display:inline-flex;flex:0 0 auto;color:#98a2b3;cursor:grab}._dragHandle_we3bi_95:active,._columnItem_we3bi_63:active{cursor:grabbing}._filterFields_we3bi_107{display:grid;max-height:320px;gap:12px;overflow-y:auto}._filterField_we3bi_107{display:grid;gap:6px;color:#344054;font-size:12px;font-weight:600}._keywordHighlight_we3bi_122{padding:0 2px;color:inherit;background:#fff3bf;border-radius:2px}._emptyState_we3bi_129{margin:8px 0;color:#98a2b3;font-size:13px;text-align:center}._table_we3bi_136{box-sizing:border-box}._table_we3bi_136 .ant-table-thead>tr>th{color:#fff;background:#404040;border-bottom-color:#404040}._table_we3bi_136 .ant-table-thead>tr>th:before{display:none}._table_we3bi_136 .ant-table-thead .ant-table-column-sorter,._table_we3bi_136 .ant-table-thead .ant-table-filter-trigger{color:#ffffffb8}._table_we3bi_136 .ant-table-thead .ant-table-column-sorter-up.active,._table_we3bi_136 .ant-table-thead .ant-table-column-sorter-down.active,._table_we3bi_136 .ant-table-thead .ant-table-filter-trigger.active,._table_we3bi_136 .ant-table-thead .ant-table-filter-trigger:hover{color:#fff}@media(max-width:560px){._toolbar_we3bi_5{align-items:stretch;flex-direction:column}._globalSearch_we3bi_19{width:100%}._toolbarActions_we3bi_13{justify-content:flex-end}}._loading_10h4y_1{display:grid;width:100%;min-height:160px;place-items:center;background:#fff}._fullScreen_10h4y_9{position:fixed;z-index:9999;top:0;right:0;bottom:0;left:0;min-height:100dvh}._overlayContainer_10h4y_16{position:relative}._overlay_10h4y_16{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;min-height:0}._content_10h4y_27{display:flex;flex-direction:column;align-items:center}._logo_10h4y_33{width:100%;height:60px;object-fit:contain}._dots_10h4y_39{display:flex;justify-content:space-between;width:100%;margin-top:25px}._dot_10h4y_39{width:16px;height:16px;border-radius:50%;animation:_bounce_10h4y_1 .5s ease-in-out infinite alternate}._dot_10h4y_39:nth-child(1){background:#4285f4;animation-delay:-.25s}._dot_10h4y_39:nth-child(2){background:#ea4335;animation-delay:-.5s}._dot_10h4y_39:nth-child(3){background:#fbbc05;animation-delay:-.75s}._dot_10h4y_39:nth-child(4){background:#34a853;animation-delay:-1s}@keyframes _bounce_10h4y_1{0%{transform:translateY(-8px)}to{transform:translateY(4px)}}@media(prefers-reduced-motion:reduce){._dot_10h4y_39{animation:none}}._inputNumber_121a8_1{box-sizing:border-box}._inputNumber_121a8_1.ant-input-number-outlined:hover,._inputNumber_121a8_1.ant-input-number-outlined:focus-within{border-color:#000!important}._inputNumber_121a8_1.ant-input-number-outlined:focus-within{box-shadow:0 0 0 2px #0000001f!important}._datePicker_zf87q_1{box-sizing:border-box}._datePicker_zf87q_1.ant-picker-outlined:hover,._datePicker_zf87q_1.ant-picker-outlined:focus-within{border-color:#000!important}._datePicker_zf87q_1.ant-picker-outlined:focus-within{box-shadow:0 0 0 2px #0000001f!important}._timePicker_1usbo_1{box-sizing:border-box}._timePicker_1usbo_1.ant-picker-outlined:hover,._timePicker_1usbo_1.ant-picker-outlined:focus-within{border-color:#000!important}._timePicker_1usbo_1.ant-picker-outlined:focus-within{box-shadow:0 0 0 2px #0000001f!important}._radio_16nmm_1,._radioButton_16nmm_2,._group_16nmm_3{box-sizing:border-box}.ant-radio-checked .ant-radio-inner{background:#404040!important;border-color:#404040!important}.ant-radio-wrapper .ant-radio-checked{background-color:#404040!important;border-color:#404040!important}.ant-radio-wrapper:hover .ant-radio-inner{border-color:#404040!important}.ant-radio-wrapper:hover:not(.ant-radio-wrapper-disabled) .ant-radio{border-color:#404040!important}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){color:#fff!important;background:#404040!important;border-color:#404040!important}._treeSelect_16xy2_1.ant-select-outlined:hover,._treeSelect_16xy2_1.ant-select-outlined.ant-select-focused{border-color:#000!important}._treeSelect_16xy2_1.ant-select-outlined.ant-select-focused{box-shadow:0 0 0 2px #0000001f!important}._popup_16xy2_10 .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected{color:#fff!important;background:#404040!important}._upload_wwgt2_1,._dragger_wwgt2_2{box-sizing:border-box}
|