oraculo-ui 0.1.6 → 0.1.8

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
@@ -43,6 +43,11 @@ interface OraculoCarouselOptions {
43
43
  gap?: string;
44
44
  pagination?: boolean;
45
45
  arrows?: boolean;
46
+ drag?: boolean;
47
+ focus?: string | "center";
48
+ autoWidth?: boolean;
49
+ trimSpace?: boolean;
50
+ rewind?: boolean;
46
51
  padding?: {
47
52
  left?: string;
48
53
  right?: string;
@@ -60,7 +65,7 @@ interface OraculoCarouselProps<T = any> {
60
65
  renderItem: (item: T, index: number) => ReactNode;
61
66
  perPage?: number;
62
67
  gap?: string;
63
- breakpoints?: {};
68
+ breakpoints?: Record<string | number, OraculoCarouselOptions>;
64
69
  options?: OraculoCarouselOptions;
65
70
  className?: string;
66
71
  onMove?: (info: {
@@ -142,18 +147,26 @@ interface OraculoClubOlimpoVisualProps {
142
147
  }
143
148
  declare const OraculoClubOlimpoVisual: React.FC<OraculoClubOlimpoVisualProps>;
144
149
 
145
- interface OraculoDestacadoItem {
146
- id?: string | number;
147
- src: string;
148
- alt: string;
150
+ interface OraculoSeccionDestacadosItem {
151
+ body: string;
152
+ image: string;
153
+ title: string;
154
+ summary_body: string;
155
+ summary_title: string;
156
+ groups_forbidden: number[];
157
+ groups_allowed: number[];
158
+ promotion: string;
159
+ tags: string;
160
+ summary_image?: string;
149
161
  }
150
162
  interface OraculoSeccionDestacadosProps {
151
- items: OraculoDestacadoItem[];
163
+ items: OraculoSeccionDestacadosItem[];
152
164
  title?: string;
153
165
  iconUrl?: string;
154
166
  onViewMore?: () => void;
155
167
  className?: string;
156
168
  }
169
+
157
170
  declare function OraculoSeccionDestacados({ items, title, iconUrl, onViewMore, className, }: OraculoSeccionDestacadosProps): react_jsx_runtime.JSX.Element;
158
171
 
159
172
  interface OraculoGameItem {
@@ -267,9 +280,10 @@ interface parametros {
267
280
  casinoEnVivo: OraculoSeccionCasinoEnVivoProps;
268
281
  virtuales: OraculoSeccionVirtualesProps;
269
282
  clubOlimpo: OraculoSeccionClubOlimpoItem;
283
+ destacados: OraculoSeccionDestacadosProps;
270
284
  }
271
285
  declare function OraculoPageLanding({ props }: {
272
286
  props: parametros;
273
287
  }): react_jsx_runtime.JSX.Element;
274
288
 
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 };
289
+ export { type OraculoBonosItem, OraculoButton, type OraculoButtonProps, OraculoCarousel, OraculoCarouselDots, type OraculoCarouselDotsProps, type OraculoCarouselOptions, type OraculoCarouselProps, type OraculoCarouselRef, OraculoClubOlimpoVisual, type OraculoClubOlimpoVisualProps, 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 OraculoSeccionDestacadosItem, type OraculoSeccionDestacadosProps, OraculoSeccionTopJuegos, type OraculoSeccionTopJuegosProps, OraculoSeccionVirtuales, type OraculoSeccionVirtualesProps, OraculoSectionTitle, type OraculoSectionTitleProps, OraculoSeccionTopJuegos as OraculoTopJuegoItem, OraculoWelcomeBanner, type OraculoWelcomeBannerProps };
package/dist/index.d.ts CHANGED
@@ -43,6 +43,11 @@ interface OraculoCarouselOptions {
43
43
  gap?: string;
44
44
  pagination?: boolean;
45
45
  arrows?: boolean;
46
+ drag?: boolean;
47
+ focus?: string | "center";
48
+ autoWidth?: boolean;
49
+ trimSpace?: boolean;
50
+ rewind?: boolean;
46
51
  padding?: {
47
52
  left?: string;
48
53
  right?: string;
@@ -60,7 +65,7 @@ interface OraculoCarouselProps<T = any> {
60
65
  renderItem: (item: T, index: number) => ReactNode;
61
66
  perPage?: number;
62
67
  gap?: string;
63
- breakpoints?: {};
68
+ breakpoints?: Record<string | number, OraculoCarouselOptions>;
64
69
  options?: OraculoCarouselOptions;
65
70
  className?: string;
66
71
  onMove?: (info: {
@@ -142,18 +147,26 @@ interface OraculoClubOlimpoVisualProps {
142
147
  }
143
148
  declare const OraculoClubOlimpoVisual: React.FC<OraculoClubOlimpoVisualProps>;
144
149
 
145
- interface OraculoDestacadoItem {
146
- id?: string | number;
147
- src: string;
148
- alt: string;
150
+ interface OraculoSeccionDestacadosItem {
151
+ body: string;
152
+ image: string;
153
+ title: string;
154
+ summary_body: string;
155
+ summary_title: string;
156
+ groups_forbidden: number[];
157
+ groups_allowed: number[];
158
+ promotion: string;
159
+ tags: string;
160
+ summary_image?: string;
149
161
  }
150
162
  interface OraculoSeccionDestacadosProps {
151
- items: OraculoDestacadoItem[];
163
+ items: OraculoSeccionDestacadosItem[];
152
164
  title?: string;
153
165
  iconUrl?: string;
154
166
  onViewMore?: () => void;
155
167
  className?: string;
156
168
  }
169
+
157
170
  declare function OraculoSeccionDestacados({ items, title, iconUrl, onViewMore, className, }: OraculoSeccionDestacadosProps): react_jsx_runtime.JSX.Element;
158
171
 
159
172
  interface OraculoGameItem {
@@ -267,9 +280,10 @@ interface parametros {
267
280
  casinoEnVivo: OraculoSeccionCasinoEnVivoProps;
268
281
  virtuales: OraculoSeccionVirtualesProps;
269
282
  clubOlimpo: OraculoSeccionClubOlimpoItem;
283
+ destacados: OraculoSeccionDestacadosProps;
270
284
  }
271
285
  declare function OraculoPageLanding({ props }: {
272
286
  props: parametros;
273
287
  }): react_jsx_runtime.JSX.Element;
274
288
 
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 };
289
+ export { type OraculoBonosItem, OraculoButton, type OraculoButtonProps, OraculoCarousel, OraculoCarouselDots, type OraculoCarouselDotsProps, type OraculoCarouselOptions, type OraculoCarouselProps, type OraculoCarouselRef, OraculoClubOlimpoVisual, type OraculoClubOlimpoVisualProps, 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 OraculoSeccionDestacadosItem, type OraculoSeccionDestacadosProps, OraculoSeccionTopJuegos, type OraculoSeccionTopJuegosProps, OraculoSeccionVirtuales, type OraculoSeccionVirtualesProps, OraculoSectionTitle, type OraculoSectionTitleProps, OraculoSeccionTopJuegos as OraculoTopJuegoItem, OraculoWelcomeBanner, type OraculoWelcomeBannerProps };
package/dist/index.js CHANGED
@@ -183,12 +183,9 @@ var OraculoCarousel = (0, import_react.forwardRef)(
183
183
  ({
184
184
  items = [],
185
185
  renderItem,
186
- perPage = 4,
187
- gap = "12px",
188
- breakpoints = {
189
- 1024: { perPage: 3, gap: "10px" },
190
- 768: { perPage: 1.3, gap: "10px", padding: { right: "16px" } }
191
- },
186
+ perPage = 1,
187
+ gap = "0px",
188
+ breakpoints,
192
189
  options = {},
193
190
  className = "",
194
191
  onMove
@@ -212,9 +209,9 @@ var OraculoCarousel = (0, import_react.forwardRef)(
212
209
  (splide) => {
213
210
  const index = splide.index;
214
211
  const total = splide.length;
215
- const perPage2 = splide.options.perPage || 1;
212
+ const currentPerPage = splide.options.perPage || 1;
216
213
  const isStart = index === 0;
217
- const isEnd = index >= total - perPage2;
214
+ const isEnd = index >= total - currentPerPage;
218
215
  onMove == null ? void 0 : onMove({ index, isStart, isEnd, total });
219
216
  },
220
217
  [onMove]
@@ -225,24 +222,25 @@ var OraculoCarousel = (0, import_react.forwardRef)(
225
222
  },
226
223
  [handleMove]
227
224
  );
225
+ const mergedOptions = {
226
+ type: "slide",
227
+ trimSpace: false,
228
+ drag: true,
229
+ pagination: false,
230
+ arrows: false,
231
+ rewind: false,
232
+ focus: "start",
233
+ autoWidth: false,
234
+ perPage,
235
+ gap,
236
+ breakpoints,
237
+ ...options
238
+ };
228
239
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className, style: { width: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
229
240
  Splide,
230
241
  {
231
242
  ref: splideRef,
232
- options: {
233
- type: "slide",
234
- trimSpace: false,
235
- perPage,
236
- gap,
237
- drag: true,
238
- pagination: false,
239
- rewind: false,
240
- arrows: false,
241
- focus: 0,
242
- autoWidth: true,
243
- breakpoints,
244
- ...options
245
- },
243
+ options: mergedOptions,
246
244
  onMove: handleMove,
247
245
  onMounted: handleMounted,
248
246
  children: items.map((item, index) => {
@@ -610,14 +608,17 @@ var OraculoGameSlide = ({
610
608
  "& > *": { width: "100%", height: "100%" }
611
609
  }
612
610
  },
613
- children: items.map((it, index) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_Box4.default, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
614
- OraculoGameCard_default,
615
- {
616
- imageUrl: it.imageUrl,
617
- size: "sm",
618
- onClick: () => onClick == null ? void 0 : onClick(it, index)
619
- }
620
- ) }, it.id))
611
+ children: items.map((it, index) => {
612
+ var _a;
613
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_Box4.default, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
614
+ OraculoGameCard_default,
615
+ {
616
+ imageUrl: it.imageUrl,
617
+ size: "sm",
618
+ onClick: () => onClick == null ? void 0 : onClick(it, index)
619
+ }
620
+ ) }, (_a = it.id) != null ? _a : index);
621
+ })
621
622
  }
622
623
  );
623
624
  };
@@ -888,47 +889,31 @@ function OraculoSeccionDestacados({
888
889
  marginBottom: 16
889
890
  },
890
891
  children: [
891
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
892
- OraculoSectionTitle,
893
- {
894
- title,
895
- iconUrl,
896
- size: "md"
897
- }
898
- ),
899
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
900
- "div",
901
- {
902
- style: {
903
- display: "flex",
904
- gap: 8
905
- },
906
- children: [
907
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
908
- OraculoButton,
909
- {
910
- ariaLabel: "Anterior",
911
- variant: "secondary",
912
- iconOnly: true,
913
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ChevronLeftRounded_default, {}),
914
- onClick: handlePrev,
915
- disabled: navState.isStart
916
- }
917
- ),
918
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
919
- OraculoButton,
920
- {
921
- ariaLabel: "Siguiente",
922
- variant: "secondary",
923
- iconOnly: true,
924
- rightIcon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ChevronRightRounded_default, {}),
925
- onClick: handleNext,
926
- disabled: navState.isEnd
927
- }
928
- )
929
- ]
930
- }
931
- ),
892
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(OraculoSectionTitle, { title, iconUrl, size: "md" }),
893
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { style: { display: "flex", gap: 8 }, children: [
894
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
895
+ OraculoButton,
896
+ {
897
+ ariaLabel: "Anterior",
898
+ variant: "secondary",
899
+ iconOnly: true,
900
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ChevronLeftRounded_default, {}),
901
+ onClick: handlePrev,
902
+ disabled: navState.isStart
903
+ }
904
+ ),
905
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
906
+ OraculoButton,
907
+ {
908
+ ariaLabel: "Siguiente",
909
+ variant: "secondary",
910
+ iconOnly: true,
911
+ rightIcon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ChevronRightRounded_default, {}),
912
+ onClick: handleNext,
913
+ disabled: navState.isEnd
914
+ }
915
+ )
916
+ ] }),
932
917
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(OraculoButton, { variant: "secondary", onClick: handleViewMore, children: "Ver m\xE1s" })
933
918
  ]
934
919
  }
@@ -945,32 +930,29 @@ function OraculoSeccionDestacados({
945
930
  768: { perPage: 1.15, focus: "start" },
946
931
  1024: { perPage: 2.5, focus: "start" }
947
932
  },
948
- renderItem: (item) => {
949
- var _a;
950
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
951
- "div",
952
- {
953
- style: {
954
- textAlign: "center",
955
- marginTop: 16
956
- },
957
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
958
- "img",
959
- {
960
- src: item.src,
961
- alt: item.alt,
962
- style: {
963
- width: "100%",
964
- height: "auto",
965
- borderRadius: 8,
966
- display: "block"
967
- }
968
- }
969
- )
933
+ renderItem: (item) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
934
+ "div",
935
+ {
936
+ style: {
937
+ textAlign: "center",
938
+ marginTop: 16
970
939
  },
971
- (_a = item.id) != null ? _a : item.src
972
- );
973
- },
940
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
941
+ "img",
942
+ {
943
+ src: item.image,
944
+ alt: item.title,
945
+ style: {
946
+ width: "100%",
947
+ height: "auto",
948
+ borderRadius: 8,
949
+ display: "block"
950
+ }
951
+ }
952
+ )
953
+ },
954
+ `${item.title}-${item.image}`
955
+ ),
974
956
  onMove: ({ isStart, isEnd }) => setNavState({ isStart, isEnd })
975
957
  }
976
958
  )
@@ -1748,6 +1730,7 @@ var OraculoSeccionClubOlimpo_default = OraculoSeccionClubOlimpo;
1748
1730
 
1749
1731
  // src/templates/OraculoPageLanding.tsx
1750
1732
  var import_material2 = require("@mui/material");
1733
+ var import_css = require("@splidejs/react-splide/css");
1751
1734
  var import_jsx_runtime20 = require("react/jsx-runtime");
1752
1735
  function OraculoPageLanding({ props }) {
1753
1736
  const clubOlimpoItems = [
@@ -1763,10 +1746,52 @@ function OraculoPageLanding({ props }) {
1763
1746
  }
1764
1747
  ];
1765
1748
  const listaDestacados = [
1766
- { id: 1, src: "/assets/img/home/Destacados/Banner01.png", alt: "Gol Seguro", href: "/destacados" },
1767
- { id: 2, src: "/assets/img/home/Destacados/Banner02.png", alt: "Promo 2", href: "/destacados" },
1768
- { id: 3, src: "/assets/img/home/Destacados/Banner01.png", alt: "Gol Seguro", href: "/destacados" },
1769
- { id: 4, src: "/assets/img/home/Destacados/Banner02.png", alt: "Promo 2", href: "/destacados" }
1749
+ {
1750
+ image: "/assets/img/home/Destacados/Banner01.png",
1751
+ title: "Gol Seguro",
1752
+ tags: "/destacados",
1753
+ // aquí puedes usar la ruta que antes estaba en href
1754
+ body: "",
1755
+ summary_body: "",
1756
+ summary_title: "",
1757
+ groups_forbidden: [],
1758
+ groups_allowed: [],
1759
+ promotion: ""
1760
+ // summary_image: "/lo-que-sea.png", // opcional
1761
+ },
1762
+ {
1763
+ image: "/assets/img/home/Destacados/Banner02.png",
1764
+ title: "Promo 2",
1765
+ tags: "/destacados",
1766
+ body: "",
1767
+ summary_body: "",
1768
+ summary_title: "",
1769
+ groups_forbidden: [],
1770
+ groups_allowed: [],
1771
+ promotion: ""
1772
+ },
1773
+ {
1774
+ image: "/assets/img/home/Destacados/Banner01.png",
1775
+ title: "Gol Seguro",
1776
+ tags: "/destacados",
1777
+ body: "",
1778
+ summary_body: "",
1779
+ summary_title: "",
1780
+ groups_forbidden: [],
1781
+ groups_allowed: [],
1782
+ promotion: ""
1783
+ },
1784
+ {
1785
+ image: "/assets/img/home/Destacados/Banner02.png",
1786
+ title: "Promo 2",
1787
+ tags: "/destacados",
1788
+ body: "",
1789
+ summary_body: "",
1790
+ summary_title: "",
1791
+ groups_forbidden: [],
1792
+ groups_allowed: [],
1793
+ promotion: ""
1794
+ }
1770
1795
  ];
1771
1796
  return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_material2.Container, { className: "oli-font", sx: { backgroundColor: "#121212", position: "relative", pb: 5 }, maxWidth: false, children: [
1772
1797
  /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
package/dist/index.mjs CHANGED
@@ -121,10 +121,10 @@ var OraculoCarouselDots_default = OraculoCarouselDots;
121
121
 
122
122
  // src/molecules/OraculoCarousel/OraculoCarousel.tsx
123
123
  import {
124
- useRef,
125
- useImperativeHandle,
126
124
  forwardRef,
127
- useCallback
125
+ useCallback,
126
+ useImperativeHandle,
127
+ useRef
128
128
  } from "react";
129
129
  import {
130
130
  Splide as SplideRaw,
@@ -137,12 +137,9 @@ var OraculoCarousel = forwardRef(
137
137
  ({
138
138
  items = [],
139
139
  renderItem,
140
- perPage = 4,
141
- gap = "12px",
142
- breakpoints = {
143
- 1024: { perPage: 3, gap: "10px" },
144
- 768: { perPage: 1.3, gap: "10px", padding: { right: "16px" } }
145
- },
140
+ perPage = 1,
141
+ gap = "0px",
142
+ breakpoints,
146
143
  options = {},
147
144
  className = "",
148
145
  onMove
@@ -166,9 +163,9 @@ var OraculoCarousel = forwardRef(
166
163
  (splide) => {
167
164
  const index = splide.index;
168
165
  const total = splide.length;
169
- const perPage2 = splide.options.perPage || 1;
166
+ const currentPerPage = splide.options.perPage || 1;
170
167
  const isStart = index === 0;
171
- const isEnd = index >= total - perPage2;
168
+ const isEnd = index >= total - currentPerPage;
172
169
  onMove == null ? void 0 : onMove({ index, isStart, isEnd, total });
173
170
  },
174
171
  [onMove]
@@ -179,24 +176,25 @@ var OraculoCarousel = forwardRef(
179
176
  },
180
177
  [handleMove]
181
178
  );
179
+ const mergedOptions = {
180
+ type: "slide",
181
+ trimSpace: false,
182
+ drag: true,
183
+ pagination: false,
184
+ arrows: false,
185
+ rewind: false,
186
+ focus: "start",
187
+ autoWidth: false,
188
+ perPage,
189
+ gap,
190
+ breakpoints,
191
+ ...options
192
+ };
182
193
  return /* @__PURE__ */ jsx4("div", { className, style: { width: "100%" }, children: /* @__PURE__ */ jsx4(
183
194
  Splide,
184
195
  {
185
196
  ref: splideRef,
186
- options: {
187
- type: "slide",
188
- trimSpace: false,
189
- perPage,
190
- gap,
191
- drag: true,
192
- pagination: false,
193
- rewind: false,
194
- arrows: false,
195
- focus: 0,
196
- autoWidth: true,
197
- breakpoints,
198
- ...options
199
- },
197
+ options: mergedOptions,
200
198
  onMove: handleMove,
201
199
  onMounted: handleMounted,
202
200
  children: items.map((item, index) => {
@@ -564,14 +562,17 @@ var OraculoGameSlide = ({
564
562
  "& > *": { width: "100%", height: "100%" }
565
563
  }
566
564
  },
567
- children: items.map((it, index) => /* @__PURE__ */ jsx8(Box4, { children: /* @__PURE__ */ jsx8(
568
- OraculoGameCard_default,
569
- {
570
- imageUrl: it.imageUrl,
571
- size: "sm",
572
- onClick: () => onClick == null ? void 0 : onClick(it, index)
573
- }
574
- ) }, it.id))
565
+ children: items.map((it, index) => {
566
+ var _a;
567
+ return /* @__PURE__ */ jsx8(Box4, { children: /* @__PURE__ */ jsx8(
568
+ OraculoGameCard_default,
569
+ {
570
+ imageUrl: it.imageUrl,
571
+ size: "sm",
572
+ onClick: () => onClick == null ? void 0 : onClick(it, index)
573
+ }
574
+ ) }, (_a = it.id) != null ? _a : index);
575
+ })
575
576
  }
576
577
  );
577
578
  };
@@ -842,47 +843,31 @@ function OraculoSeccionDestacados({
842
843
  marginBottom: 16
843
844
  },
844
845
  children: [
845
- /* @__PURE__ */ jsx11(
846
- OraculoSectionTitle,
847
- {
848
- title,
849
- iconUrl,
850
- size: "md"
851
- }
852
- ),
853
- /* @__PURE__ */ jsxs8(
854
- "div",
855
- {
856
- style: {
857
- display: "flex",
858
- gap: 8
859
- },
860
- children: [
861
- /* @__PURE__ */ jsx11(
862
- OraculoButton,
863
- {
864
- ariaLabel: "Anterior",
865
- variant: "secondary",
866
- iconOnly: true,
867
- leftIcon: /* @__PURE__ */ jsx11(ChevronLeftRounded_default, {}),
868
- onClick: handlePrev,
869
- disabled: navState.isStart
870
- }
871
- ),
872
- /* @__PURE__ */ jsx11(
873
- OraculoButton,
874
- {
875
- ariaLabel: "Siguiente",
876
- variant: "secondary",
877
- iconOnly: true,
878
- rightIcon: /* @__PURE__ */ jsx11(ChevronRightRounded_default, {}),
879
- onClick: handleNext,
880
- disabled: navState.isEnd
881
- }
882
- )
883
- ]
884
- }
885
- ),
846
+ /* @__PURE__ */ jsx11(OraculoSectionTitle, { title, iconUrl, size: "md" }),
847
+ /* @__PURE__ */ jsxs8("div", { style: { display: "flex", gap: 8 }, children: [
848
+ /* @__PURE__ */ jsx11(
849
+ OraculoButton,
850
+ {
851
+ ariaLabel: "Anterior",
852
+ variant: "secondary",
853
+ iconOnly: true,
854
+ leftIcon: /* @__PURE__ */ jsx11(ChevronLeftRounded_default, {}),
855
+ onClick: handlePrev,
856
+ disabled: navState.isStart
857
+ }
858
+ ),
859
+ /* @__PURE__ */ jsx11(
860
+ OraculoButton,
861
+ {
862
+ ariaLabel: "Siguiente",
863
+ variant: "secondary",
864
+ iconOnly: true,
865
+ rightIcon: /* @__PURE__ */ jsx11(ChevronRightRounded_default, {}),
866
+ onClick: handleNext,
867
+ disabled: navState.isEnd
868
+ }
869
+ )
870
+ ] }),
886
871
  /* @__PURE__ */ jsx11(OraculoButton, { variant: "secondary", onClick: handleViewMore, children: "Ver m\xE1s" })
887
872
  ]
888
873
  }
@@ -899,32 +884,29 @@ function OraculoSeccionDestacados({
899
884
  768: { perPage: 1.15, focus: "start" },
900
885
  1024: { perPage: 2.5, focus: "start" }
901
886
  },
902
- renderItem: (item) => {
903
- var _a;
904
- return /* @__PURE__ */ jsx11(
905
- "div",
906
- {
907
- style: {
908
- textAlign: "center",
909
- marginTop: 16
910
- },
911
- children: /* @__PURE__ */ jsx11(
912
- "img",
913
- {
914
- src: item.src,
915
- alt: item.alt,
916
- style: {
917
- width: "100%",
918
- height: "auto",
919
- borderRadius: 8,
920
- display: "block"
921
- }
922
- }
923
- )
887
+ renderItem: (item) => /* @__PURE__ */ jsx11(
888
+ "div",
889
+ {
890
+ style: {
891
+ textAlign: "center",
892
+ marginTop: 16
924
893
  },
925
- (_a = item.id) != null ? _a : item.src
926
- );
927
- },
894
+ children: /* @__PURE__ */ jsx11(
895
+ "img",
896
+ {
897
+ src: item.image,
898
+ alt: item.title,
899
+ style: {
900
+ width: "100%",
901
+ height: "auto",
902
+ borderRadius: 8,
903
+ display: "block"
904
+ }
905
+ }
906
+ )
907
+ },
908
+ `${item.title}-${item.image}`
909
+ ),
928
910
  onMove: ({ isStart, isEnd }) => setNavState({ isStart, isEnd })
929
911
  }
930
912
  )
@@ -1705,6 +1687,7 @@ import {
1705
1687
  Container,
1706
1688
  Stack as Stack5
1707
1689
  } from "@mui/material";
1690
+ import "@splidejs/react-splide/css";
1708
1691
  import { jsx as jsx18, jsxs as jsxs14 } from "react/jsx-runtime";
1709
1692
  function OraculoPageLanding({ props }) {
1710
1693
  const clubOlimpoItems = [
@@ -1720,10 +1703,52 @@ function OraculoPageLanding({ props }) {
1720
1703
  }
1721
1704
  ];
1722
1705
  const listaDestacados = [
1723
- { id: 1, src: "/assets/img/home/Destacados/Banner01.png", alt: "Gol Seguro", href: "/destacados" },
1724
- { id: 2, src: "/assets/img/home/Destacados/Banner02.png", alt: "Promo 2", href: "/destacados" },
1725
- { id: 3, src: "/assets/img/home/Destacados/Banner01.png", alt: "Gol Seguro", href: "/destacados" },
1726
- { id: 4, src: "/assets/img/home/Destacados/Banner02.png", alt: "Promo 2", href: "/destacados" }
1706
+ {
1707
+ image: "/assets/img/home/Destacados/Banner01.png",
1708
+ title: "Gol Seguro",
1709
+ tags: "/destacados",
1710
+ // aquí puedes usar la ruta que antes estaba en href
1711
+ body: "",
1712
+ summary_body: "",
1713
+ summary_title: "",
1714
+ groups_forbidden: [],
1715
+ groups_allowed: [],
1716
+ promotion: ""
1717
+ // summary_image: "/lo-que-sea.png", // opcional
1718
+ },
1719
+ {
1720
+ image: "/assets/img/home/Destacados/Banner02.png",
1721
+ title: "Promo 2",
1722
+ tags: "/destacados",
1723
+ body: "",
1724
+ summary_body: "",
1725
+ summary_title: "",
1726
+ groups_forbidden: [],
1727
+ groups_allowed: [],
1728
+ promotion: ""
1729
+ },
1730
+ {
1731
+ image: "/assets/img/home/Destacados/Banner01.png",
1732
+ title: "Gol Seguro",
1733
+ tags: "/destacados",
1734
+ body: "",
1735
+ summary_body: "",
1736
+ summary_title: "",
1737
+ groups_forbidden: [],
1738
+ groups_allowed: [],
1739
+ promotion: ""
1740
+ },
1741
+ {
1742
+ image: "/assets/img/home/Destacados/Banner02.png",
1743
+ title: "Promo 2",
1744
+ tags: "/destacados",
1745
+ body: "",
1746
+ summary_body: "",
1747
+ summary_title: "",
1748
+ groups_forbidden: [],
1749
+ groups_allowed: [],
1750
+ promotion: ""
1751
+ }
1727
1752
  ];
1728
1753
  return /* @__PURE__ */ jsxs14(Container, { className: "oli-font", sx: { backgroundColor: "#121212", position: "relative", pb: 5 }, maxWidth: false, children: [
1729
1754
  /* @__PURE__ */ jsx18(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oraculo-ui",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",
@@ -15,9 +15,9 @@
15
15
  },
16
16
  "peerDependencies": {
17
17
  "@mui/material": ">=5",
18
+ "@splidejs/react-splide": ">=0.7.0",
18
19
  "react": ">=18",
19
- "react-dom": ">=18",
20
- "@splidejs/react-splide": ">=0.7.0"
20
+ "react-dom": ">=18"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/react": "^18.3.27",