oraculo-ui 0.1.13 → 0.1.15
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.css +2 -397
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +6 -20
- package/dist/index.d.ts +6 -20
- package/dist/index.js +11 -39763
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +22 -55
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/dist/OraculoSeccionBonoBienvenida-2APXZQQA.mjs +0 -8
- package/dist/OraculoSeccionBonoBienvenida-4ZHLRFV2.css +0 -221
- package/dist/OraculoSeccionBonoBienvenida-4ZHLRFV2.css.map +0 -1
- package/dist/OraculoSeccionBonoBienvenida-6L54EBL3.mjs +0 -9
- package/dist/OraculoSeccionBonoBienvenida-6L54EBL3.mjs.map +0 -1
- package/dist/OraculoSeccionBonoBienvenida-MGMLDCRG.css +0 -220
- package/dist/OraculoSeccionCasino-CPSKAAFH.css +0 -398
- package/dist/OraculoSeccionCasino-CPSKAAFH.css.map +0 -1
- package/dist/OraculoSeccionCasino-FHD2WBDU.mjs +0 -13
- package/dist/OraculoSeccionCasino-FHD2WBDU.mjs.map +0 -1
- package/dist/OraculoSeccionCasino-LRZCQVLY.mjs +0 -12
- package/dist/OraculoSeccionCasino-ORWFZCMV.mjs +0 -12
- package/dist/OraculoSeccionCasino-RFXPS2MW.css +0 -397
- package/dist/OraculoSeccionCasinoEnVivo-7W64K4YQ.css +0 -157
- package/dist/OraculoSeccionCasinoEnVivo-7W64K4YQ.css.map +0 -1
- package/dist/OraculoSeccionCasinoEnVivo-EPVIACRV.mjs +0 -9
- package/dist/OraculoSeccionCasinoEnVivo-EPVIACRV.mjs.map +0 -1
- package/dist/OraculoSeccionCasinoEnVivo-ISYMJSUN.mjs +0 -8
- package/dist/OraculoSeccionCasinoEnVivo-MMXETHJA.css +0 -156
- package/dist/OraculoSeccionClubOlimpo-63QCT4A2.mjs +0 -10
- package/dist/OraculoSeccionClubOlimpo-63QCT4A2.mjs.map +0 -1
- package/dist/OraculoSeccionClubOlimpo-APZYPQ5V.css +0 -116
- package/dist/OraculoSeccionClubOlimpo-BLUJXLUC.mjs +0 -8
- package/dist/OraculoSeccionClubOlimpo-BLUJXLUC.mjs.map +0 -1
- package/dist/OraculoSeccionClubOlimpo-F2AFK4G3.css +0 -274
- package/dist/OraculoSeccionClubOlimpo-F2AFK4G3.css.map +0 -1
- package/dist/OraculoSeccionClubOlimpo-MYTRV5IN.css +0 -273
- package/dist/OraculoSeccionClubOlimpo-TV3LABJ5.mjs +0 -9
- package/dist/OraculoSeccionClubOlimpo-XGB4KUKX.mjs +0 -7
- package/dist/OraculoSeccionClubOlimpo-ZCBMTUL3.css +0 -117
- package/dist/OraculoSeccionClubOlimpo-ZCBMTUL3.css.map +0 -1
- package/dist/OraculoSeccionDestacados-2KCEN6PZ.mjs +0 -12
- package/dist/OraculoSeccionDestacados-5RFVEBFL.mjs +0 -13
- package/dist/OraculoSeccionDestacados-5RFVEBFL.mjs.map +0 -1
- package/dist/OraculoSeccionDestacados-6D4LKX4H.mjs +0 -12
- package/dist/OraculoSeccionDestacados-AMMYUK67.css +0 -398
- package/dist/OraculoSeccionDestacados-AMMYUK67.css.map +0 -1
- package/dist/OraculoSeccionDestacados-WQX2GQNY.css +0 -397
- package/dist/OraculoSeccionTopJuegos-FMFAEVQK.css +0 -397
- package/dist/OraculoSeccionTopJuegos-K6CHEKEP.mjs +0 -13
- package/dist/OraculoSeccionTopJuegos-K6CHEKEP.mjs.map +0 -1
- package/dist/OraculoSeccionTopJuegos-LEFQWP7T.mjs +0 -12
- package/dist/OraculoSeccionTopJuegos-RBVOHPDV.mjs +0 -12
- package/dist/OraculoSeccionTopJuegos-XBGNNR6G.css +0 -398
- package/dist/OraculoSeccionTopJuegos-XBGNNR6G.css.map +0 -1
- package/dist/OraculoSeccionVirtuales-6RBECPDW.css +0 -397
- package/dist/OraculoSeccionVirtuales-FKHGLEVT.mjs +0 -12
- package/dist/OraculoSeccionVirtuales-N6FY52CM.mjs +0 -12
- package/dist/OraculoSeccionVirtuales-NEIWD2BT.mjs +0 -13
- package/dist/OraculoSeccionVirtuales-NEIWD2BT.mjs.map +0 -1
- package/dist/OraculoSeccionVirtuales-SSM6EDST.css +0 -398
- package/dist/OraculoSeccionVirtuales-SSM6EDST.css.map +0 -1
- package/dist/chunk-2D7ZJMJV.mjs +0 -118
- package/dist/chunk-4LBAYKDQ.mjs +0 -475
- package/dist/chunk-7IWMEE6R.mjs +0 -39100
- package/dist/chunk-FIOWVLJP.mjs +0 -7
- package/dist/chunk-FIOWVLJP.mjs.map +0 -1
- package/dist/chunk-FROEVP3X.mjs +0 -39097
- package/dist/chunk-IGAIIVJZ.mjs +0 -74
- package/dist/chunk-IGAIIVJZ.mjs.map +0 -1
- package/dist/chunk-IJQLK4NO.mjs +0 -73
- package/dist/chunk-MC4XEBI3.mjs +0 -1277
- package/dist/chunk-MC4XEBI3.mjs.map +0 -1
- package/dist/chunk-PVY5Z3JS.mjs +0 -249
- package/dist/chunk-PYHDJZX3.mjs +0 -476
- package/dist/chunk-PYHDJZX3.mjs.map +0 -1
- package/dist/chunk-PZJSZNXJ.mjs +0 -6
- package/dist/chunk-THUJNRMX.mjs +0 -119
- package/dist/chunk-THUJNRMX.mjs.map +0 -1
- package/dist/chunk-VIPLL6XT.mjs +0 -43
- package/dist/chunk-WTK2IT5O.mjs +0 -250
- package/dist/chunk-WTK2IT5O.mjs.map +0 -1
- package/dist/chunk-XNMUIY72.mjs +0 -10
- package/dist/chunk-XNMUIY72.mjs.map +0 -1
package/dist/chunk-PYHDJZX3.mjs
DELETED
|
@@ -1,476 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
OraculoButton
|
|
3
|
-
} from "./chunk-IGAIIVJZ.mjs";
|
|
4
|
-
|
|
5
|
-
// src/organisms/OraculoSeccionBonoBienvenida/OraculoSeccionBonoBienvenida.tsx
|
|
6
|
-
import { useRef as useRef2, useState } from "react";
|
|
7
|
-
import Box2 from "@mui/material/Box";
|
|
8
|
-
import Typography2 from "@mui/material/Typography";
|
|
9
|
-
import useMediaQuery from "@mui/material/useMediaQuery";
|
|
10
|
-
|
|
11
|
-
// src/molecules/OraculoCarousel/OraculoCarousel.tsx
|
|
12
|
-
import {
|
|
13
|
-
forwardRef,
|
|
14
|
-
useCallback,
|
|
15
|
-
useImperativeHandle,
|
|
16
|
-
useRef
|
|
17
|
-
} from "react";
|
|
18
|
-
import {
|
|
19
|
-
Splide as SplideRaw,
|
|
20
|
-
SplideSlide as SplideSlideRaw
|
|
21
|
-
} from "@splidejs/react-splide";
|
|
22
|
-
import { jsx } from "react/jsx-runtime";
|
|
23
|
-
var Splide = SplideRaw;
|
|
24
|
-
var SplideSlide = SplideSlideRaw;
|
|
25
|
-
var OraculoCarousel = forwardRef(
|
|
26
|
-
({
|
|
27
|
-
items = [],
|
|
28
|
-
renderItem,
|
|
29
|
-
perPage = 1,
|
|
30
|
-
gap = "0px",
|
|
31
|
-
breakpoints,
|
|
32
|
-
options = {},
|
|
33
|
-
className = "",
|
|
34
|
-
onMove
|
|
35
|
-
}, ref) => {
|
|
36
|
-
const splideRef = useRef(null);
|
|
37
|
-
useImperativeHandle(ref, () => ({
|
|
38
|
-
next: () => {
|
|
39
|
-
var _a;
|
|
40
|
-
return (_a = splideRef.current) == null ? void 0 : _a.go(">");
|
|
41
|
-
},
|
|
42
|
-
prev: () => {
|
|
43
|
-
var _a;
|
|
44
|
-
return (_a = splideRef.current) == null ? void 0 : _a.go("<");
|
|
45
|
-
},
|
|
46
|
-
go: (index) => {
|
|
47
|
-
var _a;
|
|
48
|
-
return (_a = splideRef.current) == null ? void 0 : _a.go(index);
|
|
49
|
-
}
|
|
50
|
-
}));
|
|
51
|
-
const handleMove = useCallback(
|
|
52
|
-
(splide) => {
|
|
53
|
-
const index = splide.index;
|
|
54
|
-
const total = splide.length;
|
|
55
|
-
const currentPerPage = splide.options.perPage || 1;
|
|
56
|
-
const isStart = index === 0;
|
|
57
|
-
const isEnd = index >= total - currentPerPage;
|
|
58
|
-
onMove == null ? void 0 : onMove({ index, isStart, isEnd, total });
|
|
59
|
-
},
|
|
60
|
-
[onMove]
|
|
61
|
-
);
|
|
62
|
-
const handleMounted = useCallback(
|
|
63
|
-
(splide) => {
|
|
64
|
-
handleMove(splide);
|
|
65
|
-
},
|
|
66
|
-
[handleMove]
|
|
67
|
-
);
|
|
68
|
-
const mergedOptions = {
|
|
69
|
-
type: "slide",
|
|
70
|
-
trimSpace: false,
|
|
71
|
-
drag: true,
|
|
72
|
-
pagination: false,
|
|
73
|
-
arrows: false,
|
|
74
|
-
rewind: false,
|
|
75
|
-
focus: "start",
|
|
76
|
-
autoWidth: false,
|
|
77
|
-
perPage,
|
|
78
|
-
gap,
|
|
79
|
-
breakpoints,
|
|
80
|
-
...options
|
|
81
|
-
};
|
|
82
|
-
return /* @__PURE__ */ jsx("div", { className, style: { width: "100%" }, children: /* @__PURE__ */ jsx(
|
|
83
|
-
Splide,
|
|
84
|
-
{
|
|
85
|
-
ref: splideRef,
|
|
86
|
-
options: mergedOptions,
|
|
87
|
-
onMove: handleMove,
|
|
88
|
-
onMounted: handleMounted,
|
|
89
|
-
children: items.map((item, index) => {
|
|
90
|
-
var _a;
|
|
91
|
-
return /* @__PURE__ */ jsx(SplideSlide, { children: renderItem(item, index) }, (_a = item.id) != null ? _a : index);
|
|
92
|
-
})
|
|
93
|
-
}
|
|
94
|
-
) });
|
|
95
|
-
}
|
|
96
|
-
);
|
|
97
|
-
var OraculoCarousel_default = OraculoCarousel;
|
|
98
|
-
|
|
99
|
-
// src/molecules/OraculoWelcomeBanner/OraculoWelcomeBanner.tsx
|
|
100
|
-
import Box from "@mui/material/Box";
|
|
101
|
-
import Typography from "@mui/material/Typography";
|
|
102
|
-
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
103
|
-
var OraculoWelcomeBanner = ({
|
|
104
|
-
title,
|
|
105
|
-
amount,
|
|
106
|
-
subtitle,
|
|
107
|
-
buttonText,
|
|
108
|
-
onButtonClick,
|
|
109
|
-
backgroundImage,
|
|
110
|
-
alt,
|
|
111
|
-
className = "",
|
|
112
|
-
variant = "small"
|
|
113
|
-
}) => {
|
|
114
|
-
const symbol = amount ? amount.slice(0, 2) : "";
|
|
115
|
-
const value = amount ? amount.slice(2) : "";
|
|
116
|
-
const isLarge = variant === "large";
|
|
117
|
-
return /* @__PURE__ */ jsxs(
|
|
118
|
-
Box,
|
|
119
|
-
{
|
|
120
|
-
className,
|
|
121
|
-
sx: {
|
|
122
|
-
position: "relative",
|
|
123
|
-
width: "100%",
|
|
124
|
-
maxWidth: {
|
|
125
|
-
xs: 328,
|
|
126
|
-
lg: isLarge ? 618 : 456
|
|
127
|
-
},
|
|
128
|
-
mx: "auto"
|
|
129
|
-
},
|
|
130
|
-
children: [
|
|
131
|
-
backgroundImage && /* @__PURE__ */ jsx2(
|
|
132
|
-
Box,
|
|
133
|
-
{
|
|
134
|
-
sx: {
|
|
135
|
-
position: "relative",
|
|
136
|
-
width: "100%",
|
|
137
|
-
aspectRatio: {
|
|
138
|
-
xs: "328 / 188",
|
|
139
|
-
lg: isLarge ? "618 / 346" : "456 / 272"
|
|
140
|
-
},
|
|
141
|
-
borderRadius: "14px",
|
|
142
|
-
overflow: "hidden"
|
|
143
|
-
},
|
|
144
|
-
children: /* @__PURE__ */ jsx2(
|
|
145
|
-
Box,
|
|
146
|
-
{
|
|
147
|
-
component: "img",
|
|
148
|
-
src: backgroundImage,
|
|
149
|
-
alt: alt != null ? alt : "Fondo promocional",
|
|
150
|
-
sx: {
|
|
151
|
-
width: "100%",
|
|
152
|
-
height: "100%",
|
|
153
|
-
objectFit: "cover",
|
|
154
|
-
objectPosition: {
|
|
155
|
-
xs: "50% 0%",
|
|
156
|
-
lg: "45% 0%"
|
|
157
|
-
},
|
|
158
|
-
display: "block"
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
)
|
|
162
|
-
}
|
|
163
|
-
),
|
|
164
|
-
/* @__PURE__ */ jsx2(
|
|
165
|
-
Box,
|
|
166
|
-
{
|
|
167
|
-
sx: {
|
|
168
|
-
position: "absolute",
|
|
169
|
-
inset: 0,
|
|
170
|
-
display: "flex",
|
|
171
|
-
alignItems: "center",
|
|
172
|
-
justifyContent: "flex-end",
|
|
173
|
-
color: "#e7f8ff",
|
|
174
|
-
textAlign: "center",
|
|
175
|
-
pl: "14%",
|
|
176
|
-
pr: { xs: "14%", lg: "15%" }
|
|
177
|
-
},
|
|
178
|
-
children: /* @__PURE__ */ jsxs(
|
|
179
|
-
Box,
|
|
180
|
-
{
|
|
181
|
-
sx: {
|
|
182
|
-
maxWidth: "60%",
|
|
183
|
-
display: "flex",
|
|
184
|
-
flexDirection: "column",
|
|
185
|
-
alignItems: "center"
|
|
186
|
-
},
|
|
187
|
-
children: [
|
|
188
|
-
title && /* @__PURE__ */ jsx2(
|
|
189
|
-
Typography,
|
|
190
|
-
{
|
|
191
|
-
sx: {
|
|
192
|
-
fontSize: { xs: 12, lg: 20 },
|
|
193
|
-
fontWeight: 400,
|
|
194
|
-
color: "#e7f8ff"
|
|
195
|
-
},
|
|
196
|
-
children: title
|
|
197
|
-
}
|
|
198
|
-
),
|
|
199
|
-
amount && /* @__PURE__ */ jsxs(
|
|
200
|
-
Box,
|
|
201
|
-
{
|
|
202
|
-
component: "p",
|
|
203
|
-
sx: {
|
|
204
|
-
fontFamily: '"secondary", sans-serif',
|
|
205
|
-
lineHeight: { xs: 0.9, lg: 0.87 },
|
|
206
|
-
m: "4px 0",
|
|
207
|
-
background: "linear-gradient(175deg, #EDC421 -12.56%, #FFFABF 17.99%, #EDC421 49.74%)",
|
|
208
|
-
WebkitBackgroundClip: "text",
|
|
209
|
-
WebkitTextFillColor: "transparent",
|
|
210
|
-
WebkitTextStroke: "0.5px #fff8c1",
|
|
211
|
-
filter: "drop-shadow(0px 4px 0px #8D4406) drop-shadow(0px 4px 4px rgba(28, 28, 28, 0.4))",
|
|
212
|
-
display: "flex",
|
|
213
|
-
alignItems: "baseline",
|
|
214
|
-
justifyContent: "center"
|
|
215
|
-
},
|
|
216
|
-
children: [
|
|
217
|
-
/* @__PURE__ */ jsx2(
|
|
218
|
-
Box,
|
|
219
|
-
{
|
|
220
|
-
component: "span",
|
|
221
|
-
sx: { fontSize: { xs: 35, lg: 48 }, mr: 0.5 },
|
|
222
|
-
children: symbol
|
|
223
|
-
}
|
|
224
|
-
),
|
|
225
|
-
/* @__PURE__ */ jsx2(
|
|
226
|
-
Box,
|
|
227
|
-
{
|
|
228
|
-
component: "span",
|
|
229
|
-
sx: { fontSize: { xs: 52, lg: 77 } },
|
|
230
|
-
children: value
|
|
231
|
-
}
|
|
232
|
-
)
|
|
233
|
-
]
|
|
234
|
-
}
|
|
235
|
-
),
|
|
236
|
-
subtitle && /* @__PURE__ */ jsx2(
|
|
237
|
-
Typography,
|
|
238
|
-
{
|
|
239
|
-
sx: {
|
|
240
|
-
pb: "20px",
|
|
241
|
-
fontSize: 14,
|
|
242
|
-
fontWeight: 600,
|
|
243
|
-
color: "#e7f8ff"
|
|
244
|
-
},
|
|
245
|
-
children: subtitle
|
|
246
|
-
}
|
|
247
|
-
),
|
|
248
|
-
buttonText && /* @__PURE__ */ jsx2(OraculoButton, { onClick: onButtonClick, children: buttonText })
|
|
249
|
-
]
|
|
250
|
-
}
|
|
251
|
-
)
|
|
252
|
-
}
|
|
253
|
-
)
|
|
254
|
-
]
|
|
255
|
-
}
|
|
256
|
-
);
|
|
257
|
-
};
|
|
258
|
-
var OraculoWelcomeBanner_default = OraculoWelcomeBanner;
|
|
259
|
-
|
|
260
|
-
// src/atoms/OraculoCarouselDots/OraculoCarouselDots.tsx
|
|
261
|
-
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
262
|
-
var OraculoCarouselDots = ({
|
|
263
|
-
total,
|
|
264
|
-
active,
|
|
265
|
-
onSelect,
|
|
266
|
-
className = ""
|
|
267
|
-
}) => {
|
|
268
|
-
if (total <= 1) return null;
|
|
269
|
-
const rootClass = ["orc-dots", className].filter(Boolean).join(" ");
|
|
270
|
-
return /* @__PURE__ */ jsx3("div", { className: rootClass, role: "tablist", children: Array.from({ length: total }).map((_, i) => /* @__PURE__ */ jsx3("span", { className: "orc-dots__cell", children: /* @__PURE__ */ jsx3(
|
|
271
|
-
"button",
|
|
272
|
-
{
|
|
273
|
-
type: "button",
|
|
274
|
-
role: "tab",
|
|
275
|
-
"aria-selected": i === active,
|
|
276
|
-
"aria-label": `Ir al slide ${i + 1}`,
|
|
277
|
-
className: "orc-dots__dot" + (i === active ? " orc-dots__dot--active" : ""),
|
|
278
|
-
onClick: () => onSelect == null ? void 0 : onSelect(i)
|
|
279
|
-
}
|
|
280
|
-
) }, i)) });
|
|
281
|
-
};
|
|
282
|
-
var OraculoCarouselDots_default = OraculoCarouselDots;
|
|
283
|
-
|
|
284
|
-
// src/organisms/OraculoSeccionBonoBienvenida/OraculoSeccionBonoBienvenida.tsx
|
|
285
|
-
import { Fragment, jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
286
|
-
var buildSectionSx = (bgUrl) => ({
|
|
287
|
-
width: "100vw",
|
|
288
|
-
position: "relative",
|
|
289
|
-
left: "50%",
|
|
290
|
-
right: "50%",
|
|
291
|
-
marginLeft: "-50vw",
|
|
292
|
-
marginRight: "-50vw",
|
|
293
|
-
py: 8,
|
|
294
|
-
color: "#fff",
|
|
295
|
-
backgroundImage: `
|
|
296
|
-
linear-gradient(to bottom,#121212 0%, rgba(18,18,18,0) 10%),
|
|
297
|
-
linear-gradient(to top, #121212 0%, rgba(18,18,18,0) 10%),
|
|
298
|
-
linear-gradient(to left, #121212 0%, rgba(18,18,18,0) 10%),
|
|
299
|
-
linear-gradient(to right, #121212 0%, rgba(18,18,18,0) 10%),
|
|
300
|
-
url("${bgUrl}")
|
|
301
|
-
`,
|
|
302
|
-
backgroundRepeat: "no-repeat",
|
|
303
|
-
backgroundPosition: "center",
|
|
304
|
-
backgroundSize: "cover"
|
|
305
|
-
});
|
|
306
|
-
var headlineBaseSx = {
|
|
307
|
-
textAlign: "center",
|
|
308
|
-
lineHeight: 1.1,
|
|
309
|
-
mb: 1.5
|
|
310
|
-
};
|
|
311
|
-
var hlTopSx = {
|
|
312
|
-
display: "inline-block",
|
|
313
|
-
fontWeight: 600,
|
|
314
|
-
fontSize: 24
|
|
315
|
-
};
|
|
316
|
-
var hlBottomSx = {
|
|
317
|
-
display: "inline-block",
|
|
318
|
-
fontSize: 24,
|
|
319
|
-
lineHeight: 1.1,
|
|
320
|
-
WebkitTextStroke: "0.3px rgba(255, 255, 255, .5)",
|
|
321
|
-
textShadow: `
|
|
322
|
-
0 0 2px rgba(255, 255, 255, .95),
|
|
323
|
-
0 0 6px rgba(255, 255, 255, .6),
|
|
324
|
-
0 1px 0 rgba(137, 137, 137, .85)
|
|
325
|
-
`
|
|
326
|
-
};
|
|
327
|
-
var OraculoSeccionBonoBienvenida = ({
|
|
328
|
-
headline,
|
|
329
|
-
items,
|
|
330
|
-
backgroundImageUrl
|
|
331
|
-
}) => {
|
|
332
|
-
const [hl1 = "", hl2 = ""] = (headline || "").split("\n");
|
|
333
|
-
const isMobile = useMediaQuery("(max-width: 767px)");
|
|
334
|
-
const showDots = items.length > 1;
|
|
335
|
-
const bgUrl = backgroundImageUrl != null ? backgroundImageUrl : "/assets/img/home/BonoBienvenida/Fondobg.png";
|
|
336
|
-
const sectionSx = buildSectionSx(bgUrl);
|
|
337
|
-
const carouselRef = useRef2(null);
|
|
338
|
-
const [navState, setNavState] = useState({ isStart: true, isEnd: false });
|
|
339
|
-
const [activeIndex, setActiveIndex] = useState(0);
|
|
340
|
-
if (isMobile) {
|
|
341
|
-
return /* @__PURE__ */ jsxs2(
|
|
342
|
-
Box2,
|
|
343
|
-
{
|
|
344
|
-
component: "section",
|
|
345
|
-
sx: {
|
|
346
|
-
...sectionSx,
|
|
347
|
-
textAlign: "center"
|
|
348
|
-
},
|
|
349
|
-
children: [
|
|
350
|
-
(hl1 || hl2) && /* @__PURE__ */ jsxs2(Box2, { sx: headlineBaseSx, children: [
|
|
351
|
-
hl1 && /* @__PURE__ */ jsx4(Typography2, { component: "span", sx: hlTopSx, children: hl1 }),
|
|
352
|
-
hl2 && /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
353
|
-
/* @__PURE__ */ jsx4("br", {}),
|
|
354
|
-
/* @__PURE__ */ jsx4(Typography2, { component: "span", sx: hlBottomSx, children: hl2 })
|
|
355
|
-
] })
|
|
356
|
-
] }),
|
|
357
|
-
/* @__PURE__ */ jsxs2(Box2, { children: [
|
|
358
|
-
/* @__PURE__ */ jsx4(
|
|
359
|
-
OraculoCarousel_default,
|
|
360
|
-
{
|
|
361
|
-
ref: carouselRef,
|
|
362
|
-
items,
|
|
363
|
-
perPage: 1,
|
|
364
|
-
gap: "12px",
|
|
365
|
-
breakpoints: {
|
|
366
|
-
480: {
|
|
367
|
-
perPage: 1,
|
|
368
|
-
gap: "8px",
|
|
369
|
-
padding: { left: "8px", right: "8px" }
|
|
370
|
-
},
|
|
371
|
-
768: {
|
|
372
|
-
perPage: 1,
|
|
373
|
-
gap: "12px",
|
|
374
|
-
padding: { left: "8px", right: "8px" }
|
|
375
|
-
}
|
|
376
|
-
},
|
|
377
|
-
options: {
|
|
378
|
-
autoWidth: false
|
|
379
|
-
},
|
|
380
|
-
renderItem: (it) => /* @__PURE__ */ jsx4(OraculoWelcomeBanner_default, { ...it, onButtonClick: items[0].onButtonClick }),
|
|
381
|
-
onMove: ({ index, isStart, isEnd }) => {
|
|
382
|
-
setNavState({ isStart, isEnd });
|
|
383
|
-
setActiveIndex(index);
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
),
|
|
387
|
-
showDots && /* @__PURE__ */ jsx4(
|
|
388
|
-
OraculoCarouselDots_default,
|
|
389
|
-
{
|
|
390
|
-
total: items.length,
|
|
391
|
-
active: activeIndex,
|
|
392
|
-
onSelect: (i) => {
|
|
393
|
-
var _a;
|
|
394
|
-
setActiveIndex(i);
|
|
395
|
-
(_a = carouselRef.current) == null ? void 0 : _a.go(i);
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
)
|
|
399
|
-
] })
|
|
400
|
-
]
|
|
401
|
-
}
|
|
402
|
-
);
|
|
403
|
-
}
|
|
404
|
-
return /* @__PURE__ */ jsx4(Box2, { component: "section", sx: sectionSx, children: /* @__PURE__ */ jsxs2(
|
|
405
|
-
Box2,
|
|
406
|
-
{
|
|
407
|
-
sx: {
|
|
408
|
-
maxWidth: 1200,
|
|
409
|
-
mx: 5,
|
|
410
|
-
px: 2,
|
|
411
|
-
display: "grid",
|
|
412
|
-
gridTemplateColumns: "200px auto",
|
|
413
|
-
alignItems: "center"
|
|
414
|
-
},
|
|
415
|
-
children: [
|
|
416
|
-
(hl1 || hl2) && /* @__PURE__ */ jsx4(
|
|
417
|
-
Box2,
|
|
418
|
-
{
|
|
419
|
-
sx: {
|
|
420
|
-
display: "flex",
|
|
421
|
-
alignItems: "center",
|
|
422
|
-
justifyContent: "flex-start",
|
|
423
|
-
minHeight: "100%"
|
|
424
|
-
},
|
|
425
|
-
children: /* @__PURE__ */ jsxs2(
|
|
426
|
-
Box2,
|
|
427
|
-
{
|
|
428
|
-
sx: {
|
|
429
|
-
...headlineBaseSx,
|
|
430
|
-
textAlign: "left",
|
|
431
|
-
mb: 0
|
|
432
|
-
},
|
|
433
|
-
children: [
|
|
434
|
-
hl1 && /* @__PURE__ */ jsx4(Typography2, { component: "span", sx: hlTopSx, children: hl1 }),
|
|
435
|
-
hl2 && /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
436
|
-
/* @__PURE__ */ jsx4("br", {}),
|
|
437
|
-
/* @__PURE__ */ jsx4(Typography2, { component: "span", sx: hlBottomSx, children: hl2 })
|
|
438
|
-
] })
|
|
439
|
-
]
|
|
440
|
-
}
|
|
441
|
-
)
|
|
442
|
-
}
|
|
443
|
-
),
|
|
444
|
-
/* @__PURE__ */ jsx4(
|
|
445
|
-
Box2,
|
|
446
|
-
{
|
|
447
|
-
sx: {
|
|
448
|
-
display: "flex",
|
|
449
|
-
justifyContent: "center",
|
|
450
|
-
alignItems: "center",
|
|
451
|
-
flexWrap: "nowrap",
|
|
452
|
-
gap: 4
|
|
453
|
-
},
|
|
454
|
-
children: items.map((it, idx) => /* @__PURE__ */ jsx4(
|
|
455
|
-
OraculoWelcomeBanner_default,
|
|
456
|
-
{
|
|
457
|
-
onButtonClick: it.onButtonClick,
|
|
458
|
-
...it
|
|
459
|
-
},
|
|
460
|
-
idx
|
|
461
|
-
))
|
|
462
|
-
}
|
|
463
|
-
)
|
|
464
|
-
]
|
|
465
|
-
}
|
|
466
|
-
) });
|
|
467
|
-
};
|
|
468
|
-
var OraculoSeccionBonoBienvenida_default = OraculoSeccionBonoBienvenida;
|
|
469
|
-
|
|
470
|
-
export {
|
|
471
|
-
OraculoCarouselDots_default,
|
|
472
|
-
OraculoCarousel_default,
|
|
473
|
-
OraculoWelcomeBanner_default,
|
|
474
|
-
OraculoSeccionBonoBienvenida_default
|
|
475
|
-
};
|
|
476
|
-
//# sourceMappingURL=chunk-PYHDJZX3.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/organisms/OraculoSeccionBonoBienvenida/OraculoSeccionBonoBienvenida.tsx","../src/molecules/OraculoCarousel/OraculoCarousel.tsx","../src/molecules/OraculoWelcomeBanner/OraculoWelcomeBanner.tsx","../src/atoms/OraculoCarouselDots/OraculoCarouselDots.tsx"],"sourcesContent":["import React, { useRef, useState } from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\r\n\r\nimport OraculoCarousel, {\r\n OraculoCarouselRef,\r\n} from \"../../molecules/OraculoCarousel/OraculoCarousel\";\r\nimport OraculoWelcomeBanner, {\r\n OraculoWelcomeBannerProps,\r\n} from \"../../molecules/OraculoWelcomeBanner/OraculoWelcomeBanner\";\r\nimport OraculoCarouselDots from \"../../atoms/OraculoCarouselDots/OraculoCarouselDots\";\r\nimport { OraculoSeccionBonoProps } from \"../../interfaces/oraculo/InterfaceBonos\";\r\n\r\nconst buildSectionSx = (bgUrl: string) => ({\r\n width: \"100vw\",\r\n position: \"relative\" as const,\r\n left: \"50%\",\r\n right: \"50%\",\r\n marginLeft: \"-50vw\",\r\n marginRight: \"-50vw\",\r\n py: 8,\r\n color: \"#fff\",\r\n backgroundImage: `\r\n linear-gradient(to bottom,#121212 0%, rgba(18,18,18,0) 10%),\r\n linear-gradient(to top, #121212 0%, rgba(18,18,18,0) 10%),\r\n linear-gradient(to left, #121212 0%, rgba(18,18,18,0) 10%),\r\n linear-gradient(to right, #121212 0%, rgba(18,18,18,0) 10%),\r\n url(\"${bgUrl}\")\r\n `,\r\n backgroundRepeat: \"no-repeat\",\r\n backgroundPosition: \"center\",\r\n backgroundSize: \"cover\",\r\n});\r\n\r\nconst headlineBaseSx = {\r\n textAlign: \"center\" as const,\r\n lineHeight: 1.1,\r\n mb: 1.5,\r\n};\r\n\r\nconst hlTopSx = {\r\n display: \"inline-block\",\r\n fontWeight: 600,\r\n fontSize: 24,\r\n};\r\n\r\nconst hlBottomSx = {\r\n display: \"inline-block\",\r\n fontSize: 24,\r\n lineHeight: 1.1,\r\n WebkitTextStroke: \"0.3px rgba(255, 255, 255, .5)\",\r\n textShadow: `\r\n 0 0 2px rgba(255, 255, 255, .95),\r\n 0 0 6px rgba(255, 255, 255, .6),\r\n 0 1px 0 rgba(137, 137, 137, .85)\r\n `,\r\n};\r\n\r\nconst OraculoSeccionBonoBienvenida: React.FC<OraculoSeccionBonoProps> = ({\r\n headline,\r\n items,\r\n backgroundImageUrl,\r\n}) => {\r\n const [hl1 = \"\", hl2 = \"\"] = (headline || \"\").split(\"\\n\");\r\n const isMobile = useMediaQuery(\"(max-width: 767px)\");\r\n const showDots = items.length > 1;\r\n\r\n const bgUrl =\r\n backgroundImageUrl ?? \"/assets/img/home/BonoBienvenida/Fondobg.png\";\r\n const sectionSx = buildSectionSx(bgUrl);\r\n\r\n const carouselRef = useRef<OraculoCarouselRef | null>(null);\r\n const [navState, setNavState] = useState({ isStart: true, isEnd: false });\r\n const [activeIndex, setActiveIndex] = useState(0);\r\n\r\n // --- MOBILE: Carrusel con dots ---\r\n if (isMobile) {\r\n return (\r\n <Box\r\n component=\"section\"\r\n sx={{\r\n ...sectionSx,\r\n textAlign: \"center\",\r\n }}\r\n >\r\n {(hl1 || hl2) && (\r\n <Box sx={headlineBaseSx}>\r\n {hl1 && (\r\n <Typography component=\"span\" sx={hlTopSx}>\r\n {hl1}\r\n </Typography>\r\n )}\r\n {hl2 && (\r\n <>\r\n <br />\r\n <Typography component=\"span\" sx={hlBottomSx}>\r\n {hl2}\r\n </Typography>\r\n </>\r\n )}\r\n </Box>\r\n )}\r\n\r\n <Box>\r\n <OraculoCarousel\r\n ref={carouselRef}\r\n items={items}\r\n perPage={1}\r\n gap=\"12px\"\r\n breakpoints={{\r\n 480: {\r\n perPage: 1,\r\n gap: \"8px\",\r\n padding: { left: \"8px\", right: \"8px\" },\r\n },\r\n 768: {\r\n perPage: 1,\r\n gap: \"12px\",\r\n padding: { left: \"8px\", right: \"8px\" },\r\n },\r\n }}\r\n options={{\r\n autoWidth: false,\r\n }}\r\n renderItem={(it) => <OraculoWelcomeBanner {...it} onButtonClick={items[0].onButtonClick} />}\r\n onMove={({ index, isStart, isEnd }) => {\r\n setNavState({ isStart, isEnd });\r\n setActiveIndex(index);\r\n }}\r\n />\r\n\r\n {showDots && (\r\n <OraculoCarouselDots\r\n total={items.length}\r\n active={activeIndex}\r\n onSelect={(i) => {\r\n setActiveIndex(i);\r\n carouselRef.current?.go(i);\r\n }}\r\n />\r\n )}\r\n </Box>\r\n </Box>\r\n );\r\n }\r\n\r\n // --- DESKTOP ---\r\n return (\r\n <Box component=\"section\" sx={sectionSx}>\r\n <Box\r\n sx={{\r\n maxWidth: 1200,\r\n mx: 5,\r\n px: 2,\r\n display: \"grid\",\r\n gridTemplateColumns: \"200px auto\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n {(hl1 || hl2) && (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-start\",\r\n minHeight: \"100%\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n ...headlineBaseSx,\r\n textAlign: \"left\",\r\n mb: 0,\r\n }}\r\n >\r\n {hl1 && (\r\n <Typography component=\"span\" sx={hlTopSx}>\r\n {hl1}\r\n </Typography>\r\n )}\r\n {hl2 && (\r\n <>\r\n <br />\r\n <Typography component=\"span\" sx={hlBottomSx}>\r\n {hl2}\r\n </Typography>\r\n </>\r\n )}\r\n </Box>\r\n </Box>\r\n )}\r\n\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n flexWrap: \"nowrap\",\r\n gap: 4,\r\n }}\r\n >\r\n {items.map((it, idx) => (\r\n <OraculoWelcomeBanner\r\n key={idx}\r\n onButtonClick={it.onButtonClick}\r\n {...it}\r\n />\r\n ))}\r\n </Box>\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default OraculoSeccionBonoBienvenida;\r\n","// src/molecules/OraculoCarousel/OraculoCarousel.tsx\r\nimport React, {\r\n forwardRef,\r\n useCallback,\r\n useImperativeHandle,\r\n useRef,\r\n ReactNode,\r\n} from \"react\";\r\nimport {\r\n Splide as SplideRaw,\r\n SplideSlide as SplideSlideRaw,\r\n} from \"@splidejs/react-splide\";\r\n\r\nexport interface OraculoCarouselOptions {\r\n type?: string;\r\n perPage?: number;\r\n gap?: string;\r\n pagination?: boolean;\r\n arrows?: boolean;\r\n drag?: boolean;\r\n focus?: string | \"center\";\r\n autoWidth?: boolean;\r\n trimSpace?: boolean;\r\n rewind?: boolean;\r\n padding?: { left?: string; right?: string };\r\n breakpoints?: Record<string | number, OraculoCarouselOptions>;\r\n [key: string]: any;\r\n}\r\n\r\nexport interface OraculoCarouselRef {\r\n next: () => void;\r\n prev: () => void;\r\n go: (index: number | string) => void;\r\n}\r\n\r\nexport interface OraculoCarouselProps<T = any> {\r\n items: T[];\r\n renderItem: (item: T, index: number) => ReactNode;\r\n perPage?: number;\r\n gap?: string;\r\n breakpoints?: Record<string | number, OraculoCarouselOptions>;\r\n options?: OraculoCarouselOptions;\r\n className?: string;\r\n onMove?: (info: {\r\n index: number;\r\n isStart: boolean;\r\n isEnd: boolean;\r\n total: number;\r\n }) => void;\r\n}\r\n\r\n// 👇 Aislamos tipos de Splide: internamente es any, hacia afuera tu API está tipada\r\nconst Splide: any = SplideRaw;\r\nconst SplideSlide: any = SplideSlideRaw;\r\n\r\nconst OraculoCarousel = forwardRef<OraculoCarouselRef, OraculoCarouselProps<any>>(\r\n (\r\n {\r\n items = [],\r\n renderItem,\r\n perPage = 1,\r\n gap = \"0px\",\r\n breakpoints,\r\n options = {},\r\n className = \"\",\r\n onMove,\r\n },\r\n ref\r\n ) => {\r\n const splideRef = useRef<any>(null);\r\n\r\n useImperativeHandle(ref, () => ({\r\n next: () => splideRef.current?.go(\">\"),\r\n prev: () => splideRef.current?.go(\"<\"),\r\n go: (index) => splideRef.current?.go(index),\r\n }));\r\n\r\n const handleMove = useCallback(\r\n (splide: any) => {\r\n const index = splide.index;\r\n const total = splide.length;\r\n const currentPerPage = splide.options.perPage || 1;\r\n const isStart = index === 0;\r\n const isEnd = index >= total - currentPerPage;\r\n\r\n onMove?.({ index, isStart, isEnd, total });\r\n },\r\n [onMove]\r\n );\r\n\r\n const handleMounted = useCallback(\r\n (splide: any) => {\r\n handleMove(splide);\r\n },\r\n [handleMove]\r\n );\r\n\r\n const mergedOptions: OraculoCarouselOptions = {\r\n type: \"slide\",\r\n trimSpace: false,\r\n drag: true,\r\n pagination: false,\r\n arrows: false,\r\n rewind: false,\r\n focus: \"start\",\r\n autoWidth: false,\r\n perPage,\r\n gap,\r\n breakpoints,\r\n ...options,\r\n };\r\n\r\n return (\r\n <div className={className} style={{ width: \"100%\" }}>\r\n <Splide\r\n ref={splideRef}\r\n options={mergedOptions}\r\n onMove={handleMove}\r\n onMounted={handleMounted}\r\n >\r\n {items.map((item, index) => (\r\n <SplideSlide key={(item as any).id ?? index}>\r\n {renderItem(item, index)}\r\n </SplideSlide>\r\n ))}\r\n </Splide>\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nexport default OraculoCarousel;\r\n","import React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport OraculoButton from \"../../atoms/OraculoButton/OraculoButton\";\r\n\r\nexport interface OraculoWelcomeBannerProps {\r\n title?: string;\r\n amount?: string; // ej: \"S/40\"\r\n subtitle?: string;\r\n buttonText?: string;\r\n onButtonClick?: () => void;\r\n backgroundImage?: string;\r\n alt?: string;\r\n className?: string;\r\n /** Tamaño en desktop: \"small\" (456x272) o \"large\" (618x346) */\r\n variant?: \"small\" | \"large\";\r\n}\r\n\r\nconst OraculoWelcomeBanner: React.FC<OraculoWelcomeBannerProps> = ({\r\n title,\r\n amount,\r\n subtitle,\r\n buttonText,\r\n onButtonClick,\r\n backgroundImage,\r\n alt,\r\n className = \"\",\r\n variant = \"small\",\r\n}) => {\r\n const symbol = amount ? amount.slice(0, 2) : \"\";\r\n const value = amount ? amount.slice(2) : \"\";\r\n const isLarge = variant === \"large\";\r\n\r\n return (\r\n <Box\r\n className={className}\r\n sx={{\r\n position: \"relative\",\r\n width: \"100%\",\r\n maxWidth: {\r\n xs: 328,\r\n lg: isLarge ? 618 : 456,\r\n },\r\n mx: \"auto\",\r\n }}\r\n >\r\n {backgroundImage && (\r\n <Box\r\n sx={{\r\n position: \"relative\",\r\n width: \"100%\",\r\n aspectRatio: {\r\n xs: \"328 / 188\",\r\n lg: isLarge ? \"618 / 346\" : \"456 / 272\",\r\n },\r\n borderRadius: \"14px\",\r\n overflow: \"hidden\",\r\n }}\r\n >\r\n <Box\r\n component=\"img\"\r\n src={backgroundImage}\r\n alt={alt ?? \"Fondo promocional\"}\r\n sx={{\r\n width: \"100%\",\r\n height: \"100%\",\r\n objectFit: \"cover\",\r\n objectPosition: {\r\n xs: \"50% 0%\",\r\n lg: \"45% 0%\",\r\n },\r\n display: \"block\",\r\n }}\r\n />\r\n </Box>\r\n )}\r\n\r\n {/* Capa de contenido */}\r\n <Box\r\n sx={{\r\n position: \"absolute\",\r\n inset: 0,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-end\",\r\n color: \"#e7f8ff\",\r\n textAlign: \"center\",\r\n pl: \"14%\",\r\n pr: { xs: \"14%\", lg: \"15%\" },\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n maxWidth: \"60%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n {/* Título superior */}\r\n {title && (\r\n <Typography\r\n sx={{\r\n fontSize: { xs: 12, lg: 20 },\r\n fontWeight: 400,\r\n color: \"#e7f8ff\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n )}\r\n\r\n {/* Monto */}\r\n {amount && (\r\n <Box\r\n component=\"p\"\r\n sx={{\r\n fontFamily: '\"secondary\", sans-serif',\r\n lineHeight: { xs: 0.9, lg: 0.87 },\r\n m: \"4px 0\",\r\n background:\r\n \"linear-gradient(175deg, #EDC421 -12.56%, #FFFABF 17.99%, #EDC421 49.74%)\",\r\n WebkitBackgroundClip: \"text\",\r\n WebkitTextFillColor: \"transparent\",\r\n WebkitTextStroke: \"0.5px #fff8c1\",\r\n filter:\r\n \"drop-shadow(0px 4px 0px #8D4406) drop-shadow(0px 4px 4px rgba(28, 28, 28, 0.4))\",\r\n display: \"flex\",\r\n alignItems: \"baseline\",\r\n justifyContent: \"center\",\r\n }}\r\n >\r\n <Box\r\n component=\"span\"\r\n sx={{ fontSize: { xs: 35, lg: 48 }, mr: 0.5 }}\r\n >\r\n {symbol}\r\n </Box>\r\n <Box\r\n component=\"span\"\r\n sx={{ fontSize: { xs: 52, lg: 77 } }}\r\n >\r\n {value}\r\n </Box>\r\n </Box>\r\n )}\r\n\r\n {/* Subtítulo */}\r\n {subtitle && (\r\n <Typography\r\n sx={{\r\n pb: \"20px\",\r\n fontSize: 14,\r\n fontWeight: 600,\r\n color: \"#e7f8ff\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n )}\r\n\r\n {/* Botón */}\r\n {buttonText && (\r\n <OraculoButton onClick={onButtonClick}>\r\n {buttonText}\r\n </OraculoButton>\r\n )}\r\n </Box>\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default OraculoWelcomeBanner;\r\n","import React from \"react\";\r\nimport \"./OraculoCarouselDots.css\";\r\n\r\nexport interface OraculoCarouselDotsProps {\r\n total: number;\r\n active: number;\r\n onSelect?: (index: number) => void;\r\n className?: string;\r\n}\r\n\r\nconst OraculoCarouselDots: React.FC<OraculoCarouselDotsProps> = ({\r\n total,\r\n active,\r\n onSelect,\r\n className = \"\",\r\n}) => {\r\n if (total <= 1) return null;\r\n\r\n const rootClass = [\"orc-dots\", className].filter(Boolean).join(\" \");\r\n\r\n return (\r\n <div className={rootClass} role=\"tablist\">\r\n {Array.from({ length: total }).map((_, i) => (\r\n <span key={i} className=\"orc-dots__cell\">\r\n <button\r\n type=\"button\"\r\n role=\"tab\"\r\n aria-selected={i === active}\r\n aria-label={`Ir al slide ${i + 1}`}\r\n className={\r\n \"orc-dots__dot\" +\r\n (i === active ? \" orc-dots__dot--active\" : \"\")\r\n }\r\n onClick={() => onSelect?.(i)}\r\n />\r\n </span>\r\n ))}\r\n </div>\r\n );\r\n};\r\n\r\nexport default OraculoCarouselDots;\r\n"],"mappings":"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","names":["useRef","Box","Typography","jsx","jsx","jsx","jsxs","useRef","Box","Typography"]}
|
package/dist/chunk-PZJSZNXJ.mjs
DELETED
package/dist/chunk-THUJNRMX.mjs
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
OraculoButton
|
|
3
|
-
} from "./chunk-IGAIIVJZ.mjs";
|
|
4
|
-
|
|
5
|
-
// src/organisms/OraculoSeccionClubOlimpo/OraculoSeccionClubOlimpo.tsx
|
|
6
|
-
import { useLayoutEffect, useRef } from "react";
|
|
7
|
-
|
|
8
|
-
// src/molecules/OraculoClubOlimpoVisual/OraculoClubOlimpoVisual.tsx
|
|
9
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
-
var OraculoClubOlimpoVisual = ({
|
|
11
|
-
text,
|
|
12
|
-
buttonLabel = "Conoce m\xE1s",
|
|
13
|
-
onClick,
|
|
14
|
-
imgAlt = "Club Olimpo",
|
|
15
|
-
imgSrcMobile,
|
|
16
|
-
imgSrcDesktopBg,
|
|
17
|
-
imgSrcDesktopLogo
|
|
18
|
-
}) => {
|
|
19
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
20
|
-
/* @__PURE__ */ jsx("div", { className: "orc-co-bgMobile", children: /* @__PURE__ */ jsx(
|
|
21
|
-
"img",
|
|
22
|
-
{
|
|
23
|
-
src: imgSrcMobile,
|
|
24
|
-
alt: imgAlt,
|
|
25
|
-
className: "orc-co-bgMobileImg"
|
|
26
|
-
}
|
|
27
|
-
) }),
|
|
28
|
-
/* @__PURE__ */ jsxs("div", { className: "orc-co-bgDesktop", children: [
|
|
29
|
-
imgSrcDesktopBg && /* @__PURE__ */ jsx("div", { className: "orc-co-fillHost", children: /* @__PURE__ */ jsx(
|
|
30
|
-
"img",
|
|
31
|
-
{
|
|
32
|
-
src: imgSrcDesktopBg,
|
|
33
|
-
alt: `${imgAlt} fondo`,
|
|
34
|
-
className: "orc-co-bgDesktopImg"
|
|
35
|
-
}
|
|
36
|
-
) }),
|
|
37
|
-
imgSrcDesktopLogo && /* @__PURE__ */ jsx("div", { className: "orc-co-logo", children: /* @__PURE__ */ jsx(
|
|
38
|
-
"img",
|
|
39
|
-
{
|
|
40
|
-
src: imgSrcDesktopLogo,
|
|
41
|
-
alt: `${imgAlt} logo`,
|
|
42
|
-
className: "orc-co-logoImg"
|
|
43
|
-
}
|
|
44
|
-
) }),
|
|
45
|
-
/* @__PURE__ */ jsxs("div", { className: "orc-co-desktopContent", children: [
|
|
46
|
-
/* @__PURE__ */ jsx("p", { className: "orc-co-captionDesktop", children: text }),
|
|
47
|
-
/* @__PURE__ */ jsx(OraculoButton, { onClick, variant: "primary", size: "md", children: buttonLabel })
|
|
48
|
-
] })
|
|
49
|
-
] }),
|
|
50
|
-
/* @__PURE__ */ jsxs("div", { className: "orc-co-bottom", children: [
|
|
51
|
-
/* @__PURE__ */ jsx("p", { className: "orc-co-caption", children: text }),
|
|
52
|
-
/* @__PURE__ */ jsx(OraculoButton, { onClick, variant: "primary", size: "md", children: buttonLabel })
|
|
53
|
-
] })
|
|
54
|
-
] });
|
|
55
|
-
};
|
|
56
|
-
var OraculoClubOlimpoVisual_default = OraculoClubOlimpoVisual;
|
|
57
|
-
|
|
58
|
-
// src/organisms/OraculoSeccionClubOlimpo/OraculoSeccionClubOlimpo.tsx
|
|
59
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
60
|
-
var OraculoSeccionClubOlimpo = ({
|
|
61
|
-
className = "",
|
|
62
|
-
fullBleed = true,
|
|
63
|
-
items,
|
|
64
|
-
selectedIndex = 0,
|
|
65
|
-
ariaLabel
|
|
66
|
-
}) => {
|
|
67
|
-
const rootRef = useRef(null);
|
|
68
|
-
const bottomRef = useRef(null);
|
|
69
|
-
if (!items) return null;
|
|
70
|
-
const safeIndex = Math.min(Math.max(selectedIndex, 0), 1);
|
|
71
|
-
const item = items;
|
|
72
|
-
useLayoutEffect(() => {
|
|
73
|
-
if (!rootRef.current || !bottomRef.current) return;
|
|
74
|
-
if (typeof ResizeObserver === "undefined") return;
|
|
75
|
-
const root = rootRef.current;
|
|
76
|
-
const bottom = bottomRef.current;
|
|
77
|
-
const update = () => {
|
|
78
|
-
root.style.setProperty(
|
|
79
|
-
"--orc-co-bottomH",
|
|
80
|
-
`${bottom.offsetHeight + 16}px`
|
|
81
|
-
);
|
|
82
|
-
};
|
|
83
|
-
const ro = new ResizeObserver(update);
|
|
84
|
-
ro.observe(bottom);
|
|
85
|
-
update();
|
|
86
|
-
return () => ro.disconnect();
|
|
87
|
-
}, []);
|
|
88
|
-
const rootClass = [
|
|
89
|
-
"orc-co-wrap",
|
|
90
|
-
fullBleed ? "orc-co-fullBleed" : "",
|
|
91
|
-
className
|
|
92
|
-
].filter(Boolean).join(" ");
|
|
93
|
-
return /* @__PURE__ */ jsx2(
|
|
94
|
-
"section",
|
|
95
|
-
{
|
|
96
|
-
ref: rootRef,
|
|
97
|
-
className: rootClass,
|
|
98
|
-
"aria-label": ariaLabel || item.imgAlt || "Club Olimpo",
|
|
99
|
-
children: /* @__PURE__ */ jsx2("div", { ref: bottomRef, children: /* @__PURE__ */ jsx2(
|
|
100
|
-
OraculoClubOlimpoVisual_default,
|
|
101
|
-
{
|
|
102
|
-
text: item.text,
|
|
103
|
-
onClick: item.onClick,
|
|
104
|
-
imgAlt: item.imgAlt,
|
|
105
|
-
imgSrcMobile: item.images.mobile,
|
|
106
|
-
imgSrcDesktopBg: item.images.desktopBg,
|
|
107
|
-
imgSrcDesktopLogo: item.images.desktopLogo
|
|
108
|
-
}
|
|
109
|
-
) })
|
|
110
|
-
}
|
|
111
|
-
);
|
|
112
|
-
};
|
|
113
|
-
var OraculoSeccionClubOlimpo_default = OraculoSeccionClubOlimpo;
|
|
114
|
-
|
|
115
|
-
export {
|
|
116
|
-
OraculoClubOlimpoVisual_default,
|
|
117
|
-
OraculoSeccionClubOlimpo_default
|
|
118
|
-
};
|
|
119
|
-
//# sourceMappingURL=chunk-THUJNRMX.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/organisms/OraculoSeccionClubOlimpo/OraculoSeccionClubOlimpo.tsx","../src/molecules/OraculoClubOlimpoVisual/OraculoClubOlimpoVisual.tsx"],"sourcesContent":["import React, { useLayoutEffect, useRef } from \"react\";\r\nimport \"./OraculoSeccionClubOlimpo.css\";\r\nimport OraculoClubOlimpoVisual from \"../../molecules/OraculoClubOlimpoVisual/OraculoClubOlimpoVisual\";\r\nimport { OraculoSeccionClubOlimpoItem } from \"../../interfaces/oraculo/InterfaceClubOlimpo\";\r\n\r\nexport interface OraculoSeccionClubOlimpoItems {\r\n className?: string;\r\n /** Si true, hace el efecto full-bleed (100vw centrado) */\r\n fullBleed?: boolean;\r\n /** Lista de variantes (puedes pasar 1 o varias). */\r\n items: OraculoSeccionClubOlimpoItem;\r\n /** Índice del item a mostrar si pasas varios. */\r\n selectedIndex?: number;\r\n /** aria-label de la sección (fallback al imgAlt del item seleccionado). */\r\n ariaLabel?: string;\r\n}\r\n\r\nconst OraculoSeccionClubOlimpo: React.FC<OraculoSeccionClubOlimpoItems> = ({\r\n className = \"\",\r\n fullBleed = true,\r\n items,\r\n selectedIndex = 0,\r\n ariaLabel,\r\n}) => {\r\n const rootRef = useRef<HTMLDivElement | null>(null);\r\n const bottomRef = useRef<HTMLDivElement | null>(null);\r\n\r\n if (!items ) return null;\r\n\r\n const safeIndex = Math.min(Math.max(selectedIndex, 0), 1);\r\n const item = items;\r\n\r\n useLayoutEffect(() => {\r\n if (!rootRef.current || !bottomRef.current) return;\r\n if (typeof ResizeObserver === \"undefined\") return;\r\n\r\n const root = rootRef.current;\r\n const bottom = bottomRef.current;\r\n\r\n const update = () => {\r\n root.style.setProperty(\r\n \"--orc-co-bottomH\",\r\n `${bottom.offsetHeight + 16}px`\r\n );\r\n };\r\n\r\n const ro = new ResizeObserver(update);\r\n ro.observe(bottom);\r\n update();\r\n\r\n return () => ro.disconnect();\r\n }, []);\r\n\r\n const rootClass = [\r\n \"orc-co-wrap\",\r\n fullBleed ? \"orc-co-fullBleed\" : \"\",\r\n className,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n return (\r\n <section\r\n ref={rootRef}\r\n className={rootClass}\r\n aria-label={ariaLabel || item.imgAlt || \"Club Olimpo\"}\r\n >\r\n <div ref={bottomRef}>\r\n <OraculoClubOlimpoVisual\r\n text={item.text}\r\n onClick={item.onClick}\r\n imgAlt={item.imgAlt}\r\n imgSrcMobile={item.images.mobile}\r\n imgSrcDesktopBg={item.images.desktopBg}\r\n imgSrcDesktopLogo={item.images.desktopLogo}\r\n />\r\n </div>\r\n </section>\r\n );\r\n};\r\n\r\nexport default OraculoSeccionClubOlimpo;\r\n","import React from \"react\";\r\nimport \"../../organisms/OraculoSeccionClubOlimpo/OraculoSeccionClubOlimpo.css\";\r\nimport OraculoButton from \"../../atoms/OraculoButton/OraculoButton\";\r\n\r\nexport interface OraculoClubOlimpoVisualProps {\r\n text: string;\r\n buttonLabel?: string;\r\n onClick?: () => void;\r\n\r\n // MOBILE\r\n imgAlt?: string;\r\n imgSrcMobile: string;\r\n\r\n // DESKTOP\r\n imgSrcDesktopBg?: string;\r\n imgSrcDesktopLogo?: string;\r\n}\r\n\r\nconst OraculoClubOlimpoVisual: React.FC<OraculoClubOlimpoVisualProps> = ({\r\n text,\r\n buttonLabel = \"Conoce más\",\r\n onClick,\r\n imgAlt = \"Club Olimpo\",\r\n imgSrcMobile,\r\n imgSrcDesktopBg,\r\n imgSrcDesktopLogo,\r\n}) => {\r\n return (\r\n <>\r\n {/* MOBILE */}\r\n <div className=\"orc-co-bgMobile\">\r\n <img\r\n src={imgSrcMobile}\r\n alt={imgAlt}\r\n className=\"orc-co-bgMobileImg\"\r\n />\r\n </div>\r\n\r\n {/* DESKTOP */}\r\n <div className=\"orc-co-bgDesktop\">\r\n {imgSrcDesktopBg && (\r\n <div className=\"orc-co-fillHost\">\r\n <img\r\n src={imgSrcDesktopBg}\r\n alt={`${imgAlt} fondo`}\r\n className=\"orc-co-bgDesktopImg\"\r\n />\r\n </div>\r\n )}\r\n\r\n {imgSrcDesktopLogo && (\r\n <div className=\"orc-co-logo\">\r\n <img\r\n src={imgSrcDesktopLogo}\r\n alt={`${imgAlt} logo`}\r\n className=\"orc-co-logoImg\"\r\n />\r\n </div>\r\n )}\r\n\r\n <div className=\"orc-co-desktopContent\">\r\n <p className=\"orc-co-captionDesktop\">{text}</p>\r\n <OraculoButton onClick={onClick} variant=\"primary\" size=\"md\">\r\n {buttonLabel}\r\n </OraculoButton>\r\n </div>\r\n </div>\r\n\r\n {/* MOBILE: barra inferior */}\r\n <div className=\"orc-co-bottom\">\r\n <p className=\"orc-co-caption\">{text}</p>\r\n <OraculoButton onClick={onClick} variant=\"primary\" size=\"md\">\r\n {buttonLabel}\r\n </OraculoButton>\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport default OraculoClubOlimpoVisual;\r\n"],"mappings":";;;;;AAAA,SAAgB,iBAAiB,cAAc;;;AC4B3C,mBAGI,KA6BA,YAhCJ;AAVJ,IAAM,0BAAkE,CAAC;AAAA,EACvE;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,SACE,iCAEE;AAAA,wBAAC,SAAI,WAAU,mBACb;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,KAAK;AAAA,QACL,WAAU;AAAA;AAAA,IACZ,GACF;AAAA,IAGA,qBAAC,SAAI,WAAU,oBACZ;AAAA,yBACC,oBAAC,SAAI,WAAU,mBACb;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,KAAK,GAAG,MAAM;AAAA,UACd,WAAU;AAAA;AAAA,MACZ,GACF;AAAA,MAGD,qBACC,oBAAC,SAAI,WAAU,eACb;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,KAAK,GAAG,MAAM;AAAA,UACd,WAAU;AAAA;AAAA,MACZ,GACF;AAAA,MAGF,qBAAC,SAAI,WAAU,yBACb;AAAA,4BAAC,OAAE,WAAU,yBAAyB,gBAAK;AAAA,QAC3C,oBAAC,iBAAc,SAAkB,SAAQ,WAAU,MAAK,MACrD,uBACH;AAAA,SACF;AAAA,OACF;AAAA,IAGA,qBAAC,SAAI,WAAU,iBACb;AAAA,0BAAC,OAAE,WAAU,kBAAkB,gBAAK;AAAA,MACpC,oBAAC,iBAAc,SAAkB,SAAQ,WAAU,MAAK,MACrD,uBACH;AAAA,OACF;AAAA,KACF;AAEJ;AAEA,IAAO,kCAAQ;;;ADXP,gBAAAA,YAAA;AAnDR,IAAM,2BAAoE,CAAC;AAAA,EACzE,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ;AAAA,EACA,gBAAgB;AAAA,EAChB;AACF,MAAM;AACJ,QAAM,UAAU,OAA8B,IAAI;AAClD,QAAM,YAAY,OAA8B,IAAI;AAEpD,MAAI,CAAC,MAAQ,QAAO;AAEpB,QAAM,YAAY,KAAK,IAAI,KAAK,IAAI,eAAe,CAAC,GAAG,CAAC;AACxD,QAAM,OAAO;AAEb,kBAAgB,MAAM;AACpB,QAAI,CAAC,QAAQ,WAAW,CAAC,UAAU,QAAS;AAC5C,QAAI,OAAO,mBAAmB,YAAa;AAE3C,UAAM,OAAO,QAAQ;AACrB,UAAM,SAAS,UAAU;AAEzB,UAAM,SAAS,MAAM;AACnB,WAAK,MAAM;AAAA,QACT;AAAA,QACA,GAAG,OAAO,eAAe,EAAE;AAAA,MAC7B;AAAA,IACF;AAEA,UAAM,KAAK,IAAI,eAAe,MAAM;AACpC,OAAG,QAAQ,MAAM;AACjB,WAAO;AAEP,WAAO,MAAM,GAAG,WAAW;AAAA,EAC7B,GAAG,CAAC,CAAC;AAEL,QAAM,YAAY;AAAA,IAChB;AAAA,IACA,YAAY,qBAAqB;AAAA,IACjC;AAAA,EACF,EACG,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,WAAW;AAAA,MACX,cAAY,aAAa,KAAK,UAAU;AAAA,MAExC,0BAAAA,KAAC,SAAI,KAAK,WACR,0BAAAA;AAAA,QAAC;AAAA;AAAA,UACC,MAAM,KAAK;AAAA,UACX,SAAS,KAAK;AAAA,UACd,QAAQ,KAAK;AAAA,UACb,cAAc,KAAK,OAAO;AAAA,UAC1B,iBAAiB,KAAK,OAAO;AAAA,UAC7B,mBAAmB,KAAK,OAAO;AAAA;AAAA,MACjC,GACF;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,mCAAQ;","names":["jsx"]}
|