Skip to content

Librería de componentes SunUI

SunUI es la librería de componentes de interfaz de usuario desarrollada internamente por Doggy, implementada con macros de Twig y con más de 25 componentes.

Descripción general

SunUI no depende de frameworks de UI de terceros como Bootstrap; las plantillas de los componentes se encuentran en templates/ui/:

templates/ui/
├── elements.html.twig          # Presentación de elementos
├── table.html.twig             # Componente de tabla
├── buttons/
│   ├── button.html.twig        # Botón
│   ├── button_group.html.twig  # Grupo de botones
│   └── icon_button.html.twig   # Botón con icono
├── drawer/
│   ├── drawer.html.twig        # Panel lateral
│   ├── addField.html.twig
│   └── confirmButton.html.twig
├── form/
│   └── singleField.html.twig   # Formulario de un solo campo
├── template/
│   ├── icons.html.twig         # Plantilla de iconos
│   └── ui.html.twig            # Plantilla de UI
└── example/
    └── button.html.twig        # Ejemplo de botón

Además, hay componentes públicos:

templates/components/
├── breadcrumb.html.twig    # Migas de pan
├── datagrid.html.twig      # Tabla de datos
└── tree.html.twig          # Componente de árbol

Componentes principales

Presentación de datos

ComponentePlantillaDescripción
DataGridcomponents/datagrid.html.twigTabla de datos avanzada
Treecomponents/tree.html.twigEstructura en árbol
Tableui/table.html.twigTabla básica

Formularios

ComponenteDescripción de plantillaTipo
InputEntrada de textoVer plantilla de prueba test/input.html.twig
SelectSelección desplegable (soporta búsqueda y selección múltiple)test/select.html.twig
DatePickerSelector de fechatest/date.html.twig
SwitchInterruptortest/switch.html.twig
CheckboxCasilla de verificacióntest/checkbox.html.twig
UploadSubida de archivostest/file.html.twig
RadioSelección únicatest/radio.html.twig

Retroalimentación

ComponentePlantillaDescripción
Modaltest/modal.html.twigCuadro modal
Drawerui/drawer/drawer.html.twigPanel lateral
Toasttest/alert.html.twigAviso de mensaje
ComponenteDescripción
TabsPestañas (test/tabs.html.twig)
BreadcrumbMigas de pan (components/breadcrumb.html.twig)
MenuMenú (admin/dynamic/menu.html.twig)

Tema de formularios

El renderizado de formularios se basa en un tema Twig personalizado:

templates/form/
├── ef_ui_form_theme.html.twig              # Tema de formularios por defecto
└── ef_ui_form_theme_department.html.twig   # Tema del selector de departamentos

Páginas de prueba

Los ejemplos completos de componentes y las páginas de prueba se encuentran en templates/test/ (más de 45 plantillas de prueba), e incluyen:

  • Todos los tipos de campos de formulario (input, select, date, file, color, password, money, percent, etc.)
  • Componentes de diseño (grid, table, tabs, drawer, modal)
  • Componentes de negocio (ejemplos de employee, department, company)
  • Pruebas funcionales (form_dates_check, choice_fields, etc.)

Código abierto bajo MIT | Copyright © 2026 Doggy