{"version":3,"file":"static/js/casino-providers.cf80597b.chunk.js","mappings":"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","sources":["newelements/Casino/Providers/Skeleton.tsx","newelements/Casino/Providers/__partials/ProvidersSlider/__patials/ProvidersSliderHeader/skeleton.tsx","newelements/Casino/Providers/__partials/ProvidersSlider/skeleton.tsx","newelements/Casino/Providers/__partials/ProvidersDesktop/Skeleton.tsx","newelements/Casino/Providers/__partials/ProvidersTracker/index.tsx","newelements/Casino/Providers/index.tsx","newelements/Casino/Providers/__partials/ProvidersMobile/Skeleton.tsx"],"sourcesContent":["import { ReactElement } from 'react';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\n\nconst skeletonStyles = {\n wrapper: {\n width: '100%',\n height: 44,\n margin: 0,\n alignItems: 'center',\n borderRadius: 6,\n display: 'flex',\n padding: '8px 12px',\n border: '1px solid var(--v3-black-15)',\n backgroundColor: 'var(--v3-black-0)'\n },\n title: { width: 81, height: 28, margin: 0 },\n arrow: { width: 14, height: 14, margin: 0, borderRadius: 50 }\n};\n\nexport const ProvidersSkeleton = (): ReactElement => {\n return (\n <div style={skeletonStyles.wrapper}>\n <Skeleton\n title={{ style: skeletonStyles.title }}\n paragraph={false}\n active\n />\n\n <div style={{ width: 14 }}>\n <Skeleton\n title={{ style: skeletonStyles.arrow }}\n paragraph={false}\n active\n />\n </div>\n </div>\n );\n};\n","import { isMobile } from 'utils/is-mobile';\nimport './skeleton.less';\nimport { SkeletonButton } from 'newcomponents/UI/Skeleton/Button';\nimport '../../index.less';\nimport '../../skeleton.less';\n\nexport const ProvidersSliderHeaderSkeleton = () => {\n return (\n <div className=\"providersSlider__header providersSlider__header__skeleton\">\n <div className=\"providersSlider__header__title\">\n <SkeletonButton style={{ width: '100px', height: '24px' }} />\n {isMobile() ? (\n <SkeletonButton\n style={{ width: '24px', height: '24px', minWidth: 'unset' }}\n />\n ) : null}\n </div>\n <div className=\"providersSlider__header__actions\">\n {isMobile() ? (\n <SkeletonButton\n style={{ width: '28px', height: '28px', minWidth: 'unset' }}\n />\n ) : (\n <>\n <SkeletonButton style={{ width: '80px', height: '40px' }} />\n\n <SkeletonButton\n style={{ width: '320px', height: '40px', marginRight: '12px' }}\n />\n\n <div className=\"providersSlider__arrows\">\n <SkeletonButton\n style={{\n width: '40px',\n minWidth: '40px',\n height: '40px',\n borderRadius: '24px'\n }}\n />\n <SkeletonButton\n style={{\n width: '40px',\n minWidth: '40px',\n height: '40px',\n borderRadius: '24px'\n }}\n />\n </div>\n </>\n )}\n </div>\n </div>\n );\n};\n","import { FC } from 'react';\nimport cc from 'classcat';\nimport { createArray } from 'utils/helpers/create-fake-array';\nimport { isMobile } from 'utils/is-mobile';\nimport './skeleton.less';\nimport { ProvidersSliderHeaderSkeleton } from 'newelements/Casino/Providers/__partials/ProvidersSlider/__patials/ProvidersSliderHeader/skeleton';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport './index.less';\n\nconst SLIDER_PROVIDERS_SKELETON_ITEMS_COUNT = 30;\n\nexport const ProvidersSliderSkeleton: FC = () => {\n return (\n <div\n className={cc([\n 'providersSlider providersSlider__skeleton',\n { 'providersSlider--mobile': isMobile() }\n ])}\n >\n <ProvidersSliderHeaderSkeleton />\n <div className=\"providersSlider__items__skeleton\">\n {createArray(SLIDER_PROVIDERS_SKELETON_ITEMS_COUNT).map(i => (\n <Skeleton.Button\n active\n style={{ height: '40px', width: '120px' }}\n key={i}\n />\n ))}\n </div>\n </div>\n );\n};\n","import { ReactElement } from 'react';\nimport { createArray } from 'utils/helpers/create-fake-array';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport './index.less';\n\nconst PROVIDERS_DESKTOP_COUNT = 5;\n\nexport const ProvidersDesktopSkeleton = (): ReactElement => {\n return (\n <div className=\"providersDesktop\">\n <div className=\"providersDesktop__upView\" style={{ padding: '0 16px' }}>\n <Skeleton.Button style={{ width: 150, height: 28 }} />\n <div\n className=\"providersDesktop__search\"\n style={{ display: 'flex', gap: 8 }}\n >\n <Skeleton.Button style={{ minWidth: 40, width: 80, height: 40 }} />\n <Skeleton.Button style={{ width: 320, height: 40 }} />\n <Skeleton.Button style={{ minWidth: 40, width: 40, height: 40 }} />\n </div>\n </div>\n <span className=\"providersDesktop__border\" />\n <div className=\"providersDesktop__downView\" style={{ height: 72 }}>\n <div\n className=\"providersDesktop__list\"\n style={{ display: 'flex', gap: 8, paddingBottom: '4px' }}\n >\n {createArray(PROVIDERS_DESKTOP_COUNT).map(provider => (\n <Skeleton.Button\n active\n key={provider}\n style={{ width: 100, height: 40 }}\n />\n ))}\n </div>\n </div>\n </div>\n );\n};\n","import { Suspense } from 'react';\nimport { lazy } from 'utils/generic/lazy';\n\nconst { ProvidersTrackerComponent } = lazy(\n () => import(/* webpackChunkName: \"providers-tracker\" */ './component')\n);\n\nexport const ProvidersTracker = () => {\n if (!window.__dataspot__) {\n return null;\n }\n\n return (\n <Suspense>\n <ProvidersTrackerComponent />\n </Suspense>\n );\n};\n","import { ReactElement, Suspense, useMemo, useState } from 'react';\nimport {\n Route,\n RouteComponentProps,\n useLocation,\n withRouter\n} from 'react-router-dom';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { lazy } from 'utils/generic/lazy';\nimport { mountPoint } from 'utils/generic/route-manipulation';\nimport { isMobile } from 'utils/is-mobile';\nimport {\n CasinoProvidersConfigsProvider,\n EProvidersLayout,\n ICasinoProvidersConfigs\n} from './__partials/providers/CasinoProvidersConfigsContext';\nimport { CasinoProvidersSearchProvider } from './__partials/providers/CasinoProvidersSearchContext';\nimport { ProvidersDesktopSkeleton } from './__partials/ProvidersDesktop/Skeleton';\nimport { ProvidersMobileSkeleton } from './__partials/ProvidersMobile/Skeleton';\nimport { ProvidersTracker } from './__partials/ProvidersTracker';\nimport { ProvidersSkeleton } from './Skeleton';\nimport { ProvidersSliderSkeleton } from 'newelements/Casino/Providers/__partials/ProvidersSlider/skeleton';\nimport { ConditionalWrapper } from 'components/ConditionalWrapper';\nimport { useOptions } from '../hooks/useOptions';\nimport './index.less';\n\nif (SpringConfigs.IS_RTL) {\n import('./rtl.less');\n}\n\nconst { ProvidersDropdown } = lazy(\n () =>\n import(\n /* webpackChunkName: \"providers-dropdown-view\" */ './__partials/ProvidersDropdown'\n )\n);\n\nconst { ProvidersSlider } = lazy(\n () =>\n import(\n /* webpackChunkName: \"providers-slider-view\" */ './__partials/ProvidersSlider'\n )\n);\n\nconst { ProvidersMobile } = lazy(\n () =>\n import(\n /* webpackChunkName: \"providers-tags-view-mobile\" */ './__partials/ProvidersMobile'\n )\n);\n\nconst { ProvidersDesktop } = lazy(\n () =>\n import(\n /* webpackChunkName: \"providers-tags-view-desktop\" */ './__partials/ProvidersDesktop'\n )\n);\n\nconst LAYOUT = {\n dropdown: {\n view: ProvidersDropdown,\n skeleton: ProvidersSkeleton\n },\n slider: {\n view: ProvidersSlider,\n skeleton: ProvidersSliderSkeleton\n },\n desktop: {\n view: ProvidersDesktop,\n skeleton: ProvidersDesktopSkeleton\n },\n mobile: {\n view: ProvidersMobile,\n skeleton: ProvidersMobileSkeleton\n }\n};\n\ntype ProvidersProps = RouteComponentProps & {\n configs: ICasinoProvidersConfigs;\n};\n\nconst _Providers = ({ configs }: ProvidersProps): ReactElement => {\n useOptions({ shouldFetch: configs?.isFirstCasinoElement });\n const location = useLocation();\n\n const [searchValue, setSearchValue] = useState('');\n\n const layoutType = configs.providersLayout || EProvidersLayout.dropdown;\n\n const Layout = useMemo(() => {\n if (+layoutType === EProvidersLayout.dropdown) {\n return LAYOUT.dropdown;\n }\n\n if (+layoutType === EProvidersLayout.tags && configs.providersSliderMode) {\n return LAYOUT.slider;\n }\n\n return isMobile() ? LAYOUT.mobile : LAYOUT.desktop;\n }, [layoutType, configs.providersSliderMode]);\n\n return (\n <Route\n exact\n path={[\n '/',\n location.pathname,\n `${mountPoint(location.pathname, false, true)}/:category?`\n ]}\n >\n <div id=\"casino-providers-block\">\n {/** INDEPENDENT MOUNTING HANDLERS | START **/}\n <ProvidersTracker />\n {/** INDEPENDENT MOUNTING HANDLERS | END **/}\n <ConditionalWrapper\n wrapper={children => (\n <div className=\"x-casinoProviders\">{children}</div>\n )}\n condition={+layoutType === EProvidersLayout.dropdown}\n >\n <CasinoProvidersConfigsProvider value={{ configs }}>\n <CasinoProvidersSearchProvider\n value={{ searchValue, setSearchValue }}\n >\n <Suspense fallback={<Layout.skeleton />}>\n <Layout.view />\n </Suspense>\n </CasinoProvidersSearchProvider>\n </CasinoProvidersConfigsProvider>\n </ConditionalWrapper>\n </div>\n </Route>\n );\n};\n\nexport const CasinoProviders: ReturnType<typeof withRouter> | any = withRouter(\n _Providers as any\n);\n","import { ReactElement } from 'react';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\n\nexport const ProvidersMobileSkeleton = (): ReactElement => {\n return (\n <div\n className=\"providersMobile__listItem\"\n style={{ padding: '0 16px', background: 'var(--v3-black-0)' }}\n >\n <div\n className=\"providersMobile__listItem--providers\"\n style={{\n height: 40,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between'\n }}\n >\n <div style={{ display: 'flex', gap: 4, alignItems: 'center' }}>\n <Skeleton.Button style={{ width: 70, height: 18 }} />\n <Skeleton.Button style={{ minWidth: 20, width: 20, height: 20 }} />\n </div>\n\n <Skeleton.Button\n active\n style={{ minWidth: 24, width: 24, height: 24 }}\n />\n </div>\n </div>\n );\n};\n"],"names":["skeletonStyles","wrapper","width","height","margin","alignItems","borderRadius","display","padding","border","backgroundColor","title","arrow","ProvidersSkeleton","_jsxs","style","children","_jsx","Skeleton","paragraph","active","ProvidersSliderHeaderSkeleton","className","SkeletonButton","isMobile","minWidth","_Fragment","marginRight","ProvidersSliderSkeleton","cc","createArray","map","i","Button","ProvidersTrackerComponent","lazy","ProvidersTracker","window","__dataspot__","Suspense","SpringConfigs","IS_RTL","ProvidersDropdown","ProvidersSlider","ProvidersMobile","ProvidersDesktop","LAYOUT","dropdown","view","skeleton","slider","desktop","ProvidersDesktopSkeleton","gap","paddingBottom","provider","mobile","ProvidersMobileSkeleton","background","justifyContent","CasinoProviders","withRouter","_ref","configs","useOptions","shouldFetch","isFirstCasinoElement","location","useLocation","searchValue","setSearchValue","useState","layoutType","providersLayout","EProvidersLayout","Layout","useMemo","tags","providersSliderMode","Route","exact","path","pathname","mountPoint","id","ConditionalWrapper","condition","CasinoProvidersConfigsProvider","value","CasinoProvidersSearchProvider","fallback"],"sourceRoot":""}