@tendaui/components 1.2.3 → 1.3.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/LICENSE +21 -21
- package/README.md +176 -176
- 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 +24 -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 +89 -89
- package/color-picker/utils/color-picker/color.ts +467 -467
- package/color-picker/utils/color-picker/constants.ts +187 -187
- package/color-picker/utils/color-picker/draggable.ts +99 -100
- package/color-picker/utils/color-picker/format.ts +90 -95
- package/color-picker/utils/color-picker/gradient.ts +237 -243
- package/color-picker/utils/color-picker/index.ts +7 -7
- package/color-picker/utils/color-picker/types.ts +33 -33
- 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/dialog/hooks/useDialogPosition.ts +35 -35
- 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/form/type.ts +519 -519
- package/global-config/default-config.ts +95 -95
- package/global-config/locale/ar_KW.ts +259 -270
- package/global-config/locale/en_US.ts +265 -280
- package/global-config/locale/it_IT.ts +264 -287
- package/global-config/locale/ja_JP.ts +264 -279
- package/global-config/locale/ko_KR.ts +264 -279
- package/global-config/locale/ru_RU.ts +277 -288
- package/global-config/locale/zh_CN.ts +265 -279
- package/global-config/locale/zh_TW.ts +265 -279
- package/global-config/mobile/default-config.ts +6 -6
- package/global-config/mobile/locale/ar_KW.ts +112 -113
- package/global-config/mobile/locale/en_US.ts +113 -114
- package/global-config/mobile/locale/it_IT.ts +113 -114
- package/global-config/mobile/locale/ja_JP.ts +100 -101
- package/global-config/mobile/locale/ko_KR.ts +100 -101
- package/global-config/mobile/locale/ru_RU.ts +112 -113
- package/global-config/mobile/locale/zh_CN.ts +100 -101
- package/global-config/mobile/locale/zh_TW.ts +100 -101
- package/global-config/t.ts +111 -111
- 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/InputNumber.tsx +124 -124
- 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/input-number/defaultProps.ts +17 -17
- package/input-number/index.ts +9 -9
- package/input-number/style/css.js +1 -1
- package/input-number/style/index.js +1 -1
- package/input-number/useInputNumber.tsx +270 -270
- 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/ListItem.tsx +36 -36
- package/list/ListItemMeta.tsx +40 -40
- 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/list/defaultProps.ts +11 -11
- package/list/hooks/useListVirtualScroll.ts +82 -82
- package/list/style/css.js +1 -1
- package/list/style/index.js +1 -1
- 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/locale/LocalReceiver.ts +55 -55
- package/locale/ar_KW.ts +7 -7
- package/locale/en_US.ts +7 -7
- package/locale/it_IT.ts +6 -6
- package/locale/ja_JP.ts +6 -6
- package/locale/ko_KR.ts +6 -6
- package/locale/ru_RU.ts +6 -6
- package/locale/zh_CN.ts +5 -5
- package/locale/zh_TW.ts +7 -7
- 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/select/type.ts +382 -382
- package/select-input/type.ts +280 -280
- package/slider/Slider.tsx +13 -5
- package/slider/SliderHandleButton.tsx +50 -50
- 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/defaultProps.ts +15 -15
- package/slider/style/css.js +1 -1
- package/slider/style/index.js +1 -1
- package/slider/type.ts +1 -1
- package/styles/_global.scss +40 -39
- package/styles/_vars.scss +374 -358
- package/styles/components/alert/_index.scss +175 -175
- package/styles/components/alert/_vars.scss +41 -39
- package/styles/components/badge/_index.scss +71 -70
- package/styles/components/badge/_vars.scss +26 -25
- package/styles/components/button/_index.scss +499 -499
- package/styles/components/button/_mixins.scss +40 -39
- package/styles/components/button/_vars.scss +121 -120
- package/styles/components/checkbox/_index.scss +158 -158
- package/styles/components/checkbox/_var.scss +59 -60
- package/styles/components/color-picker/_index.scss +586 -586
- package/styles/components/color-picker/_vars.scss +79 -84
- package/styles/components/dialog/_animate.scss +133 -135
- package/styles/components/dialog/_index.scss +310 -311
- package/styles/components/dialog/_vars.scss +60 -59
- package/styles/components/drawer/_index.scss +206 -205
- package/styles/components/drawer/_var.scss +55 -53
- package/styles/components/fireworks/_index.scss +86 -86
- package/styles/components/fireworks/_vars.scss +5 -4
- package/styles/components/form/_index.scss +175 -173
- package/styles/components/form/_mixins.scss +74 -76
- package/styles/components/form/_vars.scss +101 -100
- package/styles/components/input/_index.scss +350 -349
- package/styles/components/input/_mixins.scss +120 -116
- package/styles/components/input/_vars.scss +130 -134
- package/styles/components/input-number/_index.scss +342 -343
- package/styles/components/input-number/_vars.scss +56 -65
- package/styles/components/ip-input/_index.scss +277 -280
- package/styles/components/layout/_index.scss +47 -47
- package/styles/components/layout/_vars.scss +19 -18
- package/styles/components/layout/doc.scss +74 -74
- package/styles/components/list/_index.scss +172 -172
- package/styles/components/list/_vars.scss +42 -41
- package/styles/components/loading/_index.scss +113 -112
- package/styles/components/loading/_vars.scss +40 -39
- package/styles/components/notification/_index.scss +144 -143
- package/styles/components/notification/_mixins.scss +13 -12
- package/styles/components/notification/_vars.scss +60 -59
- package/styles/components/popup/_index.scss +78 -82
- package/styles/components/popup/_mixin.scss +149 -149
- package/styles/components/popup/{_var.scss → _vars.scss} +33 -31
- package/styles/components/radio/_index.scss +376 -376
- package/styles/components/radio/{_var.scss → _vars.scss} +89 -92
- package/styles/components/select/_index.scss +291 -290
- package/styles/components/select/_var.scss +64 -65
- package/styles/components/select-input/_index.scss +5 -5
- package/styles/components/select-input/_var.scss +4 -3
- package/styles/components/slider/_index.scss +241 -241
- package/styles/components/slider/_vars.scss +51 -50
- package/styles/components/switch/_index.scss +248 -164
- package/styles/components/switch/_vars.scss +63 -61
- package/styles/components/table/_index.scss +194 -193
- package/styles/components/table/_var.scss +52 -52
- package/styles/components/tabs/_index.scss +165 -165
- package/styles/components/tabs/_mixins.scss +11 -11
- package/styles/components/tabs/_vars.scss +72 -71
- package/styles/components/tag/_index.scss +317 -316
- package/styles/components/tag/_var.scss +86 -85
- package/styles/components/tag-input/_index.scss +164 -163
- package/styles/components/tag-input/_vars.scss +17 -16
- package/styles/components/tooltip/_index.scss +104 -0
- package/styles/components/tooltip/_vars.scss +23 -0
- package/styles/mixins/_focus.scss +8 -7
- package/styles/mixins/_layout.scss +32 -32
- package/styles/mixins/_reset.scss +11 -10
- package/styles/mixins/_scrollbar.scss +32 -31
- package/styles/mixins/_text.scss +50 -48
- package/styles/themes/_dark.scss +169 -191
- package/styles/themes/_font.scss +69 -69
- package/styles/themes/_index.scss +5 -5
- package/styles/themes/_light.scss +170 -190
- package/styles/themes/_radius.scss +9 -9
- package/styles/themes/_size.scss +68 -68
- package/styles/utilities/_animation.scss +58 -57
- package/styles/utilities/_tips.scss +10 -9
- 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/input-number/large-number.ts +423 -423
- package/utils/input-number/number.ts +257 -257
- package/utils/log/index.ts +3 -3
- package/utils/log/log.ts +29 -30
- package/utils/log/types.ts +9 -12
- package/utils/style.ts +58 -58
|
@@ -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,24 @@
|
|
|
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", backgroundColor: "#f5f5f5" }}>
|
|
7
|
+
<Button ghost theme="default">
|
|
8
|
+
默认
|
|
9
|
+
</Button>
|
|
10
|
+
<Button ghost theme="primary">
|
|
11
|
+
主要
|
|
12
|
+
</Button>
|
|
13
|
+
<Button ghost theme="success">
|
|
14
|
+
成功
|
|
15
|
+
</Button>
|
|
16
|
+
<Button ghost theme="warning">
|
|
17
|
+
警告
|
|
18
|
+
</Button>
|
|
19
|
+
<Button ghost theme="danger">
|
|
20
|
+
危险
|
|
21
|
+
</Button>
|
|
22
|
+
</div>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Checkbox } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function GroupDisabled() {
|
|
5
|
+
return (
|
|
6
|
+
<Checkbox.Group defaultValue={["北京", "深圳"]} disabled>
|
|
7
|
+
<Checkbox value="北京">北京</Checkbox>
|
|
8
|
+
<Checkbox value="上海">上海</Checkbox>
|
|
9
|
+
<Checkbox value="广州">广州</Checkbox>
|
|
10
|
+
<Checkbox value="深圳">深圳</Checkbox>
|
|
11
|
+
</Checkbox.Group>
|
|
12
|
+
);
|
|
13
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { Checkbox } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function GroupWithCheckAll() {
|
|
5
|
+
const [value, setValue] = useState<string[]>(["上海"]);
|
|
6
|
+
const handleValueChange = (val) => {
|
|
7
|
+
console.log(val);
|
|
8
|
+
setValue(val);
|
|
9
|
+
};
|
|
10
|
+
return (
|
|
11
|
+
<div style={{ display: "flex", flexDirection: "column", gap: "16px" }}>
|
|
12
|
+
<div>当前选中:{value.filter((item) => item).join(", ")}</div>
|
|
13
|
+
<Checkbox.Group value={value} onChange={(val) => handleValueChange(val)}>
|
|
14
|
+
<Checkbox checkAll>全选</Checkbox>
|
|
15
|
+
<Checkbox value="北京">北京</Checkbox>
|
|
16
|
+
<Checkbox value="上海">上海</Checkbox>
|
|
17
|
+
<Checkbox value="广州">广州</Checkbox>
|
|
18
|
+
<Checkbox value="深圳">深圳</Checkbox>
|
|
19
|
+
</Checkbox.Group>
|
|
20
|
+
</div>
|
|
21
|
+
);
|
|
22
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { Checkbox } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function GroupWithMax() {
|
|
5
|
+
const [value, setValue] = useState<string[]>(["北京"]);
|
|
6
|
+
return (
|
|
7
|
+
<div style={{ display: "flex", flexDirection: "column", gap: "16px" }}>
|
|
8
|
+
<div>最多选择 2 项,当前选中:{value.join(", ") || "无"}</div>
|
|
9
|
+
<Checkbox.Group value={value} onChange={(val) => setValue(val as string[])} max={2}>
|
|
10
|
+
<Checkbox value="北京">北京</Checkbox>
|
|
11
|
+
<Checkbox value="上海">上海</Checkbox>
|
|
12
|
+
<Checkbox value="广州">广州</Checkbox>
|
|
13
|
+
<Checkbox value="深圳">深圳</Checkbox>
|
|
14
|
+
</Checkbox.Group>
|
|
15
|
+
</div>
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { Checkbox } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function GroupWithOptions() {
|
|
5
|
+
const [value, setValue] = useState<(string | number)[]>([2]);
|
|
6
|
+
const options = [
|
|
7
|
+
{ label: "选项一", value: 1 },
|
|
8
|
+
{ label: "选项二", value: 2 },
|
|
9
|
+
{ label: "选项三", value: 3, disabled: true },
|
|
10
|
+
{ label: "选项四", value: 4 }
|
|
11
|
+
];
|
|
12
|
+
return (
|
|
13
|
+
<div style={{ display: "flex", flexDirection: "column", gap: "16px" }}>
|
|
14
|
+
<div>当前选中值:{JSON.stringify(value)}</div>
|
|
15
|
+
<Checkbox.Group options={options} value={value} onChange={(val) => setValue(val as (string | number)[])} />
|
|
16
|
+
</div>
|
|
17
|
+
);
|
|
18
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { Checkbox } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function Group() {
|
|
5
|
+
const [value, setValue] = useState<string[]>(["北京"]);
|
|
6
|
+
return (
|
|
7
|
+
<div style={{ display: "flex", flexDirection: "column", gap: "16px" }}>
|
|
8
|
+
<div>当前选中:{value.join(", ") || "无"}</div>
|
|
9
|
+
<Checkbox.Group value={value} onChange={(val) => setValue(val as string[])}>
|
|
10
|
+
<Checkbox value="北京">北京</Checkbox>
|
|
11
|
+
<Checkbox value="上海">上海</Checkbox>
|
|
12
|
+
<Checkbox value="广州">广州</Checkbox>
|
|
13
|
+
<Checkbox value="深圳">深圳</Checkbox>
|
|
14
|
+
</Checkbox.Group>
|
|
15
|
+
</div>
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Checkbox } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function States() {
|
|
5
|
+
return (
|
|
6
|
+
<div style={{ display: "flex", gap: "16px", flexWrap: "wrap" }}>
|
|
7
|
+
<Checkbox>未选中项</Checkbox>
|
|
8
|
+
<Checkbox defaultChecked>选中项</Checkbox>
|
|
9
|
+
<Checkbox indeterminate>半选状态</Checkbox>
|
|
10
|
+
<Checkbox disabled>未选禁用项</Checkbox>
|
|
11
|
+
<Checkbox disabled defaultChecked>
|
|
12
|
+
选中禁用项
|
|
13
|
+
</Checkbox>
|
|
14
|
+
<Checkbox readonly defaultChecked>
|
|
15
|
+
只读选中项
|
|
16
|
+
</Checkbox>
|
|
17
|
+
</div>
|
|
18
|
+
);
|
|
19
|
+
}
|
|
@@ -11,8 +11,18 @@ import useDefaultProps from "../hooks/useDefaultProps";
|
|
|
11
11
|
|
|
12
12
|
const ColorPicker: React.FC<ColorPickerProps> = (props) => {
|
|
13
13
|
const baseClassName = useClassName();
|
|
14
|
-
const {
|
|
15
|
-
|
|
14
|
+
const {
|
|
15
|
+
popupProps,
|
|
16
|
+
clearable,
|
|
17
|
+
disabled,
|
|
18
|
+
borderless,
|
|
19
|
+
inputProps,
|
|
20
|
+
format,
|
|
21
|
+
enableAlpha,
|
|
22
|
+
onChange,
|
|
23
|
+
onClear,
|
|
24
|
+
...panelProps
|
|
25
|
+
} = useDefaultProps<ColorPickerProps>(props, colorPickerDefaultProps);
|
|
16
26
|
const { overlayClassName, overlayInnerStyle = {}, ...restPopupProps } = popupProps || {};
|
|
17
27
|
|
|
18
28
|
const [innerValue, setInnerValue] = useControlled(props, "value", onChange);
|
|
@@ -40,6 +50,8 @@ const ColorPicker: React.FC<ColorPickerProps> = (props) => {
|
|
|
40
50
|
{...panelProps}
|
|
41
51
|
clearable={clearable}
|
|
42
52
|
disabled={disabled}
|
|
53
|
+
format={format}
|
|
54
|
+
enableAlpha={enableAlpha}
|
|
43
55
|
value={innerValue}
|
|
44
56
|
onChange={(value: string, context: TdColorContext) => setInnerValue(value, context)}
|
|
45
57
|
ref={colorPanelRef}
|
|
@@ -53,6 +65,8 @@ const ColorPicker: React.FC<ColorPickerProps> = (props) => {
|
|
|
53
65
|
disabled={disabled}
|
|
54
66
|
borderless={borderless}
|
|
55
67
|
inputProps={inputProps}
|
|
68
|
+
format={format}
|
|
69
|
+
enableAlpha={enableAlpha}
|
|
56
70
|
value={innerValue}
|
|
57
71
|
onChange={setInnerValue}
|
|
58
72
|
onClear={onClear}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { ColorPicker } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function Base() {
|
|
5
|
+
const [color, setColor] = useState("#0052d9");
|
|
6
|
+
return (
|
|
7
|
+
<div style={{ display: "flex", flexDirection: "column", gap: "16px" }}>
|
|
8
|
+
<ColorPicker format="HEX" value={color} onChange={(v) => setColor(v)} />
|
|
9
|
+
<div>当前颜色值:{color}</div>
|
|
10
|
+
</div>
|
|
11
|
+
);
|
|
12
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ColorPicker } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function Borderless() {
|
|
5
|
+
return (
|
|
6
|
+
<div style={{ display: "flex", gap: "24px" }}>
|
|
7
|
+
<div>
|
|
8
|
+
<div style={{ marginBottom: "8px", color: "#666" }}>有边框</div>
|
|
9
|
+
<ColorPicker defaultValue="#0052d9" />
|
|
10
|
+
</div>
|
|
11
|
+
<div>
|
|
12
|
+
<div style={{ marginBottom: "8px", color: "#666" }}>无边框</div>
|
|
13
|
+
<ColorPicker borderless defaultValue="#0052d9" />
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { ColorPicker } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function Clearable() {
|
|
5
|
+
const [color, setColor] = useState("#0052d9");
|
|
6
|
+
return (
|
|
7
|
+
<div style={{ display: "flex", flexDirection: "column", gap: "16px" }}>
|
|
8
|
+
<ColorPicker clearable value={color} onChange={(v) => setColor(v)} onClear={() => setColor("")} />
|
|
9
|
+
<div>当前颜色值:{color || "(空)"}</div>
|
|
10
|
+
</div>
|
|
11
|
+
);
|
|
12
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ColorPicker } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function Disabled() {
|
|
5
|
+
return (
|
|
6
|
+
<div style={{ display: "flex", gap: "24px" }}>
|
|
7
|
+
<div>
|
|
8
|
+
<div style={{ marginBottom: "8px", color: "#666" }}>正常状态</div>
|
|
9
|
+
<ColorPicker defaultValue="#0052d9" />
|
|
10
|
+
</div>
|
|
11
|
+
<div>
|
|
12
|
+
<div style={{ marginBottom: "8px", color: "#666" }}>禁用状态</div>
|
|
13
|
+
<ColorPicker disabled defaultValue="#0052d9" />
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { ColorPicker } from "@tendaui/react";
|
|
3
|
+
|
|
4
|
+
export default function Formats() {
|
|
5
|
+
const [hexColor, setHexColor] = useState("#0052d9");
|
|
6
|
+
const [rgbColor, setRgbColor] = useState("rgb(0, 82, 217)");
|
|
7
|
+
const [hslColor, setHslColor] = useState("hsl(217, 100%, 43%)");
|
|
8
|
+
|
|
9
|
+
return (
|
|
10
|
+
<div style={{ display: "flex", flexDirection: "column", gap: "24px" }}>
|
|
11
|
+
<div>
|
|
12
|
+
<div style={{ marginBottom: "8px", color: "#666" }}>HEX 格式</div>
|
|
13
|
+
<ColorPicker format="HEX" value={hexColor} onChange={(v) => setHexColor(v)} />
|
|
14
|
+
<div style={{ marginTop: "8px", fontSize: "12px", color: "#999" }}>值:{hexColor}</div>
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<div>
|
|
18
|
+
<div style={{ marginBottom: "8px", color: "#666" }}>RGB 格式</div>
|
|
19
|
+
<ColorPicker format="RGB" value={rgbColor} onChange={(v) => setRgbColor(v)} />
|
|
20
|
+
<div style={{ marginTop: "8px", fontSize: "12px", color: "#999" }}>值:{rgbColor}</div>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<div>
|
|
24
|
+
<div style={{ marginBottom: "8px", color: "#666" }}>HSL 格式</div>
|
|
25
|
+
<ColorPicker format="HSL" value={hslColor} onChange={(v) => setHslColor(v)} />
|
|
26
|
+
<div style={{ marginTop: "8px", fontSize: "12px", color: "#999" }}>值:{hslColor}</div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
);
|
|
30
|
+
}
|