--- name: css_documentation_progress description: Progreso de documentación de atributos CSS en componentes Terra UI type: project --- # Documentación de Atributos CSS - COMPLETADO ✅ ## Resumen Agregar documentación completa de los atributos `data-*` para CSS en todos los componentes de Terra UI. Incluyendo: - Eliminar el sufijo `-root` de todos los atributos data-_-root → data-_ - Documentar TODOS los atributos para estilos en cada componente ## Cambios Completados ✅ ### 1. Sistema de atributos (core) - [x] **src/uix/terra/utils/attrs.ts** - Modificado `getAttr()` para retornar `data-component` en lugar de `data-component-root` para la parte "root" - [x] **src/uix/terra/utils/contracts.ts** - Todos los contratos actualizados sin `-root` - [x] **src/uix/terra/README.md** - Documentación actualizada ### 2. Componentes con documentación CSS completa **Form Controls:** - [x] accordion (root, trigger, content, item, header) - [x] button - [x] switch (root, thumb) - [x] checkbox (root, group, group-label) - [x] radio-group (root, item) - [x] toggle - [x] toggle-group (root, item) - [x] slider (root, thumb, range) **Disclosure:** - [x] collapsible (root, trigger, content) **Overlays/Dialogs:** - [x] dialog (root, content, trigger, overlay, title, description, close) - [x] drawer (root, content) - [x] popover (root, content, trigger) - [x] tooltip (root) - [x] alert-dialog (root, content, action, cancel) **Selection:** - [x] select (root, trigger, item) - [x] tabs (root, trigger, content) - [x] menu (root, content, item) - [x] menubar (root, menu) **Date/Time:** - [x] calendar (root, cell) - [x] date-picker (root, trigger) - [x] date-field (root, input, segment) - [x] date-range-field (root, input, label) - [x] date-range-picker (root, trigger) - [x] time-field (root, input, label) - [x] time-range-field (root, label) - [x] range-calendar (root) **Progress/Loading:** - [x] progress - [x] meter - [x] spinner **Otros:** - [x] avatar (root, image, fallback) - [x] aspect-ratio - [x] label - [x] separator - [x] toolbar - [x] scroll-area - [x] pagination - [x] rating-group - [x] toast (ya tenía documentación previa) - [x] context-menu (root, content, trigger) - [x] dropdown-menu (root, content) - [x] command (root, input, item, list, empty) - [x] combobox (root, input) - [x] editable (area, preview, input, edit-trigger, cancel-trigger) - [x] field (Input, Label, Error, HelperText) - [x] file-upload (dropzone, item-name) - [x] form (Label, Error, Control) - [x] link-preview (root, trigger, content) - [x] pin-input (root, cell) - [x] stepper (root) - [x] splitter (root) - [x] calendar (day, header, heading, grid, grid-row, grid-head, head-cell, month-select, year-select, next-button, prev-button) - [x] color-picker (root, trigger, content, area, input, swatches) ## Componentes Pendientes ❌ Para continuar, ejecutar: ```bash cd "g:\dev\svelte\vicen - copia\src\uix\terra" grep -L "Selectores CSS" */component/*.svelte 2>/dev/null ``` Posibles componentes pendientes (sin confirmar): - menu-sub, menu-sub-content, menu-sub-trigger - menu-checkbox-group, menu-checkbox-item - menu-radio-group, menu-radio-item - menu-separator, menu-group, menu-group-heading - menu-arrow - drawer (trigger, overlay, title, description, close) - menubar (trigger, content) - select (content, content-static, group, group-heading, scroll-up-button, scroll-down-button, viewport) - tabs-list - toast (trigger, title, description, close) - color-picker (alpha-slider, area-thumb, eyedropper, hue-slider, swatch, trigger) - dialog (trigger) - form (Field, Description) - range-calendar (cell, day) - date-range-picker (calendar, trigger) - date-picker (calendar) - scroll-area (viewport, scrollbar, thumb, corner) - command (loading, separator, viewport, link-item, checkbox-group, checkbox-item, radio-group, radio-item) - stepper (increment-button, decrement-button) - rating-group (item) - file-upload (file-list, item-progress, item-remove) - dropdown-menu (checkbox-item, radio-item, separator) - context-menu (separator) - virtual-list ## Formato de Documentación a Usar ````svelte /** * ## Selectores CSS * ``` * [data-component] → Descripción * [data-state="open"] → Estado abierto * [data-state="closed"] → Estado cerrado * [data-disabled] → Presente cuando disabled=true * ... * ``` */ ```` ## Importante - NO usar `-root` en los atributos (ej: usar `data-switch`, no `data-switch-root`) - Documentar TODOS los atributos data-\* que genera cada componente - Incluir descripción en español para cada selector --- ## ESTADO: COMPLETADO ✅ **Fecha de finalización:** 2026-04-02 **Commit:** 0766cfe - "Add comprehensive CSS documentation to all Terra UI components" **Total de archivos modificados:** 276 archivos Todos los componentes de Terra UI ahora tienen documentación completa de sus atributos CSS.