@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,108 @@
1
+ @import "../../../style/mixin.less";
2
+
3
+ .@{prefix}-dropdown {
4
+ position: fixed;
5
+ overflow: hidden;
6
+ left: 0;
7
+ right: 0;
8
+ z-index: @full-screen-z-index;
9
+
10
+ &-options {
11
+ position: absolute;
12
+ left: 0;
13
+ right: 0;
14
+ z-index: @full-screen-z-index + 1;
15
+ will-change: transform;
16
+
17
+ .drop-up & {
18
+ bottom: 0;
19
+ }
20
+ .use-var(background-color, dropdown-options-background-color);
21
+
22
+ &-container {
23
+ height: auto;
24
+ }
25
+
26
+ &-wrap {
27
+ &.use-column {
28
+ display: flex;
29
+ flex-wrap: wrap;
30
+ .use-var(padding, dropdown-multi-rows-options-container-padding);
31
+ .use-var(margin, dropdown-multi-rows-options-container-margin);
32
+ }
33
+ }
34
+
35
+ &-item {
36
+ .use-var(padding, dropdown-options-item-padding);
37
+ .use-var(font-size, dropdown-options-item-font-size);
38
+ .use-var(line-height, dropdown-options-item-line-height);
39
+ .use-var(color, dropdown-options-item-color);
40
+ .set-value-with-rtl(text-align, left);
41
+ position: relative;
42
+
43
+ &.selected {
44
+ .use-var(color, dropdown-options-item-selected-color);
45
+ }
46
+
47
+ &.selected &-icon {
48
+ .use-var(color, dropdown-options-item-selected-color);
49
+ }
50
+
51
+ &.disabled {
52
+ .use-var(color, dropdown-options-item-disabled-color);
53
+ }
54
+
55
+ &-icon {
56
+ position: absolute;
57
+ top: 50%;
58
+ transform: translateY(-50%);
59
+ .use-var-with-rtl(right, dropdown-options-item-icon-right);
60
+ color: transparent;
61
+ }
62
+ }
63
+
64
+ &-item-fake-col,
65
+ &-item-col {
66
+ flex: 1;
67
+ .use-var(margin-right, dropdown-multi-rows-options-gutter);
68
+ .use-var(margin-bottom, dropdown-multi-rows-options-gutter);
69
+ .use-var(padding, dropdown-multi-rows-options-item-padding);
70
+ }
71
+
72
+ &-item-col {
73
+ text-align: center;
74
+ .use-var(font-size, dropdown-multi-rows-options-item-font-size);
75
+ .use-var(line-height, dropdown-multi-rows-options-item-line-height);
76
+ .use-var(color, dropdown-multi-rows-options-item-color);
77
+ .use-var(border-radius, dropdown-multi-rows-options-item-border-radius);
78
+ .use-var(background, dropdown-multi-rows-options-item-background);
79
+
80
+ &.selected {
81
+ .use-var(color, dropdown-multi-rows-options-item-selected-color);
82
+ .use-var(background, dropdown-multi-rows-options-item-selected-background);
83
+ }
84
+
85
+ &.disabled {
86
+ .use-var(color, dropdown-options-item-disabled-color);
87
+ }
88
+ }
89
+
90
+ &-item-col &-item-icon {
91
+ display: none;
92
+ }
93
+ }
94
+
95
+ &-mask {
96
+ position: absolute;
97
+ opacity: 0;
98
+ left: 0;
99
+ top: 0;
100
+ width: 100%;
101
+ height: 100%;
102
+ .use-var(background-color, dropdown-mask-background-color);
103
+
104
+ &.is-show {
105
+ opacity: 1;
106
+ }
107
+ }
108
+ }
@@ -0,0 +1,83 @@
1
+ > 属性/Props
2
+
3
+ |参数|描述|类型|默认值|
4
+ |----------|-------------|------|------|
5
+ |className|自定义类名|string|-|
6
+ |style|自定义样式|CSSProperties|-|
7
+ |defaultSelectIndex|初始被选择的选择器的序号|number|-|
8
+ |selectIndex|(受控) 被选择的选择器的序号|number|-|
9
+ |disabled|选择器禁用状态|boolean\[\]|-|
10
+ |selectTips|选择器的说明|string\[\]|-|
11
+ |onSelectChange|当选中的选择器改变的时候触发的回调函数|(selectIndex: number) =\> void|-|
12
+ |icon|选择器右侧的图标|ReactNode|-|
13
+ |defaultShowDropdown|初始状态,下拉框状态|boolean|-|
14
+ |showDropdown|可选受控,组件挂载时下拉框的状态|boolean|-|
15
+ |onDropdownChange|下拉框展示状态改变时触发的回调函数|(dropdown: boolean, selectIndex?: number) =\> void|-|
16
+ |getContainer|获得下拉框的容器|() =\> HTMLDivElement|-|
17
+ |chooseAndClose|选择后是否收起面板,仅单选有效|boolean|true|
18
+ |onCancel|取消选择|() =\> void|-|
19
+ |children|自定义下拉框元素|ReactNode|-|
20
+ |extraForDropdown|dropdown参数|DropdownCommonProps|-|
21
+ |multiple|是否支持多选|boolean|false|
22
+ |options|下拉框展示的选择项,其中级联选项仅单选支持|string\[\] \| OptionsItem\[\]\[\] \| CascadeOptions\[\]|必填|
23
+ |defaultValues|初始选择项|ReactText\[\] \| ReactText\[\]\[\]|-|
24
+ |values|(受控) 每个选择器选中的项|ReactText\[\] \| ReactText\[\]\[\]|-|
25
+ |renderSelectLabel|自定义选择器|((op: OptionsItem, index: number) =\> ReactNode) \| ((op: OptionsItem\[\], index: number) =\> ReactNode)|-|
26
+ |onOptionClick|点击选项时触发的回调函数|((value: ReactText, item: OptionsItem, selectIndex?: number) =\> void) \| ((selected: boolean, val: ReactText, item: OptionsItem, selectIndex?: number) =\> void)|-|
27
+ |onOptionChange|选项改变时触发的回调函数|((value: ReactText, item: OptionsItem, selectIndex?: number) =\> void) \| ((vals: ReactText\[\], item: OptionsItem, selectIndex?: number) =\> void)|-|
28
+ |onValuesChange|所有选择器选项总值改变时的回调函数|((values: ReactText\[\]) =\> void) \| ((values: ReactText\[\]\[\]) =\> void)|-|
29
+ |getFormattedOptions|格式化传入的options|((options: string\[\] \| OptionsItem\[\]\[\] \| CascadeOptions\[\], values?: ReactText\[\]) =\> \{ formattedOptions: OptionsItem\[\]\[\]; formattedValue: ReactText\[\]; \}) \| ((options: string\[\] \| \.\.\. 1 more \.\.\. \| CascadeOptions\[\], values?: ReactText\[\]\[\]) =\> \{ \.\.\.; \})|-|
30
+
31
+ > 引用/Refs
32
+
33
+ |参数|描述|类型|
34
+ |----------|-------------|------|
35
+ |dom|最外层元素 DOM|HTMLDivElement|
36
+
37
+ > DropdownCommonProps
38
+
39
+ |参数|描述|类型|默认值|
40
+ |----------|-------------|------|------|
41
+ |className|自定义类名|string|-|
42
+ |style|自定义样式|CSSProperties|-|
43
+ |extraNode|下拉框底部元素|ReactNode|-|
44
+ |top|定位下拉框出现的位置|number|-|
45
+ |bottom|向上展开时下拉框出现的位置|number|-|
46
+ |direction|展开方向|"up" \| "down"|"down"|
47
+ |height|受控模式,下拉框高度|number|-|
48
+ |maxHeight|下拉框最大的高度|number|500|
49
+ |clickOtherToClose|点击其他区域是否取消选择|boolean|true|
50
+ |touchToClose|是否在触发touchstart时就取消选择,否则在click之后再取消选择|boolean|true|
51
+ |dropdownAnimationTimeout|展开收起动画的时间|number|300|
52
+ |dropdownAnimationFunction|展开收起动画曲线函数|string|"cubic-bezier(0.32, 0.96, 0.6, 1)"|
53
+ |showMask|是否展示遮罩层|boolean|true|
54
+ |maskAnimationTimeout|蒙层动画时长|number|500|
55
+ |maskAnimationFunction|蒙层动画函数|string|"cubic-bezier(0.32, 0.96, 0.6, 1)"|
56
+ |useColumn|使用多列标签样式,传 true 为 4 列,传数字为指定 n 列|number \| boolean|false|
57
+ |optionIcon|选项附带图标|ReactNode|-|
58
+ |mountOnEnter|是否在打开下拉框时再加载内容|boolean|true|
59
+ |unmountOnExit|是否在退出时卸载内容|boolean|true|
60
+ |preventBodyScroll|弹窗打开时是否禁止body的滚动|boolean|true|
61
+ |initialBodyOverflow|页面初始 overflow 状态,即关闭弹窗时 overflow 应该还原的状态|string|第一个全屏组件(弹窗、toast等)打开时页面overflow值|
62
+ |getAnchorElement|用于定位的元素,优先级低于top/bottom|() =\> HTMLElement|当前DOM所在位置的父元素|
63
+ |isStopTouchEl|点击某元素时是否阻止关闭面板, 优先级高于\`getStopTouchElement\`,当 clickOtherToClose=true 时有效|(el: HTMLElement) =\> boolean|-|
64
+ |getStopTouchElements|可阻止关闭面板的元素,当 clickOtherToClose=true 时有效|() =\> HTMLElement\[\]|当前组件的父元素|
65
+ |getScrollContainer|内容内部滚动区域容器,在该容器中未滚动到顶部或底部时会释放滚动|() =\> HTMLElement \| HTMLElement\[\]|-|
66
+ |getPortalContainer|获取挂载容器|() =\> HTMLElement|-|
67
+
68
+ > OptionsItem
69
+
70
+ |参数|描述|类型|
71
+ |----------|-------------|------|
72
+ |label|选项名称|ReactNode|
73
+ |value|选项标识|ReactText|
74
+ |disabled|选项是否可用,默认false表示可用|boolean|
75
+
76
+ > CascadeOptions
77
+
78
+ |参数|描述|类型|
79
+ |----------|-------------|------|
80
+ |children|级联选择的下一级内容|OptionsItem\[\]|
81
+ |label|选项名称|ReactNode|
82
+ |value|选项标识|ReactText|
83
+ |disabled|选项是否可用,默认false表示可用|boolean|
@@ -0,0 +1,60 @@
1
+ @import '../../../style/mixin.less';
2
+
3
+ .@{prefix}-dropdown-menu {
4
+ .@{prefix}-select{
5
+ display: flex;
6
+ flex-direction: row;
7
+ justify-content: space-between;
8
+ .onepx-border-var(bottom, line-color);
9
+ &-item {
10
+ position: relative;
11
+ .use-var(padding, dropdown-menu-padding);
12
+ .use-var(font-size, dropdown-menu-font-size);
13
+ .use-var(line-height, dropdown-menu-line-height);
14
+ flex: 1;
15
+ display:flex;
16
+ flex-wrap: nowrap;
17
+ align-items: center;
18
+ justify-content: center;
19
+ .use-var(color, dropdown-menu-color);
20
+ &.is-disabled {
21
+ .use-var(color, dropdown-menu-disabled-color);
22
+ }
23
+ &.is-selected {
24
+ .use-var(color, dropdown-menu-selected-color);
25
+ }
26
+ &-tip {
27
+ display: inline-block;
28
+ white-space: nowrap;
29
+ .use-var(color, dropdown-menu-tip-color);
30
+ .use-var-with-rtl(padding-right, dropdown-menu-tip-padding-right);
31
+ }
32
+ &-label {
33
+ display: flex;
34
+ flex-wrap: nowrap;
35
+ align-items: center;
36
+ &-text {
37
+ flex: auto;
38
+ display: inline-block;
39
+ white-space: nowrap;
40
+ overflow: hidden;
41
+ .use-var(max-width, dropdown-menu-label-max-width);
42
+ text-overflow: ellipsis;
43
+ }
44
+ }
45
+ &-icon {
46
+ flex: none;
47
+ .use-var(color, dropdown-menu-icon-color);
48
+ .use-var(width, dropdown-menu-icon-size);
49
+ .use-var(height, dropdown-menu-icon-size);
50
+ .use-var-with-rtl(margin-left, dropdown-menu-icon-margin-left);
51
+ transform: rotate(0deg);
52
+ transition: transform .2s cubic-bezier(.34, .69, .1, 1);
53
+ &.is-show {
54
+ .use-var(color, dropdown-menu-icon-selected-color);
55
+ transform: rotate(180deg);
56
+ }
57
+ }
58
+ }
59
+ }
60
+ }
@@ -0,0 +1,25 @@
1
+ > 属性/Props
2
+
3
+ |参数|描述|类型|默认值|
4
+ |----------|-------------|------|------|
5
+ |className|自定义类名|string|-|
6
+ |maxHeight|最大显示高度,单位 px,优先级高于 maxLine|number|-|
7
+ |endExcludes|文本结尾处(缩略符之前)需要过滤掉的字符|string\[\]|[]|
8
+ |reflowOnResize|容器大小变化时是否自适应,使用原生缩略时默认为 true|boolean|false|
9
+ |floatEllipsisNode|文本缩略时,缩略符节点是否浮在文本右下角(默认加渐变色背景)|boolean|false|
10
+ |onReflow|文本缩略处理的完成回调|(ellipsis: boolean, text: string) =\> void|-|
11
+ |text|需要缩略的文本内容|string|必填|
12
+ |ellipsis|是否开启缩略|boolean|true|
13
+ |maxLine|最大显示行数|number|1|
14
+ |dangerouslyUseInnerHTML|是否使用 innerHTML 插入文本(警告:务必确保 text 安全可靠,否则易导致 XSS 漏洞)|boolean|false|
15
+ |ellipsisNode|自定义缩略符节点,文本缩略时插入文本尾部|ReactNode|"..."|
16
+ |collapseNode|自定义收起符节点,不为空且文本展开时插入文本尾部|ReactNode|-|
17
+ |onEllipsisNodeClick|缩略节点点击事件|(e: MouseEvent\<HTMLSpanElement, MouseEvent\>) =\> void|-|
18
+ |onCollapseNodeClick|收起节点点击事件|(e: MouseEvent\<HTMLSpanElement, MouseEvent\>) =\> void|-|
19
+
20
+ > 引用/Refs
21
+
22
+ |参数|描述|类型|
23
+ |----------|-------------|------|
24
+ |dom|最外层元素 DOM|HTMLDivElement|
25
+ |reflow|控制容器重新编排|() =\> void|
@@ -0,0 +1,31 @@
1
+ @import '../../../style/mixin.less';
2
+
3
+ .@{prefix}-ellipsis {
4
+ .use-var(font-size, ellipsis-default-text-size);
5
+
6
+ &-native.ellipsis,
7
+ &-js-content-initial {
8
+ display: -webkit-box;
9
+ overflow: hidden;
10
+ text-overflow: ellipsis;
11
+ word-break: break-word;
12
+ -webkit-box-orient: vertical;
13
+ position: relative;
14
+ }
15
+
16
+ &-native-ellipsis-node {
17
+ position: absolute;
18
+ right: 0;
19
+ bottom: 0;
20
+ .use-var(background, ellipsis-float-ellipsis-node-background);
21
+ .use-var(padding-left, ellipsis-float-ellipsis-node-padding-left);
22
+ }
23
+
24
+ &-js-content-text-pre {
25
+ white-space: pre-line;
26
+ }
27
+
28
+ &-js-content-ellipsis {
29
+ display: none;
30
+ }
31
+ }
@@ -0,0 +1,82 @@
1
+ > 属性/Props
2
+
3
+ |参数|描述|类型|默认值|
4
+ |----------|-------------|------|------|
5
+ |className|自定义类名|string|-|
6
+ |style|自定义样式|CSSProperties|-|
7
+ |layout|表单项布局|"horizontal" \| "vertical" \| "inline"|"horizontal"|
8
+ |form|表单实例|IFormInstance|-|
9
+ |initialValues|表单初始数据|Record\<string, any\>|-|
10
+ |onValuesChange|表单项数据变化时的回调|(changedValues: any, values: any) =\> void|-|
11
+ |onChange|表单项数据变化时的回调(仅用户操作表单时触发)|(changedValues: any, values: any) =\> void|-|
12
+ |onSubmit|表单项数据变化时的回调|(values: any, otherInfo?: IFieldError\[\]) =\> void|-|
13
+ |onSubmitFailed|表单项数据变化时的回调|(values: any, errorInfo: IFieldError\[\] \| Error) =\> void|-|
14
+ |disabled|表单禁止输入|boolean|-|
15
+
16
+ > 引用/Refs
17
+
18
+ |参数|描述|类型|
19
+ |----------|-------------|------|
20
+ |dom|最外层元素 DOM|HTMLFormElement|
21
+ |form|Form对象实例|IFormInstance|
22
+
23
+ > Form.Item
24
+
25
+ |参数|描述|类型|默认值|
26
+ |----------|-------------|------|------|
27
+ |label|表单项名|ReactNode|必填|
28
+ |style|表单项Stylesheet|CSSProperties|-|
29
+ |className|表单项样式|string|-|
30
+ |field|表单项字段|string|必填|
31
+ |required|表单项是否必填|boolean|-|
32
+ |disabled|表单项是否禁用|boolean|-|
33
+ |layout|表单项布局|"horizontal" \| "vertical" \| "inline"|"horizontal"|
34
+ |children|表单项子节点|ReactElement\<any, string \| ((props: any) =\> ReactElement\<any, any\>) \| (new (props: any) =\> Component\<any, any, any\>)\>|必填|
35
+ |shouldUpdate|表单项是否刷新|IShouldUpdateFunc|-|
36
+ |rules|表单项规则|IRules\[\]|-|
37
+ |extra|表单项下方节点|ReactElement\<any, string \| ((props: any) =\> ReactElement\<any, any\>) \| (new (props: any) =\> Component\<any, any, any\>)\>|-|
38
+ |trigger|触发事件更新事件名称|string|"onChange"|
39
+ |requiredIcon|自定义必填标识|ReactNode|-|
40
+ |initialValue|表单项初始数据|any|-|
41
+ |displayType|手动指定为内置组件的类型|"Input" \| "Textarea" \| "Checkbox" \| "CheckboxGroup" \| "DatePicker" \| "Picker" \| "Radio" \| "RadioGroup" \| "Slider" \| "Switch" \| "ImagePicker" \| "Rate" \| "Stepper"|-|
42
+
43
+ > IFormInstance
44
+
45
+ |参数|描述|类型|
46
+ |----------|-------------|------|
47
+ |getFieldValue|获取单个表单项值|(name: string) =\> any|
48
+ |getFieldsValue|获取多个表单项值|(name?: string\[\]) =\> Record\<string, any\>|
49
+ |getFieldError|获取单个表单项的错误|(name: string) =\> ReactNode\[\]|
50
+ |resetFields|重置表单项|() =\> void|
51
+ |setFieldValue|设置单个表单项值|(name: string, value: any) =\> boolean|
52
+ |setFieldsValue|设置多个表单项值|(value: Record\<string, any\>) =\> void|
53
+ |validateFields|校验所有表单项|() =\> Promise\<IFieldError\[\]\>|
54
+ |submit|提交表单|() =\> void|
55
+
56
+ > IFieldError
57
+
58
+ |参数|描述|类型|
59
+ |----------|-------------|------|
60
+ |value|-|any|
61
+ |errors|-|ReactNode\[\]|
62
+ |warnings|-|ReactNode\[\]|
63
+ |field|-|string|
64
+ |dom|-|HTMLDivElement|
65
+
66
+ > IRules
67
+
68
+ ```
69
+ ITypeRules<ValidatorType.Number> | ITypeRules<ValidatorType.String> | ITypeRules<ValidatorType.Array> | ITypeRules<ValidatorType.Boolean> | ITypeRules<ValidatorType.Object> | ITypeRules<ValidatorType.Custom>
70
+ ```
71
+
72
+ > FormInternalComponentType
73
+
74
+ ```
75
+ "Input" | "Textarea" | "Checkbox" | "CheckboxGroup" | "DatePicker" | "Picker" | "Radio" | "RadioGroup" | "Slider" | "Switch" | "ImagePicker" | "Rate" | "Stepper"
76
+ ```
77
+
78
+ > FormItemRef
79
+
80
+ |参数|描述|类型|
81
+ |----------|-------------|------|
82
+ |dom|最外层元素 DOM|HTMLDivElement|
@@ -0,0 +1,105 @@
1
+ @import '../../../style/mixin.less';
2
+
3
+ .@{prefix}-form {
4
+ &-item {
5
+ display: flex;
6
+ align-items: flex-start;
7
+ border-top-width: 1px;
8
+ border-top-style: solid;
9
+ .use-var(border-top-color, form-item-border-divider-color);
10
+
11
+ &:first-child {
12
+ border: none;
13
+ }
14
+ }
15
+
16
+ &-label-item {
17
+ display: flex;
18
+ position: relative;
19
+ align-items: center;
20
+ justify-content: flex-start;
21
+ .use-var(font-size, form-item-label-item-font-size);
22
+ .use-var(line-height, form-item-label-item-line-height);
23
+ .use-var(color, form-item-label-item-color);
24
+ .use-var-with-rtl(padding-right, form-item-label-item-gutter);
25
+ .use-var(width, form-item-label-item-width);
26
+
27
+ &-required-asterisk {
28
+ position: absolute;
29
+ .set-prop-with-rtl(left, -0.6em);
30
+ top: 0;
31
+
32
+ .use-var(font-size, form-item-label-item-font-size);
33
+ .use-var(line-height, form-item-label-item-line-height);
34
+ .use-var(color, form-item-label-item-required-asterisk-color);
35
+ }
36
+ .disabled & {
37
+ .use-var(color, input-disabled-color);
38
+ }
39
+ }
40
+ &-item-control {
41
+ padding: 16px 0;
42
+ .@{prefix}-input-wrap, .@{prefix}-input {
43
+ padding: 0;
44
+ }
45
+
46
+ .@{prefix}-input-wrap.textarea {
47
+ padding: 0;
48
+ }
49
+
50
+ &-wrapper {
51
+ width: 100%;
52
+ flex: 1;
53
+ position: relative;
54
+ .@{prefix}-input-wrap.single-line {
55
+ .use-var(height, input-text-line-height);
56
+ }
57
+ }
58
+ }
59
+ &-item-message {
60
+ .rem(font-size, 12);
61
+ .use-var(color, form-item-label-item-required-asterisk-color);
62
+ .rem(margin-top, -5);
63
+ svg,
64
+ span {
65
+ vertical-align: middle;
66
+ }
67
+
68
+ svg {
69
+ .rem-with-rtl(margin-right, 4);
70
+ }
71
+ margin-bottom: 16px;
72
+ }
73
+ &-item-error-message {
74
+ .use-var(color, form-item-error-message-color);
75
+ }
76
+
77
+ &-item-warning-message {
78
+ .use-var(color, form-item-warning-message-color);
79
+ }
80
+
81
+ &-item.@{prefix}-form-item-vertical {
82
+ display: block;
83
+ .@{prefix}-input-wrap {
84
+ .set-prop-with-rtl(padding-left, 0);
85
+ }
86
+ .@{prefix}-form-label-item {
87
+ width: auto;
88
+ margin-top: 16px;
89
+ .use-var(height, form-item-label-item-font-size);
90
+ .use-var( line-height, form-item-label-item-font-size);
91
+ &-required-asterisk {
92
+ .use-var(height, form-item-label-item-font-size);
93
+ .use-var( line-height, form-item-label-item-font-size);
94
+ }
95
+ }
96
+ }
97
+
98
+ &-picker-link-container {
99
+ .rem(font-size, 16);
100
+ .use-var(color, font-color);
101
+ &-placeholder {
102
+ .use-var(color, input-placeholder-color);
103
+ }
104
+ }
105
+ }
@@ -0,0 +1,31 @@
1
+ > 属性/Props
2
+
3
+ |参数|描述|类型|默认值|
4
+ |----------|-------------|------|------|
5
+ |className|自定义类名|string|-|
6
+ |style|自定义样式|CSSProperties|-|
7
+ |data|传入的数据|GridData\[\]|必填|
8
+ |columns|一行的列数|number|3|
9
+ |border|是否有边框|boolean|false|
10
+ |gutter|格子间的间距|number \| \{ x: number; y: number; \}|0|
11
+ |shape|格子的形状,可选值为 circle|string|"square"|
12
+ |isSliding|溢出时是否支持滑动|boolean|false|
13
+ |direction|格子内容排列的方向,可选值为 horizontal|string|"vertical"|
14
+
15
+ > 引用/Refs
16
+
17
+ |参数|描述|类型|
18
+ |----------|-------------|------|
19
+ |dom|最外层元素 DOM|HTMLDivElement|
20
+
21
+ > GridData
22
+
23
+ |参数|描述|类型|
24
+ |----------|-------------|------|
25
+ |img|传入图标的资源地址|ReactNode|
26
+ |title|传入的标题文字内容|ReactNode|
27
+ |content|传入的描述文字内容|ReactNode|
28
+ |className|自定义样式|string|
29
+ |onClick|点击后的回调函数|(item: GridData) =\> void|
30
+ |itemStyle|每个格子自定义样式|CSSProperties|
31
+ |renderGrid|自定义单个 grid 的创建函数|(item: GridData, colIndex: number, rowIndex: number) =\> ReactNode|
@@ -0,0 +1,109 @@
1
+ @import "../../../style/mixin.less";
2
+
3
+ .@{prefix}-grid {
4
+ width: 100%;
5
+ display: flex;
6
+ flex-direction: column;
7
+
8
+ &-rows {
9
+ display: flex;
10
+
11
+ &-item {
12
+ display: flex;
13
+ flex-direction: column;
14
+ justify-content: center;
15
+ align-items: center;
16
+ width: 100%;
17
+
18
+ &-icon {
19
+ .use-var(width, grid-icon-width);
20
+ .use-var(height, grid-icon-height);
21
+ }
22
+
23
+ &-icon.circle {
24
+ border-radius: 50%;
25
+ }
26
+
27
+ &-text {
28
+ display: flex;
29
+ flex-direction: column;
30
+ .use-var(margin-top, grid-vertical-text-margin-top);
31
+ text-align: center;
32
+ }
33
+
34
+ &-title {
35
+ .use-var(font-size, grid-vertical-title-font-size);
36
+ .use-var(line-height, grid-vertical-title-line-height);
37
+ }
38
+
39
+ &-content {
40
+ .use-var(font-size, grid-vertical-content-font-size);
41
+ .use-var(line-height, grid-vertical-content-line-height);
42
+ .use-var(margin-top, grid-vertical-content-margin-top);
43
+ .use-var(color, sub-info-font-color);
44
+ }
45
+
46
+ }
47
+
48
+ &-item.horizontal {
49
+ flex-direction: row;
50
+
51
+ .@{prefix}-grid-rows-item {
52
+
53
+ &-text {
54
+ .use-var-with-rtl(margin-left, grid-horizontal-text-margin-left);
55
+ margin-top: 0;
56
+ .set-value-with-rtl(text-align, left);
57
+ }
58
+
59
+ &-content {
60
+ .use-var(margin-top, grid-horizontal-content-margin-top);
61
+ }
62
+
63
+ }
64
+ }
65
+
66
+ &-item.border {
67
+ position: relative;
68
+ display: flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+
72
+ .vertical-border:after {
73
+ content: "";
74
+ width: 1px;
75
+ position: absolute;
76
+ top: 50%;
77
+ right: 0;
78
+ transform: scaleX(.5) translateY(-50%);
79
+ .use-var(height, grid-border-size);
80
+ .use-var(background-color, grid-border-color);
81
+ }
82
+
83
+ .horizontal-border:after {
84
+ content: "";
85
+ height: 1px;
86
+ position: absolute;
87
+ bottom: 0;
88
+ left: 50%;
89
+ transform: scaleY(.5) translateX(-50%);
90
+ .use-var(width, grid-border-size);
91
+ .use-var(background-color, grid-border-color);
92
+ }
93
+ }
94
+ }
95
+ }
96
+ .@{prefix}-grid.sliding {
97
+ display: inline-block;
98
+ overflow-x: auto;
99
+ }
100
+
101
+ .@{prefix}-grid.sliding::-webkit-scrollbar {
102
+ display: none; /* Chrome Safari */
103
+ }
104
+
105
+ .@{prefix}-grid {
106
+ .@{prefix}-image-picker {
107
+ width: 100%; /* 兼容grid和image-picker组合使用 */
108
+ }
109
+ }
@@ -0,0 +1,7 @@
1
+ > 属性/Props
2
+
3
+ |参数|描述|类型|默认值|
4
+ |----------|-------------|------|------|
5
+ |className|节点类名|string|-|
6
+ |useCurrentColor|fill值是否使用color属性值,否则保留原有颜色|boolean|true|
7
+ |style|自定义样式|React.CSSProperties|-|