Jeden pasek przewijania, dla każdego przewijacza w aplikacji

Featurekamo-internal
Szycy
5 września 2026 18:45 UTC
Autor
Kamo
Pochęt się
b1bc689

Okno narzędzia terminala miało pasek do przewijania o wartości - 32px, z przyciskiem Dla każdego końca przewijania, a także zwykłe strzałki krokowe, ponieważ w a Długi dokument, który kończy się, nie są jeszcze dwoma pozycjami, są to dwa miejsca. Właściwie to tego chcesz. Reszta aplikacji miała trzydzieści cztery ręcznie napisane kopie mniejszy pomysł: 138 zł::-webkit-scrollbar deklaracje na sześciu różnych szerokościach (4,), 6, 8, 12, 14, 20px), plus trzy globalne klasy na siódmym. Test strażnika Istniały już, ponieważ cztery okna czatu dryfowały do trzech szerokości; mogło Naprawić tylko dwunastą część problemu. Pasek jest teraz komponentem, pomalowany Nad elementem, który przewija, a nie Umieszczona w nim. To jest decyzja, z której wynika wszystko inne. Owijanie Każdy scroller do siedzenia paska obok zawartości byłby zmianą układu we wszystkich 228 z nich – flex dzieci, siatkowate dzieci, „wyboczek: 0” kolumny — i chciałoby Nadal nie dociera do przewiń, których ta aplikacja nie jest właścicielem: ag-Grid's, the DataGrid, Lexical. Malowanie nad nimi jest zmianą układu w żadnym. Cena jest płacona w nakładceGeometry.ts: przycinanie przez przecinanie wycinka Przodkowie, układający się z indeksu z najbliższego przodka plus jeden (który stawia na Pasek strony pod otwartym dialogiem i pasek okna dialogowego, z jednej reguły), oraz Uraz, gdy MUI zaznacza treść za modalną arią-ukrytą. Przyjęcie odbywa się według klasy znaczników, a nie przez zamiatanie dokumentu dla „overflow: auto”. Oba docierają do każdego zwiadowca; tylko jeden jest do przemytliwy, a tylko jeden trzyma pasek Z każdego menu Wybierz i 40px popper w aplikacji. skrypty/kodmod-ka-scroll.mjs zastosował go - parsowanie z własnym parsserem TypeScript i splicing at byte offsets, Tak więc formatowanie i CRLF przetrwają - i pozbawiły deklaracje, które popełniła martwą. Degraduje się, ponieważ teraz zwisa z wyrzutka emoji o mocy 250px, a także ze strony: Przyciski i ścieżki przy 140px lub dłużej, toruj sam poniżej tego, nic w ogóle Gdy element nie jest przepełniony. Poziomy jest tym samym składnikiem z Ikony obracają się ćwierć obrotu, a nie drugi zestaw, który dryfował. Przewijak, który chce NO bar - zawalona szyna nav, mastheads konsol, Filmtrip, linia profilowa na telefonie - teraz mówi tak raz, z "data-kamo-scrollbar""off", zamiast na sześć różnych sposobów, w jaki kiedyś to było - Powiedział. Tylko TerminalTool nadal nazywa pasek przewijania w CSS, aby ukryć własny xterm. TerminalSrollbar jest pozostawiony jako adapter: bufor ksenalny do modelu, w LINES zamiast pikseli i przesuwa się z powrotem jako połączenia ksywne lub koło Raporty Tmux wiążą. Utrzymuje nieokreślony uchwyt dla przewojenia, który Nie można powiedzieć, gdzie jest, i oświetlony przycisk skok-do-end dla wyjścia poniżej Złóż się. Strażnicy: oneScrollbar.test.ts zawodzi, jeśli cokolwiek poza stylem globals.css Pasek przewijania, jeśli szerokość komponentu i token arkusza stylów nie zgadzają się, lub if Lista znaczników warstwy i lista chowach arkusza stylów wypadają z kroku – Element na jednym, a nie drugi dostaje dwa paski lub nie, i oba są czytane jako Usuwanie usterki zamiast brakującej linii. scrollbarView.test.tsx napędza Pasek od klawiatury, która jest punktem, w którym przyciski są przyciskami.

Wszystkie zmiany

Jak to, co widzisz żeglugę?

Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.

Start Free ForeverZobacz ceny