oraculo-ui 0.1.11 → 0.1.12
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-4ZHLRFV2.css +221 -0
- package/dist/OraculoSeccionBonoBienvenida-4ZHLRFV2.css.map +1 -0
- package/dist/OraculoSeccionBonoBienvenida-6L54EBL3.mjs +9 -0
- package/dist/OraculoSeccionBonoBienvenida-6L54EBL3.mjs.map +1 -0
- package/dist/OraculoSeccionCasino-CPSKAAFH.css +398 -0
- package/dist/OraculoSeccionCasino-CPSKAAFH.css.map +1 -0
- package/dist/OraculoSeccionCasino-FHD2WBDU.mjs +13 -0
- package/dist/OraculoSeccionCasino-FHD2WBDU.mjs.map +1 -0
- package/dist/{OraculoSeccionCasino-H6CXFXMN.mjs → OraculoSeccionCasino-ORWFZCMV.mjs} +1 -1
- package/dist/OraculoSeccionCasinoEnVivo-7W64K4YQ.css +157 -0
- package/dist/OraculoSeccionCasinoEnVivo-7W64K4YQ.css.map +1 -0
- package/dist/OraculoSeccionCasinoEnVivo-EPVIACRV.mjs +9 -0
- package/dist/OraculoSeccionCasinoEnVivo-EPVIACRV.mjs.map +1 -0
- package/dist/OraculoSeccionClubOlimpo-63QCT4A2.mjs +10 -0
- package/dist/OraculoSeccionClubOlimpo-63QCT4A2.mjs.map +1 -0
- package/dist/OraculoSeccionClubOlimpo-BLUJXLUC.mjs +8 -0
- package/dist/OraculoSeccionClubOlimpo-BLUJXLUC.mjs.map +1 -0
- package/dist/OraculoSeccionClubOlimpo-F2AFK4G3.css +274 -0
- package/dist/OraculoSeccionClubOlimpo-F2AFK4G3.css.map +1 -0
- package/dist/OraculoSeccionClubOlimpo-ZCBMTUL3.css +117 -0
- package/dist/OraculoSeccionClubOlimpo-ZCBMTUL3.css.map +1 -0
- package/dist/OraculoSeccionDestacados-5RFVEBFL.mjs +13 -0
- package/dist/OraculoSeccionDestacados-5RFVEBFL.mjs.map +1 -0
- package/dist/{OraculoSeccionDestacados-EPL4KZCF.mjs → OraculoSeccionDestacados-6D4LKX4H.mjs} +1 -1
- package/dist/OraculoSeccionDestacados-AMMYUK67.css +398 -0
- package/dist/OraculoSeccionDestacados-AMMYUK67.css.map +1 -0
- package/dist/OraculoSeccionTopJuegos-K6CHEKEP.mjs +13 -0
- package/dist/OraculoSeccionTopJuegos-K6CHEKEP.mjs.map +1 -0
- package/dist/{OraculoSeccionTopJuegos-DWEO36ND.mjs → OraculoSeccionTopJuegos-LEFQWP7T.mjs} +1 -1
- package/dist/OraculoSeccionTopJuegos-XBGNNR6G.css +398 -0
- package/dist/OraculoSeccionTopJuegos-XBGNNR6G.css.map +1 -0
- package/dist/{OraculoSeccionVirtuales-IBYOMEJV.mjs → OraculoSeccionVirtuales-FKHGLEVT.mjs} +1 -1
- package/dist/OraculoSeccionVirtuales-NEIWD2BT.mjs +13 -0
- package/dist/OraculoSeccionVirtuales-NEIWD2BT.mjs.map +1 -0
- package/dist/OraculoSeccionVirtuales-SSM6EDST.css +398 -0
- package/dist/OraculoSeccionVirtuales-SSM6EDST.css.map +1 -0
- package/dist/chunk-FIOWVLJP.mjs +7 -0
- package/dist/chunk-FIOWVLJP.mjs.map +1 -0
- package/dist/{chunk-ECHAXSTL.mjs → chunk-FROEVP3X.mjs} +314 -1114
- package/dist/chunk-IGAIIVJZ.mjs +74 -0
- package/dist/chunk-IGAIIVJZ.mjs.map +1 -0
- package/dist/chunk-MC4XEBI3.mjs +1277 -0
- package/dist/chunk-MC4XEBI3.mjs.map +1 -0
- package/dist/chunk-PYHDJZX3.mjs +476 -0
- package/dist/chunk-PYHDJZX3.mjs.map +1 -0
- package/dist/chunk-THUJNRMX.mjs +119 -0
- package/dist/chunk-THUJNRMX.mjs.map +1 -0
- package/dist/chunk-WTK2IT5O.mjs +250 -0
- package/dist/chunk-WTK2IT5O.mjs.map +1 -0
- package/dist/chunk-XNMUIY72.mjs +10 -0
- package/dist/chunk-XNMUIY72.mjs.map +1 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.mts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +300 -1060
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -0
- package/package.json +1 -1
- package/dist/OraculoSeccionCasino-WBPCNYC5.mjs +0 -12
- package/dist/OraculoSeccionDestacados-IMREYQ6W.mjs +0 -12
- package/dist/OraculoSeccionTopJuegos-FKAD2YD3.mjs +0 -12
- package/dist/OraculoSeccionVirtuales-N2ETKRK7.mjs +0 -12
- package/dist/chunk-VYYKDD5L.mjs +0 -39899
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/organisms/OraculoSeccionBonoBienvenida/OraculoSeccionBonoBienvenida.tsx","../src/molecules/OraculoCarousel/OraculoCarousel.tsx","../src/molecules/OraculoWelcomeBanner/OraculoWelcomeBanner.tsx","../src/atoms/OraculoCarouselDots/OraculoCarouselDots.tsx"],"sourcesContent":["import React, { useRef, useState } from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\r\n\r\nimport OraculoCarousel, {\r\n OraculoCarouselRef,\r\n} from \"../../molecules/OraculoCarousel/OraculoCarousel\";\r\nimport OraculoWelcomeBanner, {\r\n OraculoWelcomeBannerProps,\r\n} from \"../../molecules/OraculoWelcomeBanner/OraculoWelcomeBanner\";\r\nimport OraculoCarouselDots from \"../../atoms/OraculoCarouselDots/OraculoCarouselDots\";\r\nimport { OraculoSeccionBonoProps } from \"../../interfaces/oraculo/InterfaceBonos\";\r\n\r\nconst buildSectionSx = (bgUrl: string) => ({\r\n width: \"100vw\",\r\n position: \"relative\" as const,\r\n left: \"50%\",\r\n right: \"50%\",\r\n marginLeft: \"-50vw\",\r\n marginRight: \"-50vw\",\r\n py: 8,\r\n color: \"#fff\",\r\n backgroundImage: `\r\n linear-gradient(to bottom,#121212 0%, rgba(18,18,18,0) 10%),\r\n linear-gradient(to top, #121212 0%, rgba(18,18,18,0) 10%),\r\n linear-gradient(to left, #121212 0%, rgba(18,18,18,0) 10%),\r\n linear-gradient(to right, #121212 0%, rgba(18,18,18,0) 10%),\r\n url(\"${bgUrl}\")\r\n `,\r\n backgroundRepeat: \"no-repeat\",\r\n backgroundPosition: \"center\",\r\n backgroundSize: \"cover\",\r\n});\r\n\r\nconst headlineBaseSx = {\r\n textAlign: \"center\" as const,\r\n lineHeight: 1.1,\r\n mb: 1.5,\r\n};\r\n\r\nconst hlTopSx = {\r\n display: \"inline-block\",\r\n fontWeight: 600,\r\n fontSize: 24,\r\n};\r\n\r\nconst hlBottomSx = {\r\n display: \"inline-block\",\r\n fontSize: 24,\r\n lineHeight: 1.1,\r\n WebkitTextStroke: \"0.3px rgba(255, 255, 255, .5)\",\r\n textShadow: `\r\n 0 0 2px rgba(255, 255, 255, .95),\r\n 0 0 6px rgba(255, 255, 255, .6),\r\n 0 1px 0 rgba(137, 137, 137, .85)\r\n `,\r\n};\r\n\r\nconst OraculoSeccionBonoBienvenida: React.FC<OraculoSeccionBonoProps> = ({\r\n headline,\r\n items,\r\n backgroundImageUrl,\r\n}) => {\r\n const [hl1 = \"\", hl2 = \"\"] = (headline || \"\").split(\"\\n\");\r\n const isMobile = useMediaQuery(\"(max-width: 767px)\");\r\n const showDots = items.length > 1;\r\n\r\n const bgUrl =\r\n backgroundImageUrl ?? \"/assets/img/home/BonoBienvenida/Fondobg.png\";\r\n const sectionSx = buildSectionSx(bgUrl);\r\n\r\n const carouselRef = useRef<OraculoCarouselRef | null>(null);\r\n const [navState, setNavState] = useState({ isStart: true, isEnd: false });\r\n const [activeIndex, setActiveIndex] = useState(0);\r\n\r\n // --- MOBILE: Carrusel con dots ---\r\n if (isMobile) {\r\n return (\r\n <Box\r\n component=\"section\"\r\n sx={{\r\n ...sectionSx,\r\n textAlign: \"center\",\r\n }}\r\n >\r\n {(hl1 || hl2) && (\r\n <Box sx={headlineBaseSx}>\r\n {hl1 && (\r\n <Typography component=\"span\" sx={hlTopSx}>\r\n {hl1}\r\n </Typography>\r\n )}\r\n {hl2 && (\r\n <>\r\n <br />\r\n <Typography component=\"span\" sx={hlBottomSx}>\r\n {hl2}\r\n </Typography>\r\n </>\r\n )}\r\n </Box>\r\n )}\r\n\r\n <Box>\r\n <OraculoCarousel\r\n ref={carouselRef}\r\n items={items}\r\n perPage={1}\r\n gap=\"12px\"\r\n breakpoints={{\r\n 480: {\r\n perPage: 1,\r\n gap: \"8px\",\r\n padding: { left: \"8px\", right: \"8px\" },\r\n },\r\n 768: {\r\n perPage: 1,\r\n gap: \"12px\",\r\n padding: { left: \"8px\", right: \"8px\" },\r\n },\r\n }}\r\n options={{\r\n autoWidth: false,\r\n }}\r\n renderItem={(it) => <OraculoWelcomeBanner {...it} onButtonClick={items[0].onButtonClick} />}\r\n onMove={({ index, isStart, isEnd }) => {\r\n setNavState({ isStart, isEnd });\r\n setActiveIndex(index);\r\n }}\r\n />\r\n\r\n {showDots && (\r\n <OraculoCarouselDots\r\n total={items.length}\r\n active={activeIndex}\r\n onSelect={(i) => {\r\n setActiveIndex(i);\r\n carouselRef.current?.go(i);\r\n }}\r\n />\r\n )}\r\n </Box>\r\n </Box>\r\n );\r\n }\r\n\r\n // --- DESKTOP ---\r\n return (\r\n <Box component=\"section\" sx={sectionSx}>\r\n <Box\r\n sx={{\r\n maxWidth: 1200,\r\n mx: 5,\r\n px: 2,\r\n display: \"grid\",\r\n gridTemplateColumns: \"200px auto\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n {(hl1 || hl2) && (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-start\",\r\n minHeight: \"100%\",\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n ...headlineBaseSx,\r\n textAlign: \"left\",\r\n mb: 0,\r\n }}\r\n >\r\n {hl1 && (\r\n <Typography component=\"span\" sx={hlTopSx}>\r\n {hl1}\r\n </Typography>\r\n )}\r\n {hl2 && (\r\n <>\r\n <br />\r\n <Typography component=\"span\" sx={hlBottomSx}>\r\n {hl2}\r\n </Typography>\r\n </>\r\n )}\r\n </Box>\r\n </Box>\r\n )}\r\n\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n flexWrap: \"nowrap\",\r\n gap: 4,\r\n }}\r\n >\r\n {items.map((it, idx) => (\r\n <OraculoWelcomeBanner\r\n key={idx}\r\n onButtonClick={it.onButtonClick}\r\n {...it}\r\n />\r\n ))}\r\n </Box>\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default OraculoSeccionBonoBienvenida;\r\n","// src/molecules/OraculoCarousel/OraculoCarousel.tsx\r\nimport React, {\r\n forwardRef,\r\n useCallback,\r\n useImperativeHandle,\r\n useRef,\r\n ReactNode,\r\n} from \"react\";\r\nimport {\r\n Splide as SplideRaw,\r\n SplideSlide as SplideSlideRaw,\r\n} from \"@splidejs/react-splide\";\r\n\r\nexport interface OraculoCarouselOptions {\r\n type?: string;\r\n perPage?: number;\r\n gap?: string;\r\n pagination?: boolean;\r\n arrows?: boolean;\r\n drag?: boolean;\r\n focus?: string | \"center\";\r\n autoWidth?: boolean;\r\n trimSpace?: boolean;\r\n rewind?: boolean;\r\n padding?: { left?: string; right?: string };\r\n breakpoints?: Record<string | number, OraculoCarouselOptions>;\r\n [key: string]: any;\r\n}\r\n\r\nexport interface OraculoCarouselRef {\r\n next: () => void;\r\n prev: () => void;\r\n go: (index: number | string) => void;\r\n}\r\n\r\nexport interface OraculoCarouselProps<T = any> {\r\n items: T[];\r\n renderItem: (item: T, index: number) => ReactNode;\r\n perPage?: number;\r\n gap?: string;\r\n breakpoints?: Record<string | number, OraculoCarouselOptions>;\r\n options?: OraculoCarouselOptions;\r\n className?: string;\r\n onMove?: (info: {\r\n index: number;\r\n isStart: boolean;\r\n isEnd: boolean;\r\n total: number;\r\n }) => void;\r\n}\r\n\r\n// 👇 Aislamos tipos de Splide: internamente es any, hacia afuera tu API está tipada\r\nconst Splide: any = SplideRaw;\r\nconst SplideSlide: any = SplideSlideRaw;\r\n\r\nconst OraculoCarousel = forwardRef<OraculoCarouselRef, OraculoCarouselProps<any>>(\r\n (\r\n {\r\n items = [],\r\n renderItem,\r\n perPage = 1,\r\n gap = \"0px\",\r\n breakpoints,\r\n options = {},\r\n className = \"\",\r\n onMove,\r\n },\r\n ref\r\n ) => {\r\n const splideRef = useRef<any>(null);\r\n\r\n useImperativeHandle(ref, () => ({\r\n next: () => splideRef.current?.go(\">\"),\r\n prev: () => splideRef.current?.go(\"<\"),\r\n go: (index) => splideRef.current?.go(index),\r\n }));\r\n\r\n const handleMove = useCallback(\r\n (splide: any) => {\r\n const index = splide.index;\r\n const total = splide.length;\r\n const currentPerPage = splide.options.perPage || 1;\r\n const isStart = index === 0;\r\n const isEnd = index >= total - currentPerPage;\r\n\r\n onMove?.({ index, isStart, isEnd, total });\r\n },\r\n [onMove]\r\n );\r\n\r\n const handleMounted = useCallback(\r\n (splide: any) => {\r\n handleMove(splide);\r\n },\r\n [handleMove]\r\n );\r\n\r\n const mergedOptions: OraculoCarouselOptions = {\r\n type: \"slide\",\r\n trimSpace: false,\r\n drag: true,\r\n pagination: false,\r\n arrows: false,\r\n rewind: false,\r\n focus: \"start\",\r\n autoWidth: false,\r\n perPage,\r\n gap,\r\n breakpoints,\r\n ...options,\r\n };\r\n\r\n return (\r\n <div className={className} style={{ width: \"100%\" }}>\r\n <Splide\r\n ref={splideRef}\r\n options={mergedOptions}\r\n onMove={handleMove}\r\n onMounted={handleMounted}\r\n >\r\n {items.map((item, index) => (\r\n <SplideSlide key={(item as any).id ?? index}>\r\n {renderItem(item, index)}\r\n </SplideSlide>\r\n ))}\r\n </Splide>\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nexport default OraculoCarousel;\r\n","import React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport OraculoButton from \"../../atoms/OraculoButton/OraculoButton\";\r\n\r\nexport interface OraculoWelcomeBannerProps {\r\n title?: string;\r\n amount?: string; // ej: \"S/40\"\r\n subtitle?: string;\r\n buttonText?: string;\r\n onButtonClick?: () => void;\r\n backgroundImage?: string;\r\n alt?: string;\r\n className?: string;\r\n /** Tamaño en desktop: \"small\" (456x272) o \"large\" (618x346) */\r\n variant?: \"small\" | \"large\";\r\n}\r\n\r\nconst OraculoWelcomeBanner: React.FC<OraculoWelcomeBannerProps> = ({\r\n title,\r\n amount,\r\n subtitle,\r\n buttonText,\r\n onButtonClick,\r\n backgroundImage,\r\n alt,\r\n className = \"\",\r\n variant = \"small\",\r\n}) => {\r\n const symbol = amount ? amount.slice(0, 2) : \"\";\r\n const value = amount ? amount.slice(2) : \"\";\r\n const isLarge = variant === \"large\";\r\n\r\n return (\r\n <Box\r\n className={className}\r\n sx={{\r\n position: \"relative\",\r\n width: \"100%\",\r\n maxWidth: {\r\n xs: 328,\r\n lg: isLarge ? 618 : 456,\r\n },\r\n mx: \"auto\",\r\n }}\r\n >\r\n {backgroundImage && (\r\n <Box\r\n sx={{\r\n position: \"relative\",\r\n width: \"100%\",\r\n aspectRatio: {\r\n xs: \"328 / 188\",\r\n lg: isLarge ? \"618 / 346\" : \"456 / 272\",\r\n },\r\n borderRadius: \"14px\",\r\n overflow: \"hidden\",\r\n }}\r\n >\r\n <Box\r\n component=\"img\"\r\n src={backgroundImage}\r\n alt={alt ?? \"Fondo promocional\"}\r\n sx={{\r\n width: \"100%\",\r\n height: \"100%\",\r\n objectFit: \"cover\",\r\n objectPosition: {\r\n xs: \"50% 0%\",\r\n lg: \"45% 0%\",\r\n },\r\n display: \"block\",\r\n }}\r\n />\r\n </Box>\r\n )}\r\n\r\n {/* Capa de contenido */}\r\n <Box\r\n sx={{\r\n position: \"absolute\",\r\n inset: 0,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-end\",\r\n color: \"#e7f8ff\",\r\n textAlign: \"center\",\r\n pl: \"14%\",\r\n pr: { xs: \"14%\", lg: \"15%\" },\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n maxWidth: \"60%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n {/* Título superior */}\r\n {title && (\r\n <Typography\r\n sx={{\r\n fontSize: { xs: 12, lg: 20 },\r\n fontWeight: 400,\r\n color: \"#e7f8ff\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n )}\r\n\r\n {/* Monto */}\r\n {amount && (\r\n <Box\r\n component=\"p\"\r\n sx={{\r\n fontFamily: '\"secondary\", sans-serif',\r\n lineHeight: { xs: 0.9, lg: 0.87 },\r\n m: \"4px 0\",\r\n background:\r\n \"linear-gradient(175deg, #EDC421 -12.56%, #FFFABF 17.99%, #EDC421 49.74%)\",\r\n WebkitBackgroundClip: \"text\",\r\n WebkitTextFillColor: \"transparent\",\r\n WebkitTextStroke: \"0.5px #fff8c1\",\r\n filter:\r\n \"drop-shadow(0px 4px 0px #8D4406) drop-shadow(0px 4px 4px rgba(28, 28, 28, 0.4))\",\r\n display: \"flex\",\r\n alignItems: \"baseline\",\r\n justifyContent: \"center\",\r\n }}\r\n >\r\n <Box\r\n component=\"span\"\r\n sx={{ fontSize: { xs: 35, lg: 48 }, mr: 0.5 }}\r\n >\r\n {symbol}\r\n </Box>\r\n <Box\r\n component=\"span\"\r\n sx={{ fontSize: { xs: 52, lg: 77 } }}\r\n >\r\n {value}\r\n </Box>\r\n </Box>\r\n )}\r\n\r\n {/* Subtítulo */}\r\n {subtitle && (\r\n <Typography\r\n sx={{\r\n pb: \"20px\",\r\n fontSize: 14,\r\n fontWeight: 600,\r\n color: \"#e7f8ff\",\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n )}\r\n\r\n {/* Botón */}\r\n {buttonText && (\r\n <OraculoButton onClick={onButtonClick}>\r\n {buttonText}\r\n </OraculoButton>\r\n )}\r\n </Box>\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default OraculoWelcomeBanner;\r\n","import React from \"react\";\r\nimport \"./OraculoCarouselDots.css\";\r\n\r\nexport interface OraculoCarouselDotsProps {\r\n total: number;\r\n active: number;\r\n onSelect?: (index: number) => void;\r\n className?: string;\r\n}\r\n\r\nconst OraculoCarouselDots: React.FC<OraculoCarouselDotsProps> = ({\r\n total,\r\n active,\r\n onSelect,\r\n className = \"\",\r\n}) => {\r\n if (total <= 1) return null;\r\n\r\n const rootClass = [\"orc-dots\", className].filter(Boolean).join(\" \");\r\n\r\n return (\r\n <div className={rootClass} role=\"tablist\">\r\n {Array.from({ length: total }).map((_, i) => (\r\n <span key={i} className=\"orc-dots__cell\">\r\n <button\r\n type=\"button\"\r\n role=\"tab\"\r\n aria-selected={i === active}\r\n aria-label={`Ir al slide ${i + 1}`}\r\n className={\r\n \"orc-dots__dot\" +\r\n (i === active ? \" orc-dots__dot--active\" : \"\")\r\n }\r\n onClick={() => onSelect?.(i)}\r\n />\r\n </span>\r\n ))}\r\n </div>\r\n );\r\n};\r\n\r\nexport default OraculoCarouselDots;\r\n"],"mappings":"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","names":["useRef","Box","Typography","jsx","jsx","jsx","jsxs","useRef","Box","Typography"]}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import {
|
|
2
|
+
OraculoButton
|
|
3
|
+
} from "./chunk-IGAIIVJZ.mjs";
|
|
4
|
+
|
|
5
|
+
// src/organisms/OraculoSeccionClubOlimpo/OraculoSeccionClubOlimpo.tsx
|
|
6
|
+
import { useLayoutEffect, useRef } from "react";
|
|
7
|
+
|
|
8
|
+
// src/molecules/OraculoClubOlimpoVisual/OraculoClubOlimpoVisual.tsx
|
|
9
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
var OraculoClubOlimpoVisual = ({
|
|
11
|
+
text,
|
|
12
|
+
buttonLabel = "Conoce m\xE1s",
|
|
13
|
+
onClick,
|
|
14
|
+
imgAlt = "Club Olimpo",
|
|
15
|
+
imgSrcMobile,
|
|
16
|
+
imgSrcDesktopBg,
|
|
17
|
+
imgSrcDesktopLogo
|
|
18
|
+
}) => {
|
|
19
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
20
|
+
/* @__PURE__ */ jsx("div", { className: "orc-co-bgMobile", children: /* @__PURE__ */ jsx(
|
|
21
|
+
"img",
|
|
22
|
+
{
|
|
23
|
+
src: imgSrcMobile,
|
|
24
|
+
alt: imgAlt,
|
|
25
|
+
className: "orc-co-bgMobileImg"
|
|
26
|
+
}
|
|
27
|
+
) }),
|
|
28
|
+
/* @__PURE__ */ jsxs("div", { className: "orc-co-bgDesktop", children: [
|
|
29
|
+
imgSrcDesktopBg && /* @__PURE__ */ jsx("div", { className: "orc-co-fillHost", children: /* @__PURE__ */ jsx(
|
|
30
|
+
"img",
|
|
31
|
+
{
|
|
32
|
+
src: imgSrcDesktopBg,
|
|
33
|
+
alt: `${imgAlt} fondo`,
|
|
34
|
+
className: "orc-co-bgDesktopImg"
|
|
35
|
+
}
|
|
36
|
+
) }),
|
|
37
|
+
imgSrcDesktopLogo && /* @__PURE__ */ jsx("div", { className: "orc-co-logo", children: /* @__PURE__ */ jsx(
|
|
38
|
+
"img",
|
|
39
|
+
{
|
|
40
|
+
src: imgSrcDesktopLogo,
|
|
41
|
+
alt: `${imgAlt} logo`,
|
|
42
|
+
className: "orc-co-logoImg"
|
|
43
|
+
}
|
|
44
|
+
) }),
|
|
45
|
+
/* @__PURE__ */ jsxs("div", { className: "orc-co-desktopContent", children: [
|
|
46
|
+
/* @__PURE__ */ jsx("p", { className: "orc-co-captionDesktop", children: text }),
|
|
47
|
+
/* @__PURE__ */ jsx(OraculoButton, { onClick, variant: "primary", size: "md", children: buttonLabel })
|
|
48
|
+
] })
|
|
49
|
+
] }),
|
|
50
|
+
/* @__PURE__ */ jsxs("div", { className: "orc-co-bottom", children: [
|
|
51
|
+
/* @__PURE__ */ jsx("p", { className: "orc-co-caption", children: text }),
|
|
52
|
+
/* @__PURE__ */ jsx(OraculoButton, { onClick, variant: "primary", size: "md", children: buttonLabel })
|
|
53
|
+
] })
|
|
54
|
+
] });
|
|
55
|
+
};
|
|
56
|
+
var OraculoClubOlimpoVisual_default = OraculoClubOlimpoVisual;
|
|
57
|
+
|
|
58
|
+
// src/organisms/OraculoSeccionClubOlimpo/OraculoSeccionClubOlimpo.tsx
|
|
59
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
60
|
+
var OraculoSeccionClubOlimpo = ({
|
|
61
|
+
className = "",
|
|
62
|
+
fullBleed = true,
|
|
63
|
+
items,
|
|
64
|
+
selectedIndex = 0,
|
|
65
|
+
ariaLabel
|
|
66
|
+
}) => {
|
|
67
|
+
const rootRef = useRef(null);
|
|
68
|
+
const bottomRef = useRef(null);
|
|
69
|
+
if (!items) return null;
|
|
70
|
+
const safeIndex = Math.min(Math.max(selectedIndex, 0), 1);
|
|
71
|
+
const item = items;
|
|
72
|
+
useLayoutEffect(() => {
|
|
73
|
+
if (!rootRef.current || !bottomRef.current) return;
|
|
74
|
+
if (typeof ResizeObserver === "undefined") return;
|
|
75
|
+
const root = rootRef.current;
|
|
76
|
+
const bottom = bottomRef.current;
|
|
77
|
+
const update = () => {
|
|
78
|
+
root.style.setProperty(
|
|
79
|
+
"--orc-co-bottomH",
|
|
80
|
+
`${bottom.offsetHeight + 16}px`
|
|
81
|
+
);
|
|
82
|
+
};
|
|
83
|
+
const ro = new ResizeObserver(update);
|
|
84
|
+
ro.observe(bottom);
|
|
85
|
+
update();
|
|
86
|
+
return () => ro.disconnect();
|
|
87
|
+
}, []);
|
|
88
|
+
const rootClass = [
|
|
89
|
+
"orc-co-wrap",
|
|
90
|
+
fullBleed ? "orc-co-fullBleed" : "",
|
|
91
|
+
className
|
|
92
|
+
].filter(Boolean).join(" ");
|
|
93
|
+
return /* @__PURE__ */ jsx2(
|
|
94
|
+
"section",
|
|
95
|
+
{
|
|
96
|
+
ref: rootRef,
|
|
97
|
+
className: rootClass,
|
|
98
|
+
"aria-label": ariaLabel || item.imgAlt || "Club Olimpo",
|
|
99
|
+
children: /* @__PURE__ */ jsx2("div", { ref: bottomRef, children: /* @__PURE__ */ jsx2(
|
|
100
|
+
OraculoClubOlimpoVisual_default,
|
|
101
|
+
{
|
|
102
|
+
text: item.text,
|
|
103
|
+
onClick: item.onClick,
|
|
104
|
+
imgAlt: item.imgAlt,
|
|
105
|
+
imgSrcMobile: item.images.mobile,
|
|
106
|
+
imgSrcDesktopBg: item.images.desktopBg,
|
|
107
|
+
imgSrcDesktopLogo: item.images.desktopLogo
|
|
108
|
+
}
|
|
109
|
+
) })
|
|
110
|
+
}
|
|
111
|
+
);
|
|
112
|
+
};
|
|
113
|
+
var OraculoSeccionClubOlimpo_default = OraculoSeccionClubOlimpo;
|
|
114
|
+
|
|
115
|
+
export {
|
|
116
|
+
OraculoClubOlimpoVisual_default,
|
|
117
|
+
OraculoSeccionClubOlimpo_default
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=chunk-THUJNRMX.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/organisms/OraculoSeccionClubOlimpo/OraculoSeccionClubOlimpo.tsx","../src/molecules/OraculoClubOlimpoVisual/OraculoClubOlimpoVisual.tsx"],"sourcesContent":["import React, { useLayoutEffect, useRef } from \"react\";\r\nimport \"./OraculoSeccionClubOlimpo.css\";\r\nimport OraculoClubOlimpoVisual from \"../../molecules/OraculoClubOlimpoVisual/OraculoClubOlimpoVisual\";\r\nimport { OraculoSeccionClubOlimpoItem } from \"../../interfaces/oraculo/InterfaceClubOlimpo\";\r\n\r\nexport interface OraculoSeccionClubOlimpoItems {\r\n className?: string;\r\n /** Si true, hace el efecto full-bleed (100vw centrado) */\r\n fullBleed?: boolean;\r\n /** Lista de variantes (puedes pasar 1 o varias). */\r\n items: OraculoSeccionClubOlimpoItem;\r\n /** Índice del item a mostrar si pasas varios. */\r\n selectedIndex?: number;\r\n /** aria-label de la sección (fallback al imgAlt del item seleccionado). */\r\n ariaLabel?: string;\r\n}\r\n\r\nconst OraculoSeccionClubOlimpo: React.FC<OraculoSeccionClubOlimpoItems> = ({\r\n className = \"\",\r\n fullBleed = true,\r\n items,\r\n selectedIndex = 0,\r\n ariaLabel,\r\n}) => {\r\n const rootRef = useRef<HTMLDivElement | null>(null);\r\n const bottomRef = useRef<HTMLDivElement | null>(null);\r\n\r\n if (!items ) return null;\r\n\r\n const safeIndex = Math.min(Math.max(selectedIndex, 0), 1);\r\n const item = items;\r\n\r\n useLayoutEffect(() => {\r\n if (!rootRef.current || !bottomRef.current) return;\r\n if (typeof ResizeObserver === \"undefined\") return;\r\n\r\n const root = rootRef.current;\r\n const bottom = bottomRef.current;\r\n\r\n const update = () => {\r\n root.style.setProperty(\r\n \"--orc-co-bottomH\",\r\n `${bottom.offsetHeight + 16}px`\r\n );\r\n };\r\n\r\n const ro = new ResizeObserver(update);\r\n ro.observe(bottom);\r\n update();\r\n\r\n return () => ro.disconnect();\r\n }, []);\r\n\r\n const rootClass = [\r\n \"orc-co-wrap\",\r\n fullBleed ? \"orc-co-fullBleed\" : \"\",\r\n className,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n return (\r\n <section\r\n ref={rootRef}\r\n className={rootClass}\r\n aria-label={ariaLabel || item.imgAlt || \"Club Olimpo\"}\r\n >\r\n <div ref={bottomRef}>\r\n <OraculoClubOlimpoVisual\r\n text={item.text}\r\n onClick={item.onClick}\r\n imgAlt={item.imgAlt}\r\n imgSrcMobile={item.images.mobile}\r\n imgSrcDesktopBg={item.images.desktopBg}\r\n imgSrcDesktopLogo={item.images.desktopLogo}\r\n />\r\n </div>\r\n </section>\r\n );\r\n};\r\n\r\nexport default OraculoSeccionClubOlimpo;\r\n","import React from \"react\";\r\nimport \"../../organisms/OraculoSeccionClubOlimpo/OraculoSeccionClubOlimpo.css\";\r\nimport OraculoButton from \"../../atoms/OraculoButton/OraculoButton\";\r\n\r\nexport interface OraculoClubOlimpoVisualProps {\r\n text: string;\r\n buttonLabel?: string;\r\n onClick?: () => void;\r\n\r\n // MOBILE\r\n imgAlt?: string;\r\n imgSrcMobile: string;\r\n\r\n // DESKTOP\r\n imgSrcDesktopBg?: string;\r\n imgSrcDesktopLogo?: string;\r\n}\r\n\r\nconst OraculoClubOlimpoVisual: React.FC<OraculoClubOlimpoVisualProps> = ({\r\n text,\r\n buttonLabel = \"Conoce más\",\r\n onClick,\r\n imgAlt = \"Club Olimpo\",\r\n imgSrcMobile,\r\n imgSrcDesktopBg,\r\n imgSrcDesktopLogo,\r\n}) => {\r\n return (\r\n <>\r\n {/* MOBILE */}\r\n <div className=\"orc-co-bgMobile\">\r\n <img\r\n src={imgSrcMobile}\r\n alt={imgAlt}\r\n className=\"orc-co-bgMobileImg\"\r\n />\r\n </div>\r\n\r\n {/* DESKTOP */}\r\n <div className=\"orc-co-bgDesktop\">\r\n {imgSrcDesktopBg && (\r\n <div className=\"orc-co-fillHost\">\r\n <img\r\n src={imgSrcDesktopBg}\r\n alt={`${imgAlt} fondo`}\r\n className=\"orc-co-bgDesktopImg\"\r\n />\r\n </div>\r\n )}\r\n\r\n {imgSrcDesktopLogo && (\r\n <div className=\"orc-co-logo\">\r\n <img\r\n src={imgSrcDesktopLogo}\r\n alt={`${imgAlt} logo`}\r\n className=\"orc-co-logoImg\"\r\n />\r\n </div>\r\n )}\r\n\r\n <div className=\"orc-co-desktopContent\">\r\n <p className=\"orc-co-captionDesktop\">{text}</p>\r\n <OraculoButton onClick={onClick} variant=\"primary\" size=\"md\">\r\n {buttonLabel}\r\n </OraculoButton>\r\n </div>\r\n </div>\r\n\r\n {/* MOBILE: barra inferior */}\r\n <div className=\"orc-co-bottom\">\r\n <p className=\"orc-co-caption\">{text}</p>\r\n <OraculoButton onClick={onClick} variant=\"primary\" size=\"md\">\r\n {buttonLabel}\r\n </OraculoButton>\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport default OraculoClubOlimpoVisual;\r\n"],"mappings":";;;;;AAAA,SAAgB,iBAAiB,cAAc;;;AC4B3C,mBAGI,KA6BA,YAhCJ;AAVJ,IAAM,0BAAkE,CAAC;AAAA,EACvE;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,SACE,iCAEE;AAAA,wBAAC,SAAI,WAAU,mBACb;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,KAAK;AAAA,QACL,WAAU;AAAA;AAAA,IACZ,GACF;AAAA,IAGA,qBAAC,SAAI,WAAU,oBACZ;AAAA,yBACC,oBAAC,SAAI,WAAU,mBACb;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,KAAK,GAAG,MAAM;AAAA,UACd,WAAU;AAAA;AAAA,MACZ,GACF;AAAA,MAGD,qBACC,oBAAC,SAAI,WAAU,eACb;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,KAAK,GAAG,MAAM;AAAA,UACd,WAAU;AAAA;AAAA,MACZ,GACF;AAAA,MAGF,qBAAC,SAAI,WAAU,yBACb;AAAA,4BAAC,OAAE,WAAU,yBAAyB,gBAAK;AAAA,QAC3C,oBAAC,iBAAc,SAAkB,SAAQ,WAAU,MAAK,MACrD,uBACH;AAAA,SACF;AAAA,OACF;AAAA,IAGA,qBAAC,SAAI,WAAU,iBACb;AAAA,0BAAC,OAAE,WAAU,kBAAkB,gBAAK;AAAA,MACpC,oBAAC,iBAAc,SAAkB,SAAQ,WAAU,MAAK,MACrD,uBACH;AAAA,OACF;AAAA,KACF;AAEJ;AAEA,IAAO,kCAAQ;;;ADXP,gBAAAA,YAAA;AAnDR,IAAM,2BAAoE,CAAC;AAAA,EACzE,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ;AAAA,EACA,gBAAgB;AAAA,EAChB;AACF,MAAM;AACJ,QAAM,UAAU,OAA8B,IAAI;AAClD,QAAM,YAAY,OAA8B,IAAI;AAEpD,MAAI,CAAC,MAAQ,QAAO;AAEpB,QAAM,YAAY,KAAK,IAAI,KAAK,IAAI,eAAe,CAAC,GAAG,CAAC;AACxD,QAAM,OAAO;AAEb,kBAAgB,MAAM;AACpB,QAAI,CAAC,QAAQ,WAAW,CAAC,UAAU,QAAS;AAC5C,QAAI,OAAO,mBAAmB,YAAa;AAE3C,UAAM,OAAO,QAAQ;AACrB,UAAM,SAAS,UAAU;AAEzB,UAAM,SAAS,MAAM;AACnB,WAAK,MAAM;AAAA,QACT;AAAA,QACA,GAAG,OAAO,eAAe,EAAE;AAAA,MAC7B;AAAA,IACF;AAEA,UAAM,KAAK,IAAI,eAAe,MAAM;AACpC,OAAG,QAAQ,MAAM;AACjB,WAAO;AAEP,WAAO,MAAM,GAAG,WAAW;AAAA,EAC7B,GAAG,CAAC,CAAC;AAEL,QAAM,YAAY;AAAA,IAChB;AAAA,IACA,YAAY,qBAAqB;AAAA,IACjC;AAAA,EACF,EACG,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,WAAW;AAAA,MACX,cAAY,aAAa,KAAK,UAAU;AAAA,MAExC,0BAAAA,KAAC,SAAI,KAAK,WACR,0BAAAA;AAAA,QAAC;AAAA;AAAA,UACC,MAAM,KAAK;AAAA,UACX,SAAS,KAAK;AAAA,UACd,QAAQ,KAAK;AAAA,UACb,cAAc,KAAK,OAAO;AAAA,UAC1B,iBAAiB,KAAK,OAAO;AAAA,UAC7B,mBAAmB,KAAK,OAAO;AAAA;AAAA,MACjC,GACF;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,mCAAQ;","names":["jsx"]}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import {
|
|
2
|
+
OraculoButton
|
|
3
|
+
} from "./chunk-IGAIIVJZ.mjs";
|
|
4
|
+
|
|
5
|
+
// src/organisms/OraculoSeccionCasinoEnVivo/OraculoSeccionCasinoEnVivo.tsx
|
|
6
|
+
import Box2 from "@mui/material/Box";
|
|
7
|
+
import Stack from "@mui/material/Stack";
|
|
8
|
+
import Typography2 from "@mui/material/Typography";
|
|
9
|
+
|
|
10
|
+
// src/molecules/OraculoLiveCasinoCard/OraculoLiveCasinoCard.tsx
|
|
11
|
+
import Box from "@mui/material/Box";
|
|
12
|
+
import Typography from "@mui/material/Typography";
|
|
13
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
14
|
+
var OraculoLiveCasinoCard = ({
|
|
15
|
+
logo,
|
|
16
|
+
provider,
|
|
17
|
+
providerName,
|
|
18
|
+
machine,
|
|
19
|
+
onClick
|
|
20
|
+
}) => {
|
|
21
|
+
var _a;
|
|
22
|
+
return /* @__PURE__ */ jsxs(
|
|
23
|
+
Box,
|
|
24
|
+
{
|
|
25
|
+
onClick,
|
|
26
|
+
sx: {
|
|
27
|
+
flex: "0 0 auto",
|
|
28
|
+
position: "relative",
|
|
29
|
+
borderRadius: "20px",
|
|
30
|
+
overflow: "hidden",
|
|
31
|
+
width: { xs: 100, md: 180 },
|
|
32
|
+
height: { xs: 200, md: 380 },
|
|
33
|
+
transition: "width .50s ease, transform .28s ease",
|
|
34
|
+
willChange: "width, transform",
|
|
35
|
+
cursor: "pointer",
|
|
36
|
+
zIndex: 0,
|
|
37
|
+
"&:hover": {
|
|
38
|
+
zIndex: 2,
|
|
39
|
+
width: { md: 260, xs: 110 }
|
|
40
|
+
},
|
|
41
|
+
"&:hover .orc-live-provider-label": {
|
|
42
|
+
opacity: 1
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
children: [
|
|
46
|
+
/* @__PURE__ */ jsx(
|
|
47
|
+
Box,
|
|
48
|
+
{
|
|
49
|
+
component: "img",
|
|
50
|
+
src: logo,
|
|
51
|
+
alt: `Juego ${machine != null ? machine : ""}`,
|
|
52
|
+
sx: {
|
|
53
|
+
position: "absolute",
|
|
54
|
+
inset: 0,
|
|
55
|
+
width: "100%",
|
|
56
|
+
height: "100%",
|
|
57
|
+
objectFit: "cover",
|
|
58
|
+
display: "block"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
),
|
|
62
|
+
/* @__PURE__ */ jsx(
|
|
63
|
+
Box,
|
|
64
|
+
{
|
|
65
|
+
className: "orc-live-provider-label",
|
|
66
|
+
sx: {
|
|
67
|
+
position: "absolute",
|
|
68
|
+
left: "50%",
|
|
69
|
+
top: { xs: "75%", md: "80%" },
|
|
70
|
+
transform: "translate(-50%, -50%)",
|
|
71
|
+
zIndex: 3,
|
|
72
|
+
opacity: 0,
|
|
73
|
+
transition: "opacity .25s ease",
|
|
74
|
+
pointerEvents: "none"
|
|
75
|
+
},
|
|
76
|
+
children: /* @__PURE__ */ jsx(
|
|
77
|
+
Typography,
|
|
78
|
+
{
|
|
79
|
+
sx: {
|
|
80
|
+
color: "#fff",
|
|
81
|
+
fontWeight: 700,
|
|
82
|
+
fontSize: { xs: 11, md: 14 },
|
|
83
|
+
textTransform: "capitalize"
|
|
84
|
+
},
|
|
85
|
+
children: (_a = provider != null ? provider : providerName) != null ? _a : ""
|
|
86
|
+
}
|
|
87
|
+
)
|
|
88
|
+
}
|
|
89
|
+
)
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
);
|
|
93
|
+
};
|
|
94
|
+
var OraculoLiveCasinoCard_default = OraculoLiveCasinoCard;
|
|
95
|
+
|
|
96
|
+
// src/organisms/OraculoSeccionCasinoEnVivo/OraculoSeccionCasinoEnVivo.tsx
|
|
97
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
98
|
+
var OraculoSeccionCasinoEnVivo = ({
|
|
99
|
+
items,
|
|
100
|
+
title = "Casino en vivo",
|
|
101
|
+
subtitle = "Disfruta la emoci\xF3n en tus juegos favoritos y gana en tiempo real.",
|
|
102
|
+
backgroundMobileUrl = "/assets/img/home/CasinoEnVivo/FondoMobile3.png",
|
|
103
|
+
backgroundDesktopUrl = "/assets/img/home/CasinoEnVivo/FondoDesktop3.png",
|
|
104
|
+
onCardClick,
|
|
105
|
+
onViewMore,
|
|
106
|
+
className
|
|
107
|
+
}) => {
|
|
108
|
+
return /* @__PURE__ */ jsxs2(
|
|
109
|
+
Box2,
|
|
110
|
+
{
|
|
111
|
+
className,
|
|
112
|
+
sx: {
|
|
113
|
+
position: "relative",
|
|
114
|
+
width: "100vw",
|
|
115
|
+
left: "50%",
|
|
116
|
+
right: "50%",
|
|
117
|
+
transform: "translateX(-50%)",
|
|
118
|
+
color: "white",
|
|
119
|
+
overflow: "hidden"
|
|
120
|
+
},
|
|
121
|
+
children: [
|
|
122
|
+
/* @__PURE__ */ jsx2(
|
|
123
|
+
Box2,
|
|
124
|
+
{
|
|
125
|
+
sx: {
|
|
126
|
+
position: "absolute",
|
|
127
|
+
inset: 0,
|
|
128
|
+
backgroundImage: {
|
|
129
|
+
xs: `
|
|
130
|
+
linear-gradient(to bottom, #121212 0%, rgba(18,18,18,0) 10%),
|
|
131
|
+
linear-gradient(to top, #121212 0%, rgba(18,18,18,0) 10%),
|
|
132
|
+
url('${backgroundMobileUrl}')
|
|
133
|
+
`,
|
|
134
|
+
md: `
|
|
135
|
+
linear-gradient(to bottom, #121212 0%, rgba(18,18,18,0) 10%),
|
|
136
|
+
linear-gradient(to top, #121212 0%, rgba(18,18,18,0) 10%),
|
|
137
|
+
url('${backgroundDesktopUrl}')
|
|
138
|
+
`
|
|
139
|
+
},
|
|
140
|
+
backgroundSize: "cover",
|
|
141
|
+
backgroundPosition: "center",
|
|
142
|
+
backgroundRepeat: "no-repeat",
|
|
143
|
+
zIndex: 0
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
),
|
|
147
|
+
/* @__PURE__ */ jsxs2(
|
|
148
|
+
Box2,
|
|
149
|
+
{
|
|
150
|
+
sx: {
|
|
151
|
+
position: "relative",
|
|
152
|
+
zIndex: 1,
|
|
153
|
+
maxWidth: 1200,
|
|
154
|
+
height: { xs: "450px", md: "550px" },
|
|
155
|
+
mx: "auto",
|
|
156
|
+
px: { xs: 2.5, md: 6 },
|
|
157
|
+
display: "flex",
|
|
158
|
+
flexDirection: { xs: "column", md: "row" },
|
|
159
|
+
alignItems: { xs: "center", md: "center" },
|
|
160
|
+
justifyContent: "center",
|
|
161
|
+
gap: { xs: 0, md: 15 },
|
|
162
|
+
textAlign: { xs: "center", md: "left" }
|
|
163
|
+
},
|
|
164
|
+
children: [
|
|
165
|
+
/* @__PURE__ */ jsxs2(Stack, { spacing: 3, sx: { maxWidth: { md: 280 } }, children: [
|
|
166
|
+
/* @__PURE__ */ jsx2(
|
|
167
|
+
Typography2,
|
|
168
|
+
{
|
|
169
|
+
variant: "h4",
|
|
170
|
+
sx: {
|
|
171
|
+
fontWeight: 800,
|
|
172
|
+
fontSize: { xs: 24, md: 40 },
|
|
173
|
+
WebkitTextStroke: "0.5px rgba(255, 255, 255, .5)",
|
|
174
|
+
textShadow: "0 0 2px rgba(255, 255, 255, .95),0 0 4px rgba(255, 255, 255, .6),0 1px 0 #898989"
|
|
175
|
+
},
|
|
176
|
+
children: title
|
|
177
|
+
}
|
|
178
|
+
),
|
|
179
|
+
/* @__PURE__ */ jsx2(
|
|
180
|
+
Typography2,
|
|
181
|
+
{
|
|
182
|
+
sx: {
|
|
183
|
+
fontSize: { xs: 14, md: 18 },
|
|
184
|
+
color: "rgba(255,255,255,0.9)",
|
|
185
|
+
marginX: { xs: 4, md: 0 },
|
|
186
|
+
lineHeight: 1.5
|
|
187
|
+
},
|
|
188
|
+
children: subtitle
|
|
189
|
+
}
|
|
190
|
+
),
|
|
191
|
+
/* @__PURE__ */ jsx2(Box2, { sx: { display: { xs: "none", md: "block" } }, children: /* @__PURE__ */ jsx2(
|
|
192
|
+
OraculoButton,
|
|
193
|
+
{
|
|
194
|
+
variant: "primary",
|
|
195
|
+
size: "md",
|
|
196
|
+
onClick: () => onViewMore == null ? void 0 : onViewMore(),
|
|
197
|
+
children: "Ver m\xE1s"
|
|
198
|
+
}
|
|
199
|
+
) })
|
|
200
|
+
] }),
|
|
201
|
+
/* @__PURE__ */ jsx2(
|
|
202
|
+
Box2,
|
|
203
|
+
{
|
|
204
|
+
sx: {
|
|
205
|
+
display: "flex",
|
|
206
|
+
gap: { xs: 2, md: 3 },
|
|
207
|
+
justifyContent: "center",
|
|
208
|
+
overflowX: { xs: "auto", md: "visible" },
|
|
209
|
+
py: { xs: 3, md: 0 },
|
|
210
|
+
alignItems: "center"
|
|
211
|
+
},
|
|
212
|
+
children: (items != null ? items : []).slice(0, 3).map((juego, idx) => {
|
|
213
|
+
var _a, _b;
|
|
214
|
+
return /* @__PURE__ */ jsx2(
|
|
215
|
+
OraculoLiveCasinoCard_default,
|
|
216
|
+
{
|
|
217
|
+
logo: `https://olimpo.bet${(_b = juego.logo) != null ? _b : ""}`,
|
|
218
|
+
provider: juego.provider,
|
|
219
|
+
providerName: juego.web_name,
|
|
220
|
+
machine: juego.machine,
|
|
221
|
+
onClick: () => onCardClick == null ? void 0 : onCardClick(juego, idx)
|
|
222
|
+
},
|
|
223
|
+
(_a = juego.orden) != null ? _a : idx
|
|
224
|
+
);
|
|
225
|
+
})
|
|
226
|
+
}
|
|
227
|
+
),
|
|
228
|
+
/* @__PURE__ */ jsx2(Box2, { sx: { display: { xs: "block", md: "none" } }, children: /* @__PURE__ */ jsx2(
|
|
229
|
+
OraculoButton,
|
|
230
|
+
{
|
|
231
|
+
variant: "primary",
|
|
232
|
+
size: "lg",
|
|
233
|
+
onClick: () => onViewMore == null ? void 0 : onViewMore(),
|
|
234
|
+
children: "Ver m\xE1s"
|
|
235
|
+
}
|
|
236
|
+
) })
|
|
237
|
+
]
|
|
238
|
+
}
|
|
239
|
+
)
|
|
240
|
+
]
|
|
241
|
+
}
|
|
242
|
+
);
|
|
243
|
+
};
|
|
244
|
+
var OraculoSeccionCasinoEnVivo_default = OraculoSeccionCasinoEnVivo;
|
|
245
|
+
|
|
246
|
+
export {
|
|
247
|
+
OraculoLiveCasinoCard_default,
|
|
248
|
+
OraculoSeccionCasinoEnVivo_default
|
|
249
|
+
};
|
|
250
|
+
//# sourceMappingURL=chunk-WTK2IT5O.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/organisms/OraculoSeccionCasinoEnVivo/OraculoSeccionCasinoEnVivo.tsx","../src/molecules/OraculoLiveCasinoCard/OraculoLiveCasinoCard.tsx"],"sourcesContent":["import React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Stack from \"@mui/material/Stack\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport OraculoButton from \"../../atoms/OraculoButton/OraculoButton\";\r\nimport OraculoLiveCasinoCard from \"../../molecules/OraculoLiveCasinoCard/OraculoLiveCasinoCard\";\r\nimport { OraculoSeccionCasinoEnVivoProps } from \"../../interfaces/oraculo/InterfaceCasinoEnVivo\";\r\n\r\nconst OraculoSeccionCasinoEnVivo: React.FC<OraculoSeccionCasinoEnVivoProps> = ({\r\n items,\r\n title = \"Casino en vivo\",\r\n subtitle = \"Disfruta la emoción en tus juegos favoritos y gana en tiempo real.\",\r\n backgroundMobileUrl = \"/assets/img/home/CasinoEnVivo/FondoMobile3.png\",\r\n backgroundDesktopUrl = \"/assets/img/home/CasinoEnVivo/FondoDesktop3.png\",\r\n onCardClick,\r\n onViewMore,\r\n className,\r\n}) => {\r\n return (\r\n <Box\r\n className={className}\r\n sx={{\r\n position: \"relative\",\r\n width: \"100vw\",\r\n left: \"50%\",\r\n right: \"50%\",\r\n transform: \"translateX(-50%)\",\r\n color: \"white\",\r\n overflow: \"hidden\",\r\n }}\r\n >\r\n {/* Fondo */}\r\n <Box\r\n sx={{\r\n position: \"absolute\",\r\n inset: 0,\r\n backgroundImage: {\r\n xs: `\r\n linear-gradient(to bottom, #121212 0%, rgba(18,18,18,0) 10%),\r\n linear-gradient(to top, #121212 0%, rgba(18,18,18,0) 10%),\r\n url('${backgroundMobileUrl}')\r\n `,\r\n md: `\r\n linear-gradient(to bottom, #121212 0%, rgba(18,18,18,0) 10%),\r\n linear-gradient(to top, #121212 0%, rgba(18,18,18,0) 10%),\r\n url('${backgroundDesktopUrl}')\r\n `,\r\n },\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n backgroundRepeat: \"no-repeat\",\r\n zIndex: 0,\r\n }}\r\n />\r\n\r\n {/* Contenido */}\r\n <Box\r\n sx={{\r\n position: \"relative\",\r\n zIndex: 1,\r\n maxWidth: 1200,\r\n height: { xs: \"450px\", md: \"550px\" },\r\n mx: \"auto\",\r\n px: { xs: 2.5, md: 6 },\r\n display: \"flex\",\r\n flexDirection: { xs: \"column\", md: \"row\" },\r\n alignItems: { xs: \"center\", md: \"center\" },\r\n justifyContent: \"center\",\r\n gap: { xs: 0, md: 15 },\r\n textAlign: { xs: \"center\", md: \"left\" },\r\n }}\r\n >\r\n {/* Columna izquierda: título + texto + botón desktop */}\r\n <Stack spacing={3} sx={{ maxWidth: { md: 280 } }}>\r\n <Typography\r\n variant=\"h4\"\r\n sx={{\r\n fontWeight: 800,\r\n fontSize: { xs: 24, md: 40 },\r\n WebkitTextStroke: \"0.5px rgba(255, 255, 255, .5)\",\r\n textShadow:\r\n \"0 0 2px rgba(255, 255, 255, .95),\" +\r\n \"0 0 4px rgba(255, 255, 255, .6),\" +\r\n \"0 1px 0 #898989\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n\r\n <Typography\r\n sx={{\r\n fontSize: { xs: 14, md: 18 },\r\n color: \"rgba(255,255,255,0.9)\",\r\n marginX: { xs: 4, md: 0 },\r\n lineHeight: 1.5,\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n\r\n <Box sx={{ display: { xs: \"none\", md: \"block\" } }}>\r\n <OraculoButton\r\n variant=\"primary\"\r\n size=\"md\"\r\n onClick={() => onViewMore?.()}\r\n >\r\n Ver más\r\n </OraculoButton>\r\n </Box>\r\n </Stack>\r\n\r\n {/* Lista de tarjetas */}\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n gap: { xs: 2, md: 3 },\r\n justifyContent: \"center\",\r\n overflowX: { xs: \"auto\", md: \"visible\" },\r\n py: { xs: 3, md: 0 },\r\n alignItems: \"center\",\r\n }}\r\n >\r\n {(items ?? []).slice(0, 3).map((juego, idx) => (\r\n <OraculoLiveCasinoCard\r\n key={juego.orden ?? idx}\r\n logo={`https://olimpo.bet${juego.logo ?? \"\"}`}\r\n provider={juego.provider}\r\n providerName={juego.web_name}\r\n machine={juego.machine}\r\n onClick={() => onCardClick?.(juego, idx)}\r\n />\r\n ))}\r\n </Box>\r\n\r\n {/* Botón mobile */}\r\n <Box sx={{ display: { xs: \"block\", md: \"none\" } }}>\r\n <OraculoButton\r\n variant=\"primary\"\r\n size=\"lg\"\r\n onClick={() => onViewMore?.()}\r\n >\r\n Ver más\r\n </OraculoButton>\r\n </Box>\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default OraculoSeccionCasinoEnVivo;\r\n","import React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\n\r\nexport interface OraculoLiveCasinoCardProps {\r\n logo: string;\r\n provider?: string;\r\n providerName?: string;\r\n machine?: number | string;\r\n onClick?: () => void;\r\n}\r\n\r\nconst OraculoLiveCasinoCard: React.FC<OraculoLiveCasinoCardProps> = ({\r\n logo,\r\n provider,\r\n providerName,\r\n machine,\r\n onClick,\r\n}) => {\r\n return (\r\n <Box\r\n onClick={onClick}\r\n sx={{\r\n flex: \"0 0 auto\",\r\n position: \"relative\",\r\n borderRadius: \"20px\",\r\n overflow: \"hidden\",\r\n width: { xs: 100, md: 180 },\r\n height: { xs: 200, md: 380 },\r\n transition: \"width .50s ease, transform .28s ease\",\r\n willChange: \"width, transform\",\r\n cursor: \"pointer\",\r\n zIndex: 0,\r\n \"&:hover\": {\r\n zIndex: 2,\r\n width: { md: 260, xs: 110 },\r\n },\r\n \"&:hover .orc-live-provider-label\": {\r\n opacity: 1,\r\n },\r\n }}\r\n >\r\n {/* Imagen de fondo */}\r\n <Box\r\n component=\"img\"\r\n src={logo}\r\n alt={`Juego ${machine ?? \"\"}`}\r\n sx={{\r\n position: \"absolute\",\r\n inset: 0,\r\n width: \"100%\",\r\n height: \"100%\",\r\n objectFit: \"cover\",\r\n display: \"block\",\r\n }}\r\n />\r\n\r\n {/* Label del provider */}\r\n <Box\r\n className=\"orc-live-provider-label\"\r\n sx={{\r\n position: \"absolute\",\r\n left: \"50%\",\r\n top: { xs: \"75%\", md: \"80%\" },\r\n transform: \"translate(-50%, -50%)\",\r\n zIndex: 3,\r\n opacity: 0,\r\n transition: \"opacity .25s ease\",\r\n pointerEvents: \"none\",\r\n }}\r\n >\r\n <Typography\r\n sx={{\r\n color: \"#fff\",\r\n fontWeight: 700,\r\n fontSize: { xs: 11, md: 14 },\r\n textTransform: \"capitalize\",\r\n }}\r\n >\r\n {provider ?? providerName ?? \"\"}\r\n </Typography>\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default OraculoLiveCasinoCard;\r\n"],"mappings":"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","names":["Box","Typography","jsx","jsxs","Box","Typography"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/atoms/OraculoButton/OraculoButton.css","../src/atoms/OraculoSectionTitle/OraculoSectionTitle.css","../src/atoms/OraculoCarouselDots/OraculoCarouselDots.css","../src/organisms/OraculoSeccionClubOlimpo/OraculoSeccionClubOlimpo.css"],"sourcesContent":[".orc-btn {\r\n --nl-green: #9EE86E;\r\n --nl-hover-hex: #D9F6C6;\r\n --nl-hover-alpha: .22;\r\n\r\n /* Press */\r\n --nl-press: #254B0C;\r\n\r\n /* Disabled */\r\n --nl-disabled-border: #4a5542;\r\n --nl-disabled-fg: #4a5542;\r\n\r\n --stroke-w: 1.5px;\r\n\r\n --h: 32px;\r\n --pad-x: 12px;\r\n --pad-y: 8px;\r\n --radius: 12px;\r\n\r\n box-sizing: border-box;\r\n height: var(--h);\r\n font-family: var(--clmc-font);\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: 8px;\r\n cursor: pointer;\r\n text-decoration: none;\r\n border-radius: var(--radius);\r\n outline: none;\r\n position: relative;\r\n padding: var(--pad-y) var(--pad-x);\r\n border: 0;\r\n}\r\n\r\n/* Contenido */\r\n.orc-btn__label {\r\n color: currentColor;\r\n font-size: 14px;\r\n}\r\n.orc-btn__icon {\r\n color: currentColor;\r\n display: inline-flex;\r\n line-height: 0;\r\n font-size: 18px;\r\n}\r\n\r\n/* ===== PRIMARY ===== */\r\n.orc-btn--primary {\r\n background: var(--nl-green);\r\n color: #1C1C1C;\r\n box-shadow: inset 0 0 0 var(--stroke-w) transparent;\r\n}\r\n.orc-btn--primary:hover {\r\n background: var(--nl-hover-hex);\r\n color: #1C1C1C;\r\n}\r\n.orc-btn--primary:active {\r\n background: var(--nl-press);\r\n color: #FFFFFF;\r\n transform: translateY(1px);\r\n}\r\n.orc-btn--primary:disabled,\r\n.orc-btn--primary[aria-disabled=\"true\"] {\r\n background: transparent;\r\n color: var(--nl-disabled-fg);\r\n box-shadow: inset 0 0 0 var(--stroke-w) var(--nl-disabled-border);\r\n cursor: not-allowed;\r\n transform: none;\r\n opacity: 1;\r\n}\r\n\r\n/* ===== SECONDARY ===== */\r\n.orc-btn--secondary {\r\n background: transparent;\r\n color: var(--nl-green);\r\n box-shadow: inset 0 0 0 var(--stroke-w) var(--nl-green);\r\n}\r\n.orc-btn--secondary:hover {\r\n background: rgba(229, 244, 219, var(--nl-hover-alpha)) !important;\r\n color: var(--nl-hover-hex);\r\n box-shadow: inset 0 0 0 var(--stroke-w) var(--nl-hover-hex);\r\n}\r\n.orc-btn--secondary:active {\r\n transform: translateY(1px);\r\n color: var(--nl-press);\r\n box-shadow: inset 0 0 0 var(--stroke-w) var(--nl-press);\r\n background: rgba(37, 75, 12, 0.10);\r\n}\r\n.orc-btn--secondary:focus-visible {\r\n box-shadow:\r\n inset 0 0 0 var(--stroke-w) var(--nl-green),\r\n 0 0 0 3px rgba(197, 228, 177, .45);\r\n}\r\n.orc-btn--secondary:disabled,\r\n.orc-btn--secondary[aria-disabled=\"true\"] {\r\n background: transparent;\r\n color: var(--nl-disabled-fg);\r\n box-shadow: inset 0 0 0 var(--stroke-w) var(--nl-disabled-border);\r\n cursor: not-allowed;\r\n}\r\n\r\n/* ===== TERTIARY ===== */\r\n.orc-btn--tertiary {\r\n background: transparent;\r\n color: var(--nl-green);\r\n box-shadow: none;\r\n}\r\n.orc-btn--tertiary:hover {\r\n color: var(--nl-hover-hex);\r\n}\r\n.orc-btn--tertiary:active {\r\n color: var(--nl-press);\r\n background: rgba(37, 75, 12, 0.08);\r\n transform: translateY(1px);\r\n}\r\n.orc-btn--tertiary:focus-visible {\r\n box-shadow: 0 0 0 3px rgba(197, 228, 177, .45);\r\n}\r\n.orc-btn--tertiary:disabled,\r\n.orc-btn--tertiary[aria-disabled=\"true\"] {\r\n color: var(--nl-disabled-fg);\r\n background: transparent;\r\n box-shadow: none;\r\n cursor: not-allowed;\r\n}\r\n\r\n/* Tamaños */\r\n.orc-btn--sm {\r\n --h: 32px;\r\n --pad-y: 8px;\r\n --pad-x: 12px;\r\n --radius: 12px;\r\n}\r\n.orc-btn--md {\r\n --h: 40px;\r\n --pad-y: 10px;\r\n --pad-x: 16px;\r\n --radius: 12px;\r\n}\r\n.orc-btn--lg {\r\n --h: 48px;\r\n --pad-y: 12px;\r\n --pad-x: 20px;\r\n --radius: 16px;\r\n}\r\n\r\n.orc-btn--sm .orc-btn__label,\r\n.orc-btn--md .orc-btn__label,\r\n.orc-btn--lg .orc-btn__label {\r\n font-size: 14px !important;\r\n}\r\n\r\n/* Icon-only */\r\n.orc-btn--iconOnly {\r\n width: 40px;\r\n min-width: 40px;\r\n padding: 0;\r\n}\r\n.orc-btn--sm.orc-btn--iconOnly {\r\n width: 32px;\r\n min-width: 32px;\r\n}\r\n.orc-btn--md.orc-btn--iconOnly {\r\n width: 40px;\r\n min-width: 40px;\r\n}\r\n.orc-btn--lg.orc-btn--iconOnly {\r\n width: 48px;\r\n min-width: 48px;\r\n}\r\n\r\n/* Helpers */\r\n.orc-btn--full {\r\n width: 100%;\r\n}\r\n.orc-btn--fullHeight {\r\n height: 100%;\r\n}\r\n",".orc-section-title {\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n}\r\n\r\n/* Icono base */\r\n.orc-section-title__icon {\r\n width: 40px;\r\n height: 40px;\r\n object-fit: none;\r\n}\r\n\r\n/* Título base */\r\n.orc-section-title__title {\r\n margin: 0;\r\n font-weight: 700;\r\n letter-spacing: 0;\r\n color: #ffffff;\r\n}\r\n\r\n/* ===== Tamaños desktop (igual que tenías) ===== */\r\n.orc-section-title--xs .orc-section-title__title {\r\n font-size: 14px;\r\n line-height: 18px;\r\n}\r\n.orc-section-title--sm .orc-section-title__title {\r\n font-size: 18px;\r\n line-height: 24px;\r\n}\r\n.orc-section-title--md .orc-section-title__title {\r\n font-size: 32px;\r\n line-height: 48px;\r\n}\r\n.orc-section-title--lg .orc-section-title__title {\r\n font-size: 22px;\r\n line-height: 30px;\r\n}\r\n\r\n/* Icono XS */\r\n.orc-section-title--xs .orc-section-title__icon {\r\n width: 24px;\r\n height: 24px;\r\n}\r\n\r\n/* ===== Responsive ===== */\r\n@media (max-width: 768px) {\r\n .orc-section-title__icon {\r\n width: 24px;\r\n height: 24px;\r\n }\r\n\r\n .orc-section-title--xs .orc-section-title__title {\r\n font-size: 14px;\r\n line-height: 18px;\r\n }\r\n .orc-section-title--sm .orc-section-title__title {\r\n font-size: 16px;\r\n line-height: 22px;\r\n }\r\n .orc-section-title--md .orc-section-title__title {\r\n font-size: 18px;\r\n line-height: 24px;\r\n }\r\n .orc-section-title--lg .orc-section-title__title {\r\n font-size: 20px;\r\n line-height: 26px;\r\n }\r\n}\r\n",".orc-dots {\r\n --dot-size: 8px;\r\n --dot-cell: 20px;\r\n --dot-active-h: 8px;\r\n --dot-active-w: 20px;\r\n --dot-bg: #ffffff;\r\n --dot-surface: #ffffff;\r\n --dot-accent: #9EE86E;\r\n\r\n display: flex;\r\n gap: 0px;\r\n justify-content: center;\r\n margin-top: 10px;\r\n}\r\n\r\n.orc-dots__cell {\r\n width: var(--dot-cell);\r\n display: inline-flex;\r\n justify-content: center;\r\n}\r\n\r\n.orc-dots__dot {\r\n width: var(--dot-size);\r\n height: var(--dot-size);\r\n border-radius: 9999px;\r\n background: var(--dot-bg);\r\n border: 0;\r\n padding: 0;\r\n cursor: pointer;\r\n position: relative;\r\n transition:\r\n transform .15s ease,\r\n background .15s ease,\r\n width .2s ease,\r\n height .2s ease;\r\n}\r\n\r\n.orc-dots__dot:hover {\r\n transform: scale(1.06);\r\n}\r\n\r\n.orc-dots__dot--active {\r\n width: var(--dot-active-w);\r\n height: var(--dot-active-h);\r\n border-radius: 9999px;\r\n background: #fff;\r\n position: relative;\r\n overflow: hidden;\r\n}\r\n\r\n.orc-dots__dot--active::after {\r\n content: \"\";\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n width: 40%;\r\n background: var(--dot-accent);\r\n border-radius: inherit;\r\n}\r\n\r\n/* Accesibilidad: foco */\r\n.orc-dots__dot--active {\r\n outline: 0;\r\n outline-offset: 0;\r\n}\r\n\r\n.orc-dots__dot:focus-visible {\r\n outline: 2px solid var(--dot-accent);\r\n outline-offset: 2px;\r\n}\r\n","/* =========================\r\n MOBILE\r\n ========================= */\r\n\r\n.orc-co-wrap {\r\n --orc-co-art-w: 887px;\r\n --orc-co-art-h: 510px;\r\n --orc-co-text: #ffffff;\r\n\r\n --orc-co-art-left: clamp(120px, 18vw, 280px);\r\n --orc-co-art-top: 20px;\r\n\r\n --orc-co-logo-left: 163px;\r\n --orc-co-logo-top: 120px;\r\n --orc-co-logo-w: 220px;\r\n\r\n --orc-co-content-left: 120px;\r\n --orc-co-content-top: 290px;\r\n\r\n min-height: var(--orc-co-minH, 520px);\r\n position: relative;\r\n}\r\n\r\n/* full-bleed */\r\n.orc-co-fullBleed {\r\n width: 100vw;\r\n margin-left: 50%;\r\n transform: translateX(-50%);\r\n}\r\n\r\n.orc-co-bottom {\r\n position: absolute;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n bottom: 20px;\r\n z-index: 2;\r\n\r\n display: grid;\r\n justify-items: center;\r\n gap: 12px;\r\n border-radius: 12px;\r\n}\r\n\r\n.orc-co-caption {\r\n color: var(--orc-co-text);\r\n font-size: 14px;\r\n text-align: center;\r\n font-weight: 400;\r\n text-wrap: balance;\r\n line-height: 1.4;\r\n}\r\n\r\n/* Bg mobile */\r\n.orc-co-bgMobile {\r\n position: relative;\r\n width: 100%;\r\n min-height: 360px;\r\n overflow: hidden;\r\n}\r\n\r\n.orc-co-bgMobileImg {\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n}\r\n\r\n/* Oculto en mobile */\r\n.orc-co-bgDesktop,\r\n.orc-co-logo,\r\n.orc-co-desktopContent {\r\n display: none;\r\n}\r\n\r\n/* =========================\r\n DESKTOP\r\n ========================= */\r\n\r\n@media (min-width: 1024px) {\r\n .orc-co-bgMobile {\r\n display: none;\r\n }\r\n\r\n .orc-co-bottom {\r\n display: none;\r\n }\r\n\r\n .orc-co-bgDesktop {\r\n position: absolute;\r\n inset: 0;\r\n z-index: 0;\r\n display: block;\r\n }\r\n\r\n .orc-co-bgDesktop > .orc-co-fillHost {\r\n position: absolute;\r\n width: var(--orc-co-art-w);\r\n height: var(--orc-co-art-h);\r\n top: var(--orc-co-art-top);\r\n left: var(--orc-co-art-left);\r\n }\r\n\r\n .orc-co-bgDesktopImg {\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n display: block;\r\n }\r\n\r\n .orc-co-logo {\r\n display: block;\r\n position: absolute;\r\n left: var(--orc-co-logo-left);\r\n top: var(--orc-co-logo-top);\r\n width: var(--orc-co-logo-w);\r\n aspect-ratio: 3 / 2;\r\n z-index: 2;\r\n }\r\n\r\n .orc-co-logoImg {\r\n width: 100%;\r\n height: 100%;\r\n object-fit: contain;\r\n display: block;\r\n }\r\n\r\n .orc-co-desktopContent {\r\n display: grid;\r\n position: absolute;\r\n left: var(--orc-co-content-left);\r\n top: var(--orc-co-content-top);\r\n gap: 16px;\r\n justify-items: center;\r\n text-align: center;\r\n z-index: 2;\r\n }\r\n\r\n .orc-co-captionDesktop {\r\n margin: 0;\r\n color: var(--orc-co-text);\r\n font-family: var(--clmc-font, inherit);\r\n font-weight: 400;\r\n font-size: clamp(14px, 1.5vw, 18px);\r\n max-width: 28ch;\r\n text-wrap: balance;\r\n }\r\n}\r\n"],"mappings":"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","names":[]}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React, { ReactNode } from 'react';
|
|
3
|
+
import { Firestore } from 'firebase/firestore';
|
|
3
4
|
|
|
4
5
|
interface OraculoButtonProps {
|
|
5
6
|
children?: React.ReactNode;
|
|
@@ -321,6 +322,8 @@ interface OraculoPageLandingPreviewProps {
|
|
|
321
322
|
sectionsOverride?: OraculoPageLandingPreviewSection[];
|
|
322
323
|
/** Firestore document id (default 'home') */
|
|
323
324
|
docId?: string;
|
|
325
|
+
/** Instancia de Firestore proporcionada por la app que consume el paquete */
|
|
326
|
+
db: Firestore;
|
|
324
327
|
}
|
|
325
328
|
declare const OraculoPageLandingPreview: React.FC<OraculoPageLandingPreviewProps>;
|
|
326
329
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React, { ReactNode } from 'react';
|
|
3
|
+
import { Firestore } from 'firebase/firestore';
|
|
3
4
|
|
|
4
5
|
interface OraculoButtonProps {
|
|
5
6
|
children?: React.ReactNode;
|
|
@@ -321,6 +322,8 @@ interface OraculoPageLandingPreviewProps {
|
|
|
321
322
|
sectionsOverride?: OraculoPageLandingPreviewSection[];
|
|
322
323
|
/** Firestore document id (default 'home') */
|
|
323
324
|
docId?: string;
|
|
325
|
+
/** Instancia de Firestore proporcionada por la app que consume el paquete */
|
|
326
|
+
db: Firestore;
|
|
324
327
|
}
|
|
325
328
|
declare const OraculoPageLandingPreview: React.FC<OraculoPageLandingPreviewProps>;
|
|
326
329
|
|