libreria-astro-lefebvre 0.0.28 → 0.0.30
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 +46 -46
- package/package.json +30 -30
- package/src/carbins/AstroButton.ts +34 -34
- package/src/carbins/CTA_2025_Formentera.ts +47 -47
- package/src/carbins/Cabecera_2025_Barcelona.ts +34 -34
- package/src/carbins/Cabecera_2025_Madrid.ts +34 -34
- package/src/carbins/Contenido_2025_Alcorcon.ts +76 -76
- package/src/carbins/Contenido_2025_Cordoba.ts +59 -59
- package/src/carbins/Contenido_2025_Granada.ts +67 -67
- package/src/carbins/Contenido_2025_Malaga.ts +100 -100
- package/src/carbins/Contenido_2025_Montevideo.ts +56 -56
- package/src/carbins/Footer_2025_Napoles.ts +12 -12
- package/src/carbins/Formulario_2025_Seul.ts +56 -56
- package/src/carbins/Imagen_2025_Bogota.ts +76 -76
- package/src/carbins/ReactButton.ts +32 -32
- package/src/carbins/Repetidor_2025_Cabra.ts +12 -12
- package/src/carbins/Repetidor_2025_Dubai.ts +48 -48
- package/src/carbins/Repetidor_2025_Estocolmo.ts +12 -12
- package/src/carbins/Repetidor_2025_Mallorca.ts +75 -75
- package/src/carbins/Repetidor_2025_Menorca.ts +75 -75
- package/src/carbins/Repetidor_2025_Michigan.ts +21 -21
- package/src/carbins/Repetidor_2025_Orcasitas.ts +34 -34
- package/src/carbins/Repetidor_2025_Oslo.ts +12 -12
- package/src/carbins/Repetidor_2025_Quito.ts +20 -20
- package/src/carbins/Repetidor_2025_Seattle.ts +12 -12
- package/src/carbins/Repetidor_2025_Tokyo.ts +48 -48
- package/src/carbins/Repetidor_2025_Ubeda.ts +12 -12
- package/src/carbins/Repetidor_2025_Yakarta.ts +12 -12
- package/src/carbins/SEO_Head_Section.ts +49 -49
- package/src/carbins/Separador_2025_Reinosa.ts +12 -12
- package/src/carbins/Titulo_2025_Algeciras.ts +51 -51
- package/src/carbins/Titulo_2025_Santorini.ts +20 -20
- package/src/carbins/Video_2025_Valencia.ts +12 -12
- package/src/carbins/VueButton.ts +35 -35
- package/src/components/Astro/Button.astro +5 -5
- package/src/components/Astro/CTA_2025_Formentera.astro +38 -38
- package/src/components/Astro/Cabecera_2025_Barcelona.astro +55 -55
- package/src/components/Astro/Cabecera_2025_Madrid.astro +176 -176
- package/src/components/Astro/Contenido_2025_Alcorcon.astro +48 -78
- package/src/components/Astro/Contenido_2025_Granada.astro +239 -239
- package/src/components/Astro/Contenido_2025_Malaga.astro +162 -162
- package/src/components/Astro/Contenido_2025_Montevideo.astro +35 -35
- package/src/components/Astro/Footer_2025_Napoles.astro +134 -134
- package/src/components/Astro/Formulario_2025_Seul.astro +91 -91
- package/src/components/Astro/Imagen_2025_Bogota.astro +61 -61
- package/src/components/Astro/Repetidor_2025_Cabra.astro +152 -152
- package/src/components/Astro/Repetidor_2025_Cordoba.astro +132 -132
- package/src/components/Astro/Repetidor_2025_Dubai.astro +29 -29
- package/src/components/Astro/Repetidor_2025_Estocolmo.astro +22 -22
- package/src/components/Astro/Repetidor_2025_Mallorca.astro +42 -42
- package/src/components/Astro/Repetidor_2025_Menorca.astro +43 -43
- package/src/components/Astro/Repetidor_2025_Michigan.astro +45 -45
- package/src/components/Astro/Repetidor_2025_Orcasitas.astro +2 -0
- package/src/components/Astro/Repetidor_2025_Oslo.astro +76 -76
- package/src/components/Astro/Repetidor_2025_Quito.astro +61 -61
- package/src/components/Astro/Repetidor_2025_Seattle.astro +22 -22
- package/src/components/Astro/Repetidor_2025_Tokyo.astro +56 -56
- package/src/components/Astro/Repetidor_2025_Ubeda.astro +39 -39
- package/src/components/Astro/Repetidor_2025_Yakarta.astro +203 -203
- package/src/components/Astro/SEO_Head_Section.astro +32 -32
- package/src/components/Astro/Separador_2025_Reinosa.astro +3 -3
- package/src/components/Astro/Titulo_2025_Algeciras.astro +57 -57
- package/src/components/Astro/Titulo_2025_Santorini.astro +8 -8
- package/src/components/Astro/Video_2025_Valencia.astro +0 -1
- package/src/generated/componentRegistry.ts +96 -96
- package/src/index.ts +123 -123
|
@@ -1,153 +1,153 @@
|
|
|
1
|
-
---
|
|
2
|
-
|
|
3
|
-
import Repetidor_2025_Menorca from './Repetidor_2025_Menorca.astro';
|
|
4
|
-
import Titulo_2025_Algeciras from './Titulo_2025_Algeciras.astro';
|
|
5
|
-
|
|
6
|
-
const {
|
|
7
|
-
items = [],
|
|
8
|
-
} = Astro.props;
|
|
9
|
-
|
|
10
|
-
const identifier = 'js-megablock'+ Math.random().toString(36).substring(2, 15);
|
|
11
|
-
|
|
12
|
-
const structuredData = `<script type="application/ld+json">
|
|
13
|
-
{
|
|
14
|
-
"@context": "https://schema.org",
|
|
15
|
-
"@type": "WebPage",
|
|
16
|
-
"name": "Interactive Content Tabs",
|
|
17
|
-
"description": "Interactive tabbed content component with multiple sections",
|
|
18
|
-
"mainEntity": {
|
|
19
|
-
"@type": "ItemList",
|
|
20
|
-
"numberOfItems": ${items.length},
|
|
21
|
-
"itemListElement": [
|
|
22
|
-
${items.map((item, index) => `{
|
|
23
|
-
"@type": "ListItem",
|
|
24
|
-
"position": ${index + 1},
|
|
25
|
-
"name": "${item.name}",
|
|
26
|
-
"description": "Interactive content section",
|
|
27
|
-
${item.image ? `"image": "${item.image}",` : ''}
|
|
28
|
-
${item.buttonUrl ? `"url": "${item.buttonUrl}"` : ''}
|
|
29
|
-
}`).join(',\n ')}
|
|
30
|
-
]
|
|
31
|
-
},
|
|
32
|
-
"interactionStatistic": {
|
|
33
|
-
"@type": "InteractionCounter",
|
|
34
|
-
"interactionType": "https://schema.org/ClickAction",
|
|
35
|
-
"userInteractionCount": "${items.length}"
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
</script>`;
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
<section class="w-full flex items-center justify-center">
|
|
44
|
-
<article class="w-full flex flex-col items-center justify-center">
|
|
45
|
-
<div class="w-full flex justify-center items-center relative text-[56px] text-center font inter leading-[64px] mt-[40px]">
|
|
46
|
-
<!-- <div class="flex bg-transparent md:bg-gray-50 md:border md:border-[#B6B7BB] rounded-lg"> -->
|
|
47
|
-
<div class="flex gap-1 md:gap-8 items-center">
|
|
48
|
-
{items.map((item, index) => (
|
|
49
|
-
<p class="text-base">
|
|
50
|
-
{/* <a href={`#accordion${index + 1}`} class="btn py-[20px] px-[16px]">{item}</a> */}
|
|
51
|
-
<button data-linkedto={`${identifier}${index + 1}`}
|
|
52
|
-
class={`
|
|
53
|
-
btn py-[14px] px-[20px] font-inter
|
|
54
|
-
cursor-pointer border border-transparent
|
|
55
|
-
hover:border hover:border-[#5F6168]
|
|
56
|
-
hover:bg-white rounded-lg ${identifier}button
|
|
57
|
-
${item.default ? 'active' : ''}
|
|
58
|
-
bg-F2F3F8 text-gray-100 max-w-[40px] max-h-[20px] text-[0px]
|
|
59
|
-
md:bg-gray-50 md:text-black md:max-w-none md:max-h-none md:text-[16px]
|
|
60
|
-
`}
|
|
61
|
-
>{item.name}</button>
|
|
62
|
-
</p>
|
|
63
|
-
))}
|
|
64
|
-
</div>
|
|
65
|
-
</div>
|
|
66
|
-
<div class="lg:max-w-7xl md:w-full px-6 md:w-4/5 md:px-[0] col my-[40px]">
|
|
67
|
-
{items.map((item, index) => (
|
|
68
|
-
<div id={`${identifier}${index + 1}`} class={`${item.default ? '' : 'hidden'} collapse-arrow ${identifier}item`}>
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
<div class="w-full flex-col flex md:flex-row gap-[16px] md:gap-[48px]">
|
|
72
|
-
<div class="w-full md:w-1/2">
|
|
73
|
-
<Titulo_2025_Algeciras
|
|
74
|
-
title={item.name}
|
|
75
|
-
tipo="h3-mb32"
|
|
76
|
-
flexJustify="justify-start"
|
|
77
|
-
/>
|
|
78
|
-
<Repetidor_2025_Menorca
|
|
79
|
-
flexOrientationIcoText = "flex-row"
|
|
80
|
-
flexOrientationBlockIcoText = "flex-col"
|
|
81
|
-
positionFlex = 'items-start'
|
|
82
|
-
positionBtnFlex = 'justify-start'
|
|
83
|
-
items = {item.items}
|
|
84
|
-
headingType = 'h4'
|
|
85
|
-
showBtn = {true}
|
|
86
|
-
btnLabel = "Ver experiencias de uso"
|
|
87
|
-
buttonUrl={item.buttonUrl}
|
|
88
|
-
/>
|
|
89
|
-
</div>
|
|
90
|
-
<div class="w-full md:w-1/2 p-0 md:pr-2">
|
|
91
|
-
<img src={item.image} alt="Imagen" class="w-full min-h-auto lg:min-h-full object-cover rounded-xl" />
|
|
92
|
-
</div>
|
|
93
|
-
</div>
|
|
94
|
-
|
|
95
|
-
</div>
|
|
96
|
-
))}
|
|
97
|
-
</div>
|
|
98
|
-
</article>
|
|
99
|
-
</section>
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
<style>
|
|
104
|
-
.bg-F2F3F8 {
|
|
105
|
-
background-color: #F2F3F8;
|
|
106
|
-
}
|
|
107
|
-
.active{
|
|
108
|
-
background-color: #ffffff;
|
|
109
|
-
border: 1px solid #5F6168;
|
|
110
|
-
color: black;
|
|
111
|
-
max-width: none;
|
|
112
|
-
max-height: none;
|
|
113
|
-
font-size: 16px;
|
|
114
|
-
|
|
115
|
-
&:hover{
|
|
116
|
-
background-color: #ffffff;
|
|
117
|
-
border: 1px solid #5F6168;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
</style>
|
|
121
|
-
|
|
122
|
-
<script is:inline define:vars={{ identifier }}>
|
|
123
|
-
|
|
124
|
-
document.querySelectorAll(`.${identifier}button`).forEach(btn => {
|
|
125
|
-
|
|
126
|
-
btn.addEventListener('click', (e) => {
|
|
127
|
-
const linkedId = btn.getAttribute('data-linkedto');
|
|
128
|
-
const targetItem = document.getElementById(linkedId);
|
|
129
|
-
if (targetItem) {
|
|
130
|
-
|
|
131
|
-
const collapseCount = document.querySelectorAll(`.${identifier}item.collapse`).length;
|
|
132
|
-
const hiddenCount = document.querySelectorAll(`.${identifier}item.hidden`).length;
|
|
133
|
-
const desiredClass = collapseCount > hiddenCount ? 'collapse' : 'hidden';
|
|
134
|
-
|
|
135
|
-
document.querySelectorAll(`.${identifier}item`).forEach(item => {
|
|
136
|
-
if (item === targetItem) return;
|
|
137
|
-
if (item.classList.contains(desiredClass)) return;
|
|
138
|
-
item.classList.add(desiredClass);
|
|
139
|
-
});
|
|
140
|
-
targetItem.classList.toggle(desiredClass);
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
document.querySelectorAll(`.${identifier}button`).forEach(item => {
|
|
144
|
-
if (item === btn) return;
|
|
145
|
-
item.classList.remove('active');
|
|
146
|
-
});
|
|
147
|
-
btn.classList.toggle('active');
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
});
|
|
151
|
-
</script>
|
|
152
|
-
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
import Repetidor_2025_Menorca from './Repetidor_2025_Menorca.astro';
|
|
4
|
+
import Titulo_2025_Algeciras from './Titulo_2025_Algeciras.astro';
|
|
5
|
+
|
|
6
|
+
const {
|
|
7
|
+
items = [],
|
|
8
|
+
} = Astro.props;
|
|
9
|
+
|
|
10
|
+
const identifier = 'js-megablock'+ Math.random().toString(36).substring(2, 15);
|
|
11
|
+
|
|
12
|
+
const structuredData = `<script type="application/ld+json">
|
|
13
|
+
{
|
|
14
|
+
"@context": "https://schema.org",
|
|
15
|
+
"@type": "WebPage",
|
|
16
|
+
"name": "Interactive Content Tabs",
|
|
17
|
+
"description": "Interactive tabbed content component with multiple sections",
|
|
18
|
+
"mainEntity": {
|
|
19
|
+
"@type": "ItemList",
|
|
20
|
+
"numberOfItems": ${items.length},
|
|
21
|
+
"itemListElement": [
|
|
22
|
+
${items.map((item, index) => `{
|
|
23
|
+
"@type": "ListItem",
|
|
24
|
+
"position": ${index + 1},
|
|
25
|
+
"name": "${item.name}",
|
|
26
|
+
"description": "Interactive content section",
|
|
27
|
+
${item.image ? `"image": "${item.image}",` : ''}
|
|
28
|
+
${item.buttonUrl ? `"url": "${item.buttonUrl}"` : ''}
|
|
29
|
+
}`).join(',\n ')}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"interactionStatistic": {
|
|
33
|
+
"@type": "InteractionCounter",
|
|
34
|
+
"interactionType": "https://schema.org/ClickAction",
|
|
35
|
+
"userInteractionCount": "${items.length}"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
</script>`;
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
<section class="w-full flex items-center justify-center">
|
|
44
|
+
<article class="w-full flex flex-col items-center justify-center">
|
|
45
|
+
<div class="w-full flex justify-center items-center relative text-[56px] text-center font inter leading-[64px] mt-[40px]">
|
|
46
|
+
<!-- <div class="flex bg-transparent md:bg-gray-50 md:border md:border-[#B6B7BB] rounded-lg"> -->
|
|
47
|
+
<div class="flex gap-1 md:gap-8 items-center">
|
|
48
|
+
{items.map((item, index) => (
|
|
49
|
+
<p class="text-base">
|
|
50
|
+
{/* <a href={`#accordion${index + 1}`} class="btn py-[20px] px-[16px]">{item}</a> */}
|
|
51
|
+
<button data-linkedto={`${identifier}${index + 1}`}
|
|
52
|
+
class={`
|
|
53
|
+
btn py-[14px] px-[20px] font-inter
|
|
54
|
+
cursor-pointer border border-transparent
|
|
55
|
+
hover:border hover:border-[#5F6168]
|
|
56
|
+
hover:bg-white rounded-lg ${identifier}button
|
|
57
|
+
${item.default ? 'active' : ''}
|
|
58
|
+
bg-F2F3F8 text-gray-100 max-w-[40px] max-h-[20px] text-[0px]
|
|
59
|
+
md:bg-gray-50 md:text-black md:max-w-none md:max-h-none md:text-[16px]
|
|
60
|
+
`}
|
|
61
|
+
>{item.name}</button>
|
|
62
|
+
</p>
|
|
63
|
+
))}
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="lg:max-w-7xl md:w-full px-6 md:w-4/5 md:px-[0] col my-[40px]">
|
|
67
|
+
{items.map((item, index) => (
|
|
68
|
+
<div id={`${identifier}${index + 1}`} class={`${item.default ? '' : 'hidden'} collapse-arrow ${identifier}item`}>
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
<div class="w-full flex-col flex md:flex-row gap-[16px] md:gap-[48px]">
|
|
72
|
+
<div class="w-full md:w-1/2">
|
|
73
|
+
<Titulo_2025_Algeciras
|
|
74
|
+
title={item.name}
|
|
75
|
+
tipo="h3-mb32"
|
|
76
|
+
flexJustify="justify-start"
|
|
77
|
+
/>
|
|
78
|
+
<Repetidor_2025_Menorca
|
|
79
|
+
flexOrientationIcoText = "flex-row"
|
|
80
|
+
flexOrientationBlockIcoText = "flex-col"
|
|
81
|
+
positionFlex = 'items-start'
|
|
82
|
+
positionBtnFlex = 'justify-start'
|
|
83
|
+
items = {item.items}
|
|
84
|
+
headingType = 'h4'
|
|
85
|
+
showBtn = {true}
|
|
86
|
+
btnLabel = "Ver experiencias de uso"
|
|
87
|
+
buttonUrl={item.buttonUrl}
|
|
88
|
+
/>
|
|
89
|
+
</div>
|
|
90
|
+
<div class="w-full md:w-1/2 p-0 md:pr-2">
|
|
91
|
+
<img src={item.image} alt="Imagen" class="w-full min-h-auto lg:min-h-full object-cover rounded-xl" />
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
</div>
|
|
96
|
+
))}
|
|
97
|
+
</div>
|
|
98
|
+
</article>
|
|
99
|
+
</section>
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
<style>
|
|
104
|
+
.bg-F2F3F8 {
|
|
105
|
+
background-color: #F2F3F8;
|
|
106
|
+
}
|
|
107
|
+
.active{
|
|
108
|
+
background-color: #ffffff;
|
|
109
|
+
border: 1px solid #5F6168;
|
|
110
|
+
color: black;
|
|
111
|
+
max-width: none;
|
|
112
|
+
max-height: none;
|
|
113
|
+
font-size: 16px;
|
|
114
|
+
|
|
115
|
+
&:hover{
|
|
116
|
+
background-color: #ffffff;
|
|
117
|
+
border: 1px solid #5F6168;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
</style>
|
|
121
|
+
|
|
122
|
+
<script is:inline define:vars={{ identifier }}>
|
|
123
|
+
|
|
124
|
+
document.querySelectorAll(`.${identifier}button`).forEach(btn => {
|
|
125
|
+
|
|
126
|
+
btn.addEventListener('click', (e) => {
|
|
127
|
+
const linkedId = btn.getAttribute('data-linkedto');
|
|
128
|
+
const targetItem = document.getElementById(linkedId);
|
|
129
|
+
if (targetItem) {
|
|
130
|
+
|
|
131
|
+
const collapseCount = document.querySelectorAll(`.${identifier}item.collapse`).length;
|
|
132
|
+
const hiddenCount = document.querySelectorAll(`.${identifier}item.hidden`).length;
|
|
133
|
+
const desiredClass = collapseCount > hiddenCount ? 'collapse' : 'hidden';
|
|
134
|
+
|
|
135
|
+
document.querySelectorAll(`.${identifier}item`).forEach(item => {
|
|
136
|
+
if (item === targetItem) return;
|
|
137
|
+
if (item.classList.contains(desiredClass)) return;
|
|
138
|
+
item.classList.add(desiredClass);
|
|
139
|
+
});
|
|
140
|
+
targetItem.classList.toggle(desiredClass);
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
document.querySelectorAll(`.${identifier}button`).forEach(item => {
|
|
144
|
+
if (item === btn) return;
|
|
145
|
+
item.classList.remove('active');
|
|
146
|
+
});
|
|
147
|
+
btn.classList.toggle('active');
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
</script>
|
|
152
|
+
|
|
153
153
|
<Fragment set:html={structuredData} />
|