@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.
Files changed (125) hide show
  1. package/lib/components/Affix.d.ts +6 -0
  2. package/lib/components/Affix.js +5 -0
  3. package/lib/components/Alert.d.ts +10 -0
  4. package/lib/components/Alert.js +5 -0
  5. package/lib/components/Anchor.d.ts +7 -0
  6. package/lib/components/Anchor.js +5 -0
  7. package/lib/components/App.d.ts +4 -0
  8. package/lib/components/App.js +6 -0
  9. package/lib/components/Avatar.d.ts +8 -0
  10. package/lib/components/Avatar.js +6 -0
  11. package/lib/components/BackTop.d.ts +6 -0
  12. package/lib/components/BackTop.js +5 -0
  13. package/lib/components/Badge.d.ts +9 -0
  14. package/lib/components/Badge.js +5 -0
  15. package/lib/components/Breadcrumb.d.ts +12 -0
  16. package/lib/components/Breadcrumb.js +10 -0
  17. package/lib/components/Button.d.ts +14 -0
  18. package/lib/components/Button.js +7 -0
  19. package/lib/components/Card.d.ts +11 -0
  20. package/lib/components/Card.js +5 -0
  21. package/lib/components/Cascader.d.ts +12 -0
  22. package/lib/components/Cascader.js +5 -0
  23. package/lib/components/Checkbox.d.ts +18 -0
  24. package/lib/components/Checkbox.js +10 -0
  25. package/lib/components/Collapse.d.ts +11 -0
  26. package/lib/components/Collapse.js +7 -0
  27. package/lib/components/ConfigProvider.d.ts +27 -0
  28. package/lib/components/ConfigProvider.js +80 -0
  29. package/lib/components/DatePicker.d.ts +35 -0
  30. package/lib/components/DatePicker.js +15 -0
  31. package/lib/components/Descriptions.d.ts +12 -0
  32. package/lib/components/Descriptions.js +13 -0
  33. package/lib/components/Divider.d.ts +8 -0
  34. package/lib/components/Divider.js +5 -0
  35. package/lib/components/Drawer.d.ts +11 -0
  36. package/lib/components/Drawer.js +6 -0
  37. package/lib/components/Dropdown.d.ts +10 -0
  38. package/lib/components/Dropdown.js +5 -0
  39. package/lib/components/Empty.d.ts +10 -0
  40. package/lib/components/Empty.js +14 -0
  41. package/lib/components/FloatButton.d.ts +8 -0
  42. package/lib/components/FloatButton.js +5 -0
  43. package/lib/components/Form.d.ts +79 -0
  44. package/lib/components/Form.js +97 -0
  45. package/lib/components/Image.d.ts +9 -0
  46. package/lib/components/Image.js +5 -0
  47. package/lib/components/Input.d.ts +39 -0
  48. package/lib/components/Input.js +37 -0
  49. package/lib/components/InputNumber.d.ts +13 -0
  50. package/lib/components/InputNumber.js +5 -0
  51. package/lib/components/Layout.d.ts +46 -0
  52. package/lib/components/Layout.js +85 -0
  53. package/lib/components/Menu.d.ts +39 -0
  54. package/lib/components/Menu.js +32 -0
  55. package/lib/components/Modal.d.ts +26 -0
  56. package/lib/components/Modal.js +76 -0
  57. package/lib/components/PageHeader.d.ts +8 -0
  58. package/lib/components/PageHeader.js +5 -0
  59. package/lib/components/Pagination.d.ts +11 -0
  60. package/lib/components/Pagination.js +5 -0
  61. package/lib/components/Popconfirm.d.ts +10 -0
  62. package/lib/components/Popconfirm.js +5 -0
  63. package/lib/components/Popover.d.ts +8 -0
  64. package/lib/components/Popover.js +5 -0
  65. package/lib/components/Progress.d.ts +10 -0
  66. package/lib/components/Progress.js +5 -0
  67. package/lib/components/QRCode.d.ts +14 -0
  68. package/lib/components/QRCode.js +10 -0
  69. package/lib/components/Radio.d.ts +24 -0
  70. package/lib/components/Radio.js +23 -0
  71. package/lib/components/Rate.d.ts +9 -0
  72. package/lib/components/Rate.js +5 -0
  73. package/lib/components/Result.d.ts +8 -0
  74. package/lib/components/Result.js +5 -0
  75. package/lib/components/Segmented.d.ts +11 -0
  76. package/lib/components/Segmented.js +5 -0
  77. package/lib/components/Select.d.ts +30 -0
  78. package/lib/components/Select.js +43 -0
  79. package/lib/components/Skeleton.d.ts +19 -0
  80. package/lib/components/Skeleton.js +20 -0
  81. package/lib/components/Slider.d.ts +11 -0
  82. package/lib/components/Slider.js +5 -0
  83. package/lib/components/Space.d.ts +12 -0
  84. package/lib/components/Space.js +12 -0
  85. package/lib/components/Spin.d.ts +8 -0
  86. package/lib/components/Spin.js +8 -0
  87. package/lib/components/Statistic.d.ts +9 -0
  88. package/lib/components/Statistic.js +5 -0
  89. package/lib/components/Steps.d.ts +13 -0
  90. package/lib/components/Steps.js +7 -0
  91. package/lib/components/Switch.d.ts +10 -0
  92. package/lib/components/Switch.js +5 -0
  93. package/lib/components/Table.d.ts +55 -0
  94. package/lib/components/Table.js +187 -0
  95. package/lib/components/Tabs.d.ts +21 -0
  96. package/lib/components/Tabs.js +7 -0
  97. package/lib/components/Tag.d.ts +8 -0
  98. package/lib/components/Tag.js +6 -0
  99. package/lib/components/TimePicker.d.ts +11 -0
  100. package/lib/components/TimePicker.js +5 -0
  101. package/lib/components/Timeline.d.ts +7 -0
  102. package/lib/components/Timeline.js +5 -0
  103. package/lib/components/Tooltip.d.ts +7 -0
  104. package/lib/components/Tooltip.js +5 -0
  105. package/lib/components/Tour.d.ts +6 -0
  106. package/lib/components/Tour.js +5 -0
  107. package/lib/components/Tree.d.ts +22 -0
  108. package/lib/components/Tree.js +45 -0
  109. package/lib/components/TreeSelect.d.ts +11 -0
  110. package/lib/components/TreeSelect.js +5 -0
  111. package/lib/components/Typography.d.ts +10 -0
  112. package/lib/components/Typography.js +19 -0
  113. package/lib/components/Upload.d.ts +18 -0
  114. package/lib/components/Upload.js +12 -0
  115. package/lib/components/Watermark.d.ts +13 -0
  116. package/lib/components/Watermark.js +5 -0
  117. package/lib/components/message.d.ts +19 -0
  118. package/lib/components/message.js +32 -0
  119. package/lib/components/notification.d.ts +19 -0
  120. package/lib/components/notification.js +28 -0
  121. package/lib/index.d.ts +219 -0
  122. package/lib/index.js +123 -0
  123. package/lib/utils.d.ts +1 -0
  124. package/lib/utils.js +1 -0
  125. 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
+ }