libreria-astro-lefebvre 0.0.5 → 0.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/package.json +1 -1
- package/src/carbins/AstroButton.ts +24 -0
- package/src/carbins/CorpFooter.ts +13 -0
- package/src/carbins/CorpHero.ts +20 -0
- package/src/carbins/FooterCorporativo.ts +13 -0
- package/src/carbins/GeometricShapeCard.ts +19 -8
- package/src/carbins/HeaderCorporativo.ts +34 -0
- package/src/carbins/ImageTextSimple.ts +45 -0
- package/src/carbins/ReactButton.ts +24 -0
- package/src/carbins/SpectrumSeparator.ts +12 -0
- package/src/carbins/TextBox.ts +27 -0
- package/src/carbins/TextImageBackground.ts +47 -0
- package/src/carbins/TextImageBlock.ts +62 -0
- package/src/carbins/TextImageCard.ts +44 -0
- package/src/carbins/TextImageHeader.ts +68 -0
- package/src/carbins/VideoAutoplay.ts +36 -0
- package/src/carbins/VueButton.ts +24 -0
- package/src/components/Astro/CorpFooter.astro +107 -0
- package/src/components/Astro/CorpHero.astro +21 -0
- package/src/components/Astro/CorpNavigation.astro +87 -0
- package/src/components/Astro/FooterCorporativo.astro +82 -0
- package/src/components/Astro/HeaderCorporativo.astro +26 -0
- package/src/components/Astro/ImageTextSimple.astro +56 -0
- package/src/components/Astro/SpectrumSeparator.astro +11 -0
- package/src/components/Astro/TextBox.astro +11 -0
- package/src/components/Astro/TextImageBackground.astro +18 -0
- package/src/components/Astro/TextImageBlock.astro +29 -0
- package/src/components/Astro/TextImageCard.astro +25 -0
- package/src/components/Astro/TextImageHeader.astro +31 -0
- package/src/components/Astro/VideoAutoplay.astro +20 -0
- package/src/generated/componentRegistry.ts +25 -1
- package/src/index.ts +60 -4
- package/src/interfaces/types.ts +3 -0
package/package.json
CHANGED
|
@@ -2,9 +2,33 @@ import type { ComponentMetadata } from '../interfaces/types';
|
|
|
2
2
|
|
|
3
3
|
export const metadata: ComponentMetadata = {
|
|
4
4
|
component_name: 'Button',
|
|
5
|
+
category: 'Call to Action',
|
|
5
6
|
name: 'Botón en Astro',
|
|
6
7
|
description: 'Botón de prueba en Astro',
|
|
7
8
|
framework: 'Astro',
|
|
8
9
|
priority: 1,
|
|
9
10
|
tags: ['boton', 'interactivo', 'ejemplo'],
|
|
11
|
+
fields: [
|
|
12
|
+
{
|
|
13
|
+
name: 'label',
|
|
14
|
+
type: 'text',
|
|
15
|
+
label: 'Texto del botón',
|
|
16
|
+
mandatory: true,
|
|
17
|
+
example_value: 'Botón en Astro'
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: 'href',
|
|
21
|
+
type: 'text',
|
|
22
|
+
label: 'Url de destino',
|
|
23
|
+
mandatory: true,
|
|
24
|
+
example_value: 'https://lefebvre.es'
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'target',
|
|
28
|
+
type: 'text',
|
|
29
|
+
label: 'Indicar si se abre en la misma ventana o en una nueva (_blank)',
|
|
30
|
+
mandatory: false,
|
|
31
|
+
example_value: '_blank'
|
|
32
|
+
},
|
|
33
|
+
],
|
|
10
34
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ComponentMetadata } from '../interfaces/types';
|
|
2
|
+
|
|
3
|
+
export const metadata: ComponentMetadata = {
|
|
4
|
+
component_name: 'CorpFooter',
|
|
5
|
+
category: 'Footer',
|
|
6
|
+
name: 'Footer Corporativo Lefebvre.es',
|
|
7
|
+
description: 'Footer marca 2025 Lefebvre.es',
|
|
8
|
+
framework: 'Astro',
|
|
9
|
+
priority: 1,
|
|
10
|
+
tags: ['footer','lefebvre.es'],
|
|
11
|
+
fields: [
|
|
12
|
+
]
|
|
13
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ComponentMetadata } from '../interfaces/types';
|
|
2
|
+
|
|
3
|
+
export const metadata: ComponentMetadata = {
|
|
4
|
+
component_name: 'CorpHero',
|
|
5
|
+
category: 'Call to Action',
|
|
6
|
+
name: 'Hero Corporativo Lefebvre.es',
|
|
7
|
+
description: 'Hero marca 2025 Lefebvre.es',
|
|
8
|
+
framework: 'Astro',
|
|
9
|
+
priority: 1,
|
|
10
|
+
tags: ['hero','video','lefebvre.es'],
|
|
11
|
+
fields: [
|
|
12
|
+
{
|
|
13
|
+
name: 'text',
|
|
14
|
+
type: 'textArea',
|
|
15
|
+
label: 'Contenido HTML',
|
|
16
|
+
mandatory: false,
|
|
17
|
+
example_value: '<p><b>Es más que una imagen renovada. Es una nueva forma de avanzar.</b><br />En Lefebvre evolucionamos contigo. Nos adaptamos a ti.</p>'
|
|
18
|
+
},
|
|
19
|
+
]
|
|
20
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ComponentMetadata } from '../interfaces/types';
|
|
2
|
+
|
|
3
|
+
export const metadata: ComponentMetadata = {
|
|
4
|
+
component_name: 'FooterCorporativo',
|
|
5
|
+
category: 'Footer',
|
|
6
|
+
name: 'Footer Corporativo',
|
|
7
|
+
description: 'Footer de prueba en Astro',
|
|
8
|
+
framework: 'Astro',
|
|
9
|
+
priority: 1,
|
|
10
|
+
tags: ['footer'],
|
|
11
|
+
fields: [
|
|
12
|
+
]
|
|
13
|
+
};
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
// dame en un string el codigo html resultante de la renderizacion de este componente quitando las clases de tailwind y poniendo estilos inline de css, no debe tener codigo js, es para hcer una preview
|
|
2
|
+
|
|
1
3
|
import type { ComponentMetadata } from '../interfaces/types';
|
|
2
4
|
|
|
3
5
|
export const metadata: ComponentMetadata = {
|
|
4
6
|
component_name: 'GeometricShapeCard',
|
|
7
|
+
category: 'Imagen',
|
|
5
8
|
name: 'Tarjeta con figura geométrica',
|
|
6
9
|
description: 'Tarjeta con figura geométrica y botón de leer más.',
|
|
7
10
|
framework: 'Astro',
|
|
@@ -11,46 +14,54 @@ export const metadata: ComponentMetadata = {
|
|
|
11
14
|
name: 'title',
|
|
12
15
|
type: 'text',
|
|
13
16
|
label: 'Título',
|
|
14
|
-
mandatory: true
|
|
17
|
+
mandatory: true,
|
|
18
|
+
example_value: 'Título de la tarjeta'
|
|
15
19
|
},
|
|
16
20
|
{
|
|
17
21
|
name: 'mainContent',
|
|
18
22
|
type: 'textArea',
|
|
19
23
|
label: 'Contenido principal (HTML)',
|
|
20
|
-
mandatory: true
|
|
24
|
+
mandatory: true,
|
|
25
|
+
example_value: '<p>Este es el <b>contenido</b> principal.</p>'
|
|
21
26
|
},
|
|
22
27
|
{
|
|
23
28
|
name: 'secondaryContent',
|
|
24
29
|
type: 'textArea',
|
|
25
30
|
label: 'Contenido secundario (HTML) que aparece al leer más',
|
|
26
|
-
mandatory: false
|
|
31
|
+
mandatory: false,
|
|
32
|
+
example_value: '<p>Este es el contenido secundario.</p>'
|
|
27
33
|
},
|
|
28
34
|
{
|
|
29
35
|
name: 'imageSrc',
|
|
30
36
|
type: 'text',
|
|
31
37
|
label: 'URL de la imagen',
|
|
32
|
-
mandatory: true
|
|
38
|
+
mandatory: true,
|
|
39
|
+
example_value: 'https://via.placeholder.com/150'
|
|
33
40
|
},
|
|
34
41
|
{
|
|
35
42
|
name: 'figure',
|
|
36
43
|
type: 'select',
|
|
37
44
|
label: 'Tipo de figura',
|
|
38
45
|
options: ['Trapeze', 'Trapeze2', 'Leaf', 'Sphere'],
|
|
39
|
-
options_labels: ['Trapecio', 'Trapecio II', 'Hoja de parra', 'Esfera']
|
|
46
|
+
options_labels: ['Trapecio', 'Trapecio II', 'Hoja de parra', 'Esfera'],
|
|
47
|
+
example_value: 'Trapeze'
|
|
40
48
|
},
|
|
41
49
|
{
|
|
42
50
|
name: 'orientation',
|
|
43
51
|
type: 'select',
|
|
44
52
|
label: 'Orientación de la figura',
|
|
45
53
|
options: ['right', 'left'],
|
|
46
|
-
options_labels: ['Derecha','Izquierda']
|
|
54
|
+
options_labels: ['Derecha','Izquierda'],
|
|
55
|
+
example_value: 'right'
|
|
47
56
|
},
|
|
48
57
|
{
|
|
49
58
|
name: 'gradiantIndex',
|
|
50
59
|
type: 'select',
|
|
51
60
|
label: 'Gradiante',
|
|
52
61
|
options: [0, 1, 2, 3, 4],
|
|
53
|
-
options_labels: ['Lefebvre España', 'Lefebvre Sarrut', 'Lefebvre Italia', 'Lefebvre Toovalu', 'Bandera de España']
|
|
62
|
+
options_labels: ['Lefebvre España', 'Lefebvre Sarrut', 'Lefebvre Italia', 'Lefebvre Toovalu', 'Bandera de España'],
|
|
63
|
+
example_value: 0
|
|
54
64
|
},
|
|
55
65
|
]
|
|
56
|
-
|
|
66
|
+
|
|
67
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ComponentMetadata } from '../interfaces/types';
|
|
2
|
+
|
|
3
|
+
export const metadata: ComponentMetadata = {
|
|
4
|
+
component_name: 'HeaderCorporativo',
|
|
5
|
+
category: 'Cabecera',
|
|
6
|
+
name: 'Header Corporativo',
|
|
7
|
+
description: 'Header de prueba en Astro',
|
|
8
|
+
framework: 'Astro',
|
|
9
|
+
priority: 1,
|
|
10
|
+
tags: ['header', 'navegación'],
|
|
11
|
+
fields: [
|
|
12
|
+
{
|
|
13
|
+
name: 'logo',
|
|
14
|
+
type: 'text',
|
|
15
|
+
label: 'URL del logo',
|
|
16
|
+
mandatory: false,
|
|
17
|
+
example_value: 'https://espacioasesoria.com/wp-content/themes/lf-espacioasesoria-theme/src/images/logo-espacio-asesoria.png'
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: 'alt',
|
|
21
|
+
type: 'text',
|
|
22
|
+
label: 'Texto alternativo',
|
|
23
|
+
mandatory: false,
|
|
24
|
+
example_value: 'https://lefebvre.es'
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'showLefebvreLogo',
|
|
28
|
+
type: 'boolean',
|
|
29
|
+
label: 'Mostrar logo de Lefebvre',
|
|
30
|
+
mandatory: false,
|
|
31
|
+
example_value: true
|
|
32
|
+
},
|
|
33
|
+
]
|
|
34
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// dame en un string el codigo html resultante de la renderizacion de este componente quitando las clases de tailwind y poniendo estilos inline de css, no debe tener codigo js, es para hcer una preview
|
|
2
|
+
|
|
3
|
+
import type { ComponentMetadata } from '../interfaces/types';
|
|
4
|
+
|
|
5
|
+
export const metadata: ComponentMetadata = {
|
|
6
|
+
component_name: 'ImageTextSimple',
|
|
7
|
+
category: 'Imagen',
|
|
8
|
+
name: 'Contenido con imagen/video simple',
|
|
9
|
+
description: 'Contenido con imagen/video simple, título y texto',
|
|
10
|
+
framework: 'Astro',
|
|
11
|
+
tags: ['card', 'interactivo','lefebvre.es'],
|
|
12
|
+
fields: [
|
|
13
|
+
{
|
|
14
|
+
name: 'title',
|
|
15
|
+
type: 'text',
|
|
16
|
+
label: 'Título',
|
|
17
|
+
mandatory: true,
|
|
18
|
+
example_value: 'Soluciones para activar el conocimiento'
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'description',
|
|
22
|
+
type: 'textArea',
|
|
23
|
+
label: 'Contenido principal (HTML)',
|
|
24
|
+
mandatory: true,
|
|
25
|
+
example_value: `<p>En Lefebvre buscamos ofrecer a nuestros clientes <strong>soluciones específicas, relevantes e integrales</strong>.
|
|
26
|
+
Para ello, las adaptamos a las características y necesidades de cada empresa y sector, haciendo hincapié en los puntos críticos de cada uno de ellos para contribuir positivamente a su desarrollo. </p>
|
|
27
|
+
`
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: 'image',
|
|
31
|
+
type: 'text',
|
|
32
|
+
label: 'URL de la imagen',
|
|
33
|
+
mandatory: true,
|
|
34
|
+
example_value: 'https://lefebvre.es/build/images/img-map.57810cde.webp'
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: 'video',
|
|
38
|
+
type: 'text',
|
|
39
|
+
label: 'URL del video',
|
|
40
|
+
mandatory: true,
|
|
41
|
+
example_value: 'https://www.youtube.com/embed/3gJIiEdYKR0'
|
|
42
|
+
},
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
};
|
|
@@ -2,8 +2,32 @@ import type { ComponentMetadata } from '../interfaces/types';
|
|
|
2
2
|
|
|
3
3
|
export const metadata: ComponentMetadata = {
|
|
4
4
|
component_name: 'ReactButton',
|
|
5
|
+
category: 'Call to Action',
|
|
5
6
|
name: 'Botón en React',
|
|
6
7
|
description: 'Botón de prueba en React',
|
|
7
8
|
framework: 'React',
|
|
8
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
|
+
]
|
|
9
33
|
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ComponentMetadata } from '../interfaces/types';
|
|
2
|
+
|
|
3
|
+
export const metadata: ComponentMetadata = {
|
|
4
|
+
component_name: 'SpectrumSeparator',
|
|
5
|
+
category: 'Separador',
|
|
6
|
+
name: 'Separador de Espectro',
|
|
7
|
+
description: 'Separador de espectro',
|
|
8
|
+
framework: 'Astro',
|
|
9
|
+
priority: 1,
|
|
10
|
+
tags: ['separador','lefebvre.es'],
|
|
11
|
+
fields: []
|
|
12
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ComponentMetadata } from '../interfaces/types';
|
|
2
|
+
|
|
3
|
+
export const metadata: ComponentMetadata = {
|
|
4
|
+
component_name: 'TextBox',
|
|
5
|
+
category: 'Texto',
|
|
6
|
+
name: 'Caja de texto',
|
|
7
|
+
description: 'Caja de texto en Astro',
|
|
8
|
+
framework: 'Astro',
|
|
9
|
+
priority: 1,
|
|
10
|
+
tags: ['texto'],
|
|
11
|
+
fields: [
|
|
12
|
+
{
|
|
13
|
+
name: 'htmlCode',
|
|
14
|
+
type: 'textArea',
|
|
15
|
+
label: 'Código HTML',
|
|
16
|
+
mandatory: false,
|
|
17
|
+
example_value: '<p>Lo que quieras...</p>'
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: 'addShadow',
|
|
21
|
+
type: 'boolean',
|
|
22
|
+
label: 'Añadir sombra',
|
|
23
|
+
mandatory: false,
|
|
24
|
+
example_value: true
|
|
25
|
+
},
|
|
26
|
+
]
|
|
27
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// dame en un string el codigo html resultante de la renderizacion de este componente quitando las clases de tailwind y poniendo estilos inline de css, no debe tener codigo js, es para hcer una preview
|
|
2
|
+
|
|
3
|
+
import type { ComponentMetadata } from '../interfaces/types';
|
|
4
|
+
|
|
5
|
+
export const metadata: ComponentMetadata = {
|
|
6
|
+
component_name: 'TextImageBackground',
|
|
7
|
+
category: 'Contenido',
|
|
8
|
+
name: 'Contenido con imagen de fondo',
|
|
9
|
+
description: 'Tarjeta con imagen de background y texto para destacar contenido',
|
|
10
|
+
framework: 'Astro',
|
|
11
|
+
tags: ['card', 'interactivo','lefebvre.es'],
|
|
12
|
+
fields: [
|
|
13
|
+
{
|
|
14
|
+
name: 'title',
|
|
15
|
+
type: 'text',
|
|
16
|
+
label: 'Título',
|
|
17
|
+
mandatory: true,
|
|
18
|
+
example_value: 'Una marca más fuerte.<br>Un grupo más unido.<br>Un propósito compartido.'
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'description',
|
|
22
|
+
type: 'textArea',
|
|
23
|
+
label: 'Contenido principal (HTML)',
|
|
24
|
+
mandatory: true,
|
|
25
|
+
example_value: `<p>Somos un grupo europeo con más de 200 años de historia, presente en 8 países y comprometido con un mismo propósito: <b>activar el conocimiento para crear una sociedad más justa, eficiente y sostenible.</b></p>
|
|
26
|
+
<p>Unidos bajo una sola marca, compartimos una ambición clara: liderar la transformación del sector legal europeo con soluciones innovadoras y una inteligencia artificial segura, ética y entrenada con contenido experto.</p>
|
|
27
|
+
<p>Desde nuestra herencia editorial, construimos, para ti, el futuro del conocimiento jurídico europeo.</p>
|
|
28
|
+
`
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: 'image',
|
|
32
|
+
type: 'text',
|
|
33
|
+
label: 'URL de la imagen',
|
|
34
|
+
mandatory: true,
|
|
35
|
+
example_value: 'https://lefebvre.es/build/images/img-map.57810cde.webp'
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'orientation',
|
|
39
|
+
type: 'select',
|
|
40
|
+
label: 'Orientación de la figura',
|
|
41
|
+
options: ['right', 'left'],
|
|
42
|
+
options_labels: ['Derecha','Izquierda'],
|
|
43
|
+
example_value: 'right'
|
|
44
|
+
},
|
|
45
|
+
]
|
|
46
|
+
|
|
47
|
+
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// dame en un string el codigo html resultante de la renderizacion de este componente quitando las clases de tailwind y poniendo estilos inline de css, no debe tener codigo js, es para hcer una preview
|
|
2
|
+
|
|
3
|
+
import type { ComponentMetadata } from '../interfaces/types';
|
|
4
|
+
|
|
5
|
+
export const metadata: ComponentMetadata = {
|
|
6
|
+
component_name: 'TextImageBlock',
|
|
7
|
+
category: 'Contenido',
|
|
8
|
+
name: 'Contenido de texto con imagen',
|
|
9
|
+
description: 'Tarjeta con texto e imagen',
|
|
10
|
+
framework: 'Astro',
|
|
11
|
+
tags: ['card', 'interactivo','lefebvre.es'],
|
|
12
|
+
fields: [
|
|
13
|
+
{
|
|
14
|
+
name: 'title',
|
|
15
|
+
type: 'text',
|
|
16
|
+
label: 'Título',
|
|
17
|
+
mandatory: true,
|
|
18
|
+
example_value: 'Descubre GenIA-L, la IA jurídica más certera'
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'description',
|
|
22
|
+
type: 'textArea',
|
|
23
|
+
label: 'Contenido principal (HTML)',
|
|
24
|
+
mandatory: true,
|
|
25
|
+
example_value: `<p><b>No trabajes más, trabaja mejor.</b> GenIA-L no sólo domina la jurisprudencia, sino que piensa como tú: además de hablar el mismo idioma,
|
|
26
|
+
es la primera IA que razona de forma lógica cómo abordar los desafíos legales más complejos.</p>
|
|
27
|
+
<p>En Lefebvre hemos ido un paso más allá, combinando el llamado razonamiento profundo con la base de datos jurídica más completa. ¿El resultado? La IA
|
|
28
|
+
jurídica más certera del mercado, con la que obtienes respuestas claras, razonadas y fundamentadas para abordar cualquier reto legal que te plantees en cuestión de segundos.</p>
|
|
29
|
+
`
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: 'buttonText',
|
|
33
|
+
type: 'text',
|
|
34
|
+
label: 'Texto del botón',
|
|
35
|
+
mandatory: true,
|
|
36
|
+
example_value: 'Conoce más sobre GenIA-L'
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'buttonUrl',
|
|
40
|
+
type: 'text',
|
|
41
|
+
label: 'URL del botón',
|
|
42
|
+
mandatory: true,
|
|
43
|
+
example_value: 'https://lefebvre.es/ecosistema-productos/genial-inteligencia-artificial-generativa-ia/'
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'image',
|
|
47
|
+
type: 'text',
|
|
48
|
+
label: 'URL de la imagen',
|
|
49
|
+
mandatory: true,
|
|
50
|
+
example_value: 'https://lefebvre.es/build/images/home/img-pc.webp'
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: 'orientation',
|
|
54
|
+
type: 'select',
|
|
55
|
+
label: 'Orientación de la figura',
|
|
56
|
+
options: ['right', 'left'],
|
|
57
|
+
options_labels: ['Derecha','Izquierda'],
|
|
58
|
+
example_value: 'left'
|
|
59
|
+
},
|
|
60
|
+
]
|
|
61
|
+
|
|
62
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// dame en un string el codigo html resultante de la renderizacion de este componente quitando las clases de tailwind y poniendo estilos inline de css, no debe tener codigo js, es para hcer una preview
|
|
2
|
+
|
|
3
|
+
import type { ComponentMetadata } from '../interfaces/types';
|
|
4
|
+
|
|
5
|
+
export const metadata: ComponentMetadata = {
|
|
6
|
+
component_name: 'TextImageCard',
|
|
7
|
+
category: 'Contenido',
|
|
8
|
+
name: 'Card de texto con imagen',
|
|
9
|
+
description: 'Card con texto e imagen',
|
|
10
|
+
framework: 'Astro',
|
|
11
|
+
tags: ['card', 'interactivo','lefebvre.es'],
|
|
12
|
+
fields: [
|
|
13
|
+
{
|
|
14
|
+
name: 'title',
|
|
15
|
+
type: 'text',
|
|
16
|
+
label: 'Título',
|
|
17
|
+
mandatory: true,
|
|
18
|
+
example_value: '¿Por qué este cambio?'
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'description',
|
|
22
|
+
type: 'textArea',
|
|
23
|
+
label: 'Contenido principal (HTML)',
|
|
24
|
+
mandatory: true,
|
|
25
|
+
example_value: `<p>Porque liderar también significa evolucionar. Esta nueva identidad expresa con más fuerza quiénes somos hoy: una compañía tecnológica de conocimiento jurídico, más clara, más conectada y, más cercana.</p>`
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: 'image',
|
|
29
|
+
type: 'text',
|
|
30
|
+
label: 'URL de la imagen',
|
|
31
|
+
mandatory: true,
|
|
32
|
+
example_value: 'https://lefebvre.es/build/images/home/img-card1.webp'
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: 'orientation',
|
|
36
|
+
type: 'select',
|
|
37
|
+
label: 'Orientación de la figura',
|
|
38
|
+
options: ['right', 'left'],
|
|
39
|
+
options_labels: ['Derecha','Izquierda'],
|
|
40
|
+
example_value: 'right'
|
|
41
|
+
},
|
|
42
|
+
]
|
|
43
|
+
|
|
44
|
+
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// dame en un string el codigo html resultante de la renderizacion de este componente quitando las clases de tailwind y poniendo estilos inline de css, no debe tener codigo js, es para hcer una preview
|
|
2
|
+
|
|
3
|
+
import type { ComponentMetadata } from '../interfaces/types';
|
|
4
|
+
|
|
5
|
+
export const metadata: ComponentMetadata = {
|
|
6
|
+
component_name: 'TextImageHeader',
|
|
7
|
+
category: 'Contenido',
|
|
8
|
+
name: 'Contenido de texto con imagen y polígono con degradado',
|
|
9
|
+
description: 'Cabecera con texto destacado, imagen y botón de acción personalizable. Ideal para resaltar información clave en páginas principales.',
|
|
10
|
+
framework: 'Astro',
|
|
11
|
+
tags: ['card','lefebvre.es'],
|
|
12
|
+
fields: [
|
|
13
|
+
{
|
|
14
|
+
name: 'pretitle',
|
|
15
|
+
type: 'text',
|
|
16
|
+
label: 'Pretítulo',
|
|
17
|
+
mandatory: false,
|
|
18
|
+
example_value: 'CONÓCENOS'
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'title',
|
|
22
|
+
type: 'text',
|
|
23
|
+
label: 'Título',
|
|
24
|
+
mandatory: true,
|
|
25
|
+
example_value: 'Activamos el conocimiento, para una sociedad más justa, eficiente y sostenible'
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: 'description',
|
|
29
|
+
type: 'textArea',
|
|
30
|
+
label: 'Contenido principal (HTML)',
|
|
31
|
+
mandatory: true,
|
|
32
|
+
example_value: `<p><b>No trabajes más, trabaja mejor.</b> GenIA-L no sólo domina la jurisprudencia, sino que piensa como tú: además de hablar el mismo idioma,
|
|
33
|
+
es la primera IA que razona de forma lógica cómo abordar los desafíos legales más complejos.</p>
|
|
34
|
+
<p>En Lefebvre hemos ido un paso más allá, combinando el llamado razonamiento profundo con la base de datos jurídica más completa. ¿El resultado? La IA
|
|
35
|
+
jurídica más certera del mercado, con la que obtienes respuestas claras, razonadas y fundamentadas para abordar cualquier reto legal que te plantees en cuestión de segundos.</p>
|
|
36
|
+
`
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'buttonText',
|
|
40
|
+
type: 'text',
|
|
41
|
+
label: 'Texto del botón',
|
|
42
|
+
mandatory: true,
|
|
43
|
+
example_value: 'Descubre más sobre nosotros'
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'buttonUrl',
|
|
47
|
+
type: 'text',
|
|
48
|
+
label: 'URL del botón',
|
|
49
|
+
mandatory: true,
|
|
50
|
+
example_value: '/conocenos'
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: 'image',
|
|
54
|
+
type: 'text',
|
|
55
|
+
label: 'URL de la imagen',
|
|
56
|
+
mandatory: true,
|
|
57
|
+
example_value: 'https://lefebvre.es/build/images/bg-conocenos.d1b98242.webp'
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'orientation',
|
|
61
|
+
type: 'select',
|
|
62
|
+
label: 'Orientación de la figura',
|
|
63
|
+
options: ['right', 'left'],
|
|
64
|
+
options_labels: ['Derecha','Izquierda'],
|
|
65
|
+
example_value: 'left'
|
|
66
|
+
},
|
|
67
|
+
]
|
|
68
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// dame en un string el codigo html resultante de la renderizacion de este componente quitando las clases de tailwind y poniendo estilos inline de css, no debe tener codigo js, es para hcer una preview
|
|
2
|
+
|
|
3
|
+
import type { ComponentMetadata } from '../interfaces/types';
|
|
4
|
+
|
|
5
|
+
export const metadata: ComponentMetadata = {
|
|
6
|
+
component_name: 'VideoAutoplay',
|
|
7
|
+
category: 'Contenido',
|
|
8
|
+
name: 'Sección con video autoplay',
|
|
9
|
+
description: 'Sección con video que se reproduce automáticamente',
|
|
10
|
+
framework: 'Astro',
|
|
11
|
+
tags: ['video', 'autoplay', 'lefebvre.es'],
|
|
12
|
+
fields: [
|
|
13
|
+
{
|
|
14
|
+
name: 'title',
|
|
15
|
+
type: 'text',
|
|
16
|
+
label: 'Título',
|
|
17
|
+
mandatory: true,
|
|
18
|
+
example_value: 'Hoy empieza un nuevo capítulo de nuestra historia'
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'description',
|
|
22
|
+
type: 'text',
|
|
23
|
+
label: 'Contenido principal',
|
|
24
|
+
mandatory: true,
|
|
25
|
+
example_value: 'Somos quienes te han acompañado durante décadas. Somos quienes se anticipan contigo al futuro del conocimiento jurídico.'
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: 'iframeSrc',
|
|
29
|
+
type: 'text',
|
|
30
|
+
label: 'URL del iframe',
|
|
31
|
+
mandatory: true,
|
|
32
|
+
example_value: 'https://player.vimeo.com/video/1087114916?controls=0&autoplay=1&muted=1&loop=1&badge=0&autopause=0&player_id=0&app_id=58479'
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
};
|
package/src/carbins/VueButton.ts
CHANGED
|
@@ -3,9 +3,33 @@ import type { ComponentMetadata } from '../interfaces/types';
|
|
|
3
3
|
|
|
4
4
|
export const metadata: ComponentMetadata = {
|
|
5
5
|
component_name: 'VueButton',
|
|
6
|
+
category: 'Call to Action',
|
|
6
7
|
name: 'Botón en Vue',
|
|
7
8
|
description: 'Botón de prueba en Vue',
|
|
8
9
|
framework: 'Vue',
|
|
9
10
|
priority: 2,
|
|
10
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
|
+
]
|
|
11
35
|
};
|