@ytsaurus/ui 3.6.0 → 3.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/public/build/assets-manifest.json +37 -37
  2. package/dist/public/build/css/{main.89a1698b.css → main.eac511a5.css} +2 -2
  3. package/dist/public/build/css/main.eac511a5.css.map +1 -0
  4. package/dist/public/build/js/{1394.45bb669a.chunk.js → 1394.9f9c9f9a.chunk.js} +2 -2
  5. package/dist/public/build/js/{1394.45bb669a.chunk.js.map → 1394.9f9c9f9a.chunk.js.map} +1 -1
  6. package/dist/public/build/js/4804.2d9406dc.chunk.js +3 -0
  7. package/dist/public/build/js/4804.2d9406dc.chunk.js.map +1 -0
  8. package/dist/public/build/js/{accounts-monitoring-prometheus.262cacd8.chunk.js → accounts-monitoring-prometheus.38e8206a.chunk.js} +2 -2
  9. package/dist/public/build/js/accounts-monitoring-prometheus.38e8206a.chunk.js.map +1 -0
  10. package/dist/public/build/js/acl.00a69fe0.chunk.js +2 -0
  11. package/dist/public/build/js/acl.00a69fe0.chunk.js.map +1 -0
  12. package/dist/public/build/js/{bundle-monitoring-prometheus.d49a9a1a.chunk.js → bundle-monitoring-prometheus.dc8084bb.chunk.js} +2 -2
  13. package/dist/public/build/js/bundle-monitoring-prometheus.dc8084bb.chunk.js.map +1 -0
  14. package/dist/public/build/js/components.c4fc1d81.chunk.js +2 -0
  15. package/dist/public/build/js/components.c4fc1d81.chunk.js.map +1 -0
  16. package/dist/public/build/js/main.a04f2740.js +3 -0
  17. package/dist/public/build/js/{main.3e360b19.js.map → main.a04f2740.js.map} +1 -1
  18. package/dist/public/build/js/navigation.cd66d63f.chunk.js +2 -0
  19. package/dist/public/build/js/{navigation.8d91701a.chunk.js.map → navigation.cd66d63f.chunk.js.map} +1 -1
  20. package/dist/public/build/js/{prometheus-dashboard.3c9f3a99.chunk.js → prometheus-dashboard.d3814a09.chunk.js} +2 -2
  21. package/dist/public/build/js/prometheus-dashboard.d3814a09.chunk.js.map +1 -0
  22. package/dist/public/build/js/query-navigation.f7f5a1b5.chunk.js +2 -0
  23. package/dist/public/build/js/{query-navigation.f52623cc.chunk.js.map → query-navigation.f7f5a1b5.chunk.js.map} +1 -1
  24. package/dist/public/build/js/{runtime.2344fc6d.js → runtime.3af0a91e.js} +2 -2
  25. package/dist/public/build/js/{runtime.2344fc6d.js.map → runtime.3af0a91e.js.map} +1 -1
  26. package/dist/public/build/js/scheduling.4f518a8a.chunk.js +2 -0
  27. package/dist/public/build/js/scheduling.4f518a8a.chunk.js.map +1 -0
  28. package/dist/public/build/js/{system-monitoring-prometheus.b6ce8ed8.chunk.js → system-monitoring-prometheus.4004494c.chunk.js} +2 -2
  29. package/dist/public/build/js/system-monitoring-prometheus.4004494c.chunk.js.map +1 -0
  30. package/dist/public/build/js/{system.08fe4f55.chunk.js → system.2e84d486.chunk.js} +2 -2
  31. package/dist/public/build/js/{system.08fe4f55.chunk.js.map → system.2e84d486.chunk.js.map} +1 -1
  32. package/dist/public/build/js/yt-monaco-editor.4ad443b3.chunk.js +2 -0
  33. package/dist/public/build/js/{yt-monaco-editor.ba9a69f6.chunk.js.map → yt-monaco-editor.4ad443b3.chunk.js.map} +1 -1
  34. package/dist/public/build/manifest.json +32 -32
  35. package/package.json +2 -2
  36. package/dist/public/build/css/main.89a1698b.css.map +0 -1
  37. package/dist/public/build/js/4804.05d44971.chunk.js +0 -3
  38. package/dist/public/build/js/4804.05d44971.chunk.js.map +0 -1
  39. package/dist/public/build/js/accounts-monitoring-prometheus.262cacd8.chunk.js.map +0 -1
  40. package/dist/public/build/js/acl.91a762f3.chunk.js +0 -2
  41. package/dist/public/build/js/acl.91a762f3.chunk.js.map +0 -1
  42. package/dist/public/build/js/bundle-monitoring-prometheus.d49a9a1a.chunk.js.map +0 -1
  43. package/dist/public/build/js/components.aa32cd54.chunk.js +0 -2
  44. package/dist/public/build/js/components.aa32cd54.chunk.js.map +0 -1
  45. package/dist/public/build/js/main.3e360b19.js +0 -3
  46. package/dist/public/build/js/navigation.8d91701a.chunk.js +0 -2
  47. package/dist/public/build/js/prometheus-dashboard.3c9f3a99.chunk.js.map +0 -1
  48. package/dist/public/build/js/query-navigation.f52623cc.chunk.js +0 -2
  49. package/dist/public/build/js/scheduling.6f68a262.chunk.js +0 -2
  50. package/dist/public/build/js/scheduling.6f68a262.chunk.js.map +0 -1
  51. package/dist/public/build/js/system-monitoring-prometheus.b6ce8ed8.chunk.js.map +0 -1
  52. package/dist/public/build/js/yt-monaco-editor.ba9a69f6.chunk.js +0 -2
  53. /package/dist/public/build/js/{4804.05d44971.chunk.js.LICENSE.txt → 4804.2d9406dc.chunk.js.LICENSE.txt} +0 -0
  54. /package/dist/public/build/js/{main.3e360b19.js.LICENSE.txt → main.a04f2740.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/prometheus-dashboard.3c9f3a99.chunk.js","mappings":"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","sources":["webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/chevrons-right.svg","webpack://@ytsaurus/ui/./src/ui/components/ExpandButton/ExpandButton.tsx","webpack://@ytsaurus/ui/./src/ui/components/Markdown/Markdown.tsx","webpack://@ytsaurus/ui/./src/ui/components/YTChartKit/index.tsx","webpack://@ytsaurus/ui/./src/shared/prometheus/utils.ts","webpack://@ytsaurus/ui/./src/ui/store/api/prometheus/endpoints.ts","webpack://@ytsaurus/ui/./src/ui/store/api/prometheus/index.ts","webpack://@ytsaurus/ui/./src/ui/containers/PrometheusDashboard/plugins/text/text.tsx","webpack://@ytsaurus/ui/./src/ui/components/IntersectionObserverContainer/IntersectionObserverContainer.tsx","webpack://@ytsaurus/ui/./src/ui/components/InlineError/InlineError.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/chevrons-collapse-up-right.svg","webpack://@ytsaurus/ui/./src/ui/containers/PrometheusDashboard/PrometheusDashboardContext/PrometheusDashboardContext.tsx","webpack://@ytsaurus/ui/./src/ui/containers/PrometheusDashboard/PrometheusWidgetToolbar/PrometheusWidgetToolbar.tsx","webpack://@ytsaurus/ui/./src/ui/containers/PrometheusDashboard/plugins/timeseries/timeseries.tsx","webpack://@ytsaurus/ui/./src/ui/containers/PrometheusDashboard/PrometheusDashKit.tsx","webpack://@ytsaurus/ui/./src/ui/containers/PrometheusDashboard/plugins/row.tsx","webpack://@ytsaurus/ui/./src/ui/containers/PrometheusDashboard/PrometheusDashboard.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/chevron-right.svg","webpack://@ytsaurus/ui/./node_modules/@diplodoc/transform/node_modules/@diplodoc/tabs-extension/src/common.ts","webpack://@ytsaurus/ui/./node_modules/@diplodoc/transform/node_modules/@diplodoc/tabs-extension/src/runtime/utils.ts","webpack://@ytsaurus/ui/./node_modules/@diplodoc/transform/node_modules/@diplodoc/tabs-extension/src/runtime/TabsController.ts","webpack://@ytsaurus/ui/./node_modules/@diplodoc/transform/node_modules/get-root-node-polyfill/index.js","webpack://@ytsaurus/ui/./node_modules/@diplodoc/transform/node_modules/@diplodoc/tabs-extension/src/runtime/index.ts","webpack://@ytsaurus/ui/./node_modules/@diplodoc/transform/src/js/polyfill.js","webpack://@ytsaurus/ui/./node_modules/@diplodoc/transform/src/js/utils.ts","webpack://@ytsaurus/ui/./node_modules/@diplodoc/transform/src/js/code.ts","webpack://@ytsaurus/ui/./node_modules/@diplodoc/transform/src/js/cut.ts","webpack://@ytsaurus/ui/./node_modules/@diplodoc/transform/src/js/term/utils.ts","webpack://@ytsaurus/ui/./node_modules/@diplodoc/transform/src/js/term/index.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/esm/ChevronDown.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/chevrons-expand-up-right.svg","webpack://@ytsaurus/ui/./src/ui/store/reducers/prometheusDashboard/prometheusDashboard-hooks.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/esm/Check.js","webpack://@ytsaurus/ui/./src/ui/components/ColorCircle/ColorCircle.tsx"],"sourcesContent":["const SvgChevronsRight = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M3.47 10.97a.75.75 0 1 0 1.06 1.06l3.5-3.5a.75.75 0 0 0 0-1.06l-3.5-3.5a.75.75 0 0 0-1.06 1.06L6.44 8zm5 0a.75.75 0 1 0 1.06 1.06l3.5-3.5a.75.75 0 0 0 0-1.06l-3.5-3.5a.75.75 0 0 0-1.06 1.06L11.44 8z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgChevronsRight;","import React, {FC} from 'react';\nimport {Button, ButtonProps, Icon} from '@gravity-ui/uikit';\nimport shevronRightSvg from '@gravity-ui/icons/svgs/chevron-right.svg';\nimport doubleShevronRightSvg from '@gravity-ui/icons/svgs/chevrons-right.svg';\nimport cn from 'bem-cn-lite';\nimport './ExpandButton.scss';\n\nconst block = cn('yt-expanded-button');\n\ntype Props = {\n className?: string;\n expanded: boolean;\n toggleExpanded: () => void;\n inline?: boolean;\n all?: boolean;\n showText?: boolean;\n size?: ButtonProps['size'];\n qa?: ButtonProps['qa'];\n};\n\nexport const ExpandButton: FC<Props> = ({\n className,\n expanded,\n inline,\n toggleExpanded,\n all,\n showText,\n size,\n qa,\n}) => {\n const titleExpanded = all ? 'Collapse All' : 'Collapse';\n const titleCollapsed = all ? 'Expand All' : 'Expand';\n return (\n <Button\n className={block({inline}, className)}\n view=\"flat-secondary\"\n title={expanded ? titleExpanded : titleCollapsed}\n onClick={toggleExpanded}\n size={size}\n qa={qa}\n >\n {showText && (expanded ? titleExpanded : titleCollapsed) + ' '}\n <Icon\n className={block('expand', {expanded})}\n data={all ? doubleShevronRightSvg : shevronRightSvg}\n size={16}\n />\n </Button>\n );\n};\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport axios from 'axios';\n\nimport {OutputType} from '@diplodoc/transform/lib/typings';\n\nimport {wrapApiPromiseByToaster} from '../../utils/utils';\nimport UIFactory from '../../UIFactory';\n\nimport './Markdown.scss';\nimport '@diplodoc/transform/dist/css/yfm.css';\nimport '@diplodoc/transform/dist/js/yfm';\nimport './yfm-overrides.scss';\n\nconst block = cn('yt-markdown');\n\ninterface Props {\n text: string;\n ref?: React.Ref<HTMLDivElement>;\n allowHTML?: boolean;\n}\n\ninterface Response {\n result?: {html?: string; plainText?: string};\n}\n\nconst emptyTransformResponse: OutputType = {\n result: {html: '', headings: []},\n logs: {info: [], warn: [], error: [], disabled: []},\n};\n\nexport async function transformMarkdown({text, allowHTML}: Props): Promise<OutputType> {\n try {\n const {data} = await wrapApiPromiseByToaster(\n axios.post<Response>('/api/markdown-to-html', {\n text,\n allowHTML,\n }),\n {\n toasterName: 'useMarkdown',\n skipSuccessToast: true,\n errorContent: 'Failed to transform markdown text',\n },\n );\n return data as OutputType;\n } catch (e) {\n return {\n result: {...emptyTransformResponse['result']},\n logs: {...emptyTransformResponse['logs'], error: [(e as Error).message]},\n };\n }\n}\n\nexport function useMarkdown({text, allowHTML = true}: Props) {\n const [res, setResult] = React.useState<OutputType>(emptyTransformResponse);\n\n React.useEffect(() => {\n async function transform() {\n try {\n const data = await transformMarkdown({text, allowHTML});\n\n setResult(data);\n } catch (e) {}\n }\n transform();\n }, [text, allowHTML]);\n\n return res;\n}\n\nconst MarkdownImpl = React.forwardRef(function MD({text}: Props, ref: React.Ref<HTMLDivElement>) {\n const {html} = useMarkdown({text, allowHTML: true}).result ?? {};\n\n return (\n <div\n className={block(null, 'yfm')}\n dangerouslySetInnerHTML={{__html: html ?? ''}}\n ref={ref}\n />\n );\n});\n\nexport const Markdown = React.memo(function Markdown({text}: Props) {\n if (!text) {\n return null;\n }\n const customMarkdown = UIFactory.renderMarkdown({text});\n return customMarkdown ?? <MarkdownImpl text={text} />;\n});\n\nMarkdown.displayName = 'Markdown';\n","import React from 'react';\nexport type {ChartKitProps, ChartKitWidget, ChartKitRef} from './YTChartKit';\nexport type {RawSerieData, YagrWidgetData} from '@gravity-ui/chartkit/yagr';\n\nimport withLazyLoading from '../../hocs/withLazyLoading';\nimport type {YTChartKitType} from './YTChartKit';\n\nexport const YTChartKitLazy = withLazyLoading(\n React.lazy(async () => import(/* webpackChunkName: 'chart-kit' */ './YTChartKit')),\n) as YTChartKitType;\n\nconst COLORS = [\n 'rgb(77, 162, 241)',\n 'rgb(255, 61, 100)',\n '#76a559',\n '#6a72b8',\n '#e98f27',\n '#b67598',\n '#ffdb80',\n '#c6cb8e',\n '#8dcaaf',\n '#bee9ef',\n];\n\nexport function getSerieColor(serieIndex: number) {\n return COLORS[serieIndex % COLORS.length];\n}\n\nexport {YTChartKitPie} from './YTChartKitPie';\nexport {YTChartKitHistogram} from './YTChartKitHistogram';\n","import {escapeChars, formatByParamsQuotedEnv} from '../utils/format';\n\nimport {DiscoverValues, PanelType, PrometheusDashboardType, PrometheusWidgetId} from './types';\n\nexport function getDashboardPath(type: PrometheusDashboardType) {\n return `//sys/interface-monitoring/${type}`;\n}\n\nexport function makePanelId(item: {\n gridPos: {x: number; y: number};\n type: PanelType;\n}): PrometheusWidgetId {\n return `${item.gridPos.x}:${item.gridPos.y}:${item.type}`;\n}\n\nexport function parseXYFromPanelId(id: PrometheusWidgetId) {\n const [x, y] = id.split(':');\n return {x: Number(x), y: Number(y)};\n}\n\nconst SPECIAL_EXPR_ENV = {\n $__rate_interval: calculateRateInterval,\n};\n\n/**\n * Poor implementation of\n * https://github.com/grafana/grafana/blob/192d3783d5bede8362c1eed0c27422f431478b5a/pkg/promlib/models/query.go#L345-L366\n */\nfunction calculateRateInterval(stepSec: number) {\n const minStep = 15000;\n return humanizeInterval(0, Math.max(stepSec * 1000 + minStep, minStep * 4));\n}\n\nexport function replaceExprParams(\n expr: string,\n params: Record<string, {toString(): string}>,\n stepSec: number,\n) {\n let res = formatByParamsQuotedEnv(expr, params, {sanitizeParams: (v) => escapeChars(v)});\n for (const k of Object.keys(SPECIAL_EXPR_ENV)) {\n const key = k as keyof typeof SPECIAL_EXPR_ENV;\n if (res.indexOf(key)) {\n res = res.replaceAll(key, SPECIAL_EXPR_ENV[key](stepSec));\n }\n }\n return res;\n}\n\nexport const minute = 60 * 1000;\nexport const hour = minute * 60;\nexport const day = hour * 24;\nexport const week = day * 7;\nexport const month = day * 30;\nexport const year = day * 365;\n\n/**\n * Creates a human-readable representation of time interval\n * @param from Interval start, ms from epoch\n * @param to Interval end, ms from epoch\n * @returns Formatted string, e.g. 1d 3h\n */\nexport const humanizeInterval = (from: number, to: number) => {\n const duration = to - from;\n if (duration >= year) {\n const years = Math.floor(duration / year);\n const months = Math.floor((duration % year) / month);\n return months === 0 || years > 4 ? `${years}y` : `${years}y ${months}mo`;\n }\n if (duration >= month) {\n const months = Math.floor(duration / month);\n const days = Math.floor((duration % month) / day);\n return days === 0 || months > 4 ? `${months}mo` : `${months}mo ${days}d`;\n }\n if (duration >= week) {\n const weeks = Math.floor(duration / week);\n const days = Math.floor((duration % week) / day);\n return days === 0 || weeks > 3 ? `${weeks}w` : `${weeks}w ${days}d`;\n }\n if (duration >= day) {\n const days = Math.floor(duration / day);\n const hours = Math.floor((duration % day) / hour);\n return hours === 0 || days > 4 ? `${days}d` : `${days}d ${hours}h`;\n }\n if (duration >= hour) {\n const hours = Math.floor(duration / hour);\n const minutes = Math.floor((duration % hour) / minute);\n return minutes === 0 || hours > 6 ? `${hours}h` : `${hours}h ${minutes}m`;\n }\n const minutes = Math.round(duration / minute);\n return `${minutes}m`;\n};\n\nexport function makeDiscoverValuesKey({label, match}: DiscoverValues) {\n return `_${label}_${match}_`;\n}\n","import axios, {AxiosResponse} from 'axios';\n\nimport type {\n ChartDataResponse,\n DiscoverValuesPostData,\n DiscoverValuesResponse,\n DiscoverValuesResponseResultsItem,\n PluginRendererDataParams,\n PrometheusDashboardType,\n QueryRangePostData,\n} from '../../../../shared/prometheus/types';\n\nexport type PrometheusChartParams = {\n cluster: string;\n dashboardType?: PrometheusDashboardType;\n id: string;\n\n from?: number;\n to?: number;\n pointCount?: number;\n\n params: PluginRendererDataParams;\n};\n\nexport function fetchPrometheusChartData(args: PrometheusChartParams) {\n const {cluster, id, from, to, pointCount, dashboardType, ...rest} = args;\n try {\n if (\n !dashboardType ||\n from === undefined ||\n isNaN(from) ||\n to === undefined ||\n isNaN(to) ||\n !pointCount\n ) {\n return {data: undefined, error: undefined};\n }\n\n const end = to / 1000;\n const start = from / 1000;\n const step = Math.max(1, Math.floor((end - start) / Math.max(10, pointCount)));\n\n const rangeParams = {start, end, step};\n\n return axios\n .post<\n ChartDataResponse,\n AxiosResponse<ChartDataResponse>,\n QueryRangePostData\n >(`/api/${cluster}/prometheus/chart-data`, {id, start, end, step, dashboardType, ...rest}, {params: {id}})\n .then(\n ({data}) => {\n return {data: {responseData: data, ...rangeParams}, error: undefined};\n },\n (error: any) => {\n return {error};\n },\n );\n } catch (error) {\n return {error};\n }\n}\n\nexport type DiscoverValuesArgs = DiscoverValuesPostData & {\n cluster: string;\n hasValuesToDiscover?: boolean;\n};\n\nexport function fetchPrometheusDiscoverValues({\n cluster,\n dashboardType,\n params,\n hasValuesToDiscover,\n}: DiscoverValuesArgs) {\n if (!hasValuesToDiscover || !dashboardType) {\n return {data: undefined};\n }\n\n try {\n return axios\n .post<\n DiscoverValuesResponse,\n AxiosResponse<DiscoverValuesResponse>,\n DiscoverValuesPostData\n >(`/api/${cluster}/prometheus/discover-values`, {dashboardType, params})\n .then(\n ({data}) => {\n return {\n data: data?.results?.reduce(\n (acc, item) => {\n acc[item.key] = item;\n return acc;\n },\n {} as Record<string, DiscoverValuesResponseResultsItem>,\n ),\n };\n },\n (error: any) => {\n return {error};\n },\n );\n } catch (error) {\n return {error};\n }\n}\n","import {rootApi} from '..';\n\nimport {fetchPrometheusChartData, fetchPrometheusDiscoverValues} from './endpoints';\n\nexport const prometheusApi = rootApi.injectEndpoints({\n endpoints: (build) => ({\n prometheusFetch: build.query({\n queryFn: fetchPrometheusChartData,\n }),\n prometheusDiscoverValues: build.query({\n queryFn: fetchPrometheusDiscoverValues,\n }),\n }),\n});\n\nexport const {usePrometheusFetchQuery, usePrometheusDiscoverValuesQuery} = prometheusApi;\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport {Markdown} from '../../../../components/Markdown/Markdown';\n\nimport {PrometheusPlugins} from '../../PrometheusDashKit';\n\nimport './text.scss';\n\nconst block = cn('yt-prometheus-text');\n\nexport const renderPluginText: PrometheusPlugins['text']['renderer'] = ({data}, elementRef) => {\n const {options} = data ?? {};\n const {mode, content} = options ?? {};\n\n return (\n <div ref={elementRef} className={block()}>\n {mode !== 'markdown' ? content : <Markdown text={content} />}\n </div>\n );\n};\n","import React from 'react';\nimport {useForkRef} from '@gravity-ui/uikit';\n\nimport {useIntersectionEntry} from '../../hooks/use-intersection';\n\ntype IntersectionObserverContainerProps = {\n className?: string;\n children: React.ReactNode;\n};\n\n/**\n * The container mount/unmount `props.children` when it has intersection with the view port.\n */\nexport const IntersectionObserverContainer = React.forwardRef(\n ({className, children}: IntersectionObserverContainerProps, ref: React.Ref<HTMLDivElement>) => {\n const [element, setElement] = React.useState<HTMLDivElement | null>(null);\n const {intersectionRatio = 0} =\n useIntersectionEntry({\n element,\n options: {\n threshold: [0, 1],\n },\n }) ?? {};\n\n const setRef = useForkRef(setElement, ref);\n\n return (\n <div ref={setRef} className={className}>\n {intersectionRatio > 0 ? children : null}\n </div>\n );\n },\n);\n\nIntersectionObserverContainer.displayName = 'IntersectionObserverContainer';\n","import React from 'react';\nimport {YTError} from '../../../@types/types';\nimport {ClickableText} from '../../components/ClickableText/ClickableText';\nimport {showErrorPopup} from '../../utils/utils';\n\ntype InlineErrorProps = {\n error?: YTError;\n};\n\nexport function InlineError({error}: InlineErrorProps) {\n return !error ? null : (\n <span className={'yt-error-inline'}>\n {error.message || 'An error occured.'} &nbsp;\n <ClickableText onClick={() => showErrorPopup(error)}>Details</ClickableText>\n </span>\n );\n}\n","const SvgChevronsCollapseUpRight = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M15.25 6.993a.75.75 0 0 0 0-1.5H10.5V.75a.75.75 0 1 0-1.5 0v5.493c0 .414.336.75.75.75zM.75 9.007a.75.75 0 1 0 0 1.5H5.5v4.743a.75.75 0 0 0 1.5 0V9.757a.75.75 0 0 0-.75-.75z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgChevronsCollapseUpRight;","import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\n\nimport {PrometheusDashboardType, PrometheusWidgetId} from '../../../../shared/prometheus/types';\n\nimport {prometheusDashboardSlice} from '../../../store/reducers/prometheusDashboard/prometheusDashboard';\nimport {usePrometheusDashbordTimeRange} from '../../../store/reducers/prometheusDashboard/prometheusDashboard-hooks';\nimport {RootState} from '../../../store/reducers';\n\ntype PrometheusDashboardContextData = {\n expandedId?: PrometheusWidgetId;\n toggleExpanded: (id: PrometheusWidgetId) => void;\n\n timeRangeFilter: RootState['prometheusDashboard']['timeRangeFilter'];\n setTimeRangeFilter: (v: RootState['prometheusDashboard']['timeRangeFilter']) => void;\n};\n\nconst PrometheusDashboardContext = React.createContext<PrometheusDashboardContextData>({\n expandedId: undefined,\n toggleExpanded: throwContextError,\n timeRangeFilter: {shortcutValue: '1h'},\n setTimeRangeFilter: throwContextError,\n});\n\nfunction throwContextError() {\n throw new Error(\n `Please make sure you are using <PrometheusDashboardContext.Provider /> in parents.`,\n );\n}\n\nexport function PrometheusDashboardProvider({\n children,\n type,\n}: {\n children: React.ReactNode;\n type: PrometheusDashboardType;\n}) {\n const dispatch = useDispatch();\n const expandedPanels = useSelector(\n (state: RootState) => state.prometheusDashboard.expandedPanels,\n );\n const {[type]: expandedId} = expandedPanels ?? {};\n\n const {timeRange, setTimeRange} = usePrometheusDashbordTimeRange();\n\n const value = React.useMemo(() => {\n return {\n expandedId,\n toggleExpanded: (id: PrometheusWidgetId) => {\n if (id === expandedId) {\n dispatch(prometheusDashboardSlice.actions.setExpandedId({type, id: undefined}));\n } else {\n dispatch(prometheusDashboardSlice.actions.setExpandedId({type, id}));\n }\n },\n timeRangeFilter: timeRange,\n setTimeRangeFilter: setTimeRange,\n };\n }, [expandedId, timeRange, setTimeRange, type, dispatch]);\n\n return (\n <PrometheusDashboardContext.Provider value={value}>\n {children}\n </PrometheusDashboardContext.Provider>\n );\n}\n\nexport function usePrometheusDashboardContext() {\n return React.useContext(PrometheusDashboardContext);\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport {Button, Icon} from '@gravity-ui/uikit';\n\nimport maximizeSvg from '@gravity-ui/icons/svgs/chevrons-expand-up-right.svg';\nimport minimizeSvg from '@gravity-ui/icons/svgs/chevrons-collapse-up-right.svg';\n\nimport {PrometheusWidgetId} from '../../../../shared/prometheus/types';\n\nimport {usePrometheusDashboardContext} from '../PrometheusDashboardContext/PrometheusDashboardContext';\n\nimport './PrometheusWidgetToolbar.scss';\n\nconst block = cn('yt-prometheus-widget-toolbar');\n\ntype PrometheusToolbarProps = {\n id: PrometheusWidgetId;\n};\n\nexport function PrometheusWidgetToolbar({id}: PrometheusToolbarProps) {\n const {expandedId, toggleExpanded} = usePrometheusDashboardContext();\n const [element, setElement] = React.useState<HTMLDivElement | null>(null);\n\n React.useEffect(() => {\n let timerId: ReturnType<typeof setTimeout> | undefined;\n if (id === expandedId) {\n timerId = setTimeout(() => element?.scrollIntoView(), 300);\n }\n return () => {\n clearTimeout(timerId);\n };\n }, [id, expandedId, element]);\n\n const isMaximized = id === expandedId;\n\n return (\n <React.Fragment>\n <div className={block()}>\n <Button view=\"flat-secondary\" onClick={() => toggleExpanded(id)} size=\"xs\">\n <Icon data={isMaximized ? minimizeSvg : maximizeSvg} />\n </Button>\n </div>\n <div ref={setElement}></div>\n </React.Fragment>\n );\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport reduce_ from 'lodash/reduce';\n\nimport {Flex} from '@gravity-ui/uikit';\n\nimport {YTError} from '../../../../../@types/types';\nimport {QueryRangeData, TimeseriesTarget} from '../../../../../shared/prometheus/types';\nimport {KEY_WITH_DOUBLE_CURLY_BRACES, formatByParams} from '../../../../../shared/utils/format';\n\nimport format from '../../../../common/hammer/format';\nimport {YT} from '../../../../config/yt-config';\n\nimport {IntersectionObserverContainer} from '../../../../components/IntersectionObserverContainer/IntersectionObserverContainer';\n\nimport {YTChartKitLazy, getSerieColor} from '../../../../components/YTChartKit';\nimport {Yagr, YagrWidgetData} from '@gravity-ui/chartkit/yagr';\nimport {InlineError} from '../../../../components/InlineError/InlineError';\nimport Loader from '../../../../components/Loader/Loader';\nimport {useElementSize} from '../../../../hooks/useResizeObserver';\n\nimport {PrometheusPlugins} from '../../PrometheusDashKit';\nimport {PrometheusWidgetToolbar} from '../../PrometheusWidgetToolbar/PrometheusWidgetToolbar';\nimport {usePrometheusDashboardContext} from '../../PrometheusDashboardContext/PrometheusDashboardContext';\n\nimport {usePrometheusFetchQuery} from '../../../../store/api/prometheus';\nimport {compareWithUndefined} from '../../../../utils/sort-helpers';\n\nimport './timeseries.scss';\n\nconst block = cn('yt-prometheus-timeseries');\n\nexport const renderPluginTimeseries: PrometheusPlugins['timeseries']['renderer'] = (\n props,\n elementRef,\n) => {\n return <ExpandablePrometheusChart {...props} elementRef={elementRef} />;\n};\n\nfunction ExpandablePrometheusChart({\n elementRef,\n ...props\n}: PrometheusChartProps & {elementRef: React.Ref<any>}) {\n const {\n expandedId,\n timeRangeFilter: {from, to},\n } = usePrometheusDashboardContext();\n\n return (\n <IntersectionObserverContainer\n key={props.id}\n className={block({expanded: props.id === expandedId})}\n ref={elementRef}\n >\n <PrometheusChart {...props} from={from} to={to} />\n </IntersectionObserverContainer>\n );\n}\n\ntype TimeseriesParameters = Parameters<PrometheusPlugins['timeseries']['renderer']>;\ntype Props = TimeseriesParameters[0];\ntype PrometheusChartProps = Props;\n\nfunction PrometheusChart({\n data,\n id,\n from,\n to,\n}: PrometheusChartProps & {from?: number; to?: number}) {\n const {title} = data;\n const [element, setElement] = React.useState<HTMLDivElement | null>(null);\n\n const pointCount = useElementSize({element: element as Element})?.contentRect.width;\n\n const {\n error,\n data: chartData,\n isLoading,\n } = useLoadQueriesData({id, data, pointCount, from, to});\n\n const [yagr, setYagr] = React.useState<Yagr | null>();\n React.useEffect(() => {\n yagr?.subscribe();\n return () => {\n yagr?.unsubscribe();\n };\n }, [yagr]);\n\n return (\n <React.Fragment>\n <Flex ref={setElement} className={block('widget')} direction=\"column\" id={id}>\n {chartData ? (\n <YTChartKitLazy\n type=\"yagr\"\n data={chartData}\n onChartLoad={(d) => {\n setYagr(d.widget);\n }}\n />\n ) : (\n <>\n <div className={block('widget-title')}>{title}</div>\n {error && (\n <div className={block('error')}>\n <InlineError error={error} />\n </div>\n )}\n {!chartData && isLoading && <Loader visible centered />}\n </>\n )}\n </Flex>\n <PrometheusWidgetToolbar id={id} />\n </React.Fragment>\n );\n}\n\nfunction useLoadQueriesData({\n id,\n data: {title, targets, params, fieldConfig},\n pointCount,\n from,\n to,\n}: Pick<PrometheusChartProps, 'data' | 'id'> & {pointCount?: number; from?: number; to?: number}) {\n // const [cancelHelper] = React.useState(new CancelHelper());\n\n const {__ytDashboardType: dashboardType} = params;\n\n const {data, isLoading, error} = usePrometheusFetchQuery({\n cluster: YT.cluster,\n dashboardType,\n id,\n from,\n to,\n pointCount,\n params,\n //cancelHelper,\n });\n\n const fieldOverrides = React.useMemo(() => {\n return {\n showLegend: !fieldConfig?.defaults?.custom?.hideForm?.legend,\n axisLabel: fieldConfig?.defaults?.custom?.axisLabel,\n propertiesByRefId: reduce_(\n fieldConfig?.overrides,\n (acc, item) => {\n const {matcher, properties} = item;\n if (matcher.id !== 'byFrameRefID') {\n return acc;\n }\n const refId = matcher.options;\n // eslint-disable-next-line no-param-reassign\n acc[refId] = reduce_(\n properties,\n (propsAcc, propItem) => {\n // eslint-disable-next-line no-param-reassign\n propsAcc[propItem.id] = propItem.value;\n return propsAcc;\n },\n {} as {unit: 'bytes' | unknown} & Record<string, unknown>,\n );\n\n return acc;\n },\n {} as Record<string, {unit?: 'bytes' | unknown}>,\n ),\n };\n }, [fieldConfig]);\n\n const chartData: {data?: YagrWidgetData; error?: YTError; isLoading?: boolean} =\n React.useMemo(() => {\n if (error) {\n return {error: error as YTError};\n }\n\n if (!data || !data?.responseData) {\n return {isLoading};\n }\n\n const {responseData: rawData, start, end, step} = data;\n const {results} = rawData;\n\n return {\n data: makeYagrWidgetData(\n {title, ...fieldOverrides},\n targets,\n results,\n {end, start, step},\n params,\n ),\n };\n }, [data, error, params, targets, title, fieldOverrides, isLoading]);\n\n return chartData;\n}\n\nfunction makeYagrWidgetData(\n {\n title,\n axisLabel,\n propertiesByRefId,\n showLegend,\n }: {\n title: string;\n axisLabel?: string;\n propertiesByRefId: Record<string, {unit?: 'bytes' | unknown}>;\n showLegend?: boolean;\n },\n targets: Array<TimeseriesTarget>,\n results: Array<QueryRangeData>,\n {end, start, step}: {end: number; start: number; step: number},\n params: Record<string, string | number>,\n): YagrWidgetData {\n const res: YagrWidgetData = {\n data: {graphs: [], timeline: []},\n libraryConfig: {\n title: {text: title},\n legend: {show: showLegend},\n tooltip: {\n show: (y) => y.state.isMouseOver,\n title: {\n y: ({x}) => {\n return format.DateTime(x / 1000);\n },\n },\n sort: {\n y: ({value: left}, {value: right}) => {\n if (isNaN(left as number)) {\n return 1;\n }\n if (isNaN(right as number)) {\n return -1;\n }\n return compareWithUndefined(left, right, -1, -1);\n },\n },\n },\n axes: {\n y: {\n label: axisLabel,\n },\n },\n cursor: {sync: 'yt-timeseries-cursor'},\n },\n };\n\n for (let t = start; t - step * 0.5 < end; t += step) {\n res.data.timeline.push(t * 1000);\n }\n\n const {timeline} = res.data;\n\n const metrics: Array<{metric: Record<string, unknown>; graphIndex: number}> = [];\n\n for (let serie = 0; serie < results?.length; ++serie) {\n const {legendFormat, refId} = targets[serie];\n const {unit} = propertiesByRefId[refId] ?? {};\n for (let serie_i = 0; serie_i < (results[serie]?.data?.result?.length ?? 0); ++serie_i) {\n const serie_i_data = results[serie]?.data?.result[serie_i];\n if (!serie_i_data) {\n continue;\n }\n\n const {values = [], metric} = serie_i_data;\n\n const graph: (typeof res)['data']['graphs'][number] = {\n name: legendFormat?.length\n ? formatByParams(\n legendFormat,\n {...params, ...metric},\n KEY_WITH_DOUBLE_CURLY_BRACES,\n )\n : undefined,\n data: new Array(timeline.length),\n formatter: unit === 'bytes' ? format.Bytes : format.NumberSmart,\n color: getSerieColor(res.data.graphs.length),\n };\n if (!graph.name) {\n const graphIndex = res.data.graphs.length;\n metrics.push({metric, graphIndex});\n }\n res.data.graphs.push(graph);\n\n if (!values.length) {\n continue;\n }\n\n let i = 0;\n for (; i < values.length; ++i) {\n const [t, valueStr] = values[i];\n const pos = Math.round((t - start) / step);\n graph.data[pos] = Number(valueStr);\n }\n\n if (i === 0) {\n res.data.graphs.pop();\n }\n }\n }\n\n for (let i = 0; i < metrics.length; ++i) {\n udpateMissingLegend(res.data.graphs, metrics, i);\n }\n\n return res;\n}\n\nfunction udpateMissingLegend(\n graphs: Array<{name?: string}>,\n metrics: Array<{metric: Record<string, unknown>; graphIndex: number}>,\n index: number,\n) {\n const {metric, graphIndex} = metrics[index] ?? {};\n const {metric: otherMetric} = metrics[index === 0 ? 1 : 0] ?? {};\n\n const dst = graphs[graphIndex];\n dst.name = genSerieName(metric, otherMetric);\n}\n\nfunction genSerieName(obj: Record<string, unknown>, other: Record<string, unknown> = {}) {\n if (!obj) {\n return undefined;\n }\n\n const res = Object.keys(obj).reduce((acc, key) => {\n if (obj[key] === other[key]) {\n return acc;\n }\n\n const v = obj[key];\n const value = key === '__name__' ? v : `${key}:${v}; `;\n\n return acc + value;\n }, '');\n\n return Object.keys(other ?? {}).reduce((acc, key) => {\n if (key in obj) {\n return acc;\n }\n return acc + `${key}:${format.NO_VALUE}; `;\n }, res);\n}\n","import React from 'react';\nimport {Config, DashKit, Plugin} from '@gravity-ui/dashkit';\nimport cn from 'bem-cn-lite';\n\nimport {\n DashboardInfo,\n PanelType,\n PanelTypeSpecificProps,\n PluginRenderProps,\n PrometheusDashboardType,\n WidgetType,\n} from '../../../shared/prometheus/types';\nimport {makePanelId} from '../../../shared/prometheus/utils';\n\nimport {renderPluginText} from './plugins/text/text';\nimport {renderPluginRow} from './plugins/row';\nimport {renderPluginTimeseries} from './plugins/timeseries/timeseries';\nimport {usePrometheusDashboardContext} from './PrometheusDashboardContext/PrometheusDashboardContext';\n\nimport {PrometheusDashboardProps} from './PrometheusDashboard';\n\nimport './PrometheusDashKit.scss';\n\nconst block = cn('yt-prometheus-dashkit');\n\nexport type PrometheusDashKitProps = {\n type: PrometheusDashboardType;\n panels?: DashboardInfo['panels'];\n params: Required<PrometheusDashboardProps>['params'];\n};\n\nconst salt = `${Math.random().toString()}`;\n\nexport function PrometheusDashKit({type, panels, params}: PrometheusDashKitProps) {\n const {config} = useDashKitConfig(type, panels, params);\n return (\n <div className={block()}>\n {!config ? null : <DashKit config={config} editMode={false} />}\n </div>\n );\n}\n\nfunction useDashKitConfig(\n dashboardType: PrometheusDashboardType,\n panels: PrometheusDashKitProps['panels'],\n params: Record<string, {toString(): string}>,\n) {\n const [collapsedRows, setCollapsedRows] = React.useState<Record<string, boolean | undefined>>(\n {},\n );\n\n const {expandedId} = usePrometheusDashboardContext();\n\n const config = React.useMemo(() => {\n let rowSpecificProps: PanelTypeSpecificProps<'row'> | undefined;\n return getVisiblePanels(expandedId, panels).reduce(\n (acc, item) => {\n const {gridPos, type, ...rest} = item;\n const id = makePanelId(item);\n\n function addToLayout<T>(extraProps: T) {\n const itemType: WidgetType = `prometheus.${type}`;\n const data = Object.assign(rest, extraProps, {\n params: {...params, __ytDashboardType: dashboardType},\n });\n acc.layout.push({...gridPos, i: id});\n acc.items.push({\n id,\n type: itemType,\n namespace: 'default',\n data,\n });\n return data as T;\n }\n\n if (type === 'row') {\n const collapsed = collapsedRows[id];\n rowSpecificProps = addToLayout({\n childCount: 0,\n collapsed,\n onToggleCollapsed: () => {\n setCollapsedRows({...collapsedRows, [id]: !collapsed});\n },\n });\n } else {\n if (rowSpecificProps?.childCount !== undefined) {\n ++rowSpecificProps.childCount;\n }\n if (!rowSpecificProps?.collapsed) {\n addToLayout({});\n }\n }\n\n return acc;\n },\n {\n salt,\n counter: 0,\n layout: [],\n items: [],\n aliases: {},\n connections: [],\n } as Config,\n );\n }, [panels, collapsedRows, params, expandedId, dashboardType]);\n\n React.useMemo(() => {\n const widthByY = config?.layout?.reduce(\n (acc, item) => {\n const k = `${item.y}` as const;\n if (acc[k] === undefined) {\n acc[k] = 0;\n }\n acc[k] += item.w;\n return acc;\n },\n {} as Record<`${number}`, number>,\n );\n const cols = Object.values(widthByY ?? {}).reduce((acc, value) => Math.max(acc, value), 0);\n\n DashKit.setSettings({\n gridLayout: {\n margin: [4, 4],\n containerPadding: [0, 0],\n rowHeight: 30,\n cols,\n },\n });\n }, [config]);\n\n return {config};\n}\n\nfunction getVisiblePanels(expandedId?: string, panels: PrometheusDashKitProps['panels'] = []) {\n const expandedPanelIndex = !expandedId\n ? -1\n : panels?.findIndex((item) => expandedId === makePanelId(item));\n\n const expandedPanel = expandedPanelIndex !== -1 ? panels?.[expandedPanelIndex] : undefined;\n if (!expandedPanel) {\n return panels;\n }\n\n return [expandedPanel];\n}\n\nconst PLUGINS: {\n [K in PanelType]: {\n type: WidgetType<K>;\n } & Plugin<PluginRenderProps<K>>;\n} = {\n text: {\n renderer: renderPluginText,\n type: 'prometheus.text',\n },\n timeseries: {\n renderer: renderPluginTimeseries,\n type: 'prometheus.timeseries',\n },\n row: {\n renderer: renderPluginRow,\n type: 'prometheus.row',\n },\n};\n\nexport type PrometheusPlugins = typeof PLUGINS;\n\nDashKit.registerPlugins(\n ...Object.keys(PLUGINS).map((id) => {\n const k = id as keyof typeof PLUGINS;\n return {...PLUGINS[k]};\n }),\n);\n","import React from 'react';\nimport {PrometheusPlugins} from '../PrometheusDashKit';\nimport {ExpandButton} from '../../../components/ExpandButton';\nimport {Secondary} from '../../../components/Text/Text';\n\nexport const renderPluginRow: PrometheusPlugins['row']['renderer'] = (\n {data, ...props},\n elementRef,\n) => {\n const {collapsed, onToggleCollapsed, childCount} = data;\n return (\n <div ref={elementRef} key={props.id}>\n <ExpandButton expanded={!collapsed} toggleExpanded={onToggleCollapsed} />\n {collapsed && <Secondary>{childCount} panels</Secondary>}\n </div>\n );\n};\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport {useSelector} from 'react-redux';\nimport uniq_ from 'lodash/uniq';\n\nimport {Link, Select} from '@gravity-ui/uikit';\n\nimport {\n CheckPermissionResult,\n makeCheckPermissionBatchSubRequest,\n} from '../../../shared/utils/check-permission';\nimport {\n DashboardInfo,\n PluginRendererDataParams,\n PrometheusDashboardType,\n} from '../../../shared/prometheus/types';\nimport {getDashboardPath, makeDiscoverValuesKey} from '../../../shared/prometheus/utils';\nimport {YTError} from '../../../@types/types';\n\nimport {getConfigData} from '../../config/ui-settings';\nimport {YTErrorBlock} from '../../components/Block/Block';\nimport {StickyContainer} from '../../components/StickyContainer/StickyContainer';\nimport {YTTimeline} from '../../components/Timeline';\nimport {Toolbar, ToolbarItemToWrap} from '../../components/WithStickyToolbar/Toolbar/Toolbar';\nimport {YTErrors} from '../../rum/constants';\nimport {YTApiId, ytApiV3Id} from '../../rum/rum-wrap-api';\nimport {usePrometheusDiscoverValuesQuery} from '../../store/api/prometheus';\nimport {useFetchBatchQuery} from '../../store/api/yt/executeBatch';\nimport {usePrometheusDashboardParams} from '../../store/reducers/prometheusDashboard/prometheusDashboard-hooks';\nimport {getCluster} from '../../store/selectors/global/cluster';\nimport {getCurrentUserName} from '../../store/selectors/global';\n\nimport {PrometheusDashKit} from './PrometheusDashKit';\nimport {\n PrometheusDashboardProvider,\n usePrometheusDashboardContext,\n} from './PrometheusDashboardContext/PrometheusDashboardContext';\n\nimport './PrometheusDashboard.scss';\n\nconst block = cn('yt-prometheus-dashboard');\n\nexport type PrometheusDashboardProps = {\n toolbarStickyTop?: number;\n type: PrometheusDashboardType;\n params?: PluginRendererDataParams;\n timeRange?: {from: number; to?: number};\n toolbarItems?: Array<ToolbarItemToWrap>;\n};\n\nexport const PrometheusDashboard = React.memo(function (props: PrometheusDashboardProps) {\n const {type, params, toolbarStickyTop} = props;\n const {layout, error} = useLoadedLayout({type, params});\n\n const {toolbarItems, effectiveParams} = useDashboardToolbar({\n type,\n layout,\n params,\n toolbarItems: props.toolbarItems,\n });\n\n const hasToolbar = Boolean(toolbarItems?.length);\n\n return !effectiveParams ? null : (\n <PrometheusDashboardProvider type={type}>\n <StickyContainer\n className={block({'has-toolbar': hasToolbar})}\n topOffset={toolbarStickyTop}\n >\n {({stickyTopClassName}) => (\n <React.Fragment>\n <div className={block('toolbar', stickyTopClassName)}>\n <PrometheusTimelineToolbar\n uid={layout?.uid}\n effectiveParams={effectiveParams}\n />\n {hasToolbar && (\n <Toolbar itemsToWrap={toolbarItems ?? []} marginTopSkip />\n )}\n </div>\n {error && <YTErrorBlock error={error} />}\n <MissingParametersWarning\n templating={layout?.templating}\n params={effectiveParams}\n />\n {layout?.panels === undefined ? null : (\n <PrometheusDashKit\n key={type}\n type={type}\n panels={layout.panels}\n params={effectiveParams}\n />\n )}\n </React.Fragment>\n )}\n </StickyContainer>\n </PrometheusDashboardProvider>\n );\n});\nPrometheusDashboard.displayName = 'PrometheusDashboard';\n\nfunction useLoadedLayout({type, params}: PrometheusDashboardProps) {\n const [result, setData] = React.useState<{layout?: DashboardInfo; error?: YTError}>({});\n /**\n * Temporary solution withot redux-store\n * TODO: use rtk-query later\n */\n React.useEffect(() => {\n ytApiV3Id\n .get<DashboardInfo>(YTApiId.prometheusMonitoringLayout, {\n path: getDashboardPath(type),\n })\n .then((layout) => {\n setData({layout});\n })\n .catch((error) => {\n if (error.code === YTErrors.NODE_DOES_NOT_EXIST) {\n setData({layout: makeNotImplementedLayout({type, params, uid: ''})});\n } else {\n setData({error});\n }\n });\n }, [type]);\n return result;\n}\n\nfunction makeNotImplementedLayout({type, params, uid}: PrometheusDashboardProps & {uid: string}) {\n return {\n templating: {list: []},\n panels: [\n {\n type: 'text' as const,\n options: {\n content: [\n `#### \\`${getDashboardPath(type)}\\` is not exist`,\n ' You have to provide correct dashboard description, see expected parameters below:',\n '```json',\n JSON.stringify(params, null, 4),\n '```',\n ].join('\\n'),\n mode: 'markdown' as const,\n },\n gridPos: {x: 0, y: 0, w: 24, h: 27},\n },\n ],\n uid,\n };\n}\n\nfunction PrometheusTimelineToolbar({\n uid,\n effectiveParams,\n}: {\n uid?: string;\n effectiveParams: Record<string, string | number>;\n}) {\n const {\n timeRangeFilter: {from, to, shortcutValue},\n setTimeRangeFilter,\n } = usePrometheusDashboardContext();\n\n const grafanaUrl = useGrafanaUrl({uid, effectiveParams, from, to});\n\n return (\n <Toolbar\n itemsToWrap={[\n {\n node: (\n <YTTimeline\n className={block('timeline')}\n from={from!}\n to={to!}\n shortcut={shortcutValue}\n onUpdate={setTimeRangeFilter}\n hasRuler={true}\n />\n ),\n growable: true,\n marginRight: 'none',\n },\n {\n node: grafanaUrl ? (\n <Link href={grafanaUrl} target=\"_blank\">\n Grafana\n </Link>\n ) : null,\n },\n ]}\n />\n );\n}\n\nconst {grafanaBaseUrl} = getConfigData().uiSettings ?? {};\n\nfunction useGrafanaUrl({\n uid,\n effectiveParams,\n from,\n to,\n}: {\n uid?: string;\n effectiveParams: Record<string, string | number>;\n from?: number;\n to?: number;\n}) {\n const allowGrafanaUrl = useGrafanaUrlVisibility();\n const grafanaUrl = React.useMemo(() => {\n if (!uid || !grafanaBaseUrl || !allowGrafanaUrl || from === undefined || to === undefined) {\n return undefined;\n }\n\n const params = Object.keys(effectiveParams).reduce((acc, key) => {\n const value = effectiveParams[key];\n acc.append(`var-${key}`, String(value));\n return acc;\n }, new URLSearchParams());\n\n params.append('from', String(from));\n params.append('to', String(to));\n\n return `${grafanaBaseUrl}/d/${uid}?${params}`;\n }, [uid, effectiveParams, allowGrafanaUrl, from, to]);\n\n return grafanaUrl;\n}\n\nfunction useGrafanaUrlVisibility() {\n const cluster = useSelector(getCluster);\n const user = useSelector(getCurrentUserName);\n\n const {data, error} = useFetchBatchQuery<CheckPermissionResult>({\n cluster,\n id: YTApiId.checkPermissions,\n parameters: {\n requests: [\n makeCheckPermissionBatchSubRequest({\n path: '//sys/interface-monitoring/allow_grafana_url',\n user,\n permission: 'use',\n }),\n ],\n },\n errorTitle: 'Check `use` permission for //sys/interface-monitoring/allow_grafana_url',\n });\n\n const {output} = data?.[0] ?? {};\n\n return (\n error?.inner_errors?.[0].code === YTErrors.NODE_DOES_NOT_EXIST || output?.action === 'allow'\n );\n}\n\nfunction MissingParametersWarning({\n templating,\n params,\n}: Pick<Partial<DashboardInfo>, 'templating'> &\n Pick<Required<PrometheusDashboardProps>, 'params'>) {\n const details: YTError | undefined = React.useMemo(() => {\n const inner_errors = templating?.list.reduce((acc, {name: n, default_for_ui}) => {\n const name = n as keyof typeof params;\n if (params[name] === undefined && default_for_ui === undefined) {\n acc.push({message: `Missing parameter \"${name}\".`});\n }\n return acc;\n }, [] as Array<YTError>);\n\n if (!inner_errors?.length) {\n return undefined;\n }\n return {\n message: 'You have to provide all required parameters',\n attributes: {params} as any,\n inner_errors,\n };\n }, [templating, params]);\n\n return details ? <YTErrorBlock error={details} type=\"alert\" bottomMargin /> : null;\n}\n\nfunction useDashboardToolbar({\n toolbarItems,\n layout,\n params,\n type,\n}: {\n type: PrometheusDashboardType;\n params?: PluginRendererDataParams;\n layout?: DashboardInfo;\n toolbarItems?: Array<ToolbarItemToWrap>;\n}) {\n const cluster = useSelector(getCluster);\n\n const {templating} = layout ?? {};\n const {list} = templating ?? {};\n\n const withDiscoverValues = React.useMemo(() => {\n if (!layout) {\n return [];\n }\n\n return list?.filter((item) => item.discover_values);\n }, [list, layout]);\n\n const {params: extraParams, setParams: setExtraParams} =\n usePrometheusDashboardParams<Record<string, string>>(type);\n\n const {data} = usePrometheusDiscoverValuesQuery({\n cluster,\n dashboardType: type,\n params,\n hasValuesToDiscover: Boolean(withDiscoverValues?.length),\n });\n\n const items = React.useMemo(() => {\n const res = [...(toolbarItems ?? [])];\n\n withDiscoverValues?.forEach(({label, name, default_for_ui, discover_values}) => {\n if (!discover_values || !data) {\n return;\n }\n const key = makeDiscoverValuesKey(discover_values);\n const dataItem = data[key];\n\n const value = extraParams?.[name] ?? default_for_ui;\n\n const availableOptions = uniq_([\n ...(default_for_ui ? [default_for_ui] : []),\n ...(dataItem.result?.data ?? []),\n ]);\n\n res.push({\n node: (\n <Select\n label={label}\n value={value ? [value] : []}\n options={availableOptions.map((v) => {\n return {content: v, value: v};\n })}\n onUpdate={([v]) => {\n setExtraParams({[name]: v});\n }}\n />\n ),\n });\n });\n\n return res;\n }, [withDiscoverValues, data, extraParams, setExtraParams, toolbarItems]);\n\n const effectiveParams = React.useMemo(() => {\n return !params ? undefined : {...params, ...extraParams};\n }, [params, extraParams]);\n\n return {toolbarItems: items, effectiveParams: effectiveParams};\n}\n","const SvgChevronRight = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M5.47 13.03a.75.75 0 0 1 0-1.06L9.44 8 5.47 4.03a.75.75 0 0 1 1.06-1.06l4.5 4.5a.75.75 0 0 1 0 1.06l-4.5 4.5a.75.75 0 0 1-1.06 0\" clipRule=\"evenodd\" /></svg>;\nexport default SvgChevronRight;","import type {TabsOrientation} from './plugin/transform';\nimport type {TabsController} from './runtime/TabsController';\n\nexport const TABS_CLASSNAME = 'yfm-tabs';\nexport const TABS_VERTICAL_CLASSNAME = 'yfm-tabs-vertical';\nexport const TABS_LIST_CLASSNAME = 'yfm-tab-list';\nexport const TAB_CLASSNAME = 'yfm-tab';\nexport const TAB_PANEL_CLASSNAME = 'yfm-tab-panel';\nexport const ACTIVE_CLASSNAME = 'active';\nexport const VERTICAL_TAB_CLASSNAME = 'yfm-vertical-tab';\n\nexport const GROUP_DATA_KEY = 'data-diplodoc-group';\nexport const TAB_DATA_KEY = 'data-diplodoc-key';\nexport const TAB_DATA_ID = 'data-diplodoc-id';\nexport const TAB_DATA_VERTICAL_TAB = 'data-diplodoc-vertical-tab';\nexport const TAB_ACTIVE_KEY = 'data-diplodoc-is-active';\nexport const TAB_RADIO_KEY = 'data-diplodoc-input';\n\nexport const DEFAULT_TABS_GROUP_PREFIX = 'defaultTabsGroup-';\n\nexport interface Tab {\n group?: string;\n key: string;\n align: TabsOrientation;\n}\n\nexport interface SelectedTabEvent {\n tab: Tab;\n currentTabId?: string;\n}\n\nexport const GLOBAL_SYMBOL: unique symbol = Symbol.for('diplodocTabs');\n\ndeclare global {\n interface Window {\n [GLOBAL_SYMBOL]: TabsController;\n }\n}\n","export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n\nexport const getClosestScrollableParent = (element: HTMLElement): HTMLElement | undefined => {\n if (Math.abs(element.scrollHeight - element.clientHeight) > 1) {\n return element;\n }\n\n return element.parentElement ? getClosestScrollableParent(element.parentElement) : undefined;\n};\n\nexport interface ElementOffset {\n top: number;\n left: number;\n scrollTop: number;\n scrollLeft: number;\n}\n\nexport const getOffsetByScrollableParent = (\n element: HTMLElement,\n scrollableParent: HTMLElement,\n): ElementOffset => {\n const elementBounds = element.getBoundingClientRect();\n const scrollableParentBounds = scrollableParent.getBoundingClientRect();\n return {\n top: elementBounds.top - scrollableParentBounds.top,\n left: elementBounds.left - scrollableParentBounds.left,\n scrollTop: scrollableParent.scrollTop,\n scrollLeft: scrollableParent.scrollLeft,\n };\n};\n","import {\n ACTIVE_CLASSNAME,\n DEFAULT_TABS_GROUP_PREFIX,\n GROUP_DATA_KEY,\n SelectedTabEvent,\n TABS_CLASSNAME,\n TABS_LIST_CLASSNAME,\n TABS_VERTICAL_CLASSNAME,\n TAB_CLASSNAME,\n TAB_DATA_ID,\n TAB_DATA_KEY,\n TAB_PANEL_CLASSNAME,\n Tab,\n} from '../common';\nimport type {TabsOrientation} from '../plugin/transform';\nimport {\n ElementOffset,\n getClosestScrollableParent,\n getEventTarget,\n getOffsetByScrollableParent,\n isCustom,\n} from './utils';\n\nconst Selector = {\n TABS: `.${TABS_CLASSNAME}`,\n TAB_LIST: `.${TABS_LIST_CLASSNAME}`,\n TAB: `.${TAB_CLASSNAME}`,\n TAB_PANEL: `.${TAB_PANEL_CLASSNAME}`,\n VERTICAL_TABS: `.${TABS_VERTICAL_CLASSNAME}`,\n};\n\nexport interface ISelectTabByIdOptions {\n scrollToElement: boolean;\n}\n\ntype Handler = (data: SelectedTabEvent) => void;\n\ntype TabSwitchDirection = 'left' | 'right';\n\nexport class TabsController {\n private _document: Document;\n\n private _onSelectTabHandlers: Set<Handler> = new Set();\n\n constructor(document: Document) {\n this._document = document;\n this._document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n const areVertical = this.areTabsVertical(target);\n\n if (isCustom(event)) {\n return;\n }\n\n if (!(this.isValidTabElement(target) || areVertical)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n\n if (tab) {\n this._selectTab(tab, target);\n }\n });\n this._document.addEventListener('keydown', (event) => {\n let direction: TabSwitchDirection | null = null;\n switch (event.key) {\n case 'ArrowLeft': {\n direction = 'left';\n break;\n }\n case 'ArrowRight': {\n direction = 'right';\n break;\n }\n }\n if (!direction) {\n return;\n }\n\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !this.isValidTabElement(target)) {\n return;\n }\n\n const {tabs, nodes} = this.getTabs(target);\n const currentTab = this.getTabDataFromHTMLElement(target);\n const currentTabIndex = tabs.findIndex(\n ({key}) => currentTab?.key && key === currentTab.key,\n );\n if (!currentTab || tabs.length <= 1 || currentTabIndex === -1) {\n return;\n }\n\n const newIndex =\n (currentTabIndex + (direction === 'left' ? -1 : 1) + tabs.length) % tabs.length;\n\n this.selectTab(tabs[newIndex]);\n nodes[newIndex].focus();\n });\n }\n\n onSelectTab(handler: Handler) {\n this._onSelectTabHandlers.add(handler);\n\n return () => {\n this._onSelectTabHandlers.delete(handler);\n };\n }\n\n selectTabById(id: string, options?: ISelectTabByIdOptions) {\n const target = this._document.querySelector(\n `${Selector.TAB}[${TAB_DATA_ID}=\"${id}\"]`,\n ) as HTMLElement;\n\n if (!target || !this.isValidTabElement(target)) {\n return;\n }\n\n const tab = this.getTabDataFromHTMLElement(target);\n\n if (tab) {\n this._selectTab(tab, target);\n }\n\n if (options?.scrollToElement) {\n target.scrollIntoView();\n }\n }\n\n selectTab(tab: Tab) {\n this._selectTab(tab);\n }\n\n private _selectTab(tab: Tab, targetTab?: HTMLElement) {\n const {group, key, align} = tab;\n\n if (!group) {\n return;\n }\n\n const scrollableParent = targetTab && getClosestScrollableParent(targetTab);\n const previousTargetOffset =\n scrollableParent && getOffsetByScrollableParent(targetTab, scrollableParent);\n\n const updatedTabs = this.updateHTML({group, key, align}, align);\n\n if (updatedTabs > 0) {\n this.fireSelectTabEvent({group, key, align}, targetTab?.dataset.diplodocId);\n\n if (previousTargetOffset) {\n this.resetScroll(targetTab, scrollableParent, previousTargetOffset);\n }\n }\n }\n\n private updateHTML(tab: Required<Tab>, align: TabsOrientation) {\n switch (align) {\n case 'vertical': {\n return this.updateHTMLVertical(tab);\n }\n case 'horizontal': {\n return this.updateHTMLHorizontal(tab);\n }\n }\n\n return 0;\n }\n\n private updateHTMLVertical(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const [tabs] = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n const root = tabs.parentNode!;\n const elements = root.children;\n\n for (let i = 0; i < elements.length; i += 2) {\n const [title, content] = [elements.item(i), elements.item(i + 1)] as HTMLElement[];\n\n const input = title.children.item(0) as HTMLInputElement;\n\n if (input.hasAttribute('checked')) {\n title.classList.remove('active');\n content?.classList.remove('active');\n input.removeAttribute('checked');\n }\n\n if (title === tabs) {\n title.classList.add('active');\n content?.classList.add('active');\n input.setAttribute('checked', 'true');\n }\n\n updated++;\n }\n\n return updated;\n }\n\n private updateHTMLHorizontal(tab: Required<Tab>) {\n const {group, key} = tab;\n\n const tabs = this._document.querySelectorAll(\n `${Selector.TABS}[${GROUP_DATA_KEY}=\"${group}\"] ${Selector.TAB}[${TAB_DATA_KEY}=\"${key}\"]`,\n );\n\n let updated = 0;\n\n tabs.forEach((element) => {\n const htmlElem = element as HTMLElement;\n if (!this.isValidTabElement(htmlElem) || htmlElem.dataset.diplodocIsActive === 'true') {\n return;\n }\n\n updated++;\n\n const tab = element;\n const tabList = tab.parentNode;\n const tabsContainer = tabList?.parentNode;\n const allTabs = Array.from(tabList?.querySelectorAll(Selector.TAB) || []);\n const allPanels = Array.from(tabsContainer?.children || []).filter((node) =>\n node.classList.contains(TAB_PANEL_CLASSNAME),\n );\n const targetIndex = allTabs.indexOf(tab);\n\n allTabs.forEach((tab, i) => {\n const panel = allPanels[i];\n const isTargetTab = i === targetIndex;\n const htmlElem = tab as HTMLElement;\n\n htmlElem.dataset.diplodocIsActive = isTargetTab ? 'true' : 'false';\n\n tab.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n tab.setAttribute('aria-selected', isTargetTab.toString());\n tab.setAttribute('tabindex', isTargetTab ? '0' : '-1');\n panel.classList.toggle(ACTIVE_CLASSNAME, isTargetTab);\n });\n });\n\n return updated;\n }\n\n private resetScroll(\n target: HTMLElement,\n scrollableParent: HTMLElement,\n previousTargetOffset: ElementOffset,\n ) {\n const targetOffset = getOffsetByScrollableParent(target, scrollableParent);\n const topDelta = targetOffset.top - previousTargetOffset.top;\n const leftDelta = targetOffset.left - previousTargetOffset.left;\n const scrollTopDelta = targetOffset.scrollTop - previousTargetOffset.scrollTop;\n const scrollLeftDelta = targetOffset.scrollLeft - previousTargetOffset.scrollLeft;\n scrollableParent.scrollTo(\n scrollableParent.scrollLeft + leftDelta - scrollLeftDelta,\n scrollableParent.scrollTop + topDelta - scrollTopDelta,\n );\n }\n\n private fireSelectTabEvent(tab: Required<Tab>, diplodocId?: string) {\n const {group, key, align} = tab;\n\n const eventTab: Tab = group.startsWith(DEFAULT_TABS_GROUP_PREFIX) ? {key, align} : tab;\n\n this._onSelectTabHandlers.forEach((handler) => {\n handler({tab: eventTab, currentTabId: diplodocId});\n });\n }\n\n private isValidTabElement(element: HTMLElement) {\n const tabList =\n element.matches(Selector.TAB) && element.dataset.diplodocId\n ? element.closest(Selector.TAB_LIST)\n : null;\n\n return tabList?.closest(Selector.TABS);\n }\n\n private areTabsVertical(target: HTMLElement) {\n const parent = target.parentElement;\n\n return target.dataset.diplodocVerticalTab || Boolean(parent?.dataset.diplodocVerticalTab);\n }\n\n private getTabDataFromHTMLElement(target: HTMLElement): Tab | null {\n if (this.areTabsVertical(target)) {\n const tab = target.dataset.diplodocVerticalTab ? target : target.parentElement!;\n\n const key = tab.dataset.diplodocKey;\n const group = (tab.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key, align: 'vertical'} : null;\n }\n\n const key = target.dataset.diplodocKey;\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n return key && group ? {group, key, align: 'horizontal'} : null;\n }\n\n private getTabs(target: HTMLElement): {tabs: Tab[]; nodes: NodeListOf<HTMLElement>} {\n const group = (target.closest(Selector.TABS) as HTMLElement)?.dataset.diplodocGroup;\n const nodes = (\n target.closest(Selector.TAB_LIST) as HTMLElement\n )?.querySelectorAll<HTMLElement>(Selector.TAB);\n\n const tabs: Tab[] = [];\n nodes.forEach((tabEl) => {\n const key = tabEl?.dataset.diplodocKey;\n if (!key) {\n return;\n }\n\n /** horizontal-only supported feature (used in left/right button click) */\n tabs.push({\n group,\n key,\n align: 'horizontal',\n });\n });\n\n return {tabs, nodes};\n }\n}\n","'use strict';\n\n// Node getRootNode(optional GetRootNodeOptions options);\n\n/**\n * Returns the context object’s shadow-including root if options’s composed is true.\n * Returns the context object’s root otherwise.\n *\n * The root of an object is itself, if its parent is null, or else it is the root of its parent.\n *\n * The shadow-including root of an object is its root’s host’s shadow-including root,\n * if the object’s root is a shadow root, and its root otherwise.\n *\n * https://dom.spec.whatwg.org/#dom-node-getrootnode\n *\n * @memberof Node.prototype\n * @param {!Object} [opt = {}] - Options.\n * @param {!boolean} [opt.composed] - See above description.\n * @returns {!Node} The root node.\n */\nfunction getRootNode(opt) {\n var composed = typeof opt === 'object' && Boolean(opt.composed);\n\n return composed ? getShadowIncludingRoot(this) : getRoot(this);\n}\n\nfunction getShadowIncludingRoot(node) {\n var root = getRoot(node);\n\n if (isShadowRoot(root)) {\n return getShadowIncludingRoot(root.host);\n }\n\n return root;\n}\n\nfunction getRoot(node) {\n if (node.parentNode != null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\nfunction isShadowRoot(node) {\n return node.nodeName === '#document-fragment' && node.constructor.name === 'ShadowRoot';\n}\n\nif (typeof module === 'object' && module.exports) {\n module.exports = getRootNode;\n}\n","import {GLOBAL_SYMBOL} from '../common';\nimport {TabsController} from './TabsController';\nimport './scss/tabs.scss';\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && !window[GLOBAL_SYMBOL]) {\n window[GLOBAL_SYMBOL] = new TabsController(document);\n}\n","import getRootNode from 'get-root-node-polyfill';\n\nif (typeof document !== 'undefined') {\n // matches polyfill for old edge\n (function (e) {\n const matches =\n e.matches ||\n e.matchesSelector ||\n e.webkitMatchesSelector ||\n e.mozMatchesSelector ||\n e.msMatchesSelector ||\n e.oMatchesSelector;\n\n if (matches) {\n e.matches = e.matchesSelector = matches;\n } else {\n e.matches = e.matchesSelector = function matches(selector) {\n const rootNode = e.getRootNode ? e.getRootNode() : getRootNode.call(e);\n const matches = rootNode.querySelectorAll(selector);\n const th = this;\n return Array.prototype.some.call(matches, (e) => {\n return e === th;\n });\n };\n }\n })(Element.prototype);\n}\n","export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n","import {getEventTarget, isCustom} from './utils';\n\nconst BUTTON_SELECTOR = '.yfm-clipboard-button';\n\nfunction copyToClipboard(text: string) {\n if (!text) {\n return Promise.resolve();\n }\n\n if (navigator.clipboard && typeof navigator.clipboard.writeText) {\n return navigator.clipboard.writeText(text);\n }\n const textarea = document.createElement('textarea');\n textarea.setAttribute('style', 'position: absolute; left: 1000%');\n textarea.textContent = text;\n document.body.append(textarea);\n\n textarea.select();\n document.execCommand('copy');\n\n document.body.removeChild(textarea);\n\n return Promise.resolve();\n}\n\nfunction notifySuccess(svgButton: HTMLElement | null) {\n if (!svgButton) {\n return;\n }\n\n const id = svgButton.getAttribute('data-animation');\n // @ts-expect-error\n const icon = svgButton.getRootNode().getElementById(`visibileAnimation-${id}`);\n\n if (!icon) {\n return;\n }\n\n icon.beginElement();\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const target = getEventTarget(event) as HTMLElement;\n\n if (isCustom(event) || !target.matches(BUTTON_SELECTOR)) {\n return;\n }\n\n const parent = target.parentNode;\n\n if (!parent) {\n return;\n }\n\n const code = parent.querySelector<HTMLElement>('pre code');\n if (!code) {\n return;\n }\n\n copyToClipboard(code.innerText).then(() => {\n notifySuccess(parent.querySelector('.yfm-clipboard-button'));\n });\n });\n}\n","import {getEventTarget, isCustom} from './utils';\n\nconst Selector = {\n CUT: '.yfm .yfm-cut',\n TITLE: '.yfm .yfm-cut-title',\n CONTENT: '.yfm .yfm-cut-content',\n};\n\nconst ClassName = {\n OPEN: 'open',\n};\n\nfunction toggleCut(element: HTMLElement) {\n const cutNode = element.parentNode;\n\n if (!(cutNode instanceof HTMLElement)) {\n return;\n }\n\n cutNode.classList.toggle(ClassName.OPEN);\n}\n\nfunction matchTitle(target: EventTarget | null) {\n if (!(target instanceof HTMLElement)) {\n return false;\n }\n\n return target?.matches?.(Selector.TITLE);\n}\n\nfunction findTitleInPath(event: MouseEvent): HTMLElement | undefined {\n const target = getEventTarget(event);\n\n if (matchTitle(target)) {\n return target as HTMLElement;\n }\n\n const path = event.composedPath?.();\n\n return path?.find(matchTitle) as HTMLElement | undefined;\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n if (isCustom(event)) {\n return;\n }\n\n const title = findTitleInPath(event);\n\n if (!title) {\n return;\n }\n\n toggleCut(title);\n });\n}\n","export const Selector = {\n TITLE: '.yfm .yfm-term_title',\n CONTENT: '.yfm .yfm-term_dfn',\n};\nexport const openClass = 'open';\nexport const openDefinitionClass = Selector.CONTENT.replace(/\\./g, '') + ' ' + openClass;\nlet isListenerNeeded = true;\n\nexport function createDefinitionElement(termElement: HTMLElement) {\n const termKey = termElement.getAttribute('term-key');\n const definitionTemplate = document.getElementById(\n `${termKey}_template`,\n ) as HTMLTemplateElement;\n const definitionElement = definitionTemplate?.content.cloneNode(true).firstChild as HTMLElement;\n\n definitionTemplate?.parentElement?.appendChild(definitionElement);\n definitionTemplate.remove();\n\n return definitionElement;\n}\n\nexport function setDefinitionId(definitionElement: HTMLElement, termElement: HTMLElement): void {\n const termId = termElement.getAttribute('id') || Math.random().toString(36).substr(2, 8);\n definitionElement?.setAttribute('term-id', termId);\n}\n\nexport function setDefinitionPosition(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const {\n x: termX,\n y: termY,\n right: termRight,\n left: termLeft,\n width: termWidth,\n height: termHeight,\n } = termElement.getBoundingClientRect();\n\n const termParent = termParentElement(termElement);\n\n if (!termParent) {\n return;\n }\n\n const {right: termParentRight, left: termParentLeft} = termParent.getBoundingClientRect();\n\n if ((termParentRight < termLeft || termParentLeft > termRight) && !isListenerNeeded) {\n closeDefinition(definitionElement);\n return;\n }\n\n if (isListenerNeeded && termParent) {\n termParent.addEventListener('scroll', termOnResize);\n isListenerNeeded = false;\n }\n\n const relativeX = Number(definitionElement.getAttribute('relativeX'));\n const relativeY = Number(definitionElement.getAttribute('relativeY'));\n\n if (relativeX === termX && relativeY === termY) {\n return;\n }\n\n definitionElement.setAttribute('relativeX', String(termX));\n definitionElement.setAttribute('relativeY', String(termY));\n\n const offsetTop = termHeight + 5;\n const definitionParent = definitionElement.parentElement;\n\n if (!definitionParent) {\n return;\n }\n\n const {width: definitionWidth} = definitionElement.getBoundingClientRect();\n const {left: definitionParentLeft} = definitionParent.getBoundingClientRect();\n\n // If definition not fit document change base alignment\n const definitionLeftCoordinate = Number(getCoords(termElement).left);\n const definitionRightCoordinate = definitionWidth + definitionLeftCoordinate;\n\n const definitionOutOfScreenOnLeft = definitionLeftCoordinate - definitionWidth < 0;\n const definitionOutOfScreenOnRight = definitionRightCoordinate > document.body.clientWidth;\n\n const isAlignSwapped = definitionOutOfScreenOnRight || document.dir === 'rtl';\n const fitDefinitionDocument =\n isAlignSwapped && !definitionOutOfScreenOnLeft ? definitionWidth - termWidth : 0;\n const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;\n\n definitionElement.style.top =\n Number(getCoords(termElement).top + offsetTop - customHeaderTop) + 'px';\n definitionElement.style.left =\n Number(\n getCoords(termElement).left -\n definitionParentLeft +\n definitionParent.offsetLeft -\n fitDefinitionDocument,\n ) + 'px';\n}\n\nfunction termOnResize() {\n const openDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n}\n\nfunction termParentElement(term: HTMLElement | null) {\n if (!term) {\n return null;\n }\n\n const closestScrollableParent = term.closest('table') || term.closest('code');\n\n return closestScrollableParent || term.parentElement;\n}\n\nexport function closeDefinition(definition: HTMLElement) {\n definition.classList.remove(openClass);\n const termId = definition.getAttribute('term-id') || '';\n const termParent = termParentElement(document.getElementById(termId));\n\n if (!termParent) {\n return;\n }\n\n termParent.removeEventListener('scroll', termOnResize);\n isListenerNeeded = true;\n}\n\nfunction getCoords(elem: HTMLElement) {\n const box = elem.getBoundingClientRect();\n\n const body = document.body;\n const docEl = document.documentElement;\n\n const scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n const scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\n\n const clientTop = docEl.clientTop || body.clientTop || 0;\n const clientLeft = docEl.clientLeft || body.clientLeft || 0;\n\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return {top: Math.round(top), left: Math.round(left)};\n}\n","import {\n Selector,\n closeDefinition,\n createDefinitionElement,\n openClass,\n openDefinitionClass,\n setDefinitionId,\n setDefinitionPosition,\n} from './utils';\nimport {getEventTarget, isCustom} from '../utils';\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n const target = getEventTarget(event) as HTMLElement;\n\n const termId = target.getAttribute('id');\n const termKey = target.getAttribute('term-key');\n let definitionElement = document.getElementById(termKey + '_element');\n\n if (termKey && !definitionElement) {\n definitionElement = createDefinitionElement(target);\n }\n\n const isSameTerm = openDefinition && termId === openDefinition.getAttribute('term-id');\n if (isSameTerm) {\n closeDefinition(openDefinition);\n return;\n }\n\n const isTargetDefinitionContent = target.closest(\n [Selector.CONTENT.replace(' ', ''), openClass].join('.'),\n );\n\n if (openDefinition && !isTargetDefinitionContent) {\n closeDefinition(openDefinition);\n }\n\n if (isCustom(event) || !target.matches(Selector.TITLE) || !definitionElement) {\n return;\n }\n\n setDefinitionId(definitionElement, target);\n setDefinitionPosition(definitionElement, target);\n\n definitionElement.classList.toggle(openClass);\n });\n\n document.addEventListener('keydown', (event) => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n if (event.key === 'Escape' && openDefinition) {\n closeDefinition(openDefinition);\n }\n });\n\n window.addEventListener('resize', () => {\n const openDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (!openDefinition) {\n return;\n }\n\n const termId = openDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n openDefinition.classList.toggle(openClass);\n return;\n }\n\n setDefinitionPosition(openDefinition, termElement);\n });\n}\n","import * as React from 'react';\nconst ChevronDown = (props) => (React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: 16, height: 16, fill: \"none\", viewBox: \"0 0 16 16\" }, props),\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M2.97 5.47a.75.75 0 0 1 1.06 0L8 9.44l3.97-3.97a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06 0l-4.5-4.5a.75.75 0 0 1 0-1.06\", clipRule: \"evenodd\" })));\nexport default ChevronDown;\n","const SvgChevronsExpandUpRight = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M7.754 2.004a.75.75 0 0 0 0 1.5h4.75v4.742a.75.75 0 0 0 1.5 0V2.754a.75.75 0 0 0-.75-.75zm.492 11.992a.75.75 0 0 0 0-1.5h-4.75V7.754a.75.75 0 0 0-1.5 0v5.492a.75.75 0 0 0 .75.75z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgChevronsExpandUpRight;","import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport isEqual_ from 'lodash/isEqual';\n\nimport type {PrometheusDashboardType} from '../../../../shared/prometheus/types';\nimport {calcFromTo} from '../../../components/Timeline';\n\nimport {prometheusDashboardSelectors, prometheusDashboardSlice} from './prometheusDashboard';\n\nexport function usePrometheusDashboardParams<ParamsT extends Record<string, unknown>>(t: string) {\n const type = t as PrometheusDashboardType;\n const dispatch = useDispatch();\n const params: ParamsT = (useSelector(prometheusDashboardSelectors.getParams)[\n type as PrometheusDashboardType\n ] ?? {}) as ParamsT;\n\n return {\n params,\n setParams: React.useCallback(\n (v: typeof params) => {\n dispatch(prometheusDashboardSlice.actions.setParams({type, params: v}));\n },\n [type, dispatch],\n ),\n };\n}\n\nexport function usePrometheusDashboardType<T extends string = PrometheusDashboardType>(\n allowedValues?: Array<T>,\n defaultValue?: T,\n) {\n const dispatch = useDispatch();\n const type = useSelector(prometheusDashboardSelectors.getType) as T;\n\n const setType = React.useCallback(\n (v: typeof type) => {\n dispatch(\n prometheusDashboardSlice.actions.setType({type: v as PrometheusDashboardType}),\n );\n },\n [dispatch],\n );\n\n const effectiveType = React.useMemo(() => {\n let res = type;\n if (allowedValues && -1 === allowedValues.indexOf(type)) {\n res = defaultValue ?? allowedValues[0];\n setType(res);\n }\n return res;\n }, [type, allowedValues, defaultValue, setType]);\n\n return {\n type: effectiveType,\n setType,\n };\n}\n\nconst HOUR = 3600 * 1000;\n\nexport function usePrometheusDashbordTimeRange(initialTimeRange?: {from?: number; to?: number}) {\n const dispatch = useDispatch();\n const timeRange = useSelector(prometheusDashboardSelectors.getTimeRange);\n\n const initialRef = React.useRef<typeof initialTimeRange>();\n\n const setTimeRange = React.useCallback(\n (v: typeof timeRange) => {\n dispatch(prometheusDashboardSlice.actions.setTimeRangeFilter({timeRangeFilter: v}));\n },\n [dispatch],\n );\n\n React.useEffect(() => {\n if (\n timeRange.from === undefined ||\n timeRange.to === undefined ||\n !isEqual_(initialTimeRange, initialRef.current)\n ) {\n const now = Date.now();\n const {from = now - HOUR, to = now} = {\n ...calcFromTo(timeRange),\n ...initialTimeRange,\n };\n initialRef.current = initialTimeRange;\n setTimeRange({...timeRange, from, to});\n }\n }, [timeRange, initialTimeRange, setTimeRange]);\n\n return {\n timeRange,\n setTimeRange,\n };\n}\n","import * as React from 'react';\nconst Check = (props) => (React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: 16, height: 16, fill: \"none\", viewBox: \"0 0 16 16\" }, props),\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M13.488 3.43a.75.75 0 0 1 .081 1.058l-6 7a.75.75 0 0 1-1.1.042l-3.5-3.5A.75.75 0 0 1 4.03 6.97l2.928 2.927 5.473-6.385a.75.75 0 0 1 1.057-.081\", clipRule: \"evenodd\" })));\nexport default Check;\n","import React from 'react';\n\nimport cn from 'bem-cn-lite';\n\nimport './ColorCircle.scss';\n\nconst block = cn('yt-color-circle');\n\nexport function ColorCircle({color, marginRight = true}: {color: string; marginRight?: boolean}) {\n return (\n <div className={block({'margin-right': marginRight})} style={{backgroundColor: color}} />\n );\n}\n"],"names":["props","_jsx","_objectSpread","xmlns","fill","viewBox","children","fillRule","d","clipRule","block","cn","ExpandButton","_ref","className","expanded","inline","toggleExpanded","all","showText","size","qa","titleExpanded","titleCollapsed","_jsxs","Button","view","title","onClick","Icon","data","doubleShevronRightSvg","shevronRightSvg","emptyTransformResponse","result","html","headings","logs","info","warn","error","disabled","transformMarkdown","_x","_transformMarkdown","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","text","allowHTML","_yield$wrapApiPromise","wrap","_context2","prev","next","wrapApiPromiseByToaster","axios","post","toasterName","skipSuccessToast","errorContent","sent","abrupt","t0","message","stop","useMarkdown","_ref2","_ref2$allowHTML","_React$useState","React","_React$useState2","_slicedToArray","res","setResult","_transform","_callee","_context","transform","MarkdownImpl","_ref3","ref","_useMarkdown$result","dangerouslySetInnerHTML","__html","Markdown","_ref5","customMarkdown","UIFactory","renderMarkdown","displayName","YTChartKitLazy","withLazyLoading","COLORS","getSerieColor","serieIndex","length","getDashboardPath","type","concat","makePanelId","item","gridPos","x","y","fetchPrometheusChartData","args","cluster","id","from","to","pointCount","dashboardType","rest","_objectWithoutProperties","_excluded","undefined","isNaN","end","start","step","Math","max","floor","rangeParams","params","then","responseData","fetchPrometheusDiscoverValues","hasValuesToDiscover","_data$results","results","reduce","acc","key","prometheusApi","rootApi","injectEndpoints","endpoints","build","prometheusFetch","query","queryFn","prometheusDiscoverValues","usePrometheusFetchQuery","usePrometheusDiscoverValuesQuery","IntersectionObserverContainer","_useIntersectionEntry","element","setElement","_ref2$intersectionRat","useIntersectionEntry","options","threshold","intersectionRatio","setRef","useForkRef","InlineError","ClickableText","showErrorPopup","PrometheusDashboardContext","expandedId","throwContextError","timeRangeFilter","shortcutValue","setTimeRangeFilter","Error","PrometheusDashboardProvider","dispatch","useDispatch","expandedPanels","useSelector","state","prometheusDashboard","_usePrometheusDashbor","usePrometheusDashbordTimeRange","timeRange","setTimeRange","value","prometheusDashboardSlice","actions","setExpandedId","Provider","usePrometheusDashboardContext","PrometheusWidgetToolbar","_usePrometheusDashboa","timerId","setTimeout","scrollIntoView","clearTimeout","isMaximized","minimizeSvg","maximizeSvg","ExpandablePrometheusChart","elementRef","_usePrometheusDashboa2","PrometheusChart","_useElementSize","_useLoadQueriesData","_ref3$data","targets","fieldConfig","__ytDashboardType","_usePrometheusFetchQu","YT","isLoading","fieldOverrides","_fieldConfig$defaults","_fieldConfig$defaults2","showLegend","defaults","custom","hideForm","legend","axisLabel","propertiesByRefId","reduce_","overrides","matcher","properties","propsAcc","propItem","rawData","makeYagrWidgetData","useLoadQueriesData","useElementSize","contentRect","width","chartData","_React$useState3","_React$useState4","yagr","setYagr","subscribe","unsubscribe","Flex","direction","onChartLoad","widget","_Fragment","Loader","visible","centered","_ref4","graphs","timeline","libraryConfig","show","tooltip","isMouseOver","_ref6","format","DateTime","sort","_ref7","_ref8","left","right","compareWithUndefined","axes","label","cursor","sync","t","push","metrics","serie","_propertiesByRefId$re","_targets$serie","legendFormat","unit","refId","serie_i","_results$serie$data$r","_results$serie","_results$serie2","serie_i_data","_serie_i_data$values","values","metric","graph","name","formatByParams","KEY_WITH_DOUBLE_CURLY_BRACES","Array","formatter","Bytes","NumberSmart","color","graphIndex","i","_values$i","valueStr","pos","round","Number","pop","udpateMissingLegend","index","_metrics$index","_metrics","_ref0","otherMetric","obj","other","Object","keys","v","NO_VALUE","genSerieName","salt","random","toString","PrometheusDashKit","_useDashKitConfig","panels","collapsedRows","setCollapsedRows","config","rowSpecificProps","expandedPanelIndex","findIndex","expandedPanel","getVisiblePanels","addToLayout","extraProps","itemType","assign","layout","items","namespace","collapsed","childCount","onToggleCollapsed","_defineProperty","_rowSpecificProps","_rowSpecificProps2","counter","aliases","connections","_config$layout","widthByY","k","w","cols","DashKit","setSettings","gridLayout","margin","containerPadding","rowHeight","useDashKitConfig","editMode","PLUGINS","renderer","mode","content","timeseries","row","Secondary","registerPlugins","_toConsumableArray","map","PrometheusDashboard","toolbarStickyTop","_useLoadedLayout","setData","ytApiV3Id","get","YTApiId","prometheusMonitoringLayout","path","code","YTErrors","NODE_DOES_NOT_EXIST","makeNotImplementedLayout","uid","useLoadedLayout","_useDashboardToolbar","toolbarItems","getCluster","templating","list","withDiscoverValues","filter","discover_values","_usePrometheusDashboa3","usePrometheusDashboardParams","extraParams","setExtraParams","setParams","Boolean","forEach","_ref11","_extraParams$name","_dataItem$result$data","_dataItem$result","default_for_ui","match","makeDiscoverValuesKey","dataItem","availableOptions","uniq_","node","Select","onUpdate","_ref12","effectiveParams","useDashboardToolbar","hasToolbar","StickyContainer","topOffset","stickyTopClassName","PrometheusTimelineToolbar","Toolbar","itemsToWrap","marginTopSkip","YTErrorBlock","MissingParametersWarning","JSON","stringify","join","h","grafanaUrl","_data$","_error$inner_errors","user","_useFetchBatchQuery","output","allowGrafanaUrl","getCurrentUserName","useFetchBatchQuery","checkPermissions","parameters","requests","makeCheckPermissionBatchSubRequest","permission","errorTitle","inner_errors","action","grafanaBaseUrl","append","String","URLSearchParams","useGrafanaUrl","YTTimeline","shortcut","hasRuler","growable","marginRight","Link","href","target","_getConfigData$uiSett","getConfigData","uiSettings","details","_ref9","n","attributes","bottomMargin","TAB_PANEL_CLASSNAME","ACTIVE_CLASSNAME","GROUP_DATA_KEY","TAB_DATA_KEY","GLOBAL_SYMBOL","getEventTarget","isCustom","getClosestScrollableParent","getOffsetByScrollableParent","Selector","getShadowIncludingRoot","root","getRoot","nodeName","constructor","isShadowRoot","host","parentNode","module","exports","opt","composed","this","Symbol","for","event","composedPath","isArray","matches","abs","scrollHeight","clientHeight","parentElement","scrollableParent","elementBounds","getBoundingClientRect","scrollableParentBounds","top","scrollTop","scrollLeft","TABS","TAB_LIST","TAB","TAB_PANEL","VERTICAL_TABS","window","document","_onSelectTabHandlers","Set","_document","addEventListener","areVertical","areTabsVertical","isValidTabElement","tab","getTabDataFromHTMLElement","_selectTab","tabs","nodes","getTabs","currentTab","currentTabIndex","newIndex","selectTab","focus","onSelectTab","handler","add","delete","selectTabById","querySelector","scrollToElement","targetTab","group","align","previousTargetOffset","updateHTML","fireSelectTabEvent","dataset","diplodocId","resetScroll","updateHTMLVertical","updateHTMLHorizontal","querySelectorAll","updated","elements","input","hasAttribute","classList","remove","removeAttribute","setAttribute","htmlElem","diplodocIsActive","tabList","tabsContainer","allTabs","allPanels","contains","targetIndex","indexOf","panel","isTargetTab","toggle","targetOffset","topDelta","leftDelta","scrollTopDelta","scrollLeftDelta","scrollTo","eventTab","startsWith","currentTabId","closest","parent","diplodocVerticalTab","_a","_b","diplodocKey","diplodocGroup","tabEl","e","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","selector","getRootNode","call","th","prototype","some","Element","Promise","resolve","navigator","clipboard","writeText","textarea","createElement","textContent","body","select","execCommand","removeChild","copyToClipboard","innerText","svgButton","getAttribute","icon","getElementById","beginElement","notifySuccess","matchTitle","HTMLElement","find","findTitleInPath","cutNode","toggleCut","TITLE","CONTENT","openClass","openDefinitionClass","replace","isListenerNeeded","setDefinitionPosition","definitionElement","termElement","termX","termY","termRight","termLeft","termWidth","height","termHeight","termParent","termParentElement","termParentRight","termParentLeft","closeDefinition","termOnResize","relativeX","relativeY","offsetTop","definitionParent","definitionWidth","definitionParentLeft","definitionLeftCoordinate","getCoords","definitionOutOfScreenOnLeft","fitDefinitionDocument","clientWidth","dir","customHeaderTop","style","offsetLeft","openDefinition","getElementsByClassName","termId","term","definition","removeEventListener","elem","box","docEl","documentElement","pageYOffset","pageXOffset","clientTop","clientLeft","termKey","definitionTemplate","cloneNode","firstChild","appendChild","createDefinitionElement","isTargetDefinitionContent","substr","setDefinitionId","_useSelector","prometheusDashboardSelectors","getParams","usePrometheusDashboardType","allowedValues","defaultValue","getType","setType","HOUR","initialTimeRange","getTimeRange","initialRef","isEqual_","current","now","Date","_calcFromTo$initialTi","calcFromTo","_calcFromTo$initialTi2","_calcFromTo$initialTi3","ColorCircle","_ref$marginRight","backgroundColor"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[1040],{8723:(e,n,t)=>{t.d(n,{y:()=>x}),t(77810);var a=t(45760),r=t(73822),o=t(29746),l=t(88787),i=t(7787),s=t(36554),c=t(77849),u=t(43910),d=t(40319),p=t(64922);const m=function(e){return(0,p.jsxs)("svg",(0,d.A)((0,d.A)({xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",viewBox:"0 0 16 16"},e),{},{children:[(0,p.jsxs)("g",{clipPath:"url(#queue-consumer_svg__a)",children:[(0,p.jsx)("path",{d:"M12.154 2.004A3 3 0 0 1 15 5v2H6.25v2h2.5v1.5h-2.5v2h2.5V14H4l-.154-.004a3 3 0 0 1-2.842-2.842L1 11V5a3 3 0 0 1 2.846-2.996L4 2h8zM2.5 11A1.5 1.5 0 0 0 4 12.5h.75v-2H2.5zm0-2h2.25V7H2.5zM4 3.5A1.5 1.5 0 0 0 2.5 5v.5h2.25v-2zm2.25 2h7.25V5A1.5 1.5 0 0 0 12 3.5H6.25z"}),(0,p.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M15.125 11.283a.25.25 0 0 1 .055.39l-.055.044-3 1.731a.25.25 0 0 1-.375-.216V9.768a.25.25 0 0 1 .312-.243l.063.027z"})]}),(0,p.jsx)("defs",{children:(0,p.jsx)("clipPath",{id:"queue-consumer_svg__a",children:(0,p.jsx)("path",{d:"M0 0h16v16H0z"})})})]}))},h=function(e){return(0,p.jsxs)("svg",(0,d.A)((0,d.A)({xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",viewBox:"0 0 16 16"},e),{},{children:[(0,p.jsx)("path",{d:"M12.154 2.004A3 3 0 0 1 15 5v2H6.25v2h2.5v1.5h-2.5v2h2.5V14H4l-.154-.004a3 3 0 0 1-2.842-2.842L1 11V5a3 3 0 0 1 2.846-2.996L4 2h8zM2.5 11A1.5 1.5 0 0 0 4 12.5h.75v-2H2.5zm0-2h2.25V7H2.5zM4 3.5A1.5 1.5 0 0 0 2.5 5v.5h2.25v-2zm2.25 2h7.25V5A1.5 1.5 0 0 0 12 3.5H6.25z"}),(0,p.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"m11 12 1.6 2 2.4-4"})]}))};var v=t(75109),f=t(46637);function x(e){var n,t=e.node,d=o.A.getAttributes(t),x="table"===(null==d?void 0:d.type)&&null!=d&&d.dynamic?"table_dynamic":null==d?void 0:d.type,y=null===(n=i.Ay.getNavigationMapNodeSettings())||void 0===n?void 0:n.renderNodeIcon(t);y||(y=(0,c.B)(null==d?void 0:d.path)||(0,u.W)(null==d?void 0:d.targetPath)?(0,p.jsx)(l.A,{awesome:"trash-alt"}):(0,p.jsx)(l.A,{awesome:(0,s.c5)(x,d.targetPathBroken)}));var g=r.A.format.ReadableField(d.type);return"table"===x&&(g="Static table"),"table_dynamic"===x&&(null!=d&&d.sorted?g="Dynamic table":(g="Queue table",y=(0,p.jsx)(l.A,{awesome:"queue-table"}))),null!=d&&d.treat_as_queue_consumer&&(g="Queue consumer",y=(0,p.jsx)(a.I,{data:m})),null!=d&&d.treat_as_queue_producer&&(g="Queue producer",y=(0,p.jsx)(a.I,{data:h})),(0,f.j)(t.$attributes)&&(g="Flow",y=(0,p.jsx)(a.I,{data:v.A})),(0,p.jsx)("span",{className:"icon-wrapper",title:g,children:y})}},25460:(e,n,t)=>{t.d(n,{A:()=>p});var a=t(40319),r=t(77810),o=t(16455),l=t(14371),i=t(62786),s=t(85560),c=t(33777),u=t(64922);function d(e){var n=e.type_v3,t=(0,l.d)(o.$n),d=r.useMemo((function(){try{return(0,i.Pw)((0,c.z)(n,t))}catch(e){return}}),[n,t]);return d?(0,u.jsx)(s.A,(0,a.A)({},d)):(0,u.jsx)(u.Fragment,{children:"There is no type description in the schema"})}const p=r.memo(d)},36554:(e,n,t)=>{t.d(n,{$A:()=>v,$F:()=>y,DC:()=>w,F_:()=>g,_X:()=>f,aA:()=>x,c5:()=>j,nH:()=>h});var a=t(49214),r=t.n(a),o=t(27528),l=t.n(o),i=t(63281),s=t.n(i),c=t(3659),u=t(29746),d=t(76365),p=t(27859),m=t(52797),h=new d.A;function v(e){return u.A.YPath.create(e,"absolute").toSubpath(-2).stringify()}function f(e){var n=e.path,t=e.customFilter,a=e.cluster,r=v(n),o={parameters:{path:r,attributes:["type","dynamic"]},cancellation:h.saveCancelToken};if(a){var i=(0,m.lt)(a);i&&(o.setup={proxy:(0,m.v9)(i)})}return p.Qq.list(p.Vu.pathEditorLoadSuggestions,o).then(u.A.getValue).then((function(e){return function(e,n,t){var a=l()(t,(function(e){var t={};return t.parentPath=n,t.childPath="/"+c.A.decode(u.A.getValue(e)),t.path=t.parentPath+t.childPath,t.type=u.A.getValue(e,"/@type"),t.dynamic=u.A.getValue(e,"/@dynamic"),t.targetPathBroken=u.A.getValue(e,"/@broken"),t}));return s()(a,"childPath")}(0,r,e)})).then((function(e){return t?t(e):e}))}function x(e,n){var t=e.toLowerCase();return r()(n,(function(e){var n=e.path.startsWith(t),a=e.path!==t||"map_node"===e.type;return n&&a}))}function y(e,n){return-1===n||n===e.length-1?0:n+1}function g(e,n){return-1===n||0===n?e.length-1:n-1}function w(e){return"map_node"===e.type?e.path+"/":e.path}function j(e,n){var t={document:"file-alt",string_node:"file-alt",int64_node:"file-alt",uint64_node:"file-alt",double_node:"file-alt",boolean_node:"file-alt",map_node:"folder",scheduler_pool_tree_map:"folder-tree",scheduler_pool:"tasks",tablet_cell:"th",journal:"book",table:"th",table_dynamic:"dyn-th",replicated_table:"th",chaos_replicated_table:"chaos-replicated-table",replication_log_table:"replication-log-table",file:"file",topmost_transaction_map:"folder",transaction_map:"folder",transaction:"code-branch",nested_transaction:"code-branch",link:u.A.getBoolean(n)?"unlink":"link",rootstock:"link",portal_entrance:"link",cell_node:"circle",cell_node_map:"far circle",sys_node:"cog",access_control_object_namespace_map:"acl-namespace-map",access_control_object_namespace:"acl-namespace",access_control_object:"acl-object"};return e?t[e]||"not-suported":"eye-slash"}},41218:(e,n,t)=>{t.d(n,{_:()=>S});var a=t(53775),r=t(28407),o=t(8160),l=t(57602),i=t(6640),s=t(54522),c=t(76365),u=t(75566),d=t(3659),p=t(34694),m=t(2796),h=t(9736),v=t(48526),f=function(e){var n=e.tag,t=e.columnName;return n&&(0,v.F_)(n)?function(e,n){var t=n.split("/"),a=(0,h.A)(t,2),r=(a[0],a[1]);return'--format "<columns=['.concat(e,'];enable_escaping=%false>schemaful_dsv" >').concat(e,".").concat(r)}(t,n):"--format json"},x=function(e){var n=e.rowIndex,t=e.path,a=e.columnName;return function(e,r){var o=(0,p.CO)(r()),l=(0,p.Ls)(r(),n),i=(0,p.xm)(r()),s=m.A.prepareKey(l,o);return m.A.prepareQuery({path:t,offset:s,offsetColumns:i,columns:[a],limit:1})}},y=function(e){var n=e.cellPath,t=e.tag,a=e.columnName;return"yt select-rows 'select ".concat(n,"' ").concat(f({columnName:a,tag:t}))},g=t(54744),w=t(99745),j=function(e){var n=e.path,t=e.columnName,a=e.rowIndex;return function(e,r){var o=(0,g.pW)(r()),l="number"==typeof o?a+o:a;return"".concat(n,"{").concat((0,w.a)(t,(0,w.n)()),"}[#").concat(l,":#").concat(l+1,"]")}},A=function(e){var n=e.cellPath,t=e.columnName,a=e.tag;return"yt read-table '".concat(n,"' ").concat(f({columnName:t,tag:a}))},b=t(96500),_=t(88187),C=function(e){var n=e.columnName,t=e.rowIndex;return function(e,a){var r=(0,l.Yn)(a());return e(((0,p.Gi)(a())?x:j)({path:r,columnName:n,rowIndex:t}))}},N=function(e){var n=e.cellPath,t=e.columnName,a=e.tag;return function(e,r){return((0,p.Gi)(r())?y:A)({cellPath:n,columnName:t,tag:a})}},k=function(e){var n=e.cellPath,t=e.useYqlTypes,a=e.cancellation;return function(e,r){var o=(0,p.Gi)(r()),l=(0,i.dD)({stringLimit:s.F,useYqlTypes:t});return o?(0,_.S)({parameters:{output_format:l,query:n},cancellation:null!=a?a:u.Be.removeAllAndSave}):(0,b.B)({parameters:{path:n,output_format:l},cancellation:null!=a?a:u.Be.removeAllAndSave})}},S=function(e){var n=e.columnName,t=e.rowIndex,l=e.tag,i=e.dataHandler;return function(){var e=(0,r.A)((0,a.A)().mark((function e(r,p){var m,h,v,f,x,y,w,j,A,b,_,S,I,T,P,L,E,R,q,H;return(0,a.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return m=(0,g.t5)(p()),h=r(C({columnName:n,rowIndex:t})),v=r(N({cellPath:h,columnName:n,tag:l})),i?i.onStartLoading({columnName:n,rowIndex:t}):(0,o.vA)((function(){r({type:s.w.REQUEST,data:{ytCliDownloadCommand:v}}),r((0,u.ZD)())})),f={},x=!1,e.prev=6,e.next=9,r(k({cellPath:h,useYqlTypes:m,cancellation:null==i?void 0:i.saveCancellation}));case 9:(y=e.sent).useYqlTypes?(w=y.rows,j=y.yqlTypes,A=w[0][n],b=A[0],_=A[1],S={incomplete:!1},I=d.A.converters.yql([b,null==j?void 0:j[_]],{maxStringSize:void 0,maxListSize:void 0,treatValAsData:!0},S),T=I.$type,P=I.$value,L=I.$tag,x=S.incomplete,f.$type=T,f.$value=L?P.$value:P,f.$tag=L):(E=y.rows,R=E[0][n],q=R&&R.$type,f.$type=R.$type,f.$value=q?R.$value:R,x=R.$incomplete),H=x?"Unable to load content more than 16MiB. Please use the command bellow to load it locally.":"You could use the command bellow to load it locally.",i?i.onSuccess({columnName:n,rowIndex:t,data:y}):r({type:s.w.SUCCESS,data:{data:f,noticeText:H}}),e.next=18;break;case 15:e.prev=15,e.t0=e.catch(6),(0,c.m)(e.t0)||(i?i.onError({columnName:n,rowIndex:t,error:e.t0}):r({type:s.w.FAILURE,data:{error:e.t0}}));case 18:case"end":return e.stop()}}),e,null,[[6,15]])})));return function(n,t){return e.apply(this,arguments)}}()}},43910:(e,n,t)=>{t.d(n,{W:()=>r});var a=t(36739);function r(e){return e===a.PP}},46637:(e,n,t)=>{function a(e){return void 0!==(null==e?void 0:e.pipeline_format_version)}t.d(n,{j:()=>a})},51883:(e,n,t)=>{t.r(n),t.d(n,{Navigation:()=>De});var a=t(77810),r=t(76872),o=t(81336),l=t(1335),i=t(45760),s=t(14371),c=t(59879),u=t(64922),d=function(e){var n=e.item,t=e.isCurrent,a=e.onClick;return(0,u.jsx)("div",{"data-qa":n.text,onClick:function(e){e.preventDefault(),n.href&&!t&&a(n.href)},children:n.text})},p=t(47001),m=t(55984),h=t(256),v=function(){var e=(0,s.w)(),n=(0,s.d)(p.I7),t=(0,s.d)(p.rS),r=(0,a.useCallback)((function(){e((0,m.VR)(m.Dh.Cluster)),e((0,m.l5)(void 0)),e((0,m.SO)(""))}),[e]),v=(0,a.useCallback)((function(n){e((0,h.dt)(n))}),[e]),f=(0,a.useMemo)((function(){if(!t)return[];var e="/",a=[{text:t,href:"/"}];return n.split("/").forEach((function(n){n&&(e+="/"+n,a.push({text:n,href:e}))})),a.map((function(e,n){var t=n===a.length-1;return(0,u.jsx)(o.B.Item,{href:e.href,onClick:function(e){return e.preventDefault()},children:(0,u.jsx)(d,{item:e,isCurrent:t,onClick:v})},n)}))}),[t,n,v]);return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(l.$,{size:"s",view:"flat",onClick:r,children:(0,u.jsx)(i.I,{data:c.A,size:16})}),(0,u.jsx)(o.B,{showRoot:!0,children:f})]})},f=t(40319);const x=function(e){return(0,u.jsx)("svg",(0,f.A)((0,f.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,u.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"m9.194 5 .351.873.94.064 3.197.217-2.46 2.055-.722.603.23.914.782 3.108-2.714-1.704L8 10.629l-.798.5-2.714 1.705.782-3.108.23-.914-.723-.603-2.46-2.055 3.198-.217.94-.064.35-.874L8 2.025zm-7.723-.292 3.943-.268L6.886.773C7.29-.231 8.71-.231 9.114.773l1.472 3.667 3.943.268c1.08.073 1.518 1.424.688 2.118L12.185 9.36l.964 3.832c.264 1.05-.886 1.884-1.802 1.31L8 12.4l-3.347 2.101c-.916.575-2.066-.26-1.802-1.309l.964-3.832L.783 6.826c-.83-.694-.391-2.045.688-2.118",clipRule:"evenodd"})}))},y=function(e){return(0,u.jsx)("svg",(0,f.A)((0,f.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,u.jsx)("path",{fill:"currentColor",d:"M6.886.773C7.29-.231 8.71-.231 9.114.773l1.472 3.667 3.943.268c1.08.073 1.518 1.424.688 2.118L12.185 9.36l.964 3.832c.264 1.05-.886 1.884-1.802 1.31L8 12.4l-3.347 2.101c-.916.575-2.066-.26-1.802-1.309l.964-3.832L.783 6.826c-.83-.694-.391-2.045.688-2.118l3.943-.268z"})}))};var g=t(91726);const w=function(e){return(0,u.jsx)("svg",(0,f.A)((0,f.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,u.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M12 2.5H8A1.5 1.5 0 0 0 6.5 4v1H8a3 3 0 0 1 3 3v1.5h1A1.5 1.5 0 0 0 13.5 8V4A1.5 1.5 0 0 0 12 2.5M11 11h1a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H8a3 3 0 0 0-3 3v1H4a3 3 0 0 0-3 3v4a3 3 0 0 0 3 3h4a3 3 0 0 0 3-3zM4 6.5h4A1.5 1.5 0 0 1 9.5 8v4A1.5 1.5 0 0 1 8 13.5H4A1.5 1.5 0 0 1 2.5 12V8A1.5 1.5 0 0 1 4 6.5",clipRule:"evenodd"})}))};var j=t(41347),A=t(29970),b=t(98634),_=t(77720),C=function(e,n){if(n){var t=n.getPosition(),a={range:t?new _.Q6(t.lineNumber,t.column,t.lineNumber,t.column):new _.Q6(0,0,0,0),text:e};n.executeEdits("Insert text",[a])}},N=t(19904),k=t(34040),S=(0,r.A)("navigation-header-actions"),I=function(){var e=(0,s.w)(),n=(0,s.d)(p.I7),t=(0,s.d)(p.rS),r=(0,s.d)(p.WS),o=(0,s.d)(A.ln),c=(0,N.d)().getEditor,d=r.includes(n),m=(0,k.L$)({path:n,cluster:t}),v=(0,a.useCallback)((function(){e((0,h.sS)(n))}),[e,n]),f=(0,a.useCallback)((function(){e((0,h.u_)(n))}),[e,n]),_=(0,a.useCallback)((function(){if(t){var e=c("queryEditor"),a=(0,b.$)({cluster:t,path:n,engine:o});C(a,e)}}),[t,o,c,n]);return t?(0,u.jsxs)("div",{className:S(),children:[(0,u.jsx)(l.$,{view:"flat",href:m,target:"_blank",children:(0,u.jsx)(i.I,{data:j.A,size:16})}),(0,u.jsx)(l.$,{view:"flat",onClick:v,children:(0,u.jsx)(i.I,{data:d?y:x,size:16})}),(0,u.jsx)(l.$,{view:"flat",onClick:_,children:(0,u.jsx)(i.I,{data:g.A,size:16})}),(0,u.jsx)(l.$,{view:"flat",onClick:f,children:(0,u.jsx)(i.I,{data:w,size:16})})]}):null},T=t(69764),P=t(92611);const L=JSON.parse('{"field_filter-by-name":"Filter by name"}'),E=JSON.parse('{"field_filter-by-name":"Фильтр по имени"}'),R=(0,P.Kc)("yt:query-tracker.navigation-header",{en:L,ru:E});var q=(0,r.A)("navigation-header"),H=function(){var e=(0,s.w)(),n=(0,s.d)(p.fV),t=(0,s.d)(p.Rv)!==m.Dh.Table;return(0,u.jsxs)("div",{className:q(),children:[(0,u.jsxs)("div",{className:q("path-wrap"),children:[(0,u.jsx)(v,{}),(0,u.jsx)(I,{})]}),t&&(0,u.jsx)(T.k,{value:n,placeholder:R("field_filter-by-name"),onUpdate:function(n){e((0,m.R6)(n))},hasClear:!0})]})},$=t(3962);const z=JSON.parse('{"context_empty-directory":"This directory is empty"}'),M=JSON.parse('{"context_empty-directory":"Эта директория пуста"}'),V=(0,P.Kc)("yt:query-tracker.navigation-body",{en:z,ru:M});var B=(0,r.A)("navigation-empty"),O=function(){return(0,u.jsx)("div",{className:B(),children:(0,u.jsx)($.E,{variant:"subheader-2",children:V("context_empty-directory")})})},F=t(4123),Y=t(56747),D=t(81379),U=(0,r.A)("yt-qt-navigation-items-list");function Q(e){var n=e.className,t=e.data,a=e.loading,r=e.render,o=e.onClick;return(0,u.jsx)(D.Ay,{className:U(null,n),rowClassName:function(){return U("row")},settings:{stickyHead:"moving",displayIndices:!1,sortable:!0,highlightRows:!1},data:t,columns:[{name:"name",header:(0,u.jsx)(Y.A,{className:U("header"),title:"Name",column:"name",loading:a}),render:function(e){var n=e.row;return r(n)}}],useThemeYT:!0,onRowClick:o})}var J=(0,r.A)("navigation-cluster-list"),W=function(){var e=(0,s.w)(),n=(0,s.d)(p.Nz),t=(0,s.d)(p.n7);return(0,u.jsx)(Q,{className:J(),loading:n,data:t,render:function(e){var n=e.id,t=e.name,a=e.environment;return(0,u.jsx)(F._,{id:n,name:t,environment:a,className:J("item")},n)},onClick:function(n){e((0,h.vl)(n.id))}})},K=t(53775),G=t(28407),X=t(9736),Z=t(13322),ee=t(33559),ne=t(27723),te=t(97583),ae=t(75299),re=t(30996),oe=t(8723),le=function(e){var n=e.type,t=e.name,a=e.targetPath;return(0,u.jsx)($.E,{ellipsis:!0,children:"link"===n?(0,u.jsxs)(u.Fragment,{children:[t," ",(0,u.jsx)("span",{role:"img","aria-label":"Arrow pointing right",style:{margin:"0 4px"},children:"➞"})," ",a]}):t})};const ie=JSON.parse('{"action_copy-to-clipboard":"Copy to clipboard","action_insert-into-editor":"Insert into editor","action_create-new-query":"Create new query","action_copy-link":"Copy link","action_open-in-cluster":"Open in cluster","value_path":"Path","value_select":"SELECT","value_select-yt-ql":"SELECT (YT QL)","value_select-yql":"SELECT (YQL)","value_select-chyt":"SELECT (CHYT)","value_select-spyt":"SELECT (SPYT)"}'),se=JSON.parse('{"action_copy-to-clipboard":"Копировать в буфер","action_insert-into-editor":"Вставить в редактор","action_create-new-query":"Создать новый запрос","action_copy-link":"Копировать ссылку","action_open-in-cluster":"Открыть в кластере","value_path":"Путь","value_select":"SELECT","value_select-yt-ql":"SELECT (YT QL)","value_select-yql":"SELECT (YQL)","value_select-chyt":"SELECT (CHYT)","value_select-spyt":"SELECT (SPYT)"}'),ce=(0,P.Kc)("yt:query-tracker.navigation-node-list",{en:ie,ru:se});var ue=(0,r.A)("navigation-node-list-row"),de=function(e){var n=e.node,t=e.queryEngine,a=e.onClick,r=e.onFavoriteToggle,o=e.onClipboardCopy,s=e.onEditorInsert,c=e.onNewQuery,d=e.onNewWindowOpen,p=n.type,m=n.dynamic,h=n.name,v=n.path,w=n.targetPath,A=n.isFavorite,b=(0,ae.A)(!1),_=(0,X.A)(b,2),C=_[0],N=_[1],k=(0,ae.A)(!1),S=(0,X.A)(k,2),I=S[0],T=S[1],P=(0,ne.R)(p)||(0,te.h)(p),L=P&&"..."!==h,E=function(e){e.stopPropagation()};return(0,u.jsxs)("div",{className:ue({unsupported:!P,active:I||C}),onClick:function(){P&&a(v,p)},children:[(0,u.jsxs)("div",{className:ue("icon-wrap"),children:[(0,u.jsx)(oe.y,{node:{$attributes:n}}),A&&(0,u.jsx)(i.I,{data:y,className:ue("favorite-icon"),size:10})]}),(0,u.jsx)(le,{type:p,name:h,targetPath:w}),L&&(0,u.jsxs)("div",{className:ue("actions"),children:[(0,u.jsx)(l.$,{view:"flat",onClick:function(e){E(e),r(v)},children:(0,u.jsx)(i.I,{data:A?y:x,size:16})}),(0,te.h)(p)?(0,u.jsx)(ee.r,{open:C,onOpenToggle:N,renderSwitcher:function(e){return(0,u.jsx)(l.$,(0,f.A)((0,f.A)({view:"flat"},e),{},{children:(0,u.jsx)(i.I,{data:g.A,size:16})}))},items:[{text:ce("action_copy-to-clipboard"),items:[{text:ce("value_path"),action:function(e){e.stopPropagation(),o(v,"path")}}]},{text:ce("action_insert-into-editor"),items:[{text:ce("value_path"),action:function(e){e.stopPropagation(),s(v,"path")}}].concat((0,Z.A)(m||t!==re.d.YT_QL?[{text:ce("value_select"),action:function(e){e.stopPropagation(),s(v,"select")}}]:[]))},{text:ce("action_create-new-query"),items:[].concat((0,Z.A)(m?[{text:ce("value_select-yt-ql"),action:function(e){e.stopPropagation(),c(v,re.d.YT_QL)}}]:[]),[{text:ce("value_select-yql"),action:function(e){e.stopPropagation(),c(v,re.d.YQL)}},{text:ce("value_select-chyt"),action:function(e){e.stopPropagation(),c(v,re.d.CHYT)}},{text:ce("value_select-spyt"),action:function(e){e.stopPropagation(),c(v,re.d.SPYT)}}])}],onSwitcherClick:E}):(0,u.jsx)(l.$,{view:"flat",onClick:function(e){E(e),s(v,"path")},children:(0,u.jsx)(i.I,{data:g.A,size:16})}),(0,u.jsx)(ee.r,{open:I,onOpenToggle:T,items:[{action:function(e){e.stopPropagation(),o(v,"url")},text:ce("action_copy-link")},{action:function(){d(v)},text:ce("action_open-in-cluster"),iconEnd:(0,u.jsx)(i.I,{data:j.A})}],onSwitcherClick:E})]})]})},pe=t(52120),me=t(22290),he=t(66439),ve=(0,r.A)("navigation-node-list"),fe=function(){var e=(0,s.w)(),n=(0,a.useState)(!1),t=(0,X.A)(n,2),r=t[0],o=t[1],l=(0,a.useRef)(null),i=(0,s.d)(p.$D),c=(0,s.d)(p.mV),d=(0,s.d)(A.ln),m=(0,me.GN)().pageSize,v=(0,s.d)(A.Py),f=(0,s.d)(p.Nz),x=(0,N.d)().getEditor,y=function(n,t){(0,ne.R)(t)?e((0,h.dt)(n)):(0,te.h)(t)&&e((0,h.ID)(n))},g=(0,a.useCallback)((function(n){e((0,h.sS)(n))}),[e]),w=(0,a.useCallback)(function(){var e=(0,G.A)((0,K.A)().mark((function e(n,t){var a,r;return(0,K.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i&&i.id){e.next=2;break}return e.abrupt("return");case 2:if(a=x("queryEditor"),r="","path"!==t){e.next=8;break}r=(0,b.$)({cluster:i.id,path:n,engine:d}),e.next=11;break;case 8:return e.next=10,(0,pe.h)({clusterConfig:i,path:n,engine:d,limit:m});case 10:r=e.sent;case 11:C(r,a);case 12:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}(),[i,d,x,m]),j=(0,a.useCallback)((function(n,t){if(i&&i.id){var a="path"===t?(0,b.$)({cluster:i.id,path:n,engine:d}):function(e,n){var t=new URL(location.origin+location.pathname);return t.searchParams.append("listMode","navigation"),t.searchParams.append("navCluster",e),n&&"/"!==n&&t.searchParams.append("navPath",n),t.toString()}(i.id,n);e((0,h.u_)(a))}}),[i,e,d]),_=(0,a.useCallback)((function(e){if(i&&i.id){var n=new URL(location.origin+"/".concat(i.id,"/navigation"));n.searchParams.append("path",e),window.open(n)}}),[i]),k=(0,a.useCallback)((function(){var n=l.current;n&&(e((0,h.p3)(n.path,n.engine)),o(!1))}),[e,o]),S=(0,a.useCallback)((function(){l.current=null,o(!1)}),[o]),I=(0,a.useCallback)(function(){var e=(0,G.A)((0,K.A)().mark((function e(n,t){return(0,K.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!v){e.next=4;break}return o(!0),l.current={path:n,engine:t},e.abrupt("return");case 4:l.current={path:n,engine:t},k();case 6:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}(),[v,k,o]);return(0,u.jsxs)("div",{className:ve(),children:[(0,u.jsx)(Q,{loading:f,data:c,render:function(e){return(0,u.jsx)(de,{node:e,queryEngine:d,onClick:y,onFavoriteToggle:g,onEditorInsert:w,onClipboardCopy:j,onNewWindowOpen:_,onNewQuery:I},e.path)}}),(0,u.jsx)(he.J,{confirm:k,cancel:S,visible:r})]})},xe=t(54473),ye=t(88787),ge=t(3659),we=[{name:"name",header:"Name",render:function(e){var n=e.row;return(0,u.jsxs)(u.Fragment,{children:[Boolean(n.sort_order)&&(0,u.jsx)(ye.A,{awesome:"descending"===n.sort_order?"sort-amount-up":"sort-amount-down-alt",size:16})," ",ge.A.prettyprint(n.name,{asHTML:!1})]})}},{name:"type",header:"Type v3",render:function(e){var n=e.row;return(0,u.jsxs)(u.Fragment,{children:[n.type," ",!n.required&&(0,u.jsx)($.E,{variant:"caption-1",children:"optional"})]})}}],je=function(e){var n=e.schema,t=(0,s.w)(),a=(0,s.d)(p.fV);return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(T.k,{value:a,placeholder:"Filter by name",onUpdate:function(e){t((0,m.R6)(e))},hasClear:!0}),(0,u.jsx)(D.Ay,{data:n,columns:we,useThemeYT:!0})]})},Ae=t(42321),be=t(94711),_e=t(41218);const Ce=JSON.parse('{"action_insert-select":"insert SELECT"}'),Ne=JSON.parse('{"action_insert-select":"вставить SELECT"}'),ke=(0,P.Kc)("yt:query-tracker.navigation-table",{en:Ce,ru:Ne});var Se=(0,r.A)("navigation-preview-tab"),Ie=function(e){var n=e.table,t=e.ysonSettings,r=e.onEditorInsert,o=(0,s.w)(),c=a.useCallback((function(e,n){o((0,_e._)({columnName:e,rowIndex:n}))}),[o]),d=(0,a.useMemo)((function(){return(0,be.X)({columns:n.columns.map((function(e){return{name:e}})),keyColumns:[],yqlTypes:n.yqlTypes,ysonSettings:t,useRawStrings:void 0,schemaByName:n.schema.reduce((function(e,n){return e[n.name]=n,e}),{}),onShowPreview:c})}),[n,t]);return(0,u.jsxs)("div",{children:[(0,u.jsxs)(l.$,{onClick:r,children:[(0,u.jsx)(i.I,{data:j.A,size:16}),ke("action_insert-select")]}),(0,u.jsx)(D.Ay,{className:Se(),columns:d,data:n.rows,useThemeYT:!0})]})},Te=t(34694),Pe=t(4386);const Le=JSON.parse('{"context_empty-data":"Empty data","title_schema":"Schema","title_preview":"Preview","title_meta":"Meta"}'),Ee=JSON.parse('{"context_empty-data":"Нет данных","title_schema":"Схема","title_preview":"Предпросмотр","title_meta":"Мета"}'),Re=(0,P.Kc)("yt:query-tracker.navigation-table",{en:Le,ru:Ee});var qe=(0,r.A)("qt-navigation-table"),He=function(){var e=(0,a.useState)("schema"),n=(0,X.A)(e,2),t=n[0],r=n[1],o=(0,s.d)(p.$D),l=(0,s.d)(p.PR),i=(0,s.d)(A.ln),c=(0,s.d)(Te.XL),d=(0,s.d)(p.I7),m=(0,s.d)(Pe.LC),h=(0,N.d)().getEditor,v=function(){var e=(0,G.A)((0,K.A)().mark((function e(){var n,t;return(0,K.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o){e.next=2;break}return e.abrupt("return");case 2:return n=h("queryEditor"),e.next=5,(0,pe.h)({clusterConfig:o,path:d,engine:i,limit:c});case 5:t=e.sent,C(t,n);case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return l?(0,u.jsxs)("div",{className:qe(),children:[(0,u.jsx)(xe.x,{defaultValue:t,onUpdate:function(e){r(e)},options:[{value:"schema",content:Re("title_schema")},{value:"preview",content:Re("title_preview")},{value:"meta",content:Re("title_meta")}]}),(0,u.jsxs)("div",{className:qe("content"),children:["schema"===t&&(0,u.jsx)(je,{schema:l.schema}),"preview"===t&&(0,u.jsx)(Ie,{table:l,onEditorInsert:v,ysonSettings:m}),"meta"===t&&(0,u.jsx)(Ae.Ay,{items:l.meta})]})]}):(0,u.jsx)("div",{children:Re("context_empty-data")})},$e=t(55339),ze=t(56201),Me=function(){return(0,u.jsx)($e.s,{alignItems:"center",justifyContent:"center",children:(0,u.jsx)(ze.a,{})})},Ve=t(37049),Be=(0,r.A)("yt-qt-navigation-error"),Oe=function(){var e=(0,s.d)(p.NZ),n=(0,s.d)(p.rS),t=(0,s.d)(p.I7);return n&&e?(0,u.jsx)("div",{className:Be(),children:(0,u.jsx)(Ve.L,{message:null==e?void 0:e.message,details:e,cluster:n,path:t,vertical:!0})}):null},Fe=function(){switch((0,s.d)(p.Rv)){case m.Dh.Tree:return(0,u.jsx)(fe,{});case m.Dh.Table:return(0,u.jsx)(He,{});case m.Dh.Cluster:return(0,u.jsx)(W,{});case m.Dh.Loading:return(0,u.jsx)(Me,{});case m.Dh.Error:return(0,u.jsx)(Oe,{});default:return(0,u.jsx)(O,{})}},Ye=(0,r.A)("query-navigation"),De=function(){var e=(0,s.w)();return(0,a.useEffect)((function(){e((0,h.RU)())}),[e]),(0,u.jsxs)("div",{className:Ye(),children:[(0,u.jsx)(H,{}),(0,u.jsx)(Fe,{})]})}},56747:(e,n,t)=>{t.d(n,{A:()=>A});var a=t(40319),r=t(77810),o=t(76872),l=t(10559),i=t(3962),s=t(33559),c=t(1335),u=t(45760),d=t(64772),p=t(57486),m=t(44458),h=t(64922),v=(0,o.A)("yt-page-counter");function f(e){var n=e.pageIndex,t=e.pageCount,a=e.className;return void 0===n||void 0===t?null:t>1?(0,h.jsxs)("span",{className:v(null,a),children:["Page: ",(n||0)+1," / ",t]}):null}const x=r.memo(f);var y=t(84549),g=t(12680),w=(0,o.A)("column-header");function j(e){var n=e.column,t=e.title,a=e.shortTitle,r=null!=t?t:d.A.ReadableField(n);return{nameContent:a||r,titleContent:r}}function A(e){var n=e.className,t=e.align,o=e.order,l=e.onSort,s=e.multisortIndex,c=e.loading,u=e.pageIndex,d=e.pageCount,v=e.sortIconSize,f=function(e){if(void 0===e.options){var n=e.column,t=e.allowUnordered,r=e.withUndefined,o=e.title,l=e.shortTitle,i=e.allowedOrderTypes;return(0,a.A)({column:n,allowUnordered:t,withUndefined:r,allowedOrderTypes:i},j({column:n,title:o,shortTitle:l}))}var s=e.column,c=e.options,u=e.title,d=e.shortTitle,p=c.find((function(e){var n=e.column;return s===n}));return p||(0,g.N1)({message:"Unexpected behavior: missing value in ColumnHeader.props.options",additional:e}),(0,a.A)((0,a.A)({subColumn:j((0,a.A)({},p))},p),j({column:"",title:u,shortTitle:d}))}(e),A=f.column,_=f.allowUnordered,C=f.withUndefined,N=f.nameContent,k=f.titleContent,S=f.allowedOrderTypes,I=f.subColumn,T=r.useCallback((function(e){var n=S?(0,m.Pc)(o,S):(0,m.$N)(o,_,C);null==l||l(A,n,{currentOrder:o,multisort:e.ctrlKey||e.metaKey})}),[A,o,l,_,S,C]),P=Boolean(l);return(0,h.jsxs)("div",{className:w(null,n),children:[(0,h.jsxs)("div",{className:w("label-icon",{sortable:P,align:t}),onClick:P?T:void 0,children:[(0,h.jsx)("span",{className:w("label"),title:k,children:N}),P&&(0,h.jsx)("span",{className:w("icon"),children:(0,h.jsx)(p.A,{order:o,size:v})}),void 0!==s&&(0,h.jsxs)("span",{className:w("multisort"),children:[" ",(0,h.jsx)("sup",{children:s})]}),Boolean(o)&&Boolean(I)&&(0,h.jsx)(i.E,{className:w("label",{"sub-column":!0}),variant:"caption-2",title:null==I?void 0:I.titleContent,color:"dark-secondary",children:null==I?void 0:I.nameContent})]}),(0,h.jsx)(b,{options:e.options,order:o,onSort:l}),void 0!==c&&(0,h.jsx)("div",{className:w("loader"),children:(0,h.jsx)(y.A,{visible:c})}),Boolean(d)&&(0,h.jsx)(x,{className:w("page-counter"),pageIndex:u,pageCount:d})]})}function b(e){var n=e.order,t=e.options,a=e.onSort;return t?(0,h.jsx)(s.r,{items:t.map((function(e){return{text:j(e).titleContent,action:function(){if(a){var t=e.column,r=e.allowUnordered,o=e.withUndefined,l=e.allowedOrderTypes,i=l?(0,m.Pc)(n,l):(0,m.$N)(n,r,o);a(t,i,{currentOrder:n})}}}})),renderSwitcher:function(e){var n=e.onClick;return(0,h.jsx)(c.$,{onClick:n,view:"flat",size:"xs",children:(0,h.jsx)(u.I,{size:12,data:l.A})})}}):null}},59879:(e,n,t)=>{t.d(n,{A:()=>o});var a=t(40319),r=t(64922);const o=function(e){return(0,r.jsx)("svg",(0,a.A)((0,a.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,r.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M7.5 13.5v-3A.5.5 0 0 1 8 10h.672a.5.5 0 0 1 .353.146l.414.415.44.439H13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H8a.5.5 0 0 1-.5-.5M6 13H4.5a3 3 0 0 1-3-3V1.25a.75.75 0 0 1 1.5 0V2a1.5 1.5 0 0 0 1.5 1.5H6v-1a2 2 0 0 1 2-2h.672a2 2 0 0 1 1.414.586l.414.414H13a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V5H4.5A3 3 0 0 1 3 4.599V10a1.5 1.5 0 0 0 1.5 1.5H6v-1a2 2 0 0 1 2-2h.672a2 2 0 0 1 1.414.586l.414.414H13a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2zm1.5-8.75V5.5A.5.5 0 0 0 8 6h5a.5.5 0 0 0 .5-.5v-2A.5.5 0 0 0 13 3H9.879l-.44-.44-.414-.414A.5.5 0 0 0 8.672 2H8a.5.5 0 0 0-.5.5z",clipRule:"evenodd"})}))}},77849:(e,n,t)=>{t.d(n,{B:()=>r});var a=t(36739);function r(e){return e===a.PP}},81336:(e,n,t)=>{t.d(n,{B:()=>P});var a=t(64922),r=t(77810),o=t(99621),l=t(19333),i=t(56854),s=t(85804),c=t(1335),u=t(21211),d=t(37988);const p=JSON.parse('{"breadcrumbs":"Breadcrumbs","label_more":"Show more"}'),m=JSON.parse('{"breadcrumbs":"Навигация","label_more":"Показать больше"}'),h=(0,d.N)({en:p,ru:m},"lab/Breadcrumbs");var v=t(47999);const f=(0,v.om)("breadcrumbs"),x=r.createContext({isMenu:!1,activeIndex:null,getItemProps:(e={})=>e,listItemsRef:{current:[]},popupStyle:void 0});function y({children:e,disabled:n,popupPlacement:t,popupStyle:o}){const[l,i]=r.useState(null),[d,p]=r.useState(null),[m,v]=r.useState(null),[y,g]=r.useState(!1),w=(0,s.P7)({open:y,onOpenChange:g,elements:{reference:l,floating:d}}),j=r.useRef([]),A=(0,s.C1)(w,{enabled:!n,listRef:j,activeIndex:m,onNavigate:v,loop:!0}),b=(0,s.s9)(w,{enabled:!n}),_=[(0,s.kp)(w,{enabled:!n}),b,A,(0,s.It)(w,{role:"menu"})],{getReferenceProps:C,getItemProps:N}=(0,s.bv)(_),{t:k}=h.useTranslation();return(0,a.jsxs)("div",{className:f("menu"),children:[(0,a.jsx)(c.$,{ref:i,...C(),title:k("label_more"),"aria-label":k("label_more"),size:"s",view:"flat",disabled:n,children:(0,a.jsx)(c.$.Icon,{children:"..."})}),(0,a.jsx)(u.z,{floatingContext:w,floatingRef:p,floatingInteractions:_,placement:t,className:f("menu-popup"),children:(0,a.jsx)(x.Provider,{value:{isMenu:!0,getItemProps:N,listItemsRef:j,activeIndex:m,popupStyle:o},children:e})})]})}var g=t(43904),w=t(95199),j=t(30744),A=t(78485),b=t(45760);const _=(0,v.om)("lab-list-item-view"),C=r.forwardRef((function(e,n){const{size:t,active:l,selected:s,hovered:c,disabled:u,onClick:d,selectionStyle:p,className:m,style:h,collapsed:v,onCollapseChange:f,children:x,isContainer:y=!1,component:g="div",componentProps:w,collapsible:A,description:b,draggable:C,startContent:k,endContent:S,nestedLevel:I}=e,T=r.useRef(null),P=(0,o.N)(T,n);return(0,a.jsx)(g,{ref:P,...w,...(0,i.$)(e),className:_({size:t,selected:s&&"highlight"===p,disabled:u,active:l,hovered:"boolean"==typeof c&&(c?"yes":"no"),"is-container":y,"has-description":Boolean(b)},w?.className??m),style:w?.style??h,onClick:e=>{if(u)return void e.preventDefault();const n=e.target;n instanceof Element&&T.current&&(0,j.nq)(T.current).some((e=>e.contains(n)))||("function"==typeof d||"function"==typeof w?.onClick?(d?.(e),w?.onClick?.(e)):"function"==typeof f&&f(!v))},children:y?x:(0,a.jsx)(N,{...e,children:x})})}));function N({selected:e,disabled:n,selectionStyle:t,draggable:o,nestedLevel:l,collapsible:i,collapsed:s,onCollapseChange:u,startContent:d,children:p,description:m,endContent:h}){return(0,a.jsxs)(r.Fragment,{children:[o?(0,a.jsx)(k,{name:"drag-handle"}):null,l?(0,a.jsx)(k,{name:"spacer",style:{"--_--nested-level":l}}):null,i?(0,a.jsx)(k,{name:"collapsed-toggle",children:(0,a.jsx)(c.$,{className:_("collapsible"),view:"flat",tabIndex:-1,disabled:n,onClick:()=>{u?.(!s)},"aria-hidden":"true",children:(0,a.jsx)(c.$.Icon,{children:(0,a.jsx)(A.I,{className:_("arrow",{direction:s?"bottom":"top"})})})})}):null,"check"===t&&(0,a.jsx)(k,{name:"checked",children:(0,a.jsx)("div",{className:_("checked"),children:e?(0,a.jsx)(b.I,{data:w.A,className:_("icon")}):null})}),d?(0,a.jsx)(k,{name:"start-content",children:d}):null,(0,a.jsx)(k,{name:"content",children:p}),m?(0,a.jsx)(k,{name:"description",children:m}):null,h?(0,a.jsx)(k,{name:"end-content",children:h}):null]})}function k({name:e,children:n,className:t,style:r}){return(0,a.jsx)("div",{className:_("slot",{name:e},t),style:r,children:n})}function S(e,n){const t=(0,i.$)(e,{labelable:!0}),{href:o,hrefLang:l,target:s,rel:c,download:u,ping:d,referrerPolicy:p,children:m,__disabled:h,__current:v,__onAction:y,__index:w,...j}=e,A={onClick:e=>{h?e.preventDefault():("function"==typeof j.onClick&&j.onClick(e),"function"==typeof y&&y())},"aria-disabled":!!h||void 0};o?(A.href=o,A.hrefLang=l,A.target=s,A.rel="_blank"!==s||c?c:"noopener noreferrer",A.download=u,A.ping=d,A.referrerPolicy=p,A.tabIndex=h?-1:void 0):(A.role="link",A.tabIndex=h?void 0:0,A.onKeyDown=e=>{h?e.preventDefault():("function"==typeof j.onKeyDown&&j.onKeyDown(e),e.key===g.D.ENTER&&"function"==typeof y&&y())}),v&&(A["aria-current"]=e["aria-current"]??"page");const b=o?"a":"span",{isMenu:_,getItemProps:N,listItemsRef:k,activeIndex:S,popupStyle:I}=r.useContext(x);if(_){const n=!h&&S===w;return(0,a.jsx)(C,{ref:e=>{k.current[w??0]=e},nestedLevel:"staircase"===I?w:void 0,active:n,size:"m",className:f("menu-link",e.className),component:b,componentProps:N({...j,...t,...A,role:"menuitem",tabIndex:n?0:-1}),disabled:h,children:m})}return(0,a.jsx)(b,{...j,...t,...A,ref:n,className:f("link",{"is-current":v,"is-disabled":h&&!v},e.className),children:m})}S.displayName="Breadcrumbs.Item";const I=r.forwardRef(S);function T({separator:e}){return(0,a.jsx)("div",{"aria-hidden":!0,className:f("divider"),children:e??"/"})}T.displayName="Breadcrumbs.Separator";const P=r.forwardRef((function(e,n){const t=r.useRef(null),s=(0,o.N)(n,t),c=r.useRef(null),u=[];r.Children.forEach(e.children,((e,n)=>{r.isValidElement(e)&&(void 0!==e.key&&null!==e.key||(e=r.cloneElement(e,{key:n})),u.push(e))}));const[d,p]=r.useState(u.length),[m,h]=r.useState(!1),v=r.useCallback((()=>{p(u.length),h(!1)}),[u.length]);(0,l.w)({ref:t,onResize:v}),(0,l.w)({ref:e.endContent?c:void 0,onResize:v});const x=r.useRef(null);r.useLayoutEffect((()=>{m&&e.children!==x.current&&(x.current=e.children,p(u.length),h(!1))}),[m,u.length,e.children]),r.useLayoutEffect((()=>{m||(n=>{const a=t.current;if(!a)return;const r=Array.from(a.children),o=c.current;if(o&&r.pop(),0===r.length)return void h(!0);const l=a.offsetWidth-(o?.offsetWidth??0);let i=0,s=0,m=e.maxItems||1/0,v=0;if(e.showRoot){const e=r.shift();e&&(v=e.offsetWidth,s+=v),i++}if(u.length>n){const e=r.shift();e&&(s+=e.offsetWidth),m--}e.showRoot&&s>=l&&(s-=v,i--);const f=r.pop();f&&(s+=Math.min(f.offsetWidth,200),s<l&&i++);for(let e=r.length-1;e>=0&&(s+=r[e].offsetWidth,!(s>=l));e--)i++;i=Math.max(Math.min(m,i),1),i===d?h(!0):p(i)})(d)}));let g=u;if(u.length>d){g=[];const n=[...u];let t=d;if(e.showRoot&&d>1){const e=n.shift();e&&g.push(e),t--}const o=n.slice(0,-t),l=(0,a.jsx)(y,{disabled:e.disabled,popupPlacement:e.popupPlacement,popupStyle:e.popupStyle,"data-breadcrumbs-menu-item":!0,children:o.map(((n,t)=>{const a=e.itemComponent??I,o=n.key??t,l={__index:t,__disabled:e.disabled||n.props.disabled,__onAction:()=>{"function"==typeof e.onAction&&e.onAction(o)}};return(0,r.createElement)(a,{...n.props,key:o,...l},n.props.children)}))});g.push(l),g.push(...n.slice(-t))}const w=g.length-1,j=g.map(((n,t)=>{const o=t===w,l=n.key??t,{"data-breadcrumbs-menu-item":i,...s}=n.props;let c;if(i)c=n;else{const n=e.itemComponent??I,t=()=>{"function"==typeof e.onAction&&e.onAction(l)},a={__current:o,__disabled:e.disabled||s.disabled,__onAction:t};c=(0,r.createElement)(n,{...s,key:l,...a},s.children)}return(0,a.jsxs)("li",{className:f("item",{calculating:o&&!m,current:o}),children:[c,o?null:(0,a.jsx)(T,{separator:e.separator})]},i?"menu":`item-${l}`)}));return e.endContent&&j.push((0,a.jsx)("li",{ref:c,className:f("item"),children:e.endContent},"end-content")),(0,a.jsx)("ol",{ref:s,...(0,i.$)(e,{labelable:!0}),"data-qa":e.qa,className:f(null,e.className),style:e.style,children:j})}));P.Item=I,P.displayName="Breadcrumbs"},91726:(e,n,t)=>{t.d(n,{A:()=>o});var a=t(40319),r=t(64922);const o=function(e){return(0,r.jsx)("svg",(0,a.A)((0,a.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,r.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M13.25 2H2.75a.75.75 0 0 0 0 1.5h10.5a.75.75 0 0 0 0-1.5m0 3.5h-5.5a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5m0 3.5h-5.5a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5m-10.5 3.5h10.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5m.49-7a.74.74 0 0 1 .463.162l1.906 1.526a1.04 1.04 0 0 1 0 1.624l-1.906 1.526A.74.74 0 0 1 2.5 9.76V6.24a.74.74 0 0 1 .74-.74",clipRule:"evenodd"})}))}},94711:(e,n,t)=>{t.d(n,{X:()=>M});var a=t(77810),r=t(19410),o=t(25460),l=t(78519),i=t(3659),s=t(88787),c=t(53775),u=t(28407),d=t(40319),p=t(9736),m=t(76872),h=t(623),v=t.n(h),f=t(55339),x=t(1335),y=t(45760),g=t(24966),w=t(44131),j=t(29121),A=t(12937),b=t(66134),_=t(10785),C=t(36734),N=t(64922),k=function(e){function n(){return(0,j.A)(this,n),(0,b.A)(this,n,arguments)}return(0,_.A)(n,e),(0,A.A)(n,[{key:"render",value:function(){var e,t=this.props,a=t.value,r=t.type,o=t.inline,l=t.settings,s=n.getFormattedValue(a,r,l);if(o){var c=Object.assign({},l,{asHTML:!1});e="raw-json"===l.format?i.A.formatRaw(a,c):i.A.formatFromYQL(a,c)}var u=(0,m.A)("unipika-wrapper")({inline:o&&"yes"});return(0,N.jsx)(C.A,{children:l.asHTML?(0,N.jsx)("div",{className:u,title:e,dir:"auto",children:(0,N.jsx)("pre",{className:"unipika",dangerouslySetInnerHTML:{__html:s}})}):(0,N.jsx)("div",{className:u,title:e,dir:"auto",dangerouslySetInnerHTML:{__html:s}})})}}],[{key:"getFormattedValue",value:function(e,n,t){var a=[e,n];return"raw-json"===t.format?i.A.formatRaw(a,t):i.A.formatFromYQL(a,t)}}])}(a.Component);k.defaultProps={inline:!1,folding:!1,settings:l.A.defaultUnipikaSettings};var S=t(66133),I=t(12680),T=t(92611);const P=JSON.parse('{"hold-shift-escaped":"Hold SHIFT-key to copy escaped value","hold-shift-raw":"Hold SHIFT-key to copy raw value","incomplete-type":"Incomplete \'{{tag}}\' type"}'),L=JSON.parse('{"hold-shift-escaped":"Удерживайте SHIFT для копирования экранированного значения","hold-shift-raw":"Удерживайте SHIFT для копирования исходного значения","incomplete-type":"Неполный тип \'{{tag}}\'"}'),E=(0,T.Kc)("yt:column-cell",{en:P,ru:L});var R=(0,m.A)("yt-column-cell");function q(e){var n=/^"(.*)"$/.exec(e);return n?n[1]:e}function H(e){var n=e.value,t=void 0===n?null:n,o=e.yqlTypes,s=e.ysonSettings,m=e.allowRawStrings,h=e.className,j=e.rowIndex,A=e.columnName,b=e.onShowPreview,_=e.useYqlTypes,C=(0,a.useState)(!1),T=(0,p.A)(C,2),P=T[0],L=T[1],H=o&&t?o[Number(t[1])]:void 0,$=H&&t?k.getFormattedValue(t[0],H,(0,d.A)((0,d.A)({},s),{},{asHTML:!1})):i.A.prettyprint(t,(0,d.A)((0,d.A)({},s),{},{asHTML:!1})),z=H&&t?(0,N.jsx)(k,{value:t[0],type:H,settings:s}):(0,N.jsx)(l.A,{value:t,settings:s}),M=a.useMemo((function(){var e,n=!1,a=!1;if(t&&H){var r={incomplete:!1},o=i.A.converters.yql([t[0],H],s,r).$tag;a=r.incomplete,n=r.incomplete&&o,e=o}else t&&(a=Boolean(t.$incomplete));return{tag:e,isIncompleteTagged:n,isIncompleteValue:a}}),[t,H,s]),V=M.tag,B=M.isIncompleteTagged,O=M.isIncompleteValue,F=_?H:null==t?void 0:t.$type,Y=_?null==t?void 0:t[0]:null==t?void 0:t.$value,D="string"==typeof Y&&function(e){if(!e)return!1;if("string"==typeof e)return"string"===e;try{if("DataType"!==e[0])return!1;var n=e[1].toLowerCase();return"string"===n||"json"===n||"utf8"===n}catch(n){return(0,I.N1)({message:"ColumnCell: unexpected type: '".concat(JSON.stringify(e),"'")},n),!1}}(F),U=D&&m,Q=E("hold-shift-raw");U&&(Q=E("hold-shift-escaped"));var J=U?(0,N.jsx)("div",{className:"unipika-wrapper",children:(0,N.jsx)("pre",{className:"unipika",children:(0,N.jsx)("span",{className:"string",children:Y})})}):z,W=a.useState(!1),K=(0,p.A)(W,2),G=K[0],X=K[1];return(0,N.jsxs)("div",{className:R(null,h),onMouseEnter:function(){return L(!0)},onMouseLeave:function(){return L(!1)},children:[B?(0,N.jsx)(S.A,{theme:"warning",text:E("incomplete-type",{tag:V})}):J,(P||B)&&(0,N.jsx)("div",{className:R("control-button-wrapper"),children:(0,N.jsxs)(f.s,{alignItems:"center",children:[t&&!O&&(0,N.jsx)(r.m,{content:D?(0,N.jsx)("span",{className:R("copy-value-tooltip"),children:Q}):void 0,children:(0,N.jsx)(w.A,{view:"flat-secondary",size:"m",text:U?Y:q($),onCopy:function(e){null!=e&&e.shiftKey&&D&&v()(U?q($):Y)}})}),O&&(0,N.jsx)(x.$,{view:"flat-secondary",size:"m",qa:"truncated-preview-button",onClick:(0,u.A)((0,c.A)().mark((function e(){return(0,c.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(X(!0),e.prev=1,G){e.next=5;break}return e.next=5,b(A,j,V);case 5:return e.prev=5,X(!1),e.finish(5);case 8:case"end":return e.stop()}}),e,null,[[1,,5,8]])}))),loading:G,children:(0,N.jsx)(y.I,{data:g.A,size:"12"})})]})})]})}var $=t(27528),z=t.n($);function M(e){var n=e.columns,t=e.keyColumns,a=e.yqlTypes,c=e.ysonSettings,u=e.useRawStrings,d=e.schemaByName,p=e.onShowPreview,m=e.useYqlTypes;return z()(n,(function(e){var n=e.sortOrder,h=t.indexOf(e.name)>-1,v=(d[e.name]||{}).type_v3,f=(0,N.jsx)(r.m,{content:Boolean(v)&&(0,N.jsx)(o.A,{type_v3:v}),children:(0,N.jsx)(l.A,{value:i.A.unescapeKeyValue(e.name),settings:c,inline:!0,children:h&&(0,N.jsx)(s.A,{awesome:"descending"===n?"sort-amount-up":"sort-amount-down-alt"})})});return Object.assign({},e,{render:function(n){var t=n.value,r=n.index;return(0,N.jsx)(H,{allowRawStrings:u,value:t,yqlTypes:a||[],ysonSettings:c,rowIndex:r,columnName:e.name,onShowPreview:p,useYqlTypes:m})},header:f})}))}}}]);
2
- //# sourceMappingURL=query-navigation.f52623cc.chunk.js.map