{"version":3,"file":"static/chunks/36522.0984ac9cebb5e6c6.js","mappings":"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","sources":["webpack://_N_E/../../node_modules/lodash/_Symbol.js","webpack://_N_E/../../node_modules/lodash/_baseGetTag.js","webpack://_N_E/../../node_modules/lodash/_baseTrim.js","webpack://_N_E/../../node_modules/lodash/_freeGlobal.js","webpack://_N_E/../../node_modules/lodash/_getRawTag.js","webpack://_N_E/../../node_modules/lodash/_objectToString.js","webpack://_N_E/../../node_modules/lodash/_root.js","webpack://_N_E/../../node_modules/lodash/_trimmedEndIndex.js","webpack://_N_E/../../node_modules/lodash/debounce.js","webpack://_N_E/../../node_modules/lodash/isObject.js","webpack://_N_E/../../node_modules/lodash/isObjectLike.js","webpack://_N_E/../../node_modules/lodash/isSymbol.js","webpack://_N_E/../../node_modules/lodash/now.js","webpack://_N_E/../../node_modules/lodash/toNumber.js","webpack://_N_E/./src/api/games/queryKeys.ts","webpack://_N_E/./src/api/games/queries/useGames/service.ts","webpack://_N_E/./src/api/games/queries/useGames/index.ts","webpack://_N_E/./src/api/games/queries/useGameBySlug/service.ts","webpack://_N_E/../../packages/common/src/models/gaming-aggregator/status/id/index.ts","webpack://_N_E/./src/api/games/queries/useGameBySlug/index.ts","webpack://_N_E/./src/api/games/queries/useGamesByProvider/service.ts","webpack://_N_E/./src/api/games/queries/useGamesByProvider/index.ts","webpack://_N_E/./src/api/games/queries/useTopPayouts/service.ts","webpack://_N_E/./src/api/games/queries/useTopPayouts/index.ts","webpack://_N_E/./src/api/games/queries/useGamesRecentlyPlayed/service.ts","webpack://_N_E/./src/api/games/queries/useGamesRecentlyPlayed/index.ts","webpack://_N_E/./src/api/games/queries/index.ts","webpack://_N_E/./src/api/games/index.ts","webpack://_N_E/./src/components/Home/Sections/GamesBaseSection/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Input/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/SearchHistory/Header/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/SearchHistory/List/Chip/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/SearchHistory/List/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/SearchHistory/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/RecommendedSection/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/GamesResult/index.tsx","webpack://_N_E/./src/components/core/InputSearch/Empty/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Empty/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Content/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/GamesResult/Header/index.tsx","webpack://_N_E/./src/components/core/InputSearch/Modal/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/index.tsx","webpack://_N_E/./src/components/core/Games/GameList/index.tsx","webpack://_N_E/./src/enums/gameProviderId.ts","webpack://_N_E/../../packages/common/src/components/TransWithDefault/index.tsx","webpack://_N_E/../../packages/common/src/hooks/useDebounce.tsx","webpack://_N_E/../../packages/common/src/hooks/useInfiniteScroll/index.ts","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/SearchHistory/Header/styles.module.scss","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/SearchHistory/List/Chip/styles.module.scss","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/SearchHistory/List/styles.module.scss","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/SearchHistory/styles.module.scss","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/styles.module.scss","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Empty/styles.module.scss","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/GamesResult/Header/styles.module.scss","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/styles.module.scss","webpack://_N_E/./src/components/core/Games/GameList/styles.module.scss","webpack://_N_E/./src/components/core/InputSearch/Empty/styles.module.scss","webpack://_N_E/./src/components/core/InputSearch/Modal/styles.module.scss"],"sourcesContent":["var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n    getRawTag = require('./_getRawTag'),\n    objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n  return string\n    ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n    : string;\n}\n\nmodule.exports = baseTrim;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n  var index = string.length;\n\n  while (index-- && reWhitespace.test(string.charAt(index))) {}\n  return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var isObject = require('./isObject'),\n    now = require('./now'),\n    toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n *  Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n *  The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n *   'leading': true,\n *   'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n  var lastArgs,\n      lastThis,\n      maxWait,\n      result,\n      timerId,\n      lastCallTime,\n      lastInvokeTime = 0,\n      leading = false,\n      maxing = false,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  wait = toNumber(wait) || 0;\n  if (isObject(options)) {\n    leading = !!options.leading;\n    maxing = 'maxWait' in options;\n    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n\n  function invokeFunc(time) {\n    var args = lastArgs,\n        thisArg = lastThis;\n\n    lastArgs = lastThis = undefined;\n    lastInvokeTime = time;\n    result = func.apply(thisArg, args);\n    return result;\n  }\n\n  function leadingEdge(time) {\n    // Reset any `maxWait` timer.\n    lastInvokeTime = time;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\n    return leading ? invokeFunc(time) : result;\n  }\n\n  function remainingWait(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime,\n        timeWaiting = wait - timeSinceLastCall;\n\n    return maxing\n      ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n      : timeWaiting;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // Either this is the first call, activity has stopped and we're at the\n    // trailing edge, the system time has gone backwards and we're treating\n    // it as the trailing edge, or we've hit the `maxWait` limit.\n    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\n    }\n    lastInvokeTime = 0;\n    lastArgs = lastCallTime = lastThis = timerId = undefined;\n  }\n\n  function flush() {\n    return timerId === undefined ? result : trailingEdge(now());\n  }\n\n  function debounced() {\n    var time = now(),\n        isInvoking = shouldInvoke(time);\n\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\n      }\n      if (maxing) {\n        // Handle invocations in a tight loop.\n        clearTimeout(timerId);\n        timerId = setTimeout(timerExpired, wait);\n        return invokeFunc(lastCallTime);\n      }\n    }\n    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\nmodule.exports = now;\n","var baseTrim = require('./_baseTrim'),\n    isObject = require('./isObject'),\n    isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = baseTrim(value);\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","export enum GamesQueryKeys {\n  Primary = '/games',\n  BySlug = '/games/by-slug',\n  ByProvider = '/games/by-provider',\n  TopPayout = '/games/top-payout',\n  RecentlyPlayed = '/games/recently-played',\n  Tiles = '/games/tiles',\n}\n","import { QueryFunctionContext } from '@tanstack/react-query';\nimport { GamesRequestDto } from '@/services/dto/games/games-request.dto';\nimport { PaginatedResponse } from '@/models/pagination/paginated-response.dto';\nimport { Game } from '@/models/game';\nimport baseAPI from '@/api';\nimport { UseGamesQueryKey } from './props';\nimport { GameTagFilter } from '@/models/games/game-tag-filter.enum';\nimport { GameProviderId } from '@/enums/gameProviderId';\n\nexport async function fetchGames({\n  pageParam,\n  queryKey,\n}: QueryFunctionContext<UseGamesQueryKey>): Promise<PaginatedResponse<Game>> {\n  try {\n    const { query, limit, tag, providerIds }: GamesRequestDto = queryKey[1];\n    const isOriginals = tag === GameTagFilter.Originals;\n    const mappedProviders = providerIds?.join(',');\n\n    const response = await baseAPI.get<PaginatedResponse<Game>>('/games', {\n      params: {\n        page: pageParam,\n        query,\n        limit,\n        providerIds: isOriginals\n          ? GameProviderId.Originals?.toString()\n          : !!mappedProviders\n            ? mappedProviders\n            : null,\n        tag: tag === GameTagFilter.Originals ? null : tag,\n      },\n    });\n\n    return response.data;\n  } catch (error) {\n    return undefined;\n  }\n}\n","import { GamesRequestDto } from '@/services/dto/games/games-request.dto';\nimport { GamesQueryKeys } from '../../queryKeys';\nimport { InfiniteData } from '@tanstack/react-query';\nimport { useInfiniteQuery } from '@starsoft/common/services/query-client';\nimport { AxiosError } from 'axios';\nimport { GenericError } from '@/models/generic-error';\nimport { fetchGames } from './service';\nimport { useMemo } from 'react';\nimport {\n  useInfiniteQueryCallbacks,\n  useInfiniteQueryReset,\n} from '@starsoft/common/hooks';\nimport { UseGamesProps, UseGamesQueryKey } from './props';\nimport { PaginatedResponse } from '@/models/pagination/paginated-response.dto';\nimport { Game } from '@/models/game';\n\nexport function useGames(options?: UseGamesProps) {\n  const { enabled = true, limit = 50, query, tag, providerIds } = options ?? {};\n  const params: GamesRequestDto = {\n    limit,\n    query: !!query ? query : undefined,\n    tag,\n    providerIds: (providerIds?.length ?? 0) > 0 ? providerIds : undefined,\n  };\n  const queryKey: UseGamesQueryKey = [GamesQueryKeys.Primary, params];\n\n  const { getNextPageParam, getPreviousPageParam } =\n    useInfiniteQueryCallbacks();\n  useInfiniteQueryReset(queryKey);\n\n  const { data, fetchStatus, ...infinityQuery } = useInfiniteQuery<\n    PaginatedResponse<Game>,\n    AxiosError<GenericError>,\n    InfiniteData<PaginatedResponse<Game>>,\n    UseGamesQueryKey\n  >({\n    queryKey,\n    initialPageParam: 1,\n    queryFn: fetchGames,\n    getNextPageParam,\n    getPreviousPageParam,\n    enabled,\n    staleTime: 5 * 1000,\n    refetchOnWindowFocus: false,\n  });\n\n  const formattedData = useMemo(\n    () => data?.pages?.map(page => page?.data)?.flat(),\n    [data],\n  );\n\n  return {\n    ...infinityQuery,\n    games: formattedData,\n    metadata: data?.pages?.[0]?.metadata,\n    isLoading: infinityQuery.isPending && fetchStatus !== 'idle',\n    error: infinityQuery.error as AxiosError<GenericError>,\n  };\n}\n","import { QueryFunctionContext } from '@tanstack/react-query';\nimport { GamesQueryKeys } from '../../queryKeys';\nimport { GameBySlugRequestDto } from '@/services/dto/games/game-by-slug-request.dto';\nimport baseAPI from '@/api';\nimport { Game } from '@/models/game';\n\nexport async function fetchGameBySLug({\n  queryKey,\n}: QueryFunctionContext<[GamesQueryKeys.BySlug, GameBySlugRequestDto]>) {\n  const { slug } = queryKey[1];\n\n  const response = await baseAPI.get<Game>('/games/by-slug', {\n    params: {\n      slug,\n    },\n  });\n\n  return response.data;\n}\n","export namespace GamingAggregatorStatusId {\n  export const Active = 1n;\n  export const Suspended = 2n;\n  export const Inactive = 3n;\n}\n\nexport type GamingAggregatorStatusIdType =\n  (typeof GamingAggregatorStatusId)[keyof typeof GamingAggregatorStatusId];\n","import { GameBySlugRequestDto } from '@/services/dto/games/game-by-slug-request.dto';\nimport { GamesQueryKeys } from '../../queryKeys';\nimport { useQuery } from '@tanstack/react-query';\nimport { fetchGameBySLug } from './service';\nimport { Game } from '@/models/game';\nimport { AxiosError } from 'axios';\nimport { GenericError } from '@/models/generic-error';\nimport { UseGameBySlugProps } from './props';\nimport { useRouter } from 'next/router';\nimport { useEffect, useMemo } from 'react';\nimport { useSystemConfiguration } from '@/hooks/theme/useSystemConfiguration';\nimport { Either } from '@starsoft/common/interfaces';\nimport { GamingAggregatorStatusId } from '@starsoft/common/models/gaming-aggregator/status/id';\n\nexport function useGameBySlug(options?: UseGameBySlugProps) {\n  const { slug, refetchOnMount = true } = options ?? {};\n  const { push } = useRouter();\n  const { aggregators } = useSystemConfiguration();\n  const queryKey: [GamesQueryKeys.BySlug, GameBySlugRequestDto] = [\n    GamesQueryKeys.BySlug,\n    {\n      slug: slug as string,\n    },\n  ];\n\n  const { data, isPending, error, refetch, fetchStatus, isError } = useQuery<\n    Game,\n    AxiosError<GenericError>,\n    Game,\n    [GamesQueryKeys.BySlug, GameBySlugRequestDto]\n  >({\n    queryKey,\n    queryFn: fetchGameBySLug,\n    enabled: !!slug,\n    staleTime: 5 * 1000,\n    refetchOnMount,\n    refetchOnWindowFocus: false,\n  });\n\n  function handleInactiveGames() {\n    if (!data || data?.isActive == true) {\n      return;\n    }\n\n    push('/casino');\n  }\n\n  useEffect(handleInactiveGames, [data, push]);\n\n  const gameStatus: Either<string, undefined> = useMemo(() => {\n    const aggregatorStatus =\n      aggregators\n        ?.find(\n          aggregator =>\n            aggregator?.id?.toString() === data?.aggregator?.id?.toString?.(),\n        )\n        ?.status?.id?.toString?.() ??\n      GamingAggregatorStatusId.Active?.toString?.();\n\n    return aggregatorStatus;\n  }, [data, aggregators]);\n\n  return {\n    game: data,\n    isLoading: isPending && fetchStatus !== 'idle',\n    error,\n    isError,\n    refetch,\n    gameStatus,\n  };\n}\n","import { QueryFunctionContext } from '@tanstack/react-query';\nimport { GamesQueryKeys } from '../../queryKeys';\nimport baseAPI from '@/api';\nimport { PaginatedResponse } from '@/models/pagination/paginated-response.dto';\nimport { Game } from '@/models/game';\nimport { GamesByProviderRequestDto } from '@/services/dto/games/games-by-provider-request.dto';\n\nexport async function fetchGamesByProvider({\n  pageParam = 1,\n  queryKey,\n}: QueryFunctionContext<\n  [GamesQueryKeys.ByProvider, GamesByProviderRequestDto]\n>) {\n  const { query, limit, providerSlug } = queryKey[1];\n\n  const response = await baseAPI.get<PaginatedResponse<Game>>(\n    '/games/by-provider',\n    {\n      params: {\n        page: pageParam,\n        query,\n        limit,\n        providerSlug,\n      },\n    },\n  );\n\n  return response.data;\n}\n","import { GamesQueryKeys } from '../../queryKeys';\nimport { InfiniteData } from '@tanstack/react-query';\nimport { useInfiniteQuery } from '@starsoft/common/services/query-client';\nimport { AxiosError } from 'axios';\nimport { GenericError } from '@/models/generic-error';\nimport { fetchGamesByProvider } from './service';\nimport { useMemo } from 'react';\nimport { UseGamesByProviderProps } from './props';\nimport { GamesByProviderRequestDto } from '@/services/dto/games/games-by-provider-request.dto';\nimport {\n  useInfiniteQueryCallbacks,\n  useInfiniteQueryReset,\n} from '@starsoft/common/hooks';\nimport { PaginatedResponse } from '@starsoft/common/models';\nimport { Game } from '@/models/game';\n\nexport function useGamesByProvider({\n  enabled = true,\n  limit = 20,\n  query,\n  providerSlug,\n}: UseGamesByProviderProps) {\n  const params: GamesByProviderRequestDto = {\n    limit,\n    query,\n    providerSlug,\n  };\n  const queryKey: [GamesQueryKeys.ByProvider, GamesByProviderRequestDto] = [\n    GamesQueryKeys.ByProvider,\n    params,\n  ];\n\n  const { getNextPageParam, getPreviousPageParam } =\n    useInfiniteQueryCallbacks();\n  useInfiniteQueryReset(queryKey);\n\n  const { data, isPending, ...infinityQuery } = useInfiniteQuery<\n    PaginatedResponse<Game>,\n    AxiosError<GenericError>,\n    InfiniteData<PaginatedResponse<Game>>,\n    [GamesQueryKeys.ByProvider, GamesByProviderRequestDto]\n  >({\n    queryKey,\n    queryFn: fetchGamesByProvider,\n    getNextPageParam,\n    getPreviousPageParam,\n    initialPageParam: 1,\n    enabled,\n    staleTime: 5 * 1000,\n    refetchOnWindowFocus: false,\n  });\n\n  const formattedData = useMemo(\n    () => data?.pages?.map(page => page.data)?.flat(),\n    [data],\n  );\n\n  return {\n    ...infinityQuery,\n    isLoading: isPending,\n    games: formattedData,\n    metadata: data?.pages?.[0]?.metadata,\n    error: infinityQuery.error as AxiosError<GenericError>,\n  };\n}\n","import { QueryFunctionContext } from '@tanstack/react-query';\nimport { UseTopPayoutsQueryKey } from './props';\nimport { PaginatedRequest } from '@/models/pagination/paginated-request';\nimport { AxiosResponse } from 'axios';\nimport { PaginatedResponse } from '@/models/pagination/paginated-response.dto';\nimport { Game } from '@/models/game';\nimport baseAPI from '@/api';\n\nexport async function fetchTopPayout({\n  queryKey,\n  pageParam,\n}: QueryFunctionContext<UseTopPayoutsQueryKey>): Promise<\n  PaginatedResponse<Game>\n> {\n  const { limit }: PaginatedRequest = queryKey[1];\n\n  const response: AxiosResponse<PaginatedResponse<Game>> = await baseAPI.get<\n    PaginatedResponse<Game>\n  >('/games/top-payout', {\n    params: {\n      limit,\n      page: pageParam,\n    },\n  });\n\n  return response.data;\n}\n","import { PaginatedRequest } from '@/models/pagination/paginated-request';\nimport { UseTopPayoutsQueryKey } from './props';\nimport { GamesQueryKeys } from '../../queryKeys';\nimport {\n  useInfiniteQueryCallbacks,\n  useInfiniteQueryReset,\n} from '@starsoft/common/hooks';\nimport { InfiniteData } from '@tanstack/react-query';\nimport { useInfiniteQuery } from '@starsoft/common/services/query-client';\nimport { PaginatedResponse } from '@/models/pagination/paginated-response.dto';\nimport { Game } from '@/models/game';\nimport { GenericError } from '@/models/generic-error';\nimport { AxiosError } from 'axios';\nimport { fetchTopPayout } from './service';\nimport { useMemo } from 'react';\n\nexport function useTopPayouts() {\n  const params: PaginatedRequest = {\n    limit: 20,\n  };\n  const queryKey: UseTopPayoutsQueryKey = [GamesQueryKeys.TopPayout, params];\n\n  const { getNextPageParam, getPreviousPageParam } =\n    useInfiniteQueryCallbacks();\n  useInfiniteQueryReset(queryKey);\n\n  const { data, fetchStatus, ...infinityQuery } = useInfiniteQuery<\n    PaginatedResponse<Game>,\n    AxiosError<GenericError>,\n    InfiniteData<PaginatedResponse<Game>>,\n    UseTopPayoutsQueryKey\n  >({\n    queryKey,\n    initialPageParam: 1,\n    queryFn: fetchTopPayout,\n    getNextPageParam,\n    getPreviousPageParam,\n    staleTime: 5 * 1000,\n    refetchOnWindowFocus: false,\n  });\n\n  const formattedData = useMemo(\n    () => data?.pages?.map(page => page?.data)?.flat(),\n    [data],\n  );\n\n  return {\n    ...infinityQuery,\n    games: formattedData,\n    isPending: infinityQuery.isPending && fetchStatus !== 'idle',\n  };\n}\n","import { QueryFunctionContext } from '@tanstack/react-query';\nimport baseAPI from '@/api';\nimport { Game } from '@/models/game';\nimport { UseGamesRecentlyPlayedQueryKeyProps } from './props';\nimport { PaginatedResponse } from '@starsoft/common/models';\n\nexport async function fetchGamesRecentlyPlayed({\n  queryKey,\n  pageParam,\n}: QueryFunctionContext<UseGamesRecentlyPlayedQueryKeyProps>) {\n  const { limit } = queryKey[1];\n\n  const response = await baseAPI.get<PaginatedResponse<Game>>(\n    '/games/recently-played',\n    {\n      params: {\n        limit,\n        page: pageParam,\n      },\n    },\n  );\n\n  return response.data;\n}\n","import { GamesQueryKeys } from '../../queryKeys';\nimport { InfiniteData } from '@tanstack/react-query';\nimport { useInfiniteQuery } from '@starsoft/common/services/query-client';\nimport { fetchGamesRecentlyPlayed } from './service';\nimport { Game } from '@/models/game';\nimport { AxiosError } from 'axios';\nimport { GenericError } from '@/models/generic-error';\nimport {\n  UseGameRecentlyPlayedProps,\n  UseGamesRecentlyPlayedQueryKeyProps,\n} from './props';\nimport { useMemo } from 'react';\nimport { PaginatedResponse } from '@starsoft/common/models';\nimport { AuthService } from '@starsoft/common/services';\nimport { useInfiniteQueryCallbacks, useToggle } from '@starsoft/common/hooks';\n\nexport function useGamesRecentlyPlayed(options?: UseGameRecentlyPlayedProps) {\n  const { refetchOnMount = true } = options ?? {};\n  const [hideRecentGame, toggleHideRecentGame] = useToggle(false);\n\n  const queryKey: UseGamesRecentlyPlayedQueryKeyProps = [\n    GamesQueryKeys.RecentlyPlayed,\n    {\n      limit: 20,\n    },\n  ];\n\n  const { getNextPageParam, getPreviousPageParam } =\n    useInfiniteQueryCallbacks();\n\n  const { data, isPending, error, refetch, fetchStatus, isError, ...rest } =\n    useInfiniteQuery<\n      PaginatedResponse<Game>,\n      AxiosError<GenericError>,\n      InfiniteData<PaginatedResponse<Game>>,\n      UseGamesRecentlyPlayedQueryKeyProps\n    >({\n      queryKey,\n      queryFn: fetchGamesRecentlyPlayed,\n      enabled: AuthService.isAuthorized(),\n      staleTime: 5 * 1000,\n      refetchOnMount,\n      refetchOnWindowFocus: false,\n      getNextPageParam,\n      getPreviousPageParam,\n      initialPageParam: 1,\n    });\n\n  const games = useMemo(() => data?.pages?.flatMap(page => page?.data), [data]);\n\n  const mostRecentGame = useMemo(() => games?.[0], [games]);\n\n  return {\n    games,\n    isLoading: isPending && fetchStatus !== 'idle',\n    error,\n    isError,\n    refetch,\n    mostRecentGame,\n    hideRecentGame,\n    toggleHideRecentGame,\n    metadata: data?.pages?.[0]?.metadata,\n    ...rest,\n  };\n}\n","export { useGames } from './useGames';\nexport { useGameBySlug } from './useGameBySlug';\nexport { useGamesByProvider } from './useGamesByProvider';\nexport { useTopPayouts } from './useTopPayouts';\nexport { useGamesRecentlyPlayed } from './useGamesRecentlyPlayed';\n","export * from './queries';\n","import Carousel from '../../Carousel';\nimport { GamesSectionProps } from './props';\nimport GameCard from '@/components/core/Games/GameCard/Versions/Primary';\nimport { ErrorCard } from '@starsoft/common/components';\nimport useTranslation from 'next-translate/useTranslation';\nimport { useMemo } from 'react';\n\nexport default function GamesBaseSection({\n  data,\n  error,\n  icon,\n  isLoading,\n  label,\n  link,\n  refetch,\n  secondaryStyles,\n  useAutoScroll = false,\n}: GamesSectionProps) {\n  const { t } = useTranslation('common');\n\n  const Cards = useMemo(\n    () =>\n      data?.map(game => (\n        <GameCard\n          key={`slots_item_${String(link)}_${game?.slug}`}\n          game={game}\n        />\n      )),\n    [data, link],\n  );\n\n  const Skeletons = useMemo(\n    () =>\n      Array.from({ length: 20 }).map((_, i) => (\n        <GameCard key={`slots_item_${String(link)}_skeleton_${i}`} isLoading />\n      )),\n    [link],\n  );\n\n  if (error) {\n    return <ErrorCard error={error} refetch={refetch} />;\n  }\n\n  return (\n    <Carousel\n      icon={icon}\n      label={t(label, {\n        app_provider: process.env.NEXT_PUBLIC_BET_NAME,\n      })}\n      redirect={link}\n      secondaryStyles={secondaryStyles}\n      useAutoScroll={useAutoScroll}\n      key={`carousel-section-${link}`}\n    >\n      {isLoading ? Skeletons : Cards}\n    </Carousel>\n  );\n}\n","import { Input } from '@starsoft/common/components';\nimport { RootState } from '@/lib/store';\nimport { setModalSearch, toggleSearch } from '@/lib/store/casino/actions';\nimport useTranslation from 'next-translate/useTranslation';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { GameSearchInputProps } from './props';\nimport { useEffect } from 'react';\nimport { useIsMobile } from '@starsoft/common/hooks';\n\nexport default function GameSearchInput({\n  isLoading,\n  focusOnMount,\n}: GameSearchInputProps) {\n  const { t } = useTranslation('common');\n  const dispatch = useDispatch();\n  const open: boolean = useSelector(\n    (state: RootState) => state.casino.openSearch,\n  );\n  const search: string = useSelector(\n    (state: RootState) => state.casino.modalSearch,\n  );\n  const isMobile = useIsMobile();\n\n  function handleOnClick() {\n    if (open || focusOnMount) {\n      return;\n    }\n\n    dispatch(toggleSearch());\n  }\n\n  function resetSearchValue(): void {\n    dispatch(setModalSearch(''));\n\n    if (!open) {\n      return;\n    }\n\n    if (!search || isMobile) {\n      dispatch(toggleSearch());\n    }\n  }\n\n  function handleSearchValue(e: React.ChangeEvent<HTMLInputElement>): void {\n    dispatch(setModalSearch(e.target.value));\n  }\n\n  function onUnmount() {\n    return () => {\n      dispatch(setModalSearch(''));\n    };\n  }\n\n  useEffect(onUnmount, [dispatch]);\n\n  return (\n    <Input\n      icon=\"fa-solid fa-magnifying-glass\"\n      showEraserButton\n      placeholder={t('game_provider_search_label')}\n      onClick={handleOnClick}\n      onChange={handleSearchValue}\n      onErase={resetSearchValue}\n      isContainerColor\n      showSpinner={isLoading}\n      focusOnMount={focusOnMount}\n      value={search}\n    />\n  );\n}\n","import { useDispatch, useSelector } from 'react-redux';\nimport styles from './styles.module.scss';\nimport { RootState } from '@/lib/store';\nimport useTranslation from 'next-translate/useTranslation';\nimport { resetSearcHistory } from '@/lib/store/casino/actions';\n\nexport default function SearchHistoryHeader() {\n  const { t } = useTranslation('common');\n  const dispatch = useDispatch();\n  const searchHistory = useSelector(\n    (state: RootState) => state.casino.searchHistory,\n  );\n  const count: number = searchHistory.length;\n\n  function handleReset() {\n    dispatch(resetSearcHistory());\n  }\n\n  return (\n    <div className={styles.container}>\n      <span className={styles.container__title}>\n        {t('search_history_label')}\n      </span>\n\n      <button\n        className={styles['container__label-button']}\n        onClick={handleReset}\n      >\n        {t('clean_search_history_label', {\n          count: count >= 99 ? `${count}+` : count,\n        })}\n      </button>\n    </div>\n  );\n}\n","import { memo } from 'react';\nimport { SearchHistoryChipProps } from './props';\nimport { useDispatch } from 'react-redux';\nimport styles from './styles.module.scss';\nimport {\n  removeSearchHistoryItem,\n  setModalSearch,\n} from '@/lib/store/casino/actions';\n\nfunction SearchHistoryChip({ index, text }: SearchHistoryChipProps) {\n  const dispatch = useDispatch();\n\n  function handleRemoveSearchHistoryItem(index: number) {\n    dispatch(removeSearchHistoryItem(index));\n  }\n\n  function handleSetSearch() {\n    dispatch(setModalSearch(text));\n  }\n\n  return (\n    <div className={styles.container}>\n      <button\n        className={styles['container__text-button']}\n        onClick={handleSetSearch}\n      >\n        {text}\n      </button>\n\n      <button\n        className={`${styles['container__text-button']} ${styles['container__text-button--larger']}`}\n        onClick={() => handleRemoveSearchHistoryItem(index)}\n      >\n        <i className=\"fa-solid fa-xmark\" />\n      </button>\n    </div>\n  );\n}\n\nexport default memo(SearchHistoryChip);\n","import { useSelector } from 'react-redux';\nimport styles from './styles.module.scss';\nimport { RootState } from '@/lib/store';\nimport { useMemo } from 'react';\nimport SearchHistoryChip from './Chip';\n\nexport default function SearchHistoryList() {\n  const searchHistory: string[] = useSelector(\n    (state: RootState) => state.casino.searchHistory,\n  );\n  const Chips = useMemo(\n    () =>\n      searchHistory.map((text, index) => (\n        <SearchHistoryChip\n          key={`search-history-item-${index}`}\n          index={index}\n          text={text}\n        />\n      )),\n    [searchHistory],\n  );\n\n  return <div className={styles.container}>{Chips}</div>;\n}\n","import styles from './styles.module.scss';\nimport SearchHistoryHeader from './Header';\nimport SearchHistoryList from './List';\nimport { useSelector } from 'react-redux';\nimport { RootState } from '@/lib/store';\n\nexport default function SearchHistory() {\n  const searchHistory = useSelector(\n    (state: RootState) => state.casino.searchHistory,\n  );\n\n  if (searchHistory.length === 0) {\n    return null;\n  }\n\n  return (\n    <div className={styles.container}>\n      <SearchHistoryHeader />\n      <SearchHistoryList />\n    </div>\n  );\n}\n","import { useGames } from '@/api/games';\nimport GamesBaseSection from '@/components/Home/Sections/GamesBaseSection';\nimport { GameTagFilter } from '@/models/games/game-tag-filter.enum';\nimport { GenericError } from '@/models/generic-error';\nimport { AxiosError } from 'axios';\n\nexport default function ReccomendedSection() {\n  const { games, error, isLoading, refetch } = useGames({\n    tag: GameTagFilter.Recommended,\n    limit: 20,\n  });\n\n  return (\n    <GamesBaseSection\n      data={games ?? []}\n      isLoading={isLoading}\n      link={`/games/tag/${GameTagFilter.Recommended}`}\n      error={error as AxiosError<GenericError>}\n      refetch={refetch}\n      label=\"recommended_games\"\n      useAutoScroll\n    />\n  );\n}\n","import useTranslation from 'next-translate/useTranslation';\nimport styles from './styles.module.scss';\nimport SearchHistory from './SearchHistory';\nimport ReccomendedSection from './RecommendedSection';\n\nexport default function GameSearchModalDefaultContent() {\n  const { t } = useTranslation('common');\n\n  return (\n    <div className={styles.container}>\n      <p className={styles.container__text}>{t('sports_search_constraint')}</p>\n      <SearchHistory />\n\n      <div className={styles['container__hide-mobile']}>\n        <ReccomendedSection />\n      </div>\n    </div>\n  );\n}\n","import GameList from '@/components/core/Games/GameList';\nimport { GameSearchModalProps } from '../Content/props';\nimport { useDispatch } from 'react-redux';\nimport { setSearchHistory } from '@/lib/store/casino/actions';\nimport { useEffect } from 'react';\n\nexport default function GameSearchModalGamesResult({\n  games,\n  isFetchingNextPage,\n  isLoading,\n  error,\n  refetch,\n  isSuccess,\n  search,\n}: GameSearchModalProps) {\n  const dispatch = useDispatch();\n\n  function handleNewSearch() {\n    if (!isSuccess) {\n      return;\n    }\n\n    dispatch(setSearchHistory(search));\n  }\n\n  useEffect(handleNewSearch, [isSuccess, search, dispatch]);\n\n  return (\n    <GameList\n      games={games ?? []}\n      refetch={() => refetch?.()}\n      error={error}\n      isFetchingNextPage={isFetchingNextPage}\n      isLoading={isLoading}\n    />\n  );\n}\n","import { useLottiePlayer } from '@starsoft/common/hooks';\nimport { EmptySearchProps } from './props';\nimport styles from './styles.module.scss';\nimport { TransWithDefault } from '@starsoft/common/components';\n\nexport default function EmptySearch({ search }: EmptySearchProps) {\n  const { lottieAnimationRef } = useLottiePlayer({\n    path: '/empty-search.json',\n  });\n\n  return (\n    <div className={styles.container}>\n      <div className={styles.container__lottie} ref={lottieAnimationRef} />\n      <p className={styles.container__text}>\n        <TransWithDefault\n          i18nKey={\n            search ? 'support:not_found_description' : 'common:no_result'\n          }\n          values={{\n            search: search,\n          }}\n        />\n      </p>\n    </div>\n  );\n}\n","import styles from './styles.module.scss';\nimport { useSelector } from 'react-redux';\nimport { RootState } from '@/lib/store';\nimport EmptySearch from '@/components/core/InputSearch/Empty';\n\nexport default function GameSearchModalEmptySearch() {\n  const search = useSelector((state: RootState) => state.casino.modalSearch);\n\n  return (\n    <div className={styles.container}>\n      <EmptySearch search={search} />\n    </div>\n  );\n}\n","import { GameSearchModalProps } from './props';\nimport GameSearchModalDefaultContent from '../Default';\nimport GameSearchModalGamesResult from '../GamesResult';\nimport GameSearchModalEmptySearch from '../Empty';\n\nexport default function GameSearchModalContent({\n  games,\n  isFetchingNextPage,\n  isLoading,\n  error,\n  refetch,\n  isSuccess,\n  search,\n}: GameSearchModalProps) {\n  if (search?.length < 3) {\n    return <GameSearchModalDefaultContent />;\n  }\n\n  if (games?.length === 0 && !isLoading && !error) {\n    return <GameSearchModalEmptySearch />;\n  }\n\n  return (\n    <GameSearchModalGamesResult\n      games={games}\n      isFetchingNextPage={isFetchingNextPage}\n      isLoading={isLoading}\n      error={error}\n      refetch={refetch}\n      isSuccess={isSuccess}\n      search={search}\n    />\n  );\n}\n","import useTranslation from 'next-translate/useTranslation';\nimport { GameSearchModalHeaderProps } from './props';\nimport styles from './styles.module.scss';\n\nexport default function GameSearchModalHeader({\n  error,\n  isLoading,\n  count,\n  currentAmount,\n}: GameSearchModalHeaderProps) {\n  const { t } = useTranslation('common');\n\n  if (error) {\n    return null;\n  }\n\n  return (\n    <div className={styles.container}>\n      <h4 className={styles.container__title}>{t('result_game_search')}</h4>\n\n      {isLoading ? (\n        <div className={styles.skeleton} />\n      ) : (\n        <p className={styles.container__text}>\n          {t('result_count', {\n            currentAmount,\n            count,\n          })}\n        </p>\n      )}\n    </div>\n  );\n}\n","import { m as motion } from 'framer-motion';\nimport { slideInDesktop, slideInMobile } from './variants';\n\nimport { PropsWithChildren } from 'react';\nimport styles from './styles.module.scss';\nimport { useSelector } from 'react-redux';\nimport { RootState } from '@/lib/store';\nimport { useIsMobile } from '@starsoft/common/hooks';\nimport { SearchModalProps } from './props';\nimport { useClickOutside } from '@starsoft/common/hooks';\n\nexport default function SearchModal({\n  children,\n  onClose,\n}: PropsWithChildren<SearchModalProps>) {\n  const collapsed = useSelector((state: RootState) => state.sideBar.collapsed);\n  const isMobile = useIsMobile();\n  const ref = useClickOutside({\n    onClickOutside: onClose,\n    open: true,\n  });\n\n  return (\n    <>\n      <motion.div\n        className={`${styles.container}  ${collapsed ? styles['container--collapsed'] : ''}`}\n        variants={isMobile ? {} : slideInDesktop}\n        animate=\"visible\"\n        initial=\"hidden\"\n        exit=\"hidden\"\n        //@ts-ignore\n        ref={ref}\n      >\n        <div className={styles.container__content}>{children}</div>\n      </motion.div>\n\n      <motion.div\n        variants={isMobile ? slideInMobile : slideInDesktop}\n        animate=\"visible\"\n        initial=\"hidden\"\n        exit=\"hidden\"\n        className={styles.overlay}\n      />\n    </>\n  );\n}\n","import { useGames } from '@/api/games';\nimport { useDebounce } from '@starsoft/common/hooks';\nimport { RootState } from '@/lib/store';\nimport { useDispatch, useSelector } from 'react-redux';\nimport styles from './styles.module.scss';\nimport { AnimatePresence } from 'framer-motion';\nimport { setModalSearch, toggleSearch } from '@/lib/store/casino/actions';\n\nimport GameSearchModalContent from './Content';\nimport GameSearchInput from '../Input';\nimport GameSearchModalHeader from './GamesResult/Header';\nimport { useInfiniteScroll } from '@starsoft/common/hooks';\nimport SearchModal from '@/components/core/InputSearch/Modal';\n\nexport default function GameSearchModal() {\n  const open: boolean = useSelector(\n    (state: RootState) => state.casino.openSearch,\n  );\n  const search: string = useSelector(\n    (state: RootState) => state.casino.modalSearch,\n  );\n  const debouncedSearch = useDebounce(search);\n  const dispatch = useDispatch();\n\n  const {\n    hasNextPage,\n    isFetching,\n    isLoading,\n    isFetchingNextPage,\n    fetchNextPage,\n    games,\n    error,\n    refetch,\n    metadata,\n    isSuccess,\n  } = useGames({\n    query: debouncedSearch,\n    enabled: open && debouncedSearch?.length >= 3,\n  });\n  const { ref } = useInfiniteScroll({\n    hasMore: hasNextPage ?? false,\n    isLoading: isLoading || isFetchingNextPage || isFetching,\n    loadMore: () => fetchNextPage(),\n  });\n\n  function handleToggleModal() {\n    dispatch(toggleSearch());\n    dispatch(setModalSearch(''));\n  }\n\n  return (\n    <AnimatePresence>\n      {open && (\n        <SearchModal onClose={handleToggleModal}>\n          <div className={styles['sticky-container']}>\n            <GameSearchInput\n              focusOnMount\n              isLoading={isLoading || isFetchingNextPage}\n            />\n\n            {(debouncedSearch?.length > 3 ||\n              ((games?.length ?? 0) > 0 && !error && !isLoading)) && (\n              <GameSearchModalHeader\n                isLoading={isLoading}\n                error={error}\n                currentAmount={games?.length}\n                count={metadata?.count ?? 0}\n              />\n            )}\n          </div>\n          <div className={styles.content} ref={ref}>\n            <GameSearchModalContent\n              error={error}\n              isFetchingNextPage={isFetchingNextPage}\n              isLoading={isLoading}\n              games={games ?? []}\n              refetch={refetch}\n              isSuccess={isSuccess}\n              search={debouncedSearch}\n            />\n          </div>\n        </SearchModal>\n      )}\n    </AnimatePresence>\n  );\n}\n","import { GameListProps } from './props';\nimport { memo, useMemo } from 'react';\nimport styles from './styles.module.scss';\nimport GameCard from '../GameCard/Versions/Primary';\nimport { ErrorCard, NoDataComponent } from '@starsoft/common/components';\n\nfunction GameList({\n  games,\n  error,\n  isLoading,\n  isFetchingNextPage,\n  refetch,\n}: GameListProps) {\n  const Games = useMemo(\n    () =>\n      games?.map(game => (\n        <GameCard key={`slot-game-${game?.id}`} game={game} />\n      )),\n    [games],\n  );\n\n  const Skeletons = useMemo(\n    () =>\n      Array.from({ length: 50 }).map((_, index) => (\n        <GameCard key={`slot-game-card-skeleton-${index}`} isLoading />\n      )),\n    [],\n  );\n\n  if (error) {\n    return <ErrorCard error={error} refetch={refetch} />;\n  }\n\n  if (games?.length == 0 && !isLoading) {\n    return <NoDataComponent />;\n  }\n\n  return (\n    <div className={styles.container}>\n      {isLoading ? Skeletons : Games}\n      {isFetchingNextPage && Skeletons}\n    </div>\n  );\n}\n\nexport default memo(GameList);\n","export namespace GameProviderId {\n  export const Originals = 1n;\n  export const Ezugi = 0n;\n  export const TvBet = 2n;\n  export const Evolutiongames = 4n;\n  export const GoldenRace = 7n;\n  export const Spinmatic = 8n;\n  export const Endorphina = 19n;\n  export const WizardGames = 20n;\n  export const Habanero = 21n;\n  export const PragmaticPlay = 22n;\n  export const TomHorn = 23n;\n  export const GameArt = 26n;\n  export const OnexTwoNetwork = 29n;\n  export const Triplecherry = 30n;\n  export const Mobilots = 41n;\n  export const OneTouch = 43n;\n  export const Slotmill = 51n;\n  export const Thunderkick = 54n;\n  export const Yggdrasil = 56n;\n  export const SmartSoft = 58n;\n  export const IronDogStudio = 59n;\n  export const LuckyStreak = 61n;\n  export const RedRake = 66n;\n  export const LEAP = 67n;\n  export const BlueprintGaming = 74n;\n  export const KalambaGames = 75n;\n  export const RealtimeGaming = 76n;\n  export const SpearheadStudios = 77n;\n  export const Nolimitcity = 79n;\n  export const KironInteractive = 84n;\n  export const FantasmaGames = 85n;\n  export const OMIGaming = 86n;\n  export const DragoonSoft = 88n;\n  export const NetEnt = 92n;\n  export const SkywindCasino = 96n;\n  export const Quickspin = 98n;\n  export const MascotGaming = 102n;\n  export const Evoplay = 103n;\n  export const WoohooGames = 104n;\n  export const ElkStudios = 105n;\n  export const KaGaming = 106n;\n  export const Platipus = 116n;\n  export const CaletaGaming = 117n;\n  export const Gamzix = 118n;\n  export const RevolverGaming = 120n;\n  export const Wazdan = 121n;\n  export const PrintStudios = 125n;\n  export const Ezugipremium = 126n;\n  export const Evolutiongamespremium = 128n;\n  export const Pragmaticlive = 129n;\n  export const MrSlotty = 132n;\n  export const TrueLab = 133n;\n  export const Betsolutions = 134n;\n  export const BGaming = 136n;\n  export const Fazi = 138n;\n  export const Tpg = 139n;\n  export const VirtualGeneration = 142n;\n  export const GamesInc = 143n;\n  export const Betgamestv = 144n;\n  export const Felix = 145n;\n  export const NetGaming = 148n;\n  export const FunTaGaming = 149n;\n  export const SevenMojosLive = 151n;\n  export const SevenMojosSlots = 152n;\n  export const Fugaso = 154n;\n  export const FunkyGames = 158n;\n  export const Mancala = 159n;\n  export const CoolGames = 160n;\n  export const Spinthon = 161n;\n  export const Xpg = 163n;\n  export const Apollo = 197n;\n  export const CQ9Casino = 205n;\n  export const Skywind = 208n;\n  export const BigTimeGaming = 209n;\n  export const Microgaming = 244n;\n  export const EURASIANGaming = 252n;\n  export const Jili = 288n;\n  export const FastGamesbyGalaxsys = 297n;\n  export const CTInteractive = 301n;\n  export const OnlyPlay = 313n;\n  export const Spinberry = 314n;\n  export const TurboGames = 321n;\n  export const AmigoGaming = 324n;\n  export const AGTsoftware = 325n;\n  export const Elbet = 326n;\n  export const RubyPlay = 328n;\n  export const Espresso = 329n;\n  export const FCGame = 333n;\n  export const Playson = 343n;\n  export const Spribe = 344n;\n  export const BarbaraBang = 348n;\n  export const ZeusPlay = 349n;\n  export const RedTigerGaming = 354n;\n  export const Playtech = 356n;\n  export const PGSoft = 358n;\n  export const Amatic = 367n;\n  export const PushGaming = 373n;\n  export const Thirtyaks = 374n;\n  export const Vivo = 375n;\n}\n\nexport type GameProviderIdType =\n  (typeof GameProviderId)[keyof typeof GameProviderId];\n","import { useSettingsStore } from '@starsoft/common/hooks/useSettingsStore';\nimport { CommonSettings } from '@starsoft/common/interfaces';\nimport { Trans as ITrans } from '@starsoft/common/interfaces/trans';\nimport { ComponentType } from 'react';\n\n/**\n * TransWithDefault Component\n * This component is responsible for rendering a translation component with default fallback.\n * It utilizes the settings store to determine the appropriate translation component to use.\n *\n * @param {ITrans} props - The properties for the component.\n * @param {object} props.components - Custom components to be used within the translation text.\n * @param {string} props.i18nKey - The internationalization key for the translation.\n * @param {object} props.values - The values to be interpolated in the translation string.\n *\n * @returns {JSX.Element} The rendered translation component with provided components and props.\n *\n * @example\n * // Usage example:\n * <TransWithDefault\n *   components={{ strong: <strong />, br: <br /> }}\n *   i18nKey=\"example_key\"\n *   values={{ name: 'John' }}\n * />\n */\nexport function TransWithDefault({ components, ...props }: ITrans) {\n  const { state } = useSettingsStore();\n  const settings: CommonSettings = state.settings;\n  const Trans: ComponentType<ITrans> = settings.translationComponents.Trans;\n\n  // Render the Trans component with provided components and props\n  return (\n    <Trans\n      components={{\n        strong: <strong />,\n        br: <br />,\n        p: <p />,\n        ul: <ul />,\n        li: <li />,\n        ...components,\n      }}\n      {...props}\n    />\n  );\n}\n","import { useEffect, useState } from 'react';\n\n/**\n * Custom hook that debounces a value.\n *\n * @template T - The type of the value to debounce.\n * @param {T} value - The value to debounce.\n * @param {number} [delay=500] - The debounce delay in milliseconds.\n * @returns {T} - The debounced value.\n *\n * @example\n * const debouncedSearchTerm = useDebounce<string>(searchTerm, 300);\n */\nexport function useDebounce<T>(value: T, delay: number = 500): T {\n  // State to store the debounced value\n  const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n  /**\n   * Function to handle the debounce logic.\n   * Sets a timeout to update the debounced value after the specified delay.\n   * Clears the timeout if the value or delay changes before the timeout completes.\n   */\n  function handleDebounce() {\n    const timer = setTimeout(() => {\n      setDebouncedValue(value);\n    }, delay);\n\n    return () => {\n      clearTimeout(timer);\n    };\n  }\n\n  // useEffect hook to apply the debounce logic whenever the value or delay changes\n  useEffect(handleDebounce, [value, delay]);\n\n  // Return the debounced value\n  return debouncedValue;\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport { UseInfiniteScrollProps } from './props';\nimport { debounce } from 'lodash';\n\n/**\n * Custom hook to implement infinite scrolling functionality within a container.\n * It listens to the scroll event and triggers a callback to load more content\n * when the user scrolls near the bottom of the container.\n *\n * @param {UseInfiniteScrollProps} props - The properties for the infinite scroll hook.\n * @param {boolean} props.hasMore - Indicates if there are more items to load.\n * @param {boolean} props.isLoading - Indicates if a loading operation is currently in progress.\n * @param {Function} props.loadMore - The function to call to load more items.\n * @param {boolean} [props.condition=true] - An additional condition to check before loading more items.\n * @param {boolean} [props.reverse=false] - If true, loads more items when scrolled to the top.\n *\n * @returns {Object} - An object containing a ref to attach to the scrollable container and a boolean indicating if the scroll is at the bottom.\n * @returns {React.RefObject<any>} ref - A ref to attach to the scrollable container.\n * @returns {boolean} isAtBottom - A boolean indicating if the scroll is at the bottom of the container.\n *\n * Example usage:\n * const { ref, isAtBottom } = useInfiniteScroll({\n *   hasMore: true,\n *   isLoading: false,\n *   loadMore: () => fetchMoreItems(),\n *   condition: true,\n *   reverse: false,\n * });\n */\nexport function useInfiniteScroll({\n  hasMore,\n  isLoading,\n  loadMore,\n  condition = true,\n  reverse = false,\n}: UseInfiniteScrollProps) {\n  // Reference to the scrollable container element\n  const ref = useRef<any>(null);\n  // State to track the distance from the bottom of the container\n  const [distanceBottom, setDistanceBottom] = useState(0);\n  // State to track if the scroll is at the bottom of the container\n  const [isAtBottom, setIsAtBottom] = useState(false);\n\n  /**\n   * Memoized scroll event listener that checks if more content should be loaded.\n   * It uses lodash's debounce to limit the rate at which the function is called.\n   */\n  const scrollListener = useCallback(\n    debounce(() => {\n      if (ref && ref.current) {\n        const scrollTop = ref?.current?.scrollTop;\n        const bottom = ref.current?.scrollHeight - ref.current?.clientHeight;\n\n        // Set the distance from the bottom if not already set\n        if (!distanceBottom) {\n          setDistanceBottom(Math.round(bottom * 0.2));\n        }\n\n        // Load more items if scrolled to the top and conditions are met\n        if (scrollTop === 0 && hasMore && !isLoading && condition && reverse) {\n          loadMore();\n        }\n\n        // Load more items if scrolled near the bottom and conditions are met\n        if (\n          scrollTop > bottom - distanceBottom &&\n          hasMore &&\n          !isLoading &&\n          condition &&\n          !reverse\n        ) {\n          loadMore();\n        }\n\n        // Update the isAtBottom state based on scroll position\n        if (scrollTop > bottom - distanceBottom) {\n          setIsAtBottom(true);\n        } else {\n          setIsAtBottom(false);\n        }\n      }\n    }, 100),\n    [hasMore, loadMore, isLoading, distanceBottom, reverse, condition, ref],\n  );\n\n  /**\n   * Effect hook to add the scroll event listener when the component mounts\n   * and remove it when the component unmounts.\n   */\n  useEffect(() => {\n    if (!(ref && ref?.current)) {\n      return;\n    }\n    const element = ref?.current;\n\n    // Add scroll event listener\n    element?.addEventListener('scroll', scrollListener);\n    // Cleanup function to remove the event listener\n    return () => {\n      element?.removeEventListener('scroll', scrollListener);\n    };\n  }, [scrollListener, ref]);\n\n  // Return the ref to the scrollable container and the isAtBottom state\n  return {\n    ref,\n    isAtBottom,\n  };\n}\n\nexport type { UseInfiniteScrollProps };\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container___zqJq\",\"container__label-button\":\"styles_container__label-button__KT9t7\",\"container__title\":\"styles_container__title__1wgcU\",\"skeleton-animation\":\"styles_skeleton-animation__nlgFd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__URaq2\",\"container__text-button\":\"styles_container__text-button__5slYF\",\"container__text-button--larger\":\"styles_container__text-button--larger__M5jp0\",\"skeleton-animation\":\"styles_skeleton-animation__PIGGO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__j_A_i\",\"skeleton-animation\":\"styles_skeleton-animation__a0YlF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__0NVTY\",\"skeleton-animation\":\"styles_skeleton-animation__X3Qwd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__GLKhd\",\"container__text\":\"styles_container__text__pyHHj\",\"container__hide-mobile\":\"styles_container__hide-mobile__8Nseq\",\"skeleton-animation\":\"styles_skeleton-animation__w4Ctk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__WonRc\",\"skeleton-animation\":\"styles_skeleton-animation__NYVzQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"skeleton\":\"styles_skeleton__A_uC1\",\"skeleton-animation\":\"styles_skeleton-animation__zdRZ0\",\"container\":\"styles_container__B7wTy\",\"container__title\":\"styles_container__title__hNbfU\",\"container__text\":\"styles_container__text__sWBhB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sticky-container\":\"styles_sticky-container__4mjwg\",\"content\":\"styles_content__1_dCt\",\"skeleton-animation\":\"styles_skeleton-animation__GG3xk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__FKmFh\",\"skeleton-animation\":\"styles_skeleton-animation__7lxpe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__ZMG_y\",\"container__text\":\"styles_container__text__8_VIu\",\"container__lottie\":\"styles_container__lottie__ERXe4\",\"skeleton-animation\":\"styles_skeleton-animation__iP0XA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__I2OAn\",\"container--collapsed\":\"styles_container--collapsed__hsDda\",\"container__content\":\"styles_container__content__MxieB\",\"overlay\":\"styles_overlay__kJcPe\",\"skeleton-animation\":\"styles_skeleton-animation__6X9tY\"};"],"names":["Symbol","root","module","exports","__webpack_require__","getRawTag","objectToString","symToStringTag","toStringTag","undefined","value","Object","trimmedEndIndex","reTrimStart","string","slice","replace","freeGlobal","g","objectProto","prototype","hasOwnProperty","nativeObjectToString","toString","isOwn","call","tag","unmasked","e","result","freeSelf","self","Function","reWhitespace","index","length","test","charAt","isObject","now","toNumber","nativeMax","Math","max","nativeMin","min","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","args","thisArg","apply","shouldInvoke","timeSinceLastCall","timeSinceLastInvoke","timerExpired","timeWaiting","trailingEdge","setTimeout","debounced","isInvoking","arguments","clearTimeout","cancel","flush","type","baseGetTag","isObjectLike","Date","baseTrim","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","valueOf","isBinary","GamesQueryKeys","GamingAggregatorStatusId","fetchGames","param","pageParam","queryKey","GameProviderId","query","limit","providerIds","isOriginals","GameTagFilter","Originals","mappedProviders","join","response","baseAPI","get","params","page","data","error","useGames","enabled","Primary","getNextPageParam","getPreviousPageParam","useInfiniteQueryCallbacks","useInfiniteQueryReset","fetchStatus","infinityQuery","useInfiniteQuery","initialPageParam","queryFn","staleTime","refetchOnWindowFocus","formattedData","useMemo","pages","map","flat","games","metadata","isLoading","isPending","fetchGameBySLug","slug","useGameBySlug","refetchOnMount","push","useRouter","aggregators","useSystemConfiguration","BySlug","refetch","isError","useQuery","useEffect","isActive","gameStatus","find","aggregator","id","status","Active","game","fetchGamesByProvider","providerSlug","useGamesByProvider","ByProvider","fetchTopPayout","useTopPayouts","TopPayout","fetchGamesRecentlyPlayed","Suspended","Inactive","useGamesRecentlyPlayed","hideRecentGame","toggleHideRecentGame","useToggle","RecentlyPlayed","rest","AuthService","isAuthorized","flatMap","mostRecentGame","GamesBaseSection","icon","label","link","secondaryStyles","useAutoScroll","t","useTranslation","Cards","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","GameCard","concat","String","Skeletons","Array","from","_","i","ErrorCard","Carousel","app_provider","process","redirect","GameSearchInput","focusOnMount","dispatch","useDispatch","open","useSelector","state","casino","openSearch","search","modalSearch","isMobile","useIsMobile","setModalSearch","Input","showEraserButton","placeholder","onClick","toggleSearch","onChange","target","onErase","isContainerColor","showSpinner","SearchHistoryHeader","count","searchHistory","jsx_runtime","jsxs","div","className","styles","span","button","resetSearcHistory","Chip","memo","text","removeSearchHistoryItem","SearchHistoryList","Chips","SearchHistoryChip","SearchHistory","ReccomendedSection","Recommended","GameSearchModalDefaultContent","p","GameSearchModalGamesResult","isFetchingNextPage","isSuccess","setSearchHistory","GameList","EmptySearch","lottieAnimationRef","useLottiePlayer","path","ref","TransWithDefault","i18nKey","values","GameSearchModalEmptySearch","GameSearchModalContent","GameSearchModalHeader","currentAmount","h4","SearchModal","children","onClose","collapsed","sideBar","useClickOutside","onClickOutside","Fragment","motion","variants","slideInDesktop","animate","initial","exit","slideInMobile","GameSearchModal","debouncedSearch","useDebounce","hasNextPage","isFetching","fetchNextPage","useInfiniteScroll","hasMore","loadMore","AnimatePresence","__webpack_exports__","Z","Games","NoDataComponent","Ezugi","TvBet","Evolutiongames","GoldenRace","Spinmatic","Endorphina","WizardGames","Habanero","PragmaticPlay","TomHorn","GameArt","OnexTwoNetwork","Triplecherry","Mobilots","OneTouch","Slotmill","Thunderkick","Yggdrasil","SmartSoft","IronDogStudio","LuckyStreak","RedRake","LEAP","BlueprintGaming","KalambaGames","RealtimeGaming","SpearheadStudios","Nolimitcity","KironInteractive","FantasmaGames","OMIGaming","DragoonSoft","NetEnt","SkywindCasino","Quickspin","MascotGaming","Evoplay","WoohooGames","ElkStudios","KaGaming","Platipus","CaletaGaming","Gamzix","RevolverGaming","Wazdan","PrintStudios","Ezugipremium","Evolutiongamespremium","Pragmaticlive","MrSlotty","TrueLab","Betsolutions","BGaming","Fazi","Tpg","VirtualGeneration","GamesInc","Betgamestv","Felix","NetGaming","FunTaGaming","SevenMojosLive","SevenMojosSlots","Fugaso","FunkyGames","Mancala","CoolGames","Spinthon","Xpg","Apollo","CQ9Casino","Skywind","BigTimeGaming","Microgaming","EURASIANGaming","Jili","FastGamesbyGalaxsys","CTInteractive","OnlyPlay","Spinberry","TurboGames","AmigoGaming","AGTsoftware","Elbet","RubyPlay","Espresso","FCGame","Playson","Spribe","BarbaraBang","ZeusPlay","RedTigerGaming","Playtech","PGSoft","Amatic","PushGaming","Thirtyaks","Vivo","components","props","useSettingsStore","Trans","settings","translationComponents","strong","br","ul","li","delay","debouncedValue","setDebouncedValue","useState","timer","condition","reverse","useRef","distanceBottom","setDistanceBottom","isAtBottom","setIsAtBottom","scrollListener","useCallback","debounce","current","scrollTop","bottom","scrollHeight","clientHeight","round","element","addEventListener","removeEventListener"],"sourceRoot":""}