@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,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|