libreria-astro-lefebvre 0.0.6 → 0.0.7

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.
Files changed (66) hide show
  1. package/README.md +46 -46
  2. package/package.json +30 -30
  3. package/src/carbins/AstroButton.ts +34 -34
  4. package/src/carbins/CTA_2025_Formentera.ts +48 -0
  5. package/src/carbins/Cabecera_2025_Barcelona.ts +34 -0
  6. package/src/carbins/Cabecera_2025_Madrid.ts +34 -0
  7. package/src/carbins/Contenido_2025_Alcorcon.ts +76 -0
  8. package/src/carbins/Contenido_2025_Granada.ts +59 -0
  9. package/src/carbins/Contenido_2025_Malaga.ts +100 -0
  10. package/src/carbins/Footer_2025_Napoles.ts +12 -0
  11. package/src/carbins/Formulario_2025_Seul.ts +56 -0
  12. package/src/carbins/GeometricShapeCard.ts +0 -0
  13. package/src/carbins/Imagen_2025_Bogota.ts +69 -0
  14. package/src/carbins/ReactButton.ts +32 -32
  15. package/src/carbins/Repetidor_2025_Cabra.ts +12 -0
  16. package/src/carbins/Repetidor_2025_Dubai.ts +48 -0
  17. package/src/carbins/Repetidor_2025_Estocolmo.ts +12 -0
  18. package/src/carbins/Repetidor_2025_Menorca.ts +75 -0
  19. package/src/carbins/Repetidor_2025_Michigan.ts +21 -0
  20. package/src/carbins/Repetidor_2025_Orcasitas.ts +34 -0
  21. package/src/carbins/Repetidor_2025_Oslo.ts +12 -0
  22. package/src/carbins/Repetidor_2025_Quito.ts +20 -0
  23. package/src/carbins/Repetidor_2025_Seatle.ts +12 -0
  24. package/src/carbins/Repetidor_2025_Tokyo.ts +48 -0
  25. package/src/carbins/Repetidor_2025_Ubeda.ts +12 -0
  26. package/src/carbins/Repetidor_2025_Yakarta.ts +12 -0
  27. package/src/carbins/Separador_2025_Reinosa.ts +12 -0
  28. package/src/carbins/TestPadre.ts +20 -0
  29. package/src/carbins/Titulo_2025_Algeciras.ts +43 -0
  30. package/src/carbins/Titulo_2025_Santorini.ts +20 -0
  31. package/src/carbins/VueButton.ts +35 -35
  32. package/src/components/Astro/Button.astro +5 -5
  33. package/src/components/Astro/CTA_2025_Formentera.astro +20 -0
  34. package/src/components/Astro/Cabecera_2025_Barcelona.astro +17 -0
  35. package/src/components/Astro/Cabecera_2025_Madrid.astro +147 -0
  36. package/src/components/Astro/Contenido_2025_Alcorcon.astro +46 -0
  37. package/src/components/Astro/Contenido_2025_Granada.astro +67 -0
  38. package/src/components/Astro/Contenido_2025_Malaga.astro +125 -0
  39. package/src/components/Astro/Footer_2025_Napoles.astro +128 -0
  40. package/src/components/Astro/Formulario_2025_Seul.astro +63 -0
  41. package/src/components/Astro/GeometricShape.astro +0 -0
  42. package/src/components/Astro/GeometricShapeCard.astro +0 -0
  43. package/src/components/Astro/Imagen_2025_Bogota.astro +43 -0
  44. package/src/components/Astro/Repetidor_2025_Cabra.astro +121 -0
  45. package/src/components/Astro/Repetidor_2025_Dubai.astro +30 -0
  46. package/src/components/Astro/Repetidor_2025_Estocolmo.astro +34 -0
  47. package/src/components/Astro/Repetidor_2025_Menorca.astro +42 -0
  48. package/src/components/Astro/Repetidor_2025_Michigan.astro +24 -0
  49. package/src/components/Astro/Repetidor_2025_Orcasitas.astro +189 -0
  50. package/src/components/Astro/Repetidor_2025_Oslo.astro +54 -0
  51. package/src/components/Astro/Repetidor_2025_Quito.astro +43 -0
  52. package/src/components/Astro/Repetidor_2025_Seatle.astro +32 -0
  53. package/src/components/Astro/Repetidor_2025_Tokyo.astro +55 -0
  54. package/src/components/Astro/Repetidor_2025_Ubeda.astro +19 -0
  55. package/src/components/Astro/Repetidor_2025_Yakarta.astro +136 -0
  56. package/src/components/Astro/Separador_2025_Reinosa.astro +4 -0
  57. package/src/components/Astro/TestHijo.astro +5 -0
  58. package/src/components/Astro/TestPadre.astro +7 -0
  59. package/src/components/Astro/Titulo_2025_Algeciras.astro +27 -0
  60. package/src/components/Astro/Titulo_2025_Santorini.astro +9 -0
  61. package/src/components/React/ReactButton.jsx +0 -0
  62. package/src/components/Vue/VueButton.vue +0 -0
  63. package/src/generated/componentRegistry.ts +86 -36
  64. package/src/index.ts +113 -61
  65. package/src/interfaces/types.ts +1 -1
  66. package/src/lib/functions.js +0 -0
@@ -0,0 +1,69 @@
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'Imagen_2025_Bogota',
5
+ category: 'Imagen',
6
+ name: 'Imagen Banner Genial 2025',
7
+ description: 'Imagen Banner para el directorio de Genial en la corporativa de Lefebvre',
8
+ framework: 'Astro',
9
+ priority: 1,
10
+ tags: ['banner', 'imagen', 'genial'],
11
+ fields: [
12
+ {
13
+ name: 'title',
14
+ type: 'text',
15
+ label: 'Texto del título',
16
+ mandatory: false,
17
+ example_value: 'Pruébalo ya'
18
+ },
19
+ {
20
+ name: 'description',
21
+ type: 'text',
22
+ label: 'Texto de la descripción',
23
+ mandatory: false,
24
+ example_value: 'Texto descriptivo del título'
25
+ },
26
+ {
27
+ name: 'txtBtn',
28
+ type: 'text',
29
+ label: 'Label del botón',
30
+ mandatory: false,
31
+ example_value: 'Texto del botón'
32
+ },
33
+ {
34
+ name: 'linkBtn',
35
+ type: 'text',
36
+ label: 'Enlace del botón',
37
+ mandatory: false,
38
+ example_value: 'https://www.ejemplo.com'
39
+ },
40
+ {
41
+ name: 'alt',
42
+ type: 'text',
43
+ label: 'Texto alternativo del botón',
44
+ mandatory: false,
45
+ example_value: 'Texto alternativo del botón'
46
+ },
47
+ {
48
+ name: 'src',
49
+ type: 'text',
50
+ label: 'Src de la imagen',
51
+ mandatory: false,
52
+ example_value: 'https://www.ejemplo.com/imagen.jpg'
53
+ },
54
+ {
55
+ name: 'iframeSrc',
56
+ type: 'text',
57
+ label: 'Src del iframe',
58
+ mandatory: false,
59
+ example_value: 'https://www.ejemplo.com/video.mp4'
60
+ },
61
+ {
62
+ name: 'showBtn',
63
+ type: 'boolean',
64
+ label: 'Mostrar botón',
65
+ mandatory: false,
66
+ example_value: true
67
+ }
68
+ ]
69
+ };
@@ -1,33 +1,33 @@
1
- import type { ComponentMetadata } from '../interfaces/types';
2
-
3
- export const metadata: ComponentMetadata = {
4
- component_name: 'ReactButton',
5
- category: 'Call to Action',
6
- name: 'Botón en React',
7
- description: 'Botón de prueba en React',
8
- framework: 'React',
9
- tags: ['boton', 'interactivo', 'ejemplo'],
10
- fields: [
11
- {
12
- name: 'label',
13
- type: 'text',
14
- label: 'Texto del botón',
15
- mandatory: true,
16
- example_value: 'Botón en React'
17
- },
18
- {
19
- name: 'href',
20
- type: 'text',
21
- label: 'Url de destino',
22
- mandatory: true,
23
- example_value: 'https://lefebvre.es'
24
- },
25
- {
26
- name: 'target',
27
- type: 'text',
28
- label: 'Indicar si se abre en la misma ventana o en una nueva (_blank)',
29
- mandatory: false,
30
- example_value: '_blank'
31
- },
32
- ]
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'ReactButton',
5
+ category: 'Call to Action',
6
+ name: 'Botón en React',
7
+ description: 'Botón de prueba en React',
8
+ framework: 'React',
9
+ tags: ['boton', 'interactivo', 'ejemplo'],
10
+ fields: [
11
+ {
12
+ name: 'label',
13
+ type: 'text',
14
+ label: 'Texto del botón',
15
+ mandatory: true,
16
+ example_value: 'Botón en React'
17
+ },
18
+ {
19
+ name: 'href',
20
+ type: 'text',
21
+ label: 'Url de destino',
22
+ mandatory: true,
23
+ example_value: 'https://lefebvre.es'
24
+ },
25
+ {
26
+ name: 'target',
27
+ type: 'text',
28
+ label: 'Indicar si se abre en la misma ventana o en una nueva (_blank)',
29
+ mandatory: false,
30
+ example_value: '_blank'
31
+ },
32
+ ]
33
33
  };
@@ -0,0 +1,12 @@
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'Repetidor_2025_Cabra',
5
+ category: 'Repetidor',
6
+ name: 'Repetidor de contenido con tabs Genial 2025',
7
+ description: 'Repetidor de contenido con tabs para el directorio de Genial en la corporativa de Lefebvre',
8
+ framework: 'Astro',
9
+ priority: 1,
10
+ tags: ['contenido', 'genial'],
11
+ fields: []
12
+ };
@@ -0,0 +1,48 @@
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'Repetidor_2025_Dubai',
5
+ category: 'Repetidor',
6
+ name: 'Carrusel Genial 2025',
7
+ description: 'Carrusel para el directorio de Genial en la corporativa de Lefebvre',
8
+ framework: 'Astro',
9
+ priority: 1,
10
+ tags: ['contenido', 'carrusel', 'genial'],
11
+ fields: [
12
+ {
13
+ name: 'title',
14
+ type: 'text',
15
+ label: 'Texto del título',
16
+ mandatory: false,
17
+ example_value: 'Pruébalo ya'
18
+ },
19
+ {
20
+ name: 'description',
21
+ type: 'text',
22
+ label: 'Texto de la descripción',
23
+ mandatory: false,
24
+ example_value: 'Texto descriptivo del título'
25
+ },
26
+ {
27
+ name: 'buttonText',
28
+ type: 'text',
29
+ label: 'Label del botón',
30
+ mandatory: false,
31
+ example_value: 'Texto del botón'
32
+ },
33
+ {
34
+ name: 'buttonUrl',
35
+ type: 'text',
36
+ label: 'Enlace del botón',
37
+ mandatory: false,
38
+ example_value: 'https://www.ejemplo.com'
39
+ },
40
+ {
41
+ name: 'showBtn',
42
+ type: 'boolean',
43
+ label: 'Mostrar botón',
44
+ mandatory: false,
45
+ example_value: true
46
+ }
47
+ ]
48
+ };
@@ -0,0 +1,12 @@
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'Repetidor_2025_Estocolmo',
5
+ category: 'Repetidor',
6
+ name: 'Repetidor de contenido Genial 2025',
7
+ description: 'Repetidor de contenido para el directorio de Genial en la corporativa de Lefebvre',
8
+ framework: 'Astro',
9
+ priority: 1,
10
+ tags: ['contenido', 'genial'],
11
+ fields: []
12
+ };
@@ -0,0 +1,75 @@
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'Repetidor_2025_Menorca',
5
+ category: 'Repetidor',
6
+ name: 'Repetidor de contenido con icono Genial 2025',
7
+ description: 'Repetidor de contenido con icono para el directorio de Genial en la corporativa de Lefebvre',
8
+ framework: 'Astro',
9
+ priority: 1,
10
+ tags: ['contenido', 'genial', 'icono'],
11
+ fields: [
12
+
13
+ {
14
+ name: 'positionFlex',
15
+ type: 'select',
16
+ label: 'Posición del item',
17
+ options: ['items-start', 'items-center'],
18
+ options_labels: ['Principio', 'Centrado'],
19
+ example_value: 'items-start'
20
+ },
21
+ {
22
+ name: 'positionBtnFlex',
23
+ type: 'select',
24
+ label: 'Posición del botón',
25
+ options: ['justify-center', 'justify-start'],
26
+ options_labels: ['Centrado', 'Principio'],
27
+ example_value: 'justify-center'
28
+ },
29
+ {
30
+ name: 'flexOrientationIcoText',
31
+ type: 'select',
32
+ label: 'Flex del icono del item',
33
+ options: ['flex-row', 'flex-col'],
34
+ options_labels: ['Horizontal', 'Vertical'],
35
+ example_value: 'flex-row'
36
+ },
37
+ {
38
+ name: 'flexOrientationBlockIcoText',
39
+ type: 'select',
40
+ label: 'Flex del item',
41
+ options: ['flex-row', 'flex-col'],
42
+ options_labels: ['Horizontal', 'Vertical'],
43
+ example_value: 'flex-row'
44
+ },
45
+ {
46
+ name: 'headingType',
47
+ type: 'select',
48
+ label: 'Etiqueta del título',
49
+ options: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'span'],
50
+ options_labels: ['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'Span'],
51
+ example_value: 'h2'
52
+ },
53
+ {
54
+ name: 'btnLabel',
55
+ type: 'text',
56
+ label: 'Label del botón',
57
+ mandatory: false,
58
+ example_value: 'Texto del botón'
59
+ },
60
+ {
61
+ name: 'buttonUrl',
62
+ type: 'text',
63
+ label: 'Enlace del botón',
64
+ mandatory: false,
65
+ example_value: 'https://www.ejemplo.com'
66
+ },
67
+ {
68
+ name: 'showBtn',
69
+ type: 'boolean',
70
+ label: 'Mostrar botón',
71
+ mandatory: false,
72
+ example_value: true
73
+ }
74
+ ]
75
+ };
@@ -0,0 +1,21 @@
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'Repetidor_2025_Michigan',
5
+ category: 'Repetidor',
6
+ name: 'Repetidor artículo con texto e imagen Genial 2025',
7
+ description: 'Repetidor para el directorio de Genial en la corporativa de Lefebvre',
8
+ framework: 'Astro',
9
+ priority: 1,
10
+ tags: ['texto', 'imagen', 'genial'],
11
+ fields: [
12
+ {
13
+ name: 'orientation',
14
+ type: 'select',
15
+ label: 'Alineación del contenido',
16
+ options: ['left', 'right'],
17
+ options_labels: ['Izquierda', 'Derecha'],
18
+ example_value: 'left'
19
+ },
20
+ ]
21
+ };
@@ -0,0 +1,34 @@
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'Repetidor_2025_Orcasitas',
5
+ category: 'Repetidor',
6
+ name: 'Carrusel Genial 2025',
7
+ description: 'Carrusel para el directorio de Genial en la corporativa de Lefebvre',
8
+ framework: 'Astro',
9
+ priority: 1,
10
+ tags: ['contenido', 'carrusel', 'genial'],
11
+ fields: [
12
+ {
13
+ name: 'slidesToShow',
14
+ type: 'text',
15
+ label: 'Número de slides a mostrar',
16
+ mandatory: false,
17
+ example_value: '3'
18
+ },
19
+ {
20
+ name: 'slidesToScroll',
21
+ type: 'text',
22
+ label: 'Número de slides a desplazar',
23
+ mandatory: false,
24
+ example_value: '1'
25
+ },
26
+ {
27
+ name: 'loadScript',
28
+ type: 'boolean',
29
+ label: 'Cargar dependencias',
30
+ mandatory: false,
31
+ example_value: true
32
+ }
33
+ ]
34
+ };
@@ -0,0 +1,12 @@
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'Repetidor_2025_Oslo',
5
+ category: 'Repetidor',
6
+ name: 'Listado con popups Genial 2025',
7
+ description: 'Listado con popups para el directorio de Genial en la corporativa de Lefebvre',
8
+ framework: 'Astro',
9
+ priority: 1,
10
+ tags: ['contenido', 'popup', 'genial'],
11
+ fields: []
12
+ };
@@ -0,0 +1,20 @@
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'Repetidor_2025_Quito',
5
+ category: 'Repetidor',
6
+ name: 'Texto con icono Genial 2025',
7
+ description: 'Texto con icono para el directorio de Genial en la corporativa de Lefebvre',
8
+ framework: 'Astro',
9
+ priority: 1,
10
+ tags: ['texto', 'genial'],
11
+ fields: [
12
+ {
13
+ name: 'title',
14
+ type: 'text',
15
+ label: 'Título del bloque',
16
+ mandatory: false,
17
+ example_value: 'Test'
18
+ }
19
+ ]
20
+ };
@@ -0,0 +1,12 @@
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'Repetidor_2025_Seatle',
5
+ category: 'Repetidor',
6
+ name: 'Repetidor con cards Genial 2025',
7
+ description: 'Repetidor con tarjetas para el directorio de Genial en la corporativa de Lefebvre',
8
+ framework: 'Astro',
9
+ priority: 1,
10
+ tags: ['repetidor', 'cards', 'genial'],
11
+ fields: []
12
+ };
@@ -0,0 +1,48 @@
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'Repetidor_2025_Tokyo',
5
+ category: 'Repetidor',
6
+ name: 'Repetidor de contenido Genial 2025',
7
+ description: 'Repetidor de contenido para el directorio de Genial en la corporativa de Lefebvre',
8
+ framework: 'Astro',
9
+ priority: 1,
10
+ tags: ['contenido', 'genial'],
11
+ fields: [
12
+ {
13
+ name: 'title',
14
+ type: 'text',
15
+ label: 'Texto del título',
16
+ mandatory: false,
17
+ example_value: 'Pruébalo ya'
18
+ },
19
+ {
20
+ name: 'description',
21
+ type: 'text',
22
+ label: 'Texto de la descripción',
23
+ mandatory: false,
24
+ example_value: 'Texto descriptivo del título'
25
+ },
26
+ {
27
+ name: 'buttonText',
28
+ type: 'text',
29
+ label: 'Label del botón',
30
+ mandatory: false,
31
+ example_value: 'Texto del botón'
32
+ },
33
+ {
34
+ name: 'buttonUrl',
35
+ type: 'text',
36
+ label: 'Enlace del botón',
37
+ mandatory: false,
38
+ example_value: 'https://www.ejemplo.com'
39
+ },
40
+ {
41
+ name: 'showBtn',
42
+ type: 'boolean',
43
+ label: 'Mostrar botón',
44
+ mandatory: false,
45
+ example_value: true
46
+ }
47
+ ]
48
+ };
@@ -0,0 +1,12 @@
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'Repetidor_2025_Ubeda',
5
+ category: 'Repetidor',
6
+ name: 'Repetidor Texto bloque Genial 2025',
7
+ description: 'Repetidor con texto bloque para el directorio de Genial en la corporativa de Lefebvre',
8
+ framework: 'Astro',
9
+ priority: 1,
10
+ tags: ['contenido', 'texto', 'genial'],
11
+ fields: []
12
+ };
@@ -0,0 +1,12 @@
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'Repetidor_2025_Yakarta',
5
+ category: 'Repetidor',
6
+ name: 'Listado vídeos acordeón Genial 2025',
7
+ description: 'Listado de vídeos en acordeón para el directorio de Genial en la corporativa de Lefebvre',
8
+ framework: 'Astro',
9
+ priority: 1,
10
+ tags: ['acordeon', 'video', 'genial'],
11
+ fields: []
12
+ };
@@ -0,0 +1,12 @@
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'Separador_2025_Reinosa',
5
+ category: 'Separador',
6
+ name: 'Separador de contenido Genial 2025',
7
+ description: 'Separador de contenido para el directorio de Genial en la corporativa de Lefebvre',
8
+ framework: 'Astro',
9
+ priority: 1,
10
+ tags: ['spectrum', 'genial'],
11
+ fields: []
12
+ };
@@ -0,0 +1,20 @@
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'TestPadre',
5
+ category: 'Texto',
6
+ name: 'TestPadre',
7
+ description: 'TestPadre',
8
+ framework: 'Astro',
9
+ priority: 1,
10
+ tags: ['texto'],
11
+ fields: [
12
+ {
13
+ name: 'texto',
14
+ type: 'text',
15
+ label: 'Texto',
16
+ mandatory: false,
17
+ example_value: 'Prueba de texto'
18
+ }
19
+ ]
20
+ };
@@ -0,0 +1,43 @@
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'Titulo_2025_Algeciras',
5
+ category: 'Título',
6
+ name: 'Título Genial 2025',
7
+ description: 'Título para el directorio de Genial en la corporativa de Lefebvre',
8
+ framework: 'Astro',
9
+ priority: 1,
10
+ tags: ['title', 'genial'],
11
+ fields: [
12
+ {
13
+ name: 'title',
14
+ type: 'text',
15
+ label: 'Texto del título',
16
+ mandatory: false,
17
+ example_value: 'Pruébalo ya'
18
+ },
19
+ {
20
+ name: 'description',
21
+ type: 'text',
22
+ label: 'Texto de la descripción',
23
+ mandatory: false,
24
+ example_value: 'Texto descriptivo del título'
25
+ },
26
+ {
27
+ name: 'tipo',
28
+ type: 'select',
29
+ label: 'Etiqueta del título',
30
+ options: ['h1', 'h2', 'h2-mb64', 'h3', 'h3-mb32', 'h4', 'h5', 'h6', 'p'],
31
+ options_labels: ['H1', 'H2', 'H2 con margen inferior 64px', 'H3', 'H3 con margen inferior 32px', 'H4', 'H5', 'H6', 'Párrafo'],
32
+ example_value: 'h1'
33
+ },
34
+ {
35
+ name: 'flexJustify',
36
+ type: 'select',
37
+ label: 'Justificación del contenido',
38
+ options: ['justify-start', 'justify-center'],
39
+ options_labels: ['Izquierda', 'Centro'],
40
+ example_value: 'justify-start'
41
+ }
42
+ ]
43
+ };
@@ -0,0 +1,20 @@
1
+ import type { ComponentMetadata } from '../interfaces/types';
2
+
3
+ export const metadata: ComponentMetadata = {
4
+ component_name: 'Titulo_2025_Santorini',
5
+ category: 'Título',
6
+ name: 'Texto azul Genial 2025',
7
+ description: 'Texto azul para el directorio de Genial en la corporativa de Lefebvre',
8
+ framework: 'Astro',
9
+ priority: 1,
10
+ tags: ['texto', 'genial'],
11
+ fields: [
12
+ {
13
+ name: 'description',
14
+ type: 'text',
15
+ label: 'Texto de la descripción',
16
+ mandatory: false,
17
+ example_value: 'Texto descriptivo del título'
18
+ }
19
+ ]
20
+ };
@@ -1,35 +1,35 @@
1
-
2
- import type { ComponentMetadata } from '../interfaces/types';
3
-
4
- export const metadata: ComponentMetadata = {
5
- component_name: 'VueButton',
6
- category: 'Call to Action',
7
- name: 'Botón en Vue',
8
- description: 'Botón de prueba en Vue',
9
- framework: 'Vue',
10
- priority: 2,
11
- tags: ['boton', 'interactivo', 'ejemplo'],
12
- fields: [
13
- {
14
- name: 'label',
15
- type: 'text',
16
- label: 'Texto del botón',
17
- mandatory: true,
18
- example_value: 'Botón en Vue'
19
- },
20
- {
21
- name: 'href',
22
- type: 'text',
23
- label: 'Url de destino',
24
- mandatory: true,
25
- example_value: 'https://lefebvre.es'
26
- },
27
- {
28
- name: 'target',
29
- type: 'text',
30
- label: 'Indicar si se abre en la misma ventana o en una nueva (_blank)',
31
- mandatory: false,
32
- example_value: '_blank'
33
- },
34
- ]
35
- };
1
+
2
+ import type { ComponentMetadata } from '../interfaces/types';
3
+
4
+ export const metadata: ComponentMetadata = {
5
+ component_name: 'VueButton',
6
+ category: 'Call to Action',
7
+ name: 'Botón en Vue',
8
+ description: 'Botón de prueba en Vue',
9
+ framework: 'Vue',
10
+ priority: 2,
11
+ tags: ['boton', 'interactivo', 'ejemplo'],
12
+ fields: [
13
+ {
14
+ name: 'label',
15
+ type: 'text',
16
+ label: 'Texto del botón',
17
+ mandatory: true,
18
+ example_value: 'Botón en Vue'
19
+ },
20
+ {
21
+ name: 'href',
22
+ type: 'text',
23
+ label: 'Url de destino',
24
+ mandatory: true,
25
+ example_value: 'https://lefebvre.es'
26
+ },
27
+ {
28
+ name: 'target',
29
+ type: 'text',
30
+ label: 'Indicar si se abre en la misma ventana o en una nueva (_blank)',
31
+ mandatory: false,
32
+ example_value: '_blank'
33
+ },
34
+ ]
35
+ };
@@ -1,6 +1,6 @@
1
- ---
2
-
3
- const { label } = Astro.props;
4
-
5
- ---
1
+ ---
2
+
3
+ const { label } = Astro.props;
4
+
5
+ ---
6
6
  <button class="btn bg-cyan-600 text-gray-200 p-2 rounded-lg font-bold m-4 cursor-pointer transition-colors duration-300 hover:bg-red-600">{label}</button>
@@ -0,0 +1,20 @@
1
+ ---
2
+
3
+ const {
4
+ buttonText = "xxx",
5
+ buttonUrl = "#",
6
+ frontColor = 'white',
7
+ backColor = '#2134F1',
8
+ borderColor = '#2134F1',
9
+ } = Astro.props;
10
+
11
+ ---
12
+ <a
13
+ href={buttonUrl}
14
+ class="font-bold block m-8 p-3 px-5 rounded-xl transition-colors duration-300"
15
+ style={`border: 1px solid ${borderColor}; background-color: ${backColor}; color: ${frontColor};`}
16
+ onmouseover={`this.style.backgroundColor='${frontColor}'; this.style.color='${backColor}';`}
17
+ onmouseout={`this.style.backgroundColor='${backColor}'; this.style.color='${frontColor}';`}
18
+ >
19
+ {buttonText}
20
+ </a>