@tendaui/components 1.2.4 → 1.3.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/_util/scroll.ts +9 -0
- package/alert/_example/base.tsx +13 -0
- package/alert/_example/collapse.tsx +15 -0
- package/badge/_example/base.tsx +10 -0
- package/badge/_example/count.tsx +29 -0
- package/badge/_example/custom-color.tsx +32 -0
- package/badge/_example/dot.tsx +26 -0
- package/badge/_example/max-count.tsx +26 -0
- package/badge/_example/offset.tsx +29 -0
- package/badge/_example/shape.tsx +32 -0
- package/badge/_example/show-zero.tsx +23 -0
- package/badge/_example/size.tsx +35 -0
- package/badge/_example/standalone.tsx +14 -0
- package/badge/_example/text-count.tsx +26 -0
- package/badge/_example/with-button.tsx +23 -0
- package/button/_example/block.tsx +18 -0
- package/button/_example/disabled.tsx +22 -0
- package/button/_example/ghost.tsx +21 -0
- package/button/_example/link.tsx +15 -0
- package/button/_example/loading.tsx +19 -0
- package/button/_example/shape.tsx +18 -0
- package/button/_example/size.tsx +18 -0
- package/button/_example/suffix.tsx +16 -0
- package/button/_example/theme.tsx +14 -0
- package/button/_example/variant-base.tsx +24 -0
- package/button/_example/variant-dashed.tsx +24 -0
- package/button/_example/variant-outline.tsx +24 -0
- package/button/_example/variant-text.tsx +24 -0
- package/checkbox/_example/base.tsx +8 -0
- package/checkbox/_example/controlled.tsx +11 -0
- package/checkbox/_example/group-disabled.tsx +13 -0
- package/checkbox/_example/group-with-check-all.tsx +22 -0
- package/checkbox/_example/group-with-max.tsx +17 -0
- package/checkbox/_example/group-with-options.tsx +18 -0
- package/checkbox/_example/group.tsx +17 -0
- package/checkbox/_example/states.tsx +19 -0
- package/color-picker/ColorPicker.tsx +16 -2
- package/color-picker/_example/base.tsx +12 -0
- package/color-picker/_example/borderless.tsx +17 -0
- package/color-picker/_example/clearable.tsx +12 -0
- package/color-picker/_example/disabled.tsx +17 -0
- package/color-picker/_example/formats.tsx +30 -0
- package/color-picker/_example/manual-input.tsx +39 -0
- package/color-picker/_example/recent-colors.tsx +19 -0
- package/color-picker/_example/swatch-colors.tsx +28 -0
- package/color-picker/_example/with-alpha.tsx +21 -0
- package/color-picker/components/panel/format/inputs.tsx +1 -1
- package/color-picker/components/panel/index.tsx +13 -0
- package/color-picker/components/trigger.tsx +64 -13
- package/color-picker/defaultProps.ts +4 -1
- package/color-picker/utils/color-picker/cmyk.ts +5 -5
- package/color-picker/utils/color-picker/draggable.ts +14 -15
- package/color-picker/utils/color-picker/format.ts +21 -26
- package/color-picker/utils/color-picker/gradient.ts +35 -41
- package/color-picker/utils/color-picker/types.ts +4 -4
- package/config-provider/ConfigContext.tsx +1 -0
- package/config-provider/ConfigProvider.tsx +18 -1
- package/config-provider/type.ts +5 -0
- package/dialog/_example/base.tsx +27 -0
- package/dialog/_example/confirm-loading.tsx +32 -0
- package/dialog/_example/custom-buttons.tsx +24 -0
- package/dialog/_example/full-screen.tsx +26 -0
- package/dialog/_example/hide-buttons.tsx +39 -0
- package/dialog/_example/modeless.tsx +25 -0
- package/dialog/_example/placement.tsx +40 -0
- package/dialog/_example/plugin-example.tsx +69 -0
- package/dialog/_example/themes.tsx +41 -0
- package/drawer/Drawer.tsx +17 -9
- package/drawer/_example/custom-header-footer.tsx +29 -0
- package/drawer/_example/default.tsx +20 -0
- package/drawer/_example/events.tsx +53 -0
- package/drawer/_example/no-footer.tsx +20 -0
- package/drawer/_example/no-overlay.tsx +20 -0
- package/drawer/_example/placement.tsx +43 -0
- package/drawer/_example/size-draggable.tsx +26 -0
- package/drawer/_example/size.tsx +40 -0
- package/drawer/defaultProps.ts +1 -1
- package/fireworks/Fireworks.tsx +1 -10
- package/fireworks/index.ts +0 -1
- package/fireworks/type.ts +0 -1
- package/form/_example/complex.tsx +76 -0
- package/form/_example/default.tsx +58 -0
- package/form/_example/disabled.tsx +26 -0
- package/form/_example/form-list.tsx +74 -0
- package/form/_example/inline-layout.tsx +20 -0
- package/form/_example/label-align.tsx +46 -0
- package/form/_example/methods.tsx +66 -0
- package/form/_example/validation.tsx +71 -0
- package/form/hooks/useFormItemStyle.tsx +19 -7
- package/form/index.ts +20 -2
- package/global-config/default-config.ts +28 -28
- package/global-config/locale/ar_KW.ts +176 -187
- package/global-config/locale/en_US.ts +180 -195
- package/global-config/locale/it_IT.ts +174 -197
- package/global-config/locale/ja_JP.ts +178 -193
- package/global-config/locale/ko_KR.ts +178 -193
- package/global-config/locale/ru_RU.ts +189 -200
- package/global-config/locale/zh_CN.ts +179 -193
- package/global-config/locale/zh_TW.ts +178 -192
- package/global-config/mobile/default-config.ts +3 -3
- package/global-config/mobile/locale/ar_KW.ts +76 -77
- package/global-config/mobile/locale/en_US.ts +76 -77
- package/global-config/mobile/locale/it_IT.ts +76 -77
- package/global-config/mobile/locale/ja_JP.ts +64 -65
- package/global-config/mobile/locale/ko_KR.ts +64 -65
- package/global-config/mobile/locale/ru_RU.ts +76 -77
- package/global-config/mobile/locale/zh_CN.ts +64 -65
- package/global-config/mobile/locale/zh_TW.ts +64 -65
- package/global-config/t.ts +12 -12
- package/hooks/useDebounce.ts +27 -0
- package/hooks/useLastest.ts +6 -2
- package/hooks/useResizeObserve.ts +0 -1
- package/index.ts +1 -1
- package/input/Input.tsx +53 -10
- package/input/_example/auto-width.tsx +14 -0
- package/input/_example/borderless.tsx +17 -0
- package/input/_example/clearable.tsx +14 -0
- package/input/_example/default.tsx +10 -0
- package/input/_example/disabled-readonly.tsx +12 -0
- package/input/_example/events.tsx +42 -0
- package/input/_example/group.tsx +14 -0
- package/input/_example/label-suffix.tsx +12 -0
- package/input/_example/max-length.tsx +11 -0
- package/input/_example/password.tsx +14 -0
- package/input/_example/sizes.tsx +12 -0
- package/input/_example/status.tsx +13 -0
- package/input/_example/text-align.tsx +12 -0
- package/input/_example/with-icon.tsx +13 -0
- package/input/type.ts +3 -0
- package/input/useLengthLimit.ts +122 -0
- package/input-number/_example/align.tsx +23 -0
- package/input-number/_example/auto-width.tsx +8 -0
- package/input-number/_example/default.tsx +8 -0
- package/input-number/_example/events.tsx +45 -0
- package/input-number/_example/format.tsx +27 -0
- package/input-number/_example/large-number.tsx +17 -0
- package/input-number/_example/min-max.tsx +14 -0
- package/input-number/_example/sizes.tsx +35 -0
- package/input-number/_example/status.tsx +65 -0
- package/input-number/_example/step-and-decimal.tsx +14 -0
- package/input-number/_example/themes.tsx +21 -0
- package/input-number/_example/with-suffix.tsx +12 -0
- package/ip-input/_example/controlled.tsx +26 -0
- package/ip-input/_example/default.tsx +12 -0
- package/ip-input/_example/full-featured.tsx +32 -0
- package/ip-input/_example/ipv6.tsx +23 -0
- package/ip-input/_example/keyboard-navigation.tsx +19 -0
- package/ip-input/_example/paste-demo.tsx +23 -0
- package/ip-input/_example/states.tsx +21 -0
- package/ip-input/_example/with-cidr.tsx +23 -0
- package/layout/_example/combine-left.tsx +54 -0
- package/layout/_example/combine-right.tsx +54 -0
- package/layout/_example/custom-aside-width.tsx +56 -0
- package/layout/_example/custom-height.tsx +45 -0
- package/layout/_example/double-sidebar.tsx +57 -0
- package/layout/_example/side-navigation-right.tsx +51 -0
- package/layout/_example/side-navigation.tsx +51 -0
- package/layout/_example/top-navigation.tsx +41 -0
- package/list/_example/async-loading.tsx +46 -0
- package/list/_example/default.tsx +23 -0
- package/list/_example/header-footer.tsx +40 -0
- package/list/_example/multiline.tsx +24 -0
- package/list/_example/scroll-loading.tsx +69 -0
- package/list/_example/sizes.tsx +45 -0
- package/list/_example/split.tsx +36 -0
- package/list/_example/stripe.tsx +24 -0
- package/list/_example/virtual-scroll.tsx +51 -0
- package/list/_example/with-image.tsx +26 -0
- package/loading/_example/default.tsx +6 -0
- package/loading/_example/delay.tsx +53 -0
- package/loading/_example/fullscreen.tsx +29 -0
- package/loading/_example/inherit-color.tsx +24 -0
- package/loading/_example/no-overlay.tsx +15 -0
- package/loading/_example/sizes.tsx +25 -0
- package/loading/_example/with-text.tsx +12 -0
- package/loading/_example/wrapper.tsx +30 -0
- package/notification/_example/default.tsx +31 -0
- package/notification/_example/long-content.tsx +37 -0
- package/notification/_example/stacking.tsx +40 -0
- package/notification/_example/types.tsx +78 -0
- package/notification/_example/usage-example.tsx +62 -0
- package/package.json +4 -3
- package/popup/Popup.tsx +17 -5
- package/popup/_example/controlled.tsx +32 -0
- package/popup/_example/custom-content.tsx +64 -0
- package/popup/_example/default.tsx +19 -0
- package/popup/_example/delay.tsx +35 -0
- package/popup/_example/disabled.tsx +17 -0
- package/popup/_example/no-arrow.tsx +17 -0
- package/popup/_example/placements.tsx +61 -0
- package/popup/_example/triggers.tsx +26 -0
- package/radio/_example/allow-uncheck.tsx +19 -0
- package/radio/_example/button-style.tsx +40 -0
- package/radio/_example/controlled.tsx +13 -0
- package/radio/_example/default.tsx +13 -0
- package/radio/_example/group-disabled.tsx +22 -0
- package/radio/_example/group-with-options.tsx +20 -0
- package/radio/_example/group.tsx +19 -0
- package/radio/_example/sizes.tsx +37 -0
- package/radio/_example/states.tsx +20 -0
- package/select/_example/collapsed.tsx +30 -0
- package/select/_example/creatable.tsx +36 -0
- package/select/_example/custom-content.tsx +26 -0
- package/select/_example/default.tsx +29 -0
- package/select/_example/disabled.tsx +20 -0
- package/select/_example/filterable.tsx +27 -0
- package/select/_example/group-options.tsx +44 -0
- package/select/_example/label-suffix.tsx +24 -0
- package/select/_example/loading.tsx +19 -0
- package/select/_example/multiple.tsx +31 -0
- package/select/_example/sizes.tsx +20 -0
- package/select/_example/status.tsx +27 -0
- package/slider/Slider.tsx +13 -5
- package/slider/_example/custom-label.tsx +19 -0
- package/slider/_example/default.tsx +14 -0
- package/slider/_example/disabled.tsx +17 -0
- package/slider/_example/marks.tsx +31 -0
- package/slider/_example/range.tsx +16 -0
- package/slider/_example/step.tsx +14 -0
- package/slider/_example/vertical.tsx +26 -0
- package/slider/_example/with-input-number.tsx +21 -0
- package/slider/type.ts +1 -1
- package/styles/_vars.scss +16 -0
- package/styles/components/button/_index.scss +3 -3
- package/styles/components/dialog/_index.scss +18 -20
- package/styles/components/drawer/_index.scss +4 -3
- package/styles/components/drawer/_var.scss +1 -1
- package/styles/components/form/_index.scss +7 -6
- package/styles/components/input/_mixins.scss +7 -5
- package/styles/components/input-number/_index.scss +13 -12
- package/styles/components/list/_index.scss +5 -5
- package/styles/components/notification/_index.scss +4 -4
- package/styles/components/slider/_index.scss +8 -8
- package/styles/components/switch/_index.scss +98 -15
- package/styles/components/table/_index.scss +37 -29
- package/styles/components/tabs/_index.scss +8 -9
- package/styles/components/tooltip/_index.scss +104 -0
- package/styles/components/tooltip/_vars.scss +23 -0
- package/switch/_example/async-change.tsx +25 -0
- package/switch/_example/before-change.tsx +22 -0
- package/switch/_example/controlled.tsx +14 -0
- package/switch/_example/custom-value.tsx +21 -0
- package/switch/_example/default.tsx +6 -0
- package/switch/_example/disabled.tsx +25 -0
- package/switch/_example/loading.tsx +17 -0
- package/switch/_example/sizes.tsx +21 -0
- package/switch/_example/with-label.tsx +21 -0
- package/tab/TabPanel.tsx +9 -6
- package/tab/_example/addable.tsx +45 -0
- package/tab/_example/card-theme.tsx +22 -0
- package/tab/_example/default.tsx +22 -0
- package/tab/_example/disabled.tsx +38 -0
- package/tab/_example/lazy.tsx +25 -0
- package/tab/_example/placement.tsx +36 -0
- package/tab/_example/removable.tsx +31 -0
- package/tab/_example/sizes.tsx +31 -0
- package/tab/_example/with-action.tsx +26 -0
- package/table/Cell.tsx +3 -6
- package/table/Ellipsis.tsx +73 -0
- package/table/_example/alignment.tsx +46 -0
- package/table/_example/auto-width.tsx +47 -0
- package/table/_example/bordered-stripe-hover.tsx +42 -0
- package/table/_example/bordered.tsx +42 -0
- package/table/_example/cell-click.tsx +52 -0
- package/table/_example/complex.tsx +82 -0
- package/table/_example/custom-cell.tsx +68 -0
- package/table/_example/custom-empty.tsx +37 -0
- package/table/_example/custom-row-class-name.tsx +57 -0
- package/table/_example/default.tsx +42 -0
- package/table/_example/ellipsis.tsx +56 -0
- package/table/_example/empty.tsx +28 -0
- package/table/_example/fixed-width.tsx +48 -0
- package/table/_example/hover.tsx +42 -0
- package/table/_example/row-click.tsx +52 -0
- package/table/_example/sizes.tsx +57 -0
- package/table/_example/stripe.tsx +42 -0
- package/table/_example/vertical-align.tsx +110 -0
- package/table/hooks/useTableClassName.ts +3 -3
- package/table/index.ts +2 -0
- package/table/type.ts +1 -0
- package/tag/Tag.tsx +1 -1
- package/tag/_example/closable.tsx +44 -0
- package/tag/_example/default.tsx +17 -0
- package/tag/_example/disabled.tsx +19 -0
- package/tag/_example/sizes.tsx +18 -0
- package/tag/_example/variants.tsx +37 -0
- package/tag-input/_example/collapsed.tsx +27 -0
- package/tag-input/_example/controlled-uncontrolled.tsx +26 -0
- package/tag-input/_example/default.tsx +15 -0
- package/tag-input/_example/disabled-readonly.tsx +21 -0
- package/tag-input/_example/events.tsx +64 -0
- package/tag-input/_example/excess-display.tsx +27 -0
- package/tag-input/_example/max-tags.tsx +22 -0
- package/tag-input/_example/sizes.tsx +21 -0
- package/tag-input/_example/status.tsx +37 -0
- package/tag-input/_example/with-label.tsx +23 -0
- package/tag-input/hooks/useTagList.tsx +1 -1
- package/tooltip/Tooltip.tsx +76 -0
- package/tooltip/_example/base.tsx +26 -0
- package/tooltip/_example/custom-content.tsx +47 -0
- package/tooltip/_example/placement.tsx +33 -0
- package/tooltip/_example/theme.tsx +34 -0
- package/tooltip/defaultProps.ts +14 -0
- package/tooltip/index.ts +7 -0
- package/tooltip/style/index.js +1 -0
- package/tooltip/type.ts +99 -0
- package/utils/log/index.ts +1 -1
- package/utils/log/log.ts +2 -3
- package/utils/log/types.ts +1 -4
package/_util/scroll.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Alert } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function Base() {
|
|
5
|
+
return (
|
|
6
|
+
<div style={{ display: "flex", flexDirection: "column", gap: "12px" }}>
|
|
7
|
+
<Alert theme="success" message="这是一条成功的消息提示" />
|
|
8
|
+
<Alert theme="info" message="这是一条普通的消息提示" />
|
|
9
|
+
<Alert theme="warning" message="这是一条警示消息" />
|
|
10
|
+
<Alert theme="error" message="高危操作/出错信息提示" />
|
|
11
|
+
</div>
|
|
12
|
+
);
|
|
13
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Alert } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function Collapse() {
|
|
5
|
+
const message = [
|
|
6
|
+
"1.这是一条普通的消息提示描述,",
|
|
7
|
+
"2.这是一条普通的消息提示描述,",
|
|
8
|
+
"3.这是一条普通的消息提示描述,",
|
|
9
|
+
"4.这是一条普通的消息提示描述,",
|
|
10
|
+
"5.这是一条普通的消息提示描述,"
|
|
11
|
+
];
|
|
12
|
+
return (
|
|
13
|
+
<Alert message={message} maxLine={2} closeBtn />
|
|
14
|
+
);
|
|
15
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Badge } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
const badgeBlockStyle: React.CSSProperties = {
|
|
5
|
+
width: "40px",
|
|
6
|
+
height: "40px",
|
|
7
|
+
background: "#EEEEEE",
|
|
8
|
+
border: "1px solid #DCDCDC",
|
|
9
|
+
borderRadius: "3px"
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function Count() {
|
|
13
|
+
return (
|
|
14
|
+
<div style={{ display: "flex", gap: "24px", alignItems: "center" }}>
|
|
15
|
+
<Badge count={1}>
|
|
16
|
+
<div style={badgeBlockStyle}></div>
|
|
17
|
+
</Badge>
|
|
18
|
+
<Badge count={16}>
|
|
19
|
+
<div style={badgeBlockStyle}></div>
|
|
20
|
+
</Badge>
|
|
21
|
+
<Badge count={99}>
|
|
22
|
+
<div style={badgeBlockStyle}></div>
|
|
23
|
+
</Badge>
|
|
24
|
+
<Badge count={100}>
|
|
25
|
+
<div style={badgeBlockStyle}></div>
|
|
26
|
+
</Badge>
|
|
27
|
+
</div>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Badge } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
const badgeBlockStyle: React.CSSProperties = {
|
|
5
|
+
width: "40px",
|
|
6
|
+
height: "40px",
|
|
7
|
+
background: "#EEEEEE",
|
|
8
|
+
border: "1px solid #DCDCDC",
|
|
9
|
+
borderRadius: "3px"
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function CustomColor() {
|
|
13
|
+
return (
|
|
14
|
+
<div style={{ display: "flex", gap: "24px", alignItems: "center" }}>
|
|
15
|
+
<Badge count={8} color="var(--td-success-color)">
|
|
16
|
+
<div style={badgeBlockStyle}></div>
|
|
17
|
+
</Badge>
|
|
18
|
+
<Badge count={8} color="var(--td-warning-color)">
|
|
19
|
+
<div style={badgeBlockStyle}></div>
|
|
20
|
+
</Badge>
|
|
21
|
+
<Badge count={8} color="var(--td-brand-color)">
|
|
22
|
+
<div style={badgeBlockStyle}></div>
|
|
23
|
+
</Badge>
|
|
24
|
+
<Badge count="new" color="#6366f1">
|
|
25
|
+
<div style={badgeBlockStyle}></div>
|
|
26
|
+
</Badge>
|
|
27
|
+
<Badge dot count={1} color="var(--td-success-color)">
|
|
28
|
+
<div style={badgeBlockStyle}></div>
|
|
29
|
+
</Badge>
|
|
30
|
+
</div>
|
|
31
|
+
);
|
|
32
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Badge, Button } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
const badgeBlockStyle: React.CSSProperties = {
|
|
5
|
+
width: "40px",
|
|
6
|
+
height: "40px",
|
|
7
|
+
background: "#EEEEEE",
|
|
8
|
+
border: "1px solid #DCDCDC",
|
|
9
|
+
borderRadius: "3px"
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function Dot() {
|
|
13
|
+
return (
|
|
14
|
+
<div style={{ display: "flex", gap: "24px", alignItems: "center" }}>
|
|
15
|
+
<Badge dot count={1}>
|
|
16
|
+
<div style={badgeBlockStyle}></div>
|
|
17
|
+
</Badge>
|
|
18
|
+
<Badge dot count={1}>
|
|
19
|
+
<Button>消息</Button>
|
|
20
|
+
</Badge>
|
|
21
|
+
<Badge dot>
|
|
22
|
+
<span style={{ fontSize: "16px" }}>通知</span>
|
|
23
|
+
</Badge>
|
|
24
|
+
</div>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Badge } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
const badgeBlockStyle: React.CSSProperties = {
|
|
5
|
+
width: "40px",
|
|
6
|
+
height: "40px",
|
|
7
|
+
background: "#EEEEEE",
|
|
8
|
+
border: "1px solid #DCDCDC",
|
|
9
|
+
borderRadius: "3px"
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function MaxCount() {
|
|
13
|
+
return (
|
|
14
|
+
<div style={{ display: "flex", gap: "24px", alignItems: "center" }}>
|
|
15
|
+
<Badge count={100} maxCount={99}>
|
|
16
|
+
<div style={badgeBlockStyle}></div>
|
|
17
|
+
</Badge>
|
|
18
|
+
<Badge count={1000} maxCount={999}>
|
|
19
|
+
<div style={badgeBlockStyle}></div>
|
|
20
|
+
</Badge>
|
|
21
|
+
<Badge count={50} maxCount={20}>
|
|
22
|
+
<div style={badgeBlockStyle}></div>
|
|
23
|
+
</Badge>
|
|
24
|
+
</div>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Badge } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
const badgeBlockStyle: React.CSSProperties = {
|
|
5
|
+
width: "40px",
|
|
6
|
+
height: "40px",
|
|
7
|
+
background: "#EEEEEE",
|
|
8
|
+
border: "1px solid #DCDCDC",
|
|
9
|
+
borderRadius: "3px"
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function Offset() {
|
|
13
|
+
return (
|
|
14
|
+
<div style={{ display: "flex", gap: "40px", alignItems: "center" }}>
|
|
15
|
+
<Badge count={8}>
|
|
16
|
+
<div style={badgeBlockStyle}></div>
|
|
17
|
+
</Badge>
|
|
18
|
+
<Badge count={8} offset={[-5, 5]}>
|
|
19
|
+
<div style={badgeBlockStyle}></div>
|
|
20
|
+
</Badge>
|
|
21
|
+
<Badge count={8} offset={[5, -5]}>
|
|
22
|
+
<div style={badgeBlockStyle}></div>
|
|
23
|
+
</Badge>
|
|
24
|
+
<Badge count={8} offset={[-10, 10]}>
|
|
25
|
+
<div style={badgeBlockStyle}></div>
|
|
26
|
+
</Badge>
|
|
27
|
+
</div>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Badge } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
const badgeBlockStyle: React.CSSProperties = {
|
|
5
|
+
width: "40px",
|
|
6
|
+
height: "40px",
|
|
7
|
+
background: "#EEEEEE",
|
|
8
|
+
border: "1px solid #DCDCDC",
|
|
9
|
+
borderRadius: "3px"
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function Shape() {
|
|
13
|
+
return (
|
|
14
|
+
<div style={{ display: "flex", gap: "24px", alignItems: "center" }}>
|
|
15
|
+
<Badge count={8} shape="circle">
|
|
16
|
+
<div style={badgeBlockStyle}></div>
|
|
17
|
+
</Badge>
|
|
18
|
+
<Badge count={88} shape="circle">
|
|
19
|
+
<div style={badgeBlockStyle}></div>
|
|
20
|
+
</Badge>
|
|
21
|
+
<Badge count={8} shape="round">
|
|
22
|
+
<div style={badgeBlockStyle}></div>
|
|
23
|
+
</Badge>
|
|
24
|
+
<Badge count={88} shape="round">
|
|
25
|
+
<div style={badgeBlockStyle}></div>
|
|
26
|
+
</Badge>
|
|
27
|
+
<Badge count="new" shape="round">
|
|
28
|
+
<div style={badgeBlockStyle}></div>
|
|
29
|
+
</Badge>
|
|
30
|
+
</div>
|
|
31
|
+
);
|
|
32
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Badge } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
const badgeBlockStyle: React.CSSProperties = {
|
|
5
|
+
width: "40px",
|
|
6
|
+
height: "40px",
|
|
7
|
+
background: "#EEEEEE",
|
|
8
|
+
border: "1px solid #DCDCDC",
|
|
9
|
+
borderRadius: "3px"
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function ShowZero() {
|
|
13
|
+
return (
|
|
14
|
+
<div style={{ display: "flex", gap: "24px", alignItems: "center" }}>
|
|
15
|
+
<Badge count={0}>
|
|
16
|
+
<div style={badgeBlockStyle}></div>
|
|
17
|
+
</Badge>
|
|
18
|
+
<Badge count={0} showZero>
|
|
19
|
+
<div style={badgeBlockStyle}></div>
|
|
20
|
+
</Badge>
|
|
21
|
+
</div>
|
|
22
|
+
);
|
|
23
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Badge } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
const badgeBlockStyle: React.CSSProperties = {
|
|
5
|
+
width: "40px",
|
|
6
|
+
height: "40px",
|
|
7
|
+
background: "#EEEEEE",
|
|
8
|
+
border: "1px solid #DCDCDC",
|
|
9
|
+
borderRadius: "3px"
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function Size() {
|
|
13
|
+
return (
|
|
14
|
+
<div style={{ display: "flex", gap: "24px", alignItems: "center" }}>
|
|
15
|
+
<Badge count={8} size="medium">
|
|
16
|
+
<div style={badgeBlockStyle}></div>
|
|
17
|
+
</Badge>
|
|
18
|
+
<Badge count={8} size="small">
|
|
19
|
+
<div style={badgeBlockStyle}></div>
|
|
20
|
+
</Badge>
|
|
21
|
+
<Badge count={88} size="medium">
|
|
22
|
+
<div style={badgeBlockStyle}></div>
|
|
23
|
+
</Badge>
|
|
24
|
+
<Badge count={88} size="small">
|
|
25
|
+
<div style={badgeBlockStyle}></div>
|
|
26
|
+
</Badge>
|
|
27
|
+
<Badge dot count={1} size="medium">
|
|
28
|
+
<div style={badgeBlockStyle}></div>
|
|
29
|
+
</Badge>
|
|
30
|
+
<Badge dot count={1} size="small">
|
|
31
|
+
<div style={badgeBlockStyle}></div>
|
|
32
|
+
</Badge>
|
|
33
|
+
</div>
|
|
34
|
+
);
|
|
35
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Badge } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function Standalone() {
|
|
5
|
+
return (
|
|
6
|
+
<div style={{ display: "flex", gap: "16px", alignItems: "center" }}>
|
|
7
|
+
<Badge count={8} />
|
|
8
|
+
<Badge count={88} />
|
|
9
|
+
<Badge count={888} />
|
|
10
|
+
<Badge count="new" shape="round" />
|
|
11
|
+
<Badge dot count={1} />
|
|
12
|
+
</div>
|
|
13
|
+
);
|
|
14
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Badge, Button } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
const badgeBlockStyle: React.CSSProperties = {
|
|
5
|
+
width: "40px",
|
|
6
|
+
height: "40px",
|
|
7
|
+
background: "#EEEEEE",
|
|
8
|
+
border: "1px solid #DCDCDC",
|
|
9
|
+
borderRadius: "3px"
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default function TextCount() {
|
|
13
|
+
return (
|
|
14
|
+
<div style={{ display: "flex", gap: "24px", alignItems: "center" }}>
|
|
15
|
+
<Badge count="new">
|
|
16
|
+
<div style={badgeBlockStyle}></div>
|
|
17
|
+
</Badge>
|
|
18
|
+
<Badge count="hot">
|
|
19
|
+
<div style={badgeBlockStyle}></div>
|
|
20
|
+
</Badge>
|
|
21
|
+
<Badge count="NEW">
|
|
22
|
+
<Button>新品</Button>
|
|
23
|
+
</Badge>
|
|
24
|
+
</div>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Badge, Button } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function WithButton() {
|
|
5
|
+
return (
|
|
6
|
+
<div style={{ display: "flex", gap: "24px", alignItems: "center" }}>
|
|
7
|
+
<Badge count={5}>
|
|
8
|
+
<Button>消息</Button>
|
|
9
|
+
</Badge>
|
|
10
|
+
<Badge count={12}>
|
|
11
|
+
<Button theme="primary">通知</Button>
|
|
12
|
+
</Badge>
|
|
13
|
+
<Badge dot count={1}>
|
|
14
|
+
<Button variant="outline">提醒</Button>
|
|
15
|
+
</Badge>
|
|
16
|
+
<Badge count="new" shape="round" color="var(--td-success-color)">
|
|
17
|
+
<Button theme="success" variant="outline">
|
|
18
|
+
新功能
|
|
19
|
+
</Button>
|
|
20
|
+
</Badge>
|
|
21
|
+
</div>
|
|
22
|
+
);
|
|
23
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function Block() {
|
|
5
|
+
return (
|
|
6
|
+
<div style={{ display: "flex", flexDirection: "column", gap: "12px", width: "300px" }}>
|
|
7
|
+
<Button block theme="primary">
|
|
8
|
+
主要按钮
|
|
9
|
+
</Button>
|
|
10
|
+
<Button block variant="outline" theme="primary">
|
|
11
|
+
描边按钮
|
|
12
|
+
</Button>
|
|
13
|
+
<Button block variant="dashed">
|
|
14
|
+
虚线按钮
|
|
15
|
+
</Button>
|
|
16
|
+
</div>
|
|
17
|
+
);
|
|
18
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function Disabled() {
|
|
5
|
+
return (
|
|
6
|
+
<div style={{ display: "flex", gap: "12px", flexWrap: "wrap" }}>
|
|
7
|
+
<Button disabled>默认禁用</Button>
|
|
8
|
+
<Button disabled theme="primary">
|
|
9
|
+
主要禁用
|
|
10
|
+
</Button>
|
|
11
|
+
<Button disabled variant="outline" theme="primary">
|
|
12
|
+
描边禁用
|
|
13
|
+
</Button>
|
|
14
|
+
<Button disabled variant="dashed" theme="primary">
|
|
15
|
+
虚线禁用
|
|
16
|
+
</Button>
|
|
17
|
+
<Button disabled variant="text" theme="primary">
|
|
18
|
+
文字禁用
|
|
19
|
+
</Button>
|
|
20
|
+
</div>
|
|
21
|
+
);
|
|
22
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function Ghost() {
|
|
5
|
+
return (
|
|
6
|
+
<div style={{ display: "flex", gap: "12px", padding: "24px", flexWrap: "wrap" }}>
|
|
7
|
+
<Button ghost theme="primary">
|
|
8
|
+
主要
|
|
9
|
+
</Button>
|
|
10
|
+
<Button ghost theme="success">
|
|
11
|
+
成功
|
|
12
|
+
</Button>
|
|
13
|
+
<Button ghost theme="warning">
|
|
14
|
+
警告
|
|
15
|
+
</Button>
|
|
16
|
+
<Button ghost theme="danger">
|
|
17
|
+
危险
|
|
18
|
+
</Button>
|
|
19
|
+
</div>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function Link() {
|
|
5
|
+
return (
|
|
6
|
+
<div style={{ display: "flex", gap: "12px", flexWrap: "wrap" }}>
|
|
7
|
+
<Button href="https://www.example.com" target="_blank" theme="primary">
|
|
8
|
+
跳转链接
|
|
9
|
+
</Button>
|
|
10
|
+
<Button href="https://www.example.com" target="_blank" variant="text" theme="primary">
|
|
11
|
+
文字链接
|
|
12
|
+
</Button>
|
|
13
|
+
</div>
|
|
14
|
+
);
|
|
15
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function Loading() {
|
|
5
|
+
return (
|
|
6
|
+
<div style={{ display: "flex", gap: "12px", flexWrap: "wrap" }}>
|
|
7
|
+
<Button loading>加载中</Button>
|
|
8
|
+
<Button loading theme="primary">
|
|
9
|
+
加载中
|
|
10
|
+
</Button>
|
|
11
|
+
<Button loading variant="outline" theme="primary">
|
|
12
|
+
加载中
|
|
13
|
+
</Button>
|
|
14
|
+
<Button loading variant="dashed" theme="success">
|
|
15
|
+
加载中
|
|
16
|
+
</Button>
|
|
17
|
+
</div>
|
|
18
|
+
);
|
|
19
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button } from "@tendaui/react";
|
|
3
|
+
import { IconPlus } from "@tendaui/icons";
|
|
4
|
+
|
|
5
|
+
export default function Shape() {
|
|
6
|
+
return (
|
|
7
|
+
<div style={{ display: "flex", gap: "12px", alignItems: "center", flexWrap: "wrap" }}>
|
|
8
|
+
<Button shape="rectangle" theme="primary">
|
|
9
|
+
长方形
|
|
10
|
+
</Button>
|
|
11
|
+
<Button shape="round" theme="primary">
|
|
12
|
+
圆角
|
|
13
|
+
</Button>
|
|
14
|
+
<Button shape="square" theme="primary" icon={<IconPlus />} />
|
|
15
|
+
<Button shape="circle" theme="primary" icon={<IconPlus />} />
|
|
16
|
+
</div>
|
|
17
|
+
);
|
|
18
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function Size() {
|
|
5
|
+
return (
|
|
6
|
+
<div style={{ display: "flex", gap: "12px", alignItems: "center", flexWrap: "wrap" }}>
|
|
7
|
+
<Button size="small" theme="primary">
|
|
8
|
+
小按钮
|
|
9
|
+
</Button>
|
|
10
|
+
<Button size="medium" theme="primary">
|
|
11
|
+
中按钮
|
|
12
|
+
</Button>
|
|
13
|
+
<Button size="large" theme="primary">
|
|
14
|
+
大按钮
|
|
15
|
+
</Button>
|
|
16
|
+
</div>
|
|
17
|
+
);
|
|
18
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button } from "@tendaui/react";
|
|
3
|
+
import { IconDownload, IconSearch } from "@tendaui/icons";
|
|
4
|
+
|
|
5
|
+
export default function Suffix() {
|
|
6
|
+
return (
|
|
7
|
+
<div style={{ display: "flex", gap: "12px", flexWrap: "wrap" }}>
|
|
8
|
+
<Button suffix={<IconDownload />} theme="primary">
|
|
9
|
+
下载
|
|
10
|
+
</Button>
|
|
11
|
+
<Button icon={<IconSearch />} suffix={<IconDownload />} theme="primary">
|
|
12
|
+
搜索并下载
|
|
13
|
+
</Button>
|
|
14
|
+
</div>
|
|
15
|
+
);
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function Theme() {
|
|
5
|
+
return (
|
|
6
|
+
<div style={{ display: "flex", gap: "12px", flexWrap: "wrap" }}>
|
|
7
|
+
<Button theme="default">默认</Button>
|
|
8
|
+
<Button theme="primary">主要</Button>
|
|
9
|
+
<Button theme="success">成功</Button>
|
|
10
|
+
<Button theme="warning">警告</Button>
|
|
11
|
+
<Button theme="danger">危险</Button>
|
|
12
|
+
</div>
|
|
13
|
+
);
|
|
14
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function VariantBase() {
|
|
5
|
+
return (
|
|
6
|
+
<div style={{ display: "flex", gap: "12px", flexWrap: "wrap" }}>
|
|
7
|
+
<Button variant="base" theme="default">
|
|
8
|
+
默认
|
|
9
|
+
</Button>
|
|
10
|
+
<Button variant="base" theme="primary">
|
|
11
|
+
主要
|
|
12
|
+
</Button>
|
|
13
|
+
<Button variant="base" theme="success">
|
|
14
|
+
成功
|
|
15
|
+
</Button>
|
|
16
|
+
<Button variant="base" theme="warning">
|
|
17
|
+
警告
|
|
18
|
+
</Button>
|
|
19
|
+
<Button variant="base" theme="danger">
|
|
20
|
+
危险
|
|
21
|
+
</Button>
|
|
22
|
+
</div>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function VariantDashed() {
|
|
5
|
+
return (
|
|
6
|
+
<div style={{ display: "flex", gap: "12px", flexWrap: "wrap" }}>
|
|
7
|
+
<Button variant="dashed" theme="default">
|
|
8
|
+
默认
|
|
9
|
+
</Button>
|
|
10
|
+
<Button variant="dashed" theme="primary">
|
|
11
|
+
主要
|
|
12
|
+
</Button>
|
|
13
|
+
<Button variant="dashed" theme="success">
|
|
14
|
+
成功
|
|
15
|
+
</Button>
|
|
16
|
+
<Button variant="dashed" theme="warning">
|
|
17
|
+
警告
|
|
18
|
+
</Button>
|
|
19
|
+
<Button variant="dashed" theme="danger">
|
|
20
|
+
危险
|
|
21
|
+
</Button>
|
|
22
|
+
</div>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function VariantOutline() {
|
|
5
|
+
return (
|
|
6
|
+
<div style={{ display: "flex", gap: "12px", flexWrap: "wrap" }}>
|
|
7
|
+
<Button variant="outline" theme="default">
|
|
8
|
+
默认
|
|
9
|
+
</Button>
|
|
10
|
+
<Button variant="outline" theme="primary">
|
|
11
|
+
主要
|
|
12
|
+
</Button>
|
|
13
|
+
<Button variant="outline" theme="success">
|
|
14
|
+
成功
|
|
15
|
+
</Button>
|
|
16
|
+
<Button variant="outline" theme="warning">
|
|
17
|
+
警告
|
|
18
|
+
</Button>
|
|
19
|
+
<Button variant="outline" theme="danger">
|
|
20
|
+
危险
|
|
21
|
+
</Button>
|
|
22
|
+
</div>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function VariantText() {
|
|
5
|
+
return (
|
|
6
|
+
<div style={{ display: "flex", gap: "12px", flexWrap: "wrap" }}>
|
|
7
|
+
<Button variant="text" theme="default">
|
|
8
|
+
默认
|
|
9
|
+
</Button>
|
|
10
|
+
<Button variant="text" theme="primary">
|
|
11
|
+
主要
|
|
12
|
+
</Button>
|
|
13
|
+
<Button variant="text" theme="success">
|
|
14
|
+
成功
|
|
15
|
+
</Button>
|
|
16
|
+
<Button variant="text" theme="warning">
|
|
17
|
+
警告
|
|
18
|
+
</Button>
|
|
19
|
+
<Button variant="text" theme="danger">
|
|
20
|
+
危险
|
|
21
|
+
</Button>
|
|
22
|
+
</div>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { Checkbox } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function Controlled() {
|
|
5
|
+
const [checked, setChecked] = useState(true);
|
|
6
|
+
return (
|
|
7
|
+
<Checkbox checked={checked} onChange={(val) => setChecked(val)}>
|
|
8
|
+
受控复选框(点击切换)
|
|
9
|
+
</Checkbox>
|
|
10
|
+
);
|
|
11
|
+
}
|