oraculo-ui 0.1.3 → 0.1.5

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.d.mts CHANGED
@@ -139,7 +139,6 @@ interface OraculoClubOlimpoVisualProps {
139
139
  imgSrcMobile: string;
140
140
  imgSrcDesktopBg?: string;
141
141
  imgSrcDesktopLogo?: string;
142
- priority?: boolean;
143
142
  }
144
143
  declare const OraculoClubOlimpoVisual: React.FC<OraculoClubOlimpoVisualProps>;
145
144
 
@@ -157,7 +156,7 @@ interface OraculoSeccionDestacadosProps {
157
156
  }
158
157
  declare function OraculoSeccionDestacados({ items, title, iconUrl, onViewMore, className, }: OraculoSeccionDestacadosProps): react_jsx_runtime.JSX.Element;
159
158
 
160
- interface OraculoTopJuegoItem {
159
+ interface OraculoGameItem {
161
160
  orden?: number;
162
161
  logo?: string;
163
162
  machine?: number | string;
@@ -170,65 +169,33 @@ interface OraculoTopJuegoItem {
170
169
  tags?: string;
171
170
  lobby_tag?: string | null;
172
171
  background?: string;
173
- rtp?: number;
172
+ rtp?: number | null;
174
173
  demo_allowed?: boolean;
175
174
  gaming_session_required?: boolean;
176
175
  }
176
+
177
177
  interface OraculoSeccionTopJuegosProps {
178
- items: OraculoTopJuegoItem[];
178
+ items: OraculoGameItem[];
179
179
  title?: string;
180
180
  iconUrl?: string;
181
- onCardClick?: () => void;
182
- className?: string;
181
+ onCardClick?: (item: OraculoGameItem) => void;
183
182
  }
184
- declare function OraculoSeccionTopJuegos({ items, title, iconUrl, onCardClick, className, }: OraculoSeccionTopJuegosProps): react_jsx_runtime.JSX.Element;
185
183
 
186
- interface OraculoLiveCasinoItem {
187
- orden?: number;
188
- logo?: string;
189
- machine?: number | string;
190
- name?: string;
191
- web_name?: string;
192
- provider?: string;
193
- sub_provider?: string;
194
- external_id?: string;
195
- type?: string;
196
- tags?: string;
197
- lobby_tag?: string | null;
198
- background?: string;
199
- rtp?: number;
200
- demo_allowed?: boolean;
201
- gaming_session_required?: boolean;
202
- }
184
+ declare function OraculoSeccionTopJuegos({ items, title, iconUrl, onCardClick, }: OraculoSeccionTopJuegosProps): react_jsx_runtime.JSX.Element;
185
+
203
186
  interface OraculoSeccionCasinoEnVivoProps {
204
- items: OraculoLiveCasinoItem[];
187
+ items: OraculoGameItem[];
205
188
  title?: string;
206
189
  subtitle?: string;
207
190
  backgroundMobileUrl?: string;
208
191
  backgroundDesktopUrl?: string;
209
- onCardClick?: (juego: OraculoLiveCasinoItem, index: number) => void;
192
+ onCardClick?: (juego: OraculoGameItem, index: number) => void;
210
193
  onViewMore?: () => void;
211
194
  className?: string;
212
195
  }
196
+
213
197
  declare const OraculoSeccionCasinoEnVivo: React.FC<OraculoSeccionCasinoEnVivoProps>;
214
198
 
215
- interface OraculoGameItem {
216
- orden?: string | number;
217
- logo?: string;
218
- machine?: number | 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
199
  interface OraculoSeccionCasinoProps {
233
200
  items: OraculoGameItem[];
234
201
  title?: string;
@@ -237,8 +204,8 @@ interface OraculoSeccionCasinoProps {
237
204
  onViewMore?: () => void;
238
205
  mosaicFirst?: boolean;
239
206
  gridSize?: number;
240
- className?: string;
241
207
  }
208
+
242
209
  declare const OraculoSeccionCasino: React.FC<OraculoSeccionCasinoProps>;
243
210
 
244
211
  interface OraculoSeccionVirtualesProps {
@@ -249,40 +216,60 @@ interface OraculoSeccionVirtualesProps {
249
216
  onViewMore?: () => void;
250
217
  mosaicFirst?: boolean;
251
218
  gridSize?: number;
252
- className?: string;
253
219
  }
220
+
254
221
  declare const OraculoSeccionVirtuales: React.FC<OraculoSeccionVirtualesProps>;
255
222
 
256
- interface OraculoSeccionBonoBienvenidaProps {
257
- /** Título principal, admite salto con "\n" para dos líneas */
223
+ interface OraculoBonosItem {
224
+ title?: string;
225
+ amount?: string;
226
+ subtitle?: string;
227
+ buttonText?: string;
228
+ onButtonClick?: () => void;
229
+ }
230
+ interface OraculoSeccionBonoProps {
258
231
  headline?: string;
259
- items: OraculoWelcomeBannerProps[];
232
+ items: OraculoBonosItem[];
260
233
  backgroundImageUrl?: string;
261
234
  }
262
- declare const OraculoSeccionBonoBienvenida: React.FC<OraculoSeccionBonoBienvenidaProps>;
263
235
 
264
- type OraculoClubOlimpoItem = {
236
+ declare const OraculoSeccionBonoBienvenida: React.FC<OraculoSeccionBonoProps>;
237
+
238
+ interface OraculoSeccionClubOlimpoItem {
265
239
  text: string;
266
- imgAlt: string;
240
+ buttonLabel?: string;
241
+ imgAlt?: string;
267
242
  images: {
268
243
  mobile: string;
269
- desktopBg: string;
270
- desktopLogo: string;
244
+ desktopBg?: string;
245
+ desktopLogo?: string;
271
246
  };
272
247
  onClick?: () => void;
273
- priority?: boolean;
274
- };
275
- interface OraculoSeccionClubOlimpoProps {
248
+ }
249
+
250
+ interface OraculoSeccionClubOlimpoItems {
276
251
  className?: string;
277
252
  /** Si true, hace el efecto full-bleed (100vw centrado) */
278
253
  fullBleed?: boolean;
279
254
  /** Lista de variantes (puedes pasar 1 o varias). */
280
- items: OraculoClubOlimpoItem[];
255
+ items: OraculoSeccionClubOlimpoItem;
281
256
  /** Índice del item a mostrar si pasas varios. */
282
257
  selectedIndex?: number;
283
258
  /** aria-label de la sección (fallback al imgAlt del item seleccionado). */
284
259
  ariaLabel?: string;
285
260
  }
286
- declare const OraculoSeccionClubOlimpo: React.FC<OraculoSeccionClubOlimpoProps>;
261
+ declare const OraculoSeccionClubOlimpo: React.FC<OraculoSeccionClubOlimpoItems>;
262
+
263
+ interface parametros {
264
+ bonos: OraculoSeccionBonoProps;
265
+ topJuegos: OraculoSeccionTopJuegosProps;
266
+ casino: OraculoSeccionCasinoProps;
267
+ casinoEnVivo: OraculoSeccionCasinoEnVivoProps;
268
+ virtuales: OraculoSeccionVirtualesProps;
269
+ clubOlimpo: OraculoSeccionClubOlimpoItem;
270
+ }
271
+ declare function OraculoPageLanding({ props }: {
272
+ props: parametros;
273
+ }): react_jsx_runtime.JSX.Element;
287
274
 
288
- 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 };
275
+ export { type OraculoBonosItem, OraculoButton, type OraculoButtonProps, OraculoCarousel, OraculoCarouselDots, type OraculoCarouselDotsProps, type OraculoCarouselOptions, type OraculoCarouselProps, type OraculoCarouselRef, OraculoClubOlimpoVisual, type OraculoClubOlimpoVisualProps, type OraculoDestacadoItem, OraculoGameCard, type OraculoGameCardProps, type OraculoGameItem, OraculoGameRankCard, type OraculoGameRankCardProps, type OraculoGameRankCardSizes, OraculoGameSlide, type OraculoGameSlideItem, type OraculoGameSlideProps, OraculoLiveCasinoCard, type OraculoLiveCasinoCardProps, OraculoPageLanding, OraculoSeccionBonoBienvenida, type OraculoSeccionBonoProps, OraculoSeccionCasino, OraculoSeccionCasinoEnVivo, type OraculoSeccionCasinoEnVivoProps, type OraculoSeccionCasinoProps, OraculoSeccionClubOlimpo, type OraculoSeccionClubOlimpoItem, OraculoSeccionDestacados, type OraculoSeccionDestacadosProps, OraculoSeccionTopJuegos, type OraculoSeccionTopJuegosProps, OraculoSeccionVirtuales, type OraculoSeccionVirtualesProps, OraculoSectionTitle, type OraculoSectionTitleProps, OraculoSeccionTopJuegos as OraculoTopJuegoItem, OraculoWelcomeBanner, type OraculoWelcomeBannerProps };
package/dist/index.d.ts CHANGED
@@ -139,7 +139,6 @@ interface OraculoClubOlimpoVisualProps {
139
139
  imgSrcMobile: string;
140
140
  imgSrcDesktopBg?: string;
141
141
  imgSrcDesktopLogo?: string;
142
- priority?: boolean;
143
142
  }
144
143
  declare const OraculoClubOlimpoVisual: React.FC<OraculoClubOlimpoVisualProps>;
145
144
 
@@ -157,7 +156,7 @@ interface OraculoSeccionDestacadosProps {
157
156
  }
158
157
  declare function OraculoSeccionDestacados({ items, title, iconUrl, onViewMore, className, }: OraculoSeccionDestacadosProps): react_jsx_runtime.JSX.Element;
159
158
 
160
- interface OraculoTopJuegoItem {
159
+ interface OraculoGameItem {
161
160
  orden?: number;
162
161
  logo?: string;
163
162
  machine?: number | string;
@@ -170,65 +169,33 @@ interface OraculoTopJuegoItem {
170
169
  tags?: string;
171
170
  lobby_tag?: string | null;
172
171
  background?: string;
173
- rtp?: number;
172
+ rtp?: number | null;
174
173
  demo_allowed?: boolean;
175
174
  gaming_session_required?: boolean;
176
175
  }
176
+
177
177
  interface OraculoSeccionTopJuegosProps {
178
- items: OraculoTopJuegoItem[];
178
+ items: OraculoGameItem[];
179
179
  title?: string;
180
180
  iconUrl?: string;
181
- onCardClick?: () => void;
182
- className?: string;
181
+ onCardClick?: (item: OraculoGameItem) => void;
183
182
  }
184
- declare function OraculoSeccionTopJuegos({ items, title, iconUrl, onCardClick, className, }: OraculoSeccionTopJuegosProps): react_jsx_runtime.JSX.Element;
185
183
 
186
- interface OraculoLiveCasinoItem {
187
- orden?: number;
188
- logo?: string;
189
- machine?: number | string;
190
- name?: string;
191
- web_name?: string;
192
- provider?: string;
193
- sub_provider?: string;
194
- external_id?: string;
195
- type?: string;
196
- tags?: string;
197
- lobby_tag?: string | null;
198
- background?: string;
199
- rtp?: number;
200
- demo_allowed?: boolean;
201
- gaming_session_required?: boolean;
202
- }
184
+ declare function OraculoSeccionTopJuegos({ items, title, iconUrl, onCardClick, }: OraculoSeccionTopJuegosProps): react_jsx_runtime.JSX.Element;
185
+
203
186
  interface OraculoSeccionCasinoEnVivoProps {
204
- items: OraculoLiveCasinoItem[];
187
+ items: OraculoGameItem[];
205
188
  title?: string;
206
189
  subtitle?: string;
207
190
  backgroundMobileUrl?: string;
208
191
  backgroundDesktopUrl?: string;
209
- onCardClick?: (juego: OraculoLiveCasinoItem, index: number) => void;
192
+ onCardClick?: (juego: OraculoGameItem, index: number) => void;
210
193
  onViewMore?: () => void;
211
194
  className?: string;
212
195
  }
196
+
213
197
  declare const OraculoSeccionCasinoEnVivo: React.FC<OraculoSeccionCasinoEnVivoProps>;
214
198
 
215
- interface OraculoGameItem {
216
- orden?: string | number;
217
- logo?: string;
218
- machine?: number | 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
199
  interface OraculoSeccionCasinoProps {
233
200
  items: OraculoGameItem[];
234
201
  title?: string;
@@ -237,8 +204,8 @@ interface OraculoSeccionCasinoProps {
237
204
  onViewMore?: () => void;
238
205
  mosaicFirst?: boolean;
239
206
  gridSize?: number;
240
- className?: string;
241
207
  }
208
+
242
209
  declare const OraculoSeccionCasino: React.FC<OraculoSeccionCasinoProps>;
243
210
 
244
211
  interface OraculoSeccionVirtualesProps {
@@ -249,40 +216,60 @@ interface OraculoSeccionVirtualesProps {
249
216
  onViewMore?: () => void;
250
217
  mosaicFirst?: boolean;
251
218
  gridSize?: number;
252
- className?: string;
253
219
  }
220
+
254
221
  declare const OraculoSeccionVirtuales: React.FC<OraculoSeccionVirtualesProps>;
255
222
 
256
- interface OraculoSeccionBonoBienvenidaProps {
257
- /** Título principal, admite salto con "\n" para dos líneas */
223
+ interface OraculoBonosItem {
224
+ title?: string;
225
+ amount?: string;
226
+ subtitle?: string;
227
+ buttonText?: string;
228
+ onButtonClick?: () => void;
229
+ }
230
+ interface OraculoSeccionBonoProps {
258
231
  headline?: string;
259
- items: OraculoWelcomeBannerProps[];
232
+ items: OraculoBonosItem[];
260
233
  backgroundImageUrl?: string;
261
234
  }
262
- declare const OraculoSeccionBonoBienvenida: React.FC<OraculoSeccionBonoBienvenidaProps>;
263
235
 
264
- type OraculoClubOlimpoItem = {
236
+ declare const OraculoSeccionBonoBienvenida: React.FC<OraculoSeccionBonoProps>;
237
+
238
+ interface OraculoSeccionClubOlimpoItem {
265
239
  text: string;
266
- imgAlt: string;
240
+ buttonLabel?: string;
241
+ imgAlt?: string;
267
242
  images: {
268
243
  mobile: string;
269
- desktopBg: string;
270
- desktopLogo: string;
244
+ desktopBg?: string;
245
+ desktopLogo?: string;
271
246
  };
272
247
  onClick?: () => void;
273
- priority?: boolean;
274
- };
275
- interface OraculoSeccionClubOlimpoProps {
248
+ }
249
+
250
+ interface OraculoSeccionClubOlimpoItems {
276
251
  className?: string;
277
252
  /** Si true, hace el efecto full-bleed (100vw centrado) */
278
253
  fullBleed?: boolean;
279
254
  /** Lista de variantes (puedes pasar 1 o varias). */
280
- items: OraculoClubOlimpoItem[];
255
+ items: OraculoSeccionClubOlimpoItem;
281
256
  /** Índice del item a mostrar si pasas varios. */
282
257
  selectedIndex?: number;
283
258
  /** aria-label de la sección (fallback al imgAlt del item seleccionado). */
284
259
  ariaLabel?: string;
285
260
  }
286
- declare const OraculoSeccionClubOlimpo: React.FC<OraculoSeccionClubOlimpoProps>;
261
+ declare const OraculoSeccionClubOlimpo: React.FC<OraculoSeccionClubOlimpoItems>;
262
+
263
+ interface parametros {
264
+ bonos: OraculoSeccionBonoProps;
265
+ topJuegos: OraculoSeccionTopJuegosProps;
266
+ casino: OraculoSeccionCasinoProps;
267
+ casinoEnVivo: OraculoSeccionCasinoEnVivoProps;
268
+ virtuales: OraculoSeccionVirtualesProps;
269
+ clubOlimpo: OraculoSeccionClubOlimpoItem;
270
+ }
271
+ declare function OraculoPageLanding({ props }: {
272
+ props: parametros;
273
+ }): react_jsx_runtime.JSX.Element;
287
274
 
288
- 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 };
275
+ export { type OraculoBonosItem, OraculoButton, type OraculoButtonProps, OraculoCarousel, OraculoCarouselDots, type OraculoCarouselDotsProps, type OraculoCarouselOptions, type OraculoCarouselProps, type OraculoCarouselRef, OraculoClubOlimpoVisual, type OraculoClubOlimpoVisualProps, type OraculoDestacadoItem, OraculoGameCard, type OraculoGameCardProps, type OraculoGameItem, OraculoGameRankCard, type OraculoGameRankCardProps, type OraculoGameRankCardSizes, OraculoGameSlide, type OraculoGameSlideItem, type OraculoGameSlideProps, OraculoLiveCasinoCard, type OraculoLiveCasinoCardProps, OraculoPageLanding, OraculoSeccionBonoBienvenida, type OraculoSeccionBonoProps, OraculoSeccionCasino, OraculoSeccionCasinoEnVivo, type OraculoSeccionCasinoEnVivoProps, type OraculoSeccionCasinoProps, OraculoSeccionClubOlimpo, type OraculoSeccionClubOlimpoItem, OraculoSeccionDestacados, type OraculoSeccionDestacadosProps, OraculoSeccionTopJuegos, type OraculoSeccionTopJuegosProps, OraculoSeccionVirtuales, type OraculoSeccionVirtualesProps, OraculoSectionTitle, type OraculoSectionTitleProps, OraculoSeccionTopJuegos as OraculoTopJuegoItem, OraculoWelcomeBanner, type OraculoWelcomeBannerProps };
package/dist/index.js CHANGED
@@ -38,6 +38,7 @@ __export(index_exports, {
38
38
  OraculoGameRankCard: () => OraculoGameRankCard,
39
39
  OraculoGameSlide: () => OraculoGameSlide_default,
40
40
  OraculoLiveCasinoCard: () => OraculoLiveCasinoCard_default,
41
+ OraculoPageLanding: () => OraculoPageLanding,
41
42
  OraculoSeccionBonoBienvenida: () => OraculoSeccionBonoBienvenida_default,
42
43
  OraculoSeccionCasino: () => OraculoSeccionCasino_default,
43
44
  OraculoSeccionCasinoEnVivo: () => OraculoSeccionCasinoEnVivo_default,
@@ -46,6 +47,7 @@ __export(index_exports, {
46
47
  OraculoSeccionTopJuegos: () => OraculoSeccionTopJuegos,
47
48
  OraculoSeccionVirtuales: () => OraculoSeccionVirtuales_default,
48
49
  OraculoSectionTitle: () => OraculoSectionTitle,
50
+ OraculoTopJuegoItem: () => OraculoSeccionTopJuegos,
49
51
  OraculoWelcomeBanner: () => OraculoWelcomeBanner_default
50
52
  });
51
53
  module.exports = __toCommonJS(index_exports);
@@ -578,7 +580,7 @@ var OraculoGameSlide = ({
578
580
  {
579
581
  imageUrl: it.imageUrl,
580
582
  size: "sm",
581
- onClick: () => onClick == null ? void 0 : onClick(it, index)
583
+ onClick: () => onClick == null ? void 0 : onClick(it, index + 1)
582
584
  }
583
585
  )
584
586
  },
@@ -983,10 +985,9 @@ function OraculoSeccionTopJuegos({
983
985
  items,
984
986
  title = "Top Juegos",
985
987
  iconUrl,
986
- onCardClick,
987
- className
988
+ onCardClick
988
989
  }) {
989
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("section", { className, style: { width: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_Stack.default, { direction: "column", spacing: 2, useFlexGap: true, children: [
990
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("section", { style: { width: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_Stack.default, { direction: "column", spacing: 2, useFlexGap: true, children: [
990
991
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(OraculoSectionTitle, { title, iconUrl, size: "md" }),
991
992
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
992
993
  import_Box6.default,
@@ -1006,7 +1007,7 @@ function OraculoSeccionTopJuegos({
1006
1007
  {
1007
1008
  imageUrl: juego.logo || "",
1008
1009
  orden: juego.orden || idx + 1,
1009
- onClick: () => console.log(juego.machine)
1010
+ onClick: () => onCardClick == null ? void 0 : onCardClick(juego)
1010
1011
  },
1011
1012
  juego.machine
1012
1013
  ))
@@ -1211,8 +1212,7 @@ var OraculoSeccionCasino = ({
1211
1212
  onItemClick,
1212
1213
  onViewMore,
1213
1214
  mosaicFirst = true,
1214
- gridSize = 4,
1215
- className
1215
+ gridSize = 4
1216
1216
  }) => {
1217
1217
  const carouselRef = (0, import_react3.useRef)(null);
1218
1218
  const [navState, setNavState] = (0, import_react3.useState)({ isStart: true, isEnd: false });
@@ -1228,7 +1228,7 @@ var OraculoSeccionCasino = ({
1228
1228
  const handleViewMore = () => {
1229
1229
  onViewMore == null ? void 0 : onViewMore();
1230
1230
  };
1231
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("section", { className, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_Stack3.default, { direction: "column", spacing: 2, useFlexGap: true, children: [
1231
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("section", { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_Stack3.default, { direction: "column", spacing: 2, useFlexGap: true, children: [
1232
1232
  /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
1233
1233
  import_Box8.default,
1234
1234
  {
@@ -1368,8 +1368,7 @@ var OraculoSeccionVirtuales = ({
1368
1368
  onItemClick,
1369
1369
  onViewMore,
1370
1370
  mosaicFirst = true,
1371
- gridSize = 4,
1372
- className
1371
+ gridSize = 4
1373
1372
  }) => {
1374
1373
  const carouselRef = (0, import_react4.useRef)(null);
1375
1374
  const [navState, setNavState] = (0, import_react4.useState)({ isStart: true, isEnd: false });
@@ -1385,7 +1384,7 @@ var OraculoSeccionVirtuales = ({
1385
1384
  const handleViewMore = () => {
1386
1385
  onViewMore == null ? void 0 : onViewMore();
1387
1386
  };
1388
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("section", { className, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_Stack4.default, { direction: "column", spacing: 2, useFlexGap: true, children: [
1387
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("section", { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_Stack4.default, { direction: "column", spacing: 2, useFlexGap: true, children: [
1389
1388
  /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1390
1389
  import_Box9.default,
1391
1390
  {
@@ -1685,9 +1684,9 @@ var OraculoSeccionClubOlimpo = ({
1685
1684
  }) => {
1686
1685
  const rootRef = (0, import_react6.useRef)(null);
1687
1686
  const bottomRef = (0, import_react6.useRef)(null);
1688
- if (!items || items.length === 0) return null;
1689
- const safeIndex = Math.min(Math.max(selectedIndex, 0), items.length - 1);
1690
- const item = items[safeIndex];
1687
+ if (!items) return null;
1688
+ const safeIndex = Math.min(Math.max(selectedIndex, 0), 1);
1689
+ const item = items;
1691
1690
  (0, import_react6.useLayoutEffect)(() => {
1692
1691
  if (!rootRef.current || !bottomRef.current) return;
1693
1692
  if (typeof ResizeObserver === "undefined") return;
@@ -1723,14 +1722,101 @@ var OraculoSeccionClubOlimpo = ({
1723
1722
  imgAlt: item.imgAlt,
1724
1723
  imgSrcMobile: item.images.mobile,
1725
1724
  imgSrcDesktopBg: item.images.desktopBg,
1726
- imgSrcDesktopLogo: item.images.desktopLogo,
1727
- priority: item.priority
1725
+ imgSrcDesktopLogo: item.images.desktopLogo
1728
1726
  }
1729
1727
  ) })
1730
1728
  }
1731
1729
  );
1732
1730
  };
1733
1731
  var OraculoSeccionClubOlimpo_default = OraculoSeccionClubOlimpo;
1732
+
1733
+ // src/templates/OraculoPageLanding.tsx
1734
+ var import_material2 = require("@mui/material");
1735
+ var import_jsx_runtime20 = require("react/jsx-runtime");
1736
+ function OraculoPageLanding({ props }) {
1737
+ const clubOlimpoItems = [
1738
+ {
1739
+ text: "\xA1Canjea bonos, productos \n y las mejores experiencias!",
1740
+ imgAlt: "Club Olimpo",
1741
+ images: {
1742
+ mobile: "/assets/img/home/ClubOlimpo/FondoMobile.png",
1743
+ desktopBg: "/assets/img/home/ClubOlimpo/FondoDesktop.png",
1744
+ desktopLogo: "/assets/img/home/ClubOlimpo/Logo.png"
1745
+ },
1746
+ onClick: () => console.log("CTA Club Olimpo")
1747
+ }
1748
+ ];
1749
+ const listaDestacados = [
1750
+ { id: 1, src: "/assets/img/home/Destacados/Banner01.png", alt: "Gol Seguro", href: "/destacados" },
1751
+ { id: 2, src: "/assets/img/home/Destacados/Banner02.png", alt: "Promo 2", href: "/destacados" },
1752
+ { id: 3, src: "/assets/img/home/Destacados/Banner01.png", alt: "Gol Seguro", href: "/destacados" },
1753
+ { id: 4, src: "/assets/img/home/Destacados/Banner02.png", alt: "Promo 2", href: "/destacados" }
1754
+ ];
1755
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_material2.Container, { className: "oli-font", sx: { backgroundColor: "#121212", position: "relative", pb: 5 }, maxWidth: false, children: [
1756
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1757
+ OraculoSeccionBonoBienvenida_default,
1758
+ {
1759
+ headline: props.bonos.headline,
1760
+ items: props.bonos.items
1761
+ }
1762
+ ),
1763
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_material2.Stack, { direction: "column", spacing: 12, useFlexGap: true, children: [
1764
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1765
+ OraculoSeccionTopJuegos,
1766
+ {
1767
+ items: props.topJuegos.items,
1768
+ title: props.topJuegos.title,
1769
+ iconUrl: props.topJuegos.iconUrl,
1770
+ onCardClick: props.topJuegos.onCardClick
1771
+ }
1772
+ ),
1773
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1774
+ OraculoSeccionCasino_default,
1775
+ {
1776
+ items: props.casino.items,
1777
+ title: props.casino.title,
1778
+ iconUrl: props.casino.iconUrl,
1779
+ onItemClick: props.casino.onItemClick,
1780
+ onViewMore: props.casino.onViewMore
1781
+ }
1782
+ )
1783
+ ] }),
1784
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1785
+ OraculoSeccionCasinoEnVivo_default,
1786
+ {
1787
+ items: props.casinoEnVivo.items,
1788
+ title: props.casinoEnVivo.title,
1789
+ subtitle: props.casinoEnVivo.subtitle,
1790
+ backgroundMobileUrl: props.casinoEnVivo.backgroundMobileUrl,
1791
+ backgroundDesktopUrl: props.casinoEnVivo.backgroundDesktopUrl,
1792
+ onCardClick: props.casinoEnVivo.onCardClick,
1793
+ onViewMore: props.casinoEnVivo.onViewMore
1794
+ }
1795
+ ),
1796
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_material2.Stack, { direction: "column", spacing: 12, useFlexGap: true, children: [
1797
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1798
+ OraculoSeccionVirtuales_default,
1799
+ {
1800
+ items: props.virtuales.items,
1801
+ title: props.virtuales.title,
1802
+ iconUrl: props.virtuales.iconUrl,
1803
+ onItemClick: props.virtuales.onItemClick,
1804
+ onViewMore: props.virtuales.onViewMore
1805
+ }
1806
+ ),
1807
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1808
+ OraculoSeccionDestacados,
1809
+ {
1810
+ items: listaDestacados,
1811
+ title: "Destacados",
1812
+ iconUrl: "/assets/img/home/Destacados/starIcon.svg",
1813
+ onViewMore: () => console.log("Ver m\xE1s clickeado")
1814
+ }
1815
+ ),
1816
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(OraculoSeccionClubOlimpo_default, { items: props.clubOlimpo })
1817
+ ] })
1818
+ ] });
1819
+ }
1734
1820
  // Annotate the CommonJS export names for ESM import in node:
1735
1821
  0 && (module.exports = {
1736
1822
  OraculoButton,
@@ -1741,6 +1827,7 @@ var OraculoSeccionClubOlimpo_default = OraculoSeccionClubOlimpo;
1741
1827
  OraculoGameRankCard,
1742
1828
  OraculoGameSlide,
1743
1829
  OraculoLiveCasinoCard,
1830
+ OraculoPageLanding,
1744
1831
  OraculoSeccionBonoBienvenida,
1745
1832
  OraculoSeccionCasino,
1746
1833
  OraculoSeccionCasinoEnVivo,
@@ -1749,5 +1836,6 @@ var OraculoSeccionClubOlimpo_default = OraculoSeccionClubOlimpo;
1749
1836
  OraculoSeccionTopJuegos,
1750
1837
  OraculoSeccionVirtuales,
1751
1838
  OraculoSectionTitle,
1839
+ OraculoTopJuegoItem,
1752
1840
  OraculoWelcomeBanner
1753
1841
  });
package/dist/index.mjs CHANGED
@@ -534,7 +534,7 @@ var OraculoGameSlide = ({
534
534
  {
535
535
  imageUrl: it.imageUrl,
536
536
  size: "sm",
537
- onClick: () => onClick == null ? void 0 : onClick(it, index)
537
+ onClick: () => onClick == null ? void 0 : onClick(it, index + 1)
538
538
  }
539
539
  )
540
540
  },
@@ -939,10 +939,9 @@ function OraculoSeccionTopJuegos({
939
939
  items,
940
940
  title = "Top Juegos",
941
941
  iconUrl,
942
- onCardClick,
943
- className
942
+ onCardClick
944
943
  }) {
945
- return /* @__PURE__ */ jsx12("section", { className, style: { width: "100%" }, children: /* @__PURE__ */ jsxs9(Stack, { direction: "column", spacing: 2, useFlexGap: true, children: [
944
+ return /* @__PURE__ */ jsx12("section", { style: { width: "100%" }, children: /* @__PURE__ */ jsxs9(Stack, { direction: "column", spacing: 2, useFlexGap: true, children: [
946
945
  /* @__PURE__ */ jsx12(OraculoSectionTitle, { title, iconUrl, size: "md" }),
947
946
  /* @__PURE__ */ jsx12(
948
947
  Box6,
@@ -962,7 +961,7 @@ function OraculoSeccionTopJuegos({
962
961
  {
963
962
  imageUrl: juego.logo || "",
964
963
  orden: juego.orden || idx + 1,
965
- onClick: () => console.log(juego.machine)
964
+ onClick: () => onCardClick == null ? void 0 : onCardClick(juego)
966
965
  },
967
966
  juego.machine
968
967
  ))
@@ -1167,8 +1166,7 @@ var OraculoSeccionCasino = ({
1167
1166
  onItemClick,
1168
1167
  onViewMore,
1169
1168
  mosaicFirst = true,
1170
- gridSize = 4,
1171
- className
1169
+ gridSize = 4
1172
1170
  }) => {
1173
1171
  const carouselRef = useRef3(null);
1174
1172
  const [navState, setNavState] = useState2({ isStart: true, isEnd: false });
@@ -1184,7 +1182,7 @@ var OraculoSeccionCasino = ({
1184
1182
  const handleViewMore = () => {
1185
1183
  onViewMore == null ? void 0 : onViewMore();
1186
1184
  };
1187
- return /* @__PURE__ */ jsx14("section", { className, children: /* @__PURE__ */ jsxs11(Stack3, { direction: "column", spacing: 2, useFlexGap: true, children: [
1185
+ return /* @__PURE__ */ jsx14("section", { children: /* @__PURE__ */ jsxs11(Stack3, { direction: "column", spacing: 2, useFlexGap: true, children: [
1188
1186
  /* @__PURE__ */ jsxs11(
1189
1187
  Box8,
1190
1188
  {
@@ -1324,8 +1322,7 @@ var OraculoSeccionVirtuales = ({
1324
1322
  onItemClick,
1325
1323
  onViewMore,
1326
1324
  mosaicFirst = true,
1327
- gridSize = 4,
1328
- className
1325
+ gridSize = 4
1329
1326
  }) => {
1330
1327
  const carouselRef = useRef4(null);
1331
1328
  const [navState, setNavState] = useState3({ isStart: true, isEnd: false });
@@ -1341,7 +1338,7 @@ var OraculoSeccionVirtuales = ({
1341
1338
  const handleViewMore = () => {
1342
1339
  onViewMore == null ? void 0 : onViewMore();
1343
1340
  };
1344
- return /* @__PURE__ */ jsx15("section", { className, children: /* @__PURE__ */ jsxs12(Stack4, { direction: "column", spacing: 2, useFlexGap: true, children: [
1341
+ return /* @__PURE__ */ jsx15("section", { children: /* @__PURE__ */ jsxs12(Stack4, { direction: "column", spacing: 2, useFlexGap: true, children: [
1345
1342
  /* @__PURE__ */ jsxs12(
1346
1343
  Box9,
1347
1344
  {
@@ -1641,9 +1638,9 @@ var OraculoSeccionClubOlimpo = ({
1641
1638
  }) => {
1642
1639
  const rootRef = useRef6(null);
1643
1640
  const bottomRef = useRef6(null);
1644
- if (!items || items.length === 0) return null;
1645
- const safeIndex = Math.min(Math.max(selectedIndex, 0), items.length - 1);
1646
- const item = items[safeIndex];
1641
+ if (!items) return null;
1642
+ const safeIndex = Math.min(Math.max(selectedIndex, 0), 1);
1643
+ const item = items;
1647
1644
  useLayoutEffect(() => {
1648
1645
  if (!rootRef.current || !bottomRef.current) return;
1649
1646
  if (typeof ResizeObserver === "undefined") return;
@@ -1679,14 +1676,104 @@ var OraculoSeccionClubOlimpo = ({
1679
1676
  imgAlt: item.imgAlt,
1680
1677
  imgSrcMobile: item.images.mobile,
1681
1678
  imgSrcDesktopBg: item.images.desktopBg,
1682
- imgSrcDesktopLogo: item.images.desktopLogo,
1683
- priority: item.priority
1679
+ imgSrcDesktopLogo: item.images.desktopLogo
1684
1680
  }
1685
1681
  ) })
1686
1682
  }
1687
1683
  );
1688
1684
  };
1689
1685
  var OraculoSeccionClubOlimpo_default = OraculoSeccionClubOlimpo;
1686
+
1687
+ // src/templates/OraculoPageLanding.tsx
1688
+ import {
1689
+ Container,
1690
+ Stack as Stack5
1691
+ } from "@mui/material";
1692
+ import { jsx as jsx18, jsxs as jsxs14 } from "react/jsx-runtime";
1693
+ function OraculoPageLanding({ props }) {
1694
+ const clubOlimpoItems = [
1695
+ {
1696
+ text: "\xA1Canjea bonos, productos \n y las mejores experiencias!",
1697
+ imgAlt: "Club Olimpo",
1698
+ images: {
1699
+ mobile: "/assets/img/home/ClubOlimpo/FondoMobile.png",
1700
+ desktopBg: "/assets/img/home/ClubOlimpo/FondoDesktop.png",
1701
+ desktopLogo: "/assets/img/home/ClubOlimpo/Logo.png"
1702
+ },
1703
+ onClick: () => console.log("CTA Club Olimpo")
1704
+ }
1705
+ ];
1706
+ const listaDestacados = [
1707
+ { id: 1, src: "/assets/img/home/Destacados/Banner01.png", alt: "Gol Seguro", href: "/destacados" },
1708
+ { id: 2, src: "/assets/img/home/Destacados/Banner02.png", alt: "Promo 2", href: "/destacados" },
1709
+ { id: 3, src: "/assets/img/home/Destacados/Banner01.png", alt: "Gol Seguro", href: "/destacados" },
1710
+ { id: 4, src: "/assets/img/home/Destacados/Banner02.png", alt: "Promo 2", href: "/destacados" }
1711
+ ];
1712
+ return /* @__PURE__ */ jsxs14(Container, { className: "oli-font", sx: { backgroundColor: "#121212", position: "relative", pb: 5 }, maxWidth: false, children: [
1713
+ /* @__PURE__ */ jsx18(
1714
+ OraculoSeccionBonoBienvenida_default,
1715
+ {
1716
+ headline: props.bonos.headline,
1717
+ items: props.bonos.items
1718
+ }
1719
+ ),
1720
+ /* @__PURE__ */ jsxs14(Stack5, { direction: "column", spacing: 12, useFlexGap: true, children: [
1721
+ /* @__PURE__ */ jsx18(
1722
+ OraculoSeccionTopJuegos,
1723
+ {
1724
+ items: props.topJuegos.items,
1725
+ title: props.topJuegos.title,
1726
+ iconUrl: props.topJuegos.iconUrl,
1727
+ onCardClick: props.topJuegos.onCardClick
1728
+ }
1729
+ ),
1730
+ /* @__PURE__ */ jsx18(
1731
+ OraculoSeccionCasino_default,
1732
+ {
1733
+ items: props.casino.items,
1734
+ title: props.casino.title,
1735
+ iconUrl: props.casino.iconUrl,
1736
+ onItemClick: props.casino.onItemClick,
1737
+ onViewMore: props.casino.onViewMore
1738
+ }
1739
+ )
1740
+ ] }),
1741
+ /* @__PURE__ */ jsx18(
1742
+ OraculoSeccionCasinoEnVivo_default,
1743
+ {
1744
+ items: props.casinoEnVivo.items,
1745
+ title: props.casinoEnVivo.title,
1746
+ subtitle: props.casinoEnVivo.subtitle,
1747
+ backgroundMobileUrl: props.casinoEnVivo.backgroundMobileUrl,
1748
+ backgroundDesktopUrl: props.casinoEnVivo.backgroundDesktopUrl,
1749
+ onCardClick: props.casinoEnVivo.onCardClick,
1750
+ onViewMore: props.casinoEnVivo.onViewMore
1751
+ }
1752
+ ),
1753
+ /* @__PURE__ */ jsxs14(Stack5, { direction: "column", spacing: 12, useFlexGap: true, children: [
1754
+ /* @__PURE__ */ jsx18(
1755
+ OraculoSeccionVirtuales_default,
1756
+ {
1757
+ items: props.virtuales.items,
1758
+ title: props.virtuales.title,
1759
+ iconUrl: props.virtuales.iconUrl,
1760
+ onItemClick: props.virtuales.onItemClick,
1761
+ onViewMore: props.virtuales.onViewMore
1762
+ }
1763
+ ),
1764
+ /* @__PURE__ */ jsx18(
1765
+ OraculoSeccionDestacados,
1766
+ {
1767
+ items: listaDestacados,
1768
+ title: "Destacados",
1769
+ iconUrl: "/assets/img/home/Destacados/starIcon.svg",
1770
+ onViewMore: () => console.log("Ver m\xE1s clickeado")
1771
+ }
1772
+ ),
1773
+ /* @__PURE__ */ jsx18(OraculoSeccionClubOlimpo_default, { items: props.clubOlimpo })
1774
+ ] })
1775
+ ] });
1776
+ }
1690
1777
  export {
1691
1778
  OraculoButton,
1692
1779
  OraculoCarousel_default as OraculoCarousel,
@@ -1696,6 +1783,7 @@ export {
1696
1783
  OraculoGameRankCard,
1697
1784
  OraculoGameSlide_default as OraculoGameSlide,
1698
1785
  OraculoLiveCasinoCard_default as OraculoLiveCasinoCard,
1786
+ OraculoPageLanding,
1699
1787
  OraculoSeccionBonoBienvenida_default as OraculoSeccionBonoBienvenida,
1700
1788
  OraculoSeccionCasino_default as OraculoSeccionCasino,
1701
1789
  OraculoSeccionCasinoEnVivo_default as OraculoSeccionCasinoEnVivo,
@@ -1704,5 +1792,6 @@ export {
1704
1792
  OraculoSeccionTopJuegos,
1705
1793
  OraculoSeccionVirtuales_default as OraculoSeccionVirtuales,
1706
1794
  OraculoSectionTitle,
1795
+ OraculoSeccionTopJuegos as OraculoTopJuegoItem,
1707
1796
  OraculoWelcomeBanner_default as OraculoWelcomeBanner
1708
1797
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oraculo-ui",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",