@douyinfe/semi-foundation 2.9.1 → 2.10.0-beta.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 (40) hide show
  1. package/carousel/carousel.scss +425 -0
  2. package/carousel/constants.ts +32 -0
  3. package/carousel/foundation.ts +166 -0
  4. package/carousel/rtl.scss +47 -0
  5. package/carousel/variables.scss +46 -0
  6. package/lib/cjs/carousel/carousel.css +341 -0
  7. package/lib/cjs/carousel/carousel.scss +425 -0
  8. package/lib/cjs/carousel/constants.d.ts +27 -0
  9. package/lib/cjs/carousel/constants.js +41 -0
  10. package/lib/cjs/carousel/foundation.d.ts +30 -0
  11. package/lib/cjs/carousel/foundation.js +219 -0
  12. package/lib/cjs/carousel/rtl.scss +47 -0
  13. package/lib/cjs/carousel/variables.scss +46 -0
  14. package/lib/cjs/switch/constants.d.ts +1 -0
  15. package/lib/cjs/switch/constants.js +1 -0
  16. package/lib/cjs/switch/foundation.d.ts +3 -0
  17. package/lib/cjs/switch/foundation.js +18 -0
  18. package/lib/cjs/switch/switch.css +3 -0
  19. package/lib/cjs/switch/switch.scss +4 -0
  20. package/lib/cjs/switch/variables.scss +2 -0
  21. package/lib/es/carousel/carousel.css +341 -0
  22. package/lib/es/carousel/carousel.scss +425 -0
  23. package/lib/es/carousel/constants.d.ts +27 -0
  24. package/lib/es/carousel/constants.js +28 -0
  25. package/lib/es/carousel/foundation.d.ts +30 -0
  26. package/lib/es/carousel/foundation.js +200 -0
  27. package/lib/es/carousel/rtl.scss +47 -0
  28. package/lib/es/carousel/variables.scss +46 -0
  29. package/lib/es/switch/constants.d.ts +1 -0
  30. package/lib/es/switch/constants.js +1 -0
  31. package/lib/es/switch/foundation.d.ts +3 -0
  32. package/lib/es/switch/foundation.js +18 -0
  33. package/lib/es/switch/switch.css +3 -0
  34. package/lib/es/switch/switch.scss +4 -0
  35. package/lib/es/switch/variables.scss +2 -0
  36. package/package.json +3 -3
  37. package/switch/constants.ts +1 -0
  38. package/switch/foundation.ts +16 -0
  39. package/switch/switch.scss +4 -0
  40. package/switch/variables.scss +2 -0
@@ -0,0 +1,46 @@
1
+ $color-carousel_indicator_theme_dark-bg-default: rgba(var(--semi-black), .5); // 深色主题指示器背景颜色 - 默认
2
+ $color-carousel_indicator_theme_dark-bg-hover: rgba(var(--semi-black), .7); // 深色主题指示器背景颜色 - 悬浮
3
+ $color-carousel_indicator_theme_dark-bg-active: rgba(var(--semi-black), 1); // 深色主题指示器背景颜色 - 选中
4
+
5
+ $color-carousel_indicator_theme_primary-bg-default: rgba(var(--semi-blue-6), .4); // 主要主题指示器背景颜色 - 默认
6
+ $color-carousel_indicator_theme_primary-bg-hover: rgba(var(--semi-blue-6), .7); // 主要主题指示器背景颜色 - 悬浮
7
+ $color-carousel_indicator_theme_primary-bg-active: rgba(var(--semi-blue-6), 1); // 主要主题指示器背景颜色 - 选中
8
+
9
+ $color-carousel_indicator_theme_light-bg-default: rgba(var(--semi-white), .4); // 浅色主题指示器背景颜色 - 默认
10
+ $color-carousel_indicator_theme_light-bg-hover: rgba(var(--semi-white), .7); // 浅色主题指示器背景颜色 - 悬浮
11
+ $color-carousel_indicator_theme_light-bg-active: rgba(var(--semi-white), 1); // 浅色主题指示器背景颜色 - 选中
12
+
13
+ $color-carousel_arrow_theme_dark-bg-default: rgba(var(--semi-black), .5); // 深色主题箭头背景颜色 - 默认
14
+ $color-carousel_arrow_theme_dark-bg-hover: rgba(var(--semi-black), 1); // 深色主题箭头背景颜色 - 悬浮
15
+
16
+ $color-carousel_arrow_theme_primary-bg-default: rgba(var(--semi-blue-6), .4); // 主要主题箭头背景颜色 - 默认
17
+ $color-carousel_arrow_theme_primary-bg-hover: rgba(var(--semi-blue-6), 1); // 主要主题箭头背景颜色 - 悬浮
18
+
19
+ $color-carousel_arrow_theme_light-bg-default: rgba(var(--semi-white), .4); // 浅色主题箭头背景颜色 - 默认
20
+ $color-carousel_arrow_theme_light-bg-hover: rgba(var(--semi-white), 1); // 浅色主题箭头背景颜色 - 悬浮
21
+
22
+ $width-carousel_indicator_line: 240px; // 条状指示器最大宽度
23
+ $width-carousel_indicator_columnar_small: 4px; // 小尺寸柱状指示器宽度
24
+ $width-carousel_indicator_columnar_medium: 6px; // 中等尺寸柱状指示器宽度
25
+ $width-carousel_indicator_dot_small:8px; // 小尺寸点状指示器宽度
26
+ $width-carousel_indicator_dot_medium: 12px; // 中等尺寸点状指示器宽度
27
+ $width-carousel_arrow: 32px; // 箭头宽度
28
+
29
+ $height-carousel_indicator_columnar_small_default: 12px; // 小尺寸柱状指示器高度 - 默认
30
+ $height-carousel_indicator_columnar_small_active: 20px; // 小尺寸柱状指示器高度 - 选中
31
+ $height-carousel_indicator_columnar_medium_default: 20px; // 中等尺寸柱状指示器高度 - 默认
32
+ $height-carousel_indicator_columnar_medium_active: 28px; // 中等尺寸柱状指示器高度 - 选中
33
+
34
+ $height-carousel_indicator_line_small: 4px; // 小尺寸条状指示器高度
35
+ $height-carousel_indicator_line_medium: 6px; // 中等尺寸条状指示器高度
36
+
37
+ $radius-carousel_indicator_dot: 50%; // 点状指示器圆角
38
+
39
+ $spacing-carousel_indicator-padding: 32px; // 指示器内边距
40
+
41
+ $spacing-carousel_indicator_columnar-marginX: 4px; // 柱状指示器水平外边距
42
+ $spacing-carousel_indicator_line-marginX: 4px; // 条状指示器水平外边距
43
+ $spacing-carousel_indicator_dot-marginX: 8px; // 点状指示器水平外边距
44
+
45
+ $spacing-carousel_arrow-left: 20px; // 左侧箭头绝对定位 - left
46
+ $spacing-carousel_arrow-right: 20px; // 右侧箭头绝对定位 - right
@@ -0,0 +1,341 @@
1
+ /* shadow */
2
+ /* sizing */
3
+ /* spacing */
4
+ .semi-carousel {
5
+ position: relative;
6
+ overflow: hidden;
7
+ }
8
+ .semi-carousel-content {
9
+ width: 100%;
10
+ height: 100%;
11
+ overflow: hidden;
12
+ position: relative;
13
+ }
14
+ .semi-carousel-content-item {
15
+ position: absolute;
16
+ left: 0;
17
+ top: 0;
18
+ width: 100%;
19
+ height: 100%;
20
+ overflow: hidden;
21
+ }
22
+ .semi-carousel-content-item-current {
23
+ z-index: 1;
24
+ }
25
+ .semi-carousel-content-fade > * {
26
+ opacity: 0;
27
+ }
28
+ .semi-carousel-content-fade .semi-carousel-content-item-current {
29
+ opacity: 1;
30
+ }
31
+ .semi-carousel-content-slide > *:not(.semi-carousel-content-item-current) {
32
+ visibility: hidden;
33
+ }
34
+ .semi-carousel-content-slide .semi-carousel-content-item-slide-out {
35
+ display: block;
36
+ animation: semi-carousel-content-item-keyframe-slide-out;
37
+ }
38
+ .semi-carousel-content-slide .semi-carousel-content-item-slide-in {
39
+ display: block;
40
+ animation: semi-carousel-content-item-keyframe-slide-in;
41
+ }
42
+ .semi-carousel-content-reverse .semi-carousel-content-item-slide-out {
43
+ animation: semi-carousel-content-item-keyframe-slide-out-reverse;
44
+ }
45
+ .semi-carousel-content-reverse .semi-carousel-content-item-slide-in {
46
+ animation: semi-carousel-content-item-keyframe-slide-in-reverse;
47
+ }
48
+ .semi-carousel-indicator {
49
+ display: flex;
50
+ align-items: flex-end;
51
+ z-index: 2;
52
+ }
53
+ .semi-carousel-indicator-left {
54
+ position: absolute;
55
+ left: 32px;
56
+ bottom: 32px;
57
+ }
58
+ .semi-carousel-indicator-center {
59
+ position: absolute;
60
+ left: 50%;
61
+ bottom: 32px;
62
+ transform: translate(-50%);
63
+ }
64
+ .semi-carousel-indicator-right {
65
+ position: absolute;
66
+ right: 32px;
67
+ bottom: 32px;
68
+ }
69
+ .semi-carousel-indicator-dot .semi-carousel-indicator-item {
70
+ border-radius: 50%;
71
+ cursor: pointer;
72
+ }
73
+ .semi-carousel-indicator-dot .semi-carousel-indicator-item:not(:last-child) {
74
+ margin-right: 8px;
75
+ }
76
+ .semi-carousel-indicator-dot .semi-carousel-indicator-item-small {
77
+ width: 8px;
78
+ height: 8px;
79
+ }
80
+ .semi-carousel-indicator-dot .semi-carousel-indicator-item-medium {
81
+ width: 12px;
82
+ height: 12px;
83
+ }
84
+ .semi-carousel-indicator-dot .semi-carousel-indicator-item-primary {
85
+ background-color: rgba(var(--semi-blue-6), 0.4);
86
+ }
87
+ .semi-carousel-indicator-dot .semi-carousel-indicator-item-primary.semi-carousel-indicator-item-active {
88
+ background: rgba(var(--semi-blue-6), 1);
89
+ }
90
+ .semi-carousel-indicator-dot .semi-carousel-indicator-item-primary:hover {
91
+ background-color: rgba(var(--semi-blue-6), 0.7);
92
+ }
93
+ .semi-carousel-indicator-dot .semi-carousel-indicator-item-primary:active {
94
+ background: rgba(var(--semi-blue-6), 1);
95
+ }
96
+ .semi-carousel-indicator-dot .semi-carousel-indicator-item-light {
97
+ background-color: rgba(var(--semi-white), 0.4);
98
+ }
99
+ .semi-carousel-indicator-dot .semi-carousel-indicator-item-light.semi-carousel-indicator-item-active {
100
+ background: rgba(var(--semi-white), 1);
101
+ }
102
+ .semi-carousel-indicator-dot .semi-carousel-indicator-item-light:hover {
103
+ background-color: rgba(var(--semi-white), 0.7);
104
+ }
105
+ .semi-carousel-indicator-dot .semi-carousel-indicator-item-light:active {
106
+ background: rgba(var(--semi-white), 1);
107
+ }
108
+ .semi-carousel-indicator-dot .semi-carousel-indicator-item-dark {
109
+ background-color: rgba(var(--semi-black), 0.5);
110
+ }
111
+ .semi-carousel-indicator-dot .semi-carousel-indicator-item-dark.semi-carousel-indicator-item-active {
112
+ background-color: rgba(var(--semi-black), 1);
113
+ }
114
+ .semi-carousel-indicator-dot .semi-carousel-indicator-item-dark:hover {
115
+ background-color: rgba(var(--semi-black), 0.7);
116
+ }
117
+ .semi-carousel-indicator-dot .semi-carousel-indicator-item-dark:active {
118
+ background: rgba(var(--semi-black), 1);
119
+ }
120
+ .semi-carousel-indicator-line {
121
+ width: 240px;
122
+ }
123
+ .semi-carousel-indicator-line .semi-carousel-indicator-item {
124
+ flex: 1;
125
+ cursor: pointer;
126
+ }
127
+ .semi-carousel-indicator-line .semi-carousel-indicator-item:not(:last-child) {
128
+ margin-right: 4px;
129
+ }
130
+ .semi-carousel-indicator-line .semi-carousel-indicator-item-small {
131
+ height: 4px;
132
+ }
133
+ .semi-carousel-indicator-line .semi-carousel-indicator-item-medium {
134
+ height: 6px;
135
+ }
136
+ .semi-carousel-indicator-line .semi-carousel-indicator-item-primary {
137
+ background-color: rgba(var(--semi-blue-6), 0.4);
138
+ }
139
+ .semi-carousel-indicator-line .semi-carousel-indicator-item-primary.semi-carousel-indicator-item-active {
140
+ background: rgba(var(--semi-blue-6), 1);
141
+ }
142
+ .semi-carousel-indicator-line .semi-carousel-indicator-item-primary:hover {
143
+ background-color: rgba(var(--semi-blue-6), 0.7);
144
+ }
145
+ .semi-carousel-indicator-line .semi-carousel-indicator-item-primary:active {
146
+ background: rgba(var(--semi-blue-6), 1);
147
+ }
148
+ .semi-carousel-indicator-line .semi-carousel-indicator-item-light {
149
+ background-color: rgba(var(--semi-white), 0.4);
150
+ }
151
+ .semi-carousel-indicator-line .semi-carousel-indicator-item-light.semi-carousel-indicator-item-active {
152
+ background: rgba(var(--semi-white), 1);
153
+ }
154
+ .semi-carousel-indicator-line .semi-carousel-indicator-item-light:hover {
155
+ background-color: rgba(var(--semi-white), 0.7);
156
+ }
157
+ .semi-carousel-indicator-line .semi-carousel-indicator-item-light:active {
158
+ background: rgba(var(--semi-white), 1);
159
+ }
160
+ .semi-carousel-indicator-line .semi-carousel-indicator-item-dark {
161
+ background-color: rgba(var(--semi-black), 0.5);
162
+ }
163
+ .semi-carousel-indicator-line .semi-carousel-indicator-item-dark.semi-carousel-indicator-item-active {
164
+ background: rgba(var(--semi-black), 1);
165
+ }
166
+ .semi-carousel-indicator-line .semi-carousel-indicator-item-dark:hover {
167
+ background-color: rgba(var(--semi-black), 0.7);
168
+ }
169
+ .semi-carousel-indicator-line .semi-carousel-indicator-item-dark:active {
170
+ background: rgba(var(--semi-black), 1);
171
+ }
172
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item {
173
+ cursor: pointer;
174
+ }
175
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item:not(:last-child) {
176
+ margin-right: 4px;
177
+ }
178
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item-small {
179
+ width: 4px;
180
+ height: 12px;
181
+ }
182
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item-small.semi-carousel-indicator-item-active {
183
+ height: 20px;
184
+ }
185
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item-medium {
186
+ width: 6px;
187
+ height: 20px;
188
+ }
189
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item-medium.semi-carousel-indicator-item-active {
190
+ height: 28px;
191
+ }
192
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item-primary {
193
+ background-color: rgba(var(--semi-blue-6), 0.4);
194
+ }
195
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item-primary.semi-carousel-indicator-item-active {
196
+ background: rgba(var(--semi-blue-6), 1);
197
+ }
198
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item-primary:hover {
199
+ background-color: rgba(var(--semi-blue-6), 0.7);
200
+ }
201
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item-primary:active {
202
+ background: rgba(var(--semi-blue-6), 1);
203
+ }
204
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item-light {
205
+ background-color: rgba(var(--semi-white), 0.4);
206
+ }
207
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item-light.semi-carousel-indicator-item-active {
208
+ background: rgba(var(--semi-white), 1);
209
+ }
210
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item-light:hover {
211
+ background-color: rgba(var(--semi-white), 0.7);
212
+ }
213
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item-light:active {
214
+ background: rgba(var(--semi-white), 1);
215
+ }
216
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item-dark {
217
+ background-color: rgba(var(--semi-black), 0.5);
218
+ }
219
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item-dark.semi-carousel-indicator-item-active {
220
+ background: rgba(var(--semi-black), 1);
221
+ }
222
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item-dark:hover {
223
+ background-color: rgba(var(--semi-black), 0.7);
224
+ }
225
+ .semi-carousel-indicator-columnar .semi-carousel-indicator-item-dark:active {
226
+ background: rgba(var(--semi-black), 1);
227
+ }
228
+ .semi-carousel-arrow {
229
+ display: flex;
230
+ font-size: 32px;
231
+ cursor: pointer;
232
+ }
233
+ .semi-carousel-arrow-prev {
234
+ position: absolute;
235
+ top: 50%;
236
+ left: 20px;
237
+ transform: translateY(-50%);
238
+ z-index: 2;
239
+ }
240
+ .semi-carousel-arrow-next {
241
+ position: absolute;
242
+ top: 50%;
243
+ right: 20px;
244
+ transform: translateY(-50%);
245
+ z-index: 2;
246
+ }
247
+ .semi-carousel-arrow-light {
248
+ color: rgba(var(--semi-white), 0.4);
249
+ }
250
+ .semi-carousel-arrow-light:hover {
251
+ color: rgba(var(--semi-white), 1);
252
+ }
253
+ .semi-carousel-arrow-primary {
254
+ color: rgba(var(--semi-blue-6), 0.4);
255
+ }
256
+ .semi-carousel-arrow-primary:hover {
257
+ color: rgba(var(--semi-blue-6), 1);
258
+ }
259
+ .semi-carousel-arrow-dark {
260
+ color: rgba(var(--semi-black), 0.5);
261
+ }
262
+ .semi-carousel-arrow-dark:hover {
263
+ color: rgba(var(--semi-black), 1);
264
+ }
265
+ .semi-carousel-arrow-hover div {
266
+ z-index: 2;
267
+ opacity: 0;
268
+ transition: all 0.3s;
269
+ }
270
+ .semi-carousel:hover .semi-carousel-arrow-hover div {
271
+ opacity: 1;
272
+ }
273
+
274
+ @keyframes semi-carousel-content-item-keyframe-slide-in {
275
+ from {
276
+ transform: translateX(-100%);
277
+ }
278
+ to {
279
+ transform: translateX(0);
280
+ }
281
+ }
282
+ @keyframes semi-carousel-content-item-keyframe-slide-out {
283
+ from {
284
+ transform: translateX(0);
285
+ }
286
+ to {
287
+ transform: translateX(100%);
288
+ }
289
+ }
290
+ @keyframes semi-carousel-content-item-keyframe-slide-in-reverse {
291
+ from {
292
+ transform: translateX(100%);
293
+ }
294
+ to {
295
+ transform: translateX(0);
296
+ }
297
+ }
298
+ @keyframes semi-carousel-content-item-keyframe-slide-out-reverse {
299
+ from {
300
+ transform: translateX(0);
301
+ }
302
+ to {
303
+ transform: translateX(-100%);
304
+ }
305
+ }
306
+ .semi-rtl .semi-carousel,
307
+ .semi-portal-rtl .semi-carousel {
308
+ direction: rtl;
309
+ }
310
+ .semi-rtl .semi-carousel-indicator,
311
+ .semi-portal-rtl .semi-carousel-indicator {
312
+ display: flex;
313
+ }
314
+ .semi-rtl .semi-carousel-indicator-dot .semi-carousel-indicator-item:not(:last-child),
315
+ .semi-portal-rtl .semi-carousel-indicator-dot .semi-carousel-indicator-item:not(:last-child) {
316
+ margin-right: 0;
317
+ margin-left: 8px;
318
+ }
319
+ .semi-rtl .semi-carousel-indicator-columnar .semi-carousel-indicator-item:not(:last-child),
320
+ .semi-portal-rtl .semi-carousel-indicator-columnar .semi-carousel-indicator-item:not(:last-child) {
321
+ margin-right: 0;
322
+ margin-left: 4px;
323
+ }
324
+ .semi-rtl .semi-carousel-arrow,
325
+ .semi-portal-rtl .semi-carousel-arrow {
326
+ flex-direction: row-reverse;
327
+ }
328
+ .semi-rtl .semi-carousel-arrow-prev,
329
+ .semi-portal-rtl .semi-carousel-arrow-prev {
330
+ left: auto;
331
+ right: 20px;
332
+ transform: scaleX(-1) translateY(-50%);
333
+ z-index: 2;
334
+ }
335
+ .semi-rtl .semi-carousel-arrow-next,
336
+ .semi-portal-rtl .semi-carousel-arrow-next {
337
+ left: 20px;
338
+ transform: scaleX(-1) translateY(-50%);
339
+ right: auto;
340
+ z-index: 2;
341
+ }