@zekidev/ui 2.2.0 → 2.2.2

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/dist/index.js CHANGED
@@ -1,190 +1,4 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropNames = Object.getOwnPropertyNames;
3
- var __esm = (fn, res) => function __init() {
4
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
5
- };
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
-
11
- // src/sections/map/leaflet-map-inner.tsx
12
- var leaflet_map_inner_exports = {};
13
- __export(leaflet_map_inner_exports, {
14
- LeafletMapInner: () => LeafletMapInner
15
- });
16
- import "leaflet/dist/leaflet.css";
17
- import { useEffect as useEffect5, useRef as useRef3, useState as useState13 } from "react";
18
- import L from "leaflet";
19
- import { jsx as jsx82, jsxs as jsxs58 } from "react/jsx-runtime";
20
- async function geocodeAddress(address) {
21
- try {
22
- const res = await fetch(
23
- `https://nominatim.openstreetmap.org/search?format=json&limit=1&q=${encodeURIComponent(address)}`,
24
- { headers: { "Accept-Language": "en", "User-Agent": "LandingBuilder/1.0" } }
25
- );
26
- if (!res.ok) return null;
27
- const data = await res.json();
28
- if (!data.length) return null;
29
- return [parseFloat(data[0].lat), parseFloat(data[0].lon)];
30
- } catch {
31
- return null;
32
- }
33
- }
34
- async function geocodeAll(locations) {
35
- const result = [];
36
- for (const loc of locations) {
37
- if (loc.lat != null && loc.lng != null) {
38
- result.push({ ...loc, coords: [loc.lat, loc.lng] });
39
- continue;
40
- }
41
- if (loc.address) {
42
- const coords = await geocodeAddress(loc.address);
43
- if (coords) result.push({ ...loc, coords });
44
- await new Promise((r) => setTimeout(r, 1e3));
45
- }
46
- }
47
- return result;
48
- }
49
- function buildPopup(loc) {
50
- const parts = [];
51
- parts.push(`<strong style="display:block;font-size:13px">${loc.name}</strong>`);
52
- if (loc.address)
53
- parts.push(`<span style="display:block;font-size:11px;color:#6b7280;margin-top:2px">${loc.address}</span>`);
54
- if (loc.phone)
55
- parts.push(`<span style="display:block;font-size:11px;margin-top:2px">${loc.phone}</span>`);
56
- if (loc.hours)
57
- parts.push(`<span style="display:block;font-size:11px;color:#6b7280;margin-top:2px">${loc.hours}</span>`);
58
- if (loc.address)
59
- parts.push(
60
- `<a href="https://maps.google.com/?q=${encodeURIComponent(loc.address)}" target="_blank" rel="noopener noreferrer" style="display:block;font-size:11px;color:#2563eb;margin-top:4px">Ver en Google Maps \u2192</a>`
61
- );
62
- return parts.join("");
63
- }
64
- function LeafletMapInner({ locations, mapStyle = "standard", className }) {
65
- const containerRef = useRef3(null);
66
- const mapRef = useRef3(null);
67
- const tileRef = useRef3(null);
68
- const [loading, setLoading] = useState13(!!locations?.length);
69
- useEffect5(() => {
70
- if (!containerRef.current || mapRef.current) return;
71
- const tile = TILES[mapStyle] ?? TILES.standard;
72
- const map = L.map(containerRef.current, { scrollWheelZoom: false });
73
- const tileLayer = L.tileLayer(tile.url, { attribution: tile.attribution, maxZoom: tile.maxZoom ?? 19 }).addTo(map);
74
- map.setView([20, 0], 2);
75
- mapRef.current = map;
76
- tileRef.current = tileLayer;
77
- return () => {
78
- map.remove();
79
- mapRef.current = null;
80
- tileRef.current = null;
81
- };
82
- }, []);
83
- useEffect5(() => {
84
- if (!mapRef.current) return;
85
- const tile = TILES[mapStyle] ?? TILES.standard;
86
- tileRef.current?.remove();
87
- tileRef.current = L.tileLayer(tile.url, { attribution: tile.attribution, maxZoom: tile.maxZoom ?? 19 }).addTo(mapRef.current);
88
- }, [mapStyle]);
89
- useEffect5(() => {
90
- if (!locations?.length) {
91
- setLoading(false);
92
- return;
93
- }
94
- let cancelled = false;
95
- setLoading(true);
96
- geocodeAll(locations).then((geocoded) => {
97
- if (cancelled || !mapRef.current) return;
98
- mapRef.current.eachLayer((layer) => {
99
- if (layer instanceof L.Marker) layer.remove();
100
- });
101
- geocoded.forEach((loc) => {
102
- L.marker(loc.coords, { icon: markerIcon }).addTo(mapRef.current).bindPopup(buildPopup(loc));
103
- });
104
- if (geocoded.length === 1) {
105
- mapRef.current.setView(geocoded[0].coords, 14);
106
- } else if (geocoded.length > 1) {
107
- mapRef.current.fitBounds(
108
- geocoded.map((l) => l.coords),
109
- { padding: [48, 48] }
110
- );
111
- }
112
- setLoading(false);
113
- });
114
- return () => {
115
- cancelled = true;
116
- };
117
- }, [locations]);
118
- return /* @__PURE__ */ jsxs58("div", { className: `relative ${className ?? ""}`, children: [
119
- loading && /* @__PURE__ */ jsx82("div", { className: "absolute inset-0 z-[1000] flex items-center justify-center bg-muted/80 rounded-xl", children: /* @__PURE__ */ jsxs58("div", { className: "flex flex-col items-center gap-2 text-muted-foreground text-sm", children: [
120
- /* @__PURE__ */ jsxs58("svg", { className: "animate-spin h-6 w-6", viewBox: "0 0 24 24", fill: "none", children: [
121
- /* @__PURE__ */ jsx82("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
122
- /* @__PURE__ */ jsx82("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8v4a4 4 0 00-4 4H4z" })
123
- ] }),
124
- "Geocoding addresses\u2026"
125
- ] }) }),
126
- /* @__PURE__ */ jsx82("div", { ref: containerRef, style: { height: "100%", width: "100%" } })
127
- ] });
128
- }
129
- var OSM_ATTR, CARTO_ATTR, ESRI_ATTR, TILES, markerIcon;
130
- var init_leaflet_map_inner = __esm({
131
- "src/sections/map/leaflet-map-inner.tsx"() {
132
- "use strict";
133
- "use client";
134
- OSM_ATTR = '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors';
135
- CARTO_ATTR = `${OSM_ATTR} &copy; <a href="https://carto.com/attributions">CARTO</a>`;
136
- ESRI_ATTR = "Tiles &copy; Esri &mdash; Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community";
137
- TILES = {
138
- // OpenStreetMap
139
- standard: {
140
- url: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
141
- attribution: OSM_ATTR
142
- },
143
- // CartoDB Positron — clean, minimal, ideal for data overlays
144
- light: {
145
- url: "https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png",
146
- attribution: CARTO_ATTR
147
- },
148
- // CartoDB Dark Matter
149
- dark: {
150
- url: "https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png",
151
- attribution: CARTO_ATTR
152
- },
153
- // CartoDB Voyager — colorful, modern
154
- voyager: {
155
- url: "https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png",
156
- attribution: CARTO_ATTR
157
- },
158
- // OpenTopoMap — topographic with elevation contours
159
- topo: {
160
- url: "https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png",
161
- attribution: `${OSM_ATTR}, <a href="https://viewfinderpanoramas.org">SRTM</a> | Map style: &copy; <a href="https://opentopomap.org">OpenTopoMap</a>`,
162
- maxZoom: 17
163
- },
164
- // ESRI World Imagery — satellite/aerial photography
165
- satellite: {
166
- url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
167
- attribution: ESRI_ATTR,
168
- maxZoom: 18
169
- },
170
- // ESRI World Street Map — detailed street basemap
171
- streets: {
172
- url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{z}/{y}/{x}",
173
- attribution: ESRI_ATTR,
174
- maxZoom: 18
175
- }
176
- };
177
- markerIcon = new L.Icon({
178
- iconUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon.png",
179
- iconRetinaUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon-2x.png",
180
- shadowUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-shadow.png",
181
- iconSize: [25, 41],
182
- iconAnchor: [12, 41],
183
- popupAnchor: [1, -34],
184
- shadowSize: [41, 41]
185
- });
186
- }
187
- });
1
+ "use client";
188
2
 
189
3
  // src/lib/utils.ts
190
4
  import { clsx } from "clsx";
@@ -4116,13 +3930,13 @@ function Banner(props) {
4116
3930
  import { MapPin as MapPin3 } from "lucide-react";
4117
3931
 
4118
3932
  // src/sections/map/leaflet-map.tsx
4119
- import { lazy, Suspense, useEffect as useEffect6, useState as useState14 } from "react";
4120
- import { jsx as jsx83 } from "react/jsx-runtime";
4121
- var LeafletMapInner2 = lazy(
4122
- () => Promise.resolve().then(() => (init_leaflet_map_inner(), leaflet_map_inner_exports)).then((m) => ({ default: m.LeafletMapInner }))
3933
+ import { lazy, Suspense, useEffect as useEffect5, useState as useState13 } from "react";
3934
+ import { jsx as jsx82 } from "react/jsx-runtime";
3935
+ var LeafletMapInner = lazy(
3936
+ () => import("./leaflet-map-inner-DQIERSVT.js").then((m) => ({ default: m.LeafletMapInner }))
4123
3937
  );
4124
3938
  function MapSkeleton({ className }) {
4125
- return /* @__PURE__ */ jsx83(
3939
+ return /* @__PURE__ */ jsx82(
4126
3940
  "div",
4127
3941
  {
4128
3942
  className: `bg-muted animate-pulse rounded-xl flex items-center justify-center text-muted-foreground text-sm ${className ?? ""}`,
@@ -4131,19 +3945,19 @@ function MapSkeleton({ className }) {
4131
3945
  );
4132
3946
  }
4133
3947
  function LeafletMap({ locations, mapStyle, className }) {
4134
- const [mounted, setMounted] = useState14(false);
4135
- useEffect6(() => {
3948
+ const [mounted, setMounted] = useState13(false);
3949
+ useEffect5(() => {
4136
3950
  setMounted(true);
4137
3951
  }, []);
4138
- if (!mounted) return /* @__PURE__ */ jsx83(MapSkeleton, { className });
4139
- return /* @__PURE__ */ jsx83(Suspense, { fallback: /* @__PURE__ */ jsx83(MapSkeleton, { className }), children: /* @__PURE__ */ jsx83(LeafletMapInner2, { locations, mapStyle, className }) });
3952
+ if (!mounted) return /* @__PURE__ */ jsx82(MapSkeleton, { className });
3953
+ return /* @__PURE__ */ jsx82(Suspense, { fallback: /* @__PURE__ */ jsx82(MapSkeleton, { className }), children: /* @__PURE__ */ jsx82(LeafletMapInner, { locations, mapStyle, className }) });
4140
3954
  }
4141
3955
 
4142
3956
  // src/sections/map/variants/map-pins.tsx
4143
- import { jsx as jsx84, jsxs as jsxs59 } from "react/jsx-runtime";
3957
+ import { jsx as jsx83, jsxs as jsxs58 } from "react/jsx-runtime";
4144
3958
  function MapPins({ title, subtitle, content, badge, locations, mapStyle, background }) {
4145
3959
  const hasLocations = locations?.length > 0;
4146
- return /* @__PURE__ */ jsx84(
3960
+ return /* @__PURE__ */ jsx83(
4147
3961
  "section",
4148
3962
  {
4149
3963
  className: cn(
@@ -4156,11 +3970,11 @@ function MapPins({ title, subtitle, content, badge, locations, mapStyle, backgro
4156
3970
  background === "warning" && "bg-warning text-warning-foreground",
4157
3971
  background === "error" && "bg-error text-error-foreground"
4158
3972
  ),
4159
- children: /* @__PURE__ */ jsxs59("div", { className: "container mx-auto px-4", children: [
4160
- /* @__PURE__ */ jsx84(SectionHeader, { title, subtitle, badge, content, background }),
4161
- hasLocations ? /* @__PURE__ */ jsx84(LeafletMap, { locations, mapStyle, className: "h-96 w-full rounded-xl overflow-hidden shadow" }) : /* @__PURE__ */ jsxs59("div", { className: "h-96 bg-muted rounded-xl flex flex-col items-center justify-center gap-3 text-muted-foreground text-center px-6", children: [
4162
- /* @__PURE__ */ jsx84(MapPin3, { className: "h-10 w-10 opacity-40" }),
4163
- /* @__PURE__ */ jsx84("p", { className: "text-sm", children: "Agreg\xE1 ubicaciones en el Studio \u2014 las direcciones se geocodifican autom\xE1ticamente." })
3973
+ children: /* @__PURE__ */ jsxs58("div", { className: "container mx-auto px-4", children: [
3974
+ /* @__PURE__ */ jsx83(SectionHeader, { title, subtitle, badge, content, background }),
3975
+ hasLocations ? /* @__PURE__ */ jsx83(LeafletMap, { locations, mapStyle, className: "h-96 w-full rounded-xl overflow-hidden shadow" }) : /* @__PURE__ */ jsxs58("div", { className: "h-96 bg-muted rounded-xl flex flex-col items-center justify-center gap-3 text-muted-foreground text-center px-6", children: [
3976
+ /* @__PURE__ */ jsx83(MapPin3, { className: "h-10 w-10 opacity-40" }),
3977
+ /* @__PURE__ */ jsx83("p", { className: "text-sm", children: "Agreg\xE1 ubicaciones en el Studio \u2014 las direcciones se geocodifican autom\xE1ticamente." })
4164
3978
  ] })
4165
3979
  ] })
4166
3980
  }
@@ -4169,9 +3983,9 @@ function MapPins({ title, subtitle, content, badge, locations, mapStyle, backgro
4169
3983
 
4170
3984
  // src/sections/map/variants/map-listing.tsx
4171
3985
  import { MapPin as MapPin4, Phone as Phone3, Clock as Clock3, MapPinned } from "lucide-react";
4172
- import { jsx as jsx85, jsxs as jsxs60 } from "react/jsx-runtime";
3986
+ import { jsx as jsx84, jsxs as jsxs59 } from "react/jsx-runtime";
4173
3987
  function MapListing({ title, subtitle, content, badge, locations, background }) {
4174
- return /* @__PURE__ */ jsx85(
3988
+ return /* @__PURE__ */ jsx84(
4175
3989
  "section",
4176
3990
  {
4177
3991
  className: cn(
@@ -4184,23 +3998,23 @@ function MapListing({ title, subtitle, content, badge, locations, background })
4184
3998
  background === "warning" && "bg-warning text-warning-foreground",
4185
3999
  background === "error" && "bg-error text-error-foreground"
4186
4000
  ),
4187
- children: /* @__PURE__ */ jsxs60("div", { className: "container mx-auto px-4", children: [
4188
- /* @__PURE__ */ jsx85(SectionHeader, { title, subtitle, badge, content, background }),
4189
- /* @__PURE__ */ jsx85("div", { className: "grid gap-6 sm:grid-cols-2 lg:grid-cols-3", children: locations.map((location, i) => /* @__PURE__ */ jsxs60("div", { className: "rounded-xl border bg-card p-6 shadow-sm", children: [
4190
- /* @__PURE__ */ jsxs60("div", { className: "flex items-start gap-3 mb-3", children: [
4191
- /* @__PURE__ */ jsx85(MapPin4, { className: "h-5 w-5 text-primary mt-0.5 shrink-0" }),
4192
- /* @__PURE__ */ jsx85("h3", { className: "font-semibold text-lg", children: location.name })
4001
+ children: /* @__PURE__ */ jsxs59("div", { className: "container mx-auto px-4", children: [
4002
+ /* @__PURE__ */ jsx84(SectionHeader, { title, subtitle, badge, content, background }),
4003
+ /* @__PURE__ */ jsx84("div", { className: "grid gap-6 sm:grid-cols-2 lg:grid-cols-3", children: locations.map((location, i) => /* @__PURE__ */ jsxs59("div", { className: "rounded-xl border bg-card p-6 shadow-sm", children: [
4004
+ /* @__PURE__ */ jsxs59("div", { className: "flex items-start gap-3 mb-3", children: [
4005
+ /* @__PURE__ */ jsx84(MapPin4, { className: "h-5 w-5 text-primary mt-0.5 shrink-0" }),
4006
+ /* @__PURE__ */ jsx84("h3", { className: "font-semibold text-lg", children: location.name })
4193
4007
  ] }),
4194
- location.phone && /* @__PURE__ */ jsxs60("div", { className: "flex items-center gap-2 text-sm text-muted-foreground mb-2", children: [
4195
- /* @__PURE__ */ jsx85(Phone3, { className: "h-4 w-4 shrink-0" }),
4196
- /* @__PURE__ */ jsx85("span", { children: location.phone })
4008
+ location.phone && /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-2 text-sm text-muted-foreground mb-2", children: [
4009
+ /* @__PURE__ */ jsx84(Phone3, { className: "h-4 w-4 shrink-0" }),
4010
+ /* @__PURE__ */ jsx84("span", { children: location.phone })
4197
4011
  ] }),
4198
- location.hours && /* @__PURE__ */ jsxs60("div", { className: "flex items-center gap-2 text-sm text-muted-foreground mb-2", children: [
4199
- /* @__PURE__ */ jsx85(Clock3, { className: "h-4 w-4 shrink-0" }),
4200
- /* @__PURE__ */ jsx85("span", { children: location.hours })
4012
+ location.hours && /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-2 text-sm text-muted-foreground mb-2", children: [
4013
+ /* @__PURE__ */ jsx84(Clock3, { className: "h-4 w-4 shrink-0" }),
4014
+ /* @__PURE__ */ jsx84("span", { children: location.hours })
4201
4015
  ] }),
4202
- location.description && /* @__PURE__ */ jsx85("p", { className: "text-sm text-muted-foreground mt-3", children: location.description }),
4203
- location.address && /* @__PURE__ */ jsxs60(
4016
+ location.description && /* @__PURE__ */ jsx84("p", { className: "text-sm text-muted-foreground mt-3", children: location.description }),
4017
+ location.address && /* @__PURE__ */ jsxs59(
4204
4018
  "a",
4205
4019
  {
4206
4020
  href: `https://maps.google.com/?q=${encodeURIComponent(location.address)}`,
@@ -4208,7 +4022,7 @@ function MapListing({ title, subtitle, content, badge, locations, background })
4208
4022
  rel: "noopener noreferrer",
4209
4023
  className: "inline-flex items-center gap-1 mt-4 text-sm font-medium text-primary hover:underline",
4210
4024
  children: [
4211
- /* @__PURE__ */ jsx85(MapPinned, { className: "h-3.5 w-3.5 shrink-0" }),
4025
+ /* @__PURE__ */ jsx84(MapPinned, { className: "h-3.5 w-3.5 shrink-0" }),
4212
4026
  location.address
4213
4027
  ]
4214
4028
  }
@@ -4221,10 +4035,10 @@ function MapListing({ title, subtitle, content, badge, locations, background })
4221
4035
 
4222
4036
  // src/sections/map/variants/map-split.tsx
4223
4037
  import { MapPin as MapPin5, Phone as Phone4, Clock as Clock4, MapPinned as MapPinned2 } from "lucide-react";
4224
- import { jsx as jsx86, jsxs as jsxs61 } from "react/jsx-runtime";
4038
+ import { jsx as jsx85, jsxs as jsxs60 } from "react/jsx-runtime";
4225
4039
  function MapSplit({ title, subtitle, content, badge, locations, mapStyle, background }) {
4226
4040
  const hasLocations = locations?.length > 0;
4227
- return /* @__PURE__ */ jsx86(
4041
+ return /* @__PURE__ */ jsx85(
4228
4042
  "section",
4229
4043
  {
4230
4044
  className: cn(
@@ -4237,28 +4051,28 @@ function MapSplit({ title, subtitle, content, badge, locations, mapStyle, backgr
4237
4051
  background === "warning" && "bg-warning text-warning-foreground",
4238
4052
  background === "error" && "bg-error text-error-foreground"
4239
4053
  ),
4240
- children: /* @__PURE__ */ jsxs61("div", { className: "container mx-auto px-4", children: [
4241
- /* @__PURE__ */ jsx86(SectionHeader, { title, subtitle, badge, content, background }),
4242
- /* @__PURE__ */ jsxs61("div", { className: "grid gap-0 lg:grid-cols-2 items-stretch overflow-hidden rounded-xl border shadow-sm divide-y lg:divide-y-0 lg:divide-x", children: [
4243
- /* @__PURE__ */ jsx86("div", { className: "min-h-[450px]", children: hasLocations ? /* @__PURE__ */ jsx86(LeafletMap, { locations, mapStyle, className: "h-full min-h-[450px] w-full" }) : /* @__PURE__ */ jsxs61("div", { className: "w-full h-full min-h-[450px] bg-muted flex flex-col items-center justify-center gap-3 text-muted-foreground text-center px-6", children: [
4244
- /* @__PURE__ */ jsx86(MapPin5, { className: "h-10 w-10 opacity-40" }),
4245
- /* @__PURE__ */ jsx86("p", { className: "text-sm", children: "Agreg\xE1 ubicaciones en el Studio \u2014 las direcciones se geocodifican autom\xE1ticamente." })
4054
+ children: /* @__PURE__ */ jsxs60("div", { className: "container mx-auto px-4", children: [
4055
+ /* @__PURE__ */ jsx85(SectionHeader, { title, subtitle, badge, content, background }),
4056
+ /* @__PURE__ */ jsxs60("div", { className: "grid gap-0 lg:grid-cols-2 items-stretch overflow-hidden rounded-xl border shadow-sm divide-y lg:divide-y-0 lg:divide-x", children: [
4057
+ /* @__PURE__ */ jsx85("div", { className: "min-h-[450px]", children: hasLocations ? /* @__PURE__ */ jsx85(LeafletMap, { locations, mapStyle, className: "h-full min-h-[450px] w-full" }) : /* @__PURE__ */ jsxs60("div", { className: "w-full h-full min-h-[450px] bg-muted flex flex-col items-center justify-center gap-3 text-muted-foreground text-center px-6", children: [
4058
+ /* @__PURE__ */ jsx85(MapPin5, { className: "h-10 w-10 opacity-40" }),
4059
+ /* @__PURE__ */ jsx85("p", { className: "text-sm", children: "Agreg\xE1 ubicaciones en el Studio \u2014 las direcciones se geocodifican autom\xE1ticamente." })
4246
4060
  ] }) }),
4247
- /* @__PURE__ */ jsx86("div", { className: "bg-card p-6 sm:p-8 overflow-y-auto max-h-[600px]", children: hasLocations ? /* @__PURE__ */ jsx86("div", { className: "space-y-6", children: locations.map((location, i) => /* @__PURE__ */ jsxs61("div", { className: "pb-6 border-b last:border-0 last:pb-0", children: [
4248
- /* @__PURE__ */ jsxs61("div", { className: "flex items-start gap-2 mb-2", children: [
4249
- /* @__PURE__ */ jsx86(MapPin5, { className: "h-4 w-4 text-primary mt-1 shrink-0" }),
4250
- /* @__PURE__ */ jsx86("h3", { className: "font-semibold", children: location.name })
4061
+ /* @__PURE__ */ jsx85("div", { className: "bg-card p-6 sm:p-8 overflow-y-auto max-h-[600px]", children: hasLocations ? /* @__PURE__ */ jsx85("div", { className: "space-y-6", children: locations.map((location, i) => /* @__PURE__ */ jsxs60("div", { className: "pb-6 border-b last:border-0 last:pb-0", children: [
4062
+ /* @__PURE__ */ jsxs60("div", { className: "flex items-start gap-2 mb-2", children: [
4063
+ /* @__PURE__ */ jsx85(MapPin5, { className: "h-4 w-4 text-primary mt-1 shrink-0" }),
4064
+ /* @__PURE__ */ jsx85("h3", { className: "font-semibold", children: location.name })
4251
4065
  ] }),
4252
- location.phone && /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-2 text-sm text-muted-foreground mb-1", children: [
4253
- /* @__PURE__ */ jsx86(Phone4, { className: "h-3.5 w-3.5 shrink-0" }),
4254
- /* @__PURE__ */ jsx86("span", { children: location.phone })
4066
+ location.phone && /* @__PURE__ */ jsxs60("div", { className: "flex items-center gap-2 text-sm text-muted-foreground mb-1", children: [
4067
+ /* @__PURE__ */ jsx85(Phone4, { className: "h-3.5 w-3.5 shrink-0" }),
4068
+ /* @__PURE__ */ jsx85("span", { children: location.phone })
4255
4069
  ] }),
4256
- location.hours && /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-2 text-sm text-muted-foreground mb-1", children: [
4257
- /* @__PURE__ */ jsx86(Clock4, { className: "h-3.5 w-3.5 shrink-0" }),
4258
- /* @__PURE__ */ jsx86("span", { children: location.hours })
4070
+ location.hours && /* @__PURE__ */ jsxs60("div", { className: "flex items-center gap-2 text-sm text-muted-foreground mb-1", children: [
4071
+ /* @__PURE__ */ jsx85(Clock4, { className: "h-3.5 w-3.5 shrink-0" }),
4072
+ /* @__PURE__ */ jsx85("span", { children: location.hours })
4259
4073
  ] }),
4260
- location.description && /* @__PURE__ */ jsx86("p", { className: "text-sm text-muted-foreground mt-2", children: location.description }),
4261
- location.address && /* @__PURE__ */ jsxs61(
4074
+ location.description && /* @__PURE__ */ jsx85("p", { className: "text-sm text-muted-foreground mt-2", children: location.description }),
4075
+ location.address && /* @__PURE__ */ jsxs60(
4262
4076
  "a",
4263
4077
  {
4264
4078
  href: `https://maps.google.com/?q=${encodeURIComponent(location.address)}`,
@@ -4266,12 +4080,12 @@ function MapSplit({ title, subtitle, content, badge, locations, mapStyle, backgr
4266
4080
  rel: "noopener noreferrer",
4267
4081
  className: "inline-flex items-center gap-1 mt-3 text-sm font-medium text-primary hover:underline",
4268
4082
  children: [
4269
- /* @__PURE__ */ jsx86(MapPinned2, { className: "h-3.5 w-3.5 shrink-0" }),
4083
+ /* @__PURE__ */ jsx85(MapPinned2, { className: "h-3.5 w-3.5 shrink-0" }),
4270
4084
  location.address
4271
4085
  ]
4272
4086
  }
4273
4087
  )
4274
- ] }, i)) }) : /* @__PURE__ */ jsx86("p", { className: "text-sm text-muted-foreground", children: "No hay ubicaciones agregadas a\xFAn." }) })
4088
+ ] }, i)) }) : /* @__PURE__ */ jsx85("p", { className: "text-sm text-muted-foreground", children: "No hay ubicaciones agregadas a\xFAn." }) })
4275
4089
  ] })
4276
4090
  ] })
4277
4091
  }
@@ -4279,23 +4093,23 @@ function MapSplit({ title, subtitle, content, badge, locations, mapStyle, backgr
4279
4093
  }
4280
4094
 
4281
4095
  // src/sections/map/index.tsx
4282
- import { jsx as jsx87 } from "react/jsx-runtime";
4096
+ import { jsx as jsx86 } from "react/jsx-runtime";
4283
4097
  function MapSection(props) {
4284
4098
  switch (props.variant) {
4285
4099
  case "listing":
4286
- return /* @__PURE__ */ jsx87(MapListing, { ...props });
4100
+ return /* @__PURE__ */ jsx86(MapListing, { ...props });
4287
4101
  case "split":
4288
- return /* @__PURE__ */ jsx87(MapSplit, { ...props });
4102
+ return /* @__PURE__ */ jsx86(MapSplit, { ...props });
4289
4103
  case "pins":
4290
4104
  default:
4291
- return /* @__PURE__ */ jsx87(MapPins, { ...props });
4105
+ return /* @__PURE__ */ jsx86(MapPins, { ...props });
4292
4106
  }
4293
4107
  }
4294
4108
 
4295
4109
  // src/sections/iframe/variants/iframe-simple.tsx
4296
- import { jsx as jsx88, jsxs as jsxs62 } from "react/jsx-runtime";
4110
+ import { jsx as jsx87, jsxs as jsxs61 } from "react/jsx-runtime";
4297
4111
  function IframeSimple({ title, subtitle, content, badge, src, iframeTitle, height, background }) {
4298
- return /* @__PURE__ */ jsx88(
4112
+ return /* @__PURE__ */ jsx87(
4299
4113
  "section",
4300
4114
  {
4301
4115
  className: cn(
@@ -4308,9 +4122,9 @@ function IframeSimple({ title, subtitle, content, badge, src, iframeTitle, heigh
4308
4122
  background === "warning" && "bg-warning text-warning-foreground",
4309
4123
  background === "error" && "bg-error text-error-foreground"
4310
4124
  ),
4311
- children: /* @__PURE__ */ jsxs62("div", { className: "container mx-auto px-4", children: [
4312
- /* @__PURE__ */ jsx88(SectionHeader, { title, subtitle, badge, content, background }),
4313
- /* @__PURE__ */ jsx88(
4125
+ children: /* @__PURE__ */ jsxs61("div", { className: "container mx-auto px-4", children: [
4126
+ /* @__PURE__ */ jsx87(SectionHeader, { title, subtitle, badge, content, background }),
4127
+ /* @__PURE__ */ jsx87(
4314
4128
  "iframe",
4315
4129
  {
4316
4130
  src,
@@ -4327,9 +4141,9 @@ function IframeSimple({ title, subtitle, content, badge, src, iframeTitle, heigh
4327
4141
  }
4328
4142
 
4329
4143
  // src/sections/iframe/variants/iframe-card.tsx
4330
- import { jsx as jsx89, jsxs as jsxs63 } from "react/jsx-runtime";
4144
+ import { jsx as jsx88, jsxs as jsxs62 } from "react/jsx-runtime";
4331
4145
  function IframeCard({ title, subtitle, content, badge, src, iframeTitle, height, background }) {
4332
- return /* @__PURE__ */ jsx89(
4146
+ return /* @__PURE__ */ jsx88(
4333
4147
  "section",
4334
4148
  {
4335
4149
  className: cn(
@@ -4342,9 +4156,9 @@ function IframeCard({ title, subtitle, content, badge, src, iframeTitle, height,
4342
4156
  background === "warning" && "bg-warning text-warning-foreground",
4343
4157
  background === "error" && "bg-error text-error-foreground"
4344
4158
  ),
4345
- children: /* @__PURE__ */ jsxs63("div", { className: "container mx-auto px-4", children: [
4346
- /* @__PURE__ */ jsx89(SectionHeader, { title, subtitle, badge, content, background }),
4347
- /* @__PURE__ */ jsx89("div", { className: "rounded-xl overflow-hidden shadow-lg border", children: /* @__PURE__ */ jsx89(
4159
+ children: /* @__PURE__ */ jsxs62("div", { className: "container mx-auto px-4", children: [
4160
+ /* @__PURE__ */ jsx88(SectionHeader, { title, subtitle, badge, content, background }),
4161
+ /* @__PURE__ */ jsx88("div", { className: "rounded-xl overflow-hidden shadow-lg border", children: /* @__PURE__ */ jsx88(
4348
4162
  "iframe",
4349
4163
  {
4350
4164
  src,
@@ -4361,10 +4175,10 @@ function IframeCard({ title, subtitle, content, badge, src, iframeTitle, height,
4361
4175
  }
4362
4176
 
4363
4177
  // src/sections/iframe/variants/iframe-responsive.tsx
4364
- import { jsx as jsx90, jsxs as jsxs64 } from "react/jsx-runtime";
4178
+ import { jsx as jsx89, jsxs as jsxs63 } from "react/jsx-runtime";
4365
4179
  function IframeResponsive({ title, subtitle, content, badge, src, iframeTitle, height, aspectRatio, background }) {
4366
4180
  const isFixedHeight = !aspectRatio || aspectRatio === "auto";
4367
- return /* @__PURE__ */ jsx90(
4181
+ return /* @__PURE__ */ jsx89(
4368
4182
  "section",
4369
4183
  {
4370
4184
  className: cn(
@@ -4377,9 +4191,9 @@ function IframeResponsive({ title, subtitle, content, badge, src, iframeTitle, h
4377
4191
  background === "warning" && "bg-warning text-warning-foreground",
4378
4192
  background === "error" && "bg-error text-error-foreground"
4379
4193
  ),
4380
- children: /* @__PURE__ */ jsxs64("div", { className: "container mx-auto px-4", children: [
4381
- /* @__PURE__ */ jsx90(SectionHeader, { title, subtitle, badge, content, background }),
4382
- isFixedHeight ? /* @__PURE__ */ jsx90(
4194
+ children: /* @__PURE__ */ jsxs63("div", { className: "container mx-auto px-4", children: [
4195
+ /* @__PURE__ */ jsx89(SectionHeader, { title, subtitle, badge, content, background }),
4196
+ isFixedHeight ? /* @__PURE__ */ jsx89(
4383
4197
  "iframe",
4384
4198
  {
4385
4199
  src,
@@ -4389,7 +4203,7 @@ function IframeResponsive({ title, subtitle, content, badge, src, iframeTitle, h
4389
4203
  allowFullScreen: true,
4390
4204
  sandbox: "allow-scripts allow-same-origin allow-popups allow-forms"
4391
4205
  }
4392
- ) : /* @__PURE__ */ jsx90(
4206
+ ) : /* @__PURE__ */ jsx89(
4393
4207
  "div",
4394
4208
  {
4395
4209
  className: cn(
@@ -4397,7 +4211,7 @@ function IframeResponsive({ title, subtitle, content, badge, src, iframeTitle, h
4397
4211
  aspectRatio === "video" && "aspect-video",
4398
4212
  aspectRatio === "square" && "aspect-square"
4399
4213
  ),
4400
- children: /* @__PURE__ */ jsx90(
4214
+ children: /* @__PURE__ */ jsx89(
4401
4215
  "iframe",
4402
4216
  {
4403
4217
  src,
@@ -4415,24 +4229,24 @@ function IframeResponsive({ title, subtitle, content, badge, src, iframeTitle, h
4415
4229
  }
4416
4230
 
4417
4231
  // src/sections/iframe/index.tsx
4418
- import { jsx as jsx91 } from "react/jsx-runtime";
4232
+ import { jsx as jsx90 } from "react/jsx-runtime";
4419
4233
  function IframeSection(props) {
4420
4234
  switch (props.variant) {
4421
4235
  case "card":
4422
- return /* @__PURE__ */ jsx91(IframeCard, { ...props });
4236
+ return /* @__PURE__ */ jsx90(IframeCard, { ...props });
4423
4237
  case "responsive":
4424
- return /* @__PURE__ */ jsx91(IframeResponsive, { ...props });
4238
+ return /* @__PURE__ */ jsx90(IframeResponsive, { ...props });
4425
4239
  case "simple":
4426
4240
  default:
4427
- return /* @__PURE__ */ jsx91(IframeSimple, { ...props });
4241
+ return /* @__PURE__ */ jsx90(IframeSimple, { ...props });
4428
4242
  }
4429
4243
  }
4430
4244
 
4431
4245
  // src/sections/comparison/variants/comparison-table.tsx
4432
4246
  import { Minus } from "lucide-react";
4433
- import { jsx as jsx92, jsxs as jsxs65 } from "react/jsx-runtime";
4247
+ import { jsx as jsx91, jsxs as jsxs64 } from "react/jsx-runtime";
4434
4248
  function ComparisonTable({ title, subtitle, content, badge, allFeatures, columns, background }) {
4435
- return /* @__PURE__ */ jsx92(
4249
+ return /* @__PURE__ */ jsx91(
4436
4250
  "section",
4437
4251
  {
4438
4252
  className: cn(
@@ -4445,46 +4259,46 @@ function ComparisonTable({ title, subtitle, content, badge, allFeatures, columns
4445
4259
  background === "warning" && "bg-warning text-warning-foreground",
4446
4260
  background === "error" && "bg-error text-error-foreground"
4447
4261
  ),
4448
- children: /* @__PURE__ */ jsxs65("div", { className: "container mx-auto px-4", children: [
4449
- /* @__PURE__ */ jsx92(SectionHeader, { title, subtitle, badge, content, background }),
4450
- /* @__PURE__ */ jsx92("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs65("table", { className: "min-w-[600px] w-full border-collapse", children: [
4451
- /* @__PURE__ */ jsx92("thead", { children: /* @__PURE__ */ jsxs65("tr", { children: [
4452
- /* @__PURE__ */ jsx92("th", { className: "text-left p-4 font-semibold text-muted-foreground w-48", children: "Caracter\xEDsticas" }),
4453
- columns.map((col, i) => /* @__PURE__ */ jsx92(
4262
+ children: /* @__PURE__ */ jsxs64("div", { className: "container mx-auto px-4", children: [
4263
+ /* @__PURE__ */ jsx91(SectionHeader, { title, subtitle, badge, content, background }),
4264
+ /* @__PURE__ */ jsx91("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs64("table", { className: "min-w-[600px] w-full border-collapse", children: [
4265
+ /* @__PURE__ */ jsx91("thead", { children: /* @__PURE__ */ jsxs64("tr", { children: [
4266
+ /* @__PURE__ */ jsx91("th", { className: "text-left p-4 font-semibold text-muted-foreground w-48", children: "Caracter\xEDsticas" }),
4267
+ columns.map((col, i) => /* @__PURE__ */ jsx91(
4454
4268
  "th",
4455
4269
  {
4456
4270
  className: cn(
4457
4271
  "p-4 text-center",
4458
4272
  col.highlighted && "bg-primary/5 border-x border-primary"
4459
4273
  ),
4460
- children: /* @__PURE__ */ jsxs65("div", { className: "flex flex-col items-center gap-1", children: [
4461
- col.badge && /* @__PURE__ */ jsx92(Badge, { variant: "secondary", className: "mb-1", children: col.badge }),
4462
- /* @__PURE__ */ jsx92("span", { className: "font-bold text-lg", children: col.name }),
4463
- col.price && /* @__PURE__ */ jsxs65("span", { className: "text-2xl font-bold", children: [
4274
+ children: /* @__PURE__ */ jsxs64("div", { className: "flex flex-col items-center gap-1", children: [
4275
+ col.badge && /* @__PURE__ */ jsx91(Badge, { variant: "secondary", className: "mb-1", children: col.badge }),
4276
+ /* @__PURE__ */ jsx91("span", { className: "font-bold text-lg", children: col.name }),
4277
+ col.price && /* @__PURE__ */ jsxs64("span", { className: "text-2xl font-bold", children: [
4464
4278
  col.price,
4465
- col.priceFrequency && /* @__PURE__ */ jsxs65("span", { className: "text-sm font-normal text-muted-foreground", children: [
4279
+ col.priceFrequency && /* @__PURE__ */ jsxs64("span", { className: "text-sm font-normal text-muted-foreground", children: [
4466
4280
  "/",
4467
4281
  col.priceFrequency
4468
4282
  ] })
4469
4283
  ] }),
4470
- col.description && /* @__PURE__ */ jsx92("p", { className: "text-sm text-muted-foreground", children: col.description })
4284
+ col.description && /* @__PURE__ */ jsx91("p", { className: "text-sm text-muted-foreground", children: col.description })
4471
4285
  ] })
4472
4286
  },
4473
4287
  i
4474
4288
  ))
4475
4289
  ] }) }),
4476
- /* @__PURE__ */ jsx92("tbody", { children: allFeatures.map((feature, fi) => /* @__PURE__ */ jsxs65("tr", { className: "border-t", children: [
4477
- /* @__PURE__ */ jsx92("td", { className: "p-4 text-sm", children: feature }),
4290
+ /* @__PURE__ */ jsx91("tbody", { children: allFeatures.map((feature, fi) => /* @__PURE__ */ jsxs64("tr", { className: "border-t", children: [
4291
+ /* @__PURE__ */ jsx91("td", { className: "p-4 text-sm", children: feature }),
4478
4292
  columns.map((col, ci) => {
4479
4293
  const cell = col.cells?.[fi] ?? "";
4480
- return /* @__PURE__ */ jsx92(
4294
+ return /* @__PURE__ */ jsx91(
4481
4295
  "td",
4482
4296
  {
4483
4297
  className: cn(
4484
4298
  "p-4 text-center",
4485
4299
  col.highlighted && "bg-primary/5 border-x border-primary"
4486
4300
  ),
4487
- children: cell ? /* @__PURE__ */ jsx92("span", { className: "text-base leading-none", children: cell }) : /* @__PURE__ */ jsx92(Minus, { className: "h-5 w-5 text-muted-foreground mx-auto" })
4301
+ children: cell ? /* @__PURE__ */ jsx91("span", { className: "text-base leading-none", children: cell }) : /* @__PURE__ */ jsx91(Minus, { className: "h-5 w-5 text-muted-foreground mx-auto" })
4488
4302
  },
4489
4303
  ci
4490
4304
  );
@@ -4497,9 +4311,9 @@ function ComparisonTable({ title, subtitle, content, badge, allFeatures, columns
4497
4311
  }
4498
4312
 
4499
4313
  // src/sections/comparison/variants/comparison-cards.tsx
4500
- import { jsx as jsx93, jsxs as jsxs66 } from "react/jsx-runtime";
4314
+ import { jsx as jsx92, jsxs as jsxs65 } from "react/jsx-runtime";
4501
4315
  function ComparisonCards({ title, subtitle, content, badge, allFeatures, columns, background }) {
4502
- return /* @__PURE__ */ jsx93(
4316
+ return /* @__PURE__ */ jsx92(
4503
4317
  "section",
4504
4318
  {
4505
4319
  className: cn(
@@ -4512,9 +4326,9 @@ function ComparisonCards({ title, subtitle, content, badge, allFeatures, columns
4512
4326
  background === "warning" && "bg-warning text-warning-foreground",
4513
4327
  background === "error" && "bg-error text-error-foreground"
4514
4328
  ),
4515
- children: /* @__PURE__ */ jsxs66("div", { className: "container mx-auto px-4", children: [
4516
- /* @__PURE__ */ jsx93(SectionHeader, { title, subtitle, badge, content, background }),
4517
- /* @__PURE__ */ jsx93("div", { className: "flex flex-wrap justify-center gap-6 items-end", children: columns.map((col, i) => /* @__PURE__ */ jsxs66(
4329
+ children: /* @__PURE__ */ jsxs65("div", { className: "container mx-auto px-4", children: [
4330
+ /* @__PURE__ */ jsx92(SectionHeader, { title, subtitle, badge, content, background }),
4331
+ /* @__PURE__ */ jsx92("div", { className: "flex flex-wrap justify-center gap-6 items-end", children: columns.map((col, i) => /* @__PURE__ */ jsxs65(
4518
4332
  "div",
4519
4333
  {
4520
4334
  className: cn(
@@ -4522,32 +4336,32 @@ function ComparisonCards({ title, subtitle, content, badge, allFeatures, columns
4522
4336
  col.highlighted && "border-primary shadow-lg scale-105"
4523
4337
  ),
4524
4338
  children: [
4525
- col.badge && /* @__PURE__ */ jsx93(Badge, { variant: "secondary", className: "mb-3 self-start", children: col.badge }),
4526
- /* @__PURE__ */ jsx93("h3", { className: "text-xl font-bold mb-1", children: col.name }),
4527
- col.description && /* @__PURE__ */ jsx93("p", { className: "text-sm text-muted-foreground mb-4", children: col.description }),
4528
- col.price && /* @__PURE__ */ jsxs66("div", { className: "mb-6", children: [
4529
- /* @__PURE__ */ jsx93("span", { className: "text-4xl font-bold", children: col.price }),
4530
- col.priceFrequency && /* @__PURE__ */ jsxs66("span", { className: "text-muted-foreground text-sm", children: [
4339
+ col.badge && /* @__PURE__ */ jsx92(Badge, { variant: "secondary", className: "mb-3 self-start", children: col.badge }),
4340
+ /* @__PURE__ */ jsx92("h3", { className: "text-xl font-bold mb-1", children: col.name }),
4341
+ col.description && /* @__PURE__ */ jsx92("p", { className: "text-sm text-muted-foreground mb-4", children: col.description }),
4342
+ col.price && /* @__PURE__ */ jsxs65("div", { className: "mb-6", children: [
4343
+ /* @__PURE__ */ jsx92("span", { className: "text-4xl font-bold", children: col.price }),
4344
+ col.priceFrequency && /* @__PURE__ */ jsxs65("span", { className: "text-muted-foreground text-sm", children: [
4531
4345
  "/",
4532
4346
  col.priceFrequency
4533
4347
  ] })
4534
4348
  ] }),
4535
- /* @__PURE__ */ jsx93("ul", { className: "space-y-2 mb-8 flex-1", children: allFeatures.map((feature, fi) => {
4349
+ /* @__PURE__ */ jsx92("ul", { className: "space-y-2 mb-8 flex-1", children: allFeatures.map((feature, fi) => {
4536
4350
  const cell = col.cells?.[fi] ?? "";
4537
4351
  if (!cell) return null;
4538
- return /* @__PURE__ */ jsxs66("li", { className: "flex items-center gap-2 text-sm", children: [
4539
- /* @__PURE__ */ jsx93("span", { className: "text-base leading-none shrink-0", children: cell }),
4540
- /* @__PURE__ */ jsx93("span", { children: feature })
4352
+ return /* @__PURE__ */ jsxs65("li", { className: "flex items-center gap-2 text-sm", children: [
4353
+ /* @__PURE__ */ jsx92("span", { className: "text-base leading-none shrink-0", children: cell }),
4354
+ /* @__PURE__ */ jsx92("span", { children: feature })
4541
4355
  ] }, fi);
4542
4356
  }) }),
4543
- col.cta?.label && /* @__PURE__ */ jsx93(
4357
+ col.cta?.label && /* @__PURE__ */ jsx92(
4544
4358
  Button,
4545
4359
  {
4546
4360
  asChild: true,
4547
4361
  variant: col.cta.variant ?? "default",
4548
4362
  size: col.cta.size ?? "lg",
4549
4363
  className: "w-full",
4550
- children: /* @__PURE__ */ jsx93("a", { href: col.cta.href, children: col.cta.label })
4364
+ children: /* @__PURE__ */ jsx92("a", { href: col.cta.href, children: col.cta.label })
4551
4365
  }
4552
4366
  )
4553
4367
  ]
@@ -4561,12 +4375,12 @@ function ComparisonCards({ title, subtitle, content, badge, allFeatures, columns
4561
4375
 
4562
4376
  // src/sections/comparison/variants/comparison-highlights.tsx
4563
4377
  import { Check as Check2, Minus as Minus2 } from "lucide-react";
4564
- import { jsx as jsx94, jsxs as jsxs67 } from "react/jsx-runtime";
4378
+ import { jsx as jsx93, jsxs as jsxs66 } from "react/jsx-runtime";
4565
4379
  function ComparisonHighlights({ title, subtitle, content, badge, allFeatures, columns, background }) {
4566
4380
  const hasValue = (col, fi) => !!(col.cells?.[fi] ?? "");
4567
4381
  const sharedRows = allFeatures.filter((_, fi) => columns.every((col) => hasValue(col, fi)));
4568
4382
  const differingRows = allFeatures.map((f, fi) => ({ f, fi })).filter(({ fi }) => !columns.every((col) => hasValue(col, fi)));
4569
- return /* @__PURE__ */ jsx94(
4383
+ return /* @__PURE__ */ jsx93(
4570
4384
  "section",
4571
4385
  {
4572
4386
  className: cn(
@@ -4579,27 +4393,27 @@ function ComparisonHighlights({ title, subtitle, content, badge, allFeatures, co
4579
4393
  background === "warning" && "bg-warning text-warning-foreground",
4580
4394
  background === "error" && "bg-error text-error-foreground"
4581
4395
  ),
4582
- children: /* @__PURE__ */ jsxs67("div", { className: "container mx-auto px-4", children: [
4583
- /* @__PURE__ */ jsx94(SectionHeader, { title, subtitle, badge, content, background }),
4584
- sharedRows.length > 0 && /* @__PURE__ */ jsxs67("div", { className: "mb-12", children: [
4585
- /* @__PURE__ */ jsx94("h3", { className: "text-lg font-semibold mb-4", children: "Todos los planes incluyen" }),
4586
- /* @__PURE__ */ jsx94("ul", { className: "grid sm:grid-cols-2 gap-2", children: sharedRows.map((feature, i) => /* @__PURE__ */ jsxs67("li", { className: "flex items-center gap-2 text-sm", children: [
4587
- /* @__PURE__ */ jsx94(Check2, { className: "h-4 w-4 text-green-500 shrink-0" }),
4588
- /* @__PURE__ */ jsx94("span", { children: feature })
4396
+ children: /* @__PURE__ */ jsxs66("div", { className: "container mx-auto px-4", children: [
4397
+ /* @__PURE__ */ jsx93(SectionHeader, { title, subtitle, badge, content, background }),
4398
+ sharedRows.length > 0 && /* @__PURE__ */ jsxs66("div", { className: "mb-12", children: [
4399
+ /* @__PURE__ */ jsx93("h3", { className: "text-lg font-semibold mb-4", children: "Todos los planes incluyen" }),
4400
+ /* @__PURE__ */ jsx93("ul", { className: "grid sm:grid-cols-2 gap-2", children: sharedRows.map((feature, i) => /* @__PURE__ */ jsxs66("li", { className: "flex items-center gap-2 text-sm", children: [
4401
+ /* @__PURE__ */ jsx93(Check2, { className: "h-4 w-4 text-green-500 shrink-0" }),
4402
+ /* @__PURE__ */ jsx93("span", { children: feature })
4589
4403
  ] }, i)) })
4590
4404
  ] }),
4591
- differingRows.length > 0 && /* @__PURE__ */ jsxs67("div", { children: [
4592
- /* @__PURE__ */ jsx94("h3", { className: "text-lg font-semibold mb-4", children: "Lo que cambia entre planes" }),
4593
- /* @__PURE__ */ jsx94("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs67("table", { className: "min-w-[500px] w-full border-collapse text-sm", children: [
4594
- /* @__PURE__ */ jsx94("thead", { children: /* @__PURE__ */ jsxs67("tr", { className: "border-b", children: [
4595
- /* @__PURE__ */ jsx94("th", { className: "text-left p-3 text-muted-foreground font-medium w-48", children: "Caracter\xEDstica" }),
4596
- columns.map((col, i) => /* @__PURE__ */ jsx94("th", { className: "p-3 text-center font-semibold", children: col.name }, i))
4405
+ differingRows.length > 0 && /* @__PURE__ */ jsxs66("div", { children: [
4406
+ /* @__PURE__ */ jsx93("h3", { className: "text-lg font-semibold mb-4", children: "Lo que cambia entre planes" }),
4407
+ /* @__PURE__ */ jsx93("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs66("table", { className: "min-w-[500px] w-full border-collapse text-sm", children: [
4408
+ /* @__PURE__ */ jsx93("thead", { children: /* @__PURE__ */ jsxs66("tr", { className: "border-b", children: [
4409
+ /* @__PURE__ */ jsx93("th", { className: "text-left p-3 text-muted-foreground font-medium w-48", children: "Caracter\xEDstica" }),
4410
+ columns.map((col, i) => /* @__PURE__ */ jsx93("th", { className: "p-3 text-center font-semibold", children: col.name }, i))
4597
4411
  ] }) }),
4598
- /* @__PURE__ */ jsx94("tbody", { children: differingRows.map(({ f: feature, fi }) => /* @__PURE__ */ jsxs67("tr", { className: "border-b last:border-0", children: [
4599
- /* @__PURE__ */ jsx94("td", { className: "p-3", children: feature }),
4412
+ /* @__PURE__ */ jsx93("tbody", { children: differingRows.map(({ f: feature, fi }) => /* @__PURE__ */ jsxs66("tr", { className: "border-b last:border-0", children: [
4413
+ /* @__PURE__ */ jsx93("td", { className: "p-3", children: feature }),
4600
4414
  columns.map((col, ci) => {
4601
4415
  const cell = col.cells?.[fi] ?? "";
4602
- return /* @__PURE__ */ jsx94("td", { className: "p-3 text-center", children: cell ? /* @__PURE__ */ jsx94("span", { className: "text-base leading-none", children: cell }) : /* @__PURE__ */ jsx94(Minus2, { className: "h-4 w-4 text-muted-foreground mx-auto" }) }, ci);
4416
+ return /* @__PURE__ */ jsx93("td", { className: "p-3 text-center", children: cell ? /* @__PURE__ */ jsx93("span", { className: "text-base leading-none", children: cell }) : /* @__PURE__ */ jsx93(Minus2, { className: "h-4 w-4 text-muted-foreground mx-auto" }) }, ci);
4603
4417
  })
4604
4418
  ] }, fi)) })
4605
4419
  ] }) })
@@ -4610,22 +4424,22 @@ function ComparisonHighlights({ title, subtitle, content, badge, allFeatures, co
4610
4424
  }
4611
4425
 
4612
4426
  // src/sections/comparison/index.tsx
4613
- import { jsx as jsx95 } from "react/jsx-runtime";
4427
+ import { jsx as jsx94 } from "react/jsx-runtime";
4614
4428
  function Comparison(props) {
4615
4429
  switch (props.variant) {
4616
4430
  case "cards":
4617
- return /* @__PURE__ */ jsx95(ComparisonCards, { ...props });
4431
+ return /* @__PURE__ */ jsx94(ComparisonCards, { ...props });
4618
4432
  case "highlights":
4619
- return /* @__PURE__ */ jsx95(ComparisonHighlights, { ...props });
4433
+ return /* @__PURE__ */ jsx94(ComparisonHighlights, { ...props });
4620
4434
  case "table":
4621
4435
  default:
4622
- return /* @__PURE__ */ jsx95(ComparisonTable, { ...props });
4436
+ return /* @__PURE__ */ jsx94(ComparisonTable, { ...props });
4623
4437
  }
4624
4438
  }
4625
4439
 
4626
4440
  // src/sections/duplex/variants/duplex-image-left.tsx
4627
4441
  import { Check as Check3 } from "lucide-react";
4628
- import { jsx as jsx96, jsxs as jsxs68 } from "react/jsx-runtime";
4442
+ import { jsx as jsx95, jsxs as jsxs67 } from "react/jsx-runtime";
4629
4443
  function DuplexImageLeft({
4630
4444
  badge,
4631
4445
  heading,
@@ -4638,7 +4452,7 @@ function DuplexImageLeft({
4638
4452
  bullets,
4639
4453
  background
4640
4454
  }) {
4641
- return /* @__PURE__ */ jsx96(
4455
+ return /* @__PURE__ */ jsx95(
4642
4456
  "section",
4643
4457
  {
4644
4458
  className: cn(
@@ -4651,8 +4465,8 @@ function DuplexImageLeft({
4651
4465
  background === "warning" && "bg-warning text-warning-foreground",
4652
4466
  background === "error" && "bg-error text-error-foreground"
4653
4467
  ),
4654
- children: /* @__PURE__ */ jsx96("div", { className: "container mx-auto px-4", children: /* @__PURE__ */ jsxs68("div", { className: "grid items-center gap-12 lg:grid-cols-2", children: [
4655
- /* @__PURE__ */ jsx96("div", { children: videoUrl ? /* @__PURE__ */ jsx96(
4468
+ children: /* @__PURE__ */ jsx95("div", { className: "container mx-auto px-4", children: /* @__PURE__ */ jsxs67("div", { className: "grid items-center gap-12 lg:grid-cols-2", children: [
4469
+ /* @__PURE__ */ jsx95("div", { children: videoUrl ? /* @__PURE__ */ jsx95(
4656
4470
  "video",
4657
4471
  {
4658
4472
  src: videoUrl,
@@ -4662,32 +4476,32 @@ function DuplexImageLeft({
4662
4476
  loop: true,
4663
4477
  playsInline: true
4664
4478
  }
4665
- ) : image?.url ? /* @__PURE__ */ jsx96(
4479
+ ) : image?.url ? /* @__PURE__ */ jsx95(
4666
4480
  "img",
4667
4481
  {
4668
4482
  src: image.url,
4669
4483
  alt: image.alt ?? heading,
4670
4484
  className: "w-full rounded-2xl shadow-lg object-cover"
4671
4485
  }
4672
- ) : /* @__PURE__ */ jsx96("div", { className: "w-full h-64 rounded-2xl bg-muted" }) }),
4673
- /* @__PURE__ */ jsxs68("div", { children: [
4674
- badge && /* @__PURE__ */ jsx96(Badge, { variant: "secondary", className: "mb-4", children: badge }),
4675
- /* @__PURE__ */ jsx96("h2", { className: "text-2xl sm:text-3xl md:text-4xl font-bold", children: heading }),
4676
- body && /* @__PURE__ */ jsx96("p", { className: "text-muted-foreground text-lg mt-4", children: body }),
4677
- content && /* @__PURE__ */ jsx96(
4486
+ ) : /* @__PURE__ */ jsx95("div", { className: "w-full h-64 rounded-2xl bg-muted" }) }),
4487
+ /* @__PURE__ */ jsxs67("div", { children: [
4488
+ badge && /* @__PURE__ */ jsx95(Badge, { variant: "secondary", className: "mb-4", children: badge }),
4489
+ /* @__PURE__ */ jsx95("h2", { className: "text-2xl sm:text-3xl md:text-4xl font-bold", children: heading }),
4490
+ body && /* @__PURE__ */ jsx95("p", { className: "text-muted-foreground text-lg mt-4", children: body }),
4491
+ content && /* @__PURE__ */ jsx95(
4678
4492
  "div",
4679
4493
  {
4680
4494
  className: "richtext-content mt-4 text-muted-foreground",
4681
4495
  dangerouslySetInnerHTML: { __html: content }
4682
4496
  }
4683
4497
  ),
4684
- bullets && bullets.length > 0 && /* @__PURE__ */ jsx96("ul", { className: "mt-4 space-y-2", children: bullets.map((bullet, i) => /* @__PURE__ */ jsxs68("li", { className: "flex items-center gap-2 text-sm", children: [
4685
- /* @__PURE__ */ jsx96(Check3, { className: "h-4 w-4 text-green-500 shrink-0" }),
4686
- /* @__PURE__ */ jsx96("span", { children: bullet })
4498
+ bullets && bullets.length > 0 && /* @__PURE__ */ jsx95("ul", { className: "mt-4 space-y-2", children: bullets.map((bullet, i) => /* @__PURE__ */ jsxs67("li", { className: "flex items-center gap-2 text-sm", children: [
4499
+ /* @__PURE__ */ jsx95(Check3, { className: "h-4 w-4 text-green-500 shrink-0" }),
4500
+ /* @__PURE__ */ jsx95("span", { children: bullet })
4687
4501
  ] }, i)) }),
4688
- (primaryCTA?.label || secondaryCTA?.label) && /* @__PURE__ */ jsxs68("div", { className: "flex flex-wrap gap-3 mt-6", children: [
4689
- primaryCTA?.label && /* @__PURE__ */ jsx96(Button, { asChild: true, variant: primaryCTA.variant ?? "default", size: primaryCTA.size ?? "lg", children: /* @__PURE__ */ jsx96("a", { href: primaryCTA.href, children: primaryCTA.label }) }),
4690
- secondaryCTA?.label && /* @__PURE__ */ jsx96(Button, { asChild: true, variant: secondaryCTA.variant ?? "outline", size: secondaryCTA.size ?? "lg", children: /* @__PURE__ */ jsx96("a", { href: secondaryCTA.href, children: secondaryCTA.label }) })
4502
+ (primaryCTA?.label || secondaryCTA?.label) && /* @__PURE__ */ jsxs67("div", { className: "flex flex-wrap gap-3 mt-6", children: [
4503
+ primaryCTA?.label && /* @__PURE__ */ jsx95(Button, { asChild: true, variant: primaryCTA.variant ?? "default", size: primaryCTA.size ?? "lg", children: /* @__PURE__ */ jsx95("a", { href: primaryCTA.href, children: primaryCTA.label }) }),
4504
+ secondaryCTA?.label && /* @__PURE__ */ jsx95(Button, { asChild: true, variant: secondaryCTA.variant ?? "outline", size: secondaryCTA.size ?? "lg", children: /* @__PURE__ */ jsx95("a", { href: secondaryCTA.href, children: secondaryCTA.label }) })
4691
4505
  ] })
4692
4506
  ] })
4693
4507
  ] }) })
@@ -4697,7 +4511,7 @@ function DuplexImageLeft({
4697
4511
 
4698
4512
  // src/sections/duplex/variants/duplex-image-right.tsx
4699
4513
  import { Check as Check4 } from "lucide-react";
4700
- import { jsx as jsx97, jsxs as jsxs69 } from "react/jsx-runtime";
4514
+ import { jsx as jsx96, jsxs as jsxs68 } from "react/jsx-runtime";
4701
4515
  function DuplexImageRight({
4702
4516
  badge,
4703
4517
  heading,
@@ -4710,7 +4524,7 @@ function DuplexImageRight({
4710
4524
  bullets,
4711
4525
  background
4712
4526
  }) {
4713
- return /* @__PURE__ */ jsx97(
4527
+ return /* @__PURE__ */ jsx96(
4714
4528
  "section",
4715
4529
  {
4716
4530
  className: cn(
@@ -4723,28 +4537,28 @@ function DuplexImageRight({
4723
4537
  background === "warning" && "bg-warning text-warning-foreground",
4724
4538
  background === "error" && "bg-error text-error-foreground"
4725
4539
  ),
4726
- children: /* @__PURE__ */ jsx97("div", { className: "container mx-auto px-4", children: /* @__PURE__ */ jsxs69("div", { className: "grid items-center gap-12 lg:grid-cols-2", children: [
4727
- /* @__PURE__ */ jsxs69("div", { children: [
4728
- badge && /* @__PURE__ */ jsx97(Badge, { variant: "secondary", className: "mb-4", children: badge }),
4729
- /* @__PURE__ */ jsx97("h2", { className: "text-2xl sm:text-3xl md:text-4xl font-bold", children: heading }),
4730
- body && /* @__PURE__ */ jsx97("p", { className: "text-muted-foreground text-lg mt-4", children: body }),
4731
- content && /* @__PURE__ */ jsx97(
4540
+ children: /* @__PURE__ */ jsx96("div", { className: "container mx-auto px-4", children: /* @__PURE__ */ jsxs68("div", { className: "grid items-center gap-12 lg:grid-cols-2", children: [
4541
+ /* @__PURE__ */ jsxs68("div", { children: [
4542
+ badge && /* @__PURE__ */ jsx96(Badge, { variant: "secondary", className: "mb-4", children: badge }),
4543
+ /* @__PURE__ */ jsx96("h2", { className: "text-2xl sm:text-3xl md:text-4xl font-bold", children: heading }),
4544
+ body && /* @__PURE__ */ jsx96("p", { className: "text-muted-foreground text-lg mt-4", children: body }),
4545
+ content && /* @__PURE__ */ jsx96(
4732
4546
  "div",
4733
4547
  {
4734
4548
  className: "richtext-content mt-4 text-muted-foreground",
4735
4549
  dangerouslySetInnerHTML: { __html: content }
4736
4550
  }
4737
4551
  ),
4738
- bullets && bullets.length > 0 && /* @__PURE__ */ jsx97("ul", { className: "mt-4 space-y-2", children: bullets.map((bullet, i) => /* @__PURE__ */ jsxs69("li", { className: "flex items-center gap-2 text-sm", children: [
4739
- /* @__PURE__ */ jsx97(Check4, { className: "h-4 w-4 text-green-500 shrink-0" }),
4740
- /* @__PURE__ */ jsx97("span", { children: bullet })
4552
+ bullets && bullets.length > 0 && /* @__PURE__ */ jsx96("ul", { className: "mt-4 space-y-2", children: bullets.map((bullet, i) => /* @__PURE__ */ jsxs68("li", { className: "flex items-center gap-2 text-sm", children: [
4553
+ /* @__PURE__ */ jsx96(Check4, { className: "h-4 w-4 text-green-500 shrink-0" }),
4554
+ /* @__PURE__ */ jsx96("span", { children: bullet })
4741
4555
  ] }, i)) }),
4742
- (primaryCTA?.label || secondaryCTA?.label) && /* @__PURE__ */ jsxs69("div", { className: "flex flex-wrap gap-3 mt-6", children: [
4743
- primaryCTA?.label && /* @__PURE__ */ jsx97(Button, { asChild: true, variant: primaryCTA.variant ?? "default", size: primaryCTA.size ?? "lg", children: /* @__PURE__ */ jsx97("a", { href: primaryCTA.href, children: primaryCTA.label }) }),
4744
- secondaryCTA?.label && /* @__PURE__ */ jsx97(Button, { asChild: true, variant: secondaryCTA.variant ?? "outline", size: secondaryCTA.size ?? "lg", children: /* @__PURE__ */ jsx97("a", { href: secondaryCTA.href, children: secondaryCTA.label }) })
4556
+ (primaryCTA?.label || secondaryCTA?.label) && /* @__PURE__ */ jsxs68("div", { className: "flex flex-wrap gap-3 mt-6", children: [
4557
+ primaryCTA?.label && /* @__PURE__ */ jsx96(Button, { asChild: true, variant: primaryCTA.variant ?? "default", size: primaryCTA.size ?? "lg", children: /* @__PURE__ */ jsx96("a", { href: primaryCTA.href, children: primaryCTA.label }) }),
4558
+ secondaryCTA?.label && /* @__PURE__ */ jsx96(Button, { asChild: true, variant: secondaryCTA.variant ?? "outline", size: secondaryCTA.size ?? "lg", children: /* @__PURE__ */ jsx96("a", { href: secondaryCTA.href, children: secondaryCTA.label }) })
4745
4559
  ] })
4746
4560
  ] }),
4747
- /* @__PURE__ */ jsx97("div", { children: videoUrl ? /* @__PURE__ */ jsx97(
4561
+ /* @__PURE__ */ jsx96("div", { children: videoUrl ? /* @__PURE__ */ jsx96(
4748
4562
  "video",
4749
4563
  {
4750
4564
  src: videoUrl,
@@ -4754,14 +4568,14 @@ function DuplexImageRight({
4754
4568
  loop: true,
4755
4569
  playsInline: true
4756
4570
  }
4757
- ) : image?.url ? /* @__PURE__ */ jsx97(
4571
+ ) : image?.url ? /* @__PURE__ */ jsx96(
4758
4572
  "img",
4759
4573
  {
4760
4574
  src: image.url,
4761
4575
  alt: image.alt ?? heading,
4762
4576
  className: "w-full rounded-2xl shadow-lg object-cover"
4763
4577
  }
4764
- ) : /* @__PURE__ */ jsx97("div", { className: "w-full h-64 rounded-2xl bg-muted" }) })
4578
+ ) : /* @__PURE__ */ jsx96("div", { className: "w-full h-64 rounded-2xl bg-muted" }) })
4765
4579
  ] }) })
4766
4580
  }
4767
4581
  );
@@ -4769,7 +4583,7 @@ function DuplexImageRight({
4769
4583
 
4770
4584
  // src/sections/duplex/variants/duplex-stacked.tsx
4771
4585
  import { Check as Check5 } from "lucide-react";
4772
- import { jsx as jsx98, jsxs as jsxs70 } from "react/jsx-runtime";
4586
+ import { jsx as jsx97, jsxs as jsxs69 } from "react/jsx-runtime";
4773
4587
  function DuplexStacked({
4774
4588
  badge,
4775
4589
  heading,
@@ -4782,7 +4596,7 @@ function DuplexStacked({
4782
4596
  bullets,
4783
4597
  background
4784
4598
  }) {
4785
- return /* @__PURE__ */ jsx98(
4599
+ return /* @__PURE__ */ jsx97(
4786
4600
  "section",
4787
4601
  {
4788
4602
  className: cn(
@@ -4795,28 +4609,28 @@ function DuplexStacked({
4795
4609
  background === "warning" && "bg-warning text-warning-foreground",
4796
4610
  background === "error" && "bg-error text-error-foreground"
4797
4611
  ),
4798
- children: /* @__PURE__ */ jsxs70("div", { className: "container mx-auto px-4", children: [
4799
- /* @__PURE__ */ jsxs70("div", { className: "max-w-2xl mx-auto text-center mb-10", children: [
4800
- badge && /* @__PURE__ */ jsx98(Badge, { variant: "secondary", className: "mb-4", children: badge }),
4801
- /* @__PURE__ */ jsx98("h2", { className: "text-2xl sm:text-3xl md:text-4xl font-bold", children: heading }),
4802
- body && /* @__PURE__ */ jsx98("p", { className: "text-muted-foreground text-lg mt-4", children: body }),
4803
- content && /* @__PURE__ */ jsx98(
4612
+ children: /* @__PURE__ */ jsxs69("div", { className: "container mx-auto px-4", children: [
4613
+ /* @__PURE__ */ jsxs69("div", { className: "max-w-2xl mx-auto text-center mb-10", children: [
4614
+ badge && /* @__PURE__ */ jsx97(Badge, { variant: "secondary", className: "mb-4", children: badge }),
4615
+ /* @__PURE__ */ jsx97("h2", { className: "text-2xl sm:text-3xl md:text-4xl font-bold", children: heading }),
4616
+ body && /* @__PURE__ */ jsx97("p", { className: "text-muted-foreground text-lg mt-4", children: body }),
4617
+ content && /* @__PURE__ */ jsx97(
4804
4618
  "div",
4805
4619
  {
4806
4620
  className: "richtext-content mt-4 text-muted-foreground",
4807
4621
  dangerouslySetInnerHTML: { __html: content }
4808
4622
  }
4809
4623
  ),
4810
- bullets && bullets.length > 0 && /* @__PURE__ */ jsx98("ul", { className: "mt-4 space-y-2 text-left inline-block", children: bullets.map((bullet, i) => /* @__PURE__ */ jsxs70("li", { className: "flex items-center gap-2 text-sm", children: [
4811
- /* @__PURE__ */ jsx98(Check5, { className: "h-4 w-4 text-green-500 shrink-0" }),
4812
- /* @__PURE__ */ jsx98("span", { children: bullet })
4624
+ bullets && bullets.length > 0 && /* @__PURE__ */ jsx97("ul", { className: "mt-4 space-y-2 text-left inline-block", children: bullets.map((bullet, i) => /* @__PURE__ */ jsxs69("li", { className: "flex items-center gap-2 text-sm", children: [
4625
+ /* @__PURE__ */ jsx97(Check5, { className: "h-4 w-4 text-green-500 shrink-0" }),
4626
+ /* @__PURE__ */ jsx97("span", { children: bullet })
4813
4627
  ] }, i)) }),
4814
- (primaryCTA?.label || secondaryCTA?.label) && /* @__PURE__ */ jsxs70("div", { className: "flex flex-wrap justify-center gap-3 mt-6", children: [
4815
- primaryCTA?.label && /* @__PURE__ */ jsx98(Button, { asChild: true, variant: primaryCTA.variant ?? "default", size: primaryCTA.size ?? "lg", children: /* @__PURE__ */ jsx98("a", { href: primaryCTA.href, children: primaryCTA.label }) }),
4816
- secondaryCTA?.label && /* @__PURE__ */ jsx98(Button, { asChild: true, variant: secondaryCTA.variant ?? "outline", size: secondaryCTA.size ?? "lg", children: /* @__PURE__ */ jsx98("a", { href: secondaryCTA.href, children: secondaryCTA.label }) })
4628
+ (primaryCTA?.label || secondaryCTA?.label) && /* @__PURE__ */ jsxs69("div", { className: "flex flex-wrap justify-center gap-3 mt-6", children: [
4629
+ primaryCTA?.label && /* @__PURE__ */ jsx97(Button, { asChild: true, variant: primaryCTA.variant ?? "default", size: primaryCTA.size ?? "lg", children: /* @__PURE__ */ jsx97("a", { href: primaryCTA.href, children: primaryCTA.label }) }),
4630
+ secondaryCTA?.label && /* @__PURE__ */ jsx97(Button, { asChild: true, variant: secondaryCTA.variant ?? "outline", size: secondaryCTA.size ?? "lg", children: /* @__PURE__ */ jsx97("a", { href: secondaryCTA.href, children: secondaryCTA.label }) })
4817
4631
  ] })
4818
4632
  ] }),
4819
- videoUrl ? /* @__PURE__ */ jsx98(
4633
+ videoUrl ? /* @__PURE__ */ jsx97(
4820
4634
  "video",
4821
4635
  {
4822
4636
  src: videoUrl,
@@ -4826,7 +4640,7 @@ function DuplexStacked({
4826
4640
  loop: true,
4827
4641
  playsInline: true
4828
4642
  }
4829
- ) : image?.url ? /* @__PURE__ */ jsx98(
4643
+ ) : image?.url ? /* @__PURE__ */ jsx97(
4830
4644
  "img",
4831
4645
  {
4832
4646
  src: image.url,
@@ -4840,23 +4654,23 @@ function DuplexStacked({
4840
4654
  }
4841
4655
 
4842
4656
  // src/sections/duplex/index.tsx
4843
- import { jsx as jsx99 } from "react/jsx-runtime";
4657
+ import { jsx as jsx98 } from "react/jsx-runtime";
4844
4658
  function Duplex(props) {
4845
4659
  switch (props.variant) {
4846
4660
  case "image-right":
4847
- return /* @__PURE__ */ jsx99(DuplexImageRight, { ...props });
4661
+ return /* @__PURE__ */ jsx98(DuplexImageRight, { ...props });
4848
4662
  case "stacked":
4849
- return /* @__PURE__ */ jsx99(DuplexStacked, { ...props });
4663
+ return /* @__PURE__ */ jsx98(DuplexStacked, { ...props });
4850
4664
  case "image-left":
4851
4665
  default:
4852
- return /* @__PURE__ */ jsx99(DuplexImageLeft, { ...props });
4666
+ return /* @__PURE__ */ jsx98(DuplexImageLeft, { ...props });
4853
4667
  }
4854
4668
  }
4855
4669
 
4856
4670
  // src/sections/richtext/variants/richtext-centered.tsx
4857
- import { jsx as jsx100, jsxs as jsxs71 } from "react/jsx-runtime";
4671
+ import { jsx as jsx99, jsxs as jsxs70 } from "react/jsx-runtime";
4858
4672
  function RichtextCentered({ title, subtitle, badge, content, background }) {
4859
- return /* @__PURE__ */ jsx100(
4673
+ return /* @__PURE__ */ jsx99(
4860
4674
  "section",
4861
4675
  {
4862
4676
  className: cn(
@@ -4869,9 +4683,9 @@ function RichtextCentered({ title, subtitle, badge, content, background }) {
4869
4683
  background === "warning" && "bg-warning text-warning-foreground",
4870
4684
  background === "error" && "bg-error text-error-foreground"
4871
4685
  ),
4872
- children: /* @__PURE__ */ jsxs71("div", { className: "container mx-auto px-4", children: [
4873
- /* @__PURE__ */ jsx100(SectionHeader, { title, subtitle, badge, background }),
4874
- /* @__PURE__ */ jsx100(
4686
+ children: /* @__PURE__ */ jsxs70("div", { className: "container mx-auto px-4", children: [
4687
+ /* @__PURE__ */ jsx99(SectionHeader, { title, subtitle, badge, background }),
4688
+ /* @__PURE__ */ jsx99(
4875
4689
  "div",
4876
4690
  {
4877
4691
  className: "richtext-content mx-auto max-w-2xl",
@@ -4884,9 +4698,9 @@ function RichtextCentered({ title, subtitle, badge, content, background }) {
4884
4698
  }
4885
4699
 
4886
4700
  // src/sections/richtext/variants/richtext-wide.tsx
4887
- import { jsx as jsx101, jsxs as jsxs72 } from "react/jsx-runtime";
4701
+ import { jsx as jsx100, jsxs as jsxs71 } from "react/jsx-runtime";
4888
4702
  function RichtextWide({ title, subtitle, badge, content, background }) {
4889
- return /* @__PURE__ */ jsx101(
4703
+ return /* @__PURE__ */ jsx100(
4890
4704
  "section",
4891
4705
  {
4892
4706
  className: cn(
@@ -4899,9 +4713,9 @@ function RichtextWide({ title, subtitle, badge, content, background }) {
4899
4713
  background === "warning" && "bg-warning text-warning-foreground",
4900
4714
  background === "error" && "bg-error text-error-foreground"
4901
4715
  ),
4902
- children: /* @__PURE__ */ jsxs72("div", { className: "container mx-auto px-4", children: [
4903
- /* @__PURE__ */ jsx101(SectionHeader, { title, subtitle, badge, background }),
4904
- /* @__PURE__ */ jsx101(
4716
+ children: /* @__PURE__ */ jsxs71("div", { className: "container mx-auto px-4", children: [
4717
+ /* @__PURE__ */ jsx100(SectionHeader, { title, subtitle, badge, background }),
4718
+ /* @__PURE__ */ jsx100(
4905
4719
  "div",
4906
4720
  {
4907
4721
  className: "richtext-content mx-auto max-w-4xl",
@@ -4914,9 +4728,9 @@ function RichtextWide({ title, subtitle, badge, content, background }) {
4914
4728
  }
4915
4729
 
4916
4730
  // src/sections/richtext/variants/richtext-two-column.tsx
4917
- import { jsx as jsx102, jsxs as jsxs73 } from "react/jsx-runtime";
4731
+ import { jsx as jsx101, jsxs as jsxs72 } from "react/jsx-runtime";
4918
4732
  function RichtextTwoColumn({ title, subtitle, badge, content, background }) {
4919
- return /* @__PURE__ */ jsx102(
4733
+ return /* @__PURE__ */ jsx101(
4920
4734
  "section",
4921
4735
  {
4922
4736
  className: cn(
@@ -4929,9 +4743,9 @@ function RichtextTwoColumn({ title, subtitle, badge, content, background }) {
4929
4743
  background === "warning" && "bg-warning text-warning-foreground",
4930
4744
  background === "error" && "bg-error text-error-foreground"
4931
4745
  ),
4932
- children: /* @__PURE__ */ jsxs73("div", { className: "container mx-auto px-4", children: [
4933
- /* @__PURE__ */ jsx102(SectionHeader, { title, subtitle, badge, background }),
4934
- /* @__PURE__ */ jsx102(
4746
+ children: /* @__PURE__ */ jsxs72("div", { className: "container mx-auto px-4", children: [
4747
+ /* @__PURE__ */ jsx101(SectionHeader, { title, subtitle, badge, background }),
4748
+ /* @__PURE__ */ jsx101(
4935
4749
  "div",
4936
4750
  {
4937
4751
  className: "richtext-content [column-count:1] lg:[column-count:2] gap-8 [&>*]:break-inside-avoid",
@@ -4944,28 +4758,28 @@ function RichtextTwoColumn({ title, subtitle, badge, content, background }) {
4944
4758
  }
4945
4759
 
4946
4760
  // src/sections/richtext/index.tsx
4947
- import { jsx as jsx103 } from "react/jsx-runtime";
4761
+ import { jsx as jsx102 } from "react/jsx-runtime";
4948
4762
  function Richtext(props) {
4949
4763
  switch (props.variant) {
4950
4764
  case "wide":
4951
- return /* @__PURE__ */ jsx103(RichtextWide, { ...props });
4765
+ return /* @__PURE__ */ jsx102(RichtextWide, { ...props });
4952
4766
  case "two-column":
4953
- return /* @__PURE__ */ jsx103(RichtextTwoColumn, { ...props });
4767
+ return /* @__PURE__ */ jsx102(RichtextTwoColumn, { ...props });
4954
4768
  case "centered":
4955
4769
  default:
4956
- return /* @__PURE__ */ jsx103(RichtextCentered, { ...props });
4770
+ return /* @__PURE__ */ jsx102(RichtextCentered, { ...props });
4957
4771
  }
4958
4772
  }
4959
4773
 
4960
4774
  // src/sections/video/video-player.tsx
4961
- import { jsx as jsx104 } from "react/jsx-runtime";
4775
+ import { jsx as jsx103 } from "react/jsx-runtime";
4962
4776
  function VideoPlayer({ url, poster, autoplay, loop, muted, className, title }) {
4963
4777
  const parsed = parseVideoUrl(url);
4964
4778
  if (!parsed) {
4965
- return /* @__PURE__ */ jsx104("div", { className: `bg-muted flex items-center justify-center rounded-xl ${className ?? ""}`, children: /* @__PURE__ */ jsx104("p", { className: "text-muted-foreground text-sm", children: "URL de video no v\xE1lida" }) });
4779
+ return /* @__PURE__ */ jsx103("div", { className: `bg-muted flex items-center justify-center rounded-xl ${className ?? ""}`, children: /* @__PURE__ */ jsx103("p", { className: "text-muted-foreground text-sm", children: "URL de video no v\xE1lida" }) });
4966
4780
  }
4967
4781
  if (parsed.type === "native") {
4968
- return /* @__PURE__ */ jsx104(
4782
+ return /* @__PURE__ */ jsx103(
4969
4783
  "video",
4970
4784
  {
4971
4785
  src: parsed.embedUrl,
@@ -4980,7 +4794,7 @@ function VideoPlayer({ url, poster, autoplay, loop, muted, className, title }) {
4980
4794
  );
4981
4795
  }
4982
4796
  const src = autoplay ? `${parsed.embedUrl}&autoplay=1&mute=1` : parsed.embedUrl;
4983
- return /* @__PURE__ */ jsx104(
4797
+ return /* @__PURE__ */ jsx103(
4984
4798
  "iframe",
4985
4799
  {
4986
4800
  src,
@@ -4993,9 +4807,9 @@ function VideoPlayer({ url, poster, autoplay, loop, muted, className, title }) {
4993
4807
  }
4994
4808
 
4995
4809
  // src/sections/video/variants/video-full.tsx
4996
- import { jsx as jsx105, jsxs as jsxs74 } from "react/jsx-runtime";
4810
+ import { jsx as jsx104, jsxs as jsxs73 } from "react/jsx-runtime";
4997
4811
  function VideoFull({ title, subtitle, content, badge, videoUrl, poster, autoplay, loop, muted, background }) {
4998
- return /* @__PURE__ */ jsx105(
4812
+ return /* @__PURE__ */ jsx104(
4999
4813
  "section",
5000
4814
  {
5001
4815
  className: cn(
@@ -5008,9 +4822,9 @@ function VideoFull({ title, subtitle, content, badge, videoUrl, poster, autoplay
5008
4822
  background === "warning" && "bg-warning text-warning-foreground",
5009
4823
  background === "error" && "bg-error text-error-foreground"
5010
4824
  ),
5011
- children: /* @__PURE__ */ jsxs74("div", { className: "container mx-auto px-4", children: [
5012
- /* @__PURE__ */ jsx105(SectionHeader, { title, subtitle, badge, content, background }),
5013
- /* @__PURE__ */ jsx105("div", { className: "aspect-video w-full overflow-hidden rounded-xl shadow-lg", children: /* @__PURE__ */ jsx105(
4825
+ children: /* @__PURE__ */ jsxs73("div", { className: "container mx-auto px-4", children: [
4826
+ /* @__PURE__ */ jsx104(SectionHeader, { title, subtitle, badge, content, background }),
4827
+ /* @__PURE__ */ jsx104("div", { className: "aspect-video w-full overflow-hidden rounded-xl shadow-lg", children: /* @__PURE__ */ jsx104(
5014
4828
  VideoPlayer,
5015
4829
  {
5016
4830
  url: videoUrl,
@@ -5028,9 +4842,9 @@ function VideoFull({ title, subtitle, content, badge, videoUrl, poster, autoplay
5028
4842
  }
5029
4843
 
5030
4844
  // src/sections/video/variants/video-contained.tsx
5031
- import { jsx as jsx106, jsxs as jsxs75 } from "react/jsx-runtime";
4845
+ import { jsx as jsx105, jsxs as jsxs74 } from "react/jsx-runtime";
5032
4846
  function VideoContained({ title, subtitle, content, badge, videoUrl, poster, autoplay, loop, muted, background }) {
5033
- return /* @__PURE__ */ jsx106(
4847
+ return /* @__PURE__ */ jsx105(
5034
4848
  "section",
5035
4849
  {
5036
4850
  className: cn(
@@ -5043,9 +4857,9 @@ function VideoContained({ title, subtitle, content, badge, videoUrl, poster, aut
5043
4857
  background === "warning" && "bg-warning text-warning-foreground",
5044
4858
  background === "error" && "bg-error text-error-foreground"
5045
4859
  ),
5046
- children: /* @__PURE__ */ jsxs75("div", { className: "container mx-auto px-4", children: [
5047
- /* @__PURE__ */ jsx106(SectionHeader, { title, subtitle, badge, content, background }),
5048
- /* @__PURE__ */ jsx106("div", { className: "max-w-4xl mx-auto", children: /* @__PURE__ */ jsx106("div", { className: "aspect-video w-full overflow-hidden rounded-xl shadow-lg", children: /* @__PURE__ */ jsx106(
4860
+ children: /* @__PURE__ */ jsxs74("div", { className: "container mx-auto px-4", children: [
4861
+ /* @__PURE__ */ jsx105(SectionHeader, { title, subtitle, badge, content, background }),
4862
+ /* @__PURE__ */ jsx105("div", { className: "max-w-4xl mx-auto", children: /* @__PURE__ */ jsx105("div", { className: "aspect-video w-full overflow-hidden rounded-xl shadow-lg", children: /* @__PURE__ */ jsx105(
5049
4863
  VideoPlayer,
5050
4864
  {
5051
4865
  url: videoUrl,
@@ -5063,9 +4877,9 @@ function VideoContained({ title, subtitle, content, badge, videoUrl, poster, aut
5063
4877
  }
5064
4878
 
5065
4879
  // src/sections/video/variants/video-with-text.tsx
5066
- import { jsx as jsx107, jsxs as jsxs76 } from "react/jsx-runtime";
4880
+ import { jsx as jsx106, jsxs as jsxs75 } from "react/jsx-runtime";
5067
4881
  function VideoWithText({ title, subtitle, content, badge, videoUrl, poster, autoplay, loop, muted, background }) {
5068
- return /* @__PURE__ */ jsx107(
4882
+ return /* @__PURE__ */ jsx106(
5069
4883
  "section",
5070
4884
  {
5071
4885
  className: cn(
@@ -5078,8 +4892,8 @@ function VideoWithText({ title, subtitle, content, badge, videoUrl, poster, auto
5078
4892
  background === "warning" && "bg-warning text-warning-foreground",
5079
4893
  background === "error" && "bg-error text-error-foreground"
5080
4894
  ),
5081
- children: /* @__PURE__ */ jsx107("div", { className: "container mx-auto px-4", children: /* @__PURE__ */ jsxs76("div", { className: "grid gap-12 items-center lg:grid-cols-2", children: [
5082
- /* @__PURE__ */ jsx107("div", { className: "aspect-video overflow-hidden rounded-xl shadow-lg", children: /* @__PURE__ */ jsx107(
4895
+ children: /* @__PURE__ */ jsx106("div", { className: "container mx-auto px-4", children: /* @__PURE__ */ jsxs75("div", { className: "grid gap-12 items-center lg:grid-cols-2", children: [
4896
+ /* @__PURE__ */ jsx106("div", { className: "aspect-video overflow-hidden rounded-xl shadow-lg", children: /* @__PURE__ */ jsx106(
5083
4897
  VideoPlayer,
5084
4898
  {
5085
4899
  url: videoUrl,
@@ -5091,30 +4905,30 @@ function VideoWithText({ title, subtitle, content, badge, videoUrl, poster, auto
5091
4905
  className: "h-full w-full"
5092
4906
  }
5093
4907
  ) }),
5094
- /* @__PURE__ */ jsx107("div", { children: /* @__PURE__ */ jsx107(SectionHeader, { title, subtitle, badge, content, background, align: "left", className: "mb-0" }) })
4908
+ /* @__PURE__ */ jsx106("div", { children: /* @__PURE__ */ jsx106(SectionHeader, { title, subtitle, badge, content, background, align: "left", className: "mb-0" }) })
5095
4909
  ] }) })
5096
4910
  }
5097
4911
  );
5098
4912
  }
5099
4913
 
5100
4914
  // src/sections/video/index.tsx
5101
- import { jsx as jsx108 } from "react/jsx-runtime";
4915
+ import { jsx as jsx107 } from "react/jsx-runtime";
5102
4916
  function VideoSection(props) {
5103
4917
  switch (props.variant) {
5104
4918
  case "contained":
5105
- return /* @__PURE__ */ jsx108(VideoContained, { ...props });
4919
+ return /* @__PURE__ */ jsx107(VideoContained, { ...props });
5106
4920
  case "with-text":
5107
- return /* @__PURE__ */ jsx108(VideoWithText, { ...props });
4921
+ return /* @__PURE__ */ jsx107(VideoWithText, { ...props });
5108
4922
  case "full":
5109
4923
  default:
5110
- return /* @__PURE__ */ jsx108(VideoFull, { ...props });
4924
+ return /* @__PURE__ */ jsx107(VideoFull, { ...props });
5111
4925
  }
5112
4926
  }
5113
4927
 
5114
4928
  // src/sections/newsletter/newsletter-form.tsx
5115
- import { useState as useState15 } from "react";
4929
+ import { useState as useState14 } from "react";
5116
4930
  import { CheckCircle, Loader2, Mail as Mail3 } from "lucide-react";
5117
- import { Fragment, jsx as jsx109, jsxs as jsxs77 } from "react/jsx-runtime";
4931
+ import { Fragment, jsx as jsx108, jsxs as jsxs76 } from "react/jsx-runtime";
5118
4932
  var inputBase = "flex w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50";
5119
4933
  function NewsletterForm({
5120
4934
  buttonLabel = "Suscribirme",
@@ -5123,9 +4937,9 @@ function NewsletterForm({
5123
4937
  layout = "stacked",
5124
4938
  className
5125
4939
  }) {
5126
- const [email, setEmail] = useState15("");
5127
- const [status, setStatus] = useState15("idle");
5128
- const [errorMsg, setErrorMsg] = useState15("");
4940
+ const [email, setEmail] = useState14("");
4941
+ const [status, setStatus] = useState14("idle");
4942
+ const [errorMsg, setErrorMsg] = useState14("");
5129
4943
  const handleSubmit = async (e) => {
5130
4944
  e.preventDefault();
5131
4945
  setStatus("loading");
@@ -5148,12 +4962,12 @@ function NewsletterForm({
5148
4962
  }
5149
4963
  };
5150
4964
  if (status === "success") {
5151
- return /* @__PURE__ */ jsxs77("div", { className: cn("flex items-center justify-center gap-3 py-2", className), children: [
5152
- /* @__PURE__ */ jsx109(CheckCircle, { className: "h-5 w-5 shrink-0 text-green-500" }),
5153
- /* @__PURE__ */ jsx109("p", { className: "text-sm font-medium", children: successMessage })
4965
+ return /* @__PURE__ */ jsxs76("div", { className: cn("flex items-center justify-center gap-3 py-2", className), children: [
4966
+ /* @__PURE__ */ jsx108(CheckCircle, { className: "h-5 w-5 shrink-0 text-green-500" }),
4967
+ /* @__PURE__ */ jsx108("p", { className: "text-sm font-medium", children: successMessage })
5154
4968
  ] });
5155
4969
  }
5156
- return /* @__PURE__ */ jsxs77(
4970
+ return /* @__PURE__ */ jsxs76(
5157
4971
  "form",
5158
4972
  {
5159
4973
  onSubmit: handleSubmit,
@@ -5162,9 +4976,9 @@ function NewsletterForm({
5162
4976
  className
5163
4977
  ),
5164
4978
  children: [
5165
- /* @__PURE__ */ jsxs77("div", { className: cn("relative", layout === "inline" && "sm:flex-1"), children: [
5166
- /* @__PURE__ */ jsx109(Mail3, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }),
5167
- /* @__PURE__ */ jsx109(
4979
+ /* @__PURE__ */ jsxs76("div", { className: cn("relative", layout === "inline" && "sm:flex-1"), children: [
4980
+ /* @__PURE__ */ jsx108(Mail3, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }),
4981
+ /* @__PURE__ */ jsx108(
5168
4982
  "input",
5169
4983
  {
5170
4984
  type: "email",
@@ -5176,18 +4990,18 @@ function NewsletterForm({
5176
4990
  }
5177
4991
  )
5178
4992
  ] }),
5179
- /* @__PURE__ */ jsx109(Button, { type: "submit", disabled: status === "loading", className: cn(layout === "inline" && "shrink-0"), children: status === "loading" ? /* @__PURE__ */ jsxs77(Fragment, { children: [
5180
- /* @__PURE__ */ jsx109(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }),
4993
+ /* @__PURE__ */ jsx108(Button, { type: "submit", disabled: status === "loading", className: cn(layout === "inline" && "shrink-0"), children: status === "loading" ? /* @__PURE__ */ jsxs76(Fragment, { children: [
4994
+ /* @__PURE__ */ jsx108(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }),
5181
4995
  "Enviando..."
5182
4996
  ] }) : buttonLabel }),
5183
- status === "error" && /* @__PURE__ */ jsx109("p", { className: "text-sm text-destructive", children: errorMsg })
4997
+ status === "error" && /* @__PURE__ */ jsx108("p", { className: "text-sm text-destructive", children: errorMsg })
5184
4998
  ]
5185
4999
  }
5186
5000
  );
5187
5001
  }
5188
5002
 
5189
5003
  // src/sections/newsletter/variants/newsletter-centered.tsx
5190
- import { jsx as jsx110, jsxs as jsxs78 } from "react/jsx-runtime";
5004
+ import { jsx as jsx109, jsxs as jsxs77 } from "react/jsx-runtime";
5191
5005
  function NewsletterCentered({
5192
5006
  title,
5193
5007
  subtitle,
@@ -5198,7 +5012,7 @@ function NewsletterCentered({
5198
5012
  placeholder,
5199
5013
  successMessage
5200
5014
  }) {
5201
- return /* @__PURE__ */ jsx110(
5015
+ return /* @__PURE__ */ jsx109(
5202
5016
  "section",
5203
5017
  {
5204
5018
  className: cn(
@@ -5211,9 +5025,9 @@ function NewsletterCentered({
5211
5025
  background === "warning" && "bg-warning text-warning-foreground",
5212
5026
  background === "error" && "bg-error text-error-foreground"
5213
5027
  ),
5214
- children: /* @__PURE__ */ jsxs78("div", { className: "container mx-auto px-4 text-center", children: [
5215
- /* @__PURE__ */ jsx110(SectionHeader, { title, subtitle, badge, content, background }),
5216
- /* @__PURE__ */ jsx110(
5028
+ children: /* @__PURE__ */ jsxs77("div", { className: "container mx-auto px-4 text-center", children: [
5029
+ /* @__PURE__ */ jsx109(SectionHeader, { title, subtitle, badge, content, background }),
5030
+ /* @__PURE__ */ jsx109(
5217
5031
  NewsletterForm,
5218
5032
  {
5219
5033
  buttonLabel,
@@ -5229,7 +5043,7 @@ function NewsletterCentered({
5229
5043
  }
5230
5044
 
5231
5045
  // src/sections/newsletter/variants/newsletter-card.tsx
5232
- import { jsx as jsx111, jsxs as jsxs79 } from "react/jsx-runtime";
5046
+ import { jsx as jsx110, jsxs as jsxs78 } from "react/jsx-runtime";
5233
5047
  function NewsletterCard({
5234
5048
  title,
5235
5049
  subtitle,
@@ -5240,7 +5054,7 @@ function NewsletterCard({
5240
5054
  placeholder,
5241
5055
  successMessage
5242
5056
  }) {
5243
- return /* @__PURE__ */ jsx111(
5057
+ return /* @__PURE__ */ jsx110(
5244
5058
  "section",
5245
5059
  {
5246
5060
  className: cn(
@@ -5253,9 +5067,9 @@ function NewsletterCard({
5253
5067
  background === "warning" && "bg-warning text-warning-foreground",
5254
5068
  background === "error" && "bg-error text-error-foreground"
5255
5069
  ),
5256
- children: /* @__PURE__ */ jsx111("div", { className: "container mx-auto px-4", children: /* @__PURE__ */ jsxs79("div", { className: "mx-auto max-w-lg rounded-2xl border bg-card p-8 shadow-sm text-center", children: [
5257
- /* @__PURE__ */ jsx111(SectionHeader, { title, subtitle, badge, content, background }),
5258
- /* @__PURE__ */ jsx111(
5070
+ children: /* @__PURE__ */ jsx110("div", { className: "container mx-auto px-4", children: /* @__PURE__ */ jsxs78("div", { className: "mx-auto max-w-lg rounded-2xl border bg-card p-8 shadow-sm text-center", children: [
5071
+ /* @__PURE__ */ jsx110(SectionHeader, { title, subtitle, badge, content, background }),
5072
+ /* @__PURE__ */ jsx110(
5259
5073
  NewsletterForm,
5260
5074
  {
5261
5075
  buttonLabel,
@@ -5270,7 +5084,7 @@ function NewsletterCard({
5270
5084
  }
5271
5085
 
5272
5086
  // src/sections/newsletter/variants/newsletter-inline.tsx
5273
- import { jsx as jsx112, jsxs as jsxs80 } from "react/jsx-runtime";
5087
+ import { jsx as jsx111, jsxs as jsxs79 } from "react/jsx-runtime";
5274
5088
  function NewsletterInline({
5275
5089
  title,
5276
5090
  subtitle,
@@ -5281,7 +5095,7 @@ function NewsletterInline({
5281
5095
  placeholder,
5282
5096
  successMessage
5283
5097
  }) {
5284
- return /* @__PURE__ */ jsx112(
5098
+ return /* @__PURE__ */ jsx111(
5285
5099
  "section",
5286
5100
  {
5287
5101
  className: cn(
@@ -5294,12 +5108,12 @@ function NewsletterInline({
5294
5108
  background === "warning" && "bg-warning text-warning-foreground",
5295
5109
  background === "error" && "bg-error text-error-foreground"
5296
5110
  ),
5297
- children: /* @__PURE__ */ jsxs80("div", { className: "container mx-auto flex flex-col gap-6 px-4 lg:flex-row lg:items-center lg:justify-between max-w-4xl", children: [
5298
- /* @__PURE__ */ jsxs80("div", { className: "flex flex-col gap-2", children: [
5299
- badge && /* @__PURE__ */ jsx112(Badge, { variant: "outline", className: "w-fit", children: badge }),
5300
- title && /* @__PURE__ */ jsx112("h2", { className: "text-2xl font-bold tracking-tight", children: title }),
5301
- subtitle && /* @__PURE__ */ jsx112("p", { className: "text-muted-foreground", children: subtitle }),
5302
- content && /* @__PURE__ */ jsx112(
5111
+ children: /* @__PURE__ */ jsxs79("div", { className: "container mx-auto flex flex-col gap-6 px-4 lg:flex-row lg:items-center lg:justify-between max-w-4xl", children: [
5112
+ /* @__PURE__ */ jsxs79("div", { className: "flex flex-col gap-2", children: [
5113
+ badge && /* @__PURE__ */ jsx111(Badge, { variant: "outline", className: "w-fit", children: badge }),
5114
+ title && /* @__PURE__ */ jsx111("h2", { className: "text-2xl font-bold tracking-tight", children: title }),
5115
+ subtitle && /* @__PURE__ */ jsx111("p", { className: "text-muted-foreground", children: subtitle }),
5116
+ content && /* @__PURE__ */ jsx111(
5303
5117
  "div",
5304
5118
  {
5305
5119
  className: "richtext-content mt-1",
@@ -5307,7 +5121,7 @@ function NewsletterInline({
5307
5121
  }
5308
5122
  )
5309
5123
  ] }),
5310
- /* @__PURE__ */ jsx112(
5124
+ /* @__PURE__ */ jsx111(
5311
5125
  NewsletterForm,
5312
5126
  {
5313
5127
  buttonLabel,
@@ -5323,16 +5137,16 @@ function NewsletterInline({
5323
5137
  }
5324
5138
 
5325
5139
  // src/sections/newsletter/newsletter-section.tsx
5326
- import { jsx as jsx113 } from "react/jsx-runtime";
5140
+ import { jsx as jsx112 } from "react/jsx-runtime";
5327
5141
  function Newsletter(props) {
5328
5142
  switch (props.variant) {
5329
5143
  case "card":
5330
- return /* @__PURE__ */ jsx113(NewsletterCard, { ...props });
5144
+ return /* @__PURE__ */ jsx112(NewsletterCard, { ...props });
5331
5145
  case "inline":
5332
- return /* @__PURE__ */ jsx113(NewsletterInline, { ...props });
5146
+ return /* @__PURE__ */ jsx112(NewsletterInline, { ...props });
5333
5147
  case "centered":
5334
5148
  default:
5335
- return /* @__PURE__ */ jsx113(NewsletterCentered, { ...props });
5149
+ return /* @__PURE__ */ jsx112(NewsletterCentered, { ...props });
5336
5150
  }
5337
5151
  }
5338
5152
 
@@ -5360,7 +5174,7 @@ function fileMeta(mimeType) {
5360
5174
  }
5361
5175
 
5362
5176
  // src/sections/downloads/variants/file-row.tsx
5363
- import { jsx as jsx114, jsxs as jsxs81 } from "react/jsx-runtime";
5177
+ import { jsx as jsx113, jsxs as jsxs80 } from "react/jsx-runtime";
5364
5178
  var iconMap = {
5365
5179
  "file-text": FileText,
5366
5180
  "file-image": FileImage,
@@ -5372,21 +5186,21 @@ function FileRow({ item }) {
5372
5186
  const IconComp = iconMap[icon];
5373
5187
  const size = formatBytes(item.file.size);
5374
5188
  const href = buildDownloadUrl(item.file);
5375
- return /* @__PURE__ */ jsxs81("div", { className: "flex items-center gap-3 py-3 border-b last:border-0", children: [
5376
- /* @__PURE__ */ jsx114("div", { className: ["flex-shrink-0", color].join(" "), children: /* @__PURE__ */ jsx114(IconComp, { className: "h-5 w-5" }) }),
5377
- /* @__PURE__ */ jsxs81("div", { className: "flex-1 min-w-0", children: [
5378
- /* @__PURE__ */ jsx114("p", { className: "text-sm font-medium truncate", children: item.label }),
5379
- size && /* @__PURE__ */ jsx114("p", { className: "text-xs text-muted-foreground mt-0.5", children: size })
5189
+ return /* @__PURE__ */ jsxs80("div", { className: "flex items-center gap-3 py-3 border-b last:border-0", children: [
5190
+ /* @__PURE__ */ jsx113("div", { className: ["flex-shrink-0", color].join(" "), children: /* @__PURE__ */ jsx113(IconComp, { className: "h-5 w-5" }) }),
5191
+ /* @__PURE__ */ jsxs80("div", { className: "flex-1 min-w-0", children: [
5192
+ /* @__PURE__ */ jsx113("p", { className: "text-sm font-medium truncate", children: item.label }),
5193
+ size && /* @__PURE__ */ jsx113("p", { className: "text-xs text-muted-foreground mt-0.5", children: size })
5380
5194
  ] }),
5381
- /* @__PURE__ */ jsx114(Button, { asChild: true, size: "sm", variant: "outline", className: "shrink-0 gap-1.5", children: /* @__PURE__ */ jsxs81("a", { href, download: true, target: "_blank", rel: "noopener noreferrer", children: [
5382
- /* @__PURE__ */ jsx114(Download, { className: "h-3.5 w-3.5" }),
5383
- /* @__PURE__ */ jsx114("span", { className: "hidden sm:inline", children: "Descargar" })
5195
+ /* @__PURE__ */ jsx113(Button, { asChild: true, size: "sm", variant: "outline", className: "shrink-0 gap-1.5", children: /* @__PURE__ */ jsxs80("a", { href, download: true, target: "_blank", rel: "noopener noreferrer", children: [
5196
+ /* @__PURE__ */ jsx113(Download, { className: "h-3.5 w-3.5" }),
5197
+ /* @__PURE__ */ jsx113("span", { className: "hidden sm:inline", children: "Descargar" })
5384
5198
  ] }) })
5385
5199
  ] });
5386
5200
  }
5387
5201
 
5388
5202
  // src/sections/downloads/variants/downloads-grouped.tsx
5389
- import { jsx as jsx115, jsxs as jsxs82 } from "react/jsx-runtime";
5203
+ import { jsx as jsx114, jsxs as jsxs81 } from "react/jsx-runtime";
5390
5204
  function DownloadsGrouped({
5391
5205
  title,
5392
5206
  subtitle,
@@ -5395,7 +5209,7 @@ function DownloadsGrouped({
5395
5209
  background,
5396
5210
  groups
5397
5211
  }) {
5398
- return /* @__PURE__ */ jsx115(
5212
+ return /* @__PURE__ */ jsx114(
5399
5213
  "section",
5400
5214
  {
5401
5215
  className: cn(
@@ -5408,8 +5222,8 @@ function DownloadsGrouped({
5408
5222
  background === "warning" && "bg-warning text-warning-foreground",
5409
5223
  background === "error" && "bg-error text-error-foreground"
5410
5224
  ),
5411
- children: /* @__PURE__ */ jsxs82("div", { className: "container mx-auto px-4", children: [
5412
- /* @__PURE__ */ jsx115(
5225
+ children: /* @__PURE__ */ jsxs81("div", { className: "container mx-auto px-4", children: [
5226
+ /* @__PURE__ */ jsx114(
5413
5227
  SectionHeader,
5414
5228
  {
5415
5229
  title,
@@ -5419,15 +5233,15 @@ function DownloadsGrouped({
5419
5233
  background
5420
5234
  }
5421
5235
  ),
5422
- groups.length > 0 && /* @__PURE__ */ jsx115("div", { className: "grid gap-6 sm:grid-cols-2 lg:grid-cols-3", children: groups.map((group) => /* @__PURE__ */ jsxs82(
5236
+ groups.length > 0 && /* @__PURE__ */ jsx114("div", { className: "grid gap-6 sm:grid-cols-2 lg:grid-cols-3", children: groups.map((group) => /* @__PURE__ */ jsxs81(
5423
5237
  "div",
5424
5238
  {
5425
5239
  className: "rounded-xl border bg-card p-6 shadow-sm",
5426
5240
  children: [
5427
- /* @__PURE__ */ jsx115("h3", { className: "text-base font-semibold mb-4", children: group.title }),
5428
- /* @__PURE__ */ jsxs82("div", { children: [
5429
- group.files.map((file) => /* @__PURE__ */ jsx115(FileRow, { item: file }, file._key)),
5430
- group.files.length === 0 && /* @__PURE__ */ jsx115("p", { className: "text-sm text-muted-foreground", children: "Sin archivos." })
5241
+ /* @__PURE__ */ jsx114("h3", { className: "text-base font-semibold mb-4", children: group.title }),
5242
+ /* @__PURE__ */ jsxs81("div", { children: [
5243
+ group.files.map((file) => /* @__PURE__ */ jsx114(FileRow, { item: file }, file._key)),
5244
+ group.files.length === 0 && /* @__PURE__ */ jsx114("p", { className: "text-sm text-muted-foreground", children: "Sin archivos." })
5431
5245
  ] })
5432
5246
  ]
5433
5247
  },
@@ -5440,7 +5254,7 @@ function DownloadsGrouped({
5440
5254
 
5441
5255
  // src/sections/downloads/variants/downloads-accordion.tsx
5442
5256
  import { FolderOpen } from "lucide-react";
5443
- import { jsx as jsx116, jsxs as jsxs83 } from "react/jsx-runtime";
5257
+ import { jsx as jsx115, jsxs as jsxs82 } from "react/jsx-runtime";
5444
5258
  function DownloadsAccordion({
5445
5259
  title,
5446
5260
  subtitle,
@@ -5449,7 +5263,7 @@ function DownloadsAccordion({
5449
5263
  background,
5450
5264
  groups
5451
5265
  }) {
5452
- return /* @__PURE__ */ jsx116(
5266
+ return /* @__PURE__ */ jsx115(
5453
5267
  "section",
5454
5268
  {
5455
5269
  className: cn(
@@ -5462,8 +5276,8 @@ function DownloadsAccordion({
5462
5276
  background === "warning" && "bg-warning text-warning-foreground",
5463
5277
  background === "error" && "bg-error text-error-foreground"
5464
5278
  ),
5465
- children: /* @__PURE__ */ jsxs83("div", { className: "container mx-auto px-4", children: [
5466
- /* @__PURE__ */ jsx116(
5279
+ children: /* @__PURE__ */ jsxs82("div", { className: "container mx-auto px-4", children: [
5280
+ /* @__PURE__ */ jsx115(
5467
5281
  SectionHeader,
5468
5282
  {
5469
5283
  title,
@@ -5473,16 +5287,16 @@ function DownloadsAccordion({
5473
5287
  background
5474
5288
  }
5475
5289
  ),
5476
- groups.length > 0 && /* @__PURE__ */ jsx116("div", { className: "mx-auto max-w-3xl", children: /* @__PURE__ */ jsx116(Accordion, { type: "multiple", className: "space-y-3", children: groups.map((group) => /* @__PURE__ */ jsxs83(
5290
+ groups.length > 0 && /* @__PURE__ */ jsx115("div", { className: "mx-auto max-w-3xl", children: /* @__PURE__ */ jsx115(Accordion, { type: "multiple", className: "space-y-3", children: groups.map((group) => /* @__PURE__ */ jsxs82(
5477
5291
  AccordionItem,
5478
5292
  {
5479
5293
  value: group._key,
5480
5294
  className: "rounded-xl border bg-card px-6 shadow-sm",
5481
5295
  children: [
5482
- /* @__PURE__ */ jsx116(AccordionTrigger, { className: "text-base font-semibold gap-3 hover:no-underline", children: /* @__PURE__ */ jsxs83("div", { className: "flex items-center gap-2", children: [
5483
- /* @__PURE__ */ jsx116(FolderOpen, { className: "h-4 w-4 text-muted-foreground shrink-0" }),
5484
- /* @__PURE__ */ jsx116("span", { children: group.title }),
5485
- /* @__PURE__ */ jsxs83("span", { className: "ml-1 text-xs font-normal text-muted-foreground", children: [
5296
+ /* @__PURE__ */ jsx115(AccordionTrigger, { className: "text-base font-semibold gap-3 hover:no-underline", children: /* @__PURE__ */ jsxs82("div", { className: "flex items-center gap-2", children: [
5297
+ /* @__PURE__ */ jsx115(FolderOpen, { className: "h-4 w-4 text-muted-foreground shrink-0" }),
5298
+ /* @__PURE__ */ jsx115("span", { children: group.title }),
5299
+ /* @__PURE__ */ jsxs82("span", { className: "ml-1 text-xs font-normal text-muted-foreground", children: [
5486
5300
  "(",
5487
5301
  group.files.length,
5488
5302
  " ",
@@ -5490,9 +5304,9 @@ function DownloadsAccordion({
5490
5304
  ")"
5491
5305
  ] })
5492
5306
  ] }) }),
5493
- /* @__PURE__ */ jsxs83(AccordionContent, { className: "pb-2", children: [
5494
- group.files.map((file) => /* @__PURE__ */ jsx116(FileRow, { item: file }, file._key)),
5495
- group.files.length === 0 && /* @__PURE__ */ jsx116("p", { className: "text-sm text-muted-foreground py-2", children: "Sin archivos." })
5307
+ /* @__PURE__ */ jsxs82(AccordionContent, { className: "pb-2", children: [
5308
+ group.files.map((file) => /* @__PURE__ */ jsx115(FileRow, { item: file }, file._key)),
5309
+ group.files.length === 0 && /* @__PURE__ */ jsx115("p", { className: "text-sm text-muted-foreground py-2", children: "Sin archivos." })
5496
5310
  ] })
5497
5311
  ]
5498
5312
  },
@@ -5504,7 +5318,7 @@ function DownloadsAccordion({
5504
5318
  }
5505
5319
 
5506
5320
  // src/sections/downloads/variants/downloads-flat.tsx
5507
- import { jsx as jsx117, jsxs as jsxs84 } from "react/jsx-runtime";
5321
+ import { jsx as jsx116, jsxs as jsxs83 } from "react/jsx-runtime";
5508
5322
  function DownloadsFlat({
5509
5323
  title,
5510
5324
  subtitle,
@@ -5513,7 +5327,7 @@ function DownloadsFlat({
5513
5327
  background,
5514
5328
  groups
5515
5329
  }) {
5516
- return /* @__PURE__ */ jsx117(
5330
+ return /* @__PURE__ */ jsx116(
5517
5331
  "section",
5518
5332
  {
5519
5333
  className: cn(
@@ -5526,8 +5340,8 @@ function DownloadsFlat({
5526
5340
  background === "warning" && "bg-warning text-warning-foreground",
5527
5341
  background === "error" && "bg-error text-error-foreground"
5528
5342
  ),
5529
- children: /* @__PURE__ */ jsxs84("div", { className: "container mx-auto px-4", children: [
5530
- /* @__PURE__ */ jsx117(
5343
+ children: /* @__PURE__ */ jsxs83("div", { className: "container mx-auto px-4", children: [
5344
+ /* @__PURE__ */ jsx116(
5531
5345
  SectionHeader,
5532
5346
  {
5533
5347
  title,
@@ -5537,14 +5351,14 @@ function DownloadsFlat({
5537
5351
  background
5538
5352
  }
5539
5353
  ),
5540
- groups.length > 0 && /* @__PURE__ */ jsx117("div", { className: "mx-auto max-w-3xl space-y-10", children: groups.map((group) => /* @__PURE__ */ jsxs84("div", { children: [
5541
- /* @__PURE__ */ jsxs84("div", { className: "flex items-center gap-3 mb-4", children: [
5542
- /* @__PURE__ */ jsx117("h3", { className: "text-sm font-semibold uppercase tracking-wider text-muted-foreground", children: group.title }),
5543
- /* @__PURE__ */ jsx117("div", { className: "flex-1 border-t" })
5354
+ groups.length > 0 && /* @__PURE__ */ jsx116("div", { className: "mx-auto max-w-3xl space-y-10", children: groups.map((group) => /* @__PURE__ */ jsxs83("div", { children: [
5355
+ /* @__PURE__ */ jsxs83("div", { className: "flex items-center gap-3 mb-4", children: [
5356
+ /* @__PURE__ */ jsx116("h3", { className: "text-sm font-semibold uppercase tracking-wider text-muted-foreground", children: group.title }),
5357
+ /* @__PURE__ */ jsx116("div", { className: "flex-1 border-t" })
5544
5358
  ] }),
5545
- /* @__PURE__ */ jsxs84("div", { className: "rounded-xl border bg-card px-6 divide-y-0", children: [
5546
- group.files.map((file) => /* @__PURE__ */ jsx117(FileRow, { item: file }, file._key)),
5547
- group.files.length === 0 && /* @__PURE__ */ jsx117("p", { className: "text-sm text-muted-foreground py-4", children: "Sin archivos." })
5359
+ /* @__PURE__ */ jsxs83("div", { className: "rounded-xl border bg-card px-6 divide-y-0", children: [
5360
+ group.files.map((file) => /* @__PURE__ */ jsx116(FileRow, { item: file }, file._key)),
5361
+ group.files.length === 0 && /* @__PURE__ */ jsx116("p", { className: "text-sm text-muted-foreground py-4", children: "Sin archivos." })
5548
5362
  ] })
5549
5363
  ] }, group._key)) })
5550
5364
  ] })
@@ -5553,23 +5367,23 @@ function DownloadsFlat({
5553
5367
  }
5554
5368
 
5555
5369
  // src/sections/downloads/index.tsx
5556
- import { jsx as jsx118 } from "react/jsx-runtime";
5370
+ import { jsx as jsx117 } from "react/jsx-runtime";
5557
5371
  function Downloads(props) {
5558
5372
  switch (props.variant) {
5559
5373
  case "accordion":
5560
- return /* @__PURE__ */ jsx118(DownloadsAccordion, { ...props });
5374
+ return /* @__PURE__ */ jsx117(DownloadsAccordion, { ...props });
5561
5375
  case "flat":
5562
- return /* @__PURE__ */ jsx118(DownloadsFlat, { ...props });
5376
+ return /* @__PURE__ */ jsx117(DownloadsFlat, { ...props });
5563
5377
  case "grouped":
5564
5378
  default:
5565
- return /* @__PURE__ */ jsx118(DownloadsGrouped, { ...props });
5379
+ return /* @__PURE__ */ jsx117(DownloadsGrouped, { ...props });
5566
5380
  }
5567
5381
  }
5568
5382
 
5569
5383
  // src/sections/event-registration/registration-form.tsx
5570
- import { useState as useState16, useRef as useRef4 } from "react";
5384
+ import { useState as useState15, useRef as useRef3 } from "react";
5571
5385
  import { CheckCircle as CheckCircle2, Loader2 as Loader22, ImageIcon, X as X3 } from "lucide-react";
5572
- import { Fragment as Fragment2, jsx as jsx119, jsxs as jsxs85 } from "react/jsx-runtime";
5386
+ import { Fragment as Fragment2, jsx as jsx118, jsxs as jsxs84 } from "react/jsx-runtime";
5573
5387
  var inputBase2 = "flex w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50";
5574
5388
  function DynamicField({
5575
5389
  field,
@@ -5579,16 +5393,16 @@ function DynamicField({
5579
5393
  onFileChange
5580
5394
  }) {
5581
5395
  const id = `field-${field.label}`;
5582
- const fileInputRef = useRef4(null);
5396
+ const fileInputRef = useRef3(null);
5583
5397
  const previewUrl = fileValue ? URL.createObjectURL(fileValue) : value || null;
5584
- const label = /* @__PURE__ */ jsxs85("label", { htmlFor: id, className: "text-sm font-medium leading-none", children: [
5398
+ const label = /* @__PURE__ */ jsxs84("label", { htmlFor: id, className: "text-sm font-medium leading-none", children: [
5585
5399
  field.label,
5586
- field.required && /* @__PURE__ */ jsx119("span", { className: "ml-1 text-destructive", children: "*" })
5400
+ field.required && /* @__PURE__ */ jsx118("span", { className: "ml-1 text-destructive", children: "*" })
5587
5401
  ] });
5588
5402
  if (field.fieldType === "image") {
5589
- return /* @__PURE__ */ jsxs85("div", { className: "flex flex-col gap-1.5", children: [
5403
+ return /* @__PURE__ */ jsxs84("div", { className: "flex flex-col gap-1.5", children: [
5590
5404
  label,
5591
- /* @__PURE__ */ jsxs85(
5405
+ /* @__PURE__ */ jsxs84(
5592
5406
  "div",
5593
5407
  {
5594
5408
  className: cn(
@@ -5597,8 +5411,8 @@ function DynamicField({
5597
5411
  ),
5598
5412
  onClick: () => fileInputRef.current?.click(),
5599
5413
  children: [
5600
- previewUrl ? /* @__PURE__ */ jsxs85(Fragment2, { children: [
5601
- /* @__PURE__ */ jsx119(
5414
+ previewUrl ? /* @__PURE__ */ jsxs84(Fragment2, { children: [
5415
+ /* @__PURE__ */ jsx118(
5602
5416
  "img",
5603
5417
  {
5604
5418
  src: previewUrl,
@@ -5606,7 +5420,7 @@ function DynamicField({
5606
5420
  className: "max-h-40 rounded object-contain"
5607
5421
  }
5608
5422
  ),
5609
- /* @__PURE__ */ jsx119(
5423
+ /* @__PURE__ */ jsx118(
5610
5424
  "button",
5611
5425
  {
5612
5426
  type: "button",
@@ -5616,15 +5430,15 @@ function DynamicField({
5616
5430
  onChange("");
5617
5431
  },
5618
5432
  className: "absolute right-2 top-2 rounded-full bg-background/80 p-1 hover:bg-destructive/10",
5619
- children: /* @__PURE__ */ jsx119(X3, { className: "h-4 w-4 text-destructive" })
5433
+ children: /* @__PURE__ */ jsx118(X3, { className: "h-4 w-4 text-destructive" })
5620
5434
  }
5621
5435
  )
5622
- ] }) : /* @__PURE__ */ jsxs85(Fragment2, { children: [
5623
- /* @__PURE__ */ jsx119(ImageIcon, { className: "h-8 w-8 text-muted-foreground" }),
5624
- /* @__PURE__ */ jsx119("p", { className: "text-sm text-muted-foreground", children: field.placeholder ?? "Hac\xE9 click para seleccionar una imagen" }),
5625
- /* @__PURE__ */ jsx119("p", { className: "text-xs text-muted-foreground", children: "JPG, PNG, WEBP \xB7 m\xE1x. 10 MB" })
5436
+ ] }) : /* @__PURE__ */ jsxs84(Fragment2, { children: [
5437
+ /* @__PURE__ */ jsx118(ImageIcon, { className: "h-8 w-8 text-muted-foreground" }),
5438
+ /* @__PURE__ */ jsx118("p", { className: "text-sm text-muted-foreground", children: field.placeholder ?? "Hac\xE9 click para seleccionar una imagen" }),
5439
+ /* @__PURE__ */ jsx118("p", { className: "text-xs text-muted-foreground", children: "JPG, PNG, WEBP \xB7 m\xE1x. 10 MB" })
5626
5440
  ] }),
5627
- /* @__PURE__ */ jsx119(
5441
+ /* @__PURE__ */ jsx118(
5628
5442
  "input",
5629
5443
  {
5630
5444
  ref: fileInputRef,
@@ -5646,9 +5460,9 @@ function DynamicField({
5646
5460
  ] });
5647
5461
  }
5648
5462
  if (field.fieldType === "textarea") {
5649
- return /* @__PURE__ */ jsxs85("div", { className: "flex flex-col gap-1.5", children: [
5463
+ return /* @__PURE__ */ jsxs84("div", { className: "flex flex-col gap-1.5", children: [
5650
5464
  label,
5651
- /* @__PURE__ */ jsx119(
5465
+ /* @__PURE__ */ jsx118(
5652
5466
  "textarea",
5653
5467
  {
5654
5468
  id,
@@ -5663,9 +5477,9 @@ function DynamicField({
5663
5477
  ] });
5664
5478
  }
5665
5479
  if (field.fieldType === "select") {
5666
- return /* @__PURE__ */ jsxs85("div", { className: "flex flex-col gap-1.5", children: [
5480
+ return /* @__PURE__ */ jsxs84("div", { className: "flex flex-col gap-1.5", children: [
5667
5481
  label,
5668
- /* @__PURE__ */ jsxs85(
5482
+ /* @__PURE__ */ jsxs84(
5669
5483
  "select",
5670
5484
  {
5671
5485
  id,
@@ -5674,17 +5488,17 @@ function DynamicField({
5674
5488
  required: field.required,
5675
5489
  className: cn(inputBase2, "h-10"),
5676
5490
  children: [
5677
- /* @__PURE__ */ jsx119("option", { value: "", children: field.placeholder ?? "Seleccion\xE1 una opci\xF3n" }),
5678
- (field.options ?? []).map((opt) => /* @__PURE__ */ jsx119("option", { value: opt, children: opt }, opt))
5491
+ /* @__PURE__ */ jsx118("option", { value: "", children: field.placeholder ?? "Seleccion\xE1 una opci\xF3n" }),
5492
+ (field.options ?? []).map((opt) => /* @__PURE__ */ jsx118("option", { value: opt, children: opt }, opt))
5679
5493
  ]
5680
5494
  }
5681
5495
  )
5682
5496
  ] });
5683
5497
  }
5684
5498
  if (field.fieldType === "date") {
5685
- return /* @__PURE__ */ jsxs85("div", { className: "flex flex-col gap-1.5", children: [
5499
+ return /* @__PURE__ */ jsxs84("div", { className: "flex flex-col gap-1.5", children: [
5686
5500
  label,
5687
- /* @__PURE__ */ jsx119(
5501
+ /* @__PURE__ */ jsx118(
5688
5502
  DatePicker,
5689
5503
  {
5690
5504
  id,
@@ -5696,9 +5510,9 @@ function DynamicField({
5696
5510
  )
5697
5511
  ] });
5698
5512
  }
5699
- return /* @__PURE__ */ jsxs85("div", { className: "flex flex-col gap-1.5", children: [
5513
+ return /* @__PURE__ */ jsxs84("div", { className: "flex flex-col gap-1.5", children: [
5700
5514
  label,
5701
- /* @__PURE__ */ jsx119(
5515
+ /* @__PURE__ */ jsx118(
5702
5516
  "input",
5703
5517
  {
5704
5518
  id,
@@ -5731,12 +5545,12 @@ function RegistrationForm({
5731
5545
  successMessage = "\xA1Tu registro fue enviado con \xE9xito!",
5732
5546
  className
5733
5547
  }) {
5734
- const [values, setValues] = useState16(
5548
+ const [values, setValues] = useState15(
5735
5549
  () => Object.fromEntries(fields.map((f) => [f.label, ""]))
5736
5550
  );
5737
- const [fileValues, setFileValues] = useState16({});
5738
- const [status, setStatus] = useState16("idle");
5739
- const [errorMsg, setErrorMsg] = useState16("");
5551
+ const [fileValues, setFileValues] = useState15({});
5552
+ const [status, setStatus] = useState15("idle");
5553
+ const [errorMsg, setErrorMsg] = useState15("");
5740
5554
  const handleChange = (label, val) => setValues((prev) => ({ ...prev, [label]: val }));
5741
5555
  const handleFileChange = (label, file) => setFileValues((prev) => ({ ...prev, [label]: file }));
5742
5556
  const handleSubmit = async (e) => {
@@ -5771,13 +5585,13 @@ function RegistrationForm({
5771
5585
  }
5772
5586
  };
5773
5587
  if (status === "success") {
5774
- return /* @__PURE__ */ jsxs85("div", { className: cn("flex flex-col items-center gap-4 py-8 text-center", className), children: [
5775
- /* @__PURE__ */ jsx119(CheckCircle2, { className: "h-14 w-14 text-green-500" }),
5776
- /* @__PURE__ */ jsx119("p", { className: "text-lg font-semibold", children: successMessage })
5588
+ return /* @__PURE__ */ jsxs84("div", { className: cn("flex flex-col items-center gap-4 py-8 text-center", className), children: [
5589
+ /* @__PURE__ */ jsx118(CheckCircle2, { className: "h-14 w-14 text-green-500" }),
5590
+ /* @__PURE__ */ jsx118("p", { className: "text-lg font-semibold", children: successMessage })
5777
5591
  ] });
5778
5592
  }
5779
- return /* @__PURE__ */ jsxs85("form", { onSubmit: handleSubmit, className: cn("grid gap-4", className), children: [
5780
- fields.map((field) => /* @__PURE__ */ jsx119(
5593
+ return /* @__PURE__ */ jsxs84("form", { onSubmit: handleSubmit, className: cn("grid gap-4", className), children: [
5594
+ fields.map((field) => /* @__PURE__ */ jsx118(
5781
5595
  DynamicField,
5782
5596
  {
5783
5597
  field,
@@ -5788,16 +5602,16 @@ function RegistrationForm({
5788
5602
  },
5789
5603
  field.label
5790
5604
  )),
5791
- status === "error" && /* @__PURE__ */ jsx119("p", { className: "rounded-md bg-destructive/10 px-4 py-2 text-sm text-destructive", children: errorMsg }),
5792
- /* @__PURE__ */ jsx119(Button, { type: "submit", disabled: status === "loading", className: "mt-2 w-full", size: "lg", children: status === "loading" ? /* @__PURE__ */ jsxs85(Fragment2, { children: [
5793
- /* @__PURE__ */ jsx119(Loader22, { className: "mr-2 h-4 w-4 animate-spin" }),
5605
+ status === "error" && /* @__PURE__ */ jsx118("p", { className: "rounded-md bg-destructive/10 px-4 py-2 text-sm text-destructive", children: errorMsg }),
5606
+ /* @__PURE__ */ jsx118(Button, { type: "submit", disabled: status === "loading", className: "mt-2 w-full", size: "lg", children: status === "loading" ? /* @__PURE__ */ jsxs84(Fragment2, { children: [
5607
+ /* @__PURE__ */ jsx118(Loader22, { className: "mr-2 h-4 w-4 animate-spin" }),
5794
5608
  "Enviando..."
5795
5609
  ] }) : buttonLabel })
5796
5610
  ] });
5797
5611
  }
5798
5612
 
5799
5613
  // src/sections/event-registration/variants/registration-centered.tsx
5800
- import { jsx as jsx120, jsxs as jsxs86 } from "react/jsx-runtime";
5614
+ import { jsx as jsx119, jsxs as jsxs85 } from "react/jsx-runtime";
5801
5615
  function RegistrationCentered({
5802
5616
  title,
5803
5617
  subtitle,
@@ -5809,7 +5623,7 @@ function RegistrationCentered({
5809
5623
  buttonLabel,
5810
5624
  successMessage
5811
5625
  }) {
5812
- return /* @__PURE__ */ jsx120(
5626
+ return /* @__PURE__ */ jsx119(
5813
5627
  "section",
5814
5628
  {
5815
5629
  className: cn(
@@ -5822,9 +5636,9 @@ function RegistrationCentered({
5822
5636
  background === "warning" && "bg-warning text-warning-foreground",
5823
5637
  background === "error" && "bg-error text-error-foreground"
5824
5638
  ),
5825
- children: /* @__PURE__ */ jsxs86("div", { className: "container mx-auto px-4", children: [
5826
- /* @__PURE__ */ jsx120(SectionHeader, { title, subtitle, badge, content, background }),
5827
- /* @__PURE__ */ jsx120(
5639
+ children: /* @__PURE__ */ jsxs85("div", { className: "container mx-auto px-4", children: [
5640
+ /* @__PURE__ */ jsx119(SectionHeader, { title, subtitle, badge, content, background }),
5641
+ /* @__PURE__ */ jsx119(
5828
5642
  RegistrationForm,
5829
5643
  {
5830
5644
  formId,
@@ -5841,7 +5655,7 @@ function RegistrationCentered({
5841
5655
  }
5842
5656
 
5843
5657
  // src/sections/event-registration/variants/registration-card.tsx
5844
- import { jsx as jsx121, jsxs as jsxs87 } from "react/jsx-runtime";
5658
+ import { jsx as jsx120, jsxs as jsxs86 } from "react/jsx-runtime";
5845
5659
  function RegistrationCard({
5846
5660
  title,
5847
5661
  subtitle,
@@ -5853,7 +5667,7 @@ function RegistrationCard({
5853
5667
  buttonLabel,
5854
5668
  successMessage
5855
5669
  }) {
5856
- return /* @__PURE__ */ jsx121(
5670
+ return /* @__PURE__ */ jsx120(
5857
5671
  "section",
5858
5672
  {
5859
5673
  className: cn(
@@ -5866,9 +5680,9 @@ function RegistrationCard({
5866
5680
  background === "warning" && "bg-warning text-warning-foreground",
5867
5681
  background === "error" && "bg-error text-error-foreground"
5868
5682
  ),
5869
- children: /* @__PURE__ */ jsxs87("div", { className: "container mx-auto px-4", children: [
5870
- /* @__PURE__ */ jsx121(SectionHeader, { title, subtitle, badge, content, background }),
5871
- /* @__PURE__ */ jsx121("div", { className: "mx-auto max-w-xl rounded-2xl border bg-card p-8 shadow-sm", children: /* @__PURE__ */ jsx121(
5683
+ children: /* @__PURE__ */ jsxs86("div", { className: "container mx-auto px-4", children: [
5684
+ /* @__PURE__ */ jsx120(SectionHeader, { title, subtitle, badge, content, background }),
5685
+ /* @__PURE__ */ jsx120("div", { className: "mx-auto max-w-xl rounded-2xl border bg-card p-8 shadow-sm", children: /* @__PURE__ */ jsx120(
5872
5686
  RegistrationForm,
5873
5687
  {
5874
5688
  formId,
@@ -5884,7 +5698,7 @@ function RegistrationCard({
5884
5698
  }
5885
5699
 
5886
5700
  // src/sections/event-registration/variants/registration-split.tsx
5887
- import { jsx as jsx122, jsxs as jsxs88 } from "react/jsx-runtime";
5701
+ import { jsx as jsx121, jsxs as jsxs87 } from "react/jsx-runtime";
5888
5702
  function RegistrationSplit({
5889
5703
  title,
5890
5704
  subtitle,
@@ -5896,7 +5710,7 @@ function RegistrationSplit({
5896
5710
  successMessage,
5897
5711
  image
5898
5712
  }) {
5899
- return /* @__PURE__ */ jsx122(
5713
+ return /* @__PURE__ */ jsx121(
5900
5714
  "section",
5901
5715
  {
5902
5716
  className: cn(
@@ -5909,14 +5723,14 @@ function RegistrationSplit({
5909
5723
  background === "warning" && "bg-warning text-warning-foreground",
5910
5724
  background === "error" && "bg-error text-error-foreground"
5911
5725
  ),
5912
- children: /* @__PURE__ */ jsxs88("div", { className: "container mx-auto grid items-center gap-12 px-4 lg:grid-cols-2", children: [
5913
- /* @__PURE__ */ jsxs88("div", { className: "flex flex-col gap-6", children: [
5914
- badge && /* @__PURE__ */ jsx122(Badge, { variant: "outline", className: "w-fit", children: badge }),
5915
- title && /* @__PURE__ */ jsx122("h2", { className: "text-3xl font-bold tracking-tight lg:text-4xl", children: title }),
5916
- subtitle && /* @__PURE__ */ jsx122("p", { className: "text-lg text-muted-foreground", children: subtitle }),
5917
- image && /* @__PURE__ */ jsx122("div", { className: "aspect-video w-full overflow-hidden rounded-2xl", children: /* @__PURE__ */ jsx122("img", { src: image.url, alt: image.alt ?? title ?? "", className: "h-full w-full object-cover" }) })
5726
+ children: /* @__PURE__ */ jsxs87("div", { className: "container mx-auto grid items-center gap-12 px-4 lg:grid-cols-2", children: [
5727
+ /* @__PURE__ */ jsxs87("div", { className: "flex flex-col gap-6", children: [
5728
+ badge && /* @__PURE__ */ jsx121(Badge, { variant: "outline", className: "w-fit", children: badge }),
5729
+ title && /* @__PURE__ */ jsx121("h2", { className: "text-3xl font-bold tracking-tight lg:text-4xl", children: title }),
5730
+ subtitle && /* @__PURE__ */ jsx121("p", { className: "text-lg text-muted-foreground", children: subtitle }),
5731
+ image && /* @__PURE__ */ jsx121("div", { className: "aspect-video w-full overflow-hidden rounded-2xl", children: /* @__PURE__ */ jsx121("img", { src: image.url, alt: image.alt ?? title ?? "", className: "h-full w-full object-cover" }) })
5918
5732
  ] }),
5919
- /* @__PURE__ */ jsx122("div", { className: "rounded-2xl border bg-card p-8 shadow-sm", children: /* @__PURE__ */ jsx122(
5733
+ /* @__PURE__ */ jsx121("div", { className: "rounded-2xl border bg-card p-8 shadow-sm", children: /* @__PURE__ */ jsx121(
5920
5734
  RegistrationForm,
5921
5735
  {
5922
5736
  formId,
@@ -5932,16 +5746,16 @@ function RegistrationSplit({
5932
5746
  }
5933
5747
 
5934
5748
  // src/sections/event-registration/event-registration-section.tsx
5935
- import { jsx as jsx123 } from "react/jsx-runtime";
5749
+ import { jsx as jsx122 } from "react/jsx-runtime";
5936
5750
  function EventRegistration(props) {
5937
5751
  switch (props.variant) {
5938
5752
  case "card":
5939
- return /* @__PURE__ */ jsx123(RegistrationCard, { ...props });
5753
+ return /* @__PURE__ */ jsx122(RegistrationCard, { ...props });
5940
5754
  case "split":
5941
- return /* @__PURE__ */ jsx123(RegistrationSplit, { ...props });
5755
+ return /* @__PURE__ */ jsx122(RegistrationSplit, { ...props });
5942
5756
  case "centered":
5943
5757
  default:
5944
- return /* @__PURE__ */ jsx123(RegistrationCentered, { ...props });
5758
+ return /* @__PURE__ */ jsx122(RegistrationCentered, { ...props });
5945
5759
  }
5946
5760
  }
5947
5761
  export {