oraculo-ui 0.1.0 → 0.1.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.css +181 -0
- package/dist/index.d.mts +209 -1
- package/dist/index.d.ts +209 -1
- package/dist/index.js +1416 -22
- package/dist/index.mjs +1388 -17
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -214,3 +214,184 @@
|
|
|
214
214
|
line-height: 26px;
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
|
+
|
|
218
|
+
/* src/atoms/OraculoCarouselDots/OraculoCarouselDots.css */
|
|
219
|
+
.orc-dots {
|
|
220
|
+
--dot-size: 8px;
|
|
221
|
+
--dot-cell: 20px;
|
|
222
|
+
--dot-active-h: 8px;
|
|
223
|
+
--dot-active-w: 20px;
|
|
224
|
+
--dot-bg: #ffffff;
|
|
225
|
+
--dot-surface: #ffffff;
|
|
226
|
+
--dot-accent: #9EE86E;
|
|
227
|
+
display: flex;
|
|
228
|
+
gap: 0px;
|
|
229
|
+
justify-content: center;
|
|
230
|
+
margin-top: 10px;
|
|
231
|
+
}
|
|
232
|
+
.orc-dots__cell {
|
|
233
|
+
width: var(--dot-cell);
|
|
234
|
+
display: inline-flex;
|
|
235
|
+
justify-content: center;
|
|
236
|
+
}
|
|
237
|
+
.orc-dots__dot {
|
|
238
|
+
width: var(--dot-size);
|
|
239
|
+
height: var(--dot-size);
|
|
240
|
+
border-radius: 9999px;
|
|
241
|
+
background: var(--dot-bg);
|
|
242
|
+
border: 0;
|
|
243
|
+
padding: 0;
|
|
244
|
+
cursor: pointer;
|
|
245
|
+
position: relative;
|
|
246
|
+
transition:
|
|
247
|
+
transform .15s ease,
|
|
248
|
+
background .15s ease,
|
|
249
|
+
width .2s ease,
|
|
250
|
+
height .2s ease;
|
|
251
|
+
}
|
|
252
|
+
.orc-dots__dot:hover {
|
|
253
|
+
transform: scale(1.06);
|
|
254
|
+
}
|
|
255
|
+
.orc-dots__dot--active {
|
|
256
|
+
width: var(--dot-active-w);
|
|
257
|
+
height: var(--dot-active-h);
|
|
258
|
+
border-radius: 9999px;
|
|
259
|
+
background: #fff;
|
|
260
|
+
position: relative;
|
|
261
|
+
overflow: hidden;
|
|
262
|
+
}
|
|
263
|
+
.orc-dots__dot--active::after {
|
|
264
|
+
content: "";
|
|
265
|
+
position: absolute;
|
|
266
|
+
top: 0;
|
|
267
|
+
bottom: 0;
|
|
268
|
+
left: 0;
|
|
269
|
+
width: 40%;
|
|
270
|
+
background: var(--dot-accent);
|
|
271
|
+
border-radius: inherit;
|
|
272
|
+
}
|
|
273
|
+
.orc-dots__dot--active {
|
|
274
|
+
outline: 0;
|
|
275
|
+
outline-offset: 0;
|
|
276
|
+
}
|
|
277
|
+
.orc-dots__dot:focus-visible {
|
|
278
|
+
outline: 2px solid var(--dot-accent);
|
|
279
|
+
outline-offset: 2px;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
/* src/organisms/OraculoSeccionClubOlimpo/OraculoSeccionClubOlimpo.css */
|
|
283
|
+
.orc-co-wrap {
|
|
284
|
+
--orc-co-art-w: 887px;
|
|
285
|
+
--orc-co-art-h: 510px;
|
|
286
|
+
--orc-co-text: #ffffff;
|
|
287
|
+
--orc-co-art-left: clamp(120px, 18vw, 280px);
|
|
288
|
+
--orc-co-art-top: 20px;
|
|
289
|
+
--orc-co-logo-left: 163px;
|
|
290
|
+
--orc-co-logo-top: 120px;
|
|
291
|
+
--orc-co-logo-w: 220px;
|
|
292
|
+
--orc-co-content-left: 120px;
|
|
293
|
+
--orc-co-content-top: 290px;
|
|
294
|
+
min-height: var(--orc-co-minH, 520px);
|
|
295
|
+
position: relative;
|
|
296
|
+
}
|
|
297
|
+
.orc-co-fullBleed {
|
|
298
|
+
width: 100vw;
|
|
299
|
+
margin-left: 50%;
|
|
300
|
+
transform: translateX(-50%);
|
|
301
|
+
}
|
|
302
|
+
.orc-co-bottom {
|
|
303
|
+
position: absolute;
|
|
304
|
+
left: 50%;
|
|
305
|
+
transform: translateX(-50%);
|
|
306
|
+
bottom: 20px;
|
|
307
|
+
z-index: 2;
|
|
308
|
+
display: grid;
|
|
309
|
+
justify-items: center;
|
|
310
|
+
gap: 12px;
|
|
311
|
+
border-radius: 12px;
|
|
312
|
+
}
|
|
313
|
+
.orc-co-caption {
|
|
314
|
+
color: var(--orc-co-text);
|
|
315
|
+
font-size: 14px;
|
|
316
|
+
text-align: center;
|
|
317
|
+
font-weight: 400;
|
|
318
|
+
text-wrap: balance;
|
|
319
|
+
line-height: 1.4;
|
|
320
|
+
}
|
|
321
|
+
.orc-co-bgMobile {
|
|
322
|
+
position: relative;
|
|
323
|
+
width: 100%;
|
|
324
|
+
min-height: 360px;
|
|
325
|
+
overflow: hidden;
|
|
326
|
+
}
|
|
327
|
+
.orc-co-bgMobileImg {
|
|
328
|
+
width: 100%;
|
|
329
|
+
height: 100%;
|
|
330
|
+
object-fit: cover;
|
|
331
|
+
}
|
|
332
|
+
.orc-co-bgDesktop,
|
|
333
|
+
.orc-co-logo,
|
|
334
|
+
.orc-co-desktopContent {
|
|
335
|
+
display: none;
|
|
336
|
+
}
|
|
337
|
+
@media (min-width: 1024px) {
|
|
338
|
+
.orc-co-bgMobile {
|
|
339
|
+
display: none;
|
|
340
|
+
}
|
|
341
|
+
.orc-co-bottom {
|
|
342
|
+
display: none;
|
|
343
|
+
}
|
|
344
|
+
.orc-co-bgDesktop {
|
|
345
|
+
position: absolute;
|
|
346
|
+
inset: 0;
|
|
347
|
+
z-index: 0;
|
|
348
|
+
display: block;
|
|
349
|
+
}
|
|
350
|
+
.orc-co-bgDesktop > .orc-co-fillHost {
|
|
351
|
+
position: absolute;
|
|
352
|
+
width: var(--orc-co-art-w);
|
|
353
|
+
height: var(--orc-co-art-h);
|
|
354
|
+
top: var(--orc-co-art-top);
|
|
355
|
+
left: var(--orc-co-art-left);
|
|
356
|
+
}
|
|
357
|
+
.orc-co-bgDesktopImg {
|
|
358
|
+
width: 100%;
|
|
359
|
+
height: 100%;
|
|
360
|
+
object-fit: cover;
|
|
361
|
+
display: block;
|
|
362
|
+
}
|
|
363
|
+
.orc-co-logo {
|
|
364
|
+
display: block;
|
|
365
|
+
position: absolute;
|
|
366
|
+
left: var(--orc-co-logo-left);
|
|
367
|
+
top: var(--orc-co-logo-top);
|
|
368
|
+
width: var(--orc-co-logo-w);
|
|
369
|
+
aspect-ratio: 3 / 2;
|
|
370
|
+
z-index: 2;
|
|
371
|
+
}
|
|
372
|
+
.orc-co-logoImg {
|
|
373
|
+
width: 100%;
|
|
374
|
+
height: 100%;
|
|
375
|
+
object-fit: contain;
|
|
376
|
+
display: block;
|
|
377
|
+
}
|
|
378
|
+
.orc-co-desktopContent {
|
|
379
|
+
display: grid;
|
|
380
|
+
position: absolute;
|
|
381
|
+
left: var(--orc-co-content-left);
|
|
382
|
+
top: var(--orc-co-content-top);
|
|
383
|
+
gap: 16px;
|
|
384
|
+
justify-items: center;
|
|
385
|
+
text-align: center;
|
|
386
|
+
z-index: 2;
|
|
387
|
+
}
|
|
388
|
+
.orc-co-captionDesktop {
|
|
389
|
+
margin: 0;
|
|
390
|
+
color: var(--orc-co-text);
|
|
391
|
+
font-family: var(--clmc-font, inherit);
|
|
392
|
+
font-weight: 400;
|
|
393
|
+
font-size: clamp(14px, 1.5vw, 18px);
|
|
394
|
+
max-width: 28ch;
|
|
395
|
+
text-wrap: balance;
|
|
396
|
+
}
|
|
397
|
+
}
|
package/dist/index.d.mts
CHANGED
|
@@ -29,6 +29,14 @@ interface OraculoSectionTitleProps {
|
|
|
29
29
|
}
|
|
30
30
|
declare function OraculoSectionTitle({ title, iconUrl, size, className, }: OraculoSectionTitleProps): react_jsx_runtime.JSX.Element;
|
|
31
31
|
|
|
32
|
+
interface OraculoCarouselDotsProps {
|
|
33
|
+
total: number;
|
|
34
|
+
active: number;
|
|
35
|
+
onSelect?: (index: number) => void;
|
|
36
|
+
className?: string;
|
|
37
|
+
}
|
|
38
|
+
declare const OraculoCarouselDots: React.FC<OraculoCarouselDotsProps>;
|
|
39
|
+
|
|
32
40
|
interface OraculoCarouselOptions {
|
|
33
41
|
type?: string;
|
|
34
42
|
perPage?: number;
|
|
@@ -64,6 +72,77 @@ interface OraculoCarouselProps<T = any> {
|
|
|
64
72
|
}
|
|
65
73
|
declare const OraculoCarousel: React.ForwardRefExoticComponent<OraculoCarouselProps<any> & React.RefAttributes<OraculoCarouselRef>>;
|
|
66
74
|
|
|
75
|
+
type SizeOpt = {
|
|
76
|
+
w: number;
|
|
77
|
+
h: number;
|
|
78
|
+
r?: number;
|
|
79
|
+
font?: number;
|
|
80
|
+
};
|
|
81
|
+
interface OraculoGameRankCardSizes {
|
|
82
|
+
xs: SizeOpt;
|
|
83
|
+
md: SizeOpt;
|
|
84
|
+
}
|
|
85
|
+
interface OraculoGameRankCardProps {
|
|
86
|
+
imageUrl: string;
|
|
87
|
+
orden?: number;
|
|
88
|
+
onClick?: () => void;
|
|
89
|
+
sizes?: OraculoGameRankCardSizes;
|
|
90
|
+
}
|
|
91
|
+
declare function OraculoGameRankCard({ imageUrl, orden, onClick, sizes, }: OraculoGameRankCardProps): react_jsx_runtime.JSX.Element;
|
|
92
|
+
|
|
93
|
+
interface OraculoLiveCasinoCardProps {
|
|
94
|
+
logo: string;
|
|
95
|
+
provider?: string;
|
|
96
|
+
providerName?: string;
|
|
97
|
+
machine?: number | string;
|
|
98
|
+
onClick?: () => void;
|
|
99
|
+
}
|
|
100
|
+
declare const OraculoLiveCasinoCard: React.FC<OraculoLiveCasinoCardProps>;
|
|
101
|
+
|
|
102
|
+
interface OraculoGameCardProps {
|
|
103
|
+
imageUrl: string;
|
|
104
|
+
onClick?: () => void;
|
|
105
|
+
size?: "lg" | "sm";
|
|
106
|
+
}
|
|
107
|
+
declare const OraculoGameCard: React.FC<OraculoGameCardProps>;
|
|
108
|
+
|
|
109
|
+
interface OraculoGameSlideItem {
|
|
110
|
+
id: string | number;
|
|
111
|
+
imageUrl: string;
|
|
112
|
+
}
|
|
113
|
+
interface OraculoGameSlideProps {
|
|
114
|
+
items: OraculoGameSlideItem[];
|
|
115
|
+
layout?: "mosaic" | "grid";
|
|
116
|
+
onClick?: (item: OraculoGameSlideItem) => void;
|
|
117
|
+
}
|
|
118
|
+
declare const OraculoGameSlide: React.FC<OraculoGameSlideProps>;
|
|
119
|
+
|
|
120
|
+
interface OraculoWelcomeBannerProps {
|
|
121
|
+
title?: string;
|
|
122
|
+
amount?: string;
|
|
123
|
+
subtitle?: string;
|
|
124
|
+
buttonText?: string;
|
|
125
|
+
onButtonClick?: () => void;
|
|
126
|
+
backgroundImage?: string;
|
|
127
|
+
alt?: string;
|
|
128
|
+
className?: string;
|
|
129
|
+
/** Tamaño en desktop: "small" (456x272) o "large" (618x346) */
|
|
130
|
+
variant?: "small" | "large";
|
|
131
|
+
}
|
|
132
|
+
declare const OraculoWelcomeBanner: React.FC<OraculoWelcomeBannerProps>;
|
|
133
|
+
|
|
134
|
+
interface OraculoClubOlimpoVisualProps {
|
|
135
|
+
text: string;
|
|
136
|
+
buttonLabel?: string;
|
|
137
|
+
onClick?: () => void;
|
|
138
|
+
imgAlt?: string;
|
|
139
|
+
imgSrcMobile: string;
|
|
140
|
+
imgSrcDesktopBg?: string;
|
|
141
|
+
imgSrcDesktopLogo?: string;
|
|
142
|
+
priority?: boolean;
|
|
143
|
+
}
|
|
144
|
+
declare const OraculoClubOlimpoVisual: React.FC<OraculoClubOlimpoVisualProps>;
|
|
145
|
+
|
|
67
146
|
interface OraculoDestacadoItem {
|
|
68
147
|
id?: string | number;
|
|
69
148
|
src: string;
|
|
@@ -78,4 +157,133 @@ interface OraculoSeccionDestacadosProps {
|
|
|
78
157
|
}
|
|
79
158
|
declare function OraculoSeccionDestacados({ items, title, iconUrl, onViewMore, className, }: OraculoSeccionDestacadosProps): react_jsx_runtime.JSX.Element;
|
|
80
159
|
|
|
81
|
-
|
|
160
|
+
interface OraculoTopJuegoItem {
|
|
161
|
+
orden?: number;
|
|
162
|
+
logo?: string;
|
|
163
|
+
machine?: number | string;
|
|
164
|
+
name?: string;
|
|
165
|
+
web_name?: string;
|
|
166
|
+
provider?: string;
|
|
167
|
+
sub_provider?: string;
|
|
168
|
+
external_id?: string;
|
|
169
|
+
type?: string;
|
|
170
|
+
tags?: string;
|
|
171
|
+
lobby_tag?: string | null;
|
|
172
|
+
background?: string;
|
|
173
|
+
rtp?: number;
|
|
174
|
+
demo_allowed?: boolean;
|
|
175
|
+
gaming_session_required?: boolean;
|
|
176
|
+
}
|
|
177
|
+
interface OraculoSeccionTopJuegosProps {
|
|
178
|
+
items: OraculoTopJuegoItem[];
|
|
179
|
+
title?: string;
|
|
180
|
+
iconUrl?: string;
|
|
181
|
+
onCardClick?: (juego: OraculoTopJuegoItem, index: number) => void;
|
|
182
|
+
className?: string;
|
|
183
|
+
}
|
|
184
|
+
declare function OraculoSeccionTopJuegos({ items, title, iconUrl, onCardClick, className, }: OraculoSeccionTopJuegosProps): react_jsx_runtime.JSX.Element;
|
|
185
|
+
|
|
186
|
+
interface OraculoLiveCasinoItem {
|
|
187
|
+
machine?: number | string;
|
|
188
|
+
name?: string;
|
|
189
|
+
web_name?: string;
|
|
190
|
+
provider?: string;
|
|
191
|
+
sub_provider?: string;
|
|
192
|
+
external_id?: string;
|
|
193
|
+
type?: string;
|
|
194
|
+
tags?: string;
|
|
195
|
+
lobby_tag?: string | null;
|
|
196
|
+
logo?: string;
|
|
197
|
+
background?: string;
|
|
198
|
+
rtp?: number;
|
|
199
|
+
demo_allowed?: boolean;
|
|
200
|
+
gaming_session_required?: boolean;
|
|
201
|
+
}
|
|
202
|
+
interface OraculoSeccionCasinoEnVivoProps {
|
|
203
|
+
items: OraculoLiveCasinoItem[];
|
|
204
|
+
title?: string;
|
|
205
|
+
subtitle?: string;
|
|
206
|
+
backgroundMobileUrl?: string;
|
|
207
|
+
backgroundDesktopUrl?: string;
|
|
208
|
+
onCardClick?: (juego: OraculoLiveCasinoItem, index: number) => void;
|
|
209
|
+
onViewMore?: () => void;
|
|
210
|
+
className?: string;
|
|
211
|
+
}
|
|
212
|
+
declare const OraculoSeccionCasinoEnVivo: React.FC<OraculoSeccionCasinoEnVivoProps>;
|
|
213
|
+
|
|
214
|
+
interface OraculoGameItem {
|
|
215
|
+
id?: string | number;
|
|
216
|
+
machine?: number | string;
|
|
217
|
+
logo?: string;
|
|
218
|
+
imageUrl?: string;
|
|
219
|
+
name?: string;
|
|
220
|
+
web_name?: string;
|
|
221
|
+
provider?: string;
|
|
222
|
+
sub_provider?: string;
|
|
223
|
+
external_id?: string;
|
|
224
|
+
type?: string;
|
|
225
|
+
tags?: string;
|
|
226
|
+
lobby_tag?: string | null;
|
|
227
|
+
background?: string;
|
|
228
|
+
rtp?: number | null;
|
|
229
|
+
demo_allowed?: boolean;
|
|
230
|
+
gaming_session_required?: boolean;
|
|
231
|
+
}
|
|
232
|
+
interface OraculoSeccionCasinoProps {
|
|
233
|
+
items: OraculoGameItem[];
|
|
234
|
+
title?: string;
|
|
235
|
+
iconUrl?: string;
|
|
236
|
+
onItemClick?: (game: OraculoGameItem) => void;
|
|
237
|
+
onViewMore?: () => void;
|
|
238
|
+
mosaicFirst?: boolean;
|
|
239
|
+
gridSize?: number;
|
|
240
|
+
className?: string;
|
|
241
|
+
}
|
|
242
|
+
declare const OraculoSeccionCasino: React.FC<OraculoSeccionCasinoProps>;
|
|
243
|
+
|
|
244
|
+
interface OraculoSeccionVirtualesProps {
|
|
245
|
+
items: OraculoGameItem[];
|
|
246
|
+
title?: string;
|
|
247
|
+
iconUrl?: string;
|
|
248
|
+
onItemClick?: (game: OraculoGameItem) => void;
|
|
249
|
+
onViewMore?: () => void;
|
|
250
|
+
mosaicFirst?: boolean;
|
|
251
|
+
gridSize?: number;
|
|
252
|
+
className?: string;
|
|
253
|
+
}
|
|
254
|
+
declare const OraculoSeccionVirtuales: React.FC<OraculoSeccionVirtualesProps>;
|
|
255
|
+
|
|
256
|
+
interface OraculoSeccionBonoBienvenidaProps {
|
|
257
|
+
/** Título principal, admite salto con "\n" para dos líneas */
|
|
258
|
+
headline?: string;
|
|
259
|
+
items: OraculoWelcomeBannerProps[];
|
|
260
|
+
/** Fondo de la sección (full width) */
|
|
261
|
+
backgroundImageUrl?: string;
|
|
262
|
+
}
|
|
263
|
+
declare const OraculoSeccionBonoBienvenida: React.FC<OraculoSeccionBonoBienvenidaProps>;
|
|
264
|
+
|
|
265
|
+
type OraculoClubOlimpoItem = {
|
|
266
|
+
text: string;
|
|
267
|
+
imgAlt: string;
|
|
268
|
+
images: {
|
|
269
|
+
mobile: string;
|
|
270
|
+
desktopBg: string;
|
|
271
|
+
desktopLogo: string;
|
|
272
|
+
};
|
|
273
|
+
onClick?: () => void;
|
|
274
|
+
priority?: boolean;
|
|
275
|
+
};
|
|
276
|
+
interface OraculoSeccionClubOlimpoProps {
|
|
277
|
+
className?: string;
|
|
278
|
+
/** Si true, hace el efecto full-bleed (100vw centrado) */
|
|
279
|
+
fullBleed?: boolean;
|
|
280
|
+
/** Lista de variantes (puedes pasar 1 o varias). */
|
|
281
|
+
items: OraculoClubOlimpoItem[];
|
|
282
|
+
/** Índice del item a mostrar si pasas varios. */
|
|
283
|
+
selectedIndex?: number;
|
|
284
|
+
/** aria-label de la sección (fallback al imgAlt del item seleccionado). */
|
|
285
|
+
ariaLabel?: string;
|
|
286
|
+
}
|
|
287
|
+
declare const OraculoSeccionClubOlimpo: React.FC<OraculoSeccionClubOlimpoProps>;
|
|
288
|
+
|
|
289
|
+
export { OraculoButton, type OraculoButtonProps, OraculoCarousel, OraculoCarouselDots, type OraculoCarouselDotsProps, type OraculoCarouselOptions, type OraculoCarouselProps, type OraculoCarouselRef, type OraculoClubOlimpoItem, OraculoClubOlimpoVisual, type OraculoClubOlimpoVisualProps, type OraculoDestacadoItem, OraculoGameCard, type OraculoGameCardProps, type OraculoGameItem, OraculoGameRankCard, type OraculoGameRankCardProps, type OraculoGameRankCardSizes, OraculoGameSlide, type OraculoGameSlideItem, type OraculoGameSlideProps, OraculoLiveCasinoCard, type OraculoLiveCasinoCardProps, type OraculoLiveCasinoItem, OraculoSeccionBonoBienvenida, type OraculoSeccionBonoBienvenidaProps, OraculoSeccionCasino, OraculoSeccionCasinoEnVivo, type OraculoSeccionCasinoEnVivoProps, type OraculoSeccionCasinoProps, OraculoSeccionClubOlimpo, type OraculoSeccionClubOlimpoProps, OraculoSeccionDestacados, type OraculoSeccionDestacadosProps, OraculoSeccionTopJuegos, type OraculoSeccionTopJuegosProps, OraculoSeccionVirtuales, type OraculoSeccionVirtualesProps, OraculoSectionTitle, type OraculoSectionTitleProps, type OraculoTopJuegoItem, OraculoWelcomeBanner, type OraculoWelcomeBannerProps };
|
package/dist/index.d.ts
CHANGED
|
@@ -29,6 +29,14 @@ interface OraculoSectionTitleProps {
|
|
|
29
29
|
}
|
|
30
30
|
declare function OraculoSectionTitle({ title, iconUrl, size, className, }: OraculoSectionTitleProps): react_jsx_runtime.JSX.Element;
|
|
31
31
|
|
|
32
|
+
interface OraculoCarouselDotsProps {
|
|
33
|
+
total: number;
|
|
34
|
+
active: number;
|
|
35
|
+
onSelect?: (index: number) => void;
|
|
36
|
+
className?: string;
|
|
37
|
+
}
|
|
38
|
+
declare const OraculoCarouselDots: React.FC<OraculoCarouselDotsProps>;
|
|
39
|
+
|
|
32
40
|
interface OraculoCarouselOptions {
|
|
33
41
|
type?: string;
|
|
34
42
|
perPage?: number;
|
|
@@ -64,6 +72,77 @@ interface OraculoCarouselProps<T = any> {
|
|
|
64
72
|
}
|
|
65
73
|
declare const OraculoCarousel: React.ForwardRefExoticComponent<OraculoCarouselProps<any> & React.RefAttributes<OraculoCarouselRef>>;
|
|
66
74
|
|
|
75
|
+
type SizeOpt = {
|
|
76
|
+
w: number;
|
|
77
|
+
h: number;
|
|
78
|
+
r?: number;
|
|
79
|
+
font?: number;
|
|
80
|
+
};
|
|
81
|
+
interface OraculoGameRankCardSizes {
|
|
82
|
+
xs: SizeOpt;
|
|
83
|
+
md: SizeOpt;
|
|
84
|
+
}
|
|
85
|
+
interface OraculoGameRankCardProps {
|
|
86
|
+
imageUrl: string;
|
|
87
|
+
orden?: number;
|
|
88
|
+
onClick?: () => void;
|
|
89
|
+
sizes?: OraculoGameRankCardSizes;
|
|
90
|
+
}
|
|
91
|
+
declare function OraculoGameRankCard({ imageUrl, orden, onClick, sizes, }: OraculoGameRankCardProps): react_jsx_runtime.JSX.Element;
|
|
92
|
+
|
|
93
|
+
interface OraculoLiveCasinoCardProps {
|
|
94
|
+
logo: string;
|
|
95
|
+
provider?: string;
|
|
96
|
+
providerName?: string;
|
|
97
|
+
machine?: number | string;
|
|
98
|
+
onClick?: () => void;
|
|
99
|
+
}
|
|
100
|
+
declare const OraculoLiveCasinoCard: React.FC<OraculoLiveCasinoCardProps>;
|
|
101
|
+
|
|
102
|
+
interface OraculoGameCardProps {
|
|
103
|
+
imageUrl: string;
|
|
104
|
+
onClick?: () => void;
|
|
105
|
+
size?: "lg" | "sm";
|
|
106
|
+
}
|
|
107
|
+
declare const OraculoGameCard: React.FC<OraculoGameCardProps>;
|
|
108
|
+
|
|
109
|
+
interface OraculoGameSlideItem {
|
|
110
|
+
id: string | number;
|
|
111
|
+
imageUrl: string;
|
|
112
|
+
}
|
|
113
|
+
interface OraculoGameSlideProps {
|
|
114
|
+
items: OraculoGameSlideItem[];
|
|
115
|
+
layout?: "mosaic" | "grid";
|
|
116
|
+
onClick?: (item: OraculoGameSlideItem) => void;
|
|
117
|
+
}
|
|
118
|
+
declare const OraculoGameSlide: React.FC<OraculoGameSlideProps>;
|
|
119
|
+
|
|
120
|
+
interface OraculoWelcomeBannerProps {
|
|
121
|
+
title?: string;
|
|
122
|
+
amount?: string;
|
|
123
|
+
subtitle?: string;
|
|
124
|
+
buttonText?: string;
|
|
125
|
+
onButtonClick?: () => void;
|
|
126
|
+
backgroundImage?: string;
|
|
127
|
+
alt?: string;
|
|
128
|
+
className?: string;
|
|
129
|
+
/** Tamaño en desktop: "small" (456x272) o "large" (618x346) */
|
|
130
|
+
variant?: "small" | "large";
|
|
131
|
+
}
|
|
132
|
+
declare const OraculoWelcomeBanner: React.FC<OraculoWelcomeBannerProps>;
|
|
133
|
+
|
|
134
|
+
interface OraculoClubOlimpoVisualProps {
|
|
135
|
+
text: string;
|
|
136
|
+
buttonLabel?: string;
|
|
137
|
+
onClick?: () => void;
|
|
138
|
+
imgAlt?: string;
|
|
139
|
+
imgSrcMobile: string;
|
|
140
|
+
imgSrcDesktopBg?: string;
|
|
141
|
+
imgSrcDesktopLogo?: string;
|
|
142
|
+
priority?: boolean;
|
|
143
|
+
}
|
|
144
|
+
declare const OraculoClubOlimpoVisual: React.FC<OraculoClubOlimpoVisualProps>;
|
|
145
|
+
|
|
67
146
|
interface OraculoDestacadoItem {
|
|
68
147
|
id?: string | number;
|
|
69
148
|
src: string;
|
|
@@ -78,4 +157,133 @@ interface OraculoSeccionDestacadosProps {
|
|
|
78
157
|
}
|
|
79
158
|
declare function OraculoSeccionDestacados({ items, title, iconUrl, onViewMore, className, }: OraculoSeccionDestacadosProps): react_jsx_runtime.JSX.Element;
|
|
80
159
|
|
|
81
|
-
|
|
160
|
+
interface OraculoTopJuegoItem {
|
|
161
|
+
orden?: number;
|
|
162
|
+
logo?: string;
|
|
163
|
+
machine?: number | string;
|
|
164
|
+
name?: string;
|
|
165
|
+
web_name?: string;
|
|
166
|
+
provider?: string;
|
|
167
|
+
sub_provider?: string;
|
|
168
|
+
external_id?: string;
|
|
169
|
+
type?: string;
|
|
170
|
+
tags?: string;
|
|
171
|
+
lobby_tag?: string | null;
|
|
172
|
+
background?: string;
|
|
173
|
+
rtp?: number;
|
|
174
|
+
demo_allowed?: boolean;
|
|
175
|
+
gaming_session_required?: boolean;
|
|
176
|
+
}
|
|
177
|
+
interface OraculoSeccionTopJuegosProps {
|
|
178
|
+
items: OraculoTopJuegoItem[];
|
|
179
|
+
title?: string;
|
|
180
|
+
iconUrl?: string;
|
|
181
|
+
onCardClick?: (juego: OraculoTopJuegoItem, index: number) => void;
|
|
182
|
+
className?: string;
|
|
183
|
+
}
|
|
184
|
+
declare function OraculoSeccionTopJuegos({ items, title, iconUrl, onCardClick, className, }: OraculoSeccionTopJuegosProps): react_jsx_runtime.JSX.Element;
|
|
185
|
+
|
|
186
|
+
interface OraculoLiveCasinoItem {
|
|
187
|
+
machine?: number | string;
|
|
188
|
+
name?: string;
|
|
189
|
+
web_name?: string;
|
|
190
|
+
provider?: string;
|
|
191
|
+
sub_provider?: string;
|
|
192
|
+
external_id?: string;
|
|
193
|
+
type?: string;
|
|
194
|
+
tags?: string;
|
|
195
|
+
lobby_tag?: string | null;
|
|
196
|
+
logo?: string;
|
|
197
|
+
background?: string;
|
|
198
|
+
rtp?: number;
|
|
199
|
+
demo_allowed?: boolean;
|
|
200
|
+
gaming_session_required?: boolean;
|
|
201
|
+
}
|
|
202
|
+
interface OraculoSeccionCasinoEnVivoProps {
|
|
203
|
+
items: OraculoLiveCasinoItem[];
|
|
204
|
+
title?: string;
|
|
205
|
+
subtitle?: string;
|
|
206
|
+
backgroundMobileUrl?: string;
|
|
207
|
+
backgroundDesktopUrl?: string;
|
|
208
|
+
onCardClick?: (juego: OraculoLiveCasinoItem, index: number) => void;
|
|
209
|
+
onViewMore?: () => void;
|
|
210
|
+
className?: string;
|
|
211
|
+
}
|
|
212
|
+
declare const OraculoSeccionCasinoEnVivo: React.FC<OraculoSeccionCasinoEnVivoProps>;
|
|
213
|
+
|
|
214
|
+
interface OraculoGameItem {
|
|
215
|
+
id?: string | number;
|
|
216
|
+
machine?: number | string;
|
|
217
|
+
logo?: string;
|
|
218
|
+
imageUrl?: string;
|
|
219
|
+
name?: string;
|
|
220
|
+
web_name?: string;
|
|
221
|
+
provider?: string;
|
|
222
|
+
sub_provider?: string;
|
|
223
|
+
external_id?: string;
|
|
224
|
+
type?: string;
|
|
225
|
+
tags?: string;
|
|
226
|
+
lobby_tag?: string | null;
|
|
227
|
+
background?: string;
|
|
228
|
+
rtp?: number | null;
|
|
229
|
+
demo_allowed?: boolean;
|
|
230
|
+
gaming_session_required?: boolean;
|
|
231
|
+
}
|
|
232
|
+
interface OraculoSeccionCasinoProps {
|
|
233
|
+
items: OraculoGameItem[];
|
|
234
|
+
title?: string;
|
|
235
|
+
iconUrl?: string;
|
|
236
|
+
onItemClick?: (game: OraculoGameItem) => void;
|
|
237
|
+
onViewMore?: () => void;
|
|
238
|
+
mosaicFirst?: boolean;
|
|
239
|
+
gridSize?: number;
|
|
240
|
+
className?: string;
|
|
241
|
+
}
|
|
242
|
+
declare const OraculoSeccionCasino: React.FC<OraculoSeccionCasinoProps>;
|
|
243
|
+
|
|
244
|
+
interface OraculoSeccionVirtualesProps {
|
|
245
|
+
items: OraculoGameItem[];
|
|
246
|
+
title?: string;
|
|
247
|
+
iconUrl?: string;
|
|
248
|
+
onItemClick?: (game: OraculoGameItem) => void;
|
|
249
|
+
onViewMore?: () => void;
|
|
250
|
+
mosaicFirst?: boolean;
|
|
251
|
+
gridSize?: number;
|
|
252
|
+
className?: string;
|
|
253
|
+
}
|
|
254
|
+
declare const OraculoSeccionVirtuales: React.FC<OraculoSeccionVirtualesProps>;
|
|
255
|
+
|
|
256
|
+
interface OraculoSeccionBonoBienvenidaProps {
|
|
257
|
+
/** Título principal, admite salto con "\n" para dos líneas */
|
|
258
|
+
headline?: string;
|
|
259
|
+
items: OraculoWelcomeBannerProps[];
|
|
260
|
+
/** Fondo de la sección (full width) */
|
|
261
|
+
backgroundImageUrl?: string;
|
|
262
|
+
}
|
|
263
|
+
declare const OraculoSeccionBonoBienvenida: React.FC<OraculoSeccionBonoBienvenidaProps>;
|
|
264
|
+
|
|
265
|
+
type OraculoClubOlimpoItem = {
|
|
266
|
+
text: string;
|
|
267
|
+
imgAlt: string;
|
|
268
|
+
images: {
|
|
269
|
+
mobile: string;
|
|
270
|
+
desktopBg: string;
|
|
271
|
+
desktopLogo: string;
|
|
272
|
+
};
|
|
273
|
+
onClick?: () => void;
|
|
274
|
+
priority?: boolean;
|
|
275
|
+
};
|
|
276
|
+
interface OraculoSeccionClubOlimpoProps {
|
|
277
|
+
className?: string;
|
|
278
|
+
/** Si true, hace el efecto full-bleed (100vw centrado) */
|
|
279
|
+
fullBleed?: boolean;
|
|
280
|
+
/** Lista de variantes (puedes pasar 1 o varias). */
|
|
281
|
+
items: OraculoClubOlimpoItem[];
|
|
282
|
+
/** Índice del item a mostrar si pasas varios. */
|
|
283
|
+
selectedIndex?: number;
|
|
284
|
+
/** aria-label de la sección (fallback al imgAlt del item seleccionado). */
|
|
285
|
+
ariaLabel?: string;
|
|
286
|
+
}
|
|
287
|
+
declare const OraculoSeccionClubOlimpo: React.FC<OraculoSeccionClubOlimpoProps>;
|
|
288
|
+
|
|
289
|
+
export { OraculoButton, type OraculoButtonProps, OraculoCarousel, OraculoCarouselDots, type OraculoCarouselDotsProps, type OraculoCarouselOptions, type OraculoCarouselProps, type OraculoCarouselRef, type OraculoClubOlimpoItem, OraculoClubOlimpoVisual, type OraculoClubOlimpoVisualProps, type OraculoDestacadoItem, OraculoGameCard, type OraculoGameCardProps, type OraculoGameItem, OraculoGameRankCard, type OraculoGameRankCardProps, type OraculoGameRankCardSizes, OraculoGameSlide, type OraculoGameSlideItem, type OraculoGameSlideProps, OraculoLiveCasinoCard, type OraculoLiveCasinoCardProps, type OraculoLiveCasinoItem, OraculoSeccionBonoBienvenida, type OraculoSeccionBonoBienvenidaProps, OraculoSeccionCasino, OraculoSeccionCasinoEnVivo, type OraculoSeccionCasinoEnVivoProps, type OraculoSeccionCasinoProps, OraculoSeccionClubOlimpo, type OraculoSeccionClubOlimpoProps, OraculoSeccionDestacados, type OraculoSeccionDestacadosProps, OraculoSeccionTopJuegos, type OraculoSeccionTopJuegosProps, OraculoSeccionVirtuales, type OraculoSeccionVirtualesProps, OraculoSectionTitle, type OraculoSectionTitleProps, type OraculoTopJuegoItem, OraculoWelcomeBanner, type OraculoWelcomeBannerProps };
|