Una barra de desplazamiento, para cada scroller en la aplicación

Featurekamo-internal
Se descapó
5 de septiembre de 2026 a las 18:45 UTC
Autor
Kamo
Compromit
b1bc689

La ventana de la herramienta del terminal tenía una barra de desplazamiento que valía la pena mantener 32px, con un botón para cada FIN del desmangamiento, así como las flechas de paso habituales, porque en un largo documento los dos extremos no son dos posiciones más, son los dos lugares Realmente quieres. El resto de la aplicación tenía treinta y cuatro copias manuscritas de un menor idea: 138: declaraciones:: webkit-scrollbar a seis anchos diferentes (4, 6, 8, 8, 12, 14, 20px), más tres clases globales en una séptima. Una prueba de guardia ya existía porque cuatro ventanas de chat se habían desplazado a tres anchos; podía Sólo arregla una duodécima del problema. La barra es ahora un componente, pintado sobre el elemento que desplaza en lugar de colocado dentro de ella. Esa es la decisión de la que todo lo demás se deriva. Envolver cada scroller para sentar una barra al lado del contenido sería un cambio de diseño en todos 228 de ellos - niños flexibles, niños de cuadrícula, "minHeight: 0" columnas y lo haría y lo haría todavía no llega a los desplazadores esta aplicación no posee: ag-Grid's, el DataGrid's, Lexical's. Pintar sobre ellos es un cambio de diseño en ninguno. El precio se paga en overlayGeometry.ts: recorte cruzando el recorte antepasados, apilándose del z-index más el ancestro más uno (que pone un la barra de página bajo un diálogo abierto y una barra de diálogo sobre ella, desde una regla), y ponerse de pie cuando MUI marca el contenido detrás de un modal aria-escondido. La adopción es por clase marcadora, no barriendo el documento para el desbordamiento: auto. Ambos llegan a cada scroller; sólo uno es debuggable, y sólo uno mantiene la barra de cada menú Seleccionar y popper de 40px en la app. scripts/codemod-kamo-scroll.mjs le aplicó el parsing con el propio analizador de tipoScript y el empalme en las compensaciones byte, Así que el formateo y el CRLF sobreviven y despojaron de las declaraciones que hizo muertos. Se degrada, porque ahora cuelga un popover de 250px emoji, así como una página: botones y pista a 140px o más, pista sola debajo de eso, nada en absoluto cuando el elemento no se desborda. Horizontal es el mismo componente con el Los iconos dieron un paso atrás en lugar de un segundo set que se desviaría. Un scroller que quiere NO bar, el carril de navegación colapsado, las alfabaes de consola, el viaje de películas, el carril de perfil en un teléfono ahora lo dice una vez, con Datos-kamo-scrollbar="off", en lugar de en las seis formas diferentes que solía ser Lo dijo. Sólo TerminalTool todavía nombra una barra de desplazamiento en CSS, para ocultar la propia xterm. TerminalScrollbar se deja como adaptador: un buffer xterm en el modelo, en LINES en lugar de píxeles, y se mueve hacia fuera como llamadas xterm o la rueda informes tmux ata. Mantenga el agarre indeterminado para un desmontaje que no puede decir dónde está, y el botón de salto a extremo iluminado para la salida por debajo de la pliegue. Guardias: unoScrollbar.test.ts falla si algo fuera globals.css estilos a la barra de desplazamiento, si el ancho del componente y el símbolo de la hoja de estilo no están de acuerdo, o si la lista de marcadores de capa y la lista de cuero de la hoja de estilo caen de paso. elemento en uno y no en el otro consigue dos barras o ninguna, y ambos leídos como un renderizado fallido en lugar de una línea que falta. scrollbarView.test.tsx conduce el barra desde el teclado, que es el punto de los botones que son botones.

Todos los cambios

Como lo que ves enviaste?

Cada una de estas actualizaciones aterriza en su espacio de trabajo automáticamente. Empieza gratis y verlo crecer semana tras semana.

Arranzar gratis para siempreVer Precios