libreria-astro-lefebvre 0.0.27 → 0.0.29

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 (65) hide show
  1. package/README.md +46 -46
  2. package/package.json +30 -30
  3. package/src/carbins/AstroButton.ts +34 -34
  4. package/src/carbins/CTA_2025_Formentera.ts +47 -47
  5. package/src/carbins/Cabecera_2025_Barcelona.ts +34 -34
  6. package/src/carbins/Cabecera_2025_Madrid.ts +34 -34
  7. package/src/carbins/Contenido_2025_Alcorcon.ts +76 -76
  8. package/src/carbins/Contenido_2025_Cordoba.ts +59 -59
  9. package/src/carbins/Contenido_2025_Granada.ts +67 -67
  10. package/src/carbins/Contenido_2025_Malaga.ts +100 -100
  11. package/src/carbins/Contenido_2025_Montevideo.ts +56 -56
  12. package/src/carbins/Footer_2025_Napoles.ts +12 -12
  13. package/src/carbins/Formulario_2025_Seul.ts +56 -56
  14. package/src/carbins/Imagen_2025_Bogota.ts +76 -76
  15. package/src/carbins/ReactButton.ts +32 -32
  16. package/src/carbins/Repetidor_2025_Cabra.ts +12 -12
  17. package/src/carbins/Repetidor_2025_Dubai.ts +48 -48
  18. package/src/carbins/Repetidor_2025_Estocolmo.ts +12 -12
  19. package/src/carbins/Repetidor_2025_Mallorca.ts +75 -75
  20. package/src/carbins/Repetidor_2025_Menorca.ts +75 -75
  21. package/src/carbins/Repetidor_2025_Michigan.ts +21 -21
  22. package/src/carbins/Repetidor_2025_Orcasitas.ts +34 -34
  23. package/src/carbins/Repetidor_2025_Oslo.ts +12 -12
  24. package/src/carbins/Repetidor_2025_Quito.ts +20 -20
  25. package/src/carbins/Repetidor_2025_Seattle.ts +12 -12
  26. package/src/carbins/Repetidor_2025_Tokyo.ts +48 -48
  27. package/src/carbins/Repetidor_2025_Ubeda.ts +12 -12
  28. package/src/carbins/Repetidor_2025_Yakarta.ts +12 -12
  29. package/src/carbins/SEO_Head_Section.ts +49 -49
  30. package/src/carbins/Separador_2025_Reinosa.ts +12 -12
  31. package/src/carbins/Titulo_2025_Algeciras.ts +51 -51
  32. package/src/carbins/Titulo_2025_Santorini.ts +20 -20
  33. package/src/carbins/Video_2025_Valencia.ts +12 -12
  34. package/src/carbins/VueButton.ts +35 -35
  35. package/src/components/Astro/Button.astro +5 -5
  36. package/src/components/Astro/CTA_2025_Formentera.astro +38 -38
  37. package/src/components/Astro/Cabecera_2025_Barcelona.astro +55 -52
  38. package/src/components/Astro/Cabecera_2025_Madrid.astro +176 -180
  39. package/src/components/Astro/Contenido_2025_Alcorcon.astro +48 -78
  40. package/src/components/Astro/Contenido_2025_Granada.astro +239 -239
  41. package/src/components/Astro/Contenido_2025_Malaga.astro +162 -162
  42. package/src/components/Astro/Contenido_2025_Montevideo.astro +35 -35
  43. package/src/components/Astro/Footer_2025_Napoles.astro +134 -134
  44. package/src/components/Astro/Formulario_2025_Seul.astro +91 -91
  45. package/src/components/Astro/Imagen_2025_Bogota.astro +61 -61
  46. package/src/components/Astro/Repetidor_2025_Cabra.astro +152 -152
  47. package/src/components/Astro/Repetidor_2025_Cordoba.astro +132 -132
  48. package/src/components/Astro/Repetidor_2025_Dubai.astro +29 -29
  49. package/src/components/Astro/Repetidor_2025_Estocolmo.astro +22 -22
  50. package/src/components/Astro/Repetidor_2025_Mallorca.astro +42 -42
  51. package/src/components/Astro/Repetidor_2025_Menorca.astro +43 -43
  52. package/src/components/Astro/Repetidor_2025_Michigan.astro +45 -45
  53. package/src/components/Astro/Repetidor_2025_Orcasitas.astro +235 -235
  54. package/src/components/Astro/Repetidor_2025_Oslo.astro +76 -76
  55. package/src/components/Astro/Repetidor_2025_Quito.astro +61 -61
  56. package/src/components/Astro/Repetidor_2025_Seattle.astro +22 -22
  57. package/src/components/Astro/Repetidor_2025_Tokyo.astro +56 -56
  58. package/src/components/Astro/Repetidor_2025_Ubeda.astro +39 -39
  59. package/src/components/Astro/Repetidor_2025_Yakarta.astro +203 -179
  60. package/src/components/Astro/SEO_Head_Section.astro +32 -32
  61. package/src/components/Astro/Separador_2025_Reinosa.astro +3 -3
  62. package/src/components/Astro/Titulo_2025_Algeciras.astro +57 -57
  63. package/src/components/Astro/Titulo_2025_Santorini.astro +8 -8
  64. package/src/generated/componentRegistry.ts +96 -96
  65. package/src/index.ts +123 -123
@@ -1,77 +1,77 @@
1
- ---
2
- const {
3
- items
4
- } = Astro.props;
5
-
6
- const randomId = Math.floor(Math.random() * 1000);
7
-
8
- const structuredData = JSON.stringify({
9
- "@context": "https://schema.org",
10
- "@type": "ItemList",
11
- "numberOfItems": items.length,
12
- "itemListElement": items.map((item, index) => ({
13
- "@type": "ListItem",
14
- "position": index + 1,
15
- "item": {
16
- "@type": "MediaObject",
17
- "name": item.description?.replace(/<[^>]*>/g, '') || `Item ${index + 1}`,
18
- "description": item.description?.replace(/<[^>]*>/g, '') || "",
19
- "image": item.imageSrc,
20
- "embedUrl": item.iframeSrc,
21
- "contentUrl": item.iframeSrc
22
- }
23
- }))
24
- });
25
-
26
- const structuredDataScript = `<script type="application/ld+json">${structuredData}</script>`;
27
-
28
- ---
29
- <div class="max-w-7xl w-full flex flex-row flex-wrap items-center justify-center">
30
- <div class="w-full flex flex-row flex-wrap items-center justify-center">
31
- {items.map(item => (
32
- <article class="w-full md:w-1/3 h-full mb-4 md:mb-0 relative">
33
- <p class={`popup-iframe-trigger-${randomId} cursor-pointer`} data-iframesrc={item.iframeSrc}>
34
- <img src={item.imageSrc} class="w-full h-full rounded-2xl p-2 transition-transform hover:scale-105 cursor-pointer"/>
35
- </p>
36
- <p set:html={item.description} class="text-[14px] text-[#363942] text-center font-semibold"></p>
37
- </article>
38
- ))}
39
- </div>
40
- </div>
41
-
42
- <div id={"popup-iframe-modal-" + randomId } class="fixed w-full h-full top-0 left-0 z-9999 hidden">
43
- <div class="flex flex-col justify-center items-center w-full h-full bg-gray-100/90 p-4">
44
- <div class="w-full flex justify-end">
45
- <button class="js-close-popup w-auto m-4 p-2 bg-white rounded transition-transform hover:scale-125 cursor-pointer">X</button>
46
- </div>
47
- <div class="w-full h-full flex items-center justify-center">
48
- <iframe
49
- class="rounded-xl shadow-lg max-w-full md:max-w-3/4 aspect-video"
50
- src=""
51
- frameborder="0"
52
- allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
53
- allowfullscreen=""></iframe>
54
- </div>
55
- </div>
56
- </div>
57
-
58
-
59
- <script is:inline define:vars={{ randomId }}>
60
-
61
- const iframePopup = document.getElementById(`popup-iframe-modal-${randomId}`);
62
- document.querySelectorAll(`.popup-iframe-trigger-${randomId}`).forEach(btn => {
63
- btn.addEventListener('click', (e) => {
64
- const iframeSrc = btn.getAttribute('data-iframesrc');
65
- iframePopup.classList.remove('hidden');
66
- iframePopup.querySelector('iframe').setAttribute('src', iframeSrc);
67
- });
68
- });
69
-
70
- iframePopup.querySelector('.js-close-popup').addEventListener('click', () => {
71
- iframePopup.classList.add('hidden');
72
- iframePopup.querySelector('iframe').setAttribute('src', '');
73
- });
74
-
75
- </script>
76
-
1
+ ---
2
+ const {
3
+ items
4
+ } = Astro.props;
5
+
6
+ const randomId = Math.floor(Math.random() * 1000);
7
+
8
+ const structuredData = JSON.stringify({
9
+ "@context": "https://schema.org",
10
+ "@type": "ItemList",
11
+ "numberOfItems": items.length,
12
+ "itemListElement": items.map((item, index) => ({
13
+ "@type": "ListItem",
14
+ "position": index + 1,
15
+ "item": {
16
+ "@type": "MediaObject",
17
+ "name": item.description?.replace(/<[^>]*>/g, '') || `Item ${index + 1}`,
18
+ "description": item.description?.replace(/<[^>]*>/g, '') || "",
19
+ "image": item.imageSrc,
20
+ "embedUrl": item.iframeSrc,
21
+ "contentUrl": item.iframeSrc
22
+ }
23
+ }))
24
+ });
25
+
26
+ const structuredDataScript = `<script type="application/ld+json">${structuredData}</script>`;
27
+
28
+ ---
29
+ <div class="max-w-7xl w-full flex flex-row flex-wrap items-center justify-center">
30
+ <div class="w-full flex flex-row flex-wrap items-center justify-center">
31
+ {items.map(item => (
32
+ <article class="w-full md:w-1/3 h-full mb-4 md:mb-0 relative">
33
+ <p class={`popup-iframe-trigger-${randomId} cursor-pointer`} data-iframesrc={item.iframeSrc}>
34
+ <img src={item.imageSrc} class="w-full h-full rounded-2xl p-2 transition-transform hover:scale-105 cursor-pointer"/>
35
+ </p>
36
+ <p set:html={item.description} class="text-[14px] text-[#363942] text-center font-semibold"></p>
37
+ </article>
38
+ ))}
39
+ </div>
40
+ </div>
41
+
42
+ <div id={"popup-iframe-modal-" + randomId } class="fixed w-full h-full top-0 left-0 z-9999 hidden">
43
+ <div class="flex flex-col justify-center items-center w-full h-full bg-gray-100/90 p-4">
44
+ <div class="w-full flex justify-end">
45
+ <button class="js-close-popup w-auto m-4 p-2 bg-white rounded transition-transform hover:scale-125 cursor-pointer">X</button>
46
+ </div>
47
+ <div class="w-full h-full flex items-center justify-center">
48
+ <iframe
49
+ class="rounded-xl shadow-lg max-w-full md:max-w-3/4 aspect-video"
50
+ src=""
51
+ frameborder="0"
52
+ allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
53
+ allowfullscreen=""></iframe>
54
+ </div>
55
+ </div>
56
+ </div>
57
+
58
+
59
+ <script is:inline define:vars={{ randomId }}>
60
+
61
+ const iframePopup = document.getElementById(`popup-iframe-modal-${randomId}`);
62
+ document.querySelectorAll(`.popup-iframe-trigger-${randomId}`).forEach(btn => {
63
+ btn.addEventListener('click', (e) => {
64
+ const iframeSrc = btn.getAttribute('data-iframesrc');
65
+ iframePopup.classList.remove('hidden');
66
+ iframePopup.querySelector('iframe').setAttribute('src', iframeSrc);
67
+ });
68
+ });
69
+
70
+ iframePopup.querySelector('.js-close-popup').addEventListener('click', () => {
71
+ iframePopup.classList.add('hidden');
72
+ iframePopup.querySelector('iframe').setAttribute('src', '');
73
+ });
74
+
75
+ </script>
76
+
77
77
  <Fragment set:html={structuredDataScript} />
@@ -1,62 +1,62 @@
1
- ---
2
- const {
3
- title,
4
- items
5
- } = Astro.props;
6
-
7
- const structuredData = JSON.stringify({
8
- "@context": "https://schema.org",
9
- "@type": "ContactPoint",
10
- "name": title,
11
- "contactType": "customer service",
12
- "availableLanguage": "es",
13
- "areaServed": "EC",
14
- "telephone": items.find(item => item.icon === "phone")?.text?.replace(/<[^>]*>/g, ''),
15
- "email": items.find(item => item.icon === "email")?.text?.replace(/<[^>]*>/g, ''),
16
- "address": {
17
- "@type": "PostalAddress",
18
- "addressLocality": items.find(item => item.icon === "locator")?.text?.replace(/<[^>]*>/g, ''),
19
- "addressCountry": "EC"
20
- }
21
- });
22
-
23
- const structuredDataScript = `<script type="application/ld+json">${structuredData}</script>`;
24
- ---
25
- <article class="max-w-7xl w-full flex flex-col text-left items-start p-4">
26
- <div class="w-full flex flex-col">
27
- <h2 class="font-poppins text-[32px] font-normal leading-[40px] mb-[48px]">{title}</h2>
28
- </div>
29
-
30
- <div class="max-w-[900px] text-[#363942] font-inter font-normal text-[1.125em] not-italic leading-[28px] flex flex-col gap-2 mb-8">
31
- {items.map((item) => (
32
- <div class="w-auto flex flex-row gap-4 items-center last:text-[#2134F1]">
33
- {
34
- item.icon === "locator" ? (
35
- <svg xmlns="http://www.w3.org/2000/svg" width="14" height="18" viewBox="0 0 14 18" fill="none">
36
- <path fill-rule="evenodd" clip-rule="evenodd" d="M6.59358 0.880542C6.19288 0.919951 6.06251 0.93667 5.83919 0.977253C3.69458 1.36718 1.8469 2.86738 0.978631 4.9238C0.559268 5.91699 0.383028 6.99046 0.452088 8.13081C0.546969 9.69783 0.960831 11.226 1.67532 12.6476C2.61302 14.5133 3.90078 15.9076 5.41746 16.6994C5.76355 16.8801 5.95602 16.9564 6.24809 17.0288C6.76524 17.1571 7.24316 17.1571 7.7603 17.0288C8.05237 16.9564 8.24485 16.8801 8.59093 16.6994C9.24801 16.3564 9.84843 15.9102 10.4149 15.3442C11.1913 14.5682 11.7955 13.7186 12.3326 12.6476C12.9864 11.3438 13.3758 10.0017 13.5284 8.52566C13.5686 8.13685 13.5746 7.23423 13.5391 6.91734C13.355 5.27382 12.6782 3.85657 11.5473 2.74691C10.5017 1.72087 9.23518 1.10472 7.78557 0.916888C7.56258 0.887996 6.76507 0.863689 6.59358 0.880542ZM6.47899 2.10325C5.61914 2.1928 4.77715 2.50015 4.05271 2.98894C3.45995 3.38888 2.84754 4.02907 2.46897 4.64451C2.13494 5.18754 1.88166 5.82783 1.75271 6.45507C1.68344 6.79213 1.65586 7.04322 1.64383 7.44703C1.5843 9.44216 2.33979 11.7913 3.59196 13.5047C4.10032 14.2003 4.79296 14.8809 5.41962 15.3004C6.06614 15.7332 6.52995 15.9124 7.0042 15.9124C7.37721 15.9124 7.704 15.815 8.14072 15.5736C9.32144 14.9211 10.3762 13.7848 11.1427 12.3394C11.9589 10.8004 12.4062 9.01783 12.3655 7.46629C12.3339 6.26271 11.9562 5.16616 11.2476 4.22103C11.0468 3.95324 10.6355 3.52181 10.3751 3.30591C9.61755 2.67783 8.73976 2.28498 7.74903 2.13064C7.51 2.09339 6.7343 2.07667 6.47899 2.10325ZM6.7619 4.64526C5.6027 4.74124 4.60842 5.56404 4.28296 6.69669C4.14706 7.16969 4.13714 7.71505 4.25578 8.19275C4.3765 8.67881 4.61487 9.10757 4.96898 9.47567C5.52262 10.0512 6.21182 10.3459 7.0042 10.3459C7.64012 10.3459 8.20337 10.1566 8.7226 9.76837C8.90863 9.62926 9.21417 9.30182 9.35086 9.09505C9.68261 8.59319 9.83238 8.09627 9.83309 7.49518C9.83401 6.71379 9.54171 6.00625 8.99125 5.4574C8.61169 5.07895 8.09955 4.8001 7.58851 4.69365C7.45717 4.66629 7.03737 4.62223 6.966 4.62829C6.95024 4.62964 6.8584 4.63727 6.7619 4.64526ZM6.6923 5.8681C6.08793 5.98358 5.58012 6.46644 5.41662 7.08107C5.35881 7.29841 5.35854 7.69011 5.41607 7.9093C5.55499 8.43864 5.98476 8.90072 6.4897 9.06361C6.79457 9.16198 7.1947 9.16506 7.49814 9.07141C8.00841 8.91391 8.45243 8.44232 8.59232 7.9093C8.64991 7.68986 8.64958 7.29829 8.59166 7.08107C8.46633 6.61117 8.14918 6.22159 7.72039 6.01081C7.61535 5.95917 7.47354 5.90331 7.40526 5.88669C7.22402 5.84254 6.87385 5.83341 6.6923 5.8681Z" fill="#363942"/>
37
- </svg>
38
- )
39
- : item.icon === "phone" ? (
40
- <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
41
- <path fill-rule="evenodd" clip-rule="evenodd" d="M10.571 1.9087C10.3925 1.97036 10.2507 2.10949 10.1747 2.29759C10.1281 2.41315 10.1385 2.65484 10.1948 2.76338C10.3174 2.99985 10.4434 3.085 10.7665 3.14967C12.2033 3.4372 14.0236 4.73676 15.4193 6.47133C16.166 7.39933 16.7099 8.44797 16.8571 9.2436C16.8745 9.33808 16.9085 9.45584 16.9324 9.50532C17.147 9.94796 17.7857 9.96726 18.0422 9.53885C18.1651 9.33354 18.1532 9.0908 17.9931 8.53515C17.5485 6.99267 16.2225 5.16622 14.5153 3.74483C13.3773 2.79733 12.114 2.12568 11.0702 1.91325C10.8262 1.8636 10.7048 1.8625 10.571 1.9087ZM4.9978 2.73497C4.79873 2.7709 4.5777 2.84437 4.40018 2.93364C4.12298 3.07306 3.96227 3.21788 3.22191 3.99536C2.82806 4.40893 2.46248 4.80124 2.40952 4.86718C2.18502 5.14654 2.02096 5.47018 1.92758 5.81797C1.88045 5.99347 1.875 6.05062 1.875 6.36821C1.87504 7.54239 2.32611 9.121 3.07542 10.5692C4.15674 12.6592 6.03958 14.8483 7.89447 16.1722C9.42238 17.2627 10.9532 17.8844 12.6092 18.087C13.029 18.1383 13.9739 18.1375 14.2619 18.0855C14.6288 18.0194 14.9443 17.8771 15.2606 17.6351C15.3842 17.5406 15.9595 16.9527 16.6825 16.1823C16.9699 15.8761 17.179 15.4798 17.266 15.0765C17.2936 14.9484 17.3028 14.8214 17.3021 14.5803C17.3012 14.3005 17.2937 14.227 17.2476 14.0414C17.1121 13.496 16.8077 13.0184 16.3972 12.7072C16.3005 12.6339 16.0406 12.4701 15.8196 12.3431C15.5986 12.2162 15.2141 11.9955 14.9653 11.8527C14.7164 11.7099 14.4478 11.5654 14.3683 11.5316C13.8132 11.2957 13.1679 11.3036 12.6347 11.5528C12.3603 11.681 12.1909 11.8078 11.8977 12.1044C11.5841 12.4215 11.6019 12.4141 11.3241 12.3431C10.8674 12.2265 10.3119 11.8499 9.6266 11.1923C8.60257 10.2096 7.8923 9.16709 7.81307 8.53035C7.78914 8.33808 7.80899 8.28646 7.97509 8.10908C8.43099 7.62222 8.63438 7.11888 8.63456 6.47718C8.63469 5.97636 8.50028 5.53343 8.22423 5.12499C8.08366 4.91702 7.21465 3.69219 7.12208 3.57157C6.94505 3.34089 6.62429 3.07767 6.35331 2.94073C5.95145 2.73764 5.42548 2.65779 4.9978 2.73497ZM5.1286 3.92955C4.86514 4.00028 4.84375 4.01894 3.96888 4.94046C3.33756 5.60544 3.25527 5.70324 3.16791 5.89229C3.04123 6.16646 3.03135 6.39411 3.11969 7.00422C3.3714 8.74294 4.30522 10.6818 5.74492 12.4548C6.12784 12.9264 6.45902 13.2904 6.97087 13.8023C7.51729 14.3488 7.73054 14.5406 8.20904 14.9163C9.93911 16.2747 11.8607 16.9878 13.6434 16.9332C14.3591 16.9112 14.3375 16.9248 15.3309 15.8764C16.0007 15.1696 16.0052 15.1635 16.078 14.8792C16.2024 14.3936 15.9963 13.859 15.58 13.5873C15.3301 13.4242 13.9655 12.6541 13.8539 12.6133C13.5938 12.5181 13.3578 12.5312 13.106 12.6551C12.9875 12.7133 12.9145 12.775 12.6642 13.0277C12.3302 13.3651 12.2108 13.4446 11.9258 13.5191C11.7382 13.5681 11.3911 13.5775 11.1897 13.5389C10.4132 13.39 9.55342 12.824 8.55323 11.8033C7.79478 11.0293 7.28169 10.3509 6.96205 9.69963C6.60941 8.9811 6.52649 8.4089 6.69987 7.89058C6.76579 7.69353 6.8541 7.56037 7.07283 7.32835C7.2926 7.09521 7.38505 6.92487 7.42936 6.67142C7.46469 6.46933 7.45329 6.32177 7.38562 6.10494C7.32704 5.9172 7.32227 5.90969 6.71076 5.04171C6.40133 4.60253 6.16113 4.28282 6.07931 4.20126C5.82198 3.94475 5.45863 3.8409 5.1286 3.92955ZM11.1356 4.70454C10.6746 4.86366 10.555 5.45943 10.9198 5.7801C10.9673 5.82188 11.0498 5.87224 11.103 5.89205C11.3902 5.99884 11.8115 6.25788 12.1935 6.56265C12.4733 6.78586 13.1986 7.50709 13.4134 7.77571C13.7344 8.17708 13.9212 8.47148 14.079 8.82467C14.1552 8.99523 14.1962 9.06051 14.2656 9.12148C14.5058 9.33263 14.8193 9.35191 15.069 9.17088C15.3106 8.99572 15.3832 8.72216 15.2745 8.39695C15.1714 8.0883 14.8102 7.48502 14.4844 7.07702C13.6018 5.9719 12.3377 4.95368 11.5445 4.70902C11.3793 4.65804 11.2737 4.65689 11.1356 4.70454Z" fill="#363942"/>
42
- </svg>
43
- )
44
- : item.icon === "email" ? (
45
- <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
46
- <path fill-rule="evenodd" clip-rule="evenodd" d="M6.72747 3.44347C4.6094 3.48792 3.63668 3.76584 2.88543 4.54121C2.51203 4.92659 2.26038 5.40914 2.10815 6.03157C1.92232 6.79149 1.875 7.59688 1.875 10.0007C1.875 12.4045 1.92232 13.2099 2.10815 13.9698C2.38674 15.109 3.06036 15.8701 4.10378 16.2247C4.59894 16.3929 5.14477 16.4796 6.0631 16.5358C6.64419 16.5714 13.3582 16.5714 13.9393 16.5358C15.4165 16.4454 16.1482 16.2438 16.7986 15.7482C17.4121 15.2808 17.7864 14.6065 17.9616 13.6528C18.0856 12.9782 18.1103 12.4872 18.122 10.4686C18.1375 7.80704 18.0965 6.94772 17.9141 6.10955C17.6615 4.94897 16.9605 4.13751 15.8986 3.77673C15.4194 3.61389 14.8846 3.52686 13.9971 3.46734C13.7009 3.44746 7.50593 3.42712 6.72747 3.44347ZM6.32307 4.65556C4.2817 4.7348 3.57124 5.1239 3.27928 6.32265C3.12349 6.96226 3.08836 7.63914 3.08836 10.0007C3.08836 11.6378 3.1019 12.2871 3.14689 12.808C3.2902 14.4674 3.79647 15.0565 5.25429 15.26C5.92506 15.3537 6.49702 15.3665 10.0012 15.3665C13.5054 15.3665 14.0774 15.3537 14.7481 15.26C15.7057 15.1263 16.2311 14.8221 16.5253 14.2307C16.7496 13.78 16.8471 13.2288 16.8951 12.1396C16.9197 11.5823 16.9197 8.41907 16.8951 7.86181C16.8302 6.38959 16.6574 5.76658 16.1878 5.31192C15.7453 4.88355 15.0672 4.71097 13.6023 4.654C13.0243 4.63152 6.90893 4.63284 6.32307 4.65556ZM5.36304 6.4304C5.19005 6.46527 5.01013 6.61494 4.93067 6.79004C4.90267 6.85172 4.89044 6.91858 4.89004 7.0121C4.88942 7.15734 4.91374 7.23563 4.99792 7.35938C5.04881 7.43417 6.88051 8.96301 7.60368 9.53427C8.44316 10.1974 8.89742 10.4569 9.48127 10.6068C9.66155 10.6531 9.71792 10.6587 10.0012 10.6587C10.2845 10.6587 10.3409 10.6531 10.5212 10.6068C11.1051 10.4569 11.5602 10.1969 12.3987 9.53415C13.1291 8.95694 14.9535 7.4343 15.0044 7.35952C15.0885 7.23582 15.1129 7.15756 15.1129 7.01143C15.1129 6.68667 14.8459 6.42343 14.5162 6.42324C14.4116 6.42318 14.3564 6.4342 14.2754 6.47131C14.2042 6.50398 13.8518 6.78282 13.1787 7.33924C11.7835 8.49253 11.6665 8.58733 11.3184 8.84686C10.2106 9.67276 9.78763 9.67259 8.68209 8.84581C8.33324 8.58493 8.20293 8.47928 6.82376 7.33924C6.18792 6.81364 5.79746 6.50392 5.73572 6.47618C5.62112 6.42467 5.47843 6.40714 5.36304 6.4304Z" fill="#363942"/>
47
- </svg>
48
- )
49
- : (
50
- <span>xxx</span>
51
- )
52
- }
53
- <div class="flex flex-row gap-4 items-center">
54
- <p set:html={item.text}></p>
55
- </div>
56
- </div>
57
-
58
- ))}
59
- </div>
60
- </article>
61
-
1
+ ---
2
+ const {
3
+ title,
4
+ items
5
+ } = Astro.props;
6
+
7
+ const structuredData = JSON.stringify({
8
+ "@context": "https://schema.org",
9
+ "@type": "ContactPoint",
10
+ "name": title,
11
+ "contactType": "customer service",
12
+ "availableLanguage": "es",
13
+ "areaServed": "EC",
14
+ "telephone": items.find(item => item.icon === "phone")?.text?.replace(/<[^>]*>/g, ''),
15
+ "email": items.find(item => item.icon === "email")?.text?.replace(/<[^>]*>/g, ''),
16
+ "address": {
17
+ "@type": "PostalAddress",
18
+ "addressLocality": items.find(item => item.icon === "locator")?.text?.replace(/<[^>]*>/g, ''),
19
+ "addressCountry": "EC"
20
+ }
21
+ });
22
+
23
+ const structuredDataScript = `<script type="application/ld+json">${structuredData}</script>`;
24
+ ---
25
+ <article class="max-w-7xl w-full flex flex-col text-left items-start p-4">
26
+ <div class="w-full flex flex-col">
27
+ <h2 class="font-poppins text-[32px] font-normal leading-[40px] mb-[48px]">{title}</h2>
28
+ </div>
29
+
30
+ <div class="max-w-[900px] text-[#363942] font-inter font-normal text-[1.125em] not-italic leading-[28px] flex flex-col gap-2 mb-8">
31
+ {items.map((item) => (
32
+ <div class="w-auto flex flex-row gap-4 items-center last:text-[#2134F1]">
33
+ {
34
+ item.icon === "locator" ? (
35
+ <svg xmlns="http://www.w3.org/2000/svg" width="14" height="18" viewBox="0 0 14 18" fill="none">
36
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M6.59358 0.880542C6.19288 0.919951 6.06251 0.93667 5.83919 0.977253C3.69458 1.36718 1.8469 2.86738 0.978631 4.9238C0.559268 5.91699 0.383028 6.99046 0.452088 8.13081C0.546969 9.69783 0.960831 11.226 1.67532 12.6476C2.61302 14.5133 3.90078 15.9076 5.41746 16.6994C5.76355 16.8801 5.95602 16.9564 6.24809 17.0288C6.76524 17.1571 7.24316 17.1571 7.7603 17.0288C8.05237 16.9564 8.24485 16.8801 8.59093 16.6994C9.24801 16.3564 9.84843 15.9102 10.4149 15.3442C11.1913 14.5682 11.7955 13.7186 12.3326 12.6476C12.9864 11.3438 13.3758 10.0017 13.5284 8.52566C13.5686 8.13685 13.5746 7.23423 13.5391 6.91734C13.355 5.27382 12.6782 3.85657 11.5473 2.74691C10.5017 1.72087 9.23518 1.10472 7.78557 0.916888C7.56258 0.887996 6.76507 0.863689 6.59358 0.880542ZM6.47899 2.10325C5.61914 2.1928 4.77715 2.50015 4.05271 2.98894C3.45995 3.38888 2.84754 4.02907 2.46897 4.64451C2.13494 5.18754 1.88166 5.82783 1.75271 6.45507C1.68344 6.79213 1.65586 7.04322 1.64383 7.44703C1.5843 9.44216 2.33979 11.7913 3.59196 13.5047C4.10032 14.2003 4.79296 14.8809 5.41962 15.3004C6.06614 15.7332 6.52995 15.9124 7.0042 15.9124C7.37721 15.9124 7.704 15.815 8.14072 15.5736C9.32144 14.9211 10.3762 13.7848 11.1427 12.3394C11.9589 10.8004 12.4062 9.01783 12.3655 7.46629C12.3339 6.26271 11.9562 5.16616 11.2476 4.22103C11.0468 3.95324 10.6355 3.52181 10.3751 3.30591C9.61755 2.67783 8.73976 2.28498 7.74903 2.13064C7.51 2.09339 6.7343 2.07667 6.47899 2.10325ZM6.7619 4.64526C5.6027 4.74124 4.60842 5.56404 4.28296 6.69669C4.14706 7.16969 4.13714 7.71505 4.25578 8.19275C4.3765 8.67881 4.61487 9.10757 4.96898 9.47567C5.52262 10.0512 6.21182 10.3459 7.0042 10.3459C7.64012 10.3459 8.20337 10.1566 8.7226 9.76837C8.90863 9.62926 9.21417 9.30182 9.35086 9.09505C9.68261 8.59319 9.83238 8.09627 9.83309 7.49518C9.83401 6.71379 9.54171 6.00625 8.99125 5.4574C8.61169 5.07895 8.09955 4.8001 7.58851 4.69365C7.45717 4.66629 7.03737 4.62223 6.966 4.62829C6.95024 4.62964 6.8584 4.63727 6.7619 4.64526ZM6.6923 5.8681C6.08793 5.98358 5.58012 6.46644 5.41662 7.08107C5.35881 7.29841 5.35854 7.69011 5.41607 7.9093C5.55499 8.43864 5.98476 8.90072 6.4897 9.06361C6.79457 9.16198 7.1947 9.16506 7.49814 9.07141C8.00841 8.91391 8.45243 8.44232 8.59232 7.9093C8.64991 7.68986 8.64958 7.29829 8.59166 7.08107C8.46633 6.61117 8.14918 6.22159 7.72039 6.01081C7.61535 5.95917 7.47354 5.90331 7.40526 5.88669C7.22402 5.84254 6.87385 5.83341 6.6923 5.8681Z" fill="#363942"/>
37
+ </svg>
38
+ )
39
+ : item.icon === "phone" ? (
40
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
41
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M10.571 1.9087C10.3925 1.97036 10.2507 2.10949 10.1747 2.29759C10.1281 2.41315 10.1385 2.65484 10.1948 2.76338C10.3174 2.99985 10.4434 3.085 10.7665 3.14967C12.2033 3.4372 14.0236 4.73676 15.4193 6.47133C16.166 7.39933 16.7099 8.44797 16.8571 9.2436C16.8745 9.33808 16.9085 9.45584 16.9324 9.50532C17.147 9.94796 17.7857 9.96726 18.0422 9.53885C18.1651 9.33354 18.1532 9.0908 17.9931 8.53515C17.5485 6.99267 16.2225 5.16622 14.5153 3.74483C13.3773 2.79733 12.114 2.12568 11.0702 1.91325C10.8262 1.8636 10.7048 1.8625 10.571 1.9087ZM4.9978 2.73497C4.79873 2.7709 4.5777 2.84437 4.40018 2.93364C4.12298 3.07306 3.96227 3.21788 3.22191 3.99536C2.82806 4.40893 2.46248 4.80124 2.40952 4.86718C2.18502 5.14654 2.02096 5.47018 1.92758 5.81797C1.88045 5.99347 1.875 6.05062 1.875 6.36821C1.87504 7.54239 2.32611 9.121 3.07542 10.5692C4.15674 12.6592 6.03958 14.8483 7.89447 16.1722C9.42238 17.2627 10.9532 17.8844 12.6092 18.087C13.029 18.1383 13.9739 18.1375 14.2619 18.0855C14.6288 18.0194 14.9443 17.8771 15.2606 17.6351C15.3842 17.5406 15.9595 16.9527 16.6825 16.1823C16.9699 15.8761 17.179 15.4798 17.266 15.0765C17.2936 14.9484 17.3028 14.8214 17.3021 14.5803C17.3012 14.3005 17.2937 14.227 17.2476 14.0414C17.1121 13.496 16.8077 13.0184 16.3972 12.7072C16.3005 12.6339 16.0406 12.4701 15.8196 12.3431C15.5986 12.2162 15.2141 11.9955 14.9653 11.8527C14.7164 11.7099 14.4478 11.5654 14.3683 11.5316C13.8132 11.2957 13.1679 11.3036 12.6347 11.5528C12.3603 11.681 12.1909 11.8078 11.8977 12.1044C11.5841 12.4215 11.6019 12.4141 11.3241 12.3431C10.8674 12.2265 10.3119 11.8499 9.6266 11.1923C8.60257 10.2096 7.8923 9.16709 7.81307 8.53035C7.78914 8.33808 7.80899 8.28646 7.97509 8.10908C8.43099 7.62222 8.63438 7.11888 8.63456 6.47718C8.63469 5.97636 8.50028 5.53343 8.22423 5.12499C8.08366 4.91702 7.21465 3.69219 7.12208 3.57157C6.94505 3.34089 6.62429 3.07767 6.35331 2.94073C5.95145 2.73764 5.42548 2.65779 4.9978 2.73497ZM5.1286 3.92955C4.86514 4.00028 4.84375 4.01894 3.96888 4.94046C3.33756 5.60544 3.25527 5.70324 3.16791 5.89229C3.04123 6.16646 3.03135 6.39411 3.11969 7.00422C3.3714 8.74294 4.30522 10.6818 5.74492 12.4548C6.12784 12.9264 6.45902 13.2904 6.97087 13.8023C7.51729 14.3488 7.73054 14.5406 8.20904 14.9163C9.93911 16.2747 11.8607 16.9878 13.6434 16.9332C14.3591 16.9112 14.3375 16.9248 15.3309 15.8764C16.0007 15.1696 16.0052 15.1635 16.078 14.8792C16.2024 14.3936 15.9963 13.859 15.58 13.5873C15.3301 13.4242 13.9655 12.6541 13.8539 12.6133C13.5938 12.5181 13.3578 12.5312 13.106 12.6551C12.9875 12.7133 12.9145 12.775 12.6642 13.0277C12.3302 13.3651 12.2108 13.4446 11.9258 13.5191C11.7382 13.5681 11.3911 13.5775 11.1897 13.5389C10.4132 13.39 9.55342 12.824 8.55323 11.8033C7.79478 11.0293 7.28169 10.3509 6.96205 9.69963C6.60941 8.9811 6.52649 8.4089 6.69987 7.89058C6.76579 7.69353 6.8541 7.56037 7.07283 7.32835C7.2926 7.09521 7.38505 6.92487 7.42936 6.67142C7.46469 6.46933 7.45329 6.32177 7.38562 6.10494C7.32704 5.9172 7.32227 5.90969 6.71076 5.04171C6.40133 4.60253 6.16113 4.28282 6.07931 4.20126C5.82198 3.94475 5.45863 3.8409 5.1286 3.92955ZM11.1356 4.70454C10.6746 4.86366 10.555 5.45943 10.9198 5.7801C10.9673 5.82188 11.0498 5.87224 11.103 5.89205C11.3902 5.99884 11.8115 6.25788 12.1935 6.56265C12.4733 6.78586 13.1986 7.50709 13.4134 7.77571C13.7344 8.17708 13.9212 8.47148 14.079 8.82467C14.1552 8.99523 14.1962 9.06051 14.2656 9.12148C14.5058 9.33263 14.8193 9.35191 15.069 9.17088C15.3106 8.99572 15.3832 8.72216 15.2745 8.39695C15.1714 8.0883 14.8102 7.48502 14.4844 7.07702C13.6018 5.9719 12.3377 4.95368 11.5445 4.70902C11.3793 4.65804 11.2737 4.65689 11.1356 4.70454Z" fill="#363942"/>
42
+ </svg>
43
+ )
44
+ : item.icon === "email" ? (
45
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
46
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M6.72747 3.44347C4.6094 3.48792 3.63668 3.76584 2.88543 4.54121C2.51203 4.92659 2.26038 5.40914 2.10815 6.03157C1.92232 6.79149 1.875 7.59688 1.875 10.0007C1.875 12.4045 1.92232 13.2099 2.10815 13.9698C2.38674 15.109 3.06036 15.8701 4.10378 16.2247C4.59894 16.3929 5.14477 16.4796 6.0631 16.5358C6.64419 16.5714 13.3582 16.5714 13.9393 16.5358C15.4165 16.4454 16.1482 16.2438 16.7986 15.7482C17.4121 15.2808 17.7864 14.6065 17.9616 13.6528C18.0856 12.9782 18.1103 12.4872 18.122 10.4686C18.1375 7.80704 18.0965 6.94772 17.9141 6.10955C17.6615 4.94897 16.9605 4.13751 15.8986 3.77673C15.4194 3.61389 14.8846 3.52686 13.9971 3.46734C13.7009 3.44746 7.50593 3.42712 6.72747 3.44347ZM6.32307 4.65556C4.2817 4.7348 3.57124 5.1239 3.27928 6.32265C3.12349 6.96226 3.08836 7.63914 3.08836 10.0007C3.08836 11.6378 3.1019 12.2871 3.14689 12.808C3.2902 14.4674 3.79647 15.0565 5.25429 15.26C5.92506 15.3537 6.49702 15.3665 10.0012 15.3665C13.5054 15.3665 14.0774 15.3537 14.7481 15.26C15.7057 15.1263 16.2311 14.8221 16.5253 14.2307C16.7496 13.78 16.8471 13.2288 16.8951 12.1396C16.9197 11.5823 16.9197 8.41907 16.8951 7.86181C16.8302 6.38959 16.6574 5.76658 16.1878 5.31192C15.7453 4.88355 15.0672 4.71097 13.6023 4.654C13.0243 4.63152 6.90893 4.63284 6.32307 4.65556ZM5.36304 6.4304C5.19005 6.46527 5.01013 6.61494 4.93067 6.79004C4.90267 6.85172 4.89044 6.91858 4.89004 7.0121C4.88942 7.15734 4.91374 7.23563 4.99792 7.35938C5.04881 7.43417 6.88051 8.96301 7.60368 9.53427C8.44316 10.1974 8.89742 10.4569 9.48127 10.6068C9.66155 10.6531 9.71792 10.6587 10.0012 10.6587C10.2845 10.6587 10.3409 10.6531 10.5212 10.6068C11.1051 10.4569 11.5602 10.1969 12.3987 9.53415C13.1291 8.95694 14.9535 7.4343 15.0044 7.35952C15.0885 7.23582 15.1129 7.15756 15.1129 7.01143C15.1129 6.68667 14.8459 6.42343 14.5162 6.42324C14.4116 6.42318 14.3564 6.4342 14.2754 6.47131C14.2042 6.50398 13.8518 6.78282 13.1787 7.33924C11.7835 8.49253 11.6665 8.58733 11.3184 8.84686C10.2106 9.67276 9.78763 9.67259 8.68209 8.84581C8.33324 8.58493 8.20293 8.47928 6.82376 7.33924C6.18792 6.81364 5.79746 6.50392 5.73572 6.47618C5.62112 6.42467 5.47843 6.40714 5.36304 6.4304Z" fill="#363942"/>
47
+ </svg>
48
+ )
49
+ : (
50
+ <span>xxx</span>
51
+ )
52
+ }
53
+ <div class="flex flex-row gap-4 items-center">
54
+ <p set:html={item.text}></p>
55
+ </div>
56
+ </div>
57
+
58
+ ))}
59
+ </div>
60
+ </article>
61
+
62
62
  <Fragment set:html={structuredDataScript} />
@@ -1,23 +1,23 @@
1
- ---
2
- import Contenido_2025_Montevideo from "./Contenido_2025_Montevideo.astro";
3
-
4
- const {
5
- items,
6
- } = Astro.props;
7
-
8
- ---
9
- <div class="w-full flex flex-row flex-wrap items-center justify-center mb-4">
10
- <div class="max-w-7xl gap-3 flex flex-col md:flex-row flex-nowrap items-stretch justify-center mb-0">
11
- {items.map(item => (
12
-
13
- <Contenido_2025_Montevideo
14
- link={item.link}
15
- image={item.image}
16
- altImage={item.altImage}
17
- title={item.title}
18
- description={item.description}
19
- />
20
-
21
- ))}
22
- </div>
1
+ ---
2
+ import Contenido_2025_Montevideo from "./Contenido_2025_Montevideo.astro";
3
+
4
+ const {
5
+ items,
6
+ } = Astro.props;
7
+
8
+ ---
9
+ <div class="w-full flex flex-row flex-wrap items-center justify-center mb-4">
10
+ <div class="max-w-7xl gap-3 flex flex-col md:flex-row flex-nowrap items-stretch justify-center mb-0">
11
+ {items.map(item => (
12
+
13
+ <Contenido_2025_Montevideo
14
+ link={item.link}
15
+ image={item.image}
16
+ altImage={item.altImage}
17
+ title={item.title}
18
+ description={item.description}
19
+ />
20
+
21
+ ))}
22
+ </div>
23
23
  </div>
@@ -1,57 +1,57 @@
1
- ---
2
- const {
3
- title,
4
- description,
5
- buttonText,
6
- buttonUrl,
7
- showBtn,
8
- items
9
- } = Astro.props;
10
-
11
- ---
12
- <article class="w-full flex flex-col md:flex-row text-center items-center justify-center p-6 md:p-12 bg-cover bg-[url(https://assets.lefebvre.es/media/icons-2/png/icon-shield-228x248.png)] bg-[#F5F6FA] bg-no-repeat bg-position-[center_center] md:bg-auto md:bg-position-[-60px_center] rounded-2xl">
13
- <div class="w-full md:w-2/3 flex flex-col text-left p-0 mb-4 md:pl-[140px]">
14
- <h2 class="text-[28px] md:text-[2em] leading-[36px] md:leading-[46px] mb-[16px] font-poppins text-[#262626] font-normal">{title}</h2>
15
- <div class="max-w-[900px] text-[#363942] font-inter font-normal text-base not-italic leading-[24px] flex flex-col gap-4 mb-8">
16
- <p set:html={description}></p>
17
- </div>
18
- <div class="w-full flex">
19
- {showBtn ? (
20
- <div class="flex justify-center gap-2">
21
- <a href={buttonUrl} class="pl-0 lg:pl-[20px] font-inter font-semibold text-base text-[#001978] hover:text-[#262626] transition-all duration-300 cursor-pointer">{buttonText}</a>
22
- <div class="flex justify-center">
23
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
24
- <path fill-rule="evenodd" clip-rule="evenodd" d="M7.7455 20.8049C7.43901 20.5263 7.41642 20.052 7.69505 19.7455L14.7364 12L7.69505 4.2545C7.41642 3.94801 7.43901 3.47367 7.7455 3.19504C8.05199 2.91641 8.52633 2.939 8.80496 3.24549L16.305 11.4955C16.565 11.7816 16.565 12.2184 16.305 12.5045L8.80496 20.7545C8.52633 21.061 8.05199 21.0836 7.7455 20.8049Z" fill="#001978"/>
25
- </svg>
26
- </div>
27
- </div>
28
-
29
- ) : (
30
- <div class="flex justify-center"></div>
31
- )}
32
- </div>
33
- </div>
34
- <div class="w-full max-w-7xl flex flex-wrap p-0 lg:flex-nowrap md:p-4 justify-center lg:justify-end items-start ">
35
- {items.map(item => (
36
- <article class="w-1/3 flex-wrap md:w-1/3 md:flex-nowrap lg:w-1/2 p-1 py-[16px] md:p-[16px]">
37
- <div class="w-full flex flex-col">
38
- <div class="w-full">
39
- {item.link ? (
40
- <a href={item.link} class="w-full flex flex-col flex-1 justify-center items-center">
41
- <img class="max-w-[80px] w-fit mb-4" src={item.image} alt={item.altImage} />
42
- <p class="text-[14px] text-[#363942]" set:html={item.descriptionImage}></p>
43
- </a>
44
- ) : (
45
- <div class="w-full flex flex-col flex-1 justify-center items-center max-h-[94px]">
46
- <img class="max-w-[80px] w-fit mb-4" src={item.image} alt={item.altImage} />
47
- </div>
48
- <div class="w-full flex flex-col flex-1 justify-center items-center">
49
- <p class="text-[14px] text-[#363942]" set:html={item.descriptionImage}></p>
50
- </div>
51
- )}
52
- </div>
53
- </div>
54
- </article>
55
- ))}
56
- </div>
1
+ ---
2
+ const {
3
+ title,
4
+ description,
5
+ buttonText,
6
+ buttonUrl,
7
+ showBtn,
8
+ items
9
+ } = Astro.props;
10
+
11
+ ---
12
+ <article class="w-full flex flex-col md:flex-row text-center items-center justify-center p-6 md:p-12 bg-cover bg-[url(https://assets.lefebvre.es/media/icons-2/png/icon-shield-228x248.png)] bg-[#F5F6FA] bg-no-repeat bg-position-[center_center] md:bg-auto md:bg-position-[-60px_center] rounded-2xl">
13
+ <div class="w-full md:w-2/3 flex flex-col text-left p-0 mb-4 md:pl-[140px]">
14
+ <h2 class="text-[28px] md:text-[2em] leading-[36px] md:leading-[46px] mb-[16px] font-poppins text-[#262626] font-normal">{title}</h2>
15
+ <div class="max-w-[900px] text-[#363942] font-inter font-normal text-base not-italic leading-[24px] flex flex-col gap-4 mb-8">
16
+ <p set:html={description}></p>
17
+ </div>
18
+ <div class="w-full flex">
19
+ {showBtn ? (
20
+ <div class="flex justify-center gap-2">
21
+ <a href={buttonUrl} class="pl-0 lg:pl-[20px] font-inter font-semibold text-base text-[#001978] hover:text-[#262626] transition-all duration-300 cursor-pointer">{buttonText}</a>
22
+ <div class="flex justify-center">
23
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
24
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M7.7455 20.8049C7.43901 20.5263 7.41642 20.052 7.69505 19.7455L14.7364 12L7.69505 4.2545C7.41642 3.94801 7.43901 3.47367 7.7455 3.19504C8.05199 2.91641 8.52633 2.939 8.80496 3.24549L16.305 11.4955C16.565 11.7816 16.565 12.2184 16.305 12.5045L8.80496 20.7545C8.52633 21.061 8.05199 21.0836 7.7455 20.8049Z" fill="#001978"/>
25
+ </svg>
26
+ </div>
27
+ </div>
28
+
29
+ ) : (
30
+ <div class="flex justify-center"></div>
31
+ )}
32
+ </div>
33
+ </div>
34
+ <div class="w-full max-w-7xl flex flex-wrap p-0 lg:flex-nowrap md:p-4 justify-center lg:justify-end items-start ">
35
+ {items.map(item => (
36
+ <article class="w-1/3 flex-wrap md:w-1/3 md:flex-nowrap lg:w-1/2 p-1 py-[16px] md:p-[16px]">
37
+ <div class="w-full flex flex-col">
38
+ <div class="w-full">
39
+ {item.link ? (
40
+ <a href={item.link} class="w-full flex flex-col flex-1 justify-center items-center">
41
+ <img class="max-w-[80px] w-fit mb-4" src={item.image} alt={item.altImage} />
42
+ <p class="text-[14px] text-[#363942]" set:html={item.descriptionImage}></p>
43
+ </a>
44
+ ) : (
45
+ <div class="w-full flex flex-col flex-1 justify-center items-center max-h-[94px]">
46
+ <img class="max-w-[80px] w-fit mb-4" src={item.image} alt={item.altImage} />
47
+ </div>
48
+ <div class="w-full flex flex-col flex-1 justify-center items-center">
49
+ <p class="text-[14px] text-[#363942]" set:html={item.descriptionImage}></p>
50
+ </div>
51
+ )}
52
+ </div>
53
+ </div>
54
+ </article>
55
+ ))}
56
+ </div>
57
57
  </article>
@@ -1,40 +1,40 @@
1
- ---
2
- const {
3
- items = [],
4
- } = Astro.props;
5
-
6
- const structuredData = `<script type="application/ld+json">
7
- {
8
- "@context": "https://schema.org",
9
- "@type": "ItemList",
10
- "numberOfItems": ${items.length},
11
- "itemListElement": [
12
- ${items.map((item, index) => `{
13
- "@type": "ListItem",
14
- "position": ${index + 1},
15
- "item": {
16
- "@type": "Thing",
17
- "name": "${item.title}",
18
- "description": "${item.description.replace(/"/g, '\\"').replace(/<[^>]*>/g, '')}"
19
- }
20
- }`).join(',')}
21
- ]
22
- }
23
- </script>`;
24
- ---
25
- <section class="w-full flex items-center justify-center bg-[#001978]/4 py-[48px]">
26
- <article class="flex flex-col items-center justify-center p-4">
27
- <div class="flex flex-col md:flex-row items-center gap-4">
28
- {items.map(item => (
29
- <div class="w-full md:w-1/3 content-center flex flex-col flex-wrap h-full text-[#262626] nth-of-type-2:p-4 nth-of-type-2:border nth-of-type-2:border-y-1 nth-of-type-2:border-x-0 md:nth-of-type-2:border md:nth-of-type-2:border-x-1 md:nth-of-type-2:border-y-0 ">
30
- <p class="text-[40px] md:text-[56px] text-center leading-[48px] md:leading-[64px] mb-[16px] font-poppins font-semibold">{item.title}</p>
31
- <p
32
- class="text-xl text-center font-inter font-normal leading-[28px] flex flex-col gap-4"
33
- set:html={item.description}></p>
34
- </div>
35
- ))}
36
- </div>
37
- </article>
38
- </section>
39
-
1
+ ---
2
+ const {
3
+ items = [],
4
+ } = Astro.props;
5
+
6
+ const structuredData = `<script type="application/ld+json">
7
+ {
8
+ "@context": "https://schema.org",
9
+ "@type": "ItemList",
10
+ "numberOfItems": ${items.length},
11
+ "itemListElement": [
12
+ ${items.map((item, index) => `{
13
+ "@type": "ListItem",
14
+ "position": ${index + 1},
15
+ "item": {
16
+ "@type": "Thing",
17
+ "name": "${item.title}",
18
+ "description": "${item.description.replace(/"/g, '\\"').replace(/<[^>]*>/g, '')}"
19
+ }
20
+ }`).join(',')}
21
+ ]
22
+ }
23
+ </script>`;
24
+ ---
25
+ <section class="w-full flex items-center justify-center bg-[#001978]/4 py-[48px]">
26
+ <article class="flex flex-col items-center justify-center p-4">
27
+ <div class="flex flex-col md:flex-row items-center gap-4">
28
+ {items.map(item => (
29
+ <div class="w-full md:w-1/3 content-center flex flex-col flex-wrap h-full text-[#262626] nth-of-type-2:p-4 nth-of-type-2:border nth-of-type-2:border-y-1 nth-of-type-2:border-x-0 md:nth-of-type-2:border md:nth-of-type-2:border-x-1 md:nth-of-type-2:border-y-0 ">
30
+ <p class="text-[40px] md:text-[56px] text-center leading-[48px] md:leading-[64px] mb-[16px] font-poppins font-semibold">{item.title}</p>
31
+ <p
32
+ class="text-xl text-center font-inter font-normal leading-[28px] flex flex-col gap-4"
33
+ set:html={item.description}></p>
34
+ </div>
35
+ ))}
36
+ </div>
37
+ </article>
38
+ </section>
39
+
40
40
  <Fragment set:html={structuredData} />