{"version":3,"file":"247aa8022d9f4d0e983a.bundle.js","mappings":"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","sources":["webpack://spartner/./node_modules/@10d/tend-ui-api/middleware/BaseAxiosMiddleware.js","webpack://spartner/./node_modules/@10d/tend-ui-api/client.js","webpack://spartner/./node_modules/@10d/tend-ui-api/middleware/RequestCanceller.js","webpack://spartner/./node_modules/@10d/tend-ui-api/clientFactory.js","webpack://spartner/./node_modules/@10d/tend-ui-api/context.js","webpack://spartner/./node_modules/@10d/tend-ui-api/ApiClient.js","webpack://spartner/./node_modules/@10d/tend-ui-api/node_modules/@10d/tend-ui-hooks/useCallbackRef/useCallbackRef.js","webpack://spartner/./node_modules/@10d/tend-ui-api/node_modules/@10d/tend-ui-hooks/useControllableState/useControllableState.js","webpack://spartner/./node_modules/@10d/tend-ui-api/CacheManager.js","webpack://spartner/./node_modules/@10d/tend-ui-api/hooks/useApi/useApi.js","webpack://spartner/./node_modules/@10d/tend-ui-api/hooks/usePaginationApi/usePaginationApi.js","webpack://spartner/./node_modules/@10d/tend-ui-factories/contextFactory/contextFactory.js","webpack://spartner/./node_modules/@10d/tend-ui-factories/createContext/createContext.js","webpack://spartner/./node_modules/@10d/tend-ui-factories/withInjectedClassName/withInjectedClassName.js","webpack://spartner/./node_modules/@10d/tend-ui-fonts/MuseoSansCyrl/MuseoSansCyrl.js","webpack://spartner/./node_modules/@10d/tend-ui-grid/Box/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-grid/Space/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-grid/Space/Space.js","webpack://spartner/./node_modules/@10d/tend-ui-grid/Row/Row.js","webpack://spartner/./node_modules/@10d/tend-ui-grid/Col/Col.js","webpack://spartner/./node_modules/@10d/tend-ui-grid/Flex/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-grid/Flex/Flex.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-hooks/useCallbackRef/useCallbackRef.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-hooks/useControllableState/useControllableState.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-hooks/useMediaQuery/useMediaQuery.js","webpack://spartner/./node_modules/@10d/tend-ui-header/consts.js","webpack://spartner/./node_modules/@10d/tend-ui-header/components/desktop/Analytics/Analytics.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/Responsive/Responsive.js","webpack://spartner/./node_modules/@10d/tend-ui-header/components/desktop/Authorization/Authorization.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/hooks/useStand.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/Stand/Stand.js","webpack://spartner/./node_modules/@10d/tend-ui-header/components/desktop/Logo/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/components/desktop/Logo/utils.js","webpack://spartner/./node_modules/@10d/tend-ui-header/components/desktop/Logo/Logo.js","webpack://spartner/./node_modules/@10d/tend-ui-header/hooks/useRole.js","webpack://spartner/./node_modules/@10d/tend-ui-header/components/desktop/Profile/Profile.js","webpack://spartner/./node_modules/@10d/tend-ui-header/components/desktop/Support/Support.js","webpack://spartner/./node_modules/@10d/tend-ui-header/hooks/useSamoletServices.js","webpack://spartner/./node_modules/@10d/tend-ui-header/ui/Button/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/ui/Button/Button.js","webpack://spartner/./node_modules/@10d/tend-ui-header/components/desktop/BurgerMenu/components/Card/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/components/desktop/BurgerMenu/components/Card/Card.js","webpack://spartner/./node_modules/@10d/tend-ui-header/components/desktop/BurgerMenu/components/Preloader/Preloader.js","webpack://spartner/./node_modules/@10d/tend-ui-header/components/desktop/BurgerMenu/BurgerMenu.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Drawer/contexts/DrawerContext.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Drawer/components/Root/Root.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Drawer/components/Header/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Drawer/components/Header/Header.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Drawer/components/Footer/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Drawer/components/Body/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Drawer/components/Body/Body.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Drawer/components/CloseButton/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Drawer/components/CloseButton/CloseButton.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Spinner/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Spinner/Spinner.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Dot/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Dot/Dot.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Counter/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Counter/Counter.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Layout/components/Root/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Layout/contexts/SizeContext.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/ToggleButton/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/Layout/components/Main/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/ToggleButton/context.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/ToggleButton/Group/Group.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-primitives/ToggleButton/ToggleButton.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/StackNavigation/utils.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/StackNavigation/components/NavigationItem/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/StackNavigation/components/NavigationItem/NavigationItem.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/StackNavigation/components/NavigationGroupItem/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/StackNavigation/components/NavigationGroupItem/NavigationGroupItem.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/StackNavigation/components/NavigationList/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/StackNavigation/components/NavigationList/NavigationList.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/StackNavigation/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/StackNavigation/StackNavigation.js","webpack://spartner/./node_modules/@10d/tend-ui-header/components/mobile/MobileProfile/MobileProfile.js","webpack://spartner/./node_modules/@10d/tend-ui-header/components/mobile/MobileBurgerMenu/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/components/mobile/MobileBurgerMenu/MobileBurgerMenu.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/Navigation/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/Navigation/Navigation.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/Logo/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/Logo/Logo.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/Root/styled.js","webpack://spartner/./node_modules/@10d/tend-ui-header/core/Root/Root.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/@10d/tend-ui-types/Option.js","webpack://spartner/./node_modules/@10d/tend-ui-header/components/desktop/Project/utils.js","webpack://spartner/./node_modules/@10d/tend-ui-header/components/desktop/Project/Project.js","webpack://spartner/./node_modules/@10d/tend-ui-header/Header.js","webpack://spartner/./node_modules/@10d/tend-ui-header/node_modules/classnames/index.js"],"sourcesContent":["/**\n * @description Base middleware axios class\n */\nclass BaseAxiosMiddleware {\n constructor() {\n this.onRequest = (config) => {\n return config;\n };\n this.onRequestError = (error) => {\n return Promise.reject(error);\n };\n this.onResponse = (response) => {\n return response;\n };\n this.onResponseError = (error) => {\n return Promise.reject(error);\n };\n }\n}\n\nexport { BaseAxiosMiddleware };\n//# sourceMappingURL=BaseAxiosMiddleware.js.map\n","import axios from 'axios';\nimport { RequestCanceller } from './middleware/RequestCanceller.js';\n\nconst client = axios.create({\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n});\n/**\n * Register all middlewares\n */\n[RequestCanceller].forEach(Middleware => {\n const instance = new Middleware();\n client.interceptors.request.use(instance.onRequest, instance.onRequestError);\n client.interceptors.response.use(instance.onResponse, instance.onResponseError);\n});\n\nexport { client };\n//# sourceMappingURL=client.js.map\n","import axios from 'axios';\nimport { BaseAxiosMiddleware } from './BaseAxiosMiddleware.js';\n\n/**\n * @description Middleware для библиотеки axios отвечающая за отмену повторно отправленных запросов\n */\nclass RequestCanceller extends BaseAxiosMiddleware {\n constructor() {\n super(...arguments);\n this.pendingRequests = new Map();\n /**\n * @description Is request running?\n */\n this.isPending = (url) => {\n return this.pendingRequests.has(url);\n };\n /**\n * @description Remove request\n */\n this.unregister = (url) => {\n this.pendingRequests.delete(url);\n };\n /**\n * @description Register request\n */\n this.register = (url, request) => {\n const source = axios.CancelToken.source();\n this.pendingRequests.set(url, source);\n request.cancelToken = source.token;\n };\n /**\n * @description Cancel request\n */\n this.cancel = (url) => {\n const source = this.pendingRequests.get(url);\n this.pendingRequests.delete(url);\n source === null || source === void 0 ? void 0 : source.cancel();\n };\n this.onRequest = (request) => {\n const { cancellable = false } = request;\n if (!request.url || !cancellable)\n return request;\n if (this.isPending(request.url))\n this.cancel(request.url);\n this.register(request.url, request);\n return request;\n };\n this.onResponse = (response) => {\n if (!response.config.url)\n return response;\n if (this.isPending(response.config.url))\n this.unregister(response.config.url);\n return response;\n };\n }\n}\n\nexport { RequestCanceller };\n//# sourceMappingURL=RequestCanceller.js.map\n","const clientFactory = (instance) => ({\n get: (url, config) => instance.get(url, config).then(response => response.data),\n});\n\nexport { clientFactory };\n//# sourceMappingURL=clientFactory.js.map\n","import React from 'react';\nimport { clientFactory } from './clientFactory.js';\nimport { client } from './client.js';\n\nconst ApiClientContext = React.createContext(undefined);\nconst useClient = () => {\n const Context = React.useContext(ApiClientContext);\n if (typeof Context === 'undefined')\n return clientFactory(client);\n return Context;\n};\n\nexport { ApiClientContext, useClient };\n//# sourceMappingURL=context.js.map\n","import React from 'react';\nimport { client } from './client.js';\nimport { ApiClientContext } from './context.js';\nexport { useClient } from './context.js';\nimport { clientFactory } from './clientFactory.js';\n\nconst ApiClient = ({ children, client: client$1 = client, }) => {\n return (React.createElement(ApiClientContext.Provider, { value: React.useMemo(() => clientFactory(client$1), [client$1]) }, children));\n};\nApiClient.displayName = 'ApiClient';\n\nexport { ApiClient };\n//# sourceMappingURL=ApiClient.js.map\n","import React from 'react';\n\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n // https://github.com/facebook/react/issues/19240\n return React.useMemo(() => ((...args) => { var _a; return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args); }), []);\n}\n\nexport { useCallbackRef };\n//# sourceMappingURL=useCallbackRef.js.map\n","import React from 'react';\nimport { useCallbackRef } from '../useCallbackRef/useCallbackRef.js';\n\nconst useUncontrolledState = ({ defaultValue, onChange, }) => {\n const _state = React.useState(defaultValue);\n const [value] = _state;\n const previousValue = React.useRef(value);\n const _onChange = useCallbackRef(onChange);\n React.useEffect(() => {\n if (previousValue.current === value)\n return;\n _onChange(value);\n previousValue.current = value;\n }, [value, previousValue, _onChange]);\n return _state;\n};\nconst useControllableState = ({ value, defaultValue, onChange, }) => {\n const [_value, _setValue] = useUncontrolledState({\n defaultValue,\n onChange,\n });\n const isControlled = value !== undefined;\n const __value = isControlled ? value : _value;\n const _onChange = useCallbackRef(onChange);\n const setValue = React.useCallback(previous => {\n if (isControlled) {\n const setter = previous;\n const next = typeof previous === 'function' ? setter(value) : previous;\n if (next !== value)\n _onChange(next);\n }\n else {\n _setValue(previous);\n }\n }, [isControlled, value, _setValue, _onChange]);\n return [__value, setValue];\n};\n\nexport { useUncontrolledState as UNSTABLE_useUncontrolledState, useControllableState };\n//# sourceMappingURL=useControllableState.js.map\n","/**\n * @internal Not for public usage\n */\nconst __CACHE = new Map();\nclass CacheManager {\n constructor({ cacheTime = 300000, staleTime = 60000, }) {\n this.cacheTime = cacheTime;\n this.staleTime = staleTime;\n this.get = this.get.bind(this);\n this.set = this.set.bind(this);\n this.isFresh = this.isFresh.bind(this);\n this.isExists = this.isExists.bind(this);\n this.isStale = this.isStale.bind(this);\n }\n get(key) {\n return __CACHE.get(key);\n }\n set(key, payload) {\n __CACHE.set(key, { data: payload, timestamp: Date.now() });\n }\n isExists(key) {\n return __CACHE.has(key);\n }\n isFresh(key) {\n var _a;\n const cached = this.get(key);\n if (!cached)\n return false;\n const cacheTime = (_a = this.cacheTime) !== null && _a !== void 0 ? _a : 300000;\n const now = Date.now();\n const difference = now - cached.timestamp;\n return difference <= cacheTime;\n }\n isStale(key) {\n var _a, _b;\n const cached = this.get(key);\n if (!cached)\n return true;\n const cacheTime = (_a = this.cacheTime) !== null && _a !== void 0 ? _a : 300000;\n const staleTime = (_b = this.staleTime) !== null && _b !== void 0 ? _b : 60000;\n const now = Date.now();\n const difference = now - cached.timestamp;\n return difference > cacheTime && difference <= cacheTime + staleTime;\n }\n}\n\nexport { CacheManager, __CACHE };\n//# sourceMappingURL=CacheManager.js.map\n","import React from 'react';\nimport axios from 'axios';\nimport { useCallbackRef } from '@10d/tend-ui-hooks';\nimport { useClient } from '../../context.js';\nimport { CacheManager } from '../../CacheManager.js';\n\nconst useApi = (api) => {\n const client = useClient();\n const [loading, setLoading] = React.useState(false);\n const [data, setData] = React.useState(null);\n const [error, setError] = React.useState(null);\n const request = useCallbackRef((payload) => {\n setLoading(true);\n if (typeof api === 'string') {\n return client\n .get(api, { params: payload === null || payload === void 0 ? void 0 : payload.params })\n .then(response => {\n setLoading(false);\n setData(response);\n return response;\n })\n .catch(e => {\n if (axios.isCancel(e))\n throw e;\n setLoading(false);\n setError(e);\n throw e;\n });\n }\n if (typeof api === 'function') {\n return api(payload)\n .then(response => {\n setData(response);\n return response;\n })\n .catch(e => {\n setError(e);\n throw e;\n })\n .finally(() => {\n setLoading(false);\n });\n }\n if ('url' in api) {\n return client\n .get(api.url, {\n params: payload === null || payload === void 0 ? void 0 : payload.params,\n cancellable: api.cancellable,\n })\n .then(response => {\n setLoading(false);\n setData(response);\n return response;\n })\n .catch(e => {\n if (axios.isCancel(e))\n throw e;\n setLoading(false);\n setError(e);\n throw e;\n });\n }\n return api\n .fn(payload)\n .then(response => {\n setData(response);\n return response;\n })\n .catch(e => {\n setError(e);\n throw e;\n })\n .finally(() => {\n setLoading(false);\n });\n });\n const cacheRequest = useCallbackRef((payload, options) => {\n var _a, _b;\n if (typeof api === 'string' || typeof api === 'function' || !api.cache) {\n return request(payload);\n }\n const force = (_a = options === null || options === void 0 ? void 0 : options.force) !== null && _a !== void 0 ? _a : false;\n const key = api.cache.key;\n const manager = new CacheManager({\n cacheTime: api === null || api === void 0 ? void 0 : api.cache.cacheTime,\n staleTime: (_b = api === null || api === void 0 ? void 0 : api.cache) === null || _b === void 0 ? void 0 : _b.staleTime,\n });\n if (manager.isExists(key) && !force) {\n const cached = manager.get(key);\n if (manager.isFresh(key)) {\n // if staled, refreshing data for next request\n if (manager.isStale(key)) {\n request(payload).then(response => {\n manager.set(key, response);\n return response;\n });\n }\n setLoading(false);\n setData(cached.data);\n return Promise.resolve(cached.data);\n }\n }\n return request(payload).then(response => {\n if (!force) {\n manager.set(key, response);\n }\n return response;\n });\n });\n return {\n data,\n loading,\n error,\n request: cacheRequest,\n };\n};\n\nexport { useApi };\n//# sourceMappingURL=useApi.js.map\n","import React from 'react';\nimport axios from 'axios';\nimport { useCallbackRef } from '@10d/tend-ui-hooks';\nimport { useClient } from '../../context.js';\nimport { CacheManager } from '../../CacheManager.js';\n\nconst usePaginationApi = (api) => {\n const client = useClient();\n const [loading, setLoading] = React.useState(false);\n const [info, setInfo] = React.useState(null);\n const [data, setData] = React.useState(null);\n const [error, setError] = React.useState(null);\n const isMoreLoading = React.useRef(false);\n const request = useCallbackRef((payload) => {\n setLoading(true);\n if (typeof api === 'string') {\n return client\n .get(api, { params: payload === null || payload === void 0 ? void 0 : payload.params })\n .then(response => {\n setLoading(false);\n setInfo(response);\n setData(response.results);\n return response;\n })\n .catch(e => {\n if (axios.isCancel(e))\n throw e;\n setLoading(false);\n setError(e);\n throw e;\n });\n }\n if (typeof api === 'function') {\n return api(payload)\n .then(response => {\n setInfo(response);\n setData(response.results);\n return response;\n })\n .catch(e => {\n setError(e);\n throw e;\n })\n .finally(() => {\n setLoading(false);\n });\n }\n if ('url' in api) {\n return client\n .get(api.url, {\n params: payload === null || payload === void 0 ? void 0 : payload.params,\n cancellable: api.cancellable,\n })\n .then(response => {\n setLoading(false);\n setInfo(response);\n setData(response.results);\n return response;\n })\n .catch(e => {\n if (axios.isCancel(e))\n throw e;\n setLoading(false);\n setError(e);\n throw e;\n });\n }\n return api\n .fn(payload)\n .then(response => {\n setInfo(response);\n setData(response.results);\n return response;\n })\n .catch(e => {\n setError(e);\n throw e;\n })\n .finally(() => {\n setLoading(false);\n });\n });\n const cacheRequest = useCallbackRef((payload, options) => {\n var _a, _b;\n if (typeof api === 'string' || typeof api === 'function' || !api.cache) {\n return request(payload);\n }\n const force = (_a = options === null || options === void 0 ? void 0 : options.force) !== null && _a !== void 0 ? _a : false;\n const key = api.cache.key;\n const manager = new CacheManager({\n cacheTime: api === null || api === void 0 ? void 0 : api.cache.cacheTime,\n staleTime: (_b = api === null || api === void 0 ? void 0 : api.cache) === null || _b === void 0 ? void 0 : _b.staleTime,\n });\n if (manager.isExists(key) && !force) {\n const cached = manager.get(key);\n if (manager.isFresh(key)) {\n // if staled, refreshing data for next request\n if (manager.isStale(key)) {\n request(payload).then(response => {\n manager.set(key, response);\n return response;\n });\n }\n setLoading(false);\n setInfo(cached.data);\n setData(cached.data.results);\n return Promise.resolve(cached.data);\n }\n }\n return request(payload).then(response => {\n if (!force) {\n manager.set(key, response);\n }\n return response;\n });\n });\n const next = useCallbackRef(() => {\n if (!(info === null || info === void 0 ? void 0 : info.next) || isMoreLoading.current)\n return;\n isMoreLoading.current = true;\n client.get(info === null || info === void 0 ? void 0 : info.next).then(response => {\n isMoreLoading.current = false;\n setInfo(response);\n setData(previous => [...(previous || []), ...response.results]);\n });\n });\n return {\n data,\n loading,\n error,\n request: cacheRequest,\n next,\n };\n};\n\nexport { usePaginationApi };\n//# sourceMappingURL=usePaginationApi.js.map\n","import React from 'react';\n\nfunction contextFactory(provider = 'Context', initial) {\n const Context = React.createContext(initial);\n function useContext(consumer = 'useContext') {\n const context = React.useContext(Context);\n if (context)\n return context;\n throw new Error(`\\`${consumer}\\` must be used within \\`${provider}\\`!`);\n }\n Context.displayName = provider;\n return [Context.Provider, useContext];\n}\n\nexport { contextFactory };\n//# sourceMappingURL=contextFactory.js.map\n","import { __rest } from 'tslib';\nimport React from 'react';\n\nconst createContext = (provider, initial) => {\n const Context = React.createContext(initial);\n const Provider = (props) => {\n const { children } = props, context = __rest(props, [\"children\"]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const value = React.useMemo(() => context, Object.values(context));\n return React.createElement(Context.Provider, { value: value }, children);\n };\n const useContext = (consumer) => {\n const context = React.useContext(Context);\n if (context)\n return context;\n if (initial !== undefined)\n return initial;\n throw new Error(`\\`${consumer}\\` must be used within \\`${provider}\\``);\n };\n Provider.displayName = `${provider}Provider`;\n return [Provider, useContext];\n};\n\nexport { createContext };\n//# sourceMappingURL=createContext.js.map\n","import React from 'react';\n\n/**\n * @description HOC passes a React \"className\" property to a given property name\n * in order to style off-DOM-rendered elements with \"styled-components\"\n */\nconst withInjectedClassName = (Component, propertyName) => {\n return React.forwardRef((props, ref) => {\n const property = [props[propertyName], props.className].filter(Boolean).join(' ');\n return React.createElement(Component, Object.assign({ ref: ref }, props, { [propertyName]: property }));\n });\n};\n\nexport { withInjectedClassName };\n//# sourceMappingURL=withInjectedClassName.js.map\n","import { createGlobalStyle } from 'styled-components';\n\nconst MuseoSansCyrl = createGlobalStyle `\n @font-face {\n font-family: 'Museo Sans Cyrl';\n src: url('https://minicdn.samoletgroup.ru/file/56f6f568d0e1c7710e91082da8c0b56a4cd8ba9e.woff2')\n format('woff2'),\n url('https://minicdn.samoletgroup.ru/file/8c880f2ea4333169fd6fa835dde285a3b1bd311f.woff')\n format('woff'),\n url('https://minicdn.samoletgroup.ru/file/572b78c8d54bb15b80f1d73a8dff557f1d2d7915.otf')\n format('opentype');\n font-weight: 100;\n font-style: normal;\n font-display: swap;\n }\n\n @font-face {\n font-family: 'Museo Sans Cyrl';\n src: url('https://minicdn.samoletgroup.ru/file/c236bcc385d148366680da9d4f96d4af4e0a43a6.woff2')\n format('woff2'),\n url('https://minicdn.samoletgroup.ru/file/357a662c1dc2171f41c7c702b5b98ff8b962abe5.woff')\n format('woff'),\n url('https://minicdn.samoletgroup.ru/file/d8fb9691aceaca6e0aea352c144c3cf2f86f4493.otf')\n format('opentype');\n font-weight: 100;\n font-style: italic;\n font-display: swap;\n }\n\n @font-face {\n font-family: 'Museo Sans Cyrl';\n src: url('https://minicdn.samoletgroup.ru/file/05519436d275314db9a32ae811e21a6f2b461c3e.woff2')\n format('woff2'),\n url('https://minicdn.samoletgroup.ru/file/d1aabb5cf4564bf35f2161a0db033afea60eed33.woff')\n format('woff'),\n url('https://minicdn.samoletgroup.ru/file/081e410b3b2dda4ef5e2c0fe438386418df776b9.otf')\n format('opentype');\n font-weight: normal;\n font-style: normal;\n font-display: swap;\n }\n\n @font-face {\n font-family: 'Museo Sans Cyrl';\n src: url('https://minicdn.samoletgroup.ru/file/aa2601c26593a7c0d09701641da38bfb10d80c64.woff2')\n format('woff2'),\n url('https://minicdn.samoletgroup.ru/file/ff60f75cf80572d9fe1ce7b7ffb7e0bd7ea34c9e.woff')\n format('woff'),\n url('https://minicdn.samoletgroup.ru/file/ccc16f7d59f59a31de16813eb103b1cae98e8726.otf')\n format('opentype');\n font-weight: normal;\n font-style: italic;\n font-display: swap;\n }\n\n @font-face {\n font-family: 'Museo Sans Cyrl';\n src: url('https://minicdn.samoletgroup.ru/file/e304abec844b086b8123bf162c8643bdc4ab2bf9.woff2')\n format('woff2'),\n url('https://minicdn.samoletgroup.ru/file/51a9fa5dd612dbec6409125c464cb0b253d462ac.woff')\n format('woff'),\n url('https://minicdn.samoletgroup.ru/file/209730ad01b288a44b2a375d0bc9e44148c7a081.otf')\n format('opentype');\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n }\n\n @font-face {\n font-family: 'Museo Sans Cyrl';\n src: url('https://minicdn.samoletgroup.ru/file/46244970d46da983b62f8188a14352ecfffaee03.woff2')\n format('woff2'),\n url('https://minicdn.samoletgroup.ru/file/58f921a5f03053c30878608a95811a5078804231.woff')\n format('woff'),\n url('https://minicdn.samoletgroup.ru/file/9f3655a86e3b921459584c153f44118b7d5269a1.otf')\n format('opentype');\n font-weight: 500;\n font-style: italic;\n font-display: swap;\n }\n\n @font-face {\n font-family: 'Museo Sans Cyrl';\n src: url('https://minicdn.samoletgroup.ru/file/44e83d2a89a82a4f7861a2d49480f81ff2c4ac80.woff2')\n format('woff2'),\n url('https://minicdn.samoletgroup.ru/file/4e8f7e5954b094e591bd89a40c6d2fe493189f81.woff')\n format('woff'),\n url('https://minicdn.samoletgroup.ru/file/aa0b3c56c1fa6ca75a695b06c79f30f2c2b51756.otf')\n format('opentype');\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n }\n\n @font-face {\n font-family: 'Museo Sans Cyrl';\n src: url('https://minicdn.samoletgroup.ru/file/93f70258de8df850d926b4004212c72a1fed25a4.woff2')\n format('woff2'),\n url('https://minicdn.samoletgroup.ru/file/b7a8eed9aa132fca8be5461e2d3494db007a0b07.woff')\n format('woff'),\n url('https://minicdn.samoletgroup.ru/file/66c0f15dd6cd3db461f7d2b8b001ecefaff2b7f4.otf')\n format('opentype');\n font-weight: 700;\n font-style: italic;\n font-display: swap;\n }\n\n @font-face {\n font-family: 'Museo Sans Cyrl';\n src: url('https://minicdn.samoletgroup.ru/file/8ac8e6c02814b5657fcca120e60a0af3f2ff7da9.woff2')\n format('woff2'),\n url('https://minicdn.samoletgroup.ru/file/650b195b2c47bdaada34c7665bda1cb563e23dc8.woff')\n format('woff'),\n url('https://minicdn.samoletgroup.ru/file/7885da5617e71507638730804a76077e4886a79f.otf')\n format('opentype');\n font-weight: 900;\n font-style: normal;\n font-display: swap;\n }\n\n @font-face {\n font-family: 'Museo Sans Cyrl';\n src: url('https://minicdn.samoletgroup.ru/file/297aa74f3f2c76c7463ab2e50cbcec1a5211a3df.woff2')\n format('woff2'),\n url('https://minicdn.samoletgroup.ru/file/c56abb945da0d78676d8d3849bad48793ffde91f.woff')\n format('woff'),\n url('https://minicdn.samoletgroup.ru/file/3ac15ef9e8f53ed0362b3d3cd8e8f2620ad1c592.otf')\n format('opentype');\n font-weight: 900;\n font-style: italic;\n font-display: swap;\n }\n`;\n\nexport { MuseoSansCyrl };\n//# sourceMappingURL=MuseoSansCyrl.js.map\n","import styled from 'styled-components';\nimport { styling, px, pointer } from '@10d/tend-ui-styling';\n\nconst padding = styling({\n $padding: {\n type: 'string | number',\n properties: ['padding'],\n transform: px,\n },\n $pt: {\n type: 'string | number',\n properties: ['paddingTop'],\n transform: px,\n },\n $pr: {\n type: 'string | number',\n properties: ['paddingRight'],\n transform: px,\n },\n $pb: {\n type: 'string | number',\n properties: ['paddingBottom'],\n transform: px,\n },\n $pl: {\n type: 'string | number',\n properties: ['paddingLeft'],\n transform: px,\n },\n});\nconst margin = styling({\n $margin: {\n type: 'string | number',\n properties: ['margin'],\n transform: px,\n },\n $mt: {\n type: 'string | number',\n properties: ['marginTop'],\n transform: px,\n },\n $mr: {\n type: 'string | number',\n properties: ['marginRight'],\n transform: px,\n },\n $mb: {\n type: 'string | number',\n properties: ['marginBottom'],\n transform: px,\n },\n $ml: {\n type: 'string | number',\n properties: ['marginLeft'],\n transform: px,\n },\n});\nconst appearance = styling({\n $color: {\n type: 'string | number',\n properties: ['color'],\n },\n $backgroundColor: {\n type: 'string | number',\n properties: ['backgroundColor'],\n },\n});\nconst layout = styling({\n $display: {\n type: 'string | number',\n properties: ['display'],\n },\n $gridTemplateColumns: {\n type: 'string | number',\n properties: ['gridTemplateColumns'],\n },\n $gridTemplateRows: {\n type: 'string | number',\n properties: ['gridTemplateRows'],\n },\n $gridAutoFlow: {\n type: 'string',\n properties: ['gridAutoFlow'],\n },\n $rowGap: {\n type: 'string | number',\n properties: ['rowGap'],\n transform: px,\n },\n $columnGap: {\n type: 'string | number',\n properties: ['columnGap'],\n transform: px,\n },\n $opacity: {\n type: 'string | number',\n properties: ['opacity'],\n },\n $alignItems: {\n type: 'string | number',\n properties: ['alignItems'],\n },\n $flexDirection: {\n type: 'string | number',\n properties: ['flexDirection'],\n },\n $justifyContent: {\n type: 'string | number',\n properties: ['justifyContent'],\n },\n $flex: {\n type: 'string | number',\n properties: ['flex'],\n },\n $flexWrap: {\n type: 'string | number',\n properties: ['flexWrap'],\n },\n $flexShrink: {\n type: 'string | number',\n properties: ['flexShrink'],\n },\n $flexGrow: {\n type: 'string | number',\n properties: ['flexGrow'],\n },\n $position: {\n type: 'string | number',\n properties: ['position'],\n },\n $width: {\n type: 'string | number',\n properties: ['width'],\n transform: px,\n },\n $height: {\n type: 'string | number',\n properties: ['height'],\n transform: px,\n },\n $minWidth: {\n type: 'string | number',\n properties: ['minWidth'],\n transform: px,\n },\n $minHeight: {\n type: 'string | number',\n properties: ['minHeight'],\n transform: px,\n },\n $maxWidth: {\n type: 'string | number',\n properties: ['maxWidth'],\n transform: px,\n },\n $maxHeight: {\n type: 'string | number',\n properties: ['maxHeight'],\n transform: px,\n },\n $top: {\n type: 'string | number',\n properties: ['top'],\n transform: px,\n },\n $right: {\n type: 'string | number',\n properties: ['right'],\n transform: px,\n },\n $bottom: {\n type: 'string | number',\n properties: ['bottom'],\n transform: px,\n },\n $left: {\n type: 'string | number',\n properties: ['left'],\n transform: px,\n },\n $gap: {\n type: 'string | number',\n properties: ['gap'],\n transform: px,\n },\n $zIndex: {\n type: 'string | number',\n properties: ['zIndex'],\n },\n $borderRadius: {\n type: 'string | number',\n properties: ['borderRadius'],\n transform: px,\n },\n});\nconst Box = styled.div `\n ${layout};\n ${appearance};\n ${margin};\n ${padding};\n ${pointer};\n`;\nBox.displayName = 'Box';\n\nexport { Box };\n//# sourceMappingURL=styled.js.map\n","import AntSpace from 'antd-core/es/space';\nimport styled, { css } from 'styled-components';\n\nconst Root = styled(AntSpace) `\n ${props => props.$fullWidth &&\n css `\n width: 100%;\n `}\n\n ${props => {\n switch (props.$grow) {\n case 'first':\n return css `\n .tend-ui-space-item:first-child {\n margin-right: auto;\n }\n `;\n case 'last':\n return css `\n .tend-ui-space-item:last-child {\n margin-left: auto;\n }\n `;\n default:\n return;\n }\n}}\n`;\n\nexport { Root };\n//# sourceMappingURL=styled.js.map\n","import { __rest } from 'tslib';\nimport React from 'react';\nimport AntSpace from 'antd-core/es/space';\nimport { Root } from './styled.js';\n\nAntSpace.Compact.displayName = 'Space.Compact';\nconst InnerSpace = React.forwardRef((_a, ref) => {\n var { grow, fullWidth } = _a, props = __rest(_a, [\"grow\", \"fullWidth\"]);\n return (React.createElement(Root, Object.assign({ \"data-testid\": 'tend-ui-space' }, props, { ref: ref, \"$grow\": grow, \"$fullWidth\": fullWidth })));\n});\nconst Space = Object.assign(InnerSpace, {\n displayName: 'Space',\n Compact: AntSpace.Compact,\n});\n\nexport { Space };\n//# sourceMappingURL=Space.js.map\n","import React from 'react';\nimport AntRow from 'antd-core/es/row';\n\nconst Row = React.forwardRef((props, ref) => {\n return React.createElement(AntRow, Object.assign({ \"data-testid\": 'tend-ui-row' }, props, { ref: ref }));\n});\nRow.displayName = 'Row';\n\nexport { Row };\n//# sourceMappingURL=Row.js.map\n","import React from 'react';\nimport AntCol from 'antd-core/es/col';\n\nconst Col = React.forwardRef((props, ref) => {\n return React.createElement(AntCol, Object.assign({ \"data-testid\": 'tend-ui-col' }, props, { ref: ref }));\n});\nCol.displayName = 'Col';\n\nexport { Col };\n//# sourceMappingURL=Col.js.map\n","import { padding, margin } from '@10d/tend-ui-styling';\nimport Flex from 'antd-core/es/flex';\nimport styled from 'styled-components';\n\nconst Root = styled(Flex) `\n ${padding};\n ${margin};\n`;\n\nexport { Root };\n//# sourceMappingURL=styled.js.map\n","import { __rest } from 'tslib';\nimport React from 'react';\nimport { extractMarginProps, extractPaddingProps } from '@10d/tend-ui-styling';\nimport { Root } from './styled.js';\n\nconst Flex = React.forwardRef((props, ref) => {\n const _a = extractMarginProps(props), { rest: withoutMargins } = _a, margins = __rest(_a, [\"rest\"]);\n const _b = extractPaddingProps(withoutMargins), { rest } = _b, paddings = __rest(_b, [\"rest\"]);\n return React.createElement(Root, Object.assign({}, rest, { ref: ref }, margins, paddings));\n});\nFlex.displayName = 'Flex';\n\nexport { Flex };\n//# sourceMappingURL=Flex.js.map\n","import React from 'react';\n\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n // https://github.com/facebook/react/issues/19240\n return React.useMemo(() => ((...args) => { var _a; return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args); }), []);\n}\n\nexport { useCallbackRef };\n//# sourceMappingURL=useCallbackRef.js.map\n","import React from 'react';\nimport { useCallbackRef } from '../useCallbackRef/useCallbackRef.js';\n\nconst useUncontrolledState = ({ defaultValue, onChange, }) => {\n const _state = React.useState(defaultValue);\n const [value] = _state;\n const previousValue = React.useRef(value);\n const _onChange = useCallbackRef(onChange);\n React.useEffect(() => {\n if (previousValue.current === value)\n return;\n _onChange(value);\n previousValue.current = value;\n }, [value, previousValue, _onChange]);\n return _state;\n};\nconst useControllableState = ({ value, defaultValue, onChange, }) => {\n const [_value, _setValue] = useUncontrolledState({\n defaultValue,\n onChange,\n });\n const isControlled = value !== undefined;\n const __value = isControlled ? value : _value;\n const _onChange = useCallbackRef(onChange);\n const setValue = React.useCallback(previous => {\n if (isControlled) {\n const setter = previous;\n const next = typeof previous === 'function' ? setter(value) : previous;\n if (next !== value)\n _onChange(next);\n }\n else {\n _setValue(previous);\n }\n }, [isControlled, value, _setValue, _onChange]);\n return [__value, setValue];\n};\n\nexport { useUncontrolledState as UNSTABLE_useUncontrolledState, useControllableState };\n//# sourceMappingURL=useControllableState.js.map\n","import React from 'react';\n\nconst useMediaQuery = (query) => {\n const [isMatch, setIsMatch] = React.useState(false);\n const [mediaQueryList, setMediaQueryList] = React.useState(null);\n React.useEffect(() => {\n const list = window.matchMedia(query);\n setMediaQueryList(list);\n setIsMatch(list.matches);\n }, [query]);\n React.useEffect(() => {\n if (!mediaQueryList)\n return;\n const onChange = (e) => {\n setIsMatch(e.matches);\n };\n mediaQueryList.addEventListener('change', onChange);\n return () => {\n mediaQueryList.removeEventListener('change', onChange);\n };\n }, [mediaQueryList]);\n return isMatch;\n};\n\nexport { useMediaQuery };\n//# sourceMappingURL=useMediaQuery.js.map\n","const S_INFO_STAGE_URL = 'https://info-stage.samoletgroup.ru/main/';\nconst S_INFO_PROD_URL = 'https://info.samoletgroup.ru/';\nconst S_PRO_STAGE_ANALYTICS_URL = 'https://pro-stage.samoletgroup.ru/analytics/';\nconst S_PRO_PROD_ANALYTICS_URL = 'https://pro.samoletgroup.ru/analytics/';\n\nexport { S_INFO_PROD_URL, S_INFO_STAGE_URL, S_PRO_PROD_ANALYTICS_URL, S_PRO_STAGE_ANALYTICS_URL };\n","import React from 'react';\nimport { useTranslation } from '@10d/tend-ui-locale/hooks/useTranslation';\nimport { Button } from '@10d/tend-ui/primitives';\nimport { useColors } from '@10d/tend-ui-theme';\nimport { S_PRO_STAGE_ANALYTICS_URL, S_PRO_PROD_ANALYTICS_URL } from '../../../consts.js';\n\nconst Analytics = ({ stand = 'prod' }) => {\n const colors = useColors();\n const t = useTranslation();\n const link = {\n stage: S_PRO_STAGE_ANALYTICS_URL,\n dev: S_PRO_STAGE_ANALYTICS_URL,\n mr: S_PRO_STAGE_ANALYTICS_URL,\n e2e: S_PRO_STAGE_ANALYTICS_URL,\n prod: S_PRO_PROD_ANALYTICS_URL,\n }[stand];\n return (React.createElement(Button\n // FIXME: Перевести на styling API\n , { \n // FIXME: Перевести на styling API\n style: { padding: '8px' }, variant: 'ghost', preset: 'accent', UNSTABLE_styling: {\n buttonOnAccent: { ghostDefaultText: colors['white800-transparent'] },\n }, onClick: () => {\n window.open(link, '_blank');\n } }, t(['widgets', 'Layout', 'Header', 'analytics'])));\n};\n\nexport { Analytics };\n","import React from 'react';\nimport { useMediaQuery } from '@10d/tend-ui-hooks';\n\nconst Responsive = ({ children, mobile = null, }) => {\n const isDesktop = useMediaQuery('(min-width: 768px)');\n return isDesktop ? React.createElement(React.Fragment, null, children) : React.createElement(React.Fragment, null, mobile);\n};\n\nexport { Responsive };\n","import React from 'react';\nimport { useTranslation } from '@10d/tend-ui-locale/hooks/useTranslation';\nimport { Box } from '@10d/tend-ui-grid';\nimport { Button } from '@10d/tend-ui/primitives';\nimport { Responsive } from '../../../core/Responsive/Responsive.js';\n\nconst Authorization = ({ signinButtonProps, signupButtonProps, onSignin, onSignup, }) => {\n const t = useTranslation();\n return (React.createElement(Box, { \"$display\": 'flex', \"$alignItems\": 'center', \"$gap\": 4 },\n React.createElement(Responsive, null,\n React.createElement(Button, Object.assign({ as: 'a', href: '/accounts/register/', onClick: onSignup }, signupButtonProps), t(['general', 'signup']))),\n React.createElement(Button, Object.assign({ as: 'a', href: '/accounts/login/', variant: 'primary', preset: 'accent', onClick: onSignin }, signinButtonProps), t(['general', 'signin']))));\n};\n\nexport { Authorization };\n","const INTERNAL_useStand = (stand) => {\n const isStage = stand === 'stage';\n const isDev = stand === 'stage';\n const isProd = stand === 'prod';\n const isE2e = stand === 'e2e';\n const isMr = stand === 'mr';\n return { isStage, isDev, isProd, isE2e, isMr };\n};\n\nexport { INTERNAL_useStand };\n","import React from 'react';\nimport { Tag } from '@10d/tend-ui/primitives';\nimport { Text } from '@10d/tend-ui-typography';\n\nconst labels = {\n dev: 'DEV',\n stage: 'STAGE',\n prod: 'PROD',\n mr: 'MR',\n e2e: 'E2E',\n};\nconst colors = {\n dev: {\n color: 'gray0',\n bg: 'cyan600',\n },\n stage: {\n color: 'gray0',\n bg: 'cyan600',\n },\n prod: {\n color: 'gray0',\n bg: 'cyan600',\n },\n e2e: {\n color: 'gray0',\n bg: 'cyan600',\n },\n mr: {\n color: 'gray0',\n bg: 'cyan600',\n },\n};\nconst Stand = ({ stand }) => {\n return (React.createElement(Tag, { \"data-testid\": 'tend-ui-stand', backgroundColor: colors[stand].bg },\n React.createElement(Text, { color: colors[stand].color, size: 'xs', uppercase: true, wordBreak: 'normal', fontWeight: 600 }, labels[stand])));\n};\n\nexport { Stand };\n","import styled from 'styled-components';\nimport { Box } from '@10d/tend-ui-grid';\n\nconst Root = styled(Box) `\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 6px 4px;\n\n .tend-ui-icon-root {\n font-size: 20px;\n color: ${props => props.theme.colors.gray0};\n }\n`;\n\nexport { Root };\n","const UPPER_CASED = [\n 's.aed',\n 's.oda',\n 's.rmp',\n 's.ecm',\n 's.sass',\n 's.cp',\n];\nconst formatServiceName = (app) => {\n if (UPPER_CASED.includes(app))\n return app.toUpperCase();\n if (app === 's.limon')\n return 'S.LimOn';\n return app\n .replace(/-/g, ' ')\n .split('.')\n .map(p => p\n .split(' ')\n .map(w => w.charAt(0).toUpperCase() + w.slice(1))\n .join(' '))\n .join('.');\n};\n\nexport { formatServiceName };\n","import React from 'react';\nimport { Text } from '@10d/tend-ui-typography';\nimport { Image } from '@10d/tend-ui/ui';\nimport { useTheme } from '@10d/tend-ui-theme';\nimport { isUndefined } from '@10d/tend-ui-utils';\nimport cn from 'classnames';\nimport { INTERNAL_useStand } from '../../../core/hooks/useStand.js';\nimport { Stand } from '../../../core/Stand/Stand.js';\nimport { Root } from './styled.js';\nimport { formatServiceName } from './utils.js';\n\nconst Logo = ({ onClick, app, stand, after, children, before }) => {\n const theme = useTheme();\n const svg = `${app.toLowerCase()}-gray0.svg`.replace('.', '');\n const src = `https://cdn.samolet10d.ru/tend-ui/logos/${svg}`;\n const { isProd } = INTERNAL_useStand(stand);\n const content = React.useMemo(() => {\n if (!isUndefined(children))\n return children;\n return formatServiceName(app);\n }, [app, children]);\n const _before = isUndefined(before) ? React.createElement(Image, { width: 20, src: src }) : before;\n const _after = isUndefined(after) ? !isProd && React.createElement(Stand, { stand: stand }) : after;\n return (React.createElement(Root, { theme: theme, className: cn(['tend-ui-logo-root']), \"$pointer\": !!onClick, onClick: onClick },\n _before,\n React.createElement(Text, { color: 'gray0', style: { display: 'block', whiteSpace: 'nowrap' }, strong: true }, content),\n _after));\n};\n\nexport { Logo };\n","const useRole = (profile) => {\n const isEmployee = (profile === null || profile === void 0 ? void 0 : profile.role) === 'employee';\n const isPartner = (profile === null || profile === void 0 ? void 0 : profile.role) === 'partner';\n return { isEmployee, isPartner };\n};\n\nexport { useRole };\n","import React from 'react';\nimport { sha1 } from 'js-sha1';\nimport { useTranslation } from '@10d/tend-ui-locale/hooks/useTranslation';\nimport { Logout } from '@10d/tend-ui-icons/Logout';\nimport { User } from '@10d/tend-ui-icons/User';\nimport { Profile as Profile$1 } from '@10d/tend-ui/components';\nimport { useRole } from '../../../hooks/useRole.js';\n\nconst DOMAIN = 'https://avatar.samoletgroup.ru';\nconst Profile = ({ user, items, onLogout }) => {\n const t = useTranslation();\n const { isEmployee } = useRole(user);\n const _items = React.useMemo(() => {\n const defaultItems = [\n isEmployee && {\n key: 'profile-menu-item-profile',\n label: t(['widgets', 'Layout', 'Profile', 'profile']),\n icon: React.createElement(User, { color: 'gray500' }),\n onClick: () => {\n window.open('https://team.samoletgroup.ru/', '_blank');\n },\n },\n {\n key: 'profile-menu-item-logout',\n label: t(['widgets', 'Layout', 'Profile', 'logout']),\n icon: React.createElement(Logout, { color: 'gray500' }),\n onClick: onLogout,\n },\n ].filter(Boolean);\n return typeof items === 'function'\n ? items(defaultItems)\n : (items || []).concat(defaultItems);\n }, [isEmployee, items, onLogout, t]);\n return (React.createElement(Profile$1, { items: _items, avatar: React.useMemo(() => {\n if (!user)\n return;\n const source = new URL(`media/${sha1(user.username)}.jpg`, DOMAIN);\n return { src: source.href, bordered: true };\n }, [user]), title: [user === null || user === void 0 ? void 0 : user.firstName, user === null || user === void 0 ? void 0 : user.lastName].filter(Boolean).join(' '), description: user === null || user === void 0 ? void 0 : user.email }));\n};\n\nexport { Profile };\n","import React from 'react';\nimport { useTranslation } from '@10d/tend-ui-locale/hooks/useTranslation';\nimport { Button } from '@10d/tend-ui/primitives';\nimport { useColors } from '@10d/tend-ui-theme';\nimport { S_INFO_STAGE_URL, S_INFO_PROD_URL } from '../../../consts.js';\n\nconst Support = ({ stand = 'prod' }) => {\n const t = useTranslation();\n const colors = useColors();\n const link = {\n stage: S_INFO_STAGE_URL,\n e2e: S_INFO_STAGE_URL,\n mr: S_INFO_STAGE_URL,\n dev: S_INFO_STAGE_URL,\n prod: S_INFO_PROD_URL,\n }[stand];\n return (React.createElement(Button\n // FIXME: Перевести на styling API\n , { \n // FIXME: Перевести на styling API\n style: { padding: '8px' }, variant: 'ghost', preset: 'accent', UNSTABLE_styling: {\n buttonOnAccent: { ghostDefaultText: colors['white800-transparent'] },\n }, onClick: () => {\n const linkUrl = new URL(link);\n linkUrl.searchParams.append('auth', 'true');\n window.open(linkUrl.href, '_blank');\n } }, t(['widgets', 'Layout', 'Header', 'info'])));\n};\n\nexport { Support };\n","import { useApi } from '@10d/tend-ui-api';\n\nconst useSamoletServices = (stand) => {\n const { data, error, loading, request } = useApi({\n cache: {\n key: 'tend-ui-samolet-services',\n },\n url: {\n stage: 'https://pro-stage.samoletgroup.ru/api/services/header/',\n dev: 'https://pro-stage.samoletgroup.ru/api/services/header/',\n e2e: 'https://pro-stage.samoletgroup.ru/api/services/header/',\n mr: 'https://pro-stage.samoletgroup.ru/api/services/header/',\n prod: 'https://pro.samoletgroup.ru/api/services/header/',\n }[stand],\n });\n return { data, loading, error, request };\n};\n\nexport { useSamoletServices };\n","import styled, { css } from 'styled-components';\n\nconst Root = styled.button `\n /* Reset */\n margin: 0;\n padding: 0;\n border: none;\n box-sizing: border-box;\n text-decoration: none;\n background: none;\n\n /* Font */\n font-family: ${props => props.theme.fonts.museo};\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n\n /* Shape */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n outline-offset: 2px;\n height: max-content;\n border-radius: 10px;\n padding: 4px;\n\n /* Animation */\n cursor: pointer;\n transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);\n\n ${props => {\n if (props.$selected)\n return css `\n color: ${props => props.theme.colors.gray0};\n background: ${props => props.theme.colors['gray100-transparent']};\n\n &:focus-visible {\n outline-color: ${props => props.theme.colors['gray350-transparent']};\n }\n &:hover:not(:disabled) {\n cursor: pointer;\n color: ${props => props.theme.colors.gray0};\n background: ${props => props.theme.colors['gray150-transparent']};\n }\n &:active:not(:disabled) {\n color: ${props => props.theme.colors.gray0};\n background: ${props => props.theme.colors['gray100-transparent']};\n }\n &:disabled {\n cursor: not-allowed;\n color: ${props => props.theme.colors.gray400};\n background-color: ${props => props.theme.colors.gray50};\n }\n `;\n return css `\n color: ${props => props.theme.colors.gray0};\n\n &:focus-visible {\n outline-color: ${props => props.theme.colors['gray350-transparent']};\n }\n &:hover:not(:disabled) {\n cursor: pointer;\n color: ${props => props.theme.colors.gray0};\n background: ${props => props.theme.colors['gray100-transparent']};\n }\n &:active:not(:disabled) {\n color: ${props => props.theme.colors.gray0};\n background: ${props => props.theme.colors['gray150-transparent']};\n }\n &:disabled {\n cursor: not-allowed;\n color: ${props => props.theme.colors.gray400};\n background-color: ${props => props.theme.colors.gray50};\n }\n `;\n}}\n`;\n\nexport { Root };\n","import { __rest } from 'tslib';\nimport React from 'react';\nimport { useTheme } from '@10d/tend-ui-theme';\nimport { Root } from './styled.js';\n\nconst Button = (_a) => {\n var { children, selected } = _a, props = __rest(_a, [\"children\", \"selected\"]);\n const theme = useTheme();\n return (React.createElement(Root, Object.assign({}, props, { theme: theme, \"$selected\": selected }), children));\n};\n\nexport { Button };\n","import styled, { css } from 'styled-components';\n\nconst Root = styled.div `\n box-sizing: border-box;\n padding: 10px 8px;\n border-radius: 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 200px;\n transition: 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);\n transition-property: background, color;\n\n ${props => {\n if (props.$disabled)\n return css `\n cursor: not-allowed;\n color: ${props => props.theme.colors.gray400};\n &:hover {\n background-color: ${props => props.theme.colors.gray50};\n }\n `;\n if (props.$selected)\n return css `\n cursor: pointer;\n background-color: ${props => props.theme.colors.blue100};\n `;\n if (props.$hovered)\n return css `\n cursor: pointer;\n background-color: ${props => props.theme.colors.gray50};\n `;\n return css `\n cursor: pointer;\n &:hover {\n background-color: ${props => props.theme.colors.gray50};\n }\n `;\n}}\n`;\n\nexport { Root };\n","import React from 'react';\nimport { useTheme } from '@10d/tend-ui-theme';\nimport { Text } from '@10d/tend-ui-typography';\nimport { Root } from './styled.js';\n\nconst Card = ({ hovered, disabled, selected, before, children, }) => {\n const theme = useTheme();\n return (React.createElement(Root, { theme: theme, \"$disabled\": disabled, \"$selected\": selected, \"$hovered\": hovered },\n before,\n React.createElement(Text, { disabled: disabled, style: { display: 'block', whiteSpace: 'nowrap' } }, children)));\n};\n\nexport { Card };\n","import React from 'react';\nimport { Box } from '@10d/tend-ui-grid';\nimport { Skeleton, Divider } from '@10d/tend-ui/ui';\n\nconst Preloader = () => (React.createElement(React.Fragment, null,\n React.createElement(Box, { \"$display\": 'flex', \"$gap\": 4 },\n React.createElement(Skeleton, { width: 200, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 })),\n React.createElement(Divider, null),\n React.createElement(Box, { \"$display\": 'flex', \"$gap\": 8 },\n React.createElement(Box, { \"$display\": 'flex', \"$flexDirection\": 'column', \"$gap\": 8 },\n React.createElement(Box, { \"$display\": 'flex', \"$flexDirection\": 'column', \"$gap\": 4 },\n React.createElement(Skeleton, { width: 100, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 })),\n React.createElement(Box, { \"$display\": 'flex', \"$flexDirection\": 'column', \"$gap\": 4 },\n React.createElement(Skeleton, { width: 100, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 }))),\n React.createElement(Box, { \"$display\": 'flex', \"$flexDirection\": 'column', \"$gap\": 8 },\n React.createElement(Box, { \"$display\": 'flex', \"$flexDirection\": 'column', \"$gap\": 4 },\n React.createElement(Skeleton, { width: 100, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 })),\n React.createElement(Box, { \"$display\": 'flex', \"$flexDirection\": 'column', \"$gap\": 4 },\n React.createElement(Skeleton, { width: 100, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 }))),\n React.createElement(Box, { \"$display\": 'flex', \"$flexDirection\": 'column', \"$gap\": 8 },\n React.createElement(Box, { \"$display\": 'flex', \"$flexDirection\": 'column', \"$gap\": 4 },\n React.createElement(Skeleton, { width: 100, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 })),\n React.createElement(Box, { \"$display\": 'flex', \"$flexDirection\": 'column', \"$gap\": 4 },\n React.createElement(Skeleton, { width: 100, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 }))),\n React.createElement(Box, { \"$display\": 'flex', \"$flexDirection\": 'column', \"$gap\": 8 },\n React.createElement(Box, { \"$display\": 'flex', \"$flexDirection\": 'column', \"$gap\": 4 },\n React.createElement(Skeleton, { width: 100, height: 40 }),\n React.createElement(Skeleton, { width: 200, height: 40 }))))));\n\nexport { Preloader };\n","import React from 'react';\nimport { Dropdown, Button as Button$1, Tooltip } from '@10d/tend-ui/primitives';\nimport { Image } from '@10d/tend-ui/ui';\nimport { Sync } from '@10d/tend-ui-icons/Sync';\nimport { Error } from '@10d/tend-ui-icons/Error';\nimport { CardView } from '@10d/tend-ui-icons/CardView';\nimport { Apps } from '@10d/tend-ui-icons/Apps';\nimport { Box, Divider } from '@10d/tend-ui/grid';\nimport { Text } from '@10d/tend-ui-typography';\nimport chunk from 'lodash/chunk';\nimport { useSamoletServices } from '../../../hooks/useSamoletServices.js';\nimport { Button } from '../../../ui/Button/Button.js';\nimport { Card } from './components/Card/Card.js';\nimport { Preloader } from './components/Preloader/Preloader.js';\n\nconst Content = ({ app, stand, }) => {\n const { data, error, loading, request } = useSamoletServices(stand);\n React.useEffect(() => {\n request();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const hasLk = !!(data === null || data === void 0 ? void 0 : data.lk);\n const src = React.useCallback((service) => {\n if (service.isActive)\n return `https://cdn.samolet10d.ru/tend-ui/logos/${service.tuiIconName}-blue600.svg`;\n return `https://cdn.samolet10d.ru/tend-ui/logos/${service.tuiIconName}-gray400.svg`;\n }, []);\n const result = React.useMemo(() => chunk(data === null || data === void 0 ? void 0 : data.categories, 4), [data === null || data === void 0 ? void 0 : data.categories]);\n if (error)\n // TODO: Вынести в компонент ошибки\n return (React.createElement(Box, { \"$padding\": '128px 343px', \"$display\": 'flex', \"$flexDirection\": 'column', \"$alignItems\": 'center' },\n React.createElement(Error, { color: 'gold600', size: 20 }),\n React.createElement(Text, { strong: true }, \"\\u041E\\u0448\\u0438\\u0431\\u043A\\u0430 \\u0437\\u0430\\u0433\\u0440\\u0443\\u0437\\u043A\\u0438\"),\n React.createElement(Text, { color: 'gray500' }, \"\\u041F\\u043E\\u043F\\u0440\\u043E\\u0431\\u0443\\u0439\\u0442\\u0435 \\u0435\\u0449\\u0435 \\u0440\\u0430\\u0437\"),\n React.createElement(Button$1, { variant: 'link', before: React.createElement(Sync, null), onClick: () => {\n request();\n } }, \"\\u041E\\u0431\\u043D\\u043E\\u0432\\u0438\\u0442\\u044C\")));\n if (loading || !data)\n return React.createElement(Preloader, null);\n return (React.createElement(React.Fragment, null,\n React.createElement(Box, { \"$display\": 'flex', \"$alignItems\": 'center', \"$gap\": 8 },\n hasLk && (React.createElement(\"a\", { href: {\n stage: 'https://pro-stage.samoletgroup.ru/',\n dev: 'https://pro-stage.samoletgroup.ru/',\n e2e: 'https://pro-stage.samoletgroup.ru/',\n mr: 'https://pro-stage.samoletgroup.ru/',\n prod: 'https://pro.samoletgroup.ru/',\n }[stand], target: '_blank', rel: 'noreferrer' },\n React.createElement(Card, { hovered: true, before: React.createElement(CardView, { color: 'blue600', size: 20 }) }, \"\\u041B\\u0438\\u0447\\u043D\\u044B\\u0439 \\u043A\\u0430\\u0431\\u0438\\u043D\\u0435\\u0442\"))),\n React.createElement(\"a\", { href: {\n stage: 'https://pro-stage.samoletgroup.ru/services/',\n dev: 'https://pro-stage.samoletgroup.ru/services/',\n e2e: 'https://pro-stage.samoletgroup.ru/services/',\n mr: 'https://pro-stage.samoletgroup.ru/services/',\n prod: 'https://pro.samoletgroup.ru/services/',\n }[stand], target: '_blank', rel: 'noreferrer' },\n React.createElement(Card, { hovered: true, before: React.createElement(Apps, { color: 'blue600', size: 20 }) }, \"\\u0412\\u0441\\u0435 \\u0441\\u0435\\u0440\\u0432\\u0438\\u0441\\u044B\"))),\n React.createElement(Divider, { margin: 24 }),\n React.createElement(Box, { \"$display\": 'flex', \"$flexDirection\": 'column', \"$gap\": 24 }, result.map((portion, index) => (React.createElement(Box, { key: index, \"$display\": 'flex', \"$gap\": 8 }, portion.map(data => (React.createElement(Box, { key: data.name, \"$display\": 'flex', \"$flexDirection\": 'column' },\n React.createElement(Box, { \"$padding\": 8 },\n React.createElement(Text, { strong: true }, data.name)),\n data.services.map(service => {\n const [name] = service.name.split(' ');\n const title = service.isActive\n ? service.shortDescription\n : 'Другие продукты производственной системы будут доступны после подписания договора';\n return (React.createElement(Tooltip, { key: service.id, title: title },\n React.createElement(\"a\", { target: '_blank', href: service.isActive ? service.link : undefined, rel: 'noreferrer' },\n React.createElement(Card, { selected: name.toLowerCase() === app, disabled: !service.isActive, before: React.createElement(Image, { width: 20, src: src(service), alt: service.name }) }, service.name))));\n }))))))))));\n};\nconst BurgerMenu = ({ app, stand }) => {\n const [open, setOpen] = React.useState(false);\n return (React.createElement(Dropdown, { trigger: ['click'], onOpenChange: setOpen, dropdownRender: React.useCallback(() => (React.createElement(Dropdown.Content, { padding: 24 },\n React.createElement(Content, { stand: stand, app: app }))), [app, stand]) },\n React.createElement(Button, { selected: open },\n React.createElement(Apps, { size: 24, color: 'gray0' }))));\n};\n\nexport { BurgerMenu };\n","import React from 'react';\n\n/**\n * @internal Не для публичного использования\n */\nconst DrawerContext = React.createContext(undefined);\n/**\n * @internal Не для публичного использования\n */\nconst useDrawerContext = () => React.useContext(DrawerContext);\n\nexport { DrawerContext, useDrawerContext };\n//# sourceMappingURL=DrawerContext.js.map\n","import { __rest } from 'tslib';\nimport React from 'react';\nimport RcDrawer from 'rc-drawer';\nimport { ConfigContext } from 'antd-core/es/config-provider';\nimport useStyle from 'antd-core/es/drawer/style';\nimport { getTransitionName } from 'antd-core/es/_util/motion';\nimport { useColor } from '@10d/tend-ui-theme';\nimport { DrawerContext } from '../../contexts/DrawerContext.js';\n\nconst FULLSCREEN_OFFSET = '16px';\nconst Root = (_a) => {\n var _b;\n var { open, maskClosable, mask, fullscreen, size = 'medium', placement = 'right', onClose, children, destroyOnClose, backgroundColor } = _a, props = __rest(_a, [\"open\", \"maskClosable\", \"mask\", \"fullscreen\", \"size\", \"placement\", \"onClose\", \"children\", \"destroyOnClose\", \"backgroundColor\"]);\n const { getPrefixCls } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('drawer');\n const [, hashId] = useStyle(prefixCls);\n // FIXME: Исправить литеральные типы\n const _backgroundColor = useColor(backgroundColor);\n const fullscreenOffset = typeof fullscreen === 'object'\n ? (_b = fullscreen === null || fullscreen === void 0 ? void 0 : fullscreen.offset) !== null && _b !== void 0 ? _b : FULLSCREEN_OFFSET\n : FULLSCREEN_OFFSET;\n const isTop = placement === 'top';\n const isBottom = placement === 'bottom';\n const isLeft = placement === 'left';\n const isRight = placement === 'right';\n const isVertical = isTop || isBottom;\n const isHorizontal = isLeft || isRight;\n const maskMotion = React.useMemo(() => ({\n motionName: getTransitionName(prefixCls, 'mask-motion'),\n motionAppear: true,\n motionEnter: true,\n motionLeave: true,\n motionDeadline: 500,\n }), [prefixCls]);\n const panelMotion = React.useCallback(motionPlacement => ({\n motionName: getTransitionName(prefixCls, `panel-motion-${motionPlacement}`),\n motionAppear: true,\n motionEnter: true,\n motionLeave: true,\n motionDeadline: 500,\n }), [prefixCls]);\n const width = React.useMemo(() => {\n if (fullscreen && isHorizontal)\n return `calc(100% - ${fullscreenOffset})`;\n return {\n small: '400px',\n medium: '500px',\n large: '800px',\n }[size];\n }, [fullscreen, fullscreenOffset, isHorizontal, size]);\n const height = React.useMemo(() => {\n if (fullscreen && isVertical)\n return `calc(100% - ${fullscreenOffset})`;\n return;\n }, [fullscreen, fullscreenOffset, isVertical]);\n return (React.createElement(RcDrawer, Object.assign({ open: open, mask: mask, maskClosable: maskClosable, onClose: onClose, prefixCls: prefixCls, rootClassName: hashId, maskMotion: maskMotion, motion: panelMotion, width: width, height: height, placement: placement, destroyOnClose: destroyOnClose, styles: React.useMemo(() => ({\n content: {\n display: 'flex',\n flexDirection: 'column',\n maxHeight: '100vh',\n backgroundColor: _backgroundColor,\n },\n }), [_backgroundColor]) }, props),\n React.createElement(DrawerContext.Provider, { value: React.useMemo(() => ({ onClose }), [onClose]) }, children)));\n};\nRoot.displayName = 'Drawer.Root';\n\nexport { Root };\n//# sourceMappingURL=Root.js.map\n","import styled from 'styled-components';\n\nconst Root = styled.div `\n display: flex;\n align-items: center;\n padding: 18px 24px;\n`;\n\nexport { Root };\n//# sourceMappingURL=styled.js.map\n","import React from 'react';\nimport { Root } from './styled.js';\n\nconst Header = ({ children }) => {\n return React.createElement(Root, null, children);\n};\nHeader.displayName = 'Drawer.Header';\n\nexport { Header };\n//# sourceMappingURL=Header.js.map\n","import styled from 'styled-components';\n\nconst Root = styled.div `\n padding: 16px 24px;\n`;\n\nexport { Root };\n//# sourceMappingURL=styled.js.map\n","import styled from 'styled-components';\n\nconst Root = styled.div `\n flex: 1;\n padding: 12px 24px;\n\n overflow: auto;\n`;\n\nexport { Root };\n//# sourceMappingURL=styled.js.map\n","import React from 'react';\nimport { Root } from './styled.js';\n\nconst Body = ({ children }) => {\n return React.createElement(Root, null, children);\n};\nBody.displayName = 'Drawer.Body';\n\nexport { Body };\n//# sourceMappingURL=Body.js.map\n","import styled from 'styled-components';\n\nconst Root = styled.button `\n cursor: pointer;\n display: flex;\n padding: 0;\n margin: 0;\n border-color: transparent;\n background: transparent;\n color: ${props => props.theme.colors.gray650};\n\n /* Animation */\n transition: 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);\n transition-property: color;\n\n &:hover {\n color: ${props => props.theme.colors.gray900};\n }\n`;\n\nexport { Root };\n//# sourceMappingURL=styled.js.map\n","import React from 'react';\nimport { Close } from '@10d/tend-ui-icons/Close';\nimport { useTheme } from '@10d/tend-ui-theme';\nimport { useDrawerContext } from '../../contexts/DrawerContext.js';\nimport { Root } from './styled.js';\n\nconst CloseButton = (props) => {\n const theme = useTheme();\n const context = useDrawerContext();\n return (React.createElement(Root, Object.assign({ onClick: context === null || context === void 0 ? void 0 : context.onClose }, props, { theme: theme }),\n React.createElement(Close, { size: 20 })));\n};\n\nexport { CloseButton };\n//# sourceMappingURL=CloseButton.js.map\n","import styled, { css, keyframes } from 'styled-components';\n\nconst createShrinkKeyframes = (strokeDasharray, strokeDashoffset) => keyframes `\n 0% {\n stroke-dashoffset: ${strokeDasharray};\n }\n\n 30% {\n stroke-dashoffset: ${strokeDashoffset};\n }\n\n 80% {\n stroke-dashoffset: ${strokeDashoffset};\n }\n\n 100% {\n stroke-dashoffset: ${strokeDasharray};\n }\n`;\nconst Circle = styled.circle `\n transform: rotate(-90deg);\n transform-origin: center;\n animation: rotate 1s linear infinite,\n ${props => createShrinkKeyframes(props.strokeDasharray, props.strokeDashoffset)}\n 1s linear infinite;\n\n @keyframes rotate {\n 0% {\n transform: rotate(-90deg);\n }\n\n 30% {\n transform: rotate(-90deg);\n }\n\n 60% {\n transform: rotate(90deg);\n }\n\n 100% {\n transform: rotate(270deg);\n }\n }\n`;\nconst Root = styled.div `\n position: relative;\n color: ${props => props.$color || 'inherit'};\n`;\nconst Svg = styled.svg `\n ${props => props.$center &&\n css `\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n `}\n`;\nconst Children = styled.span `\n ${props => props.$loading &&\n css `\n pointer-events: none;\n opacity: 0.5;\n `}\n`;\n\nexport { Children, Circle, Root, Svg };\n//# sourceMappingURL=styled.js.map\n","import { __rest } from 'tslib';\nimport React from 'react';\nimport { Root, Children, Svg, Circle } from './styled.js';\n\nconst Spinner = React.forwardRef((_a, ref) => {\n var { loading = true, size = 'medium', color, children, className } = _a, rest = __rest(_a, [\"loading\", \"size\", \"color\", \"children\", \"className\"]);\n const dimensions = {\n xs: 16,\n small: 32,\n medium: 48,\n large: 64,\n }[size];\n const strokeWidth = {\n xs: 2,\n small: 3,\n medium: 4,\n large: 5,\n }[size];\n const radius = dimensions / 2 - strokeWidth;\n const xOffset = dimensions / 2;\n const yOffset = dimensions / 2;\n const strokeDashArray = Math.ceil(2 * Math.PI * radius);\n const strokeDashOffset = (strokeDashArray / 4) * 3;\n return (React.createElement(Root, Object.assign({ \"data-testid\": 'tend-ui-spinner' }, rest, { ref: ref, \"$color\": color, className: ['tend-ui-spinner', className].filter(Boolean).join(' ') }),\n children && React.createElement(Children, { \"$loading\": loading }, children),\n loading && (React.createElement(Svg, { \"$center\": !!children, width: dimensions, height: dimensions },\n React.createElement(Circle, { fill: 'none', stroke: 'currentColor', strokeLinecap: 'round', strokeWidth: strokeWidth, strokeDasharray: strokeDashArray, strokeDashoffset: strokeDashOffset, r: radius, cx: xOffset, cy: yOffset })))));\n});\nSpinner.displayName = 'Spinner';\n\nexport { Spinner };\n//# sourceMappingURL=Spinner.js.map\n","import styled, { css } from 'styled-components';\nimport { pointer } from '@10d/tend-ui-styling';\n\nconst Content = styled.span `\n font-family: ${props => props.theme.fonts.museo};\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px;\n`;\nconst Root = styled.span `\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n`;\nconst Bubble = styled.span.attrs({\n $placements: {\n leftTop: css `\n top: ${(props) => props.$offset[1] || 0}px;\n left: ${(props) => props.$offset[0] || 0}px;\n transform: scale(1) translate(-50%, -50%);\n transform-origin: 100% 0%;\n `,\n rightTop: css `\n top: ${(props) => props.$offset[1] || 0}px;\n right: ${(props) => props.$offset[0] || 0}px;\n transform: scale(1) translate(50%, -50%);\n transform-origin: 100% 0%;\n `,\n rightBottom: css `\n bottom: ${(props) => props.$offset[1] || 0}px;\n right: ${(props) => props.$offset[0] || 0}px;\n transform: scale(1) translate(50%, 50%);\n transform-origin: 100% 0%;\n `,\n leftBottom: css `\n bottom: ${(props) => props.$offset[1] || 0}px;\n left: ${(props) => props.$offset[0] || 0}px;\n transform: scale(1) translate(-50%, 50%);\n transform-origin: 100% 0%;\n `,\n },\n}) `\n width: 8px;\n height: 8px;\n border-radius: 32px;\n\n ${props => {\n if (props.$inline)\n return;\n return css `\n position: absolute;\n z-index: 1;\n ${props.$placements[props.$placement]};\n `;\n}};\n\n ${props => {\n if (props.$backgroundColor)\n return css `\n background-color: ${props.$backgroundColor || props.theme.colors.gray50};\n `;\n return {\n default: css `\n background-color: ${props => props.theme.colors.gray50};\n `,\n success: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props => props.theme.colors.green600};\n `,\n warning: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props => props.theme.colors.gold600};\n `,\n processing: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props => props.theme.colors.blue600};\n `,\n error: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props => props.theme.colors.red600};\n `,\n gray: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.gray650};\n `,\n blue: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.blue600};\n `,\n geekblue: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.geekblue600};\n `,\n green: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.green600};\n `,\n yellow: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.gold600};\n `,\n red: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.red600};\n `,\n cyan: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.cyan600};\n `,\n volcano: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.volcano600};\n `,\n purple: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.purple600};\n `,\n 'gray-light': css `\n color: ${props.theme.colors.gray650};\n background-color: ${props.theme.colors.gray50};\n `,\n 'blue-light': css `\n color: ${props.theme.colors.blue700};\n background-color: ${props.theme.colors.blue100};\n `,\n 'geekblue-light': css `\n color: ${props.theme.colors.geekblue600};\n background-color: ${props.theme.colors.geekblue200};\n `,\n 'green-light': css `\n color: ${props.theme.colors.green700};\n background-color: ${props.theme.colors.green100};\n `,\n 'yellow-light': css `\n color: ${props.theme.colors.gold800};\n background-color: ${props.theme.colors.gold200};\n `,\n 'red-light': css `\n color: ${props.theme.colors.red700};\n background-color: ${props.theme.colors.red100};\n `,\n 'cyan-light': css `\n color: ${props.theme.colors.cyan800};\n background-color: ${props.theme.colors.cyan100};\n `,\n 'volcano-light': css `\n color: ${props.theme.colors.volcano700};\n background-color: ${props.theme.colors.volcano100};\n `,\n 'purple-light': css `\n color: ${props.theme.colors.purple500};\n background-color: ${props.theme.colors.purple100};\n `,\n }[props.$preset];\n}};\n\n ${pointer};\n`;\n\nexport { Bubble, Content, Root };\n//# sourceMappingURL=styled.js.map\n","import { __rest } from 'tslib';\nimport React from 'react';\nimport { useTheme, useColor } from '@10d/tend-ui-theme';\nimport cn from 'classnames';\nimport { Root, Content, Bubble } from './styled.js';\n\nconst Dot = React.forwardRef((_a, ref) => {\n var { preset = 'red', before, after, children, offset = [0, 0], placement = 'rightTop', className, rootClassName, inline = true, color } = _a, props = __rest(_a, [\"preset\", \"before\", \"after\", \"children\", \"offset\", \"placement\", \"className\", \"rootClassName\", \"inline\", \"color\"]);\n const theme = useTheme();\n const _color = useColor(color);\n return (React.createElement(Root, { ref: ref, theme: theme, className: cn(['tend-ui-dot-root', rootClassName]) },\n before && (React.createElement(Content, { className: 'tend-ui-dot-before', theme: theme }, before)),\n children,\n React.createElement(Bubble, Object.assign({ \"data-testid\": 'tend-ui-dot' }, props, { theme: theme, \"$inline\": inline, \"$backgroundColor\": _color, \"$preset\": preset, \"$offset\": offset, \"$placement\": placement, \"$pointer\": !!props.onClick, className: cn(['tend-ui-dot-dot', className]) })),\n after && (React.createElement(Content, { className: 'tend-ui-dot-after', theme: theme }, after))));\n});\nDot.displayName = 'Dot';\n\nexport { Dot };\n//# sourceMappingURL=Dot.js.map\n","import styled, { css } from 'styled-components';\nimport { pointer } from '@10d/tend-ui-styling';\n\nconst Content = styled.span `\n font-family: ${props => props.theme.fonts.museo};\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px;\n`;\nconst Root = styled.span `\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n`;\nconst Bubble = styled.span.attrs({\n $placements: {\n leftTop: css `\n top: 0;\n left: 0;\n transform: scale(1) translate(-50%, -50%);\n transform-origin: 100% 0%;\n `,\n rightTop: css `\n top: 0;\n right: 0;\n transform: scale(1) translate(50%, -50%);\n transform-origin: 100% 0%;\n `,\n rightBottom: css `\n bottom: 0;\n right: 0;\n transform: scale(1) translate(50%, 50%);\n transform-origin: 100% 0%;\n `,\n leftBottom: css `\n bottom: 0;\n left: 0;\n transform: scale(1) translate(-50%, 50%);\n transform-origin: 100% 0%;\n `,\n },\n}) `\n font-family: ${props => props.theme.fonts.museo};\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px;\n padding: 0 4px;\n border-radius: 32px;\n min-width: 16px;\n text-align: center;\n\n ${props => {\n if (props.$inline)\n return;\n return css `\n position: absolute;\n z-index: 1;\n ${props.$placements[props.$placement]}\n top: ${props.$offset[1]}px;\n top: ${props.$offset[0]}px;\n `;\n}};\n\n ${props => {\n if (props.$color || props.$backgroundColor)\n return css `\n color: ${props.$color || props.theme.colors.gray0};\n background-color: ${props.$backgroundColor || props.theme.colors.gray50};\n `;\n return {\n default: css `\n background-color: ${props => props.theme.colors.gray50};\n `,\n success: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props => props.theme.colors.green600};\n `,\n warning: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props => props.theme.colors.gold600};\n `,\n processing: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props => props.theme.colors.blue600};\n `,\n error: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props => props.theme.colors.red600};\n `,\n gray: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.gray650};\n `,\n blue: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.blue600};\n `,\n geekblue: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.geekblue600};\n `,\n green: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.green600};\n `,\n yellow: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.gold600};\n `,\n red: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.red600};\n `,\n cyan: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.cyan600};\n `,\n volcano: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.volcano600};\n `,\n purple: css `\n color: ${props.theme.colors.gray0};\n background-color: ${props.theme.colors.purple600};\n `,\n 'gray-light': css `\n color: ${props.theme.colors.gray650};\n background-color: ${props.theme.colors.gray50};\n `,\n 'blue-light': css `\n color: ${props.theme.colors.blue700};\n background-color: ${props.theme.colors.blue100};\n `,\n 'geekblue-light': css `\n color: ${props.theme.colors.geekblue600};\n background-color: ${props.theme.colors.geekblue200};\n `,\n 'green-light': css `\n color: ${props.theme.colors.green700};\n background-color: ${props.theme.colors.green100};\n `,\n 'yellow-light': css `\n color: ${props.theme.colors.gold800};\n background-color: ${props.theme.colors.gold200};\n `,\n 'red-light': css `\n color: ${props.theme.colors.red700};\n background-color: ${props.theme.colors.red100};\n `,\n 'cyan-light': css `\n color: ${props.theme.colors.cyan800};\n background-color: ${props.theme.colors.cyan100};\n `,\n 'volcano-light': css `\n color: ${props.theme.colors.volcano700};\n background-color: ${props.theme.colors.volcano100};\n `,\n 'purple-light': css `\n color: ${props.theme.colors.purple500};\n background-color: ${props.theme.colors.purple100};\n `,\n }[props.$preset];\n}};\n\n ${pointer};\n`;\n\nexport { Bubble, Content, Root };\n//# sourceMappingURL=styled.js.map\n","import { __rest } from 'tslib';\nimport React from 'react';\nimport { isNumber, isString } from '@10d/tend-ui-utils';\nimport { useTheme, useColor } from '@10d/tend-ui-theme';\nimport cn from 'classnames';\nimport { Root, Content, Bubble } from './styled.js';\n\nconst clamp = (value, max) => (value >= max ? `${max}+` : value);\nconst Counter = React.forwardRef((_a, ref) => {\n var { showZero = false, preset = 'red', before, after, children, inner, max = 99, offset = [0, 0], placement = 'rightTop', className, rootClassName, inline = true, color, backgroundColor } = _a, props = __rest(_a, [\"showZero\", \"preset\", \"before\", \"after\", \"children\", \"inner\", \"max\", \"offset\", \"placement\", \"className\", \"rootClassName\", \"inline\", \"color\", \"backgroundColor\"]);\n const theme = useTheme();\n const _color = useColor(color);\n // FIXME: Поправить типы\n const _backgroundColor = useColor(backgroundColor);\n const isInnerReactElement = React.isValidElement(inner);\n const isInnerNumber = isNumber(inner);\n const isInnerString = isString(inner);\n const title = isInnerNumber ? `${inner}` : undefined;\n const isPositiveNumber = isInnerNumber && inner > 0;\n const isAllowedNumber = isInnerNumber && showZero && inner >= 0;\n const isShown = isInnerReactElement || isPositiveNumber || isAllowedNumber || isInnerString;\n const content = isInnerNumber ? clamp(inner, max) : inner;\n return (React.createElement(Root, { ref: ref, theme: theme, className: cn(['tend-ui-counter-root', rootClassName]) },\n before && (React.createElement(Content, { className: 'tend-ui-counter-before', theme: theme }, before)),\n children,\n isShown && (React.createElement(Bubble, Object.assign({ \"data-testid\": 'tend-ui-counter' }, props, { theme: theme, \"$inline\": inline, \"$color\": _color, \"$backgroundColor\": _backgroundColor, \"$preset\": preset, \"$offset\": offset, \"$placement\": placement, \"$pointer\": !!props.onClick, title: title, className: cn(['tend-ui-counter-counter', className]) }), content)),\n after && (React.createElement(Content, { className: 'tend-ui-counter-after', theme: theme }, after))));\n});\nCounter.displayName = 'Counter';\n\nexport { Counter };\n//# sourceMappingURL=Counter.js.map\n","import styled from 'styled-components';\n\nconst Root = styled.div `\n background-color: ${props => props.theme.colors.gray0};\n\n display: flex;\n flex-direction: column;\n min-height: 100%;\n`;\n\nexport { Root };\n//# sourceMappingURL=styled.js.map\n","import { contextFactory } from '@10d/tend-ui-factories';\n\nconst [SizeContext, useSizeContext] = contextFactory();\n\nexport { SizeContext, useSizeContext };\n//# sourceMappingURL=SizeContext.js.map\n","import styled, { css } from 'styled-components';\n\nconst Root = styled.button `\n /* Reset */\n margin: 0;\n padding: 0;\n border: none;\n box-sizing: border-box;\n text-decoration: none;\n background: none;\n\n /* Font */\n font-family: ${props => props.theme.fonts.museo};\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n\n /* Shape */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n outline-offset: 2px;\n height: max-content;\n border-radius: 6px;\n padding: 6px;\n\n /* Animation */\n cursor: pointer;\n transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);\n\n ${props => {\n if (props.$selected)\n return css `\n color: ${props => props.theme.colors.gray0};\n background: ${props => props.theme.colors.blue600};\n\n &:focus-visible {\n outline-color: ${props => props.theme.colors['gray350-transparent']};\n }\n &:hover:not(:disabled) {\n cursor: pointer;\n color: ${props => props.theme.colors.gray0};\n background: ${props => props.theme.colors.blue700};\n }\n &:active:not(:disabled) {\n color: ${props => props.theme.colors.gray0};\n background: ${props => props.theme.colors.blue800};\n }\n &:disabled {\n cursor: not-allowed;\n color: ${props => props.theme.colors.gray400};\n background-color: ${props => props.theme.colors.gray50};\n }\n `;\n return css `\n color: ${props => props.theme.colors.gray900};\n\n &:focus-visible {\n outline-color: ${props => props.theme.colors['gray350-transparent']};\n }\n &:hover:not(:disabled) {\n cursor: pointer;\n color: ${props => props.theme.colors.gray900};\n background: ${props => props.theme.colors.gray50};\n }\n &:active:not(:disabled) {\n color: ${props => props.theme.colors.gray900};\n background: ${props => props.theme.colors.gray100};\n }\n &:disabled {\n cursor: not-allowed;\n color: ${props => props.theme.colors.gray400};\n background-color: ${props => props.theme.colors.gray50};\n }\n `;\n}}\n\n .anticon {\n font-size: 20px;\n }\n`;\n\nexport { Root };\n//# sourceMappingURL=styled.js.map\n","import styled, { css } from 'styled-components';\n\nconst Root = styled.main.attrs({\n $sizes: {\n small: css `\n padding: 16px;\n `,\n medium: css `\n padding: 16px;\n `,\n large: css `\n padding: 16px;\n `,\n },\n}) `\n flex: 1;\n\n ${props => props.$sizes[props.$size]};\n background-color: ${props => props.$background};\n`;\n\nexport { Root };\n//# sourceMappingURL=styled.js.map\n","import React from 'react';\n\nconst ToggleButtonGroupContext = React.createContext(undefined);\nconst useToggleButtonGroupContext = () => {\n const ctx = React.useContext(ToggleButtonGroupContext);\n return ctx;\n};\n\nexport { ToggleButtonGroupContext, useToggleButtonGroupContext };\n//# sourceMappingURL=context.js.map\n","import React from 'react';\nimport { Box } from '@10d/tend-ui-grid';\nimport { ToggleButtonGroupContext } from '../context.js';\n\nconst Group = ({ onChange, children }) => {\n return (React.createElement(ToggleButtonGroupContext.Provider, { value: React.useMemo(() => ({ onChange }), [onChange]) },\n React.createElement(Box, null, children)));\n};\nGroup.displayName = 'ToggleButton.Group';\n\nexport { Group };\n//# sourceMappingURL=Group.js.map\n","import { __rest } from 'tslib';\nimport React from 'react';\nimport { useControllableState } from '@10d/tend-ui-hooks';\nimport { useTheme } from '@10d/tend-ui-theme';\nimport cn from 'classnames';\nimport { Root } from './styled.js';\nimport { Group } from './Group/Group.js';\nimport { useToggleButtonGroupContext } from './context.js';\n\nconst BaseToggleButton = React.forwardRef((_a, ref) => {\n var { onClick, selectable = true, selected, onSelectedChange, className } = _a, props = __rest(_a, [\"onClick\", \"selectable\", \"selected\", \"onSelectedChange\", \"className\"]);\n const theme = useTheme();\n const context = useToggleButtonGroupContext();\n const [_selected, _setSelected] = useControllableState({\n value: selected,\n defaultValue: false,\n onChange: onSelectedChange,\n });\n const handleClick = React.useCallback((e) => {\n var _a;\n if (props.disabled === true)\n return;\n (_a = context === null || context === void 0 ? void 0 : context.onChange) === null || _a === void 0 ? void 0 : _a.call(context, e, e.currentTarget.value);\n onClick === null || onClick === void 0 ? void 0 : onClick(e);\n if (!selectable)\n return;\n _setSelected(!_selected);\n }, [_selected, _setSelected, context, onClick, props.disabled, selectable]);\n return (React.createElement(Root, Object.assign({ \"data-testid\": 'tend-ui-toggle-button', \"aria-pressed\": _selected, \"aria-disabled\": props === null || props === void 0 ? void 0 : props.disabled }, props, { ref: ref, \"$selected\": selectable ? _selected : false, theme: theme, onClick: handleClick, className: cn(['tend-ui-toggle-button', className]) })));\n});\nconst ToggleButton = Object.assign(BaseToggleButton, {\n displayName: 'ToggleButton',\n Group,\n});\n\nexport { ToggleButton };\n//# sourceMappingURL=ToggleButton.js.map\n","const isSubNavigationItemType = (item) => {\n return 'children' in item;\n};\nconst isGroupNavigationItemType = (item) => {\n return 'type' in item;\n};\nconst isDividerNavigationItemType = (item) => {\n return 'type' in item && item.type === 'divider';\n};\nconst isNavigationItemType = (item) => {\n return (!isSubNavigationItemType(item) &&\n !isGroupNavigationItemType(item) &&\n !isDividerNavigationItemType(item));\n};\n\nexport { isDividerNavigationItemType, isGroupNavigationItemType, isNavigationItemType, isSubNavigationItemType };\n","import { borderRadius } from '@10d/tend-ui-styling';\nimport styled from 'styled-components';\n\nconst Root = styled.li `\n box-sizing: border-box;\n list-style: none;\n margin: 0;\n\n display: flex;\n align-items: center;\n padding: 14px 16px;\n background-color: ${props => props.theme.colors.gray0};\n\n &:not(:last-child):not(:has(+ .tend-ui-stack-navigation-item-group)) {\n border-bottom: 1px solid ${props => props.theme.colors.gray100};\n }\n\n ${borderRadius};\n`;\n\nexport { Root };\n","import { __rest } from 'tslib';\nimport React from 'react';\nimport { useTheme } from '@10d/tend-ui-theme';\nimport { Root } from './styled.js';\n\nconst NavigationItem = (_a) => {\n var { children, borderRadius } = _a, props = __rest(_a, [\"children\", \"borderRadius\"]);\n const theme = useTheme();\n return (React.createElement(Root, Object.assign({}, props, { theme: theme, className: 'tend-ui-stack-navigation-item', \"$borderRadius\": borderRadius }), children));\n};\n\nexport { NavigationItem };\n","import styled from 'styled-components';\n\nconst Root = styled.li `\n box-sizing: border-box;\n list-style: none;\n margin: 0;\n margin: 20px 0px;\n`;\n\nexport { Root };\n","import { __rest } from 'tslib';\nimport React from 'react';\nimport { useTheme } from '@10d/tend-ui-theme';\nimport { Root } from './styled.js';\n\nconst NavigationGroupItem = (_a) => {\n var { children } = _a, props = __rest(_a, [\"children\"]);\n const theme = useTheme();\n return (React.createElement(Root, Object.assign({}, props, { theme: theme, className: 'tend-ui-stack-navigation-item-group' }), children));\n};\n\nexport { NavigationGroupItem };\n","import styled from 'styled-components';\n\nconst Root = styled.ul `\n box-sizing: border-box;\n list-style: none;\n margin: 0;\n padding: 0px;\n overflow: hidden;\n border-radius: 16px;\n`;\n\nexport { Root };\n","import { __rest } from 'tslib';\nimport React from 'react';\nimport { useTheme } from '@10d/tend-ui-theme';\nimport { Root } from './styled.js';\n\nconst NavigationList = (_a) => {\n var { children } = _a, props = __rest(_a, [\"children\"]);\n const theme = useTheme();\n return (React.createElement(Root, Object.assign({}, props, { theme: theme, className: 'tend-ui-stack-navigation-list' }), children));\n};\n\nexport { NavigationList };\n","import styled from 'styled-components';\n\nconst Root = styled.ul `\n box-sizing: border-box;\n list-style: none;\n margin: 0;\n padding: 0px;\n overflow: hidden;\n`;\n\nexport { Root };\n","import React from 'react';\nimport { Box } from '@10d/tend-ui-grid';\nimport { Drawer, Dot, Counter } from '@10d/tend-ui-primitives';\nimport { Text, Title } from '@10d/tend-ui-typography';\nimport { ArrowBack } from '@10d/tend-ui-icons/ArrowBack';\nimport { ChevronRight } from '@10d/tend-ui-icons/ChevronRight';\nimport { useControllableState } from '@10d/tend-ui-hooks';\nimport { isDividerNavigationItemType, isGroupNavigationItemType, isSubNavigationItemType, isNavigationItemType } from './utils.js';\nimport { NavigationItem } from './components/NavigationItem/NavigationItem.js';\nimport { NavigationGroupItem } from './components/NavigationGroupItem/NavigationGroupItem.js';\nimport { NavigationList } from './components/NavigationList/NavigationList.js';\nimport { Root } from './styled.js';\n\nconst Badge = ({ badge }) => {\n switch (badge === null || badge === void 0 ? void 0 : badge.type) {\n case 'counter':\n return React.createElement(Counter, Object.assign({ preset: 'blue' }, badge));\n case 'dot':\n return React.createElement(Dot, Object.assign({ preset: 'blue' }, badge));\n default:\n return null;\n }\n};\nconst StackNavigation = ({ items, defaultSelectedKeys, selectedKeys, onSelect, }) => {\n const [stack, setStack] = React.useState([]);\n const [_selectedKeys = [], setSelectedKeys] = useControllableState({\n value: selectedKeys,\n defaultValue: defaultSelectedKeys,\n onChange: onSelect,\n });\n const keys = stack.map(value => value.key).filter(Boolean);\n const push = React.useCallback((item) => {\n setStack(prevStack => [...prevStack, item]);\n }, []);\n const pop = React.useCallback(() => {\n setStack(prevStack => prevStack.slice(0, -1));\n }, []);\n const createHandler = React.useCallback((item) => {\n return (domEvent) => {\n var _a;\n if (!isDividerNavigationItemType(item)) {\n (_a = item === null || item === void 0 ? void 0 : item.onClick) === null || _a === void 0 ? void 0 : _a.call(item, { domEvent });\n }\n const hasChildren = 'children' in item;\n if (!hasChildren) {\n const add = [item.key];\n /**\n * С цель сохранить совместимость интерфейсов Menu из antd (Menu в antd собирает путь в реверсном порядке)\n * собирать путь нужно в обратном порядке\n */\n const path = stack\n .slice(0)\n .reverse()\n .map(v => v.key);\n setSelectedKeys(add.concat(path));\n setStack([]);\n return;\n }\n push(item);\n };\n }, [push, setSelectedKeys, stack]);\n const isSelected = React.useCallback((key = '') => _selectedKeys.includes(key), [_selectedKeys]);\n const last = stack[stack.length - 1];\n const title = last && !isDividerNavigationItemType(last) && (last === null || last === void 0 ? void 0 : last.label);\n /**\n * Из-за сложной логики вложенности навигации\n * приходится проверять прошлого и следующего предка\n * чтобы понимать какое закругление нужно давать элементу\n */\n const borderRadius = React.useCallback((previousSibling, nextSibling) => {\n const [, borderRadius] = [\n [!previousSibling && !nextSibling, '16px'],\n [!previousSibling, '16px 16px 0 0'],\n [!previousSibling, '16px 16px 0 0'],\n [!nextSibling, '0 0 16px 16px'],\n [\n previousSibling && isGroupNavigationItemType(previousSibling),\n '16px 16px 0 0',\n ],\n [nextSibling && isGroupNavigationItemType(nextSibling), '0 0 16px 16px'],\n ].filter(([condition]) => !!condition)[0] || [];\n return borderRadius;\n }, []);\n const render = React.useCallback((item, previousSibling, nextSibling) => {\n if (isGroupNavigationItemType(item)) {\n return (React.createElement(React.Fragment, null,\n React.createElement(NavigationGroupItem, null,\n React.createElement(Text, { size: 'small', color: 'gray500' }, item.label),\n item.children && (React.createElement(NavigationList, { style: { marginTop: '8px' } }, item.children.map((v, index, self) => render(v, self[index - 1], self[index + 1])))))));\n }\n if (isSubNavigationItemType(item))\n return (React.createElement(React.Fragment, null,\n React.createElement(NavigationItem, { key: item.key, onClick: createHandler(item), borderRadius: borderRadius(previousSibling, nextSibling) },\n React.createElement(Box, { className: 'tend-ui-stack-navigation-item-content', \"$display\": 'flex', \"$alignItems\": 'center', \"$gap\": 8, \"$width\": '100%' },\n item.icon,\n React.createElement(Text, { color: isSelected(item.key) ? 'blue600' : undefined, style: { flex: '1' } }, item.label),\n item.badge && React.createElement(Badge, { badge: item.badge }),\n React.createElement(ChevronRight, { size: 24, color: 'gray200' }))),\n item.children && (React.createElement(Drawer.Root, { fullscreen: { offset: '0px' }, backgroundColor: 'gray50', open: keys.includes(item.key || '') },\n React.createElement(Drawer.Header, null,\n React.createElement(Box, { \"$display\": 'flex', \"$alignItems\": 'center', \"$gap\": 8, \"$width\": '100%' },\n React.createElement(ArrowBack, { onClick: pop, size: 24 }),\n React.createElement(Title, { margin: 0, level: 'h6' }, title))),\n React.createElement(Drawer.Body, null,\n React.createElement(NavigationList, null, item.children.map((v, index, self) => render(v, self[index - 1], self[index + 1]))))))));\n if (isNavigationItemType(item)) {\n return (React.createElement(NavigationItem, { key: item.key, borderRadius: borderRadius(previousSibling, nextSibling), onClick: createHandler(item) },\n React.createElement(Box, { className: 'tend-ui-stack-navigation-item-content', \"$display\": 'flex', \"$alignItems\": 'center', \"$gap\": 8, \"$width\": '100%' },\n item.icon,\n React.createElement(Text, { color: isSelected(item.key) ? 'blue600' : undefined, style: { flex: '1' } }, item.label),\n item.badge && React.createElement(Badge, { badge: item.badge }))));\n }\n return null;\n }, [createHandler, isSelected, keys, pop, title, borderRadius]);\n return (React.createElement(Root, { className: 'tend-ui-stack-navigation-root' }, items.map((item, index, self) => render(item, self[index - 1], self[index + 1]))));\n};\nStackNavigation.displayName = 'StackNavigation';\n\nexport { StackNavigation };\n","import React from 'react';\nimport { sha1 } from 'js-sha1';\nimport { useTranslation } from '@10d/tend-ui-locale/hooks/useTranslation';\nimport { Logout } from '@10d/tend-ui-icons/Logout';\nimport { User } from '@10d/tend-ui-icons/User';\nimport { Drawer } from '@10d/tend-ui-primitives';\nimport { Title, Text } from '@10d/tend-ui-typography';\nimport { Avatar } from '@10d/tend-ui/primitives';\nimport { Box } from '@10d/tend-ui-grid';\nimport { StackNavigation } from '../../../core/StackNavigation/StackNavigation.js';\nimport { useRole } from '../../../hooks/useRole.js';\n\nconst DOMAIN = 'https://avatar.samoletgroup.ru';\nconst MobileProfile = ({ open, onClose, user, items, onLogout }) => {\n const t = useTranslation();\n const { isEmployee } = useRole(user);\n const _items = React.useMemo(() => {\n const defaultItems = [\n isEmployee && {\n key: 'profile-menu-item-profile',\n label: t(['widgets', 'Layout', 'Profile', 'profile']),\n icon: React.createElement(User, { color: 'gray500' }),\n onClick: () => {\n window.open('https://team.samoletgroup.ru/', '_blank');\n },\n },\n {\n key: 'profile-menu-item-logout',\n label: t(['widgets', 'Layout', 'Profile', 'logout']),\n icon: React.createElement(Logout, { color: 'gray500' }),\n onClick: onLogout,\n },\n ].filter(Boolean);\n return typeof items === 'function'\n ? items(defaultItems)\n : (items || []).concat(defaultItems);\n }, [isEmployee, items, onLogout, t]);\n const source = user ? new URL(`media/${sha1(user.username)}.jpg`, DOMAIN) : undefined;\n return (React.createElement(Drawer.Root, { fullscreen: { offset: '0px' }, backgroundColor: 'gray50', open: open, onClose: onClose },\n React.createElement(Drawer.Header, null,\n React.createElement(Box, { \"$display\": 'flex', \"$alignItems\": 'center', \"$gap\": 8 },\n React.createElement(Drawer.CloseButton, null),\n React.createElement(Title, { margin: '0', level: 'h6' }, \"\\u041F\\u0440\\u043E\\u0444\\u0438\\u043B\\u044C\"))),\n React.createElement(Drawer.Body, null,\n React.createElement(Box, { \"$mb\": 32, \"$display\": 'flex', \"$flexDirection\": 'column', \"$alignItems\": 'center' },\n React.createElement(Avatar, { size: 'xl', src: source === null || source === void 0 ? void 0 : source.href, bordered: true, UNSTABLE_styling: { borderColor: 'blue600' } }),\n React.createElement(Text, { strong: true, size: 'large' }, [user === null || user === void 0 ? void 0 : user.firstName, user === null || user === void 0 ? void 0 : user.lastName].filter(Boolean).join(' ')),\n React.createElement(Text, { color: 'gray500', size: 'small' }, user === null || user === void 0 ? void 0 : user.email)),\n React.createElement(StackNavigation, { items: _items }))));\n};\n\nexport { MobileProfile };\n","import styled, { css } from 'styled-components';\n\nconst Button = styled.button `\n /* Reset */\n margin: 0;\n padding: 0;\n border: none;\n box-sizing: border-box;\n text-decoration: none;\n background: none;\n\n /* Font */\n font-family: ${props => props.theme.fonts.museo};\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n\n /* Shape */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n outline-offset: 2px;\n height: max-content;\n border-radius: 10px;\n padding: 4px;\n\n /* Animation */\n cursor: pointer;\n transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);\n\n ${props => {\n if (props.$selected)\n return css `\n color: ${props => props.theme.colors.gray0};\n background: ${props => props.theme.colors['gray100-transparent']};\n\n &:focus-visible {\n outline-color: ${props => props.theme.colors['gray350-transparent']};\n }\n &:hover:not(:disabled) {\n cursor: pointer;\n color: ${props => props.theme.colors.gray0};\n background: ${props => props.theme.colors['gray150-transparent']};\n }\n &:active:not(:disabled) {\n color: ${props => props.theme.colors.gray0};\n background: ${props => props.theme.colors['gray100-transparent']};\n }\n &:disabled {\n cursor: not-allowed;\n color: ${props => props.theme.colors.gray400};\n background-color: ${props => props.theme.colors.gray50};\n }\n `;\n return css `\n color: ${props => props.theme.colors.gray0};\n\n &:focus-visible {\n outline-color: ${props => props.theme.colors['gray350-transparent']};\n }\n &:hover:not(:disabled) {\n cursor: pointer;\n color: ${props => props.theme.colors.gray0};\n background: ${props => props.theme.colors['gray100-transparent']};\n }\n &:active:not(:disabled) {\n color: ${props => props.theme.colors.gray0};\n background: ${props => props.theme.colors['gray150-transparent']};\n }\n &:disabled {\n cursor: not-allowed;\n color: ${props => props.theme.colors.gray400};\n background-color: ${props => props.theme.colors.gray50};\n }\n `;\n}}\n`;\n\nexport { Button };\n","import React from 'react';\nimport { Skeleton, Image } from '@10d/tend-ui/ui';\nimport { useTheme } from '@10d/tend-ui-theme';\nimport { Apps } from '@10d/tend-ui-icons/Apps';\nimport { ArrowBack } from '@10d/tend-ui-icons/ArrowBack';\nimport { Menu } from '@10d/tend-ui-icons/Menu';\nimport { Box } from '@10d/tend-ui-grid';\nimport { Title } from '@10d/tend-ui-typography';\nimport { Drawer } from '@10d/tend-ui-primitives';\nimport { useTranslation } from '@10d/tend-ui-locale/hooks/useTranslation';\nimport { StackNavigation } from '../../../core/StackNavigation/StackNavigation.js';\nimport { useSamoletServices } from '../../../hooks/useSamoletServices.js';\nimport { S_PRO_STAGE_ANALYTICS_URL, S_PRO_PROD_ANALYTICS_URL, S_INFO_STAGE_URL, S_INFO_PROD_URL } from '../../../consts.js';\nimport { MobileProfile } from '../MobileProfile/MobileProfile.js';\nimport { Button } from './styled.js';\n\nconst preloader = Array.from({ length: 10 }).map(() => ({\n key: '1',\n label: React.createElement(Skeleton, { height: 15, width: 100, backgroundColor: '#e6e6e6' }),\n type: 'group',\n children: [\n { key: '2', label: React.createElement(Skeleton, { height: 50, backgroundColor: '#e6e6e6' }) },\n { key: '3', label: React.createElement(Skeleton, { height: 50, backgroundColor: '#e6e6e6' }) },\n { key: '4', label: React.createElement(Skeleton, { height: 50, backgroundColor: '#e6e6e6' }) },\n ],\n}));\nconst MobileBurgerMenu = ({ authenticated, stand, navigation, profile, user, onLogout, }) => {\n const theme = useTheme();\n const { data, loading, request } = useSamoletServices(stand);\n const t = useTranslation();\n const [isBurgerMenuOpen, setIsBurgerMenuOpen] = React.useState(false);\n const [isProfileOpen, setIsProfileOpen] = React.useState(false);\n const src = React.useCallback((service) => {\n if (service.isActive)\n return `https://cdn.samolet10d.ru/tend-ui/logos/${service.tuiIconName}-blue600.svg`;\n return `https://cdn.samolet10d.ru/tend-ui/logos/${service.tuiIconName}-gray400.svg`;\n }, []);\n const services = React.useMemo(() => {\n const empty = [];\n if (!data)\n return empty;\n const services = data.categories.map(service => {\n return {\n key: service.name,\n label: service.name,\n type: 'group',\n children: service.services.map(service => ({\n key: service.id.toString(),\n label: service.name,\n icon: React.createElement(Image, { width: 20, src: src(service), alt: service.name }),\n onClick: () => {\n window.open(service.link, '_blank');\n },\n })),\n };\n });\n return services;\n }, [data, src]);\n const closeBurgerMenu = React.useCallback(() => {\n setIsBurgerMenuOpen(false);\n }, []);\n const closeProfileMenu = React.useCallback(() => {\n setIsProfileOpen(false);\n }, []);\n const items = React.useMemo(() => [\n authenticated && {\n key: 'analytics',\n label: t(['widgets', 'Layout', 'Header', 'analytics']),\n onClick: () => {\n const link = {\n stage: S_PRO_STAGE_ANALYTICS_URL,\n dev: S_PRO_STAGE_ANALYTICS_URL,\n e2e: S_PRO_STAGE_ANALYTICS_URL,\n mr: S_PRO_STAGE_ANALYTICS_URL,\n prod: S_PRO_PROD_ANALYTICS_URL,\n }[stand];\n window.open(link, '_blank');\n },\n },\n authenticated && {\n key: 'support',\n label: t(['widgets', 'Layout', 'Header', 'info']),\n onClick: () => {\n const link = {\n stage: S_INFO_STAGE_URL,\n e2e: S_INFO_STAGE_URL,\n mr: S_INFO_STAGE_URL,\n dev: S_INFO_STAGE_URL,\n prod: S_INFO_PROD_URL,\n }[stand];\n const linkUrl = new URL(link);\n linkUrl.searchParams.append('auth', 'true');\n window.open(linkUrl.href, '_blank');\n },\n },\n authenticated && {\n key: 'profile',\n label: 'Профиль',\n onClick: () => {\n setIsProfileOpen(true);\n },\n },\n ].filter(Boolean), [authenticated, stand, t]);\n return (React.createElement(React.Fragment, null,\n React.createElement(Button, { onClick: () => {\n setIsBurgerMenuOpen(p => !p);\n }, theme: theme, \"$selected\": isBurgerMenuOpen },\n React.createElement(Menu, { size: 24, color: 'gray0' })),\n React.createElement(Drawer.Root, { open: isBurgerMenuOpen, fullscreen: { offset: '0px' }, placement: 'right', backgroundColor: 'gray50', onClose: closeBurgerMenu },\n React.createElement(Drawer.Header, null,\n React.createElement(Box, { \"$display\": 'flex', \"$alignItems\": 'center', \"$gap\": 8 },\n React.createElement(ArrowBack, { onClick: closeBurgerMenu, size: 24, color: 'gray900' }),\n React.createElement(Title, { margin: '0', level: 'h6' }, \"\\u041C\\u0435\\u043D\\u044E\"))),\n React.createElement(Drawer.Body, null,\n React.createElement(Box, { \"$display\": 'flex', \"$flexDirection\": 'column', \"$gap\": 16 },\n authenticated && (React.createElement(StackNavigation, { items: [\n {\n key: 'services',\n icon: React.createElement(Apps, { size: 20, color: 'blue600' }),\n label: 'Все сервисы',\n onClick: () => {\n request();\n },\n children: loading ? preloader : services,\n },\n ] })),\n navigation && (React.createElement(StackNavigation, Object.assign({}, navigation, { onSelect: path => {\n var _a;\n (_a = navigation === null || navigation === void 0 ? void 0 : navigation.onSelect) === null || _a === void 0 ? void 0 : _a.call(navigation, path);\n closeBurgerMenu();\n } }))),\n items.length > 0 && React.createElement(StackNavigation, { items: items }),\n authenticated && (React.createElement(MobileProfile, Object.assign({}, profile, { user: user, open: isProfileOpen, onLogout: onLogout, onClose: closeProfileMenu }))))))));\n};\n\nexport { MobileBurgerMenu };\n","import Menu from 'antd-core/es/menu';\nimport styled, { css } from 'styled-components';\n\nconst colorized = (color) => {\n if (!color)\n return;\n if (color === null || color === void 0 ? void 0 : color.includes('gradient'))\n return css `\n background: ${color};\n background-clip: text;\n -webkit-text-fill-color: transparent;\n `;\n return css `\n color: ${color};\n `;\n};\nconst Root = styled(Menu) `\n &.tend-ui-menu-horizontal {\n min-width: 0;\n flex: auto;\n margin-right: 275px;\n\n height: 24px;\n line-height: 1;\n border-bottom: none;\n\n .tend-ui-menu-item,\n .tend-ui-menu-submenu {\n padding: 2px 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n\n /* Стили на пункт меню с children еще \"Еще\" */\n .tend-ui-menu-submenu-title {\n color: ${props => props.$styling.defaultText};\n }\n &:not(.tend-ui-menu-item-selected, .tend-ui-menu-submenu-selected) {\n background: ${props => props.$styling.tabDefaultBg};\n .tend-ui-menu-item-label {\n ${props => colorized(props.$styling.defaultText)};\n }\n .tend-ui-icon-root {\n color: ${props => props.$styling.tabDefaultIcon};\n }\n }\n\n &:hover {\n .tend-ui-menu-item-label {\n -webkit-text-fill-color: unset;\n color: ${props => props.$styling.hoverText};\n }\n .tend-ui-icon-root {\n color: ${props => props.$styling.tabHoverIcon};\n }\n\n /* Стили на пункт меню с children еще \"Еще\" */\n .tend-ui-menu-submenu-title {\n color: ${props => props.$styling.hoverText} !important;\n }\n\n background: ${props => props.$styling.tabHoverBg};\n }\n\n &.tend-ui-menu-item-selected,\n &.tend-ui-menu-submenu-selected {\n color: ${props => props.$styling.activeText};\n .tend-ui-menu-submenu-title {\n color: ${props => props.$styling.activeText};\n }\n background: ${props => props.$styling.tabActiveBg};\n\n &:hover {\n background: ${props => props.$styling.tabActiveHoverBg};\n }\n }\n\n &:first-child {\n margin-right: 4px;\n }\n &:last-child {\n margin-left: 4px;\n }\n &:not(:first-child):not(:last-child) {\n margin-left: 4px;\n margin-right: 4px;\n }\n\n /*\n Antd вешает стили из меню на span рядом с классом .anticon. Переопределяем\n */\n .tend-ui-menu-item .tend-ui-menu-item-icon + .tend-ui-badge-root,\n .tend-ui-menu-submenu-title .tend-ui-menu-item-icon + .tend-ui-badge-root,\n .tend-ui-menu-item .anticon + .tend-ui-badge-root,\n .tend-ui-menu-submenu-title .anticon + .tend-ui-badge-root {\n margin-inline-start: 0px;\n }\n }\n\n /* Пункт меню без children hover */\n .tend-ui-menu-overflow-item.tend-ui-menu-item-active {\n .tend-ui-dot-dot {\n background: ${props => props.$theme.colors['white700-transparent']};\n }\n .tend-ui-counter-counter {\n color: ${props => props.$theme.colors.blue700};\n background: ${props => props.$theme.colors['white700-transparent']};\n }\n }\n /* Пункт меню без children selected */\n .tend-ui-menu-overflow-item.tend-ui-menu-item-selected {\n .tend-ui-dot-dot {\n background: ${props => props.$theme.colors['white700-transparent']};\n }\n .tend-ui-counter-counter {\n color: ${props => props.$theme.colors.blue700};\n background: ${props => props.$theme.colors['white700-transparent']};\n }\n }\n /* Пункт меню с children hover */\n .tend-ui-menu-overflow-item.tend-ui-menu-submenu-active {\n .tend-ui-dot-dot {\n background: ${props => props.$theme.colors['white700-transparent']};\n }\n .tend-ui-counter-counter {\n color: ${props => props.$theme.colors.blue700};\n background: ${props => props.$theme.colors['white700-transparent']};\n }\n }\n /* Пункт меню с children selected */\n .tend-ui-menu-overflow-item.tend-ui-menu-submenu-selected {\n .tend-ui-dot-dot {\n background: ${props => props.$theme.colors['white700-transparent']};\n }\n .tend-ui-counter-counter {\n color: ${props => props.$theme.colors.blue700};\n background: ${props => props.$theme.colors['white700-transparent']};\n }\n }\n }\n`;\n\nexport { Root };\n","import React from 'react';\nimport AntConfigProvider from 'antd-core/es/config-provider';\nimport { useTheme } from '@10d/tend-ui-theme';\nimport { Box } from '@10d/tend-ui-grid';\nimport { Dot } from '@10d/tend-ui/ui';\nimport { Counter } from '@10d/tend-ui/primitives';\nimport { ChevronDown } from '@10d/tend-ui-icons/ChevronDown';\nimport { ChevronUp } from '@10d/tend-ui-icons/ChevronUp';\nimport merge from 'lodash/merge';\nimport { Root } from './styled.js';\n\nconst Label = ({ after, children, badge, }) => {\n switch (badge === null || badge === void 0 ? void 0 : badge.type) {\n case 'dot': {\n return (React.createElement(Box, { as: 'span', \"$display\": 'flex', \"$alignItems\": 'center', \"$justifyContent\": 'space-between', \"$gap\": 4 },\n React.createElement(\"span\", { className: 'tend-ui-menu-item-label' }, children),\n React.createElement(Dot, { color: 'blue700' }),\n after));\n }\n case 'counter': {\n return (React.createElement(Box, { as: 'span', \"$display\": 'flex', \"$alignItems\": 'center', \"$justifyContent\": 'space-between', \"$gap\": 4 },\n React.createElement(\"span\", { className: 'tend-ui-menu-item-label' }, children),\n React.createElement(Counter, Object.assign({ backgroundColor: 'blue700', color: 'white800-transparent' }, badge)),\n after));\n }\n default:\n return (React.createElement(Box, { as: 'span', \"$display\": 'flex', \"$alignItems\": 'center', \"$justifyContent\": 'space-between', \"$gap\": 4 },\n React.createElement(\"span\", { className: 'tend-ui-menu-item-label' }, children),\n after));\n }\n};\nconst traverse = (menu, openedKeys) => {\n var _a;\n if (!menu)\n return menu;\n if ('type' in menu)\n return menu;\n if ('children' in menu) {\n const { badge } = menu;\n const isOpened = openedKeys.includes(menu.key);\n const after = isOpened ? React.createElement(ChevronUp, null) : React.createElement(ChevronDown, null);\n return Object.assign(Object.assign({}, menu), { popupOffset: [-8, 0], label: (React.createElement(Label, { after: after, badge: badge }, menu.label)), children: (_a = menu.children) === null || _a === void 0 ? void 0 : _a.map(menu => traverse(menu, openedKeys)) });\n }\n const { badge } = menu;\n return Object.assign(Object.assign({}, menu), { label: React.createElement(Label, { badge: badge }, menu.label) });\n};\n/**\n * @internal Не для публичного использования\n * TODO: Переписать на свою реализацию, antd очень ограничен\n */\nconst Navigation = ({ items = [], defaultSelectedKeys, selectedKeys, onSelect, styling, }) => {\n const theme = useTheme();\n const _styling = React.useMemo(() => merge({\n tabDefaultBg: theme.colors.blue600,\n tabActiveBg: theme.colors.blue700,\n tabHoverBg: theme.colors['gray100-transparent'],\n tabPressedBg: theme.colors['gray200-transparent'],\n tabActiveHoverBg: theme.colors.blue800,\n tabActivePressedBg: theme.colors.blue800,\n tabDefaultIcon: '',\n tabHoverIcon: '',\n defaultText: theme.colors.gray0,\n hoverText: theme.colors.gray0,\n pressedText: theme.colors.gray0,\n activeText: theme.colors.gray0,\n activeHoverText: theme.colors.gray0,\n activePressedText: theme.colors.gray0,\n }, styling), [styling, theme.colors]);\n const [openedKeys, setOpenedKeys] = React.useState([]);\n const overflowedIndicator = React.useMemo(() => {\n const isOpened = openedKeys.includes('rc-menu-more');\n return (React.createElement(Box, { as: 'span', \"$display\": 'flex', \"$alignItems\": 'center', \"$gap\": 4 },\n React.createElement(\"span\", { className: 'tend-ui-menu-item-label' }, \"\\u0415\\u0449\\u0451\"),\n isOpened ? React.createElement(ChevronUp, null) : React.createElement(ChevronDown, null)));\n }, [openedKeys]);\n const handleOpenChange = React.useCallback((path) => {\n setOpenedKeys(path);\n }, []);\n const handleSelect = React.useCallback((info) => {\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(info.keyPath);\n }, [onSelect]);\n return (React.createElement(AntConfigProvider, { theme: {\n components: {\n Menu: {\n colorBgContainer: 'transparent',\n itemHeight: 28,\n itemHoverBg: theme.colors['gray50-transparent'],\n itemActiveBg: theme.colors['gray50-transparent'],\n itemSelectedBg: theme.colors['gray50-transparent'],\n itemMarginBlock: 0,\n itemMarginInline: 0,\n subMenuItemBorderRadius: 0,\n horizontalItemBorderRadius: 16,\n groupTitleFontSize: 12,\n groupTitleLineHeight: '16px',\n groupTitleColor: theme.colors.gray650,\n activeBarHeight: 0,\n },\n },\n } },\n React.createElement(Root, { \"$theme\": theme, \"$styling\": _styling, defaultSelectedKeys: defaultSelectedKeys, selectedKeys: selectedKeys, mode: 'horizontal', expandIcon: null, items: items.map(item => traverse(item, openedKeys)), onSelect: handleSelect, overflowedIndicator: overflowedIndicator, onOpenChange: handleOpenChange, triggerSubMenuAction: 'click' })));\n};\nNavigation.displayName = 'Header.Navigation';\n\nexport { Navigation };\n","import styled from 'styled-components';\n\nconst Root = styled.div `\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 6px 4px;\n`;\n\nexport { Root };\n","import React from 'react';\nimport { Text } from '@10d/tend-ui-typography';\nimport { useTheme, useColor } from '@10d/tend-ui-theme';\nimport { Root } from './styled.js';\n\nconst Logo = ({ onClick, after, children, before, color = 'gray0' }) => {\n const theme = useTheme();\n // FIXME: Исправить литеральные типы\n const _color = useColor(color);\n return (React.createElement(Root, { theme: theme, className: ['tend-ui-logo-root'].filter(Boolean).join(' '), onClick: onClick },\n before,\n React.createElement(Text, { color: _color, style: { display: 'block', whiteSpace: 'nowrap' }, strong: true }, children),\n after));\n};\nLogo.displayName = 'Header.Logo';\n\nexport { Logo };\n","import { margin } from '@10d/tend-ui-styling';\nimport styled from 'styled-components';\n\nconst Root = styled.header `\n display: flex;\n flex-direction: column;\n gap: 8px;\n position: ${props => (props.$sticky ? 'sticky' : 'static')};\n z-index: 999;\n top: ${props => props.$top};\n\n padding: 8px 16px;\n background-color: ${props => props.$background};\n\n ${margin};\n`;\n\nexport { Root };\n","import { __rest } from 'tslib';\nimport React from 'react';\nimport { useTheme, useColor } from '@10d/tend-ui-theme';\nimport { extractMarginProps } from '@10d/tend-ui-styling';\nimport { Root as Root$1 } from './styled.js';\n\nconst Root = (_a) => {\n var { sticky = true, top, children, className, background = 'blue600' } = _a, props = __rest(_a, [\"sticky\", \"top\", \"children\", \"className\", \"background\"]);\n const theme = useTheme();\n // FIXME: Исправить литеральные типы\n const _background = useColor(background);\n const margins = __rest(extractMarginProps(props), []);\n return (React.createElement(Root$1, Object.assign({ theme: theme, \"$sticky\": sticky, \"$background\": _background, \"$top\": top, className: [className, 'tend-ui-header-root'].filter(Boolean).join(' ') }, margins), children));\n};\nRoot.displayName = 'Header.Root';\n\nexport { Root };\n","const isLabeledOption = (value) => {\n return typeof value === 'object';\n};\nconst isRawOption = (value) => {\n return typeof value !== 'object';\n};\nconst isDividerOption = (value) => {\n return typeof value === 'object' && 'type' in value;\n};\n\nexport { isDividerOption, isLabeledOption, isRawOption };\n//# sourceMappingURL=Option.js.map\n","import { isDividerOption, isLabeledOption } from '@10d/tend-ui-types';\n\nconst mapProjectOptionToDropdownItem = (options) => {\n return options.map(option => {\n if (isDividerOption(option))\n return { type: 'divider' };\n if (isLabeledOption(option))\n return { key: option.value.toString(), label: option.label, selectable: true };\n return { key: option.toString(), label: option, selectable: true };\n });\n};\nconst mapProjectOptionToLabeledOption = (options) => {\n return options.map(option => {\n if (isDividerOption(option) || isLabeledOption(option))\n return option;\n return { value: option, label: option };\n });\n};\n\nexport { mapProjectOptionToDropdownItem, mapProjectOptionToLabeledOption };\n","import React, { useState, useMemo, useCallback } from 'react';\nimport { isContextMenuItem, Dropdown, Input } from '@10d/tend-ui/primitives';\nimport { useControllableState } from '@10d/tend-ui-hooks';\nimport { ChevronDown } from '@10d/tend-ui-icons/ChevronDown';\nimport { ChevronUp } from '@10d/tend-ui-icons/ChevronUp';\nimport { Text } from '@10d/tend-ui-typography';\nimport { Box } from '@10d/tend-ui-grid';\nimport { isLabeledOption, isDividerOption } from '@10d/tend-ui-types';\nimport { useApi } from '@10d/tend-ui/hooks';\nimport { Spinner } from '@10d/tend-ui-primitives';\nimport { Skeleton, EmptyOverlay } from '@10d/tend-ui/ui';\nimport { mapProjectOptionToLabeledOption, mapProjectOptionToDropdownItem } from './utils.js';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst _transform = (data) => ({\n value: data === null || data === void 0 ? void 0 : data.id,\n label: data === null || data === void 0 ? void 0 : data.name,\n});\nconst skeleton = [\n {\n key: '1',\n label: React.createElement(Skeleton, null),\n },\n {\n key: '2',\n label: React.createElement(Skeleton, null),\n },\n {\n key: '3',\n label: React.createElement(Skeleton, null),\n },\n {\n key: '4',\n label: React.createElement(Skeleton, null),\n },\n];\nconst Project = ({ api, options, transform = _transform, onChange, value, defaultValue, searchable, overlayStyle, }) => {\n const { loading, request, data } = useApi(api);\n const [open, setOpen] = React.useState(false);\n const [_value = [], _setValue] = useControllableState({\n value,\n defaultValue,\n onChange,\n });\n const checked = React.useMemo(() => (_value || []).map(v => isLabeledOption(v) ? v.value.toString() : v.toString()), [_value]);\n const transformed = React.useMemo(() => {\n if (!data)\n return [];\n if (!options)\n return data.results.map(transform);\n const result = data.results.map(transform);\n const extra = mapProjectOptionToLabeledOption(options(result));\n return extra;\n }, [data, options, transform]);\n const items = React.useMemo(() => {\n if (loading)\n return skeleton;\n if (!data)\n return [];\n return mapProjectOptionToDropdownItem(transformed);\n }, [data, loading, transformed]);\n const [_search, _setSearch] = useState('');\n const searchedItems = useMemo(() => items.filter(item => {\n var _a;\n return isContextMenuItem(item)\n ? (_a = item.label) === null || _a === void 0 ? void 0 : _a.toString().toLowerCase().includes(_search.toLowerCase())\n : true;\n }), [_search, items]);\n const content = React.useMemo(() => {\n if (!(_value === null || _value === void 0 ? void 0 : _value.length))\n return 'Выберите проект';\n const v = _value[0];\n if (isLabeledOption(v))\n return v.label;\n const founding = transformed.find(item => {\n if (isDividerOption(item))\n return false;\n return item.value === v;\n });\n if (!founding)\n return v;\n if (isDividerOption(founding))\n return v;\n return founding.label;\n }, [_value, transformed]);\n React.useEffect(() => {\n request();\n }, [api, request]);\n const icon = React.useMemo(() => {\n if (loading)\n return React.createElement(Spinner, { color: 'white', size: 'xs' });\n return open ? (React.createElement(ChevronUp, { size: 16, color: 'gray100' })) : (React.createElement(ChevronDown, { size: 16, color: 'gray100' }));\n }, [loading, open]);\n const defaultSelectedKeys = React.useMemo(() => items.map(item => item.key), []);\n const searchDropdownRenderHandler = useCallback((menu, searchValue, isEmpty) => (React.createElement(Dropdown.Content, { display: 'flex', flexDirection: 'column', padding: '0 0 8px' },\n React.createElement(Input, { style: { width: 'unset', margin: '16px 16px 8px' }, value: searchValue, onChange: e => _setSearch(e.target.value), placeholder: 'Поиск', allowClear: true }),\n !isEmpty ? (React.cloneElement(menu, {\n style: {\n boxShadow: 'none',\n borderRadius: 0,\n paddingTop: 0,\n paddingBottom: 0,\n },\n })) : (React.createElement(EmptyOverlay, null)))), []);\n const dropdownItemsProps = searchable\n ? {\n dropdownRender: menu => searchDropdownRenderHandler(menu, _search, !searchedItems.length),\n items: searchedItems,\n }\n : { items };\n return (React.createElement(Dropdown, Object.assign({ overlayStyle: Object.assign({ minWidth: '256px' }, overlayStyle), overlayClassName: 'tend-ui-header-project-dropdown-overlay', onOpenChange: setOpen, trigger: ['click'], selectedKeys: checked, \n // FIXME: Поправить типизацию\n defaultSelectedKeys: defaultSelectedKeys, onSelect: keys => {\n const [key] = keys;\n const option = transformed.find(option => {\n if (isDividerOption(option))\n return false;\n if (isLabeledOption(option))\n return option.value.toString() === key;\n return option === key;\n });\n if (!option)\n return;\n _setValue([option]);\n _setSearch('');\n } }, dropdownItemsProps),\n React.createElement(Box, { \"$display\": 'flex', \"$alignItems\": 'center', \"$gap\": 8, style: { cursor: 'pointer' } },\n React.createElement(Text, { color: 'gray100' }, content),\n icon)));\n};\n\nexport { Project };\n","import { __rest } from 'tslib';\nimport React from 'react';\nimport { Box } from '@10d/tend-ui-grid';\nimport { useMediaQuery } from '@10d/tend-ui-hooks';\nimport { Divider } from '@10d/tend-ui/ui';\nimport { Analytics } from './components/desktop/Analytics/Analytics.js';\nimport { Authorization } from './components/desktop/Authorization/Authorization.js';\nimport { Logo } from './components/desktop/Logo/Logo.js';\nimport { Profile } from './components/desktop/Profile/Profile.js';\nimport { Support } from './components/desktop/Support/Support.js';\nimport { BurgerMenu } from './components/desktop/BurgerMenu/BurgerMenu.js';\nimport { MobileBurgerMenu } from './components/mobile/MobileBurgerMenu/MobileBurgerMenu.js';\nimport { Navigation } from './core/Navigation/Navigation.js';\nimport { Responsive } from './core/Responsive/Responsive.js';\nimport { Logo as Logo$1 } from './core/Logo/Logo.js';\nimport { Root } from './core/Root/Root.js';\nimport { useRole } from './hooks/useRole.js';\nimport { Project } from './components/desktop/Project/Project.js';\n\nconst HEADER_HEIGHT = 52;\nconst Header = (_a) => {\n var { sticky = true, authenticated = true, stand = 'prod', app, navigation, user, logo, profile, slots, authorization, project, onLogout = () => {\n window.location.replace('/accounts/logout/');\n } } = _a, props = __rest(_a, [\"sticky\", \"authenticated\", \"stand\", \"app\", \"navigation\", \"user\", \"logo\", \"profile\", \"slots\", \"authorization\", \"project\", \"onLogout\"]);\n const { isEmployee } = useRole(user);\n const search = slots === null || slots === void 0 ? void 0 : slots.search;\n const notifications = slots === null || slots === void 0 ? void 0 : slots.notifications;\n const isDesktop = useMediaQuery('(min-width: 768px)');\n const offset = isDesktop ? 12 : 4;\n const top = navigation ? `-${HEADER_HEIGHT - offset}px` : `-${HEADER_HEIGHT}px`;\n return (React.createElement(Root, Object.assign({ sticky: sticky, top: top }, props),\n React.createElement(Box, { \"$display\": 'flex', \"$alignItems\": 'center', \"$gap\": 12, \"$height\": 32 },\n React.createElement(Responsive, { mobile: React.createElement(MobileBurgerMenu, { user: user, profile: profile, stand: stand, navigation: navigation, authenticated: authenticated }) }, authenticated && React.createElement(BurgerMenu, { app: app, stand: stand })),\n React.createElement(Logo, Object.assign({ app: app, stand: stand, onClick: () => {\n window.location.replace('/');\n } }, logo)),\n project && (React.createElement(Responsive, null,\n React.createElement(Divider, { color: 'white200-transparent', variant: 'vertical' }),\n React.createElement(Project, Object.assign({}, project)))),\n React.createElement(Box, { \"$display\": 'flex', \"$alignItems\": 'center', \"$justifyContent\": 'flex-end', \"$flex\": '1', \"$gap\": 12 },\n authenticated && isEmployee && (React.createElement(Responsive, null,\n React.createElement(Analytics, { stand: stand }))),\n authenticated && (React.createElement(Responsive, null,\n React.createElement(Support, { stand: stand }))),\n search,\n notifications),\n authenticated ? (React.createElement(Responsive, null,\n React.createElement(Profile, { user: user, items: profile === null || profile === void 0 ? void 0 : profile.items, onLogout: onLogout }))) : (React.createElement(Authorization, Object.assign({}, authorization)))),\n navigation && (React.createElement(Responsive, null,\n React.createElement(Navigation, Object.assign({}, navigation))))));\n};\nHeader.Root = Root;\nHeader.Navigation = Navigation;\nHeader.Logo = Logo$1;\nHeader.displayName = 'Header';\n\nexport { Header };\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n"],"names":["BaseAxiosMiddleware","constructor","this","onRequest","config","onRequestError","error","Promise","reject","onResponse","response","onResponseError","client","axios","create","headers","Accept","super","arguments","pendingRequests","Map","isPending","url","has","unregister","delete","register","request","source","CancelToken","set","cancelToken","token","cancel","get","cancellable","forEach","Middleware","instance","interceptors","use","clientFactory","then","data","ApiClientContext","undefined","useClient","Context","ApiClient","children","client$1","Provider","value","callback","callbackRef","current","args","_a","call","displayName","__CACHE","CacheManager","cacheTime","staleTime","bind","isFresh","isExists","isStale","key","payload","timestamp","Date","now","cached","_b","difference","useApi","api","loading","setLoading","setData","setError","params","catch","e","isCancel","finally","fn","options","cache","force","manager","resolve","usePaginationApi","info","setInfo","isMoreLoading","results","next","previous","contextFactory","provider","initial","consumer","context","Error","createContext","props","Object","values","withInjectedClassName","Component","propertyName","ref","property","className","filter","Boolean","join","assign","MuseoSansCyrl","createGlobalStyle","padding","styling","$padding","type","properties","transform","px","$pt","$pr","$pb","$pl","margin","$margin","$mt","$mr","$mb","$ml","appearance","$color","$backgroundColor","layout","$display","$gridTemplateColumns","$gridTemplateRows","$gridAutoFlow","$rowGap","$columnGap","$opacity","$alignItems","$flexDirection","$justifyContent","$flex","$flexWrap","$flexShrink","$flexGrow","$position","$width","$height","$minWidth","$minHeight","$maxWidth","$maxHeight","$top","$right","$bottom","$left","$gap","$zIndex","$borderRadius","Box","div","pointer","Root","A","$fullWidth","css","$grow","Compact","InnerSpace","grow","fullWidth","Space","Row","Col","Flex","extractMarginProps","rest","withoutMargins","margins","extractPaddingProps","paddings","useCallbackRef","useControllableState","defaultValue","onChange","_value","_setValue","_state","previousValue","_onChange","useUncontrolledState","isControlled","__value","useMediaQuery","query","isMatch","setIsMatch","mediaQueryList","setMediaQueryList","list","window","matchMedia","matches","addEventListener","removeEventListener","S_INFO_STAGE_URL","S_INFO_PROD_URL","S_PRO_STAGE_ANALYTICS_URL","S_PRO_PROD_ANALYTICS_URL","Analytics","stand","colors","t","useTranslation","link","stage","dev","mr","e2e","prod","style","variant","preset","UNSTABLE_styling","buttonOnAccent","ghostDefaultText","onClick","open","Responsive","mobile","Authorization","signinButtonProps","signupButtonProps","onSignin","onSignup","as","href","labels","color","bg","Stand","backgroundColor","size","uppercase","wordBreak","fontWeight","theme","gray0","UPPER_CASED","Logo","app","after","before","src","toLowerCase","replace","isProd","isStage","isDev","isE2e","isMr","INTERNAL_useStand","content","isUndefined","includes","toUpperCase","split","map","p","w","charAt","slice","formatServiceName","_before","width","_after","display","whiteSpace","strong","useRole","profile","isEmployee","role","isPartner","Profile","user","items","onLogout","_items","defaultItems","label","icon","User","Logout","concat","avatar","URL","sha1","username","bordered","title","firstName","lastName","description","email","Support","linkUrl","searchParams","append","useSamoletServices","button","fonts","museo","$selected","gray400","gray50","Button","selected","$disabled","blue100","$hovered","Card","hovered","disabled","Preloader","height","Content","hasLk","lk","service","isActive","tuiIconName","result","categories","Sync","target","rel","CardView","Apps","portion","index","name","services","shortDescription","id","alt","BurgerMenu","setOpen","trigger","onOpenChange","dropdownRender","DrawerContext","maskClosable","mask","fullscreen","placement","onClose","destroyOnClose","getPrefixCls","prefixCls","hashId","_backgroundColor","fullscreenOffset","offset","isVertical","isHorizontal","maskMotion","motionName","motionAppear","motionEnter","motionLeave","motionDeadline","panelMotion","motionPlacement","small","medium","large","rootClassName","motion","styles","flexDirection","maxHeight","Header","Body","gray650","gray900","CloseButton","Close","Circle","circle","createShrinkKeyframes","strokeDasharray","strokeDashoffset","keyframes","Svg","svg","$center","Children","span","$loading","Spinner","dimensions","xs","strokeWidth","radius","xOffset","yOffset","strokeDashArray","Math","ceil","PI","strokeDashOffset","fill","stroke","strokeLinecap","r","cx","cy","Bubble","attrs","$placements","leftTop","$offset","rightTop","rightBottom","leftBottom","$inline","$placement","default","success","green600","warning","gold600","processing","blue600","red600","gray","blue","geekblue","geekblue600","green","yellow","red","cyan","cyan600","volcano","volcano600","purple","purple600","blue700","geekblue200","green700","green100","gold800","gold200","red700","red100","cyan800","cyan100","volcano700","volcano100","purple500","purple100","$preset","Dot","inline","_color","Counter","showZero","inner","max","isInnerReactElement","isInnerNumber","isNumber","isInnerString","isString","isShown","clamp","SizeContext","useSizeContext","main","$sizes","$size","$background","blue800","gray100","ToggleButtonGroupContext","Group","BaseToggleButton","selectable","onSelectedChange","_selected","_setSelected","handleClick","currentTarget","isSubNavigationItemType","item","isGroupNavigationItemType","isDividerNavigationItemType","li","borderRadius","NavigationItem","NavigationGroupItem","ul","NavigationList","Badge","badge","StackNavigation","defaultSelectedKeys","selectedKeys","onSelect","stack","setStack","_selectedKeys","setSelectedKeys","keys","push","prevStack","pop","createHandler","domEvent","add","path","reverse","v","isSelected","last","length","previousSibling","nextSibling","condition","render","marginTop","self","flex","ChevronRight","ArrowBack","level","isNavigationItemType","MobileProfile","borderColor","preloader","Array","from","MobileBurgerMenu","authenticated","navigation","isBurgerMenuOpen","setIsBurgerMenuOpen","isProfileOpen","setIsProfileOpen","toString","closeBurgerMenu","closeProfileMenu","Menu","$styling","defaultText","tabDefaultBg","colorized","tabDefaultIcon","hoverText","tabHoverIcon","tabHoverBg","activeText","tabActiveBg","tabActiveHoverBg","$theme","Label","traverse","menu","openedKeys","ChevronUp","ChevronDown","popupOffset","Navigation","_styling","tabPressedBg","tabActivePressedBg","pressedText","activeHoverText","activePressedText","setOpenedKeys","overflowedIndicator","isOpened","handleOpenChange","handleSelect","keyPath","components","colorBgContainer","itemHeight","itemHoverBg","itemActiveBg","itemSelectedBg","itemMarginBlock","itemMarginInline","subMenuItemBorderRadius","horizontalItemBorderRadius","groupTitleFontSize","groupTitleLineHeight","groupTitleColor","activeBarHeight","mode","expandIcon","triggerSubMenuAction","header","$sticky","sticky","top","background","_background","isLabeledOption","isDividerOption","_transform","skeleton","Project","searchable","overlayStyle","checked","transformed","option","mapProjectOptionToLabeledOption","mapProjectOptionToDropdownItem","_search","_setSearch","useState","searchedItems","useMemo","founding","find","searchDropdownRenderHandler","useCallback","searchValue","isEmpty","placeholder","allowClear","boxShadow","paddingTop","paddingBottom","dropdownItemsProps","minWidth","overlayClassName","cursor","logo","slots","authorization","project","location","search","notifications","isDesktop","hasOwn","hasOwnProperty","classNames","classes","i","arg","appendClass","parseValue","isArray","apply","prototype","newClass","module","exports"],"sourceRoot":""}