@bigplay/tree-view-core 0.5.0 → 0.6.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.
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +243 -215
- package/dist/index.js.map +1 -1
- package/dist/rounds.d.ts +17 -0
- package/dist/scroll.d.ts +10 -0
- package/package.json +1 -1
- package/styles.css +51 -11
package/styles.css
CHANGED
|
@@ -303,14 +303,50 @@
|
|
|
303
303
|
min-width: 100%;
|
|
304
304
|
}
|
|
305
305
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
306
|
+
/* Слой с подписями раундов.
|
|
307
|
+
|
|
308
|
+
Лежит вне прокручиваемого блока и прилипает к верху экрана: раньше полоса
|
|
309
|
+
была внутри блока с `overflow-x`, а такой элемент — скролл-контейнер по обеим
|
|
310
|
+
осям, поэтому прилипать ей было не к чему и при вертикальном скролле она
|
|
311
|
+
уезжала вместе с сеткой. Сдвиг по горизонтали ей задаёт скрипт — тянет за
|
|
312
|
+
прокруткой сетки, поэтому своей полосы прокрутки у слоя нет. */
|
|
313
|
+
.tv-rounds__head {
|
|
314
|
+
position: sticky;
|
|
315
|
+
top: 0;
|
|
316
|
+
z-index: 2;
|
|
317
|
+
overflow: hidden;
|
|
309
318
|
margin-bottom: var(--tv-rounds-gap);
|
|
310
319
|
background: var(--tv-rounds-bg);
|
|
311
320
|
border-bottom: var(--tv-rounds-border);
|
|
312
321
|
}
|
|
313
322
|
|
|
323
|
+
.tv-rounds__bar {
|
|
324
|
+
display: flex;
|
|
325
|
+
min-width: 100%;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
/* Блок, который листают пальцем. На широком экране прокрутку даёт обёртка
|
|
329
|
+
вокруг компонента — здесь её нет, иначе сетку нельзя было бы перетаскивать. */
|
|
330
|
+
.tv-rounds__scroll {
|
|
331
|
+
position: relative;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/* Якоря прилипания: подписи раундов уехали в отдельный слой, а снапиться
|
|
335
|
+
свайпу надо по чему-то внутри прокручиваемого блока. Нулевой высоты,
|
|
336
|
+
поэтому на раскладку не влияют. */
|
|
337
|
+
.tv-rounds__snap {
|
|
338
|
+
display: flex;
|
|
339
|
+
/* Высота в пиксель, а не ноль: нулевую коробку часть браузеров не считает
|
|
340
|
+
областью прилипания. Отрицательный отступ возвращает её из раскладки. */
|
|
341
|
+
height: 1px;
|
|
342
|
+
margin-bottom: -1px;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
.tv-rounds__snap-item {
|
|
346
|
+
flex: none;
|
|
347
|
+
display: block;
|
|
348
|
+
}
|
|
349
|
+
|
|
314
350
|
.tv-rounds__item {
|
|
315
351
|
flex: none;
|
|
316
352
|
box-sizing: border-box;
|
|
@@ -349,18 +385,21 @@
|
|
|
349
385
|
.tv-rounds--swipe {
|
|
350
386
|
width: 100%;
|
|
351
387
|
min-width: 0;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
.tv-rounds--swipe .tv-rounds__scroll {
|
|
352
391
|
overflow-x: auto;
|
|
353
|
-
/* Свайп внутри
|
|
392
|
+
/* Свайп внутри сетки не должен утягивать за собой страницу. */
|
|
354
393
|
overscroll-behavior-x: contain;
|
|
355
394
|
scroll-snap-type: x mandatory;
|
|
356
395
|
scrollbar-width: none;
|
|
357
396
|
}
|
|
358
397
|
|
|
359
|
-
.tv-rounds--swipe::-webkit-scrollbar {
|
|
398
|
+
.tv-rounds--swipe .tv-rounds__scroll::-webkit-scrollbar {
|
|
360
399
|
display: none;
|
|
361
400
|
}
|
|
362
401
|
|
|
363
|
-
.tv-rounds--swipe .tv-
|
|
402
|
+
.tv-rounds--swipe .tv-rounds__snap-item {
|
|
364
403
|
scroll-snap-align: start;
|
|
365
404
|
/* Резкий свайп не должен перепрыгивать через раунд: останавливаемся на каждом. */
|
|
366
405
|
scroll-snap-stop: always;
|
|
@@ -374,12 +413,13 @@
|
|
|
374
413
|
и растворяется. При возврате назад разворачивается обратно.
|
|
375
414
|
|
|
376
415
|
Видимость снимается только после того, как карточка ужалась, — поэтому
|
|
377
|
-
у неё отдельная задержка.
|
|
378
|
-
|
|
416
|
+
у неё отдельная задержка. */
|
|
417
|
+
/* Возврат назад — сразу, без проявления. Раньше тут был такой же переход,
|
|
418
|
+
как на уходе, и раунд, в который ты свайпнул обратно, ещё 220 мс всплывал
|
|
419
|
+
из нуля: уход ощущался мгновенным, а возврат заметно медленнее. Уходу
|
|
420
|
+
анимация нужна (матч складывается у тебя на глазах), возврату — нет. */
|
|
379
421
|
.tv-rounds--swipe [data-depth] {
|
|
380
|
-
transition:
|
|
381
|
-
opacity var(--tv-rounds-fade, 220ms) ease,
|
|
382
|
-
transform var(--tv-rounds-fade, 220ms) var(--tv-rounds-collapse-ease);
|
|
422
|
+
transition: none;
|
|
383
423
|
}
|
|
384
424
|
|
|
385
425
|
.tv-rounds--swipe [data-depth].tv-hidden {
|