holygrail5 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -578,4 +578,471 @@ Para desplegar en GitHub Pages, puedes:
578
578
 
579
579
  ---
580
580
 
581
+ ## 🚀 ¿Por qué HolyGrail5? Evolución desde HolyGrail CSS (SASS)
582
+
583
+ ### El Problema con SASS
584
+
585
+ HolyGrail CSS original se basaba en **SASS/SCSS**, lo que presentaba varios desafíos:
586
+
587
+ #### Limitaciones de SASS
588
+
589
+ 1. **Dependencia de compilación**: Requiere herramientas de build (Gulp, Webpack, etc.) y procesos de compilación
590
+ 2. **Curva de aprendizaje**: Necesitas conocer SASS/SCSS para personalizar
591
+ 3. **Configuración compleja**: Variables SASS dispersas en múltiples archivos
592
+ 4. **Sin documentación automática**: No genera guías visuales de las clases disponibles
593
+ 5. **Mantenimiento manual**: Cambios en variables requieren editar código SASS directamente
594
+ 6. **Sin historial**: No hay gestión automática de variables no usadas
595
+ 7. **Menos portable**: Depende del ecosistema SASS y sus herramientas
596
+
597
+ ### La Solución: HolyGrail5
598
+
599
+ HolyGrail5 nace de la necesidad de **simplificar, modernizar y potenciar** el framework original.
600
+
601
+ #### Ventajas Clave de HolyGrail5
602
+
603
+ ##### 1. **Configuración Declarativa con JSON**
604
+
605
+ **Antes (SASS):**
606
+ ```scss
607
+ // Variables dispersas en múltiples archivos
608
+ $font-size-mobile: 18px;
609
+ $font-size-desktop: 24px;
610
+ $spacing-16: 16px;
611
+ // ... más variables en diferentes archivos
612
+ ```
613
+
614
+ **Ahora (JSON):**
615
+ ```json
616
+ {
617
+ "classes": {
618
+ "h2": {
619
+ "mobile": { "fontSize": "18px" },
620
+ "desktop": { "fontSize": "24px" }
621
+ }
622
+ },
623
+ "spacingMap": { "16": "16px" }
624
+ }
625
+ ```
626
+
627
+ ✅ **Ventaja**: Todo en un solo archivo, fácil de entender y modificar
628
+
629
+ ##### 2. **Sin Dependencias de Build Complejas**
630
+
631
+ **Antes (SASS):**
632
+ - Requiere Gulp/Webpack/Grunt
633
+ - Configuración de compilación
634
+ - Dependencias de Node.js específicas
635
+ - Procesos de build complejos
636
+
637
+ **Ahora (HolyGrail5):**
638
+ ```bash
639
+ npm run generate
640
+ # ¡Listo! CSS generado
641
+ ```
642
+
643
+ ✅ **Ventaja**: Un solo comando, sin configuración de build
644
+
645
+ ##### 3. **Guía Interactiva Automática**
646
+
647
+ **Antes (SASS):**
648
+ - Documentación manual
649
+ - Sin preview visual
650
+ - Difícil saber qué clases están disponibles
651
+
652
+ **Ahora (HolyGrail5):**
653
+ - Guía HTML generada automáticamente
654
+ - Preview visual de todas las clases
655
+ - Búsqueda en tiempo real
656
+ - Detección de cambios
657
+
658
+ ✅ **Ventaja**: Documentación siempre actualizada y visual
659
+
660
+ ##### 4. **Gestión Inteligente de Variables**
661
+
662
+ **Antes (SASS):**
663
+ - Variables se eliminan si no se usan
664
+ - Puede romper CSS personalizado
665
+ - Sin historial
666
+
667
+ **Ahora (HolyGrail5):**
668
+ - Historial persistente de variables
669
+ - Nunca se eliminan automáticamente
670
+ - Comandos para gestionar variables no usadas
671
+ - Protege tu CSS personalizado
672
+
673
+ ✅ **Ventaja**: Seguridad y control total sobre las variables
674
+
675
+ ##### 5. **Variables CSS Nativas (No SASS)**
676
+
677
+ **Antes (SASS):**
678
+ ```scss
679
+ // Variables SASS (solo en compilación)
680
+ $primary-color: #000000;
681
+ .my-class {
682
+ color: $primary-color; // Compilado a CSS estático
683
+ }
684
+ ```
685
+
686
+ **Ahora (HolyGrail5):**
687
+ ```css
688
+ /* Variables CSS nativas (runtime) */
689
+ :root {
690
+ --hg-color-primary: #000000;
691
+ }
692
+ .my-class {
693
+ color: var(--hg-color-primary); // Cambiable en runtime
694
+ }
695
+ ```
696
+
697
+ ✅ **Ventaja**: Variables CSS nativas, modificables en runtime, mejor rendimiento
698
+
699
+ ##### 6. **Optimización Automática**
700
+
701
+ **Antes (SASS):**
702
+ - Duplicación de valores en múltiples lugares
703
+ - CSS más pesado
704
+ - Sin deduplicación automática
705
+
706
+ **Ahora (HolyGrail5):**
707
+ - Variables compartidas automáticamente
708
+ - Un valor único → una variable CSS
709
+ - CSS más pequeño y eficiente
710
+
711
+ ✅ **Ventaja**: CSS optimizado automáticamente, menos código
712
+
713
+ ##### 7. **Modo Watch Integrado**
714
+
715
+ **Antes (SASS):**
716
+ - Requiere configurar watch en Gulp/Webpack
717
+ - Configuración adicional necesaria
718
+
719
+ **Ahora (HolyGrail5):**
720
+ ```bash
721
+ npm run watch
722
+ # Regenera automáticamente al cambiar config.json
723
+ ```
724
+
725
+ ✅ **Ventaja**: Watch listo para usar, sin configuración
726
+
727
+ ##### 8. **Portabilidad y Simplicidad**
728
+
729
+ **Antes (SASS):**
730
+ - Múltiples archivos SASS
731
+ - Estructura compleja
732
+ - Dependencias de herramientas de build
733
+
734
+ **Ahora (HolyGrail5):**
735
+ - Un solo archivo JSON de configuración
736
+ - Estructura simple y clara
737
+ - Solo Node.js (sin SASS, Gulp, etc.)
738
+
739
+ ✅ **Ventaja**: Más fácil de entender, mantener y compartir
740
+
741
+ ##### 9. **Mejor para Equipos**
742
+
743
+ **Antes (SASS):**
744
+ - Solo desarrolladores que conocen SASS pueden modificar
745
+ - Cambios requieren conocimiento técnico
746
+
747
+ **Ahora (HolyGrail5):**
748
+ - Cualquiera puede editar JSON
749
+ - Cambios visibles inmediatamente
750
+ - Menos barrera de entrada
751
+
752
+ ✅ **Ventaja**: Colaboración más fácil, menos dependencia de desarrolladores
753
+
754
+ ##### 10. **Ecosistema Moderno**
755
+
756
+ **Antes (SASS):**
757
+ - Tecnología más antigua
758
+ - Menos integración con herramientas modernas
759
+ - Ecosistema SASS en declive
760
+
761
+ **Ahora (HolyGrail5):**
762
+ - Tecnología moderna (Node.js, JSON, CSS Variables)
763
+ - Mejor integración con herramientas actuales
764
+ - Alineado con estándares web modernos
765
+
766
+ ✅ **Ventaja**: Framework preparado para el futuro
767
+
768
+ ##### 11. **Separación de Componentes y Flexibilidad**
769
+
770
+ **Antes (HolyGrail CSS con Angular):**
771
+ - Framework acoplado a Angular
772
+ - Componentes incluidos (botones, cards, etc.) que aumentaban el peso
773
+ - CSS pesado con estilos de componentes que no siempre se usaban
774
+ - Difícil integrar otras librerías de componentes
775
+ - Dependencia de Angular y sus componentes
776
+
777
+ **Ahora (HolyGrail5):**
778
+ - **Solo CSS puro**: Sin dependencias de frameworks
779
+ - **Sin componentes incluidos**: Solo clases de utilidad y layout
780
+ - **CSS ligero**: Solo lo esencial (tipografía, spacing, layout, grid)
781
+ - **Integración flexible**: Puedes usar cualquier librería de componentes
782
+ - **Compatible con MDS de Inditex**: Diseñado para trabajar junto con sistemas de componentes externos
783
+
784
+ ✅ **Ventaja**: Framework ligero, flexible y compatible con cualquier librería de componentes
785
+
786
+ ##### 12. **Maquetación con IA**
787
+
788
+ **Antes (SASS + Angular):**
789
+ - Estructura compleja difícil de entender para IA
790
+ - Código SASS disperso
791
+ - Componentes acoplados
792
+ - Difícil generar código automáticamente
793
+
794
+ **Ahora (HolyGrail5):**
795
+ - **Configuración JSON clara**: Fácil de entender y generar por IA
796
+ - **Clases semánticas**: Nomenclatura clara y predecible
797
+ - **Superprompt disponible**: Guía completa para que IA genere código correcto
798
+ - **Estructura simple**: Patrones claros y repetibles
799
+
800
+ ✅ **Ventaja**: Perfecto para maquetación asistida por IA, generación automática de código
801
+
802
+ ### Separación de Responsabilidades
803
+
804
+ HolyGrail5 adopta una **filosofía de separación de responsabilidades**:
805
+
806
+ #### Lo que INCLUYE HolyGrail5:
807
+ - ✅ Sistema de tipografía
808
+ - ✅ Helpers de spacing (padding, margin)
809
+ - ✅ Helpers de layout (flexbox, grid)
810
+ - ✅ Sistema de grid responsive
811
+ - ✅ Variables CSS para colores
812
+ - ✅ Reset CSS mínimo
813
+
814
+ #### Lo que NO incluye (y por qué es mejor):
815
+ - ❌ Componentes UI (botones, cards, modales, etc.)
816
+ - ❌ Estilos de formularios
817
+ - ❌ Estilos de navegación
818
+ - ❌ Estilos específicos de Angular/React/Vue
819
+
820
+ **Razón**: Esto permite:
821
+ 1. **Usar MDS de Inditex** u otras librerías de componentes sin conflictos
822
+ 2. **CSS más ligero**: Solo lo esencial
823
+ 3. **Flexibilidad total**: Eliges tus propios componentes
824
+ 4. **Mejor mantenimiento**: Cada cosa en su lugar
825
+
826
+ ### Integración con MDS de Inditex
827
+
828
+ HolyGrail5 está diseñado para trabajar **perfectamente** junto con MDS (Massimo Dutti System) de Inditex:
829
+
830
+ ```html
831
+ <!-- Usa HolyGrail5 para layout y spacing -->
832
+ <div class="row">
833
+ <div class="col-xs-12 col-md-6">
834
+ <!-- Usa componentes MDS para UI -->
835
+ <mds-button variant="primary">Botón MDS</mds-button>
836
+ </div>
837
+ </div>
838
+ ```
839
+
840
+ **Ventajas de esta combinación:**
841
+ - ✅ HolyGrail5 maneja el layout y estructura
842
+ - ✅ MDS proporciona los componentes UI
843
+ - ✅ Sin conflictos de estilos
844
+ - ✅ Mejor de ambos mundos
845
+
846
+ ### Maquetación con IA
847
+
848
+ HolyGrail5 es **ideal para maquetación asistida por IA** gracias a:
849
+
850
+ 1. **Superprompt disponible**: Guía completa (`SUPERPROMPT.md`) que permite a la IA entender el sistema
851
+ 2. **Nomenclatura clara**: Clases predecibles y semánticas
852
+ 3. **Patrones simples**: Estructura fácil de seguir
853
+ 4. **Configuración JSON**: Fácil de generar y modificar automáticamente
854
+
855
+ **Ejemplo de uso con IA:**
856
+ ```
857
+ Prompt: "Crea una página de restaurante con header, hero, menú de platos y footer usando HolyGrail5"
858
+
859
+ La IA puede:
860
+ - Consultar SUPERPROMPT.md para entender las clases
861
+ - Generar HTML con las clases correctas
862
+ - Usar el grid system apropiado
863
+ - Aplicar spacing y layout helpers correctamente
864
+ ```
865
+
866
+ ✅ **Ventaja**: Acelera el desarrollo con generación automática de código
867
+
868
+ ### Comparación Directa
869
+
870
+ | Característica | HolyGrail CSS (SASS) | HolyGrail5 | ¿Por qué HolyGrail5 es mejor? |
871
+ |----------------|----------------------|------------|------------------------------|
872
+ | **Configuración** | Múltiples archivos SASS dispersos | Un solo archivo JSON (`config.json`) | ✅ **Simplicidad**: Todo en un lugar, fácil de entender y modificar |
873
+ | **Compilación** | Requiere Gulp/Webpack y configuración compleja | `npm run generate` (comando simple) | ✅ **Sin complejidad**: No necesitas configurar build tools |
874
+ | **Variables** | Variables SASS (compiladas, estáticas) | Variables CSS nativas (runtime, dinámicas) | ✅ **Flexibilidad**: Puedes cambiar valores en runtime con JavaScript |
875
+ | **Documentación** | Manual, requiere mantenimiento | Automática (HTML interactivo generado) | ✅ **Siempre actualizada**: Se genera automáticamente desde la configuración |
876
+ | **Gestión de variables** | Manual, propenso a errores | Automática con historial y herramientas CLI | ✅ **Seguridad**: Herramientas para detectar y eliminar variables no usadas |
877
+ | **Curva de aprendizaje** | Media-Alta (requiere conocer SASS) | Baja (solo JSON, fácil de entender) | ✅ **Accesibilidad**: Cualquiera puede editar sin conocimientos técnicos avanzados |
878
+ | **Portabilidad** | Media (depende de SASS y build tools) | Alta (solo Node.js, sin dependencias complejas) | ✅ **Fácil de mover**: Menos dependencias, más portable |
879
+ | **Optimización** | Manual (debes optimizar tú mismo) | Automática (elimina código no usado) | ✅ **Rendimiento**: CSS más pequeño automáticamente |
880
+ | **Watch mode** | Requiere configuración en Gulp/Webpack | Integrado (`npm run watch`) | ✅ **Desarrollo rápido**: Watch mode listo para usar |
881
+ | **Accesibilidad** | Solo desarrolladores con conocimientos SASS | Cualquiera puede editar (diseñadores, PMs, etc.) | ✅ **Colaboración**: Más personas pueden contribuir |
882
+ | **Componentes** | Incluidos (botones, cards, modales, etc.) | Separados (solo utilidades) | ✅ **Ligereza**: No incluye código que no uses |
883
+ | **Peso CSS** | Pesado (cientos de clases de componentes) | Ligero (solo utilidades esenciales) | ✅ **Rendimiento**: CSS más pequeño = páginas más rápidas |
884
+ | **Integración** | Acoplado a Angular | Compatible con cualquier librería | ✅ **Flexibilidad**: Puedes usar MDS, Material, Bootstrap, etc. |
885
+ | **Maquetación IA** | Difícil (estructura compleja) | Optimizado (JSON claro, superprompt) | ✅ **Futuro**: Perfecto para generación automática de código |
886
+
887
+ ### Casos de Uso Ideales para HolyGrail5
888
+
889
+ ✅ **Perfecto para:**
890
+ - Proyectos que buscan simplicidad
891
+ - Equipos con diferentes niveles técnicos
892
+ - Proyectos que necesitan documentación automática
893
+ - Aplicaciones que requieren variables CSS en runtime
894
+ - Proyectos que quieren evitar dependencias de build complejas
895
+ - Design systems que necesitan mantenimiento fácil
896
+ - **Proyectos que usan MDS de Inditex u otras librerías de componentes**
897
+ - **Maquetación asistida por IA**
898
+ - **Proyectos que necesitan CSS ligero sin componentes incluidos**
899
+
900
+ ### Migración desde HolyGrail CSS (SASS)
901
+
902
+ Si vienes de HolyGrail CSS (SASS), la migración es sencilla:
903
+
904
+ 1. **Extrae tus variables SASS** → Conviértelas a `config.json`
905
+ 2. **Mantén tus clases HTML** → Son compatibles
906
+ 3. **Regenera el CSS** → `npm run generate`
907
+ 4. **Disfruta de las nuevas características** → Guía interactiva, watch mode, etc.
908
+
909
+ ### Arquitectura Ligera y Flexible
910
+
911
+ #### El Problema del Framework Anterior
912
+
913
+ El framework original (HolyGrail CSS) incluía:
914
+ - **Componentes de Angular**: Botones, cards, modales, etc.
915
+ - **CSS pesado**: Estilos de componentes que no siempre se necesitaban
916
+ - **Acoplamiento**: Dependencia de Angular y sus componentes
917
+ - **Poco flexible**: Difícil usar otras librerías de componentes
918
+
919
+ **Ejemplos de clases incluidas en el framework antiguo (que aumentaban el peso):**
920
+ ```css
921
+ /* Formularios acoplados a Angular */
922
+ .form-input-label-2
923
+ .form-input-label-2.has-ico-pre
924
+ .form-input-label-2.has-ico-post
925
+ .validation-error-messages
926
+
927
+ /* Botones y links específicos */
928
+ .btn
929
+ .link-line
930
+ .link-svg-pre
931
+ .link-svg-post
932
+
933
+ /* Componentes de navegación */
934
+ .header-account-back
935
+ .mn-mainmenu
936
+ .mn-mainbar
937
+ .tabs-mini
938
+
939
+ /* Componentes UI */
940
+ .tooltip-sm
941
+ .toast
942
+ .md-accordion
943
+ .md-toggle
944
+ .bottom-sheet
945
+ .tag-product
946
+ .list-state
947
+
948
+ /* Soporte RTL específico */
949
+ .is-rtl .form-input-label-2
950
+ .is-rtl .btn
951
+ .is-rtl .tooltip-sm
952
+ /* ... y cientos más */
953
+ ```
954
+
955
+ **Problema**: Estas clases ocupaban espacio en el CSS final aunque no se usaran, y creaban conflictos al intentar usar otras librerías de componentes como MDS.
956
+
957
+ #### La Solución: Separación de Responsabilidades
958
+
959
+ HolyGrail5 adopta el principio de **"hacer una cosa y hacerla bien"**:
960
+
961
+ **HolyGrail5 se enfoca en:**
962
+ - Layout y estructura (grid, flexbox)
963
+ - Spacing y tipografía
964
+ - Variables CSS compartidas
965
+ - Helpers de utilidad
966
+
967
+ **NO incluye:**
968
+ - Componentes UI (botones, cards, etc.)
969
+ - Estilos de formularios
970
+ - Estilos específicos de frameworks
971
+
972
+ **Resultado:**
973
+ - ✅ CSS más ligero (solo lo esencial)
974
+ - ✅ Compatible con MDS de Inditex
975
+ - ✅ Compatible con cualquier librería de componentes
976
+ - ✅ Flexibilidad total para elegir tus componentes
977
+
978
+ ### Integración con MDS de Inditex
979
+
980
+ HolyGrail5 está diseñado específicamente para trabajar junto con **MDS (Massimo Dutti System)** de Inditex:
981
+
982
+ ```html
983
+ <!-- Layout con HolyGrail5 -->
984
+ <div class="row">
985
+ <div class="col-xs-12 col-md-6 p-16">
986
+ <!-- Componentes de MDS -->
987
+ <mds-button variant="primary">Reservar Mesa</mds-button>
988
+ <mds-card>
989
+ <mds-card-header>Título</mds-card-header>
990
+ <mds-card-content>Contenido</mds-card-content>
991
+ </mds-card>
992
+ </div>
993
+ </div>
994
+ ```
995
+
996
+ **Ventajas:**
997
+ - ✅ Sin conflictos de estilos
998
+ - ✅ HolyGrail5 maneja layout, MDS maneja componentes
999
+ - ✅ Mejor de ambos mundos
1000
+ - ✅ CSS optimizado y ligero
1001
+
1002
+ ### Maquetación con IA
1003
+
1004
+ HolyGrail5 es **perfecto para maquetación asistida por IA**:
1005
+
1006
+ #### ¿Por qué funciona tan bien con IA?
1007
+
1008
+ 1. **Superprompt disponible**: `SUPERPROMPT.md` contiene toda la información necesaria
1009
+ 2. **Nomenclatura clara**: Clases predecibles y semánticas
1010
+ 3. **Patrones simples**: Estructura fácil de seguir
1011
+ 4. **Configuración JSON**: Fácil de generar automáticamente
1012
+ 5. **Sin complejidad**: No hay componentes acoplados que confundan a la IA
1013
+
1014
+ #### Ejemplo de Uso con IA
1015
+
1016
+ ```
1017
+ Prompt para IA:
1018
+ "Crea una página de restaurante con header sticky, hero section,
1019
+ grid de 6 platos destacados, sección sobre nosotros y footer,
1020
+ usando HolyGrail5 según SUPERPROMPT.md"
1021
+
1022
+ La IA puede:
1023
+ ✅ Generar HTML con las clases correctas
1024
+ ✅ Usar el grid system apropiado
1025
+ ✅ Aplicar spacing helpers correctamente
1026
+ ✅ Crear layouts responsive
1027
+ ✅ Integrar con componentes MDS si es necesario
1028
+ ```
1029
+
1030
+ **Resultado**: Desarrollo más rápido y código consistente generado automáticamente.
1031
+
1032
+ ### Conclusión
1033
+
1034
+ HolyGrail5 representa la **evolución natural** del framework original, eliminando las complejidades de SASS, separando los componentes pesados de Angular, y aprovechando las capacidades modernas de CSS y JavaScript.
1035
+
1036
+ **Es más simple, más ligero, más potente y más accesible**, manteniendo la filosofía de diseño que hizo grande a HolyGrail CSS, pero adaptado a las necesidades actuales:
1037
+
1038
+ - ✅ **Sin dependencias pesadas**: No incluye componentes Angular
1039
+ - ✅ **CSS ligero**: Solo utilidades esenciales
1040
+ - ✅ **Flexible**: Compatible con MDS de Inditex y cualquier librería
1041
+ - ✅ **IA-friendly**: Optimizado para maquetación asistida por IA
1042
+ - ✅ **Moderno**: Variables CSS nativas, JSON, Node.js
1043
+
1044
+ **En resumen**: HolyGrail5 es HolyGrail CSS **mejorado, simplificado, modernizado y optimizado** para el desarrollo web actual, con especial atención a la flexibilidad, ligereza y compatibilidad con sistemas de componentes externos.
1045
+
1046
+ ---
1047
+
581
1048
  **Hecho con ❤️ por HolyGrail CSS**