@arco-design/mobile-react 2.28.2 → 2.29.0

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 (79) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.en-US.md +2 -2
  3. package/README.md +2 -2
  4. package/cjs/grid/style/css/index.css +4 -0
  5. package/cjs/grid/style/index.less +6 -0
  6. package/cjs/index.d.ts +1 -0
  7. package/cjs/index.js +5 -1
  8. package/cjs/skeleton/demo/style/css/mobile.css +7 -0
  9. package/cjs/skeleton/demo/style/mobile.less +13 -0
  10. package/cjs/skeleton/elements.d.ts +7 -0
  11. package/cjs/skeleton/elements.js +302 -0
  12. package/cjs/skeleton/index.d.ts +18 -0
  13. package/cjs/skeleton/index.js +100 -0
  14. package/cjs/skeleton/skeleton-context.d.ts +3 -0
  15. package/cjs/skeleton/skeleton-context.js +15 -0
  16. package/cjs/skeleton/style/css/index.css +180 -0
  17. package/cjs/skeleton/style/css/index.d.ts +3 -0
  18. package/cjs/skeleton/style/css/index.js +7 -0
  19. package/cjs/skeleton/style/index.d.ts +3 -0
  20. package/cjs/skeleton/style/index.js +7 -0
  21. package/cjs/skeleton/style/index.less +147 -0
  22. package/cjs/skeleton/type.d.ts +104 -0
  23. package/cjs/skeleton/type.js +3 -0
  24. package/cjs/style.d.ts +1 -0
  25. package/cjs/style.js +2 -0
  26. package/dist/index.js +390 -34
  27. package/dist/index.min.js +4 -4
  28. package/dist/style.css +123 -0
  29. package/dist/style.min.css +1 -1
  30. package/esm/grid/style/css/index.css +4 -0
  31. package/esm/grid/style/index.less +6 -0
  32. package/esm/index.d.ts +1 -0
  33. package/esm/index.js +1 -0
  34. package/esm/skeleton/demo/style/css/mobile.css +7 -0
  35. package/esm/skeleton/demo/style/mobile.less +13 -0
  36. package/esm/skeleton/elements.d.ts +7 -0
  37. package/esm/skeleton/elements.js +281 -0
  38. package/esm/skeleton/index.d.ts +18 -0
  39. package/esm/skeleton/index.js +82 -0
  40. package/esm/skeleton/skeleton-context.d.ts +3 -0
  41. package/esm/skeleton/skeleton-context.js +5 -0
  42. package/esm/skeleton/style/css/index.css +180 -0
  43. package/esm/skeleton/style/css/index.d.ts +3 -0
  44. package/esm/skeleton/style/css/index.js +3 -0
  45. package/esm/skeleton/style/index.d.ts +3 -0
  46. package/esm/skeleton/style/index.js +3 -0
  47. package/esm/skeleton/style/index.less +147 -0
  48. package/esm/skeleton/type.d.ts +104 -0
  49. package/esm/skeleton/type.js +1 -0
  50. package/esm/style.d.ts +1 -0
  51. package/esm/style.js +1 -0
  52. package/package.json +3 -3
  53. package/tokens/app/arcodesign/default/css-variables.less +16 -0
  54. package/tokens/app/arcodesign/default/index.d.ts +16 -0
  55. package/tokens/app/arcodesign/default/index.js +17 -1
  56. package/tokens/app/arcodesign/default/index.json +190 -0
  57. package/tokens/app/arcodesign/default/index.less +16 -0
  58. package/umd/grid/style/css/index.css +4 -0
  59. package/umd/grid/style/index.less +6 -0
  60. package/umd/index.d.ts +1 -0
  61. package/umd/index.js +7 -5
  62. package/umd/skeleton/demo/style/css/mobile.css +7 -0
  63. package/umd/skeleton/demo/style/mobile.less +13 -0
  64. package/umd/skeleton/elements.d.ts +7 -0
  65. package/umd/skeleton/elements.js +306 -0
  66. package/umd/skeleton/index.d.ts +18 -0
  67. package/umd/skeleton/index.js +104 -0
  68. package/umd/skeleton/skeleton-context.d.ts +3 -0
  69. package/umd/skeleton/skeleton-context.js +28 -0
  70. package/umd/skeleton/style/css/index.css +180 -0
  71. package/umd/skeleton/style/css/index.d.ts +3 -0
  72. package/umd/skeleton/style/css/index.js +15 -0
  73. package/umd/skeleton/style/index.d.ts +3 -0
  74. package/umd/skeleton/style/index.js +15 -0
  75. package/umd/skeleton/style/index.less +147 -0
  76. package/umd/skeleton/type.d.ts +104 -0
  77. package/umd/skeleton/type.js +17 -0
  78. package/umd/style.d.ts +1 -0
  79. package/umd/style.js +4 -4
@@ -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
+ [dir="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,104 @@
1
+ /// <reference types="react" />
2
+ import { BaseProps, SimpleBaseProps } from '../_helpers';
3
+ export interface SkeletonProps extends SimpleBaseProps {
4
+ /**
5
+ * 是否显示标题占位图
6
+ * @en Show title placeholder
7
+ * @default true
8
+ */
9
+ title?: boolean | SkeletonTitleProps;
10
+ /**
11
+ * 是否显示段落占位图
12
+ * @en Show paragraph placeholder
13
+ * @default true
14
+ */
15
+ paragraph?: boolean | SkeletonParagraphProps;
16
+ /**
17
+ * 是否显示头像占位图
18
+ * @en Show Avatar placeholder
19
+ * @default false
20
+ */
21
+ avatar?: boolean | SkeletonAvatarProps;
22
+ /**
23
+ * 是否显示金刚位占位图(如该参数非空时,默认展示四列金刚位,且不展示标题/段落/头像占位符)
24
+ * @en Show Grid placeholder. When it's value is present, the paragraph, avatar or title placeholder will not be displayed, and four columns will be displayed by default
25
+ * @default false
26
+ */
27
+ grid?: boolean | SkeletonGridProps;
28
+ /**
29
+ * 是否展示动画效果
30
+ * @en Show loading effect
31
+ * @default true
32
+ */
33
+ showAnimation?: boolean;
34
+ /**
35
+ * 加载动画效果,可选“扫光”、“呼吸”两种效果
36
+ * @en Animation of loading effect, 'gradient' and 'breath' effects are optional
37
+ * @default "gradient"
38
+ */
39
+ animation?: 'gradient' | 'breath';
40
+ /**
41
+ * 扫光动效高光颜色
42
+ * @en Highlight color of gradient animation
43
+ * @default "rgba(0, 0, 0, 0.04)"
44
+ */
45
+ animationGradientColor?: string;
46
+ /**
47
+ * 占位块背景色
48
+ * @en Background color of skeleton item
49
+ * @default "#F7F8FA"
50
+ */
51
+ backgroundColor?: string;
52
+ /**
53
+ * 子元素
54
+ * @en Children element
55
+ * @default null
56
+ */
57
+ children?: React.ReactNode;
58
+ }
59
+ export interface SkeletonTitleProps extends SimpleBaseProps {
60
+ /**
61
+ * 标题占位图宽度
62
+ * @en The width of title
63
+ * @default "40%"
64
+ */
65
+ width?: number | string;
66
+ }
67
+ export interface SkeletonParagraphProps extends SimpleBaseProps {
68
+ /**
69
+ * 段落占位图的行数
70
+ * @en Number of lines for paragraph
71
+ * @default 3
72
+ */
73
+ rows?: number;
74
+ /**
75
+ * 段落占位图宽度,若为数组格式对应每行宽度,否则表示最后一行的宽度
76
+ * @en The width of paragraph. If width is an Array, it corresponds to the width of each line, otherwise it indicates the width of the last line
77
+ * @default "60%"
78
+ */
79
+ width?: number | string | Array<number | string>;
80
+ }
81
+ export interface SkeletonAvatarProps extends SimpleBaseProps {
82
+ }
83
+ export interface SkeletonGridProps extends SimpleBaseProps {
84
+ /**
85
+ * 金刚位列数
86
+ * @en columns of grid
87
+ * @default 4
88
+ */
89
+ columns?: number;
90
+ }
91
+ export interface SkeletonNodeProps extends BaseProps {
92
+ }
93
+ export interface SkeletonRef {
94
+ /**
95
+ * 最外层 DOM 元素
96
+ * @en The outer DOM element of the component
97
+ */
98
+ dom: HTMLDivElement | null;
99
+ }
100
+ export interface SkeletonContextParams {
101
+ backgroundColor?: string;
102
+ showAnimation: boolean;
103
+ animation: SkeletonProps['animation'];
104
+ }
@@ -0,0 +1 @@
1
+ export {};
package/esm/style.d.ts CHANGED
@@ -44,6 +44,7 @@ import './pull-refresh/style';
44
44
  import './radio/style';
45
45
  import './rate/style';
46
46
  import './search-bar/style';
47
+ import './skeleton/style';
47
48
  import './show-monitor/style';
48
49
  import './slider/style';
49
50
  import './stepper/style';
package/esm/style.js CHANGED
@@ -44,6 +44,7 @@ import './pull-refresh/style';
44
44
  import './radio/style';
45
45
  import './rate/style';
46
46
  import './search-bar/style';
47
+ import './skeleton/style';
47
48
  import './show-monitor/style';
48
49
  import './slider/style';
49
50
  import './stepper/style';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arco-design/mobile-react",
3
- "version": "2.28.2",
3
+ "version": "2.29.0",
4
4
  "description": "",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -15,7 +15,7 @@
15
15
  "author": "taoyiyue@bytedance.com",
16
16
  "license": "ISC",
17
17
  "dependencies": {
18
- "@arco-design/mobile-utils": "2.16.2",
18
+ "@arco-design/mobile-utils": "2.16.3",
19
19
  "@arco-design/transformable": "^1.0.0",
20
20
  "lodash.throttle": "^4.1.1",
21
21
  "resize-observer-polyfill": "^1.5.1"
@@ -49,5 +49,5 @@
49
49
  "publishConfig": {
50
50
  "access": "public"
51
51
  },
52
- "gitHead": "f923a5d573d8af95e6b158614f8e7d8184afc481"
52
+ "gitHead": "8fbc59117b0d240f4faeee45daca1489803ab78a"
53
53
  }
@@ -793,4 +793,20 @@
793
793
  --divider-right-width: ~`pxtorem(28)`;
794
794
  --divider-content-padding: ~`pxtorem(12)`;
795
795
  --divider-padding: ~`pxtorem(16)`;
796
+ --skeleton-border-radius: ~`pxtorem(0)`;
797
+ --skeleton-background-color: #F2F3F5;
798
+ --skeleton-gradient-animation-color: rgba(255, 255, 255, 0.6);
799
+ --skeleton-breath-opacity: 0.4;
800
+ --skeleton-gradient-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
801
+ --skeleton-gradient-animation-duration: 1.5s;
802
+ --skeleton-breath-animation-duration: 1.5s;
803
+ --skeleton-title-height: ~`pxtorem(16)`;
804
+ --skeleton-paragraph-height: ~`pxtorem(16)`;
805
+ --skeleton-paragraph-margin-top: ~`pxtorem(12)`;
806
+ --skeleton-avatar-size: ~`pxtorem(32)`;
807
+ --skeleton-grid-icon-size: ~`pxtorem(32)`;
808
+ --skeleton-grid-text-width: ~`pxtorem(64)`;
809
+ --skeleton-grid-text-height: ~`pxtorem(16)`;
810
+ --skeleton-medium-gutter: ~`pxtorem(8)`;
811
+ --skeleton-large-gutter: ~`pxtorem(20)`;
796
812
  }
@@ -792,6 +792,22 @@ export interface ArcodesignToken extends Record<string, string> {
792
792
  'divider-right-width': string;
793
793
  'divider-content-padding': string;
794
794
  'divider-padding': string;
795
+ 'skeleton-border-radius': string;
796
+ 'skeleton-background-color': string;
797
+ 'skeleton-gradient-animation-color': string;
798
+ 'skeleton-breath-opacity': string;
799
+ 'skeleton-gradient-animation-timing-function': string;
800
+ 'skeleton-gradient-animation-duration': string;
801
+ 'skeleton-breath-animation-duration': string;
802
+ 'skeleton-title-height': string;
803
+ 'skeleton-paragraph-height': string;
804
+ 'skeleton-paragraph-margin-top': string;
805
+ 'skeleton-avatar-size': string;
806
+ 'skeleton-grid-icon-size': string;
807
+ 'skeleton-grid-text-width': string;
808
+ 'skeleton-grid-text-height': string;
809
+ 'skeleton-medium-gutter': string;
810
+ 'skeleton-large-gutter': string;
795
811
  }
796
812
  declare const tokens: ArcodesignToken;
797
813
  export default tokens;
@@ -803,7 +803,23 @@ var tokens = {
803
803
  "divider-left-width": "0.56rem",
804
804
  "divider-right-width": "0.56rem",
805
805
  "divider-content-padding": "0.24rem",
806
- "divider-padding": "0.32rem"
806
+ "divider-padding": "0.32rem",
807
+ "skeleton-border-radius": "0",
808
+ "skeleton-background-color": "#F2F3F5",
809
+ "skeleton-gradient-animation-color": "rgba(255, 255, 255, 0.6)",
810
+ "skeleton-breath-opacity": "0.4",
811
+ "skeleton-gradient-animation-timing-function": "cubic-bezier(0.42, 0, 0.58, 1)",
812
+ "skeleton-gradient-animation-duration": "1.5s",
813
+ "skeleton-breath-animation-duration": "1.5s",
814
+ "skeleton-title-height": "0.32rem",
815
+ "skeleton-paragraph-height": "0.32rem",
816
+ "skeleton-paragraph-margin-top": "0.24rem",
817
+ "skeleton-avatar-size": "0.64rem",
818
+ "skeleton-grid-icon-size": "0.64rem",
819
+ "skeleton-grid-text-width": "1.28rem",
820
+ "skeleton-grid-text-height": "0.32rem",
821
+ "skeleton-medium-gutter": "0.16rem",
822
+ "skeleton-large-gutter": "0.4rem"
807
823
  };
808
824
  var _default = tokens;
809
825
  exports["default"] = _default;
@@ -6629,6 +6629,196 @@
6629
6629
  "en": "Size of the rounded corners of the square SearchBar"
6630
6630
  }
6631
6631
  },
6632
+ "skeletonAvatarSize": {
6633
+ "cssKey": "skeleton-avatar-size",
6634
+ "desc": "骨架屏头像大小",
6635
+ "override": "",
6636
+ "value": "~`pxtorem(32)`",
6637
+ "jsValue": "@getRem@32",
6638
+ "staticValue": "0.64rem",
6639
+ "localeDesc": {
6640
+ "ch": "骨架屏头像大小",
6641
+ "en": "Skeleton avatar size"
6642
+ }
6643
+ },
6644
+ "skeletonBackgroundColor": {
6645
+ "cssKey": "skeleton-background-color",
6646
+ "desc": "骨架屏元素背景色",
6647
+ "override": "",
6648
+ "value": "#F2F3F5",
6649
+ "jsValue": "#F2F3F5",
6650
+ "staticValue": "#F2F3F5",
6651
+ "localeDesc": {
6652
+ "ch": "骨架屏元素背景色",
6653
+ "en": "Skeleton element background color"
6654
+ }
6655
+ },
6656
+ "skeletonBorderRadius": {
6657
+ "cssKey": "skeleton-border-radius",
6658
+ "desc": "骨架屏元素圆角",
6659
+ "override": "",
6660
+ "value": "~`pxtorem(0)`",
6661
+ "jsValue": "@getRem@0",
6662
+ "staticValue": "0",
6663
+ "localeDesc": {
6664
+ "ch": "骨架屏元素圆角",
6665
+ "en": "Skeleton element border radius"
6666
+ }
6667
+ },
6668
+ "skeletonBreathAnimationDuration": {
6669
+ "cssKey": "skeleton-breath-animation-duration",
6670
+ "desc": "骨架屏呼吸动效时间",
6671
+ "override": "",
6672
+ "value": "1.5s",
6673
+ "jsValue": "1.5s",
6674
+ "staticValue": "1.5s",
6675
+ "localeDesc": {
6676
+ "ch": "骨架屏呼吸动效时间",
6677
+ "en": "Skeleton element breath animation duration"
6678
+ }
6679
+ },
6680
+ "skeletonBreathOpacity": {
6681
+ "cssKey": "skeleton-breath-opacity",
6682
+ "desc": "骨架屏呼吸动效透明度",
6683
+ "override": "",
6684
+ "value": "0.4",
6685
+ "jsValue": "0.4",
6686
+ "staticValue": "0.4",
6687
+ "localeDesc": {
6688
+ "ch": "骨架屏呼吸动效透明度",
6689
+ "en": "Skeleton element breath animation opacity"
6690
+ }
6691
+ },
6692
+ "skeletonGradientAnimationColor": {
6693
+ "cssKey": "skeleton-gradient-animation-color",
6694
+ "desc": "骨架屏扫光动效高亮色",
6695
+ "override": "",
6696
+ "value": "rgba(255, 255, 255, 0.6)",
6697
+ "jsValue": "rgba(255, 255, 255, 0.6)",
6698
+ "staticValue": "rgba(255, 255, 255, 0.6)",
6699
+ "localeDesc": {
6700
+ "ch": "骨架屏扫光动效高亮色",
6701
+ "en": "Skeleton element gradient animation highlight color"
6702
+ }
6703
+ },
6704
+ "skeletonGradientAnimationDuration": {
6705
+ "cssKey": "skeleton-gradient-animation-duration",
6706
+ "desc": "骨架屏扫光动效时间",
6707
+ "override": "",
6708
+ "value": "1.5s",
6709
+ "jsValue": "1.5s",
6710
+ "staticValue": "1.5s",
6711
+ "localeDesc": {
6712
+ "ch": "骨架屏扫光动效时间",
6713
+ "en": "Skeleton element gradient animation duration"
6714
+ }
6715
+ },
6716
+ "skeletonGradientAnimationTimingFunction": {
6717
+ "cssKey": "skeleton-gradient-animation-timing-function",
6718
+ "desc": "骨架屏扫光动效曲线",
6719
+ "override": "",
6720
+ "value": "cubic-bezier(0.42, 0, 0.58, 1)",
6721
+ "jsValue": "cubic-bezier(0.42, 0, 0.58, 1)",
6722
+ "staticValue": "cubic-bezier(0.42, 0, 0.58, 1)",
6723
+ "localeDesc": {
6724
+ "ch": "骨架屏扫光动效曲线",
6725
+ "en": "Skeleton element gradient animation timing function"
6726
+ }
6727
+ },
6728
+ "skeletonGridIconSize": {
6729
+ "cssKey": "skeleton-grid-icon-size",
6730
+ "desc": "骨架屏金刚位图标区宽度",
6731
+ "override": "",
6732
+ "value": "~`pxtorem(32)`",
6733
+ "jsValue": "@getRem@32",
6734
+ "staticValue": "0.64rem",
6735
+ "localeDesc": {
6736
+ "ch": "骨架屏金刚位图标区宽度",
6737
+ "en": "Skeleton grid item icon width"
6738
+ }
6739
+ },
6740
+ "skeletonGridTextHeight": {
6741
+ "cssKey": "skeleton-grid-text-height",
6742
+ "desc": "骨架屏金刚位文字区高度",
6743
+ "override": "",
6744
+ "value": "~`pxtorem(16)`",
6745
+ "jsValue": "@getRem@16",
6746
+ "staticValue": "0.32rem",
6747
+ "localeDesc": {
6748
+ "ch": "骨架屏金刚位文字区高度",
6749
+ "en": "Skeleton grid item text height"
6750
+ }
6751
+ },
6752
+ "skeletonGridTextWidth": {
6753
+ "cssKey": "skeleton-grid-text-width",
6754
+ "desc": "骨架屏金刚位文字区宽度",
6755
+ "override": "",
6756
+ "value": "~`pxtorem(64)`",
6757
+ "jsValue": "@getRem@64",
6758
+ "staticValue": "1.28rem",
6759
+ "localeDesc": {
6760
+ "ch": "骨架屏金刚位文字区宽度",
6761
+ "en": "Skeleton grid item text width"
6762
+ }
6763
+ },
6764
+ "skeletonLargeGutter": {
6765
+ "cssKey": "skeleton-large-gutter",
6766
+ "desc": "骨架屏元素外边距,大尺寸",
6767
+ "override": "",
6768
+ "value": "~`pxtorem(20)`",
6769
+ "jsValue": "@getRem@20",
6770
+ "staticValue": "0.4rem",
6771
+ "localeDesc": {
6772
+ "ch": "骨架屏元素外边距,大尺寸"
6773
+ }
6774
+ },
6775
+ "skeletonMediumGutter": {
6776
+ "cssKey": "skeleton-medium-gutter",
6777
+ "desc": "骨架屏元素外边距,中尺寸",
6778
+ "override": "",
6779
+ "value": "~`pxtorem(8)`",
6780
+ "jsValue": "@getRem@8",
6781
+ "staticValue": "0.16rem",
6782
+ "localeDesc": {
6783
+ "ch": "骨架屏元素外边距,中尺寸"
6784
+ }
6785
+ },
6786
+ "skeletonParagraphHeight": {
6787
+ "cssKey": "skeleton-paragraph-height",
6788
+ "desc": "骨架屏段落行高度",
6789
+ "override": "",
6790
+ "value": "~`pxtorem(16)`",
6791
+ "jsValue": "@getRem@16",
6792
+ "staticValue": "0.32rem",
6793
+ "localeDesc": {
6794
+ "ch": "骨架屏段落行高度",
6795
+ "en": "Skeleton paragraph line height"
6796
+ }
6797
+ },
6798
+ "skeletonParagraphMarginTop": {
6799
+ "cssKey": "skeleton-paragraph-margin-top",
6800
+ "desc": "骨架屏各段落行间距",
6801
+ "override": "",
6802
+ "value": "~`pxtorem(12)`",
6803
+ "jsValue": "@getRem@12",
6804
+ "staticValue": "0.24rem",
6805
+ "localeDesc": {
6806
+ "ch": "骨架屏各段落行间距",
6807
+ "en": "Margin top between skeleton paragraph lines"
6808
+ }
6809
+ },
6810
+ "skeletonTitleHeight": {
6811
+ "cssKey": "skeleton-title-height",
6812
+ "desc": "骨架屏标题高度",
6813
+ "override": "",
6814
+ "value": "~`pxtorem(16)`",
6815
+ "jsValue": "@getRem@16",
6816
+ "staticValue": "0.32rem",
6817
+ "localeDesc": {
6818
+ "ch": "骨架屏标题高度",
6819
+ "en": "Skeleton title height"
6820
+ }
6821
+ },
6632
6822
  "sliderHasMarkPaddingBottom": {
6633
6823
  "cssKey": "slider-has-mark-padding-bottom",
6634
6824
  "desc": "slider 有标记时的底部内边距",
@@ -792,4 +792,20 @@
792
792
  @divider-right-width: ~`pxtorem(28)`;
793
793
  @divider-content-padding: ~`pxtorem(12)`;
794
794
  @divider-padding: ~`pxtorem(16)`;
795
+ @skeleton-border-radius: ~`pxtorem(0)`;
796
+ @skeleton-background-color: #F2F3F5;
797
+ @skeleton-gradient-animation-color: rgba(255, 255, 255, 0.6);
798
+ @skeleton-breath-opacity: 0.4;
799
+ @skeleton-gradient-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
800
+ @skeleton-gradient-animation-duration: 1.5s;
801
+ @skeleton-breath-animation-duration: 1.5s;
802
+ @skeleton-title-height: ~`pxtorem(16)`;
803
+ @skeleton-paragraph-height: ~`pxtorem(16)`;
804
+ @skeleton-paragraph-margin-top: ~`pxtorem(12)`;
805
+ @skeleton-avatar-size: ~`pxtorem(32)`;
806
+ @skeleton-grid-icon-size: ~`pxtorem(32)`;
807
+ @skeleton-grid-text-width: ~`pxtorem(64)`;
808
+ @skeleton-grid-text-height: ~`pxtorem(16)`;
809
+ @skeleton-medium-gutter: ~`pxtorem(8)`;
810
+ @skeleton-large-gutter: ~`pxtorem(20)`;
795
811
 
@@ -113,3 +113,7 @@
113
113
  display: none;
114
114
  /* Chrome Safari */
115
115
  }
116
+ .arco-grid .arco-image-picker {
117
+ width: 100%;
118
+ /* 兼容grid和image-picker组合使用 */
119
+ }
@@ -101,3 +101,9 @@
101
101
  .@{prefix}-grid.sliding::-webkit-scrollbar {
102
102
  display: none; /* Chrome Safari */
103
103
  }
104
+
105
+ .@{prefix}-grid {
106
+ .@{prefix}-image-picker {
107
+ width: 100%; /* 兼容grid和image-picker组合使用 */
108
+ }
109
+ }
package/umd/index.d.ts CHANGED
@@ -43,6 +43,7 @@ export { default as PullRefresh } from './pull-refresh';
43
43
  export { default as Radio } from './radio';
44
44
  export { default as Rate } from './rate';
45
45
  export { default as SearchBar } from './search-bar';
46
+ export { default as Skeleton } from './skeleton';
46
47
  export { default as ShowMonitor } from './show-monitor';
47
48
  export { default as Slider } from './slider';
48
49
  export { default as Stepper } from './stepper';
package/umd/index.js CHANGED
@@ -1,22 +1,22 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "./tabs", "./sticky", "./load-more", "./cell", "./action-sheet", "./avatar", "./badge", "./button", "./carousel", "./checkbox", "./circle-progress", "./collapse", "./context-provider", "./count-down", "./date-picker", "./dialog", "./divider", "./dropdown", "./dropdown-menu", "./ellipsis", "./form", "./grid", "./image", "./image-picker", "./image-preview", "./index-bar", "./input", "./keyboard", "./loading", "./masking", "./nav-bar", "./notice-bar", "./notify", "./pagination", "./picker", "./picker-view", "./popover", "./popup", "./popup-swiper", "./portal", "./progress", "./pull-refresh", "./radio", "./rate", "./search-bar", "./show-monitor", "./slider", "./stepper", "./steps", "./swipe-action", "./swipe-load", "./switch", "./tab-bar", "./tag", "./textarea", "./toast", "./transition"], factory);
3
+ define(["exports", "./tabs", "./sticky", "./load-more", "./cell", "./action-sheet", "./avatar", "./badge", "./button", "./carousel", "./checkbox", "./circle-progress", "./collapse", "./context-provider", "./count-down", "./date-picker", "./dialog", "./divider", "./dropdown", "./dropdown-menu", "./ellipsis", "./form", "./grid", "./image", "./image-picker", "./image-preview", "./index-bar", "./input", "./keyboard", "./loading", "./masking", "./nav-bar", "./notice-bar", "./notify", "./pagination", "./picker", "./picker-view", "./popover", "./popup", "./popup-swiper", "./portal", "./progress", "./pull-refresh", "./radio", "./rate", "./search-bar", "./skeleton", "./show-monitor", "./slider", "./stepper", "./steps", "./swipe-action", "./swipe-load", "./switch", "./tab-bar", "./tag", "./textarea", "./toast", "./transition"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("./tabs"), require("./sticky"), require("./load-more"), require("./cell"), require("./action-sheet"), require("./avatar"), require("./badge"), require("./button"), require("./carousel"), require("./checkbox"), require("./circle-progress"), require("./collapse"), require("./context-provider"), require("./count-down"), require("./date-picker"), require("./dialog"), require("./divider"), require("./dropdown"), require("./dropdown-menu"), require("./ellipsis"), require("./form"), require("./grid"), require("./image"), require("./image-picker"), require("./image-preview"), require("./index-bar"), require("./input"), require("./keyboard"), require("./loading"), require("./masking"), require("./nav-bar"), require("./notice-bar"), require("./notify"), require("./pagination"), require("./picker"), require("./picker-view"), require("./popover"), require("./popup"), require("./popup-swiper"), require("./portal"), require("./progress"), require("./pull-refresh"), require("./radio"), require("./rate"), require("./search-bar"), require("./show-monitor"), require("./slider"), require("./stepper"), require("./steps"), require("./swipe-action"), require("./swipe-load"), require("./switch"), require("./tab-bar"), require("./tag"), require("./textarea"), require("./toast"), require("./transition"));
5
+ factory(exports, require("./tabs"), require("./sticky"), require("./load-more"), require("./cell"), require("./action-sheet"), require("./avatar"), require("./badge"), require("./button"), require("./carousel"), require("./checkbox"), require("./circle-progress"), require("./collapse"), require("./context-provider"), require("./count-down"), require("./date-picker"), require("./dialog"), require("./divider"), require("./dropdown"), require("./dropdown-menu"), require("./ellipsis"), require("./form"), require("./grid"), require("./image"), require("./image-picker"), require("./image-preview"), require("./index-bar"), require("./input"), require("./keyboard"), require("./loading"), require("./masking"), require("./nav-bar"), require("./notice-bar"), require("./notify"), require("./pagination"), require("./picker"), require("./picker-view"), require("./popover"), require("./popup"), require("./popup-swiper"), require("./portal"), require("./progress"), require("./pull-refresh"), require("./radio"), require("./rate"), require("./search-bar"), require("./skeleton"), require("./show-monitor"), require("./slider"), require("./stepper"), require("./steps"), require("./swipe-action"), require("./swipe-load"), require("./switch"), require("./tab-bar"), require("./tag"), require("./textarea"), require("./toast"), require("./transition"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global.tabs, global.sticky, global.loadMore, global.cell, global.actionSheet, global.avatar, global.badge, global.button, global.carousel, global.checkbox, global.circleProgress, global.collapse, global.contextProvider, global.countDown, global.datePicker, global.dialog, global.divider, global.dropdown, global.dropdownMenu, global.ellipsis, global.form, global.grid, global.image, global.imagePicker, global.imagePreview, global.indexBar, global.input, global.keyboard, global.loading, global.masking, global.navBar, global.noticeBar, global.notify, global.pagination, global.picker, global.pickerView, global.popover, global.popup, global.popupSwiper, global.portal, global.progress, global.pullRefresh, global.radio, global.rate, global.searchBar, global.showMonitor, global.slider, global.stepper, global.steps, global.swipeAction, global.swipeLoad, global._switch, global.tabBar, global.tag, global.textarea, global.toast, global.transition);
10
+ factory(mod.exports, global.tabs, global.sticky, global.loadMore, global.cell, global.actionSheet, global.avatar, global.badge, global.button, global.carousel, global.checkbox, global.circleProgress, global.collapse, global.contextProvider, global.countDown, global.datePicker, global.dialog, global.divider, global.dropdown, global.dropdownMenu, global.ellipsis, global.form, global.grid, global.image, global.imagePicker, global.imagePreview, global.indexBar, global.input, global.keyboard, global.loading, global.masking, global.navBar, global.noticeBar, global.notify, global.pagination, global.picker, global.pickerView, global.popover, global.popup, global.popupSwiper, global.portal, global.progress, global.pullRefresh, global.radio, global.rate, global.searchBar, global.skeleton, global.showMonitor, global.slider, global.stepper, global.steps, global.swipeAction, global.swipeLoad, global._switch, global.tabBar, global.tag, global.textarea, global.toast, global.transition);
11
11
  global.index = mod.exports;
12
12
  }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _tabs, _sticky, _loadMore, _cell, _actionSheet, _avatar, _badge, _button, _carousel, _checkbox, _circleProgress, _collapse, _contextProvider, _countDown, _datePicker, _dialog, _divider, _dropdown, _dropdownMenu, _ellipsis, _form, _grid, _image, _imagePicker, _imagePreview, _indexBar, _input, _keyboard, _loading, _masking, _navBar, _noticeBar, _notify, _pagination, _picker, _pickerView, _popover, _popup, _popupSwiper, _portal, _progress, _pullRefresh, _radio, _rate, _searchBar, _showMonitor, _slider, _stepper, _steps, _swipeAction, _swipeLoad, _switch, _tabBar, _tag, _textarea, _toast, _transition) {
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _tabs, _sticky, _loadMore, _cell, _actionSheet, _avatar, _badge, _button, _carousel, _checkbox, _circleProgress, _collapse, _contextProvider, _countDown, _datePicker, _dialog, _divider, _dropdown, _dropdownMenu, _ellipsis, _form, _grid, _image, _imagePicker, _imagePreview, _indexBar, _input, _keyboard, _loading, _masking, _navBar, _noticeBar, _notify, _pagination, _picker, _pickerView, _popover, _popup, _popupSwiper, _portal, _progress, _pullRefresh, _radio, _rate, _searchBar, _skeleton, _showMonitor, _slider, _stepper, _steps, _swipeAction, _swipeLoad, _switch, _tabBar, _tag, _textarea, _toast, _transition) {
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
17
 
18
18
  _exports.__esModule = true;
19
- _exports.Transition = _exports.Toast = _exports.Textarea = _exports.Tag = _exports.Tabs = _exports.TabBar = _exports.Switch = _exports.SwipeLoad = _exports.SwipeAction = _exports.Sticky = _exports.Steps = _exports.Stepper = _exports.Slider = _exports.ShowMonitor = _exports.SearchBar = _exports.Rate = _exports.Radio = _exports.PullRefresh = _exports.Progress = _exports.Portal = _exports.PopupSwiper = _exports.Popup = _exports.Popover = _exports.PickerView = _exports.Picker = _exports.Pagination = _exports.Notify = _exports.NoticeBar = _exports.NavBar = _exports.Masking = _exports.Loading = _exports.LoadMore = _exports.Keyboard = _exports.Input = _exports.IndexBar = _exports.ImagePreview = _exports.ImagePicker = _exports.Image = _exports.Grid = _exports.Form = _exports.Ellipsis = _exports.DropdownMenu = _exports.Dropdown = _exports.Divider = _exports.Dialog = _exports.DatePicker = _exports.CountDown = _exports.ContextProvider = _exports.Collapse = _exports.CircleProgress = _exports.Checkbox = _exports.Cell = _exports.Carousel = _exports.Button = _exports.Badge = _exports.Avatar = _exports.ActionSheet = void 0;
19
+ _exports.Transition = _exports.Toast = _exports.Textarea = _exports.Tag = _exports.Tabs = _exports.TabBar = _exports.Switch = _exports.SwipeLoad = _exports.SwipeAction = _exports.Sticky = _exports.Steps = _exports.Stepper = _exports.Slider = _exports.Skeleton = _exports.ShowMonitor = _exports.SearchBar = _exports.Rate = _exports.Radio = _exports.PullRefresh = _exports.Progress = _exports.Portal = _exports.PopupSwiper = _exports.Popup = _exports.Popover = _exports.PickerView = _exports.Picker = _exports.Pagination = _exports.Notify = _exports.NoticeBar = _exports.NavBar = _exports.Masking = _exports.Loading = _exports.LoadMore = _exports.Keyboard = _exports.Input = _exports.IndexBar = _exports.ImagePreview = _exports.ImagePicker = _exports.Image = _exports.Grid = _exports.Form = _exports.Ellipsis = _exports.DropdownMenu = _exports.Dropdown = _exports.Divider = _exports.Dialog = _exports.DatePicker = _exports.CountDown = _exports.ContextProvider = _exports.Collapse = _exports.CircleProgress = _exports.Checkbox = _exports.Cell = _exports.Carousel = _exports.Button = _exports.Badge = _exports.Avatar = _exports.ActionSheet = void 0;
20
20
  _tabs = _interopRequireDefault(_tabs);
21
21
  _exports.Tabs = _tabs.default;
22
22
  _sticky = _interopRequireDefault(_sticky);
@@ -107,6 +107,8 @@
107
107
  _exports.Rate = _rate.default;
108
108
  _searchBar = _interopRequireDefault(_searchBar);
109
109
  _exports.SearchBar = _searchBar.default;
110
+ _skeleton = _interopRequireDefault(_skeleton);
111
+ _exports.Skeleton = _skeleton.default;
110
112
  _showMonitor = _interopRequireDefault(_showMonitor);
111
113
  _exports.ShowMonitor = _showMonitor.default;
112
114
  _slider = _interopRequireDefault(_slider);