Si tienes Webpack, también es posible usarlo. Algunas de las ideas que estamos explorando en las versiones posteriores de V1 serían una compilación sin tiempo de ejecución. Y lo que esto permitiría es que recorramos todo el contexto de tu plantilla porque nos dimos cuenta de que la mayoría de nuestros usuarios usan Chakra UI para definir propiedades estáticas, propiedades de estilo estáticas en los componentes. Y así, lo que también podemos hacer es recorrer toda tu plantilla y luego extraer esas propiedades de estilo en CSS que luego inyectaremos en tus estilos de componentes de archivo único.
También estamos planeando, en el futuro, también estamos planeando usar máquinas de estado para componentes con mucha lógica. Por ejemplo, el acordeón tiene mucha lógica que tenemos que calcular y muchos estados que tenemos que gestionar. Y la mejor manera de lidiar con esto que descubrimos como equipo fue usar máquinas de estado. Y esto nos permite que la máquina de estado solo devuelva el estado actual que luego desestructuramos en los componentes que se representan en la página. Esto lo hace mucho más conveniente de usar y es ciertamente una buena manera para nosotros de compartir lógica. Y así, en el futuro, si alguien decide construir Chakra UI para Svelte, no tiene que reescribir toda esta lógica y usar efectos secundarios para cosas que probablemente ya existan dentro de una máquina de estado, solo necesitan acceder a ese estado y luego proporcionarlo a sus componentes, lo cual es realmente conveniente.
Entonces, ¿qué viene dentro de la API de temas de V1? Como mencioné antes, vamos a proporcionar anulaciones de componentes, que veremos hoy. También proporcionamos una API de variantes personalizadas. También proporcionamos la capacidad de crear tamaños personalizados para tus componentes. También proporcionamos la API de función de fábrica y componentes personalizados. Así que para la charla de hoy, quiero centrarme en tres atributos que cubrirá la API de temas dentro de V1. El primero, entre tantos, por cierto, ya que vamos a tener tiempo, solo podemos hablar de tres. El primero será las anulaciones de componentes. Entonces, dentro del objeto de tema, para aquellos de nosotros que estamos bastante familiarizados con la V1, de V0.x de Chakra UI, dentro de las opciones del complemento, hay un valor llamado extender tema. Y en el tema extendido, para V1 hemos agregado una clave llamada componentes. Entonces, esta clave de componente te permite anular los estilos base para el componente que elijas anular dentro del tema extendido. Entonces, cuando defines los estilos base, esos estilos se aplican a todos los botones. Así que no necesitas crear un botón personalizado para hacer eso. Lo segundo que hemos permitido hacer es definir variantes personalizadas. Ahora, dentro de Chakra UI, puedes crear una variante personalizada para ese componente que esperas consumir la variante. Y finalmente, puedes definir tamaños personalizados, lo cual es realmente conveniente para crear un botón extra grande. Si necesitas un botón que tenga 100 metros de ancho, ahora puedes hacerlo con Chakra UI View, aunque no te aconsejaría crear un botón de 100 metros de ancho, no cabría en la pantalla. Pero ciertamente es posible.
Veamos todo esto en acción, cómo vamos a implementar esto, esto, cómo vamos a ver estas cosas en acción. Para empezar, fui en línea y traté de recopilar una interfaz de usuario con algunos componentes personalizados que no están implementados dentro de Chakra UI. Así que mirando muy rápidamente esta interfaz de usuario, puedo ver que hay un botón aquí y este botón parece tener un tema diferente en comparación con los estilos predeterminados que se proporcionan dentro de Chakra UI.
Comments