Named easings are exported but not documented
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Documentación
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- css, typescript
- Área
- api, documentation
Línea de trabajo
Inspecciona las exportaciones de runtime de @wix/motion, la documentación README/API publicada y las declaraciones de TypeScript; después, comprueba las definiciones de tipos de las reglas preset en busca de campos de easing. Documenta cssEasings y sus claves, expón el tipo named-easing y haz que los tipos de easing de los presets hagan referencia a él; la tarea estará terminada cuando los consumidores puedan encontrar y autocompletar los nombres compatibles.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the bug
@wix/motion exports a cssEasings object (a map of ~30 named easings to their cubic-bezier(…) values), but it is not documented, its keys are not exposed as a TypeScript type, and preset rule types use easing?: string rather than referencing a named-easing union. Consumers can only discover it by guessing the import exists.
// This works at runtime but is undocumented and untyped:
import { cssEasings } from '@wix/motion';
console.log(cssEasings);
// { linear: '...', ease: '...', easeInQuad: '...', easeOutCubic: '...', … }
// No exported type for the key set — have to derive it ourselves:
type CssEasingName = keyof typeof cssEasings;
// Preset easing fields accept these names but are typed as `string`:
const timing: EffectTiming = { easing: 'easeInQuad' }; // no autocomplete, no validation
To Reproduce
- Install
@wix/[email protected] - Search the published README / API docs for "cssEasings" or "named easings" — no results
- Open
node_modules/@wix/motiontype declarations — noCssEasingNameor equivalent union type is exported - Try typing
easing: '...'in a preset config — getstring, no autocomplete for valid easing names - Discover
cssEasingsonly by browsing the package's runtime exports or source
Expected behavior
cssEasingsis documented as a public export with its keys listed- A union type (e.g.
CssEasingName) is exported so consumers can type easing parameters against the known set - Preset rule types for
easingfields reference that union (or at minimum document that named easing strings fromcssEasingsare accepted)
Screenshots
N/A — this is a docs/types gap, not a visual bug.
Desktop
- OS: macOS 15.4
@wix/motion: 2.1.3@wix/motion-presets: 1.0.0- TypeScript: 5.x
Additional context
Any tool that builds an easing picker (dropdown, autocomplete, curve preview) needs the canonical set of named easings. Currently this requires guessing the undocumented export exists, then deriving the key set at runtime. There is no compile-time safety when passing easing names to preset configs. A workaround:
import { cssEasings } from '@wix/motion';
const NAMED_EASINGS = Object.keys(cssEasings).map(name => ({
value: name,
label: name.replace(/([a-z])([A-Z])/g, '$1 $2'),
}));
- Lenguaje dominante
- TypeScript
- Estrellas
- 4
- Forks
- 3
- Merge medio
- 11 h 45 min
- PR fusionados (30 d)
- 55
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de wix/interact
-
[BUG] Missing type exports of motion-presetsQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Test @wix/interact against React 18 and React 19 in CIQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
Los mantenedores suelen responder en 1 día
Todos los issues de wix/interact
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
documentation easy good first issue help wanted
Dificultad 1/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
Billion-context documentation addendum: nudge is independent of window occupancy. | billion-context 文档补充:nudge 与窗口占用无关Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 1/5 1-3 horas Aptitud para principiantes 86/100
ranxianglei/billion-context#5893 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
microsoft/monaco-editor#5575 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100