libreria-astro-lefebvre 0.1.87 → 0.1.89
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,53 @@
|
|
|
1
|
+
import type { ComponentMetadata } from '../interfaces/types';
|
|
2
|
+
|
|
3
|
+
export const metadata: ComponentMetadata = {
|
|
4
|
+
component_name: 'Separador_2026_Teulada',
|
|
5
|
+
category: 'Separador',
|
|
6
|
+
name: 'Separador con imagen de fondo, título y botón 2026',
|
|
7
|
+
description: 'Franja separadora a todo el ancho con imagen de fondo (background cover centrado) y 64px de padding vertical. Sobre la imagen se muestra, centrado y en blanco, un título h2 opcional (Poppins 20px semibold) y un botón opcional con borde blanco que al pasar el ratón se rellena de blanco con texto azul #2134F1. Para separadores sin imagen usa Separador_2025_Toledo o Separador_2025_Reinosa',
|
|
8
|
+
framework: 'Astro',
|
|
9
|
+
priority: 1,
|
|
10
|
+
tags: ['separador', 'banner', 'imagen', 'cta', 'boton', 'franja'],
|
|
11
|
+
fields: [
|
|
12
|
+
{
|
|
13
|
+
name: 'title',
|
|
14
|
+
type: 'text',
|
|
15
|
+
help: 'Título que aparece centrado sobre la imagen (h2 en blanco). Si se deja vacío, no se muestra',
|
|
16
|
+
label: 'Texto del título',
|
|
17
|
+
mandatory: false,
|
|
18
|
+
example_value: '¿Quieres saber más sobre nuestras soluciones?'
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'image',
|
|
22
|
+
type: 'image',
|
|
23
|
+
help: 'Imagen de fondo del separador. Cubre toda la franja (background-size: cover, centrada). Conviene que sea una imagen oscura o con poco detalle para que el texto blanco se lea bien',
|
|
24
|
+
label: 'Imagen de fondo',
|
|
25
|
+
mandatory: true,
|
|
26
|
+
example_value: 'https://assets.lefebvre.es/media/img/preview-comp/comp-16-9.png'
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: 'altImage',
|
|
30
|
+
type: 'text',
|
|
31
|
+
help: 'Descripción de la imagen de fondo para lectores de pantalla (aria-label). Si la imagen es puramente decorativa, puede dejarse vacío',
|
|
32
|
+
label: 'Alt de la imagen',
|
|
33
|
+
mandatory: false,
|
|
34
|
+
example_value: 'Equipo de profesionales trabajando en una oficina'
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: 'btnLabel',
|
|
38
|
+
type: 'text',
|
|
39
|
+
help: 'Texto del botón. Si se deja vacío, no aparece ningún botón',
|
|
40
|
+
label: 'Texto del botón',
|
|
41
|
+
mandatory: false,
|
|
42
|
+
example_value: 'Contacta con nosotros'
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'btnUrl',
|
|
46
|
+
type: 'text',
|
|
47
|
+
help: 'URL de destino del botón. Solo tiene efecto si se ha informado el texto del botón',
|
|
48
|
+
label: 'URL del botón',
|
|
49
|
+
mandatory: false,
|
|
50
|
+
example_value: 'https://www.lefebvre.es/contacto'
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
};
|
|
@@ -6,6 +6,7 @@ import { extractImageUrl, PAGE_ENTITY_ID } from '../../lib/functions.js';
|
|
|
6
6
|
|
|
7
7
|
const {
|
|
8
8
|
items = [],
|
|
9
|
+
showBtn = true
|
|
9
10
|
} = Astro.props;
|
|
10
11
|
|
|
11
12
|
// isPartOf hacia el nodo de página (#webpage por defecto). Genérico: opt-out con pageId="".
|
|
@@ -100,7 +101,7 @@ const structuredData = `<script type="application/ld+json">
|
|
|
100
101
|
positionBtnFlex="justify-start"
|
|
101
102
|
items={tab.points}
|
|
102
103
|
headingType="h4"
|
|
103
|
-
showBtn={
|
|
104
|
+
showBtn={showBtn}
|
|
104
105
|
btnLabel="Ver experiencias de uso"
|
|
105
106
|
buttonUrl={tab.buttonUrl}
|
|
106
107
|
widthArticle="w-4/5"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { extractImageUrl } from '../../lib/functions.js';
|
|
3
|
+
|
|
4
|
+
const {
|
|
5
|
+
title,
|
|
6
|
+
image,
|
|
7
|
+
altImage = '',
|
|
8
|
+
btnLabel,
|
|
9
|
+
btnUrl = '#'
|
|
10
|
+
} = Astro.props;
|
|
11
|
+
|
|
12
|
+
// El campo de imagen puede llegar como URL plana o como JSON de Limbo; extraemos la URL para usarla en CSS.
|
|
13
|
+
const imageUrl = extractImageUrl(image);
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
<section
|
|
17
|
+
class="w-full flex items-center justify-center bg-cover bg-center py-16 px-4"
|
|
18
|
+
style={`background-image: url('${imageUrl}');`}
|
|
19
|
+
role="img"
|
|
20
|
+
aria-label={altImage}
|
|
21
|
+
>
|
|
22
|
+
<div class="w-full max-w-3xl flex flex-col items-center justify-center gap-6 text-center">
|
|
23
|
+
{title && (
|
|
24
|
+
<h2 class="font-poppins text-white text-xl font-semibold">{title}</h2>
|
|
25
|
+
)}
|
|
26
|
+
{btnLabel && (
|
|
27
|
+
<a
|
|
28
|
+
href={btnUrl}
|
|
29
|
+
class="inline-flex items-center justify-center px-6 py-3 rounded-lg border border-white text-white font-inter font-semibold text-base no-underline transition-colors duration-300 hover:bg-white hover:text-[#2134F1]"
|
|
30
|
+
>
|
|
31
|
+
{btnLabel}
|
|
32
|
+
</a>
|
|
33
|
+
)}
|
|
34
|
+
</div>
|
|
35
|
+
</section>
|
|
@@ -67,6 +67,7 @@ import * as SEO_Head_Section from '../carbins/SEO_Head_Section.ts';
|
|
|
67
67
|
import * as SEO_Schema_Page from '../carbins/SEO_Schema_Page.ts';
|
|
68
68
|
import * as Separador_2025_Reinosa from '../carbins/Separador_2025_Reinosa.ts';
|
|
69
69
|
import * as Separador_2025_Toledo from '../carbins/Separador_2025_Toledo.ts';
|
|
70
|
+
import * as Separador_2026_Teulada from '../carbins/Separador_2026_Teulada.ts';
|
|
70
71
|
import * as Share_2025_Florencia from '../carbins/Share_2025_Florencia.ts';
|
|
71
72
|
import * as SpectrumSeparator from '../carbins/SpectrumSeparator.ts';
|
|
72
73
|
import * as Sumario_2025_Beijing from '../carbins/Sumario_2025_Beijing.ts';
|
|
@@ -161,6 +162,7 @@ export const components = [
|
|
|
161
162
|
{component: SEO_Schema_Page},
|
|
162
163
|
{component: Separador_2025_Reinosa},
|
|
163
164
|
{component: Separador_2025_Toledo},
|
|
165
|
+
{component: Separador_2026_Teulada},
|
|
164
166
|
{component: Share_2025_Florencia},
|
|
165
167
|
{component: SpectrumSeparator},
|
|
166
168
|
{component: Sumario_2025_Beijing},
|
package/src/index.ts
CHANGED
|
@@ -73,6 +73,7 @@ import SEO_Head_Section from './components/Astro/SEO_Head_Section.astro';
|
|
|
73
73
|
import SEO_Schema_Page from './components/Astro/SEO_Schema_Page.astro';
|
|
74
74
|
import Separador_2025_Reinosa from './components/Astro/Separador_2025_Reinosa.astro';
|
|
75
75
|
import Separador_2025_Toledo from './components/Astro/Separador_2025_Toledo.astro';
|
|
76
|
+
import Separador_2026_Teulada from './components/Astro/Separador_2026_Teulada.astro';
|
|
76
77
|
import Share_2025_Florencia from './components/Astro/Share_2025_Florencia.astro';
|
|
77
78
|
import SpectrumSeparator from './components/Astro/SpectrumSeparator.astro';
|
|
78
79
|
import Sumario_2025_Beijing from './components/Astro/Sumario_2025_Beijing.astro';
|
|
@@ -102,7 +103,7 @@ import ReactButton from './components/React/ReactButton.jsx';
|
|
|
102
103
|
// Exporta todos los componentes uno a uno para que puedan ser usados directamente.
|
|
103
104
|
|
|
104
105
|
|
|
105
|
-
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_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, Formulario_2025_Nara, Formulario_2025_Seul, Formulario_2025_Teruel, Formulario_2026_Carabanchel, Formulario_2026_Wichita, Galeria_2026_Segorbe, GeometricShape, GeometricShapeCard, 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, 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 };
|
|
106
|
+
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_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, Formulario_2025_Nara, Formulario_2025_Seul, Formulario_2025_Teruel, Formulario_2026_Carabanchel, Formulario_2026_Wichita, Galeria_2026_Segorbe, GeometricShape, GeometricShapeCard, 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 };
|
|
106
107
|
|
|
107
108
|
|
|
108
109
|
// Exporta la función listComponents para que sea usado en el Pagebuilder en Vue.
|
|
@@ -187,6 +188,7 @@ export const components = {
|
|
|
187
188
|
SEO_Schema_Page: SEO_Schema_Page,
|
|
188
189
|
Separador_2025_Reinosa: Separador_2025_Reinosa,
|
|
189
190
|
Separador_2025_Toledo: Separador_2025_Toledo,
|
|
191
|
+
Separador_2026_Teulada: Separador_2026_Teulada,
|
|
190
192
|
Share_2025_Florencia: Share_2025_Florencia,
|
|
191
193
|
SpectrumSeparator: SpectrumSeparator,
|
|
192
194
|
Sumario_2025_Beijing: Sumario_2025_Beijing,
|