zkit-ui 1.0.5 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -14
- package/dist/ZKitCoreProvider.d.ts +13 -0
- package/dist/ZKitCoreProvider.d.ts.map +1 -0
- package/dist/ZKitCoreProvider.js +10 -0
- package/dist/ZKitProvider.d.ts +7 -0
- package/dist/ZKitProvider.d.ts.map +1 -0
- package/dist/ZKitProvider.js +17 -0
- package/dist/all.d.ts +59 -0
- package/dist/all.d.ts.map +1 -0
- package/dist/all.js +92 -0
- package/dist/config.d.ts +6 -6
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +15 -15
- package/dist/index.d.ts +4 -48
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -74
- package/dist/services/PermissionPurposeDialogService/index.d.ts +2 -2
- package/dist/services/PermissionPurposeDialogService/index.js +2 -2
- package/dist/services/PickerService/index.d.ts +2 -2
- package/dist/services/PickerService/index.js +2 -2
- package/dist/theme/ThemeProvider.js +1 -1
- package/package.json +164 -2
- package/src/ZKitCoreProvider.tsx +34 -0
- package/src/ZKitProvider.tsx +48 -0
- package/src/all.ts +397 -0
- package/src/config.ts +18 -18
- package/src/index.ts +7 -376
- package/src/services/ActionDialogService/README.md +4 -3
- package/src/services/CardToastService/README.md +3 -3
- package/src/services/ImagePreviewService/README.md +3 -3
- package/src/services/LoadingService/README.md +5 -5
- package/src/services/PermissionPurposeDialogService/README.md +5 -5
- package/src/services/PermissionPurposeDialogService/index.tsx +2 -2
- package/src/services/PickerService/README.md +5 -5
- package/src/services/PickerService/index.tsx +2 -2
- package/src/theme/ThemeProvider.tsx +1 -1
- package/src/ui/Accordion/README.md +2 -2
- package/src/ui/AddressCascader/README.md +4 -2
- package/src/ui/BetweenTime/README.md +12 -12
- package/src/ui/Button/README.md +7 -7
- package/src/ui/Checkbox/README.md +2 -2
- package/src/ui/DatePicker/README.md +2 -1
- package/src/ui/LinkedScroll/README.md +2 -1
- package/src/ui/Picker/README.md +2 -1
- package/src/ui/Radio/README.md +2 -1
- package/src/ui/Sheet/README.md +3 -1
- package/src/ui/SliderCaptcha/README.md +1 -1
- package/src/ui/Switch/README.md +1 -1
- package/src/ui/Text/README.md +2 -2
- package/src/ui/TextInput/README.md +6 -6
- package/src/ui/WheelColumn/README.md +1 -1
- package/dist/ComponentLibProvider.d.ts +0 -15
- package/dist/ComponentLibProvider.d.ts.map +0 -1
- package/dist/ComponentLibProvider.js +0 -18
- package/src/ComponentLibProvider.tsx +0 -56
|
@@ -11,7 +11,7 @@ BetweenTime 是一个高性能的时间区间选择器组件:
|
|
|
11
11
|
## 基础用法
|
|
12
12
|
|
|
13
13
|
```tsx
|
|
14
|
-
import { BetweenTime } from 'zkit-ui';
|
|
14
|
+
import { BetweenTime } from 'zkit-ui/between-time';
|
|
15
15
|
import { Text } from 'react-native';
|
|
16
16
|
|
|
17
17
|
export function Demo() {
|
|
@@ -31,7 +31,7 @@ export function Demo() {
|
|
|
31
31
|
## 精度控制:type
|
|
32
32
|
|
|
33
33
|
```tsx
|
|
34
|
-
import { BetweenTime } from 'zkit-ui';
|
|
34
|
+
import { BetweenTime } from 'zkit-ui/between-time';
|
|
35
35
|
|
|
36
36
|
export function Demo() {
|
|
37
37
|
return (
|
|
@@ -83,7 +83,7 @@ export function Demo() {
|
|
|
83
83
|
## 时间范围限制:start / end
|
|
84
84
|
|
|
85
85
|
```tsx
|
|
86
|
-
import { BetweenTime } from 'zkit-ui';
|
|
86
|
+
import { BetweenTime } from 'zkit-ui/between-time';
|
|
87
87
|
|
|
88
88
|
export function Demo() {
|
|
89
89
|
return (
|
|
@@ -106,7 +106,7 @@ export function Demo() {
|
|
|
106
106
|
## 快捷选择:quickDate
|
|
107
107
|
|
|
108
108
|
```tsx
|
|
109
|
-
import { BetweenTime } from 'zkit-ui';
|
|
109
|
+
import { BetweenTime } from 'zkit-ui/between-time';
|
|
110
110
|
|
|
111
111
|
export function Demo() {
|
|
112
112
|
return (
|
|
@@ -131,7 +131,7 @@ export function Demo() {
|
|
|
131
131
|
## 自定义格式:format
|
|
132
132
|
|
|
133
133
|
```tsx
|
|
134
|
-
import { BetweenTime } from 'zkit-ui';
|
|
134
|
+
import { BetweenTime } from 'zkit-ui/between-time';
|
|
135
135
|
|
|
136
136
|
export function Demo() {
|
|
137
137
|
return (
|
|
@@ -163,7 +163,7 @@ export function Demo() {
|
|
|
163
163
|
## 受控模式
|
|
164
164
|
|
|
165
165
|
```tsx
|
|
166
|
-
import { BetweenTime } from 'zkit-ui';
|
|
166
|
+
import { BetweenTime } from 'zkit-ui/between-time';
|
|
167
167
|
|
|
168
168
|
export function Demo() {
|
|
169
169
|
const [value, setValue] = React.useState<string[]>(['2024-01-01', '2024-12-31']);
|
|
@@ -192,7 +192,7 @@ export function Demo() {
|
|
|
192
192
|
## 非受控模式
|
|
193
193
|
|
|
194
194
|
```tsx
|
|
195
|
-
import { BetweenTime } from 'zkit-ui';
|
|
195
|
+
import { BetweenTime } from 'zkit-ui/between-time';
|
|
196
196
|
|
|
197
197
|
export function Demo() {
|
|
198
198
|
return (
|
|
@@ -209,7 +209,7 @@ export function Demo() {
|
|
|
209
209
|
## 懒加载:lazyContent
|
|
210
210
|
|
|
211
211
|
```tsx
|
|
212
|
-
import { BetweenTime } from 'zkit-ui';
|
|
212
|
+
import { BetweenTime } from 'zkit-ui/between-time';
|
|
213
213
|
|
|
214
214
|
export function Demo() {
|
|
215
215
|
return (
|
|
@@ -230,7 +230,7 @@ export function Demo() {
|
|
|
230
230
|
## 自定义弹窗高度:drawerSize
|
|
231
231
|
|
|
232
232
|
```tsx
|
|
233
|
-
import { BetweenTime } from 'zkit-ui';
|
|
233
|
+
import { BetweenTime } from 'zkit-ui/between-time';
|
|
234
234
|
import { wp } from 'zkit-tools';
|
|
235
235
|
|
|
236
236
|
export function Demo() {
|
|
@@ -245,7 +245,7 @@ export function Demo() {
|
|
|
245
245
|
## 自定义单位名称:cellUnits
|
|
246
246
|
|
|
247
247
|
```tsx
|
|
248
|
-
import { BetweenTime } from 'zkit-ui';
|
|
248
|
+
import { BetweenTime } from 'zkit-ui/between-time';
|
|
249
249
|
|
|
250
250
|
export function Demo() {
|
|
251
251
|
return (
|
|
@@ -267,7 +267,7 @@ export function Demo() {
|
|
|
267
267
|
## 禁用状态:disabled
|
|
268
268
|
|
|
269
269
|
```tsx
|
|
270
|
-
import { BetweenTime } from 'zkit-ui';
|
|
270
|
+
import { BetweenTime } from 'zkit-ui/between-time';
|
|
271
271
|
|
|
272
272
|
export function Demo() {
|
|
273
273
|
return (
|
|
@@ -281,7 +281,7 @@ export function Demo() {
|
|
|
281
281
|
## 格式同步到值:formatSyncValue
|
|
282
282
|
|
|
283
283
|
```tsx
|
|
284
|
-
import { BetweenTime } from 'zkit-ui';
|
|
284
|
+
import { BetweenTime } from 'zkit-ui/between-time';
|
|
285
285
|
|
|
286
286
|
export function Demo() {
|
|
287
287
|
const [value, setValue] = React.useState<string[]>([]);
|
package/src/ui/Button/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
## 基础用法
|
|
6
6
|
|
|
7
7
|
```tsx
|
|
8
|
-
import { Button } from 'zkit-ui';
|
|
8
|
+
import { Button } from 'zkit-ui/button';
|
|
9
9
|
|
|
10
10
|
export function Demo() {
|
|
11
11
|
return <Button onPress={() => {}}>确定</Button>;
|
|
@@ -15,7 +15,7 @@ export function Demo() {
|
|
|
15
15
|
## 外观语义
|
|
16
16
|
|
|
17
17
|
```tsx
|
|
18
|
-
import { Button } from 'zkit-ui';
|
|
18
|
+
import { Button } from 'zkit-ui/button';
|
|
19
19
|
|
|
20
20
|
export function Demo() {
|
|
21
21
|
return (
|
|
@@ -37,7 +37,7 @@ export function Demo() {
|
|
|
37
37
|
## 尺寸与布局
|
|
38
38
|
|
|
39
39
|
```tsx
|
|
40
|
-
import { Button } from 'zkit-ui';
|
|
40
|
+
import { Button } from 'zkit-ui/button';
|
|
41
41
|
import { sp, wp } from 'zkit-tools';
|
|
42
42
|
|
|
43
43
|
export function Demo() {
|
|
@@ -67,7 +67,7 @@ export function Demo() {
|
|
|
67
67
|
## 图标
|
|
68
68
|
|
|
69
69
|
```tsx
|
|
70
|
-
import { Button } from 'zkit-ui';
|
|
70
|
+
import { Button } from 'zkit-ui/button';
|
|
71
71
|
import { wp } from 'zkit-tools';
|
|
72
72
|
|
|
73
73
|
export function Demo() {
|
|
@@ -94,7 +94,7 @@ export function Demo() {
|
|
|
94
94
|
## 加载状态
|
|
95
95
|
|
|
96
96
|
```tsx
|
|
97
|
-
import { Button } from 'zkit-ui';
|
|
97
|
+
import { Button } from 'zkit-ui/button';
|
|
98
98
|
|
|
99
99
|
export function Demo() {
|
|
100
100
|
return (
|
|
@@ -114,7 +114,7 @@ export function Demo() {
|
|
|
114
114
|
## 精确覆盖
|
|
115
115
|
|
|
116
116
|
```tsx
|
|
117
|
-
import { Button } from 'zkit-ui';
|
|
117
|
+
import { Button } from 'zkit-ui/button';
|
|
118
118
|
import { wp } from 'zkit-tools';
|
|
119
119
|
|
|
120
120
|
export function Demo() {
|
|
@@ -139,7 +139,7 @@ export function Demo() {
|
|
|
139
139
|
## 渐变、阴影与按压反馈
|
|
140
140
|
|
|
141
141
|
```tsx
|
|
142
|
-
import { Button } from 'zkit-ui';
|
|
142
|
+
import { Button } from 'zkit-ui/button';
|
|
143
143
|
|
|
144
144
|
export function Demo() {
|
|
145
145
|
return (
|
|
@@ -16,7 +16,7 @@ Checkbox 是三端一致的复选框组件,适合协议勾选、多选列表
|
|
|
16
16
|
|
|
17
17
|
```tsx
|
|
18
18
|
import * as React from 'react';
|
|
19
|
-
import { Checkbox } from 'zkit-ui';
|
|
19
|
+
import { Checkbox } from 'zkit-ui/checkbox';
|
|
20
20
|
|
|
21
21
|
export function Demo() {
|
|
22
22
|
const [checked, setChecked] = React.useState(false);
|
|
@@ -51,7 +51,7 @@ const partiallyChecked = selected.length > 0 && !allChecked;
|
|
|
51
51
|
## CheckboxGroup
|
|
52
52
|
|
|
53
53
|
```tsx
|
|
54
|
-
import { Checkbox, CheckboxGroup } from 'zkit-ui';
|
|
54
|
+
import { Checkbox, CheckboxGroup } from 'zkit-ui/checkbox';
|
|
55
55
|
import { wp } from 'zkit-tools';
|
|
56
56
|
|
|
57
57
|
const options = [
|
|
@@ -13,7 +13,8 @@ DatePicker 是日期语义组件,底层复用 Picker 的三端滚轮与 Sheet
|
|
|
13
13
|
|
|
14
14
|
```tsx
|
|
15
15
|
import * as React from 'react';
|
|
16
|
-
import { Button
|
|
16
|
+
import { Button } from 'zkit-ui/button';
|
|
17
|
+
import { DatePicker } from 'zkit-ui/date-picker';
|
|
17
18
|
|
|
18
19
|
export function Demo() {
|
|
19
20
|
const [value, setValue] = React.useState<string | null>(null);
|
package/src/ui/Picker/README.md
CHANGED
package/src/ui/Radio/README.md
CHANGED
|
@@ -17,7 +17,8 @@ Radio 是三端一致的单选组件,适合互斥选项、设置项模式选
|
|
|
17
17
|
|
|
18
18
|
```tsx
|
|
19
19
|
import * as React from 'react';
|
|
20
|
-
import {
|
|
20
|
+
import { Text } from 'zkit-ui/text';
|
|
21
|
+
import { Radio, RadioGroup } from 'zkit-ui/radio';
|
|
21
22
|
import { wp } from 'zkit-tools';
|
|
22
23
|
|
|
23
24
|
type Density = 'compact' | 'comfortable' | 'spacious';
|
package/src/ui/Sheet/README.md
CHANGED
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
```tsx
|
|
8
8
|
import * as React from 'react';
|
|
9
|
-
import {
|
|
9
|
+
import { Text } from 'zkit-ui/text';
|
|
10
|
+
import { Button } from 'zkit-ui/button';
|
|
11
|
+
import { Sheet } from 'zkit-ui/sheet';
|
|
10
12
|
|
|
11
13
|
export function Demo() {
|
|
12
14
|
const [open, setOpen] = React.useState(false);
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
```tsx
|
|
21
21
|
import * as React from 'react';
|
|
22
|
-
import { SliderCaptcha, type SliderCaptchaChallenge } from 'zkit-ui';
|
|
22
|
+
import { SliderCaptcha, type SliderCaptchaChallenge } from 'zkit-ui/slider-captcha';
|
|
23
23
|
|
|
24
24
|
type LoginCaptchaChallenge = SliderCaptchaChallenge & {
|
|
25
25
|
nonceStr: string;
|
package/src/ui/Switch/README.md
CHANGED
package/src/ui/Text/README.md
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
## 基础用法
|
|
18
18
|
|
|
19
19
|
```tsx
|
|
20
|
-
import { Text } from 'zkit-ui';
|
|
20
|
+
import { Text } from 'zkit-ui/text';
|
|
21
21
|
|
|
22
22
|
export function Demo() {
|
|
23
23
|
return <Text>默认正文</Text>;
|
|
@@ -35,7 +35,7 @@ export function Demo() {
|
|
|
35
35
|
## 排版语义
|
|
36
36
|
|
|
37
37
|
```tsx
|
|
38
|
-
import { Text } from 'zkit-ui';
|
|
38
|
+
import { Text } from 'zkit-ui/text';
|
|
39
39
|
|
|
40
40
|
export function Demo() {
|
|
41
41
|
return (
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
```tsx
|
|
19
19
|
import * as React from 'react';
|
|
20
|
-
import { TextInput } from 'zkit-ui';
|
|
20
|
+
import { TextInput } from 'zkit-ui/text-input';
|
|
21
21
|
|
|
22
22
|
export function Demo() {
|
|
23
23
|
const [value, setValue] = React.useState('');
|
|
@@ -36,7 +36,7 @@ export function Demo() {
|
|
|
36
36
|
## 原生薄封装
|
|
37
37
|
|
|
38
38
|
```tsx
|
|
39
|
-
import { TextInputPrimitive } from 'zkit-ui';
|
|
39
|
+
import { TextInputPrimitive } from 'zkit-ui/text-input';
|
|
40
40
|
import { wp } from 'zkit-tools';
|
|
41
41
|
|
|
42
42
|
export function Demo() {
|
|
@@ -54,7 +54,7 @@ export function Demo() {
|
|
|
54
54
|
## 非受控
|
|
55
55
|
|
|
56
56
|
```tsx
|
|
57
|
-
import { TextInput } from 'zkit-ui';
|
|
57
|
+
import { TextInput } from 'zkit-ui/text-input';
|
|
58
58
|
|
|
59
59
|
export function Demo() {
|
|
60
60
|
return (
|
|
@@ -72,7 +72,7 @@ export function Demo() {
|
|
|
72
72
|
## 描述、错误和计数
|
|
73
73
|
|
|
74
74
|
```tsx
|
|
75
|
-
import { TextInput } from 'zkit-ui';
|
|
75
|
+
import { TextInput } from 'zkit-ui/text-input';
|
|
76
76
|
|
|
77
77
|
export function Demo() {
|
|
78
78
|
return (
|
|
@@ -95,7 +95,7 @@ export function Demo() {
|
|
|
95
95
|
## 前后缀与清除按钮
|
|
96
96
|
|
|
97
97
|
```tsx
|
|
98
|
-
import { TextInput } from 'zkit-ui';
|
|
98
|
+
import { TextInput } from 'zkit-ui/text-input';
|
|
99
99
|
|
|
100
100
|
export function Demo() {
|
|
101
101
|
return (
|
|
@@ -116,7 +116,7 @@ export function Demo() {
|
|
|
116
116
|
## 外观
|
|
117
117
|
|
|
118
118
|
```tsx
|
|
119
|
-
import { TextInput } from 'zkit-ui';
|
|
119
|
+
import { TextInput } from 'zkit-ui/text-input';
|
|
120
120
|
import { wp } from 'zkit-tools';
|
|
121
121
|
|
|
122
122
|
export function Demo() {
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type * as React from 'react';
|
|
2
|
-
import type { I18nMessages, I18nMissingKeyPolicy } from './i18n/types';
|
|
3
|
-
import { type LoadingDefaults } from './services/LoadingService/index';
|
|
4
|
-
import type { Theme, ThemeOverride } from './theme/types';
|
|
5
|
-
export type ComponentLibProviderProps = {
|
|
6
|
-
baseTheme?: Theme;
|
|
7
|
-
theme?: ThemeOverride;
|
|
8
|
-
locale?: string;
|
|
9
|
-
messages?: I18nMessages;
|
|
10
|
-
missingKeyPolicy?: I18nMissingKeyPolicy;
|
|
11
|
-
loading?: LoadingDefaults;
|
|
12
|
-
children: React.ReactNode;
|
|
13
|
-
};
|
|
14
|
-
export declare function ComponentLibProvider({ baseTheme, theme, locale, messages, missingKeyPolicy, loading, children, }: ComponentLibProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
//# sourceMappingURL=ComponentLibProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentLibProvider.d.ts","sourceRoot":"","sources":["../src/ComponentLibProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIvE,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAIxF,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE1D,MAAM,MAAM,yBAAyB,GAAG;IAEtC,SAAS,CAAC,EAAE,KAAK,CAAC;IAElB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAKF,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,KAAK,EACL,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,QAAQ,GACT,EAAE,yBAAyB,2CAoB3B"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ComponentLibProvider = ComponentLibProvider;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const I18nProvider_1 = require("./i18n/I18nProvider");
|
|
6
|
-
const index_1 = require("./services/ActionDialogService/index");
|
|
7
|
-
const index_2 = require("./services/CardToastService/index");
|
|
8
|
-
const index_3 = require("./services/ImagePreviewService/index");
|
|
9
|
-
const index_4 = require("./services/LoadingService/index");
|
|
10
|
-
const index_5 = require("./services/PermissionPurposeDialogService/index");
|
|
11
|
-
const index_6 = require("./services/PickerService/index");
|
|
12
|
-
const ThemeProvider_1 = require("./theme/ThemeProvider");
|
|
13
|
-
// ComponentLibProvider 是组件库推荐的顶层 Provider:
|
|
14
|
-
// - 同时提供 Theme 与 i18n
|
|
15
|
-
// - 避免业务方在 App 里层层包裹多个 Provider
|
|
16
|
-
function ComponentLibProvider({ baseTheme, theme, locale, messages, missingKeyPolicy, loading, children, }) {
|
|
17
|
-
return ((0, jsx_runtime_1.jsx)(ThemeProvider_1.ThemeProvider, { baseTheme: baseTheme, theme: theme, children: (0, jsx_runtime_1.jsx)(I18nProvider_1.I18nProvider, { locale: locale, messages: messages, missingKeyPolicy: missingKeyPolicy, children: (0, jsx_runtime_1.jsx)(index_6.PickerServiceProvider, { children: (0, jsx_runtime_1.jsx)(index_2.ToastProvider, { children: (0, jsx_runtime_1.jsx)(index_1.ActionDialogProvider, { children: (0, jsx_runtime_1.jsx)(index_4.LoadingProvider, { defaults: loading, children: (0, jsx_runtime_1.jsx)(index_5.PermissionPurposeDialogProvider, { children: (0, jsx_runtime_1.jsx)(index_3.ImagePreviewProvider, { children: children }) }) }) }) }) }) }) }));
|
|
18
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import type * as React from 'react';
|
|
2
|
-
import { I18nProvider } from './i18n/I18nProvider';
|
|
3
|
-
import type { I18nMessages, I18nMissingKeyPolicy } from './i18n/types';
|
|
4
|
-
import { ActionDialogProvider } from './services/ActionDialogService/index';
|
|
5
|
-
import { ToastProvider } from './services/CardToastService/index';
|
|
6
|
-
import { ImagePreviewProvider } from './services/ImagePreviewService/index';
|
|
7
|
-
import { LoadingProvider, type LoadingDefaults } from './services/LoadingService/index';
|
|
8
|
-
import { PermissionPurposeDialogProvider } from './services/PermissionPurposeDialogService/index';
|
|
9
|
-
import { PickerServiceProvider } from './services/PickerService/index';
|
|
10
|
-
import { ThemeProvider } from './theme/ThemeProvider';
|
|
11
|
-
import type { Theme, ThemeOverride } from './theme/types';
|
|
12
|
-
|
|
13
|
-
export type ComponentLibProviderProps = {
|
|
14
|
-
// baseTheme 用于传入完整主题作为基线(例如品牌主题)
|
|
15
|
-
baseTheme?: Theme;
|
|
16
|
-
// theme 用于对 baseTheme 做局部覆盖(例如只改 primary)
|
|
17
|
-
theme?: ThemeOverride;
|
|
18
|
-
locale?: string;
|
|
19
|
-
messages?: I18nMessages;
|
|
20
|
-
missingKeyPolicy?: I18nMissingKeyPolicy;
|
|
21
|
-
loading?: LoadingDefaults;
|
|
22
|
-
children: React.ReactNode;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
// ComponentLibProvider 是组件库推荐的顶层 Provider:
|
|
26
|
-
// - 同时提供 Theme 与 i18n
|
|
27
|
-
// - 避免业务方在 App 里层层包裹多个 Provider
|
|
28
|
-
export function ComponentLibProvider({
|
|
29
|
-
baseTheme,
|
|
30
|
-
theme,
|
|
31
|
-
locale,
|
|
32
|
-
messages,
|
|
33
|
-
missingKeyPolicy,
|
|
34
|
-
loading,
|
|
35
|
-
children,
|
|
36
|
-
}: ComponentLibProviderProps) {
|
|
37
|
-
return (
|
|
38
|
-
<ThemeProvider baseTheme={baseTheme} theme={theme}>
|
|
39
|
-
<I18nProvider locale={locale} messages={messages} missingKeyPolicy={missingKeyPolicy}>
|
|
40
|
-
<PickerServiceProvider>
|
|
41
|
-
<ToastProvider>
|
|
42
|
-
<ActionDialogProvider>
|
|
43
|
-
<LoadingProvider defaults={loading}>
|
|
44
|
-
<PermissionPurposeDialogProvider>
|
|
45
|
-
<ImagePreviewProvider>
|
|
46
|
-
{children}
|
|
47
|
-
</ImagePreviewProvider>
|
|
48
|
-
</PermissionPurposeDialogProvider>
|
|
49
|
-
</LoadingProvider>
|
|
50
|
-
</ActionDialogProvider>
|
|
51
|
-
</ToastProvider>
|
|
52
|
-
</PickerServiceProvider>
|
|
53
|
-
</I18nProvider>
|
|
54
|
-
</ThemeProvider>
|
|
55
|
-
);
|
|
56
|
-
}
|