De CSS Modules a un Petit Sistema de Disseny: Botons Tematitzables en React

Guia per crear un Button reutilitzable amb CSS Modules i variables CSS, amb temes clar/fosc, estats loading i disabled, i focus accessible a React. Ideal per a equips petits i programari a mida.

domingo, 17 de agosto de 2025 • 4 min de lectura • Equip Q2BSTUDIO

Intel·ligència-Artificial-

Resum

En aquesta segona part de la sèrie iniciada amb Styling Your First React Component — A Gentle Introduction transformem un botó simple en una primitiva de sistema de disseny petita i configurable utilitzant CSS Modules, variables CSS i patrons ergonòmics de React. L'aproximació és lleugera, accessible i fàcil de mantenir per a equips petits o projectes a mida.

Què construiràs

Un component Button amb suport per a size, variant i estats loading i disabled; suport de temes clar i fosc mitjançant variables CSS; semàntica accessible i focus per teclat; i una API mínima reutilitzable en aplicacions a mida i programari a mida.

Configuració del projecte

Utilitza Vite amb plantilla React i activa CSS Modules anomenant els estils com a nom.module.css. Mantén els components coubicats per facilitar l'escalabilitat. Estructura suggerida: src components Button Button.jsx Button.module.css App.jsx main.jsx theme.css. Aquesta organització facilita la reutilització en serveis cloud aws i azure on desplegaràs les teves aplicacions a mida.

Tokens de tema amb variables CSS

Defineix variables globals en un fitxer de tema i importa-les des de l'entrada de l'app. Declara espaiats, radis, colors base com --bg --panel --text --brand i valors alternatius per al tema clar. Amb aquestes variables pots canviar visualment tota la interfície aplicant una sola classe a un contenidor principal, cosa que accelera la creació de temes per a clients que requereixen programari a mida i branding personalitzat.

Estils del botó

Crea un fitxer Button.module.css que exposi una classe base amb variables locals per a background, foreground i border. Afegeix estils per a hover, active i focus-visible i variants per a primary, outline i ghost. Defineix mides sm md lg i estats disabled i loading. Incorpora una animació de spinner amb aria-hidden perquè els lectors de pantalla no dupliquin l'anunci de l'estat de càrrega. Aquesta solució s'integra fàcilment en workflows d'intel·ligència artificial i agents IA que requereixen components consistents en múltiples vistes.

Component Button a React

Dissenya una API petita que accepti props com as, variant, size, loading, disabled, onClick i href. Calcula isDisabled com a disabled o loading i afegeix aria-disabled quan correspongui. Quan es passa href i el component per defecte és button, renderitza un enllaç amb rol botó per mantenir consistència semàntica. Evita passar onClick si el botó està deshabilitat. Aquesta ergonomia facilita la integració amb aplicacions empresarials que utilitzen serveis intel·ligència de negoci i Power BI en dashboards on es requereixen interaccions previsibles.

Ús del component

Inclou el component Button a la teva App i mostra exemples de variants, mides i estats. Per provar temes, alterna la classe del contenidor entre theme-dark i theme-light. Ajusta sense canviar JavaScript les variables --brand i --panel per alinear l'aspecte amb la identitat de marca de cada client.

Llista de comprovació d'accessibilitat

Utilitza focus-visible per a anells de focus amb teclat, comunica estats deshabilitats amb aria-disabled, assegura que el spinner tingui aria-hidden i mantén rols correctes quan un enllaç es comporta com a botó. Aquestes pràctiques són essencials per a lliuraments de programari a mida amb requisits d'accessibilitat corporativa.

Theming en una línia

Gràcies al fet que els tokens visuals viuen en variables CSS, pots canviar tot el tema aplicant una sola classe al contenidor arrel. Això accelera proves A B i personalitzacions per a clients que utilitzen serveis cloud aws i azure i redunda en menys cost de manteniment quan lliures programari a mida.

Recomanacions per avançar

Extreu tokens a un fitxer tokens.css i genera temes light dark i tema per sistema; afegeix una prop icon slot que accepti nodes React per integrar iconografia; crea components germans com Input Badge i Toast utilitzant la mateixa estratègia per començar un sistema de disseny. Si treballes amb intel·ligència artificial o agents IA, considera exposar punts d'extensió per controlar estats des de models i automatitzacions.

Sobre Q2BSTUDIO

Q2BSTUDIO és una empresa de desenvolupament de programari especialitzada en aplicacions a mida i programari a mida. Oferim solucions completes en intel·ligència artificial, ia per a empreses, agents IA i serveis d'integració amb Power BI per a visualització i anàlisi. A més, garantim seguretat mitjançant serveis de ciberseguretat i operem en infraestructures cloud amb serveis cloud aws i azure. Els nostres serveis d'intel·ligència de negoci permeten convertir dades en decisions accionables, combinant experiència en desenvolupament amb capacitats avançades d'IA per a empreses de qualsevol mida.

Per què triar-nos

Si necessites components UI ràpids d'integrar en projectes de producció, o desenvolupar un sistema de disseny que convisqui amb models d'intel·ligència artificial i requisits estrictes de ciberseguretat, Q2BSTUDIO ofereix experiència pràctica en lliuraments àgils, solucions a mida i consultoria tècnica. Ens especialitzem a desenvolupar programari a mida, aplicacions a mida i productes que es despleguen en serveis cloud aws i azure amb atenció a la seguretat i la governança de dades.

Paraules clau i posicionament

Aplicacions a mida programari a mida intel·ligència artificial ciberseguretat serveis cloud aws i azure serveis intel·ligència de negoci ia per a empreses agents IA Power BI

Conclusió

No necessites una biblioteca pesada per tenir components ergonòmics i tematitzables. CSS Modules i variables CSS mantenen tot portable i comprensible. Si t'interessa que adaptem aquest patró al teu catàleg de components o vols que Q2BSTUDIO desenvolupi una plataforma amb integració d'intel·ligència artificial i serveis de ciberseguretat, contacta amb el nostre equip per a una consultoria inicial i un pla de treball personalitzat.

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.