@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.
Files changed (122) hide show
  1. package/dist/index.js +113 -1
  2. package/metaData/components/action-sheet/api.md +94 -0
  3. package/metaData/components/action-sheet/style.md +57 -0
  4. package/metaData/components/avatar/api.md +49 -0
  5. package/metaData/components/avatar/style.md +147 -0
  6. package/metaData/components/badge/api.md +20 -0
  7. package/metaData/components/badge/style.md +74 -0
  8. package/metaData/components/button/api.md +37 -0
  9. package/metaData/components/button/style.md +151 -0
  10. package/metaData/components/carousel/api.md +81 -0
  11. package/metaData/components/carousel/style.md +208 -0
  12. package/metaData/components/cell/api.md +60 -0
  13. package/metaData/components/cell/style.md +123 -0
  14. package/metaData/components/checkbox/api.md +83 -0
  15. package/metaData/components/checkbox/style.md +62 -0
  16. package/metaData/components/circle-progress/api.md +32 -0
  17. package/metaData/components/circle-progress/style.md +52 -0
  18. package/metaData/components/collapse/api.md +66 -0
  19. package/metaData/components/collapse/style.md +53 -0
  20. package/metaData/components/context-provider/api.md +36 -0
  21. package/metaData/components/context-provider/style.md +1 -0
  22. package/metaData/components/count-down/api.md +32 -0
  23. package/metaData/components/count-down/style.md +7 -0
  24. package/metaData/components/date-picker/api.md +94 -0
  25. package/metaData/components/date-picker/style.md +27 -0
  26. package/metaData/components/dialog/api.md +192 -0
  27. package/metaData/components/dialog/style.md +271 -0
  28. package/metaData/components/divider/api.md +17 -0
  29. package/metaData/components/divider/style.md +68 -0
  30. package/metaData/components/dropdown/api.md +72 -0
  31. package/metaData/components/dropdown/style.md +108 -0
  32. package/metaData/components/dropdown-menu/api.md +83 -0
  33. package/metaData/components/dropdown-menu/style.md +60 -0
  34. package/metaData/components/ellipsis/api.md +25 -0
  35. package/metaData/components/ellipsis/style.md +31 -0
  36. package/metaData/components/form/api.md +82 -0
  37. package/metaData/components/form/style.md +105 -0
  38. package/metaData/components/grid/api.md +31 -0
  39. package/metaData/components/grid/style.md +109 -0
  40. package/metaData/components/icon/api.md +7 -0
  41. package/metaData/components/image/api.md +54 -0
  42. package/metaData/components/image/style.md +144 -0
  43. package/metaData/components/image-picker/api.md +108 -0
  44. package/metaData/components/image-picker/style.md +116 -0
  45. package/metaData/components/image-preview/api.md +111 -0
  46. package/metaData/components/image-preview/style.md +103 -0
  47. package/metaData/components/index-bar/api.md +75 -0
  48. package/metaData/components/index-bar/style.md +122 -0
  49. package/metaData/components/input/api.md +52 -0
  50. package/metaData/components/input/style.md +108 -0
  51. package/metaData/components/keyboard/api.md +65 -0
  52. package/metaData/components/keyboard/style.md +80 -0
  53. package/metaData/components/load-more/api.md +40 -0
  54. package/metaData/components/load-more/style.md +7 -0
  55. package/metaData/components/loading/api.md +26 -0
  56. package/metaData/components/loading/style.md +102 -0
  57. package/metaData/components/masking/api.md +85 -0
  58. package/metaData/components/masking/style.md +30 -0
  59. package/metaData/components/nav-bar/api.md +32 -0
  60. package/metaData/components/nav-bar/style.md +112 -0
  61. package/metaData/components/notice-bar/api.md +26 -0
  62. package/metaData/components/notice-bar/style.md +124 -0
  63. package/metaData/components/notify/api.md +73 -0
  64. package/metaData/components/notify/style.md +40 -0
  65. package/metaData/components/pagination/api.md +33 -0
  66. package/metaData/components/pagination/style.md +105 -0
  67. package/metaData/components/picker/api.md +81 -0
  68. package/metaData/components/picker/style.md +46 -0
  69. package/metaData/components/picker-view/api.md +49 -0
  70. package/metaData/components/picker-view/style.md +75 -0
  71. package/metaData/components/popover/api.md +136 -0
  72. package/metaData/components/popover/style.md +226 -0
  73. package/metaData/components/popup/api.md +93 -0
  74. package/metaData/components/popup/style.md +115 -0
  75. package/metaData/components/popup-swiper/api.md +100 -0
  76. package/metaData/components/popup-swiper/style.md +10 -0
  77. package/metaData/components/portal/api.md +6 -0
  78. package/metaData/components/portal/style.md +1 -0
  79. package/metaData/components/progress/api.md +34 -0
  80. package/metaData/components/progress/style.md +114 -0
  81. package/metaData/components/pull-refresh/api.md +29 -0
  82. package/metaData/components/pull-refresh/style.md +86 -0
  83. package/metaData/components/radio/api.md +81 -0
  84. package/metaData/components/radio/style.md +57 -0
  85. package/metaData/components/rate/api.md +25 -0
  86. package/metaData/components/rate/style.md +63 -0
  87. package/metaData/components/search-bar/api.md +89 -0
  88. package/metaData/components/search-bar/style.md +115 -0
  89. package/metaData/components/show-monitor/api.md +26 -0
  90. package/metaData/components/show-monitor/style.md +1 -0
  91. package/metaData/components/skeleton/api.md +93 -0
  92. package/metaData/components/skeleton/style.md +147 -0
  93. package/metaData/components/slider/api.md +34 -0
  94. package/metaData/components/slider/style.md +292 -0
  95. package/metaData/components/stepper/api.md +38 -0
  96. package/metaData/components/stepper/style.md +85 -0
  97. package/metaData/components/steps/api.md +49 -0
  98. package/metaData/components/steps/style.md +304 -0
  99. package/metaData/components/sticky/api.md +37 -0
  100. package/metaData/components/sticky/style.md +5 -0
  101. package/metaData/components/swipe-action/api.md +36 -0
  102. package/metaData/components/swipe-action/style.md +89 -0
  103. package/metaData/components/swipe-load/api.md +35 -0
  104. package/metaData/components/swipe-load/style.md +29 -0
  105. package/metaData/components/switch/api.md +30 -0
  106. package/metaData/components/switch/style.md +158 -0
  107. package/metaData/components/tab-bar/api.md +49 -0
  108. package/metaData/components/tab-bar/style.md +57 -0
  109. package/metaData/components/tabs/api.md +179 -0
  110. package/metaData/components/tabs/style.md +436 -0
  111. package/metaData/components/tag/api.md +72 -0
  112. package/metaData/components/tag/style.md +133 -0
  113. package/metaData/components/textarea/api.md +59 -0
  114. package/metaData/components/textarea/style.md +37 -0
  115. package/metaData/components/toast/api.md +82 -0
  116. package/metaData/components/toast/style.md +93 -0
  117. package/metaData/components/transition/api.md +11 -0
  118. package/metaData/components/transition/style.md +28 -0
  119. package/metaData/components/uploader/api.md +74 -0
  120. package/metaData/components/uploader/style.md +86 -0
  121. package/metaData/tokens.json +2358 -0
  122. 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,7 @@
1
+ @import "../../../style/mixin.less";
2
+
3
+ .@{prefix}-load-more {
4
+ text-align: center;
5
+ .use-var(font-size, load-more-font-size);
6
+ .use-var(color, load-more-text-color);
7
+ }
@@ -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
+ }