libreria-astro-lefebvre 0.1.102 → 0.1.103
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
CHANGED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import type { ComponentMetadata } from '../interfaces/types';
|
|
2
|
+
|
|
3
|
+
export const metadata: ComponentMetadata = {
|
|
4
|
+
component_name: 'Footer_2027_Napoles',
|
|
5
|
+
category: 'Footer',
|
|
6
|
+
name: 'Footer corporativo con prefooter opcional, 4 columnas y RRSS 2027',
|
|
7
|
+
description: 'Footer corporativo con prefooter (4 columnas de enlaces) opcional, logo, textos legales, 5 iconos de redes sociales y separador final. La columna 1 ("Lefebvre") es FIJA y no admite configuración. La columna 2 es 100% modificable (título + items). La columna 3 ("Portales Lefebvre") tiene título fijo pero admite items extra y puede excluir de la lista el item cuyo link coincida con la URL del portal que consume el componente. La columna 4 es 100% modificable con hasta 2 grupos (título + items) y un bloque de HTML libre',
|
|
8
|
+
framework: 'Astro',
|
|
9
|
+
priority: 1,
|
|
10
|
+
tags: ['footer', 'corporativo', 'rrss', 'legales', 'navegacion', 'prefooter'],
|
|
11
|
+
fields: [
|
|
12
|
+
{
|
|
13
|
+
name: 'subdirectory',
|
|
14
|
+
type: 'text',
|
|
15
|
+
help: 'Ruta base del sitio (p. ej. "/genia-l"). Actualmente no se usa en el renderizado del componente (todos los enlaces son absolutos)',
|
|
16
|
+
label: 'Subdirectorio',
|
|
17
|
+
mandatory: false,
|
|
18
|
+
example_value: '/genia-l'
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'showPrefooter',
|
|
22
|
+
type: 'boolean',
|
|
23
|
+
help: 'Muestra u oculta el bloque de prefooter con las 4 columnas de enlaces. Por defecto se muestra (true)',
|
|
24
|
+
label: 'Mostrar prefooter',
|
|
25
|
+
mandatory: false,
|
|
26
|
+
example_value: true
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: 'showCondicionesContratacion',
|
|
30
|
+
type: 'boolean',
|
|
31
|
+
help: 'Muestra u oculta el enlace "Condiciones de contratación" en la línea de textos legales del footer. Por defecto NO se muestra (false)',
|
|
32
|
+
label: 'Mostrar "Condiciones de contratación"',
|
|
33
|
+
mandatory: false,
|
|
34
|
+
example_value: false
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: 'column2Title',
|
|
38
|
+
type: 'text',
|
|
39
|
+
help: 'Título de la segunda columna del prefooter. Si se deja vacío o no se pasa, se muestra el título por defecto "Soluciones y servicios"',
|
|
40
|
+
label: 'Título columna 2',
|
|
41
|
+
mandatory: false,
|
|
42
|
+
example_value: 'Soluciones y servicios'
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'column2Items',
|
|
46
|
+
type: 'list',
|
|
47
|
+
help: 'Enlaces de la segunda columna del prefooter. Si se deja vacío o no se pasa, se muestra el listado por defecto (Ecosistema Lefebvre, IA Jurídica, Mementos, Bases de datos jurídicas, Gestión de despachos, Compliance)',
|
|
48
|
+
label: 'Enlaces columna 2 (opcional)',
|
|
49
|
+
mandatory: false,
|
|
50
|
+
items: {
|
|
51
|
+
type: 'object',
|
|
52
|
+
fields: [
|
|
53
|
+
{ name: 'name', type: 'text', help: 'Texto visible del enlace', label: 'Texto del enlace', example_value: 'IA Jurídica' },
|
|
54
|
+
{ name: 'link', type: 'text', help: 'URL de destino del enlace', label: 'URL del enlace', example_value: 'https://lefebvre.es/tienda/ia-juridica' },
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: 'column3ExtraItems',
|
|
60
|
+
type: 'list',
|
|
61
|
+
help: 'Enlaces adicionales que se añaden a los ya existentes en la columna fija "Portales Lefebvre" (GenIA-L, LexON, Formación, ElDerecho.com, Espacioasesoria.com, Derecholocal.es, ESG)',
|
|
62
|
+
label: 'Enlaces extra columna "Portales Lefebvre" (opcional)',
|
|
63
|
+
mandatory: false,
|
|
64
|
+
items: {
|
|
65
|
+
type: 'object',
|
|
66
|
+
fields: [
|
|
67
|
+
{ name: 'name', type: 'text', help: 'Texto visible del enlace', label: 'Texto del enlace', example_value: 'Nuevo portal' },
|
|
68
|
+
{ name: 'link', type: 'text', help: 'URL de destino del enlace', label: 'URL del enlace', example_value: 'https://lefebvre.es/nuevo-portal/' },
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: 'currentUrl',
|
|
74
|
+
type: 'text',
|
|
75
|
+
help: 'URL del portal que está pintando este footer. Si coincide (comparación normalizada, ignorando protocolo, "www." y barra final) con el link de algún item de la columna "Portales Lefebvre" (por defecto o extra), ese item NO se pinta, para no enlazar el portal a sí mismo',
|
|
76
|
+
label: 'URL del portal actual (opcional)',
|
|
77
|
+
mandatory: false,
|
|
78
|
+
example_value: 'https://elderecho.com'
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
name: 'column4Group1Title',
|
|
82
|
+
type: 'text',
|
|
83
|
+
help: 'Título del primer grupo de enlaces de la columna 4. Si se deja vacío o no se pasa, se muestra el título por defecto "Tienda online"',
|
|
84
|
+
label: 'Título columna 4 - grupo 1',
|
|
85
|
+
mandatory: false,
|
|
86
|
+
example_value: 'Tienda online'
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: 'column4Group1Items',
|
|
90
|
+
type: 'list',
|
|
91
|
+
help: 'Enlaces del primer grupo de la columna 4. Si se deja vacío o no se pasa, se muestra el listado por defecto (Nuestros productos)',
|
|
92
|
+
label: 'Enlaces columna 4 - grupo 1 (opcional)',
|
|
93
|
+
mandatory: false,
|
|
94
|
+
items: {
|
|
95
|
+
type: 'object',
|
|
96
|
+
fields: [
|
|
97
|
+
{ name: 'name', type: 'text', help: 'Texto visible del enlace', label: 'Texto del enlace', example_value: 'Nuestros productos' },
|
|
98
|
+
{ name: 'link', type: 'text', help: 'URL de destino del enlace', label: 'URL del enlace', example_value: 'https://lefebvre.es/tienda/' },
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: 'column4Group2Title',
|
|
104
|
+
type: 'text',
|
|
105
|
+
help: 'Título del segundo grupo de enlaces de la columna 4 (p. ej. "Atención al cliente"). La visibilidad de este grupo depende únicamente de "column4Group2Items": si ese listado está vacío, el grupo no se pinta aunque aquí se indique un título',
|
|
106
|
+
label: 'Título columna 4 - grupo 2 (opcional)',
|
|
107
|
+
mandatory: false,
|
|
108
|
+
example_value: 'Atención al cliente'
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: 'column4Group2Items',
|
|
112
|
+
type: 'list',
|
|
113
|
+
help: 'Enlaces del segundo grupo de la columna 4. Opcional: si se deja vacío, este grupo no se pinta',
|
|
114
|
+
label: 'Enlaces columna 4 - grupo 2 (opcional)',
|
|
115
|
+
mandatory: false,
|
|
116
|
+
items: {
|
|
117
|
+
type: 'object',
|
|
118
|
+
fields: [
|
|
119
|
+
{ name: 'name', type: 'text', help: 'Texto visible del enlace', label: 'Texto del enlace', example_value: 'Contacto' },
|
|
120
|
+
{ name: 'link', type: 'text', help: 'URL de destino del enlace', label: 'URL del enlace', example_value: 'https://lefebvre.es/contacto/' },
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: 'column4Html',
|
|
126
|
+
type: 'textArea',
|
|
127
|
+
help: 'Bloque de HTML libre que se pinta al final de la columna 4, después del grupo 1 y del grupo 2 (si existen). Opcional: si se deja vacío, no se pinta nada',
|
|
128
|
+
label: 'HTML libre columna 4 (opcional)',
|
|
129
|
+
mandatory: false,
|
|
130
|
+
example_value: '<p>Descárgate nuestra app</p>'
|
|
131
|
+
},
|
|
132
|
+
]
|
|
133
|
+
};
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
---
|
|
2
|
+
import Separador_2025_Reinosa from './Separador_2025_Reinosa.astro';
|
|
3
|
+
|
|
4
|
+
interface FooterLinkItem {
|
|
5
|
+
name: string;
|
|
6
|
+
link: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const {
|
|
10
|
+
subdirectory = "",
|
|
11
|
+
// El prefooter (columnas de enlaces) se pinta por defecto: ocultarlo pasando showPrefooter={false}.
|
|
12
|
+
showPrefooter = true,
|
|
13
|
+
// "Condiciones de contratación" no se pinta por defecto: activarla pasando showCondicionesContratacion={true}.
|
|
14
|
+
showCondicionesContratacion = false,
|
|
15
|
+
// Columna 2: 100% modificable. Si no llega título o items, se pinta el bloque por defecto.
|
|
16
|
+
column2Title = 'Soluciones y servicios',
|
|
17
|
+
column2Items: column2ItemsProp = undefined as FooterLinkItem[] | undefined,
|
|
18
|
+
// Columna 3 ("Portales Lefebvre"): título fijo. Se pueden añadir items extra a los ya existentes.
|
|
19
|
+
column3ExtraItems: column3ExtraItemsProp = undefined as FooterLinkItem[] | undefined,
|
|
20
|
+
// URL del portal que consume el componente: si coincide con el link de un item de la columna 3, ese item no se pinta.
|
|
21
|
+
currentUrl = '',
|
|
22
|
+
// Columna 4: 100% modificable, hasta 2 grupos (título + items) y un bloque de HTML libre.
|
|
23
|
+
column4Group1Title = 'Tienda online',
|
|
24
|
+
column4Group1Items: column4Group1ItemsProp = undefined as FooterLinkItem[] | undefined,
|
|
25
|
+
column4Group2Title = '',
|
|
26
|
+
column4Group2Items: column4Group2ItemsProp = undefined as FooterLinkItem[] | undefined,
|
|
27
|
+
column4Html = '',
|
|
28
|
+
} = Astro.props;
|
|
29
|
+
|
|
30
|
+
const normalizeUrl = (url: string) =>
|
|
31
|
+
url.trim().toLowerCase().replace(/^https?:\/\/(www\.)?/, '').replace(/\/+$/, '');
|
|
32
|
+
|
|
33
|
+
const resolveLinkItems = (items: FooterLinkItem[] | undefined, fallback: FooterLinkItem[] = []): FooterLinkItem[] =>
|
|
34
|
+
(items && items.length > 0) ? items : fallback;
|
|
35
|
+
|
|
36
|
+
const FALLBACK_COLUMN2_ITEMS: FooterLinkItem[] = [
|
|
37
|
+
{ name: 'Ecosistema Lefebvre', link: 'https://lefebvre.es/ecosistema-productos/' },
|
|
38
|
+
{ name: 'IA Jurídica', link: 'https://lefebvre.es/tienda/ia-juridica' },
|
|
39
|
+
{ name: 'Mementos', link: 'https://lefebvre.es/tienda/catalogo/mementos' },
|
|
40
|
+
{ name: 'Bases de datos jurídicas', link: 'https://lefebvre.es/tienda/bases-de-datos-juridicas' },
|
|
41
|
+
{ name: 'Gestión de despachos', link: 'https://lefebvre.es/tienda/software/programa-gestion-despachos-abogados-lexon' },
|
|
42
|
+
{ name: 'Compliance', link: 'https://lefebvre.es/tienda/software/compliance-centinela' },
|
|
43
|
+
];
|
|
44
|
+
|
|
45
|
+
const FALLBACK_COLUMN3_ITEMS: FooterLinkItem[] = [
|
|
46
|
+
{ name: 'GenIA-L', link: 'https://lefebvre.es/genia-l/' },
|
|
47
|
+
{ name: 'LexON', link: 'https://lefebvre.es/lexon/' },
|
|
48
|
+
{ name: 'Formación', link: 'https://lefebvre.es/formacion/' },
|
|
49
|
+
{ name: 'ElDerecho.com', link: 'https://elderecho.com' },
|
|
50
|
+
{ name: 'Espacioasesoria.com', link: 'https://espacioasesoria.com' },
|
|
51
|
+
{ name: 'Derecholocal.es', link: 'https://derecholocal.es' },
|
|
52
|
+
{ name: 'ESG', link: 'https://lefebvre.es/esg/' },
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
const FALLBACK_COLUMN4_GROUP1_ITEMS: FooterLinkItem[] = [
|
|
56
|
+
{ name: 'Nuestros productos', link: 'https://lefebvre.es/tienda/' },
|
|
57
|
+
];
|
|
58
|
+
|
|
59
|
+
const column2Items = resolveLinkItems(column2ItemsProp, FALLBACK_COLUMN2_ITEMS);
|
|
60
|
+
|
|
61
|
+
const normalizedCurrentUrl = currentUrl ? normalizeUrl(currentUrl) : '';
|
|
62
|
+
const column3Items = [...FALLBACK_COLUMN3_ITEMS, ...(column3ExtraItemsProp ?? [])]
|
|
63
|
+
.filter(item => !normalizedCurrentUrl || normalizeUrl(item.link) !== normalizedCurrentUrl);
|
|
64
|
+
|
|
65
|
+
const column4Group1Items = resolveLinkItems(column4Group1ItemsProp, FALLBACK_COLUMN4_GROUP1_ITEMS);
|
|
66
|
+
const column4Group2Items = resolveLinkItems(column4Group2ItemsProp);
|
|
67
|
+
|
|
68
|
+
const categories = [
|
|
69
|
+
{
|
|
70
|
+
name: 'Lefebvre', // columna 1: FIJA, no configurable
|
|
71
|
+
subcategories: [
|
|
72
|
+
{ name: 'Lefebvre.es', link: 'https://lefebvre.es' },
|
|
73
|
+
{ name: 'Conócenos', link: 'https://lefebvre.es/cultura-empresarial/equipo-direccion/' },
|
|
74
|
+
{ name: 'Trabaja con nosotros', link: 'https://lefebvre.es/talento/' },
|
|
75
|
+
{ name: 'Contacto Lefebvre', link: 'https://lefebvre.es/contacto/' },
|
|
76
|
+
{ name: 'Canal ético', link: 'https://lefebvre.es/etica-cumplimiento/' },
|
|
77
|
+
{ name: 'Partners', link: 'https://lefebvre.es/cultura-empresarial/' },
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
name: column2Title, // columna 2: 100% modificable
|
|
82
|
+
subcategories: column2Items,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'Portales Lefebvre', // columna 3: título FIJO, items ampliables y filtrables por currentUrl
|
|
86
|
+
subcategories: column3Items,
|
|
87
|
+
},
|
|
88
|
+
];
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
<footer class="w-full">
|
|
92
|
+
{showPrefooter && (
|
|
93
|
+
<div class="bg-white text-[#363942] py-10 border-t border-gray-300">
|
|
94
|
+
<div class="max-w-7xl flex-wrap md:flex-nowrap w-full px-4 md:px-0 flex items-start mx-auto">
|
|
95
|
+
{categories.map(category => (
|
|
96
|
+
<div class="w-1/2 flex-nowrap px-2 md:px-4 mb-4 flex-1">
|
|
97
|
+
<p class="font-poppins text-xl text-[#262626] font-semibold mb-4">{category.name}</p>
|
|
98
|
+
<ul>
|
|
99
|
+
{category.subcategories.map(sub => (
|
|
100
|
+
<li>
|
|
101
|
+
<a href={sub.link} class="text-[#363942] font-inter hover:underline transition-colors duration-200 block py-1" target="_blank">
|
|
102
|
+
{sub.name}
|
|
103
|
+
</a>
|
|
104
|
+
</li>
|
|
105
|
+
))}
|
|
106
|
+
</ul>
|
|
107
|
+
</div>
|
|
108
|
+
))}
|
|
109
|
+
<div class="w-1/2 flex-nowrap px-2 md:px-4 mb-4 flex-1">
|
|
110
|
+
<p class="font-poppins text-xl text-[#262626] font-semibold mb-4">{column4Group1Title}</p>
|
|
111
|
+
<ul>
|
|
112
|
+
{column4Group1Items.map(item => (
|
|
113
|
+
<li>
|
|
114
|
+
<a href={item.link} class="text-[#363942] font-inter hover:underline transition-colors duration-200 block py-1" target="_blank">
|
|
115
|
+
{item.name}
|
|
116
|
+
</a>
|
|
117
|
+
</li>
|
|
118
|
+
))}
|
|
119
|
+
</ul>
|
|
120
|
+
{column4Group2Items.length > 0 && (
|
|
121
|
+
<>
|
|
122
|
+
<p class="font-poppins text-xl text-[#262626] font-semibold mt-6 mb-4">{column4Group2Title}</p>
|
|
123
|
+
<ul>
|
|
124
|
+
{column4Group2Items.map(item => (
|
|
125
|
+
<li>
|
|
126
|
+
<a href={item.link} class="text-[#363942] font-inter hover:underline transition-colors duration-200 block py-1" target="_blank">
|
|
127
|
+
{item.name}
|
|
128
|
+
</a>
|
|
129
|
+
</li>
|
|
130
|
+
))}
|
|
131
|
+
</ul>
|
|
132
|
+
</>
|
|
133
|
+
)}
|
|
134
|
+
{column4Html && (
|
|
135
|
+
<div class="mt-6" set:html={column4Html} />
|
|
136
|
+
)}
|
|
137
|
+
</div>
|
|
138
|
+
</div>
|
|
139
|
+
</div>
|
|
140
|
+
)}
|
|
141
|
+
<div class="bg-[white] text-[#262626] border-t border-gray-300">
|
|
142
|
+
<div class="flex flex-col md:flex-row gap-8 max-w-7xl mx-auto p-8 md:px-2">
|
|
143
|
+
<div class="flex flex-col flex-[4_4_0%]">
|
|
144
|
+
<div class="mb-8">
|
|
145
|
+
<img src="https://assets.lefebvre.es/media/logos-2/svg/lefebvre.svg" alt="Lefebvre" width="160" height="40" class="h-10" loading="lazy" />
|
|
146
|
+
</div>
|
|
147
|
+
<div>
|
|
148
|
+
<ul class="flex flex-wrap gap-2 text-sm text-gray-800">
|
|
149
|
+
<li>
|
|
150
|
+
<span class="flex items-center font-inter gap-1">
|
|
151
|
+
© Lefebvre {new Date().getFullYear()}. Todos los derechos reservados.
|
|
152
|
+
</span>
|
|
153
|
+
</li>
|
|
154
|
+
<li><a href="https://lefebvre.es/aviso-legal/" class="font-inter hover:underline">Aviso legal</a></li>
|
|
155
|
+
<li><span aria-hidden="true" class="mr-2">·</span><a href="https://lefebvre.es/politica-privacidad/" class="font-inter hover:underline">Política de privacidad</a></li>
|
|
156
|
+
<li><span aria-hidden="true" class="mr-2">·</span><a href="https://lefebvre.es/politica-de-cookies/" class="font-inter hover:underline">Política de cookies</a></li>
|
|
157
|
+
{showCondicionesContratacion && (
|
|
158
|
+
<li><span aria-hidden="true" class="mr-2">·</span><a href="https://lefebvre.es/condiciones/" class="font-inter hover:underline">Condiciones de contratación</a></li>
|
|
159
|
+
)}
|
|
160
|
+
</ul>
|
|
161
|
+
</div>
|
|
162
|
+
</div>
|
|
163
|
+
<div class="flex flex-1 items-start justify-start md:justify-end">
|
|
164
|
+
<a href="https://www.instagram.com/lefebvre_es/" class="mx-2 first-of-type:ml-0" aria-label="Instagram">
|
|
165
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none">
|
|
166
|
+
<path d="M21.2725 0C22.5262 0 23.7287 0.49823 24.6152 1.38477C25.5018 2.2713 26 3.47379 26 4.72754V21.2725C26 22.5262 25.5018 23.7287 24.6152 24.6152C23.7287 25.5018 22.5262 26 21.2725 26H4.72754C3.47379 26 2.2713 25.5018 1.38477 24.6152C0.49823 23.7287 0 22.5262 0 21.2725V4.72754C0 3.47379 0.49823 2.2713 1.38477 1.38477C2.2713 0.49823 3.47379 0 4.72754 0H21.2725ZM8.10742 3.5459C5.58811 3.5459 3.5459 5.58811 3.5459 8.10742V17.8926C3.5459 20.4119 5.58811 22.4541 8.10742 22.4541H17.8926C20.4119 22.4541 22.4541 20.4119 22.4541 17.8926V8.10742C22.4541 5.58811 20.4119 3.5459 17.8926 3.5459H8.10742ZM17.8926 5.3291C19.4267 5.3291 20.6709 6.57331 20.6709 8.10742V17.8926C20.6709 19.4267 19.4267 20.6709 17.8926 20.6709H8.10742C6.57331 20.6709 5.3291 19.4267 5.3291 17.8926V8.10742C5.3291 6.57331 6.57331 5.3291 8.10742 5.3291H17.8926ZM13 8.30273C11.7541 8.30273 10.5597 8.79775 9.67871 9.67871C8.79775 10.5597 8.30273 11.7541 8.30273 13C8.30274 14.2459 8.79775 15.4403 9.67871 16.3213C10.5597 17.2022 11.7541 17.6973 13 17.6973C14.2459 17.6973 15.4403 17.2022 16.3213 16.3213C17.2022 15.4403 17.6973 14.2459 17.6973 13C17.6973 11.7541 17.2022 10.5597 16.3213 9.67871C15.4403 8.79775 14.2459 8.30274 13 8.30273ZM13 10.0859C13.7728 10.0859 14.5141 10.393 15.0605 10.9395C15.607 11.4859 15.9141 12.2272 15.9141 13C15.9141 13.7728 15.607 14.5141 15.0605 15.0605C14.5141 15.607 13.7728 15.9141 13 15.9141C12.2272 15.9141 11.4859 15.607 10.9395 15.0605C10.393 14.5141 10.0859 13.7728 10.0859 13C10.0859 12.2272 10.393 11.4859 10.9395 10.9395C11.4859 10.393 12.2272 10.0859 13 10.0859ZM17.6973 7.41016C17.2048 7.41016 16.8059 7.80937 16.8057 8.30176C16.8057 8.79436 17.2047 9.19434 17.6973 9.19434C18.1898 9.1943 18.5889 8.79434 18.5889 8.30176C18.5886 7.80939 18.1897 7.4102 17.6973 7.41016Z" fill="#363942"/>
|
|
167
|
+
</svg>
|
|
168
|
+
</a>
|
|
169
|
+
<a href="https://www.facebook.com/Lefebvre.ES/" class="mx-2" aria-label="Facebook">
|
|
170
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none">
|
|
171
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.72727 0C3.47352 0 2.27112 0.498051 1.38459 1.38459C0.498051 2.27112 0 3.47352 0 4.72727V21.2727C0 22.5265 0.498051 23.7289 1.38459 24.6154C2.27112 25.502 3.47352 26 4.72727 26H21.2727C22.5265 26 23.7289 25.502 24.6154 24.6154C25.502 23.7289 26 22.5265 26 21.2727V4.72727C26 3.47352 25.502 2.27112 24.6154 1.38459C23.7289 0.498051 22.5265 0 21.2727 0H4.72727ZM10.2605 7.41355C10.2605 6.38787 10.6679 5.40418 11.3931 4.67881C12.1182 3.95344 13.1018 3.54577 14.1275 3.54545H17.5665C17.8029 3.54545 17.9955 3.73809 17.9955 3.97564V7.41355C17.9955 7.64991 17.8029 7.84255 17.5665 7.84255H15.847C15.6777 7.84255 15.5101 7.87591 15.3538 7.94072C15.1974 8.00553 15.0553 8.10052 14.9357 8.22026C14.8161 8.34001 14.7212 8.48215 14.6565 8.63858C14.5919 8.79501 14.5587 8.96264 14.5588 9.13191V10.4213H17.5665C17.6318 10.4215 17.6961 10.4365 17.7546 10.4653C17.8132 10.494 17.8645 10.5357 17.9045 10.5871C17.9446 10.6386 17.9725 10.6985 17.986 10.7623C17.9995 10.8261 17.9983 10.8922 17.9825 10.9555L17.1234 14.3945C17.0999 14.4873 17.0461 14.5696 16.9705 14.6283C16.8949 14.6869 16.8019 14.7186 16.7062 14.7184H14.5576V22.0244C14.5576 22.1385 14.5123 22.2479 14.4316 22.3285C14.351 22.4092 14.2415 22.4545 14.1275 22.4545H10.6895C10.5757 22.4542 10.4665 22.4088 10.3861 22.3281C10.3057 22.2475 10.2605 22.1383 10.2605 22.0244V14.7195H8.112C7.99791 14.7195 7.88849 14.6742 7.80782 14.5935C7.72714 14.5129 7.68182 14.4035 7.68182 14.2894V10.8503C7.68182 10.6139 7.87446 10.4213 8.112 10.4213H10.2605V7.41355Z" fill="#363942"/>
|
|
172
|
+
</svg>
|
|
173
|
+
</a>
|
|
174
|
+
<a href="https://www.linkedin.com/company/lefebvre_es" class="mx-2" aria-label="LinkedIn">
|
|
175
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none">
|
|
176
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.72727 0C3.47352 0 2.27112 0.498051 1.38459 1.38459C0.498051 2.27112 0 3.47352 0 4.72727V21.2727C0 22.5265 0.498051 23.7289 1.38459 24.6154C2.27112 25.502 3.47352 26 4.72727 26H21.2727C22.5265 26 23.7289 25.502 24.6154 24.6154C25.502 23.7289 26 22.5265 26 21.2727V4.72727C26 3.47352 25.502 2.27112 24.6154 1.38459C23.7289 0.498051 22.5265 0 21.2727 0H4.72727ZM6.15136 8.16636C6.68578 8.16636 7.1983 7.95407 7.57618 7.57618C7.95407 7.1983 8.16636 6.68578 8.16636 6.15136C8.16636 5.61695 7.95407 5.10443 7.57618 4.72654C7.1983 4.34866 6.68578 4.13636 6.15136 4.13636C5.61695 4.13636 5.10443 4.34866 4.72654 4.72654C4.34866 5.10443 4.13636 5.61695 4.13636 6.15136C4.13636 6.68578 4.34866 7.1983 4.72654 7.57618C5.10443 7.95407 5.61695 8.16636 6.15136 8.16636ZM8.16518 21.8636V9.77718H4.13636V21.8636H8.16636H8.16518ZM13.403 9.77718H9.77718V21.8636H13.403V14.5718C13.8698 13.8131 14.6758 13 15.8198 13C17.4318 13 17.8348 14.612 17.8348 15.418V21.8636H21.8636V15.418C21.8636 13.2576 20.9217 9.77718 17.4318 9.77718C15.2124 9.77718 13.9809 10.5867 13.4018 11.3455V9.77718H13.403Z" fill="#363942"/>
|
|
177
|
+
</svg>
|
|
178
|
+
</a>
|
|
179
|
+
<a href="https://twitter.com/Lefebvre_ES" class="mx-2" aria-label="X.com">
|
|
180
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none">
|
|
181
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.72727 0C2.11647 0 0 2.11647 0 4.72727V21.2727C0 23.8835 2.11647 26 4.72727 26H21.2727C23.8835 26 26 23.8835 26 21.2727V4.72727C26 2.11647 23.8835 0 21.2727 0H4.72727ZM4.3322 4.13636C4.12496 4.2135 3.9501 4.36692 3.84804 4.57163C3.69807 4.8724 3.73113 5.23213 3.9334 5.50055L10.5683 14.3054L3.57681 21.8029C3.55848 21.8226 3.54122 21.8428 3.52502 21.8636H5.9441L11.6517 15.743L16.0401 21.5668C16.143 21.7033 16.2816 21.8053 16.4377 21.8636H21.664C21.8706 21.7863 22.045 21.6332 22.1468 21.4288C22.2968 21.1281 22.2638 20.7683 22.0615 20.4999L15.4265 11.695L22.475 4.13636H20.0511L14.3431 10.2574L9.95469 4.43369C9.85153 4.2968 9.71247 4.19464 9.55583 4.13636H4.3322ZM17.19 20.147L6.41905 5.85347H8.80488L19.5759 20.147H17.19Z" fill="#363942"/>
|
|
182
|
+
</svg>
|
|
183
|
+
</a>
|
|
184
|
+
<a href="https://www.youtube.com/c/lefebvre_es" class="mx-2" aria-label="YouTube">
|
|
185
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26" fill="none">
|
|
186
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.72727 0C3.47352 0 2.27112 0.498051 1.38459 1.38459C0.498051 2.27112 0 3.47352 0 4.72727V21.2727C0 22.5265 0.498051 23.7289 1.38459 24.6154C2.27112 25.502 3.47352 26 4.72727 26H21.2727C22.5265 26 23.7289 25.502 24.6154 24.6154C25.502 23.7289 26 22.5265 26 21.2727V4.72727C26 3.47352 25.502 2.27112 24.6154 1.38459C23.7289 0.498051 22.5265 0 21.2727 0H4.72727ZM4.13636 13C4.13636 11.7307 4.19545 10.5335 4.27464 9.529C4.3251 8.80617 4.63522 8.12596 5.1478 7.61382C5.66038 7.10167 6.34085 6.79213 7.06373 6.74227C9.03965 6.60944 11.0196 6.54637 13 6.55318C15.5492 6.55318 17.5051 6.64064 18.9363 6.74227C19.6591 6.79213 20.3396 7.10167 20.8522 7.61382C21.3648 8.12596 21.6749 8.80617 21.7254 9.529C21.8034 10.5335 21.8636 11.7307 21.8636 13C21.8636 14.3154 21.7998 15.5527 21.7171 16.5785C21.5989 18.0428 20.4833 19.1608 19.0438 19.2613C17.0319 19.3919 15.0161 19.4538 13 19.4468C10.426 19.4468 8.40273 19.3617 6.95618 19.2613C5.51673 19.1608 4.40109 18.0428 4.28291 16.5785C4.18679 15.3881 4.1379 14.1943 4.13636 13ZM10.7971 9.99227L15.8198 13L10.7971 16.0089V9.99109V9.99227Z" fill="#363942"/>
|
|
187
|
+
</svg>
|
|
188
|
+
</a>
|
|
189
|
+
</div>
|
|
190
|
+
</div>
|
|
191
|
+
</div>
|
|
192
|
+
<Separador_2025_Reinosa />
|
|
193
|
+
</footer>
|
|
@@ -43,6 +43,7 @@ import * as Enlace_2025_Venecia from '../carbins/Enlace_2025_Venecia.ts';
|
|
|
43
43
|
import * as FAQ_2025_Hiroshima from '../carbins/FAQ_2025_Hiroshima.ts';
|
|
44
44
|
import * as Footer_2025_Napoles from '../carbins/Footer_2025_Napoles.ts';
|
|
45
45
|
import * as Footer_2026_Napoles from '../carbins/Footer_2026_Napoles.ts';
|
|
46
|
+
import * as Footer_2027_Napoles from '../carbins/Footer_2027_Napoles.ts';
|
|
46
47
|
import * as Formulario_2025_Nara from '../carbins/Formulario_2025_Nara.ts';
|
|
47
48
|
import * as Formulario_2025_Seul from '../carbins/Formulario_2025_Seul.ts';
|
|
48
49
|
import * as Formulario_2025_Teruel from '../carbins/Formulario_2025_Teruel.ts';
|
|
@@ -141,6 +142,7 @@ export const components = [
|
|
|
141
142
|
{component: FAQ_2025_Hiroshima},
|
|
142
143
|
{component: Footer_2025_Napoles},
|
|
143
144
|
{component: Footer_2026_Napoles},
|
|
145
|
+
{component: Footer_2027_Napoles},
|
|
144
146
|
{component: Formulario_2025_Nara},
|
|
145
147
|
{component: Formulario_2025_Seul},
|
|
146
148
|
{component: Formulario_2025_Teruel},
|
package/src/index.ts
CHANGED
|
@@ -49,6 +49,7 @@ import Enlace_2025_Venecia from './components/Astro/Enlace_2025_Venecia.astro';
|
|
|
49
49
|
import FAQ_2025_Hiroshima from './components/Astro/FAQ_2025_Hiroshima.astro';
|
|
50
50
|
import Footer_2025_Napoles from './components/Astro/Footer_2025_Napoles.astro';
|
|
51
51
|
import Footer_2026_Napoles from './components/Astro/Footer_2026_Napoles.astro';
|
|
52
|
+
import Footer_2027_Napoles from './components/Astro/Footer_2027_Napoles.astro';
|
|
52
53
|
import Formulario_2025_Nara from './components/Astro/Formulario_2025_Nara.astro';
|
|
53
54
|
import Formulario_2025_Seul from './components/Astro/Formulario_2025_Seul.astro';
|
|
54
55
|
import Formulario_2025_Teruel from './components/Astro/Formulario_2025_Teruel.astro';
|
|
@@ -106,7 +107,7 @@ import ReactButton from './components/React/ReactButton.jsx';
|
|
|
106
107
|
// Exporta todos los componentes uno a uno para que puedan ser usados directamente.
|
|
107
108
|
|
|
108
109
|
|
|
109
|
-
export { VueButton, Author_2025_Algarve, Button, CTA_2025_Formentera, Cabecera_2025_Barcelona, Cabecera_2025_Madrid, Cabecera_2026_Bilbao, Cabecera_2026_Dakota, Cabecera_2026_Madrid, Calculadora_2026_Lisboa, Card_2025_Malta, Contenido_2025_Alcorcon, Contenido_2025_Cordoba, Contenido_2025_Granada, Contenido_2025_Malaga, Contenido_2025_Montevideo, Contenido_2026_Cabra, Contenido_2026_Castellon, Contenido_2026_Denia, Contenido_2026_Dubai, Contenido_2026_Estepona, Contenido_2026_Estocolmo, Contenido_2026_Huesca, Contenido_2026_Jaen, Contenido_2026_Leon, Contenido_2026_Mallorca, Contenido_2026_Marruecos, Contenido_2026_Menorca, Contenido_2026_Michigan, Contenido_2026_Moraira, Contenido_2026_Mostoles, Contenido_2026_Orcasitas, Contenido_2026_Oslo, Contenido_2026_Quito, Contenido_2026_Seattle, Contenido_2026_Sevilla, Contenido_2026_Tokyo, Contenido_2026_Ubeda, Contenido_2026_Yakarta, CorpFooter, CorpHero, CorpNavigation, Enlace_2025_Venecia, FAQ_2025_Hiroshima, Footer_2025_Napoles, Footer_2026_Napoles, Formulario_2025_Nara, Formulario_2025_Seul, Formulario_2025_Teruel, Formulario_2026_Carabanchel, Formulario_2026_Wichita, Galeria_2026_Segorbe, GeometricShape, GeometricShapeCard, Grid_2026_Aldaia, HeaderCorporativo, Hero_2025_Benidorm, Hero_2026_Benidorm, Hero_2026_Lliria, ImageTextSimple, Imagen_2025_Bogota, Imagen_2025_Fukushima, Imagen_2026_Algar, Indice_2025_Taiwan, Mapa_2026_Girona, Modal_2025_Sagunto, Modal_2026_Almeria, Paginacion_2025_Paris, RRSS_2025_Pisa, SEO_Head_Section, SEO_Schema_Page, Separador_2025_Reinosa, Separador_2025_Toledo, Separador_2026_Teulada, Share_2025_Florencia, SpectrumSeparator, Sumario_2025_Beijing, Tabla_2025_Fuenlabrada, Tabla_2026_Cadiz, Tag_2025_Bolonia, TestHijo, TestPadre, Test_2026_Gaza, TextBox, TextImageBackground, TextImageBlock, TextImageCard, TextImageHeader, Texto_2025_Kyoto, Texto_2026_Alicante, Texto_2026_Castellon, Tiempo_2025_Londres, Titulo_2025_Algeciras, Titulo_2025_Santorini, VideoAutoplay, Video_2025_Polop, Video_2025_Valencia, Video_2026_Andujar, ReactButton };
|
|
110
|
+
export { VueButton, Author_2025_Algarve, Button, CTA_2025_Formentera, Cabecera_2025_Barcelona, Cabecera_2025_Madrid, Cabecera_2026_Bilbao, Cabecera_2026_Dakota, Cabecera_2026_Madrid, Calculadora_2026_Lisboa, Card_2025_Malta, Contenido_2025_Alcorcon, Contenido_2025_Cordoba, Contenido_2025_Granada, Contenido_2025_Malaga, Contenido_2025_Montevideo, Contenido_2026_Cabra, Contenido_2026_Castellon, Contenido_2026_Denia, Contenido_2026_Dubai, Contenido_2026_Estepona, Contenido_2026_Estocolmo, Contenido_2026_Huesca, Contenido_2026_Jaen, Contenido_2026_Leon, Contenido_2026_Mallorca, Contenido_2026_Marruecos, Contenido_2026_Menorca, Contenido_2026_Michigan, Contenido_2026_Moraira, Contenido_2026_Mostoles, Contenido_2026_Orcasitas, Contenido_2026_Oslo, Contenido_2026_Quito, Contenido_2026_Seattle, Contenido_2026_Sevilla, Contenido_2026_Tokyo, Contenido_2026_Ubeda, Contenido_2026_Yakarta, CorpFooter, CorpHero, CorpNavigation, Enlace_2025_Venecia, FAQ_2025_Hiroshima, Footer_2025_Napoles, Footer_2026_Napoles, Footer_2027_Napoles, Formulario_2025_Nara, Formulario_2025_Seul, Formulario_2025_Teruel, Formulario_2026_Carabanchel, Formulario_2026_Wichita, Galeria_2026_Segorbe, GeometricShape, GeometricShapeCard, Grid_2026_Aldaia, HeaderCorporativo, Hero_2025_Benidorm, Hero_2026_Benidorm, Hero_2026_Lliria, ImageTextSimple, Imagen_2025_Bogota, Imagen_2025_Fukushima, Imagen_2026_Algar, Indice_2025_Taiwan, Mapa_2026_Girona, Modal_2025_Sagunto, Modal_2026_Almeria, Paginacion_2025_Paris, RRSS_2025_Pisa, SEO_Head_Section, SEO_Schema_Page, Separador_2025_Reinosa, Separador_2025_Toledo, Separador_2026_Teulada, Share_2025_Florencia, SpectrumSeparator, Sumario_2025_Beijing, Tabla_2025_Fuenlabrada, Tabla_2026_Cadiz, Tag_2025_Bolonia, TestHijo, TestPadre, Test_2026_Gaza, TextBox, TextImageBackground, TextImageBlock, TextImageCard, TextImageHeader, Texto_2025_Kyoto, Texto_2026_Alicante, Texto_2026_Castellon, Tiempo_2025_Londres, Titulo_2025_Algeciras, Titulo_2025_Santorini, VideoAutoplay, Video_2025_Polop, Video_2025_Valencia, Video_2026_Andujar, ReactButton };
|
|
110
111
|
|
|
111
112
|
|
|
112
113
|
// Exporta la función listComponents para que sea usado en el Pagebuilder en Vue.
|
|
@@ -167,6 +168,7 @@ export const components = {
|
|
|
167
168
|
FAQ_2025_Hiroshima: FAQ_2025_Hiroshima,
|
|
168
169
|
Footer_2025_Napoles: Footer_2025_Napoles,
|
|
169
170
|
Footer_2026_Napoles: Footer_2026_Napoles,
|
|
171
|
+
Footer_2027_Napoles: Footer_2027_Napoles,
|
|
170
172
|
Formulario_2025_Nara: Formulario_2025_Nara,
|
|
171
173
|
Formulario_2025_Seul: Formulario_2025_Seul,
|
|
172
174
|
Formulario_2025_Teruel: Formulario_2025_Teruel,
|