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.
Files changed (33) hide show
  1. package/package.json +1 -1
  2. package/src/carbins/AstroButton.ts +24 -0
  3. package/src/carbins/CorpFooter.ts +13 -0
  4. package/src/carbins/CorpHero.ts +20 -0
  5. package/src/carbins/FooterCorporativo.ts +13 -0
  6. package/src/carbins/GeometricShapeCard.ts +19 -8
  7. package/src/carbins/HeaderCorporativo.ts +34 -0
  8. package/src/carbins/ImageTextSimple.ts +45 -0
  9. package/src/carbins/ReactButton.ts +24 -0
  10. package/src/carbins/SpectrumSeparator.ts +12 -0
  11. package/src/carbins/TextBox.ts +27 -0
  12. package/src/carbins/TextImageBackground.ts +47 -0
  13. package/src/carbins/TextImageBlock.ts +62 -0
  14. package/src/carbins/TextImageCard.ts +44 -0
  15. package/src/carbins/TextImageHeader.ts +68 -0
  16. package/src/carbins/VideoAutoplay.ts +36 -0
  17. package/src/carbins/VueButton.ts +24 -0
  18. package/src/components/Astro/CorpFooter.astro +107 -0
  19. package/src/components/Astro/CorpHero.astro +21 -0
  20. package/src/components/Astro/CorpNavigation.astro +87 -0
  21. package/src/components/Astro/FooterCorporativo.astro +82 -0
  22. package/src/components/Astro/HeaderCorporativo.astro +26 -0
  23. package/src/components/Astro/ImageTextSimple.astro +56 -0
  24. package/src/components/Astro/SpectrumSeparator.astro +11 -0
  25. package/src/components/Astro/TextBox.astro +11 -0
  26. package/src/components/Astro/TextImageBackground.astro +18 -0
  27. package/src/components/Astro/TextImageBlock.astro +29 -0
  28. package/src/components/Astro/TextImageCard.astro +25 -0
  29. package/src/components/Astro/TextImageHeader.astro +31 -0
  30. package/src/components/Astro/VideoAutoplay.astro +20 -0
  31. package/src/generated/componentRegistry.ts +25 -1
  32. package/src/index.ts +60 -4
  33. package/src/interfaces/types.ts +3 -0
@@ -0,0 +1,107 @@
1
+ ---
2
+
3
+ const {
4
+ text
5
+ } = Astro.props;
6
+
7
+ const categories = [
8
+ {
9
+ name: 'Acerca de Lefebvre',
10
+ link: '#',
11
+ subcategories: [{name: 'Quiénes somos', link: '#'}, {name: 'Nuestra cultura', link: '#'}, {name: 'Equipo', link: '#'}],
12
+ },
13
+ {
14
+ name: 'Productos y servicios',
15
+ link: '#',
16
+ subcategories: [{name: 'Descubrimiento', link: '#'}, {name: 'Implementación', link: '#'}],
17
+ },
18
+ {
19
+ name: 'Otras webs de Lefebvre',
20
+ link: '#',
21
+ subcategories: [],
22
+ },
23
+ {
24
+ name: 'Atención al cliente',
25
+ link: '#',
26
+ subcategories: [],
27
+ },
28
+
29
+ ];
30
+ ---
31
+ <footer>
32
+ <div class="bg-gray-50 text-black py-10 border-t border-gray-300">
33
+ <div class="flex gap-8 max-w-6xl mx-auto">
34
+ {categories.map(category => (
35
+ <div class="flex-1">
36
+ <div class="text-xl font-semibold mb-4">{category.name}</div>
37
+ <ul>
38
+ {category.subcategories.length > 0 ? (
39
+ category.subcategories.map(sub => (
40
+ <li>
41
+ <a href={sub.link} class="text-slate-900 hover:underline transition-colors duration-200 block py-1">
42
+ {sub.name}
43
+ </a>
44
+ </li>
45
+ ))
46
+ ) : (
47
+ <li>
48
+ <a href={category.link} class="text-slate-900 hover:underline transition-colors duration-200 block py-1">
49
+ {category.name}
50
+ </a>
51
+ </li>
52
+ )}
53
+ </ul>
54
+ </div>
55
+ ))}
56
+ </div>
57
+ </div>
58
+ <div class="bg-gray-50 text-black py-10 border-t border-gray-300">
59
+ <div class="flex gap-8 max-w-7xl mx-auto">
60
+
61
+ <div class="flex flex-col flex-[4_4_0%]">
62
+ <div class="mb-8">
63
+ <img src="https://assets.lefebvre.es/media/logos-2/svg/lefebvre.svg" alt="Logo" class="h-10" />
64
+ </div>
65
+ <div>
66
+ <ul class="flex flex-wrap gap-4 text-sm text-gray-800">
67
+ <li>
68
+ <span class="flex items-center gap-1 ">
69
+ &copy; {new Date().getFullYear()} Lefebvre. Todos los derechos reservados.
70
+ </span>
71
+ </li>
72
+ <li><a href="https://lefebvre.es/aviso-legal/" class="hover:underline">Aviso legal</a></li>
73
+ <li><a href="https://lefebvre.es/politica-privacidad/" class="hover:underline">Política de privacidad</a></li>
74
+ <li><a href="https://lefebvre.es/politica-de-cookies/" class="hover:underline">Política de cookies</a></li>
75
+ <li><a href="https://lefebvre.es/condiciones/" class="hover:underline">Condiciones de contratación</a></li>
76
+ </ul>
77
+ </div>
78
+ </div>
79
+ <div class="flex flex-1 items-center justify-end">
80
+ <a href="https://www.linkedin.com/company/lefebvre_es" class="mx-2" aria-label="LinkedIn">
81
+ <svg class="w-6 h-6 fill-current text-slate-700 hover:text-blue-700" viewBox="0 0 24 24"><path d="M19 0h-14c-2.76 0-5 2.24-5 5v14c0 2.76 2.24 5 5 5h14c2.76 0 5-2.24 5-5v-14c0-2.76-2.24-5-5-5zm-11 19h-3v-10h3v10zm-1.5-11.28c-.97 0-1.75-.79-1.75-1.75s.78-1.75 1.75-1.75 1.75.79 1.75 1.75-.78 1.75-1.75 1.75zm13.5 11.28h-3v-5.6c0-1.34-.03-3.07-1.87-3.07-1.87 0-2.16 1.46-2.16 2.97v5.7h-3v-10h2.88v1.36h.04c.4-.75 1.38-1.54 2.84-1.54 3.04 0 3.6 2 3.6 4.59v5.59z"/></svg>
82
+ </a>
83
+ <a href="https://www.facebook.com/Lefebvre.ES/" class="mx-2" aria-label="Facebook">
84
+ <svg class="w-6 h-6 fill-current text-slate-700 hover:text-blue-600" viewBox="0 0 24 24"><path d="M22.675 0h-21.35c-.733 0-1.325.592-1.325 1.325v21.351c0 .732.592 1.324 1.325 1.324h11.495v-9.294h-3.128v-3.622h3.128v-2.672c0-3.1 1.893-4.788 4.659-4.788 1.325 0 2.463.099 2.797.143v3.24l-1.918.001c-1.504 0-1.797.715-1.797 1.763v2.313h3.587l-.467 3.622h-3.12v9.293h6.116c.73 0 1.322-.592 1.322-1.324v-21.35c0-.733-.592-1.325-1.325-1.325z"/></svg>
85
+ </a>
86
+ <a href="https://www.youtube.com/c/lefebvre_es" class="mx-2" aria-label="YouTube">
87
+ <svg class="w-6 h-6 fill-current text-slate-700 hover:text-red-600" viewBox="0 0 24 24">
88
+ <path d="M23.498 6.186a2.997 2.997 0 0 0-2.112-2.12C19.37 3.5 12 3.5 12 3.5s-7.37 0-9.386.566A2.997 2.997 0 0 0 .502 6.186C0 8.21 0 12 0 12s0 3.79.502 5.814a2.997 2.997 0 0 0 2.112 2.12C4.63 20.5 12 20.5 12 20.5s7.37 0 9.386-.566a2.997 2.997 0 0 0 2.112-2.12C24 15.79 24 12 24 12s0-3.79-.502-5.814zM9.545 16.02V7.98l6.545 4.02-6.545 4.02z"/>
89
+ </svg>
90
+ </a>
91
+ <a href="https://twitter.com/Lefebvre_ES" class="mx-2" aria-label="X.com">
92
+ <svg class="w-6 h-6 fill-current text-slate-700 hover:text-black" viewBox="0 0 24 24">
93
+ <path d="M17.53 3H21.5l-7.06 8.06L23 21h-7.19l-5.02-6.6L4.06 21H0l7.53-8.6L1 3h7.31l4.62 6.07L17.53 3zm-1.13 15.19h1.98l-5.41-7.13-1.59 1.81 5.02 6.6zm-9.36-13.1l5.41 7.13 1.59-1.81L8.01 5.09H7.04zm13.02 0h-1.98l-2.54 3.08 1.59 1.81 2.93-4.89zM3.44 19h1.98l2.54-3.08-1.59-1.81-2.93 4.89z"/>
94
+ </svg>
95
+ </a>
96
+ <a href="https://www.instagram.com/lefebvre_es/" class="mx-2" aria-label="Instagram">
97
+ <svg class="w-6 h-6 fill-current text-slate-700 hover:text-pink-500" viewBox="0 0 24 24">
98
+ <path d="M12 2.163c3.204 0 3.584.012 4.85.07 1.366.062 2.633.334 3.608 1.308.974.974 1.246 2.241 1.308 3.608.058 1.266.07 1.646.07 4.85s-.012 3.584-.07 4.85c-.062 1.366-.334 2.633-1.308 3.608-.974.974-2.241 1.246-3.608 1.308-1.266.058-1.646.07-4.85.07s-3.584-.012-4.85-.07c-1.366-.062-2.633-.334-3.608-1.308-.974-.974-1.246-2.241-1.308-3.608C2.175 15.647 2.163 15.267 2.163 12s.012-3.584.07-4.85c.062-1.366.334-2.633 1.308-3.608C4.515 2.497 5.782 2.225 7.148 2.163 8.414 2.105 8.794 2.163 12 2.163zm0-2.163C8.741 0 8.332.013 7.052.072 5.771.131 4.659.385 3.678 1.366c-.98.98-1.234 2.092-1.293 3.373C2.013 5.668 2 6.077 2 9.337v5.326c0 3.26.013 3.669.072 4.949.059 1.281.313 2.393 1.293 3.373.98.98 2.092 1.234 3.373 1.293 1.28.059 1.689.072 4.949.072s3.669-.013 4.949-.072c1.281-.059 2.393-.313 3.373-1.293.98-.98 1.234-2.092 1.293-3.373.059-1.28.072-1.689.072-4.949V9.337c0-3.26-.013-3.669-.072-4.949-.059-1.281-.313-2.393-1.293-3.373-.98-.98-2.092-1.234-3.373-1.293C15.669.013 15.26 0 12 0zm0 5.838a6.162 6.162 0 1 0 0 12.324 6.162 6.162 0 0 0 0-12.324zm0 10.162a3.999 3.999 0 1 1 0-7.998 3.999 3.999 0 0 1 0 7.998zm6.406-11.845a1.44 1.44 0 1 0 0 2.88 1.44 1.44 0 0 0 0-2.88z"/>
99
+ </svg>
100
+ </a>
101
+ </div>
102
+
103
+
104
+
105
+ </div>
106
+ </div>
107
+ </footer>
@@ -0,0 +1,21 @@
1
+ ---
2
+ const {
3
+ text
4
+ } = Astro.props;
5
+ ---
6
+ <script src="https://unpkg.com/@dotlottie/player-component@2.7.12/dist/dotlottie-player.mjs" type="module"></script>
7
+
8
+ <section class="flex w-full">
9
+ <article class="w-full bg-radial-[at_0%_25%] from-indigo-900 via-blue-700 via-70% to-95% to-pink-500 relative">
10
+ <dotlottie-player
11
+ src="https://lottie.host/8dfbf94b-056c-4a24-ba06-f86034507001/CSrbgfj7WJ.lottie"
12
+ background="transparent"
13
+ speed="1"
14
+ style="width: 100%; max-width: fit-content; height: auto; margin: -7% auto "
15
+ loop
16
+ autoplay
17
+ ></dotlottie-player>
18
+ <div class="absolute bottom-25 left-0 right-0 w-full h-auto p-8 text-center text-white text-3xl leading-snug" set:html={text}></div>
19
+
20
+ </article>
21
+ </section>
@@ -0,0 +1,87 @@
1
+ ---
2
+ import { link } from "fs";
3
+
4
+ const {
5
+ text
6
+ } = Astro.props;
7
+
8
+ const categories = [
9
+ {
10
+ name: 'Conócenos',
11
+ link: '#',
12
+ subcategories: [{name: 'Quiénes somos', link: '#'}, {name: 'Nuestra cultura', link: '#'}, {name: 'Equipo', link: '#'}],
13
+ },
14
+ {
15
+ name: 'GenIA-L',
16
+ link: '#',
17
+ subcategories: [],
18
+ },
19
+ {
20
+ name: 'Ecosistema de productos',
21
+ link: '#',
22
+ subcategories: [{name: 'Descubrimiento', link: '#'}, {name: 'Implementación', link: '#'}],
23
+ },
24
+ {
25
+ name: 'Soluciones para profesionales',
26
+ link: '#',
27
+ subcategories: [{name: 'Descubrimiento', link: '#'}, {name: 'Implementación', link: '#'}],
28
+ },
29
+ {
30
+ name: 'Formación',
31
+ link: '#',
32
+ subcategories: [],
33
+ },
34
+ {
35
+ name: 'Actualidad',
36
+ link: '#',
37
+ subcategories: [{name: 'Descubrimiento', link: '#'}, {name: 'Implementación', link: '#'}],
38
+ },
39
+ ];
40
+ ---
41
+
42
+ <header class="sticky top-0 w-full bg-white z-50 flex flex-col justify-center align-center items-center p-0">
43
+ <nav class="px-4 py-2 w-full border-b-1 border-gray-400">
44
+
45
+ <div class="w-1/2 flex items-center justify-between py-2 mx-auto">
46
+ <img src="https://assets.lefebvre.es/media/logos-2/svg/lefebvre.svg" alt="Logo" class="h-[55px]" />
47
+
48
+ <div class="flex items-center gap-4">
49
+ <a href="https://lefebvre.es/tienda" class="underline flex items-center gap-1 cursor-pointer">
50
+ <span>
51
+ Tienda
52
+ </span>
53
+ <img src="https://assets.lefebvre.es/media/icons-2/svg/icon-basket.svg" class="w-5"></a>
54
+ <a href="https://espaciolefebvre.lefebvre.es/login/" class="px-4 py-3 border-1 border-black text-black hover:bg-black hover:text-white transition-all duration-300 rounded-lg font-semibold cursor-pointer">Entrar</a>
55
+ </div>
56
+
57
+ </div>
58
+ </nav>
59
+ <nav class="w-full flex items-center border-b-1 border-gray-300">
60
+ <ul class="w-1/2 flex items-center justify-start gap-8 py-2 mx-auto">
61
+ {categories.map(category => (
62
+ <li class="relative group py-4">
63
+ <a href={category.link} class="flex items-center">
64
+ <span class="hover:underline">
65
+ {category.name}
66
+ </span>
67
+ {category.subcategories.length > 0 && (
68
+ <span class="ml-1 text-xs">∨</span>
69
+ )}
70
+ </a>
71
+ {category.subcategories.length > 0 && (
72
+ <ul class="absolute left-0 mt-6 bg-white border border-gray-300 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all z-10 min-w-[280px]"
73
+
74
+ >
75
+ {category.subcategories.map(sub => (
76
+ <li class="hover:text-indigo-900 hover:font-semibold">
77
+ <a href={sub.link} class="block px-4 py-3 hover:bg-gray-100">{sub.name}</a>
78
+ </li>
79
+ ))}
80
+ </ul>
81
+ )}
82
+ </li>
83
+ ))}
84
+ </ul>
85
+ </nav>
86
+
87
+ </header>
@@ -0,0 +1,82 @@
1
+ ---
2
+ ---
3
+
4
+ <footer class="bg-gray-100">
5
+ <div class="max-w-6xl mx-auto flex flex-wrap gap-8 justify-between mt-4 pt-4">
6
+ <div>
7
+ <h3 class="text-lg font-semibold mb-3">Corporativo</h3>
8
+ <ul class="list-none p-0 space-y-2">
9
+ <li><a href="#changes" class="hover:underline text-lefebvre">Lefebvre</a></li>
10
+ <li><a href="#changes" class="hover:underline text-lefebvre">Nuestro equipo</a></li>
11
+ <li><a href="#changes" class="hover:underline text-lefebvre">Trabaja con nosotros</a></li>
12
+ <li><a href="#changes" class="hover:underline text-lefebvre">Librerías asociadas</a></li>
13
+ <li><a href="#changes" class="hover:underline text-lefebvre">Tesauro</a></li>
14
+ </ul>
15
+ </div>
16
+ <div>
17
+ <h3 class="text-lg font-semibold mb-3">Productos</h3>
18
+ <ul class="list-none p-0 space-y-2">
19
+ <li><a href="#changes" class="hover:underline text-lefebvre">Mementos</a></li>
20
+ <li><a href="#changes" class="hover:underline text-lefebvre">Qmementos</a></li>
21
+ <li><a href="#changes" class="hover:underline text-lefebvre">Mementos de Autor</a></li>
22
+ <li><a href="#changes" class="hover:underline text-lefebvre">Mementos Expertos</a></li>
23
+ <li><a href="#changes" class="hover:underline text-lefebvre">Lex-ON</a></li>
24
+ </ul>
25
+ </div>
26
+ <div>
27
+ <h3 class="text-lg font-semibold mb-3">Grupo Lefebvre</h3>
28
+ <ul class="list-none p-0 space-y-2">
29
+ <li><a href="#changes" class="hover:underline text-lefebvre">ELS</a></li>
30
+ <li><a href="#changes" class="hover:underline text-lefebvre">El Derecho</a></li>
31
+ <li><a href="#changes" class="hover:underline text-lefebvre">Espacio Asesoría</a></li>
32
+ <li><a href="#changes" class="hover:underline text-lefebvre">Espacio Pymes</a></li>
33
+ </ul>
34
+ </div>
35
+ <div>
36
+ <h3 class="text-lg font-semibold mb-3">Contacto</h3>
37
+ <ul class="list-none p-0 space-y-2">
38
+ <li class="text-lefebvre">Tel.: 91 210 80 00</li>
39
+ <li><a href="#changes" class="hover:underline text-lefebvre">A través de nuestro formulario de contacto</a></li>
40
+ <li><a href="#changes" class="hover:underline text-lefebvre">Mándanos un email</a></li>
41
+ <li class="text-lefebvre">Monasterios de Suso y Yuso, 34<br />28049 Madrid</li>
42
+ </ul>
43
+ </div>
44
+ </div>
45
+ <div class="bg-linear-65 from-blue-800 to-lefebvre py-8 mt-4">
46
+ <div class="max-w-6xl mx-auto flex flex-col gap-2">
47
+ <div class="flex flex-wrap items-center justify-between">
48
+ <div class="flex items-center">
49
+ <svg width="119" class="text-white fill-white" height="32" viewBox="0 0 119 32" fill="none" xmlns="http://www.w3.org/2000/svg">
50
+ <path d="M18.3223 9.35782H15.7116V22.6437H23.6386V20.3982H18.3223V9.35782Z" />
51
+ <path d="M11.4395 20.3982H6.12321V22.6437H14.0502V9.35782H11.4395V20.3982Z" />
52
+ <path d="M58.2421 14.6909C57.8149 14.2699 57.3403 13.8956 56.7707 13.6617C56.201 13.4278 55.584 13.2875 54.9194 13.2875C54.2549 13.2875 53.6378 13.4278 53.0208 13.6617C52.4511 13.8956 51.929 14.2699 51.5018 14.6909C51.0746 15.1119 50.7423 15.6265 50.505 16.1879C50.2677 16.7493 50.1253 17.4042 50.1253 18.0592C50.1253 18.7141 50.2677 19.369 50.505 19.9304C50.7423 20.4918 51.1221 21.0064 51.5493 21.4274C51.9765 21.8485 52.5461 22.1759 53.1632 22.4566C53.7802 22.6905 54.4448 22.8309 55.1568 22.8309C55.8688 22.8309 56.5808 22.7373 57.1504 22.5034C57.7675 22.2695 58.3371 21.942 58.9067 21.4742L57.2928 20.024C57.0555 20.2579 56.7232 20.445 56.3909 20.5854C56.0112 20.7257 55.6314 20.7725 55.2517 20.7725C54.5872 20.7725 54.065 20.5854 53.5904 20.2579C53.1157 19.8836 52.7834 19.4626 52.641 18.8545H59.5712V18.1995C59.5712 17.4978 59.4763 16.8429 59.2389 16.2347C59.0016 15.6265 58.6693 15.1119 58.2896 14.6909M52.5936 17.1235C52.736 16.5622 53.0208 16.0944 53.448 15.7669C53.8752 15.4394 54.3498 15.2523 54.9194 15.2523C55.489 15.2523 55.9162 15.4394 56.3435 15.7669C56.7707 16.0944 57.0555 16.5622 57.1979 17.0768H52.5936V17.1235ZM67.166 13.2407C66.2641 13.2407 65.5521 13.9424 65.5521 14.8313C65.5521 15.7201 66.2641 16.4218 67.166 16.4218C68.0678 16.4218 68.7798 15.7201 68.7798 14.8313C68.7798 13.9424 68.0678 13.2407 67.166 13.2407ZM44.0495 9.35783H41.4388V22.6437H49.3658V20.3982H44.002V9.40461L44.0495 9.35783ZM63.6059 9.54496C62.9888 10.0596 62.1819 11.0887 62.1819 12.7729V13.6149H60.8054V16.0008H62.1819V22.597H64.6502V12.7729C64.6502 11.3226 65.5995 10.8081 66.9286 10.9952C67.4033 10.9952 67.9254 11.1823 68.2577 11.3226L68.9222 9.17071C68.59 9.03036 68.1628 8.89002 67.4982 8.74967C65.9318 8.46898 64.5553 8.74967 63.6059 9.49818M107.465 13.2407C106.564 13.2407 105.852 13.9424 105.852 14.8313C105.852 15.7201 106.564 16.4218 107.465 16.4218C108.367 16.4218 109.079 15.7201 109.079 14.8313C109.079 13.9424 108.367 13.2407 107.465 13.2407ZM77.134 14.6909C76.7068 14.2699 76.2322 13.8956 75.6626 13.6617C75.0929 13.4278 74.4759 13.2875 73.8113 13.2875C73.1468 13.2875 72.5297 13.4278 71.9127 13.6617C71.3431 13.8956 70.8209 14.2699 70.3937 14.6909C69.9665 15.1119 69.6342 15.6265 69.3969 16.1879C69.1596 16.7493 69.0172 17.4042 69.0172 18.0592C69.0172 18.7141 69.1596 19.369 69.3969 19.9304C69.6342 20.4918 70.014 21.0064 70.4412 21.4274C70.8684 21.8485 71.438 22.1759 72.0551 22.4566C72.6721 22.6905 73.3367 22.8309 74.0487 22.8309C74.7607 22.8309 75.4727 22.7373 76.0423 22.5034C76.6594 22.2695 77.229 21.942 77.7986 21.4742L76.1847 20.024C75.9474 20.2579 75.6151 20.445 75.2828 20.5854C74.9031 20.7257 74.5233 20.7725 74.1436 20.7725C73.4791 20.7725 72.9569 20.5854 72.4823 20.2579C72.0076 19.8836 71.6753 19.4626 71.5329 18.8545H78.4631V18.1995C78.4631 17.4978 78.3682 16.8429 78.1308 16.2347C77.8935 15.6265 77.5612 15.1119 77.1815 14.6909M71.4854 17.1235C71.6278 16.5622 71.9127 16.0944 72.3399 15.7669C72.7671 15.4394 73.2417 15.2523 73.8113 15.2523C74.381 15.2523 74.8082 15.4394 75.2354 15.7669C75.6626 16.0944 75.9474 16.5622 76.0898 17.0768H71.4854V17.1235ZM117.671 14.6909C117.244 14.2699 116.769 13.8956 116.199 13.6617C115.63 13.4278 115.013 13.2875 114.348 13.2875C113.684 13.2875 113.067 13.4278 112.45 13.6617C111.88 13.8956 111.358 14.2699 110.931 14.6909C110.503 15.1119 110.171 15.6265 109.934 16.1879C109.696 16.7493 109.554 17.4042 109.554 18.0592C109.554 18.7141 109.696 19.369 109.934 19.9304C110.171 20.4918 110.551 21.0064 110.978 21.4274C111.405 21.8485 111.975 22.1759 112.592 22.4566C113.209 22.6905 113.874 22.8309 114.586 22.8309C115.298 22.8309 116.01 22.7373 116.579 22.5034C117.196 22.2695 117.766 21.942 118.335 21.4742L116.722 20.024C116.484 20.2579 116.152 20.445 115.82 20.5854C115.44 20.7257 115.06 20.7725 114.68 20.7725C114.016 20.7725 113.494 20.5854 113.019 20.2579C112.544 19.8836 112.212 19.4626 112.07 18.8545H119V18.1995C119 17.4978 118.905 16.8429 118.668 16.2347C118.43 15.6265 118.098 15.1119 117.718 14.6909M112.022 17.1235C112.165 16.5622 112.45 16.0944 112.877 15.7669C113.304 15.4394 113.779 15.2523 114.348 15.2523C114.918 15.2523 115.345 15.4394 115.772 15.7669C116.199 16.0944 116.484 16.5622 116.627 17.0768H112.022V17.1235ZM102.387 22.6437H104.855V13.4278H102.387V22.6437ZM95.7411 19.5562L93.1779 13.4278H90.5197L94.5545 22.6437H96.9278L100.963 13.4278H98.3518L95.7886 19.5562H95.7411ZM88.7635 14.6909C88.3363 14.2699 87.8141 13.9424 87.2445 13.6617C86.6749 13.4278 86.0578 13.2875 85.3933 13.2875C84.7288 13.2875 84.444 13.381 84.0168 13.5214C83.5896 13.6617 83.1624 13.8956 82.7826 14.1295V9.31105H80.3143V22.597H82.7351V21.9888C83.1149 22.2227 83.4946 22.4098 83.9693 22.5502C84.3965 22.6905 84.8712 22.7373 85.3458 22.7373C85.8205 22.7373 86.6274 22.597 87.2445 22.3631C87.8141 22.1291 88.3363 21.8017 88.7635 21.3806C89.1907 20.9596 89.5229 20.445 89.8077 19.8836C90.0451 19.3223 90.1875 18.6673 90.1875 18.0124C90.1875 17.3574 90.0451 16.7493 89.8077 16.1411C89.5704 15.5798 89.2381 15.0652 88.8109 14.6441M86.9597 19.9304C86.4376 20.445 85.773 20.6789 85.0136 20.6789C84.2541 20.6789 84.1592 20.5854 83.7794 20.445C83.3997 20.3047 83.0674 20.0708 82.7826 19.8369V16.2347C83.0674 15.954 83.3997 15.7201 83.7794 15.5798C84.1592 15.4394 84.5864 15.3458 85.0136 15.3458C85.773 15.3458 86.3901 15.5798 86.9597 16.0944C87.4819 16.6089 87.7667 17.2171 87.7667 18.0124C87.7667 18.8077 87.4819 19.4158 86.9597 19.9304Z" />
53
+ <path d="M27.7208 32L1.99362 30.9708C0.854407 30.9708 0 29.9884 0 28.9124V2.99554C0 1.96635 1.04428 1.07751 2.08855 1.03072L27.8157 0.00153375C29.1448 -0.0452476 30.2365 0.983943 30.2365 2.29382V29.5206C30.2365 30.8772 29.0973 32 27.6733 31.9532H27.7208V32ZM3.08536 28.6317L27.0562 29.2867C27.3885 29.2867 27.7208 29.006 27.7208 28.6785V3.13589C27.7208 2.80842 27.4834 2.57451 27.1512 2.57451L3.03789 3.41658C2.61069 3.41658 2.27842 3.79083 2.27842 4.21186V27.8365C2.27842 28.2575 2.61069 28.585 3.03789 28.6317H3.08536Z"/>
54
+ </svg>
55
+ </div>
56
+ <!-- Redes sociales -->
57
+ <div class="flex gap-4">
58
+ <a href="https://twitter.com/" target="_blank" rel="noopener" aria-label="Twitter" class="text-white hover:text-gray-200">
59
+ <svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24"><path d="M22.46 5.94c-.8.36-1.67.6-2.58.71a4.48 4.48 0 0 0 1.97-2.48 8.93 8.93 0 0 1-2.83 1.08 4.48 4.48 0 0 0-7.63 4.09A12.73 12.73 0 0 1 3.1 4.86a4.48 4.48 0 0 0 1.39 5.98c-.73-.02-1.42-.22-2.02-.56v.06a4.48 4.48 0 0 0 3.6 4.39c-.34.09-.7.14-1.07.14-.26 0-.51-.02-.76-.07a4.48 4.48 0 0 0 4.18 3.11A9 9 0 0 1 2 19.54a12.7 12.7 0 0 0 6.88 2.02c8.26 0 12.78-6.84 12.78-12.78 0-.19 0-.39-.01-.58a9.1 9.1 0 0 0 2.24-2.32z"/></svg>
60
+ </a>
61
+ <a href="https://facebook.com/" target="_blank" rel="noopener" aria-label="Facebook" class="text-white hover:text-gray-200">
62
+ <svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24"><path d="M22.68 0H1.32A1.32 1.32 0 0 0 0 1.32v21.36A1.32 1.32 0 0 0 1.32 24h11.5v-9.29H9.69V11.1h3.13V8.41c0-3.1 1.89-4.79 4.65-4.79 1.32 0 2.45.1 2.78.14v3.22h-1.91c-1.5 0-1.79.71-1.79 1.75v2.29h3.58l-.47 3.61h-3.11V24h6.09A1.32 1.32 0 0 0 24 22.68V1.32A1.32 1.32 0 0 0 22.68 0"/></svg>
63
+ </a>
64
+ <a href="https://linkedin.com/" target="_blank" rel="noopener" aria-label="LinkedIn" class="text-white hover:text-gray-200">
65
+ <svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24"><path d="M19 0h-14c-2.76 0-5 2.24-5 5v14c0 2.76 2.24 5 5 5h14c2.76 0 5-2.24 5-5v-14c0-2.76-2.24-5-5-5zm-11.75 20h-3v-10h3v10zm-1.5-11.27c-.97 0-1.75-.79-1.75-1.76 0-.97.78-1.76 1.75-1.76s1.75.79 1.75 1.76c0 .97-.78 1.76-1.75 1.76zm15.25 11.27h-3v-5.6c0-1.33-.03-3.05-1.86-3.05-1.86 0-2.15 1.45-2.15 2.95v5.7h-3v-10h2.88v1.36h.04c.4-.76 1.38-1.56 2.84-1.56 3.04 0 3.6 2 3.6 4.59v5.61z"/></svg>
66
+ </a>
67
+ </div>
68
+ </div>
69
+ <div class="flex flex-wrap justify-between items-center text-white text-sm gap-2 pt-2 mt-2">
70
+ <div>
71
+ © {new Date().getFullYear()} Lefebvre. Todos los derechos reservados.
72
+ </div>
73
+ <div class="flex gap-4">
74
+ <a href="#aviso-legal" class="hover:underline">Aviso legal</a>
75
+ <a href="#privacidad" class="hover:underline">Política de privacidad</a>
76
+ <a href="#cookies" class="hover:underline">Política de cookies</a>
77
+ <a href="#accesibilidad" class="hover:underline">Accesibilidad</a>
78
+ </div>
79
+ </div>
80
+ </div>
81
+ </div>
82
+ </footer>
@@ -0,0 +1,26 @@
1
+ ---
2
+ const {
3
+ logo = 'https://espacioasesoria.com/wp-content/themes/lf-espacioasesoria-theme/src/images/logo-espacio-asesoria.png',
4
+ alt = 'EspacioAsesoría',
5
+ showLefebvreLogo = true
6
+ } = Astro.props;
7
+
8
+
9
+ ---
10
+
11
+ <header class="z-9999 relative">
12
+ <nav class="bg-white border-gray-200 px-4 lg:px-6 py-2.5 dark:bg-gray-800">
13
+ <div class="flex flex-wrap justify-between items-center mx-auto max-w-screen-xl">
14
+
15
+ <a href="/" class="flex justify-between items-center">
16
+ <img src={logo} class="" alt={alt}/>
17
+ </a>
18
+
19
+
20
+ {showLefebvreLogo && (
21
+ <img src="https://assets.lefebvre.es/media/logos-2/svg/lefebvre.svg" class="" alt="Lefebvre"/>
22
+ )}
23
+
24
+ </div>
25
+ </nav>
26
+ </header>
@@ -0,0 +1,56 @@
1
+ ---
2
+ const {
3
+ image,
4
+ title,
5
+ video ,
6
+ description,
7
+ } = Astro.props;
8
+ ---
9
+
10
+ <!-- Componente que sirve para las páginas soluciones-profesionales y conocenos entre otras. Si se le pasa por parámetro una imagen, la muestra a la izquierda y el texto a la derecha. Si se le pasa un vídeo, muestra el vídeo a la izquierda y el texto a la derecha. -->
11
+
12
+ <div class="max-w-7xl mx-auto px-4">
13
+ <div class="w-full bg-white mt-[-60px] z-10 relative">
14
+ <div class="flex flex-col lg:flex-row p-0 lg:p-20 mt-4 lg:mt-0">
15
+
16
+ {image
17
+ ? (
18
+ <div class="w-full lg:w-1/2 lg:mx-4 mask-add mask-[url(https://assets.lefebvre.es/media/logos-2/svg/lefebvre-iso.svg)] mask-no-repeat mask-center bg-cover" style={`background-image: url('${image}')`} id="rotating-image"></div>
19
+ )
20
+ : video
21
+ ? (
22
+ <div class="w-full lg:w-1/2 lg:mx-4 flex items-center justify-center">
23
+ <iframe src={video} title="YouTube video" allowfullscreen class="w-full aspect-video"></iframe>
24
+ </div>
25
+ )
26
+ : null
27
+ }
28
+
29
+ <script>
30
+ let lastScrollY = window.scrollY;
31
+ let rotation = 0;
32
+
33
+ function onScroll() {
34
+ const currentScrollY = window.scrollY;
35
+ // Increment rotation based on scroll delta
36
+ rotation += (currentScrollY - lastScrollY) * 0.07;
37
+ const image = document.getElementById('rotating-image') ?? null;
38
+ if (image) {
39
+ image.style.transform = `perspective(900px) rotateY(${rotation}deg)`;
40
+ image.style.transformOrigin = '50% 50%';
41
+ }
42
+ lastScrollY = currentScrollY;
43
+ }
44
+
45
+ window.addEventListener('scroll', onScroll);
46
+ </script>
47
+ <div class="w-full lg:w-1/2 lg:mx-4 mt-3 lg:mt-0">
48
+ <h2 class="text-4xl font-bold">
49
+ {title}
50
+ </h2>
51
+ <div class="my-4" set:html={description}></div>
52
+ </div>
53
+ </div>
54
+ </div>
55
+ </div>
56
+ </div>
@@ -0,0 +1,11 @@
1
+ ---
2
+ const {
3
+ title,
4
+ description,
5
+ buttonText,
6
+ buttonUrl,
7
+ image,
8
+ orientation = 'left',
9
+ } = Astro.props;
10
+ ---
11
+ <div class="w-full h-4 bg-gradient-to-r from-indigo-900 via-blue-600 to-pink-500"></div>
@@ -0,0 +1,11 @@
1
+ ---
2
+ const {
3
+ htmlCode = '',
4
+ addShadow = true
5
+ } = Astro.props;
6
+
7
+ ---
8
+
9
+ <div class={`p-6 rounded-lg ${addShadow ? 'shadow-lg' : ''} bg-slate-100 border border-slate-300 text-slate-500 mb-2`}>
10
+ <div class="prose max-w-none" set:html={htmlCode}></div>
11
+ </div>
@@ -0,0 +1,18 @@
1
+ ---
2
+ const {
3
+ title,
4
+ description,
5
+ image,
6
+ orientation = 'left',
7
+ } = Astro.props;
8
+ ---
9
+
10
+ <section class={`w-full flex items-center justify-center bg-white bg-no-repeat ${orientation === 'left' ? 'bg-right' : 'bg-left'} bg-contain `} style={`background-image: url('${image}');`}>
11
+ <article class={`flex ${orientation === 'left' ? 'flex-row' : 'flex-row-reverse'} py-12 w-4/5 center mx-auto `}>
12
+ <div class="basis-1/2">
13
+ <h3 class="font-semibold mb-4 text-[2.313em]" style="line-height:47px;" set:html={title}/>
14
+ <div set:html={description}/>
15
+ </div>
16
+ </article>
17
+ </section>
18
+
@@ -0,0 +1,29 @@
1
+ ---
2
+ const {
3
+ title,
4
+ description,
5
+ buttonText,
6
+ buttonUrl,
7
+ image,
8
+ orientation = 'left',
9
+ } = Astro.props;
10
+ ---
11
+ <section class="w-full flex items-center justify-center bg-gradient-to-r from-slate-50 to-slate-100 border-t border-b border-gray-300">
12
+ <article class="w-3/5 flex flex-col items-center justify-center p-12">
13
+ <div class={`flex ${orientation === 'left' ? 'flex-row' : 'flex-row-reverse'} items-start gap-4`}>
14
+ <div class="w-1/2 p-4 flex flex-col flex-wrap ">
15
+ <h2 class="text-[2.625em] leading-[47px] mb-[23px] text-[#262626] font-semibold not-italic">{title}</h2>
16
+ <div
17
+ class="text-[#363942] font-inter font-normal text-[1.125em] not-italic leading-[28px] flex flex-col gap-4 mb-8"
18
+ set:html={description}
19
+ />
20
+ <div class="flex justify-start">
21
+ <a href={buttonUrl} class="border-1 border-indigo-800 bg-indigo-900 text-white font-bold block p-4 px-8 rounded-xl hover:bg-white hover:text-indigo-800 transition-colors duration-300">{buttonText}</a>
22
+ </div>
23
+ </div>
24
+ <div class={`w-1/2 p-4 flex items-center ${orientation === 'left' ? 'justify-end' : 'justify-start'}`}>
25
+ <img src={image} alt={title} class="w-4/5 h-auto rounded" />
26
+ </div>
27
+ </div>
28
+ </article>
29
+ </section>
@@ -0,0 +1,25 @@
1
+ ---
2
+ const {
3
+ title,
4
+ description,
5
+ image,
6
+ orientation = 'left',
7
+ } = Astro.props;
8
+ ---
9
+ <article class={`flex ${orientation === 'left' ? 'flex-row' : 'flex-row-reverse'} items-center gap-4 w-full rounded-xl overflow-hidden border border-slate-300 shadow-lg bg-white`}>
10
+ <div class="w-2/3 p-8 flex flex-col flex-wrap justify-center items-start">
11
+ <h2 class="text-[2.5em] leading-[47px] mb-[23px] text-[#262626] font-semibold not-italic">{title}</h2>
12
+ <div
13
+ class="text-[#363942] font-inter font-normal text-[1.125em] not-italic leading-[28px] flex flex-col gap-4 mb-8"
14
+ set:html={description}
15
+ />
16
+ </div>
17
+ <div class={`w-1/3 aspect-square flex items-center ${orientation === 'left' ? 'justify-end' : 'justify-start'}`}>
18
+ <div
19
+ class="w-full h-full bg-center bg-cover"
20
+ style={`background-image: url('${image}');`}
21
+ aria-label={title}
22
+ role="img"
23
+ ></div>
24
+ </div>
25
+ </article>
@@ -0,0 +1,31 @@
1
+ ---
2
+ const {
3
+ image,
4
+ pretitle,
5
+ title,
6
+ description,
7
+ orientation = "left",
8
+ buttonText,
9
+ buttonUrl,
10
+ } = Astro.props;
11
+ ---
12
+
13
+ <div class={`bg-[100%_0] bg-cover h-[570px] w-full ${orientation === "right" ? "rotate-y-180" : ""} `} style={`background-image: url('${image}');`} >
14
+ <div class="w-full lg:w-[70%] h-full transition duration-900 ease-in-out bg-gradient-to-r from-indigo-900 via-blue-600 to-pink-500 hover:from-pink-500 hover:via-blue-600 hover:to-indigo-900 lg:[clip-path:polygon(0_0,100%_0,88%_86%,68%_100%,0_100%)]">
15
+ <div class="flex flex-row w-4/5 center mx-auto pt-20 sm:pt-30">
16
+ <div class={`w-full ${orientation === "right" ? "rotate-y-180" : ""}`}>
17
+ <h1 class="my-3 text-4xl text-white">
18
+ {pretitle}
19
+ </h1>
20
+ <div class="font-bold text-5xl xl:text-6xl text-white mt-3 mb-9">{title}</div>
21
+ <div class="font-bold text-md text-white mt-3 mb-9" set:html={description}>
22
+ </div>
23
+ <div class={`flex ${orientation === "right" ? "flex-row-reverse" : "flex-row"} gap-2 mb-5`}>
24
+ <a href={buttonUrl} class="btn btn-primary-blue btn-lg px-6 py-3 bg-blue-700 transition duration-700 ease-in-out hover:bg-blue-800 text-white rounded-lg shadow">
25
+ {buttonText}
26
+ </a>
27
+ </div>
28
+ </div>
29
+ </div>
30
+ </div>
31
+ </div>
@@ -0,0 +1,20 @@
1
+ ---
2
+ const {
3
+ title,
4
+ description,
5
+ iframeSrc,
6
+ } = Astro.props;
7
+ ---
8
+ <section class="w-full flex items-center justify-center">
9
+ <article class="w-3/5 flex flex-col items-center justify-center p-12 mb-12">
10
+ <h2 class="text-[#262626] font-poppins font-sans text-[2.625em] not-italic font-semibold leading-[46px] text-center mb-8">
11
+ {title}
12
+ </h2>
13
+ <p class="text-[#363942] font-inter font-sans text-[1.625em] not-italic font-normal leading-[39px] mb-[71px] text-center mb-8">
14
+ {description}
15
+ </p>
16
+ <div class="w-4/5 h-full aspect-video relative">
17
+ <iframe src={iframeSrc} frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media" class="w-full h-full" title={title}></iframe>
18
+ </div>
19
+ </article>
20
+ </section>
@@ -1,12 +1,36 @@
1
- // FICHERO GENERADO AUTOMÁTICAMENTE usando esto: "npm run generate:registry" ==> NO TOCAR ESTO A MANO (o sus crujo) !!
1
+ // FICHERO GENERADO AUTOMÁTICAMENTE usando esto: "npm run generate:registry" ==> NO TOCAR ESTO A MANO (o sus crujo) !!.
2
2
  import * as AstroButton from '../carbins/AstroButton.ts';
3
+ import * as CorpFooter from '../carbins/CorpFooter.ts';
4
+ import * as CorpHero from '../carbins/CorpHero.ts';
5
+ import * as FooterCorporativo from '../carbins/FooterCorporativo.ts';
3
6
  import * as GeometricShapeCard from '../carbins/GeometricShapeCard.ts';
7
+ import * as HeaderCorporativo from '../carbins/HeaderCorporativo.ts';
8
+ import * as ImageTextSimple from '../carbins/ImageTextSimple.ts';
4
9
  import * as ReactButton from '../carbins/ReactButton.ts';
10
+ import * as SpectrumSeparator from '../carbins/SpectrumSeparator.ts';
11
+ import * as TextBox from '../carbins/TextBox.ts';
12
+ import * as TextImageBackground from '../carbins/TextImageBackground.ts';
13
+ import * as TextImageBlock from '../carbins/TextImageBlock.ts';
14
+ import * as TextImageCard from '../carbins/TextImageCard.ts';
15
+ import * as TextImageHeader from '../carbins/TextImageHeader.ts';
16
+ import * as VideoAutoplay from '../carbins/VideoAutoplay.ts';
5
17
  import * as VueButton from '../carbins/VueButton.ts';
6
18
 
7
19
  export const components = [
8
20
  {component: AstroButton},
21
+ {component: CorpFooter},
22
+ {component: CorpHero},
23
+ {component: FooterCorporativo},
9
24
  {component: GeometricShapeCard},
25
+ {component: HeaderCorporativo},
26
+ {component: ImageTextSimple},
10
27
  {component: ReactButton},
28
+ {component: SpectrumSeparator},
29
+ {component: TextBox},
30
+ {component: TextImageBackground},
31
+ {component: TextImageBlock},
32
+ {component: TextImageCard},
33
+ {component: TextImageHeader},
34
+ {component: VideoAutoplay},
11
35
  {component: VueButton},
12
36
  ];