{"version":3,"file":"static/js/betslip-element.92fdf16a.chunk.js","mappings":"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","sources":["components/BetslipFeatureSwitcher/index.tsx","elements/Betslip/components/PredefinedStakes/index.tsx","components/CustomKeyboard/index.tsx","utils/bom-dom-manipulation/get-scroll-parent.ts","components/StakeField/index.tsx","components/StakeField/style.ts","deviceactionmanager/DeviceActionManager.ts","hooks/useBalance.ts","hooks/useCheckIsAccountBalanceAvailable.ts","hooks/useCheckStakeBalance.ts","hooks/usePredefinedStakes.ts","hooks/usePrevious.ts","hooks/useRefValue.ts","newcomponents/Shared/account/PlayerActivityChecker/types.ts","newcomponents/Shared/betslip/BetWithBonusOrDepositBalance/index.tsx","hooks/useProfitBoost.ts","newcomponents/UI/Badge/index.tsx","newcomponents/UI/Input/index.tsx","newelements/_Betslip/Skeleton/index.tsx","newelements/_Betslip/components/containers/RootContainer.tsx","newelements/_Betslip/managers/ToggleManager/toggle-betslip-options.ts","components/CustomTabBar/style.ts","components/CustomTabBar/index.tsx","newelements/_Betslip/components/shared/BetslipTabs/index.tsx","newelements/_Betslip/components/shared/Features/QuickBet/QuickBet.tsx","newelements/_Betslip/views/LoadingInProcess.tsx","components/QuickbetToggle/index.tsx","newelements/_Betslip/components/shared/Features/QuickBet/index.tsx","newelements/_Betslip/layouts/Advanced/index.tsx","newelements/_Betslip/layouts/Basic/index.tsx","newelements/_Betslip/layouts/index.tsx","newelements/_Betslip/managers/BetsManager/index.tsx","services/sportsbook/sport-bonus-rules.ts","newelements/_Betslip/managers/ConfigManager/index.tsx","newelements/_Betslip/managers/CounterOfferManager/index.ts","newelements/_Betslip/managers/FreeBetManager/index.tsx","newelements/_Betslip/managers/OpenBetManager/index.tsx","newelements/_Betslip/managers/ProfitBoostManager/index.tsx","newelements/_Betslip/managers/QuickBetManager/index.ts","newelements/_Betslip/managers/SetupManager/index.tsx","newelements/_Betslip/managers/index.tsx","utils/constants/betslip/betslip-event-template.ts","utils/betslip/format-subscribed-data.ts","hooks/useBetSlipSubscription.ts","newelements/_Betslip/component.tsx","newelements/_Betslip/components/EachWay/index.tsx","newelements/_Betslip/components/shared/Switchers/BasicSwitcher/index.tsx","newelements/_Betslip/components/shared/Switchers/QuickBetSwitcher/BaseSwtcher.tsx","newelements/_Betslip/managers/ProfitBoostManager/actions.ts","newelements/_Betslip/managers/QuickBetManager/quickBetActions.ts","newelements/_Betslip/providers/configs-provider.tsx","newelements/_Betslip/types/configs.ts","newelements/_Betslip/types/quick-bet.ts","newelements/_Betslip/types/toggle.ts","newelements/_Betslip/views/style.ts","newhooks/generic/useHeaderVisibility.ts","services/bet-slip.ts","services/get-each-way.ts","store/selectors/new-casino.ts","utils/bom-dom-manipulation/wrapper-row-z-index.ts","utils/constants/sportsbook/magic-numbers.ts","utils/constants/sportsbook/pistol-and-archery-shootings.ts","utils/constants/sportsbook/private-competitions.ts","utils/helpers/debounce.ts","utils/helpers/fixed-header.ts","utils/constants/moba-games/dota-2.ts","utils/constants/moba-games/league-of-legends.ts","utils/helpers/moba-games-statistics-options.ts","utils/constants/sportsbook/period-names.ts","utils/sportsbook/game-current-state.ts","../node_modules/antd-mobile/lib/tabs/index.js","../node_modules/babel-runtime/core-js/object/assign.js","../node_modules/babel-runtime/core-js/object/create.js","../node_modules/babel-runtime/core-js/object/define-property.js","../node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js","../node_modules/babel-runtime/core-js/object/get-prototype-of.js","../node_modules/babel-runtime/core-js/object/set-prototype-of.js","../node_modules/babel-runtime/core-js/symbol.js","../node_modules/babel-runtime/core-js/symbol/iterator.js","../node_modules/babel-runtime/helpers/classCallCheck.js","../node_modules/babel-runtime/helpers/createClass.js","../node_modules/babel-runtime/helpers/extends.js","../node_modules/babel-runtime/helpers/get.js","../node_modules/babel-runtime/helpers/inherits.js","../node_modules/babel-runtime/helpers/possibleConstructorReturn.js","../node_modules/babel-runtime/helpers/typeof.js","../node_modules/core-js/library/fn/object/assign.js","../node_modules/core-js/library/fn/object/create.js","../node_modules/core-js/library/fn/object/define-property.js","../node_modules/core-js/library/fn/object/get-own-property-descriptor.js","../node_modules/core-js/library/fn/object/get-prototype-of.js","../node_modules/core-js/library/fn/object/set-prototype-of.js","../node_modules/core-js/library/fn/symbol/index.js","../node_modules/core-js/library/fn/symbol/iterator.js","../node_modules/core-js/library/modules/_a-function.js","../node_modules/core-js/library/modules/_add-to-unscopables.js","../node_modules/core-js/library/modules/_an-object.js","../node_modules/core-js/library/modules/_array-includes.js","../node_modules/core-js/library/modules/_cof.js","../node_modules/core-js/library/modules/_core.js","../node_modules/core-js/library/modules/_ctx.js","../node_modules/core-js/library/modules/_defined.js","../node_modules/core-js/library/modules/_descriptors.js","../node_modules/core-js/library/modules/_dom-create.js","../node_modules/core-js/library/modules/_enum-bug-keys.js","../node_modules/core-js/library/modules/_enum-keys.js","../node_modules/core-js/library/modules/_export.js","../node_modules/core-js/library/modules/_fails.js","../node_modules/core-js/library/modules/_global.js","../node_modules/core-js/library/modules/_has.js","../node_modules/core-js/library/modules/_hide.js","../node_modules/core-js/library/modules/_html.js","../node_modules/core-js/library/modules/_ie8-dom-define.js","../node_modules/core-js/library/modules/_iobject.js","../node_modules/core-js/library/modules/_is-array.js","../node_modules/core-js/library/modules/_is-object.js","../node_modules/core-js/library/modules/_iter-create.js","../node_modules/core-js/library/modules/_iter-define.js","../node_modules/core-js/library/modules/_iter-step.js","../node_modules/core-js/library/modules/_iterators.js","../node_modules/core-js/library/modules/_library.js","../node_modules/core-js/library/modules/_meta.js","../node_modules/core-js/library/modules/_object-assign.js","../node_modules/core-js/library/modules/_object-create.js","../node_modules/core-js/library/modules/_object-dp.js","../node_modules/core-js/library/modules/_object-dps.js","../node_modules/core-js/library/modules/_object-gopd.js","../node_modules/core-js/library/modules/_object-gopn-ext.js","../node_modules/core-js/library/modules/_object-gopn.js","../node_modules/core-js/library/modules/_object-gops.js","../node_modules/core-js/library/modules/_object-gpo.js","../node_modules/core-js/library/modules/_object-keys-internal.js","../node_modules/core-js/library/modules/_object-keys.js","../node_modules/core-js/library/modules/_object-pie.js","../node_modules/core-js/library/modules/_object-sap.js","../node_modules/core-js/library/modules/_property-desc.js","../node_modules/core-js/library/modules/_redefine.js","../node_modules/core-js/library/modules/_set-proto.js","../node_modules/core-js/library/modules/_set-to-string-tag.js","../node_modules/core-js/library/modules/_shared-key.js","../node_modules/core-js/library/modules/_shared.js","../node_modules/core-js/library/modules/_string-at.js","../node_modules/core-js/library/modules/_to-absolute-index.js","../node_modules/core-js/library/modules/_to-integer.js","../node_modules/core-js/library/modules/_to-iobject.js","../node_modules/core-js/library/modules/_to-length.js","../node_modules/core-js/library/modules/_to-object.js","../node_modules/core-js/library/modules/_to-primitive.js","../node_modules/core-js/library/modules/_uid.js","../node_modules/core-js/library/modules/_wks-define.js","../node_modules/core-js/library/modules/_wks-ext.js","../node_modules/core-js/library/modules/_wks.js","../node_modules/core-js/library/modules/es6.array.iterator.js","../node_modules/core-js/library/modules/es6.object.assign.js","../node_modules/core-js/library/modules/es6.object.create.js","../node_modules/core-js/library/modules/es6.object.define-property.js","../node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js","../node_modules/core-js/library/modules/es6.object.get-prototype-of.js","../node_modules/core-js/library/modules/es6.object.set-prototype-of.js","../node_modules/core-js/library/modules/es6.string.iterator.js","../node_modules/core-js/library/modules/es6.symbol.js","../node_modules/core-js/library/modules/es7.symbol.async-iterator.js","../node_modules/core-js/library/modules/es7.symbol.observable.js","../node_modules/core-js/library/modules/web.dom.iterable.js","../node_modules/rc-gesture/es/config.js","../node_modules/rc-gesture/es/util.js","../node_modules/rc-gesture/es/index.js","../node_modules/rmc-tabs/es/util/index.js","../node_modules/rmc-tabs/es/TabPane.js","../node_modules/rmc-tabs/es/DefaultTabBar.js","../node_modules/rmc-tabs/es/Tabs.base.js","../node_modules/rmc-tabs/es/Tabs.js"],"sourcesContent":["import { FC } from 'react';\nimport { Switch } from 'antd';\nimport cc from 'classcat';\nimport { EIconSize } from 'utils/constants/app/ui';\nimport { isMobile } from 'utils/is-mobile';\nimport { GlobalIcon } from 'components/GlobalIcon';\nimport { CustomTooltip } from 'components/Tooltip';\nimport { EventAction } from '../EventAction';\nimport './index.less';\n\ntype Props = {\n featureIsActive: boolean;\n setFeatureIsActive: (val: boolean) => void;\n tooltipText?: string;\n featureName: string;\n className?: string;\n skipRowStyles?: boolean;\n};\n\nexport const BetslipFeatureSwitcher: FC = ({\n featureIsActive,\n setFeatureIsActive,\n tooltipText,\n featureName,\n className,\n skipRowStyles = false\n}) => {\n return (\n \n
\n {tooltipText ? (\n \n {tooltipText}\n \n }\n overlayClassName={\n isMobile() ? 'tooltipBetslipMob' : 'tooltipBetslip'\n }\n placement={isMobile() ? 'topLeft' : 'topRight'}\n trigger={['click', 'hover']}\n color=\"white\"\n overlayStyle={{ color: 'red' }}\n >\n \n }\n size=\"md\"\n />\n \n ) : null}\n\n {featureName}\n
\n \n \n );\n};\n","import { FC, memo } from 'react';\nimport { useSelector } from 'react-redux';\nimport cc from 'classcat';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { add } from 'utils/generic/calculator';\nimport { isMobile } from 'utils/is-mobile';\nimport { formatPrice } from 'utils/string-manipulation/format-price';\nimport { Button } from 'newcomponents/UI/Button';\nimport { useCurrency } from 'hooks/useCurrency';\nimport { usePredefinedStakes } from 'hooks/usePredefinedStakes';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\nimport './index.less';\n\ntype Props = {\n onChange: (value: string) => void;\n changeCurrentStake?: (val: string) => void;\n setSelected?: Function;\n disabled?: boolean;\n currentStake?: number | string;\n};\n// @Todo need to remove usage from CustomKeyboard (as we have task to update custom keyboard logic, we can replace this component with new one from newelemetns/_betslip folder during that task/)\nexport const PredefinedStakes: FC = memo(\n ({ onChange, changeCurrentStake, setSelected, disabled, currentStake }) => {\n const isLoggedIn = useSelector(getIsLoggedIn);\n const { predefinedStakes } = usePredefinedStakes();\n\n const onPredefinedInput = (value: string | number) => {\n const stake = add(+value, currentStake ? +currentStake : 0);\n const valueToUpdate = SpringConfigs.PREDEFINE_STAKES_ADDING\n ? stake\n : value;\n\n if (changeCurrentStake) {\n changeCurrentStake(valueToUpdate.toString());\n }\n\n onChange(valueToUpdate.toString());\n };\n\n const { formatAmount } = useCurrency();\n\n const checkIsPredefinedStakesVisible = (): boolean => {\n const { stake_1, stake_2, stake_3 } = predefinedStakes;\n\n return !(!stake_1 || !stake_2 || !stake_3);\n };\n\n return (\n \n {checkIsPredefinedStakesVisible() &&\n Object.keys(predefinedStakes).map(key => {\n const value =\n predefinedStakes[key as keyof typeof predefinedStakes];\n\n if (key === 'default_stake') {\n return;\n }\n\n const regEx = new RegExp(SpringConfigs.PRICE_SEPARATOR, 'g');\n\n return (\n {\n if (setSelected) {\n setSelected('general');\n }\n\n onPredefinedInput(\n typeof value === 'number' ? value : value.replace(regEx, '')\n );\n }}\n >\n {SpringConfigs.PREDEFINE_STAKES_ADDING ? '+' : null}\n {formatAmount(\n formatPrice(\n typeof value === 'number'\n ? value\n : value.replace(regEx, ''),\n SpringConfigs.PRICE_SEPARATOR\n ),\n isLoggedIn\n )}\n \n );\n })}\n \n );\n }\n);\n","import {\n CSSProperties,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport cc from 'classcat';\nimport { normalizeStake } from 'utils/betslip/betslip';\nimport { sliceLength } from 'utils/constants/app/magic-numbers-app';\nimport { ColSizes, EIconSize } from 'utils/constants/app/ui';\nimport { removeComma } from 'utils/helpers/validators';\nimport { PredefinedStakes } from 'elements/Betslip/components/PredefinedStakes';\nimport { Col } from 'newcomponents/UI/Col';\nimport { Row } from 'newcomponents/UI/Row';\nimport { GlobalIcon } from '../GlobalIcon';\nimport './index.less';\n\ntype Props = {\n onChange: (value: string) => void;\n value: string | number;\n maxLength?: number;\n size?: 'small' | 'middle';\n onDestroy?: () => void;\n selected?: string | number;\n onCloseKeyboard?: Function;\n toggleQuickBet?: Function;\n predefinedStakesDisabled?: boolean;\n scrollIntoView?: boolean;\n predefinedStakesFree?: boolean;\n advanced?: boolean;\n style?: CSSProperties;\n fieldName?: string;\n disabledDot?: boolean;\n allowZero?: boolean;\n};\n\nconst keys = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'];\n\nconst CUSTOM_KEYBOARD_MAX_LENGTH = 11;\nconst CUSTOM_KEYBOASRD_MID_SIZE_FIRST_ELEMENT_ORDER = 11;\nexport const CustomKeyboard = memo(\n ({\n value,\n onChange,\n maxLength = CUSTOM_KEYBOARD_MAX_LENGTH,\n size = 'middle',\n onDestroy,\n selected,\n toggleQuickBet,\n onCloseKeyboard,\n predefinedStakesDisabled,\n scrollIntoView,\n predefinedStakesFree,\n advanced,\n style,\n disabledDot,\n allowZero\n }: Props) => {\n const ref = useRef(null);\n const middleSize = useMemo(() => size === 'middle', [size]);\n const { t } = useTranslation();\n\n const onInput = (key: string, predefinedValue: string) => {\n let stake = '';\n\n if (key) {\n stake = normalizeStake(\n removeComma(value.toString()),\n key,\n maxLength,\n allowZero\n );\n } else {\n stake = normalizeStake(predefinedValue.toString(), '', 1, allowZero);\n }\n\n onChange(removeComma(stake));\n };\n\n const onBackspase = () => {\n if (value) {\n onChange(\n removeComma(value.toString()).slice(0, sliceLength.SLICE_END_MINUS_1)\n );\n }\n };\n\n const doneButtonHandler = useCallback(() => {\n if (toggleQuickBet) {\n toggleQuickBet(false);\n }\n\n onCloseKeyboard?.(false);\n onDestroy?.();\n }, [toggleQuickBet, onCloseKeyboard, onDestroy]);\n\n useEffect(() => {\n return () => {\n onDestroy?.();\n };\n }, []);\n\n useEffect(() => {\n if (scrollIntoView) {\n ref?.current?.scrollIntoView({ block: 'center' });\n }\n }, [selected]);\n\n return (\n
\n \n \n
\n
\n {keys.map((key, index) => (\n onInput(key, '')}\n style={{\n order:\n key === '0' && size === 'middle'\n ? CUSTOM_KEYBOASRD_MID_SIZE_FIRST_ELEMENT_ORDER\n : index\n }}\n >\n {key}\n
\n ))}\n (disabledDot ? () => {} : onInput('.', ''))}\n aria-disabled={disabledDot}\n >\n \n
\n \n \n
\n {advanced && (\n \n {t('sportsbook.done')}\n \n )}\n \n \n \n {middleSize && (\n \n {!predefinedStakesFree && (\n onInput('', predefinedValue)}\n disabled={predefinedStakesDisabled}\n currentStake={value}\n />\n )}\n \n {t('sportsbook.done')}\n \n \n )}\n \n \n );\n }\n);\n","export const getScrollParent = (node: Node): Node | null | undefined => {\n const regex = /(auto|scroll)/;\n\n const parents = (\n _node: Node | null | undefined,\n ps: (Node | null | undefined)[]\n ): (Node | null | undefined)[] => {\n if (_node?.parentNode === null) {\n return ps;\n }\n\n return parents(_node?.parentNode, ps.concat([_node]));\n };\n\n const style = (_node: Node | null | undefined, prop: string) =>\n getComputedStyle(_node as Element, null).getPropertyValue(prop);\n\n const overflow = (_node: Node | null | undefined) =>\n style(_node, 'overflow') +\n style(_node, 'overflow-y') +\n style(_node, 'overflow-x');\n\n const scroll = (_node: Node | null | undefined) =>\n regex.test(overflow(_node));\n\n const scrollParent = (_node: Node) => {\n if (!(_node instanceof HTMLElement)) {\n return;\n }\n\n const ps = parents(_node.parentNode, []);\n\n for (let i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent(node);\n};\n","import {\n FormEventHandler,\n MutableRefObject,\n ReactElement,\n MouseEvent as ReactMouseEvent,\n Ref,\n useEffect,\n useLayoutEffect,\n useRef,\n useState\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport { InputRef } from 'antd';\nimport classcat from 'classcat';\nimport { getType } from 'utils/betslip/betslip';\nimport { getScrollParent } from 'utils/bom-dom-manipulation/get-scroll-parent';\nimport { BETSLIP_STAKE_LIMIT, SEPARATOR } from 'utils/constants/betslip';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport {\n getValidPositiveNumber,\n thousandSeparator\n} from 'utils/helpers/validators';\nimport { isMobile } from 'utils/is-mobile';\nimport { EDecimalRoundTypes } from 'utils/string-manipulation/round-multiple-value';\nimport { EBetslipBetType } from 'interfaces/betslip';\nimport { Max, Placeholder, StakeWrapper, Value } from './style';\nimport { EachWay } from 'newelements/_Betslip/components/EachWay';\nimport {\n roundAmount,\n roundOdd\n} from 'newelements/_Betslip/utils/roundings/round-amount';\nimport { Input } from 'newcomponents/UI/Input';\nimport { useBalance } from 'hooks/useBalance';\nimport { useCurrency } from 'hooks/useCurrency';\nimport { useRefValue } from 'hooks/useRefValue';\nimport {\n getAllLsBets,\n getBetslipType,\n getEditBet,\n getSelectedSystem,\n getType as getTypeSelector\n} from 'store/selectors/betslip';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\nimport './index.less';\n\ntype Props = {\n stake: number | string;\n inputDefaultValue: number | string;\n active: boolean;\n eventIdForStakes?: string;\n max?: boolean;\n maxValue?: string;\n placeholder?: string;\n isLoading?: boolean;\n onClick?: (event: ReactMouseEvent) => void;\n onChange?: (value: string, eventId?: string) => void;\n onMaxClick?: (event: ReactMouseEvent) => void;\n onPressEnter?: () => void;\n onFocus?: Function;\n changeCurrentStake?: Function;\n currentStake?: string | number;\n disabled?: boolean;\n isLast?: boolean;\n shouldUpdate?: string;\n refItem?: MutableRefObject;\n isOdd?: boolean;\n checkCurrencyContent?: boolean;\n dataTestIdPrefix?: string;\n inMultipleOfTheDay?: boolean;\n maxNotConvertedValue?: string;\n};\n\nconst STAKE_MAX_LENGTHS = {\n withSeparator: 12,\n withoutSeparator: 10\n};\n\nconst STAKE_MAX_LENGTH = SEPARATOR\n ? STAKE_MAX_LENGTHS.withSeparator\n : STAKE_MAX_LENGTHS.withoutSeparator;\n\nexport const StakeField = (props: Props): ReactElement => {\n const isLoggedIn = useSelector(getIsLoggedIn);\n const editBet = useSelector(getEditBet);\n const allLsBets = useSelector(getAllLsBets);\n const betslipType = useSelector(getBetslipType);\n const system = useSelector(getSelectedSystem);\n const { t } = useTranslation();\n const { currency, currencyId, placement } = useCurrency();\n\n const [focused, setFocused] = useState(false);\n const [ewAllowed, setEwAllowed] = useState(false);\n const inputRef =\n useRef() as MutableRefObject;\n\n const type = useSelector(getTypeSelector);\n const currentType = getType(type);\n\n const balance = useBalance();\n\n const currentTypeRefValue = useRefValue(currentType);\n\n const inputValue = props.stake ? props.stake.toString() : '';\n\n const changeStake = (value: string) => {\n props.onChange?.(value, props.eventIdForStakes);\n props?.changeCurrentStake?.(value);\n };\n\n useEffect(() => {\n if (props.changeCurrentStake && currentTypeRefValue !== 'single') {\n props.changeCurrentStake(\n props.stake ??\n (props.inputDefaultValue !== '0' ? props.inputDefaultValue : '')\n );\n }\n }, []);\n\n useEffect(() => {\n if (focused) {\n props.onFocus?.();\n }\n }, [focused]);\n\n useEffect(() => {\n if (betslipType === 0 && currentType !== 'single' && allLsBets.length > 1) {\n setEwAllowed(!allLsBets.find(bet => !bet.ewAllowed));\n } else {\n setEwAllowed(false);\n }\n }, [allLsBets, currentType, betslipType]);\n\n useLayoutEffect(() => {\n const { refItem } = props;\n const currentRef = refItem ?? inputRef;\n\n if (props.isLast && currentRef && currentRef?.current) {\n const scrollParent = getScrollParent(currentRef.current) as HTMLElement;\n\n scrollParent?.scrollTo(0, scrollParent.scrollHeight);\n currentRef.current.focus?.({ preventScroll: true });\n }\n }, [props.shouldUpdate]);\n\n const onInputHandler: FormEventHandler = ({ target }) => {\n const { value } = target as HTMLInputElement;\n\n const validPosNumber = getValidPositiveNumber(value, SEPARATOR) || '';\n\n const roundFn = props.isOdd\n ? (v: string) => roundOdd(v, EDecimalRoundTypes.Cut)\n : roundAmount;\n\n const formattedValue = roundFn(validPosNumber).toString();\n\n if (\n props.isOdd ||\n (formattedValue && formattedValue.length < STAKE_MAX_LENGTH)\n ) {\n changeStake(formattedValue);\n } else {\n changeStake('');\n }\n };\n\n const showCurrency: { left: boolean; right: boolean } = {\n left:\n props.checkCurrencyContent === false\n ? false\n : !!currencyId && placement === 'left' && !props.isOdd,\n right:\n props.checkCurrencyContent === false\n ? false\n : !!currencyId && placement === 'right' && !props.isOdd\n };\n\n const stakeInputValue =\n (thousandSeparator(props.currentStake || '') ||\n thousandSeparator(inputValue)) ??\n thousandSeparator(props.inputDefaultValue);\n\n const showCombinationCount =\n currentType === EBetslipBetType.SYSTEM &&\n !!system?.combinationCount &&\n !props.inMultipleOfTheDay;\n\n return (\n \n {showCurrency.left && (\n \n {currency}\n \n )}\n \n {isMobile() ? (\n \n {stakeInputValue || (\n \n {(!isMobile() && editBet?.amount) ||\n (props.active ? '' : props.placeholder)}\n \n )}\n \n ) : (\n }\n placeholder={\n (editBet?.active && t('betslip.editBetPlaceholder')) ||\n props.placeholder\n }\n maxLength={\n SEPARATOR ? BETSLIP_STAKE_LIMIT + 2 : BETSLIP_STAKE_LIMIT\n }\n onFocus={() => setFocused(true)}\n onBlur={() => setFocused(false)}\n onInput={onInputHandler}\n onPressEnter={props.onPressEnter}\n disabled={props.disabled}\n />\n )}\n \n {showCombinationCount && (\n \n (x{system.combinationCount})\n \n )}\n {showCurrency.right && (\n \n {currency}\n \n )}\n {isLoggedIn &&\n (props.max || editBet?.active) &&\n (SpringConfigs.BETSLIP_MAX_BTN || !!props.maxValue) ? (\n
\n \n \n {t(\n `account.${\n !SpringConfigs.BETSLIP_MAX_BTN_TYPE ? 'max' : 'allIn'\n }`\n )}\n \n {!!props.maxValue && (\n
\n  {props.maxValue}{' '}\n {props.maxNotConvertedValue &&\n `(${props.maxNotConvertedValue})`}\n
\n )}\n \n }\n />\n
\n ) : null}\n {ewAllowed && }\n \n );\n};\n","import styled from 'styled-components';\nimport { Button } from 'newcomponents/UI/Button';\n\nexport const StakeWrapper = styled.div<{ $paddingLeft?: boolean }>`\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n ${props => (props.$paddingLeft ? `padding: 0` : `padding: 0 12px`)}\n`;\n\nexport const Value = styled.div<{ active: boolean }>`\n font-size: 14px;\n min-width: 2px;\n min-height: 20px;\n line-height: 20px;\n position: relative;\n display: inline-block;\n color: var(--v3-text-color);\n ${props =>\n props.active &&\n ` &:after {\n top: 10%;\n right: 0;\n content: '';\n height: 80%;\n position: absolute;\n margin-left: 3px;\n border-right: 1.5px solid #108ee9;\n -webkit-animation: keyboard-cursor infinite 1s step-start;\n animation: keyboard-cursor infinite 1s step-start;\n right: 0;\n }\n\n `}\n`;\n\nexport const Placeholder = styled.div<{ $paddingLeft?: boolean }>`\n color: var(--v3-text-color-secondary);\n white-space: nowrap;\n line-height: 20px;\n font-size: 14px;\n left: 2px;\n top: 0;\n ${props => (!props.$paddingLeft ? `padding-left: 0px` : `padding-left: 0`)}\n`;\n\nexport const Max: any = styled(Button)<{ $oddOffer?: boolean }>`\n width: auto !important;\n min-width: 52px;\n height: 32px;\n display: flex !important;\n justify-content: center !important;\n align-items: center !important;\n flex-direction: row !important;\n padding: 6px 12px !important;\n border: none !important;\n border-radius: 4px !important;\n color: var(--v3-text-color) !important;\n background-color: var(--v3-black-6) !important;\n margin: 0 12px;\n &:hover {\n &:not([disabled]) {\n color: var(--v3-primary-6) !important;\n background-color: var(--v3-black-6) !important;\n }\n }\n\n &[disabled] {\n color: var(--v3-black-45) !important;\n }\n\n & span,\n div {\n font-size: ${props => (props.$oddOffer ? '12' : '14')}px;\n line-height: ${props => (props.$oddOffer ? '16' : '20')}px;\n }\n`;\n","import { iOSWrapperApp } from 'utils/constants/swarm/spring-configs';\n\nexport const deviceActionManager = {\n vibrate: handleHapticFeedback\n //Can add more managers here\n};\n\nfunction handleHapticFeedback(\n message: 'impactLight' | 'impactMedium' | 'impactHeavy'\n) {\n const hapticMessage = { type: message };\n\n if (iOSWrapperApp) {\n window?.webkit?.messageHandlers?.triggerHaptic.postMessage(hapticMessage);\n } else {\n if (window.triggerHaptic) {\n window.triggerHaptic.postMessage(JSON.stringify(hapticMessage));\n }\n }\n}\n","import { useMemo } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useAccountBalanceAvailable } from './useCheckIsAccountBalanceAvailable';\nimport {\n getIsFrenchFreeBetEnabled,\n getUseBonusBalance\n} from 'store/selectors/betslip';\nimport { getUser } from 'store/selectors/user-data';\n\nexport function useBalance(): number {\n const user = useSelector(getUser);\n const useBonusBalance = useSelector(getUseBonusBalance);\n const accountBalanceAvailable = useAccountBalanceAvailable();\n const isFrenchFreeBetEnabled = useSelector(getIsFrenchFreeBetEnabled);\n\n return useMemo(() => {\n let balance = +user.balance;\n\n if (\n accountBalanceAvailable &&\n useBonusBalance &&\n (user?.bonus_balance ?? 0) >= 0\n ) {\n const winBalance = user?.bonus_win_balance ? user?.bonus_win_balance : 0;\n\n const bonusBalance = user?.bonus_balance ? user?.bonus_balance : 0;\n const frozenBalance = user?.frozen_balance ? user?.frozen_balance : 0;\n balance = winBalance + bonusBalance + frozenBalance;\n }\n\n if (user.bonus_money && isFrenchFreeBetEnabled) {\n balance = user.bonus_money;\n }\n\n balance = balance || +user.balance;\n\n return balance;\n }, [useBonusBalance, user, accountBalanceAvailable, isFrenchFreeBetEnabled]);\n}\n","import { useMemo } from 'react';\nimport { useSelector } from 'react-redux';\nimport { PartnerConfig } from 'interfaces/partner-config';\nimport { getAllLsBets, getQuickBetEnabled } from 'store/selectors/betslip';\nimport { getPartnerConfigs } from 'store/selectors/socket';\nimport { getIsLoggedIn, getUser } from 'store/selectors/user-data';\n\nexport function useAccountBalanceAvailable(checker?: boolean): boolean {\n const user = useSelector(getUser);\n const allLsBets = useSelector(getAllLsBets);\n const quickBetEnabled = useSelector(getQuickBetEnabled);\n const isLoggedIn = useSelector(getIsLoggedIn);\n const partnerConfig = useSelector(getPartnerConfigs) as PartnerConfig;\n\n const accountBalanceAvailable = useMemo(() => {\n if (\n !isLoggedIn ||\n (!allLsBets?.length && !quickBetEnabled && !checker) ||\n !user\n ) {\n return false;\n } else {\n if (user.sport_bonus && isLoggedIn) {\n return true;\n }\n\n if (user.bonus_money && isLoggedIn) {\n return true;\n }\n\n return false;\n }\n }, [isLoggedIn, allLsBets?.length, partnerConfig, quickBetEnabled, checker]);\n\n return accountBalanceAvailable;\n}\n","import { useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport { timeoutDuration } from 'utils/constants/dateInfo/time-numbers';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { showToastError } from 'utils/generic/show-toast-error';\nimport { showToastWarning } from 'utils/generic/show-toast-warning';\nimport { debounce } from 'utils/helpers/debounce';\nimport { thousandSeparator } from 'utils/helpers/validators';\nimport { openParentPage } from 'utils/sportsbook/api-post-message-sender';\nimport RidGenerator from 'utils/swarm/rid-generator';\nimport { useBalance } from './useBalance';\nimport { useCurrency } from './useCurrency';\nimport { addQuery } from 'components/QueryRoute';\nimport {\n getEditBet,\n getIsFreeBetEnabled,\n getIsFrenchFreeBetEnabled,\n getUseBonusBalance\n} from 'store/selectors/betslip';\nimport { getPartnerConfigs } from 'store/selectors/socket';\nimport { getUser } from 'store/selectors/user-data';\n\nexport function useCheckStakeBalance(\n debounceDuration: number = timeoutDuration.DURATION_500\n): (\n contextId: string | null,\n stake: string | number,\n callback?: (disable: boolean) => void\n) => void {\n const history = useHistory();\n const { t } = useTranslation();\n const { currencyId } = useCurrency();\n const balance = useBalance();\n const user = useSelector(getUser);\n const isFreeBetEnabled = useSelector(getIsFreeBetEnabled);\n const partnerConfigs = useSelector(getPartnerConfigs);\n const useBonusBalance = useSelector(getUseBonusBalance);\n const useFrenchFreeBet = useSelector(getIsFrenchFreeBetEnabled);\n const editBet = useSelector(getEditBet);\n const debounceId = useRef(RidGenerator.rand());\n\n const getToDeposit = () => {\n if (useBonusBalance || useFrenchFreeBet) {\n return;\n }\n\n if (SpringConfigs.IFRAME_SPORTSBOOK) {\n openParentPage('deposit');\n } else {\n history.push(addQuery({ accounts: '*', wallet: '*', deposit: '*' }));\n }\n };\n\n const checkMinBetStakeLimit = (\n stake: string | number,\n contextId: string | null\n ) => {\n const betLimitMinStakeForEditBet =\n editBet?.active &&\n editBet?.amount &&\n +editBet.amount + +stake <\n (partnerConfigs?.min_bet_stakes[currencyId] || 0);\n\n const isBetMinLimitStake =\n +stake !== 0 &&\n ((!editBet?.active &&\n +stake < (partnerConfigs?.min_bet_stakes[currencyId] || 0)) ||\n betLimitMinStakeForEditBet);\n\n if (isBetMinLimitStake) {\n const minLimit = t('betslip.betStakeMinLimitErrors', {\n min_bet: thousandSeparator(\n partnerConfigs?.min_bet_stakes[currencyId] || ''\n ),\n currency: currencyId\n });\n\n showToastWarning(\n minLimit,\n contextId ? document.getElementById(contextId) : document.body\n );\n }\n\n return isBetMinLimitStake;\n };\n\n const checkInsufficientBalance = (\n stake: string | number,\n contextId: string | null\n ) => {\n const isInsufficient = +stake > (balance || user.balance);\n\n if (isInsufficient) {\n let balanceError = '';\n\n if (useBonusBalance && user?.bonus_balance) {\n balanceError = t('betslip.insufficientBonusFundError');\n } else if (useFrenchFreeBet) {\n balanceError = t('betslip.insufficientAccountFundError');\n } else {\n balanceError = t('betslip.insufficientFundError');\n }\n\n showToastError(\n `${balanceError}`,\n contextId ? document.getElementById(contextId) : document.body,\n null,\n getToDeposit,\n { cursor: 'pointer' }\n );\n }\n\n return isInsufficient;\n };\n\n return debounce(\n debounceId.current,\n (\n contextId: string | null,\n stake: string | number,\n callback?: (disable: boolean) => void\n ): void => {\n if (stake === '' || isFreeBetEnabled) {\n return callback?.(false);\n }\n\n const isBetMinLimitStake = checkMinBetStakeLimit(stake, contextId);\n const isInsufficient = checkInsufficientBalance(stake, contextId);\n\n callback?.(isBetMinLimitStake || isInsufficient || !Number(stake));\n },\n debounceDuration\n );\n}\n","import { useCallback, useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n minBetStakeType,\n predefinedStakesType\n} from 'utils/constants/betslip/bet-types';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { thousandSeparator } from 'utils/helpers/validators';\nimport { roundAmount } from 'newelements/_Betslip/utils/roundings/round-amount';\nimport { useCurrency } from 'hooks/useCurrency';\nimport { setRSPredefinedStakes } from 'store/actions/betslip';\nimport { getPredefinedStakes } from 'store/selectors/betslip';\nimport { getPartnerConfigs } from 'store/selectors/socket';\n\ntype PredefinedStakes = {\n [key: string]: string | number | undefined;\n};\n\ntype TUsePredefinedStakes = {\n predefinedStakes: {\n default_stake: any;\n stake_1: any;\n stake_2: any;\n stake_3: any;\n };\n setPredefinedStakes: (values: PredefinedStakes) => void;\n};\n\nexport const usePredefinedStakes = (): TUsePredefinedStakes => {\n const dispatch = useDispatch();\n const partnerConfigs = useSelector(getPartnerConfigs);\n const { currencyId } = useCurrency();\n\n const storePredefinedStakes = useSelector(getPredefinedStakes);\n\n const defaultStakes = useMemo(() => {\n let predefinedStakes: PredefinedStakes = {};\n\n if (SpringConfigs.PREDEFINE_STAKES_ENABLE) {\n predefinedStakes = {\n stake_1: +roundAmount(SpringConfigs.PREDEFINE_STAKE_1),\n stake_2: +roundAmount(SpringConfigs.PREDEFINE_STAKE_2),\n stake_3: +roundAmount(SpringConfigs.PREDEFINE_STAKE_3)\n };\n }\n\n if (SpringConfigs.DEFAULT_STAKE_ENABLED) {\n predefinedStakes.default_stake = +roundAmount(\n SpringConfigs.DEFAULT_STAKE\n );\n }\n\n if (partnerConfigs && currencyId) {\n const minBetStake = partnerConfigs.min_bet_stakes[currencyId];\n\n return {\n stake_1: roundAmount(\n predefinedStakes.stake_1 ||\n minBetStake * minBetStakeType.MULTIPLIER_10 ||\n predefinedStakesType.STAKE_TYPE_1\n ),\n stake_2: roundAmount(\n predefinedStakes.stake_2 ||\n minBetStake * minBetStakeType.MULTIPLIER_20 ||\n predefinedStakesType.STAKE_TYPE_2\n ),\n stake_3: roundAmount(\n predefinedStakes.stake_3 ||\n minBetStake * minBetStakeType.MULTIPLIER_50 ||\n predefinedStakesType.STAKE_TYPE_3\n ),\n default_stake: predefinedStakes.default_stake || ''\n };\n } else {\n return {\n default_stake: '',\n stake_1: roundAmount(\n predefinedStakes.stake_1 || predefinedStakesType.STAKE_TYPE_1\n ),\n stake_2: roundAmount(\n predefinedStakes.stake_2 || predefinedStakesType.STAKE_TYPE_2\n ),\n stake_3: roundAmount(\n predefinedStakes.stake_3 || predefinedStakesType.STAKE_TYPE_3\n )\n };\n }\n }, [partnerConfigs, currencyId]);\n\n const predefinedStakes = useMemo(() => {\n const { default_stake, stake_1, stake_2, stake_3 } =\n storePredefinedStakes || {};\n\n return {\n default_stake: default_stake ?? defaultStakes.default_stake,\n stake_1: thousandSeparator(stake_1 || defaultStakes.stake_1),\n stake_2: thousandSeparator(stake_2 || defaultStakes.stake_2),\n stake_3: thousandSeparator(stake_3 || defaultStakes.stake_3)\n };\n }, [defaultStakes, storePredefinedStakes]);\n\n const setPredefinedStakes = useCallback((values: PredefinedStakes) => {\n dispatch(setRSPredefinedStakes(values));\n }, []);\n\n return { predefinedStakes, setPredefinedStakes };\n};\n","import { useRef } from 'react';\n\nexport const usePrevious = (value: T, initial?: T): T | undefined => {\n const ref = useRef({ target: value, previous: initial });\n\n if (JSON.stringify(ref.current.target) !== JSON.stringify(value)) {\n // The value changed.\n ref.current.previous = ref.current.target;\n ref.current.target = value;\n }\n\n return ref.current.previous as T;\n};\n","import { useLayoutEffect, useRef } from 'react';\n\nexport const useRefValue = (value: T): T => {\n const refValue = useRef(value);\n useLayoutEffect(() => {\n refValue.current = value;\n }, [value]);\n\n return refValue.current;\n};\n","export enum EPlayerActivityCheckerActions {\n checkPlayerActivity = 'checkPlayerActivity'\n}\n","import { ReactElement, useEffect, useMemo, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport i18n from 'i18next';\nimport { ONE_HUNDRED_PERCENT } from 'utils/constants/sportsbook/magic-numbers';\nimport { EBetBalanceType } from 'interfaces/betslip';\nimport { calculateAndDispatchUpdates } from 'newelements/_Betslip/utils/action-middlewares/store-actions-middlewares/calculateAndDispatchUpdates';\nimport { CustomMenu } from 'components/UI/CustomMenu';\nimport { useProfitBoost } from 'hooks/useProfitBoost';\nimport {\n setIsFrenchFreeBetEnabled,\n setUseBonusBalance\n} from 'store/actions/betslip';\nimport {\n getCounterOfferActiveEventIds,\n getIsFreeBetEnabled,\n getIsFrenchFreeBetEnabled,\n getProfitBoost,\n getProfitBoostAdvanced,\n getSuperBetActiveEventIds\n} from 'store/selectors/betslip';\nimport { getUser } from 'store/selectors/user-data';\nimport './index.less';\n\nexport const BetWithBonusOrDepositBalance = (): ReactElement => {\n const [selectedType, setSelectedType] = useState(\n EBetBalanceType.REAL\n );\n\n const superBetActiveEventIds = useSelector(getSuperBetActiveEventIds);\n const counterOfferActiveEventIds = useSelector(getCounterOfferActiveEventIds);\n const isFrenchFreeBetEnabled = useSelector(getIsFrenchFreeBetEnabled);\n const profitBoost = useSelector(getProfitBoost);\n const profitBoostAdvanced = useSelector(getProfitBoostAdvanced);\n const user = useSelector(getUser);\n const isFreeBetEnabled = useSelector(getIsFreeBetEnabled);\n\n const dispatch = useDispatch();\n\n const { setToggleProfitBoost } = useProfitBoost();\n\n const isProfitBoostActive = !!(\n profitBoost?.selected || profitBoostAdvanced?.single?.length\n );\n\n const isSuperBetActive = !!superBetActiveEventIds.length;\n const isCounterOfferActive = !!counterOfferActiveEventIds.length;\n\n const menuItems = useMemo(() => {\n const result = [\n {\n value: i18n.t('betslip.realMode'),\n key: EBetBalanceType.REAL\n }\n ];\n\n if (user.sport_bonus) {\n result.push({\n value: i18n.t('betslip.bonusMode'),\n key: EBetBalanceType.BONUS\n });\n }\n\n if (user.bonus_money) {\n result.push({\n value: i18n.t('betslip.freebet'),\n key: EBetBalanceType.FREE_BET\n });\n }\n\n return result;\n }, [user.sport_bonus, user.bonus_money]);\n\n const handleSelectTab = (key: EBetBalanceType) => {\n setSelectedType(key);\n\n dispatch(setUseBonusBalance(key === EBetBalanceType.BONUS));\n dispatch(setIsFrenchFreeBetEnabled(key === EBetBalanceType.FREE_BET));\n\n // TODO: Nahepet-sb need to review this functionality\n if (key === EBetBalanceType.FREE_BET) {\n if (isProfitBoostActive) {\n setToggleProfitBoost();\n }\n\n if (isCounterOfferActive) {\n counterOfferActiveEventIds.forEach(id =>\n calculateAndDispatchUpdates({ id, oddOffer: null })\n );\n }\n\n if (isSuperBetActive) {\n superBetActiveEventIds.forEach(id =>\n calculateAndDispatchUpdates({ id, superBet: false })\n );\n }\n }\n };\n\n useEffect(() => {\n if (selectedType !== EBetBalanceType.BONUS) {\n dispatch(setUseBonusBalance(false));\n }\n\n if (selectedType !== EBetBalanceType.FREE_BET) {\n dispatch(setIsFrenchFreeBetEnabled(false));\n }\n\n return () => {\n dispatch(setUseBonusBalance(false));\n dispatch(setIsFrenchFreeBetEnabled(false));\n };\n }, []);\n\n useEffect(() => {\n if (isFrenchFreeBetEnabled) {\n setSelectedType(EBetBalanceType.FREE_BET);\n } else if (selectedType === EBetBalanceType.BONUS) {\n setSelectedType(EBetBalanceType.BONUS);\n } else {\n setSelectedType(EBetBalanceType.REAL);\n }\n }, [isFrenchFreeBetEnabled]);\n\n // TODO: @Nahept-sb need to review this functionality, this is for switch freebet tab on selecting other betslip feature\n useEffect(() => {\n if (\n (isProfitBoostActive || isCounterOfferActive || isSuperBetActive) &&\n isFrenchFreeBetEnabled\n ) {\n setSelectedType(EBetBalanceType.REAL);\n dispatch(setIsFrenchFreeBetEnabled(false));\n }\n }, [isSuperBetActive, isCounterOfferActive, isProfitBoostActive]);\n\n return (\n
\n \n
\n );\n};\n","import { useCallback } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { BetSlipEventObj, TProfitBoostItem } from 'interfaces/bet-data';\nimport { fireToggleProfitBoost } from 'newelements/_Betslip/managers/ProfitBoostManager/actions';\nimport {\n cleanProfitBoostState,\n setProfitBoost as setProfitBoostRedux,\n setSelectedProfitBoostId\n} from 'store/actions/betslip';\nimport {\n getIsProfitBoostAvailable,\n getProfitBoost,\n getProfitBoost_,\n getSelectedProfitBoostItem\n} from 'store/selectors/betslip';\n\ntype ProfitBoostReturnType = {\n isProfitBoostEnabled: boolean;\n selectedProfitBoostEventId: number | string | undefined | null;\n setSelectedProfitBoostEventId: Function;\n setToggleProfitBoost: Function;\n getSelectedItem: Function;\n setSelectedItem: Function;\n selectedProfitBoostItem: null | TProfitBoostItem | undefined;\n isSingleEventSelected: Function;\n getSelectedAdvancedSingleRule: Function;\n getSelectedAdvancedMultipleRule: Function;\n offAllSelected: () => void;\n showBoostInfo: boolean;\n removeProfitBoostItem: Function;\n};\n\nexport const useProfitBoost = (): ProfitBoostReturnType => {\n const profitBoost = useSelector(getProfitBoost);\n const selectedProfitBoostItem = useSelector(getSelectedProfitBoostItem);\n const isProfitBoostEnabled = useSelector(getIsProfitBoostAvailable);\n const profitBoostStore = useSelector(getProfitBoost_);\n\n const dispatch = useDispatch();\n\n const setToggleProfitBoost = (val = null, eventId: number | null = null) => {\n fireToggleProfitBoost(eventId, val);\n };\n\n const getSelectedItem = () => selectedProfitBoostItem;\n\n const setSelectedItem = (id: number) => {\n dispatch(setSelectedProfitBoostId(id));\n };\n\n const isSingleEventSelected = (\n event: BetSlipEventObj\n ): boolean | undefined => {\n return profitBoostStore.profitBoostSelectedEventId === event.eventId;\n };\n\n const offAllSelected = () => {\n dispatch(cleanProfitBoostState());\n };\n\n const removeProfitBoostItem = useCallback(\n (type: string, id: Number) => {\n if (type === 'single' && profitBoost) {\n const profitBoostData = JSON.parse(JSON.stringify(profitBoost));\n profitBoostData.items = profitBoostData.items.map(\n (item: TProfitBoostItem) => item.id !== id\n );\n dispatch(setProfitBoostRedux(profitBoostData));\n }\n },\n [profitBoost]\n );\n\n return {\n isProfitBoostEnabled,\n selectedProfitBoostEventId: profitBoostStore.profitBoostSelectedEventId,\n setSelectedProfitBoostEventId: (\n eventId: Parameters['0']\n ) => dispatch(setSelectedProfitBoostId(eventId)),\n setToggleProfitBoost,\n getSelectedItem,\n setSelectedItem,\n selectedProfitBoostItem,\n isSingleEventSelected,\n getSelectedAdvancedSingleRule: getSelectedItem,\n getSelectedAdvancedMultipleRule: getSelectedItem,\n offAllSelected,\n showBoostInfo:\n !!profitBoostStore.profitBoostSelectedItemId &&\n !!profitBoostStore.profitBoostSelectedEventId,\n removeProfitBoostItem\n };\n};\n","import { CSSProperties, ReactElement, ReactNode } from 'react';\nimport cc from 'classcat';\nimport './index.less';\n\ntype TBadgerops = {\n color?: string;\n count?: ReactNode | string;\n className?: string;\n dot?: boolean;\n offset?: [number, number];\n overflowCount?: number;\n showZero?: boolean;\n size?: 'default' | 'small';\n style?: CSSProperties;\n status?: 'success' | 'processing' | 'default' | 'error' | 'warning';\n text?: ReactNode;\n title?: string;\n children?: ReactElement;\n};\n\nexport const Badge = ({\n children,\n color,\n count,\n className,\n dot,\n offset,\n overflowCount,\n showZero,\n size,\n status,\n style,\n text,\n title\n}: TBadgerops) => {\n let styleOBj = {};\n\n if (offset?.length) {\n styleOBj = { right: -offset[0], marginTop: offset[1] };\n }\n\n return (\n \n {children ? children : null}\n {status || dot ? (\n \n ) : count || (showZero && count == 0) ? (\n \n {overflowCount && count && +overflowCount > +count\n ? `${overflowCount}+`\n : count}\n \n ) : null}\n {text}\n \n );\n};\n","import { ForwardedRef, forwardRef, ReactElement } from 'react';\nimport { Input as AntInput, InputProps as AntInputProps, InputRef } from 'antd';\nimport cc from 'classcat';\nimport { createTestId } from 'utils/helpers/create-test-id';\nimport './index.less';\n\nexport type InputProps = AntInputProps & {\n label?: string;\n};\n\nexport const Input = forwardRef(\n (\n { label, className, ...props }: InputProps,\n ref: ForwardedRef\n ): ReactElement => {\n return (\n
\n {!!label &&
{label}
}\n \n
\n );\n }\n);\n","import { ReactElement } from 'react';\nimport { Loading } from 'components/Loading';\nimport './index.less';\n\nexport const BetslipPreloadState = (): ReactElement => {\n return (\n
\n \n
\n );\n};\n","import { PropsWithChildren, ReactElement, useRef } from 'react';\nimport { useSelector } from 'react-redux';\nimport cc from 'classcat';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { isMobile } from 'utils/is-mobile';\nimport { useContentHeight } from 'hooks/useContentHeight';\nimport { getAllLsBets } from 'store/selectors/betslip';\n\ntype TBetslipRootContainerProps = PropsWithChildren & {\n isHeightFixed?: boolean;\n detectTopHeight?: number;\n};\n\nexport const BetslipRootContainer = ({\n children,\n isHeightFixed,\n detectTopHeight\n}: TBetslipRootContainerProps): ReactElement => {\n const betslipContainerRef = useRef(null);\n const allLsBetsCount = useSelector(getAllLsBets).length;\n\n const wrapperHeight = useContentHeight(\n false,\n !isMobile() && detectTopHeight ? detectTopHeight : undefined\n );\n\n const isBetslipEmpty = allLsBetsCount === 0;\n const isScrollOnPage =\n SpringConfigs.HOORY_ENABLED &&\n SpringConfigs.HOORY_ENABLED_SPORTSBOOK_BETSLIP &&\n !isMobile();\n\n return (\n \n \n {children}\n \n \n );\n};\n","import { fireEvent } from 'utils/generic/event-bus';\nimport { EBetslipToggleActions } from 'newelements/_Betslip/types/toggle';\n\nexport const toggleBetslip = (payload?: boolean) => {\n fireEvent({\n key: EBetslipToggleActions.SET_OPEN,\n payload\n });\n};\n","import styled from 'styled-components';\n\nexport const Badge = styled.span`\n padding: 0 5px;\n font-size: 12px;\n min-width: 20px;\n font-weight: 400;\n margin-left: 6px;\n line-height: 20px;\n border-radius: 20px;\n display: inline-block;\n vertical-align: middle;\n color: var(--v3-color-on-primary);\n background-color: var(--v3-primary-6);\n`;\n\nexport const Tab = styled.div<{\n key: number;\n active: boolean;\n fullwidth: boolean;\n onClick: Function;\n tabsCount: number;\n fromMenu?: boolean;\n}>`\n cursor: pointer;\n text-align: center;\n color: var(--v3-text-color);\n background-color: var(--v3-black-0);\n ${props => props.fromMenu && 'border-bottom: 1px solid var(--v3-black-4)'};\n ${props => props.fullwidth && 'flex: 1;'}\n ${props =>\n props.active\n ? ` \n font-weight: 600;\n ${\n props.tabsCount > 1 &&\n `border-bottom: ${\n props.fromMenu ? '1px' : '2px'\n } solid var(--v3-primary-6)`\n };\n `\n : `color: var(--v3-text-color-secondary);\n & > span {\n background-color: var(--v3-primary-4);\n }`};\n`;\n\nexport const Wrapper = styled.div<{ bordered: boolean }>`\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n ${props =>\n props.bordered &&\n ` border-top: 1px solid var(--v3-black-4); \n `}\n`;\n\nconst SUBTRACT_PADDING_TOP = 3;\n\nexport const Container = styled.div<{\n fixedTop?: number;\n size: 'default' | 'middle' | 'large';\n fromMenu?: boolean;\n}>`\n flex: 1;\n ${props =>\n props.fixedTop !== undefined &&\n ` padding-top: ${props.fixedTop - SUBTRACT_PADDING_TOP}px;\n ${Wrapper} {\n position: fixed;\n top: ${props.fixedTop}px;\n left: 0;\n right: 0;\n z-index: 1;\n }\n `}\n ${props => {\n switch (props.size) {\n case 'default':\n return `\n ${Tab} {\n font-size: 12px;\n ${!props.fromMenu && 'line-height: 38px'}\n }\n `;\n case 'middle':\n return `\n ${Tab} {\n font-size: 14px;\n line-height: 42px;\n }\n `;\n case 'large':\n return `\n ${Tab} {\n padding: 0 20px;\n font-size: 16px;\n min-width: 190px;\n line-height: 54px;\n }\n `;\n }\n }}\n`;\n","import { ReactElement, useEffect } from 'react';\nimport { TabBarPropsType } from 'rmc-tabs';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { Badge, Container, Tab, Wrapper } from './style';\nimport './index.less';\n\nif (SpringConfigs.IS_RTL) {\n import('./rtl.less');\n}\n\ninterface Props extends TabBarPropsType {\n fixedTop?: number;\n bordered?: boolean;\n fullwidth?: boolean;\n size?: 'default' | 'middle' | 'large';\n editBet?: boolean;\n allLsBetsCount?: number;\n fromMenu?: boolean;\n}\n\nexport const CustomTabBar = (props: Props): ReactElement => {\n const fullwidth = props.fullwidth == undefined ? true : props.fullwidth;\n\n useEffect(() => {\n if (props.editBet) {\n props.goToTab(0);\n }\n }, [props.editBet, props.allLsBetsCount]);\n\n return (\n \n \n {props.tabs.map((tab, index) => (\n props.goToTab(index)}\n active={props.activeTab === index}\n fullwidth={fullwidth}\n key={index}\n tabsCount={props.tabs.length}\n fromMenu={props.fromMenu}\n className=\"customTab__tab-container\"\n >\n {tab.title}\n {tab.badge !== undefined && (\n {tab.badge}\n )}\n \n ))}\n \n \n );\n};\n","import { FC, memo, ReactElement, Suspense, useCallback, useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Tabs } from 'antd-mobile';\nimport TabsProps from 'antd-mobile/lib/tabs/PropsType';\nimport cc from 'classcat';\nimport { TabBarPropsType } from 'rmc-tabs';\nimport { getType } from 'utils/betslip/betslip';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { lazy } from 'utils/generic/lazy';\nimport { isMobile } from 'utils/is-mobile';\nimport { BetsProps, EBetslipBetType, EBetslipType } from 'interfaces/betslip';\nimport { toggleBetslip } from 'newelements/_Betslip/managers/ToggleManager/toggle-betslip-options';\nimport { useBetslipConfigsContext } from 'newelements/_Betslip/providers/configs-provider';\nimport { BetslipPreloadState } from 'newelements/_Betslip/Skeleton';\nimport { ConditionalWrapper } from 'components/ConditionalWrapper';\nimport { CustomTabBar } from 'components/CustomTabBar';\nimport { GlobalIcon } from 'components/GlobalIcon';\nimport { Loading } from 'components/Loading';\nimport {\n batchActions,\n setActiveTabPage,\n setMustClose,\n setMustOpen,\n setQuickSingleBetslipOpen\n} from 'store/actions';\nimport {\n getActiveTabPage,\n getAllLsBets,\n getBetslipType,\n getEditBet,\n getIsCounterOfferActive,\n getOpenBetsCount,\n getSingleReturn,\n getSubscribedEvents,\n getTabs,\n getType as getTypeSelector\n} from 'store/selectors/betslip';\n\nconst { Bets } = lazy(\n () =>\n import(\n /* webpackChunkName: \"betslip-bets\" */ 'newelements/_Betslip/components/shared/Bets'\n )\n);\n\nconst { OpenBets } = lazy(\n () =>\n import(\n /* webpackChunkName: \"betslip-open-bets\" */ 'newelements/_Betslip/views/OpenBets'\n )\n);\n\nconst { BetslipTabsWrapper } = lazy(\n () =>\n import(\n /* webpackChunkName: \"betslip-tabs-wrapper\" */ 'newelements/_Betslip/components/wrappers/BetslipTabsWrapper'\n )\n);\n\n// @Todo move into types file betslip-types\ninterface CustomTabProps extends TabBarPropsType {\n fixedTop?: number;\n bordered?: boolean;\n fullwidth?: boolean;\n size?: 'default' | 'middle' | 'large';\n editBet?: boolean;\n allLsBetsCount?: number;\n fromMenu?: boolean;\n}\n\nexport const BetslipTabs: FC = memo((): ReactElement => {\n const dispatch = useDispatch();\n\n const { floatingMode } = useBetslipConfigsContext().static;\n\n const tabs = useSelector(getTabs);\n const type = useSelector(getTypeSelector);\n const page = useSelector(getActiveTabPage);\n const betslipType = useSelector(getBetslipType);\n const singleReturn = useSelector(getSingleReturn);\n const openBetsCount = useSelector(getOpenBetsCount);\n const allLsBetsCount = useSelector(getAllLsBets).length;\n const isEditBEtActive = !!useSelector(getEditBet)?.active;\n const subscribedEvents = useSelector(getSubscribedEvents);\n const isCounterOfferActive = useSelector(getIsCounterOfferActive);\n\n // @Todo move this into config provider after useEventBus changing\n const currentType =\n betslipType === EBetslipType.BASIC\n ? getType(type, isCounterOfferActive)\n : EBetslipBetType.SINGLE;\n\n // @Todo need to minimize props\n const renderTabBar = useCallback(\n (props: CustomTabProps) => {\n return (\n \n \n \n \n {(isMobile() || floatingMode) && (\n {\n toggleBetslip(false);\n dispatch(\n batchActions(\n setMustOpen(false),\n setMustClose(true),\n setQuickSingleBetslipOpen(false)\n )\n );\n }}\n />\n )}\n \n );\n },\n [isEditBEtActive, allLsBetsCount, openBetsCount, floatingMode]\n );\n\n // need to memorize\n const tabProps = useMemo(\n () => ({\n tabs,\n prerenderingSiblingsNumber: 0,\n destroyInactiveTab: false,\n swipeable: false,\n animated: false,\n renderTabBar,\n page,\n initialPage: Number(!allLsBetsCount && !!openBetsCount),\n onChange: tab => {\n dispatch(setActiveTabPage(tab.id));\n }\n }),\n [tabs, renderTabBar, allLsBetsCount, openBetsCount, page]\n );\n\n const isBetTypeMultipleOrChain = [\n EBetslipBetType.MULTIPLE,\n EBetslipBetType.CHAIN\n ].includes(currentType);\n\n const betsProps: BetsProps = useMemo(\n () => ({\n subscribedEvents,\n toggleBetslipView: value => {\n const timeout = 2500;\n\n if (floatingMode) {\n setTimeout(() => toggleBetslip(value), timeout);\n } else {\n toggleBetslip(value);\n }\n },\n singleReturn,\n currentType,\n isBetTypeMultipleOrChain\n }),\n [subscribedEvents, singleReturn, currentType, isBetTypeMultipleOrChain]\n );\n\n const Fallback = useCallback(\n () => (isMobile() ? : ),\n []\n );\n\n return (\n (\n \n {children}\n \n )}\n >\n {/*@ts-ignore need to update package version or remove it*/}\n \n }>\n \n \n {/*@Todo change this logic after types fixing*/}\n {(tabProps.page === 1 || tabProps.initialPage === 1) && (\n \n \n \n )}\n \n \n );\n});\n","import {\n memo,\n ReactElement,\n Suspense,\n useCallback,\n useEffect,\n useState\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Button, Form } from 'antd';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { lazy } from 'utils/generic/lazy';\nimport { QuickBetBaseSwitcher } from 'newelements/_Betslip/components/shared/Switchers/QuickBetSwitcher/BaseSwtcher';\nimport { toggleBetslip } from 'newelements/_Betslip/managers/ToggleManager/toggle-betslip-options';\nimport { FooterContainer, Header } from 'newelements/_Betslip/views/style';\nimport { CustomKeyboard } from 'components/CustomKeyboard';\nimport { Popup } from 'components/Popup';\nimport { StakeField } from 'components/StakeField';\nimport { BetWithBonusOrDepositBalance } from 'newcomponents/Shared/betslip/BetWithBonusOrDepositBalance';\nimport { useAccountBalanceAvailable } from 'hooks/useCheckIsAccountBalanceAvailable';\nimport { useCheckStakeBalance } from 'hooks/useCheckStakeBalance';\nimport { updateQuickBetStake } from 'store/actions/betslip';\nimport {\n getBetslipOpen,\n getQuickBetEnabled,\n getQuickBetStake,\n getUseBonusBalance\n} from 'store/selectors/betslip';\nimport { getIsLoggedIn, getUser } from 'store/selectors/user-data';\n\nconst { BonusBalanceSwitcher } = lazy(\n () =>\n import(\n /* webpackChunkName: \"betslip-bonus-balance-switcher\" */ 'newcomponents/Shared/betslip/BonusBalanceSwitcher'\n )\n);\n\nexport const QuickBetComponent = memo((): ReactElement => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n\n const isBetslipOpened = useSelector(getBetslipOpen);\n const quickBetStake = useSelector(getQuickBetStake);\n const isQuickBetEnabled = useSelector(getQuickBetEnabled);\n const useBonusBalance = useSelector(getUseBonusBalance);\n const isLoggedIn = useSelector(getIsLoggedIn);\n const user = useSelector(getUser);\n\n const checkStakeBalance = useCheckStakeBalance();\n const accountBalanceAvailable = useAccountBalanceAvailable();\n\n const [stake, setStake] = useState(`${quickBetStake || ''}`);\n const [form] = Form.useForm();\n const [visible, setVisible] = useState(false);\n const [isDisabled, setIsDisabled] = useState(true);\n\n useEffect(() => {\n checkStakeBalance('betslip-wrapper', stake || 0, (disable: boolean) =>\n setIsDisabled(disable)\n );\n }, [stake, useBonusBalance]);\n\n const showQuickBetslip = isBetslipOpened && isQuickBetEnabled;\n\n const onSave = useCallback(() => {\n toggleBetslip();\n setVisible(false);\n\n if (quickBetStake !== Number(stake)) {\n dispatch(updateQuickBetStake(Number(stake)));\n }\n }, [quickBetStake, stake]);\n\n return (\n \n
\n \n
\n
\n setVisible(true)}\n placeholder={t('betslip.stake')}\n onChange={value => setStake(value)}\n active={visible}\n />\n {visible && (\n \n )}\n\n {accountBalanceAvailable ? (\n SpringConfigs.BET_WITH_ONLY_BONUS_OR_DEPOSIT || user.bonus_money ? (\n \n \n \n ) : (\n \n \n \n )\n ) : null}\n\n \n \n {t('betslip.save')}\n \n \n \n \n );\n});\n","import { ReactElement, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport cc from 'classcat';\nimport { isMobile } from 'utils/is-mobile';\nimport { GlobalIcon } from 'components/GlobalIcon';\nimport { Portal } from 'components/Shared/Portal';\n\ntype TProps = {\n count: number;\n};\n\nexport const LoadingInProcess = ({ count }: TProps): ReactElement => {\n const { t } = useTranslation();\n\n const loadingPopup = useMemo(() => {\n return (\n \n
\n \n \n {t('betslip.betInProcess')} ({count})\n \n
\n
\n {t('betslip.aFewSecondsLeft')}\n
\n \n );\n }, [count]);\n\n return isMobile() ? {loadingPopup} : loadingPopup;\n};\n","import { ReactElement, useEffect, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport cc from 'classcat';\nimport { changeWrapperRowZIndex } from 'utils/bom-dom-manipulation/wrapper-row-z-index';\nimport { EIconSize } from 'utils/constants/app/ui';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { isMobile } from 'utils/is-mobile';\nimport { formatPrice } from 'utils/string-manipulation/format-price';\nimport { toggleQuickBet } from 'newelements/_Betslip/managers/QuickBetManager/quickBetActions';\nimport { GlobalIcon } from 'components/GlobalIcon';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport { useCurrency } from 'hooks/useCurrency';\nimport { getQuickBetStake } from 'store/selectors/betslip';\nimport { BetslipFeatureSwitcher } from '../BetslipFeatureSwitcher';\nimport './index.less';\n\nif (SpringConfigs.IS_RTL) {\n import('./rtl.less');\n}\n\ntype Props = {\n quickBet: boolean;\n onClick: (event: React.MouseEvent) => void;\n};\n\nconst ROW_Z_INDEX_INCREASE_SIZE = -1;\n\nconst bottomNavigation = SpringConfigs.BOTTOM_NAVIGATION;\n\nexport const QuickbetToggle = ({\n onClick,\n quickBet\n}: Props): ReactElement | null => {\n const quickBetStake = useSelector(getQuickBetStake);\n\n const { formatAmount, currencyId } = useCurrency();\n const { t } = useTranslation();\n const safeAreaRef = useRef(null);\n\n useEffect(() => {\n let wrapperElem: HTMLElement | null = null;\n\n if (quickBet && safeAreaRef.current) {\n wrapperElem = changeWrapperRowZIndex(safeAreaRef.current, 1);\n }\n\n return () => {\n if (quickBet && wrapperElem) {\n changeWrapperRowZIndex(wrapperElem, ROW_Z_INDEX_INCREASE_SIZE, true);\n }\n };\n }, [quickBet]);\n\n return quickBet ? (\n \n
\n
\n \n {t('betslip.quickBetTooltip')}\n
\n {currencyId ? (\n
{formatAmount(formatPrice(quickBetStake))}
\n ) : (\n \n )}\n
\n\n \n \n ) : null;\n};\n","import { memo, ReactElement, Suspense } from 'react';\nimport { useSelector } from 'react-redux';\nimport { isMobile } from 'utils/is-mobile';\nimport { QuickBetComponent } from 'newelements/_Betslip/components/shared/Features/QuickBet/QuickBet';\nimport { toggleBetslip } from 'newelements/_Betslip/managers/ToggleManager/toggle-betslip-options';\nimport { LoadingInProcess } from 'newelements/_Betslip/views/LoadingInProcess';\nimport { QuickbetToggle } from 'components/QuickbetToggle';\nimport {\n getQuickBetEnabled,\n getQuickBetInProcessCount\n} from 'store/selectors/betslip';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\n\nexport const QuickBet = memo((): ReactElement | null => {\n const isLoggedIn = useSelector(getIsLoggedIn);\n const isQuickBetEnabled = useSelector(getQuickBetEnabled);\n const quickBetInProcessCount = useSelector(getQuickBetInProcessCount);\n\n const isQuickBetVisible = isQuickBetEnabled && isMobile() && isLoggedIn;\n\n return (\n <>\n {isQuickBetVisible ? (\n \n \n \n ) : null}\n\n {isMobile() && isLoggedIn && (\n \n toggleBetslip()}\n />\n \n )}\n {/* @Todo lazy import */}\n {isQuickBetEnabled && quickBetInProcessCount > 0 ? (\n \n ) : null}\n \n );\n});\n","import { memo, ReactElement, Suspense } from 'react';\nimport { lazy } from 'utils/generic/lazy';\n\nconst { AdvancedBetslipLayoutComponent } = lazy(\n () =>\n import(\n /* webpackChunkName: \"advanced-betslip-layout\" */ 'newelements/_Betslip/layouts/Advanced/component'\n )\n);\n\nexport const AdvancedBetslipLayout = memo((): ReactElement => {\n return (\n \n \n \n );\n});\n","import { ReactElement, Suspense } from 'react';\nimport { lazy } from 'utils/generic/lazy';\n\nconst { BasicBetslipLayoutComponent } = lazy(\n () =>\n import(\n /* webpackChunkName: \"basic-betslip-layout\" */ 'newelements/_Betslip/layouts/Basic/component'\n )\n);\n\nexport const BasicBetslipLayout = (): ReactElement => {\n return (\n \n \n \n );\n};\n","import { useSelector } from 'react-redux';\nimport { EBetslipType } from 'interfaces/betslip';\nimport { AdvancedBetslipLayout } from 'newelements/_Betslip/layouts/Advanced';\nimport { BasicBetslipLayout } from 'newelements/_Betslip/layouts/Basic';\nimport { getBetslipType } from 'store/selectors/betslip';\n\nexport const BetslipTypeBasedLayout = () => {\n const betslipType = useSelector(getBetslipType);\n\n return betslipType === EBetslipType.BASIC ? (\n \n ) : (\n \n );\n};\n","import { useEffect, useLayoutEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n checkConflicts,\n getBetSlipFromLs,\n updateBaseEventsData\n} from 'utils/betslip/betslip';\nimport LS from 'utils/bom-dom-manipulation/local-storage';\nimport { PRIVATE_COMPETITIONS } from 'utils/constants/sportsbook/private-competitions';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { betslipBetsCount } from 'utils/sportsbook/api-post-message-sender';\nimport { getGameStatus } from 'utils/sportsbook/game-current-state';\nimport { formatPrice } from 'utils/string-manipulation/format-price';\nimport { BetSlipEventObj } from 'interfaces/bet-data';\nimport {\n BetslipEvents,\n EBetslipBetType,\n SportBonusResponce,\n TSuspendReason\n} from 'interfaces/betslip';\nimport { getEachWay } from 'services/get-each-way';\nimport { getSportBonusRules } from 'services/sportsbook/sport-bonus-rules';\nimport { Event } from '../../../../interfaces/sportsbook-data-levels';\nimport { executeCommand } from '../../../../services/get-data-level';\nimport RidGenerator from '../../../../utils/swarm/rid-generator';\nimport { calculateAndDispatchUpdates } from 'newelements/_Betslip/utils/action-middlewares/store-actions-middlewares/calculateAndDispatchUpdates';\nimport { dispatchBetslipAllBets } from 'newelements/_Betslip/utils/action-middlewares/store-actions-middlewares/dispatchBetslipAllBets';\nimport { GENERAL_FIELD_KEY } from 'newelements/_Betslip/utils/constants/shared';\nimport { setSportBonusRules } from 'store/actions';\nimport {\n getAllLsBets,\n getComputedBetType,\n getSportBonuses,\n getSubscribedEvents\n} from 'store/selectors/betslip';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\n\nexport const BetsManager = (): null => {\n const dispatch = useDispatch();\n\n const allLsBets = useSelector(getAllLsBets);\n const isLoggedIn = useSelector(getIsLoggedIn);\n const betType = useSelector(getComputedBetType);\n const sportBonuses = useSelector(getSportBonuses);\n const subscribedEvents = useSelector(getSubscribedEvents);\n\n useLayoutEffect(() => {\n getSportBonusRules((data: SportBonusResponce) => {\n if (data?.details) {\n dispatch(setSportBonusRules(data.details));\n }\n });\n\n allLsBets.forEach(event => {\n if (event.each_way) {\n getEachWay({ market_id: event?.market?.id });\n }\n });\n }, []);\n\n useLayoutEffect(() => {\n const isMultiples = betType !== EBetslipBetType.SINGLE;\n\n if (sportBonuses.length && isMultiples) {\n calculateAndDispatchUpdates({ id: GENERAL_FIELD_KEY, stake: '' });\n }\n }, [sportBonuses]);\n\n useLayoutEffect(() => {\n if (SpringConfigs.IFRAME_SPORTSBOOK && allLsBets) {\n betslipBetsCount(allLsBets.length || 0);\n }\n }, [allLsBets.length]);\n\n useEffect(() => {\n const eventIds = Object.keys(subscribedEvents);\n\n if (eventIds.length) {\n const bets: BetSlipEventObj[] = [];\n const suspendedEventsData: Record = {};\n getBetSlipFromLs().bets.forEach((bet: BetSlipEventObj) => {\n const newEvent = subscribedEvents[\n bet.eventId\n ] as BetslipEvents['value'];\n\n if (newEvent) {\n if (\n SpringConfigs.BETSLIP_BASE_UPDATE &&\n newEvent.base &&\n newEvent.suspendReasons &&\n newEvent.suspendReasons[0] === 'market' &&\n bet.sport_alias?.toLowerCase() === 'basketball'\n ) {\n const rid = RidGenerator.gForSubscribe();\n executeCommand(\n rid,\n {\n event: ['id', 'name', 'base', 'price']\n },\n {\n game: {\n id: bet.gameId\n },\n market: {\n type: bet.marketType\n },\n event: {\n type_1: bet.type_1\n }\n },\n (data: { event: Record }) => {\n updateBaseEventsData(data, bet, false, false);\n }\n );\n }\n\n const shouldHidePrivateCompetitionGame =\n !isLoggedIn &&\n newEvent.competitionId &&\n PRIVATE_COMPETITIONS[SpringConfigs.JURISDICTION]?.includes(\n newEvent.competitionId\n );\n\n if (shouldHidePrivateCompetitionGame) {\n bet.current_game_state = '';\n\n if (bet.game_info) {\n bet.game_info.score1 = '-';\n bet.game_info.score2 = '-';\n }\n } else {\n bet.current_game_state =\n newEvent.game_state ?? bet.current_game_state;\n bet.current_game_time = newEvent.game_time ?? bet.current_game_time;\n\n if (bet.game_info && newEvent.score1 && newEvent.score2) {\n bet.game_info.score1 = newEvent.score1;\n bet.game_info.score2 = newEvent.score2;\n }\n }\n\n if (newEvent.base !== undefined) {\n bet.eventBase = newEvent.base;\n }\n\n bet.sport_alias = newEvent.sport_alias || '';\n\n if (newEvent.sport_id) {\n bet.sport_id = newEvent.sport_id;\n }\n\n bet.isSuspended = !!newEvent.suspendReasons;\n bet.suspendReasons = newEvent.suspendReasons;\n\n if (bet.isSuspended) {\n calculateAndDispatchUpdates({ id: bet.eventId, stake: '' });\n }\n\n if (newEvent.suspendReasons) {\n suspendedEventsData[bet.eventId] = newEvent.suspendReasons;\n }\n\n bet.coeficient =\n (newEvent.price && formatPrice(newEvent.price, '')) ||\n (bet.coeficient && formatPrice(bet.coeficient, ''));\n\n bet.isLive = newEvent.isLive ?? bet.isLive;\n\n if (bet.current_game_state) {\n bet.game_status = getGameStatus(\n bet.current_game_state ?? '',\n bet.current_game_time ?? '',\n bet.isLive,\n bet.game_start_date,\n bet.sport_index || ''\n );\n }\n\n bets.push(bet);\n }\n });\n\n LS.setItem(\n storageKeyName('betslip', 'BETSLIP_SUSPENDED_EVENTS'),\n JSON.stringify(suspendedEventsData)\n );\n\n if (!bets.length || SpringConfigs.MOCKED_DATA) {\n return;\n }\n\n checkConflicts(bets);\n dispatchBetslipAllBets(bets);\n // dispatch(setAllLsBets(bets));\n }\n }, [subscribedEvents, isLoggedIn]);\n\n return null;\n};\n","import { CommandNames } from 'utils/constants/swarm/swarm-command-names';\nimport RidGenerator from 'utils/swarm/rid-generator';\nimport { WebsocketEnhanced } from 'interfaces/spring-websocket-interfaces';\nimport { connectingWS } from 'hooks/useSpringConnect';\n\nexport const getSportBonusRules = (callback: Function): void => {\n const command = {\n command: CommandNames.GET_SPORT_BONUS_RULES,\n params: {},\n rid: RidGenerator.gForCommand()\n };\n\n connectingWS.then((socket: WebsocketEnhanced) => {\n socket.sendCommand(command, '', callback);\n });\n};\n","import { useCallback, useEffect, useLayoutEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport {\n betSlipInitRedux,\n getAndRemoveMustOpenBetslipFromLS\n} from 'utils/betslip/betslip';\nimport { loadLadder } from 'utils/betslip/odd-formats-helper';\nimport LS from 'utils/bom-dom-manipulation/local-storage';\nimport { ODD_FORMATS } from 'utils/constants/betslip/odd-formats';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { GLOBALS } from 'utils/generic/global-variables';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { isMobile } from 'utils/is-mobile';\nimport { EBetslipPage } from 'interfaces/bet-data';\nimport { EBetslipBetType, EBetslipType } from 'interfaces/betslip';\nimport { toggleBetslip } from 'newelements/_Betslip/managers/ToggleManager/toggle-betslip-options';\nimport { useBetslipConfigsContext } from 'newelements/_Betslip/providers/configs-provider';\nimport {\n setActiveTabPage,\n setElementAbsent,\n setElementPresent,\n setFreezeTabChange,\n setMustOpen,\n setType\n} from 'store/actions';\nimport {\n getAllLsBets,\n getBetslipType,\n getFreezeTabChange,\n getLadderLoaded,\n getOddFormat,\n getOpenBetsCount\n} from 'store/selectors/betslip';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\n\nconst openBetsByDefault = SpringConfigs.OPEN_BETS_BY_DEFAULT;\n\nexport const BetslipConfigManager = (): null => {\n const history = useHistory();\n const dispatch = useDispatch();\n\n const oddFormat = useSelector(getOddFormat);\n const isLoggedIn = useSelector(getIsLoggedIn);\n const betslipType = useSelector(getBetslipType);\n const ladderLoaded = useSelector(getLadderLoaded);\n const openBetsCount = useSelector(getOpenBetsCount);\n const allBetsCount = useSelector(getAllLsBets).length;\n const freezeTabChange = useSelector(getFreezeTabChange);\n\n const { floatingMode } = useBetslipConfigsContext().static;\n\n const selectBetslipTab = useCallback(\n (index: EBetslipPage) => {\n if (freezeTabChange) {\n dispatch(setFreezeTabChange(false));\n } else {\n dispatch(setActiveTabPage(index));\n }\n },\n [freezeTabChange]\n );\n\n useLayoutEffect(() => {\n const initialOddFormat = {\n ...ODD_FORMATS.find(format => format.id === oddFormat)\n };\n\n const { id, value } = initialOddFormat;\n\n if (value === 'fractional' && !ladderLoaded) {\n loadLadder(id);\n }\n }, [ladderLoaded, oddFormat]);\n\n useEffect(() => {\n betSlipInitRedux();\n dispatch(setElementPresent('betslip'));\n\n openBetsCount &&\n allBetsCount === 0 &&\n dispatch(setActiveTabPage(EBetslipPage.OPEN_BETS));\n\n if (!floatingMode) {\n GLOBALS.betslipElementsCount += 1;\n }\n\n const mustOpenLS = getAndRemoveMustOpenBetslipFromLS();\n\n if (mustOpenLS) {\n dispatch(setMustOpen(true));\n isMobile() && LS.removeItem(storageKeyName('betslip', 'MUST_OPEN'));\n }\n\n return () => {\n dispatch(setElementAbsent('betslip'));\n dispatch(setMustOpen(false));\n\n if (!floatingMode) {\n GLOBALS.betslipElementsCount -= 1;\n }\n };\n }, []);\n\n useLayoutEffect(() => {\n let search = '';\n\n return history.listen(data => {\n if (\n search.includes('booking_id') &&\n !data.search.includes('booking_id')\n ) {\n toggleBetslip(false);\n }\n\n search = data.search;\n });\n }, []);\n\n useLayoutEffect(() => {\n if (betslipType === EBetslipType.ADVANCED) {\n dispatch(setType(EBetslipBetType.SINGLE));\n }\n }, [betslipType]);\n\n useLayoutEffect(() => {\n if (isLoggedIn) {\n if (isMobile()) {\n if (openBetsCount && !allBetsCount) {\n selectBetslipTab(EBetslipPage.OPEN_BETS);\n }\n } else {\n if (openBetsByDefault && openBetsCount && !allBetsCount) {\n selectBetslipTab(EBetslipPage.OPEN_BETS);\n }\n }\n }\n }, [allBetsCount, isLoggedIn, openBetsCount]);\n\n // useLayoutEffect(() => {\n // if (allBetsCount < 2 && !getBookBetIdFromLs()) {\n // dispatch(setType(''));\n // }\n // }, [allBetsCount]);\n\n return null;\n};\n","import { FC, useLayoutEffect } from 'react';\nimport { useSelector } from 'react-redux';\nimport { calculateAndDispatchUpdates } from 'newelements/_Betslip/utils/action-middlewares/store-actions-middlewares/calculateAndDispatchUpdates';\nimport { getAllBetIds } from 'store/selectors/betslip';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\n\nexport const CounterOfferManager: FC = () => {\n const isLoggedIn = useSelector(getIsLoggedIn);\n const allBetIds = useSelector(getAllBetIds);\n\n useLayoutEffect(() => {\n if (!isLoggedIn) {\n allBetIds.forEach(id => {\n calculateAndDispatchUpdates({ id, superBet: false, oddOffer: null });\n });\n }\n }, [isLoggedIn, allBetIds]);\n\n return null;\n};\n","import { ReactElement, Suspense } from 'react';\nimport { useSelector } from 'react-redux';\nimport { lazy } from 'utils/generic/lazy';\nimport { EBetslipType } from 'interfaces/betslip';\nimport { getBetslipType, getEditBet } from 'store/selectors/betslip';\nimport { getUser } from 'store/selectors/user-data';\n\nconst { _FreeBetManager } = lazy(\n () =>\n import(\n /* webpackChunkName: \"_FreeBetManager\" */ 'newelements/_Betslip/managers/FreeBetManager/manager'\n )\n);\n\nconst { FreeBetManagerBetslipTypeBaseSlice } = lazy(\n () =>\n import(\n /* webpackChunkName: \"FreeBetManagerBetTypeBaseSlice\" */ 'newelements/_Betslip/managers/FreeBetManager/BetslipTypeBaseSlices'\n )\n);\n\nconst PRELOAD_CACHE: Record = {\n [EBetslipType.BASIC]: false,\n [EBetslipType.ADVANCED]: false\n};\n\nexport const FreeBetManager = (): ReactElement | null => {\n const editBet = useSelector(getEditBet);\n const type = useSelector(getBetslipType);\n const { has_free_bets } = useSelector(getUser);\n const shouldFreeBetMount = !editBet?.active && has_free_bets;\n\n if (shouldFreeBetMount && !PRELOAD_CACHE[type]) {\n prefetchChunks(type);\n }\n\n if (shouldFreeBetMount) {\n return (\n \n <_FreeBetManager />\n \n \n );\n }\n\n return null;\n};\n\nconst prefetchChunks = (type: EBetslipType) => {\n PRELOAD_CACHE[type] = true;\n\n if (type === EBetslipType.ADVANCED) {\n import(\n /* webpackChunkName: \"FreeBetBetslipTypeSliceAdvanced\" */ /* webpackPreload: true */ 'newelements/_Betslip/managers/FreeBetManager/BetslipTypeBaseSlices/advanced'\n );\n } else {\n import(\n /* webpackChunkName: \"FreeBetBetslipTypeSliceBasic\" */ /* webpackPreload: true */ 'newelements/_Betslip/managers/FreeBetManager/BetslipTypeBaseSlices/basic'\n );\n }\n};\n","import { useLayoutEffect, useRef } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { EBetslipPage } from 'interfaces/bet-data';\nimport { getBetHistoryCount } from 'services/account-settings';\nimport { useBetslipConfigsContext } from 'newelements/_Betslip/providers/configs-provider';\nimport { setCashoutFrom, setOpenBetsCount } from 'store/actions';\nimport {\n getActiveTabPage,\n getBettedTrigger,\n getCashoutFrom,\n getOpenBetsCount,\n getTabs,\n getUpdateOpenBetsTrigger\n} from 'store/selectors/betslip';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\n\nexport const OpenBetManager = (): null => {\n const dispatch = useDispatch();\n\n const { floatingMode } = useBetslipConfigsContext().static;\n\n const tabs = useSelector(getTabs);\n // @Todo change pages check\n const page = useSelector(getActiveTabPage);\n const isLoggedIn = useSelector(getIsLoggedIn);\n const doBetDone = useSelector(getBettedTrigger);\n const cashOutFrom = useSelector(getCashoutFrom);\n const openBetsCount = useSelector(getOpenBetsCount);\n const updateOpenBetsTrigger = useSelector(getUpdateOpenBetsTrigger);\n\n const floatingFirstUpdateOpenBets = useRef(floatingMode);\n\n const updateOpenBetsCount = (count: number) =>\n dispatch(setOpenBetsCount(count));\n\n const updateMyBets = () => getBetHistoryCount(updateOpenBetsCount);\n\n useLayoutEffect(() => {\n if (!isLoggedIn) {\n updateOpenBetsCount(0);\n }\n }, [isLoggedIn]);\n\n useLayoutEffect(() => {\n if (\n tabs.length > 1 &&\n openBetsCount === 0 &&\n cashOutFrom === 'betHistory'\n ) {\n dispatch(setCashoutFrom(''));\n } else if (page === EBetslipPage.BETSLIP && cashOutFrom === 'betHistory') {\n updateMyBets();\n }\n }, [cashOutFrom, openBetsCount]);\n\n useLayoutEffect(() => {\n if (floatingFirstUpdateOpenBets.current) {\n floatingFirstUpdateOpenBets.current = false;\n\n return;\n }\n\n if (isLoggedIn) {\n updateMyBets();\n } else {\n updateOpenBetsCount(0);\n }\n }, [doBetDone, isLoggedIn, updateOpenBetsTrigger]);\n\n return null;\n};\n","import { FC, Suspense } from 'react';\nimport { useSelector } from 'react-redux';\nimport { lazy } from 'utils/generic/lazy';\nimport { getUser } from 'store/selectors/user-data';\n\nconst { _ProfitBoostManager } = lazy(\n () =>\n import(\n /* webpackChunkName: \"_ProfitBoostManager\" */ 'newelements/_Betslip/managers/ProfitBoostManager/manager'\n )\n);\n\n// @Todo need to handel here conditionally mounting\nexport const ProfitBoostManager: FC = () => {\n const { has_free_bets } = useSelector(getUser);\n\n const isProfitBoostAvailable = !!has_free_bets;\n\n if (!isProfitBoostAvailable) {\n return null;\n }\n\n return (\n \n <_ProfitBoostManager />\n \n );\n};\n","import { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { toggleQuickBet } from 'newelements/_Betslip/managers/QuickBetManager/quickBetActions';\nimport { EQuickBetManagerDispatchActions } from 'newelements/_Betslip/types/quick-bet';\nimport { useEventbus } from 'newhooks/generic/useEventbus';\nimport {\n setQuickBetSelectedEventId,\n toggleQuickBetInStore,\n updateQuickBetStake\n} from 'store/actions';\nimport { getQuickBetEnabled } from 'store/selectors/betslip';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\n\nexport const QuickBetManager = () => {\n const dispatch = useDispatch();\n const isLoggedIn = useSelector(getIsLoggedIn);\n const isQuickBetEnabled = useSelector(getQuickBetEnabled);\n\n useEventbus({\n [EQuickBetManagerDispatchActions.TOGGLE_QUICK_BET]: (\n _,\n active?: boolean\n ) => {\n dispatch(toggleQuickBetInStore(active));\n\n if (!active) {\n dispatch(updateQuickBetStake(0));\n dispatch(setQuickBetSelectedEventId(''));\n }\n }\n });\n\n useEffect(() => {\n if (!isLoggedIn && isQuickBetEnabled) {\n toggleQuickBet(false);\n }\n }, [isLoggedIn, isQuickBetEnabled]);\n\n return null;\n};\n","import { memo, ReactElement, Suspense, useLayoutEffect, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport LS from 'utils/bom-dom-manipulation/local-storage';\nimport { ON_ACCEPT_BET_TYPES } from 'utils/constants/betslip/bet-types';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { lazy } from 'utils/generic/lazy';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { isMobile } from 'utils/is-mobile';\nimport { EBetslipPage } from 'interfaces/bet-data';\nimport { EBetslipType, TabObject } from 'interfaces/betslip';\nimport { useBetslipConfigsContext } from 'newelements/_Betslip/providers/configs-provider';\nimport { useHeaderVisibility } from 'newhooks/generic/useHeaderVisibility';\nimport {\n setActiveTabPage,\n setBetslipTabs,\n setSelectedBetType,\n setSelectedStake as updateSelectedStake\n} from 'store/actions';\nimport {\n getAllLsBets,\n getOpenBetsCount,\n getTabs\n} from 'store/selectors/betslip';\n\nconst { BetslipSetupManagerMobile } = lazy(\n () =>\n import(\n /* webpackChunkName: \"betslip-setup-manager-basic-mobile\" */ 'newelements/_Betslip/managers/SetupManager/Mobile'\n )\n);\n\nexport const BetslipSetupManager = memo((): ReactElement | null => {\n const {\n computed: { betslipType }\n } = useBetslipConfigsContext();\n\n const { t } = useTranslation();\n const dispatch = useDispatch();\n\n const tabs = useSelector(getTabs);\n const openBetsCount = useSelector(getOpenBetsCount);\n const allBets = useSelector(getAllLsBets);\n const allBetsCount = allBets.length;\n\n useHeaderVisibility();\n const betslipTab = useMemo(() => {\n return {\n id: 0,\n title: t('betslip.betslip'),\n badge: allBetsCount\n };\n }, [allBetsCount]);\n\n const openBetsTab: TabObject = useMemo(() => {\n return {\n id: 1,\n title: t('betslip.openBets'),\n badge: openBetsCount\n };\n }, [openBetsCount]);\n\n useLayoutEffect(() => {\n !tabs && dispatch(setBetslipTabs([betslipTab]));\n }, []);\n\n useLayoutEffect(() => {\n const onBlur = () => {\n dispatch(updateSelectedStake(''));\n\n if (betslipType === EBetslipType.ADVANCED) {\n dispatch(setSelectedBetType(null));\n }\n };\n\n window.addEventListener('blur', onBlur);\n\n if (!JSON.parse(LS.getItem(storageKeyName('betslip', 'ACCEPT_BET')))) {\n const oddAcceptType = SpringConfigs.DEFAULT_ODD_ACCEPT\n ? ON_ACCEPT_BET_TYPES.find(elem => {\n return elem.value === SpringConfigs.DEFAULT_ODD_ACCEPT;\n })\n : ON_ACCEPT_BET_TYPES[0];\n\n LS.setItem(\n storageKeyName('betslip', 'ACCEPT_BET'),\n JSON.stringify(oddAcceptType)\n );\n }\n\n return () => {\n window.removeEventListener('blur', onBlur);\n };\n }, []);\n\n // @Todo need to move \"page\" and \"tab\" logic and their changing logic into config provider\n useLayoutEffect(() => {\n if (openBetsCount) {\n dispatch(setBetslipTabs([betslipTab, openBetsTab]));\n } else {\n dispatch(setBetslipTabs([betslipTab]));\n dispatch(setActiveTabPage(EBetslipPage.BETSLIP));\n }\n }, [openBetsCount, allBetsCount]);\n\n // useEffect(() => {\n // const isMultiples = betType !== EBetslipBetType.SINGLE;\n //\n // console.log('calculateAndDispatchUpdates', isMultiples);\n //\n // if (isMultiples) {\n // // alert('calculate');\n // calculateAndDispatchUpdates({ id: GENERAL_FIELD_KEY, stake: '' });\n // }\n // }, []);\n\n return isMobile() ? (\n \n \n \n ) : null;\n});\n","import { ReactElement, Suspense, useCallback } from 'react';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { lazy } from 'utils/generic/lazy';\nimport { isMobile } from 'utils/is-mobile';\nimport { BetsManager } from 'newelements/_Betslip/managers/BetsManager';\nimport { BetslipConfigManager } from 'newelements/_Betslip/managers/ConfigManager';\nimport { CounterOfferManager } from 'newelements/_Betslip/managers/CounterOfferManager';\nimport { FreeBetManager } from 'newelements/_Betslip/managers/FreeBetManager';\nimport { OpenBetManager } from 'newelements/_Betslip/managers/OpenBetManager';\nimport { ProfitBoostManager } from 'newelements/_Betslip/managers/ProfitBoostManager';\nimport { QuickBetManager } from 'newelements/_Betslip/managers/QuickBetManager';\nimport { BetslipSetupManager } from 'newelements/_Betslip/managers/SetupManager';\nimport { useBetslipConfigsContext } from 'newelements/_Betslip/providers/configs-provider';\n\nconst { BetslipToggleManager: _BetslipToggleManager } = lazy(\n () =>\n import(\n /* webpackChunkName: \"betslip-setup-manager-basic\" */ 'newelements/_Betslip/managers/ToggleManager'\n )\n);\n\nexport const RootManager = (): ReactElement => {\n const {\n static: { floatingMode }\n } = useBetslipConfigsContext();\n\n const BetslipToggleManager = useCallback((): ReactElement | null => {\n const isToggleable = floatingMode || isMobile();\n\n return isToggleable ? (\n \n <_BetslipToggleManager />\n \n ) : null;\n }, [floatingMode]);\n\n if (SpringConfigs.MOCKED_DATA) {\n return ;\n }\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { TBetslipEvent } from 'interfaces/betslip';\n\nexport const BETSLIP_EVENT_TEMPLATE = {\n competition_name: '',\n current_game_state: '',\n current_game_time: '',\n eventBase: undefined,\n eventId: 0,\n event_name: '',\n gameId: 0,\n game_info: { horse_xml: { HorceBXml: '' } },\n game_name: '',\n game_start_date: 0,\n isLive: false,\n marketType: '',\n market_name: '',\n region_name: '',\n sport_index: '',\n sport_name: '',\n team1: '',\n team2: '',\n coeficient: ''\n} as TBetslipEvent;\n","import LS from 'utils/bom-dom-manipulation/local-storage';\nimport { BETSLIP_EVENT_TEMPLATE } from 'utils/constants/betslip/betslip-event-template';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { TBetslipEvent, TSuspendReason } from 'interfaces/betslip';\nimport {\n Competition,\n Game,\n Region,\n Sport\n} from 'interfaces/sportsbook-data-levels';\n\ntype TData = {\n game?: Record;\n sport?: Record;\n region?: Record;\n competition?: Record;\n};\n\nexport const formatEventData = function (\n data: TData,\n eventIdToUpdate: number\n): Record | null {\n const suspendedGamesReasons = JSON.parse(\n LS.getItem(storageKeyName('betslip', 'BETSLIP_SUSPENDED_EVENTS'))\n ) as Record;\n\n let modifiedEvent: TBetslipEvent | undefined;\n\n const sport = data?.sport?.[Object.keys(data?.sport || {})[0]];\n const region = sport?.region?.[Object.keys(sport.region || {})[0]];\n\n const competition =\n region?.competition?.[Object.keys(region?.competition || {})[0]];\n\n const gameObj = competition?.game;\n\n const suspendReasons: TSuspendReason[] = [];\n\n if (eventIdToUpdate && suspendedGamesReasons?.[eventIdToUpdate]) {\n suspendReasons.push(...suspendedGamesReasons?.[eventIdToUpdate]);\n }\n\n if (gameObj) {\n const gameId = Object.keys(gameObj)[0];\n const game = gameObj[gameId];\n\n if (game === null) {\n modifiedEvent = {\n suspendReasons: [...suspendReasons, 'gameEnded']\n } as TBetslipEvent;\n\n return { [eventIdToUpdate]: modifiedEvent };\n }\n\n const type = game.type;\n const info = game.info;\n const market =\n 'market' in game\n ? game.market === null\n ? null\n : Object.values(game.market || {})[0] || null\n : undefined;\n\n const eventObj = market?.event;\n const sportAlias = game.sport_alias;\n\n if (suspendReasons.includes('gameBlocked')) {\n if (game.is_blocked === 0) {\n suspendReasons.splice(suspendReasons.indexOf('gameBlocked'), 1);\n }\n } else {\n if (game.is_blocked === 1) {\n suspendReasons.push('gameBlocked');\n }\n }\n\n if (market === null && !suspendReasons.includes('market')) {\n suspendReasons.push('market');\n }\n\n if (market && suspendReasons.includes('market')) {\n suspendReasons.splice(suspendReasons.indexOf('market'), 1);\n }\n\n if (eventObj) {\n const event = eventObj[eventIdToUpdate];\n\n if (event) {\n modifiedEvent = {\n ...BETSLIP_EVENT_TEMPLATE,\n ...event\n };\n\n if (event === null || event.is_blocked) {\n const reason =\n event?.is_blocked === 1 ? 'eventBlocked' : 'eventRemoved';\n\n if (!suspendReasons.includes(reason)) {\n suspendReasons.push(reason);\n }\n }\n\n if (suspendReasons.length) {\n const itemsToRemove: TSuspendReason[] = [];\n\n suspendReasons.forEach(suspendReason => {\n let shouldRemove = false;\n\n switch (suspendReason) {\n case 'eventBlocked':\n shouldRemove = event.is_blocked === 0;\n break;\n\n case 'eventRemoved':\n shouldRemove = !!event;\n break;\n\n case 'other':\n shouldRemove = true;\n break;\n }\n\n if (shouldRemove) {\n itemsToRemove.push(suspendReason);\n }\n });\n\n itemsToRemove.forEach(item => {\n suspendReasons.splice(suspendReasons.indexOf(item), 1);\n });\n }\n\n modifiedEvent.suspendReasons = suspendReasons.length\n ? suspendReasons\n : null;\n\n if (type !== undefined) {\n modifiedEvent.isLive = type === 1;\n } else {\n delete modifiedEvent.isLive;\n }\n\n if (modifiedEvent.name) {\n modifiedEvent.event_name = modifiedEvent.name;\n }\n\n if (info?.current_game_state) {\n modifiedEvent.game_state = info.current_game_state;\n modifiedEvent.score1 = info.score1;\n modifiedEvent.score2 = info.score2;\n }\n\n if (info?.current_game_time) {\n modifiedEvent.game_time = info.current_game_time;\n }\n\n if (game.start_ts) {\n modifiedEvent.game_start_date = game.start_ts;\n }\n\n if (sport?.id) {\n modifiedEvent.sport_id = Number(sport.id);\n }\n\n if (game.team1_name) {\n modifiedEvent.game_name = `${game.team1_name}${\n game.team2_name ? ` - ${game.team2_name}` : ''\n }`;\n\n modifiedEvent.team1 = game.team1_name;\n }\n\n if (game.team2_name) {\n modifiedEvent.team2 = game.team2_name;\n }\n\n if (market?.name) {\n modifiedEvent.market_name = market.name;\n }\n\n if (market?.express_id || market?.prematch_express_id) {\n modifiedEvent.express_id =\n market.prematch_express_id || market.express_id;\n }\n\n if (region?.name) {\n modifiedEvent.region_name = region.name;\n modifiedEvent.region_id = region.id;\n }\n\n if (competition?.name) {\n modifiedEvent.competition_name = competition.name;\n modifiedEvent.competitionId = competition.id;\n }\n\n if (sportAlias) {\n modifiedEvent.sport_alias = sportAlias;\n modifiedEvent.sport_index = sportAlias;\n }\n\n if (sport?.name) {\n modifiedEvent.sport_name = sport.name;\n }\n }\n } else {\n modifiedEvent = {\n ...BETSLIP_EVENT_TEMPLATE,\n ...(modifiedEvent || {})\n };\n\n if (suspendReasons.length) {\n const itemsToRemove: TSuspendReason[] = [];\n\n suspendReasons.forEach(reason => {\n if (reason === 'other') {\n itemsToRemove.push(reason);\n }\n });\n\n itemsToRemove.forEach(item => {\n suspendReasons.splice(suspendReasons.indexOf(item), 1);\n });\n }\n\n modifiedEvent.suspendReasons = suspendReasons?.length\n ? suspendReasons\n : null;\n\n if (type !== undefined) {\n modifiedEvent.isLive = type === 1;\n } else {\n delete modifiedEvent.isLive;\n }\n\n if (info?.current_game_state) {\n modifiedEvent.game_state = info.current_game_state;\n modifiedEvent.score1 = info.score1;\n modifiedEvent.score2 = info.score2;\n }\n\n if (competition?.name) {\n modifiedEvent.competitionId = competition.id;\n }\n\n if (info?.current_game_time && modifiedEvent) {\n modifiedEvent.game_time = info.current_game_time;\n }\n }\n } else {\n modifiedEvent = {\n ...BETSLIP_EVENT_TEMPLATE,\n suspendReasons: [...suspendReasons, 'other']\n } as TBetslipEvent;\n }\n\n if (modifiedEvent) {\n return { [eventIdToUpdate]: modifiedEvent };\n }\n\n return null;\n};\n","import { useLayoutEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { removeBetSlipEvent, updateBetSlipEvent } from 'utils/betslip/betslip';\nimport { formatEventData } from 'utils/betslip/format-subscribed-data';\nimport { BETSLIP_EVENT_TEMPLATE } from 'utils/constants/betslip/betslip-event-template';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport {\n CommandNames,\n CommandSource\n} from 'utils/constants/swarm/swarm-command-names';\nimport RidGenerator from 'utils/swarm/rid-generator';\nimport { BetslipEvents, TBetslipEvent } from 'interfaces/betslip';\nimport { Sport } from 'interfaces/sportsbook-data-levels';\nimport { betCommand } from 'services/bet-slip';\nimport { unsubscribeCommand } from 'services/get-data-level';\nimport { usePrevious } from 'hooks/usePrevious';\nimport {\n removeSubscribedEvent,\n updateSubscribedEvent\n} from 'store/actions/betslip';\nimport { getEventIds, getSubscriptions } from 'store/selectors/betslip';\n\ninterface IBetslipSubscriptionResponse {\n sport: Record;\n}\n\nexport const useBetSlipSubscription = (): null => {\n const dispatch = useDispatch();\n const eventIds = useSelector(getEventIds);\n const subscriptions = useSelector(getSubscriptions);\n\n const prevEventIds = usePrevious(eventIds);\n const prevSubscriptions = usePrevious(subscriptions);\n const [subscriptionIds, setSubscriptionIds] = useState<{\n [key: string]: string;\n }>({});\n\n const removeSuspendedSelection = (\n resp: IBetslipSubscriptionResponse,\n eventId: number\n ) => {\n if (SpringConfigs.REMOVE_SUSPENDED_SELECTION) {\n const sport = resp?.sport?.[Object.keys(resp.sport)[0]];\n const region = sport?.region?.[Object.keys(sport.region)[0]];\n const game =\n region?.competition?.[Object.keys(region.competition)[0]]?.game;\n\n if (!game?.[Object.keys(game || {})[0]]) {\n removeBetSlipEvent(eventId);\n }\n }\n };\n\n const callback = (eventId: number, resp: IBetslipSubscriptionResponse) => {\n removeSuspendedSelection(resp, eventId);\n\n let eventFormattedData = formatEventData(resp, eventId);\n\n if (!eventFormattedData) {\n eventFormattedData = {\n [eventId]: {\n ...BETSLIP_EVENT_TEMPLATE,\n suspendReasons: ['other']\n } as TBetslipEvent\n };\n }\n\n updateBetSlipEvent(eventFormattedData);\n dispatch(updateSubscribedEvent({ eventId, eventData: eventFormattedData }));\n };\n\n const updateCallback = (\n eventId: number,\n resp: IBetslipSubscriptionResponse\n ) => {\n removeSuspendedSelection(resp, eventId);\n\n const updatedEvent = formatEventData(resp, eventId);\n\n dispatch(updateSubscribedEvent({ eventId, eventData: updatedEvent || {} }));\n };\n\n const checkForAddedEvents = () => {\n const addedEvents = eventIds.filter(\n eventId => !prevEventIds?.includes(eventId)\n );\n\n addedEvents.forEach(event => {\n const rid = RidGenerator.gForSubscribe('BETSLIP_EVENT_SUBSCRIPTION_');\n\n setSubscriptionIds(subscriptionIds => ({\n ...subscriptionIds,\n [event]: rid\n }));\n\n dispatch(updateSubscribedEvent({ eventId: event, eventData: {} }));\n\n const currentSubscriptionEntity = subscriptions.find(\n subscription => subscription.eventId === event\n );\n\n betCommand(\n {\n command: CommandNames.GET,\n params: {\n source: CommandSource.BETTING,\n is_betslip: true,\n subscribe: true,\n what: {\n sport: ['id', 'name'],\n region: ['id', 'name'],\n competition: ['id', 'name'],\n game: [\n [\n 'info',\n 'type',\n 'sport_alias',\n 'is_blocked',\n 'team1_name',\n 'team2_name'\n ]\n ],\n market: [\n 'name',\n 'is_blocked',\n 'express_id',\n 'prematch_express_id'\n ],\n event: ['id', 'price', 'base', 'name', 'is_blocked']\n },\n where: {\n event: {\n id: Number(event)\n },\n game: {\n id: Number(currentSubscriptionEntity?.gameId)\n }\n }\n },\n rid\n },\n rid,\n (data: IBetslipSubscriptionResponse) => callback(event, data),\n (data: IBetslipSubscriptionResponse) => updateCallback(event, data),\n null\n );\n });\n };\n\n const removeEvent = (\n removedEvents: number[],\n newEvents: T\n ): T => {\n removedEvents.forEach(event => {\n unsubscribeCommand(subscriptionIds[event]);\n\n if (subscriptionIds[`${event}base`]) {\n unsubscribeCommand(subscriptionIds[`${event}base`]);\n }\n\n const baseRid = prevSubscriptions?.find(\n sub => sub.eventId === event\n )?.baseRid;\n\n if (baseRid) {\n unsubscribeCommand(baseRid);\n }\n\n delete newEvents[event];\n });\n\n return newEvents;\n };\n\n const checkForRemovedEvents = () => {\n const removedEvents = prevEventIds?.filter(\n prevEventId => !eventIds?.includes(prevEventId)\n );\n\n if (removedEvents?.length) {\n removedEvents.forEach(id => {\n dispatch(removeSubscribedEvent(id));\n });\n setSubscriptionIds(subscriptionIds => {\n subscriptionIds = removeEvent(removedEvents, { ...subscriptionIds });\n\n return subscriptionIds;\n });\n }\n };\n\n useLayoutEffect(() => {\n checkForAddedEvents();\n checkForRemovedEvents();\n }, [eventIds.join('-')]);\n\n return null;\n};\n","import { memo, ReactElement, Suspense, useEffect } from 'react';\nimport { useSelector } from 'react-redux';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { fireEvent } from 'utils/generic/event-bus';\nimport { lazy } from 'utils/generic/lazy';\nimport { isMobile } from 'utils/is-mobile';\nimport { BetslipRootContainer } from 'newelements/_Betslip/components/containers/RootContainer';\nimport { BetslipTabs } from 'newelements/_Betslip/components/shared/BetslipTabs';\nimport { QuickBet } from 'newelements/_Betslip/components/shared/Features/QuickBet';\nimport { BetslipTypeBasedLayout } from 'newelements/_Betslip/layouts';\nimport { RootManager } from 'newelements/_Betslip/managers';\nimport { EBetslipConfigsDispatchActions } from 'newelements/_Betslip/types/configs';\nimport { useBetSlipSubscription } from 'hooks/useBetSlipSubscription';\nimport { getCounterOffersUnderReviewModal } from 'store/selectors/betslip';\nimport './index.less';\n\nif (SpringConfigs.IS_RTL) {\n import('./rtl.less');\n}\n\nconst { CounterOfferUnderReviewModal } = lazy(\n () =>\n import(\n /* webpackChunkName: \"counter-offer-under-review-modal\" */ './components/CounterOfferUnderReviewModal'\n )\n);\n\ntype TBetslipComponentProps = {\n isFloating?: boolean;\n componentRid?: string;\n configs?: { betslipFixedHeight: boolean };\n jackpotForSport?: boolean;\n detectTopHeight?: number;\n};\n\nconst betslipComponentDefaultProps = {\n isFloating: false\n} as TBetslipComponentProps;\n\nconst _BetslipComponent = ({\n isFloating,\n configs,\n detectTopHeight\n}: TBetslipComponentProps = betslipComponentDefaultProps): ReactElement => {\n // create SubscribedEventsManager\n useBetSlipSubscription();\n const counterOffersUnderReviewModal = useSelector(\n getCounterOffersUnderReviewModal\n );\n\n // @Todo need to change useEffect into LayoutEffect after fixing issue of multiple component calling before mount\n useEffect(() => {\n fireEvent({\n key: EBetslipConfigsDispatchActions.SET_STATIC_CONFIGS,\n // @Todo change \"isFloating\" prop name into \"floatingMode\"\n payload: { ...configs, floatingMode: !!isFloating }\n });\n }, []);\n\n // @TODO create separate component for betslip switchers ang group all there\n if (SpringConfigs.MOCKED_DATA && isMobile()) {\n return (\n <>\n \n ;\n \n );\n }\n\n return (\n \n \n \n\n \n\n \n \n {counterOffersUnderReviewModal && }\n \n \n );\n};\n\nexport const BetslipComponent = memo(_BetslipComponent);\n","import { ReactElement, Suspense } from 'react';\nimport { lazy } from 'utils/generic/lazy';\nimport { isMobile } from 'utils/is-mobile';\nimport { BetSlipEventObj, UkBets } from 'interfaces/bet-data';\nimport './index.less';\n\nconst { Advanced } = lazy(\n () => import(/* webpackChunkName: \"betslip-advanced-ew\" */ './advanced')\n);\n\nconst { Single } = lazy(\n () => import(/* webpackChunkName: \"betslip-single-ew\" */ './single')\n);\n\nconst { Basic } = lazy(\n () => import(/* webpackChunkName: \"betslip-Basic-ew\" */ './basic')\n);\n\nconst EW_TYPES = {\n 0: Single,\n 1: Advanced,\n 2: Basic\n};\n\n// @Todo make ui same and wrap with HObetTypePC with type based functional\n\nexport const EachWay = (props: {\n type: 0 | 1 | 2;\n event?: BetSlipEventObj | UkBets;\n index?: number;\n}): ReactElement => {\n const View = EW_TYPES[props.type];\n\n return (\n
\n \n \n \n
\n );\n};\n","import { FC, memo } from 'react';\nimport { Switch } from 'antd';\nimport cc from 'classcat';\nimport { isMobile } from 'utils/is-mobile';\nimport { EventAction } from 'components/EventAction';\nimport { GlobalIcon } from 'components/GlobalIcon';\nimport { CustomTooltip } from 'components/Tooltip';\nimport './index.less';\n\ntype Props = {\n featureIsActive: boolean;\n setFeatureIsActive: (val: boolean) => void;\n tooltipText?: string;\n featureName: string;\n className?: string;\n skipRowStyles?: boolean;\n};\n\nexport const BasicSwitcher: FC = memo(\n ({\n featureIsActive,\n setFeatureIsActive,\n tooltipText,\n featureName,\n className,\n skipRowStyles = false\n }) => {\n return (\n \n
\n {tooltipText ? (\n \n {tooltipText}\n \n }\n overlayClassName={\n isMobile() ? 'tooltipBetslipMob' : 'tooltipBetslip'\n }\n placement={isMobile() ? 'topLeft' : 'topRight'}\n trigger={['click', 'hover']}\n color=\"white\"\n overlayStyle={{ color: 'red' }}\n >\n \n }\n size=\"md\"\n />\n \n ) : null}\n\n {featureName}\n
\n \n \n );\n }\n);\n","import { ComponentProps, memo, ReactElement, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { isMobile } from 'utils/is-mobile';\nimport { BasicSwitcher } from 'newelements/_Betslip/components/shared/Switchers/BasicSwitcher';\nimport { toggleQuickBet } from 'newelements/_Betslip/managers/QuickBetManager/quickBetActions';\nimport { getQuickBetEnabled } from 'store/selectors/betslip';\nimport './index.less';\n\nif (SpringConfigs.IS_RTL) {\n import('./rtl.less');\n}\n\nexport type TQuickBetBaseSwitcherProps = {\n tooltip?: boolean;\n className?: string;\n isActive?: boolean;\n};\nexport const QuickBetBaseSwitcher = memo(\n ({\n tooltip,\n isActive,\n className\n }: TQuickBetBaseSwitcherProps): ReactElement | null => {\n const isQuickBetEnabled = useSelector(getQuickBetEnabled);\n\n const { t } = useTranslation();\n\n const computedProps = useMemo<\n Pick<\n ComponentProps,\n 'className' | 'featureIsActive' | 'tooltipText'\n >\n >(\n () => ({\n className,\n featureIsActive: isActive ?? isQuickBetEnabled,\n ...(tooltip ? { tooltipText: t('betslip.quickbetModeMessage') } : {})\n }),\n [tooltip, className, isActive, isQuickBetEnabled]\n );\n\n return (\n {\n toggleQuickBet();\n }}\n featureName={t('betslip.quickbet')}\n />\n );\n }\n);\n","import { fireEvent } from 'utils/generic/event-bus';\nimport { TAdvancedFreebet } from 'interfaces/bet-data';\n\nexport enum EProfitBoostActions {\n CHECK_PROFIT_BOOST = 'CHECK_PROFIT_BOOST',\n TOGGLE_PROFIT_BOOST = 'TOGGLE_PROFIT_BOOST'\n}\n\nexport type TCheckProfitBoostPayload = {\n data: TAdvancedFreebet[];\n eventId: string | number | null;\n isAdvancedMultiple: boolean;\n};\nexport type TToggleProfitBoostPayload = {\n eventId: number | string | null;\n isActive: boolean | null;\n};\n\nexport const fireCheckProfitBoost = (\n data: TCheckProfitBoostPayload['data'],\n eventId: TCheckProfitBoostPayload['eventId'] = null,\n isAdvancedMultiple: TCheckProfitBoostPayload['isAdvancedMultiple'] = false\n) => {\n fireEvent({\n key: EProfitBoostActions.CHECK_PROFIT_BOOST,\n payload: {\n eventId,\n data,\n isAdvancedMultiple\n }\n });\n};\n\nexport const fireToggleProfitBoost = (\n eventId: TToggleProfitBoostPayload['eventId'] = null,\n isActive: TToggleProfitBoostPayload['isActive'] = null\n) => {\n fireEvent({\n key: EProfitBoostActions.TOGGLE_PROFIT_BOOST,\n payload: { eventId, isActive }\n });\n};\n","import { fireEvent } from 'utils/generic/event-bus';\nimport { EQuickBetManagerDispatchActions } from 'newelements/_Betslip/types/quick-bet';\n\nexport const toggleQuickBet = (payload?: boolean) => {\n fireEvent({\n key: EQuickBetManagerDispatchActions.TOGGLE_QUICK_BET,\n payload\n });\n};\n","import {\n createContext,\n PropsWithChildren,\n ReactElement,\n useContext,\n useId,\n useMemo,\n useState\n} from 'react';\nimport { EBetslipType } from 'interfaces/betslip';\nimport {\n EBetslipConfigsDispatchActions,\n TBetslipComputedConfigs,\n TBetslipStaticConfigs\n} from 'newelements/_Betslip/types/configs';\nimport { TBetslipConfigsContext } from 'newelements/_Betslip/types/context';\nimport { useEventbus } from 'newhooks/generic/useEventbus';\n\nconst staticConfigsInitialValue = {\n betslipFixedHeight: false,\n floatingMode: false,\n betslipRootId: ''\n};\n\nconst computedConfigsInitialValue: TBetslipComputedConfigs = {\n isOpened: false,\n mustOpen: false,\n mustClose: false,\n betslipType: EBetslipType.BASIC\n};\n\nconst betslipConfigsContextInitialValue: TBetslipConfigsContext = {\n static: staticConfigsInitialValue,\n computed: computedConfigsInitialValue\n};\n\nexport const BetslipConfigsContext = createContext(\n betslipConfigsContextInitialValue\n);\n\nexport const BetslipConfigsContextProvider = ({\n children\n}: PropsWithChildren): ReactElement => {\n const betslipRootId = useId();\n const [staticConfigs, setStaticConfigs] = useState({\n ...staticConfigsInitialValue,\n betslipRootId\n });\n\n const [computedConfigs, setComputedConfigs] =\n useState(computedConfigsInitialValue);\n\n // const setOpen = useCallback(\n // (open: boolean) => {\n // dispatch(setBetslipOpen(open));\n //\n // if (!open && isMobile()) {\n // dispatch(setFreezeTabChange(false));\n //\n // if (!allLsBets.length && isLoggedIn) {\n // dispatch(setActiveTabPage(EBetslipPage.OPEN_BETS));\n // } else {\n // dispatch(setActiveTabPage(EBetslipPage.BETSLIP));\n // }\n // }\n // },\n // [allLsBets, isLoggedIn]\n // );\n\n useEventbus({\n /* eslint-disable */\n // [EBetslipConfigsDispatchActions.SET_IS_OPENED]: (_, v?: boolean) => changeComputedConfigByKey('isOpened', v),\n // [EBetslipConfigsDispatchActions.SET_MUST_OPEN]: (_, v?: boolean) => changeComputedConfigByKey('mustOpen', v),\n // [EBetslipConfigsDispatchActions.SET_MUST_CLOSE]: (_, v?: boolean) => changeComputedConfigByKey('mustClose', v),\n [EBetslipConfigsDispatchActions.SET_BETSLIP_TYPE]: ({ payload }) =>\n changeComputedConfigByKey('betslipType', payload),\n [EBetslipConfigsDispatchActions.SET_STATIC_CONFIGS]: ({\n payload\n }: {\n payload: TBetslipStaticConfigs;\n }) => setStaticConfigs(p => ({ ...p, ...payload }))\n /* eslint-enable */\n });\n\n const configsContextValue = useMemo(\n () => ({\n static: staticConfigs,\n computed: computedConfigs\n }),\n [staticConfigs, computedConfigs]\n );\n\n /**\n * Competition ids that must hide game info\n * @param {key: keyof TBetslipComputedConfigs} key the key of property we want to change\n * @param {value: TBetslipComputedConfigs[k]} value updated value, if you do not pass the value then the function works like toggle\n */\n const changeComputedConfigByKey = (\n key: T,\n // value?: TBetslipStaticConfigs[T]\n value?: any\n ) => {\n setComputedConfigs(prev => {\n return {\n ...prev,\n [key]: value !== undefined ? value : !prev[key]\n };\n });\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport const useBetslipConfigsContext = (): TBetslipConfigsContext =>\n useContext(BetslipConfigsContext);\n","import { EBetslipType } from 'interfaces/betslip';\n\nexport type TBetslipStaticConfigs = {\n betslipFixedHeight: boolean;\n floatingMode: boolean;\n betslipRootId: string;\n};\nexport type TBetslipComputedConfigs = {\n isOpened: boolean;\n mustOpen: boolean;\n mustClose: boolean;\n betslipType: EBetslipType;\n};\n\nexport enum EBetslipConfigsDispatchActions {\n SET_STATIC_CONFIGS = 'SET_STATIC_CONFIGS',\n /*Toggle States start*/\n SET_IS_OPENED = 'SET_IS_OPENED',\n SET_MUST_OPEN = 'SET_MUST_OPEN',\n SET_MUST_CLOSE = 'SET_MUST_CLOSE',\n /*Toggle States end*/\n\n SET_BETSLIP_TYPE = 'SET_BETSLIP_TYPE'\n}\n","export enum EQuickBetManagerDispatchActions {\n TOGGLE_QUICK_BET = 'TOGGLE_QUICK_BET'\n}\n\nexport type TQuickBetState = {\n active: boolean;\n enabled: boolean;\n};\n","export enum EBetslipToggleActions {\n /*Toggle States start*/\n SET_OPEN = 'SET_OPEN',\n SET_IS_OPENED = 'SET_IS_OPENED',\n SET_MUST_OPEN = 'SET_MUST_OPEN',\n SET_MUST_CLOSE = 'SET_MUST_CLOSE'\n /*Toggle States end*/\n}\n","import styled from 'styled-components';\nimport { Badge } from 'newcomponents/UI/Badge';\n\nexport const Container = styled.div`\n height: 100%;\n display: flex;\n text-align: left;\n flex-direction: column;\n position: relative;\n background: var(--v3-black-2);\n\n .loading__container {\n z-index: 1;\n background: #ffffff21;\n backdrop-filter: blur(2px);\n }\n\n &.betslipBody {\n overflow-y: auto;\n overflow-x: hidden;\n height: auto;\n flex: 1;\n max-height: 100%;\n position: relative;\n }\n`;\n\nexport const Header = styled.div<{\n shadow?: boolean;\n content?: 'flex-end' | 'space-between';\n $isAdvanced?: boolean;\n}>`\n top: 0;\n z-index: 2;\n height: 48px;\n display: flex;\n font-size: 14px;\n position: sticky;\n font-weight: 600;\n align-items: center;\n padding: 12px;\n letter-spacing: 0.42px;\n color: var(--v3-text-color);\n justify-content: ${props => props.content || 'space-between'};\n background-color: var(--v3-black-0);\n ${props =>\n props.shadow &&\n ` margin-bottom: 1px;\n box-shadow: var(--v3-shadow-1-down);\n `}\n ${props =>\n props.$isAdvanced\n ? `\n padding: 8px 12px 0 0;\n height: unset\n `\n : ''}\n .betslipFeatureSwitcher {\n padding: 0;\n }\n`;\n\nexport const FooterContainer = styled.div`\n flex-direction: column;\n display: flex;\n padding: 12px;\n & > button {\n flex: 1;\n }\n`;\n\nexport const FooterLabel = styled.div`\n color: var(--v3-text-color);\n font-size: 12px;\n line-height: 16px;\n`;\n\nexport const FooterItem = styled.div<{\n isSingle?: boolean;\n totalReturn?: boolean;\n}>`\n display: flex;\n align-items: center;\n justify-content: space-between;\n ${props => (props.isSingle ? ` margin-bottom: 0;` : ` margin-bottom: 12px;`)}\n ${props =>\n props.totalReturn &&\n `\n padding: 12px 0;\n border-top: 1px solid var(--v3-black-6);\n border-bottom: 1px solid var(--v3-black-6);\n `}\n`;\n\nexport const Link = styled.div`\n font-size: 11px;\n font-weight: 400;\n letter-spacing: 0.33px;\n color: var(--v3-text-color);\n cursor: pointer;\n`;\n\nexport const BetButtonWrapper = styled.div`\n display: flex;\n padding: 0 8px 12px 8px;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n background-color: var(--v3-black-0);\n justify-content: flex-end;\n`;\n\nexport const BetBadge: typeof Badge = styled(Badge)`\n display: flex;\n flex: 1;\n`;\n\nexport const FreeBetAmountLabel = styled.div`\n font-size: 14px;\n color: var(--v3-text-color);\n font-weight: 600;\n`;\n\nexport const FreeBetAmountWrapper = styled(FooterItem)`\n border-bottom: 1px solid var(--v3-primary-2);\n padding-bottom: 12px;\n`;\n\nexport const BetsWrapper = styled.div`\n background-color: var(--v3-black-6);\n text-align: left;\n`;\n\nexport const OpenBetsWrapper = styled.div`\n margin-bottom: 4px;\n border-radius: 4px;\n box-shadow: var(--v3-shadow-2);\n`;\n\nexport const FooterValue = styled.div`\n display: flex;\n align-items: center;\n font-size: 14px;\n line-height: 20px;\n font-weight: 600;\n color: var(--v3-text-color);\n`;\n\nexport const ResultValue = styled.div`\n font-size: 14px;\n font-weight: 600;\n letter-spacing: 0.42px;\n color: var(--v3-primary-6);\n`;\n","import { useEffect, useLayoutEffect, useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { timeoutDuration } from 'utils/constants/dateInfo/time-numbers';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport {\n getHeader,\n getHeaderHeight,\n makeHeaderFixed,\n removeFixedHeader\n} from 'utils/helpers/fixed-header';\nimport { isMobile } from 'utils/is-mobile';\nimport { ICasinoCachedGames } from 'interfaces/casino-data';\nimport { setHeaderState } from 'store/actions/app-data';\nimport { getHeaderState } from 'store/selectors/app-data';\nimport { getBetslipOpen, getQuickBetEnabled } from 'store/selectors/betslip';\nimport { getActiveGames } from 'store/selectors/new-casino';\nimport { getIsLoggedIn, getUser } from 'store/selectors/user-data';\n\nexport const useHeaderVisibility = (): void => {\n const dispatch = useDispatch();\n const user = useSelector(getUser);\n const isLoggedIn = useSelector(getIsLoggedIn);\n const isQuickBetEnabled = useSelector(getQuickBetEnabled);\n const isBetslipOpened = useSelector(getBetslipOpen);\n const activeGames = useSelector(getActiveGames) as ICasinoCachedGames;\n const { isVisible, height: headerHeight } = useSelector(getHeaderState);\n\n const isHeaderVisibleForCasino =\n SpringConfigs.IS_HEADER_VISIBLE_IN_CASINO &&\n isLoggedIn &&\n Object.keys(activeGames).length > 0;\n\n const isHeaderVisibleForBetslip = useMemo(\n () => isMobile() && isLoggedIn && isBetslipOpened && !isQuickBetEnabled,\n [isLoggedIn, isBetslipOpened, isQuickBetEnabled]\n );\n\n const removeHeader = () => {\n if (getHeader()) {\n removeFixedHeader();\n\n setTimeout(() => {\n dispatch(setHeaderState({ isVisible: false, height: 0 }));\n }, timeoutDuration.DURATION_100);\n }\n };\n\n useLayoutEffect(() => {\n if (getHeader()) {\n if (\n (isHeaderVisibleForCasino || isHeaderVisibleForBetslip) &&\n !isVisible\n ) {\n makeHeaderFixed();\n\n const updateHeaderHeight = () => {\n const height = getHeaderHeight();\n\n if (headerHeight !== height) {\n dispatch(setHeaderState({ height }));\n }\n };\n\n updateHeaderHeight();\n getHeader().addEventListener('resize', updateHeaderHeight);\n\n dispatch(setHeaderState({ isVisible: true }));\n }\n\n if (!isHeaderVisibleForCasino && !isHeaderVisibleForBetslip) {\n removeHeader();\n }\n }\n }, [user, isHeaderVisibleForBetslip, isHeaderVisibleForCasino]);\n\n useEffect(() => {\n return removeHeader;\n }, []);\n};\n","import i18n from 'i18next';\nimport qs from 'qs';\nimport { convert } from 'utils/betslip/odd-formats-helper';\nimport {\n MODE_TYPES,\n REPLACE_EDIT_BET_TRANSLATIONS\n} from 'utils/constants/betslip/bet-types';\nimport { ERROR_CODE_TIMEOUT_1800 } from 'utils/constants/dateInfo/time-numbers';\nimport { EAccount } from 'utils/constants/store/query-keys';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport {\n CommandNames,\n CommandSource\n} from 'utils/constants/swarm/swarm-command-names';\nimport { SwarmSuccessMessages } from 'utils/constants/swarm/swarm-success-messages';\nimport { fireEvent } from 'utils/generic/event-bus';\nimport { showToastError } from 'utils/generic/show-toast-error';\nimport { appendCustomCode } from 'utils/other/customCode';\nimport RidGenerator from 'utils/swarm/rid-generator';\nimport { showToastSuccess } from 'utils/swarm/swarm-success-handler';\nimport { GetCurrencyConfigsResponse } from 'interfaces/account-settings';\nimport {\n BookBetParamsType,\n DoBetResponseType,\n TCreateBets,\n TV3FreebetParams,\n TV3FreebetResponse\n} from 'interfaces/bet-data';\nimport { doBetProps, IEventsAndGameIds } from 'interfaces/betslip';\nimport { AccountParamsType, AppendCustomCodes } from 'interfaces/generic';\nimport {\n CommandObj,\n WebsocketEnhanced\n} from 'interfaces/spring-websocket-interfaces';\nimport { EPlayerActivityCheckerActions } from 'newcomponents/Shared/account/PlayerActivityChecker/types';\nimport { connectingWS } from 'hooks/useSpringConnect';\nimport Store from 'store';\nimport {\n batchActions,\n removeFreeBetItem,\n setFreeBetSelectedEventId,\n setSelectedProfitBoostEventId\n} from 'store/actions';\nimport { IBetslipRootStateInitialData } from 'store/reducers/betslip';\nimport { queryClient } from 'stores/query/query-client';\nimport { deviceActionManager } from '../deviceactionmanager/DeviceActionManager';\n\n// this is required for showing messages outside the betslip if it is closed\nconst getMessageContextBasedOnBetslipOpenState = (\n messageContext: HTMLElement | null | undefined\n): HTMLElement | null | undefined => {\n const isBetslipOpen = Store.getState().betSlip?.betslipOpen;\n const isFloatingBetslipEnabled = SpringConfigs.IS_BETSLIP_FLOATING_ENABLED;\n\n if (\n !isFloatingBetslipEnabled ||\n (isFloatingBetslipEnabled && isBetslipOpen)\n ) {\n return messageContext;\n }\n\n return null;\n};\n\n/* eslint-disable */\nexport const betCommand = async (\n commandObj: any, // command object must be of type any for generic purpose\n rid: string,\n callback: Function,\n updateCallback: Function | null,\n callbackError: Function | null\n): Promise => {\n /* eslint-enable */\n connectingWS.then((socket: WebsocketEnhanced) => {\n socket.sendCommand(\n commandObj,\n rid,\n callback,\n updateCallback,\n callbackError\n );\n });\n};\n\nconst oddChangeHandlerCallbackWrapper = (\n response: DoBetResponseType,\n callback: Function | null,\n oddFormat: number,\n setAcceptBet?: Function,\n messageContext?: HTMLElement | null\n): void => {\n callback?.(response);\n const { result, result_text, details, StatusCode, Data } = response;\n\n const isStatusCode = StatusCode === REPLACE_EDIT_BET_TRANSLATIONS[0];\n\n if (result === ERROR_CODE_TIMEOUT_1800 || isStatusCode) {\n const changedOdd = isStatusCode\n ? Data?.ErrorData\n ? {\n old_price: Data?.ErrorData?.OldPrice,\n new_price: Data?.ErrorData?.ActualPrice\n }\n : null\n : Array.isArray(details)\n ? {\n old_price: details[0].old_price,\n new_price: details[0].new_price\n }\n : null;\n\n if (setAcceptBet) {\n setAcceptBet(true);\n }\n\n if (!changedOdd) {\n return;\n }\n\n const oddsChangedText = i18n\n .t('swarm.OddsIsChanged')\n .replace('{oldPrice}', convert(changedOdd.old_price, oddFormat))\n .replace('{newPrice}', convert(changedOdd.new_price, oddFormat));\n\n showToastError(\n oddsChangedText,\n getMessageContextBasedOnBetslipOpenState(messageContext),\n result_text\n );\n }\n};\n\n// DON'T use this function directly in project, instead use useDoBetHandler : doBetHandler function\nexport const doBet = (\n data: doBetProps,\n callback: Function,\n callbackError: Function | null,\n setAcceptBet?: Function,\n messageContext?: HTMLElement | null\n): void => {\n const editBet = Store.getState().betSlip?.editBet;\n\n // @Todo add type for betslip do bet response\n const _callback = (res: any) => {\n callback(res);\n\n if (SpringConfigs.WRAPPER_APP && window.median) {\n deviceActionManager.vibrate('impactMedium');\n }\n };\n\n if (editBet?.active) {\n sendCreateBet(data, _callback, callbackError, setAcceptBet, messageContext);\n } else {\n sendDoBet(data, _callback, callbackError, setAcceptBet, messageContext);\n }\n};\n\n/*eslint no-magic-numbers:*/\n// TODO check after betslip refactor\nconst sendDoBet = (\n data: doBetProps,\n callback: Function,\n callbackError: Function | null,\n setAcceptBet?: Function,\n messageContext?: HTMLElement | null\n): void => {\n const oddFormat = Store.getState().betSlip.oddFormat;\n const editBet = Store.getState().betSlip.editBet;\n const isBonusMoney = Store.getState().betSlip.useBonusBalance;\n const user = Store.getState().userData.user;\n const isFrenchFreeBetEnabled =\n Store.getState().betSlip.isFrenchFreeBetEnabled;\n\n const {\n bets,\n type,\n mode,\n sys_bet,\n bonus_id,\n predefined_multiple_id,\n source,\n each_way,\n booking_id,\n location_token\n } = data;\n\n const amount = editBet?.active ? editBet.amount : data.amount;\n\n const additional_amount = data.amount;\n const old_bet_id = editBet?.betId || null;\n\n const command = {\n command: CommandNames.DO_BET,\n params: {\n source,\n each_way,\n bonus_id,\n amount,\n bets,\n mode: mode || MODE_TYPES.ODD_NOT_CHANGE,\n odd_type: oddFormat,\n type,\n booking_id,\n is_bonus_money: !!isBonusMoney,\n ...(isFrenchFreeBetEnabled ? { is_free_bet_money: true } : {}),\n ...(location_token ? { location_token } : {})\n } as Record,\n rid: RidGenerator.gForCommand()\n };\n\n if (sys_bet) {\n command.params.sys_bet = sys_bet;\n }\n\n if (predefined_multiple_id) {\n command.params.predefined_multiple_id = predefined_multiple_id;\n }\n\n if (editBet?.active) {\n command.params.additional_amount = additional_amount;\n command.params.old_bet_id = old_bet_id;\n }\n\n betCommand(\n command,\n '',\n (data: {\n result: string;\n details: {\n bet_id: number;\n k: number;\n is_superbet: boolean;\n };\n }) => {\n callback(data);\n fireEvent({ key: EPlayerActivityCheckerActions.checkPlayerActivity });\n\n const betslipStore: IBetslipRootStateInitialData =\n Store.getState().betSlip;\n\n const freeBetStore = betslipStore.freeBets;\n\n Store.dispatch(\n batchActions(\n setSelectedProfitBoostEventId(null),\n setFreeBetSelectedEventId(null)\n )\n );\n\n if (freeBetStore.selectedFreeBetId) {\n Store.dispatch(\n batchActions(removeFreeBetItem(freeBetStore.selectedFreeBetId))\n );\n }\n\n if (data && data.result === 'OK') {\n if (data.details?.is_superbet) {\n showToastSuccess(\n i18n.t('betslip.superBetSuccess'),\n getMessageContextBasedOnBetslipOpenState(messageContext)\n );\n } else {\n showToastSuccess(\n i18n.t(`betslip.${SwarmSuccessMessages.DO_BET}`),\n getMessageContextBasedOnBetslipOpenState(messageContext)\n );\n }\n }\n\n const accountParams: AccountParamsType = queryClient.getQueryData([\n EAccount['AccountParams']\n ]);\n\n if (\n accountParams &&\n +accountParams[AppendCustomCodes.APPEND_CUSTOM_CODE_BETSLIP]\n ) {\n appendCustomCode(accountParams[AppendCustomCodes.CUSTOM_CODE_BETSLIP], {\n amount,\n currency: user?.currency,\n bet_id: data?.details?.bet_id,\n k: data?.details?.k,\n is_superbet: mode === -1,\n bet_type: type,\n name: user?.name,\n first_name: user?.first_name,\n last_name: user?.last_name,\n email: user?.email,\n username: user?.username,\n btag: user?.btag,\n userId: user?.id,\n phone: user?.phone\n });\n }\n },\n () => undefined,\n ({ data }: { data: DoBetResponseType }) => {\n oddChangeHandlerCallbackWrapper(\n data,\n callbackError,\n oddFormat,\n setAcceptBet,\n messageContext\n );\n }\n );\n};\n\nconst sendCreateBet = (\n data: doBetProps,\n callback: Function,\n callbackError: Function | null,\n setAcceptBet?: Function,\n messageContext?: HTMLElement | null\n): void => {\n const oddFormat = Store.getState().betSlip.oddFormat;\n const editBet = Store.getState().betSlip.editBet;\n const user = Store.getState().userData.user;\n const isFrenchFreeBetEnabled =\n Store.getState().betSlip.isFrenchFreeBetEnabled;\n\n const { bets, type, mode, source, each_way, location_token } = data;\n\n const amount = editBet?.active ? editBet.amount : data.amount;\n\n const additional_amount = data.amount;\n const old_bet_id = editBet?.betId || null;\n\n const command: TCreateBets = {\n command: CommandNames.CREATE_BETS,\n params: {\n bets: [\n {\n Source: source,\n EachWay: each_way,\n Amount: amount,\n Events: bets.map(bet => ({\n SelectionId: bet.event_id,\n Coeficient: bet.price\n })),\n OddType: oddFormat,\n Type: type,\n AdditionalAmount: undefined,\n ...(isFrenchFreeBetEnabled ? { IsFreeBetMoney: true } : {})\n }\n ],\n ...(location_token ? { GeoLocationToken: location_token } : {})\n },\n rid: RidGenerator.gForCommand()\n };\n\n if (editBet?.active) {\n command.params.bets[0].AdditionalAmount = additional_amount;\n command.params.bets[0].OldBetId = old_bet_id;\n }\n\n betCommand(\n command,\n '',\n (data: {\n result: string;\n StatusCode: string;\n Data: Array<{\n bet_id: number;\n k: number;\n is_superbet?: boolean;\n }>;\n }) => {\n if (data.StatusCode === '0') {\n data.result = 'OK';\n\n if (data.Data?.[0]?.is_superbet) {\n showToastSuccess(\n i18n.t('betslip.superBetSuccess'),\n getMessageContextBasedOnBetslipOpenState(messageContext)\n );\n } else {\n showToastSuccess(\n i18n.t(`betslip.${SwarmSuccessMessages.DO_BET}`),\n getMessageContextBasedOnBetslipOpenState(messageContext)\n );\n }\n }\n\n callback(data);\n fireEvent({ key: EPlayerActivityCheckerActions.checkPlayerActivity });\n\n const accountParams: AccountParamsType = queryClient.getQueryData([\n EAccount['AccountParams']\n ]);\n\n if (\n accountParams &&\n +accountParams[AppendCustomCodes.APPEND_CUSTOM_CODE_BETSLIP]\n ) {\n appendCustomCode(accountParams[AppendCustomCodes.CUSTOM_CODE_BETSLIP], {\n amount,\n currency: user?.currency,\n bet_id: data?.Data[0]?.bet_id,\n k: data?.Data[0]?.k,\n is_superbet: mode === -1,\n bet_type: type,\n name: user?.name,\n first_name: user?.first_name,\n last_name: user?.last_name,\n email: user?.email,\n username: user?.username,\n btag: user?.btag,\n userId: user?.id,\n phone: user?.phone\n });\n }\n },\n () => undefined,\n ({ data }: { data: DoBetResponseType }) => {\n oddChangeHandlerCallbackWrapper(\n data,\n callbackError,\n oddFormat,\n setAcceptBet,\n messageContext\n );\n }\n );\n};\n\nexport const getV3Freebet = (\n params: TV3FreebetParams,\n callback: (data: TV3FreebetResponse) => void,\n callbackError: ((err?: Record) => void) | null = null\n): void => {\n const command = {\n command: CommandNames.GET_FREEBETS_FOR_BETSLIP_V3,\n params,\n rid: RidGenerator.gForCommand()\n };\n\n betCommand(command, '', callback, () => undefined, callbackError);\n};\n\nexport const getCurrencyConfigs = async (\n currency: string,\n callback: (data: GetCurrencyConfigsResponse) => void,\n callbackError: Function | null\n): Promise => {\n const commandObj = {\n command: CommandNames.GET,\n rid: RidGenerator.gForCommand(),\n params: {\n source: CommandSource.CURRENCY_CONFIG,\n what: {\n currency: []\n },\n where: {\n currency: { name: currency }\n },\n subscribe: false\n }\n };\n\n connectingWS.then((socket: WebsocketEnhanced) =>\n socket.sendCommand(commandObj, '', callback, undefined, callbackError)\n );\n};\n\nexport const bookBet = async (\n bets: BookBetParamsType,\n callback: Function,\n callbackError: Function\n): Promise => {\n const commandObj: CommandObj = {\n command: CommandNames.BOOK_BET,\n rid: RidGenerator.gForCommand(),\n params: {\n bets\n }\n };\n\n const tid = Number(\n qs.parse(window.location.search, { ignoreQueryPrefix: true }).tid\n );\n\n tid && (commandObj.params.cashdesk_id = tid);\n\n connectingWS.then((socket: WebsocketEnhanced) =>\n socket.sendCommand(commandObj, '', callback, undefined, callbackError)\n );\n};\n\nexport const getEventsByBookingId = (\n bookId: string,\n callback: Function,\n callbackError: Function\n): void => {\n const commandObj: CommandObj = {\n command: CommandNames.GET_EVENTS_BY_BOOKING_ID,\n rid: RidGenerator.gForCommand(),\n params: {\n booking_id: +bookId\n }\n };\n\n connectingWS.then((socket: WebsocketEnhanced) =>\n socket.sendCommand(commandObj, '', callback, undefined, callbackError)\n );\n};\n\nexport const getEventsReadyForBetslip = (\n eventsAndGameIds: IEventsAndGameIds[] | null,\n callback: Function,\n callBackError?: Function,\n getOnlyEventIds?: boolean,\n gameIds?: number[],\n eventIds?: number[]\n): void => {\n const games = gameIds\n ? gameIds\n : eventsAndGameIds\n ? eventsAndGameIds.map(entity => entity.gameId)\n : [];\n\n const events =\n gameIds && eventIds\n ? eventIds\n : eventsAndGameIds\n ? eventsAndGameIds.map(entity => entity.eventId)\n : [];\n\n const commandObj = {\n command: CommandNames.GET,\n rid: RidGenerator.gForCommand(),\n params: {\n source: CommandSource.BETTING,\n what: {\n ...(!getOnlyEventIds && {\n sport: ['alias', 'type'],\n region: ['name', 'alias'],\n competition: ['name', 'id'],\n game: ['id', 'type', 'team1_name', 'team2_name', 'start_ts', 'info'],\n market: ['name', 'type', 'extra_info']\n }),\n event: getOnlyEventIds\n ? ['id']\n : ['id', 'base', 'name', 'price', 'ew_allowed']\n },\n where: {\n game: {\n id: {\n '@in': games\n }\n },\n event: {\n id: {\n '@in': events\n }\n }\n }\n }\n };\n\n connectingWS.then((socket: WebsocketEnhanced) => {\n socket.sendCommand(commandObj, '', callback, undefined, callBackError);\n });\n};\n\nexport const counterCounterOfferAnswer = (\n acceptOffer: boolean,\n betId: number | string,\n callback: Function,\n callbackError?: Function\n): void => {\n const commandObj: CommandObj = {\n command: CommandNames.SUPER_BET_ANSWER,\n rid: RidGenerator.gForCommand(),\n params: {\n accept: acceptOffer,\n bet_id: betId\n }\n };\n\n connectingWS.then((socket: WebsocketEnhanced) =>\n socket.sendCommand(commandObj, '', callback, undefined, callbackError)\n );\n};\n\nexport const checkBetStatus = (\n betId: number | string,\n callback: Function,\n callbackError?: Function\n): void => {\n const commandObj: CommandObj = {\n command: CommandNames.CHECK_BET_STATUS,\n rid: RidGenerator.gForCommand(),\n params: {\n bet_id: betId\n }\n };\n\n connectingWS.then((socket: WebsocketEnhanced) =>\n socket.sendCommand(commandObj, '', callback, undefined, callbackError)\n );\n};\n","import { CommandNames } from 'utils/constants/swarm/swarm-command-names';\nimport RidGenerator from 'utils/swarm/rid-generator';\nimport { EachWayPartnerTermsResponse } from 'interfaces/sportsbook-data-levels';\nimport { WebsocketEnhanced } from 'interfaces/spring-websocket-interfaces';\nimport { connectingWS } from 'hooks/useSpringConnect';\nimport Store from 'store';\nimport { setEachWayPartnerTerms } from 'store/actions';\n\nexport const getEachWay = (params: { market_id?: number }): void => {\n connectingWS.then((socket: WebsocketEnhanced) => {\n socket.sendCommand(\n {\n command: CommandNames.GET_EACH_WAY_PARTNER_TERMS,\n params,\n rid: RidGenerator.gForCommand()\n },\n '',\n (data: EachWayPartnerTermsResponse) => {\n if (data?.details && params.market_id) {\n Store.dispatch(\n setEachWayPartnerTerms(data.details, params.market_id)\n );\n }\n }\n );\n });\n};\n","import { createSelector } from 'reselect';\nimport { getSelectorRoot } from 'utils/selectors';\nimport { ICasinoCachedGames } from 'interfaces/casino-data';\n\nconst getCasinoStore = getSelectorRoot('newCasinoStore');\n\nconst getCasinoCategories = getCasinoStore('categories');\nexport const getCasinoOriginalCategories = createSelector(\n [getCasinoCategories],\n categories => categories.original\n);\nexport const getEnhancedParams = getCasinoStore('enhancedParams');\n\nexport const getGamesConfigs = getCasinoStore('gamesConfigs');\nexport const getCasinoCustomCategories = createSelector(\n [getCasinoCategories],\n categories => categories.custom\n);\nexport const getCasinoOriginalCategoriesSet = createSelector(\n [getCasinoCategories],\n categories => categories.originalSet\n);\nexport const getCasinoOriginalCategoriesSetLeftSideBar = createSelector(\n [getCasinoCategories],\n categories => categories.originalSetLeftSideBar\n);\nexport const getCanRequestCategoriesNestedData = getCasinoStore(\n 'canRequestCategoriesNestedData'\n);\nexport const getCanRequestProvidersNestedData = getCasinoStore(\n 'canRequestProvidersNestedData'\n);\nexport const getLastPlayedCatSettings = getCasinoStore('lastPlayedCatSettings');\nexport const getCategoryCustomIds = getCasinoStore('categoryCustomIds');\nexport const getCachedGames = getCasinoStore('cachedGames');\nexport const getActiveGames = createSelector(\n [getCachedGames],\n (cachedGames: ICasinoCachedGames = {}) => {\n return Object.values(cachedGames)\n .filter(gameData => gameData.active)\n .reduce((acc, gameData) => {\n if (!gameData.data) {\n return acc;\n }\n\n acc[gameData.data.extearnal_game_id] = gameData;\n\n return acc;\n }, {} as ICasinoCachedGames);\n }\n);\n","export const changeWrapperRowZIndex = (\n wrapper: HTMLElement | null,\n increaseSize: number,\n isWrapperRow = false,\n selector = '.row-container',\n fixedZindex?: boolean\n): HTMLElement | null => {\n const wrapperElement = isWrapperRow\n ? wrapper\n : (wrapper?.closest(selector) as HTMLElement);\n\n if (!wrapperElement) {\n return null;\n }\n\n if (fixedZindex) {\n wrapperElement.style.zIndex = '3';\n }\n\n let wrapperZIndex = +window\n .getComputedStyle(wrapperElement, '')\n .getPropertyValue('z-index');\n\n if (wrapperZIndex) {\n wrapperZIndex += increaseSize;\n\n wrapperElement.style.zIndex = wrapperZIndex.toString();\n }\n\n return wrapperElement;\n};\n","export const HALF_SCORE_RESULT = 0.5;\nexport const ONE_HUNDRED_PERCENT = 100;\nexport const SCORE_INDEX = 10;\nexport const USA_LAYOUT_ICON_SIZE = 12;\nexport const DEFAULT_LAYOUT_ICON_SIZE = 5.2;\nexport const FAVORITE_BUTTON_CONTAINER_ICON_SIZE = 24;\nexport const ADVANCED_CONTAINER_SIZE = 20;\nexport const FavoritePerRow = 3;\nexport const FavoritePerRowMobile = 1;\n\nexport enum MULTIVIEW_CARDS_ROW {\n COUNT_2 = 2,\n // eslint-disable-next-line no-magic-numbers\n COUNT_3 = 3\n}\nexport enum MULTIVIEW_CARDS_VIEW {\n COUNT_2 = 2,\n // eslint-disable-next-line no-magic-numbers\n COUNT_3 = 3\n}\n","const COMPOUND_INDIVIDUAL_SHOOTS_NUMBER = 6;\nconst COMPOUND_MIXED_TEAM_SHOOTS_NUMBER = 5;\nconst COMPOUND_TEAM_SHOOTS_NUMBER = 5;\nconst ARCHERY_H2H_SHOOTS_NUMBER = 6;\nconst RECURVE_MIXED_TEAM_SHOOTS_NUMBER = 5;\nconst RECURVE_TEAM_SHOOTS_NUMBER = 5;\n\nexport const PISTOL_H2H_SHOOT_OFF_SET_NUMBER = 2;\nexport const ARCHERY_H2H_SHOOT_OFF_SET_NUMBER = 6;\nexport const COMPOUND_ARCHERY_SHOOT_OFF_SET_BY_TYPE = {\n 0: COMPOUND_INDIVIDUAL_SHOOTS_NUMBER,\n 1: COMPOUND_MIXED_TEAM_SHOOTS_NUMBER,\n 2: COMPOUND_TEAM_SHOOTS_NUMBER\n};\nexport const ARCHERY_H2H_SHOOT_OFF_SET_BY_TYPE = {\n 0: ARCHERY_H2H_SHOOTS_NUMBER,\n 1: RECURVE_MIXED_TEAM_SHOOTS_NUMBER,\n 2: RECURVE_TEAM_SHOOTS_NUMBER\n};\nexport const PISTOL_SHOOTING_SETS_COUNT = 3;\nexport const ARCHERY_SHOOTING_SETS_COUNT = 6;\nexport const PISTOL_SHOOTING_SHOOTS_COUNT = 10;\nexport const ARCHERY_SHOOTING_SHOOTS_COUNT = 6;\nexport const H2H_COMPOUND_ARCHERY_SHOOTS_COUNT = 3;\nexport const PISTOL_H2H_SHOOTS_COUNT = 10;\nexport const PISTOL_H2H_SHOOT_OFF_MAX_SHOOTS_COUNT = 3;\n\nexport const H2H_COMPOUND_ARCHERY_MATCH_STATE_NOT_STARTED = 0;\nexport const H2H_COMPOUND_ARCHERY_MATCH_STATE_IN_PLAY = 1;\nexport const H2H_COMPOUND_ARCHERY_MATCH_STATE_TIMEOUT = 2;\nexport const H2H_COMPOUND_ARCHERY_MATCH_STATE_FINISHED = 3;\n\nexport const ARCHERY_H2H_GAME_STATUSES: Record = {\n [H2H_COMPOUND_ARCHERY_MATCH_STATE_NOT_STARTED]: 'notstarted',\n [H2H_COMPOUND_ARCHERY_MATCH_STATE_IN_PLAY]: 'inplay',\n [H2H_COMPOUND_ARCHERY_MATCH_STATE_TIMEOUT]: 'timeout',\n [H2H_COMPOUND_ARCHERY_MATCH_STATE_FINISHED]: 'finished'\n};\n","/**\n * Competition ids that must hide game info\n * @param {Number} key jurisdiction number\n * @param {Number[]} value competition ids\n */\n\n/*eslint no-magic-numbers:*/\nexport const PRIVATE_COMPETITIONS: Record = {\n 4: [\n 1368, 1369, 9647, 9648, 1366, 1367, 9645, 9646, 1222, 9501, 4736, 4737,\n 11424, 11425, 10149, 10150, 11589\n ]\n};\n","import { timeoutDuration } from 'utils/constants/dateInfo/time-numbers';\n\nconst timers: Record = {};\n\nexport function debounce(\n debounceId: string,\n func: (...args: T) => void,\n timeout = timeoutDuration.DURATION_300\n): (...args: T) => void {\n return (...args: T) => {\n clearTimeout(timers[debounceId]);\n timers[debounceId] = setTimeout(() => {\n func(...args);\n }, timeout);\n };\n}\n","import { isMobile } from '../is-mobile';\n\nexport const HEADER_CLASSNAME = isMobile()\n ? 'fixed-header--mobile'\n : 'fixed-header';\n\nexport const HEADER_GETTER_CLASSNAME =\n process.env.NODE_ENV === 'development'\n ? '.pageHeaderWrapper'\n : 'header.header-rows';\n\nexport const getHeader = (): HTMLElement =>\n document.querySelector(HEADER_GETTER_CLASSNAME) as HTMLElement;\n\ntype PrevStyle = {\n margin?: string;\n padding?: string;\n paddingBottom?: string;\n} | null;\n\nlet prevStyles: PrevStyle = null;\n\nconst saveCurrentStyles = () => {\n const header = getHeader();\n const parent = header.parentElement;\n\n const isHasStylesToSaveAndReset =\n parent?.style?.paddingTop ||\n header.style.marginTop ||\n parent?.style?.paddingBottom;\n\n if (isHasStylesToSaveAndReset && !prevStyles) {\n prevStyles = {\n margin: header.style.marginTop,\n padding: parent?.style.paddingTop,\n paddingBottom: parent?.style.paddingBottom\n };\n }\n};\n\nexport const getHeaderHeight = (): number => {\n const header = getHeader();\n\n if (header) {\n return header.clientHeight || header.offsetHeight;\n }\n\n return 0;\n};\n\nexport const makeHeaderFixed = (): void => {\n const header = getHeader();\n\n if (header) {\n if (!header.classList.contains(HEADER_CLASSNAME)) {\n const headerHeight = header.clientHeight || header.offsetHeight;\n saveCurrentStyles();\n header.style.marginTop = `-${headerHeight}px`;\n\n if (header.parentElement) {\n const paddingTop = window\n .getComputedStyle(header.parentElement, null)\n .getPropertyValue('padding-top');\n\n const paddingBottom = window\n .getComputedStyle(header.parentElement, null)\n .getPropertyValue('padding-bottom');\n\n header.parentElement.style.paddingTop = `${\n headerHeight + +paddingTop.replace('px', '')\n }px`;\n\n header.parentElement.style.paddingBottom = `${\n headerHeight + +paddingBottom.replace('px', '')\n }px`;\n }\n\n header.classList.add(HEADER_CLASSNAME);\n }\n }\n};\n\nexport const removeFixedHeader = (): void => {\n const header = getHeader();\n\n if (header) {\n header.classList.remove(HEADER_CLASSNAME);\n header.style.marginTop = prevStyles?.margin || '';\n\n if (header.parentElement) {\n header.parentElement.style.paddingTop = prevStyles?.padding || '';\n header.parentElement.style.paddingBottom =\n prevStyles?.paddingBottom || '';\n }\n }\n\n prevStyles = null;\n};\n","import i18next from 'i18next';\nimport { STREAMING_ASPECT_RATIOS } from 'utils/helpers/moba-games-statistics-options';\nimport { isMobile } from 'utils/is-mobile';\nimport { GameInfoAdditionalDataMap } from 'interfaces/sportsbook-data-levels';\n\nexport const DOTA_2_SETTINGS = {\n titles: {\n 0: null,\n 1: i18next.t('sportsbook.esportsKill'),\n 2: i18next.t('sportsbook.tormentor'),\n 3: i18next.t('sportsbook.tower'),\n 4: i18next.t('sportsbook.barrack'),\n 5: i18next.t('sportsbook.barrack')\n },\n icons: {\n names: {\n 1: 'kill',\n 2: 'dragon',\n 3: 'tower',\n 4: 'inhibitor',\n 5: null\n },\n firstSanctuary: {\n 0: 'voidgrub-kill'\n },\n secondSanctuary: {},\n positions: {\n roshen: isMobile()\n ? { top: '32%', left: '37.8%' }\n : { top: '33%', left: '34.9%' },\n tower: isMobile()\n ? {\n 1: { top: '75.1%', left: '28%' },\n 2: { top: '77%', left: '29.5%' },\n 3: { top: '66.2%', left: '25.5%' },\n 4: { top: '70.2%', left: '32.2%' },\n 5: { top: '82.4%', left: '34.7%' },\n 6: { top: '50.5%', left: '26.7%' },\n 7: { top: '61.2%', left: '36.2%' },\n 8: { top: '83.4%', left: '47.5%' },\n 9: { top: '34.1%', left: '26.3%' },\n 10: { top: '54.2%', left: '42.5%' },\n 11: { top: '82.2%', left: '64.9%' },\n 12: { top: '9.2%', left: '32.1%' },\n 13: { top: '41.2%', left: '49.7%' },\n 14: { top: '56.2%', left: '69.5%' },\n 15: { top: '9.2%', left: '48%' },\n 16: { top: '32.2%', left: '56.8%' },\n 17: { top: '43.2%', left: '69.4%' },\n 18: { top: '10.2%', left: '60.1%' },\n 19: { top: '22.4%', left: '63%' },\n 20: { top: '26.9%', left: '69.5%' },\n 21: { top: '15.9%', left: '65%' },\n 22: { top: '17.9%', left: '66.3%' }\n }\n : {\n 1: { top: '75.1%', left: '21.9%' },\n 2: { top: '77%', left: '23.1%' },\n 3: { top: '66.2%', left: '18.5%' },\n 4: { top: '70.2%', left: '26.5%' },\n 5: { top: '82.4%', left: '29.7%' },\n 6: { top: '50.5%', left: '19.7%' },\n 7: { top: '61.2%', left: '32.2%' },\n 8: { top: '83.4%', left: '47.5%' },\n 9: { top: '34.1%', left: '19.3%' },\n 10: { top: '54.2%', left: '40.5%' },\n 11: { top: '82.2%', left: '69.7%' },\n 12: { top: '9.2%', left: '26.1%' },\n 13: { top: '41.2%', left: '49.7%' },\n 14: { top: '56.2%', left: '75.7%' },\n 15: { top: '9.2%', left: '48%' },\n 16: { top: '32.2%', left: '59%' },\n 17: { top: '43.2%', left: '75.4%' },\n 18: { top: '10.2%', left: '63.1%' },\n 19: { top: '23.4%', left: '67%' },\n 20: { top: '26.9%', left: '76%' },\n 21: { top: '15.9%', left: '70%' },\n 22: { top: '17.9%', left: '71.5%' }\n },\n kills: isMobile()\n ? {\n 1: { top: '69.1%', left: '24.7%' },\n 2: { top: '68.7%', left: '26.3%' },\n 3: { top: '71.1%', left: '30.9%' },\n 4: { top: '74.1%', left: '31.9%' },\n 5: { top: '81.1%', left: '33.2%' },\n 6: { top: '85.1%', left: '33.3%' },\n 7: { top: '8%', left: '61.4%' },\n 8: { top: '12%', left: '61.4%' },\n 9: { top: '20%', left: '62.9%' },\n 10: { top: '23%', left: '63.9%' },\n 11: { top: '25%', left: '68.5%' },\n 12: { top: '25%', left: '70.5%' }\n }\n : {\n 1: { top: '69.1%', left: '16.7%' },\n 2: { top: '69.7%', left: '19%' },\n 3: { top: '72.1%', left: '24.9%' },\n 4: { top: '74.1%', left: '25.9%' },\n 5: { top: '81.1%', left: '27.9%' },\n 6: { top: '85.1%', left: '27.9%' },\n 7: { top: '8%', left: '64.9%' },\n 8: { top: '12%', left: '65.4%' },\n 9: { top: '20%', left: '66.9%' },\n 10: { top: '23%', left: '68.9%' },\n 11: { top: '25%', left: '74.9%' },\n 12: { top: '25%', left: '76.9%' }\n }\n },\n getIconPositionsAndSizes: function (width: number) {\n const size = {\n width: width / STREAMING_ASPECT_RATIOS.desktop,\n height: width / STREAMING_ASPECT_RATIOS.desktop\n };\n\n return {\n 0: {\n position: this.positions.roshen,\n size\n },\n 1: {\n position: this.positions.kills,\n size\n },\n 2: {\n size: isMobile()\n ? {\n width: width / STREAMING_ASPECT_RATIOS.mobile,\n height: width / STREAMING_ASPECT_RATIOS.mobile\n }\n : size,\n position: this.positions || {}\n }\n };\n }\n }\n};\n\nexport const getDota2Statistics = (\n additionalDataMap: GameInfoAdditionalDataMap | undefined\n) => {\n const roshen =\n (additionalDataMap?.timers || []).find(\n roshen => roshen.codeValue === 'roshan_timer'\n )?.value ?? -1;\n\n return {\n statistics: {\n 1: {\n ...(isMobile() ? { 5: null } : { 0: null }),\n 1: additionalDataMap?.killScore?.team1 || 0,\n 2: additionalDataMap?.tormentorScore?.team1 || 0,\n 3: additionalDataMap?.towerScore?.team1 || 0,\n 4: additionalDataMap?.barrackScore?.team1 || 0\n },\n 2: {\n 1: additionalDataMap?.killScore?.team2 || 0,\n 2: additionalDataMap?.tormentorScore?.team2 || 0,\n 3: additionalDataMap?.towerScore?.team2 || 0,\n 4: additionalDataMap?.barrackScore?.team2 || 0,\n 5: null\n }\n },\n mapState: {\n 1:\n additionalDataMap?.destroyedBarracks.map(barrack => barrack.number) ||\n [],\n 2: additionalDataMap?.destroyedTowers.map(tower => tower.number) || [],\n 3: roshen,\n 4: -1\n }\n };\n};\n","import i18next from 'i18next';\nimport { STREAMING_ASPECT_RATIOS } from 'utils/helpers/moba-games-statistics-options';\nimport { isMobile } from 'utils/is-mobile';\nimport { GameInfoAdditionalDataMap } from 'interfaces/sportsbook-data-levels';\n\nexport const LEAGUE_OF_LEGENDS_SETTINGS = {\n titles: {\n 1: i18next.t('sportsbook.esportsKill'),\n 2: i18next.t('sportsbook.baron'),\n 3: i18next.t('sportsbook.dragon'),\n 4: i18next.t('sportsbook.tower'),\n 5: i18next.t('sportsbook.inhibitor')\n },\n icons: {\n names: {\n 1: 'kill',\n 2: 'baron',\n 3: 'dragon',\n 4: 'tower',\n 5: 'inhibitor'\n },\n firstSanctuary: {\n 0: 'unknown-drake',\n 1: 'chemtech-drake',\n 2: 'cloud-drake',\n 3: 'hexteck-drake',\n 4: 'infernal-drake',\n 5: 'mountain-drake',\n 6: 'ocean-drake',\n 7: 'elder-drake'\n },\n secondSanctuary: {\n 1: 'rift-herald',\n 2: 'baron-nashor-kill',\n 3: 'voidgrub-kill'\n },\n positions: {\n dragons: isMobile()\n ? { top: '67%', left: '61%' }\n : { top: '65.5%', left: '61.2%' },\n epicMonsters: isMobile()\n ? { top: '23%', left: '34.8%' }\n : { top: '29%', left: '34.9%' },\n tower: isMobile()\n ? {\n 1: { top: '82.1%', left: '18.5%' },\n 2: { top: '86%', left: '20.9%' },\n 3: { top: '66.1%', left: '15.5%' },\n 4: { top: '71%', left: '28.9%' },\n 5: { top: '90%', left: '31.9%' },\n 6: { top: '49%', left: '17.5%' },\n 7: { top: '62.8%', left: '36.5%' },\n 8: { top: '88.8%', left: '46.5%' },\n 9: { top: '23%', left: '15.5%' },\n 10: { top: '52%', left: '39.9%' },\n 11: { top: '92.8%', left: '65.5%' },\n 12: { top: '0.1%', left: '32.1%' },\n 13: { top: '38%', left: '55.9%' },\n 14: { top: '67%', left: '82.9%' },\n 15: { top: '4.1%', left: '50.4%' },\n 16: { top: '26%', left: '59.9%' },\n 17: { top: '40%', left: '78.9%' },\n 18: { top: '2%', left: '63%' },\n 19: { top: '19%', left: '66.9%' },\n 20: { top: '23.5%', left: '79.5%' },\n 21: { top: '6%', left: '74%' },\n 22: { top: '9.5%', left: '76.5%' }\n }\n : {\n 1: { top: '76.1%', left: '16.9%' },\n 2: { top: '80%', left: '19.1%' },\n 3: { top: '64.2%', left: '13.5%' },\n 4: { top: '68.2%', left: '27.5%' },\n 5: { top: '83.4%', left: '30.7%' },\n 6: { top: '49.5%', left: '15.7%' },\n 7: { top: '61.2%', left: '35.2%' },\n 8: { top: '83.2%', left: '45.5%' },\n 9: { top: '28.1%', left: '13.3%' },\n 10: { top: '52.2%', left: '39.5%' },\n 11: { top: '86.2%', left: '65.7%' },\n 12: { top: '9.2%', left: '31.1%' },\n 13: { top: '40.2%', left: '55.7%' },\n 14: { top: '64.2%', left: '83.7%' },\n 15: { top: '12.2%', left: '50%' },\n 16: { top: '31.2%', left: '60%' },\n 17: { top: '42.2%', left: '79.4%' },\n 18: { top: '10.2%', left: '63.1%' },\n 19: { top: '24.4%', left: '67%' },\n 20: { top: '27.9%', left: '80%' },\n 21: { top: '13.9%', left: '74%' },\n 22: { top: '16.9%', left: '76.5%' }\n },\n kills: isMobile()\n ? {\n 1: { top: '72.1%', left: '15.5%' },\n 2: { top: '75.1%', left: '26.5%' },\n 3: { top: '90.1%', left: '27.9%' },\n 4: { top: '3%', left: '66.9%' },\n 5: { top: '16%', left: '69%' },\n 6: { top: '19%', left: '79%' }\n }\n : {\n 1: { top: '69.1%', left: '13.5%' },\n 2: { top: '71.1%', left: '24.8%' },\n 3: { top: '84.1%', left: '25.9%' },\n 4: { top: '11%', left: '66.9%' },\n 5: { top: '22%', left: '69%' },\n 6: { top: '24%', left: '80%' }\n }\n },\n getIconPositionsAndSizes: function (width: number) {\n const size = {\n width: width / STREAMING_ASPECT_RATIOS.desktop,\n height: width / STREAMING_ASPECT_RATIOS.desktop\n };\n\n return {\n 0: {\n position: this.positions.dragons,\n size\n },\n 1: {\n position: this.positions.epicMonsters,\n size\n },\n 2: {\n size: isMobile()\n ? {\n width: width / STREAMING_ASPECT_RATIOS.mobile,\n height: width / STREAMING_ASPECT_RATIOS.mobile\n }\n : size,\n position: this.positions || {}\n }\n };\n }\n }\n};\n\nexport const getLeagueOfLegendsStatistics = (\n additionalDataMap: GameInfoAdditionalDataMap | undefined\n) => {\n return {\n statistics: {\n 1: {\n 1: additionalDataMap?.killScore?.team1 || 0,\n 2: additionalDataMap?.baronScore?.team1 || 0,\n 3: additionalDataMap?.elementarDragonScore?.team1 || 0,\n 4: additionalDataMap?.towerScore?.team1 || 0,\n 5: additionalDataMap?.inhibitor?.team1 || 0\n },\n 2: {\n 1: additionalDataMap?.killScore?.team2 || 0,\n 2: additionalDataMap?.baronScore?.team2 || 0,\n 3: additionalDataMap?.elementarDragonScore?.team2 || 0,\n 4: additionalDataMap?.towerScore?.team2 || 0,\n 5: additionalDataMap?.inhibitor?.team2 || 0\n }\n },\n mapState: {\n 1: additionalDataMap?.mapState?.destroyedInhibitors || [],\n 2: additionalDataMap?.mapState?.destroyedTowers || [],\n 3: additionalDataMap?.mapState?.dragonType || null,\n 4: additionalDataMap?.mapState?.epicMonsterType || -1\n }\n };\n};\n","import {\n DOTA_2_SETTINGS,\n getDota2Statistics\n} from 'utils/constants/moba-games/dota-2';\nimport {\n getLeagueOfLegendsStatistics,\n LEAGUE_OF_LEGENDS_SETTINGS\n} from 'utils/constants/moba-games/league-of-legends';\nimport { GameInfoAdditionalDataMap } from 'interfaces/sportsbook-data-levels';\n\nconst COUNTER_STRIKE_ID = 75;\nconst LEAGUE_OF_LEGENDS_ID = 77;\nconst DOTA_2_ID = 76;\n\nexport const ESPORTS_ADDITIONAL_DATA_IDS = [\n COUNTER_STRIKE_ID,\n LEAGUE_OF_LEGENDS_ID,\n DOTA_2_ID\n];\n\nexport const STREAMING_ASPECT_RATIOS = {\n desktop: 20,\n mobile: 26\n};\n\nexport interface T_ESPORTS_ADDITIONAL_DATA {\n id: number;\n name: 'mapName';\n current: 'currentMap' | 'currentRound';\n number: 'mapNumber' | 'roundNumber';\n maps: 'maps' | 'rounds';\n alias: string;\n outcome: 'roundsOutcome' | 'killScore';\n}\n\ntype T_GET_MOBA_GAMES_SETTINGS_DATA = {\n [key: string]: {\n titles: { [key: number]: string | null };\n icons: {\n names: { [key: number]: string | null };\n firstSanctuary: { [key: number]: string };\n secondSanctuary: { [key: number]: string };\n positions: {\n [key: string]: {\n [key: string | number]: string | { [key: string]: string };\n };\n };\n getIconPositionsAndSizes: (width: number) => {\n [key: string]: {\n position: any;\n size: { width: number; height: number };\n };\n };\n };\n };\n};\n\ntype T_GET_MOBA_GAMES_STATISTICS_DATA = {\n [key: string]: (additionalDataMap: GameInfoAdditionalDataMap | undefined) => {\n statistics: {\n 1: { [key: number]: number | null };\n 2: { [key: number]: number | null };\n };\n mapState: { [key: number]: any };\n };\n};\n\nexport const ESPORTS_ADDITIONAL_DATA: {\n [key: string]: T_ESPORTS_ADDITIONAL_DATA;\n} = {\n CounterStrike: {\n id: ESPORTS_ADDITIONAL_DATA_IDS[0],\n name: 'mapName',\n current: 'currentMap',\n number: 'mapNumber',\n maps: 'maps',\n alias: 'CounterStrike',\n outcome: 'roundsOutcome'\n },\n LeagueOfLegends: {\n id: ESPORTS_ADDITIONAL_DATA_IDS[1],\n name: 'mapName',\n current: 'currentRound',\n number: 'roundNumber',\n maps: 'rounds',\n alias: 'LeagueOfLegends',\n outcome: 'killScore'\n },\n Dota2: {\n id: ESPORTS_ADDITIONAL_DATA_IDS[2],\n name: 'mapName',\n current: 'currentRound',\n number: 'roundNumber',\n maps: 'rounds',\n alias: 'Dota2',\n outcome: 'killScore'\n }\n};\n\nexport const GET_MOBA_GAMES_SETTINGS_DATA: T_GET_MOBA_GAMES_SETTINGS_DATA = {\n [ESPORTS_ADDITIONAL_DATA.LeagueOfLegends.alias]: LEAGUE_OF_LEGENDS_SETTINGS,\n [ESPORTS_ADDITIONAL_DATA.Dota2.alias]: DOTA_2_SETTINGS\n};\n\nexport const GET_MOBA_GAMES_STATISTICS_DATA: T_GET_MOBA_GAMES_STATISTICS_DATA =\n {\n [ESPORTS_ADDITIONAL_DATA.LeagueOfLegends.alias]:\n getLeagueOfLegendsStatistics,\n [ESPORTS_ADDITIONAL_DATA.Dota2.alias]: getDota2Statistics\n };\n\nexport const isESportMOBAGames = (sportAlias: string) =>\n [\n ESPORTS_ADDITIONAL_DATA.LeagueOfLegends.alias,\n ESPORTS_ADDITIONAL_DATA.Dota2.alias\n ].includes(sportAlias);\n","export const PeriodNames: { [key: string]: string } = {\n AmericanFootball: 'Quarter',\n AustralianFootball: 'Quarter',\n Badminton: 'Game',\n BallHockey: 'Half',\n Baseball: 'Inning',\n Basketball: 'Quarter',\n BeachFootball: 'Half',\n BeachHandball: 'Half',\n BeachVolleyball: 'Set',\n Bowls: 'End',\n Boxing: 'Round',\n CounterStrike: 'Map',\n Cricket: 'Inning',\n Curling: 'End',\n CyberFootball: 'Half',\n Dota2: 'Game',\n EBasketball: 'Quarter',\n Floorball: 'Period',\n Futsal: 'Half',\n GaelicFootball: 'Half',\n GearsOfWar: 'Game',\n Handball: 'Half',\n Hearthstone: 'Game',\n HeroesOfTheStorm: 'Game',\n Hockey: 'Period',\n IceHockey: 'Period',\n LeagueOfLegends: 'Game',\n Mma: 'Round',\n MortalKombatXL: 'Game',\n Netball: 'Quarter',\n Overwatch: 'Game',\n RugbyLeague: 'Half',\n RugbySevens: 'Half',\n RugbyUnion: 'Half',\n Smite: 'Game',\n Snooker: 'Frame',\n Soccer: 'Half',\n StarCraft: 'Game',\n StarCraft2: 'Game',\n TableTennis: 'Set',\n Tekken7: 'Game',\n Tennis: 'Set',\n Volleyball: 'Set',\n WarcraftIII: 'Game',\n WaterPolo: 'Quarter',\n WorldOfTanks: 'Game',\n WorldOfWarcraft: 'Game',\n PistolShooting: 'Set',\n PistolHead2Head: 'Set',\n ArcheryH2H: 'Set',\n CompoundArchery: 'Set',\n Archery: 'Set',\n BasketballShots: 'Shot',\n Valorant: 'Map',\n AgeofEmpires: 'Game',\n ApexLegends: 'Game',\n ArenaOfValor: 'Game',\n Artifact: 'Game',\n CallOfDuty: 'Game',\n CounterStrike2: 'Map',\n CrossFire: 'Map',\n FreeFire: 'Round',\n Halo: 'Map',\n KingOfGlory: 'Game',\n Overwatch2: 'Game',\n Quake: 'Map',\n RainbowSix: 'Map',\n RocketLeague: 'Game',\n Vaingloory: 'Game',\n MobileLegends: 'Game'\n\n // The list is not complete, we need period names for other sports as well\n};\n","import dayjs from 'dayjs';\nimport i18n from 'i18next';\nimport { MILLISECONDS_IN_SECOND } from 'utils/constants/dateInfo/time-numbers';\nimport { PeriodNames } from 'utils/constants/sportsbook/period-names';\nimport {\n ARCHERY_H2H_GAME_STATUSES,\n H2H_COMPOUND_ARCHERY_MATCH_STATE_IN_PLAY,\n H2H_COMPOUND_ARCHERY_MATCH_STATE_NOT_STARTED,\n PISTOL_H2H_SHOOT_OFF_SET_NUMBER\n} from 'utils/constants/sportsbook/pistol-and-archery-shootings';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { dateFormat } from 'utils/date-manipulation/date-format';\nimport { ESPORTS_ADDITIONAL_DATA } from 'utils/helpers/moba-games-statistics-options';\nimport {\n GameInfo,\n GameInfoAdditionalData\n} from 'interfaces/sportsbook-data-levels';\nimport {\n ArcheryH2HSportAlias,\n CompoundArcherySportAlias\n} from '../constants/sportsbook/sport-list';\n\ntype Props = {\n current_game_state: string;\n current_game_time: string;\n additional_data?: GameInfoAdditionalData;\n};\n\nconst Leaderboards = {\n Place1st: 1,\n Place2nd: 2,\n Place3rd: 3\n};\n\nconst TRASNSLATION_KEYS_BY_GAME_STATE: Record = {\n 'Half End': 'halfEnd',\n 'Quarter End': 'quarterEnd'\n};\n\nconst gamesWithNewData = [ArcheryH2HSportAlias, CompoundArcherySportAlias];\n\nexport const getGameCurrentState = (\n {\n current_game_state: gState,\n current_game_time: gTime,\n additional_data: additionalData\n }: Props | GameInfo,\n currentSport = '',\n compactView = false,\n shootOffSet = 0\n): string => {\n if (\n gamesWithNewData.includes(currentSport) &&\n (additionalData?.matchState ||\n additionalData?.matchState ===\n H2H_COMPOUND_ARCHERY_MATCH_STATE_NOT_STARTED)\n ) {\n if (\n additionalData?.matchState === H2H_COMPOUND_ARCHERY_MATCH_STATE_IN_PLAY &&\n additionalData?.currentSet\n ) {\n gState = `set${additionalData.currentSet}`;\n } else {\n gState = ARCHERY_H2H_GAME_STATUSES[additionalData?.matchState];\n }\n }\n\n switch (true) {\n case gState === 'Half Time':\n return compactView\n ? i18n.t(`sportsbook.halfTimeShort`)\n : i18n.t(`sportsbook.halfTime`);\n\n case ['Half End', 'Quarter End'].includes(gState as string) &&\n currentSport === 'Basketball': {\n return i18n.t(\n `sportsbook.${TRASNSLATION_KEYS_BY_GAME_STATE[gState as string]}`\n );\n }\n\n case gState === 'timeout':\n return compactView\n ? i18n.t(`sportsbook.timeoutShort`)\n : i18n.t(`sportsbook.timeout`);\n\n case gState === 'notstarted':\n return compactView ? \"0'\" : i18n.t(`sportsbook.notStarted`);\n\n case gState === 'finished':\n return compactView\n ? i18n.t(`sportsbook.finishedShort`)\n : i18n.t(`sportsbook.finished`);\n\n case gTime && !!gState && currentSport === 'Soccer' && compactView:\n return `${gTime}'`;\n\n case gTime && !!gState && compactView:\n return `${getPeriodName(\n currentSport,\n gState as string,\n compactView,\n shootOffSet\n )}`;\n\n case gTime && !!gState:\n return `${getPeriodName(\n currentSport,\n gState as string,\n compactView,\n shootOffSet\n )} ${gTime}'`;\n\n case !!gTime:\n return `${gTime}'`;\n\n case !!gState:\n return getPeriodName(\n currentSport,\n gState as string,\n compactView,\n shootOffSet\n );\n\n case !gState && !gTime:\n return compactView ? '-' : '';\n }\n\n return '';\n};\n\nexport function getPeriodName(\n currentSport: string,\n gState: string,\n compactView?: boolean,\n shootOffSet?: number\n): string {\n const initialPeriodName = 'set';\n const defaultPeriodName = 'Set';\n const periodName: boolean | string = PeriodNames[currentSport]\n ? PeriodNames[currentSport]\n : defaultPeriodName;\n\n const periodNumber = +gState.replace(initialPeriodName, '');\n\n if (isNaN(periodNumber)) {\n return gState.replace(initialPeriodName, '');\n }\n\n if (\n (currentSport === 'PistolHead2Head' &&\n periodNumber === PISTOL_H2H_SHOOT_OFF_SET_NUMBER) ||\n ((currentSport === 'ArcheryH2H' || currentSport === 'CompoundArchery') &&\n shootOffSet &&\n periodNumber > shootOffSet)\n ) {\n return i18n.t(`sportsbook.shootOff`);\n }\n\n if (compactView) {\n return `${i18n.t(`sportsbook.${periodName}`)[0]}${periodNumber}`;\n }\n\n return `${ordinal(periodNumber, periodName)} ${i18n.t(\n `sportsbook.${periodName}`\n )}`;\n}\n\nexport function ordinal(num: number, periodName: string | null = null): string {\n const suf = [\n 'First',\n 'Second',\n 'Third',\n 'Fourth',\n 'Fifth',\n 'Sixth',\n 'Seventh',\n 'Eighth',\n 'Ninth',\n 'Tenth',\n 'Eleventh',\n 'Twelfth'\n ];\n\n if (num <= suf.length) {\n return i18n.t(\n `sportsbook.${\n (periodName ? periodName.toLowerCase() : '') + suf[num - 1]\n }`\n );\n } else {\n return `${num}${i18n.t(\n `sportsbook.${periodName ? periodName.toLowerCase() : ''}DefaultSuffix`\n )}`;\n }\n}\n\nexport function getGameStatus(\n current_game_state: string,\n current_game_time: string,\n isLive: boolean,\n start_ts: number,\n sport_alias?: string,\n shoot_off_set = 0\n): string {\n return isLive\n ? getGameCurrentState(\n { current_game_state, current_game_time },\n sport_alias,\n false,\n shoot_off_set\n )\n : start_ts\n ? dayjs(start_ts * MILLISECONDS_IN_SECOND).format(\n dateFormat({\n date: SpringConfigs.DT.shortDate,\n time: SpringConfigs.DT.time\n })\n )\n : '--';\n}\n\nexport function checkGameState(item: string): boolean {\n switch (item) {\n case 'Half Time':\n return true;\n case 'timeout':\n return true;\n case 'notstarted':\n return true;\n case 'finished':\n return true;\n\n default:\n return false;\n }\n}\n\nexport const getEsportCurrentMapName = (\n additionalInfoData: GameInfoAdditionalData,\n sportAlias?: string\n): string => {\n if (!sportAlias || !ESPORTS_ADDITIONAL_DATA[sportAlias]) {\n return '';\n }\n\n const currentMapRule = ESPORTS_ADDITIONAL_DATA[sportAlias] || {};\n\n const map = Object.values(additionalInfoData[currentMapRule.maps] || {}).find(\n map =>\n map[currentMapRule.number] === additionalInfoData[currentMapRule.current]\n );\n\n return map?.[currentMapRule.number]\n ? getMapName(map?.[currentMapRule.number], map?.[currentMapRule.name], true)\n : '';\n};\n\nexport function ordinalDefault(number: number): string {\n return number === Leaderboards.Place1st\n ? `${number}${i18n.t('sportsbook.st')}`\n : number === Leaderboards.Place2nd\n ? `${number}${i18n.t('sportsbook.nd')}`\n : number == Leaderboards.Place3rd\n ? `${number}${i18n.t('sportsbook.rd')}`\n : `${number}${i18n.t('sportsbook.th')}`;\n}\n\nexport function getMapName(\n mapNumber: number,\n mapName?: string,\n withoutNumber?: boolean\n) {\n return mapName\n ? withoutNumber\n ? mapName\n : `${mapNumber}. ${mapName}`\n : `${ordinal(mapNumber)} ${i18n.t('sportsbook.Map')}`;\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DefaultTabBar = undefined;\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _extends2 = require('babel-runtime/helpers/extends');\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = require('react');\n\nvar React = _interopRequireWildcard(_react);\n\nvar _rmcTabs = require('rmc-tabs');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar DefaultTabBar = exports.DefaultTabBar = function (_RMCDefaultTabBar) {\n (0, _inherits3['default'])(DefaultTabBar, _RMCDefaultTabBar);\n\n function DefaultTabBar() {\n (0, _classCallCheck3['default'])(this, DefaultTabBar);\n return (0, _possibleConstructorReturn3['default'])(this, (DefaultTabBar.__proto__ || Object.getPrototypeOf(DefaultTabBar)).apply(this, arguments));\n }\n\n return DefaultTabBar;\n}(_rmcTabs.DefaultTabBar);\n\nDefaultTabBar.defaultProps = (0, _extends3['default'])({}, _rmcTabs.DefaultTabBar.defaultProps, { prefixCls: 'am-tabs-default-bar' });\n\nvar Tabs = function (_React$PureComponent) {\n (0, _inherits3['default'])(Tabs, _React$PureComponent);\n\n function Tabs() {\n (0, _classCallCheck3['default'])(this, Tabs);\n\n var _this2 = (0, _possibleConstructorReturn3['default'])(this, (Tabs.__proto__ || Object.getPrototypeOf(Tabs)).apply(this, arguments));\n\n _this2.renderTabBar = function (props) {\n var renderTab = _this2.props.renderTab;\n\n return React.createElement(DefaultTabBar, (0, _extends3['default'])({}, props, { renderTab: renderTab }));\n };\n return _this2;\n }\n\n (0, _createClass3['default'])(Tabs, [{\n key: 'render',\n value: function render() {\n return React.createElement(_rmcTabs.Tabs, (0, _extends3['default'])({ renderTabBar: this.renderTabBar }, this.props));\n }\n }]);\n return Tabs;\n}(React.PureComponent);\n\nexports['default'] = Tabs;\n\nTabs.DefaultTabBar = DefaultTabBar;\nTabs.defaultProps = {\n prefixCls: 'am-tabs'\n};","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/get-own-property-descriptor\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();","\"use strict\";\n\nexports.__esModule = true;\n\nvar _assign = require(\"../core-js/object/assign\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _getPrototypeOf = require(\"../core-js/object/get-prototype-of\");\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _getOwnPropertyDescriptor = require(\"../core-js/object/get-own-property-descriptor\");\n\nvar _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = (0, _getOwnPropertyDescriptor2.default)(object, property);\n\n if (desc === undefined) {\n var parent = (0, _getPrototypeOf2.default)(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","require('../../modules/es6.object.get-own-property-descriptor');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function getOwnPropertyDescriptor(it, key) {\n return $Object.getOwnPropertyDescriptor(it, key);\n};\n","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","module.exports = function () { /* empty */ };\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = {};\n","module.exports = true;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","exports.f = {}.propertyIsEnumerable;\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = require('./_hide');\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","exports.f = require('./_wks');\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n","/* tslint:disable:no-bitwise */\n// http://hammerjs.github.io/api/#directions\nexport var DIRECTION_NONE = 1; // 00001\nexport var DIRECTION_LEFT = 2; // 00010\nexport var DIRECTION_RIGHT = 4; // 00100\nexport var DIRECTION_UP = 8; // 01000\nexport var DIRECTION_DOWN = 16; // 10000\nexport var DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT; // 00110 6\nexport var DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN; // 11000 24\nexport var DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL; // 11110 30\n// http://hammerjs.github.io/recognizer-press/\nexport var PRESS = {\n time: 251\n};\n// http://hammerjs.github.io/recognizer-swipe/\nexport var SWIPE = {\n threshold: 10,\n velocity: 0.3\n};","/* tslint:disable:no-bitwise */\nimport { SWIPE, DIRECTION_NONE, DIRECTION_LEFT, DIRECTION_RIGHT, DIRECTION_UP, DIRECTION_DOWN } from './config';\nfunction _calcTriangleDistance(x, y) {\n return Math.sqrt(x * x + y * y);\n}\nfunction _calcAngle(x, y) {\n var radian = Math.atan2(y, x);\n return 180 / (Math.PI / radian);\n}\nexport function now() {\n return Date.now();\n}\nexport function calcMutliFingerStatus(touches) {\n if (touches.length < 2) {\n return;\n }\n var _touches$ = touches[0],\n x1 = _touches$.x,\n y1 = _touches$.y;\n var _touches$2 = touches[1],\n x2 = _touches$2.x,\n y2 = _touches$2.y;\n\n var deltaX = x2 - x1;\n var deltaY = y2 - y1;\n return {\n x: deltaX,\n y: deltaY,\n z: _calcTriangleDistance(deltaX, deltaY),\n angle: _calcAngle(deltaX, deltaY)\n };\n}\nexport function calcMoveStatus(startTouches, touches, time) {\n var _startTouches$ = startTouches[0],\n x1 = _startTouches$.x,\n y1 = _startTouches$.y;\n var _touches$3 = touches[0],\n x2 = _touches$3.x,\n y2 = _touches$3.y;\n\n var deltaX = x2 - x1;\n var deltaY = y2 - y1;\n var deltaZ = _calcTriangleDistance(deltaX, deltaY);\n return {\n x: deltaX,\n y: deltaY,\n z: deltaZ,\n time: time,\n velocity: deltaZ / time,\n angle: _calcAngle(deltaX, deltaY)\n };\n}\nexport function calcRotation(startMutliFingerStatus, mutliFingerStatus) {\n var startAngle = startMutliFingerStatus.angle;\n var angle = mutliFingerStatus.angle;\n\n return angle - startAngle;\n}\nexport function getEventName(prefix, status) {\n return prefix + status[0].toUpperCase() + status.slice(1);\n}\nexport function shouldTriggerSwipe(delta, velocity) {\n return Math.abs(delta) >= SWIPE.threshold && Math.abs(velocity) > SWIPE.velocity;\n}\nexport function shouldTriggerDirection(direction, directionSetting) {\n if (directionSetting & direction) {\n return true;\n }\n return false;\n}\n/**\n * @private\n * get the direction between two points\n * Note: will change next version\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nexport function getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n if (Math.abs(x) >= Math.abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n/**\n * @private\n * get the direction between tow points when touch moving\n * Note: will change next version\n * @param {Object} point1 coordinate point, include x & y attributes\n * @param {Object} point2 coordinate point, include x & y attributes\n * @return {Number} direction\n */\nexport function getMovingDirection(point1, point2) {\n var x1 = point1.x,\n y1 = point1.y;\n var x2 = point2.x,\n y2 = point2.y;\n\n var deltaX = x2 - x1;\n var deltaY = y2 - y1;\n if (deltaX === 0 && deltaY === 0) {\n return DIRECTION_NONE;\n }\n if (Math.abs(deltaX) >= Math.abs(deltaY)) {\n return deltaX < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return deltaY < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\nexport function getDirectionEventName(direction) {\n var name = void 0;\n switch (direction) {\n case DIRECTION_NONE:\n break;\n case DIRECTION_LEFT:\n name = 'left';\n break;\n case DIRECTION_RIGHT:\n name = 'right';\n break;\n case DIRECTION_UP:\n name = 'up';\n break;\n case DIRECTION_DOWN:\n name = 'down';\n break;\n default:\n }\n return name;\n}","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\n/* tslint:disable:no-console */\nimport React, { Component } from 'react';\nimport { calcRotation, getEventName, now, calcMutliFingerStatus, calcMoveStatus, shouldTriggerSwipe, shouldTriggerDirection, getMovingDirection, getDirectionEventName } from './util';\nimport { PRESS, DIRECTION_ALL, DIRECTION_VERTICAL, DIRECTION_HORIZONTAL } from './config';\n;\n;\nvar directionMap = {\n all: DIRECTION_ALL,\n vertical: DIRECTION_VERTICAL,\n horizontal: DIRECTION_HORIZONTAL\n};\n\nvar Gesture = function (_Component) {\n _inherits(Gesture, _Component);\n\n function Gesture(props) {\n _classCallCheck(this, Gesture);\n\n var _this = _possibleConstructorReturn(this, (Gesture.__proto__ || Object.getPrototypeOf(Gesture)).call(this, props));\n\n _this.state = {};\n _this.triggerEvent = function (name) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var cb = _this.props[name];\n if (typeof cb === 'function') {\n // always give user gesture object as first params first\n cb.apply(undefined, [_this.getGestureState()].concat(args));\n }\n };\n _this.triggerCombineEvent = function (mainEventName, eventStatus) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n _this.triggerEvent.apply(_this, [mainEventName].concat(args));\n _this.triggerSubEvent.apply(_this, [mainEventName, eventStatus].concat(args));\n };\n _this.triggerSubEvent = function (mainEventName, eventStatus) {\n for (var _len3 = arguments.length, args = Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n args[_key3 - 2] = arguments[_key3];\n }\n\n if (eventStatus) {\n var subEventName = getEventName(mainEventName, eventStatus);\n _this.triggerEvent.apply(_this, [subEventName].concat(args));\n }\n };\n _this.triggerPinchEvent = function (mainEventName, eventStatus) {\n for (var _len4 = arguments.length, args = Array(_len4 > 2 ? _len4 - 2 : 0), _key4 = 2; _key4 < _len4; _key4++) {\n args[_key4 - 2] = arguments[_key4];\n }\n\n var scale = _this.gesture.scale;\n\n if (eventStatus === 'move' && typeof scale === 'number') {\n if (scale > 1) {\n _this.triggerEvent('onPinchOut');\n }\n if (scale < 1) {\n _this.triggerEvent('onPinchIn');\n }\n }\n _this.triggerCombineEvent.apply(_this, [mainEventName, eventStatus].concat(args));\n };\n _this.initPressTimer = function () {\n _this.cleanPressTimer();\n _this.pressTimer = setTimeout(function () {\n _this.setGestureState({\n press: true\n });\n _this.triggerEvent('onPress');\n }, PRESS.time);\n };\n _this.cleanPressTimer = function () {\n /* tslint:disable:no-unused-expression */\n _this.pressTimer && clearTimeout(_this.pressTimer);\n };\n _this.setGestureState = function (params) {\n if (!_this.gesture) {\n _this.gesture = {};\n }\n // cache the previous touches\n if (_this.gesture.touches) {\n _this.gesture.preTouches = _this.gesture.touches;\n }\n _this.gesture = _extends({}, _this.gesture, params);\n };\n _this.getGestureState = function () {\n if (!_this.gesture) {\n return _this.gesture;\n } else {\n // shallow copy\n return _extends({}, _this.gesture);\n }\n };\n _this.cleanGestureState = function () {\n delete _this.gesture;\n };\n _this.getTouches = function (e) {\n return Array.prototype.slice.call(e.touches).map(function (item) {\n return {\n x: item.screenX,\n y: item.screenY\n };\n });\n };\n _this.triggerUserCb = function (status, e) {\n var cbName = getEventName('onTouch', status);\n if (cbName in _this.props) {\n _this.props[cbName](e);\n }\n };\n _this._handleTouchStart = function (e) {\n _this.triggerUserCb('start', e);\n _this.event = e;\n if (e.touches.length > 1) {\n e.preventDefault();\n }\n _this.initGestureStatus(e);\n _this.initPressTimer();\n _this.checkIfMultiTouchStart();\n };\n _this.initGestureStatus = function (e) {\n _this.cleanGestureState();\n // store the gesture start state\n var startTouches = _this.getTouches(e);\n var startTime = now();\n var startMutliFingerStatus = calcMutliFingerStatus(startTouches);\n _this.setGestureState({\n startTime: startTime,\n startTouches: startTouches,\n startMutliFingerStatus: startMutliFingerStatus,\n /* copy for next time touch move cala convenient*/\n time: startTime,\n touches: startTouches,\n mutliFingerStatus: startMutliFingerStatus,\n srcEvent: _this.event\n });\n };\n _this.checkIfMultiTouchStart = function () {\n var _this$props = _this.props,\n enablePinch = _this$props.enablePinch,\n enableRotate = _this$props.enableRotate;\n var touches = _this.gesture.touches;\n\n if (touches.length > 1 && (enablePinch || enableRotate)) {\n if (enablePinch) {\n var startMutliFingerStatus = calcMutliFingerStatus(touches);\n _this.setGestureState({\n startMutliFingerStatus: startMutliFingerStatus,\n /* init pinch status */\n pinch: true,\n scale: 1\n });\n _this.triggerCombineEvent('onPinch', 'start');\n }\n if (enableRotate) {\n _this.setGestureState({\n /* init rotate status */\n rotate: true,\n rotation: 0\n });\n _this.triggerCombineEvent('onRotate', 'start');\n }\n }\n };\n _this._handleTouchMove = function (e) {\n _this.triggerUserCb('move', e);\n _this.event = e;\n if (!_this.gesture) {\n // sometimes weird happen: touchstart -> touchmove..touchmove.. --> touchend --> touchmove --> touchend\n // so we need to skip the unnormal event cycle after touchend\n return;\n }\n // not a long press\n _this.cleanPressTimer();\n _this.updateGestureStatus(e);\n _this.checkIfSingleTouchMove();\n _this.checkIfMultiTouchMove();\n };\n _this.checkIfMultiTouchMove = function () {\n var _this$gesture = _this.gesture,\n pinch = _this$gesture.pinch,\n rotate = _this$gesture.rotate,\n touches = _this$gesture.touches,\n startMutliFingerStatus = _this$gesture.startMutliFingerStatus,\n mutliFingerStatus = _this$gesture.mutliFingerStatus;\n\n if (!pinch && !rotate) {\n return;\n }\n if (touches.length < 2) {\n _this.setGestureState({\n pinch: false,\n rotate: false\n });\n // Todo: 2 finger -> 1 finger, wait to test this situation\n pinch && _this.triggerCombineEvent('onPinch', 'cancel');\n rotate && _this.triggerCombineEvent('onRotate', 'cancel');\n return;\n }\n if (pinch) {\n var scale = mutliFingerStatus.z / startMutliFingerStatus.z;\n _this.setGestureState({\n scale: scale\n });\n _this.triggerPinchEvent('onPinch', 'move');\n }\n if (rotate) {\n var rotation = calcRotation(startMutliFingerStatus, mutliFingerStatus);\n _this.setGestureState({\n rotation: rotation\n });\n _this.triggerCombineEvent('onRotate', 'move');\n }\n };\n _this.allowGesture = function () {\n return shouldTriggerDirection(_this.gesture.direction, _this.directionSetting);\n };\n _this.checkIfSingleTouchMove = function () {\n var _this$gesture2 = _this.gesture,\n pan = _this$gesture2.pan,\n touches = _this$gesture2.touches,\n moveStatus = _this$gesture2.moveStatus,\n preTouches = _this$gesture2.preTouches,\n _this$gesture2$availa = _this$gesture2.availablePan,\n availablePan = _this$gesture2$availa === undefined ? true : _this$gesture2$availa;\n\n if (touches.length > 1) {\n _this.setGestureState({\n pan: false\n });\n // Todo: 1 finger -> 2 finger, wait to test this situation\n pan && _this.triggerCombineEvent('onPan', 'cancel');\n return;\n }\n // add avilablePan condition to fix the case in scrolling, which will cause unavailable pan move.\n if (moveStatus && availablePan) {\n var direction = getMovingDirection(preTouches[0], touches[0]);\n _this.setGestureState({ direction: direction });\n var eventName = getDirectionEventName(direction);\n if (!_this.allowGesture()) {\n // if the first move is unavailable, then judge all of remaining touch movings are also invalid.\n if (!pan) {\n _this.setGestureState({ availablePan: false });\n }\n return;\n }\n if (!pan) {\n _this.triggerCombineEvent('onPan', 'start');\n _this.setGestureState({\n pan: true,\n availablePan: true\n });\n } else {\n _this.triggerCombineEvent('onPan', eventName);\n _this.triggerSubEvent('onPan', 'move');\n }\n }\n };\n _this.checkIfMultiTouchEnd = function (status) {\n var _this$gesture3 = _this.gesture,\n pinch = _this$gesture3.pinch,\n rotate = _this$gesture3.rotate;\n\n if (pinch) {\n _this.triggerCombineEvent('onPinch', status);\n }\n if (rotate) {\n _this.triggerCombineEvent('onRotate', status);\n }\n };\n _this.updateGestureStatus = function (e) {\n var time = now();\n _this.setGestureState({\n time: time\n });\n if (!e.touches || !e.touches.length) {\n return;\n }\n var _this$gesture4 = _this.gesture,\n startTime = _this$gesture4.startTime,\n startTouches = _this$gesture4.startTouches,\n pinch = _this$gesture4.pinch,\n rotate = _this$gesture4.rotate;\n\n var touches = _this.getTouches(e);\n var moveStatus = calcMoveStatus(startTouches, touches, time - startTime);\n var mutliFingerStatus = void 0;\n if (pinch || rotate) {\n mutliFingerStatus = calcMutliFingerStatus(touches);\n }\n _this.setGestureState({\n /* update status snapshot */\n touches: touches,\n mutliFingerStatus: mutliFingerStatus,\n /* update duration status */\n moveStatus: moveStatus\n });\n };\n _this._handleTouchEnd = function (e) {\n _this.triggerUserCb('end', e);\n _this.event = e;\n if (!_this.gesture) {\n return;\n }\n _this.cleanPressTimer();\n _this.updateGestureStatus(e);\n _this.doSingleTouchEnd('end');\n _this.checkIfMultiTouchEnd('end');\n };\n _this._handleTouchCancel = function (e) {\n _this.triggerUserCb('cancel', e);\n _this.event = e;\n // Todo: wait to test cancel case\n if (!_this.gesture) {\n return;\n }\n _this.cleanPressTimer();\n _this.updateGestureStatus(e);\n _this.doSingleTouchEnd('cancel');\n _this.checkIfMultiTouchEnd('cancel');\n };\n _this.triggerAllowEvent = function (type, status) {\n if (_this.allowGesture()) {\n _this.triggerCombineEvent(type, status);\n } else {\n _this.triggerSubEvent(type, status);\n }\n };\n _this.doSingleTouchEnd = function (status) {\n var _this$gesture5 = _this.gesture,\n moveStatus = _this$gesture5.moveStatus,\n pinch = _this$gesture5.pinch,\n rotate = _this$gesture5.rotate,\n press = _this$gesture5.press,\n pan = _this$gesture5.pan,\n direction = _this$gesture5.direction;\n\n if (pinch || rotate) {\n return;\n }\n if (moveStatus) {\n var z = moveStatus.z,\n velocity = moveStatus.velocity;\n\n var swipe = shouldTriggerSwipe(z, velocity);\n _this.setGestureState({\n swipe: swipe\n });\n if (pan) {\n // pan need end, it's a process\n // sometimes, start with pan left, but end with pan right....\n _this.triggerAllowEvent('onPan', status);\n }\n if (swipe) {\n var directionEvName = getDirectionEventName(direction);\n // swipe just need a direction, it's a endpoint\n _this.triggerAllowEvent('onSwipe', directionEvName);\n return;\n }\n }\n if (press) {\n _this.triggerEvent('onPressUp');\n return;\n }\n _this.triggerEvent('onTap');\n };\n _this.getTouchAction = function () {\n var _this$props2 = _this.props,\n enablePinch = _this$props2.enablePinch,\n enableRotate = _this$props2.enableRotate;\n var directionSetting = _this.directionSetting;\n\n if (enablePinch || enableRotate || directionSetting === DIRECTION_ALL) {\n return 'pan-x pan-y';\n }\n if (directionSetting === DIRECTION_VERTICAL) {\n return 'pan-x';\n }\n if (directionSetting === DIRECTION_HORIZONTAL) {\n return 'pan-y';\n }\n return 'auto';\n };\n _this.directionSetting = directionMap[props.direction];\n return _this;\n }\n\n _createClass(Gesture, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.cleanPressTimer();\n }\n }, {\n key: 'render',\n value: function render() {\n var children = this.props.children;\n\n var child = React.Children.only(children);\n var touchAction = this.getTouchAction();\n var events = {\n onTouchStart: this._handleTouchStart,\n onTouchMove: this._handleTouchMove,\n onTouchCancel: this._handleTouchCancel,\n onTouchEnd: this._handleTouchEnd\n };\n return React.cloneElement(child, _extends({}, events, { style: _extends({ touchAction: touchAction }, child.props.style || {}) }));\n }\n }]);\n\n return Gesture;\n}(Component);\n\nexport default Gesture;\n\nGesture.defaultProps = {\n enableRotate: false,\n enablePinch: false,\n direction: 'all'\n};","export function getTransformPropValue(v) {\n return {\n transform: v,\n WebkitTransform: v,\n MozTransform: v\n };\n}\nexport function getPxStyle(value) {\n var unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px';\n var vertical = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n value = vertical ? '0px, ' + value + unit + ', 0px' : '' + value + unit + ', 0px, 0px';\n return 'translate3d(' + value + ')';\n}\nexport function setPxStyle(el, value) {\n var unit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'px';\n var vertical = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var useLeft = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n if (useLeft) {\n if (vertical) {\n el.style.top = '' + value + unit;\n } else {\n el.style.left = '' + value + unit;\n }\n } else {\n setTransform(el.style, getPxStyle(value, unit, vertical));\n }\n}\nexport function setTransform(style, v) {\n style.transform = v;\n style.webkitTransform = v;\n style.mozTransform = v;\n}","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];\n }return t;\n};\nimport React from 'react';\nimport { getPxStyle, getTransformPropValue } from './util';\nexport var TabPane = function (_React$PureComponent) {\n _inherits(TabPane, _React$PureComponent);\n\n function TabPane() {\n _classCallCheck(this, TabPane);\n\n var _this = _possibleConstructorReturn(this, (TabPane.__proto__ || Object.getPrototypeOf(TabPane)).apply(this, arguments));\n\n _this.offsetX = 0;\n _this.offsetY = 0;\n _this.setLayout = function (div) {\n _this.layout = div;\n };\n return _this;\n }\n\n _createClass(TabPane, [{\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if (this.props.active !== nextProps.active) {\n if (nextProps.active) {\n this.offsetX = 0;\n this.offsetY = 0;\n } else {\n this.offsetX = this.layout.scrollLeft;\n this.offsetY = this.layout.scrollTop;\n }\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _a = this.props,\n active = _a.active,\n fixX = _a.fixX,\n fixY = _a.fixY,\n props = __rest(_a, [\"active\", \"fixX\", \"fixY\"]);\n var style = _extends({}, fixX && this.offsetX ? getTransformPropValue(getPxStyle(-this.offsetX, 'px', false)) : {}, fixY && this.offsetY ? getTransformPropValue(getPxStyle(-this.offsetY, 'px', true)) : {});\n return React.createElement(\n 'div',\n _extends({}, props, { style: style, ref: this.setLayout }),\n props.children\n );\n }\n }]);\n\n return TabPane;\n}(React.PureComponent);\nTabPane.defaultProps = {\n fixX: true,\n fixY: true\n};","import _extends from 'babel-runtime/helpers/extends';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];\n }return t;\n};\nimport React from 'react';\nimport Gesture from 'rc-gesture';\nimport { setPxStyle, getTransformPropValue, getPxStyle } from './util';\nexport var StateType = function StateType() {\n _classCallCheck(this, StateType);\n\n this.transform = '';\n this.isMoving = false;\n this.showPrev = false;\n this.showNext = false;\n};\nexport var DefaultTabBar = function (_React$PureComponent) {\n _inherits(DefaultTabBar, _React$PureComponent);\n\n function DefaultTabBar(props) {\n _classCallCheck(this, DefaultTabBar);\n\n var _this = _possibleConstructorReturn(this, (DefaultTabBar.__proto__ || Object.getPrototypeOf(DefaultTabBar)).call(this, props));\n\n _this.onPan = function () {\n var lastOffset = 0;\n var finalOffset = 0;\n var getLastOffset = function getLastOffset() {\n var isVertical = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.isTabBarVertical();\n\n var offset = +('' + lastOffset).replace('%', '');\n if (('' + lastOffset).indexOf('%') >= 0) {\n offset /= 100;\n offset *= isVertical ? _this.layout.clientHeight : _this.layout.clientWidth;\n }\n return offset;\n };\n return {\n onPanStart: function onPanStart() {\n _this.setState({ isMoving: true });\n },\n onPanMove: function onPanMove(status) {\n if (!status.moveStatus || !_this.layout) return;\n var isVertical = _this.isTabBarVertical();\n var offset = getLastOffset() + (isVertical ? status.moveStatus.y : status.moveStatus.x);\n var canScrollOffset = isVertical ? -_this.layout.scrollHeight + _this.layout.clientHeight : -_this.layout.scrollWidth + _this.layout.clientWidth;\n offset = Math.min(offset, 0);\n offset = Math.max(offset, canScrollOffset);\n setPxStyle(_this.layout, offset, 'px', isVertical);\n finalOffset = offset;\n _this.setState({\n showPrev: -offset > 0,\n showNext: offset > canScrollOffset\n });\n },\n onPanEnd: function onPanEnd() {\n var isVertical = _this.isTabBarVertical();\n lastOffset = finalOffset;\n _this.setState({\n isMoving: false,\n transform: getPxStyle(finalOffset, 'px', isVertical)\n });\n },\n setCurrentOffset: function setCurrentOffset(offset) {\n return lastOffset = offset;\n }\n };\n }();\n _this.getTransformByIndex = function (props) {\n var activeTab = props.activeTab,\n tabs = props.tabs,\n _props$page = props.page,\n page = _props$page === undefined ? 0 : _props$page;\n\n var isVertical = _this.isTabBarVertical();\n var size = _this.getTabSize(page, tabs.length);\n var center = page / 2;\n var pos = Math.min(activeTab, tabs.length - center - .5);\n var skipSize = Math.min(-(pos - center + .5) * size, 0);\n _this.onPan.setCurrentOffset(skipSize + '%');\n return {\n transform: getPxStyle(skipSize, '%', isVertical),\n showPrev: activeTab > center - .5 && tabs.length > page,\n showNext: activeTab < tabs.length - center - .5 && tabs.length > page\n };\n };\n _this.onPress = function (index) {\n var _this$props = _this.props,\n goToTab = _this$props.goToTab,\n onTabClick = _this$props.onTabClick,\n tabs = _this$props.tabs;\n\n onTabClick && onTabClick(tabs[index], index);\n goToTab && goToTab(index);\n };\n _this.isTabBarVertical = function () {\n var position = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props.tabBarPosition;\n return position === 'left' || position === 'right';\n };\n _this.renderTab = function (t, i, size, isTabBarVertical) {\n var _this$props2 = _this.props,\n prefixCls = _this$props2.prefixCls,\n renderTab = _this$props2.renderTab,\n activeTab = _this$props2.activeTab,\n tabBarTextStyle = _this$props2.tabBarTextStyle,\n tabBarActiveTextColor = _this$props2.tabBarActiveTextColor,\n tabBarInactiveTextColor = _this$props2.tabBarInactiveTextColor,\n instanceId = _this$props2.instanceId;\n\n var textStyle = _extends({}, tabBarTextStyle);\n var cls = prefixCls + '-tab';\n var ariaSelected = false;\n if (activeTab === i) {\n cls += ' ' + cls + '-active';\n ariaSelected = true;\n if (tabBarActiveTextColor) {\n textStyle.color = tabBarActiveTextColor;\n }\n } else if (tabBarInactiveTextColor) {\n textStyle.color = tabBarInactiveTextColor;\n }\n return React.createElement(\n 'div',\n { key: 't_' + i, style: _extends({}, textStyle, isTabBarVertical ? { height: size + '%' } : { width: size + '%' }), id: 'm-tabs-' + instanceId + '-' + i, role: 'tab', 'aria-selected': ariaSelected, className: cls, onClick: function onClick() {\n return _this.onPress(i);\n } },\n renderTab ? renderTab(t) : t.title\n );\n };\n _this.setContentLayout = function (div) {\n _this.layout = div;\n };\n _this.getTabSize = function (page, tabLength) {\n return 100 / Math.min(page, tabLength);\n };\n _this.state = _extends({}, new StateType(), _this.getTransformByIndex(props));\n return _this;\n }\n\n _createClass(DefaultTabBar, [{\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if (this.props.activeTab !== nextProps.activeTab || this.props.tabs !== nextProps.tabs || this.props.tabs.length !== nextProps.tabs.length) {\n this.setState(_extends({}, this.getTransformByIndex(nextProps)));\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n prefixCls = _props.prefixCls,\n animated = _props.animated,\n _props$tabs = _props.tabs,\n tabs = _props$tabs === undefined ? [] : _props$tabs,\n _props$page2 = _props.page,\n page = _props$page2 === undefined ? 0 : _props$page2,\n _props$activeTab = _props.activeTab,\n activeTab = _props$activeTab === undefined ? 0 : _props$activeTab,\n tabBarBackgroundColor = _props.tabBarBackgroundColor,\n tabBarUnderlineStyle = _props.tabBarUnderlineStyle,\n tabBarPosition = _props.tabBarPosition,\n renderUnderline = _props.renderUnderline;\n var _state = this.state,\n isMoving = _state.isMoving,\n transform = _state.transform,\n showNext = _state.showNext,\n showPrev = _state.showPrev;\n\n var isTabBarVertical = this.isTabBarVertical();\n var needScroll = tabs.length > page;\n var size = this.getTabSize(page, tabs.length);\n var Tabs = tabs.map(function (t, i) {\n return _this2.renderTab(t, i, size, isTabBarVertical);\n });\n var cls = prefixCls;\n if (animated && !isMoving) {\n cls += ' ' + prefixCls + '-animated';\n }\n var style = {\n backgroundColor: tabBarBackgroundColor || ''\n };\n var transformStyle = needScroll ? _extends({}, getTransformPropValue(transform)) : {};\n var _a = this.onPan,\n setCurrentOffset = _a.setCurrentOffset,\n onPan = __rest(_a, [\"setCurrentOffset\"]);\n var underlineProps = {\n style: _extends({}, isTabBarVertical ? { height: size + '%' } : { width: size + '%' }, isTabBarVertical ? { top: size * activeTab + '%' } : { left: size * activeTab + '%' }, tabBarUnderlineStyle),\n className: prefixCls + '-underline'\n };\n return React.createElement(\n 'div',\n { className: cls + ' ' + prefixCls + '-' + tabBarPosition, style: style },\n showPrev && React.createElement('div', { className: prefixCls + '-prevpage' }),\n React.createElement(\n Gesture,\n _extends({}, onPan, { direction: isTabBarVertical ? 'vertical' : 'horizontal' }),\n React.createElement(\n 'div',\n { role: 'tablist', className: prefixCls + '-content', style: transformStyle, ref: this.setContentLayout },\n Tabs,\n renderUnderline ? renderUnderline(underlineProps) : React.createElement('div', underlineProps)\n )\n ),\n showNext && React.createElement('div', { className: prefixCls + '-nextpage' })\n );\n }\n }]);\n\n return DefaultTabBar;\n}(React.PureComponent);\nDefaultTabBar.defaultProps = {\n prefixCls: 'rmc-tabs-tab-bar',\n animated: true,\n tabs: [],\n goToTab: function goToTab() {},\n activeTab: 0,\n page: 5,\n tabBarUnderlineStyle: {},\n tabBarBackgroundColor: '#fff',\n tabBarActiveTextColor: '',\n tabBarInactiveTextColor: '',\n tabBarTextStyle: {}\n};","import _extends from 'babel-runtime/helpers/extends';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport React from 'react';\nexport var StateType = function StateType() {\n _classCallCheck(this, StateType);\n};\nvar instanceId = 0;\nexport var Tabs = function (_React$PureComponent) {\n _inherits(Tabs, _React$PureComponent);\n\n function Tabs(props) {\n _classCallCheck(this, Tabs);\n\n var _this = _possibleConstructorReturn(this, (Tabs.__proto__ || Object.getPrototypeOf(Tabs)).call(this, props));\n\n _this.tabCache = {};\n _this.isTabVertical = function () {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props.tabDirection;\n return direction === 'vertical';\n };\n _this.shouldRenderTab = function (idx) {\n var _this$props$prerender = _this.props.prerenderingSiblingsNumber,\n prerenderingSiblingsNumber = _this$props$prerender === undefined ? 0 : _this$props$prerender;\n var _this$state$currentTa = _this.state.currentTab,\n currentTab = _this$state$currentTa === undefined ? 0 : _this$state$currentTa;\n\n return currentTab - prerenderingSiblingsNumber <= idx && idx <= currentTab + prerenderingSiblingsNumber;\n };\n _this.getOffsetIndex = function (current, width) {\n var threshold = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _this.props.distanceToChangeTab || 0;\n\n var ratio = Math.abs(current / width);\n var direction = ratio > _this.state.currentTab ? '<' : '>';\n var index = Math.floor(ratio);\n switch (direction) {\n case '<':\n return ratio - index > threshold ? index + 1 : index;\n case '>':\n return 1 - ratio + index > threshold ? index : index + 1;\n default:\n return Math.round(ratio);\n }\n };\n _this.getSubElements = function () {\n var children = _this.props.children;\n\n var subElements = {};\n return function () {\n var defaultPrefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '$i$-';\n var allPrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '$ALL$';\n\n if (Array.isArray(children)) {\n children.forEach(function (child, index) {\n if (child.key) {\n subElements[child.key] = child;\n }\n subElements['' + defaultPrefix + index] = child;\n });\n } else if (children) {\n subElements[allPrefix] = children;\n }\n return subElements;\n };\n };\n _this.state = {\n currentTab: _this.getTabIndex(props)\n };\n _this.nextCurrentTab = _this.state.currentTab;\n _this.instanceId = instanceId++;\n return _this;\n }\n\n _createClass(Tabs, [{\n key: 'getTabIndex',\n value: function getTabIndex(props) {\n var page = props.page,\n initialPage = props.initialPage,\n tabs = props.tabs;\n\n var param = (page !== undefined ? page : initialPage) || 0;\n var index = 0;\n if (typeof param === 'string') {\n tabs.forEach(function (t, i) {\n if (t.key === param) {\n index = i;\n }\n });\n } else {\n index = param || 0;\n }\n return index < 0 ? 0 : index;\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if (this.props.page !== nextProps.page && nextProps.page !== undefined) {\n this.goToTab(this.getTabIndex(nextProps), true, {}, nextProps);\n }\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.prevCurrentTab = this.state.currentTab;\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n this.prevCurrentTab = this.state.currentTab;\n }\n }, {\n key: 'goToTab',\n value: function goToTab(index) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var newState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var props = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.props;\n\n if (!force && this.nextCurrentTab === index) {\n return false;\n }\n this.nextCurrentTab = index;\n var tabs = props.tabs,\n onChange = props.onChange;\n\n if (index >= 0 && index < tabs.length) {\n if (!force) {\n onChange && onChange(tabs[index], index);\n if (props.page !== undefined) {\n return false;\n }\n }\n this.setState(_extends({ currentTab: index }, newState));\n }\n return true;\n }\n }, {\n key: 'tabClickGoToTab',\n value: function tabClickGoToTab(index) {\n this.goToTab(index);\n }\n }, {\n key: 'getTabBarBaseProps',\n value: function getTabBarBaseProps() {\n var currentTab = this.state.currentTab;\n var _props = this.props,\n animated = _props.animated,\n onTabClick = _props.onTabClick,\n tabBarActiveTextColor = _props.tabBarActiveTextColor,\n tabBarBackgroundColor = _props.tabBarBackgroundColor,\n tabBarInactiveTextColor = _props.tabBarInactiveTextColor,\n tabBarPosition = _props.tabBarPosition,\n tabBarTextStyle = _props.tabBarTextStyle,\n tabBarUnderlineStyle = _props.tabBarUnderlineStyle,\n tabs = _props.tabs;\n\n return {\n activeTab: currentTab,\n animated: !!animated,\n goToTab: this.tabClickGoToTab.bind(this),\n onTabClick: onTabClick,\n tabBarActiveTextColor: tabBarActiveTextColor,\n tabBarBackgroundColor: tabBarBackgroundColor,\n tabBarInactiveTextColor: tabBarInactiveTextColor,\n tabBarPosition: tabBarPosition,\n tabBarTextStyle: tabBarTextStyle,\n tabBarUnderlineStyle: tabBarUnderlineStyle,\n tabs: tabs,\n instanceId: this.instanceId\n };\n }\n }, {\n key: 'renderTabBar',\n value: function renderTabBar(tabBarProps, DefaultTabBar) {\n var renderTabBar = this.props.renderTabBar;\n\n if (renderTabBar === false) {\n return null;\n } else if (renderTabBar) {\n // return React.cloneElement(this.props.renderTabBar(props), props);\n return renderTabBar(tabBarProps);\n } else {\n return React.createElement(DefaultTabBar, tabBarProps);\n }\n }\n }, {\n key: 'getSubElement',\n value: function getSubElement(tab, index, subElements) {\n var defaultPrefix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '$i$-';\n var allPrefix = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '$ALL$';\n\n var key = tab.key || '' + defaultPrefix + index;\n var elements = subElements(defaultPrefix, allPrefix);\n var component = elements[key] || elements[allPrefix];\n if (component instanceof Function) {\n component = component(tab, index);\n }\n return component || null;\n }\n }]);\n\n return Tabs;\n}(React.PureComponent);\nTabs.defaultProps = {\n tabBarPosition: 'top',\n initialPage: 0,\n swipeable: true,\n animated: true,\n prerenderingSiblingsNumber: 1,\n tabs: [],\n destroyInactiveTab: false,\n usePaged: true,\n tabDirection: 'horizontal',\n distanceToChangeTab: .3\n};","import _extends from 'babel-runtime/helpers/extends';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _get from 'babel-runtime/helpers/get';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport Gesture from 'rc-gesture';\nimport { TabPane } from './TabPane';\nimport { DefaultTabBar } from './DefaultTabBar';\nimport { getTransformPropValue, setTransform, setPxStyle } from './util';\nimport { Tabs as Component, StateType as BaseStateType } from './Tabs.base';\nvar getPanDirection = function getPanDirection(direction) {\n switch (direction) {\n case 2:\n case 4:\n return 'horizontal';\n case 8:\n case 16:\n return 'vertical';\n default:\n return 'none';\n }\n};\nexport var StateType = function (_BaseStateType) {\n _inherits(StateType, _BaseStateType);\n\n function StateType() {\n _classCallCheck(this, StateType);\n\n var _this = _possibleConstructorReturn(this, (StateType.__proto__ || Object.getPrototypeOf(StateType)).apply(this, arguments));\n\n _this.contentPos = '';\n _this.isMoving = false;\n return _this;\n }\n\n return StateType;\n}(BaseStateType);\nexport var Tabs = function (_Component) {\n _inherits(Tabs, _Component);\n\n function Tabs(props) {\n _classCallCheck(this, Tabs);\n\n var _this2 = _possibleConstructorReturn(this, (Tabs.__proto__ || Object.getPrototypeOf(Tabs)).call(this, props));\n\n _this2.onPan = function () {\n var lastOffset = 0;\n var finalOffset = 0;\n var panDirection = void 0;\n var getLastOffset = function getLastOffset() {\n var isVertical = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this2.isTabVertical();\n\n var offset = +('' + lastOffset).replace('%', '');\n if (('' + lastOffset).indexOf('%') >= 0) {\n offset /= 100;\n offset *= isVertical ? _this2.layout.clientHeight : _this2.layout.clientWidth;\n }\n return offset;\n };\n return {\n onPanStart: function onPanStart(status) {\n if (!_this2.props.swipeable || !_this2.props.animated) return;\n panDirection = getPanDirection(status.direction);\n _this2.setState({\n isMoving: true\n });\n },\n onPanMove: function onPanMove(status) {\n var _this2$props = _this2.props,\n swipeable = _this2$props.swipeable,\n animated = _this2$props.animated,\n useLeftInsteadTransform = _this2$props.useLeftInsteadTransform;\n\n if (!status.moveStatus || !_this2.layout || !swipeable || !animated) return;\n var isVertical = _this2.isTabVertical();\n var offset = getLastOffset();\n if (isVertical) {\n offset += panDirection === 'horizontal' ? 0 : status.moveStatus.y;\n } else {\n offset += panDirection === 'vertical' ? 0 : status.moveStatus.x;\n }\n var canScrollOffset = isVertical ? -_this2.layout.scrollHeight + _this2.layout.clientHeight : -_this2.layout.scrollWidth + _this2.layout.clientWidth;\n offset = Math.min(offset, 0);\n offset = Math.max(offset, canScrollOffset);\n setPxStyle(_this2.layout, offset, 'px', isVertical, useLeftInsteadTransform);\n finalOffset = offset;\n },\n onPanEnd: function onPanEnd() {\n if (!_this2.props.swipeable || !_this2.props.animated) return;\n lastOffset = finalOffset;\n var isVertical = _this2.isTabVertical();\n var offsetIndex = _this2.getOffsetIndex(finalOffset, isVertical ? _this2.layout.clientHeight : _this2.layout.clientWidth);\n _this2.setState({\n isMoving: false\n });\n if (offsetIndex === _this2.state.currentTab) {\n if (_this2.props.usePaged) {\n setTransform(_this2.layout.style, _this2.getContentPosByIndex(offsetIndex, _this2.isTabVertical(), _this2.props.useLeftInsteadTransform));\n }\n } else {\n _this2.goToTab(offsetIndex);\n }\n },\n setCurrentOffset: function setCurrentOffset(offset) {\n return lastOffset = offset;\n }\n };\n }();\n _this2.onSwipe = function (status) {\n var _this2$props2 = _this2.props,\n tabBarPosition = _this2$props2.tabBarPosition,\n swipeable = _this2$props2.swipeable,\n usePaged = _this2$props2.usePaged;\n\n if (!swipeable || !usePaged || _this2.isTabVertical()) return;\n // DIRECTION_NONE\t1\n // DIRECTION_LEFT\t2\n // DIRECTION_RIGHT\t4\n // DIRECTION_UP\t8\n // DIRECTION_DOWN\t16\n // DIRECTION_HORIZONTAL\t6\n // DIRECTION_VERTICAL\t24\n // DIRECTION_ALL\t30\n switch (tabBarPosition) {\n case 'top':\n case 'bottom':\n switch (status.direction) {\n case 2:\n if (!_this2.isTabVertical()) {\n _this2.goToTab(_this2.prevCurrentTab + 1);\n }\n case 8:\n if (_this2.isTabVertical()) {\n _this2.goToTab(_this2.prevCurrentTab + 1);\n }\n break;\n case 4:\n if (!_this2.isTabVertical()) {\n _this2.goToTab(_this2.prevCurrentTab - 1);\n }\n case 16:\n if (_this2.isTabVertical()) {\n _this2.goToTab(_this2.prevCurrentTab - 1);\n }\n break;\n }\n break;\n }\n };\n _this2.setContentLayout = function (div) {\n _this2.layout = div;\n };\n _this2.state = _extends({}, _this2.state, new StateType(), { contentPos: _this2.getContentPosByIndex(_this2.getTabIndex(props), _this2.isTabVertical(props.tabDirection), props.useLeftInsteadTransform) });\n return _this2;\n }\n\n _createClass(Tabs, [{\n key: 'goToTab',\n value: function goToTab(index) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var usePaged = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.props.usePaged;\n var props = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.props;\n var tabDirection = props.tabDirection,\n useLeftInsteadTransform = props.useLeftInsteadTransform;\n\n var newState = {};\n if (usePaged) {\n newState = {\n contentPos: this.getContentPosByIndex(index, this.isTabVertical(tabDirection), useLeftInsteadTransform)\n };\n }\n return _get(Tabs.prototype.__proto__ || Object.getPrototypeOf(Tabs.prototype), 'goToTab', this).call(this, index, force, newState, props);\n }\n }, {\n key: 'tabClickGoToTab',\n value: function tabClickGoToTab(index) {\n this.goToTab(index, false, true);\n }\n }, {\n key: 'getContentPosByIndex',\n value: function getContentPosByIndex(index, isVertical) {\n var useLeft = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var value = -index * 100 + '%';\n this.onPan.setCurrentOffset(value);\n if (useLeft) {\n return '' + value;\n } else {\n var translate = isVertical ? '0px, ' + value : value + ', 0px';\n // fix: content overlay TabBar on iOS 10. ( 0px -> 1px )\n return 'translate3d(' + translate + ', 1px)';\n }\n }\n }, {\n key: 'renderContent',\n value: function renderContent() {\n var _this3 = this;\n\n var getSubElements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSubElements();\n var _props = this.props,\n prefixCls = _props.prefixCls,\n tabs = _props.tabs,\n animated = _props.animated,\n destroyInactiveTab = _props.destroyInactiveTab,\n useLeftInsteadTransform = _props.useLeftInsteadTransform;\n var _state = this.state,\n currentTab = _state.currentTab,\n isMoving = _state.isMoving,\n contentPos = _state.contentPos;\n\n var isTabVertical = this.isTabVertical();\n var contentCls = prefixCls + '-content-wrap';\n if (animated && !isMoving) {\n contentCls += ' ' + contentCls + '-animated';\n }\n var contentStyle = animated ? useLeftInsteadTransform ? _extends({ position: 'relative' }, this.isTabVertical() ? { top: contentPos } : { left: contentPos }) : getTransformPropValue(contentPos) : _extends({ position: 'relative' }, this.isTabVertical() ? { top: -currentTab * 100 + '%' } : { left: -currentTab * 100 + '%' });\n\n var _getTabBarBaseProps = this.getTabBarBaseProps(),\n instanceId = _getTabBarBaseProps.instanceId;\n\n return React.createElement(\n 'div',\n { className: contentCls, style: contentStyle, ref: this.setContentLayout },\n tabs.map(function (tab, index) {\n var cls = prefixCls + '-pane-wrap';\n if (_this3.state.currentTab === index) {\n cls += ' ' + cls + '-active';\n } else {\n cls += ' ' + cls + '-inactive';\n }\n var key = tab.key || 'tab_' + index;\n // update tab cache\n if (_this3.shouldRenderTab(index)) {\n _this3.tabCache[index] = _this3.getSubElement(tab, index, getSubElements);\n } else if (destroyInactiveTab) {\n _this3.tabCache[index] = undefined;\n }\n return React.createElement(\n TabPane,\n { key: key, className: cls, active: currentTab === index, role: 'tabpanel', 'aria-hidden': currentTab !== index, 'aria-labelledby': 'm-tabs-' + instanceId + '-' + index, fixX: isTabVertical, fixY: !isTabVertical },\n _this3.tabCache[index]\n );\n })\n );\n }\n }, {\n key: 'render',\n value: function render() {\n var _props2 = this.props,\n prefixCls = _props2.prefixCls,\n tabBarPosition = _props2.tabBarPosition,\n tabDirection = _props2.tabDirection,\n useOnPan = _props2.useOnPan,\n noRenderContent = _props2.noRenderContent;\n\n var isTabVertical = this.isTabVertical(tabDirection);\n var tabBarProps = _extends({}, this.getTabBarBaseProps());\n var onPan = !isTabVertical && useOnPan ? this.onPan : {};\n var content = [React.createElement(\n 'div',\n { key: 'tabBar', className: prefixCls + '-tab-bar-wrap' },\n this.renderTabBar(tabBarProps, DefaultTabBar)\n ), !noRenderContent && React.createElement(\n Gesture,\n _extends({ key: '$content', onSwipe: this.onSwipe }, onPan),\n this.renderContent()\n )];\n return React.createElement(\n 'div',\n { className: prefixCls + ' ' + prefixCls + '-' + tabDirection + ' ' + prefixCls + '-' + tabBarPosition },\n tabBarPosition === 'top' || tabBarPosition === 'left' ? content : content.reverse()\n );\n }\n }]);\n\n return Tabs;\n}(Component);\nTabs.DefaultTabBar = DefaultTabBar;\nTabs.defaultProps = _extends({}, Component.defaultProps, { prefixCls: 'rmc-tabs', useOnPan: true });"],"names":["BetslipFeatureSwitcher","_ref","featureIsActive","setFeatureIsActive","tooltipText","featureName","className","skipRowStyles","_jsxs","toLowerCase","cc","children","_jsx","CustomTooltip","arrowPointAtCenter","title","style","color","fontSize","overlayClassName","isMobile","placement","trigger","overlayStyle","EventAction","icon","GlobalIcon","lib","name","theme","size","EIconSize","_16","_Switch","checked","onChange","PredefinedStakes","memo","changeCurrentStake","setSelected","disabled","currentStake","isLoggedIn","useSelector","getIsLoggedIn","predefinedStakes","usePredefinedStakes","formatAmount","useCurrency","checkIsPredefinedStakesVisible","stake_1","stake_2","stake_3","Object","keys","map","key","value","regEx","RegExp","SpringConfigs","PRICE_SEPARATOR","Button","replace","type","fullwidth","onClick","stake","add","valueToUpdate","PREDEFINE_STAKES_ADDING","toString","onPredefinedInput","formatPrice","CUSTOM_KEYBOARD_MAX_LENGTH","CustomKeyboard","maxLength","onDestroy","selected","toggleQuickBet","onCloseKeyboard","predefinedStakesDisabled","scrollIntoView","predefinedStakesFree","advanced","disabledDot","allowZero","ref","useRef","middleSize","useMemo","t","useTranslation","onInput","predefinedValue","normalizeStake","removeComma","doneButtonHandler","useCallback","useEffect","_ref$current","current","block","Row","Col","span","ColSizes","SIZE_17","SIZE_24","index","order","_4","onBackspase","slice","sliceLength","SLICE_END_MINUS_1","SIZE_7","getScrollParent","node","regex","parents","_node","ps","parentNode","concat","prop","getComputedStyle","getPropertyValue","scroll","test","overflow","HTMLElement","i","length","document","scrollingElement","documentElement","scrollParent","STAKE_MAX_LENGTHS","STAKE_MAX_LENGTH","SEPARATOR","StakeField","props","_ref2","_props$refItem","editBet","getEditBet","allLsBets","getAllLsBets","betslipType","getBetslipType","system","getSelectedSystem","currency","currencyId","focused","setFocused","useState","ewAllowed","setEwAllowed","inputRef","getTypeSelector","currentType","getType","balance","useBalance","currentTypeRefValue","useRefValue","inputValue","changeStake","_props$onChange","_props$changeCurrentS","call","eventIdForStakes","_props$stake","inputDefaultValue","_props$onFocus","onFocus","find","bet","useLayoutEffect","refItem","currentRef","isLast","_currentRef$current$f","_currentRef$current","scrollTo","scrollHeight","focus","preventScroll","shouldUpdate","showCurrency","left","checkCurrencyContent","isOdd","right","stakeInputValue","thousandSeparator","showCombinationCount","EBetslipBetType","SYSTEM","combinationCount","inMultipleOfTheDay","classcat","active","StakeWrapper","$paddingLeft","dataTestIdPrefix","Value","Placeholder","amount","placeholder","Input","width","maxValue","marginLeft","bordered","BETSLIP_STAKE_LIMIT","onBlur","target","validPosNumber","getValidPositiveNumber","formattedValue","v","roundOdd","EDecimalRoundTypes","Cut","roundAmount","onPressEnter","max","BETSLIP_MAX_BTN","Max","loading","isLoading","onMaxClick","$oddOffer","BETSLIP_MAX_BTN_TYPE","_Fragment","maxNotConvertedValue","EachWay","styled","div","withConfig","displayName","componentId","deviceActionManager","vibrate","message","hapticMessage","_window","_window$webkit","_window$webkit$messag","iOSWrapperApp","window","webkit","messageHandlers","triggerHaptic","postMessage","JSON","stringify","user","getUser","useBonusBalance","getUseBonusBalance","accountBalanceAvailable","useAccountBalanceAvailable","isFrenchFreeBetEnabled","getIsFrenchFreeBetEnabled","_user$bonus_balance","bonus_balance","bonus_win_balance","frozen_balance","bonus_money","checker","quickBetEnabled","getQuickBetEnabled","partnerConfig","getPartnerConfigs","sport_bonus","useCheckStakeBalance","debounceDuration","arguments","undefined","timeoutDuration","DURATION_500","history","useHistory","isFreeBetEnabled","getIsFreeBetEnabled","partnerConfigs","useFrenchFreeBet","debounceId","RidGenerator","getToDeposit","IFRAME_SPORTSBOOK","openParentPage","push","addQuery","accounts","wallet","deposit","debounce","contextId","callback","isBetMinLimitStake","checkMinBetStakeLimit","betLimitMinStakeForEditBet","min_bet_stakes","minLimit","min_bet","showToastWarning","getElementById","body","isInsufficient","checkInsufficientBalance","balanceError","showToastError","cursor","Number","dispatch","useDispatch","storePredefinedStakes","getPredefinedStakes","defaultStakes","PREDEFINE_STAKES_ENABLE","PREDEFINE_STAKE_1","PREDEFINE_STAKE_2","PREDEFINE_STAKE_3","DEFAULT_STAKE_ENABLED","default_stake","DEFAULT_STAKE","minBetStake","minBetStakeType","MULTIPLIER_10","predefinedStakesType","STAKE_TYPE_1","MULTIPLIER_20","STAKE_TYPE_2","MULTIPLIER_50","STAKE_TYPE_3","setPredefinedStakes","values","setRSPredefinedStakes","usePrevious","initial","previous","refValue","EPlayerActivityCheckerActions","BetWithBonusOrDepositBalance","_profitBoostAdvanced$","selectedType","setSelectedType","EBetBalanceType","REAL","superBetActiveEventIds","getSuperBetActiveEventIds","counterOfferActiveEventIds","getCounterOfferActiveEventIds","profitBoost","getProfitBoost","profitBoostAdvanced","getProfitBoostAdvanced","setToggleProfitBoost","useProfitBoost","selectedProfitBoostItem","getSelectedProfitBoostItem","isProfitBoostEnabled","getIsProfitBoostAvailable","profitBoostStore","getProfitBoost_","getSelectedItem","removeProfitBoostItem","id","profitBoostData","parse","items","item","setProfitBoostRedux","selectedProfitBoostEventId","profitBoostSelectedEventId","setSelectedProfitBoostEventId","eventId","setSelectedProfitBoostId","val","fireToggleProfitBoost","setSelectedItem","isSingleEventSelected","event","getSelectedAdvancedSingleRule","getSelectedAdvancedMultipleRule","offAllSelected","cleanProfitBoostState","showBoostInfo","profitBoostSelectedItemId","isProfitBoostActive","single","isSuperBetActive","isCounterOfferActive","menuItems","result","i18n","BONUS","FREE_BET","setUseBonusBalance","setIsFrenchFreeBetEnabled","CustomMenu","activeItem","setActiveItem","forEach","calculateAndDispatchUpdates","oddOffer","superBet","itemStyles","ONE_HUNDRED_PERCENT","Badge","count","dot","offset","overflowCount","showZero","status","text","styleOBj","marginTop","background","badge__dot__status","forwardRef","label","createTestId","_Input","BetslipPreloadState","Loading","BetslipRootContainer","_betslipContainerRef$","isHeightFixed","detectTopHeight","betslipContainerRef","allLsBetsCount","wrapperHeight","useContentHeight","isBetslipEmpty","isScrollOnPage","HOORY_ENABLED","HOORY_ENABLED_SPORTSBOOK_BETSLIP","scrollOnPage","maxHeight","height","closest","toggleBetslip","payload","fireEvent","EBetslipToggleActions","SET_OPEN","Tab","fromMenu","tabsCount","Wrapper","Container","fixedTop","IS_RTL","CustomTabBar","goToTab","tabs","tab","activeTab","badge","Bets","lazy","OpenBets","BetslipTabsWrapper","BetslipTabs","_useSelector","floatingMode","useBetslipConfigsContext","static","getTabs","page","getActiveTabPage","singleReturn","getSingleReturn","openBetsCount","getOpenBetsCount","isEditBEtActive","subscribedEvents","getSubscribedEvents","getIsCounterOfferActive","EBetslipType","BASIC","SINGLE","renderTabBar","Suspense","fallback","batchActions","setMustOpen","setMustClose","setQuickSingleBetslipOpen","tabProps","prerenderingSiblingsNumber","destroyInactiveTab","swipeable","animated","initialPage","setActiveTabPage","isBetTypeMultipleOrChain","MULTIPLE","CHAIN","includes","betsProps","toggleBetslipView","setTimeout","Fallback","ConditionalWrapper","condition","MOCKED_DATA","wrapper","_createElement","_Tabs","componentRid","BonusBalanceSwitcher","QuickBetComponent","isBetslipOpened","getBetslipOpen","quickBetStake","getQuickBetStake","isQuickBetEnabled","checkStakeBalance","setStake","form","_Form","useForm","visible","setVisible","isDisabled","setIsDisabled","disable","showQuickBetslip","onSave","updateQuickBetStake","Popup","animationType","open","Header","QuickBetBaseSwitcher","tooltip","isActive","BET_WITH_ONLY_BONUS_OR_DEPOSIT","FooterContainer","_Button","LoadingInProcess","loadingPopup","Portal","bottomNavigation","BOTTOM_NAVIGATION","QuickbetToggle","quickBet","safeAreaRef","wrapperElem","changeWrapperRowZIndex","Skeleton","paragraph","QuickBet","quickBetInProcessCount","getQuickBetInProcessCount","isQuickBetVisible","AdvancedBetslipLayoutComponent","AdvancedBetslipLayout","BasicBetslipLayoutComponent","BasicBetslipLayout","BetslipTypeBasedLayout","BetsManager","betType","getComputedBetType","sportBonuses","getSportBonuses","command","CommandNames","GET_SPORT_BONUS_RULES","params","rid","gForCommand","connectingWS","then","socket","sendCommand","getSportBonusRules","data","details","setSportBonusRules","_event$market","each_way","getEachWay","market_id","market","isMultiples","GENERAL_FIELD_KEY","betslipBetsCount","bets","suspendedEventsData","getBetSlipFromLs","newEvent","_bet$sport_alias","_PRIVATE_COMPETITIONS","_newEvent$isLive","BETSLIP_BASE_UPDATE","base","suspendReasons","sport_alias","gForSubscribe","executeCommand","game","gameId","marketType","type_1","updateBaseEventsData","_newEvent$game_state","_newEvent$game_time","_bet$current_game_sta","_bet$current_game_tim","competitionId","PRIVATE_COMPETITIONS","JURISDICTION","current_game_state","game_info","score1","score2","game_state","current_game_time","game_time","eventBase","sport_id","isSuspended","coeficient","price","isLive","game_status","getGameStatus","game_start_date","sport_index","LS","setItem","storageKeyName","checkConflicts","dispatchBetslipAllBets","openBetsByDefault","OPEN_BETS_BY_DEFAULT","BetslipConfigManager","oddFormat","getOddFormat","ladderLoaded","getLadderLoaded","allBetsCount","freezeTabChange","getFreezeTabChange","selectBetslipTab","setFreezeTabChange","initialOddFormat","ODD_FORMATS","format","loadLadder","betSlipInitRedux","setElementPresent","EBetslipPage","OPEN_BETS","GLOBALS","betslipElementsCount","getAndRemoveMustOpenBetslipFromLS","removeItem","setElementAbsent","search","listen","ADVANCED","setType","CounterOfferManager","allBetIds","getAllBetIds","_FreeBetManager","FreeBetManagerBetslipTypeBaseSlice","PRELOAD_CACHE","FreeBetManager","has_free_bets","shouldFreeBetMount","prefetchChunks","OpenBetManager","doBetDone","getBettedTrigger","cashOutFrom","getCashoutFrom","updateOpenBetsTrigger","getUpdateOpenBetsTrigger","floatingFirstUpdateOpenBets","updateOpenBetsCount","setOpenBetsCount","updateMyBets","getBetHistoryCount","setCashoutFrom","BETSLIP","_ProfitBoostManager","ProfitBoostManager","QuickBetManager","useEventbus","EQuickBetManagerDispatchActions","TOGGLE_QUICK_BET","_","toggleQuickBetInStore","setQuickBetSelectedEventId","BetslipSetupManagerMobile","BetslipSetupManager","computed","useHeaderVisibility","betslipTab","openBetsTab","setBetslipTabs","updateSelectedStake","setSelectedBetType","addEventListener","getItem","oddAcceptType","DEFAULT_ODD_ACCEPT","ON_ACCEPT_BET_TYPES","elem","removeEventListener","BetslipToggleManager","_BetslipToggleManager","RootManager","BETSLIP_EVENT_TEMPLATE","competition_name","event_name","horse_xml","HorceBXml","game_name","market_name","region_name","sport_name","team1","team2","formatEventData","eventIdToUpdate","_data$sport","_sport$region","_region$competition","suspendedGamesReasons","modifiedEvent","sport","region","competition","gameObj","info","eventObj","sportAlias","is_blocked","splice","indexOf","reason","itemsToRemove","suspendReason","shouldRemove","start_ts","team1_name","team2_name","express_id","prematch_express_id","region_id","useBetSlipSubscription","eventIds","getEventIds","subscriptions","getSubscriptions","prevEventIds","prevSubscriptions","subscriptionIds","setSubscriptionIds","removeSuspendedSelection","resp","REMOVE_SUSPENDED_SELECTION","_resp$sport","_region$competition$O","removeBetSlipEvent","checkForAddedEvents","filter","updateSubscribedEvent","eventData","currentSubscriptionEntity","subscription","betCommand","GET","source","CommandSource","BETTING","is_betslip","subscribe","what","where","eventFormattedData","updateBetSlipEvent","updateCallback","updatedEvent","removeEvent","removedEvents","newEvents","_prevSubscriptions$fi","unsubscribeCommand","baseRid","sub","checkForRemovedEvents","prevEventId","removeSubscribedEvent","join","CounterOfferUnderReviewModal","betslipComponentDefaultProps","isFloating","_BetslipComponent","configs","counterOffersUnderReviewModal","getCounterOffersUnderReviewModal","EBetslipConfigsDispatchActions","SET_STATIC_CONFIGS","betslipFixedHeight","BetslipComponent","Advanced","Single","Basic","EW_TYPES","View","BasicSwitcher","computedProps","EProfitBoostActions","fireCheckProfitBoost","isAdvancedMultiple","CHECK_PROFIT_BOOST","TOGGLE_PROFIT_BOOST","staticConfigsInitialValue","betslipRootId","computedConfigsInitialValue","isOpened","mustOpen","mustClose","betslipConfigsContextInitialValue","BetslipConfigsContext","createContext","BetslipConfigsContextProvider","useId","staticConfigs","setStaticConfigs","computedConfigs","setComputedConfigs","SET_BETSLIP_TYPE","changeComputedConfigByKey","_ref3","p","configsContextValue","prev","Provider","useContext","content","shadow","$isAdvanced","FooterLabel","FooterItem","isSingle","totalReturn","Link","BetButtonWrapper","BetBadge","FreeBetAmountLabel","FreeBetAmountWrapper","BetsWrapper","OpenBetsWrapper","FooterValue","ResultValue","activeGames","getActiveGames","isVisible","headerHeight","getHeaderState","isHeaderVisibleForCasino","IS_HEADER_VISIBLE_IN_CASINO","isHeaderVisibleForBetslip","removeHeader","getHeader","removeFixedHeader","setHeaderState","DURATION_100","makeHeaderFixed","updateHeaderHeight","getHeaderHeight","getMessageContextBasedOnBetslipOpenState","messageContext","_Store$getState$betSl","isBetslipOpen","Store","getState","betSlip","betslipOpen","isFloatingBetslipEnabled","IS_BETSLIP_FLOATING_ENABLED","async","commandObj","callbackError","oddChangeHandlerCallbackWrapper","response","setAcceptBet","result_text","StatusCode","Data","isStatusCode","REPLACE_EDIT_BET_TRANSLATIONS","ERROR_CODE_TIMEOUT_1800","_Data$ErrorData","_Data$ErrorData2","changedOdd","ErrorData","old_price","OldPrice","new_price","ActualPrice","Array","isArray","oddsChangedText","convert","doBet","_Store$getState$betSl2","_callback","res","WRAPPER_APP","median","sendCreateBet","sendDoBet","isBonusMoney","userData","mode","sys_bet","bonus_id","predefined_multiple_id","booking_id","location_token","additional_amount","old_bet_id","betId","DO_BET","MODE_TYPES","ODD_NOT_CHANGE","odd_type","is_bonus_money","is_free_bet_money","checkPlayerActivity","freeBetStore","freeBets","_data$details","setFreeBetSelectedEventId","selectedFreeBetId","removeFreeBetItem","is_superbet","showToastSuccess","SwarmSuccessMessages","accountParams","queryClient","getQueryData","EAccount","_data$details2","_data$details3","AppendCustomCodes","APPEND_CUSTOM_CODE_BETSLIP","appendCustomCode","CUSTOM_CODE_BETSLIP","bet_id","k","bet_type","first_name","last_name","email","username","btag","userId","phone","CREATE_BETS","Source","Amount","Events","SelectionId","event_id","Coeficient","OddType","Type","AdditionalAmount","IsFreeBetMoney","GeoLocationToken","OldBetId","_data$Data","_data$Data$","_data$Data$2","_data$Data$3","getV3Freebet","GET_FREEBETS_FOR_BETSLIP_V3","getCurrencyConfigs","CURRENCY_CONFIG","bookBet","BOOK_BET","tid","qs","location","ignoreQueryPrefix","cashdesk_id","getEventsByBookingId","bookId","GET_EVENTS_BY_BOOKING_ID","getEventsReadyForBetslip","eventsAndGameIds","callBackError","getOnlyEventIds","gameIds","games","entity","events","counterCounterOfferAnswer","acceptOffer","SUPER_BET_ANSWER","accept","checkBetStatus","CHECK_BET_STATUS","GET_EACH_WAY_PARTNER_TERMS","setEachWayPartnerTerms","getCasinoStore","getSelectorRoot","getCasinoCategories","getCasinoOriginalCategories","createSelector","categories","original","getEnhancedParams","getGamesConfigs","getCasinoCustomCategories","custom","getCasinoOriginalCategoriesSet","originalSet","getCasinoOriginalCategoriesSetLeftSideBar","originalSetLeftSideBar","getCanRequestCategoriesNestedData","getCanRequestProvidersNestedData","getLastPlayedCatSettings","getCategoryCustomIds","getCachedGames","cachedGames","gameData","reduce","acc","extearnal_game_id","increaseSize","selector","fixedZindex","wrapperElement","zIndex","wrapperZIndex","HALF_SCORE_RESULT","SCORE_INDEX","USA_LAYOUT_ICON_SIZE","DEFAULT_LAYOUT_ICON_SIZE","FAVORITE_BUTTON_CONTAINER_ICON_SIZE","ADVANCED_CONTAINER_SIZE","FavoritePerRow","FavoritePerRowMobile","MULTIVIEW_CARDS_ROW","PISTOL_H2H_SHOOT_OFF_SET_NUMBER","ARCHERY_H2H_SHOOT_OFF_SET_NUMBER","PISTOL_SHOOTING_SETS_COUNT","ARCHERY_SHOOTING_SETS_COUNT","PISTOL_SHOOTING_SHOOTS_COUNT","ARCHERY_SHOOTING_SHOOTS_COUNT","H2H_COMPOUND_ARCHERY_SHOOTS_COUNT","PISTOL_H2H_SHOOTS_COUNT","PISTOL_H2H_SHOOT_OFF_MAX_SHOOTS_COUNT","H2H_COMPOUND_ARCHERY_MATCH_STATE_NOT_STARTED","H2H_COMPOUND_ARCHERY_MATCH_STATE_IN_PLAY","H2H_COMPOUND_ARCHERY_MATCH_STATE_TIMEOUT","H2H_COMPOUND_ARCHERY_MATCH_STATE_FINISHED","ARCHERY_H2H_GAME_STATUSES","timers","func","timeout","DURATION_300","_len","args","_key","clearTimeout","HEADER_CLASSNAME","HEADER_GETTER_CLASSNAME","querySelector","prevStyles","header","clientHeight","offsetHeight","classList","contains","saveCurrentStyles","_parent$style","_parent$style2","parent","parentElement","paddingTop","paddingBottom","margin","padding","_prevStyles","_prevStyles2","_prevStyles3","remove","DOTA_2_SETTINGS","titles","i18next","icons","names","firstSanctuary","secondSanctuary","positions","roshen","top","tower","kills","getIconPositionsAndSizes","STREAMING_ASPECT_RATIOS","desktop","position","this","mobile","LEAGUE_OF_LEGENDS_SETTINGS","dragons","epicMonsters","ESPORTS_ADDITIONAL_DATA_IDS","ESPORTS_ADDITIONAL_DATA","CounterStrike","number","maps","alias","outcome","LeagueOfLegends","Dota2","GET_MOBA_GAMES_SETTINGS_DATA","GET_MOBA_GAMES_STATISTICS_DATA","additionalDataMap","_additionalDataMap$ki","_additionalDataMap$ba","_additionalDataMap$el","_additionalDataMap$to","_additionalDataMap$in","_additionalDataMap$ki2","_additionalDataMap$ba2","_additionalDataMap$el2","_additionalDataMap$to2","_additionalDataMap$in2","_additionalDataMap$ma","_additionalDataMap$ma2","_additionalDataMap$ma3","_additionalDataMap$ma4","statistics","killScore","baronScore","elementarDragonScore","towerScore","inhibitor","mapState","destroyedInhibitors","destroyedTowers","dragonType","epicMonsterType","_find$value","_find","_additionalDataMap$to3","_additionalDataMap$to4","codeValue","tormentorScore","barrackScore","destroyedBarracks","barrack","isESportMOBAGames","PeriodNames","AmericanFootball","AustralianFootball","Badminton","BallHockey","Baseball","Basketball","BeachFootball","BeachHandball","BeachVolleyball","Bowls","Boxing","Cricket","Curling","CyberFootball","EBasketball","Floorball","Futsal","GaelicFootball","GearsOfWar","Handball","Hearthstone","HeroesOfTheStorm","Hockey","IceHockey","Mma","MortalKombatXL","Netball","Overwatch","RugbyLeague","RugbySevens","RugbyUnion","Smite","Snooker","Soccer","StarCraft","StarCraft2","TableTennis","Tekken7","Tennis","Volleyball","WarcraftIII","WaterPolo","WorldOfTanks","WorldOfWarcraft","PistolShooting","PistolHead2Head","ArcheryH2H","CompoundArchery","Archery","BasketballShots","Valorant","AgeofEmpires","ApexLegends","ArenaOfValor","Artifact","CallOfDuty","CounterStrike2","CrossFire","FreeFire","Halo","KingOfGlory","Overwatch2","Quake","RainbowSix","RocketLeague","Vaingloory","MobileLegends","Leaderboards","Place1st","Place2nd","Place3rd","TRASNSLATION_KEYS_BY_GAME_STATE","gamesWithNewData","ArcheryH2HSportAlias","CompoundArcherySportAlias","getGameCurrentState","gState","gTime","additional_data","additionalData","currentSport","compactView","shootOffSet","matchState","currentSet","getPeriodName","periodName","periodNumber","isNaN","ordinal","num","suf","dayjs","MILLISECONDS_IN_SECOND","dateFormat","date","DT","shortDate","time","checkGameState","getEsportCurrentMapName","additionalInfoData","currentMapRule","getMapName","ordinalDefault","mapNumber","mapName","withoutNumber","_createClass3","_interopRequireDefault","require","_extends3","_classCallCheck3","_possibleConstructorReturn3","_inherits3","React","obj","__esModule","newObj","prototype","hasOwnProperty","_interopRequireWildcard","_rmcTabs","DefaultTabBar","_RMCDefaultTabBar","__proto__","getPrototypeOf","apply","defaultProps","prefixCls","Tabs","_React$PureComponent","_this2","renderTab","createElement","PureComponent","exports","module","instance","Constructor","TypeError","_defineProperty","_defineProperty2","default","defineProperties","descriptor","enumerable","configurable","writable","protoProps","staticProps","_assign","_assign2","_getPrototypeOf2","_getOwnPropertyDescriptor2","get","object","property","receiver","Function","desc","getter","_setPrototypeOf2","_create2","_typeof3","subClass","superClass","constructor","_typeof2","self","ReferenceError","_iterator2","_symbol2","_typeof","$Object","P","D","create","it","defineProperty","getOwnPropertyDescriptor","isObject","toIObject","toLength","toAbsoluteIndex","IS_INCLUDES","$this","el","fromIndex","O","core","version","__e","aFunction","fn","that","a","b","c","is","split","getKeys","gOPS","pIE","getSymbols","f","symbols","isEnum","global","ctx","hide","has","PROTOTYPE","$export","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","IS_WRAP","W","expProto","C","virtual","R","U","exec","e","Math","__g","dP","createDesc","cof","propertyIsEnumerable","arg","setToStringTag","IteratorPrototype","NAME","next","LIBRARY","redefine","Iterators","$iterCreate","ITERATOR","BUGGY","KEYS","VALUES","returnThis","Base","DEFAULT","IS_SET","FORCED","methods","getMethod","kind","proto","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","done","META","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","KEY","NEED","fastKey","getWeak","onFreeze","DESCRIPTORS","toObject","IObject","$assign","assign","A","Symbol","K","T","aLen","j","anObject","dPs","enumBugKeys","IE_PROTO","Empty","createDict","iframeDocument","iframe","display","src","contentWindow","write","lt","close","Properties","IE8_DOM_DEFINE","toPrimitive","Attributes","gOPD","gOPN","windowNames","getOwnPropertyNames","getWindowNames","$keys","hiddenKeys","getOwnPropertySymbols","ObjectProto","arrayIndexOf","fails","exp","bitmap","check","set","setPrototypeOf","buggy","def","tag","stat","shared","uid","SHARED","store","copyright","toInteger","defined","TO_STRING","pos","s","String","l","charCodeAt","charAt","min","ceil","floor","valueOf","px","random","wksExt","$Symbol","USE_SYMBOL","addToUnscopables","step","iterated","_t","_i","_k","Arguments","$getOwnPropertyDescriptor","$getPrototypeOf","$at","point","$fails","wks","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$GOPS","$DP","$JSON","_stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","iterator","$defineProperty","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","replacer","$replacer","TO_STRING_TAG","DOMIterables","Collection","PRESS","SWIPE","_calcTriangleDistance","x","y","sqrt","_calcAngle","radian","atan2","PI","now","Date","calcMutliFingerStatus","touches","_touches$","x1","y1","_touches$2","deltaX","deltaY","z","angle","getEventName","prefix","toUpperCase","getDirectionEventName","direction","directionMap","all","DIRECTION_HORIZONTAL","vertical","DIRECTION_UP","horizontal","DIRECTION_LEFT","Gesture","_Component","_classCallCheck","_this","_possibleConstructorReturn","state","triggerEvent","cb","getGestureState","triggerCombineEvent","mainEventName","eventStatus","_len2","_key2","triggerSubEvent","_len3","_key3","subEventName","triggerPinchEvent","_len4","_key4","scale","gesture","initPressTimer","cleanPressTimer","pressTimer","setGestureState","press","preTouches","_extends","cleanGestureState","getTouches","screenX","screenY","triggerUserCb","cbName","_handleTouchStart","preventDefault","initGestureStatus","checkIfMultiTouchStart","startTouches","startTime","startMutliFingerStatus","mutliFingerStatus","srcEvent","_this$props","enablePinch","enableRotate","pinch","rotate","rotation","_handleTouchMove","updateGestureStatus","checkIfSingleTouchMove","checkIfMultiTouchMove","_this$gesture","startAngle","calcRotation","allowGesture","directionSetting","_this$gesture2","pan","moveStatus","_this$gesture2$availa","availablePan","point1","point2","abs","getMovingDirection","eventName","checkIfMultiTouchEnd","_this$gesture3","_this$gesture4","_startTouches$","_touches$3","deltaZ","velocity","calcMoveStatus","_handleTouchEnd","doSingleTouchEnd","_handleTouchCancel","triggerAllowEvent","_this$gesture5","swipe","delta","shouldTriggerSwipe","directionEvName","getTouchAction","_this$props2","_inherits","_createClass","child","only","touchAction","onTouchStart","onTouchMove","onTouchCancel","onTouchEnd","Component","getTransformPropValue","transform","WebkitTransform","MozTransform","getPxStyle","unit","setPxStyle","setTransform","webkitTransform","mozTransform","__rest","TabPane","offsetX","offsetY","setLayout","layout","nextProps","scrollLeft","scrollTop","_a","fixX","fixY","StateType","isMoving","showPrev","showNext","onPan","lastOffset","finalOffset","onPanStart","setState","onPanMove","isVertical","isTabBarVertical","clientWidth","getLastOffset","canScrollOffset","scrollWidth","onPanEnd","setCurrentOffset","getTransformByIndex","_props$page","getTabSize","center","skipSize","onPress","onTabClick","tabBarPosition","tabBarTextStyle","tabBarActiveTextColor","tabBarInactiveTextColor","instanceId","textStyle","cls","ariaSelected","role","setContentLayout","tabLength","_props","_props$tabs","_props$page2","_props$activeTab","tabBarBackgroundColor","tabBarUnderlineStyle","renderUnderline","_state","needScroll","backgroundColor","transformStyle","underlineProps","tabCache","isTabVertical","tabDirection","shouldRenderTab","idx","_this$props$prerender","_this$state$currentTa","currentTab","getOffsetIndex","threshold","distanceToChangeTab","ratio","round","getSubElements","subElements","defaultPrefix","allPrefix","getTabIndex","nextCurrentTab","param","prevCurrentTab","force","newState","tabClickGoToTab","bind","tabBarProps","elements","component","usePaged","_BaseStateType","contentPos","panDirection","getPanDirection","_this2$props","useLeftInsteadTransform","offsetIndex","getContentPosByIndex","onSwipe","_this2$props2","_get","useLeft","_this3","contentCls","contentStyle","getTabBarBaseProps","getSubElement","_props2","useOnPan","noRenderContent","renderContent","reverse"],"sourceRoot":""}