@huibo-ui/react-antd 1.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/lib/components/Affix.d.ts +6 -0
- package/lib/components/Affix.js +5 -0
- package/lib/components/Alert.d.ts +10 -0
- package/lib/components/Alert.js +5 -0
- package/lib/components/Anchor.d.ts +7 -0
- package/lib/components/Anchor.js +5 -0
- package/lib/components/App.d.ts +4 -0
- package/lib/components/App.js +6 -0
- package/lib/components/Avatar.d.ts +8 -0
- package/lib/components/Avatar.js +6 -0
- package/lib/components/BackTop.d.ts +6 -0
- package/lib/components/BackTop.js +5 -0
- package/lib/components/Badge.d.ts +9 -0
- package/lib/components/Badge.js +5 -0
- package/lib/components/Breadcrumb.d.ts +12 -0
- package/lib/components/Breadcrumb.js +10 -0
- package/lib/components/Button.d.ts +14 -0
- package/lib/components/Button.js +7 -0
- package/lib/components/Card.d.ts +11 -0
- package/lib/components/Card.js +5 -0
- package/lib/components/Cascader.d.ts +12 -0
- package/lib/components/Cascader.js +5 -0
- package/lib/components/Checkbox.d.ts +18 -0
- package/lib/components/Checkbox.js +10 -0
- package/lib/components/Collapse.d.ts +11 -0
- package/lib/components/Collapse.js +7 -0
- package/lib/components/ConfigProvider.d.ts +27 -0
- package/lib/components/ConfigProvider.js +80 -0
- package/lib/components/DatePicker.d.ts +35 -0
- package/lib/components/DatePicker.js +15 -0
- package/lib/components/Descriptions.d.ts +12 -0
- package/lib/components/Descriptions.js +13 -0
- package/lib/components/Divider.d.ts +8 -0
- package/lib/components/Divider.js +5 -0
- package/lib/components/Drawer.d.ts +11 -0
- package/lib/components/Drawer.js +6 -0
- package/lib/components/Dropdown.d.ts +10 -0
- package/lib/components/Dropdown.js +5 -0
- package/lib/components/Empty.d.ts +10 -0
- package/lib/components/Empty.js +14 -0
- package/lib/components/FloatButton.d.ts +8 -0
- package/lib/components/FloatButton.js +5 -0
- package/lib/components/Form.d.ts +79 -0
- package/lib/components/Form.js +97 -0
- package/lib/components/Image.d.ts +9 -0
- package/lib/components/Image.js +5 -0
- package/lib/components/Input.d.ts +39 -0
- package/lib/components/Input.js +37 -0
- package/lib/components/InputNumber.d.ts +13 -0
- package/lib/components/InputNumber.js +5 -0
- package/lib/components/Layout.d.ts +46 -0
- package/lib/components/Layout.js +85 -0
- package/lib/components/Menu.d.ts +39 -0
- package/lib/components/Menu.js +32 -0
- package/lib/components/Modal.d.ts +26 -0
- package/lib/components/Modal.js +76 -0
- package/lib/components/PageHeader.d.ts +8 -0
- package/lib/components/PageHeader.js +5 -0
- package/lib/components/Pagination.d.ts +11 -0
- package/lib/components/Pagination.js +5 -0
- package/lib/components/Popconfirm.d.ts +10 -0
- package/lib/components/Popconfirm.js +5 -0
- package/lib/components/Popover.d.ts +8 -0
- package/lib/components/Popover.js +5 -0
- package/lib/components/Progress.d.ts +10 -0
- package/lib/components/Progress.js +5 -0
- package/lib/components/QRCode.d.ts +14 -0
- package/lib/components/QRCode.js +10 -0
- package/lib/components/Radio.d.ts +24 -0
- package/lib/components/Radio.js +23 -0
- package/lib/components/Rate.d.ts +9 -0
- package/lib/components/Rate.js +5 -0
- package/lib/components/Result.d.ts +8 -0
- package/lib/components/Result.js +5 -0
- package/lib/components/Segmented.d.ts +11 -0
- package/lib/components/Segmented.js +5 -0
- package/lib/components/Select.d.ts +30 -0
- package/lib/components/Select.js +43 -0
- package/lib/components/Skeleton.d.ts +19 -0
- package/lib/components/Skeleton.js +20 -0
- package/lib/components/Slider.d.ts +11 -0
- package/lib/components/Slider.js +5 -0
- package/lib/components/Space.d.ts +12 -0
- package/lib/components/Space.js +12 -0
- package/lib/components/Spin.d.ts +8 -0
- package/lib/components/Spin.js +8 -0
- package/lib/components/Statistic.d.ts +9 -0
- package/lib/components/Statistic.js +5 -0
- package/lib/components/Steps.d.ts +13 -0
- package/lib/components/Steps.js +7 -0
- package/lib/components/Switch.d.ts +10 -0
- package/lib/components/Switch.js +5 -0
- package/lib/components/Table.d.ts +55 -0
- package/lib/components/Table.js +187 -0
- package/lib/components/Tabs.d.ts +21 -0
- package/lib/components/Tabs.js +7 -0
- package/lib/components/Tag.d.ts +8 -0
- package/lib/components/Tag.js +6 -0
- package/lib/components/TimePicker.d.ts +11 -0
- package/lib/components/TimePicker.js +5 -0
- package/lib/components/Timeline.d.ts +7 -0
- package/lib/components/Timeline.js +5 -0
- package/lib/components/Tooltip.d.ts +7 -0
- package/lib/components/Tooltip.js +5 -0
- package/lib/components/Tour.d.ts +6 -0
- package/lib/components/Tour.js +5 -0
- package/lib/components/Tree.d.ts +22 -0
- package/lib/components/Tree.js +45 -0
- package/lib/components/TreeSelect.d.ts +11 -0
- package/lib/components/TreeSelect.js +5 -0
- package/lib/components/Typography.d.ts +10 -0
- package/lib/components/Typography.js +19 -0
- package/lib/components/Upload.d.ts +18 -0
- package/lib/components/Upload.js +12 -0
- package/lib/components/Watermark.d.ts +13 -0
- package/lib/components/Watermark.js +5 -0
- package/lib/components/message.d.ts +19 -0
- package/lib/components/message.js +32 -0
- package/lib/components/notification.d.ts +19 -0
- package/lib/components/notification.js +28 -0
- package/lib/index.d.ts +219 -0
- package/lib/index.js +123 -0
- package/lib/utils.d.ts +1 -0
- package/lib/utils.js +1 -0
- package/package.json +33 -0
package/lib/index.js
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @huibo-ui/react-antd — antd 兼容层
|
|
3
|
+
*
|
|
4
|
+
* 接收 antd 原生 props(value/onChange/allowClear/dataSource 等),
|
|
5
|
+
* 内部自动转换为 huibo-ui props(modelValue/hbChange/clearable/data 等)。
|
|
6
|
+
* 业务代码保持 antd 写法不变,实现「零改写」迁移。
|
|
7
|
+
*
|
|
8
|
+
* 三层结构:本层(兼容) → @huibo-ui/react(React 包装) → hb-* 自定义元素(Stencil WC)
|
|
9
|
+
*
|
|
10
|
+
* ⚠️ 消费方(应用入口)必须自行:
|
|
11
|
+
* 1. import 'huibo-ui/styles.css' —— 注入 --hb-* 设计令牌
|
|
12
|
+
* 2. import 'huibo-ui/components/hb-xxx' —— 注册用到的自定义元素
|
|
13
|
+
* 否则 hb-* 是 HTMLUnknownElement、令牌为空,导致白屏。
|
|
14
|
+
* (@huibo-ui/react 只造代理组件,不调用 customElements.define。)
|
|
15
|
+
*
|
|
16
|
+
* 用法:
|
|
17
|
+
* import { Button, Input, Select, Table, Form, message } from '@huibo-ui/react-antd';
|
|
18
|
+
* // 与 antd 完全相同的 API,无需改任何 prop
|
|
19
|
+
*
|
|
20
|
+
* 已支持的实例/静态/子 API(详见 docs/guide/migration.md 方案 B 支持矩阵):
|
|
21
|
+
* Form.useForm(转发 hb-form @Method)/ Form.useWatch / useWatch
|
|
22
|
+
* Modal.useModal / Modal.confirm/info/warning/success/error
|
|
23
|
+
* message.* / Empty.PRESENTED_IMAGE_* / DatePicker.RangePicker
|
|
24
|
+
* Input.{TextArea,Search,Password} / Select.{Option,OptGroup}
|
|
25
|
+
* Radio.{Group,Button} / Checkbox.Group / Descriptions.Item / Space.Compact
|
|
26
|
+
* Upload.Dragger / Skeleton.{Input,Button} / Layout.{Header,Sider,Content}
|
|
27
|
+
* 类型:ColumnsType / TableProps / TableRowSelection / Rule / RuleObject / TreeDataNode ...
|
|
28
|
+
*/
|
|
29
|
+
/** antd size → huibo-ui size(middle → default) */
|
|
30
|
+
export function mapSize(size) {
|
|
31
|
+
if (size === 'middle')
|
|
32
|
+
return 'default';
|
|
33
|
+
return size || 'default';
|
|
34
|
+
}
|
|
35
|
+
/** 通用 antd 事件 → huibo-ui 事件适配器 */
|
|
36
|
+
export function adaptOnChange(onChange) {
|
|
37
|
+
return onChange ? (e) => onChange(e.detail) : undefined;
|
|
38
|
+
}
|
|
39
|
+
// === 组件导出 ===
|
|
40
|
+
export { Button } from './components/Button';
|
|
41
|
+
export { Input, TextArea } from './components/Input';
|
|
42
|
+
export { InputNumber } from './components/InputNumber';
|
|
43
|
+
export { Select } from './components/Select';
|
|
44
|
+
export { Switch } from './components/Switch';
|
|
45
|
+
export { Checkbox, CheckboxGroup } from './components/Checkbox';
|
|
46
|
+
export { Radio, RadioGroup } from './components/Radio';
|
|
47
|
+
export { Table } from './components/Table';
|
|
48
|
+
export { Form, FormItem } from './components/Form';
|
|
49
|
+
export { Modal } from './components/Modal';
|
|
50
|
+
export { Drawer } from './components/Drawer';
|
|
51
|
+
export { Menu } from './components/Menu';
|
|
52
|
+
export { Tabs } from './components/Tabs';
|
|
53
|
+
export { Steps } from './components/Steps';
|
|
54
|
+
export { DatePicker } from './components/DatePicker';
|
|
55
|
+
export { Upload } from './components/Upload';
|
|
56
|
+
export { Tooltip } from './components/Tooltip';
|
|
57
|
+
export { Popover } from './components/Popover';
|
|
58
|
+
export { Popconfirm } from './components/Popconfirm';
|
|
59
|
+
export { Dropdown } from './components/Dropdown';
|
|
60
|
+
export { Tag } from './components/Tag';
|
|
61
|
+
export { Badge } from './components/Badge';
|
|
62
|
+
export { Avatar } from './components/Avatar';
|
|
63
|
+
export { Card } from './components/Card';
|
|
64
|
+
export { Alert } from './components/Alert';
|
|
65
|
+
export { Divider } from './components/Divider';
|
|
66
|
+
export { Empty } from './components/Empty';
|
|
67
|
+
export { Spin } from './components/Spin';
|
|
68
|
+
export { Space } from './components/Space';
|
|
69
|
+
export { Pagination } from './components/Pagination';
|
|
70
|
+
export { Progress } from './components/Progress';
|
|
71
|
+
export { Descriptions } from './components/Descriptions';
|
|
72
|
+
export { Collapse } from './components/Collapse';
|
|
73
|
+
export { Rate } from './components/Rate';
|
|
74
|
+
export { Slider } from './components/Slider';
|
|
75
|
+
export { Image } from './components/Image';
|
|
76
|
+
export { Tree } from './components/Tree';
|
|
77
|
+
export { TreeSelect } from './components/TreeSelect';
|
|
78
|
+
export { Cascader } from './components/Cascader';
|
|
79
|
+
export { ConfigProvider } from './components/ConfigProvider';
|
|
80
|
+
export { Layout, Row, Col } from './components/Layout';
|
|
81
|
+
export { message } from './components/message';
|
|
82
|
+
export { notification } from './components/notification';
|
|
83
|
+
// 兼容 antd/locale/zh_CN(返回一个标记对象)
|
|
84
|
+
export const zhCN = { locale: 'zh-CN' };
|
|
85
|
+
// useWatch 顶层导出:转发到 Form.useWatch(同语义:从给定 form 实例读取字段值)。
|
|
86
|
+
import React from 'react';
|
|
87
|
+
export function useWatch(namePath, form) {
|
|
88
|
+
const [val, setVal] = React.useState(undefined);
|
|
89
|
+
React.useEffect(() => {
|
|
90
|
+
if (!form)
|
|
91
|
+
return;
|
|
92
|
+
let active = true;
|
|
93
|
+
const name = Array.isArray(namePath) ? namePath.join('.') : namePath;
|
|
94
|
+
form.getFieldsValue?.().then((all) => {
|
|
95
|
+
if (active && all && name in all)
|
|
96
|
+
setVal(all[name]);
|
|
97
|
+
});
|
|
98
|
+
return () => {
|
|
99
|
+
active = false;
|
|
100
|
+
};
|
|
101
|
+
}, [form, namePath]);
|
|
102
|
+
return val;
|
|
103
|
+
}
|
|
104
|
+
// TextArea 由 ./components/Input 导出(见上方 export { Input, TextArea })
|
|
105
|
+
// === antd App 组件(Context Provider)===
|
|
106
|
+
export { App } from './components/App';
|
|
107
|
+
// === 剩余组件(简单透传 + 关键 prop 映射)===
|
|
108
|
+
export { Skeleton } from './components/Skeleton';
|
|
109
|
+
export { Statistic } from './components/Statistic';
|
|
110
|
+
export { Result } from './components/Result';
|
|
111
|
+
export { Timeline } from './components/Timeline';
|
|
112
|
+
export { PageHeader } from './components/PageHeader';
|
|
113
|
+
export { Segmented } from './components/Segmented';
|
|
114
|
+
export { FloatButton } from './components/FloatButton';
|
|
115
|
+
export { Anchor } from './components/Anchor';
|
|
116
|
+
export { Tour } from './components/Tour';
|
|
117
|
+
export { Watermark } from './components/Watermark';
|
|
118
|
+
export { Affix } from './components/Affix';
|
|
119
|
+
export { BackTop } from './components/BackTop';
|
|
120
|
+
export { Breadcrumb } from './components/Breadcrumb';
|
|
121
|
+
export { Typography } from './components/Typography';
|
|
122
|
+
export { QRCode } from './components/QRCode';
|
|
123
|
+
export { TimePicker } from './components/TimePicker';
|
package/lib/utils.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type SizeType = 'small' | 'middle' | 'large';
|
package/lib/utils.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@huibo-ui/react-antd",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "antd 兼容层 — 接收 antd 原生 props,内部转换为 huibo-ui,实现丝滑平替",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "lib/index.js",
|
|
7
|
+
"module": "lib/index.js",
|
|
8
|
+
"types": "lib/index.d.ts",
|
|
9
|
+
"files": [
|
|
10
|
+
"lib"
|
|
11
|
+
],
|
|
12
|
+
"scripts": {
|
|
13
|
+
"build": "tsc --outDir lib || true",
|
|
14
|
+
"prepublishOnly": "pnpm run build"
|
|
15
|
+
},
|
|
16
|
+
"peerDependencies": {
|
|
17
|
+
"react": ">=16.8.0",
|
|
18
|
+
"react-dom": ">=16.8.0",
|
|
19
|
+
"@huibo-ui/react": ">=0.4.8",
|
|
20
|
+
"huibo-ui": ">=1.0.0"
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"@huibo-ui/react": "*",
|
|
24
|
+
"huibo-ui": "*"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"typescript": "^5.2.2",
|
|
28
|
+
"@types/react": "^18.3.0"
|
|
29
|
+
},
|
|
30
|
+
"publishConfig": {
|
|
31
|
+
"access": "public"
|
|
32
|
+
}
|
|
33
|
+
}
|