@fjyueke/arco-mcp 1.0.0 → 1.0.2
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/dist/index.js +113 -1
- package/metaData/components/action-sheet/api.md +94 -0
- package/metaData/components/action-sheet/style.md +57 -0
- package/metaData/components/avatar/api.md +49 -0
- package/metaData/components/avatar/style.md +147 -0
- package/metaData/components/badge/api.md +20 -0
- package/metaData/components/badge/style.md +74 -0
- package/metaData/components/button/api.md +37 -0
- package/metaData/components/button/style.md +151 -0
- package/metaData/components/carousel/api.md +81 -0
- package/metaData/components/carousel/style.md +208 -0
- package/metaData/components/cell/api.md +60 -0
- package/metaData/components/cell/style.md +123 -0
- package/metaData/components/checkbox/api.md +83 -0
- package/metaData/components/checkbox/style.md +62 -0
- package/metaData/components/circle-progress/api.md +32 -0
- package/metaData/components/circle-progress/style.md +52 -0
- package/metaData/components/collapse/api.md +66 -0
- package/metaData/components/collapse/style.md +53 -0
- package/metaData/components/context-provider/api.md +36 -0
- package/metaData/components/context-provider/style.md +1 -0
- package/metaData/components/count-down/api.md +32 -0
- package/metaData/components/count-down/style.md +7 -0
- package/metaData/components/date-picker/api.md +94 -0
- package/metaData/components/date-picker/style.md +27 -0
- package/metaData/components/dialog/api.md +192 -0
- package/metaData/components/dialog/style.md +271 -0
- package/metaData/components/divider/api.md +17 -0
- package/metaData/components/divider/style.md +68 -0
- package/metaData/components/dropdown/api.md +72 -0
- package/metaData/components/dropdown/style.md +108 -0
- package/metaData/components/dropdown-menu/api.md +83 -0
- package/metaData/components/dropdown-menu/style.md +60 -0
- package/metaData/components/ellipsis/api.md +25 -0
- package/metaData/components/ellipsis/style.md +31 -0
- package/metaData/components/form/api.md +82 -0
- package/metaData/components/form/style.md +105 -0
- package/metaData/components/grid/api.md +31 -0
- package/metaData/components/grid/style.md +109 -0
- package/metaData/components/icon/api.md +7 -0
- package/metaData/components/image/api.md +54 -0
- package/metaData/components/image/style.md +144 -0
- package/metaData/components/image-picker/api.md +108 -0
- package/metaData/components/image-picker/style.md +116 -0
- package/metaData/components/image-preview/api.md +111 -0
- package/metaData/components/image-preview/style.md +103 -0
- package/metaData/components/index-bar/api.md +75 -0
- package/metaData/components/index-bar/style.md +122 -0
- package/metaData/components/input/api.md +52 -0
- package/metaData/components/input/style.md +108 -0
- package/metaData/components/keyboard/api.md +65 -0
- package/metaData/components/keyboard/style.md +80 -0
- package/metaData/components/load-more/api.md +40 -0
- package/metaData/components/load-more/style.md +7 -0
- package/metaData/components/loading/api.md +26 -0
- package/metaData/components/loading/style.md +102 -0
- package/metaData/components/masking/api.md +85 -0
- package/metaData/components/masking/style.md +30 -0
- package/metaData/components/nav-bar/api.md +32 -0
- package/metaData/components/nav-bar/style.md +112 -0
- package/metaData/components/notice-bar/api.md +26 -0
- package/metaData/components/notice-bar/style.md +124 -0
- package/metaData/components/notify/api.md +73 -0
- package/metaData/components/notify/style.md +40 -0
- package/metaData/components/pagination/api.md +33 -0
- package/metaData/components/pagination/style.md +105 -0
- package/metaData/components/picker/api.md +81 -0
- package/metaData/components/picker/style.md +46 -0
- package/metaData/components/picker-view/api.md +49 -0
- package/metaData/components/picker-view/style.md +75 -0
- package/metaData/components/popover/api.md +136 -0
- package/metaData/components/popover/style.md +226 -0
- package/metaData/components/popup/api.md +93 -0
- package/metaData/components/popup/style.md +115 -0
- package/metaData/components/popup-swiper/api.md +100 -0
- package/metaData/components/popup-swiper/style.md +10 -0
- package/metaData/components/portal/api.md +6 -0
- package/metaData/components/portal/style.md +1 -0
- package/metaData/components/progress/api.md +34 -0
- package/metaData/components/progress/style.md +114 -0
- package/metaData/components/pull-refresh/api.md +29 -0
- package/metaData/components/pull-refresh/style.md +86 -0
- package/metaData/components/radio/api.md +81 -0
- package/metaData/components/radio/style.md +57 -0
- package/metaData/components/rate/api.md +25 -0
- package/metaData/components/rate/style.md +63 -0
- package/metaData/components/search-bar/api.md +89 -0
- package/metaData/components/search-bar/style.md +115 -0
- package/metaData/components/show-monitor/api.md +26 -0
- package/metaData/components/show-monitor/style.md +1 -0
- package/metaData/components/skeleton/api.md +93 -0
- package/metaData/components/skeleton/style.md +147 -0
- package/metaData/components/slider/api.md +34 -0
- package/metaData/components/slider/style.md +292 -0
- package/metaData/components/stepper/api.md +38 -0
- package/metaData/components/stepper/style.md +85 -0
- package/metaData/components/steps/api.md +49 -0
- package/metaData/components/steps/style.md +304 -0
- package/metaData/components/sticky/api.md +37 -0
- package/metaData/components/sticky/style.md +5 -0
- package/metaData/components/swipe-action/api.md +36 -0
- package/metaData/components/swipe-action/style.md +89 -0
- package/metaData/components/swipe-load/api.md +35 -0
- package/metaData/components/swipe-load/style.md +29 -0
- package/metaData/components/switch/api.md +30 -0
- package/metaData/components/switch/style.md +158 -0
- package/metaData/components/tab-bar/api.md +49 -0
- package/metaData/components/tab-bar/style.md +57 -0
- package/metaData/components/tabs/api.md +179 -0
- package/metaData/components/tabs/style.md +436 -0
- package/metaData/components/tag/api.md +72 -0
- package/metaData/components/tag/style.md +133 -0
- package/metaData/components/textarea/api.md +59 -0
- package/metaData/components/textarea/style.md +37 -0
- package/metaData/components/toast/api.md +82 -0
- package/metaData/components/toast/style.md +93 -0
- package/metaData/components/transition/api.md +11 -0
- package/metaData/components/transition/style.md +28 -0
- package/metaData/components/uploader/api.md +74 -0
- package/metaData/components/uploader/style.md +86 -0
- package/metaData/tokens.json +2358 -0
- package/package.json +1 -1
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
@import "../../../style/mixin.less";
|
|
2
|
+
|
|
3
|
+
.@{prefix}-radio {
|
|
4
|
+
display: inline-flex;
|
|
5
|
+
align-items: center;
|
|
6
|
+
|
|
7
|
+
.radio-icon {
|
|
8
|
+
display: inline-flex;
|
|
9
|
+
align-items: center;
|
|
10
|
+
.use-var(font-size, checkbox-icon-font-size);
|
|
11
|
+
.use-var(color, checkbox-icon-color);
|
|
12
|
+
|
|
13
|
+
&.checked {
|
|
14
|
+
.use-var(color, checkbox-icon-checked-color);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&.disabled {
|
|
18
|
+
.use-var(color, checkbox-icon-disabled-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&.checked.disabled {
|
|
22
|
+
.use-var(color, checkbox-icon-checked-disabled-color);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.@{prefix}-icon-circle-disabled path {
|
|
26
|
+
.use-var(stroke, line-color);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.radio-text {
|
|
31
|
+
.use-var(font-size, checkbox-text-font-size);
|
|
32
|
+
.use-var(color, font-color);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.radio-icon + .radio-text {
|
|
36
|
+
.use-var-with-rtl(margin-left, checkbox-icon-margin-right);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&.disabled .radio-text {
|
|
40
|
+
.use-var(opacity, checkbox-text-disabled-opacity);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&.block {
|
|
44
|
+
width: 100%;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
&.justify {
|
|
48
|
+
width: 100%;
|
|
49
|
+
justify-content: space-between;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.@{prefix}-radio-group {
|
|
54
|
+
.@{prefix}-radio:not(:last-child, .block) {
|
|
55
|
+
.use-var-with-rtl(margin-right, checkbox-group-gutter);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
> 属性/Props
|
|
2
|
+
|
|
3
|
+
|参数|描述|类型|默认值|
|
|
4
|
+
|----------|-------------|------|------|
|
|
5
|
+
|className|自定义类名|string|-|
|
|
6
|
+
|style|自定义样式|CSSProperties|-|
|
|
7
|
+
|defaultValue|默认评分|number|0|
|
|
8
|
+
|value|当前评分(受控)|number|-|
|
|
9
|
+
|count|图标数量|number|5|
|
|
10
|
+
|step|每个图标的分值|number|1|
|
|
11
|
+
|color|选中时颜色|string|-|
|
|
12
|
+
|normalColor|未选中时颜色|string|-|
|
|
13
|
+
|disabledColor|禁用时颜色|string|-|
|
|
14
|
+
|allowHalf|是否允许半选|boolean|false|
|
|
15
|
+
|disabled|是否为禁用状态|boolean|false|
|
|
16
|
+
|size|自定义图标大小|ReactText|-|
|
|
17
|
+
|offset|自定义图标间距(点击热区包含间距)|ReactText|-|
|
|
18
|
+
|icons|自定义图标|\{ normal: RateIconType; active: RateIconType; halfActive?: RateIconType; \}|-|
|
|
19
|
+
|onChange|当前分值变化触发的事件|(value: number) =\> void|(value) => void|
|
|
20
|
+
|
|
21
|
+
> 引用/Refs
|
|
22
|
+
|
|
23
|
+
|参数|描述|类型|
|
|
24
|
+
|----------|-------------|------|
|
|
25
|
+
|dom|最外层元素 DOM|HTMLDivElement|
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
@import "../../../style/mixin.less";
|
|
2
|
+
|
|
3
|
+
.@{prefix}-rate {
|
|
4
|
+
display: inline-flex;
|
|
5
|
+
|
|
6
|
+
&.disabled {
|
|
7
|
+
cursor: not-allowed;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
&-icon-wrap {
|
|
11
|
+
.use-var(padding, rate-icon-offset);
|
|
12
|
+
.use-var(font-size, rate-icon-size);
|
|
13
|
+
display: flex;
|
|
14
|
+
justify-content: center;
|
|
15
|
+
align-items: center;
|
|
16
|
+
position: relative;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&-icon-wrap,
|
|
20
|
+
&-icon {
|
|
21
|
+
|
|
22
|
+
&.active,
|
|
23
|
+
&.half-active {
|
|
24
|
+
.use-var(color, rate-icon-active-color);
|
|
25
|
+
|
|
26
|
+
&.disabled {
|
|
27
|
+
.use-var(color, rate-icon-disabled-active-color);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&.normal {
|
|
32
|
+
.use-var(color, rate-icon-normal-color);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&-icon {
|
|
37
|
+
|
|
38
|
+
&.half-active {
|
|
39
|
+
position: absolute;
|
|
40
|
+
z-index: 1;
|
|
41
|
+
|
|
42
|
+
.style-with-rtl({
|
|
43
|
+
transform: scaleX(-1);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&-icon-click-half {
|
|
49
|
+
width: 50%;
|
|
50
|
+
height: 100%;
|
|
51
|
+
display: inline-block;
|
|
52
|
+
position: absolute;
|
|
53
|
+
z-index: 2;
|
|
54
|
+
|
|
55
|
+
&.left {
|
|
56
|
+
left: 0;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
&.right {
|
|
60
|
+
right: 0;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
> 属性/Props
|
|
2
|
+
|
|
3
|
+
|参数|描述|类型|默认值|
|
|
4
|
+
|----------|-------------|------|------|
|
|
5
|
+
|shape|输入框形状|"square" \| "round"|"square"|
|
|
6
|
+
|textAlign|搜索栏内容位置|"left" \| "center" \| "right"|"left"|
|
|
7
|
+
|prepend|搜索栏头部插入的内容|ReactNode \| ((focusing: boolean, value: string) =\> ReactNode)|-|
|
|
8
|
+
|append|搜索栏尾部要插入的内容, 默认在搜索栏激活态时会插入一个按钮|ReactNode \| ((focusing: boolean, value: string) =\> ReactNode)|(focusing) => focusing ? (<span>取消</span>) : null|
|
|
9
|
+
|actionButton|搜索栏最右侧要插入的按钮,默认情况下插入一个取消按钮|ReactNode|<CancelButton />|
|
|
10
|
+
|enableAssociation|是否开启搜索联想框功能|boolean|false|
|
|
11
|
+
|associationVisible|(受控模式)搜索联想框的可见态|boolean|-|
|
|
12
|
+
|associationShowType|非受控模式下,搜索联想框的展示时机 \- focus 仅聚焦时 \- value 搜索词不为空 \- default 搜索栏被聚焦或者搜索词不为空 \- always 一直展示|"value" \| "focus" \| "default" \| "always"|"default"|
|
|
13
|
+
|associationItems|每一项搜索内容|SearchAssociationBaseItem\[\]|-|
|
|
14
|
+
|highlightMode|搜索结果高亮模式,可以是内置的两种模式,或者一个自定义的高亮函数(接受选项内容content、搜索关键字keyword、默认的高亮class,返回一个ReactNode) \- prefix 高亮最长前缀匹配字符串 \- contain 高亮所有搜索关键字 \- none 关闭高亮|SearchAssociationHighlightMode|"none"|
|
|
15
|
+
|highlightStyle|要为高亮结果添加的样式,仅非自定高亮模式下生效|CSSProperties|-|
|
|
16
|
+
|highlightClassName|要为高亮结果添加的class,仅非自定义高亮模式下生效|string|-|
|
|
17
|
+
|onCancel|右侧取消按钮的点击回调|() =\> void|-|
|
|
18
|
+
|onAssociationItemClick|每行搜索结果的点击回调|(item: SearchAssociationBaseItem, index: number, event: MouseEvent\<HTMLDivElement, MouseEvent\>) =\> void|-|
|
|
19
|
+
|onAssociationClick|搜索联想框整体被点击的回调|(event: MouseEvent\<HTMLDivElement, MouseEvent\>) =\> void|-|
|
|
20
|
+
|renderAssociationItem|自定义渲染每行搜索结果|(item: SearchAssociationBaseItem, index: number, node: ReactNode) =\> ReactNode|-|
|
|
21
|
+
|renderAssociation|自定义渲染搜索联想框整体内容|(Content: ReactNode) =\> ReactNode|-|
|
|
22
|
+
|type|输入框类型|string|"text"|
|
|
23
|
+
|pattern|检查控件值的正则表达式|string|-|
|
|
24
|
+
|inputClass|输入框dom自定义类名|string|-|
|
|
25
|
+
|inputStyle|输入框dom自定义样式|CSSProperties|-|
|
|
26
|
+
|nativeProps|其他未列出的原生属性,优先级低于已列出的组件属性|InputHTMLAttributes\<HTMLInputElement\>|-|
|
|
27
|
+
|ariaLabel|无障碍label|string|-|
|
|
28
|
+
|id|输入框的id|string|-|
|
|
29
|
+
|name|输入框的name|string|-|
|
|
30
|
+
|className|自定义类名|string|-|
|
|
31
|
+
|style|自定义样式|CSSProperties|-|
|
|
32
|
+
|value|绑定值,传入即受控|string|-|
|
|
33
|
+
|defaultValue|默认值|string|-|
|
|
34
|
+
|maxLength|最大输入长度|number|-|
|
|
35
|
+
|placeholder|占位文本|string|-|
|
|
36
|
+
|disabled|输入框是否禁用|boolean|-|
|
|
37
|
+
|readOnly|是否只读|boolean|-|
|
|
38
|
+
|autoFocus|是否自动获取焦点,开启后会触发一次onClick事件|boolean|-|
|
|
39
|
+
|blockChangeWhenCompositing|当 ios 输入中文时,输拼音的过程不触发onChange,仅确认选择后触发|boolean|false|
|
|
40
|
+
|validator|正则验证,不符合验证的不允许输入|RegExp \| ((value: string) =\> boolean)|-|
|
|
41
|
+
|blurBeforeFocus|在聚焦之前blur掉,即切换不同input时会重新弹起键盘,常用于input type切换时重新加载键盘,安卓上有效|boolean|-|
|
|
42
|
+
|clearable|是否有清除按钮|boolean|-|
|
|
43
|
+
|clearShowType|清除按钮展示时机:focus \- 聚焦时展示 value \- 有值则展示 always \- 始终展示|"value" \| "focus" \| "always"|"focus"|
|
|
44
|
+
|preventEventWhenClearing|在聚焦模式下点击清除按钮时,是否要屏蔽对应产生的onBlur和onFocus事件|boolean|true|
|
|
45
|
+
|clearIcon|清除按钮类型,也可自定义|ReactNode|\<IconClear className="clear-icon" /\>|
|
|
46
|
+
|onClear|按下清除按钮回调|(e: TouchEvent\<HTMLElement\>) =\> void|-|
|
|
47
|
+
|prefix|输入框前置内容,在输入框内部,也可自定义|ReactNode|-|
|
|
48
|
+
|suffix|输入框后置内容,在输入框内部,也可自定义|ReactNode|-|
|
|
49
|
+
|onChange|数据改变时触发(失去焦点时)|(e: ChangeEvent\<HTMLInputElement\>, value: string) =\> void|-|
|
|
50
|
+
|onInput|数据改变时触发|(e: ChangeEvent\<HTMLInputElement\>, value: string) =\> void|-|
|
|
51
|
+
|onFocus|输入框聚焦时触发|(e: FocusEvent\<HTMLInputElement, Element\>) =\> void|-|
|
|
52
|
+
|onBlur|输入框失去焦点时触发|(e: FocusEvent\<HTMLInputElement, Element\>) =\> void|-|
|
|
53
|
+
|onClick|点击输入框事件|(e: MouseEvent\<HTMLInputElement, MouseEvent\>) =\> void|-|
|
|
54
|
+
|onKeyUp|原生的keyup事件|(e: KeyboardEvent\<HTMLInputElement\>) =\> void|-|
|
|
55
|
+
|onKeyDown|原生的keydown事件|(e: KeyboardEvent\<HTMLInputElement\>) =\> void|-|
|
|
56
|
+
|onKeyPress|原生的keypress事件|(e: KeyboardEvent\<HTMLInputElement\>) =\> void|-|
|
|
57
|
+
|onPressEnter|按下回车键时触发|(e: KeyboardEvent\<HTMLInputElement\>) =\> void|-|
|
|
58
|
+
|
|
59
|
+
> 引用/Refs
|
|
60
|
+
|
|
61
|
+
|参数|描述|类型|
|
|
62
|
+
|----------|-------------|------|
|
|
63
|
+
|dom|最外层元素 DOM|HTMLDivElement|
|
|
64
|
+
|input|原生输入框 DOM|HTMLInputElement|
|
|
65
|
+
|toggleAssociation|仅非受控模式下生效,手动控制搜索联想框的显隐,如果没有传入值则默认将显隐状态反转|(newVisible?: boolean) =\> void|
|
|
66
|
+
|
|
67
|
+
> SearchBarShape
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
"square" | "round"
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
> SearchAssociationShowType
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
"value" | "focus" | "default" | "always"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
> SearchAssociationBaseItem
|
|
80
|
+
|
|
81
|
+
|参数|描述|类型|
|
|
82
|
+
|----------|-------------|------|
|
|
83
|
+
|content|基础内容|string|
|
|
84
|
+
|
|
85
|
+
> SearchAssociationHighlightMode
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
"prefix" | "contain" | "none" | (content: string, keyword: string, defaultHighlightClassName: string) => ReactNode
|
|
89
|
+
```
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
@import '../../../style/mixin.less';
|
|
2
|
+
|
|
3
|
+
.@{prefix}-search-bar {
|
|
4
|
+
&-container {
|
|
5
|
+
display: flex;
|
|
6
|
+
align-items: center;
|
|
7
|
+
position: relative;
|
|
8
|
+
.use-var(padding, search-bar-padding);
|
|
9
|
+
.use-var(background-color, search-bar-background-color);
|
|
10
|
+
}
|
|
11
|
+
&-square {
|
|
12
|
+
.@{prefix}-search-bar-wrap {
|
|
13
|
+
.use-var(border-radius, search-bar-square-shape-border-radius);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
&-round {
|
|
17
|
+
.@{prefix}-search-bar-wrap {
|
|
18
|
+
.use-var(border-radius, search-bar-round-shape-border-radius);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
&-wrap {
|
|
22
|
+
display: flex;
|
|
23
|
+
align-items: center;
|
|
24
|
+
flex: 1;
|
|
25
|
+
.use-var(height, search-bar-input-wrapper-height);
|
|
26
|
+
.use-var(font-size, search-bar-input-wrapper-font-size);
|
|
27
|
+
.use-var(padding, search-bar-input-wrapper-padding);
|
|
28
|
+
.use-var(background-color, search-bar-input-wrapper-background-color);
|
|
29
|
+
}
|
|
30
|
+
&-input {
|
|
31
|
+
flex: 1;
|
|
32
|
+
background-color: transparent;
|
|
33
|
+
.use-var(color, font-color);
|
|
34
|
+
.use-var(height, search-bar-input-height);
|
|
35
|
+
.use-var(caret-color, search-bar-input-caret-color);
|
|
36
|
+
&-left {
|
|
37
|
+
.set-value-with-rtl(text-align, left);
|
|
38
|
+
}
|
|
39
|
+
&-right {
|
|
40
|
+
.set-value-with-rtl(text-align, right);
|
|
41
|
+
}
|
|
42
|
+
&-center {
|
|
43
|
+
text-align: center;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&::placeholder {
|
|
47
|
+
.use-var(color, search-bar-input-placeholder-color);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&::-webkit-search-decoration,
|
|
51
|
+
&::-webkit-search-cancel-button {
|
|
52
|
+
display: none;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
&-prefix,
|
|
57
|
+
&-suffix,
|
|
58
|
+
&-clear {
|
|
59
|
+
align-items: center;
|
|
60
|
+
justify-content: center;
|
|
61
|
+
display: flex;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
&-prefix {
|
|
65
|
+
.use-var-with-rtl(margin-right, search-bar-prefix-margin-right);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
&-clear {
|
|
69
|
+
.use-var(color, search-bar-clear-icon-color);
|
|
70
|
+
.use-var(font-size, search-bar-clear-icon-font-size);
|
|
71
|
+
.use-var-with-rtl(padding-left, search-bar-clear-icon-padding-left);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
&-search-icon {
|
|
75
|
+
.use-var(color, search-bar-search-icon-color);
|
|
76
|
+
.use-var(font-size, search-bar-search-icon-font-size);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&-cancel-btn {
|
|
80
|
+
.use-var-with-rtl(margin-left, search-bar-cancel-btn-margin-left);
|
|
81
|
+
.use-var(color, search-bar-cancel-btn-color);
|
|
82
|
+
.use-var(font-size, search-bar-cancel-btn-font-size);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
&-association {
|
|
86
|
+
position: absolute;
|
|
87
|
+
left: 0;
|
|
88
|
+
right: 0;
|
|
89
|
+
.use-var(background-color, search-bar-association-background-color);
|
|
90
|
+
top: 100%;
|
|
91
|
+
display: none;
|
|
92
|
+
|
|
93
|
+
&-visible {
|
|
94
|
+
display: block;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
&-item {
|
|
98
|
+
.use-var(height, search-bar-association-item-height);
|
|
99
|
+
display: flex;
|
|
100
|
+
align-items: center;
|
|
101
|
+
position: relative;
|
|
102
|
+
.use-var(color, search-bar-association-item-color);
|
|
103
|
+
.use-var(padding, search-bar-association-item-padding);
|
|
104
|
+
.use-var(font-size, search-bar-association-item-font-size);
|
|
105
|
+
|
|
106
|
+
&:not(:last-child) {
|
|
107
|
+
.onepx-border-var(bottom, line-color);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
&-highlight {
|
|
111
|
+
.use-var(color, search-bar-association-item-highlight-color)
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
> 属性/Props
|
|
2
|
+
|
|
3
|
+
|参数|描述|类型|默认值|
|
|
4
|
+
|----------|-------------|------|------|
|
|
5
|
+
|className|自定义类名|string|-|
|
|
6
|
+
|style|自定义样式|CSSProperties|-|
|
|
7
|
+
|getScrollContainer|滚动视口选择器|() =\> HTMLElement \| Window|() => window|
|
|
8
|
+
|throttle|节流粒度(ms)|number|300|
|
|
9
|
+
|listenResize|是否监听 resize|boolean|true|
|
|
10
|
+
|listenScroll|是否监听 scroll|boolean|true|
|
|
11
|
+
|once|只监听变化一次,为 true 时仅在进入视口时触发一次 onVisibleChange|boolean|false|
|
|
12
|
+
|overflow|是否为局部滚动|boolean|false|
|
|
13
|
+
|threshold|元素进入视口区域触发回调比例,\[0\-1\]|number|0|
|
|
14
|
+
|offset|预加载提前量 \[offsetTop, offsetRight, offsetBottom, offsetLeft\]。 如果类型为 number,等效为\[number, number, number, number\]; 如果类型为 \[number1, number2\], 等效为\[number1, 0, number2, 0\]; 支持 Intersection Observer 的浏览器需要搭配 getScrollContainer, 设置父级容器|number \| \[number, number\] \| \[number, number, number, number\]|0|
|
|
15
|
+
|children|子节点|ReactNode|必填|
|
|
16
|
+
|disabled|是否禁用监听|boolean|false|
|
|
17
|
+
|onVisibleChange|进入或离开视口的回调函数|(visible: boolean, node: HTMLDivElement) =\> void|必填|
|
|
18
|
+
|onClick|点击组件的回调事件|(e: MouseEvent\<Element, MouseEvent\>) =\> void|-|
|
|
19
|
+
|
|
20
|
+
> 引用/Refs
|
|
21
|
+
|
|
22
|
+
|参数|描述|类型|
|
|
23
|
+
|----------|-------------|------|
|
|
24
|
+
|dom|最外层元素 DOM|HTMLDivElement|
|
|
25
|
+
|checkVisible|忽略元素前后状态,手动检查元素是否在视口内,触发onVisibleChange回调函数|() =\> boolean|
|
|
26
|
+
|flushVisibleStatus|重置元素初始可见态为false,并重新对元素可见度发起检测,优先级低于disabled(通常用在对ShowMonitor内部元素变化时发起的重新监听)|() =\> void|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// 这里啥也没有,但是为了兼容 babel-plugin-import的统一引用,还是需要创建下文件
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
> 属性/Props
|
|
2
|
+
|
|
3
|
+
|参数|描述|类型|默认值|
|
|
4
|
+
|----------|-------------|------|------|
|
|
5
|
+
|title|是否显示标题占位图|boolean \| SkeletonTitleProps|true|
|
|
6
|
+
|paragraph|是否显示段落占位图|boolean \| SkeletonParagraphProps|true|
|
|
7
|
+
|avatar|是否显示头像占位图|boolean \| SkeletonAvatarProps|false|
|
|
8
|
+
|grid|是否显示金刚位占位图(如该参数非空时,默认展示四列金刚位,且不展示标题/段落/头像占位符)|boolean \| SkeletonGridProps|false|
|
|
9
|
+
|showAnimation|是否展示动画效果|boolean|true|
|
|
10
|
+
|animation|加载动画效果,可选“扫光”、“呼吸”两种效果|"gradient" \| "breath"|"gradient"|
|
|
11
|
+
|animationGradientColor|扫光动效高光颜色|string|"rgba(0, 0, 0, 0.04)"|
|
|
12
|
+
|backgroundColor|占位块背景色|string|"#F7F8FA"|
|
|
13
|
+
|children|子元素|ReactNode|null|
|
|
14
|
+
|className|自定义类名|string|""|
|
|
15
|
+
|style|自定义样式|CSSProperties|{}|
|
|
16
|
+
|
|
17
|
+
> 引用/Refs
|
|
18
|
+
|
|
19
|
+
|参数|描述|类型|
|
|
20
|
+
|----------|-------------|------|
|
|
21
|
+
|dom|最外层 DOM 元素|HTMLDivElement|
|
|
22
|
+
|
|
23
|
+
> Skeleton.Node
|
|
24
|
+
|
|
25
|
+
|参数|描述|类型|默认值|
|
|
26
|
+
|----------|-------------|------|------|
|
|
27
|
+
|children|自定义组件内容|ReactNode|null|
|
|
28
|
+
|className|自定义类名|string|""|
|
|
29
|
+
|style|自定义样式|CSSProperties|{}|
|
|
30
|
+
|
|
31
|
+
> Skeleton.Title
|
|
32
|
+
|
|
33
|
+
|参数|描述|类型|默认值|
|
|
34
|
+
|----------|-------------|------|------|
|
|
35
|
+
|width|标题占位图宽度|ReactText|"40%"|
|
|
36
|
+
|className|自定义类名|string|""|
|
|
37
|
+
|style|自定义样式|CSSProperties|{}|
|
|
38
|
+
|
|
39
|
+
> Skeleton.Paragraph
|
|
40
|
+
|
|
41
|
+
|参数|描述|类型|默认值|
|
|
42
|
+
|----------|-------------|------|------|
|
|
43
|
+
|rows|段落占位图的行数|number|3|
|
|
44
|
+
|width|段落占位图宽度,若为数组格式对应每行宽度,否则表示最后一行的宽度|string \| number \| ReactText\[\]|"60%"|
|
|
45
|
+
|className|自定义类名|string|""|
|
|
46
|
+
|style|自定义样式|CSSProperties|{}|
|
|
47
|
+
|
|
48
|
+
> Skeleton.Avatar
|
|
49
|
+
|
|
50
|
+
|参数|描述|类型|默认值|
|
|
51
|
+
|----------|-------------|------|------|
|
|
52
|
+
|className|自定义类名|string|""|
|
|
53
|
+
|style|自定义样式|CSSProperties|{}|
|
|
54
|
+
|
|
55
|
+
> Skeleton.Grid
|
|
56
|
+
|
|
57
|
+
|参数|描述|类型|默认值|
|
|
58
|
+
|----------|-------------|------|------|
|
|
59
|
+
|columns|金刚位列数|number|4|
|
|
60
|
+
|className|自定义类名|string|""|
|
|
61
|
+
|style|自定义样式|CSSProperties|{}|
|
|
62
|
+
|
|
63
|
+
> SkeletonTitleProps
|
|
64
|
+
|
|
65
|
+
|参数|描述|类型|默认值|
|
|
66
|
+
|----------|-------------|------|------|
|
|
67
|
+
|width|标题占位图宽度|ReactText|"40%"|
|
|
68
|
+
|className|自定义类名|string|""|
|
|
69
|
+
|style|自定义样式|CSSProperties|{}|
|
|
70
|
+
|
|
71
|
+
> SkeletonParagraphProps
|
|
72
|
+
|
|
73
|
+
|参数|描述|类型|默认值|
|
|
74
|
+
|----------|-------------|------|------|
|
|
75
|
+
|rows|段落占位图的行数|number|3|
|
|
76
|
+
|width|段落占位图宽度,若为数组格式对应每行宽度,否则表示最后一行的宽度|string \| number \| ReactText\[\]|"60%"|
|
|
77
|
+
|className|自定义类名|string|""|
|
|
78
|
+
|style|自定义样式|CSSProperties|{}|
|
|
79
|
+
|
|
80
|
+
> SkeletonAvatarProps
|
|
81
|
+
|
|
82
|
+
|参数|描述|类型|默认值|
|
|
83
|
+
|----------|-------------|------|------|
|
|
84
|
+
|className|自定义类名|string|""|
|
|
85
|
+
|style|自定义样式|CSSProperties|{}|
|
|
86
|
+
|
|
87
|
+
> SkeletonGridProps
|
|
88
|
+
|
|
89
|
+
|参数|描述|类型|默认值|
|
|
90
|
+
|----------|-------------|------|------|
|
|
91
|
+
|columns|金刚位列数|number|4|
|
|
92
|
+
|className|自定义类名|string|""|
|
|
93
|
+
|style|自定义样式|CSSProperties|{}|
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
@import '../../../style/mixin.less';
|
|
2
|
+
|
|
3
|
+
.@{prefix}-skeleton {
|
|
4
|
+
position: relative;
|
|
5
|
+
.use-var(color, skeleton-gradient-animation-color);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.@{prefix}-skeleton-title {
|
|
9
|
+
.use-var(height, skeleton-title-height);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.@{prefix}-skeleton-paragraph {
|
|
13
|
+
&-line {
|
|
14
|
+
width: 100%;
|
|
15
|
+
.use-var(height, skeleton-paragraph-height);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&-line + &-line {
|
|
19
|
+
.use-var(margin-top, skeleton-paragraph-margin-top);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.@{prefix}-skeleton-avatar.@{prefix}-skeleton-item {
|
|
24
|
+
.use-var(width, skeleton-avatar-size);
|
|
25
|
+
.use-var(height, skeleton-avatar-size);
|
|
26
|
+
border-radius: 100%;
|
|
27
|
+
transform: translateZ(0);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.@{prefix}-skeleton-content {
|
|
31
|
+
width: 100%;
|
|
32
|
+
|
|
33
|
+
.@{prefix}-skeleton-title + .@{prefix}-skeleton-paragraph {
|
|
34
|
+
.use-var(margin-top, skeleton-large-gutter);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.@{prefix}-skeleton-with-avatar {
|
|
39
|
+
display: flex;
|
|
40
|
+
align-items: flex-start;
|
|
41
|
+
|
|
42
|
+
.@{prefix}-skeleton-avatar {
|
|
43
|
+
flex: none;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.@{prefix}-skeleton-content {
|
|
47
|
+
.@{prefix}-skeleton-title {
|
|
48
|
+
.use-var(margin-top, skeleton-medium-gutter);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.@{prefix}-skeleton-avatar + .@{prefix}-skeleton-content {
|
|
53
|
+
.use-var-with-rtl(margin-left, skeleton-medium-gutter);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.@{prefix}-skeleton-grid {
|
|
58
|
+
display: flex;
|
|
59
|
+
justify-content: space-between;
|
|
60
|
+
width: 100%;
|
|
61
|
+
|
|
62
|
+
&-item {
|
|
63
|
+
display: flex;
|
|
64
|
+
flex-direction: column;
|
|
65
|
+
align-items: center;
|
|
66
|
+
}
|
|
67
|
+
&-icon {
|
|
68
|
+
.use-var(width, skeleton-grid-icon-size);
|
|
69
|
+
.use-var(height, skeleton-grid-icon-size);
|
|
70
|
+
}
|
|
71
|
+
&-text {
|
|
72
|
+
.use-var(margin-top, skeleton-medium-gutter);
|
|
73
|
+
.use-var(width, skeleton-grid-text-width);
|
|
74
|
+
.use-var(height, skeleton-grid-text-height);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.@{prefix}-skeleton-node {
|
|
79
|
+
display: inline-block;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.@{prefix}-skeleton-item {
|
|
83
|
+
position: relative;
|
|
84
|
+
overflow: hidden;
|
|
85
|
+
.use-var(border-radius, skeleton-border-radius);
|
|
86
|
+
.use-var(background-color, skeleton-background-color);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.@{prefix}-skeleton-animation-item {
|
|
90
|
+
position: absolute;
|
|
91
|
+
width: 100vw;
|
|
92
|
+
height: 100%;
|
|
93
|
+
top: 0;
|
|
94
|
+
left: 0;
|
|
95
|
+
background-image: linear-gradient(
|
|
96
|
+
90deg,
|
|
97
|
+
rgba(255, 255, 255, 0) 35%,
|
|
98
|
+
currentColor 50%,
|
|
99
|
+
rgba(255, 255, 255, 0) 65%
|
|
100
|
+
);
|
|
101
|
+
transform-origin: top left;
|
|
102
|
+
animation-name: skeleton-gradient;
|
|
103
|
+
animation-iteration-count: infinite;
|
|
104
|
+
.use-var(animation-timing-function, skeleton-gradient-animation-timing-function);
|
|
105
|
+
.use-var(animation-duration, skeleton-gradient-animation-duration);
|
|
106
|
+
.style-with-rtl({
|
|
107
|
+
animation-name: skeleton-gradient-reverse;
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
.@{prefix}-skeleton-animation-breath {
|
|
111
|
+
animation: skeleton-breath linear infinite;
|
|
112
|
+
.use-var(animation-duration, skeleton-breath-animation-duration);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
@keyframes skeleton-gradient {
|
|
116
|
+
0% {
|
|
117
|
+
transform: translateX(-65%) skewX(-45deg);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
100% {
|
|
121
|
+
transform: translateX(135%) skewX(-45deg);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
@keyframes skeleton-gradient-reverse {
|
|
126
|
+
0% {
|
|
127
|
+
transform: translateX(65%) skewX(45deg);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
100% {
|
|
131
|
+
transform: translateX(-135%) skewX(45deg);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
@keyframes skeleton-breath {
|
|
136
|
+
0% {
|
|
137
|
+
opacity: 1;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
50% {
|
|
141
|
+
.use-var(opacity, skeleton-breath-opacity);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
100% {
|
|
145
|
+
opacity: 1;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
> 属性/Props
|
|
2
|
+
|
|
3
|
+
|参数|描述|类型|默认值|
|
|
4
|
+
|----------|-------------|------|------|
|
|
5
|
+
|className|自定义类名|string|""|
|
|
6
|
+
|style|自定义样式|CSSProperties|{}|
|
|
7
|
+
|disabled|是否禁用|boolean|false|
|
|
8
|
+
|useRange|使用范围选择|boolean|根据 传入初始参数判断,没有则为 false|
|
|
9
|
+
|useAnimation|非点击状态使用动画|boolean|true|
|
|
10
|
+
|min|最小值|number|0|
|
|
11
|
+
|max|最大值|number|100|
|
|
12
|
+
|defaultValue|默认初始值|number \| \[number, number\]|-|
|
|
13
|
+
|value|基础值,组件受控|number \| \[number, number\]|-|
|
|
14
|
+
|step|最小单位|number|1|
|
|
15
|
+
|type|组件方向|"horizontal" \| "vertical"|"horizontal"|
|
|
16
|
+
|showTooltip|是否展示气泡|"auto" \| "always" \| "never"|"auto"|
|
|
17
|
+
|marks|滑动条节点配置|number \| number\[\] \| Record\<string, ReactNode\>|-|
|
|
18
|
+
|showMarks|是否展示标签底部文案|boolean|false|
|
|
19
|
+
|useMarkOnly|是否只可用标志的值,覆盖 step|boolean|false|
|
|
20
|
+
|prefixLabel|前缀 icon 或者 文案|ReactNode \| ((value: number \| \[\.\.\.\]) =\> ReactNode)|-|
|
|
21
|
+
|suffixLabel|后缀 icon 或者 文案|ReactNode \| ((value: number \| \[\.\.\.\]) =\> ReactNode)|-|
|
|
22
|
+
|size|组件横条粗细,单位 px|ReactText|2|
|
|
23
|
+
|draggableTrackOnly|只允许拖动滑块 默认 false|boolean|false|
|
|
24
|
+
|formatTooltip|自定义气泡内容|(value: number) =\> ReactNode|-|
|
|
25
|
+
|onAfterChange|修改后事件,时机同 touchend|(value: number \| \[number, number\]) =\> void|-|
|
|
26
|
+
|onChange|实时修改事件|(value: number \| \[number, number\]) =\> void|-|
|
|
27
|
+
|renderThumb|自定义滑块|(value: number) =\> ReactNode|-|
|
|
28
|
+
|renderThumbPopover|自定义滑块的Popover,优先级高于formatTooltip。value表示当前滑动进度,visible表示气泡的可见性,index表示当前滑块索引,thumbEl表示当前滑块元素。|(config: \{ value: number; visible: boolean; index: number; thumbEl: ReactNode; \}) =\> ReactNode|-|
|
|
29
|
+
|
|
30
|
+
> 引用/Refs
|
|
31
|
+
|
|
32
|
+
|参数|描述|类型|
|
|
33
|
+
|----------|-------------|------|
|
|
34
|
+
|dom|最外层元素 DOM|HTMLDivElement|
|