@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,75 @@
|
|
|
1
|
+
> 属性/Props
|
|
2
|
+
|
|
3
|
+
|参数|描述|类型|默认值|
|
|
4
|
+
|----------|-------------|------|------|
|
|
5
|
+
|className|自定义类名|string|-|
|
|
6
|
+
|style|自定义样式|CSSProperties|-|
|
|
7
|
+
|defaultIndex|默认要激活的索引|ReactText|-|
|
|
8
|
+
|disableSidebar|是否开启侧边栏功能|boolean|false|
|
|
9
|
+
|sticky|是否开启索引的自动吸顶效果|boolean|true|
|
|
10
|
+
|groups|索引栏内容|IndexBarGroupItem\<IndexBarBaseData\>\[\]|-|
|
|
11
|
+
|children|自定义内容的渲染,内容必须是IndexBar\.Group组件|ReactNode|-|
|
|
12
|
+
|tipType|侧边栏索引提示的样式类型 \- sweat 水滴形 \- toast 轻提示 \- none 关闭提示|"none" \| "sweat" \| "toast"|"toast"|
|
|
13
|
+
|scrollDuration|手动调用scrollToIndex时,滚动动画的执行时间|number|0|
|
|
14
|
+
|scrollBezier|手动调用scrollToIndex时,滚动的动画曲线|\[number, number, number, number\]|-|
|
|
15
|
+
|onChange|激活的索引改变时的回调,第一个参数是新的索引,第二个参数是改变方式:\- swipe 手动滑动页面触发变化 \- sidebar 侧边栏点击触发变化 \- manual 手动调用scrollToIndex触发|(index: ReactText, trigger: IndexBarChangeTrigger) =\> void|-|
|
|
16
|
+
|onGroupItemClick|IndexBar\.Group中某个子项被点击时的回调,使用JSX的写法时该回调不会生效,请在IndexBar\.Group上绑定对应属性|(index: ReactText, itemData: IndexBarBaseData, itemIndex: number) =\> void|-|
|
|
17
|
+
|renderSideBarItem|自定义侧边栏每个子项的内容渲染|(index: ReactText) =\> ReactNode|-|
|
|
18
|
+
|renderSideBar|自定义侧边栏渲染|(Content: ReactNode) =\> ReactElement\<any, string \| ((props: any) =\> ReactElement\<any, any\>) \| (new (props: any) =\> Component\<any, any, any\>)\>|-|
|
|
19
|
+
|renderTip|自定义使用侧边栏改变索引时,渲染提示的内容|(index: ReactText) =\> ReactNode|-|
|
|
20
|
+
|renderStickyItem|自定义IndexBar\.Group的索引标题内容渲染,使用JSX的写法时该回调不会生效,请在IndexBar\.Group上绑定对应属性|(index: ReactText) =\> ReactNode|-|
|
|
21
|
+
|renderGroupItem|自定义IndexBar\.Group的子项内容渲染,使用JSX的写法时该回调不会生效,请在IndexBar\.Group上绑定对应属性|(index: ReactText, itemData: IndexBarBaseData, itemIndex: number) =\> ReactNode|-|
|
|
22
|
+
|
|
23
|
+
> 引用/Refs
|
|
24
|
+
|
|
25
|
+
|参数|描述|类型|
|
|
26
|
+
|----------|-------------|------|
|
|
27
|
+
|dom|最外层 DOM 元素|HTMLDivElement|
|
|
28
|
+
|scrollToIndex|手动滚动到指定的索引位置|(index?: ReactText, rightNow?: boolean) =\> void|
|
|
29
|
+
|recalculatePosition|局部滚动模式下,如果容器外部还有嵌套滚动,可主动调用此方法,让 sticky 的元素主动更新 fixed 位置|(index?: ReactText) =\> void|
|
|
30
|
+
|
|
31
|
+
> IndexBar.Group
|
|
32
|
+
|
|
33
|
+
|参数|描述|类型|默认值|
|
|
34
|
+
|----------|-------------|------|------|
|
|
35
|
+
|className|自定义类名|string|-|
|
|
36
|
+
|style|自定义样式|CSSProperties|-|
|
|
37
|
+
|children|自定义内容的渲染,有自定义内容优先渲染自定义内容,否则渲染list传递的数据|ReactNode|-|
|
|
38
|
+
|listKey|自定义提取List的key作为列表渲染的key,默认选取listItem的所在数组位置|(data: IndexBarBaseData, listItemIndex: number) =\> ReactText|-|
|
|
39
|
+
|onGroupItemClick|IndexBar\.Group中某个子项被点击时的回调|(index: ReactText, itemData: IndexBarBaseData, itemIndex: number) =\> void|-|
|
|
40
|
+
|renderStickyItem|自定义IndexBar\.Group的索引标题内容渲染|(index: ReactText) =\> ReactNode|-|
|
|
41
|
+
|renderGroupItem|自定义IndexBar\.Group的子项内容渲染|(index: ReactText, itemData: IndexBarBaseData, itemIndex: number) =\> ReactNode|-|
|
|
42
|
+
|index|IndexBarGroup对应的索引|ReactText|必填|
|
|
43
|
+
|list|IndexBarGroup中要渲染的列表数据,如果已经传递了children这个属性,则list这个属性不会生效|IndexBarBaseData\[\]|-|
|
|
44
|
+
|
|
45
|
+
> IndexBarGroupItem
|
|
46
|
+
|
|
47
|
+
|参数|描述|类型|
|
|
48
|
+
|----------|-------------|------|
|
|
49
|
+
|Data|-|any|
|
|
50
|
+
|index|IndexBarGroup对应的索引|ReactText|
|
|
51
|
+
|list|IndexBarGroup中要渲染的列表数据,如果已经传递了children这个属性,则list这个属性不会生效|IndexBarBaseData\[\]|
|
|
52
|
+
|
|
53
|
+
> IndexBarBaseData
|
|
54
|
+
|
|
55
|
+
|参数|描述|类型|
|
|
56
|
+
|----------|-------------|------|
|
|
57
|
+
|content|内容|ReactNode|
|
|
58
|
+
|
|
59
|
+
> IndexBarTipType
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
"none" | "sweat" | "toast"
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
> IndexBarChangeTrigger
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
"swipe" | "manual" | "sidebar"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
> IndexBarGroupRef
|
|
72
|
+
|
|
73
|
+
|参数|描述|类型|
|
|
74
|
+
|----------|-------------|------|
|
|
75
|
+
|dom|组件外层dom元素|HTMLDivElement|
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
@import '../../../style/mixin.less';
|
|
2
|
+
|
|
3
|
+
.@{prefix}-index-bar {
|
|
4
|
+
position: relative;
|
|
5
|
+
.use-var(background, index-bar-background);
|
|
6
|
+
overflow: hidden;
|
|
7
|
+
&-container {
|
|
8
|
+
height: 100%;
|
|
9
|
+
overflow-y: auto;
|
|
10
|
+
|
|
11
|
+
&::-webkit-scrollbar {
|
|
12
|
+
display: none;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&-group {
|
|
17
|
+
&-active {
|
|
18
|
+
.use-var(color, index-bar-group-active-color);
|
|
19
|
+
}
|
|
20
|
+
&-title {
|
|
21
|
+
.use-var-with-rtl(padding-left, index-bar-group-left-spacing);
|
|
22
|
+
.use-var(height, index-bar-group-title-height);
|
|
23
|
+
.use-var(background, index-bar-group-title-background);
|
|
24
|
+
.use-var(font-size, index-bar-group-title-font-size);
|
|
25
|
+
.use-var(color, index-bar-group-title-font-color);
|
|
26
|
+
display: flex;
|
|
27
|
+
align-items: center;
|
|
28
|
+
}
|
|
29
|
+
&-item {
|
|
30
|
+
.use-var(height, index-bar-group-item-height);
|
|
31
|
+
display: flex;
|
|
32
|
+
align-items: center;
|
|
33
|
+
.use-var-with-rtl(margin-left, index-bar-group-left-spacing);
|
|
34
|
+
.use-var(font-size, index-bar-group-item-font-size);
|
|
35
|
+
|
|
36
|
+
&:not(:last-child) {
|
|
37
|
+
.onepx-border-var(bottom, line-color);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&-sidebar {
|
|
43
|
+
position: absolute;
|
|
44
|
+
z-index: 2;
|
|
45
|
+
.set-prop-with-rtl(right, 0);
|
|
46
|
+
top: 50%;
|
|
47
|
+
transform: translateY(-50%) translateZ(0);
|
|
48
|
+
user-select: none;
|
|
49
|
+
|
|
50
|
+
&-touching {
|
|
51
|
+
width: 100%;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
&-item {
|
|
55
|
+
display: flex;
|
|
56
|
+
justify-content: flex-end;
|
|
57
|
+
align-items: center;
|
|
58
|
+
position: relative;
|
|
59
|
+
.use-var(padding, index-bar-sidebar-item-padding);
|
|
60
|
+
cursor: pointer;
|
|
61
|
+
|
|
62
|
+
&-wrapper {
|
|
63
|
+
display: inline-flex;
|
|
64
|
+
align-items: center;
|
|
65
|
+
justify-content: center;
|
|
66
|
+
.use-var(width, index-bar-sidebar-item-width);
|
|
67
|
+
.use-var(font-size, index-bar-sidebar-item-font-size);
|
|
68
|
+
.use-var(line-height, index-bar-sidebar-item-line-height);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
&:last-child {
|
|
72
|
+
padding-bottom: 0px;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
&-active {
|
|
76
|
+
.use-var(color, index-bar-sidebar-active-color);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&-sweat {
|
|
80
|
+
position: absolute;
|
|
81
|
+
.use-var(height, index-bar-sidebar-sweat-radius);
|
|
82
|
+
.use-var(min-width, index-bar-sidebar-sweat-radius);
|
|
83
|
+
.use-var(line-height, index-bar-sidebar-sweat-radius);
|
|
84
|
+
border-radius: 9999px;
|
|
85
|
+
text-align: center;
|
|
86
|
+
.use-var(padding, index-bar-sidebar-sweat-padding);
|
|
87
|
+
.use-var(background, index-bar-sidebar-sweat-background);
|
|
88
|
+
.use-var-with-rtl(right, index-bar-sidebar-sweat-right);
|
|
89
|
+
.use-var(font-size, index-bar-sidebar-sweat-font-size);
|
|
90
|
+
.use-var(color, index-bar-sidebar-sweat-color);
|
|
91
|
+
&::before {
|
|
92
|
+
content: '';
|
|
93
|
+
position: absolute;
|
|
94
|
+
top: 0;
|
|
95
|
+
bottom: 0;
|
|
96
|
+
margin: auto;
|
|
97
|
+
.use-var-with-rtl(right, index-bar-sidebar-sweat-triangle-position);
|
|
98
|
+
width: 0;
|
|
99
|
+
height: 0;
|
|
100
|
+
.use-var(border, index-bar-sidebar-sweat-triangle-border);
|
|
101
|
+
.use-var-with-rtl(border-left-color, index-bar-sidebar-sweat-background);
|
|
102
|
+
border-radius: 4px;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
&-toast {
|
|
107
|
+
position: absolute;
|
|
108
|
+
.use-var(background, index-bar-sidebar-toast-background);
|
|
109
|
+
.use-var(color, index-bar-sidebar-toast-color);
|
|
110
|
+
left: 50%;
|
|
111
|
+
top: 50%;
|
|
112
|
+
.use-var(min-width, index-bar-sidebar-toast-height);
|
|
113
|
+
.use-var(height, index-bar-sidebar-toast-height);
|
|
114
|
+
.use-var(line-height, index-bar-sidebar-toast-height);
|
|
115
|
+
transform: translate(-50%, -50%);
|
|
116
|
+
text-align: center;
|
|
117
|
+
.use-var(padding, index-bar-sidebar-toast-padding);
|
|
118
|
+
.use-var(font-size, index-bar-sidebar-toast-font-size);
|
|
119
|
+
.use-var(border-radius, index-bar-sidebar-toast-radius);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
> 属性/Props
|
|
2
|
+
|
|
3
|
+
|参数|描述|类型|默认值|
|
|
4
|
+
|----------|-------------|------|------|
|
|
5
|
+
|type|输入框类型|string|"text"|
|
|
6
|
+
|pattern|检查控件值的正则表达式|string|-|
|
|
7
|
+
|inputClass|输入框dom自定义类名|string|-|
|
|
8
|
+
|inputStyle|输入框dom自定义样式|CSSProperties|-|
|
|
9
|
+
|nativeProps|其他未列出的原生属性,优先级低于已列出的组件属性|InputHTMLAttributes\<HTMLInputElement\>|-|
|
|
10
|
+
|ariaLabel|无障碍label|string|-|
|
|
11
|
+
|id|输入框的id|string|-|
|
|
12
|
+
|name|输入框的name|string|-|
|
|
13
|
+
|className|自定义类名|string|-|
|
|
14
|
+
|style|自定义样式|CSSProperties|-|
|
|
15
|
+
|value|绑定值,传入即受控|string|-|
|
|
16
|
+
|defaultValue|默认值|string|-|
|
|
17
|
+
|maxLength|最大输入长度|number|-|
|
|
18
|
+
|border|边框展示类型|"all" \| "half" \| "bottom" \| "none"|"half"|
|
|
19
|
+
|placeholder|占位文本|string|-|
|
|
20
|
+
|disabled|输入框是否禁用|boolean|-|
|
|
21
|
+
|readOnly|是否只读|boolean|-|
|
|
22
|
+
|autoFocus|是否自动获取焦点,开启后会触发一次onClick事件|boolean|-|
|
|
23
|
+
|blockChangeWhenCompositing|当 ios 输入中文时,输拼音的过程不触发onChange,仅确认选择后触发|boolean|false|
|
|
24
|
+
|label|输入框左侧文本|ReactNode|-|
|
|
25
|
+
|required|是否必填项|boolean|-|
|
|
26
|
+
|validator|正则验证,不符合验证的不允许输入|RegExp \| ((value: string) =\> boolean)|-|
|
|
27
|
+
|prepend|输入框头部内容,在输入框外部|ReactNode \| ((focusing: boolean, inputValue: string) =\> ReactNode)|-|
|
|
28
|
+
|append|输入框尾部内容,在输入框外部|ReactNode \| ((focusing: boolean, inputValue: string) =\> ReactNode)|-|
|
|
29
|
+
|blurBeforeFocus|在聚焦之前blur掉,即切换不同input时会重新弹起键盘,常用于input type切换时重新加载键盘,安卓上有效|boolean|-|
|
|
30
|
+
|clearable|是否有清除按钮|boolean|-|
|
|
31
|
+
|clearShowType|清除按钮展示时机:focus \- 聚焦时展示 value \- 有值则展示 always \- 始终展示|"focus" \| "value" \| "always"|"focus"|
|
|
32
|
+
|preventEventWhenClearing|在聚焦模式下点击清除按钮时,是否要屏蔽对应产生的onBlur和onFocus事件|boolean|true|
|
|
33
|
+
|clearIcon|清除按钮类型,也可自定义|ReactNode|\<IconClear className="clear-icon" /\>|
|
|
34
|
+
|onClear|按下清除按钮回调|(e: TouchEvent\<HTMLElement\>) =\> void|-|
|
|
35
|
+
|prefix|输入框前置内容,在输入框内部,也可自定义|ReactNode|-|
|
|
36
|
+
|suffix|输入框后置内容,在输入框内部,也可自定义|ReactNode|-|
|
|
37
|
+
|onChange|数据改变时触发(失去焦点时)|(e: ChangeEvent\<HTMLInputElement\>, value: string) =\> void|-|
|
|
38
|
+
|onInput|数据改变时触发|(e: ChangeEvent\<HTMLInputElement\>, value: string) =\> void|-|
|
|
39
|
+
|onFocus|输入框聚焦时触发|(e: FocusEvent\<HTMLInputElement, Element\>) =\> void|-|
|
|
40
|
+
|onBlur|输入框失去焦点时触发|(e: FocusEvent\<HTMLInputElement, Element\>) =\> void|-|
|
|
41
|
+
|onClick|点击输入框事件|(e: MouseEvent\<HTMLInputElement, MouseEvent\>) =\> void|-|
|
|
42
|
+
|onKeyUp|原生的keyup事件|(e: KeyboardEvent\<HTMLInputElement\>) =\> void|-|
|
|
43
|
+
|onKeyDown|原生的keydown事件|(e: KeyboardEvent\<HTMLInputElement\>) =\> void|-|
|
|
44
|
+
|onKeyPress|原生的keypress事件|(e: KeyboardEvent\<HTMLInputElement\>) =\> void|-|
|
|
45
|
+
|onPressEnter|按下回车键时触发|(e: KeyboardEvent\<HTMLInputElement\>) =\> void|-|
|
|
46
|
+
|
|
47
|
+
> 引用/Refs
|
|
48
|
+
|
|
49
|
+
|参数|描述|类型|
|
|
50
|
+
|----------|-------------|------|
|
|
51
|
+
|dom|最外层元素 DOM|HTMLDivElement|
|
|
52
|
+
|input|原生输入框 DOM|HTMLInputElement|
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
@import "../../../style/mixin.less";
|
|
2
|
+
|
|
3
|
+
.@{prefix}-input-container {
|
|
4
|
+
width: 100%;
|
|
5
|
+
.use-var(color, font-color);
|
|
6
|
+
position: relative;
|
|
7
|
+
.@{prefix}-input-label {
|
|
8
|
+
.use-var(min-width, input-label-min-width);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.@{prefix}-input-label {
|
|
13
|
+
|
|
14
|
+
&.required::before {
|
|
15
|
+
content: "* ";
|
|
16
|
+
.use-var(color, danger-color);
|
|
17
|
+
}
|
|
18
|
+
padding-top: 1PX;
|
|
19
|
+
|
|
20
|
+
.disabled & {
|
|
21
|
+
.use-var(color, input-disabled-color);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.@{prefix}-input-wrap {
|
|
26
|
+
position: relative;
|
|
27
|
+
.use-var(height, input-height);
|
|
28
|
+
.use-var(padding, input-horizontal-padding, 0);
|
|
29
|
+
display: flex;
|
|
30
|
+
align-items: center;
|
|
31
|
+
|
|
32
|
+
textarea,
|
|
33
|
+
input {
|
|
34
|
+
flex: 1;
|
|
35
|
+
background: transparent;
|
|
36
|
+
|
|
37
|
+
&:disabled {
|
|
38
|
+
.use-var(color, input-disabled-color);
|
|
39
|
+
// reset for ios
|
|
40
|
+
.use-var(-webkit-text-fill-color, input-disabled-color);
|
|
41
|
+
opacity: 1;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
&.textarea {
|
|
46
|
+
height: auto;
|
|
47
|
+
align-items: flex-start;
|
|
48
|
+
.use-var(padding, textarea-padding);
|
|
49
|
+
|
|
50
|
+
&.has-stat {
|
|
51
|
+
.use-var(padding, textarea-has-stat-padding);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&.border {
|
|
56
|
+
|
|
57
|
+
&-all {
|
|
58
|
+
.hairline-var(line-color);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
&-half {
|
|
62
|
+
.hairline-var(line-color, top);
|
|
63
|
+
.hairline-var(line-color, bottom);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&-bottom {
|
|
67
|
+
.hairline-var(line-color, bottom);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.@{prefix}-input-prefix, .@{prefix}-input-suffix, .@{prefix}-input-clear {
|
|
73
|
+
.use-var(font-size, input-text-font-size);
|
|
74
|
+
.use-var(line-height, input-text-line-height);
|
|
75
|
+
align-items: center;
|
|
76
|
+
justify-content: center;
|
|
77
|
+
display: flex;
|
|
78
|
+
}
|
|
79
|
+
.@{prefix}-input-prefix {
|
|
80
|
+
.use-var-with-rtl(padding-right, input-label-gutter);
|
|
81
|
+
}
|
|
82
|
+
.@{prefix}-input-clear,
|
|
83
|
+
.@{prefix}-input-suffix {
|
|
84
|
+
.use-var-with-rtl(padding-left, input-horizontal-padding);
|
|
85
|
+
}
|
|
86
|
+
.@{prefix}-input-clear {
|
|
87
|
+
.use-var(color, input-clear-icon-color);
|
|
88
|
+
.use-var(font-size, input-clear-icon-font-size);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.@{prefix}-input {
|
|
92
|
+
display: inline-block;
|
|
93
|
+
width: 100%;
|
|
94
|
+
height: 100%;
|
|
95
|
+
.use-var(font-size, input-text-font-size);
|
|
96
|
+
.use-var(line-height, input-text-line-height);
|
|
97
|
+
.use-var(caret-color, input-caret-color);
|
|
98
|
+
.use-var(padding, input-vertical-padding, "", 0);
|
|
99
|
+
.use-var(color, font-color);
|
|
100
|
+
|
|
101
|
+
&::placeholder {
|
|
102
|
+
.use-var(color, input-placeholder-color);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
&::-webkit-search-cancel-button {
|
|
106
|
+
display: none;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
> 属性/Props
|
|
2
|
+
|
|
3
|
+
|参数|描述|类型|默认值|
|
|
4
|
+
|----------|-------------|------|------|
|
|
5
|
+
|normalKeyClass|常规键位自定义类名|string|-|
|
|
6
|
+
|normalKeyStyle|常规键位自定义样式|CSSProperties|-|
|
|
7
|
+
|className|自定义类名|string|-|
|
|
8
|
+
|style|自定义样式|CSSProperties|-|
|
|
9
|
+
|type|键盘展示类型,不同类型有不同布局。number \- 纯数字常规键盘,confirm \- 带确认按钮的键盘,tool \- 带运算符的键盘|"number" \| "confirm" \| "tool"|"number"|
|
|
10
|
+
|randomOrder|是否打乱键盘中的数字展示位置|boolean|必填|
|
|
11
|
+
|title|键盘顶部展示标题内容,样式纯自定义|ReactNode|-|
|
|
12
|
+
|rightColumns|自定义渲染数字右侧(第四列)的内容|ReactNode|-|
|
|
13
|
+
|confirmClosable|点击确认后是否自动关闭键盘|boolean|false|
|
|
14
|
+
|confirmButton|自定义渲染确认按钮内部内容|ReactNode|-|
|
|
15
|
+
|deleteButton|自定义渲染删除按钮内部内容|ReactNode|-|
|
|
16
|
+
|keyboardButton|自定义渲染收起键盘按钮内部内容|ReactNode|-|
|
|
17
|
+
|close|收起键盘回调|(e?: MouseEvent\<HTMLElement, MouseEvent\>) =\> \{\}|必填|
|
|
18
|
+
|onConfirm|点击确认按钮回调|() =\> \{\}|-|
|
|
19
|
+
|onDelete|点击删除按钮回调|() =\> \{\}|-|
|
|
20
|
+
|onChange|点击常规按钮回调|(data: ReactText) =\> \{\}|-|
|
|
21
|
+
|direction|菜单滑出方向|"left" \| "right" \| "top" \| "bottom"|"bottom"|
|
|
22
|
+
|needBottomOffset|从底部滑出的菜单内容是否适配ipx底部|boolean|false|
|
|
23
|
+
|translateZ|\[即将废弃\] 开启translateZ强制提升|boolean|false|
|
|
24
|
+
|maskTransitionTimeout|菜单蒙层动画时长|number \| \{ appear?: number; enter?: number; exit?: number; \}|{ enter: 450, exit: 240 }|
|
|
25
|
+
|contentTransitionTimeout|菜单内容动画时长|number \| \{ appear?: number; enter?: number; exit?: number; \}|{ enter: 450, exit: 240 }|
|
|
26
|
+
|contentTransitionType|内容过渡动画类名|string|\`slide-from-${props.direction}\`|
|
|
27
|
+
|maskClass|自定义蒙层类名|string|-|
|
|
28
|
+
|maskStyle|自定义蒙层样式|CSSProperties|-|
|
|
29
|
+
|contentClass|自定义内容类名|string|-|
|
|
30
|
+
|contentStyle|自定义内容样式|CSSProperties|-|
|
|
31
|
+
|visible|是否展示菜单(受控)|boolean|必填|
|
|
32
|
+
|maskTransitionType|蒙层过渡动画类名|string|"fade"|
|
|
33
|
+
|contentTransitionVarType|内容过渡动画类名变量标识|string|-|
|
|
34
|
+
|children|菜单内部内容|ReactNode|-|
|
|
35
|
+
|maskClosable|点击蒙层是否关闭菜单|boolean|true|
|
|
36
|
+
|animatingClosable|执行进场动画时点击蒙层是否可关闭菜单|boolean|false|
|
|
37
|
+
|mountOnEnter|是否在打开菜单时再加载内容|boolean|true|
|
|
38
|
+
|unmountOnExit|是否在退出时卸载内容|boolean|true|
|
|
39
|
+
|orientationDirection|transform方向,用于通过transform模拟横屏的情况|"left" \| "right" \| "top" \| "bottom"|"top"|
|
|
40
|
+
|preventBodyScroll|弹窗打开时是否禁止body的滚动|boolean|true|
|
|
41
|
+
|initialBodyOverflow|页面初始 overflow 状态,即关闭弹窗时 overflow 应该还原的状态|string|第一个全屏组件(弹窗、toast等)打开时页面overflow值|
|
|
42
|
+
|gestureOutOfControl|是否禁用滚动容器手势判断,禁用后交给业务方自己判断|boolean|false|
|
|
43
|
+
|onClose|关闭后回调(动画执行完毕)|(scene?: string) =\> void|-|
|
|
44
|
+
|onOpen|打开后回调(动画执行完毕)|() =\> void|-|
|
|
45
|
+
|onMaskClick|点击蒙层回调,maskClosable=false时也会触发|() =\> void|-|
|
|
46
|
+
|onTouchMove|弹窗的touchmove回调|(e: TouchEvent, prevented: boolean, direction: "x" \| "y") =\> void|-|
|
|
47
|
+
|onPreventTouchMove|非滚动区域或滚动到顶部及底部时的触摸事件回调|(e: TouchEvent, direction: "x" \| "y") =\> void|-|
|
|
48
|
+
|getContainer|获取挂载容器|() =\> HTMLElement|-|
|
|
49
|
+
|getScrollContainer|内容内部滚动区域容器,在该容器中未滚动到顶部或底部时会释放滚动|() =\> HTMLElement \| HTMLElement\[\]|-|
|
|
50
|
+
|
|
51
|
+
> 引用/Refs
|
|
52
|
+
|
|
53
|
+
|参数|描述|类型|
|
|
54
|
+
|----------|-------------|------|
|
|
55
|
+
|keyboard|最外层 DOM 元素|HTMLDivElement|
|
|
56
|
+
|dom|最外层元素 DOM|HTMLDivElement|
|
|
57
|
+
|mask|蒙层 DOM|HTMLDivElement|
|
|
58
|
+
|content|内容 DOM|HTMLDivElement|
|
|
59
|
+
|setCloseScene|在关闭弹窗前修改 onClose 的 scene 参数值|(scene: string) =\> void|
|
|
60
|
+
|
|
61
|
+
> DirectionType
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
"left" | "right" | "top" | "bottom"
|
|
65
|
+
```
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
@import '../../../style/mixin.less';
|
|
2
|
+
|
|
3
|
+
.@{prefix}-keyboard {
|
|
4
|
+
.use-var(background, keyboard-background);
|
|
5
|
+
.use-var(padding, keyboard-content-padding);
|
|
6
|
+
.noselect();
|
|
7
|
+
|
|
8
|
+
&-wrapper {
|
|
9
|
+
display: flex;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
&-key-wrapper {
|
|
13
|
+
flex: 2 0 auto;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&-row {
|
|
17
|
+
display: flex;
|
|
18
|
+
&:not(&:nth-last-child(1)) {
|
|
19
|
+
.use-var(margin-bottom, keyboard-unified-margin);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.@{prefix}-keyboard-key {
|
|
23
|
+
&:not(&:nth-child(1)) {
|
|
24
|
+
.use-var(margin-left, keyboard-unified-margin);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&-special {
|
|
28
|
+
flex: 2.1 0 auto;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&-col {
|
|
34
|
+
flex: 1;
|
|
35
|
+
display: flex;
|
|
36
|
+
flex-direction: column;
|
|
37
|
+
.use-var(margin-left, keyboard-unified-margin);
|
|
38
|
+
|
|
39
|
+
.@{prefix}-keyboard-key {
|
|
40
|
+
&:not(&:nth-child(1)) {
|
|
41
|
+
.use-var(margin-top, keyboard-unified-margin);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&-confirm {
|
|
45
|
+
flex: 2.5 0 auto;
|
|
46
|
+
.use-var(background, keyboard-confirm-key-background);
|
|
47
|
+
.use-var(color, keyboard-confirm-key-color);
|
|
48
|
+
.use-var(font-size, keyboard-confirm-key-font-size);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
&-key {
|
|
54
|
+
display: flex;
|
|
55
|
+
align-items: center;
|
|
56
|
+
justify-content: center;
|
|
57
|
+
flex: 1;
|
|
58
|
+
|
|
59
|
+
.use-var(font-weight, keyboard-key-font-weight);
|
|
60
|
+
.use-var(font-size, keyboard-key-font-size);
|
|
61
|
+
.use-var(line-height, keyboard-key-line-height);
|
|
62
|
+
.use-var(background, keyboard-key-background);
|
|
63
|
+
.use-var(border-radius, keyboard-key-border-radius);
|
|
64
|
+
.use-var(height, keyboard-key-height);
|
|
65
|
+
.use-var(border-radius, keyboard-key-border-radius);
|
|
66
|
+
.use-var(color, keyboard-key-color);
|
|
67
|
+
|
|
68
|
+
&:active {
|
|
69
|
+
.use-var(background, keyboard-key-active-background);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.@{prefix}-icon {
|
|
73
|
+
.use-var(font-size, keyboard-key-icon-size);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
&-popup {
|
|
78
|
+
display: none;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
> 属性/Props
|
|
2
|
+
|
|
3
|
+
|参数|描述|类型|默认值|
|
|
4
|
+
|----------|-------------|------|------|
|
|
5
|
+
|style|自定义样式|CSSProperties|-|
|
|
6
|
+
|className|自定义类名|string|-|
|
|
7
|
+
|disabled|是否禁用加载能力|boolean|-|
|
|
8
|
+
|beforeReadyArea|组件加载但尚未启用状态下的内容|ReactNode|null|
|
|
9
|
+
|loadingArea|加载中状态下的内容|ReactNode|"正在努力加载中..."|
|
|
10
|
+
|noMoreArea|无更多数据状态下的内容|ReactNode|"没有更多数据了"|
|
|
11
|
+
|prepareArea|准备加载状态下的内容|ReactNode|"上拉/点击加载更多"|
|
|
12
|
+
|retryArea|加载重试状态下的内容|ReactNode|"加载失败,点击重试"|
|
|
13
|
+
|defaultStatus|组件加载初始状态,传入 "before\-ready" 则先加载组件但不请求数据|"before\-ready" \| "prepare"|"prepare"|
|
|
14
|
+
|status|当前状态,传入则受控|"before\-ready" \| "prepare" \| "loading" \| "nomore" \| "retry"|-|
|
|
15
|
+
|getScrollContainer|待计算滚动容器|() =\> HTMLElement \| Window|() => window|
|
|
16
|
+
|getOffsetNode|当多个 loadmore 在同一页面时,通过传入节点的 offsetHeight \+ offsetTop 代替 scrollHeight|() =\> HTMLElement \| Window|-|
|
|
17
|
+
|trigger|触发loading的时机,当为click时,点击后将触发getData|"scroll" \| "click"|"scroll"|
|
|
18
|
+
|threshold|滚动到离列表底部多远的位置触发getData,触发状态时机为'scroll'时有效|number|200|
|
|
19
|
+
|getData|请求数据方法,可在异步任务结束后根据任务结果调用callback修改loadmore内部状态|(callback: (status: LoadMoreStatus) =\> void) =\> void|-|
|
|
20
|
+
|throttle|节流粒度|number|0|
|
|
21
|
+
|blockWhenLoading|是否在loading状态下不触发getData|boolean|true|
|
|
22
|
+
|getDataAtFirst|刚加载好组件时是否自动先请求一次,trigger=scroll时有效|boolean|true|
|
|
23
|
+
|getDataWhenNoScrollAtFirst|当 getDataAtFirst 值为 false 且数据不满一屏时是否触发一次请求,trigger=scroll时有效|boolean|false|
|
|
24
|
+
|onStatusChange|状态改变时回调|(status: LoadMoreStatus, scene?: string) =\> void|-|
|
|
25
|
+
|onClick|组件被点击时回调|(e: MouseEvent\<HTMLDivElement, MouseEvent\>) =\> void|-|
|
|
26
|
+
|onEndReached|滚动到(底部 \- threshold)距离时触发|() =\> void|-|
|
|
27
|
+
|
|
28
|
+
> 引用/Refs
|
|
29
|
+
|
|
30
|
+
|参数|描述|类型|
|
|
31
|
+
|----------|-------------|------|
|
|
32
|
+
|dom|最外层元素 DOM|HTMLDivElement|
|
|
33
|
+
|changeStatus|手动更改组件状态|(status: LoadMoreStatus, scene?: string) =\> void|
|
|
34
|
+
|getDataWithEndReachCheck|判断是否滚动到底部并手动触发数据获取|() =\> void|
|
|
35
|
+
|
|
36
|
+
> LoadMoreStatus
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
"before-ready" | "prepare" | "loading" | "nomore" | "retry"
|
|
40
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
> 属性/Props
|
|
2
|
+
|
|
3
|
+
|参数|描述|类型|默认值|
|
|
4
|
+
|----------|-------------|------|------|
|
|
5
|
+
|style|自定义样式|CSSProperties|-|
|
|
6
|
+
|className|自定义类名|string|-|
|
|
7
|
+
|color|主颜色,如果想使用 css 控制主颜色,可使用公共 mixin \`\.set\-loading\-color(@color)\`|string|-|
|
|
8
|
+
|type|loading类型|"spin" \| "circle" \| "arc" \| "dot"|"dot"|
|
|
9
|
+
|list|当类型为\`dot\`或\`spin\`时有效,定义内部各元素的透明度|number\[\]|-|
|
|
10
|
+
|duration|一次loading周期的毫秒数|number|1000|
|
|
11
|
+
|svgKey|区分不同loading组件间的\`\<def\>\`内容|string|-|
|
|
12
|
+
|radius|圆圈半径,类型为\`circle\`或\`arc\`时可用|number|9|
|
|
13
|
+
|stroke|圆圈描边宽度,类型为\`circle\`或\`arc\`或\`spin\`时可用|number|2|
|
|
14
|
+
|filleted|边缘是否为圆角|boolean|true|
|
|
15
|
+
|
|
16
|
+
> 引用/Refs
|
|
17
|
+
|
|
18
|
+
|参数|描述|类型|
|
|
19
|
+
|----------|-------------|------|
|
|
20
|
+
|dom|最外层元素 DOM|HTMLDivElement|
|
|
21
|
+
|
|
22
|
+
> LoadingType
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
"spin" | "circle" | "arc" | "dot"
|
|
26
|
+
```
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
@import "../../../style/mixin.less";
|
|
2
|
+
|
|
3
|
+
.@{prefix}-loading {
|
|
4
|
+
.set-loading-color-var(loading-color);
|
|
5
|
+
display: inline-block;
|
|
6
|
+
font-size: 0;
|
|
7
|
+
line-height: 0;
|
|
8
|
+
position: relative;
|
|
9
|
+
@keyframes changDeg {
|
|
10
|
+
|
|
11
|
+
0% {
|
|
12
|
+
transform: rotate(0deg);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
100% {
|
|
16
|
+
transform: rotate(360deg);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&.circle,
|
|
21
|
+
&.arc,
|
|
22
|
+
&.spin {
|
|
23
|
+
animation: changDeg 1s infinite linear;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&.circle {
|
|
27
|
+
|
|
28
|
+
.loading-circle-middle {
|
|
29
|
+
stop-opacity: .5;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.loading-circle-end {
|
|
33
|
+
stop-opacity: 0;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&.dot {
|
|
38
|
+
|
|
39
|
+
.dot-cell {
|
|
40
|
+
display: inline-block;
|
|
41
|
+
.use-var(width, loading-dot-size);
|
|
42
|
+
.use-var(height, loading-dot-size);
|
|
43
|
+
.use-var(margin-left, loading-dot-gutter);
|
|
44
|
+
|
|
45
|
+
&:first-of-type {
|
|
46
|
+
margin-left: 0;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&.filleted {
|
|
50
|
+
border-radius: 50%;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&.spin {
|
|
56
|
+
.rem(height, 22);
|
|
57
|
+
.rem(width, 22);
|
|
58
|
+
position: relative;
|
|
59
|
+
|
|
60
|
+
.spin-cell {
|
|
61
|
+
position: absolute;
|
|
62
|
+
.rem(left, 10);
|
|
63
|
+
.rem(top, 1);
|
|
64
|
+
display: inline-block;
|
|
65
|
+
.rem(height, 10);
|
|
66
|
+
.rem(padding-bottom, 4);
|
|
67
|
+
overflow: hidden;
|
|
68
|
+
transform-origin: 50% bottom;
|
|
69
|
+
|
|
70
|
+
&-inner {
|
|
71
|
+
display: inline-block;
|
|
72
|
+
position: absolute;
|
|
73
|
+
top: 0;
|
|
74
|
+
left: 0;
|
|
75
|
+
width: 200%;
|
|
76
|
+
transform: scale(.5);
|
|
77
|
+
transform-origin: top left;
|
|
78
|
+
.rem(height, 12);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
&.arc {
|
|
84
|
+
|
|
85
|
+
.arc-bg {
|
|
86
|
+
.use-var(stroke, loading-arc-background-color);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
&.line {
|
|
91
|
+
width: 100%;
|
|
92
|
+
|
|
93
|
+
.loading-line-start,
|
|
94
|
+
.loading-line-end {
|
|
95
|
+
.use-var(stop-color, loading-color);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.loading-line-start {
|
|
99
|
+
stop-opacity: 0;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|