@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,85 @@
1
+ > 属性/Props
2
+
3
+ |参数|描述|类型|默认值|
4
+ |----------|-------------|------|------|
5
+ |contentAtCenter|弹窗内容是否居中|boolean|false|
6
+ |className|自定义类名|string|-|
7
+ |maskClass|自定义蒙层类名|string|-|
8
+ |maskStyle|自定义蒙层样式|CSSProperties|-|
9
+ |contentClass|自定义内容类名|string|-|
10
+ |contentStyle|自定义内容样式|CSSProperties|-|
11
+ |visible|是否展示菜单(受控)|boolean|必填|
12
+ |close|关闭菜单方法|(e: MouseEvent\<HTMLElement, MouseEvent\>) =\> void|必填|
13
+ |maskTransitionType|蒙层过渡动画类名|string|"fade"|
14
+ |contentTransitionType|内容过渡动画类名|string|"fade"|
15
+ |contentTransitionVarType|内容过渡动画类名变量标识|string|-|
16
+ |children|菜单内部内容|ReactNode|-|
17
+ |maskTransitionTimeout|蒙层动画时长|number \| \{ appear?: number; enter?: number; exit?: number; \}|300|
18
+ |contentTransitionTimeout|内容动画时长|number \| \{ appear?: number; enter?: number; exit?: number; \}|300|
19
+ |maskClosable|点击蒙层是否关闭菜单|boolean|true|
20
+ |animatingClosable|执行进场动画时点击蒙层是否可关闭菜单|boolean|false|
21
+ |mountOnEnter|是否在打开菜单时再加载内容|boolean|true|
22
+ |unmountOnExit|是否在退出时卸载内容|boolean|true|
23
+ |orientationDirection|transform方向,用于通过transform模拟横屏的情况|"top" \| "bottom" \| "left" \| "right"|"top"|
24
+ |preventBodyScroll|弹窗打开时是否禁止body的滚动|boolean|true|
25
+ |initialBodyOverflow|页面初始 overflow 状态,即关闭弹窗时 overflow 应该还原的状态|string|第一个全屏组件(弹窗、toast等)打开时页面overflow值|
26
+ |gestureOutOfControl|是否禁用滚动容器手势判断,禁用后交给业务方自己判断|boolean|false|
27
+ |onClose|关闭后回调(动画执行完毕)|(scene?: string) =\> void|-|
28
+ |onOpen|打开后回调(动画执行完毕)|() =\> void|-|
29
+ |onMaskClick|点击蒙层回调,maskClosable=false时也会触发|() =\> void|-|
30
+ |onTouchMove|弹窗的touchmove回调|(e: TouchEvent, prevented: boolean, direction: "x" \| "y") =\> void|-|
31
+ |onPreventTouchMove|非滚动区域或滚动到顶部及底部时的触摸事件回调|(e: TouchEvent, direction: "x" \| "y") =\> void|-|
32
+ |getContainer|获取挂载容器|() =\> HTMLElement|-|
33
+ |getScrollContainer|内容内部滚动区域容器,在该容器中未滚动到顶部或底部时会释放滚动|() =\> HTMLElement \| HTMLElement\[\]|-|
34
+
35
+ > 引用/Refs
36
+
37
+ |参数|描述|类型|
38
+ |----------|-------------|------|
39
+ |dom|最外层元素 DOM|HTMLDivElement|
40
+ |mask|蒙层 DOM|HTMLDivElement|
41
+ |content|内容 DOM|HTMLDivElement|
42
+ |setCloseScene|在关闭弹窗前修改 onClose 的 scene 参数值|(scene: string) =\> void|
43
+
44
+ > 方法/Methods
45
+
46
+ |方法名|描述|类型|
47
+ |----------|-------------|------|
48
+ |open|打开模态弹窗|(config: MaskingProps) =\> \{ close: () =\> void; update: (newConfig: MaskingProps) =\> void; \}|
49
+
50
+ > GlobalContextParams
51
+
52
+ |参数|描述|类型|默认值|
53
+ |----------|-------------|------|------|
54
+ |prefixCls|组件类名前缀|string|"arco"|
55
+ |system|手动控制当前所在系统,传入后将直接使用传入的值,ssr场景需指定系统初始值时适用|"" \| "pc" \| "android" \| "ios"|""|
56
+ |useDarkMode|是否监听系统原生的暗黑模式变化(prefers\-color\-scheme: dark)以判断是否切为暗黑模式|boolean|false|
57
+ |isDarkMode|是否处于暗黑模式,指定后以指定的值为准|boolean|false|
58
+ |darkModeSelector|当处于暗黑模式时,body上挂载的类名,为空值时不挂载类名|string|"arco-theme-dark"|
59
+ |theme|主题变量,传入后将在线替换css变量,需设置less变量 @use\-css\-vars: 1|Record\<string, string\>|-|
60
+ |locale|国际化语言包配置|ILocale|-|
61
+ |useRtl|是否使用Rtl模式|boolean|false|
62
+ |onDarkModeChange|当系统原生暗黑模式发生变化时触发,useDarkMode=true 时有效|(isDark: boolean) =\> void|-|
63
+ |createRoot|React19 修改了 createRoot 的引入路径,导致组件内部无法直接引入(低react版本会找不到模块)。因此使用 react 19 的用户需从外部传入 createRoot 方法|CreateRootFnType|-|
64
+
65
+ > ILocale
66
+
67
+ |参数|描述|类型|
68
+ |----------|-------------|------|
69
+ |locale|语言类型|string|
70
+ |LoadMore|-|\{ loadMoreText: string; loadingText: string; noDataText: string; failLoadText: string; prepareScrollText: string; prepareClickText: string; \}|
71
+ |Picker|-|\{ okText: string; cancelText: string; \}|
72
+ |Tag|-|\{ addTag: string; \}|
73
+ |Dialog|-|\{ okText: string; cancelText: string; \}|
74
+ |SwipeLoad|-|\{ normalText: string; activeText: string; \}|
75
+ |PullRefresh|-|\{ loadingText: string; pullingText: string; finishText: string; loosingText: string; \}|
76
+ |DropdownMenu|-|\{ select: string; \}|
77
+ |Pagination|-|\{ previousPage: string; nextPage: string; \}|
78
+ |Image|-|\{ loadError: string; \}|
79
+ |ImagePicker|-|\{ loadError: string; \}|
80
+ |SearchBar|-|\{ placeholder: string; cancelBtn: string; \}|
81
+ |Stepper|-|\{ minusButtonName: string; addButtonName: string; \}|
82
+ |Keyboard|-|\{ confirm: string; \}|
83
+ |Form|-|\{ required: string; type: \{ email: string; url: string; string: string; number: string; array: string; object: string; boolean: string; \}; number: \{ min: string; max: string; equal: string; range: string; positive: string; negative: string; \}; \.\.\. 4 more \.\.\.; pickerDefaultHint: string; \}|
84
+ |NavBar|-|\{ backBtnAriaLabel: string; \}|
85
+ |Uploader|-|\{ uploadBtn: string; retryUpload: string; \}|
@@ -0,0 +1,30 @@
1
+ @import '../../../style/mixin.less';
2
+
3
+ .@{prefix}-masking {
4
+ &-mask,
5
+ &-content {
6
+ &.pre-mount:not([class*="-enter"]):not([class*="-exit"]),
7
+ &[class*="-exit-done"] {
8
+ opacity: 0;
9
+ pointer-events: none;
10
+ }
11
+ }
12
+ &-mask {
13
+ position: fixed;
14
+ width: 100%;
15
+ height: 100%;
16
+ left: 0;
17
+ top: 0;
18
+ z-index: @full-screen-z-index;
19
+ .use-var(background, mask-background);
20
+ }
21
+ &-content {
22
+ position: fixed;
23
+ z-index: @full-screen-z-index + 1;
24
+ &.at-center {
25
+ left: 50%;
26
+ top: 50%;
27
+ transform: translate(-50%, -50%);
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,32 @@
1
+ > 属性/Props
2
+
3
+ |参数|描述|类型|默认值|
4
+ |----------|-------------|------|------|
5
+ |title|导航栏中间文字,带居中和溢出省略效果|ReactNode|-|
6
+ |children|自定义导航栏主内容,当导航栏内容为Tabs等非居中文字样式时可用|ReactNode|-|
7
+ |leftContent|导航栏左侧内容|ReactNode|返回按钮|
8
+ |rightContent|导航栏右侧内容|ReactNode|-|
9
+ |style|自定义样式,最外层元素的背景文字颜色可在此定义|CSSProperties|-|
10
+ |className|内层自定义类名|string|-|
11
+ |wrapClass|最外层元素自定义类名|string|-|
12
+ |fixed|是否吸顶|boolean|-|
13
+ |statusBarHeight|沉浸式状态栏高度|number|0|
14
+ |hasBottomLine|是否有底边框|boolean|true|
15
+ |onClickLeft|点击左侧内容回调|(e: MouseEvent\<Element, MouseEvent\>) =\> void|-|
16
+ |onClickRight|点击右侧内容回调|(e: MouseEvent\<Element, MouseEvent\>) =\> void|-|
17
+ |showOffset|展示nav\-bar的offset值,当scrollTop值小于该值时,将隐藏主内容和右侧内容,左侧内容保留|number|0|
18
+ |onShowChange|设置showOffset后,当内容显示状态发生变化后触发|(show: boolean) =\> void|-|
19
+ |placeholder|设置fixed=true时,导航栏原本的位置是否要占住|boolean|true|
20
+ |extra|额外渲染元素,与inner平级|ReactNode|-|
21
+ |getScrollContainer|自定义滚动元素,不传默认是window|() =\> HTMLElement \| Window|-|
22
+ |getComputedStyleByScroll|根据滚动offset值设置自定义style,设置该属性后将监听滚动容器的滚动事件|(offset: number) =\> CSSProperties|-|
23
+ |onScrollChange|滚动时回调,设置该属性后将监听滚动容器的滚动事件|(offset: number) =\> void|-|
24
+ |ariaLabel|无障碍aria\-label属性|string|""|
25
+ |ariaRole|无障碍role属性|string|"banner"|
26
+
27
+ > 引用/Refs
28
+
29
+ |参数|描述|类型|
30
+ |----------|-------------|------|
31
+ |navBar|@deprecated|HTMLDivElement|
32
+ |dom|最外层元素DOM|HTMLDivElement|
@@ -0,0 +1,112 @@
1
+ @import "../../../style/mixin.less";
2
+
3
+ .@{prefix}-nav-bar {
4
+ position: relative;
5
+ width: 100%;
6
+ box-sizing: content-box;
7
+ .use-var(color, nav-bar-font-color);
8
+ .use-var(background, nav-bar-background);
9
+
10
+ &&-fixed {
11
+ .use-var(height, nav-bar-height);
12
+ }
13
+
14
+ &&-float {
15
+ position: fixed;
16
+ top: 0;
17
+ left: 0;
18
+ z-index: @full-screen-z-index;
19
+ }
20
+
21
+ &&-float:not(&-hide) &-wrapper-fixed {
22
+ // 部分安卓4机型在有两层fixed时会疯狂抖动,因此外层fixed时内层不再fixed
23
+ // 辣鸡安卓4机型在设置为absolute的时候快速回到顶部时又有残影,所以在hide状态还是fixed
24
+ position: absolute;
25
+ }
26
+
27
+ &&-hide {
28
+ .@{prefix}-nav-bar-title, .@{prefix}-nav-bar-right {
29
+ visibility: hidden;
30
+ }
31
+ }
32
+
33
+ &&-hide &-wrapper-border::after {
34
+ border-color: transparent;
35
+ }
36
+
37
+ &-wrapper {
38
+ background: inherit;
39
+ .use-var(height, nav-bar-height);
40
+ box-sizing: content-box;
41
+ width: 100%;
42
+ background-position: center;
43
+ background-repeat: no-repeat;
44
+ background-size: 100% 100%;
45
+ transition: all .1s linear;
46
+
47
+ &&-border {
48
+ .onepx-border-var(bottom, nav-bar-bottom-border-color);
49
+ }
50
+
51
+ &&-fixed {
52
+ // onepx-border mixin 会加上position relative,暗黑模式下优先级会高于这条优先级,所以加上important声明
53
+ position: fixed !important;
54
+ top: 0;
55
+ left: 0;
56
+ z-index: @fixed-z-index;
57
+ }
58
+ }
59
+
60
+ &-inner {
61
+ position: relative;
62
+ height: 100%;
63
+ }
64
+
65
+ &-left,
66
+ &-title,
67
+ &-right {
68
+ display: flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+ }
72
+
73
+ &-left,
74
+ &-right {
75
+ .text-overflow();
76
+ .use-var(font-size, nav-bar-two-sides-font-size);
77
+ .use-var(padding, nav-bar-two-sides-padding);
78
+ position: absolute;
79
+ top: 0;
80
+ height: 100%;
81
+ color: inherit;
82
+ }
83
+
84
+ &-left {
85
+ left: 0;
86
+ }
87
+
88
+ &-title {
89
+ .use-var(font-size, nav-bar-title-font-size);
90
+ .use-var(padding, nav-bar-title-padding);
91
+ width: 100%;
92
+ height: 100%;
93
+ color: inherit;
94
+ text-align: center;
95
+
96
+ &-text {
97
+ .use-var(font-size, nav-bar-title-text-font-size);
98
+ .text-overflow();
99
+ .noselect();
100
+ font-weight: bold;
101
+ }
102
+ }
103
+
104
+ &-right {
105
+ right: 0;
106
+ }
107
+
108
+ .nav-bar-back {
109
+ .use-var(height, nav-bar-back-icon-height);
110
+ font-size: 0;
111
+ }
112
+ }
@@ -0,0 +1,26 @@
1
+ > 属性/Props
2
+
3
+ |参数|描述|类型|默认值|
4
+ |----------|-------------|------|------|
5
+ |className|自定义类名|string|-|
6
+ |style|自定义样式,背景颜色和文字颜色可直接在这里指定\`background\`和\`color\`|CSSProperties|-|
7
+ |children|通知内容文字,如需垂直滚动效果可传入一个Carousel|ReactNode|-|
8
+ |leftContent|左侧内容|ReactNode|-|
9
+ |rightContent|右侧内容|ReactNode|-|
10
+ |marquee|通知文字处理方式,为\`overflow\`则文字超出容器长度时才滚动,为\`none\`则文字始终不滚动,为\`always\`则文字始终滚动|"overflow" \| "none" \| "always"|"overflow"|
11
+ |closeable|是否可关闭|boolean|true|
12
+ |closeIcon|自定义关闭图标|ReactNode|\<IconClose /\>|
13
+ |wrapable|是否需要换行,当 marquee=none 且 wrapable=false 时,文字超出会有溢出省略(ellipsis)效果|boolean|true|
14
+ |speed|文字滚动速度,单位是px/s|number|50|
15
+ |delay|文字开始滚动之前的延迟(ms)|number|1000|
16
+ |autoSetGradientStyle|是否根据\`style\`属性中自定义的背景色自动设置渐变背景色|boolean|true|
17
+ |onClick|点击通知栏事件|(e: MouseEvent\<HTMLDivElement, MouseEvent\>) =\> void|-|
18
+ |onClose|点击关闭按钮回调|(e: MouseEvent\<HTMLDivElement, MouseEvent\>) =\> void|-|
19
+
20
+ > 引用/Refs
21
+
22
+ |参数|描述|类型|
23
+ |----------|-------------|------|
24
+ |dom|最外层元素 DOM|HTMLDivElement|
25
+ |close|手动关闭通知栏,即移除当前组件|() =\> void|
26
+ |updateData|手动更新组件布局|() =\> void|
@@ -0,0 +1,124 @@
1
+ @import "../../../style/mixin.less";
2
+
3
+ .@{prefix}-notice-bar {
4
+ .use-var(background, notice-bar-background);
5
+ .use-var(color, notice-bar-color);
6
+ .use-var(padding, notice-bar-wrapper-padding);
7
+ display: flex;
8
+ align-items: flex-start;
9
+ font-size: 0;
10
+
11
+ &.no-wrap &-content-inner {
12
+ white-space: nowrap;
13
+ }
14
+
15
+ &.ellipsis &-content-inner {
16
+ max-width: 100%;
17
+ overflow: hidden;
18
+ text-overflow: ellipsis;
19
+ }
20
+
21
+ &.wrapable &-content-inner {
22
+ .use-var(line-height, notice-bar-line-height);
23
+ .use-var(padding, notice-bar-vertical-padding, "", 0);
24
+ }
25
+
26
+ &-left-part,
27
+ &-right-part,
28
+ &-close {
29
+ .use-var(padding, notice-bar-vertical-padding, "", 0);
30
+ .use-var(font-size, notice-bar-text-font-size);
31
+ .@{prefix}-icon {
32
+ float: left;
33
+ }
34
+
35
+ &::after {
36
+ content: "";
37
+ display: block;
38
+ clear: both;
39
+ }
40
+ }
41
+
42
+ &-left-part {
43
+ .use-var-with-rtl(padding-right, notice-bar-horizontal-padding);
44
+ }
45
+
46
+ &-right-part,
47
+ &-close {
48
+ .use-var-with-rtl(padding-left, notice-bar-horizontal-padding);
49
+ }
50
+
51
+ &-content {
52
+ flex: 1;
53
+ overflow: hidden;
54
+ position: relative;
55
+
56
+ &-inner {
57
+ display: inline-block;
58
+ .use-var(font-size, notice-bar-text-font-size);
59
+ .use-var(line-height, notice-bar-single-line-height);
60
+
61
+ &.animate {
62
+ animation: marquee linear both;
63
+ .style-with-rtl({
64
+ animation-name: marquee-reverse;
65
+ });
66
+ }
67
+ }
68
+ .@{prefix}-carousel {
69
+ .use-var(height, notice-bar-single-line-height);
70
+ white-space: normal;
71
+ .@{prefix}-carousel-item {
72
+ .use-var(font-size, notice-bar-text-font-size);
73
+ .use-var(line-height, notice-bar-single-line-height);
74
+ }
75
+ }
76
+ .@{prefix}-carousel-indicator {
77
+ display: none;
78
+ }
79
+ }
80
+ .@{prefix}-icon {
81
+ .use-var(font-size, notice-bar-icon-font-size);
82
+ .use-var(line-height, notice-bar-line-height);
83
+ .use-var(height, notice-bar-line-height); // for svg
84
+ }
85
+
86
+ &-gradient {
87
+ position: absolute;
88
+ top: 0;
89
+ height: 100%;
90
+ z-index: 1;
91
+ .use-var(width, notice-bar-gradient-width);
92
+ .use-var(background, notice-bar-gradient-background);
93
+
94
+ &.left {
95
+ left: 0;
96
+ }
97
+
98
+ &.right {
99
+ right: -2PX;
100
+ transform: rotate(180deg);
101
+ }
102
+ }
103
+
104
+ @keyframes marquee {
105
+ 0% {
106
+ transform: translate3d(0, 0, 0);
107
+ }
108
+
109
+ 100% {
110
+ transform: translate3d(-100%, 0, 0);
111
+ }
112
+ }
113
+
114
+ @keyframes marquee-reverse {
115
+
116
+ 0% {
117
+ transform: translate3d(0, 0, 0);
118
+ }
119
+
120
+ 100% {
121
+ transform: translate3d(100%, 0, 0);
122
+ }
123
+ }
124
+ }
@@ -0,0 +1,73 @@
1
+ > 属性/Props
2
+
3
+ |参数|描述|类型|默认值|
4
+ |----------|-------------|------|------|
5
+ |className|自定义类名|string|-|
6
+ |style|自定义样式|CSSProperties|-|
7
+ |content|需要展示的内容|ReactNode|-|
8
+ |type|通知类型|"success" \| "error" \| "warn" \| "info"|"info"|
9
+ |visible|是否显示通知|boolean|false|
10
+ |close|控制通知关闭的事件|() =\> void|-|
11
+ |onClose|通知关闭时的回调函数|() =\> void|-|
12
+ |getContainer|将通知放入某个模块|() =\> HTMLElement|-|
13
+ |transitionDuration|动画的执行时间 (单位ms)|number|300|
14
+ |duration|通知自动关闭时延 (单位ms) 设置为0时不会自动关闭|number|3000|
15
+
16
+ > 引用/Refs
17
+
18
+ |参数|描述|类型|
19
+ |----------|-------------|------|
20
+ |dom|最外层dom元素|HTMLElement|
21
+ |updateLayout|更新元素布局|() =\> void|
22
+
23
+ > 方法/Methods
24
+
25
+ |方法名|描述|类型|
26
+ |----------|-------------|------|
27
+ |info|展示常规通知|(config: string \| NotifyProps) =\> \{ update: (config: NotifyProps) =\> void; close: () =\> void \}|
28
+ |success|展示成功通知|(config: string \| NotifyProps) =\> \{ update: (config: NotifyProps) =\> void; close: () =\> void \}|
29
+ |error|展示错误的通知|(config: string \| NotifyProps) =\> \{ update: (config: NotifyProps) =\> void; close: () =\> void \}|
30
+ |warn|展示警告的通知|(config: string \| NotifyProps) =\> \{ update: (config: NotifyProps) =\> void; close: () =\> void \}|
31
+
32
+ > NotifyType
33
+
34
+ ```
35
+ "success" | "error" | "warn" | "info"
36
+ ```
37
+
38
+ > GlobalContextParams
39
+
40
+ |参数|描述|类型|默认值|
41
+ |----------|-------------|------|------|
42
+ |prefixCls|组件类名前缀|string|"arco"|
43
+ |system|手动控制当前所在系统,传入后将直接使用传入的值,ssr场景需指定系统初始值时适用|"" \| "pc" \| "android" \| "ios"|""|
44
+ |useDarkMode|是否监听系统原生的暗黑模式变化(prefers\-color\-scheme: dark)以判断是否切为暗黑模式|boolean|false|
45
+ |isDarkMode|是否处于暗黑模式,指定后以指定的值为准|boolean|false|
46
+ |darkModeSelector|当处于暗黑模式时,body上挂载的类名,为空值时不挂载类名|string|"arco-theme-dark"|
47
+ |theme|主题变量,传入后将在线替换css变量,需设置less变量 @use\-css\-vars: 1|Record\<string, string\>|-|
48
+ |locale|国际化语言包配置|ILocale|-|
49
+ |useRtl|是否使用Rtl模式|boolean|false|
50
+ |onDarkModeChange|当系统原生暗黑模式发生变化时触发,useDarkMode=true 时有效|(isDark: boolean) =\> void|-|
51
+ |createRoot|React19 修改了 createRoot 的引入路径,导致组件内部无法直接引入(低react版本会找不到模块)。因此使用 react 19 的用户需从外部传入 createRoot 方法|CreateRootFnType|-|
52
+
53
+ > ILocale
54
+
55
+ |参数|描述|类型|
56
+ |----------|-------------|------|
57
+ |locale|语言类型|string|
58
+ |LoadMore|-|\{ loadMoreText: string; loadingText: string; noDataText: string; failLoadText: string; prepareScrollText: string; prepareClickText: string; \}|
59
+ |Picker|-|\{ okText: string; cancelText: string; \}|
60
+ |Tag|-|\{ addTag: string; \}|
61
+ |Dialog|-|\{ okText: string; cancelText: string; \}|
62
+ |SwipeLoad|-|\{ normalText: string; activeText: string; \}|
63
+ |PullRefresh|-|\{ loadingText: string; pullingText: string; finishText: string; loosingText: string; \}|
64
+ |DropdownMenu|-|\{ select: string; \}|
65
+ |Pagination|-|\{ previousPage: string; nextPage: string; \}|
66
+ |Image|-|\{ loadError: string; \}|
67
+ |ImagePicker|-|\{ loadError: string; \}|
68
+ |SearchBar|-|\{ placeholder: string; cancelBtn: string; \}|
69
+ |Stepper|-|\{ minusButtonName: string; addButtonName: string; \}|
70
+ |Keyboard|-|\{ confirm: string; \}|
71
+ |Form|-|\{ required: string; type: \{ email: string; url: string; string: string; number: string; array: string; object: string; boolean: string; \}; number: \{ min: string; max: string; equal: string; range: string; positive: string; negative: string; \}; \.\.\. 4 more \.\.\.; pickerDefaultHint: string; \}|
72
+ |NavBar|-|\{ backBtnAriaLabel: string; \}|
73
+ |Uploader|-|\{ uploadBtn: string; retryUpload: string; \}|
@@ -0,0 +1,40 @@
1
+ @import '../../../style/mixin.less';
2
+
3
+ .@{prefix}-notify {
4
+ width: 100%;
5
+ overflow: hidden;
6
+ position: relative;
7
+ transition-property: height;
8
+ .use-var(color, notify-font-color);
9
+ .use-var(font-size, notify-font-size);
10
+ &-content {
11
+ width: 100%;
12
+ display: flex;
13
+ justify-content: center;
14
+ align-items: center;
15
+ position: absolute;
16
+ left: 0;
17
+ top: 0;
18
+ transition-property: transform;
19
+ .use-var(min-height, notify-min-height);
20
+ }
21
+ &-info {
22
+ background: transparent;
23
+ .use-var(color, notify-info-font-color);
24
+ }
25
+ &-success {
26
+ .use-var(background, notify-success-background);
27
+ }
28
+ &-error {
29
+ .use-var(background, notify-error-background);
30
+ }
31
+ &-warn {
32
+ .use-var(background, notify-warn-background);
33
+ }
34
+ &-content-transition-Y0 {
35
+ transform: translateY(0);
36
+ }
37
+ &-content-transition-Y100 {
38
+ transform: translateY(-100%);
39
+ }
40
+ }
@@ -0,0 +1,33 @@
1
+ > 属性/Props
2
+
3
+ |参数|描述|类型|默认值|
4
+ |----------|-------------|------|------|
5
+ |className|自定义类名|string|-|
6
+ |style|自定义样式|CSSProperties|-|
7
+ |type|分页器翻页区域样式类型,button表示按钮式分页器,text表示文本式分页器,none表示仅保留页码不含翻页区域|"button" \| "text" \| "none"|"button"|
8
+ |icon|是否需要展示图标|ReactNode \| \[\.\.\.\]|false|
9
+ |justify|翻页按钮水平位置,side表示两端对齐,center表示居中对齐|"center" \| "side"|"side"|
10
+ |current|当前页码|number|1|
11
+ |pageSize|每页条数|number|10|
12
+ |total|数据总条数|number|0|
13
+ |hideOnOnePage|只有一页时是否隐藏分页器|boolean|false|
14
+ |nextFieldType|下一页样式,primary表示高亮|"default" \| "primary"|"default"|
15
+ |prevFieldText|上一页文本|string|"上一页"|
16
+ |nextFieldText|下一页文本|string|"下一页"|
17
+ |renderPrevField|渲染前翻页按钮|(data: IPaginationDataParams) =\> ReactNode|-|
18
+ |renderNextField|渲染后翻页按钮|(data: IPaginationDataParams) =\> ReactNode|-|
19
+ |onChange|点击前/后翻页按钮时调用|(data: IPaginationDataParams) =\> void|-|
20
+
21
+ > 引用/Refs
22
+
23
+ |参数|描述|类型|
24
+ |----------|-------------|------|
25
+ |dom|最外层元素 DOM|HTMLDivElement|
26
+
27
+ > IPaginationDataParams
28
+
29
+ |参数|描述|类型|
30
+ |----------|-------------|------|
31
+ |current|当前页|number|
32
+ |pageSize|每页条数|number|
33
+ |pageNum|总页数|number|
@@ -0,0 +1,105 @@
1
+ @import '../../../style/mixin.less';
2
+
3
+
4
+ .@{prefix}-pagination {
5
+
6
+ display: flex;
7
+ align-items: center;
8
+ justify-content: space-between;
9
+ .use-var(padding, pagination-padding);
10
+ &-prev-field, &-next-field {
11
+ flex: 1;
12
+ display: flex;
13
+ .use-var(color, font-color);
14
+ }
15
+ &-prev-field {
16
+ justify-content: flex-start;
17
+ &.flex-center {
18
+ justify-content: flex-end;
19
+ .use-var-with-rtl(margin-right, pagination-center-field-gutter);
20
+ }
21
+ }
22
+ &-next-field {
23
+ justify-content: flex-end;
24
+ &.flex-center {
25
+ justify-content: flex-start;
26
+ .use-var-with-rtl(margin-left, pagination-center-field-gutter);
27
+ }
28
+ }
29
+
30
+ &-field {
31
+ cursor: pointer;
32
+ text-align: center;
33
+ font-size: 0;
34
+ display: inline-flex;
35
+ align-items: center;
36
+ justify-content: center;
37
+ box-sizing: border-box;
38
+ .use-var(font-size, pagination-field-font-size);
39
+ .use-var(line-height, pagination-field-line-height);
40
+ .noselect();
41
+ .btn-icon {
42
+ display: inline-flex;
43
+ align-items: center;
44
+ .style-with-rtl({
45
+ transform: scaleX(-1);
46
+ });
47
+ &.next {
48
+ transform: rotateY(180deg);
49
+ .style-with-rtl({
50
+ transform: none;
51
+ });
52
+ }
53
+ }
54
+ }
55
+ &-field.button {
56
+ .use-var(padding, pagination-field-button-padding);
57
+ .use-var(border-radius, pagination-field-button-border-radius);
58
+ .use-var(min-height, pagination-field-button-min-height);
59
+ .use-var(background, pagination-field-default-background);
60
+ .use-var(color, pagination-field-default-text-color);
61
+ &.primary {
62
+ .use-var(background, pagination-field-primary-background);
63
+ .use-var(color, pagination-field-primary-text-color);
64
+ }
65
+ .btn-text {
66
+ .use-var(font-size, pagination-field-btn-text-font-size);
67
+ }
68
+ .btn-icon + .btn-text,
69
+ .btn-text + .btn-icon {
70
+ .use-var-with-rtl(margin-left, pagination-field-btn-icon-text-gutter);
71
+ }
72
+ }
73
+ &.android &-field.button {
74
+ .btn-text {
75
+ .rem(padding-top, 2);
76
+ }
77
+ }
78
+ &-field.text {
79
+ .use-var(color, pagination-field-default-text-color);
80
+ &.primary {
81
+ .use-var(color, pagination-field-text-primary-text-color);
82
+ }
83
+ &.disabled {
84
+ background: none;
85
+ }
86
+ }
87
+ &-field.disabled {
88
+ .use-var(background, pagination-field-disabled-background);
89
+ .use-var(color, pagination-field-disabled-text-color);
90
+ }
91
+
92
+ &-item {
93
+ flex: 0 0 auto;
94
+ text-align: center;
95
+ .use-var(font-size, pagination-item-font-size);
96
+ .use-var(line-height, pagination-item-line-height);
97
+ .use-var(color, pagination-item-default-text-color);
98
+ .active {
99
+ .use-var(color, pagination-item-primary-text-color);
100
+ }
101
+ }
102
+ }
103
+ .@{prefix}-pagination-simple {
104
+ justify-content: center;
105
+ }