oraculo-ui 0.1.7 → 0.1.9
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/OraculoSeccionBonoBienvenida-EDS6UQVL.mjs +9 -0
- package/dist/OraculoSeccionBonoBienvenida-MGMLDCRG.css +220 -0
- package/dist/OraculoSeccionCasino-GXRRODCJ.mjs +11 -0
- package/dist/OraculoSeccionCasino-Q2VV44XD.css +216 -0
- package/dist/OraculoSeccionCasinoEnVivo-ISYMJSUN.mjs +8 -0
- package/dist/OraculoSeccionCasinoEnVivo-MMXETHJA.css +156 -0
- package/dist/OraculoSeccionClubOlimpo-APZYPQ5V.css +116 -0
- package/dist/OraculoSeccionClubOlimpo-MYTRV5IN.css +273 -0
- package/dist/OraculoSeccionClubOlimpo-TV3LABJ5.mjs +9 -0
- package/dist/OraculoSeccionClubOlimpo-XGB4KUKX.mjs +7 -0
- package/dist/OraculoSeccionDestacados-QU6BT2NM.mjs +18 -0
- package/dist/OraculoSeccionDestacados-WQX2GQNY.css +397 -0
- package/dist/OraculoSeccionTopJuegos-3AR4L7SZ.css +59 -0
- package/dist/OraculoSeccionTopJuegos-FZUYQEMC.mjs +8 -0
- package/dist/OraculoSeccionVirtuales-MGW5X23B.mjs +11 -0
- package/dist/OraculoSeccionVirtuales-OP2CSKUP.css +216 -0
- package/dist/chunk-2D7ZJMJV.mjs +118 -0
- package/dist/chunk-5GTDKE3I.mjs +30 -0
- package/dist/chunk-AFPCFXMZ.mjs +174 -0
- package/dist/chunk-AIT7B2J3.mjs +192 -0
- package/dist/chunk-DKP3HTEP.mjs +183 -0
- package/dist/chunk-IJQLK4NO.mjs +73 -0
- package/dist/chunk-PVY5Z3JS.mjs +249 -0
- package/dist/chunk-PXIOKT7L.mjs +39177 -0
- package/dist/chunk-PZJSZNXJ.mjs +6 -0
- package/dist/chunk-VHW77D2M.mjs +91 -0
- package/dist/chunk-VIPLL6XT.mjs +43 -0
- package/dist/chunk-WPLILXPP.mjs +389 -0
- package/dist/chunk-YY5T37WR.mjs +175 -0
- package/dist/index.d.mts +45 -2
- package/dist/index.d.ts +45 -2
- package/dist/index.js +39897 -1277
- package/dist/index.mjs +41 -1812
- package/package.json +1 -1
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import {
|
|
2
|
+
OraculoButton
|
|
3
|
+
} from "./chunk-IJQLK4NO.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
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// src/atoms/OraculoSectionTitle/OraculoSectionTitle.tsx
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
function OraculoSectionTitle({
|
|
4
|
+
title,
|
|
5
|
+
iconUrl,
|
|
6
|
+
size = "md",
|
|
7
|
+
className = ""
|
|
8
|
+
}) {
|
|
9
|
+
const sizeClass = size ? `orc-section-title--${size}` : "";
|
|
10
|
+
const wrapperClass = [
|
|
11
|
+
"orc-section-title",
|
|
12
|
+
sizeClass,
|
|
13
|
+
className
|
|
14
|
+
].filter(Boolean).join(" ");
|
|
15
|
+
return /* @__PURE__ */ jsxs("div", { className: wrapperClass, children: [
|
|
16
|
+
iconUrl && /* @__PURE__ */ jsx(
|
|
17
|
+
"img",
|
|
18
|
+
{
|
|
19
|
+
src: iconUrl,
|
|
20
|
+
alt: "",
|
|
21
|
+
className: "orc-section-title__icon"
|
|
22
|
+
}
|
|
23
|
+
),
|
|
24
|
+
/* @__PURE__ */ jsx("h2", { className: "orc-section-title__title", children: title })
|
|
25
|
+
] });
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export {
|
|
29
|
+
OraculoSectionTitle
|
|
30
|
+
};
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ChevronLeftRounded_default,
|
|
3
|
+
ChevronRightRounded_default,
|
|
4
|
+
OraculoGameSlide_default
|
|
5
|
+
} from "./chunk-AIT7B2J3.mjs";
|
|
6
|
+
import {
|
|
7
|
+
OraculoSectionTitle
|
|
8
|
+
} from "./chunk-5GTDKE3I.mjs";
|
|
9
|
+
import {
|
|
10
|
+
OraculoCarousel_default
|
|
11
|
+
} from "./chunk-VHW77D2M.mjs";
|
|
12
|
+
import {
|
|
13
|
+
OraculoButton
|
|
14
|
+
} from "./chunk-IJQLK4NO.mjs";
|
|
15
|
+
|
|
16
|
+
// src/organisms/OraculoSeccionCasino/OraculoSeccionCasino.tsx
|
|
17
|
+
import { useRef, useState } from "react";
|
|
18
|
+
import Stack from "@mui/material/Stack";
|
|
19
|
+
import Box from "@mui/material/Box";
|
|
20
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
21
|
+
var buildCasinoSlides = (games, mosaicFirst = true, gridSize = 4) => {
|
|
22
|
+
const baseItems = games.map((g, idx) => {
|
|
23
|
+
var _a, _b, _c;
|
|
24
|
+
return {
|
|
25
|
+
id: (_b = (_a = g.orden) != null ? _a : g.machine) != null ? _b : idx,
|
|
26
|
+
imageUrl: (_c = g.logo) != null ? _c : ""
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
if (!baseItems.length) return [];
|
|
30
|
+
const slides = [];
|
|
31
|
+
let start = 0;
|
|
32
|
+
if (mosaicFirst) {
|
|
33
|
+
const take = Math.min(baseItems.length, 5);
|
|
34
|
+
slides.push({
|
|
35
|
+
id: "mosaic-0",
|
|
36
|
+
kind: "mosaic",
|
|
37
|
+
items: baseItems.slice(0, take)
|
|
38
|
+
});
|
|
39
|
+
start = take;
|
|
40
|
+
}
|
|
41
|
+
while (start < baseItems.length) {
|
|
42
|
+
const end = Math.min(start + gridSize, baseItems.length);
|
|
43
|
+
slides.push({
|
|
44
|
+
id: `grid-${start}`,
|
|
45
|
+
kind: "grid",
|
|
46
|
+
items: baseItems.slice(start, end)
|
|
47
|
+
});
|
|
48
|
+
start = end;
|
|
49
|
+
}
|
|
50
|
+
return slides;
|
|
51
|
+
};
|
|
52
|
+
var OraculoSeccionCasino = ({
|
|
53
|
+
items,
|
|
54
|
+
title = "Casino",
|
|
55
|
+
iconUrl = "/assets/img/home/Casino/diamante.svg",
|
|
56
|
+
onItemClick,
|
|
57
|
+
onViewMore,
|
|
58
|
+
mosaicFirst = true,
|
|
59
|
+
gridSize = 4
|
|
60
|
+
}) => {
|
|
61
|
+
const carouselRef = useRef(null);
|
|
62
|
+
const [navState, setNavState] = useState({ isStart: true, isEnd: false });
|
|
63
|
+
const slides = buildCasinoSlides(items, mosaicFirst, gridSize);
|
|
64
|
+
const handlePrev = () => {
|
|
65
|
+
var _a;
|
|
66
|
+
(_a = carouselRef.current) == null ? void 0 : _a.prev();
|
|
67
|
+
};
|
|
68
|
+
const handleNext = () => {
|
|
69
|
+
var _a;
|
|
70
|
+
(_a = carouselRef.current) == null ? void 0 : _a.next();
|
|
71
|
+
};
|
|
72
|
+
const handleViewMore = () => {
|
|
73
|
+
onViewMore == null ? void 0 : onViewMore();
|
|
74
|
+
};
|
|
75
|
+
return /* @__PURE__ */ jsx("section", { children: /* @__PURE__ */ jsxs(Stack, { direction: "column", spacing: 2, useFlexGap: true, children: [
|
|
76
|
+
/* @__PURE__ */ jsxs(
|
|
77
|
+
Box,
|
|
78
|
+
{
|
|
79
|
+
sx: {
|
|
80
|
+
display: "grid",
|
|
81
|
+
gridTemplateColumns: "1fr auto auto",
|
|
82
|
+
alignItems: "center",
|
|
83
|
+
columnGap: 1.5,
|
|
84
|
+
rowGap: 1
|
|
85
|
+
},
|
|
86
|
+
children: [
|
|
87
|
+
/* @__PURE__ */ jsx(
|
|
88
|
+
OraculoSectionTitle,
|
|
89
|
+
{
|
|
90
|
+
title,
|
|
91
|
+
iconUrl,
|
|
92
|
+
size: "md"
|
|
93
|
+
}
|
|
94
|
+
),
|
|
95
|
+
/* @__PURE__ */ jsxs(
|
|
96
|
+
Box,
|
|
97
|
+
{
|
|
98
|
+
sx: {
|
|
99
|
+
display: "flex",
|
|
100
|
+
gap: 1,
|
|
101
|
+
justifyContent: "flex-end"
|
|
102
|
+
},
|
|
103
|
+
children: [
|
|
104
|
+
/* @__PURE__ */ jsx(
|
|
105
|
+
OraculoButton,
|
|
106
|
+
{
|
|
107
|
+
ariaLabel: "Anterior",
|
|
108
|
+
variant: "secondary",
|
|
109
|
+
iconOnly: true,
|
|
110
|
+
leftIcon: /* @__PURE__ */ jsx(ChevronLeftRounded_default, {}),
|
|
111
|
+
onClick: handlePrev,
|
|
112
|
+
disabled: navState.isStart
|
|
113
|
+
}
|
|
114
|
+
),
|
|
115
|
+
/* @__PURE__ */ jsx(
|
|
116
|
+
OraculoButton,
|
|
117
|
+
{
|
|
118
|
+
ariaLabel: "Siguiente",
|
|
119
|
+
variant: "secondary",
|
|
120
|
+
iconOnly: true,
|
|
121
|
+
rightIcon: /* @__PURE__ */ jsx(ChevronRightRounded_default, {}),
|
|
122
|
+
onClick: handleNext,
|
|
123
|
+
disabled: navState.isEnd
|
|
124
|
+
}
|
|
125
|
+
)
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
),
|
|
129
|
+
/* @__PURE__ */ jsx(Box, { sx: { justifySelf: "end" }, children: /* @__PURE__ */ jsx(OraculoButton, { variant: "secondary", onClick: handleViewMore, children: "Ver m\xE1s" }) })
|
|
130
|
+
]
|
|
131
|
+
}
|
|
132
|
+
),
|
|
133
|
+
/* @__PURE__ */ jsx(
|
|
134
|
+
OraculoCarousel_default,
|
|
135
|
+
{
|
|
136
|
+
ref: carouselRef,
|
|
137
|
+
items: slides,
|
|
138
|
+
perPage: 1,
|
|
139
|
+
gap: "0px",
|
|
140
|
+
options: {
|
|
141
|
+
autoWidth: true,
|
|
142
|
+
gap: "12px",
|
|
143
|
+
trimSpace: false,
|
|
144
|
+
pagination: false,
|
|
145
|
+
arrows: false,
|
|
146
|
+
drag: true,
|
|
147
|
+
focus: "start"
|
|
148
|
+
},
|
|
149
|
+
renderItem: (slide) => /* @__PURE__ */ jsx("div", { style: { alignSelf: "start" }, children: /* @__PURE__ */ jsx(
|
|
150
|
+
OraculoGameSlide_default,
|
|
151
|
+
{
|
|
152
|
+
items: slide.items,
|
|
153
|
+
layout: slide.kind === "mosaic" ? "mosaic" : "grid",
|
|
154
|
+
onClick: (itm) => {
|
|
155
|
+
const game = items.find(
|
|
156
|
+
(g, idx) => {
|
|
157
|
+
var _a;
|
|
158
|
+
return ((_a = g.orden) != null ? _a : idx) === itm.id;
|
|
159
|
+
}
|
|
160
|
+
);
|
|
161
|
+
if (game) onItemClick == null ? void 0 : onItemClick(game);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
) }),
|
|
165
|
+
onMove: ({ isStart, isEnd }) => setNavState({ isStart, isEnd })
|
|
166
|
+
}
|
|
167
|
+
)
|
|
168
|
+
] }) });
|
|
169
|
+
};
|
|
170
|
+
var OraculoSeccionCasino_default = OraculoSeccionCasino;
|
|
171
|
+
|
|
172
|
+
export {
|
|
173
|
+
OraculoSeccionCasino_default
|
|
174
|
+
};
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
// src/molecules/OraculoGameCard/OraculoGameCard.tsx
|
|
2
|
+
import Box from "@mui/material/Box";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
var OraculoGameCard = ({
|
|
5
|
+
imageUrl,
|
|
6
|
+
onClick,
|
|
7
|
+
size = "sm"
|
|
8
|
+
}) => {
|
|
9
|
+
const dim = size === "lg" ? { w: 280, h: 352 } : { w: 152, h: 168 };
|
|
10
|
+
return /* @__PURE__ */ jsx(
|
|
11
|
+
Box,
|
|
12
|
+
{
|
|
13
|
+
onClick,
|
|
14
|
+
role: "button",
|
|
15
|
+
sx: {
|
|
16
|
+
position: "relative",
|
|
17
|
+
width: `${dim.w}px`,
|
|
18
|
+
height: `${dim.h}px`,
|
|
19
|
+
borderRadius: "12px",
|
|
20
|
+
overflow: "hidden",
|
|
21
|
+
boxSizing: "border-box",
|
|
22
|
+
transition: "transform .15s ease, box-shadow .15s ease",
|
|
23
|
+
"&:hover": {
|
|
24
|
+
transform: "translateY(-2px)",
|
|
25
|
+
boxShadow: 8,
|
|
26
|
+
cursor: "pointer"
|
|
27
|
+
},
|
|
28
|
+
opacity: 1
|
|
29
|
+
},
|
|
30
|
+
children: /* @__PURE__ */ jsx(
|
|
31
|
+
"img",
|
|
32
|
+
{
|
|
33
|
+
src: imageUrl,
|
|
34
|
+
alt: "Juego de casino",
|
|
35
|
+
loading: "lazy",
|
|
36
|
+
style: {
|
|
37
|
+
width: "100%",
|
|
38
|
+
height: "100%",
|
|
39
|
+
objectFit: "cover",
|
|
40
|
+
display: "block",
|
|
41
|
+
borderRadius: "inherit"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
};
|
|
48
|
+
var OraculoGameCard_default = OraculoGameCard;
|
|
49
|
+
|
|
50
|
+
// src/molecules/OraculoGameSlide/OraculoGameSlide.tsx
|
|
51
|
+
import Box2 from "@mui/material/Box";
|
|
52
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
53
|
+
var GAP = 12;
|
|
54
|
+
var OraculoGameSlide = ({
|
|
55
|
+
items,
|
|
56
|
+
layout = "grid",
|
|
57
|
+
onClick
|
|
58
|
+
}) => {
|
|
59
|
+
var _a;
|
|
60
|
+
if (layout === "mosaic") {
|
|
61
|
+
const big = items[0];
|
|
62
|
+
const smalls = items.slice(1, 5);
|
|
63
|
+
return /* @__PURE__ */ jsxs(
|
|
64
|
+
Box2,
|
|
65
|
+
{
|
|
66
|
+
sx: {
|
|
67
|
+
display: "grid",
|
|
68
|
+
gridTemplateRows: {
|
|
69
|
+
xs: `repeat(2, 112px)`,
|
|
70
|
+
md: `repeat(2, 168px)`
|
|
71
|
+
},
|
|
72
|
+
gridTemplateColumns: {
|
|
73
|
+
xs: `184px`,
|
|
74
|
+
md: `280px`
|
|
75
|
+
},
|
|
76
|
+
gridAutoFlow: "column",
|
|
77
|
+
gridAutoColumns: {
|
|
78
|
+
xs: `104px`,
|
|
79
|
+
md: `152px`
|
|
80
|
+
},
|
|
81
|
+
columnGap: `${GAP}px`,
|
|
82
|
+
rowGap: `${GAP}px`,
|
|
83
|
+
alignItems: "stretch",
|
|
84
|
+
justifyItems: "stretch"
|
|
85
|
+
},
|
|
86
|
+
children: [
|
|
87
|
+
big && /* @__PURE__ */ jsx2(
|
|
88
|
+
Box2,
|
|
89
|
+
{
|
|
90
|
+
sx: {
|
|
91
|
+
width: { xs: 184, md: 280 },
|
|
92
|
+
height: { xs: 234, md: 352 },
|
|
93
|
+
gridRow: "1 / span 2",
|
|
94
|
+
overflow: "hidden",
|
|
95
|
+
borderRadius: 2,
|
|
96
|
+
"& > *": { width: "100%", height: "100%" }
|
|
97
|
+
},
|
|
98
|
+
children: /* @__PURE__ */ jsx2(
|
|
99
|
+
OraculoGameCard_default,
|
|
100
|
+
{
|
|
101
|
+
imageUrl: `https://olimpo.bet${(_a = big.imageUrl) != null ? _a : ""}`,
|
|
102
|
+
size: "lg",
|
|
103
|
+
onClick: () => onClick == null ? void 0 : onClick(big, 0)
|
|
104
|
+
}
|
|
105
|
+
)
|
|
106
|
+
}
|
|
107
|
+
),
|
|
108
|
+
smalls.map((it, index) => {
|
|
109
|
+
var _a2;
|
|
110
|
+
return /* @__PURE__ */ jsx2(
|
|
111
|
+
Box2,
|
|
112
|
+
{
|
|
113
|
+
sx: {
|
|
114
|
+
width: { xs: 104, md: 152 },
|
|
115
|
+
height: { xs: 112, md: 168 },
|
|
116
|
+
overflow: "hidden",
|
|
117
|
+
borderRadius: 2,
|
|
118
|
+
"& > *": { width: "100%", height: "100%" }
|
|
119
|
+
},
|
|
120
|
+
children: /* @__PURE__ */ jsx2(
|
|
121
|
+
OraculoGameCard_default,
|
|
122
|
+
{
|
|
123
|
+
imageUrl: `https://olimpo.bet${(_a2 = it.imageUrl) != null ? _a2 : ""}`,
|
|
124
|
+
size: "sm",
|
|
125
|
+
onClick: () => onClick == null ? void 0 : onClick(it, index + 1)
|
|
126
|
+
}
|
|
127
|
+
)
|
|
128
|
+
},
|
|
129
|
+
it.id
|
|
130
|
+
);
|
|
131
|
+
})
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
return /* @__PURE__ */ jsx2(
|
|
137
|
+
Box2,
|
|
138
|
+
{
|
|
139
|
+
sx: {
|
|
140
|
+
display: "grid",
|
|
141
|
+
gridTemplateColumns: {
|
|
142
|
+
xs: `repeat(2, 104px)`,
|
|
143
|
+
md: `repeat(2, 152px)`
|
|
144
|
+
},
|
|
145
|
+
gridTemplateRows: {
|
|
146
|
+
xs: `repeat(2, 112px)`,
|
|
147
|
+
md: `repeat(2, 168px)`
|
|
148
|
+
},
|
|
149
|
+
gap: `${GAP}px`,
|
|
150
|
+
"& > *": {
|
|
151
|
+
overflow: "hidden",
|
|
152
|
+
borderRadius: 2,
|
|
153
|
+
"& > *": { width: "100%", height: "100%" }
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
children: items.map((it, index) => {
|
|
157
|
+
var _a2, _b;
|
|
158
|
+
return /* @__PURE__ */ jsx2(Box2, { children: /* @__PURE__ */ jsx2(
|
|
159
|
+
OraculoGameCard_default,
|
|
160
|
+
{
|
|
161
|
+
imageUrl: `https://olimpo.bet${(_b = it.imageUrl) != null ? _b : ""}`,
|
|
162
|
+
size: "sm",
|
|
163
|
+
onClick: () => onClick == null ? void 0 : onClick(it, index)
|
|
164
|
+
}
|
|
165
|
+
) }, (_a2 = it.id) != null ? _a2 : index);
|
|
166
|
+
})
|
|
167
|
+
}
|
|
168
|
+
);
|
|
169
|
+
};
|
|
170
|
+
var OraculoGameSlide_default = OraculoGameSlide;
|
|
171
|
+
|
|
172
|
+
// ../node_modules/@mui/icons-material/esm/utils/createSvgIcon.js
|
|
173
|
+
import { createSvgIcon } from "@mui/material/utils";
|
|
174
|
+
|
|
175
|
+
// ../node_modules/@mui/icons-material/esm/ChevronLeftRounded.js
|
|
176
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
177
|
+
var ChevronLeftRounded_default = createSvgIcon(/* @__PURE__ */ _jsx("path", {
|
|
178
|
+
d: "M14.71 6.71a.996.996 0 0 0-1.41 0L8.71 11.3c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0s.39-1.02 0-1.41L10.83 12l3.88-3.88c.39-.39.38-1.03 0-1.41"
|
|
179
|
+
}), "ChevronLeftRounded");
|
|
180
|
+
|
|
181
|
+
// ../node_modules/@mui/icons-material/esm/ChevronRightRounded.js
|
|
182
|
+
import { jsx as _jsx2 } from "react/jsx-runtime";
|
|
183
|
+
var ChevronRightRounded_default = createSvgIcon(/* @__PURE__ */ _jsx2("path", {
|
|
184
|
+
d: "M9.29 6.71c-.39.39-.39 1.02 0 1.41L13.17 12l-3.88 3.88c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41L10.7 6.7c-.38-.38-1.02-.38-1.41.01"
|
|
185
|
+
}), "ChevronRightRounded");
|
|
186
|
+
|
|
187
|
+
export {
|
|
188
|
+
OraculoGameCard_default,
|
|
189
|
+
OraculoGameSlide_default,
|
|
190
|
+
ChevronLeftRounded_default,
|
|
191
|
+
ChevronRightRounded_default
|
|
192
|
+
};
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import {
|
|
2
|
+
OraculoSectionTitle
|
|
3
|
+
} from "./chunk-5GTDKE3I.mjs";
|
|
4
|
+
|
|
5
|
+
// src/organisms/OraculoSeccionTopJuegos/OraculoSeccionTopJuegos.tsx
|
|
6
|
+
import { useMemo } from "react";
|
|
7
|
+
import Stack from "@mui/material/Stack";
|
|
8
|
+
import Box2 from "@mui/material/Box";
|
|
9
|
+
|
|
10
|
+
// src/molecules/OraculoGameRankCard/OraculoGameRankCard.tsx
|
|
11
|
+
import Box from "@mui/material/Box";
|
|
12
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
|
+
function OraculoGameRankCard({
|
|
14
|
+
imageUrl,
|
|
15
|
+
orden = 1,
|
|
16
|
+
onClick,
|
|
17
|
+
sizes = {
|
|
18
|
+
xs: { w: 104, h: 112, r: 18, font: 48 },
|
|
19
|
+
md: { w: 186, h: 264, r: 22.6, font: 64 }
|
|
20
|
+
}
|
|
21
|
+
}) {
|
|
22
|
+
var _a, _b, _c, _d;
|
|
23
|
+
const getVal = (k, def) => {
|
|
24
|
+
var _a2, _b2, _c2, _d2;
|
|
25
|
+
return {
|
|
26
|
+
xs: (_b2 = (_a2 = sizes.xs) == null ? void 0 : _a2[k]) != null ? _b2 : def,
|
|
27
|
+
md: (_d2 = (_c2 = sizes.md) == null ? void 0 : _c2[k]) != null ? _d2 : def
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
const W = getVal("w", 186);
|
|
31
|
+
const H = getVal("h", 264);
|
|
32
|
+
const R = getVal("r", 22.6);
|
|
33
|
+
const F = getVal("font", 64);
|
|
34
|
+
const hang = {
|
|
35
|
+
xs: Math.round(((_b = (_a = sizes.xs) == null ? void 0 : _a.font) != null ? _b : 64) * 0.28),
|
|
36
|
+
md: Math.round(((_d = (_c = sizes.md) == null ? void 0 : _c.font) != null ? _d : 64) * 0.28)
|
|
37
|
+
};
|
|
38
|
+
return /* @__PURE__ */ jsxs(
|
|
39
|
+
Box,
|
|
40
|
+
{
|
|
41
|
+
onClick,
|
|
42
|
+
role: "button",
|
|
43
|
+
sx: {
|
|
44
|
+
position: "relative",
|
|
45
|
+
width: "100%",
|
|
46
|
+
maxWidth: { xs: `${W.xs}px`, md: `${W.md}px` },
|
|
47
|
+
aspectRatio: {
|
|
48
|
+
xs: `${W.xs}/${H.xs}`,
|
|
49
|
+
md: `${W.md}/${H.md}`
|
|
50
|
+
},
|
|
51
|
+
borderRadius: { xs: `${R.xs}px`, md: `${R.md}px` },
|
|
52
|
+
boxSizing: "border-box",
|
|
53
|
+
cursor: "pointer",
|
|
54
|
+
overflow: "visible",
|
|
55
|
+
pb: { xs: `${hang.xs}px`, md: `${hang.md}px` },
|
|
56
|
+
transition: "transform .15s ease, box-shadow .15s ease",
|
|
57
|
+
"&:hover": { transform: "translateY(-2px)", boxShadow: 8 }
|
|
58
|
+
},
|
|
59
|
+
children: [
|
|
60
|
+
/* @__PURE__ */ jsxs(
|
|
61
|
+
Box,
|
|
62
|
+
{
|
|
63
|
+
sx: {
|
|
64
|
+
position: "absolute",
|
|
65
|
+
inset: 0,
|
|
66
|
+
borderRadius: "inherit",
|
|
67
|
+
overflow: "hidden"
|
|
68
|
+
},
|
|
69
|
+
children: [
|
|
70
|
+
/* @__PURE__ */ jsx(
|
|
71
|
+
"img",
|
|
72
|
+
{
|
|
73
|
+
src: `https://olimpo.bet${imageUrl}`,
|
|
74
|
+
alt: "Juego de casino",
|
|
75
|
+
loading: "lazy",
|
|
76
|
+
style: {
|
|
77
|
+
width: "100%",
|
|
78
|
+
height: "100%",
|
|
79
|
+
objectFit: "cover",
|
|
80
|
+
display: "block"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
),
|
|
84
|
+
/* @__PURE__ */ jsx(
|
|
85
|
+
Box,
|
|
86
|
+
{
|
|
87
|
+
sx: {
|
|
88
|
+
position: "absolute",
|
|
89
|
+
inset: 0,
|
|
90
|
+
background: "linear-gradient(21.29deg, rgba(11,13,27,.8) -1.16%, rgba(255,255,255,0) 55%)",
|
|
91
|
+
mixBlendMode: "multiply"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
)
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
),
|
|
98
|
+
/* @__PURE__ */ jsx(
|
|
99
|
+
Box,
|
|
100
|
+
{
|
|
101
|
+
component: "span",
|
|
102
|
+
sx: {
|
|
103
|
+
position: "absolute",
|
|
104
|
+
left: 8,
|
|
105
|
+
bottom: {
|
|
106
|
+
xs: `-${hang.xs}px`,
|
|
107
|
+
md: `-${hang.md}px`
|
|
108
|
+
},
|
|
109
|
+
fontFamily: "secondary",
|
|
110
|
+
fontSize: {
|
|
111
|
+
xs: `${F.xs}px`,
|
|
112
|
+
md: `${F.md}px`
|
|
113
|
+
},
|
|
114
|
+
lineHeight: 1,
|
|
115
|
+
color: "#3CC666",
|
|
116
|
+
WebkitTextStroke: "1px #9ee86e",
|
|
117
|
+
zIndex: 2,
|
|
118
|
+
userSelect: "none"
|
|
119
|
+
},
|
|
120
|
+
children: orden
|
|
121
|
+
}
|
|
122
|
+
)
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// src/organisms/OraculoSeccionTopJuegos/OraculoSeccionTopJuegos.tsx
|
|
129
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
130
|
+
function OraculoSeccionTopJuegos({
|
|
131
|
+
items,
|
|
132
|
+
title = "Top Juegos",
|
|
133
|
+
iconUrl,
|
|
134
|
+
onCardClick
|
|
135
|
+
}) {
|
|
136
|
+
const normalizedItems = useMemo(
|
|
137
|
+
() => items.map((item, index) => {
|
|
138
|
+
var _a;
|
|
139
|
+
return {
|
|
140
|
+
...item,
|
|
141
|
+
// si no viene orden, usamos el índice (1-based)
|
|
142
|
+
orden: (_a = item.orden) != null ? _a : index + 1,
|
|
143
|
+
_originalIndex: index
|
|
144
|
+
};
|
|
145
|
+
}).sort((a, b) => {
|
|
146
|
+
if (a.orden != null && b.orden != null) return a.orden - b.orden;
|
|
147
|
+
return a._originalIndex - b._originalIndex;
|
|
148
|
+
}),
|
|
149
|
+
[items]
|
|
150
|
+
);
|
|
151
|
+
return /* @__PURE__ */ jsx2("section", { style: { width: "100%" }, children: /* @__PURE__ */ jsxs2(Stack, { direction: "column", spacing: 2, useFlexGap: true, children: [
|
|
152
|
+
/* @__PURE__ */ jsx2(OraculoSectionTitle, { title, iconUrl, size: "md" }),
|
|
153
|
+
/* @__PURE__ */ jsx2(
|
|
154
|
+
Box2,
|
|
155
|
+
{
|
|
156
|
+
sx: {
|
|
157
|
+
display: "grid",
|
|
158
|
+
gridTemplateColumns: {
|
|
159
|
+
xs: "repeat(3, minmax(0, 1fr))",
|
|
160
|
+
md: "repeat(6, minmax(0, 1fr))"
|
|
161
|
+
},
|
|
162
|
+
gap: { xs: 1.5, md: 2 },
|
|
163
|
+
justifyItems: "center",
|
|
164
|
+
width: "100%"
|
|
165
|
+
},
|
|
166
|
+
children: normalizedItems.slice(0, 6).map((juego) => /* @__PURE__ */ jsx2(
|
|
167
|
+
OraculoGameRankCard,
|
|
168
|
+
{
|
|
169
|
+
imageUrl: juego.logo || "",
|
|
170
|
+
orden: juego.orden,
|
|
171
|
+
onClick: () => onCardClick == null ? void 0 : onCardClick(juego)
|
|
172
|
+
},
|
|
173
|
+
juego.machine
|
|
174
|
+
))
|
|
175
|
+
}
|
|
176
|
+
)
|
|
177
|
+
] }) });
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
export {
|
|
181
|
+
OraculoGameRankCard,
|
|
182
|
+
OraculoSeccionTopJuegos
|
|
183
|
+
};
|